{"report_id":"c1f6dd3d-0f5d-458b-b948-26e7cde688dd","version":0,"status":"done","tags":[],"date":"2026-07-27T13:58:29Z","url":{"schema":"https","addr":"www.logistics.demotunde.com/","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":0,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"final":{"url":{"schema":"https","addr":"www.logistics.demotunde.com/","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"title":"SwiftHaul — Logistics Reimagined","dom":{"size":57915,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (11481)","md5":"0d09ed2b3101b41a11923d26e86dc554","sha1":"eab8f174502ffc6d483042c023bf5cb8ac00006d","sha256":"734bcc7bd101691b58ce51b38103a42b761e8140332557a7154d65e59c32133e","sha512":"b33333b49208c8557f587dbb7765825174d68d9d52aa3cc8271773eba91e9421aef16ba2fbec19e82dc0f1604eeebfe5fc3c599e87da1bf78e7e08ba20115788","ssdeep":"768:lVRB8owRZdhnB8+WbQIN22XJw2mdSqi6L9G1HjIGgCQp3tCQE:ihBcXJw2mdSqi6L9GSJ4","tlshash":"1c43eb3562b1001a7143c9a9f7b19f1e7225f147e60b8a7972ec22d1afebd84cc77264","dom_hash":"domhashb0ac8ada0dfe51baaf38f4909bcd8e4e","first_seen":"2026-07-27T13:58:31.879112Z","last_seen":"2026-07-27T13:58:31.879112Z","times_seen":1,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"www.logistics.demotunde.com/","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":0,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T13:58:29Z","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":"a.tile.openstreetmap.org","ip":{"addr":"151.101.1.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2004-08-09","domain_rank":85810,"first_seen":"2012-06-20T09:20:27Z","last_seen":"2026-07-24T12:03:55.242481Z","alert_count":0,"request_count":3,"received_data":98167,"sent_data":1698,"comment":"","tags":null,"fingerprints":[{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"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":"c.tile.openstreetmap.org","ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2004-08-09","domain_rank":85976,"first_seen":"2012-06-20T09:20:27Z","last_seen":"2026-07-24T21:37:44.450289Z","alert_count":0,"request_count":3,"received_data":103640,"sent_data":1698,"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":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}]},{"fqdn":"www.logistics.demotunde.com","ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"domain_registered":"2026-03-05","domain_rank":0,"first_seen":"2026-07-27T07:46:35.801809Z","last_seen":"2026-07-27T07:46:35.801809Z","alert_count":0,"request_count":2,"received_data":44444,"sent_data":1749,"comment":"","tags":null,"fingerprints":[{"name":"cdnjs","description":"cdnjs is a free distributed JS library delivery service.","website":"https://cdnjs.com","common_platform_enumeration":"","icon":"cdnjs.svg","categories":["CDN"]},{"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":"Tailwind CSS","description":"Tailwind is a utility-first CSS framework.","website":"https://tailwindcss.com/","common_platform_enumeration":"","icon":"tailwindcss.svg","categories":["UI frameworks"]},{"name":"PHP:8.4.23","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]}]},{"fqdn":"cdn.tailwindcss.com","ip":{"addr":"172.67.68.11","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-07-20","domain_rank":117330,"first_seen":"2018-07-09T05:46:13Z","last_seen":"2026-07-27T08:40:23.885085Z","alert_count":0,"request_count":2,"received_data":408697,"sent_data":960,"comment":"","tags":null,"fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":5,"received_data":181753,"sent_data":2857,"comment":"","tags":null,"fingerprints":null},{"fqdn":"unpkg.com","ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2016-01-06","domain_rank":1093,"first_seen":"2016-01-07T23:26:01Z","last_seen":"2026-07-27T07:50:35.491492Z","alert_count":0,"request_count":2,"received_data":164092,"sent_data":1007,"comment":"","tags":null,"fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"b.tile.openstreetmap.org","ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2004-08-09","domain_rank":87016,"first_seen":"2012-06-20T09:20:27Z","last_seen":"2026-07-24T16:01:32.096076Z","alert_count":0,"request_count":3,"received_data":94306,"sent_data":1698,"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":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}]},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":8716,"sent_data":591,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"cdnjs.cloudflare.com","ip":{"addr":"104.17.25.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":117614,"sent_data":1031,"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"]}]}],"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":"cdn.tailwindcss.com/","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"172.67.68.11","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7a614b9a197e532c00d09a23b0996b5f","sha1":"1ff1738a40f3716e30e9031b181b0955ae578955","sha256":"176e894661aa9cdc9a5cba6c720044cbbf7b8bd80d1c9a142a7c24b1b6c50d15","sha512":"a67bc26f52d938358471be5671ff4b79e11af4e68b486aaf73a35a4c9bf3777aab51101af81563b4e5b7ba4b04dd8971fcfa9ee2c41fb10a0c1ee5604a99abd6","ssdeep":"12288:fpgrZxSAoNbJb0Wie75aUXGuyQZhK4O0s:RCVoNB0Wie75aUWmnO0s","tlshash":"e8844aa57396702647eb51e850ea1042f2beaa38840c44bcf7edd4da39e5e4440fbf79","size":407279,"data":"","first_seen":"2025-07-28T16:58:08.903462Z","last_seen":"2026-08-18T09:31:28.459039Z","times_seen":49738,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/leaflet@1.9.4/dist/leaflet.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"35b48eb991f383702f153452506e07b2","sha1":"5a640ff863e7902a8cac2ce6ba37c87b30677761","sha256":"db49d009c841f5ca34a888c96511ae936fd9f5533e90d8b2c4d57596f4e5641a","sha512":"0701dfaebe1cf6499190bc3a89715dcdc75657f3c69158222322162cb953497cd6433c6e4a0e03890502a5abb3fc45a3824e53610a97fe4be7f691b536961faa","ssdeep":"1536:sdeV/7u3i297NP5yaKuLylR+xCa8Mc5ScLsG7JBVc3bk/+bB7naxDk9ILvZs+rTr:Z/7uNNyaKST0LbYQDDkOr","tlshash":"cee3c68ab3d17a2742c36264003f210bb6326595a40a416cb97cd9efee7ca497137f7d","size":147552,"data":"","first_seen":"2023-06-27T11:10:33Z","last_seen":"2026-08-18T07:33:16.076724Z","times_seen":7602,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"47da594cbece0e34a656e6bf2490b7c3","sha1":"2d26f4c060491ac980d09ca687388d3610256eb7","sha256":"28033e449a31ebcc396e5be8b13b63152bf03094288fb5867034321927bce087","sha512":"ede1d1c1c6d890ae1df60ffab43fe68647fef9ea131f0a4d33dc28071b4f5015a6ebbcde01f142f87adda04d866a729ea1c972fd5c5e2ef22ac2f09d93ba9272","ssdeep":"1536:auJ29KBROpgAEQ9a1tgwA6NSZW3ytdKTdIwEp28Ywz7CDE:f29CakgwdNSQ3yt8eNp28YqCA","tlshash":"d063e8d93292f423039a51a1447f094bf337a958640f0918f269e4ce7d3c9ad52bbe7a","size":72214,"data":"","first_seen":"2024-01-19T15:55:20Z","last_seen":"2026-08-18T05:54:49.677008Z","times_seen":8690,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"ba1fa78eb4bb49f8a0eeaf8e61708840","sha1":"489bcf6d9c69f0f29f871e0323510c5197859bf5","sha256":"ad33c2df9ada8a663c2147357828f980d0b7ca731ef33eb3c6e4f327c3b2cda5","sha512":"a2731344a2412b3f0cd539eaa83b86065a30947d28845ccc5d844d79bcfec8e71ce5342bff300ab2d87386ebf4862c942848901105c4ca79d70af3533a4e7476","ssdeep":"768:L+5LHpwfVyb83wG/B/nE306RAHdAIsxmAK31horUp45:apqgo3wKB/nKRAHOIKS3TjK","tlshash":"741309ca3244b03267df627aa52f030a733654d9291e4464f266e4e83c7d5bc873be6d","size":43380,"data":"","first_seen":"2024-01-19T15:55:20Z","last_seen":"2026-08-18T04:08:20.958232Z","times_seen":6870,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.logistics.demotunde.com/","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"749ed010ab750e272af210f9058ba7cb","sha1":"9f1f1648c09b1cb3d14841f5a0c1f81e230b9c45","sha256":"50398365c7a3eabb1a20839dbb33cbe358b4fe35f10d188e4a0f6ba8d7254e37","sha512":"dd4f5c02e1116653dc9bffa65a201e4c5e2ebe9e3b3ad2271af3001222fa714d867d0835bfbba3273a768cd08bde2ae1467c04ba61d51446d2770a27b9b971c3","ssdeep":"","tlshash":"11319b7a16b305234242616ec7df4506a0a914832d377c3abbaf20854f8c54cd3be6fa","size":1734,"data":"","first_seen":"2026-07-27T07:46:39.922232Z","last_seen":"2026-07-27T13:58:36.776062Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.logistics.demotunde.com/","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a4ac3ca8adfdbc7a372dd2a83fc5929","sha1":"5634346b7fea16f5b18dedf4fb5a0361336d62d2","sha256":"213aca82f48e74f26922cad0d0b41d51e4ace5409b1c0c3e7c0dc836e8397260","sha512":"5af1cf8575e78dfeee8c786e86ff91df5db6e49e7d67ec4bdeb552ecd2c753046dd3f3c49f46dc823d46820198b6d73f7f40be1d7166509fe9f27f0a665e837e","ssdeep":"96:r3ILDwDCVBuDCYrvTDPNVMWshW/xXHTMRTv1nJp8:r3IHwDCMCYzl+u/xXHTMRTv1nJS","tlshash":"d8b1557a52731029b623d25d9b8b8711762170037809c929bf9eb3445fce53899b27fd","size":5211,"data":"","first_seen":"2026-07-27T07:46:39.924083Z","last_seen":"2026-07-27T13:58:36.776629Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"warn","text":"cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation","filename":"https://cdn.tailwindcss.com/","line_number":64,"column_number":1711}]},"http":[{"url":{"schema":"https","addr":"b.tile.openstreetmap.org/12/2085/1972.png","fqdn":"b.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.115Z","timestamp":1785160687115,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2085/1972.png HTTP/1.1\r\nHost: b.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"497fa77c73cc1108e70cf9613b0692ea\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 07:14:31 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=93311, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\nage: 31127\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nx-served-by: cache-bma-essb1270065-BMA, cache-bma-essb1270057-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 0\r\nx-timer: S1785160687.162715,VS0,VE1\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 38490\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":38490,"size_decoded":39284,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"497fa77c73cc1108e70cf9613b0692ea","sha1":"7679e74798390872e0f0aa245f6a52100720d1c9","sha256":"ad0d0bca66d2656bd9cef8de26e739ffff3b80c20ae46a3d5c216a2f7a7a4102","sha512":"91bf8e398efd5f96d28232b8145c8dbdff639104c91760ed00e1e1c6a4fb82b944d6f6f1a8cc2ef7b552f3d5bac8009b941ebdfc94993b6a4d00411359bf8d61","ssdeep":"768:B49003PhON+BVEMi5Ni0IjJ35hHZvSpW+t5i2lNywdkvGOVD8gk/XvBumOHUoWh:Bj0fA04d+at5Ryw1BgcvYmO0nh","tlshash":"a203f15bcf24b508a7627a2b4257ccf21a29958479b8f8216cddd7362845fcdc1a20fe","first_seen":"2026-07-27T07:46:39.904412Z","last_seen":"2026-07-27T13:58:36.766488Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":58,"timings":{"blocked":-1,"dns":0,"connect":14,"send":0,"wait":11,"receive":6,"ssl":25},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"a.tile.openstreetmap.org/12/2087/1972.png","fqdn":"a.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.1.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.117Z","timestamp":1785160687117,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2087/1972.png HTTP/1.1\r\nHost: a.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"9e783748aa09bda21cf629ed7e7d3e06\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 05:43:29 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=87849, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nage: 31127\r\nx-served-by: cache-bma-essb1270044-BMA, cache-bma-essb1270043-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 1\r\nx-timer: S1785160687.163234,VS0,VE2\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 30621\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"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":30621,"size_decoded":31415,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"9e783748aa09bda21cf629ed7e7d3e06","sha1":"2489bad71be8934350ed8b41218cee9840b727d2","sha256":"0bc3e6629048ad9b13385e099e31df53a37414692d5a85395f28f9e41a2f99a6","sha512":"7c8b7c55996598304ffb4ab53502204e14733c98f1a728c32dd6e5c196b0078a31b53dfe07b43369482229e2381391cb67f5383f55c3127157b292dada4d2484","ssdeep":"768:99BcT2N8yIJwSm/4mlEUnFkV9mq5XRSST0mbISR0s+:KTQ8mAmyikV9msRSSTlQ3","tlshash":"53d2f13194f9012798a1de59859002868f4efe6af70cd48bd17b1837d424ac5fec9abb","first_seen":"2026-07-27T07:46:39.894438Z","last_seen":"2026-07-27T13:58:36.767159Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":12,"send":0,"wait":14,"receive":2,"ssl":25},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"c.tile.openstreetmap.org/12/2087/1974.png","fqdn":"c.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.121Z","timestamp":1785160687121,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2087/1974.png HTTP/1.1\r\nHost: c.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"6c9ae44a074e37c0645351f0f39aba42\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 14:28:28 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=88221, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nage: 0\r\nx-served-by: cache-bma-essb1270061-BMA, cache-bma-essb1270023-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 1\r\nx-timer: S1785160687.163910,VS0,VE4\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 25794\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":25794,"size_decoded":26584,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"6c9ae44a074e37c0645351f0f39aba42","sha1":"5415d8fa3d0bc43d3a01649bb049d6fe67c58bca","sha256":"1944d66f234178820982ec49dba0a68f2f59f88fef1da3959119f179fbe1b816","sha512":"93a26f607328aa5dd736a46b70f2967037cfdabaa1384757133bbbb217951f9b126d120dec4d35741d52d1d604deb9d6f7bd93464fca590e281f69a78739edf2","ssdeep":"384:nPMClaOtTu17eQETvcJr8dHfjBBZHgOIXriSStwX7z8M4x2CE62Jf+cbmLBINI:nPMKaOe7eQQHHDZAOKr11YYbWcbCIy","tlshash":"bcc2e1522ba5ac49f4e3b1d021716b55ca5cf2bfe9e827f9417b674e73b60b8044310a","first_seen":"2026-07-27T13:58:31.887994Z","last_seen":"2026-07-27T13:58:36.767776Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":51,"timings":{"blocked":1,"dns":0,"connect":15,"send":0,"wait":13,"receive":4,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.logistics.demotunde.com/","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T13:57:51.801Z","timestamp":1785160671801,"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":"*.demotunde.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 07:56:23 GMT","end":"Sat, 03 Oct 2026 07:56:22 GMT"},"fingerprint":{"sha1":"B7:70:BD:34:8C:64:7D:F6:B6:A5:2B:5A:A6:14:06:AE:CF:61:CF:9D","sha256":"AE:D3:DE:9F:20:CC:FD:41:7B:ED:A0:FB:B5:E6:D7:C4:CA:F6:EF:92:57:5C:4A:F5:33:2D:95:F0:9B:65:9F:57"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: www.logistics.demotunde.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nx-powered-by: PHP/8.4.23\r\ncontent-type: text/html; charset=utf-8\r\ncache-control: no-cache, private\r\nset-cookie: XSRF-TOKEN=eyJpdiI6InNNU0RVWFBaczM1L2szMHZQZXBzK2c9PSIsInZhbHVlIjoiNlc1ZWZtbTZwamZXOWIzRzhWdEtXNndkbWw0VEJzQzQ4aFEvYTZVU3RWa3ZTSUFwOFJhbTBKeEFIallDUzVGb1MxRWREQ2wwWHRubVcvdlBVd2tDczJUdnZhYVo1aGRzTjhoZWNvSUdSRzFiUXdSdkJubXBkeEhxemp3MlpNQXMiLCJtYWMiOiIyY2IzMGZjYjdhOTU4MWM1M2U3YTIxNDRhZWEzYWMzZGRmYzMyYTNkYjhhZmQ0ZDZmZWMxMDJmYzM4M2NhZGYwIiwidGFnIjoiIn0%3D; expires=Mon, 27 Jul 2026 15:58:06 GMT; Max-Age=7200; path=/; secure; samesite=lax\nlaravel-session=eyJpdiI6IkJ5QUpiRldRbTdDYVRweDk4eElnUWc9PSIsInZhbHVlIjoiamVCd0xwUWRuV3JHRC9TeVc2dUkzNG1Ba3hTR0M0U21WejU2TmcwQWExbmhvcDdZejVteDRkSzI3TVBNQTU2dnpvVU1vN3MwUW1YcG9Xdk5hK09HekZuTm9ld2tYL08yR3l3UlpwOXRyVWdUeXpNZkpBamIreDBUT1JURkZjK0EiLCJtYWMiOiI1YmEwZGQ5Y2YzYTM0ZTUzZjkwMDFjNjcyZmNlYWJjYmQzY2I3OTlkNTY5NjUzYzZjZDUyODdlZGUyNDcwZmExIiwidGFnIjoiIn0%3D; expires=Mon, 27 Jul 2026 15:58:06 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax\r\ncontent-length: 9599\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 13:58:06 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":"cdnjs","description":"cdnjs is a free distributed JS library delivery service.","website":"https://cdnjs.com","common_platform_enumeration":"","icon":"cdnjs.svg","categories":["CDN"]},{"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":"Tailwind CSS","description":"Tailwind is a utility-first CSS framework.","website":"https://tailwindcss.com/","common_platform_enumeration":"","icon":"tailwindcss.svg","categories":["UI frameworks"]},{"name":"PHP:8.4.23","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]}],"data":{"size":42663,"size_decoded":10937,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (338), with CRLF line terminators","md5":"417c43375926c2d16be7c606e76e21f6","sha1":"4d085ee99cb29157415f603c12d847c888a545c1","sha256":"eebb55dde75cc60afe494e4168570b8e44faa82c1d7538901b53fc84625337c1","sha512":"4e4cf276698071aa28bb1c947de1f7dc7727b77c304daddde16410634a7ba7220bd02c4526d140ba886b830dbabc0a21e223863d99f08466e8d37e0f639a9e00","ssdeep":"768:1PiIGpD/+W0lKsOO7FKN4L1xPCb8WuR6Ch:gR0lKsOO7FKSvxh","tlshash":"b41321346191146a7273ca68eb314f5af765a107e20b865972fc33d32ffac04cc676a8","first_seen":"2026-07-27T07:46:39.919257Z","last_seen":"2026-07-27T13:58:36.768982Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiIgY2xhc3M9InNjcm9sbC1zbW9vdGgiPg0KPGhlYWQ+DQogIDxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPg0KICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCIvPg0KICA8dGl0bGU+U3dpZnRIYXVsIOKAlCBMb2dpc3RpY3MgUmVpbWFnaW5lZDwvdGl0bGU+DQoNCiAgPCEtLSBGb250cyAtLT4NCiAgPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIi8+DQogIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9U3luZTp3Z2h0QDQwMDs2MDA7NzAwOzgwMCZmYW1pbHk9RE0rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw1MDA7MSwzMDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiLz4NCg0KICA8IS0tIFRhaWx3aW5kIENETiAoc3dhcCBmb3IgY29tcGlsZWQgaW4gcHJvZHVjdGlvbikgLS0+DQogIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0Pg0KDQogIDwhLS0gTGVhZmxldCAtLT4NCiAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VucGtnLmNvbS9sZWFmbGV0QDEuOS40L2Rpc3QvbGVhZmxldC5jc3MiLz4NCiAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2xlYWZsZXRAMS45LjQvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4NCg0KICA8IS0tIEdTQVAgLS0+DQogIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9nc2FwLzMuMTIuNS9nc2FwLm1pbi5qcyI+PC9zY3JpcHQ+DQogIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9nc2FwLzMuMTIuNS9TY3JvbGxUcmlnZ2VyLm1pbi5qcyI+PC9zY3JpcHQ+DQoNCiAgPHNjcmlwdD4NCiAgICB0YWlsd2luZC5jZmlnID0gew0KICAgICAgdGhlbWU6IHsNCiAgICAgICAgZXh0ZW5kOiB7DQogICAgICAgICAgZm9udEZhbWlseTogew0KICAgICAgICAgICAgZGlzcGxheTogWydTeW5lJywgJ3NhbnMtc2VyaWYnXSwNCiAgICAgICAgICAgIGJvZHk6IFsnRE0gU2FucycsICdzYW5zLXNlcmlmJ10sDQogICAgICAgICAgfSwNCiAgICAgICAgICBjb2xvcnM6IHsNCiAgICAgICAgICAgIHZvaWQ6ICAgICcjMDcwNzBkJywNCiAgICAgICAgICAgIHN1cmZhY2U6ICcjMGYwZjFhJywNCiAgICAgICAgICAgIHBhbmVsOiAgICcjMTUxNTFmJywNCiAgICAgICAgICAgIGJvcmRlcjogICcjMWUxZTJlJywNCiAgICAgICAgICAgIGN5YW46ICAgICcjMDBmMGZmJywNCiAgICAgICAgICAgIHB1cnBsZTogICcjYTg1NWY3JywNCiAgICAgICAgICAgIGFtYmVyOiAgICcjZjU5ZTBiJywNCiAgICAgICAgICAgIGVtZXJhbGQ6ICcjMTBiOTgxJywNCiAgICAgICAgICB9LA0KICAgICAgICAgIGFuaW1hdGlvbjogew0KICAgICAgICAgICAgJ3B1bHNlLXNsb3cnOiAncHVsc2UgM3MgY3ViaWMtYmV6aWVyKDAuNCwwLDAuNiwxKSBpbmZpbml0ZScsDQogICAgICAgICAgICAnZmxvYXQnOiAgICAgICdmbG9hdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZScsDQogICAgICAgICAgICAnc2Nhbic6ICAgICAgICdzY2FuIDNzIGxpbmVhciBpbmZpbml0ZScsDQogICAgICAgICAgICAnZ2xvdy1wdWxzZSc6ICdnbG93UHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGUnLA0KICAgICAgICAgICAgJ3RydWNrLW1vdmUnOiAndHJ1Y2tNb3ZlIDhzIGxpbmVhciBpbmZpbml0ZScsDQogICAgICAgICAgICAnZGFzaCc6ICAgICAgICdkYXNoIDJzIGxpbmVhciBpbmZpbml0ZScsDQogICAgICAgICAgfSwNCiAgICAgICAgICBrZXlmcmFtZXM6IHsNCiAgICAgICAgICAgIGZsb2F0OiB7DQogICAgICAgICAgICAgICcwJSwxMDAlJzogeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDBweCknIH0sDQogICAgICAgICAgICAgICc1MCUnOiAgICAgeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xOHB4KScgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzY2FuOiB7DQogICAgICAgICAgICAgICcwJSc6ICAgeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSwNCiAgICAgICAgICAgICAgJzEwMCUnOiB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoNTAwJSknIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZ2xvd1B1bHNlOiB7DQogICAgICAgICAgICAgICcwJSwxMDAlJzogeyBib3hTaGFkb3c6ICcwIDAgMjBweCByZ2JhKDAsMjQwLDI1NSwwLjMpJyB9LA0KICAgICAgICAgICAgICAnNTAlJzogICAgIHsgYm94U2hhZG93OiAnMCAwIDUwcHggcmdiYSgwLDI0MCwyNTUsMC43KSwgMCAwIDEwMHB4IHJnYmEoMCwyNDAsMjU1LDAuMiknIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdHJ1Y2tNb3ZlOiB7DQogICAgICAgICAgICAgICcwJSc6ICAgeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMjAlKScgfSwNCiAgICAgICAgICAgICAgJzEwMCUnOiB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTIwdncpJyB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGRhc2g6IHsNCiAgICAgICAgICAgICAgJzAlJzogICB7IHN0cm9rZURhc2hvZmZzZXQ6ICcxMDAwJyB9LA0KICAgICAgICAgICAgICAnMTAwJSc6IHsgc3Ryb2tlRGFzaG9mZnNldDogJzAnIH0sDQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0sDQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIDwvc2NyaXB0Pg0KDQogIDxzdHlsZT4NCiAgICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9DQoNCiAgICBib2R5IHsNCiAgICAgIGJhY2tncm91bmQ6ICMwNzA3MGQ7DQogICAgICBjb2xvcjogI2UyZThmMDsNCiAgICAgIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsIHNhbnMtc2VyaWY7DQogICAgICBvdmVyZmxvdy14OiBoaWRkZW47DQogICAgfQ0KDQogICAgLyog4pSA4pSAIEdyaWQgYmFja2dyb3VuZCDilIDilIAgKi8NCiAgICAuZ3JpZC1iZyB7DQogICAgICBiYWNrZ3JvdW5kLWltYWdlOg0KICAgICAgICBsaW5lYXItZ3JhZGllbnQocmdiYSgwLDI0MCwyNTUsMC4wNCkgMXB4LCB0cmFuc3BhcmVudCAxcHgpLA0KICAgICAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwyNDAsMjU1LDAuMDQpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsNCiAgICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCA2MHB4Ow0KICAgIH0NCg0KICAgIC8qIOKUgOKUgCBOb2lzZSBvdmVybGF5IOKUgOKUgCAqLw0KICAgIC5ub2lzZTo6YWZ0ZXIgew0KICAgICAgY29udGVudDogJyc7DQogICAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgICBpbnNldDogMDsNCiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMjU2IDI1NicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2ZpbHRlciBpZD0nbm9pc2UnJTNFJTNDZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45JyBudW1PY3RhdmVzPSc0JyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8lM0UlM0MvZmlsdGVyJTNFJTNDcmVjdCB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScgZmlsdGVyPSd1cmwoJTIzbm9pc2UpJyBvcGFjaXR5PScwLjAzJy8lM0UlM0Mvc3ZnJTNFIik7DQogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgICAgIHotaW5kZXg6IDk5OTk7DQogICAgICBvcGFjaXR5OiAwLjQ7DQogICAgfQ0KDQogICAgLyog4pSA4pSAIE5lb24gdGV4dCDilIDilIAgKi8NCiAgICAubmVvbi1jeWFuIHsNCiAgICAgIGNvbG9yOiAjMDBmMGZmOw0KICAgICAgdGV4dC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwyNDAsMjU1LDAuNiksIDAgMCA2MHB4IHJnYmEoMCwyNDAsMjU1LDAuMik7DQogICAgfQ0KICAgIC5uZW9uLXB1cnBsZSB7DQogICAgICBjb2xvcjogI2E4NTVmNzsNCiAgICAgIHRleHQtc2hhZG93OiAwIDAgMjBweCByZ2JhKDE2OCw4NSwyNDcsMC42KTsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgR3JhZGllbnQgdGV4dCDilIDilIAgKi8NCiAgICAuZ3JhZC10ZXh0IHsNCiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMGYwZmYgMCUsICNhODU1ZjcgNTAlLCAjMDBmMGZmIDEwMCUpOw0KICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDAlOw0KICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7DQogICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7DQogICAgICBhbmltYXRpb246IGdyYWRTaGlmdCA0cyBsaW5lYXIgaW5maW5pdGU7DQogICAgfQ0KICAgIEBrZXlmcmFtZXMgZ3JhZFNoaWZ0IHsNCiAgICAgIDAlICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSB9DQogICAgICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSB9DQogICAgfQ0KDQogICAgLyog4pSA4pSAIEdsYXNzeSBjYXJkIOKUgOKUgCAqLw0KICAgIC5nbGFzcy1jYXJkIHsNCiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTUsMTUsMjYsMC44KTsNCiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyNDAsMjU1LDAuMTIpOw0KICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpOw0KICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4zcywgYm94LXNoYWRvdyAuM3MsIHRyYW5zZm9ybSAuM3M7DQogICAgfQ0KICAgIC5nbGFzcy1jYXJkOmhvdmVyIHsNCiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDI0MCwyNTUsMC40KTsNCiAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IHJnYmEoMCwyNDAsMjU1LDAuMSksIGluc2V0IDAgMCAzMHB4IHJnYmEoMCwyNDAsMjU1LDAuMDMpOw0KICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOw0KICAgIH0NCg0KICAgIC8qIOKUgOKUgCBDVEEgQnV0dG9uIOKUgOKUgCAqLw0KICAgIC5idG4tcHJpbWFyeSB7DQogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDBmMGZmLCAjMDA5OWNjKTsNCiAgICAgIGNvbG9yOiAjMDcwNzBkOw0KICAgICAgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsNCiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOw0KICAgICAgdHJhbnNpdGlvbjogYWxsIC4zczsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgfQ0KICAgIC5idG4tcHJpbWFyeTo6YmVmb3JlIHsNCiAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgaW5zZXQ6IDA7DQogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB0cmFuc3BhcmVudCAzMCUsIHJnYmEoMjU1LDI1NSwyNTUsMC4zKSA1MCUsIHRyYW5zcGFyZW50IDcwJSk7DQogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOw0KICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41czsNCiAgICB9DQogICAgLmJ0bi1wcmltYXJ5OmhvdmVyOjpiZWZvcmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH0NCiAgICAuYnRuLXByaW1hcnk6aG92ZXIgew0KICAgICAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgwLDI0MCwyNTUsMC41KSwgMCAwIDgwcHggcmdiYSgwLDI0MCwyNTUsMC4yKTsNCiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsNCiAgICB9DQoNCiAgICAuYnRuLW91dGxpbmUgew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDI0MCwyNTUsMC40KTsNCiAgICAgIGNvbG9yOiAjMDBmMGZmOw0KICAgICAgZm9udC1mYW1pbHk6ICdTeW5lJywgc2Fucy1zZXJpZjsNCiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOw0KICAgIH0NCiAgICAuYnRuLW91dGxpbmU6aG92ZXIgew0KICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4wOCk7DQogICAgICBib3JkZXItY29sb3I6ICMwMGYwZmY7DQogICAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMjQwLDI1NSwwLjIpOw0KICAgIH0NCg0KICAgIC8qIOKUgOKUgCBOYXYg4pSA4pSAICovDQogICAgLm5hdi1saW5rIHsNCiAgICAgIGNvbG9yOiAjOTRhM2I4Ow0KICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsNCiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtOw0KICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzOw0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIH0NCiAgICAubmF2LWxpbms6OmFmdGVyIHsNCiAgICAgIGNvbnRlbnQ6ICcnOw0KICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgYm90dG9tOiAtNHB4OyBsZWZ0OiAwOyByaWdodDogMDsNCiAgICAgIGhlaWdodDogMXB4Ow0KICAgICAgYmFja2dyb3VuZDogIzAwZjBmZjsNCiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOw0KICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zczsNCiAgICB9DQogICAgLm5hdi1saW5rOmhvdmVyIHsgY29sb3I6ICMwMGYwZmY7IH0NCiAgICAubmF2LWxpbms6aG92ZXI6OmFmdGVyIHsgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH0NCg0KICAgIC8qIOKUgOKUgCBTdGF0dXMgYmFkZ2Ug4pSA4pSAICovDQogICAgLnN0YXR1cy1kb3Qgew0KICAgICAgd2lkdGg6IDhweDsgaGVpZ2h0OiA4cHg7DQogICAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogICAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxOw0KICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAjMTBiOTgxOw0KICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgTWFwIGNvbnRhaW5lciDilIDilIAgKi8NCiAgICAjZGVtby1tYXAgew0KICAgICAgaGVpZ2h0OiAzNDBweDsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7DQogICAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgICAgZmlsdGVyOiBzYXR1cmF0ZSgwKSBicmlnaHRuZXNzKDAuNik7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgfQ0KICAgICNkZW1vLW1hcDo6YWZ0ZXIgew0KICAgICAgY29udGVudDogJyc7DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICBpbnNldDogMDsNCiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMCwyNDAsMjU1LDAuMDUpLCByZ2JhKDE2OCw4NSwyNDcsMC4wNSkpOw0KICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogICAgICB6LWluZGV4OiA1MDA7DQogICAgfQ0KDQogICAgLyog4pSA4pSAIFRydWNrIGFuaW1hdGlvbiBzdHJpcCDilIDilIAgKi8NCiAgICAudHJ1Y2stc3RyaXAgew0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgaGVpZ2h0OiA2MHB4Ow0KICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMCwyNDAsMjU1LDAuMDMpLCB0cmFuc3BhcmVudCk7DQogICAgfQ0KICAgIC50cnVjay1zdmcgeyBhbmltYXRpb246IHRydWNrTW92ZSA5cyBsaW5lYXIgaW5maW5pdGU7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH0NCg0KICAgIC8qIOKUgOKUgCBTdGF0IGNhcmQgcHVsc2UgcmluZyDilIDilIAgKi8NCiAgICAucHVsc2UtcmluZyB7DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICBpbnNldDogLTZweDsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwyNDAsMjU1LDAuNCk7DQogICAgICBhbmltYXRpb246IHJpbmdQdWxzZSAycyBlYXNlLW91dCBpbmZpbml0ZTsNCiAgICB9DQogICAgQGtleWZyYW1lcyByaW5nUHVsc2Ugew0KICAgICAgMCUgICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH0NCiAgICAgIDEwMCUgeyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDEuNik7IH0NCiAgICB9DQoNCiAgICAvKiDilIDilIAgU2Nyb2xsIHJldmVhbCDilIDilIAgKi8NCiAgICAucmV2ZWFsIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9DQogICAgLnJldmVhbC52aXNpYmxlIHsgdHJhbnNpdGlvbjogb3BhY2l0eSAuN3MgZWFzZSwgdHJhbnNmb3JtIC43cyBlYXNlOyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IG5vbmU7IH0NCg0KICAgIC8qIOKUgOKUgCBUaW1lbGluZSDilIDilIAgKi8NCiAgICAudGltZWxpbmUtaXRlbSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAzNnB4OyB9DQogICAgLnRpbWVsaW5lLWl0ZW06OmJlZm9yZSB7DQogICAgICBjb250ZW50OiAnJzsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIGxlZnQ6IDEwcHg7IHRvcDogMjRweDsgYm90dG9tOiAtMTZweDsNCiAgICAgIHdpZHRoOiAxcHg7DQogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMjQwLDI1NSwwLjQpLCB0cmFuc3BhcmVudCk7DQogICAgfQ0KICAgIC50aW1lbGluZS1pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH0NCiAgICAudGltZWxpbmUtZG90IHsNCiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgIGxlZnQ6IDNweDsgdG9wOiA2cHg7DQogICAgICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4Ow0KICAgICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwZjBmZjsNCiAgICAgIGJhY2tncm91bmQ6ICMwNzA3MGQ7DQogICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMjQwLDI1NSwwLjUpOw0KICAgIH0NCiAgICAudGltZWxpbmUtZG90LmFjdGl2ZSB7DQogICAgICBiYWNrZ3JvdW5kOiAjMDBmMGZmOw0KICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLDI0MCwyNTUsMC44KTsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgRmVhdHVyZSBpY29uIHdyYXBwZXIg4pSA4pSAICovDQogICAgLmljb24tZ2xvdyB7DQogICAgICB3aWR0aDogNTJweDsgaGVpZ2h0OiA1MnB4Ow0KICAgICAgYm9yZGVyLXJhZGl1czogMTRweDsNCiAgICAgIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4wOCk7DQogICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjQwLDI1NSwwLjIpOw0KICAgICAgZm9udC1zaXplOiAxLjVyZW07DQogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzOw0KICAgIH0NCiAgICAuZ2xhc3MtY2FyZDpob3ZlciAuaWNvbi1nbG93IHsNCiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwyNDAsMjU1LDAuMTUpOw0KICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDI0MCwyNTUsMC4yKTsNCiAgICB9DQoNCiAgICAvKiDilIDilIAgU2Nyb2xsYmFyIOKUgOKUgCAqLw0KICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogNnB4OyB9DQogICAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7IGJhY2tncm91bmQ6ICMwNzA3MGQ7IH0NCiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4zKTsgYm9yZGVyLXJhZGl1czogM3B4OyB9DQoNCiAgICAvKiDilIDilIAgTGVhZmxldCBkYXJrIHRpbGUg4pSA4pSAICovDQogICAgLmxlYWZsZXQtdGlsZSB7IGZpbHRlcjogaW52ZXJ0KDEpIGh1ZS1yb3RhdGUoMTgwZGVnKSBzYXR1cmF0ZSgwLjMpIGJyaWdodG5lc3MoMC40NSkgIWltcG9ydGFudDsgfQ0KICAgIC5sZWFmbGV0LWNvbnRhaW5lciB7IGJhY2tncm91bmQ6ICMwNzA3MGQgIWltcG9ydGFudDsgfQ0KICA8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9Im5vaXNlIj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBOQVYg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPg0KICA8bmF2IGlkPSJuYXZiYXIiIGNsYXNzPSJmaXhlZCB0b3AtMCBsZWZ0LTAgcmlnaHQtMCB6LTUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCINCiAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSg3LDcsMTMsMCk7IGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpOyI+DQogICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNiBweS00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiI+DQoNCiAgICAgIDwhLS0gTG9nbyAtLT4NCiAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyI+DQogICAgICAgIDxkaXYgY2xhc3M9InJlbGF0aXZlIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTkgaC05IHJvdW5kZWQtbGcgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIiDQogICAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwZjBmZjIyLCAjYTg1NWY3MjIpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjQwLDI1NSwwLjQpOyI+DQogICAgICAgICAgICA8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj4NCiAgICAgICAgICAgICAgPHBhdGggZD0iTTEgM2gxNXYxM0gxeiIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjEuNSIvPg0KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYgOGg0bDMgNHY0aC03Vjh6IiBzdHJva2U9IiMwMGYwZmYiIHN0cm9rZS13aWR0aD0iMS41Ii8+DQogICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjE4LjUiIHI9IjIuNSIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjEuNSIvPg0KICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxOC41IiBjeT0iMTguNSIgcj0iMi41IiBzdHJva2U9IiMwMGYwZmYiIHN0cm9rZS13aWR0aD0iMS41Ii8+DQogICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSAtaW5zZXQtMSByb3VuZGVkLWxnIG9wYWNpdHktMzAgYW5pbWF0ZS1wdWxzZS1zbG93Ig0KICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICMwMGYwZmY0NCwgdHJhbnNwYXJlbnQpIj48L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxzcGFuIGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC14bCB0cmFja2luZy10aWdodCB0ZXh0LXdoaXRlIj4NCiAgICAgICAgICBTd2lmdDxzcGFuIGNsYXNzPSJuZW9uLWN5YW4iPkhhdWw8L3NwYW4+DQogICAgICAgIDwvc3Bhbj4NCiAgICAgIDwvYT4NCg0KICAgICAgPCEtLSBMaW5rcyAtLT4NCiAgICAgIDxkaXYgY2xhc3M9ImhpZGRlbiBtZDpmbGV4IGl0ZW1zLWNlbnRlciBnYXAtOCI+DQogICAgICAgIDxhIGhyZWY9IiNmZWF0dXJlcyIgY2xhc3M9Im5hdi1saW5rIj5GZWF0dXJlczwvYT4NCiAgICAgICAgPGEgaHJlZj0iI3RyYWNraW5nIiBjbGFzcz0ibmF2LWxpbmsiPkxpdmUgVHJhY2s8L2E+DQogICAgICAgIDxhIGhyZWY9IiNzdGF0cyIgICAgY2xhc3M9Im5hdi1saW5rIj5BbmFseXRpY3M8L2E+DQogICAgICAgIDxhIGhyZWY9IiNwcmljaW5nIiAgY2xhc3M9Im5hdi1saW5rIj5QcmljaW5nPC9hPg0KICAgICAgPC9kaXY+DQoNCiAgICAgIDwhLS0gQWN0aW9ucyAtLT4NCiAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIj4NCiAgICAgICAgDQogICAgICAgIDxhIGhyZWY9Ii9sb2dpbiIgICAgY2xhc3M9ImJ0bi1vdXRsaW5lIHB4LTUgcHktMiByb3VuZGVkLWxnIHRleHQtc20iPlNpZ24gSW48L2E+DQogICAgICAgIDxhIGhyZWY9Ii9yZWdpc3RlciIgY2xhc3M9ImJ0bi1wcmltYXJ5IHB4LTUgcHktMiByb3VuZGVkLWxnIHRleHQtc20iPkdldCBTdGFydGVkPC9hPg0KICAgICAgICANCiAgICAgICAgDQogICAgICAgIA0KICAgICAgICANCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L25hdj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBIRVJPIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4NCiAgPHNlY3Rpb24gaWQ9Imhlcm8iIGNsYXNzPSJyZWxhdGl2ZSBtaW4taC1zY3JlZW4gZ3JpZC1iZyBmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIG92ZXJmbG93LWhpZGRlbiBwdC0yMCI+DQoNCiAgICA8IS0tIFJhZGlhbCBnbG93IGJsb2JzIC0tPg0KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIHRvcC0xLzQgbGVmdC0xLzQgdy05NiBoLTk2IHJvdW5kZWQtZnVsbCBwb2ludGVyLWV2ZW50cy1ub25lIg0KICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMCwyNDAsMjU1LDAuMDgpIDAlLCB0cmFuc3BhcmVudCA3MCUpOyBmaWx0ZXI6IGJsdXIoNjBweCk7Ij48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBib3R0b20tMS80IHJpZ2h0LTEvNCB3LTk2IGgtOTYgcm91bmRlZC1mdWxsIHBvaW50ZXItZXZlbnRzLW5vbmUiDQogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgxNjgsODUsMjQ3LDAuMDgpIDAlLCB0cmFuc3BhcmVudCA3MCUpOyBmaWx0ZXI6IGJsdXIoNjBweCk7Ij48L2Rpdj4NCg0KICAgIDwhLS0gQW5pbWF0ZWQgdHJ1Y2sgc3RyaXAgLS0+DQogICAgPGRpdiBjbGFzcz0idHJ1Y2stc3RyaXAgYWJzb2x1dGUgdG9wLTE2IHctZnVsbCBvcGFjaXR5LTMwIj4NCiAgICAgIDxzdmcgY2xhc3M9InRydWNrLXN2ZyIgd2lkdGg9IjEyMCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMCAwIDEyMCA0MCIgZmlsbD0ibm9uZSI+DQogICAgICAgIDxyZWN0IHg9IjIiICB5PSIxMCIgd2lkdGg9IjcwIiBoZWlnaHQ9IjI0IiByeD0iMyIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjEuMiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzIgMTZoMjJsOCAxMHY4SDcyVjE2eiIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjEuMiIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjM2IiByPSI0IiBzdHJva2U9IiMwMGYwZmYiIHN0cm9rZS13aWR0aD0iMS4yIi8+DQogICAgICAgIDxjaXJjbGUgY3g9IjUyIiBjeT0iMzYiIHI9IjQiIHN0cm9rZT0iIzAwZjBmZiIgc3Ryb2tlLXdpZHRoPSIxLjIiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iOTIiIGN5PSIzNiIgcj0iNCIgc3Ryb2tlPSIjMDBmMGZmIiBzdHJva2Utd2lkdGg9IjEuMiIvPg0KICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjM0IiB4Mj0iMiIgeTI9IjM0IiBzdHJva2U9IiMwMGYwZmYiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWRhc2hhcnJheT0iNCAzIi8+DQogICAgICA8L3N2Zz4NCiAgICA8L2Rpdj4NCg0KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTYgcHktMjAgZ3JpZCBsZzpncmlkLWNvbHMtMiBnYXAtMTYgaXRlbXMtY2VudGVyIj4NCg0KICAgICAgPCEtLSBMZWZ0OiBDb3B5IC0tPg0KICAgICAgPGRpdiBpZD0iaGVyby1sZWZ0Ij4NCiAgICAgICAgPCEtLSBCYWRnZSAtLT4NCiAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTQgcHktMS41IHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtZGlzcGxheSBmb250LTYwMCB0cmFja2luZy13aWRlc3QgbWItOCINCiAgICAgICAgICAgICBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDI0MCwyNTUsMC4yNSk7IGJhY2tncm91bmQ6IHJnYmEoMCwyNDAsMjU1LDAuMDYpOyBjb2xvcjogIzAwZjBmZjsiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1kb3QiPjwvZGl2Pg0KICAgICAgICAgIExJVkUgVFJBQ0tJTkcgRU5BQkxFRA0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgICA8aDEgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTgwMCB0ZXh0LTV4bCBtZDp0ZXh0LTZ4bCBsZzp0ZXh0LTd4bCBsZWFkaW5nLVsxLjA1XSB0cmFja2luZy10aWdodCBtYi02Ij4NCiAgICAgICAgICBMb2dpc3RpY3M8YnIvPg0KICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFkLXRleHQiPlJlaW1hZ2luZWQ8L3NwYW4+PGJyLz4NCiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICNlMmU4ZjA7Ij5mb3IgU3BlZWQuPC9zcGFuPg0KICAgICAgICA8L2gxPg0KDQogICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTQwMCB0ZXh0LWxnIGxlYWRpbmctcmVsYXhlZCBtYi0xMCBtYXgtdy1tZCI+DQogICAgICAgICAgUmVhbC10aW1lIHNoaXBtZW50IHRyYWNraW5nLCBpbnRlbGxpZ2VudCByb3V0ZSBvcHRpbWl6YXRpb24sDQogICAgICAgICAgYW5kIGxpdmUgbWFwIHBpbm5pbmcg4oCUIGFsbCBpbiBvbmUgZGFyaywgcG93ZXJmdWwgcGxhdGZvcm0uDQogICAgICAgIDwvcD4NCg0KICAgICAgICA8IS0tIENUQSBSb3cgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC13cmFwIGdhcC00IG1iLTEyIj4NCiAgICAgICAgICA8YSBocmVmPSIvcmVnaXN0ZXIiIGNsYXNzPSJidG4tcHJpbWFyeSBweC04IHB5LTMuNSByb3VuZGVkLXhsIHRleHQtYmFzZSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiI+DQogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cGF0aCBkPSJNNSAxMmgxNE0xMiA1bDcgNy03IDciIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg0KICAgICAgICAgICAgU3RhcnQgVHJhY2tpbmcgRnJlZQ0KICAgICAgICAgIDwvYT4NCiAgICAgICAgICA8YSBocmVmPSIjZGVtbyIgY2xhc3M9ImJ0bi1vdXRsaW5lIHB4LTggcHktMy41IHJvdW5kZWQteGwgdGV4dC1iYXNlIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIj4NCiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBkPSJNMTAgOGw2IDQtNiA0Vjh6IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz4NCiAgICAgICAgICAgIFdhdGNoIERlbW8NCiAgICAgICAgICA8L2E+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwhLS0gVHJ1c3QgbWljcm8tc3RhdHMgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC13cmFwIGdhcC04Ij4NCiAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9udC1kaXNwbGF5IGZvbnQtNzAwIHRleHQtMnhsIHRleHQtd2hpdGUgY291bnRlciIgZGF0YS10YXJnZXQ9IjQ4MjAwIj4wPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIG10LTAuNSI+QWN0aXZlIFNoaXBtZW50czwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC03MDAgdGV4dC0yeGwgdGV4dC13aGl0ZSBjb3VudGVyIiBkYXRhLXRhcmdldD0iOTkuNCI+MDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCBtdC0wLjUiPiUgT24tVGltZSBSYXRlPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LTJ4bCB0ZXh0LXdoaXRlIGNvdW50ZXIiIGRhdGEtdGFyZ2V0PSIzNDAiPjA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAgbXQtMC41Ij5QYXJ0bmVyIENvbXBhbmllczwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KDQogICAgICA8IS0tIFJpZ2h0OiBMaXZlIFRyYWNraW5nIENhcmQgLS0+DQogICAgICA8ZGl2IGlkPSJoZXJvLXJpZ2h0IiBjbGFzcz0icmVsYXRpdmUiPg0KICAgICAgICA8IS0tIEZsb2F0aW5nIGdsb3cgcmluZyBiZWhpbmQgY2FyZCAtLT4NCiAgICAgICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgaW5zZXQtMCByb3VuZGVkLTN4bCBhbmltYXRlLWdsb3ctcHVsc2UgcG9pbnRlci1ldmVudHMtbm9uZSINCiAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyNDAsMjU1LDAuMSk7Ij48L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1jYXJkIHJvdW5kZWQtM3hsIHAtNiBhbmltYXRlLWZsb2F0IHJlbGF0aXZlIHotMTAiPg0KICAgICAgICAgIDwhLS0gQ2FyZCBoZWFkZXIgLS0+DQogICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIG1iLTQiPg0KICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCBmb250LWRpc3BsYXkgdHJhY2tpbmctd2lkZXN0Ij5TSElQTUVOVDwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXdoaXRlIGZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LWxnIj5TSC0yMDI0LTg4NDEyPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTMgcHktMS41IHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtNjAwIg0KICAgICAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSgxNiwxODUsMTI5LDAuMTIpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LDE4NSwxMjksMC4zKTsgY29sb3I6ICMxMGI5ODE7Ij4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xLjUgaC0xLjUgcm91bmRlZC1mdWxsIGJnLWVtZXJhbGQtNDAwIGFuaW1hdGUtcHVsc2UiPjwvZGl2Pg0KICAgICAgICAgICAgICBJTiBUUkFOU0lUDQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgIDwhLS0gTWFwIC0tPg0KICAgICAgICAgIDxkaXYgaWQ9ImRlbW8tbWFwIiBjbGFzcz0ibWItNCI+PC9kaXY+DQoNCiAgICAgICAgICA8IS0tIFRpbWVsaW5lIC0tPg0KICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktMyBtdC01Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWl0ZW0iPg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lbGluZS1kb3QiPjwvZGl2Pg0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1zdGFydCI+DQogICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgZm9udC02MDAgdGV4dC13aGl0ZSI+T3JkZXIgUGlja2VkIFVwPC9kaXY+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj5MYWdvcyBDZW50cmFsIEh1YjwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAiPjA4OjE0IEFNPC9kaXY+DQogICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lbGluZS1pdGVtIj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtZG90IGFjdGl2ZSI+PC9kaXY+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLXN0YXJ0Ij4NCiAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyBmb250LTYwMCBuZW9uLWN5YW4iPkVuIFJvdXRlIOKAlCAzNCBrbSBhd2F5PC9kaXY+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj5WaWN0b3JpYSBJc2xhbmQgRXhwcmVzc3dheTwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS00MDAiPk5vdzwvZGl2Pg0KICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZWxpbmUtaXRlbSI+DQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWVsaW5lLWRvdCIgc3R5bGU9ImJvcmRlci1jb2xvcjogcmdiYSgxNDgsMTYzLDE4NCwwLjMpOyBib3gtc2hhZG93Om5vbmU7Ij48L2Rpdj4NCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtc3RhcnQiPg0KICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIGZvbnQtNTAwIHRleHQtc2xhdGUtNTAwIj5EZWxpdmVyeTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTYwMCI+RXN0aW1hdGVkIDI6NDUgUE08L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPCEtLSBGbG9hdGluZyBiYWRnZTogRVRBIC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSAtYm90dG9tLTQgLXJpZ2h0LTQgZ2xhc3MtY2FyZCByb3VuZGVkLTJ4bCBweC00IHB5LTMgei0yMCINCiAgICAgICAgICAgICBzdHlsZT0iYm9yZGVyLWNvbG9yOiByZ2JhKDI0NSwxNTgsMTEsMC4zKTsiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAgZm9udC1kaXNwbGF5IHRyYWNraW5nLXdpZGVzdCI+RVRBPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iZm9udC1kaXNwbGF5IGZvbnQtNzAwIHRleHQteGwiIHN0eWxlPSJjb2xvcjogI2Y1OWUwYjsiPjI6NDUgUE08L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPCEtLSBGbG9hdGluZyBiYWRnZTogRHJpdmVyIC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSAtdG9wLTQgLWxlZnQtNCBnbGFzcy1jYXJkIHJvdW5kZWQtMnhsIHB4LTQgcHktMyB6LTIwIGZsZXggaXRlbXMtY2VudGVyIGdhcC0zIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEwIGgtMTAgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtbGciDQogICAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwZjBmZjIyLCAjYTg1NWY3MjIpOyBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwyNDAsMjU1LDAuMyk7Ij4NCiAgICAgICAgICAgIPCfmpoNCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+RHJpdmVyPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXNtIGZvbnQtNjAwIHRleHQtd2hpdGUiPkVtZWthIE8uPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCiAgICA8IS0tIFNjcm9sbCBpbmRpY2F0b3IgLS0+DQogICAgPGRpdiBjbGFzcz0iYWJzb2x1dGUgYm90dG9tLTggbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMiBvcGFjaXR5LTUwIj4NCiAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAgZm9udC1kaXNwbGF5IHRyYWNraW5nLXdpZGVzdCI+U0NST0xMPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJ3LXB4IGgtMTIgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIiBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4xNSk7Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0idy1mdWxsIGFuaW1hdGUtc2NhbiIgc3R5bGU9ImhlaWdodDogNDAlOyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgIzAwZjBmZiwgdHJhbnNwYXJlbnQpOyI+PC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9zZWN0aW9uPg0KDQogIDwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIEZFQVRVUkVTIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4NCiAgPHNlY3Rpb24gaWQ9ImZlYXR1cmVzIiBjbGFzcz0icHktMjggcmVsYXRpdmUiPg0KICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTYiPg0KDQogICAgICA8IS0tIFNlY3Rpb24gbGFiZWwgLS0+DQogICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0yMCByZXZlYWwiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNCBweS0xLjUgcm91bmRlZC1mdWxsIHRleHQteHMgZm9udC1kaXNwbGF5IGZvbnQtNjAwIHRyYWNraW5nLXdpZGVzdCBtYi02Ig0KICAgICAgICAgICAgIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2OCw4NSwyNDcsMC4zKTsgYmFja2dyb3VuZDogcmdiYSgxNjgsODUsMjQ3LDAuMDYpOyBjb2xvcjogI2E4NTVmNzsiPg0KICAgICAgICAgIFBMQVRGT1JNIENBUEFCSUxJVElFUw0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGgyIGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC00eGwgbWQ6dGV4dC01eGwgdGV4dC13aGl0ZSBtYi00Ij4NCiAgICAgICAgICBFdmVyeXRoaW5nIHlvdXIgbG9naXN0aWNzPGJyLz4NCiAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhZC10ZXh0Ij5vcGVyYXRpb24gbmVlZHM8L3NwYW4+DQogICAgICAgIDwvaDI+DQogICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTQwMCBtYXgtdy14bCBteC1hdXRvIj4NCiAgICAgICAgICBGcm9tIGZpcnN0IG1pbGUgdG8gbGFzdCwgU3dpZnRIYXVsIGdpdmVzIHlvdSB0aGUgdmlzaWJpbGl0eSwNCiAgICAgICAgICBjb250cm9sLCBhbmQgaW50ZWxsaWdlbmNlIHRvIGRlbGl2ZXIgZmFzdGVyLg0KICAgICAgICA8L3A+DQogICAgICA8L2Rpdj4NCg0KICAgICAgPCEtLSBGZWF0dXJlIGdyaWQgLS0+DQogICAgICA8ZGl2IGNsYXNzPSJncmlkIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zIGdhcC02Ij4NCg0KICAgICAgICA8IS0tIDEgLS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLWNhcmQgcm91bmRlZC0yeGwgcC02IHJldmVhbCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1nbG93IG1iLTQiPvCfl7rvuI88L2Rpdj4NCiAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LWxnIHRleHQtd2hpdGUgbWItMiI+TGl2ZSBNYXAgVHJhY2tpbmc8L2gzPg0KICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTQwMCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICBXYXRjaCBldmVyeSBzaGlwbWVudCBtb3ZlIGluIHJlYWwgdGltZSBvbiBhbiBpbnRlcmFjdGl2ZSBtYXAgd2l0aCBhbmltYXRlZCBtYXJrZXJzLCByb3V0ZSBwYXRocywgYW5kIGdlb2ZlbmNlIGFsZXJ0cy4NCiAgICAgICAgICA8L3A+DQogICAgICAgICAgPGRpdiBjbGFzcz0ibXQtNCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXhzIG5lb24tY3lhbiBmb250LTYwMCI+DQogICAgICAgICAgICA8c3Bhbj5Qb3dlcmVkIGJ5IExlYWZsZXQgKyBXZWJTb2NrZXRzPC9zcGFuPg0KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTUgMTJoMTRNMTIgNWw3IDctNyA3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPCEtLSAyIC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1jYXJkIHJvdW5kZWQtMnhsIHAtNiByZXZlYWwiIHN0eWxlPSJib3JkZXItY29sb3I6IHJnYmEoMTY4LDg1LDI0NywwLjE1KTsiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tZ2xvdyBtYi00IiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDE2OCw4NSwyNDcsMC4xKTsgYm9yZGVyLWNvbG9yOnJnYmEoMTY4LDg1LDI0NywwLjI1KTsiPvCfk6Y8L2Rpdj4NCiAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LWxnIHRleHQtd2hpdGUgbWItMiI+U2hpcG1lbnQgTWFuYWdlbWVudDwvaDM+DQogICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNDAwIHRleHQtc20gbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgIENyZWF0ZSwgYXNzaWduLCBhbmQgbWFuYWdlIHNoaXBtZW50cyBhY3Jvc3MgeW91ciBlbnRpcmUgZmxlZXQuIEZ1bGwgQ1JVRCB3aXRoIHN0YXR1cyB3b3JrZmxvd3MgYW5kIGRyaXZlciBhc3NpZ25tZW50Lg0KICAgICAgICAgIDwvcD4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC00IGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQteHMgZm9udC02MDAiIHN0eWxlPSJjb2xvcjogI2E4NTVmNzsiPg0KICAgICAgICAgICAgPHNwYW4+TXVsdGktc3RhdHVzIHdvcmtmbG93czwvc3Bhbj4NCiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik01IDEyaDE0TTEyIDVsNyA3LTcgNyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwhLS0gMyAtLT4NCiAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtY2FyZCByb3VuZGVkLTJ4bCBwLTYgcmV2ZWFsIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWdsb3cgbWItNCI+8J+UlDwvZGl2Pg0KICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1kaXNwbGF5IGZvbnQtNzAwIHRleHQtbGcgdGV4dC13aGl0ZSBtYi0yIj5TbWFydCBOb3RpZmljYXRpb25zPC9oMz4NCiAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS00MDAgdGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgQXV0b21hdGVkIFNNUywgZW1haWwsIGFuZCBwdXNoIGFsZXJ0cyBhdCBldmVyeSBzdGF0dXMgY2hhbmdlLiBLZWVwIGN1c3RvbWVycyBpbmZvcm1lZCB3aXRob3V0IGxpZnRpbmcgYSBmaW5nZXIuDQogICAgICAgICAgPC9wPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC14cyBuZW9uLWN5YW4gZm9udC02MDAiPg0KICAgICAgICAgICAgPHNwYW4+U01TICsgRW1haWwgKyBQdXNoPC9zcGFuPg0KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTUgMTJoMTRNMTIgNWw3IDctNyA3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPCEtLSA0IC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1jYXJkIHJvdW5kZWQtMnhsIHAtNiByZXZlYWwiIHN0eWxlPSJib3JkZXItY29sb3I6IHJnYmEoMjQ1LDE1OCwxMSwwLjE1KTsiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tZ2xvdyBtYi00IiBzdHlsZT0iYmFja2dyb3VuZDpyZ2JhKDI0NSwxNTgsMTEsMC4wOCk7IGJvcmRlci1jb2xvcjpyZ2JhKDI0NSwxNTgsMTEsMC4yNSk7Ij7wn5uj77iPPC9kaXY+DQogICAgICAgICAgPGgzIGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC03MDAgdGV4dC1sZyB0ZXh0LXdoaXRlIG1iLTIiPlJvdXRlIE9wdGltaXphdGlvbjwvaDM+DQogICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNDAwIHRleHQtc20gbGVhZGluZy1yZWxheGVkIj4NCiAgICAgICAgICAgIEF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlIHRoZSBtb3N0IGVmZmljaWVudCBtdWx0aS1zdG9wIHJvdXRlcyBzYXZpbmcgZnVlbCwgdGltZSwgYW5kIGRyaXZlciBmYXRpZ3VlLg0KICAgICAgICAgIDwvcD4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC00IGZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQteHMgZm9udC02MDAiIHN0eWxlPSJjb2xvcjogI2Y1OWUwYjsiPg0KICAgICAgICAgICAgPHNwYW4+U2F2ZSB1cCB0byAzMCUgZnVlbCBjb3N0PC9zcGFuPg0KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSI+PHBhdGggZD0iTTUgMTJoMTRNMTIgNWw3IDctNyA3IiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPCEtLSA1IC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1jYXJkIHJvdW5kZWQtMnhsIHAtNiByZXZlYWwiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tZ2xvdyBtYi00Ij7inI3vuI88L2Rpdj4NCiAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LWxnIHRleHQtd2hpdGUgbWItMiI+UHJvb2Ygb2YgRGVsaXZlcnk8L2gzPg0KICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTQwMCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCI+DQogICAgICAgICAgICBDYXB0dXJlIHBob3RvLCBlLXNpZ25hdHVyZSwgYW5kIEdQUyBzdGFtcCBhdCBkZWxpdmVyeS4gVGFtcGVyLXByb29mIHJlY29yZHMgc3RvcmVkIGF1dG9tYXRpY2FsbHkuDQogICAgICAgICAgPC9wPg0KICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTQgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC14cyBuZW9uLWN5YW4gZm9udC02MDAiPg0KICAgICAgICAgICAgPHNwYW4+UGhvdG8gKyBFLVNpZ25hdHVyZTwvc3Bhbj4NCiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiPjxwYXRoIGQ9Ik01IDEyaDE0TTEyIDVsNyA3LTcgNyIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9zdmc+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDwhLS0gNiAtLT4NCiAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtY2FyZCByb3VuZGVkLTJ4bCBwLTYgcmV2ZWFsIiBzdHlsZT0iYm9yZGVyLWNvbG9yOiByZ2JhKDE2LDE4NSwxMjksMC4xNSk7Ij4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWdsb3cgbWItNCIgc3R5bGU9ImJhY2tncm91bmQ6cmdiYSgxNiwxODUsMTI5LDAuMDgpOyBib3JkZXItY29sb3I6cmdiYSgxNiwxODUsMTI5LDAuMjUpOyI+8J+TijwvZGl2Pg0KICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1kaXNwbGF5IGZvbnQtNzAwIHRleHQtbGcgdGV4dC13aGl0ZSBtYi0yIj5BbmFseXRpY3MgRGFzaGJvYXJkPC9oMz4NCiAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS00MDAgdGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWQiPg0KICAgICAgICAgICAgRGVlcCBpbnNpZ2h0cyBpbnRvIGRlbGl2ZXJ5IHBlcmZvcm1hbmNlLCBkcml2ZXIgZWZmaWNpZW5jeSwgU0xBIGNvbXBsaWFuY2UsIGFuZCByZXZlbnVlIHRyZW5kcy4NCiAgICAgICAgICA8L3A+DQogICAgICAgICAgPGRpdiBjbGFzcz0ibXQtNCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXhzIGZvbnQtNjAwIiBzdHlsZT0iY29sb3I6ICMxMGI5ODE7Ij4NCiAgICAgICAgICAgIDxzcGFuPlJlYWwtdGltZSAmIGhpc3RvcmljYWw8L3NwYW4+DQogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIj48cGF0aCBkPSJNNSAxMmgxNE0xMiA1bDcgNy03IDciIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvc2VjdGlvbj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTVEFUUyBCQU5EIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4NCiAgPHNlY3Rpb24gaWQ9InN0YXRzIiBjbGFzcz0icHktMjAgcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIj4NCiAgICA8IS0tIEJhY2tncm91bmQgbGluZSAtLT4NCiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIHBvaW50ZXItZXZlbnRzLW5vbmUiDQogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgwLDI0MCwyNTUsMC4wMyksIHRyYW5zcGFyZW50KTsiPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGxlZnQtMCByaWdodC0wIGgtcHggdG9wLTAiIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDAsMjQwLDI1NSwwLjIpLCB0cmFuc3BhcmVudCk7Ij48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgcmlnaHQtMCBoLXB4IGJvdHRvbS0wIiBzdHlsZT0iYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgwLDI0MCwyNTUsMC4yKSwgdHJhbnNwYXJlbnQpOyI+PC9kaXY+DQoNCiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC02Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTQgZ2FwLTgiPg0KDQogICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIHJldmVhbCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgaW5saW5lLWJsb2NrIG1iLTMiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xNCBoLTE0IHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBteC1hdXRvIg0KICAgICAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwyNDAsMjU1LDAuMik7Ij4NCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtMnhsIj7wn5qaPC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxzZS1yaW5nIj48L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC00eGwgdGV4dC13aGl0ZSBjb3VudGVyIiBkYXRhLXRhcmdldD0iMTI0MDAiPjA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXNsYXRlLTUwMCB0ZXh0LXNtIG10LTEiPkRlbGl2ZXJpZXMgVG9kYXk8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcmV2ZWFsIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBpbmxpbmUtYmxvY2sgbWItMyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE0IGgtMTQgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG14LWF1dG8iDQogICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDE2OCw4NSwyNDcsMC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTY4LDg1LDI0NywwLjIpOyI+DQogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTJ4bCI+8J+MjTwvc3Bhbj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTgwMCB0ZXh0LTR4bCB0ZXh0LXdoaXRlIGNvdW50ZXIiIGRhdGEtdGFyZ2V0PSI1NCI+MDwvZGl2Pg0KICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc2xhdGUtNTAwIHRleHQtc20gbXQtMSI+Q291bnRyaWVzIENvdmVyZWQ8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcmV2ZWFsIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBpbmxpbmUtYmxvY2sgbWItMyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTE0IGgtMTQgcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG14LWF1dG8iDQogICAgICAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2JhKDE2LDE4NSwxMjksMC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYsMTg1LDEyOSwwLjIpOyI+DQogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTJ4bCI+4pqhPC9zcGFuPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0iZm9udC1kaXNwbGF5IGZvbnQtODAwIHRleHQtNHhsIHRleHQtd2hpdGUiPjk5LjQ8c3BhbiBjbGFzcz0idGV4dC0yeGwiPiU8L3NwYW4+PC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbGF0ZS01MDAgdGV4dC1zbSBtdC0xIj5VcHRpbWUgU0xBPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIHJldmVhbCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0icmVsYXRpdmUgaW5saW5lLWJsb2NrIG1iLTMiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xNCBoLTE0IHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBteC1hdXRvIg0KICAgICAgICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSgyNDUsMTU4LDExLDAuMDgpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0NSwxNTgsMTEsMC4yKTsiPg0KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0yeGwiPvCfj6I8L3NwYW4+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC00eGwgdGV4dC13aGl0ZSBjb3VudGVyIiBkYXRhLXRhcmdldD0iMzQwIj4wPC9kaXY+DQogICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbGF0ZS01MDAgdGV4dC1zbSBtdC0xIj5CdXNpbmVzcyBDbGllbnRzPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KDQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9zZWN0aW9uPg0KDQogIDwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIFBVQkxJQyBUUkFDS0VSIFRFQVNFUiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+DQogIDxzZWN0aW9uIGlkPSJ0cmFja2luZyIgY2xhc3M9InB5LTI4IHJlbGF0aXZlIj4NCiAgICA8ZGl2IGNsYXNzPSJtYXgtdy01eGwgbXgtYXV0byBweC02IHRleHQtY2VudGVyIHJldmVhbCI+DQogICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNCBweS0xLjUgcm91bmRlZC1mdWxsIHRleHQteHMgZm9udC1kaXNwbGF5IGZvbnQtNjAwIHRyYWNraW5nLXdpZGVzdCBtYi02Ig0KICAgICAgICAgICBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDI0MCwyNTUsMC4yNSk7IGJhY2tncm91bmQ6IHJnYmEoMCwyNDAsMjU1LDAuMDYpOyBjb2xvcjogIzAwZjBmZjsiPg0KICAgICAgICBQVUJMSUMgVFJBQ0tFUg0KICAgICAgPC9kaXY+DQogICAgICA8aDIgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTgwMCB0ZXh0LTR4bCBtZDp0ZXh0LTV4bCB0ZXh0LXdoaXRlIG1iLTQiPg0KICAgICAgICBUcmFjayBhbnkgc2hpcG1lbnQ8YnIvPg0KICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhZC10ZXh0Ij5pbnN0YW50bHkuIE5vIGxvZ2luLjwvc3Bhbj4NCiAgICAgIDwvaDI+DQogICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS00MDAgbWItMTAgbWF4LXctbGcgbXgtYXV0byI+DQogICAgICAgIFNoYXJlIGEgdHJhY2tpbmcgbGluayB3aXRoIHlvdXIgY3VzdG9tZXIg4oCUIHRoZXkgZ2V0IGEgbGl2ZSB2aWV3IG9mDQogICAgICAgIHRoZWlyIHBhY2thZ2Ugb24gdGhlIG1hcCwgc3RhdHVzIHRpbWVsaW5lLCBhbmQgZXN0aW1hdGVkIGRlbGl2ZXJ5IHRpbWUuDQogICAgICA8L3A+DQoNCiAgICAgIDwhLS0gVHJhY2tlciBJbnB1dCAtLT4NCiAgICAgIDxkaXYgY2xhc3M9Im1heC13LWxnIG14LWF1dG8iPg0KICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1jYXJkIHJvdW5kZWQtMnhsIHAtMiBmbGV4IGdhcC0yIGFuaW1hdGUtZ2xvdy1wdWxzZSI+DQogICAgICAgICAgPGlucHV0DQogICAgICAgICAgICB0eXBlPSJ0ZXh0Ig0KICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIHRyYWNraW5nIElEIChlLmcuIFNILTIwMjQtODg0MTIpIg0KICAgICAgICAgICAgY2xhc3M9ImZsZXgtMSBweC00IHB5LTMgcm91bmRlZC14bCB0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIHBsYWNlaG9sZGVyLXNsYXRlLTYwMCBmb2N1czpvdXRsaW5lLW5vbmUiDQogICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA0KTsiDQogICAgICAgICAgLz4NCiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4tcHJpbWFyeSBweC02IHB5LTMgcm91bmRlZC14bCB0ZXh0LXNtIHdoaXRlc3BhY2Utbm93cmFwIj4NCiAgICAgICAgICAgIFRyYWNrIE5vdw0KICAgICAgICAgIDwvYnV0dG9uPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS02MDAgbXQtMyI+VHJ5IGRlbW8gSUQ6IDxzcGFuIGNsYXNzPSJ0ZXh0LWN5YW4tNDAwIGN1cnNvci1wb2ludGVyIGhvdmVyOnVuZGVybGluZSIgb25jbGljaz0iZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKS52YWx1ZT0nU0gtMjAyNC04ODQxMiciPlNILTIwMjQtODg0MTI8L3NwYW4+PC9wPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvc2VjdGlvbj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBIT1cgSVQgV09SS1Mg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPg0KICA8c2VjdGlvbiBjbGFzcz0icHktMjQgcmVsYXRpdmUiPg0KICAgIDxkaXYgY2xhc3M9ImFic29sdXRlIGxlZnQtMCByaWdodC0wIGgtcHggdG9wLTAiIHN0eWxlPSJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDE2OCw4NSwyNDcsMC4yKSwgdHJhbnNwYXJlbnQpOyI+PC9kaXY+DQoNCiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC02Ij4NCiAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTE2IHJldmVhbCI+DQogICAgICAgIDxoMiBjbGFzcz0iZm9udC1kaXNwbGF5IGZvbnQtODAwIHRleHQtNHhsIHRleHQtd2hpdGUgbWItMyI+DQogICAgICAgICAgSG93IDxzcGFuIGNsYXNzPSJuZW9uLXB1cnBsZSI+U3dpZnRIYXVsPC9zcGFuPiB3b3Jrcw0KICAgICAgICA8L2gyPg0KICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS00MDAiPlVwIGFuZCBydW5uaW5nIGluIHVuZGVyIDEwIG1pbnV0ZXMuPC9wPg0KICAgICAgPC9kaXY+DQoNCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQgbWQ6Z3JpZC1jb2xzLTQgZ2FwLTYiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciByZXZlYWwiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9InctMTIgaC0xMiByb3VuZGVkLWZ1bGwgbXgtYXV0byBtYi00IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtZGlzcGxheSBmb250LTgwMCB0ZXh0LXhsIG5lb24tY3lhbiINCiAgICAgICAgICAgICAgIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMjQwLDI1NSwwLjQpOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMjQwLDI1NSwwLjA2KTsiPjE8L2Rpdj4NCiAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LXdoaXRlIG1iLTIiPkNyZWF0ZSBTaGlwbWVudDwvaDQ+DQogICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNTAwIHRleHQtc20iPkFkZCBvcmlnaW4sIGRlc3RpbmF0aW9uLCBpdGVtcyBhbmQgYXNzaWduIGEgZHJpdmVyIGluIHNlY29uZHMuPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcmV2ZWFsIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIG14LWF1dG8gbWItNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC14bCBuZW9uLWN5YW4iDQogICAgICAgICAgICAgICBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDI0MCwyNTUsMC40KTsgYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4wNik7Ij4yPC9kaXY+DQogICAgICAgICAgPGg0IGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC03MDAgdGV4dC13aGl0ZSBtYi0yIj5Ecml2ZXIgUGlja3MgVXA8L2g0Pg0KICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTUwMCB0ZXh0LXNtIj5Ecml2ZXIgYXBwIGFjdGl2YXRlcyBHUFMg4oCUIGxvY2F0aW9uIHBpbmdzIGV2ZXJ5IDEwIHNlY29uZHMuPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcmV2ZWFsIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIG14LWF1dG8gbWItNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC14bCBuZW9uLWN5YW4iDQogICAgICAgICAgICAgICBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDI0MCwyNTUsMC40KTsgYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4wNik7Ij4zPC9kaXY+DQogICAgICAgICAgPGg0IGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC03MDAgdGV4dC13aGl0ZSBtYi0yIj5MaXZlIG9uIHRoZSBNYXA8L2g0Pg0KICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTUwMCB0ZXh0LXNtIj5Zb3UgYW5kIHRoZSBjdXN0b21lciB3YXRjaCB0aGUgdHJ1Y2sgbW92ZSBpbiByZWFsIHRpbWUuPC9wPg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgcmV2ZWFsIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTEyIGgtMTIgcm91bmRlZC1mdWxsIG14LWF1dG8gbWItNCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC14bCINCiAgICAgICAgICAgICAgIHN0eWxlPSJib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2LDE4NSwxMjksMC40KTsgYmFja2dyb3VuZDogcmdiYSgxNiwxODUsMTI5LDAuMDYpOyBjb2xvcjogIzEwYjk4MTsiPjQ8L2Rpdj4NCiAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtZGlzcGxheSBmb250LTcwMCB0ZXh0LXdoaXRlIG1iLTIiPkRlbGl2ZXJlZCDinJM8L2g0Pg0KICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTUwMCB0ZXh0LXNtIj5QaG90byArIHNpZ25hdHVyZSBjYXB0dXJlZC4gQ3VzdG9tZXIgbm90aWZpZWQuIFJlY29yZCBzYXZlZC48L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvc2VjdGlvbj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBDVEEgQkFORCDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+DQogIDxzZWN0aW9uIGlkPSJwcmljaW5nIiBjbGFzcz0icHktMjgiPg0KICAgIDxkaXYgY2xhc3M9Im1heC13LTN4bCBteC1hdXRvIHB4LTYgdGV4dC1jZW50ZXIgcmV2ZWFsIj4NCiAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLWNhcmQgcm91bmRlZC0zeGwgcC0xMiByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4iDQogICAgICAgICAgIHN0eWxlPSJib3JkZXItY29sb3I6IHJnYmEoMCwyNDAsMjU1LDAuMik7Ij4NCiAgICAgICAgPCEtLSBCRyBnbG93IC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSBpbnNldC0wIHBvaW50ZXItZXZlbnRzLW5vbmUiDQogICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAwJSwgcmdiYSgwLDI0MCwyNTUsMC4wNyksIHRyYW5zcGFyZW50IDcwJSk7Ij48L2Rpdj4NCg0KICAgICAgICA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSB6LTEwIj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTV4bCBtYi02Ij7wn5qAPC9kaXY+DQogICAgICAgICAgPGgyIGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC04MDAgdGV4dC00eGwgdGV4dC13aGl0ZSBtYi00Ij4NCiAgICAgICAgICAgIFJlYWR5IHRvIHNoaXA8YnIvPg0KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYWQtdGV4dCI+ZmFzdGVyIHRoYW4gZXZlcj88L3NwYW4+DQogICAgICAgICAgPC9oMj4NCiAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS00MDAgbWItOCBtYXgtdy1tZCBteC1hdXRvIj4NCiAgICAgICAgICAgIEpvaW4gMzQwKyBsb2dpc3RpY3MgY29tcGFuaWVzIGFscmVhZHkgdXNpbmcgU3dpZnRIYXVsDQogICAgICAgICAgICB0byB0cmFjaywgbWFuYWdlIGFuZCBkZWxpdmVyIHNtYXJ0ZXIuDQogICAgICAgICAgPC9wPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC13cmFwIGdhcC00IGp1c3RpZnktY2VudGVyIj4NCiAgICAgICAgICAgIDxhIGhyZWY9Ii9yZWdpc3RlciIgY2xhc3M9ImJ0bi1wcmltYXJ5IHB4LTEwIHB5LTQgcm91bmRlZC14bCB0ZXh0LWJhc2UiPg0KICAgICAgICAgICAgICBTdGFydCBGcmVlIOKAlCBObyBDcmVkaXQgQ2FyZA0KICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgPGEgaHJlZj0iL2NvbnRhY3QiIGNsYXNzPSJidG4tb3V0bGluZSBweC0xMCBweS00IHJvdW5kZWQteGwgdGV4dC1iYXNlIj4NCiAgICAgICAgICAgICAgVGFsayB0byBTYWxlcw0KICAgICAgICAgICAgPC9hPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNjAwIG10LTYiPkZyZWUgcGxhbiBpbmNsdWRlcyAxMDAgc2hpcG1lbnRzL21vbnRoIMK3IE5vIGNvbW1pdG1lbnQ8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvc2VjdGlvbj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBGT09URVIg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPg0KICA8Zm9vdGVyIGNsYXNzPSJib3JkZXItdCBweS0xMiIgc3R5bGU9ImJvcmRlci1jb2xvcjogcmdiYSgwLDI0MCwyNTUsMC4wOCk7Ij4NCiAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC02IGZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNiI+DQogICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyI+DQogICAgICAgIDxzcGFuIGNsYXNzPSJmb250LWRpc3BsYXkgZm9udC03MDAgdGV4dC1sZyB0ZXh0LXdoaXRlIj5Td2lmdDxzcGFuIGNsYXNzPSJuZW9uLWN5YW4iPkhhdWw8L3NwYW4+PC9zcGFuPg0KICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1zbGF0ZS02MDAgdGV4dC1zbSI+wqkgMjAyNi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48L3NwYW4+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImZsZXggZ2FwLTgiPg0KICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idGV4dC1zbGF0ZS01MDAgdGV4dC1zbSBob3Zlcjp0ZXh0LXNsYXRlLTMwMCB0cmFuc2l0aW9uLWNvbG9ycyI+UHJpdmFjeTwvYT4NCiAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InRleHQtc2xhdGUtNTAwIHRleHQtc20gaG92ZXI6dGV4dC1zbGF0ZS0zMDAgdHJhbnNpdGlvbi1jb2xvcnMiPlRlcm1zPC9hPg0KICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0idGV4dC1zbGF0ZS01MDAgdGV4dC1zbSBob3Zlcjp0ZXh0LXNsYXRlLTMwMCB0cmFuc2l0aW9uLWNvbG9ycyI+RG9jczwvYT4NCiAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InRleHQtc2xhdGUtNTAwIHRleHQtc20gaG92ZXI6dGV4dC1zbGF0ZS0zMDAgdHJhbnNpdGlvbi1jb2xvcnMiPlN0YXR1czwvYT4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2Zvb3Rlcj4NCg0KICA8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCBTQ1JJUFRTIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4NCiAgPHNjcmlwdD4NCiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHsNCg0KICAgIC8vIOKUgOKUgCBOYXZiYXIgc2Nyb2xsIGVmZmVjdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICBjb25zdCBuYXZiYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmF2YmFyJyk7DQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHsNCiAgICAgIGlmICh3aW5kb3cuc2Nyb2xsWSA+IDQwKSB7DQogICAgICAgIG5hdmJhci5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYmEoNyw3LDEzLDAuOTIpJzsNCiAgICAgICAgbmF2YmFyLnN0eWxlLmJhY2tkcm9wRmlsdGVyID0gJ2JsdXIoMjBweCknOw0KICAgICAgICBuYXZiYXIuc3R5bGUuYm9yZGVyQm90dG9tID0gJzFweCBzb2xpZCByZ2JhKDAsMjQwLDI1NSwwLjA4KSc7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBuYXZiYXIuc3R5bGUuYmFja2dyb3VuZCA9ICdyZ2JhKDcsNywxMywwKSc7DQogICAgICAgIG5hdmJhci5zdHlsZS5iYWNrZHJvcEZpbHRlciA9ICdibHVyKDBweCknOw0KICAgICAgICBuYXZiYXIuc3R5bGUuYm9yZGVyQm90dG9tID0gJ25vbmUnOw0KICAgICAgfQ0KICAgIH0pOw0KDQogICAgLy8g4pSA4pSAIExlYWZsZXQgZGVtbyBtYXAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQogICAgY29uc3QgbWFwID0gTC5tYXAoJ2RlbW8tbWFwJywgew0KICAgICAgY2VudGVyOiBbNi41MjQ0LCAzLjM3OTJdLA0KICAgICAgem9vbTogMTIsDQogICAgICB6b29tQ29udHJvbDogZmFsc2UsDQogICAgICBhdHRyaWJ1dGlvbkNvbnRyb2w6IGZhbHNlLA0KICAgICAgZHJhZ2dpbmc6IGZhbHNlLA0KICAgICAgc2Nyb2xsV2hlZWxab29tOiBmYWxzZSwNCiAgICB9KTsNCg0KICAgIEwudGlsZUxheWVyKCdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsIHsNCiAgICAgIG1heFpvb206IDE4LA0KICAgIH0pLmFkZFRvKG1hcCk7DQoNCiAgICAvLyBOZW9uIHBpbiBpY29uDQogICAgY29uc3QgdHJ1Y2tJY29uID0gTC5kaXZJY29uKHsNCiAgICAgIGh0bWw6IGANCiAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOjQwcHg7IGhlaWdodDo0MHB4OyI+DQogICAgICAgICAgPGRpdiBzdHlsZT0iDQogICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6LTZweDsgYm9yZGVyLXJhZGl1czo1MCU7DQogICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkIHJnYmEoMCwyNDAsMjU1LDAuNSk7DQogICAgICAgICAgICBhbmltYXRpb246IHJpbmdQdWxzZSAycyBlYXNlLW91dCBpbmZpbml0ZTsNCiAgICAgICAgICAiPjwvZGl2Pg0KICAgICAgICAgIDxkaXYgc3R5bGU9Ig0KICAgICAgICAgICAgd2lkdGg6NDBweDsgaGVpZ2h0OjQwcHg7IGJvcmRlci1yYWRpdXM6NTAlOw0KICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDI0MCwyNTUsMC4xMik7DQogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDBmMGZmOw0KICAgICAgICAgICAgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IGp1c3RpZnktY29udGVudDpjZW50ZXI7DQogICAgICAgICAgICBmb250LXNpemU6MThweDsgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLDI0MCwyNTUsMC41KTsNCiAgICAgICAgICAiPvCfmpo8L2Rpdj4NCiAgICAgICAgPC9kaXY+YCwNCiAgICAgIGljb25TaXplOiBbNDAsIDQwXSwNCiAgICAgIGljb25BbmNob3I6IFsyMCwgMjBdLA0KICAgICAgY2xhc3NOYW1lOiAnJywNCiAgICB9KTsNCg0KICAgIGNvbnN0IGRlc3RJY29uID0gTC5kaXZJY29uKHsNCiAgICAgIGh0bWw6IGA8ZGl2IHN0eWxlPSINCiAgICAgICAgd2lkdGg6MTRweDsgaGVpZ2h0OjE0cHg7IGJvcmRlci1yYWRpdXM6NTAlOw0KICAgICAgICBiYWNrZ3JvdW5kOiMxMGI5ODE7IGJvcmRlcjoycHggc29saWQgIzA3MDcwZDsNCiAgICAgICAgYm94LXNoYWRvdzowIDAgMTJweCAjMTBiOTgxOw0KICAgICAgIj48L2Rpdj5gLA0KICAgICAgaWNvblNpemU6IFsxNCwgMTRdLA0KICAgICAgaWNvbkFuY2hvcjogWzcsIDddLA0KICAgICAgY2xhc3NOYW1lOiAnJywNCiAgICB9KTsNCg0KICAgIGNvbnN0IHRydWNrUG9zICA9IFs2LjUyNDQsIDMuMzc5Ml07DQogICAgY29uc3QgZGVzdFBvcyAgID0gWzYuNDU1MSwgMy4zODQxXTsNCg0KICAgIGNvbnN0IG1hcmtlciA9IEwubWFya2VyKHRydWNrUG9zLCB7IGljb246IHRydWNrSWNvbiB9KS5hZGRUbyhtYXApOw0KICAgIEwubWFya2VyKGRlc3RQb3MsIHsgaWNvbjogZGVzdEljb24gfSkuYWRkVG8obWFwKTsNCg0KICAgIC8vIERyYXcgcm91dGUgcG9seWxpbmUNCiAgICBjb25zdCByb3V0ZUNvb3JkcyA9IFsNCiAgICAgIFs2LjUyNDQsIDMuMzc5Ml0sIFs2LjUxMDAsIDMuMzgwMF0sDQogICAgICBbNi40OTAwLCAzLjM4MTBdLCBbNi40NzAwLCAzLjM4MjBdLA0KICAgICAgWzYuNDU1MSwgMy4zODQxXQ0KICAgIF07DQogICAgTC5wb2x5bGluZShyb3V0ZUNvb3Jkcywgew0KICAgICAgY29sb3I6ICcjMDBmMGZmJywgd2VpZ2h0OiAyLCBvcGFjaXR5OiAwLjYsDQogICAgICBkYXNoQXJyYXk6ICc4IDUnDQogICAgfSkuYWRkVG8obWFwKTsNCg0KICAgIC8vIEFuaW1hdGUgdHJ1Y2sgYWxvbmcgcm91dGUNCiAgICBsZXQgc3RlcCA9IDA7DQogICAgZnVuY3Rpb24gYW5pbWF0ZVRydWNrKCkgew0KICAgICAgc3RlcCA9IChzdGVwICsgMSkgJSByb3V0ZUNvb3Jkcy5sZW5ndGg7DQogICAgICBtYXJrZXIuc2V0TGF0TG5nKHJvdXRlQ29vcmRzW3N0ZXBdKTsNCiAgICB9DQogICAgc2V0SW50ZXJ2YWwoYW5pbWF0ZVRydWNrLCAxODAwKTsNCg0KICAgIC8vIOKUgOKUgCBDb3VudGVyIGFuaW1hdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICBmdW5jdGlvbiBhbmltYXRlQ291bnRlcihlbCkgew0KICAgICAgY29uc3QgdGFyZ2V0ID0gcGFyc2VGbG9hdChlbC5kYXRhc2V0LnRhcmdldCk7DQogICAgICBjb25zdCBpc0RlY2ltYWwgPSB0YXJnZXQgJSAxICE9PSAwOw0KICAgICAgY29uc3QgZHVyYXRpb24gPSAyMDAwOw0KICAgICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsNCiAgICAgIGZ1bmN0aW9uIHVwZGF0ZShub3cpIHsNCiAgICAgICAgY29uc3QgZWxhcHNlZCA9IG5vdyAtIHN0YXJ0Ow0KICAgICAgICBjb25zdCBwcm9ncmVzcyA9IE1hdGgubWluKGVsYXBzZWQgLyBkdXJhdGlvbiwgMSk7DQogICAgICAgIGNvbnN0IGVhc2VkID0gMSAtIE1hdGgucG93KDEgLSBwcm9ncmVzcywgMyk7DQogICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0YXJnZXQgKiBlYXNlZDsNCiAgICAgICAgZWwudGV4dENvbnRlbnQgPSBpc0RlY2ltYWwNCiAgICAgICAgICA/IGN1cnJlbnQudG9GaXhlZCgxKQ0KICAgICAgICAgIDogTWF0aC5mbG9vcihjdXJyZW50KS50b0xvY2FsZVN0cmluZygpOw0KICAgICAgICBpZiAocHJvZ3Jlc3MgPCAxKSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodXBkYXRlKTsNCiAgICAgIH0NCiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSh1cGRhdGUpOw0KICAgIH0NCg0KICAgIC8vIOKUgOKUgCBTY3JvbGwgcmV2ZWFsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KICAgIGNvbnN0IHJldmVhbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucmV2ZWFsJyk7DQogICAgY29uc3QgY291bnRlcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY291bnRlcicpOw0KICAgIGxldCBjb3VudGVyc1N0YXJ0ZWQgPSBmYWxzZTsNCg0KICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7DQogICAgICBlbnRyaWVzLmZvckVhY2goZSA9PiB7DQogICAgICAgIGlmIChlLmlzSW50ZXJzZWN0aW5nKSB7DQogICAgICAgICAgZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpOw0KICAgICAgICB9DQogICAgICB9KTsNCiAgICB9LCB7IHRocmVzaG9sZDogMC4xNSB9KTsNCg0KICAgIHJldmVhbHMuZm9yRWFjaChlbCA9PiBvYnNlcnZlci5vYnNlcnZlKGVsKSk7DQoNCiAgICBjb25zdCBjb3VudGVyT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHsNCiAgICAgIGlmICghY291bnRlcnNTdGFydGVkICYmIGVudHJpZXMuc29tZShlID0+IGUuaXNJbnRlcnNlY3RpbmcpKSB7DQogICAgICAgIGNvdW50ZXJzU3RhcnRlZCA9IHRydWU7DQogICAgICAgIGNvdW50ZXJzLmZvckVhY2goYW5pbWF0ZUNvdW50ZXIpOw0KICAgICAgfQ0KICAgIH0sIHsgdGhyZXNob2xkOiAwLjUgfSk7DQoNCiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc3RhdHMnKT8ubGV0Py4oZWwgPT4gY291bnRlck9ic2VydmVyLm9ic2VydmUoZWwpKTsNCiAgICAvLyBGYWxsYmFjazogYWxzbyBydW4gY291bnRlcnMgd2hlbiBoZXJvIGlzIGxvYWRlZA0KICAgIGNvdW50ZXJzLmZvckVhY2goYW5pbWF0ZUNvdW50ZXIpOw0KDQogICAgLy8g4pSA4pSAIEdTQVAgaGVybyBlbnRyYW5jZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCiAgICBpZiAodHlwZW9mIGdzYXAgIT09ICd1bmRlZmluZWQnKSB7DQogICAgICBnc2FwLmZyb20oJyNoZXJvLWxlZnQgPiAqJywgew0KICAgICAgICB5OiAzMCwgb3BhY2l0eTogMCwgZHVyYXRpb246IDAuOSwNCiAgICAgICAgc3RhZ2dlcjogMC4xMiwgZWFzZTogJ3Bvd2VyMy5vdXQnLA0KICAgICAgfSk7DQogICAgICBnc2FwLmZyb20oJyNoZXJvLXJpZ2h0Jywgew0KICAgICAgICB4OiA0MCwgb3BhY2l0eTogMCwgZHVyYXRpb246IDEuMSwNCiAgICAgICAgZGVsYXk6IDAuNCwgZWFzZTogJ3Bvd2VyMy5vdXQnLA0KICAgICAgfSk7DQogICAgfQ0KDQogIH0pOw0KICA8L3NjcmlwdD4NCg0KPC9ib2R5Pg0KPC9odG1sPg=="}},"time_used":14391,"timings":{"blocked":-1,"dns":62,"connect":18,"send":0,"wait":14269,"receive":18,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.tailwindcss.com/3.4.17","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"172.67.68.11","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.711Z","timestamp":1785160686711,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tailwindcss.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Jul 2026 20:38:38 GMT","end":"Thu, 15 Oct 2026 21:38:35 GMT"},"fingerprint":{"sha1":"AF:4F:AD:59:FA:ED:77:04:0D:32:56:48:B0:E5:1B:38:67:6D:7D:02","sha256":"E7:FC:CF:2D:6A:CC:F5:3C:4C:1E:9D:CD:21:8A:72:A3:DB:7C:B1:50:0F:83:D1:DC:E4:AD:25:90:8F:98:37:0F"}}},"request":{"raw":"GET /3.4.17 HTTP/1.1\r\nHost: cdn.tailwindcss.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.logistics.demotunde.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncontent-type: text/javascript\r\ncache-control: max-age=31536000\r\ncontent-encoding: br\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: MISS\r\nx-vercel-id: fra1::iad1::bj55r-1781146628084-40ce7f37f405\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\nage: 4014058\r\nlast-modified: Wed, 01 Jul 2026 01:49:34 GMT\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=FI8HfK3YpgJW%2BWO6kRJnfgbyGVYXsqo1lGf06DZgvmIV9K51FZMVMdsm79jKmrpioybbPmlDovG7T8zRkSCodeLmglYpQ8kE9DCdkwJ5AITk9Ccke2tQK47mga3PFuWtQZltluA%3D\"}]}\r\ncf-ray: a21c2833f85656af-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"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":407279,"size_decoded":127116,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (52853)","md5":"7a614b9a197e532c00d09a23b0996b5f","sha1":"1ff1738a40f3716e30e9031b181b0955ae578955","sha256":"176e894661aa9cdc9a5cba6c720044cbbf7b8bd80d1c9a142a7c24b1b6c50d15","sha512":"a67bc26f52d938358471be5671ff4b79e11af4e68b486aaf73a35a4c9bf3777aab51101af81563b4e5b7ba4b04dd8971fcfa9ee2c41fb10a0c1ee5604a99abd6","ssdeep":"12288:fpgrZxSAoNbJb0Wie75aUXGuyQZhK4O0s:RCVoNB0Wie75aUWmnO0s","tlshash":"e8844aa57396702647eb51e850ea1042f2beaa38840c44bcf7edd4da39e5e4440fbf79","first_seen":"2025-07-28T16:58:08.903462Z","last_seen":"2026-08-18T09:31:28.459039Z","times_seen":49738,"resource_available":true,"data":"KCgpPT57dmFyIHF2PU9iamVjdC5jcmVhdGU7dmFyIEhpPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgJHY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgTHY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIE12PU9iamVjdC5nZXRQcm90b3R5cGVPZixOdj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBkZj1yPT5IaShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaGY9cj0+e2lmKHR5cGVvZiByZXF1aXJlIT0idW5kZWZpbmVkIilyZXR1cm4gcmVxdWlyZShyKTt0aHJvdyBuZXcgRXJyb3IoJ0R5bmFtaWMgcmVxdWlyZSBvZiAiJytyKyciIGlzIG5vdCBzdXBwb3J0ZWQnKX07dmFyIFA9KHIsZSk9PigpPT4ociYmKGU9cihyPTApKSxlKTt2YXIgeD0ocixlKT0+KCk9PihlfHxyKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLEdlPShyLGUpPT57ZGYocik7Zm9yKHZhciB0IGluIGUpSGkocix0LHtnZXQ6ZVt0XSxlbnVtZXJhYmxlOiEwfSl9LEJ2PShyLGUsdCk9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgaSBvZiBMdihlKSkhTnYuY2FsbChyLGkpJiZpIT09ImRlZmF1bHQiJiZIaShyLGkse2dldDooKT0+ZVtpXSxlbnVtZXJhYmxlOiEodD0kdihlLGkpKXx8dC5lbnVtZXJhYmxlfSk7cmV0dXJuIHJ9LHBlPXI9PkJ2KGRmKEhpKHIhPW51bGw/cXYoTXYocikpOnt9LCJkZWZhdWx0IixyJiZyLl9fZXNNb2R1bGUmJiJkZWZhdWx0ImluIHI/e2dldDooKT0+ci5kZWZhdWx0LGVudW1lcmFibGU6ITB9Ont2YWx1ZTpyLGVudW1lcmFibGU6ITB9KSkscik7dmFyIG0sdT1QKCgpPT57bT17cGxhdGZvcm06IiIsZW52Ont9LHZlcnNpb25zOntub2RlOiIxNC4xNy42In19fSk7dmFyIEZ2LGJlLGZ0PVAoKCk9Pnt1KCk7RnY9MCxiZT17cmVhZEZpbGVTeW5jOnI9PnNlbGZbcl18fCIiLHN0YXRTeW5jOigpPT4oe210aW1lTXM6RnYrK30pLHByb21pc2VzOntyZWFkRmlsZTpyPT5Qcm9taXNlLnJlc29sdmUoc2VsZltyXXx8IiIpfX19KTt2YXIgRnM9eCgob1AsZ2YpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgbWY9Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7aWYoIShlLm1heFNpemUmJmUubWF4U2l6ZT4wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4U2l6ZWAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIpO2lmKHR5cGVvZiBlLm1heEFnZT09Im51bWJlciImJmUubWF4QWdlPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4QWdlYCBtdXN0IGJlIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIik7dGhpcy5tYXhTaXplPWUubWF4U2l6ZSx0aGlzLm1heEFnZT1lLm1heEFnZXx8MS8wLHRoaXMub25FdmljdGlvbj1lLm9uRXZpY3Rpb24sdGhpcy5jYWNoZT1uZXcgTWFwLHRoaXMub2xkQ2FjaGU9bmV3IE1hcCx0aGlzLl9zaXplPTB9X2VtaXRFdmljdGlvbnMoZSl7aWYodHlwZW9mIHRoaXMub25FdmljdGlvbj09ImZ1bmN0aW9uIilmb3IobGV0W3QsaV1vZiBlKXRoaXMub25FdmljdGlvbih0LGkudmFsdWUpfV9kZWxldGVJZkV4cGlyZWQoZSx0KXtyZXR1cm4gdHlwZW9mIHQuZXhwaXJ5PT0ibnVtYmVyIiYmdC5leHBpcnk8PURhdGUubm93KCk/KHR5cGVvZiB0aGlzLm9uRXZpY3Rpb249PSJmdW5jdGlvbiImJnRoaXMub25FdmljdGlvbihlLHQudmFsdWUpLHRoaXMuZGVsZXRlKGUpKTohMX1fZ2V0T3JEZWxldGVJZkV4cGlyZWQoZSx0KXtpZih0aGlzLl9kZWxldGVJZkV4cGlyZWQoZSx0KT09PSExKXJldHVybiB0LnZhbHVlfV9nZXRJdGVtVmFsdWUoZSx0KXtyZXR1cm4gdC5leHBpcnk/dGhpcy5fZ2V0T3JEZWxldGVJZkV4cGlyZWQoZSx0KTp0LnZhbHVlfV9wZWVrKGUsdCl7bGV0IGk9dC5nZXQoZSk7cmV0dXJuIHRoaXMuX2dldEl0ZW1WYWx1ZShlLGkpfV9zZXQoZSx0KXt0aGlzLmNhY2hlLnNldChlLHQpLHRoaXMuX3NpemUrKyx0aGlzLl9zaXplPj10aGlzLm1heFNpemUmJih0aGlzLl9zaXplPTAsdGhpcy5fZW1pdEV2aWN0aW9ucyh0aGlzLm9sZENhY2hlKSx0aGlzLm9sZENhY2hlPXRoaXMuY2FjaGUsdGhpcy5jYWNoZT1uZXcgTWFwKX1fbW92ZVRvUmVjZW50KGUsdCl7dGhpcy5vbGRDYWNoZS5kZWxldGUoZSksdGhpcy5fc2V0KGUsdCl9Kl9lbnRyaWVzQXNjZW5kaW5nKCl7Zm9yKGxldCBlIG9mIHRoaXMub2xkQ2FjaGUpe2xldFt0LGldPWU7dGhpcy5jYWNoZS5oYXModCl8fHRoaXMuX2RlbGV0ZUlmRXhwaXJlZCh0LGkpPT09ITEmJih5aWVsZCBlKX1mb3IobGV0IGUgb2YgdGhpcy5jYWNoZSl7bGV0W3QsaV09ZTt0aGlzLl9kZWxldGVJZkV4cGlyZWQodCxpKT09PSExJiYoeWllbGQgZSl9fWdldChlKXtpZih0aGlzLmNhY2hlLmhhcyhlKSl7bGV0IHQ9dGhpcy5jYWNoZS5nZXQoZSk7cmV0dXJuIHRoaXMuX2dldEl0ZW1WYWx1ZShlLHQpfWlmKHRoaXMub2xkQ2FjaGUuaGFzKGUpKXtsZXQgdD10aGlzLm9sZENhY2hlLmdldChlKTtpZih0aGlzLl9kZWxldGVJZkV4cGlyZWQoZSx0KT09PSExKXJldHVybiB0aGlzLl9tb3ZlVG9SZWNlbnQoZSx0KSx0LnZhbHVlfX1zZXQoZSx0LHttYXhBZ2U6aT10aGlzLm1heEFnZT09PTEvMD92b2lkIDA6RGF0ZS5ub3coKSt0aGlzLm1heEFnZX09e30pe3RoaXMuY2FjaGUuaGFzKGUpP3RoaXMuY2FjaGUuc2V0KGUse3ZhbHVlOnQsbWF4QWdlOml9KTp0aGlzLl9zZXQoZSx7dmFsdWU6dCxleHBpcnk6aX0pfWhhcyhlKXtyZXR1cm4gdGhpcy5jYWNoZS5oYXMoZSk/IXRoaXMuX2RlbGV0ZUlmRXhwaXJlZChlLHRoaXMuY2FjaGUuZ2V0KGUpKTp0aGlzLm9sZENhY2hlLmhhcyhlKT8hdGhpcy5fZGVsZXRlSWZFeHBpcmVkKGUsdGhpcy5vbGRDYWNoZS5nZXQoZSkpOiExfXBlZWsoZSl7aWYodGhpcy5jYWNoZS5oYXMoZSkpcmV0dXJuIHRoaXMuX3BlZWsoZSx0aGlzLmNhY2hlKTtpZih0aGlzLm9sZENhY2hlLmhhcyhlKSlyZXR1cm4gdGhpcy5fcGVlayhlLHRoaXMub2xkQ2FjaGUpfWRlbGV0ZShlKXtsZXQgdD10aGlzLmNhY2hlLmRlbGV0ZShlKTtyZXR1cm4gdCYmdGhpcy5fc2l6ZS0tLHRoaXMub2xkQ2FjaGUuZGVsZXRlKGUpfHx0fWNsZWFyKCl7dGhpcy5jYWNoZS5jbGVhcigpLHRoaXMub2xkQ2FjaGUuY2xlYXIoKSx0aGlzLl9zaXplPTB9cmVzaXplKGUpe2lmKCEoZSYmZT4wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4U2l6ZWAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIpO2xldCB0PVsuLi50aGlzLl9lbnRyaWVzQXNjZW5kaW5nKCldLGk9dC5sZW5ndGgtZTtpPDA/KHRoaXMuY2FjaGU9bmV3IE1hcCh0KSx0aGlzLm9sZENhY2hlPW5ldyBNYXAsdGhpcy5fc2l6ZT10Lmxlbmd0aCk6KGk+MCYmdGhpcy5fZW1pdEV2aWN0aW9ucyh0LnNsaWNlKDAsaSkpLHRoaXMub2xkQ2FjaGU9bmV3IE1hcCh0LnNsaWNlKGkpKSx0aGlzLmNhY2hlPW5ldyBNYXAsdGhpcy5fc2l6ZT0wKSx0aGlzLm1heFNpemU9ZX0qa2V5cygpe2ZvcihsZXRbZV1vZiB0aGlzKXlpZWxkIGV9KnZhbHVlcygpe2ZvcihsZXRbLGVdb2YgdGhpcyl5aWVsZCBlfSpbU3ltYm9sLml0ZXJhdG9yXSgpe2ZvcihsZXQgZSBvZiB0aGlzLmNhY2hlKXtsZXRbdCxpXT1lO3RoaXMuX2RlbGV0ZUlmRXhwaXJlZCh0LGkpPT09ITEmJih5aWVsZFt0LGkudmFsdWVdKX1mb3IobGV0IGUgb2YgdGhpcy5vbGRDYWNoZSl7bGV0W3QsaV09ZTt0aGlzLmNhY2hlLmhhcyh0KXx8dGhpcy5fZGVsZXRlSWZFeHBpcmVkKHQsaSk9PT0hMSYmKHlpZWxkW3QsaS52YWx1ZV0pfX0qZW50cmllc0Rlc2NlbmRpbmcoKXtsZXQgZT1bLi4udGhpcy5jYWNoZV07Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDstLXQpe2xldCBpPWVbdF0sW24sc109aTt0aGlzLl9kZWxldGVJZkV4cGlyZWQobixzKT09PSExJiYoeWllbGRbbixzLnZhbHVlXSl9ZT1bLi4udGhpcy5vbGRDYWNoZV07Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDstLXQpe2xldCBpPWVbdF0sW24sc109aTt0aGlzLmNhY2hlLmhhcyhuKXx8dGhpcy5fZGVsZXRlSWZFeHBpcmVkKG4scyk9PT0hMSYmKHlpZWxkW24scy52YWx1ZV0pfX0qZW50cmllc0FzY2VuZGluZygpe2ZvcihsZXRbZSx0XW9mIHRoaXMuX2VudHJpZXNBc2NlbmRpbmcoKSl5aWVsZFtlLHQudmFsdWVdfWdldCBzaXplKCl7aWYoIXRoaXMuX3NpemUpcmV0dXJuIHRoaXMub2xkQ2FjaGUuc2l6ZTtsZXQgZT0wO2ZvcihsZXQgdCBvZiB0aGlzLm9sZENhY2hlLmtleXMoKSl0aGlzLmNhY2hlLmhhcyh0KXx8ZSsrO3JldHVybiBNYXRoLm1pbih0aGlzLl9zaXplK2UsdGhpcy5tYXhTaXplKX19O2dmLmV4cG9ydHM9bWZ9KTt2YXIgeWYsYmY9UCgoKT0+e3UoKTt5Zj1yPT5yJiZyLl9oYXNofSk7ZnVuY3Rpb24gV2kocil7cmV0dXJuIHlmKHIse2lnbm9yZVVua25vd246ITB9KX12YXIgd2Y9UCgoKT0+e3UoKTtiZigpfSk7ZnVuY3Rpb24geHQocil7aWYocj1gJHtyfWAscj09PSIwIilyZXR1cm4iMCI7aWYoL15bKy1dPyhcZCt8XGQqXC5cZCspKGVbKy1dP1xkKyk/KCV8XHcrKT8kLy50ZXN0KHIpKXJldHVybiByLnJlcGxhY2UoL15bKy1dPy8sdD0+dD09PSItIj8iIjoiLSIpO2xldCBlPVsidmFyIiwiY2FsYyIsIm1pbiIsIm1heCIsImNsYW1wIl07Zm9yKGxldCB0IG9mIGUpaWYoci5pbmNsdWRlcyhgJHt0fShgKSlyZXR1cm5gY2FsYygke3J9ICogLTEpYH12YXIgR2k9UCgoKT0+e3UoKX0pO3ZhciB2Zix4Zj1QKCgpPT57dSgpO3ZmPVsicHJlZmxpZ2h0IiwiY29udGFpbmVyIiwiYWNjZXNzaWJpbGl0eSIsInBvaW50ZXJFdmVudHMiLCJ2aXNpYmlsaXR5IiwicG9zaXRpb24iLCJpbnNldCIsImlzb2xhdGlvbiIsInpJbmRleCIsIm9yZGVyIiwiZ3JpZENvbHVtbiIsImdyaWRDb2x1bW5TdGFydCIsImdyaWRDb2x1bW5FbmQiLCJncmlkUm93IiwiZ3JpZFJvd1N0YXJ0IiwiZ3JpZFJvd0VuZCIsImZsb2F0IiwiY2xlYXIiLCJtYXJnaW4iLCJib3hTaXppbmciLCJsaW5lQ2xhbXAiLCJkaXNwbGF5IiwiYXNwZWN0UmF0aW8iLCJzaXplIiwiaGVpZ2h0IiwibWF4SGVpZ2h0IiwibWluSGVpZ2h0Iiwid2lkdGgiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiZmxleCIsImZsZXhTaHJpbmsiLCJmbGV4R3JvdyIsImZsZXhCYXNpcyIsInRhYmxlTGF5b3V0IiwiY2FwdGlvblNpZGUiLCJib3JkZXJDb2xsYXBzZSIsImJvcmRlclNwYWNpbmciLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ0cmFuc2xhdGUiLCJyb3RhdGUiLCJza2V3Iiwic2NhbGUiLCJ0cmFuc2Zvcm0iLCJhbmltYXRpb24iLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsInVzZXJTZWxlY3QiLCJyZXNpemUiLCJzY3JvbGxTbmFwVHlwZSIsInNjcm9sbFNuYXBBbGlnbiIsInNjcm9sbFNuYXBTdG9wIiwic2Nyb2xsTWFyZ2luIiwic2Nyb2xsUGFkZGluZyIsImxpc3RTdHlsZVBvc2l0aW9uIiwibGlzdFN0eWxlVHlwZSIsImxpc3RTdHlsZUltYWdlIiwiYXBwZWFyYW5jZSIsImNvbHVtbnMiLCJicmVha0JlZm9yZSIsImJyZWFrSW5zaWRlIiwiYnJlYWtBZnRlciIsImdyaWRBdXRvQ29sdW1ucyIsImdyaWRBdXRvRmxvdyIsImdyaWRBdXRvUm93cyIsImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJncmlkVGVtcGxhdGVSb3dzIiwiZmxleERpcmVjdGlvbiIsImZsZXhXcmFwIiwicGxhY2VDb250ZW50IiwicGxhY2VJdGVtcyIsImFsaWduQ29udGVudCIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImp1c3RpZnlJdGVtcyIsImdhcCIsInNwYWNlIiwiZGl2aWRlV2lkdGgiLCJkaXZpZGVTdHlsZSIsImRpdmlkZUNvbG9yIiwiZGl2aWRlT3BhY2l0eSIsInBsYWNlU2VsZiIsImFsaWduU2VsZiIsImp1c3RpZnlTZWxmIiwib3ZlcmZsb3ciLCJvdmVyc2Nyb2xsQmVoYXZpb3IiLCJzY3JvbGxCZWhhdmlvciIsInRleHRPdmVyZmxvdyIsImh5cGhlbnMiLCJ3aGl0ZXNwYWNlIiwidGV4dFdyYXAiLCJ3b3JkQnJlYWsiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJXaWR0aCIsImJvcmRlclN0eWxlIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJPcGFjaXR5IiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZE9wYWNpdHkiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJncmFkaWVudENvbG9yU3RvcHMiLCJib3hEZWNvcmF0aW9uQnJlYWsiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRBdHRhY2htZW50IiwiYmFja2dyb3VuZENsaXAiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZE9yaWdpbiIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsIm9iamVjdEZpdCIsIm9iamVjdFBvc2l0aW9uIiwicGFkZGluZyIsInRleHRBbGlnbiIsInRleHRJbmRlbnQiLCJ2ZXJ0aWNhbEFsaWduIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInRleHRUcmFuc2Zvcm0iLCJmb250U3R5bGUiLCJmb250VmFyaWFudE51bWVyaWMiLCJsaW5lSGVpZ2h0IiwibGV0dGVyU3BhY2luZyIsInRleHRDb2xvciIsInRleHRPcGFjaXR5IiwidGV4dERlY29yYXRpb24iLCJ0ZXh0RGVjb3JhdGlvbkNvbG9yIiwidGV4dERlY29yYXRpb25TdHlsZSIsInRleHREZWNvcmF0aW9uVGhpY2tuZXNzIiwidGV4dFVuZGVybGluZU9mZnNldCIsImZvbnRTbW9vdGhpbmciLCJwbGFjZWhvbGRlckNvbG9yIiwicGxhY2Vob2xkZXJPcGFjaXR5IiwiY2FyZXRDb2xvciIsImFjY2VudENvbG9yIiwib3BhY2l0eSIsImJhY2tncm91bmRCbGVuZE1vZGUiLCJtaXhCbGVuZE1vZGUiLCJib3hTaGFkb3ciLCJib3hTaGFkb3dDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCIsIm91dGxpbmVPZmZzZXQiLCJvdXRsaW5lQ29sb3IiLCJyaW5nV2lkdGgiLCJyaW5nQ29sb3IiLCJyaW5nT3BhY2l0eSIsInJpbmdPZmZzZXRXaWR0aCIsInJpbmdPZmZzZXRDb2xvciIsImJsdXIiLCJicmlnaHRuZXNzIiwiY29udHJhc3QiLCJkcm9wU2hhZG93IiwiZ3JheXNjYWxlIiwiaHVlUm90YXRlIiwiaW52ZXJ0Iiwic2F0dXJhdGUiLCJzZXBpYSIsImZpbHRlciIsImJhY2tkcm9wQmx1ciIsImJhY2tkcm9wQnJpZ2h0bmVzcyIsImJhY2tkcm9wQ29udHJhc3QiLCJiYWNrZHJvcEdyYXlzY2FsZSIsImJhY2tkcm9wSHVlUm90YXRlIiwiYmFja2Ryb3BJbnZlcnQiLCJiYWNrZHJvcE9wYWNpdHkiLCJiYWNrZHJvcFNhdHVyYXRlIiwiYmFja2Ryb3BTZXBpYSIsImJhY2tkcm9wRmlsdGVyIiwidHJhbnNpdGlvblByb3BlcnR5IiwidHJhbnNpdGlvbkRlbGF5IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uIiwid2lsbENoYW5nZSIsImNvbnRhaW4iLCJjb250ZW50IiwiZm9yY2VkQ29sb3JBZGp1c3QiXX0pO2Z1bmN0aW9uIGtmKHIsZSl7cmV0dXJuIHI9PT12b2lkIDA/ZTpBcnJheS5pc0FycmF5KHIpP3I6Wy4uLm5ldyBTZXQoZS5maWx0ZXIoaT0+ciE9PSExJiZyW2ldIT09ITEpLmNvbmNhdChPYmplY3Qua2V5cyhyKS5maWx0ZXIoaT0+cltpXSE9PSExKSkpXX12YXIgU2Y9UCgoKT0+e3UoKX0pO3ZhciBBZj17fTtHZShBZix7ZGVmYXVsdDooKT0+UWV9KTt2YXIgUWUsUWk9UCgoKT0+e3UoKTtRZT1uZXcgUHJveHkoe30se2dldDooKT0+U3RyaW5nfSl9KTtmdW5jdGlvbiBqcyhyLGUsdCl7dHlwZW9mIG0hPSJ1bmRlZmluZWQiJiZtLmVudi5KRVNUX1dPUktFUl9JRHx8dCYmQ2YuaGFzKHQpfHwodCYmQ2YuYWRkKHQpLGNvbnNvbGUud2FybigiIiksZS5mb3JFYWNoKGk9PmNvbnNvbGUud2FybihyLCItIixpKSkpfWZ1bmN0aW9uIHpzKHIpe3JldHVybiBRZS5kaW0ocil9dmFyIENmLEcsQmU9UCgoKT0+e3UoKTtRaSgpO0NmPW5ldyBTZXQ7Rz17aW5mbyhyLGUpe2pzKFFlLmJvbGQoUWUuY3lhbigiaW5mbyIpKSwuLi5BcnJheS5pc0FycmF5KHIpP1tyXTpbZSxyXSl9LHdhcm4ocixlKXtbImNvbnRlbnQtcHJvYmxlbXMiXS5pbmNsdWRlcyhyKXx8anMoUWUuYm9sZChRZS55ZWxsb3coIndhcm4iKSksLi4uQXJyYXkuaXNBcnJheShyKT9bcl06W2Uscl0pfSxyaXNrKHIsZSl7anMoUWUuYm9sZChRZS5tYWdlbnRhKCJyaXNrIikpLC4uLkFycmF5LmlzQXJyYXkocik/W3JdOltlLHJdKX19fSk7dmFyIF9mPXt9O0dlKF9mLHtkZWZhdWx0OigpPT5Vc30pO2Z1bmN0aW9uIHFyKHt2ZXJzaW9uOnIsZnJvbTplLHRvOnR9KXtHLndhcm4oYCR7ZX0tY29sb3ItcmVuYW1lZGAsW2BBcyBvZiBUYWlsd2luZCBDU1MgJHtyfSwgXGAke2V9XGAgaGFzIGJlZW4gcmVuYW1lZCB0byBcYCR7dH1cYC5gLCJVcGRhdGUgeW91ciBjb25maWd1cmF0aW9uIGZpbGUgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcuIl0pfXZhciBVcyxWcz1QKCgpPT57dSgpO0JlKCk7VXM9e2luaGVyaXQ6ImluaGVyaXQiLGN1cnJlbnQ6ImN1cnJlbnRDb2xvciIsdHJhbnNwYXJlbnQ6InRyYW5zcGFyZW50IixibGFjazoiIzAwMCIsd2hpdGU6IiNmZmYiLHNsYXRlOns1MDoiI2Y4ZmFmYyIsMTAwOiIjZjFmNWY5IiwyMDA6IiNlMmU4ZjAiLDMwMDoiI2NiZDVlMSIsNDAwOiIjOTRhM2I4Iiw1MDA6IiM2NDc0OGIiLDYwMDoiIzQ3NTU2OSIsNzAwOiIjMzM0MTU1Iiw4MDA6IiMxZTI5M2IiLDkwMDoiIzBmMTcyYSIsOTUwOiIjMDIwNjE3In0sZ3JheTp7NTA6IiNmOWZhZmIiLDEwMDoiI2YzZjRmNiIsMjAwOiIjZTVlN2ViIiwzMDA6IiNkMWQ1ZGIiLDQwMDoiIzljYTNhZiIsNTAwOiIjNmI3MjgwIiw2MDA6IiM0YjU1NjMiLDcwMDoiIzM3NDE1MSIsODAwOiIjMWYyOTM3Iiw5MDA6IiMxMTE4MjciLDk1MDoiIzAzMDcxMiJ9LHppbmM6ezUwOiIjZmFmYWZhIiwxMDA6IiNmNGY0ZjUiLDIwMDoiI2U0ZTRlNyIsMzAwOiIjZDRkNGQ4Iiw0MDA6IiNhMWExYWEiLDUwMDoiIzcxNzE3YSIsNjAwOiIjNTI1MjViIiw3MDA6IiMzZjNmNDYiLDgwMDoiIzI3MjcyYSIsOTAwOiIjMTgxODFiIiw5NTA6IiMwOTA5MGIifSxuZXV0cmFsOns1MDoiI2ZhZmFmYSIsMTAwOiIjZjVmNWY1IiwyMDA6IiNlNWU1ZTUiLDMwMDoiI2Q0ZDRkNCIsNDAwOiIjYTNhM2EzIiw1MDA6IiM3MzczNzMiLDYwMDoiIzUyNTI1MiIsNzAwOiIjNDA0MDQwIiw4MDA6IiMyNjI2MjYiLDkwMDoiIzE3MTcxNyIsOTUwOiIjMGEwYTBhIn0sc3RvbmU6ezUwOiIjZmFmYWY5IiwxMDA6IiNmNWY1ZjQiLDIwMDoiI2U3ZTVlNCIsMzAwOiIjZDZkM2QxIiw0MDA6IiNhOGEyOWUiLDUwMDoiIzc4NzE2YyIsNjAwOiIjNTc1MzRlIiw3MDA6IiM0NDQwM2MiLDgwMDoiIzI5MjUyNCIsOTAwOiIjMWMxOTE3Iiw5NTA6IiMwYzBhMDkifSxyZWQ6ezUwOiIjZmVmMmYyIiwxMDA6IiNmZWUyZTIiLDIwMDoiI2ZlY2FjYSIsMzAwOiIjZmNhNWE1Iiw0MDA6IiNmODcxNzEiLDUwMDoiI2VmNDQ0NCIsNjAwOiIjZGMyNjI2Iiw3MDA6IiNiOTFjMWMiLDgwMDoiIzk5MWIxYiIsOTAwOiIjN2YxZDFkIiw5NTA6IiM0NTBhMGEifSxvcmFuZ2U6ezUwOiIjZmZmN2VkIiwxMDA6IiNmZmVkZDUiLDIwMDoiI2ZlZDdhYSIsMzAwOiIjZmRiYTc0Iiw0MDA6IiNmYjkyM2MiLDUwMDoiI2Y5NzMxNiIsNjAwOiIjZWE1ODBjIiw3MDA6IiNjMjQxMGMiLDgwMDoiIzlhMzQxMiIsOTAwOiIjN2MyZDEyIiw5NTA6IiM0MzE0MDcifSxhbWJlcjp7NTA6IiNmZmZiZWIiLDEwMDoiI2ZlZjNjNyIsMjAwOiIjZmRlNjhhIiwzMDA6IiNmY2QzNGQiLDQwMDoiI2ZiYmYyNCIsNTAwOiIjZjU5ZTBiIiw2MDA6IiNkOTc3MDYiLDcwMDoiI2I0NTMwOSIsODAwOiIjOTI0MDBlIiw5MDA6IiM3ODM1MGYiLDk1MDoiIzQ1MWEwMyJ9LHllbGxvdzp7NTA6IiNmZWZjZTgiLDEwMDoiI2ZlZjljMyIsMjAwOiIjZmVmMDhhIiwzMDA6IiNmZGUwNDciLDQwMDoiI2ZhY2MxNSIsNTAwOiIjZWFiMzA4Iiw2MDA6IiNjYThhMDQiLDcwMDoiI2ExNjIwNyIsODAwOiIjODU0ZDBlIiw5MDA6IiM3MTNmMTIiLDk1MDoiIzQyMjAwNiJ9LGxpbWU6ezUwOiIjZjdmZWU3IiwxMDA6IiNlY2ZjY2IiLDIwMDoiI2Q5Zjk5ZCIsMzAwOiIjYmVmMjY0Iiw0MDA6IiNhM2U2MzUiLDUwMDoiIzg0Y2MxNiIsNjAwOiIjNjVhMzBkIiw3MDA6IiM0ZDdjMGYiLDgwMDoiIzNmNjIxMiIsOTAwOiIjMzY1MzE0Iiw5NTA6IiMxYTJlMDUifSxncmVlbjp7NTA6IiNmMGZkZjQiLDEwMDoiI2RjZmNlNyIsMjAwOiIjYmJmN2QwIiwzMDA6IiM4NmVmYWMiLDQwMDoiIzRhZGU4MCIsNTAwOiIjMjJjNTVlIiw2MDA6IiMxNmEzNGEiLDcwMDoiIzE1ODAzZCIsODAwOiIjMTY2NTM0Iiw5MDA6IiMxNDUzMmQiLDk1MDoiIzA1MmUxNiJ9LGVtZXJhbGQ6ezUwOiIjZWNmZGY1IiwxMDA6IiNkMWZhZTUiLDIwMDoiI2E3ZjNkMCIsMzAwOiIjNmVlN2I3Iiw0MDA6IiMzNGQzOTkiLDUwMDoiIzEwYjk4MSIsNjAwOiIjMDU5NjY5Iiw3MDA6IiMwNDc4NTciLDgwMDoiIzA2NWY0NiIsOTAwOiIjMDY0ZTNiIiw5NTA6IiMwMjJjMjIifSx0ZWFsOns1MDoiI2YwZmRmYSIsMTAwOiIjY2NmYmYxIiwyMDA6IiM5OWY2ZTQiLDMwMDoiIzVlZWFkNCIsNDAwOiIjMmRkNGJmIiw1MDA6IiMxNGI4YTYiLDYwMDoiIzBkOTQ4OCIsNzAwOiIjMGY3NjZlIiw4MDA6IiMxMTVlNTkiLDkwMDoiIzEzNGU0YSIsOTUwOiIjMDQyZjJlIn0sY3lhbjp7NTA6IiNlY2ZlZmYiLDEwMDoiI2NmZmFmZSIsMjAwOiIjYTVmM2ZjIiwzMDA6IiM2N2U4ZjkiLDQwMDoiIzIyZDNlZSIsNTAwOiIjMDZiNmQ0Iiw2MDA6IiMwODkxYjIiLDcwMDoiIzBlNzQ5MCIsODAwOiIjMTU1ZTc1Iiw5MDA6IiMxNjRlNjMiLDk1MDoiIzA4MzM0NCJ9LHNreTp7NTA6IiNmMGY5ZmYiLDEwMDoiI2UwZjJmZSIsMjAwOiIjYmFlNmZkIiwzMDA6IiM3ZGQzZmMiLDQwMDoiIzM4YmRmOCIsNTAwOiIjMGVhNWU5Iiw2MDA6IiMwMjg0YzciLDcwMDoiIzAzNjlhMSIsODAwOiIjMDc1OTg1Iiw5MDA6IiMwYzRhNmUiLDk1MDoiIzA4MmY0OSJ9LGJsdWU6ezUwOiIjZWZmNmZmIiwxMDA6IiNkYmVhZmUiLDIwMDoiI2JmZGJmZSIsMzAwOiIjOTNjNWZkIiw0MDA6IiM2MGE1ZmEiLDUwMDoiIzNiODJmNiIsNjAwOiIjMjU2M2ViIiw3MDA6IiMxZDRlZDgiLDgwMDoiIzFlNDBhZiIsOTAwOiIjMWUzYThhIiw5NTA6IiMxNzI1NTQifSxpbmRpZ286ezUwOiIjZWVmMmZmIiwxMDA6IiNlMGU3ZmYiLDIwMDoiI2M3ZDJmZSIsMzAwOiIjYTViNGZjIiw0MDA6IiM4MThjZjgiLDUwMDoiIzYzNjZmMSIsNjAwOiIjNGY0NmU1Iiw3MDA6IiM0MzM4Y2EiLDgwMDoiIzM3MzBhMyIsOTAwOiIjMzEyZTgxIiw5NTA6IiMxZTFiNGIifSx2aW9sZXQ6ezUwOiIjZjVmM2ZmIiwxMDA6IiNlZGU5ZmUiLDIwMDoiI2RkZDZmZSIsMzAwOiIjYzRiNWZkIiw0MDA6IiNhNzhiZmEiLDUwMDoiIzhiNWNmNiIsNjAwOiIjN2MzYWVkIiw3MDA6IiM2ZDI4ZDkiLDgwMDoiIzViMjFiNiIsOTAwOiIjNGMxZDk1Iiw5NTA6IiMyZTEwNjUifSxwdXJwbGU6ezUwOiIjZmFmNWZmIiwxMDA6IiNmM2U4ZmYiLDIwMDoiI2U5ZDVmZiIsMzAwOiIjZDhiNGZlIiw0MDA6IiNjMDg0ZmMiLDUwMDoiI2E4NTVmNyIsNjAwOiIjOTMzM2VhIiw3MDA6IiM3ZTIyY2UiLDgwMDoiIzZiMjFhOCIsOTAwOiIjNTgxYzg3Iiw5NTA6IiMzYjA3NjQifSxmdWNoc2lhOns1MDoiI2ZkZjRmZiIsMTAwOiIjZmFlOGZmIiwyMDA6IiNmNWQwZmUiLDMwMDoiI2YwYWJmYyIsNDAwOiIjZTg3OWY5Iiw1MDA6IiNkOTQ2ZWYiLDYwMDoiI2MwMjZkMyIsNzAwOiIjYTIxY2FmIiw4MDA6IiM4NjE5OGYiLDkwMDoiIzcwMWE3NSIsOTUwOiIjNGEwNDRlIn0scGluazp7NTA6IiNmZGYyZjgiLDEwMDoiI2ZjZTdmMyIsMjAwOiIjZmJjZmU4IiwzMDA6IiNmOWE4ZDQiLDQwMDoiI2Y0NzJiNiIsNTAwOiIjZWM0ODk5Iiw2MDA6IiNkYjI3NzciLDcwMDoiI2JlMTg1ZCIsODAwOiIjOWQxNzRkIiw5MDA6IiM4MzE4NDMiLDk1MDoiIzUwMDcyNCJ9LHJvc2U6ezUwOiIjZmZmMWYyIiwxMDA6IiNmZmU0ZTYiLDIwMDoiI2ZlY2RkMyIsMzAwOiIjZmRhNGFmIiw0MDA6IiNmYjcxODUiLDUwMDoiI2Y0M2Y1ZSIsNjAwOiIjZTExZDQ4Iiw3MDA6IiNiZTEyM2MiLDgwMDoiIzlmMTIzOSIsOTAwOiIjODgxMzM3Iiw5NTA6IiM0YzA1MTkifSxnZXQgbGlnaHRCbHVlKCl7cmV0dXJuIHFyKHt2ZXJzaW9uOiJ2Mi4yIixmcm9tOiJsaWdodEJsdWUiLHRvOiJza3kifSksdGhpcy5za3l9LGdldCB3YXJtR3JheSgpe3JldHVybiBxcih7dmVyc2lvbjoidjMuMCIsZnJvbToid2FybUdyYXkiLHRvOiJzdG9uZSJ9KSx0aGlzLnN0b25lfSxnZXQgdHJ1ZUdyYXkoKXtyZXR1cm4gcXIoe3ZlcnNpb246InYzLjAiLGZyb206InRydWVHcmF5Iix0bzoibmV1dHJhbCJ9KSx0aGlzLm5ldXRyYWx9LGdldCBjb29sR3JheSgpe3JldHVybiBxcih7dmVyc2lvbjoidjMuMCIsZnJvbToiY29vbEdyYXkiLHRvOiJncmF5In0pLHRoaXMuZ3JheX0sZ2V0IGJsdWVHcmF5KCl7cmV0dXJuIHFyKHt2ZXJzaW9uOiJ2My4wIixmcm9tOiJibHVlR3JheSIsdG86InNsYXRlIn0pLHRoaXMuc2xhdGV9fX0pO2Z1bmN0aW9uIEhzKHIsLi4uZSl7Zm9yKGxldCB0IG9mIGUpe2ZvcihsZXQgaSBpbiB0KXI/Lmhhc093blByb3BlcnR5Py4oaSl8fChyW2ldPXRbaV0pO2ZvcihsZXQgaSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKXI/Lmhhc093blByb3BlcnR5Py4oaSl8fChyW2ldPXRbaV0pfXJldHVybiByfXZhciBFZj1QKCgpPT57dSgpfSk7ZnVuY3Rpb24ga3Qocil7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gcjtsZXQgZT1yLnNwbGl0KCJbIikubGVuZ3RoLTEsdD1yLnNwbGl0KCJdIikubGVuZ3RoLTE7aWYoZSE9PXQpdGhyb3cgbmV3IEVycm9yKGBQYXRoIGlzIGludmFsaWQuIEhhcyB1bmJhbGFuY2VkIGJyYWNrZXRzOiAke3J9YCk7cmV0dXJuIHIuc3BsaXQoL1wuKD8hW15cW10qXF0pfFtcW1xdXS9nKS5maWx0ZXIoQm9vbGVhbil9dmFyIFlpPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiB3ZShyLGUpe3JldHVybiBLaS5mdXR1cmUuaW5jbHVkZXMoZSk/ci5mdXR1cmU9PT0iYWxsInx8KHI/LmZ1dHVyZT8uW2VdPz9PZltlXT8/ITEpOktpLmV4cGVyaW1lbnRhbC5pbmNsdWRlcyhlKT9yLmV4cGVyaW1lbnRhbD09PSJhbGwifHwocj8uZXhwZXJpbWVudGFsPy5bZV0/P09mW2VdPz8hMSk6ITF9ZnVuY3Rpb24gVGYocil7cmV0dXJuIHIuZXhwZXJpbWVudGFsPT09ImFsbCI/S2kuZXhwZXJpbWVudGFsOk9iamVjdC5rZXlzKHI/LmV4cGVyaW1lbnRhbD8/e30pLmZpbHRlcihlPT5LaS5leHBlcmltZW50YWwuaW5jbHVkZXMoZSkmJnIuZXhwZXJpbWVudGFsW2VdKX1mdW5jdGlvbiBSZihyKXtpZihtLmVudi5KRVNUX1dPUktFUl9JRD09PXZvaWQgMCYmVGYocikubGVuZ3RoPjApe2xldCBlPVRmKHIpLm1hcCh0PT5RZS55ZWxsb3codCkpLmpvaW4oIiwgIik7Ry53YXJuKCJleHBlcmltZW50YWwtZmxhZ3MtZW5hYmxlZCIsW2BZb3UgaGF2ZSBlbmFibGVkIGV4cGVyaW1lbnRhbCBmZWF0dXJlczogJHtlfWAsIkV4cGVyaW1lbnRhbCBmZWF0dXJlcyBpbiBUYWlsd2luZCBDU1MgYXJlIG5vdCBjb3ZlcmVkIGJ5IHNlbXZlciwgbWF5IGludHJvZHVjZSBicmVha2luZyBjaGFuZ2VzLCBhbmQgY2FuIGNoYW5nZSBhdCBhbnkgdGltZS4iXSl9fXZhciBPZixLaSxjdD1QKCgpPT57dSgpO1FpKCk7QmUoKTtPZj17b3B0aW1pemVVbml2ZXJzYWxEZWZhdWx0czohMSxnZW5lcmFsaXplZE1vZGlmaWVyczohMCxkaXNhYmxlQ29sb3JPcGFjaXR5VXRpbGl0aWVzQnlEZWZhdWx0OiExLHJlbGF0aXZlQ29udGVudFBhdGhzQnlEZWZhdWx0OiExfSxLaT17ZnV0dXJlOlsiaG92ZXJPbmx5V2hlblN1cHBvcnRlZCIsInJlc3BlY3REZWZhdWx0UmluZ0NvbG9yT3BhY2l0eSIsImRpc2FibGVDb2xvck9wYWNpdHlVdGlsaXRpZXNCeURlZmF1bHQiLCJyZWxhdGl2ZUNvbnRlbnRQYXRoc0J5RGVmYXVsdCJdLGV4cGVyaW1lbnRhbDpbIm9wdGltaXplVW5pdmVyc2FsRGVmYXVsdHMiLCJnZW5lcmFsaXplZE1vZGlmaWVycyJdfX0pO2Z1bmN0aW9uIFBmKHIpeygoKT0+e2lmKHIucHVyZ2V8fCFyLmNvbnRlbnR8fCFBcnJheS5pc0FycmF5KHIuY29udGVudCkmJiEodHlwZW9mIHIuY29udGVudD09Im9iamVjdCImJnIuY29udGVudCE9PW51bGwpKXJldHVybiExO2lmKEFycmF5LmlzQXJyYXkoci5jb250ZW50KSlyZXR1cm4gci5jb250ZW50LmV2ZXJ5KHQ9PnR5cGVvZiB0PT0ic3RyaW5nIj8hMDohKHR5cGVvZiB0Py5yYXchPSJzdHJpbmcifHx0Py5leHRlbnNpb24mJnR5cGVvZiB0Py5leHRlbnNpb24hPSJzdHJpbmciKSk7aWYodHlwZW9mIHIuY29udGVudD09Im9iamVjdCImJnIuY29udGVudCE9PW51bGwpe2lmKE9iamVjdC5rZXlzKHIuY29udGVudCkuc29tZSh0PT4hWyJmaWxlcyIsInJlbGF0aXZlIiwiZXh0cmFjdCIsInRyYW5zZm9ybSJdLmluY2x1ZGVzKHQpKSlyZXR1cm4hMTtpZihBcnJheS5pc0FycmF5KHIuY29udGVudC5maWxlcykpe2lmKCFyLmNvbnRlbnQuZmlsZXMuZXZlcnkodD0+dHlwZW9mIHQ9PSJzdHJpbmciPyEwOiEodHlwZW9mIHQ/LnJhdyE9InN0cmluZyJ8fHQ/LmV4dGVuc2lvbiYmdHlwZW9mIHQ/LmV4dGVuc2lvbiE9InN0cmluZyIpKSlyZXR1cm4hMTtpZih0eXBlb2Ygci5jb250ZW50LmV4dHJhY3Q9PSJvYmplY3QiKXtmb3IobGV0IHQgb2YgT2JqZWN0LnZhbHVlcyhyLmNvbnRlbnQuZXh0cmFjdCkpaWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuITF9ZWxzZSBpZighKHIuY29udGVudC5leHRyYWN0PT09dm9pZCAwfHx0eXBlb2Ygci5jb250ZW50LmV4dHJhY3Q9PSJmdW5jdGlvbiIpKXJldHVybiExO2lmKHR5cGVvZiByLmNvbnRlbnQudHJhbnNmb3JtPT0ib2JqZWN0Iil7Zm9yKGxldCB0IG9mIE9iamVjdC52YWx1ZXMoci5jb250ZW50LnRyYW5zZm9ybSkpaWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuITF9ZWxzZSBpZighKHIuY29udGVudC50cmFuc2Zvcm09PT12b2lkIDB8fHR5cGVvZiByLmNvbnRlbnQudHJhbnNmb3JtPT0iZnVuY3Rpb24iKSlyZXR1cm4hMTtpZih0eXBlb2Ygci5jb250ZW50LnJlbGF0aXZlIT0iYm9vbGVhbiImJnR5cGVvZiByLmNvbnRlbnQucmVsYXRpdmUhPSJ1bmRlZmluZWQiKXJldHVybiExfXJldHVybiEwfXJldHVybiExfSkoKXx8Ry53YXJuKCJwdXJnZS1kZXByZWNhdGlvbiIsWyJUaGUgYHB1cmdlYC9gY29udGVudGAgb3B0aW9ucyBoYXZlIGNoYW5nZWQgaW4gVGFpbHdpbmQgQ1NTIHYzLjAuIiwiVXBkYXRlIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlIHRvIGVsaW1pbmF0ZSB0aGlzIHdhcm5pbmcuIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91cGdyYWRlLWd1aWRlI2NvbmZpZ3VyZS1jb250ZW50LXNvdXJjZXMiXSksci5zYWZlbGlzdD0oKCk9PntsZXR7Y29udGVudDp0LHB1cmdlOmksc2FmZWxpc3Q6bn09cjtyZXR1cm4gQXJyYXkuaXNBcnJheShuKT9uOkFycmF5LmlzQXJyYXkodD8uc2FmZWxpc3QpP3Quc2FmZWxpc3Q6QXJyYXkuaXNBcnJheShpPy5zYWZlbGlzdCk/aS5zYWZlbGlzdDpBcnJheS5pc0FycmF5KGk/Lm9wdGlvbnM/LnNhZmVsaXN0KT9pLm9wdGlvbnMuc2FmZWxpc3Q6W119KSgpLHIuYmxvY2tsaXN0PSgoKT0+e2xldHtibG9ja2xpc3Q6dH09cjtpZihBcnJheS5pc0FycmF5KHQpKXtpZih0LmV2ZXJ5KGk9PnR5cGVvZiBpPT0ic3RyaW5nIikpcmV0dXJuIHQ7Ry53YXJuKCJibG9ja2xpc3QtaW52YWxpZCIsWyJUaGUgYGJsb2NrbGlzdGAgb3B0aW9uIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncy4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnQtY29uZmlndXJhdGlvbiNkaXNjYXJkaW5nLWNsYXNzZXMiXSl9cmV0dXJuW119KSgpLHR5cGVvZiByLnByZWZpeD09ImZ1bmN0aW9uIj8oRy53YXJuKCJwcmVmaXgtZnVuY3Rpb24iLFsiQXMgb2YgVGFpbHdpbmQgQ1NTIHYzLjAsIGBwcmVmaXhgIGNhbm5vdCBiZSBhIGZ1bmN0aW9uLiIsIlVwZGF0ZSBgcHJlZml4YCBpbiB5b3VyIGNvbmZpZ3VyYXRpb24gdG8gYmUgYSBzdHJpbmcgdG8gZWxpbWluYXRlIHRoaXMgd2FybmluZy4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3VwZ3JhZGUtZ3VpZGUjcHJlZml4LWNhbm5vdC1iZS1hLWZ1bmN0aW9uIl0pLHIucHJlZml4PSIiKTpyLnByZWZpeD1yLnByZWZpeD8/IiIsci5jb250ZW50PXtyZWxhdGl2ZTooKCk9PntsZXR7Y29udGVudDp0fT1yO3JldHVybiB0Py5yZWxhdGl2ZT90LnJlbGF0aXZlOndlKHIsInJlbGF0aXZlQ29udGVudFBhdGhzQnlEZWZhdWx0Iil9KSgpLGZpbGVzOigoKT0+e2xldHtjb250ZW50OnQscHVyZ2U6aX09cjtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT9pOkFycmF5LmlzQXJyYXkoaT8uY29udGVudCk/aS5jb250ZW50OkFycmF5LmlzQXJyYXkodCk/dDpBcnJheS5pc0FycmF5KHQ/LmNvbnRlbnQpP3QuY29udGVudDpBcnJheS5pc0FycmF5KHQ/LmZpbGVzKT90LmZpbGVzOltdfSkoKSxleHRyYWN0OigoKT0+e2xldCB0PSgoKT0+ci5wdXJnZT8uZXh0cmFjdD9yLnB1cmdlLmV4dHJhY3Q6ci5jb250ZW50Py5leHRyYWN0P3IuY29udGVudC5leHRyYWN0OnIucHVyZ2U/LmV4dHJhY3Q/LkRFRkFVTFQ/ci5wdXJnZS5leHRyYWN0LkRFRkFVTFQ6ci5jb250ZW50Py5leHRyYWN0Py5ERUZBVUxUP3IuY29udGVudC5leHRyYWN0LkRFRkFVTFQ6ci5wdXJnZT8ub3B0aW9ucz8uZXh0cmFjdG9ycz9yLnB1cmdlLm9wdGlvbnMuZXh0cmFjdG9yczpyLmNvbnRlbnQ/Lm9wdGlvbnM/LmV4dHJhY3RvcnM/ci5jb250ZW50Lm9wdGlvbnMuZXh0cmFjdG9yczp7fSkoKSxpPXt9LG49KCgpPT57aWYoci5wdXJnZT8ub3B0aW9ucz8uZGVmYXVsdEV4dHJhY3RvcilyZXR1cm4gci5wdXJnZS5vcHRpb25zLmRlZmF1bHRFeHRyYWN0b3I7aWYoci5jb250ZW50Py5vcHRpb25zPy5kZWZhdWx0RXh0cmFjdG9yKXJldHVybiByLmNvbnRlbnQub3B0aW9ucy5kZWZhdWx0RXh0cmFjdG9yfSkoKTtpZihuIT09dm9pZCAwJiYoaS5ERUZBVUxUPW4pLHR5cGVvZiB0PT0iZnVuY3Rpb24iKWkuREVGQVVMVD10O2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0e2V4dGVuc2lvbnM6cyxleHRyYWN0b3I6YX1vZiB0Pz9bXSlmb3IobGV0IG8gb2YgcylpW29dPWE7ZWxzZSB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZPYmplY3QuYXNzaWduKGksdCk7cmV0dXJuIGl9KSgpLHRyYW5zZm9ybTooKCk9PntsZXQgdD0oKCk9PnIucHVyZ2U/LnRyYW5zZm9ybT9yLnB1cmdlLnRyYW5zZm9ybTpyLmNvbnRlbnQ/LnRyYW5zZm9ybT9yLmNvbnRlbnQudHJhbnNmb3JtOnIucHVyZ2U/LnRyYW5zZm9ybT8uREVGQVVMVD9yLnB1cmdlLnRyYW5zZm9ybS5ERUZBVUxUOnIuY29udGVudD8udHJhbnNmb3JtPy5ERUZBVUxUP3IuY29udGVudC50cmFuc2Zvcm0uREVGQVVMVDp7fSkoKSxpPXt9O3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj9pLkRFRkFVTFQ9dDp0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZPYmplY3QuYXNzaWduKGksdCksaX0pKCl9O2ZvcihsZXQgdCBvZiByLmNvbnRlbnQuZmlsZXMpaWYodHlwZW9mIHQ9PSJzdHJpbmciJiYveyhbXixdKj8pfS9nLnRlc3QodCkpe0cud2FybigiaW52YWxpZC1nbG9iLWJyYWNlcyIsW2BUaGUgZ2xvYiBwYXR0ZXJuICR7enModCl9IGluIHlvdXIgVGFpbHdpbmQgQ1NTIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZC5gLGBVcGRhdGUgaXQgdG8gJHt6cyh0LnJlcGxhY2UoL3soW14sXSo/KX0vZywiJDEiKSl9IHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLmBdKTticmVha31yZXR1cm4gcn12YXIgSWY9UCgoKT0+e3UoKTtjdCgpO0JlKCl9KTtmdW5jdGlvbiBrZShyKXtpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocikhPT0iW29iamVjdCBPYmplY3RdIilyZXR1cm4hMTtsZXQgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocik7cmV0dXJuIGU9PT1udWxsfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsfXZhciBLdD1QKCgpPT57dSgpfSk7ZnVuY3Rpb24gU3Qocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5tYXAoZT0+U3QoZSkpOnR5cGVvZiByPT0ib2JqZWN0IiYmciE9PW51bGw/T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHIpLm1hcCgoW2UsdF0pPT5bZSxTdCh0KV0pKTpyfXZhciBYaT1QKCgpPT57dSgpfSk7ZnVuY3Rpb24ganQocil7cmV0dXJuIHIucmVwbGFjZSgvXFwsL2csIlxcMmMgIil9dmFyIFppPVAoKCk9Pnt1KCl9KTt2YXIgV3MsRGY9UCgoKT0+e3UoKTtXcz17YWxpY2VibHVlOlsyNDAsMjQ4LDI1NV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNV0sYXF1YTpbMCwyNTUsMjU1XSxhcXVhbWFyaW5lOlsxMjcsMjU1LDIxMl0sYXp1cmU6WzI0MCwyNTUsMjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJpc3F1ZTpbMjU1LDIyOCwxOTZdLGJsYWNrOlswLDAsMF0sYmxhbmNoZWRhbG1vbmQ6WzI1NSwyMzUsMjA1XSxibHVlOlswLDAsMjU1XSxibHVldmlvbGV0OlsxMzgsNDMsMjI2XSxicm93bjpbMTY1LDQyLDQyXSxidXJseXdvb2Q6WzIyMiwxODQsMTM1XSxjYWRldGJsdWU6Wzk1LDE1OCwxNjBdLGNoYXJ0cmV1c2U6WzEyNywyNTUsMF0sY2hvY29sYXRlOlsyMTAsMTA1LDMwXSxjb3JhbDpbMjU1LDEyNyw4MF0sY29ybmZsb3dlcmJsdWU6WzEwMCwxNDksMjM3XSxjb3Juc2lsazpbMjU1LDI0OCwyMjBdLGNyaW1zb246WzIyMCwyMCw2MF0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dvbGRlbnJvZDpbMTg0LDEzNCwxMV0sZGFya2dyYXk6WzE2OSwxNjksMTY5XSxkYXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6WzEzOSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpbMjU1LDE0MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzksMCwwXSxkYXJrc2FsbW9uOlsyMzMsMTUwLDEyMl0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0M10sZGFya3NsYXRlYmx1ZTpbNzIsNjEsMTM5XSxkYXJrc2xhdGVncmF5Ols0Nyw3OSw3OV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzldLGRhcmt0dXJxdW9pc2U6WzAsMjA2LDIwOV0sZGFya3Zpb2xldDpbMTQ4LDAsMjExXSxkZWVwcGluazpbMjU1LDIwLDE0N10sZGVlcHNreWJsdWU6WzAsMTkxLDI1NV0sZGltZ3JheTpbMTA1LDEwNSwxMDVdLGRpbWdyZXk6WzEwNSwxMDUsMTA1XSxkb2RnZXJibHVlOlszMCwxNDQsMjU1XSxmaXJlYnJpY2s6WzE3OCwzNCwzNF0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwXSxmb3Jlc3RncmVlbjpbMzQsMTM5LDM0XSxmdWNoc2lhOlsyNTUsMCwyNTVdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjBdLGdob3N0d2hpdGU6WzI0OCwyNDgsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMl0sZ3JheTpbMTI4LDEyOCwxMjhdLGdyZWVuOlswLDEyOCwwXSxncmVlbnllbGxvdzpbMTczLDI1NSw0N10sZ3JleTpbMTI4LDEyOCwxMjhdLGhvbmV5ZGV3OlsyNDAsMjU1LDI0MF0saG90cGluazpbMjU1LDEwNSwxODBdLGluZGlhbnJlZDpbMjA1LDkyLDkyXSxpbmRpZ286Wzc1LDAsMTMwXSxpdm9yeTpbMjU1LDI1NSwyNDBdLGtoYWtpOlsyNDAsMjMwLDE0MF0sbGF2ZW5kZXI6WzIzMCwyMzAsMjUwXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NV0sbGF3bmdyZWVuOlsxMjQsMjUyLDBdLGxlbW9uY2hpZmZvbjpbMjU1LDI1MCwyMDVdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y29yYWw6WzI0MCwxMjgsMTI4XSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTBdLGxpZ2h0Z3JheTpbMjExLDIxMSwyMTFdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHNhbG1vbjpbMjU1LDE2MCwxMjJdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzBdLGxpZ2h0c2t5Ymx1ZTpbMTM1LDIwNiwyNTBdLGxpZ2h0c2xhdGVncmF5OlsxMTksMTM2LDE1M10sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzXSxsaWdodHN0ZWVsYmx1ZTpbMTc2LDE5NiwyMjJdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbGltZWdyZWVuOls1MCwyMDUsNTBdLGxpbmVuOlsyNTAsMjQwLDIzMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG1lZGl1bWFxdWFtYXJpbmU6WzEwMiwyMDUsMTcwXSxtZWRpdW1ibHVlOlswLDAsMjA1XSxtZWRpdW1vcmNoaWQ6WzE4Niw4NSwyMTFdLG1lZGl1bXB1cnBsZTpbMTQ3LDExMiwyMTldLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzXSxtZWRpdW1zbGF0ZWJsdWU6WzEyMywxMDQsMjM4XSxtZWRpdW1zcHJpbmdncmVlbjpbMCwyNTAsMTU0XSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDRdLG1lZGl1bXZpb2xldHJlZDpbMTk5LDIxLDEzM10sbWlkbmlnaHRibHVlOlsyNSwyNSwxMTJdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTBdLG1pc3R5cm9zZTpbMjU1LDIyOCwyMjVdLG1vY2Nhc2luOlsyNTUsMjI4LDE4MV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczXSxuYXZ5OlswLDAsMTI4XSxvbGRsYWNlOlsyNTMsMjQ1LDIzMF0sb2xpdmU6WzEyOCwxMjgsMF0sb2xpdmVkcmFiOlsxMDcsMTQyLDM1XSxvcmFuZ2U6WzI1NSwxNjUsMF0sb3JhbmdlcmVkOlsyNTUsNjksMF0sb3JjaGlkOlsyMTgsMTEyLDIxNF0scGFsZWdvbGRlbnJvZDpbMjM4LDIzMiwxNzBdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTJdLHBhbGV0dXJxdW9pc2U6WzE3NSwyMzgsMjM4XSxwYWxldmlvbGV0cmVkOlsyMTksMTEyLDE0N10scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTNdLHBlYWNocHVmZjpbMjU1LDIxOCwxODVdLHBlcnU6WzIwNSwxMzMsNjNdLHBpbms6WzI1NSwxOTIsMjAzXSxwbHVtOlsyMjEsMTYwLDIyMV0scG93ZGVyYmx1ZTpbMTc2LDIyNCwyMzBdLHB1cnBsZTpbMTI4LDAsMTI4XSxyZWJlY2NhcHVycGxlOlsxMDIsNTEsMTUzXSxyZWQ6WzI1NSwwLDBdLHJvc3licm93bjpbMTg4LDE0MywxNDNdLHJveWFsYmx1ZTpbNjUsMTA1LDIyNV0sc2FkZGxlYnJvd246WzEzOSw2OSwxOV0sc2FsbW9uOlsyNTAsMTI4LDExNF0sc2FuZHlicm93bjpbMjQ0LDE2NCw5Nl0sc2VhZ3JlZW46WzQ2LDEzOSw4N10sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4XSxzaWVubmE6WzE2MCw4Miw0NV0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzVdLHNsYXRlYmx1ZTpbMTA2LDkwLDIwNV0sc2xhdGVncmF5OlsxMTIsMTI4LDE0NF0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NF0sc25vdzpbMjU1LDI1MCwyNTBdLHNwcmluZ2dyZWVuOlswLDI1NSwxMjddLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MF0sdGFuOlsyMTAsMTgwLDE0MF0sdGVhbDpbMCwxMjgsMTI4XSx0aGlzdGxlOlsyMTYsMTkxLDIxNl0sdG9tYXRvOlsyNTUsOTksNzFdLHR1cnF1b2lzZTpbNjQsMjI0LDIwOF0sdmlvbGV0OlsyMzgsMTMwLDIzOF0sd2hlYXQ6WzI0NSwyMjIsMTc5XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1XSx5ZWxsb3c6WzI1NSwyNTUsMF0seWVsbG93Z3JlZW46WzE1NCwyMDUsNTBdfX0pO2Z1bmN0aW9uICRyKHIse2xvb3NlOmU9ITF9PXt9KXtpZih0eXBlb2YgciE9InN0cmluZyIpcmV0dXJuIG51bGw7aWYocj1yLnRyaW0oKSxyPT09InRyYW5zcGFyZW50IilyZXR1cm57bW9kZToicmdiIixjb2xvcjpbIjAiLCIwIiwiMCJdLGFscGhhOiIwIn07aWYociBpbiBXcylyZXR1cm57bW9kZToicmdiIixjb2xvcjpXc1tyXS5tYXAocz0+cy50b1N0cmluZygpKX07bGV0IHQ9ci5yZXBsYWNlKHp2LChzLGEsbyxsLGMpPT5bIiMiLGEsYSxvLG8sbCxsLGM/YytjOiIiXS5qb2luKCIiKSkubWF0Y2goanYpO2lmKHQhPT1udWxsKXJldHVybnttb2RlOiJyZ2IiLGNvbG9yOltwYXJzZUludCh0WzFdLDE2KSxwYXJzZUludCh0WzJdLDE2KSxwYXJzZUludCh0WzNdLDE2KV0ubWFwKHM9PnMudG9TdHJpbmcoKSksYWxwaGE6dFs0XT8ocGFyc2VJbnQodFs0XSwxNikvMjU1KS50b1N0cmluZygpOnZvaWQgMH07bGV0IGk9ci5tYXRjaChVdik/P3IubWF0Y2goVnYpO2lmKGk9PT1udWxsKXJldHVybiBudWxsO2xldCBuPVtpWzJdLGlbM10saVs0XV0uZmlsdGVyKEJvb2xlYW4pLm1hcChzPT5zLnRvU3RyaW5nKCkpO3JldHVybiBuLmxlbmd0aD09PTImJm5bMF0uc3RhcnRzV2l0aCgidmFyKCIpP3ttb2RlOmlbMV0sY29sb3I6W25bMF1dLGFscGhhOm5bMV19OiFlJiZuLmxlbmd0aCE9PTN8fG4ubGVuZ3RoPDMmJiFuLnNvbWUocz0+L152YXJcKC4qP1wpJC8udGVzdChzKSk/bnVsbDp7bW9kZTppWzFdLGNvbG9yOm4sYWxwaGE6aVs1XT8udG9TdHJpbmc/LigpfX1mdW5jdGlvbiBHcyh7bW9kZTpyLGNvbG9yOmUsYWxwaGE6dH0pe2xldCBpPXQhPT12b2lkIDA7cmV0dXJuIHI9PT0icmdiYSJ8fHI9PT0iaHNsYSI/YCR7cn0oJHtlLmpvaW4oIiwgIil9JHtpP2AsICR7dH1gOiIifSlgOmAke3J9KCR7ZS5qb2luKCIgIil9JHtpP2AgLyAke3R9YDoiIn0pYH12YXIganYsenYsQXQsSmkscWYsQ3QsVXYsVnYsUXM9UCgoKT0+e3UoKTtEZigpO2p2PS9eIyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KT8kL2ksenY9L14jKFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pPyQvaSxBdD0vKD86XGQrfFxkKlwuXGQrKSU/LyxKaT0vKD86XHMqLFxzKnxccyspLyxxZj0vXHMqWywvXVxzKi8sQ3Q9L3ZhclwoLS0oPzpbXiApXSo/KSg/OiwoPzpbXiApXSo/fHZhclwoLS1bXiApXSo/XCkpKT9cKS8sVXY9bmV3IFJlZ0V4cChgXihyZ2JhPylcXChcXHMqKCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKD86JHtKaS5zb3VyY2V9KCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKT8oPzoke0ppLnNvdXJjZX0oJHtBdC5zb3VyY2V9fCR7Q3Quc291cmNlfSkpPyg/OiR7cWYuc291cmNlfSgke0F0LnNvdXJjZX18JHtDdC5zb3VyY2V9KSk/XFxzKlxcKSRgKSxWdj1uZXcgUmVnRXhwKGBeKGhzbGE/KVxcKFxccyooKD86JHtBdC5zb3VyY2V9KSg/OmRlZ3xyYWR8Z3JhZHx0dXJuKT98JHtDdC5zb3VyY2V9KSg/OiR7Smkuc291cmNlfSgke0F0LnNvdXJjZX18JHtDdC5zb3VyY2V9KSk/KD86JHtKaS5zb3VyY2V9KCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKT8oPzoke3FmLnNvdXJjZX0oJHtBdC5zb3VyY2V9fCR7Q3Quc291cmNlfSkpP1xccypcXCkkYCl9KTtmdW5jdGlvbiBKZShyLGUsdCl7aWYodHlwZW9mIHI9PSJmdW5jdGlvbiIpcmV0dXJuIHIoe29wYWNpdHlWYWx1ZTplfSk7bGV0IGk9JHIocix7bG9vc2U6ITB9KTtyZXR1cm4gaT09PW51bGw/dDpHcyh7Li4uaSxhbHBoYTplfSl9ZnVuY3Rpb24gQWUoe2NvbG9yOnIscHJvcGVydHk6ZSx2YXJpYWJsZTp0fSl7bGV0IGk9W10uY29uY2F0KGUpO2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXJldHVybntbdF06IjEiLC4uLk9iamVjdC5mcm9tRW50cmllcyhpLm1hcChzPT5bcyxyKHtvcGFjaXR5VmFyaWFibGU6dCxvcGFjaXR5VmFsdWU6YHZhcigke3R9LCAxKWB9KV0pKX07bGV0IG49JHIocik7cmV0dXJuIG49PT1udWxsP09iamVjdC5mcm9tRW50cmllcyhpLm1hcChzPT5bcyxyXSkpOm4uYWxwaGEhPT12b2lkIDA/T2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKHM9PltzLHJdKSk6e1t0XToiMSIsLi4uT2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKHM9PltzLEdzKHsuLi5uLGFscGhhOmB2YXIoJHt0fSwgMSlgfSldKSl9fXZhciBMcj1QKCgpPT57dSgpO1FzKCl9KTtmdW5jdGlvbiB2ZShyLGUpe2xldCB0PVtdLGk9W10sbj0wLHM9ITE7Zm9yKGxldCBhPTA7YTxyLmxlbmd0aDthKyspe2xldCBvPXJbYV07dC5sZW5ndGg9PT0wJiZvPT09ZVswXSYmIXMmJihlLmxlbmd0aD09PTF8fHIuc2xpY2UoYSxhK2UubGVuZ3RoKT09PWUpJiYoaS5wdXNoKHIuc2xpY2UobixhKSksbj1hK2UubGVuZ3RoKSxzPXM/ITE6bz09PSJcXCIsbz09PSIoInx8bz09PSJbInx8bz09PSJ7Ij90LnB1c2gobyk6KG89PT0iKSImJnRbdC5sZW5ndGgtMV09PT0iKCJ8fG89PT0iXSImJnRbdC5sZW5ndGgtMV09PT0iWyJ8fG89PT0ifSImJnRbdC5sZW5ndGgtMV09PT0ieyIpJiZ0LnBvcCgpfXJldHVybiBpLnB1c2goci5zbGljZShuKSksaX12YXIgenQ9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIGVuKHIpe3JldHVybiB2ZShyLCIsIikubWFwKHQ9PntsZXQgaT10LnRyaW0oKSxuPXtyYXc6aX0scz1pLnNwbGl0KFd2KSxhPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHMpJGYubGFzdEluZGV4PTAsIWEuaGFzKCJLRVlXT1JEIikmJkh2LmhhcyhvKT8obi5rZXl3b3JkPW8sYS5hZGQoIktFWVdPUkQiKSk6JGYudGVzdChvKT9hLmhhcygiWCIpP2EuaGFzKCJZIik/YS5oYXMoIkJMVVIiKT9hLmhhcygiU1BSRUFEIil8fChuLnNwcmVhZD1vLGEuYWRkKCJTUFJFQUQiKSk6KG4uYmx1cj1vLGEuYWRkKCJCTFVSIikpOihuLnk9byxhLmFkZCgiWSIpKToobi54PW8sYS5hZGQoIlgiKSk6bi5jb2xvcj8obi51bmtub3dufHwobi51bmtub3duPVtdKSxuLnVua25vd24ucHVzaChvKSk6bi5jb2xvcj1vO3JldHVybiBuLnZhbGlkPW4ueCE9PXZvaWQgMCYmbi55IT09dm9pZCAwLG59KX1mdW5jdGlvbiBMZihyKXtyZXR1cm4gci5tYXAoZT0+ZS52YWxpZD9bZS5rZXl3b3JkLGUueCxlLnksZS5ibHVyLGUuc3ByZWFkLGUuY29sb3JdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIik6ZS5yYXcpLmpvaW4oIiwgIil9dmFyIEh2LFd2LCRmLFlzPVAoKCk9Pnt1KCk7enQoKTtIdj1uZXcgU2V0KFsiaW5zZXQiLCJpbmhlcml0IiwiaW5pdGlhbCIsInJldmVydCIsInVuc2V0Il0pLFd2PS9cICsoPyFbXihdKlwpKS9nLCRmPS9eLT8oXGQrfFwuXGQrKSguKj8pJC9nfSk7ZnVuY3Rpb24gS3Mocil7cmV0dXJuIEd2LnNvbWUoZT0+bmV3IFJlZ0V4cChgXiR7ZX1cXCguKlxcKWApLnRlc3QocikpfWZ1bmN0aW9uIEsocixlPW51bGwsdD0hMCl7bGV0IGk9ZSYmUXYuaGFzKGUucHJvcGVydHkpO3JldHVybiByLnN0YXJ0c1dpdGgoIi0tIikmJiFpP2B2YXIoJHtyfSlgOnIuaW5jbHVkZXMoInVybCgiKT9yLnNwbGl0KC8odXJsXCguKj9cKSkvZykuZmlsdGVyKEJvb2xlYW4pLm1hcChuPT4vXnVybFwoLio/XCkkLy50ZXN0KG4pP246SyhuLGUsITEpKS5qb2luKCIiKToocj1yLnJlcGxhY2UoLyhbXlxcXSlfKy9nLChuLHMpPT5zKyIgIi5yZXBlYXQobi5sZW5ndGgtMSkpLnJlcGxhY2UoL15fL2csIiAiKS5yZXBsYWNlKC9cXF8vZywiXyIpLHQmJihyPXIudHJpbSgpKSxyPVl2KHIpLHIpfWZ1bmN0aW9uIFllKHIpe3JldHVybiByLmluY2x1ZGVzKCI9IikmJihyPXIucmVwbGFjZSgvKD0uKikvZywoZSx0KT0+e2lmKHRbMV09PT0iJyJ8fHRbMV09PT0nIicpcmV0dXJuIHQ7aWYodC5sZW5ndGg+Mil7bGV0IGk9dFt0Lmxlbmd0aC0xXTtpZih0W3QubGVuZ3RoLTJdPT09IiAiJiYoaT09PSJpInx8aT09PSJJInx8aT09PSJzInx8aT09PSJTIikpcmV0dXJuYD0iJHt0LnNsaWNlKDEsLTIpfSIgJHt0W3QubGVuZ3RoLTFdfWB9cmV0dXJuYD0iJHt0LnNsaWNlKDEpfSJgfSkpLHJ9ZnVuY3Rpb24gWXYocil7bGV0IGU9WyJ0aGVtZSJdLHQ9WyJtaW4tY29udGVudCIsIm1heC1jb250ZW50IiwiZml0LWNvbnRlbnQiLCJzYWZlLWFyZWEtaW5zZXQtdG9wIiwic2FmZS1hcmVhLWluc2V0LXJpZ2h0Iiwic2FmZS1hcmVhLWluc2V0LWJvdHRvbSIsInNhZmUtYXJlYS1pbnNldC1sZWZ0IiwidGl0bGViYXItYXJlYS14IiwidGl0bGViYXItYXJlYS15IiwidGl0bGViYXItYXJlYS13aWR0aCIsInRpdGxlYmFyLWFyZWEtaGVpZ2h0Iiwia2V5Ym9hcmQtaW5zZXQtdG9wIiwia2V5Ym9hcmQtaW5zZXQtcmlnaHQiLCJrZXlib2FyZC1pbnNldC1ib3R0b20iLCJrZXlib2FyZC1pbnNldC1sZWZ0Iiwia2V5Ym9hcmQtaW5zZXQtd2lkdGgiLCJrZXlib2FyZC1pbnNldC1oZWlnaHQiLCJyYWRpYWwtZ3JhZGllbnQiLCJsaW5lYXItZ3JhZGllbnQiLCJjb25pYy1ncmFkaWVudCIsInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQiLCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50IiwicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50IiwiYW5jaG9yLXNpemUiXTtyZXR1cm4gci5yZXBsYWNlKC8oY2FsY3xtaW58bWF4fGNsYW1wKVwoLitcKS9nLGk9PntsZXQgbj0iIjtmdW5jdGlvbiBzKCl7bGV0IGE9bi50cmltRW5kKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV19Zm9yKGxldCBhPTA7YTxpLmxlbmd0aDthKyspe2xldCBvPWZ1bmN0aW9uKGYpe3JldHVybiBmLnNwbGl0KCIiKS5ldmVyeSgoZCxwKT0+aVthK3BdPT09ZCl9LGw9ZnVuY3Rpb24oZil7bGV0IGQ9MS8wO2ZvcihsZXQgaCBvZiBmKXtsZXQgYj1pLmluZGV4T2YoaCxhKTtiIT09LTEmJmI8ZCYmKGQ9Yil9bGV0IHA9aS5zbGljZShhLGQpO3JldHVybiBhKz1wLmxlbmd0aC0xLHB9LGM9aVthXTtpZihvKCJ2YXIiKSluKz1sKFsiKSIsIiwiXSk7ZWxzZSBpZih0LnNvbWUoZj0+byhmKSkpe2xldCBmPXQuZmluZChkPT5vKGQpKTtuKz1mLGErPWYubGVuZ3RoLTF9ZWxzZSBlLnNvbWUoZj0+byhmKSk/bis9bChbIikiXSk6bygiWyIpP24rPWwoWyJdIl0pOlsiKyIsIi0iLCIqIiwiLyJdLmluY2x1ZGVzKGMpJiYhWyIoIiwiKyIsIi0iLCIqIiwiLyIsIiwiXS5pbmNsdWRlcyhzKCkpP24rPWAgJHtjfSBgOm4rPWN9cmV0dXJuIG4ucmVwbGFjZSgvXHMrL2csIiAiKX0pfWZ1bmN0aW9uIFhzKHIpe3JldHVybiByLnN0YXJ0c1dpdGgoInVybCgiKX1mdW5jdGlvbiBacyhyKXtyZXR1cm4haXNOYU4oTnVtYmVyKHIpKXx8S3Mocil9ZnVuY3Rpb24gTXIocil7cmV0dXJuIHIuZW5kc1dpdGgoIiUiKSYmWnMoci5zbGljZSgwLC0xKSl8fEtzKHIpfWZ1bmN0aW9uIE5yKHIpe3JldHVybiByPT09IjAifHxuZXcgUmVnRXhwKGBeWystXT9bMC05XSouP1swLTldKyg/OltlRV1bKy1dP1swLTldKyk/JHtYdn0kYCkudGVzdChyKXx8S3Mocil9ZnVuY3Rpb24gTWYocil7cmV0dXJuIFp2LmhhcyhyKX1mdW5jdGlvbiBOZihyKXtsZXQgZT1lbihLKHIpKTtmb3IobGV0IHQgb2YgZSlpZighdC52YWxpZClyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBCZihyKXtsZXQgZT0wO3JldHVybiB2ZShyLCJfIikuZXZlcnkoaT0+KGk9SyhpKSxpLnN0YXJ0c1dpdGgoInZhcigiKT8hMDokcihpLHtsb29zZTohMH0pIT09bnVsbD8oZSsrLCEwKTohMSkpP2U+MDohMX1mdW5jdGlvbiBGZihyKXtsZXQgZT0wO3JldHVybiB2ZShyLCIsIikuZXZlcnkoaT0+KGk9SyhpKSxpLnN0YXJ0c1dpdGgoInZhcigiKT8hMDpYcyhpKXx8ZXgoaSl8fFsiZWxlbWVudCgiLCJpbWFnZSgiLCJjcm9zcy1mYWRlKCIsImltYWdlLXNldCgiXS5zb21lKG49Pmkuc3RhcnRzV2l0aChuKSk/KGUrKywhMCk6ITEpKT9lPjA6ITF9ZnVuY3Rpb24gZXgocil7cj1LKHIpO2ZvcihsZXQgZSBvZiBKdilpZihyLnN0YXJ0c1dpdGgoYCR7ZX0oYCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gamYocil7bGV0IGU9MDtyZXR1cm4gdmUociwiXyIpLmV2ZXJ5KGk9PihpPUsoaSksaS5zdGFydHNXaXRoKCJ2YXIoIik/ITA6dHguaGFzKGkpfHxOcihpKXx8TXIoaSk/KGUrKywhMCk6ITEpKT9lPjA6ITF9ZnVuY3Rpb24gemYocil7bGV0IGU9MDtyZXR1cm4gdmUociwiLCIpLmV2ZXJ5KGk9PihpPUsoaSksaS5zdGFydHNXaXRoKCJ2YXIoIik/ITA6aS5pbmNsdWRlcygiICIpJiYhLyhbJyJdKShbXiInXSspXDEvZy50ZXN0KGkpfHwvXlxkL2cudGVzdChpKT8hMTooZSsrLCEwKSkpP2U+MDohMX1mdW5jdGlvbiBVZihyKXtyZXR1cm4gcnguaGFzKHIpfWZ1bmN0aW9uIFZmKHIpe3JldHVybiBpeC5oYXMocil9ZnVuY3Rpb24gSGYocil7cmV0dXJuIG54LmhhcyhyKX12YXIgR3YsUXYsS3YsWHYsWnYsSnYsdHgscngsaXgsbngsQnI9UCgoKT0+e3UoKTtRcygpO1lzKCk7enQoKTtHdj1bIm1pbiIsIm1heCIsImNsYW1wIiwiY2FsYyJdO1F2PW5ldyBTZXQoWyJzY3JvbGwtdGltZWxpbmUtbmFtZSIsInRpbWVsaW5lLXNjb3BlIiwidmlldy10aW1lbGluZS1uYW1lIiwiZm9udC1wYWxldHRlIiwiYW5jaG9yLW5hbWUiLCJhbmNob3Itc2NvcGUiLCJwb3NpdGlvbi1hbmNob3IiLCJwb3NpdGlvbi10cnktb3B0aW9ucyIsInNjcm9sbC10aW1lbGluZSIsImFuaW1hdGlvbi10aW1lbGluZSIsInZpZXctdGltZWxpbmUiLCJwb3NpdGlvbi10cnkiXSk7S3Y9WyJjbSIsIm1tIiwiUSIsImluIiwicGMiLCJwdCIsInB4IiwiZW0iLCJleCIsImNoIiwicmVtIiwibGgiLCJybGgiLCJ2dyIsInZoIiwidm1pbiIsInZtYXgiLCJ2YiIsInZpIiwic3Z3Iiwic3ZoIiwibHZ3IiwibHZoIiwiZHZ3IiwiZHZoIiwiY3F3IiwiY3FoIiwiY3FpIiwiY3FiIiwiY3FtaW4iLCJjcW1heCJdLFh2PWAoPzoke0t2LmpvaW4oInwiKX0pYDtadj1uZXcgU2V0KFsidGhpbiIsIm1lZGl1bSIsInRoaWNrIl0pO0p2PW5ldyBTZXQoWyJjb25pYy1ncmFkaWVudCIsImxpbmVhci1ncmFkaWVudCIsInJhZGlhbC1ncmFkaWVudCIsInJlcGVhdGluZy1jb25pYy1ncmFkaWVudCIsInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50Il0pO3R4PW5ldyBTZXQoWyJjZW50ZXIiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXSk7cng9bmV3IFNldChbInNlcmlmIiwic2Fucy1zZXJpZiIsIm1vbm9zcGFjZSIsImN1cnNpdmUiLCJmYW50YXN5Iiwic3lzdGVtLXVpIiwidWktc2VyaWYiLCJ1aS1zYW5zLXNlcmlmIiwidWktbW9ub3NwYWNlIiwidWktcm91bmRlZCIsIm1hdGgiLCJlbW9qaSIsImZhbmdzb25nIl0pO2l4PW5ldyBTZXQoWyJ4eC1zbWFsbCIsIngtc21hbGwiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwieC1sYXJnZSIsInh4LWxhcmdlIiwieHh4LWxhcmdlIl0pO254PW5ldyBTZXQoWyJsYXJnZXIiLCJzbWFsbGVyIl0pfSk7ZnVuY3Rpb24gV2Yocil7bGV0IGU9WyJjb3ZlciIsImNvbnRhaW4iXTtyZXR1cm4gdmUociwiLCIpLmV2ZXJ5KHQ9PntsZXQgaT12ZSh0LCJfIikuZmlsdGVyKEJvb2xlYW4pO3JldHVybiBpLmxlbmd0aD09PTEmJmUuaW5jbHVkZXMoaVswXSk/ITA6aS5sZW5ndGghPT0xJiZpLmxlbmd0aCE9PTI/ITE6aS5ldmVyeShuPT5OcihuKXx8TXIobil8fG49PT0iYXV0byIpfSl9dmFyIEdmPVAoKCk9Pnt1KCk7QnIoKTt6dCgpfSk7ZnVuY3Rpb24gUWYocixlKXtyLndhbGtDbGFzc2VzKHQ9Pnt0LnZhbHVlPWUodC52YWx1ZSksdC5yYXdzJiZ0LnJhd3MudmFsdWUmJih0LnJhd3MudmFsdWU9anQodC5yYXdzLnZhbHVlKSl9KX1mdW5jdGlvbiBZZihyLGUpe2lmKCFfdChyKSlyZXR1cm47bGV0IHQ9ci5zbGljZSgxLC0xKTtpZighIWUodCkpcmV0dXJuIEsodCl9ZnVuY3Rpb24gc3gocixlPXt9LHQpe2xldCBpPWVbcl07aWYoaSE9PXZvaWQgMClyZXR1cm4geHQoaSk7aWYoX3Qocikpe2xldCBuPVlmKHIsdCk7cmV0dXJuIG49PT12b2lkIDA/dm9pZCAwOnh0KG4pfX1mdW5jdGlvbiB0bihyLGU9e30se3ZhbGlkYXRlOnQ9KCk9PiEwfT17fSl7bGV0IGk9ZS52YWx1ZXM/LltyXTtyZXR1cm4gaSE9PXZvaWQgMD9pOmUuc3VwcG9ydHNOZWdhdGl2ZVZhbHVlcyYmci5zdGFydHNXaXRoKCItIik/c3goci5zbGljZSgxKSxlLnZhbHVlcyx0KTpZZihyLHQpfWZ1bmN0aW9uIF90KHIpe3JldHVybiByLnN0YXJ0c1dpdGgoIlsiKSYmci5lbmRzV2l0aCgiXSIpfWZ1bmN0aW9uIEtmKHIpe2xldCBlPXIubGFzdEluZGV4T2YoIi8iKSx0PXIubGFzdEluZGV4T2YoIlsiLGUpLGk9ci5pbmRleE9mKCJdIixlKTtyZXR1cm4gcltlLTFdPT09Il0ifHxyW2UrMV09PT0iWyJ8fHQhPT0tMSYmaSE9PS0xJiZ0PGUmJmU8aSYmKGU9ci5sYXN0SW5kZXhPZigiLyIsdCkpLGU9PT0tMXx8ZT09PXIubGVuZ3RoLTE/W3Isdm9pZCAwXTpfdChyKSYmIXIuaW5jbHVkZXMoIl0vWyIpP1tyLHZvaWQgMF06W3Iuc2xpY2UoMCxlKSxyLnNsaWNlKGUrMSldfWZ1bmN0aW9uIFh0KHIpe2lmKHR5cGVvZiByPT0ic3RyaW5nIiYmci5pbmNsdWRlcygiPGFscGhhLXZhbHVlPiIpKXtsZXQgZT1yO3JldHVybih7b3BhY2l0eVZhbHVlOnQ9MX0pPT5lLnJlcGxhY2UoLzxhbHBoYS12YWx1ZT4vZyx0KX1yZXR1cm4gcn1mdW5jdGlvbiBYZihyKXtyZXR1cm4gSyhyLnNsaWNlKDEsLTEpKX1mdW5jdGlvbiBheChyLGU9e30se3RhaWx3aW5kQ29uZmlnOnQ9e319PXt9KXtpZihlLnZhbHVlcz8uW3JdIT09dm9pZCAwKXJldHVybiBYdChlLnZhbHVlcz8uW3JdKTtsZXRbaSxuXT1LZihyKTtpZihuIT09dm9pZCAwKXtsZXQgcz1lLnZhbHVlcz8uW2ldPz8oX3QoaSk/aS5zbGljZSgxLC0xKTp2b2lkIDApO3JldHVybiBzPT09dm9pZCAwP3ZvaWQgMDoocz1YdChzKSxfdChuKT9KZShzLFhmKG4pKTp0LnRoZW1lPy5vcGFjaXR5Py5bbl09PT12b2lkIDA/dm9pZCAwOkplKHMsdC50aGVtZS5vcGFjaXR5W25dKSl9cmV0dXJuIHRuKHIsZSx7dmFsaWRhdGU6QmZ9KX1mdW5jdGlvbiBveChyLGU9e30pe3JldHVybiBlLnZhbHVlcz8uW3JdfWZ1bmN0aW9uIHFlKHIpe3JldHVybihlLHQpPT50bihlLHQse3ZhbGlkYXRlOnJ9KX1mdW5jdGlvbiBseChyLGUpe2xldCB0PXIuaW5kZXhPZihlKTtyZXR1cm4gdD09PS0xP1t2b2lkIDAscl06W3Iuc2xpY2UoMCx0KSxyLnNsaWNlKHQrMSldfWZ1bmN0aW9uIGVhKHIsZSx0LGkpe2lmKHQudmFsdWVzJiZlIGluIHQudmFsdWVzKWZvcihsZXR7dHlwZTpzfW9mIHI/P1tdKXtsZXQgYT1Kc1tzXShlLHQse3RhaWx3aW5kQ29uZmlnOml9KTtpZihhIT09dm9pZCAwKXJldHVyblthLHMsbnVsbF19aWYoX3QoZSkpe2xldCBzPWUuc2xpY2UoMSwtMSksW2Esb109bHgocywiOiIpO2lmKCEvXltcdy1fXSskL2cudGVzdChhKSlvPXM7ZWxzZSBpZihhIT09dm9pZCAwJiYhWmYuaW5jbHVkZXMoYSkpcmV0dXJuW107aWYoby5sZW5ndGg+MCYmWmYuaW5jbHVkZXMoYSkpcmV0dXJuW3RuKGBbJHtvfV1gLHQpLGEsbnVsbF19bGV0IG49dGEocixlLHQsaSk7Zm9yKGxldCBzIG9mIG4pcmV0dXJuIHM7cmV0dXJuW119ZnVuY3Rpb24qdGEocixlLHQsaSl7bGV0IG49d2UoaSwiZ2VuZXJhbGl6ZWRNb2RpZmllcnMiKSxbcyxhXT1LZihlKTtpZihuJiZ0Lm1vZGlmaWVycyE9bnVsbCYmKHQubW9kaWZpZXJzPT09ImFueSJ8fHR5cGVvZiB0Lm1vZGlmaWVycz09Im9iamVjdCImJihhJiZfdChhKXx8YSBpbiB0Lm1vZGlmaWVycykpfHwocz1lLGE9dm9pZCAwKSxhIT09dm9pZCAwJiZzPT09IiImJihzPSJERUZBVUxUIiksYSE9PXZvaWQgMCYmdHlwZW9mIHQubW9kaWZpZXJzPT0ib2JqZWN0Iil7bGV0IGw9dC5tb2RpZmllcnM/LlthXT8/bnVsbDtsIT09bnVsbD9hPWw6X3QoYSkmJihhPVhmKGEpKX1mb3IobGV0e3R5cGU6bH1vZiByPz9bXSl7bGV0IGM9SnNbbF0ocyx0LHt0YWlsd2luZENvbmZpZzppfSk7YyE9PXZvaWQgMCYmKHlpZWxkW2MsbCxhPz9udWxsXSl9fXZhciBKcyxaZixGcj1QKCgpPT57dSgpO1ppKCk7THIoKTtCcigpO0dpKCk7R2YoKTtjdCgpO0pzPXthbnk6dG4sY29sb3I6YXgsdXJsOnFlKFhzKSxpbWFnZTpxZShGZiksbGVuZ3RoOnFlKE5yKSxwZXJjZW50YWdlOnFlKE1yKSxwb3NpdGlvbjpxZShqZiksbG9va3VwOm94LCJnZW5lcmljLW5hbWUiOnFlKFVmKSwiZmFtaWx5LW5hbWUiOnFlKHpmKSxudW1iZXI6cWUoWnMpLCJsaW5lLXdpZHRoIjpxZShNZiksImFic29sdXRlLXNpemUiOnFlKFZmKSwicmVsYXRpdmUtc2l6ZSI6cWUoSGYpLHNoYWRvdzpxZShOZiksc2l6ZTpxZShXZil9LFpmPU9iamVjdC5rZXlzKEpzKX0pO2Z1bmN0aW9uIFgocil7cmV0dXJuIHR5cGVvZiByPT0iZnVuY3Rpb24iP3Ioe30pOnJ9dmFyIHJhPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBadChyKXtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24ganIociwuLi5lKXtsZXQgdD1lLnBvcCgpO2ZvcihsZXQgaSBvZiBlKWZvcihsZXQgbiBpbiBpKXtsZXQgcz10KHJbbl0saVtuXSk7cz09PXZvaWQgMD9rZShyW25dKSYma2UoaVtuXSk/cltuXT1qcih7fSxyW25dLGlbbl0sdCk6cltuXT1pW25dOnJbbl09c31yZXR1cm4gcn1mdW5jdGlvbiB1eChyLC4uLmUpe3JldHVybiBadChyKT9yKC4uLmUpOnJ9ZnVuY3Rpb24gZngocil7cmV0dXJuIHIucmVkdWNlKChlLHtleHRlbmQ6dH0pPT5qcihlLHQsKGksbik9Pmk9PT12b2lkIDA/W25dOkFycmF5LmlzQXJyYXkoaSk/W24sLi4uaV06W24saV0pLHt9KX1mdW5jdGlvbiBjeChyKXtyZXR1cm57Li4uci5yZWR1Y2UoKGUsdCk9PkhzKGUsdCkse30pLGV4dGVuZDpmeChyKX19ZnVuY3Rpb24gSmYocixlKXtpZihBcnJheS5pc0FycmF5KHIpJiZrZShyWzBdKSlyZXR1cm4gci5jb25jYXQoZSk7aWYoQXJyYXkuaXNBcnJheShlKSYma2UoZVswXSkmJmtlKHIpKXJldHVybltyLC4uLmVdO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9ZnVuY3Rpb24gcHgoe2V4dGVuZDpyLC4uLmV9KXtyZXR1cm4ganIoZSxyLCh0LGkpPT4hWnQodCkmJiFpLnNvbWUoWnQpP2pyKHt9LHQsLi4uaSxKZik6KG4scyk9PmpyKHt9LC4uLlt0LC4uLmldLm1hcChhPT51eChhLG4scykpLEpmKSl9ZnVuY3Rpb24qZHgocil7bGV0IGU9a3Qocik7aWYoZS5sZW5ndGg9PT0wfHwoeWllbGQgZSxBcnJheS5pc0FycmF5KHIpKSlyZXR1cm47bGV0IHQ9L14oLio/KVxzKlwvXHMqKFteL10rKSQvLGk9ci5tYXRjaCh0KTtpZihpIT09bnVsbCl7bGV0WyxuLHNdPWksYT1rdChuKTthLmFscGhhPXMseWllbGQgYX19ZnVuY3Rpb24gaHgocil7bGV0IGU9KHQsaSk9Pntmb3IobGV0IG4gb2YgZHgodCkpe2xldCBzPTAsYT1yO2Zvcig7YSE9bnVsbCYmczxuLmxlbmd0aDspYT1hW25bcysrXV0sYT1adChhKSYmKG4uYWxwaGE9PT12b2lkIDB8fHM8PW4ubGVuZ3RoLTEpP2EoZSxpYSk6YTtpZihhIT09dm9pZCAwKXtpZihuLmFscGhhIT09dm9pZCAwKXtsZXQgbz1YdChhKTtyZXR1cm4gSmUobyxuLmFscGhhLFgobykpfXJldHVybiBrZShhKT9TdChhKTphfX1yZXR1cm4gaX07cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7dGhlbWU6ZSwuLi5pYX0pLE9iamVjdC5rZXlzKHIpLnJlZHVjZSgodCxpKT0+KHRbaV09WnQocltpXSk/cltpXShlLGlhKTpyW2ldLHQpLHt9KX1mdW5jdGlvbiBlYyhyKXtsZXQgZT1bXTtyZXR1cm4gci5mb3JFYWNoKHQ9PntlPVsuLi5lLHRdO2xldCBpPXQ/LnBsdWdpbnM/P1tdO2kubGVuZ3RoIT09MCYmaS5mb3JFYWNoKG49PntuLl9faXNPcHRpb25zRnVuY3Rpb24mJihuPW4oKSksZT1bLi4uZSwuLi5lYyhbbj8uY29uZmlnPz97fV0pXX0pfSksZX1mdW5jdGlvbiBteChyKXtyZXR1cm5bLi4ucl0ucmVkdWNlUmlnaHQoKHQsaSk9Plp0KGkpP2koe2NvcmVQbHVnaW5zOnR9KTprZihpLHQpLHZmKX1mdW5jdGlvbiBneChyKXtyZXR1cm5bLi4ucl0ucmVkdWNlUmlnaHQoKHQsaSk9PlsuLi50LC4uLmldLFtdKX1mdW5jdGlvbiBuYShyKXtsZXQgZT1bLi4uZWMocikse3ByZWZpeDoiIixpbXBvcnRhbnQ6ITEsc2VwYXJhdG9yOiI6In1dO3JldHVybiBQZihIcyh7dGhlbWU6aHgocHgoY3goZS5tYXAodD0+dD8udGhlbWU/P3t9KSkpKSxjb3JlUGx1Z2luczpteChlLm1hcCh0PT50LmNvcmVQbHVnaW5zKSkscGx1Z2luczpneChyLm1hcCh0PT50Py5wbHVnaW5zPz9bXSkpfSwuLi5lKSl9dmFyIGlhLHRjPVAoKCk9Pnt1KCk7R2koKTt4ZigpO1NmKCk7VnMoKTtFZigpO1lpKCk7SWYoKTtLdCgpO1hpKCk7RnIoKTtMcigpO3JhKCk7aWE9e2NvbG9yczpVcyxuZWdhdGl2ZShyKXtyZXR1cm4gT2JqZWN0LmtleXMocikuZmlsdGVyKGU9PnJbZV0hPT0iMCIpLnJlZHVjZSgoZSx0KT0+e2xldCBpPXh0KHJbdF0pO3JldHVybiBpIT09dm9pZCAwJiYoZVtgLSR7dH1gXT1pKSxlfSx7fSl9LGJyZWFrcG9pbnRzKHIpe3JldHVybiBPYmplY3Qua2V5cyhyKS5maWx0ZXIoZT0+dHlwZW9mIHJbZV09PSJzdHJpbmciKS5yZWR1Y2UoKGUsdCk9Pih7Li4uZSxbYHNjcmVlbi0ke3R9YF06clt0XX0pLHt9KX19fSk7dmFyIHJuPXgoKGYzLHJjKT0+e3UoKTtyYy5leHBvcnRzPXtjb250ZW50OltdLHByZXNldHM6W10sZGFya01vZGU6Im1lZGlhIix0aGVtZTp7YWNjZW50Q29sb3I6KHt0aGVtZTpyfSk9Pih7Li4ucigiY29sb3JzIiksYXV0bzoiYXV0byJ9KSxhbmltYXRpb246e25vbmU6Im5vbmUiLHNwaW46InNwaW4gMXMgbGluZWFyIGluZmluaXRlIixwaW5nOiJwaW5nIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGluZmluaXRlIixwdWxzZToicHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZSIsYm91bmNlOiJib3VuY2UgMXMgaW5maW5pdGUifSxhcmlhOntidXN5OididXN5PSJ0cnVlIicsY2hlY2tlZDonY2hlY2tlZD0idHJ1ZSInLGRpc2FibGVkOidkaXNhYmxlZD0idHJ1ZSInLGV4cGFuZGVkOidleHBhbmRlZD0idHJ1ZSInLGhpZGRlbjonaGlkZGVuPSJ0cnVlIicscHJlc3NlZDoncHJlc3NlZD0idHJ1ZSInLHJlYWRvbmx5OidyZWFkb25seT0idHJ1ZSInLHJlcXVpcmVkOidyZXF1aXJlZD0idHJ1ZSInLHNlbGVjdGVkOidzZWxlY3RlZD0idHJ1ZSInfSxhc3BlY3RSYXRpbzp7YXV0bzoiYXV0byIsc3F1YXJlOiIxIC8gMSIsdmlkZW86IjE2IC8gOSJ9LGJhY2tkcm9wQmx1cjooe3RoZW1lOnJ9KT0+cigiYmx1ciIpLGJhY2tkcm9wQnJpZ2h0bmVzczooe3RoZW1lOnJ9KT0+cigiYnJpZ2h0bmVzcyIpLGJhY2tkcm9wQ29udHJhc3Q6KHt0aGVtZTpyfSk9PnIoImNvbnRyYXN0IiksYmFja2Ryb3BHcmF5c2NhbGU6KHt0aGVtZTpyfSk9PnIoImdyYXlzY2FsZSIpLGJhY2tkcm9wSHVlUm90YXRlOih7dGhlbWU6cn0pPT5yKCJodWVSb3RhdGUiKSxiYWNrZHJvcEludmVydDooe3RoZW1lOnJ9KT0+cigiaW52ZXJ0IiksYmFja2Ryb3BPcGFjaXR5Oih7dGhlbWU6cn0pPT5yKCJvcGFjaXR5IiksYmFja2Ryb3BTYXR1cmF0ZTooe3RoZW1lOnJ9KT0+cigic2F0dXJhdGUiKSxiYWNrZHJvcFNlcGlhOih7dGhlbWU6cn0pPT5yKCJzZXBpYSIpLGJhY2tncm91bmRDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIiksYmFja2dyb3VuZEltYWdlOntub25lOiJub25lIiwiZ3JhZGllbnQtdG8tdCI6ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by10ciI6ImxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by1yIjoibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIiwiZ3JhZGllbnQtdG8tYnIiOiJsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIiwiZ3JhZGllbnQtdG8tYiI6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by1ibCI6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKSIsImdyYWRpZW50LXRvLWwiOiJsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKSIsImdyYWRpZW50LXRvLXRsIjoibGluZWFyLWdyYWRpZW50KHRvIHRvcCBsZWZ0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIn0sYmFja2dyb3VuZE9wYWNpdHk6KHt0aGVtZTpyfSk9PnIoIm9wYWNpdHkiKSxiYWNrZ3JvdW5kUG9zaXRpb246e2JvdHRvbToiYm90dG9tIixjZW50ZXI6ImNlbnRlciIsbGVmdDoibGVmdCIsImxlZnQtYm90dG9tIjoibGVmdCBib3R0b20iLCJsZWZ0LXRvcCI6ImxlZnQgdG9wIixyaWdodDoicmlnaHQiLCJyaWdodC1ib3R0b20iOiJyaWdodCBib3R0b20iLCJyaWdodC10b3AiOiJyaWdodCB0b3AiLHRvcDoidG9wIn0sYmFja2dyb3VuZFNpemU6e2F1dG86ImF1dG8iLGNvdmVyOiJjb3ZlciIsY29udGFpbjoiY29udGFpbiJ9LGJsdXI6ezA6IjAiLG5vbmU6IiIsc206IjRweCIsREVGQVVMVDoiOHB4IixtZDoiMTJweCIsbGc6IjE2cHgiLHhsOiIyNHB4IiwiMnhsIjoiNDBweCIsIjN4bCI6IjY0cHgifSxib3JkZXJDb2xvcjooe3RoZW1lOnJ9KT0+KHsuLi5yKCJjb2xvcnMiKSxERUZBVUxUOnIoImNvbG9ycy5ncmF5LjIwMCIsImN1cnJlbnRDb2xvciIpfSksYm9yZGVyT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigib3BhY2l0eSIpLGJvcmRlclJhZGl1czp7bm9uZToiMHB4IixzbToiMC4xMjVyZW0iLERFRkFVTFQ6IjAuMjVyZW0iLG1kOiIwLjM3NXJlbSIsbGc6IjAuNXJlbSIseGw6IjAuNzVyZW0iLCIyeGwiOiIxcmVtIiwiM3hsIjoiMS41cmVtIixmdWxsOiI5OTk5cHgifSxib3JkZXJTcGFjaW5nOih7dGhlbWU6cn0pPT4oey4uLnIoInNwYWNpbmciKX0pLGJvcmRlcldpZHRoOntERUZBVUxUOiIxcHgiLDA6IjBweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LGJveFNoYWRvdzp7c206IjAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpIixERUZBVUxUOiIwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpIixtZDoiMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKSIsbGc6IjAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKSIseGw6IjAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSkiLCIyeGwiOiIwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjI1KSIsaW5uZXI6Imluc2V0IDAgMnB4IDRweCAwIHJnYigwIDAgMCAvIDAuMDUpIixub25lOiJub25lIn0sYm94U2hhZG93Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGJyaWdodG5lc3M6ezA6IjAiLDUwOiIuNSIsNzU6Ii43NSIsOTA6Ii45Iiw5NToiLjk1IiwxMDA6IjEiLDEwNToiMS4wNSIsMTEwOiIxLjEiLDEyNToiMS4yNSIsMTUwOiIxLjUiLDIwMDoiMiJ9LGNhcmV0Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGNvbG9yczooe2NvbG9yczpyfSk9Pih7aW5oZXJpdDpyLmluaGVyaXQsY3VycmVudDpyLmN1cnJlbnQsdHJhbnNwYXJlbnQ6ci50cmFuc3BhcmVudCxibGFjazpyLmJsYWNrLHdoaXRlOnIud2hpdGUsc2xhdGU6ci5zbGF0ZSxncmF5OnIuZ3JheSx6aW5jOnIuemluYyxuZXV0cmFsOnIubmV1dHJhbCxzdG9uZTpyLnN0b25lLHJlZDpyLnJlZCxvcmFuZ2U6ci5vcmFuZ2UsYW1iZXI6ci5hbWJlcix5ZWxsb3c6ci55ZWxsb3csbGltZTpyLmxpbWUsZ3JlZW46ci5ncmVlbixlbWVyYWxkOnIuZW1lcmFsZCx0ZWFsOnIudGVhbCxjeWFuOnIuY3lhbixza3k6ci5za3ksYmx1ZTpyLmJsdWUsaW5kaWdvOnIuaW5kaWdvLHZpb2xldDpyLnZpb2xldCxwdXJwbGU6ci5wdXJwbGUsZnVjaHNpYTpyLmZ1Y2hzaWEscGluazpyLnBpbmsscm9zZTpyLnJvc2V9KSxjb2x1bW5zOnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwiM3hzIjoiMTZyZW0iLCIyeHMiOiIxOHJlbSIseHM6IjIwcmVtIixzbToiMjRyZW0iLG1kOiIyOHJlbSIsbGc6IjMycmVtIix4bDoiMzZyZW0iLCIyeGwiOiI0MnJlbSIsIjN4bCI6IjQ4cmVtIiwiNHhsIjoiNTZyZW0iLCI1eGwiOiI2NHJlbSIsIjZ4bCI6IjcycmVtIiwiN3hsIjoiODByZW0ifSxjb250YWluZXI6e30sY29udGVudDp7bm9uZToibm9uZSJ9LGNvbnRyYXN0OnswOiIwIiw1MDoiLjUiLDc1OiIuNzUiLDEwMDoiMSIsMTI1OiIxLjI1IiwxNTA6IjEuNSIsMjAwOiIyIn0sY3Vyc29yOnthdXRvOiJhdXRvIixkZWZhdWx0OiJkZWZhdWx0Iixwb2ludGVyOiJwb2ludGVyIix3YWl0OiJ3YWl0Iix0ZXh0OiJ0ZXh0Iixtb3ZlOiJtb3ZlIixoZWxwOiJoZWxwIiwibm90LWFsbG93ZWQiOiJub3QtYWxsb3dlZCIsbm9uZToibm9uZSIsImNvbnRleHQtbWVudSI6ImNvbnRleHQtbWVudSIscHJvZ3Jlc3M6InByb2dyZXNzIixjZWxsOiJjZWxsIixjcm9zc2hhaXI6ImNyb3NzaGFpciIsInZlcnRpY2FsLXRleHQiOiJ2ZXJ0aWNhbC10ZXh0IixhbGlhczoiYWxpYXMiLGNvcHk6ImNvcHkiLCJuby1kcm9wIjoibm8tZHJvcCIsZ3JhYjoiZ3JhYiIsZ3JhYmJpbmc6ImdyYWJiaW5nIiwiYWxsLXNjcm9sbCI6ImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIjoiY29sLXJlc2l6ZSIsInJvdy1yZXNpemUiOiJyb3ctcmVzaXplIiwibi1yZXNpemUiOiJuLXJlc2l6ZSIsImUtcmVzaXplIjoiZS1yZXNpemUiLCJzLXJlc2l6ZSI6InMtcmVzaXplIiwidy1yZXNpemUiOiJ3LXJlc2l6ZSIsIm5lLXJlc2l6ZSI6Im5lLXJlc2l6ZSIsIm53LXJlc2l6ZSI6Im53LXJlc2l6ZSIsInNlLXJlc2l6ZSI6InNlLXJlc2l6ZSIsInN3LXJlc2l6ZSI6InN3LXJlc2l6ZSIsImV3LXJlc2l6ZSI6ImV3LXJlc2l6ZSIsIm5zLXJlc2l6ZSI6Im5zLXJlc2l6ZSIsIm5lc3ctcmVzaXplIjoibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSI6Im53c2UtcmVzaXplIiwiem9vbS1pbiI6Inpvb20taW4iLCJ6b29tLW91dCI6Inpvb20tb3V0In0sZGl2aWRlQ29sb3I6KHt0aGVtZTpyfSk9PnIoImJvcmRlckNvbG9yIiksZGl2aWRlT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigiYm9yZGVyT3BhY2l0eSIpLGRpdmlkZVdpZHRoOih7dGhlbWU6cn0pPT5yKCJib3JkZXJXaWR0aCIpLGRyb3BTaGFkb3c6e3NtOiIwIDFweCAxcHggcmdiKDAgMCAwIC8gMC4wNSkiLERFRkFVTFQ6WyIwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSIsIjAgMXB4IDFweCByZ2IoMCAwIDAgLyAwLjA2KSJdLG1kOlsiMCA0cHggM3B4IHJnYigwIDAgMCAvIDAuMDcpIiwiMCAycHggMnB4IHJnYigwIDAgMCAvIDAuMDYpIl0sbGc6WyIwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpIiwiMCA0cHggM3B4IHJnYigwIDAgMCAvIDAuMSkiXSx4bDpbIjAgMjBweCAxM3B4IHJnYigwIDAgMCAvIDAuMDMpIiwiMCA4cHggNXB4IHJnYigwIDAgMCAvIDAuMDgpIl0sIjJ4bCI6IjAgMjVweCAyNXB4IHJnYigwIDAgMCAvIDAuMTUpIixub25lOiIwIDAgIzAwMDAifSxmaWxsOih7dGhlbWU6cn0pPT4oe25vbmU6Im5vbmUiLC4uLnIoImNvbG9ycyIpfSksZmxleDp7MToiMSAxIDAlIixhdXRvOiIxIDEgYXV0byIsaW5pdGlhbDoiMCAxIGF1dG8iLG5vbmU6Im5vbmUifSxmbGV4QmFzaXM6KHt0aGVtZTpyfSk9Pih7YXV0bzoiYXV0byIsLi4ucigic3BhY2luZyIpLCIxLzIiOiI1MCUiLCIxLzMiOiIzMy4zMzMzMzMlIiwiMi8zIjoiNjYuNjY2NjY3JSIsIjEvNCI6IjI1JSIsIjIvNCI6IjUwJSIsIjMvNCI6Ijc1JSIsIjEvNSI6IjIwJSIsIjIvNSI6IjQwJSIsIjMvNSI6IjYwJSIsIjQvNSI6IjgwJSIsIjEvNiI6IjE2LjY2NjY2NyUiLCIyLzYiOiIzMy4zMzMzMzMlIiwiMy82IjoiNTAlIiwiNC82IjoiNjYuNjY2NjY3JSIsIjUvNiI6IjgzLjMzMzMzMyUiLCIxLzEyIjoiOC4zMzMzMzMlIiwiMi8xMiI6IjE2LjY2NjY2NyUiLCIzLzEyIjoiMjUlIiwiNC8xMiI6IjMzLjMzMzMzMyUiLCI1LzEyIjoiNDEuNjY2NjY3JSIsIjYvMTIiOiI1MCUiLCI3LzEyIjoiNTguMzMzMzMzJSIsIjgvMTIiOiI2Ni42NjY2NjclIiwiOS8xMiI6Ijc1JSIsIjEwLzEyIjoiODMuMzMzMzMzJSIsIjExLzEyIjoiOTEuNjY2NjY3JSIsZnVsbDoiMTAwJSJ9KSxmbGV4R3Jvdzp7MDoiMCIsREVGQVVMVDoiMSJ9LGZsZXhTaHJpbms6ezA6IjAiLERFRkFVTFQ6IjEifSxmb250RmFtaWx5OntzYW5zOlsidWktc2Fucy1zZXJpZiIsInN5c3RlbS11aSIsInNhbnMtc2VyaWYiLCciQXBwbGUgQ29sb3IgRW1vamkiJywnIlNlZ29lIFVJIEVtb2ppIicsJyJTZWdvZSBVSSBTeW1ib2wiJywnIk5vdG8gQ29sb3IgRW1vamkiJ10sc2VyaWY6WyJ1aS1zZXJpZiIsIkdlb3JnaWEiLCJDYW1icmlhIiwnIlRpbWVzIE5ldyBSb21hbiInLCJUaW1lcyIsInNlcmlmIl0sbW9ubzpbInVpLW1vbm9zcGFjZSIsIlNGTW9uby1SZWd1bGFyIiwiTWVubG8iLCJNb25hY28iLCJDb25zb2xhcyIsJyJMaWJlcmF0aW9uIE1vbm8iJywnIkNvdXJpZXIgTmV3IicsIm1vbm9zcGFjZSJdfSxmb250U2l6ZTp7eHM6WyIwLjc1cmVtIix7bGluZUhlaWdodDoiMXJlbSJ9XSxzbTpbIjAuODc1cmVtIix7bGluZUhlaWdodDoiMS4yNXJlbSJ9XSxiYXNlOlsiMXJlbSIse2xpbmVIZWlnaHQ6IjEuNXJlbSJ9XSxsZzpbIjEuMTI1cmVtIix7bGluZUhlaWdodDoiMS43NXJlbSJ9XSx4bDpbIjEuMjVyZW0iLHtsaW5lSGVpZ2h0OiIxLjc1cmVtIn1dLCIyeGwiOlsiMS41cmVtIix7bGluZUhlaWdodDoiMnJlbSJ9XSwiM3hsIjpbIjEuODc1cmVtIix7bGluZUhlaWdodDoiMi4yNXJlbSJ9XSwiNHhsIjpbIjIuMjVyZW0iLHtsaW5lSGVpZ2h0OiIyLjVyZW0ifV0sIjV4bCI6WyIzcmVtIix7bGluZUhlaWdodDoiMSJ9XSwiNnhsIjpbIjMuNzVyZW0iLHtsaW5lSGVpZ2h0OiIxIn1dLCI3eGwiOlsiNC41cmVtIix7bGluZUhlaWdodDoiMSJ9XSwiOHhsIjpbIjZyZW0iLHtsaW5lSGVpZ2h0OiIxIn1dLCI5eGwiOlsiOHJlbSIse2xpbmVIZWlnaHQ6IjEifV19LGZvbnRXZWlnaHQ6e3RoaW46IjEwMCIsZXh0cmFsaWdodDoiMjAwIixsaWdodDoiMzAwIixub3JtYWw6IjQwMCIsbWVkaXVtOiI1MDAiLHNlbWlib2xkOiI2MDAiLGJvbGQ6IjcwMCIsZXh0cmFib2xkOiI4MDAiLGJsYWNrOiI5MDAifSxnYXA6KHt0aGVtZTpyfSk9PnIoInNwYWNpbmciKSxncmFkaWVudENvbG9yU3RvcHM6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGdyYWRpZW50Q29sb3JTdG9wUG9zaXRpb25zOnsiMCUiOiIwJSIsIjUlIjoiNSUiLCIxMCUiOiIxMCUiLCIxNSUiOiIxNSUiLCIyMCUiOiIyMCUiLCIyNSUiOiIyNSUiLCIzMCUiOiIzMCUiLCIzNSUiOiIzNSUiLCI0MCUiOiI0MCUiLCI0NSUiOiI0NSUiLCI1MCUiOiI1MCUiLCI1NSUiOiI1NSUiLCI2MCUiOiI2MCUiLCI2NSUiOiI2NSUiLCI3MCUiOiI3MCUiLCI3NSUiOiI3NSUiLCI4MCUiOiI4MCUiLCI4NSUiOiI4NSUiLCI5MCUiOiI5MCUiLCI5NSUiOiI5NSUiLCIxMDAlIjoiMTAwJSJ9LGdyYXlzY2FsZTp7MDoiMCIsREVGQVVMVDoiMTAwJSJ9LGdyaWRBdXRvQ29sdW1uczp7YXV0bzoiYXV0byIsbWluOiJtaW4tY29udGVudCIsbWF4OiJtYXgtY29udGVudCIsZnI6Im1pbm1heCgwLCAxZnIpIn0sZ3JpZEF1dG9Sb3dzOnthdXRvOiJhdXRvIixtaW46Im1pbi1jb250ZW50IixtYXg6Im1heC1jb250ZW50IixmcjoibWlubWF4KDAsIDFmcikifSxncmlkQ29sdW1uOnthdXRvOiJhdXRvIiwic3Bhbi0xIjoic3BhbiAxIC8gc3BhbiAxIiwic3Bhbi0yIjoic3BhbiAyIC8gc3BhbiAyIiwic3Bhbi0zIjoic3BhbiAzIC8gc3BhbiAzIiwic3Bhbi00Ijoic3BhbiA0IC8gc3BhbiA0Iiwic3Bhbi01Ijoic3BhbiA1IC8gc3BhbiA1Iiwic3Bhbi02Ijoic3BhbiA2IC8gc3BhbiA2Iiwic3Bhbi03Ijoic3BhbiA3IC8gc3BhbiA3Iiwic3Bhbi04Ijoic3BhbiA4IC8gc3BhbiA4Iiwic3Bhbi05Ijoic3BhbiA5IC8gc3BhbiA5Iiwic3Bhbi0xMCI6InNwYW4gMTAgLyBzcGFuIDEwIiwic3Bhbi0xMSI6InNwYW4gMTEgLyBzcGFuIDExIiwic3Bhbi0xMiI6InNwYW4gMTIgLyBzcGFuIDEyIiwic3Bhbi1mdWxsIjoiMSAvIC0xIn0sZ3JpZENvbHVtbkVuZDp7YXV0bzoiYXV0byIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiIsMTM6IjEzIn0sZ3JpZENvbHVtblN0YXJ0OnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwxMzoiMTMifSxncmlkUm93OnthdXRvOiJhdXRvIiwic3Bhbi0xIjoic3BhbiAxIC8gc3BhbiAxIiwic3Bhbi0yIjoic3BhbiAyIC8gc3BhbiAyIiwic3Bhbi0zIjoic3BhbiAzIC8gc3BhbiAzIiwic3Bhbi00Ijoic3BhbiA0IC8gc3BhbiA0Iiwic3Bhbi01Ijoic3BhbiA1IC8gc3BhbiA1Iiwic3Bhbi02Ijoic3BhbiA2IC8gc3BhbiA2Iiwic3Bhbi03Ijoic3BhbiA3IC8gc3BhbiA3Iiwic3Bhbi04Ijoic3BhbiA4IC8gc3BhbiA4Iiwic3Bhbi05Ijoic3BhbiA5IC8gc3BhbiA5Iiwic3Bhbi0xMCI6InNwYW4gMTAgLyBzcGFuIDEwIiwic3Bhbi0xMSI6InNwYW4gMTEgLyBzcGFuIDExIiwic3Bhbi0xMiI6InNwYW4gMTIgLyBzcGFuIDEyIiwic3Bhbi1mdWxsIjoiMSAvIC0xIn0sZ3JpZFJvd0VuZDp7YXV0bzoiYXV0byIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiIsMTM6IjEzIn0sZ3JpZFJvd1N0YXJ0OnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwxMzoiMTMifSxncmlkVGVtcGxhdGVDb2x1bW5zOntub25lOiJub25lIixzdWJncmlkOiJzdWJncmlkIiwxOiJyZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpIiwyOiJyZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpIiwzOiJyZXBlYXQoMywgbWlubWF4KDAsIDFmcikpIiw0OiJyZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpIiw1OiJyZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpIiw2OiJyZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpIiw3OiJyZXBlYXQoNywgbWlubWF4KDAsIDFmcikpIiw4OiJyZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpIiw5OiJyZXBlYXQoOSwgbWlubWF4KDAsIDFmcikpIiwxMDoicmVwZWF0KDEwLCBtaW5tYXgoMCwgMWZyKSkiLDExOiJyZXBlYXQoMTEsIG1pbm1heCgwLCAxZnIpKSIsMTI6InJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpIn0sZ3JpZFRlbXBsYXRlUm93czp7bm9uZToibm9uZSIsc3ViZ3JpZDoic3ViZ3JpZCIsMToicmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKSIsMjoicmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSIsMzoicmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSIsNDoicmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKSIsNToicmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKSIsNjoicmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKSIsNzoicmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKSIsODoicmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKSIsOToicmVwZWF0KDksIG1pbm1heCgwLCAxZnIpKSIsMTA6InJlcGVhdCgxMCwgbWlubWF4KDAsIDFmcikpIiwxMToicmVwZWF0KDExLCBtaW5tYXgoMCwgMWZyKSkiLDEyOiJyZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKSJ9LGhlaWdodDooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIiwiMS81IjoiMjAlIiwiMi81IjoiNDAlIiwiMy81IjoiNjAlIiwiNC81IjoiODAlIiwiMS82IjoiMTYuNjY2NjY3JSIsIjIvNiI6IjMzLjMzMzMzMyUiLCIzLzYiOiI1MCUiLCI0LzYiOiI2Ni42NjY2NjclIiwiNS82IjoiODMuMzMzMzMzJSIsZnVsbDoiMTAwJSIsc2NyZWVuOiIxMDB2aCIsc3ZoOiIxMDBzdmgiLGx2aDoiMTAwbHZoIixkdmg6IjEwMGR2aCIsbWluOiJtaW4tY29udGVudCIsbWF4OiJtYXgtY29udGVudCIsZml0OiJmaXQtY29udGVudCJ9KSxodWVSb3RhdGU6ezA6IjBkZWciLDE1OiIxNWRlZyIsMzA6IjMwZGVnIiw2MDoiNjBkZWciLDkwOiI5MGRlZyIsMTgwOiIxODBkZWcifSxpbnNldDooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIixmdWxsOiIxMDAlIn0pLGludmVydDp7MDoiMCIsREVGQVVMVDoiMTAwJSJ9LGtleWZyYW1lczp7c3Bpbjp7dG86e3RyYW5zZm9ybToicm90YXRlKDM2MGRlZykifX0scGluZzp7Ijc1JSwgMTAwJSI6e3RyYW5zZm9ybToic2NhbGUoMikiLG9wYWNpdHk6IjAifX0scHVsc2U6eyI1MCUiOntvcGFjaXR5OiIuNSJ9fSxib3VuY2U6eyIwJSwgMTAwJSI6e3RyYW5zZm9ybToidHJhbnNsYXRlWSgtMjUlKSIsYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246ImN1YmljLWJlemllcigwLjgsMCwxLDEpIn0sIjUwJSI6e3RyYW5zZm9ybToibm9uZSIsYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246ImN1YmljLWJlemllcigwLDAsMC4yLDEpIn19fSxsZXR0ZXJTcGFjaW5nOnt0aWdodGVyOiItMC4wNWVtIix0aWdodDoiLTAuMDI1ZW0iLG5vcm1hbDoiMGVtIix3aWRlOiIwLjAyNWVtIix3aWRlcjoiMC4wNWVtIix3aWRlc3Q6IjAuMWVtIn0sbGluZUhlaWdodDp7bm9uZToiMSIsdGlnaHQ6IjEuMjUiLHNudWc6IjEuMzc1Iixub3JtYWw6IjEuNSIscmVsYXhlZDoiMS42MjUiLGxvb3NlOiIyIiwzOiIuNzVyZW0iLDQ6IjFyZW0iLDU6IjEuMjVyZW0iLDY6IjEuNXJlbSIsNzoiMS43NXJlbSIsODoiMnJlbSIsOToiMi4yNXJlbSIsMTA6IjIuNXJlbSJ9LGxpc3RTdHlsZVR5cGU6e25vbmU6Im5vbmUiLGRpc2M6ImRpc2MiLGRlY2ltYWw6ImRlY2ltYWwifSxsaXN0U3R5bGVJbWFnZTp7bm9uZToibm9uZSJ9LG1hcmdpbjooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIil9KSxsaW5lQ2xhbXA6ezE6IjEiLDI6IjIiLDM6IjMiLDQ6IjQiLDU6IjUiLDY6IjYifSxtYXhIZWlnaHQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLG5vbmU6Im5vbmUiLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdmgiLHN2aDoiMTAwc3ZoIixsdmg6IjEwMGx2aCIsZHZoOiIxMDBkdmgiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksbWF4V2lkdGg6KHt0aGVtZTpyLGJyZWFrcG9pbnRzOmV9KT0+KHsuLi5yKCJzcGFjaW5nIiksbm9uZToibm9uZSIseHM6IjIwcmVtIixzbToiMjRyZW0iLG1kOiIyOHJlbSIsbGc6IjMycmVtIix4bDoiMzZyZW0iLCIyeGwiOiI0MnJlbSIsIjN4bCI6IjQ4cmVtIiwiNHhsIjoiNTZyZW0iLCI1eGwiOiI2NHJlbSIsIjZ4bCI6IjcycmVtIiwiN3hsIjoiODByZW0iLGZ1bGw6IjEwMCUiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQiLHByb3NlOiI2NWNoIiwuLi5lKHIoInNjcmVlbnMiKSl9KSxtaW5IZWlnaHQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdmgiLHN2aDoiMTAwc3ZoIixsdmg6IjEwMGx2aCIsZHZoOiIxMDBkdmgiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksbWluV2lkdGg6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLGZ1bGw6IjEwMCUiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksb2JqZWN0UG9zaXRpb246e2JvdHRvbToiYm90dG9tIixjZW50ZXI6ImNlbnRlciIsbGVmdDoibGVmdCIsImxlZnQtYm90dG9tIjoibGVmdCBib3R0b20iLCJsZWZ0LXRvcCI6ImxlZnQgdG9wIixyaWdodDoicmlnaHQiLCJyaWdodC1ib3R0b20iOiJyaWdodCBib3R0b20iLCJyaWdodC10b3AiOiJyaWdodCB0b3AiLHRvcDoidG9wIn0sb3BhY2l0eTp7MDoiMCIsNToiMC4wNSIsMTA6IjAuMSIsMTU6IjAuMTUiLDIwOiIwLjIiLDI1OiIwLjI1IiwzMDoiMC4zIiwzNToiMC4zNSIsNDA6IjAuNCIsNDU6IjAuNDUiLDUwOiIwLjUiLDU1OiIwLjU1Iiw2MDoiMC42Iiw2NToiMC42NSIsNzA6IjAuNyIsNzU6IjAuNzUiLDgwOiIwLjgiLDg1OiIwLjg1Iiw5MDoiMC45Iiw5NToiMC45NSIsMTAwOiIxIn0sb3JkZXI6e2ZpcnN0OiItOTk5OSIsbGFzdDoiOTk5OSIsbm9uZToiMCIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiJ9LG91dGxpbmVDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIiksb3V0bGluZU9mZnNldDp7MDoiMHB4IiwxOiIxcHgiLDI6IjJweCIsNDoiNHB4Iiw4OiI4cHgifSxvdXRsaW5lV2lkdGg6ezA6IjBweCIsMToiMXB4IiwyOiIycHgiLDQ6IjRweCIsODoiOHB4In0scGFkZGluZzooe3RoZW1lOnJ9KT0+cigic3BhY2luZyIpLHBsYWNlaG9sZGVyQ29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHBsYWNlaG9sZGVyT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigib3BhY2l0eSIpLHJpbmdDb2xvcjooe3RoZW1lOnJ9KT0+KHtERUZBVUxUOnIoImNvbG9ycy5ibHVlLjUwMCIsIiMzYjgyZjYiKSwuLi5yKCJjb2xvcnMiKX0pLHJpbmdPZmZzZXRDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIikscmluZ09mZnNldFdpZHRoOnswOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHJpbmdPcGFjaXR5Oih7dGhlbWU6cn0pPT4oe0RFRkFVTFQ6IjAuNSIsLi4ucigib3BhY2l0eSIpfSkscmluZ1dpZHRoOntERUZBVUxUOiIzcHgiLDA6IjBweCIsMToiMXB4IiwyOiIycHgiLDQ6IjRweCIsODoiOHB4In0scm90YXRlOnswOiIwZGVnIiwxOiIxZGVnIiwyOiIyZGVnIiwzOiIzZGVnIiw2OiI2ZGVnIiwxMjoiMTJkZWciLDQ1OiI0NWRlZyIsOTA6IjkwZGVnIiwxODA6IjE4MGRlZyJ9LHNhdHVyYXRlOnswOiIwIiw1MDoiLjUiLDEwMDoiMSIsMTUwOiIxLjUiLDIwMDoiMiJ9LHNjYWxlOnswOiIwIiw1MDoiLjUiLDc1OiIuNzUiLDkwOiIuOSIsOTU6Ii45NSIsMTAwOiIxIiwxMDU6IjEuMDUiLDExMDoiMS4xIiwxMjU6IjEuMjUiLDE1MDoiMS41In0sc2NyZWVuczp7c206IjY0MHB4IixtZDoiNzY4cHgiLGxnOiIxMDI0cHgiLHhsOiIxMjgwcHgiLCIyeGwiOiIxNTM2cHgifSxzY3JvbGxNYXJnaW46KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksc2Nyb2xsUGFkZGluZzooe3RoZW1lOnJ9KT0+cigic3BhY2luZyIpLHNlcGlhOnswOiIwIixERUZBVUxUOiIxMDAlIn0sc2tldzp7MDoiMGRlZyIsMToiMWRlZyIsMjoiMmRlZyIsMzoiM2RlZyIsNjoiNmRlZyIsMTI6IjEyZGVnIn0sc3BhY2U6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksc3BhY2luZzp7cHg6IjFweCIsMDoiMHB4IiwuNToiMC4xMjVyZW0iLDE6IjAuMjVyZW0iLDEuNToiMC4zNzVyZW0iLDI6IjAuNXJlbSIsMi41OiIwLjYyNXJlbSIsMzoiMC43NXJlbSIsMy41OiIwLjg3NXJlbSIsNDoiMXJlbSIsNToiMS4yNXJlbSIsNjoiMS41cmVtIiw3OiIxLjc1cmVtIiw4OiIycmVtIiw5OiIyLjI1cmVtIiwxMDoiMi41cmVtIiwxMToiMi43NXJlbSIsMTI6IjNyZW0iLDE0OiIzLjVyZW0iLDE2OiI0cmVtIiwyMDoiNXJlbSIsMjQ6IjZyZW0iLDI4OiI3cmVtIiwzMjoiOHJlbSIsMzY6IjlyZW0iLDQwOiIxMHJlbSIsNDQ6IjExcmVtIiw0ODoiMTJyZW0iLDUyOiIxM3JlbSIsNTY6IjE0cmVtIiw2MDoiMTVyZW0iLDY0OiIxNnJlbSIsNzI6IjE4cmVtIiw4MDoiMjByZW0iLDk2OiIyNHJlbSJ9LHN0cm9rZTooe3RoZW1lOnJ9KT0+KHtub25lOiJub25lIiwuLi5yKCJjb2xvcnMiKX0pLHN0cm9rZVdpZHRoOnswOiIwIiwxOiIxIiwyOiIyIn0sc3VwcG9ydHM6e30sZGF0YTp7fSx0ZXh0Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHRleHREZWNvcmF0aW9uQ29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHRleHREZWNvcmF0aW9uVGhpY2tuZXNzOnthdXRvOiJhdXRvIiwiZnJvbS1mb250IjoiZnJvbS1mb250IiwwOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHRleHRJbmRlbnQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksdGV4dE9wYWNpdHk6KHt0aGVtZTpyfSk9PnIoIm9wYWNpdHkiKSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OnthdXRvOiJhdXRvIiwwOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHRyYW5zZm9ybU9yaWdpbjp7Y2VudGVyOiJjZW50ZXIiLHRvcDoidG9wIiwidG9wLXJpZ2h0IjoidG9wIHJpZ2h0IixyaWdodDoicmlnaHQiLCJib3R0b20tcmlnaHQiOiJib3R0b20gcmlnaHQiLGJvdHRvbToiYm90dG9tIiwiYm90dG9tLWxlZnQiOiJib3R0b20gbGVmdCIsbGVmdDoibGVmdCIsInRvcC1sZWZ0IjoidG9wIGxlZnQifSx0cmFuc2l0aW9uRGVsYXk6ezA6IjBzIiw3NToiNzVtcyIsMTAwOiIxMDBtcyIsMTUwOiIxNTBtcyIsMjAwOiIyMDBtcyIsMzAwOiIzMDBtcyIsNTAwOiI1MDBtcyIsNzAwOiI3MDBtcyIsMWUzOiIxMDAwbXMifSx0cmFuc2l0aW9uRHVyYXRpb246e0RFRkFVTFQ6IjE1MG1zIiwwOiIwcyIsNzU6Ijc1bXMiLDEwMDoiMTAwbXMiLDE1MDoiMTUwbXMiLDIwMDoiMjAwbXMiLDMwMDoiMzAwbXMiLDUwMDoiNTAwbXMiLDcwMDoiNzAwbXMiLDFlMzoiMTAwMG1zIn0sdHJhbnNpdGlvblByb3BlcnR5Ontub25lOiJub25lIixhbGw6ImFsbCIsREVGQVVMVDoiY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIiLGNvbG9yczoiY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UiLG9wYWNpdHk6Im9wYWNpdHkiLHNoYWRvdzoiYm94LXNoYWRvdyIsdHJhbnNmb3JtOiJ0cmFuc2Zvcm0ifSx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246e0RFRkFVTFQ6ImN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLGxpbmVhcjoibGluZWFyIixpbjoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkiLG91dDoiY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLCJpbi1vdXQiOiJjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIn0sdHJhbnNsYXRlOih7dGhlbWU6cn0pPT4oey4uLnIoInNwYWNpbmciKSwiMS8yIjoiNTAlIiwiMS8zIjoiMzMuMzMzMzMzJSIsIjIvMyI6IjY2LjY2NjY2NyUiLCIxLzQiOiIyNSUiLCIyLzQiOiI1MCUiLCIzLzQiOiI3NSUiLGZ1bGw6IjEwMCUifSksc2l6ZTooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIiwiMS81IjoiMjAlIiwiMi81IjoiNDAlIiwiMy81IjoiNjAlIiwiNC81IjoiODAlIiwiMS82IjoiMTYuNjY2NjY3JSIsIjIvNiI6IjMzLjMzMzMzMyUiLCIzLzYiOiI1MCUiLCI0LzYiOiI2Ni42NjY2NjclIiwiNS82IjoiODMuMzMzMzMzJSIsIjEvMTIiOiI4LjMzMzMzMyUiLCIyLzEyIjoiMTYuNjY2NjY3JSIsIjMvMTIiOiIyNSUiLCI0LzEyIjoiMzMuMzMzMzMzJSIsIjUvMTIiOiI0MS42NjY2NjclIiwiNi8xMiI6IjUwJSIsIjcvMTIiOiI1OC4zMzMzMzMlIiwiOC8xMiI6IjY2LjY2NjY2NyUiLCI5LzEyIjoiNzUlIiwiMTAvMTIiOiI4My4zMzMzMzMlIiwiMTEvMTIiOiI5MS42NjY2NjclIixmdWxsOiIxMDAlIixtaW46Im1pbi1jb250ZW50IixtYXg6Im1heC1jb250ZW50IixmaXQ6ImZpdC1jb250ZW50In0pLHdpZHRoOih7dGhlbWU6cn0pPT4oe2F1dG86ImF1dG8iLC4uLnIoInNwYWNpbmciKSwiMS8yIjoiNTAlIiwiMS8zIjoiMzMuMzMzMzMzJSIsIjIvMyI6IjY2LjY2NjY2NyUiLCIxLzQiOiIyNSUiLCIyLzQiOiI1MCUiLCIzLzQiOiI3NSUiLCIxLzUiOiIyMCUiLCIyLzUiOiI0MCUiLCIzLzUiOiI2MCUiLCI0LzUiOiI4MCUiLCIxLzYiOiIxNi42NjY2NjclIiwiMi82IjoiMzMuMzMzMzMzJSIsIjMvNiI6IjUwJSIsIjQvNiI6IjY2LjY2NjY2NyUiLCI1LzYiOiI4My4zMzMzMzMlIiwiMS8xMiI6IjguMzMzMzMzJSIsIjIvMTIiOiIxNi42NjY2NjclIiwiMy8xMiI6IjI1JSIsIjQvMTIiOiIzMy4zMzMzMzMlIiwiNS8xMiI6IjQxLjY2NjY2NyUiLCI2LzEyIjoiNTAlIiwiNy8xMiI6IjU4LjMzMzMzMyUiLCI4LzEyIjoiNjYuNjY2NjY3JSIsIjkvMTIiOiI3NSUiLCIxMC8xMiI6IjgzLjMzMzMzMyUiLCIxMS8xMiI6IjkxLjY2NjY2NyUiLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdnciLHN2dzoiMTAwc3Z3Iixsdnc6IjEwMGx2dyIsZHZ3OiIxMDBkdnciLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksd2lsbENoYW5nZTp7YXV0bzoiYXV0byIsc2Nyb2xsOiJzY3JvbGwtcG9zaXRpb24iLGNvbnRlbnRzOiJjb250ZW50cyIsdHJhbnNmb3JtOiJ0cmFuc2Zvcm0ifSx6SW5kZXg6e2F1dG86ImF1dG8iLDA6IjAiLDEwOiIxMCIsMjA6IjIwIiwzMDoiMzAiLDQwOiI0MCIsNTA6IjUwIn19LHBsdWdpbnM6W119fSk7ZnVuY3Rpb24gbm4ocil7bGV0IGU9KHI/LnByZXNldHM/P1tpYy5kZWZhdWx0XSkuc2xpY2UoKS5yZXZlcnNlKCkuZmxhdE1hcChuPT5ubihuIGluc3RhbmNlb2YgRnVuY3Rpb24/bigpOm4pKSx0PXtyZXNwZWN0RGVmYXVsdFJpbmdDb2xvck9wYWNpdHk6e3RoZW1lOntyaW5nQ29sb3I6KHt0aGVtZTpufSk9Pih7REVGQVVMVDoiIzNiODJmNjdmIiwuLi5uKCJjb2xvcnMiKX0pfX0sZGlzYWJsZUNvbG9yT3BhY2l0eVV0aWxpdGllc0J5RGVmYXVsdDp7Y29yZVBsdWdpbnM6e2JhY2tncm91bmRPcGFjaXR5OiExLGJvcmRlck9wYWNpdHk6ITEsZGl2aWRlT3BhY2l0eTohMSxwbGFjZWhvbGRlck9wYWNpdHk6ITEscmluZ09wYWNpdHk6ITEsdGV4dE9wYWNpdHk6ITF9fX0saT1PYmplY3Qua2V5cyh0KS5maWx0ZXIobj0+d2UocixuKSkubWFwKG49PnRbbl0pO3JldHVybltyLC4uLmksLi4uZV19dmFyIGljLG5jPVAoKCk9Pnt1KCk7aWM9cGUocm4oKSk7Y3QoKX0pO3ZhciBzYz17fTtHZShzYyx7ZGVmYXVsdDooKT0+enJ9KTtmdW5jdGlvbiB6ciguLi5yKXtsZXRbLC4uLmVdPW5uKHJbMF0pO3JldHVybiBuYShbLi4uciwuLi5lXSl9dmFyIHNhPVAoKCk9Pnt1KCk7dGMoKTtuYygpfSk7dmFyIFVyPXt9O0dlKFVyLHtkZWZhdWx0OigpPT5tZX0pO3ZhciBtZSxldD1QKCgpPT57dSgpO21lPXtyZXNvbHZlOnI9PnIsZXh0bmFtZTpyPT4iLiIrci5zcGxpdCgiLiIpLnBvcCgpfX0pO2Z1bmN0aW9uIHNuKHIpe3JldHVybiB0eXBlb2Ygcj09Im9iamVjdCImJnIhPT1udWxsfWZ1bmN0aW9uIGJ4KHIpe3JldHVybiBPYmplY3Qua2V5cyhyKS5sZW5ndGg9PT0wfWZ1bmN0aW9uIGFjKHIpe3JldHVybiB0eXBlb2Ygcj09InN0cmluZyJ8fHIgaW5zdGFuY2VvZiBTdHJpbmd9ZnVuY3Rpb24gYWEocil7cmV0dXJuIHNuKHIpJiZyLmNvbmZpZz09PXZvaWQgMCYmIWJ4KHIpP251bGw6c24ocikmJnIuY29uZmlnIT09dm9pZCAwJiZhYyhyLmNvbmZpZyk/bWUucmVzb2x2ZShyLmNvbmZpZyk6c24ocikmJnIuY29uZmlnIT09dm9pZCAwJiZzbihyLmNvbmZpZyk/bnVsbDphYyhyKT9tZS5yZXNvbHZlKHIpOnd4KCl9ZnVuY3Rpb24gd3goKXtmb3IobGV0IHIgb2YgeXgpdHJ5e2xldCBlPW1lLnJlc29sdmUocik7cmV0dXJuIGJlLmFjY2Vzc1N5bmMoZSksZX1jYXRjaChlKXt9cmV0dXJuIG51bGx9dmFyIHl4LG9jPVAoKCk9Pnt1KCk7ZnQoKTtldCgpO3l4PVsiLi90YWlsd2luZC5jb25maWcuanMiLCIuL3RhaWx3aW5kLmNvbmZpZy5janMiLCIuL3RhaWx3aW5kLmNvbmZpZy5tanMiLCIuL3RhaWx3aW5kLmNvbmZpZy50cyIsIi4vdGFpbHdpbmQuY29uZmlnLmN0cyIsIi4vdGFpbHdpbmQuY29uZmlnLm10cyJdfSk7dmFyIGxjPXt9O0dlKGxjLHtkZWZhdWx0OigpPT5vYX0pO3ZhciBvYSxsYT1QKCgpPT57dSgpO29hPXtwYXJzZTpyPT4oe2hyZWY6cn0pfX0pO3ZhciB1YT14KCgpPT57dSgpfSk7dmFyIGFuPXgoKHYzLGNjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHVjPShRaSgpLEFmKSxmYz11YSgpLEp0PWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0LGksbixzLGEpe3N1cGVyKGUpO3RoaXMubmFtZT0iQ3NzU3ludGF4RXJyb3IiLHRoaXMucmVhc29uPWUscyYmKHRoaXMuZmlsZT1zKSxuJiYodGhpcy5zb3VyY2U9biksYSYmKHRoaXMucGx1Z2luPWEpLHR5cGVvZiB0IT0idW5kZWZpbmVkIiYmdHlwZW9mIGkhPSJ1bmRlZmluZWQiJiYodHlwZW9mIHQ9PSJudW1iZXIiPyh0aGlzLmxpbmU9dCx0aGlzLmNvbHVtbj1pKToodGhpcy5saW5lPXQubGluZSx0aGlzLmNvbHVtbj10LmNvbHVtbix0aGlzLmVuZExpbmU9aS5saW5lLHRoaXMuZW5kQ29sdW1uPWkuY29sdW1uKSksdGhpcy5zZXRNZXNzYWdlKCksRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsSnQpfXNldE1lc3NhZ2UoKXt0aGlzLm1lc3NhZ2U9dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rIjogIjoiIix0aGlzLm1lc3NhZ2UrPXRoaXMuZmlsZT90aGlzLmZpbGU6Ijxjc3MgaW5wdXQ+Iix0eXBlb2YgdGhpcy5saW5lIT0idW5kZWZpbmVkIiYmKHRoaXMubWVzc2FnZSs9IjoiK3RoaXMubGluZSsiOiIrdGhpcy5jb2x1bW4pLHRoaXMubWVzc2FnZSs9IjogIit0aGlzLnJlYXNvbn1zaG93U291cmNlQ29kZShlKXtpZighdGhpcy5zb3VyY2UpcmV0dXJuIiI7bGV0IHQ9dGhpcy5zb3VyY2U7ZT09bnVsbCYmKGU9dWMuaXNDb2xvclN1cHBvcnRlZCk7bGV0IGk9Zj0+ZixuPWY9PmYscz1mPT5mO2lmKGUpe2xldHtib2xkOmYsZ3JheTpkLHJlZDpwfT11Yy5jcmVhdGVDb2xvcnMoITApO249aD0+ZihwKGgpKSxpPWg9PmQoaCksZmMmJihzPWg9PmZjKGgpKX1sZXQgYT10LnNwbGl0KC9ccj9cbi8pLG89TWF0aC5tYXgodGhpcy5saW5lLTMsMCksbD1NYXRoLm1pbih0aGlzLmxpbmUrMixhLmxlbmd0aCksYz1TdHJpbmcobCkubGVuZ3RoO3JldHVybiBhLnNsaWNlKG8sbCkubWFwKChmLGQpPT57bGV0IHA9bysxK2QsaD0iICIrKCIgIitwKS5zbGljZSgtYykrIiB8ICI7aWYocD09PXRoaXMubGluZSl7aWYoZi5sZW5ndGg+MTYwKXtsZXQgdj0yMCx5PU1hdGgubWF4KDAsdGhpcy5jb2x1bW4tdiksdz1NYXRoLm1heCh0aGlzLmNvbHVtbit2LHRoaXMuZW5kQ29sdW1uK3YpLGs9Zi5zbGljZSh5LHcpLFM9aShoLnJlcGxhY2UoL1xkL2csIiAiKSkrZi5zbGljZSgwLE1hdGgubWluKHRoaXMuY29sdW1uLTEsdi0xKSkucmVwbGFjZSgvW15cdF0vZywiICIpO3JldHVybiBuKCI+IikraShoKStzKGspK2AKIGArUytuKCJeIil9bGV0IGI9aShoLnJlcGxhY2UoL1xkL2csIiAiKSkrZi5zbGljZSgwLHRoaXMuY29sdW1uLTEpLnJlcGxhY2UoL1teXHRdL2csIiAiKTtyZXR1cm4gbigiPiIpK2koaCkrcyhmKStgCiBgK2IrbigiXiIpfXJldHVybiIgIitpKGgpK3MoZil9KS5qb2luKGAKYCl9dG9TdHJpbmcoKXtsZXQgZT10aGlzLnNob3dTb3VyY2VDb2RlKCk7cmV0dXJuIGUmJihlPWAKCmArZStgCmApLHRoaXMubmFtZSsiOiAiK3RoaXMubWVzc2FnZStlfX07Y2MuZXhwb3J0cz1KdDtKdC5kZWZhdWx0PUp0fSk7dmFyIGZhPXgoKHgzLGRjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHBjPXthZnRlcjpgCmAsYmVmb3JlQ2xvc2U6YApgLGJlZm9yZUNvbW1lbnQ6YApgLGJlZm9yZURlY2w6YApgLGJlZm9yZU9wZW46IiAiLGJlZm9yZVJ1bGU6YApgLGNvbG9uOiI6ICIsY29tbWVudExlZnQ6IiAiLGNvbW1lbnRSaWdodDoiICIsZW1wdHlCb2R5OiIiLGluZGVudDoiICAgICIsc2VtaWNvbG9uOiExfTtmdW5jdGlvbiB2eChyKXtyZXR1cm4gclswXS50b1VwcGVyQ2FzZSgpK3Iuc2xpY2UoMSl9dmFyIG9uPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuYnVpbGRlcj1lfWF0cnVsZShlLHQpe2xldCBpPSJAIitlLm5hbWUsbj1lLnBhcmFtcz90aGlzLnJhd1ZhbHVlKGUsInBhcmFtcyIpOiIiO2lmKHR5cGVvZiBlLnJhd3MuYWZ0ZXJOYW1lIT0idW5kZWZpbmVkIj9pKz1lLnJhd3MuYWZ0ZXJOYW1lOm4mJihpKz0iICIpLGUubm9kZXMpdGhpcy5ibG9jayhlLGkrbik7ZWxzZXtsZXQgcz0oZS5yYXdzLmJldHdlZW58fCIiKSsodD8iOyI6IiIpO3RoaXMuYnVpbGRlcihpK24rcyxlKX19YmVmb3JlQWZ0ZXIoZSx0KXtsZXQgaTtlLnR5cGU9PT0iZGVjbCI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZURlY2wiKTplLnR5cGU9PT0iY29tbWVudCI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZUNvbW1lbnQiKTp0PT09ImJlZm9yZSI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZVJ1bGUiKTppPXRoaXMucmF3KGUsbnVsbCwiYmVmb3JlQ2xvc2UiKTtsZXQgbj1lLnBhcmVudCxzPTA7Zm9yKDtuJiZuLnR5cGUhPT0icm9vdCI7KXMrPTEsbj1uLnBhcmVudDtpZihpLmluY2x1ZGVzKGAKYCkpe2xldCBhPXRoaXMucmF3KGUsbnVsbCwiaW5kZW50Iik7aWYoYS5sZW5ndGgpZm9yKGxldCBvPTA7bzxzO28rKylpKz1hfXJldHVybiBpfWJsb2NrKGUsdCl7bGV0IGk9dGhpcy5yYXcoZSwiYmV0d2VlbiIsImJlZm9yZU9wZW4iKTt0aGlzLmJ1aWxkZXIodCtpKyJ7IixlLCJzdGFydCIpO2xldCBuO2Uubm9kZXMmJmUubm9kZXMubGVuZ3RoPyh0aGlzLmJvZHkoZSksbj10aGlzLnJhdyhlLCJhZnRlciIpKTpuPXRoaXMucmF3KGUsImFmdGVyIiwiZW1wdHlCb2R5IiksbiYmdGhpcy5idWlsZGVyKG4pLHRoaXMuYnVpbGRlcigifSIsZSwiZW5kIil9Ym9keShlKXtsZXQgdD1lLm5vZGVzLmxlbmd0aC0xO2Zvcig7dD4wJiZlLm5vZGVzW3RdLnR5cGU9PT0iY29tbWVudCI7KXQtPTE7bGV0IGk9dGhpcy5yYXcoZSwic2VtaWNvbG9uIik7Zm9yKGxldCBuPTA7bjxlLm5vZGVzLmxlbmd0aDtuKyspe2xldCBzPWUubm9kZXNbbl0sYT10aGlzLnJhdyhzLCJiZWZvcmUiKTthJiZ0aGlzLmJ1aWxkZXIoYSksdGhpcy5zdHJpbmdpZnkocyx0IT09bnx8aSl9fWNvbW1lbnQoZSl7bGV0IHQ9dGhpcy5yYXcoZSwibGVmdCIsImNvbW1lbnRMZWZ0IiksaT10aGlzLnJhdyhlLCJyaWdodCIsImNvbW1lbnRSaWdodCIpO3RoaXMuYnVpbGRlcigiLyoiK3QrZS50ZXh0K2krIiovIixlKX1kZWNsKGUsdCl7bGV0IGk9dGhpcy5yYXcoZSwiYmV0d2VlbiIsImNvbG9uIiksbj1lLnByb3AraSt0aGlzLnJhd1ZhbHVlKGUsInZhbHVlIik7ZS5pbXBvcnRhbnQmJihuKz1lLnJhd3MuaW1wb3J0YW50fHwiICFpbXBvcnRhbnQiKSx0JiYobis9IjsiKSx0aGlzLmJ1aWxkZXIobixlKX1kb2N1bWVudChlKXt0aGlzLmJvZHkoZSl9cmF3KGUsdCxpKXtsZXQgbjtpZihpfHwoaT10KSx0JiYobj1lLnJhd3NbdF0sdHlwZW9mIG4hPSJ1bmRlZmluZWQiKSlyZXR1cm4gbjtsZXQgcz1lLnBhcmVudDtpZihpPT09ImJlZm9yZSImJighc3x8cy50eXBlPT09InJvb3QiJiZzLmZpcnN0PT09ZXx8cyYmcy50eXBlPT09ImRvY3VtZW50IikpcmV0dXJuIiI7aWYoIXMpcmV0dXJuIHBjW2ldO2xldCBhPWUucm9vdCgpO2lmKGEucmF3Q2FjaGV8fChhLnJhd0NhY2hlPXt9KSx0eXBlb2YgYS5yYXdDYWNoZVtpXSE9InVuZGVmaW5lZCIpcmV0dXJuIGEucmF3Q2FjaGVbaV07aWYoaT09PSJiZWZvcmUifHxpPT09ImFmdGVyIilyZXR1cm4gdGhpcy5iZWZvcmVBZnRlcihlLGkpO3tsZXQgbz0icmF3Iit2eChpKTt0aGlzW29dP249dGhpc1tvXShhLGUpOmEud2FsayhsPT57aWYobj1sLnJhd3NbdF0sdHlwZW9mIG4hPSJ1bmRlZmluZWQiKXJldHVybiExfSl9cmV0dXJuIHR5cGVvZiBuPT0idW5kZWZpbmVkIiYmKG49cGNbaV0pLGEucmF3Q2FjaGVbaV09bixufXJhd0JlZm9yZUNsb3NlKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkubm9kZXMmJmkubm9kZXMubGVuZ3RoPjAmJnR5cGVvZiBpLnJhd3MuYWZ0ZXIhPSJ1bmRlZmluZWQiKXJldHVybiB0PWkucmF3cy5hZnRlcix0LmluY2x1ZGVzKGAKYCkmJih0PXQucmVwbGFjZSgvW15cbl0rJC8sIiIpKSwhMX0pLHQmJih0PXQucmVwbGFjZSgvXFMvZywiIikpLHR9cmF3QmVmb3JlQ29tbWVudChlLHQpe2xldCBpO3JldHVybiBlLndhbGtDb21tZW50cyhuPT57aWYodHlwZW9mIG4ucmF3cy5iZWZvcmUhPSJ1bmRlZmluZWQiKXJldHVybiBpPW4ucmF3cy5iZWZvcmUsaS5pbmNsdWRlcyhgCmApJiYoaT1pLnJlcGxhY2UoL1teXG5dKyQvLCIiKSksITF9KSx0eXBlb2YgaT09InVuZGVmaW5lZCI/aT10aGlzLnJhdyh0LG51bGwsImJlZm9yZURlY2wiKTppJiYoaT1pLnJlcGxhY2UoL1xTL2csIiIpKSxpfXJhd0JlZm9yZURlY2woZSx0KXtsZXQgaTtyZXR1cm4gZS53YWxrRGVjbHMobj0+e2lmKHR5cGVvZiBuLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIilyZXR1cm4gaT1uLnJhd3MuYmVmb3JlLGkuaW5jbHVkZXMoYApgKSYmKGk9aS5yZXBsYWNlKC9bXlxuXSskLywiIikpLCExfSksdHlwZW9mIGk9PSJ1bmRlZmluZWQiP2k9dGhpcy5yYXcodCxudWxsLCJiZWZvcmVSdWxlIik6aSYmKGk9aS5yZXBsYWNlKC9cUy9nLCIiKSksaX1yYXdCZWZvcmVPcGVuKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkudHlwZSE9PSJkZWNsIiYmKHQ9aS5yYXdzLmJldHdlZW4sdHlwZW9mIHQhPSJ1bmRlZmluZWQiKSlyZXR1cm4hMX0pLHR9cmF3QmVmb3JlUnVsZShlKXtsZXQgdDtyZXR1cm4gZS53YWxrKGk9PntpZihpLm5vZGVzJiYoaS5wYXJlbnQhPT1lfHxlLmZpcnN0IT09aSkmJnR5cGVvZiBpLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIilyZXR1cm4gdD1pLnJhd3MuYmVmb3JlLHQuaW5jbHVkZXMoYApgKSYmKHQ9dC5yZXBsYWNlKC9bXlxuXSskLywiIikpLCExfSksdCYmKHQ9dC5yZXBsYWNlKC9cUy9nLCIiKSksdH1yYXdDb2xvbihlKXtsZXQgdDtyZXR1cm4gZS53YWxrRGVjbHMoaT0+e2lmKHR5cGVvZiBpLnJhd3MuYmV0d2VlbiE9InVuZGVmaW5lZCIpcmV0dXJuIHQ9aS5yYXdzLmJldHdlZW4ucmVwbGFjZSgvW15cczpdL2csIiIpLCExfSksdH1yYXdFbXB0eUJvZHkoZSl7bGV0IHQ7cmV0dXJuIGUud2FsayhpPT57aWYoaS5ub2RlcyYmaS5ub2Rlcy5sZW5ndGg9PT0wJiYodD1pLnJhd3MuYWZ0ZXIsdHlwZW9mIHQhPSJ1bmRlZmluZWQiKSlyZXR1cm4hMX0pLHR9cmF3SW5kZW50KGUpe2lmKGUucmF3cy5pbmRlbnQpcmV0dXJuIGUucmF3cy5pbmRlbnQ7bGV0IHQ7cmV0dXJuIGUud2FsayhpPT57bGV0IG49aS5wYXJlbnQ7aWYobiYmbiE9PWUmJm4ucGFyZW50JiZuLnBhcmVudD09PWUmJnR5cGVvZiBpLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIil7bGV0IHM9aS5yYXdzLmJlZm9yZS5zcGxpdChgCmApO3JldHVybiB0PXNbcy5sZW5ndGgtMV0sdD10LnJlcGxhY2UoL1xTL2csIiIpLCExfX0pLHR9cmF3U2VtaWNvbG9uKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkubm9kZXMmJmkubm9kZXMubGVuZ3RoJiZpLmxhc3QudHlwZT09PSJkZWNsIiYmKHQ9aS5yYXdzLnNlbWljb2xvbix0eXBlb2YgdCE9InVuZGVmaW5lZCIpKXJldHVybiExfSksdH1yYXdWYWx1ZShlLHQpe2xldCBpPWVbdF0sbj1lLnJhd3NbdF07cmV0dXJuIG4mJm4udmFsdWU9PT1pP24ucmF3Oml9cm9vdChlKXt0aGlzLmJvZHkoZSksZS5yYXdzLmFmdGVyJiZ0aGlzLmJ1aWxkZXIoZS5yYXdzLmFmdGVyKX1ydWxlKGUpe3RoaXMuYmxvY2soZSx0aGlzLnJhd1ZhbHVlKGUsInNlbGVjdG9yIikpLGUucmF3cy5vd25TZW1pY29sb24mJnRoaXMuYnVpbGRlcihlLnJhd3Mub3duU2VtaWNvbG9uLGUsImVuZCIpfXN0cmluZ2lmeShlLHQpe2lmKCF0aGlzW2UudHlwZV0pdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEFTVCBub2RlIHR5cGUgIitlLnR5cGUrIi4gTWF5YmUgeW91IG5lZWQgdG8gY2hhbmdlIFBvc3RDU1Mgc3RyaW5naWZpZXIuIik7dGhpc1tlLnR5cGVdKGUsdCl9fTtkYy5leHBvcnRzPW9uO29uLmRlZmF1bHQ9b259KTt2YXIgVnI9eCgoazMsaGMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgeHg9ZmEoKTtmdW5jdGlvbiBjYShyLGUpe25ldyB4eChlKS5zdHJpbmdpZnkocil9aGMuZXhwb3J0cz1jYTtjYS5kZWZhdWx0PWNhfSk7dmFyIGxuPXgoKFMzLHBhKT0+e3UoKTsidXNlIHN0cmljdCI7cGEuZXhwb3J0cy5pc0NsZWFuPVN5bWJvbCgiaXNDbGVhbiIpO3BhLmV4cG9ydHMubXk9U3ltYm9sKCJteSIpfSk7dmFyIEdyPXgoKEEzLG1jKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIGt4PWFuKCksU3g9ZmEoKSxBeD1WcigpLHtpc0NsZWFuOkhyLG15OkN4fT1sbigpO2Z1bmN0aW9uIGRhKHIsZSl7bGV0IHQ9bmV3IHIuY29uc3RydWN0b3I7Zm9yKGxldCBpIGluIHIpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixpKXx8aT09PSJwcm94eUNhY2hlIiljb250aW51ZTtsZXQgbj1yW2ldLHM9dHlwZW9mIG47aT09PSJwYXJlbnQiJiZzPT09Im9iamVjdCI/ZSYmKHRbaV09ZSk6aT09PSJzb3VyY2UiP3RbaV09bjpBcnJheS5pc0FycmF5KG4pP3RbaV09bi5tYXAoYT0+ZGEoYSx0KSk6KHM9PT0ib2JqZWN0IiYmbiE9PW51bGwmJihuPWRhKG4pKSx0W2ldPW4pfXJldHVybiB0fWZ1bmN0aW9uIFdyKHIsZSl7aWYoZSYmdHlwZW9mIGUub2Zmc2V0IT0idW5kZWZpbmVkIilyZXR1cm4gZS5vZmZzZXQ7bGV0IHQ9MSxpPTEsbj0wO2ZvcihsZXQgcz0wO3M8ci5sZW5ndGg7cysrKXtpZihpPT09ZS5saW5lJiZ0PT09ZS5jb2x1bW4pe249czticmVha31yW3NdPT09YApgPyh0PTEsaSs9MSk6dCs9MX1yZXR1cm4gbn12YXIgdW49Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7dGhpcy5yYXdzPXt9LHRoaXNbSHJdPSExLHRoaXNbQ3hdPSEwO2ZvcihsZXQgdCBpbiBlKWlmKHQ9PT0ibm9kZXMiKXt0aGlzLm5vZGVzPVtdO2ZvcihsZXQgaSBvZiBlW3RdKXR5cGVvZiBpLmNsb25lPT0iZnVuY3Rpb24iP3RoaXMuYXBwZW5kKGkuY2xvbmUoKSk6dGhpcy5hcHBlbmQoaSl9ZWxzZSB0aGlzW3RdPWVbdF19YWRkVG9FcnJvcihlKXtpZihlLnBvc3Rjc3NOb2RlPXRoaXMsZS5zdGFjayYmdGhpcy5zb3VyY2UmJi9cblxzezR9YXQgLy50ZXN0KGUuc3RhY2spKXtsZXQgdD10aGlzLnNvdXJjZTtlLnN0YWNrPWUuc3RhY2sucmVwbGFjZSgvXG5cc3s0fWF0IC8sYCQmJHt0LmlucHV0LmZyb219OiR7dC5zdGFydC5saW5lfToke3Quc3RhcnQuY29sdW1ufSQmYCl9cmV0dXJuIGV9YWZ0ZXIoZSl7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEFmdGVyKHRoaXMsZSksdGhpc31hc3NpZ24oZT17fSl7Zm9yKGxldCB0IGluIGUpdGhpc1t0XT1lW3RdO3JldHVybiB0aGlzfWJlZm9yZShlKXtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMsZSksdGhpc31jbGVhblJhd3MoZSl7ZGVsZXRlIHRoaXMucmF3cy5iZWZvcmUsZGVsZXRlIHRoaXMucmF3cy5hZnRlcixlfHxkZWxldGUgdGhpcy5yYXdzLmJldHdlZW59Y2xvbmUoZT17fSl7bGV0IHQ9ZGEodGhpcyk7Zm9yKGxldCBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fWNsb25lQWZ0ZXIoZT17fSl7bGV0IHQ9dGhpcy5jbG9uZShlKTtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcyx0KSx0fWNsb25lQmVmb3JlKGU9e30pe2xldCB0PXRoaXMuY2xvbmUoZSk7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLHQpLHR9ZXJyb3IoZSx0PXt9KXtpZih0aGlzLnNvdXJjZSl7bGV0e2VuZDppLHN0YXJ0Om59PXRoaXMucmFuZ2VCeSh0KTtyZXR1cm4gdGhpcy5zb3VyY2UuaW5wdXQuZXJyb3IoZSx7Y29sdW1uOm4uY29sdW1uLGxpbmU6bi5saW5lfSx7Y29sdW1uOmkuY29sdW1uLGxpbmU6aS5saW5lfSx0KX1yZXR1cm4gbmV3IGt4KGUpfWdldFByb3h5UHJvY2Vzc29yKCl7cmV0dXJue2dldChlLHQpe3JldHVybiB0PT09InByb3h5T2YiP2U6dD09PSJyb290Ij8oKT0+ZS5yb290KCkudG9Qcm94eSgpOmVbdF19LHNldChlLHQsaSl7cmV0dXJuIGVbdF09PT1pfHwoZVt0XT1pLCh0PT09InByb3AifHx0PT09InZhbHVlInx8dD09PSJuYW1lInx8dD09PSJwYXJhbXMifHx0PT09ImltcG9ydGFudCJ8fHQ9PT0idGV4dCIpJiZlLm1hcmtEaXJ0eSgpKSwhMH19fW1hcmtDbGVhbigpe3RoaXNbSHJdPSEwfW1hcmtEaXJ0eSgpe2lmKHRoaXNbSHJdKXt0aGlzW0hyXT0hMTtsZXQgZT10aGlzO2Zvcig7ZT1lLnBhcmVudDspZVtIcl09ITF9fW5leHQoKXtpZighdGhpcy5wYXJlbnQpcmV0dXJuO2xldCBlPXRoaXMucGFyZW50LmluZGV4KHRoaXMpO3JldHVybiB0aGlzLnBhcmVudC5ub2Rlc1tlKzFdfXBvc2l0aW9uQnkoZSl7bGV0IHQ9dGhpcy5zb3VyY2Uuc3RhcnQ7aWYoZS5pbmRleCl0PXRoaXMucG9zaXRpb25JbnNpZGUoZS5pbmRleCk7ZWxzZSBpZihlLndvcmQpe2xldCBuPXRoaXMuc291cmNlLmlucHV0LmNzcy5zbGljZShXcih0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2Uuc3RhcnQpLFdyKHRoaXMuc291cmNlLmlucHV0LmNzcyx0aGlzLnNvdXJjZS5lbmQpKS5pbmRleE9mKGUud29yZCk7biE9PS0xJiYodD10aGlzLnBvc2l0aW9uSW5zaWRlKG4pKX1yZXR1cm4gdH1wb3NpdGlvbkluc2lkZShlKXtsZXQgdD10aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4saT10aGlzLnNvdXJjZS5zdGFydC5saW5lLG49V3IodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxzPW4rZTtmb3IobGV0IGE9bjthPHM7YSsrKXRoaXMuc291cmNlLmlucHV0LmNzc1thXT09PWAKYD8odD0xLGkrPTEpOnQrPTE7cmV0dXJue2NvbHVtbjp0LGxpbmU6aX19cHJldigpe2lmKCF0aGlzLnBhcmVudClyZXR1cm47bGV0IGU9dGhpcy5wYXJlbnQuaW5kZXgodGhpcyk7cmV0dXJuIHRoaXMucGFyZW50Lm5vZGVzW2UtMV19cmFuZ2VCeShlKXtsZXQgdD17Y29sdW1uOnRoaXMuc291cmNlLnN0YXJ0LmNvbHVtbixsaW5lOnRoaXMuc291cmNlLnN0YXJ0LmxpbmV9LGk9dGhpcy5zb3VyY2UuZW5kP3tjb2x1bW46dGhpcy5zb3VyY2UuZW5kLmNvbHVtbisxLGxpbmU6dGhpcy5zb3VyY2UuZW5kLmxpbmV9Ontjb2x1bW46dC5jb2x1bW4rMSxsaW5lOnQubGluZX07aWYoZS53b3JkKXtsZXQgcz10aGlzLnNvdXJjZS5pbnB1dC5jc3Muc2xpY2UoV3IodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxXcih0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2UuZW5kKSkuaW5kZXhPZihlLndvcmQpO3MhPT0tMSYmKHQ9dGhpcy5wb3NpdGlvbkluc2lkZShzKSxpPXRoaXMucG9zaXRpb25JbnNpZGUocytlLndvcmQubGVuZ3RoKSl9ZWxzZSBlLnN0YXJ0P3Q9e2NvbHVtbjplLnN0YXJ0LmNvbHVtbixsaW5lOmUuc3RhcnQubGluZX06ZS5pbmRleCYmKHQ9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KSksZS5lbmQ/aT17Y29sdW1uOmUuZW5kLmNvbHVtbixsaW5lOmUuZW5kLmxpbmV9OnR5cGVvZiBlLmVuZEluZGV4PT0ibnVtYmVyIj9pPXRoaXMucG9zaXRpb25JbnNpZGUoZS5lbmRJbmRleCk6ZS5pbmRleCYmKGk9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KzEpKTtyZXR1cm4oaS5saW5lPHQubGluZXx8aS5saW5lPT09dC5saW5lJiZpLmNvbHVtbjw9dC5jb2x1bW4pJiYoaT17Y29sdW1uOnQuY29sdW1uKzEsbGluZTp0LmxpbmV9KSx7ZW5kOmksc3RhcnQ6dH19cmF3KGUsdCl7cmV0dXJuIG5ldyBTeCgpLnJhdyh0aGlzLGUsdCl9cmVtb3ZlKCl7cmV0dXJuIHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLnBhcmVudD12b2lkIDAsdGhpc31yZXBsYWNlV2l0aCguLi5lKXtpZih0aGlzLnBhcmVudCl7bGV0IHQ9dGhpcyxpPSExO2ZvcihsZXQgbiBvZiBlKW49PT10aGlzP2k9ITA6aT8odGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodCxuKSx0PW4pOnRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0LG4pO2l8fHRoaXMucmVtb3ZlKCl9cmV0dXJuIHRoaXN9cm9vdCgpe2xldCBlPXRoaXM7Zm9yKDtlLnBhcmVudCYmZS5wYXJlbnQudHlwZSE9PSJkb2N1bWVudCI7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9dG9KU09OKGUsdCl7bGV0IGk9e30sbj10PT1udWxsO3Q9dHx8bmV3IE1hcDtsZXQgcz0wO2ZvcihsZXQgYSBpbiB0aGlzKXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMsYSl8fGE9PT0icGFyZW50Inx8YT09PSJwcm94eUNhY2hlIiljb250aW51ZTtsZXQgbz10aGlzW2FdO2lmKEFycmF5LmlzQXJyYXkobykpaVthXT1vLm1hcChsPT50eXBlb2YgbD09Im9iamVjdCImJmwudG9KU09OP2wudG9KU09OKG51bGwsdCk6bCk7ZWxzZSBpZih0eXBlb2Ygbz09Im9iamVjdCImJm8udG9KU09OKWlbYV09by50b0pTT04obnVsbCx0KTtlbHNlIGlmKGE9PT0ic291cmNlIil7bGV0IGw9dC5nZXQoby5pbnB1dCk7bD09bnVsbCYmKGw9cyx0LnNldChvLmlucHV0LHMpLHMrKyksaVthXT17ZW5kOm8uZW5kLGlucHV0SWQ6bCxzdGFydDpvLnN0YXJ0fX1lbHNlIGlbYV09b31yZXR1cm4gbiYmKGkuaW5wdXRzPVsuLi50LmtleXMoKV0ubWFwKGE9PmEudG9KU09OKCkpKSxpfXRvUHJveHkoKXtyZXR1cm4gdGhpcy5wcm94eUNhY2hlfHwodGhpcy5wcm94eUNhY2hlPW5ldyBQcm94eSh0aGlzLHRoaXMuZ2V0UHJveHlQcm9jZXNzb3IoKSkpLHRoaXMucHJveHlDYWNoZX10b1N0cmluZyhlPUF4KXtlLnN0cmluZ2lmeSYmKGU9ZS5zdHJpbmdpZnkpO2xldCB0PSIiO3JldHVybiBlKHRoaXMsaT0+e3QrPWl9KSx0fXdhcm4oZSx0LGkpe2xldCBuPXtub2RlOnRoaXN9O2ZvcihsZXQgcyBpbiBpKW5bc109aVtzXTtyZXR1cm4gZS53YXJuKHQsbil9Z2V0IHByb3h5T2YoKXtyZXR1cm4gdGhpc319O21jLmV4cG9ydHM9dW47dW4uZGVmYXVsdD11bn0pO3ZhciBRcj14KChDMyxnYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBfeD1HcigpLGZuPWNsYXNzIGV4dGVuZHMgX3h7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy50eXBlPSJjb21tZW50In19O2djLmV4cG9ydHM9Zm47Zm4uZGVmYXVsdD1mbn0pO3ZhciBZcj14KChfMyx5Yyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBFeD1HcigpLGNuPWNsYXNzIGV4dGVuZHMgRXh7Y29uc3RydWN0b3IoZSl7ZSYmdHlwZW9mIGUudmFsdWUhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgZS52YWx1ZSE9InN0cmluZyImJihlPXsuLi5lLHZhbHVlOlN0cmluZyhlLnZhbHVlKX0pO3N1cGVyKGUpO3RoaXMudHlwZT0iZGVjbCJ9Z2V0IHZhcmlhYmxlKCl7cmV0dXJuIHRoaXMucHJvcC5zdGFydHNXaXRoKCItLSIpfHx0aGlzLnByb3BbMF09PT0iJCJ9fTt5Yy5leHBvcnRzPWNuO2NuLmRlZmF1bHQ9Y259KTt2YXIgRXQ9eCgoRTMsX2MpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYmM9UXIoKSx3Yz1ZcigpLE94PUdyKCkse2lzQ2xlYW46dmMsbXk6eGN9PWxuKCksaGEsa2MsU2MsbWE7ZnVuY3Rpb24gQWMocil7cmV0dXJuIHIubWFwKGU9PihlLm5vZGVzJiYoZS5ub2Rlcz1BYyhlLm5vZGVzKSksZGVsZXRlIGUuc291cmNlLGUpKX1mdW5jdGlvbiBDYyhyKXtpZihyW3ZjXT0hMSxyLnByb3h5T2Yubm9kZXMpZm9yKGxldCBlIG9mIHIucHJveHlPZi5ub2RlcylDYyhlKX12YXIgRmU9Y2xhc3MgZXh0ZW5kcyBPeHthcHBlbmQoLi4uZSl7Zm9yKGxldCB0IG9mIGUpe2xldCBpPXRoaXMubm9ybWFsaXplKHQsdGhpcy5sYXN0KTtmb3IobGV0IG4gb2YgaSl0aGlzLnByb3h5T2Yubm9kZXMucHVzaChuKX1yZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfWNsZWFuUmF3cyhlKXtpZihzdXBlci5jbGVhblJhd3MoZSksdGhpcy5ub2Rlcylmb3IobGV0IHQgb2YgdGhpcy5ub2Rlcyl0LmNsZWFuUmF3cyhlKX1lYWNoKGUpe2lmKCF0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuO2xldCB0PXRoaXMuZ2V0SXRlcmF0b3IoKSxpLG47Zm9yKDt0aGlzLmluZGV4ZXNbdF08dGhpcy5wcm94eU9mLm5vZGVzLmxlbmd0aCYmKGk9dGhpcy5pbmRleGVzW3RdLG49ZSh0aGlzLnByb3h5T2Yubm9kZXNbaV0saSksbiE9PSExKTspdGhpcy5pbmRleGVzW3RdKz0xO3JldHVybiBkZWxldGUgdGhpcy5pbmRleGVzW3RdLG59ZXZlcnkoZSl7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkoZSl9Z2V0SXRlcmF0b3IoKXt0aGlzLmxhc3RFYWNofHwodGhpcy5sYXN0RWFjaD0wKSx0aGlzLmluZGV4ZXN8fCh0aGlzLmluZGV4ZXM9e30pLHRoaXMubGFzdEVhY2grPTE7bGV0IGU9dGhpcy5sYXN0RWFjaDtyZXR1cm4gdGhpcy5pbmRleGVzW2VdPTAsZX1nZXRQcm94eVByb2Nlc3Nvcigpe3JldHVybntnZXQoZSx0KXtyZXR1cm4gdD09PSJwcm94eU9mIj9lOmVbdF0/dD09PSJlYWNoInx8dHlwZW9mIHQ9PSJzdHJpbmciJiZ0LnN0YXJ0c1dpdGgoIndhbGsiKT8oLi4uaSk9PmVbdF0oLi4uaS5tYXAobj0+dHlwZW9mIG49PSJmdW5jdGlvbiI/KHMsYSk9Pm4ocy50b1Byb3h5KCksYSk6bikpOnQ9PT0iZXZlcnkifHx0PT09InNvbWUiP2k9PmVbdF0oKG4sLi4ucyk9Pmkobi50b1Byb3h5KCksLi4ucykpOnQ9PT0icm9vdCI/KCk9PmUucm9vdCgpLnRvUHJveHkoKTp0PT09Im5vZGVzIj9lLm5vZGVzLm1hcChpPT5pLnRvUHJveHkoKSk6dD09PSJmaXJzdCJ8fHQ9PT0ibGFzdCI/ZVt0XS50b1Byb3h5KCk6ZVt0XTplW3RdfSxzZXQoZSx0LGkpe3JldHVybiBlW3RdPT09aXx8KGVbdF09aSwodD09PSJuYW1lInx8dD09PSJwYXJhbXMifHx0PT09InNlbGVjdG9yIikmJmUubWFya0RpcnR5KCkpLCEwfX19aW5kZXgoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIj9lOihlLnByb3h5T2YmJihlPWUucHJveHlPZiksdGhpcy5wcm94eU9mLm5vZGVzLmluZGV4T2YoZSkpfWluc2VydEFmdGVyKGUsdCl7bGV0IGk9dGhpcy5pbmRleChlKSxuPXRoaXMubm9ybWFsaXplKHQsdGhpcy5wcm94eU9mLm5vZGVzW2ldKS5yZXZlcnNlKCk7aT10aGlzLmluZGV4KGUpO2ZvcihsZXQgYSBvZiBuKXRoaXMucHJveHlPZi5ub2Rlcy5zcGxpY2UoaSsxLDAsYSk7bGV0IHM7Zm9yKGxldCBhIGluIHRoaXMuaW5kZXhlcylzPXRoaXMuaW5kZXhlc1thXSxpPHMmJih0aGlzLmluZGV4ZXNbYV09cytuLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31pbnNlcnRCZWZvcmUoZSx0KXtsZXQgaT10aGlzLmluZGV4KGUpLG49aT09PTA/InByZXBlbmQiOiExLHM9dGhpcy5ub3JtYWxpemUodCx0aGlzLnByb3h5T2Yubm9kZXNbaV0sbikucmV2ZXJzZSgpO2k9dGhpcy5pbmRleChlKTtmb3IobGV0IG8gb2Ygcyl0aGlzLnByb3h5T2Yubm9kZXMuc3BsaWNlKGksMCxvKTtsZXQgYTtmb3IobGV0IG8gaW4gdGhpcy5pbmRleGVzKWE9dGhpcy5pbmRleGVzW29dLGk8PWEmJih0aGlzLmluZGV4ZXNbb109YStzLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31ub3JtYWxpemUoZSx0KXtpZih0eXBlb2YgZT09InN0cmluZyIpZT1BYyhrYyhlKS5ub2Rlcyk7ZWxzZSBpZih0eXBlb2YgZT09InVuZGVmaW5lZCIpZT1bXTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2U9ZS5zbGljZSgwKTtmb3IobGV0IG4gb2YgZSluLnBhcmVudCYmbi5wYXJlbnQucmVtb3ZlQ2hpbGQobiwiaWdub3JlIil9ZWxzZSBpZihlLnR5cGU9PT0icm9vdCImJnRoaXMudHlwZSE9PSJkb2N1bWVudCIpe2U9ZS5ub2Rlcy5zbGljZSgwKTtmb3IobGV0IG4gb2YgZSluLnBhcmVudCYmbi5wYXJlbnQucmVtb3ZlQ2hpbGQobiwiaWdub3JlIil9ZWxzZSBpZihlLnR5cGUpZT1bZV07ZWxzZSBpZihlLnByb3Ape2lmKHR5cGVvZiBlLnZhbHVlPT0idW5kZWZpbmVkIil0aHJvdyBuZXcgRXJyb3IoIlZhbHVlIGZpZWxkIGlzIG1pc3NlZCBpbiBub2RlIGNyZWF0aW9uIik7dHlwZW9mIGUudmFsdWUhPSJzdHJpbmciJiYoZS52YWx1ZT1TdHJpbmcoZS52YWx1ZSkpLGU9W25ldyB3YyhlKV19ZWxzZSBpZihlLnNlbGVjdG9yfHxlLnNlbGVjdG9ycyllPVtuZXcgbWEoZSldO2Vsc2UgaWYoZS5uYW1lKWU9W25ldyBoYShlKV07ZWxzZSBpZihlLnRleHQpZT1bbmV3IGJjKGUpXTtlbHNlIHRocm93IG5ldyBFcnJvcigiVW5rbm93biBub2RlIHR5cGUgaW4gbm9kZSBjcmVhdGlvbiIpO3JldHVybiBlLm1hcChuPT4oblt4Y118fEZlLnJlYnVpbGQobiksbj1uLnByb3h5T2Ysbi5wYXJlbnQmJm4ucGFyZW50LnJlbW92ZUNoaWxkKG4pLG5bdmNdJiZDYyhuKSxuLnJhd3N8fChuLnJhd3M9e30pLHR5cGVvZiBuLnJhd3MuYmVmb3JlPT0idW5kZWZpbmVkIiYmdCYmdHlwZW9mIHQucmF3cy5iZWZvcmUhPSJ1bmRlZmluZWQiJiYobi5yYXdzLmJlZm9yZT10LnJhd3MuYmVmb3JlLnJlcGxhY2UoL1xTL2csIiIpKSxuLnBhcmVudD10aGlzLnByb3h5T2YsbikpfXByZXBlbmQoLi4uZSl7ZT1lLnJldmVyc2UoKTtmb3IobGV0IHQgb2YgZSl7bGV0IGk9dGhpcy5ub3JtYWxpemUodCx0aGlzLmZpcnN0LCJwcmVwZW5kIikucmV2ZXJzZSgpO2ZvcihsZXQgbiBvZiBpKXRoaXMucHJveHlPZi5ub2Rlcy51bnNoaWZ0KG4pO2ZvcihsZXQgbiBpbiB0aGlzLmluZGV4ZXMpdGhpcy5pbmRleGVzW25dPXRoaXMuaW5kZXhlc1tuXStpLmxlbmd0aH1yZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfXB1c2goZSl7cmV0dXJuIGUucGFyZW50PXRoaXMsdGhpcy5wcm94eU9mLm5vZGVzLnB1c2goZSksdGhpc31yZW1vdmVBbGwoKXtmb3IobGV0IGUgb2YgdGhpcy5wcm94eU9mLm5vZGVzKWUucGFyZW50PXZvaWQgMDtyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzPVtdLHRoaXMubWFya0RpcnR5KCksdGhpc31yZW1vdmVDaGlsZChlKXtlPXRoaXMuaW5kZXgoZSksdGhpcy5wcm94eU9mLm5vZGVzW2VdLnBhcmVudD12b2lkIDAsdGhpcy5wcm94eU9mLm5vZGVzLnNwbGljZShlLDEpO2xldCB0O2ZvcihsZXQgaSBpbiB0aGlzLmluZGV4ZXMpdD10aGlzLmluZGV4ZXNbaV0sdD49ZSYmKHRoaXMuaW5kZXhlc1tpXT10LTEpO3JldHVybiB0aGlzLm1hcmtEaXJ0eSgpLHRoaXN9cmVwbGFjZVZhbHVlcyhlLHQsaSl7cmV0dXJuIGl8fChpPXQsdD17fSksdGhpcy53YWxrRGVjbHMobj0+e3QucHJvcHMmJiF0LnByb3BzLmluY2x1ZGVzKG4ucHJvcCl8fHQuZmFzdCYmIW4udmFsdWUuaW5jbHVkZXModC5mYXN0KXx8KG4udmFsdWU9bi52YWx1ZS5yZXBsYWNlKGUsaSkpfSksdGhpcy5tYXJrRGlydHkoKSx0aGlzfXNvbWUoZSl7cmV0dXJuIHRoaXMubm9kZXMuc29tZShlKX13YWxrKGUpe3JldHVybiB0aGlzLmVhY2goKHQsaSk9PntsZXQgbjt0cnl7bj1lKHQsaSl9Y2F0Y2gocyl7dGhyb3cgdC5hZGRUb0Vycm9yKHMpfXJldHVybiBuIT09ITEmJnQud2FsayYmKG49dC53YWxrKGUpKSxufSl9d2Fsa0F0UnVsZXMoZSx0KXtyZXR1cm4gdD9lIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMud2FsaygoaSxuKT0+e2lmKGkudHlwZT09PSJhdHJ1bGUiJiZlLnRlc3QoaS5uYW1lKSlyZXR1cm4gdChpLG4pfSk6dGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImF0cnVsZSImJmkubmFtZT09PWUpcmV0dXJuIHQoaSxuKX0pOih0PWUsdGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImF0cnVsZSIpcmV0dXJuIHQoaSxuKX0pKX13YWxrQ29tbWVudHMoZSl7cmV0dXJuIHRoaXMud2FsaygodCxpKT0+e2lmKHQudHlwZT09PSJjb21tZW50IilyZXR1cm4gZSh0LGkpfSl9d2Fsa0RlY2xzKGUsdCl7cmV0dXJuIHQ/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0iZGVjbCImJmUudGVzdChpLnByb3ApKXJldHVybiB0KGksbil9KTp0aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0iZGVjbCImJmkucHJvcD09PWUpcmV0dXJuIHQoaSxuKX0pOih0PWUsdGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImRlY2wiKXJldHVybiB0KGksbil9KSl9d2Fsa1J1bGVzKGUsdCl7cmV0dXJuIHQ/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0icnVsZSImJmUudGVzdChpLnNlbGVjdG9yKSlyZXR1cm4gdChpLG4pfSk6dGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09InJ1bGUiJiZpLnNlbGVjdG9yPT09ZSlyZXR1cm4gdChpLG4pfSk6KHQ9ZSx0aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0icnVsZSIpcmV0dXJuIHQoaSxuKX0pKX1nZXQgZmlyc3QoKXtpZighIXRoaXMucHJveHlPZi5ub2RlcylyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzWzBdfWdldCBsYXN0KCl7aWYoISF0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuIHRoaXMucHJveHlPZi5ub2Rlc1t0aGlzLnByb3h5T2Yubm9kZXMubGVuZ3RoLTFdfX07RmUucmVnaXN0ZXJQYXJzZT1yPT57a2M9cn07RmUucmVnaXN0ZXJSdWxlPXI9PnttYT1yfTtGZS5yZWdpc3RlckF0UnVsZT1yPT57aGE9cn07RmUucmVnaXN0ZXJSb290PXI9PntTYz1yfTtfYy5leHBvcnRzPUZlO0ZlLmRlZmF1bHQ9RmU7RmUucmVidWlsZD1yPT57ci50eXBlPT09ImF0cnVsZSI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsaGEucHJvdG90eXBlKTpyLnR5cGU9PT0icnVsZSI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsbWEucHJvdG90eXBlKTpyLnR5cGU9PT0iZGVjbCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsd2MucHJvdG90eXBlKTpyLnR5cGU9PT0iY29tbWVudCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsYmMucHJvdG90eXBlKTpyLnR5cGU9PT0icm9vdCImJk9iamVjdC5zZXRQcm90b3R5cGVPZihyLFNjLnByb3RvdHlwZSksclt4Y109ITAsci5ub2RlcyYmci5ub2Rlcy5mb3JFYWNoKGU9PntGZS5yZWJ1aWxkKGUpfSl9fSk7dmFyIHBuPXgoKE8zLE9jKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIEVjPUV0KCksS3I9Y2xhc3MgZXh0ZW5kcyBFY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnR5cGU9ImF0cnVsZSJ9YXBwZW5kKC4uLmUpe3JldHVybiB0aGlzLnByb3h5T2Yubm9kZXN8fCh0aGlzLm5vZGVzPVtdKSxzdXBlci5hcHBlbmQoLi4uZSl9cHJlcGVuZCguLi5lKXtyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSksc3VwZXIucHJlcGVuZCguLi5lKX19O09jLmV4cG9ydHM9S3I7S3IuZGVmYXVsdD1LcjtFYy5yZWdpc3RlckF0UnVsZShLcil9KTt2YXIgZG49eCgoVDMsUGMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgVHg9RXQoKSxUYyxSYyxlcj1jbGFzcyBleHRlbmRzIFR4e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHt0eXBlOiJkb2N1bWVudCIsLi4uZX0pO3RoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX10b1Jlc3VsdChlPXt9KXtyZXR1cm4gbmV3IFRjKG5ldyBSYyx0aGlzLGUpLnN0cmluZ2lmeSgpfX07ZXIucmVnaXN0ZXJMYXp5UmVzdWx0PXI9PntUYz1yfTtlci5yZWdpc3RlclByb2Nlc3Nvcj1yPT57UmM9cn07UGMuZXhwb3J0cz1lcjtlci5kZWZhdWx0PWVyfSk7dmFyIERjPXgoKFIzLEljKT0+e3UoKTt2YXIgUng9InVzZWFuZG9tLTI2VDE5ODM0MFBYNzVweEpBQ0tWRVJZTUlOREJVU0hXT0xGX0dRWmJmZ2hqa2xxdnd5enJpY3QiLFB4PShyLGU9MjEpPT4odD1lKT0+e2xldCBpPSIiLG49dDtmb3IoO24tLTspaSs9cltNYXRoLnJhbmRvbSgpKnIubGVuZ3RofDBdO3JldHVybiBpfSxJeD0ocj0yMSk9PntsZXQgZT0iIix0PXI7Zm9yKDt0LS07KWUrPVJ4W01hdGgucmFuZG9tKCkqNjR8MF07cmV0dXJuIGV9O0ljLmV4cG9ydHM9e25hbm9pZDpJeCxjdXN0b21BbHBoYWJldDpQeH19KTt2YXIgcWM9eCgoKT0+e3UoKX0pO3ZhciBnYT14KChEMywkYyk9Pnt1KCk7JGMuZXhwb3J0cz17fX0pO3ZhciBtbj14KChxMyxCYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhcntuYW5vaWQ6RHh9PURjKCkse2lzQWJzb2x1dGU6eWEscmVzb2x2ZTpiYX09KGV0KCksVXIpLHtTb3VyY2VNYXBDb25zdW1lcjpxeCxTb3VyY2VNYXBHZW5lcmF0b3I6JHh9PXFjKCkse2ZpbGVVUkxUb1BhdGg6TGMscGF0aFRvRmlsZVVSTDpobn09KGxhKCksbGMpLE1jPWFuKCksTHg9Z2EoKSx3YT11YSgpLHZhPVN5bWJvbCgiZnJvbU9mZnNldENhY2hlIiksTXg9Qm9vbGVhbihxeCYmJHgpLE5jPUJvb2xlYW4oYmEmJnlhKSxYcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQ9e30pe2lmKGU9PT1udWxsfHx0eXBlb2YgZT09InVuZGVmaW5lZCJ8fHR5cGVvZiBlPT0ib2JqZWN0IiYmIWUudG9TdHJpbmcpdGhyb3cgbmV3IEVycm9yKGBQb3N0Q1NTIHJlY2VpdmVkICR7ZX0gaW5zdGVhZCBvZiBDU1Mgc3RyaW5nYCk7aWYodGhpcy5jc3M9ZS50b1N0cmluZygpLHRoaXMuY3NzWzBdPT09Ilx1RkVGRiJ8fHRoaXMuY3NzWzBdPT09Ilx1RkZGRSI/KHRoaXMuaGFzQk9NPSEwLHRoaXMuY3NzPXRoaXMuY3NzLnNsaWNlKDEpKTp0aGlzLmhhc0JPTT0hMSx0LmZyb20mJighTmN8fC9eXHcrOlwvXC8vLnRlc3QodC5mcm9tKXx8eWEodC5mcm9tKT90aGlzLmZpbGU9dC5mcm9tOnRoaXMuZmlsZT1iYSh0LmZyb20pKSxOYyYmTXgpe2xldCBpPW5ldyBMeCh0aGlzLmNzcyx0KTtpZihpLnRleHQpe3RoaXMubWFwPWk7bGV0IG49aS5jb25zdW1lcigpLmZpbGU7IXRoaXMuZmlsZSYmbiYmKHRoaXMuZmlsZT10aGlzLm1hcFJlc29sdmUobikpfX10aGlzLmZpbGV8fCh0aGlzLmlkPSI8aW5wdXQgY3NzICIrRHgoNikrIj4iKSx0aGlzLm1hcCYmKHRoaXMubWFwLmZpbGU9dGhpcy5mcm9tKX1lcnJvcihlLHQsaSxuPXt9KXtsZXQgcyxhLG87aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QiKXtsZXQgYz10LGY9aTtpZih0eXBlb2YgYy5vZmZzZXQ9PSJudW1iZXIiKXtsZXQgZD10aGlzLmZyb21PZmZzZXQoYy5vZmZzZXQpO3Q9ZC5saW5lLGk9ZC5jb2x9ZWxzZSB0PWMubGluZSxpPWMuY29sdW1uO2lmKHR5cGVvZiBmLm9mZnNldD09Im51bWJlciIpe2xldCBkPXRoaXMuZnJvbU9mZnNldChmLm9mZnNldCk7YT1kLmxpbmUscz1kLmNvbH1lbHNlIGE9Zi5saW5lLHM9Zi5jb2x1bW59ZWxzZSBpZighaSl7bGV0IGM9dGhpcy5mcm9tT2Zmc2V0KHQpO3Q9Yy5saW5lLGk9Yy5jb2x9bGV0IGw9dGhpcy5vcmlnaW4odCxpLGEscyk7cmV0dXJuIGw/bz1uZXcgTWMoZSxsLmVuZExpbmU9PT12b2lkIDA/bC5saW5lOntjb2x1bW46bC5jb2x1bW4sbGluZTpsLmxpbmV9LGwuZW5kTGluZT09PXZvaWQgMD9sLmNvbHVtbjp7Y29sdW1uOmwuZW5kQ29sdW1uLGxpbmU6bC5lbmRMaW5lfSxsLnNvdXJjZSxsLmZpbGUsbi5wbHVnaW4pOm89bmV3IE1jKGUsYT09PXZvaWQgMD90Ontjb2x1bW46aSxsaW5lOnR9LGE9PT12b2lkIDA/aTp7Y29sdW1uOnMsbGluZTphfSx0aGlzLmNzcyx0aGlzLmZpbGUsbi5wbHVnaW4pLG8uaW5wdXQ9e2NvbHVtbjppLGVuZENvbHVtbjpzLGVuZExpbmU6YSxsaW5lOnQsc291cmNlOnRoaXMuY3NzfSx0aGlzLmZpbGUmJihobiYmKG8uaW5wdXQudXJsPWhuKHRoaXMuZmlsZSkudG9TdHJpbmcoKSksby5pbnB1dC5maWxlPXRoaXMuZmlsZSksb31mcm9tT2Zmc2V0KGUpe2xldCB0LGk7aWYodGhpc1t2YV0paT10aGlzW3ZhXTtlbHNle2xldCBzPXRoaXMuY3NzLnNwbGl0KGAKYCk7aT1uZXcgQXJyYXkocy5sZW5ndGgpO2xldCBhPTA7Zm9yKGxldCBvPTAsbD1zLmxlbmd0aDtvPGw7bysrKWlbb109YSxhKz1zW29dLmxlbmd0aCsxO3RoaXNbdmFdPWl9dD1pW2kubGVuZ3RoLTFdO2xldCBuPTA7aWYoZT49dCluPWkubGVuZ3RoLTE7ZWxzZXtsZXQgcz1pLmxlbmd0aC0yLGE7Zm9yKDtuPHM7KWlmKGE9bisocy1uPj4xKSxlPGlbYV0pcz1hLTE7ZWxzZSBpZihlPj1pW2ErMV0pbj1hKzE7ZWxzZXtuPWE7YnJlYWt9fXJldHVybntjb2w6ZS1pW25dKzEsbGluZTpuKzF9fW1hcFJlc29sdmUoZSl7cmV0dXJuL15cdys6XC9cLy8udGVzdChlKT9lOmJhKHRoaXMubWFwLmNvbnN1bWVyKCkuc291cmNlUm9vdHx8dGhpcy5tYXAucm9vdHx8Ii4iLGUpfW9yaWdpbihlLHQsaSxuKXtpZighdGhpcy5tYXApcmV0dXJuITE7bGV0IHM9dGhpcy5tYXAuY29uc3VtZXIoKSxhPXMub3JpZ2luYWxQb3NpdGlvbkZvcih7Y29sdW1uOnQsbGluZTplfSk7aWYoIWEuc291cmNlKXJldHVybiExO2xldCBvO3R5cGVvZiBpPT0ibnVtYmVyIiYmKG89cy5vcmlnaW5hbFBvc2l0aW9uRm9yKHtjb2x1bW46bixsaW5lOml9KSk7bGV0IGw7eWEoYS5zb3VyY2UpP2w9aG4oYS5zb3VyY2UpOmw9bmV3IFVSTChhLnNvdXJjZSx0aGlzLm1hcC5jb25zdW1lcigpLnNvdXJjZVJvb3R8fGhuKHRoaXMubWFwLm1hcEZpbGUpKTtsZXQgYz17Y29sdW1uOmEuY29sdW1uLGVuZENvbHVtbjpvJiZvLmNvbHVtbixlbmRMaW5lOm8mJm8ubGluZSxsaW5lOmEubGluZSx1cmw6bC50b1N0cmluZygpfTtpZihsLnByb3RvY29sPT09ImZpbGU6IilpZihMYyljLmZpbGU9TGMobCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoImZpbGU6IHByb3RvY29sIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBQb3N0Q1NTIGJ1aWxkIik7bGV0IGY9cy5zb3VyY2VDb250ZW50Rm9yKGEuc291cmNlKTtyZXR1cm4gZiYmKGMuc291cmNlPWYpLGN9dG9KU09OKCl7bGV0IGU9e307Zm9yKGxldCB0IG9mWyJoYXNCT00iLCJjc3MiLCJmaWxlIiwiaWQiXSl0aGlzW3RdIT1udWxsJiYoZVt0XT10aGlzW3RdKTtyZXR1cm4gdGhpcy5tYXAmJihlLm1hcD17Li4udGhpcy5tYXB9LGUubWFwLmNvbnN1bWVyQ2FjaGUmJihlLm1hcC5jb25zdW1lckNhY2hlPXZvaWQgMCkpLGV9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy5maWxlfHx0aGlzLmlkfX07QmMuZXhwb3J0cz1YcjtYci5kZWZhdWx0PVhyO3dhJiZ3YS5yZWdpc3RlcklucHV0JiZ3YS5yZWdpc3RlcklucHV0KFhyKX0pO3ZhciB0cj14KCgkMyxVYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBGYz1FdCgpLGpjLHpjLFV0PWNsYXNzIGV4dGVuZHMgRmN7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy50eXBlPSJyb290Iix0aGlzLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSl9bm9ybWFsaXplKGUsdCxpKXtsZXQgbj1zdXBlci5ub3JtYWxpemUoZSk7aWYodCl7aWYoaT09PSJwcmVwZW5kIil0aGlzLm5vZGVzLmxlbmd0aD4xP3QucmF3cy5iZWZvcmU9dGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZTpkZWxldGUgdC5yYXdzLmJlZm9yZTtlbHNlIGlmKHRoaXMuZmlyc3QhPT10KWZvcihsZXQgcyBvZiBuKXMucmF3cy5iZWZvcmU9dC5yYXdzLmJlZm9yZX1yZXR1cm4gbn1yZW1vdmVDaGlsZChlLHQpe2xldCBpPXRoaXMuaW5kZXgoZSk7cmV0dXJuIXQmJmk9PT0wJiZ0aGlzLm5vZGVzLmxlbmd0aD4xJiYodGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZT10aGlzLm5vZGVzW2ldLnJhd3MuYmVmb3JlKSxzdXBlci5yZW1vdmVDaGlsZChlKX10b1Jlc3VsdChlPXt9KXtyZXR1cm4gbmV3IGpjKG5ldyB6Yyx0aGlzLGUpLnN0cmluZ2lmeSgpfX07VXQucmVnaXN0ZXJMYXp5UmVzdWx0PXI9PntqYz1yfTtVdC5yZWdpc3RlclByb2Nlc3Nvcj1yPT57emM9cn07VWMuZXhwb3J0cz1VdDtVdC5kZWZhdWx0PVV0O0ZjLnJlZ2lzdGVyUm9vdChVdCl9KTt2YXIgeGE9eCgoTDMsVmMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgWnI9e2NvbW1hKHIpe3JldHVybiBaci5zcGxpdChyLFsiLCJdLCEwKX0sc3BhY2Uocil7bGV0IGU9WyIgIixgCmAsIgkiXTtyZXR1cm4gWnIuc3BsaXQocixlKX0sc3BsaXQocixlLHQpe2xldCBpPVtdLG49IiIscz0hMSxhPTAsbz0hMSxsPSIiLGM9ITE7Zm9yKGxldCBmIG9mIHIpYz9jPSExOmY9PT0iXFwiP2M9ITA6bz9mPT09bCYmKG89ITEpOmY9PT0nIid8fGY9PT0iJyI/KG89ITAsbD1mKTpmPT09IigiP2ErPTE6Zj09PSIpIj9hPjAmJihhLT0xKTphPT09MCYmZS5pbmNsdWRlcyhmKSYmKHM9ITApLHM/KG4hPT0iIiYmaS5wdXNoKG4udHJpbSgpKSxuPSIiLHM9ITEpOm4rPWY7cmV0dXJuKHR8fG4hPT0iIikmJmkucHVzaChuLnRyaW0oKSksaX19O1ZjLmV4cG9ydHM9WnI7WnIuZGVmYXVsdD1acn0pO3ZhciBnbj14KChNMyxXYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBIYz1FdCgpLE54PXhhKCksSnI9Y2xhc3MgZXh0ZW5kcyBIY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnR5cGU9InJ1bGUiLHRoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX1nZXQgc2VsZWN0b3JzKCl7cmV0dXJuIE54LmNvbW1hKHRoaXMuc2VsZWN0b3IpfXNldCBzZWxlY3RvcnMoZSl7bGV0IHQ9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yLm1hdGNoKC8sXHMqLyk6bnVsbCxpPXQ/dFswXToiLCIrdGhpcy5yYXcoImJldHdlZW4iLCJiZWZvcmVPcGVuIik7dGhpcy5zZWxlY3Rvcj1lLmpvaW4oaSl9fTtXYy5leHBvcnRzPUpyO0pyLmRlZmF1bHQ9SnI7SGMucmVnaXN0ZXJSdWxlKEpyKX0pO3ZhciBRYz14KChOMyxHYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBCeD1wbigpLEZ4PVFyKCksang9WXIoKSx6eD1tbigpLFV4PWdhKCksVng9dHIoKSxIeD1nbigpO2Z1bmN0aW9uIGVpKHIsZSl7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gci5tYXAobj0+ZWkobikpO2xldHtpbnB1dHM6dCwuLi5pfT1yO2lmKHQpe2U9W107Zm9yKGxldCBuIG9mIHQpe2xldCBzPXsuLi5uLF9fcHJvdG9fXzp6eC5wcm90b3R5cGV9O3MubWFwJiYocy5tYXA9ey4uLnMubWFwLF9fcHJvdG9fXzpVeC5wcm90b3R5cGV9KSxlLnB1c2gocyl9fWlmKGkubm9kZXMmJihpLm5vZGVzPXIubm9kZXMubWFwKG49PmVpKG4sZSkpKSxpLnNvdXJjZSl7bGV0e2lucHV0SWQ6biwuLi5zfT1pLnNvdXJjZTtpLnNvdXJjZT1zLG4hPW51bGwmJihpLnNvdXJjZS5pbnB1dD1lW25dKX1pZihpLnR5cGU9PT0icm9vdCIpcmV0dXJuIG5ldyBWeChpKTtpZihpLnR5cGU9PT0iZGVjbCIpcmV0dXJuIG5ldyBqeChpKTtpZihpLnR5cGU9PT0icnVsZSIpcmV0dXJuIG5ldyBIeChpKTtpZihpLnR5cGU9PT0iY29tbWVudCIpcmV0dXJuIG5ldyBGeChpKTtpZihpLnR5cGU9PT0iYXRydWxlIilyZXR1cm4gbmV3IEJ4KGkpO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBub2RlIHR5cGU6ICIrci50eXBlKX1HYy5leHBvcnRzPWVpO2VpLmRlZmF1bHQ9ZWl9KTt2YXIga2E9eCgoQjMsWWMpPT57dSgpO1ljLmV4cG9ydHM9ZnVuY3Rpb24ocixlKXtyZXR1cm57Z2VuZXJhdGU6KCk9PntsZXQgdD0iIjtyZXR1cm4gcihlLGk9Pnt0Kz1pfSksW3RdfX19fSk7dmFyIGVwPXgoKEYzLEpjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIFNhPSInIi5jaGFyQ29kZUF0KDApLEtjPSciJy5jaGFyQ29kZUF0KDApLHluPSJcXCIuY2hhckNvZGVBdCgwKSxYYz0iLyIuY2hhckNvZGVBdCgwKSxibj1gCmAuY2hhckNvZGVBdCgwKSx0aT0iICIuY2hhckNvZGVBdCgwKSx3bj0iXGYiLmNoYXJDb2RlQXQoMCksdm49IgkiLmNoYXJDb2RlQXQoMCkseG49IlxyIi5jaGFyQ29kZUF0KDApLFd4PSJbIi5jaGFyQ29kZUF0KDApLEd4PSJdIi5jaGFyQ29kZUF0KDApLFF4PSIoIi5jaGFyQ29kZUF0KDApLFl4PSIpIi5jaGFyQ29kZUF0KDApLEt4PSJ7Ii5jaGFyQ29kZUF0KDApLFh4PSJ9Ii5jaGFyQ29kZUF0KDApLFp4PSI7Ii5jaGFyQ29kZUF0KDApLEp4PSIqIi5jaGFyQ29kZUF0KDApLGUxPSI6Ii5jaGFyQ29kZUF0KDApLHQxPSJAIi5jaGFyQ29kZUF0KDApLGtuPS9bXHRcblxmXHIgIiMnKCkvO1tcXFxde31dL2csU249L1tcdFxuXGZcciAhIiMnKCk6O0BbXFxcXXt9XXxcLyg/PVwqKS9nLHIxPS8uW1xyXG4iJygvXFxdLyxaYz0vW1xkYS1mXS9pO0pjLmV4cG9ydHM9ZnVuY3Rpb24oZSx0PXt9KXtsZXQgaT1lLmNzcy52YWx1ZU9mKCksbj10Lmlnbm9yZUVycm9ycyxzLGEsbyxsLGMsZixkLHAsaCxiLHY9aS5sZW5ndGgseT0wLHc9W10saz1bXTtmdW5jdGlvbiBTKCl7cmV0dXJuIHl9ZnVuY3Rpb24gRShSKXt0aHJvdyBlLmVycm9yKCJVbmNsb3NlZCAiK1IseSl9ZnVuY3Rpb24gVCgpe3JldHVybiBrLmxlbmd0aD09PTAmJnk+PXZ9ZnVuY3Rpb24gQihSKXtpZihrLmxlbmd0aClyZXR1cm4gay5wb3AoKTtpZih5Pj12KXJldHVybjtsZXQgRj1SP1IuaWdub3JlVW5jbG9zZWQ6ITE7c3dpdGNoKHM9aS5jaGFyQ29kZUF0KHkpLHMpe2Nhc2UgYm46Y2FzZSB0aTpjYXNlIHZuOmNhc2UgeG46Y2FzZSB3bjp7bD15O2RvIGwrPTEscz1pLmNoYXJDb2RlQXQobCk7d2hpbGUocz09PXRpfHxzPT09Ym58fHM9PT12bnx8cz09PXhufHxzPT09d24pO2Y9WyJzcGFjZSIsaS5zbGljZSh5LGwpXSx5PWwtMTticmVha31jYXNlIFd4OmNhc2UgR3g6Y2FzZSBLeDpjYXNlIFh4OmNhc2UgZTE6Y2FzZSBaeDpjYXNlIFl4OntsZXQgWT1TdHJpbmcuZnJvbUNoYXJDb2RlKHMpO2Y9W1ksWSx5XTticmVha31jYXNlIFF4OntpZihiPXcubGVuZ3RoP3cucG9wKClbMV06IiIsaD1pLmNoYXJDb2RlQXQoeSsxKSxiPT09InVybCImJmghPT1TYSYmaCE9PUtjJiZoIT09dGkmJmghPT1ibiYmaCE9PXZuJiZoIT09d24mJmghPT14bil7bD15O2Rve2lmKGQ9ITEsbD1pLmluZGV4T2YoIikiLGwrMSksbD09PS0xKWlmKG58fEYpe2w9eTticmVha31lbHNlIEUoImJyYWNrZXQiKTtmb3IocD1sO2kuY2hhckNvZGVBdChwLTEpPT09eW47KXAtPTEsZD0hZH13aGlsZShkKTtmPVsiYnJhY2tldHMiLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sfWVsc2UgbD1pLmluZGV4T2YoIikiLHkrMSksYT1pLnNsaWNlKHksbCsxKSxsPT09LTF8fHIxLnRlc3QoYSk/Zj1bIigiLCIoIix5XTooZj1bImJyYWNrZXRzIixhLHksbF0seT1sKTticmVha31jYXNlIFNhOmNhc2UgS2M6e2M9cz09PVNhPyInIjonIicsbD15O2Rve2lmKGQ9ITEsbD1pLmluZGV4T2YoYyxsKzEpLGw9PT0tMSlpZihufHxGKXtsPXkrMTticmVha31lbHNlIEUoInN0cmluZyIpO2ZvcihwPWw7aS5jaGFyQ29kZUF0KHAtMSk9PT15bjspcC09MSxkPSFkfXdoaWxlKGQpO2Y9WyJzdHJpbmciLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sO2JyZWFrfWNhc2UgdDE6e2tuLmxhc3RJbmRleD15KzEsa24udGVzdChpKSxrbi5sYXN0SW5kZXg9PT0wP2w9aS5sZW5ndGgtMTpsPWtuLmxhc3RJbmRleC0yLGY9WyJhdC13b3JkIixpLnNsaWNlKHksbCsxKSx5LGxdLHk9bDticmVha31jYXNlIHluOntmb3IobD15LG89ITA7aS5jaGFyQ29kZUF0KGwrMSk9PT15bjspbCs9MSxvPSFvO2lmKHM9aS5jaGFyQ29kZUF0KGwrMSksbyYmcyE9PVhjJiZzIT09dGkmJnMhPT1ibiYmcyE9PXZuJiZzIT09eG4mJnMhPT13biYmKGwrPTEsWmMudGVzdChpLmNoYXJBdChsKSkpKXtmb3IoO1pjLnRlc3QoaS5jaGFyQXQobCsxKSk7KWwrPTE7aS5jaGFyQ29kZUF0KGwrMSk9PT10aSYmKGwrPTEpfWY9WyJ3b3JkIixpLnNsaWNlKHksbCsxKSx5LGxdLHk9bDticmVha31kZWZhdWx0OntzPT09WGMmJmkuY2hhckNvZGVBdCh5KzEpPT09Sng/KGw9aS5pbmRleE9mKCIqLyIseSsyKSsxLGw9PT0wJiYobnx8Rj9sPWkubGVuZ3RoOkUoImNvbW1lbnQiKSksZj1bImNvbW1lbnQiLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sKTooU24ubGFzdEluZGV4PXkrMSxTbi50ZXN0KGkpLFNuLmxhc3RJbmRleD09PTA/bD1pLmxlbmd0aC0xOmw9U24ubGFzdEluZGV4LTIsZj1bIndvcmQiLGkuc2xpY2UoeSxsKzEpLHksbF0sdy5wdXNoKGYpLHk9bCk7YnJlYWt9fXJldHVybiB5KyssZn1mdW5jdGlvbiBOKFIpe2sucHVzaChSKX1yZXR1cm57YmFjazpOLGVuZE9mRmlsZTpULG5leHRUb2tlbjpCLHBvc2l0aW9uOlN9fX0pO3ZhciBzcD14KChqMyxucCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBpMT1wbigpLG4xPVFyKCksczE9WXIoKSxhMT10cigpLHRwPWduKCksbzE9ZXAoKSxycD17ZW1wdHk6ITAsc3BhY2U6ITB9O2Z1bmN0aW9uIGwxKHIpe2ZvcihsZXQgZT1yLmxlbmd0aC0xO2U+PTA7ZS0tKXtsZXQgdD1yW2VdLGk9dFszXXx8dFsyXTtpZihpKXJldHVybiBpfX12YXIgaXA9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5pbnB1dD1lLHRoaXMucm9vdD1uZXcgYTEsdGhpcy5jdXJyZW50PXRoaXMucm9vdCx0aGlzLnNwYWNlcz0iIix0aGlzLnNlbWljb2xvbj0hMSx0aGlzLmNyZWF0ZVRva2VuaXplcigpLHRoaXMucm9vdC5zb3VyY2U9e2lucHV0OmUsc3RhcnQ6e2NvbHVtbjoxLGxpbmU6MSxvZmZzZXQ6MH19fWF0cnVsZShlKXtsZXQgdD1uZXcgaTE7dC5uYW1lPWVbMV0uc2xpY2UoMSksdC5uYW1lPT09IiImJnRoaXMudW5uYW1lZEF0cnVsZSh0LGUpLHRoaXMuaW5pdCh0LGVbMl0pO2xldCBpLG4scyxhPSExLG89ITEsbD1bXSxjPVtdO2Zvcig7IXRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpOyl7aWYoZT10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKSxpPWVbMF0saT09PSIoInx8aT09PSJbIj9jLnB1c2goaT09PSIoIj8iKSI6Il0iKTppPT09InsiJiZjLmxlbmd0aD4wP2MucHVzaCgifSIpOmk9PT1jW2MubGVuZ3RoLTFdJiZjLnBvcCgpLGMubGVuZ3RoPT09MClpZihpPT09IjsiKXt0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihlWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyssdGhpcy5zZW1pY29sb249ITA7YnJlYWt9ZWxzZSBpZihpPT09InsiKXtvPSEwO2JyZWFrfWVsc2UgaWYoaT09PSJ9Iil7aWYobC5sZW5ndGg+MCl7Zm9yKHM9bC5sZW5ndGgtMSxuPWxbc107biYmblswXT09PSJzcGFjZSI7KW49bFstLXNdO24mJih0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihuWzNdfHxuWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyspfXRoaXMuZW5kKGUpO2JyZWFrfWVsc2UgbC5wdXNoKGUpO2Vsc2UgbC5wdXNoKGUpO2lmKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpKXthPSEwO2JyZWFrfX10LnJhd3MuYmV0d2Vlbj10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChsKSxsLmxlbmd0aD8odC5yYXdzLmFmdGVyTmFtZT10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGwpLHRoaXMucmF3KHQsInBhcmFtcyIsbCksYSYmKGU9bFtsLmxlbmd0aC0xXSx0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihlWzNdfHxlWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyssdGhpcy5zcGFjZXM9dC5yYXdzLmJldHdlZW4sdC5yYXdzLmJldHdlZW49IiIpKToodC5yYXdzLmFmdGVyTmFtZT0iIix0LnBhcmFtcz0iIiksbyYmKHQubm9kZXM9W10sdGhpcy5jdXJyZW50PXQpfWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpe2xldCB0PXRoaXMuY29sb24oZSk7aWYodD09PSExKXJldHVybjtsZXQgaT0wLG47Zm9yKGxldCBzPXQtMTtzPj0wJiYobj1lW3NdLCEoblswXSE9PSJzcGFjZSImJihpKz0xLGk9PT0yKSkpO3MtLSk7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiTWlzc2VkIHNlbWljb2xvbiIsblswXT09PSJ3b3JkIj9uWzNdKzE6blsyXSl9Y29sb24oZSl7bGV0IHQ9MCxpLG4scztmb3IobGV0W2Esb11vZiBlLmVudHJpZXMoKSl7aWYobj1vLHM9blswXSxzPT09IigiJiYodCs9MSkscz09PSIpIiYmKHQtPTEpLHQ9PT0wJiZzPT09IjoiKWlmKCFpKXRoaXMuZG91YmxlQ29sb24obik7ZWxzZXtpZihpWzBdPT09IndvcmQiJiZpWzFdPT09InByb2dpZCIpY29udGludWU7cmV0dXJuIGF9aT1ufXJldHVybiExfWNvbW1lbnQoZSl7bGV0IHQ9bmV3IG4xO3RoaXMuaW5pdCh0LGVbMl0pLHQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbM118fGVbMl0pLHQuc291cmNlLmVuZC5vZmZzZXQrKztsZXQgaT1lWzFdLnNsaWNlKDIsLTIpO2lmKC9eXHMqJC8udGVzdChpKSl0LnRleHQ9IiIsdC5yYXdzLmxlZnQ9aSx0LnJhd3MucmlnaHQ9IiI7ZWxzZXtsZXQgbj1pLm1hdGNoKC9eKFxzKikoW15dKlxTKShccyopJC8pO3QudGV4dD1uWzJdLHQucmF3cy5sZWZ0PW5bMV0sdC5yYXdzLnJpZ2h0PW5bM119fWNyZWF0ZVRva2VuaXplcigpe3RoaXMudG9rZW5pemVyPW8xKHRoaXMuaW5wdXQpfWRlY2woZSx0KXtsZXQgaT1uZXcgczE7dGhpcy5pbml0KGksZVswXVsyXSk7bGV0IG49ZVtlLmxlbmd0aC0xXTtmb3IoblswXT09PSI7IiYmKHRoaXMuc2VtaWNvbG9uPSEwLGUucG9wKCkpLGkuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKG5bM118fG5bMl18fGwxKGUpKSxpLnNvdXJjZS5lbmQub2Zmc2V0Kys7ZVswXVswXSE9PSJ3b3JkIjspZS5sZW5ndGg9PT0xJiZ0aGlzLnVua25vd25Xb3JkKGUpLGkucmF3cy5iZWZvcmUrPWUuc2hpZnQoKVsxXTtmb3IoaS5zb3VyY2Uuc3RhcnQ9dGhpcy5nZXRQb3NpdGlvbihlWzBdWzJdKSxpLnByb3A9IiI7ZS5sZW5ndGg7KXtsZXQgYz1lWzBdWzBdO2lmKGM9PT0iOiJ8fGM9PT0ic3BhY2UifHxjPT09ImNvbW1lbnQiKWJyZWFrO2kucHJvcCs9ZS5zaGlmdCgpWzFdfWkucmF3cy5iZXR3ZWVuPSIiO2xldCBzO2Zvcig7ZS5sZW5ndGg7KWlmKHM9ZS5zaGlmdCgpLHNbMF09PT0iOiIpe2kucmF3cy5iZXR3ZWVuKz1zWzFdO2JyZWFrfWVsc2Ugc1swXT09PSJ3b3JkIiYmL1x3Ly50ZXN0KHNbMV0pJiZ0aGlzLnVua25vd25Xb3JkKFtzXSksaS5yYXdzLmJldHdlZW4rPXNbMV07KGkucHJvcFswXT09PSJfInx8aS5wcm9wWzBdPT09IioiKSYmKGkucmF3cy5iZWZvcmUrPWkucHJvcFswXSxpLnByb3A9aS5wcm9wLnNsaWNlKDEpKTtsZXQgYT1bXSxvO2Zvcig7ZS5sZW5ndGgmJihvPWVbMF1bMF0sIShvIT09InNwYWNlIiYmbyE9PSJjb21tZW50IikpOylhLnB1c2goZS5zaGlmdCgpKTt0aGlzLnByZWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpO2ZvcihsZXQgYz1lLmxlbmd0aC0xO2M+PTA7Yy0tKXtpZihzPWVbY10sc1sxXS50b0xvd2VyQ2FzZSgpPT09IiFpbXBvcnRhbnQiKXtpLmltcG9ydGFudD0hMDtsZXQgZj10aGlzLnN0cmluZ0Zyb20oZSxjKTtmPXRoaXMuc3BhY2VzRnJvbUVuZChlKStmLGYhPT0iICFpbXBvcnRhbnQiJiYoaS5yYXdzLmltcG9ydGFudD1mKTticmVha31lbHNlIGlmKHNbMV0udG9Mb3dlckNhc2UoKT09PSJpbXBvcnRhbnQiKXtsZXQgZj1lLnNsaWNlKDApLGQ9IiI7Zm9yKGxldCBwPWM7cD4wO3AtLSl7bGV0IGg9ZltwXVswXTtpZihkLnRyaW0oKS5zdGFydHNXaXRoKCIhIikmJmghPT0ic3BhY2UiKWJyZWFrO2Q9Zi5wb3AoKVsxXStkfWQudHJpbSgpLnN0YXJ0c1dpdGgoIiEiKSYmKGkuaW1wb3J0YW50PSEwLGkucmF3cy5pbXBvcnRhbnQ9ZCxlPWYpfWlmKHNbMF0hPT0ic3BhY2UiJiZzWzBdIT09ImNvbW1lbnQiKWJyZWFrfWUuc29tZShjPT5jWzBdIT09InNwYWNlIiYmY1swXSE9PSJjb21tZW50IikmJihpLnJhd3MuYmV0d2Vlbis9YS5tYXAoYz0+Y1sxXSkuam9pbigiIiksYT1bXSksdGhpcy5yYXcoaSwidmFsdWUiLGEuY29uY2F0KGUpLHQpLGkudmFsdWUuaW5jbHVkZXMoIjoiKSYmIXQmJnRoaXMuY2hlY2tNaXNzZWRTZW1pY29sb24oZSl9ZG91YmxlQ29sb24oZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiRG91YmxlIGNvbG9uIix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXStlWzFdLmxlbmd0aH0pfWVtcHR5UnVsZShlKXtsZXQgdD1uZXcgdHA7dGhpcy5pbml0KHQsZVsyXSksdC5zZWxlY3Rvcj0iIix0LnJhd3MuYmV0d2Vlbj0iIix0aGlzLmN1cnJlbnQ9dH1lbmQoZSl7dGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLnNlbWljb2xvbj0hMSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fCIiKSt0aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIix0aGlzLmN1cnJlbnQucGFyZW50Pyh0aGlzLmN1cnJlbnQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbMl0pLHRoaXMuY3VycmVudC5zb3VyY2UuZW5kLm9mZnNldCsrLHRoaXMuY3VycmVudD10aGlzLmN1cnJlbnQucGFyZW50KTp0aGlzLnVuZXhwZWN0ZWRDbG9zZShlKX1lbmRGaWxlKCl7dGhpcy5jdXJyZW50LnBhcmVudCYmdGhpcy51bmNsb3NlZEJsb2NrKCksdGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fCIiKSt0aGlzLnNwYWNlcyx0aGlzLnJvb3Quc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKHRoaXMudG9rZW5pemVyLnBvc2l0aW9uKCkpfWZyZWVTZW1pY29sb24oZSl7aWYodGhpcy5zcGFjZXMrPWVbMV0sdGhpcy5jdXJyZW50Lm5vZGVzKXtsZXQgdD10aGlzLmN1cnJlbnQubm9kZXNbdGhpcy5jdXJyZW50Lm5vZGVzLmxlbmd0aC0xXTt0JiZ0LnR5cGU9PT0icnVsZSImJiF0LnJhd3Mub3duU2VtaWNvbG9uJiYodC5yYXdzLm93blNlbWljb2xvbj10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIil9fWdldFBvc2l0aW9uKGUpe2xldCB0PXRoaXMuaW5wdXQuZnJvbU9mZnNldChlKTtyZXR1cm57Y29sdW1uOnQuY29sLGxpbmU6dC5saW5lLG9mZnNldDplfX1pbml0KGUsdCl7dGhpcy5jdXJyZW50LnB1c2goZSksZS5zb3VyY2U9e2lucHV0OnRoaXMuaW5wdXQsc3RhcnQ6dGhpcy5nZXRQb3NpdGlvbih0KX0sZS5yYXdzLmJlZm9yZT10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIixlLnR5cGUhPT0iY29tbWVudCImJih0aGlzLnNlbWljb2xvbj0hMSl9b3RoZXIoZSl7bGV0IHQ9ITEsaT1udWxsLG49ITEscz1udWxsLGE9W10sbz1lWzFdLnN0YXJ0c1dpdGgoIi0tIiksbD1bXSxjPWU7Zm9yKDtjOyl7aWYoaT1jWzBdLGwucHVzaChjKSxpPT09IigifHxpPT09IlsiKXN8fChzPWMpLGEucHVzaChpPT09IigiPyIpIjoiXSIpO2Vsc2UgaWYobyYmbiYmaT09PSJ7IilzfHwocz1jKSxhLnB1c2goIn0iKTtlbHNlIGlmKGEubGVuZ3RoPT09MClpZihpPT09IjsiKWlmKG4pe3RoaXMuZGVjbChsLG8pO3JldHVybn1lbHNlIGJyZWFrO2Vsc2UgaWYoaT09PSJ7Iil7dGhpcy5ydWxlKGwpO3JldHVybn1lbHNlIGlmKGk9PT0ifSIpe3RoaXMudG9rZW5pemVyLmJhY2sobC5wb3AoKSksdD0hMDticmVha31lbHNlIGk9PT0iOiImJihuPSEwKTtlbHNlIGk9PT1hW2EubGVuZ3RoLTFdJiYoYS5wb3AoKSxhLmxlbmd0aD09PTAmJihzPW51bGwpKTtjPXRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpfWlmKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpJiYodD0hMCksYS5sZW5ndGg+MCYmdGhpcy51bmNsb3NlZEJyYWNrZXQocyksdCYmbil7aWYoIW8pZm9yKDtsLmxlbmd0aCYmKGM9bFtsLmxlbmd0aC0xXVswXSwhKGMhPT0ic3BhY2UiJiZjIT09ImNvbW1lbnQiKSk7KXRoaXMudG9rZW5pemVyLmJhY2sobC5wb3AoKSk7dGhpcy5kZWNsKGwsbyl9ZWxzZSB0aGlzLnVua25vd25Xb3JkKGwpfXBhcnNlKCl7bGV0IGU7Zm9yKDshdGhpcy50b2tlbml6ZXIuZW5kT2ZGaWxlKCk7KXN3aXRjaChlPXRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpLGVbMF0pe2Nhc2Uic3BhY2UiOnRoaXMuc3BhY2VzKz1lWzFdO2JyZWFrO2Nhc2UiOyI6dGhpcy5mcmVlU2VtaWNvbG9uKGUpO2JyZWFrO2Nhc2UifSI6dGhpcy5lbmQoZSk7YnJlYWs7Y2FzZSJjb21tZW50Ijp0aGlzLmNvbW1lbnQoZSk7YnJlYWs7Y2FzZSJhdC13b3JkIjp0aGlzLmF0cnVsZShlKTticmVhaztjYXNlInsiOnRoaXMuZW1wdHlSdWxlKGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5vdGhlcihlKTticmVha310aGlzLmVuZEZpbGUoKX1wcmVjaGVja01pc3NlZFNlbWljb2xvbigpe31yYXcoZSx0LGksbil7bGV0IHMsYSxvPWkubGVuZ3RoLGw9IiIsYz0hMCxmLGQ7Zm9yKGxldCBwPTA7cDxvO3ArPTEpcz1pW3BdLGE9c1swXSxhPT09InNwYWNlIiYmcD09PW8tMSYmIW4/Yz0hMTphPT09ImNvbW1lbnQiPyhkPWlbcC0xXT9pW3AtMV1bMF06ImVtcHR5IixmPWlbcCsxXT9pW3ArMV1bMF06ImVtcHR5IiwhcnBbZF0mJiFycFtmXT9sLnNsaWNlKC0xKT09PSIsIj9jPSExOmwrPXNbMV06Yz0hMSk6bCs9c1sxXTtpZighYyl7bGV0IHA9aS5yZWR1Y2UoKGgsYik9PmgrYlsxXSwiIik7ZS5yYXdzW3RdPXtyYXc6cCx2YWx1ZTpsfX1lW3RdPWx9cnVsZShlKXtlLnBvcCgpO2xldCB0PW5ldyB0cDt0aGlzLmluaXQodCxlWzBdWzJdKSx0LnJhd3MuYmV0d2Vlbj10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChlKSx0aGlzLnJhdyh0LCJzZWxlY3RvciIsZSksdGhpcy5jdXJyZW50PXR9c3BhY2VzQW5kQ29tbWVudHNGcm9tRW5kKGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVtlLmxlbmd0aC0xXVswXSwhKHQhPT0ic3BhY2UiJiZ0IT09ImNvbW1lbnQiKSk7KWk9ZS5wb3AoKVsxXStpO3JldHVybiBpfXNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVswXVswXSwhKHQhPT0ic3BhY2UiJiZ0IT09ImNvbW1lbnQiKSk7KWkrPWUuc2hpZnQoKVsxXTtyZXR1cm4gaX1zcGFjZXNGcm9tRW5kKGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVtlLmxlbmd0aC0xXVswXSx0PT09InNwYWNlIik7KWk9ZS5wb3AoKVsxXStpO3JldHVybiBpfXN0cmluZ0Zyb20oZSx0KXtsZXQgaT0iIjtmb3IobGV0IG49dDtuPGUubGVuZ3RoO24rKylpKz1lW25dWzFdO3JldHVybiBlLnNwbGljZSh0LGUubGVuZ3RoLXQpLGl9dW5jbG9zZWRCbG9jaygpe2xldCBlPXRoaXMuY3VycmVudC5zb3VyY2Uuc3RhcnQ7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5jbG9zZWQgYmxvY2siLGUubGluZSxlLmNvbHVtbil9dW5jbG9zZWRCcmFja2V0KGUpe3Rocm93IHRoaXMuaW5wdXQuZXJyb3IoIlVuY2xvc2VkIGJyYWNrZXQiLHtvZmZzZXQ6ZVsyXX0se29mZnNldDplWzJdKzF9KX11bmV4cGVjdGVkQ2xvc2UoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5leHBlY3RlZCB9Iix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXSsxfSl9dW5rbm93bldvcmQoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5rbm93biB3b3JkIix7b2Zmc2V0OmVbMF1bMl19LHtvZmZzZXQ6ZVswXVsyXStlWzBdWzFdLmxlbmd0aH0pfXVubmFtZWRBdHJ1bGUoZSx0KXt0aHJvdyB0aGlzLmlucHV0LmVycm9yKCJBdC1ydWxlIHdpdGhvdXQgbmFtZSIse29mZnNldDp0WzJdfSx7b2Zmc2V0OnRbMl0rdFsxXS5sZW5ndGh9KX19O25wLmV4cG9ydHM9aXB9KTt2YXIgQ249eCgoejMsYXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgdTE9RXQoKSxmMT1tbigpLGMxPXNwKCk7ZnVuY3Rpb24gQW4ocixlKXtsZXQgdD1uZXcgZjEocixlKSxpPW5ldyBjMSh0KTt0cnl7aS5wYXJzZSgpfWNhdGNoKG4pe3Rocm93IG59cmV0dXJuIGkucm9vdH1hcC5leHBvcnRzPUFuO0FuLmRlZmF1bHQ9QW47dTEucmVnaXN0ZXJQYXJzZShBbil9KTt2YXIgQWE9eCgoVTMsb3ApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgX249Y2xhc3N7Y29uc3RydWN0b3IoZSx0PXt9KXtpZih0aGlzLnR5cGU9Indhcm5pbmciLHRoaXMudGV4dD1lLHQubm9kZSYmdC5ub2RlLnNvdXJjZSl7bGV0IGk9dC5ub2RlLnJhbmdlQnkodCk7dGhpcy5saW5lPWkuc3RhcnQubGluZSx0aGlzLmNvbHVtbj1pLnN0YXJ0LmNvbHVtbix0aGlzLmVuZExpbmU9aS5lbmQubGluZSx0aGlzLmVuZENvbHVtbj1pLmVuZC5jb2x1bW59Zm9yKGxldCBpIGluIHQpdGhpc1tpXT10W2ldfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubm9kZT90aGlzLm5vZGUuZXJyb3IodGhpcy50ZXh0LHtpbmRleDp0aGlzLmluZGV4LHBsdWdpbjp0aGlzLnBsdWdpbix3b3JkOnRoaXMud29yZH0pLm1lc3NhZ2U6dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rIjogIit0aGlzLnRleHQ6dGhpcy50ZXh0fX07b3AuZXhwb3J0cz1fbjtfbi5kZWZhdWx0PV9ufSk7dmFyIE9uPXgoKFYzLGxwKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHAxPUFhKCksRW49Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucHJvY2Vzc29yPWUsdGhpcy5tZXNzYWdlcz1bXSx0aGlzLnJvb3Q9dCx0aGlzLm9wdHM9aSx0aGlzLmNzcz12b2lkIDAsdGhpcy5tYXA9dm9pZCAwfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzfXdhcm4oZSx0PXt9KXt0LnBsdWdpbnx8dGhpcy5sYXN0UGx1Z2luJiZ0aGlzLmxhc3RQbHVnaW4ucG9zdGNzc1BsdWdpbiYmKHQucGx1Z2luPXRoaXMubGFzdFBsdWdpbi5wb3N0Y3NzUGx1Z2luKTtsZXQgaT1uZXcgcDEoZSx0KTtyZXR1cm4gdGhpcy5tZXNzYWdlcy5wdXNoKGkpLGl9d2FybmluZ3MoKXtyZXR1cm4gdGhpcy5tZXNzYWdlcy5maWx0ZXIoZT0+ZS50eXBlPT09Indhcm5pbmciKX1nZXQgY29udGVudCgpe3JldHVybiB0aGlzLmNzc319O2xwLmV4cG9ydHM9RW47RW4uZGVmYXVsdD1Fbn0pO3ZhciBDYT14KChIMyxmcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciB1cD17fTtmcC5leHBvcnRzPWZ1bmN0aW9uKGUpe3VwW2VdfHwodXBbZV09ITAsdHlwZW9mIGNvbnNvbGUhPSJ1bmRlZmluZWQiJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybihlKSl9fSk7dmFyIE9hPXgoKEczLGhwKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIGQxPUV0KCksaDE9ZG4oKSxtMT1rYSgpLGcxPUNuKCksY3A9T24oKSx5MT10cigpLGIxPVZyKCkse2lzQ2xlYW46dHQsbXk6dzF9PWxuKCksVzM9Q2EoKSx2MT17YXRydWxlOiJBdFJ1bGUiLGNvbW1lbnQ6IkNvbW1lbnQiLGRlY2w6IkRlY2xhcmF0aW9uIixkb2N1bWVudDoiRG9jdW1lbnQiLHJvb3Q6IlJvb3QiLHJ1bGU6IlJ1bGUifSx4MT17QXRSdWxlOiEwLEF0UnVsZUV4aXQ6ITAsQ29tbWVudDohMCxDb21tZW50RXhpdDohMCxEZWNsYXJhdGlvbjohMCxEZWNsYXJhdGlvbkV4aXQ6ITAsRG9jdW1lbnQ6ITAsRG9jdW1lbnRFeGl0OiEwLE9uY2U6ITAsT25jZUV4aXQ6ITAscG9zdGNzc1BsdWdpbjohMCxwcmVwYXJlOiEwLFJvb3Q6ITAsUm9vdEV4aXQ6ITAsUnVsZTohMCxSdWxlRXhpdDohMH0sazE9e09uY2U6ITAscG9zdGNzc1BsdWdpbjohMCxwcmVwYXJlOiEwfSxycj0wO2Z1bmN0aW9uIHJpKHIpe3JldHVybiB0eXBlb2Ygcj09Im9iamVjdCImJnR5cGVvZiByLnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gcHAocil7bGV0IGU9ITEsdD12MVtyLnR5cGVdO3JldHVybiByLnR5cGU9PT0iZGVjbCI/ZT1yLnByb3AudG9Mb3dlckNhc2UoKTpyLnR5cGU9PT0iYXRydWxlIiYmKGU9ci5uYW1lLnRvTG93ZXJDYXNlKCkpLGUmJnIuYXBwZW5kP1t0LHQrIi0iK2UscnIsdCsiRXhpdCIsdCsiRXhpdC0iK2VdOmU/W3QsdCsiLSIrZSx0KyJFeGl0Iix0KyJFeGl0LSIrZV06ci5hcHBlbmQ/W3QscnIsdCsiRXhpdCJdOlt0LHQrIkV4aXQiXX1mdW5jdGlvbiBkcChyKXtsZXQgZTtyZXR1cm4gci50eXBlPT09ImRvY3VtZW50Ij9lPVsiRG9jdW1lbnQiLHJyLCJEb2N1bWVudEV4aXQiXTpyLnR5cGU9PT0icm9vdCI/ZT1bIlJvb3QiLHJyLCJSb290RXhpdCJdOmU9cHAocikse2V2ZW50SW5kZXg6MCxldmVudHM6ZSxpdGVyYXRvcjowLG5vZGU6cix2aXNpdG9ySW5kZXg6MCx2aXNpdG9yczpbXX19ZnVuY3Rpb24gX2Eocil7cmV0dXJuIHJbdHRdPSExLHIubm9kZXMmJnIubm9kZXMuZm9yRWFjaChlPT5fYShlKSkscn12YXIgRWE9e30scHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuc3RyaW5naWZpZWQ9ITEsdGhpcy5wcm9jZXNzZWQ9ITE7bGV0IG47aWYodHlwZW9mIHQ9PSJvYmplY3QiJiZ0IT09bnVsbCYmKHQudHlwZT09PSJyb290Inx8dC50eXBlPT09ImRvY3VtZW50Iikpbj1fYSh0KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiBwdHx8dCBpbnN0YW5jZW9mIGNwKW49X2EodC5yb290KSx0Lm1hcCYmKHR5cGVvZiBpLm1hcD09InVuZGVmaW5lZCImJihpLm1hcD17fSksaS5tYXAuaW5saW5lfHwoaS5tYXAuaW5saW5lPSExKSxpLm1hcC5wcmV2PXQubWFwKTtlbHNle2xldCBzPWcxO2kuc3ludGF4JiYocz1pLnN5bnRheC5wYXJzZSksaS5wYXJzZXImJihzPWkucGFyc2VyKSxzLnBhcnNlJiYocz1zLnBhcnNlKTt0cnl7bj1zKHQsaSl9Y2F0Y2goYSl7dGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5lcnJvcj1hfW4mJiFuW3cxXSYmZDEucmVidWlsZChuKX10aGlzLnJlc3VsdD1uZXcgY3AoZSxuLGkpLHRoaXMuaGVscGVycz17Li4uRWEscG9zdGNzczpFYSxyZXN1bHQ6dGhpcy5yZXN1bHR9LHRoaXMucGx1Z2lucz10aGlzLnByb2Nlc3Nvci5wbHVnaW5zLm1hcChzPT50eXBlb2Ygcz09Im9iamVjdCImJnMucHJlcGFyZT97Li4ucywuLi5zLnByZXBhcmUodGhpcy5yZXN1bHQpfTpzKX1hc3luYygpe3JldHVybiB0aGlzLmVycm9yP1Byb21pc2UucmVqZWN0KHRoaXMuZXJyb3IpOnRoaXMucHJvY2Vzc2VkP1Byb21pc2UucmVzb2x2ZSh0aGlzLnJlc3VsdCk6KHRoaXMucHJvY2Vzc2luZ3x8KHRoaXMucHJvY2Vzc2luZz10aGlzLnJ1bkFzeW5jKCkpLHRoaXMucHJvY2Vzc2luZyl9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS5jYXRjaChlKX1maW5hbGx5KGUpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLGUpfWdldEFzeW5jRXJyb3IoKXt0aHJvdyBuZXcgRXJyb3IoIlVzZSBwcm9jZXNzKGNzcykudGhlbihjYikgdG8gd29yayB3aXRoIGFzeW5jIHBsdWdpbnMiKX1oYW5kbGVFcnJvcihlLHQpe2xldCBpPXRoaXMucmVzdWx0Lmxhc3RQbHVnaW47dHJ5e3QmJnQuYWRkVG9FcnJvcihlKSx0aGlzLmVycm9yPWUsZS5uYW1lPT09IkNzc1N5bnRheEVycm9yIiYmIWUucGx1Z2luPyhlLnBsdWdpbj1pLnBvc3Rjc3NQbHVnaW4sZS5zZXRNZXNzYWdlKCkpOmkucG9zdGNzc1ZlcnNpb259Y2F0Y2gobil7Y29uc29sZSYmY29uc29sZS5lcnJvciYmY29uc29sZS5lcnJvcihuKX1yZXR1cm4gZX1wcmVwYXJlVmlzaXRvcnMoKXt0aGlzLmxpc3RlbmVycz17fTtsZXQgZT0odCxpLG4pPT57dGhpcy5saXN0ZW5lcnNbaV18fCh0aGlzLmxpc3RlbmVyc1tpXT1bXSksdGhpcy5saXN0ZW5lcnNbaV0ucHVzaChbdCxuXSl9O2ZvcihsZXQgdCBvZiB0aGlzLnBsdWdpbnMpaWYodHlwZW9mIHQ9PSJvYmplY3QiKWZvcihsZXQgaSBpbiB0KXtpZigheDFbaV0mJi9eW0EtWl0vLnRlc3QoaSkpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGV2ZW50ICR7aX0gaW4gJHt0LnBvc3Rjc3NQbHVnaW59LiBUcnkgdG8gdXBkYXRlIFBvc3RDU1MgKCR7dGhpcy5wcm9jZXNzb3IudmVyc2lvbn0gbm93KS5gKTtpZighazFbaV0paWYodHlwZW9mIHRbaV09PSJvYmplY3QiKWZvcihsZXQgbiBpbiB0W2ldKW49PT0iKiI/ZSh0LGksdFtpXVtuXSk6ZSh0LGkrIi0iK24udG9Mb3dlckNhc2UoKSx0W2ldW25dKTtlbHNlIHR5cGVvZiB0W2ldPT0iZnVuY3Rpb24iJiZlKHQsaSx0W2ldKX10aGlzLmhhc0xpc3RlbmVyPU9iamVjdC5rZXlzKHRoaXMubGlzdGVuZXJzKS5sZW5ndGg+MH1hc3luYyBydW5Bc3luYygpe3RoaXMucGx1Z2luPTA7Zm9yKGxldCBlPTA7ZTx0aGlzLnBsdWdpbnMubGVuZ3RoO2UrKyl7bGV0IHQ9dGhpcy5wbHVnaW5zW2VdLGk9dGhpcy5ydW5PblJvb3QodCk7aWYocmkoaSkpdHJ5e2F3YWl0IGl9Y2F0Y2gobil7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuKX19aWYodGhpcy5wcmVwYXJlVmlzaXRvcnMoKSx0aGlzLmhhc0xpc3RlbmVyKXtsZXQgZT10aGlzLnJlc3VsdC5yb290O2Zvcig7IWVbdHRdOyl7ZVt0dF09ITA7bGV0IHQ9W2RwKGUpXTtmb3IoO3QubGVuZ3RoPjA7KXtsZXQgaT10aGlzLnZpc2l0VGljayh0KTtpZihyaShpKSl0cnl7YXdhaXQgaX1jYXRjaChuKXtsZXQgcz10W3QubGVuZ3RoLTFdLm5vZGU7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuLHMpfX19aWYodGhpcy5saXN0ZW5lcnMuT25jZUV4aXQpZm9yKGxldFt0LGldb2YgdGhpcy5saXN0ZW5lcnMuT25jZUV4aXQpe3RoaXMucmVzdWx0Lmxhc3RQbHVnaW49dDt0cnl7aWYoZS50eXBlPT09ImRvY3VtZW50Iil7bGV0IG49ZS5ub2Rlcy5tYXAocz0+aShzLHRoaXMuaGVscGVycykpO2F3YWl0IFByb21pc2UuYWxsKG4pfWVsc2UgYXdhaXQgaShlLHRoaXMuaGVscGVycyl9Y2F0Y2gobil7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuKX19fXJldHVybiB0aGlzLnByb2Nlc3NlZD0hMCx0aGlzLnN0cmluZ2lmeSgpfXJ1bk9uUm9vdChlKXt0aGlzLnJlc3VsdC5sYXN0UGx1Z2luPWU7dHJ5e2lmKHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5PbmNlKXtpZih0aGlzLnJlc3VsdC5yb290LnR5cGU9PT0iZG9jdW1lbnQiKXtsZXQgdD10aGlzLnJlc3VsdC5yb290Lm5vZGVzLm1hcChpPT5lLk9uY2UoaSx0aGlzLmhlbHBlcnMpKTtyZXR1cm4gcmkodFswXSk/UHJvbWlzZS5hbGwodCk6dH1yZXR1cm4gZS5PbmNlKHRoaXMucmVzdWx0LnJvb3QsdGhpcy5oZWxwZXJzKX1lbHNlIGlmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBlKHRoaXMucmVzdWx0LnJvb3QsdGhpcy5yZXN1bHQpfWNhdGNoKHQpe3Rocm93IHRoaXMuaGFuZGxlRXJyb3IodCl9fXN0cmluZ2lmeSgpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLnN0cmluZ2lmaWVkKXJldHVybiB0aGlzLnJlc3VsdDt0aGlzLnN0cmluZ2lmaWVkPSEwLHRoaXMuc3luYygpO2xldCBlPXRoaXMucmVzdWx0Lm9wdHMsdD1iMTtlLnN5bnRheCYmKHQ9ZS5zeW50YXguc3RyaW5naWZ5KSxlLnN0cmluZ2lmaWVyJiYodD1lLnN0cmluZ2lmaWVyKSx0LnN0cmluZ2lmeSYmKHQ9dC5zdHJpbmdpZnkpO2xldCBuPW5ldyBtMSh0LHRoaXMucmVzdWx0LnJvb3QsdGhpcy5yZXN1bHQub3B0cykuZ2VuZXJhdGUoKTtyZXR1cm4gdGhpcy5yZXN1bHQuY3NzPW5bMF0sdGhpcy5yZXN1bHQubWFwPW5bMV0sdGhpcy5yZXN1bHR9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLnByb2Nlc3NlZClyZXR1cm4gdGhpcy5yZXN1bHQ7aWYodGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5wcm9jZXNzaW5nKXRocm93IHRoaXMuZ2V0QXN5bmNFcnJvcigpO2ZvcihsZXQgZSBvZiB0aGlzLnBsdWdpbnMpe2xldCB0PXRoaXMucnVuT25Sb290KGUpO2lmKHJpKHQpKXRocm93IHRoaXMuZ2V0QXN5bmNFcnJvcigpfWlmKHRoaXMucHJlcGFyZVZpc2l0b3JzKCksdGhpcy5oYXNMaXN0ZW5lcil7bGV0IGU9dGhpcy5yZXN1bHQucm9vdDtmb3IoOyFlW3R0XTspZVt0dF09ITAsdGhpcy53YWxrU3luYyhlKTtpZih0aGlzLmxpc3RlbmVycy5PbmNlRXhpdClpZihlLnR5cGU9PT0iZG9jdW1lbnQiKWZvcihsZXQgdCBvZiBlLm5vZGVzKXRoaXMudmlzaXRTeW5jKHRoaXMubGlzdGVuZXJzLk9uY2VFeGl0LHQpO2Vsc2UgdGhpcy52aXNpdFN5bmModGhpcy5saXN0ZW5lcnMuT25jZUV4aXQsZSl9cmV0dXJuIHRoaXMucmVzdWx0fXRoZW4oZSx0KXtyZXR1cm4gdGhpcy5hc3luYygpLnRoZW4oZSx0KX10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc312aXNpdFN5bmMoZSx0KXtmb3IobGV0W2ksbl1vZiBlKXt0aGlzLnJlc3VsdC5sYXN0UGx1Z2luPWk7bGV0IHM7dHJ5e3M9bih0LHRoaXMuaGVscGVycyl9Y2F0Y2goYSl7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihhLHQucHJveHlPZil9aWYodC50eXBlIT09InJvb3QiJiZ0LnR5cGUhPT0iZG9jdW1lbnQiJiYhdC5wYXJlbnQpcmV0dXJuITA7aWYocmkocykpdGhyb3cgdGhpcy5nZXRBc3luY0Vycm9yKCl9fXZpc2l0VGljayhlKXtsZXQgdD1lW2UubGVuZ3RoLTFdLHtub2RlOmksdmlzaXRvcnM6bn09dDtpZihpLnR5cGUhPT0icm9vdCImJmkudHlwZSE9PSJkb2N1bWVudCImJiFpLnBhcmVudCl7ZS5wb3AoKTtyZXR1cm59aWYobi5sZW5ndGg+MCYmdC52aXNpdG9ySW5kZXg8bi5sZW5ndGgpe2xldFthLG9dPW5bdC52aXNpdG9ySW5kZXhdO3QudmlzaXRvckluZGV4Kz0xLHQudmlzaXRvckluZGV4PT09bi5sZW5ndGgmJih0LnZpc2l0b3JzPVtdLHQudmlzaXRvckluZGV4PTApLHRoaXMucmVzdWx0Lmxhc3RQbHVnaW49YTt0cnl7cmV0dXJuIG8oaS50b1Byb3h5KCksdGhpcy5oZWxwZXJzKX1jYXRjaChsKXt0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGwsaSl9fWlmKHQuaXRlcmF0b3IhPT0wKXtsZXQgYT10Lml0ZXJhdG9yLG87Zm9yKDtvPWkubm9kZXNbaS5pbmRleGVzW2FdXTspaWYoaS5pbmRleGVzW2FdKz0xLCFvW3R0XSl7b1t0dF09ITAsZS5wdXNoKGRwKG8pKTtyZXR1cm59dC5pdGVyYXRvcj0wLGRlbGV0ZSBpLmluZGV4ZXNbYV19bGV0IHM9dC5ldmVudHM7Zm9yKDt0LmV2ZW50SW5kZXg8cy5sZW5ndGg7KXtsZXQgYT1zW3QuZXZlbnRJbmRleF07aWYodC5ldmVudEluZGV4Kz0xLGE9PT1ycil7aS5ub2RlcyYmaS5ub2Rlcy5sZW5ndGgmJihpW3R0XT0hMCx0Lml0ZXJhdG9yPWkuZ2V0SXRlcmF0b3IoKSk7cmV0dXJufWVsc2UgaWYodGhpcy5saXN0ZW5lcnNbYV0pe3QudmlzaXRvcnM9dGhpcy5saXN0ZW5lcnNbYV07cmV0dXJufX1lLnBvcCgpfXdhbGtTeW5jKGUpe2VbdHRdPSEwO2xldCB0PXBwKGUpO2ZvcihsZXQgaSBvZiB0KWlmKGk9PT1ycillLm5vZGVzJiZlLmVhY2gobj0+e25bdHRdfHx0aGlzLndhbGtTeW5jKG4pfSk7ZWxzZXtsZXQgbj10aGlzLmxpc3RlbmVyc1tpXTtpZihuJiZ0aGlzLnZpc2l0U3luYyhuLGUudG9Qcm94eSgpKSlyZXR1cm59fXdhcm5pbmdzKCl7cmV0dXJuIHRoaXMuc3luYygpLndhcm5pbmdzKCl9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jb250ZW50fWdldCBjc3MoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jc3N9Z2V0IG1hcCgpe3JldHVybiB0aGlzLnN0cmluZ2lmeSgpLm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm4gdGhpcy5zeW5jKCkubWVzc2FnZXN9Z2V0IG9wdHMoKXtyZXR1cm4gdGhpcy5yZXN1bHQub3B0c31nZXQgcHJvY2Vzc29yKCl7cmV0dXJuIHRoaXMucmVzdWx0LnByb2Nlc3Nvcn1nZXQgcm9vdCgpe3JldHVybiB0aGlzLnN5bmMoKS5yb290fWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuIkxhenlSZXN1bHQifX07cHQucmVnaXN0ZXJQb3N0Y3NzPXI9PntFYT1yfTtocC5leHBvcnRzPXB0O3B0LmRlZmF1bHQ9cHQ7eTEucmVnaXN0ZXJMYXp5UmVzdWx0KHB0KTtoMS5yZWdpc3RlckxhenlSZXN1bHQocHQpfSk7dmFyIGdwPXgoKFkzLG1wKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIFMxPWthKCksQTE9Q24oKSxDMT1PbigpLF8xPVZyKCksUTM9Q2EoKSxUbj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsaSl7dD10LnRvU3RyaW5nKCksdGhpcy5zdHJpbmdpZmllZD0hMSx0aGlzLl9wcm9jZXNzb3I9ZSx0aGlzLl9jc3M9dCx0aGlzLl9vcHRzPWksdGhpcy5fbWFwPXZvaWQgMDtsZXQgbixzPV8xO3RoaXMucmVzdWx0PW5ldyBDMSh0aGlzLl9wcm9jZXNzb3Isbix0aGlzLl9vcHRzKSx0aGlzLnJlc3VsdC5jc3M9dDtsZXQgYT10aGlzO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnJlc3VsdCwicm9vdCIse2dldCgpe3JldHVybiBhLnJvb3R9fSk7bGV0IG89bmV3IFMxKHMsbix0aGlzLl9vcHRzLHQpO2lmKG8uaXNNYXAoKSl7bGV0W2wsY109by5nZW5lcmF0ZSgpO2wmJih0aGlzLnJlc3VsdC5jc3M9bCksYyYmKHRoaXMucmVzdWx0Lm1hcD1jKX1lbHNlIG8uY2xlYXJBbm5vdGF0aW9uKCksdGhpcy5yZXN1bHQuY3NzPW8uY3NzfWFzeW5jKCl7cmV0dXJuIHRoaXMuZXJyb3I/UHJvbWlzZS5yZWplY3QodGhpcy5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzdWx0KX1jYXRjaChlKXtyZXR1cm4gdGhpcy5hc3luYygpLmNhdGNoKGUpfWZpbmFsbHkoZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKGUsZSl9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtyZXR1cm4gdGhpcy5yZXN1bHR9dGhlbihlLHQpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLHQpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX2Nzc313YXJuaW5ncygpe3JldHVybltdfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgY3NzKCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgbWFwKCl7cmV0dXJuIHRoaXMucmVzdWx0Lm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm5bXX1nZXQgb3B0cygpe3JldHVybiB0aGlzLnJlc3VsdC5vcHRzfWdldCBwcm9jZXNzb3IoKXtyZXR1cm4gdGhpcy5yZXN1bHQucHJvY2Vzc29yfWdldCByb290KCl7aWYodGhpcy5fcm9vdClyZXR1cm4gdGhpcy5fcm9vdDtsZXQgZSx0PUExO3RyeXtlPXQodGhpcy5fY3NzLHRoaXMuX29wdHMpfWNhdGNoKGkpe3RoaXMuZXJyb3I9aX1pZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7cmV0dXJuIHRoaXMuX3Jvb3Q9ZSxlfWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuIk5vV29ya1Jlc3VsdCJ9fTttcC5leHBvcnRzPVRuO1RuLmRlZmF1bHQ9VG59KTt2YXIgYnA9eCgoSzMseXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgRTE9ZG4oKSxPMT1PYSgpLFQxPWdwKCksUjE9dHIoKSxpcj1jbGFzc3tjb25zdHJ1Y3RvcihlPVtdKXt0aGlzLnZlcnNpb249IjguNC40OSIsdGhpcy5wbHVnaW5zPXRoaXMubm9ybWFsaXplKGUpfW5vcm1hbGl6ZShlKXtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSlpZihpLnBvc3Rjc3M9PT0hMD9pPWkoKTppLnBvc3Rjc3MmJihpPWkucG9zdGNzcyksdHlwZW9mIGk9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGkucGx1Z2lucykpdD10LmNvbmNhdChpLnBsdWdpbnMpO2Vsc2UgaWYodHlwZW9mIGk9PSJvYmplY3QiJiZpLnBvc3Rjc3NQbHVnaW4pdC5wdXNoKGkpO2Vsc2UgaWYodHlwZW9mIGk9PSJmdW5jdGlvbiIpdC5wdXNoKGkpO2Vsc2UgaWYoISh0eXBlb2YgaT09Im9iamVjdCImJihpLnBhcnNlfHxpLnN0cmluZ2lmeSkpKXRocm93IG5ldyBFcnJvcihpKyIgaXMgbm90IGEgUG9zdENTUyBwbHVnaW4iKTtyZXR1cm4gdH1wcm9jZXNzKGUsdD17fSl7cmV0dXJuIXRoaXMucGx1Z2lucy5sZW5ndGgmJiF0LnBhcnNlciYmIXQuc3RyaW5naWZpZXImJiF0LnN5bnRheD9uZXcgVDEodGhpcyxlLHQpOm5ldyBPMSh0aGlzLGUsdCl9dXNlKGUpe3JldHVybiB0aGlzLnBsdWdpbnM9dGhpcy5wbHVnaW5zLmNvbmNhdCh0aGlzLm5vcm1hbGl6ZShbZV0pKSx0aGlzfX07eXAuZXhwb3J0cz1pcjtpci5kZWZhdWx0PWlyO1IxLnJlZ2lzdGVyUHJvY2Vzc29yKGlyKTtFMS5yZWdpc3RlclByb2Nlc3Nvcihpcil9KTt2YXIgJGU9eCgoWDMsQ3ApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgd3A9cG4oKSx2cD1RcigpLFAxPUV0KCksSTE9YW4oKSx4cD1ZcigpLGtwPWRuKCksRDE9UWMoKSxxMT1tbigpLCQxPU9hKCksTDE9eGEoKSxNMT1HcigpLE4xPUNuKCksVGE9YnAoKSxCMT1PbigpLFNwPXRyKCksQXA9Z24oKSxGMT1WcigpLGoxPUFhKCk7ZnVuY3Rpb24gSiguLi5yKXtyZXR1cm4gci5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSxuZXcgVGEocil9Si5wbHVnaW49ZnVuY3Rpb24oZSx0KXtsZXQgaT0hMTtmdW5jdGlvbiBuKC4uLmEpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmIWkmJihpPSEwLGNvbnNvbGUud2FybihlK2A6IHBvc3Rjc3MucGx1Z2luIHdhcyBkZXByZWNhdGVkLiBNaWdyYXRpb24gZ3VpZGU6Cmh0dHBzOi8vZXZpbG1hcnRpYW5zLmNvbS9jaHJvbmljbGVzL3Bvc3Rjc3MtOC1wbHVnaW4tbWlncmF0aW9uYCksbS5lbnYuTEFORyYmbS5lbnYuTEFORy5zdGFydHNXaXRoKCJjbiIpJiZjb25zb2xlLndhcm4oZStgOiBcdTkxQ0NcdTk3NjIgcG9zdGNzcy5wbHVnaW4gXHU4OEFCXHU1RjAzXHU3NTI4LiBcdThGQzFcdTc5RkJcdTYzMDdcdTUzNTc6Cmh0dHBzOi8vd3d3LnczY3RlY2guY29tL3RvcGljLzIyMjZgKSk7bGV0IG89dCguLi5hKTtyZXR1cm4gby5wb3N0Y3NzUGx1Z2luPWUsby5wb3N0Y3NzVmVyc2lvbj1uZXcgVGEoKS52ZXJzaW9uLG99bGV0IHM7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJwb3N0Y3NzIix7Z2V0KCl7cmV0dXJuIHN8fChzPW4oKSksc319KSxuLnByb2Nlc3M9ZnVuY3Rpb24oYSxvLGwpe3JldHVybiBKKFtuKGwpXSkucHJvY2VzcyhhLG8pfSxufTtKLnN0cmluZ2lmeT1GMTtKLnBhcnNlPU4xO0ouZnJvbUpTT049RDE7Si5saXN0PUwxO0ouY29tbWVudD1yPT5uZXcgdnAocik7Si5hdFJ1bGU9cj0+bmV3IHdwKHIpO0ouZGVjbD1yPT5uZXcgeHAocik7Si5ydWxlPXI9Pm5ldyBBcChyKTtKLnJvb3Q9cj0+bmV3IFNwKHIpO0ouZG9jdW1lbnQ9cj0+bmV3IGtwKHIpO0ouQ3NzU3ludGF4RXJyb3I9STE7Si5EZWNsYXJhdGlvbj14cDtKLkNvbnRhaW5lcj1QMTtKLlByb2Nlc3Nvcj1UYTtKLkRvY3VtZW50PWtwO0ouQ29tbWVudD12cDtKLldhcm5pbmc9ajE7Si5BdFJ1bGU9d3A7Si5SZXN1bHQ9QjE7Si5JbnB1dD1xMTtKLlJ1bGU9QXA7Si5Sb290PVNwO0ouTm9kZT1NMTskMS5yZWdpc3RlclBvc3Rjc3MoSik7Q3AuZXhwb3J0cz1KO0ouZGVmYXVsdD1KfSk7dmFyIHJlLGVlLFozLEozLGVJLHRJLHJJLGlJLG5JLHNJLGFJLG9JLGxJLHVJLGZJLGNJLHBJLGRJLGhJLG1JLGdJLHlJLGJJLHdJLHZJLHhJLE90PVAoKCk9Pnt1KCk7cmU9cGUoJGUoKSksZWU9cmUuZGVmYXVsdCxaMz1yZS5kZWZhdWx0LnN0cmluZ2lmeSxKMz1yZS5kZWZhdWx0LmZyb21KU09OLGVJPXJlLmRlZmF1bHQucGx1Z2luLHRJPXJlLmRlZmF1bHQucGFyc2Usckk9cmUuZGVmYXVsdC5saXN0LGlJPXJlLmRlZmF1bHQuZG9jdW1lbnQsbkk9cmUuZGVmYXVsdC5jb21tZW50LHNJPXJlLmRlZmF1bHQuYXRSdWxlLGFJPXJlLmRlZmF1bHQucnVsZSxvST1yZS5kZWZhdWx0LmRlY2wsbEk9cmUuZGVmYXVsdC5yb290LHVJPXJlLmRlZmF1bHQuQ3NzU3ludGF4RXJyb3IsZkk9cmUuZGVmYXVsdC5EZWNsYXJhdGlvbixjST1yZS5kZWZhdWx0LkNvbnRhaW5lcixwST1yZS5kZWZhdWx0LlByb2Nlc3NvcixkST1yZS5kZWZhdWx0LkRvY3VtZW50LGhJPXJlLmRlZmF1bHQuQ29tbWVudCxtST1yZS5kZWZhdWx0Lldhcm5pbmcsZ0k9cmUuZGVmYXVsdC5BdFJ1bGUseUk9cmUuZGVmYXVsdC5SZXN1bHQsYkk9cmUuZGVmYXVsdC5JbnB1dCx3ST1yZS5kZWZhdWx0LlJ1bGUsdkk9cmUuZGVmYXVsdC5Sb290LHhJPXJlLmRlZmF1bHQuTm9kZX0pO3ZhciBSYT14KChTSSxfcCk9Pnt1KCk7X3AuZXhwb3J0cz1mdW5jdGlvbihyLGUsdCxpLG4pe2ZvcihlPWUuc3BsaXQ/ZS5zcGxpdCgiLiIpOmUsaT0wO2k8ZS5sZW5ndGg7aSsrKXI9cj9yW2VbaV1dOm47cmV0dXJuIHI9PT1uP3Q6cn19KTt2YXIgUG49eCgoUm4sRXApPT57dSgpOyJ1c2Ugc3RyaWN0IjtSbi5fX2VzTW9kdWxlPSEwO1JuLmRlZmF1bHQ9VjE7ZnVuY3Rpb24gejEocil7Zm9yKHZhciBlPXIudG9Mb3dlckNhc2UoKSx0PSIiLGk9ITEsbj0wO248NiYmZVtuXSE9PXZvaWQgMDtuKyspe3ZhciBzPWUuY2hhckNvZGVBdChuKSxhPXM+PTk3JiZzPD0xMDJ8fHM+PTQ4JiZzPD01NztpZihpPXM9PT0zMiwhYSlicmVhazt0Kz1lW25dfWlmKHQubGVuZ3RoIT09MCl7dmFyIG89cGFyc2VJbnQodCwxNiksbD1vPj01NTI5NiYmbzw9NTczNDM7cmV0dXJuIGx8fG89PT0wfHxvPjExMTQxMTE/WyJcdUZGRkQiLHQubGVuZ3RoKyhpPzE6MCldOltTdHJpbmcuZnJvbUNvZGVQb2ludChvKSx0Lmxlbmd0aCsoaT8xOjApXX19dmFyIFUxPS9cXC87ZnVuY3Rpb24gVjEocil7dmFyIGU9VTEudGVzdChyKTtpZighZSlyZXR1cm4gcjtmb3IodmFyIHQ9IiIsaT0wO2k8ci5sZW5ndGg7aSsrKXtpZihyW2ldPT09IlxcIil7dmFyIG49ejEoci5zbGljZShpKzEsaSs3KSk7aWYobiE9PXZvaWQgMCl7dCs9blswXSxpKz1uWzFdO2NvbnRpbnVlfWlmKHJbaSsxXT09PSJcXCIpe3QrPSJcXCIsaSsrO2NvbnRpbnVlfXIubGVuZ3RoPT09aSsxJiYodCs9cltpXSk7Y29udGludWV9dCs9cltpXX1yZXR1cm4gdH1FcC5leHBvcnRzPVJuLmRlZmF1bHR9KTt2YXIgVHA9eCgoSW4sT3ApPT57dSgpOyJ1c2Ugc3RyaWN0IjtJbi5fX2VzTW9kdWxlPSEwO0luLmRlZmF1bHQ9SDE7ZnVuY3Rpb24gSDEocil7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZT4xP2UtMTowKSxpPTE7aTxlO2krKyl0W2ktMV09YXJndW1lbnRzW2ldO2Zvcig7dC5sZW5ndGg+MDspe3ZhciBuPXQuc2hpZnQoKTtpZighcltuXSlyZXR1cm47cj1yW25dfXJldHVybiByfU9wLmV4cG9ydHM9SW4uZGVmYXVsdH0pO3ZhciBQcD14KChEbixScCk9Pnt1KCk7InVzZSBzdHJpY3QiO0RuLl9fZXNNb2R1bGU9ITA7RG4uZGVmYXVsdD1XMTtmdW5jdGlvbiBXMShyKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlPjE/ZS0xOjApLGk9MTtpPGU7aSsrKXRbaS0xXT1hcmd1bWVudHNbaV07Zm9yKDt0Lmxlbmd0aD4wOyl7dmFyIG49dC5zaGlmdCgpO3Jbbl18fChyW25dPXt9KSxyPXJbbl19fVJwLmV4cG9ydHM9RG4uZGVmYXVsdH0pO3ZhciBEcD14KChxbixJcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3FuLl9fZXNNb2R1bGU9ITA7cW4uZGVmYXVsdD1HMTtmdW5jdGlvbiBHMShyKXtmb3IodmFyIGU9IiIsdD1yLmluZGV4T2YoIi8qIiksaT0wO3Q+PTA7KXtlPWUrci5zbGljZShpLHQpO3ZhciBuPXIuaW5kZXhPZigiKi8iLHQrMik7aWYobjwwKXJldHVybiBlO2k9bisyLHQ9ci5pbmRleE9mKCIvKiIsaSl9cmV0dXJuIGU9ZStyLnNsaWNlKGkpLGV9SXAuZXhwb3J0cz1xbi5kZWZhdWx0fSk7dmFyIGlpPXgocnQ9Pnt1KCk7InVzZSBzdHJpY3QiO3J0Ll9fZXNNb2R1bGU9ITA7cnQudW5lc2M9cnQuc3RyaXBDb21tZW50cz1ydC5nZXRQcm9wPXJ0LmVuc3VyZU9iamVjdD12b2lkIDA7dmFyIFExPSRuKFBuKCkpO3J0LnVuZXNjPVExLmRlZmF1bHQ7dmFyIFkxPSRuKFRwKCkpO3J0LmdldFByb3A9WTEuZGVmYXVsdDt2YXIgSzE9JG4oUHAoKSk7cnQuZW5zdXJlT2JqZWN0PUsxLmRlZmF1bHQ7dmFyIFgxPSRuKERwKCkpO3J0LnN0cmlwQ29tbWVudHM9WDEuZGVmYXVsdDtmdW5jdGlvbiAkbihyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19fSk7dmFyIGR0PXgoKG5pLExwKT0+e3UoKTsidXNlIHN0cmljdCI7bmkuX19lc01vZHVsZT0hMDtuaS5kZWZhdWx0PXZvaWQgMDt2YXIgcXA9aWkoKTtmdW5jdGlvbiAkcChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIFoxKHIsZSx0KXtyZXR1cm4gZSYmJHAoci5wcm90b3R5cGUsZSksdCYmJHAocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfXZhciBKMT1mdW5jdGlvbiByKGUsdCl7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbClyZXR1cm4gZTt2YXIgaT1uZXcgZS5jb25zdHJ1Y3Rvcjtmb3IodmFyIG4gaW4gZSlpZighIWUuaGFzT3duUHJvcGVydHkobikpe3ZhciBzPWVbbl0sYT10eXBlb2YgcztuPT09InBhcmVudCImJmE9PT0ib2JqZWN0Ij90JiYoaVtuXT10KTpzIGluc3RhbmNlb2YgQXJyYXk/aVtuXT1zLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gcihvLGkpfSk6aVtuXT1yKHMsaSl9cmV0dXJuIGl9LGVrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0KXt0PT09dm9pZCAwJiYodD17fSksT2JqZWN0LmFzc2lnbih0aGlzLHQpLHRoaXMuc3BhY2VzPXRoaXMuc3BhY2VzfHx7fSx0aGlzLnNwYWNlcy5iZWZvcmU9dGhpcy5zcGFjZXMuYmVmb3JlfHwiIix0aGlzLnNwYWNlcy5hZnRlcj10aGlzLnNwYWNlcy5hZnRlcnx8IiJ9dmFyIGU9ci5wcm90b3R5cGU7cmV0dXJuIGUucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLnBhcmVudD12b2lkIDAsdGhpc30sZS5yZXBsYWNlV2l0aD1mdW5jdGlvbigpe2lmKHRoaXMucGFyZW50KXtmb3IodmFyIGkgaW4gYXJndW1lbnRzKXRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLGFyZ3VtZW50c1tpXSk7dGhpcy5yZW1vdmUoKX1yZXR1cm4gdGhpc30sZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50LmF0KHRoaXMucGFyZW50LmluZGV4KHRoaXMpKzEpfSxlLnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQuYXQodGhpcy5wYXJlbnQuaW5kZXgodGhpcyktMSl9LGUuY2xvbmU9ZnVuY3Rpb24oaSl7aT09PXZvaWQgMCYmKGk9e30pO3ZhciBuPUoxKHRoaXMpO2Zvcih2YXIgcyBpbiBpKW5bc109aVtzXTtyZXR1cm4gbn0sZS5hcHBlbmRUb1Byb3BlcnR5QW5kRXNjYXBlPWZ1bmN0aW9uKGksbixzKXt0aGlzLnJhd3N8fCh0aGlzLnJhd3M9e30pO3ZhciBhPXRoaXNbaV0sbz10aGlzLnJhd3NbaV07dGhpc1tpXT1hK24sb3x8cyE9PW4/dGhpcy5yYXdzW2ldPShvfHxhKStzOmRlbGV0ZSB0aGlzLnJhd3NbaV19LGUuc2V0UHJvcGVydHlBbmRFc2NhcGU9ZnVuY3Rpb24oaSxuLHMpe3RoaXMucmF3c3x8KHRoaXMucmF3cz17fSksdGhpc1tpXT1uLHRoaXMucmF3c1tpXT1zfSxlLnNldFByb3BlcnR5V2l0aG91dEVzY2FwZT1mdW5jdGlvbihpLG4pe3RoaXNbaV09bix0aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3NbaV19LGUuaXNBdFBvc2l0aW9uPWZ1bmN0aW9uKGksbil7aWYodGhpcy5zb3VyY2UmJnRoaXMuc291cmNlLnN0YXJ0JiZ0aGlzLnNvdXJjZS5lbmQpcmV0dXJuISh0aGlzLnNvdXJjZS5zdGFydC5saW5lPml8fHRoaXMuc291cmNlLmVuZC5saW5lPGl8fHRoaXMuc291cmNlLnN0YXJ0LmxpbmU9PT1pJiZ0aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4+bnx8dGhpcy5zb3VyY2UuZW5kLmxpbmU9PT1pJiZ0aGlzLnNvdXJjZS5lbmQuY29sdW1uPG4pfSxlLnN0cmluZ2lmeVByb3BlcnR5PWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLnJhd3MmJnRoaXMucmF3c1tpXXx8dGhpc1tpXX0sZS52YWx1ZVRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLnN0cmluZ2lmeVByb3BlcnR5KCJ2YWx1ZSIpKX0sZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblt0aGlzLnJhd1NwYWNlQmVmb3JlLHRoaXMudmFsdWVUb1N0cmluZygpLHRoaXMucmF3U3BhY2VBZnRlcl0uam9pbigiIil9LFoxKHIsW3trZXk6InJhd1NwYWNlQmVmb3JlIixnZXQ6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnJhd3MmJnRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXMuYmVmb3JlO3JldHVybiBpPT09dm9pZCAwJiYoaT10aGlzLnNwYWNlcyYmdGhpcy5zcGFjZXMuYmVmb3JlKSxpfHwiIn0sc2V0OmZ1bmN0aW9uKGkpeygwLHFwLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIsInNwYWNlcyIpLHRoaXMucmF3cy5zcGFjZXMuYmVmb3JlPWl9fSx7a2V5OiJyYXdTcGFjZUFmdGVyIixnZXQ6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnJhd3MmJnRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXMuYWZ0ZXI7cmV0dXJuIGk9PT12b2lkIDAmJihpPXRoaXMuc3BhY2VzLmFmdGVyKSxpfHwiIn0sc2V0OmZ1bmN0aW9uKGkpeygwLHFwLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIsInNwYWNlcyIpLHRoaXMucmF3cy5zcGFjZXMuYWZ0ZXI9aX19XSkscn0oKTtuaS5kZWZhdWx0PWVrO0xwLmV4cG9ydHM9bmkuZGVmYXVsdH0pO3ZhciBTZT14KGllPT57dSgpOyJ1c2Ugc3RyaWN0IjtpZS5fX2VzTW9kdWxlPSEwO2llLlVOSVZFUlNBTD1pZS5UQUc9aWUuU1RSSU5HPWllLlNFTEVDVE9SPWllLlJPT1Q9aWUuUFNFVURPPWllLk5FU1RJTkc9aWUuSUQ9aWUuQ09NTUVOVD1pZS5DT01CSU5BVE9SPWllLkNMQVNTPWllLkFUVFJJQlVURT12b2lkIDA7dmFyIHRrPSJ0YWciO2llLlRBRz10azt2YXIgcms9InN0cmluZyI7aWUuU1RSSU5HPXJrO3ZhciBpaz0ic2VsZWN0b3IiO2llLlNFTEVDVE9SPWlrO3ZhciBuaz0icm9vdCI7aWUuUk9PVD1uazt2YXIgc2s9InBzZXVkbyI7aWUuUFNFVURPPXNrO3ZhciBhaz0ibmVzdGluZyI7aWUuTkVTVElORz1hazt2YXIgb2s9ImlkIjtpZS5JRD1vazt2YXIgbGs9ImNvbW1lbnQiO2llLkNPTU1FTlQ9bGs7dmFyIHVrPSJjb21iaW5hdG9yIjtpZS5DT01CSU5BVE9SPXVrO3ZhciBmaz0iY2xhc3MiO2llLkNMQVNTPWZrO3ZhciBjaz0iYXR0cmlidXRlIjtpZS5BVFRSSUJVVEU9Y2s7dmFyIHBrPSJ1bml2ZXJzYWwiO2llLlVOSVZFUlNBTD1wa30pO3ZhciBMbj14KChzaSxGcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3NpLl9fZXNNb2R1bGU9ITA7c2kuZGVmYXVsdD12b2lkIDA7dmFyIGRrPW1rKGR0KCkpLGh0PWhrKFNlKCkpO2Z1bmN0aW9uIE1wKHIpe2lmKHR5cGVvZiBXZWFrTWFwIT0iZnVuY3Rpb24iKXJldHVybiBudWxsO3ZhciBlPW5ldyBXZWFrTWFwLHQ9bmV3IFdlYWtNYXA7cmV0dXJuKE1wPWZ1bmN0aW9uKG4pe3JldHVybiBuP3Q6ZX0pKHIpfWZ1bmN0aW9uIGhrKHIsZSl7aWYoIWUmJnImJnIuX19lc01vZHVsZSlyZXR1cm4gcjtpZihyPT09bnVsbHx8dHlwZW9mIHIhPSJvYmplY3QiJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIilyZXR1cm57ZGVmYXVsdDpyfTt2YXIgdD1NcChlKTtpZih0JiZ0LmhhcyhyKSlyZXR1cm4gdC5nZXQocik7dmFyIGk9e30sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBzIGluIHIpaWYocyE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykpe3ZhciBhPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHMpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyxhKTppW3NdPXJbc119cmV0dXJuIGkuZGVmYXVsdD1yLHQmJnQuc2V0KHIsaSksaX1mdW5jdGlvbiBtayhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24gZ2socixlKXt2YXIgdD10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmcltTeW1ib2wuaXRlcmF0b3JdfHxyWyJAQGl0ZXJhdG9yIl07aWYodClyZXR1cm4odD10LmNhbGwocikpLm5leHQuYmluZCh0KTtpZihBcnJheS5pc0FycmF5KHIpfHwodD15ayhyKSl8fGUmJnImJnR5cGVvZiByLmxlbmd0aD09Im51bWJlciIpe3QmJihyPXQpO3ZhciBpPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGk+PXIubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTpyW2krK119fX10aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5gKX1mdW5jdGlvbiB5ayhyLGUpe2lmKCEhcil7aWYodHlwZW9mIHI9PSJzdHJpbmciKXJldHVybiBOcChyLGUpO3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKS5zbGljZSg4LC0xKTtpZih0PT09Ik9iamVjdCImJnIuY29uc3RydWN0b3ImJih0PXIuY29uc3RydWN0b3IubmFtZSksdD09PSJNYXAifHx0PT09IlNldCIpcmV0dXJuIEFycmF5LmZyb20ocik7aWYodD09PSJBcmd1bWVudHMifHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdCh0KSlyZXR1cm4gTnAocixlKX19ZnVuY3Rpb24gTnAocixlKXsoZT09bnVsbHx8ZT5yLmxlbmd0aCkmJihlPXIubGVuZ3RoKTtmb3IodmFyIHQ9MCxpPW5ldyBBcnJheShlKTt0PGU7dCsrKWlbdF09clt0XTtyZXR1cm4gaX1mdW5jdGlvbiBCcChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIGJrKHIsZSx0KXtyZXR1cm4gZSYmQnAoci5wcm90b3R5cGUsZSksdCYmQnAocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfWZ1bmN0aW9uIHdrKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixQYShyLGUpfWZ1bmN0aW9uIFBhKHIsZSl7cmV0dXJuIFBhPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sUGEocixlKX12YXIgdms9ZnVuY3Rpb24ocil7d2soZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4ubm9kZXN8fChuLm5vZGVzPVtdKSxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmFwcGVuZD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wYXJlbnQ9dGhpcyx0aGlzLm5vZGVzLnB1c2gobiksdGhpc30sdC5wcmVwZW5kPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBhcmVudD10aGlzLHRoaXMubm9kZXMudW5zaGlmdChuKSx0aGlzfSx0LmF0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLm5vZGVzW25dfSx0LmluZGV4PWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbj09Im51bWJlciI/bjp0aGlzLm5vZGVzLmluZGV4T2Yobil9LHQucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24obil7bj10aGlzLmluZGV4KG4pLHRoaXMuYXQobikucGFyZW50PXZvaWQgMCx0aGlzLm5vZGVzLnNwbGljZShuLDEpO3ZhciBzO2Zvcih2YXIgYSBpbiB0aGlzLmluZGV4ZXMpcz10aGlzLmluZGV4ZXNbYV0scz49biYmKHRoaXMuaW5kZXhlc1thXT1zLTEpO3JldHVybiB0aGlzfSx0LnJlbW92ZUFsbD1mdW5jdGlvbigpe2Zvcih2YXIgbj1nayh0aGlzLm5vZGVzKSxzOyEocz1uKCkpLmRvbmU7KXt2YXIgYT1zLnZhbHVlO2EucGFyZW50PXZvaWQgMH1yZXR1cm4gdGhpcy5ub2Rlcz1bXSx0aGlzfSx0LmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVtb3ZlQWxsKCl9LHQuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24obixzKXtzLnBhcmVudD10aGlzO3ZhciBhPXRoaXMuaW5kZXgobik7dGhpcy5ub2Rlcy5zcGxpY2UoYSsxLDAscykscy5wYXJlbnQ9dGhpczt2YXIgbztmb3IodmFyIGwgaW4gdGhpcy5pbmRleGVzKW89dGhpcy5pbmRleGVzW2xdLGE8PW8mJih0aGlzLmluZGV4ZXNbbF09bysxKTtyZXR1cm4gdGhpc30sdC5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24obixzKXtzLnBhcmVudD10aGlzO3ZhciBhPXRoaXMuaW5kZXgobik7dGhpcy5ub2Rlcy5zcGxpY2UoYSwwLHMpLHMucGFyZW50PXRoaXM7dmFyIG87Zm9yKHZhciBsIGluIHRoaXMuaW5kZXhlcylvPXRoaXMuaW5kZXhlc1tsXSxvPD1hJiYodGhpcy5pbmRleGVzW2xdPW8rMSk7cmV0dXJuIHRoaXN9LHQuX2ZpbmRDaGlsZEF0UG9zaXRpb249ZnVuY3Rpb24obixzKXt2YXIgYT12b2lkIDA7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihvKXtpZihvLmF0UG9zaXRpb24pe3ZhciBsPW8uYXRQb3NpdGlvbihuLHMpO2lmKGwpcmV0dXJuIGE9bCwhMX1lbHNlIGlmKG8uaXNBdFBvc2l0aW9uKG4scykpcmV0dXJuIGE9bywhMX0pLGF9LHQuYXRQb3NpdGlvbj1mdW5jdGlvbihuLHMpe2lmKHRoaXMuaXNBdFBvc2l0aW9uKG4scykpcmV0dXJuIHRoaXMuX2ZpbmRDaGlsZEF0UG9zaXRpb24obixzKXx8dGhpc30sdC5faW5mZXJFbmRQb3NpdGlvbj1mdW5jdGlvbigpe3RoaXMubGFzdCYmdGhpcy5sYXN0LnNvdXJjZSYmdGhpcy5sYXN0LnNvdXJjZS5lbmQmJih0aGlzLnNvdXJjZT10aGlzLnNvdXJjZXx8e30sdGhpcy5zb3VyY2UuZW5kPXRoaXMuc291cmNlLmVuZHx8e30sT2JqZWN0LmFzc2lnbih0aGlzLnNvdXJjZS5lbmQsdGhpcy5sYXN0LnNvdXJjZS5lbmQpKX0sdC5lYWNoPWZ1bmN0aW9uKG4pe3RoaXMubGFzdEVhY2h8fCh0aGlzLmxhc3RFYWNoPTApLHRoaXMuaW5kZXhlc3x8KHRoaXMuaW5kZXhlcz17fSksdGhpcy5sYXN0RWFjaCsrO3ZhciBzPXRoaXMubGFzdEVhY2g7aWYodGhpcy5pbmRleGVzW3NdPTAsISF0aGlzLmxlbmd0aCl7Zm9yKHZhciBhLG87dGhpcy5pbmRleGVzW3NdPHRoaXMubGVuZ3RoJiYoYT10aGlzLmluZGV4ZXNbc10sbz1uKHRoaXMuYXQoYSksYSksbyE9PSExKTspdGhpcy5pbmRleGVzW3NdKz0xO2lmKGRlbGV0ZSB0aGlzLmluZGV4ZXNbc10sbz09PSExKXJldHVybiExfX0sdC53YWxrPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24ocyxhKXt2YXIgbz1uKHMsYSk7aWYobyE9PSExJiZzLmxlbmd0aCYmKG89cy53YWxrKG4pKSxvPT09ITEpcmV0dXJuITF9KX0sdC53YWxrQXR0cmlidXRlcz1mdW5jdGlvbihuKXt2YXIgcz10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oYSl7aWYoYS50eXBlPT09aHQuQVRUUklCVVRFKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtDbGFzc2VzPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5DTEFTUylyZXR1cm4gbi5jYWxsKHMsYSl9KX0sdC53YWxrQ29tYmluYXRvcnM9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LkNPTUJJTkFUT1IpcmV0dXJuIG4uY2FsbChzLGEpfSl9LHQud2Fsa0NvbW1lbnRzPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5DT01NRU5UKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtJZHM9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LklEKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtOZXN0aW5nPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5ORVNUSU5HKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtQc2V1ZG9zPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5QU0VVRE8pcmV0dXJuIG4uY2FsbChzLGEpfSl9LHQud2Fsa1RhZ3M9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LlRBRylyZXR1cm4gbi5jYWxsKHMsYSl9KX0sdC53YWxrVW5pdmVyc2Fscz1mdW5jdGlvbihuKXt2YXIgcz10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oYSl7aWYoYS50eXBlPT09aHQuVU5JVkVSU0FMKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LnNwbGl0PWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXMsYT1bXTtyZXR1cm4gdGhpcy5yZWR1Y2UoZnVuY3Rpb24obyxsLGMpe3ZhciBmPW4uY2FsbChzLGwpO3JldHVybiBhLnB1c2gobCksZj8oby5wdXNoKGEpLGE9W10pOmM9PT1zLmxlbmd0aC0xJiZvLnB1c2goYSksb30sW10pfSx0Lm1hcD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5tYXAobil9LHQucmVkdWNlPWZ1bmN0aW9uKG4scyl7cmV0dXJuIHRoaXMubm9kZXMucmVkdWNlKG4scyl9LHQuZXZlcnk9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkobil9LHQuc29tZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb21lKG4pfSx0LmZpbHRlcj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIobil9LHQuc29ydD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb3J0KG4pfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKFN0cmluZykuam9pbigiIil9LGJrKGUsW3trZXk6ImZpcnN0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdCgwKX19LHtrZXk6Imxhc3QiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0KHRoaXMubGVuZ3RoLTEpfX0se2tleToibGVuZ3RoIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcy5sZW5ndGh9fV0pLGV9KGRrLmRlZmF1bHQpO3NpLmRlZmF1bHQ9dms7RnAuZXhwb3J0cz1zaS5kZWZhdWx0fSk7dmFyIERhPXgoKGFpLHpwKT0+e3UoKTsidXNlIHN0cmljdCI7YWkuX19lc01vZHVsZT0hMDthaS5kZWZhdWx0PXZvaWQgMDt2YXIgeGs9U2soTG4oKSksa2s9U2UoKTtmdW5jdGlvbiBTayhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24ganAocixlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIGk9ZVt0XTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGkua2V5LGkpfX1mdW5jdGlvbiBBayhyLGUsdCl7cmV0dXJuIGUmJmpwKHIucHJvdG90eXBlLGUpLHQmJmpwKHIsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSkscn1mdW5jdGlvbiBDayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsSWEocixlKX1mdW5jdGlvbiBJYShyLGUpe3JldHVybiBJYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LElhKHIsZSl9dmFyIF9rPWZ1bmN0aW9uKHIpe0NrKGUscik7ZnVuY3Rpb24gZShpKXt2YXIgbjtyZXR1cm4gbj1yLmNhbGwodGhpcyxpKXx8dGhpcyxuLnR5cGU9a2suUk9PVCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5yZWR1Y2UoZnVuY3Rpb24ocyxhKXtyZXR1cm4gcy5wdXNoKFN0cmluZyhhKSksc30sW10pLmpvaW4oIiwiKTtyZXR1cm4gdGhpcy50cmFpbGluZ0NvbW1hP24rIiwiOm59LHQuZXJyb3I9ZnVuY3Rpb24obixzKXtyZXR1cm4gdGhpcy5fZXJyb3I/dGhpcy5fZXJyb3IobixzKTpuZXcgRXJyb3Iobil9LEFrKGUsW3trZXk6ImVycm9yR2VuZXJhdG9yIixzZXQ6ZnVuY3Rpb24obil7dGhpcy5fZXJyb3I9bn19XSksZX0oeGsuZGVmYXVsdCk7YWkuZGVmYXVsdD1fazt6cC5leHBvcnRzPWFpLmRlZmF1bHR9KTt2YXIgJGE9eCgob2ksVXApPT57dSgpOyJ1c2Ugc3RyaWN0IjtvaS5fX2VzTW9kdWxlPSEwO29pLmRlZmF1bHQ9dm9pZCAwO3ZhciBFaz1UayhMbigpKSxPaz1TZSgpO2Z1bmN0aW9uIFRrKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBSayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIscWEocixlKX1mdW5jdGlvbiBxYShyLGUpe3JldHVybiBxYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LHFhKHIsZSl9dmFyIFBrPWZ1bmN0aW9uKHIpe1JrKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9T2suU0VMRUNUT1IsaX1yZXR1cm4gZX0oRWsuZGVmYXVsdCk7b2kuZGVmYXVsdD1QaztVcC5leHBvcnRzPW9pLmRlZmF1bHR9KTt2YXIgTW49eCgoX0ksVnApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgSWs9e30sRGs9SWsuaGFzT3duUHJvcGVydHkscWs9ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgaT17fTtmb3IodmFyIG4gaW4gdClpW25dPURrLmNhbGwoZSxuKT9lW25dOnRbbl07cmV0dXJuIGl9LCRrPS9bIC0sXC5cLzotQFxbLVxeYFx7LX5dLyxMaz0vWyAtLFwuXC86LUBcW1xdXF5gXHstfl0vLE1rPS8oXnxcXCspPyhcXFtBLUYwLTldezEsNn0pXHgyMCg/IVthLWZBLUYwLTlceDIwXSkvZyxMYT1mdW5jdGlvbiByKGUsdCl7dD1xayh0LHIub3B0aW9ucyksdC5xdW90ZXMhPSJzaW5nbGUiJiZ0LnF1b3RlcyE9ImRvdWJsZSImJih0LnF1b3Rlcz0ic2luZ2xlIik7Zm9yKHZhciBpPXQucXVvdGVzPT0iZG91YmxlIj8nIic6IiciLG49dC5pc0lkZW50aWZpZXIscz1lLmNoYXJBdCgwKSxhPSIiLG89MCxsPWUubGVuZ3RoO288bDspe3ZhciBjPWUuY2hhckF0KG8rKyksZj1jLmNoYXJDb2RlQXQoKSxkPXZvaWQgMDtpZihmPDMyfHxmPjEyNil7aWYoZj49NTUyOTYmJmY8PTU2MzE5JiZvPGwpe3ZhciBwPWUuY2hhckNvZGVBdChvKyspOyhwJjY0NTEyKT09NTYzMjA/Zj0oKGYmMTAyMyk8PDEwKSsocCYxMDIzKSs2NTUzNjpvLS19ZD0iXFwiK2YudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiAifWVsc2UgdC5lc2NhcGVFdmVyeXRoaW5nPyRrLnRlc3QoYyk/ZD0iXFwiK2M6ZD0iXFwiK2YudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiAiOi9bXHRcblxmXHJceDBCXS8udGVzdChjKT9kPSJcXCIrZi50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiICI6Yz09IlxcInx8IW4mJihjPT0nIicmJmk9PWN8fGM9PSInIiYmaT09Yyl8fG4mJkxrLnRlc3QoYyk/ZD0iXFwiK2M6ZD1jO2ErPWR9cmV0dXJuIG4mJigvXi1bLVxkXS8udGVzdChhKT9hPSJcXC0iK2Euc2xpY2UoMSk6L1xkLy50ZXN0KHMpJiYoYT0iXFwzIitzKyIgIithLnNsaWNlKDEpKSksYT1hLnJlcGxhY2UoTWssZnVuY3Rpb24oaCxiLHYpe3JldHVybiBiJiZiLmxlbmd0aCUyP2g6KGJ8fCIiKSt2fSksIW4mJnQud3JhcD9pK2EraTphfTtMYS5vcHRpb25zPXtlc2NhcGVFdmVyeXRoaW5nOiExLGlzSWRlbnRpZmllcjohMSxxdW90ZXM6InNpbmdsZSIsd3JhcDohMX07TGEudmVyc2lvbj0iMy4wLjAiO1ZwLmV4cG9ydHM9TGF9KTt2YXIgTmE9eCgobGksR3ApPT57dSgpOyJ1c2Ugc3RyaWN0IjtsaS5fX2VzTW9kdWxlPSEwO2xpLmRlZmF1bHQ9dm9pZCAwO3ZhciBOaz1IcChNbigpKSxCaz1paSgpLEZrPUhwKGR0KCkpLGprPVNlKCk7ZnVuY3Rpb24gSHAocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFdwKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gemsocixlLHQpe3JldHVybiBlJiZXcChyLnByb3RvdHlwZSxlKSx0JiZXcChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gVWsocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLE1hKHIsZSl9ZnVuY3Rpb24gTWEocixlKXtyZXR1cm4gTWE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxNYShyLGUpfXZhciBWaz1mdW5jdGlvbihyKXtVayhlLHIpO2Z1bmN0aW9uIGUoaSl7dmFyIG47cmV0dXJuIG49ci5jYWxsKHRoaXMsaSl8fHRoaXMsbi50eXBlPWprLkNMQVNTLG4uX2NvbnN0cnVjdGVkPSEwLG59dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQudmFsdWVUb1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIuIityLnByb3RvdHlwZS52YWx1ZVRvU3RyaW5nLmNhbGwodGhpcyl9LHprKGUsW3trZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWV9LHNldDpmdW5jdGlvbihuKXtpZih0aGlzLl9jb25zdHJ1Y3RlZCl7dmFyIHM9KDAsTmsuZGVmYXVsdCkobix7aXNJZGVudGlmaWVyOiEwfSk7cyE9PW4/KCgwLEJrLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIpLHRoaXMucmF3cy52YWx1ZT1zKTp0aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3MudmFsdWV9dGhpcy5fdmFsdWU9bn19XSksZX0oRmsuZGVmYXVsdCk7bGkuZGVmYXVsdD1WaztHcC5leHBvcnRzPWxpLmRlZmF1bHR9KTt2YXIgRmE9eCgodWksUXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt1aS5fX2VzTW9kdWxlPSEwO3VpLmRlZmF1bHQ9dm9pZCAwO3ZhciBIaz1HayhkdCgpKSxXaz1TZSgpO2Z1bmN0aW9uIEdrKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBRayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsQmEocixlKX1mdW5jdGlvbiBCYShyLGUpe3JldHVybiBCYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LEJhKHIsZSl9dmFyIFlrPWZ1bmN0aW9uKHIpe1FrKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9V2suQ09NTUVOVCxpfXJldHVybiBlfShIay5kZWZhdWx0KTt1aS5kZWZhdWx0PVlrO1FwLmV4cG9ydHM9dWkuZGVmYXVsdH0pO3ZhciB6YT14KChmaSxZcCk9Pnt1KCk7InVzZSBzdHJpY3QiO2ZpLl9fZXNNb2R1bGU9ITA7ZmkuZGVmYXVsdD12b2lkIDA7dmFyIEtrPVprKGR0KCkpLFhrPVNlKCk7ZnVuY3Rpb24gWmsocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIEprKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixqYShyLGUpfWZ1bmN0aW9uIGphKHIsZSl7cmV0dXJuIGphPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0samEocixlKX12YXIgZVM9ZnVuY3Rpb24ocil7SmsoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4udHlwZT1Yay5JRCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnZhbHVlVG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIyIrci5wcm90b3R5cGUudmFsdWVUb1N0cmluZy5jYWxsKHRoaXMpfSxlfShLay5kZWZhdWx0KTtmaS5kZWZhdWx0PWVTO1lwLmV4cG9ydHM9ZmkuZGVmYXVsdH0pO3ZhciBObj14KChjaSxacCk9Pnt1KCk7InVzZSBzdHJpY3QiO2NpLl9fZXNNb2R1bGU9ITA7Y2kuZGVmYXVsdD12b2lkIDA7dmFyIHRTPUtwKE1uKCkpLHJTPWlpKCksaVM9S3AoZHQoKSk7ZnVuY3Rpb24gS3Aocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFhwKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gblMocixlLHQpe3JldHVybiBlJiZYcChyLnByb3RvdHlwZSxlKSx0JiZYcChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gc1MocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFVhKHIsZSl9ZnVuY3Rpb24gVWEocixlKXtyZXR1cm4gVWE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxVYShyLGUpfXZhciBhUz1mdW5jdGlvbihyKXtzUyhlLHIpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQucXVhbGlmaWVkTmFtZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5uYW1lc3BhY2U/dGhpcy5uYW1lc3BhY2VTdHJpbmcrInwiK246bn0sdC52YWx1ZVRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVhbGlmaWVkTmFtZShyLnByb3RvdHlwZS52YWx1ZVRvU3RyaW5nLmNhbGwodGhpcykpfSxuUyhlLFt7a2V5OiJuYW1lc3BhY2UiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uYW1lc3BhY2V9LHNldDpmdW5jdGlvbihuKXtpZihuPT09ITB8fG49PT0iKiJ8fG49PT0iJiIpe3RoaXMuX25hbWVzcGFjZT1uLHRoaXMucmF3cyYmZGVsZXRlIHRoaXMucmF3cy5uYW1lc3BhY2U7cmV0dXJufXZhciBzPSgwLHRTLmRlZmF1bHQpKG4se2lzSWRlbnRpZmllcjohMH0pO3RoaXMuX25hbWVzcGFjZT1uLHMhPT1uPygoMCxyUy5lbnN1cmVPYmplY3QpKHRoaXMsInJhd3MiKSx0aGlzLnJhd3MubmFtZXNwYWNlPXMpOnRoaXMucmF3cyYmZGVsZXRlIHRoaXMucmF3cy5uYW1lc3BhY2V9fSx7a2V5OiJucyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25hbWVzcGFjZX0sc2V0OmZ1bmN0aW9uKG4pe3RoaXMubmFtZXNwYWNlPW59fSx7a2V5OiJuYW1lc3BhY2VTdHJpbmciLGdldDpmdW5jdGlvbigpe2lmKHRoaXMubmFtZXNwYWNlKXt2YXIgbj10aGlzLnN0cmluZ2lmeVByb3BlcnR5KCJuYW1lc3BhY2UiKTtyZXR1cm4gbj09PSEwPyIiOm59ZWxzZSByZXR1cm4iIn19XSksZX0oaVMuZGVmYXVsdCk7Y2kuZGVmYXVsdD1hUztacC5leHBvcnRzPWNpLmRlZmF1bHR9KTt2YXIgSGE9eCgocGksSnApPT57dSgpOyJ1c2Ugc3RyaWN0IjtwaS5fX2VzTW9kdWxlPSEwO3BpLmRlZmF1bHQ9dm9pZCAwO3ZhciBvUz11UyhObigpKSxsUz1TZSgpO2Z1bmN0aW9uIHVTKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBmUyhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsVmEocixlKX1mdW5jdGlvbiBWYShyLGUpe3JldHVybiBWYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LFZhKHIsZSl9dmFyIGNTPWZ1bmN0aW9uKHIpe2ZTKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9bFMuVEFHLGl9cmV0dXJuIGV9KG9TLmRlZmF1bHQpO3BpLmRlZmF1bHQ9Y1M7SnAuZXhwb3J0cz1waS5kZWZhdWx0fSk7dmFyIEdhPXgoKGRpLGVkKT0+e3UoKTsidXNlIHN0cmljdCI7ZGkuX19lc01vZHVsZT0hMDtkaS5kZWZhdWx0PXZvaWQgMDt2YXIgcFM9aFMoZHQoKSksZFM9U2UoKTtmdW5jdGlvbiBoUyhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24gbVMocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFdhKHIsZSl9ZnVuY3Rpb24gV2EocixlKXtyZXR1cm4gV2E9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxXYShyLGUpfXZhciBnUz1mdW5jdGlvbihyKXttUyhlLHIpO2Z1bmN0aW9uIGUodCl7dmFyIGk7cmV0dXJuIGk9ci5jYWxsKHRoaXMsdCl8fHRoaXMsaS50eXBlPWRTLlNUUklORyxpfXJldHVybiBlfShwUy5kZWZhdWx0KTtkaS5kZWZhdWx0PWdTO2VkLmV4cG9ydHM9ZGkuZGVmYXVsdH0pO3ZhciBZYT14KChoaSx0ZCk9Pnt1KCk7InVzZSBzdHJpY3QiO2hpLl9fZXNNb2R1bGU9ITA7aGkuZGVmYXVsdD12b2lkIDA7dmFyIHlTPXdTKExuKCkpLGJTPVNlKCk7ZnVuY3Rpb24gd1Mocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIHZTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixRYShyLGUpfWZ1bmN0aW9uIFFhKHIsZSl7cmV0dXJuIFFhPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sUWEocixlKX12YXIgeFM9ZnVuY3Rpb24ocil7dlMoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4udHlwZT1iUy5QU0VVRE8sbn12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBuPXRoaXMubGVuZ3RoPyIoIit0aGlzLm1hcChTdHJpbmcpLmpvaW4oIiwiKSsiKSI6IiI7cmV0dXJuW3RoaXMucmF3U3BhY2VCZWZvcmUsdGhpcy5zdHJpbmdpZnlQcm9wZXJ0eSgidmFsdWUiKSxuLHRoaXMucmF3U3BhY2VBZnRlcl0uam9pbigiIil9LGV9KHlTLmRlZmF1bHQpO2hpLmRlZmF1bHQ9eFM7dGQuZXhwb3J0cz1oaS5kZWZhdWx0fSk7dmFyIEJuPXt9O0dlKEJuLHtkZXByZWNhdGU6KCk9PmtTfSk7ZnVuY3Rpb24ga1Mocil7cmV0dXJuIHJ9dmFyIEZuPVAoKCk9Pnt1KCl9KTt2YXIgaWQ9eCgoRUkscmQpPT57dSgpO3JkLmV4cG9ydHM9KEZuKCksQm4pLmRlcHJlY2F0ZX0pO3ZhciB0bz14KHlpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt5aS5fX2VzTW9kdWxlPSEwO3lpLmRlZmF1bHQ9dm9pZCAwO3lpLnVuZXNjYXBlVmFsdWU9SmE7dmFyIG1pPVhhKE1uKCkpLFNTPVhhKFBuKCkpLEFTPVhhKE5uKCkpLENTPVNlKCksS2E7ZnVuY3Rpb24gWGEocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIG5kKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gX1MocixlLHQpe3JldHVybiBlJiZuZChyLnByb3RvdHlwZSxlKSx0JiZuZChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gRVMocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFphKHIsZSl9ZnVuY3Rpb24gWmEocixlKXtyZXR1cm4gWmE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxaYShyLGUpfXZhciBnaT1pZCgpLE9TPS9eKCd8IikoW15dKilcMSQvLFRTPWdpKGZ1bmN0aW9uKCl7fSwiQXNzaWduaW5nIGFuIGF0dHJpYnV0ZSBhIHZhbHVlIGNvbnRhaW5pbmcgY2hhcmFjdGVycyB0aGF0IG1pZ2h0IG5lZWQgdG8gYmUgZXNjYXBlZCBpcyBkZXByZWNhdGVkLiBDYWxsIGF0dHJpYnV0ZS5zZXRWYWx1ZSgpIGluc3RlYWQuIiksUlM9Z2koZnVuY3Rpb24oKXt9LCJBc3NpZ25pbmcgYXR0ci5xdW90ZWQgaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIGVmZmVjdC4gQXNzaWduIHRvIGF0dHIucXVvdGVNYXJrIGluc3RlYWQuIiksUFM9Z2koZnVuY3Rpb24oKXt9LCJDb25zdHJ1Y3RpbmcgYW4gQXR0cmlidXRlIHNlbGVjdG9yIHdpdGggYSB2YWx1ZSB3aXRob3V0IHNwZWNpZnlpbmcgcXVvdGVNYXJrIGlzIGRlcHJlY2F0ZWQuIE5vdGU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgdW5lc2NhcGVkIG5vdy4iKTtmdW5jdGlvbiBKYShyKXt2YXIgZT0hMSx0PW51bGwsaT1yLG49aS5tYXRjaChPUyk7cmV0dXJuIG4mJih0PW5bMV0saT1uWzJdKSxpPSgwLFNTLmRlZmF1bHQpKGkpLGkhPT1yJiYoZT0hMCkse2RlcHJlY2F0ZWRVc2FnZTplLHVuZXNjYXBlZDppLHF1b3RlTWFyazp0fX1mdW5jdGlvbiBJUyhyKXtpZihyLnF1b3RlTWFyayE9PXZvaWQgMHx8ci52YWx1ZT09PXZvaWQgMClyZXR1cm4gcjtQUygpO3ZhciBlPUphKHIudmFsdWUpLHQ9ZS5xdW90ZU1hcmssaT1lLnVuZXNjYXBlZDtyZXR1cm4gci5yYXdzfHwoci5yYXdzPXt9KSxyLnJhd3MudmFsdWU9PT12b2lkIDAmJihyLnJhd3MudmFsdWU9ci52YWx1ZSksci52YWx1ZT1pLHIucXVvdGVNYXJrPXQscn12YXIgam49ZnVuY3Rpb24ocil7RVMoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBpPT09dm9pZCAwJiYoaT17fSksbj1yLmNhbGwodGhpcyxJUyhpKSl8fHRoaXMsbi50eXBlPUNTLkFUVFJJQlVURSxuLnJhd3M9bi5yYXdzfHx7fSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5yYXdzLCJ1bnF1b3RlZCIse2dldDpnaShmdW5jdGlvbigpe3JldHVybiBuLnZhbHVlfSwiYXR0ci5yYXdzLnVucXVvdGVkIGlzIGRlcHJlY2F0ZWQuIENhbGwgYXR0ci52YWx1ZSBpbnN0ZWFkLiIpLHNldDpnaShmdW5jdGlvbigpe3JldHVybiBuLnZhbHVlfSwiU2V0dGluZyBhdHRyLnJhd3MudW5xdW90ZWQgaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIGVmZmVjdC4gYXR0ci52YWx1ZSBpcyB1bmVzY2FwZWQgYnkgZGVmYXVsdCBub3cuIil9KSxuLl9jb25zdHJ1Y3RlZD0hMCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmdldFF1b3RlZFZhbHVlPWZ1bmN0aW9uKG4pe249PT12b2lkIDAmJihuPXt9KTt2YXIgcz10aGlzLl9kZXRlcm1pbmVRdW90ZU1hcmsobiksYT1lb1tzXSxvPSgwLG1pLmRlZmF1bHQpKHRoaXMuX3ZhbHVlLGEpO3JldHVybiBvfSx0Ll9kZXRlcm1pbmVRdW90ZU1hcms9ZnVuY3Rpb24obil7cmV0dXJuIG4uc21hcnQ/dGhpcy5zbWFydFF1b3RlTWFyayhuKTp0aGlzLnByZWZlcnJlZFF1b3RlTWFyayhuKX0sdC5zZXRWYWx1ZT1mdW5jdGlvbihuLHMpe3M9PT12b2lkIDAmJihzPXt9KSx0aGlzLl92YWx1ZT1uLHRoaXMuX3F1b3RlTWFyaz10aGlzLl9kZXRlcm1pbmVRdW90ZU1hcmsocyksdGhpcy5fc3luY1Jhd1ZhbHVlKCl9LHQuc21hcnRRdW90ZU1hcms9ZnVuY3Rpb24obil7dmFyIHM9dGhpcy52YWx1ZSxhPXMucmVwbGFjZSgvW14nXS9nLCIiKS5sZW5ndGgsbz1zLnJlcGxhY2UoL1teIl0vZywiIikubGVuZ3RoO2lmKGErbz09PTApe3ZhciBsPSgwLG1pLmRlZmF1bHQpKHMse2lzSWRlbnRpZmllcjohMH0pO2lmKGw9PT1zKXJldHVybiBlLk5PX1FVT1RFO3ZhciBjPXRoaXMucHJlZmVycmVkUXVvdGVNYXJrKG4pO2lmKGM9PT1lLk5PX1FVT1RFKXt2YXIgZj10aGlzLnF1b3RlTWFya3x8bi5xdW90ZU1hcmt8fGUuRE9VQkxFX1FVT1RFLGQ9ZW9bZl0scD0oMCxtaS5kZWZhdWx0KShzLGQpO2lmKHAubGVuZ3RoPGwubGVuZ3RoKXJldHVybiBmfXJldHVybiBjfWVsc2UgcmV0dXJuIG89PT1hP3RoaXMucHJlZmVycmVkUXVvdGVNYXJrKG4pOm88YT9lLkRPVUJMRV9RVU9URTplLlNJTkdMRV9RVU9URX0sdC5wcmVmZXJyZWRRdW90ZU1hcms9ZnVuY3Rpb24obil7dmFyIHM9bi5wcmVmZXJDdXJyZW50UXVvdGVNYXJrP3RoaXMucXVvdGVNYXJrOm4ucXVvdGVNYXJrO3JldHVybiBzPT09dm9pZCAwJiYocz1uLnByZWZlckN1cnJlbnRRdW90ZU1hcms/bi5xdW90ZU1hcms6dGhpcy5xdW90ZU1hcmspLHM9PT12b2lkIDAmJihzPWUuRE9VQkxFX1FVT1RFKSxzfSx0Ll9zeW5jUmF3VmFsdWU9ZnVuY3Rpb24oKXt2YXIgbj0oMCxtaS5kZWZhdWx0KSh0aGlzLl92YWx1ZSxlb1t0aGlzLnF1b3RlTWFya10pO249PT10aGlzLl92YWx1ZT90aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3MudmFsdWU6dGhpcy5yYXdzLnZhbHVlPW59LHQuX2hhbmRsZUVzY2FwZXM9ZnVuY3Rpb24obixzKXtpZih0aGlzLl9jb25zdHJ1Y3RlZCl7dmFyIGE9KDAsbWkuZGVmYXVsdCkocyx7aXNJZGVudGlmaWVyOiEwfSk7YSE9PXM/dGhpcy5yYXdzW25dPWE6ZGVsZXRlIHRoaXMucmF3c1tuXX19LHQuX3NwYWNlc0Zvcj1mdW5jdGlvbihuKXt2YXIgcz17YmVmb3JlOiIiLGFmdGVyOiIifSxhPXRoaXMuc3BhY2VzW25dfHx7fSxvPXRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXNbbl18fHt9O3JldHVybiBPYmplY3QuYXNzaWduKHMsYSxvKX0sdC5fc3RyaW5nRm9yPWZ1bmN0aW9uKG4scyxhKXtzPT09dm9pZCAwJiYocz1uKSxhPT09dm9pZCAwJiYoYT1zZCk7dmFyIG89dGhpcy5fc3BhY2VzRm9yKHMpO3JldHVybiBhKHRoaXMuc3RyaW5naWZ5UHJvcGVydHkobiksbyl9LHQub2Zmc2V0T2Y9ZnVuY3Rpb24obil7dmFyIHM9MSxhPXRoaXMuX3NwYWNlc0ZvcigiYXR0cmlidXRlIik7aWYocys9YS5iZWZvcmUubGVuZ3RoLG49PT0ibmFtZXNwYWNlInx8bj09PSJucyIpcmV0dXJuIHRoaXMubmFtZXNwYWNlP3M6LTE7aWYobj09PSJhdHRyaWJ1dGVOUyJ8fChzKz10aGlzLm5hbWVzcGFjZVN0cmluZy5sZW5ndGgsdGhpcy5uYW1lc3BhY2UmJihzKz0xKSxuPT09ImF0dHJpYnV0ZSIpKXJldHVybiBzO3MrPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoImF0dHJpYnV0ZSIpLmxlbmd0aCxzKz1hLmFmdGVyLmxlbmd0aDt2YXIgbz10aGlzLl9zcGFjZXNGb3IoIm9wZXJhdG9yIik7cys9by5iZWZvcmUubGVuZ3RoO3ZhciBsPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoIm9wZXJhdG9yIik7aWYobj09PSJvcGVyYXRvciIpcmV0dXJuIGw/czotMTtzKz1sLmxlbmd0aCxzKz1vLmFmdGVyLmxlbmd0aDt2YXIgYz10aGlzLl9zcGFjZXNGb3IoInZhbHVlIik7cys9Yy5iZWZvcmUubGVuZ3RoO3ZhciBmPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoInZhbHVlIik7aWYobj09PSJ2YWx1ZSIpcmV0dXJuIGY/czotMTtzKz1mLmxlbmd0aCxzKz1jLmFmdGVyLmxlbmd0aDt2YXIgZD10aGlzLl9zcGFjZXNGb3IoImluc2Vuc2l0aXZlIik7cmV0dXJuIHMrPWQuYmVmb3JlLmxlbmd0aCxuPT09Imluc2Vuc2l0aXZlIiYmdGhpcy5pbnNlbnNpdGl2ZT9zOi0xfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIG49dGhpcyxzPVt0aGlzLnJhd1NwYWNlQmVmb3JlLCJbIl07cmV0dXJuIHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoInF1YWxpZmllZEF0dHJpYnV0ZSIsImF0dHJpYnV0ZSIpKSx0aGlzLm9wZXJhdG9yJiYodGhpcy52YWx1ZXx8dGhpcy52YWx1ZT09PSIiKSYmKHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoIm9wZXJhdG9yIikpLHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoInZhbHVlIikpLHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoImluc2Vuc2l0aXZlRmxhZyIsImluc2Vuc2l0aXZlIixmdW5jdGlvbihhLG8pe3JldHVybiBhLmxlbmd0aD4wJiYhbi5xdW90ZWQmJm8uYmVmb3JlLmxlbmd0aD09PTAmJiEobi5zcGFjZXMudmFsdWUmJm4uc3BhY2VzLnZhbHVlLmFmdGVyKSYmKG8uYmVmb3JlPSIgIiksc2QoYSxvKX0pKSkscy5wdXNoKCJdIikscy5wdXNoKHRoaXMucmF3U3BhY2VBZnRlcikscy5qb2luKCIiKX0sX1MoZSxbe2tleToicXVvdGVkIixnZXQ6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLnF1b3RlTWFyaztyZXR1cm4gbj09PSInInx8bj09PSciJ30sc2V0OmZ1bmN0aW9uKG4pe1JTKCl9fSx7a2V5OiJxdW90ZU1hcmsiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9xdW90ZU1hcmt9LHNldDpmdW5jdGlvbihuKXtpZighdGhpcy5fY29uc3RydWN0ZWQpe3RoaXMuX3F1b3RlTWFyaz1uO3JldHVybn10aGlzLl9xdW90ZU1hcmshPT1uJiYodGhpcy5fcXVvdGVNYXJrPW4sdGhpcy5fc3luY1Jhd1ZhbHVlKCkpfX0se2tleToicXVhbGlmaWVkQXR0cmlidXRlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWFsaWZpZWROYW1lKHRoaXMucmF3cy5hdHRyaWJ1dGV8fHRoaXMuYXR0cmlidXRlKX19LHtrZXk6Imluc2Vuc2l0aXZlRmxhZyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZW5zaXRpdmU/ImkiOiIifX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92YWx1ZX0sc2V0OmZ1bmN0aW9uKG4pe2lmKHRoaXMuX2NvbnN0cnVjdGVkKXt2YXIgcz1KYShuKSxhPXMuZGVwcmVjYXRlZFVzYWdlLG89cy51bmVzY2FwZWQsbD1zLnF1b3RlTWFyaztpZihhJiZUUygpLG89PT10aGlzLl92YWx1ZSYmbD09PXRoaXMuX3F1b3RlTWFyaylyZXR1cm47dGhpcy5fdmFsdWU9byx0aGlzLl9xdW90ZU1hcms9bCx0aGlzLl9zeW5jUmF3VmFsdWUoKX1lbHNlIHRoaXMuX3ZhbHVlPW59fSx7a2V5OiJpbnNlbnNpdGl2ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2luc2Vuc2l0aXZlfSxzZXQ6ZnVuY3Rpb24obil7bnx8KHRoaXMuX2luc2Vuc2l0aXZlPSExLHRoaXMucmF3cyYmKHRoaXMucmF3cy5pbnNlbnNpdGl2ZUZsYWc9PT0iSSJ8fHRoaXMucmF3cy5pbnNlbnNpdGl2ZUZsYWc9PT0iaSIpJiYodGhpcy5yYXdzLmluc2Vuc2l0aXZlRmxhZz12b2lkIDApKSx0aGlzLl9pbnNlbnNpdGl2ZT1ufX0se2tleToiYXR0cmlidXRlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXR0cmlidXRlfSxzZXQ6ZnVuY3Rpb24obil7dGhpcy5faGFuZGxlRXNjYXBlcygiYXR0cmlidXRlIixuKSx0aGlzLl9hdHRyaWJ1dGU9bn19XSksZX0oQVMuZGVmYXVsdCk7eWkuZGVmYXVsdD1qbjtqbi5OT19RVU9URT1udWxsO2puLlNJTkdMRV9RVU9URT0iJyI7am4uRE9VQkxFX1FVT1RFPSciJzt2YXIgZW89KEthPXsiJyI6e3F1b3Rlczoic2luZ2xlIix3cmFwOiEwfSwnIic6e3F1b3RlczoiZG91YmxlIix3cmFwOiEwfX0sS2FbbnVsbF09e2lzSWRlbnRpZmllcjohMH0sS2EpO2Z1bmN0aW9uIHNkKHIsZSl7cmV0dXJuIiIrZS5iZWZvcmUrcitlLmFmdGVyfX0pO3ZhciBpbz14KChiaSxhZCk9Pnt1KCk7InVzZSBzdHJpY3QiO2JpLl9fZXNNb2R1bGU9ITA7YmkuZGVmYXVsdD12b2lkIDA7dmFyIERTPSRTKE5uKCkpLHFTPVNlKCk7ZnVuY3Rpb24gJFMocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIExTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixybyhyLGUpfWZ1bmN0aW9uIHJvKHIsZSl7cmV0dXJuIHJvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0scm8ocixlKX12YXIgTVM9ZnVuY3Rpb24ocil7TFMoZSxyKTtmdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiBpPXIuY2FsbCh0aGlzLHQpfHx0aGlzLGkudHlwZT1xUy5VTklWRVJTQUwsaS52YWx1ZT0iKiIsaX1yZXR1cm4gZX0oRFMuZGVmYXVsdCk7YmkuZGVmYXVsdD1NUzthZC5leHBvcnRzPWJpLmRlZmF1bHR9KTt2YXIgc289eCgod2ksb2QpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt3aS5fX2VzTW9kdWxlPSEwO3dpLmRlZmF1bHQ9dm9pZCAwO3ZhciBOUz1GUyhkdCgpKSxCUz1TZSgpO2Z1bmN0aW9uIEZTKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBqUyhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsbm8ocixlKX1mdW5jdGlvbiBubyhyLGUpe3JldHVybiBubz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LG5vKHIsZSl9dmFyIHpTPWZ1bmN0aW9uKHIpe2pTKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9QlMuQ09NQklOQVRPUixpfXJldHVybiBlfShOUy5kZWZhdWx0KTt3aS5kZWZhdWx0PXpTO29kLmV4cG9ydHM9d2kuZGVmYXVsdH0pO3ZhciBvbz14KCh2aSxsZCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZpLl9fZXNNb2R1bGU9ITA7dmkuZGVmYXVsdD12b2lkIDA7dmFyIFVTPUhTKGR0KCkpLFZTPVNlKCk7ZnVuY3Rpb24gSFMocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFdTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixhbyhyLGUpfWZ1bmN0aW9uIGFvKHIsZSl7cmV0dXJuIGFvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sYW8ocixlKX12YXIgR1M9ZnVuY3Rpb24ocil7V1MoZSxyKTtmdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiBpPXIuY2FsbCh0aGlzLHQpfHx0aGlzLGkudHlwZT1WUy5ORVNUSU5HLGkudmFsdWU9IiYiLGl9cmV0dXJuIGV9KFVTLmRlZmF1bHQpO3ZpLmRlZmF1bHQ9R1M7bGQuZXhwb3J0cz12aS5kZWZhdWx0fSk7dmFyIGZkPXgoKHpuLHVkKT0+e3UoKTsidXNlIHN0cmljdCI7em4uX19lc01vZHVsZT0hMDt6bi5kZWZhdWx0PVFTO2Z1bmN0aW9uIFFTKHIpe3JldHVybiByLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS10fSl9dWQuZXhwb3J0cz16bi5kZWZhdWx0fSk7dmFyIGxvPXgoTT0+e3UoKTsidXNlIHN0cmljdCI7TS5fX2VzTW9kdWxlPSEwO00ud29yZD1NLnRpbGRlPU0udGFiPU0uc3RyPU0uc3BhY2U9TS5zbGFzaD1NLnNpbmdsZVF1b3RlPU0uc2VtaWNvbG9uPU0ucGx1cz1NLnBpcGU9TS5vcGVuU3F1YXJlPU0ub3BlblBhcmVudGhlc2lzPU0ubmV3bGluZT1NLmdyZWF0ZXJUaGFuPU0uZmVlZD1NLmVxdWFscz1NLmRvdWJsZVF1b3RlPU0uZG9sbGFyPU0uY3I9TS5jb21tZW50PU0uY29tbWE9TS5jb21iaW5hdG9yPU0uY29sb249TS5jbG9zZVNxdWFyZT1NLmNsb3NlUGFyZW50aGVzaXM9TS5jYXJldD1NLmJhbmc9TS5iYWNrc2xhc2g9TS5hdD1NLmFzdGVyaXNrPU0uYW1wZXJzYW5kPXZvaWQgMDt2YXIgWVM9Mzg7TS5hbXBlcnNhbmQ9WVM7dmFyIEtTPTQyO00uYXN0ZXJpc2s9S1M7dmFyIFhTPTY0O00uYXQ9WFM7dmFyIFpTPTQ0O00uY29tbWE9WlM7dmFyIEpTPTU4O00uY29sb249SlM7dmFyIGVBPTU5O00uc2VtaWNvbG9uPWVBO3ZhciB0QT00MDtNLm9wZW5QYXJlbnRoZXNpcz10QTt2YXIgckE9NDE7TS5jbG9zZVBhcmVudGhlc2lzPXJBO3ZhciBpQT05MTtNLm9wZW5TcXVhcmU9aUE7dmFyIG5BPTkzO00uY2xvc2VTcXVhcmU9bkE7dmFyIHNBPTM2O00uZG9sbGFyPXNBO3ZhciBhQT0xMjY7TS50aWxkZT1hQTt2YXIgb0E9OTQ7TS5jYXJldD1vQTt2YXIgbEE9NDM7TS5wbHVzPWxBO3ZhciB1QT02MTtNLmVxdWFscz11QTt2YXIgZkE9MTI0O00ucGlwZT1mQTt2YXIgY0E9NjI7TS5ncmVhdGVyVGhhbj1jQTt2YXIgcEE9MzI7TS5zcGFjZT1wQTt2YXIgY2Q9Mzk7TS5zaW5nbGVRdW90ZT1jZDt2YXIgZEE9MzQ7TS5kb3VibGVRdW90ZT1kQTt2YXIgaEE9NDc7TS5zbGFzaD1oQTt2YXIgbUE9MzM7TS5iYW5nPW1BO3ZhciBnQT05MjtNLmJhY2tzbGFzaD1nQTt2YXIgeUE9MTM7TS5jcj15QTt2YXIgYkE9MTI7TS5mZWVkPWJBO3ZhciB3QT0xMDtNLm5ld2xpbmU9d0E7dmFyIHZBPTk7TS50YWI9dkE7dmFyIHhBPWNkO00uc3RyPXhBO3ZhciBrQT0tMTtNLmNvbW1lbnQ9a0E7dmFyIFNBPS0yO00ud29yZD1TQTt2YXIgQUE9LTM7TS5jb21iaW5hdG9yPUFBfSk7dmFyIGhkPXgoeGk9Pnt1KCk7InVzZSBzdHJpY3QiO3hpLl9fZXNNb2R1bGU9ITA7eGkuRklFTERTPXZvaWQgMDt4aS5kZWZhdWx0PVBBO3ZhciBEPUNBKGxvKCkpLG5yLHRlO2Z1bmN0aW9uIHBkKHIpe2lmKHR5cGVvZiBXZWFrTWFwIT0iZnVuY3Rpb24iKXJldHVybiBudWxsO3ZhciBlPW5ldyBXZWFrTWFwLHQ9bmV3IFdlYWtNYXA7cmV0dXJuKHBkPWZ1bmN0aW9uKG4pe3JldHVybiBuP3Q6ZX0pKHIpfWZ1bmN0aW9uIENBKHIsZSl7aWYoIWUmJnImJnIuX19lc01vZHVsZSlyZXR1cm4gcjtpZihyPT09bnVsbHx8dHlwZW9mIHIhPSJvYmplY3QiJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIilyZXR1cm57ZGVmYXVsdDpyfTt2YXIgdD1wZChlKTtpZih0JiZ0LmhhcyhyKSlyZXR1cm4gdC5nZXQocik7dmFyIGk9e30sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBzIGluIHIpaWYocyE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykpe3ZhciBhPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHMpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyxhKTppW3NdPXJbc119cmV0dXJuIGkuZGVmYXVsdD1yLHQmJnQuc2V0KHIsaSksaX12YXIgX0E9KG5yPXt9LG5yW0QudGFiXT0hMCxucltELm5ld2xpbmVdPSEwLG5yW0QuY3JdPSEwLG5yW0QuZmVlZF09ITAsbnIpLEVBPSh0ZT17fSx0ZVtELnNwYWNlXT0hMCx0ZVtELnRhYl09ITAsdGVbRC5uZXdsaW5lXT0hMCx0ZVtELmNyXT0hMCx0ZVtELmZlZWRdPSEwLHRlW0QuYW1wZXJzYW5kXT0hMCx0ZVtELmFzdGVyaXNrXT0hMCx0ZVtELmJhbmddPSEwLHRlW0QuY29tbWFdPSEwLHRlW0QuY29sb25dPSEwLHRlW0Quc2VtaWNvbG9uXT0hMCx0ZVtELm9wZW5QYXJlbnRoZXNpc109ITAsdGVbRC5jbG9zZVBhcmVudGhlc2lzXT0hMCx0ZVtELm9wZW5TcXVhcmVdPSEwLHRlW0QuY2xvc2VTcXVhcmVdPSEwLHRlW0Quc2luZ2xlUXVvdGVdPSEwLHRlW0QuZG91YmxlUXVvdGVdPSEwLHRlW0QucGx1c109ITAsdGVbRC5waXBlXT0hMCx0ZVtELnRpbGRlXT0hMCx0ZVtELmdyZWF0ZXJUaGFuXT0hMCx0ZVtELmVxdWFsc109ITAsdGVbRC5kb2xsYXJdPSEwLHRlW0QuY2FyZXRdPSEwLHRlW0Quc2xhc2hdPSEwLHRlKSx1bz17fSxkZD0iMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiI7Zm9yKFVuPTA7VW48ZGQubGVuZ3RoO1VuKyspdW9bZGQuY2hhckNvZGVBdChVbildPSEwO3ZhciBVbjtmdW5jdGlvbiBPQShyLGUpe3ZhciB0PWUsaTtkb3tpZihpPXIuY2hhckNvZGVBdCh0KSxFQVtpXSlyZXR1cm4gdC0xO2k9PT1ELmJhY2tzbGFzaD90PVRBKHIsdCkrMTp0Kyt9d2hpbGUodDxyLmxlbmd0aCk7cmV0dXJuIHQtMX1mdW5jdGlvbiBUQShyLGUpe3ZhciB0PWUsaT1yLmNoYXJDb2RlQXQodCsxKTtpZighX0FbaV0paWYodW9baV0pe3ZhciBuPTA7ZG8gdCsrLG4rKyxpPXIuY2hhckNvZGVBdCh0KzEpO3doaWxlKHVvW2ldJiZuPDYpO248NiYmaT09PUQuc3BhY2UmJnQrK31lbHNlIHQrKztyZXR1cm4gdH12YXIgUkE9e1RZUEU6MCxTVEFSVF9MSU5FOjEsU1RBUlRfQ09MOjIsRU5EX0xJTkU6MyxFTkRfQ09MOjQsU1RBUlRfUE9TOjUsRU5EX1BPUzo2fTt4aS5GSUVMRFM9UkE7ZnVuY3Rpb24gUEEocil7dmFyIGU9W10sdD1yLmNzcy52YWx1ZU9mKCksaT10LG49aS5sZW5ndGgscz0tMSxhPTEsbz0wLGw9MCxjLGYsZCxwLGgsYix2LHksdyxrLFMsRSxUO2Z1bmN0aW9uIEIoTixSKXtpZihyLnNhZmUpdCs9Uix3PXQubGVuZ3RoLTE7ZWxzZSB0aHJvdyByLmVycm9yKCJVbmNsb3NlZCAiK04sYSxvLXMsbyl9Zm9yKDtvPG47KXtzd2l0Y2goYz10LmNoYXJDb2RlQXQobyksYz09PUQubmV3bGluZSYmKHM9byxhKz0xKSxjKXtjYXNlIEQuc3BhY2U6Y2FzZSBELnRhYjpjYXNlIEQubmV3bGluZTpjYXNlIEQuY3I6Y2FzZSBELmZlZWQ6dz1vO2RvIHcrPTEsYz10LmNoYXJDb2RlQXQodyksYz09PUQubmV3bGluZSYmKHM9dyxhKz0xKTt3aGlsZShjPT09RC5zcGFjZXx8Yz09PUQubmV3bGluZXx8Yz09PUQudGFifHxjPT09RC5jcnx8Yz09PUQuZmVlZCk7VD1ELnNwYWNlLHA9YSxkPXctcy0xLGw9dzticmVhaztjYXNlIEQucGx1czpjYXNlIEQuZ3JlYXRlclRoYW46Y2FzZSBELnRpbGRlOmNhc2UgRC5waXBlOnc9bztkbyB3Kz0xLGM9dC5jaGFyQ29kZUF0KHcpO3doaWxlKGM9PT1ELnBsdXN8fGM9PT1ELmdyZWF0ZXJUaGFufHxjPT09RC50aWxkZXx8Yz09PUQucGlwZSk7VD1ELmNvbWJpbmF0b3IscD1hLGQ9by1zLGw9dzticmVhaztjYXNlIEQuYXN0ZXJpc2s6Y2FzZSBELmFtcGVyc2FuZDpjYXNlIEQuYmFuZzpjYXNlIEQuY29tbWE6Y2FzZSBELmVxdWFsczpjYXNlIEQuZG9sbGFyOmNhc2UgRC5jYXJldDpjYXNlIEQub3BlblNxdWFyZTpjYXNlIEQuY2xvc2VTcXVhcmU6Y2FzZSBELmNvbG9uOmNhc2UgRC5zZW1pY29sb246Y2FzZSBELm9wZW5QYXJlbnRoZXNpczpjYXNlIEQuY2xvc2VQYXJlbnRoZXNpczp3PW8sVD1jLHA9YSxkPW8tcyxsPXcrMTticmVhaztjYXNlIEQuc2luZ2xlUXVvdGU6Y2FzZSBELmRvdWJsZVF1b3RlOkU9Yz09PUQuc2luZ2xlUXVvdGU/IiciOiciJyx3PW87ZG8gZm9yKGg9ITEsdz10LmluZGV4T2YoRSx3KzEpLHc9PT0tMSYmQigicXVvdGUiLEUpLGI9dzt0LmNoYXJDb2RlQXQoYi0xKT09PUQuYmFja3NsYXNoOyliLT0xLGg9IWg7d2hpbGUoaCk7VD1ELnN0cixwPWEsZD1vLXMsbD13KzE7YnJlYWs7ZGVmYXVsdDpjPT09RC5zbGFzaCYmdC5jaGFyQ29kZUF0KG8rMSk9PT1ELmFzdGVyaXNrPyh3PXQuaW5kZXhPZigiKi8iLG8rMikrMSx3PT09MCYmQigiY29tbWVudCIsIiovIiksZj10LnNsaWNlKG8sdysxKSx5PWYuc3BsaXQoYApgKSx2PXkubGVuZ3RoLTEsdj4wPyhrPWErdixTPXcteVt2XS5sZW5ndGgpOihrPWEsUz1zKSxUPUQuY29tbWVudCxhPWsscD1rLGQ9dy1TKTpjPT09RC5zbGFzaD8odz1vLFQ9YyxwPWEsZD1vLXMsbD13KzEpOih3PU9BKHQsbyksVD1ELndvcmQscD1hLGQ9dy1zKSxsPXcrMTticmVha31lLnB1c2goW1QsYSxvLXMscCxkLG8sbF0pLFMmJihzPVMsUz1udWxsKSxvPWx9cmV0dXJuIGV9fSk7dmFyIGtkPXgoKGtpLHhkKT0+e3UoKTsidXNlIHN0cmljdCI7a2kuX19lc01vZHVsZT0hMDtraS5kZWZhdWx0PXZvaWQgMDt2YXIgSUE9amUoRGEoKSksZm89amUoJGEoKSksREE9amUoTmEoKSksbWQ9amUoRmEoKSkscUE9amUoemEoKSksJEE9amUoSGEoKSksY289amUoR2EoKSksTEE9amUoWWEoKSksZ2Q9Vm4odG8oKSksTUE9amUoaW8oKSkscG89amUoc28oKSksTkE9amUob28oKSksQkE9amUoZmQoKSksTz1WbihoZCgpKSxxPVZuKGxvKCkpLEZBPVZuKFNlKCkpLHVlPWlpKCksVnQsaG87ZnVuY3Rpb24geWQocil7aWYodHlwZW9mIFdlYWtNYXAhPSJmdW5jdGlvbiIpcmV0dXJuIG51bGw7dmFyIGU9bmV3IFdlYWtNYXAsdD1uZXcgV2Vha01hcDtyZXR1cm4oeWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/dDplfSkocil9ZnVuY3Rpb24gVm4ocixlKXtpZighZSYmciYmci5fX2VzTW9kdWxlKXJldHVybiByO2lmKHI9PT1udWxsfHx0eXBlb2YgciE9Im9iamVjdCImJnR5cGVvZiByIT0iZnVuY3Rpb24iKXJldHVybntkZWZhdWx0OnJ9O3ZhciB0PXlkKGUpO2lmKHQmJnQuaGFzKHIpKXJldHVybiB0LmdldChyKTt2YXIgaT17fSxuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtmb3IodmFyIHMgaW4gcilpZihzIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSl7dmFyIGE9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIscyk6bnVsbDthJiYoYS5nZXR8fGEuc2V0KT9PYmplY3QuZGVmaW5lUHJvcGVydHkoaSxzLGEpOmlbc109cltzXX1yZXR1cm4gaS5kZWZhdWx0PXIsdCYmdC5zZXQocixpKSxpfWZ1bmN0aW9uIGplKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBiZChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIGpBKHIsZSx0KXtyZXR1cm4gZSYmYmQoci5wcm90b3R5cGUsZSksdCYmYmQocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfXZhciBtbz0oVnQ9e30sVnRbcS5zcGFjZV09ITAsVnRbcS5jcl09ITAsVnRbcS5mZWVkXT0hMCxWdFtxLm5ld2xpbmVdPSEwLFZ0W3EudGFiXT0hMCxWdCksekE9T2JqZWN0LmFzc2lnbih7fSxtbywoaG89e30saG9bcS5jb21tZW50XT0hMCxobykpO2Z1bmN0aW9uIHdkKHIpe3JldHVybntsaW5lOnJbTy5GSUVMRFMuU1RBUlRfTElORV0sY29sdW1uOnJbTy5GSUVMRFMuU1RBUlRfQ09MXX19ZnVuY3Rpb24gdmQocil7cmV0dXJue2xpbmU6cltPLkZJRUxEUy5FTkRfTElORV0sY29sdW1uOnJbTy5GSUVMRFMuRU5EX0NPTF19fWZ1bmN0aW9uIEh0KHIsZSx0LGkpe3JldHVybntzdGFydDp7bGluZTpyLGNvbHVtbjplfSxlbmQ6e2xpbmU6dCxjb2x1bW46aX19fWZ1bmN0aW9uIHNyKHIpe3JldHVybiBIdChyW08uRklFTERTLlNUQVJUX0xJTkVdLHJbTy5GSUVMRFMuU1RBUlRfQ09MXSxyW08uRklFTERTLkVORF9MSU5FXSxyW08uRklFTERTLkVORF9DT0xdKX1mdW5jdGlvbiBnbyhyLGUpe2lmKCEhcilyZXR1cm4gSHQocltPLkZJRUxEUy5TVEFSVF9MSU5FXSxyW08uRklFTERTLlNUQVJUX0NPTF0sZVtPLkZJRUxEUy5FTkRfTElORV0sZVtPLkZJRUxEUy5FTkRfQ09MXSl9ZnVuY3Rpb24gYXIocixlKXt2YXIgdD1yW2VdO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm4gdC5pbmRleE9mKCJcXCIpIT09LTEmJigoMCx1ZS5lbnN1cmVPYmplY3QpKHIsInJhd3MiKSxyW2VdPSgwLHVlLnVuZXNjKSh0KSxyLnJhd3NbZV09PT12b2lkIDAmJihyLnJhd3NbZV09dCkpLHJ9ZnVuY3Rpb24geW8ocixlKXtmb3IodmFyIHQ9LTEsaT1bXTsodD1yLmluZGV4T2YoZSx0KzEpKSE9PS0xOylpLnB1c2godCk7cmV0dXJuIGl9ZnVuY3Rpb24gVUEoKXt2YXIgcj1BcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGFyZ3VtZW50cyk7cmV0dXJuIHIuZmlsdGVyKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9PT1yLmluZGV4T2YoZSl9KX12YXIgVkE9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKHQsaSl7aT09PXZvaWQgMCYmKGk9e30pLHRoaXMucnVsZT10LHRoaXMub3B0aW9ucz1PYmplY3QuYXNzaWduKHtsb3NzeTohMSxzYWZlOiExfSxpKSx0aGlzLnBvc2l0aW9uPTAsdGhpcy5jc3M9dHlwZW9mIHRoaXMucnVsZT09InN0cmluZyI/dGhpcy5ydWxlOnRoaXMucnVsZS5zZWxlY3Rvcix0aGlzLnRva2Vucz0oMCxPLmRlZmF1bHQpKHtjc3M6dGhpcy5jc3MsZXJyb3I6dGhpcy5fZXJyb3JHZW5lcmF0b3IoKSxzYWZlOnRoaXMub3B0aW9ucy5zYWZlfSk7dmFyIG49Z28odGhpcy50b2tlbnNbMF0sdGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoLTFdKTt0aGlzLnJvb3Q9bmV3IElBLmRlZmF1bHQoe3NvdXJjZTpufSksdGhpcy5yb290LmVycm9yR2VuZXJhdG9yPXRoaXMuX2Vycm9yR2VuZXJhdG9yKCk7dmFyIHM9bmV3IGZvLmRlZmF1bHQoe3NvdXJjZTp7c3RhcnQ6e2xpbmU6MSxjb2x1bW46MX19LHNvdXJjZUluZGV4OjB9KTt0aGlzLnJvb3QuYXBwZW5kKHMpLHRoaXMuY3VycmVudD1zLHRoaXMubG9vcCgpfXZhciBlPXIucHJvdG90eXBlO3JldHVybiBlLl9lcnJvckdlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKG4scyl7cmV0dXJuIHR5cGVvZiBpLnJ1bGU9PSJzdHJpbmciP25ldyBFcnJvcihuKTppLnJ1bGUuZXJyb3IobixzKX19LGUuYXR0cmlidXRlPWZ1bmN0aW9uKCl7dmFyIGk9W10sbj10aGlzLmN1cnJUb2tlbjtmb3IodGhpcy5wb3NpdGlvbisrO3RoaXMucG9zaXRpb248dGhpcy50b2tlbnMubGVuZ3RoJiZ0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXSE9PXEuY2xvc2VTcXVhcmU7KWkucHVzaCh0aGlzLmN1cnJUb2tlbiksdGhpcy5wb3NpdGlvbisrO2lmKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdIT09cS5jbG9zZVNxdWFyZSlyZXR1cm4gdGhpcy5leHBlY3RlZCgiY2xvc2luZyBzcXVhcmUgYnJhY2tldCIsdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSk7dmFyIHM9aS5sZW5ndGgsYT17c291cmNlOkh0KG5bMV0sblsyXSx0aGlzLmN1cnJUb2tlblszXSx0aGlzLmN1cnJUb2tlbls0XSksc291cmNlSW5kZXg6bltPLkZJRUxEUy5TVEFSVF9QT1NdfTtpZihzPT09MSYmIX5bcS53b3JkXS5pbmRleE9mKGlbMF1bTy5GSUVMRFMuVFlQRV0pKXJldHVybiB0aGlzLmV4cGVjdGVkKCJhdHRyaWJ1dGUiLGlbMF1bTy5GSUVMRFMuU1RBUlRfUE9TXSk7Zm9yKHZhciBvPTAsbD0iIixjPSIiLGY9bnVsbCxkPSExO288czspe3ZhciBwPWlbb10saD10aGlzLmNvbnRlbnQocCksYj1pW28rMV07c3dpdGNoKHBbTy5GSUVMRFMuVFlQRV0pe2Nhc2UgcS5zcGFjZTppZihkPSEwLHRoaXMub3B0aW9ucy5sb3NzeSlicmVhaztpZihmKXsoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInNwYWNlcyIsZik7dmFyIHY9YS5zcGFjZXNbZl0uYWZ0ZXJ8fCIiO2Euc3BhY2VzW2ZdLmFmdGVyPXYraDt2YXIgeT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwic3BhY2VzIixmLCJhZnRlciIpfHxudWxsO3kmJihhLnJhd3Muc3BhY2VzW2ZdLmFmdGVyPXkraCl9ZWxzZSBsPWwraCxjPWMraDticmVhaztjYXNlIHEuYXN0ZXJpc2s6aWYoYltPLkZJRUxEUy5UWVBFXT09PXEuZXF1YWxzKWEub3BlcmF0b3I9aCxmPSJvcGVyYXRvciI7ZWxzZSBpZigoIWEubmFtZXNwYWNlfHxmPT09Im5hbWVzcGFjZSImJiFkKSYmYil7bCYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwic3BhY2VzIiwiYXR0cmlidXRlIiksYS5zcGFjZXMuYXR0cmlidXRlLmJlZm9yZT1sLGw9IiIpLGMmJigoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiLCJzcGFjZXMiLCJhdHRyaWJ1dGUiKSxhLnJhd3Muc3BhY2VzLmF0dHJpYnV0ZS5iZWZvcmU9bCxjPSIiKSxhLm5hbWVzcGFjZT0oYS5uYW1lc3BhY2V8fCIiKStoO3ZhciB3PSgwLHVlLmdldFByb3ApKGEsInJhd3MiLCJuYW1lc3BhY2UiKXx8bnVsbDt3JiYoYS5yYXdzLm5hbWVzcGFjZSs9aCksZj0ibmFtZXNwYWNlIn1kPSExO2JyZWFrO2Nhc2UgcS5kb2xsYXI6aWYoZj09PSJ2YWx1ZSIpe3ZhciBrPSgwLHVlLmdldFByb3ApKGEsInJhd3MiLCJ2YWx1ZSIpO2EudmFsdWUrPSIkIixrJiYoYS5yYXdzLnZhbHVlPWsrIiQiKTticmVha31jYXNlIHEuY2FyZXQ6YltPLkZJRUxEUy5UWVBFXT09PXEuZXF1YWxzJiYoYS5vcGVyYXRvcj1oLGY9Im9wZXJhdG9yIiksZD0hMTticmVhaztjYXNlIHEuY29tYmluYXRvcjppZihoPT09In4iJiZiW08uRklFTERTLlRZUEVdPT09cS5lcXVhbHMmJihhLm9wZXJhdG9yPWgsZj0ib3BlcmF0b3IiKSxoIT09InwiKXtkPSExO2JyZWFrfWJbTy5GSUVMRFMuVFlQRV09PT1xLmVxdWFscz8oYS5vcGVyYXRvcj1oLGY9Im9wZXJhdG9yIik6IWEubmFtZXNwYWNlJiYhYS5hdHRyaWJ1dGUmJihhLm5hbWVzcGFjZT0hMCksZD0hMTticmVhaztjYXNlIHEud29yZDppZihiJiZ0aGlzLmNvbnRlbnQoYik9PT0ifCImJmlbbysyXSYmaVtvKzJdW08uRklFTERTLlRZUEVdIT09cS5lcXVhbHMmJiFhLm9wZXJhdG9yJiYhYS5uYW1lc3BhY2UpYS5uYW1lc3BhY2U9aCxmPSJuYW1lc3BhY2UiO2Vsc2UgaWYoIWEuYXR0cmlidXRlfHxmPT09ImF0dHJpYnV0ZSImJiFkKXtsJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJzcGFjZXMiLCJhdHRyaWJ1dGUiKSxhLnNwYWNlcy5hdHRyaWJ1dGUuYmVmb3JlPWwsbD0iIiksYyYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwicmF3cyIsInNwYWNlcyIsImF0dHJpYnV0ZSIpLGEucmF3cy5zcGFjZXMuYXR0cmlidXRlLmJlZm9yZT1jLGM9IiIpLGEuYXR0cmlidXRlPShhLmF0dHJpYnV0ZXx8IiIpK2g7dmFyIFM9KDAsdWUuZ2V0UHJvcCkoYSwicmF3cyIsImF0dHJpYnV0ZSIpfHxudWxsO1MmJihhLnJhd3MuYXR0cmlidXRlKz1oKSxmPSJhdHRyaWJ1dGUifWVsc2UgaWYoIWEudmFsdWUmJmEudmFsdWUhPT0iInx8Zj09PSJ2YWx1ZSImJiEoZHx8YS5xdW90ZU1hcmspKXt2YXIgRT0oMCx1ZS51bmVzYykoaCksVD0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwidmFsdWUiKXx8IiIsQj1hLnZhbHVlfHwiIjthLnZhbHVlPUIrRSxhLnF1b3RlTWFyaz1udWxsLChFIT09aHx8VCkmJigoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3MudmFsdWU9KFR8fEIpK2gpLGY9InZhbHVlIn1lbHNle3ZhciBOPWg9PT0iaSJ8fGg9PT0iSSI7KGEudmFsdWV8fGEudmFsdWU9PT0iIikmJihhLnF1b3RlTWFya3x8ZCk/KGEuaW5zZW5zaXRpdmU9TiwoIU58fGg9PT0iSSIpJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJyYXdzIiksYS5yYXdzLmluc2Vuc2l0aXZlRmxhZz1oKSxmPSJpbnNlbnNpdGl2ZSIsbCYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwic3BhY2VzIiwiaW5zZW5zaXRpdmUiKSxhLnNwYWNlcy5pbnNlbnNpdGl2ZS5iZWZvcmU9bCxsPSIiKSxjJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJyYXdzIiwic3BhY2VzIiwiaW5zZW5zaXRpdmUiKSxhLnJhd3Muc3BhY2VzLmluc2Vuc2l0aXZlLmJlZm9yZT1jLGM9IiIpKTooYS52YWx1ZXx8YS52YWx1ZT09PSIiKSYmKGY9InZhbHVlIixhLnZhbHVlKz1oLGEucmF3cy52YWx1ZSYmKGEucmF3cy52YWx1ZSs9aCkpfWQ9ITE7YnJlYWs7Y2FzZSBxLnN0cjppZighYS5hdHRyaWJ1dGV8fCFhLm9wZXJhdG9yKXJldHVybiB0aGlzLmVycm9yKCJFeHBlY3RlZCBhbiBhdHRyaWJ1dGUgZm9sbG93ZWQgYnkgYW4gb3BlcmF0b3IgcHJlY2VkaW5nIHRoZSBzdHJpbmcuIix7aW5kZXg6cFtPLkZJRUxEUy5TVEFSVF9QT1NdfSk7dmFyIFI9KDAsZ2QudW5lc2NhcGVWYWx1ZSkoaCksRj1SLnVuZXNjYXBlZCxZPVIucXVvdGVNYXJrO2EudmFsdWU9RixhLnF1b3RlTWFyaz1ZLGY9InZhbHVlIiwoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3MudmFsdWU9aCxkPSExO2JyZWFrO2Nhc2UgcS5lcXVhbHM6aWYoIWEuYXR0cmlidXRlKXJldHVybiB0aGlzLmV4cGVjdGVkKCJhdHRyaWJ1dGUiLHBbTy5GSUVMRFMuU1RBUlRfUE9TXSxoKTtpZihhLnZhbHVlKXJldHVybiB0aGlzLmVycm9yKCdVbmV4cGVjdGVkICI9IiBmb3VuZDsgYW4gb3BlcmF0b3Igd2FzIGFscmVhZHkgZGVmaW5lZC4nLHtpbmRleDpwW08uRklFTERTLlNUQVJUX1BPU119KTthLm9wZXJhdG9yPWEub3BlcmF0b3I/YS5vcGVyYXRvcitoOmgsZj0ib3BlcmF0b3IiLGQ9ITE7YnJlYWs7Y2FzZSBxLmNvbW1lbnQ6aWYoZilpZihkfHxiJiZiW08uRklFTERTLlRZUEVdPT09cS5zcGFjZXx8Zj09PSJpbnNlbnNpdGl2ZSIpe3ZhciBfPSgwLHVlLmdldFByb3ApKGEsInNwYWNlcyIsZiwiYWZ0ZXIiKXx8IiIsUT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwic3BhY2VzIixmLCJhZnRlciIpfHxfOygwLHVlLmVuc3VyZU9iamVjdCkoYSwicmF3cyIsInNwYWNlcyIsZiksYS5yYXdzLnNwYWNlc1tmXS5hZnRlcj1RK2h9ZWxzZXt2YXIgVT1hW2ZdfHwiIixsZT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIixmKXx8VTsoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3NbZl09bGUraH1lbHNlIGM9YytoO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMuZXJyb3IoJ1VuZXhwZWN0ZWQgIicraCsnIiBmb3VuZC4nLHtpbmRleDpwW08uRklFTERTLlNUQVJUX1BPU119KX1vKyt9YXIoYSwiYXR0cmlidXRlIiksYXIoYSwibmFtZXNwYWNlIiksdGhpcy5uZXdOb2RlKG5ldyBnZC5kZWZhdWx0KGEpKSx0aGlzLnBvc2l0aW9uKyt9LGUucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2Vucz1mdW5jdGlvbihpKXtpPDAmJihpPXRoaXMudG9rZW5zLmxlbmd0aCk7dmFyIG49dGhpcy5wb3NpdGlvbixzPVtdLGE9IiIsbz12b2lkIDA7ZG8gaWYobW9bdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV1dKXRoaXMub3B0aW9ucy5sb3NzeXx8KGErPXRoaXMuY29udGVudCgpKTtlbHNlIGlmKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb21tZW50KXt2YXIgbD17fTthJiYobC5iZWZvcmU9YSxhPSIiKSxvPW5ldyBtZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IodGhpcy5jdXJyVG9rZW4pLHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX1BPU10sc3BhY2VzOmx9KSxzLnB1c2gobyl9d2hpbGUoKyt0aGlzLnBvc2l0aW9uPGkpO2lmKGEpe2lmKG8pby5zcGFjZXMuYWZ0ZXI9YTtlbHNlIGlmKCF0aGlzLm9wdGlvbnMubG9zc3kpe3ZhciBjPXRoaXMudG9rZW5zW25dLGY9dGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbi0xXTtzLnB1c2gobmV3IGNvLmRlZmF1bHQoe3ZhbHVlOiIiLHNvdXJjZTpIdChjW08uRklFTERTLlNUQVJUX0xJTkVdLGNbTy5GSUVMRFMuU1RBUlRfQ09MXSxmW08uRklFTERTLkVORF9MSU5FXSxmW08uRklFTERTLkVORF9DT0xdKSxzb3VyY2VJbmRleDpjW08uRklFTERTLlNUQVJUX1BPU10sc3BhY2VzOntiZWZvcmU6YSxhZnRlcjoiIn19KSl9fXJldHVybiBzfSxlLmNvbnZlcnRXaGl0ZXNwYWNlTm9kZXNUb1NwYWNlPWZ1bmN0aW9uKGksbil7dmFyIHM9dGhpcztuPT09dm9pZCAwJiYobj0hMSk7dmFyIGE9IiIsbz0iIjtpLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGY9cy5sb3NzeVNwYWNlKGMuc3BhY2VzLmJlZm9yZSxuKSxkPXMubG9zc3lTcGFjZShjLnJhd1NwYWNlQmVmb3JlLG4pO2ErPWYrcy5sb3NzeVNwYWNlKGMuc3BhY2VzLmFmdGVyLG4mJmYubGVuZ3RoPT09MCksbys9ZitjLnZhbHVlK3MubG9zc3lTcGFjZShjLnJhd1NwYWNlQWZ0ZXIsbiYmZC5sZW5ndGg9PT0wKX0pLG89PT1hJiYobz12b2lkIDApO3ZhciBsPXtzcGFjZTphLHJhd1NwYWNlOm99O3JldHVybiBsfSxlLmlzTmFtZWRDb21iaW5hdG9yPWZ1bmN0aW9uKGkpe3JldHVybiBpPT09dm9pZCAwJiYoaT10aGlzLnBvc2l0aW9uKSx0aGlzLnRva2Vuc1tpKzBdJiZ0aGlzLnRva2Vuc1tpKzBdW08uRklFTERTLlRZUEVdPT09cS5zbGFzaCYmdGhpcy50b2tlbnNbaSsxXSYmdGhpcy50b2tlbnNbaSsxXVtPLkZJRUxEUy5UWVBFXT09PXEud29yZCYmdGhpcy50b2tlbnNbaSsyXSYmdGhpcy50b2tlbnNbaSsyXVtPLkZJRUxEUy5UWVBFXT09PXEuc2xhc2h9LGUubmFtZWRDb21iaW5hdG9yPWZ1bmN0aW9uKCl7aWYodGhpcy5pc05hbWVkQ29tYmluYXRvcigpKXt2YXIgaT10aGlzLmNvbnRlbnQodGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXSksbj0oMCx1ZS51bmVzYykoaSkudG9Mb3dlckNhc2UoKSxzPXt9O24hPT1pJiYocy52YWx1ZT0iLyIraSsiLyIpO3ZhciBhPW5ldyBwby5kZWZhdWx0KHt2YWx1ZToiLyIrbisiLyIsc291cmNlOkh0KHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX0xJTkVdLHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX0NPTF0sdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisyXVtPLkZJRUxEUy5FTkRfTElORV0sdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisyXVtPLkZJRUxEUy5FTkRfQ09MXSksc291cmNlSW5kZXg6dGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSxyYXdzOnN9KTtyZXR1cm4gdGhpcy5wb3NpdGlvbj10aGlzLnBvc2l0aW9uKzMsYX1lbHNlIHRoaXMudW5leHBlY3RlZCgpfSxlLmNvbWJpbmF0b3I9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO2lmKHRoaXMuY29udGVudCgpPT09InwiKXJldHVybiB0aGlzLm5hbWVzcGFjZSgpO3ZhciBuPXRoaXMubG9jYXRlTmV4dE1lYW5pbmdmdWxUb2tlbih0aGlzLnBvc2l0aW9uKTtpZihuPDB8fHRoaXMudG9rZW5zW25dW08uRklFTERTLlRZUEVdPT09cS5jb21tYXx8dGhpcy50b2tlbnNbbl1bTy5GSUVMRFMuVFlQRV09PT1xLmNsb3NlUGFyZW50aGVzaXMpe3ZhciBzPXRoaXMucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2VucyhuKTtpZihzLmxlbmd0aD4wKXt2YXIgYT10aGlzLmN1cnJlbnQubGFzdDtpZihhKXt2YXIgbz10aGlzLmNvbnZlcnRXaGl0ZXNwYWNlTm9kZXNUb1NwYWNlKHMpLGw9by5zcGFjZSxjPW8ucmF3U3BhY2U7YyE9PXZvaWQgMCYmKGEucmF3U3BhY2VBZnRlcis9YyksYS5zcGFjZXMuYWZ0ZXIrPWx9ZWxzZSBzLmZvckVhY2goZnVuY3Rpb24oVCl7cmV0dXJuIGkubmV3Tm9kZShUKX0pfXJldHVybn12YXIgZj10aGlzLmN1cnJUb2tlbixkPXZvaWQgMDtuPnRoaXMucG9zaXRpb24mJihkPXRoaXMucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2VucyhuKSk7dmFyIHA7aWYodGhpcy5pc05hbWVkQ29tYmluYXRvcigpP3A9dGhpcy5uYW1lZENvbWJpbmF0b3IoKTp0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEuY29tYmluYXRvcj8ocD1uZXcgcG8uZGVmYXVsdCh7dmFsdWU6dGhpcy5jb250ZW50KCksc291cmNlOnNyKHRoaXMuY3VyclRva2VuKSxzb3VyY2VJbmRleDp0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdfSksdGhpcy5wb3NpdGlvbisrKTptb1t0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXV18fGR8fHRoaXMudW5leHBlY3RlZCgpLHApe2lmKGQpe3ZhciBoPXRoaXMuY29udmVydFdoaXRlc3BhY2VOb2Rlc1RvU3BhY2UoZCksYj1oLnNwYWNlLHY9aC5yYXdTcGFjZTtwLnNwYWNlcy5iZWZvcmU9YixwLnJhd1NwYWNlQmVmb3JlPXZ9fWVsc2V7dmFyIHk9dGhpcy5jb252ZXJ0V2hpdGVzcGFjZU5vZGVzVG9TcGFjZShkLCEwKSx3PXkuc3BhY2Usaz15LnJhd1NwYWNlO2t8fChrPXcpO3ZhciBTPXt9LEU9e3NwYWNlczp7fX07dy5lbmRzV2l0aCgiICIpJiZrLmVuZHNXaXRoKCIgIik/KFMuYmVmb3JlPXcuc2xpY2UoMCx3Lmxlbmd0aC0xKSxFLnNwYWNlcy5iZWZvcmU9ay5zbGljZSgwLGsubGVuZ3RoLTEpKTp3LnN0YXJ0c1dpdGgoIiAiKSYmay5zdGFydHNXaXRoKCIgIik/KFMuYWZ0ZXI9dy5zbGljZSgxKSxFLnNwYWNlcy5hZnRlcj1rLnNsaWNlKDEpKTpFLnZhbHVlPWsscD1uZXcgcG8uZGVmYXVsdCh7dmFsdWU6IiAiLHNvdXJjZTpnbyhmLHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV0pLHNvdXJjZUluZGV4OmZbTy5GSUVMRFMuU1RBUlRfUE9TXSxzcGFjZXM6UyxyYXdzOkV9KX1yZXR1cm4gdGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5zcGFjZSYmKHAuc3BhY2VzLmFmdGVyPXRoaXMub3B0aW9uYWxTcGFjZSh0aGlzLmNvbnRlbnQoKSksdGhpcy5wb3NpdGlvbisrKSx0aGlzLm5ld05vZGUocCl9LGUuY29tbWE9ZnVuY3Rpb24oKXtpZih0aGlzLnBvc2l0aW9uPT09dGhpcy50b2tlbnMubGVuZ3RoLTEpe3RoaXMucm9vdC50cmFpbGluZ0NvbW1hPSEwLHRoaXMucG9zaXRpb24rKztyZXR1cm59dGhpcy5jdXJyZW50Ll9pbmZlckVuZFBvc2l0aW9uKCk7dmFyIGk9bmV3IGZvLmRlZmF1bHQoe3NvdXJjZTp7c3RhcnQ6d2QodGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXSl9LHNvdXJjZUluZGV4OnRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24rMV1bTy5GSUVMRFMuU1RBUlRfUE9TXX0pO3RoaXMuY3VycmVudC5wYXJlbnQuYXBwZW5kKGkpLHRoaXMuY3VycmVudD1pLHRoaXMucG9zaXRpb24rK30sZS5jb21tZW50PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyVG9rZW47dGhpcy5uZXdOb2RlKG5ldyBtZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IoaSksc291cmNlSW5kZXg6aVtPLkZJRUxEUy5TVEFSVF9QT1NdfSkpLHRoaXMucG9zaXRpb24rK30sZS5lcnJvcj1mdW5jdGlvbihpLG4pe3Rocm93IHRoaXMucm9vdC5lcnJvcihpLG4pfSxlLm1pc3NpbmdCYWNrc2xhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcigiRXhwZWN0ZWQgYSBiYWNrc2xhc2ggcHJlY2VkaW5nIHRoZSBzZW1pY29sb24uIix7aW5kZXg6dGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXX0pfSxlLm1pc3NpbmdQYXJlbnRoZXNpcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV4cGVjdGVkKCJvcGVuaW5nIHBhcmVudGhlc2lzIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5taXNzaW5nU3F1YXJlQnJhY2tldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV4cGVjdGVkKCJvcGVuaW5nIHNxdWFyZSBicmFja2V0Iix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS51bmV4cGVjdGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3IoIlVuZXhwZWN0ZWQgJyIrdGhpcy5jb250ZW50KCkrIicuIEVzY2FwaW5nIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIFxcIG1heSBoZWxwLiIsdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSl9LGUudW5leHBlY3RlZFBpcGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcigiVW5leHBlY3RlZCAnfCcuIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5uYW1lc3BhY2U9ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnByZXZUb2tlbiYmdGhpcy5jb250ZW50KHRoaXMucHJldlRva2VuKXx8ITA7aWYodGhpcy5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLndvcmQpcmV0dXJuIHRoaXMucG9zaXRpb24rKyx0aGlzLndvcmQoaSk7aWYodGhpcy5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLmFzdGVyaXNrKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy51bml2ZXJzYWwoaSk7dGhpcy51bmV4cGVjdGVkUGlwZSgpfSxlLm5lc3Rpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLm5leHRUb2tlbil7dmFyIGk9dGhpcy5jb250ZW50KHRoaXMubmV4dFRva2VuKTtpZihpPT09InwiKXt0aGlzLnBvc2l0aW9uKys7cmV0dXJufX12YXIgbj10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IE5BLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY29udGVudCgpLHNvdXJjZTpzcihuKSxzb3VyY2VJbmRleDpuW08uRklFTERTLlNUQVJUX1BPU119KSksdGhpcy5wb3NpdGlvbisrfSxlLnBhcmVudGhlc2VzPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyZW50Lmxhc3Qsbj0xO2lmKHRoaXMucG9zaXRpb24rKyxpJiZpLnR5cGU9PT1GQS5QU0VVRE8pe3ZhciBzPW5ldyBmby5kZWZhdWx0KHtzb3VyY2U6e3N0YXJ0OndkKHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dKX0sc291cmNlSW5kZXg6dGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbl1bTy5GSUVMRFMuU1RBUlRfUE9TXX0pLGE9dGhpcy5jdXJyZW50O2ZvcihpLmFwcGVuZChzKSx0aGlzLmN1cnJlbnQ9czt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmbjspdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmbisrLHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzJiZuLS0sbj90aGlzLnBhcnNlKCk6KHRoaXMuY3VycmVudC5zb3VyY2UuZW5kPXZkKHRoaXMuY3VyclRva2VuKSx0aGlzLmN1cnJlbnQucGFyZW50LnNvdXJjZS5lbmQ9dmQodGhpcy5jdXJyVG9rZW4pLHRoaXMucG9zaXRpb24rKyk7dGhpcy5jdXJyZW50PWF9ZWxzZXtmb3IodmFyIG89dGhpcy5jdXJyVG9rZW4sbD0iKCIsYzt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmbjspdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmbisrLHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzJiZuLS0sYz10aGlzLmN1cnJUb2tlbixsKz10aGlzLnBhcnNlUGFyZW50aGVzaXNUb2tlbih0aGlzLmN1cnJUb2tlbiksdGhpcy5wb3NpdGlvbisrO2k/aS5hcHBlbmRUb1Byb3BlcnR5QW5kRXNjYXBlKCJ2YWx1ZSIsbCxsKTp0aGlzLm5ld05vZGUobmV3IGNvLmRlZmF1bHQoe3ZhbHVlOmwsc291cmNlOkh0KG9bTy5GSUVMRFMuU1RBUlRfTElORV0sb1tPLkZJRUxEUy5TVEFSVF9DT0xdLGNbTy5GSUVMRFMuRU5EX0xJTkVdLGNbTy5GSUVMRFMuRU5EX0NPTF0pLHNvdXJjZUluZGV4Om9bTy5GSUVMRFMuU1RBUlRfUE9TXX0pKX1pZihuKXJldHVybiB0aGlzLmV4cGVjdGVkKCJjbG9zaW5nIHBhcmVudGhlc2lzIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5wc2V1ZG89ZnVuY3Rpb24oKXtmb3IodmFyIGk9dGhpcyxuPSIiLHM9dGhpcy5jdXJyVG9rZW47dGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb2xvbjspbis9dGhpcy5jb250ZW50KCksdGhpcy5wb3NpdGlvbisrO2lmKCF0aGlzLmN1cnJUb2tlbilyZXR1cm4gdGhpcy5leHBlY3RlZChbInBzZXVkby1jbGFzcyIsInBzZXVkby1lbGVtZW50Il0sdGhpcy5wb3NpdGlvbi0xKTtpZih0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEud29yZCl0aGlzLnNwbGl0V29yZCghMSxmdW5jdGlvbihhLG8pe24rPWEsaS5uZXdOb2RlKG5ldyBMQS5kZWZhdWx0KHt2YWx1ZTpuLHNvdXJjZTpnbyhzLGkuY3VyclRva2VuKSxzb3VyY2VJbmRleDpzW08uRklFTERTLlNUQVJUX1BPU119KSksbz4xJiZpLm5leHRUb2tlbiYmaS5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmaS5lcnJvcigiTWlzcGxhY2VkIHBhcmVudGhlc2lzLiIse2luZGV4OmkubmV4dFRva2VuW08uRklFTERTLlNUQVJUX1BPU119KX0pO2Vsc2UgcmV0dXJuIHRoaXMuZXhwZWN0ZWQoWyJwc2V1ZG8tY2xhc3MiLCJwc2V1ZG8tZWxlbWVudCJdLHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX1BPU10pfSxlLnNwYWNlPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jb250ZW50KCk7dGhpcy5wb3NpdGlvbj09PTB8fHRoaXMucHJldlRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb21tYXx8dGhpcy5wcmV2VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpc3x8dGhpcy5jdXJyZW50Lm5vZGVzLmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBuLnR5cGU9PT0iY29tbWVudCJ9KT8odGhpcy5zcGFjZXM9dGhpcy5vcHRpb25hbFNwYWNlKGkpLHRoaXMucG9zaXRpb24rKyk6dGhpcy5wb3NpdGlvbj09PXRoaXMudG9rZW5zLmxlbmd0aC0xfHx0aGlzLm5leHRUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEuY29tbWF8fHRoaXMubmV4dFRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzPyh0aGlzLmN1cnJlbnQubGFzdC5zcGFjZXMuYWZ0ZXI9dGhpcy5vcHRpb25hbFNwYWNlKGkpLHRoaXMucG9zaXRpb24rKyk6dGhpcy5jb21iaW5hdG9yKCl9LGUuc3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyVG9rZW47dGhpcy5uZXdOb2RlKG5ldyBjby5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IoaSksc291cmNlSW5kZXg6aVtPLkZJRUxEUy5TVEFSVF9QT1NdfSkpLHRoaXMucG9zaXRpb24rK30sZS51bml2ZXJzYWw9ZnVuY3Rpb24oaSl7dmFyIG49dGhpcy5uZXh0VG9rZW47aWYobiYmdGhpcy5jb250ZW50KG4pPT09InwiKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKTt2YXIgcz10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IE1BLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY29udGVudCgpLHNvdXJjZTpzcihzKSxzb3VyY2VJbmRleDpzW08uRklFTERTLlNUQVJUX1BPU119KSxpKSx0aGlzLnBvc2l0aW9uKyt9LGUuc3BsaXRXb3JkPWZ1bmN0aW9uKGksbil7Zm9yKHZhciBzPXRoaXMsYT10aGlzLm5leHRUb2tlbixvPXRoaXMuY29udGVudCgpO2EmJn5bcS5kb2xsYXIscS5jYXJldCxxLmVxdWFscyxxLndvcmRdLmluZGV4T2YoYVtPLkZJRUxEUy5UWVBFXSk7KXt0aGlzLnBvc2l0aW9uKys7dmFyIGw9dGhpcy5jb250ZW50KCk7aWYobys9bCxsLmxhc3RJbmRleE9mKCJcXCIpPT09bC5sZW5ndGgtMSl7dmFyIGM9dGhpcy5uZXh0VG9rZW47YyYmY1tPLkZJRUxEUy5UWVBFXT09PXEuc3BhY2UmJihvKz10aGlzLnJlcXVpcmVkU3BhY2UodGhpcy5jb250ZW50KGMpKSx0aGlzLnBvc2l0aW9uKyspfWE9dGhpcy5uZXh0VG9rZW59dmFyIGY9eW8obywiLiIpLmZpbHRlcihmdW5jdGlvbihiKXt2YXIgdj1vW2ItMV09PT0iXFwiLHk9L15cZCtcLlxkKyUkLy50ZXN0KG8pO3JldHVybiF2JiYheX0pLGQ9eW8obywiIyIpLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gb1tiLTFdIT09IlxcIn0pLHA9eW8obywiI3siKTtwLmxlbmd0aCYmKGQ9ZC5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIX5wLmluZGV4T2YoYil9KSk7dmFyIGg9KDAsQkEuZGVmYXVsdCkoVUEoWzBdLmNvbmNhdChmLGQpKSk7aC5mb3JFYWNoKGZ1bmN0aW9uKGIsdil7dmFyIHk9aFt2KzFdfHxvLmxlbmd0aCx3PW8uc2xpY2UoYix5KTtpZih2PT09MCYmbilyZXR1cm4gbi5jYWxsKHMsdyxoLmxlbmd0aCk7dmFyIGssUz1zLmN1cnJUb2tlbixFPVNbTy5GSUVMRFMuU1RBUlRfUE9TXStoW3ZdLFQ9SHQoU1sxXSxTWzJdK2IsU1szXSxTWzJdKyh5LTEpKTtpZih+Zi5pbmRleE9mKGIpKXt2YXIgQj17dmFsdWU6dy5zbGljZSgxKSxzb3VyY2U6VCxzb3VyY2VJbmRleDpFfTtrPW5ldyBEQS5kZWZhdWx0KGFyKEIsInZhbHVlIikpfWVsc2UgaWYofmQuaW5kZXhPZihiKSl7dmFyIE49e3ZhbHVlOncuc2xpY2UoMSksc291cmNlOlQsc291cmNlSW5kZXg6RX07az1uZXcgcUEuZGVmYXVsdChhcihOLCJ2YWx1ZSIpKX1lbHNle3ZhciBSPXt2YWx1ZTp3LHNvdXJjZTpULHNvdXJjZUluZGV4OkV9O2FyKFIsInZhbHVlIiksaz1uZXcgJEEuZGVmYXVsdChSKX1zLm5ld05vZGUoayxpKSxpPW51bGx9KSx0aGlzLnBvc2l0aW9uKyt9LGUud29yZD1mdW5jdGlvbihpKXt2YXIgbj10aGlzLm5leHRUb2tlbjtyZXR1cm4gbiYmdGhpcy5jb250ZW50KG4pPT09InwiPyh0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKSk6dGhpcy5zcGxpdFdvcmQoaSl9LGUubG9vcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5wb3NpdGlvbjx0aGlzLnRva2Vucy5sZW5ndGg7KXRoaXMucGFyc2UoITApO3JldHVybiB0aGlzLmN1cnJlbnQuX2luZmVyRW5kUG9zaXRpb24oKSx0aGlzLnJvb3R9LGUucGFyc2U9ZnVuY3Rpb24oaSl7c3dpdGNoKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdKXtjYXNlIHEuc3BhY2U6dGhpcy5zcGFjZSgpO2JyZWFrO2Nhc2UgcS5jb21tZW50OnRoaXMuY29tbWVudCgpO2JyZWFrO2Nhc2UgcS5vcGVuUGFyZW50aGVzaXM6dGhpcy5wYXJlbnRoZXNlcygpO2JyZWFrO2Nhc2UgcS5jbG9zZVBhcmVudGhlc2lzOmkmJnRoaXMubWlzc2luZ1BhcmVudGhlc2lzKCk7YnJlYWs7Y2FzZSBxLm9wZW5TcXVhcmU6dGhpcy5hdHRyaWJ1dGUoKTticmVhaztjYXNlIHEuZG9sbGFyOmNhc2UgcS5jYXJldDpjYXNlIHEuZXF1YWxzOmNhc2UgcS53b3JkOnRoaXMud29yZCgpO2JyZWFrO2Nhc2UgcS5jb2xvbjp0aGlzLnBzZXVkbygpO2JyZWFrO2Nhc2UgcS5jb21tYTp0aGlzLmNvbW1hKCk7YnJlYWs7Y2FzZSBxLmFzdGVyaXNrOnRoaXMudW5pdmVyc2FsKCk7YnJlYWs7Y2FzZSBxLmFtcGVyc2FuZDp0aGlzLm5lc3RpbmcoKTticmVhaztjYXNlIHEuc2xhc2g6Y2FzZSBxLmNvbWJpbmF0b3I6dGhpcy5jb21iaW5hdG9yKCk7YnJlYWs7Y2FzZSBxLnN0cjp0aGlzLnN0cmluZygpO2JyZWFrO2Nhc2UgcS5jbG9zZVNxdWFyZTp0aGlzLm1pc3NpbmdTcXVhcmVCcmFja2V0KCk7Y2FzZSBxLnNlbWljb2xvbjp0aGlzLm1pc3NpbmdCYWNrc2xhc2goKTtkZWZhdWx0OnRoaXMudW5leHBlY3RlZCgpfX0sZS5leHBlY3RlZD1mdW5jdGlvbihpLG4scyl7aWYoQXJyYXkuaXNBcnJheShpKSl7dmFyIGE9aS5wb3AoKTtpPWkuam9pbigiLCAiKSsiIG9yICIrYX12YXIgbz0vXlthZWlvdV0vLnRlc3QoaVswXSk/ImFuIjoiYSI7cmV0dXJuIHM/dGhpcy5lcnJvcigiRXhwZWN0ZWQgIitvKyIgIitpKycsIGZvdW5kICInK3MrJyIgaW5zdGVhZC4nLHtpbmRleDpufSk6dGhpcy5lcnJvcigiRXhwZWN0ZWQgIitvKyIgIitpKyIuIix7aW5kZXg6bn0pfSxlLnJlcXVpcmVkU3BhY2U9ZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMub3B0aW9ucy5sb3NzeT8iICI6aX0sZS5vcHRpb25hbFNwYWNlPWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLm9wdGlvbnMubG9zc3k/IiI6aX0sZS5sb3NzeVNwYWNlPWZ1bmN0aW9uKGksbil7cmV0dXJuIHRoaXMub3B0aW9ucy5sb3NzeT9uPyIgIjoiIjppfSxlLnBhcnNlUGFyZW50aGVzaXNUb2tlbj1mdW5jdGlvbihpKXt2YXIgbj10aGlzLmNvbnRlbnQoaSk7cmV0dXJuIGlbTy5GSUVMRFMuVFlQRV09PT1xLnNwYWNlP3RoaXMucmVxdWlyZWRTcGFjZShuKTpufSxlLm5ld05vZGU9ZnVuY3Rpb24oaSxuKXtyZXR1cm4gbiYmKC9eICskLy50ZXN0KG4pJiYodGhpcy5vcHRpb25zLmxvc3N5fHwodGhpcy5zcGFjZXM9KHRoaXMuc3BhY2VzfHwiIikrbiksbj0hMCksaS5uYW1lc3BhY2U9bixhcihpLCJuYW1lc3BhY2UiKSksdGhpcy5zcGFjZXMmJihpLnNwYWNlcy5iZWZvcmU9dGhpcy5zcGFjZXMsdGhpcy5zcGFjZXM9IiIpLHRoaXMuY3VycmVudC5hcHBlbmQoaSl9LGUuY29udGVudD1mdW5jdGlvbihpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9dGhpcy5jdXJyVG9rZW4pLHRoaXMuY3NzLnNsaWNlKGlbTy5GSUVMRFMuU1RBUlRfUE9TXSxpW08uRklFTERTLkVORF9QT1NdKX0sZS5sb2NhdGVOZXh0TWVhbmluZ2Z1bFRva2VuPWZ1bmN0aW9uKGkpe2k9PT12b2lkIDAmJihpPXRoaXMucG9zaXRpb24rMSk7Zm9yKHZhciBuPWk7bjx0aGlzLnRva2Vucy5sZW5ndGg7KWlmKHpBW3RoaXMudG9rZW5zW25dW08uRklFTERTLlRZUEVdXSl7bisrO2NvbnRpbnVlfWVsc2UgcmV0dXJuIG47cmV0dXJuLTF9LGpBKHIsW3trZXk6ImN1cnJUb2tlbiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dfX0se2tleToibmV4dFRva2VuIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXX19LHtrZXk6InByZXZUb2tlbiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV19fV0pLHJ9KCk7a2kuZGVmYXVsdD1WQTt4ZC5leHBvcnRzPWtpLmRlZmF1bHR9KTt2YXIgQWQ9eCgoU2ksU2QpPT57dSgpOyJ1c2Ugc3RyaWN0IjtTaS5fX2VzTW9kdWxlPSEwO1NpLmRlZmF1bHQ9dm9pZCAwO3ZhciBIQT1XQShrZCgpKTtmdW5jdGlvbiBXQShyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19dmFyIEdBPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0LGkpe3RoaXMuZnVuYz10fHxmdW5jdGlvbigpe30sdGhpcy5mdW5jUmVzPW51bGwsdGhpcy5vcHRpb25zPWl9dmFyIGU9ci5wcm90b3R5cGU7cmV0dXJuIGUuX3Nob3VsZFVwZGF0ZVNlbGVjdG9yPWZ1bmN0aW9uKGksbil7bj09PXZvaWQgMCYmKG49e30pO3ZhciBzPU9iamVjdC5hc3NpZ24oe30sdGhpcy5vcHRpb25zLG4pO3JldHVybiBzLnVwZGF0ZVNlbGVjdG9yPT09ITE/ITE6dHlwZW9mIGkhPSJzdHJpbmcifSxlLl9pc0xvc3N5PWZ1bmN0aW9uKGkpe2k9PT12b2lkIDAmJihpPXt9KTt2YXIgbj1PYmplY3QuYXNzaWduKHt9LHRoaXMub3B0aW9ucyxpKTtyZXR1cm4gbi5sb3NzbGVzcz09PSExfSxlLl9yb290PWZ1bmN0aW9uKGksbil7bj09PXZvaWQgMCYmKG49e30pO3ZhciBzPW5ldyBIQS5kZWZhdWx0KGksdGhpcy5fcGFyc2VPcHRpb25zKG4pKTtyZXR1cm4gcy5yb290fSxlLl9wYXJzZU9wdGlvbnM9ZnVuY3Rpb24oaSl7cmV0dXJue2xvc3N5OnRoaXMuX2lzTG9zc3koaSl9fSxlLl9ydW49ZnVuY3Rpb24oaSxuKXt2YXIgcz10aGlzO3JldHVybiBuPT09dm9pZCAwJiYobj17fSksbmV3IFByb21pc2UoZnVuY3Rpb24oYSxvKXt0cnl7dmFyIGw9cy5fcm9vdChpLG4pO1Byb21pc2UucmVzb2x2ZShzLmZ1bmMobCkpLnRoZW4oZnVuY3Rpb24oYyl7dmFyIGY9dm9pZCAwO3JldHVybiBzLl9zaG91bGRVcGRhdGVTZWxlY3RvcihpLG4pJiYoZj1sLnRvU3RyaW5nKCksaS5zZWxlY3Rvcj1mKSx7dHJhbnNmb3JtOmMscm9vdDpsLHN0cmluZzpmfX0pLnRoZW4oYSxvKX1jYXRjaChjKXtvKGMpO3JldHVybn19KX0sZS5fcnVuU3luYz1mdW5jdGlvbihpLG4pe249PT12b2lkIDAmJihuPXt9KTt2YXIgcz10aGlzLl9yb290KGksbiksYT10aGlzLmZ1bmMocyk7aWYoYSYmdHlwZW9mIGEudGhlbj09ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoIlNlbGVjdG9yIHByb2Nlc3NvciByZXR1cm5lZCBhIHByb21pc2UgdG8gYSBzeW5jaHJvbm91cyBjYWxsLiIpO3ZhciBvPXZvaWQgMDtyZXR1cm4gbi51cGRhdGVTZWxlY3RvciYmdHlwZW9mIGkhPSJzdHJpbmciJiYobz1zLnRvU3RyaW5nKCksaS5zZWxlY3Rvcj1vKSx7dHJhbnNmb3JtOmEscm9vdDpzLHN0cmluZzpvfX0sZS5hc3Q9ZnVuY3Rpb24oaSxuKXtyZXR1cm4gdGhpcy5fcnVuKGksbikudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5yb290fSl9LGUuYXN0U3luYz1mdW5jdGlvbihpLG4pe3JldHVybiB0aGlzLl9ydW5TeW5jKGksbikucm9vdH0sZS50cmFuc2Zvcm09ZnVuY3Rpb24oaSxuKXtyZXR1cm4gdGhpcy5fcnVuKGksbikudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy50cmFuc2Zvcm19KX0sZS50cmFuc2Zvcm1TeW5jPWZ1bmN0aW9uKGksbil7cmV0dXJuIHRoaXMuX3J1blN5bmMoaSxuKS50cmFuc2Zvcm19LGUucHJvY2Vzcz1mdW5jdGlvbihpLG4pe3JldHVybiB0aGlzLl9ydW4oaSxuKS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLnN0cmluZ3x8cy5yb290LnRvU3RyaW5nKCl9KX0sZS5wcm9jZXNzU3luYz1mdW5jdGlvbihpLG4pe3ZhciBzPXRoaXMuX3J1blN5bmMoaSxuKTtyZXR1cm4gcy5zdHJpbmd8fHMucm9vdC50b1N0cmluZygpfSxyfSgpO1NpLmRlZmF1bHQ9R0E7U2QuZXhwb3J0cz1TaS5kZWZhdWx0fSk7dmFyIENkPXgobmU9Pnt1KCk7InVzZSBzdHJpY3QiO25lLl9fZXNNb2R1bGU9ITA7bmUudW5pdmVyc2FsPW5lLnRhZz1uZS5zdHJpbmc9bmUuc2VsZWN0b3I9bmUucm9vdD1uZS5wc2V1ZG89bmUubmVzdGluZz1uZS5pZD1uZS5jb21tZW50PW5lLmNvbWJpbmF0b3I9bmUuY2xhc3NOYW1lPW5lLmF0dHJpYnV0ZT12b2lkIDA7dmFyIFFBPXplKHRvKCkpLFlBPXplKE5hKCkpLEtBPXplKHNvKCkpLFhBPXplKEZhKCkpLFpBPXplKHphKCkpLEpBPXplKG9vKCkpLGVDPXplKFlhKCkpLHRDPXplKERhKCkpLHJDPXplKCRhKCkpLGlDPXplKEdhKCkpLG5DPXplKEhhKCkpLHNDPXplKGlvKCkpO2Z1bmN0aW9uIHplKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX12YXIgYUM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBRQS5kZWZhdWx0KGUpfTtuZS5hdHRyaWJ1dGU9YUM7dmFyIG9DPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgWUEuZGVmYXVsdChlKX07bmUuY2xhc3NOYW1lPW9DO3ZhciBsQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEtBLmRlZmF1bHQoZSl9O25lLmNvbWJpbmF0b3I9bEM7dmFyIHVDPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgWEEuZGVmYXVsdChlKX07bmUuY29tbWVudD11Qzt2YXIgZkM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBaQS5kZWZhdWx0KGUpfTtuZS5pZD1mQzt2YXIgY0M9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBKQS5kZWZhdWx0KGUpfTtuZS5uZXN0aW5nPWNDO3ZhciBwQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGVDLmRlZmF1bHQoZSl9O25lLnBzZXVkbz1wQzt2YXIgZEM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0Qy5kZWZhdWx0KGUpfTtuZS5yb290PWRDO3ZhciBoQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHJDLmRlZmF1bHQoZSl9O25lLnNlbGVjdG9yPWhDO3ZhciBtQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGlDLmRlZmF1bHQoZSl9O25lLnN0cmluZz1tQzt2YXIgZ0M9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBuQy5kZWZhdWx0KGUpfTtuZS50YWc9Z0M7dmFyIHlDPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgc0MuZGVmYXVsdChlKX07bmUudW5pdmVyc2FsPXlDfSk7dmFyIFRkPXgoWj0+e3UoKTsidXNlIHN0cmljdCI7Wi5fX2VzTW9kdWxlPSEwO1ouaXNDb21tZW50PVouaXNDb21iaW5hdG9yPVouaXNDbGFzc05hbWU9Wi5pc0F0dHJpYnV0ZT12b2lkIDA7Wi5pc0NvbnRhaW5lcj1UQztaLmlzSWRlbnRpZmllcj12b2lkIDA7Wi5pc05hbWVzcGFjZT1SQztaLmlzTmVzdGluZz12b2lkIDA7Wi5pc05vZGU9Ym87Wi5pc1BzZXVkbz12b2lkIDA7Wi5pc1BzZXVkb0NsYXNzPU9DO1ouaXNQc2V1ZG9FbGVtZW50PU9kO1ouaXNVbml2ZXJzYWw9Wi5pc1RhZz1aLmlzU3RyaW5nPVouaXNTZWxlY3Rvcj1aLmlzUm9vdD12b2lkIDA7dmFyIGZlPVNlKCksT2UsYkM9KE9lPXt9LE9lW2ZlLkFUVFJJQlVURV09ITAsT2VbZmUuQ0xBU1NdPSEwLE9lW2ZlLkNPTUJJTkFUT1JdPSEwLE9lW2ZlLkNPTU1FTlRdPSEwLE9lW2ZlLklEXT0hMCxPZVtmZS5ORVNUSU5HXT0hMCxPZVtmZS5QU0VVRE9dPSEwLE9lW2ZlLlJPT1RdPSEwLE9lW2ZlLlNFTEVDVE9SXT0hMCxPZVtmZS5TVFJJTkddPSEwLE9lW2ZlLlRBR109ITAsT2VbZmUuVU5JVkVSU0FMXT0hMCxPZSk7ZnVuY3Rpb24gYm8ocil7cmV0dXJuIHR5cGVvZiByPT0ib2JqZWN0IiYmYkNbci50eXBlXX1mdW5jdGlvbiBVZShyLGUpe3JldHVybiBibyhlKSYmZS50eXBlPT09cn12YXIgX2Q9VWUuYmluZChudWxsLGZlLkFUVFJJQlVURSk7Wi5pc0F0dHJpYnV0ZT1fZDt2YXIgd0M9VWUuYmluZChudWxsLGZlLkNMQVNTKTtaLmlzQ2xhc3NOYW1lPXdDO3ZhciB2Qz1VZS5iaW5kKG51bGwsZmUuQ09NQklOQVRPUik7Wi5pc0NvbWJpbmF0b3I9dkM7dmFyIHhDPVVlLmJpbmQobnVsbCxmZS5DT01NRU5UKTtaLmlzQ29tbWVudD14Qzt2YXIga0M9VWUuYmluZChudWxsLGZlLklEKTtaLmlzSWRlbnRpZmllcj1rQzt2YXIgU0M9VWUuYmluZChudWxsLGZlLk5FU1RJTkcpO1ouaXNOZXN0aW5nPVNDO3ZhciB3bz1VZS5iaW5kKG51bGwsZmUuUFNFVURPKTtaLmlzUHNldWRvPXdvO3ZhciBBQz1VZS5iaW5kKG51bGwsZmUuUk9PVCk7Wi5pc1Jvb3Q9QUM7dmFyIENDPVVlLmJpbmQobnVsbCxmZS5TRUxFQ1RPUik7Wi5pc1NlbGVjdG9yPUNDO3ZhciBfQz1VZS5iaW5kKG51bGwsZmUuU1RSSU5HKTtaLmlzU3RyaW5nPV9DO3ZhciBFZD1VZS5iaW5kKG51bGwsZmUuVEFHKTtaLmlzVGFnPUVkO3ZhciBFQz1VZS5iaW5kKG51bGwsZmUuVU5JVkVSU0FMKTtaLmlzVW5pdmVyc2FsPUVDO2Z1bmN0aW9uIE9kKHIpe3JldHVybiB3byhyKSYmci52YWx1ZSYmKHIudmFsdWUuc3RhcnRzV2l0aCgiOjoiKXx8ci52YWx1ZS50b0xvd2VyQ2FzZSgpPT09IjpiZWZvcmUifHxyLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT0iOmFmdGVyInx8ci52YWx1ZS50b0xvd2VyQ2FzZSgpPT09IjpmaXJzdC1sZXR0ZXIifHxyLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT0iOmZpcnN0LWxpbmUiKX1mdW5jdGlvbiBPQyhyKXtyZXR1cm4gd28ocikmJiFPZChyKX1mdW5jdGlvbiBUQyhyKXtyZXR1cm4hIShibyhyKSYmci53YWxrKX1mdW5jdGlvbiBSQyhyKXtyZXR1cm4gX2Qocil8fEVkKHIpfX0pO3ZhciBSZD14KEtlPT57dSgpOyJ1c2Ugc3RyaWN0IjtLZS5fX2VzTW9kdWxlPSEwO3ZhciB2bz1TZSgpO09iamVjdC5rZXlzKHZvKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3I9PT0iZGVmYXVsdCJ8fHI9PT0iX19lc01vZHVsZSJ8fHIgaW4gS2UmJktlW3JdPT09dm9bcl18fChLZVtyXT12b1tyXSl9KTt2YXIgeG89Q2QoKTtPYmplY3Qua2V5cyh4bykuZm9yRWFjaChmdW5jdGlvbihyKXtyPT09ImRlZmF1bHQifHxyPT09Il9fZXNNb2R1bGUifHxyIGluIEtlJiZLZVtyXT09PXhvW3JdfHwoS2Vbcl09eG9bcl0pfSk7dmFyIGtvPVRkKCk7T2JqZWN0LmtleXMoa28pLmZvckVhY2goZnVuY3Rpb24ocil7cj09PSJkZWZhdWx0Inx8cj09PSJfX2VzTW9kdWxlInx8ciBpbiBLZSYmS2Vbcl09PT1rb1tyXXx8KEtlW3JdPWtvW3JdKX0pfSk7dmFyIGl0PXgoKEFpLElkKT0+e3UoKTsidXNlIHN0cmljdCI7QWkuX19lc01vZHVsZT0hMDtBaS5kZWZhdWx0PXZvaWQgMDt2YXIgUEM9cUMoQWQoKSksSUM9REMoUmQoKSk7ZnVuY3Rpb24gUGQocil7aWYodHlwZW9mIFdlYWtNYXAhPSJmdW5jdGlvbiIpcmV0dXJuIG51bGw7dmFyIGU9bmV3IFdlYWtNYXAsdD1uZXcgV2Vha01hcDtyZXR1cm4oUGQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/dDplfSkocil9ZnVuY3Rpb24gREMocixlKXtpZighZSYmciYmci5fX2VzTW9kdWxlKXJldHVybiByO2lmKHI9PT1udWxsfHx0eXBlb2YgciE9Im9iamVjdCImJnR5cGVvZiByIT0iZnVuY3Rpb24iKXJldHVybntkZWZhdWx0OnJ9O3ZhciB0PVBkKGUpO2lmKHQmJnQuaGFzKHIpKXJldHVybiB0LmdldChyKTt2YXIgaT17fSxuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtmb3IodmFyIHMgaW4gcilpZihzIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSl7dmFyIGE9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIscyk6bnVsbDthJiYoYS5nZXR8fGEuc2V0KT9PYmplY3QuZGVmaW5lUHJvcGVydHkoaSxzLGEpOmlbc109cltzXX1yZXR1cm4gaS5kZWZhdWx0PXIsdCYmdC5zZXQocixpKSxpfWZ1bmN0aW9uIHFDKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX12YXIgU289ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQQy5kZWZhdWx0KGUpfTtPYmplY3QuYXNzaWduKFNvLElDKTtkZWxldGUgU28uX19lc01vZHVsZTt2YXIgJEM9U287QWkuZGVmYXVsdD0kQztJZC5leHBvcnRzPUFpLmRlZmF1bHR9KTtmdW5jdGlvbiBtdChyKXtyZXR1cm5bImZvbnRTaXplIiwib3V0bGluZSJdLmluY2x1ZGVzKHIpP2U9Pih0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9ZSh7fSkpLEFycmF5LmlzQXJyYXkoZSkmJihlPWVbMF0pLGUpOnI9PT0iZm9udEZhbWlseSI/ZT0+e3R5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHt9KSk7bGV0IHQ9QXJyYXkuaXNBcnJheShlKSYma2UoZVsxXSk/ZVswXTplO3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Quam9pbigiLCAiKTp0fTpbImJveFNoYWRvdyIsInRyYW5zaXRpb25Qcm9wZXJ0eSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInRyYW5zaXRpb25EZWxheSIsInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiIsImJhY2tncm91bmRJbWFnZSIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZENvbG9yIiwiY3Vyc29yIiwiYW5pbWF0aW9uIl0uaW5jbHVkZXMocik/ZT0+KHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHt9KSksQXJyYXkuaXNBcnJheShlKSYmKGU9ZS5qb2luKCIsICIpKSxlKTpbImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJncmlkVGVtcGxhdGVSb3dzIiwib2JqZWN0UG9zaXRpb24iXS5pbmNsdWRlcyhyKT9lPT4odHlwZW9mIGU9PSJmdW5jdGlvbiImJihlPWUoe30pKSx0eXBlb2YgZT09InN0cmluZyImJihlPWVlLmxpc3QuY29tbWEoZSkuam9pbigiICIpKSxlKTooZSx0PXt9KT0+KHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHQpKSxlKX12YXIgQ2k9UCgoKT0+e3UoKTtPdCgpO0t0KCl9KTt2YXIgQmQ9eCgoTUksT28pPT57dSgpO3ZhcntBdFJ1bGU6TEMsUnVsZTpEZH09JGUoKSxxZD1pdCgpO2Z1bmN0aW9uIEFvKHIsZSl7bGV0IHQ7dHJ5e3FkKGk9Pnt0PWl9KS5wcm9jZXNzU3luYyhyKX1jYXRjaChpKXt0aHJvdyByLmluY2x1ZGVzKCI6Iik/ZT9lLmVycm9yKCJNaXNzZWQgc2VtaWNvbG9uIik6aTplP2UuZXJyb3IoaS5tZXNzYWdlKTppfXJldHVybiB0LmF0KDApfWZ1bmN0aW9uICRkKHIsZSl7bGV0IHQ9ITE7cmV0dXJuIHIuZWFjaChpPT57aWYoaS50eXBlPT09Im5lc3RpbmciKXtsZXQgbj1lLmNsb25lKHt9KTtpLnZhbHVlIT09IiYiP2kucmVwbGFjZVdpdGgoQW8oaS52YWx1ZS5yZXBsYWNlKCImIixuLnRvU3RyaW5nKCkpKSk6aS5yZXBsYWNlV2l0aChuKSx0PSEwfWVsc2Uibm9kZXMiaW4gaSYmaS5ub2RlcyYmJGQoaSxlKSYmKHQ9ITApfSksdH1mdW5jdGlvbiBMZChyLGUpe2xldCB0PVtdO3JldHVybiByLnNlbGVjdG9ycy5mb3JFYWNoKGk9PntsZXQgbj1BbyhpLHIpO2Uuc2VsZWN0b3JzLmZvckVhY2gocz0+e2lmKCFzKXJldHVybjtsZXQgYT1BbyhzLGUpOyRkKGEsbil8fChhLnByZXBlbmQocWQuY29tYmluYXRvcih7dmFsdWU6IiAifSkpLGEucHJlcGVuZChuLmNsb25lKHt9KSkpLHQucHVzaChhLnRvU3RyaW5nKCkpfSl9KSx0fWZ1bmN0aW9uIEhuKHIsZSl7bGV0IHQ9ci5wcmV2KCk7Zm9yKGUuYWZ0ZXIocik7dCYmdC50eXBlPT09ImNvbW1lbnQiOyl7bGV0IGk9dC5wcmV2KCk7ZS5hZnRlcih0KSx0PWl9cmV0dXJuIHJ9ZnVuY3Rpb24gTUMocil7cmV0dXJuIGZ1bmN0aW9uIGUodCxpLG4scz1uKXtsZXQgYT1bXTtpZihpLmVhY2gobz0+e28udHlwZT09PSJydWxlIiYmbj9zJiYoby5zZWxlY3RvcnM9TGQodCxvKSk6by50eXBlPT09ImF0cnVsZSImJm8ubm9kZXM/cltvLm5hbWVdP2UodCxvLHMpOmlbX29dIT09ITEmJmEucHVzaChvKTphLnB1c2gobyl9KSxuJiZhLmxlbmd0aCl7bGV0IG89dC5jbG9uZSh7bm9kZXM6W119KTtmb3IobGV0IGwgb2YgYSlvLmFwcGVuZChsKTtpLnByZXBlbmQobyl9fX1mdW5jdGlvbiBDbyhyLGUsdCl7bGV0IGk9bmV3IERkKHtub2RlczpbXSxzZWxlY3RvcjpyfSk7cmV0dXJuIGkuYXBwZW5kKGUpLHQuYWZ0ZXIoaSksaX1mdW5jdGlvbiBNZChyLGUpe2xldCB0PXt9O2ZvcihsZXQgaSBvZiByKXRbaV09ITA7aWYoZSlmb3IobGV0IGkgb2YgZSl0W2kucmVwbGFjZSgvXkAvLCIiKV09ITA7cmV0dXJuIHR9ZnVuY3Rpb24gTkMocil7cj1yLnRyaW0oKTtsZXQgZT1yLm1hdGNoKC9eXCgoLiopXCkkLyk7aWYoIWUpcmV0dXJue3NlbGVjdG9yOnIsdHlwZToiYmFzaWMifTtsZXQgdD1lWzFdLm1hdGNoKC9eKHdpdGgoPzpvdXQpPyk6KC4rKSQvKTtpZih0KXtsZXQgaT10WzFdPT09IndpdGgiLG49T2JqZWN0LmZyb21FbnRyaWVzKHRbMl0udHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoYT0+W2EsITBdKSk7aWYoaSYmbi5hbGwpcmV0dXJue3R5cGU6Im5vb3AifTtsZXQgcz1hPT4hIW5bYV07cmV0dXJuIG4uYWxsP3M9KCk9PiEwOmkmJihzPWE9PmE9PT0iYWxsIj8hMTohblthXSkse2VzY2FwZXM6cyx0eXBlOiJ3aXRocnVsZXMifX1yZXR1cm57dHlwZToidW5rbm93biJ9fWZ1bmN0aW9uIEJDKHIpe2xldCBlPVtdLHQ9ci5wYXJlbnQ7Zm9yKDt0JiZ0IGluc3RhbmNlb2YgTEM7KWUucHVzaCh0KSx0PXQucGFyZW50O3JldHVybiBlfWZ1bmN0aW9uIEZDKHIpe2xldCBlPXJbTmRdO2lmKCFlKXIuYWZ0ZXIoci5ub2Rlcyk7ZWxzZXtsZXQgdD1yLm5vZGVzLGksbj0tMSxzLGEsbyxsPUJDKHIpO2lmKGwuZm9yRWFjaCgoYyxmKT0+e2lmKGUoYy5uYW1lKSlpPWMsbj1mLGE9bztlbHNle2xldCBkPW87bz1jLmNsb25lKHtub2RlczpbXX0pLGQmJm8uYXBwZW5kKGQpLHM9c3x8b319KSxpP2E/KHMuYXBwZW5kKHQpLGkuYWZ0ZXIoYSkpOmkuYWZ0ZXIodCk6ci5hZnRlcih0KSxyLm5leHQoKSYmaSl7bGV0IGM7bC5zbGljZSgwLG4rMSkuZm9yRWFjaCgoZixkLHApPT57bGV0IGg9YztjPWYuY2xvbmUoe25vZGVzOltdfSksaCYmYy5hcHBlbmQoaCk7bGV0IGI9W10seT0ocFtkLTFdfHxyKS5uZXh0KCk7Zm9yKDt5OyliLnB1c2goeSkseT15Lm5leHQoKTtjLmFwcGVuZChiKX0pLGMmJihhfHx0W3QubGVuZ3RoLTFdKS5hZnRlcihjKX19ci5yZW1vdmUoKX12YXIgX289U3ltYm9sKCJyb290UnVsZU1lcmdlU2VsIiksTmQ9U3ltYm9sKCJyb290UnVsZUVzY2FwZXMiKTtmdW5jdGlvbiBqQyhyKXtsZXR7cGFyYW1zOmV9PXIse2VzY2FwZXM6dCxzZWxlY3RvcjppLHR5cGU6bn09TkMoZSk7aWYobj09PSJ1bmtub3duIil0aHJvdyByLmVycm9yKGBVbmtub3duIEAke3IubmFtZX0gcGFyYW1ldGVyICR7SlNPTi5zdHJpbmdpZnkoZSl9YCk7aWYobj09PSJiYXNpYyImJmkpe2xldCBzPW5ldyBEZCh7bm9kZXM6ci5ub2RlcyxzZWxlY3RvcjppfSk7ci5yZW1vdmVBbGwoKSxyLmFwcGVuZChzKX1yW05kXT10LHJbX29dPXQ/IXQoImFsbCIpOm49PT0ibm9vcCJ9dmFyIEVvPVN5bWJvbCgiaGFzUm9vdFJ1bGUiKTtPby5leHBvcnRzPShyPXt9KT0+e2xldCBlPU1kKFsibWVkaWEiLCJzdXBwb3J0cyIsImxheWVyIiwiY29udGFpbmVyIiwic3RhcnRpbmctc3R5bGUiXSxyLmJ1YmJsZSksdD1NQyhlKSxpPU1kKFsiZG9jdW1lbnQiLCJmb250LWZhY2UiLCJrZXlmcmFtZXMiLCItd2Via2l0LWtleWZyYW1lcyIsIi1tb3ota2V5ZnJhbWVzIl0sci51bndyYXApLG49KHIucm9vdFJ1bGVOYW1lfHwiYXQtcm9vdCIpLnJlcGxhY2UoL15ALywiIikscz1yLnByZXNlcnZlRW1wdHk7cmV0dXJue09uY2UoYSl7YS53YWxrQXRSdWxlcyhuLG89PntqQyhvKSxhW0VvXT0hMH0pfSxwb3N0Y3NzUGx1Z2luOiJwb3N0Y3NzLW5lc3RlZCIsUm9vdEV4aXQoYSl7YVtFb10mJihhLndhbGtBdFJ1bGVzKG4sRkMpLGFbRW9dPSExKX0sUnVsZShhKXtsZXQgbz0hMSxsPWEsYz0hMSxmPVtdO2EuZWFjaChkPT57ZC50eXBlPT09InJ1bGUiPyhmLmxlbmd0aCYmKGw9Q28oYS5zZWxlY3RvcixmLGwpLGY9W10pLGM9ITAsbz0hMCxkLnNlbGVjdG9ycz1MZChhLGQpLGw9SG4oZCxsKSk6ZC50eXBlPT09ImF0cnVsZSI/KGYubGVuZ3RoJiYobD1DbyhhLnNlbGVjdG9yLGYsbCksZj1bXSksZC5uYW1lPT09bj8obz0hMCx0KGEsZCwhMCxkW19vXSksbD1IbihkLGwpKTplW2QubmFtZV0/KGM9ITAsbz0hMCx0KGEsZCwhMCksbD1IbihkLGwpKTppW2QubmFtZV0/KGM9ITAsbz0hMCx0KGEsZCwhMSksbD1IbihkLGwpKTpjJiZmLnB1c2goZCkpOmQudHlwZT09PSJkZWNsIiYmYyYmZi5wdXNoKGQpfSksZi5sZW5ndGgmJihsPUNvKGEuc2VsZWN0b3IsZixsKSksbyYmcyE9PSEwJiYoYS5yYXdzLnNlbWljb2xvbj0hMCxhLm5vZGVzLmxlbmd0aD09PTAmJmEucmVtb3ZlKCkpfX19O09vLmV4cG9ydHMucG9zdGNzcz0hMH0pO3ZhciBVZD14KChOSSx6ZCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBGZD0vLShcd3wkKS9nLGpkPShyLGUpPT5lLnRvVXBwZXJDYXNlKCksekM9cj0+KHI9ci50b0xvd2VyQ2FzZSgpLHI9PT0iZmxvYXQiPyJjc3NGbG9hdCI6ci5zdGFydHNXaXRoKCItbXMtIik/ci5zdWJzdHIoMSkucmVwbGFjZShGZCxqZCk6ci5yZXBsYWNlKEZkLGpkKSk7emQuZXhwb3J0cz16Q30pO3ZhciBQbz14KChCSSxWZCk9Pnt1KCk7dmFyIFVDPVVkKCksVkM9e2JveEZsZXg6ITAsYm94RmxleEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGZsZXg6ITAsZmxleEdyb3c6ITAsZmxleFBvc2l0aXZlOiEwLGZsZXhTaHJpbms6ITAsZmxleE5lZ2F0aXZlOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUNsYW1wOiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHRhYlNpemU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwLGZpbGxPcGFjaXR5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlT3BhY2l0eTohMCxzdHJva2VXaWR0aDohMH07ZnVuY3Rpb24gVG8ocil7cmV0dXJuIHR5cGVvZiByLm5vZGVzPT0idW5kZWZpbmVkIj8hMDpSbyhyKX1mdW5jdGlvbiBSbyhyKXtsZXQgZSx0PXt9O3JldHVybiByLmVhY2goaT0+e2lmKGkudHlwZT09PSJhdHJ1bGUiKWU9IkAiK2kubmFtZSxpLnBhcmFtcyYmKGUrPSIgIitpLnBhcmFtcyksdHlwZW9mIHRbZV09PSJ1bmRlZmluZWQiP3RbZV09VG8oaSk6QXJyYXkuaXNBcnJheSh0W2VdKT90W2VdLnB1c2goVG8oaSkpOnRbZV09W3RbZV0sVG8oaSldO2Vsc2UgaWYoaS50eXBlPT09InJ1bGUiKXtsZXQgbj1SbyhpKTtpZih0W2kuc2VsZWN0b3JdKWZvcihsZXQgcyBpbiBuKXRbaS5zZWxlY3Rvcl1bc109bltzXTtlbHNlIHRbaS5zZWxlY3Rvcl09bn1lbHNlIGlmKGkudHlwZT09PSJkZWNsIil7aS5wcm9wWzBdPT09Ii0iJiZpLnByb3BbMV09PT0iLSJ8fGkucGFyZW50JiZpLnBhcmVudC5zZWxlY3Rvcj09PSI6ZXhwb3J0Ij9lPWkucHJvcDplPVVDKGkucHJvcCk7bGV0IG49aS52YWx1ZTshaXNOYU4oaS52YWx1ZSkmJlZDW2VdJiYobj1wYXJzZUZsb2F0KGkudmFsdWUpKSxpLmltcG9ydGFudCYmKG4rPSIgIWltcG9ydGFudCIpLHR5cGVvZiB0W2VdPT0idW5kZWZpbmVkIj90W2VdPW46QXJyYXkuaXNBcnJheSh0W2VdKT90W2VdLnB1c2gobik6dFtlXT1bdFtlXSxuXX19KSx0fVZkLmV4cG9ydHM9Um99KTt2YXIgV249eCgoRkksUWQpPT57dSgpO3ZhciBfaT0kZSgpLEhkPS9ccyohaW1wb3J0YW50XHMqJC9pLEhDPXsiYm94LWZsZXgiOiEwLCJib3gtZmxleC1ncm91cCI6ITAsImNvbHVtbi1jb3VudCI6ITAsZmxleDohMCwiZmxleC1ncm93IjohMCwiZmxleC1wb3NpdGl2ZSI6ITAsImZsZXgtc2hyaW5rIjohMCwiZmxleC1uZWdhdGl2ZSI6ITAsImZvbnQtd2VpZ2h0IjohMCwibGluZS1jbGFtcCI6ITAsImxpbmUtaGVpZ2h0IjohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsInRhYi1zaXplIjohMCx3aWRvd3M6ITAsInotaW5kZXgiOiEwLHpvb206ITAsImZpbGwtb3BhY2l0eSI6ITAsInN0cm9rZS1kYXNob2Zmc2V0IjohMCwic3Ryb2tlLW9wYWNpdHkiOiEwLCJzdHJva2Utd2lkdGgiOiEwfTtmdW5jdGlvbiBXQyhyKXtyZXR1cm4gci5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnJlcGxhY2UoL15tcy0vLCItbXMtIikudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBXZChyLGUsdCl7dD09PSExfHx0PT09bnVsbHx8KGUuc3RhcnRzV2l0aCgiLS0iKXx8KGU9V0MoZSkpLHR5cGVvZiB0PT0ibnVtYmVyIiYmKHQ9PT0wfHxIQ1tlXT90PXQudG9TdHJpbmcoKTp0Kz0icHgiKSxlPT09ImNzcy1mbG9hdCImJihlPSJmbG9hdCIpLEhkLnRlc3QodCk/KHQ9dC5yZXBsYWNlKEhkLCIiKSxyLnB1c2goX2kuZGVjbCh7cHJvcDplLHZhbHVlOnQsaW1wb3J0YW50OiEwfSkpKTpyLnB1c2goX2kuZGVjbCh7cHJvcDplLHZhbHVlOnR9KSkpfWZ1bmN0aW9uIEdkKHIsZSx0KXtsZXQgaT1faS5hdFJ1bGUoe25hbWU6ZVsxXSxwYXJhbXM6ZVszXXx8IiJ9KTt0eXBlb2YgdD09Im9iamVjdCImJihpLm5vZGVzPVtdLElvKHQsaSkpLHIucHVzaChpKX1mdW5jdGlvbiBJbyhyLGUpe2xldCB0LGksbjtmb3IodCBpbiByKWlmKGk9clt0XSwhKGk9PT1udWxsfHx0eXBlb2YgaT09InVuZGVmaW5lZCIpKWlmKHRbMF09PT0iQCIpe2xldCBzPXQubWF0Y2goL0AoXFMrKShccysoW1xXXHddKilccyopPy8pO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGxldCBhIG9mIGkpR2QoZSxzLGEpO2Vsc2UgR2QoZSxzLGkpfWVsc2UgaWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IHMgb2YgaSlXZChlLHQscyk7ZWxzZSB0eXBlb2YgaT09Im9iamVjdCI/KG49X2kucnVsZSh7c2VsZWN0b3I6dH0pLElvKGksbiksZS5wdXNoKG4pKTpXZChlLHQsaSl9UWQuZXhwb3J0cz1mdW5jdGlvbihyKXtsZXQgZT1faS5yb290KCk7cmV0dXJuIElvKHIsZSksZX19KTt2YXIgRG89eCgoakksWWQpPT57dSgpO3ZhciBHQz1QbygpO1lkLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGNvbnNvbGUmJmNvbnNvbGUud2FybiYmZS53YXJuaW5ncygpLmZvckVhY2godD0+e2xldCBpPXQucGx1Z2lufHwiUG9zdENTUyI7Y29uc29sZS53YXJuKGkrIjogIit0LnRleHQpfSksR0MoZS5yb290KX19KTt2YXIgWGQ9eCgoekksS2QpPT57dSgpO3ZhciBRQz0kZSgpLFlDPURvKCksS0M9V24oKTtLZC5leHBvcnRzPWZ1bmN0aW9uKGUpe2xldCB0PVFDKGUpO3JldHVybiBhc3luYyBpPT57bGV0IG49YXdhaXQgdC5wcm9jZXNzKGkse3BhcnNlcjpLQyxmcm9tOnZvaWQgMH0pO3JldHVybiBZQyhuKX19fSk7dmFyIEpkPXgoKFVJLFpkKT0+e3UoKTt2YXIgWEM9JGUoKSxaQz1EbygpLEpDPVduKCk7WmQuZXhwb3J0cz1mdW5jdGlvbihyKXtsZXQgZT1YQyhyKTtyZXR1cm4gdD0+e2xldCBpPWUucHJvY2Vzcyh0LHtwYXJzZXI6SkMsZnJvbTp2b2lkIDB9KTtyZXR1cm4gWkMoaSl9fX0pO3ZhciB0aD14KChWSSxlaCk9Pnt1KCk7dmFyIGVfPVBvKCksdF89V24oKSxyXz1YZCgpLGlfPUpkKCk7ZWguZXhwb3J0cz17b2JqZWN0aWZ5OmVfLHBhcnNlOnRfLGFzeW5jOnJfLHN5bmM6aV99fSk7dmFyIG9yLHJoLEhJLFdJLEdJLFFJLGloPVAoKCk9Pnt1KCk7b3I9cGUodGgoKSkscmg9b3IuZGVmYXVsdCxIST1vci5kZWZhdWx0Lm9iamVjdGlmeSxXST1vci5kZWZhdWx0LnBhcnNlLEdJPW9yLmRlZmF1bHQuYXN5bmMsUUk9b3IuZGVmYXVsdC5zeW5jfSk7ZnVuY3Rpb24gbHIocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5mbGF0TWFwKGU9PmVlKFsoMCxuaC5kZWZhdWx0KSh7YnViYmxlOlsic2NyZWVuIl19KV0pLnByb2Nlc3MoZSx7cGFyc2VyOnJofSkucm9vdC5ub2Rlcyk6bHIoW3JdKX12YXIgbmgscW89UCgoKT0+e3UoKTtPdCgpO25oPXBlKEJkKCkpO2loKCl9KTtmdW5jdGlvbiB1cihyLGUsdD0hMSl7aWYocj09PSIiKXJldHVybiBlO2xldCBpPXR5cGVvZiBlPT0ic3RyaW5nIj8oMCxzaC5kZWZhdWx0KSgpLmFzdFN5bmMoZSk6ZTtyZXR1cm4gaS53YWxrQ2xhc3NlcyhuPT57bGV0IHM9bi52YWx1ZSxhPXQmJnMuc3RhcnRzV2l0aCgiLSIpO24udmFsdWU9YT9gLSR7cn0ke3Muc2xpY2UoMSl9YDpgJHtyfSR7c31gfSksdHlwZW9mIGU9PSJzdHJpbmciP2kudG9TdHJpbmcoKTppfXZhciBzaCxHbj1QKCgpPT57dSgpO3NoPXBlKGl0KCkpfSk7ZnVuY3Rpb24gVGUocil7bGV0IGU9YWguZGVmYXVsdC5jbGFzc05hbWUoKTtyZXR1cm4gZS52YWx1ZT1yLGp0KGU/LnJhd3M/LnZhbHVlPz9lLnZhbHVlKX12YXIgYWgsZnI9UCgoKT0+e3UoKTthaD1wZShpdCgpKTtaaSgpfSk7ZnVuY3Rpb24gJG8ocil7cmV0dXJuIGp0KGAuJHtUZShyKX1gKX1mdW5jdGlvbiBRbihyLGUpe3JldHVybiAkbyhFaShyLGUpKX1mdW5jdGlvbiBFaShyLGUpe3JldHVybiBlPT09IkRFRkFVTFQiP3I6ZT09PSItInx8ZT09PSItREVGQVVMVCI/YC0ke3J9YDplLnN0YXJ0c1dpdGgoIi0iKT9gLSR7cn0ke2V9YDplLnN0YXJ0c1dpdGgoIi8iKT9gJHtyfSR7ZX1gOmAke3J9LSR7ZX1gfXZhciBMbz1QKCgpPT57dSgpO2ZyKCk7WmkoKX0pO2Z1bmN0aW9uIEwocixlPVtbcixbcl1dXSx7ZmlsdGVyRGVmYXVsdDp0PSExLC4uLml9PXt9KXtsZXQgbj1tdChyKTtyZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnMsdGhlbWU6YX0pe2ZvcihsZXQgbyBvZiBlKXtsZXQgbD1BcnJheS5pc0FycmF5KG9bMF0pP286W29dO3MobC5yZWR1Y2UoKGMsW2YsZF0pPT5PYmplY3QuYXNzaWduKGMse1tmXTpwPT5kLnJlZHVjZSgoaCxiKT0+QXJyYXkuaXNBcnJheShiKT9PYmplY3QuYXNzaWduKGgse1tiWzBdXTpiWzFdfSk6T2JqZWN0LmFzc2lnbihoLHtbYl06bihwKX0pLHt9KX0pLHt9KSx7Li4uaSx2YWx1ZXM6dD9PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYShyKT8/e30pLmZpbHRlcigoW2NdKT0+YyE9PSJERUZBVUxUIikpOmEocil9KX19fXZhciBvaD1QKCgpPT57dSgpO0NpKCl9KTtmdW5jdGlvbiBUdChyKXtyZXR1cm4gcj1BcnJheS5pc0FycmF5KHIpP3I6W3JdLHIubWFwKGU9PntsZXQgdD1lLnZhbHVlcy5tYXAoaT0+aS5yYXchPT12b2lkIDA/aS5yYXc6W2kubWluJiZgKG1pbi13aWR0aDogJHtpLm1pbn0pYCxpLm1heCYmYChtYXgtd2lkdGg6ICR7aS5tYXh9KWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgYW5kICIpKTtyZXR1cm4gZS5ub3Q/YG5vdCBhbGwgYW5kICR7dH1gOnR9KS5qb2luKCIsICIpfXZhciBZbj1QKCgpPT57dSgpfSk7ZnVuY3Rpb24gTW8ocil7cmV0dXJuIHIuc3BsaXQoZl8pLm1hcCh0PT57bGV0IGk9dC50cmltKCksbj17dmFsdWU6aX0scz1pLnNwbGl0KGNfKSxhPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHMpIWEuaGFzKCJESVJFQ1RJT05TIikmJm5fLmhhcyhvKT8obi5kaXJlY3Rpb249byxhLmFkZCgiRElSRUNUSU9OUyIpKTohYS5oYXMoIlBMQVlfU1RBVEVTIikmJnNfLmhhcyhvKT8obi5wbGF5U3RhdGU9byxhLmFkZCgiUExBWV9TVEFURVMiKSk6IWEuaGFzKCJGSUxMX01PREVTIikmJmFfLmhhcyhvKT8obi5maWxsTW9kZT1vLGEuYWRkKCJGSUxMX01PREVTIikpOiFhLmhhcygiSVRFUkFUSU9OX0NPVU5UUyIpJiYob18uaGFzKG8pfHxwXy50ZXN0KG8pKT8obi5pdGVyYXRpb25Db3VudD1vLGEuYWRkKCJJVEVSQVRJT05fQ09VTlRTIikpOiFhLmhhcygiVElNSU5HX0ZVTkNUSU9OIikmJmxfLmhhcyhvKXx8IWEuaGFzKCJUSU1JTkdfRlVOQ1RJT04iKSYmdV8uc29tZShsPT5vLnN0YXJ0c1dpdGgoYCR7bH0oYCkpPyhuLnRpbWluZ0Z1bmN0aW9uPW8sYS5hZGQoIlRJTUlOR19GVU5DVElPTiIpKTohYS5oYXMoIkRVUkFUSU9OIikmJmxoLnRlc3Qobyk/KG4uZHVyYXRpb249byxhLmFkZCgiRFVSQVRJT04iKSk6IWEuaGFzKCJERUxBWSIpJiZsaC50ZXN0KG8pPyhuLmRlbGF5PW8sYS5hZGQoIkRFTEFZIikpOmEuaGFzKCJOQU1FIik/KG4udW5rbm93bnx8KG4udW5rbm93bj1bXSksbi51bmtub3duLnB1c2gobykpOihuLm5hbWU9byxhLmFkZCgiTkFNRSIpKTtyZXR1cm4gbn0pfXZhciBuXyxzXyxhXyxvXyxsXyx1XyxmXyxjXyxsaCxwXyx1aD1QKCgpPT57dSgpO25fPW5ldyBTZXQoWyJub3JtYWwiLCJyZXZlcnNlIiwiYWx0ZXJuYXRlIiwiYWx0ZXJuYXRlLXJldmVyc2UiXSksc189bmV3IFNldChbInJ1bm5pbmciLCJwYXVzZWQiXSksYV89bmV3IFNldChbIm5vbmUiLCJmb3J3YXJkcyIsImJhY2t3YXJkcyIsImJvdGgiXSksb189bmV3IFNldChbImluZmluaXRlIl0pLGxfPW5ldyBTZXQoWyJsaW5lYXIiLCJlYXNlIiwiZWFzZS1pbiIsImVhc2Utb3V0IiwiZWFzZS1pbi1vdXQiLCJzdGVwLXN0YXJ0Iiwic3RlcC1lbmQiXSksdV89WyJjdWJpYy1iZXppZXIiLCJzdGVwcyJdLGZfPS9cLCg/IVteKF0qXCkpL2csY189L1wgKyg/IVteKF0qXCkpL2csbGg9L14oLT9bXGQuXSttP3MpJC8scF89L14oXGQrKSQvfSk7dmFyIGZoLHhlLGNoPVAoKCk9Pnt1KCk7Zmg9cj0+T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhyPz97fSkuZmxhdE1hcCgoW2UsdF0pPT50eXBlb2YgdD09Im9iamVjdCI/T2JqZWN0LmVudHJpZXMoZmgodCkpLm1hcCgoW2ksbl0pPT4oe1tlKyhpPT09IkRFRkFVTFQiPyIiOmAtJHtpfWApXTpufSkpOlt7W2Ake2V9YF06dH1dKSkseGU9Zmh9KTt2YXIgZGgscGg9UCgoKT0+e2RoPSIzLjQuMTcifSk7ZnVuY3Rpb24gUnQocixlPSEwKXtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLm1hcCh0PT57aWYoZSYmQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgRXJyb3IoIlRoZSB0dXBsZSBzeW50YXggaXMgbm90IHN1cHBvcnRlZCBmb3IgYHNjcmVlbnNgLiIpO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm57bmFtZTp0LnRvU3RyaW5nKCksbm90OiExLHZhbHVlczpbe21pbjp0LG1heDp2b2lkIDB9XX07bGV0W2ksbl09dDtyZXR1cm4gaT1pLnRvU3RyaW5nKCksdHlwZW9mIG49PSJzdHJpbmciP3tuYW1lOmksbm90OiExLHZhbHVlczpbe21pbjpuLG1heDp2b2lkIDB9XX06QXJyYXkuaXNBcnJheShuKT97bmFtZTppLG5vdDohMSx2YWx1ZXM6bi5tYXAocz0+bWgocykpfTp7bmFtZTppLG5vdDohMSx2YWx1ZXM6W21oKG4pXX19KTpSdChPYmplY3QuZW50cmllcyhyPz97fSksITEpfWZ1bmN0aW9uIEtuKHIpe3JldHVybiByLnZhbHVlcy5sZW5ndGghPT0xP3tyZXN1bHQ6ITEscmVhc29uOiJtdWx0aXBsZS12YWx1ZXMifTpyLnZhbHVlc1swXS5yYXchPT12b2lkIDA/e3Jlc3VsdDohMSxyZWFzb246InJhdy12YWx1ZXMifTpyLnZhbHVlc1swXS5taW4hPT12b2lkIDAmJnIudmFsdWVzWzBdLm1heCE9PXZvaWQgMD97cmVzdWx0OiExLHJlYXNvbjoibWluLWFuZC1tYXgifTp7cmVzdWx0OiEwLHJlYXNvbjpudWxsfX1mdW5jdGlvbiBoaChyLGUsdCl7bGV0IGk9WG4oZSxyKSxuPVhuKHQscikscz1LbihpKSxhPUtuKG4pO2lmKHMucmVhc29uPT09Im11bHRpcGxlLXZhbHVlcyJ8fGEucmVhc29uPT09Im11bHRpcGxlLXZhbHVlcyIpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gc29ydCBhIHNjcmVlbiB3aXRoIG11bHRpcGxlIHZhbHVlcy4gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiBQbGVhc2Ugb3BlbiBhIGJ1ZyByZXBvcnQuIik7aWYocy5yZWFzb249PT0icmF3LXZhbHVlcyJ8fGEucmVhc29uPT09InJhdy12YWx1ZXMiKXRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGVkIHRvIHNvcnQgYSBzY3JlZW4gd2l0aCByYXcgdmFsdWVzLiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIFBsZWFzZSBvcGVuIGEgYnVnIHJlcG9ydC4iKTtpZihzLnJlYXNvbj09PSJtaW4tYW5kLW1heCJ8fGEucmVhc29uPT09Im1pbi1hbmQtbWF4Iil0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRlZCB0byBzb3J0IGEgc2NyZWVuIHdpdGggYm90aCBtaW4gYW5kIG1heCB2YWx1ZXMuIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4gUGxlYXNlIG9wZW4gYSBidWcgcmVwb3J0LiIpO2xldHttaW46byxtYXg6bH09aS52YWx1ZXNbMF0se21pbjpjLG1heDpmfT1uLnZhbHVlc1swXTtlLm5vdCYmKFtvLGxdPVtsLG9dKSx0Lm5vdCYmKFtjLGZdPVtmLGNdKSxvPW89PT12b2lkIDA/bzpwYXJzZUZsb2F0KG8pLGw9bD09PXZvaWQgMD9sOnBhcnNlRmxvYXQobCksYz1jPT09dm9pZCAwP2M6cGFyc2VGbG9hdChjKSxmPWY9PT12b2lkIDA/ZjpwYXJzZUZsb2F0KGYpO2xldFtkLHBdPXI9PT0ibWluIj9bbyxjXTpbZixsXTtyZXR1cm4gZC1wfWZ1bmN0aW9uIFhuKHIsZSl7cmV0dXJuIHR5cGVvZiByPT0ib2JqZWN0Ij9yOntuYW1lOiJhcmJpdHJhcnktc2NyZWVuIix2YWx1ZXM6W3tbZV06cn1dfX1mdW5jdGlvbiBtaCh7Im1pbi13aWR0aCI6cixtaW46ZT1yLG1heDp0LHJhdzppfT17fSl7cmV0dXJue21pbjplLG1heDp0LHJhdzppfX12YXIgWm49UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIEpuKHIsZSl7ci53YWxrRGVjbHModD0+e2lmKGUuaW5jbHVkZXModC5wcm9wKSl7dC5yZW1vdmUoKTtyZXR1cm59Zm9yKGxldCBpIG9mIGUpdC52YWx1ZS5pbmNsdWRlcyhgLyB2YXIoJHtpfSlgKT90LnZhbHVlPXQudmFsdWUucmVwbGFjZShgLyB2YXIoJHtpfSlgLCIiKTp0LnZhbHVlLmluY2x1ZGVzKGAvIHZhcigke2l9LCAxKWApJiYodC52YWx1ZT10LnZhbHVlLnJlcGxhY2UoYC8gdmFyKCR7aX0sIDEpYCwiIikpfSl9dmFyIGdoPVAoKCk9Pnt1KCl9KTt2YXIgc2UsWGUsbnQsZ2UseWgsYmg9UCgoKT0+e3UoKTtmdCgpO2V0KCk7T3QoKTtvaCgpO1luKCk7ZnIoKTt1aCgpO2NoKCk7THIoKTtyYSgpO0t0KCk7Q2koKTtwaCgpO0JlKCk7Wm4oKTtZcygpO2doKCk7Y3QoKTtCcigpO09pKCk7c2U9e2NoaWxkVmFyaWFudDooe2FkZFZhcmlhbnQ6cn0pPT57cigiKiIsIiYgPiAqIil9LHBzZXVkb0VsZW1lbnRWYXJpYW50czooe2FkZFZhcmlhbnQ6cn0pPT57cigiZmlyc3QtbGV0dGVyIiwiJjo6Zmlyc3QtbGV0dGVyIikscigiZmlyc3QtbGluZSIsIiY6OmZpcnN0LWxpbmUiKSxyKCJtYXJrZXIiLFsoe2NvbnRhaW5lcjplfSk9PihKbihlLFsiLS10dy10ZXh0LW9wYWNpdHkiXSksIiYgKjo6bWFya2VyIiksKHtjb250YWluZXI6ZX0pPT4oSm4oZSxbIi0tdHctdGV4dC1vcGFjaXR5Il0pLCImOjptYXJrZXIiKV0pLHIoInNlbGVjdGlvbiIsWyImICo6OnNlbGVjdGlvbiIsIiY6OnNlbGVjdGlvbiJdKSxyKCJmaWxlIiwiJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24iKSxyKCJwbGFjZWhvbGRlciIsIiY6OnBsYWNlaG9sZGVyIikscigiYmFja2Ryb3AiLCImOjpiYWNrZHJvcCIpLHIoImJlZm9yZSIsKHtjb250YWluZXI6ZX0pPT4oZS53YWxrUnVsZXModD0+e2xldCBpPSExO3Qud2Fsa0RlY2xzKCJjb250ZW50IiwoKT0+e2k9ITB9KSxpfHx0LnByZXBlbmQoZWUuZGVjbCh7cHJvcDoiY29udGVudCIsdmFsdWU6InZhcigtLXR3LWNvbnRlbnQpIn0pKX0pLCImOjpiZWZvcmUiKSkscigiYWZ0ZXIiLCh7Y29udGFpbmVyOmV9KT0+KGUud2Fsa1J1bGVzKHQ9PntsZXQgaT0hMTt0LndhbGtEZWNscygiY29udGVudCIsKCk9PntpPSEwfSksaXx8dC5wcmVwZW5kKGVlLmRlY2woe3Byb3A6ImNvbnRlbnQiLHZhbHVlOiJ2YXIoLS10dy1jb250ZW50KSJ9KSl9KSwiJjo6YWZ0ZXIiKSl9LHBzZXVkb0NsYXNzVmFyaWFudHM6KHthZGRWYXJpYW50OnIsbWF0Y2hWYXJpYW50OmUsY29uZmlnOnQscHJlZml4Oml9KT0+e2xldCBuPVtbImZpcnN0IiwiJjpmaXJzdC1jaGlsZCJdLFsibGFzdCIsIiY6bGFzdC1jaGlsZCJdLFsib25seSIsIiY6b25seS1jaGlsZCJdLFsib2RkIiwiJjpudGgtY2hpbGQob2RkKSJdLFsiZXZlbiIsIiY6bnRoLWNoaWxkKGV2ZW4pIl0sImZpcnN0LW9mLXR5cGUiLCJsYXN0LW9mLXR5cGUiLCJvbmx5LW9mLXR5cGUiLFsidmlzaXRlZCIsKHtjb250YWluZXI6YX0pPT4oSm4oYSxbIi0tdHctdGV4dC1vcGFjaXR5IiwiLS10dy1ib3JkZXItb3BhY2l0eSIsIi0tdHctYmctb3BhY2l0eSJdKSwiJjp2aXNpdGVkIildLCJ0YXJnZXQiLFsib3BlbiIsIiZbb3Blbl0iXSwiZGVmYXVsdCIsImNoZWNrZWQiLCJpbmRldGVybWluYXRlIiwicGxhY2Vob2xkZXItc2hvd24iLCJhdXRvZmlsbCIsIm9wdGlvbmFsIiwicmVxdWlyZWQiLCJ2YWxpZCIsImludmFsaWQiLCJpbi1yYW5nZSIsIm91dC1vZi1yYW5nZSIsInJlYWQtb25seSIsImVtcHR5IiwiZm9jdXMtd2l0aGluIixbImhvdmVyIix3ZSh0KCksImhvdmVyT25seVdoZW5TdXBwb3J0ZWQiKT8iQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkgeyAmOmhvdmVyIH0iOiImOmhvdmVyIl0sImZvY3VzIiwiZm9jdXMtdmlzaWJsZSIsImFjdGl2ZSIsImVuYWJsZWQiLCJkaXNhYmxlZCJdLm1hcChhPT5BcnJheS5pc0FycmF5KGEpP2E6W2EsYCY6JHthfWBdKTtmb3IobGV0W2Esb11vZiBuKXIoYSxsPT50eXBlb2Ygbz09ImZ1bmN0aW9uIj9vKGwpOm8pO2xldCBzPXtncm91cDooYSx7bW9kaWZpZXI6b30pPT5vP1tgOm1lcmdlKCR7aSgiLmdyb3VwIil9XFwvJHtUZShvKX0pYCwiICYiXTpbYDptZXJnZSgke2koIi5ncm91cCIpfSlgLCIgJiJdLHBlZXI6KGEse21vZGlmaWVyOm99KT0+bz9bYDptZXJnZSgke2koIi5wZWVyIil9XFwvJHtUZShvKX0pYCwiIH4gJiJdOltgOm1lcmdlKCR7aSgiLnBlZXIiKX0pYCwiIH4gJiJdfTtmb3IobGV0W2Esb11vZiBPYmplY3QuZW50cmllcyhzKSllKGEsKGw9IiIsYyk9PntsZXQgZj1LKHR5cGVvZiBsPT0iZnVuY3Rpb24iP2woYyk6bCk7Zi5pbmNsdWRlcygiJiIpfHwoZj0iJiIrZik7bGV0W2QscF09bygiIixjKSxoPW51bGwsYj1udWxsLHY9MDtmb3IobGV0IHk9MDt5PGYubGVuZ3RoOysreSl7bGV0IHc9Zlt5XTt3PT09IiYiP2g9eTp3PT09IicifHx3PT09JyInP3YrPTE6aCE9PW51bGwmJnc9PT0iICImJiF2JiYoYj15KX1yZXR1cm4gaCE9PW51bGwmJmI9PT1udWxsJiYoYj1mLmxlbmd0aCksZi5zbGljZSgwLGgpK2QrZi5zbGljZShoKzEsYikrcCtmLnNsaWNlKGIpfSx7dmFsdWVzOk9iamVjdC5mcm9tRW50cmllcyhuKSxbUHRdOntyZXNwZWN0UHJlZml4OiExfX0pfSxkaXJlY3Rpb25WYXJpYW50czooe2FkZFZhcmlhbnQ6cn0pPT57cigibHRyIiwnJjp3aGVyZShbZGlyPSJsdHIiXSwgW2Rpcj0ibHRyIl0gKiknKSxyKCJydGwiLCcmOndoZXJlKFtkaXI9InJ0bCJdLCBbZGlyPSJydGwiXSAqKScpfSxyZWR1Y2VkTW90aW9uVmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoIm1vdGlvbi1zYWZlIiwiQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSIpLHIoIm1vdGlvbi1yZWR1Y2UiLCJAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKX0sZGFya1ZhcmlhbnRzOih7Y29uZmlnOnIsYWRkVmFyaWFudDplfSk9PntsZXRbdCxpPSIuZGFyayJdPVtdLmNvbmNhdChyKCJkYXJrTW9kZSIsIm1lZGlhIikpO2lmKHQ9PT0hMSYmKHQ9Im1lZGlhIixHLndhcm4oImRhcmttb2RlLWZhbHNlIixbIlRoZSBgZGFya01vZGVgIG9wdGlvbiBpbiB5b3VyIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uIGlzIHNldCB0byBgZmFsc2VgLCB3aGljaCBub3cgYmVoYXZlcyB0aGUgc2FtZSBhcyBgbWVkaWFgLiIsIkNoYW5nZSBgZGFya01vZGVgIHRvIGBtZWRpYWAgb3IgcmVtb3ZlIGl0IGVudGlyZWx5LiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdXBncmFkZS1ndWlkZSNyZW1vdmUtZGFyay1tb2RlLWNvbmZpZ3VyYXRpb24iXSkpLHQ9PT0idmFyaWFudCIpe2xldCBuO2lmKEFycmF5LmlzQXJyYXkoaSl8fHR5cGVvZiBpPT0iZnVuY3Rpb24iP249aTp0eXBlb2YgaT09InN0cmluZyImJihuPVtpXSksQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IHMgb2YgbilzPT09Ii5kYXJrIj8odD0hMSxHLndhcm4oImRhcmttb2RlLXZhcmlhbnQtd2l0aG91dC1zZWxlY3RvciIsWyJXaGVuIHVzaW5nIGB2YXJpYW50YCBmb3IgYGRhcmtNb2RlYCwgeW91IG11c3QgcHJvdmlkZSBhIHNlbGVjdG9yLiIsJ0V4YW1wbGU6IGBkYXJrTW9kZTogWyJ2YXJpYW50IiwgIi55b3VyLXNlbGVjdG9yICYiXWAnXSkpOnMuaW5jbHVkZXMoIiYiKXx8KHQ9ITEsRy53YXJuKCJkYXJrbW9kZS12YXJpYW50LXdpdGhvdXQtYW1wZXJzYW5kIixbIldoZW4gdXNpbmcgYHZhcmlhbnRgIGZvciBgZGFya01vZGVgLCB5b3VyIHNlbGVjdG9yIG11c3QgY29udGFpbiBgJmAuIiwnRXhhbXBsZSBgZGFya01vZGU6IFsidmFyaWFudCIsICIueW91ci1zZWxlY3RvciAmIl1gJ10pKTtpPW59dD09PSJzZWxlY3RvciI/ZSgiZGFyayIsYCY6d2hlcmUoJHtpfSwgJHtpfSAqKWApOnQ9PT0ibWVkaWEiP2UoImRhcmsiLCJAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpOnQ9PT0idmFyaWFudCI/ZSgiZGFyayIsaSk6dD09PSJjbGFzcyImJmUoImRhcmsiLGAmOmlzKCR7aX0gKilgKX0scHJpbnRWYXJpYW50Oih7YWRkVmFyaWFudDpyfSk9PntyKCJwcmludCIsIkBtZWRpYSBwcmludCIpfSxzY3JlZW5WYXJpYW50czooe3RoZW1lOnIsYWRkVmFyaWFudDplLG1hdGNoVmFyaWFudDp0fSk9PntsZXQgaT1yKCJzY3JlZW5zIik/P3t9LG49T2JqZWN0LnZhbHVlcyhpKS5ldmVyeSh3PT50eXBlb2Ygdz09InN0cmluZyIpLHM9UnQocigic2NyZWVucyIpKSxhPW5ldyBTZXQoW10pO2Z1bmN0aW9uIG8odyl7cmV0dXJuIHcubWF0Y2goLyhcRCspJC8pPy5bMV0/PyIobm9uZSkifWZ1bmN0aW9uIGwodyl7dyE9PXZvaWQgMCYmYS5hZGQobyh3KSl9ZnVuY3Rpb24gYyh3KXtyZXR1cm4gbCh3KSxhLnNpemU9PT0xfWZvcihsZXQgdyBvZiBzKWZvcihsZXQgayBvZiB3LnZhbHVlcylsKGsubWluKSxsKGsubWF4KTtsZXQgZj1hLnNpemU8PTE7ZnVuY3Rpb24gZCh3KXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHMuZmlsdGVyKGs9PktuKGspLnJlc3VsdCkubWFwKGs9PntsZXR7bWluOlMsbWF4OkV9PWsudmFsdWVzWzBdO2lmKHc9PT0ibWluIiYmUyE9PXZvaWQgMClyZXR1cm4gaztpZih3PT09Im1pbiImJkUhPT12b2lkIDApcmV0dXJuey4uLmssbm90OiFrLm5vdH07aWYodz09PSJtYXgiJiZFIT09dm9pZCAwKXJldHVybiBrO2lmKHc9PT0ibWF4IiYmUyE9PXZvaWQgMClyZXR1cm57Li4uayxub3Q6IWsubm90fX0pLm1hcChrPT5bay5uYW1lLGtdKSl9ZnVuY3Rpb24gcCh3KXtyZXR1cm4oayxTKT0+aGgodyxrLnZhbHVlLFMudmFsdWUpfWxldCBoPXAoIm1heCIpLGI9cCgibWluIik7ZnVuY3Rpb24gdih3KXtyZXR1cm4gaz0+e2lmKG4paWYoZil7aWYodHlwZW9mIGs9PSJzdHJpbmciJiYhYyhrKSlyZXR1cm4gRy53YXJuKCJtaW5tYXgtaGF2ZS1taXhlZC11bml0cyIsWyJUaGUgYG1pbi0qYCBhbmQgYG1heC0qYCB2YXJpYW50cyBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIGEgYHNjcmVlbnNgIGNvbmZpZ3VyYXRpb24gY29udGFpbmluZyBtaXhlZCB1bml0cy4iXSksW119ZWxzZSByZXR1cm4gRy53YXJuKCJtaXhlZC1zY3JlZW4tdW5pdHMiLFsiVGhlIGBtaW4tKmAgYW5kIGBtYXgtKmAgdmFyaWFudHMgYXJlIG5vdCBzdXBwb3J0ZWQgd2l0aCBhIGBzY3JlZW5zYCBjb25maWd1cmF0aW9uIGNvbnRhaW5pbmcgbWl4ZWQgdW5pdHMuIl0pLFtdO2Vsc2UgcmV0dXJuIEcud2FybigiY29tcGxleC1zY3JlZW4tY29uZmlnIixbIlRoZSBgbWluLSpgIGFuZCBgbWF4LSpgIHZhcmlhbnRzIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggYSBgc2NyZWVuc2AgY29uZmlndXJhdGlvbiBjb250YWluaW5nIG9iamVjdHMuIl0pLFtdO3JldHVybltgQG1lZGlhICR7VHQoWG4oayx3KSl9YF19fXQoIm1heCIsdigibWF4Iikse3NvcnQ6aCx2YWx1ZXM6bj9kKCJtYXgiKTp7fX0pO2xldCB5PSJtaW4tc2NyZWVucyI7Zm9yKGxldCB3IG9mIHMpZSh3Lm5hbWUsYEBtZWRpYSAke1R0KHcpfWAse2lkOnksc29ydDpuJiZmP2I6dm9pZCAwLHZhbHVlOnd9KTt0KCJtaW4iLHYoIm1pbiIpLHtpZDp5LHNvcnQ6Yn0pfSxzdXBwb3J0c1ZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIsdGhlbWU6ZX0pPT57cigic3VwcG9ydHMiLCh0PSIiKT0+e2xldCBpPUsodCksbj0vXlx3KlxzKlwoLy50ZXN0KGkpO3JldHVybiBpPW4/aS5yZXBsYWNlKC9cYihhbmR8b3J8bm90KVxiL2csIiAkMSAiKTppLG4/YEBzdXBwb3J0cyAke2l9YDooaS5pbmNsdWRlcygiOiIpfHwoaT1gJHtpfTogdmFyKC0tdHcpYCksaS5zdGFydHNXaXRoKCIoIikmJmkuZW5kc1dpdGgoIikiKXx8KGk9YCgke2l9KWApLGBAc3VwcG9ydHMgJHtpfWApfSx7dmFsdWVzOmUoInN1cHBvcnRzIik/P3t9fSl9LGhhc1ZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIscHJlZml4OmV9KT0+e3IoImhhcyIsdD0+YCY6aGFzKCR7Syh0KX0pYCx7dmFsdWVzOnt9LFtQdF06e3Jlc3BlY3RQcmVmaXg6ITF9fSkscigiZ3JvdXAtaGFzIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoJHtlKCIuZ3JvdXAiKX1cXC8ke2l9KTpoYXMoJHtLKHQpfSkgJmA6YDptZXJnZSgke2UoIi5ncm91cCIpfSk6aGFzKCR7Syh0KX0pICZgLHt2YWx1ZXM6e30sW1B0XTp7cmVzcGVjdFByZWZpeDohMX19KSxyKCJwZWVyLWhhcyIsKHQse21vZGlmaWVyOml9KT0+aT9gOm1lcmdlKCR7ZSgiLnBlZXIiKX1cXC8ke2l9KTpoYXMoJHtLKHQpfSkgfiAmYDpgOm1lcmdlKCR7ZSgiLnBlZXIiKX0pOmhhcygke0sodCl9KSB+ICZgLHt2YWx1ZXM6e30sW1B0XTp7cmVzcGVjdFByZWZpeDohMX19KX0sYXJpYVZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIsdGhlbWU6ZX0pPT57cigiYXJpYSIsdD0+YCZbYXJpYS0ke1llKEsodCkpfV1gLHt2YWx1ZXM6ZSgiYXJpYSIpPz97fX0pLHIoImdyb3VwLWFyaWEiLCh0LHttb2RpZmllcjppfSk9Pmk/YDptZXJnZSguZ3JvdXBcXC8ke2l9KVthcmlhLSR7WWUoSyh0KSl9XSAmYDpgOm1lcmdlKC5ncm91cClbYXJpYS0ke1llKEsodCkpfV0gJmAse3ZhbHVlczplKCJhcmlhIik/P3t9fSkscigicGVlci1hcmlhIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoLnBlZXJcXC8ke2l9KVthcmlhLSR7WWUoSyh0KSl9XSB+ICZgOmA6bWVyZ2UoLnBlZXIpW2FyaWEtJHtZZShLKHQpKX1dIH4gJmAse3ZhbHVlczplKCJhcmlhIik/P3t9fSl9LGRhdGFWYXJpYW50czooe21hdGNoVmFyaWFudDpyLHRoZW1lOmV9KT0+e3IoImRhdGEiLHQ9PmAmW2RhdGEtJHtZZShLKHQpKX1dYCx7dmFsdWVzOmUoImRhdGEiKT8/e319KSxyKCJncm91cC1kYXRhIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoLmdyb3VwXFwvJHtpfSlbZGF0YS0ke1llKEsodCkpfV0gJmA6YDptZXJnZSguZ3JvdXApW2RhdGEtJHtZZShLKHQpKX1dICZgLHt2YWx1ZXM6ZSgiZGF0YSIpPz97fX0pLHIoInBlZXItZGF0YSIsKHQse21vZGlmaWVyOml9KT0+aT9gOm1lcmdlKC5wZWVyXFwvJHtpfSlbZGF0YS0ke1llKEsodCkpfV0gfiAmYDpgOm1lcmdlKC5wZWVyKVtkYXRhLSR7WWUoSyh0KSl9XSB+ICZgLHt2YWx1ZXM6ZSgiZGF0YSIpPz97fX0pfSxvcmllbnRhdGlvblZhcmlhbnRzOih7YWRkVmFyaWFudDpyfSk9PntyKCJwb3J0cmFpdCIsIkBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSIpLHIoImxhbmRzY2FwZSIsIkBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKX0scHJlZmVyc0NvbnRyYXN0VmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoImNvbnRyYXN0LW1vcmUiLCJAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIikscigiY29udHJhc3QtbGVzcyIsIkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogbGVzcykiKX0sZm9yY2VkQ29sb3JzVmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoImZvcmNlZC1jb2xvcnMiLCJAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkiKX19LFhlPVsidHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSwgdmFyKC0tdHctdHJhbnNsYXRlLXkpKSIsInJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSIsInNrZXdYKHZhcigtLXR3LXNrZXcteCkpIiwic2tld1kodmFyKC0tdHctc2tldy15KSkiLCJzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIiwic2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKSJdLmpvaW4oIiAiKSxudD1bInZhcigtLXR3LWJsdXIpIiwidmFyKC0tdHctYnJpZ2h0bmVzcykiLCJ2YXIoLS10dy1jb250cmFzdCkiLCJ2YXIoLS10dy1ncmF5c2NhbGUpIiwidmFyKC0tdHctaHVlLXJvdGF0ZSkiLCJ2YXIoLS10dy1pbnZlcnQpIiwidmFyKC0tdHctc2F0dXJhdGUpIiwidmFyKC0tdHctc2VwaWEpIiwidmFyKC0tdHctZHJvcC1zaGFkb3cpIl0uam9pbigiICIpLGdlPVsidmFyKC0tdHctYmFja2Ryb3AtYmx1cikiLCJ2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSIsInZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSIsInZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkiLCJ2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSIsInZhcigtLXR3LWJhY2tkcm9wLWludmVydCkiLCJ2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSIsInZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSIsInZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKSJdLmpvaW4oIiAiKSx5aD17cHJlZmxpZ2h0Oih7YWRkQmFzZTpyfSk9PntsZXQgZT1lZS5wYXJzZShgKiw6OmFmdGVyLDo6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItd2lkdGg6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRoZW1lKCdib3JkZXJDb2xvci5ERUZBVUxUJywgY3VycmVudENvbG9yKX06OmFmdGVyLDo6YmVmb3Jley0tdHctY29udGVudDonJ306aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7dGFiLXNpemU6NDtmb250LWZhbWlseTp0aGVtZSgnZm9udEZhbWlseS5zYW5zJywgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIiwgIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dGhlbWUoJ2ZvbnRGYW1pbHkuc2Fuc1sxXS5mb250RmVhdHVyZVNldHRpbmdzJywgbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp0aGVtZSgnZm9udEZhbWlseS5zYW5zWzFdLmZvbnRWYXJpYXRpb25TZXR0aW5ncycsIG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWJvZHl7bWFyZ2luOjA7bGluZS1oZWlnaHQ6aW5oZXJpdH1ocntoZWlnaHQ6MDtjb2xvcjppbmhlcml0O2JvcmRlci10b3Atd2lkdGg6MXB4fWFiYnI6d2hlcmUoW3RpdGxlXSl7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5OnRoZW1lKCdmb250RmFtaWx5Lm1vbm8nLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnRoZW1lKCdmb250RmFtaWx5Lm1vbm9bMV0uZm9udEZlYXR1cmVTZXR0aW5ncycsIG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dGhlbWUoJ2ZvbnRGYW1pbHkubW9ub1sxXS5mb250VmFyaWF0aW9uU2V0dGluZ3MnLCBub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSksaW5wdXQ6d2hlcmUoW3R5cGU9cmVzZXRdKSxpbnB1dDp3aGVyZShbdHlwZT1zdWJtaXRdKXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGQsZGwsZmlndXJlLGgxLGgyLGgzLGg0LGg1LGg2LGhyLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowO3BhZGRpbmc6MH1sZWdlbmR7cGFkZGluZzowfW1lbnUsb2wsdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MH1kaWFsb2d7cGFkZGluZzowfXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH1pbnB1dDo6cGxhY2Vob2xkZXIsdGV4dGFyZWE6OnBsYWNlaG9sZGVye29wYWNpdHk6MTtjb2xvcjp0aGVtZSgnY29sb3JzLmdyYXkuNCcsICM5Y2EzYWYpfVtyb2xlPWJ1dHRvbl0sYnV0dG9ue2N1cnNvcjpwb2ludGVyfTpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH1hdWRpbyxjYW52YXMsZW1iZWQsaWZyYW1lLGltZyxvYmplY3Qsc3ZnLHZpZGVve2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31baGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49dW50aWwtZm91bmRdKSl7ZGlzcGxheTpub25lfWApO3IoW2VlLmNvbW1lbnQoe3RleHQ6YCEgdGFpbHdpbmRjc3MgdiR7ZGh9IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbWB9KSwuLi5lLm5vZGVzXSl9LGNvbnRhaW5lcjooKCk9PntmdW5jdGlvbiByKHQ9W10pe3JldHVybiB0LmZsYXRNYXAoaT0+aS52YWx1ZXMubWFwKG49Pm4ubWluKSkuZmlsdGVyKGk9PmkhPT12b2lkIDApfWZ1bmN0aW9uIGUodCxpLG4pe2lmKHR5cGVvZiBuPT0idW5kZWZpbmVkIilyZXR1cm5bXTtpZighKHR5cGVvZiBuPT0ib2JqZWN0IiYmbiE9PW51bGwpKXJldHVyblt7c2NyZWVuOiJERUZBVUxUIixtaW5XaWR0aDowLHBhZGRpbmc6bn1dO2xldCBzPVtdO24uREVGQVVMVCYmcy5wdXNoKHtzY3JlZW46IkRFRkFVTFQiLG1pbldpZHRoOjAscGFkZGluZzpuLkRFRkFVTFR9KTtmb3IobGV0IGEgb2YgdClmb3IobGV0IG8gb2YgaSlmb3IobGV0e21pbjpsfW9mIG8udmFsdWVzKWw9PT1hJiZzLnB1c2goe21pbldpZHRoOmEscGFkZGluZzpuW28ubmFtZV19KTtyZXR1cm4gc31yZXR1cm4gZnVuY3Rpb24oe2FkZENvbXBvbmVudHM6dCx0aGVtZTppfSl7bGV0IG49UnQoaSgiY29udGFpbmVyLnNjcmVlbnMiLGkoInNjcmVlbnMiKSkpLHM9cihuKSxhPWUocyxuLGkoImNvbnRhaW5lci5wYWRkaW5nIikpLG89Yz0+e2xldCBmPWEuZmluZChkPT5kLm1pbldpZHRoPT09Yyk7cmV0dXJuIGY/e3BhZGRpbmdSaWdodDpmLnBhZGRpbmcscGFkZGluZ0xlZnQ6Zi5wYWRkaW5nfTp7fX0sbD1BcnJheS5mcm9tKG5ldyBTZXQocy5zbGljZSgpLnNvcnQoKGMsZik9PnBhcnNlSW50KGMpLXBhcnNlSW50KGYpKSkpLm1hcChjPT4oe1tgQG1lZGlhIChtaW4td2lkdGg6ICR7Y30pYF06eyIuY29udGFpbmVyIjp7Im1heC13aWR0aCI6YywuLi5vKGMpfX19KSk7dChbeyIuY29udGFpbmVyIjpPYmplY3QuYXNzaWduKHt3aWR0aDoiMTAwJSJ9LGkoImNvbnRhaW5lci5jZW50ZXIiLCExKT97bWFyZ2luUmlnaHQ6ImF1dG8iLG1hcmdpbkxlZnQ6ImF1dG8ifTp7fSxvKDApKX0sLi4ubF0pfX0pKCksYWNjZXNzaWJpbGl0eTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnNyLW9ubHkiOntwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwYWRkaW5nOiIwIixtYXJnaW46Ii0xcHgiLG92ZXJmbG93OiJoaWRkZW4iLGNsaXA6InJlY3QoMCwgMCwgMCwgMCkiLHdoaXRlU3BhY2U6Im5vd3JhcCIsYm9yZGVyV2lkdGg6IjAifSwiLm5vdC1zci1vbmx5Ijp7cG9zaXRpb246InN0YXRpYyIsd2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIscGFkZGluZzoiMCIsbWFyZ2luOiIwIixvdmVyZmxvdzoidmlzaWJsZSIsY2xpcDoiYXV0byIsd2hpdGVTcGFjZToibm9ybWFsIn19KX0scG9pbnRlckV2ZW50czooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnBvaW50ZXItZXZlbnRzLW5vbmUiOnsicG9pbnRlci1ldmVudHMiOiJub25lIn0sIi5wb2ludGVyLWV2ZW50cy1hdXRvIjp7InBvaW50ZXItZXZlbnRzIjoiYXV0byJ9fSl9LHZpc2liaWxpdHk6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii52aXNpYmxlIjp7dmlzaWJpbGl0eToidmlzaWJsZSJ9LCIuaW52aXNpYmxlIjp7dmlzaWJpbGl0eToiaGlkZGVuIn0sIi5jb2xsYXBzZSI6e3Zpc2liaWxpdHk6ImNvbGxhcHNlIn19KX0scG9zaXRpb246KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zdGF0aWMiOntwb3NpdGlvbjoic3RhdGljIn0sIi5maXhlZCI6e3Bvc2l0aW9uOiJmaXhlZCJ9LCIuYWJzb2x1dGUiOntwb3NpdGlvbjoiYWJzb2x1dGUifSwiLnJlbGF0aXZlIjp7cG9zaXRpb246InJlbGF0aXZlIn0sIi5zdGlja3kiOntwb3NpdGlvbjoic3RpY2t5In19KX0saW5zZXQ6TCgiaW5zZXQiLFtbImluc2V0IixbImluc2V0Il1dLFtbImluc2V0LXgiLFsibGVmdCIsInJpZ2h0Il1dLFsiaW5zZXQteSIsWyJ0b3AiLCJib3R0b20iXV1dLFtbInN0YXJ0IixbImluc2V0LWlubGluZS1zdGFydCJdXSxbImVuZCIsWyJpbnNldC1pbmxpbmUtZW5kIl1dLFsidG9wIixbInRvcCJdXSxbInJpZ2h0IixbInJpZ2h0Il1dLFsiYm90dG9tIixbImJvdHRvbSJdXSxbImxlZnQiLFsibGVmdCJdXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksaXNvbGF0aW9uOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaXNvbGF0ZSI6e2lzb2xhdGlvbjoiaXNvbGF0ZSJ9LCIuaXNvbGF0aW9uLWF1dG8iOntpc29sYXRpb246ImF1dG8ifX0pfSx6SW5kZXg6TCgiekluZGV4IixbWyJ6IixbInpJbmRleCJdXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxvcmRlcjpMKCJvcmRlciIsdm9pZCAwLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZENvbHVtbjpMKCJncmlkQ29sdW1uIixbWyJjb2wiLFsiZ3JpZENvbHVtbiJdXV0pLGdyaWRDb2x1bW5TdGFydDpMKCJncmlkQ29sdW1uU3RhcnQiLFtbImNvbC1zdGFydCIsWyJncmlkQ29sdW1uU3RhcnQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZENvbHVtbkVuZDpMKCJncmlkQ29sdW1uRW5kIixbWyJjb2wtZW5kIixbImdyaWRDb2x1bW5FbmQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZFJvdzpMKCJncmlkUm93IixbWyJyb3ciLFsiZ3JpZFJvdyJdXV0pLGdyaWRSb3dTdGFydDpMKCJncmlkUm93U3RhcnQiLFtbInJvdy1zdGFydCIsWyJncmlkUm93U3RhcnQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZFJvd0VuZDpMKCJncmlkUm93RW5kIixbWyJyb3ctZW5kIixbImdyaWRSb3dFbmQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZmxvYXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5mbG9hdC1zdGFydCI6e2Zsb2F0OiJpbmxpbmUtc3RhcnQifSwiLmZsb2F0LWVuZCI6e2Zsb2F0OiJpbmxpbmUtZW5kIn0sIi5mbG9hdC1yaWdodCI6e2Zsb2F0OiJyaWdodCJ9LCIuZmxvYXQtbGVmdCI6e2Zsb2F0OiJsZWZ0In0sIi5mbG9hdC1ub25lIjp7ZmxvYXQ6Im5vbmUifX0pfSxjbGVhcjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmNsZWFyLXN0YXJ0Ijp7Y2xlYXI6ImlubGluZS1zdGFydCJ9LCIuY2xlYXItZW5kIjp7Y2xlYXI6ImlubGluZS1lbmQifSwiLmNsZWFyLWxlZnQiOntjbGVhcjoibGVmdCJ9LCIuY2xlYXItcmlnaHQiOntjbGVhcjoicmlnaHQifSwiLmNsZWFyLWJvdGgiOntjbGVhcjoiYm90aCJ9LCIuY2xlYXItbm9uZSI6e2NsZWFyOiJub25lIn19KX0sbWFyZ2luOkwoIm1hcmdpbiIsW1sibSIsWyJtYXJnaW4iXV0sW1sibXgiLFsibWFyZ2luLWxlZnQiLCJtYXJnaW4tcmlnaHQiXV0sWyJteSIsWyJtYXJnaW4tdG9wIiwibWFyZ2luLWJvdHRvbSJdXV0sW1sibXMiLFsibWFyZ2luLWlubGluZS1zdGFydCJdXSxbIm1lIixbIm1hcmdpbi1pbmxpbmUtZW5kIl1dLFsibXQiLFsibWFyZ2luLXRvcCJdXSxbIm1yIixbIm1hcmdpbi1yaWdodCJdXSxbIm1iIixbIm1hcmdpbi1ib3R0b20iXV0sWyJtbCIsWyJtYXJnaW4tbGVmdCJdXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksYm94U2l6aW5nOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYm94LWJvcmRlciI6eyJib3gtc2l6aW5nIjoiYm9yZGVyLWJveCJ9LCIuYm94LWNvbnRlbnQiOnsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94In19KX0sbGluZUNsYW1wOih7bWF0Y2hVdGlsaXRpZXM6cixhZGRVdGlsaXRpZXM6ZSx0aGVtZTp0fSk9PntyKHsibGluZS1jbGFtcCI6aT0+KHtvdmVyZmxvdzoiaGlkZGVuIixkaXNwbGF5OiItd2Via2l0LWJveCIsIi13ZWJraXQtYm94LW9yaWVudCI6InZlcnRpY2FsIiwiLXdlYmtpdC1saW5lLWNsYW1wIjpgJHtpfWB9KX0se3ZhbHVlczp0KCJsaW5lQ2xhbXAiKX0pLGUoeyIubGluZS1jbGFtcC1ub25lIjp7b3ZlcmZsb3c6InZpc2libGUiLGRpc3BsYXk6ImJsb2NrIiwiLXdlYmtpdC1ib3gtb3JpZW50IjoiaG9yaXpvbnRhbCIsIi13ZWJraXQtbGluZS1jbGFtcCI6Im5vbmUifX0pfSxkaXNwbGF5Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYmxvY2siOntkaXNwbGF5OiJibG9jayJ9LCIuaW5saW5lLWJsb2NrIjp7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sIi5pbmxpbmUiOntkaXNwbGF5OiJpbmxpbmUifSwiLmZsZXgiOntkaXNwbGF5OiJmbGV4In0sIi5pbmxpbmUtZmxleCI6e2Rpc3BsYXk6ImlubGluZS1mbGV4In0sIi50YWJsZSI6e2Rpc3BsYXk6InRhYmxlIn0sIi5pbmxpbmUtdGFibGUiOntkaXNwbGF5OiJpbmxpbmUtdGFibGUifSwiLnRhYmxlLWNhcHRpb24iOntkaXNwbGF5OiJ0YWJsZS1jYXB0aW9uIn0sIi50YWJsZS1jZWxsIjp7ZGlzcGxheToidGFibGUtY2VsbCJ9LCIudGFibGUtY29sdW1uIjp7ZGlzcGxheToidGFibGUtY29sdW1uIn0sIi50YWJsZS1jb2x1bW4tZ3JvdXAiOntkaXNwbGF5OiJ0YWJsZS1jb2x1bW4tZ3JvdXAifSwiLnRhYmxlLWZvb3Rlci1ncm91cCI6e2Rpc3BsYXk6InRhYmxlLWZvb3Rlci1ncm91cCJ9LCIudGFibGUtaGVhZGVyLWdyb3VwIjp7ZGlzcGxheToidGFibGUtaGVhZGVyLWdyb3VwIn0sIi50YWJsZS1yb3ctZ3JvdXAiOntkaXNwbGF5OiJ0YWJsZS1yb3ctZ3JvdXAifSwiLnRhYmxlLXJvdyI6e2Rpc3BsYXk6InRhYmxlLXJvdyJ9LCIuZmxvdy1yb290Ijp7ZGlzcGxheToiZmxvdy1yb290In0sIi5ncmlkIjp7ZGlzcGxheToiZ3JpZCJ9LCIuaW5saW5lLWdyaWQiOntkaXNwbGF5OiJpbmxpbmUtZ3JpZCJ9LCIuY29udGVudHMiOntkaXNwbGF5OiJjb250ZW50cyJ9LCIubGlzdC1pdGVtIjp7ZGlzcGxheToibGlzdC1pdGVtIn0sIi5oaWRkZW4iOntkaXNwbGF5OiJub25lIn19KX0sYXNwZWN0UmF0aW86TCgiYXNwZWN0UmF0aW8iLFtbImFzcGVjdCIsWyJhc3BlY3QtcmF0aW8iXV1dKSxzaXplOkwoInNpemUiLFtbInNpemUiLFsid2lkdGgiLCJoZWlnaHQiXV1dKSxoZWlnaHQ6TCgiaGVpZ2h0IixbWyJoIixbImhlaWdodCJdXV0pLG1heEhlaWdodDpMKCJtYXhIZWlnaHQiLFtbIm1heC1oIixbIm1heEhlaWdodCJdXV0pLG1pbkhlaWdodDpMKCJtaW5IZWlnaHQiLFtbIm1pbi1oIixbIm1pbkhlaWdodCJdXV0pLHdpZHRoOkwoIndpZHRoIixbWyJ3IixbIndpZHRoIl1dXSksbWluV2lkdGg6TCgibWluV2lkdGgiLFtbIm1pbi13IixbIm1pbldpZHRoIl1dXSksbWF4V2lkdGg6TCgibWF4V2lkdGgiLFtbIm1heC13IixbIm1heFdpZHRoIl1dXSksZmxleDpMKCJmbGV4IiksZmxleFNocmluazpMKCJmbGV4U2hyaW5rIixbWyJmbGV4LXNocmluayIsWyJmbGV4LXNocmluayJdXSxbInNocmluayIsWyJmbGV4LXNocmluayJdXV0pLGZsZXhHcm93OkwoImZsZXhHcm93IixbWyJmbGV4LWdyb3ciLFsiZmxleC1ncm93Il1dLFsiZ3JvdyIsWyJmbGV4LWdyb3ciXV1dKSxmbGV4QmFzaXM6TCgiZmxleEJhc2lzIixbWyJiYXNpcyIsWyJmbGV4LWJhc2lzIl1dXSksdGFibGVMYXlvdXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii50YWJsZS1hdXRvIjp7InRhYmxlLWxheW91dCI6ImF1dG8ifSwiLnRhYmxlLWZpeGVkIjp7InRhYmxlLWxheW91dCI6ImZpeGVkIn19KX0sY2FwdGlvblNpZGU6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5jYXB0aW9uLXRvcCI6eyJjYXB0aW9uLXNpZGUiOiJ0b3AifSwiLmNhcHRpb24tYm90dG9tIjp7ImNhcHRpb24tc2lkZSI6ImJvdHRvbSJ9fSl9LGJvcmRlckNvbGxhcHNlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYm9yZGVyLWNvbGxhcHNlIjp7ImJvcmRlci1jb2xsYXBzZSI6ImNvbGxhcHNlIn0sIi5ib3JkZXItc2VwYXJhdGUiOnsiYm9yZGVyLWNvbGxhcHNlIjoic2VwYXJhdGUifX0pfSxib3JkZXJTcGFjaW5nOih7YWRkRGVmYXVsdHM6cixtYXRjaFV0aWxpdGllczplLHRoZW1lOnR9KT0+e3IoImJvcmRlci1zcGFjaW5nIix7Ii0tdHctYm9yZGVyLXNwYWNpbmcteCI6MCwiLS10dy1ib3JkZXItc3BhY2luZy15IjowfSksZSh7ImJvcmRlci1zcGFjaW5nIjppPT4oeyItLXR3LWJvcmRlci1zcGFjaW5nLXgiOmksIi0tdHctYm9yZGVyLXNwYWNpbmcteSI6aSwiQGRlZmF1bHRzIGJvcmRlci1zcGFjaW5nIjp7fSwiYm9yZGVyLXNwYWNpbmciOiJ2YXIoLS10dy1ib3JkZXItc3BhY2luZy14KSB2YXIoLS10dy1ib3JkZXItc3BhY2luZy15KSJ9KSwiYm9yZGVyLXNwYWNpbmcteCI6aT0+KHsiLS10dy1ib3JkZXItc3BhY2luZy14IjppLCJAZGVmYXVsdHMgYm9yZGVyLXNwYWNpbmciOnt9LCJib3JkZXItc3BhY2luZyI6InZhcigtLXR3LWJvcmRlci1zcGFjaW5nLXgpIHZhcigtLXR3LWJvcmRlci1zcGFjaW5nLXkpIn0pLCJib3JkZXItc3BhY2luZy15IjppPT4oeyItLXR3LWJvcmRlci1zcGFjaW5nLXkiOmksIkBkZWZhdWx0cyBib3JkZXItc3BhY2luZyI6e30sImJvcmRlci1zcGFjaW5nIjoidmFyKC0tdHctYm9yZGVyLXNwYWNpbmcteCkgdmFyKC0tdHctYm9yZGVyLXNwYWNpbmcteSkifSl9LHt2YWx1ZXM6dCgiYm9yZGVyU3BhY2luZyIpfSl9LHRyYW5zZm9ybU9yaWdpbjpMKCJ0cmFuc2Zvcm1PcmlnaW4iLFtbIm9yaWdpbiIsWyJ0cmFuc2Zvcm1PcmlnaW4iXV1dKSx0cmFuc2xhdGU6TCgidHJhbnNsYXRlIixbW1sidHJhbnNsYXRlLXgiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy10cmFuc2xhdGUteCIsWyJ0cmFuc2Zvcm0iLFhlXV1dLFsidHJhbnNsYXRlLXkiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy10cmFuc2xhdGUteSIsWyJ0cmFuc2Zvcm0iLFhlXV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxyb3RhdGU6TCgicm90YXRlIixbWyJyb3RhdGUiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1yb3RhdGUiLFsidHJhbnNmb3JtIixYZV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxza2V3OkwoInNrZXciLFtbWyJza2V3LXgiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1za2V3LXgiLFsidHJhbnNmb3JtIixYZV1dXSxbInNrZXcteSIsW1siQGRlZmF1bHRzIHRyYW5zZm9ybSIse31dLCItLXR3LXNrZXcteSIsWyJ0cmFuc2Zvcm0iLFhlXV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxzY2FsZTpMKCJzY2FsZSIsW1sic2NhbGUiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1zY2FsZS14IiwiLS10dy1zY2FsZS15IixbInRyYW5zZm9ybSIsWGVdXV0sW1sic2NhbGUteCIsW1siQGRlZmF1bHRzIHRyYW5zZm9ybSIse31dLCItLXR3LXNjYWxlLXgiLFsidHJhbnNmb3JtIixYZV1dXSxbInNjYWxlLXkiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1zY2FsZS15IixbInRyYW5zZm9ybSIsWGVdXV1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHRyYW5zZm9ybTooe2FkZERlZmF1bHRzOnIsYWRkVXRpbGl0aWVzOmV9KT0+e3IoInRyYW5zZm9ybSIseyItLXR3LXRyYW5zbGF0ZS14IjoiMCIsIi0tdHctdHJhbnNsYXRlLXkiOiIwIiwiLS10dy1yb3RhdGUiOiIwIiwiLS10dy1za2V3LXgiOiIwIiwiLS10dy1za2V3LXkiOiIwIiwiLS10dy1zY2FsZS14IjoiMSIsIi0tdHctc2NhbGUteSI6IjEifSksZSh7Ii50cmFuc2Zvcm0iOnsiQGRlZmF1bHRzIHRyYW5zZm9ybSI6e30sdHJhbnNmb3JtOlhlfSwiLnRyYW5zZm9ybS1jcHUiOnt0cmFuc2Zvcm06WGV9LCIudHJhbnNmb3JtLWdwdSI6e3RyYW5zZm9ybTpYZS5yZXBsYWNlKCJ0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSkpIiwidHJhbnNsYXRlM2QodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSksIDApIil9LCIudHJhbnNmb3JtLW5vbmUiOnt0cmFuc2Zvcm06Im5vbmUifX0pfSxhbmltYXRpb246KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29uZmlnOnR9KT0+e2xldCBpPXM9PlRlKHQoInByZWZpeCIpK3MpLG49T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGUoImtleWZyYW1lcyIpPz97fSkubWFwKChbcyxhXSk9PltzLHtbYEBrZXlmcmFtZXMgJHtpKHMpfWBdOmF9XSkpO3Ioe2FuaW1hdGU6cz0+e2xldCBhPU1vKHMpO3JldHVyblsuLi5hLmZsYXRNYXAobz0+bltvLm5hbWVdKSx7YW5pbWF0aW9uOmEubWFwKCh7bmFtZTpvLHZhbHVlOmx9KT0+bz09PXZvaWQgMHx8bltvXT09PXZvaWQgMD9sOmwucmVwbGFjZShvLGkobykpKS5qb2luKCIsICIpfV19fSx7dmFsdWVzOmUoImFuaW1hdGlvbiIpfSl9LGN1cnNvcjpMKCJjdXJzb3IiKSx0b3VjaEFjdGlvbjooe2FkZERlZmF1bHRzOnIsYWRkVXRpbGl0aWVzOmV9KT0+e3IoInRvdWNoLWFjdGlvbiIseyItLXR3LXBhbi14IjoiICIsIi0tdHctcGFuLXkiOiIgIiwiLS10dy1waW5jaC16b29tIjoiICJ9KTtsZXQgdD0idmFyKC0tdHctcGFuLXgpIHZhcigtLXR3LXBhbi15KSB2YXIoLS10dy1waW5jaC16b29tKSI7ZSh7Ii50b3VjaC1hdXRvIjp7InRvdWNoLWFjdGlvbiI6ImF1dG8ifSwiLnRvdWNoLW5vbmUiOnsidG91Y2gtYWN0aW9uIjoibm9uZSJ9LCIudG91Y2gtcGFuLXgiOnsiQGRlZmF1bHRzIHRvdWNoLWFjdGlvbiI6e30sIi0tdHctcGFuLXgiOiJwYW4teCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4tbGVmdCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teCI6InBhbi1sZWZ0IiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBhbi1yaWdodCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teCI6InBhbi1yaWdodCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4teSI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi15IiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBhbi11cCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi11cCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4tZG93biI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi1kb3duIiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBpbmNoLXpvb20iOnsiQGRlZmF1bHRzIHRvdWNoLWFjdGlvbiI6e30sIi0tdHctcGluY2gtem9vbSI6InBpbmNoLXpvb20iLCJ0b3VjaC1hY3Rpb24iOnR9LCIudG91Y2gtbWFuaXB1bGF0aW9uIjp7InRvdWNoLWFjdGlvbiI6Im1hbmlwdWxhdGlvbiJ9fSl9LHVzZXJTZWxlY3Q6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zZWxlY3Qtbm9uZSI6eyJ1c2VyLXNlbGVjdCI6Im5vbmUifSwiLnNlbGVjdC10ZXh0Ijp7InVzZXItc2VsZWN0IjoidGV4dCJ9LCIuc2VsZWN0LWFsbCI6eyJ1c2VyLXNlbGVjdCI6ImFsbCJ9LCIuc2VsZWN0LWF1dG8iOnsidXNlci1zZWxlY3QiOiJhdXRvIn19KX0scmVzaXplOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIucmVzaXplLW5vbmUiOntyZXNpemU6Im5vbmUifSwiLnJlc2l6ZS15Ijp7cmVzaXplOiJ2ZXJ0aWNhbCJ9LCIucmVzaXplLXgiOntyZXNpemU6Imhvcml6b250YWwifSwiLnJlc2l6ZSI6e3Jlc2l6ZToiYm90aCJ9fSl9LHNjcm9sbFNuYXBUeXBlOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57cigic2Nyb2xsLXNuYXAtdHlwZSIseyItLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3MiOiJwcm94aW1pdHkifSksZSh7Ii5zbmFwLW5vbmUiOnsic2Nyb2xsLXNuYXAtdHlwZSI6Im5vbmUifSwiLnNuYXAteCI6eyJAZGVmYXVsdHMgc2Nyb2xsLXNuYXAtdHlwZSI6e30sInNjcm9sbC1zbmFwLXR5cGUiOiJ4IHZhcigtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpIn0sIi5zbmFwLXkiOnsiQGRlZmF1bHRzIHNjcm9sbC1zbmFwLXR5cGUiOnt9LCJzY3JvbGwtc25hcC10eXBlIjoieSB2YXIoLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzKSJ9LCIuc25hcC1ib3RoIjp7IkBkZWZhdWx0cyBzY3JvbGwtc25hcC10eXBlIjp7fSwic2Nyb2xsLXNuYXAtdHlwZSI6ImJvdGggdmFyKC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcykifSwiLnNuYXAtbWFuZGF0b3J5Ijp7Ii0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyI6Im1hbmRhdG9yeSJ9LCIuc25hcC1wcm94aW1pdHkiOnsiLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzIjoicHJveGltaXR5In19KX0sc2Nyb2xsU25hcEFsaWduOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuc25hcC1zdGFydCI6eyJzY3JvbGwtc25hcC1hbGlnbiI6InN0YXJ0In0sIi5zbmFwLWVuZCI6eyJzY3JvbGwtc25hcC1hbGlnbiI6ImVuZCJ9LCIuc25hcC1jZW50ZXIiOnsic2Nyb2xsLXNuYXAtYWxpZ24iOiJjZW50ZXIifSwiLnNuYXAtYWxpZ24tbm9uZSI6eyJzY3JvbGwtc25hcC1hbGlnbiI6Im5vbmUifX0pfSxzY3JvbGxTbmFwU3RvcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnNuYXAtbm9ybWFsIjp7InNjcm9sbC1zbmFwLXN0b3AiOiJub3JtYWwifSwiLnNuYXAtYWx3YXlzIjp7InNjcm9sbC1zbmFwLXN0b3AiOiJhbHdheXMifX0pfSxzY3JvbGxNYXJnaW46TCgic2Nyb2xsTWFyZ2luIixbWyJzY3JvbGwtbSIsWyJzY3JvbGwtbWFyZ2luIl1dLFtbInNjcm9sbC1teCIsWyJzY3JvbGwtbWFyZ2luLWxlZnQiLCJzY3JvbGwtbWFyZ2luLXJpZ2h0Il1dLFsic2Nyb2xsLW15IixbInNjcm9sbC1tYXJnaW4tdG9wIiwic2Nyb2xsLW1hcmdpbi1ib3R0b20iXV1dLFtbInNjcm9sbC1tcyIsWyJzY3JvbGwtbWFyZ2luLWlubGluZS1zdGFydCJdXSxbInNjcm9sbC1tZSIsWyJzY3JvbGwtbWFyZ2luLWlubGluZS1lbmQiXV0sWyJzY3JvbGwtbXQiLFsic2Nyb2xsLW1hcmdpbi10b3AiXV0sWyJzY3JvbGwtbXIiLFsic2Nyb2xsLW1hcmdpbi1yaWdodCJdXSxbInNjcm9sbC1tYiIsWyJzY3JvbGwtbWFyZ2luLWJvdHRvbSJdXSxbInNjcm9sbC1tbCIsWyJzY3JvbGwtbWFyZ2luLWxlZnQiXV1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHNjcm9sbFBhZGRpbmc6TCgic2Nyb2xsUGFkZGluZyIsW1sic2Nyb2xsLXAiLFsic2Nyb2xsLXBhZGRpbmciXV0sW1sic2Nyb2xsLXB4IixbInNjcm9sbC1wYWRkaW5nLWxlZnQiLCJzY3JvbGwtcGFkZGluZy1yaWdodCJdXSxbInNjcm9sbC1weSIsWyJzY3JvbGwtcGFkZGluZy10b3AiLCJzY3JvbGwtcGFkZGluZy1ib3R0b20iXV1dLFtbInNjcm9sbC1wcyIsWyJzY3JvbGwtcGFkZGluZy1pbmxpbmUtc3RhcnQiXV0sWyJzY3JvbGwtcGUiLFsic2Nyb2xsLXBhZGRpbmctaW5saW5lLWVuZCJdXSxbInNjcm9sbC1wdCIsWyJzY3JvbGwtcGFkZGluZy10b3AiXV0sWyJzY3JvbGwtcHIiLFsic2Nyb2xsLXBhZGRpbmctcmlnaHQiXV0sWyJzY3JvbGwtcGIiLFsic2Nyb2xsLXBhZGRpbmctYm90dG9tIl1dLFsic2Nyb2xsLXBsIixbInNjcm9sbC1wYWRkaW5nLWxlZnQiXV1dXSksbGlzdFN0eWxlUG9zaXRpb246KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5saXN0LWluc2lkZSI6eyJsaXN0LXN0eWxlLXBvc2l0aW9uIjoiaW5zaWRlIn0sIi5saXN0LW91dHNpZGUiOnsibGlzdC1zdHlsZS1wb3NpdGlvbiI6Im91dHNpZGUifX0pfSxsaXN0U3R5bGVUeXBlOkwoImxpc3RTdHlsZVR5cGUiLFtbImxpc3QiLFsibGlzdFN0eWxlVHlwZSJdXV0pLGxpc3RTdHlsZUltYWdlOkwoImxpc3RTdHlsZUltYWdlIixbWyJsaXN0LWltYWdlIixbImxpc3RTdHlsZUltYWdlIl1dXSksYXBwZWFyYW5jZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmFwcGVhcmFuY2Utbm9uZSI6e2FwcGVhcmFuY2U6Im5vbmUifSwiLmFwcGVhcmFuY2UtYXV0byI6e2FwcGVhcmFuY2U6ImF1dG8ifX0pfSxjb2x1bW5zOkwoImNvbHVtbnMiLFtbImNvbHVtbnMiLFsiY29sdW1ucyJdXV0pLGJyZWFrQmVmb3JlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstYmVmb3JlLWF1dG8iOnsiYnJlYWstYmVmb3JlIjoiYXV0byJ9LCIuYnJlYWstYmVmb3JlLWF2b2lkIjp7ImJyZWFrLWJlZm9yZSI6ImF2b2lkIn0sIi5icmVhay1iZWZvcmUtYWxsIjp7ImJyZWFrLWJlZm9yZSI6ImFsbCJ9LCIuYnJlYWstYmVmb3JlLWF2b2lkLXBhZ2UiOnsiYnJlYWstYmVmb3JlIjoiYXZvaWQtcGFnZSJ9LCIuYnJlYWstYmVmb3JlLXBhZ2UiOnsiYnJlYWstYmVmb3JlIjoicGFnZSJ9LCIuYnJlYWstYmVmb3JlLWxlZnQiOnsiYnJlYWstYmVmb3JlIjoibGVmdCJ9LCIuYnJlYWstYmVmb3JlLXJpZ2h0Ijp7ImJyZWFrLWJlZm9yZSI6InJpZ2h0In0sIi5icmVhay1iZWZvcmUtY29sdW1uIjp7ImJyZWFrLWJlZm9yZSI6ImNvbHVtbiJ9fSl9LGJyZWFrSW5zaWRlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstaW5zaWRlLWF1dG8iOnsiYnJlYWstaW5zaWRlIjoiYXV0byJ9LCIuYnJlYWstaW5zaWRlLWF2b2lkIjp7ImJyZWFrLWluc2lkZSI6ImF2b2lkIn0sIi5icmVhay1pbnNpZGUtYXZvaWQtcGFnZSI6eyJicmVhay1pbnNpZGUiOiJhdm9pZC1wYWdlIn0sIi5icmVhay1pbnNpZGUtYXZvaWQtY29sdW1uIjp7ImJyZWFrLWluc2lkZSI6ImF2b2lkLWNvbHVtbiJ9fSl9LGJyZWFrQWZ0ZXI6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5icmVhay1hZnRlci1hdXRvIjp7ImJyZWFrLWFmdGVyIjoiYXV0byJ9LCIuYnJlYWstYWZ0ZXItYXZvaWQiOnsiYnJlYWstYWZ0ZXIiOiJhdm9pZCJ9LCIuYnJlYWstYWZ0ZXItYWxsIjp7ImJyZWFrLWFmdGVyIjoiYWxsIn0sIi5icmVhay1hZnRlci1hdm9pZC1wYWdlIjp7ImJyZWFrLWFmdGVyIjoiYXZvaWQtcGFnZSJ9LCIuYnJlYWstYWZ0ZXItcGFnZSI6eyJicmVhay1hZnRlciI6InBhZ2UifSwiLmJyZWFrLWFmdGVyLWxlZnQiOnsiYnJlYWstYWZ0ZXIiOiJsZWZ0In0sIi5icmVhay1hZnRlci1yaWdodCI6eyJicmVhay1hZnRlciI6InJpZ2h0In0sIi5icmVhay1hZnRlci1jb2x1bW4iOnsiYnJlYWstYWZ0ZXIiOiJjb2x1bW4ifX0pfSxncmlkQXV0b0NvbHVtbnM6TCgiZ3JpZEF1dG9Db2x1bW5zIixbWyJhdXRvLWNvbHMiLFsiZ3JpZEF1dG9Db2x1bW5zIl1dXSksZ3JpZEF1dG9GbG93Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuZ3JpZC1mbG93LXJvdyI6e2dyaWRBdXRvRmxvdzoicm93In0sIi5ncmlkLWZsb3ctY29sIjp7Z3JpZEF1dG9GbG93OiJjb2x1bW4ifSwiLmdyaWQtZmxvdy1kZW5zZSI6e2dyaWRBdXRvRmxvdzoiZGVuc2UifSwiLmdyaWQtZmxvdy1yb3ctZGVuc2UiOntncmlkQXV0b0Zsb3c6InJvdyBkZW5zZSJ9LCIuZ3JpZC1mbG93LWNvbC1kZW5zZSI6e2dyaWRBdXRvRmxvdzoiY29sdW1uIGRlbnNlIn19KX0sZ3JpZEF1dG9Sb3dzOkwoImdyaWRBdXRvUm93cyIsW1siYXV0by1yb3dzIixbImdyaWRBdXRvUm93cyJdXV0pLGdyaWRUZW1wbGF0ZUNvbHVtbnM6TCgiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsW1siZ3JpZC1jb2xzIixbImdyaWRUZW1wbGF0ZUNvbHVtbnMiXV1dKSxncmlkVGVtcGxhdGVSb3dzOkwoImdyaWRUZW1wbGF0ZVJvd3MiLFtbImdyaWQtcm93cyIsWyJncmlkVGVtcGxhdGVSb3dzIl1dXSksZmxleERpcmVjdGlvbjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmZsZXgtcm93Ijp7ImZsZXgtZGlyZWN0aW9uIjoicm93In0sIi5mbGV4LXJvdy1yZXZlcnNlIjp7ImZsZXgtZGlyZWN0aW9uIjoicm93LXJldmVyc2UifSwiLmZsZXgtY29sIjp7ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIn0sIi5mbGV4LWNvbC1yZXZlcnNlIjp7ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uLXJldmVyc2UifX0pfSxmbGV4V3JhcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmZsZXgtd3JhcCI6eyJmbGV4LXdyYXAiOiJ3cmFwIn0sIi5mbGV4LXdyYXAtcmV2ZXJzZSI6eyJmbGV4LXdyYXAiOiJ3cmFwLXJldmVyc2UifSwiLmZsZXgtbm93cmFwIjp7ImZsZXgtd3JhcCI6Im5vd3JhcCJ9fSl9LHBsYWNlQ29udGVudDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnBsYWNlLWNvbnRlbnQtY2VudGVyIjp7InBsYWNlLWNvbnRlbnQiOiJjZW50ZXIifSwiLnBsYWNlLWNvbnRlbnQtc3RhcnQiOnsicGxhY2UtY29udGVudCI6InN0YXJ0In0sIi5wbGFjZS1jb250ZW50LWVuZCI6eyJwbGFjZS1jb250ZW50IjoiZW5kIn0sIi5wbGFjZS1jb250ZW50LWJldHdlZW4iOnsicGxhY2UtY29udGVudCI6InNwYWNlLWJldHdlZW4ifSwiLnBsYWNlLWNvbnRlbnQtYXJvdW5kIjp7InBsYWNlLWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLnBsYWNlLWNvbnRlbnQtZXZlbmx5Ijp7InBsYWNlLWNvbnRlbnQiOiJzcGFjZS1ldmVubHkifSwiLnBsYWNlLWNvbnRlbnQtYmFzZWxpbmUiOnsicGxhY2UtY29udGVudCI6ImJhc2VsaW5lIn0sIi5wbGFjZS1jb250ZW50LXN0cmV0Y2giOnsicGxhY2UtY29udGVudCI6InN0cmV0Y2gifX0pfSxwbGFjZUl0ZW1zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIucGxhY2UtaXRlbXMtc3RhcnQiOnsicGxhY2UtaXRlbXMiOiJzdGFydCJ9LCIucGxhY2UtaXRlbXMtZW5kIjp7InBsYWNlLWl0ZW1zIjoiZW5kIn0sIi5wbGFjZS1pdGVtcy1jZW50ZXIiOnsicGxhY2UtaXRlbXMiOiJjZW50ZXIifSwiLnBsYWNlLWl0ZW1zLWJhc2VsaW5lIjp7InBsYWNlLWl0ZW1zIjoiYmFzZWxpbmUifSwiLnBsYWNlLWl0ZW1zLXN0cmV0Y2giOnsicGxhY2UtaXRlbXMiOiJzdHJldGNoIn19KX0sYWxpZ25Db250ZW50Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuY29udGVudC1ub3JtYWwiOnsiYWxpZ24tY29udGVudCI6Im5vcm1hbCJ9LCIuY29udGVudC1jZW50ZXIiOnsiYWxpZ24tY29udGVudCI6ImNlbnRlciJ9LCIuY29udGVudC1zdGFydCI6eyJhbGlnbi1jb250ZW50IjoiZmxleC1zdGFydCJ9LCIuY29udGVudC1lbmQiOnsiYWxpZ24tY29udGVudCI6ImZsZXgtZW5kIn0sIi5jb250ZW50LWJldHdlZW4iOnsiYWxpZ24tY29udGVudCI6InNwYWNlLWJldHdlZW4ifSwiLmNvbnRlbnQtYXJvdW5kIjp7ImFsaWduLWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLmNvbnRlbnQtZXZlbmx5Ijp7ImFsaWduLWNvbnRlbnQiOiJzcGFjZS1ldmVubHkifSwiLmNvbnRlbnQtYmFzZWxpbmUiOnsiYWxpZ24tY29udGVudCI6ImJhc2VsaW5lIn0sIi5jb250ZW50LXN0cmV0Y2giOnsiYWxpZ24tY29udGVudCI6InN0cmV0Y2gifX0pfSxhbGlnbkl0ZW1zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaXRlbXMtc3RhcnQiOnsiYWxpZ24taXRlbXMiOiJmbGV4LXN0YXJ0In0sIi5pdGVtcy1lbmQiOnsiYWxpZ24taXRlbXMiOiJmbGV4LWVuZCJ9LCIuaXRlbXMtY2VudGVyIjp7ImFsaWduLWl0ZW1zIjoiY2VudGVyIn0sIi5pdGVtcy1iYXNlbGluZSI6eyJhbGlnbi1pdGVtcyI6ImJhc2VsaW5lIn0sIi5pdGVtcy1zdHJldGNoIjp7ImFsaWduLWl0ZW1zIjoic3RyZXRjaCJ9fSl9LGp1c3RpZnlDb250ZW50Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuanVzdGlmeS1ub3JtYWwiOnsianVzdGlmeS1jb250ZW50Ijoibm9ybWFsIn0sIi5qdXN0aWZ5LXN0YXJ0Ijp7Imp1c3RpZnktY29udGVudCI6ImZsZXgtc3RhcnQifSwiLmp1c3RpZnktZW5kIjp7Imp1c3RpZnktY29udGVudCI6ImZsZXgtZW5kIn0sIi5qdXN0aWZ5LWNlbnRlciI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJjZW50ZXIifSwiLmp1c3RpZnktYmV0d2VlbiI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1iZXR3ZWVuIn0sIi5qdXN0aWZ5LWFyb3VuZCI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLmp1c3RpZnktZXZlbmx5Ijp7Imp1c3RpZnktY29udGVudCI6InNwYWNlLWV2ZW5seSJ9LCIuanVzdGlmeS1zdHJldGNoIjp7Imp1c3RpZnktY29udGVudCI6InN0cmV0Y2gifX0pfSxqdXN0aWZ5SXRlbXM6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5qdXN0aWZ5LWl0ZW1zLXN0YXJ0Ijp7Imp1c3RpZnktaXRlbXMiOiJzdGFydCJ9LCIuanVzdGlmeS1pdGVtcy1lbmQiOnsianVzdGlmeS1pdGVtcyI6ImVuZCJ9LCIuanVzdGlmeS1pdGVtcy1jZW50ZXIiOnsianVzdGlmeS1pdGVtcyI6ImNlbnRlciJ9LCIuanVzdGlmeS1pdGVtcy1zdHJldGNoIjp7Imp1c3RpZnktaXRlbXMiOiJzdHJldGNoIn19KX0sZ2FwOkwoImdhcCIsW1siZ2FwIixbImdhcCJdXSxbWyJnYXAteCIsWyJjb2x1bW5HYXAiXV0sWyJnYXAteSIsWyJyb3dHYXAiXV1dXSksc3BhY2U6KHttYXRjaFV0aWxpdGllczpyLGFkZFV0aWxpdGllczplLHRoZW1lOnR9KT0+e3IoeyJzcGFjZS14IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyItLXR3LXNwYWNlLXgtcmV2ZXJzZSI6IjAiLCJtYXJnaW4tcmlnaHQiOmBjYWxjKCR7aX0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKWAsIm1hcmdpbi1sZWZ0IjpgY2FsYygke2l9ICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpYH19KSwic3BhY2UteSI6aT0+KGk9aT09PSIwIj8iMHB4IjppLHsiJiA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiLS10dy1zcGFjZS15LXJldmVyc2UiOiIwIiwibWFyZ2luLXRvcCI6YGNhbGMoJHtpfSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKWAsIm1hcmdpbi1ib3R0b20iOmBjYWxjKCR7aX0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKWB9fSl9LHt2YWx1ZXM6dCgic3BhY2UiKSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZSh7Ii5zcGFjZS15LXJldmVyc2UgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIjp7Ii0tdHctc3BhY2UteS1yZXZlcnNlIjoiMSJ9LCIuc3BhY2UteC1yZXZlcnNlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyItLXR3LXNwYWNlLXgtcmV2ZXJzZSI6IjEifX0pfSxkaXZpZGVXaWR0aDooe21hdGNoVXRpbGl0aWVzOnIsYWRkVXRpbGl0aWVzOmUsdGhlbWU6dH0pPT57cih7ImRpdmlkZS14IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteC1yZXZlcnNlIjoiMCIsImJvcmRlci1yaWdodC13aWR0aCI6YGNhbGMoJHtpfSAqIHZhcigtLXR3LWRpdmlkZS14LXJldmVyc2UpKWAsImJvcmRlci1sZWZ0LXdpZHRoIjpgY2FsYygke2l9ICogY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXgtcmV2ZXJzZSkpKWB9fSksImRpdmlkZS15IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteS1yZXZlcnNlIjoiMCIsImJvcmRlci10b3Atd2lkdGgiOmBjYWxjKCR7aX0gKiBjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpYCwiYm9yZGVyLWJvdHRvbS13aWR0aCI6YGNhbGMoJHtpfSAqIHZhcigtLXR3LWRpdmlkZS15LXJldmVyc2UpKWB9fSl9LHt2YWx1ZXM6dCgiZGl2aWRlV2lkdGgiKSx0eXBlOlsibGluZS13aWR0aCIsImxlbmd0aCIsImFueSJdfSksZSh7Ii5kaXZpZGUteS1yZXZlcnNlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteS1yZXZlcnNlIjoiMSJ9LCIuZGl2aWRlLXgtcmV2ZXJzZSA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiQGRlZmF1bHRzIGJvcmRlci13aWR0aCI6e30sIi0tdHctZGl2aWRlLXgtcmV2ZXJzZSI6IjEifX0pfSxkaXZpZGVTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRpdmlkZS1zb2xpZCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiYm9yZGVyLXN0eWxlIjoic29saWQifSwiLmRpdmlkZS1kYXNoZWQgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIjp7ImJvcmRlci1zdHlsZSI6ImRhc2hlZCJ9LCIuZGl2aWRlLWRvdHRlZCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiYm9yZGVyLXN0eWxlIjoiZG90dGVkIn0sIi5kaXZpZGUtZG91YmxlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJib3JkZXItc3R5bGUiOiJkb3VibGUifSwiLmRpdmlkZS1ub25lID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJib3JkZXItc3R5bGUiOiJub25lIn19KX0sZGl2aWRlQ29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7ZGl2aWRlOmk9PnQoImRpdmlkZU9wYWNpdHkiKT97WyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSJdOkFlKHtjb2xvcjppLHByb3BlcnR5OiJib3JkZXItY29sb3IiLHZhcmlhYmxlOiItLXR3LWRpdmlkZS1vcGFjaXR5In0pfTp7WyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSJdOnsiYm9yZGVyLWNvbG9yIjpYKGkpfX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiZGl2aWRlQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LGRpdmlkZU9wYWNpdHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJkaXZpZGUtb3BhY2l0eSI6dD0+KHtbIiYgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIl06eyItLXR3LWRpdmlkZS1vcGFjaXR5Ijp0fX0pfSx7dmFsdWVzOmUoImRpdmlkZU9wYWNpdHkiKX0pfSxwbGFjZVNlbGY6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5wbGFjZS1zZWxmLWF1dG8iOnsicGxhY2Utc2VsZiI6ImF1dG8ifSwiLnBsYWNlLXNlbGYtc3RhcnQiOnsicGxhY2Utc2VsZiI6InN0YXJ0In0sIi5wbGFjZS1zZWxmLWVuZCI6eyJwbGFjZS1zZWxmIjoiZW5kIn0sIi5wbGFjZS1zZWxmLWNlbnRlciI6eyJwbGFjZS1zZWxmIjoiY2VudGVyIn0sIi5wbGFjZS1zZWxmLXN0cmV0Y2giOnsicGxhY2Utc2VsZiI6InN0cmV0Y2gifX0pfSxhbGlnblNlbGY6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zZWxmLWF1dG8iOnsiYWxpZ24tc2VsZiI6ImF1dG8ifSwiLnNlbGYtc3RhcnQiOnsiYWxpZ24tc2VsZiI6ImZsZXgtc3RhcnQifSwiLnNlbGYtZW5kIjp7ImFsaWduLXNlbGYiOiJmbGV4LWVuZCJ9LCIuc2VsZi1jZW50ZXIiOnsiYWxpZ24tc2VsZiI6ImNlbnRlciJ9LCIuc2VsZi1zdHJldGNoIjp7ImFsaWduLXNlbGYiOiJzdHJldGNoIn0sIi5zZWxmLWJhc2VsaW5lIjp7ImFsaWduLXNlbGYiOiJiYXNlbGluZSJ9fSl9LGp1c3RpZnlTZWxmOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuanVzdGlmeS1zZWxmLWF1dG8iOnsianVzdGlmeS1zZWxmIjoiYXV0byJ9LCIuanVzdGlmeS1zZWxmLXN0YXJ0Ijp7Imp1c3RpZnktc2VsZiI6InN0YXJ0In0sIi5qdXN0aWZ5LXNlbGYtZW5kIjp7Imp1c3RpZnktc2VsZiI6ImVuZCJ9LCIuanVzdGlmeS1zZWxmLWNlbnRlciI6eyJqdXN0aWZ5LXNlbGYiOiJjZW50ZXIifSwiLmp1c3RpZnktc2VsZi1zdHJldGNoIjp7Imp1c3RpZnktc2VsZiI6InN0cmV0Y2gifX0pfSxvdmVyZmxvdzooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLm92ZXJmbG93LWF1dG8iOntvdmVyZmxvdzoiYXV0byJ9LCIub3ZlcmZsb3ctaGlkZGVuIjp7b3ZlcmZsb3c6ImhpZGRlbiJ9LCIub3ZlcmZsb3ctY2xpcCI6e292ZXJmbG93OiJjbGlwIn0sIi5vdmVyZmxvdy12aXNpYmxlIjp7b3ZlcmZsb3c6InZpc2libGUifSwiLm92ZXJmbG93LXNjcm9sbCI6e292ZXJmbG93OiJzY3JvbGwifSwiLm92ZXJmbG93LXgtYXV0byI6eyJvdmVyZmxvdy14IjoiYXV0byJ9LCIub3ZlcmZsb3cteS1hdXRvIjp7Im92ZXJmbG93LXkiOiJhdXRvIn0sIi5vdmVyZmxvdy14LWhpZGRlbiI6eyJvdmVyZmxvdy14IjoiaGlkZGVuIn0sIi5vdmVyZmxvdy15LWhpZGRlbiI6eyJvdmVyZmxvdy15IjoiaGlkZGVuIn0sIi5vdmVyZmxvdy14LWNsaXAiOnsib3ZlcmZsb3cteCI6ImNsaXAifSwiLm92ZXJmbG93LXktY2xpcCI6eyJvdmVyZmxvdy15IjoiY2xpcCJ9LCIub3ZlcmZsb3cteC12aXNpYmxlIjp7Im92ZXJmbG93LXgiOiJ2aXNpYmxlIn0sIi5vdmVyZmxvdy15LXZpc2libGUiOnsib3ZlcmZsb3cteSI6InZpc2libGUifSwiLm92ZXJmbG93LXgtc2Nyb2xsIjp7Im92ZXJmbG93LXgiOiJzY3JvbGwifSwiLm92ZXJmbG93LXktc2Nyb2xsIjp7Im92ZXJmbG93LXkiOiJzY3JvbGwifX0pfSxvdmVyc2Nyb2xsQmVoYXZpb3I6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5vdmVyc2Nyb2xsLWF1dG8iOnsib3ZlcnNjcm9sbC1iZWhhdmlvciI6ImF1dG8ifSwiLm92ZXJzY3JvbGwtY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yIjoiY29udGFpbiJ9LCIub3ZlcnNjcm9sbC1ub25lIjp7Im92ZXJzY3JvbGwtYmVoYXZpb3IiOiJub25lIn0sIi5vdmVyc2Nyb2xsLXktYXV0byI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJhdXRvIn0sIi5vdmVyc2Nyb2xsLXktY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJjb250YWluIn0sIi5vdmVyc2Nyb2xsLXktbm9uZSI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJub25lIn0sIi5vdmVyc2Nyb2xsLXgtYXV0byI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJhdXRvIn0sIi5vdmVyc2Nyb2xsLXgtY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJjb250YWluIn0sIi5vdmVyc2Nyb2xsLXgtbm9uZSI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJub25lIn19KX0sc2Nyb2xsQmVoYXZpb3I6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zY3JvbGwtYXV0byI6eyJzY3JvbGwtYmVoYXZpb3IiOiJhdXRvIn0sIi5zY3JvbGwtc21vb3RoIjp7InNjcm9sbC1iZWhhdmlvciI6InNtb290aCJ9fSl9LHRleHRPdmVyZmxvdzooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnRydW5jYXRlIjp7b3ZlcmZsb3c6ImhpZGRlbiIsInRleHQtb3ZlcmZsb3ciOiJlbGxpcHNpcyIsIndoaXRlLXNwYWNlIjoibm93cmFwIn0sIi5vdmVyZmxvdy1lbGxpcHNpcyI6eyJ0ZXh0LW92ZXJmbG93IjoiZWxsaXBzaXMifSwiLnRleHQtZWxsaXBzaXMiOnsidGV4dC1vdmVyZmxvdyI6ImVsbGlwc2lzIn0sIi50ZXh0LWNsaXAiOnsidGV4dC1vdmVyZmxvdyI6ImNsaXAifX0pfSxoeXBoZW5zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaHlwaGVucy1ub25lIjp7aHlwaGVuczoibm9uZSJ9LCIuaHlwaGVucy1tYW51YWwiOntoeXBoZW5zOiJtYW51YWwifSwiLmh5cGhlbnMtYXV0byI6e2h5cGhlbnM6ImF1dG8ifX0pfSx3aGl0ZXNwYWNlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIud2hpdGVzcGFjZS1ub3JtYWwiOnsid2hpdGUtc3BhY2UiOiJub3JtYWwifSwiLndoaXRlc3BhY2Utbm93cmFwIjp7IndoaXRlLXNwYWNlIjoibm93cmFwIn0sIi53aGl0ZXNwYWNlLXByZSI6eyJ3aGl0ZS1zcGFjZSI6InByZSJ9LCIud2hpdGVzcGFjZS1wcmUtbGluZSI6eyJ3aGl0ZS1zcGFjZSI6InByZS1saW5lIn0sIi53aGl0ZXNwYWNlLXByZS13cmFwIjp7IndoaXRlLXNwYWNlIjoicHJlLXdyYXAifSwiLndoaXRlc3BhY2UtYnJlYWstc3BhY2VzIjp7IndoaXRlLXNwYWNlIjoiYnJlYWstc3BhY2VzIn19KX0sdGV4dFdyYXA6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii50ZXh0LXdyYXAiOnsidGV4dC13cmFwIjoid3JhcCJ9LCIudGV4dC1ub3dyYXAiOnsidGV4dC13cmFwIjoibm93cmFwIn0sIi50ZXh0LWJhbGFuY2UiOnsidGV4dC13cmFwIjoiYmFsYW5jZSJ9LCIudGV4dC1wcmV0dHkiOnsidGV4dC13cmFwIjoicHJldHR5In19KX0sd29yZEJyZWFrOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstbm9ybWFsIjp7Im92ZXJmbG93LXdyYXAiOiJub3JtYWwiLCJ3b3JkLWJyZWFrIjoibm9ybWFsIn0sIi5icmVhay13b3JkcyI6eyJvdmVyZmxvdy13cmFwIjoiYnJlYWstd29yZCJ9LCIuYnJlYWstYWxsIjp7IndvcmQtYnJlYWsiOiJicmVhay1hbGwifSwiLmJyZWFrLWtlZXAiOnsid29yZC1icmVhayI6ImtlZXAtYWxsIn19KX0sYm9yZGVyUmFkaXVzOkwoImJvcmRlclJhZGl1cyIsW1sicm91bmRlZCIsWyJib3JkZXItcmFkaXVzIl1dLFtbInJvdW5kZWQtcyIsWyJib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzIiwiYm9yZGVyLWVuZC1zdGFydC1yYWRpdXMiXV0sWyJyb3VuZGVkLWUiLFsiYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMiLCJib3JkZXItZW5kLWVuZC1yYWRpdXMiXV0sWyJyb3VuZGVkLXQiLFsiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIl1dLFsicm91bmRlZC1yIixbImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiXV0sWyJyb3VuZGVkLWIiLFsiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIl1dLFsicm91bmRlZC1sIixbImJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIl1dXSxbWyJyb3VuZGVkLXNzIixbImJvcmRlci1zdGFydC1zdGFydC1yYWRpdXMiXV0sWyJyb3VuZGVkLXNlIixbImJvcmRlci1zdGFydC1lbmQtcmFkaXVzIl1dLFsicm91bmRlZC1lZSIsWyJib3JkZXItZW5kLWVuZC1yYWRpdXMiXV0sWyJyb3VuZGVkLWVzIixbImJvcmRlci1lbmQtc3RhcnQtcmFkaXVzIl1dLFsicm91bmRlZC10bCIsWyJib3JkZXItdG9wLWxlZnQtcmFkaXVzIl1dLFsicm91bmRlZC10ciIsWyJib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyJdXSxbInJvdW5kZWQtYnIiLFsiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiXV0sWyJyb3VuZGVkLWJsIixbImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMiXV1dXSksYm9yZGVyV2lkdGg6TCgiYm9yZGVyV2lkdGgiLFtbImJvcmRlciIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItd2lkdGgiXV0sW1siYm9yZGVyLXgiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLWxlZnQtd2lkdGgiLCJib3JkZXItcmlnaHQtd2lkdGgiXV0sWyJib3JkZXIteSIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItdG9wLXdpZHRoIiwiYm9yZGVyLWJvdHRvbS13aWR0aCJdXV0sW1siYm9yZGVyLXMiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLWlubGluZS1zdGFydC13aWR0aCJdXSxbImJvcmRlci1lIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1pbmxpbmUtZW5kLXdpZHRoIl1dLFsiYm9yZGVyLXQiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLXRvcC13aWR0aCJdXSxbImJvcmRlci1yIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1yaWdodC13aWR0aCJdXSxbImJvcmRlci1iIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1ib3R0b20td2lkdGgiXV0sWyJib3JkZXItbCIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItbGVmdC13aWR0aCJdXV1dLHt0eXBlOlsibGluZS13aWR0aCIsImxlbmd0aCJdfSksYm9yZGVyU3R5bGU6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5ib3JkZXItc29saWQiOnsiYm9yZGVyLXN0eWxlIjoic29saWQifSwiLmJvcmRlci1kYXNoZWQiOnsiYm9yZGVyLXN0eWxlIjoiZGFzaGVkIn0sIi5ib3JkZXItZG90dGVkIjp7ImJvcmRlci1zdHlsZSI6ImRvdHRlZCJ9LCIuYm9yZGVyLWRvdWJsZSI6eyJib3JkZXItc3R5bGUiOiJkb3VibGUifSwiLmJvcmRlci1oaWRkZW4iOnsiYm9yZGVyLXN0eWxlIjoiaGlkZGVuIn0sIi5ib3JkZXItbm9uZSI6eyJib3JkZXItc3R5bGUiOiJub25lIn19KX0sYm9yZGVyQ29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7Ym9yZGVyOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1jb2xvciI6WChpKX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiYm9yZGVyQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSkscih7ImJvcmRlci14IjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6WyJib3JkZXItbGVmdC1jb2xvciIsImJvcmRlci1yaWdodC1jb2xvciJdLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWxlZnQtY29sb3IiOlgoaSksImJvcmRlci1yaWdodC1jb2xvciI6WChpKX0sImJvcmRlci15IjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6WyJib3JkZXItdG9wLWNvbG9yIiwiYm9yZGVyLWJvdHRvbS1jb2xvciJdLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLXRvcC1jb2xvciI6WChpKSwiYm9yZGVyLWJvdHRvbS1jb2xvciI6WChpKX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiYm9yZGVyQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSkscih7ImJvcmRlci1zIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3IiLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWlubGluZS1zdGFydC1jb2xvciI6WChpKX0sImJvcmRlci1lIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1pbmxpbmUtZW5kLWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1pbmxpbmUtZW5kLWNvbG9yIjpYKGkpfSwiYm9yZGVyLXQiOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLXRvcC1jb2xvciIsdmFyaWFibGU6Ii0tdHctYm9yZGVyLW9wYWNpdHkifSk6eyJib3JkZXItdG9wLWNvbG9yIjpYKGkpfSwiYm9yZGVyLXIiOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLXJpZ2h0LWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1yaWdodC1jb2xvciI6WChpKX0sImJvcmRlci1iIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1ib3R0b20tY29sb3IiLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWJvdHRvbS1jb2xvciI6WChpKX0sImJvcmRlci1sIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1sZWZ0LWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1sZWZ0LWNvbG9yIjpYKGkpfX0se3ZhbHVlczooKHtERUZBVUxUOmksLi4ubn0pPT5uKSh4ZShlKCJib3JkZXJDb2xvciIpKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYm9yZGVyT3BhY2l0eTpMKCJib3JkZXJPcGFjaXR5IixbWyJib3JkZXItb3BhY2l0eSIsWyItLXR3LWJvcmRlci1vcGFjaXR5Il1dXSksYmFja2dyb3VuZENvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe2JnOmk9PnQoImJhY2tncm91bmRPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJhY2tncm91bmQtY29sb3IiLHZhcmlhYmxlOiItLXR3LWJnLW9wYWNpdHkifSk6eyJiYWNrZ3JvdW5kLWNvbG9yIjpYKGkpfX0se3ZhbHVlczp4ZShlKCJiYWNrZ3JvdW5kQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYmFja2dyb3VuZE9wYWNpdHk6TCgiYmFja2dyb3VuZE9wYWNpdHkiLFtbImJnLW9wYWNpdHkiLFsiLS10dy1iZy1vcGFjaXR5Il1dXSksYmFja2dyb3VuZEltYWdlOkwoImJhY2tncm91bmRJbWFnZSIsW1siYmciLFsiYmFja2dyb3VuZC1pbWFnZSJdXV0se3R5cGU6WyJsb29rdXAiLCJpbWFnZSIsInVybCJdfSksZ3JhZGllbnRDb2xvclN0b3BzOigoKT0+e2Z1bmN0aW9uIHIoZSl7cmV0dXJuIEplKGUsMCwicmdiKDI1NSAyNTUgMjU1IC8gMCkiKX1yZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOmUsdGhlbWU6dCxhZGREZWZhdWx0czppfSl7aSgiZ3JhZGllbnQtY29sb3Itc3RvcHMiLHsiLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uIjoiICIsIi0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uIjoiICIsIi0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24iOiIgIn0pO2xldCBuPXt2YWx1ZXM6eGUodCgiZ3JhZGllbnRDb2xvclN0b3BzIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSxzPXt2YWx1ZXM6dCgiZ3JhZGllbnRDb2xvclN0b3BQb3NpdGlvbnMiKSx0eXBlOlsibGVuZ3RoIiwicGVyY2VudGFnZSJdfTtlKHtmcm9tOmE9PntsZXQgbz1yKGEpO3JldHVybnsiQGRlZmF1bHRzIGdyYWRpZW50LWNvbG9yLXN0b3BzIjp7fSwiLS10dy1ncmFkaWVudC1mcm9tIjpgJHtYKGEpfSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKWAsIi0tdHctZ3JhZGllbnQtdG8iOmAke299IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKWAsIi0tdHctZ3JhZGllbnQtc3RvcHMiOiJ2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIn19fSxuKSxlKHtmcm9tOmE9Pih7Ii0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiI6YX0pfSxzKSxlKHt2aWE6YT0+e2xldCBvPXIoYSk7cmV0dXJueyJAZGVmYXVsdHMgZ3JhZGllbnQtY29sb3Itc3RvcHMiOnt9LCItLXR3LWdyYWRpZW50LXRvIjpgJHtvfSAgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pYCwiLS10dy1ncmFkaWVudC1zdG9wcyI6YHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAke1goYSl9IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKWB9fX0sbiksZSh7dmlhOmE9Pih7Ii0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uIjphfSl9LHMpLGUoe3RvOmE9Pih7IkBkZWZhdWx0cyBncmFkaWVudC1jb2xvci1zdG9wcyI6e30sIi0tdHctZ3JhZGllbnQtdG8iOmAke1goYSl9IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKWB9KX0sbiksZSh7dG86YT0+KHsiLS10dy1ncmFkaWVudC10by1wb3NpdGlvbiI6YX0pfSxzKX19KSgpLGJveERlY29yYXRpb25CcmVhazooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRlY29yYXRpb24tc2xpY2UiOnsiYm94LWRlY29yYXRpb24tYnJlYWsiOiJzbGljZSJ9LCIuZGVjb3JhdGlvbi1jbG9uZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6ImNsb25lIn0sIi5ib3gtZGVjb3JhdGlvbi1zbGljZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6InNsaWNlIn0sIi5ib3gtZGVjb3JhdGlvbi1jbG9uZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6ImNsb25lIn19KX0sYmFja2dyb3VuZFNpemU6TCgiYmFja2dyb3VuZFNpemUiLFtbImJnIixbImJhY2tncm91bmQtc2l6ZSJdXV0se3R5cGU6WyJsb29rdXAiLCJsZW5ndGgiLCJwZXJjZW50YWdlIiwic2l6ZSJdfSksYmFja2dyb3VuZEF0dGFjaG1lbnQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5iZy1maXhlZCI6eyJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiOiJmaXhlZCJ9LCIuYmctbG9jYWwiOnsiYmFja2dyb3VuZC1hdHRhY2htZW50IjoibG9jYWwifSwiLmJnLXNjcm9sbCI6eyJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiOiJzY3JvbGwifX0pfSxiYWNrZ3JvdW5kQ2xpcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLWNsaXAtYm9yZGVyIjp7ImJhY2tncm91bmQtY2xpcCI6ImJvcmRlci1ib3gifSwiLmJnLWNsaXAtcGFkZGluZyI6eyJiYWNrZ3JvdW5kLWNsaXAiOiJwYWRkaW5nLWJveCJ9LCIuYmctY2xpcC1jb250ZW50Ijp7ImJhY2tncm91bmQtY2xpcCI6ImNvbnRlbnQtYm94In0sIi5iZy1jbGlwLXRleHQiOnsiYmFja2dyb3VuZC1jbGlwIjoidGV4dCJ9fSl9LGJhY2tncm91bmRQb3NpdGlvbjpMKCJiYWNrZ3JvdW5kUG9zaXRpb24iLFtbImJnIixbImJhY2tncm91bmQtcG9zaXRpb24iXV1dLHt0eXBlOlsibG9va3VwIixbInBvc2l0aW9uIix7cHJlZmVyT25Db25mbGljdDohMH1dXX0pLGJhY2tncm91bmRSZXBlYXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5iZy1yZXBlYXQiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQifSwiLmJnLW5vLXJlcGVhdCI6eyJiYWNrZ3JvdW5kLXJlcGVhdCI6Im5vLXJlcGVhdCJ9LCIuYmctcmVwZWF0LXgiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQteCJ9LCIuYmctcmVwZWF0LXkiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQteSJ9LCIuYmctcmVwZWF0LXJvdW5kIjp7ImJhY2tncm91bmQtcmVwZWF0Ijoicm91bmQifSwiLmJnLXJlcGVhdC1zcGFjZSI6eyJiYWNrZ3JvdW5kLXJlcGVhdCI6InNwYWNlIn19KX0sYmFja2dyb3VuZE9yaWdpbjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLW9yaWdpbi1ib3JkZXIiOnsiYmFja2dyb3VuZC1vcmlnaW4iOiJib3JkZXItYm94In0sIi5iZy1vcmlnaW4tcGFkZGluZyI6eyJiYWNrZ3JvdW5kLW9yaWdpbiI6InBhZGRpbmctYm94In0sIi5iZy1vcmlnaW4tY29udGVudCI6eyJiYWNrZ3JvdW5kLW9yaWdpbiI6ImNvbnRlbnQtYm94In19KX0sZmlsbDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ZmlsbDp0PT4oe2ZpbGw6WCh0KX0pfSx7dmFsdWVzOnhlKGUoImZpbGwiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sc3Ryb2tlOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtzdHJva2U6dD0+KHtzdHJva2U6WCh0KX0pfSx7dmFsdWVzOnhlKGUoInN0cm9rZSIpKSx0eXBlOlsiY29sb3IiLCJ1cmwiLCJhbnkiXX0pfSxzdHJva2VXaWR0aDpMKCJzdHJva2VXaWR0aCIsW1sic3Ryb2tlIixbInN0cm9rZS13aWR0aCJdXV0se3R5cGU6WyJsZW5ndGgiLCJudW1iZXIiLCJwZXJjZW50YWdlIl19KSxvYmplY3RGaXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5vYmplY3QtY29udGFpbiI6eyJvYmplY3QtZml0IjoiY29udGFpbiJ9LCIub2JqZWN0LWNvdmVyIjp7Im9iamVjdC1maXQiOiJjb3ZlciJ9LCIub2JqZWN0LWZpbGwiOnsib2JqZWN0LWZpdCI6ImZpbGwifSwiLm9iamVjdC1ub25lIjp7Im9iamVjdC1maXQiOiJub25lIn0sIi5vYmplY3Qtc2NhbGUtZG93biI6eyJvYmplY3QtZml0Ijoic2NhbGUtZG93biJ9fSl9LG9iamVjdFBvc2l0aW9uOkwoIm9iamVjdFBvc2l0aW9uIixbWyJvYmplY3QiLFsib2JqZWN0LXBvc2l0aW9uIl1dXSkscGFkZGluZzpMKCJwYWRkaW5nIixbWyJwIixbInBhZGRpbmciXV0sW1sicHgiLFsicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCJdXSxbInB5IixbInBhZGRpbmctdG9wIiwicGFkZGluZy1ib3R0b20iXV1dLFtbInBzIixbInBhZGRpbmctaW5saW5lLXN0YXJ0Il1dLFsicGUiLFsicGFkZGluZy1pbmxpbmUtZW5kIl1dLFsicHQiLFsicGFkZGluZy10b3AiXV0sWyJwciIsWyJwYWRkaW5nLXJpZ2h0Il1dLFsicGIiLFsicGFkZGluZy1ib3R0b20iXV0sWyJwbCIsWyJwYWRkaW5nLWxlZnQiXV1dXSksdGV4dEFsaWduOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIudGV4dC1sZWZ0Ijp7InRleHQtYWxpZ24iOiJsZWZ0In0sIi50ZXh0LWNlbnRlciI6eyJ0ZXh0LWFsaWduIjoiY2VudGVyIn0sIi50ZXh0LXJpZ2h0Ijp7InRleHQtYWxpZ24iOiJyaWdodCJ9LCIudGV4dC1qdXN0aWZ5Ijp7InRleHQtYWxpZ24iOiJqdXN0aWZ5In0sIi50ZXh0LXN0YXJ0Ijp7InRleHQtYWxpZ24iOiJzdGFydCJ9LCIudGV4dC1lbmQiOnsidGV4dC1hbGlnbiI6ImVuZCJ9fSl9LHRleHRJbmRlbnQ6TCgidGV4dEluZGVudCIsW1siaW5kZW50IixbInRleHQtaW5kZW50Il1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHZlcnRpY2FsQWxpZ246KHthZGRVdGlsaXRpZXM6cixtYXRjaFV0aWxpdGllczplfSk9PntyKHsiLmFsaWduLWJhc2VsaW5lIjp7InZlcnRpY2FsLWFsaWduIjoiYmFzZWxpbmUifSwiLmFsaWduLXRvcCI6eyJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCJ9LCIuYWxpZ24tbWlkZGxlIjp7InZlcnRpY2FsLWFsaWduIjoibWlkZGxlIn0sIi5hbGlnbi1ib3R0b20iOnsidmVydGljYWwtYWxpZ24iOiJib3R0b20ifSwiLmFsaWduLXRleHQtdG9wIjp7InZlcnRpY2FsLWFsaWduIjoidGV4dC10b3AifSwiLmFsaWduLXRleHQtYm90dG9tIjp7InZlcnRpY2FsLWFsaWduIjoidGV4dC1ib3R0b20ifSwiLmFsaWduLXN1YiI6eyJ2ZXJ0aWNhbC1hbGlnbiI6InN1YiJ9LCIuYWxpZ24tc3VwZXIiOnsidmVydGljYWwtYWxpZ24iOiJzdXBlciJ9fSksZSh7YWxpZ246dD0+KHsidmVydGljYWwtYWxpZ24iOnR9KX0pfSxmb250RmFtaWx5Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtmb250OnQ9PntsZXRbaSxuPXt9XT1BcnJheS5pc0FycmF5KHQpJiZrZSh0WzFdKT90Olt0XSx7Zm9udEZlYXR1cmVTZXR0aW5nczpzLGZvbnRWYXJpYXRpb25TZXR0aW5nczphfT1uO3JldHVybnsiZm9udC1mYW1pbHkiOkFycmF5LmlzQXJyYXkoaSk/aS5qb2luKCIsICIpOmksLi4ucz09PXZvaWQgMD97fTp7ImZvbnQtZmVhdHVyZS1zZXR0aW5ncyI6c30sLi4uYT09PXZvaWQgMD97fTp7ImZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIjphfX19fSx7dmFsdWVzOmUoImZvbnRGYW1pbHkiKSx0eXBlOlsibG9va3VwIiwiZ2VuZXJpYy1uYW1lIiwiZmFtaWx5LW5hbWUiXX0pfSxmb250U2l6ZTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7dGV4dDoodCx7bW9kaWZpZXI6aX0pPT57bGV0W24sc109QXJyYXkuaXNBcnJheSh0KT90Olt0XTtpZihpKXJldHVybnsiZm9udC1zaXplIjpuLCJsaW5lLWhlaWdodCI6aX07bGV0e2xpbmVIZWlnaHQ6YSxsZXR0ZXJTcGFjaW5nOm8sZm9udFdlaWdodDpsfT1rZShzKT9zOntsaW5lSGVpZ2h0OnN9O3JldHVybnsiZm9udC1zaXplIjpuLC4uLmE9PT12b2lkIDA/e306eyJsaW5lLWhlaWdodCI6YX0sLi4ubz09PXZvaWQgMD97fTp7ImxldHRlci1zcGFjaW5nIjpvfSwuLi5sPT09dm9pZCAwP3t9OnsiZm9udC13ZWlnaHQiOmx9fX19LHt2YWx1ZXM6ZSgiZm9udFNpemUiKSxtb2RpZmllcnM6ZSgibGluZUhlaWdodCIpLHR5cGU6WyJhYnNvbHV0ZS1zaXplIiwicmVsYXRpdmUtc2l6ZSIsImxlbmd0aCIsInBlcmNlbnRhZ2UiXX0pfSxmb250V2VpZ2h0OkwoImZvbnRXZWlnaHQiLFtbImZvbnQiLFsiZm9udFdlaWdodCJdXV0se3R5cGU6WyJsb29rdXAiLCJudW1iZXIiLCJhbnkiXX0pLHRleHRUcmFuc2Zvcm06KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii51cHBlcmNhc2UiOnsidGV4dC10cmFuc2Zvcm0iOiJ1cHBlcmNhc2UifSwiLmxvd2VyY2FzZSI6eyJ0ZXh0LXRyYW5zZm9ybSI6Imxvd2VyY2FzZSJ9LCIuY2FwaXRhbGl6ZSI6eyJ0ZXh0LXRyYW5zZm9ybSI6ImNhcGl0YWxpemUifSwiLm5vcm1hbC1jYXNlIjp7InRleHQtdHJhbnNmb3JtIjoibm9uZSJ9fSl9LGZvbnRTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLml0YWxpYyI6eyJmb250LXN0eWxlIjoiaXRhbGljIn0sIi5ub3QtaXRhbGljIjp7ImZvbnQtc3R5bGUiOiJub3JtYWwifX0pfSxmb250VmFyaWFudE51bWVyaWM6KHthZGREZWZhdWx0czpyLGFkZFV0aWxpdGllczplfSk9PntsZXQgdD0idmFyKC0tdHctb3JkaW5hbCkgdmFyKC0tdHctc2xhc2hlZC16ZXJvKSB2YXIoLS10dy1udW1lcmljLWZpZ3VyZSkgdmFyKC0tdHctbnVtZXJpYy1zcGFjaW5nKSB2YXIoLS10dy1udW1lcmljLWZyYWN0aW9uKSI7cigiZm9udC12YXJpYW50LW51bWVyaWMiLHsiLS10dy1vcmRpbmFsIjoiICIsIi0tdHctc2xhc2hlZC16ZXJvIjoiICIsIi0tdHctbnVtZXJpYy1maWd1cmUiOiIgIiwiLS10dy1udW1lcmljLXNwYWNpbmciOiIgIiwiLS10dy1udW1lcmljLWZyYWN0aW9uIjoiICJ9KSxlKHsiLm5vcm1hbC1udW1zIjp7ImZvbnQtdmFyaWFudC1udW1lcmljIjoibm9ybWFsIn0sIi5vcmRpbmFsIjp7IkBkZWZhdWx0cyBmb250LXZhcmlhbnQtbnVtZXJpYyI6e30sIi0tdHctb3JkaW5hbCI6Im9yZGluYWwiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5zbGFzaGVkLXplcm8iOnsiQGRlZmF1bHRzIGZvbnQtdmFyaWFudC1udW1lcmljIjp7fSwiLS10dy1zbGFzaGVkLXplcm8iOiJzbGFzaGVkLXplcm8iLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5saW5pbmctbnVtcyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZmlndXJlIjoibGluaW5nLW51bXMiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5vbGRzdHlsZS1udW1zIjp7IkBkZWZhdWx0cyBmb250LXZhcmlhbnQtbnVtZXJpYyI6e30sIi0tdHctbnVtZXJpYy1maWd1cmUiOiJvbGRzdHlsZS1udW1zIiwiZm9udC12YXJpYW50LW51bWVyaWMiOnR9LCIucHJvcG9ydGlvbmFsLW51bXMiOnsiQGRlZmF1bHRzIGZvbnQtdmFyaWFudC1udW1lcmljIjp7fSwiLS10dy1udW1lcmljLXNwYWNpbmciOiJwcm9wb3J0aW9uYWwtbnVtcyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fSwiLnRhYnVsYXItbnVtcyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtc3BhY2luZyI6InRhYnVsYXItbnVtcyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fSwiLmRpYWdvbmFsLWZyYWN0aW9ucyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZnJhY3Rpb24iOiJkaWFnb25hbC1mcmFjdGlvbnMiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5zdGFja2VkLWZyYWN0aW9ucyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZnJhY3Rpb24iOiJzdGFja2VkLWZyYWN0aW9ucyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fX0pfSxsaW5lSGVpZ2h0OkwoImxpbmVIZWlnaHQiLFtbImxlYWRpbmciLFsibGluZUhlaWdodCJdXV0pLGxldHRlclNwYWNpbmc6TCgibGV0dGVyU3BhY2luZyIsW1sidHJhY2tpbmciLFsibGV0dGVyU3BhY2luZyJdXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSx0ZXh0Q29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7dGV4dDppPT50KCJ0ZXh0T3BhY2l0eSIpP0FlKHtjb2xvcjppLHByb3BlcnR5OiJjb2xvciIsdmFyaWFibGU6Ii0tdHctdGV4dC1vcGFjaXR5In0pOntjb2xvcjpYKGkpfX0se3ZhbHVlczp4ZShlKCJ0ZXh0Q29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sdGV4dE9wYWNpdHk6TCgidGV4dE9wYWNpdHkiLFtbInRleHQtb3BhY2l0eSIsWyItLXR3LXRleHQtb3BhY2l0eSJdXV0pLHRleHREZWNvcmF0aW9uOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIudW5kZXJsaW5lIjp7InRleHQtZGVjb3JhdGlvbi1saW5lIjoidW5kZXJsaW5lIn0sIi5vdmVybGluZSI6eyJ0ZXh0LWRlY29yYXRpb24tbGluZSI6Im92ZXJsaW5lIn0sIi5saW5lLXRocm91Z2giOnsidGV4dC1kZWNvcmF0aW9uLWxpbmUiOiJsaW5lLXRocm91Z2gifSwiLm5vLXVuZGVybGluZSI6eyJ0ZXh0LWRlY29yYXRpb24tbGluZSI6Im5vbmUifX0pfSx0ZXh0RGVjb3JhdGlvbkNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtkZWNvcmF0aW9uOnQ9Pih7InRleHQtZGVjb3JhdGlvbi1jb2xvciI6WCh0KX0pfSx7dmFsdWVzOnhlKGUoInRleHREZWNvcmF0aW9uQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sdGV4dERlY29yYXRpb25TdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRlY29yYXRpb24tc29saWQiOnsidGV4dC1kZWNvcmF0aW9uLXN0eWxlIjoic29saWQifSwiLmRlY29yYXRpb24tZG91YmxlIjp7InRleHQtZGVjb3JhdGlvbi1zdHlsZSI6ImRvdWJsZSJ9LCIuZGVjb3JhdGlvbi1kb3R0ZWQiOnsidGV4dC1kZWNvcmF0aW9uLXN0eWxlIjoiZG90dGVkIn0sIi5kZWNvcmF0aW9uLWRhc2hlZCI6eyJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOiJkYXNoZWQifSwiLmRlY29yYXRpb24td2F2eSI6eyJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOiJ3YXZ5In19KX0sdGV4dERlY29yYXRpb25UaGlja25lc3M6TCgidGV4dERlY29yYXRpb25UaGlja25lc3MiLFtbImRlY29yYXRpb24iLFsidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyJdXV0se3R5cGU6WyJsZW5ndGgiLCJwZXJjZW50YWdlIl19KSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OkwoInRleHRVbmRlcmxpbmVPZmZzZXQiLFtbInVuZGVybGluZS1vZmZzZXQiLFsidGV4dC11bmRlcmxpbmUtb2Zmc2V0Il1dXSx7dHlwZTpbImxlbmd0aCIsInBlcmNlbnRhZ2UiLCJhbnkiXX0pLGZvbnRTbW9vdGhpbmc6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5hbnRpYWxpYXNlZCI6eyItd2Via2l0LWZvbnQtc21vb3RoaW5nIjoiYW50aWFsaWFzZWQiLCItbW96LW9zeC1mb250LXNtb290aGluZyI6ImdyYXlzY2FsZSJ9LCIuc3VicGl4ZWwtYW50aWFsaWFzZWQiOnsiLXdlYmtpdC1mb250LXNtb290aGluZyI6ImF1dG8iLCItbW96LW9zeC1mb250LXNtb290aGluZyI6ImF1dG8ifX0pfSxwbGFjZWhvbGRlckNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe3BsYWNlaG9sZGVyOmk9PnQoInBsYWNlaG9sZGVyT3BhY2l0eSIpP3siJjo6cGxhY2Vob2xkZXIiOkFlKHtjb2xvcjppLHByb3BlcnR5OiJjb2xvciIsdmFyaWFibGU6Ii0tdHctcGxhY2Vob2xkZXItb3BhY2l0eSJ9KX06eyImOjpwbGFjZWhvbGRlciI6e2NvbG9yOlgoaSl9fX0se3ZhbHVlczp4ZShlKCJwbGFjZWhvbGRlckNvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LHBsYWNlaG9sZGVyT3BhY2l0eTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7InBsYWNlaG9sZGVyLW9wYWNpdHkiOnQ9Pih7WyImOjpwbGFjZWhvbGRlciJdOnsiLS10dy1wbGFjZWhvbGRlci1vcGFjaXR5Ijp0fX0pfSx7dmFsdWVzOmUoInBsYWNlaG9sZGVyT3BhY2l0eSIpfSl9LGNhcmV0Q29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2NhcmV0OnQ9Pih7ImNhcmV0LWNvbG9yIjpYKHQpfSl9LHt2YWx1ZXM6eGUoZSgiY2FyZXRDb2xvciIpKSx0eXBlOlsiY29sb3IiLCJhbnkiXX0pfSxhY2NlbnRDb2xvcjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7YWNjZW50OnQ9Pih7ImFjY2VudC1jb2xvciI6WCh0KX0pfSx7dmFsdWVzOnhlKGUoImFjY2VudENvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LG9wYWNpdHk6TCgib3BhY2l0eSIsW1sib3BhY2l0eSIsWyJvcGFjaXR5Il1dXSksYmFja2dyb3VuZEJsZW5kTW9kZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLWJsZW5kLW5vcm1hbCI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJub3JtYWwifSwiLmJnLWJsZW5kLW11bHRpcGx5Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Im11bHRpcGx5In0sIi5iZy1ibGVuZC1zY3JlZW4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoic2NyZWVuIn0sIi5iZy1ibGVuZC1vdmVybGF5Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Im92ZXJsYXkifSwiLmJnLWJsZW5kLWRhcmtlbiI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJkYXJrZW4ifSwiLmJnLWJsZW5kLWxpZ2h0ZW4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoibGlnaHRlbiJ9LCIuYmctYmxlbmQtY29sb3ItZG9kZ2UiOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiY29sb3ItZG9kZ2UifSwiLmJnLWJsZW5kLWNvbG9yLWJ1cm4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiY29sb3ItYnVybiJ9LCIuYmctYmxlbmQtaGFyZC1saWdodCI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJoYXJkLWxpZ2h0In0sIi5iZy1ibGVuZC1zb2Z0LWxpZ2h0Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6InNvZnQtbGlnaHQifSwiLmJnLWJsZW5kLWRpZmZlcmVuY2UiOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiZGlmZmVyZW5jZSJ9LCIuYmctYmxlbmQtZXhjbHVzaW9uIjp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6ImV4Y2x1c2lvbiJ9LCIuYmctYmxlbmQtaHVlIjp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Imh1ZSJ9LCIuYmctYmxlbmQtc2F0dXJhdGlvbiI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJzYXR1cmF0aW9uIn0sIi5iZy1ibGVuZC1jb2xvciI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJjb2xvciJ9LCIuYmctYmxlbmQtbHVtaW5vc2l0eSI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJsdW1pbm9zaXR5In19KX0sbWl4QmxlbmRNb2RlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIubWl4LWJsZW5kLW5vcm1hbCI6eyJtaXgtYmxlbmQtbW9kZSI6Im5vcm1hbCJ9LCIubWl4LWJsZW5kLW11bHRpcGx5Ijp7Im1peC1ibGVuZC1tb2RlIjoibXVsdGlwbHkifSwiLm1peC1ibGVuZC1zY3JlZW4iOnsibWl4LWJsZW5kLW1vZGUiOiJzY3JlZW4ifSwiLm1peC1ibGVuZC1vdmVybGF5Ijp7Im1peC1ibGVuZC1tb2RlIjoib3ZlcmxheSJ9LCIubWl4LWJsZW5kLWRhcmtlbiI6eyJtaXgtYmxlbmQtbW9kZSI6ImRhcmtlbiJ9LCIubWl4LWJsZW5kLWxpZ2h0ZW4iOnsibWl4LWJsZW5kLW1vZGUiOiJsaWdodGVuIn0sIi5taXgtYmxlbmQtY29sb3ItZG9kZ2UiOnsibWl4LWJsZW5kLW1vZGUiOiJjb2xvci1kb2RnZSJ9LCIubWl4LWJsZW5kLWNvbG9yLWJ1cm4iOnsibWl4LWJsZW5kLW1vZGUiOiJjb2xvci1idXJuIn0sIi5taXgtYmxlbmQtaGFyZC1saWdodCI6eyJtaXgtYmxlbmQtbW9kZSI6ImhhcmQtbGlnaHQifSwiLm1peC1ibGVuZC1zb2Z0LWxpZ2h0Ijp7Im1peC1ibGVuZC1tb2RlIjoic29mdC1saWdodCJ9LCIubWl4LWJsZW5kLWRpZmZlcmVuY2UiOnsibWl4LWJsZW5kLW1vZGUiOiJkaWZmZXJlbmNlIn0sIi5taXgtYmxlbmQtZXhjbHVzaW9uIjp7Im1peC1ibGVuZC1tb2RlIjoiZXhjbHVzaW9uIn0sIi5taXgtYmxlbmQtaHVlIjp7Im1peC1ibGVuZC1tb2RlIjoiaHVlIn0sIi5taXgtYmxlbmQtc2F0dXJhdGlvbiI6eyJtaXgtYmxlbmQtbW9kZSI6InNhdHVyYXRpb24ifSwiLm1peC1ibGVuZC1jb2xvciI6eyJtaXgtYmxlbmQtbW9kZSI6ImNvbG9yIn0sIi5taXgtYmxlbmQtbHVtaW5vc2l0eSI6eyJtaXgtYmxlbmQtbW9kZSI6Imx1bWlub3NpdHkifSwiLm1peC1ibGVuZC1wbHVzLWRhcmtlciI6eyJtaXgtYmxlbmQtbW9kZSI6InBsdXMtZGFya2VyIn0sIi5taXgtYmxlbmQtcGx1cy1saWdodGVyIjp7Im1peC1ibGVuZC1tb2RlIjoicGx1cy1saWdodGVyIn19KX0sYm94U2hhZG93OigoKT0+e2xldCByPW10KCJib3hTaGFkb3ciKSxlPVsidmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApIiwidmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCkiLCJ2YXIoLS10dy1zaGFkb3cpIl0uam9pbigiLCAiKTtyZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnQsYWRkRGVmYXVsdHM6aSx0aGVtZTpufSl7aSgiYm94LXNoYWRvdyIseyItLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctcmluZy1zaGFkb3ciOiIwIDAgIzAwMDAiLCItLXR3LXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctc2hhZG93LWNvbG9yZWQiOiIwIDAgIzAwMDAifSksdCh7c2hhZG93OnM9PntzPXIocyk7bGV0IGE9ZW4ocyk7Zm9yKGxldCBvIG9mIGEpIW8udmFsaWR8fChvLmNvbG9yPSJ2YXIoLS10dy1zaGFkb3ctY29sb3IpIik7cmV0dXJueyJAZGVmYXVsdHMgYm94LXNoYWRvdyI6e30sIi0tdHctc2hhZG93IjpzPT09Im5vbmUiPyIwIDAgIzAwMDAiOnMsIi0tdHctc2hhZG93LWNvbG9yZWQiOnM9PT0ibm9uZSI/IjAgMCAjMDAwMCI6TGYoYSksImJveC1zaGFkb3ciOmV9fX0se3ZhbHVlczpuKCJib3hTaGFkb3ciKSx0eXBlOlsic2hhZG93Il19KX19KSgpLGJveFNoYWRvd0NvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtzaGFkb3c6dD0+KHsiLS10dy1zaGFkb3ctY29sb3IiOlgodCksIi0tdHctc2hhZG93IjoidmFyKC0tdHctc2hhZG93LWNvbG9yZWQpIn0pfSx7dmFsdWVzOnhlKGUoImJveFNoYWRvd0NvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LG91dGxpbmVTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLm91dGxpbmUtbm9uZSI6e291dGxpbmU6IjJweCBzb2xpZCB0cmFuc3BhcmVudCIsIm91dGxpbmUtb2Zmc2V0IjoiMnB4In0sIi5vdXRsaW5lIjp7Im91dGxpbmUtc3R5bGUiOiJzb2xpZCJ9LCIub3V0bGluZS1kYXNoZWQiOnsib3V0bGluZS1zdHlsZSI6ImRhc2hlZCJ9LCIub3V0bGluZS1kb3R0ZWQiOnsib3V0bGluZS1zdHlsZSI6ImRvdHRlZCJ9LCIub3V0bGluZS1kb3VibGUiOnsib3V0bGluZS1zdHlsZSI6ImRvdWJsZSJ9fSl9LG91dGxpbmVXaWR0aDpMKCJvdXRsaW5lV2lkdGgiLFtbIm91dGxpbmUiLFsib3V0bGluZS13aWR0aCJdXV0se3R5cGU6WyJsZW5ndGgiLCJudW1iZXIiLCJwZXJjZW50YWdlIl19KSxvdXRsaW5lT2Zmc2V0OkwoIm91dGxpbmVPZmZzZXQiLFtbIm91dGxpbmUtb2Zmc2V0IixbIm91dGxpbmUtb2Zmc2V0Il1dXSx7dHlwZTpbImxlbmd0aCIsIm51bWJlciIsInBlcmNlbnRhZ2UiLCJhbnkiXSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksb3V0bGluZUNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtvdXRsaW5lOnQ9Pih7Im91dGxpbmUtY29sb3IiOlgodCl9KX0se3ZhbHVlczp4ZShlKCJvdXRsaW5lQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0scmluZ1dpZHRoOih7bWF0Y2hVdGlsaXRpZXM6cixhZGREZWZhdWx0czplLGFkZFV0aWxpdGllczp0LHRoZW1lOmksY29uZmlnOm59KT0+e2xldCBzPSgoKT0+e2lmKHdlKG4oKSwicmVzcGVjdERlZmF1bHRSaW5nQ29sb3JPcGFjaXR5IikpcmV0dXJuIGkoInJpbmdDb2xvci5ERUZBVUxUIik7bGV0IGE9aSgicmluZ09wYWNpdHkuREVGQVVMVCIsIjAuNSIpO3JldHVybiBpKCJyaW5nQ29sb3IiKT8uREVGQVVMVD9KZShpKCJyaW5nQ29sb3IiKT8uREVGQVVMVCxhLGByZ2IoMTQ3IDE5NyAyNTMgLyAke2F9KWApOmByZ2IoMTQ3IDE5NyAyNTMgLyAke2F9KWB9KSgpO2UoInJpbmctd2lkdGgiLHsiLS10dy1yaW5nLWluc2V0IjoiICIsIi0tdHctcmluZy1vZmZzZXQtd2lkdGgiOmkoInJpbmdPZmZzZXRXaWR0aC5ERUZBVUxUIiwiMHB4IiksIi0tdHctcmluZy1vZmZzZXQtY29sb3IiOmkoInJpbmdPZmZzZXRDb2xvci5ERUZBVUxUIiwiI2ZmZiIpLCItLXR3LXJpbmctY29sb3IiOnMsIi0tdHctcmluZy1vZmZzZXQtc2hhZG93IjoiMCAwICMwMDAwIiwiLS10dy1yaW5nLXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctc2hhZG93IjoiMCAwICMwMDAwIiwiLS10dy1zaGFkb3ctY29sb3JlZCI6IjAgMCAjMDAwMCJ9KSxyKHtyaW5nOmE9Pih7IkBkZWZhdWx0cyByaW5nLXdpZHRoIjp7fSwiLS10dy1yaW5nLW9mZnNldC1zaGFkb3ciOiJ2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpIiwiLS10dy1yaW5nLXNoYWRvdyI6YHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoJHthfSArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcilgLCJib3gtc2hhZG93IjpbInZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdykiLCJ2YXIoLS10dy1yaW5nLXNoYWRvdykiLCJ2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCkiXS5qb2luKCIsICIpfSl9LHt2YWx1ZXM6aSgicmluZ1dpZHRoIiksdHlwZToibGVuZ3RoIn0pLHQoeyIucmluZy1pbnNldCI6eyJAZGVmYXVsdHMgcmluZy13aWR0aCI6e30sIi0tdHctcmluZy1pbnNldCI6Imluc2V0In19KX0scmluZ0NvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe3Jpbmc6aT0+dCgicmluZ09wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiLS10dy1yaW5nLWNvbG9yIix2YXJpYWJsZToiLS10dy1yaW5nLW9wYWNpdHkifSk6eyItLXR3LXJpbmctY29sb3IiOlgoaSl9fSx7dmFsdWVzOk9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh4ZShlKCJyaW5nQ29sb3IiKSkpLmZpbHRlcigoW2ldKT0+aSE9PSJERUZBVUxUIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LHJpbmdPcGFjaXR5OnI9PntsZXR7Y29uZmlnOmV9PXI7cmV0dXJuIEwoInJpbmdPcGFjaXR5IixbWyJyaW5nLW9wYWNpdHkiLFsiLS10dy1yaW5nLW9wYWNpdHkiXV1dLHtmaWx0ZXJEZWZhdWx0OiF3ZShlKCksInJlc3BlY3REZWZhdWx0UmluZ0NvbG9yT3BhY2l0eSIpfSkocil9LHJpbmdPZmZzZXRXaWR0aDpMKCJyaW5nT2Zmc2V0V2lkdGgiLFtbInJpbmctb2Zmc2V0IixbIi0tdHctcmluZy1vZmZzZXQtd2lkdGgiXV1dLHt0eXBlOiJsZW5ndGgifSkscmluZ09mZnNldENvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsicmluZy1vZmZzZXQiOnQ9Pih7Ii0tdHctcmluZy1vZmZzZXQtY29sb3IiOlgodCl9KX0se3ZhbHVlczp4ZShlKCJyaW5nT2Zmc2V0Q29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYmx1cjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Ymx1cjp0PT4oeyItLXR3LWJsdXIiOnQudHJpbSgpPT09IiI/IiAiOmBibHVyKCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiYmx1ciIpfSl9LGJyaWdodG5lc3M6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2JyaWdodG5lc3M6dD0+KHsiLS10dy1icmlnaHRuZXNzIjpgYnJpZ2h0bmVzcygke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImJyaWdodG5lc3MiKX0pfSxjb250cmFzdDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Y29udHJhc3Q6dD0+KHsiLS10dy1jb250cmFzdCI6YGNvbnRyYXN0KCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiY29udHJhc3QiKX0pfSxkcm9wU2hhZG93Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiZHJvcC1zaGFkb3ciOnQ9Pih7Ii0tdHctZHJvcC1zaGFkb3ciOkFycmF5LmlzQXJyYXkodCk/dC5tYXAoaT0+YGRyb3Atc2hhZG93KCR7aX0pYCkuam9pbigiICIpOmBkcm9wLXNoYWRvdygke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImRyb3BTaGFkb3ciKX0pfSxncmF5c2NhbGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2dyYXlzY2FsZTp0PT4oeyItLXR3LWdyYXlzY2FsZSI6YGdyYXlzY2FsZSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImdyYXlzY2FsZSIpfSl9LGh1ZVJvdGF0ZTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Imh1ZS1yb3RhdGUiOnQ9Pih7Ii0tdHctaHVlLXJvdGF0ZSI6YGh1ZS1yb3RhdGUoJHt0fSlgLCJAZGVmYXVsdHMgZmlsdGVyIjp7fSxmaWx0ZXI6bnR9KX0se3ZhbHVlczplKCJodWVSb3RhdGUiKSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSl9LGludmVydDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7aW52ZXJ0OnQ9Pih7Ii0tdHctaW52ZXJ0IjpgaW52ZXJ0KCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiaW52ZXJ0Iil9KX0sc2F0dXJhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe3NhdHVyYXRlOnQ9Pih7Ii0tdHctc2F0dXJhdGUiOmBzYXR1cmF0ZSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoInNhdHVyYXRlIil9KX0sc2VwaWE6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe3NlcGlhOnQ9Pih7Ii0tdHctc2VwaWEiOmBzZXBpYSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoInNlcGlhIil9KX0sZmlsdGVyOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57cigiZmlsdGVyIix7Ii0tdHctYmx1ciI6IiAiLCItLXR3LWJyaWdodG5lc3MiOiIgIiwiLS10dy1jb250cmFzdCI6IiAiLCItLXR3LWdyYXlzY2FsZSI6IiAiLCItLXR3LWh1ZS1yb3RhdGUiOiIgIiwiLS10dy1pbnZlcnQiOiIgIiwiLS10dy1zYXR1cmF0ZSI6IiAiLCItLXR3LXNlcGlhIjoiICIsIi0tdHctZHJvcC1zaGFkb3ciOiIgIn0pLGUoeyIuZmlsdGVyIjp7IkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0sIi5maWx0ZXItbm9uZSI6e2ZpbHRlcjoibm9uZSJ9fSl9LGJhY2tkcm9wQmx1cjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ImJhY2tkcm9wLWJsdXIiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtYmx1ciI6dC50cmltKCk9PT0iIj8iICI6YGJsdXIoJHt0fSlgLCJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSl9LHt2YWx1ZXM6ZSgiYmFja2Ryb3BCbHVyIil9KX0sYmFja2Ryb3BCcmlnaHRuZXNzOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3AtYnJpZ2h0bmVzcyI6dD0+KHsiLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzIjpgYnJpZ2h0bmVzcygke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcEJyaWdodG5lc3MiKX0pfSxiYWNrZHJvcENvbnRyYXN0Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3AtY29udHJhc3QiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtY29udHJhc3QiOmBjb250cmFzdCgke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcENvbnRyYXN0Iil9KX0sYmFja2Ryb3BHcmF5c2NhbGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1ncmF5c2NhbGUiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIjpgZ3JheXNjYWxlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wR3JheXNjYWxlIil9KX0sYmFja2Ryb3BIdWVSb3RhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1odWUtcm90YXRlIjp0PT4oeyItLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUiOmBodWUtcm90YXRlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wSHVlUm90YXRlIiksc3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pfSxiYWNrZHJvcEludmVydDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ImJhY2tkcm9wLWludmVydCI6dD0+KHsiLS10dy1iYWNrZHJvcC1pbnZlcnQiOmBpbnZlcnQoJHt0fSlgLCJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSl9LHt2YWx1ZXM6ZSgiYmFja2Ryb3BJbnZlcnQiKX0pfSxiYWNrZHJvcE9wYWNpdHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1vcGFjaXR5Ijp0PT4oeyItLXR3LWJhY2tkcm9wLW9wYWNpdHkiOmBvcGFjaXR5KCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wT3BhY2l0eSIpfSl9LGJhY2tkcm9wU2F0dXJhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1zYXR1cmF0ZSI6dD0+KHsiLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSI6YHNhdHVyYXRlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wU2F0dXJhdGUiKX0pfSxiYWNrZHJvcFNlcGlhOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3Atc2VwaWEiOnQ9Pih7Ii0tdHctYmFja2Ryb3Atc2VwaWEiOmBzZXBpYSgke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcFNlcGlhIil9KX0sYmFja2Ryb3BGaWx0ZXI6KHthZGREZWZhdWx0czpyLGFkZFV0aWxpdGllczplfSk9PntyKCJiYWNrZHJvcC1maWx0ZXIiLHsiLS10dy1iYWNrZHJvcC1ibHVyIjoiICIsIi0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcyI6IiAiLCItLXR3LWJhY2tkcm9wLWNvbnRyYXN0IjoiICIsIi0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIjoiICIsIi0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSI6IiAiLCItLXR3LWJhY2tkcm9wLWludmVydCI6IiAiLCItLXR3LWJhY2tkcm9wLW9wYWNpdHkiOiIgIiwiLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSI6IiAiLCItLXR3LWJhY2tkcm9wLXNlcGlhIjoiICJ9KSxlKHsiLmJhY2tkcm9wLWZpbHRlciI6eyJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSwiLmJhY2tkcm9wLWZpbHRlci1ub25lIjp7Ii13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjoibm9uZSIsImJhY2tkcm9wLWZpbHRlciI6Im5vbmUifX0pfSx0cmFuc2l0aW9uUHJvcGVydHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e2xldCB0PWUoInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbi5ERUZBVUxUIiksaT1lKCJ0cmFuc2l0aW9uRHVyYXRpb24uREVGQVVMVCIpO3Ioe3RyYW5zaXRpb246bj0+KHsidHJhbnNpdGlvbi1wcm9wZXJ0eSI6biwuLi5uPT09Im5vbmUiP3t9OnsidHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iOnQsInRyYW5zaXRpb24tZHVyYXRpb24iOml9fSl9LHt2YWx1ZXM6ZSgidHJhbnNpdGlvblByb3BlcnR5Iil9KX0sdHJhbnNpdGlvbkRlbGF5OkwoInRyYW5zaXRpb25EZWxheSIsW1siZGVsYXkiLFsidHJhbnNpdGlvbkRlbGF5Il1dXSksdHJhbnNpdGlvbkR1cmF0aW9uOkwoInRyYW5zaXRpb25EdXJhdGlvbiIsW1siZHVyYXRpb24iLFsidHJhbnNpdGlvbkR1cmF0aW9uIl1dXSx7ZmlsdGVyRGVmYXVsdDohMH0pLHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjpMKCJ0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24iLFtbImVhc2UiLFsidHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uIl1dXSx7ZmlsdGVyRGVmYXVsdDohMH0pLHdpbGxDaGFuZ2U6TCgid2lsbENoYW5nZSIsW1sid2lsbC1jaGFuZ2UiLFsid2lsbC1jaGFuZ2UiXV1dKSxjb250YWluOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57bGV0IHQ9InZhcigtLXR3LWNvbnRhaW4tc2l6ZSkgdmFyKC0tdHctY29udGFpbi1sYXlvdXQpIHZhcigtLXR3LWNvbnRhaW4tcGFpbnQpIHZhcigtLXR3LWNvbnRhaW4tc3R5bGUpIjtyKCJjb250YWluIix7Ii0tdHctY29udGFpbi1zaXplIjoiICIsIi0tdHctY29udGFpbi1sYXlvdXQiOiIgIiwiLS10dy1jb250YWluLXBhaW50IjoiICIsIi0tdHctY29udGFpbi1zdHlsZSI6IiAifSksZSh7Ii5jb250YWluLW5vbmUiOntjb250YWluOiJub25lIn0sIi5jb250YWluLWNvbnRlbnQiOntjb250YWluOiJjb250ZW50In0sIi5jb250YWluLXN0cmljdCI6e2NvbnRhaW46InN0cmljdCJ9LCIuY29udGFpbi1zaXplIjp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXNpemUiOiJzaXplIixjb250YWluOnR9LCIuY29udGFpbi1pbmxpbmUtc2l6ZSI6eyJAZGVmYXVsdHMgY29udGFpbiI6e30sIi0tdHctY29udGFpbi1zaXplIjoiaW5saW5lLXNpemUiLGNvbnRhaW46dH0sIi5jb250YWluLWxheW91dCI6eyJAZGVmYXVsdHMgY29udGFpbiI6e30sIi0tdHctY29udGFpbi1sYXlvdXQiOiJsYXlvdXQiLGNvbnRhaW46dH0sIi5jb250YWluLXBhaW50Ijp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXBhaW50IjoicGFpbnQiLGNvbnRhaW46dH0sIi5jb250YWluLXN0eWxlIjp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXN0eWxlIjoic3R5bGUiLGNvbnRhaW46dH19KX0sY29udGVudDpMKCJjb250ZW50IixbWyJjb250ZW50IixbIi0tdHctY29udGVudCIsWyJjb250ZW50IiwidmFyKC0tdHctY29udGVudCkiXV1dXSksZm9yY2VkQ29sb3JBZGp1c3Q6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5mb3JjZWQtY29sb3ItYWRqdXN0LWF1dG8iOnsiZm9yY2VkLWNvbG9yLWFkanVzdCI6ImF1dG8ifSwiLmZvcmNlZC1jb2xvci1hZGp1c3Qtbm9uZSI6eyJmb3JjZWQtY29sb3ItYWRqdXN0Ijoibm9uZSJ9fSl9fX0pO2Z1bmN0aW9uIGhfKHIpe2lmKHI9PT12b2lkIDApcmV0dXJuITE7aWYocj09PSJ0cnVlInx8cj09PSIxIilyZXR1cm4hMDtpZihyPT09ImZhbHNlInx8cj09PSIwIilyZXR1cm4hMTtpZihyPT09IioiKXJldHVybiEwO2xldCBlPXIuc3BsaXQoIiwiKS5tYXAodD0+dC5zcGxpdCgiOiIpWzBdKTtyZXR1cm4gZS5pbmNsdWRlcygiLXRhaWx3aW5kY3NzIik/ITE6ISFlLmluY2x1ZGVzKCJ0YWlsd2luZGNzcyIpfXZhciBaZSx3aCx2aCxlcyxObyxndCxUaSxJdD1QKCgpPT57dSgpO1plPXR5cGVvZiBtIT0idW5kZWZpbmVkIj97Tk9ERV9FTlY6InByb2R1Y3Rpb24iLERFQlVHOmhfKG0uZW52LkRFQlVHKX06e05PREVfRU5WOiJwcm9kdWN0aW9uIixERUJVRzohMX0sd2g9bmV3IE1hcCx2aD1uZXcgTWFwLGVzPW5ldyBNYXAsTm89bmV3IE1hcCxndD1uZXcgU3RyaW5nKCIqIiksVGk9U3ltYm9sKCJfX05PTkVfXyIpfSk7ZnVuY3Rpb24gY3Iocil7bGV0IGU9W10sdD0hMTtmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl7bGV0IG49cltpXTtpZihuPT09IjoiJiYhdCYmZS5sZW5ndGg9PT0wKXJldHVybiExO2lmKG1fLmhhcyhuKSYmcltpLTFdIT09IlxcIiYmKHQ9IXQpLCF0JiZyW2ktMV0hPT0iXFwiKXtpZih4aC5oYXMobikpZS5wdXNoKG4pO2Vsc2UgaWYoa2guaGFzKG4pKXtsZXQgcz1raC5nZXQobik7aWYoZS5sZW5ndGg8PTB8fGUucG9wKCkhPT1zKXJldHVybiExfX19cmV0dXJuIShlLmxlbmd0aD4wKX12YXIgeGgsa2gsbV8sQm89UCgoKT0+e3UoKTt4aD1uZXcgTWFwKFtbInsiLCJ9Il0sWyJbIiwiXSJdLFsiKCIsIikiXV0pLGtoPW5ldyBNYXAoQXJyYXkuZnJvbSh4aC5lbnRyaWVzKCkpLm1hcCgoW3IsZV0pPT5bZSxyXSkpLG1fPW5ldyBTZXQoWyciJywiJyIsImAiXSl9KTtmdW5jdGlvbiBwcihyKXtsZXRbZV09U2gocik7cmV0dXJuIGUuZm9yRWFjaCgoW3QsaV0pPT50LnJlbW92ZUNoaWxkKGkpKSxyLm5vZGVzLnB1c2goLi4uZS5tYXAoKFssdF0pPT50KSkscn1mdW5jdGlvbiBTaChyKXtsZXQgZT1bXSx0PW51bGw7Zm9yKGxldCBpIG9mIHIubm9kZXMpaWYoaS50eXBlPT09ImNvbWJpbmF0b3IiKWU9ZS5maWx0ZXIoKFssbl0pPT5qbyhuKS5pbmNsdWRlcygianVtcGFibGUiKSksdD1udWxsO2Vsc2UgaWYoaS50eXBlPT09InBzZXVkbyIpe2dfKGkpPyh0PWksZS5wdXNoKFtyLGksbnVsbF0pKTp0JiZ5XyhpLHQpP2UucHVzaChbcixpLHRdKTp0PW51bGw7Zm9yKGxldCBuIG9mIGkubm9kZXM/P1tdKXtsZXRbcyxhXT1TaChuKTt0PWF8fHQsZS5wdXNoKC4uLnMpfX1yZXR1cm5bZSx0XX1mdW5jdGlvbiBBaChyKXtyZXR1cm4gci52YWx1ZS5zdGFydHNXaXRoKCI6OiIpfHxGb1tyLnZhbHVlXSE9PXZvaWQgMH1mdW5jdGlvbiBnXyhyKXtyZXR1cm4gQWgocikmJmpvKHIpLmluY2x1ZGVzKCJ0ZXJtaW5hbCIpfWZ1bmN0aW9uIHlfKHIsZSl7cmV0dXJuIHIudHlwZSE9PSJwc2V1ZG8ifHxBaChyKT8hMTpqbyhlKS5pbmNsdWRlcygiYWN0aW9uYWJsZSIpfWZ1bmN0aW9uIGpvKHIpe3JldHVybiBGb1tyLnZhbHVlXT8/Rm8uX19kZWZhdWx0X199dmFyIEZvLHRzPVAoKCk9Pnt1KCk7Rm89eyI6OmFmdGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpiYWNrZHJvcCI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjo6YmVmb3JlIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpjdWUiOlsidGVybWluYWwiXSwiOjpjdWUtcmVnaW9uIjpbInRlcm1pbmFsIl0sIjo6Zmlyc3QtbGV0dGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpmaXJzdC1saW5lIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpncmFtbWFyLWVycm9yIjpbInRlcm1pbmFsIl0sIjo6bWFya2VyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpwYXJ0IjpbInRlcm1pbmFsIiwiYWN0aW9uYWJsZSJdLCI6OnBsYWNlaG9sZGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpzZWxlY3Rpb24iOlsidGVybWluYWwiLCJqdW1wYWJsZSJdLCI6OnNsb3R0ZWQiOlsidGVybWluYWwiXSwiOjpzcGVsbGluZy1lcnJvciI6WyJ0ZXJtaW5hbCJdLCI6OnRhcmdldC10ZXh0IjpbInRlcm1pbmFsIl0sIjo6ZmlsZS1zZWxlY3Rvci1idXR0b24iOlsidGVybWluYWwiLCJhY3Rpb25hYmxlIl0sIjo6ZGVlcCI6WyJhY3Rpb25hYmxlIl0sIjo6di1kZWVwIjpbImFjdGlvbmFibGUiXSwiOjpuZy1kZWVwIjpbImFjdGlvbmFibGUiXSwiOmFmdGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOmJlZm9yZSI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjpmaXJzdC1sZXR0ZXIiOlsidGVybWluYWwiLCJqdW1wYWJsZSJdLCI6Zmlyc3QtbGluZSI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjp3aGVyZSI6W10sIjppcyI6W10sIjpoYXMiOltdLF9fZGVmYXVsdF9fOlsidGVybWluYWwiLCJhY3Rpb25hYmxlIl19fSk7ZnVuY3Rpb24gZHIocix7Y29udGV4dDplLGNhbmRpZGF0ZTp0fSl7bGV0IGk9ZT8udGFpbHdpbmRDb25maWcucHJlZml4Pz8iIixuPXIubWFwKGE9PntsZXQgbz0oMCxzdC5kZWZhdWx0KSgpLmFzdFN5bmMoYS5mb3JtYXQpO3JldHVybnsuLi5hLGFzdDphLnJlc3BlY3RQcmVmaXg/dXIoaSxvKTpvfX0pLHM9c3QuZGVmYXVsdC5yb290KHtub2Rlczpbc3QuZGVmYXVsdC5zZWxlY3Rvcih7bm9kZXM6W3N0LmRlZmF1bHQuY2xhc3NOYW1lKHt2YWx1ZTpUZSh0KX0pXX0pXX0pO2ZvcihsZXR7YXN0OmF9b2YgbilbcyxhXT13XyhzLGEpLGEud2Fsa05lc3Rpbmcobz0+by5yZXBsYWNlV2l0aCguLi5zLm5vZGVzWzBdLm5vZGVzKSkscz1hO3JldHVybiBzfWZ1bmN0aW9uIF9oKHIpe2xldCBlPVtdO2Zvcig7ci5wcmV2KCkmJnIucHJldigpLnR5cGUhPT0iY29tYmluYXRvciI7KXI9ci5wcmV2KCk7Zm9yKDtyJiZyLnR5cGUhPT0iY29tYmluYXRvciI7KWUucHVzaChyKSxyPXIubmV4dCgpO3JldHVybiBlfWZ1bmN0aW9uIGJfKHIpe3JldHVybiByLnNvcnQoKGUsdCk9PmUudHlwZT09PSJ0YWciJiZ0LnR5cGU9PT0iY2xhc3MiPy0xOmUudHlwZT09PSJjbGFzcyImJnQudHlwZT09PSJ0YWciPzE6ZS50eXBlPT09ImNsYXNzIiYmdC50eXBlPT09InBzZXVkbyImJnQudmFsdWUuc3RhcnRzV2l0aCgiOjoiKT8tMTplLnR5cGU9PT0icHNldWRvIiYmZS52YWx1ZS5zdGFydHNXaXRoKCI6OiIpJiZ0LnR5cGU9PT0iY2xhc3MiPzE6ci5pbmRleChlKS1yLmluZGV4KHQpKSxyfWZ1bmN0aW9uIFVvKHIsZSl7bGV0IHQ9ITE7ci53YWxrKGk9PntpZihpLnR5cGU9PT0iY2xhc3MiJiZpLnZhbHVlPT09ZSlyZXR1cm4gdD0hMCwhMX0pLHR8fHIucmVtb3ZlKCl9ZnVuY3Rpb24gcnMocixlLHtjb250ZXh0OnQsY2FuZGlkYXRlOmksYmFzZTpufSl7bGV0IHM9dD8udGFpbHdpbmRDb25maWc/LnNlcGFyYXRvcj8/IjoiO249bj8/dmUoaSxzKS5wb3AoKTtsZXQgYT0oMCxzdC5kZWZhdWx0KSgpLmFzdFN5bmMocik7aWYoYS53YWxrQ2xhc3NlcyhmPT57Zi5yYXdzJiZmLnZhbHVlLmluY2x1ZGVzKG4pJiYoZi5yYXdzLnZhbHVlPVRlKCgwLENoLmRlZmF1bHQpKGYucmF3cy52YWx1ZSkpKX0pLGEuZWFjaChmPT5VbyhmLG4pKSxhLmxlbmd0aD09PTApcmV0dXJuIG51bGw7bGV0IG89QXJyYXkuaXNBcnJheShlKT9kcihlLHtjb250ZXh0OnQsY2FuZGlkYXRlOml9KTplO2lmKG89PT1udWxsKXJldHVybiBhLnRvU3RyaW5nKCk7bGV0IGw9c3QuZGVmYXVsdC5jb21tZW50KHt2YWx1ZToiLypfX3NpbXBsZV9fKi8ifSksYz1zdC5kZWZhdWx0LmNvbW1lbnQoe3ZhbHVlOiIvKl9fc2ltcGxlX18qLyJ9KTtyZXR1cm4gYS53YWxrQ2xhc3NlcyhmPT57aWYoZi52YWx1ZSE9PW4pcmV0dXJuO2xldCBkPWYucGFyZW50LHA9by5ub2Rlc1swXS5ub2RlcztpZihkLm5vZGVzLmxlbmd0aD09PTEpe2YucmVwbGFjZVdpdGgoLi4ucCk7cmV0dXJufWxldCBoPV9oKGYpO2QuaW5zZXJ0QmVmb3JlKGhbMF0sbCksZC5pbnNlcnRBZnRlcihoW2gubGVuZ3RoLTFdLGMpO2ZvcihsZXQgdiBvZiBwKWQuaW5zZXJ0QmVmb3JlKGhbMF0sdi5jbG9uZSgpKTtmLnJlbW92ZSgpLGg9X2gobCk7bGV0IGI9ZC5pbmRleChsKTtkLm5vZGVzLnNwbGljZShiLGgubGVuZ3RoLC4uLmJfKHN0LmRlZmF1bHQuc2VsZWN0b3Ioe25vZGVzOmh9KSkubm9kZXMpLGwucmVtb3ZlKCksYy5yZW1vdmUoKX0pLGEud2Fsa1BzZXVkb3MoZj0+e2YudmFsdWU9PT16byYmZi5yZXBsYWNlV2l0aChmLm5vZGVzKX0pLGEuZWFjaChmPT5wcihmKSksYS50b1N0cmluZygpfWZ1bmN0aW9uIHdfKHIsZSl7bGV0IHQ9W107cmV0dXJuIHIud2Fsa1BzZXVkb3MoaT0+e2kudmFsdWU9PT16byYmdC5wdXNoKHtwc2V1ZG86aSx2YWx1ZTppLm5vZGVzWzBdLnRvU3RyaW5nKCl9KX0pLGUud2Fsa1BzZXVkb3MoaT0+e2lmKGkudmFsdWUhPT16bylyZXR1cm47bGV0IG49aS5ub2Rlc1swXS50b1N0cmluZygpLHM9dC5maW5kKGM9PmMudmFsdWU9PT1uKTtpZighcylyZXR1cm47bGV0IGE9W10sbz1pLm5leHQoKTtmb3IoO28mJm8udHlwZSE9PSJjb21iaW5hdG9yIjspYS5wdXNoKG8pLG89by5uZXh0KCk7bGV0IGw9bztzLnBzZXVkby5wYXJlbnQuaW5zZXJ0QWZ0ZXIocy5wc2V1ZG8sc3QuZGVmYXVsdC5zZWxlY3Rvcih7bm9kZXM6YS5tYXAoYz0+Yy5jbG9uZSgpKX0pKSxpLnJlbW92ZSgpLGEuZm9yRWFjaChjPT5jLnJlbW92ZSgpKSxsJiZsLnR5cGU9PT0iY29tYmluYXRvciImJmwucmVtb3ZlKCl9KSxbcixlXX12YXIgc3QsQ2gsem8sVm89UCgoKT0+e3UoKTtzdD1wZShpdCgpKSxDaD1wZShQbigpKTtmcigpO0duKCk7dHMoKTt6dCgpO3pvPSI6bWVyZ2UifSk7ZnVuY3Rpb24gaXMocixlKXtsZXQgdD0oMCxIby5kZWZhdWx0KSgpLmFzdFN5bmMocik7cmV0dXJuIHQuZWFjaChpPT57aS5ub2Rlcy5zb21lKHM9PnMudHlwZT09PSJjb21iaW5hdG9yIikmJihpLm5vZGVzPVtIby5kZWZhdWx0LnBzZXVkbyh7dmFsdWU6IjppcyIsbm9kZXM6W2kuY2xvbmUoKV19KV0pLHByKGkpfSksYCR7ZX0gJHt0LnRvU3RyaW5nKCl9YH12YXIgSG8sV289UCgoKT0+e3UoKTtIbz1wZShpdCgpKTt0cygpfSk7ZnVuY3Rpb24gR28ocil7cmV0dXJuIHZfLnRyYW5zZm9ybVN5bmMocil9ZnVuY3Rpb24qeF8ocil7bGV0IGU9MS8wO2Zvcig7ZT49MDspe2xldCB0LGk9ITE7aWYoZT09PTEvMCYmci5lbmRzV2l0aCgiXSIpKXtsZXQgYT1yLmluZGV4T2YoIlsiKTtyW2EtMV09PT0iLSI/dD1hLTE6clthLTFdPT09Ii8iPyh0PWEtMSxpPSEwKTp0PS0xfWVsc2UgZT09PTEvMCYmci5pbmNsdWRlcygiLyIpPyh0PXIubGFzdEluZGV4T2YoIi8iKSxpPSEwKTp0PXIubGFzdEluZGV4T2YoIi0iLGUpO2lmKHQ8MClicmVhaztsZXQgbj1yLnNsaWNlKDAsdCkscz1yLnNsaWNlKGk/dDp0KzEpO2U9dC0xLCEobj09PSIifHxzPT09Ii8iKSYmKHlpZWxkW24sc10pfX1mdW5jdGlvbiBrXyhyLGUpe2lmKHIubGVuZ3RoPT09MHx8ZS50YWlsd2luZENvbmZpZy5wcmVmaXg9PT0iIilyZXR1cm4gcjtmb3IobGV0IHQgb2Ygcil7bGV0W2ldPXQ7aWYoaS5vcHRpb25zLnJlc3BlY3RQcmVmaXgpe2xldCBuPWVlLnJvb3Qoe25vZGVzOlt0WzFdLmNsb25lKCldfSkscz10WzFdLnJhd3MudGFpbHdpbmQuY2xhc3NDYW5kaWRhdGU7bi53YWxrUnVsZXMoYT0+e2xldCBvPXMuc3RhcnRzV2l0aCgiLSIpO2Euc2VsZWN0b3I9dXIoZS50YWlsd2luZENvbmZpZy5wcmVmaXgsYS5zZWxlY3RvcixvKX0pLHRbMV09bi5ub2Rlc1swXX19cmV0dXJuIHJ9ZnVuY3Rpb24gU18ocixlKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHI7bGV0IHQ9W107ZnVuY3Rpb24gaShuKXtyZXR1cm4gbi5wYXJlbnQmJm4ucGFyZW50LnR5cGU9PT0iYXRydWxlIiYmbi5wYXJlbnQubmFtZT09PSJrZXlmcmFtZXMifWZvcihsZXRbbixzXW9mIHIpe2xldCBhPWVlLnJvb3Qoe25vZGVzOltzLmNsb25lKCldfSk7YS53YWxrUnVsZXMobz0+e2lmKGkobykpcmV0dXJuO2xldCBsPSgwLG5zLmRlZmF1bHQpKCkuYXN0U3luYyhvLnNlbGVjdG9yKTtsLmVhY2goYz0+VW8oYyxlKSksUWYobCxjPT5jPT09ZT9gISR7Y31gOmMpLG8uc2VsZWN0b3I9bC50b1N0cmluZygpLG8ud2Fsa0RlY2xzKGM9PmMuaW1wb3J0YW50PSEwKX0pLHQucHVzaChbey4uLm4saW1wb3J0YW50OiEwfSxhLm5vZGVzWzBdXSl9cmV0dXJuIHR9ZnVuY3Rpb24gQV8ocixlLHQpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgaT17bW9kaWZpZXI6bnVsbCx2YWx1ZTpUaX07e2xldFtuLC4uLnNdPXZlKHIsIi8iKTtpZihzLmxlbmd0aD4xJiYobj1uKyIvIitzLnNsaWNlKDAsLTEpLmpvaW4oIi8iKSxzPXMuc2xpY2UoLTEpKSxzLmxlbmd0aCYmIXQudmFyaWFudE1hcC5oYXMocikmJihyPW4saS5tb2RpZmllcj1zWzBdLCF3ZSh0LnRhaWx3aW5kQ29uZmlnLCJnZW5lcmFsaXplZE1vZGlmaWVycyIpKSlyZXR1cm5bXX1pZihyLmVuZHNXaXRoKCJdIikmJiFyLnN0YXJ0c1dpdGgoIlsiKSl7bGV0IG49LyguKSgtPylcWyguKilcXS9nLmV4ZWMocik7aWYobil7bGV0WyxzLGEsb109bjtpZihzPT09IkAiJiZhPT09Ii0iKXJldHVybltdO2lmKHMhPT0iQCImJmE9PT0iIilyZXR1cm5bXTtyPXIucmVwbGFjZShgJHthfVske299XWAsIiIpLGkudmFsdWU9b319aWYoS28ocikmJiF0LnZhcmlhbnRNYXAuaGFzKHIpKXtsZXQgbj10Lm9mZnNldHMucmVjb3JkVmFyaWFudChyKSxzPUsoci5zbGljZSgxLC0xKSksYT12ZShzLCIsIik7aWYoYS5sZW5ndGg+MSlyZXR1cm5bXTtpZighYS5ldmVyeShscykpcmV0dXJuW107bGV0IG89YS5tYXAoKGwsYyk9Plt0Lm9mZnNldHMuYXBwbHlQYXJhbGxlbE9mZnNldChuLGMpLFJpKGwudHJpbSgpKV0pO3QudmFyaWFudE1hcC5zZXQocixvKX1pZih0LnZhcmlhbnRNYXAuaGFzKHIpKXtsZXQgbj1LbyhyKSxzPXQudmFyaWFudE9wdGlvbnMuZ2V0KHIpPy5bUHRdPz97fSxhPXQudmFyaWFudE1hcC5nZXQocikuc2xpY2UoKSxvPVtdLGw9KCgpPT4hKG58fHMucmVzcGVjdFByZWZpeD09PSExKSkoKTtmb3IobGV0W2MsZl1vZiBlKXtpZihjLmxheWVyPT09InVzZXIiKWNvbnRpbnVlO2xldCBkPWVlLnJvb3Qoe25vZGVzOltmLmNsb25lKCldfSk7Zm9yKGxldFtwLGgsYl1vZiBhKXtsZXQgdz1mdW5jdGlvbigpe3YucmF3cy5uZWVkZWRCYWNrdXB8fCh2LnJhd3MubmVlZGVkQmFja3VwPSEwLHYud2Fsa1J1bGVzKFQ9PlQucmF3cy5vcmlnaW5hbFNlbGVjdG9yPVQuc2VsZWN0b3IpKX0saz1mdW5jdGlvbihUKXtyZXR1cm4gdygpLHYuZWFjaChCPT57Qi50eXBlPT09InJ1bGUiJiYoQi5zZWxlY3RvcnM9Qi5zZWxlY3RvcnMubWFwKE49PlQoe2dldCBjbGFzc05hbWUoKXtyZXR1cm4gR28oTil9LHNlbGVjdG9yOk59KSkpfSksdn0sdj0oYj8/ZCkuY2xvbmUoKSx5PVtdLFM9aCh7Z2V0IGNvbnRhaW5lcigpe3JldHVybiB3KCksdn0sc2VwYXJhdG9yOnQudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLG1vZGlmeVNlbGVjdG9yczprLHdyYXAoVCl7bGV0IEI9di5ub2Rlczt2LnJlbW92ZUFsbCgpLFQuYXBwZW5kKEIpLHYuYXBwZW5kKFQpfSxmb3JtYXQoVCl7eS5wdXNoKHtmb3JtYXQ6VCxyZXNwZWN0UHJlZml4Omx9KX0sYXJnczppfSk7aWYoQXJyYXkuaXNBcnJheShTKSl7Zm9yKGxldFtULEJdb2YgUy5lbnRyaWVzKCkpYS5wdXNoKFt0Lm9mZnNldHMuYXBwbHlQYXJhbGxlbE9mZnNldChwLFQpLEIsdi5jbG9uZSgpXSk7Y29udGludWV9aWYodHlwZW9mIFM9PSJzdHJpbmciJiZ5LnB1c2goe2Zvcm1hdDpTLHJlc3BlY3RQcmVmaXg6bH0pLFM9PT1udWxsKWNvbnRpbnVlO3YucmF3cy5uZWVkZWRCYWNrdXAmJihkZWxldGUgdi5yYXdzLm5lZWRlZEJhY2t1cCx2LndhbGtSdWxlcyhUPT57bGV0IEI9VC5yYXdzLm9yaWdpbmFsU2VsZWN0b3I7aWYoIUJ8fChkZWxldGUgVC5yYXdzLm9yaWdpbmFsU2VsZWN0b3IsQj09PVQuc2VsZWN0b3IpKXJldHVybjtsZXQgTj1ULnNlbGVjdG9yLFI9KDAsbnMuZGVmYXVsdCkoRj0+e0Yud2Fsa0NsYXNzZXMoWT0+e1kudmFsdWU9YCR7cn0ke3QudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yfSR7WS52YWx1ZX1gfSl9KS5wcm9jZXNzU3luYyhCKTt5LnB1c2goe2Zvcm1hdDpOLnJlcGxhY2UoUiwiJiIpLHJlc3BlY3RQcmVmaXg6bH0pLFQuc2VsZWN0b3I9Qn0pKSx2Lm5vZGVzWzBdLnJhd3MudGFpbHdpbmQ9ey4uLnYubm9kZXNbMF0ucmF3cy50YWlsd2luZCxwYXJlbnRMYXllcjpjLmxheWVyfTtsZXQgRT1bey4uLmMsc29ydDp0Lm9mZnNldHMuYXBwbHlWYXJpYW50T2Zmc2V0KGMuc29ydCxwLE9iamVjdC5hc3NpZ24oaSx0LnZhcmlhbnRPcHRpb25zLmdldChyKSkpLGNvbGxlY3RlZEZvcm1hdHM6KGMuY29sbGVjdGVkRm9ybWF0cz8/W10pLmNvbmNhdCh5KX0sdi5ub2Rlc1swXV07by5wdXNoKEUpfX1yZXR1cm4gb31yZXR1cm5bXX1mdW5jdGlvbiBRbyhyLGUsdD17fSl7cmV0dXJuIWtlKHIpJiYhQXJyYXkuaXNBcnJheShyKT9bW3JdLHRdOkFycmF5LmlzQXJyYXkocik/UW8oclswXSxlLHJbMV0pOihlLmhhcyhyKXx8ZS5zZXQocixscihyKSksW2UuZ2V0KHIpLHRdKX1mdW5jdGlvbiBfXyhyKXtyZXR1cm4gQ18udGVzdChyKX1mdW5jdGlvbiBFXyhyKXtpZighci5pbmNsdWRlcygiOi8vIikpcmV0dXJuITE7dHJ5e2xldCBlPW5ldyBVUkwocik7cmV0dXJuIGUuc2NoZW1lIT09IiImJmUuaG9zdCE9PSIifWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBFaChyKXtsZXQgZT0hMDtyZXR1cm4gci53YWxrRGVjbHModD0+e2lmKCFPaCh0LnByb3AsdC52YWx1ZSkpcmV0dXJuIGU9ITEsITF9KSxlfWZ1bmN0aW9uIE9oKHIsZSl7aWYoRV8oYCR7cn06JHtlfWApKXJldHVybiExO3RyeXtyZXR1cm4gZWUucGFyc2UoYGF7JHtyfToke2V9fWApLnRvUmVzdWx0KCksITB9Y2F0Y2godCl7cmV0dXJuITF9fWZ1bmN0aW9uIE9fKHIsZSl7bGV0Wyx0LGldPXIubWF0Y2goL15cWyhbYS16QS1aMC05LV9dKyk6KFxTKylcXSQvKT8/W107aWYoaT09PXZvaWQgMHx8IV9fKHQpfHwhY3IoaSkpcmV0dXJuIG51bGw7bGV0IG49SyhpLHtwcm9wZXJ0eTp0fSk7cmV0dXJuIE9oKHQsbik/W1t7c29ydDplLm9mZnNldHMuYXJiaXRyYXJ5UHJvcGVydHkociksbGF5ZXI6InV0aWxpdGllcyIsb3B0aW9uczp7cmVzcGVjdEltcG9ydGFudDohMH19LCgpPT4oe1skbyhyKV06e1t0XTpufX0pXV06bnVsbH1mdW5jdGlvbipUXyhyLGUpe2UuY2FuZGlkYXRlUnVsZU1hcC5oYXMocikmJih5aWVsZFtlLmNhbmRpZGF0ZVJ1bGVNYXAuZ2V0KHIpLCJERUZBVUxUIl0pLHlpZWxkKmZ1bmN0aW9uKihvKXtvIT09bnVsbCYmKHlpZWxkW28sIkRFRkFVTFQiXSl9KE9fKHIsZSkpO2xldCB0PXIsaT0hMSxuPWUudGFpbHdpbmRDb25maWcucHJlZml4LHM9bi5sZW5ndGgsYT10LnN0YXJ0c1dpdGgobil8fHQuc3RhcnRzV2l0aChgLSR7bn1gKTt0W3NdPT09Ii0iJiZhJiYoaT0hMCx0PW4rdC5zbGljZShzKzEpKSxpJiZlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHQpJiYoeWllbGRbZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh0KSwiLURFRkFVTFQiXSk7Zm9yKGxldFtvLGxdb2YgeF8odCkpZS5jYW5kaWRhdGVSdWxlTWFwLmhhcyhvKSYmKHlpZWxkW2UuY2FuZGlkYXRlUnVsZU1hcC5nZXQobyksaT9gLSR7bH1gOmxdKX1mdW5jdGlvbiBSXyhyLGUpe3JldHVybiByPT09Z3Q/W2d0XTp2ZShyLGUpfWZ1bmN0aW9uKlBfKHIsZSl7Zm9yKGxldCB0IG9mIHIpdFsxXS5yYXdzLnRhaWx3aW5kPXsuLi50WzFdLnJhd3MudGFpbHdpbmQsY2xhc3NDYW5kaWRhdGU6ZSxwcmVzZXJ2ZVNvdXJjZTp0WzBdLm9wdGlvbnM/LnByZXNlcnZlU291cmNlPz8hMX0seWllbGQgdH1mdW5jdGlvbipZbyhyLGUpe2xldCB0PWUudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLFtpLC4uLm5dPVJfKHIsdCkucmV2ZXJzZSgpLHM9ITE7aS5zdGFydHNXaXRoKCIhIikmJihzPSEwLGk9aS5zbGljZSgxKSk7Zm9yKGxldCBhIG9mIFRfKGksZSkpe2xldCBvPVtdLGw9bmV3IE1hcCxbYyxmXT1hLGQ9Yy5sZW5ndGg9PT0xO2ZvcihsZXRbcCxoXW9mIGMpe2xldCBiPVtdO2lmKHR5cGVvZiBoPT0iZnVuY3Rpb24iKWZvcihsZXQgdiBvZltdLmNvbmNhdChoKGYse2lzT25seVBsdWdpbjpkfSkpKXtsZXRbeSx3XT1Rbyh2LGUucG9zdENzc05vZGVDYWNoZSk7Zm9yKGxldCBrIG9mIHkpYi5wdXNoKFt7Li4ucCxvcHRpb25zOnsuLi5wLm9wdGlvbnMsLi4ud319LGtdKX1lbHNlIGlmKGY9PT0iREVGQVVMVCJ8fGY9PT0iLURFRkFVTFQiKXtsZXQgdj1oLFt5LHddPVFvKHYsZS5wb3N0Q3NzTm9kZUNhY2hlKTtmb3IobGV0IGsgb2YgeSliLnB1c2goW3suLi5wLG9wdGlvbnM6ey4uLnAub3B0aW9ucywuLi53fX0sa10pfWlmKGIubGVuZ3RoPjApe2xldCB2PUFycmF5LmZyb20odGEocC5vcHRpb25zPy50eXBlcz8/W10sZixwLm9wdGlvbnM/P3t9LGUudGFpbHdpbmRDb25maWcpKS5tYXAoKFt5LHddKT0+dyk7di5sZW5ndGg+MCYmbC5zZXQoYix2KSxvLnB1c2goYil9fWlmKEtvKGYpKXtpZihvLmxlbmd0aD4xKXtsZXQgYj1mdW5jdGlvbih5KXtyZXR1cm4geS5sZW5ndGg9PT0xP3lbMF06eS5maW5kKHc9PntsZXQgaz1sLmdldCh3KTtyZXR1cm4gdy5zb21lKChbe29wdGlvbnM6U30sRV0pPT5FaChFKT9TLnR5cGVzLnNvbWUoKHt0eXBlOlQscHJlZmVyT25Db25mbGljdDpCfSk9PmsuaW5jbHVkZXMoVCkmJkIpOiExKX0pfSxbcCxoXT1vLnJlZHVjZSgoeSx3KT0+KHcuc29tZSgoW3tvcHRpb25zOlN9XSk9PlMudHlwZXMuc29tZSgoe3R5cGU6RX0pPT5FPT09ImFueSIpKT95WzBdLnB1c2godyk6eVsxXS5wdXNoKHcpLHkpLFtbXSxbXV0pLHY9YihoKT8/YihwKTtpZih2KW89W3ZdO2Vsc2V7bGV0IHk9by5tYXAoaz0+bmV3IFNldChbLi4ubC5nZXQoayk/P1tdXSkpO2ZvcihsZXQgayBvZiB5KWZvcihsZXQgUyBvZiBrKXtsZXQgRT0hMTtmb3IobGV0IFQgb2YgeSlrIT09VCYmVC5oYXMoUykmJihULmRlbGV0ZShTKSxFPSEwKTtFJiZrLmRlbGV0ZShTKX1sZXQgdz1bXTtmb3IobGV0W2ssU11vZiB5LmVudHJpZXMoKSlmb3IobGV0IEUgb2YgUyl7bGV0IFQ9b1trXS5tYXAoKFssQl0pPT5CKS5mbGF0KCkubWFwKEI9PkIudG9TdHJpbmcoKS5zcGxpdChgCmApLnNsaWNlKDEsLTEpLm1hcChOPT5OLnRyaW0oKSkubWFwKE49PmAgICAgICAke059YCkuam9pbihgCmApKS5qb2luKGAKCmApO3cucHVzaChgICBVc2UgXGAke3IucmVwbGFjZSgiWyIsYFske0V9OmApfVxgIGZvciBcYCR7VC50cmltKCl9XGBgKTticmVha31HLndhcm4oW2BUaGUgY2xhc3MgXGAke3J9XGAgaXMgYW1iaWd1b3VzIGFuZCBtYXRjaGVzIG11bHRpcGxlIHV0aWxpdGllcy5gLC4uLncsYElmIHRoaXMgaXMgY29udGVudCBhbmQgbm90IGEgY2xhc3MsIHJlcGxhY2UgaXQgd2l0aCBcYCR7ci5yZXBsYWNlKCJbIiwiJmxzcWI7IikucmVwbGFjZSgiXSIsIiZyc3FiOyIpfVxgIHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLmBdKTtjb250aW51ZX19bz1vLm1hcChwPT5wLmZpbHRlcihoPT5FaChoWzFdKSkpfW89by5mbGF0KCksbz1BcnJheS5mcm9tKFBfKG8saSkpLG89a18obyxlKSxzJiYobz1TXyhvLGkpKTtmb3IobGV0IHAgb2YgbilvPUFfKHAsbyxlKTtmb3IobGV0IHAgb2YgbylwWzFdLnJhd3MudGFpbHdpbmQ9ey4uLnBbMV0ucmF3cy50YWlsd2luZCxjYW5kaWRhdGU6cn0scD1JXyhwLHtjb250ZXh0OmUsY2FuZGlkYXRlOnJ9KSxwIT09bnVsbCYmKHlpZWxkIHApfX1mdW5jdGlvbiBJXyhyLHtjb250ZXh0OmUsY2FuZGlkYXRlOnR9KXtpZighclswXS5jb2xsZWN0ZWRGb3JtYXRzKXJldHVybiByO2xldCBpPSEwLG47dHJ5e249ZHIoclswXS5jb2xsZWN0ZWRGb3JtYXRzLHtjb250ZXh0OmUsY2FuZGlkYXRlOnR9KX1jYXRjaHtyZXR1cm4gbnVsbH1sZXQgcz1lZS5yb290KHtub2RlczpbclsxXS5jbG9uZSgpXX0pO3JldHVybiBzLndhbGtSdWxlcyhhPT57aWYoIXNzKGEpKXRyeXtsZXQgbz1ycyhhLnNlbGVjdG9yLG4se2NhbmRpZGF0ZTp0LGNvbnRleHQ6ZX0pO2lmKG89PT1udWxsKXthLnJlbW92ZSgpO3JldHVybn1hLnNlbGVjdG9yPW99Y2F0Y2h7cmV0dXJuIGk9ITEsITF9fSksIWl8fHMubm9kZXMubGVuZ3RoPT09MD9udWxsOihyWzFdPXMubm9kZXNbMF0scil9ZnVuY3Rpb24gc3Mocil7cmV0dXJuIHIucGFyZW50JiZyLnBhcmVudC50eXBlPT09ImF0cnVsZSImJnIucGFyZW50Lm5hbWU9PT0ia2V5ZnJhbWVzIn1mdW5jdGlvbiBEXyhyKXtpZihyPT09ITApcmV0dXJuIGU9PntzcyhlKXx8ZS53YWxrRGVjbHModD0+e3QucGFyZW50LnR5cGU9PT0icnVsZSImJiFzcyh0LnBhcmVudCkmJih0LmltcG9ydGFudD0hMCl9KX07aWYodHlwZW9mIHI9PSJzdHJpbmciKXJldHVybiBlPT57c3MoZSl8fChlLnNlbGVjdG9ycz1lLnNlbGVjdG9ycy5tYXAodD0+aXModCxyKSkpfX1mdW5jdGlvbiBhcyhyLGUsdD0hMSl7bGV0IGk9W10sbj1EXyhlLnRhaWx3aW5kQ29uZmlnLmltcG9ydGFudCk7Zm9yKGxldCBzIG9mIHIpe2lmKGUubm90Q2xhc3NDYWNoZS5oYXMocykpY29udGludWU7aWYoZS5jYW5kaWRhdGVSdWxlQ2FjaGUuaGFzKHMpKXtpPWkuY29uY2F0KEFycmF5LmZyb20oZS5jYW5kaWRhdGVSdWxlQ2FjaGUuZ2V0KHMpKSk7Y29udGludWV9bGV0IGE9QXJyYXkuZnJvbShZbyhzLGUpKTtpZihhLmxlbmd0aD09PTApe2Uubm90Q2xhc3NDYWNoZS5hZGQocyk7Y29udGludWV9ZS5jbGFzc0NhY2hlLnNldChzLGEpO2xldCBvPWUuY2FuZGlkYXRlUnVsZUNhY2hlLmdldChzKT8/bmV3IFNldDtlLmNhbmRpZGF0ZVJ1bGVDYWNoZS5zZXQocyxvKTtmb3IobGV0IGwgb2YgYSl7bGV0W3tzb3J0OmMsb3B0aW9uczpmfSxkXT1sO2lmKGYucmVzcGVjdEltcG9ydGFudCYmbil7bGV0IGg9ZWUucm9vdCh7bm9kZXM6W2QuY2xvbmUoKV19KTtoLndhbGtSdWxlcyhuKSxkPWgubm9kZXNbMF19bGV0IHA9W2MsdD9kLmNsb25lKCk6ZF07by5hZGQocCksZS5ydWxlQ2FjaGUuYWRkKHApLGkucHVzaChwKX19cmV0dXJuIGl9ZnVuY3Rpb24gS28ocil7cmV0dXJuIHIuc3RhcnRzV2l0aCgiWyIpJiZyLmVuZHNXaXRoKCJdIil9dmFyIG5zLHZfLENfLG9zPVAoKCk9Pnt1KCk7T3QoKTtucz1wZShpdCgpKTtxbygpO0t0KCk7R24oKTtGcigpO0JlKCk7SXQoKTtWbygpO0xvKCk7QnIoKTtPaSgpO0JvKCk7enQoKTtjdCgpO1dvKCk7dl89KDAsbnMuZGVmYXVsdCkocj0+ci5maXJzdC5maWx0ZXIoKHt0eXBlOmV9KT0+ZT09PSJjbGFzcyIpLnBvcCgpLnZhbHVlKTtDXz0vXlthLXpfLV0vfSk7dmFyIFRoLFJoPVAoKCk9Pnt1KCk7VGg9e319KTtmdW5jdGlvbiBxXyhyKXt0cnl7cmV0dXJuIFRoLmNyZWF0ZUhhc2goIm1kNSIpLnVwZGF0ZShyLCJ1dGYtOCIpLmRpZ2VzdCgiYmluYXJ5Iil9Y2F0Y2goZSl7cmV0dXJuIiJ9fWZ1bmN0aW9uIFBoKHIsZSl7bGV0IHQ9ZS50b1N0cmluZygpO2lmKCF0LmluY2x1ZGVzKCJAdGFpbHdpbmQiKSlyZXR1cm4hMTtsZXQgaT1Oby5nZXQociksbj1xXyh0KSxzPWkhPT1uO3JldHVybiBOby5zZXQocixuKSxzfXZhciBJaD1QKCgpPT57dSgpO1JoKCk7SXQoKX0pO2Z1bmN0aW9uIHVzKHIpe3JldHVybihyPjBuKS0ocjwwbil9dmFyIERoPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBxaChyLGUpe2xldCB0PTBuLGk9MG47Zm9yKGxldFtuLHNdb2YgZSlyJm4mJih0PXR8bixpPWl8cyk7cmV0dXJuIHImfnR8aX12YXIgJGg9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIExoKHIpe2xldCBlPW51bGw7Zm9yKGxldCB0IG9mIHIpZT1lPz90LGU9ZT50P2U6dDtyZXR1cm4gZX1mdW5jdGlvbiAkXyhyLGUpe2xldCB0PXIubGVuZ3RoLGk9ZS5sZW5ndGgsbj10PGk/dDppO2ZvcihsZXQgcz0wO3M8bjtzKyspe2xldCBhPXIuY2hhckNvZGVBdChzKS1lLmNoYXJDb2RlQXQocyk7aWYoYSE9PTApcmV0dXJuIGF9cmV0dXJuIHQtaX12YXIgWG8sTWg9UCgoKT0+e3UoKTtEaCgpOyRoKCk7WG89Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm9mZnNldHM9e2RlZmF1bHRzOjBuLGJhc2U6MG4sY29tcG9uZW50czowbix1dGlsaXRpZXM6MG4sdmFyaWFudHM6MG4sdXNlcjowbn0sdGhpcy5sYXllclBvc2l0aW9ucz17ZGVmYXVsdHM6MG4sYmFzZToxbixjb21wb25lbnRzOjJuLHV0aWxpdGllczozbix1c2VyOjRuLHZhcmlhbnRzOjVufSx0aGlzLnJlc2VydmVkVmFyaWFudEJpdHM9MG4sdGhpcy52YXJpYW50T2Zmc2V0cz1uZXcgTWFwfWNyZWF0ZShlKXtyZXR1cm57bGF5ZXI6ZSxwYXJlbnRMYXllcjplLGFyYml0cmFyeTowbix2YXJpYW50czowbixwYXJhbGxlbEluZGV4OjBuLGluZGV4OnRoaXMub2Zmc2V0c1tlXSsrLHByb3BlcnR5T2Zmc2V0OjBuLHByb3BlcnR5OiIiLG9wdGlvbnM6W119fWFyYml0cmFyeVByb3BlcnR5KGUpe3JldHVybnsuLi50aGlzLmNyZWF0ZSgidXRpbGl0aWVzIiksYXJiaXRyYXJ5OjFuLHByb3BlcnR5OmV9fWZvclZhcmlhbnQoZSx0PTApe2xldCBpPXRoaXMudmFyaWFudE9mZnNldHMuZ2V0KGUpO2lmKGk9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBvZmZzZXQgZm9yIHVua25vd24gdmFyaWFudCAke2V9YCk7cmV0dXJuey4uLnRoaXMuY3JlYXRlKCJ2YXJpYW50cyIpLHZhcmlhbnRzOmk8PEJpZ0ludCh0KX19YXBwbHlWYXJpYW50T2Zmc2V0KGUsdCxpKXtyZXR1cm4gaS52YXJpYW50PXQudmFyaWFudHMsey4uLmUsbGF5ZXI6InZhcmlhbnRzIixwYXJlbnRMYXllcjplLmxheWVyPT09InZhcmlhbnRzIj9lLnBhcmVudExheWVyOmUubGF5ZXIsdmFyaWFudHM6ZS52YXJpYW50c3x0LnZhcmlhbnRzLG9wdGlvbnM6aS5zb3J0P1tdLmNvbmNhdChpLGUub3B0aW9ucyk6ZS5vcHRpb25zLHBhcmFsbGVsSW5kZXg6TGgoW2UucGFyYWxsZWxJbmRleCx0LnBhcmFsbGVsSW5kZXhdKX19YXBwbHlQYXJhbGxlbE9mZnNldChlLHQpe3JldHVybnsuLi5lLHBhcmFsbGVsSW5kZXg6QmlnSW50KHQpfX1yZWNvcmRWYXJpYW50cyhlLHQpe2ZvcihsZXQgaSBvZiBlKXRoaXMucmVjb3JkVmFyaWFudChpLHQoaSkpfXJlY29yZFZhcmlhbnQoZSx0PTEpe3JldHVybiB0aGlzLnZhcmlhbnRPZmZzZXRzLnNldChlLDFuPDx0aGlzLnJlc2VydmVkVmFyaWFudEJpdHMpLHRoaXMucmVzZXJ2ZWRWYXJpYW50Qml0cys9QmlnSW50KHQpLHsuLi50aGlzLmNyZWF0ZSgidmFyaWFudHMiKSx2YXJpYW50czp0aGlzLnZhcmlhbnRPZmZzZXRzLmdldChlKX19Y29tcGFyZShlLHQpe2lmKGUubGF5ZXIhPT10LmxheWVyKXJldHVybiB0aGlzLmxheWVyUG9zaXRpb25zW2UubGF5ZXJdLXRoaXMubGF5ZXJQb3NpdGlvbnNbdC5sYXllcl07aWYoZS5wYXJlbnRMYXllciE9PXQucGFyZW50TGF5ZXIpcmV0dXJuIHRoaXMubGF5ZXJQb3NpdGlvbnNbZS5wYXJlbnRMYXllcl0tdGhpcy5sYXllclBvc2l0aW9uc1t0LnBhcmVudExheWVyXTtmb3IobGV0IGkgb2YgZS5vcHRpb25zKWZvcihsZXQgbiBvZiB0Lm9wdGlvbnMpe2lmKGkuaWQhPT1uLmlkfHwhaS5zb3J0fHwhbi5zb3J0KWNvbnRpbnVlO2xldCBzPUxoKFtpLnZhcmlhbnQsbi52YXJpYW50XSk/PzBuLGE9fihzfHMtMW4pLG89ZS52YXJpYW50cyZhLGw9dC52YXJpYW50cyZhO2lmKG8hPT1sKWNvbnRpbnVlO2xldCBjPWkuc29ydCh7dmFsdWU6aS52YWx1ZSxtb2RpZmllcjppLm1vZGlmaWVyfSx7dmFsdWU6bi52YWx1ZSxtb2RpZmllcjpuLm1vZGlmaWVyfSk7aWYoYyE9PTApcmV0dXJuIGN9cmV0dXJuIGUudmFyaWFudHMhPT10LnZhcmlhbnRzP2UudmFyaWFudHMtdC52YXJpYW50czplLnBhcmFsbGVsSW5kZXghPT10LnBhcmFsbGVsSW5kZXg/ZS5wYXJhbGxlbEluZGV4LXQucGFyYWxsZWxJbmRleDplLmFyYml0cmFyeSE9PXQuYXJiaXRyYXJ5P2UuYXJiaXRyYXJ5LXQuYXJiaXRyYXJ5OmUucHJvcGVydHlPZmZzZXQhPT10LnByb3BlcnR5T2Zmc2V0P2UucHJvcGVydHlPZmZzZXQtdC5wcm9wZXJ0eU9mZnNldDplLmluZGV4LXQuaW5kZXh9cmVjYWxjdWxhdGVWYXJpYW50T2Zmc2V0cygpe2xldCBlPUFycmF5LmZyb20odGhpcy52YXJpYW50T2Zmc2V0cy5lbnRyaWVzKCkpLmZpbHRlcigoW25dKT0+bi5zdGFydHNXaXRoKCJbIikpLnNvcnQoKFtuXSxbc10pPT4kXyhuLHMpKSx0PWUubWFwKChbLG5dKT0+bikuc29ydCgobixzKT0+dXMobi1zKSk7cmV0dXJuIGUubWFwKChbLG5dLHMpPT5bbix0W3NdXSkuZmlsdGVyKChbbixzXSk9Pm4hPT1zKX1yZW1hcEFyYml0cmFyeVZhcmlhbnRPZmZzZXRzKGUpe2xldCB0PXRoaXMucmVjYWxjdWxhdGVWYXJpYW50T2Zmc2V0cygpO3JldHVybiB0Lmxlbmd0aD09PTA/ZTplLm1hcChpPT57bGV0W24sc109aTtyZXR1cm4gbj17Li4ubix2YXJpYW50czpxaChuLnZhcmlhbnRzLHQpfSxbbixzXX0pfXNvcnRBcmJpdHJhcnlQcm9wZXJ0aWVzKGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldFthXW9mIGUpYS5hcmJpdHJhcnk9PT0xbiYmdC5hZGQoYS5wcm9wZXJ0eSk7aWYodC5zaXplPT09MClyZXR1cm4gZTtsZXQgaT1BcnJheS5mcm9tKHQpLnNvcnQoKSxuPW5ldyBNYXAscz0xbjtmb3IobGV0IGEgb2YgaSluLnNldChhLHMrKyk7cmV0dXJuIGUubWFwKGE9PntsZXRbbyxsXT1hO3JldHVybiBvPXsuLi5vLHByb3BlcnR5T2Zmc2V0Om4uZ2V0KG8ucHJvcGVydHkpPz8wbn0sW28sbF19KX1zb3J0KGUpe3JldHVybiBlPXRoaXMucmVtYXBBcmJpdHJhcnlWYXJpYW50T2Zmc2V0cyhlKSxlPXRoaXMuc29ydEFyYml0cmFyeVByb3BlcnRpZXMoZSksZS5zb3J0KChbdF0sW2ldKT0+dXModGhpcy5jb21wYXJlKHQsaSkpKX19fSk7ZnVuY3Rpb24gdGwocixlKXtsZXQgdD1yLnRhaWx3aW5kQ29uZmlnLnByZWZpeDtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0K2V9ZnVuY3Rpb24gQmgoe3R5cGU6cj0iYW55IiwuLi5lfSl7bGV0IHQ9W10uY29uY2F0KHIpO3JldHVybnsuLi5lLHR5cGVzOnQubWFwKGk9PkFycmF5LmlzQXJyYXkoaSk/e3R5cGU6aVswXSwuLi5pWzFdfTp7dHlwZTppLHByZWZlck9uQ29uZmxpY3Q6ITF9KX19ZnVuY3Rpb24gTF8ocil7bGV0IGU9W10sdD0iIixpPTA7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspe2xldCBzPXJbbl07aWYocz09PSJcXCIpdCs9IlxcIityWysrbl07ZWxzZSBpZihzPT09InsiKSsraSxlLnB1c2godC50cmltKCkpLHQ9IiI7ZWxzZSBpZihzPT09In0iKXtpZigtLWk8MCl0aHJvdyBuZXcgRXJyb3IoIllvdXIgeyBhbmQgfSBhcmUgdW5iYWxhbmNlZC4iKTtlLnB1c2godC50cmltKCkpLHQ9IiJ9ZWxzZSB0Kz1zfXJldHVybiB0Lmxlbmd0aD4wJiZlLnB1c2godC50cmltKCkpLGU9ZS5maWx0ZXIobj0+biE9PSIiKSxlfWZ1bmN0aW9uIE1fKHIsZSx7YmVmb3JlOnQ9W119PXt9KXtpZih0PVtdLmNvbmNhdCh0KSx0Lmxlbmd0aDw9MCl7ci5wdXNoKGUpO3JldHVybn1sZXQgaT1yLmxlbmd0aC0xO2ZvcihsZXQgbiBvZiB0KXtsZXQgcz1yLmluZGV4T2Yobik7cyE9PS0xJiYoaT1NYXRoLm1pbihpLHMpKX1yLnNwbGljZShpLDAsZSl9ZnVuY3Rpb24gRmgocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5mbGF0TWFwKGU9PiFBcnJheS5pc0FycmF5KGUpJiYha2UoZSk/ZTpscihlKSk6RmgoW3JdKX1mdW5jdGlvbiBOXyhyLGUpe3JldHVybigwLFpvLmRlZmF1bHQpKGk9PntsZXQgbj1bXTtyZXR1cm4gZSYmZShpKSxpLndhbGtDbGFzc2VzKHM9PntuLnB1c2gocy52YWx1ZSl9KSxufSkudHJhbnNmb3JtU3luYyhyKX1mdW5jdGlvbiBCXyhyKXtyLndhbGtQc2V1ZG9zKGU9PntlLnZhbHVlPT09Ijpub3QiJiZlLnJlbW92ZSgpfSl9ZnVuY3Rpb24gRl8ocixlPXtjb250YWluc05vbk9uRGVtYW5kYWJsZTohMX0sdD0wKXtsZXQgaT1bXSxuPVtdO3IudHlwZT09PSJydWxlIj9uLnB1c2goLi4uci5zZWxlY3RvcnMpOnIudHlwZT09PSJhdHJ1bGUiJiZyLndhbGtSdWxlcyhzPT5uLnB1c2goLi4ucy5zZWxlY3RvcnMpKTtmb3IobGV0IHMgb2Ygbil7bGV0IGE9Tl8ocyxCXyk7YS5sZW5ndGg9PT0wJiYoZS5jb250YWluc05vbk9uRGVtYW5kYWJsZT0hMCk7Zm9yKGxldCBvIG9mIGEpaS5wdXNoKG8pfXJldHVybiB0PT09MD9bZS5jb250YWluc05vbk9uRGVtYW5kYWJsZXx8aS5sZW5ndGg9PT0wLGldOml9ZnVuY3Rpb24gZnMocil7cmV0dXJuIEZoKHIpLmZsYXRNYXAoZT0+e2xldCB0PW5ldyBNYXAsW2ksbl09Rl8oZSk7cmV0dXJuIGkmJm4udW5zaGlmdChndCksbi5tYXAocz0+KHQuaGFzKGUpfHx0LnNldChlLGUpLFtzLHQuZ2V0KGUpXSkpfSl9ZnVuY3Rpb24gbHMocil7cmV0dXJuIHIuc3RhcnRzV2l0aCgiQCIpfHxyLmluY2x1ZGVzKCImIil9ZnVuY3Rpb24gUmkocil7cj1yLnJlcGxhY2UoL1xuKy9nLCIiKS5yZXBsYWNlKC9cc3sxLH0vZywiICIpLnRyaW0oKTtsZXQgZT1MXyhyKS5tYXAodD0+e2lmKCF0LnN0YXJ0c1dpdGgoIkAiKSlyZXR1cm4oe2Zvcm1hdDpzfSk9PnModCk7bGV0WyxpLG5dPS9AKFxTKikoIC4rfFsoe10uKik/L2cuZXhlYyh0KTtyZXR1cm4oe3dyYXA6c30pPT5zKGVlLmF0UnVsZSh7bmFtZTppLHBhcmFtczpuPy50cmltKCk/PyIifSkpfSkucmV2ZXJzZSgpO3JldHVybiB0PT57Zm9yKGxldCBpIG9mIGUpaSh0KX19ZnVuY3Rpb24gal8ocixlLHt2YXJpYW50TGlzdDp0LHZhcmlhbnRNYXA6aSxvZmZzZXRzOm4sY2xhc3NMaXN0OnN9KXtmdW5jdGlvbiBhKHAsaCl7cmV0dXJuIHA/KDAsTmguZGVmYXVsdCkocixwLGgpOnJ9ZnVuY3Rpb24gbyhwKXtyZXR1cm4gdXIoci5wcmVmaXgscCl9ZnVuY3Rpb24gbChwLGgpe3JldHVybiBwPT09Z3Q/Z3Q6aC5yZXNwZWN0UHJlZml4P2UudGFpbHdpbmRDb25maWcucHJlZml4K3A6cH1mdW5jdGlvbiBjKHAsaCxiPXt9KXtsZXQgdj1rdChwKSx5PWEoWyJ0aGVtZSIsLi4udl0saCk7cmV0dXJuIG10KHZbMF0pKHksYil9bGV0IGY9MCxkPXtwb3N0Y3NzOmVlLHByZWZpeDpvLGU6VGUsY29uZmlnOmEsdGhlbWU6Yyxjb3JlUGx1Z2luczpwPT5BcnJheS5pc0FycmF5KHIuY29yZVBsdWdpbnMpP3IuY29yZVBsdWdpbnMuaW5jbHVkZXMocCk6YShbImNvcmVQbHVnaW5zIixwXSwhMCksdmFyaWFudHM6KCk9PltdLGFkZEJhc2UocCl7Zm9yKGxldFtoLGJdb2YgZnMocCkpe2xldCB2PWwoaCx7fSkseT1uLmNyZWF0ZSgiYmFzZSIpO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModil8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodixbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh2KS5wdXNoKFt7c29ydDp5LGxheWVyOiJiYXNlIn0sYl0pfX0sYWRkRGVmYXVsdHMocCxoKXtsZXQgYj17W2BAZGVmYXVsdHMgJHtwfWBdOmh9O2ZvcihsZXRbdix5XW9mIGZzKGIpKXtsZXQgdz1sKHYse30pO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKFt7c29ydDpuLmNyZWF0ZSgiZGVmYXVsdHMiKSxsYXllcjoiZGVmYXVsdHMifSx5XSl9fSxhZGRDb21wb25lbnRzKHAsaCl7aD1PYmplY3QuYXNzaWduKHt9LHtwcmVzZXJ2ZVNvdXJjZTohMSxyZXNwZWN0UHJlZml4OiEwLHJlc3BlY3RJbXBvcnRhbnQ6ITF9LEFycmF5LmlzQXJyYXkoaCk/e306aCk7Zm9yKGxldFt2LHldb2YgZnMocCkpe2xldCB3PWwodixoKTtzLmFkZCh3KSxlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHcpfHxlLmNhbmRpZGF0ZVJ1bGVNYXAuc2V0KHcsW10pLGUuY2FuZGlkYXRlUnVsZU1hcC5nZXQodykucHVzaChbe3NvcnQ6bi5jcmVhdGUoImNvbXBvbmVudHMiKSxsYXllcjoiY29tcG9uZW50cyIsb3B0aW9uczpofSx5XSl9fSxhZGRVdGlsaXRpZXMocCxoKXtoPU9iamVjdC5hc3NpZ24oe30se3ByZXNlcnZlU291cmNlOiExLHJlc3BlY3RQcmVmaXg6ITAscmVzcGVjdEltcG9ydGFudDohMH0sQXJyYXkuaXNBcnJheShoKT97fTpoKTtmb3IobGV0W3YseV1vZiBmcyhwKSl7bGV0IHc9bCh2LGgpO3MuYWRkKHcpLGUuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKFt7c29ydDpuLmNyZWF0ZSgidXRpbGl0aWVzIiksbGF5ZXI6InV0aWxpdGllcyIsb3B0aW9uczpofSx5XSl9fSxtYXRjaFV0aWxpdGllczpmdW5jdGlvbihwLGgpe2g9Qmgoey4uLntyZXNwZWN0UHJlZml4OiEwLHJlc3BlY3RJbXBvcnRhbnQ6ITAsbW9kaWZpZXJzOiExfSwuLi5ofSk7bGV0IHY9bi5jcmVhdGUoInV0aWxpdGllcyIpO2ZvcihsZXQgeSBpbiBwKXtsZXQgUz1mdW5jdGlvbihULHtpc09ubHlQbHVnaW46Qn0pe2xldFtOLFIsRl09ZWEoaC50eXBlcyxULGgscik7aWYoTj09PXZvaWQgMClyZXR1cm5bXTtpZighaC50eXBlcy5zb21lKCh7dHlwZTpVfSk9PlU9PT1SKSlpZihCKUcud2FybihbYFVubmVjZXNzYXJ5IHR5cGVoaW50IFxgJHtSfVxgIGluIFxgJHt5fS0ke1R9XGAuYCxgWW91IGNhbiBzYWZlbHkgdXBkYXRlIGl0IHRvIFxgJHt5fS0ke1QucmVwbGFjZShSKyI6IiwiIil9XGAuYF0pO2Vsc2UgcmV0dXJuW107aWYoIWNyKE4pKXJldHVybltdO2xldCBZPXtnZXQgbW9kaWZpZXIoKXtyZXR1cm4gaC5tb2RpZmllcnN8fEcud2FybihgbW9kaWZpZXItdXNlZC13aXRob3V0LW9wdGlvbnMtZm9yLSR7eX1gLFsiWW91ciBwbHVnaW4gbXVzdCBzZXQgYG1vZGlmaWVyczogdHJ1ZWAgaW4gaXRzIG9wdGlvbnMgdG8gc3VwcG9ydCBtb2RpZmllcnMuIl0pLEZ9fSxfPXdlKHIsImdlbmVyYWxpemVkTW9kaWZpZXJzIik7cmV0dXJuW10uY29uY2F0KF8/ayhOLFkpOmsoTikpLmZpbHRlcihCb29sZWFuKS5tYXAoVT0+KHtbUW4oeSxUKV06VX0pKX0sdz1sKHksaCksaz1wW3ldO3MuYWRkKFt3LGhdKTtsZXQgRT1be3NvcnQ6dixsYXllcjoidXRpbGl0aWVzIixvcHRpb25zOmh9LFNdO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKEUpfX0sbWF0Y2hDb21wb25lbnRzOmZ1bmN0aW9uKHAsaCl7aD1CaCh7Li4ue3Jlc3BlY3RQcmVmaXg6ITAscmVzcGVjdEltcG9ydGFudDohMSxtb2RpZmllcnM6ITF9LC4uLmh9KTtsZXQgdj1uLmNyZWF0ZSgiY29tcG9uZW50cyIpO2ZvcihsZXQgeSBpbiBwKXtsZXQgUz1mdW5jdGlvbihULHtpc09ubHlQbHVnaW46Qn0pe2xldFtOLFIsRl09ZWEoaC50eXBlcyxULGgscik7aWYoTj09PXZvaWQgMClyZXR1cm5bXTtpZighaC50eXBlcy5zb21lKCh7dHlwZTpVfSk9PlU9PT1SKSlpZihCKUcud2FybihbYFVubmVjZXNzYXJ5IHR5cGVoaW50IFxgJHtSfVxgIGluIFxgJHt5fS0ke1R9XGAuYCxgWW91IGNhbiBzYWZlbHkgdXBkYXRlIGl0IHRvIFxgJHt5fS0ke1QucmVwbGFjZShSKyI6IiwiIil9XGAuYF0pO2Vsc2UgcmV0dXJuW107aWYoIWNyKE4pKXJldHVybltdO2xldCBZPXtnZXQgbW9kaWZpZXIoKXtyZXR1cm4gaC5tb2RpZmllcnN8fEcud2FybihgbW9kaWZpZXItdXNlZC13aXRob3V0LW9wdGlvbnMtZm9yLSR7eX1gLFsiWW91ciBwbHVnaW4gbXVzdCBzZXQgYG1vZGlmaWVyczogdHJ1ZWAgaW4gaXRzIG9wdGlvbnMgdG8gc3VwcG9ydCBtb2RpZmllcnMuIl0pLEZ9fSxfPXdlKHIsImdlbmVyYWxpemVkTW9kaWZpZXJzIik7cmV0dXJuW10uY29uY2F0KF8/ayhOLFkpOmsoTikpLmZpbHRlcihCb29sZWFuKS5tYXAoVT0+KHtbUW4oeSxUKV06VX0pKX0sdz1sKHksaCksaz1wW3ldO3MuYWRkKFt3LGhdKTtsZXQgRT1be3NvcnQ6dixsYXllcjoiY29tcG9uZW50cyIsb3B0aW9uczpofSxTXTtlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHcpfHxlLmNhbmRpZGF0ZVJ1bGVNYXAuc2V0KHcsW10pLGUuY2FuZGlkYXRlUnVsZU1hcC5nZXQodykucHVzaChFKX19LGFkZFZhcmlhbnQocCxoLGI9e30pe2g9W10uY29uY2F0KGgpLm1hcCh2PT57aWYodHlwZW9mIHYhPSJzdHJpbmciKXJldHVybih5PXt9KT0+e2xldHthcmdzOncsbW9kaWZ5U2VsZWN0b3JzOmssY29udGFpbmVyOlMsc2VwYXJhdG9yOkUsd3JhcDpULGZvcm1hdDpCfT15LE49dihPYmplY3QuYXNzaWduKHttb2RpZnlTZWxlY3RvcnM6ayxjb250YWluZXI6UyxzZXBhcmF0b3I6RX0sYi50eXBlPT09Sm8uTWF0Y2hWYXJpYW50JiZ7YXJnczp3LHdyYXA6VCxmb3JtYXQ6Qn0pKTtpZih0eXBlb2YgTj09InN0cmluZyImJiFscyhOKSl0aHJvdyBuZXcgRXJyb3IoYFlvdXIgY3VzdG9tIHZhcmlhbnQgXGAke3B9XGAgaGFzIGFuIGludmFsaWQgZm9ybWF0IHN0cmluZy4gTWFrZSBzdXJlIGl0J3MgYW4gYXQtcnVsZSBvciBjb250YWlucyBhIFxgJlxgIHBsYWNlaG9sZGVyLmApO3JldHVybiBBcnJheS5pc0FycmF5KE4pP04uZmlsdGVyKFI9PnR5cGVvZiBSPT0ic3RyaW5nIikubWFwKFI9PlJpKFIpKTpOJiZ0eXBlb2YgTj09InN0cmluZyImJlJpKE4pKHkpfTtpZighbHModikpdGhyb3cgbmV3IEVycm9yKGBZb3VyIGN1c3RvbSB2YXJpYW50IFxgJHtwfVxgIGhhcyBhbiBpbnZhbGlkIGZvcm1hdCBzdHJpbmcuIE1ha2Ugc3VyZSBpdCdzIGFuIGF0LXJ1bGUgb3IgY29udGFpbnMgYSBcYCZcYCBwbGFjZWhvbGRlci5gKTtyZXR1cm4gUmkodil9KSxNXyh0LHAsYiksaS5zZXQocCxoKSxlLnZhcmlhbnRPcHRpb25zLnNldChwLGIpfSxtYXRjaFZhcmlhbnQocCxoLGIpe2xldCB2PWI/LmlkPz8rK2YseT1wPT09IkAiLHc9d2UociwiZ2VuZXJhbGl6ZWRNb2RpZmllcnMiKTtmb3IobGV0W1MsRV1vZiBPYmplY3QuZW50cmllcyhiPy52YWx1ZXM/P3t9KSlTIT09IkRFRkFVTFQiJiZkLmFkZFZhcmlhbnQoeT9gJHtwfSR7U31gOmAke3B9LSR7U31gLCh7YXJnczpULGNvbnRhaW5lcjpCfSk9PmgoRSx3P3ttb2RpZmllcjpUPy5tb2RpZmllcixjb250YWluZXI6Qn06e2NvbnRhaW5lcjpCfSksey4uLmIsdmFsdWU6RSxpZDp2LHR5cGU6Sm8uTWF0Y2hWYXJpYW50LHZhcmlhbnRJbmZvOmVsLkJhc2V9KTtsZXQgaz0iREVGQVVMVCJpbihiPy52YWx1ZXM/P3t9KTtkLmFkZFZhcmlhbnQocCwoe2FyZ3M6Uyxjb250YWluZXI6RX0pPT5TPy52YWx1ZT09PVRpJiYhaz9udWxsOmgoUz8udmFsdWU9PT1UaT9iLnZhbHVlcy5ERUZBVUxUOlM/LnZhbHVlPz8odHlwZW9mIFM9PSJzdHJpbmciP1M6IiIpLHc/e21vZGlmaWVyOlM/Lm1vZGlmaWVyLGNvbnRhaW5lcjpFfTp7Y29udGFpbmVyOkV9KSx7Li4uYixpZDp2LHR5cGU6Sm8uTWF0Y2hWYXJpYW50LHZhcmlhbnRJbmZvOmVsLkR5bmFtaWN9KX19O3JldHVybiBkfWZ1bmN0aW9uIGNzKHIpe3JldHVybiBybC5oYXMocil8fHJsLnNldChyLG5ldyBNYXApLHJsLmdldChyKX1mdW5jdGlvbiBqaChyLGUpe2xldCB0PSExLGk9bmV3IE1hcDtmb3IobGV0IG4gb2Ygcil7aWYoIW4pY29udGludWU7bGV0IHM9b2EucGFyc2UobiksYT1zLmhhc2g/cy5ocmVmLnJlcGxhY2Uocy5oYXNoLCIiKTpzLmhyZWY7YT1zLnNlYXJjaD9hLnJlcGxhY2Uocy5zZWFyY2gsIiIpOmE7bGV0IG89YmUuc3RhdFN5bmMoZGVjb2RlVVJJQ29tcG9uZW50KGEpLHt0aHJvd0lmTm9FbnRyeTohMX0pPy5tdGltZU1zOyFvfHwoKCFlLmhhcyhuKXx8bz5lLmdldChuKSkmJih0PSEwKSxpLnNldChuLG8pKX1yZXR1cm5bdCxpXX1mdW5jdGlvbiB6aChyKXtyLndhbGtBdFJ1bGVzKGU9PntbInJlc3BvbnNpdmUiLCJ2YXJpYW50cyJdLmluY2x1ZGVzKGUubmFtZSkmJih6aChlKSxlLmJlZm9yZShlLm5vZGVzKSxlLnJlbW92ZSgpKX0pfWZ1bmN0aW9uIHpfKHIpe2xldCBlPVtdO3JldHVybiByLmVhY2godD0+e3QudHlwZT09PSJhdHJ1bGUiJiZbInJlc3BvbnNpdmUiLCJ2YXJpYW50cyJdLmluY2x1ZGVzKHQubmFtZSkmJih0Lm5hbWU9ImxheWVyIix0LnBhcmFtcz0idXRpbGl0aWVzIil9KSxyLndhbGtBdFJ1bGVzKCJsYXllciIsdD0+e2lmKHpoKHQpLHQucGFyYW1zPT09ImJhc2UiKXtmb3IobGV0IGkgb2YgdC5ub2RlcyllLnB1c2goZnVuY3Rpb24oe2FkZEJhc2U6bn0pe24oaSx7cmVzcGVjdFByZWZpeDohMX0pfSk7dC5yZW1vdmUoKX1lbHNlIGlmKHQucGFyYW1zPT09ImNvbXBvbmVudHMiKXtmb3IobGV0IGkgb2YgdC5ub2RlcyllLnB1c2goZnVuY3Rpb24oe2FkZENvbXBvbmVudHM6bn0pe24oaSx7cmVzcGVjdFByZWZpeDohMSxwcmVzZXJ2ZVNvdXJjZTohMH0pfSk7dC5yZW1vdmUoKX1lbHNlIGlmKHQucGFyYW1zPT09InV0aWxpdGllcyIpe2ZvcihsZXQgaSBvZiB0Lm5vZGVzKWUucHVzaChmdW5jdGlvbih7YWRkVXRpbGl0aWVzOm59KXtuKGkse3Jlc3BlY3RQcmVmaXg6ITEscHJlc2VydmVTb3VyY2U6ITB9KX0pO3QucmVtb3ZlKCl9fSksZX1mdW5jdGlvbiBVXyhyLGUpe2xldCB0PU9iamVjdC5lbnRyaWVzKHsuLi5zZSwuLi55aH0pLm1hcCgoW2wsY10pPT5yLnRhaWx3aW5kQ29uZmlnLmNvcmVQbHVnaW5zLmluY2x1ZGVzKGwpP2M6bnVsbCkuZmlsdGVyKEJvb2xlYW4pLGk9ci50YWlsd2luZENvbmZpZy5wbHVnaW5zLm1hcChsPT4obC5fX2lzT3B0aW9uc0Z1bmN0aW9uJiYobD1sKCkpLHR5cGVvZiBsPT0iZnVuY3Rpb24iP2w6bC5oYW5kbGVyKSksbj16XyhlKSxzPVtzZS5jaGlsZFZhcmlhbnQsc2UucHNldWRvRWxlbWVudFZhcmlhbnRzLHNlLnBzZXVkb0NsYXNzVmFyaWFudHMsc2UuaGFzVmFyaWFudHMsc2UuYXJpYVZhcmlhbnRzLHNlLmRhdGFWYXJpYW50c10sYT1bc2Uuc3VwcG9ydHNWYXJpYW50cyxzZS5yZWR1Y2VkTW90aW9uVmFyaWFudHMsc2UucHJlZmVyc0NvbnRyYXN0VmFyaWFudHMsc2Uuc2NyZWVuVmFyaWFudHMsc2Uub3JpZW50YXRpb25WYXJpYW50cyxzZS5kaXJlY3Rpb25WYXJpYW50cyxzZS5kYXJrVmFyaWFudHMsc2UuZm9yY2VkQ29sb3JzVmFyaWFudHMsc2UucHJpbnRWYXJpYW50XTtyZXR1cm4oci50YWlsd2luZENvbmZpZy5kYXJrTW9kZT09PSJjbGFzcyJ8fEFycmF5LmlzQXJyYXkoci50YWlsd2luZENvbmZpZy5kYXJrTW9kZSkmJnIudGFpbHdpbmRDb25maWcuZGFya01vZGVbMF09PT0iY2xhc3MiKSYmKGE9W3NlLnN1cHBvcnRzVmFyaWFudHMsc2UucmVkdWNlZE1vdGlvblZhcmlhbnRzLHNlLnByZWZlcnNDb250cmFzdFZhcmlhbnRzLHNlLmRhcmtWYXJpYW50cyxzZS5zY3JlZW5WYXJpYW50cyxzZS5vcmllbnRhdGlvblZhcmlhbnRzLHNlLmRpcmVjdGlvblZhcmlhbnRzLHNlLmZvcmNlZENvbG9yc1ZhcmlhbnRzLHNlLnByaW50VmFyaWFudF0pLFsuLi50LC4uLnMsLi4uaSwuLi5hLC4uLm5dfWZ1bmN0aW9uIFZfKHIsZSl7bGV0IHQ9W10saT1uZXcgTWFwO2UudmFyaWFudE1hcD1pO2xldCBuPW5ldyBYbztlLm9mZnNldHM9bjtsZXQgcz1uZXcgU2V0LGE9al8oZS50YWlsd2luZENvbmZpZyxlLHt2YXJpYW50TGlzdDp0LHZhcmlhbnRNYXA6aSxvZmZzZXRzOm4sY2xhc3NMaXN0OnN9KTtmb3IobGV0IGYgb2YgcilpZihBcnJheS5pc0FycmF5KGYpKWZvcihsZXQgZCBvZiBmKWQoYSk7ZWxzZSBmPy4oYSk7bi5yZWNvcmRWYXJpYW50cyh0LGY9PmkuZ2V0KGYpLmxlbmd0aCk7Zm9yKGxldFtmLGRdb2YgaS5lbnRyaWVzKCkpZS52YXJpYW50TWFwLnNldChmLGQubWFwKChwLGgpPT5bbi5mb3JWYXJpYW50KGYsaCkscF0pKTtsZXQgbz0oZS50YWlsd2luZENvbmZpZy5zYWZlbGlzdD8/W10pLmZpbHRlcihCb29sZWFuKTtpZihvLmxlbmd0aD4wKXtsZXQgZj1bXTtmb3IobGV0IGQgb2Ygbyl7aWYodHlwZW9mIGQ9PSJzdHJpbmciKXtlLmNoYW5nZWRDb250ZW50LnB1c2goe2NvbnRlbnQ6ZCxleHRlbnNpb246Imh0bWwifSk7Y29udGludWV9aWYoZCBpbnN0YW5jZW9mIFJlZ0V4cCl7Ry53YXJuKCJyb290LXJlZ2V4IixbIlJlZ3VsYXIgZXhwcmVzc2lvbnMgaW4gYHNhZmVsaXN0YCB3b3JrIGRpZmZlcmVudGx5IGluIFRhaWx3aW5kIENTUyB2My4wLiIsIlVwZGF0ZSB5b3VyIGBzYWZlbGlzdGAgY29uZmlndXJhdGlvbiB0byBlbGltaW5hdGUgdGhpcyB3YXJuaW5nLiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvY29udGVudC1jb25maWd1cmF0aW9uI3NhZmVsaXN0aW5nLWNsYXNzZXMiXSk7Y29udGludWV9Zi5wdXNoKGQpfWlmKGYubGVuZ3RoPjApe2xldCBkPW5ldyBNYXAscD1lLnRhaWx3aW5kQ29uZmlnLnByZWZpeC5sZW5ndGgsaD1mLnNvbWUoYj0+Yi5wYXR0ZXJuLnNvdXJjZS5pbmNsdWRlcygiISIpKTtmb3IobGV0IGIgb2Ygcyl7bGV0IHY9QXJyYXkuaXNBcnJheShiKT8oKCk9PntsZXRbeSx3XT1iLFM9T2JqZWN0LmtleXModz8udmFsdWVzPz97fSkubWFwKEU9PkVpKHksRSkpO3JldHVybiB3Py5zdXBwb3J0c05lZ2F0aXZlVmFsdWVzJiYoUz1bLi4uUywuLi5TLm1hcChFPT4iLSIrRSldLFM9Wy4uLlMsLi4uUy5tYXAoRT0+RS5zbGljZSgwLHApKyItIitFLnNsaWNlKHApKV0pLHcudHlwZXMuc29tZSgoe3R5cGU6RX0pPT5FPT09ImNvbG9yIikmJihTPVsuLi5TLC4uLlMuZmxhdE1hcChFPT5PYmplY3Qua2V5cyhlLnRhaWx3aW5kQ29uZmlnLnRoZW1lLm9wYWNpdHkpLm1hcChUPT5gJHtFfS8ke1R9YCkpXSksaCYmdz8ucmVzcGVjdEltcG9ydGFudCYmKFM9Wy4uLlMsLi4uUy5tYXAoRT0+IiEiK0UpXSksU30pKCk6W2JdO2ZvcihsZXQgeSBvZiB2KWZvcihsZXR7cGF0dGVybjp3LHZhcmlhbnRzOms9W119b2YgZilpZih3Lmxhc3RJbmRleD0wLGQuaGFzKHcpfHxkLnNldCh3LDApLCEhdy50ZXN0KHkpKXtkLnNldCh3LGQuZ2V0KHcpKzEpLGUuY2hhbmdlZENvbnRlbnQucHVzaCh7Y29udGVudDp5LGV4dGVuc2lvbjoiaHRtbCJ9KTtmb3IobGV0IFMgb2YgayllLmNoYW5nZWRDb250ZW50LnB1c2goe2NvbnRlbnQ6UytlLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcit5LGV4dGVuc2lvbjoiaHRtbCJ9KX19Zm9yKGxldFtiLHZdb2YgZC5lbnRyaWVzKCkpdj09PTAmJkcud2FybihbYFRoZSBzYWZlbGlzdCBwYXR0ZXJuIFxgJHtifVxgIGRvZXNuJ3QgbWF0Y2ggYW55IFRhaWx3aW5kIENTUyBjbGFzc2VzLmAsIkZpeCB0aGlzIHBhdHRlcm4gb3IgcmVtb3ZlIGl0IGZyb20geW91ciBgc2FmZWxpc3RgIGNvbmZpZ3VyYXRpb24uIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb250ZW50LWNvbmZpZ3VyYXRpb24jc2FmZWxpc3RpbmctY2xhc3NlcyJdKX19bGV0IGw9W10uY29uY2F0KGUudGFpbHdpbmRDb25maWcuZGFya01vZGU/PyJtZWRpYSIpWzFdPz8iZGFyayIsYz1bdGwoZSxsKSx0bChlLCJncm91cCIpLHRsKGUsInBlZXIiKV07ZS5nZXRDbGFzc09yZGVyPWZ1bmN0aW9uKGQpe2xldCBwPVsuLi5kXS5zb3J0KCh5LHcpPT55PT09dz8wOnk8dz8tMToxKSxoPW5ldyBNYXAocC5tYXAoeT0+W3ksbnVsbF0pKSxiPWFzKG5ldyBTZXQocCksZSwhMCk7Yj1lLm9mZnNldHMuc29ydChiKTtsZXQgdj1CaWdJbnQoYy5sZW5ndGgpO2ZvcihsZXRbLHldb2YgYil7bGV0IHc9eS5yYXdzLnRhaWx3aW5kLmNhbmRpZGF0ZTtoLnNldCh3LGguZ2V0KHcpPz92KyspfXJldHVybiBkLm1hcCh5PT57bGV0IHc9aC5nZXQoeSk/P251bGwsaz1jLmluZGV4T2YoeSk7cmV0dXJuIHc9PT1udWxsJiZrIT09LTEmJih3PUJpZ0ludChrKSksW3ksd119KX0sZS5nZXRDbGFzc0xpc3Q9ZnVuY3Rpb24oZD17fSl7bGV0IHA9W107Zm9yKGxldCBoIG9mIHMpaWYoQXJyYXkuaXNBcnJheShoKSl7bGV0W2Isdl09aCx5PVtdLHc9T2JqZWN0LmtleXModj8ubW9kaWZpZXJzPz97fSk7dj8udHlwZXM/LnNvbWUoKHt0eXBlOkV9KT0+RT09PSJjb2xvciIpJiZ3LnB1c2goLi4uT2JqZWN0LmtleXMoZS50YWlsd2luZENvbmZpZy50aGVtZS5vcGFjaXR5Pz97fSkpO2xldCBrPXttb2RpZmllcnM6d30sUz1kLmluY2x1ZGVNZXRhZGF0YSYmdy5sZW5ndGg+MDtmb3IobGV0W0UsVF1vZiBPYmplY3QuZW50cmllcyh2Py52YWx1ZXM/P3t9KSl7aWYoVD09bnVsbCljb250aW51ZTtsZXQgQj1FaShiLEUpO2lmKHAucHVzaChTP1tCLGtdOkIpLHY/LnN1cHBvcnRzTmVnYXRpdmVWYWx1ZXMmJnh0KFQpKXtsZXQgTj1FaShiLGAtJHtFfWApO3kucHVzaChTP1tOLGtdOk4pfX1wLnB1c2goLi4ueSl9ZWxzZSBwLnB1c2goaCk7cmV0dXJuIHB9LGUuZ2V0VmFyaWFudHM9ZnVuY3Rpb24oKXtsZXQgZD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNykudG9VcHBlckNhc2UoKSxwPVtdO2ZvcihsZXRbaCxiXW9mIGUudmFyaWFudE9wdGlvbnMuZW50cmllcygpKWIudmFyaWFudEluZm8hPT1lbC5CYXNlJiZwLnB1c2goe25hbWU6aCxpc0FyYml0cmFyeTpiLnR5cGU9PT1TeW1ib2wuZm9yKCJNQVRDSF9WQVJJQU5UIiksdmFsdWVzOk9iamVjdC5rZXlzKGIudmFsdWVzPz97fSksaGFzRGFzaDpoIT09IkAiLHNlbGVjdG9ycyh7bW9kaWZpZXI6dix2YWx1ZTp5fT17fSl7bGV0IHc9YFRBSUxXSU5EUExBQ0VIT0xERVIke2R9YCxrPWVlLnJ1bGUoe3NlbGVjdG9yOmAuJHt3fWB9KSxTPWVlLnJvb3Qoe25vZGVzOltrLmNsb25lKCldfSksRT1TLnRvU3RyaW5nKCksVD0oZS52YXJpYW50TWFwLmdldChoKT8/W10pLmZsYXRNYXAoKFtsZSxBXSk9PkEpLEI9W107Zm9yKGxldCBsZSBvZiBUKXtsZXQgQT1bXSxDPXthcmdzOnttb2RpZmllcjp2LHZhbHVlOmIudmFsdWVzPy5beV0/P3l9LHNlcGFyYXRvcjplLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcixtb2RpZnlTZWxlY3RvcnMoVil7cmV0dXJuIFMuZWFjaChFZT0+e0VlLnR5cGU9PT0icnVsZSImJihFZS5zZWxlY3RvcnM9RWUuc2VsZWN0b3JzLm1hcChJZT0+Vih7Z2V0IGNsYXNzTmFtZSgpe3JldHVybiBHbyhJZSl9LHNlbGVjdG9yOkllfSkpKX0pLFN9LGZvcm1hdChWKXtBLnB1c2goVil9LHdyYXAoVil7QS5wdXNoKGBAJHtWLm5hbWV9ICR7Vi5wYXJhbXN9IHsgJiB9YCl9LGNvbnRhaW5lcjpTfSxoZT1sZShDKTtpZihBLmxlbmd0aD4wJiZCLnB1c2goQSksQXJyYXkuaXNBcnJheShoZSkpZm9yKGxldCBWIG9mIGhlKUE9W10sVihDKSxCLnB1c2goQSl9bGV0IE49W10sUj1TLnRvU3RyaW5nKCk7RSE9PVImJihTLndhbGtSdWxlcyhsZT0+e2xldCBBPWxlLnNlbGVjdG9yLEM9KDAsWm8uZGVmYXVsdCkoaGU9PntoZS53YWxrQ2xhc3NlcyhWPT57Vi52YWx1ZT1gJHtofSR7ZS50YWlsd2luZENvbmZpZy5zZXBhcmF0b3J9JHtWLnZhbHVlfWB9KX0pLnByb2Nlc3NTeW5jKEEpO04ucHVzaChBLnJlcGxhY2UoQywiJiIpLnJlcGxhY2UodywiJiIpKX0pLFMud2Fsa0F0UnVsZXMobGU9PntOLnB1c2goYEAke2xlLm5hbWV9ICgke2xlLnBhcmFtc30pIHsgJiB9YCl9KSk7bGV0IEY9ISh5IGluKGIudmFsdWVzPz97fSkpLFk9YltQdF0/P3t9LF89KCgpPT4hKEZ8fFkucmVzcGVjdFByZWZpeD09PSExKSkoKTtCPUIubWFwKGxlPT5sZS5tYXAoQT0+KHtmb3JtYXQ6QSxyZXNwZWN0UHJlZml4Ol99KSkpLE49Ti5tYXAobGU9Pih7Zm9ybWF0OmxlLHJlc3BlY3RQcmVmaXg6X30pKTtsZXQgUT17Y2FuZGlkYXRlOncsY29udGV4dDplfSxVPUIubWFwKGxlPT5ycyhgLiR7d31gLGRyKGxlLFEpLFEpLnJlcGxhY2UoYC4ke3d9YCwiJiIpLnJlcGxhY2UoInsgJiB9IiwiIikudHJpbSgpKTtyZXR1cm4gTi5sZW5ndGg+MCYmVS5wdXNoKGRyKE4sUSkudG9TdHJpbmcoKS5yZXBsYWNlKGAuJHt3fWAsIiYiKSksVX19KTtyZXR1cm4gcH19ZnVuY3Rpb24gVWgocixlKXshci5jbGFzc0NhY2hlLmhhcyhlKXx8KHIubm90Q2xhc3NDYWNoZS5hZGQoZSksci5jbGFzc0NhY2hlLmRlbGV0ZShlKSxyLmFwcGx5Q2xhc3NDYWNoZS5kZWxldGUoZSksci5jYW5kaWRhdGVSdWxlTWFwLmRlbGV0ZShlKSxyLmNhbmRpZGF0ZVJ1bGVDYWNoZS5kZWxldGUoZSksci5zdHlsZXNoZWV0Q2FjaGU9bnVsbCl9ZnVuY3Rpb24gSF8ocixlKXtsZXQgdD1lLnJhd3MudGFpbHdpbmQuY2FuZGlkYXRlO2lmKCEhdCl7Zm9yKGxldCBpIG9mIHIucnVsZUNhY2hlKWlbMV0ucmF3cy50YWlsd2luZC5jYW5kaWRhdGU9PT10JiZyLnJ1bGVDYWNoZS5kZWxldGUoaSk7VWgocix0KX19ZnVuY3Rpb24gaWwocixlPVtdLHQ9ZWUucm9vdCgpKXtsZXQgaT17ZGlzcG9zYWJsZXM6W10scnVsZUNhY2hlOm5ldyBTZXQsY2FuZGlkYXRlUnVsZUNhY2hlOm5ldyBNYXAsY2xhc3NDYWNoZTpuZXcgTWFwLGFwcGx5Q2xhc3NDYWNoZTpuZXcgTWFwLG5vdENsYXNzQ2FjaGU6bmV3IFNldChyLmJsb2NrbGlzdD8/W10pLHBvc3RDc3NOb2RlQ2FjaGU6bmV3IE1hcCxjYW5kaWRhdGVSdWxlTWFwOm5ldyBNYXAsdGFpbHdpbmRDb25maWc6cixjaGFuZ2VkQ29udGVudDplLHZhcmlhbnRNYXA6bmV3IE1hcCxzdHlsZXNoZWV0Q2FjaGU6bnVsbCx2YXJpYW50T3B0aW9uczpuZXcgTWFwLG1hcmtJbnZhbGlkVXRpbGl0eUNhbmRpZGF0ZTpzPT5VaChpLHMpLG1hcmtJbnZhbGlkVXRpbGl0eU5vZGU6cz0+SF8oaSxzKX0sbj1VXyhpLHQpO3JldHVybiBWXyhuLGkpLGl9ZnVuY3Rpb24gVmgocixlLHQsaSxuLHMpe2xldCBhPWUub3B0cy5mcm9tLG89aSE9PW51bGw7WmUuREVCVUcmJmNvbnNvbGUubG9nKCJTb3VyY2UgcGF0aDoiLGEpO2xldCBsO2lmKG8mJmhyLmhhcyhhKSlsPWhyLmdldChhKTtlbHNlIGlmKFBpLmhhcyhuKSl7bGV0IHA9UGkuZ2V0KG4pO0R0LmdldChwKS5hZGQoYSksaHIuc2V0KGEscCksbD1wfWxldCBjPVBoKGEscik7aWYobCl7bGV0W3AsaF09amgoWy4uLnNdLGNzKGwpKTtpZighcCYmIWMpcmV0dXJuW2wsITEsaF19aWYoaHIuaGFzKGEpKXtsZXQgcD1oci5nZXQoYSk7aWYoRHQuaGFzKHApJiYoRHQuZ2V0KHApLmRlbGV0ZShhKSxEdC5nZXQocCkuc2l6ZT09PTApKXtEdC5kZWxldGUocCk7Zm9yKGxldFtoLGJdb2YgUGkpYj09PXAmJlBpLmRlbGV0ZShoKTtmb3IobGV0IGggb2YgcC5kaXNwb3NhYmxlcy5zcGxpY2UoMCkpaChwKX19WmUuREVCVUcmJmNvbnNvbGUubG9nKCJTZXR0aW5nIHVwIG5ldyBjb250ZXh0Li4uIik7bGV0IGY9aWwodCxbXSxyKTtPYmplY3QuYXNzaWduKGYse3VzZXJDb25maWdQYXRoOml9KTtsZXRbLGRdPWpoKFsuLi5zXSxjcyhmKSk7cmV0dXJuIFBpLnNldChuLGYpLGhyLnNldChhLGYpLER0LmhhcyhmKXx8RHQuc2V0KGYsbmV3IFNldCksRHQuZ2V0KGYpLmFkZChhKSxbZiwhMCxkXX12YXIgTmgsWm8sUHQsSm8sZWwscmwsaHIsUGksRHQsT2k9UCgoKT0+e3UoKTtmdCgpO2xhKCk7T3QoKTtOaD1wZShSYSgpKSxabz1wZShpdCgpKTtDaSgpO3FvKCk7R24oKTtLdCgpO2ZyKCk7TG8oKTtGcigpO2JoKCk7SXQoKTtJdCgpO1lpKCk7QmUoKTtHaSgpO0JvKCk7b3MoKTtJaCgpO01oKCk7Y3QoKTtWbygpO1B0PVN5bWJvbCgpLEpvPXtBZGRWYXJpYW50OlN5bWJvbC5mb3IoIkFERF9WQVJJQU5UIiksTWF0Y2hWYXJpYW50OlN5bWJvbC5mb3IoIk1BVENIX1ZBUklBTlQiKX0sZWw9e0Jhc2U6MTw8MCxEeW5hbWljOjE8PDF9O3JsPW5ldyBXZWFrTWFwO2hyPXdoLFBpPXZoLER0PWVzfSk7ZnVuY3Rpb24gbmwocil7cmV0dXJuIHIuaWdub3JlP1tdOnIuZ2xvYj9tLmVudi5ST0xMVVBfV0FUQ0g9PT0idHJ1ZSI/W3t0eXBlOiJkZXBlbmRlbmN5IixmaWxlOnIuYmFzZX1dOlt7dHlwZToiZGlyLWRlcGVuZGVuY3kiLGRpcjpyLmJhc2UsZ2xvYjpyLmdsb2J9XTpbe3R5cGU6ImRlcGVuZGVuY3kiLGZpbGU6ci5iYXNlfV19dmFyIEhoPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBXaChyLGUpe3JldHVybntoYW5kbGVyOnIsY29uZmlnOmV9fXZhciBHaCxRaD1QKCgpPT57dSgpO1doLndpdGhPcHRpb25zPWZ1bmN0aW9uKHIsZT0oKT0+KHt9KSl7bGV0IHQ9ZnVuY3Rpb24oaSl7cmV0dXJue19fb3B0aW9uczppLGhhbmRsZXI6cihpKSxjb25maWc6ZShpKX19O3JldHVybiB0Ll9faXNPcHRpb25zRnVuY3Rpb249ITAsdC5fX3BsdWdpbkZ1bmN0aW9uPXIsdC5fX2NvbmZpZ0Z1bmN0aW9uPWUsdH07R2g9V2h9KTt2YXIgc2w9e307R2Uoc2wse2RlZmF1bHQ6KCk9PldffSk7dmFyIFdfLGFsPVAoKCk9Pnt1KCk7UWgoKTtXXz1HaH0pO3ZhciBLaD14KCh6NCxZaCk9Pnt1KCk7dmFyIEdfPShhbCgpLHNsKS5kZWZhdWx0LFFfPXtvdmVyZmxvdzoiaGlkZGVuIixkaXNwbGF5OiItd2Via2l0LWJveCIsIi13ZWJraXQtYm94LW9yaWVudCI6InZlcnRpY2FsIn0sWV89R18oZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnIsYWRkVXRpbGl0aWVzOmUsdGhlbWU6dCx2YXJpYW50czppfSl7bGV0IG49dCgibGluZUNsYW1wIik7cih7ImxpbmUtY2xhbXAiOnM9Pih7Li4uUV8sIi13ZWJraXQtbGluZS1jbGFtcCI6YCR7c31gfSl9LHt2YWx1ZXM6bn0pLGUoW3siLmxpbmUtY2xhbXAtbm9uZSI6eyItd2Via2l0LWxpbmUtY2xhbXAiOiJ1bnNldCJ9fV0saSgibGluZUNsYW1wIikpfSx7dGhlbWU6e2xpbmVDbGFtcDp7MToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiJ9fSx2YXJpYW50czp7bGluZUNsYW1wOlsicmVzcG9uc2l2ZSJdfX0pO1loLmV4cG9ydHM9WV99KTtmdW5jdGlvbiBvbChyKXtyLmNvbnRlbnQuZmlsZXMubGVuZ3RoPT09MCYmRy53YXJuKCJjb250ZW50LXByb2JsZW1zIixbIlRoZSBgY29udGVudGAgb3B0aW9uIGluIHlvdXIgVGFpbHdpbmQgQ1NTIGNvbmZpZ3VyYXRpb24gaXMgbWlzc2luZyBvciBlbXB0eS4iLCJDb25maWd1cmUgeW91ciBjb250ZW50IHNvdXJjZXMgb3IgeW91ciBnZW5lcmF0ZWQgQ1NTIHdpbGwgYmUgbWlzc2luZyBzdHlsZXMuIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb250ZW50LWNvbmZpZ3VyYXRpb24iXSk7dHJ5e2xldCBlPUtoKCk7ci5wbHVnaW5zLmluY2x1ZGVzKGUpJiYoRy53YXJuKCJsaW5lLWNsYW1wLWluLWNvcmUiLFsiQXMgb2YgVGFpbHdpbmQgQ1NTIHYzLjMsIHRoZSBgQHRhaWx3aW5kY3NzL2xpbmUtY2xhbXBgIHBsdWdpbiBpcyBub3cgaW5jbHVkZWQgYnkgZGVmYXVsdC4iLCJSZW1vdmUgaXQgZnJvbSB0aGUgYHBsdWdpbnNgIGFycmF5IGluIHlvdXIgY29uZmlndXJhdGlvbiB0byBlbGltaW5hdGUgdGhpcyB3YXJuaW5nLiJdKSxyLnBsdWdpbnM9ci5wbHVnaW5zLmZpbHRlcih0PT50IT09ZSkpfWNhdGNoe31yZXR1cm4gcn12YXIgWGg9UCgoKT0+e3UoKTtCZSgpfSk7dmFyIFpoLEpoPVAoKCk9Pnt1KCk7Wmg9KCk9PiExfSk7dmFyIHBzLGVtPVAoKCk9Pnt1KCk7cHM9e3N5bmM6cj0+W10uY29uY2F0KHIpLGdlbmVyYXRlVGFza3M6cj0+W3tkeW5hbWljOiExLGJhc2U6Ii4iLG5lZ2F0aXZlOltdLHBvc2l0aXZlOltdLmNvbmNhdChyKSxwYXR0ZXJuczpbXS5jb25jYXQocil9XSxlc2NhcGVQYXRoOnI9PnJ9fSk7dmFyIGxsLHRtPVAoKCk9Pnt1KCk7bGw9cj0+cn0pO3ZhciBybSxpbT1QKCgpPT57dSgpO3JtPSgpPT4iIn0pO2Z1bmN0aW9uIG5tKHIpe2xldCBlPXIsdD1ybShyKTtyZXR1cm4gdCE9PSIuIiYmKGU9ci5zdWJzdHIodC5sZW5ndGgpLGUuY2hhckF0KDApPT09Ii8iJiYoZT1lLnN1YnN0cigxKSkpLGUuc3Vic3RyKDAsMik9PT0iLi8iP2U9ZS5zdWJzdHIoMik6ZS5jaGFyQXQoMCk9PT0iLyImJihlPWUuc3Vic3RyKDEpKSx7YmFzZTp0LGdsb2I6ZX19dmFyIHNtPVAoKCk9Pnt1KCk7aW0oKX0pO3ZhciBkcz14KFZlPT57dSgpOyJ1c2Ugc3RyaWN0IjtWZS5pc0ludGVnZXI9cj0+dHlwZW9mIHI9PSJudW1iZXIiP051bWJlci5pc0ludGVnZXIocik6dHlwZW9mIHI9PSJzdHJpbmciJiZyLnRyaW0oKSE9PSIiP051bWJlci5pc0ludGVnZXIoTnVtYmVyKHIpKTohMTtWZS5maW5kPShyLGUpPT5yLm5vZGVzLmZpbmQodD0+dC50eXBlPT09ZSk7VmUuZXhjZWVkc0xpbWl0PShyLGUsdD0xLGkpPT5pPT09ITF8fCFWZS5pc0ludGVnZXIocil8fCFWZS5pc0ludGVnZXIoZSk/ITE6KE51bWJlcihlKS1OdW1iZXIocikpL051bWJlcih0KT49aTtWZS5lc2NhcGVOb2RlPShyLGU9MCx0KT0+e2xldCBpPXIubm9kZXNbZV07IWl8fCh0JiZpLnR5cGU9PT10fHxpLnR5cGU9PT0ib3BlbiJ8fGkudHlwZT09PSJjbG9zZSIpJiZpLmVzY2FwZWQhPT0hMCYmKGkudmFsdWU9IlxcIitpLnZhbHVlLGkuZXNjYXBlZD0hMCl9O1ZlLmVuY2xvc2VCcmFjZT1yPT5yLnR5cGUhPT0iYnJhY2UiPyExOnIuY29tbWFzPj4wK3IucmFuZ2VzPj4wPT0wPyhyLmludmFsaWQ9ITAsITApOiExO1ZlLmlzSW52YWxpZEJyYWNlPXI9PnIudHlwZSE9PSJicmFjZSI/ITE6ci5pbnZhbGlkPT09ITB8fHIuZG9sbGFyPyEwOnIuY29tbWFzPj4wK3IucmFuZ2VzPj4wPT0wfHxyLm9wZW4hPT0hMHx8ci5jbG9zZSE9PSEwPyhyLmludmFsaWQ9ITAsITApOiExO1ZlLmlzT3Blbk9yQ2xvc2U9cj0+ci50eXBlPT09Im9wZW4ifHxyLnR5cGU9PT0iY2xvc2UiPyEwOnIub3Blbj09PSEwfHxyLmNsb3NlPT09ITA7VmUucmVkdWNlPXI9PnIucmVkdWNlKChlLHQpPT4odC50eXBlPT09InRleHQiJiZlLnB1c2godC52YWx1ZSksdC50eXBlPT09InJhbmdlIiYmKHQudHlwZT0idGV4dCIpLGUpLFtdKTtWZS5mbGF0dGVuPSguLi5yKT0+e2xldCBlPVtdLHQ9aT0+e2ZvcihsZXQgbj0wO248aS5sZW5ndGg7bisrKXtsZXQgcz1pW25dO2lmKEFycmF5LmlzQXJyYXkocykpe3Qocyk7Y29udGludWV9cyE9PXZvaWQgMCYmZS5wdXNoKHMpfXJldHVybiBlfTtyZXR1cm4gdChyKSxlfX0pO3ZhciBocz14KChaNCxvbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBhbT1kcygpO29tLmV4cG9ydHM9KHIsZT17fSk9PntsZXQgdD0oaSxuPXt9KT0+e2xldCBzPWUuZXNjYXBlSW52YWxpZCYmYW0uaXNJbnZhbGlkQnJhY2UobiksYT1pLmludmFsaWQ9PT0hMCYmZS5lc2NhcGVJbnZhbGlkPT09ITAsbz0iIjtpZihpLnZhbHVlKXJldHVybihzfHxhKSYmYW0uaXNPcGVuT3JDbG9zZShpKT8iXFwiK2kudmFsdWU6aS52YWx1ZTtpZihpLnZhbHVlKXJldHVybiBpLnZhbHVlO2lmKGkubm9kZXMpZm9yKGxldCBsIG9mIGkubm9kZXMpbys9dChsKTtyZXR1cm4gb307cmV0dXJuIHQocil9fSk7dmFyIHVtPXgoKEo0LGxtKT0+e3UoKTsidXNlIHN0cmljdCI7bG0uZXhwb3J0cz1mdW5jdGlvbihyKXtyZXR1cm4gdHlwZW9mIHI9PSJudW1iZXIiP3Itcj09MDp0eXBlb2Ygcj09InN0cmluZyImJnIudHJpbSgpIT09IiI/TnVtYmVyLmlzRmluaXRlP051bWJlci5pc0Zpbml0ZSgrcik6aXNGaW5pdGUoK3IpOiExfX0pO3ZhciBibT14KChlNix5bSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBmbT11bSgpLFd0PShyLGUsdCk9PntpZihmbShyKT09PSExKXRocm93IG5ldyBUeXBlRXJyb3IoInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIGJlIGEgbnVtYmVyIik7aWYoZT09PXZvaWQgMHx8cj09PWUpcmV0dXJuIFN0cmluZyhyKTtpZihmbShlKT09PSExKXRocm93IG5ldyBUeXBlRXJyb3IoInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIG51bWJlci4iKTtsZXQgaT17cmVsYXhaZXJvczohMCwuLi50fTt0eXBlb2YgaS5zdHJpY3RaZXJvcz09ImJvb2xlYW4iJiYoaS5yZWxheFplcm9zPWkuc3RyaWN0WmVyb3M9PT0hMSk7bGV0IG49U3RyaW5nKGkucmVsYXhaZXJvcykscz1TdHJpbmcoaS5zaG9ydGhhbmQpLGE9U3RyaW5nKGkuY2FwdHVyZSksbz1TdHJpbmcoaS53cmFwKSxsPXIrIjoiK2UrIj0iK24rcythK287aWYoV3QuY2FjaGUuaGFzT3duUHJvcGVydHkobCkpcmV0dXJuIFd0LmNhY2hlW2xdLnJlc3VsdDtsZXQgYz1NYXRoLm1pbihyLGUpLGY9TWF0aC5tYXgocixlKTtpZihNYXRoLmFicyhjLWYpPT09MSl7bGV0IHY9cisifCIrZTtyZXR1cm4gaS5jYXB0dXJlP2AoJHt2fSlgOmkud3JhcD09PSExP3Y6YCg/OiR7dn0pYH1sZXQgZD1nbShyKXx8Z20oZSkscD17bWluOnIsbWF4OmUsYTpjLGI6Zn0saD1bXSxiPVtdO2lmKGQmJihwLmlzUGFkZGVkPWQscC5tYXhMZW49U3RyaW5nKHAubWF4KS5sZW5ndGgpLGM8MCl7bGV0IHY9ZjwwP01hdGguYWJzKGYpOjE7Yj1jbSh2LE1hdGguYWJzKGMpLHAsaSksYz1wLmE9MH1yZXR1cm4gZj49MCYmKGg9Y20oYyxmLHAsaSkpLHAubmVnYXRpdmVzPWIscC5wb3NpdGl2ZXM9aCxwLnJlc3VsdD1LXyhiLGgsaSksaS5jYXB0dXJlPT09ITA/cC5yZXN1bHQ9YCgke3AucmVzdWx0fSlgOmkud3JhcCE9PSExJiZoLmxlbmd0aCtiLmxlbmd0aD4xJiYocC5yZXN1bHQ9YCg/OiR7cC5yZXN1bHR9KWApLFd0LmNhY2hlW2xdPXAscC5yZXN1bHR9O2Z1bmN0aW9uIEtfKHIsZSx0KXtsZXQgaT11bChyLGUsIi0iLCExLHQpfHxbXSxuPXVsKGUsciwiIiwhMSx0KXx8W10scz11bChyLGUsIi0/IiwhMCx0KXx8W107cmV0dXJuIGkuY29uY2F0KHMpLmNvbmNhdChuKS5qb2luKCJ8Iil9ZnVuY3Rpb24gWF8ocixlKXtsZXQgdD0xLGk9MSxuPWRtKHIsdCkscz1uZXcgU2V0KFtlXSk7Zm9yKDtyPD1uJiZuPD1lOylzLmFkZChuKSx0Kz0xLG49ZG0ocix0KTtmb3Iobj1obShlKzEsaSktMTtyPG4mJm48PWU7KXMuYWRkKG4pLGkrPTEsbj1obShlKzEsaSktMTtyZXR1cm4gcz1bLi4uc10scy5zb3J0KGVFKSxzfWZ1bmN0aW9uIFpfKHIsZSx0KXtpZihyPT09ZSlyZXR1cm57cGF0dGVybjpyLGNvdW50OltdLGRpZ2l0czowfTtsZXQgaT1KXyhyLGUpLG49aS5sZW5ndGgscz0iIixhPTA7Zm9yKGxldCBvPTA7bzxuO28rKyl7bGV0W2wsY109aVtvXTtsPT09Yz9zKz1sOmwhPT0iMCJ8fGMhPT0iOSI/cys9dEUobCxjLHQpOmErK31yZXR1cm4gYSYmKHMrPXQuc2hvcnRoYW5kPT09ITA/IlxcZCI6IlswLTldIikse3BhdHRlcm46cyxjb3VudDpbYV0sZGlnaXRzOm59fWZ1bmN0aW9uIGNtKHIsZSx0LGkpe2xldCBuPVhfKHIsZSkscz1bXSxhPXIsbztmb3IobGV0IGw9MDtsPG4ubGVuZ3RoO2wrKyl7bGV0IGM9bltsXSxmPVpfKFN0cmluZyhhKSxTdHJpbmcoYyksaSksZD0iIjtpZighdC5pc1BhZGRlZCYmbyYmby5wYXR0ZXJuPT09Zi5wYXR0ZXJuKXtvLmNvdW50Lmxlbmd0aD4xJiZvLmNvdW50LnBvcCgpLG8uY291bnQucHVzaChmLmNvdW50WzBdKSxvLnN0cmluZz1vLnBhdHRlcm4rbW0oby5jb3VudCksYT1jKzE7Y29udGludWV9dC5pc1BhZGRlZCYmKGQ9ckUoYyx0LGkpKSxmLnN0cmluZz1kK2YucGF0dGVybittbShmLmNvdW50KSxzLnB1c2goZiksYT1jKzEsbz1mfXJldHVybiBzfWZ1bmN0aW9uIHVsKHIsZSx0LGksbil7bGV0IHM9W107Zm9yKGxldCBhIG9mIHIpe2xldHtzdHJpbmc6b309YTshaSYmIXBtKGUsInN0cmluZyIsbykmJnMucHVzaCh0K28pLGkmJnBtKGUsInN0cmluZyIsbykmJnMucHVzaCh0K28pfXJldHVybiBzfWZ1bmN0aW9uIEpfKHIsZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspdC5wdXNoKFtyW2ldLGVbaV1dKTtyZXR1cm4gdH1mdW5jdGlvbiBlRShyLGUpe3JldHVybiByPmU/MTplPnI/LTE6MH1mdW5jdGlvbiBwbShyLGUsdCl7cmV0dXJuIHIuc29tZShpPT5pW2VdPT09dCl9ZnVuY3Rpb24gZG0ocixlKXtyZXR1cm4gTnVtYmVyKFN0cmluZyhyKS5zbGljZSgwLC1lKSsiOSIucmVwZWF0KGUpKX1mdW5jdGlvbiBobShyLGUpe3JldHVybiByLXIlTWF0aC5wb3coMTAsZSl9ZnVuY3Rpb24gbW0ocil7bGV0W2U9MCx0PSIiXT1yO3JldHVybiB0fHxlPjE/YHske2UrKHQ/IiwiK3Q6IiIpfX1gOiIifWZ1bmN0aW9uIHRFKHIsZSx0KXtyZXR1cm5gWyR7cn0ke2Utcj09MT8iIjoiLSJ9JHtlfV1gfWZ1bmN0aW9uIGdtKHIpe3JldHVybi9eLT8oMCspXGQvLnRlc3Qocil9ZnVuY3Rpb24gckUocixlLHQpe2lmKCFlLmlzUGFkZGVkKXJldHVybiByO2xldCBpPU1hdGguYWJzKGUubWF4TGVuLVN0cmluZyhyKS5sZW5ndGgpLG49dC5yZWxheFplcm9zIT09ITE7c3dpdGNoKGkpe2Nhc2UgMDpyZXR1cm4iIjtjYXNlIDE6cmV0dXJuIG4/IjA/IjoiMCI7Y2FzZSAyOnJldHVybiBuPyIwezAsMn0iOiIwMCI7ZGVmYXVsdDpyZXR1cm4gbj9gMHswLCR7aX19YDpgMHske2l9fWB9fVd0LmNhY2hlPXt9O1d0LmNsZWFyQ2FjaGU9KCk9Pld0LmNhY2hlPXt9O3ltLmV4cG9ydHM9V3R9KTt2YXIgcGw9eCgodDYsQ20pPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgaUU9KEZuKCksQm4pLHdtPWJtKCksdm09cj0+ciE9PW51bGwmJnR5cGVvZiByPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkociksbkU9cj0+ZT0+cj09PSEwP051bWJlcihlKTpTdHJpbmcoZSksZmw9cj0+dHlwZW9mIHI9PSJudW1iZXIifHx0eXBlb2Ygcj09InN0cmluZyImJnIhPT0iIixJaT1yPT5OdW1iZXIuaXNJbnRlZ2VyKCtyKSxjbD1yPT57bGV0IGU9YCR7cn1gLHQ9LTE7aWYoZVswXT09PSItIiYmKGU9ZS5zbGljZSgxKSksZT09PSIwIilyZXR1cm4hMTtmb3IoO2VbKyt0XT09PSIwIjspO3JldHVybiB0PjB9LHNFPShyLGUsdCk9PnR5cGVvZiByPT0ic3RyaW5nInx8dHlwZW9mIGU9PSJzdHJpbmciPyEwOnQuc3RyaW5naWZ5PT09ITAsYUU9KHIsZSx0KT0+e2lmKGU+MCl7bGV0IGk9clswXT09PSItIj8iLSI6IiI7aSYmKHI9ci5zbGljZSgxKSkscj1pK3IucGFkU3RhcnQoaT9lLTE6ZSwiMCIpfXJldHVybiB0PT09ITE/U3RyaW5nKHIpOnJ9LG1zPShyLGUpPT57bGV0IHQ9clswXT09PSItIj8iLSI6IiI7Zm9yKHQmJihyPXIuc2xpY2UoMSksZS0tKTtyLmxlbmd0aDxlOylyPSIwIityO3JldHVybiB0PyItIityOnJ9LG9FPShyLGUsdCk9PntyLm5lZ2F0aXZlcy5zb3J0KChvLGwpPT5vPGw/LTE6bz5sPzE6MCksci5wb3NpdGl2ZXMuc29ydCgobyxsKT0+bzxsPy0xOm8+bD8xOjApO2xldCBpPWUuY2FwdHVyZT8iIjoiPzoiLG49IiIscz0iIixhO3JldHVybiByLnBvc2l0aXZlcy5sZW5ndGgmJihuPXIucG9zaXRpdmVzLm1hcChvPT5tcyhTdHJpbmcobyksdCkpLmpvaW4oInwiKSksci5uZWdhdGl2ZXMubGVuZ3RoJiYocz1gLSgke2l9JHtyLm5lZ2F0aXZlcy5tYXAobz0+bXMoU3RyaW5nKG8pLHQpKS5qb2luKCJ8Iil9KWApLG4mJnM/YT1gJHtufXwke3N9YDphPW58fHMsZS53cmFwP2AoJHtpfSR7YX0pYDphfSx4bT0ocixlLHQsaSk9PntpZih0KXJldHVybiB3bShyLGUse3dyYXA6ITEsLi4uaX0pO2xldCBuPVN0cmluZy5mcm9tQ2hhckNvZGUocik7aWYocj09PWUpcmV0dXJuIG47bGV0IHM9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm5gWyR7bn0tJHtzfV1gfSxrbT0ocixlLHQpPT57aWYoQXJyYXkuaXNBcnJheShyKSl7bGV0IGk9dC53cmFwPT09ITAsbj10LmNhcHR1cmU/IiI6Ij86IjtyZXR1cm4gaT9gKCR7bn0ke3Iuam9pbigifCIpfSlgOnIuam9pbigifCIpfXJldHVybiB3bShyLGUsdCl9LFNtPSguLi5yKT0+bmV3IFJhbmdlRXJyb3IoIkludmFsaWQgcmFuZ2UgYXJndW1lbnRzOiAiK2lFLmluc3BlY3QoLi4ucikpLEFtPShyLGUsdCk9PntpZih0LnN0cmljdFJhbmdlcz09PSEwKXRocm93IFNtKFtyLGVdKTtyZXR1cm5bXX0sbEU9KHIsZSk9PntpZihlLnN0cmljdFJhbmdlcz09PSEwKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIHN0ZXAgIiR7cn0iIHRvIGJlIGEgbnVtYmVyYCk7cmV0dXJuW119LHVFPShyLGUsdD0xLGk9e30pPT57bGV0IG49TnVtYmVyKHIpLHM9TnVtYmVyKGUpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHwhTnVtYmVyLmlzSW50ZWdlcihzKSl7aWYoaS5zdHJpY3RSYW5nZXM9PT0hMCl0aHJvdyBTbShbcixlXSk7cmV0dXJuW119bj09PTAmJihuPTApLHM9PT0wJiYocz0wKTtsZXQgYT1uPnMsbz1TdHJpbmcociksbD1TdHJpbmcoZSksYz1TdHJpbmcodCk7dD1NYXRoLm1heChNYXRoLmFicyh0KSwxKTtsZXQgZj1jbChvKXx8Y2wobCl8fGNsKGMpLGQ9Zj9NYXRoLm1heChvLmxlbmd0aCxsLmxlbmd0aCxjLmxlbmd0aCk6MCxwPWY9PT0hMSYmc0UocixlLGkpPT09ITEsaD1pLnRyYW5zZm9ybXx8bkUocCk7aWYoaS50b1JlZ2V4JiZ0PT09MSlyZXR1cm4geG0obXMocixkKSxtcyhlLGQpLCEwLGkpO2xldCBiPXtuZWdhdGl2ZXM6W10scG9zaXRpdmVzOltdfSx2PWs9PmJbazwwPyJuZWdhdGl2ZXMiOiJwb3NpdGl2ZXMiXS5wdXNoKE1hdGguYWJzKGspKSx5PVtdLHc9MDtmb3IoO2E/bj49czpuPD1zOylpLnRvUmVnZXg9PT0hMCYmdD4xP3Yobik6eS5wdXNoKGFFKGgobix3KSxkLHApKSxuPWE/bi10Om4rdCx3Kys7cmV0dXJuIGkudG9SZWdleD09PSEwP3Q+MT9vRShiLGksZCk6a20oeSxudWxsLHt3cmFwOiExLC4uLml9KTp5fSxmRT0ocixlLHQ9MSxpPXt9KT0+e2lmKCFJaShyKSYmci5sZW5ndGg+MXx8IUlpKGUpJiZlLmxlbmd0aD4xKXJldHVybiBBbShyLGUsaSk7bGV0IG49aS50cmFuc2Zvcm18fChwPT5TdHJpbmcuZnJvbUNoYXJDb2RlKHApKSxzPWAke3J9YC5jaGFyQ29kZUF0KDApLGE9YCR7ZX1gLmNoYXJDb2RlQXQoMCksbz1zPmEsbD1NYXRoLm1pbihzLGEpLGM9TWF0aC5tYXgocyxhKTtpZihpLnRvUmVnZXgmJnQ9PT0xKXJldHVybiB4bShsLGMsITEsaSk7bGV0IGY9W10sZD0wO2Zvcig7bz9zPj1hOnM8PWE7KWYucHVzaChuKHMsZCkpLHM9bz9zLXQ6cyt0LGQrKztyZXR1cm4gaS50b1JlZ2V4PT09ITA/a20oZixudWxsLHt3cmFwOiExLG9wdGlvbnM6aX0pOmZ9LGdzPShyLGUsdCxpPXt9KT0+e2lmKGU9PW51bGwmJmZsKHIpKXJldHVybltyXTtpZighZmwocil8fCFmbChlKSlyZXR1cm4gQW0ocixlLGkpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXJldHVybiBncyhyLGUsMSx7dHJhbnNmb3JtOnR9KTtpZih2bSh0KSlyZXR1cm4gZ3MocixlLDAsdCk7bGV0IG49ey4uLml9O3JldHVybiBuLmNhcHR1cmU9PT0hMCYmKG4ud3JhcD0hMCksdD10fHxuLnN0ZXB8fDEsSWkodCk/SWkocikmJklpKGUpP3VFKHIsZSx0LG4pOmZFKHIsZSxNYXRoLm1heChNYXRoLmFicyh0KSwxKSxuKTp0IT1udWxsJiYhdm0odCk/bEUodCxuKTpncyhyLGUsMSx0KX07Q20uZXhwb3J0cz1nc30pO3ZhciBPbT14KChyNixFbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBjRT1wbCgpLF9tPWRzKCkscEU9KHIsZT17fSk9PntsZXQgdD0oaSxuPXt9KT0+e2xldCBzPV9tLmlzSW52YWxpZEJyYWNlKG4pLGE9aS5pbnZhbGlkPT09ITAmJmUuZXNjYXBlSW52YWxpZD09PSEwLG89cz09PSEwfHxhPT09ITAsbD1lLmVzY2FwZUludmFsaWQ9PT0hMD8iXFwiOiIiLGM9IiI7aWYoaS5pc09wZW49PT0hMClyZXR1cm4gbCtpLnZhbHVlO2lmKGkuaXNDbG9zZT09PSEwKXJldHVybiBjb25zb2xlLmxvZygibm9kZS5pc0Nsb3NlIixsLGkudmFsdWUpLGwraS52YWx1ZTtpZihpLnR5cGU9PT0ib3BlbiIpcmV0dXJuIG8/bCtpLnZhbHVlOiIoIjtpZihpLnR5cGU9PT0iY2xvc2UiKXJldHVybiBvP2wraS52YWx1ZToiKSI7aWYoaS50eXBlPT09ImNvbW1hIilyZXR1cm4gaS5wcmV2LnR5cGU9PT0iY29tbWEiPyIiOm8/aS52YWx1ZToifCI7aWYoaS52YWx1ZSlyZXR1cm4gaS52YWx1ZTtpZihpLm5vZGVzJiZpLnJhbmdlcz4wKXtsZXQgZj1fbS5yZWR1Y2UoaS5ub2RlcyksZD1jRSguLi5mLHsuLi5lLHdyYXA6ITEsdG9SZWdleDohMCxzdHJpY3RaZXJvczohMH0pO2lmKGQubGVuZ3RoIT09MClyZXR1cm4gZi5sZW5ndGg+MSYmZC5sZW5ndGg+MT9gKCR7ZH0pYDpkfWlmKGkubm9kZXMpZm9yKGxldCBmIG9mIGkubm9kZXMpYys9dChmLGkpO3JldHVybiBjfTtyZXR1cm4gdChyKX07RW0uZXhwb3J0cz1wRX0pO3ZhciBQbT14KChpNixSbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBkRT1wbCgpLFRtPWhzKCksbXI9ZHMoKSxHdD0ocj0iIixlPSIiLHQ9ITEpPT57bGV0IGk9W107aWYocj1bXS5jb25jYXQociksZT1bXS5jb25jYXQoZSksIWUubGVuZ3RoKXJldHVybiByO2lmKCFyLmxlbmd0aClyZXR1cm4gdD9tci5mbGF0dGVuKGUpLm1hcChuPT5geyR7bn19YCk6ZTtmb3IobGV0IG4gb2YgcilpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgcyBvZiBuKWkucHVzaChHdChzLGUsdCkpO2Vsc2UgZm9yKGxldCBzIG9mIGUpdD09PSEwJiZ0eXBlb2Ygcz09InN0cmluZyImJihzPWB7JHtzfX1gKSxpLnB1c2goQXJyYXkuaXNBcnJheShzKT9HdChuLHMsdCk6bitzKTtyZXR1cm4gbXIuZmxhdHRlbihpKX0saEU9KHIsZT17fSk9PntsZXQgdD1lLnJhbmdlTGltaXQ9PT12b2lkIDA/MWUzOmUucmFuZ2VMaW1pdCxpPShuLHM9e30pPT57bi5xdWV1ZT1bXTtsZXQgYT1zLG89cy5xdWV1ZTtmb3IoO2EudHlwZSE9PSJicmFjZSImJmEudHlwZSE9PSJyb290IiYmYS5wYXJlbnQ7KWE9YS5wYXJlbnQsbz1hLnF1ZXVlO2lmKG4uaW52YWxpZHx8bi5kb2xsYXIpe28ucHVzaChHdChvLnBvcCgpLFRtKG4sZSkpKTtyZXR1cm59aWYobi50eXBlPT09ImJyYWNlIiYmbi5pbnZhbGlkIT09ITAmJm4ubm9kZXMubGVuZ3RoPT09Mil7by5wdXNoKEd0KG8ucG9wKCksWyJ7fSJdKSk7cmV0dXJufWlmKG4ubm9kZXMmJm4ucmFuZ2VzPjApe2xldCBkPW1yLnJlZHVjZShuLm5vZGVzKTtpZihtci5leGNlZWRzTGltaXQoLi4uZCxlLnN0ZXAsdCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImV4cGFuZGVkIGFycmF5IGxlbmd0aCBleGNlZWRzIHJhbmdlIGxpbWl0LiBVc2Ugb3B0aW9ucy5yYW5nZUxpbWl0IHRvIGluY3JlYXNlIG9yIGRpc2FibGUgdGhlIGxpbWl0LiIpO2xldCBwPWRFKC4uLmQsZSk7cC5sZW5ndGg9PT0wJiYocD1UbShuLGUpKSxvLnB1c2goR3Qoby5wb3AoKSxwKSksbi5ub2Rlcz1bXTtyZXR1cm59bGV0IGw9bXIuZW5jbG9zZUJyYWNlKG4pLGM9bi5xdWV1ZSxmPW47Zm9yKDtmLnR5cGUhPT0iYnJhY2UiJiZmLnR5cGUhPT0icm9vdCImJmYucGFyZW50OylmPWYucGFyZW50LGM9Zi5xdWV1ZTtmb3IobGV0IGQ9MDtkPG4ubm9kZXMubGVuZ3RoO2QrKyl7bGV0IHA9bi5ub2Rlc1tkXTtpZihwLnR5cGU9PT0iY29tbWEiJiZuLnR5cGU9PT0iYnJhY2UiKXtkPT09MSYmYy5wdXNoKCIiKSxjLnB1c2goIiIpO2NvbnRpbnVlfWlmKHAudHlwZT09PSJjbG9zZSIpe28ucHVzaChHdChvLnBvcCgpLGMsbCkpO2NvbnRpbnVlfWlmKHAudmFsdWUmJnAudHlwZSE9PSJvcGVuIil7Yy5wdXNoKEd0KGMucG9wKCkscC52YWx1ZSkpO2NvbnRpbnVlfXAubm9kZXMmJmkocCxuKX1yZXR1cm4gY307cmV0dXJuIG1yLmZsYXR0ZW4oaShyKSl9O1JtLmV4cG9ydHM9aEV9KTt2YXIgRG09eCgobjYsSW0pPT57dSgpOyJ1c2Ugc3RyaWN0IjtJbS5leHBvcnRzPXtNQVhfTEVOR1RIOjFlNCxDSEFSXzA6IjAiLENIQVJfOToiOSIsQ0hBUl9VUFBFUkNBU0VfQToiQSIsQ0hBUl9MT1dFUkNBU0VfQToiYSIsQ0hBUl9VUFBFUkNBU0VfWjoiWiIsQ0hBUl9MT1dFUkNBU0VfWjoieiIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOiIoIixDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOiIpIixDSEFSX0FTVEVSSVNLOiIqIixDSEFSX0FNUEVSU0FORDoiJiIsQ0hBUl9BVDoiQCIsQ0hBUl9CQUNLU0xBU0g6IlxcIixDSEFSX0JBQ0tUSUNLOiJgIixDSEFSX0NBUlJJQUdFX1JFVFVSTjoiXHIiLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6Il4iLENIQVJfQ09MT046IjoiLENIQVJfQ09NTUE6IiwiLENIQVJfRE9MTEFSOiIkIixDSEFSX0RPVDoiLiIsQ0hBUl9ET1VCTEVfUVVPVEU6JyInLENIQVJfRVFVQUw6Ij0iLENIQVJfRVhDTEFNQVRJT05fTUFSSzoiISIsQ0hBUl9GT1JNX0ZFRUQ6IlxmIixDSEFSX0ZPUldBUkRfU0xBU0g6Ii8iLENIQVJfSEFTSDoiIyIsQ0hBUl9IWVBIRU5fTUlOVVM6Ii0iLENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOiI8IixDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6InsiLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDoiWyIsQ0hBUl9MSU5FX0ZFRUQ6YApgLENIQVJfTk9fQlJFQUtfU1BBQ0U6Ilx4QTAiLENIQVJfUEVSQ0VOVDoiJSIsQ0hBUl9QTFVTOiIrIixDSEFSX1FVRVNUSU9OX01BUks6Ij8iLENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDoiPiIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToifSIsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDoiXSIsQ0hBUl9TRU1JQ09MT046IjsiLENIQVJfU0lOR0xFX1FVT1RFOiInIixDSEFSX1NQQUNFOiIgIixDSEFSX1RBQjoiCSIsQ0hBUl9VTkRFUlNDT1JFOiJfIixDSEFSX1ZFUlRJQ0FMX0xJTkU6InwiLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOiJcdUZFRkYifX0pO3ZhciBObT14KChzNixNbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBtRT1ocygpLHtNQVhfTEVOR1RIOnFtLENIQVJfQkFDS1NMQVNIOmRsLENIQVJfQkFDS1RJQ0s6Z0UsQ0hBUl9DT01NQTp5RSxDSEFSX0RPVDpiRSxDSEFSX0xFRlRfUEFSRU5USEVTRVM6d0UsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzp2RSxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6eEUsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRTprRSxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6JG0sQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpMbSxDSEFSX0RPVUJMRV9RVU9URTpTRSxDSEFSX1NJTkdMRV9RVU9URTpBRSxDSEFSX05PX0JSRUFLX1NQQUNFOkNFLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOl9FfT1EbSgpLEVFPShyLGU9e30pPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7bGV0IHQ9ZXx8e30saT10eXBlb2YgdC5tYXhMZW5ndGg9PSJudW1iZXIiP01hdGgubWluKHFtLHQubWF4TGVuZ3RoKTpxbTtpZihyLmxlbmd0aD5pKXRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoICgke3IubGVuZ3RofSksIGV4Y2VlZHMgbWF4IGNoYXJhY3RlcnMgKCR7aX0pYCk7bGV0IG49e3R5cGU6InJvb3QiLGlucHV0OnIsbm9kZXM6W119LHM9W25dLGE9bixvPW4sbD0wLGM9ci5sZW5ndGgsZj0wLGQ9MCxwLGg9KCk9PnJbZisrXSxiPXY9PntpZih2LnR5cGU9PT0idGV4dCImJm8udHlwZT09PSJkb3QiJiYoby50eXBlPSJ0ZXh0IiksbyYmby50eXBlPT09InRleHQiJiZ2LnR5cGU9PT0idGV4dCIpe28udmFsdWUrPXYudmFsdWU7cmV0dXJufXJldHVybiBhLm5vZGVzLnB1c2godiksdi5wYXJlbnQ9YSx2LnByZXY9byxvPXYsdn07Zm9yKGIoe3R5cGU6ImJvcyJ9KTtmPGM7KWlmKGE9c1tzLmxlbmd0aC0xXSxwPWgoKSwhKHA9PT1fRXx8cD09PUNFKSl7aWYocD09PWRsKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTooZS5rZWVwRXNjYXBpbmc/cDoiIikraCgpfSk7Y29udGludWV9aWYocD09PUxtKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZToiXFwiK3B9KTtjb250aW51ZX1pZihwPT09JG0pe2wrKztsZXQgdjtmb3IoO2Y8YyYmKHY9aCgpKTspe2lmKHArPXYsdj09PSRtKXtsKys7Y29udGludWV9aWYodj09PWRsKXtwKz1oKCk7Y29udGludWV9aWYodj09PUxtJiYobC0tLGw9PT0wKSlicmVha31iKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXdFKXthPWIoe3R5cGU6InBhcmVuIixub2RlczpbXX0pLHMucHVzaChhKSxiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXZFKXtpZihhLnR5cGUhPT0icGFyZW4iKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9YT1zLnBvcCgpLGIoe3R5cGU6InRleHQiLHZhbHVlOnB9KSxhPXNbcy5sZW5ndGgtMV07Y29udGludWV9aWYocD09PVNFfHxwPT09QUV8fHA9PT1nRSl7bGV0IHY9cCx5O2ZvcihlLmtlZXBRdW90ZXMhPT0hMCYmKHA9IiIpO2Y8YyYmKHk9aCgpKTspe2lmKHk9PT1kbCl7cCs9eStoKCk7Y29udGludWV9aWYoeT09PXYpe2Uua2VlcFF1b3Rlcz09PSEwJiYocCs9eSk7YnJlYWt9cCs9eX1iKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXhFKXtkKys7bGV0IHY9by52YWx1ZSYmby52YWx1ZS5zbGljZSgtMSk9PT0iJCJ8fGEuZG9sbGFyPT09ITA7YT1iKHt0eXBlOiJicmFjZSIsb3BlbjohMCxjbG9zZTohMSxkb2xsYXI6dixkZXB0aDpkLGNvbW1hczowLHJhbmdlczowLG5vZGVzOltdfSkscy5wdXNoKGEpLGIoe3R5cGU6Im9wZW4iLHZhbHVlOnB9KTtjb250aW51ZX1pZihwPT09a0Upe2lmKGEudHlwZSE9PSJicmFjZSIpe2Ioe3R5cGU6InRleHQiLHZhbHVlOnB9KTtjb250aW51ZX1sZXQgdj0iY2xvc2UiO2E9cy5wb3AoKSxhLmNsb3NlPSEwLGIoe3R5cGU6dix2YWx1ZTpwfSksZC0tLGE9c1tzLmxlbmd0aC0xXTtjb250aW51ZX1pZihwPT09eUUmJmQ+MCl7aWYoYS5yYW5nZXM+MCl7YS5yYW5nZXM9MDtsZXQgdj1hLm5vZGVzLnNoaWZ0KCk7YS5ub2Rlcz1bdix7dHlwZToidGV4dCIsdmFsdWU6bUUoYSl9XX1iKHt0eXBlOiJjb21tYSIsdmFsdWU6cH0pLGEuY29tbWFzKys7Y29udGludWV9aWYocD09PWJFJiZkPjAmJmEuY29tbWFzPT09MCl7bGV0IHY9YS5ub2RlcztpZihkPT09MHx8di5sZW5ndGg9PT0wKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYoby50eXBlPT09ImRvdCIpe2lmKGEucmFuZ2U9W10sby52YWx1ZSs9cCxvLnR5cGU9InJhbmdlIixhLm5vZGVzLmxlbmd0aCE9PTMmJmEubm9kZXMubGVuZ3RoIT09NSl7YS5pbnZhbGlkPSEwLGEucmFuZ2VzPTAsby50eXBlPSJ0ZXh0Ijtjb250aW51ZX1hLnJhbmdlcysrLGEuYXJncz1bXTtjb250aW51ZX1pZihvLnR5cGU9PT0icmFuZ2UiKXt2LnBvcCgpO2xldCB5PXZbdi5sZW5ndGgtMV07eS52YWx1ZSs9by52YWx1ZStwLG89eSxhLnJhbmdlcy0tO2NvbnRpbnVlfWIoe3R5cGU6ImRvdCIsdmFsdWU6cH0pO2NvbnRpbnVlfWIoe3R5cGU6InRleHQiLHZhbHVlOnB9KX1kbyBpZihhPXMucG9wKCksYS50eXBlIT09InJvb3QiKXthLm5vZGVzLmZvckVhY2godz0+e3cubm9kZXN8fCh3LnR5cGU9PT0ib3BlbiImJih3LmlzT3Blbj0hMCksdy50eXBlPT09ImNsb3NlIiYmKHcuaXNDbG9zZT0hMCksdy5ub2Rlc3x8KHcudHlwZT0idGV4dCIpLHcuaW52YWxpZD0hMCl9KTtsZXQgdj1zW3MubGVuZ3RoLTFdLHk9di5ub2Rlcy5pbmRleE9mKGEpO3Yubm9kZXMuc3BsaWNlKHksMSwuLi5hLm5vZGVzKX13aGlsZShzLmxlbmd0aD4wKTtyZXR1cm4gYih7dHlwZToiZW9zIn0pLG59O01tLmV4cG9ydHM9RUV9KTt2YXIgam09eCgoYTYsRm0pPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgQm09aHMoKSxPRT1PbSgpLFRFPVBtKCksUkU9Tm0oKSxMZT0ocixlPXt9KT0+e2xldCB0PVtdO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBpIG9mIHIpe2xldCBuPUxlLmNyZWF0ZShpLGUpO0FycmF5LmlzQXJyYXkobik/dC5wdXNoKC4uLm4pOnQucHVzaChuKX1lbHNlIHQ9W10uY29uY2F0KExlLmNyZWF0ZShyLGUpKTtyZXR1cm4gZSYmZS5leHBhbmQ9PT0hMCYmZS5ub2R1cGVzPT09ITAmJih0PVsuLi5uZXcgU2V0KHQpXSksdH07TGUucGFyc2U9KHIsZT17fSk9PlJFKHIsZSk7TGUuc3RyaW5naWZ5PShyLGU9e30pPT50eXBlb2Ygcj09InN0cmluZyI/Qm0oTGUucGFyc2UocixlKSxlKTpCbShyLGUpO0xlLmNvbXBpbGU9KHIsZT17fSk9Pih0eXBlb2Ygcj09InN0cmluZyImJihyPUxlLnBhcnNlKHIsZSkpLE9FKHIsZSkpO0xlLmV4cGFuZD0ocixlPXt9KT0+e3R5cGVvZiByPT0ic3RyaW5nIiYmKHI9TGUucGFyc2UocixlKSk7bGV0IHQ9VEUocixlKTtyZXR1cm4gZS5ub2VtcHR5PT09ITAmJih0PXQuZmlsdGVyKEJvb2xlYW4pKSxlLm5vZHVwZXM9PT0hMCYmKHQ9Wy4uLm5ldyBTZXQodCldKSx0fTtMZS5jcmVhdGU9KHIsZT17fSk9PnI9PT0iInx8ci5sZW5ndGg8Mz9bcl06ZS5leHBhbmQhPT0hMD9MZS5jb21waWxlKHIsZSk6TGUuZXhwYW5kKHIsZSk7Rm0uZXhwb3J0cz1MZX0pO3ZhciBEaT14KChvNixXbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBQRT0oZXQoKSxVciksYXQ9IlxcXFwvIix6bT1gW14ke2F0fV1gLHl0PSJcXC4iLElFPSJcXCsiLERFPSJcXD8iLHlzPSJcXC8iLHFFPSIoPz0uKSIsVW09IlteL10iLGhsPWAoPzoke3lzfXwkKWAsVm09YCg/Ol58JHt5c30pYCxtbD1gJHt5dH17MSwyfSR7aGx9YCwkRT1gKD8hJHt5dH0pYCxMRT1gKD8hJHtWbX0ke21sfSlgLE1FPWAoPyEke3l0fXswLDF9JHtobH0pYCxORT1gKD8hJHttbH0pYCxCRT1gW14uJHt5c31dYCxGRT1gJHtVbX0qP2AsSG09e0RPVF9MSVRFUkFMOnl0LFBMVVNfTElURVJBTDpJRSxRTUFSS19MSVRFUkFMOkRFLFNMQVNIX0xJVEVSQUw6eXMsT05FX0NIQVI6cUUsUU1BUks6VW0sRU5EX0FOQ0hPUjpobCxET1RTX1NMQVNIOm1sLE5PX0RPVDokRSxOT19ET1RTOkxFLE5PX0RPVF9TTEFTSDpNRSxOT19ET1RTX1NMQVNIOk5FLFFNQVJLX05PX0RPVDpCRSxTVEFSOkZFLFNUQVJUX0FOQ0hPUjpWbX0sakU9ey4uLkhtLFNMQVNIX0xJVEVSQUw6YFske2F0fV1gLFFNQVJLOnptLFNUQVI6YCR7em19Kj9gLERPVFNfU0xBU0g6YCR7eXR9ezEsMn0oPzpbJHthdH1dfCQpYCxOT19ET1Q6YCg/ISR7eXR9KWAsTk9fRE9UUzpgKD8hKD86XnxbJHthdH1dKSR7eXR9ezEsMn0oPzpbJHthdH1dfCQpKWAsTk9fRE9UX1NMQVNIOmAoPyEke3l0fXswLDF9KD86WyR7YXR9XXwkKSlgLE5PX0RPVFNfU0xBU0g6YCg/ISR7eXR9ezEsMn0oPzpbJHthdH1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2F0fV1gLFNUQVJUX0FOQ0hPUjpgKD86XnxbJHthdH1dKWAsRU5EX0FOQ0hPUjpgKD86WyR7YXR9XXwkKWB9LHpFPXthbG51bToiYS16QS1aMC05IixhbHBoYToiYS16QS1aIixhc2NpaToiXFx4MDAtXFx4N0YiLGJsYW5rOiIgXFx0IixjbnRybDoiXFx4MDAtXFx4MUZcXHg3RiIsZGlnaXQ6IjAtOSIsZ3JhcGg6IlxceDIxLVxceDdFIixsb3dlcjoiYS16IixwcmludDoiXFx4MjAtXFx4N0UgIixwdW5jdDoiXFwtIVwiIyQlJicoKVxcKissLi86Ozw9Pj9AW1xcXV5fYHt8fX4iLHNwYWNlOiIgXFx0XFxyXFxuXFx2XFxmIix1cHBlcjoiQS1aIix3b3JkOiJBLVphLXowLTlfIix4ZGlnaXQ6IkEtRmEtZjAtOSJ9O1dtLmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6ekUsUkVHRVhfQkFDS1NMQVNIOi9cXCg/IVsqKz9eJHt9KHwpW1xdXSkvZyxSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzovXlteQCFbXF0uLCQqKz9ee30oKXxcXC9dKy8sUkVHRVhfU1BFQ0lBTF9DSEFSUzovWy0qKz8uXiR7fSh8KVtcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcPykoKFxXKShcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXV0pL2csUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDovKD86XFsuKj9bXlxcXVxdfFxcKD89LikpL2csUkVQTEFDRU1FTlRTOnsiKioqIjoiKiIsIioqLyoqIjoiKioiLCIqKi8qKi8qKiI6IioqIn0sQ0hBUl8wOjQ4LENIQVJfOTo1NyxDSEFSX1VQUEVSQ0FTRV9BOjY1LENIQVJfTE9XRVJDQVNFX0E6OTcsQ0hBUl9VUFBFUkNBU0VfWjo5MCxDSEFSX0xPV0VSQ0FTRV9aOjEyMixDSEFSX0xFRlRfUEFSRU5USEVTRVM6NDAsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzo0MSxDSEFSX0FTVEVSSVNLOjQyLENIQVJfQU1QRVJTQU5EOjM4LENIQVJfQVQ6NjQsQ0hBUl9CQUNLV0FSRF9TTEFTSDo5MixDSEFSX0NBUlJJQUdFX1JFVFVSTjoxMyxDSEFSX0NJUkNVTUZMRVhfQUNDRU5UOjk0LENIQVJfQ09MT046NTgsQ0hBUl9DT01NQTo0NCxDSEFSX0RPVDo0NixDSEFSX0RPVUJMRV9RVU9URTozNCxDSEFSX0VRVUFMOjYxLENIQVJfRVhDTEFNQVRJT05fTUFSSzozMyxDSEFSX0ZPUk1fRkVFRDoxMixDSEFSX0ZPUldBUkRfU0xBU0g6NDcsQ0hBUl9HUkFWRV9BQ0NFTlQ6OTYsQ0hBUl9IQVNIOjM1LENIQVJfSFlQSEVOX01JTlVTOjQ1LENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOjYwLENIQVJfTEVGVF9DVVJMWV9CUkFDRToxMjMsQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUOjkxLENIQVJfTElORV9GRUVEOjEwLENIQVJfTk9fQlJFQUtfU1BBQ0U6MTYwLENIQVJfUEVSQ0VOVDozNyxDSEFSX1BMVVM6NDMsQ0hBUl9RVUVTVElPTl9NQVJLOjYzLENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDo2MixDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOjEyNSxDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUOjkzLENIQVJfU0VNSUNPTE9OOjU5LENIQVJfU0lOR0xFX1FVT1RFOjM5LENIQVJfU1BBQ0U6MzIsQ0hBUl9UQUI6OSxDSEFSX1VOREVSU0NPUkU6OTUsQ0hBUl9WRVJUSUNBTF9MSU5FOjEyNCxDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRTo2NTI3OSxTRVA6UEUuc2VwLGV4dGdsb2JDaGFycyhyKXtyZXR1cm57IiEiOnt0eXBlOiJuZWdhdGUiLG9wZW46Iig/Oig/ISg/OiIsY2xvc2U6YCkpJHtyLlNUQVJ9KWB9LCI/Ijp7dHlwZToicW1hcmsiLG9wZW46Iig/OiIsY2xvc2U6Iik/In0sIisiOnt0eXBlOiJwbHVzIixvcGVuOiIoPzoiLGNsb3NlOiIpKyJ9LCIqIjp7dHlwZToic3RhciIsb3BlbjoiKD86IixjbG9zZToiKSoifSwiQCI6e3R5cGU6ImF0IixvcGVuOiIoPzoiLGNsb3NlOiIpIn19fSxnbG9iQ2hhcnMocil7cmV0dXJuIHI9PT0hMD9qRTpIbX19fSk7dmFyIHFpPXgoUmU9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBVRT0oZXQoKSxVciksVkU9bS5wbGF0Zm9ybT09PSJ3aW4zMiIse1JFR0VYX0JBQ0tTTEFTSDpIRSxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOldFLFJFR0VYX1NQRUNJQUxfQ0hBUlM6R0UsUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUw6UUV9PURpKCk7UmUuaXNPYmplY3Q9cj0+ciE9PW51bGwmJnR5cGVvZiByPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkocik7UmUuaGFzUmVnZXhDaGFycz1yPT5HRS50ZXN0KHIpO1JlLmlzUmVnZXhDaGFyPXI9PnIubGVuZ3RoPT09MSYmUmUuaGFzUmVnZXhDaGFycyhyKTtSZS5lc2NhcGVSZWdleD1yPT5yLnJlcGxhY2UoUUUsIlxcJDEiKTtSZS50b1Bvc2l4U2xhc2hlcz1yPT5yLnJlcGxhY2UoSEUsIi8iKTtSZS5yZW1vdmVCYWNrc2xhc2hlcz1yPT5yLnJlcGxhY2UoV0UsZT0+ZT09PSJcXCI/IiI6ZSk7UmUuc3VwcG9ydHNMb29rYmVoaW5kcz0oKT0+e2xldCByPW0udmVyc2lvbi5zbGljZSgxKS5zcGxpdCgiLiIpLm1hcChOdW1iZXIpO3JldHVybiByLmxlbmd0aD09PTMmJnJbMF0+PTl8fHJbMF09PT04JiZyWzFdPj0xMH07UmUuaXNXaW5kb3dzPXI9PnImJnR5cGVvZiByLndpbmRvd3M9PSJib29sZWFuIj9yLndpbmRvd3M6VkU9PT0hMHx8VUUuc2VwPT09IlxcIjtSZS5lc2NhcGVMYXN0PShyLGUsdCk9PntsZXQgaT1yLmxhc3RJbmRleE9mKGUsdCk7cmV0dXJuIGk9PT0tMT9yOnJbaS0xXT09PSJcXCI/UmUuZXNjYXBlTGFzdChyLGUsaS0xKTpgJHtyLnNsaWNlKDAsaSl9XFwke3Iuc2xpY2UoaSl9YH07UmUucmVtb3ZlUHJlZml4PShyLGU9e30pPT57bGV0IHQ9cjtyZXR1cm4gdC5zdGFydHNXaXRoKCIuLyIpJiYodD10LnNsaWNlKDIpLGUucHJlZml4PSIuLyIpLHR9O1JlLndyYXBPdXRwdXQ9KHIsZT17fSx0PXt9KT0+e2xldCBpPXQuY29udGFpbnM/IiI6Il4iLG49dC5jb250YWlucz8iIjoiJCIscz1gJHtpfSg/OiR7cn0pJHtufWA7cmV0dXJuIGUubmVnYXRlZD09PSEwJiYocz1gKD86Xig/ISR7c30pLiokKWApLHN9fSk7dmFyIGVnPXgoKHU2LEptKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIEdtPXFpKCkse0NIQVJfQVNURVJJU0s6Z2wsQ0hBUl9BVDpZRSxDSEFSX0JBQ0tXQVJEX1NMQVNIOiRpLENIQVJfQ09NTUE6S0UsQ0hBUl9ET1Q6eWwsQ0hBUl9FWENMQU1BVElPTl9NQVJLOmJsLENIQVJfRk9SV0FSRF9TTEFTSDpRbSxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6d2wsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOnZsLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpYRSxDSEFSX1BMVVM6WkUsQ0hBUl9RVUVTVElPTl9NQVJLOlltLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6SkUsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzpLbSxDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUOmUyfT1EaSgpLFhtPXI9PnI9PT1RbXx8cj09PSRpLFptPXI9PntyLmlzUHJlZml4IT09ITAmJihyLmRlcHRoPXIuaXNHbG9ic3Rhcj8xLzA6MSl9LHQyPShyLGUpPT57bGV0IHQ9ZXx8e30saT1yLmxlbmd0aC0xLG49dC5wYXJ0cz09PSEwfHx0LnNjYW5Ub0VuZD09PSEwLHM9W10sYT1bXSxvPVtdLGw9cixjPS0xLGY9MCxkPTAscD0hMSxoPSExLGI9ITEsdj0hMSx5PSExLHc9ITEsaz0hMSxTPSExLEU9ITEsVD0hMSxCPTAsTixSLEY9e3ZhbHVlOiIiLGRlcHRoOjAsaXNHbG9iOiExfSxZPSgpPT5jPj1pLF89KCk9PmwuY2hhckNvZGVBdChjKzEpLFE9KCk9PihOPVIsbC5jaGFyQ29kZUF0KCsrYykpO2Zvcig7YzxpOyl7Uj1RKCk7bGV0IGhlO2lmKFI9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFI9USgpLFI9PT13bCYmKHc9ITApO2NvbnRpbnVlfWlmKHc9PT0hMHx8Uj09PXdsKXtmb3IoQisrO1koKSE9PSEwJiYoUj1RKCkpOyl7aWYoUj09PSRpKXtrPUYuYmFja3NsYXNoZXM9ITAsUSgpO2NvbnRpbnVlfWlmKFI9PT13bCl7QisrO2NvbnRpbnVlfWlmKHchPT0hMCYmUj09PXlsJiYoUj1RKCkpPT09eWwpe2lmKHA9Ri5pc0JyYWNlPSEwLGI9Ri5pc0dsb2I9ITAsVD0hMCxuPT09ITApY29udGludWU7YnJlYWt9aWYodyE9PSEwJiZSPT09S0Upe2lmKHA9Ri5pc0JyYWNlPSEwLGI9Ri5pc0dsb2I9ITAsVD0hMCxuPT09ITApY29udGludWU7YnJlYWt9aWYoUj09PUpFJiYoQi0tLEI9PT0wKSl7dz0hMSxwPUYuaXNCcmFjZT0hMCxUPSEwO2JyZWFrfX1pZihuPT09ITApY29udGludWU7YnJlYWt9aWYoUj09PVFtKXtpZihzLnB1c2goYyksYS5wdXNoKEYpLEY9e3ZhbHVlOiIiLGRlcHRoOjAsaXNHbG9iOiExfSxUPT09ITApY29udGludWU7aWYoTj09PXlsJiZjPT09ZisxKXtmKz0yO2NvbnRpbnVlfWQ9YysxO2NvbnRpbnVlfWlmKHQubm9leHQhPT0hMCYmKFI9PT1aRXx8Uj09PVlFfHxSPT09Z2x8fFI9PT1ZbXx8Uj09PWJsKT09PSEwJiZfKCk9PT12bCl7aWYoYj1GLmlzR2xvYj0hMCx2PUYuaXNFeHRnbG9iPSEwLFQ9ITAsUj09PWJsJiZjPT09ZiYmKEU9ITApLG49PT0hMCl7Zm9yKDtZKCkhPT0hMCYmKFI9USgpKTspe2lmKFI9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFI9USgpO2NvbnRpbnVlfWlmKFI9PT1LbSl7Yj1GLmlzR2xvYj0hMCxUPSEwO2JyZWFrfX1jb250aW51ZX1icmVha31pZihSPT09Z2wpe2lmKE49PT1nbCYmKHk9Ri5pc0dsb2JzdGFyPSEwKSxiPUYuaXNHbG9iPSEwLFQ9ITAsbj09PSEwKWNvbnRpbnVlO2JyZWFrfWlmKFI9PT1ZbSl7aWYoYj1GLmlzR2xvYj0hMCxUPSEwLG49PT0hMCljb250aW51ZTticmVha31pZihSPT09WEUpe2Zvcig7WSgpIT09ITAmJihoZT1RKCkpOyl7aWYoaGU9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFEoKTtjb250aW51ZX1pZihoZT09PWUyKXtoPUYuaXNCcmFja2V0PSEwLGI9Ri5pc0dsb2I9ITAsVD0hMDticmVha319aWYobj09PSEwKWNvbnRpbnVlO2JyZWFrfWlmKHQubm9uZWdhdGUhPT0hMCYmUj09PWJsJiZjPT09Zil7Uz1GLm5lZ2F0ZWQ9ITAsZisrO2NvbnRpbnVlfWlmKHQubm9wYXJlbiE9PSEwJiZSPT09dmwpe2lmKGI9Ri5pc0dsb2I9ITAsbj09PSEwKXtmb3IoO1koKSE9PSEwJiYoUj1RKCkpOyl7aWYoUj09PXZsKXtrPUYuYmFja3NsYXNoZXM9ITAsUj1RKCk7Y29udGludWV9aWYoUj09PUttKXtUPSEwO2JyZWFrfX1jb250aW51ZX1icmVha31pZihiPT09ITApe2lmKFQ9ITAsbj09PSEwKWNvbnRpbnVlO2JyZWFrfX10Lm5vZXh0PT09ITAmJih2PSExLGI9ITEpO2xldCBVPWwsbGU9IiIsQT0iIjtmPjAmJihsZT1sLnNsaWNlKDAsZiksbD1sLnNsaWNlKGYpLGQtPWYpLFUmJmI9PT0hMCYmZD4wPyhVPWwuc2xpY2UoMCxkKSxBPWwuc2xpY2UoZCkpOmI9PT0hMD8oVT0iIixBPWwpOlU9bCxVJiZVIT09IiImJlUhPT0iLyImJlUhPT1sJiZYbShVLmNoYXJDb2RlQXQoVS5sZW5ndGgtMSkpJiYoVT1VLnNsaWNlKDAsLTEpKSx0LnVuZXNjYXBlPT09ITAmJihBJiYoQT1HbS5yZW1vdmVCYWNrc2xhc2hlcyhBKSksVSYmaz09PSEwJiYoVT1HbS5yZW1vdmVCYWNrc2xhc2hlcyhVKSkpO2xldCBDPXtwcmVmaXg6bGUsaW5wdXQ6cixzdGFydDpmLGJhc2U6VSxnbG9iOkEsaXNCcmFjZTpwLGlzQnJhY2tldDpoLGlzR2xvYjpiLGlzRXh0Z2xvYjp2LGlzR2xvYnN0YXI6eSxuZWdhdGVkOlMsbmVnYXRlZEV4dGdsb2I6RX07aWYodC50b2tlbnM9PT0hMCYmKEMubWF4RGVwdGg9MCxYbShSKXx8YS5wdXNoKEYpLEMudG9rZW5zPWEpLHQucGFydHM9PT0hMHx8dC50b2tlbnM9PT0hMCl7bGV0IGhlO2ZvcihsZXQgVj0wO1Y8cy5sZW5ndGg7VisrKXtsZXQgRWU9aGU/aGUrMTpmLEllPXNbVl0sRGU9ci5zbGljZShFZSxJZSk7dC50b2tlbnMmJihWPT09MCYmZiE9PTA/KGFbVl0uaXNQcmVmaXg9ITAsYVtWXS52YWx1ZT1sZSk6YVtWXS52YWx1ZT1EZSxabShhW1ZdKSxDLm1heERlcHRoKz1hW1ZdLmRlcHRoKSwoViE9PTB8fERlIT09IiIpJiZvLnB1c2goRGUpLGhlPUllfWlmKGhlJiZoZSsxPHIubGVuZ3RoKXtsZXQgVj1yLnNsaWNlKGhlKzEpO28ucHVzaChWKSx0LnRva2VucyYmKGFbYS5sZW5ndGgtMV0udmFsdWU9VixabShhW2EubGVuZ3RoLTFdKSxDLm1heERlcHRoKz1hW2EubGVuZ3RoLTFdLmRlcHRoKX1DLnNsYXNoZXM9cyxDLnBhcnRzPW99cmV0dXJuIEN9O0ptLmV4cG9ydHM9dDJ9KTt2YXIgaWc9eCgoZjYscmcpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYnM9RGkoKSxNZT1xaSgpLHtNQVhfTEVOR1RIOndzLFBPU0lYX1JFR0VYX1NPVVJDRTpyMixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzppMixSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUY6bjIsUkVQTEFDRU1FTlRTOnRnfT1icyxzMj0ocixlKT0+e2lmKHR5cGVvZiBlLmV4cGFuZFJhbmdlPT0iZnVuY3Rpb24iKXJldHVybiBlLmV4cGFuZFJhbmdlKC4uLnIsZSk7ci5zb3J0KCk7bGV0IHQ9YFske3Iuam9pbigiLSIpfV1gO3RyeXtuZXcgUmVnRXhwKHQpfWNhdGNoKGkpe3JldHVybiByLm1hcChuPT5NZS5lc2NhcGVSZWdleChuKSkuam9pbigiLi4iKX1yZXR1cm4gdH0sZ3I9KHIsZSk9PmBNaXNzaW5nICR7cn06ICIke2V9IiAtIHVzZSAiXFxcXCR7ZX0iIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2AseGw9KHIsZSk9PntpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBzdHJpbmciKTtyPXRnW3JdfHxyO2xldCB0PXsuLi5lfSxpPXR5cGVvZiB0Lm1heExlbmd0aD09Im51bWJlciI/TWF0aC5taW4od3MsdC5tYXhMZW5ndGgpOndzLG49ci5sZW5ndGg7aWYobj5pKXRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke259LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7aX1gKTtsZXQgcz17dHlwZToiYm9zIix2YWx1ZToiIixvdXRwdXQ6dC5wcmVwZW5kfHwiIn0sYT1bc10sbz10LmNhcHR1cmU/IiI6Ij86IixsPU1lLmlzV2luZG93cyhlKSxjPWJzLmdsb2JDaGFycyhsKSxmPWJzLmV4dGdsb2JDaGFycyhjKSx7RE9UX0xJVEVSQUw6ZCxQTFVTX0xJVEVSQUw6cCxTTEFTSF9MSVRFUkFMOmgsT05FX0NIQVI6YixET1RTX1NMQVNIOnYsTk9fRE9UOnksTk9fRE9UX1NMQVNIOncsTk9fRE9UU19TTEFTSDprLFFNQVJLOlMsUU1BUktfTk9fRE9UOkUsU1RBUjpULFNUQVJUX0FOQ0hPUjpCfT1jLE49JD0+YCgke299KD86KD8hJHtCfSR7JC5kb3Q/djpkfSkuKSo/KWAsUj10LmRvdD8iIjp5LEY9dC5kb3Q/UzpFLFk9dC5iYXNoPT09ITA/Tih0KTpUO3QuY2FwdHVyZSYmKFk9YCgke1l9KWApLHR5cGVvZiB0Lm5vZXh0PT0iYm9vbGVhbiImJih0Lm5vZXh0Z2xvYj10Lm5vZXh0KTtsZXQgXz17aW5wdXQ6cixpbmRleDotMSxzdGFydDowLGRvdDp0LmRvdD09PSEwLGNvbnN1bWVkOiIiLG91dHB1dDoiIixwcmVmaXg6IiIsYmFja3RyYWNrOiExLG5lZ2F0ZWQ6ITEsYnJhY2tldHM6MCxicmFjZXM6MCxwYXJlbnM6MCxxdW90ZXM6MCxnbG9ic3RhcjohMSx0b2tlbnM6YX07cj1NZS5yZW1vdmVQcmVmaXgocixfKSxuPXIubGVuZ3RoO2xldCBRPVtdLFU9W10sbGU9W10sQT1zLEMsaGU9KCk9Pl8uaW5kZXg9PT1uLTEsVj1fLnBlZWs9KCQ9MSk9PnJbXy5pbmRleCskXSxFZT1fLmFkdmFuY2U9KCk9PnJbKytfLmluZGV4XXx8IiIsSWU9KCk9PnIuc2xpY2UoXy5pbmRleCsxKSxEZT0oJD0iIixhZT0wKT0+e18uY29uc3VtZWQrPSQsXy5pbmRleCs9YWV9LGppPSQ9PntfLm91dHB1dCs9JC5vdXRwdXQhPW51bGw/JC5vdXRwdXQ6JC52YWx1ZSxEZSgkLnZhbHVlKX0sSXY9KCk9PntsZXQgJD0xO2Zvcig7VigpPT09IiEiJiYoVigyKSE9PSIoInx8VigzKT09PSI/Iik7KUVlKCksXy5zdGFydCsrLCQrKztyZXR1cm4gJCUyPT0wPyExOihfLm5lZ2F0ZWQ9ITAsXy5zdGFydCsrLCEwKX0semk9JD0+e19bJF0rKyxsZS5wdXNoKCQpfSxGdD0kPT57X1skXS0tLGxlLnBvcCgpfSxXPSQ9PntpZihBLnR5cGU9PT0iZ2xvYnN0YXIiKXtsZXQgYWU9Xy5icmFjZXM+MCYmKCQudHlwZT09PSJjb21tYSJ8fCQudHlwZT09PSJicmFjZSIpLEk9JC5leHRnbG9iPT09ITB8fFEubGVuZ3RoJiYoJC50eXBlPT09InBpcGUifHwkLnR5cGU9PT0icGFyZW4iKTskLnR5cGUhPT0ic2xhc2giJiYkLnR5cGUhPT0icGFyZW4iJiYhYWUmJiFJJiYoXy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtQS5vdXRwdXQubGVuZ3RoKSxBLnR5cGU9InN0YXIiLEEudmFsdWU9IioiLEEub3V0cHV0PVksXy5vdXRwdXQrPUEub3V0cHV0KX1pZihRLmxlbmd0aCYmJC50eXBlIT09InBhcmVuIiYmKFFbUS5sZW5ndGgtMV0uaW5uZXIrPSQudmFsdWUpLCgkLnZhbHVlfHwkLm91dHB1dCkmJmppKCQpLEEmJkEudHlwZT09PSJ0ZXh0IiYmJC50eXBlPT09InRleHQiKXtBLnZhbHVlKz0kLnZhbHVlLEEub3V0cHV0PShBLm91dHB1dHx8IiIpKyQudmFsdWU7cmV0dXJufSQucHJldj1BLGEucHVzaCgkKSxBPSR9LFVpPSgkLGFlKT0+e2xldCBJPXsuLi5mW2FlXSxjb25kaXRpb25zOjEsaW5uZXI6IiJ9O0kucHJldj1BLEkucGFyZW5zPV8ucGFyZW5zLEkub3V0cHV0PV8ub3V0cHV0O2xldCBIPSh0LmNhcHR1cmU/IigiOiIiKStJLm9wZW47emkoInBhcmVucyIpLFcoe3R5cGU6JCx2YWx1ZTphZSxvdXRwdXQ6Xy5vdXRwdXQ/IiI6Yn0pLFcoe3R5cGU6InBhcmVuIixleHRnbG9iOiEwLHZhbHVlOkVlKCksb3V0cHV0Okh9KSxRLnB1c2goSSl9LER2PSQ9PntsZXQgYWU9JC5jbG9zZSsodC5jYXB0dXJlPyIpIjoiIiksSTtpZigkLnR5cGU9PT0ibmVnYXRlIil7bGV0IEg9WTtpZigkLmlubmVyJiYkLmlubmVyLmxlbmd0aD4xJiYkLmlubmVyLmluY2x1ZGVzKCIvIikmJihIPU4odCkpLChIIT09WXx8aGUoKXx8L15cKSskLy50ZXN0KEllKCkpKSYmKGFlPSQuY2xvc2U9YCkkKSkke0h9YCksJC5pbm5lci5pbmNsdWRlcygiKiIpJiYoST1JZSgpKSYmL15cLlteXFwvLl0rJC8udGVzdChJKSl7bGV0IGNlPXhsKEksey4uLmUsZmFzdHBhdGhzOiExfSkub3V0cHV0O2FlPSQuY2xvc2U9YCkke2NlfSkke0h9KWB9JC5wcmV2LnR5cGU9PT0iYm9zIiYmKF8ubmVnYXRlZEV4dGdsb2I9ITApfVcoe3R5cGU6InBhcmVuIixleHRnbG9iOiEwLHZhbHVlOkMsb3V0cHV0OmFlfSksRnQoInBhcmVucyIpfTtpZih0LmZhc3RwYXRocyE9PSExJiYhLyheWyohXXxbLygpW1xde30iXSkvLnRlc3Qocikpe2xldCAkPSExLGFlPXIucmVwbGFjZShuMiwoSSxILGNlLENlLHllLEJzKT0+Q2U9PT0iXFwiPygkPSEwLEkpOkNlPT09Ij8iP0g/SCtDZSsoeWU/Uy5yZXBlYXQoeWUubGVuZ3RoKToiIik6QnM9PT0wP0YrKHllP1MucmVwZWF0KHllLmxlbmd0aCk6IiIpOlMucmVwZWF0KGNlLmxlbmd0aCk6Q2U9PT0iLiI/ZC5yZXBlYXQoY2UubGVuZ3RoKTpDZT09PSIqIj9IP0grQ2UrKHllP1k6IiIpOlk6SD9JOmBcXCR7SX1gKTtyZXR1cm4gJD09PSEwJiYodC51bmVzY2FwZT09PSEwP2FlPWFlLnJlcGxhY2UoL1xcL2csIiIpOmFlPWFlLnJlcGxhY2UoL1xcKy9nLEk9PkkubGVuZ3RoJTI9PTA/IlxcXFwiOkk/IlxcIjoiIikpLGFlPT09ciYmdC5jb250YWlucz09PSEwPyhfLm91dHB1dD1yLF8pOihfLm91dHB1dD1NZS53cmFwT3V0cHV0KGFlLF8sZSksXyl9Zm9yKDshaGUoKTspe2lmKEM9RWUoKSxDPT09IlwwIiljb250aW51ZTtpZihDPT09IlxcIil7bGV0IEk9VigpO2lmKEk9PT0iLyImJnQuYmFzaCE9PSEwfHxJPT09Ii4ifHxJPT09IjsiKWNvbnRpbnVlO2lmKCFJKXtDKz0iXFwiLFcoe3R5cGU6InRleHQiLHZhbHVlOkN9KTtjb250aW51ZX1sZXQgSD0vXlxcKy8uZXhlYyhJZSgpKSxjZT0wO2lmKEgmJkhbMF0ubGVuZ3RoPjImJihjZT1IWzBdLmxlbmd0aCxfLmluZGV4Kz1jZSxjZSUyIT0wJiYoQys9IlxcIikpLHQudW5lc2NhcGU9PT0hMD9DPUVlKCk6Qys9RWUoKSxfLmJyYWNrZXRzPT09MCl7Vyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfX1pZihfLmJyYWNrZXRzPjAmJihDIT09Il0ifHxBLnZhbHVlPT09IlsifHxBLnZhbHVlPT09IlteIikpe2lmKHQucG9zaXghPT0hMSYmQz09PSI6Iil7bGV0IEk9QS52YWx1ZS5zbGljZSgxKTtpZihJLmluY2x1ZGVzKCJbIikmJihBLnBvc2l4PSEwLEkuaW5jbHVkZXMoIjoiKSkpe2xldCBIPUEudmFsdWUubGFzdEluZGV4T2YoIlsiKSxjZT1BLnZhbHVlLnNsaWNlKDAsSCksQ2U9QS52YWx1ZS5zbGljZShIKzIpLHllPXIyW0NlXTtpZih5ZSl7QS52YWx1ZT1jZSt5ZSxfLmJhY2t0cmFjaz0hMCxFZSgpLCFzLm91dHB1dCYmYS5pbmRleE9mKEEpPT09MSYmKHMub3V0cHV0PWIpO2NvbnRpbnVlfX19KEM9PT0iWyImJlYoKSE9PSI6Inx8Qz09PSItIiYmVigpPT09Il0iKSYmKEM9YFxcJHtDfWApLEM9PT0iXSImJihBLnZhbHVlPT09IlsifHxBLnZhbHVlPT09IlteIikmJihDPWBcXCR7Q31gKSx0LnBvc2l4PT09ITAmJkM9PT0iISImJkEudmFsdWU9PT0iWyImJihDPSJeIiksQS52YWx1ZSs9QyxqaSh7dmFsdWU6Q30pO2NvbnRpbnVlfWlmKF8ucXVvdGVzPT09MSYmQyE9PSciJyl7Qz1NZS5lc2NhcGVSZWdleChDKSxBLnZhbHVlKz1DLGppKHt2YWx1ZTpDfSk7Y29udGludWV9aWYoQz09PSciJyl7Xy5xdW90ZXM9Xy5xdW90ZXM9PT0xPzA6MSx0LmtlZXBRdW90ZXM9PT0hMCYmVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iKCIpe3ppKCJwYXJlbnMiKSxXKHt0eXBlOiJwYXJlbiIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iKSIpe2lmKF8ucGFyZW5zPT09MCYmdC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigib3BlbmluZyIsIigiKSk7bGV0IEk9UVtRLmxlbmd0aC0xXTtpZihJJiZfLnBhcmVucz09PUkucGFyZW5zKzEpe0R2KFEucG9wKCkpO2NvbnRpbnVlfVcoe3R5cGU6InBhcmVuIix2YWx1ZTpDLG91dHB1dDpfLnBhcmVucz8iKSI6IlxcKSJ9KSxGdCgicGFyZW5zIik7Y29udGludWV9aWYoQz09PSJbIil7aWYodC5ub2JyYWNrZXQ9PT0hMHx8IUllKCkuaW5jbHVkZXMoIl0iKSl7aWYodC5ub2JyYWNrZXQhPT0hMCYmdC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigiY2xvc2luZyIsIl0iKSk7Qz1gXFwke0N9YH1lbHNlIHppKCJicmFja2V0cyIpO1coe3R5cGU6ImJyYWNrZXQiLHZhbHVlOkN9KTtjb250aW51ZX1pZihDPT09Il0iKXtpZih0Lm5vYnJhY2tldD09PSEwfHxBJiZBLnR5cGU9PT0iYnJhY2tldCImJkEudmFsdWUubGVuZ3RoPT09MSl7Vyh7dHlwZToidGV4dCIsdmFsdWU6QyxvdXRwdXQ6YFxcJHtDfWB9KTtjb250aW51ZX1pZihfLmJyYWNrZXRzPT09MCl7aWYodC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigib3BlbmluZyIsIlsiKSk7Vyh7dHlwZToidGV4dCIsdmFsdWU6QyxvdXRwdXQ6YFxcJHtDfWB9KTtjb250aW51ZX1GdCgiYnJhY2tldHMiKTtsZXQgST1BLnZhbHVlLnNsaWNlKDEpO2lmKEEucG9zaXghPT0hMCYmSVswXT09PSJeIiYmIUkuaW5jbHVkZXMoIi8iKSYmKEM9YC8ke0N9YCksQS52YWx1ZSs9QyxqaSh7dmFsdWU6Q30pLHQubGl0ZXJhbEJyYWNrZXRzPT09ITF8fE1lLmhhc1JlZ2V4Q2hhcnMoSSkpY29udGludWU7bGV0IEg9TWUuZXNjYXBlUmVnZXgoQS52YWx1ZSk7aWYoXy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtQS52YWx1ZS5sZW5ndGgpLHQubGl0ZXJhbEJyYWNrZXRzPT09ITApe18ub3V0cHV0Kz1ILEEudmFsdWU9SDtjb250aW51ZX1BLnZhbHVlPWAoJHtvfSR7SH18JHtBLnZhbHVlfSlgLF8ub3V0cHV0Kz1BLnZhbHVlO2NvbnRpbnVlfWlmKEM9PT0ieyImJnQubm9icmFjZSE9PSEwKXt6aSgiYnJhY2VzIik7bGV0IEk9e3R5cGU6ImJyYWNlIix2YWx1ZTpDLG91dHB1dDoiKCIsb3V0cHV0SW5kZXg6Xy5vdXRwdXQubGVuZ3RoLHRva2Vuc0luZGV4Ol8udG9rZW5zLmxlbmd0aH07VS5wdXNoKEkpLFcoSSk7Y29udGludWV9aWYoQz09PSJ9Iil7bGV0IEk9VVtVLmxlbmd0aC0xXTtpZih0Lm5vYnJhY2U9PT0hMHx8IUkpe1coe3R5cGU6InRleHQiLHZhbHVlOkMsb3V0cHV0OkN9KTtjb250aW51ZX1sZXQgSD0iKSI7aWYoSS5kb3RzPT09ITApe2xldCBjZT1hLnNsaWNlKCksQ2U9W107Zm9yKGxldCB5ZT1jZS5sZW5ndGgtMTt5ZT49MCYmKGEucG9wKCksY2VbeWVdLnR5cGUhPT0iYnJhY2UiKTt5ZS0tKWNlW3llXS50eXBlIT09ImRvdHMiJiZDZS51bnNoaWZ0KGNlW3llXS52YWx1ZSk7SD1zMihDZSx0KSxfLmJhY2t0cmFjaz0hMH1pZihJLmNvbW1hIT09ITAmJkkuZG90cyE9PSEwKXtsZXQgY2U9Xy5vdXRwdXQuc2xpY2UoMCxJLm91dHB1dEluZGV4KSxDZT1fLnRva2Vucy5zbGljZShJLnRva2Vuc0luZGV4KTtJLnZhbHVlPUkub3V0cHV0PSJcXHsiLEM9SD0iXFx9IixfLm91dHB1dD1jZTtmb3IobGV0IHllIG9mIENlKV8ub3V0cHV0Kz15ZS5vdXRwdXR8fHllLnZhbHVlfVcoe3R5cGU6ImJyYWNlIix2YWx1ZTpDLG91dHB1dDpIfSksRnQoImJyYWNlcyIpLFUucG9wKCk7Y29udGludWV9aWYoQz09PSJ8Iil7US5sZW5ndGg+MCYmUVtRLmxlbmd0aC0xXS5jb25kaXRpb25zKyssVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iLCIpe2xldCBJPUMsSD1VW1UubGVuZ3RoLTFdO0gmJmxlW2xlLmxlbmd0aC0xXT09PSJicmFjZXMiJiYoSC5jb21tYT0hMCxJPSJ8IiksVyh7dHlwZToiY29tbWEiLHZhbHVlOkMsb3V0cHV0Okl9KTtjb250aW51ZX1pZihDPT09Ii8iKXtpZihBLnR5cGU9PT0iZG90IiYmXy5pbmRleD09PV8uc3RhcnQrMSl7Xy5zdGFydD1fLmluZGV4KzEsXy5jb25zdW1lZD0iIixfLm91dHB1dD0iIixhLnBvcCgpLEE9cztjb250aW51ZX1XKHt0eXBlOiJzbGFzaCIsdmFsdWU6QyxvdXRwdXQ6aH0pO2NvbnRpbnVlfWlmKEM9PT0iLiIpe2lmKF8uYnJhY2VzPjAmJkEudHlwZT09PSJkb3QiKXtBLnZhbHVlPT09Ii4iJiYoQS5vdXRwdXQ9ZCk7bGV0IEk9VVtVLmxlbmd0aC0xXTtBLnR5cGU9ImRvdHMiLEEub3V0cHV0Kz1DLEEudmFsdWUrPUMsSS5kb3RzPSEwO2NvbnRpbnVlfWlmKF8uYnJhY2VzK18ucGFyZW5zPT09MCYmQS50eXBlIT09ImJvcyImJkEudHlwZSE9PSJzbGFzaCIpe1coe3R5cGU6InRleHQiLHZhbHVlOkMsb3V0cHV0OmR9KTtjb250aW51ZX1XKHt0eXBlOiJkb3QiLHZhbHVlOkMsb3V0cHV0OmR9KTtjb250aW51ZX1pZihDPT09Ij8iKXtpZighKEEmJkEudmFsdWU9PT0iKCIpJiZ0Lm5vZXh0Z2xvYiE9PSEwJiZWKCk9PT0iKCImJlYoMikhPT0iPyIpe1VpKCJxbWFyayIsQyk7Y29udGludWV9aWYoQSYmQS50eXBlPT09InBhcmVuIil7bGV0IEg9VigpLGNlPUM7aWYoSD09PSI8IiYmIU1lLnN1cHBvcnRzTG9va2JlaGluZHMoKSl0aHJvdyBuZXcgRXJyb3IoIk5vZGUuanMgdjEwIG9yIGhpZ2hlciBpcyByZXF1aXJlZCBmb3IgcmVnZXggbG9va2JlaGluZHMiKTsoQS52YWx1ZT09PSIoIiYmIS9bIT08Ol0vLnRlc3QoSCl8fEg9PT0iPCImJiEvPChbIT1dfFx3Kz4pLy50ZXN0KEllKCkpKSYmKGNlPWBcXCR7Q31gKSxXKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpDLG91dHB1dDpjZX0pO2NvbnRpbnVlfWlmKHQuZG90IT09ITAmJihBLnR5cGU9PT0ic2xhc2gifHxBLnR5cGU9PT0iYm9zIikpe1coe3R5cGU6InFtYXJrIix2YWx1ZTpDLG91dHB1dDpFfSk7Y29udGludWV9Vyh7dHlwZToicW1hcmsiLHZhbHVlOkMsb3V0cHV0OlN9KTtjb250aW51ZX1pZihDPT09IiEiKXtpZih0Lm5vZXh0Z2xvYiE9PSEwJiZWKCk9PT0iKCImJihWKDIpIT09Ij8ifHwhL1shPTw6XS8udGVzdChWKDMpKSkpe1VpKCJuZWdhdGUiLEMpO2NvbnRpbnVlfWlmKHQubm9uZWdhdGUhPT0hMCYmXy5pbmRleD09PTApe0l2KCk7Y29udGludWV9fWlmKEM9PT0iKyIpe2lmKHQubm9leHRnbG9iIT09ITAmJlYoKT09PSIoIiYmVigyKSE9PSI/Iil7VWkoInBsdXMiLEMpO2NvbnRpbnVlfWlmKEEmJkEudmFsdWU9PT0iKCJ8fHQucmVnZXg9PT0hMSl7Vyh7dHlwZToicGx1cyIsdmFsdWU6QyxvdXRwdXQ6cH0pO2NvbnRpbnVlfWlmKEEmJihBLnR5cGU9PT0iYnJhY2tldCJ8fEEudHlwZT09PSJwYXJlbiJ8fEEudHlwZT09PSJicmFjZSIpfHxfLnBhcmVucz4wKXtXKHt0eXBlOiJwbHVzIix2YWx1ZTpDfSk7Y29udGludWV9Vyh7dHlwZToicGx1cyIsdmFsdWU6cH0pO2NvbnRpbnVlfWlmKEM9PT0iQCIpe2lmKHQubm9leHRnbG9iIT09ITAmJlYoKT09PSIoIiYmVigyKSE9PSI/Iil7Vyh7dHlwZToiYXQiLGV4dGdsb2I6ITAsdmFsdWU6QyxvdXRwdXQ6IiJ9KTtjb250aW51ZX1XKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpDfSk7Y29udGludWV9aWYoQyE9PSIqIil7KEM9PT0iJCJ8fEM9PT0iXiIpJiYoQz1gXFwke0N9YCk7bGV0IEk9aTIuZXhlYyhJZSgpKTtJJiYoQys9SVswXSxfLmluZGV4Kz1JWzBdLmxlbmd0aCksVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEEmJihBLnR5cGU9PT0iZ2xvYnN0YXIifHxBLnN0YXI9PT0hMCkpe0EudHlwZT0ic3RhciIsQS5zdGFyPSEwLEEudmFsdWUrPUMsQS5vdXRwdXQ9WSxfLmJhY2t0cmFjaz0hMCxfLmdsb2JzdGFyPSEwLERlKEMpO2NvbnRpbnVlfWxldCAkPUllKCk7aWYodC5ub2V4dGdsb2IhPT0hMCYmL15cKFteP10vLnRlc3QoJCkpe1VpKCJzdGFyIixDKTtjb250aW51ZX1pZihBLnR5cGU9PT0ic3RhciIpe2lmKHQubm9nbG9ic3Rhcj09PSEwKXtEZShDKTtjb250aW51ZX1sZXQgST1BLnByZXYsSD1JLnByZXYsY2U9SS50eXBlPT09InNsYXNoInx8SS50eXBlPT09ImJvcyIsQ2U9SCYmKEgudHlwZT09PSJzdGFyInx8SC50eXBlPT09Imdsb2JzdGFyIik7aWYodC5iYXNoPT09ITAmJighY2V8fCRbMF0mJiRbMF0hPT0iLyIpKXtXKHt0eXBlOiJzdGFyIix2YWx1ZTpDLG91dHB1dDoiIn0pO2NvbnRpbnVlfWxldCB5ZT1fLmJyYWNlcz4wJiYoSS50eXBlPT09ImNvbW1hInx8SS50eXBlPT09ImJyYWNlIiksQnM9US5sZW5ndGgmJihJLnR5cGU9PT0icGlwZSJ8fEkudHlwZT09PSJwYXJlbiIpO2lmKCFjZSYmSS50eXBlIT09InBhcmVuIiYmIXllJiYhQnMpe1coe3R5cGU6InN0YXIiLHZhbHVlOkMsb3V0cHV0OiIifSk7Y29udGludWV9Zm9yKDskLnNsaWNlKDAsMyk9PT0iLyoqIjspe2xldCBWaT1yW18uaW5kZXgrNF07aWYoVmkmJlZpIT09Ii8iKWJyZWFrOyQ9JC5zbGljZSgzKSxEZSgiLyoqIiwzKX1pZihJLnR5cGU9PT0iYm9zIiYmaGUoKSl7QS50eXBlPSJnbG9ic3RhciIsQS52YWx1ZSs9QyxBLm91dHB1dD1OKHQpLF8ub3V0cHV0PUEub3V0cHV0LF8uZ2xvYnN0YXI9ITAsRGUoQyk7Y29udGludWV9aWYoSS50eXBlPT09InNsYXNoIiYmSS5wcmV2LnR5cGUhPT0iYm9zIiYmIUNlJiZoZSgpKXtfLm91dHB1dD1fLm91dHB1dC5zbGljZSgwLC0oSS5vdXRwdXQrQS5vdXRwdXQpLmxlbmd0aCksSS5vdXRwdXQ9YCg/OiR7SS5vdXRwdXR9YCxBLnR5cGU9Imdsb2JzdGFyIixBLm91dHB1dD1OKHQpKyh0LnN0cmljdFNsYXNoZXM/IikiOiJ8JCkiKSxBLnZhbHVlKz1DLF8uZ2xvYnN0YXI9ITAsXy5vdXRwdXQrPUkub3V0cHV0K0Eub3V0cHV0LERlKEMpO2NvbnRpbnVlfWlmKEkudHlwZT09PSJzbGFzaCImJkkucHJldi50eXBlIT09ImJvcyImJiRbMF09PT0iLyIpe2xldCBWaT0kWzFdIT09dm9pZCAwPyJ8JCI6IiI7Xy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtKEkub3V0cHV0K0Eub3V0cHV0KS5sZW5ndGgpLEkub3V0cHV0PWAoPzoke0kub3V0cHV0fWAsQS50eXBlPSJnbG9ic3RhciIsQS5vdXRwdXQ9YCR7Tih0KX0ke2h9fCR7aH0ke1ZpfSlgLEEudmFsdWUrPUMsXy5vdXRwdXQrPUkub3V0cHV0K0Eub3V0cHV0LF8uZ2xvYnN0YXI9ITAsRGUoQytFZSgpKSxXKHt0eXBlOiJzbGFzaCIsdmFsdWU6Ii8iLG91dHB1dDoiIn0pO2NvbnRpbnVlfWlmKEkudHlwZT09PSJib3MiJiYkWzBdPT09Ii8iKXtBLnR5cGU9Imdsb2JzdGFyIixBLnZhbHVlKz1DLEEub3V0cHV0PWAoPzpefCR7aH18JHtOKHQpfSR7aH0pYCxfLm91dHB1dD1BLm91dHB1dCxfLmdsb2JzdGFyPSEwLERlKEMrRWUoKSksVyh7dHlwZToic2xhc2giLHZhbHVlOiIvIixvdXRwdXQ6IiJ9KTtjb250aW51ZX1fLm91dHB1dD1fLm91dHB1dC5zbGljZSgwLC1BLm91dHB1dC5sZW5ndGgpLEEudHlwZT0iZ2xvYnN0YXIiLEEub3V0cHV0PU4odCksQS52YWx1ZSs9QyxfLm91dHB1dCs9QS5vdXRwdXQsXy5nbG9ic3Rhcj0hMCxEZShDKTtjb250aW51ZX1sZXQgYWU9e3R5cGU6InN0YXIiLHZhbHVlOkMsb3V0cHV0Oll9O2lmKHQuYmFzaD09PSEwKXthZS5vdXRwdXQ9Ii4qPyIsKEEudHlwZT09PSJib3MifHxBLnR5cGU9PT0ic2xhc2giKSYmKGFlLm91dHB1dD1SK2FlLm91dHB1dCksVyhhZSk7Y29udGludWV9aWYoQSYmKEEudHlwZT09PSJicmFja2V0Inx8QS50eXBlPT09InBhcmVuIikmJnQucmVnZXg9PT0hMCl7YWUub3V0cHV0PUMsVyhhZSk7Y29udGludWV9KF8uaW5kZXg9PT1fLnN0YXJ0fHxBLnR5cGU9PT0ic2xhc2gifHxBLnR5cGU9PT0iZG90IikmJihBLnR5cGU9PT0iZG90Ij8oXy5vdXRwdXQrPXcsQS5vdXRwdXQrPXcpOnQuZG90PT09ITA/KF8ub3V0cHV0Kz1rLEEub3V0cHV0Kz1rKTooXy5vdXRwdXQrPVIsQS5vdXRwdXQrPVIpLFYoKSE9PSIqIiYmKF8ub3V0cHV0Kz1iLEEub3V0cHV0Kz1iKSksVyhhZSl9Zm9yKDtfLmJyYWNrZXRzPjA7KXtpZih0LnN0cmljdEJyYWNrZXRzPT09ITApdGhyb3cgbmV3IFN5bnRheEVycm9yKGdyKCJjbG9zaW5nIiwiXSIpKTtfLm91dHB1dD1NZS5lc2NhcGVMYXN0KF8ub3V0cHV0LCJbIiksRnQoImJyYWNrZXRzIil9Zm9yKDtfLnBhcmVucz4wOyl7aWYodC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigiY2xvc2luZyIsIikiKSk7Xy5vdXRwdXQ9TWUuZXNjYXBlTGFzdChfLm91dHB1dCwiKCIpLEZ0KCJwYXJlbnMiKX1mb3IoO18uYnJhY2VzPjA7KXtpZih0LnN0cmljdEJyYWNrZXRzPT09ITApdGhyb3cgbmV3IFN5bnRheEVycm9yKGdyKCJjbG9zaW5nIiwifSIpKTtfLm91dHB1dD1NZS5lc2NhcGVMYXN0KF8ub3V0cHV0LCJ7IiksRnQoImJyYWNlcyIpfWlmKHQuc3RyaWN0U2xhc2hlcyE9PSEwJiYoQS50eXBlPT09InN0YXIifHxBLnR5cGU9PT0iYnJhY2tldCIpJiZXKHt0eXBlOiJtYXliZV9zbGFzaCIsdmFsdWU6IiIsb3V0cHV0OmAke2h9P2B9KSxfLmJhY2t0cmFjaz09PSEwKXtfLm91dHB1dD0iIjtmb3IobGV0ICQgb2YgXy50b2tlbnMpXy5vdXRwdXQrPSQub3V0cHV0IT1udWxsPyQub3V0cHV0OiQudmFsdWUsJC5zdWZmaXgmJihfLm91dHB1dCs9JC5zdWZmaXgpfXJldHVybiBffTt4bC5mYXN0cGF0aHM9KHIsZSk9PntsZXQgdD17Li4uZX0saT10eXBlb2YgdC5tYXhMZW5ndGg9PSJudW1iZXIiP01hdGgubWluKHdzLHQubWF4TGVuZ3RoKTp3cyxuPXIubGVuZ3RoO2lmKG4+aSl0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtufSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke2l9YCk7cj10Z1tyXXx8cjtsZXQgcz1NZS5pc1dpbmRvd3MoZSkse0RPVF9MSVRFUkFMOmEsU0xBU0hfTElURVJBTDpvLE9ORV9DSEFSOmwsRE9UU19TTEFTSDpjLE5PX0RPVDpmLE5PX0RPVFM6ZCxOT19ET1RTX1NMQVNIOnAsU1RBUjpoLFNUQVJUX0FOQ0hPUjpifT1icy5nbG9iQ2hhcnMocyksdj10LmRvdD9kOmYseT10LmRvdD9wOmYsdz10LmNhcHR1cmU/IiI6Ij86IixrPXtuZWdhdGVkOiExLHByZWZpeDoiIn0sUz10LmJhc2g9PT0hMD8iLio/IjpoO3QuY2FwdHVyZSYmKFM9YCgke1N9KWApO2xldCBFPVI9PlIubm9nbG9ic3Rhcj09PSEwP1M6YCgke3d9KD86KD8hJHtifSR7Ui5kb3Q/YzphfSkuKSo/KWAsVD1SPT57c3dpdGNoKFIpe2Nhc2UiKiI6cmV0dXJuYCR7dn0ke2x9JHtTfWA7Y2FzZSIuKiI6cmV0dXJuYCR7YX0ke2x9JHtTfWA7Y2FzZSIqLioiOnJldHVybmAke3Z9JHtTfSR7YX0ke2x9JHtTfWA7Y2FzZSIqLyoiOnJldHVybmAke3Z9JHtTfSR7b30ke2x9JHt5fSR7U31gO2Nhc2UiKioiOnJldHVybiB2K0UodCk7Y2FzZSIqKi8qIjpyZXR1cm5gKD86JHt2fSR7RSh0KX0ke299KT8ke3l9JHtsfSR7U31gO2Nhc2UiKiovKi4qIjpyZXR1cm5gKD86JHt2fSR7RSh0KX0ke299KT8ke3l9JHtTfSR7YX0ke2x9JHtTfWA7Y2FzZSIqKi8uKiI6cmV0dXJuYCg/OiR7dn0ke0UodCl9JHtvfSk/JHthfSR7bH0ke1N9YDtkZWZhdWx0OntsZXQgRj0vXiguKj8pXC4oXHcrKSQvLmV4ZWMoUik7aWYoIUYpcmV0dXJuO2xldCBZPVQoRlsxXSk7cmV0dXJuIFk/WSthK0ZbMl06dm9pZCAwfX19LEI9TWUucmVtb3ZlUHJlZml4KHIsayksTj1UKEIpO3JldHVybiBOJiZ0LnN0cmljdFNsYXNoZXMhPT0hMCYmKE4rPWAke299P2ApLE59O3JnLmV4cG9ydHM9eGx9KTt2YXIgc2c9eCgoYzYsbmcpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYTI9KGV0KCksVXIpLG8yPWVnKCksa2w9aWcoKSxTbD1xaSgpLGwyPURpKCksdTI9cj0+ciYmdHlwZW9mIHI9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShyKSxkZT0ocixlLHQ9ITEpPT57aWYoQXJyYXkuaXNBcnJheShyKSl7bGV0IGY9ci5tYXAocD0+ZGUocCxlLHQpKTtyZXR1cm4gcD0+e2ZvcihsZXQgaCBvZiBmKXtsZXQgYj1oKHApO2lmKGIpcmV0dXJuIGJ9cmV0dXJuITF9fWxldCBpPXUyKHIpJiZyLnRva2VucyYmci5pbnB1dDtpZihyPT09IiJ8fHR5cGVvZiByIT0ic3RyaW5nIiYmIWkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgcGF0dGVybiB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKTtsZXQgbj1lfHx7fSxzPVNsLmlzV2luZG93cyhlKSxhPWk/ZGUuY29tcGlsZVJlKHIsZSk6ZGUubWFrZVJlKHIsZSwhMSwhMCksbz1hLnN0YXRlO2RlbGV0ZSBhLnN0YXRlO2xldCBsPSgpPT4hMTtpZihuLmlnbm9yZSl7bGV0IGY9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2w9ZGUobi5pZ25vcmUsZix0KX1sZXQgYz0oZixkPSExKT0+e2xldHtpc01hdGNoOnAsbWF0Y2g6aCxvdXRwdXQ6Yn09ZGUudGVzdChmLGEsZSx7Z2xvYjpyLHBvc2l4OnN9KSx2PXtnbG9iOnIsc3RhdGU6byxyZWdleDphLHBvc2l4OnMsaW5wdXQ6ZixvdXRwdXQ6YixtYXRjaDpoLGlzTWF0Y2g6cH07cmV0dXJuIHR5cGVvZiBuLm9uUmVzdWx0PT0iZnVuY3Rpb24iJiZuLm9uUmVzdWx0KHYpLHA9PT0hMT8odi5pc01hdGNoPSExLGQ/djohMSk6bChmKT8odHlwZW9mIG4ub25JZ25vcmU9PSJmdW5jdGlvbiImJm4ub25JZ25vcmUodiksdi5pc01hdGNoPSExLGQ/djohMSk6KHR5cGVvZiBuLm9uTWF0Y2g9PSJmdW5jdGlvbiImJm4ub25NYXRjaCh2KSxkP3Y6ITApfTtyZXR1cm4gdCYmKGMuc3RhdGU9byksY307ZGUudGVzdD0ocixlLHQse2dsb2I6aSxwb3NpeDpufT17fSk9PntpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmciKTtpZihyPT09IiIpcmV0dXJue2lzTWF0Y2g6ITEsb3V0cHV0OiIifTtsZXQgcz10fHx7fSxhPXMuZm9ybWF0fHwobj9TbC50b1Bvc2l4U2xhc2hlczpudWxsKSxvPXI9PT1pLGw9byYmYT9hKHIpOnI7cmV0dXJuIG89PT0hMSYmKGw9YT9hKHIpOnIsbz1sPT09aSksKG89PT0hMXx8cy5jYXB0dXJlPT09ITApJiYocy5tYXRjaEJhc2U9PT0hMHx8cy5iYXNlbmFtZT09PSEwP289ZGUubWF0Y2hCYXNlKHIsZSx0LG4pOm89ZS5leGVjKGwpKSx7aXNNYXRjaDpCb29sZWFuKG8pLG1hdGNoOm8sb3V0cHV0Omx9fTtkZS5tYXRjaEJhc2U9KHIsZSx0LGk9U2wuaXNXaW5kb3dzKHQpKT0+KGUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpkZS5tYWtlUmUoZSx0KSkudGVzdChhMi5iYXNlbmFtZShyKSk7ZGUuaXNNYXRjaD0ocixlLHQpPT5kZShlLHQpKHIpO2RlLnBhcnNlPShyLGUpPT5BcnJheS5pc0FycmF5KHIpP3IubWFwKHQ9PmRlLnBhcnNlKHQsZSkpOmtsKHIsey4uLmUsZmFzdHBhdGhzOiExfSk7ZGUuc2Nhbj0ocixlKT0+bzIocixlKTtkZS5jb21waWxlUmU9KHIsZSx0PSExLGk9ITEpPT57aWYodD09PSEwKXJldHVybiByLm91dHB1dDtsZXQgbj1lfHx7fSxzPW4uY29udGFpbnM/IiI6Il4iLGE9bi5jb250YWlucz8iIjoiJCIsbz1gJHtzfSg/OiR7ci5vdXRwdXR9KSR7YX1gO3ImJnIubmVnYXRlZD09PSEwJiYobz1gXig/ISR7b30pLiokYCk7bGV0IGw9ZGUudG9SZWdleChvLGUpO3JldHVybiBpPT09ITAmJihsLnN0YXRlPXIpLGx9O2RlLm1ha2VSZT0ocixlPXt9LHQ9ITEsaT0hMSk9PntpZighcnx8dHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZyIpO2xldCBuPXtuZWdhdGVkOiExLGZhc3RwYXRoczohMH07cmV0dXJuIGUuZmFzdHBhdGhzIT09ITEmJihyWzBdPT09Ii4ifHxyWzBdPT09IioiKSYmKG4ub3V0cHV0PWtsLmZhc3RwYXRocyhyLGUpKSxuLm91dHB1dHx8KG49a2wocixlKSksZGUuY29tcGlsZVJlKG4sZSx0LGkpfTtkZS50b1JlZ2V4PShyLGUpPT57dHJ5e2xldCB0PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHIsdC5mbGFnc3x8KHQubm9jYXNlPyJpIjoiIikpfWNhdGNoKHQpe2lmKGUmJmUuZGVidWc9PT0hMCl0aHJvdyB0O3JldHVybi8kXi99fTtkZS5jb25zdGFudHM9bDI7bmcuZXhwb3J0cz1kZX0pO3ZhciBvZz14KChwNixhZyk9Pnt1KCk7InVzZSBzdHJpY3QiO2FnLmV4cG9ydHM9c2coKX0pO3ZhciBkZz14KChkNixwZyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBsZz0oRm4oKSxCbiksdWc9am0oKSxvdD1vZygpLEFsPXFpKCksZmc9cj0+cj09PSIifHxyPT09Ii4vIixjZz1yPT57bGV0IGU9ci5pbmRleE9mKCJ7Iik7cmV0dXJuIGU+LTEmJnIuaW5kZXhPZigifSIsZSk+LTF9LG9lPShyLGUsdCk9PntlPVtdLmNvbmNhdChlKSxyPVtdLmNvbmNhdChyKTtsZXQgaT1uZXcgU2V0LG49bmV3IFNldCxzPW5ldyBTZXQsYT0wLG89Zj0+e3MuYWRkKGYub3V0cHV0KSx0JiZ0Lm9uUmVzdWx0JiZ0Lm9uUmVzdWx0KGYpfTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyl7bGV0IGQ9b3QoU3RyaW5nKGVbZl0pLHsuLi50LG9uUmVzdWx0Om99LCEwKSxwPWQuc3RhdGUubmVnYXRlZHx8ZC5zdGF0ZS5uZWdhdGVkRXh0Z2xvYjtwJiZhKys7Zm9yKGxldCBoIG9mIHIpe2xldCBiPWQoaCwhMCk7IShwPyFiLmlzTWF0Y2g6Yi5pc01hdGNoKXx8KHA/aS5hZGQoYi5vdXRwdXQpOihpLmRlbGV0ZShiLm91dHB1dCksbi5hZGQoYi5vdXRwdXQpKSl9fWxldCBjPShhPT09ZS5sZW5ndGg/Wy4uLnNdOlsuLi5uXSkuZmlsdGVyKGY9PiFpLmhhcyhmKSk7aWYodCYmYy5sZW5ndGg9PT0wKXtpZih0LmZhaWxnbG9iPT09ITApdGhyb3cgbmV3IEVycm9yKGBObyBtYXRjaGVzIGZvdW5kIGZvciAiJHtlLmpvaW4oIiwgIil9ImApO2lmKHQubm9udWxsPT09ITB8fHQubnVsbGdsb2I9PT0hMClyZXR1cm4gdC51bmVzY2FwZT9lLm1hcChmPT5mLnJlcGxhY2UoL1xcL2csIiIpKTplfXJldHVybiBjfTtvZS5tYXRjaD1vZTtvZS5tYXRjaGVyPShyLGUpPT5vdChyLGUpO29lLmlzTWF0Y2g9KHIsZSx0KT0+b3QoZSx0KShyKTtvZS5hbnk9b2UuaXNNYXRjaDtvZS5ub3Q9KHIsZSx0PXt9KT0+e2U9W10uY29uY2F0KGUpLm1hcChTdHJpbmcpO2xldCBpPW5ldyBTZXQsbj1bXSxzPW89Pnt0Lm9uUmVzdWx0JiZ0Lm9uUmVzdWx0KG8pLG4ucHVzaChvLm91dHB1dCl9LGE9bmV3IFNldChvZShyLGUsey4uLnQsb25SZXN1bHQ6c30pKTtmb3IobGV0IG8gb2YgbilhLmhhcyhvKXx8aS5hZGQobyk7cmV0dXJuWy4uLmldfTtvZS5jb250YWlucz0ocixlLHQpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGEgc3RyaW5nOiAiJHtsZy5pbnNwZWN0KHIpfSJgKTtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNvbWUoaT0+b2UuY29udGFpbnMocixpLHQpKTtpZih0eXBlb2YgZT09InN0cmluZyIpe2lmKGZnKHIpfHxmZyhlKSlyZXR1cm4hMTtpZihyLmluY2x1ZGVzKGUpfHxyLnN0YXJ0c1dpdGgoIi4vIikmJnIuc2xpY2UoMikuaW5jbHVkZXMoZSkpcmV0dXJuITB9cmV0dXJuIG9lLmlzTWF0Y2gocixlLHsuLi50LGNvbnRhaW5zOiEwfSl9O29lLm1hdGNoS2V5cz0ocixlLHQpPT57aWYoIUFsLmlzT2JqZWN0KHIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHRoZSBmaXJzdCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QiKTtsZXQgaT1vZShPYmplY3Qua2V5cyhyKSxlLHQpLG49e307Zm9yKGxldCBzIG9mIGkpbltzXT1yW3NdO3JldHVybiBufTtvZS5zb21lPShyLGUsdCk9PntsZXQgaT1bXS5jb25jYXQocik7Zm9yKGxldCBuIG9mW10uY29uY2F0KGUpKXtsZXQgcz1vdChTdHJpbmcobiksdCk7aWYoaS5zb21lKGE9PnMoYSkpKXJldHVybiEwfXJldHVybiExfTtvZS5ldmVyeT0ocixlLHQpPT57bGV0IGk9W10uY29uY2F0KHIpO2ZvcihsZXQgbiBvZltdLmNvbmNhdChlKSl7bGV0IHM9b3QoU3RyaW5nKG4pLHQpO2lmKCFpLmV2ZXJ5KGE9PnMoYSkpKXJldHVybiExfXJldHVybiEwfTtvZS5hbGw9KHIsZSx0KT0+e2lmKHR5cGVvZiByIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIHN0cmluZzogIiR7bGcuaW5zcGVjdChyKX0iYCk7cmV0dXJuW10uY29uY2F0KGUpLmV2ZXJ5KGk9Pm90KGksdCkocikpfTtvZS5jYXB0dXJlPShyLGUsdCk9PntsZXQgaT1BbC5pc1dpbmRvd3ModCkscz1vdC5tYWtlUmUoU3RyaW5nKHIpLHsuLi50LGNhcHR1cmU6ITB9KS5leGVjKGk/QWwudG9Qb3NpeFNsYXNoZXMoZSk6ZSk7aWYocylyZXR1cm4gcy5zbGljZSgxKS5tYXAoYT0+YT09PXZvaWQgMD8iIjphKX07b2UubWFrZVJlPSguLi5yKT0+b3QubWFrZVJlKC4uLnIpO29lLnNjYW49KC4uLnIpPT5vdC5zY2FuKC4uLnIpO29lLnBhcnNlPShyLGUpPT57bGV0IHQ9W107Zm9yKGxldCBpIG9mW10uY29uY2F0KHJ8fFtdKSlmb3IobGV0IG4gb2YgdWcoU3RyaW5nKGkpLGUpKXQucHVzaChvdC5wYXJzZShuLGUpKTtyZXR1cm4gdH07b2UuYnJhY2VzPShyLGUpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGUmJmUubm9icmFjZT09PSEwfHwhY2cocik/W3JdOnVnKHIsZSl9O29lLmJyYWNlRXhwYW5kPShyLGUpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIG9lLmJyYWNlcyhyLHsuLi5lLGV4cGFuZDohMH0pfTtvZS5oYXNCcmFjZXM9Y2c7cGcuZXhwb3J0cz1vZX0pO2Z1bmN0aW9uIG1nKHIsZSl7bGV0IHQ9ZS5jb250ZW50LmZpbGVzO3Q9dC5maWx0ZXIobz0+dHlwZW9mIG89PSJzdHJpbmciKSx0PXQubWFwKGxsKTtsZXQgaT1wcy5nZW5lcmF0ZVRhc2tzKHQpLG49W10scz1bXTtmb3IobGV0IG8gb2YgaSluLnB1c2goLi4uby5wb3NpdGl2ZS5tYXAobD0+Z2cobCwhMSkpKSxzLnB1c2goLi4uby5uZWdhdGl2ZS5tYXAobD0+Z2cobCwhMCkpKTtsZXQgYT1bLi4ubiwuLi5zXTtyZXR1cm4gYT1jMihyLGEpLGE9YS5mbGF0TWFwKHAyKSxhPWEubWFwKGYyKSxhfWZ1bmN0aW9uIGdnKHIsZSl7bGV0IHQ9e29yaWdpbmFsOnIsYmFzZTpyLGlnbm9yZTplLHBhdHRlcm46cixnbG9iOm51bGx9O3JldHVybiBaaChyKSYmT2JqZWN0LmFzc2lnbih0LG5tKHIpKSx0fWZ1bmN0aW9uIGYyKHIpe2xldCBlPWxsKHIuYmFzZSk7cmV0dXJuIGU9cHMuZXNjYXBlUGF0aChlKSxyLnBhdHRlcm49ci5nbG9iP2Ake2V9LyR7ci5nbG9ifWA6ZSxyLnBhdHRlcm49ci5pZ25vcmU/YCEke3IucGF0dGVybn1gOnIucGF0dGVybixyfWZ1bmN0aW9uIGMyKHIsZSl7bGV0IHQ9W107cmV0dXJuIHIudXNlckNvbmZpZ1BhdGgmJnIudGFpbHdpbmRDb25maWcuY29udGVudC5yZWxhdGl2ZSYmKHQ9W21lLmRpcm5hbWUoci51c2VyQ29uZmlnUGF0aCldKSxlLm1hcChpPT4oaS5iYXNlPW1lLnJlc29sdmUoLi4udCxpLmJhc2UpLGkpKX1mdW5jdGlvbiBwMihyKXtsZXQgZT1bcl07dHJ5e2xldCB0PWJlLnJlYWxwYXRoU3luYyhyLmJhc2UpO3QhPT1yLmJhc2UmJmUucHVzaCh7Li4ucixiYXNlOnR9KX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24geWcocixlLHQpe2xldCBpPXIudGFpbHdpbmRDb25maWcuY29udGVudC5maWxlcy5maWx0ZXIoYT0+dHlwZW9mIGEucmF3PT0ic3RyaW5nIikubWFwKCh7cmF3OmEsZXh0ZW5zaW9uOm89Imh0bWwifSk9Pih7Y29udGVudDphLGV4dGVuc2lvbjpvfSkpLFtuLHNdPWgyKGUsdCk7Zm9yKGxldCBhIG9mIG4pe2xldCBvPW1lLmV4dG5hbWUoYSkuc2xpY2UoMSk7aS5wdXNoKHtmaWxlOmEsZXh0ZW5zaW9uOm99KX1yZXR1cm5baSxzXX1mdW5jdGlvbiBkMihyKXtpZighci5zb21lKHM9PnMuaW5jbHVkZXMoIioqIikmJiF3Zy50ZXN0KHMpKSlyZXR1cm4oKT0+e307bGV0IHQ9W10saT1bXTtmb3IobGV0IHMgb2Ygcil7bGV0IGE9aGcuZGVmYXVsdC5tYXRjaGVyKHMpO3dnLnRlc3QocykmJmkucHVzaChhKSx0LnB1c2goYSl9bGV0IG49ITE7cmV0dXJuIHM9PntpZihufHxpLnNvbWUoZj0+ZihzKSkpcmV0dXJuO2xldCBhPXQuZmluZEluZGV4KGY9PmYocykpO2lmKGE9PT0tMSlyZXR1cm47bGV0IG89clthXSxsPW1lLnJlbGF0aXZlKG0uY3dkKCksbyk7bFswXSE9PSIuIiYmKGw9YC4vJHtsfWApO2xldCBjPWJnLmZpbmQoZj0+cy5pbmNsdWRlcyhmKSk7YyYmKG49ITAsRy53YXJuKCJicm9hZC1jb250ZW50LWdsb2ItcGF0dGVybiIsW2BZb3VyIFxgY29udGVudFxgIGNvbmZpZ3VyYXRpb24gaW5jbHVkZXMgYSBwYXR0ZXJuIHdoaWNoIGxvb2tzIGxpa2UgaXQncyBhY2NpZGVudGFsbHkgbWF0Y2hpbmcgYWxsIG9mIFxgJHtjfVxgIGFuZCBjYW4gY2F1c2Ugc2VyaW91cyBwZXJmb3JtYW5jZSBpc3N1ZXMuYCxgUGF0dGVybjogXGAke2x9XGBgLCJTZWUgb3VyIGRvY3VtZW50YXRpb24gZm9yIHJlY29tbWVuZGF0aW9uczoiLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnQtY29uZmlndXJhdGlvbiNwYXR0ZXJuLXJlY29tbWVuZGF0aW9ucyJdKSl9fWZ1bmN0aW9uIGgyKHIsZSl7bGV0IHQ9ci5tYXAobz0+by5wYXR0ZXJuKSxpPW5ldyBNYXAsbj1kMih0KSxzPW5ldyBTZXQ7WmUuREVCVUcmJmNvbnNvbGUudGltZSgiRmluZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IGE9cHMuc3luYyh0LHthYnNvbHV0ZTohMH0pO2ZvcihsZXQgbyBvZiBhKXtuKG8pO2xldCBsPWUuZ2V0KG8pfHwtMS8wLGM9YmUuc3RhdFN5bmMobykubXRpbWVNcztjPmwmJihzLmFkZChvKSxpLnNldChvLGMpKX1yZXR1cm4gWmUuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiRmluZGluZyBjaGFuZ2VkIGZpbGVzIiksW3MsaV19dmFyIGhnLGJnLHdnLHZnPVAoKCk9Pnt1KCk7ZnQoKTtldCgpO0poKCk7ZW0oKTt0bSgpO3NtKCk7SXQoKTtCZSgpO2hnPXBlKGRnKCkpO2JnPVsibm9kZV9tb2R1bGVzIl0sd2c9bmV3IFJlZ0V4cChgKCR7YmcubWFwKHI9PlN0cmluZy5yYXdgXGIke3J9XGJgKS5qb2luKCJ8Iil9KWApfSk7ZnVuY3Rpb24geGcoKXt9dmFyIGtnPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBiMihyLGUpe2ZvcihsZXQgdCBvZiBlKXtsZXQgaT1gJHtyfSR7dH1gO2lmKGJlLmV4aXN0c1N5bmMoaSkmJmJlLnN0YXRTeW5jKGkpLmlzRmlsZSgpKXJldHVybiBpfWZvcihsZXQgdCBvZiBlKXtsZXQgaT1gJHtyfS9pbmRleCR7dH1gO2lmKGJlLmV4aXN0c1N5bmMoaSkpcmV0dXJuIGl9cmV0dXJuIG51bGx9ZnVuY3Rpb24qU2cocixlLHQsaT1tZS5leHRuYW1lKHIpKXtsZXQgbj1iMihtZS5yZXNvbHZlKGUsciksbTIuaW5jbHVkZXMoaSk/ZzI6eTIpO2lmKG49PT1udWxsfHx0LmhhcyhuKSlyZXR1cm47dC5hZGQobikseWllbGQgbixlPW1lLmRpcm5hbWUobiksaT1tZS5leHRuYW1lKG4pO2xldCBzPWJlLnJlYWRGaWxlU3luYyhuLCJ1dGYtOCIpO2ZvcihsZXQgYSBvZlsuLi5zLm1hdGNoQWxsKC9pbXBvcnRbXHNcU10qP1snIl0oLnszLH0/KVsnIl0vZ2kpLC4uLnMubWF0Y2hBbGwoL2ltcG9ydFtcc1xTXSpmcm9tW1xzXFNdKj9bJyJdKC57Myx9PylbJyJdL2dpKSwuLi5zLm1hdGNoQWxsKC9yZXF1aXJlXChbJyJgXSguKylbJyJgXVwpL2dpKV0pIWFbMV0uc3RhcnRzV2l0aCgiLiIpfHwoeWllbGQqU2coYVsxXSxlLHQsaSkpfWZ1bmN0aW9uIENsKHIpe3JldHVybiByPT09bnVsbD9uZXcgU2V0Om5ldyBTZXQoU2cocixtZS5kaXJuYW1lKHIpLG5ldyBTZXQpKX12YXIgbTIsZzIseTIsQWc9UCgoKT0+e3UoKTtmdCgpO2V0KCk7bTI9WyIuanMiLCIuY2pzIiwiLm1qcyJdLGcyPVsiIiwiLmpzIiwiLmNqcyIsIi5tanMiLCIudHMiLCIuY3RzIiwiLm10cyIsIi5qc3giLCIudHN4Il0seTI9WyIiLCIudHMiLCIuY3RzIiwiLm10cyIsIi50c3giLCIuanMiLCIuY2pzIiwiLm1qcyIsIi5qc3giXX0pO2Z1bmN0aW9uIHcyKHIsZSl7aWYoX2wuaGFzKHIpKXJldHVybiBfbC5nZXQocik7bGV0IHQ9bWcocixlKTtyZXR1cm4gX2wuc2V0KHIsdCkuZ2V0KHIpfWZ1bmN0aW9uIHYyKHIpe2xldCBlPWFhKHIpO2lmKGUhPT1udWxsKXtsZXRbaSxuLHMsYV09X2cuZ2V0KGUpfHxbXSxvPUNsKGUpLGw9ITEsYz1uZXcgTWFwO2ZvcihsZXQgcCBvZiBvKXtsZXQgaD1iZS5zdGF0U3luYyhwKS5tdGltZU1zO2Muc2V0KHAsaCksKCFhfHwhYS5oYXMocCl8fGg+YS5nZXQocCkpJiYobD0hMCl9aWYoIWwpcmV0dXJuW2ksZSxuLHNdO2ZvcihsZXQgcCBvZiBvKWRlbGV0ZSBoZi5jYWNoZVtwXTtsZXQgZj1vbCh6cih4ZyhlKSkpLGQ9V2koZik7cmV0dXJuIF9nLnNldChlLFtmLGQsbyxjXSksW2YsZSxkLG9dfWxldCB0PXpyKHI/LmNvbmZpZz8/cj8/e30pO3JldHVybiB0PW9sKHQpLFt0LG51bGwsV2kodCksW11dfWZ1bmN0aW9uIEVsKHIpe3JldHVybih7dGFpbHdpbmREaXJlY3RpdmVzOmUscmVnaXN0ZXJEZXBlbmRlbmN5OnR9KT0+KGksbik9PntsZXRbcyxhLG8sbF09djIociksYz1uZXcgU2V0KGwpO2lmKGUuc2l6ZT4wKXtjLmFkZChuLm9wdHMuZnJvbSk7Zm9yKGxldCBiIG9mIG4ubWVzc2FnZXMpYi50eXBlPT09ImRlcGVuZGVuY3kiJiZjLmFkZChiLmZpbGUpfWxldFtmLCxkXT1WaChpLG4scyxhLG8sYykscD1jcyhmKSxoPXcyKGYscyk7aWYoZS5zaXplPjApe2ZvcihsZXQgeSBvZiBoKWZvcihsZXQgdyBvZiBubCh5KSl0KHcpO2xldFtiLHZdPXlnKGYsaCxwKTtmb3IobGV0IHkgb2YgYilmLmNoYW5nZWRDb250ZW50LnB1c2goeSk7Zm9yKGxldFt5LHddb2Ygdi5lbnRyaWVzKCkpZC5zZXQoeSx3KX1mb3IobGV0IGIgb2YgbCl0KHt0eXBlOiJkZXBlbmRlbmN5IixmaWxlOmJ9KTtmb3IobGV0W2Isdl1vZiBkLmVudHJpZXMoKSlwLnNldChiLHYpO3JldHVybiBmfX12YXIgQ2csX2csX2wsRWc9UCgoKT0+e3UoKTtmdCgpO0NnPXBlKEZzKCkpO3dmKCk7c2EoKTtvYygpO09pKCk7SGgoKTtYaCgpO3ZnKCk7a2coKTtBZygpO19nPW5ldyBDZy5kZWZhdWx0KHttYXhTaXplOjEwMH0pLF9sPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24gT2wocil7bGV0IGU9bmV3IFNldCx0PW5ldyBTZXQsaT1uZXcgU2V0O2lmKHIud2Fsa0F0UnVsZXMobj0+e24ubmFtZT09PSJhcHBseSImJmkuYWRkKG4pLG4ubmFtZT09PSJpbXBvcnQiJiYobi5wYXJhbXM9PT0nInRhaWx3aW5kY3NzL2Jhc2UiJ3x8bi5wYXJhbXM9PT0iJ3RhaWx3aW5kY3NzL2Jhc2UnIj8obi5uYW1lPSJ0YWlsd2luZCIsbi5wYXJhbXM9ImJhc2UiKTpuLnBhcmFtcz09PScidGFpbHdpbmRjc3MvY29tcG9uZW50cyInfHxuLnBhcmFtcz09PSIndGFpbHdpbmRjc3MvY29tcG9uZW50cyciPyhuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0iY29tcG9uZW50cyIpOm4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy91dGlsaXRpZXMiJ3x8bi5wYXJhbXM9PT0iJ3RhaWx3aW5kY3NzL3V0aWxpdGllcyciPyhuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0idXRpbGl0aWVzIik6KG4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy9zY3JlZW5zIid8fG4ucGFyYW1zPT09Iid0YWlsd2luZGNzcy9zY3JlZW5zJyJ8fG4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy92YXJpYW50cyInfHxuLnBhcmFtcz09PSIndGFpbHdpbmRjc3MvdmFyaWFudHMnIikmJihuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0idmFyaWFudHMiKSksbi5uYW1lPT09InRhaWx3aW5kIiYmKG4ucGFyYW1zPT09InNjcmVlbnMiJiYobi5wYXJhbXM9InZhcmlhbnRzIiksZS5hZGQobi5wYXJhbXMpKSxbImxheWVyIiwicmVzcG9uc2l2ZSIsInZhcmlhbnRzIl0uaW5jbHVkZXMobi5uYW1lKSYmKFsicmVzcG9uc2l2ZSIsInZhcmlhbnRzIl0uaW5jbHVkZXMobi5uYW1lKSYmRy53YXJuKGAke24ubmFtZX0tYXQtcnVsZS1kZXByZWNhdGVkYCxbYFRoZSBcYEAke24ubmFtZX1cYCBkaXJlY3RpdmUgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBUYWlsd2luZCBDU1MgdjMuMC5gLCJVc2UgYEBsYXllciB1dGlsaXRpZXNgIG9yIGBAbGF5ZXIgY29tcG9uZW50c2AgaW5zdGVhZC4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3VwZ3JhZGUtZ3VpZGUjcmVwbGFjZS12YXJpYW50cy13aXRoLWxheWVyIl0pLHQuYWRkKG4pKX0pLCFlLmhhcygiYmFzZSIpfHwhZS5oYXMoImNvbXBvbmVudHMiKXx8IWUuaGFzKCJ1dGlsaXRpZXMiKSl7Zm9yKGxldCBuIG9mIHQpaWYobi5uYW1lPT09ImxheWVyIiYmWyJiYXNlIiwiY29tcG9uZW50cyIsInV0aWxpdGllcyJdLmluY2x1ZGVzKG4ucGFyYW1zKSl7aWYoIWUuaGFzKG4ucGFyYW1zKSl0aHJvdyBuLmVycm9yKGBcYEBsYXllciAke24ucGFyYW1zfVxgIGlzIHVzZWQgYnV0IG5vIG1hdGNoaW5nIFxgQHRhaWx3aW5kICR7bi5wYXJhbXN9XGAgZGlyZWN0aXZlIGlzIHByZXNlbnQuYCl9ZWxzZSBpZihuLm5hbWU9PT0icmVzcG9uc2l2ZSIpe2lmKCFlLmhhcygidXRpbGl0aWVzIikpdGhyb3cgbi5lcnJvcigiYEByZXNwb25zaXZlYCBpcyB1c2VkIGJ1dCBgQHRhaWx3aW5kIHV0aWxpdGllc2AgaXMgbWlzc2luZy4iKX1lbHNlIGlmKG4ubmFtZT09PSJ2YXJpYW50cyImJiFlLmhhcygidXRpbGl0aWVzIikpdGhyb3cgbi5lcnJvcigiYEB2YXJpYW50c2AgaXMgdXNlZCBidXQgYEB0YWlsd2luZCB1dGlsaXRpZXNgIGlzIG1pc3NpbmcuIil9cmV0dXJue3RhaWx3aW5kRGlyZWN0aXZlczplLGFwcGx5RGlyZWN0aXZlczppfX12YXIgT2c9UCgoKT0+e3UoKTtCZSgpfSk7ZnVuY3Rpb24gUXQocixlPXZvaWQgMCx0PXZvaWQgMCl7cmV0dXJuIHIubWFwKGk9PntsZXQgbj1pLmNsb25lKCk7cmV0dXJuIHQhPT12b2lkIDAmJihuLnJhd3MudGFpbHdpbmQ9ey4uLm4ucmF3cy50YWlsd2luZCwuLi50fSksZSE9PXZvaWQgMCYmVGcobixzPT57aWYocy5yYXdzLnRhaWx3aW5kPy5wcmVzZXJ2ZVNvdXJjZT09PSEwJiZzLnNvdXJjZSlyZXR1cm4hMTtzLnNvdXJjZT1lfSksbn0pfWZ1bmN0aW9uIFRnKHIsZSl7ZShyKSE9PSExJiZyLmVhY2g/Lih0PT5UZyh0LGUpKX12YXIgUmc9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIFRsKHIpe3JldHVybiByPUFycmF5LmlzQXJyYXkocik/cjpbcl0scj1yLm1hcChlPT5lIGluc3RhbmNlb2YgUmVnRXhwP2Uuc291cmNlOmUpLHIuam9pbigiIil9ZnVuY3Rpb24gTmUocil7cmV0dXJuIG5ldyBSZWdFeHAoVGwociksImciKX1mdW5jdGlvbiBxdChyKXtyZXR1cm5gKD86JHtyLm1hcChUbCkuam9pbigifCIpfSlgfWZ1bmN0aW9uIFJsKHIpe3JldHVybmAoPzoke1RsKHIpfSk/YH1mdW5jdGlvbiBJZyhyKXtyZXR1cm4gciYmeDIudGVzdChyKT9yLnJlcGxhY2UoUGcsIlxcJCYiKTpyfHwiIn12YXIgUGcseDIsRGc9UCgoKT0+e3UoKTtQZz0vW1xcXiQuKis/KClbXF17fXxdL2cseDI9UmVnRXhwKFBnLnNvdXJjZSl9KTtmdW5jdGlvbiBxZyhyKXtsZXQgZT1BcnJheS5mcm9tKGsyKHIpKTtyZXR1cm4gdD0+e2xldCBpPVtdO2ZvcihsZXQgbiBvZiBlKWZvcihsZXQgcyBvZiB0Lm1hdGNoKG4pPz9bXSlpLnB1c2goQzIocykpO2ZvcihsZXQgbiBvZiBpLnNsaWNlKCkpe2xldCBzPXZlKG4sIi4iKTtmb3IobGV0IGE9MDthPHMubGVuZ3RoO2ErKyl7bGV0IG89c1thXTtpZihhPj1zLmxlbmd0aC0xKXtpLnB1c2gobyk7Y29udGludWV9bGV0IGw9TnVtYmVyKHNbYSsxXSk7aXNOYU4obCk/aS5wdXNoKG8pOmErK319cmV0dXJuIGl9fWZ1bmN0aW9uKmsyKHIpe2xldCBlPXIudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLHQ9ci50YWlsd2luZENvbmZpZy5wcmVmaXghPT0iIj9SbChOZShbLy0/LyxJZyhyLnRhaWx3aW5kQ29uZmlnLnByZWZpeCldKSk6IiIsaT1xdChbL1xbW15cczonImBdKzpbXlxzXFtcXV0rXF0vLC9cW1teXHM6JyJgXF1dKzpbXlxzXSs/XFtbXlxzXStcXVteXHNdKz9cXS8sTmUoW3F0KFsvLT8oPzpcdyspLywvQCg/Olx3KykvXSksUmwocXQoW05lKFtxdChbLy0oPzpcdystKSpcWydbXlxzXSsnXF0vLC8tKD86XHcrLSkqXFsiW15cc10rIlxdLywvLSg/Olx3Ky0pKlxbYFteXHNdK2BcXS8sLy0oPzpcdystKSpcWyg/OlteXHNcW1xdXStcW1teXHNcW1xdXStcXSkqW15cczpcW1xdXStcXS9dKSwvKD8hW3soW11dKS8sLyg/OlwvW15ccyciYFxcPjwkXSopPy9dKSxOZShbcXQoWy8tKD86XHcrLSkqXFsnW15cc10rJ1xdLywvLSg/Olx3Ky0pKlxbIlteXHNdKyJcXS8sLy0oPzpcdystKSpcW2BbXlxzXStgXF0vLC8tKD86XHcrLSkqXFsoPzpbXlxzXFtcXV0rXFtbXlxzXFtcXV0rXF0pKlteXHNcW1xdXStcXS9dKSwvKD8hW3soW11dKS8sLyg/OlwvW15ccyciYFxcJF0qKT8vXSksL1stXC9dW15ccyciYFxcJD17PjxdKi9dKSldKV0pLG49W3F0KFtOZShbL0BcW1teXHMiJ2BdK1xdKFwvW15ccyInYF0rKT8vLGVdKSxOZShbLyhbXlxzIidgXFtcXF0rLSk/XFtbXlxzIidgXStcXVwvW1x3Xy1dKy8sZV0pLE5lKFsvKFteXHMiJ2BcW1xcXSstKT9cW1teXHMiJ2BdK1xdLyxlXSksTmUoWy9bXlxzIidgXFtcXF0rLyxlXSldKSxxdChbTmUoWy8oW15ccyInYFxbXFxdKy0pP1xbW15cc2BdK1xdXC9bXHdfLV0rLyxlXSksTmUoWy8oW15ccyInYFxbXFxdKy0pP1xbW15cc2BdK1xdLyxlXSksTmUoWy9bXlxzYFxbXFxdKy8sZV0pXSldO2ZvcihsZXQgcyBvZiBuKXlpZWxkIE5lKFsiKCg/PSgoIixzLCIpKykpXFwyKT8iLC8hPy8sdCxpXSk7eWllbGQvW148PiInYFxzLigpe31bXF0jPSUkXVtePD4iJ2Bccygpe31bXF0jPSUkXSpbXjw+IidgXHMuKCl7fVtcXSM9JTokXS9nfWZ1bmN0aW9uIEMyKHIpe2lmKCFyLmluY2x1ZGVzKCItWyIpKXJldHVybiByO2xldCBlPTAsdD1bXSxpPXIubWF0Y2hBbGwoUzIpO2k9QXJyYXkuZnJvbShpKS5mbGF0TWFwKG49PntsZXRbLC4uLnNdPW47cmV0dXJuIHMubWFwKChhLG8pPT5PYmplY3QuYXNzaWduKFtdLG4se2luZGV4Om4uaW5kZXgrbywwOmF9KSl9KTtmb3IobGV0IG4gb2YgaSl7bGV0IHM9blswXSxhPXRbdC5sZW5ndGgtMV07aWYocz09PWE/dC5wb3AoKToocz09PSInInx8cz09PSciJ3x8cz09PSJgIikmJnQucHVzaChzKSwhYSl7aWYocz09PSJbIil7ZSsrO2NvbnRpbnVlfWVsc2UgaWYocz09PSJdIil7ZS0tO2NvbnRpbnVlfWlmKGU8MClyZXR1cm4gci5zdWJzdHJpbmcoMCxuLmluZGV4LTEpO2lmKGU9PT0wJiYhQTIudGVzdChzKSlyZXR1cm4gci5zdWJzdHJpbmcoMCxuLmluZGV4KX19cmV0dXJuIHJ9dmFyIFMyLEEyLCRnPVAoKCk9Pnt1KCk7RGcoKTt6dCgpO1MyPS8oW1xbXF0nImBdKShbXlxbXF0nImBdKT8vZyxBMj0vW14iJ2Bcczw+XF1dKy99KTtmdW5jdGlvbiBfMihyLGUpe2xldCB0PXIudGFpbHdpbmRDb25maWcuY29udGVudC5leHRyYWN0O3JldHVybiB0W2VdfHx0LkRFRkFVTFR8fE1nW2VdfHxNZy5ERUZBVUxUKHIpfWZ1bmN0aW9uIEUyKHIsZSl7bGV0IHQ9ci5jb250ZW50LnRyYW5zZm9ybTtyZXR1cm4gdFtlXXx8dC5ERUZBVUxUfHxOZ1tlXXx8TmcuREVGQVVMVH1mdW5jdGlvbiBPMihyLGUsdCxpKXtMaS5oYXMoZSl8fExpLnNldChlLG5ldyBMZy5kZWZhdWx0KHttYXhTaXplOjI1ZTN9KSk7Zm9yKGxldCBuIG9mIHIuc3BsaXQoYApgKSlpZihuPW4udHJpbSgpLCFpLmhhcyhuKSlpZihpLmFkZChuKSxMaS5nZXQoZSkuaGFzKG4pKWZvcihsZXQgcyBvZiBMaS5nZXQoZSkuZ2V0KG4pKXQuYWRkKHMpO2Vsc2V7bGV0IHM9ZShuKS5maWx0ZXIobz0+byE9PSIhKiIpLGE9bmV3IFNldChzKTtmb3IobGV0IG8gb2YgYSl0LmFkZChvKTtMaS5nZXQoZSkuc2V0KG4sYSl9fWZ1bmN0aW9uIFQyKHIsZSl7bGV0IHQ9ZS5vZmZzZXRzLnNvcnQociksaT17YmFzZTpuZXcgU2V0LGRlZmF1bHRzOm5ldyBTZXQsY29tcG9uZW50czpuZXcgU2V0LHV0aWxpdGllczpuZXcgU2V0LHZhcmlhbnRzOm5ldyBTZXR9O2ZvcihsZXRbbixzXW9mIHQpaVtuLmxheWVyXS5hZGQocyk7cmV0dXJuIGl9ZnVuY3Rpb24gUGwocil7cmV0dXJuIGFzeW5jIGU9PntsZXQgdD17YmFzZTpudWxsLGNvbXBvbmVudHM6bnVsbCx1dGlsaXRpZXM6bnVsbCx2YXJpYW50czpudWxsfTtpZihlLndhbGtBdFJ1bGVzKHk9Pnt5Lm5hbWU9PT0idGFpbHdpbmQiJiZPYmplY3Qua2V5cyh0KS5pbmNsdWRlcyh5LnBhcmFtcykmJih0W3kucGFyYW1zXT15KX0pLE9iamVjdC52YWx1ZXModCkuZXZlcnkoeT0+eT09PW51bGwpKXJldHVybiBlO2xldCBpPW5ldyBTZXQoWy4uLnIuY2FuZGlkYXRlcz8/W10sZ3RdKSxuPW5ldyBTZXQ7YnQuREVCVUcmJmNvbnNvbGUudGltZSgiUmVhZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IHM9W107Zm9yKGxldCB5IG9mIHIuY2hhbmdlZENvbnRlbnQpe2xldCB3PUUyKHIudGFpbHdpbmRDb25maWcseS5leHRlbnNpb24pLGs9XzIocix5LmV4dGVuc2lvbik7cy5wdXNoKFt5LHt0cmFuc2Zvcm1lcjp3LGV4dHJhY3RvcjprfV0pfWxldCBhPTUwMDtmb3IobGV0IHk9MDt5PHMubGVuZ3RoO3krPWEpe2xldCB3PXMuc2xpY2UoeSx5K2EpO2F3YWl0IFByb21pc2UuYWxsKHcubWFwKGFzeW5jKFt7ZmlsZTprLGNvbnRlbnQ6U30se3RyYW5zZm9ybWVyOkUsZXh0cmFjdG9yOlR9XSk9PntTPWs/YXdhaXQgYmUucHJvbWlzZXMucmVhZEZpbGUoaywidXRmOCIpOlMsTzIoRShTKSxULGksbil9KSl9YnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiUmVhZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IG89ci5jbGFzc0NhY2hlLnNpemU7YnQuREVCVUcmJmNvbnNvbGUudGltZSgiR2VuZXJhdGUgcnVsZXMiKSxidC5ERUJVRyYmY29uc29sZS50aW1lKCJTb3J0aW5nIGNhbmRpZGF0ZXMiKTtsZXQgbD1uZXcgU2V0KFsuLi5pXS5zb3J0KCh5LHcpPT55PT09dz8wOnk8dz8tMToxKSk7YnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiU29ydGluZyBjYW5kaWRhdGVzIiksYXMobCxyKSxidC5ERUJVRyYmY29uc29sZS50aW1lRW5kKCJHZW5lcmF0ZSBydWxlcyIpLGJ0LkRFQlVHJiZjb25zb2xlLnRpbWUoIkJ1aWxkIHN0eWxlc2hlZXQiKSwoci5zdHlsZXNoZWV0Q2FjaGU9PT1udWxsfHxyLmNsYXNzQ2FjaGUuc2l6ZSE9PW8pJiYoci5zdHlsZXNoZWV0Q2FjaGU9VDIoWy4uLnIucnVsZUNhY2hlXSxyKSksYnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiQnVpbGQgc3R5bGVzaGVldCIpO2xldHtkZWZhdWx0czpjLGJhc2U6Zixjb21wb25lbnRzOmQsdXRpbGl0aWVzOnAsdmFyaWFudHM6aH09ci5zdHlsZXNoZWV0Q2FjaGU7dC5iYXNlJiYodC5iYXNlLmJlZm9yZShRdChbLi4uYywuLi5mXSx0LmJhc2Uuc291cmNlLHtsYXllcjoiYmFzZSJ9KSksdC5iYXNlLnJlbW92ZSgpKSx0LmNvbXBvbmVudHMmJih0LmNvbXBvbmVudHMuYmVmb3JlKFF0KFsuLi5kXSx0LmNvbXBvbmVudHMuc291cmNlLHtsYXllcjoiY29tcG9uZW50cyJ9KSksdC5jb21wb25lbnRzLnJlbW92ZSgpKSx0LnV0aWxpdGllcyYmKHQudXRpbGl0aWVzLmJlZm9yZShRdChbLi4ucF0sdC51dGlsaXRpZXMuc291cmNlLHtsYXllcjoidXRpbGl0aWVzIn0pKSx0LnV0aWxpdGllcy5yZW1vdmUoKSk7bGV0IGI9QXJyYXkuZnJvbShoKS5maWx0ZXIoeT0+e2xldCB3PXkucmF3cy50YWlsd2luZD8ucGFyZW50TGF5ZXI7cmV0dXJuIHc9PT0iY29tcG9uZW50cyI/dC5jb21wb25lbnRzIT09bnVsbDp3PT09InV0aWxpdGllcyI/dC51dGlsaXRpZXMhPT1udWxsOiEwfSk7dC52YXJpYW50cz8odC52YXJpYW50cy5iZWZvcmUoUXQoYix0LnZhcmlhbnRzLnNvdXJjZSx7bGF5ZXI6InZhcmlhbnRzIn0pKSx0LnZhcmlhbnRzLnJlbW92ZSgpKTpiLmxlbmd0aD4wJiZlLmFwcGVuZChRdChiLGUuc291cmNlLHtsYXllcjoidmFyaWFudHMifSkpLGUuc291cmNlLmVuZD1lLnNvdXJjZS5lbmQ/P2Uuc291cmNlLnN0YXJ0O2xldCB2PWIuc29tZSh5PT55LnJhd3MudGFpbHdpbmQ/LnBhcmVudExheWVyPT09InV0aWxpdGllcyIpO3QudXRpbGl0aWVzJiZwLnNpemU9PT0wJiYhdiYmRy53YXJuKCJjb250ZW50LXByb2JsZW1zIixbIk5vIHV0aWxpdHkgY2xhc3NlcyB3ZXJlIGRldGVjdGVkIGluIHlvdXIgc291cmNlIGZpbGVzLiBJZiB0aGlzIGlzIHVuZXhwZWN0ZWQsIGRvdWJsZS1jaGVjayB0aGUgYGNvbnRlbnRgIG9wdGlvbiBpbiB5b3VyIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uLiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvY29udGVudC1jb25maWd1cmF0aW9uIl0pLGJ0LkRFQlVHJiYoY29uc29sZS5sb2coIlBvdGVudGlhbCBjbGFzc2VzOiAiLGkuc2l6ZSksY29uc29sZS5sb2coIkFjdGl2ZSBjb250ZXh0czogIixlcy5zaXplKSksci5jaGFuZ2VkQ29udGVudD1bXSxlLndhbGtBdFJ1bGVzKCJsYXllciIseT0+e09iamVjdC5rZXlzKHQpLmluY2x1ZGVzKHkucGFyYW1zKSYmeS5yZW1vdmUoKX0pfX12YXIgTGcsYnQsTWcsTmcsTGksQmc9UCgoKT0+e3UoKTtmdCgpO0xnPXBlKEZzKCkpO0l0KCk7b3MoKTtCZSgpO1JnKCk7JGcoKTtidD1aZSxNZz17REVGQVVMVDpxZ30sTmc9e0RFRkFVTFQ6cj0+cixzdmVsdGU6cj0+ci5yZXBsYWNlKC8oPzpefFxzKWNsYXNzOi9nLCIgIil9O0xpPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24geHMocil7bGV0IGU9bmV3IE1hcDtlZS5yb290KHtub2Rlczpbci5jbG9uZSgpXX0pLndhbGtSdWxlcyhzPT57KDAsdnMuZGVmYXVsdCkoYT0+e2Eud2Fsa0NsYXNzZXMobz0+e2xldCBsPW8ucGFyZW50LnRvU3RyaW5nKCksYz1lLmdldChsKTtjfHxlLnNldChsLGM9bmV3IFNldCksYy5hZGQoby52YWx1ZSl9KX0pLnByb2Nlc3NTeW5jKHMuc2VsZWN0b3IpfSk7bGV0IGk9QXJyYXkuZnJvbShlLnZhbHVlcygpLHM9PkFycmF5LmZyb20ocykpLG49aS5mbGF0KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24obix7Z3JvdXBzOml9KX1mdW5jdGlvbiBJbChyKXtyZXR1cm4gUjIuYXN0U3luYyhyKX1mdW5jdGlvbiBGZyhyLGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldCBpIG9mIHIpdC5hZGQoaS5zcGxpdChlKS5wb3AoKSk7cmV0dXJuIEFycmF5LmZyb20odCl9ZnVuY3Rpb24gamcocixlKXtsZXQgdD1yLnRhaWx3aW5kQ29uZmlnLnByZWZpeDtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0K2V9ZnVuY3Rpb24qemcocil7Zm9yKHlpZWxkIHI7ci5wYXJlbnQ7KXlpZWxkIHIucGFyZW50LHI9ci5wYXJlbnR9ZnVuY3Rpb24gUDIocixlPXt9KXtsZXQgdD1yLm5vZGVzO3Iubm9kZXM9W107bGV0IGk9ci5jbG9uZShlKTtyZXR1cm4gci5ub2Rlcz10LGl9ZnVuY3Rpb24gSTIocil7Zm9yKGxldCBlIG9mIHpnKHIpKWlmKHIhPT1lKXtpZihlLnR5cGU9PT0icm9vdCIpYnJlYWs7cj1QMihlLHtub2Rlczpbcl19KX1yZXR1cm4gcn1mdW5jdGlvbiBEMihyLGUpe2xldCB0PW5ldyBNYXA7cmV0dXJuIHIud2Fsa1J1bGVzKGk9Pntmb3IobGV0IGEgb2YgemcoaSkpaWYoYS5yYXdzLnRhaWx3aW5kPy5sYXllciE9PXZvaWQgMClyZXR1cm47bGV0IG49STIoaSkscz1lLm9mZnNldHMuY3JlYXRlKCJ1c2VyIik7Zm9yKGxldCBhIG9mIHhzKGkpKXtsZXQgbz10LmdldChhKXx8W107dC5zZXQoYSxvKSxvLnB1c2goW3tsYXllcjoidXNlciIsc29ydDpzLGltcG9ydGFudDohMX0sbl0pfX0pLHR9ZnVuY3Rpb24gcTIocixlKXtmb3IobGV0IHQgb2Ygcil7aWYoZS5ub3RDbGFzc0NhY2hlLmhhcyh0KXx8ZS5hcHBseUNsYXNzQ2FjaGUuaGFzKHQpKWNvbnRpbnVlO2lmKGUuY2xhc3NDYWNoZS5oYXModCkpe2UuYXBwbHlDbGFzc0NhY2hlLnNldCh0LGUuY2xhc3NDYWNoZS5nZXQodCkubWFwKChbbixzXSk9PltuLHMuY2xvbmUoKV0pKTtjb250aW51ZX1sZXQgaT1BcnJheS5mcm9tKFlvKHQsZSkpO2lmKGkubGVuZ3RoPT09MCl7ZS5ub3RDbGFzc0NhY2hlLmFkZCh0KTtjb250aW51ZX1lLmFwcGx5Q2xhc3NDYWNoZS5zZXQodCxpKX1yZXR1cm4gZS5hcHBseUNsYXNzQ2FjaGV9ZnVuY3Rpb24gJDIocil7bGV0IGU9bnVsbDtyZXR1cm57Z2V0OnQ9PihlPWV8fHIoKSxlLmdldCh0KSksaGFzOnQ9PihlPWV8fHIoKSxlLmhhcyh0KSl9fWZ1bmN0aW9uIEwyKHIpe3JldHVybntnZXQ6ZT0+ci5mbGF0TWFwKHQ9PnQuZ2V0KGUpfHxbXSksaGFzOmU9PnIuc29tZSh0PT50LmhhcyhlKSl9fWZ1bmN0aW9uIFVnKHIpe2xldCBlPXIuc3BsaXQoL1tcc1x0XG5dKy9nKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT09PSIhaW1wb3J0YW50Ij9bZS5zbGljZSgwLC0xKSwhMF06W2UsITFdfWZ1bmN0aW9uIFZnKHIsZSx0KXtsZXQgaT1uZXcgU2V0LG49W107aWYoci53YWxrQXRSdWxlcygiYXBwbHkiLGw9PntsZXRbY109VWcobC5wYXJhbXMpO2ZvcihsZXQgZiBvZiBjKWkuYWRkKGYpO24ucHVzaChsKX0pLG4ubGVuZ3RoPT09MClyZXR1cm47bGV0IHM9TDIoW3QscTIoaSxlKV0pO2Z1bmN0aW9uIGEobCxjLGYpe2xldCBkPUlsKGwpLHA9SWwoYyksYj1JbChgLiR7VGUoZil9YCkubm9kZXNbMF0ubm9kZXNbMF07cmV0dXJuIGQuZWFjaCh2PT57bGV0IHk9bmV3IFNldDtwLmVhY2godz0+e2xldCBrPSExO3c9dy5jbG9uZSgpLHcud2Fsa0NsYXNzZXMoUz0+e1MudmFsdWU9PT1iLnZhbHVlJiYoa3x8KFMucmVwbGFjZVdpdGgoLi4udi5ub2Rlcy5tYXAoRT0+RS5jbG9uZSgpKSkseS5hZGQodyksaz0hMCkpfSl9KTtmb3IobGV0IHcgb2YgeSl7bGV0IGs9W1tdXTtmb3IobGV0IFMgb2Ygdy5ub2RlcylTLnR5cGU9PT0iY29tYmluYXRvciI/KGsucHVzaChTKSxrLnB1c2goW10pKTprW2subGVuZ3RoLTFdLnB1c2goUyk7dy5ub2Rlcz1bXTtmb3IobGV0IFMgb2YgaylBcnJheS5pc0FycmF5KFMpJiZTLnNvcnQoKEUsVCk9PkUudHlwZT09PSJ0YWciJiZULnR5cGU9PT0iY2xhc3MiPy0xOkUudHlwZT09PSJjbGFzcyImJlQudHlwZT09PSJ0YWciPzE6RS50eXBlPT09ImNsYXNzIiYmVC50eXBlPT09InBzZXVkbyImJlQudmFsdWUuc3RhcnRzV2l0aCgiOjoiKT8tMTpFLnR5cGU9PT0icHNldWRvIiYmRS52YWx1ZS5zdGFydHNXaXRoKCI6OiIpJiZULnR5cGU9PT0iY2xhc3MiPzE6MCksdy5ub2Rlcz13Lm5vZGVzLmNvbmNhdChTKX12LnJlcGxhY2VXaXRoKC4uLnkpfSksZC50b1N0cmluZygpfWxldCBvPW5ldyBNYXA7Zm9yKGxldCBsIG9mIG4pe2xldFtjXT1vLmdldChsLnBhcmVudCl8fFtbXSxsLnNvdXJjZV07by5zZXQobC5wYXJlbnQsW2MsbC5zb3VyY2VdKTtsZXRbZixkXT1VZyhsLnBhcmFtcyk7aWYobC5wYXJlbnQudHlwZT09PSJhdHJ1bGUiKXtpZihsLnBhcmVudC5uYW1lPT09InNjcmVlbiIpe2xldCBwPWwucGFyZW50LnBhcmFtczt0aHJvdyBsLmVycm9yKGBAYXBwbHkgaXMgbm90IHN1cHBvcnRlZCB3aXRoaW4gbmVzdGVkIGF0LXJ1bGVzIGxpa2UgQHNjcmVlbi4gV2Ugc3VnZ2VzdCB5b3Ugd3JpdGUgdGhpcyBhcyBAYXBwbHkgJHtmLm1hcChoPT5gJHtwfToke2h9YCkuam9pbigiICIpfSBpbnN0ZWFkLmApfXRocm93IGwuZXJyb3IoYEBhcHBseSBpcyBub3Qgc3VwcG9ydGVkIHdpdGhpbiBuZXN0ZWQgYXQtcnVsZXMgbGlrZSBAJHtsLnBhcmVudC5uYW1lfS4gWW91IGNhbiBmaXggdGhpcyBieSB1bi1uZXN0aW5nIEAke2wucGFyZW50Lm5hbWV9LmApfWZvcihsZXQgcCBvZiBmKXtpZihbamcoZSwiZ3JvdXAiKSxqZyhlLCJwZWVyIildLmluY2x1ZGVzKHApKXRocm93IGwuZXJyb3IoYEBhcHBseSBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCB0aGUgJyR7cH0nIHV0aWxpdHlgKTtpZighcy5oYXMocCkpdGhyb3cgbC5lcnJvcihgVGhlIFxgJHtwfVxgIGNsYXNzIGRvZXMgbm90IGV4aXN0LiBJZiBcYCR7cH1cYCBpcyBhIGN1c3RvbSBjbGFzcywgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgd2l0aGluIGEgXGBAbGF5ZXJcYCBkaXJlY3RpdmUuYCk7bGV0IGg9cy5nZXQocCk7Zm9yKGxldFssYl1vZiBoKWIudHlwZSE9PSJhdHJ1bGUiJiZiLndhbGtSdWxlcygoKT0+e3Rocm93IGwuZXJyb3IoW2BUaGUgXGAke3B9XGAgY2xhc3MgY2Fubm90IGJlIHVzZWQgd2l0aCBcYEBhcHBseVxgIGJlY2F1c2UgXGBAYXBwbHlcYCBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBuZXN0ZWQgQ1NTLmAsIlJld3JpdGUgdGhlIHNlbGVjdG9yIHdpdGhvdXQgbmVzdGluZyBvciBjb25maWd1cmUgdGhlIGB0YWlsd2luZGNzcy9uZXN0aW5nYCBwbHVnaW46IiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91c2luZy13aXRoLXByZXByb2Nlc3NvcnMjbmVzdGluZyJdLmpvaW4oYApgKSl9KTtjLnB1c2goW3AsZCxoXSl9fWZvcihsZXRbbCxbYyxmXV1vZiBvKXtsZXQgZD1bXTtmb3IobGV0W2gsYix2XW9mIGMpe2xldCB5PVtoLC4uLkZnKFtoXSxlLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcildO2ZvcihsZXRbdyxrXW9mIHYpe2xldCBTPXhzKGwpLEU9eHMoayk7aWYoRT1FLmdyb3Vwcy5maWx0ZXIoUj0+Ui5zb21lKEY9PnkuaW5jbHVkZXMoRikpKS5mbGF0KCksRT1FLmNvbmNhdChGZyhFLGUudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yKSksUy5zb21lKFI9PkUuaW5jbHVkZXMoUikpKXRocm93IGsuZXJyb3IoYFlvdSBjYW5ub3QgXGBAYXBwbHlcYCB0aGUgXGAke2h9XGAgdXRpbGl0eSBoZXJlIGJlY2F1c2UgaXQgY3JlYXRlcyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuYCk7bGV0IEI9ZWUucm9vdCh7bm9kZXM6W2suY2xvbmUoKV19KTtCLndhbGsoUj0+e1Iuc291cmNlPWZ9KSwoay50eXBlIT09ImF0cnVsZSJ8fGsudHlwZT09PSJhdHJ1bGUiJiZrLm5hbWUhPT0ia2V5ZnJhbWVzIikmJkIud2Fsa1J1bGVzKFI9PntpZigheHMoUikuc29tZShVPT5VPT09aCkpe1IucmVtb3ZlKCk7cmV0dXJufWxldCBGPXR5cGVvZiBlLnRhaWx3aW5kQ29uZmlnLmltcG9ydGFudD09InN0cmluZyI/ZS50YWlsd2luZENvbmZpZy5pbXBvcnRhbnQ6bnVsbCxfPWwucmF3cy50YWlsd2luZCE9PXZvaWQgMCYmRiYmbC5zZWxlY3Rvci5pbmRleE9mKEYpPT09MD9sLnNlbGVjdG9yLnNsaWNlKEYubGVuZ3RoKTpsLnNlbGVjdG9yO189PT0iIiYmKF89bC5zZWxlY3RvciksUi5zZWxlY3Rvcj1hKF8sUi5zZWxlY3RvcixoKSxGJiZfIT09bC5zZWxlY3RvciYmKFIuc2VsZWN0b3I9aXMoUi5zZWxlY3RvcixGKSksUi53YWxrRGVjbHMoVT0+e1UuaW1wb3J0YW50PXcuaW1wb3J0YW50fHxifSk7bGV0IFE9KDAsdnMuZGVmYXVsdCkoKS5hc3RTeW5jKFIuc2VsZWN0b3IpO1EuZWFjaChVPT5wcihVKSksUi5zZWxlY3Rvcj1RLnRvU3RyaW5nKCl9KSwhIUIubm9kZXNbMF0mJmQucHVzaChbdy5zb3J0LEIubm9kZXNbMF1dKX19bGV0IHA9ZS5vZmZzZXRzLnNvcnQoZCkubWFwKGg9PmhbMV0pO2wuYWZ0ZXIocCl9Zm9yKGxldCBsIG9mIG4pbC5wYXJlbnQubm9kZXMubGVuZ3RoPjE/bC5yZW1vdmUoKTpsLnBhcmVudC5yZW1vdmUoKTtWZyhyLGUsdCl9ZnVuY3Rpb24gRGwocil7cmV0dXJuIGU9PntsZXQgdD0kMigoKT0+RDIoZSxyKSk7VmcoZSxyLHQpfX12YXIgdnMsUjIsSGc9UCgoKT0+e3UoKTtPdCgpO3ZzPXBlKGl0KCkpO29zKCk7ZnIoKTtXbygpO3RzKCk7UjI9KDAsdnMuZGVmYXVsdCkoKX0pO3ZhciBXZz14KChucSxrcyk9Pnt1KCk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoaSxuLHMpe2lmKCFpKXJldHVybiBudWxsO3IuY2FzZVNlbnNpdGl2ZXx8KGk9aS50b0xvd2VyQ2FzZSgpKTt2YXIgYT1yLnRocmVzaG9sZD09PW51bGw/bnVsbDpyLnRocmVzaG9sZCppLmxlbmd0aCxvPXIudGhyZXNob2xkQWJzb2x1dGUsbDthIT09bnVsbCYmbyE9PW51bGw/bD1NYXRoLm1pbihhLG8pOmEhPT1udWxsP2w9YTpvIT09bnVsbD9sPW86bD1udWxsO3ZhciBjLGYsZCxwLGgsYj1uLmxlbmd0aDtmb3IoaD0wO2g8YjtoKyspaWYoZj1uW2hdLHMmJihmPWZbc10pLCEhZiYmKHIuY2FzZVNlbnNpdGl2ZT9kPWY6ZD1mLnRvTG93ZXJDYXNlKCkscD10KGksZCxsKSwobD09PW51bGx8fHA8bCkmJihsPXAscyYmci5yZXR1cm5XaW5uaW5nT2JqZWN0P2M9bltoXTpjPWYsci5yZXR1cm5GaXJzdE1hdGNoKSkpcmV0dXJuIGM7cmV0dXJuIGN8fHIubnVsbFJlc3VsdFZhbHVlfXIudGhyZXNob2xkPS40LHIudGhyZXNob2xkQWJzb2x1dGU9MjAsci5jYXNlU2Vuc2l0aXZlPSExLHIubnVsbFJlc3VsdFZhbHVlPW51bGwsci5yZXR1cm5XaW5uaW5nT2JqZWN0PW51bGwsci5yZXR1cm5GaXJzdE1hdGNoPSExLHR5cGVvZiBrcyE9InVuZGVmaW5lZCImJmtzLmV4cG9ydHM/a3MuZXhwb3J0cz1yOndpbmRvdy5kaWRZb3VNZWFuPXI7dmFyIGU9TWF0aC5wb3coMiwzMiktMTtmdW5jdGlvbiB0KGksbixzKXtzPXN8fHM9PT0wP3M6ZTt2YXIgYT1pLmxlbmd0aCxvPW4ubGVuZ3RoO2lmKGE9PT0wKXJldHVybiBNYXRoLm1pbihzKzEsbyk7aWYobz09PTApcmV0dXJuIE1hdGgubWluKHMrMSxhKTtpZihNYXRoLmFicyhhLW8pPnMpcmV0dXJuIHMrMTt2YXIgbD1bXSxjLGYsZCxwLGg7Zm9yKGM9MDtjPD1vO2MrKylsW2NdPVtjXTtmb3IoZj0wO2Y8PWE7ZisrKWxbMF1bZl09Zjtmb3IoYz0xO2M8PW87YysrKXtmb3IoZD1lLHA9MSxjPnMmJihwPWMtcyksaD1vKzEsaD5zK2MmJihoPXMrYyksZj0xO2Y8PWE7ZisrKWY8cHx8Zj5oP2xbY11bZl09cysxOm4uY2hhckF0KGMtMSk9PT1pLmNoYXJBdChmLTEpP2xbY11bZl09bFtjLTFdW2YtMV06bFtjXVtmXT1NYXRoLm1pbihsW2MtMV1bZi0xXSsxLE1hdGgubWluKGxbY11bZi0xXSsxLGxbYy0xXVtmXSsxKSksbFtjXVtmXTxkJiYoZD1sW2NdW2ZdKTtpZihkPnMpcmV0dXJuIHMrMX1yZXR1cm4gbFtvXVthXX19KSgpfSk7dmFyIFFnPXgoKHNxLEdnKT0+e3UoKTt2YXIgcWw9IigiLmNoYXJDb2RlQXQoMCksJGw9IikiLmNoYXJDb2RlQXQoMCksU3M9IiciLmNoYXJDb2RlQXQoMCksTGw9JyInLmNoYXJDb2RlQXQoMCksTWw9IlxcIi5jaGFyQ29kZUF0KDApLHlyPSIvIi5jaGFyQ29kZUF0KDApLE5sPSIsIi5jaGFyQ29kZUF0KDApLEJsPSI6Ii5jaGFyQ29kZUF0KDApLEFzPSIqIi5jaGFyQ29kZUF0KDApLE0yPSJ1Ii5jaGFyQ29kZUF0KDApLE4yPSJVIi5jaGFyQ29kZUF0KDApLEIyPSIrIi5jaGFyQ29kZUF0KDApLEYyPS9eW2EtZjAtOT8tXSskL2k7R2cuZXhwb3J0cz1mdW5jdGlvbihyKXtmb3IodmFyIGU9W10sdD1yLGksbixzLGEsbyxsLGMsZixkPTAscD10LmNoYXJDb2RlQXQoZCksaD10Lmxlbmd0aCxiPVt7bm9kZXM6ZX1dLHY9MCx5LHc9IiIsaz0iIixTPSIiO2Q8aDspaWYocDw9MzIpe2k9ZDtkbyBpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKHA8PTMyKTthPXQuc2xpY2UoZCxpKSxzPWVbZS5sZW5ndGgtMV0scD09PSRsJiZ2P1M9YTpzJiZzLnR5cGU9PT0iZGl2Ij8ocy5hZnRlcj1hLHMuc291cmNlRW5kSW5kZXgrPWEubGVuZ3RoKTpwPT09Tmx8fHA9PT1CbHx8cD09PXlyJiZ0LmNoYXJDb2RlQXQoaSsxKSE9PUFzJiYoIXl8fHkmJnkudHlwZT09PSJmdW5jdGlvbiImJiExKT9rPWE6ZS5wdXNoKHt0eXBlOiJzcGFjZSIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppLHZhbHVlOmF9KSxkPWl9ZWxzZSBpZihwPT09U3N8fHA9PT1MbCl7aT1kLG49cD09PVNzPyInIjonIicsYT17dHlwZToic3RyaW5nIixzb3VyY2VJbmRleDpkLHF1b3RlOm59O2RvIGlmKG89ITEsaT10LmluZGV4T2YobixpKzEpLH5pKWZvcihsPWk7dC5jaGFyQ29kZUF0KGwtMSk9PT1NbDspbC09MSxvPSFvO2Vsc2UgdCs9bixpPXQubGVuZ3RoLTEsYS51bmNsb3NlZD0hMDt3aGlsZShvKTthLnZhbHVlPXQuc2xpY2UoZCsxLGkpLGEuc291cmNlRW5kSW5kZXg9YS51bmNsb3NlZD9pOmkrMSxlLnB1c2goYSksZD1pKzEscD10LmNoYXJDb2RlQXQoZCl9ZWxzZSBpZihwPT09eXImJnQuY2hhckNvZGVBdChkKzEpPT09QXMpaT10LmluZGV4T2YoIiovIixkKSxhPXt0eXBlOiJjb21tZW50Iixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmkrMn0saT09PS0xJiYoYS51bmNsb3NlZD0hMCxpPXQubGVuZ3RoLGEuc291cmNlRW5kSW5kZXg9aSksYS52YWx1ZT10LnNsaWNlKGQrMixpKSxlLnB1c2goYSksZD1pKzIscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZigocD09PXlyfHxwPT09QXMpJiZ5JiZ5LnR5cGU9PT0iZnVuY3Rpb24iKWE9dFtkXSxlLnB1c2goe3R5cGU6IndvcmQiLHNvdXJjZUluZGV4OmQtay5sZW5ndGgsc291cmNlRW5kSW5kZXg6ZCthLmxlbmd0aCx2YWx1ZTphfSksZCs9MSxwPXQuY2hhckNvZGVBdChkKTtlbHNlIGlmKHA9PT15cnx8cD09PU5sfHxwPT09QmwpYT10W2RdLGUucHVzaCh7dHlwZToiZGl2Iixzb3VyY2VJbmRleDpkLWsubGVuZ3RoLHNvdXJjZUVuZEluZGV4OmQrYS5sZW5ndGgsdmFsdWU6YSxiZWZvcmU6ayxhZnRlcjoiIn0pLGs9IiIsZCs9MSxwPXQuY2hhckNvZGVBdChkKTtlbHNlIGlmKHFsPT09cCl7aT1kO2RvIGkrPTEscD10LmNoYXJDb2RlQXQoaSk7d2hpbGUocDw9MzIpO2lmKGY9ZCxhPXt0eXBlOiJmdW5jdGlvbiIsc291cmNlSW5kZXg6ZC13Lmxlbmd0aCx2YWx1ZTp3LGJlZm9yZTp0LnNsaWNlKGYrMSxpKX0sZD1pLHc9PT0idXJsIiYmcCE9PVNzJiZwIT09TGwpe2ktPTE7ZG8gaWYobz0hMSxpPXQuaW5kZXhPZigiKSIsaSsxKSx+aSlmb3IobD1pO3QuY2hhckNvZGVBdChsLTEpPT09TWw7KWwtPTEsbz0hbztlbHNlIHQrPSIpIixpPXQubGVuZ3RoLTEsYS51bmNsb3NlZD0hMDt3aGlsZShvKTtjPWk7ZG8gYy09MSxwPXQuY2hhckNvZGVBdChjKTt3aGlsZShwPD0zMik7ZjxjPyhkIT09YysxP2Eubm9kZXM9W3t0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmMrMSx2YWx1ZTp0LnNsaWNlKGQsYysxKX1dOmEubm9kZXM9W10sYS51bmNsb3NlZCYmYysxIT09aT8oYS5hZnRlcj0iIixhLm5vZGVzLnB1c2goe3R5cGU6InNwYWNlIixzb3VyY2VJbmRleDpjKzEsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTp0LnNsaWNlKGMrMSxpKX0pKTooYS5hZnRlcj10LnNsaWNlKGMrMSxpKSxhLnNvdXJjZUVuZEluZGV4PWkpKTooYS5hZnRlcj0iIixhLm5vZGVzPVtdKSxkPWkrMSxhLnNvdXJjZUVuZEluZGV4PWEudW5jbG9zZWQ/aTpkLHA9dC5jaGFyQ29kZUF0KGQpLGUucHVzaChhKX1lbHNlIHYrPTEsYS5hZnRlcj0iIixhLnNvdXJjZUVuZEluZGV4PWQrMSxlLnB1c2goYSksYi5wdXNoKGEpLGU9YS5ub2Rlcz1bXSx5PWE7dz0iIn1lbHNlIGlmKCRsPT09cCYmdilkKz0xLHA9dC5jaGFyQ29kZUF0KGQpLHkuYWZ0ZXI9Uyx5LnNvdXJjZUVuZEluZGV4Kz1TLmxlbmd0aCxTPSIiLHYtPTEsYltiLmxlbmd0aC0xXS5zb3VyY2VFbmRJbmRleD1kLGIucG9wKCkseT1iW3ZdLGU9eS5ub2RlcztlbHNle2k9ZDtkbyBwPT09TWwmJihpKz0xKSxpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKGk8aCYmIShwPD0zMnx8cD09PVNzfHxwPT09TGx8fHA9PT1ObHx8cD09PUJsfHxwPT09eXJ8fHA9PT1xbHx8cD09PUFzJiZ5JiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiYhMHx8cD09PXlyJiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiYhMHx8cD09PSRsJiZ2KSk7YT10LnNsaWNlKGQsaSkscWw9PT1wP3c9YTooTTI9PT1hLmNoYXJDb2RlQXQoMCl8fE4yPT09YS5jaGFyQ29kZUF0KDApKSYmQjI9PT1hLmNoYXJDb2RlQXQoMSkmJkYyLnRlc3QoYS5zbGljZSgyKSk/ZS5wdXNoKHt0eXBlOiJ1bmljb2RlLXJhbmdlIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6YX0pOmUucHVzaCh7dHlwZToid29yZCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppLHZhbHVlOmF9KSxkPWl9Zm9yKGQ9Yi5sZW5ndGgtMTtkO2QtPTEpYltkXS51bmNsb3NlZD0hMCxiW2RdLnNvdXJjZUVuZEluZGV4PXQubGVuZ3RoO3JldHVybiBiWzBdLm5vZGVzfX0pO3ZhciBLZz14KChhcSxZZyk9Pnt1KCk7WWcuZXhwb3J0cz1mdW5jdGlvbiByKGUsdCxpKXt2YXIgbixzLGEsbztmb3Iobj0wLHM9ZS5sZW5ndGg7bjxzO24rPTEpYT1lW25dLGl8fChvPXQoYSxuLGUpKSxvIT09ITEmJmEudHlwZT09PSJmdW5jdGlvbiImJkFycmF5LmlzQXJyYXkoYS5ub2RlcykmJnIoYS5ub2Rlcyx0LGkpLGkmJnQoYSxuLGUpfX0pO3ZhciBleT14KChvcSxKZyk9Pnt1KCk7ZnVuY3Rpb24gWGcocixlKXt2YXIgdD1yLnR5cGUsaT1yLnZhbHVlLG4scztyZXR1cm4gZSYmKHM9ZShyKSkhPT12b2lkIDA/czp0PT09IndvcmQifHx0PT09InNwYWNlIj9pOnQ9PT0ic3RyaW5nIj8obj1yLnF1b3RlfHwiIixuK2krKHIudW5jbG9zZWQ/IiI6bikpOnQ9PT0iY29tbWVudCI/Ii8qIitpKyhyLnVuY2xvc2VkPyIiOiIqLyIpOnQ9PT0iZGl2Ij8oci5iZWZvcmV8fCIiKStpKyhyLmFmdGVyfHwiIik6QXJyYXkuaXNBcnJheShyLm5vZGVzKT8obj1aZyhyLm5vZGVzLGUpLHQhPT0iZnVuY3Rpb24iP246aSsiKCIrKHIuYmVmb3JlfHwiIikrbisoci5hZnRlcnx8IiIpKyhyLnVuY2xvc2VkPyIiOiIpIikpOml9ZnVuY3Rpb24gWmcocixlKXt2YXIgdCxpO2lmKEFycmF5LmlzQXJyYXkocikpe2Zvcih0PSIiLGk9ci5sZW5ndGgtMTt+aTtpLT0xKXQ9WGcocltpXSxlKSt0O3JldHVybiB0fXJldHVybiBYZyhyLGUpfUpnLmV4cG9ydHM9Wmd9KTt2YXIgcnk9eCgobHEsdHkpPT57dSgpO3ZhciBDcz0iLSIuY2hhckNvZGVBdCgwKSxfcz0iKyIuY2hhckNvZGVBdCgwKSxGbD0iLiIuY2hhckNvZGVBdCgwKSxqMj0iZSIuY2hhckNvZGVBdCgwKSx6Mj0iRSIuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBVMihyKXt2YXIgZT1yLmNoYXJDb2RlQXQoMCksdDtpZihlPT09X3N8fGU9PT1Dcyl7aWYodD1yLmNoYXJDb2RlQXQoMSksdD49NDgmJnQ8PTU3KXJldHVybiEwO3ZhciBpPXIuY2hhckNvZGVBdCgyKTtyZXR1cm4gdD09PUZsJiZpPj00OCYmaTw9NTd9cmV0dXJuIGU9PT1GbD8odD1yLmNoYXJDb2RlQXQoMSksdD49NDgmJnQ8PTU3KTplPj00OCYmZTw9NTd9dHkuZXhwb3J0cz1mdW5jdGlvbihyKXt2YXIgZT0wLHQ9ci5sZW5ndGgsaSxuLHM7aWYodD09PTB8fCFVMihyKSlyZXR1cm4hMTtmb3IoaT1yLmNoYXJDb2RlQXQoZSksKGk9PT1fc3x8aT09PUNzKSYmZSsrO2U8dCYmKGk9ci5jaGFyQ29kZUF0KGUpLCEoaTw0OHx8aT41NykpOyllKz0xO2lmKGk9ci5jaGFyQ29kZUF0KGUpLG49ci5jaGFyQ29kZUF0KGUrMSksaT09PUZsJiZuPj00OCYmbjw9NTcpZm9yKGUrPTI7ZTx0JiYoaT1yLmNoYXJDb2RlQXQoZSksIShpPDQ4fHxpPjU3KSk7KWUrPTE7aWYoaT1yLmNoYXJDb2RlQXQoZSksbj1yLmNoYXJDb2RlQXQoZSsxKSxzPXIuY2hhckNvZGVBdChlKzIpLChpPT09ajJ8fGk9PT16MikmJihuPj00OCYmbjw9NTd8fChuPT09X3N8fG49PT1DcykmJnM+PTQ4JiZzPD01NykpZm9yKGUrPW49PT1fc3x8bj09PUNzPzM6MjtlPHQmJihpPXIuY2hhckNvZGVBdChlKSwhKGk8NDh8fGk+NTcpKTspZSs9MTtyZXR1cm57bnVtYmVyOnIuc2xpY2UoMCxlKSx1bml0OnIuc2xpY2UoZSl9fX0pO3ZhciBheT14KCh1cSxzeSk9Pnt1KCk7dmFyIFYyPVFnKCksaXk9S2coKSxueT1leSgpO2Z1bmN0aW9uICR0KHIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgJHQ/KHRoaXMubm9kZXM9VjIociksdGhpcyk6bmV3ICR0KHIpfSR0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBBcnJheS5pc0FycmF5KHRoaXMubm9kZXMpP255KHRoaXMubm9kZXMpOiIifTskdC5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbihyLGUpe3JldHVybiBpeSh0aGlzLm5vZGVzLHIsZSksdGhpc307JHQudW5pdD1yeSgpOyR0LndhbGs9aXk7JHQuc3RyaW5naWZ5PW55O3N5LmV4cG9ydHM9JHR9KTtmdW5jdGlvbiB6bChyKXtyZXR1cm4gdHlwZW9mIHI9PSJvYmplY3QiJiZyIT09bnVsbH1mdW5jdGlvbiBIMihyLGUpe2xldCB0PWt0KGUpO2RvIGlmKHQucG9wKCksKDAsTWkuZGVmYXVsdCkocix0KSE9PXZvaWQgMClicmVhazt3aGlsZSh0Lmxlbmd0aCk7cmV0dXJuIHQubGVuZ3RoP3Q6dm9pZCAwfWZ1bmN0aW9uIGJyKHIpe3JldHVybiB0eXBlb2Ygcj09InN0cmluZyI/cjpyLnJlZHVjZSgoZSx0LGkpPT50LmluY2x1ZGVzKCIuIik/YCR7ZX1bJHt0fV1gOmk9PT0wP3Q6YCR7ZX0uJHt0fWAsIiIpfWZ1bmN0aW9uIGx5KHIpe3JldHVybiByLm1hcChlPT5gJyR7ZX0nYCkuam9pbigiLCAiKX1mdW5jdGlvbiB1eShyKXtyZXR1cm4gbHkoT2JqZWN0LmtleXMocikpfWZ1bmN0aW9uIFVsKHIsZSx0LGk9e30pe2xldCBuPUFycmF5LmlzQXJyYXkoZSk/YnIoZSk6ZS5yZXBsYWNlKC9eWyciXSt8WyciXSskL2csIiIpLHM9QXJyYXkuaXNBcnJheShlKT9lOmt0KG4pLGE9KDAsTWkuZGVmYXVsdCkoci50aGVtZSxzLHQpO2lmKGE9PT12b2lkIDApe2xldCBsPWAnJHtufScgZG9lcyBub3QgZXhpc3QgaW4geW91ciB0aGVtZSBjb25maWcuYCxjPXMuc2xpY2UoMCwtMSksZj0oMCxNaS5kZWZhdWx0KShyLnRoZW1lLGMpO2lmKHpsKGYpKXtsZXQgZD1PYmplY3Qua2V5cyhmKS5maWx0ZXIoaD0+VWwocixbLi4uYyxoXSkuaXNWYWxpZCkscD0oMCxveS5kZWZhdWx0KShzW3MubGVuZ3RoLTFdLGQpO3A/bCs9YCBEaWQgeW91IG1lYW4gJyR7YnIoWy4uLmMscF0pfSc/YDpkLmxlbmd0aD4wJiYobCs9YCAnJHticihjKX0nIGhhcyB0aGUgZm9sbG93aW5nIHZhbGlkIGtleXM6ICR7bHkoZCl9YCl9ZWxzZXtsZXQgZD1IMihyLnRoZW1lLG4pO2lmKGQpe2xldCBwPSgwLE1pLmRlZmF1bHQpKHIudGhlbWUsZCk7emwocCk/bCs9YCAnJHticihkKX0nIGhhcyB0aGUgZm9sbG93aW5nIGtleXM6ICR7dXkocCl9YDpsKz1gICcke2JyKGQpfScgaXMgbm90IGFuIG9iamVjdC5gfWVsc2UgbCs9YCBZb3VyIHRoZW1lIGhhcyB0aGUgZm9sbG93aW5nIHRvcC1sZXZlbCBrZXlzOiAke3V5KHIudGhlbWUpfWB9cmV0dXJue2lzVmFsaWQ6ITEsZXJyb3I6bH19aWYoISh0eXBlb2YgYT09InN0cmluZyJ8fHR5cGVvZiBhPT0ibnVtYmVyInx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fGEgaW5zdGFuY2VvZiBTdHJpbmd8fGEgaW5zdGFuY2VvZiBOdW1iZXJ8fEFycmF5LmlzQXJyYXkoYSkpKXtsZXQgbD1gJyR7bn0nIHdhcyBmb3VuZCBidXQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHN0cmluZy5gO2lmKHpsKGEpKXtsZXQgYz1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+VWwocixbLi4ucyxmXSkuaXNWYWxpZCk7Yy5sZW5ndGgmJihsKz1gIERpZCB5b3UgbWVhbiBzb21ldGhpbmcgbGlrZSAnJHticihbLi4ucyxjWzBdXSl9Jz9gKX1yZXR1cm57aXNWYWxpZDohMSxlcnJvcjpsfX1sZXRbb109cztyZXR1cm57aXNWYWxpZDohMCx2YWx1ZTptdChvKShhLGkpfX1mdW5jdGlvbiBXMihyLGUsdCl7ZT1lLm1hcChuPT5meShyLG4sdCkpO2xldCBpPVsiIl07Zm9yKGxldCBuIG9mIGUpbi50eXBlPT09ImRpdiImJm4udmFsdWU9PT0iLCI/aS5wdXNoKCIiKTppW2kubGVuZ3RoLTFdKz1qbC5kZWZhdWx0LnN0cmluZ2lmeShuKTtyZXR1cm4gaX1mdW5jdGlvbiBmeShyLGUsdCl7aWYoZS50eXBlPT09ImZ1bmN0aW9uIiYmdFtlLnZhbHVlXSE9PXZvaWQgMCl7bGV0IGk9VzIocixlLm5vZGVzLHQpO2UudHlwZT0id29yZCIsZS52YWx1ZT10W2UudmFsdWVdKHIsLi4uaSl9cmV0dXJuIGV9ZnVuY3Rpb24gRzIocixlLHQpe3JldHVybiBPYmplY3Qua2V5cyh0KS5zb21lKG49PmUuaW5jbHVkZXMoYCR7bn0oYCkpPygwLGpsLmRlZmF1bHQpKGUpLndhbGsobj0+e2Z5KHIsbix0KX0pLnRvU3RyaW5nKCk6ZX1mdW5jdGlvbipZMihyKXtyPXIucmVwbGFjZSgvXlsnIl0rfFsnIl0rJC9nLCIiKTtsZXQgZT1yLm1hdGNoKC9eKFteXHNdKykoPyFbXlxbXSpcXSkoPzpccypcL1xzKihbXlwvXHNdKykpJC8pLHQ7eWllbGRbcix2b2lkIDBdLGUmJihyPWVbMV0sdD1lWzJdLHlpZWxkW3IsdF0pfWZ1bmN0aW9uIEsyKHIsZSx0KXtsZXQgaT1BcnJheS5mcm9tKFkyKGUpKS5tYXAoKFtuLHNdKT0+T2JqZWN0LmFzc2lnbihVbChyLG4sdCx7b3BhY2l0eVZhbHVlOnN9KSx7cmVzb2x2ZWRQYXRoOm4sYWxwaGE6c30pKTtyZXR1cm4gaS5maW5kKG49Pm4uaXNWYWxpZCk/P2lbMF19ZnVuY3Rpb24gY3kocil7bGV0IGU9ci50YWlsd2luZENvbmZpZyx0PXt0aGVtZTooaSxuLC4uLnMpPT57bGV0e2lzVmFsaWQ6YSx2YWx1ZTpvLGVycm9yOmwsYWxwaGE6Y309SzIoZSxuLHMubGVuZ3RoP3M6dm9pZCAwKTtpZighYSl7bGV0IHA9aS5wYXJlbnQsaD1wPy5yYXdzLnRhaWx3aW5kPy5jYW5kaWRhdGU7aWYocCYmaCE9PXZvaWQgMCl7ci5tYXJrSW52YWxpZFV0aWxpdHlOb2RlKHApLHAucmVtb3ZlKCksRy53YXJuKCJpbnZhbGlkLXRoZW1lLWtleS1pbi1jbGFzcyIsW2BUaGUgdXRpbGl0eSBcYCR7aH1cYCBjb250YWlucyBhbiBpbnZhbGlkIHRoZW1lIHZhbHVlIGFuZCB3YXMgbm90IGdlbmVyYXRlZC5gXSk7cmV0dXJufXRocm93IGkuZXJyb3IobCl9bGV0IGY9WHQobyksZD1mIT09dm9pZCAwJiZ0eXBlb2YgZj09ImZ1bmN0aW9uIjtyZXR1cm4oYyE9PXZvaWQgMHx8ZCkmJihjPT09dm9pZCAwJiYoYz0xKSxvPUplKGYsYyxmKSksb30sc2NyZWVuOihpLG4pPT57bj1uLnJlcGxhY2UoL15bJyJdKy9nLCIiKS5yZXBsYWNlKC9bJyJdKyQvZywiIik7bGV0IGE9UnQoZS50aGVtZS5zY3JlZW5zKS5maW5kKCh7bmFtZTpvfSk9Pm89PT1uKTtpZighYSl0aHJvdyBpLmVycm9yKGBUaGUgJyR7bn0nIHNjcmVlbiBkb2VzIG5vdCBleGlzdCBpbiB5b3VyIHRoZW1lLmApO3JldHVybiBUdChhKX19O3JldHVybiBpPT57aS53YWxrKG49PntsZXQgcz1RMltuLnR5cGVdO3MhPT12b2lkIDAmJihuW3NdPUcyKG4sbltzXSx0KSl9KX19dmFyIE1pLG95LGpsLFEyLHB5PVAoKCk9Pnt1KCk7TWk9cGUoUmEoKSksb3k9cGUoV2coKSk7Q2koKTtqbD1wZShheSgpKTtabigpO1luKCk7WWkoKTtMcigpO0ZyKCk7QmUoKTtRMj17YXRydWxlOiJwYXJhbXMiLGRlY2w6InZhbHVlIn19KTtmdW5jdGlvbiBkeSh7dGFpbHdpbmRDb25maWc6e3RoZW1lOnJ9fSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Uud2Fsa0F0UnVsZXMoInNjcmVlbiIsdD0+e2xldCBpPXQucGFyYW1zLHM9UnQoci5zY3JlZW5zKS5maW5kKCh7bmFtZTphfSk9PmE9PT1pKTtpZighcyl0aHJvdyB0LmVycm9yKGBObyBcYCR7aX1cYCBzY3JlZW4gZm91bmQuYCk7dC5uYW1lPSJtZWRpYSIsdC5wYXJhbXM9VHQocyl9KX19dmFyIGh5PVAoKCk9Pnt1KCk7Wm4oKTtZbigpfSk7ZnVuY3Rpb24gWDIocil7bGV0IGU9ci5maWx0ZXIobz0+by50eXBlIT09InBzZXVkbyJ8fG8ubm9kZXMubGVuZ3RoPjA/ITA6by52YWx1ZS5zdGFydHNXaXRoKCI6OiIpfHxbIjpiZWZvcmUiLCI6YWZ0ZXIiLCI6Zmlyc3QtbGluZSIsIjpmaXJzdC1sZXR0ZXIiXS5pbmNsdWRlcyhvLnZhbHVlKSkucmV2ZXJzZSgpLHQ9bmV3IFNldChbInRhZyIsImNsYXNzIiwiaWQiLCJhdHRyaWJ1dGUiXSksaT1lLmZpbmRJbmRleChvPT50LmhhcyhvLnR5cGUpKTtpZihpPT09LTEpcmV0dXJuIGUucmV2ZXJzZSgpLmpvaW4oIiIpLnRyaW0oKTtsZXQgbj1lW2ldLHM9bXlbbi50eXBlXT9teVtuLnR5cGVdKG4pOm47ZT1lLnNsaWNlKDAsaSk7bGV0IGE9ZS5maW5kSW5kZXgobz0+by50eXBlPT09ImNvbWJpbmF0b3IiJiZvLnZhbHVlPT09Ij4iKTtyZXR1cm4gYSE9PS0xJiYoZS5zcGxpY2UoMCxhKSxlLnVuc2hpZnQoRXMuZGVmYXVsdC51bml2ZXJzYWwoKSkpLFtzLC4uLmUucmV2ZXJzZSgpXS5qb2luKCIiKS50cmltKCl9ZnVuY3Rpb24gSjIocil7cmV0dXJuIFZsLmhhcyhyKXx8Vmwuc2V0KHIsWjIudHJhbnNmb3JtU3luYyhyKSksVmwuZ2V0KHIpfWZ1bmN0aW9uIEhsKHt0YWlsd2luZENvbmZpZzpyfSl7cmV0dXJuIGU9PntsZXQgdD1uZXcgTWFwLGk9bmV3IFNldDtpZihlLndhbGtBdFJ1bGVzKCJkZWZhdWx0cyIsbj0+e2lmKG4ubm9kZXMmJm4ubm9kZXMubGVuZ3RoPjApe2kuYWRkKG4pO3JldHVybn1sZXQgcz1uLnBhcmFtczt0LmhhcyhzKXx8dC5zZXQocyxuZXcgU2V0KSx0LmdldChzKS5hZGQobi5wYXJlbnQpLG4ucmVtb3ZlKCl9KSx3ZShyLCJvcHRpbWl6ZVVuaXZlcnNhbERlZmF1bHRzIikpZm9yKGxldCBuIG9mIGkpe2xldCBzPW5ldyBNYXAsYT10LmdldChuLnBhcmFtcyk/P1tdO2ZvcihsZXQgbyBvZiBhKWZvcihsZXQgbCBvZiBKMihvLnNlbGVjdG9yKSl7bGV0IGM9bC5pbmNsdWRlcygiOi0iKXx8bC5pbmNsdWRlcygiOjotIil8fGwuaW5jbHVkZXMoIjpoYXMiKT9sOiJfX0RFRkFVTFRfXyIsZj1zLmdldChjKT8/bmV3IFNldDtzLnNldChjLGYpLGYuYWRkKGwpfWlmKHMuc2l6ZT09PTApe24ucmVtb3ZlKCk7Y29udGludWV9Zm9yKGxldFssb11vZiBzKXtsZXQgbD1lZS5ydWxlKHtzb3VyY2U6bi5zb3VyY2V9KTtsLnNlbGVjdG9ycz1bLi4ub10sbC5hcHBlbmQobi5ub2Rlcy5tYXAoYz0+Yy5jbG9uZSgpKSksbi5iZWZvcmUobCl9bi5yZW1vdmUoKX1lbHNlIGlmKGkuc2l6ZSl7bGV0IG49ZWUucnVsZSh7c2VsZWN0b3JzOlsiKiIsIjo6YmVmb3JlIiwiOjphZnRlciJdfSk7Zm9yKGxldCBhIG9mIGkpbi5hcHBlbmQoYS5ub2Rlcyksbi5wYXJlbnR8fGEuYmVmb3JlKG4pLG4uc291cmNlfHwobi5zb3VyY2U9YS5zb3VyY2UpLGEucmVtb3ZlKCk7bGV0IHM9bi5jbG9uZSh7c2VsZWN0b3JzOlsiOjpiYWNrZHJvcCJdfSk7bi5hZnRlcihzKX19fXZhciBFcyxteSxaMixWbCxneT1QKCgpPT57dSgpO090KCk7RXM9cGUoaXQoKSk7Y3QoKTtteT17aWQocil7cmV0dXJuIEVzLmRlZmF1bHQuYXR0cmlidXRlKHthdHRyaWJ1dGU6ImlkIixvcGVyYXRvcjoiPSIsdmFsdWU6ci52YWx1ZSxxdW90ZU1hcms6JyInfSl9fTtaMj0oMCxFcy5kZWZhdWx0KShyPT5yLm1hcChlPT57bGV0IHQ9ZS5zcGxpdChpPT5pLnR5cGU9PT0iY29tYmluYXRvciImJmkudmFsdWU9PT0iICIpLnBvcCgpO3JldHVybiBYMih0KX0pKSxWbD1uZXcgTWFwfSk7ZnVuY3Rpb24gV2woKXtmdW5jdGlvbiByKGUpe2xldCB0PW51bGw7ZS5lYWNoKGk9PntpZighZU8uaGFzKGkudHlwZSkpe3Q9bnVsbDtyZXR1cm59aWYodD09PW51bGwpe3Q9aTtyZXR1cm59bGV0IG49eXlbaS50eXBlXTtpLnR5cGU9PT0iYXRydWxlIiYmaS5uYW1lPT09ImZvbnQtZmFjZSI/dD1pOm4uZXZlcnkocz0+KGlbc10/PyIiKS5yZXBsYWNlKC9ccysvZywiICIpPT09KHRbc10/PyIiKS5yZXBsYWNlKC9ccysvZywiICIpKT8oaS5ub2RlcyYmdC5hcHBlbmQoaS5ub2RlcyksaS5yZW1vdmUoKSk6dD1pfSksZS5lYWNoKGk9PntpLnR5cGU9PT0iYXRydWxlIiYmcihpKX0pfXJldHVybiBlPT57cihlKX19dmFyIHl5LGVPLGJ5PVAoKCk9Pnt1KCk7eXk9e2F0cnVsZTpbIm5hbWUiLCJwYXJhbXMiXSxydWxlOlsic2VsZWN0b3IiXX0sZU89bmV3IFNldChPYmplY3Qua2V5cyh5eSkpfSk7ZnVuY3Rpb24gR2woKXtyZXR1cm4gcj0+e3Iud2Fsa1J1bGVzKGU9PntsZXQgdD1uZXcgTWFwLGk9bmV3IFNldChbXSksbj1uZXcgTWFwO2Uud2Fsa0RlY2xzKHM9PntpZihzLnBhcmVudD09PWUpe2lmKHQuaGFzKHMucHJvcCkpe2lmKHQuZ2V0KHMucHJvcCkudmFsdWU9PT1zLnZhbHVlKXtpLmFkZCh0LmdldChzLnByb3ApKSx0LnNldChzLnByb3Ascyk7cmV0dXJufW4uaGFzKHMucHJvcCl8fG4uc2V0KHMucHJvcCxuZXcgU2V0KSxuLmdldChzLnByb3ApLmFkZCh0LmdldChzLnByb3ApKSxuLmdldChzLnByb3ApLmFkZChzKX10LnNldChzLnByb3Ascyl9fSk7Zm9yKGxldCBzIG9mIGkpcy5yZW1vdmUoKTtmb3IobGV0IHMgb2Ygbi52YWx1ZXMoKSl7bGV0IGE9bmV3IE1hcDtmb3IobGV0IG8gb2Ygcyl7bGV0IGw9ck8oby52YWx1ZSk7bCE9PW51bGwmJihhLmhhcyhsKXx8YS5zZXQobCxuZXcgU2V0KSxhLmdldChsKS5hZGQobykpfWZvcihsZXQgbyBvZiBhLnZhbHVlcygpKXtsZXQgbD1BcnJheS5mcm9tKG8pLnNsaWNlKDAsLTEpO2ZvcihsZXQgYyBvZiBsKWMucmVtb3ZlKCl9fX0pfX1mdW5jdGlvbiByTyhyKXtsZXQgZT0vXi0/XGQqLj9cZCsoW1x3JV0rKT8kL2cuZXhlYyhyKTtyZXR1cm4gZT9lWzFdPz90TzpudWxsfXZhciB0Tyx3eT1QKCgpPT57dSgpO3RPPVN5bWJvbCgidW5pdGxlc3MtbnVtYmVyIil9KTtmdW5jdGlvbiBpTyhyKXtpZighci53YWxrQXRSdWxlcylyZXR1cm47bGV0IGU9bmV3IFNldDtpZihyLndhbGtBdFJ1bGVzKCJhcHBseSIsdD0+e2UuYWRkKHQucGFyZW50KX0pLGUuc2l6ZSE9PTApZm9yKGxldCB0IG9mIGUpe2xldCBpPVtdLG49W107Zm9yKGxldCBzIG9mIHQubm9kZXMpcy50eXBlPT09ImF0cnVsZSImJnMubmFtZT09PSJhcHBseSI/KG4ubGVuZ3RoPjAmJihpLnB1c2gobiksbj1bXSksaS5wdXNoKFtzXSkpOm4ucHVzaChzKTtpZihuLmxlbmd0aD4wJiZpLnB1c2gobiksaS5sZW5ndGghPT0xKXtmb3IobGV0IHMgb2ZbLi4uaV0ucmV2ZXJzZSgpKXtsZXQgYT10LmNsb25lKHtub2RlczpbXX0pO2EuYXBwZW5kKHMpLHQuYWZ0ZXIoYSl9dC5yZW1vdmUoKX19fWZ1bmN0aW9uIE9zKCl7cmV0dXJuIHI9PntpTyhyKX19dmFyIHZ5PVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBUcyhyKXtyZXR1cm4gYXN5bmMgZnVuY3Rpb24oZSx0KXtsZXR7dGFpbHdpbmREaXJlY3RpdmVzOmksYXBwbHlEaXJlY3RpdmVzOm59PU9sKGUpO09zKCkoZSx0KTtsZXQgcz1yKHt0YWlsd2luZERpcmVjdGl2ZXM6aSxhcHBseURpcmVjdGl2ZXM6bixyZWdpc3RlckRlcGVuZGVuY3koYSl7dC5tZXNzYWdlcy5wdXNoKHtwbHVnaW46InRhaWx3aW5kY3NzIixwYXJlbnQ6dC5vcHRzLmZyb20sLi4uYX0pfSxjcmVhdGVDb250ZXh0KGEsbyl7cmV0dXJuIGlsKGEsbyxlKX19KShlLHQpO2lmKHMudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yPT09Ii0iKXRocm93IG5ldyBFcnJvcigiVGhlICctJyBjaGFyYWN0ZXIgY2Fubm90IGJlIHVzZWQgYXMgYSBjdXN0b20gc2VwYXJhdG9yIGluIEpJVCBtb2RlIGR1ZSB0byBwYXJzaW5nIGFtYmlndWl0eS4gUGxlYXNlIHVzZSBhbm90aGVyIGNoYXJhY3RlciBsaWtlICdfJyBpbnN0ZWFkLiIpO1JmKHMudGFpbHdpbmRDb25maWcpLGF3YWl0IFBsKHMpKGUsdCksT3MoKShlLHQpLERsKHMpKGUsdCksY3kocykoZSx0KSxkeShzKShlLHQpLEhsKHMpKGUsdCksV2wocykoZSx0KSxHbChzKShlLHQpfX12YXIgeHk9UCgoKT0+e3UoKTtPZygpO0JnKCk7SGcoKTtweSgpO2h5KCk7Z3koKTtieSgpO3d5KCk7dnkoKTtPaSgpO2N0KCl9KTtmdW5jdGlvbiBreShyLGUpe2xldCB0PW51bGwsaT1udWxsO3JldHVybiByLndhbGtBdFJ1bGVzKCJjb25maWciLG49PntpZihpPW4uc291cmNlPy5pbnB1dC5maWxlPz9lLm9wdHMuZnJvbT8/bnVsbCxpPT09bnVsbCl0aHJvdyBuLmVycm9yKCJUaGUgYEBjb25maWdgIGRpcmVjdGl2ZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IHNldHRpbmcgYGZyb21gIGluIHlvdXIgUG9zdENTUyBjb25maWcuIik7aWYodCl0aHJvdyBuLmVycm9yKCJPbmx5IG9uZSBgQGNvbmZpZ2AgZGlyZWN0aXZlIGlzIGFsbG93ZWQgcGVyIGZpbGUuIik7bGV0IHM9bi5wYXJhbXMubWF0Y2goLyhbJyJdKSguKj8pXDEvKTtpZighcyl0aHJvdyBuLmVycm9yKCJBIHBhdGggaXMgcmVxdWlyZWQgd2hlbiB1c2luZyB0aGUgYEBjb25maWdgIGRpcmVjdGl2ZS4iKTtsZXQgYT1zWzJdO2lmKG1lLmlzQWJzb2x1dGUoYSkpdGhyb3cgbi5lcnJvcigiVGhlIGBAY29uZmlnYCBkaXJlY3RpdmUgY2Fubm90IGJlIHVzZWQgd2l0aCBhbiBhYnNvbHV0ZSBwYXRoLiIpO2lmKHQ9bWUucmVzb2x2ZShtZS5kaXJuYW1lKGkpLGEpLCFiZS5leGlzdHNTeW5jKHQpKXRocm93IG4uZXJyb3IoYFRoZSBjb25maWcgZmlsZSBhdCAiJHthfSIgZG9lcyBub3QgZXhpc3QuIE1ha2Ugc3VyZSB0aGUgcGF0aCBpcyBjb3JyZWN0IGFuZCB0aGUgZmlsZSBleGlzdHMuYCk7bi5yZW1vdmUoKX0pLHR8fG51bGx9dmFyIFN5PVAoKCk9Pnt1KCk7ZnQoKTtldCgpfSk7dmFyIEF5PXgoKFdxLFFsKT0+e3UoKTtFZygpO3h5KCk7SXQoKTtTeSgpO1FsLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJue3Bvc3Rjc3NQbHVnaW46InRhaWx3aW5kY3NzIixwbHVnaW5zOltaZS5ERUJVRyYmZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUubG9nKGAKYCksY29uc29sZS50aW1lKCJKSVQgVE9UQUwiKSx0fSxhc3luYyBmdW5jdGlvbih0LGkpe2U9a3kodCxpKT8/ZTtsZXQgbj1FbChlKTtpZih0LnR5cGU9PT0iZG9jdW1lbnQiKXtsZXQgcz10Lm5vZGVzLmZpbHRlcihhPT5hLnR5cGU9PT0icm9vdCIpO2ZvcihsZXQgYSBvZiBzKWEudHlwZT09PSJyb290IiYmYXdhaXQgVHMobikoYSxpKTtyZXR1cm59YXdhaXQgVHMobikodCxpKX0sWmUuREVCVUcmJmZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLnRpbWVFbmQoIkpJVCBUT1RBTCIpLGNvbnNvbGUubG9nKGAKYCksdH1dLmZpbHRlcihCb29sZWFuKX19O1FsLmV4cG9ydHMucG9zdGNzcz0hMH0pO3ZhciBfeT14KChHcSxDeSk9Pnt1KCk7Q3kuZXhwb3J0cz1BeSgpfSk7dmFyIFlsPXgoKFFxLEV5KT0+e3UoKTtFeS5leHBvcnRzPSgpPT5bImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTE0IiwiY2hyb21lIDExMyIsImNocm9tZSAxMDkiLCJlZGdlIDExNCIsImZpcmVmb3ggMTE0IiwiaW9zX3NhZiAxNi41IiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi4xIiwib3BlcmEgOTkiLCJzYWZhcmkgMTYuNSIsInNhbXN1bmcgMjEiXX0pO3ZhciBScz17fTtHZShScyx7YWdlbnRzOigpPT5uTyxmZWF0dXJlOigpPT5zT30pO2Z1bmN0aW9uIHNPKCl7cmV0dXJue3N0YXR1czoiY3IiLHRpdGxlOiJDU1MgRmVhdHVyZSBRdWVyaWVzIixzdGF0czp7aWU6eyI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoibiIsIjEwIjoibiIsIjExIjoibiIsIjUuNSI6Im4ifSxlZGdlOnsiMTIiOiJ5IiwiMTMiOiJ5IiwiMTQiOiJ5IiwiMTUiOiJ5IiwiMTYiOiJ5IiwiMTciOiJ5IiwiMTgiOiJ5IiwiNzkiOiJ5IiwiODAiOiJ5IiwiODEiOiJ5IiwiODMiOiJ5IiwiODQiOiJ5IiwiODUiOiJ5IiwiODYiOiJ5IiwiODciOiJ5IiwiODgiOiJ5IiwiODkiOiJ5IiwiOTAiOiJ5IiwiOTEiOiJ5IiwiOTIiOiJ5IiwiOTMiOiJ5IiwiOTQiOiJ5IiwiOTUiOiJ5IiwiOTYiOiJ5IiwiOTciOiJ5IiwiOTgiOiJ5IiwiOTkiOiJ5IiwiMTAwIjoieSIsIjEwMSI6InkiLCIxMDIiOiJ5IiwiMTAzIjoieSIsIjEwNCI6InkiLCIxMDUiOiJ5IiwiMTA2IjoieSIsIjEwNyI6InkiLCIxMDgiOiJ5IiwiMTA5IjoieSIsIjExMCI6InkiLCIxMTEiOiJ5IiwiMTEyIjoieSIsIjExMyI6InkiLCIxMTQiOiJ5In0sZmlyZWZveDp7IjIiOiJuIiwiMyI6Im4iLCI0IjoibiIsIjUiOiJuIiwiNiI6Im4iLCI3IjoibiIsIjgiOiJuIiwiOSI6Im4iLCIxMCI6Im4iLCIxMSI6Im4iLCIxMiI6Im4iLCIxMyI6Im4iLCIxNCI6Im4iLCIxNSI6Im4iLCIxNiI6Im4iLCIxNyI6Im4iLCIxOCI6Im4iLCIxOSI6Im4iLCIyMCI6Im4iLCIyMSI6Im4iLCIyMiI6InkiLCIyMyI6InkiLCIyNCI6InkiLCIyNSI6InkiLCIyNiI6InkiLCIyNyI6InkiLCIyOCI6InkiLCIyOSI6InkiLCIzMCI6InkiLCIzMSI6InkiLCIzMiI6InkiLCIzMyI6InkiLCIzNCI6InkiLCIzNSI6InkiLCIzNiI6InkiLCIzNyI6InkiLCIzOCI6InkiLCIzOSI6InkiLCI0MCI6InkiLCI0MSI6InkiLCI0MiI6InkiLCI0MyI6InkiLCI0NCI6InkiLCI0NSI6InkiLCI0NiI6InkiLCI0NyI6InkiLCI0OCI6InkiLCI0OSI6InkiLCI1MCI6InkiLCI1MSI6InkiLCI1MiI6InkiLCI1MyI6InkiLCI1NCI6InkiLCI1NSI6InkiLCI1NiI6InkiLCI1NyI6InkiLCI1OCI6InkiLCI1OSI6InkiLCI2MCI6InkiLCI2MSI6InkiLCI2MiI6InkiLCI2MyI6InkiLCI2NCI6InkiLCI2NSI6InkiLCI2NiI6InkiLCI2NyI6InkiLCI2OCI6InkiLCI2OSI6InkiLCI3MCI6InkiLCI3MSI6InkiLCI3MiI6InkiLCI3MyI6InkiLCI3NCI6InkiLCI3NSI6InkiLCI3NiI6InkiLCI3NyI6InkiLCI3OCI6InkiLCI3OSI6InkiLCI4MCI6InkiLCI4MSI6InkiLCI4MiI6InkiLCI4MyI6InkiLCI4NCI6InkiLCI4NSI6InkiLCI4NiI6InkiLCI4NyI6InkiLCI4OCI6InkiLCI4OSI6InkiLCI5MCI6InkiLCI5MSI6InkiLCI5MiI6InkiLCI5MyI6InkiLCI5NCI6InkiLCI5NSI6InkiLCI5NiI6InkiLCI5NyI6InkiLCI5OCI6InkiLCI5OSI6InkiLCIxMDAiOiJ5IiwiMTAxIjoieSIsIjEwMiI6InkiLCIxMDMiOiJ5IiwiMTA0IjoieSIsIjEwNSI6InkiLCIxMDYiOiJ5IiwiMTA3IjoieSIsIjEwOCI6InkiLCIxMDkiOiJ5IiwiMTEwIjoieSIsIjExMSI6InkiLCIxMTIiOiJ5IiwiMTEzIjoieSIsIjExNCI6InkiLCIxMTUiOiJ5IiwiMTE2IjoieSIsIjExNyI6InkiLCIzLjUiOiJuIiwiMy42IjoibiJ9LGNocm9tZTp7IjQiOiJuIiwiNSI6Im4iLCI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoibiIsIjEwIjoibiIsIjExIjoibiIsIjEyIjoibiIsIjEzIjoibiIsIjE0IjoibiIsIjE1IjoibiIsIjE2IjoibiIsIjE3IjoibiIsIjE4IjoibiIsIjE5IjoibiIsIjIwIjoibiIsIjIxIjoibiIsIjIyIjoibiIsIjIzIjoibiIsIjI0IjoibiIsIjI1IjoibiIsIjI2IjoibiIsIjI3IjoibiIsIjI4IjoieSIsIjI5IjoieSIsIjMwIjoieSIsIjMxIjoieSIsIjMyIjoieSIsIjMzIjoieSIsIjM0IjoieSIsIjM1IjoieSIsIjM2IjoieSIsIjM3IjoieSIsIjM4IjoieSIsIjM5IjoieSIsIjQwIjoieSIsIjQxIjoieSIsIjQyIjoieSIsIjQzIjoieSIsIjQ0IjoieSIsIjQ1IjoieSIsIjQ2IjoieSIsIjQ3IjoieSIsIjQ4IjoieSIsIjQ5IjoieSIsIjUwIjoieSIsIjUxIjoieSIsIjUyIjoieSIsIjUzIjoieSIsIjU0IjoieSIsIjU1IjoieSIsIjU2IjoieSIsIjU3IjoieSIsIjU4IjoieSIsIjU5IjoieSIsIjYwIjoieSIsIjYxIjoieSIsIjYyIjoieSIsIjYzIjoieSIsIjY0IjoieSIsIjY1IjoieSIsIjY2IjoieSIsIjY3IjoieSIsIjY4IjoieSIsIjY5IjoieSIsIjcwIjoieSIsIjcxIjoieSIsIjcyIjoieSIsIjczIjoieSIsIjc0IjoieSIsIjc1IjoieSIsIjc2IjoieSIsIjc3IjoieSIsIjc4IjoieSIsIjc5IjoieSIsIjgwIjoieSIsIjgxIjoieSIsIjgzIjoieSIsIjg0IjoieSIsIjg1IjoieSIsIjg2IjoieSIsIjg3IjoieSIsIjg4IjoieSIsIjg5IjoieSIsIjkwIjoieSIsIjkxIjoieSIsIjkyIjoieSIsIjkzIjoieSIsIjk0IjoieSIsIjk1IjoieSIsIjk2IjoieSIsIjk3IjoieSIsIjk4IjoieSIsIjk5IjoieSIsIjEwMCI6InkiLCIxMDEiOiJ5IiwiMTAyIjoieSIsIjEwMyI6InkiLCIxMDQiOiJ5IiwiMTA1IjoieSIsIjEwNiI6InkiLCIxMDciOiJ5IiwiMTA4IjoieSIsIjEwOSI6InkiLCIxMTAiOiJ5IiwiMTExIjoieSIsIjExMiI6InkiLCIxMTMiOiJ5IiwiMTE0IjoieSIsIjExNSI6InkiLCIxMTYiOiJ5IiwiMTE3IjoieSJ9LHNhZmFyaTp7IjQiOiJuIiwiNSI6Im4iLCI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoieSIsIjEwIjoieSIsIjExIjoieSIsIjEyIjoieSIsIjEzIjoieSIsIjE0IjoieSIsIjE1IjoieSIsIjE3IjoieSIsIjkuMSI6InkiLCIxMC4xIjoieSIsIjExLjEiOiJ5IiwiMTIuMSI6InkiLCIxMy4xIjoieSIsIjE0LjEiOiJ5IiwiMTUuMSI6InkiLCIxNS4yLTE1LjMiOiJ5IiwiMTUuNCI6InkiLCIxNS41IjoieSIsIjE1LjYiOiJ5IiwiMTYuMCI6InkiLCIxNi4xIjoieSIsIjE2LjIiOiJ5IiwiMTYuMyI6InkiLCIxNi40IjoieSIsIjE2LjUiOiJ5IiwiMTYuNiI6InkiLFRQOiJ5IiwiMy4xIjoibiIsIjMuMiI6Im4iLCI1LjEiOiJuIiwiNi4xIjoibiIsIjcuMSI6Im4ifSxvcGVyYTp7IjkiOiJuIiwiMTEiOiJuIiwiMTIiOiJuIiwiMTUiOiJ5IiwiMTYiOiJ5IiwiMTciOiJ5IiwiMTgiOiJ5IiwiMTkiOiJ5IiwiMjAiOiJ5IiwiMjEiOiJ5IiwiMjIiOiJ5IiwiMjMiOiJ5IiwiMjQiOiJ5IiwiMjUiOiJ5IiwiMjYiOiJ5IiwiMjciOiJ5IiwiMjgiOiJ5IiwiMjkiOiJ5IiwiMzAiOiJ5IiwiMzEiOiJ5IiwiMzIiOiJ5IiwiMzMiOiJ5IiwiMzQiOiJ5IiwiMzUiOiJ5IiwiMzYiOiJ5IiwiMzciOiJ5IiwiMzgiOiJ5IiwiMzkiOiJ5IiwiNDAiOiJ5IiwiNDEiOiJ5IiwiNDIiOiJ5IiwiNDMiOiJ5IiwiNDQiOiJ5IiwiNDUiOiJ5IiwiNDYiOiJ5IiwiNDciOiJ5IiwiNDgiOiJ5IiwiNDkiOiJ5IiwiNTAiOiJ5IiwiNTEiOiJ5IiwiNTIiOiJ5IiwiNTMiOiJ5IiwiNTQiOiJ5IiwiNTUiOiJ5IiwiNTYiOiJ5IiwiNTciOiJ5IiwiNTgiOiJ5IiwiNjAiOiJ5IiwiNjIiOiJ5IiwiNjMiOiJ5IiwiNjQiOiJ5IiwiNjUiOiJ5IiwiNjYiOiJ5IiwiNjciOiJ5IiwiNjgiOiJ5IiwiNjkiOiJ5IiwiNzAiOiJ5IiwiNzEiOiJ5IiwiNzIiOiJ5IiwiNzMiOiJ5IiwiNzQiOiJ5IiwiNzUiOiJ5IiwiNzYiOiJ5IiwiNzciOiJ5IiwiNzgiOiJ5IiwiNzkiOiJ5IiwiODAiOiJ5IiwiODEiOiJ5IiwiODIiOiJ5IiwiODMiOiJ5IiwiODQiOiJ5IiwiODUiOiJ5IiwiODYiOiJ5IiwiODciOiJ5IiwiODgiOiJ5IiwiODkiOiJ5IiwiOTAiOiJ5IiwiOTEiOiJ5IiwiOTIiOiJ5IiwiOTMiOiJ5IiwiOTQiOiJ5IiwiOTUiOiJ5IiwiOTYiOiJ5IiwiOTciOiJ5IiwiOTgiOiJ5IiwiOTkiOiJ5IiwiMTAwIjoieSIsIjEyLjEiOiJ5IiwiOS41LTkuNiI6Im4iLCIxMC4wLTEwLjEiOiJuIiwiMTAuNSI6Im4iLCIxMC42IjoibiIsIjExLjEiOiJuIiwiMTEuNSI6Im4iLCIxMS42IjoibiJ9LGlvc19zYWY6eyI4IjoibiIsIjE3IjoieSIsIjkuMC05LjIiOiJ5IiwiOS4zIjoieSIsIjEwLjAtMTAuMiI6InkiLCIxMC4zIjoieSIsIjExLjAtMTEuMiI6InkiLCIxMS4zLTExLjQiOiJ5IiwiMTIuMC0xMi4xIjoieSIsIjEyLjItMTIuNSI6InkiLCIxMy4wLTEzLjEiOiJ5IiwiMTMuMiI6InkiLCIxMy4zIjoieSIsIjEzLjQtMTMuNyI6InkiLCIxNC4wLTE0LjQiOiJ5IiwiMTQuNS0xNC44IjoieSIsIjE1LjAtMTUuMSI6InkiLCIxNS4yLTE1LjMiOiJ5IiwiMTUuNCI6InkiLCIxNS41IjoieSIsIjE1LjYiOiJ5IiwiMTYuMCI6InkiLCIxNi4xIjoieSIsIjE2LjIiOiJ5IiwiMTYuMyI6InkiLCIxNi40IjoieSIsIjE2LjUiOiJ5IiwiMTYuNiI6InkiLCIzLjIiOiJuIiwiNC4wLTQuMSI6Im4iLCI0LjItNC4zIjoibiIsIjUuMC01LjEiOiJuIiwiNi4wLTYuMSI6Im4iLCI3LjAtNy4xIjoibiIsIjguMS04LjQiOiJuIn0sb3BfbWluaTp7YWxsOiJ5In0sYW5kcm9pZDp7IjMiOiJuIiwiNCI6Im4iLCIxMTQiOiJ5IiwiNC40IjoieSIsIjQuNC4zLTQuNC40IjoieSIsIjIuMSI6Im4iLCIyLjIiOiJuIiwiMi4zIjoibiIsIjQuMSI6Im4iLCI0LjItNC4zIjoibiJ9LGJiOnsiNyI6Im4iLCIxMCI6Im4ifSxvcF9tb2I6eyIxMCI6Im4iLCIxMSI6Im4iLCIxMiI6Im4iLCI3MyI6InkiLCIxMS4xIjoibiIsIjExLjUiOiJuIiwiMTIuMSI6Im4ifSxhbmRfY2hyOnsiMTE0IjoieSJ9LGFuZF9mZjp7IjExNSI6InkifSxpZV9tb2I6eyIxMCI6Im4iLCIxMSI6Im4ifSxhbmRfdWM6eyIxNS41IjoieSJ9LHNhbXN1bmc6eyI0IjoieSIsIjIwIjoieSIsIjIxIjoieSIsIjUuMC01LjQiOiJ5IiwiNi4yLTYuNCI6InkiLCI3LjItNy40IjoieSIsIjguMiI6InkiLCI5LjIiOiJ5IiwiMTAuMSI6InkiLCIxMS4xLTExLjIiOiJ5IiwiMTIuMCI6InkiLCIxMy4wIjoieSIsIjE0LjAiOiJ5IiwiMTUuMCI6InkiLCIxNi4wIjoieSIsIjE3LjAiOiJ5IiwiMTguMCI6InkiLCIxOS4wIjoieSJ9LGFuZF9xcTp7IjEzLjEiOiJ5In0sYmFpZHU6eyIxMy4xOCI6InkifSxrYWlvczp7IjIuNSI6InkiLCIzLjAtMy4xIjoieSJ9fX19dmFyIG5PLFBzPVAoKCk9Pnt1KCk7bk89e2llOntwcmVmaXg6Im1zIn0sZWRnZTp7cHJlZml4OiJ3ZWJraXQiLHByZWZpeF9leGNlcHRpb25zOnsiMTIiOiJtcyIsIjEzIjoibXMiLCIxNCI6Im1zIiwiMTUiOiJtcyIsIjE2IjoibXMiLCIxNyI6Im1zIiwiMTgiOiJtcyJ9fSxmaXJlZm94OntwcmVmaXg6Im1veiJ9LGNocm9tZTp7cHJlZml4OiJ3ZWJraXQifSxzYWZhcmk6e3ByZWZpeDoid2Via2l0In0sb3BlcmE6e3ByZWZpeDoid2Via2l0IixwcmVmaXhfZXhjZXB0aW9uczp7IjkiOiJvIiwiMTEiOiJvIiwiMTIiOiJvIiwiOS41LTkuNiI6Im8iLCIxMC4wLTEwLjEiOiJvIiwiMTAuNSI6Im8iLCIxMC42IjoibyIsIjExLjEiOiJvIiwiMTEuNSI6Im8iLCIxMS42IjoibyIsIjEyLjEiOiJvIn19LGlvc19zYWY6e3ByZWZpeDoid2Via2l0In0sb3BfbWluaTp7cHJlZml4OiJvIn0sYW5kcm9pZDp7cHJlZml4OiJ3ZWJraXQifSxiYjp7cHJlZml4OiJ3ZWJraXQifSxvcF9tb2I6e3ByZWZpeDoibyIscHJlZml4X2V4Y2VwdGlvbnM6eyI3MyI6IndlYmtpdCJ9fSxhbmRfY2hyOntwcmVmaXg6IndlYmtpdCJ9LGFuZF9mZjp7cHJlZml4OiJtb3oifSxpZV9tb2I6e3ByZWZpeDoibXMifSxhbmRfdWM6e3ByZWZpeDoid2Via2l0IixwcmVmaXhfZXhjZXB0aW9uczp7IjE1LjUiOiJ3ZWJraXQifX0sc2Ftc3VuZzp7cHJlZml4OiJ3ZWJraXQifSxhbmRfcXE6e3ByZWZpeDoid2Via2l0In0sYmFpZHU6e3ByZWZpeDoid2Via2l0In0sa2Fpb3M6e3ByZWZpeDoibW96In19fSk7dmFyIE95PXgoKCk9Pnt1KCl9KTt2YXIgX2U9eCgoWHEsTHQpPT57dSgpO3ZhcntsaXN0OktsfT0kZSgpO0x0LmV4cG9ydHMuZXJyb3I9ZnVuY3Rpb24ocil7bGV0IGU9bmV3IEVycm9yKHIpO3Rocm93IGUuYXV0b3ByZWZpeGVyPSEwLGV9O0x0LmV4cG9ydHMudW5pcT1mdW5jdGlvbihyKXtyZXR1cm5bLi4ubmV3IFNldChyKV19O0x0LmV4cG9ydHMucmVtb3ZlTm90ZT1mdW5jdGlvbihyKXtyZXR1cm4gci5pbmNsdWRlcygiICIpP3Iuc3BsaXQoIiAiKVswXTpyfTtMdC5leHBvcnRzLmVzY2FwZVJlZ2V4cD1mdW5jdGlvbihyKXtyZXR1cm4gci5yZXBsYWNlKC9bJCgpKistLj9bXFxcXV57fH1dL2csIlxcJCYiKX07THQuZXhwb3J0cy5yZWdleHA9ZnVuY3Rpb24ocixlPSEwKXtyZXR1cm4gZSYmKHI9dGhpcy5lc2NhcGVSZWdleHAocikpLG5ldyBSZWdFeHAoYChefFtcXHMsKF0pKCR7cn0oJHxbXFxzKCxdKSlgLCJnaSIpfTtMdC5leHBvcnRzLmVkaXRMaXN0PWZ1bmN0aW9uKHIsZSl7bGV0IHQ9S2wuY29tbWEociksaT1lKHQsW10pO2lmKHQ9PT1pKXJldHVybiByO2xldCBuPXIubWF0Y2goLyxccyovKTtyZXR1cm4gbj1uP25bMF06IiwgIixpLmpvaW4obil9O0x0LmV4cG9ydHMuc3BsaXRTZWxlY3Rvcj1mdW5jdGlvbihyKXtyZXR1cm4gS2wuY29tbWEocikubWFwKGU9PktsLnNwYWNlKGUpLm1hcCh0PT50LnNwbGl0KC8oPz1cLnwjKS9nKSkpfX0pO3ZhciBNdD14KChacSxQeSk9Pnt1KCk7dmFyIGFPPVlsKCksVHk9KFBzKCksUnMpLmFnZW50cyxvTz1fZSgpLFJ5PWNsYXNze3N0YXRpYyBwcmVmaXhlcygpe2lmKHRoaXMucHJlZml4ZXNDYWNoZSlyZXR1cm4gdGhpcy5wcmVmaXhlc0NhY2hlO3RoaXMucHJlZml4ZXNDYWNoZT1bXTtmb3IobGV0IGUgaW4gVHkpdGhpcy5wcmVmaXhlc0NhY2hlLnB1c2goYC0ke1R5W2VdLnByZWZpeH0tYCk7cmV0dXJuIHRoaXMucHJlZml4ZXNDYWNoZT1vTy51bmlxKHRoaXMucHJlZml4ZXNDYWNoZSkuc29ydCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpLHRoaXMucHJlZml4ZXNDYWNoZX1zdGF0aWMgd2l0aFByZWZpeChlKXtyZXR1cm4gdGhpcy5wcmVmaXhlc1JlZ2V4cHx8KHRoaXMucHJlZml4ZXNSZWdleHA9bmV3IFJlZ0V4cCh0aGlzLnByZWZpeGVzKCkuam9pbigifCIpKSksdGhpcy5wcmVmaXhlc1JlZ2V4cC50ZXN0KGUpfWNvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuZGF0YT1lLHRoaXMub3B0aW9ucz1pfHx7fSx0aGlzLmJyb3dzZXJzbGlzdE9wdHM9bnx8e30sdGhpcy5zZWxlY3RlZD10aGlzLnBhcnNlKHQpfXBhcnNlKGUpe2xldCB0PXt9O2ZvcihsZXQgaSBpbiB0aGlzLmJyb3dzZXJzbGlzdE9wdHMpdFtpXT10aGlzLmJyb3dzZXJzbGlzdE9wdHNbaV07cmV0dXJuIHQucGF0aD10aGlzLm9wdGlvbnMuZnJvbSxhTyhlLHQpfXByZWZpeChlKXtsZXRbdCxpXT1lLnNwbGl0KCIgIiksbj10aGlzLmRhdGFbdF0scz1uLnByZWZpeF9leGNlcHRpb25zJiZuLnByZWZpeF9leGNlcHRpb25zW2ldO3JldHVybiBzfHwocz1uLnByZWZpeCksYC0ke3N9LWB9aXNTZWxlY3RlZChlKXtyZXR1cm4gdGhpcy5zZWxlY3RlZC5pbmNsdWRlcyhlKX19O1B5LmV4cG9ydHM9Unl9KTt2YXIgTmk9eCgoSnEsSXkpPT57dSgpO0l5LmV4cG9ydHM9e3ByZWZpeChyKXtsZXQgZT1yLm1hdGNoKC9eKC1cdystKS8pO3JldHVybiBlP2VbMF06IiJ9LHVucHJlZml4ZWQocil7cmV0dXJuIHIucmVwbGFjZSgvXi1cdystLywiIil9fX0pO3ZhciB3cj14KChlJCxxeSk9Pnt1KCk7dmFyIGxPPU10KCksRHk9TmkoKSx1Tz1fZSgpO2Z1bmN0aW9uIFhsKHIsZSl7bGV0IHQ9bmV3IHIuY29uc3RydWN0b3I7Zm9yKGxldCBpIG9mIE9iamVjdC5rZXlzKHJ8fHt9KSl7bGV0IG49cltpXTtpPT09InBhcmVudCImJnR5cGVvZiBuPT0ib2JqZWN0Ij9lJiYodFtpXT1lKTppPT09InNvdXJjZSJ8fGk9PT1udWxsP3RbaV09bjpBcnJheS5pc0FycmF5KG4pP3RbaV09bi5tYXAocz0+WGwocyx0KSk6aSE9PSJfYXV0b3ByZWZpeGVyUHJlZml4IiYmaSE9PSJfYXV0b3ByZWZpeGVyVmFsdWVzIiYmaSE9PSJwcm94eUNhY2hlIiYmKHR5cGVvZiBuPT0ib2JqZWN0IiYmbiE9PW51bGwmJihuPVhsKG4sdCkpLHRbaV09bil9cmV0dXJuIHR9dmFyIElzPWNsYXNze3N0YXRpYyBoYWNrKGUpe3JldHVybiB0aGlzLmhhY2tzfHwodGhpcy5oYWNrcz17fSksZS5uYW1lcy5tYXAodD0+KHRoaXMuaGFja3NbdF09ZSx0aGlzLmhhY2tzW3RdKSl9c3RhdGljIGxvYWQoZSx0LGkpe2xldCBuPXRoaXMuaGFja3MmJnRoaXMuaGFja3NbZV07cmV0dXJuIG4/bmV3IG4oZSx0LGkpOm5ldyB0aGlzKGUsdCxpKX1zdGF0aWMgY2xvbmUoZSx0KXtsZXQgaT1YbChlKTtmb3IobGV0IG4gaW4gdClpW25dPXRbbl07cmV0dXJuIGl9Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucHJlZml4ZXM9dCx0aGlzLm5hbWU9ZSx0aGlzLmFsbD1pfXBhcmVudFByZWZpeChlKXtsZXQgdDtyZXR1cm4gdHlwZW9mIGUuX2F1dG9wcmVmaXhlclByZWZpeCE9InVuZGVmaW5lZCI/dD1lLl9hdXRvcHJlZml4ZXJQcmVmaXg6ZS50eXBlPT09ImRlY2wiJiZlLnByb3BbMF09PT0iLSI/dD1EeS5wcmVmaXgoZS5wcm9wKTplLnR5cGU9PT0icm9vdCI/dD0hMTplLnR5cGU9PT0icnVsZSImJmUuc2VsZWN0b3IuaW5jbHVkZXMoIjotIikmJi86KC1cdystKS8udGVzdChlLnNlbGVjdG9yKT90PWUuc2VsZWN0b3IubWF0Y2goLzooLVx3Ky0pLylbMV06ZS50eXBlPT09ImF0cnVsZSImJmUubmFtZVswXT09PSItIj90PUR5LnByZWZpeChlLm5hbWUpOnQ9dGhpcy5wYXJlbnRQcmVmaXgoZS5wYXJlbnQpLGxPLnByZWZpeGVzKCkuaW5jbHVkZXModCl8fCh0PSExKSxlLl9hdXRvcHJlZml4ZXJQcmVmaXg9dCxlLl9hdXRvcHJlZml4ZXJQcmVmaXh9cHJvY2VzcyhlLHQpe2lmKCF0aGlzLmNoZWNrKGUpKXJldHVybjtsZXQgaT10aGlzLnBhcmVudFByZWZpeChlKSxuPXRoaXMucHJlZml4ZXMuZmlsdGVyKGE9PiFpfHxpPT09dU8ucmVtb3ZlTm90ZShhKSkscz1bXTtmb3IobGV0IGEgb2Ygbil0aGlzLmFkZChlLGEscy5jb25jYXQoW2FdKSx0KSYmcy5wdXNoKGEpO3JldHVybiBzfWNsb25lKGUsdCl7cmV0dXJuIElzLmNsb25lKGUsdCl9fTtxeS5leHBvcnRzPUlzfSk7dmFyIGo9eCgodCQsTXkpPT57dSgpO3ZhciBmTz13cigpLGNPPU10KCksJHk9X2UoKSxMeT1jbGFzcyBleHRlbmRzIGZPe2NoZWNrKCl7cmV0dXJuITB9cHJlZml4ZWQoZSx0KXtyZXR1cm4gdCtlfW5vcm1hbGl6ZShlKXtyZXR1cm4gZX1vdGhlclByZWZpeGVzKGUsdCl7Zm9yKGxldCBpIG9mIGNPLnByZWZpeGVzKCkpaWYoaSE9PXQmJmUuaW5jbHVkZXMoaSkpcmV0dXJuITA7cmV0dXJuITF9c2V0KGUsdCl7cmV0dXJuIGUucHJvcD10aGlzLnByZWZpeGVkKGUucHJvcCx0KSxlfW5lZWRDYXNjYWRlKGUpe3JldHVybiBlLl9hdXRvcHJlZml4ZXJDYXNjYWRlfHwoZS5fYXV0b3ByZWZpeGVyQ2FzY2FkZT10aGlzLmFsbC5vcHRpb25zLmNhc2NhZGUhPT0hMSYmZS5yYXcoImJlZm9yZSIpLmluY2x1ZGVzKGAKYCkpLGUuX2F1dG9wcmVmaXhlckNhc2NhZGV9bWF4UHJlZml4ZWQoZSx0KXtpZih0Ll9hdXRvcHJlZml4ZXJNYXgpcmV0dXJuIHQuX2F1dG9wcmVmaXhlck1heDtsZXQgaT0wO2ZvcihsZXQgbiBvZiBlKW49JHkucmVtb3ZlTm90ZShuKSxuLmxlbmd0aD5pJiYoaT1uLmxlbmd0aCk7cmV0dXJuIHQuX2F1dG9wcmVmaXhlck1heD1pLHQuX2F1dG9wcmVmaXhlck1heH1jYWxjQmVmb3JlKGUsdCxpPSIiKXtsZXQgcz10aGlzLm1heFByZWZpeGVkKGUsdCktJHkucmVtb3ZlTm90ZShpKS5sZW5ndGgsYT10LnJhdygiYmVmb3JlIik7cmV0dXJuIHM+MCYmKGErPUFycmF5KHMpLmZpbGwoIiAiKS5qb2luKCIiKSksYX1yZXN0b3JlQmVmb3JlKGUpe2xldCB0PWUucmF3KCJiZWZvcmUiKS5zcGxpdChgCmApLGk9dFt0Lmxlbmd0aC0xXTt0aGlzLmFsbC5ncm91cChlKS51cChuPT57bGV0IHM9bi5yYXcoImJlZm9yZSIpLnNwbGl0KGAKYCksYT1zW3MubGVuZ3RoLTFdO2EubGVuZ3RoPGkubGVuZ3RoJiYoaT1hKX0pLHRbdC5sZW5ndGgtMV09aSxlLnJhd3MuYmVmb3JlPXQuam9pbihgCmApfWluc2VydChlLHQsaSl7bGV0IG49dGhpcy5zZXQodGhpcy5jbG9uZShlKSx0KTtpZighKCFufHxlLnBhcmVudC5zb21lKGE9PmEucHJvcD09PW4ucHJvcCYmYS52YWx1ZT09PW4udmFsdWUpKSlyZXR1cm4gdGhpcy5uZWVkQ2FzY2FkZShlKSYmKG4ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9aXNBbHJlYWR5KGUsdCl7bGV0IGk9dGhpcy5hbGwuZ3JvdXAoZSkudXAobj0+bi5wcm9wPT09dCk7cmV0dXJuIGl8fChpPXRoaXMuYWxsLmdyb3VwKGUpLmRvd24obj0+bi5wcm9wPT09dCkpLGl9YWRkKGUsdCxpLG4pe2xldCBzPXRoaXMucHJlZml4ZWQoZS5wcm9wLHQpO2lmKCEodGhpcy5pc0FscmVhZHkoZSxzKXx8dGhpcy5vdGhlclByZWZpeGVzKGUudmFsdWUsdCkpKXJldHVybiB0aGlzLmluc2VydChlLHQsaSxuKX1wcm9jZXNzKGUsdCl7aWYoIXRoaXMubmVlZENhc2NhZGUoZSkpe3N1cGVyLnByb2Nlc3MoZSx0KTtyZXR1cm59bGV0IGk9c3VwZXIucHJvY2VzcyhlLHQpOyFpfHwhaS5sZW5ndGh8fCh0aGlzLnJlc3RvcmVCZWZvcmUoZSksZS5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlKSl9b2xkKGUsdCl7cmV0dXJuW3RoaXMucHJlZml4ZWQoZSx0KV19fTtNeS5leHBvcnRzPUx5fSk7dmFyIEJ5PXgoKHIkLE55KT0+e3UoKTtOeS5leHBvcnRzPWZ1bmN0aW9uIHIoZSl7cmV0dXJue211bDp0PT5uZXcgcihlKnQpLGRpdjp0PT5uZXcgcihlL3QpLHNpbXBsaWZ5OigpPT5uZXcgcihlKSx0b1N0cmluZzooKT0+ZS50b1N0cmluZygpfX19KTt2YXIgenk9eCgoaSQsankpPT57dSgpO3ZhciBwTz1CeSgpLGRPPXdyKCksWmw9X2UoKSxoTz0vKG1pbnxtYXgpLXJlc29sdXRpb25ccyo6XHMqXGQqXC4/XGQrKGRwcHh8ZHBjbXxkcGl8eCkvZ2ksbU89LyhtaW58bWF4KS1yZXNvbHV0aW9uKFxzKjpccyopKFxkKlwuP1xkKykoZHBweHxkcGNtfGRwaXx4KS9pLEZ5PWNsYXNzIGV4dGVuZHMgZE97cHJlZml4TmFtZShlLHQpe3JldHVybiBlPT09Ii1tb3otIj90KyItLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW8iOmUrdCsiLWRldmljZS1waXhlbC1yYXRpbyJ9cHJlZml4UXVlcnkoZSx0LGksbixzKXtyZXR1cm4gbj1uZXcgcE8obikscz09PSJkcGkiP249bi5kaXYoOTYpOnM9PT0iZHBjbSImJihuPW4ubXVsKDIuNTQpLmRpdig5NikpLG49bi5zaW1wbGlmeSgpLGU9PT0iLW8tIiYmKG49bi5uKyIvIituLmQpLHRoaXMucHJlZml4TmFtZShlLHQpK2krbn1jbGVhbihlKXtpZighdGhpcy5iYWQpe3RoaXMuYmFkPVtdO2ZvcihsZXQgdCBvZiB0aGlzLnByZWZpeGVzKXRoaXMuYmFkLnB1c2godGhpcy5wcmVmaXhOYW1lKHQsIm1pbiIpKSx0aGlzLmJhZC5wdXNoKHRoaXMucHJlZml4TmFtZSh0LCJtYXgiKSl9ZS5wYXJhbXM9WmwuZWRpdExpc3QoZS5wYXJhbXMsdD0+dC5maWx0ZXIoaT0+dGhpcy5iYWQuZXZlcnkobj0+IWkuaW5jbHVkZXMobikpKSl9cHJvY2VzcyhlKXtsZXQgdD10aGlzLnBhcmVudFByZWZpeChlKSxpPXQ/W3RdOnRoaXMucHJlZml4ZXM7ZS5wYXJhbXM9WmwuZWRpdExpc3QoZS5wYXJhbXMsKG4scyk9Pntmb3IobGV0IGEgb2Ygbil7aWYoIWEuaW5jbHVkZXMoIm1pbi1yZXNvbHV0aW9uIikmJiFhLmluY2x1ZGVzKCJtYXgtcmVzb2x1dGlvbiIpKXtzLnB1c2goYSk7Y29udGludWV9Zm9yKGxldCBvIG9mIGkpe2xldCBsPWEucmVwbGFjZShoTyxjPT57bGV0IGY9Yy5tYXRjaChtTyk7cmV0dXJuIHRoaXMucHJlZml4UXVlcnkobyxmWzFdLGZbMl0sZlszXSxmWzRdKX0pO3MucHVzaChsKX1zLnB1c2goYSl9cmV0dXJuIFpsLnVuaXEocyl9KX19O2p5LmV4cG9ydHM9Rnl9KTt2YXIgVnk9eCgobiQsVXkpPT57dSgpO3ZhciBKbD0iKCIuY2hhckNvZGVBdCgwKSxldT0iKSIuY2hhckNvZGVBdCgwKSxEcz0iJyIuY2hhckNvZGVBdCgwKSx0dT0nIicuY2hhckNvZGVBdCgwKSxydT0iXFwiLmNoYXJDb2RlQXQoMCksdnI9Ii8iLmNoYXJDb2RlQXQoMCksaXU9IiwiLmNoYXJDb2RlQXQoMCksbnU9IjoiLmNoYXJDb2RlQXQoMCkscXM9IioiLmNoYXJDb2RlQXQoMCksZ089InUiLmNoYXJDb2RlQXQoMCkseU89IlUiLmNoYXJDb2RlQXQoMCksYk89IisiLmNoYXJDb2RlQXQoMCksd089L15bYS1mMC05Py1dKyQvaTtVeS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Zvcih2YXIgZT1bXSx0PXIsaSxuLHMsYSxvLGwsYyxmLGQ9MCxwPXQuY2hhckNvZGVBdChkKSxoPXQubGVuZ3RoLGI9W3tub2RlczplfV0sdj0wLHksdz0iIixrPSIiLFM9IiI7ZDxoOylpZihwPD0zMil7aT1kO2RvIGkrPTEscD10LmNoYXJDb2RlQXQoaSk7d2hpbGUocDw9MzIpO2E9dC5zbGljZShkLGkpLHM9ZVtlLmxlbmd0aC0xXSxwPT09ZXUmJnY/Uz1hOnMmJnMudHlwZT09PSJkaXYiPyhzLmFmdGVyPWEscy5zb3VyY2VFbmRJbmRleCs9YS5sZW5ndGgpOnA9PT1pdXx8cD09PW51fHxwPT09dnImJnQuY2hhckNvZGVBdChpKzEpIT09cXMmJigheXx8eSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZSE9PSJjYWxjIik/az1hOmUucHVzaCh7dHlwZToic3BhY2UiLHNvdXJjZUluZGV4OmQsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTphfSksZD1pfWVsc2UgaWYocD09PURzfHxwPT09dHUpe2k9ZCxuPXA9PT1Ecz8iJyI6JyInLGE9e3R5cGU6InN0cmluZyIsc291cmNlSW5kZXg6ZCxxdW90ZTpufTtkbyBpZihvPSExLGk9dC5pbmRleE9mKG4saSsxKSx+aSlmb3IobD1pO3QuY2hhckNvZGVBdChsLTEpPT09cnU7KWwtPTEsbz0hbztlbHNlIHQrPW4saT10Lmxlbmd0aC0xLGEudW5jbG9zZWQ9ITA7d2hpbGUobyk7YS52YWx1ZT10LnNsaWNlKGQrMSxpKSxhLnNvdXJjZUVuZEluZGV4PWEudW5jbG9zZWQ/aTppKzEsZS5wdXNoKGEpLGQ9aSsxLHA9dC5jaGFyQ29kZUF0KGQpfWVsc2UgaWYocD09PXZyJiZ0LmNoYXJDb2RlQXQoZCsxKT09PXFzKWk9dC5pbmRleE9mKCIqLyIsZCksYT17dHlwZToiY29tbWVudCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppKzJ9LGk9PT0tMSYmKGEudW5jbG9zZWQ9ITAsaT10Lmxlbmd0aCxhLnNvdXJjZUVuZEluZGV4PWkpLGEudmFsdWU9dC5zbGljZShkKzIsaSksZS5wdXNoKGEpLGQ9aSsyLHA9dC5jaGFyQ29kZUF0KGQpO2Vsc2UgaWYoKHA9PT12cnx8cD09PXFzKSYmeSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJjYWxjIilhPXRbZF0sZS5wdXNoKHt0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLWsubGVuZ3RoLHNvdXJjZUVuZEluZGV4OmQrYS5sZW5ndGgsdmFsdWU6YX0pLGQrPTEscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZihwPT09dnJ8fHA9PT1pdXx8cD09PW51KWE9dFtkXSxlLnB1c2goe3R5cGU6ImRpdiIsc291cmNlSW5kZXg6ZC1rLmxlbmd0aCxzb3VyY2VFbmRJbmRleDpkK2EubGVuZ3RoLHZhbHVlOmEsYmVmb3JlOmssYWZ0ZXI6IiJ9KSxrPSIiLGQrPTEscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZihKbD09PXApe2k9ZDtkbyBpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKHA8PTMyKTtpZihmPWQsYT17dHlwZToiZnVuY3Rpb24iLHNvdXJjZUluZGV4OmQtdy5sZW5ndGgsdmFsdWU6dyxiZWZvcmU6dC5zbGljZShmKzEsaSl9LGQ9aSx3PT09InVybCImJnAhPT1EcyYmcCE9PXR1KXtpLT0xO2RvIGlmKG89ITEsaT10LmluZGV4T2YoIikiLGkrMSksfmkpZm9yKGw9aTt0LmNoYXJDb2RlQXQobC0xKT09PXJ1OylsLT0xLG89IW87ZWxzZSB0Kz0iKSIsaT10Lmxlbmd0aC0xLGEudW5jbG9zZWQ9ITA7d2hpbGUobyk7Yz1pO2RvIGMtPTEscD10LmNoYXJDb2RlQXQoYyk7d2hpbGUocDw9MzIpO2Y8Yz8oZCE9PWMrMT9hLm5vZGVzPVt7dHlwZToid29yZCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDpjKzEsdmFsdWU6dC5zbGljZShkLGMrMSl9XTphLm5vZGVzPVtdLGEudW5jbG9zZWQmJmMrMSE9PWk/KGEuYWZ0ZXI9IiIsYS5ub2Rlcy5wdXNoKHt0eXBlOiJzcGFjZSIsc291cmNlSW5kZXg6YysxLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6dC5zbGljZShjKzEsaSl9KSk6KGEuYWZ0ZXI9dC5zbGljZShjKzEsaSksYS5zb3VyY2VFbmRJbmRleD1pKSk6KGEuYWZ0ZXI9IiIsYS5ub2Rlcz1bXSksZD1pKzEsYS5zb3VyY2VFbmRJbmRleD1hLnVuY2xvc2VkP2k6ZCxwPXQuY2hhckNvZGVBdChkKSxlLnB1c2goYSl9ZWxzZSB2Kz0xLGEuYWZ0ZXI9IiIsYS5zb3VyY2VFbmRJbmRleD1kKzEsZS5wdXNoKGEpLGIucHVzaChhKSxlPWEubm9kZXM9W10seT1hO3c9IiJ9ZWxzZSBpZihldT09PXAmJnYpZCs9MSxwPXQuY2hhckNvZGVBdChkKSx5LmFmdGVyPVMseS5zb3VyY2VFbmRJbmRleCs9Uy5sZW5ndGgsUz0iIix2LT0xLGJbYi5sZW5ndGgtMV0uc291cmNlRW5kSW5kZXg9ZCxiLnBvcCgpLHk9Ylt2XSxlPXkubm9kZXM7ZWxzZXtpPWQ7ZG8gcD09PXJ1JiYoaSs9MSksaSs9MSxwPXQuY2hhckNvZGVBdChpKTt3aGlsZShpPGgmJiEocDw9MzJ8fHA9PT1Ec3x8cD09PXR1fHxwPT09aXV8fHA9PT1udXx8cD09PXZyfHxwPT09Smx8fHA9PT1xcyYmeSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJjYWxjInx8cD09PXZyJiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiZ5LnZhbHVlPT09ImNhbGMifHxwPT09ZXUmJnYpKTthPXQuc2xpY2UoZCxpKSxKbD09PXA/dz1hOihnTz09PWEuY2hhckNvZGVBdCgwKXx8eU89PT1hLmNoYXJDb2RlQXQoMCkpJiZiTz09PWEuY2hhckNvZGVBdCgxKSYmd08udGVzdChhLnNsaWNlKDIpKT9lLnB1c2goe3R5cGU6InVuaWNvZGUtcmFuZ2UiLHNvdXJjZUluZGV4OmQsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTphfSk6ZS5wdXNoKHt0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6YX0pLGQ9aX1mb3IoZD1iLmxlbmd0aC0xO2Q7ZC09MSliW2RdLnVuY2xvc2VkPSEwLGJbZF0uc291cmNlRW5kSW5kZXg9dC5sZW5ndGg7cmV0dXJuIGJbMF0ubm9kZXN9fSk7dmFyIFd5PXgoKHMkLEh5KT0+e3UoKTtIeS5leHBvcnRzPWZ1bmN0aW9uIHIoZSx0LGkpe3ZhciBuLHMsYSxvO2ZvcihuPTAscz1lLmxlbmd0aDtuPHM7bis9MSlhPWVbbl0saXx8KG89dChhLG4sZSkpLG8hPT0hMSYmYS50eXBlPT09ImZ1bmN0aW9uIiYmQXJyYXkuaXNBcnJheShhLm5vZGVzKSYmcihhLm5vZGVzLHQsaSksaSYmdChhLG4sZSl9fSk7dmFyIEt5PXgoKGEkLFl5KT0+e3UoKTtmdW5jdGlvbiBHeShyLGUpe3ZhciB0PXIudHlwZSxpPXIudmFsdWUsbixzO3JldHVybiBlJiYocz1lKHIpKSE9PXZvaWQgMD9zOnQ9PT0id29yZCJ8fHQ9PT0ic3BhY2UiP2k6dD09PSJzdHJpbmciPyhuPXIucXVvdGV8fCIiLG4raSsoci51bmNsb3NlZD8iIjpuKSk6dD09PSJjb21tZW50Ij8iLyoiK2krKHIudW5jbG9zZWQ/IiI6IiovIik6dD09PSJkaXYiPyhyLmJlZm9yZXx8IiIpK2krKHIuYWZ0ZXJ8fCIiKTpBcnJheS5pc0FycmF5KHIubm9kZXMpPyhuPVF5KHIubm9kZXMsZSksdCE9PSJmdW5jdGlvbiI/bjppKyIoIisoci5iZWZvcmV8fCIiKStuKyhyLmFmdGVyfHwiIikrKHIudW5jbG9zZWQ/IiI6IikiKSk6aX1mdW5jdGlvbiBReShyLGUpe3ZhciB0LGk7aWYoQXJyYXkuaXNBcnJheShyKSl7Zm9yKHQ9IiIsaT1yLmxlbmd0aC0xO35pO2ktPTEpdD1HeShyW2ldLGUpK3Q7cmV0dXJuIHR9cmV0dXJuIEd5KHIsZSl9WXkuZXhwb3J0cz1ReX0pO3ZhciBaeT14KChvJCxYeSk9Pnt1KCk7dmFyICRzPSItIi5jaGFyQ29kZUF0KDApLExzPSIrIi5jaGFyQ29kZUF0KDApLHN1PSIuIi5jaGFyQ29kZUF0KDApLHZPPSJlIi5jaGFyQ29kZUF0KDApLHhPPSJFIi5jaGFyQ29kZUF0KDApO2Z1bmN0aW9uIGtPKHIpe3ZhciBlPXIuY2hhckNvZGVBdCgwKSx0O2lmKGU9PT1Mc3x8ZT09PSRzKXtpZih0PXIuY2hhckNvZGVBdCgxKSx0Pj00OCYmdDw9NTcpcmV0dXJuITA7dmFyIGk9ci5jaGFyQ29kZUF0KDIpO3JldHVybiB0PT09c3UmJmk+PTQ4JiZpPD01N31yZXR1cm4gZT09PXN1Pyh0PXIuY2hhckNvZGVBdCgxKSx0Pj00OCYmdDw9NTcpOmU+PTQ4JiZlPD01N31YeS5leHBvcnRzPWZ1bmN0aW9uKHIpe3ZhciBlPTAsdD1yLmxlbmd0aCxpLG4scztpZih0PT09MHx8IWtPKHIpKXJldHVybiExO2ZvcihpPXIuY2hhckNvZGVBdChlKSwoaT09PUxzfHxpPT09JHMpJiZlKys7ZTx0JiYoaT1yLmNoYXJDb2RlQXQoZSksIShpPDQ4fHxpPjU3KSk7KWUrPTE7aWYoaT1yLmNoYXJDb2RlQXQoZSksbj1yLmNoYXJDb2RlQXQoZSsxKSxpPT09c3UmJm4+PTQ4JiZuPD01Nylmb3IoZSs9MjtlPHQmJihpPXIuY2hhckNvZGVBdChlKSwhKGk8NDh8fGk+NTcpKTspZSs9MTtpZihpPXIuY2hhckNvZGVBdChlKSxuPXIuY2hhckNvZGVBdChlKzEpLHM9ci5jaGFyQ29kZUF0KGUrMiksKGk9PT12T3x8aT09PXhPKSYmKG4+PTQ4JiZuPD01N3x8KG49PT1Mc3x8bj09PSRzKSYmcz49NDgmJnM8PTU3KSlmb3IoZSs9bj09PUxzfHxuPT09JHM/MzoyO2U8dCYmKGk9ci5jaGFyQ29kZUF0KGUpLCEoaTw0OHx8aT41NykpOyllKz0xO3JldHVybntudW1iZXI6ci5zbGljZSgwLGUpLHVuaXQ6ci5zbGljZShlKX19fSk7dmFyIE1zPXgoKGwkLHRiKT0+e3UoKTt2YXIgU089VnkoKSxKeT1XeSgpLGViPUt5KCk7ZnVuY3Rpb24gTnQocil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBOdD8odGhpcy5ub2Rlcz1TTyhyKSx0aGlzKTpuZXcgTnQocil9TnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5ub2Rlcyk/ZWIodGhpcy5ub2Rlcyk6IiJ9O050LnByb3RvdHlwZS53YWxrPWZ1bmN0aW9uKHIsZSl7cmV0dXJuIEp5KHRoaXMubm9kZXMscixlKSx0aGlzfTtOdC51bml0PVp5KCk7TnQud2Fsaz1KeTtOdC5zdHJpbmdpZnk9ZWI7dGIuZXhwb3J0cz1OdH0pO3ZhciBhYj14KCh1JCxzYik9Pnt1KCk7dmFye2xpc3Q6QU99PSRlKCkscmI9TXMoKSxDTz1NdCgpLGliPU5pKCksbmI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5wcm9wcz1bInRyYW5zaXRpb24iLCJ0cmFuc2l0aW9uLXByb3BlcnR5Il0sdGhpcy5wcmVmaXhlcz1lfWFkZChlLHQpe2xldCBpLG4scz10aGlzLnByZWZpeGVzLmFkZFtlLnByb3BdLGE9dGhpcy5ydWxlVmVuZG9yUHJlZml4ZXMoZSksbz1hfHxzJiZzLnByZWZpeGVzfHxbXSxsPXRoaXMucGFyc2UoZS52YWx1ZSksYz1sLm1hcChoPT50aGlzLmZpbmRQcm9wKGgpKSxmPVtdO2lmKGMuc29tZShoPT5oWzBdPT09Ii0iKSlyZXR1cm47Zm9yKGxldCBoIG9mIGwpe2lmKG49dGhpcy5maW5kUHJvcChoKSxuWzBdPT09Ii0iKWNvbnRpbnVlO2xldCBiPXRoaXMucHJlZml4ZXMuYWRkW25dO2lmKCEoIWJ8fCFiLnByZWZpeGVzKSlmb3IoaSBvZiBiLnByZWZpeGVzKXtpZihhJiYhYS5zb21lKHk9PmkuaW5jbHVkZXMoeSkpKWNvbnRpbnVlO2xldCB2PXRoaXMucHJlZml4ZXMucHJlZml4ZWQobixpKTt2IT09Ii1tcy10cmFuc2Zvcm0iJiYhYy5pbmNsdWRlcyh2KSYmKHRoaXMuZGlzYWJsZWQobixpKXx8Zi5wdXNoKHRoaXMuY2xvbmUobix2LGgpKSl9fWw9bC5jb25jYXQoZik7bGV0IGQ9dGhpcy5zdHJpbmdpZnkobCkscD10aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuRnJvbVVucHJlZml4ZWQobCwiLXdlYmtpdC0iKSk7aWYoby5pbmNsdWRlcygiLXdlYmtpdC0iKSYmdGhpcy5jbG9uZUJlZm9yZShlLGAtd2Via2l0LSR7ZS5wcm9wfWAscCksdGhpcy5jbG9uZUJlZm9yZShlLGUucHJvcCxwKSxvLmluY2x1ZGVzKCItby0iKSl7bGV0IGg9dGhpcy5zdHJpbmdpZnkodGhpcy5jbGVhbkZyb21VbnByZWZpeGVkKGwsIi1vLSIpKTt0aGlzLmNsb25lQmVmb3JlKGUsYC1vLSR7ZS5wcm9wfWAsaCl9Zm9yKGkgb2YgbylpZihpIT09Ii13ZWJraXQtIiYmaSE9PSItby0iKXtsZXQgaD10aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuT3RoZXJQcmVmaXhlcyhsLGkpKTt0aGlzLmNsb25lQmVmb3JlKGUsaStlLnByb3AsaCl9ZCE9PWUudmFsdWUmJiF0aGlzLmFscmVhZHkoZSxlLnByb3AsZCkmJih0aGlzLmNoZWNrRm9yV2FybmluZyh0LGUpLGUuY2xvbmVCZWZvcmUoKSxlLnZhbHVlPWQpfWZpbmRQcm9wKGUpe2xldCB0PWVbMF0udmFsdWU7aWYoL15cZC8udGVzdCh0KSl7Zm9yKGxldFtpLG5db2YgZS5lbnRyaWVzKCkpaWYoaSE9PTAmJm4udHlwZT09PSJ3b3JkIilyZXR1cm4gbi52YWx1ZX1yZXR1cm4gdH1hbHJlYWR5KGUsdCxpKXtyZXR1cm4gZS5wYXJlbnQuc29tZShuPT5uLnByb3A9PT10JiZuLnZhbHVlPT09aSl9Y2xvbmVCZWZvcmUoZSx0LGkpe3RoaXMuYWxyZWFkeShlLHQsaSl8fGUuY2xvbmVCZWZvcmUoe3Byb3A6dCx2YWx1ZTppfSl9Y2hlY2tGb3JXYXJuaW5nKGUsdCl7aWYodC5wcm9wIT09InRyYW5zaXRpb24tcHJvcGVydHkiKXJldHVybjtsZXQgaT0hMSxuPSExO3QucGFyZW50LmVhY2gocz0+e2lmKHMudHlwZSE9PSJkZWNsInx8cy5wcm9wLmluZGV4T2YoInRyYW5zaXRpb24tIikhPT0wKXJldHVybjtsZXQgYT1BTy5jb21tYShzLnZhbHVlKTtpZihzLnByb3A9PT0idHJhbnNpdGlvbi1wcm9wZXJ0eSIpe2EuZm9yRWFjaChvPT57bGV0IGw9dGhpcy5wcmVmaXhlcy5hZGRbb107bCYmbC5wcmVmaXhlcyYmbC5wcmVmaXhlcy5sZW5ndGg+MCYmKGk9ITApfSk7cmV0dXJufXJldHVybiBuPW58fGEubGVuZ3RoPjEsITF9KSxpJiZuJiZ0Lndhcm4oZSwiUmVwbGFjZSB0cmFuc2l0aW9uLXByb3BlcnR5IHRvIHRyYW5zaXRpb24sIGJlY2F1c2UgQXV0b3ByZWZpeGVyIGNvdWxkIG5vdCBzdXBwb3J0IGFueSBjYXNlcyBvZiB0cmFuc2l0aW9uLXByb3BlcnR5IGFuZCBvdGhlciB0cmFuc2l0aW9uLSoiKX1yZW1vdmUoZSl7bGV0IHQ9dGhpcy5wYXJzZShlLnZhbHVlKTt0PXQuZmlsdGVyKGE9PntsZXQgbz10aGlzLnByZWZpeGVzLnJlbW92ZVt0aGlzLmZpbmRQcm9wKGEpXTtyZXR1cm4hb3x8IW8ucmVtb3ZlfSk7bGV0IGk9dGhpcy5zdHJpbmdpZnkodCk7aWYoZS52YWx1ZT09PWkpcmV0dXJuO2lmKHQubGVuZ3RoPT09MCl7ZS5yZW1vdmUoKTtyZXR1cm59bGV0IG49ZS5wYXJlbnQuc29tZShhPT5hLnByb3A9PT1lLnByb3AmJmEudmFsdWU9PT1pKSxzPWUucGFyZW50LnNvbWUoYT0+YSE9PWUmJmEucHJvcD09PWUucHJvcCYmYS52YWx1ZS5sZW5ndGg+aS5sZW5ndGgpO2lmKG58fHMpe2UucmVtb3ZlKCk7cmV0dXJufWUudmFsdWU9aX1wYXJzZShlKXtsZXQgdD1yYihlKSxpPVtdLG49W107Zm9yKGxldCBzIG9mIHQubm9kZXMpbi5wdXNoKHMpLHMudHlwZT09PSJkaXYiJiZzLnZhbHVlPT09IiwiJiYoaS5wdXNoKG4pLG49W10pO3JldHVybiBpLnB1c2gobiksaS5maWx0ZXIocz0+cy5sZW5ndGg+MCl9c3RyaW5naWZ5KGUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iIjtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSlpW2kubGVuZ3RoLTFdLnR5cGUhPT0iZGl2IiYmaS5wdXNoKHRoaXMuZGl2KGUpKSx0PXQuY29uY2F0KGkpO3JldHVybiB0WzBdLnR5cGU9PT0iZGl2IiYmKHQ9dC5zbGljZSgxKSksdFt0Lmxlbmd0aC0xXS50eXBlPT09ImRpdiImJih0PXQuc2xpY2UoMCwtMisxfHx2b2lkIDApKSxyYi5zdHJpbmdpZnkoe25vZGVzOnR9KX1jbG9uZShlLHQsaSl7bGV0IG49W10scz0hMTtmb3IobGV0IGEgb2YgaSkhcyYmYS50eXBlPT09IndvcmQiJiZhLnZhbHVlPT09ZT8obi5wdXNoKHt0eXBlOiJ3b3JkIix2YWx1ZTp0fSkscz0hMCk6bi5wdXNoKGEpO3JldHVybiBufWRpdihlKXtmb3IobGV0IHQgb2YgZSlmb3IobGV0IGkgb2YgdClpZihpLnR5cGU9PT0iZGl2IiYmaS52YWx1ZT09PSIsIilyZXR1cm4gaTtyZXR1cm57dHlwZToiZGl2Iix2YWx1ZToiLCIsYWZ0ZXI6IiAifX1jbGVhbk90aGVyUHJlZml4ZXMoZSx0KXtyZXR1cm4gZS5maWx0ZXIoaT0+e2xldCBuPWliLnByZWZpeCh0aGlzLmZpbmRQcm9wKGkpKTtyZXR1cm4gbj09PSIifHxuPT09dH0pfWNsZWFuRnJvbVVucHJlZml4ZWQoZSx0KXtsZXQgaT1lLm1hcChzPT50aGlzLmZpbmRQcm9wKHMpKS5maWx0ZXIocz0+cy5zbGljZSgwLHQubGVuZ3RoKT09PXQpLm1hcChzPT50aGlzLnByZWZpeGVzLnVucHJlZml4ZWQocykpLG49W107Zm9yKGxldCBzIG9mIGUpe2xldCBhPXRoaXMuZmluZFByb3Aocyksbz1pYi5wcmVmaXgoYSk7IWkuaW5jbHVkZXMoYSkmJihvPT09dHx8bz09PSIiKSYmbi5wdXNoKHMpfXJldHVybiBufWRpc2FibGVkKGUsdCl7bGV0IGk9WyJvcmRlciIsImp1c3RpZnktY29udGVudCIsImFsaWduLXNlbGYiLCJhbGlnbi1jb250ZW50Il07aWYoZS5pbmNsdWRlcygiZmxleCIpfHxpLmluY2x1ZGVzKGUpKXtpZih0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveD09PSExKXJldHVybiEwO2lmKHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94PT09Im5vLTIwMDkiKXJldHVybiB0LmluY2x1ZGVzKCIyMDA5Iil9fXJ1bGVWZW5kb3JQcmVmaXhlcyhlKXtsZXR7cGFyZW50OnR9PWU7aWYodC50eXBlIT09InJ1bGUiKXJldHVybiExO2lmKCF0LnNlbGVjdG9yLmluY2x1ZGVzKCI6LSIpKXJldHVybiExO2xldCBpPUNPLnByZWZpeGVzKCkuZmlsdGVyKG49PnQuc2VsZWN0b3IuaW5jbHVkZXMoIjoiK24pKTtyZXR1cm4gaS5sZW5ndGg+MD9pOiExfX07c2IuZXhwb3J0cz1uYn0pO3ZhciB4cj14KChmJCxsYik9Pnt1KCk7dmFyIF9PPV9lKCksb2I9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksbil7dGhpcy51bnByZWZpeGVkPWUsdGhpcy5wcmVmaXhlZD10LHRoaXMuc3RyaW5nPWl8fHQsdGhpcy5yZWdleHA9bnx8X08ucmVnZXhwKHQpfWNoZWNrKGUpe3JldHVybiBlLmluY2x1ZGVzKHRoaXMuc3RyaW5nKT8hIWUubWF0Y2godGhpcy5yZWdleHApOiExfX07bGIuZXhwb3J0cz1vYn0pO3ZhciBIZT14KChjJCxmYik9Pnt1KCk7dmFyIEVPPXdyKCksT089eHIoKSxUTz1OaSgpLFJPPV9lKCksdWI9Y2xhc3MgZXh0ZW5kcyBFT3tzdGF0aWMgc2F2ZShlLHQpe2xldCBpPXQucHJvcCxuPVtdO2ZvcihsZXQgcyBpbiB0Ll9hdXRvcHJlZml4ZXJWYWx1ZXMpe2xldCBhPXQuX2F1dG9wcmVmaXhlclZhbHVlc1tzXTtpZihhPT09dC52YWx1ZSljb250aW51ZTtsZXQgbyxsPVRPLnByZWZpeChpKTtpZihsPT09Ii1waWUtIiljb250aW51ZTtpZihsPT09cyl7bz10LnZhbHVlPWEsbi5wdXNoKG8pO2NvbnRpbnVlfWxldCBjPWUucHJlZml4ZWQoaSxzKSxmPXQucGFyZW50O2lmKCFmLmV2ZXJ5KGI9PmIucHJvcCE9PWMpKXtuLnB1c2gobyk7Y29udGludWV9bGV0IGQ9YS5yZXBsYWNlKC9ccysvLCIgIik7aWYoZi5zb21lKGI9PmIucHJvcD09PXQucHJvcCYmYi52YWx1ZS5yZXBsYWNlKC9ccysvLCIgIik9PT1kKSl7bi5wdXNoKG8pO2NvbnRpbnVlfWxldCBoPXRoaXMuY2xvbmUodCx7dmFsdWU6YX0pO289dC5wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsaCksbi5wdXNoKG8pfXJldHVybiBufWNoZWNrKGUpe2xldCB0PWUudmFsdWU7cmV0dXJuIHQuaW5jbHVkZXModGhpcy5uYW1lKT8hIXQubWF0Y2godGhpcy5yZWdleHAoKSk6ITF9cmVnZXhwKCl7cmV0dXJuIHRoaXMucmVnZXhwQ2FjaGV8fCh0aGlzLnJlZ2V4cENhY2hlPVJPLnJlZ2V4cCh0aGlzLm5hbWUpKX1yZXBsYWNlKGUsdCl7cmV0dXJuIGUucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLGAkMSR7dH0kMmApfXZhbHVlKGUpe3JldHVybiBlLnJhd3MudmFsdWUmJmUucmF3cy52YWx1ZS52YWx1ZT09PWUudmFsdWU/ZS5yYXdzLnZhbHVlLnJhdzplLnZhbHVlfWFkZChlLHQpe2UuX2F1dG9wcmVmaXhlclZhbHVlc3x8KGUuX2F1dG9wcmVmaXhlclZhbHVlcz17fSk7bGV0IGk9ZS5fYXV0b3ByZWZpeGVyVmFsdWVzW3RdfHx0aGlzLnZhbHVlKGUpLG47ZG8gaWYobj1pLGk9dGhpcy5yZXBsYWNlKGksdCksaT09PSExKXJldHVybjt3aGlsZShpIT09bik7ZS5fYXV0b3ByZWZpeGVyVmFsdWVzW3RdPWl9b2xkKGUpe3JldHVybiBuZXcgT08odGhpcy5uYW1lLGUrdGhpcy5uYW1lKX19O2ZiLmV4cG9ydHM9dWJ9KTt2YXIgQnQ9eCgocCQsY2IpPT57dSgpO2NiLmV4cG9ydHM9e319KTt2YXIgb3U9eCgoZCQsaGIpPT57dSgpO3ZhciBwYj1NcygpLFBPPUhlKCksSU89QnQoKS5pbnNlcnRBcmVhcyxETz0vKF58W14tXSlsaW5lYXItZ3JhZGllbnRcKFxzKih0b3B8bGVmdHxyaWdodHxib3R0b20pL2kscU89LyhefFteLV0pcmFkaWFsLWdyYWRpZW50XChccypcZCsoXHcqfCUpXHMrXGQrKFx3KnwlKVxzKiwvaSwkTz0vKCFccyopP2F1dG9wcmVmaXhlcjpccyppZ25vcmVccytuZXh0L2ksTE89LyghXHMqKT9hdXRvcHJlZml4ZXJccypncmlkOlxzKihvbnxvZmZ8KG5vLSk/YXV0b3BsYWNlKS9pLE1PPVsid2lkdGgiLCJoZWlnaHQiLCJtaW4td2lkdGgiLCJtYXgtd2lkdGgiLCJtaW4taGVpZ2h0IiwibWF4LWhlaWdodCIsImlubGluZS1zaXplIiwibWluLWlubGluZS1zaXplIiwibWF4LWlubGluZS1zaXplIiwiYmxvY2stc2l6ZSIsIm1pbi1ibG9jay1zaXplIiwibWF4LWJsb2NrLXNpemUiXTtmdW5jdGlvbiBhdShyKXtyZXR1cm4gci5wYXJlbnQuc29tZShlPT5lLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZSJ8fGUucHJvcD09PSJncmlkLXRlbXBsYXRlLWFyZWFzIil9ZnVuY3Rpb24gTk8ocil7bGV0IGU9ci5wYXJlbnQuc29tZShpPT5pLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1yb3dzIiksdD1yLnBhcmVudC5zb21lKGk9PmkucHJvcD09PSJncmlkLXRlbXBsYXRlLWNvbHVtbnMiKTtyZXR1cm4gZSYmdH12YXIgZGI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5wcmVmaXhlcz1lfWFkZChlLHQpe2xldCBpPXRoaXMucHJlZml4ZXMuYWRkWyJAcmVzb2x1dGlvbiJdLG49dGhpcy5wcmVmaXhlcy5hZGRbIkBrZXlmcmFtZXMiXSxzPXRoaXMucHJlZml4ZXMuYWRkWyJAdmlld3BvcnQiXSxhPXRoaXMucHJlZml4ZXMuYWRkWyJAc3VwcG9ydHMiXTtlLndhbGtBdFJ1bGVzKGY9PntpZihmLm5hbWU9PT0ia2V5ZnJhbWVzIil7aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gbiYmbi5wcm9jZXNzKGYpfWVsc2UgaWYoZi5uYW1lPT09InZpZXdwb3J0Iil7aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gcyYmcy5wcm9jZXNzKGYpfWVsc2UgaWYoZi5uYW1lPT09InN1cHBvcnRzIil7aWYodGhpcy5wcmVmaXhlcy5vcHRpb25zLnN1cHBvcnRzIT09ITEmJiF0aGlzLmRpc2FibGVkKGYsdCkpcmV0dXJuIGEucHJvY2VzcyhmKX1lbHNlIGlmKGYubmFtZT09PSJtZWRpYSImJmYucGFyYW1zLmluY2x1ZGVzKCItcmVzb2x1dGlvbiIpJiYhdGhpcy5kaXNhYmxlZChmLHQpKXJldHVybiBpJiZpLnByb2Nlc3MoZil9KSxlLndhbGtSdWxlcyhmPT57aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gdGhpcy5wcmVmaXhlcy5hZGQuc2VsZWN0b3JzLm1hcChkPT5kLnByb2Nlc3MoZix0KSl9KTtmdW5jdGlvbiBvKGYpe3JldHVybiBmLnBhcmVudC5ub2Rlcy5zb21lKGQ9PntpZihkLnR5cGUhPT0iZGVjbCIpcmV0dXJuITE7bGV0IHA9ZC5wcm9wPT09ImRpc3BsYXkiJiYvKGlubGluZS0pP2dyaWQvLnRlc3QoZC52YWx1ZSksaD1kLnByb3Auc3RhcnRzV2l0aCgiZ3JpZC10ZW1wbGF0ZSIpLGI9L15ncmlkLShbQS16XSstKT9nYXAvLnRlc3QoZC5wcm9wKTtyZXR1cm4gcHx8aHx8Yn0pfWZ1bmN0aW9uIGwoZil7cmV0dXJuIGYucGFyZW50LnNvbWUoZD0+ZC5wcm9wPT09ImRpc3BsYXkiJiYvKGlubGluZS0pP2ZsZXgvLnRlc3QoZC52YWx1ZSkpfWxldCBjPXRoaXMuZ3JpZFN0YXR1cyhlLHQpJiZ0aGlzLnByZWZpeGVzLmFkZFsiZ3JpZC1hcmVhIl0mJnRoaXMucHJlZml4ZXMuYWRkWyJncmlkLWFyZWEiXS5wcmVmaXhlcztyZXR1cm4gZS53YWxrRGVjbHMoZj0+e2lmKHRoaXMuZGlzYWJsZWREZWNsKGYsdCkpcmV0dXJuO2xldCBkPWYucGFyZW50LHA9Zi5wcm9wLGg9Zi52YWx1ZTtpZihwPT09ImdyaWQtcm93LXNwYW4iKXt0Lndhcm4oImdyaWQtcm93LXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLXJvdy4iLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImdyaWQtY29sdW1uLXNwYW4iKXt0Lndhcm4oImdyaWQtY29sdW1uLXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLWNvbHVtbi4iLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImRpc3BsYXkiJiZoPT09ImJveCIpe3Qud2FybigiWW91IHNob3VsZCB3cml0ZSBkaXNwbGF5OiBmbGV4IGJ5IGZpbmFsIHNwZWMgaW5zdGVhZCBvZiBkaXNwbGF5OiBib3giLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09InRleHQtZW1waGFzaXMtcG9zaXRpb24iKShoPT09InVuZGVyInx8aD09PSJvdmVyIikmJnQud2FybigiWW91IHNob3VsZCB1c2UgMiB2YWx1ZXMgZm9yIHRleHQtZW1waGFzaXMtcG9zaXRpb24gRm9yIGV4YW1wbGUsIGB1bmRlciBsZWZ0YCBpbnN0ZWFkIG9mIGp1c3QgYHVuZGVyYC4iLHtub2RlOmZ9KTtlbHNlIGlmKC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLShpdGVtc3xjb250ZW50KSQvLnRlc3QocCkmJmwoZikpKGg9PT0ic3RhcnQifHxoPT09ImVuZCIpJiZ0Lndhcm4oYCR7aH0gdmFsdWUgaGFzIG1peGVkIHN1cHBvcnQsIGNvbnNpZGVyIHVzaW5nIGZsZXgtJHtofSBpbnN0ZWFkYCx7bm9kZTpmfSk7ZWxzZSBpZihwPT09InRleHQtZGVjb3JhdGlvbi1za2lwIiYmaD09PSJpbmsiKXQud2FybigiUmVwbGFjZSB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rIHRvIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bywgYmVjYXVzZSBzcGVjIGhhZCBiZWVuIGNoYW5nZWQiLHtub2RlOmZ9KTtlbHNle2lmKGMmJnRoaXMuZ3JpZFN0YXR1cyhmLHQpKWlmKGYudmFsdWU9PT0ic3ViZ3JpZCImJnQud2FybigiSUUgZG9lcyBub3Qgc3VwcG9ydCBzdWJncmlkIix7bm9kZTpmfSksL14oYWxpZ258anVzdGlmeXxwbGFjZSktaXRlbXMkLy50ZXN0KHApJiZvKGYpKXtsZXQgdj1wLnJlcGxhY2UoIi1pdGVtcyIsIi1zZWxmIik7dC53YXJuKGBJRSBkb2VzIG5vdCBzdXBwb3J0ICR7cH0gb24gZ3JpZCBjb250YWluZXJzLiBUcnkgdXNpbmcgJHt2fSBvbiBjaGlsZCBlbGVtZW50cyBpbnN0ZWFkOiAke2YucGFyZW50LnNlbGVjdG9yfSA+ICogeyAke3Z9OiAke2YudmFsdWV9IH1gLHtub2RlOmZ9KX1lbHNlIGlmKC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLWNvbnRlbnQkLy50ZXN0KHApJiZvKGYpKXQud2FybihgSUUgZG9lcyBub3Qgc3VwcG9ydCAke2YucHJvcH0gb24gZ3JpZCBjb250YWluZXJzYCx7bm9kZTpmfSk7ZWxzZSBpZihwPT09ImRpc3BsYXkiJiZmLnZhbHVlPT09ImNvbnRlbnRzIil7dC53YXJuKCJQbGVhc2UgZG8gbm90IHVzZSBkaXNwbGF5OiBjb250ZW50czsgaWYgeW91IGhhdmUgZ3JpZCBzZXR0aW5nIGVuYWJsZWQiLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihmLnByb3A9PT0iZ3JpZC1nYXAiKXtsZXQgdj10aGlzLmdyaWRTdGF0dXMoZix0KTt2PT09ImF1dG9wbGFjZSImJiFOTyhmKSYmIWF1KGYpP3Qud2FybigiZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCBvciBib3RoIHJvd3MgYW5kIGNvbHVtbnMgaGF2ZSBiZWVuIGRlY2xhcmVkIGFuZCBjZWxscyBoYXZlIG5vdCBiZWVuIG1hbnVhbGx5IHBsYWNlZCBpbnNpZGUgdGhlIGV4cGxpY2l0IGdyaWQiLHtub2RlOmZ9KToodj09PSEwfHx2PT09Im5vLWF1dG9wbGFjZSIpJiYhYXUoZikmJnQud2FybigiZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCIse25vZGU6Zn0pfWVsc2UgaWYocD09PSJncmlkLWF1dG8tY29sdW1ucyIpe3Qud2FybigiZ3JpZC1hdXRvLWNvbHVtbnMgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zn0pO3JldHVybn1lbHNlIGlmKHA9PT0iZ3JpZC1hdXRvLXJvd3MiKXt0Lndhcm4oImdyaWQtYXV0by1yb3dzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSUUiLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImdyaWQtYXV0by1mbG93Iil7bGV0IHY9ZC5zb21lKHc9PncucHJvcD09PSJncmlkLXRlbXBsYXRlLXJvd3MiKSx5PWQuc29tZSh3PT53LnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIik7YXUoZik/dC53YXJuKCJncmlkLWF1dG8tZmxvdyBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFIix7bm9kZTpmfSk6aC5pbmNsdWRlcygiZGVuc2UiKT90Lndhcm4oImdyaWQtYXV0by1mbG93OiBkZW5zZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFIix7bm9kZTpmfSk6IXYmJiF5JiZ0Lndhcm4oImdyaWQtYXV0by1mbG93IHdvcmtzIG9ubHkgaWYgZ3JpZC10ZW1wbGF0ZS1yb3dzIGFuZCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgYXJlIHByZXNlbnQgaW4gdGhlIHNhbWUgcnVsZSIse25vZGU6Zn0pO3JldHVybn1lbHNlIGlmKGguaW5jbHVkZXMoImF1dG8tZml0Iikpe3Qud2FybigiYXV0by1maXQgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zix3b3JkOiJhdXRvLWZpdCJ9KTtyZXR1cm59ZWxzZSBpZihoLmluY2x1ZGVzKCJhdXRvLWZpbGwiKSl7dC53YXJuKCJhdXRvLWZpbGwgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zix3b3JkOiJhdXRvLWZpbGwifSk7cmV0dXJufWVsc2UgcC5zdGFydHNXaXRoKCJncmlkLXRlbXBsYXRlIikmJmguaW5jbHVkZXMoIlsiKSYmdC53YXJuKCJBdXRvcHJlZml4ZXIgY3VycmVudGx5IGRvZXMgbm90IHN1cHBvcnQgbGluZSBuYW1lcy4gVHJ5IHVzaW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMgaW5zdGVhZC4iLHtub2RlOmYsd29yZDoiWyJ9KTtpZihoLmluY2x1ZGVzKCJyYWRpYWwtZ3JhZGllbnQiKSlpZihxTy50ZXN0KGYudmFsdWUpKXQud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIE5ldyBzeW50YXggaXMgbGlrZSBgY2xvc2VzdC1zaWRlIGF0IDAgMGAgaW5zdGVhZCBvZiBgMCAwLCBjbG9zZXN0LXNpZGVgLiIse25vZGU6Zn0pO2Vsc2V7bGV0IHY9cGIoaCk7Zm9yKGxldCB5IG9mIHYubm9kZXMpaWYoeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJyYWRpYWwtZ3JhZGllbnQiKWZvcihsZXQgdyBvZiB5Lm5vZGVzKXcudHlwZT09PSJ3b3JkIiYmKHcudmFsdWU9PT0iY292ZXIiP3Qud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIFJlcGxhY2UgYGNvdmVyYCB0byBgZmFydGhlc3QtY29ybmVyYC4iLHtub2RlOmZ9KTp3LnZhbHVlPT09ImNvbnRhaW4iJiZ0Lndhcm4oIkdyYWRpZW50IGhhcyBvdXRkYXRlZCBkaXJlY3Rpb24gc3ludGF4LiBSZXBsYWNlIGBjb250YWluYCB0byBgY2xvc2VzdC1zaWRlYC4iLHtub2RlOmZ9KSl9aC5pbmNsdWRlcygibGluZWFyLWdyYWRpZW50IikmJkRPLnRlc3QoaCkmJnQud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIE5ldyBzeW50YXggaXMgbGlrZSBgdG8gbGVmdGAgaW5zdGVhZCBvZiBgcmlnaHRgLiIse25vZGU6Zn0pfU1PLmluY2x1ZGVzKGYucHJvcCkmJihmLnZhbHVlLmluY2x1ZGVzKCItZmlsbC1hdmFpbGFibGUiKXx8KGYudmFsdWUuaW5jbHVkZXMoImZpbGwtYXZhaWxhYmxlIik/dC53YXJuKCJSZXBsYWNlIGZpbGwtYXZhaWxhYmxlIHRvIHN0cmV0Y2gsIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkIix7bm9kZTpmfSk6Zi52YWx1ZS5pbmNsdWRlcygiZmlsbCIpJiZwYihoKS5ub2Rlcy5zb21lKHk9PnkudHlwZT09PSJ3b3JkIiYmeS52YWx1ZT09PSJmaWxsIikmJnQud2FybigiUmVwbGFjZSBmaWxsIHRvIHN0cmV0Y2gsIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkIix7bm9kZTpmfSkpKTtsZXQgYjtpZihmLnByb3A9PT0idHJhbnNpdGlvbiJ8fGYucHJvcD09PSJ0cmFuc2l0aW9uLXByb3BlcnR5IilyZXR1cm4gdGhpcy5wcmVmaXhlcy50cmFuc2l0aW9uLmFkZChmLHQpO2lmKGYucHJvcD09PSJhbGlnbi1zZWxmIil7aWYodGhpcy5kaXNwbGF5VHlwZShmKSE9PSJncmlkIiYmdGhpcy5wcmVmaXhlcy5vcHRpb25zLmZsZXhib3ghPT0hMSYmKGI9dGhpcy5wcmVmaXhlcy5hZGRbImFsaWduLXNlbGYiXSxiJiZiLnByZWZpeGVzJiZiLnByb2Nlc3MoZikpLHRoaXMuZ3JpZFN0YXR1cyhmLHQpIT09ITEmJihiPXRoaXMucHJlZml4ZXMuYWRkWyJncmlkLXJvdy1hbGlnbiJdLGImJmIucHJlZml4ZXMpKXJldHVybiBiLnByb2Nlc3MoZix0KX1lbHNlIGlmKGYucHJvcD09PSJqdXN0aWZ5LXNlbGYiKXtpZih0aGlzLmdyaWRTdGF0dXMoZix0KSE9PSExJiYoYj10aGlzLnByZWZpeGVzLmFkZFsiZ3JpZC1jb2x1bW4tYWxpZ24iXSxiJiZiLnByZWZpeGVzKSlyZXR1cm4gYi5wcm9jZXNzKGYsdCl9ZWxzZSBpZihmLnByb3A9PT0icGxhY2Utc2VsZiIpe2lmKGI9dGhpcy5wcmVmaXhlcy5hZGRbInBsYWNlLXNlbGYiXSxiJiZiLnByZWZpeGVzJiZ0aGlzLmdyaWRTdGF0dXMoZix0KSE9PSExKXJldHVybiBiLnByb2Nlc3MoZix0KX1lbHNlIGlmKGI9dGhpcy5wcmVmaXhlcy5hZGRbZi5wcm9wXSxiJiZiLnByZWZpeGVzKXJldHVybiBiLnByb2Nlc3MoZix0KX0pLHRoaXMuZ3JpZFN0YXR1cyhlLHQpJiZJTyhlLHRoaXMuZGlzYWJsZWQpLGUud2Fsa0RlY2xzKGY9PntpZih0aGlzLmRpc2FibGVkVmFsdWUoZix0KSlyZXR1cm47bGV0IGQ9dGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKGYucHJvcCkscD10aGlzLnByZWZpeGVzLnZhbHVlcygiYWRkIixkKTtpZihBcnJheS5pc0FycmF5KHApKWZvcihsZXQgaCBvZiBwKWgucHJvY2VzcyYmaC5wcm9jZXNzKGYsdCk7UE8uc2F2ZSh0aGlzLnByZWZpeGVzLGYpfSl9cmVtb3ZlKGUsdCl7bGV0IGk9dGhpcy5wcmVmaXhlcy5yZW1vdmVbIkByZXNvbHV0aW9uIl07ZS53YWxrQXRSdWxlcygobixzKT0+e3RoaXMucHJlZml4ZXMucmVtb3ZlW2BAJHtuLm5hbWV9YF0/dGhpcy5kaXNhYmxlZChuLHQpfHxuLnBhcmVudC5yZW1vdmVDaGlsZChzKTpuLm5hbWU9PT0ibWVkaWEiJiZuLnBhcmFtcy5pbmNsdWRlcygiLXJlc29sdXRpb24iKSYmaSYmaS5jbGVhbihuKX0pO2ZvcihsZXQgbiBvZiB0aGlzLnByZWZpeGVzLnJlbW92ZS5zZWxlY3RvcnMpZS53YWxrUnVsZXMoKHMsYSk9PntuLmNoZWNrKHMpJiYodGhpcy5kaXNhYmxlZChzLHQpfHxzLnBhcmVudC5yZW1vdmVDaGlsZChhKSl9KTtyZXR1cm4gZS53YWxrRGVjbHMoKG4scyk9PntpZih0aGlzLmRpc2FibGVkKG4sdCkpcmV0dXJuO2xldCBhPW4ucGFyZW50LG89dGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKG4ucHJvcCk7aWYoKG4ucHJvcD09PSJ0cmFuc2l0aW9uInx8bi5wcm9wPT09InRyYW5zaXRpb24tcHJvcGVydHkiKSYmdGhpcy5wcmVmaXhlcy50cmFuc2l0aW9uLnJlbW92ZShuKSx0aGlzLnByZWZpeGVzLnJlbW92ZVtuLnByb3BdJiZ0aGlzLnByZWZpeGVzLnJlbW92ZVtuLnByb3BdLnJlbW92ZSl7bGV0IGw9dGhpcy5wcmVmaXhlcy5ncm91cChuKS5kb3duKGM9PnRoaXMucHJlZml4ZXMubm9ybWFsaXplKGMucHJvcCk9PT1vKTtpZihvPT09ImZsZXgtZmxvdyImJihsPSEwKSxuLnByb3A9PT0iLXdlYmtpdC1ib3gtb3JpZW50Iil7bGV0IGM9eyJmbGV4LWRpcmVjdGlvbiI6ITAsImZsZXgtZmxvdyI6ITB9O2lmKCFuLnBhcmVudC5zb21lKGY9PmNbZi5wcm9wXSkpcmV0dXJufWlmKGwmJiF0aGlzLndpdGhIYWNrVmFsdWUobikpe24ucmF3KCJiZWZvcmUiKS5pbmNsdWRlcyhgCmApJiZ0aGlzLnJlZHVjZVNwYWNlcyhuKSxhLnJlbW92ZUNoaWxkKHMpO3JldHVybn19Zm9yKGxldCBsIG9mIHRoaXMucHJlZml4ZXMudmFsdWVzKCJyZW1vdmUiLG8pKXtpZighbC5jaGVja3x8IWwuY2hlY2sobi52YWx1ZSkpY29udGludWU7aWYobz1sLnVucHJlZml4ZWQsdGhpcy5wcmVmaXhlcy5ncm91cChuKS5kb3duKGY9PmYudmFsdWUuaW5jbHVkZXMobykpKXthLnJlbW92ZUNoaWxkKHMpO3JldHVybn19fSl9d2l0aEhhY2tWYWx1ZShlKXtyZXR1cm4gZS5wcm9wPT09Ii13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiYmZS52YWx1ZT09PSJ0ZXh0In1kaXNhYmxlZFZhbHVlKGUsdCl7cmV0dXJuIHRoaXMuZ3JpZFN0YXR1cyhlLHQpPT09ITEmJmUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImRpc3BsYXkiJiZlLnZhbHVlLmluY2x1ZGVzKCJncmlkIil8fHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94PT09ITEmJmUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImRpc3BsYXkiJiZlLnZhbHVlLmluY2x1ZGVzKCJmbGV4Iil8fGUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImNvbnRlbnQiPyEwOnRoaXMuZGlzYWJsZWQoZSx0KX1kaXNhYmxlZERlY2woZSx0KXtpZih0aGlzLmdyaWRTdGF0dXMoZSx0KT09PSExJiZlLnR5cGU9PT0iZGVjbCImJihlLnByb3AuaW5jbHVkZXMoImdyaWQiKXx8ZS5wcm9wPT09Imp1c3RpZnktaXRlbXMiKSlyZXR1cm4hMDtpZih0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveD09PSExJiZlLnR5cGU9PT0iZGVjbCIpe2xldCBpPVsib3JkZXIiLCJqdXN0aWZ5LWNvbnRlbnQiLCJhbGlnbi1pdGVtcyIsImFsaWduLWNvbnRlbnQiXTtpZihlLnByb3AuaW5jbHVkZXMoImZsZXgiKXx8aS5pbmNsdWRlcyhlLnByb3ApKXJldHVybiEwfXJldHVybiB0aGlzLmRpc2FibGVkKGUsdCl9ZGlzYWJsZWQoZSx0KXtpZighZSlyZXR1cm4hMTtpZihlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZCE9PXZvaWQgMClyZXR1cm4gZS5fYXV0b3ByZWZpeGVyRGlzYWJsZWQ7aWYoZS5wYXJlbnQpe2xldCBuPWUucHJldigpO2lmKG4mJm4udHlwZT09PSJjb21tZW50IiYmJE8udGVzdChuLnRleHQpKXJldHVybiBlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZD0hMCxlLl9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQ9ITAsITB9bGV0IGk9bnVsbDtpZihlLm5vZGVzKXtsZXQgbjtlLmVhY2gocz0+e3MudHlwZT09PSJjb21tZW50IiYmLyghXHMqKT9hdXRvcHJlZml4ZXI6XHMqKG9mZnxvbikvaS50ZXN0KHMudGV4dCkmJih0eXBlb2YgbiE9InVuZGVmaW5lZCI/dC53YXJuKCJTZWNvbmQgQXV0b3ByZWZpeGVyIGNvbnRyb2wgY29tbWVudCB3YXMgaWdub3JlZC4gQXV0b3ByZWZpeGVyIGFwcGxpZXMgY29udHJvbCBjb21tZW50IHRvIHdob2xlIGJsb2NrLCBub3QgdG8gbmV4dCBydWxlcy4iLHtub2RlOnN9KTpuPS9vbi9pLnRlc3Qocy50ZXh0KSl9KSxuIT09dm9pZCAwJiYoaT0hbil9aWYoIWUubm9kZXN8fGk9PT1udWxsKWlmKGUucGFyZW50KXtsZXQgbj10aGlzLmRpc2FibGVkKGUucGFyZW50LHQpO2UucGFyZW50Ll9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQ9PT0hMD9pPSExOmk9bn1lbHNlIGk9ITE7cmV0dXJuIGUuX2F1dG9wcmVmaXhlckRpc2FibGVkPWksaX1yZWR1Y2VTcGFjZXMoZSl7bGV0IHQ9ITE7aWYodGhpcy5wcmVmaXhlcy5ncm91cChlKS51cCgoKT0+KHQ9ITAsITApKSx0KXJldHVybjtsZXQgaT1lLnJhdygiYmVmb3JlIikuc3BsaXQoYApgKSxuPWlbaS5sZW5ndGgtMV0ubGVuZ3RoLHM9ITE7dGhpcy5wcmVmaXhlcy5ncm91cChlKS5kb3duKGE9PntpPWEucmF3KCJiZWZvcmUiKS5zcGxpdChgCmApO2xldCBvPWkubGVuZ3RoLTE7aVtvXS5sZW5ndGg+biYmKHM9PT0hMSYmKHM9aVtvXS5sZW5ndGgtbiksaVtvXT1pW29dLnNsaWNlKDAsLXMpLGEucmF3cy5iZWZvcmU9aS5qb2luKGAKYCkpfSl9ZGlzcGxheVR5cGUoZSl7Zm9yKGxldCB0IG9mIGUucGFyZW50Lm5vZGVzKWlmKHQucHJvcD09PSJkaXNwbGF5Iil7aWYodC52YWx1ZS5pbmNsdWRlcygiZmxleCIpKXJldHVybiJmbGV4IjtpZih0LnZhbHVlLmluY2x1ZGVzKCJncmlkIikpcmV0dXJuImdyaWQifXJldHVybiExfWdyaWRTdGF0dXMoZSx0KXtpZighZSlyZXR1cm4hMTtpZihlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzIT09dm9pZCAwKXJldHVybiBlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzO2xldCBpPW51bGw7aWYoZS5ub2Rlcyl7bGV0IG47ZS5lYWNoKHM9PntpZihzLnR5cGU9PT0iY29tbWVudCImJkxPLnRlc3Qocy50ZXh0KSl7bGV0IGE9LzpccyphdXRvcGxhY2UvaS50ZXN0KHMudGV4dCksbz0vbm8tYXV0b3BsYWNlL2kudGVzdChzLnRleHQpO3R5cGVvZiBuIT0idW5kZWZpbmVkIj90Lndhcm4oIlNlY29uZCBBdXRvcHJlZml4ZXIgZ3JpZCBjb250cm9sIGNvbW1lbnQgd2FzIGlnbm9yZWQuIEF1dG9wcmVmaXhlciBhcHBsaWVzIGNvbnRyb2wgY29tbWVudHMgdG8gdGhlIHdob2xlIGJsb2NrLCBub3QgdG8gdGhlIG5leHQgcnVsZXMuIix7bm9kZTpzfSk6YT9uPSJhdXRvcGxhY2UiOm8/bj0hMDpuPS9vbi9pLnRlc3Qocy50ZXh0KX19KSxuIT09dm9pZCAwJiYoaT1uKX1pZihlLnR5cGU9PT0iYXRydWxlIiYmZS5uYW1lPT09InN1cHBvcnRzIil7bGV0IG49ZS5wYXJhbXM7bi5pbmNsdWRlcygiZ3JpZCIpJiZuLmluY2x1ZGVzKCJhdXRvIikmJihpPSExKX1pZighZS5ub2Rlc3x8aT09PW51bGwpaWYoZS5wYXJlbnQpe2xldCBuPXRoaXMuZ3JpZFN0YXR1cyhlLnBhcmVudCx0KTtlLnBhcmVudC5fYXV0b3ByZWZpeGVyU2VsZkRpc2FibGVkPT09ITA/aT0hMTppPW59ZWxzZSB0eXBlb2YgdGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQhPSJ1bmRlZmluZWQiP2k9dGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQ6dHlwZW9mIG0uZW52LkFVVE9QUkVGSVhFUl9HUklEIT0idW5kZWZpbmVkIj9tLmVudi5BVVRPUFJFRklYRVJfR1JJRD09PSJhdXRvcGxhY2UiP2k9ImF1dG9wbGFjZSI6aT0hMDppPSExO3JldHVybiBlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzPWksaX19O2hiLmV4cG9ydHM9ZGJ9KTt2YXIgZ2I9eCgoaCQsbWIpPT57dSgpO21iLmV4cG9ydHM9e0E6e0E6eyIyIjoiSyBFIEYgRyBBIEIgSkMifSxCOnsiMSI6IkMgTCBNIEggTiBEIE8gUCBRIFIgUyBUIFUgViBXIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogbiBvIHAgcSByIHMgdCB1IHYgdyB4IHkgeiBJIn0sQzp7IjEiOiIyIDMgNCA1IDYgNyA4IDkgQUIgQkIgQ0IgREIgRUIgRkIgR0IgSEIgSUIgSkIgS0IgTEIgTUIgTkIgT0IgUEIgUUIgUkIgU0IgVEIgVUIgVkIgV0IgWEIgWUIgWkIgYUIgYkIgY0IgMEIgZEIgMUIgZUIgZkIgZ0IgaEIgaUIgakIga0IgbEIgbUIgbkIgb0IgbSBwQiBxQiByQiBzQiB0QiBQIFEgUiAyQiBTIFQgVSBWIFcgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBuIG8gcCBxIHIgcyB0IHUgdiB3IHggeSB6IEkgdUIgM0IgNEIiLCIyIjoiMCAxIEtDIHpCIEogSyBFIEYgRyBBIEIgQyBMIE0gSCBOIEQgTyBrIGwgTEMgTUMifSxEOnsiMSI6IjggOSBBQiBCQiBDQiBEQiBFQiBGQiBHQiBIQiBJQiBKQiBLQiBMQiBNQiBOQiBPQiBQQiBRQiBSQiBTQiBUQiBVQiBWQiBXQiBYQiBZQiBaQiBhQiBiQiBjQiAwQiBkQiAxQiBlQiBmQiBnQiBoQiBpQiBqQiBrQiBsQiBtQiBuQiBvQiBtIHBCIHFCIHJCIHNCIHRCIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogSSB1QiAzQiA0QiIsIjIiOiIwIDEgMiAzIDQgNSA2IDcgSiBLIEUgRiBHIEEgQiBDIEwgTSBIIE4gRCBPIGsgbCJ9LEU6eyIxIjoiRyBBIEIgQyBMIE0gSCBEIFJDIDZCIHZCIHdCIDdCIFNDIFRDIDhCIDlCIHhCIEFDIHlCIEJDIENDIERDIEVDIEZDIEdDIFVDIiwiMiI6IjAgSiBLIEUgRiBOQyA1QiBPQyBQQyBRQyJ9LEY6eyIxIjoiMSAyIDMgNCA1IDYgNyA4IDkgSCBOIEQgTyBrIGwgQUIgQkIgQ0IgREIgRUIgRkIgR0IgSEIgSUIgSkIgS0IgTEIgTUIgTkIgT0IgUEIgUUIgUkIgU0IgVEIgVUIgVkIgV0IgWEIgWUIgWkIgYUIgYkIgY0IgZEIgZUIgZkIgZ0IgaEIgaUIgakIga0IgbEIgbUIgbkIgb0IgbSBwQiBxQiByQiBzQiB0QiBQIFEgUiAyQiBTIFQgVSBWIFcgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiB3QiIsIjIiOiJHIEIgQyBWQyBXQyBYQyBZQyB2QiBIQyBaQyJ9LEc6eyIxIjoiRCBmQyBnQyBoQyBpQyBqQyBrQyBsQyBtQyBuQyBvQyBwQyBxQyByQyBzQyB0QyA4QiA5QiB4QiBBQyB5QiBCQyBDQyBEQyBFQyBGQyBHQyIsIjIiOiJGIDVCIGFDIElDIGJDIGNDIGRDIGVDIn0sSDp7IjEiOiJ1QyJ9LEk6eyIxIjoiSSB6QyAwQyIsIjIiOiJ6QiBKIHZDIHdDIHhDIHlDIElDIn0sSjp7IjIiOiJFIEEifSxLOnsiMSI6Im0iLCIyIjoiQSBCIEMgdkIgSEMgd0IifSxMOnsiMSI6IkkifSxNOnsiMSI6InVCIn0sTjp7IjIiOiJBIEIifSxPOnsiMSI6InhCIn0sUDp7IjEiOiJKIGsgbCAxQyAyQyAzQyA0QyA1QyA2QiA2QyA3QyA4QyA5QyBBRCB5QiBCRCBDRCBERCJ9LFE6eyIxIjoiN0IifSxSOnsiMSI6IkVEIn0sUzp7IjEiOiJGRCBHRCJ9fSxCOjQsQzoiQ1NTIEZlYXR1cmUgUXVlcmllcyJ9fSk7dmFyIHZiPXgoKG0kLHdiKT0+e3UoKTtmdW5jdGlvbiB5YihyKXtyZXR1cm4gcltyLmxlbmd0aC0xXX12YXIgYmI9e3BhcnNlKHIpe2xldCBlPVsiIl0sdD1bZV07Zm9yKGxldCBpIG9mIHIpe2lmKGk9PT0iKCIpe2U9WyIiXSx5Yih0KS5wdXNoKGUpLHQucHVzaChlKTtjb250aW51ZX1pZihpPT09IikiKXt0LnBvcCgpLGU9eWIodCksZS5wdXNoKCIiKTtjb250aW51ZX1lW2UubGVuZ3RoLTFdKz1pfXJldHVybiB0WzBdfSxzdHJpbmdpZnkocil7bGV0IGU9IiI7Zm9yKGxldCB0IG9mIHIpe2lmKHR5cGVvZiB0PT0ib2JqZWN0Iil7ZSs9YCgke2JiLnN0cmluZ2lmeSh0KX0pYDtjb250aW51ZX1lKz10fXJldHVybiBlfX07d2IuZXhwb3J0cz1iYn0pO3ZhciBDYj14KChnJCxBYik9Pnt1KCk7dmFyIEJPPWdiKCkse2ZlYXR1cmU6Rk99PShQcygpLFJzKSx7cGFyc2U6ak99PSRlKCksek89TXQoKSxsdT12YigpLFVPPUhlKCksVk89X2UoKSx4Yj1GTyhCTyksa2I9W107Zm9yKGxldCByIGluIHhiLnN0YXRzKXtsZXQgZT14Yi5zdGF0c1tyXTtmb3IobGV0IHQgaW4gZSl7bGV0IGk9ZVt0XTsveS8udGVzdChpKSYma2IucHVzaChyKyIgIit0KX19dmFyIFNiPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5QcmVmaXhlcz1lLHRoaXMuYWxsPXR9cHJlZml4ZXIoKXtpZih0aGlzLnByZWZpeGVyQ2FjaGUpcmV0dXJuIHRoaXMucHJlZml4ZXJDYWNoZTtsZXQgZT10aGlzLmFsbC5icm93c2Vycy5zZWxlY3RlZC5maWx0ZXIoaT0+a2IuaW5jbHVkZXMoaSkpLHQ9bmV3IHpPKHRoaXMuYWxsLmJyb3dzZXJzLmRhdGEsZSx0aGlzLmFsbC5vcHRpb25zKTtyZXR1cm4gdGhpcy5wcmVmaXhlckNhY2hlPW5ldyB0aGlzLlByZWZpeGVzKHRoaXMuYWxsLmRhdGEsdCx0aGlzLmFsbC5vcHRpb25zKSx0aGlzLnByZWZpeGVyQ2FjaGV9cGFyc2UoZSl7bGV0IHQ9ZS5zcGxpdCgiOiIpLGk9dFswXSxuPXRbMV07cmV0dXJuIG58fChuPSIiKSxbaS50cmltKCksbi50cmltKCldfXZpcnR1YWwoZSl7bGV0W3QsaV09dGhpcy5wYXJzZShlKSxuPWpPKCJhe30iKS5maXJzdDtyZXR1cm4gbi5hcHBlbmQoe3Byb3A6dCx2YWx1ZTppLHJhd3M6e2JlZm9yZToiIn19KSxufXByZWZpeGVkKGUpe2xldCB0PXRoaXMudmlydHVhbChlKTtpZih0aGlzLmRpc2FibGVkKHQuZmlyc3QpKXJldHVybiB0Lm5vZGVzO2xldCBpPXt3YXJuOigpPT5udWxsfSxuPXRoaXMucHJlZml4ZXIoKS5hZGRbdC5maXJzdC5wcm9wXTtuJiZuLnByb2Nlc3MmJm4ucHJvY2Vzcyh0LmZpcnN0LGkpO2ZvcihsZXQgcyBvZiB0Lm5vZGVzKXtmb3IobGV0IGEgb2YgdGhpcy5wcmVmaXhlcigpLnZhbHVlcygiYWRkIix0LmZpcnN0LnByb3ApKWEucHJvY2VzcyhzKTtVTy5zYXZlKHRoaXMuYWxsLHMpfXJldHVybiB0Lm5vZGVzfWlzTm90KGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJi9ub3RccyovaS50ZXN0KGUpfWlzT3IoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmL1xzKm9yXHMqL2kudGVzdChlKX1pc1Byb3AoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5sZW5ndGg9PT0xJiZ0eXBlb2YgZVswXT09InN0cmluZyJ9aXNIYWNrKGUsdCl7cmV0dXJuIW5ldyBSZWdFeHAoYChcXCh8XFxzKSR7Vk8uZXNjYXBlUmVnZXhwKHQpfTpgKS50ZXN0KGUpfXRvUmVtb3ZlKGUsdCl7bGV0W2ksbl09dGhpcy5wYXJzZShlKSxzPXRoaXMuYWxsLnVucHJlZml4ZWQoaSksYT10aGlzLmFsbC5jbGVhbmVyKCk7aWYoYS5yZW1vdmVbaV0mJmEucmVtb3ZlW2ldLnJlbW92ZSYmIXRoaXMuaXNIYWNrKHQscykpcmV0dXJuITA7Zm9yKGxldCBvIG9mIGEudmFsdWVzKCJyZW1vdmUiLHMpKWlmKG8uY2hlY2sobikpcmV0dXJuITA7cmV0dXJuITF9cmVtb3ZlKGUsdCl7bGV0IGk9MDtmb3IoO2k8ZS5sZW5ndGg7KXtpZighdGhpcy5pc05vdChlW2ktMV0pJiZ0aGlzLmlzUHJvcChlW2ldKSYmdGhpcy5pc09yKGVbaSsxXSkpe2lmKHRoaXMudG9SZW1vdmUoZVtpXVswXSx0KSl7ZS5zcGxpY2UoaSwyKTtjb250aW51ZX1pKz0yO2NvbnRpbnVlfXR5cGVvZiBlW2ldPT0ib2JqZWN0IiYmKGVbaV09dGhpcy5yZW1vdmUoZVtpXSx0KSksaSs9MX1yZXR1cm4gZX1jbGVhbkJyYWNrZXRzKGUpe3JldHVybiBlLm1hcCh0PT50eXBlb2YgdCE9Im9iamVjdCI/dDp0Lmxlbmd0aD09PTEmJnR5cGVvZiB0WzBdPT0ib2JqZWN0Ij90aGlzLmNsZWFuQnJhY2tldHModFswXSk6dGhpcy5jbGVhbkJyYWNrZXRzKHQpKX1jb252ZXJ0KGUpe2xldCB0PVsiIl07Zm9yKGxldCBpIG9mIGUpdC5wdXNoKFtgJHtpLnByb3B9OiAke2kudmFsdWV9YF0pLHQucHVzaCgiIG9yICIpO3JldHVybiB0W3QubGVuZ3RoLTFdPSIiLHR9bm9ybWFsaXplKGUpe2lmKHR5cGVvZiBlIT0ib2JqZWN0IilyZXR1cm4gZTtpZihlPWUuZmlsdGVyKHQ9PnQhPT0iIiksdHlwZW9mIGVbMF09PSJzdHJpbmciKXtsZXQgdD1lWzBdLnRyaW0oKTtpZih0LmluY2x1ZGVzKCI6Iil8fHQ9PT0ic2VsZWN0b3IifHx0PT09Im5vdCBzZWxlY3RvciIpcmV0dXJuW2x1LnN0cmluZ2lmeShlKV19cmV0dXJuIGUubWFwKHQ9PnRoaXMubm9ybWFsaXplKHQpKX1hZGQoZSx0KXtyZXR1cm4gZS5tYXAoaT0+e2lmKHRoaXMuaXNQcm9wKGkpKXtsZXQgbj10aGlzLnByZWZpeGVkKGlbMF0pO3JldHVybiBuLmxlbmd0aD4xP3RoaXMuY29udmVydChuKTppfXJldHVybiB0eXBlb2YgaT09Im9iamVjdCI/dGhpcy5hZGQoaSx0KTppfSl9cHJvY2VzcyhlKXtsZXQgdD1sdS5wYXJzZShlLnBhcmFtcyk7dD10aGlzLm5vcm1hbGl6ZSh0KSx0PXRoaXMucmVtb3ZlKHQsZS5wYXJhbXMpLHQ9dGhpcy5hZGQodCxlLnBhcmFtcyksdD10aGlzLmNsZWFuQnJhY2tldHModCksZS5wYXJhbXM9bHUuc3RyaW5naWZ5KHQpfWRpc2FibGVkKGUpe2lmKCF0aGlzLmFsbC5vcHRpb25zLmdyaWQmJihlLnByb3A9PT0iZGlzcGxheSImJmUudmFsdWUuaW5jbHVkZXMoImdyaWQiKXx8ZS5wcm9wLmluY2x1ZGVzKCJncmlkIil8fGUucHJvcD09PSJqdXN0aWZ5LWl0ZW1zIikpcmV0dXJuITA7aWYodGhpcy5hbGwub3B0aW9ucy5mbGV4Ym94PT09ITEpe2lmKGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZS5pbmNsdWRlcygiZmxleCIpKXJldHVybiEwO2xldCB0PVsib3JkZXIiLCJqdXN0aWZ5LWNvbnRlbnQiLCJhbGlnbi1pdGVtcyIsImFsaWduLWNvbnRlbnQiXTtpZihlLnByb3AuaW5jbHVkZXMoImZsZXgiKXx8dC5pbmNsdWRlcyhlLnByb3ApKXJldHVybiEwfXJldHVybiExfX07QWIuZXhwb3J0cz1TYn0pO3ZhciBPYj14KCh5JCxFYik9Pnt1KCk7dmFyIF9iPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wcmVmaXg9dCx0aGlzLnByZWZpeGVkPWUucHJlZml4ZWQodGhpcy5wcmVmaXgpLHRoaXMucmVnZXhwPWUucmVnZXhwKHRoaXMucHJlZml4KSx0aGlzLnByZWZpeGVkcz1lLnBvc3NpYmxlKCkubWFwKGk9PltlLnByZWZpeGVkKGkpLGUucmVnZXhwKGkpXSksdGhpcy51bnByZWZpeGVkPWUubmFtZSx0aGlzLm5hbWVSZWdleHA9ZS5yZWdleHAoKX1pc0hhY2soZSl7bGV0IHQ9ZS5wYXJlbnQuaW5kZXgoZSkrMSxpPWUucGFyZW50Lm5vZGVzO2Zvcig7dDxpLmxlbmd0aDspe2xldCBuPWlbdF0uc2VsZWN0b3I7aWYoIW4pcmV0dXJuITA7aWYobi5pbmNsdWRlcyh0aGlzLnVucHJlZml4ZWQpJiZuLm1hdGNoKHRoaXMubmFtZVJlZ2V4cCkpcmV0dXJuITE7bGV0IHM9ITE7Zm9yKGxldFthLG9db2YgdGhpcy5wcmVmaXhlZHMpaWYobi5pbmNsdWRlcyhhKSYmbi5tYXRjaChvKSl7cz0hMDticmVha31pZighcylyZXR1cm4hMDt0Kz0xfXJldHVybiEwfWNoZWNrKGUpe3JldHVybiEoIWUuc2VsZWN0b3IuaW5jbHVkZXModGhpcy5wcmVmaXhlZCl8fCFlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKXx8dGhpcy5pc0hhY2soZSkpfX07RWIuZXhwb3J0cz1fYn0pO3ZhciBrcj14KChiJCxSYik9Pnt1KCk7dmFye2xpc3Q6SE99PSRlKCksV089T2IoKSxHTz13cigpLFFPPU10KCksWU89X2UoKSxUYj1jbGFzcyBleHRlbmRzIEdPe2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSk7dGhpcy5yZWdleHBDYWNoZT1uZXcgTWFwfWNoZWNrKGUpe3JldHVybiBlLnNlbGVjdG9yLmluY2x1ZGVzKHRoaXMubmFtZSk/ISFlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKCkpOiExfXByZWZpeGVkKGUpe3JldHVybiB0aGlzLm5hbWUucmVwbGFjZSgvXihcVyopLyxgJDEke2V9YCl9cmVnZXhwKGUpe2lmKCF0aGlzLnJlZ2V4cENhY2hlLmhhcyhlKSl7bGV0IHQ9ZT90aGlzLnByZWZpeGVkKGUpOnRoaXMubmFtZTt0aGlzLnJlZ2V4cENhY2hlLnNldChlLG5ldyBSZWdFeHAoYChefFteOiInPV0pJHtZTy5lc2NhcGVSZWdleHAodCl9YCwiZ2kiKSl9cmV0dXJuIHRoaXMucmVnZXhwQ2FjaGUuZ2V0KGUpfXBvc3NpYmxlKCl7cmV0dXJuIFFPLnByZWZpeGVzKCl9cHJlZml4ZWRzKGUpe2lmKGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcyl7aWYoZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzW3RoaXMubmFtZV0pcmV0dXJuIGUuX2F1dG9wcmVmaXhlclByZWZpeGVkc31lbHNlIGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcz17fTtsZXQgdD17fTtpZihlLnNlbGVjdG9yLmluY2x1ZGVzKCIsIikpe2xldCBuPUhPLmNvbW1hKGUuc2VsZWN0b3IpLmZpbHRlcihzPT5zLmluY2x1ZGVzKHRoaXMubmFtZSkpO2ZvcihsZXQgcyBvZiB0aGlzLnBvc3NpYmxlKCkpdFtzXT1uLm1hcChhPT50aGlzLnJlcGxhY2UoYSxzKSkuam9pbigiLCAiKX1lbHNlIGZvcihsZXQgaSBvZiB0aGlzLnBvc3NpYmxlKCkpdFtpXT10aGlzLnJlcGxhY2UoZS5zZWxlY3RvcixpKTtyZXR1cm4gZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzW3RoaXMubmFtZV09dCxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHN9YWxyZWFkeShlLHQsaSl7bGV0IG49ZS5wYXJlbnQuaW5kZXgoZSktMTtmb3IoO24+PTA7KXtsZXQgcz1lLnBhcmVudC5ub2Rlc1tuXTtpZihzLnR5cGUhPT0icnVsZSIpcmV0dXJuITE7bGV0IGE9ITE7Zm9yKGxldCBvIGluIHRbdGhpcy5uYW1lXSl7bGV0IGw9dFt0aGlzLm5hbWVdW29dO2lmKHMuc2VsZWN0b3I9PT1sKXtpZihpPT09bylyZXR1cm4hMDthPSEwO2JyZWFrfX1pZighYSlyZXR1cm4hMTtuLT0xfXJldHVybiExfXJlcGxhY2UoZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHRoaXMucmVnZXhwKCksYCQxJHt0aGlzLnByZWZpeGVkKHQpfWApfWFkZChlLHQpe2xldCBpPXRoaXMucHJlZml4ZWRzKGUpO2lmKHRoaXMuYWxyZWFkeShlLGksdCkpcmV0dXJuO2xldCBuPXRoaXMuY2xvbmUoZSx7c2VsZWN0b3I6aVt0aGlzLm5hbWVdW3RdfSk7ZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9b2xkKGUpe3JldHVybiBuZXcgV08odGhpcyxlKX19O1JiLmV4cG9ydHM9VGJ9KTt2YXIgRGI9eCgodyQsSWIpPT57dSgpO3ZhciBLTz13cigpLFBiPWNsYXNzIGV4dGVuZHMgS097YWRkKGUsdCl7bGV0IGk9dCtlLm5hbWU7aWYoZS5wYXJlbnQuc29tZShhPT5hLm5hbWU9PT1pJiZhLnBhcmFtcz09PWUucGFyYW1zKSlyZXR1cm47bGV0IHM9dGhpcy5jbG9uZShlLHtuYW1lOml9KTtyZXR1cm4gZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUscyl9cHJvY2VzcyhlKXtsZXQgdD10aGlzLnBhcmVudFByZWZpeChlKTtmb3IobGV0IGkgb2YgdGhpcy5wcmVmaXhlcykoIXR8fHQ9PT1pKSYmdGhpcy5hZGQoZSxpKX19O0liLmV4cG9ydHM9UGJ9KTt2YXIgJGI9eCgodiQscWIpPT57dSgpO3ZhciBYTz1rcigpLHV1PWNsYXNzIGV4dGVuZHMgWE97cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLXdlYmtpdC0iPyI6LXdlYmtpdC1mdWxsLXNjcmVlbiI6ZT09PSItbW96LSI/IjotbW96LWZ1bGwtc2NyZWVuIjpgOiR7ZX1mdWxsc2NyZWVuYH19O3V1Lm5hbWVzPVsiOmZ1bGxzY3JlZW4iXTtxYi5leHBvcnRzPXV1fSk7dmFyIE1iPXgoKHgkLExiKT0+e3UoKTt2YXIgWk89a3IoKSxmdT1jbGFzcyBleHRlbmRzIFpPe3Bvc3NpYmxlKCl7cmV0dXJuIHN1cGVyLnBvc3NpYmxlKCkuY29uY2F0KFsiLW1vei0gb2xkIiwiLW1zLSBvbGQiXSl9cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLXdlYmtpdC0iPyI6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiOmU9PT0iLW1zLSI/Ijo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIjplPT09Ii1tcy0gb2xkIj8iOi1tcy1pbnB1dC1wbGFjZWhvbGRlciI6ZT09PSItbW96LSBvbGQiPyI6LW1vei1wbGFjZWhvbGRlciI6YDo6JHtlfXBsYWNlaG9sZGVyYH19O2Z1Lm5hbWVzPVsiOjpwbGFjZWhvbGRlciJdO0xiLmV4cG9ydHM9ZnV9KTt2YXIgQmI9eCgoayQsTmIpPT57dSgpO3ZhciBKTz1rcigpLGN1PWNsYXNzIGV4dGVuZHMgSk97cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLW1zLSI/IjotbXMtaW5wdXQtcGxhY2Vob2xkZXIiOmA6JHtlfXBsYWNlaG9sZGVyLXNob3duYH19O2N1Lm5hbWVzPVsiOnBsYWNlaG9sZGVyLXNob3duIl07TmIuZXhwb3J0cz1jdX0pO3ZhciBqYj14KChTJCxGYik9Pnt1KCk7dmFyIGVUPWtyKCksdFQ9X2UoKSxwdT1jbGFzcyBleHRlbmRzIGVUe2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSk7dGhpcy5wcmVmaXhlcyYmKHRoaXMucHJlZml4ZXM9dFQudW5pcSh0aGlzLnByZWZpeGVzLm1hcChuPT4iLXdlYmtpdC0iKSkpfXByZWZpeGVkKGUpe3JldHVybiBlPT09Ii13ZWJraXQtIj8iOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiI6YDo6JHtlfWZpbGUtc2VsZWN0b3ItYnV0dG9uYH19O3B1Lm5hbWVzPVsiOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiJdO0ZiLmV4cG9ydHM9cHV9KTt2YXIgUGU9eCgoQSQsemIpPT57dSgpO3piLmV4cG9ydHM9ZnVuY3Rpb24ocil7bGV0IGU7cmV0dXJuIHI9PT0iLXdlYmtpdC0gMjAwOSJ8fHI9PT0iLW1vei0iP2U9MjAwOTpyPT09Ii1tcy0iP2U9MjAxMjpyPT09Ii13ZWJraXQtIiYmKGU9ImZpbmFsIikscj09PSItd2Via2l0LSAyMDA5IiYmKHI9Ii13ZWJraXQtIiksW2Uscl19fSk7dmFyIFdiPXgoKEMkLEhiKT0+e3UoKTt2YXIgVWI9JGUoKS5saXN0LFZiPVBlKCksclQ9aigpLFNyPWNsYXNzIGV4dGVuZHMgclR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1WYih0KSxpPT09MjAwOT90KyJib3gtZmxleCI6c3VwZXIucHJlZml4ZWQoZSx0KX1ub3JtYWxpemUoKXtyZXR1cm4iZmxleCJ9c2V0KGUsdCl7bGV0IGk9VmIodClbMF07aWYoaT09PTIwMDkpcmV0dXJuIGUudmFsdWU9VWIuc3BhY2UoZS52YWx1ZSlbMF0sZS52YWx1ZT1Tci5vbGRWYWx1ZXNbZS52YWx1ZV18fGUudmFsdWUsc3VwZXIuc2V0KGUsdCk7aWYoaT09PTIwMTIpe2xldCBuPVViLnNwYWNlKGUudmFsdWUpO24ubGVuZ3RoPT09MyYmblsyXT09PSIwIiYmKGUudmFsdWU9bi5zbGljZSgwLDIpLmNvbmNhdCgiMHB4Iikuam9pbigiICIpKX1yZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtTci5uYW1lcz1bImZsZXgiLCJib3gtZmxleCJdO1NyLm9sZFZhbHVlcz17YXV0bzoiMSIsbm9uZToiMCJ9O0hiLmV4cG9ydHM9U3J9KTt2YXIgWWI9eCgoXyQsUWIpPT57dSgpO3ZhciBHYj1QZSgpLGlUPWooKSxkdT1jbGFzcyBleHRlbmRzIGlUe3ByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09R2IodCksaT09PTIwMDk/dCsiYm94LW9yZGluYWwtZ3JvdXAiOmk9PT0yMDEyP3QrImZsZXgtb3JkZXIiOnN1cGVyLnByZWZpeGVkKGUsdCl9bm9ybWFsaXplKCl7cmV0dXJuIm9yZGVyIn1zZXQoZSx0KXtyZXR1cm4gR2IodClbMF09PT0yMDA5JiYvXGQvLnRlc3QoZS52YWx1ZSk/KGUudmFsdWU9KHBhcnNlSW50KGUudmFsdWUpKzEpLnRvU3RyaW5nKCksc3VwZXIuc2V0KGUsdCkpOnN1cGVyLnNldChlLHQpfX07ZHUubmFtZXM9WyJvcmRlciIsImZsZXgtb3JkZXIiLCJib3gtb3JkaW5hbC1ncm91cCJdO1FiLmV4cG9ydHM9ZHV9KTt2YXIgWGI9eCgoRSQsS2IpPT57dSgpO3ZhciBuVD1qKCksaHU9Y2xhc3MgZXh0ZW5kcyBuVHtjaGVjayhlKXtsZXQgdD1lLnZhbHVlO3JldHVybiF0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImFscGhhKCIpJiYhdC5pbmNsdWRlcygiRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQiKSYmIXQuaW5jbHVkZXMoImRhdGE6aW1hZ2Uvc3ZnK3htbCIpfX07aHUubmFtZXM9WyJmaWx0ZXIiXTtLYi5leHBvcnRzPWh1fSk7dmFyIEpiPXgoKE8kLFpiKT0+e3UoKTt2YXIgc1Q9aigpLG11PWNsYXNzIGV4dGVuZHMgc1R7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9dGhpcy5jbG9uZShlKSxhPWUucHJvcC5yZXBsYWNlKC9lbmQkLywic3RhcnQiKSxvPXQrZS5wcm9wLnJlcGxhY2UoL2VuZCQvLCJzcGFuIik7aWYoIWUucGFyZW50LnNvbWUobD0+bC5wcm9wPT09bykpe2lmKHMucHJvcD1vLGUudmFsdWUuaW5jbHVkZXMoInNwYW4iKSlzLnZhbHVlPWUudmFsdWUucmVwbGFjZSgvc3BhblxzL2ksIiIpO2Vsc2V7bGV0IGw7aWYoZS5wYXJlbnQud2Fsa0RlY2xzKGEsYz0+e2w9Y30pLGwpe2xldCBjPU51bWJlcihlLnZhbHVlKS1OdW1iZXIobC52YWx1ZSkrIiI7cy52YWx1ZT1jfWVsc2UgZS53YXJuKG4sYENhbiBub3QgcHJlZml4ICR7ZS5wcm9wfSAoJHthfSBpcyBub3QgZm91bmQpYCl9ZS5jbG9uZUJlZm9yZShzKX19fTttdS5uYW1lcz1bImdyaWQtcm93LWVuZCIsImdyaWQtY29sdW1uLWVuZCJdO1piLmV4cG9ydHM9bXV9KTt2YXIgdHc9eCgoVCQsZXcpPT57dSgpO3ZhciBhVD1qKCksZ3U9Y2xhc3MgZXh0ZW5kcyBhVHtjaGVjayhlKXtyZXR1cm4hZS52YWx1ZS5zcGxpdCgvXHMrLykuc29tZSh0PT57bGV0IGk9dC50b0xvd2VyQ2FzZSgpO3JldHVybiBpPT09InJldmVyc2UifHxpPT09ImFsdGVybmF0ZS1yZXZlcnNlIn0pfX07Z3UubmFtZXM9WyJhbmltYXRpb24iLCJhbmltYXRpb24tZGlyZWN0aW9uIl07ZXcuZXhwb3J0cz1ndX0pO3ZhciBpdz14KChSJCxydyk9Pnt1KCk7dmFyIG9UPVBlKCksbFQ9aigpLHl1PWNsYXNzIGV4dGVuZHMgbFR7aW5zZXJ0KGUsdCxpKXtsZXQgbjtpZihbbix0XT1vVCh0KSxuIT09MjAwOSlyZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKTtsZXQgcz1lLnZhbHVlLnNwbGl0KC9ccysvKS5maWx0ZXIoZD0+ZCE9PSJ3cmFwIiYmZCE9PSJub3dyYXAiJiYid3JhcC1yZXZlcnNlIik7aWYocy5sZW5ndGg9PT0wfHxlLnBhcmVudC5zb21lKGQ9PmQucHJvcD09PXQrImJveC1vcmllbnQifHxkLnByb3A9PT10KyJib3gtZGlyZWN0aW9uIikpcmV0dXJuO2xldCBvPXNbMF0sbD1vLmluY2x1ZGVzKCJyb3ciKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIixjPW8uaW5jbHVkZXMoInJldmVyc2UiKT8icmV2ZXJzZSI6Im5vcm1hbCIsZj10aGlzLmNsb25lKGUpO3JldHVybiBmLnByb3A9dCsiYm94LW9yaWVudCIsZi52YWx1ZT1sLHRoaXMubmVlZENhc2NhZGUoZSkmJihmLnJhd3MuYmVmb3JlPXRoaXMuY2FsY0JlZm9yZShpLGUsdCkpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLGYpLGY9dGhpcy5jbG9uZShlKSxmLnByb3A9dCsiYm94LWRpcmVjdGlvbiIsZi52YWx1ZT1jLHRoaXMubmVlZENhc2NhZGUoZSkmJihmLnJhd3MuYmVmb3JlPXRoaXMuY2FsY0JlZm9yZShpLGUsdCkpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLGYpfX07eXUubmFtZXM9WyJmbGV4LWZsb3ciLCJib3gtZGlyZWN0aW9uIiwiYm94LW9yaWVudCJdO3J3LmV4cG9ydHM9eXV9KTt2YXIgc3c9eCgoUCQsbncpPT57dSgpO3ZhciB1VD1QZSgpLGZUPWooKSxidT1jbGFzcyBleHRlbmRzIGZUe25vcm1hbGl6ZSgpe3JldHVybiJmbGV4In1wcmVmaXhlZChlLHQpe2xldCBpO3JldHVybltpLHRdPXVUKHQpLGk9PT0yMDA5P3QrImJveC1mbGV4IjppPT09MjAxMj90KyJmbGV4LXBvc2l0aXZlIjpzdXBlci5wcmVmaXhlZChlLHQpfX07YnUubmFtZXM9WyJmbGV4LWdyb3ciLCJmbGV4LXBvc2l0aXZlIl07bncuZXhwb3J0cz1idX0pO3ZhciBvdz14KChJJCxhdyk9Pnt1KCk7dmFyIGNUPVBlKCkscFQ9aigpLHd1PWNsYXNzIGV4dGVuZHMgcFR7c2V0KGUsdCl7aWYoY1QodClbMF0hPT0yMDA5KXJldHVybiBzdXBlci5zZXQoZSx0KX19O3d1Lm5hbWVzPVsiZmxleC13cmFwIl07YXcuZXhwb3J0cz13dX0pO3ZhciB1dz14KChEJCxsdyk9Pnt1KCk7dmFyIGRUPWooKSxBcj1CdCgpLHZ1PWNsYXNzIGV4dGVuZHMgZFR7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9QXIucGFyc2UoZSksW2Esb109QXIudHJhbnNsYXRlKHMsMCwyKSxbbCxjXT1Bci50cmFuc2xhdGUocywxLDMpO1tbImdyaWQtcm93IixhXSxbImdyaWQtcm93LXNwYW4iLG9dLFsiZ3JpZC1jb2x1bW4iLGxdLFsiZ3JpZC1jb2x1bW4tc3BhbiIsY11dLmZvckVhY2goKFtmLGRdKT0+e0FyLmluc2VydERlY2woZSxmLGQpfSksQXIud2FyblRlbXBsYXRlU2VsZWN0b3JOb3RGb3VuZChlLG4pLEFyLndhcm5JZkdyaWRSb3dDb2x1bW5FeGlzdHMoZSxuKX19O3Z1Lm5hbWVzPVsiZ3JpZC1hcmVhIl07bHcuZXhwb3J0cz12dX0pO3ZhciBjdz14KChxJCxmdyk9Pnt1KCk7dmFyIGhUPWooKSxCaT1CdCgpLHh1PWNsYXNzIGV4dGVuZHMgaFR7aW5zZXJ0KGUsdCxpKXtpZih0IT09Ii1tcy0iKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2lmKGUucGFyZW50LnNvbWUoYT0+YS5wcm9wPT09Ii1tcy1ncmlkLXJvdy1hbGlnbiIpKXJldHVybjtsZXRbW24sc11dPUJpLnBhcnNlKGUpO3M/KEJpLmluc2VydERlY2woZSwiZ3JpZC1yb3ctYWxpZ24iLG4pLEJpLmluc2VydERlY2woZSwiZ3JpZC1jb2x1bW4tYWxpZ24iLHMpKTooQmkuaW5zZXJ0RGVjbChlLCJncmlkLXJvdy1hbGlnbiIsbiksQmkuaW5zZXJ0RGVjbChlLCJncmlkLWNvbHVtbi1hbGlnbiIsbikpfX07eHUubmFtZXM9WyJwbGFjZS1zZWxmIl07ZncuZXhwb3J0cz14dX0pO3ZhciBkdz14KCgkJCxwdyk9Pnt1KCk7dmFyIG1UPWooKSxrdT1jbGFzcyBleHRlbmRzIG1Ue2NoZWNrKGUpe2xldCB0PWUudmFsdWU7cmV0dXJuIXQuaW5jbHVkZXMoIi8iKXx8dC5pbmNsdWRlcygic3BhbiIpfW5vcm1hbGl6ZShlKXtyZXR1cm4gZS5yZXBsYWNlKCItc3RhcnQiLCIiKX1wcmVmaXhlZChlLHQpe2xldCBpPXN1cGVyLnByZWZpeGVkKGUsdCk7cmV0dXJuIHQ9PT0iLW1zLSImJihpPWkucmVwbGFjZSgiLXN0YXJ0IiwiIikpLGl9fTtrdS5uYW1lcz1bImdyaWQtcm93LXN0YXJ0IiwiZ3JpZC1jb2x1bW4tc3RhcnQiXTtwdy5leHBvcnRzPWt1fSk7dmFyIGd3PXgoKEwkLG13KT0+e3UoKTt2YXIgaHc9UGUoKSxnVD1qKCksQ3I9Y2xhc3MgZXh0ZW5kcyBnVHtjaGVjayhlKXtyZXR1cm4gZS5wYXJlbnQmJiFlLnBhcmVudC5zb21lKHQ9PnQucHJvcCYmdC5wcm9wLnN0YXJ0c1dpdGgoImdyaWQtIikpfXByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09aHcodCksaT09PTIwMTI/dCsiZmxleC1pdGVtLWFsaWduIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJhbGlnbi1zZWxmIn1zZXQoZSx0KXtsZXQgaT1odyh0KVswXTtpZihpPT09MjAxMilyZXR1cm4gZS52YWx1ZT1Dci5vbGRWYWx1ZXNbZS52YWx1ZV18fGUudmFsdWUsc3VwZXIuc2V0KGUsdCk7aWYoaT09PSJmaW5hbCIpcmV0dXJuIHN1cGVyLnNldChlLHQpfX07Q3IubmFtZXM9WyJhbGlnbi1zZWxmIiwiZmxleC1pdGVtLWFsaWduIl07Q3Iub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQifTttdy5leHBvcnRzPUNyfSk7dmFyIGJ3PXgoKE0kLHl3KT0+e3UoKTt2YXIgeVQ9aigpLGJUPV9lKCksU3U9Y2xhc3MgZXh0ZW5kcyB5VHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpO3RoaXMucHJlZml4ZXMmJih0aGlzLnByZWZpeGVzPWJULnVuaXEodGhpcy5wcmVmaXhlcy5tYXAobj0+bj09PSItbXMtIj8iLXdlYmtpdC0iOm4pKSl9fTtTdS5uYW1lcz1bImFwcGVhcmFuY2UiXTt5dy5leHBvcnRzPVN1fSk7dmFyIHh3PXgoKE4kLHZ3KT0+e3UoKTt2YXIgd3c9UGUoKSx3VD1qKCksQXU9Y2xhc3MgZXh0ZW5kcyB3VHtub3JtYWxpemUoKXtyZXR1cm4iZmxleC1iYXNpcyJ9cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT13dyh0KSxpPT09MjAxMj90KyJmbGV4LXByZWZlcnJlZC1zaXplIjpzdXBlci5wcmVmaXhlZChlLHQpfXNldChlLHQpe2xldCBpO2lmKFtpLHRdPXd3KHQpLGk9PT0yMDEyfHxpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtBdS5uYW1lcz1bImZsZXgtYmFzaXMiLCJmbGV4LXByZWZlcnJlZC1zaXplIl07dncuZXhwb3J0cz1BdX0pO3ZhciBTdz14KChCJCxrdyk9Pnt1KCk7dmFyIHZUPWooKSxDdT1jbGFzcyBleHRlbmRzIHZUe25vcm1hbGl6ZSgpe3JldHVybiB0aGlzLm5hbWUucmVwbGFjZSgiYm94LWltYWdlIiwiYm9yZGVyIil9cHJlZml4ZWQoZSx0KXtsZXQgaT1zdXBlci5wcmVmaXhlZChlLHQpO3JldHVybiB0PT09Ii13ZWJraXQtIiYmKGk9aS5yZXBsYWNlKCJib3JkZXIiLCJib3gtaW1hZ2UiKSksaX19O0N1Lm5hbWVzPVsibWFzay1ib3JkZXIiLCJtYXNrLWJvcmRlci1zb3VyY2UiLCJtYXNrLWJvcmRlci1zbGljZSIsIm1hc2stYm9yZGVyLXdpZHRoIiwibWFzay1ib3JkZXItb3V0c2V0IiwibWFzay1ib3JkZXItcmVwZWF0IiwibWFzay1ib3gtaW1hZ2UiLCJtYXNrLWJveC1pbWFnZS1zb3VyY2UiLCJtYXNrLWJveC1pbWFnZS1zbGljZSIsIm1hc2stYm94LWltYWdlLXdpZHRoIiwibWFzay1ib3gtaW1hZ2Utb3V0c2V0IiwibWFzay1ib3gtaW1hZ2UtcmVwZWF0Il07a3cuZXhwb3J0cz1DdX0pO3ZhciBDdz14KChGJCxBdyk9Pnt1KCk7dmFyIHhUPWooKSxsdD1jbGFzcyBleHRlbmRzIHhUe2luc2VydChlLHQsaSl7bGV0IG49ZS5wcm9wPT09Im1hc2stY29tcG9zaXRlIixzO24/cz1lLnZhbHVlLnNwbGl0KCIsIik6cz1lLnZhbHVlLm1hdGNoKGx0LnJlZ2V4cCl8fFtdLHM9cy5tYXAoYz0+Yy50cmltKCkpLmZpbHRlcihjPT5jKTtsZXQgYT1zLmxlbmd0aCxvO2lmKGEmJihvPXRoaXMuY2xvbmUoZSksby52YWx1ZT1zLm1hcChjPT5sdC5vbGRWYWx1ZXNbY118fGMpLmpvaW4oIiwgIikscy5pbmNsdWRlcygiaW50ZXJzZWN0IikmJihvLnZhbHVlKz0iLCB4b3IiKSxvLnByb3A9dCsibWFzay1jb21wb3NpdGUiKSxuKXJldHVybiBhPyh0aGlzLm5lZWRDYXNjYWRlKGUpJiYoby5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxvKSk6dm9pZCAwO2xldCBsPXRoaXMuY2xvbmUoZSk7cmV0dXJuIGwucHJvcD10K2wucHJvcCxhJiYobC52YWx1ZT1sLnZhbHVlLnJlcGxhY2UobHQucmVnZXhwLCIiKSksdGhpcy5uZWVkQ2FzY2FkZShlKSYmKGwucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbCksYT8odGhpcy5uZWVkQ2FzY2FkZShlKSYmKG8ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbykpOmV9fTtsdC5uYW1lcz1bIm1hc2siLCJtYXNrLWNvbXBvc2l0ZSJdO2x0Lm9sZFZhbHVlcz17YWRkOiJzb3VyY2Utb3ZlciIsc3VidHJhY3Q6InNvdXJjZS1vdXQiLGludGVyc2VjdDoic291cmNlLWluIixleGNsdWRlOiJ4b3IifTtsdC5yZWdleHA9bmV3IFJlZ0V4cChgXFxzKygke09iamVjdC5rZXlzKGx0Lm9sZFZhbHVlcykuam9pbigifCIpfSlcXGIoPyFcXCkpXFxzKig/PVssXSlgLCJpZyIpO0F3LmV4cG9ydHM9bHR9KTt2YXIgT3c9eCgoaiQsRXcpPT57dSgpO3ZhciBfdz1QZSgpLGtUPWooKSxfcj1jbGFzcyBleHRlbmRzIGtUe3ByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09X3codCksaT09PTIwMDk/dCsiYm94LWFsaWduIjppPT09MjAxMj90KyJmbGV4LWFsaWduIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJhbGlnbi1pdGVtcyJ9c2V0KGUsdCl7bGV0IGk9X3codClbMF07cmV0dXJuKGk9PT0yMDA5fHxpPT09MjAxMikmJihlLnZhbHVlPV9yLm9sZFZhbHVlc1tlLnZhbHVlXXx8ZS52YWx1ZSksc3VwZXIuc2V0KGUsdCl9fTtfci5uYW1lcz1bImFsaWduLWl0ZW1zIiwiZmxleC1hbGlnbiIsImJveC1hbGlnbiJdO19yLm9sZFZhbHVlcz17ImZsZXgtZW5kIjoiZW5kIiwiZmxleC1zdGFydCI6InN0YXJ0In07RXcuZXhwb3J0cz1fcn0pO3ZhciBSdz14KCh6JCxUdyk9Pnt1KCk7dmFyIFNUPWooKSxfdT1jbGFzcyBleHRlbmRzIFNUe3NldChlLHQpe3JldHVybiB0PT09Ii1tcy0iJiZlLnZhbHVlPT09ImNvbnRhaW4iJiYoZS52YWx1ZT0iZWxlbWVudCIpLHN1cGVyLnNldChlLHQpfWluc2VydChlLHQsaSl7aWYoIShlLnZhbHVlPT09ImFsbCImJnQ9PT0iLW1zLSIpKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpfX07X3UubmFtZXM9WyJ1c2VyLXNlbGVjdCJdO1R3LmV4cG9ydHM9X3V9KTt2YXIgRHc9eCgoVSQsSXcpPT57dSgpO3ZhciBQdz1QZSgpLEFUPWooKSxFdT1jbGFzcyBleHRlbmRzIEFUe25vcm1hbGl6ZSgpe3JldHVybiJmbGV4LXNocmluayJ9cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1Qdyh0KSxpPT09MjAxMj90KyJmbGV4LW5lZ2F0aXZlIjpzdXBlci5wcmVmaXhlZChlLHQpfXNldChlLHQpe2xldCBpO2lmKFtpLHRdPVB3KHQpLGk9PT0yMDEyfHxpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtFdS5uYW1lcz1bImZsZXgtc2hyaW5rIiwiZmxleC1uZWdhdGl2ZSJdO0l3LmV4cG9ydHM9RXV9KTt2YXIgJHc9eCgoViQscXcpPT57dSgpO3ZhciBDVD1qKCksT3U9Y2xhc3MgZXh0ZW5kcyBDVHtwcmVmaXhlZChlLHQpe3JldHVybmAke3R9Y29sdW1uLSR7ZX1gfW5vcm1hbGl6ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiaW5zaWRlIik/ImJyZWFrLWluc2lkZSI6ZS5pbmNsdWRlcygiYmVmb3JlIik/ImJyZWFrLWJlZm9yZSI6ImJyZWFrLWFmdGVyIn1zZXQoZSx0KXtyZXR1cm4oZS5wcm9wPT09ImJyZWFrLWluc2lkZSImJmUudmFsdWU9PT0iYXZvaWQtY29sdW1uInx8ZS52YWx1ZT09PSJhdm9pZC1wYWdlIikmJihlLnZhbHVlPSJhdm9pZCIpLHN1cGVyLnNldChlLHQpfWluc2VydChlLHQsaSl7aWYoZS5wcm9wIT09ImJyZWFrLWluc2lkZSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7aWYoISgvcmVnaW9uL2kudGVzdChlLnZhbHVlKXx8L3BhZ2UvaS50ZXN0KGUudmFsdWUpKSlyZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKX19O091Lm5hbWVzPVsiYnJlYWstaW5zaWRlIiwicGFnZS1icmVhay1pbnNpZGUiLCJjb2x1bW4tYnJlYWstaW5zaWRlIiwiYnJlYWstYmVmb3JlIiwicGFnZS1icmVhay1iZWZvcmUiLCJjb2x1bW4tYnJlYWstYmVmb3JlIiwiYnJlYWstYWZ0ZXIiLCJwYWdlLWJyZWFrLWFmdGVyIiwiY29sdW1uLWJyZWFrLWFmdGVyIl07cXcuZXhwb3J0cz1PdX0pO3ZhciBNdz14KChIJCxMdyk9Pnt1KCk7dmFyIF9UPWooKSxUdT1jbGFzcyBleHRlbmRzIF9Ue3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQrInByaW50LWNvbG9yLWFkanVzdCJ9bm9ybWFsaXplKCl7cmV0dXJuImNvbG9yLWFkanVzdCJ9fTtUdS5uYW1lcz1bImNvbG9yLWFkanVzdCIsInByaW50LWNvbG9yLWFkanVzdCJdO0x3LmV4cG9ydHM9VHV9KTt2YXIgQnc9eCgoVyQsTncpPT57dSgpO3ZhciBFVD1qKCksRXI9Y2xhc3MgZXh0ZW5kcyBFVHtpbnNlcnQoZSx0LGkpe2lmKHQ9PT0iLW1zLSIpe2xldCBuPXRoaXMuc2V0KHRoaXMuY2xvbmUoZSksdCk7dGhpcy5uZWVkQ2FzY2FkZShlKSYmKG4ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSk7bGV0IHM9Imx0ciI7cmV0dXJuIGUucGFyZW50Lm5vZGVzLmZvckVhY2goYT0+e2EucHJvcD09PSJkaXJlY3Rpb24iJiYoYS52YWx1ZT09PSJydGwifHxhLnZhbHVlPT09Imx0ciIpJiYocz1hLnZhbHVlKX0pLG4udmFsdWU9RXIubXNWYWx1ZXNbc11bZS52YWx1ZV18fGUudmFsdWUsZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9cmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSl9fTtFci5uYW1lcz1bIndyaXRpbmctbW9kZSJdO0VyLm1zVmFsdWVzPXtsdHI6eyJob3Jpem9udGFsLXRiIjoibHItdGIiLCJ2ZXJ0aWNhbC1ybCI6InRiLXJsIiwidmVydGljYWwtbHIiOiJ0Yi1sciJ9LHJ0bDp7Imhvcml6b250YWwtdGIiOiJybC10YiIsInZlcnRpY2FsLXJsIjoiYnQtcmwiLCJ2ZXJ0aWNhbC1sciI6ImJ0LWxyIn19O053LmV4cG9ydHM9RXJ9KTt2YXIganc9eCgoRyQsRncpPT57dSgpO3ZhciBPVD1qKCksUnU9Y2xhc3MgZXh0ZW5kcyBPVHtzZXQoZSx0KXtyZXR1cm4gZS52YWx1ZT1lLnZhbHVlLnJlcGxhY2UoL1xzK2ZpbGwoXHMpLywiJDEiKSxzdXBlci5zZXQoZSx0KX19O1J1Lm5hbWVzPVsiYm9yZGVyLWltYWdlIl07RncuZXhwb3J0cz1SdX0pO3ZhciBWdz14KChRJCxVdyk9Pnt1KCk7dmFyIHp3PVBlKCksVFQ9aigpLE9yPWNsYXNzIGV4dGVuZHMgVFR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT16dyh0KSxpPT09MjAxMj90KyJmbGV4LWxpbmUtcGFjayI6c3VwZXIucHJlZml4ZWQoZSx0KX1ub3JtYWxpemUoKXtyZXR1cm4iYWxpZ24tY29udGVudCJ9c2V0KGUsdCl7bGV0IGk9encodClbMF07aWYoaT09PTIwMTIpcmV0dXJuIGUudmFsdWU9T3Iub2xkVmFsdWVzW2UudmFsdWVdfHxlLnZhbHVlLHN1cGVyLnNldChlLHQpO2lmKGk9PT0iZmluYWwiKXJldHVybiBzdXBlci5zZXQoZSx0KX19O09yLm5hbWVzPVsiYWxpZ24tY29udGVudCIsImZsZXgtbGluZS1wYWNrIl07T3Iub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQiLCJzcGFjZS1iZXR3ZWVuIjoianVzdGlmeSIsInNwYWNlLWFyb3VuZCI6ImRpc3RyaWJ1dGUifTtVdy5leHBvcnRzPU9yfSk7dmFyIFd3PXgoKFkkLEh3KT0+e3UoKTt2YXIgUlQ9aigpLFdlPWNsYXNzIGV4dGVuZHMgUlR7cHJlZml4ZWQoZSx0KXtyZXR1cm4gdD09PSItbW96LSI/dCsoV2UudG9Nb3ppbGxhW2VdfHxlKTpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZShlKXtyZXR1cm4gV2UudG9Ob3JtYWxbZV18fGV9fTtXZS5uYW1lcz1bImJvcmRlci1yYWRpdXMiXTtXZS50b01vemlsbGE9e307V2UudG9Ob3JtYWw9e307Zm9yKGxldCByIG9mWyJ0b3AiLCJib3R0b20iXSlmb3IobGV0IGUgb2ZbImxlZnQiLCJyaWdodCJdKXtsZXQgdD1gYm9yZGVyLSR7cn0tJHtlfS1yYWRpdXNgLGk9YGJvcmRlci1yYWRpdXMtJHtyfSR7ZX1gO1dlLm5hbWVzLnB1c2godCksV2UubmFtZXMucHVzaChpKSxXZS50b01vemlsbGFbdF09aSxXZS50b05vcm1hbFtpXT10fUh3LmV4cG9ydHM9V2V9KTt2YXIgUXc9eCgoSyQsR3cpPT57dSgpO3ZhciBQVD1qKCksUHU9Y2xhc3MgZXh0ZW5kcyBQVHtwcmVmaXhlZChlLHQpe3JldHVybiBlLmluY2x1ZGVzKCItc3RhcnQiKT90K2UucmVwbGFjZSgiLWJsb2NrLXN0YXJ0IiwiLWJlZm9yZSIpOnQrZS5yZXBsYWNlKCItYmxvY2stZW5kIiwiLWFmdGVyIil9bm9ybWFsaXplKGUpe3JldHVybiBlLmluY2x1ZGVzKCItYmVmb3JlIik/ZS5yZXBsYWNlKCItYmVmb3JlIiwiLWJsb2NrLXN0YXJ0Iik6ZS5yZXBsYWNlKCItYWZ0ZXIiLCItYmxvY2stZW5kIil9fTtQdS5uYW1lcz1bImJvcmRlci1ibG9jay1zdGFydCIsImJvcmRlci1ibG9jay1lbmQiLCJtYXJnaW4tYmxvY2stc3RhcnQiLCJtYXJnaW4tYmxvY2stZW5kIiwicGFkZGluZy1ibG9jay1zdGFydCIsInBhZGRpbmctYmxvY2stZW5kIiwiYm9yZGVyLWJlZm9yZSIsImJvcmRlci1hZnRlciIsIm1hcmdpbi1iZWZvcmUiLCJtYXJnaW4tYWZ0ZXIiLCJwYWRkaW5nLWJlZm9yZSIsInBhZGRpbmctYWZ0ZXIiXTtHdy5leHBvcnRzPVB1fSk7dmFyIEt3PXgoKFgkLFl3KT0+e3UoKTt2YXIgSVQ9aigpLHtwYXJzZVRlbXBsYXRlOkRULHdhcm5NaXNzZWRBcmVhczpxVCxnZXRHcmlkR2FwOiRULHdhcm5HcmlkR2FwOkxULGluaGVyaXRHcmlkR2FwOk1UfT1CdCgpLEl1PWNsYXNzIGV4dGVuZHMgSVR7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7aWYoZS5wYXJlbnQuc29tZShoPT5oLnByb3A9PT0iLW1zLWdyaWQtcm93cyIpKXJldHVybjtsZXQgcz0kVChlKSxhPU1UKGUscykse3Jvd3M6byxjb2x1bW5zOmwsYXJlYXM6Y309RFQoe2RlY2w6ZSxnYXA6YXx8c30pLGY9T2JqZWN0LmtleXMoYykubGVuZ3RoPjAsZD1Cb29sZWFuKG8pLHA9Qm9vbGVhbihsKTtyZXR1cm4gTFQoe2dhcDpzLGhhc0NvbHVtbnM6cCxkZWNsOmUscmVzdWx0Om59KSxxVChjLGUsbiksKGQmJnB8fGYpJiZlLmNsb25lQmVmb3JlKHtwcm9wOiItbXMtZ3JpZC1yb3dzIix2YWx1ZTpvLHJhd3M6e319KSxwJiZlLmNsb25lQmVmb3JlKHtwcm9wOiItbXMtZ3JpZC1jb2x1bW5zIix2YWx1ZTpsLHJhd3M6e319KSxlfX07SXUubmFtZXM9WyJncmlkLXRlbXBsYXRlIl07WXcuZXhwb3J0cz1JdX0pO3ZhciBadz14KChaJCxYdyk9Pnt1KCk7dmFyIE5UPWooKSxEdT1jbGFzcyBleHRlbmRzIE5Ue3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQrZS5yZXBsYWNlKCItaW5saW5lIiwiIil9bm9ybWFsaXplKGUpe3JldHVybiBlLnJlcGxhY2UoLyhtYXJnaW58cGFkZGluZ3xib3JkZXIpLShzdGFydHxlbmQpLywiJDEtaW5saW5lLSQyIil9fTtEdS5uYW1lcz1bImJvcmRlci1pbmxpbmUtc3RhcnQiLCJib3JkZXItaW5saW5lLWVuZCIsIm1hcmdpbi1pbmxpbmUtc3RhcnQiLCJtYXJnaW4taW5saW5lLWVuZCIsInBhZGRpbmctaW5saW5lLXN0YXJ0IiwicGFkZGluZy1pbmxpbmUtZW5kIiwiYm9yZGVyLXN0YXJ0IiwiYm9yZGVyLWVuZCIsIm1hcmdpbi1zdGFydCIsIm1hcmdpbi1lbmQiLCJwYWRkaW5nLXN0YXJ0IiwicGFkZGluZy1lbmQiXTtYdy5leHBvcnRzPUR1fSk7dmFyIGUwPXgoKEokLEp3KT0+e3UoKTt2YXIgQlQ9aigpLHF1PWNsYXNzIGV4dGVuZHMgQlR7Y2hlY2soZSl7cmV0dXJuIWUudmFsdWUuaW5jbHVkZXMoImZsZXgtIikmJmUudmFsdWUhPT0iYmFzZWxpbmUifXByZWZpeGVkKGUsdCl7cmV0dXJuIHQrImdyaWQtcm93LWFsaWduIn1ub3JtYWxpemUoKXtyZXR1cm4iYWxpZ24tc2VsZiJ9fTtxdS5uYW1lcz1bImdyaWQtcm93LWFsaWduIl07SncuZXhwb3J0cz1xdX0pO3ZhciByMD14KChlTCx0MCk9Pnt1KCk7dmFyIEZUPWooKSxUcj1jbGFzcyBleHRlbmRzIEZUe2tleWZyYW1lUGFyZW50cyhlKXtsZXR7cGFyZW50OnR9PWU7Zm9yKDt0Oyl7aWYodC50eXBlPT09ImF0cnVsZSImJnQubmFtZT09PSJrZXlmcmFtZXMiKXJldHVybiEwOyh7cGFyZW50OnR9PXQpfXJldHVybiExfWNvbnRhaW4zZChlKXtpZihlLnByb3A9PT0idHJhbnNmb3JtLW9yaWdpbiIpcmV0dXJuITE7Zm9yKGxldCB0IG9mIFRyLmZ1bmN0aW9uczNkKWlmKGUudmFsdWUuaW5jbHVkZXMoYCR7dH0oYCkpcmV0dXJuITA7cmV0dXJuITF9c2V0KGUsdCl7cmV0dXJuIGU9c3VwZXIuc2V0KGUsdCksdD09PSItbXMtIiYmKGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlKC9yb3RhdGV6L2dpLCJyb3RhdGUiKSksZX1pbnNlcnQoZSx0LGkpe2lmKHQ9PT0iLW1zLSIpe2lmKCF0aGlzLmNvbnRhaW4zZChlKSYmIXRoaXMua2V5ZnJhbWVQYXJlbnRzKGUpKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpfWVsc2UgaWYodD09PSItby0iKXtpZighdGhpcy5jb250YWluM2QoZSkpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSl9ZWxzZSByZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKX19O1RyLm5hbWVzPVsidHJhbnNmb3JtIiwidHJhbnNmb3JtLW9yaWdpbiJdO1RyLmZ1bmN0aW9uczNkPVsibWF0cml4M2QiLCJ0cmFuc2xhdGUzZCIsInRyYW5zbGF0ZVoiLCJzY2FsZTNkIiwic2NhbGVaIiwicm90YXRlM2QiLCJyb3RhdGVYIiwicm90YXRlWSIsInBlcnNwZWN0aXZlIl07dDAuZXhwb3J0cz1Ucn0pO3ZhciBzMD14KCh0TCxuMCk9Pnt1KCk7dmFyIGkwPVBlKCksalQ9aigpLCR1PWNsYXNzIGV4dGVuZHMgalR7bm9ybWFsaXplKCl7cmV0dXJuImZsZXgtZGlyZWN0aW9uIn1pbnNlcnQoZSx0LGkpe2xldCBuO2lmKFtuLHRdPWkwKHQpLG4hPT0yMDA5KXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2lmKGUucGFyZW50LnNvbWUoZj0+Zi5wcm9wPT09dCsiYm94LW9yaWVudCJ8fGYucHJvcD09PXQrImJveC1kaXJlY3Rpb24iKSlyZXR1cm47bGV0IGE9ZS52YWx1ZSxvLGw7YT09PSJpbmhlcml0Inx8YT09PSJpbml0aWFsInx8YT09PSJ1bnNldCI/KG89YSxsPWEpOihvPWEuaW5jbHVkZXMoInJvdyIpPyJob3Jpem9udGFsIjoidmVydGljYWwiLGw9YS5pbmNsdWRlcygicmV2ZXJzZSIpPyJyZXZlcnNlIjoibm9ybWFsIik7bGV0IGM9dGhpcy5jbG9uZShlKTtyZXR1cm4gYy5wcm9wPXQrImJveC1vcmllbnQiLGMudmFsdWU9byx0aGlzLm5lZWRDYXNjYWRlKGUpJiYoYy5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxjKSxjPXRoaXMuY2xvbmUoZSksYy5wcm9wPXQrImJveC1kaXJlY3Rpb24iLGMudmFsdWU9bCx0aGlzLm5lZWRDYXNjYWRlKGUpJiYoYy5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxjKX1vbGQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1pMCh0KSxpPT09MjAwOT9bdCsiYm94LW9yaWVudCIsdCsiYm94LWRpcmVjdGlvbiJdOnN1cGVyLm9sZChlLHQpfX07JHUubmFtZXM9WyJmbGV4LWRpcmVjdGlvbiIsImJveC1kaXJlY3Rpb24iLCJib3gtb3JpZW50Il07bjAuZXhwb3J0cz0kdX0pO3ZhciBvMD14KChyTCxhMCk9Pnt1KCk7dmFyIHpUPWooKSxMdT1jbGFzcyBleHRlbmRzIHpUe2NoZWNrKGUpe3JldHVybiBlLnZhbHVlPT09InBpeGVsYXRlZCJ9cHJlZml4ZWQoZSx0KXtyZXR1cm4gdD09PSItbXMtIj8iLW1zLWludGVycG9sYXRpb24tbW9kZSI6c3VwZXIucHJlZml4ZWQoZSx0KX1zZXQoZSx0KXtyZXR1cm4gdCE9PSItbXMtIj9zdXBlci5zZXQoZSx0KTooZS5wcm9wPSItbXMtaW50ZXJwb2xhdGlvbi1tb2RlIixlLnZhbHVlPSJuZWFyZXN0LW5laWdoYm9yIixlKX1ub3JtYWxpemUoKXtyZXR1cm4iaW1hZ2UtcmVuZGVyaW5nIn1wcm9jZXNzKGUsdCl7cmV0dXJuIHN1cGVyLnByb2Nlc3MoZSx0KX19O0x1Lm5hbWVzPVsiaW1hZ2UtcmVuZGVyaW5nIiwiaW50ZXJwb2xhdGlvbi1tb2RlIl07YTAuZXhwb3J0cz1MdX0pO3ZhciB1MD14KChpTCxsMCk9Pnt1KCk7dmFyIFVUPWooKSxWVD1fZSgpLE11PWNsYXNzIGV4dGVuZHMgVVR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpKTt0aGlzLnByZWZpeGVzJiYodGhpcy5wcmVmaXhlcz1WVC51bmlxKHRoaXMucHJlZml4ZXMubWFwKG49Pm49PT0iLW1zLSI/Ii13ZWJraXQtIjpuKSkpfX07TXUubmFtZXM9WyJiYWNrZHJvcC1maWx0ZXIiXTtsMC5leHBvcnRzPU11fSk7dmFyIGMwPXgoKG5MLGYwKT0+e3UoKTt2YXIgSFQ9aigpLFdUPV9lKCksTnU9Y2xhc3MgZXh0ZW5kcyBIVHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpO3RoaXMucHJlZml4ZXMmJih0aGlzLnByZWZpeGVzPVdULnVuaXEodGhpcy5wcmVmaXhlcy5tYXAobj0+bj09PSItbXMtIj8iLXdlYmtpdC0iOm4pKSl9Y2hlY2soZSl7cmV0dXJuIGUudmFsdWUudG9Mb3dlckNhc2UoKT09PSJ0ZXh0In19O051Lm5hbWVzPVsiYmFja2dyb3VuZC1jbGlwIl07ZjAuZXhwb3J0cz1OdX0pO3ZhciBkMD14KChzTCxwMCk9Pnt1KCk7dmFyIEdUPWooKSxRVD1bIm5vbmUiLCJ1bmRlcmxpbmUiLCJvdmVybGluZSIsImxpbmUtdGhyb3VnaCIsImJsaW5rIiwiaW5oZXJpdCIsImluaXRpYWwiLCJ1bnNldCJdLEJ1PWNsYXNzIGV4dGVuZHMgR1R7Y2hlY2soZSl7cmV0dXJuIGUudmFsdWUuc3BsaXQoL1xzKy8pLnNvbWUodD0+IVFULmluY2x1ZGVzKHQpKX19O0J1Lm5hbWVzPVsidGV4dC1kZWNvcmF0aW9uIl07cDAuZXhwb3J0cz1CdX0pO3ZhciBnMD14KChhTCxtMCk9Pnt1KCk7dmFyIGgwPVBlKCksWVQ9aigpLFJyPWNsYXNzIGV4dGVuZHMgWVR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1oMCh0KSxpPT09MjAwOT90KyJib3gtcGFjayI6aT09PTIwMTI/dCsiZmxleC1wYWNrIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJqdXN0aWZ5LWNvbnRlbnQifXNldChlLHQpe2xldCBpPWgwKHQpWzBdO2lmKGk9PT0yMDA5fHxpPT09MjAxMil7bGV0IG49UnIub2xkVmFsdWVzW2UudmFsdWVdfHxlLnZhbHVlO2lmKGUudmFsdWU9bixpIT09MjAwOXx8biE9PSJkaXN0cmlidXRlIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9ZWxzZSBpZihpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtSci5uYW1lcz1bImp1c3RpZnktY29udGVudCIsImZsZXgtcGFjayIsImJveC1wYWNrIl07UnIub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQiLCJzcGFjZS1iZXR3ZWVuIjoianVzdGlmeSIsInNwYWNlLWFyb3VuZCI6ImRpc3RyaWJ1dGUifTttMC5leHBvcnRzPVJyfSk7dmFyIGIwPXgoKG9MLHkwKT0+e3UoKTt2YXIgS1Q9aigpLEZ1PWNsYXNzIGV4dGVuZHMgS1R7c2V0KGUsdCl7bGV0IGk9ZS52YWx1ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09Ii13ZWJraXQtIiYmIWkuaW5jbHVkZXMoIiAiKSYmaSE9PSJjb250YWluIiYmaSE9PSJjb3ZlciImJihlLnZhbHVlPWUudmFsdWUrIiAiK2UudmFsdWUpLHN1cGVyLnNldChlLHQpfX07RnUubmFtZXM9WyJiYWNrZ3JvdW5kLXNpemUiXTt5MC5leHBvcnRzPUZ1fSk7dmFyIHYwPXgoKGxMLHcwKT0+e3UoKTt2YXIgWFQ9aigpLGp1PUJ0KCksenU9Y2xhc3MgZXh0ZW5kcyBYVHtpbnNlcnQoZSx0LGkpe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IG49anUucGFyc2UoZSksW3MsYV09anUudHJhbnNsYXRlKG4sMCwxKTtuWzBdJiZuWzBdLmluY2x1ZGVzKCJzcGFuIikmJihhPW5bMF0uam9pbigiIikucmVwbGFjZSgvXEQvZywiIikpLFtbZS5wcm9wLHNdLFtgJHtlLnByb3B9LXNwYW5gLGFdXS5mb3JFYWNoKChbbCxjXSk9PntqdS5pbnNlcnREZWNsKGUsbCxjKX0pfX07enUubmFtZXM9WyJncmlkLXJvdyIsImdyaWQtY29sdW1uIl07dzAuZXhwb3J0cz16dX0pO3ZhciBTMD14KCh1TCxrMCk9Pnt1KCk7dmFyIFpUPWooKSx7cHJlZml4VHJhY2tQcm9wOngwLHByZWZpeFRyYWNrVmFsdWU6SlQsYXV0b3BsYWNlR3JpZEl0ZW1zOmVSLGdldEdyaWRHYXA6dFIsaW5oZXJpdEdyaWRHYXA6clJ9PUJ0KCksaVI9b3UoKSxVdT1jbGFzcyBleHRlbmRzIFpUe3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQ9PT0iLW1zLSI/eDAoe3Byb3A6ZSxwcmVmaXg6dH0pOnN1cGVyLnByZWZpeGVkKGUsdCl9bm9ybWFsaXplKGUpe3JldHVybiBlLnJlcGxhY2UoL15ncmlkLShyb3dzfGNvbHVtbnMpLywiZ3JpZC10ZW1wbGF0ZS0kMSIpfWluc2VydChlLHQsaSxuKXtpZih0IT09Ii1tcy0iKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2xldHtwYXJlbnQ6cyxwcm9wOmEsdmFsdWU6b309ZSxsPWEuaW5jbHVkZXMoInJvd3MiKSxjPWEuaW5jbHVkZXMoImNvbHVtbnMiKSxmPXMuc29tZShrPT5rLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZSJ8fGsucHJvcD09PSJncmlkLXRlbXBsYXRlLWFyZWFzIik7aWYoZiYmbClyZXR1cm4hMTtsZXQgZD1uZXcgaVIoe29wdGlvbnM6e319KSxwPWQuZ3JpZFN0YXR1cyhzLG4pLGg9dFIoZSk7aD1yUihlLGgpfHxoO2xldCBiPWw/aC5yb3c6aC5jb2x1bW47KHA9PT0ibm8tYXV0b3BsYWNlInx8cD09PSEwKSYmIWYmJihiPW51bGwpO2xldCB2PUpUKHt2YWx1ZTpvLGdhcDpifSk7ZS5jbG9uZUJlZm9yZSh7cHJvcDp4MCh7cHJvcDphLHByZWZpeDp0fSksdmFsdWU6dn0pO2xldCB5PXMubm9kZXMuZmluZChrPT5rLnByb3A9PT0iZ3JpZC1hdXRvLWZsb3ciKSx3PSJyb3ciO2lmKHkmJiFkLmRpc2FibGVkKHksbikmJih3PXkudmFsdWUudHJpbSgpKSxwPT09ImF1dG9wbGFjZSIpe2xldCBrPXMubm9kZXMuZmluZChFPT5FLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1yb3dzIik7aWYoIWsmJmYpcmV0dXJuO2lmKCFrJiYhZil7ZS53YXJuKG4sIkF1dG9wbGFjZW1lbnQgZG9lcyBub3Qgd29yayB3aXRob3V0IGdyaWQtdGVtcGxhdGUtcm93cyBwcm9wZXJ0eSIpO3JldHVybn0hcy5ub2Rlcy5maW5kKEU9PkUucHJvcD09PSJncmlkLXRlbXBsYXRlLWNvbHVtbnMiKSYmIWYmJmUud2FybihuLCJBdXRvcGxhY2VtZW50IGRvZXMgbm90IHdvcmsgd2l0aG91dCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgcHJvcGVydHkiKSxjJiYhZiYmZVIoZSxuLGgsdyl9fX07VXUubmFtZXM9WyJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLXJvd3MiLCJncmlkLWNvbHVtbnMiXTtrMC5leHBvcnRzPVV1fSk7dmFyIEMwPXgoKGZMLEEwKT0+e3UoKTt2YXIgblI9aigpLFZ1PWNsYXNzIGV4dGVuZHMgblJ7Y2hlY2soZSl7cmV0dXJuIWUudmFsdWUuaW5jbHVkZXMoImZsZXgtIikmJmUudmFsdWUhPT0iYmFzZWxpbmUifXByZWZpeGVkKGUsdCl7cmV0dXJuIHQrImdyaWQtY29sdW1uLWFsaWduIn1ub3JtYWxpemUoKXtyZXR1cm4ianVzdGlmeS1zZWxmIn19O1Z1Lm5hbWVzPVsiZ3JpZC1jb2x1bW4tYWxpZ24iXTtBMC5leHBvcnRzPVZ1fSk7dmFyIEUwPXgoKGNMLF8wKT0+e3UoKTt2YXIgc1I9aigpLEh1PWNsYXNzIGV4dGVuZHMgc1J7cHJlZml4ZWQoZSx0KXtyZXR1cm4gdCsic2Nyb2xsLWNoYWluaW5nIn1ub3JtYWxpemUoKXtyZXR1cm4ib3ZlcnNjcm9sbC1iZWhhdmlvciJ9c2V0KGUsdCl7cmV0dXJuIGUudmFsdWU9PT0iYXV0byI/ZS52YWx1ZT0iY2hhaW5lZCI6KGUudmFsdWU9PT0ibm9uZSJ8fGUudmFsdWU9PT0iY29udGFpbiIpJiYoZS52YWx1ZT0ibm9uZSIpLHN1cGVyLnNldChlLHQpfX07SHUubmFtZXM9WyJvdmVyc2Nyb2xsLWJlaGF2aW9yIiwic2Nyb2xsLWNoYWluaW5nIl07XzAuZXhwb3J0cz1IdX0pO3ZhciBSMD14KChwTCxUMCk9Pnt1KCk7dmFyIGFSPWooKSx7cGFyc2VHcmlkQXJlYXM6b1Isd2Fybk1pc3NlZEFyZWFzOmxSLHByZWZpeFRyYWNrUHJvcDp1UixwcmVmaXhUcmFja1ZhbHVlOk8wLGdldEdyaWRHYXA6ZlIsd2FybkdyaWRHYXA6Y1IsaW5oZXJpdEdyaWRHYXA6cFJ9PUJ0KCk7ZnVuY3Rpb24gZFIocil7cmV0dXJuIHIudHJpbSgpLnNsaWNlKDEsLTEpLnNwbGl0KC9bIiddXHMqWyInXT8vZyl9dmFyIFd1PWNsYXNzIGV4dGVuZHMgYVJ7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9ITEsYT0hMSxvPWUucGFyZW50LGw9ZlIoZSk7bD1wUihlLGwpfHxsLG8ud2Fsa0RlY2xzKC8tbXMtZ3JpZC1yb3dzLyxkPT5kLnJlbW92ZSgpKSxvLndhbGtEZWNscygvZ3JpZC10ZW1wbGF0ZS0ocm93c3xjb2x1bW5zKS8sZD0+e2lmKGQucHJvcD09PSJncmlkLXRlbXBsYXRlLXJvd3MiKXthPSEwO2xldHtwcm9wOnAsdmFsdWU6aH09ZDtkLmNsb25lQmVmb3JlKHtwcm9wOnVSKHtwcm9wOnAscHJlZml4OnR9KSx2YWx1ZTpPMCh7dmFsdWU6aCxnYXA6bC5yb3d9KX0pfWVsc2Ugcz0hMH0pO2xldCBjPWRSKGUudmFsdWUpO3MmJiFhJiZsLnJvdyYmYy5sZW5ndGg+MSYmZS5jbG9uZUJlZm9yZSh7cHJvcDoiLW1zLWdyaWQtcm93cyIsdmFsdWU6TzAoe3ZhbHVlOmByZXBlYXQoJHtjLmxlbmd0aH0sIGF1dG8pYCxnYXA6bC5yb3d9KSxyYXdzOnt9fSksY1Ioe2dhcDpsLGhhc0NvbHVtbnM6cyxkZWNsOmUscmVzdWx0Om59KTtsZXQgZj1vUih7cm93czpjLGdhcDpsfSk7cmV0dXJuIGxSKGYsZSxuKSxlfX07V3UubmFtZXM9WyJncmlkLXRlbXBsYXRlLWFyZWFzIl07VDAuZXhwb3J0cz1XdX0pO3ZhciBJMD14KChkTCxQMCk9Pnt1KCk7dmFyIGhSPWooKSxHdT1jbGFzcyBleHRlbmRzIGhSe3NldChlLHQpe3JldHVybiB0PT09Ii13ZWJraXQtIiYmKGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlKC9ccyoocmlnaHR8bGVmdClccyovaSwiIikpLHN1cGVyLnNldChlLHQpfX07R3UubmFtZXM9WyJ0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uIl07UDAuZXhwb3J0cz1HdX0pO3ZhciBxMD14KChoTCxEMCk9Pnt1KCk7dmFyIG1SPWooKSxRdT1jbGFzcyBleHRlbmRzIG1Se3NldChlLHQpe3JldHVybiBlLnByb3A9PT0idGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rIiYmZS52YWx1ZT09PSJhdXRvIj8oZS5wcm9wPXQrInRleHQtZGVjb3JhdGlvbi1za2lwIixlLnZhbHVlPSJpbmsiLGUpOnN1cGVyLnNldChlLHQpfX07UXUubmFtZXM9WyJ0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsiLCJ0ZXh0LWRlY29yYXRpb24tc2tpcCJdO0QwLmV4cG9ydHM9UXV9KTt2YXIgRjA9eCgobUwsQjApPT57dSgpOyJ1c2Ugc3RyaWN0IjtCMC5leHBvcnRzPXt3cmFwOiQwLGxpbWl0OkwwLHZhbGlkYXRlOk0wLHRlc3Q6WXUsY3Vycnk6Z1IsbmFtZTpOMH07ZnVuY3Rpb24gJDAocixlLHQpe3ZhciBpPWUtcjtyZXR1cm4oKHQtciklaStpKSVpK3J9ZnVuY3Rpb24gTDAocixlLHQpe3JldHVybiBNYXRoLm1heChyLE1hdGgubWluKGUsdCkpfWZ1bmN0aW9uIE0wKHIsZSx0LGksbil7aWYoIVl1KHIsZSx0LGksbikpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBvdXRzaWRlIG9mIHJhbmdlIFsiK3IrIiwiK2UrIikiKTtyZXR1cm4gdH1mdW5jdGlvbiBZdShyLGUsdCxpLG4pe3JldHVybiEodDxyfHx0PmV8fG4mJnQ9PT1lfHxpJiZ0PT09cil9ZnVuY3Rpb24gTjAocixlLHQsaSl7cmV0dXJuKHQ/IigiOiJbIikrcisiLCIrZSsoaT8iKSI6Il0iKX1mdW5jdGlvbiBnUihyLGUsdCxpKXt2YXIgbj1OMC5iaW5kKG51bGwscixlLHQsaSk7cmV0dXJue3dyYXA6JDAuYmluZChudWxsLHIsZSksbGltaXQ6TDAuYmluZChudWxsLHIsZSksdmFsaWRhdGU6ZnVuY3Rpb24ocyl7cmV0dXJuIE0wKHIsZSxzLHQsaSl9LHRlc3Q6ZnVuY3Rpb24ocyl7cmV0dXJuIFl1KHIsZSxzLHQsaSl9LHRvU3RyaW5nOm4sbmFtZTpufX19KTt2YXIgVTA9eCgoZ0wsejApPT57dSgpO3ZhciBLdT1NcygpLHlSPUYwKCksYlI9eHIoKSx3Uj1IZSgpLHZSPV9lKCksajA9L3RvcHxsZWZ0fHJpZ2h0fGJvdHRvbS9naSx3dD1jbGFzcyBleHRlbmRzIHdSe3JlcGxhY2UoZSx0KXtsZXQgaT1LdShlKTtmb3IobGV0IG4gb2YgaS5ub2RlcylpZihuLnR5cGU9PT0iZnVuY3Rpb24iJiZuLnZhbHVlPT09dGhpcy5uYW1lKWlmKG4ubm9kZXM9dGhpcy5uZXdEaXJlY3Rpb24obi5ub2Rlcyksbi5ub2Rlcz10aGlzLm5vcm1hbGl6ZShuLm5vZGVzKSx0PT09Ii13ZWJraXQtIG9sZCIpe2lmKCF0aGlzLm9sZFdlYmtpdChuKSlyZXR1cm4hMX1lbHNlIG4ubm9kZXM9dGhpcy5jb252ZXJ0RGlyZWN0aW9uKG4ubm9kZXMpLG4udmFsdWU9dCtuLnZhbHVlO3JldHVybiBpLnRvU3RyaW5nKCl9cmVwbGFjZUZpcnN0KGUsLi4udCl7cmV0dXJuIHQubWFwKG49Pm49PT0iICI/e3R5cGU6InNwYWNlIix2YWx1ZTpufTp7dHlwZToid29yZCIsdmFsdWU6bn0pLmNvbmNhdChlLnNsaWNlKDEpKX1ub3JtYWxpemVVbml0KGUsdCl7cmV0dXJuYCR7cGFyc2VGbG9hdChlKS90KjM2MH1kZWdgfW5vcm1hbGl6ZShlKXtpZighZVswXSlyZXR1cm4gZTtpZigvLT9cZCsoLlxkKyk/Z3JhZC8udGVzdChlWzBdLnZhbHVlKSllWzBdLnZhbHVlPXRoaXMubm9ybWFsaXplVW5pdChlWzBdLnZhbHVlLDQwMCk7ZWxzZSBpZigvLT9cZCsoLlxkKyk/cmFkLy50ZXN0KGVbMF0udmFsdWUpKWVbMF0udmFsdWU9dGhpcy5ub3JtYWxpemVVbml0KGVbMF0udmFsdWUsMipNYXRoLlBJKTtlbHNlIGlmKC8tP1xkKyguXGQrKT90dXJuLy50ZXN0KGVbMF0udmFsdWUpKWVbMF0udmFsdWU9dGhpcy5ub3JtYWxpemVVbml0KGVbMF0udmFsdWUsMSk7ZWxzZSBpZihlWzBdLnZhbHVlLmluY2x1ZGVzKCJkZWciKSl7bGV0IHQ9cGFyc2VGbG9hdChlWzBdLnZhbHVlKTt0PXlSLndyYXAoMCwzNjAsdCksZVswXS52YWx1ZT1gJHt0fWRlZ2B9cmV0dXJuIGVbMF0udmFsdWU9PT0iMGRlZyI/ZT10aGlzLnJlcGxhY2VGaXJzdChlLCJ0byIsIiAiLCJ0b3AiKTplWzBdLnZhbHVlPT09IjkwZGVnIj9lPXRoaXMucmVwbGFjZUZpcnN0KGUsInRvIiwiICIsInJpZ2h0Iik6ZVswXS52YWx1ZT09PSIxODBkZWciP2U9dGhpcy5yZXBsYWNlRmlyc3QoZSwidG8iLCIgIiwiYm90dG9tIik6ZVswXS52YWx1ZT09PSIyNzBkZWciJiYoZT10aGlzLnJlcGxhY2VGaXJzdChlLCJ0byIsIiAiLCJsZWZ0IikpLGV9bmV3RGlyZWN0aW9uKGUpe2lmKGVbMF0udmFsdWU9PT0idG8ifHwoajAubGFzdEluZGV4PTAsIWowLnRlc3QoZVswXS52YWx1ZSkpKXJldHVybiBlO2UudW5zaGlmdCh7dHlwZToid29yZCIsdmFsdWU6InRvIn0se3R5cGU6InNwYWNlIix2YWx1ZToiICJ9KTtmb3IobGV0IHQ9Mjt0PGUubGVuZ3RoJiZlW3RdLnR5cGUhPT0iZGl2Ijt0KyspZVt0XS50eXBlPT09IndvcmQiJiYoZVt0XS52YWx1ZT10aGlzLnJldmVydERpcmVjdGlvbihlW3RdLnZhbHVlKSk7cmV0dXJuIGV9aXNSYWRpYWwoZSl7bGV0IHQ9ImJlZm9yZSI7Zm9yKGxldCBpIG9mIGUpaWYodD09PSJiZWZvcmUiJiZpLnR5cGU9PT0ic3BhY2UiKXQ9ImF0IjtlbHNlIGlmKHQ9PT0iYXQiJiZpLnZhbHVlPT09ImF0Iil0PSJhZnRlciI7ZWxzZXtpZih0PT09ImFmdGVyIiYmaS50eXBlPT09InNwYWNlIilyZXR1cm4hMDtpZihpLnR5cGU9PT0iZGl2IilicmVhazt0PSJiZWZvcmUifXJldHVybiExfWNvbnZlcnREaXJlY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoPjAmJihlWzBdLnZhbHVlPT09InRvIj90aGlzLmZpeERpcmVjdGlvbihlKTplWzBdLnZhbHVlLmluY2x1ZGVzKCJkZWciKT90aGlzLmZpeEFuZ2xlKGUpOnRoaXMuaXNSYWRpYWwoZSkmJnRoaXMuZml4UmFkaWFsKGUpKSxlfWZpeERpcmVjdGlvbihlKXtlLnNwbGljZSgwLDIpO2ZvcihsZXQgdCBvZiBlKXtpZih0LnR5cGU9PT0iZGl2IilicmVhazt0LnR5cGU9PT0id29yZCImJih0LnZhbHVlPXRoaXMucmV2ZXJ0RGlyZWN0aW9uKHQudmFsdWUpKX19Zml4QW5nbGUoZSl7bGV0IHQ9ZVswXS52YWx1ZTt0PXBhcnNlRmxvYXQodCksdD1NYXRoLmFicyg0NTAtdCklMzYwLHQ9dGhpcy5yb3VuZEZsb2F0KHQsMyksZVswXS52YWx1ZT1gJHt0fWRlZ2B9Zml4UmFkaWFsKGUpe2xldCB0PVtdLGk9W10sbixzLGEsbyxsO2ZvcihvPTA7bzxlLmxlbmd0aC0yO28rKylpZihuPWVbb10scz1lW28rMV0sYT1lW28rMl0sbi50eXBlPT09InNwYWNlIiYmcy52YWx1ZT09PSJhdCImJmEudHlwZT09PSJzcGFjZSIpe2w9byszO2JyZWFrfWVsc2UgdC5wdXNoKG4pO2xldCBjO2ZvcihvPWw7bzxlLmxlbmd0aDtvKyspaWYoZVtvXS50eXBlPT09ImRpdiIpe2M9ZVtvXTticmVha31lbHNlIGkucHVzaChlW29dKTtlLnNwbGljZSgwLG8sLi4uaSxjLC4uLnQpfXJldmVydERpcmVjdGlvbihlKXtyZXR1cm4gd3QuZGlyZWN0aW9uc1tlLnRvTG93ZXJDYXNlKCldfHxlfXJvdW5kRmxvYXQoZSx0KXtyZXR1cm4gcGFyc2VGbG9hdChlLnRvRml4ZWQodCkpfW9sZFdlYmtpdChlKXtsZXR7bm9kZXM6dH09ZSxpPUt1LnN0cmluZ2lmeShlLm5vZGVzKTtpZih0aGlzLm5hbWUhPT0ibGluZWFyLWdyYWRpZW50Inx8dFswXSYmdFswXS52YWx1ZS5pbmNsdWRlcygiZGVnIil8fGkuaW5jbHVkZXMoInB4Iil8fGkuaW5jbHVkZXMoIi1jb3JuZXIiKXx8aS5pbmNsdWRlcygiLXNpZGUiKSlyZXR1cm4hMTtsZXQgbj1bW11dO2ZvcihsZXQgcyBvZiB0KW5bbi5sZW5ndGgtMV0ucHVzaChzKSxzLnR5cGU9PT0iZGl2IiYmcy52YWx1ZT09PSIsIiYmbi5wdXNoKFtdKTt0aGlzLm9sZERpcmVjdGlvbihuKSx0aGlzLmNvbG9yU3RvcHMobiksZS5ub2Rlcz1bXTtmb3IobGV0IHMgb2YgbillLm5vZGVzPWUubm9kZXMuY29uY2F0KHMpO3JldHVybiBlLm5vZGVzLnVuc2hpZnQoe3R5cGU6IndvcmQiLHZhbHVlOiJsaW5lYXIifSx0aGlzLmNsb25lRGl2KGUubm9kZXMpKSxlLnZhbHVlPSItd2Via2l0LWdyYWRpZW50IiwhMH1vbGREaXJlY3Rpb24oZSl7bGV0IHQ9dGhpcy5jbG9uZURpdihlWzBdKTtpZihlWzBdWzBdLnZhbHVlIT09InRvIilyZXR1cm4gZS51bnNoaWZ0KFt7dHlwZToid29yZCIsdmFsdWU6d3Qub2xkRGlyZWN0aW9ucy5ib3R0b219LHRdKTt7bGV0IGk9W107Zm9yKGxldCBzIG9mIGVbMF0uc2xpY2UoMikpcy50eXBlPT09IndvcmQiJiZpLnB1c2gocy52YWx1ZS50b0xvd2VyQ2FzZSgpKTtpPWkuam9pbigiICIpO2xldCBuPXd0Lm9sZERpcmVjdGlvbnNbaV18fGk7cmV0dXJuIGVbMF09W3t0eXBlOiJ3b3JkIix2YWx1ZTpufSx0XSxlWzBdfX1jbG9uZURpdihlKXtmb3IobGV0IHQgb2YgZSlpZih0LnR5cGU9PT0iZGl2IiYmdC52YWx1ZT09PSIsIilyZXR1cm4gdDtyZXR1cm57dHlwZToiZGl2Iix2YWx1ZToiLCIsYWZ0ZXI6IiAifX1jb2xvclN0b3BzKGUpe2xldCB0PVtdO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbixzPWVbaV0sYTtpZihpPT09MCljb250aW51ZTtsZXQgbz1LdS5zdHJpbmdpZnkoc1swXSk7c1sxXSYmc1sxXS50eXBlPT09IndvcmQiP249c1sxXS52YWx1ZTpzWzJdJiZzWzJdLnR5cGU9PT0id29yZCImJihuPXNbMl0udmFsdWUpO2xldCBsO2k9PT0xJiYoIW58fG49PT0iMCUiKT9sPWBmcm9tKCR7b30pYDppPT09ZS5sZW5ndGgtMSYmKCFufHxuPT09IjEwMCUiKT9sPWB0bygke299KWA6bj9sPWBjb2xvci1zdG9wKCR7bn0sICR7b30pYDpsPWBjb2xvci1zdG9wKCR7b30pYDtsZXQgYz1zW3MubGVuZ3RoLTFdO2VbaV09W3t0eXBlOiJ3b3JkIix2YWx1ZTpsfV0sYy50eXBlPT09ImRpdiImJmMudmFsdWU9PT0iLCImJihhPWVbaV0ucHVzaChjKSksdC5wdXNoKGEpfXJldHVybiB0fW9sZChlKXtpZihlPT09Ii13ZWJraXQtIil7bGV0IHQ9dGhpcy5uYW1lPT09ImxpbmVhci1ncmFkaWVudCI/ImxpbmVhciI6InJhZGlhbCIsaT0iLWdyYWRpZW50IixuPXZSLnJlZ2V4cChgLXdlYmtpdC0oJHt0fS1ncmFkaWVudHxncmFkaWVudFxcKFxccyoke3R9KWAsITEpO3JldHVybiBuZXcgYlIodGhpcy5uYW1lLGUrdGhpcy5uYW1lLGksbil9ZWxzZSByZXR1cm4gc3VwZXIub2xkKGUpfWFkZChlLHQpe2xldCBpPWUucHJvcDtpZihpLmluY2x1ZGVzKCJtYXNrIikpe2lmKHQ9PT0iLXdlYmtpdC0ifHx0PT09Ii13ZWJraXQtIG9sZCIpcmV0dXJuIHN1cGVyLmFkZChlLHQpfWVsc2UgaWYoaT09PSJsaXN0LXN0eWxlInx8aT09PSJsaXN0LXN0eWxlLWltYWdlInx8aT09PSJjb250ZW50Iil7aWYodD09PSItd2Via2l0LSJ8fHQ9PT0iLXdlYmtpdC0gb2xkIilyZXR1cm4gc3VwZXIuYWRkKGUsdCl9ZWxzZSByZXR1cm4gc3VwZXIuYWRkKGUsdCl9fTt3dC5uYW1lcz1bImxpbmVhci1ncmFkaWVudCIsInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLCJyYWRpYWwtZ3JhZGllbnQiLCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50Il07d3QuZGlyZWN0aW9ucz17dG9wOiJib3R0b20iLGxlZnQ6InJpZ2h0Iixib3R0b206InRvcCIscmlnaHQ6ImxlZnQifTt3dC5vbGREaXJlY3Rpb25zPXt0b3A6ImxlZnQgYm90dG9tLCBsZWZ0IHRvcCIsbGVmdDoicmlnaHQgdG9wLCBsZWZ0IHRvcCIsYm90dG9tOiJsZWZ0IHRvcCwgbGVmdCBib3R0b20iLHJpZ2h0OiJsZWZ0IHRvcCwgcmlnaHQgdG9wIiwidG9wIHJpZ2h0IjoibGVmdCBib3R0b20sIHJpZ2h0IHRvcCIsInRvcCBsZWZ0IjoicmlnaHQgYm90dG9tLCBsZWZ0IHRvcCIsInJpZ2h0IHRvcCI6ImxlZnQgYm90dG9tLCByaWdodCB0b3AiLCJyaWdodCBib3R0b20iOiJsZWZ0IHRvcCwgcmlnaHQgYm90dG9tIiwiYm90dG9tIHJpZ2h0IjoibGVmdCB0b3AsIHJpZ2h0IGJvdHRvbSIsImJvdHRvbSBsZWZ0IjoicmlnaHQgdG9wLCBsZWZ0IGJvdHRvbSIsImxlZnQgdG9wIjoicmlnaHQgYm90dG9tLCBsZWZ0IHRvcCIsImxlZnQgYm90dG9tIjoicmlnaHQgdG9wLCBsZWZ0IGJvdHRvbSJ9O3owLmV4cG9ydHM9d3R9KTt2YXIgVzA9eCgoeUwsSDApPT57dSgpO3ZhciB4Uj14cigpLGtSPUhlKCk7ZnVuY3Rpb24gVjAocil7cmV0dXJuIG5ldyBSZWdFeHAoYChefFtcXHMsKF0pKCR7cn0oJHxbXFxzKSxdKSlgLCJnaSIpfXZhciBYdT1jbGFzcyBleHRlbmRzIGtSe3JlZ2V4cCgpe3JldHVybiB0aGlzLnJlZ2V4cENhY2hlfHwodGhpcy5yZWdleHBDYWNoZT1WMCh0aGlzLm5hbWUpKSx0aGlzLnJlZ2V4cENhY2hlfWlzU3RyZXRjaCgpe3JldHVybiB0aGlzLm5hbWU9PT0ic3RyZXRjaCJ8fHRoaXMubmFtZT09PSJmaWxsInx8dGhpcy5uYW1lPT09ImZpbGwtYXZhaWxhYmxlIn1yZXBsYWNlKGUsdCl7cmV0dXJuIHQ9PT0iLW1vei0iJiZ0aGlzLmlzU3RyZXRjaCgpP2UucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCIkMS1tb3otYXZhaWxhYmxlJDMiKTp0PT09Ii13ZWJraXQtIiYmdGhpcy5pc1N0cmV0Y2goKT9lLnJlcGxhY2UodGhpcy5yZWdleHAoKSwiJDEtd2Via2l0LWZpbGwtYXZhaWxhYmxlJDMiKTpzdXBlci5yZXBsYWNlKGUsdCl9b2xkKGUpe2xldCB0PWUrdGhpcy5uYW1lO3JldHVybiB0aGlzLmlzU3RyZXRjaCgpJiYoZT09PSItbW96LSI/dD0iLW1vei1hdmFpbGFibGUiOmU9PT0iLXdlYmtpdC0iJiYodD0iLXdlYmtpdC1maWxsLWF2YWlsYWJsZSIpKSxuZXcgeFIodGhpcy5uYW1lLHQsdCxWMCh0KSl9YWRkKGUsdCl7aWYoIShlLnByb3AuaW5jbHVkZXMoImdyaWQiKSYmdCE9PSItd2Via2l0LSIpKXJldHVybiBzdXBlci5hZGQoZSx0KX19O1h1Lm5hbWVzPVsibWF4LWNvbnRlbnQiLCJtaW4tY29udGVudCIsImZpdC1jb250ZW50IiwiZmlsbCIsImZpbGwtYXZhaWxhYmxlIiwic3RyZXRjaCJdO0gwLmV4cG9ydHM9WHV9KTt2YXIgWTA9eCgoYkwsUTApPT57dSgpO3ZhciBHMD14cigpLFNSPUhlKCksWnU9Y2xhc3MgZXh0ZW5kcyBTUntyZXBsYWNlKGUsdCl7cmV0dXJuIHQ9PT0iLXdlYmtpdC0iP2UucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCIkMS13ZWJraXQtb3B0aW1pemUtY29udHJhc3QiKTp0PT09Ii1tb3otIj9lLnJlcGxhY2UodGhpcy5yZWdleHAoKSwiJDEtbW96LWNyaXNwLWVkZ2VzIik6c3VwZXIucmVwbGFjZShlLHQpfW9sZChlKXtyZXR1cm4gZT09PSItd2Via2l0LSI/bmV3IEcwKHRoaXMubmFtZSwiLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdCIpOmU9PT0iLW1vei0iP25ldyBHMCh0aGlzLm5hbWUsIi1tb3otY3Jpc3AtZWRnZXMiKTpzdXBlci5vbGQoZSl9fTtadS5uYW1lcz1bInBpeGVsYXRlZCJdO1EwLmV4cG9ydHM9WnV9KTt2YXIgWDA9eCgod0wsSzApPT57dSgpO3ZhciBBUj1IZSgpLEp1PWNsYXNzIGV4dGVuZHMgQVJ7cmVwbGFjZShlLHQpe2xldCBpPXN1cGVyLnJlcGxhY2UoZSx0KTtyZXR1cm4gdD09PSItd2Via2l0LSImJihpPWkucmVwbGFjZSgvKCJbXiJdKyJ8J1teJ10rJykoXHMrXGQrXHcpL2dpLCJ1cmwoJDEpJDIiKSksaX19O0p1Lm5hbWVzPVsiaW1hZ2Utc2V0Il07SzAuZXhwb3J0cz1KdX0pO3ZhciBKMD14KCh2TCxaMCk9Pnt1KCk7dmFyIENSPSRlKCkubGlzdCxfUj1IZSgpLGVmPWNsYXNzIGV4dGVuZHMgX1J7cmVwbGFjZShlLHQpe3JldHVybiBDUi5zcGFjZShlKS5tYXAoaT0+e2lmKGkuc2xpY2UoMCwrdGhpcy5uYW1lLmxlbmd0aCsxKSE9PXRoaXMubmFtZSsiKCIpcmV0dXJuIGk7bGV0IG49aS5sYXN0SW5kZXhPZigiKSIpLHM9aS5zbGljZShuKzEpLGE9aS5zbGljZSh0aGlzLm5hbWUubGVuZ3RoKzEsbik7aWYodD09PSItd2Via2l0LSIpe2xldCBvPWEubWF0Y2goL1xkKi4/XGQrJT8vKTtvPyhhPWEuc2xpY2Uob1swXS5sZW5ndGgpLnRyaW0oKSxhKz1gLCAke29bMF19YCk6YSs9IiwgMC41In1yZXR1cm4gdCt0aGlzLm5hbWUrIigiK2ErIikiK3N9KS5qb2luKCIgIil9fTtlZi5uYW1lcz1bImNyb3NzLWZhZGUiXTtaMC5leHBvcnRzPWVmfSk7dmFyIHR2PXgoKHhMLGV2KT0+e3UoKTt2YXIgRVI9UGUoKSxPUj14cigpLFRSPUhlKCksdGY9Y2xhc3MgZXh0ZW5kcyBUUntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCk7ZT09PSJkaXNwbGF5LWZsZXgiJiYodGhpcy5uYW1lPSJmbGV4Iil9Y2hlY2soZSl7cmV0dXJuIGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZT09PXRoaXMubmFtZX1wcmVmaXhlZChlKXtsZXQgdCxpO3JldHVyblt0LGVdPUVSKGUpLHQ9PT0yMDA5P3RoaXMubmFtZT09PSJmbGV4Ij9pPSJib3giOmk9ImlubGluZS1ib3giOnQ9PT0yMDEyP3RoaXMubmFtZT09PSJmbGV4Ij9pPSJmbGV4Ym94IjppPSJpbmxpbmUtZmxleGJveCI6dD09PSJmaW5hbCImJihpPXRoaXMubmFtZSksZStpfXJlcGxhY2UoZSx0KXtyZXR1cm4gdGhpcy5wcmVmaXhlZCh0KX1vbGQoZSl7bGV0IHQ9dGhpcy5wcmVmaXhlZChlKTtpZighIXQpcmV0dXJuIG5ldyBPUih0aGlzLm5hbWUsdCl9fTt0Zi5uYW1lcz1bImRpc3BsYXktZmxleCIsImlubGluZS1mbGV4Il07ZXYuZXhwb3J0cz10Zn0pO3ZhciBpdj14KChrTCxydik9Pnt1KCk7dmFyIFJSPUhlKCkscmY9Y2xhc3MgZXh0ZW5kcyBSUntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCk7ZT09PSJkaXNwbGF5LWdyaWQiJiYodGhpcy5uYW1lPSJncmlkIil9Y2hlY2soZSl7cmV0dXJuIGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZT09PXRoaXMubmFtZX19O3JmLm5hbWVzPVsiZGlzcGxheS1ncmlkIiwiaW5saW5lLWdyaWQiXTtydi5leHBvcnRzPXJmfSk7dmFyIHN2PXgoKFNMLG52KT0+e3UoKTt2YXIgUFI9SGUoKSxuZj1jbGFzcyBleHRlbmRzIFBSe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KTtlPT09ImZpbHRlci1mdW5jdGlvbiImJih0aGlzLm5hbWU9ImZpbHRlciIpfX07bmYubmFtZXM9WyJmaWx0ZXIiLCJmaWx0ZXItZnVuY3Rpb24iXTtudi5leHBvcnRzPW5mfSk7dmFyIHV2PXgoKEFMLGx2KT0+e3UoKTt2YXIgYXY9TmkoKSx6PWooKSxvdj16eSgpLElSPWFiKCksRFI9b3UoKSxxUj1DYigpLHNmPU10KCksUHI9a3IoKSwkUj1EYigpLHV0PUhlKCksSXI9X2UoKSxMUj0kYigpLE1SPU1iKCksTlI9QmIoKSxCUj1qYigpLEZSPVdiKCksalI9WWIoKSx6Uj1YYigpLFVSPUpiKCksVlI9dHcoKSxIUj1pdygpLFdSPXN3KCksR1I9b3coKSxRUj11dygpLFlSPWN3KCksS1I9ZHcoKSxYUj1ndygpLFpSPWJ3KCksSlI9eHcoKSxlNT1TdygpLHQ1PUN3KCkscjU9T3coKSxpNT1SdygpLG41PUR3KCksczU9JHcoKSxhNT1NdygpLG81PUJ3KCksbDU9ancoKSx1NT1WdygpLGY1PVd3KCksYzU9UXcoKSxwNT1LdygpLGQ1PVp3KCksaDU9ZTAoKSxtNT1yMCgpLGc1PXMwKCkseTU9bzAoKSxiNT11MCgpLHc1PWMwKCksdjU9ZDAoKSx4NT1nMCgpLGs1PWIwKCksUzU9djAoKSxBNT1TMCgpLEM1PUMwKCksXzU9RTAoKSxFNT1SMCgpLE81PUkwKCksVDU9cTAoKSxSNT1VMCgpLFA1PVcwKCksSTU9WTAoKSxENT1YMCgpLHE1PUowKCksJDU9dHYoKSxMNT1pdigpLE01PXN2KCk7UHIuaGFjayhMUik7UHIuaGFjayhNUik7UHIuaGFjayhOUik7UHIuaGFjayhCUik7ei5oYWNrKEZSKTt6LmhhY2soalIpO3ouaGFjayh6Uik7ei5oYWNrKFVSKTt6LmhhY2soVlIpO3ouaGFjayhIUik7ei5oYWNrKFdSKTt6LmhhY2soR1IpO3ouaGFjayhRUik7ei5oYWNrKFlSKTt6LmhhY2soS1IpO3ouaGFjayhYUik7ei5oYWNrKFpSKTt6LmhhY2soSlIpO3ouaGFjayhlNSk7ei5oYWNrKHQ1KTt6LmhhY2socjUpO3ouaGFjayhpNSk7ei5oYWNrKG41KTt6LmhhY2soczUpO3ouaGFjayhhNSk7ei5oYWNrKG81KTt6LmhhY2sobDUpO3ouaGFjayh1NSk7ei5oYWNrKGY1KTt6LmhhY2soYzUpO3ouaGFjayhwNSk7ei5oYWNrKGQ1KTt6LmhhY2soaDUpO3ouaGFjayhtNSk7ei5oYWNrKGc1KTt6LmhhY2soeTUpO3ouaGFjayhiNSk7ei5oYWNrKHc1KTt6LmhhY2sodjUpO3ouaGFjayh4NSk7ei5oYWNrKGs1KTt6LmhhY2soUzUpO3ouaGFjayhBNSk7ei5oYWNrKEM1KTt6LmhhY2soXzUpO3ouaGFjayhFNSk7ei5oYWNrKE81KTt6LmhhY2soVDUpO3V0LmhhY2soUjUpO3V0LmhhY2soUDUpO3V0LmhhY2soSTUpO3V0LmhhY2soRDUpO3V0LmhhY2socTUpO3V0LmhhY2soJDUpO3V0LmhhY2soTDUpO3V0LmhhY2soTTUpO3ZhciBhZj1uZXcgTWFwLEZpPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxpPXt9KXt0aGlzLmRhdGE9ZSx0aGlzLmJyb3dzZXJzPXQsdGhpcy5vcHRpb25zPWksW3RoaXMuYWRkLHRoaXMucmVtb3ZlXT10aGlzLnByZXByb2Nlc3ModGhpcy5zZWxlY3QodGhpcy5kYXRhKSksdGhpcy50cmFuc2l0aW9uPW5ldyBJUih0aGlzKSx0aGlzLnByb2Nlc3Nvcj1uZXcgRFIodGhpcyl9Y2xlYW5lcigpe2lmKHRoaXMuY2xlYW5lckNhY2hlKXJldHVybiB0aGlzLmNsZWFuZXJDYWNoZTtpZih0aGlzLmJyb3dzZXJzLnNlbGVjdGVkLmxlbmd0aCl7bGV0IGU9bmV3IHNmKHRoaXMuYnJvd3NlcnMuZGF0YSxbXSk7dGhpcy5jbGVhbmVyQ2FjaGU9bmV3IEZpKHRoaXMuZGF0YSxlLHRoaXMub3B0aW9ucyl9ZWxzZSByZXR1cm4gdGhpcztyZXR1cm4gdGhpcy5jbGVhbmVyQ2FjaGV9c2VsZWN0KGUpe2xldCB0PXthZGQ6e30scmVtb3ZlOnt9fTtmb3IobGV0IGkgaW4gZSl7bGV0IG49ZVtpXSxzPW4uYnJvd3NlcnMubWFwKGw9PntsZXQgYz1sLnNwbGl0KCIgIik7cmV0dXJue2Jyb3dzZXI6YCR7Y1swXX0gJHtjWzFdfWAsbm90ZTpjWzJdfX0pLGE9cy5maWx0ZXIobD0+bC5ub3RlKS5tYXAobD0+YCR7dGhpcy5icm93c2Vycy5wcmVmaXgobC5icm93c2VyKX0gJHtsLm5vdGV9YCk7YT1Jci51bmlxKGEpLHM9cy5maWx0ZXIobD0+dGhpcy5icm93c2Vycy5pc1NlbGVjdGVkKGwuYnJvd3NlcikpLm1hcChsPT57bGV0IGM9dGhpcy5icm93c2Vycy5wcmVmaXgobC5icm93c2VyKTtyZXR1cm4gbC5ub3RlP2Ake2N9ICR7bC5ub3RlfWA6Y30pLHM9dGhpcy5zb3J0KElyLnVuaXEocykpLHRoaXMub3B0aW9ucy5mbGV4Ym94PT09Im5vLTIwMDkiJiYocz1zLmZpbHRlcihsPT4hbC5pbmNsdWRlcygiMjAwOSIpKSk7bGV0IG89bi5icm93c2Vycy5tYXAobD0+dGhpcy5icm93c2Vycy5wcmVmaXgobCkpO24ubWlzdGFrZXMmJihvPW8uY29uY2F0KG4ubWlzdGFrZXMpKSxvPW8uY29uY2F0KGEpLG89SXIudW5pcShvKSxzLmxlbmd0aD8odC5hZGRbaV09cyxzLmxlbmd0aDxvLmxlbmd0aCYmKHQucmVtb3ZlW2ldPW8uZmlsdGVyKGw9PiFzLmluY2x1ZGVzKGwpKSkpOnQucmVtb3ZlW2ldPW99cmV0dXJuIHR9c29ydChlKXtyZXR1cm4gZS5zb3J0KCh0LGkpPT57bGV0IG49SXIucmVtb3ZlTm90ZSh0KS5sZW5ndGgscz1Jci5yZW1vdmVOb3RlKGkpLmxlbmd0aDtyZXR1cm4gbj09PXM/aS5sZW5ndGgtdC5sZW5ndGg6cy1ufSl9cHJlcHJvY2VzcyhlKXtsZXQgdD17c2VsZWN0b3JzOltdLCJAc3VwcG9ydHMiOm5ldyBxUihGaSx0aGlzKX07Zm9yKGxldCBuIGluIGUuYWRkKXtsZXQgcz1lLmFkZFtuXTtpZihuPT09IkBrZXlmcmFtZXMifHxuPT09IkB2aWV3cG9ydCIpdFtuXT1uZXcgJFIobixzLHRoaXMpO2Vsc2UgaWYobj09PSJAcmVzb2x1dGlvbiIpdFtuXT1uZXcgb3YobixzLHRoaXMpO2Vsc2UgaWYodGhpcy5kYXRhW25dLnNlbGVjdG9yKXQuc2VsZWN0b3JzLnB1c2goUHIubG9hZChuLHMsdGhpcykpO2Vsc2V7bGV0IGE9dGhpcy5kYXRhW25dLnByb3BzO2lmKGEpe2xldCBvPXV0LmxvYWQobixzLHRoaXMpO2ZvcihsZXQgbCBvZiBhKXRbbF18fCh0W2xdPXt2YWx1ZXM6W119KSx0W2xdLnZhbHVlcy5wdXNoKG8pfWVsc2V7bGV0IG89dFtuXSYmdFtuXS52YWx1ZXN8fFtdO3Rbbl09ei5sb2FkKG4scyx0aGlzKSx0W25dLnZhbHVlcz1vfX19bGV0IGk9e3NlbGVjdG9yczpbXX07Zm9yKGxldCBuIGluIGUucmVtb3ZlKXtsZXQgcz1lLnJlbW92ZVtuXTtpZih0aGlzLmRhdGFbbl0uc2VsZWN0b3Ipe2xldCBhPVByLmxvYWQobixzKTtmb3IobGV0IG8gb2YgcylpLnNlbGVjdG9ycy5wdXNoKGEub2xkKG8pKX1lbHNlIGlmKG49PT0iQGtleWZyYW1lcyJ8fG49PT0iQHZpZXdwb3J0Iilmb3IobGV0IGEgb2Ygcyl7bGV0IG89YEAke2F9JHtuLnNsaWNlKDEpfWA7aVtvXT17cmVtb3ZlOiEwfX1lbHNlIGlmKG49PT0iQHJlc29sdXRpb24iKWlbbl09bmV3IG92KG4scyx0aGlzKTtlbHNle2xldCBhPXRoaXMuZGF0YVtuXS5wcm9wcztpZihhKXtsZXQgbz11dC5sb2FkKG4sW10sdGhpcyk7Zm9yKGxldCBsIG9mIHMpe2xldCBjPW8ub2xkKGwpO2lmKGMpZm9yKGxldCBmIG9mIGEpaVtmXXx8KGlbZl09e30pLGlbZl0udmFsdWVzfHwoaVtmXS52YWx1ZXM9W10pLGlbZl0udmFsdWVzLnB1c2goYyl9fWVsc2UgZm9yKGxldCBvIG9mIHMpe2xldCBsPXRoaXMuZGVjbChuKS5vbGQobixvKTtpZihuPT09ImFsaWduLXNlbGYiKXtsZXQgYz10W25dJiZ0W25dLnByZWZpeGVzO2lmKGMpe2lmKG89PT0iLXdlYmtpdC0gMjAwOSImJmMuaW5jbHVkZXMoIi13ZWJraXQtIikpY29udGludWU7aWYobz09PSItd2Via2l0LSImJmMuaW5jbHVkZXMoIi13ZWJraXQtIDIwMDkiKSljb250aW51ZX19Zm9yKGxldCBjIG9mIGwpaVtjXXx8KGlbY109e30pLGlbY10ucmVtb3ZlPSEwfX19cmV0dXJuW3QsaV19ZGVjbChlKXtyZXR1cm4gYWYuaGFzKGUpfHxhZi5zZXQoZSx6LmxvYWQoZSkpLGFmLmdldChlKX11bnByZWZpeGVkKGUpe2xldCB0PXRoaXMubm9ybWFsaXplKGF2LnVucHJlZml4ZWQoZSkpO3JldHVybiB0PT09ImZsZXgtZGlyZWN0aW9uIiYmKHQ9ImZsZXgtZmxvdyIpLHR9bm9ybWFsaXplKGUpe3JldHVybiB0aGlzLmRlY2woZSkubm9ybWFsaXplKGUpfXByZWZpeGVkKGUsdCl7cmV0dXJuIGU9YXYudW5wcmVmaXhlZChlKSx0aGlzLmRlY2woZSkucHJlZml4ZWQoZSx0KX12YWx1ZXMoZSx0KXtsZXQgaT10aGlzW2VdLG49aVsiKiJdJiZpWyIqIl0udmFsdWVzLHM9aVt0XSYmaVt0XS52YWx1ZXM7cmV0dXJuIG4mJnM/SXIudW5pcShuLmNvbmNhdChzKSk6bnx8c3x8W119Z3JvdXAoZSl7bGV0IHQ9ZS5wYXJlbnQsaT10LmluZGV4KGUpLHtsZW5ndGg6bn09dC5ub2RlcyxzPXRoaXMudW5wcmVmaXhlZChlLnByb3ApLGE9KG8sbCk9Pntmb3IoaSs9bztpPj0wJiZpPG47KXtsZXQgYz10Lm5vZGVzW2ldO2lmKGMudHlwZT09PSJkZWNsIil7aWYobz09PS0xJiZjLnByb3A9PT1zJiYhc2Yud2l0aFByZWZpeChjLnZhbHVlKXx8dGhpcy51bnByZWZpeGVkKGMucHJvcCkhPT1zKWJyZWFrO2lmKGwoYyk9PT0hMClyZXR1cm4hMDtpZihvPT09MSYmYy5wcm9wPT09cyYmIXNmLndpdGhQcmVmaXgoYy52YWx1ZSkpYnJlYWt9aSs9b31yZXR1cm4hMX07cmV0dXJue3VwKG8pe3JldHVybiBhKC0xLG8pfSxkb3duKG8pe3JldHVybiBhKDEsbyl9fX19O2x2LmV4cG9ydHM9Rml9KTt2YXIgY3Y9eCgoQ0wsZnYpPT57dSgpO2Z2LmV4cG9ydHM9eyJiYWNrZHJvcC1maWx0ZXIiOntmZWF0dXJlOiJjc3MtYmFja2Ryb3AtZmlsdGVyIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSIsInNhZmFyaSAxNi41Il19LGVsZW1lbnQ6e3Byb3BzOlsiYmFja2dyb3VuZCIsImJhY2tncm91bmQtaW1hZ2UiLCJib3JkZXItaW1hZ2UiLCJtYXNrIiwibGlzdC1zdHlsZSIsImxpc3Qtc3R5bGUtaW1hZ2UiLCJjb250ZW50IiwibWFzay1pbWFnZSJdLGZlYXR1cmU6ImNzcy1lbGVtZW50LWZ1bmN0aW9uIixicm93c2VyczpbImZpcmVmb3ggMTE0Il19LCJ1c2VyLXNlbGVjdCI6e21pc3Rha2VzOlsiLWtodG1sLSJdLGZlYXR1cmU6InVzZXItc2VsZWN0LW5vbmUiLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Iiwic2FmYXJpIDE2LjUiXX0sImJhY2tncm91bmQtY2xpcCI6e2ZlYXR1cmU6ImJhY2tncm91bmQtY2xpcC10ZXh0Iixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSxoeXBoZW5zOntmZWF0dXJlOiJjc3MtaHlwaGVucyIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiLCJzYWZhcmkgMTYuNSJdfSxmaWxsOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwiZmlsbC1hdmFpbGFibGUiOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSxzdHJldGNoOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImZpcmVmb3ggMTE0Il19LCJmaXQtY29udGVudCI6e3Byb3BzOlsid2lkdGgiLCJtaW4td2lkdGgiLCJtYXgtd2lkdGgiLCJoZWlnaHQiLCJtaW4taGVpZ2h0IiwibWF4LWhlaWdodCIsImlubGluZS1zaXplIiwibWluLWlubGluZS1zaXplIiwibWF4LWlubGluZS1zaXplIiwiYmxvY2stc2l6ZSIsIm1pbi1ibG9jay1zaXplIiwibWF4LWJsb2NrLXNpemUiLCJncmlkIiwiZ3JpZC10ZW1wbGF0ZSIsImdyaWQtdGVtcGxhdGUtcm93cyIsImdyaWQtdGVtcGxhdGUtY29sdW1ucyIsImdyaWQtYXV0by1jb2x1bW5zIiwiZ3JpZC1hdXRvLXJvd3MiXSxmZWF0dXJlOiJpbnRyaW5zaWMtd2lkdGgiLGJyb3dzZXJzOlsiZmlyZWZveCAxMTQiXX0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6e2ZlYXR1cmU6InRleHQtZGVjb3JhdGlvbiIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6e2ZlYXR1cmU6InRleHQtZGVjb3JhdGlvbiIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sInRleHQtZGVjb3JhdGlvbi1saW5lIjp7ZmVhdHVyZToidGV4dC1kZWNvcmF0aW9uIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSJdfSwidGV4dC1kZWNvcmF0aW9uIjp7ZmVhdHVyZToidGV4dC1kZWNvcmF0aW9uIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSJdfSwidGV4dC1kZWNvcmF0aW9uLXNraXAiOntmZWF0dXJlOiJ0ZXh0LWRlY29yYXRpb24iLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Il19LCJ0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsiOntmZWF0dXJlOiJ0ZXh0LWRlY29yYXRpb24iLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Il19LCJ0ZXh0LXNpemUtYWRqdXN0Ijp7ZmVhdHVyZToidGV4dC1zaXplLWFkanVzdCIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sIm1hc2stY2xpcCI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stY29tcG9zaXRlIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1pbWFnZSI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stb3JpZ2luIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1yZXBlYXQiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlci1yZXBlYXQiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlci1zb3VyY2UiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LG1hc2s6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stcG9zaXRpb24iOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLXNpemUiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlciI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stYm9yZGVyLW91dHNldCI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stYm9yZGVyLXdpZHRoIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1ib3JkZXItc2xpY2UiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJjbGlwLXBhdGgiOntmZWF0dXJlOiJjc3MtY2xpcC1wYXRoIixicm93c2VyczpbInNhbXN1bmcgMjEiXX0sImJveC1kZWNvcmF0aW9uLWJyZWFrIjp7ZmVhdHVyZToiY3NzLWJveGRlY29yYXRpb25icmVhayIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiLCJvcGVyYSA5OSIsInNhZmFyaSAxNi41Iiwic2Ftc3VuZyAyMSJdfSxhcHBlYXJhbmNlOntmZWF0dXJlOiJjc3MtYXBwZWFyYW5jZSIsYnJvd3NlcnM6WyJzYW1zdW5nIDIxIl19LCJpbWFnZS1zZXQiOntwcm9wczpbImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kLWltYWdlIiwiYm9yZGVyLWltYWdlIiwiY3Vyc29yIiwibWFzayIsIm1hc2staW1hZ2UiLCJsaXN0LXN0eWxlIiwibGlzdC1zdHlsZS1pbWFnZSIsImNvbnRlbnQiXSxmZWF0dXJlOiJjc3MtaW1hZ2Utc2V0Iixicm93c2VyczpbImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsInNhbXN1bmcgMjEiXX0sImNyb3NzLWZhZGUiOntwcm9wczpbImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kLWltYWdlIiwiYm9yZGVyLWltYWdlIiwibWFzayIsImxpc3Qtc3R5bGUiLCJsaXN0LXN0eWxlLWltYWdlIiwiY29udGVudCIsIm1hc2staW1hZ2UiXSxmZWF0dXJlOiJjc3MtY3Jvc3MtZmFkZSIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0saXNvbGF0ZTp7cHJvcHM6WyJ1bmljb2RlLWJpZGkiXSxmZWF0dXJlOiJjc3MtdW5pY29kZS1iaWRpIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSIsInNhZmFyaSAxNi41Il19LCJjb2xvci1hZGp1c3QiOntmZWF0dXJlOiJjc3MtY29sb3ItYWRqdXN0Iixicm93c2VyczpbImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiXX19fSk7dmFyIGR2PXgoKF9MLHB2KT0+e3UoKTtwdi5leHBvcnRzPXt9fSk7dmFyIHl2PXgoKEVMLGd2KT0+e3UoKTt2YXIgTjU9WWwoKSx7YWdlbnRzOkI1fT0oUHMoKSxScyksb2Y9T3koKSxGNT1NdCgpLGo1PXV2KCksejU9Y3YoKSxVNT1kdigpLGh2PXticm93c2VyczpCNSxwcmVmaXhlczp6NX0sbXY9YAogIFJlcGxhY2UgQXV0b3ByZWZpeGVyIFxgYnJvd3NlcnNcYCBvcHRpb24gdG8gQnJvd3NlcnNsaXN0IGNvbmZpZy4KICBVc2UgXGBicm93c2Vyc2xpc3RcYCBrZXkgaW4gXGBwYWNrYWdlLmpzb25cYCBvciBcYC5icm93c2Vyc2xpc3RyY1xgIGZpbGUuCgogIFVzaW5nIFxgYnJvd3NlcnNcYCBvcHRpb24gY2FuIGNhdXNlIGVycm9ycy4gQnJvd3NlcnNsaXN0IGNvbmZpZyBjYW4KICBiZSB1c2VkIGZvciBCYWJlbCwgQXV0b3ByZWZpeGVyLCBwb3N0Y3NzLW5vcm1hbGl6ZSBhbmQgb3RoZXIgdG9vbHMuCgogIElmIHlvdSByZWFsbHkgbmVlZCB0byB1c2Ugb3B0aW9uLCByZW5hbWUgaXQgdG8gXGBvdmVycmlkZUJyb3dzZXJzbGlzdFxgLgoKICBMZWFybiBtb3JlIGF0OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9icm93c2Vyc2xpc3QvYnJvd3NlcnNsaXN0I3JlYWRtZQogIGh0dHBzOi8vdHdpdHRlci5jb20vYnJvd3NlcnNsaXN0CgpgO2Z1bmN0aW9uIFY1KHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KHIpPT09IltvYmplY3QgT2JqZWN0XSJ9dmFyIGxmPW5ldyBNYXA7ZnVuY3Rpb24gSDUocixlKXtlLmJyb3dzZXJzLnNlbGVjdGVkLmxlbmd0aCE9PTAmJihlLmFkZC5zZWxlY3RvcnMubGVuZ3RoPjB8fE9iamVjdC5rZXlzKGUuYWRkKS5sZW5ndGg+Mnx8ci53YXJuKGBBdXRvcHJlZml4ZXIgdGFyZ2V0IGJyb3dzZXJzIGRvIG5vdCBuZWVkIGFueSBwcmVmaXhlcy5Zb3UgZG8gbm90IG5lZWQgQXV0b3ByZWZpeGVyIGFueW1vcmUuCkNoZWNrIHlvdXIgQnJvd3NlcnNsaXN0IGNvbmZpZyB0byBiZSBzdXJlIHRoYXQgeW91ciB0YXJnZXRzIGFyZSBzZXQgdXAgY29ycmVjdGx5LgoKICBMZWFybiBtb3JlIGF0OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3N0Y3NzL2F1dG9wcmVmaXhlciNyZWFkbWUKICBodHRwczovL2dpdGh1Yi5jb20vYnJvd3NlcnNsaXN0L2Jyb3dzZXJzbGlzdCNyZWFkbWUKCmApKX1ndi5leHBvcnRzPURyO2Z1bmN0aW9uIERyKC4uLnIpe2xldCBlO2lmKHIubGVuZ3RoPT09MSYmVjUoclswXSk/KGU9clswXSxyPXZvaWQgMCk6ci5sZW5ndGg9PT0wfHxyLmxlbmd0aD09PTEmJiFyWzBdP3I9dm9pZCAwOnIubGVuZ3RoPD0yJiYoQXJyYXkuaXNBcnJheShyWzBdKXx8IXJbMF0pPyhlPXJbMV0scj1yWzBdKTp0eXBlb2YgcltyLmxlbmd0aC0xXT09Im9iamVjdCImJihlPXIucG9wKCkpLGV8fChlPXt9KSxlLmJyb3dzZXIpdGhyb3cgbmV3IEVycm9yKCJDaGFuZ2UgYGJyb3dzZXJgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlciIpO2lmKGUuYnJvd3NlcnNsaXN0KXRocm93IG5ldyBFcnJvcigiQ2hhbmdlIGBicm93c2Vyc2xpc3RgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlciIpO2Uub3ZlcnJpZGVCcm93c2Vyc2xpc3Q/cj1lLm92ZXJyaWRlQnJvd3NlcnNsaXN0OmUuYnJvd3NlcnMmJih0eXBlb2YgY29uc29sZSE9InVuZGVmaW5lZCImJmNvbnNvbGUud2FybiYmKG9mLnJlZD9jb25zb2xlLndhcm4ob2YucmVkKG12LnJlcGxhY2UoL2BbXmBdK2AvZyxuPT5vZi55ZWxsb3cobi5zbGljZSgxLC0xKSkpKSk6Y29uc29sZS53YXJuKG12KSkscj1lLmJyb3dzZXJzKTtsZXQgdD17aWdub3JlVW5rbm93blZlcnNpb25zOmUuaWdub3JlVW5rbm93blZlcnNpb25zLHN0YXRzOmUuc3RhdHMsZW52OmUuZW52fTtmdW5jdGlvbiBpKG4pe2xldCBzPWh2LGE9bmV3IEY1KHMuYnJvd3NlcnMscixuLHQpLG89YS5zZWxlY3RlZC5qb2luKCIsICIpK0pTT04uc3RyaW5naWZ5KGUpO3JldHVybiBsZi5oYXMobyl8fGxmLnNldChvLG5ldyBqNShzLnByZWZpeGVzLGEsZSkpLGxmLmdldChvKX1yZXR1cm57cG9zdGNzc1BsdWdpbjoiYXV0b3ByZWZpeGVyIixwcmVwYXJlKG4pe2xldCBzPWkoe2Zyb206bi5vcHRzLmZyb20sZW52OmUuZW52fSk7cmV0dXJue09uY2VFeGl0KGEpe0g1KG4scyksZS5yZW1vdmUhPT0hMSYmcy5wcm9jZXNzb3IucmVtb3ZlKGEsbiksZS5hZGQhPT0hMSYmcy5wcm9jZXNzb3IuYWRkKGEsbil9fX0saW5mbyhuKXtyZXR1cm4gbj1ufHx7fSxuLmZyb209bi5mcm9tfHxtLmN3ZCgpLFU1KGkobikpfSxvcHRpb25zOmUsYnJvd3NlcnM6cn19RHIucG9zdGNzcz0hMDtEci5kYXRhPWh2O0RyLmRlZmF1bHRzPU41LmRlZmF1bHRzO0RyLmluZm89KCk9PkRyKCkuaW5mbygpfSk7dmFyIGJ2PXt9O0dlKGJ2LHtkZWZhdWx0OigpPT5XNX0pO3ZhciBXNSx3dj1QKCgpPT57dSgpO1c1PVtdfSk7dmFyIHh2PXt9O0dlKHh2LHtkZWZhdWx0OigpPT5HNX0pO3ZhciB2dixHNSxrdj1QKCgpPT57dSgpO1hpKCk7dnY9cGUocm4oKSksRzU9U3QodnYuZGVmYXVsdC50aGVtZSl9KTt2YXIgQXY9e307R2UoQXYse2RlZmF1bHQ6KCk9PlE1fSk7dmFyIFN2LFE1LEN2PVAoKCk9Pnt1KCk7WGkoKTtTdj1wZShybigpKSxRNT1TdChTdi5kZWZhdWx0KX0pO3UoKTsidXNlIHN0cmljdCI7dmFyIFk1PXZ0KF95KCkpLEs1PXZ0KCRlKCkpLFg1PXZ0KHl2KCkpLFo1PXZ0KCh3digpLGJ2KSksSjU9dnQoKGt2KCkseHYpKSxlUD12dCgoQ3YoKSxBdikpLHRQPXZ0KChWcygpLF9mKSksclA9dnQoKGFsKCksc2wpKSxpUD12dCgoc2EoKSxzYykpO2Z1bmN0aW9uIHZ0KHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1jb25zb2xlLndhcm4oImNkbi50YWlsd2luZGNzcy5jb20gc2hvdWxkIG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uIFRvIHVzZSBUYWlsd2luZCBDU1MgaW4gcHJvZHVjdGlvbiwgaW5zdGFsbCBpdCBhcyBhIFBvc3RDU1MgcGx1Z2luIG9yIHVzZSB0aGUgVGFpbHdpbmQgQ0xJOiBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2luc3RhbGxhdGlvbiIpO3ZhciBOcz0idGFpbHdpbmQiLHVmPSJ0ZXh0L3RhaWx3aW5kY3NzIixfdj0iL3RlbXBsYXRlLmh0bWwiLFl0LEV2PSEwLE92PTAsZmY9bmV3IFNldCxjZixUdj0iIixSdj0ocj0hMSk9Pih7Z2V0KGUsdCl7cmV0dXJuKCFyfHx0PT09ImNvbmZpZyIpJiZ0eXBlb2YgZVt0XT09Im9iamVjdCImJmVbdF0hPT1udWxsP25ldyBQcm94eShlW3RdLFJ2KCkpOmVbdF19LHNldChlLHQsaSl7cmV0dXJuIGVbdF09aSwoIXJ8fHQ9PT0iY29uZmlnIikmJnBmKCEwKSwhMH19KTt3aW5kb3dbTnNdPW5ldyBQcm94eSh7Y29uZmlnOnt9LGRlZmF1bHRUaGVtZTpKNS5kZWZhdWx0LGRlZmF1bHRDb25maWc6ZVAuZGVmYXVsdCxjb2xvcnM6dFAuZGVmYXVsdCxwbHVnaW46clAuZGVmYXVsdCxyZXNvbHZlQ29uZmlnOmlQLmRlZmF1bHR9LFJ2KCEwKSk7ZnVuY3Rpb24gUHYocil7Y2Yub2JzZXJ2ZShyLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInR5cGUiXSxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSl9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMgcj0+e2xldCBlPSExO2lmKCFjZil7Y2Y9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMoKT0+YXdhaXQgcGYoITApKTtmb3IobGV0IHQgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc3R5bGVbdHlwZT0iJHt1Zn0iXWApKVB2KHQpfWZvcihsZXQgdCBvZiByKWZvcihsZXQgaSBvZiB0LmFkZGVkTm9kZXMpaS5ub2RlVHlwZT09PTEmJmkudGFnTmFtZT09PSJTVFlMRSImJmkuZ2V0QXR0cmlidXRlKCJ0eXBlIik9PT11ZiYmKFB2KGkpLGU9ITApO2F3YWl0IHBmKGUpfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsiY2xhc3MiXSxjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pO2FzeW5jIGZ1bmN0aW9uIHBmKHI9ITEpe3ImJihPdisrLGZmLmNsZWFyKCkpO2xldCBlPSIiO2ZvcihsZXQgaSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGBzdHlsZVt0eXBlPSIke3VmfSJdYCkpZSs9aS50ZXh0Q29udGVudDtsZXQgdD1uZXcgU2V0O2ZvcihsZXQgaSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbY2xhc3NdIikpZm9yKGxldCBuIG9mIGkuY2xhc3NMaXN0KWZmLmhhcyhuKXx8dC5hZGQobik7aWYoZG9jdW1lbnQuYm9keSYmKEV2fHx0LnNpemU+MHx8ZSE9PVR2fHwhWXR8fCFZdC5pc0Nvbm5lY3RlZCkpe2ZvcihsZXQgbiBvZiB0KWZmLmFkZChuKTtFdj0hMSxUdj1lLHNlbGZbX3ZdPUFycmF5LmZyb20odCkuam9pbigiICIpO2xldHtjc3M6aX09YXdhaXQoMCxLNS5kZWZhdWx0KShbKDAsWTUuZGVmYXVsdCkoey4uLndpbmRvd1tOc10uY29uZmlnLF9oYXNoOk92LGNvbnRlbnQ6e2ZpbGVzOltfdl0sZXh0cmFjdDp7aHRtbDpuPT5uLnNwbGl0KCIgIil9fSxwbHVnaW5zOlsuLi5aNS5kZWZhdWx0LC4uLkFycmF5LmlzQXJyYXkod2luZG93W05zXS5jb25maWcucGx1Z2lucyk/d2luZG93W05zXS5jb25maWcucGx1Z2luczpbXV19KSwoMCxYNS5kZWZhdWx0KSh7cmVtb3ZlOiExfSldKS5wcm9jZXNzKGBAdGFpbHdpbmQgYmFzZTtAdGFpbHdpbmQgY29tcG9uZW50cztAdGFpbHdpbmQgdXRpbGl0aWVzOyR7ZX1gKTsoIVl0fHwhWXQuaXNDb25uZWN0ZWQpJiYoWXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxkb2N1bWVudC5oZWFkLmFwcGVuZChZdCkpLFl0LnRleHRDb250ZW50PWl9fX0pKCk7Ci8qIQogKiBmaWxsLXJhbmdlIDxodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9maWxsLXJhbmdlPgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCi8qIQogKiBpcy1udW1iZXIgPGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L2lzLW51bWJlcj4KICoKICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEpvbiBTY2hsaW5rZXJ0LgogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiAqLwovKiEKICogdG8tcmVnZXgtcmFuZ2UgPGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb21hdGNoL3RvLXJlZ2V4LXJhbmdlPgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCi8qISBodHRwczovL210aHMuYmUvY3NzZXNjIHYzLjAuMCBieSBAbWF0aGlhcyAqLwo="}},"time_used":20,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z8GXhnU0.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.072Z","timestamp":1785160687072,"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/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z8GXhnU0.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.logistics.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 36932\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 04:46:20 GMT\r\nexpires: Fri, 23 Jul 2027 04:46:20 GMT\r\ncache-control: public, max-age=31536000\r\nage: 378707\r\nlast-modified: Wed, 10 Sep 2025 16:31:03 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":36932,"size_decoded":37745,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 36932, version 1.0","md5":"7c87a648293fbb5b2924aafaa59e8aea","sha1":"c57593e0adc4cf99dd9e67cb782242220a061a9d","sha256":"9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543","sha512":"764ced325a768dca84e1fb0cc458818239ce379dbcbdb324ee8849bbe15f54e3f0254ae6e52ee5a92741840637b4f9885d246a0978af23176b3acfe5b9cec23f","ssdeep":"768:mMQPOAQQKW6GccoXQ+OGpHNzXgtDM0SVu7P3nqtPl9Bf2csDpHUjbYE8j2:mMQz4W5og+tpH6tDJku73EPlPOcs5U/l","tlshash":"c0f2f23e7ea5691487c2b0be506b00935344c9bd37c18121bbb953f44ea67addc5d63c","first_seen":"2025-09-11T17:08:25.889763Z","last_seen":"2026-08-18T09:28:22.366233Z","times_seen":33962,"resource_available":false,"data":"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"}},"time_used":106,"timings":{"blocked":-1,"dns":3,"connect":32,"send":0,"wait":22,"receive":49,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/syne/v24/8vIH7w4qzmVxm2BL9A.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.079Z","timestamp":1785160687079,"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/syne/v24/8vIH7w4qzmVxm2BL9A.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.logistics.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 34608\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:55:49 GMT\r\nexpires: Sat, 24 Jul 2027 18:55:49 GMT\r\ncache-control: public, max-age=31536000\r\nage: 241338\r\nlast-modified: Tue, 16 Sep 2025 13:27:50 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":34608,"size_decoded":35421,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 34608, version 1.0","md5":"559e8363d74f653c3f4f0a70caed2053","sha1":"0f50393efc7790d897e00024335d2c3398c13916","sha256":"68b623f0e45b905041b2edb9b2e4f563a505f13db1cd06b5f1946eb2e1f47048","sha512":"52fa63b0757b446e366b062b11b38fd9e81c5f752541b265d358d0e8a789eeb36bc322deb3e2719717401d91f9c3fa1f5cfb80a26ad9ae7451b068a88f3d5d3a","ssdeep":"768:VCLAKNFxbb9iPf3U0gTLKtAE54FB+6sfkxEpIX5yNz0zRjcUfgg:VCcgeHmTmL54F16a2aVpfB","tlshash":"d3f2f19ad9096d0dd938077603a230e6ec95197b3150f19e313a34231e7fae0a7dd6bc","first_seen":"2025-06-03T14:30:46.285622Z","last_seen":"2026-08-17T19:03:52.339673Z","times_seen":4751,"resource_available":false,"data":"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"}},"time_used":94,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":48,"receive":21,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z8GXhnU0.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.081Z","timestamp":1785160687081,"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/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K6z8GXhnU0.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.logistics.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 36932\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 04:46:20 GMT\r\nexpires: Fri, 23 Jul 2027 04:46:20 GMT\r\ncache-control: public, max-age=31536000\r\nage: 378707\r\nlast-modified: Wed, 10 Sep 2025 16:31:03 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":36932,"size_decoded":37745,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 36932, version 1.0","md5":"7c87a648293fbb5b2924aafaa59e8aea","sha1":"c57593e0adc4cf99dd9e67cb782242220a061a9d","sha256":"9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543","sha512":"764ced325a768dca84e1fb0cc458818239ce379dbcbdb324ee8849bbe15f54e3f0254ae6e52ee5a92741840637b4f9885d246a0978af23176b3acfe5b9cec23f","ssdeep":"768:mMQPOAQQKW6GccoXQ+OGpHNzXgtDM0SVu7P3nqtPl9Bf2csDpHUjbYE8j2:mMQz4W5og+tpH6tDJku73EPlPOcs5U/l","tlshash":"c0f2f23e7ea5691487c2b0be506b00935344c9bd37c18121bbb953f44ea67addc5d63c","first_seen":"2025-09-11T17:08:25.889763Z","last_seen":"2026-08-18T09:28:22.366233Z","times_seen":33962,"resource_available":false,"data":"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"}},"time_used":96,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":26,"receive":45,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"c.tile.openstreetmap.org/12/2085/1973.png","fqdn":"c.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.111Z","timestamp":1785160687111,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2085/1973.png HTTP/1.1\r\nHost: c.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"4042fa792d629bd98fefaaf8d4e572c1\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 06:54:06 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=92086, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nage: 31127\r\nx-served-by: cache-bma-essb1270079-BMA, cache-bma-essb1270023-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 1\r\nx-timer: S1785160687.368041,VS0,VE1\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 39412\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":39412,"size_decoded":40206,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"4042fa792d629bd98fefaaf8d4e572c1","sha1":"46cbe56b41a19cb7ed1e5a4359000a3519104a65","sha256":"19a205b9282bca654aa88a8ee917ef75f61003bee40f593e861222ba7ccbf2f4","sha512":"45b79f18c31c1dba1a71f89b37d5a0828b8e270edd526a559542e4a0cbdc8e9cb83fc4ee71d48b9525a0e7bd41f0c0b04410d92b58864277479225f56fe0bce5","ssdeep":"768:sR8fY8sSAdV8xUrXsdecRg1FfqDKP/m+7GRyYBMT0wi1+GllH662JOGE:si4SAvcUAdDRYFqeXN6RfMd2HDIOd","tlshash":"4703f1aea5d89081f68473dbdb26fda8cb74a29ac2fdcc0320442f4626df14d5286f11","first_seen":"2026-07-27T07:46:39.914531Z","last_seen":"2026-07-27T13:58:36.770965Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":263,"timings":{"blocked":-1,"dns":1,"connect":10,"send":0,"wait":10,"receive":1,"ssl":240},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"a.tile.openstreetmap.org/12/2085/1974.png","fqdn":"a.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.1.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.119Z","timestamp":1785160687119,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2085/1974.png HTTP/1.1\r\nHost: a.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"f36741374756ea109d2a0a9f4ad76a99\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 14:43:05 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=89098, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nage: 0\r\nx-served-by: cache-bma-essb1270021-BMA, cache-bma-essb1270043-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 1\r\nx-timer: S1785160687.163650,VS0,VE1\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 31045\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"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":31045,"size_decoded":31835,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"f36741374756ea109d2a0a9f4ad76a99","sha1":"9e54795881edddbd7536d864222201edd7b852d5","sha256":"0fd24660e3752b2032e54c44e41a1a6e7890d9deaed9a4c6ccdf126c10a75a4a","sha512":"c33bee08b214677c6520f94aa50ecb9ecc32fe8005834a81b680c21097992ec5cda9d89857a3812fa23f331b59f39504034023f4e8d4b61777857a5c701df4e6","ssdeep":"768:0Ywhp8LxSSwBXdc7DP0nYl8cjPA8eLA4zkLiscUKqIY:0RphXbqaYukot6ujUK5Y","tlshash":"62d2f163cfdec290c7f4951c03bd655e07fd8f4e6aaa266e5a61142396d2df013702d2","first_seen":"2026-07-27T13:58:31.902122Z","last_seen":"2026-07-27T13:58:36.772559Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":59,"timings":{"blocked":-1,"dns":0,"connect":17,"send":0,"wait":14,"receive":6,"ssl":18},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800\u0026family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.594Z","timestamp":1785160686594,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css2?family=Syne:wght@400;600;700;800\u0026family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 13:58:06 GMT\r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":8032,"size_decoded":1332,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"4e640b9678b9db049b640f5f6c528974","sha1":"6f4d8dee7927f7cbb2f1de11cd2f4757a548a867","sha256":"7185ddeca34d2fa92299d0ffe3293695a8ecee74a06f2cfd61a549c6f2c2e39d","sha512":"728703a35daf75706ab760413a4f04e84f836c42f86f9445f60ae10bf0595320a7f98f8732ccab00e8752880ac269a2ca958b8b05a3e7280b0e5246d918383a6","ssdeep":"192:MnqVn2wi+EwD+rw8+NdeYMt0xdeCMt+CdexMt9rdeEMtIV:M+dkiTmQQPVlSO","tlshash":"48f1cd81046ba004eb971dc523ce7d32ee4f71506454d979affe1c8cbcaac2a5322b4d","first_seen":"2026-03-02T15:03:50.057608Z","last_seen":"2026-08-12T00:01:08.793015Z","times_seen":61,"resource_available":false,"data":"LyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMnJwMnl3eGcwODlVcmlDWmFTRXhkODZKM3Q5ano4Nk12eTRxQ1JBTDE5RGtzVmF0X1hEVjM2VEdjNXBnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAycnAyeXd4ZzA4OVVyaUNaYVNFeGQ4NkozdDlqejg2TXZ5NHFDUkFMMTlEa3NWYXRfWERWMzBUR2Mud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAyWXAyeXd4ZzA4OVVyaUk1LWc0dmxIOVZvRDhDbWNxYnU2LUs2ejhHWGhuVTA0YXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0RNIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZG1zYW5zL3YxNy9yUDJZcDJ5d3hnMDg5VXJpSTUtZzR2bEg5Vm9EOENtY3FidTAtSzZ6OEdYaG5VMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0RNIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvZG1zYW5zL3YxNy9yUDJZcDJ5d3hnMDg5VXJpSTUtZzR2bEg5Vm9EOENtY3FidTYtSzZ6OEdYaG5VMDRhdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMllwMnl3eGcwODlVcmlJNS1nNHZsSDlWb0Q4Q21jcWJ1MC1LNno4R1hoblUwLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnRE0gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9kbXNhbnMvdjE3L3JQMllwMnl3eGcwODlVcmlJNS1nNHZsSDlWb0Q4Q21jcWJ1Ni1LNno4R1hoblUwNGF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdETSBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Rtc2Fucy92MTcvclAyWXAyeXd4ZzA4OVVyaUk1LWc0dmxIOVZvRDhDbWNxYnUwLUs2ejhHWGhuVTAud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1N5bmUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvc3luZS92MjQvOHZJSDd3NHF6bVZ4bTJOTDlIel8ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdTeW5lJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3N5bmUvdjI0Lzh2SUg3dzRxem1WeG0yNUw5SHpfLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdTeW5lJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3N5bmUvdjI0Lzh2SUg3dzRxem1WeG0yQkw5QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnU3luZSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9zeW5lL3YyNC84dklIN3c0cXptVnhtMk5MOUh6Xy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1N5bmUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvc3luZS92MjQvOHZJSDd3NHF6bVZ4bTI1TDlIel8ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1N5bmUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvc3luZS92MjQvOHZJSDd3NHF6bVZ4bTJCTDlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdTeW5lJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3N5bmUvdjI0Lzh2SUg3dzRxem1WeG0yTkw5SHpfLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnU3luZSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9zeW5lL3YyNC84dklIN3c0cXptVnhtMjVMOUh6Xy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnU3luZSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9zeW5lL3YyNC84dklIN3c0cXptVnhtMkJMOUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1N5bmUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvc3luZS92MjQvOHZJSDd3NHF6bVZ4bTJOTDlIel8ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdTeW5lJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3N5bmUvdjI0Lzh2SUg3dzRxem1WeG0yNUw5SHpfLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdTeW5lJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3N5bmUvdjI0Lzh2SUg3dzRxem1WeG0yQkw5QS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Cg=="}},"time_used":105,"timings":{"blocked":-1,"dns":0,"connect":15,"send":0,"wait":42,"receive":0,"ssl":44},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.tailwindcss.com/","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"172.67.68.11","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.597Z","timestamp":1785160686597,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tailwindcss.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Jul 2026 20:38:38 GMT","end":"Thu, 15 Oct 2026 21:38:35 GMT"},"fingerprint":{"sha1":"AF:4F:AD:59:FA:ED:77:04:0D:32:56:48:B0:E5:1B:38:67:6D:7D:02","sha256":"E7:FC:CF:2D:6A:CC:F5:3C:4C:1E:9D:CD:21:8A:72:A3:DB:7C:B1:50:0F:83:D1:DC:E4:AD:25:90:8F:98:37:0F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: cdn.tailwindcss.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 302 \r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncache-control: max-age=14400\r\nlocation: /3.4.17\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: MISS\r\nx-vercel-id: fra1::iad1::9r422-1785160558114-631f3a456570\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nage: 128\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=vFs4W4Jk6wJD4MXhc51KG39Me48XERgspBVJKE%2B53iJwey9QPlrf7RDBCSQx7vU29LAMOlEbrbpTV2xJZ8R7k%2BsTfxpH1WtVf8BoVRn%2FAqWdfbn6lIVvqO2paXgk8DnpyCrBGB0%3D\"}]}\r\ncf-ray: a21c28336f6156af-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/javascript","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-18T09:37:30.204848Z","times_seen":17952758,"resource_available":true,"data":null}},"time_used":41,"timings":{"blocked":-1,"dns":5,"connect":1,"send":0,"wait":16,"receive":0,"ssl":18},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/leaflet@1.9.4/dist/leaflet.css","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.599Z","timestamp":1785160686599,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /leaflet@1.9.4/dist/leaflet.css HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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.logistics.demotunde.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncontent-type: text/css\r\ncf-ray: a21c28336cf78deb-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 17266\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 13:58:06 GMT\r\nlast-modified: Tue, 23 Jun 2026 12:37:58 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=:\r\nfly-request-id: 01KTHC3D364W370YQPBH4ZZQZV-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":14806,"size_decoded":4378,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c02c12fe5e21d2493070649584ca38b7","sha1":"ec929f1100c6642ccc5c4272cf4cca12251a9a5d","sha256":"a7837102824184820dfa198d1ebcd109ff6d0ff9a2672a074b9a1b4d147d04c6","sha512":"65c9fa6e347ff1165b2c4a4b21e3b036dcd11010099d42844b171eb3ad0ca688feda8928a5201c4942143ac79d7439b47319c6433c4847bbc982c2d96dd2c4df","ssdeep":"192:6zzoiQjynh9SVxflSqrC04i11mXsaQtc5EAY0x4m8yT2OMhnVh1SMdg1pEcBLDLN:CUNah9SVQ8dtciAVnTShnVhcymLDLr+g","tlshash":"6862f013b33a3368e2257219f7b08a73bd26946191a7c7fdb9cce714839885c2c531e8","first_seen":"2023-07-15T11:50:21Z","last_seen":"2026-08-18T07:33:16.037776Z","times_seen":7864,"resource_available":false,"data":"LyogcmVxdWlyZWQgc3R5bGVzICovDQoNCi5sZWFmbGV0LXBhbmUsDQoubGVhZmxldC10aWxlLA0KLmxlYWZsZXQtbWFya2VyLWljb24sDQoubGVhZmxldC1tYXJrZXItc2hhZG93LA0KLmxlYWZsZXQtdGlsZS1jb250YWluZXIsDQoubGVhZmxldC1wYW5lID4gc3ZnLA0KLmxlYWZsZXQtcGFuZSA+IGNhbnZhcywNCi5sZWFmbGV0LXpvb20tYm94LA0KLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsDQoubGVhZmxldC1sYXllciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDA7DQoJdG9wOiAwOw0KCX0NCi5sZWFmbGV0LWNvbnRhaW5lciB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl9DQoubGVhZmxldC10aWxlLA0KLmxlYWZsZXQtbWFya2VyLWljb24sDQoubGVhZmxldC1tYXJrZXItc2hhZG93IHsNCgktd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KCSAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQoJICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsNCgkgIC13ZWJraXQtdXNlci1kcmFnOiBub25lOw0KCX0NCi8qIFByZXZlbnRzIElFMTEgZnJvbSBoaWdobGlnaHRpbmcgdGlsZXMgaW4gYmx1ZSAqLw0KLmxlYWZsZXQtdGlsZTo6c2VsZWN0aW9uIHsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCn0NCi8qIFNhZmFyaSByZW5kZXJzIG5vbi1yZXRpbmEgdGlsZSBvbiByZXRpbmEgYmV0dGVyIHdpdGggdGhpcywgYnV0IENocm9tZSBpcyB3b3JzZSAqLw0KLmxlYWZsZXQtc2FmYXJpIC5sZWFmbGV0LXRpbGUgew0KCWltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsNCgl9DQovKiBoYWNrIHRoYXQgcHJldmVudHMgaHcgbGF5ZXJzICJzdHJldGNoaW5nIiB3aGVuIGxvYWRpbmcgbmV3IHRpbGVzICovDQoubGVhZmxldC1zYWZhcmkgLmxlYWZsZXQtdGlsZS1jb250YWluZXIgew0KCXdpZHRoOiAxNjAwcHg7DQoJaGVpZ2h0OiAxNjAwcHg7DQoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7DQoJfQ0KLmxlYWZsZXQtbWFya2VyLWljb24sDQoubGVhZmxldC1tYXJrZXItc2hhZG93IHsNCglkaXNwbGF5OiBibG9jazsNCgl9DQovKiAubGVhZmxldC1jb250YWluZXIgc3ZnOiByZXNldCBzdmcgbWF4LXdpZHRoIGRlY2xlcmF0aW9uIHNoaXBwZWQgaW4gSm9vbWxhISAoam9vbWxhLm9yZykgMy54ICovDQovKiAubGVhZmxldC1jb250YWluZXIgaW1nOiBtYXAgaXMgYnJva2VuIGluIEZGIGlmIHlvdSBoYXZlIG1heC13aWR0aDogMTAwJSBvbiB0aWxlcyAqLw0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcgew0KCW1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50Ow0KCW1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsNCgl9DQoubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtbWFya2VyLXBhbmUgaW1nLA0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LXNoYWRvdy1wYW5lIGltZywNCi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlLXBhbmUgaW1nLA0KLmxlYWZsZXQtY29udGFpbmVyIGltZy5sZWFmbGV0LWltYWdlLWxheWVyLA0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LXRpbGUgew0KCW1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50Ow0KCW1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsNCgl3aWR0aDogYXV0bzsNCglwYWRkaW5nOiAwOw0KCX0NCg0KLmxlYWZsZXQtY29udGFpbmVyIGltZy5sZWFmbGV0LXRpbGUgew0KCS8qIFNlZTogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NjAwMTIwICovDQoJbWl4LWJsZW5kLW1vZGU6IHBsdXMtbGlnaHRlcjsNCn0NCg0KLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtem9vbSB7DQoJLW1zLXRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7DQoJdG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTsNCgl9DQoubGVhZmxldC1jb250YWluZXIubGVhZmxldC10b3VjaC1kcmFnIHsNCgktbXMtdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOw0KCS8qIEZhbGxiYWNrIGZvciBGRiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgcGluY2gtem9vbSAqLw0KCXRvdWNoLWFjdGlvbjogbm9uZTsNCgl0b3VjaC1hY3Rpb246IHBpbmNoLXpvb207DQp9DQoubGVhZmxldC1jb250YWluZXIubGVhZmxldC10b3VjaC1kcmFnLmxlYWZsZXQtdG91Y2gtem9vbSB7DQoJLW1zLXRvdWNoLWFjdGlvbjogbm9uZTsNCgl0b3VjaC1hY3Rpb246IG5vbmU7DQp9DQoubGVhZmxldC1jb250YWluZXIgew0KCS13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoubGVhZmxldC1jb250YWluZXIgYSB7DQoJLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDUxLCAxODEsIDIyOSwgMC40KTsNCn0NCi5sZWFmbGV0LXRpbGUgew0KCWZpbHRlcjogaW5oZXJpdDsNCgl2aXNpYmlsaXR5OiBoaWRkZW47DQoJfQ0KLmxlYWZsZXQtdGlsZS1sb2FkZWQgew0KCXZpc2liaWxpdHk6IGluaGVyaXQ7DQoJfQ0KLmxlYWZsZXQtem9vbS1ib3ggew0KCXdpZHRoOiAwOw0KCWhlaWdodDogMDsNCgktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCXotaW5kZXg6IDgwMDsNCgl9DQovKiB3b3JrYXJvdW5kIGZvciBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD04ODgzMTkgKi8NCi5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcgew0KCS1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQoJfQ0KDQoubGVhZmxldC1wYW5lICAgICAgICAgeyB6LWluZGV4OiA0MDA7IH0NCg0KLmxlYWZsZXQtdGlsZS1wYW5lICAgIHsgei1pbmRleDogMjAwOyB9DQoubGVhZmxldC1vdmVybGF5LXBhbmUgeyB6LWluZGV4OiA0MDA7IH0NCi5sZWFmbGV0LXNoYWRvdy1wYW5lICB7IHotaW5kZXg6IDUwMDsgfQ0KLmxlYWZsZXQtbWFya2VyLXBhbmUgIHsgei1pbmRleDogNjAwOyB9DQoubGVhZmxldC10b29sdGlwLXBhbmUgICB7IHotaW5kZXg6IDY1MDsgfQ0KLmxlYWZsZXQtcG9wdXAtcGFuZSAgIHsgei1pbmRleDogNzAwOyB9DQoNCi5sZWFmbGV0LW1hcC1wYW5lIGNhbnZhcyB7IHotaW5kZXg6IDEwMDsgfQ0KLmxlYWZsZXQtbWFwLXBhbmUgc3ZnICAgIHsgei1pbmRleDogMjAwOyB9DQoNCi5sZWFmbGV0LXZtbC1zaGFwZSB7DQoJd2lkdGg6IDFweDsNCgloZWlnaHQ6IDFweDsNCgl9DQoubHZtbCB7DQoJYmVoYXZpb3I6IHVybCgjZGVmYXVsdCNWTUwpOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJfQ0KDQoNCi8qIGNvbnRyb2wgcG9zaXRpb25pbmcgKi8NCg0KLmxlYWZsZXQtY29udHJvbCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXotaW5kZXg6IDgwMDsNCglwb2ludGVyLWV2ZW50czogdmlzaWJsZVBhaW50ZWQ7IC8qIElFIDktMTAgZG9lc24ndCBoYXZlIGF1dG8gKi8NCglwb2ludGVyLWV2ZW50czogYXV0bzsNCgl9DQoubGVhZmxldC10b3AsDQoubGVhZmxldC1ib3R0b20gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAxMDAwOw0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KCX0NCi5sZWFmbGV0LXRvcCB7DQoJdG9wOiAwOw0KCX0NCi5sZWFmbGV0LXJpZ2h0IHsNCglyaWdodDogMDsNCgl9DQoubGVhZmxldC1ib3R0b20gew0KCWJvdHRvbTogMDsNCgl9DQoubGVhZmxldC1sZWZ0IHsNCglsZWZ0OiAwOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wgew0KCWZsb2F0OiBsZWZ0Ow0KCWNsZWFyOiBib3RoOw0KCX0NCi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wgew0KCWZsb2F0OiByaWdodDsNCgl9DQoubGVhZmxldC10b3AgLmxlYWZsZXQtY29udHJvbCB7DQoJbWFyZ2luLXRvcDogMTBweDsNCgl9DQoubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbCB7DQoJbWFyZ2luLWJvdHRvbTogMTBweDsNCgl9DQoubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wgew0KCW1hcmdpbi1sZWZ0OiAxMHB4Ow0KCX0NCi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wgew0KCW1hcmdpbi1yaWdodDogMTBweDsNCgl9DQoNCg0KLyogem9vbSBhbmQgZmFkZSBhbmltYXRpb25zICovDQoNCi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1wb3B1cCB7DQoJb3BhY2l0eTogMDsNCgktd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7DQoJICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyOw0KCSAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjsNCgl9DQoubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAgew0KCW9wYWNpdHk6IDE7DQoJfQ0KLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7DQoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7DQoJICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7DQoJICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7DQoJfQ0Kc3ZnLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7DQoJd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsNCn0NCg0KLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQgew0KCS13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpOw0KCSAgIC1tb3otdHJhbnNpdGlvbjogICAgLW1vei10cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpOw0KCSAgICAgICAgdHJhbnNpdGlvbjogICAgICAgICB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwwLjI1LDEpOw0KCX0NCi5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC10aWxlLA0KLmxlYWZsZXQtcGFuLWFuaW0gLmxlYWZsZXQtdGlsZSB7DQoJLXdlYmtpdC10cmFuc2l0aW9uOiBub25lOw0KCSAgIC1tb3otdHJhbnNpdGlvbjogbm9uZTsNCgkgICAgICAgIHRyYW5zaXRpb246IG5vbmU7DQoJfQ0KDQoubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1oaWRlIHsNCgl2aXNpYmlsaXR5OiBoaWRkZW47DQoJfQ0KDQoNCi8qIGN1cnNvcnMgKi8NCg0KLmxlYWZsZXQtaW50ZXJhY3RpdmUgew0KCWN1cnNvcjogcG9pbnRlcjsNCgl9DQoubGVhZmxldC1ncmFiIHsNCgljdXJzb3I6IC13ZWJraXQtZ3JhYjsNCgljdXJzb3I6ICAgIC1tb3otZ3JhYjsNCgljdXJzb3I6ICAgICAgICAgZ3JhYjsNCgl9DQoubGVhZmxldC1jcm9zc2hhaXIsDQoubGVhZmxldC1jcm9zc2hhaXIgLmxlYWZsZXQtaW50ZXJhY3RpdmUgew0KCWN1cnNvcjogY3Jvc3NoYWlyOw0KCX0NCi5sZWFmbGV0LXBvcHVwLXBhbmUsDQoubGVhZmxldC1jb250cm9sIHsNCgljdXJzb3I6IGF1dG87DQoJfQ0KLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYiwNCi5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LWdyYWIgLmxlYWZsZXQtaW50ZXJhY3RpdmUsDQoubGVhZmxldC1kcmFnZ2luZyAubGVhZmxldC1tYXJrZXItZHJhZ2dhYmxlIHsNCgljdXJzb3I6IG1vdmU7DQoJY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nOw0KCWN1cnNvcjogICAgLW1vei1ncmFiYmluZzsNCgljdXJzb3I6ICAgICAgICAgZ3JhYmJpbmc7DQoJfQ0KDQovKiBtYXJrZXIgJiBvdmVybGF5cyBpbnRlcmFjdGl2aXR5ICovDQoubGVhZmxldC1tYXJrZXItaWNvbiwNCi5sZWFmbGV0LW1hcmtlci1zaGFkb3csDQoubGVhZmxldC1pbWFnZS1sYXllciwNCi5sZWFmbGV0LXBhbmUgPiBzdmcgcGF0aCwNCi5sZWFmbGV0LXRpbGUtY29udGFpbmVyIHsNCglwb2ludGVyLWV2ZW50czogbm9uZTsNCgl9DQoNCi5sZWFmbGV0LW1hcmtlci1pY29uLmxlYWZsZXQtaW50ZXJhY3RpdmUsDQoubGVhZmxldC1pbWFnZS1sYXllci5sZWFmbGV0LWludGVyYWN0aXZlLA0KLmxlYWZsZXQtcGFuZSA+IHN2ZyBwYXRoLmxlYWZsZXQtaW50ZXJhY3RpdmUsDQpzdmcubGVhZmxldC1pbWFnZS1sYXllci5sZWFmbGV0LWludGVyYWN0aXZlIHBhdGggew0KCXBvaW50ZXItZXZlbnRzOiB2aXNpYmxlUGFpbnRlZDsgLyogSUUgOS0xMCBkb2Vzbid0IGhhdmUgYXV0byAqLw0KCXBvaW50ZXItZXZlbnRzOiBhdXRvOw0KCX0NCg0KLyogdmlzdWFsIHR3ZWFrcyAqLw0KDQoubGVhZmxldC1jb250YWluZXIgew0KCWJhY2tncm91bmQ6ICNkZGQ7DQoJb3V0bGluZS1vZmZzZXQ6IDFweDsNCgl9DQoubGVhZmxldC1jb250YWluZXIgYSB7DQoJY29sb3I6ICMwMDc4QTg7DQoJfQ0KLmxlYWZsZXQtem9vbS1ib3ggew0KCWJvcmRlcjogMnB4IGRvdHRlZCAjMzhmOw0KCWJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTsNCgl9DQoNCg0KLyogZ2VuZXJhbCB0eXBvZ3JhcGh5ICovDQoubGVhZmxldC1jb250YWluZXIgew0KCWZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMTJweDsNCglmb250LXNpemU6IDAuNzVyZW07DQoJbGluZS1oZWlnaHQ6IDEuNTsNCgl9DQoNCg0KLyogZ2VuZXJhbCB0b29sYmFyIHN0eWxlcyAqLw0KDQoubGVhZmxldC1iYXIgew0KCWJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNjUpOw0KCWJvcmRlci1yYWRpdXM6IDRweDsNCgl9DQoubGVhZmxldC1iYXIgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsNCgl3aWR0aDogMjZweDsNCgloZWlnaHQ6IDI2cHg7DQoJbGluZS1oZWlnaHQ6IDI2cHg7DQoJZGlzcGxheTogYmxvY2s7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCgljb2xvcjogYmxhY2s7DQoJfQ0KLmxlYWZsZXQtYmFyIGEsDQoubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUgew0KCWJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCglkaXNwbGF5OiBibG9jazsNCgl9DQoubGVhZmxldC1iYXIgYTpob3ZlciwNCi5sZWFmbGV0LWJhciBhOmZvY3VzIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0Ow0KCX0NCi5sZWFmbGV0LWJhciBhOmZpcnN0LWNoaWxkIHsNCglib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7DQoJYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsNCgl9DQoubGVhZmxldC1iYXIgYTpsYXN0LWNoaWxkIHsNCglib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7DQoJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsNCglib3JkZXItYm90dG9tOiBub25lOw0KCX0NCi5sZWFmbGV0LWJhciBhLmxlYWZsZXQtZGlzYWJsZWQgew0KCWN1cnNvcjogZGVmYXVsdDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0Ow0KCWNvbG9yOiAjYmJiOw0KCX0NCg0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGEgew0KCXdpZHRoOiAzMHB4Ow0KCWhlaWdodDogMzBweDsNCglsaW5lLWhlaWdodDogMzBweDsNCgl9DQoubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYTpmaXJzdC1jaGlsZCB7DQoJYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4Ow0KCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7DQoJfQ0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6bGFzdC1jaGlsZCB7DQoJYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4Ow0KCWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7DQoJfQ0KDQovKiB6b29tIGNvbnRyb2wgKi8NCg0KLmxlYWZsZXQtY29udHJvbC16b29tLWluLA0KLmxlYWZsZXQtY29udHJvbC16b29tLW91dCB7DQoJZm9udDogYm9sZCAxOHB4ICdMdWNpZGEgQ29uc29sZScsIE1vbmFjbywgbW9ub3NwYWNlOw0KCXRleHQtaW5kZW50OiAxcHg7DQoJfQ0KDQoubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLXpvb20taW4sIC5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQgIHsNCglmb250LXNpemU6IDIycHg7DQoJfQ0KDQoNCi8qIGxheWVycyBjb250cm9sICovDQoNCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHsNCglib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLDAsMCwwLjQpOw0KCWJhY2tncm91bmQ6ICNmZmY7DQoJYm9yZGVyLXJhZGl1czogNXB4Ow0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9sYXllcnMucG5nKTsNCgl3aWR0aDogMzZweDsNCgloZWlnaHQ6IDM2cHg7DQoJfQ0KLmxlYWZsZXQtcmV0aW5hIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9sYXllcnMtMngucG5nKTsNCgliYWNrZ3JvdW5kLXNpemU6IDI2cHggMjZweDsNCgl9DQoubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUgew0KCXdpZHRoOiA0NHB4Ow0KCWhlaWdodDogNDRweDsNCgl9DQoubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0LA0KLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHsNCglkaXNwbGF5OiBub25lOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl9DQoubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCB7DQoJcGFkZGluZzogNnB4IDEwcHggNnB4IDZweDsNCgljb2xvcjogIzMzMzsNCgliYWNrZ3JvdW5kOiAjZmZmOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNjcm9sbGJhciB7DQoJb3ZlcmZsb3cteTogc2Nyb2xsOw0KCW92ZXJmbG93LXg6IGhpZGRlbjsNCglwYWRkaW5nLXJpZ2h0OiA1cHg7DQoJfQ0KLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Igew0KCW1hcmdpbi10b3A6IDJweDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdG9wOiAxcHg7DQoJfQ0KLmxlYWZsZXQtY29udHJvbC1sYXllcnMgbGFiZWwgew0KCWRpc3BsYXk6IGJsb2NrOw0KCWZvbnQtc2l6ZTogMTNweDsNCglmb250LXNpemU6IDEuMDgzMzNlbTsNCgl9DQoubGVhZmxldC1jb250cm9sLWxheWVycy1zZXBhcmF0b3Igew0KCWhlaWdodDogMDsNCglib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsNCgltYXJnaW46IDVweCAtMTBweCA1cHggLTZweDsNCgl9DQoNCi8qIERlZmF1bHQgaWNvbiBVUkxzICovDQoubGVhZmxldC1kZWZhdWx0LWljb24tcGF0aCB7IC8qIHVzZWQgb25seSBpbiBwYXRoLWd1ZXNzaW5nIGhldXJpc3RpYywgc2VlIEwuSWNvbi5EZWZhdWx0ICovDQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9tYXJrZXItaWNvbi5wbmcpOw0KCX0NCg0KDQovKiBhdHRyaWJ1dGlvbiBhbmQgc2NhbGUgY29udHJvbHMgKi8NCg0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gew0KCWJhY2tncm91bmQ6ICNmZmY7DQoJYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOw0KCW1hcmdpbjogMDsNCgl9DQoubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLA0KLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lIHsNCglwYWRkaW5nOiAwIDVweDsNCgljb2xvcjogIzMzMzsNCglsaW5lLWhlaWdodDogMS40Ow0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYSB7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYTpob3ZlciwNCi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYTpmb2N1cyB7DQoJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQoJfQ0KLmxlYWZsZXQtYXR0cmlidXRpb24tZmxhZyB7DQoJZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7DQoJdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7DQoJd2lkdGg6IDFlbTsNCgloZWlnaHQ6IDAuNjY2OWVtOw0KCX0NCi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7DQoJbWFyZ2luLWxlZnQ6IDVweDsNCgl9DQoubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7DQoJbWFyZ2luLWJvdHRvbTogNXB4Ow0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7DQoJYm9yZGVyOiAycHggc29saWQgIzc3NzsNCglib3JkZXItdG9wOiBub25lOw0KCWxpbmUtaGVpZ2h0OiAxLjE7DQoJcGFkZGluZzogMnB4IDVweCAxcHg7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCgktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsNCgl0ZXh0LXNoYWRvdzogMXB4IDFweCAjZmZmOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKSB7DQoJYm9yZGVyLXRvcDogMnB4IHNvbGlkICM3Nzc7DQoJYm9yZGVyLWJvdHRvbTogbm9uZTsNCgltYXJnaW4tdG9wOiAtMnB4Ow0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHsNCglib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3NzsNCgl9DQoNCi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sDQoubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycywNCi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciB7DQoJYm94LXNoYWRvdzogbm9uZTsNCgl9DQoubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycywNCi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWJhciB7DQoJYm9yZGVyOiAycHggc29saWQgcmdiYSgwLDAsMCwwLjIpOw0KCWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7DQoJfQ0KDQoNCi8qIHBvcHVwICovDQoNCi5sZWFmbGV0LXBvcHVwIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCW1hcmdpbi1ib3R0b206IDIwcHg7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHsNCglwYWRkaW5nOiAxcHg7DQoJdGV4dC1hbGlnbjogbGVmdDsNCglib3JkZXItcmFkaXVzOiAxMnB4Ow0KCX0NCi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgew0KCW1hcmdpbjogMTNweCAyNHB4IDEzcHggMjBweDsNCglsaW5lLWhlaWdodDogMS4zOw0KCWZvbnQtc2l6ZTogMTNweDsNCglmb250LXNpemU6IDEuMDgzMzNlbTsNCgltaW4taGVpZ2h0OiAxcHg7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtY29udGVudCBwIHsNCgltYXJnaW46IDE3cHggMDsNCgltYXJnaW46IDEuM2VtIDA7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7DQoJd2lkdGg6IDQwcHg7DQoJaGVpZ2h0OiAyMHB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiA1MCU7DQoJbWFyZ2luLXRvcDogLTFweDsNCgltYXJnaW4tbGVmdDogLTIwcHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglwb2ludGVyLWV2ZW50czogbm9uZTsNCgl9DQoubGVhZmxldC1wb3B1cC10aXAgew0KCXdpZHRoOiAxN3B4Ow0KCWhlaWdodDogMTdweDsNCglwYWRkaW5nOiAxcHg7DQoNCgltYXJnaW46IC0xMHB4IGF1dG8gMDsNCglwb2ludGVyLWV2ZW50czogYXV0bzsNCg0KCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KCSAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KCSAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KCSAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KCX0NCi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciwNCi5sZWFmbGV0LXBvcHVwLXRpcCB7DQoJYmFja2dyb3VuZDogd2hpdGU7DQoJY29sb3I6ICMzMzM7DQoJYm94LXNoYWRvdzogMCAzcHggMTRweCByZ2JhKDAsMCwwLDAuNCk7DQoJfQ0KLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJcmlnaHQ6IDA7DQoJYm9yZGVyOiBub25lOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgl3aWR0aDogMjRweDsNCgloZWlnaHQ6IDI0cHg7DQoJZm9udDogMTZweC8yNHB4IFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjsNCgljb2xvcjogIzc1NzU3NTsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQoJfQ0KLmxlYWZsZXQtY29udGFpbmVyIGEubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b246aG92ZXIsDQoubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpmb2N1cyB7DQoJY29sb3I6ICM1ODU4NTg7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQgew0KCW92ZXJmbG93OiBhdXRvOw0KCX0NCg0KLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHsNCgktbXMtem9vbTogMTsNCgl9DQoubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAgew0KCXdpZHRoOiAyNHB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KDQoJLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KSI7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OCk7DQoJfQ0KDQoubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250cm9sLXpvb20sDQoubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250cm9sLWxheWVycywNCi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciwNCi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLXRpcCB7DQoJYm9yZGVyOiAxcHggc29saWQgIzk5OTsNCgl9DQoNCg0KLyogZGl2IGljb24gKi8NCg0KLmxlYWZsZXQtZGl2LWljb24gew0KCWJhY2tncm91bmQ6ICNmZmY7DQoJYm9yZGVyOiAxcHggc29saWQgIzY2NjsNCgl9DQoNCg0KLyogVG9vbHRpcCAqLw0KLyogQmFzZSBzdHlsZXMgZm9yIHRoZSBlbGVtZW50IHRoYXQgaGFzIGEgdG9vbHRpcCAqLw0KLmxlYWZsZXQtdG9vbHRpcCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXBhZGRpbmc6IDZweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KCWJvcmRlcjogMXB4IHNvbGlkICNmZmY7DQoJYm9yZGVyLXJhZGl1czogM3B4Ow0KCWNvbG9yOiAjMjIyOw0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQoJLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCgktbW96LXVzZXItc2VsZWN0OiBub25lOw0KCS1tcy11c2VyLXNlbGVjdDogbm9uZTsNCgl1c2VyLXNlbGVjdDogbm9uZTsNCglwb2ludGVyLWV2ZW50czogbm9uZTsNCglib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjQpOw0KCX0NCi5sZWFmbGV0LXRvb2x0aXAubGVhZmxldC1pbnRlcmFjdGl2ZSB7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBvaW50ZXItZXZlbnRzOiBhdXRvOw0KCX0NCi5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSwNCi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSwNCi5sZWFmbGV0LXRvb2x0aXAtbGVmdDpiZWZvcmUsDQoubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KCWJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KCWNvbnRlbnQ6ICIiOw0KCX0NCg0KLyogRGlyZWN0aW9ucyAqLw0KDQoubGVhZmxldC10b29sdGlwLWJvdHRvbSB7DQoJbWFyZ2luLXRvcDogNnB4Ow0KfQ0KLmxlYWZsZXQtdG9vbHRpcC10b3Agew0KCW1hcmdpbi10b3A6IC02cHg7DQp9DQoubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUsDQoubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUgew0KCWxlZnQ6IDUwJTsNCgltYXJnaW4tbGVmdDogLTZweDsNCgl9DQoubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUgew0KCWJvdHRvbTogMDsNCgltYXJnaW4tYm90dG9tOiAtMTJweDsNCglib3JkZXItdG9wLWNvbG9yOiAjZmZmOw0KCX0NCi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7DQoJdG9wOiAwOw0KCW1hcmdpbi10b3A6IC0xMnB4Ow0KCW1hcmdpbi1sZWZ0OiAtNnB4Ow0KCWJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7DQoJfQ0KLmxlYWZsZXQtdG9vbHRpcC1sZWZ0IHsNCgltYXJnaW4tbGVmdDogLTZweDsNCn0NCi5sZWFmbGV0LXRvb2x0aXAtcmlnaHQgew0KCW1hcmdpbi1sZWZ0OiA2cHg7DQp9DQoubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLA0KLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUgew0KCXRvcDogNTAlOw0KCW1hcmdpbi10b3A6IC02cHg7DQoJfQ0KLmxlYWZsZXQtdG9vbHRpcC1sZWZ0OmJlZm9yZSB7DQoJcmlnaHQ6IDA7DQoJbWFyZ2luLXJpZ2h0OiAtMTJweDsNCglib3JkZXItbGVmdC1jb2xvcjogI2ZmZjsNCgl9DQoubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7DQoJbGVmdDogMDsNCgltYXJnaW4tbGVmdDogLTEycHg7DQoJYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOw0KCX0NCg0KLyogUHJpbnRpbmcgKi8NCg0KQG1lZGlhIHByaW50IHsNCgkvKiBQcmV2ZW50IHByaW50ZXJzIGZyb20gcmVtb3ZpbmcgYmFja2dyb3VuZC1pbWFnZXMgb2YgY29udHJvbHMuICovDQoJLmxlYWZsZXQtY29udHJvbCB7DQoJCS13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsNCgkJcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsNCgkJfQ0KCX0NCg=="}},"time_used":38,"timings":{"blocked":-1,"dns":2,"connect":22,"send":0,"wait":14,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/leaflet@1.9.4/dist/leaflet.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.0.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.601Z","timestamp":1785160686601,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /leaflet@1.9.4/dist/leaflet.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a21c28336cfc8deb-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 66744\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 13:58:06 GMT\r\nlast-modified: Tue, 14 Jul 2026 14:11:36 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=:\r\nfly-request-id: 01KTRMYE8Y00YHHSWNCZTVG84P-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}],"data":{"size":147552,"size_decoded":43359,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65383)","md5":"35b48eb991f383702f153452506e07b2","sha1":"5a640ff863e7902a8cac2ce6ba37c87b30677761","sha256":"db49d009c841f5ca34a888c96511ae936fd9f5533e90d8b2c4d57596f4e5641a","sha512":"0701dfaebe1cf6499190bc3a89715dcdc75657f3c69158222322162cb953497cd6433c6e4a0e03890502a5abb3fc45a3824e53610a97fe4be7f691b536961faa","ssdeep":"1536:sdeV/7u3i297NP5yaKuLylR+xCa8Mc5ScLsG7JBVc3bk/+bB7naxDk9ILvZs+rTr:Z/7uNNyaKST0LbYQDDkOr","tlshash":"cee3c68ab3d17a2742c36264003f210bb6326595a40a416cb97cd9efee7ca497137f7d","first_seen":"2023-06-27T11:10:33Z","last_seen":"2026-08-18T07:33:16.076724Z","times_seen":7602,"resource_available":true,"data":"LyogQHByZXNlcnZlCiAqIExlYWZsZXQgMS45LjQsIGEgSlMgbGlicmFyeSBmb3IgaW50ZXJhY3RpdmUgbWFwcy4gaHR0cHM6Ly9sZWFmbGV0anMuY29tCiAqIChjKSAyMDEwLTIwMjMgVmxhZGltaXIgQWdhZm9ua2luLCAoYykgMjAxMC0yMDExIENsb3VkTWFkZQogKi8KIWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9lKGV4cG9ydHMpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLGUpOmUoKHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dHx8c2VsZikubGVhZmxldD17fSl9KHRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGwodCl7Zm9yKHZhciBlLGksbj0xLG89YXJndW1lbnRzLmxlbmd0aDtuPG87bisrKWZvcihlIGluIGk9YXJndW1lbnRzW25dKXRbZV09aVtlXTtyZXR1cm4gdH12YXIgUj1PYmplY3QuY3JlYXRlfHxmdW5jdGlvbih0KXtyZXR1cm4gTi5wcm90b3R5cGU9dCxuZXcgTn07ZnVuY3Rpb24gTigpe31mdW5jdGlvbiBhKHQsZSl7dmFyIGksbj1BcnJheS5wcm90b3R5cGUuc2xpY2U7cmV0dXJuIHQuYmluZD90LmJpbmQuYXBwbHkodCxuLmNhbGwoYXJndW1lbnRzLDEpKTooaT1uLmNhbGwoYXJndW1lbnRzLDIpLGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkoZSxpLmxlbmd0aD9pLmNvbmNhdChuLmNhbGwoYXJndW1lbnRzKSk6YXJndW1lbnRzKX0pfXZhciBEPTA7ZnVuY3Rpb24gaCh0KXtyZXR1cm4iX2xlYWZsZXRfaWQiaW4gdHx8KHQuX2xlYWZsZXRfaWQ9KytEKSx0Ll9sZWFmbGV0X2lkfWZ1bmN0aW9uIGoodCxlLGkpe3ZhciBuLG8scz1mdW5jdGlvbigpe249ITEsbyYmKHIuYXBwbHkoaSxvKSxvPSExKX0scj1mdW5jdGlvbigpe24/bz1hcmd1bWVudHM6KHQuYXBwbHkoaSxhcmd1bWVudHMpLHNldFRpbWVvdXQocyxlKSxuPSEwKX07cmV0dXJuIHJ9ZnVuY3Rpb24gSCh0LGUsaSl7dmFyIG49ZVsxXSxlPWVbMF0sbz1uLWU7cmV0dXJuIHQ9PT1uJiZpP3Q6KCh0LWUpJW8rbyklbytlfWZ1bmN0aW9uIHUoKXtyZXR1cm4hMX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuITE9PT1lP3Q6KGU9TWF0aC5wb3coMTAsdm9pZCAwPT09ZT82OmUpLE1hdGgucm91bmQodCplKS9lKX1mdW5jdGlvbiBXKHQpe3JldHVybiB0LnRyaW0/dC50cmltKCk6dC5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIil9ZnVuY3Rpb24gRih0KXtyZXR1cm4gVyh0KS5zcGxpdCgvXHMrLyl9ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgaSBpbiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwib3B0aW9ucyIpfHwodC5vcHRpb25zPXQub3B0aW9ucz9SKHQub3B0aW9ucyk6e30pLGUpdC5vcHRpb25zW2ldPWVbaV07cmV0dXJuIHQub3B0aW9uc31mdW5jdGlvbiBVKHQsZSxpKXt2YXIgbixvPVtdO2ZvcihuIGluIHQpby5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChpP24udG9VcHBlckNhc2UoKTpuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHRbbl0pKTtyZXR1cm4oZSYmLTEhPT1lLmluZGV4T2YoIj8iKT8iJiI6Ij8iKStvLmpvaW4oIiYiKX12YXIgVj0vXHsgKihbXHdfIC1dKykgKlx9L2c7ZnVuY3Rpb24gcSh0LGkpe3JldHVybiB0LnJlcGxhY2UoVixmdW5jdGlvbih0LGUpe2U9aVtlXTtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBFcnJvcigiTm8gdmFsdWUgcHJvdmlkZWQgZm9yIHZhcmlhYmxlICIrdCk7cmV0dXJuIGU9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZShpKTplfSl9dmFyIGQ9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX07ZnVuY3Rpb24gRyh0LGUpe2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWlmKHRbaV09PT1lKXJldHVybiBpO3JldHVybi0xfXZhciBLPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFEL0FDd0FBQUFBQVFBQkFBQUNBRHM9IjtmdW5jdGlvbiBZKHQpe3JldHVybiB3aW5kb3dbIndlYmtpdCIrdF18fHdpbmRvd1sibW96Iit0XXx8d2luZG93WyJtcyIrdF19dmFyIFg9MDtmdW5jdGlvbiBKKHQpe3ZhciBlPStuZXcgRGF0ZSxpPU1hdGgubWF4KDAsMTYtKGUtWCkpO3JldHVybiBYPWUraSx3aW5kb3cuc2V0VGltZW91dCh0LGkpfXZhciAkPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fFkoIlJlcXVlc3RBbmltYXRpb25GcmFtZSIpfHxKLFE9d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lfHxZKCJDYW5jZWxBbmltYXRpb25GcmFtZSIpfHxZKCJDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKXx8ZnVuY3Rpb24odCl7d2luZG93LmNsZWFyVGltZW91dCh0KX07ZnVuY3Rpb24geCh0LGUsaSl7aWYoIWl8fCQhPT1KKXJldHVybiAkLmNhbGwod2luZG93LGEodCxlKSk7dC5jYWxsKGUpfWZ1bmN0aW9uIHIodCl7dCYmUS5jYWxsKHdpbmRvdyx0KX12YXIgdHQ9e19fcHJvdG9fXzpudWxsLGV4dGVuZDpsLGNyZWF0ZTpSLGJpbmQ6YSxnZXQgbGFzdElkKCl7cmV0dXJuIER9LHN0YW1wOmgsdGhyb3R0bGU6aix3cmFwTnVtOkgsZmFsc2VGbjp1LGZvcm1hdE51bTppLHRyaW06VyxzcGxpdFdvcmRzOkYsc2V0T3B0aW9uczpjLGdldFBhcmFtU3RyaW5nOlUsdGVtcGxhdGU6cSxpc0FycmF5OmQsaW5kZXhPZjpHLGVtcHR5SW1hZ2VVcmw6SyxyZXF1ZXN0Rm46JCxjYW5jZWxGbjpRLHJlcXVlc3RBbmltRnJhbWU6eCxjYW5jZWxBbmltRnJhbWU6cn07ZnVuY3Rpb24gZXQoKXt9ZXQuZXh0ZW5kPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtjKHRoaXMpLHRoaXMuaW5pdGlhbGl6ZSYmdGhpcy5pbml0aWFsaXplLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLmNhbGxJbml0SG9va3MoKX12YXIgaSxuPWUuX19zdXBlcl9fPXRoaXMucHJvdG90eXBlLG89UihuKTtmb3IoaSBpbihvLmNvbnN0cnVjdG9yPWUpLnByb3RvdHlwZT1vLHRoaXMpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMsaSkmJiJwcm90b3R5cGUiIT09aSYmIl9fc3VwZXJfXyIhPT1pJiYoZVtpXT10aGlzW2ldKTtpZih0LnN0YXRpY3MmJmwoZSx0LnN0YXRpY3MpLHQuaW5jbHVkZXMpe3ZhciBzPXQuaW5jbHVkZXM7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBMJiZMJiZMLk1peGluKXtzPWQocyk/czpbc107Zm9yKHZhciByPTA7cjxzLmxlbmd0aDtyKyspc1tyXT09PUwuTWl4aW4uRXZlbnRzJiZjb25zb2xlLndhcm4oIkRlcHJlY2F0ZWQgaW5jbHVkZSBvZiBMLk1peGluLkV2ZW50czogdGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHJlbW92ZWQgaW4gZnV0dXJlIHJlbGVhc2VzLCBwbGVhc2UgaW5oZXJpdCBmcm9tIEwuRXZlbnRlZCBpbnN0ZWFkLiIsKG5ldyBFcnJvcikuc3RhY2spfWwuYXBwbHkobnVsbCxbb10uY29uY2F0KHQuaW5jbHVkZXMpKX1yZXR1cm4gbChvLHQpLGRlbGV0ZSBvLnN0YXRpY3MsZGVsZXRlIG8uaW5jbHVkZXMsby5vcHRpb25zJiYoby5vcHRpb25zPW4ub3B0aW9ucz9SKG4ub3B0aW9ucyk6e30sbChvLm9wdGlvbnMsdC5vcHRpb25zKSksby5faW5pdEhvb2tzPVtdLG8uY2FsbEluaXRIb29rcz1mdW5jdGlvbigpe2lmKCF0aGlzLl9pbml0SG9va3NDYWxsZWQpe24uY2FsbEluaXRIb29rcyYmbi5jYWxsSW5pdEhvb2tzLmNhbGwodGhpcyksdGhpcy5faW5pdEhvb2tzQ2FsbGVkPSEwO2Zvcih2YXIgdD0wLGU9by5faW5pdEhvb2tzLmxlbmd0aDt0PGU7dCsrKW8uX2luaXRIb29rc1t0XS5jYWxsKHRoaXMpfX0sZX0sZXQuaW5jbHVkZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnByb3RvdHlwZS5vcHRpb25zO3JldHVybiBsKHRoaXMucHJvdG90eXBlLHQpLHQub3B0aW9ucyYmKHRoaXMucHJvdG90eXBlLm9wdGlvbnM9ZSx0aGlzLm1lcmdlT3B0aW9ucyh0Lm9wdGlvbnMpKSx0aGlzfSxldC5tZXJnZU9wdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGwodGhpcy5wcm90b3R5cGUub3B0aW9ucyx0KSx0aGlzfSxldC5hZGRJbml0SG9vaz1mdW5jdGlvbih0KXt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKCl7dGhpc1t0XS5hcHBseSh0aGlzLGUpfTtyZXR1cm4gdGhpcy5wcm90b3R5cGUuX2luaXRIb29rcz10aGlzLnByb3RvdHlwZS5faW5pdEhvb2tzfHxbXSx0aGlzLnByb3RvdHlwZS5faW5pdEhvb2tzLnB1c2goaSksdGhpc307dmFyIGU9e29uOmZ1bmN0aW9uKHQsZSxpKXtpZigib2JqZWN0Ij09dHlwZW9mIHQpZm9yKHZhciBuIGluIHQpdGhpcy5fb24obix0W25dLGUpO2Vsc2UgZm9yKHZhciBvPTAscz0odD1GKHQpKS5sZW5ndGg7bzxzO28rKyl0aGlzLl9vbih0W29dLGUsaSk7cmV0dXJuIHRoaXN9LG9mZjpmdW5jdGlvbih0LGUsaSl7aWYoYXJndW1lbnRzLmxlbmd0aClpZigib2JqZWN0Ij09dHlwZW9mIHQpZm9yKHZhciBuIGluIHQpdGhpcy5fb2ZmKG4sdFtuXSxlKTtlbHNle3Q9Rih0KTtmb3IodmFyIG89MT09PWFyZ3VtZW50cy5sZW5ndGgscz0wLHI9dC5sZW5ndGg7czxyO3MrKylvP3RoaXMuX29mZih0W3NdKTp0aGlzLl9vZmYodFtzXSxlLGkpfWVsc2UgZGVsZXRlIHRoaXMuX2V2ZW50cztyZXR1cm4gdGhpc30sX29uOmZ1bmN0aW9uKHQsZSxpLG4peyJmdW5jdGlvbiIhPXR5cGVvZiBlP2NvbnNvbGUud2Fybigid3JvbmcgbGlzdGVuZXIgdHlwZTogIit0eXBlb2YgZSk6ITE9PT10aGlzLl9saXN0ZW5zKHQsZSxpKSYmKGU9e2ZuOmUsY3R4Omk9aT09PXRoaXM/dm9pZCAwOml9LG4mJihlLm9uY2U9ITApLHRoaXMuX2V2ZW50cz10aGlzLl9ldmVudHN8fHt9LHRoaXMuX2V2ZW50c1t0XT10aGlzLl9ldmVudHNbdF18fFtdLHRoaXMuX2V2ZW50c1t0XS5wdXNoKGUpKX0sX29mZjpmdW5jdGlvbih0LGUsaSl7dmFyIG4sbyxzO2lmKHRoaXMuX2V2ZW50cyYmKG49dGhpcy5fZXZlbnRzW3RdKSlpZigxPT09YXJndW1lbnRzLmxlbmd0aCl7aWYodGhpcy5fZmlyaW5nQ291bnQpZm9yKG89MCxzPW4ubGVuZ3RoO288cztvKyspbltvXS5mbj11O2RlbGV0ZSB0aGlzLl9ldmVudHNbdF19ZWxzZSJmdW5jdGlvbiIhPXR5cGVvZiBlP2NvbnNvbGUud2Fybigid3JvbmcgbGlzdGVuZXIgdHlwZTogIit0eXBlb2YgZSk6ITEhPT0oZT10aGlzLl9saXN0ZW5zKHQsZSxpKSkmJihpPW5bZV0sdGhpcy5fZmlyaW5nQ291bnQmJihpLmZuPXUsdGhpcy5fZXZlbnRzW3RdPW49bi5zbGljZSgpKSxuLnNwbGljZShlLDEpKX0sZmlyZTpmdW5jdGlvbih0LGUsaSl7aWYodGhpcy5saXN0ZW5zKHQsaSkpe3ZhciBuPWwoe30sZSx7dHlwZTp0LHRhcmdldDp0aGlzLHNvdXJjZVRhcmdldDplJiZlLnNvdXJjZVRhcmdldHx8dGhpc30pO2lmKHRoaXMuX2V2ZW50cyl7dmFyIG89dGhpcy5fZXZlbnRzW3RdO2lmKG8pe3RoaXMuX2ZpcmluZ0NvdW50PXRoaXMuX2ZpcmluZ0NvdW50KzF8fDE7Zm9yKHZhciBzPTAscj1vLmxlbmd0aDtzPHI7cysrKXt2YXIgYT1vW3NdLGg9YS5mbjthLm9uY2UmJnRoaXMub2ZmKHQsaCxhLmN0eCksaC5jYWxsKGEuY3R4fHx0aGlzLG4pfXRoaXMuX2ZpcmluZ0NvdW50LS19fWkmJnRoaXMuX3Byb3BhZ2F0ZUV2ZW50KG4pfXJldHVybiB0aGlzfSxsaXN0ZW5zOmZ1bmN0aW9uKHQsZSxpLG4peyJzdHJpbmciIT10eXBlb2YgdCYmY29uc29sZS53YXJuKCcic3RyaW5nIiB0eXBlIGFyZ3VtZW50IGV4cGVjdGVkJyk7dmFyIG89ZSxzPSgiZnVuY3Rpb24iIT10eXBlb2YgZSYmKG49ISFlLGk9bz12b2lkIDApLHRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzW3RdKTtpZihzJiZzLmxlbmd0aCYmITEhPT10aGlzLl9saXN0ZW5zKHQsbyxpKSlyZXR1cm4hMDtpZihuKWZvcih2YXIgciBpbiB0aGlzLl9ldmVudFBhcmVudHMpaWYodGhpcy5fZXZlbnRQYXJlbnRzW3JdLmxpc3RlbnModCxlLGksbikpcmV0dXJuITA7cmV0dXJuITF9LF9saXN0ZW5zOmZ1bmN0aW9uKHQsZSxpKXtpZih0aGlzLl9ldmVudHMpe3ZhciBuPXRoaXMuX2V2ZW50c1t0XXx8W107aWYoIWUpcmV0dXJuISFuLmxlbmd0aDtpPT09dGhpcyYmKGk9dm9pZCAwKTtmb3IodmFyIG89MCxzPW4ubGVuZ3RoO288cztvKyspaWYobltvXS5mbj09PWUmJm5bb10uY3R4PT09aSlyZXR1cm4gb31yZXR1cm4hMX0sb25jZTpmdW5jdGlvbih0LGUsaSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0KWZvcih2YXIgbiBpbiB0KXRoaXMuX29uKG4sdFtuXSxlLCEwKTtlbHNlIGZvcih2YXIgbz0wLHM9KHQ9Rih0KSkubGVuZ3RoO288cztvKyspdGhpcy5fb24odFtvXSxlLGksITApO3JldHVybiB0aGlzfSxhZGRFdmVudFBhcmVudDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZXZlbnRQYXJlbnRzPXRoaXMuX2V2ZW50UGFyZW50c3x8e30sdGhpcy5fZXZlbnRQYXJlbnRzW2godCldPXQsdGhpc30scmVtb3ZlRXZlbnRQYXJlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2V2ZW50UGFyZW50cyYmZGVsZXRlIHRoaXMuX2V2ZW50UGFyZW50c1toKHQpXSx0aGlzfSxfcHJvcGFnYXRlRXZlbnQ6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMuX2V2ZW50UGFyZW50cyl0aGlzLl9ldmVudFBhcmVudHNbZV0uZmlyZSh0LnR5cGUsbCh7bGF5ZXI6dC50YXJnZXQscHJvcGFnYXRlZEZyb206dC50YXJnZXR9LHQpLCEwKX19LGl0PShlLmFkZEV2ZW50TGlzdGVuZXI9ZS5vbixlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZS5jbGVhckFsbEV2ZW50TGlzdGVuZXJzPWUub2ZmLGUuYWRkT25lVGltZUV2ZW50TGlzdGVuZXI9ZS5vbmNlLGUuZmlyZUV2ZW50PWUuZmlyZSxlLmhhc0V2ZW50TGlzdGVuZXJzPWUubGlzdGVucyxldC5leHRlbmQoZSkpO2Z1bmN0aW9uIHAodCxlLGkpe3RoaXMueD1pP01hdGgucm91bmQodCk6dCx0aGlzLnk9aT9NYXRoLnJvdW5kKGUpOmV9dmFyIG50PU1hdGgudHJ1bmN8fGZ1bmN0aW9uKHQpe3JldHVybiAwPHQ/TWF0aC5mbG9vcih0KTpNYXRoLmNlaWwodCl9O2Z1bmN0aW9uIG0odCxlLGkpe3JldHVybiB0IGluc3RhbmNlb2YgcD90OmQodCk/bmV3IHAodFswXSx0WzFdKTpudWxsPT10P3Q6Im9iamVjdCI9PXR5cGVvZiB0JiYieCJpbiB0JiYieSJpbiB0P25ldyBwKHQueCx0LnkpOm5ldyBwKHQsZSxpKX1mdW5jdGlvbiBmKHQsZSl7aWYodClmb3IodmFyIGk9ZT9bdCxlXTp0LG49MCxvPWkubGVuZ3RoO248bztuKyspdGhpcy5leHRlbmQoaVtuXSl9ZnVuY3Rpb24gXyh0LGUpe3JldHVybiF0fHx0IGluc3RhbmNlb2YgZj90Om5ldyBmKHQsZSl9ZnVuY3Rpb24gcyh0LGUpe2lmKHQpZm9yKHZhciBpPWU/W3QsZV06dCxuPTAsbz1pLmxlbmd0aDtuPG87bisrKXRoaXMuZXh0ZW5kKGlbbl0pfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIHM/dDpuZXcgcyh0LGUpfWZ1bmN0aW9uIHYodCxlLGkpe2lmKGlzTmFOKHQpfHxpc05hTihlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgTGF0TG5nIG9iamVjdDogKCIrdCsiLCAiK2UrIikiKTt0aGlzLmxhdD0rdCx0aGlzLmxuZz0rZSx2b2lkIDAhPT1pJiYodGhpcy5hbHQ9K2kpfWZ1bmN0aW9uIHcodCxlLGkpe3JldHVybiB0IGluc3RhbmNlb2Ygdj90OmQodCkmJiJvYmplY3QiIT10eXBlb2YgdFswXT8zPT09dC5sZW5ndGg/bmV3IHYodFswXSx0WzFdLHRbMl0pOjI9PT10Lmxlbmd0aD9uZXcgdih0WzBdLHRbMV0pOm51bGw6bnVsbD09dD90OiJvYmplY3QiPT10eXBlb2YgdCYmImxhdCJpbiB0P25ldyB2KHQubGF0LCJsbmciaW4gdD90LmxuZzp0Lmxvbix0LmFsdCk6dm9pZCAwPT09ZT9udWxsOm5ldyB2KHQsZSxpKX1wLnByb3RvdHlwZT17Y2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHAodGhpcy54LHRoaXMueSl9LGFkZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9hZGQobSh0KSl9LF9hZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXN9LHN1YnRyYWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuX3N1YnRyYWN0KG0odCkpfSxfc3VidHJhY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXN9LGRpdmlkZUJ5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuX2RpdmlkZUJ5KHQpfSxfZGl2aWRlQnk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dCx0aGlzLnkvPXQsdGhpc30sbXVsdGlwbHlCeTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9tdWx0aXBseUJ5KHQpfSxfbXVsdGlwbHlCeTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzfSxzY2FsZUJ5OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcCh0aGlzLngqdC54LHRoaXMueSp0LnkpfSx1bnNjYWxlQnk6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBwKHRoaXMueC90LngsdGhpcy55L3QueSl9LHJvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fcm91bmQoKX0sX3JvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueD1NYXRoLnJvdW5kKHRoaXMueCksdGhpcy55PU1hdGgucm91bmQodGhpcy55KSx0aGlzfSxmbG9vcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX2Zsb29yKCl9LF9mbG9vcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLng9TWF0aC5mbG9vcih0aGlzLngpLHRoaXMueT1NYXRoLmZsb29yKHRoaXMueSksdGhpc30sY2VpbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX2NlaWwoKX0sX2NlaWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PU1hdGguY2VpbCh0aGlzLngpLHRoaXMueT1NYXRoLmNlaWwodGhpcy55KSx0aGlzfSx0cnVuYzpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX3RydW5jKCl9LF90cnVuYzpmdW5jdGlvbigpe3JldHVybiB0aGlzLng9bnQodGhpcy54KSx0aGlzLnk9bnQodGhpcy55KSx0aGlzfSxkaXN0YW5jZVRvOmZ1bmN0aW9uKHQpe3ZhciBlPSh0PW0odCkpLngtdGhpcy54LHQ9dC55LXRoaXMueTtyZXR1cm4gTWF0aC5zcXJ0KGUqZSt0KnQpfSxlcXVhbHM6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9bSh0KSkueD09PXRoaXMueCYmdC55PT09dGhpcy55fSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4gdD1tKHQpLE1hdGguYWJzKHQueCk8PU1hdGguYWJzKHRoaXMueCkmJk1hdGguYWJzKHQueSk8PU1hdGguYWJzKHRoaXMueSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIlBvaW50KCIraSh0aGlzLngpKyIsICIraSh0aGlzLnkpKyIpIn19LGYucHJvdG90eXBlPXtleHRlbmQ6ZnVuY3Rpb24odCl7dmFyIGUsaTtpZih0KXtpZih0IGluc3RhbmNlb2YgcHx8Im51bWJlciI9PXR5cGVvZiB0WzBdfHwieCJpbiB0KWU9aT1tKHQpO2Vsc2UgaWYoZT0odD1fKHQpKS5taW4saT10Lm1heCwhZXx8IWkpcmV0dXJuIHRoaXM7dGhpcy5taW58fHRoaXMubWF4Pyh0aGlzLm1pbi54PU1hdGgubWluKGUueCx0aGlzLm1pbi54KSx0aGlzLm1heC54PU1hdGgubWF4KGkueCx0aGlzLm1heC54KSx0aGlzLm1pbi55PU1hdGgubWluKGUueSx0aGlzLm1pbi55KSx0aGlzLm1heC55PU1hdGgubWF4KGkueSx0aGlzLm1heC55KSk6KHRoaXMubWluPWUuY2xvbmUoKSx0aGlzLm1heD1pLmNsb25lKCkpfXJldHVybiB0aGlzfSxnZXRDZW50ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG0oKHRoaXMubWluLngrdGhpcy5tYXgueCkvMiwodGhpcy5taW4ueSt0aGlzLm1heC55KS8yLHQpfSxnZXRCb3R0b21MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcy5taW4ueCx0aGlzLm1heC55KX0sZ2V0VG9wUmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzLm1heC54LHRoaXMubWluLnkpfSxnZXRUb3BMZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWlufSxnZXRCb3R0b21SaWdodDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sZ2V0U2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heC5zdWJ0cmFjdCh0aGlzLm1pbil9LGNvbnRhaW5zOmZ1bmN0aW9uKHQpe3ZhciBlLGk7cmV0dXJuKHQ9KCJudW1iZXIiPT10eXBlb2YgdFswXXx8dCBpbnN0YW5jZW9mIHA/bTpfKSh0KSlpbnN0YW5jZW9mIGY/KGU9dC5taW4saT10Lm1heCk6ZT1pPXQsZS54Pj10aGlzLm1pbi54JiZpLng8PXRoaXMubWF4LngmJmUueT49dGhpcy5taW4ueSYmaS55PD10aGlzLm1heC55fSxpbnRlcnNlY3RzOmZ1bmN0aW9uKHQpe3Q9Xyh0KTt2YXIgZT10aGlzLm1pbixpPXRoaXMubWF4LG49dC5taW4sdD10Lm1heCxvPXQueD49ZS54JiZuLng8PWkueCx0PXQueT49ZS55JiZuLnk8PWkueTtyZXR1cm4gbyYmdH0sb3ZlcmxhcHM6ZnVuY3Rpb24odCl7dD1fKHQpO3ZhciBlPXRoaXMubWluLGk9dGhpcy5tYXgsbj10Lm1pbix0PXQubWF4LG89dC54PmUueCYmbi54PGkueCx0PXQueT5lLnkmJm4ueTxpLnk7cmV0dXJuIG8mJnR9LGlzVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLm1pbnx8IXRoaXMubWF4KX0scGFkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubWluLGk9dGhpcy5tYXgsbj1NYXRoLmFicyhlLngtaS54KSp0LHQ9TWF0aC5hYnMoZS55LWkueSkqdDtyZXR1cm4gXyhtKGUueC1uLGUueS10KSxtKGkueCtuLGkueSt0KSl9LGVxdWFsczpmdW5jdGlvbih0KXtyZXR1cm4hIXQmJih0PV8odCksdGhpcy5taW4uZXF1YWxzKHQuZ2V0VG9wTGVmdCgpKSYmdGhpcy5tYXguZXF1YWxzKHQuZ2V0Qm90dG9tUmlnaHQoKSkpfX0scy5wcm90b3R5cGU9e2V4dGVuZDpmdW5jdGlvbih0KXt2YXIgZSxpLG49dGhpcy5fc291dGhXZXN0LG89dGhpcy5fbm9ydGhFYXN0O2lmKHQgaW5zdGFuY2VvZiB2KWk9ZT10O2Vsc2V7aWYoISh0IGluc3RhbmNlb2YgcykpcmV0dXJuIHQ/dGhpcy5leHRlbmQodyh0KXx8Zyh0KSk6dGhpcztpZihlPXQuX3NvdXRoV2VzdCxpPXQuX25vcnRoRWFzdCwhZXx8IWkpcmV0dXJuIHRoaXN9cmV0dXJuIG58fG8/KG4ubGF0PU1hdGgubWluKGUubGF0LG4ubGF0KSxuLmxuZz1NYXRoLm1pbihlLmxuZyxuLmxuZyksby5sYXQ9TWF0aC5tYXgoaS5sYXQsby5sYXQpLG8ubG5nPU1hdGgubWF4KGkubG5nLG8ubG5nKSk6KHRoaXMuX3NvdXRoV2VzdD1uZXcgdihlLmxhdCxlLmxuZyksdGhpcy5fbm9ydGhFYXN0PW5ldyB2KGkubGF0LGkubG5nKSksdGhpc30scGFkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3NvdXRoV2VzdCxpPXRoaXMuX25vcnRoRWFzdCxuPU1hdGguYWJzKGUubGF0LWkubGF0KSp0LHQ9TWF0aC5hYnMoZS5sbmctaS5sbmcpKnQ7cmV0dXJuIG5ldyBzKG5ldyB2KGUubGF0LW4sZS5sbmctdCksbmV3IHYoaS5sYXQrbixpLmxuZyt0KSl9LGdldENlbnRlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgdigodGhpcy5fc291dGhXZXN0LmxhdCt0aGlzLl9ub3J0aEVhc3QubGF0KS8yLCh0aGlzLl9zb3V0aFdlc3QubG5nK3RoaXMuX25vcnRoRWFzdC5sbmcpLzIpfSxnZXRTb3V0aFdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc291dGhXZXN0fSxnZXROb3J0aEVhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbm9ydGhFYXN0fSxnZXROb3J0aFdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHYodGhpcy5nZXROb3J0aCgpLHRoaXMuZ2V0V2VzdCgpKX0sZ2V0U291dGhFYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB2KHRoaXMuZ2V0U291dGgoKSx0aGlzLmdldEVhc3QoKSl9LGdldFdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc291dGhXZXN0LmxuZ30sZ2V0U291dGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc291dGhXZXN0LmxhdH0sZ2V0RWFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ub3J0aEVhc3QubG5nfSxnZXROb3J0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ub3J0aEVhc3QubGF0fSxjb250YWluczpmdW5jdGlvbih0KXt0PSgibnVtYmVyIj09dHlwZW9mIHRbMF18fHQgaW5zdGFuY2VvZiB2fHwibGF0ImluIHQ/dzpnKSh0KTt2YXIgZSxpLG49dGhpcy5fc291dGhXZXN0LG89dGhpcy5fbm9ydGhFYXN0O3JldHVybiB0IGluc3RhbmNlb2Ygcz8oZT10LmdldFNvdXRoV2VzdCgpLGk9dC5nZXROb3J0aEVhc3QoKSk6ZT1pPXQsZS5sYXQ+PW4ubGF0JiZpLmxhdDw9by5sYXQmJmUubG5nPj1uLmxuZyYmaS5sbmc8PW8ubG5nfSxpbnRlcnNlY3RzOmZ1bmN0aW9uKHQpe3Q9Zyh0KTt2YXIgZT10aGlzLl9zb3V0aFdlc3QsaT10aGlzLl9ub3J0aEVhc3Qsbj10LmdldFNvdXRoV2VzdCgpLHQ9dC5nZXROb3J0aEVhc3QoKSxvPXQubGF0Pj1lLmxhdCYmbi5sYXQ8PWkubGF0LHQ9dC5sbmc+PWUubG5nJiZuLmxuZzw9aS5sbmc7cmV0dXJuIG8mJnR9LG92ZXJsYXBzOmZ1bmN0aW9uKHQpe3Q9Zyh0KTt2YXIgZT10aGlzLl9zb3V0aFdlc3QsaT10aGlzLl9ub3J0aEVhc3Qsbj10LmdldFNvdXRoV2VzdCgpLHQ9dC5nZXROb3J0aEVhc3QoKSxvPXQubGF0PmUubGF0JiZuLmxhdDxpLmxhdCx0PXQubG5nPmUubG5nJiZuLmxuZzxpLmxuZztyZXR1cm4gbyYmdH0sdG9CQm94U3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMuZ2V0V2VzdCgpLHRoaXMuZ2V0U291dGgoKSx0aGlzLmdldEVhc3QoKSx0aGlzLmdldE5vcnRoKCldLmpvaW4oIiwiKX0sZXF1YWxzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuISF0JiYodD1nKHQpLHRoaXMuX3NvdXRoV2VzdC5lcXVhbHModC5nZXRTb3V0aFdlc3QoKSxlKSYmdGhpcy5fbm9ydGhFYXN0LmVxdWFscyh0LmdldE5vcnRoRWFzdCgpLGUpKX0saXNWYWxpZDpmdW5jdGlvbigpe3JldHVybiEoIXRoaXMuX3NvdXRoV2VzdHx8IXRoaXMuX25vcnRoRWFzdCl9fTt2YXIgb3Q9e2xhdExuZ1RvUG9pbnQ6ZnVuY3Rpb24odCxlKXt0PXRoaXMucHJvamVjdGlvbi5wcm9qZWN0KHQpLGU9dGhpcy5zY2FsZShlKTtyZXR1cm4gdGhpcy50cmFuc2Zvcm1hdGlvbi5fdHJhbnNmb3JtKHQsZSl9LHBvaW50VG9MYXRMbmc6ZnVuY3Rpb24odCxlKXtlPXRoaXMuc2NhbGUoZSksdD10aGlzLnRyYW5zZm9ybWF0aW9uLnVudHJhbnNmb3JtKHQsZSk7cmV0dXJuIHRoaXMucHJvamVjdGlvbi51bnByb2plY3QodCl9LHByb2plY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJvamVjdGlvbi5wcm9qZWN0KHQpfSx1bnByb2plY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJvamVjdGlvbi51bnByb2plY3QodCl9LHNjYWxlOmZ1bmN0aW9uKHQpe3JldHVybiAyNTYqTWF0aC5wb3coMix0KX0sem9vbTpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5sb2codC8yNTYpL01hdGguTE4yfSxnZXRQcm9qZWN0ZWRCb3VuZHM6ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMuaW5maW5pdGU/bnVsbDooZT10aGlzLnByb2plY3Rpb24uYm91bmRzLHQ9dGhpcy5zY2FsZSh0KSxuZXcgZih0aGlzLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybShlLm1pbix0KSx0aGlzLnRyYW5zZm9ybWF0aW9uLnRyYW5zZm9ybShlLm1heCx0KSkpfSxpbmZpbml0ZTohKHYucHJvdG90eXBlPXtlcXVhbHM6ZnVuY3Rpb24odCxlKXtyZXR1cm4hIXQmJih0PXcodCksTWF0aC5tYXgoTWF0aC5hYnModGhpcy5sYXQtdC5sYXQpLE1hdGguYWJzKHRoaXMubG5nLXQubG5nKSk8PSh2b2lkIDA9PT1lPzFlLTk6ZSkpfSx0b1N0cmluZzpmdW5jdGlvbih0KXtyZXR1cm4iTGF0TG5nKCIraSh0aGlzLmxhdCx0KSsiLCAiK2kodGhpcy5sbmcsdCkrIikifSxkaXN0YW5jZVRvOmZ1bmN0aW9uKHQpe3JldHVybiBzdC5kaXN0YW5jZSh0aGlzLHcodCkpfSx3cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHN0LndyYXBMYXRMbmcodGhpcyl9LHRvQm91bmRzOmZ1bmN0aW9uKHQpe3ZhciB0PTE4MCp0LzQwMDc1MDE3LGU9dC9NYXRoLmNvcyhNYXRoLlBJLzE4MCp0aGlzLmxhdCk7cmV0dXJuIGcoW3RoaXMubGF0LXQsdGhpcy5sbmctZV0sW3RoaXMubGF0K3QsdGhpcy5sbmcrZV0pfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdih0aGlzLmxhdCx0aGlzLmxuZyx0aGlzLmFsdCl9fSksd3JhcExhdExuZzpmdW5jdGlvbih0KXt2YXIgZT10aGlzLndyYXBMbmc/SCh0LmxuZyx0aGlzLndyYXBMbmcsITApOnQubG5nO3JldHVybiBuZXcgdih0aGlzLndyYXBMYXQ/SCh0LmxhdCx0aGlzLndyYXBMYXQsITApOnQubGF0LGUsdC5hbHQpfSx3cmFwTGF0TG5nQm91bmRzOmZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0Q2VudGVyKCksaT10aGlzLndyYXBMYXRMbmcoZSksbj1lLmxhdC1pLmxhdCxlPWUubG5nLWkubG5nO3JldHVybiAwPT1uJiYwPT1lP3Q6KGk9dC5nZXRTb3V0aFdlc3QoKSx0PXQuZ2V0Tm9ydGhFYXN0KCksbmV3IHMobmV3IHYoaS5sYXQtbixpLmxuZy1lKSxuZXcgdih0LmxhdC1uLHQubG5nLWUpKSl9fSxzdD1sKHt9LG90LHt3cmFwTG5nOlstMTgwLDE4MF0sUjo2MzcxZTMsZGlzdGFuY2U6ZnVuY3Rpb24odCxlKXt2YXIgaT1NYXRoLlBJLzE4MCxuPXQubGF0Kmksbz1lLmxhdCppLHM9TWF0aC5zaW4oKGUubGF0LXQubGF0KSppLzIpLGU9TWF0aC5zaW4oKGUubG5nLXQubG5nKSppLzIpLHQ9cypzK01hdGguY29zKG4pKk1hdGguY29zKG8pKmUqZSxpPTIqTWF0aC5hdGFuMihNYXRoLnNxcnQodCksTWF0aC5zcXJ0KDEtdCkpO3JldHVybiB0aGlzLlIqaX19KSxydD02Mzc4MTM3LHJ0PXtSOnJ0LE1BWF9MQVRJVFVERTo4NS4wNTExMjg3Nzk4LHByb2plY3Q6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5QSS8xODAsaT10aGlzLk1BWF9MQVRJVFVERSxpPU1hdGgubWF4KE1hdGgubWluKGksdC5sYXQpLC1pKSxpPU1hdGguc2luKGkqZSk7cmV0dXJuIG5ldyBwKHRoaXMuUip0LmxuZyplLHRoaXMuUipNYXRoLmxvZygoMStpKS8oMS1pKSkvMil9LHVucHJvamVjdDpmdW5jdGlvbih0KXt2YXIgZT0xODAvTWF0aC5QSTtyZXR1cm4gbmV3IHYoKDIqTWF0aC5hdGFuKE1hdGguZXhwKHQueS90aGlzLlIpKS1NYXRoLlBJLzIpKmUsdC54KmUvdGhpcy5SKX0sYm91bmRzOm5ldyBmKFstKHJ0PXJ0Kk1hdGguUEkpLC1ydF0sW3J0LHJ0XSl9O2Z1bmN0aW9uIGF0KHQsZSxpLG4pe2QodCk/KHRoaXMuX2E9dFswXSx0aGlzLl9iPXRbMV0sdGhpcy5fYz10WzJdLHRoaXMuX2Q9dFszXSk6KHRoaXMuX2E9dCx0aGlzLl9iPWUsdGhpcy5fYz1pLHRoaXMuX2Q9bil9ZnVuY3Rpb24gaHQodCxlLGksbil7cmV0dXJuIG5ldyBhdCh0LGUsaSxuKX1hdC5wcm90b3R5cGU9e3RyYW5zZm9ybTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm0odC5jbG9uZSgpLGUpfSxfdHJhbnNmb3JtOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueD0oZT1lfHwxKSoodGhpcy5fYSp0LngrdGhpcy5fYiksdC55PWUqKHRoaXMuX2MqdC55K3RoaXMuX2QpLHR9LHVudHJhbnNmb3JtOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBwKCh0LngvKGU9ZXx8MSktdGhpcy5fYikvdGhpcy5fYSwodC55L2UtdGhpcy5fZCkvdGhpcy5fYyl9fTt2YXIgbHQ9bCh7fSxzdCx7Y29kZToiRVBTRzozODU3Iixwcm9qZWN0aW9uOnJ0LHRyYW5zZm9ybWF0aW9uOmh0KGx0PS41LyhNYXRoLlBJKnJ0LlIpLC41LC1sdCwuNSl9KSx1dD1sKHt9LGx0LHtjb2RlOiJFUFNHOjkwMDkxMyJ9KTtmdW5jdGlvbiBjdCh0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdCl9ZnVuY3Rpb24gZHQodCxlKXtmb3IodmFyIGksbixvLHMscj0iIixhPTAsaD10Lmxlbmd0aDthPGg7YSsrKXtmb3IoaT0wLG49KG89dFthXSkubGVuZ3RoO2k8bjtpKyspcis9KGk/IkwiOiJNIikrKHM9b1tpXSkueCsiICIrcy55O3IrPWU/Yi5zdmc/InoiOiJ4IjoiIn1yZXR1cm4gcnx8Ik0wIDAifXZhciBfdD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUscHQ9IkFjdGl2ZVhPYmplY3QiaW4gd2luZG93LG10PXB0JiYhZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcixuPSJtc0xhdW5jaFVyaSJpbiBuYXZpZ2F0b3ImJiEoImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCksZnQ9eSgid2Via2l0IiksZ3Q9eSgiYW5kcm9pZCIpLHZ0PXkoImFuZHJvaWQgMiIpfHx5KCJhbmRyb2lkIDMiKSx5dD1wYXJzZUludCgvV2ViS2l0XC8oWzAtOV0rKXwkLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpWzFdLDEwKSx5dD1ndCYmeSgiR29vZ2xlIikmJnl0PDUzNyYmISgiQXVkaW9Ob2RlImluIHdpbmRvdykseHQ9ISF3aW5kb3cub3BlcmEsd3Q9IW4mJnkoImNocm9tZSIpLGJ0PXkoImdlY2tvIikmJiFmdCYmIXh0JiYhcHQsUHQ9IXd0JiZ5KCJzYWZhcmkiKSxMdD15KCJwaGFudG9tIiksbz0iT1RyYW5zaXRpb24iaW4gX3QsVHQ9MD09PW5hdmlnYXRvci5wbGF0Zm9ybS5pbmRleE9mKCJXaW4iKSxNdD1wdCYmInRyYW5zaXRpb24iaW4gX3QsenQ9IldlYktpdENTU01hdHJpeCJpbiB3aW5kb3cmJiJtMTEiaW4gbmV3IHdpbmRvdy5XZWJLaXRDU1NNYXRyaXgmJiF2dCxfdD0iTW96UGVyc3BlY3RpdmUiaW4gX3QsQ3Q9IXdpbmRvdy5MX0RJU0FCTEVfM0QmJihNdHx8enR8fF90KSYmIW8mJiFMdCxadD0idW5kZWZpbmVkIiE9dHlwZW9mIG9yaWVudGF0aW9ufHx5KCJtb2JpbGUiKSxTdD1adCYmZnQsRXQ9WnQmJnp0LGt0PSF3aW5kb3cuUG9pbnRlckV2ZW50JiZ3aW5kb3cuTVNQb2ludGVyRXZlbnQsT3Q9ISghd2luZG93LlBvaW50ZXJFdmVudCYmIWt0KSxBdD0ib250b3VjaHN0YXJ0ImluIHdpbmRvd3x8ISF3aW5kb3cuVG91Y2hFdmVudCxCdD0hd2luZG93LkxfTk9fVE9VQ0gmJihBdHx8T3QpLEl0PVp0JiZ4dCxSdD1adCYmYnQsTnQ9MTwod2luZG93LmRldmljZVBpeGVsUmF0aW98fHdpbmRvdy5zY3JlZW4uZGV2aWNlWERQSS93aW5kb3cuc2NyZWVuLmxvZ2ljYWxYRFBJKSxEdD1mdW5jdGlvbigpe3ZhciB0PSExO3RyeXt2YXIgZT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXt0PSEwfX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZUV2ZW50U3VwcG9ydCIsdSxlKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdFBhc3NpdmVFdmVudFN1cHBvcnQiLHUsZSl9Y2F0Y2godCl7fXJldHVybiB0fSgpLGp0PSEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCxIdD0hKCFkb2N1bWVudC5jcmVhdGVFbGVtZW50TlN8fCFjdCgic3ZnIikuY3JlYXRlU1ZHUmVjdCksV3Q9ISFIdCYmKChXdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnLz4iLCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI9PT0oV3QuZmlyc3RDaGlsZCYmV3QuZmlyc3RDaGlsZC5uYW1lc3BhY2VVUkkpKTtmdW5jdGlvbiB5KHQpe3JldHVybiAwPD1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZih0KX12YXIgYj17aWU6cHQsaWVsdDk6bXQsZWRnZTpuLHdlYmtpdDpmdCxhbmRyb2lkOmd0LGFuZHJvaWQyMzp2dCxhbmRyb2lkU3RvY2s6eXQsb3BlcmE6eHQsY2hyb21lOnd0LGdlY2tvOmJ0LHNhZmFyaTpQdCxwaGFudG9tOkx0LG9wZXJhMTI6byx3aW46VHQsaWUzZDpNdCx3ZWJraXQzZDp6dCxnZWNrbzNkOl90LGFueTNkOkN0LG1vYmlsZTpadCxtb2JpbGVXZWJraXQ6U3QsbW9iaWxlV2Via2l0M2Q6RXQsbXNQb2ludGVyOmt0LHBvaW50ZXI6T3QsdG91Y2g6QnQsdG91Y2hOYXRpdmU6QXQsbW9iaWxlT3BlcmE6SXQsbW9iaWxlR2Vja286UnQscmV0aW5hOk50LHBhc3NpdmVFdmVudHM6RHQsY2FudmFzOmp0LHN2ZzpIdCx2bWw6IUh0JiZmdW5jdGlvbigpe3RyeXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPSh0LmlubmVySFRNTD0nPHY6c2hhcGUgYWRqPSIxIi8+Jyx0LmZpcnN0Q2hpbGQpO3JldHVybiBlLnN0eWxlLmJlaGF2aW9yPSJ1cmwoI2RlZmF1bHQjVk1MKSIsZSYmIm9iamVjdCI9PXR5cGVvZiBlLmFkan1jYXRjaCh0KXtyZXR1cm4hMX19KCksaW5saW5lU3ZnOld0LG1hYzowPT09bmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIk1hYyIpLGxpbnV4OjA9PT1uYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZigiTGludXgiKX0sRnQ9Yi5tc1BvaW50ZXI/Ik1TUG9pbnRlckRvd24iOiJwb2ludGVyZG93biIsVXQ9Yi5tc1BvaW50ZXI/Ik1TUG9pbnRlck1vdmUiOiJwb2ludGVybW92ZSIsVnQ9Yi5tc1BvaW50ZXI/Ik1TUG9pbnRlclVwIjoicG9pbnRlcnVwIixxdD1iLm1zUG9pbnRlcj8iTVNQb2ludGVyQ2FuY2VsIjoicG9pbnRlcmNhbmNlbCIsR3Q9e3RvdWNoc3RhcnQ6RnQsdG91Y2htb3ZlOlV0LHRvdWNoZW5kOlZ0LHRvdWNoY2FuY2VsOnF0fSxLdD17dG91Y2hzdGFydDpmdW5jdGlvbih0LGUpe2UuTVNQT0lOVEVSX1RZUEVfVE9VQ0gmJmUucG9pbnRlclR5cGU9PT1lLk1TUE9JTlRFUl9UWVBFX1RPVUNIJiZPKGUpO2VlKHQsZSl9LHRvdWNobW92ZTplZSx0b3VjaGVuZDplZSx0b3VjaGNhbmNlbDplZX0sWXQ9e30sWHQ9ITE7ZnVuY3Rpb24gSnQodCxlLGkpe3JldHVybiJ0b3VjaHN0YXJ0IiE9PWV8fFh0fHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihGdCwkdCwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihVdCxRdCwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihWdCx0ZSwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihxdCx0ZSwhMCksWHQ9ITApLEt0W2VdPyhpPUt0W2VdLmJpbmQodGhpcyxpKSx0LmFkZEV2ZW50TGlzdGVuZXIoR3RbZV0saSwhMSksaSk6KGNvbnNvbGUud2Fybigid3JvbmcgZXZlbnQgc3BlY2lmaWVkOiIsZSksdSl9ZnVuY3Rpb24gJHQodCl7WXRbdC5wb2ludGVySWRdPXR9ZnVuY3Rpb24gUXQodCl7WXRbdC5wb2ludGVySWRdJiYoWXRbdC5wb2ludGVySWRdPXQpfWZ1bmN0aW9uIHRlKHQpe2RlbGV0ZSBZdFt0LnBvaW50ZXJJZF19ZnVuY3Rpb24gZWUodCxlKXtpZihlLnBvaW50ZXJUeXBlIT09KGUuTVNQT0lOVEVSX1RZUEVfTU9VU0V8fCJtb3VzZSIpKXtmb3IodmFyIGkgaW4gZS50b3VjaGVzPVtdLFl0KWUudG91Y2hlcy5wdXNoKFl0W2ldKTtlLmNoYW5nZWRUb3VjaGVzPVtlXSx0KGUpfX12YXIgaWU9MjAwO2Z1bmN0aW9uIG5lKHQsaSl7dC5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGljayIsaSk7dmFyIG4sbz0wO2Z1bmN0aW9uIGUodCl7dmFyIGU7MSE9PXQuZGV0YWlsP249dC5kZXRhaWw6Im1vdXNlIj09PXQucG9pbnRlclR5cGV8fHQuc291cmNlQ2FwYWJpbGl0aWVzJiYhdC5zb3VyY2VDYXBhYmlsaXRpZXMuZmlyZXNUb3VjaEV2ZW50c3x8KChlPU5lKHQpKS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgSFRNTExhYmVsRWxlbWVudCYmdC5hdHRyaWJ1dGVzLmZvcn0pJiYhZS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudHx8dCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50fSl8fCgoZT1EYXRlLm5vdygpKS1vPD1pZT8yPT09KytuJiZpKGZ1bmN0aW9uKHQpe3ZhciBlLGksbj17fTtmb3IoaSBpbiB0KWU9dFtpXSxuW2ldPWUmJmUuYmluZD9lLmJpbmQodCk6ZTtyZXR1cm4odD1uKS50eXBlPSJkYmxjbGljayIsbi5kZXRhaWw9MixuLmlzVHJ1c3RlZD0hMSxuLl9zaW11bGF0ZWQ9ITAsbn0odCkpOm49MSxvPWUpKX1yZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZSkse2RibGNsaWNrOmksc2ltRGJsY2xpY2s6ZX19dmFyIG9lLHNlLHJlLGFlLGhlLGxlLHVlPXdlKFsidHJhbnNmb3JtIiwid2Via2l0VHJhbnNmb3JtIiwiT1RyYW5zZm9ybSIsIk1velRyYW5zZm9ybSIsIm1zVHJhbnNmb3JtIl0pLGNlPXdlKFsid2Via2l0VHJhbnNpdGlvbiIsInRyYW5zaXRpb24iLCJPVHJhbnNpdGlvbiIsIk1velRyYW5zaXRpb24iLCJtc1RyYW5zaXRpb24iXSksZGU9IndlYmtpdFRyYW5zaXRpb24iPT09Y2V8fCJPVHJhbnNpdGlvbiI9PT1jZT9jZSsiRW5kIjoidHJhbnNpdGlvbmVuZCI7ZnVuY3Rpb24gX2UodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKHQpOnR9ZnVuY3Rpb24gcGUodCxlKXt2YXIgaT10LnN0eWxlW2VdfHx0LmN1cnJlbnRTdHlsZSYmdC5jdXJyZW50U3R5bGVbZV07cmV0dXJuImF1dG8iPT09KGk9aSYmImF1dG8iIT09aXx8IWRvY3VtZW50LmRlZmF1bHRWaWV3P2k6KHQ9ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpKT90W2VdOm51bGwpP251bGw6aX1mdW5jdGlvbiBQKHQsZSxpKXt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuIHQuY2xhc3NOYW1lPWV8fCIiLGkmJmkuYXBwZW5kQ2hpbGQodCksdH1mdW5jdGlvbiBUKHQpe3ZhciBlPXQucGFyZW50Tm9kZTtlJiZlLnJlbW92ZUNoaWxkKHQpfWZ1bmN0aW9uIG1lKHQpe2Zvcig7dC5maXJzdENoaWxkOyl0LnJlbW92ZUNoaWxkKHQuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gZmUodCl7dmFyIGU9dC5wYXJlbnROb2RlO2UmJmUubGFzdENoaWxkIT09dCYmZS5hcHBlbmRDaGlsZCh0KX1mdW5jdGlvbiBnZSh0KXt2YXIgZT10LnBhcmVudE5vZGU7ZSYmZS5maXJzdENoaWxkIT09dCYmZS5pbnNlcnRCZWZvcmUodCxlLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIHZlKHQsZSl7cmV0dXJuIHZvaWQgMCE9PXQuY2xhc3NMaXN0P3QuY2xhc3NMaXN0LmNvbnRhaW5zKGUpOjA8KHQ9eGUodCkpLmxlbmd0aCYmbmV3IFJlZ0V4cCgiKF58XFxzKSIrZSsiKFxcc3wkKSIpLnRlc3QodCl9ZnVuY3Rpb24gTSh0LGUpe3ZhciBpO2lmKHZvaWQgMCE9PXQuY2xhc3NMaXN0KWZvcih2YXIgbj1GKGUpLG89MCxzPW4ubGVuZ3RoO288cztvKyspdC5jbGFzc0xpc3QuYWRkKG5bb10pO2Vsc2UgdmUodCxlKXx8eWUodCwoKGk9eGUodCkpP2krIiAiOiIiKStlKX1mdW5jdGlvbiB6KHQsZSl7dm9pZCAwIT09dC5jbGFzc0xpc3Q/dC5jbGFzc0xpc3QucmVtb3ZlKGUpOnllKHQsVygoIiAiK3hlKHQpKyIgIikucmVwbGFjZSgiICIrZSsiICIsIiAiKSkpfWZ1bmN0aW9uIHllKHQsZSl7dm9pZCAwPT09dC5jbGFzc05hbWUuYmFzZVZhbD90LmNsYXNzTmFtZT1lOnQuY2xhc3NOYW1lLmJhc2VWYWw9ZX1mdW5jdGlvbiB4ZSh0KXtyZXR1cm4gdm9pZCAwPT09KHQ9dC5jb3JyZXNwb25kaW5nRWxlbWVudD90LmNvcnJlc3BvbmRpbmdFbGVtZW50OnQpLmNsYXNzTmFtZS5iYXNlVmFsP3QuY2xhc3NOYW1lOnQuY2xhc3NOYW1lLmJhc2VWYWx9ZnVuY3Rpb24gQyh0LGUpe2lmKCJvcGFjaXR5ImluIHQuc3R5bGUpdC5zdHlsZS5vcGFjaXR5PWU7ZWxzZSBpZigiZmlsdGVyImluIHQuc3R5bGUpe3ZhciBpPSExLG49IkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhIjt0cnl7aT10LmZpbHRlcnMuaXRlbShuKX1jYXRjaCh0KXtpZigxPT09ZSlyZXR1cm59ZT1NYXRoLnJvdW5kKDEwMCplKSxpPyhpLkVuYWJsZWQ9MTAwIT09ZSxpLk9wYWNpdHk9ZSk6dC5zdHlsZS5maWx0ZXIrPSIgcHJvZ2lkOiIrbisiKG9wYWNpdHk9IitlKyIpIn19ZnVuY3Rpb24gd2UodCl7Zm9yKHZhciBlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSxpPTA7aTx0Lmxlbmd0aDtpKyspaWYodFtpXWluIGUpcmV0dXJuIHRbaV07cmV0dXJuITF9ZnVuY3Rpb24gYmUodCxlLGkpe2U9ZXx8bmV3IHAoMCwwKTt0LnN0eWxlW3VlXT0oYi5pZTNkPyJ0cmFuc2xhdGUoIitlLngrInB4LCIrZS55KyJweCkiOiJ0cmFuc2xhdGUzZCgiK2UueCsicHgsIitlLnkrInB4LDApIikrKGk/IiBzY2FsZSgiK2krIikiOiIiKX1mdW5jdGlvbiBaKHQsZSl7dC5fbGVhZmxldF9wb3M9ZSxiLmFueTNkP2JlKHQsZSk6KHQuc3R5bGUubGVmdD1lLngrInB4Iix0LnN0eWxlLnRvcD1lLnkrInB4Iil9ZnVuY3Rpb24gUGUodCl7cmV0dXJuIHQuX2xlYWZsZXRfcG9zfHxuZXcgcCgwLDApfWZ1bmN0aW9uIExlKCl7Uyh3aW5kb3csImRyYWdzdGFydCIsTyl9ZnVuY3Rpb24gVGUoKXtrKHdpbmRvdywiZHJhZ3N0YXJ0IixPKX1mdW5jdGlvbiBNZSh0KXtmb3IoOy0xPT09dC50YWJJbmRleDspdD10LnBhcmVudE5vZGU7dC5zdHlsZSYmKHplKCksbGU9KGhlPXQpLnN0eWxlLm91dGxpbmVTdHlsZSx0LnN0eWxlLm91dGxpbmVTdHlsZT0ibm9uZSIsUyh3aW5kb3csImtleWRvd24iLHplKSl9ZnVuY3Rpb24gemUoKXtoZSYmKGhlLnN0eWxlLm91dGxpbmVTdHlsZT1sZSxsZT1oZT12b2lkIDAsayh3aW5kb3csImtleWRvd24iLHplKSl9ZnVuY3Rpb24gQ2UodCl7Zm9yKDshKCh0PXQucGFyZW50Tm9kZSkub2Zmc2V0V2lkdGgmJnQub2Zmc2V0SGVpZ2h0fHx0PT09ZG9jdW1lbnQuYm9keSk7KTtyZXR1cm4gdH1mdW5jdGlvbiBaZSh0KXt2YXIgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybnt4OmUud2lkdGgvdC5vZmZzZXRXaWR0aHx8MSx5OmUuaGVpZ2h0L3Qub2Zmc2V0SGVpZ2h0fHwxLGJvdW5kaW5nQ2xpZW50UmVjdDplfX1hZT0ib25zZWxlY3RzdGFydCJpbiBkb2N1bWVudD8ocmU9ZnVuY3Rpb24oKXtTKHdpbmRvdywic2VsZWN0c3RhcnQiLE8pfSxmdW5jdGlvbigpe2sod2luZG93LCJzZWxlY3RzdGFydCIsTyl9KTooc2U9d2UoWyJ1c2VyU2VsZWN0IiwiV2Via2l0VXNlclNlbGVjdCIsIk9Vc2VyU2VsZWN0IiwiTW96VXNlclNlbGVjdCIsIm1zVXNlclNlbGVjdCJdKSxyZT1mdW5jdGlvbigpe3ZhciB0O3NlJiYodD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUsb2U9dFtzZV0sdFtzZV09Im5vbmUiKX0sZnVuY3Rpb24oKXtzZSYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZVtzZV09b2Usb2U9dm9pZCAwKX0pO3B0PXtfX3Byb3RvX186bnVsbCxUUkFOU0ZPUk06dWUsVFJBTlNJVElPTjpjZSxUUkFOU0lUSU9OX0VORDpkZSxnZXQ6X2UsZ2V0U3R5bGU6cGUsY3JlYXRlOlAscmVtb3ZlOlQsZW1wdHk6bWUsdG9Gcm9udDpmZSx0b0JhY2s6Z2UsaGFzQ2xhc3M6dmUsYWRkQ2xhc3M6TSxyZW1vdmVDbGFzczp6LHNldENsYXNzOnllLGdldENsYXNzOnhlLHNldE9wYWNpdHk6Qyx0ZXN0UHJvcDp3ZSxzZXRUcmFuc2Zvcm06YmUsc2V0UG9zaXRpb246WixnZXRQb3NpdGlvbjpQZSxnZXQgZGlzYWJsZVRleHRTZWxlY3Rpb24oKXtyZXR1cm4gcmV9LGdldCBlbmFibGVUZXh0U2VsZWN0aW9uKCl7cmV0dXJuIGFlfSxkaXNhYmxlSW1hZ2VEcmFnOkxlLGVuYWJsZUltYWdlRHJhZzpUZSxwcmV2ZW50T3V0bGluZTpNZSxyZXN0b3JlT3V0bGluZTp6ZSxnZXRTaXplZFBhcmVudE5vZGU6Q2UsZ2V0U2NhbGU6WmV9O2Z1bmN0aW9uIFModCxlLGksbil7aWYoZSYmIm9iamVjdCI9PXR5cGVvZiBlKWZvcih2YXIgbyBpbiBlKWtlKHQsbyxlW29dLGkpO2Vsc2UgZm9yKHZhciBzPTAscj0oZT1GKGUpKS5sZW5ndGg7czxyO3MrKylrZSh0LGVbc10saSxuKTtyZXR1cm4gdGhpc312YXIgRT0iX2xlYWZsZXRfZXZlbnRzIjtmdW5jdGlvbiBrKHQsZSxpLG4pe2lmKDE9PT1hcmd1bWVudHMubGVuZ3RoKVNlKHQpLGRlbGV0ZSB0W0VdO2Vsc2UgaWYoZSYmIm9iamVjdCI9PXR5cGVvZiBlKWZvcih2YXIgbyBpbiBlKU9lKHQsbyxlW29dLGkpO2Vsc2UgaWYoZT1GKGUpLDI9PT1hcmd1bWVudHMubGVuZ3RoKVNlKHQsZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1HKGUsdCl9KTtlbHNlIGZvcih2YXIgcz0wLHI9ZS5sZW5ndGg7czxyO3MrKylPZSh0LGVbc10saSxuKTtyZXR1cm4gdGhpc31mdW5jdGlvbiBTZSh0LGUpe2Zvcih2YXIgaSBpbiB0W0VdKXt2YXIgbj1pLnNwbGl0KC9cZC8pWzBdO2UmJiFlKG4pfHxPZSh0LG4sbnVsbCxudWxsLGkpfX12YXIgRWU9e21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQiLHdoZWVsOiEoIm9ud2hlZWwiaW4gd2luZG93KSYmIm1vdXNld2hlZWwifTtmdW5jdGlvbiBrZShlLHQsaSxuKXt2YXIgbyxzLHI9dCtoKGkpKyhuPyJfIitoKG4pOiIiKTtlW0VdJiZlW0VdW3JdfHwocz1vPWZ1bmN0aW9uKHQpe3JldHVybiBpLmNhbGwobnx8ZSx0fHx3aW5kb3cuZXZlbnQpfSwhYi50b3VjaE5hdGl2ZSYmYi5wb2ludGVyJiYwPT09dC5pbmRleE9mKCJ0b3VjaCIpP289SnQoZSx0LG8pOmIudG91Y2gmJiJkYmxjbGljayI9PT10P289bmUoZSxvKToiYWRkRXZlbnRMaXN0ZW5lciJpbiBlPyJ0b3VjaHN0YXJ0Ij09PXR8fCJ0b3VjaG1vdmUiPT09dHx8IndoZWVsIj09PXR8fCJtb3VzZXdoZWVsIj09PXQ/ZS5hZGRFdmVudExpc3RlbmVyKEVlW3RdfHx0LG8sISFiLnBhc3NpdmVFdmVudHMmJntwYXNzaXZlOiExfSk6Im1vdXNlZW50ZXIiPT09dHx8Im1vdXNlbGVhdmUiPT09dD9lLmFkZEV2ZW50TGlzdGVuZXIoRWVbdF0sbz1mdW5jdGlvbih0KXt0PXR8fHdpbmRvdy5ldmVudCxXZShlLHQpJiZzKHQpfSwhMSk6ZS5hZGRFdmVudExpc3RlbmVyKHQscywhMSk6ZS5hdHRhY2hFdmVudCgib24iK3QsbyksZVtFXT1lW0VdfHx7fSxlW0VdW3JdPW8pfWZ1bmN0aW9uIE9lKHQsZSxpLG4sbyl7bz1vfHxlK2goaSkrKG4/Il8iK2gobik6IiIpO3ZhciBzLHIsaT10W0VdJiZ0W0VdW29dO2kmJighYi50b3VjaE5hdGl2ZSYmYi5wb2ludGVyJiYwPT09ZS5pbmRleE9mKCJ0b3VjaCIpPyhuPXQscj1pLEd0W3M9ZV0/bi5yZW1vdmVFdmVudExpc3RlbmVyKEd0W3NdLHIsITEpOmNvbnNvbGUud2Fybigid3JvbmcgZXZlbnQgc3BlY2lmaWVkOiIscykpOmIudG91Y2gmJiJkYmxjbGljayI9PT1lPyhuPWksKHI9dCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLG4uZGJsY2xpY2spLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLG4uc2ltRGJsY2xpY2spKToicmVtb3ZlRXZlbnRMaXN0ZW5lciJpbiB0P3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihFZVtlXXx8ZSxpLCExKTp0LmRldGFjaEV2ZW50KCJvbiIrZSxpKSx0W0VdW29dPW51bGwpfWZ1bmN0aW9uIEFlKHQpe3JldHVybiB0LnN0b3BQcm9wYWdhdGlvbj90LnN0b3BQcm9wYWdhdGlvbigpOnQub3JpZ2luYWxFdmVudD90Lm9yaWdpbmFsRXZlbnQuX3N0b3BwZWQ9ITA6dC5jYW5jZWxCdWJibGU9ITAsdGhpc31mdW5jdGlvbiBCZSh0KXtyZXR1cm4ga2UodCwid2hlZWwiLEFlKSx0aGlzfWZ1bmN0aW9uIEllKHQpe3JldHVybiBTKHQsIm1vdXNlZG93biB0b3VjaHN0YXJ0IGRibGNsaWNrIGNvbnRleHRtZW51IixBZSksdC5fbGVhZmxldF9kaXNhYmxlX2NsaWNrPSEwLHRoaXN9ZnVuY3Rpb24gTyh0KXtyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdD90LnByZXZlbnREZWZhdWx0KCk6dC5yZXR1cm5WYWx1ZT0hMSx0aGlzfWZ1bmN0aW9uIFJlKHQpe3JldHVybiBPKHQpLEFlKHQpLHRoaXN9ZnVuY3Rpb24gTmUodCl7aWYodC5jb21wb3NlZFBhdGgpcmV0dXJuIHQuY29tcG9zZWRQYXRoKCk7Zm9yKHZhciBlPVtdLGk9dC50YXJnZXQ7aTspZS5wdXNoKGkpLGk9aS5wYXJlbnROb2RlO3JldHVybiBlfWZ1bmN0aW9uIERlKHQsZSl7dmFyIGksbjtyZXR1cm4gZT8obj0oaT1aZShlKSkuYm91bmRpbmdDbGllbnRSZWN0LG5ldyBwKCh0LmNsaWVudFgtbi5sZWZ0KS9pLngtZS5jbGllbnRMZWZ0LCh0LmNsaWVudFktbi50b3ApL2kueS1lLmNsaWVudFRvcCkpOm5ldyBwKHQuY2xpZW50WCx0LmNsaWVudFkpfXZhciBqZT1iLmxpbnV4JiZiLmNocm9tZT93aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzpiLm1hYz8zKndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjA8d2luZG93LmRldmljZVBpeGVsUmF0aW8/Mip3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzoxO2Z1bmN0aW9uIEhlKHQpe3JldHVybiBiLmVkZ2U/dC53aGVlbERlbHRhWS8yOnQuZGVsdGFZJiYwPT09dC5kZWx0YU1vZGU/LXQuZGVsdGFZL2plOnQuZGVsdGFZJiYxPT09dC5kZWx0YU1vZGU/MjAqLXQuZGVsdGFZOnQuZGVsdGFZJiYyPT09dC5kZWx0YU1vZGU/NjAqLXQuZGVsdGFZOnQuZGVsdGFYfHx0LmRlbHRhWj8wOnQud2hlZWxEZWx0YT8odC53aGVlbERlbHRhWXx8dC53aGVlbERlbHRhKS8yOnQuZGV0YWlsJiZNYXRoLmFicyh0LmRldGFpbCk8MzI3NjU/MjAqLXQuZGV0YWlsOnQuZGV0YWlsP3QuZGV0YWlsLy0zMjc2NSo2MDowfWZ1bmN0aW9uIFdlKHQsZSl7dmFyIGk9ZS5yZWxhdGVkVGFyZ2V0O2lmKCFpKXJldHVybiEwO3RyeXtmb3IoO2kmJmkhPT10OylpPWkucGFyZW50Tm9kZX1jYXRjaCh0KXtyZXR1cm4hMX1yZXR1cm4gaSE9PXR9dmFyIG10PXtfX3Byb3RvX186bnVsbCxvbjpTLG9mZjprLHN0b3BQcm9wYWdhdGlvbjpBZSxkaXNhYmxlU2Nyb2xsUHJvcGFnYXRpb246QmUsZGlzYWJsZUNsaWNrUHJvcGFnYXRpb246SWUscHJldmVudERlZmF1bHQ6TyxzdG9wOlJlLGdldFByb3BhZ2F0aW9uUGF0aDpOZSxnZXRNb3VzZVBvc2l0aW9uOkRlLGdldFdoZWVsRGVsdGE6SGUsaXNFeHRlcm5hbFRhcmdldDpXZSxhZGRMaXN0ZW5lcjpTLHJlbW92ZUxpc3RlbmVyOmt9LEZlPWl0LmV4dGVuZCh7cnVuOmZ1bmN0aW9uKHQsZSxpLG4pe3RoaXMuc3RvcCgpLHRoaXMuX2VsPXQsdGhpcy5faW5Qcm9ncmVzcz0hMCx0aGlzLl9kdXJhdGlvbj1pfHwuMjUsdGhpcy5fZWFzZU91dFBvd2VyPTEvTWF0aC5tYXgobnx8LjUsLjIpLHRoaXMuX3N0YXJ0UG9zPVBlKHQpLHRoaXMuX29mZnNldD1lLnN1YnRyYWN0KHRoaXMuX3N0YXJ0UG9zKSx0aGlzLl9zdGFydFRpbWU9K25ldyBEYXRlLHRoaXMuZmlyZSgic3RhcnQiKSx0aGlzLl9hbmltYXRlKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9pblByb2dyZXNzJiYodGhpcy5fc3RlcCghMCksdGhpcy5fY29tcGxldGUoKSl9LF9hbmltYXRlOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbUlkPXgodGhpcy5fYW5pbWF0ZSx0aGlzKSx0aGlzLl9zdGVwKCl9LF9zdGVwOmZ1bmN0aW9uKHQpe3ZhciBlPStuZXcgRGF0ZS10aGlzLl9zdGFydFRpbWUsaT0xZTMqdGhpcy5fZHVyYXRpb247ZTxpP3RoaXMuX3J1bkZyYW1lKHRoaXMuX2Vhc2VPdXQoZS9pKSx0KToodGhpcy5fcnVuRnJhbWUoMSksdGhpcy5fY29tcGxldGUoKSl9LF9ydW5GcmFtZTpmdW5jdGlvbih0LGUpe3Q9dGhpcy5fc3RhcnRQb3MuYWRkKHRoaXMuX29mZnNldC5tdWx0aXBseUJ5KHQpKTtlJiZ0Ll9yb3VuZCgpLFoodGhpcy5fZWwsdCksdGhpcy5maXJlKCJzdGVwIil9LF9jb21wbGV0ZTpmdW5jdGlvbigpe3IodGhpcy5fYW5pbUlkKSx0aGlzLl9pblByb2dyZXNzPSExLHRoaXMuZmlyZSgiZW5kIil9LF9lYXNlT3V0OmZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGgucG93KDEtdCx0aGlzLl9lYXNlT3V0UG93ZXIpfX0pLEE9aXQuZXh0ZW5kKHtvcHRpb25zOntjcnM6bHQsY2VudGVyOnZvaWQgMCx6b29tOnZvaWQgMCxtaW5ab29tOnZvaWQgMCxtYXhab29tOnZvaWQgMCxsYXllcnM6W10sbWF4Qm91bmRzOnZvaWQgMCxyZW5kZXJlcjp2b2lkIDAsem9vbUFuaW1hdGlvbjohMCx6b29tQW5pbWF0aW9uVGhyZXNob2xkOjQsZmFkZUFuaW1hdGlvbjohMCxtYXJrZXJab29tQW5pbWF0aW9uOiEwLHRyYW5zZm9ybTNETGltaXQ6ODM4ODYwOCx6b29tU25hcDoxLHpvb21EZWx0YToxLHRyYWNrUmVzaXplOiEwfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSl7ZT1jKHRoaXMsZSksdGhpcy5faGFuZGxlcnM9W10sdGhpcy5fbGF5ZXJzPXt9LHRoaXMuX3pvb21Cb3VuZExheWVycz17fSx0aGlzLl9zaXplQ2hhbmdlZD0hMCx0aGlzLl9pbml0Q29udGFpbmVyKHQpLHRoaXMuX2luaXRMYXlvdXQoKSx0aGlzLl9vblJlc2l6ZT1hKHRoaXMuX29uUmVzaXplLHRoaXMpLHRoaXMuX2luaXRFdmVudHMoKSxlLm1heEJvdW5kcyYmdGhpcy5zZXRNYXhCb3VuZHMoZS5tYXhCb3VuZHMpLHZvaWQgMCE9PWUuem9vbSYmKHRoaXMuX3pvb209dGhpcy5fbGltaXRab29tKGUuem9vbSkpLGUuY2VudGVyJiZ2b2lkIDAhPT1lLnpvb20mJnRoaXMuc2V0Vmlldyh3KGUuY2VudGVyKSxlLnpvb20se3Jlc2V0OiEwfSksdGhpcy5jYWxsSW5pdEhvb2tzKCksdGhpcy5fem9vbUFuaW1hdGVkPWNlJiZiLmFueTNkJiYhYi5tb2JpbGVPcGVyYSYmdGhpcy5vcHRpb25zLnpvb21BbmltYXRpb24sdGhpcy5fem9vbUFuaW1hdGVkJiYodGhpcy5fY3JlYXRlQW5pbVByb3h5KCksUyh0aGlzLl9wcm94eSxkZSx0aGlzLl9jYXRjaFRyYW5zaXRpb25FbmQsdGhpcykpLHRoaXMuX2FkZExheWVycyh0aGlzLm9wdGlvbnMubGF5ZXJzKX0sc2V0VmlldzpmdW5jdGlvbih0LGUsaSl7aWYoKGU9dm9pZCAwPT09ZT90aGlzLl96b29tOnRoaXMuX2xpbWl0Wm9vbShlKSx0PXRoaXMuX2xpbWl0Q2VudGVyKHcodCksZSx0aGlzLm9wdGlvbnMubWF4Qm91bmRzKSxpPWl8fHt9LHRoaXMuX3N0b3AoKSx0aGlzLl9sb2FkZWQmJiFpLnJlc2V0JiYhMCE9PWkpJiYodm9pZCAwIT09aS5hbmltYXRlJiYoaS56b29tPWwoe2FuaW1hdGU6aS5hbmltYXRlfSxpLnpvb20pLGkucGFuPWwoe2FuaW1hdGU6aS5hbmltYXRlLGR1cmF0aW9uOmkuZHVyYXRpb259LGkucGFuKSksdGhpcy5fem9vbSE9PWU/dGhpcy5fdHJ5QW5pbWF0ZWRab29tJiZ0aGlzLl90cnlBbmltYXRlZFpvb20odCxlLGkuem9vbSk6dGhpcy5fdHJ5QW5pbWF0ZWRQYW4odCxpLnBhbikpKXJldHVybiBjbGVhclRpbWVvdXQodGhpcy5fc2l6ZVRpbWVyKSx0aGlzO3JldHVybiB0aGlzLl9yZXNldFZpZXcodCxlLGkucGFuJiZpLnBhbi5ub01vdmVTdGFydCksdGhpc30sc2V0Wm9vbTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9sb2FkZWQ/dGhpcy5zZXRWaWV3KHRoaXMuZ2V0Q2VudGVyKCksdCx7em9vbTplfSk6KHRoaXMuX3pvb209dCx0aGlzKX0sem9vbUluOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9dHx8KGIuYW55M2Q/dGhpcy5vcHRpb25zLnpvb21EZWx0YToxKSx0aGlzLnNldFpvb20odGhpcy5fem9vbSt0LGUpfSx6b29tT3V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9dHx8KGIuYW55M2Q/dGhpcy5vcHRpb25zLnpvb21EZWx0YToxKSx0aGlzLnNldFpvb20odGhpcy5fem9vbS10LGUpfSxzZXRab29tQXJvdW5kOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLmdldFpvb21TY2FsZShlKSxvPXRoaXMuZ2V0U2l6ZSgpLmRpdmlkZUJ5KDIpLHQ9KHQgaW5zdGFuY2VvZiBwP3Q6dGhpcy5sYXRMbmdUb0NvbnRhaW5lclBvaW50KHQpKS5zdWJ0cmFjdChvKS5tdWx0aXBseUJ5KDEtMS9uKSxuPXRoaXMuY29udGFpbmVyUG9pbnRUb0xhdExuZyhvLmFkZCh0KSk7cmV0dXJuIHRoaXMuc2V0VmlldyhuLGUse3pvb206aX0pfSxfZ2V0Qm91bmRzQ2VudGVyWm9vbTpmdW5jdGlvbih0LGUpe2U9ZXx8e30sdD10LmdldEJvdW5kcz90LmdldEJvdW5kcygpOmcodCk7dmFyIGk9bShlLnBhZGRpbmdUb3BMZWZ0fHxlLnBhZGRpbmd8fFswLDBdKSxuPW0oZS5wYWRkaW5nQm90dG9tUmlnaHR8fGUucGFkZGluZ3x8WzAsMF0pLG89dGhpcy5nZXRCb3VuZHNab29tKHQsITEsaS5hZGQobikpO3JldHVybihvPSJudW1iZXIiPT10eXBlb2YgZS5tYXhab29tP01hdGgubWluKGUubWF4Wm9vbSxvKTpvKT09PTEvMD97Y2VudGVyOnQuZ2V0Q2VudGVyKCksem9vbTpvfTooZT1uLnN1YnRyYWN0KGkpLmRpdmlkZUJ5KDIpLG49dGhpcy5wcm9qZWN0KHQuZ2V0U291dGhXZXN0KCksbyksaT10aGlzLnByb2plY3QodC5nZXROb3J0aEVhc3QoKSxvKSx7Y2VudGVyOnRoaXMudW5wcm9qZWN0KG4uYWRkKGkpLmRpdmlkZUJ5KDIpLmFkZChlKSxvKSx6b29tOm99KX0sZml0Qm91bmRzOmZ1bmN0aW9uKHQsZSl7aWYoKHQ9Zyh0KSkuaXNWYWxpZCgpKXJldHVybiB0PXRoaXMuX2dldEJvdW5kc0NlbnRlclpvb20odCxlKSx0aGlzLnNldFZpZXcodC5jZW50ZXIsdC56b29tLGUpO3Rocm93IG5ldyBFcnJvcigiQm91bmRzIGFyZSBub3QgdmFsaWQuIil9LGZpdFdvcmxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmZpdEJvdW5kcyhbWy05MCwtMTgwXSxbOTAsMTgwXV0sdCl9LHBhblRvOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuc2V0Vmlldyh0LHRoaXMuX3pvb20se3BhbjplfSl9LHBhbkJ5OmZ1bmN0aW9uKHQsZSl7dmFyIGk7cmV0dXJuIGU9ZXx8e30sKHQ9bSh0KS5yb3VuZCgpKS54fHx0Lnk/KCEwPT09ZS5hbmltYXRlfHx0aGlzLmdldFNpemUoKS5jb250YWlucyh0KT8odGhpcy5fcGFuQW5pbXx8KHRoaXMuX3BhbkFuaW09bmV3IEZlLHRoaXMuX3BhbkFuaW0ub24oe3N0ZXA6dGhpcy5fb25QYW5UcmFuc2l0aW9uU3RlcCxlbmQ6dGhpcy5fb25QYW5UcmFuc2l0aW9uRW5kfSx0aGlzKSksZS5ub01vdmVTdGFydHx8dGhpcy5maXJlKCJtb3Zlc3RhcnQiKSwhMSE9PWUuYW5pbWF0ZT8oTSh0aGlzLl9tYXBQYW5lLCJsZWFmbGV0LXBhbi1hbmltIiksaT10aGlzLl9nZXRNYXBQYW5lUG9zKCkuc3VidHJhY3QodCkucm91bmQoKSx0aGlzLl9wYW5BbmltLnJ1bih0aGlzLl9tYXBQYW5lLGksZS5kdXJhdGlvbnx8LjI1LGUuZWFzZUxpbmVhcml0eSkpOih0aGlzLl9yYXdQYW5CeSh0KSx0aGlzLmZpcmUoIm1vdmUiKS5maXJlKCJtb3ZlZW5kIikpKTp0aGlzLl9yZXNldFZpZXcodGhpcy51bnByb2plY3QodGhpcy5wcm9qZWN0KHRoaXMuZ2V0Q2VudGVyKCkpLmFkZCh0KSksdGhpcy5nZXRab29tKCkpLHRoaXMpOnRoaXMuZmlyZSgibW92ZWVuZCIpfSxmbHlUbzpmdW5jdGlvbihuLG8sdCl7aWYoITE9PT0odD10fHx7fSkuYW5pbWF0ZXx8IWIuYW55M2QpcmV0dXJuIHRoaXMuc2V0VmlldyhuLG8sdCk7dGhpcy5fc3RvcCgpO3ZhciBzPXRoaXMucHJvamVjdCh0aGlzLmdldENlbnRlcigpKSxyPXRoaXMucHJvamVjdChuKSxlPXRoaXMuZ2V0U2l6ZSgpLGE9dGhpcy5fem9vbSxoPShuPXcobiksbz12b2lkIDA9PT1vP2E6byxNYXRoLm1heChlLngsZS55KSksaT1oKnRoaXMuZ2V0Wm9vbVNjYWxlKGEsbyksbD1yLmRpc3RhbmNlVG8ocyl8fDEsdT0xLjQyLGM9dSp1O2Z1bmN0aW9uIGQodCl7dD0oaSppLWgqaCsodD8tMToxKSpjKmMqbCpsKS8oMioodD9pOmgpKmMqbCksdD1NYXRoLnNxcnQodCp0KzEpLXQ7cmV0dXJuIHQ8MWUtOT8tMTg6TWF0aC5sb2codCl9ZnVuY3Rpb24gXyh0KXtyZXR1cm4oTWF0aC5leHAodCktTWF0aC5leHAoLXQpKS8yfWZ1bmN0aW9uIHAodCl7cmV0dXJuKE1hdGguZXhwKHQpK01hdGguZXhwKC10KSkvMn12YXIgbT1kKDApO2Z1bmN0aW9uIGYodCl7cmV0dXJuIGgqKHAobSkqKF8odD1tK3UqdCkvcCh0KSktXyhtKSkvY312YXIgZz1EYXRlLm5vdygpLHY9KGQoMSktbSkvdSx5PXQuZHVyYXRpb24/MWUzKnQuZHVyYXRpb246MWUzKnYqLjg7cmV0dXJuIHRoaXMuX21vdmVTdGFydCghMCx0Lm5vTW92ZVN0YXJ0KSxmdW5jdGlvbiB0KCl7dmFyIGU9KERhdGUubm93KCktZykveSxpPSgxLU1hdGgucG93KDEtZSwxLjUpKSp2O2U8PTE/KHRoaXMuX2ZseVRvRnJhbWU9eCh0LHRoaXMpLHRoaXMuX21vdmUodGhpcy51bnByb2plY3Qocy5hZGQoci5zdWJ0cmFjdChzKS5tdWx0aXBseUJ5KGYoaSkvbCkpLGEpLHRoaXMuZ2V0U2NhbGVab29tKGgvKGU9aSxoKihwKG0pL3AobSt1KmUpKSksYSkse2ZseVRvOiEwfSkpOnRoaXMuX21vdmUobixvKS5fbW92ZUVuZCghMCl9LmNhbGwodGhpcyksdGhpc30sZmx5VG9Cb3VuZHM6ZnVuY3Rpb24odCxlKXt0PXRoaXMuX2dldEJvdW5kc0NlbnRlclpvb20odCxlKTtyZXR1cm4gdGhpcy5mbHlUbyh0LmNlbnRlcix0Lnpvb20sZSl9LHNldE1heEJvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdD1nKHQpLHRoaXMubGlzdGVucygibW92ZWVuZCIsdGhpcy5fcGFuSW5zaWRlTWF4Qm91bmRzKSYmdGhpcy5vZmYoIm1vdmVlbmQiLHRoaXMuX3Bhbkluc2lkZU1heEJvdW5kcyksdC5pc1ZhbGlkKCk/KHRoaXMub3B0aW9ucy5tYXhCb3VuZHM9dCx0aGlzLl9sb2FkZWQmJnRoaXMuX3Bhbkluc2lkZU1heEJvdW5kcygpLHRoaXMub24oIm1vdmVlbmQiLHRoaXMuX3Bhbkluc2lkZU1heEJvdW5kcykpOih0aGlzLm9wdGlvbnMubWF4Qm91bmRzPW51bGwsdGhpcyl9LHNldE1pblpvb206ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zLm1pblpvb207cmV0dXJuIHRoaXMub3B0aW9ucy5taW5ab29tPXQsdGhpcy5fbG9hZGVkJiZlIT09dCYmKHRoaXMuZmlyZSgiem9vbWxldmVsc2NoYW5nZSIpLHRoaXMuZ2V0Wm9vbSgpPHRoaXMub3B0aW9ucy5taW5ab29tKT90aGlzLnNldFpvb20odCk6dGhpc30sc2V0TWF4Wm9vbTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMubWF4Wm9vbTtyZXR1cm4gdGhpcy5vcHRpb25zLm1heFpvb209dCx0aGlzLl9sb2FkZWQmJmUhPT10JiYodGhpcy5maXJlKCJ6b29tbGV2ZWxzY2hhbmdlIiksdGhpcy5nZXRab29tKCk+dGhpcy5vcHRpb25zLm1heFpvb20pP3RoaXMuc2V0Wm9vbSh0KTp0aGlzfSxwYW5JbnNpZGVCb3VuZHM6ZnVuY3Rpb24odCxlKXt0aGlzLl9lbmZvcmNpbmdCb3VuZHM9ITA7dmFyIGk9dGhpcy5nZXRDZW50ZXIoKSx0PXRoaXMuX2xpbWl0Q2VudGVyKGksdGhpcy5fem9vbSxnKHQpKTtyZXR1cm4gaS5lcXVhbHModCl8fHRoaXMucGFuVG8odCxlKSx0aGlzLl9lbmZvcmNpbmdCb3VuZHM9ITEsdGhpc30scGFuSW5zaWRlOmZ1bmN0aW9uKHQsZSl7dmFyIGk9bSgoZT1lfHx7fSkucGFkZGluZ1RvcExlZnR8fGUucGFkZGluZ3x8WzAsMF0pLG49bShlLnBhZGRpbmdCb3R0b21SaWdodHx8ZS5wYWRkaW5nfHxbMCwwXSksbz10aGlzLnByb2plY3QodGhpcy5nZXRDZW50ZXIoKSksdD10aGlzLnByb2plY3QodCkscz10aGlzLmdldFBpeGVsQm91bmRzKCksaT1fKFtzLm1pbi5hZGQoaSkscy5tYXguc3VidHJhY3QobildKSxzPWkuZ2V0U2l6ZSgpO3JldHVybiBpLmNvbnRhaW5zKHQpfHwodGhpcy5fZW5mb3JjaW5nQm91bmRzPSEwLG49dC5zdWJ0cmFjdChpLmdldENlbnRlcigpKSxpPWkuZXh0ZW5kKHQpLmdldFNpemUoKS5zdWJ0cmFjdChzKSxvLngrPW4ueDwwPy1pLng6aS54LG8ueSs9bi55PDA/LWkueTppLnksdGhpcy5wYW5Ubyh0aGlzLnVucHJvamVjdChvKSxlKSx0aGlzLl9lbmZvcmNpbmdCb3VuZHM9ITEpLHRoaXN9LGludmFsaWRhdGVTaXplOmZ1bmN0aW9uKHQpe2lmKCF0aGlzLl9sb2FkZWQpcmV0dXJuIHRoaXM7dD1sKHthbmltYXRlOiExLHBhbjohMH0sITA9PT10P3thbmltYXRlOiEwfTp0KTt2YXIgZT10aGlzLmdldFNpemUoKSxpPSh0aGlzLl9zaXplQ2hhbmdlZD0hMCx0aGlzLl9sYXN0Q2VudGVyPW51bGwsdGhpcy5nZXRTaXplKCkpLG49ZS5kaXZpZGVCeSgyKS5yb3VuZCgpLG89aS5kaXZpZGVCeSgyKS5yb3VuZCgpLG49bi5zdWJ0cmFjdChvKTtyZXR1cm4gbi54fHxuLnk/KHQuYW5pbWF0ZSYmdC5wYW4/dGhpcy5wYW5CeShuKToodC5wYW4mJnRoaXMuX3Jhd1BhbkJ5KG4pLHRoaXMuZmlyZSgibW92ZSIpLHQuZGVib3VuY2VNb3ZlZW5kPyhjbGVhclRpbWVvdXQodGhpcy5fc2l6ZVRpbWVyKSx0aGlzLl9zaXplVGltZXI9c2V0VGltZW91dChhKHRoaXMuZmlyZSx0aGlzLCJtb3ZlZW5kIiksMjAwKSk6dGhpcy5maXJlKCJtb3ZlZW5kIikpLHRoaXMuZmlyZSgicmVzaXplIix7b2xkU2l6ZTplLG5ld1NpemU6aX0pKTp0aGlzfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0Wm9vbSh0aGlzLl9saW1pdFpvb20odGhpcy5fem9vbSkpLHRoaXMub3B0aW9ucy56b29tU25hcHx8dGhpcy5maXJlKCJ2aWV3cmVzZXQiKSx0aGlzLl9zdG9wKCl9LGxvY2F0ZTpmdW5jdGlvbih0KXt2YXIgZSxpO3JldHVybiB0PXRoaXMuX2xvY2F0ZU9wdGlvbnM9bCh7dGltZW91dDoxZTQsd2F0Y2g6ITF9LHQpLCJnZW9sb2NhdGlvbiJpbiBuYXZpZ2F0b3I/KGU9YSh0aGlzLl9oYW5kbGVHZW9sb2NhdGlvblJlc3BvbnNlLHRoaXMpLGk9YSh0aGlzLl9oYW5kbGVHZW9sb2NhdGlvbkVycm9yLHRoaXMpLHQud2F0Y2g/dGhpcy5fbG9jYXRpb25XYXRjaElkPW5hdmlnYXRvci5nZW9sb2NhdGlvbi53YXRjaFBvc2l0aW9uKGUsaSx0KTpuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKGUsaSx0KSk6dGhpcy5faGFuZGxlR2VvbG9jYXRpb25FcnJvcih7Y29kZTowLG1lc3NhZ2U6Ikdlb2xvY2F0aW9uIG5vdCBzdXBwb3J0ZWQuIn0pLHRoaXN9LHN0b3BMb2NhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fbG9jYXRpb25XYXRjaElkKSx0aGlzLl9sb2NhdGVPcHRpb25zJiYodGhpcy5fbG9jYXRlT3B0aW9ucy5zZXRWaWV3PSExKSx0aGlzfSxfaGFuZGxlR2VvbG9jYXRpb25FcnJvcjpmdW5jdGlvbih0KXt2YXIgZTt0aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQmJihlPXQuY29kZSx0PXQubWVzc2FnZXx8KDE9PT1lPyJwZXJtaXNzaW9uIGRlbmllZCI6Mj09PWU/InBvc2l0aW9uIHVuYXZhaWxhYmxlIjoidGltZW91dCIpLHRoaXMuX2xvY2F0ZU9wdGlvbnMuc2V0VmlldyYmIXRoaXMuX2xvYWRlZCYmdGhpcy5maXRXb3JsZCgpLHRoaXMuZmlyZSgibG9jYXRpb25lcnJvciIse2NvZGU6ZSxtZXNzYWdlOiJHZW9sb2NhdGlvbiBlcnJvcjogIit0KyIuIn0pKX0sX2hhbmRsZUdlb2xvY2F0aW9uUmVzcG9uc2U6ZnVuY3Rpb24odCl7aWYodGhpcy5fY29udGFpbmVyLl9sZWFmbGV0X2lkKXt2YXIgZSxpLG49bmV3IHYodC5jb29yZHMubGF0aXR1ZGUsdC5jb29yZHMubG9uZ2l0dWRlKSxvPW4udG9Cb3VuZHMoMip0LmNvb3Jkcy5hY2N1cmFjeSkscz10aGlzLl9sb2NhdGVPcHRpb25zLHI9KHMuc2V0VmlldyYmKGU9dGhpcy5nZXRCb3VuZHNab29tKG8pLHRoaXMuc2V0VmlldyhuLHMubWF4Wm9vbT9NYXRoLm1pbihlLHMubWF4Wm9vbSk6ZSkpLHtsYXRsbmc6bixib3VuZHM6byx0aW1lc3RhbXA6dC50aW1lc3RhbXB9KTtmb3IoaSBpbiB0LmNvb3JkcykibnVtYmVyIj09dHlwZW9mIHQuY29vcmRzW2ldJiYocltpXT10LmNvb3Jkc1tpXSk7dGhpcy5maXJlKCJsb2NhdGlvbmZvdW5kIixyKX19LGFkZEhhbmRsZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSYmKGU9dGhpc1t0XT1uZXcgZSh0aGlzKSx0aGlzLl9oYW5kbGVycy5wdXNoKGUpLHRoaXMub3B0aW9uc1t0XSYmZS5lbmFibGUoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7aWYodGhpcy5faW5pdEV2ZW50cyghMCksdGhpcy5vcHRpb25zLm1heEJvdW5kcyYmdGhpcy5vZmYoIm1vdmVlbmQiLHRoaXMuX3Bhbkluc2lkZU1heEJvdW5kcyksdGhpcy5fY29udGFpbmVySWQhPT10aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQpdGhyb3cgbmV3IEVycm9yKCJNYXAgY29udGFpbmVyIGlzIGJlaW5nIHJldXNlZCBieSBhbm90aGVyIGluc3RhbmNlIik7dHJ5e2RlbGV0ZSB0aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQsZGVsZXRlIHRoaXMuX2NvbnRhaW5lcklkfWNhdGNoKHQpe3RoaXMuX2NvbnRhaW5lci5fbGVhZmxldF9pZD12b2lkIDAsdGhpcy5fY29udGFpbmVySWQ9dm9pZCAwfWZvcih2YXIgdCBpbiB2b2lkIDAhPT10aGlzLl9sb2NhdGlvbldhdGNoSWQmJnRoaXMuc3RvcExvY2F0ZSgpLHRoaXMuX3N0b3AoKSxUKHRoaXMuX21hcFBhbmUpLHRoaXMuX2NsZWFyQ29udHJvbFBvcyYmdGhpcy5fY2xlYXJDb250cm9sUG9zKCksdGhpcy5fcmVzaXplUmVxdWVzdCYmKHIodGhpcy5fcmVzaXplUmVxdWVzdCksdGhpcy5fcmVzaXplUmVxdWVzdD1udWxsKSx0aGlzLl9jbGVhckhhbmRsZXJzKCksdGhpcy5fbG9hZGVkJiZ0aGlzLmZpcmUoInVubG9hZCIpLHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0ucmVtb3ZlKCk7Zm9yKHQgaW4gdGhpcy5fcGFuZXMpVCh0aGlzLl9wYW5lc1t0XSk7cmV0dXJuIHRoaXMuX2xheWVycz1bXSx0aGlzLl9wYW5lcz1bXSxkZWxldGUgdGhpcy5fbWFwUGFuZSxkZWxldGUgdGhpcy5fcmVuZGVyZXIsdGhpc30sY3JlYXRlUGFuZTpmdW5jdGlvbih0LGUpe2U9UCgiZGl2IiwibGVhZmxldC1wYW5lIisodD8iIGxlYWZsZXQtIit0LnJlcGxhY2UoIlBhbmUiLCIiKSsiLXBhbmUiOiIiKSxlfHx0aGlzLl9tYXBQYW5lKTtyZXR1cm4gdCYmKHRoaXMuX3BhbmVzW3RdPWUpLGV9LGdldENlbnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGVja0lmTG9hZGVkKCksdGhpcy5fbGFzdENlbnRlciYmIXRoaXMuX21vdmVkKCk/dGhpcy5fbGFzdENlbnRlci5jbG9uZSgpOnRoaXMubGF5ZXJQb2ludFRvTGF0TG5nKHRoaXMuX2dldENlbnRlckxheWVyUG9pbnQoKSl9LGdldFpvb206ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fem9vbX0sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRQaXhlbEJvdW5kcygpO3JldHVybiBuZXcgcyh0aGlzLnVucHJvamVjdCh0LmdldEJvdHRvbUxlZnQoKSksdGhpcy51bnByb2plY3QodC5nZXRUb3BSaWdodCgpKSl9LGdldE1pblpvb206ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zLm1pblpvb20/dGhpcy5fbGF5ZXJzTWluWm9vbXx8MDp0aGlzLm9wdGlvbnMubWluWm9vbX0sZ2V0TWF4Wm9vbTpmdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnMubWF4Wm9vbT92b2lkIDA9PT10aGlzLl9sYXllcnNNYXhab29tPzEvMDp0aGlzLl9sYXllcnNNYXhab29tOnRoaXMub3B0aW9ucy5tYXhab29tfSxnZXRCb3VuZHNab29tOmZ1bmN0aW9uKHQsZSxpKXt0PWcodCksaT1tKGl8fFswLDBdKTt2YXIgbj10aGlzLmdldFpvb20oKXx8MCxvPXRoaXMuZ2V0TWluWm9vbSgpLHM9dGhpcy5nZXRNYXhab29tKCkscj10LmdldE5vcnRoV2VzdCgpLHQ9dC5nZXRTb3V0aEVhc3QoKSxpPXRoaXMuZ2V0U2l6ZSgpLnN1YnRyYWN0KGkpLHQ9Xyh0aGlzLnByb2plY3QodCxuKSx0aGlzLnByb2plY3QocixuKSkuZ2V0U2l6ZSgpLHI9Yi5hbnkzZD90aGlzLm9wdGlvbnMuem9vbVNuYXA6MSxhPWkueC90LngsaT1pLnkvdC55LHQ9ZT9NYXRoLm1heChhLGkpOk1hdGgubWluKGEsaSksbj10aGlzLmdldFNjYWxlWm9vbSh0LG4pO3JldHVybiByJiYobj1NYXRoLnJvdW5kKG4vKHIvMTAwKSkqKHIvMTAwKSxuPWU/TWF0aC5jZWlsKG4vcikqcjpNYXRoLmZsb29yKG4vcikqciksTWF0aC5tYXgobyxNYXRoLm1pbihzLG4pKX0sZ2V0U2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zaXplJiYhdGhpcy5fc2l6ZUNoYW5nZWR8fCh0aGlzLl9zaXplPW5ldyBwKHRoaXMuX2NvbnRhaW5lci5jbGllbnRXaWR0aHx8MCx0aGlzLl9jb250YWluZXIuY2xpZW50SGVpZ2h0fHwwKSx0aGlzLl9zaXplQ2hhbmdlZD0hMSksdGhpcy5fc2l6ZS5jbG9uZSgpfSxnZXRQaXhlbEJvdW5kczpmdW5jdGlvbih0LGUpe3Q9dGhpcy5fZ2V0VG9wTGVmdFBvaW50KHQsZSk7cmV0dXJuIG5ldyBmKHQsdC5hZGQodGhpcy5nZXRTaXplKCkpKX0sZ2V0UGl4ZWxPcmlnaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hlY2tJZkxvYWRlZCgpLHRoaXMuX3BpeGVsT3JpZ2lufSxnZXRQaXhlbFdvcmxkQm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuY3JzLmdldFByb2plY3RlZEJvdW5kcyh2b2lkIDA9PT10P3RoaXMuZ2V0Wm9vbSgpOnQpfSxnZXRQYW5lOmZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90aGlzLl9wYW5lc1t0XTp0fSxnZXRQYW5lczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYW5lc30sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sZ2V0Wm9vbVNjYWxlOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLmNycztyZXR1cm4gZT12b2lkIDA9PT1lP3RoaXMuX3pvb206ZSxpLnNjYWxlKHQpL2kuc2NhbGUoZSl9LGdldFNjYWxlWm9vbTpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMub3B0aW9ucy5jcnMsdD0oZT12b2lkIDA9PT1lP3RoaXMuX3pvb206ZSxpLnpvb20odCppLnNjYWxlKGUpKSk7cmV0dXJuIGlzTmFOKHQpPzEvMDp0fSxwcm9qZWN0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9dm9pZCAwPT09ZT90aGlzLl96b29tOmUsdGhpcy5vcHRpb25zLmNycy5sYXRMbmdUb1BvaW50KHcodCksZSl9LHVucHJvamVjdDpmdW5jdGlvbih0LGUpe3JldHVybiBlPXZvaWQgMD09PWU/dGhpcy5fem9vbTplLHRoaXMub3B0aW9ucy5jcnMucG9pbnRUb0xhdExuZyhtKHQpLGUpfSxsYXllclBvaW50VG9MYXRMbmc6ZnVuY3Rpb24odCl7dD1tKHQpLmFkZCh0aGlzLmdldFBpeGVsT3JpZ2luKCkpO3JldHVybiB0aGlzLnVucHJvamVjdCh0KX0sbGF0TG5nVG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3Qodyh0KSkuX3JvdW5kKCkuX3N1YnRyYWN0KHRoaXMuZ2V0UGl4ZWxPcmlnaW4oKSl9LHdyYXBMYXRMbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5jcnMud3JhcExhdExuZyh3KHQpKX0sd3JhcExhdExuZ0JvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLmNycy53cmFwTGF0TG5nQm91bmRzKGcodCkpfSxkaXN0YW5jZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm9wdGlvbnMuY3JzLmRpc3RhbmNlKHcodCksdyhlKSl9LGNvbnRhaW5lclBvaW50VG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiBtKHQpLnN1YnRyYWN0KHRoaXMuX2dldE1hcFBhbmVQb3MoKSl9LGxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiBtKHQpLmFkZCh0aGlzLl9nZXRNYXBQYW5lUG9zKCkpfSxjb250YWluZXJQb2ludFRvTGF0TG5nOmZ1bmN0aW9uKHQpe3Q9dGhpcy5jb250YWluZXJQb2ludFRvTGF5ZXJQb2ludChtKHQpKTtyZXR1cm4gdGhpcy5sYXllclBvaW50VG9MYXRMbmcodCl9LGxhdExuZ1RvQ29udGFpbmVyUG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGF5ZXJQb2ludFRvQ29udGFpbmVyUG9pbnQodGhpcy5sYXRMbmdUb0xheWVyUG9pbnQodyh0KSkpfSxtb3VzZUV2ZW50VG9Db250YWluZXJQb2ludDpmdW5jdGlvbih0KXtyZXR1cm4gRGUodCx0aGlzLl9jb250YWluZXIpfSxtb3VzZUV2ZW50VG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbnRhaW5lclBvaW50VG9MYXllclBvaW50KHRoaXMubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodCkpfSxtb3VzZUV2ZW50VG9MYXRMbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGF5ZXJQb2ludFRvTGF0TG5nKHRoaXMubW91c2VFdmVudFRvTGF5ZXJQb2ludCh0KSl9LF9pbml0Q29udGFpbmVyOmZ1bmN0aW9uKHQpe3Q9dGhpcy5fY29udGFpbmVyPV9lKHQpO2lmKCF0KXRocm93IG5ldyBFcnJvcigiTWFwIGNvbnRhaW5lciBub3QgZm91bmQuIik7aWYodC5fbGVhZmxldF9pZCl0aHJvdyBuZXcgRXJyb3IoIk1hcCBjb250YWluZXIgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4iKTtTKHQsInNjcm9sbCIsdGhpcy5fb25TY3JvbGwsdGhpcyksdGhpcy5fY29udGFpbmVySWQ9aCh0KX0sX2luaXRMYXlvdXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jb250YWluZXIsZT0odGhpcy5fZmFkZUFuaW1hdGVkPXRoaXMub3B0aW9ucy5mYWRlQW5pbWF0aW9uJiZiLmFueTNkLE0odCwibGVhZmxldC1jb250YWluZXIiKyhiLnRvdWNoPyIgbGVhZmxldC10b3VjaCI6IiIpKyhiLnJldGluYT8iIGxlYWZsZXQtcmV0aW5hIjoiIikrKGIuaWVsdDk/IiBsZWFmbGV0LW9sZGllIjoiIikrKGIuc2FmYXJpPyIgbGVhZmxldC1zYWZhcmkiOiIiKSsodGhpcy5fZmFkZUFuaW1hdGVkPyIgbGVhZmxldC1mYWRlLWFuaW0iOiIiKSkscGUodCwicG9zaXRpb24iKSk7ImFic29sdXRlIiE9PWUmJiJyZWxhdGl2ZSIhPT1lJiYiZml4ZWQiIT09ZSYmInN0aWNreSIhPT1lJiYodC5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSx0aGlzLl9pbml0UGFuZXMoKSx0aGlzLl9pbml0Q29udHJvbFBvcyYmdGhpcy5faW5pdENvbnRyb2xQb3MoKX0sX2luaXRQYW5lczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3BhbmVzPXt9O3RoaXMuX3BhbmVSZW5kZXJlcnM9e30sdGhpcy5fbWFwUGFuZT10aGlzLmNyZWF0ZVBhbmUoIm1hcFBhbmUiLHRoaXMuX2NvbnRhaW5lciksWih0aGlzLl9tYXBQYW5lLG5ldyBwKDAsMCkpLHRoaXMuY3JlYXRlUGFuZSgidGlsZVBhbmUiKSx0aGlzLmNyZWF0ZVBhbmUoIm92ZXJsYXlQYW5lIiksdGhpcy5jcmVhdGVQYW5lKCJzaGFkb3dQYW5lIiksdGhpcy5jcmVhdGVQYW5lKCJtYXJrZXJQYW5lIiksdGhpcy5jcmVhdGVQYW5lKCJ0b29sdGlwUGFuZSIpLHRoaXMuY3JlYXRlUGFuZSgicG9wdXBQYW5lIiksdGhpcy5vcHRpb25zLm1hcmtlclpvb21BbmltYXRpb258fChNKHQubWFya2VyUGFuZSwibGVhZmxldC16b29tLWhpZGUiKSxNKHQuc2hhZG93UGFuZSwibGVhZmxldC16b29tLWhpZGUiKSl9LF9yZXNldFZpZXc6ZnVuY3Rpb24odCxlLGkpe1oodGhpcy5fbWFwUGFuZSxuZXcgcCgwLDApKTt2YXIgbj0hdGhpcy5fbG9hZGVkLG89KHRoaXMuX2xvYWRlZD0hMCxlPXRoaXMuX2xpbWl0Wm9vbShlKSx0aGlzLmZpcmUoInZpZXdwcmVyZXNldCIpLHRoaXMuX3pvb20hPT1lKTt0aGlzLl9tb3ZlU3RhcnQobyxpKS5fbW92ZSh0LGUpLl9tb3ZlRW5kKG8pLHRoaXMuZmlyZSgidmlld3Jlc2V0IiksbiYmdGhpcy5maXJlKCJsb2FkIil9LF9tb3ZlU3RhcnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCYmdGhpcy5maXJlKCJ6b29tc3RhcnQiKSxlfHx0aGlzLmZpcmUoIm1vdmVzdGFydCIpLHRoaXN9LF9tb3ZlOmZ1bmN0aW9uKHQsZSxpLG4pe3ZvaWQgMD09PWUmJihlPXRoaXMuX3pvb20pO3ZhciBvPXRoaXMuX3pvb20hPT1lO3JldHVybiB0aGlzLl96b29tPWUsdGhpcy5fbGFzdENlbnRlcj10LHRoaXMuX3BpeGVsT3JpZ2luPXRoaXMuX2dldE5ld1BpeGVsT3JpZ2luKHQpLG4/aSYmaS5waW5jaCYmdGhpcy5maXJlKCJ6b29tIixpKTooKG98fGkmJmkucGluY2gpJiZ0aGlzLmZpcmUoInpvb20iLGkpLHRoaXMuZmlyZSgibW92ZSIsaSkpLHRoaXN9LF9tb3ZlRW5kOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzLmZpcmUoInpvb21lbmQiKSx0aGlzLmZpcmUoIm1vdmVlbmQiKX0sX3N0b3A6ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLl9mbHlUb0ZyYW1lKSx0aGlzLl9wYW5BbmltJiZ0aGlzLl9wYW5BbmltLnN0b3AoKSx0aGlzfSxfcmF3UGFuQnk6ZnVuY3Rpb24odCl7Wih0aGlzLl9tYXBQYW5lLHRoaXMuX2dldE1hcFBhbmVQb3MoKS5zdWJ0cmFjdCh0KSl9LF9nZXRab29tU3BhbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldE1heFpvb20oKS10aGlzLmdldE1pblpvb20oKX0sX3Bhbkluc2lkZU1heEJvdW5kczpmdW5jdGlvbigpe3RoaXMuX2VuZm9yY2luZ0JvdW5kc3x8dGhpcy5wYW5JbnNpZGVCb3VuZHModGhpcy5vcHRpb25zLm1heEJvdW5kcyl9LF9jaGVja0lmTG9hZGVkOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2xvYWRlZCl0aHJvdyBuZXcgRXJyb3IoIlNldCBtYXAgY2VudGVyIGFuZCB6b29tIGZpcnN0LiIpfSxfaW5pdEV2ZW50czpmdW5jdGlvbih0KXt0aGlzLl90YXJnZXRzPXt9O3ZhciBlPXQ/azpTO2UoKHRoaXMuX3RhcmdldHNbaCh0aGlzLl9jb250YWluZXIpXT10aGlzKS5fY29udGFpbmVyLCJjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2Vtb3ZlIGNvbnRleHRtZW51IGtleXByZXNzIGtleWRvd24ga2V5dXAiLHRoaXMuX2hhbmRsZURPTUV2ZW50LHRoaXMpLHRoaXMub3B0aW9ucy50cmFja1Jlc2l6ZSYmZSh3aW5kb3csInJlc2l6ZSIsdGhpcy5fb25SZXNpemUsdGhpcyksYi5hbnkzZCYmdGhpcy5vcHRpb25zLnRyYW5zZm9ybTNETGltaXQmJih0P3RoaXMub2ZmOnRoaXMub24pLmNhbGwodGhpcywibW92ZWVuZCIsdGhpcy5fb25Nb3ZlRW5kKX0sX29uUmVzaXplOmZ1bmN0aW9uKCl7cih0aGlzLl9yZXNpemVSZXF1ZXN0KSx0aGlzLl9yZXNpemVSZXF1ZXN0PXgoZnVuY3Rpb24oKXt0aGlzLmludmFsaWRhdGVTaXplKHtkZWJvdW5jZU1vdmVlbmQ6ITB9KX0sdGhpcyl9LF9vblNjcm9sbDpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lci5zY3JvbGxUb3A9MCx0aGlzLl9jb250YWluZXIuc2Nyb2xsTGVmdD0wfSxfb25Nb3ZlRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0TWFwUGFuZVBvcygpO01hdGgubWF4KE1hdGguYWJzKHQueCksTWF0aC5hYnModC55KSk+PXRoaXMub3B0aW9ucy50cmFuc2Zvcm0zRExpbWl0JiZ0aGlzLl9yZXNldFZpZXcodGhpcy5nZXRDZW50ZXIoKSx0aGlzLmdldFpvb20oKSl9LF9maW5kRXZlbnRUYXJnZXRzOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpLG49W10sbz0ibW91c2VvdXQiPT09ZXx8Im1vdXNlb3ZlciI9PT1lLHM9dC50YXJnZXR8fHQuc3JjRWxlbWVudCxyPSExO3M7KXtpZigoaT10aGlzLl90YXJnZXRzW2gocyldKSYmKCJjbGljayI9PT1lfHwicHJlY2xpY2siPT09ZSkmJnRoaXMuX2RyYWdnYWJsZU1vdmVkKGkpKXtyPSEwO2JyZWFrfWlmKGkmJmkubGlzdGVucyhlLCEwKSl7aWYobyYmIVdlKHMsdCkpYnJlYWs7aWYobi5wdXNoKGkpLG8pYnJlYWt9aWYocz09PXRoaXMuX2NvbnRhaW5lcilicmVhaztzPXMucGFyZW50Tm9kZX1yZXR1cm4gbj1uLmxlbmd0aHx8cnx8b3x8IXRoaXMubGlzdGVucyhlLCEwKT9uOlt0aGlzXX0sX2lzQ2xpY2tEaXNhYmxlZDpmdW5jdGlvbih0KXtmb3IoO3QmJnQhPT10aGlzLl9jb250YWluZXI7KXtpZih0Ll9sZWFmbGV0X2Rpc2FibGVfY2xpY2spcmV0dXJuITA7dD10LnBhcmVudE5vZGV9fSxfaGFuZGxlRE9NRXZlbnQ6ZnVuY3Rpb24odCl7dmFyIGUsaT10LnRhcmdldHx8dC5zcmNFbGVtZW50OyF0aGlzLl9sb2FkZWR8fGkuX2xlYWZsZXRfZGlzYWJsZV9ldmVudHN8fCJjbGljayI9PT10LnR5cGUmJnRoaXMuX2lzQ2xpY2tEaXNhYmxlZChpKXx8KCJtb3VzZWRvd24iPT09KGU9dC50eXBlKSYmTWUoaSksdGhpcy5fZmlyZURPTUV2ZW50KHQsZSkpfSxfbW91c2VFdmVudHM6WyJjbGljayIsImRibGNsaWNrIiwibW91c2VvdmVyIiwibW91c2VvdXQiLCJjb250ZXh0bWVudSJdLF9maXJlRE9NRXZlbnQ6ZnVuY3Rpb24odCxlLGkpeyJjbGljayI9PT10LnR5cGUmJigoYT1sKHt9LHQpKS50eXBlPSJwcmVjbGljayIsdGhpcy5fZmlyZURPTUV2ZW50KGEsYS50eXBlLGkpKTt2YXIgbj10aGlzLl9maW5kRXZlbnRUYXJnZXRzKHQsZSk7aWYoaSl7Zm9yKHZhciBvPVtdLHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdLmxpc3RlbnMoZSwhMCkmJm8ucHVzaChpW3NdKTtuPW8uY29uY2F0KG4pfWlmKG4ubGVuZ3RoKXsiY29udGV4dG1lbnUiPT09ZSYmTyh0KTt2YXIgcixhPW5bMF0saD17b3JpZ2luYWxFdmVudDp0fTtmb3IoImtleXByZXNzIiE9PXQudHlwZSYmImtleWRvd24iIT09dC50eXBlJiYia2V5dXAiIT09dC50eXBlJiYocj1hLmdldExhdExuZyYmKCFhLl9yYWRpdXN8fGEuX3JhZGl1czw9MTApLGguY29udGFpbmVyUG9pbnQ9cj90aGlzLmxhdExuZ1RvQ29udGFpbmVyUG9pbnQoYS5nZXRMYXRMbmcoKSk6dGhpcy5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0KSxoLmxheWVyUG9pbnQ9dGhpcy5jb250YWluZXJQb2ludFRvTGF5ZXJQb2ludChoLmNvbnRhaW5lclBvaW50KSxoLmxhdGxuZz1yP2EuZ2V0TGF0TG5nKCk6dGhpcy5sYXllclBvaW50VG9MYXRMbmcoaC5sYXllclBvaW50KSkscz0wO3M8bi5sZW5ndGg7cysrKWlmKG5bc10uZmlyZShlLGgsITApLGgub3JpZ2luYWxFdmVudC5fc3RvcHBlZHx8ITE9PT1uW3NdLm9wdGlvbnMuYnViYmxpbmdNb3VzZUV2ZW50cyYmLTEhPT1HKHRoaXMuX21vdXNlRXZlbnRzLGUpKXJldHVybn19LF9kcmFnZ2FibGVNb3ZlZDpmdW5jdGlvbih0KXtyZXR1cm4odD10LmRyYWdnaW5nJiZ0LmRyYWdnaW5nLmVuYWJsZWQoKT90OnRoaXMpLmRyYWdnaW5nJiZ0LmRyYWdnaW5nLm1vdmVkKCl8fHRoaXMuYm94Wm9vbSYmdGhpcy5ib3hab29tLm1vdmVkKCl9LF9jbGVhckhhbmRsZXJzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT10aGlzLl9oYW5kbGVycy5sZW5ndGg7dDxlO3QrKyl0aGlzLl9oYW5kbGVyc1t0XS5kaXNhYmxlKCl9LHdoZW5SZWFkeTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9sb2FkZWQ/dC5jYWxsKGV8fHRoaXMse3RhcmdldDp0aGlzfSk6dGhpcy5vbigibG9hZCIsdCxlKSx0aGlzfSxfZ2V0TWFwUGFuZVBvczpmdW5jdGlvbigpe3JldHVybiBQZSh0aGlzLl9tYXBQYW5lKXx8bmV3IHAoMCwwKX0sX21vdmVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0TWFwUGFuZVBvcygpO3JldHVybiB0JiYhdC5lcXVhbHMoWzAsMF0pfSxfZ2V0VG9wTGVmdFBvaW50OmZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQmJnZvaWQgMCE9PWU/dGhpcy5fZ2V0TmV3UGl4ZWxPcmlnaW4odCxlKTp0aGlzLmdldFBpeGVsT3JpZ2luKCkpLnN1YnRyYWN0KHRoaXMuX2dldE1hcFBhbmVQb3MoKSl9LF9nZXROZXdQaXhlbE9yaWdpbjpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuZ2V0U2l6ZSgpLl9kaXZpZGVCeSgyKTtyZXR1cm4gdGhpcy5wcm9qZWN0KHQsZSkuX3N1YnRyYWN0KGkpLl9hZGQodGhpcy5fZ2V0TWFwUGFuZVBvcygpKS5fcm91bmQoKX0sX2xhdExuZ1RvTmV3TGF5ZXJQb2ludDpmdW5jdGlvbih0LGUsaSl7aT10aGlzLl9nZXROZXdQaXhlbE9yaWdpbihpLGUpO3JldHVybiB0aGlzLnByb2plY3QodCxlKS5fc3VidHJhY3QoaSl9LF9sYXRMbmdCb3VuZHNUb05ld0xheWVyQm91bmRzOmZ1bmN0aW9uKHQsZSxpKXtpPXRoaXMuX2dldE5ld1BpeGVsT3JpZ2luKGksZSk7cmV0dXJuIF8oW3RoaXMucHJvamVjdCh0LmdldFNvdXRoV2VzdCgpLGUpLl9zdWJ0cmFjdChpKSx0aGlzLnByb2plY3QodC5nZXROb3J0aFdlc3QoKSxlKS5fc3VidHJhY3QoaSksdGhpcy5wcm9qZWN0KHQuZ2V0U291dGhFYXN0KCksZSkuX3N1YnRyYWN0KGkpLHRoaXMucHJvamVjdCh0LmdldE5vcnRoRWFzdCgpLGUpLl9zdWJ0cmFjdChpKV0pfSxfZ2V0Q2VudGVyTGF5ZXJQb2ludDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRhaW5lclBvaW50VG9MYXllclBvaW50KHRoaXMuZ2V0U2l6ZSgpLl9kaXZpZGVCeSgyKSl9LF9nZXRDZW50ZXJPZmZzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGF0TG5nVG9MYXllclBvaW50KHQpLnN1YnRyYWN0KHRoaXMuX2dldENlbnRlckxheWVyUG9pbnQoKSl9LF9saW1pdENlbnRlcjpmdW5jdGlvbih0LGUsaSl7dmFyIG4sbztyZXR1cm4haXx8KG49dGhpcy5wcm9qZWN0KHQsZSksbz10aGlzLmdldFNpemUoKS5kaXZpZGVCeSgyKSxvPW5ldyBmKG4uc3VidHJhY3Qobyksbi5hZGQobykpLG89dGhpcy5fZ2V0Qm91bmRzT2Zmc2V0KG8saSxlKSxNYXRoLmFicyhvLngpPD0xJiZNYXRoLmFicyhvLnkpPD0xKT90OnRoaXMudW5wcm9qZWN0KG4uYWRkKG8pLGUpfSxfbGltaXRPZmZzZXQ6ZnVuY3Rpb24odCxlKXt2YXIgaTtyZXR1cm4gZT8oaT1uZXcgZigoaT10aGlzLmdldFBpeGVsQm91bmRzKCkpLm1pbi5hZGQodCksaS5tYXguYWRkKHQpKSx0LmFkZCh0aGlzLl9nZXRCb3VuZHNPZmZzZXQoaSxlKSkpOnR9LF9nZXRCb3VuZHNPZmZzZXQ6ZnVuY3Rpb24odCxlLGkpe2U9Xyh0aGlzLnByb2plY3QoZS5nZXROb3J0aEVhc3QoKSxpKSx0aGlzLnByb2plY3QoZS5nZXRTb3V0aFdlc3QoKSxpKSksaT1lLm1pbi5zdWJ0cmFjdCh0Lm1pbiksZT1lLm1heC5zdWJ0cmFjdCh0Lm1heCk7cmV0dXJuIG5ldyBwKHRoaXMuX3JlYm91bmQoaS54LC1lLngpLHRoaXMuX3JlYm91bmQoaS55LC1lLnkpKX0sX3JlYm91bmQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMDx0K2U/TWF0aC5yb3VuZCh0LWUpLzI6TWF0aC5tYXgoMCxNYXRoLmNlaWwodCkpLU1hdGgubWF4KDAsTWF0aC5mbG9vcihlKSl9LF9saW1pdFpvb206ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRNaW5ab29tKCksaT10aGlzLmdldE1heFpvb20oKSxuPWIuYW55M2Q/dGhpcy5vcHRpb25zLnpvb21TbmFwOjE7cmV0dXJuIG4mJih0PU1hdGgucm91bmQodC9uKSpuKSxNYXRoLm1heChlLE1hdGgubWluKGksdCkpfSxfb25QYW5UcmFuc2l0aW9uU3RlcDpmdW5jdGlvbigpe3RoaXMuZmlyZSgibW92ZSIpfSxfb25QYW5UcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7eih0aGlzLl9tYXBQYW5lLCJsZWFmbGV0LXBhbi1hbmltIiksdGhpcy5maXJlKCJtb3ZlZW5kIil9LF90cnlBbmltYXRlZFBhbjpmdW5jdGlvbih0LGUpe3Q9dGhpcy5fZ2V0Q2VudGVyT2Zmc2V0KHQpLl90cnVuYygpO3JldHVybiEoITAhPT0oZSYmZS5hbmltYXRlKSYmIXRoaXMuZ2V0U2l6ZSgpLmNvbnRhaW5zKHQpKSYmKHRoaXMucGFuQnkodCxlKSwhMCl9LF9jcmVhdGVBbmltUHJveHk6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcm94eT1QKCJkaXYiLCJsZWFmbGV0LXByb3h5IGxlYWZsZXQtem9vbS1hbmltYXRlZCIpO3RoaXMuX3BhbmVzLm1hcFBhbmUuYXBwZW5kQ2hpbGQodCksdGhpcy5vbigiem9vbWFuaW0iLGZ1bmN0aW9uKHQpe3ZhciBlPXVlLGk9dGhpcy5fcHJveHkuc3R5bGVbZV07YmUodGhpcy5fcHJveHksdGhpcy5wcm9qZWN0KHQuY2VudGVyLHQuem9vbSksdGhpcy5nZXRab29tU2NhbGUodC56b29tLDEpKSxpPT09dGhpcy5fcHJveHkuc3R5bGVbZV0mJnRoaXMuX2FuaW1hdGluZ1pvb20mJnRoaXMuX29uWm9vbVRyYW5zaXRpb25FbmQoKX0sdGhpcyksdGhpcy5vbigibG9hZCBtb3ZlZW5kIix0aGlzLl9hbmltTW92ZUVuZCx0aGlzKSx0aGlzLl9vbigidW5sb2FkIix0aGlzLl9kZXN0cm95QW5pbVByb3h5LHRoaXMpfSxfZGVzdHJveUFuaW1Qcm94eTpmdW5jdGlvbigpe1QodGhpcy5fcHJveHkpLHRoaXMub2ZmKCJsb2FkIG1vdmVlbmQiLHRoaXMuX2FuaW1Nb3ZlRW5kLHRoaXMpLGRlbGV0ZSB0aGlzLl9wcm94eX0sX2FuaW1Nb3ZlRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRDZW50ZXIoKSxlPXRoaXMuZ2V0Wm9vbSgpO2JlKHRoaXMuX3Byb3h5LHRoaXMucHJvamVjdCh0LGUpLHRoaXMuZ2V0Wm9vbVNjYWxlKGUsMSkpfSxfY2F0Y2hUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe3RoaXMuX2FuaW1hdGluZ1pvb20mJjA8PXQucHJvcGVydHlOYW1lLmluZGV4T2YoInRyYW5zZm9ybSIpJiZ0aGlzLl9vblpvb21UcmFuc2l0aW9uRW5kKCl9LF9ub3RoaW5nVG9BbmltYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuX2NvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKS5sZW5ndGh9LF90cnlBbmltYXRlZFpvb206ZnVuY3Rpb24odCxlLGkpe2lmKCF0aGlzLl9hbmltYXRpbmdab29tKXtpZihpPWl8fHt9LCF0aGlzLl96b29tQW5pbWF0ZWR8fCExPT09aS5hbmltYXRlfHx0aGlzLl9ub3RoaW5nVG9BbmltYXRlKCl8fE1hdGguYWJzKGUtdGhpcy5fem9vbSk+dGhpcy5vcHRpb25zLnpvb21BbmltYXRpb25UaHJlc2hvbGQpcmV0dXJuITE7dmFyIG49dGhpcy5nZXRab29tU2NhbGUoZSksbj10aGlzLl9nZXRDZW50ZXJPZmZzZXQodCkuX2RpdmlkZUJ5KDEtMS9uKTtpZighMCE9PWkuYW5pbWF0ZSYmIXRoaXMuZ2V0U2l6ZSgpLmNvbnRhaW5zKG4pKXJldHVybiExO3goZnVuY3Rpb24oKXt0aGlzLl9tb3ZlU3RhcnQoITAsaS5ub01vdmVTdGFydHx8ITEpLl9hbmltYXRlWm9vbSh0LGUsITApfSx0aGlzKX1yZXR1cm4hMH0sX2FuaW1hdGVab29tOmZ1bmN0aW9uKHQsZSxpLG4pe3RoaXMuX21hcFBhbmUmJihpJiYodGhpcy5fYW5pbWF0aW5nWm9vbT0hMCx0aGlzLl9hbmltYXRlVG9DZW50ZXI9dCx0aGlzLl9hbmltYXRlVG9ab29tPWUsTSh0aGlzLl9tYXBQYW5lLCJsZWFmbGV0LXpvb20tYW5pbSIpKSx0aGlzLmZpcmUoInpvb21hbmltIix7Y2VudGVyOnQsem9vbTplLG5vVXBkYXRlOm59KSx0aGlzLl90ZW1wRmlyZVpvb21FdmVudHx8KHRoaXMuX3RlbXBGaXJlWm9vbUV2ZW50PXRoaXMuX3pvb20hPT10aGlzLl9hbmltYXRlVG9ab29tKSx0aGlzLl9tb3ZlKHRoaXMuX2FuaW1hdGVUb0NlbnRlcix0aGlzLl9hbmltYXRlVG9ab29tLHZvaWQgMCwhMCksc2V0VGltZW91dChhKHRoaXMuX29uWm9vbVRyYW5zaXRpb25FbmQsdGhpcyksMjUwKSl9LF9vblpvb21UcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW5nWm9vbSYmKHRoaXMuX21hcFBhbmUmJnoodGhpcy5fbWFwUGFuZSwibGVhZmxldC16b29tLWFuaW0iKSx0aGlzLl9hbmltYXRpbmdab29tPSExLHRoaXMuX21vdmUodGhpcy5fYW5pbWF0ZVRvQ2VudGVyLHRoaXMuX2FuaW1hdGVUb1pvb20sdm9pZCAwLCEwKSx0aGlzLl90ZW1wRmlyZVpvb21FdmVudCYmdGhpcy5maXJlKCJ6b29tIiksZGVsZXRlIHRoaXMuX3RlbXBGaXJlWm9vbUV2ZW50LHRoaXMuZmlyZSgibW92ZSIpLHRoaXMuX21vdmVFbmQoITApKX19KTtmdW5jdGlvbiBVZSh0KXtyZXR1cm4gbmV3IEIodCl9dmFyIEI9ZXQuZXh0ZW5kKHtvcHRpb25zOntwb3NpdGlvbjoidG9wcmlnaHQifSxpbml0aWFsaXplOmZ1bmN0aW9uKHQpe2ModGhpcyx0KX0sZ2V0UG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLnBvc2l0aW9ufSxzZXRQb3NpdGlvbjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXA7cmV0dXJuIGUmJmUucmVtb3ZlQ29udHJvbCh0aGlzKSx0aGlzLm9wdGlvbnMucG9zaXRpb249dCxlJiZlLmFkZENvbnRyb2wodGhpcyksdGhpc30sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sYWRkVG86ZnVuY3Rpb24odCl7dGhpcy5yZW1vdmUoKSx0aGlzLl9tYXA9dDt2YXIgZT10aGlzLl9jb250YWluZXI9dGhpcy5vbkFkZCh0KSxpPXRoaXMuZ2V0UG9zaXRpb24oKSx0PXQuX2NvbnRyb2xDb3JuZXJzW2ldO3JldHVybiBNKGUsImxlYWZsZXQtY29udHJvbCIpLC0xIT09aS5pbmRleE9mKCJib3R0b20iKT90Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCk6dC5hcHBlbmRDaGlsZChlKSx0aGlzLl9tYXAub24oInVubG9hZCIsdGhpcy5yZW1vdmUsdGhpcyksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmKFQodGhpcy5fY29udGFpbmVyKSx0aGlzLm9uUmVtb3ZlJiZ0aGlzLm9uUmVtb3ZlKHRoaXMuX21hcCksdGhpcy5fbWFwLm9mZigidW5sb2FkIix0aGlzLnJlbW92ZSx0aGlzKSx0aGlzLl9tYXA9bnVsbCksdGhpc30sX3JlZm9jdXNPbk1hcDpmdW5jdGlvbih0KXt0aGlzLl9tYXAmJnQmJjA8dC5zY3JlZW5YJiYwPHQuc2NyZWVuWSYmdGhpcy5fbWFwLmdldENvbnRhaW5lcigpLmZvY3VzKCl9fSksVmU9KEEuaW5jbHVkZSh7YWRkQ29udHJvbDpmdW5jdGlvbih0KXtyZXR1cm4gdC5hZGRUbyh0aGlzKSx0aGlzfSxyZW1vdmVDb250cm9sOmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbW92ZSgpLHRoaXN9LF9pbml0Q29udHJvbFBvczpmdW5jdGlvbigpe3ZhciBpPXRoaXMuX2NvbnRyb2xDb3JuZXJzPXt9LG49ImxlYWZsZXQtIixvPXRoaXMuX2NvbnRyb2xDb250YWluZXI9UCgiZGl2IixuKyJjb250cm9sLWNvbnRhaW5lciIsdGhpcy5fY29udGFpbmVyKTtmdW5jdGlvbiB0KHQsZSl7aVt0K2VdPVAoImRpdiIsbit0KyIgIituK2Usbyl9dCgidG9wIiwibGVmdCIpLHQoInRvcCIsInJpZ2h0IiksdCgiYm90dG9tIiwibGVmdCIpLHQoImJvdHRvbSIsInJpZ2h0Iil9LF9jbGVhckNvbnRyb2xQb3M6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fY29udHJvbENvcm5lcnMpVCh0aGlzLl9jb250cm9sQ29ybmVyc1t0XSk7VCh0aGlzLl9jb250cm9sQ29udGFpbmVyKSxkZWxldGUgdGhpcy5fY29udHJvbENvcm5lcnMsZGVsZXRlIHRoaXMuX2NvbnRyb2xDb250YWluZXJ9fSksQi5leHRlbmQoe29wdGlvbnM6e2NvbGxhcHNlZDohMCxwb3NpdGlvbjoidG9wcmlnaHQiLGF1dG9aSW5kZXg6ITAsaGlkZVNpbmdsZUJhc2U6ITEsc29ydExheWVyczohMSxzb3J0RnVuY3Rpb246ZnVuY3Rpb24odCxlLGksbil7cmV0dXJuIGk8bj8tMTpuPGk/MTowfX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGUsaSl7Zm9yKHZhciBuIGluIGModGhpcyxpKSx0aGlzLl9sYXllckNvbnRyb2xJbnB1dHM9W10sdGhpcy5fbGF5ZXJzPVtdLHRoaXMuX2xhc3RaSW5kZXg9MCx0aGlzLl9oYW5kbGluZ0NsaWNrPSExLHRoaXMuX3ByZXZlbnRDbGljaz0hMSx0KXRoaXMuX2FkZExheWVyKHRbbl0sbik7Zm9yKG4gaW4gZSl0aGlzLl9hZGRMYXllcihlW25dLG4sITApfSxvbkFkZDpmdW5jdGlvbih0KXt0aGlzLl9pbml0TGF5b3V0KCksdGhpcy5fdXBkYXRlKCksKHRoaXMuX21hcD10KS5vbigiem9vbWVuZCIsdGhpcy5fY2hlY2tEaXNhYmxlZExheWVycyx0aGlzKTtmb3IodmFyIGU9MDtlPHRoaXMuX2xheWVycy5sZW5ndGg7ZSsrKXRoaXMuX2xheWVyc1tlXS5sYXllci5vbigiYWRkIHJlbW92ZSIsdGhpcy5fb25MYXllckNoYW5nZSx0aGlzKTtyZXR1cm4gdGhpcy5fY29udGFpbmVyfSxhZGRUbzpmdW5jdGlvbih0KXtyZXR1cm4gQi5wcm90b3R5cGUuYWRkVG8uY2FsbCh0aGlzLHQpLHRoaXMuX2V4cGFuZElmTm90Q29sbGFwc2VkKCl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fbWFwLm9mZigiem9vbWVuZCIsdGhpcy5fY2hlY2tEaXNhYmxlZExheWVycyx0aGlzKTtmb3IodmFyIHQ9MDt0PHRoaXMuX2xheWVycy5sZW5ndGg7dCsrKXRoaXMuX2xheWVyc1t0XS5sYXllci5vZmYoImFkZCByZW1vdmUiLHRoaXMuX29uTGF5ZXJDaGFuZ2UsdGhpcyl9LGFkZEJhc2VMYXllcjpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9hZGRMYXllcih0LGUpLHRoaXMuX21hcD90aGlzLl91cGRhdGUoKTp0aGlzfSxhZGRPdmVybGF5OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2FkZExheWVyKHQsZSwhMCksdGhpcy5fbWFwP3RoaXMuX3VwZGF0ZSgpOnRoaXN9LHJlbW92ZUxheWVyOmZ1bmN0aW9uKHQpe3Qub2ZmKCJhZGQgcmVtb3ZlIix0aGlzLl9vbkxheWVyQ2hhbmdlLHRoaXMpO3Q9dGhpcy5fZ2V0TGF5ZXIoaCh0KSk7cmV0dXJuIHQmJnRoaXMuX2xheWVycy5zcGxpY2UodGhpcy5fbGF5ZXJzLmluZGV4T2YodCksMSksdGhpcy5fbWFwP3RoaXMuX3VwZGF0ZSgpOnRoaXN9LGV4cGFuZDpmdW5jdGlvbigpe00odGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIiksdGhpcy5fc2VjdGlvbi5zdHlsZS5oZWlnaHQ9bnVsbDt2YXIgdD10aGlzLl9tYXAuZ2V0U2l6ZSgpLnktKHRoaXMuX2NvbnRhaW5lci5vZmZzZXRUb3ArNTApO3JldHVybiB0PHRoaXMuX3NlY3Rpb24uY2xpZW50SGVpZ2h0PyhNKHRoaXMuX3NlY3Rpb24sImxlYWZsZXQtY29udHJvbC1sYXllcnMtc2Nyb2xsYmFyIiksdGhpcy5fc2VjdGlvbi5zdHlsZS5oZWlnaHQ9dCsicHgiKTp6KHRoaXMuX3NlY3Rpb24sImxlYWZsZXQtY29udHJvbC1sYXllcnMtc2Nyb2xsYmFyIiksdGhpcy5fY2hlY2tEaXNhYmxlZExheWVycygpLHRoaXN9LGNvbGxhcHNlOmZ1bmN0aW9uKCl7cmV0dXJuIHoodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIiksdGhpc30sX2luaXRMYXlvdXQ6ZnVuY3Rpb24oKXt2YXIgdD0ibGVhZmxldC1jb250cm9sLWxheWVycyIsZT10aGlzLl9jb250YWluZXI9UCgiZGl2Iix0KSxpPXRoaXMub3B0aW9ucy5jb2xsYXBzZWQsbj0oZS5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCEwKSxJZShlKSxCZShlKSx0aGlzLl9zZWN0aW9uPVAoInNlY3Rpb24iLHQrIi1saXN0IikpLG89KGkmJih0aGlzLl9tYXAub24oImNsaWNrIix0aGlzLmNvbGxhcHNlLHRoaXMpLFMoZSx7bW91c2VlbnRlcjp0aGlzLl9leHBhbmRTYWZlbHksbW91c2VsZWF2ZTp0aGlzLmNvbGxhcHNlfSx0aGlzKSksdGhpcy5fbGF5ZXJzTGluaz1QKCJhIix0KyItdG9nZ2xlIixlKSk7by5ocmVmPSIjIixvLnRpdGxlPSJMYXllcnMiLG8uc2V0QXR0cmlidXRlKCJyb2xlIiwiYnV0dG9uIiksUyhvLHtrZXlkb3duOmZ1bmN0aW9uKHQpezEzPT09dC5rZXlDb2RlJiZ0aGlzLl9leHBhbmRTYWZlbHkoKX0sY2xpY2s6ZnVuY3Rpb24odCl7Tyh0KSx0aGlzLl9leHBhbmRTYWZlbHkoKX19LHRoaXMpLGl8fHRoaXMuZXhwYW5kKCksdGhpcy5fYmFzZUxheWVyc0xpc3Q9UCgiZGl2Iix0KyItYmFzZSIsbiksdGhpcy5fc2VwYXJhdG9yPVAoImRpdiIsdCsiLXNlcGFyYXRvciIsbiksdGhpcy5fb3ZlcmxheXNMaXN0PVAoImRpdiIsdCsiLW92ZXJsYXlzIixuKSxlLmFwcGVuZENoaWxkKG4pfSxfZ2V0TGF5ZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLl9sYXllcnMubGVuZ3RoO2UrKylpZih0aGlzLl9sYXllcnNbZV0mJmgodGhpcy5fbGF5ZXJzW2VdLmxheWVyKT09PXQpcmV0dXJuIHRoaXMuX2xheWVyc1tlXX0sX2FkZExheWVyOmZ1bmN0aW9uKHQsZSxpKXt0aGlzLl9tYXAmJnQub24oImFkZCByZW1vdmUiLHRoaXMuX29uTGF5ZXJDaGFuZ2UsdGhpcyksdGhpcy5fbGF5ZXJzLnB1c2goe2xheWVyOnQsbmFtZTplLG92ZXJsYXk6aX0pLHRoaXMub3B0aW9ucy5zb3J0TGF5ZXJzJiZ0aGlzLl9sYXllcnMuc29ydChhKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMub3B0aW9ucy5zb3J0RnVuY3Rpb24odC5sYXllcixlLmxheWVyLHQubmFtZSxlLm5hbWUpfSx0aGlzKSksdGhpcy5vcHRpb25zLmF1dG9aSW5kZXgmJnQuc2V0WkluZGV4JiYodGhpcy5fbGFzdFpJbmRleCsrLHQuc2V0WkluZGV4KHRoaXMuX2xhc3RaSW5kZXgpKSx0aGlzLl9leHBhbmRJZk5vdENvbGxhcHNlZCgpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7aWYodGhpcy5fY29udGFpbmVyKXttZSh0aGlzLl9iYXNlTGF5ZXJzTGlzdCksbWUodGhpcy5fb3ZlcmxheXNMaXN0KSx0aGlzLl9sYXllckNvbnRyb2xJbnB1dHM9W107Zm9yKHZhciB0LGUsaSxuPTAsbz0wO288dGhpcy5fbGF5ZXJzLmxlbmd0aDtvKyspaT10aGlzLl9sYXllcnNbb10sdGhpcy5fYWRkSXRlbShpKSxlPWV8fGkub3ZlcmxheSx0PXR8fCFpLm92ZXJsYXksbis9aS5vdmVybGF5PzA6MTt0aGlzLm9wdGlvbnMuaGlkZVNpbmdsZUJhc2UmJih0aGlzLl9iYXNlTGF5ZXJzTGlzdC5zdHlsZS5kaXNwbGF5PSh0PXQmJjE8bik/IiI6Im5vbmUiKSx0aGlzLl9zZXBhcmF0b3Iuc3R5bGUuZGlzcGxheT1lJiZ0PyIiOiJub25lIn1yZXR1cm4gdGhpc30sX29uTGF5ZXJDaGFuZ2U6ZnVuY3Rpb24odCl7dGhpcy5faGFuZGxpbmdDbGlja3x8dGhpcy5fdXBkYXRlKCk7dmFyIGU9dGhpcy5fZ2V0TGF5ZXIoaCh0LnRhcmdldCkpLHQ9ZS5vdmVybGF5PyJhZGQiPT09dC50eXBlPyJvdmVybGF5YWRkIjoib3ZlcmxheXJlbW92ZSI6ImFkZCI9PT10LnR5cGU/ImJhc2VsYXllcmNoYW5nZSI6bnVsbDt0JiZ0aGlzLl9tYXAuZmlyZSh0LGUpfSxfY3JlYXRlUmFkaW9FbGVtZW50OmZ1bmN0aW9uKHQsZSl7dD0nPGlucHV0IHR5cGU9InJhZGlvIiBjbGFzcz0ibGVhZmxldC1jb250cm9sLWxheWVycy1zZWxlY3RvciIgbmFtZT0iJyt0KyciJysoZT8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrIi8+IixlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmlubmVySFRNTD10LGUuZmlyc3RDaGlsZH0sX2FkZEl0ZW06ZnVuY3Rpb24odCl7dmFyIGUsaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpLG49dGhpcy5fbWFwLmhhc0xheWVyKHQubGF5ZXIpLG49KHQub3ZlcmxheT8oKGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkudHlwZT0iY2hlY2tib3giLGUuY2xhc3NOYW1lPSJsZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlbGVjdG9yIixlLmRlZmF1bHRDaGVja2VkPW4pOmU9dGhpcy5fY3JlYXRlUmFkaW9FbGVtZW50KCJsZWFmbGV0LWJhc2UtbGF5ZXJzXyIraCh0aGlzKSxuKSx0aGlzLl9sYXllckNvbnRyb2xJbnB1dHMucHVzaChlKSxlLmxheWVySWQ9aCh0LmxheWVyKSxTKGUsImNsaWNrIix0aGlzLl9vbklucHV0Q2xpY2ssdGhpcyksZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKSxvPShuLmlubmVySFRNTD0iICIrdC5uYW1lLGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7cmV0dXJuIGkuYXBwZW5kQ2hpbGQobyksby5hcHBlbmRDaGlsZChlKSxvLmFwcGVuZENoaWxkKG4pLCh0Lm92ZXJsYXk/dGhpcy5fb3ZlcmxheXNMaXN0OnRoaXMuX2Jhc2VMYXllcnNMaXN0KS5hcHBlbmRDaGlsZChpKSx0aGlzLl9jaGVja0Rpc2FibGVkTGF5ZXJzKCksaX0sX29uSW5wdXRDbGljazpmdW5jdGlvbigpe2lmKCF0aGlzLl9wcmV2ZW50Q2xpY2spe3ZhciB0LGUsaT10aGlzLl9sYXllckNvbnRyb2xJbnB1dHMsbj1bXSxvPVtdO3RoaXMuX2hhbmRsaW5nQ2xpY2s9ITA7Zm9yKHZhciBzPWkubGVuZ3RoLTE7MDw9cztzLS0pdD1pW3NdLGU9dGhpcy5fZ2V0TGF5ZXIodC5sYXllcklkKS5sYXllcix0LmNoZWNrZWQ/bi5wdXNoKGUpOnQuY2hlY2tlZHx8by5wdXNoKGUpO2ZvcihzPTA7czxvLmxlbmd0aDtzKyspdGhpcy5fbWFwLmhhc0xheWVyKG9bc10pJiZ0aGlzLl9tYXAucmVtb3ZlTGF5ZXIob1tzXSk7Zm9yKHM9MDtzPG4ubGVuZ3RoO3MrKyl0aGlzLl9tYXAuaGFzTGF5ZXIobltzXSl8fHRoaXMuX21hcC5hZGRMYXllcihuW3NdKTt0aGlzLl9oYW5kbGluZ0NsaWNrPSExLHRoaXMuX3JlZm9jdXNPbk1hcCgpfX0sX2NoZWNrRGlzYWJsZWRMYXllcnM6ZnVuY3Rpb24oKXtmb3IodmFyIHQsZSxpPXRoaXMuX2xheWVyQ29udHJvbElucHV0cyxuPXRoaXMuX21hcC5nZXRab29tKCksbz1pLmxlbmd0aC0xOzA8PW87by0tKXQ9aVtvXSxlPXRoaXMuX2dldExheWVyKHQubGF5ZXJJZCkubGF5ZXIsdC5kaXNhYmxlZD12b2lkIDAhPT1lLm9wdGlvbnMubWluWm9vbSYmbjxlLm9wdGlvbnMubWluWm9vbXx8dm9pZCAwIT09ZS5vcHRpb25zLm1heFpvb20mJm4+ZS5vcHRpb25zLm1heFpvb219LF9leHBhbmRJZk5vdENvbGxhcHNlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJiF0aGlzLm9wdGlvbnMuY29sbGFwc2VkJiZ0aGlzLmV4cGFuZCgpLHRoaXN9LF9leHBhbmRTYWZlbHk6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zZWN0aW9uLGU9KHRoaXMuX3ByZXZlbnRDbGljaz0hMCxTKHQsImNsaWNrIixPKSx0aGlzLmV4cGFuZCgpLHRoaXMpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtrKHQsImNsaWNrIixPKSxlLl9wcmV2ZW50Q2xpY2s9ITF9KX19KSkscWU9Qi5leHRlbmQoe29wdGlvbnM6e3Bvc2l0aW9uOiJ0b3BsZWZ0Iix6b29tSW5UZXh0Oic8c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+Kzwvc3Bhbj4nLHpvb21JblRpdGxlOiJab29tIGluIix6b29tT3V0VGV4dDonPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPiYjeDIyMTI7PC9zcGFuPicsem9vbU91dFRpdGxlOiJab29tIG91dCJ9LG9uQWRkOmZ1bmN0aW9uKHQpe3ZhciBlPSJsZWFmbGV0LWNvbnRyb2wtem9vbSIsaT1QKCJkaXYiLGUrIiBsZWFmbGV0LWJhciIpLG49dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLl96b29tSW5CdXR0b249dGhpcy5fY3JlYXRlQnV0dG9uKG4uem9vbUluVGV4dCxuLnpvb21JblRpdGxlLGUrIi1pbiIsaSx0aGlzLl96b29tSW4pLHRoaXMuX3pvb21PdXRCdXR0b249dGhpcy5fY3JlYXRlQnV0dG9uKG4uem9vbU91dFRleHQsbi56b29tT3V0VGl0bGUsZSsiLW91dCIsaSx0aGlzLl96b29tT3V0KSx0aGlzLl91cGRhdGVEaXNhYmxlZCgpLHQub24oInpvb21lbmQgem9vbWxldmVsc2NoYW5nZSIsdGhpcy5fdXBkYXRlRGlzYWJsZWQsdGhpcyksaX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7dC5vZmYoInpvb21lbmQgem9vbWxldmVsc2NoYW5nZSIsdGhpcy5fdXBkYXRlRGlzYWJsZWQsdGhpcyl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWQ9ITAsdGhpcy5fdXBkYXRlRGlzYWJsZWQoKSx0aGlzfSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5fdXBkYXRlRGlzYWJsZWQoKSx0aGlzfSxfem9vbUluOmZ1bmN0aW9uKHQpeyF0aGlzLl9kaXNhYmxlZCYmdGhpcy5fbWFwLl96b29tPHRoaXMuX21hcC5nZXRNYXhab29tKCkmJnRoaXMuX21hcC56b29tSW4odGhpcy5fbWFwLm9wdGlvbnMuem9vbURlbHRhKih0LnNoaWZ0S2V5PzM6MSkpfSxfem9vbU91dDpmdW5jdGlvbih0KXshdGhpcy5fZGlzYWJsZWQmJnRoaXMuX21hcC5fem9vbT50aGlzLl9tYXAuZ2V0TWluWm9vbSgpJiZ0aGlzLl9tYXAuem9vbU91dCh0aGlzLl9tYXAub3B0aW9ucy56b29tRGVsdGEqKHQuc2hpZnRLZXk/MzoxKSl9LF9jcmVhdGVCdXR0b246ZnVuY3Rpb24odCxlLGksbixvKXtpPVAoImEiLGksbik7cmV0dXJuIGkuaW5uZXJIVE1MPXQsaS5ocmVmPSIjIixpLnRpdGxlPWUsaS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJidXR0b24iKSxpLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsZSksSWUoaSksUyhpLCJjbGljayIsUmUpLFMoaSwiY2xpY2siLG8sdGhpcyksUyhpLCJjbGljayIsdGhpcy5fcmVmb2N1c09uTWFwLHRoaXMpLGl9LF91cGRhdGVEaXNhYmxlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcCxlPSJsZWFmbGV0LWRpc2FibGVkIjt6KHRoaXMuX3pvb21JbkJ1dHRvbixlKSx6KHRoaXMuX3pvb21PdXRCdXR0b24sZSksdGhpcy5fem9vbUluQnV0dG9uLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsImZhbHNlIiksdGhpcy5fem9vbU91dEJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJmYWxzZSIpLCF0aGlzLl9kaXNhYmxlZCYmdC5fem9vbSE9PXQuZ2V0TWluWm9vbSgpfHwoTSh0aGlzLl96b29tT3V0QnV0dG9uLGUpLHRoaXMuX3pvb21PdXRCdXR0b24uc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpKSwhdGhpcy5fZGlzYWJsZWQmJnQuX3pvb20hPT10LmdldE1heFpvb20oKXx8KE0odGhpcy5fem9vbUluQnV0dG9uLGUpLHRoaXMuX3pvb21JbkJ1dHRvbi5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIikpfX0pLEdlPShBLm1lcmdlT3B0aW9ucyh7em9vbUNvbnRyb2w6ITB9KSxBLmFkZEluaXRIb29rKGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnpvb21Db250cm9sJiYodGhpcy56b29tQ29udHJvbD1uZXcgcWUsdGhpcy5hZGRDb250cm9sKHRoaXMuem9vbUNvbnRyb2wpKX0pLEIuZXh0ZW5kKHtvcHRpb25zOntwb3NpdGlvbjoiYm90dG9tbGVmdCIsbWF4V2lkdGg6MTAwLG1ldHJpYzohMCxpbXBlcmlhbDohMH0sb25BZGQ6ZnVuY3Rpb24odCl7dmFyIGU9ImxlYWZsZXQtY29udHJvbC1zY2FsZSIsaT1QKCJkaXYiLGUpLG49dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLl9hZGRTY2FsZXMobixlKyItbGluZSIsaSksdC5vbihuLnVwZGF0ZVdoZW5JZGxlPyJtb3ZlZW5kIjoibW92ZSIsdGhpcy5fdXBkYXRlLHRoaXMpLHQud2hlblJlYWR5KHRoaXMuX3VwZGF0ZSx0aGlzKSxpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Lm9mZih0aGlzLm9wdGlvbnMudXBkYXRlV2hlbklkbGU/Im1vdmVlbmQiOiJtb3ZlIix0aGlzLl91cGRhdGUsdGhpcyl9LF9hZGRTY2FsZXM6ZnVuY3Rpb24odCxlLGkpe3QubWV0cmljJiYodGhpcy5fbVNjYWxlPVAoImRpdiIsZSxpKSksdC5pbXBlcmlhbCYmKHRoaXMuX2lTY2FsZT1QKCJkaXYiLGUsaSkpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwLGU9dC5nZXRTaXplKCkueS8yLHQ9dC5kaXN0YW5jZSh0LmNvbnRhaW5lclBvaW50VG9MYXRMbmcoWzAsZV0pLHQuY29udGFpbmVyUG9pbnRUb0xhdExuZyhbdGhpcy5vcHRpb25zLm1heFdpZHRoLGVdKSk7dGhpcy5fdXBkYXRlU2NhbGVzKHQpfSxfdXBkYXRlU2NhbGVzOmZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucy5tZXRyaWMmJnQmJnRoaXMuX3VwZGF0ZU1ldHJpYyh0KSx0aGlzLm9wdGlvbnMuaW1wZXJpYWwmJnQmJnRoaXMuX3VwZGF0ZUltcGVyaWFsKHQpfSxfdXBkYXRlTWV0cmljOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2dldFJvdW5kTnVtKHQpO3RoaXMuX3VwZGF0ZVNjYWxlKHRoaXMuX21TY2FsZSxlPDFlMz9lKyIgbSI6ZS8xZTMrIiBrbSIsZS90KX0sX3VwZGF0ZUltcGVyaWFsOmZ1bmN0aW9uKHQpe3ZhciBlLGksdD0zLjI4MDgzOTkqdDs1MjgwPHQ/KGk9dGhpcy5fZ2V0Um91bmROdW0oZT10LzUyODApLHRoaXMuX3VwZGF0ZVNjYWxlKHRoaXMuX2lTY2FsZSxpKyIgbWkiLGkvZSkpOihpPXRoaXMuX2dldFJvdW5kTnVtKHQpLHRoaXMuX3VwZGF0ZVNjYWxlKHRoaXMuX2lTY2FsZSxpKyIgZnQiLGkvdCkpfSxfdXBkYXRlU2NhbGU6ZnVuY3Rpb24odCxlLGkpe3Quc3R5bGUud2lkdGg9TWF0aC5yb3VuZCh0aGlzLm9wdGlvbnMubWF4V2lkdGgqaSkrInB4Iix0LmlubmVySFRNTD1lfSxfZ2V0Um91bmROdW06ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5wb3coMTAsKE1hdGguZmxvb3IodCkrIiIpLmxlbmd0aC0xKSx0PXQvZTtyZXR1cm4gZSoodD0xMDw9dD8xMDo1PD10PzU6Mzw9dD8zOjI8PXQ/MjoxKX19KSksS2U9Qi5leHRlbmQoe29wdGlvbnM6e3Bvc2l0aW9uOiJib3R0b21yaWdodCIscHJlZml4Oic8YSBocmVmPSJodHRwczovL2xlYWZsZXRqcy5jb20iIHRpdGxlPSJBIEphdmFTY3JpcHQgbGlicmFyeSBmb3IgaW50ZXJhY3RpdmUgbWFwcyI+JysoYi5pbmxpbmVTdmc/JzxzdmcgYXJpYS1oaWRkZW49InRydWUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEyIiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCAxMiA4IiBjbGFzcz0ibGVhZmxldC1hdHRyaWJ1dGlvbi1mbGFnIj48cGF0aCBmaWxsPSIjNEM3QkUxIiBkPSJNMCAwaDEydjRIMHoiLz48cGF0aCBmaWxsPSIjRkZENTAwIiBkPSJNMCA0aDEydjNIMHoiLz48cGF0aCBmaWxsPSIjRTBCQzAwIiBkPSJNMCA3aDEydjFIMHoiLz48L3N2Zz4gJzoiIikrIkxlYWZsZXQ8L2E+In0saW5pdGlhbGl6ZTpmdW5jdGlvbih0KXtjKHRoaXMsdCksdGhpcy5fYXR0cmlidXRpb25zPXt9fSxvbkFkZDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4odC5hdHRyaWJ1dGlvbkNvbnRyb2w9dGhpcykuX2NvbnRhaW5lcj1QKCJkaXYiLCJsZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24iKSxJZSh0aGlzLl9jb250YWluZXIpLHQuX2xheWVycyl0Ll9sYXllcnNbZV0uZ2V0QXR0cmlidXRpb24mJnRoaXMuYWRkQXR0cmlidXRpb24odC5fbGF5ZXJzW2VdLmdldEF0dHJpYnV0aW9uKCkpO3JldHVybiB0aGlzLl91cGRhdGUoKSx0Lm9uKCJsYXllcmFkZCIsdGhpcy5fYWRkQXR0cmlidXRpb24sdGhpcyksdGhpcy5fY29udGFpbmVyfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Lm9mZigibGF5ZXJhZGQiLHRoaXMuX2FkZEF0dHJpYnV0aW9uLHRoaXMpfSxfYWRkQXR0cmlidXRpb246ZnVuY3Rpb24odCl7dC5sYXllci5nZXRBdHRyaWJ1dGlvbiYmKHRoaXMuYWRkQXR0cmlidXRpb24odC5sYXllci5nZXRBdHRyaWJ1dGlvbigpKSx0LmxheWVyLm9uY2UoInJlbW92ZSIsZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0aW9uKHQubGF5ZXIuZ2V0QXR0cmlidXRpb24oKSl9LHRoaXMpKX0sc2V0UHJlZml4OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMucHJlZml4PXQsdGhpcy5fdXBkYXRlKCksdGhpc30sYWRkQXR0cmlidXRpb246ZnVuY3Rpb24odCl7cmV0dXJuIHQmJih0aGlzLl9hdHRyaWJ1dGlvbnNbdF18fCh0aGlzLl9hdHRyaWJ1dGlvbnNbdF09MCksdGhpcy5fYXR0cmlidXRpb25zW3RdKyssdGhpcy5fdXBkYXRlKCkpLHRoaXN9LHJlbW92ZUF0dHJpYnV0aW9uOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzLl9hdHRyaWJ1dGlvbnNbdF0mJih0aGlzLl9hdHRyaWJ1dGlvbnNbdF0tLSx0aGlzLl91cGRhdGUoKSksdGhpc30sX3VwZGF0ZTpmdW5jdGlvbigpe2lmKHRoaXMuX21hcCl7dmFyIHQsZT1bXTtmb3IodCBpbiB0aGlzLl9hdHRyaWJ1dGlvbnMpdGhpcy5fYXR0cmlidXRpb25zW3RdJiZlLnB1c2godCk7dmFyIGk9W107dGhpcy5vcHRpb25zLnByZWZpeCYmaS5wdXNoKHRoaXMub3B0aW9ucy5wcmVmaXgpLGUubGVuZ3RoJiZpLnB1c2goZS5qb2luKCIsICIpKSx0aGlzLl9jb250YWluZXIuaW5uZXJIVE1MPWkuam9pbignIDxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj58PC9zcGFuPiAnKX19fSksbj0oQS5tZXJnZU9wdGlvbnMoe2F0dHJpYnV0aW9uQ29udHJvbDohMH0pLEEuYWRkSW5pdEhvb2soZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXR0cmlidXRpb25Db250cm9sJiYobmV3IEtlKS5hZGRUbyh0aGlzKX0pLEIuTGF5ZXJzPVZlLEIuWm9vbT1xZSxCLlNjYWxlPUdlLEIuQXR0cmlidXRpb249S2UsVWUubGF5ZXJzPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbmV3IFZlKHQsZSxpKX0sVWUuem9vbT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHFlKHQpfSxVZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEdlKHQpfSxVZS5hdHRyaWJ1dGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IEtlKHQpfSxldC5leHRlbmQoe2luaXRpYWxpemU6ZnVuY3Rpb24odCl7dGhpcy5fbWFwPXR9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbmFibGVkfHwodGhpcy5fZW5hYmxlZD0hMCx0aGlzLmFkZEhvb2tzKCkpLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW5hYmxlZCYmKHRoaXMuX2VuYWJsZWQ9ITEsdGhpcy5yZW1vdmVIb29rcygpKSx0aGlzfSxlbmFibGVkOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfX0pKSxmdD0obi5hZGRUbz1mdW5jdGlvbih0LGUpe3JldHVybiB0LmFkZEhhbmRsZXIoZSx0aGlzKSx0aGlzfSx7RXZlbnRzOmV9KSxZZT1iLnRvdWNoPyJ0b3VjaHN0YXJ0IG1vdXNlZG93biI6Im1vdXNlZG93biIsWGU9aXQuZXh0ZW5kKHtvcHRpb25zOntjbGlja1RvbGVyYW5jZTozfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSxpLG4pe2ModGhpcyxuKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5fZHJhZ1N0YXJ0VGFyZ2V0PWV8fHQsdGhpcy5fcHJldmVudE91dGxpbmU9aX0sZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5fZW5hYmxlZHx8KFModGhpcy5fZHJhZ1N0YXJ0VGFyZ2V0LFllLHRoaXMuX29uRG93bix0aGlzKSx0aGlzLl9lbmFibGVkPSEwKX0sZGlzYWJsZTpmdW5jdGlvbigpe3RoaXMuX2VuYWJsZWQmJihYZS5fZHJhZ2dpbmc9PT10aGlzJiZ0aGlzLmZpbmlzaERyYWcoITApLGsodGhpcy5fZHJhZ1N0YXJ0VGFyZ2V0LFllLHRoaXMuX29uRG93bix0aGlzKSx0aGlzLl9lbmFibGVkPSExLHRoaXMuX21vdmVkPSExKX0sX29uRG93bjpmdW5jdGlvbih0KXt2YXIgZSxpO3RoaXMuX2VuYWJsZWQmJih0aGlzLl9tb3ZlZD0hMSx2ZSh0aGlzLl9lbGVtZW50LCJsZWFmbGV0LXpvb20tYW5pbSIpfHwodC50b3VjaGVzJiYxIT09dC50b3VjaGVzLmxlbmd0aD9YZS5fZHJhZ2dpbmc9PT10aGlzJiZ0aGlzLmZpbmlzaERyYWcoKTpYZS5fZHJhZ2dpbmd8fHQuc2hpZnRLZXl8fDEhPT10LndoaWNoJiYxIT09dC5idXR0b24mJiF0LnRvdWNoZXN8fCgoWGUuX2RyYWdnaW5nPXRoaXMpLl9wcmV2ZW50T3V0bGluZSYmTWUodGhpcy5fZWxlbWVudCksTGUoKSxyZSgpLHRoaXMuX21vdmluZ3x8KHRoaXMuZmlyZSgiZG93biIpLGk9dC50b3VjaGVzP3QudG91Y2hlc1swXTp0LGU9Q2UodGhpcy5fZWxlbWVudCksdGhpcy5fc3RhcnRQb2ludD1uZXcgcChpLmNsaWVudFgsaS5jbGllbnRZKSx0aGlzLl9zdGFydFBvcz1QZSh0aGlzLl9lbGVtZW50KSx0aGlzLl9wYXJlbnRTY2FsZT1aZShlKSxpPSJtb3VzZWRvd24iPT09dC50eXBlLFMoZG9jdW1lbnQsaT8ibW91c2Vtb3ZlIjoidG91Y2htb3ZlIix0aGlzLl9vbk1vdmUsdGhpcyksUyhkb2N1bWVudCxpPyJtb3VzZXVwIjoidG91Y2hlbmQgdG91Y2hjYW5jZWwiLHRoaXMuX29uVXAsdGhpcykpKSkpfSxfb25Nb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlO3RoaXMuX2VuYWJsZWQmJih0LnRvdWNoZXMmJjE8dC50b3VjaGVzLmxlbmd0aD90aGlzLl9tb3ZlZD0hMDohKGU9bmV3IHAoKGU9dC50b3VjaGVzJiYxPT09dC50b3VjaGVzLmxlbmd0aD90LnRvdWNoZXNbMF06dCkuY2xpZW50WCxlLmNsaWVudFkpLl9zdWJ0cmFjdCh0aGlzLl9zdGFydFBvaW50KSkueCYmIWUueXx8TWF0aC5hYnMoZS54KStNYXRoLmFicyhlLnkpPHRoaXMub3B0aW9ucy5jbGlja1RvbGVyYW5jZXx8KGUueC89dGhpcy5fcGFyZW50U2NhbGUueCxlLnkvPXRoaXMuX3BhcmVudFNjYWxlLnksTyh0KSx0aGlzLl9tb3ZlZHx8KHRoaXMuZmlyZSgiZHJhZ3N0YXJ0IiksdGhpcy5fbW92ZWQ9ITAsTShkb2N1bWVudC5ib2R5LCJsZWFmbGV0LWRyYWdnaW5nIiksdGhpcy5fbGFzdFRhcmdldD10LnRhcmdldHx8dC5zcmNFbGVtZW50LHdpbmRvdy5TVkdFbGVtZW50SW5zdGFuY2UmJnRoaXMuX2xhc3RUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuU1ZHRWxlbWVudEluc3RhbmNlJiYodGhpcy5fbGFzdFRhcmdldD10aGlzLl9sYXN0VGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSxNKHRoaXMuX2xhc3RUYXJnZXQsImxlYWZsZXQtZHJhZy10YXJnZXQiKSksdGhpcy5fbmV3UG9zPXRoaXMuX3N0YXJ0UG9zLmFkZChlKSx0aGlzLl9tb3Zpbmc9ITAsdGhpcy5fbGFzdEV2ZW50PXQsdGhpcy5fdXBkYXRlUG9zaXRpb24oKSkpfSxfdXBkYXRlUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgdD17b3JpZ2luYWxFdmVudDp0aGlzLl9sYXN0RXZlbnR9O3RoaXMuZmlyZSgicHJlZHJhZyIsdCksWih0aGlzLl9lbGVtZW50LHRoaXMuX25ld1BvcyksdGhpcy5maXJlKCJkcmFnIix0KX0sX29uVXA6ZnVuY3Rpb24oKXt0aGlzLl9lbmFibGVkJiZ0aGlzLmZpbmlzaERyYWcoKX0sZmluaXNoRHJhZzpmdW5jdGlvbih0KXt6KGRvY3VtZW50LmJvZHksImxlYWZsZXQtZHJhZ2dpbmciKSx0aGlzLl9sYXN0VGFyZ2V0JiYoeih0aGlzLl9sYXN0VGFyZ2V0LCJsZWFmbGV0LWRyYWctdGFyZ2V0IiksdGhpcy5fbGFzdFRhcmdldD1udWxsKSxrKGRvY3VtZW50LCJtb3VzZW1vdmUgdG91Y2htb3ZlIix0aGlzLl9vbk1vdmUsdGhpcyksayhkb2N1bWVudCwibW91c2V1cCB0b3VjaGVuZCB0b3VjaGNhbmNlbCIsdGhpcy5fb25VcCx0aGlzKSxUZSgpLGFlKCk7dmFyIGU9dGhpcy5fbW92ZWQmJnRoaXMuX21vdmluZzt0aGlzLl9tb3Zpbmc9ITEsWGUuX2RyYWdnaW5nPSExLGUmJnRoaXMuZmlyZSgiZHJhZ2VuZCIse25vSW5lcnRpYTp0LGRpc3RhbmNlOnRoaXMuX25ld1Bvcy5kaXN0YW5jZVRvKHRoaXMuX3N0YXJ0UG9zKX0pfX0pO2Z1bmN0aW9uIEplKHQsZSxpKXtmb3IodmFyIG4sbyxzLHIsYSxoLGwsdT1bMSw0LDIsOF0sYz0wLGQ9dC5sZW5ndGg7YzxkO2MrKyl0W2NdLl9jb2RlPXNpKHRbY10sZSk7Zm9yKHM9MDtzPDQ7cysrKXtmb3IoaD11W3NdLG49W10sYz0wLG89KGQ9dC5sZW5ndGgpLTE7YzxkO289YysrKXI9dFtjXSxhPXRbb10sci5fY29kZSZoP2EuX2NvZGUmaHx8KChsPW9pKGEscixoLGUsaSkpLl9jb2RlPXNpKGwsZSksbi5wdXNoKGwpKTooYS5fY29kZSZoJiYoKGw9b2koYSxyLGgsZSxpKSkuX2NvZGU9c2kobCxlKSxuLnB1c2gobCkpLG4ucHVzaChyKSk7dD1ufXJldHVybiB0fWZ1bmN0aW9uICRlKHQsZSl7dmFyIGksbixvLHMscixhLGg7aWYoIXR8fDA9PT10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImxhdGxuZ3Mgbm90IHBhc3NlZCIpO0kodCl8fChjb25zb2xlLndhcm4oImxhdGxuZ3MgYXJlIG5vdCBmbGF0ISBPbmx5IHRoZSBmaXJzdCByaW5nIHdpbGwgYmUgdXNlZCIpLHQ9dFswXSk7Zm9yKHZhciBsPXcoWzAsMF0pLHU9Zyh0KSxjPSh1LmdldE5vcnRoV2VzdCgpLmRpc3RhbmNlVG8odS5nZXRTb3V0aFdlc3QoKSkqdS5nZXROb3J0aEVhc3QoKS5kaXN0YW5jZVRvKHUuZ2V0Tm9ydGhXZXN0KCkpPDE3MDAmJihsPVFlKHQpKSx0Lmxlbmd0aCksZD1bXSxfPTA7XzxjO18rKyl7dmFyIHA9dyh0W19dKTtkLnB1c2goZS5wcm9qZWN0KHcoW3AubGF0LWwubGF0LHAubG5nLWwubG5nXSkpKX1mb3IoXz1yPWE9aD0wLGk9Yy0xO188YztpPV8rKyluPWRbX10sbz1kW2ldLHM9bi55Km8ueC1vLnkqbi54LGErPShuLngrby54KSpzLGgrPShuLnkrby55KSpzLHIrPTMqczt1PTA9PT1yP2RbMF06W2EvcixoL3JdLHU9ZS51bnByb2plY3QobSh1KSk7cmV0dXJuIHcoW3UubGF0K2wubGF0LHUubG5nK2wubG5nXSl9ZnVuY3Rpb24gUWUodCl7Zm9yKHZhciBlPTAsaT0wLG49MCxvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBzPXcodFtvXSk7ZSs9cy5sYXQsaSs9cy5sbmcsbisrfXJldHVybiB3KFtlL24saS9uXSl9dmFyIHRpLGd0PXtfX3Byb3RvX186bnVsbCxjbGlwUG9seWdvbjpKZSxwb2x5Z29uQ2VudGVyOiRlLGNlbnRyb2lkOlFlfTtmdW5jdGlvbiBlaSh0LGUpe2lmKGUmJnQubGVuZ3RoKXt2YXIgaT10PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPVt0WzBdXSxuPTEsbz0wLHM9dC5sZW5ndGg7bjxzO24rKykoZnVuY3Rpb24odCxlKXt2YXIgaT1lLngtdC54LGU9ZS55LXQueTtyZXR1cm4gaSppK2UqZX0pKHRbbl0sdFtvXSk+ZSYmKGkucHVzaCh0W25dKSxvPW4pO288cy0xJiZpLnB1c2godFtzLTFdKTtyZXR1cm4gaX0odCxlPWUqZSksbj1pLmxlbmd0aCxvPW5ldyh0eXBlb2YgVWludDhBcnJheSE9dm9pZCAwKyIiP1VpbnQ4QXJyYXk6QXJyYXkpKG4pO29bMF09b1tuLTFdPTEsZnVuY3Rpb24gdChlLGksbixvLHMpe3ZhciByLGEsaCxsPTA7Zm9yKGE9bysxO2E8PXMtMTthKyspaD1yaShlW2FdLGVbb10sZVtzXSwhMCksbDxoJiYocj1hLGw9aCk7bjxsJiYoaVtyXT0xLHQoZSxpLG4sbyxyKSx0KGUsaSxuLHIscykpfShpLG8sZSwwLG4tMSk7dmFyIHMscj1bXTtmb3Iocz0wO3M8bjtzKyspb1tzXSYmci5wdXNoKGlbc10pO3JldHVybiByfXJldHVybiB0LnNsaWNlKCl9ZnVuY3Rpb24gaWkodCxlLGkpe3JldHVybiBNYXRoLnNxcnQocmkodCxlLGksITApKX1mdW5jdGlvbiBuaSh0LGUsaSxuLG8pe3ZhciBzLHIsYSxoPW4/dGk6c2kodCxpKSxsPXNpKGUsaSk7Zm9yKHRpPWw7Oyl7aWYoIShofGwpKXJldHVyblt0LGVdO2lmKGgmbClyZXR1cm4hMTthPXNpKHI9b2kodCxlLHM9aHx8bCxpLG8pLGkpLHM9PT1oPyh0PXIsaD1hKTooZT1yLGw9YSl9fWZ1bmN0aW9uIG9pKHQsZSxpLG4sbyl7dmFyIHMscixhPWUueC10LngsZT1lLnktdC55LGg9bi5taW4sbj1uLm1heDtyZXR1cm4gOCZpPyhzPXQueCthKihuLnktdC55KS9lLHI9bi55KTo0Jmk/KHM9dC54K2EqKGgueS10LnkpL2Uscj1oLnkpOjImaT8ocz1uLngscj10LnkrZSoobi54LXQueCkvYSk6MSZpJiYocz1oLngscj10LnkrZSooaC54LXQueCkvYSksbmV3IHAocyxyLG8pfWZ1bmN0aW9uIHNpKHQsZSl7dmFyIGk9MDtyZXR1cm4gdC54PGUubWluLng/aXw9MTp0Lng+ZS5tYXgueCYmKGl8PTIpLHQueTxlLm1pbi55P2l8PTQ6dC55PmUubWF4LnkmJihpfD04KSxpfWZ1bmN0aW9uIHJpKHQsZSxpLG4pe3ZhciBvPWUueCxlPWUueSxzPWkueC1vLHI9aS55LWUsYT1zKnMrcipyO3JldHVybiAwPGEmJigxPChhPSgodC54LW8pKnMrKHQueS1lKSpyKS9hKT8obz1pLngsZT1pLnkpOjA8YSYmKG8rPXMqYSxlKz1yKmEpKSxzPXQueC1vLHI9dC55LWUsbj9zKnMrcipyOm5ldyBwKG8sZSl9ZnVuY3Rpb24gSSh0KXtyZXR1cm4hZCh0WzBdKXx8Im9iamVjdCIhPXR5cGVvZiB0WzBdWzBdJiZ2b2lkIDAhPT10WzBdWzBdfWZ1bmN0aW9uIGFpKHQpe3JldHVybiBjb25zb2xlLndhcm4oIkRlcHJlY2F0ZWQgdXNlIG9mIF9mbGF0LCBwbGVhc2UgdXNlIEwuTGluZVV0aWwuaXNGbGF0IGluc3RlYWQuIiksSSh0KX1mdW5jdGlvbiBoaSh0LGUpe3ZhciBpLG4sbyxzLHIsYTtpZighdHx8MD09PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigibGF0bG5ncyBub3QgcGFzc2VkIik7SSh0KXx8KGNvbnNvbGUud2FybigibGF0bG5ncyBhcmUgbm90IGZsYXQhIE9ubHkgdGhlIGZpcnN0IHJpbmcgd2lsbCBiZSB1c2VkIiksdD10WzBdKTtmb3IodmFyIGg9dyhbMCwwXSksbD1nKHQpLHU9KGwuZ2V0Tm9ydGhXZXN0KCkuZGlzdGFuY2VUbyhsLmdldFNvdXRoV2VzdCgpKSpsLmdldE5vcnRoRWFzdCgpLmRpc3RhbmNlVG8obC5nZXROb3J0aFdlc3QoKSk8MTcwMCYmKGg9UWUodCkpLHQubGVuZ3RoKSxjPVtdLGQ9MDtkPHU7ZCsrKXt2YXIgXz13KHRbZF0pO2MucHVzaChlLnByb2plY3QodyhbXy5sYXQtaC5sYXQsXy5sbmctaC5sbmddKSkpfWZvcihpPWQ9MDtkPHUtMTtkKyspaSs9Y1tkXS5kaXN0YW5jZVRvKGNbZCsxXSkvMjtpZigwPT09aSlhPWNbMF07ZWxzZSBmb3Iobj1kPTA7ZDx1LTE7ZCsrKWlmKG89Y1tkXSxzPWNbZCsxXSxpPChuKz1yPW8uZGlzdGFuY2VUbyhzKSkpe2E9W3MueC0ocj0obi1pKS9yKSoocy54LW8ueCkscy55LXIqKHMueS1vLnkpXTticmVha31sPWUudW5wcm9qZWN0KG0oYSkpO3JldHVybiB3KFtsLmxhdCtoLmxhdCxsLmxuZytoLmxuZ10pfXZhciB2dD17X19wcm90b19fOm51bGwsc2ltcGxpZnk6ZWkscG9pbnRUb1NlZ21lbnREaXN0YW5jZTppaSxjbG9zZXN0UG9pbnRPblNlZ21lbnQ6ZnVuY3Rpb24odCxlLGkpe3JldHVybiByaSh0LGUsaSl9LGNsaXBTZWdtZW50Om5pLF9nZXRFZGdlSW50ZXJzZWN0aW9uOm9pLF9nZXRCaXRDb2RlOnNpLF9zcUNsb3Nlc3RQb2ludE9uU2VnbWVudDpyaSxpc0ZsYXQ6SSxfZmxhdDphaSxwb2x5bGluZUNlbnRlcjpoaX0seXQ9e3Byb2plY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBwKHQubG5nLHQubGF0KX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdih0LnksdC54KX0sYm91bmRzOm5ldyBmKFstMTgwLC05MF0sWzE4MCw5MF0pfSx4dD17Ujo2Mzc4MTM3LFJfTUlOT1I6NjM1Njc1Mi4zMTQyNDUxNzksYm91bmRzOm5ldyBmKFstMjAwMzc1MDguMzQyNzksLTE1NDk2NTcwLjczOTcyXSxbMjAwMzc1MDguMzQyNzksMTg3NjQ2NTYuMjMxMzhdKSxwcm9qZWN0OmZ1bmN0aW9uKHQpe3ZhciBlPU1hdGguUEkvMTgwLGk9dGhpcy5SLG49dC5sYXQqZSxvPXRoaXMuUl9NSU5PUi9pLG89TWF0aC5zcXJ0KDEtbypvKSxzPW8qTWF0aC5zaW4obikscz1NYXRoLnRhbihNYXRoLlBJLzQtbi8yKS9NYXRoLnBvdygoMS1zKS8oMStzKSxvLzIpLG49LWkqTWF0aC5sb2coTWF0aC5tYXgocywxZS0xMCkpO3JldHVybiBuZXcgcCh0LmxuZyplKmksbil9LHVucHJvamVjdDpmdW5jdGlvbih0KXtmb3IodmFyIGUsaT0xODAvTWF0aC5QSSxuPXRoaXMuUixvPXRoaXMuUl9NSU5PUi9uLHM9TWF0aC5zcXJ0KDEtbypvKSxyPU1hdGguZXhwKC10LnkvbiksYT1NYXRoLlBJLzItMipNYXRoLmF0YW4ociksaD0wLGw9LjE7aDwxNSYmMWUtNzxNYXRoLmFicyhsKTtoKyspZT1zKk1hdGguc2luKGEpLGU9TWF0aC5wb3coKDEtZSkvKDErZSkscy8yKSxhKz1sPU1hdGguUEkvMi0yKk1hdGguYXRhbihyKmUpLWE7cmV0dXJuIG5ldyB2KGEqaSx0LngqaS9uKX19LHd0PXtfX3Byb3RvX186bnVsbCxMb25MYXQ6eXQsTWVyY2F0b3I6eHQsU3BoZXJpY2FsTWVyY2F0b3I6cnR9LFB0PWwoe30sc3Qse2NvZGU6IkVQU0c6MzM5NSIscHJvamVjdGlvbjp4dCx0cmFuc2Zvcm1hdGlvbjpodChidD0uNS8oTWF0aC5QSSp4dC5SKSwuNSwtYnQsLjUpfSksbGk9bCh7fSxzdCx7Y29kZToiRVBTRzo0MzI2Iixwcm9qZWN0aW9uOnl0LHRyYW5zZm9ybWF0aW9uOmh0KDEvMTgwLDEsLTEvMTgwLC41KX0pLEx0PWwoe30sb3Qse3Byb2plY3Rpb246eXQsdHJhbnNmb3JtYXRpb246aHQoMSwwLC0xLDApLHNjYWxlOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnBvdygyLHQpfSx6b29tOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLkxOMn0sZGlzdGFuY2U6ZnVuY3Rpb24odCxlKXt2YXIgaT1lLmxuZy10LmxuZyxlPWUubGF0LXQubGF0O3JldHVybiBNYXRoLnNxcnQoaSppK2UqZSl9LGluZmluaXRlOiEwfSksbz0ob3QuRWFydGg9c3Qsb3QuRVBTRzMzOTU9UHQsb3QuRVBTRzM4NTc9bHQsb3QuRVBTRzkwMDkxMz11dCxvdC5FUFNHNDMyNj1saSxvdC5TaW1wbGU9THQsaXQuZXh0ZW5kKHtvcHRpb25zOntwYW5lOiJvdmVybGF5UGFuZSIsYXR0cmlidXRpb246bnVsbCxidWJibGluZ01vdXNlRXZlbnRzOiEwfSxhZGRUbzpmdW5jdGlvbih0KXtyZXR1cm4gdC5hZGRMYXllcih0aGlzKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZW1vdmVGcm9tKHRoaXMuX21hcHx8dGhpcy5fbWFwVG9BZGQpfSxyZW1vdmVGcm9tOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0LnJlbW92ZUxheWVyKHRoaXMpLHRoaXN9LGdldFBhbmU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcC5nZXRQYW5lKHQ/dGhpcy5vcHRpb25zW3RdfHx0OnRoaXMub3B0aW9ucy5wYW5lKX0sYWRkSW50ZXJhY3RpdmVUYXJnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcC5fdGFyZ2V0c1toKHQpXT10aGlzfSxyZW1vdmVJbnRlcmFjdGl2ZVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX21hcC5fdGFyZ2V0c1toKHQpXSx0aGlzfSxnZXRBdHRyaWJ1dGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuYXR0cmlidXRpb259LF9sYXllckFkZDpmdW5jdGlvbih0KXt2YXIgZSxpPXQudGFyZ2V0O2kuaGFzTGF5ZXIodGhpcykmJih0aGlzLl9tYXA9aSx0aGlzLl96b29tQW5pbWF0ZWQ9aS5fem9vbUFuaW1hdGVkLHRoaXMuZ2V0RXZlbnRzJiYoZT10aGlzLmdldEV2ZW50cygpLGkub24oZSx0aGlzKSx0aGlzLm9uY2UoInJlbW92ZSIsZnVuY3Rpb24oKXtpLm9mZihlLHRoaXMpfSx0aGlzKSksdGhpcy5vbkFkZChpKSx0aGlzLmZpcmUoImFkZCIpLGkuZmlyZSgibGF5ZXJhZGQiLHtsYXllcjp0aGlzfSkpfX0pKSx1aT0oQS5pbmNsdWRlKHthZGRMYXllcjpmdW5jdGlvbih0KXt2YXIgZTtpZih0Ll9sYXllckFkZClyZXR1cm4gZT1oKHQpLHRoaXMuX2xheWVyc1tlXXx8KCh0aGlzLl9sYXllcnNbZV09dCkuX21hcFRvQWRkPXRoaXMsdC5iZWZvcmVBZGQmJnQuYmVmb3JlQWRkKHRoaXMpLHRoaXMud2hlblJlYWR5KHQuX2xheWVyQWRkLHQpKSx0aGlzO3Rocm93IG5ldyBFcnJvcigiVGhlIHByb3ZpZGVkIG9iamVjdCBpcyBub3QgYSBMYXllci4iKX0scmVtb3ZlTGF5ZXI6ZnVuY3Rpb24odCl7dmFyIGU9aCh0KTtyZXR1cm4gdGhpcy5fbGF5ZXJzW2VdJiYodGhpcy5fbG9hZGVkJiZ0Lm9uUmVtb3ZlKHRoaXMpLGRlbGV0ZSB0aGlzLl9sYXllcnNbZV0sdGhpcy5fbG9hZGVkJiYodGhpcy5maXJlKCJsYXllcnJlbW92ZSIse2xheWVyOnR9KSx0LmZpcmUoInJlbW92ZSIpKSx0Ll9tYXA9dC5fbWFwVG9BZGQ9bnVsbCksdGhpc30saGFzTGF5ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGgodClpbiB0aGlzLl9sYXllcnN9LGVhY2hMYXllcjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiB0aGlzLl9sYXllcnMpdC5jYWxsKGUsdGhpcy5fbGF5ZXJzW2ldKTtyZXR1cm4gdGhpc30sX2FkZExheWVyczpmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxpPSh0PXQ/ZCh0KT90Olt0XTpbXSkubGVuZ3RoO2U8aTtlKyspdGhpcy5hZGRMYXllcih0W2VdKX0sX2FkZFpvb21MaW1pdDpmdW5jdGlvbih0KXtpc05hTih0Lm9wdGlvbnMubWF4Wm9vbSkmJmlzTmFOKHQub3B0aW9ucy5taW5ab29tKXx8KHRoaXMuX3pvb21Cb3VuZExheWVyc1toKHQpXT10LHRoaXMuX3VwZGF0ZVpvb21MZXZlbHMoKSl9LF9yZW1vdmVab29tTGltaXQ6ZnVuY3Rpb24odCl7dD1oKHQpO3RoaXMuX3pvb21Cb3VuZExheWVyc1t0XSYmKGRlbGV0ZSB0aGlzLl96b29tQm91bmRMYXllcnNbdF0sdGhpcy5fdXBkYXRlWm9vbUxldmVscygpKX0sX3VwZGF0ZVpvb21MZXZlbHM6ZnVuY3Rpb24oKXt2YXIgdCxlPTEvMCxpPS0xLzAsbj10aGlzLl9nZXRab29tU3BhbigpO2Zvcih0IGluIHRoaXMuX3pvb21Cb3VuZExheWVycyl2YXIgbz10aGlzLl96b29tQm91bmRMYXllcnNbdF0ub3B0aW9ucyxlPXZvaWQgMD09PW8ubWluWm9vbT9lOk1hdGgubWluKGUsby5taW5ab29tKSxpPXZvaWQgMD09PW8ubWF4Wm9vbT9pOk1hdGgubWF4KGksby5tYXhab29tKTt0aGlzLl9sYXllcnNNYXhab29tPWk9PT0tMS8wP3ZvaWQgMDppLHRoaXMuX2xheWVyc01pblpvb209ZT09PTEvMD92b2lkIDA6ZSxuIT09dGhpcy5fZ2V0Wm9vbVNwYW4oKSYmdGhpcy5maXJlKCJ6b29tbGV2ZWxzY2hhbmdlIiksdm9pZCAwPT09dGhpcy5vcHRpb25zLm1heFpvb20mJnRoaXMuX2xheWVyc01heFpvb20mJnRoaXMuZ2V0Wm9vbSgpPnRoaXMuX2xheWVyc01heFpvb20mJnRoaXMuc2V0Wm9vbSh0aGlzLl9sYXllcnNNYXhab29tKSx2b2lkIDA9PT10aGlzLm9wdGlvbnMubWluWm9vbSYmdGhpcy5fbGF5ZXJzTWluWm9vbSYmdGhpcy5nZXRab29tKCk8dGhpcy5fbGF5ZXJzTWluWm9vbSYmdGhpcy5zZXRab29tKHRoaXMuX2xheWVyc01pblpvb20pfX0pLG8uZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSl7dmFyIGksbjtpZihjKHRoaXMsZSksdGhpcy5fbGF5ZXJzPXt9LHQpZm9yKGk9MCxuPXQubGVuZ3RoO2k8bjtpKyspdGhpcy5hZGRMYXllcih0W2ldKX0sYWRkTGF5ZXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRMYXllcklkKHQpO3JldHVybiB0aGlzLl9sYXllcnNbZV09dCx0aGlzLl9tYXAmJnRoaXMuX21hcC5hZGRMYXllcih0KSx0aGlzfSxyZW1vdmVMYXllcjpmdW5jdGlvbih0KXt0PXQgaW4gdGhpcy5fbGF5ZXJzP3Q6dGhpcy5nZXRMYXllcklkKHQpO3JldHVybiB0aGlzLl9tYXAmJnRoaXMuX2xheWVyc1t0XSYmdGhpcy5fbWFwLnJlbW92ZUxheWVyKHRoaXMuX2xheWVyc1t0XSksZGVsZXRlIHRoaXMuX2xheWVyc1t0XSx0aGlzfSxoYXNMYXllcjpmdW5jdGlvbih0KXtyZXR1cm4oIm51bWJlciI9PXR5cGVvZiB0P3Q6dGhpcy5nZXRMYXllcklkKHQpKWluIHRoaXMuX2xheWVyc30sY2xlYXJMYXllcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoTGF5ZXIodGhpcy5yZW1vdmVMYXllcix0aGlzKX0saW52b2tlOmZ1bmN0aW9uKHQpe3ZhciBlLGksbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7Zm9yKGUgaW4gdGhpcy5fbGF5ZXJzKShpPXRoaXMuX2xheWVyc1tlXSlbdF0mJmlbdF0uYXBwbHkoaSxuKTtyZXR1cm4gdGhpc30sb25BZGQ6ZnVuY3Rpb24odCl7dGhpcy5lYWNoTGF5ZXIodC5hZGRMYXllcix0KX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7dGhpcy5lYWNoTGF5ZXIodC5yZW1vdmVMYXllcix0KX0sZWFjaExheWVyOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIHRoaXMuX2xheWVycyl0LmNhbGwoZSx0aGlzLl9sYXllcnNbaV0pO3JldHVybiB0aGlzfSxnZXRMYXllcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbGF5ZXJzW3RdfSxnZXRMYXllcnM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoTGF5ZXIodC5wdXNoLHQpLHR9LHNldFpJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZva2UoInNldFpJbmRleCIsdCl9LGdldExheWVySWQ6aH0pKSxjaT11aS5leHRlbmQoe2FkZExheWVyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhc0xheWVyKHQpP3RoaXM6KHQuYWRkRXZlbnRQYXJlbnQodGhpcyksdWkucHJvdG90eXBlLmFkZExheWVyLmNhbGwodGhpcyx0KSx0aGlzLmZpcmUoImxheWVyYWRkIix7bGF5ZXI6dH0pKX0scmVtb3ZlTGF5ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaGFzTGF5ZXIodCk/KCh0PXQgaW4gdGhpcy5fbGF5ZXJzP3RoaXMuX2xheWVyc1t0XTp0KS5yZW1vdmVFdmVudFBhcmVudCh0aGlzKSx1aS5wcm90b3R5cGUucmVtb3ZlTGF5ZXIuY2FsbCh0aGlzLHQpLHRoaXMuZmlyZSgibGF5ZXJyZW1vdmUiLHtsYXllcjp0fSkpOnRoaXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludm9rZSgic2V0U3R5bGUiLHQpfSxicmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnZva2UoImJyaW5nVG9Gcm9udCIpfSxicmluZ1RvQmFjazpmdW5jdGlvbigpe3JldHVybiB0aGlzLmludm9rZSgiYnJpbmdUb0JhY2siKX0sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQsZT1uZXcgcztmb3IodCBpbiB0aGlzLl9sYXllcnMpe3ZhciBpPXRoaXMuX2xheWVyc1t0XTtlLmV4dGVuZChpLmdldEJvdW5kcz9pLmdldEJvdW5kcygpOmkuZ2V0TGF0TG5nKCkpfXJldHVybiBlfX0pLGRpPWV0LmV4dGVuZCh7b3B0aW9uczp7cG9wdXBBbmNob3I6WzAsMF0sdG9vbHRpcEFuY2hvcjpbMCwwXSxjcm9zc09yaWdpbjohMX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0KXtjKHRoaXMsdCl9LGNyZWF0ZUljb246ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NyZWF0ZUljb24oImljb24iLHQpfSxjcmVhdGVTaGFkb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NyZWF0ZUljb24oInNoYWRvdyIsdCl9LF9jcmVhdGVJY29uOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZ2V0SWNvblVybCh0KTtpZihpKXJldHVybiBpPXRoaXMuX2NyZWF0ZUltZyhpLGUmJiJJTUciPT09ZS50YWdOYW1lP2U6bnVsbCksdGhpcy5fc2V0SWNvblN0eWxlcyhpLHQpLCF0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4mJiIiIT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2lufHwoaS5jcm9zc09yaWdpbj0hMD09PXRoaXMub3B0aW9ucy5jcm9zc09yaWdpbj8iIjp0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4pLGk7aWYoImljb24iPT09dCl0aHJvdyBuZXcgRXJyb3IoImljb25Vcmwgbm90IHNldCBpbiBJY29uIG9wdGlvbnMgKHNlZSB0aGUgZG9jcykuIik7cmV0dXJuIG51bGx9LF9zZXRJY29uU3R5bGVzOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLG49aVtlKyJTaXplIl0sbj1tKG49Im51bWJlciI9PXR5cGVvZiBuP1tuLG5dOm4pLG89bSgic2hhZG93Ij09PWUmJmkuc2hhZG93QW5jaG9yfHxpLmljb25BbmNob3J8fG4mJm4uZGl2aWRlQnkoMiwhMCkpO3QuY2xhc3NOYW1lPSJsZWFmbGV0LW1hcmtlci0iK2UrIiAiKyhpLmNsYXNzTmFtZXx8IiIpLG8mJih0LnN0eWxlLm1hcmdpbkxlZnQ9LW8ueCsicHgiLHQuc3R5bGUubWFyZ2luVG9wPS1vLnkrInB4IiksbiYmKHQuc3R5bGUud2lkdGg9bi54KyJweCIsdC5zdHlsZS5oZWlnaHQ9bi55KyJweCIpfSxfY3JlYXRlSW1nOmZ1bmN0aW9uKHQsZSl7cmV0dXJuKGU9ZXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikpLnNyYz10LGV9LF9nZXRJY29uVXJsOmZ1bmN0aW9uKHQpe3JldHVybiBiLnJldGluYSYmdGhpcy5vcHRpb25zW3QrIlJldGluYVVybCJdfHx0aGlzLm9wdGlvbnNbdCsiVXJsIl19fSk7dmFyIF9pPWRpLmV4dGVuZCh7b3B0aW9uczp7aWNvblVybDoibWFya2VyLWljb24ucG5nIixpY29uUmV0aW5hVXJsOiJtYXJrZXItaWNvbi0yeC5wbmciLHNoYWRvd1VybDoibWFya2VyLXNoYWRvdy5wbmciLGljb25TaXplOlsyNSw0MV0saWNvbkFuY2hvcjpbMTIsNDFdLHBvcHVwQW5jaG9yOlsxLC0zNF0sdG9vbHRpcEFuY2hvcjpbMTYsLTI4XSxzaGFkb3dTaXplOls0MSw0MV19LF9nZXRJY29uVXJsOmZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciIT10eXBlb2YgX2kuaW1hZ2VQYXRoJiYoX2kuaW1hZ2VQYXRoPXRoaXMuX2RldGVjdEljb25QYXRoKCkpLCh0aGlzLm9wdGlvbnMuaW1hZ2VQYXRofHxfaS5pbWFnZVBhdGgpK2RpLnByb3RvdHlwZS5fZ2V0SWNvblVybC5jYWxsKHRoaXMsdCl9LF9zdHJpcFVybDpmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSxpKXtyZXR1cm4oZT1lLmV4ZWModCkpJiZlW2ldfXJldHVybih0PWUodCwvXnVybFwoKFsnIl0pPyguKylcMVwpJC8sMikpJiZlKHQsL14oLiopbWFya2VyLWljb25cLnBuZyQvLDEpfSxfZGV0ZWN0SWNvblBhdGg6ZnVuY3Rpb24oKXt2YXIgdD1QKCJkaXYiLCJsZWFmbGV0LWRlZmF1bHQtaWNvbi1wYXRoIixkb2N1bWVudC5ib2R5KSxlPXBlKHQsImJhY2tncm91bmQtaW1hZ2UiKXx8cGUodCwiYmFja2dyb3VuZEltYWdlIik7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksKGU9dGhpcy5fc3RyaXBVcmwoZSkpP2U6KHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlua1tocmVmJD0ibGVhZmxldC5jc3MiXScpKT90LmhyZWYuc3Vic3RyaW5nKDAsdC5ocmVmLmxlbmd0aC0ibGVhZmxldC5jc3MiLmxlbmd0aC0xKToiIn19KSxwaT1uLmV4dGVuZCh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0KXt0aGlzLl9tYXJrZXI9dH0sYWRkSG9va3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXJrZXIuX2ljb247dGhpcy5fZHJhZ2dhYmxlfHwodGhpcy5fZHJhZ2dhYmxlPW5ldyBYZSh0LHQsITApKSx0aGlzLl9kcmFnZ2FibGUub24oe2RyYWdzdGFydDp0aGlzLl9vbkRyYWdTdGFydCxwcmVkcmFnOnRoaXMuX29uUHJlRHJhZyxkcmFnOnRoaXMuX29uRHJhZyxkcmFnZW5kOnRoaXMuX29uRHJhZ0VuZH0sdGhpcykuZW5hYmxlKCksTSh0LCJsZWFmbGV0LW1hcmtlci1kcmFnZ2FibGUiKX0scmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXt0aGlzLl9kcmFnZ2FibGUub2ZmKHtkcmFnc3RhcnQ6dGhpcy5fb25EcmFnU3RhcnQscHJlZHJhZzp0aGlzLl9vblByZURyYWcsZHJhZzp0aGlzLl9vbkRyYWcsZHJhZ2VuZDp0aGlzLl9vbkRyYWdFbmR9LHRoaXMpLmRpc2FibGUoKSx0aGlzLl9tYXJrZXIuX2ljb24mJnoodGhpcy5fbWFya2VyLl9pY29uLCJsZWFmbGV0LW1hcmtlci1kcmFnZ2FibGUiKX0sbW92ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUuX21vdmVkfSxfYWRqdXN0UGFuOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX21hcmtlcixpPWUuX21hcCxuPXRoaXMuX21hcmtlci5vcHRpb25zLmF1dG9QYW5TcGVlZCxvPXRoaXMuX21hcmtlci5vcHRpb25zLmF1dG9QYW5QYWRkaW5nLHM9UGUoZS5faWNvbikscj1pLmdldFBpeGVsQm91bmRzKCksYT1pLmdldFBpeGVsT3JpZ2luKCksYT1fKHIubWluLl9zdWJ0cmFjdChhKS5hZGQobyksci5tYXguX3N1YnRyYWN0KGEpLnN1YnRyYWN0KG8pKTthLmNvbnRhaW5zKHMpfHwobz1tKChNYXRoLm1heChhLm1heC54LHMueCktYS5tYXgueCkvKHIubWF4LngtYS5tYXgueCktKE1hdGgubWluKGEubWluLngscy54KS1hLm1pbi54KS8oci5taW4ueC1hLm1pbi54KSwoTWF0aC5tYXgoYS5tYXgueSxzLnkpLWEubWF4LnkpLyhyLm1heC55LWEubWF4LnkpLShNYXRoLm1pbihhLm1pbi55LHMueSktYS5taW4ueSkvKHIubWluLnktYS5taW4ueSkpLm11bHRpcGx5QnkobiksaS5wYW5CeShvLHthbmltYXRlOiExfSksdGhpcy5fZHJhZ2dhYmxlLl9uZXdQb3MuX2FkZChvKSx0aGlzLl9kcmFnZ2FibGUuX3N0YXJ0UG9zLl9hZGQobyksWihlLl9pY29uLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zKSx0aGlzLl9vbkRyYWcodCksdGhpcy5fcGFuUmVxdWVzdD14KHRoaXMuX2FkanVzdFBhbi5iaW5kKHRoaXMsdCkpKX0sX29uRHJhZ1N0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fb2xkTGF0TG5nPXRoaXMuX21hcmtlci5nZXRMYXRMbmcoKSx0aGlzLl9tYXJrZXIuY2xvc2VQb3B1cCYmdGhpcy5fbWFya2VyLmNsb3NlUG9wdXAoKSx0aGlzLl9tYXJrZXIuZmlyZSgibW92ZXN0YXJ0IikuZmlyZSgiZHJhZ3N0YXJ0Iil9LF9vblByZURyYWc6ZnVuY3Rpb24odCl7dGhpcy5fbWFya2VyLm9wdGlvbnMuYXV0b1BhbiYmKHIodGhpcy5fcGFuUmVxdWVzdCksdGhpcy5fcGFuUmVxdWVzdD14KHRoaXMuX2FkanVzdFBhbi5iaW5kKHRoaXMsdCkpKX0sX29uRHJhZzpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXJrZXIsaT1lLl9zaGFkb3csbj1QZShlLl9pY29uKSxvPWUuX21hcC5sYXllclBvaW50VG9MYXRMbmcobik7aSYmWihpLG4pLGUuX2xhdGxuZz1vLHQubGF0bG5nPW8sdC5vbGRMYXRMbmc9dGhpcy5fb2xkTGF0TG5nLGUuZmlyZSgibW92ZSIsdCkuZmlyZSgiZHJhZyIsdCl9LF9vbkRyYWdFbmQ6ZnVuY3Rpb24odCl7cih0aGlzLl9wYW5SZXF1ZXN0KSxkZWxldGUgdGhpcy5fb2xkTGF0TG5nLHRoaXMuX21hcmtlci5maXJlKCJtb3ZlZW5kIikuZmlyZSgiZHJhZ2VuZCIsdCl9fSksbWk9by5leHRlbmQoe29wdGlvbnM6e2ljb246bmV3IF9pLGludGVyYWN0aXZlOiEwLGtleWJvYXJkOiEwLHRpdGxlOiIiLGFsdDoiTWFya2VyIix6SW5kZXhPZmZzZXQ6MCxvcGFjaXR5OjEscmlzZU9uSG92ZXI6ITEscmlzZU9mZnNldDoyNTAscGFuZToibWFya2VyUGFuZSIsc2hhZG93UGFuZToic2hhZG93UGFuZSIsYnViYmxpbmdNb3VzZUV2ZW50czohMSxhdXRvUGFuT25Gb2N1czohMCxkcmFnZ2FibGU6ITEsYXV0b1BhbjohMSxhdXRvUGFuUGFkZGluZzpbNTAsNTBdLGF1dG9QYW5TcGVlZDoxMH0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGUpe2ModGhpcyxlKSx0aGlzLl9sYXRsbmc9dyh0KX0sb25BZGQ6ZnVuY3Rpb24odCl7dGhpcy5fem9vbUFuaW1hdGVkPXRoaXMuX3pvb21BbmltYXRlZCYmdC5vcHRpb25zLm1hcmtlclpvb21BbmltYXRpb24sdGhpcy5fem9vbUFuaW1hdGVkJiZ0Lm9uKCJ6b29tYW5pbSIsdGhpcy5fYW5pbWF0ZVpvb20sdGhpcyksdGhpcy5faW5pdEljb24oKSx0aGlzLnVwZGF0ZSgpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0aGlzLmRyYWdnaW5nJiZ0aGlzLmRyYWdnaW5nLmVuYWJsZWQoKSYmKHRoaXMub3B0aW9ucy5kcmFnZ2FibGU9ITAsdGhpcy5kcmFnZ2luZy5yZW1vdmVIb29rcygpKSxkZWxldGUgdGhpcy5kcmFnZ2luZyx0aGlzLl96b29tQW5pbWF0ZWQmJnQub2ZmKCJ6b29tYW5pbSIsdGhpcy5fYW5pbWF0ZVpvb20sdGhpcyksdGhpcy5fcmVtb3ZlSWNvbigpLHRoaXMuX3JlbW92ZVNoYWRvdygpfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXtyZXR1cm57em9vbTp0aGlzLnVwZGF0ZSx2aWV3cmVzZXQ6dGhpcy51cGRhdGV9fSxnZXRMYXRMbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGF0bG5nfSxzZXRMYXRMbmc6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbGF0bG5nO3JldHVybiB0aGlzLl9sYXRsbmc9dyh0KSx0aGlzLnVwZGF0ZSgpLHRoaXMuZmlyZSgibW92ZSIse29sZExhdExuZzplLGxhdGxuZzp0aGlzLl9sYXRsbmd9KX0sc2V0WkluZGV4T2Zmc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuekluZGV4T2Zmc2V0PXQsdGhpcy51cGRhdGUoKX0sZ2V0SWNvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbn0sc2V0SWNvbjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLmljb249dCx0aGlzLl9tYXAmJih0aGlzLl9pbml0SWNvbigpLHRoaXMudXBkYXRlKCkpLHRoaXMuX3BvcHVwJiZ0aGlzLmJpbmRQb3B1cCh0aGlzLl9wb3B1cCx0aGlzLl9wb3B1cC5vcHRpb25zKSx0aGlzfSxnZXRFbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ljb259LHVwZGF0ZTpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0aGlzLl9pY29uJiZ0aGlzLl9tYXAmJih0PXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fbGF0bG5nKS5yb3VuZCgpLHRoaXMuX3NldFBvcyh0KSksdGhpc30sX2luaXRJY29uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9ImxlYWZsZXQtem9vbS0iKyh0aGlzLl96b29tQW5pbWF0ZWQ/ImFuaW1hdGVkIjoiaGlkZSIpLGk9dC5pY29uLmNyZWF0ZUljb24odGhpcy5faWNvbiksbj0hMSxpPShpIT09dGhpcy5faWNvbiYmKHRoaXMuX2ljb24mJnRoaXMuX3JlbW92ZUljb24oKSxuPSEwLHQudGl0bGUmJihpLnRpdGxlPXQudGl0bGUpLCJJTUciPT09aS50YWdOYW1lJiYoaS5hbHQ9dC5hbHR8fCIiKSksTShpLGUpLHQua2V5Ym9hcmQmJihpLnRhYkluZGV4PSIwIixpLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpKSx0aGlzLl9pY29uPWksdC5yaXNlT25Ib3ZlciYmdGhpcy5vbih7bW91c2VvdmVyOnRoaXMuX2JyaW5nVG9Gcm9udCxtb3VzZW91dDp0aGlzLl9yZXNldFpJbmRleH0pLHRoaXMub3B0aW9ucy5hdXRvUGFuT25Gb2N1cyYmUyhpLCJmb2N1cyIsdGhpcy5fcGFuT25Gb2N1cyx0aGlzKSx0Lmljb24uY3JlYXRlU2hhZG93KHRoaXMuX3NoYWRvdykpLG89ITE7aSE9PXRoaXMuX3NoYWRvdyYmKHRoaXMuX3JlbW92ZVNoYWRvdygpLG89ITApLGkmJihNKGksZSksaS5hbHQ9IiIpLHRoaXMuX3NoYWRvdz1pLHQub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCksbiYmdGhpcy5nZXRQYW5lKCkuYXBwZW5kQ2hpbGQodGhpcy5faWNvbiksdGhpcy5faW5pdEludGVyYWN0aW9uKCksaSYmbyYmdGhpcy5nZXRQYW5lKHQuc2hhZG93UGFuZSkuYXBwZW5kQ2hpbGQodGhpcy5fc2hhZG93KX0sX3JlbW92ZUljb246ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMucmlzZU9uSG92ZXImJnRoaXMub2ZmKHttb3VzZW92ZXI6dGhpcy5fYnJpbmdUb0Zyb250LG1vdXNlb3V0OnRoaXMuX3Jlc2V0WkluZGV4fSksdGhpcy5vcHRpb25zLmF1dG9QYW5PbkZvY3VzJiZrKHRoaXMuX2ljb24sImZvY3VzIix0aGlzLl9wYW5PbkZvY3VzLHRoaXMpLFQodGhpcy5faWNvbiksdGhpcy5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9pY29uKSx0aGlzLl9pY29uPW51bGx9LF9yZW1vdmVTaGFkb3c6ZnVuY3Rpb24oKXt0aGlzLl9zaGFkb3cmJlQodGhpcy5fc2hhZG93KSx0aGlzLl9zaGFkb3c9bnVsbH0sX3NldFBvczpmdW5jdGlvbih0KXt0aGlzLl9pY29uJiZaKHRoaXMuX2ljb24sdCksdGhpcy5fc2hhZG93JiZaKHRoaXMuX3NoYWRvdyx0KSx0aGlzLl96SW5kZXg9dC55K3RoaXMub3B0aW9ucy56SW5kZXhPZmZzZXQsdGhpcy5fcmVzZXRaSW5kZXgoKX0sX3VwZGF0ZVpJbmRleDpmdW5jdGlvbih0KXt0aGlzLl9pY29uJiYodGhpcy5faWNvbi5zdHlsZS56SW5kZXg9dGhpcy5fekluZGV4K3QpfSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dD10aGlzLl9tYXAuX2xhdExuZ1RvTmV3TGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcsdC56b29tLHQuY2VudGVyKS5yb3VuZCgpO3RoaXMuX3NldFBvcyh0KX0sX2luaXRJbnRlcmFjdGlvbjpmdW5jdGlvbigpe3ZhciB0O3RoaXMub3B0aW9ucy5pbnRlcmFjdGl2ZSYmKE0odGhpcy5faWNvbiwibGVhZmxldC1pbnRlcmFjdGl2ZSIpLHRoaXMuYWRkSW50ZXJhY3RpdmVUYXJnZXQodGhpcy5faWNvbikscGkmJih0PXRoaXMub3B0aW9ucy5kcmFnZ2FibGUsdGhpcy5kcmFnZ2luZyYmKHQ9dGhpcy5kcmFnZ2luZy5lbmFibGVkKCksdGhpcy5kcmFnZ2luZy5kaXNhYmxlKCkpLHRoaXMuZHJhZ2dpbmc9bmV3IHBpKHRoaXMpLHQmJnRoaXMuZHJhZ2dpbmcuZW5hYmxlKCkpKX0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm9wYWNpdHk9dCx0aGlzLl9tYXAmJnRoaXMuX3VwZGF0ZU9wYWNpdHkoKSx0aGlzfSxfdXBkYXRlT3BhY2l0eTpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5vcGFjaXR5O3RoaXMuX2ljb24mJkModGhpcy5faWNvbix0KSx0aGlzLl9zaGFkb3cmJkModGhpcy5fc2hhZG93LHQpfSxfYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlWkluZGV4KHRoaXMub3B0aW9ucy5yaXNlT2Zmc2V0KX0sX3Jlc2V0WkluZGV4OmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlWkluZGV4KDApfSxfcGFuT25Gb2N1czpmdW5jdGlvbigpe3ZhciB0LGUsaT10aGlzLl9tYXA7aSYmKHQ9KGU9dGhpcy5vcHRpb25zLmljb24ub3B0aW9ucykuaWNvblNpemU/bShlLmljb25TaXplKTptKDAsMCksZT1lLmljb25BbmNob3I/bShlLmljb25BbmNob3IpOm0oMCwwKSxpLnBhbkluc2lkZSh0aGlzLl9sYXRsbmcse3BhZGRpbmdUb3BMZWZ0OmUscGFkZGluZ0JvdHRvbVJpZ2h0OnQuc3VidHJhY3QoZSl9KSl9LF9nZXRQb3B1cEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbi5vcHRpb25zLnBvcHVwQW5jaG9yfSxfZ2V0VG9vbHRpcEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbi5vcHRpb25zLnRvb2x0aXBBbmNob3J9fSk7dmFyIGZpPW8uZXh0ZW5kKHtvcHRpb25zOntzdHJva2U6ITAsY29sb3I6IiMzMzg4ZmYiLHdlaWdodDozLG9wYWNpdHk6MSxsaW5lQ2FwOiJyb3VuZCIsbGluZUpvaW46InJvdW5kIixkYXNoQXJyYXk6bnVsbCxkYXNoT2Zmc2V0Om51bGwsZmlsbDohMSxmaWxsQ29sb3I6bnVsbCxmaWxsT3BhY2l0eTouMixmaWxsUnVsZToiZXZlbm9kZCIsaW50ZXJhY3RpdmU6ITAsYnViYmxpbmdNb3VzZUV2ZW50czohMH0sYmVmb3JlQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX3JlbmRlcmVyPXQuZ2V0UmVuZGVyZXIodGhpcyl9LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX2luaXRQYXRoKHRoaXMpLHRoaXMuX3Jlc2V0KCksdGhpcy5fcmVuZGVyZXIuX2FkZFBhdGgodGhpcyl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX3JlbW92ZVBhdGgodGhpcyl9LHJlZHJhdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJnRoaXMuX3JlbmRlcmVyLl91cGRhdGVQYXRoKHRoaXMpLHRoaXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiBjKHRoaXMsdCksdGhpcy5fcmVuZGVyZXImJih0aGlzLl9yZW5kZXJlci5fdXBkYXRlU3R5bGUodGhpcyksdGhpcy5vcHRpb25zLnN0cm9rZSYmdCYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIndlaWdodCIpJiZ0aGlzLl91cGRhdGVCb3VuZHMoKSksdGhpc30sYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9yZW5kZXJlci5fYnJpbmdUb0Zyb250KHRoaXMpLHRoaXN9LGJyaW5nVG9CYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9yZW5kZXJlci5fYnJpbmdUb0JhY2sodGhpcyksdGhpc30sZ2V0RWxlbWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXRofSxfcmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLl9wcm9qZWN0KCksdGhpcy5fdXBkYXRlKCl9LF9jbGlja1RvbGVyYW5jZTpmdW5jdGlvbigpe3JldHVybih0aGlzLm9wdGlvbnMuc3Ryb2tlP3RoaXMub3B0aW9ucy53ZWlnaHQvMjowKSsodGhpcy5fcmVuZGVyZXIub3B0aW9ucy50b2xlcmFuY2V8fDApfX0pLGdpPWZpLmV4dGVuZCh7b3B0aW9uczp7ZmlsbDohMCxyYWRpdXM6MTB9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxlKXtjKHRoaXMsZSksdGhpcy5fbGF0bG5nPXcodCksdGhpcy5fcmFkaXVzPXRoaXMub3B0aW9ucy5yYWRpdXN9LHNldExhdExuZzpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9sYXRsbmc7cmV0dXJuIHRoaXMuX2xhdGxuZz13KHQpLHRoaXMucmVkcmF3KCksdGhpcy5maXJlKCJtb3ZlIix7b2xkTGF0TG5nOmUsbGF0bG5nOnRoaXMuX2xhdGxuZ30pfSxnZXRMYXRMbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGF0bG5nfSxzZXRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5yYWRpdXM9dGhpcy5fcmFkaXVzPXQsdGhpcy5yZWRyYXcoKX0sZ2V0UmFkaXVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGl1c30sc2V0U3R5bGU6ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5yYWRpdXN8fHRoaXMuX3JhZGl1cztyZXR1cm4gZmkucHJvdG90eXBlLnNldFN0eWxlLmNhbGwodGhpcyx0KSx0aGlzLnNldFJhZGl1cyhlKSx0aGlzfSxfcHJvamVjdDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fbGF0bG5nKSx0aGlzLl91cGRhdGVCb3VuZHMoKX0sX3VwZGF0ZUJvdW5kczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3JhZGl1cyxlPXRoaXMuX3JhZGl1c1l8fHQsaT10aGlzLl9jbGlja1RvbGVyYW5jZSgpLHQ9W3QraSxlK2ldO3RoaXMuX3B4Qm91bmRzPW5ldyBmKHRoaXMuX3BvaW50LnN1YnRyYWN0KHQpLHRoaXMuX3BvaW50LmFkZCh0KSl9LF91cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJnRoaXMuX3VwZGF0ZVBhdGgoKX0sX3VwZGF0ZVBhdGg6ZnVuY3Rpb24oKXt0aGlzLl9yZW5kZXJlci5fdXBkYXRlQ2lyY2xlKHRoaXMpfSxfZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmFkaXVzJiYhdGhpcy5fcmVuZGVyZXIuX2JvdW5kcy5pbnRlcnNlY3RzKHRoaXMuX3B4Qm91bmRzKX0sX2NvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZGlzdGFuY2VUbyh0aGlzLl9wb2ludCk8PXRoaXMuX3JhZGl1cyt0aGlzLl9jbGlja1RvbGVyYW5jZSgpfX0pO3ZhciB2aT1naS5leHRlbmQoe2luaXRpYWxpemU6ZnVuY3Rpb24odCxlLGkpe2lmKGModGhpcyxlPSJudW1iZXIiPT10eXBlb2YgZT9sKHt9LGkse3JhZGl1czplfSk6ZSksdGhpcy5fbGF0bG5nPXcodCksaXNOYU4odGhpcy5vcHRpb25zLnJhZGl1cykpdGhyb3cgbmV3IEVycm9yKCJDaXJjbGUgcmFkaXVzIGNhbm5vdCBiZSBOYU4iKTt0aGlzLl9tUmFkaXVzPXRoaXMub3B0aW9ucy5yYWRpdXN9LHNldFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbVJhZGl1cz10LHRoaXMucmVkcmF3KCl9LGdldFJhZGl1czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tUmFkaXVzfSxnZXRCb3VuZHM6ZnVuY3Rpb24oKXt2YXIgdD1bdGhpcy5fcmFkaXVzLHRoaXMuX3JhZGl1c1l8fHRoaXMuX3JhZGl1c107cmV0dXJuIG5ldyBzKHRoaXMuX21hcC5sYXllclBvaW50VG9MYXRMbmcodGhpcy5fcG9pbnQuc3VidHJhY3QodCkpLHRoaXMuX21hcC5sYXllclBvaW50VG9MYXRMbmcodGhpcy5fcG9pbnQuYWRkKHQpKSl9LHNldFN0eWxlOmZpLnByb3RvdHlwZS5zZXRTdHlsZSxfcHJvamVjdDpmdW5jdGlvbigpe3ZhciB0LGUsaSxuLG8scz10aGlzLl9sYXRsbmcubG5nLHI9dGhpcy5fbGF0bG5nLmxhdCxhPXRoaXMuX21hcCxoPWEub3B0aW9ucy5jcnM7aC5kaXN0YW5jZT09PXN0LmRpc3RhbmNlPyhuPU1hdGguUEkvMTgwLG89dGhpcy5fbVJhZGl1cy9zdC5SL24sdD1hLnByb2plY3QoW3IrbyxzXSksZT1hLnByb2plY3QoW3ItbyxzXSksZT10LmFkZChlKS5kaXZpZGVCeSgyKSxpPWEudW5wcm9qZWN0KGUpLmxhdCxuPU1hdGguYWNvcygoTWF0aC5jb3MobypuKS1NYXRoLnNpbihyKm4pKk1hdGguc2luKGkqbikpLyhNYXRoLmNvcyhyKm4pKk1hdGguY29zKGkqbikpKS9uLCFpc05hTihuKSYmMCE9PW58fChuPW8vTWF0aC5jb3MoTWF0aC5QSS8xODAqcikpLHRoaXMuX3BvaW50PWUuc3VidHJhY3QoYS5nZXRQaXhlbE9yaWdpbigpKSx0aGlzLl9yYWRpdXM9aXNOYU4obik/MDplLngtYS5wcm9qZWN0KFtpLHMtbl0pLngsdGhpcy5fcmFkaXVzWT1lLnktdC55KToobz1oLnVucHJvamVjdChoLnByb2plY3QodGhpcy5fbGF0bG5nKS5zdWJ0cmFjdChbdGhpcy5fbVJhZGl1cywwXSkpLHRoaXMuX3BvaW50PWEubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2xhdGxuZyksdGhpcy5fcmFkaXVzPXRoaXMuX3BvaW50LngtYS5sYXRMbmdUb0xheWVyUG9pbnQobykueCksdGhpcy5fdXBkYXRlQm91bmRzKCl9fSk7dmFyIHlpPWZpLmV4dGVuZCh7b3B0aW9uczp7c21vb3RoRmFjdG9yOjEsbm9DbGlwOiExfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSl7Yyh0aGlzLGUpLHRoaXMuX3NldExhdExuZ3ModCl9LGdldExhdExuZ3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGF0bG5nc30sc2V0TGF0TG5nczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fc2V0TGF0TG5ncyh0KSx0aGlzLnJlZHJhdygpfSxpc0VtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuX2xhdGxuZ3MubGVuZ3RofSxjbG9zZXN0TGF5ZXJQb2ludDpmdW5jdGlvbih0KXtmb3IodmFyIGU9MS8wLGk9bnVsbCxuPXJpLG89MCxzPXRoaXMuX3BhcnRzLmxlbmd0aDtvPHM7bysrKWZvcih2YXIgcj10aGlzLl9wYXJ0c1tvXSxhPTEsaD1yLmxlbmd0aDthPGg7YSsrKXt2YXIgbCx1LGM9bih0LGw9clthLTFdLHU9clthXSwhMCk7YzxlJiYoZT1jLGk9bih0LGwsdSkpfXJldHVybiBpJiYoaS5kaXN0YW5jZT1NYXRoLnNxcnQoZSkpLGl9LGdldENlbnRlcjpmdW5jdGlvbigpe2lmKHRoaXMuX21hcClyZXR1cm4gaGkodGhpcy5fZGVmYXVsdFNoYXBlKCksdGhpcy5fbWFwLm9wdGlvbnMuY3JzKTt0aHJvdyBuZXcgRXJyb3IoIk11c3QgYWRkIGxheWVyIHRvIG1hcCBiZWZvcmUgdXNpbmcgZ2V0Q2VudGVyKCkiKX0sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JvdW5kc30sYWRkTGF0TG5nOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9ZXx8dGhpcy5fZGVmYXVsdFNoYXBlKCksdD13KHQpLGUucHVzaCh0KSx0aGlzLl9ib3VuZHMuZXh0ZW5kKHQpLHRoaXMucmVkcmF3KCl9LF9zZXRMYXRMbmdzOmZ1bmN0aW9uKHQpe3RoaXMuX2JvdW5kcz1uZXcgcyx0aGlzLl9sYXRsbmdzPXRoaXMuX2NvbnZlcnRMYXRMbmdzKHQpfSxfZGVmYXVsdFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIEkodGhpcy5fbGF0bG5ncyk/dGhpcy5fbGF0bG5nczp0aGlzLl9sYXRsbmdzWzBdfSxfY29udmVydExhdExuZ3M6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLGk9SSh0KSxuPTAsbz10Lmxlbmd0aDtuPG87bisrKWk/KGVbbl09dyh0W25dKSx0aGlzLl9ib3VuZHMuZXh0ZW5kKGVbbl0pKTplW25dPXRoaXMuX2NvbnZlcnRMYXRMbmdzKHRbbl0pO3JldHVybiBlfSxfcHJvamVjdDpmdW5jdGlvbigpe3ZhciB0PW5ldyBmO3RoaXMuX3JpbmdzPVtdLHRoaXMuX3Byb2plY3RMYXRsbmdzKHRoaXMuX2xhdGxuZ3MsdGhpcy5fcmluZ3MsdCksdGhpcy5fYm91bmRzLmlzVmFsaWQoKSYmdC5pc1ZhbGlkKCkmJih0aGlzLl9yYXdQeEJvdW5kcz10LHRoaXMuX3VwZGF0ZUJvdW5kcygpKX0sX3VwZGF0ZUJvdW5kczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NsaWNrVG9sZXJhbmNlKCksdD1uZXcgcCh0LHQpO3RoaXMuX3Jhd1B4Qm91bmRzJiYodGhpcy5fcHhCb3VuZHM9bmV3IGYoW3RoaXMuX3Jhd1B4Qm91bmRzLm1pbi5zdWJ0cmFjdCh0KSx0aGlzLl9yYXdQeEJvdW5kcy5tYXguYWRkKHQpXSkpfSxfcHJvamVjdExhdGxuZ3M6ZnVuY3Rpb24odCxlLGkpe3ZhciBuLG8scz10WzBdaW5zdGFuY2VvZiB2LHI9dC5sZW5ndGg7aWYocyl7Zm9yKG89W10sbj0wO248cjtuKyspb1tuXT10aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KHRbbl0pLGkuZXh0ZW5kKG9bbl0pO2UucHVzaChvKX1lbHNlIGZvcihuPTA7bjxyO24rKyl0aGlzLl9wcm9qZWN0TGF0bG5ncyh0W25dLGUsaSl9LF9jbGlwUG9pbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVuZGVyZXIuX2JvdW5kcztpZih0aGlzLl9wYXJ0cz1bXSx0aGlzLl9weEJvdW5kcyYmdGhpcy5fcHhCb3VuZHMuaW50ZXJzZWN0cyh0KSlpZih0aGlzLm9wdGlvbnMubm9DbGlwKXRoaXMuX3BhcnRzPXRoaXMuX3JpbmdzO2Vsc2UgZm9yKHZhciBlLGksbixvLHM9dGhpcy5fcGFydHMscj0wLGE9MCxoPXRoaXMuX3JpbmdzLmxlbmd0aDtyPGg7cisrKWZvcihlPTAsaT0obz10aGlzLl9yaW5nc1tyXSkubGVuZ3RoO2U8aS0xO2UrKykobj1uaShvW2VdLG9bZSsxXSx0LGUsITApKSYmKHNbYV09c1thXXx8W10sc1thXS5wdXNoKG5bMF0pLG5bMV09PT1vW2UrMV0mJmUhPT1pLTJ8fChzW2FdLnB1c2goblsxXSksYSsrKSl9LF9zaW1wbGlmeVBvaW50czpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9wYXJ0cyxlPXRoaXMub3B0aW9ucy5zbW9vdGhGYWN0b3IsaT0wLG49dC5sZW5ndGg7aTxuO2krKyl0W2ldPWVpKHRbaV0sZSl9LF91cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJih0aGlzLl9jbGlwUG9pbnRzKCksdGhpcy5fc2ltcGxpZnlQb2ludHMoKSx0aGlzLl91cGRhdGVQYXRoKCkpfSxfdXBkYXRlUGF0aDpmdW5jdGlvbigpe3RoaXMuX3JlbmRlcmVyLl91cGRhdGVQb2x5KHRoaXMpfSxfY29udGFpbnNQb2ludDpmdW5jdGlvbih0LGUpe3ZhciBpLG4sbyxzLHIsYSxoPXRoaXMuX2NsaWNrVG9sZXJhbmNlKCk7aWYodGhpcy5fcHhCb3VuZHMmJnRoaXMuX3B4Qm91bmRzLmNvbnRhaW5zKHQpKWZvcihpPTAscz10aGlzLl9wYXJ0cy5sZW5ndGg7aTxzO2krKylmb3Iobj0wLG89KHI9KGE9dGhpcy5fcGFydHNbaV0pLmxlbmd0aCktMTtuPHI7bz1uKyspaWYoKGV8fDAhPT1uKSYmaWkodCxhW29dLGFbbl0pPD1oKXJldHVybiEwO3JldHVybiExfX0pO3lpLl9mbGF0PWFpO3ZhciB4aT15aS5leHRlbmQoe29wdGlvbnM6e2ZpbGw6ITB9LGlzRW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5fbGF0bG5ncy5sZW5ndGh8fCF0aGlzLl9sYXRsbmdzWzBdLmxlbmd0aH0sZ2V0Q2VudGVyOmZ1bmN0aW9uKCl7aWYodGhpcy5fbWFwKXJldHVybiAkZSh0aGlzLl9kZWZhdWx0U2hhcGUoKSx0aGlzLl9tYXAub3B0aW9ucy5jcnMpO3Rocm93IG5ldyBFcnJvcigiTXVzdCBhZGQgbGF5ZXIgdG8gbWFwIGJlZm9yZSB1c2luZyBnZXRDZW50ZXIoKSIpfSxfY29udmVydExhdExuZ3M6ZnVuY3Rpb24odCl7dmFyIHQ9eWkucHJvdG90eXBlLl9jb252ZXJ0TGF0TG5ncy5jYWxsKHRoaXMsdCksZT10Lmxlbmd0aDtyZXR1cm4gMjw9ZSYmdFswXWluc3RhbmNlb2YgdiYmdFswXS5lcXVhbHModFtlLTFdKSYmdC5wb3AoKSx0fSxfc2V0TGF0TG5nczpmdW5jdGlvbih0KXt5aS5wcm90b3R5cGUuX3NldExhdExuZ3MuY2FsbCh0aGlzLHQpLEkodGhpcy5fbGF0bG5ncykmJih0aGlzLl9sYXRsbmdzPVt0aGlzLl9sYXRsbmdzXSl9LF9kZWZhdWx0U2hhcGU6ZnVuY3Rpb24oKXtyZXR1cm4oSSh0aGlzLl9sYXRsbmdzWzBdKT90aGlzLl9sYXRsbmdzOnRoaXMuX2xhdGxuZ3NbMF0pWzBdfSxfY2xpcFBvaW50czpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3JlbmRlcmVyLl9ib3VuZHMsZT10aGlzLm9wdGlvbnMud2VpZ2h0LGU9bmV3IHAoZSxlKSx0PW5ldyBmKHQubWluLnN1YnRyYWN0KGUpLHQubWF4LmFkZChlKSk7aWYodGhpcy5fcGFydHM9W10sdGhpcy5fcHhCb3VuZHMmJnRoaXMuX3B4Qm91bmRzLmludGVyc2VjdHModCkpaWYodGhpcy5vcHRpb25zLm5vQ2xpcCl0aGlzLl9wYXJ0cz10aGlzLl9yaW5ncztlbHNlIGZvcih2YXIgaSxuPTAsbz10aGlzLl9yaW5ncy5sZW5ndGg7bjxvO24rKykoaT1KZSh0aGlzLl9yaW5nc1tuXSx0LCEwKSkubGVuZ3RoJiZ0aGlzLl9wYXJ0cy5wdXNoKGkpfSxfdXBkYXRlUGF0aDpmdW5jdGlvbigpe3RoaXMuX3JlbmRlcmVyLl91cGRhdGVQb2x5KHRoaXMsITApfSxfY29udGFpbnNQb2ludDpmdW5jdGlvbih0KXt2YXIgZSxpLG4sbyxzLHIsYSxoLGw9ITE7aWYoIXRoaXMuX3B4Qm91bmRzfHwhdGhpcy5fcHhCb3VuZHMuY29udGFpbnModCkpcmV0dXJuITE7Zm9yKG89MCxhPXRoaXMuX3BhcnRzLmxlbmd0aDtvPGE7bysrKWZvcihzPTAscj0oaD0oZT10aGlzLl9wYXJ0c1tvXSkubGVuZ3RoKS0xO3M8aDtyPXMrKylpPWVbc10sbj1lW3JdLGkueT50LnkhPW4ueT50LnkmJnQueDwobi54LWkueCkqKHQueS1pLnkpLyhuLnktaS55KStpLngmJihsPSFsKTtyZXR1cm4gbHx8eWkucHJvdG90eXBlLl9jb250YWluc1BvaW50LmNhbGwodGhpcyx0LCEwKX19KTt2YXIgd2k9Y2kuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSl7Yyh0aGlzLGUpLHRoaXMuX2xheWVycz17fSx0JiZ0aGlzLmFkZERhdGEodCl9LGFkZERhdGE6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLG89ZCh0KT90OnQuZmVhdHVyZXM7aWYobyl7Zm9yKGU9MCxpPW8ubGVuZ3RoO2U8aTtlKyspKChuPW9bZV0pLmdlb21ldHJpZXN8fG4uZ2VvbWV0cnl8fG4uZmVhdHVyZXN8fG4uY29vcmRpbmF0ZXMpJiZ0aGlzLmFkZERhdGEobik7cmV0dXJuIHRoaXN9dmFyIHMscj10aGlzLm9wdGlvbnM7cmV0dXJuKCFyLmZpbHRlcnx8ci5maWx0ZXIodCkpJiYocz1iaSh0LHIpKT8ocy5mZWF0dXJlPVppKHQpLHMuZGVmYXVsdE9wdGlvbnM9cy5vcHRpb25zLHRoaXMucmVzZXRTdHlsZShzKSxyLm9uRWFjaEZlYXR1cmUmJnIub25FYWNoRmVhdHVyZSh0LHMpLHRoaXMuYWRkTGF5ZXIocykpOnRoaXN9LHJlc2V0U3R5bGU6ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5lYWNoTGF5ZXIodGhpcy5yZXNldFN0eWxlLHRoaXMpOih0Lm9wdGlvbnM9bCh7fSx0LmRlZmF1bHRPcHRpb25zKSx0aGlzLl9zZXRMYXllclN0eWxlKHQsdGhpcy5vcHRpb25zLnN0eWxlKSx0aGlzKX0sc2V0U3R5bGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaExheWVyKGZ1bmN0aW9uKHQpe3RoaXMuX3NldExheWVyU3R5bGUodCxlKX0sdGhpcyl9LF9zZXRMYXllclN0eWxlOmZ1bmN0aW9uKHQsZSl7dC5zZXRTdHlsZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKHQuZmVhdHVyZSkpLHQuc2V0U3R5bGUoZSkpfX0pO2Z1bmN0aW9uIGJpKHQsZSl7dmFyIGksbixvLHMscj0iRmVhdHVyZSI9PT10LnR5cGU/dC5nZW9tZXRyeTp0LGE9cj9yLmNvb3JkaW5hdGVzOm51bGwsaD1bXSxsPWUmJmUucG9pbnRUb0xheWVyLHU9ZSYmZS5jb29yZHNUb0xhdExuZ3x8TGk7aWYoIWEmJiFyKXJldHVybiBudWxsO3N3aXRjaChyLnR5cGUpe2Nhc2UiUG9pbnQiOnJldHVybiBQaShsLHQsaT11KGEpLGUpO2Nhc2UiTXVsdGlQb2ludCI6Zm9yKG89MCxzPWEubGVuZ3RoO288cztvKyspaT11KGFbb10pLGgucHVzaChQaShsLHQsaSxlKSk7cmV0dXJuIG5ldyBjaShoKTtjYXNlIkxpbmVTdHJpbmciOmNhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gbj1UaShhLCJMaW5lU3RyaW5nIj09PXIudHlwZT8wOjEsdSksbmV3IHlpKG4sZSk7Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIG49VGkoYSwiUG9seWdvbiI9PT1yLnR5cGU/MToyLHUpLG5ldyB4aShuLGUpO2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpmb3Iobz0wLHM9ci5nZW9tZXRyaWVzLmxlbmd0aDtvPHM7bysrKXt2YXIgYz1iaSh7Z2VvbWV0cnk6ci5nZW9tZXRyaWVzW29dLHR5cGU6IkZlYXR1cmUiLHByb3BlcnRpZXM6dC5wcm9wZXJ0aWVzfSxlKTtjJiZoLnB1c2goYyl9cmV0dXJuIG5ldyBjaShoKTtjYXNlIkZlYXR1cmVDb2xsZWN0aW9uIjpmb3Iobz0wLHM9ci5mZWF0dXJlcy5sZW5ndGg7bzxzO28rKyl7dmFyIGQ9Ymkoci5mZWF0dXJlc1tvXSxlKTtkJiZoLnB1c2goZCl9cmV0dXJuIG5ldyBjaShoKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCBHZW9KU09OIG9iamVjdC4iKX19ZnVuY3Rpb24gUGkodCxlLGksbil7cmV0dXJuIHQ/dChlLGkpOm5ldyBtaShpLG4mJm4ubWFya2Vyc0luaGVyaXRPcHRpb25zJiZuKX1mdW5jdGlvbiBMaSh0KXtyZXR1cm4gbmV3IHYodFsxXSx0WzBdLHRbMl0pfWZ1bmN0aW9uIFRpKHQsZSxpKXtmb3IodmFyIG4sbz1bXSxzPTAscj10Lmxlbmd0aDtzPHI7cysrKW49ZT9UaSh0W3NdLGUtMSxpKTooaXx8TGkpKHRbc10pLG8ucHVzaChuKTtyZXR1cm4gb31mdW5jdGlvbiBNaSh0LGUpe3JldHVybiB2b2lkIDAhPT0odD13KHQpKS5hbHQ/W2kodC5sbmcsZSksaSh0LmxhdCxlKSxpKHQuYWx0LGUpXTpbaSh0LmxuZyxlKSxpKHQubGF0LGUpXX1mdW5jdGlvbiB6aSh0LGUsaSxuKXtmb3IodmFyIG89W10scz0wLHI9dC5sZW5ndGg7czxyO3MrKylvLnB1c2goZT96aSh0W3NdLEkodFtzXSk/MDplLTEsaSxuKTpNaSh0W3NdLG4pKTtyZXR1cm4hZSYmaSYmMDxvLmxlbmd0aCYmby5wdXNoKG9bMF0uc2xpY2UoKSksb31mdW5jdGlvbiBDaSh0LGUpe3JldHVybiB0LmZlYXR1cmU/bCh7fSx0LmZlYXR1cmUse2dlb21ldHJ5OmV9KTpaaShlKX1mdW5jdGlvbiBaaSh0KXtyZXR1cm4iRmVhdHVyZSI9PT10LnR5cGV8fCJGZWF0dXJlQ29sbGVjdGlvbiI9PT10LnR5cGU/dDp7dHlwZToiRmVhdHVyZSIscHJvcGVydGllczp7fSxnZW9tZXRyeTp0fX1UdD17dG9HZW9KU09OOmZ1bmN0aW9uKHQpe3JldHVybiBDaSh0aGlzLHt0eXBlOiJQb2ludCIsY29vcmRpbmF0ZXM6TWkodGhpcy5nZXRMYXRMbmcoKSx0KX0pfX07ZnVuY3Rpb24gU2kodCxlKXtyZXR1cm4gbmV3IHdpKHQsZSl9bWkuaW5jbHVkZShUdCksdmkuaW5jbHVkZShUdCksZ2kuaW5jbHVkZShUdCkseWkuaW5jbHVkZSh7dG9HZW9KU09OOmZ1bmN0aW9uKHQpe3ZhciBlPSFJKHRoaXMuX2xhdGxuZ3MpO3JldHVybiBDaSh0aGlzLHt0eXBlOihlPyJNdWx0aSI6IiIpKyJMaW5lU3RyaW5nIixjb29yZGluYXRlczp6aSh0aGlzLl9sYXRsbmdzLGU/MTowLCExLHQpfSl9fSkseGkuaW5jbHVkZSh7dG9HZW9KU09OOmZ1bmN0aW9uKHQpe3ZhciBlPSFJKHRoaXMuX2xhdGxuZ3MpLGk9ZSYmIUkodGhpcy5fbGF0bG5nc1swXSksdD16aSh0aGlzLl9sYXRsbmdzLGk/MjplPzE6MCwhMCx0KTtyZXR1cm4gQ2kodGhpcyx7dHlwZTooaT8iTXVsdGkiOiIiKSsiUG9seWdvbiIsY29vcmRpbmF0ZXM6dD1lP3Q6W3RdfSl9fSksdWkuaW5jbHVkZSh7dG9NdWx0aVBvaW50OmZ1bmN0aW9uKGUpe3ZhciBpPVtdO3JldHVybiB0aGlzLmVhY2hMYXllcihmdW5jdGlvbih0KXtpLnB1c2godC50b0dlb0pTT04oZSkuZ2VvbWV0cnkuY29vcmRpbmF0ZXMpfSksQ2kodGhpcyx7dHlwZToiTXVsdGlQb2ludCIsY29vcmRpbmF0ZXM6aX0pfSx0b0dlb0pTT046ZnVuY3Rpb24oZSl7dmFyIGksbix0PXRoaXMuZmVhdHVyZSYmdGhpcy5mZWF0dXJlLmdlb21ldHJ5JiZ0aGlzLmZlYXR1cmUuZ2VvbWV0cnkudHlwZTtyZXR1cm4iTXVsdGlQb2ludCI9PT10P3RoaXMudG9NdWx0aVBvaW50KGUpOihpPSJHZW9tZXRyeUNvbGxlY3Rpb24iPT09dCxuPVtdLHRoaXMuZWFjaExheWVyKGZ1bmN0aW9uKHQpe3QudG9HZW9KU09OJiYodD10LnRvR2VvSlNPTihlKSxpP24ucHVzaCh0Lmdlb21ldHJ5KToiRmVhdHVyZUNvbGxlY3Rpb24iPT09KHQ9WmkodCkpLnR5cGU/bi5wdXNoLmFwcGx5KG4sdC5mZWF0dXJlcyk6bi5wdXNoKHQpKX0pLGk/Q2kodGhpcyx7Z2VvbWV0cmllczpuLHR5cGU6Ikdlb21ldHJ5Q29sbGVjdGlvbiJ9KTp7dHlwZToiRmVhdHVyZUNvbGxlY3Rpb24iLGZlYXR1cmVzOm59KX19KTt2YXIgTXQ9U2ksRWk9by5leHRlbmQoe29wdGlvbnM6e29wYWNpdHk6MSxhbHQ6IiIsaW50ZXJhY3RpdmU6ITEsY3Jvc3NPcmlnaW46ITEsZXJyb3JPdmVybGF5VXJsOiIiLHpJbmRleDoxLGNsYXNzTmFtZToiIn0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGUsaSl7dGhpcy5fdXJsPXQsdGhpcy5fYm91bmRzPWcoZSksYyh0aGlzLGkpfSxvbkFkZDpmdW5jdGlvbigpe3RoaXMuX2ltYWdlfHwodGhpcy5faW5pdEltYWdlKCksdGhpcy5vcHRpb25zLm9wYWNpdHk8MSYmdGhpcy5fdXBkYXRlT3BhY2l0eSgpKSx0aGlzLm9wdGlvbnMuaW50ZXJhY3RpdmUmJihNKHRoaXMuX2ltYWdlLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5hZGRJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9pbWFnZSkpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2ltYWdlKSx0aGlzLl9yZXNldCgpfSxvblJlbW92ZTpmdW5jdGlvbigpe1QodGhpcy5faW1hZ2UpLHRoaXMub3B0aW9ucy5pbnRlcmFjdGl2ZSYmdGhpcy5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9pbWFnZSl9LHNldE9wYWNpdHk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5vcGFjaXR5PXQsdGhpcy5faW1hZ2UmJnRoaXMuX3VwZGF0ZU9wYWNpdHkoKSx0aGlzfSxzZXRTdHlsZTpmdW5jdGlvbih0KXtyZXR1cm4gdC5vcGFjaXR5JiZ0aGlzLnNldE9wYWNpdHkodC5vcGFjaXR5KSx0aGlzfSxicmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiZmZSh0aGlzLl9pbWFnZSksdGhpc30sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiZnZSh0aGlzLl9pbWFnZSksdGhpc30sc2V0VXJsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl91cmw9dCx0aGlzLl9pbWFnZSYmKHRoaXMuX2ltYWdlLnNyYz10KSx0aGlzfSxzZXRCb3VuZHM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2JvdW5kcz1nKHQpLHRoaXMuX21hcCYmdGhpcy5fcmVzZXQoKSx0aGlzfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD17em9vbTp0aGlzLl9yZXNldCx2aWV3cmVzZXQ6dGhpcy5fcmVzZXR9O3JldHVybiB0aGlzLl96b29tQW5pbWF0ZWQmJih0Lnpvb21hbmltPXRoaXMuX2FuaW1hdGVab29tKSx0fSxzZXRaSW5kZXg6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy56SW5kZXg9dCx0aGlzLl91cGRhdGVaSW5kZXgoKSx0aGlzfSxnZXRCb3VuZHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYm91bmRzfSxnZXRFbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ltYWdlfSxfaW5pdEltYWdlOmZ1bmN0aW9uKCl7dmFyIHQ9IklNRyI9PT10aGlzLl91cmwudGFnTmFtZSxlPXRoaXMuX2ltYWdlPXQ/dGhpcy5fdXJsOlAoImltZyIpO00oZSwibGVhZmxldC1pbWFnZS1sYXllciIpLHRoaXMuX3pvb21BbmltYXRlZCYmTShlLCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lJiZNKGUsdGhpcy5vcHRpb25zLmNsYXNzTmFtZSksZS5vbnNlbGVjdHN0YXJ0PXUsZS5vbm1vdXNlbW92ZT11LGUub25sb2FkPWEodGhpcy5maXJlLHRoaXMsImxvYWQiKSxlLm9uZXJyb3I9YSh0aGlzLl9vdmVybGF5T25FcnJvcix0aGlzLCJlcnJvciIpLCF0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4mJiIiIT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2lufHwoZS5jcm9zc09yaWdpbj0hMD09PXRoaXMub3B0aW9ucy5jcm9zc09yaWdpbj8iIjp0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4pLHRoaXMub3B0aW9ucy56SW5kZXgmJnRoaXMuX3VwZGF0ZVpJbmRleCgpLHQ/dGhpcy5fdXJsPWUuc3JjOihlLnNyYz10aGlzLl91cmwsZS5hbHQ9dGhpcy5vcHRpb25zLmFsdCl9LF9hbmltYXRlWm9vbTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXAuZ2V0Wm9vbVNjYWxlKHQuem9vbSksdD10aGlzLl9tYXAuX2xhdExuZ0JvdW5kc1RvTmV3TGF5ZXJCb3VuZHModGhpcy5fYm91bmRzLHQuem9vbSx0LmNlbnRlcikubWluO2JlKHRoaXMuX2ltYWdlLHQsZSl9LF9yZXNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ltYWdlLGU9bmV3IGYodGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9ib3VuZHMuZ2V0Tm9ydGhXZXN0KCkpLHRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fYm91bmRzLmdldFNvdXRoRWFzdCgpKSksaT1lLmdldFNpemUoKTtaKHQsZS5taW4pLHQuc3R5bGUud2lkdGg9aS54KyJweCIsdC5zdHlsZS5oZWlnaHQ9aS55KyJweCJ9LF91cGRhdGVPcGFjaXR5OmZ1bmN0aW9uKCl7Qyh0aGlzLl9pbWFnZSx0aGlzLm9wdGlvbnMub3BhY2l0eSl9LF91cGRhdGVaSW5kZXg6ZnVuY3Rpb24oKXt0aGlzLl9pbWFnZSYmdm9pZCAwIT09dGhpcy5vcHRpb25zLnpJbmRleCYmbnVsbCE9PXRoaXMub3B0aW9ucy56SW5kZXgmJih0aGlzLl9pbWFnZS5zdHlsZS56SW5kZXg9dGhpcy5vcHRpb25zLnpJbmRleCl9LF9vdmVybGF5T25FcnJvcjpmdW5jdGlvbigpe3RoaXMuZmlyZSgiZXJyb3IiKTt2YXIgdD10aGlzLm9wdGlvbnMuZXJyb3JPdmVybGF5VXJsO3QmJnRoaXMuX3VybCE9PXQmJih0aGlzLl91cmw9dCx0aGlzLl9pbWFnZS5zcmM9dCl9LGdldENlbnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ib3VuZHMuZ2V0Q2VudGVyKCl9fSksa2k9RWkuZXh0ZW5kKHtvcHRpb25zOnthdXRvcGxheTohMCxsb29wOiEwLGtlZXBBc3BlY3RSYXRpbzohMCxtdXRlZDohMSxwbGF5c0lubGluZTohMH0sX2luaXRJbWFnZTpmdW5jdGlvbigpe3ZhciB0PSJWSURFTyI9PT10aGlzLl91cmwudGFnTmFtZSxlPXRoaXMuX2ltYWdlPXQ/dGhpcy5fdXJsOlAoInZpZGVvIik7aWYoTShlLCJsZWFmbGV0LWltYWdlLWxheWVyIiksdGhpcy5fem9vbUFuaW1hdGVkJiZNKGUsImxlYWZsZXQtem9vbS1hbmltYXRlZCIpLHRoaXMub3B0aW9ucy5jbGFzc05hbWUmJk0oZSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lKSxlLm9uc2VsZWN0c3RhcnQ9dSxlLm9ubW91c2Vtb3ZlPXUsZS5vbmxvYWRlZGRhdGE9YSh0aGlzLmZpcmUsdGhpcywibG9hZCIpLHQpe2Zvcih2YXIgaT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzb3VyY2UiKSxuPVtdLG89MDtvPGkubGVuZ3RoO28rKyluLnB1c2goaVtvXS5zcmMpO3RoaXMuX3VybD0wPGkubGVuZ3RoP246W2Uuc3JjXX1lbHNle2QodGhpcy5fdXJsKXx8KHRoaXMuX3VybD1bdGhpcy5fdXJsXSksIXRoaXMub3B0aW9ucy5rZWVwQXNwZWN0UmF0aW8mJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLnN0eWxlLCJvYmplY3RGaXQiKSYmKGUuc3R5bGUub2JqZWN0Rml0PSJmaWxsIiksZS5hdXRvcGxheT0hIXRoaXMub3B0aW9ucy5hdXRvcGxheSxlLmxvb3A9ISF0aGlzLm9wdGlvbnMubG9vcCxlLm11dGVkPSEhdGhpcy5vcHRpb25zLm11dGVkLGUucGxheXNJbmxpbmU9ISF0aGlzLm9wdGlvbnMucGxheXNJbmxpbmU7Zm9yKHZhciBzPTA7czx0aGlzLl91cmwubGVuZ3RoO3MrKyl7dmFyIHI9UCgic291cmNlIik7ci5zcmM9dGhpcy5fdXJsW3NdLGUuYXBwZW5kQ2hpbGQocil9fX19KTt2YXIgT2k9RWkuZXh0ZW5kKHtfaW5pdEltYWdlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faW1hZ2U9dGhpcy5fdXJsO00odCwibGVhZmxldC1pbWFnZS1sYXllciIpLHRoaXMuX3pvb21BbmltYXRlZCYmTSh0LCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lJiZNKHQsdGhpcy5vcHRpb25zLmNsYXNzTmFtZSksdC5vbnNlbGVjdHN0YXJ0PXUsdC5vbm1vdXNlbW92ZT11fX0pO3ZhciBBaT1vLmV4dGVuZCh7b3B0aW9uczp7aW50ZXJhY3RpdmU6ITEsb2Zmc2V0OlswLDBdLGNsYXNzTmFtZToiIixwYW5lOnZvaWQgMCxjb250ZW50OiIifSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSl7dCYmKHQgaW5zdGFuY2VvZiB2fHxkKHQpKT8odGhpcy5fbGF0bG5nPXcodCksYyh0aGlzLGUpKTooYyh0aGlzLHQpLHRoaXMuX3NvdXJjZT1lKSx0aGlzLm9wdGlvbnMuY29udGVudCYmKHRoaXMuX2NvbnRlbnQ9dGhpcy5vcHRpb25zLmNvbnRlbnQpfSxvcGVuT246ZnVuY3Rpb24odCl7cmV0dXJuKHQ9YXJndW1lbnRzLmxlbmd0aD90OnRoaXMuX3NvdXJjZS5fbWFwKS5oYXNMYXllcih0aGlzKXx8dC5hZGRMYXllcih0aGlzKSx0aGlzfSxjbG9zZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJnRoaXMuX21hcC5yZW1vdmVMYXllcih0aGlzKSx0aGlzfSx0b2dnbGU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcD90aGlzLmNsb3NlKCk6KGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fc291cmNlPXQ6dD10aGlzLl9zb3VyY2UsdGhpcy5fcHJlcGFyZU9wZW4oKSx0aGlzLm9wZW5Pbih0Ll9tYXApKSx0aGlzfSxvbkFkZDpmdW5jdGlvbih0KXt0aGlzLl96b29tQW5pbWF0ZWQ9dC5fem9vbUFuaW1hdGVkLHRoaXMuX2NvbnRhaW5lcnx8dGhpcy5faW5pdExheW91dCgpLHQuX2ZhZGVBbmltYXRlZCYmQyh0aGlzLl9jb250YWluZXIsMCksY2xlYXJUaW1lb3V0KHRoaXMuX3JlbW92ZVRpbWVvdXQpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy51cGRhdGUoKSx0Ll9mYWRlQW5pbWF0ZWQmJkModGhpcy5fY29udGFpbmVyLDEpLHRoaXMuYnJpbmdUb0Zyb250KCksdGhpcy5vcHRpb25zLmludGVyYWN0aXZlJiYoTSh0aGlzLl9jb250YWluZXIsImxlYWZsZXQtaW50ZXJhY3RpdmUiKSx0aGlzLmFkZEludGVyYWN0aXZlVGFyZ2V0KHRoaXMuX2NvbnRhaW5lcikpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Ll9mYWRlQW5pbWF0ZWQ/KEModGhpcy5fY29udGFpbmVyLDApLHRoaXMuX3JlbW92ZVRpbWVvdXQ9c2V0VGltZW91dChhKFQsdm9pZCAwLHRoaXMuX2NvbnRhaW5lciksMjAwKSk6VCh0aGlzLl9jb250YWluZXIpLHRoaXMub3B0aW9ucy5pbnRlcmFjdGl2ZSYmKHoodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9jb250YWluZXIpKX0sZ2V0TGF0TG5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhdGxuZ30sc2V0TGF0TG5nOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9sYXRsbmc9dyh0KSx0aGlzLl9tYXAmJih0aGlzLl91cGRhdGVQb3NpdGlvbigpLHRoaXMuX2FkanVzdFBhbigpKSx0aGlzfSxnZXRDb250ZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnR9LHNldENvbnRlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NvbnRlbnQ9dCx0aGlzLnVwZGF0ZSgpLHRoaXN9LGdldEVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyfSx1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJih0aGlzLl9jb250YWluZXIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIix0aGlzLl91cGRhdGVDb250ZW50KCksdGhpcy5fdXBkYXRlTGF5b3V0KCksdGhpcy5fdXBkYXRlUG9zaXRpb24oKSx0aGlzLl9jb250YWluZXIuc3R5bGUudmlzaWJpbGl0eT0iIix0aGlzLl9hZGp1c3RQYW4oKSl9LGdldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PXt6b29tOnRoaXMuX3VwZGF0ZVBvc2l0aW9uLHZpZXdyZXNldDp0aGlzLl91cGRhdGVQb3NpdGlvbn07cmV0dXJuIHRoaXMuX3pvb21BbmltYXRlZCYmKHQuem9vbWFuaW09dGhpcy5fYW5pbWF0ZVpvb20pLHR9LGlzT3BlbjpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5fbWFwJiZ0aGlzLl9tYXAuaGFzTGF5ZXIodGhpcyl9LGJyaW5nVG9Gcm9udDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJmZlKHRoaXMuX2NvbnRhaW5lciksdGhpc30sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiZnZSh0aGlzLl9jb250YWluZXIpLHRoaXN9LF9wcmVwYXJlT3BlbjpmdW5jdGlvbih0KXtpZighKGk9dGhpcy5fc291cmNlKS5fbWFwKXJldHVybiExO2lmKGkgaW5zdGFuY2VvZiBjaSl7dmFyIGUsaT1udWxsLG49dGhpcy5fc291cmNlLl9sYXllcnM7Zm9yKGUgaW4gbilpZihuW2VdLl9tYXApe2k9bltlXTticmVha31pZighaSlyZXR1cm4hMTt0aGlzLl9zb3VyY2U9aX1pZighdClpZihpLmdldENlbnRlcil0PWkuZ2V0Q2VudGVyKCk7ZWxzZSBpZihpLmdldExhdExuZyl0PWkuZ2V0TGF0TG5nKCk7ZWxzZXtpZighaS5nZXRCb3VuZHMpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZ2V0IHNvdXJjZSBsYXllciBMYXRMbmcuIik7dD1pLmdldEJvdW5kcygpLmdldENlbnRlcigpfXJldHVybiB0aGlzLnNldExhdExuZyh0KSx0aGlzLl9tYXAmJnRoaXMudXBkYXRlKCksITB9LF91cGRhdGVDb250ZW50OmZ1bmN0aW9uKCl7aWYodGhpcy5fY29udGVudCl7dmFyIHQ9dGhpcy5fY29udGVudE5vZGUsZT0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fY29udGVudD90aGlzLl9jb250ZW50KHRoaXMuX3NvdXJjZXx8dGhpcyk6dGhpcy5fY29udGVudDtpZigic3RyaW5nIj09dHlwZW9mIGUpdC5pbm5lckhUTUw9ZTtlbHNle2Zvcig7dC5oYXNDaGlsZE5vZGVzKCk7KXQucmVtb3ZlQ2hpbGQodC5maXJzdENoaWxkKTt0LmFwcGVuZENoaWxkKGUpfXRoaXMuZmlyZSgiY29udGVudHVwZGF0ZSIpfX0sX3VwZGF0ZVBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQsZSxpO3RoaXMuX21hcCYmKGU9dGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcpLHQ9bSh0aGlzLm9wdGlvbnMub2Zmc2V0KSxpPXRoaXMuX2dldEFuY2hvcigpLHRoaXMuX3pvb21BbmltYXRlZD9aKHRoaXMuX2NvbnRhaW5lcixlLmFkZChpKSk6dD10LmFkZChlKS5hZGQoaSksZT10aGlzLl9jb250YWluZXJCb3R0b209LXQueSxpPXRoaXMuX2NvbnRhaW5lckxlZnQ9LU1hdGgucm91bmQodGhpcy5fY29udGFpbmVyV2lkdGgvMikrdC54LHRoaXMuX2NvbnRhaW5lci5zdHlsZS5ib3R0b209ZSsicHgiLHRoaXMuX2NvbnRhaW5lci5zdHlsZS5sZWZ0PWkrInB4Iil9LF9nZXRBbmNob3I6ZnVuY3Rpb24oKXtyZXR1cm5bMCwwXX19KSxCaT0oQS5pbmNsdWRlKHtfaW5pdE92ZXJsYXk6ZnVuY3Rpb24odCxlLGksbil7dmFyIG89ZTtyZXR1cm4gbyBpbnN0YW5jZW9mIHR8fChvPW5ldyB0KG4pLnNldENvbnRlbnQoZSkpLGkmJm8uc2V0TGF0TG5nKGkpLG99fSksby5pbmNsdWRlKHtfaW5pdE92ZXJsYXk6ZnVuY3Rpb24odCxlLGksbil7dmFyIG89aTtyZXR1cm4gbyBpbnN0YW5jZW9mIHQ/KGMobyxuKSxvLl9zb3VyY2U9dGhpcyk6KG89ZSYmIW4/ZTpuZXcgdChuLHRoaXMpKS5zZXRDb250ZW50KGkpLG99fSksQWkuZXh0ZW5kKHtvcHRpb25zOntwYW5lOiJwb3B1cFBhbmUiLG9mZnNldDpbMCw3XSxtYXhXaWR0aDozMDAsbWluV2lkdGg6NTAsbWF4SGVpZ2h0Om51bGwsYXV0b1BhbjohMCxhdXRvUGFuUGFkZGluZ1RvcExlZnQ6bnVsbCxhdXRvUGFuUGFkZGluZ0JvdHRvbVJpZ2h0Om51bGwsYXV0b1BhblBhZGRpbmc6WzUsNV0sa2VlcEluVmlldzohMSxjbG9zZUJ1dHRvbjohMCxhdXRvQ2xvc2U6ITAsY2xvc2VPbkVzY2FwZUtleTohMCxjbGFzc05hbWU6IiJ9LG9wZW5PbjpmdW5jdGlvbih0KXtyZXR1cm4hKHQ9YXJndW1lbnRzLmxlbmd0aD90OnRoaXMuX3NvdXJjZS5fbWFwKS5oYXNMYXllcih0aGlzKSYmdC5fcG9wdXAmJnQuX3BvcHVwLm9wdGlvbnMuYXV0b0Nsb3NlJiZ0LnJlbW92ZUxheWVyKHQuX3BvcHVwKSx0Ll9wb3B1cD10aGlzLEFpLnByb3RvdHlwZS5vcGVuT24uY2FsbCh0aGlzLHQpfSxvbkFkZDpmdW5jdGlvbih0KXtBaS5wcm90b3R5cGUub25BZGQuY2FsbCh0aGlzLHQpLHQuZmlyZSgicG9wdXBvcGVuIix7cG9wdXA6dGhpc30pLHRoaXMuX3NvdXJjZSYmKHRoaXMuX3NvdXJjZS5maXJlKCJwb3B1cG9wZW4iLHtwb3B1cDp0aGlzfSwhMCksdGhpcy5fc291cmNlIGluc3RhbmNlb2YgZml8fHRoaXMuX3NvdXJjZS5vbigicHJlY2xpY2siLEFlKSl9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe0FpLnByb3RvdHlwZS5vblJlbW92ZS5jYWxsKHRoaXMsdCksdC5maXJlKCJwb3B1cGNsb3NlIix7cG9wdXA6dGhpc30pLHRoaXMuX3NvdXJjZSYmKHRoaXMuX3NvdXJjZS5maXJlKCJwb3B1cGNsb3NlIix7cG9wdXA6dGhpc30sITApLHRoaXMuX3NvdXJjZSBpbnN0YW5jZW9mIGZpfHx0aGlzLl9zb3VyY2Uub2ZmKCJwcmVjbGljayIsQWUpKX0sZ2V0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9QWkucHJvdG90eXBlLmdldEV2ZW50cy5jYWxsKHRoaXMpO3JldHVybih2b2lkIDAhPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrP3RoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2s6dGhpcy5fbWFwLm9wdGlvbnMuY2xvc2VQb3B1cE9uQ2xpY2spJiYodC5wcmVjbGljaz10aGlzLmNsb3NlKSx0aGlzLm9wdGlvbnMua2VlcEluVmlldyYmKHQubW92ZWVuZD10aGlzLl9hZGp1c3RQYW4pLHR9LF9pbml0TGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9ImxlYWZsZXQtcG9wdXAiLGU9dGhpcy5fY29udGFpbmVyPVAoImRpdiIsdCsiICIrKHRoaXMub3B0aW9ucy5jbGFzc05hbWV8fCIiKSsiIGxlYWZsZXQtem9vbS1hbmltYXRlZCIpLGk9dGhpcy5fd3JhcHBlcj1QKCJkaXYiLHQrIi1jb250ZW50LXdyYXBwZXIiLGUpO3RoaXMuX2NvbnRlbnROb2RlPVAoImRpdiIsdCsiLWNvbnRlbnQiLGkpLEllKGUpLEJlKHRoaXMuX2NvbnRlbnROb2RlKSxTKGUsImNvbnRleHRtZW51IixBZSksdGhpcy5fdGlwQ29udGFpbmVyPVAoImRpdiIsdCsiLXRpcC1jb250YWluZXIiLGUpLHRoaXMuX3RpcD1QKCJkaXYiLHQrIi10aXAiLHRoaXMuX3RpcENvbnRhaW5lciksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoKGk9dGhpcy5fY2xvc2VCdXR0b249UCgiYSIsdCsiLWNsb3NlLWJ1dHRvbiIsZSkpLnNldEF0dHJpYnV0ZSgicm9sZSIsImJ1dHRvbiIpLGkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiQ2xvc2UgcG9wdXAiKSxpLmhyZWY9IiNjbG9zZSIsaS5pbm5lckhUTUw9JzxzcGFuIGFyaWEtaGlkZGVuPSJ0cnVlIj4mIzIxNTs8L3NwYW4+JyxTKGksImNsaWNrIixmdW5jdGlvbih0KXtPKHQpLHRoaXMuY2xvc2UoKX0sdGhpcykpfSxfdXBkYXRlTGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY29udGVudE5vZGUsZT10LnN0eWxlLGk9KGUud2lkdGg9IiIsZS53aGl0ZVNwYWNlPSJub3dyYXAiLHQub2Zmc2V0V2lkdGgpLGk9TWF0aC5taW4oaSx0aGlzLm9wdGlvbnMubWF4V2lkdGgpLGk9KGk9TWF0aC5tYXgoaSx0aGlzLm9wdGlvbnMubWluV2lkdGgpLGUud2lkdGg9aSsxKyJweCIsZS53aGl0ZVNwYWNlPSIiLGUuaGVpZ2h0PSIiLHQub2Zmc2V0SGVpZ2h0KSxuPXRoaXMub3B0aW9ucy5tYXhIZWlnaHQsbz0ibGVhZmxldC1wb3B1cC1zY3JvbGxlZCI7KG4mJm48aT8oZS5oZWlnaHQ9bisicHgiLE0pOnopKHQsbyksdGhpcy5fY29udGFpbmVyV2lkdGg9dGhpcy5fY29udGFpbmVyLm9mZnNldFdpZHRofSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dmFyIHQ9dGhpcy5fbWFwLl9sYXRMbmdUb05ld0xheWVyUG9pbnQodGhpcy5fbGF0bG5nLHQuem9vbSx0LmNlbnRlciksZT10aGlzLl9nZXRBbmNob3IoKTtaKHRoaXMuX2NvbnRhaW5lcix0LmFkZChlKSl9LF9hZGp1c3RQYW46ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixvLHMscixhO3RoaXMub3B0aW9ucy5hdXRvUGFuJiYodGhpcy5fbWFwLl9wYW5BbmltJiZ0aGlzLl9tYXAuX3BhbkFuaW0uc3RvcCgpLHRoaXMuX2F1dG9wYW5uaW5nP3RoaXMuX2F1dG9wYW5uaW5nPSExOih0PXRoaXMuX21hcCxlPXBhcnNlSW50KHBlKHRoaXMuX2NvbnRhaW5lciwibWFyZ2luQm90dG9tIiksMTApfHwwLGU9dGhpcy5fY29udGFpbmVyLm9mZnNldEhlaWdodCtlLGE9dGhpcy5fY29udGFpbmVyV2lkdGgsKGk9bmV3IHAodGhpcy5fY29udGFpbmVyTGVmdCwtZS10aGlzLl9jb250YWluZXJCb3R0b20pKS5fYWRkKFBlKHRoaXMuX2NvbnRhaW5lcikpLGk9dC5sYXllclBvaW50VG9Db250YWluZXJQb2ludChpKSxvPW0odGhpcy5vcHRpb25zLmF1dG9QYW5QYWRkaW5nKSxuPW0odGhpcy5vcHRpb25zLmF1dG9QYW5QYWRkaW5nVG9wTGVmdHx8byksbz1tKHRoaXMub3B0aW9ucy5hdXRvUGFuUGFkZGluZ0JvdHRvbVJpZ2h0fHxvKSxzPXQuZ2V0U2l6ZSgpLHI9MCxpLngrYStvLng+cy54JiYocj1pLngrYS1zLngrby54KSxpLngtci1uLng8KGE9MCkmJihyPWkueC1uLngpLGkueStlK28ueT5zLnkmJihhPWkueStlLXMueStvLnkpLGkueS1hLW4ueTwwJiYoYT1pLnktbi55KSwocnx8YSkmJih0aGlzLm9wdGlvbnMua2VlcEluVmlldyYmKHRoaXMuX2F1dG9wYW5uaW5nPSEwKSx0LmZpcmUoImF1dG9wYW5zdGFydCIpLnBhbkJ5KFtyLGFdKSkpKX0sX2dldEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiBtKHRoaXMuX3NvdXJjZSYmdGhpcy5fc291cmNlLl9nZXRQb3B1cEFuY2hvcj90aGlzLl9zb3VyY2UuX2dldFBvcHVwQW5jaG9yKCk6WzAsMF0pfX0pKSxJaT0oQS5tZXJnZU9wdGlvbnMoe2Nsb3NlUG9wdXBPbkNsaWNrOiEwfSksQS5pbmNsdWRlKHtvcGVuUG9wdXA6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl9pbml0T3ZlcmxheShCaSx0LGUsaSkub3Blbk9uKHRoaXMpLHRoaXN9LGNsb3NlUG9wdXA6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9YXJndW1lbnRzLmxlbmd0aD90OnRoaXMuX3BvcHVwKSYmdC5jbG9zZSgpLHRoaXN9fSksby5pbmNsdWRlKHtiaW5kUG9wdXA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fcG9wdXA9dGhpcy5faW5pdE92ZXJsYXkoQmksdGhpcy5fcG9wdXAsdCxlKSx0aGlzLl9wb3B1cEhhbmRsZXJzQWRkZWR8fCh0aGlzLm9uKHtjbGljazp0aGlzLl9vcGVuUG9wdXAsa2V5cHJlc3M6dGhpcy5fb25LZXlQcmVzcyxyZW1vdmU6dGhpcy5jbG9zZVBvcHVwLG1vdmU6dGhpcy5fbW92ZVBvcHVwfSksdGhpcy5fcG9wdXBIYW5kbGVyc0FkZGVkPSEwKSx0aGlzfSx1bmJpbmRQb3B1cDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3B1cCYmKHRoaXMub2ZmKHtjbGljazp0aGlzLl9vcGVuUG9wdXAsa2V5cHJlc3M6dGhpcy5fb25LZXlQcmVzcyxyZW1vdmU6dGhpcy5jbG9zZVBvcHVwLG1vdmU6dGhpcy5fbW92ZVBvcHVwfSksdGhpcy5fcG9wdXBIYW5kbGVyc0FkZGVkPSExLHRoaXMuX3BvcHVwPW51bGwpLHRoaXN9LG9wZW5Qb3B1cDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9wdXAmJih0aGlzIGluc3RhbmNlb2YgY2l8fCh0aGlzLl9wb3B1cC5fc291cmNlPXRoaXMpLHRoaXMuX3BvcHVwLl9wcmVwYXJlT3Blbih0fHx0aGlzLl9sYXRsbmcpJiZ0aGlzLl9wb3B1cC5vcGVuT24odGhpcy5fbWFwKSksdGhpc30sY2xvc2VQb3B1cDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAuY2xvc2UoKSx0aGlzfSx0b2dnbGVQb3B1cDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAudG9nZ2xlKHRoaXMpLHRoaXN9LGlzUG9wdXBPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAuaXNPcGVuKCl9LHNldFBvcHVwQ29udGVudDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9wdXAmJnRoaXMuX3BvcHVwLnNldENvbnRlbnQodCksdGhpc30sZ2V0UG9wdXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9wdXB9LF9vcGVuUG9wdXA6ZnVuY3Rpb24odCl7dmFyIGU7dGhpcy5fcG9wdXAmJnRoaXMuX21hcCYmKFJlKHQpLGU9dC5sYXllcnx8dC50YXJnZXQsdGhpcy5fcG9wdXAuX3NvdXJjZSE9PWV8fGUgaW5zdGFuY2VvZiBmaT8odGhpcy5fcG9wdXAuX3NvdXJjZT1lLHRoaXMub3BlblBvcHVwKHQubGF0bG5nKSk6dGhpcy5fbWFwLmhhc0xheWVyKHRoaXMuX3BvcHVwKT90aGlzLmNsb3NlUG9wdXAoKTp0aGlzLm9wZW5Qb3B1cCh0LmxhdGxuZykpfSxfbW92ZVBvcHVwOmZ1bmN0aW9uKHQpe3RoaXMuX3BvcHVwLnNldExhdExuZyh0LmxhdGxuZyl9LF9vbktleVByZXNzOmZ1bmN0aW9uKHQpezEzPT09dC5vcmlnaW5hbEV2ZW50LmtleUNvZGUmJnRoaXMuX29wZW5Qb3B1cCh0KX19KSxBaS5leHRlbmQoe29wdGlvbnM6e3BhbmU6InRvb2x0aXBQYW5lIixvZmZzZXQ6WzAsMF0sZGlyZWN0aW9uOiJhdXRvIixwZXJtYW5lbnQ6ITEsc3RpY2t5OiExLG9wYWNpdHk6Ljl9LG9uQWRkOmZ1bmN0aW9uKHQpe0FpLnByb3RvdHlwZS5vbkFkZC5jYWxsKHRoaXMsdCksdGhpcy5zZXRPcGFjaXR5KHRoaXMub3B0aW9ucy5vcGFjaXR5KSx0LmZpcmUoInRvb2x0aXBvcGVuIix7dG9vbHRpcDp0aGlzfSksdGhpcy5fc291cmNlJiYodGhpcy5hZGRFdmVudFBhcmVudCh0aGlzLl9zb3VyY2UpLHRoaXMuX3NvdXJjZS5maXJlKCJ0b29sdGlwb3BlbiIse3Rvb2x0aXA6dGhpc30sITApKX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7QWkucHJvdG90eXBlLm9uUmVtb3ZlLmNhbGwodGhpcyx0KSx0LmZpcmUoInRvb2x0aXBjbG9zZSIse3Rvb2x0aXA6dGhpc30pLHRoaXMuX3NvdXJjZSYmKHRoaXMucmVtb3ZlRXZlbnRQYXJlbnQodGhpcy5fc291cmNlKSx0aGlzLl9zb3VyY2UuZmlyZSgidG9vbHRpcGNsb3NlIix7dG9vbHRpcDp0aGlzfSwhMCkpfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD1BaS5wcm90b3R5cGUuZ2V0RXZlbnRzLmNhbGwodGhpcyk7cmV0dXJuIHRoaXMub3B0aW9ucy5wZXJtYW5lbnR8fCh0LnByZWNsaWNrPXRoaXMuY2xvc2UpLHR9LF9pbml0TGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9ImxlYWZsZXQtdG9vbHRpcCAiKyh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lfHwiIikrIiBsZWFmbGV0LXpvb20tIisodGhpcy5fem9vbUFuaW1hdGVkPyJhbmltYXRlZCI6ImhpZGUiKTt0aGlzLl9jb250ZW50Tm9kZT10aGlzLl9jb250YWluZXI9UCgiZGl2Iix0KSx0aGlzLl9jb250YWluZXIuc2V0QXR0cmlidXRlKCJyb2xlIiwidG9vbHRpcCIpLHRoaXMuX2NvbnRhaW5lci5zZXRBdHRyaWJ1dGUoImlkIiwibGVhZmxldC10b29sdGlwLSIraCh0aGlzKSl9LF91cGRhdGVMYXlvdXQ6ZnVuY3Rpb24oKXt9LF9hZGp1c3RQYW46ZnVuY3Rpb24oKXt9LF9zZXRQb3NpdGlvbjpmdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMuX21hcCxuPXRoaXMuX2NvbnRhaW5lcixvPWkubGF0TG5nVG9Db250YWluZXJQb2ludChpLmdldENlbnRlcigpKSxpPWkubGF5ZXJQb2ludFRvQ29udGFpbmVyUG9pbnQodCkscz10aGlzLm9wdGlvbnMuZGlyZWN0aW9uLHI9bi5vZmZzZXRXaWR0aCxhPW4ub2Zmc2V0SGVpZ2h0LGg9bSh0aGlzLm9wdGlvbnMub2Zmc2V0KSxsPXRoaXMuX2dldEFuY2hvcigpLGk9InRvcCI9PT1zPyhlPXIvMixhKToiYm90dG9tIj09PXM/KGU9ci8yLDApOihlPSJjZW50ZXIiPT09cz9yLzI6InJpZ2h0Ij09PXM/MDoibGVmdCI9PT1zP3I6aS54PG8ueD8ocz0icmlnaHQiLDApOihzPSJsZWZ0IixyKzIqKGgueCtsLngpKSxhLzIpO3Q9dC5zdWJ0cmFjdChtKGUsaSwhMCkpLmFkZChoKS5hZGQobCkseihuLCJsZWFmbGV0LXRvb2x0aXAtcmlnaHQiKSx6KG4sImxlYWZsZXQtdG9vbHRpcC1sZWZ0IikseihuLCJsZWFmbGV0LXRvb2x0aXAtdG9wIikseihuLCJsZWFmbGV0LXRvb2x0aXAtYm90dG9tIiksTShuLCJsZWFmbGV0LXRvb2x0aXAtIitzKSxaKG4sdCl9LF91cGRhdGVQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fbGF0bG5nKTt0aGlzLl9zZXRQb3NpdGlvbih0KX0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXt0aGlzLm9wdGlvbnMub3BhY2l0eT10LHRoaXMuX2NvbnRhaW5lciYmQyh0aGlzLl9jb250YWluZXIsdCl9LF9hbmltYXRlWm9vbTpmdW5jdGlvbih0KXt0PXRoaXMuX21hcC5fbGF0TG5nVG9OZXdMYXllclBvaW50KHRoaXMuX2xhdGxuZyx0Lnpvb20sdC5jZW50ZXIpO3RoaXMuX3NldFBvc2l0aW9uKHQpfSxfZ2V0QW5jaG9yOmZ1bmN0aW9uKCl7cmV0dXJuIG0odGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2UuX2dldFRvb2x0aXBBbmNob3ImJiF0aGlzLm9wdGlvbnMuc3RpY2t5P3RoaXMuX3NvdXJjZS5fZ2V0VG9vbHRpcEFuY2hvcigpOlswLDBdKX19KSksUmk9KEEuaW5jbHVkZSh7b3BlblRvb2x0aXA6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl9pbml0T3ZlcmxheShJaSx0LGUsaSkub3Blbk9uKHRoaXMpLHRoaXN9LGNsb3NlVG9vbHRpcDpmdW5jdGlvbih0KXtyZXR1cm4gdC5jbG9zZSgpLHRoaXN9fSksby5pbmNsdWRlKHtiaW5kVG9vbHRpcDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90b29sdGlwJiZ0aGlzLmlzVG9vbHRpcE9wZW4oKSYmdGhpcy51bmJpbmRUb29sdGlwKCksdGhpcy5fdG9vbHRpcD10aGlzLl9pbml0T3ZlcmxheShJaSx0aGlzLl90b29sdGlwLHQsZSksdGhpcy5faW5pdFRvb2x0aXBJbnRlcmFjdGlvbnMoKSx0aGlzLl90b29sdGlwLm9wdGlvbnMucGVybWFuZW50JiZ0aGlzLl9tYXAmJnRoaXMuX21hcC5oYXNMYXllcih0aGlzKSYmdGhpcy5vcGVuVG9vbHRpcCgpLHRoaXN9LHVuYmluZFRvb2x0aXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdG9vbHRpcCYmKHRoaXMuX2luaXRUb29sdGlwSW50ZXJhY3Rpb25zKCEwKSx0aGlzLmNsb3NlVG9vbHRpcCgpLHRoaXMuX3Rvb2x0aXA9bnVsbCksdGhpc30sX2luaXRUb29sdGlwSW50ZXJhY3Rpb25zOmZ1bmN0aW9uKHQpe3ZhciBlLGk7IXQmJnRoaXMuX3Rvb2x0aXBIYW5kbGVyc0FkZGVkfHwoZT10PyJvZmYiOiJvbiIsaT17cmVtb3ZlOnRoaXMuY2xvc2VUb29sdGlwLG1vdmU6dGhpcy5fbW92ZVRvb2x0aXB9LHRoaXMuX3Rvb2x0aXAub3B0aW9ucy5wZXJtYW5lbnQ/aS5hZGQ9dGhpcy5fb3BlblRvb2x0aXA6KGkubW91c2VvdmVyPXRoaXMuX29wZW5Ub29sdGlwLGkubW91c2VvdXQ9dGhpcy5jbG9zZVRvb2x0aXAsaS5jbGljaz10aGlzLl9vcGVuVG9vbHRpcCx0aGlzLl9tYXA/dGhpcy5fYWRkRm9jdXNMaXN0ZW5lcnMoKTppLmFkZD10aGlzLl9hZGRGb2N1c0xpc3RlbmVycyksdGhpcy5fdG9vbHRpcC5vcHRpb25zLnN0aWNreSYmKGkubW91c2Vtb3ZlPXRoaXMuX21vdmVUb29sdGlwKSx0aGlzW2VdKGkpLHRoaXMuX3Rvb2x0aXBIYW5kbGVyc0FkZGVkPSF0KX0sb3BlblRvb2x0aXA6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJih0aGlzIGluc3RhbmNlb2YgY2l8fCh0aGlzLl90b29sdGlwLl9zb3VyY2U9dGhpcyksdGhpcy5fdG9vbHRpcC5fcHJlcGFyZU9wZW4odCkmJih0aGlzLl90b29sdGlwLm9wZW5Pbih0aGlzLl9tYXApLHRoaXMuZ2V0RWxlbWVudD90aGlzLl9zZXRBcmlhRGVzY3JpYmVkQnlPbkxheWVyKHRoaXMpOnRoaXMuZWFjaExheWVyJiZ0aGlzLmVhY2hMYXllcih0aGlzLl9zZXRBcmlhRGVzY3JpYmVkQnlPbkxheWVyLHRoaXMpKSksdGhpc30sY2xvc2VUb29sdGlwOmZ1bmN0aW9uKCl7aWYodGhpcy5fdG9vbHRpcClyZXR1cm4gdGhpcy5fdG9vbHRpcC5jbG9zZSgpfSx0b2dnbGVUb29sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJnRoaXMuX3Rvb2x0aXAudG9nZ2xlKHRoaXMpLHRoaXN9LGlzVG9vbHRpcE9wZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdG9vbHRpcC5pc09wZW4oKX0sc2V0VG9vbHRpcENvbnRlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJnRoaXMuX3Rvb2x0aXAuc2V0Q29udGVudCh0KSx0aGlzfSxnZXRUb29sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9LF9hZGRGb2N1c0xpc3RlbmVyczpmdW5jdGlvbigpe3RoaXMuZ2V0RWxlbWVudD90aGlzLl9hZGRGb2N1c0xpc3RlbmVyc09uTGF5ZXIodGhpcyk6dGhpcy5lYWNoTGF5ZXImJnRoaXMuZWFjaExheWVyKHRoaXMuX2FkZEZvY3VzTGlzdGVuZXJzT25MYXllcix0aGlzKX0sX2FkZEZvY3VzTGlzdGVuZXJzT25MYXllcjpmdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdC5nZXRFbGVtZW50JiZ0LmdldEVsZW1lbnQoKTtlJiYoUyhlLCJmb2N1cyIsZnVuY3Rpb24oKXt0aGlzLl90b29sdGlwLl9zb3VyY2U9dCx0aGlzLm9wZW5Ub29sdGlwKCl9LHRoaXMpLFMoZSwiYmx1ciIsdGhpcy5jbG9zZVRvb2x0aXAsdGhpcykpfSxfc2V0QXJpYURlc2NyaWJlZEJ5T25MYXllcjpmdW5jdGlvbih0KXt0PSJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldEVsZW1lbnQmJnQuZ2V0RWxlbWVudCgpO3QmJnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iix0aGlzLl90b29sdGlwLl9jb250YWluZXIuaWQpfSxfb3BlblRvb2x0aXA6ZnVuY3Rpb24odCl7dmFyIGU7dGhpcy5fdG9vbHRpcCYmdGhpcy5fbWFwJiYodGhpcy5fbWFwLmRyYWdnaW5nJiZ0aGlzLl9tYXAuZHJhZ2dpbmcubW92aW5nKCkmJiF0aGlzLl9vcGVuT25jZUZsYWc/KHRoaXMuX29wZW5PbmNlRmxhZz0hMCwoZT10aGlzKS5fbWFwLm9uY2UoIm1vdmVlbmQiLGZ1bmN0aW9uKCl7ZS5fb3Blbk9uY2VGbGFnPSExLGUuX29wZW5Ub29sdGlwKHQpfSkpOih0aGlzLl90b29sdGlwLl9zb3VyY2U9dC5sYXllcnx8dC50YXJnZXQsdGhpcy5vcGVuVG9vbHRpcCh0aGlzLl90b29sdGlwLm9wdGlvbnMuc3RpY2t5P3QubGF0bG5nOnZvaWQgMCkpKX0sX21vdmVUb29sdGlwOmZ1bmN0aW9uKHQpe3ZhciBlPXQubGF0bG5nO3RoaXMuX3Rvb2x0aXAub3B0aW9ucy5zdGlja3kmJnQub3JpZ2luYWxFdmVudCYmKHQ9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQub3JpZ2luYWxFdmVudCksdD10aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQodCksZT10aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKHQpKSx0aGlzLl90b29sdGlwLnNldExhdExuZyhlKX19KSxkaS5leHRlbmQoe29wdGlvbnM6e2ljb25TaXplOlsxMiwxMl0saHRtbDohMSxiZ1BvczpudWxsLGNsYXNzTmFtZToibGVhZmxldC1kaXYtaWNvbiJ9LGNyZWF0ZUljb246ZnVuY3Rpb24odCl7dmFyIHQ9dCYmIkRJViI9PT10LnRhZ05hbWU/dDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPXRoaXMub3B0aW9ucztyZXR1cm4gZS5odG1sIGluc3RhbmNlb2YgRWxlbWVudD8obWUodCksdC5hcHBlbmRDaGlsZChlLmh0bWwpKTp0LmlubmVySFRNTD0hMSE9PWUuaHRtbD9lLmh0bWw6IiIsZS5iZ1BvcyYmKGU9bShlLmJnUG9zKSx0LnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0tZS54KyJweCAiKy1lLnkrInB4IiksdGhpcy5fc2V0SWNvblN0eWxlcyh0LCJpY29uIiksdH0sY3JlYXRlU2hhZG93OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSkpO2RpLkRlZmF1bHQ9X2k7dmFyIE5pPW8uZXh0ZW5kKHtvcHRpb25zOnt0aWxlU2l6ZToyNTYsb3BhY2l0eToxLHVwZGF0ZVdoZW5JZGxlOmIubW9iaWxlLHVwZGF0ZVdoZW5ab29taW5nOiEwLHVwZGF0ZUludGVydmFsOjIwMCx6SW5kZXg6MSxib3VuZHM6bnVsbCxtaW5ab29tOjAsbWF4Wm9vbTp2b2lkIDAsbWF4TmF0aXZlWm9vbTp2b2lkIDAsbWluTmF0aXZlWm9vbTp2b2lkIDAsbm9XcmFwOiExLHBhbmU6InRpbGVQYW5lIixjbGFzc05hbWU6IiIsa2VlcEJ1ZmZlcjoyfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQpe2ModGhpcyx0KX0sb25BZGQ6ZnVuY3Rpb24oKXt0aGlzLl9pbml0Q29udGFpbmVyKCksdGhpcy5fbGV2ZWxzPXt9LHRoaXMuX3RpbGVzPXt9LHRoaXMuX3Jlc2V0VmlldygpfSxiZWZvcmVBZGQ6ZnVuY3Rpb24odCl7dC5fYWRkWm9vbUxpbWl0KHRoaXMpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0aGlzLl9yZW1vdmVBbGxUaWxlcygpLFQodGhpcy5fY29udGFpbmVyKSx0Ll9yZW1vdmVab29tTGltaXQodGhpcyksdGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fdGlsZVpvb209dm9pZCAwfSxicmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYoZmUodGhpcy5fY29udGFpbmVyKSx0aGlzLl9zZXRBdXRvWkluZGV4KE1hdGgubWF4KSksdGhpc30sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYoZ2UodGhpcy5fY29udGFpbmVyKSx0aGlzLl9zZXRBdXRvWkluZGV4KE1hdGgubWluKSksdGhpc30sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm9wYWNpdHk9dCx0aGlzLl91cGRhdGVPcGFjaXR5KCksdGhpc30sc2V0WkluZGV4OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuekluZGV4PXQsdGhpcy5fdXBkYXRlWkluZGV4KCksdGhpc30saXNMb2FkaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9LHJlZHJhdzpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0aGlzLl9tYXAmJih0aGlzLl9yZW1vdmVBbGxUaWxlcygpLCh0PXRoaXMuX2NsYW1wWm9vbSh0aGlzLl9tYXAuZ2V0Wm9vbSgpKSkhPT10aGlzLl90aWxlWm9vbSYmKHRoaXMuX3RpbGVab29tPXQsdGhpcy5fdXBkYXRlTGV2ZWxzKCkpLHRoaXMuX3VwZGF0ZSgpKSx0aGlzfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD17dmlld3ByZXJlc2V0OnRoaXMuX2ludmFsaWRhdGVBbGwsdmlld3Jlc2V0OnRoaXMuX3Jlc2V0Vmlldyx6b29tOnRoaXMuX3Jlc2V0Vmlldyxtb3ZlZW5kOnRoaXMuX29uTW92ZUVuZH07cmV0dXJuIHRoaXMub3B0aW9ucy51cGRhdGVXaGVuSWRsZXx8KHRoaXMuX29uTW92ZXx8KHRoaXMuX29uTW92ZT1qKHRoaXMuX29uTW92ZUVuZCx0aGlzLm9wdGlvbnMudXBkYXRlSW50ZXJ2YWwsdGhpcykpLHQubW92ZT10aGlzLl9vbk1vdmUpLHRoaXMuX3pvb21BbmltYXRlZCYmKHQuem9vbWFuaW09dGhpcy5fYW5pbWF0ZVpvb20pLHR9LGNyZWF0ZVRpbGU6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9LGdldFRpbGVTaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnRpbGVTaXplO3JldHVybiB0IGluc3RhbmNlb2YgcD90Om5ldyBwKHQsdCl9LF91cGRhdGVaSW5kZXg6ZnVuY3Rpb24oKXt0aGlzLl9jb250YWluZXImJnZvaWQgMCE9PXRoaXMub3B0aW9ucy56SW5kZXgmJm51bGwhPT10aGlzLm9wdGlvbnMuekluZGV4JiYodGhpcy5fY29udGFpbmVyLnN0eWxlLnpJbmRleD10aGlzLm9wdGlvbnMuekluZGV4KX0sX3NldEF1dG9aSW5kZXg6ZnVuY3Rpb24odCl7Zm9yKHZhciBlLGk9dGhpcy5nZXRQYW5lKCkuY2hpbGRyZW4sbj0tdCgtMS8wLDEvMCksbz0wLHM9aS5sZW5ndGg7bzxzO28rKyllPWlbb10uc3R5bGUuekluZGV4LGlbb10hPT10aGlzLl9jb250YWluZXImJmUmJihuPXQobiwrZSkpO2lzRmluaXRlKG4pJiYodGhpcy5vcHRpb25zLnpJbmRleD1uK3QoLTEsMSksdGhpcy5fdXBkYXRlWkluZGV4KCkpfSxfdXBkYXRlT3BhY2l0eTpmdW5jdGlvbigpe2lmKHRoaXMuX21hcCYmIWIuaWVsdDkpe0ModGhpcy5fY29udGFpbmVyLHRoaXMub3B0aW9ucy5vcGFjaXR5KTt2YXIgdCxlPStuZXcgRGF0ZSxpPSExLG49ITE7Zm9yKHQgaW4gdGhpcy5fdGlsZXMpe3ZhciBvLHM9dGhpcy5fdGlsZXNbdF07cy5jdXJyZW50JiZzLmxvYWRlZCYmKG89TWF0aC5taW4oMSwoZS1zLmxvYWRlZCkvMjAwKSxDKHMuZWwsbyksbzwxP2k9ITA6KHMuYWN0aXZlP249ITA6dGhpcy5fb25PcGFxdWVUaWxlKHMpLHMuYWN0aXZlPSEwKSl9biYmIXRoaXMuX25vUHJ1bmUmJnRoaXMuX3BydW5lVGlsZXMoKSxpJiYocih0aGlzLl9mYWRlRnJhbWUpLHRoaXMuX2ZhZGVGcmFtZT14KHRoaXMuX3VwZGF0ZU9wYWNpdHksdGhpcykpfX0sX29uT3BhcXVlVGlsZTp1LF9pbml0Q29udGFpbmVyOmZ1bmN0aW9uKCl7dGhpcy5fY29udGFpbmVyfHwodGhpcy5fY29udGFpbmVyPVAoImRpdiIsImxlYWZsZXQtbGF5ZXIgIisodGhpcy5vcHRpb25zLmNsYXNzTmFtZXx8IiIpKSx0aGlzLl91cGRhdGVaSW5kZXgoKSx0aGlzLm9wdGlvbnMub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCksdGhpcy5nZXRQYW5lKCkuYXBwZW5kQ2hpbGQodGhpcy5fY29udGFpbmVyKSl9LF91cGRhdGVMZXZlbHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90aWxlWm9vbSxlPXRoaXMub3B0aW9ucy5tYXhab29tO2lmKHZvaWQgMCE9PXQpe2Zvcih2YXIgaSBpbiB0aGlzLl9sZXZlbHMpaT1OdW1iZXIoaSksdGhpcy5fbGV2ZWxzW2ldLmVsLmNoaWxkcmVuLmxlbmd0aHx8aT09PXQ/KHRoaXMuX2xldmVsc1tpXS5lbC5zdHlsZS56SW5kZXg9ZS1NYXRoLmFicyh0LWkpLHRoaXMuX29uVXBkYXRlTGV2ZWwoaSkpOihUKHRoaXMuX2xldmVsc1tpXS5lbCksdGhpcy5fcmVtb3ZlVGlsZXNBdFpvb20oaSksdGhpcy5fb25SZW1vdmVMZXZlbChpKSxkZWxldGUgdGhpcy5fbGV2ZWxzW2ldKTt2YXIgbj10aGlzLl9sZXZlbHNbdF0sbz10aGlzLl9tYXA7cmV0dXJuIG58fCgobj10aGlzLl9sZXZlbHNbdF09e30pLmVsPVAoImRpdiIsImxlYWZsZXQtdGlsZS1jb250YWluZXIgbGVhZmxldC16b29tLWFuaW1hdGVkIix0aGlzLl9jb250YWluZXIpLG4uZWwuc3R5bGUuekluZGV4PWUsbi5vcmlnaW49by5wcm9qZWN0KG8udW5wcm9qZWN0KG8uZ2V0UGl4ZWxPcmlnaW4oKSksdCkucm91bmQoKSxuLnpvb209dCx0aGlzLl9zZXRab29tVHJhbnNmb3JtKG4sby5nZXRDZW50ZXIoKSxvLmdldFpvb20oKSksdShuLmVsLm9mZnNldFdpZHRoKSx0aGlzLl9vbkNyZWF0ZUxldmVsKG4pKSx0aGlzLl9sZXZlbD1ufX0sX29uVXBkYXRlTGV2ZWw6dSxfb25SZW1vdmVMZXZlbDp1LF9vbkNyZWF0ZUxldmVsOnUsX3BydW5lVGlsZXM6ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXApe3ZhciB0LGUsaSxuPXRoaXMuX21hcC5nZXRab29tKCk7aWYobj50aGlzLm9wdGlvbnMubWF4Wm9vbXx8bjx0aGlzLm9wdGlvbnMubWluWm9vbSl0aGlzLl9yZW1vdmVBbGxUaWxlcygpO2Vsc2V7Zm9yKHQgaW4gdGhpcy5fdGlsZXMpKGk9dGhpcy5fdGlsZXNbdF0pLnJldGFpbj1pLmN1cnJlbnQ7Zm9yKHQgaW4gdGhpcy5fdGlsZXMpKGk9dGhpcy5fdGlsZXNbdF0pLmN1cnJlbnQmJiFpLmFjdGl2ZSYmKGU9aS5jb29yZHMsdGhpcy5fcmV0YWluUGFyZW50KGUueCxlLnksZS56LGUuei01KXx8dGhpcy5fcmV0YWluQ2hpbGRyZW4oZS54LGUueSxlLnosZS56KzIpKTtmb3IodCBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1t0XS5yZXRhaW58fHRoaXMuX3JlbW92ZVRpbGUodCl9fX0sX3JlbW92ZVRpbGVzQXRab29tOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1tlXS5jb29yZHMuej09PXQmJnRoaXMuX3JlbW92ZVRpbGUoZSl9LF9yZW1vdmVBbGxUaWxlczpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl90aWxlcyl0aGlzLl9yZW1vdmVUaWxlKHQpfSxfaW52YWxpZGF0ZUFsbDpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl9sZXZlbHMpVCh0aGlzLl9sZXZlbHNbdF0uZWwpLHRoaXMuX29uUmVtb3ZlTGV2ZWwoTnVtYmVyKHQpKSxkZWxldGUgdGhpcy5fbGV2ZWxzW3RdO3RoaXMuX3JlbW92ZUFsbFRpbGVzKCksdGhpcy5fdGlsZVpvb209dm9pZCAwfSxfcmV0YWluUGFyZW50OmZ1bmN0aW9uKHQsZSxpLG4pe3ZhciB0PU1hdGguZmxvb3IodC8yKSxlPU1hdGguZmxvb3IoZS8yKSxpPWktMSxvPW5ldyBwKCt0LCtlKSxvPShvLno9aSx0aGlzLl90aWxlQ29vcmRzVG9LZXkobykpLG89dGhpcy5fdGlsZXNbb107cmV0dXJuIG8mJm8uYWN0aXZlP28ucmV0YWluPSEwOihvJiZvLmxvYWRlZCYmKG8ucmV0YWluPSEwKSxuPGkmJnRoaXMuX3JldGFpblBhcmVudCh0LGUsaSxuKSl9LF9yZXRhaW5DaGlsZHJlbjpmdW5jdGlvbih0LGUsaSxuKXtmb3IodmFyIG89Mip0O288Mip0KzI7bysrKWZvcih2YXIgcz0yKmU7czwyKmUrMjtzKyspe3ZhciByPW5ldyBwKG8scykscj0oci56PWkrMSx0aGlzLl90aWxlQ29vcmRzVG9LZXkocikpLHI9dGhpcy5fdGlsZXNbcl07ciYmci5hY3RpdmU/ci5yZXRhaW49ITA6KHImJnIubG9hZGVkJiYoci5yZXRhaW49ITApLGkrMTxuJiZ0aGlzLl9yZXRhaW5DaGlsZHJlbihvLHMsaSsxLG4pKX19LF9yZXNldFZpZXc6ZnVuY3Rpb24odCl7dD10JiYodC5waW5jaHx8dC5mbHlUbyk7dGhpcy5fc2V0Vmlldyh0aGlzLl9tYXAuZ2V0Q2VudGVyKCksdGhpcy5fbWFwLmdldFpvb20oKSx0LHQpfSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dGhpcy5fc2V0Vmlldyh0LmNlbnRlcix0Lnpvb20sITAsdC5ub1VwZGF0ZSl9LF9jbGFtcFpvb206ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zO3JldHVybiB2b2lkIDAhPT1lLm1pbk5hdGl2ZVpvb20mJnQ8ZS5taW5OYXRpdmVab29tP2UubWluTmF0aXZlWm9vbTp2b2lkIDAhPT1lLm1heE5hdGl2ZVpvb20mJmUubWF4TmF0aXZlWm9vbTx0P2UubWF4TmF0aXZlWm9vbTp0fSxfc2V0VmlldzpmdW5jdGlvbih0LGUsaSxuKXt2YXIgbz1NYXRoLnJvdW5kKGUpLG89dm9pZCAwIT09dGhpcy5vcHRpb25zLm1heFpvb20mJm8+dGhpcy5vcHRpb25zLm1heFpvb218fHZvaWQgMCE9PXRoaXMub3B0aW9ucy5taW5ab29tJiZvPHRoaXMub3B0aW9ucy5taW5ab29tP3ZvaWQgMDp0aGlzLl9jbGFtcFpvb20obykscz10aGlzLm9wdGlvbnMudXBkYXRlV2hlblpvb21pbmcmJm8hPT10aGlzLl90aWxlWm9vbTtuJiYhc3x8KHRoaXMuX3RpbGVab29tPW8sdGhpcy5fYWJvcnRMb2FkaW5nJiZ0aGlzLl9hYm9ydExvYWRpbmcoKSx0aGlzLl91cGRhdGVMZXZlbHMoKSx0aGlzLl9yZXNldEdyaWQoKSx2b2lkIDAhPT1vJiZ0aGlzLl91cGRhdGUodCksaXx8dGhpcy5fcHJ1bmVUaWxlcygpLHRoaXMuX25vUHJ1bmU9ISFpKSx0aGlzLl9zZXRab29tVHJhbnNmb3Jtcyh0LGUpfSxfc2V0Wm9vbVRyYW5zZm9ybXM6ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gdGhpcy5fbGV2ZWxzKXRoaXMuX3NldFpvb21UcmFuc2Zvcm0odGhpcy5fbGV2ZWxzW2ldLHQsZSl9LF9zZXRab29tVHJhbnNmb3JtOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLl9tYXAuZ2V0Wm9vbVNjYWxlKGksdC56b29tKSxlPXQub3JpZ2luLm11bHRpcGx5Qnkobikuc3VidHJhY3QodGhpcy5fbWFwLl9nZXROZXdQaXhlbE9yaWdpbihlLGkpKS5yb3VuZCgpO2IuYW55M2Q/YmUodC5lbCxlLG4pOloodC5lbCxlKX0sX3Jlc2V0R3JpZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcCxlPXQub3B0aW9ucy5jcnMsaT10aGlzLl90aWxlU2l6ZT10aGlzLmdldFRpbGVTaXplKCksbj10aGlzLl90aWxlWm9vbSxvPXRoaXMuX21hcC5nZXRQaXhlbFdvcmxkQm91bmRzKHRoaXMuX3RpbGVab29tKTtvJiYodGhpcy5fZ2xvYmFsVGlsZVJhbmdlPXRoaXMuX3B4Qm91bmRzVG9UaWxlUmFuZ2UobykpLHRoaXMuX3dyYXBYPWUud3JhcExuZyYmIXRoaXMub3B0aW9ucy5ub1dyYXAmJltNYXRoLmZsb29yKHQucHJvamVjdChbMCxlLndyYXBMbmdbMF1dLG4pLngvaS54KSxNYXRoLmNlaWwodC5wcm9qZWN0KFswLGUud3JhcExuZ1sxXV0sbikueC9pLnkpXSx0aGlzLl93cmFwWT1lLndyYXBMYXQmJiF0aGlzLm9wdGlvbnMubm9XcmFwJiZbTWF0aC5mbG9vcih0LnByb2plY3QoW2Uud3JhcExhdFswXSwwXSxuKS55L2kueCksTWF0aC5jZWlsKHQucHJvamVjdChbZS53cmFwTGF0WzFdLDBdLG4pLnkvaS55KV19LF9vbk1vdmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJiF0aGlzLl9tYXAuX2FuaW1hdGluZ1pvb20mJnRoaXMuX3VwZGF0ZSgpfSxfZ2V0VGlsZWRQaXhlbEJvdW5kczpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXAsaT1lLl9hbmltYXRpbmdab29tP01hdGgubWF4KGUuX2FuaW1hdGVUb1pvb20sZS5nZXRab29tKCkpOmUuZ2V0Wm9vbSgpLGk9ZS5nZXRab29tU2NhbGUoaSx0aGlzLl90aWxlWm9vbSksdD1lLnByb2plY3QodCx0aGlzLl90aWxlWm9vbSkuZmxvb3IoKSxlPWUuZ2V0U2l6ZSgpLmRpdmlkZUJ5KDIqaSk7cmV0dXJuIG5ldyBmKHQuc3VidHJhY3QoZSksdC5hZGQoZSkpfSxfdXBkYXRlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX21hcDtpZihlKXt2YXIgaT10aGlzLl9jbGFtcFpvb20oZS5nZXRab29tKCkpO2lmKHZvaWQgMD09PXQmJih0PWUuZ2V0Q2VudGVyKCkpLHZvaWQgMCE9PXRoaXMuX3RpbGVab29tKXt2YXIgbixlPXRoaXMuX2dldFRpbGVkUGl4ZWxCb3VuZHModCksbz10aGlzLl9weEJvdW5kc1RvVGlsZVJhbmdlKGUpLHM9by5nZXRDZW50ZXIoKSxyPVtdLGU9dGhpcy5vcHRpb25zLmtlZXBCdWZmZXIsYT1uZXcgZihvLmdldEJvdHRvbUxlZnQoKS5zdWJ0cmFjdChbZSwtZV0pLG8uZ2V0VG9wUmlnaHQoKS5hZGQoW2UsLWVdKSk7aWYoIShpc0Zpbml0ZShvLm1pbi54KSYmaXNGaW5pdGUoby5taW4ueSkmJmlzRmluaXRlKG8ubWF4LngpJiZpc0Zpbml0ZShvLm1heC55KSkpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gbG9hZCBhbiBpbmZpbml0ZSBudW1iZXIgb2YgdGlsZXMiKTtmb3IobiBpbiB0aGlzLl90aWxlcyl7dmFyIGg9dGhpcy5fdGlsZXNbbl0uY29vcmRzO2guej09PXRoaXMuX3RpbGVab29tJiZhLmNvbnRhaW5zKG5ldyBwKGgueCxoLnkpKXx8KHRoaXMuX3RpbGVzW25dLmN1cnJlbnQ9ITEpfWlmKDE8TWF0aC5hYnMoaS10aGlzLl90aWxlWm9vbSkpdGhpcy5fc2V0Vmlldyh0LGkpO2Vsc2V7Zm9yKHZhciBsPW8ubWluLnk7bDw9by5tYXgueTtsKyspZm9yKHZhciB1PW8ubWluLng7dTw9by5tYXgueDt1Kyspe3ZhciBjLGQ9bmV3IHAodSxsKTtkLno9dGhpcy5fdGlsZVpvb20sdGhpcy5faXNWYWxpZFRpbGUoZCkmJigoYz10aGlzLl90aWxlc1t0aGlzLl90aWxlQ29vcmRzVG9LZXkoZCldKT9jLmN1cnJlbnQ9ITA6ci5wdXNoKGQpKX1pZihyLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5kaXN0YW5jZVRvKHMpLWUuZGlzdGFuY2VUbyhzKX0pLDAhPT1yLmxlbmd0aCl7dGhpcy5fbG9hZGluZ3x8KHRoaXMuX2xvYWRpbmc9ITAsdGhpcy5maXJlKCJsb2FkaW5nIikpO2Zvcih2YXIgXz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdT0wO3U8ci5sZW5ndGg7dSsrKXRoaXMuX2FkZFRpbGUoclt1XSxfKTt0aGlzLl9sZXZlbC5lbC5hcHBlbmRDaGlsZChfKX19fX19LF9pc1ZhbGlkVGlsZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9tYXAub3B0aW9ucy5jcnM7aWYoIWUuaW5maW5pdGUpe3ZhciBpPXRoaXMuX2dsb2JhbFRpbGVSYW5nZTtpZighZS53cmFwTG5nJiYodC54PGkubWluLnh8fHQueD5pLm1heC54KXx8IWUud3JhcExhdCYmKHQueTxpLm1pbi55fHx0Lnk+aS5tYXgueSkpcmV0dXJuITF9cmV0dXJuIXRoaXMub3B0aW9ucy5ib3VuZHN8fChlPXRoaXMuX3RpbGVDb29yZHNUb0JvdW5kcyh0KSxnKHRoaXMub3B0aW9ucy5ib3VuZHMpLm92ZXJsYXBzKGUpKX0sX2tleVRvQm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aWxlQ29vcmRzVG9Cb3VuZHModGhpcy5fa2V5VG9UaWxlQ29vcmRzKHQpKX0sX3RpbGVDb29yZHNUb053U2U6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbWFwLGk9dGhpcy5nZXRUaWxlU2l6ZSgpLG49dC5zY2FsZUJ5KGkpLGk9bi5hZGQoaSk7cmV0dXJuW2UudW5wcm9qZWN0KG4sdC56KSxlLnVucHJvamVjdChpLHQueildfSxfdGlsZUNvb3Jkc1RvQm91bmRzOmZ1bmN0aW9uKHQpe3Q9dGhpcy5fdGlsZUNvb3Jkc1RvTndTZSh0KSx0PW5ldyBzKHRbMF0sdFsxXSk7cmV0dXJuIHQ9dGhpcy5vcHRpb25zLm5vV3JhcD90OnRoaXMuX21hcC53cmFwTGF0TG5nQm91bmRzKHQpfSxfdGlsZUNvb3Jkc1RvS2V5OmZ1bmN0aW9uKHQpe3JldHVybiB0LngrIjoiK3QueSsiOiIrdC56fSxfa2V5VG9UaWxlQ29vcmRzOmZ1bmN0aW9uKHQpe3ZhciB0PXQuc3BsaXQoIjoiKSxlPW5ldyBwKCt0WzBdLCt0WzFdKTtyZXR1cm4gZS56PSt0WzJdLGV9LF9yZW1vdmVUaWxlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpbGVzW3RdO2UmJihUKGUuZWwpLGRlbGV0ZSB0aGlzLl90aWxlc1t0XSx0aGlzLmZpcmUoInRpbGV1bmxvYWQiLHt0aWxlOmUuZWwsY29vcmRzOnRoaXMuX2tleVRvVGlsZUNvb3Jkcyh0KX0pKX0sX2luaXRUaWxlOmZ1bmN0aW9uKHQpe00odCwibGVhZmxldC10aWxlIik7dmFyIGU9dGhpcy5nZXRUaWxlU2l6ZSgpO3Quc3R5bGUud2lkdGg9ZS54KyJweCIsdC5zdHlsZS5oZWlnaHQ9ZS55KyJweCIsdC5vbnNlbGVjdHN0YXJ0PXUsdC5vbm1vdXNlbW92ZT11LGIuaWVsdDkmJnRoaXMub3B0aW9ucy5vcGFjaXR5PDEmJkModCx0aGlzLm9wdGlvbnMub3BhY2l0eSl9LF9hZGRUaWxlOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZ2V0VGlsZVBvcyh0KSxuPXRoaXMuX3RpbGVDb29yZHNUb0tleSh0KSxvPXRoaXMuY3JlYXRlVGlsZSh0aGlzLl93cmFwQ29vcmRzKHQpLGEodGhpcy5fdGlsZVJlYWR5LHRoaXMsdCkpO3RoaXMuX2luaXRUaWxlKG8pLHRoaXMuY3JlYXRlVGlsZS5sZW5ndGg8MiYmeChhKHRoaXMuX3RpbGVSZWFkeSx0aGlzLHQsbnVsbCxvKSksWihvLGkpLHRoaXMuX3RpbGVzW25dPXtlbDpvLGNvb3Jkczp0LGN1cnJlbnQ6ITB9LGUuYXBwZW5kQ2hpbGQobyksdGhpcy5maXJlKCJ0aWxlbG9hZHN0YXJ0Iix7dGlsZTpvLGNvb3Jkczp0fSl9LF90aWxlUmVhZHk6ZnVuY3Rpb24odCxlLGkpe2UmJnRoaXMuZmlyZSgidGlsZWVycm9yIix7ZXJyb3I6ZSx0aWxlOmksY29vcmRzOnR9KTt2YXIgbj10aGlzLl90aWxlQ29vcmRzVG9LZXkodCk7KGk9dGhpcy5fdGlsZXNbbl0pJiYoaS5sb2FkZWQ9K25ldyBEYXRlLHRoaXMuX21hcC5fZmFkZUFuaW1hdGVkPyhDKGkuZWwsMCkscih0aGlzLl9mYWRlRnJhbWUpLHRoaXMuX2ZhZGVGcmFtZT14KHRoaXMuX3VwZGF0ZU9wYWNpdHksdGhpcykpOihpLmFjdGl2ZT0hMCx0aGlzLl9wcnVuZVRpbGVzKCkpLGV8fChNKGkuZWwsImxlYWZsZXQtdGlsZS1sb2FkZWQiKSx0aGlzLmZpcmUoInRpbGVsb2FkIix7dGlsZTppLmVsLGNvb3Jkczp0fSkpLHRoaXMuX25vVGlsZXNUb0xvYWQoKSYmKHRoaXMuX2xvYWRpbmc9ITEsdGhpcy5maXJlKCJsb2FkIiksYi5pZWx0OXx8IXRoaXMuX21hcC5fZmFkZUFuaW1hdGVkP3godGhpcy5fcHJ1bmVUaWxlcyx0aGlzKTpzZXRUaW1lb3V0KGEodGhpcy5fcHJ1bmVUaWxlcyx0aGlzKSwyNTApKSl9LF9nZXRUaWxlUG9zOmZ1bmN0aW9uKHQpe3JldHVybiB0LnNjYWxlQnkodGhpcy5nZXRUaWxlU2l6ZSgpKS5zdWJ0cmFjdCh0aGlzLl9sZXZlbC5vcmlnaW4pfSxfd3JhcENvb3JkczpmdW5jdGlvbih0KXt2YXIgZT1uZXcgcCh0aGlzLl93cmFwWD9IKHQueCx0aGlzLl93cmFwWCk6dC54LHRoaXMuX3dyYXBZP0godC55LHRoaXMuX3dyYXBZKTp0LnkpO3JldHVybiBlLno9dC56LGV9LF9weEJvdW5kc1RvVGlsZVJhbmdlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0VGlsZVNpemUoKTtyZXR1cm4gbmV3IGYodC5taW4udW5zY2FsZUJ5KGUpLmZsb29yKCksdC5tYXgudW5zY2FsZUJ5KGUpLmNlaWwoKS5zdWJ0cmFjdChbMSwxXSkpfSxfbm9UaWxlc1RvTG9hZDpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl90aWxlcylpZighdGhpcy5fdGlsZXNbdF0ubG9hZGVkKXJldHVybiExO3JldHVybiEwfX0pO3ZhciBEaT1OaS5leHRlbmQoe29wdGlvbnM6e21pblpvb206MCxtYXhab29tOjE4LHN1YmRvbWFpbnM6ImFiYyIsZXJyb3JUaWxlVXJsOiIiLHpvb21PZmZzZXQ6MCx0bXM6ITEsem9vbVJldmVyc2U6ITEsZGV0ZWN0UmV0aW5hOiExLGNyb3NzT3JpZ2luOiExLHJlZmVycmVyUG9saWN5OiExfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSl7dGhpcy5fdXJsPXQsKGU9Yyh0aGlzLGUpKS5kZXRlY3RSZXRpbmEmJmIucmV0aW5hJiYwPGUubWF4Wm9vbT8oZS50aWxlU2l6ZT1NYXRoLmZsb29yKGUudGlsZVNpemUvMiksZS56b29tUmV2ZXJzZT8oZS56b29tT2Zmc2V0LS0sZS5taW5ab29tPU1hdGgubWluKGUubWF4Wm9vbSxlLm1pblpvb20rMSkpOihlLnpvb21PZmZzZXQrKyxlLm1heFpvb209TWF0aC5tYXgoZS5taW5ab29tLGUubWF4Wm9vbS0xKSksZS5taW5ab29tPU1hdGgubWF4KDAsZS5taW5ab29tKSk6ZS56b29tUmV2ZXJzZT9lLm1pblpvb209TWF0aC5taW4oZS5tYXhab29tLGUubWluWm9vbSk6ZS5tYXhab29tPU1hdGgubWF4KGUubWluWm9vbSxlLm1heFpvb20pLCJzdHJpbmciPT10eXBlb2YgZS5zdWJkb21haW5zJiYoZS5zdWJkb21haW5zPWUuc3ViZG9tYWlucy5zcGxpdCgiIikpLHRoaXMub24oInRpbGV1bmxvYWQiLHRoaXMuX29uVGlsZVJlbW92ZSl9LHNldFVybDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl91cmw9PT10JiZ2b2lkIDA9PT1lJiYoZT0hMCksdGhpcy5fdXJsPXQsZXx8dGhpcy5yZWRyYXcoKSx0aGlzfSxjcmVhdGVUaWxlOmZ1bmN0aW9uKHQsZSl7dmFyIGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7cmV0dXJuIFMoaSwibG9hZCIsYSh0aGlzLl90aWxlT25Mb2FkLHRoaXMsZSxpKSksUyhpLCJlcnJvciIsYSh0aGlzLl90aWxlT25FcnJvcix0aGlzLGUsaSkpLCF0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4mJiIiIT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2lufHwoaS5jcm9zc09yaWdpbj0hMD09PXRoaXMub3B0aW9ucy5jcm9zc09yaWdpbj8iIjp0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4pLCJzdHJpbmciPT10eXBlb2YgdGhpcy5vcHRpb25zLnJlZmVycmVyUG9saWN5JiYoaS5yZWZlcnJlclBvbGljeT10aGlzLm9wdGlvbnMucmVmZXJyZXJQb2xpY3kpLGkuYWx0PSIiLGkuc3JjPXRoaXMuZ2V0VGlsZVVybCh0KSxpfSxnZXRUaWxlVXJsOmZ1bmN0aW9uKHQpe3ZhciBlPXtyOmIucmV0aW5hPyJAMngiOiIiLHM6dGhpcy5fZ2V0U3ViZG9tYWluKHQpLHg6dC54LHk6dC55LHo6dGhpcy5fZ2V0Wm9vbUZvclVybCgpfTtyZXR1cm4gdGhpcy5fbWFwJiYhdGhpcy5fbWFwLm9wdGlvbnMuY3JzLmluZmluaXRlJiYodD10aGlzLl9nbG9iYWxUaWxlUmFuZ2UubWF4LnktdC55LHRoaXMub3B0aW9ucy50bXMmJihlLnk9dCksZVsiLXkiXT10KSxxKHRoaXMuX3VybCxsKGUsdGhpcy5vcHRpb25zKSl9LF90aWxlT25Mb2FkOmZ1bmN0aW9uKHQsZSl7Yi5pZWx0OT9zZXRUaW1lb3V0KGEodCx0aGlzLG51bGwsZSksMCk6dChudWxsLGUpfSxfdGlsZU9uRXJyb3I6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMub3B0aW9ucy5lcnJvclRpbGVVcmw7biYmZS5nZXRBdHRyaWJ1dGUoInNyYyIpIT09biYmKGUuc3JjPW4pLHQoaSxlKX0sX29uVGlsZVJlbW92ZTpmdW5jdGlvbih0KXt0LnRpbGUub25sb2FkPW51bGx9LF9nZXRab29tRm9yVXJsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fdGlsZVpvb20sZT10aGlzLm9wdGlvbnMubWF4Wm9vbTtyZXR1cm4odD10aGlzLm9wdGlvbnMuem9vbVJldmVyc2U/ZS10OnQpK3RoaXMub3B0aW9ucy56b29tT2Zmc2V0fSxfZ2V0U3ViZG9tYWluOmZ1bmN0aW9uKHQpe3Q9TWF0aC5hYnModC54K3QueSkldGhpcy5vcHRpb25zLnN1YmRvbWFpbnMubGVuZ3RoO3JldHVybiB0aGlzLm9wdGlvbnMuc3ViZG9tYWluc1t0XX0sX2Fib3J0TG9hZGluZzpmdW5jdGlvbigpe3ZhciB0LGUsaTtmb3IodCBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1t0XS5jb29yZHMueiE9PXRoaXMuX3RpbGVab29tJiYoKGk9dGhpcy5fdGlsZXNbdF0uZWwpLm9ubG9hZD11LGkub25lcnJvcj11LGkuY29tcGxldGV8fChpLnNyYz1LLGU9dGhpcy5fdGlsZXNbdF0uY29vcmRzLFQoaSksZGVsZXRlIHRoaXMuX3RpbGVzW3RdLHRoaXMuZmlyZSgidGlsZWFib3J0Iix7dGlsZTppLGNvb3JkczplfSkpKX0sX3JlbW92ZVRpbGU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdGlsZXNbdF07aWYoZSlyZXR1cm4gZS5lbC5zZXRBdHRyaWJ1dGUoInNyYyIsSyksTmkucHJvdG90eXBlLl9yZW1vdmVUaWxlLmNhbGwodGhpcyx0KX0sX3RpbGVSZWFkeTpmdW5jdGlvbih0LGUsaSl7aWYodGhpcy5fbWFwJiYoIWl8fGkuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PUspKXJldHVybiBOaS5wcm90b3R5cGUuX3RpbGVSZWFkeS5jYWxsKHRoaXMsdCxlLGkpfX0pO2Z1bmN0aW9uIGppKHQsZSl7cmV0dXJuIG5ldyBEaSh0LGUpfXZhciBIaT1EaS5leHRlbmQoe2RlZmF1bHRXbXNQYXJhbXM6e3NlcnZpY2U6IldNUyIscmVxdWVzdDoiR2V0TWFwIixsYXllcnM6IiIsc3R5bGVzOiIiLGZvcm1hdDoiaW1hZ2UvanBlZyIsdHJhbnNwYXJlbnQ6ITEsdmVyc2lvbjoiMS4xLjEifSxvcHRpb25zOntjcnM6bnVsbCx1cHBlcmNhc2U6ITF9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxlKXt0aGlzLl91cmw9dDt2YXIgaSxuPWwoe30sdGhpcy5kZWZhdWx0V21zUGFyYW1zKTtmb3IoaSBpbiBlKWkgaW4gdGhpcy5vcHRpb25zfHwobltpXT1lW2ldKTt2YXIgdD0oZT1jKHRoaXMsZSkpLmRldGVjdFJldGluYSYmYi5yZXRpbmE/MjoxLG89dGhpcy5nZXRUaWxlU2l6ZSgpO24ud2lkdGg9by54KnQsbi5oZWlnaHQ9by55KnQsdGhpcy53bXNQYXJhbXM9bn0sb25BZGQ6ZnVuY3Rpb24odCl7dGhpcy5fY3JzPXRoaXMub3B0aW9ucy5jcnN8fHQub3B0aW9ucy5jcnMsdGhpcy5fd21zVmVyc2lvbj1wYXJzZUZsb2F0KHRoaXMud21zUGFyYW1zLnZlcnNpb24pO3ZhciBlPTEuMzw9dGhpcy5fd21zVmVyc2lvbj8iY3JzIjoic3JzIjt0aGlzLndtc1BhcmFtc1tlXT10aGlzLl9jcnMuY29kZSxEaS5wcm90b3R5cGUub25BZGQuY2FsbCh0aGlzLHQpfSxnZXRUaWxlVXJsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpbGVDb29yZHNUb053U2UodCksaT10aGlzLl9jcnMsaT1fKGkucHJvamVjdChlWzBdKSxpLnByb2plY3QoZVsxXSkpLGU9aS5taW4saT1pLm1heCxlPSgxLjM8PXRoaXMuX3dtc1ZlcnNpb24mJnRoaXMuX2Nycz09PWxpP1tlLnksZS54LGkueSxpLnhdOltlLngsZS55LGkueCxpLnldKS5qb2luKCIsIiksaT1EaS5wcm90b3R5cGUuZ2V0VGlsZVVybC5jYWxsKHRoaXMsdCk7cmV0dXJuIGkrVSh0aGlzLndtc1BhcmFtcyxpLHRoaXMub3B0aW9ucy51cHBlcmNhc2UpKyh0aGlzLm9wdGlvbnMudXBwZXJjYXNlPyImQkJPWD0iOiImYmJveD0iKStlfSxzZXRQYXJhbXM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbCh0aGlzLndtc1BhcmFtcyx0KSxlfHx0aGlzLnJlZHJhdygpLHRoaXN9fSk7RGkuV01TPUhpLGppLndtcz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgSGkodCxlKX07dmFyIFdpPW8uZXh0ZW5kKHtvcHRpb25zOntwYWRkaW5nOi4xfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQpe2ModGhpcyx0KSxoKHRoaXMpLHRoaXMuX2xheWVycz10aGlzLl9sYXllcnN8fHt9fSxvbkFkZDpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lcnx8KHRoaXMuX2luaXRDb250YWluZXIoKSxNKHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC16b29tLWFuaW1hdGVkIikpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy5fdXBkYXRlKCksdGhpcy5vbigidXBkYXRlIix0aGlzLl91cGRhdGVQYXRocyx0aGlzKX0sb25SZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLm9mZigidXBkYXRlIix0aGlzLl91cGRhdGVQYXRocyx0aGlzKSx0aGlzLl9kZXN0cm95Q29udGFpbmVyKCl9LGdldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PXt2aWV3cmVzZXQ6dGhpcy5fcmVzZXQsem9vbTp0aGlzLl9vblpvb20sbW92ZWVuZDp0aGlzLl91cGRhdGUsem9vbWVuZDp0aGlzLl9vblpvb21FbmR9O3JldHVybiB0aGlzLl96b29tQW5pbWF0ZWQmJih0Lnpvb21hbmltPXRoaXMuX29uQW5pbVpvb20pLHR9LF9vbkFuaW1ab29tOmZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZVRyYW5zZm9ybSh0LmNlbnRlcix0Lnpvb20pfSxfb25ab29tOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlVHJhbnNmb3JtKHRoaXMuX21hcC5nZXRDZW50ZXIoKSx0aGlzLl9tYXAuZ2V0Wm9vbSgpKX0sX3VwZGF0ZVRyYW5zZm9ybTpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX21hcC5nZXRab29tU2NhbGUoZSx0aGlzLl96b29tKSxuPXRoaXMuX21hcC5nZXRTaXplKCkubXVsdGlwbHlCeSguNSt0aGlzLm9wdGlvbnMucGFkZGluZyksbz10aGlzLl9tYXAucHJvamVjdCh0aGlzLl9jZW50ZXIsZSksbj1uLm11bHRpcGx5QnkoLWkpLmFkZChvKS5zdWJ0cmFjdCh0aGlzLl9tYXAuX2dldE5ld1BpeGVsT3JpZ2luKHQsZSkpO2IuYW55M2Q/YmUodGhpcy5fY29udGFpbmVyLG4saSk6Wih0aGlzLl9jb250YWluZXIsbil9LF9yZXNldDpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl91cGRhdGUoKSx0aGlzLl91cGRhdGVUcmFuc2Zvcm0odGhpcy5fY2VudGVyLHRoaXMuX3pvb20pLHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0uX3Jlc2V0KCl9LF9vblpvb21FbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fbGF5ZXJzKXRoaXMuX2xheWVyc1t0XS5fcHJvamVjdCgpfSxfdXBkYXRlUGF0aHM6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fbGF5ZXJzKXRoaXMuX2xheWVyc1t0XS5fdXBkYXRlKCl9LF91cGRhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMucGFkZGluZyxlPXRoaXMuX21hcC5nZXRTaXplKCksaT10aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQoZS5tdWx0aXBseUJ5KC10KSkucm91bmQoKTt0aGlzLl9ib3VuZHM9bmV3IGYoaSxpLmFkZChlLm11bHRpcGx5QnkoMSsyKnQpKS5yb3VuZCgpKSx0aGlzLl9jZW50ZXI9dGhpcy5fbWFwLmdldENlbnRlcigpLHRoaXMuX3pvb209dGhpcy5fbWFwLmdldFpvb20oKX19KSxGaT1XaS5leHRlbmQoe29wdGlvbnM6e3RvbGVyYW5jZTowfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD1XaS5wcm90b3R5cGUuZ2V0RXZlbnRzLmNhbGwodGhpcyk7cmV0dXJuIHQudmlld3ByZXJlc2V0PXRoaXMuX29uVmlld1ByZVJlc2V0LHR9LF9vblZpZXdQcmVSZXNldDpmdW5jdGlvbigpe3RoaXMuX3Bvc3Rwb25lVXBkYXRlUGF0aHM9ITB9LG9uQWRkOmZ1bmN0aW9uKCl7V2kucHJvdG90eXBlLm9uQWRkLmNhbGwodGhpcyksdGhpcy5fZHJhdygpfSxfaW5pdENvbnRhaW5lcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtTKHQsIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUsdGhpcyksUyh0LCJjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBjb250ZXh0bWVudSIsdGhpcy5fb25DbGljayx0aGlzKSxTKHQsIm1vdXNlb3V0Iix0aGlzLl9oYW5kbGVNb3VzZU91dCx0aGlzKSx0Ll9sZWFmbGV0X2Rpc2FibGVfZXZlbnRzPSEwLHRoaXMuX2N0eD10LmdldENvbnRleHQoIjJkIil9LF9kZXN0cm95Q29udGFpbmVyOmZ1bmN0aW9uKCl7cih0aGlzLl9yZWRyYXdSZXF1ZXN0KSxkZWxldGUgdGhpcy5fY3R4LFQodGhpcy5fY29udGFpbmVyKSxrKHRoaXMuX2NvbnRhaW5lciksZGVsZXRlIHRoaXMuX2NvbnRhaW5lcn0sX3VwZGF0ZVBhdGhzOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX3Bvc3Rwb25lVXBkYXRlUGF0aHMpe2Zvcih2YXIgdCBpbiB0aGlzLl9yZWRyYXdCb3VuZHM9bnVsbCx0aGlzLl9sYXllcnMpdGhpcy5fbGF5ZXJzW3RdLl91cGRhdGUoKTt0aGlzLl9yZWRyYXcoKX19LF91cGRhdGU6ZnVuY3Rpb24oKXt2YXIgdCxlLGksbjt0aGlzLl9tYXAuX2FuaW1hdGluZ1pvb20mJnRoaXMuX2JvdW5kc3x8KFdpLnByb3RvdHlwZS5fdXBkYXRlLmNhbGwodGhpcyksdD10aGlzLl9ib3VuZHMsZT10aGlzLl9jb250YWluZXIsaT10LmdldFNpemUoKSxuPWIucmV0aW5hPzI6MSxaKGUsdC5taW4pLGUud2lkdGg9bippLngsZS5oZWlnaHQ9bippLnksZS5zdHlsZS53aWR0aD1pLngrInB4IixlLnN0eWxlLmhlaWdodD1pLnkrInB4IixiLnJldGluYSYmdGhpcy5fY3R4LnNjYWxlKDIsMiksdGhpcy5fY3R4LnRyYW5zbGF0ZSgtdC5taW4ueCwtdC5taW4ueSksdGhpcy5maXJlKCJ1cGRhdGUiKSl9LF9yZXNldDpmdW5jdGlvbigpe1dpLnByb3RvdHlwZS5fcmVzZXQuY2FsbCh0aGlzKSx0aGlzLl9wb3N0cG9uZVVwZGF0ZVBhdGhzJiYodGhpcy5fcG9zdHBvbmVVcGRhdGVQYXRocz0hMSx0aGlzLl91cGRhdGVQYXRocygpKX0sX2luaXRQYXRoOmZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZURhc2hBcnJheSh0KTt0PSh0aGlzLl9sYXllcnNbaCh0KV09dCkuX29yZGVyPXtsYXllcjp0LHByZXY6dGhpcy5fZHJhd0xhc3QsbmV4dDpudWxsfTt0aGlzLl9kcmF3TGFzdCYmKHRoaXMuX2RyYXdMYXN0Lm5leHQ9dCksdGhpcy5fZHJhd0xhc3Q9dCx0aGlzLl9kcmF3Rmlyc3Q9dGhpcy5fZHJhd0ZpcnN0fHx0aGlzLl9kcmF3TGFzdH0sX2FkZFBhdGg6ZnVuY3Rpb24odCl7dGhpcy5fcmVxdWVzdFJlZHJhdyh0KX0sX3JlbW92ZVBhdGg6ZnVuY3Rpb24odCl7dmFyIGU9dC5fb3JkZXIsaT1lLm5leHQsZT1lLnByZXY7aT9pLnByZXY9ZTp0aGlzLl9kcmF3TGFzdD1lLGU/ZS5uZXh0PWk6dGhpcy5fZHJhd0ZpcnN0PWksZGVsZXRlIHQuX29yZGVyLGRlbGV0ZSB0aGlzLl9sYXllcnNbaCh0KV0sdGhpcy5fcmVxdWVzdFJlZHJhdyh0KX0sX3VwZGF0ZVBhdGg6ZnVuY3Rpb24odCl7dGhpcy5fZXh0ZW5kUmVkcmF3Qm91bmRzKHQpLHQuX3Byb2plY3QoKSx0Ll91cGRhdGUoKSx0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpfSxfdXBkYXRlU3R5bGU6ZnVuY3Rpb24odCl7dGhpcy5fdXBkYXRlRGFzaEFycmF5KHQpLHRoaXMuX3JlcXVlc3RSZWRyYXcodCl9LF91cGRhdGVEYXNoQXJyYXk6ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0Lm9wdGlvbnMuZGFzaEFycmF5KXtmb3IodmFyIGUsaT10Lm9wdGlvbnMuZGFzaEFycmF5LnNwbGl0KC9bLCBdKy8pLG49W10sbz0wO288aS5sZW5ndGg7bysrKXtpZihlPU51bWJlcihpW29dKSxpc05hTihlKSlyZXR1cm47bi5wdXNoKGUpfXQub3B0aW9ucy5fZGFzaEFycmF5PW59ZWxzZSB0Lm9wdGlvbnMuX2Rhc2hBcnJheT10Lm9wdGlvbnMuZGFzaEFycmF5fSxfcmVxdWVzdFJlZHJhdzpmdW5jdGlvbih0KXt0aGlzLl9tYXAmJih0aGlzLl9leHRlbmRSZWRyYXdCb3VuZHModCksdGhpcy5fcmVkcmF3UmVxdWVzdD10aGlzLl9yZWRyYXdSZXF1ZXN0fHx4KHRoaXMuX3JlZHJhdyx0aGlzKSl9LF9leHRlbmRSZWRyYXdCb3VuZHM6ZnVuY3Rpb24odCl7dmFyIGU7dC5fcHhCb3VuZHMmJihlPSh0Lm9wdGlvbnMud2VpZ2h0fHwwKSsxLHRoaXMuX3JlZHJhd0JvdW5kcz10aGlzLl9yZWRyYXdCb3VuZHN8fG5ldyBmLHRoaXMuX3JlZHJhd0JvdW5kcy5leHRlbmQodC5fcHhCb3VuZHMubWluLnN1YnRyYWN0KFtlLGVdKSksdGhpcy5fcmVkcmF3Qm91bmRzLmV4dGVuZCh0Ll9weEJvdW5kcy5tYXguYWRkKFtlLGVdKSkpfSxfcmVkcmF3OmZ1bmN0aW9uKCl7dGhpcy5fcmVkcmF3UmVxdWVzdD1udWxsLHRoaXMuX3JlZHJhd0JvdW5kcyYmKHRoaXMuX3JlZHJhd0JvdW5kcy5taW4uX2Zsb29yKCksdGhpcy5fcmVkcmF3Qm91bmRzLm1heC5fY2VpbCgpKSx0aGlzLl9jbGVhcigpLHRoaXMuX2RyYXcoKSx0aGlzLl9yZWRyYXdCb3VuZHM9bnVsbH0sX2NsZWFyOmZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLl9yZWRyYXdCb3VuZHM7ZT8odD1lLmdldFNpemUoKSx0aGlzLl9jdHguY2xlYXJSZWN0KGUubWluLngsZS5taW4ueSx0LngsdC55KSk6KHRoaXMuX2N0eC5zYXZlKCksdGhpcy5fY3R4LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdGhpcy5fY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5fY29udGFpbmVyLndpZHRoLHRoaXMuX2NvbnRhaW5lci5oZWlnaHQpLHRoaXMuX2N0eC5yZXN0b3JlKCkpfSxfZHJhdzpmdW5jdGlvbigpe3ZhciB0LGUsaT10aGlzLl9yZWRyYXdCb3VuZHM7dGhpcy5fY3R4LnNhdmUoKSxpJiYoZT1pLmdldFNpemUoKSx0aGlzLl9jdHguYmVnaW5QYXRoKCksdGhpcy5fY3R4LnJlY3QoaS5taW4ueCxpLm1pbi55LGUueCxlLnkpLHRoaXMuX2N0eC5jbGlwKCkpLHRoaXMuX2RyYXdpbmc9ITA7Zm9yKHZhciBuPXRoaXMuX2RyYXdGaXJzdDtuO249bi5uZXh0KXQ9bi5sYXllciwoIWl8fHQuX3B4Qm91bmRzJiZ0Ll9weEJvdW5kcy5pbnRlcnNlY3RzKGkpKSYmdC5fdXBkYXRlUGF0aCgpO3RoaXMuX2RyYXdpbmc9ITEsdGhpcy5fY3R4LnJlc3RvcmUoKX0sX3VwZGF0ZVBvbHk6ZnVuY3Rpb24odCxlKXtpZih0aGlzLl9kcmF3aW5nKXt2YXIgaSxuLG8scyxyPXQuX3BhcnRzLGE9ci5sZW5ndGgsaD10aGlzLl9jdHg7aWYoYSl7Zm9yKGguYmVnaW5QYXRoKCksaT0wO2k8YTtpKyspe2ZvcihuPTAsbz1yW2ldLmxlbmd0aDtuPG87bisrKXM9cltpXVtuXSxoW24/ImxpbmVUbyI6Im1vdmVUbyJdKHMueCxzLnkpO2UmJmguY2xvc2VQYXRoKCl9dGhpcy5fZmlsbFN0cm9rZShoLHQpfX19LF91cGRhdGVDaXJjbGU6ZnVuY3Rpb24odCl7dmFyIGUsaSxuLG87dGhpcy5fZHJhd2luZyYmIXQuX2VtcHR5KCkmJihlPXQuX3BvaW50LGk9dGhpcy5fY3R4LG49TWF0aC5tYXgoTWF0aC5yb3VuZCh0Ll9yYWRpdXMpLDEpLDEhPShvPShNYXRoLm1heChNYXRoLnJvdW5kKHQuX3JhZGl1c1kpLDEpfHxuKS9uKSYmKGkuc2F2ZSgpLGkuc2NhbGUoMSxvKSksaS5iZWdpblBhdGgoKSxpLmFyYyhlLngsZS55L28sbiwwLDIqTWF0aC5QSSwhMSksMSE9byYmaS5yZXN0b3JlKCksdGhpcy5fZmlsbFN0cm9rZShpLHQpKX0sX2ZpbGxTdHJva2U6ZnVuY3Rpb24odCxlKXt2YXIgaT1lLm9wdGlvbnM7aS5maWxsJiYodC5nbG9iYWxBbHBoYT1pLmZpbGxPcGFjaXR5LHQuZmlsbFN0eWxlPWkuZmlsbENvbG9yfHxpLmNvbG9yLHQuZmlsbChpLmZpbGxSdWxlfHwiZXZlbm9kZCIpKSxpLnN0cm9rZSYmMCE9PWkud2VpZ2h0JiYodC5zZXRMaW5lRGFzaCYmdC5zZXRMaW5lRGFzaChlLm9wdGlvbnMmJmUub3B0aW9ucy5fZGFzaEFycmF5fHxbXSksdC5nbG9iYWxBbHBoYT1pLm9wYWNpdHksdC5saW5lV2lkdGg9aS53ZWlnaHQsdC5zdHJva2VTdHlsZT1pLmNvbG9yLHQubGluZUNhcD1pLmxpbmVDYXAsdC5saW5lSm9pbj1pLmxpbmVKb2luLHQuc3Ryb2tlKCkpfSxfb25DbGljazpmdW5jdGlvbih0KXtmb3IodmFyIGUsaSxuPXRoaXMuX21hcC5tb3VzZUV2ZW50VG9MYXllclBvaW50KHQpLG89dGhpcy5fZHJhd0ZpcnN0O287bz1vLm5leHQpKGU9by5sYXllcikub3B0aW9ucy5pbnRlcmFjdGl2ZSYmZS5fY29udGFpbnNQb2ludChuKSYmKCgiY2xpY2siPT09dC50eXBlfHwicHJlY2xpY2siPT09dC50eXBlKSYmdGhpcy5fbWFwLl9kcmFnZ2FibGVNb3ZlZChlKXx8KGk9ZSkpO3RoaXMuX2ZpcmVFdmVudCghIWkmJltpXSx0KX0sX29uTW91c2VNb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlOyF0aGlzLl9tYXB8fHRoaXMuX21hcC5kcmFnZ2luZy5tb3ZpbmcoKXx8dGhpcy5fbWFwLl9hbmltYXRpbmdab29tfHwoZT10aGlzLl9tYXAubW91c2VFdmVudFRvTGF5ZXJQb2ludCh0KSx0aGlzLl9oYW5kbGVNb3VzZUhvdmVyKHQsZSkpfSxfaGFuZGxlTW91c2VPdXQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faG92ZXJlZExheWVyO2UmJih6KHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC1pbnRlcmFjdGl2ZSIpLHRoaXMuX2ZpcmVFdmVudChbZV0sdCwibW91c2VvdXQiKSx0aGlzLl9ob3ZlcmVkTGF5ZXI9bnVsbCx0aGlzLl9tb3VzZUhvdmVyVGhyb3R0bGVkPSExKX0sX2hhbmRsZU1vdXNlSG92ZXI6ZnVuY3Rpb24odCxlKXtpZighdGhpcy5fbW91c2VIb3ZlclRocm90dGxlZCl7Zm9yKHZhciBpLG4sbz10aGlzLl9kcmF3Rmlyc3Q7bztvPW8ubmV4dCkoaT1vLmxheWVyKS5vcHRpb25zLmludGVyYWN0aXZlJiZpLl9jb250YWluc1BvaW50KGUpJiYobj1pKTtuIT09dGhpcy5faG92ZXJlZExheWVyJiYodGhpcy5faGFuZGxlTW91c2VPdXQodCksbiYmKE0odGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5fZmlyZUV2ZW50KFtuXSx0LCJtb3VzZW92ZXIiKSx0aGlzLl9ob3ZlcmVkTGF5ZXI9bikpLHRoaXMuX2ZpcmVFdmVudCghIXRoaXMuX2hvdmVyZWRMYXllciYmW3RoaXMuX2hvdmVyZWRMYXllcl0sdCksdGhpcy5fbW91c2VIb3ZlclRocm90dGxlZD0hMCxzZXRUaW1lb3V0KGEoZnVuY3Rpb24oKXt0aGlzLl9tb3VzZUhvdmVyVGhyb3R0bGVkPSExfSx0aGlzKSwzMil9fSxfZmlyZUV2ZW50OmZ1bmN0aW9uKHQsZSxpKXt0aGlzLl9tYXAuX2ZpcmVET01FdmVudChlLGl8fGUudHlwZSx0KX0sX2JyaW5nVG9Gcm9udDpmdW5jdGlvbih0KXt2YXIgZSxpLG49dC5fb3JkZXI7biYmKGU9bi5uZXh0LGk9bi5wcmV2LGUmJigoZS5wcmV2PWkpP2kubmV4dD1lOmUmJih0aGlzLl9kcmF3Rmlyc3Q9ZSksbi5wcmV2PXRoaXMuX2RyYXdMYXN0LCh0aGlzLl9kcmF3TGFzdC5uZXh0PW4pLm5leHQ9bnVsbCx0aGlzLl9kcmF3TGFzdD1uLHRoaXMuX3JlcXVlc3RSZWRyYXcodCkpKX0sX2JyaW5nVG9CYWNrOmZ1bmN0aW9uKHQpe3ZhciBlLGksbj10Ll9vcmRlcjtuJiYoZT1uLm5leHQsKGk9bi5wcmV2KSYmKChpLm5leHQ9ZSk/ZS5wcmV2PWk6aSYmKHRoaXMuX2RyYXdMYXN0PWkpLG4ucHJldj1udWxsLG4ubmV4dD10aGlzLl9kcmF3Rmlyc3QsdGhpcy5fZHJhd0ZpcnN0LnByZXY9bix0aGlzLl9kcmF3Rmlyc3Q9bix0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpKSl9fSk7ZnVuY3Rpb24gVWkodCl7cmV0dXJuIGIuY2FudmFzP25ldyBGaSh0KTpudWxsfXZhciBWaT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gZG9jdW1lbnQubmFtZXNwYWNlcy5hZGQoImx2bWwiLCJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIpLGZ1bmN0aW9uKHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCI8bHZtbDoiK3QrJyBjbGFzcz0ibHZtbCI+Jyl9fWNhdGNoKHQpe31yZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIjwiK3QrJyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LmNvbTp2bWwiIGNsYXNzPSJsdm1sIj4nKX19KCksenQ9e19pbml0Q29udGFpbmVyOmZ1bmN0aW9uKCl7dGhpcy5fY29udGFpbmVyPVAoImRpdiIsImxlYWZsZXQtdm1sLWNvbnRhaW5lciIpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fbWFwLl9hbmltYXRpbmdab29tfHwoV2kucHJvdG90eXBlLl91cGRhdGUuY2FsbCh0aGlzKSx0aGlzLmZpcmUoInVwZGF0ZSIpKX0sX2luaXRQYXRoOmZ1bmN0aW9uKHQpe3ZhciBlPXQuX2NvbnRhaW5lcj1WaSgic2hhcGUiKTtNKGUsImxlYWZsZXQtdm1sLXNoYXBlICIrKHRoaXMub3B0aW9ucy5jbGFzc05hbWV8fCIiKSksZS5jb29yZHNpemU9IjEgMSIsdC5fcGF0aD1WaSgicGF0aCIpLGUuYXBwZW5kQ2hpbGQodC5fcGF0aCksdGhpcy5fdXBkYXRlU3R5bGUodCksdGhpcy5fbGF5ZXJzW2godCldPXR9LF9hZGRQYXRoOmZ1bmN0aW9uKHQpe3ZhciBlPXQuX2NvbnRhaW5lcjt0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoZSksdC5vcHRpb25zLmludGVyYWN0aXZlJiZ0LmFkZEludGVyYWN0aXZlVGFyZ2V0KGUpfSxfcmVtb3ZlUGF0aDpmdW5jdGlvbih0KXt2YXIgZT10Ll9jb250YWluZXI7VChlKSx0LnJlbW92ZUludGVyYWN0aXZlVGFyZ2V0KGUpLGRlbGV0ZSB0aGlzLl9sYXllcnNbaCh0KV19LF91cGRhdGVTdHlsZTpmdW5jdGlvbih0KXt2YXIgZT10Ll9zdHJva2UsaT10Ll9maWxsLG49dC5vcHRpb25zLG89dC5fY29udGFpbmVyO28uc3Ryb2tlZD0hIW4uc3Ryb2tlLG8uZmlsbGVkPSEhbi5maWxsLG4uc3Ryb2tlPyhlPWV8fCh0Ll9zdHJva2U9VmkoInN0cm9rZSIpKSxvLmFwcGVuZENoaWxkKGUpLGUud2VpZ2h0PW4ud2VpZ2h0KyJweCIsZS5jb2xvcj1uLmNvbG9yLGUub3BhY2l0eT1uLm9wYWNpdHksbi5kYXNoQXJyYXk/ZS5kYXNoU3R5bGU9ZChuLmRhc2hBcnJheSk/bi5kYXNoQXJyYXkuam9pbigiICIpOm4uZGFzaEFycmF5LnJlcGxhY2UoLyggKiwgKikvZywiICIpOmUuZGFzaFN0eWxlPSIiLGUuZW5kY2FwPW4ubGluZUNhcC5yZXBsYWNlKCJidXR0IiwiZmxhdCIpLGUuam9pbnN0eWxlPW4ubGluZUpvaW4pOmUmJihvLnJlbW92ZUNoaWxkKGUpLHQuX3N0cm9rZT1udWxsKSxuLmZpbGw/KGk9aXx8KHQuX2ZpbGw9VmkoImZpbGwiKSksby5hcHBlbmRDaGlsZChpKSxpLmNvbG9yPW4uZmlsbENvbG9yfHxuLmNvbG9yLGkub3BhY2l0eT1uLmZpbGxPcGFjaXR5KTppJiYoby5yZW1vdmVDaGlsZChpKSx0Ll9maWxsPW51bGwpfSxfdXBkYXRlQ2lyY2xlOmZ1bmN0aW9uKHQpe3ZhciBlPXQuX3BvaW50LnJvdW5kKCksaT1NYXRoLnJvdW5kKHQuX3JhZGl1cyksbj1NYXRoLnJvdW5kKHQuX3JhZGl1c1l8fGkpO3RoaXMuX3NldFBhdGgodCx0Ll9lbXB0eSgpPyJNMCAwIjoiQUwgIitlLngrIiwiK2UueSsiICIraSsiLCIrbisiIDAsMjM1OTI2MDAiKX0sX3NldFBhdGg6ZnVuY3Rpb24odCxlKXt0Ll9wYXRoLnY9ZX0sX2JyaW5nVG9Gcm9udDpmdW5jdGlvbih0KXtmZSh0Ll9jb250YWluZXIpfSxfYnJpbmdUb0JhY2s6ZnVuY3Rpb24odCl7Z2UodC5fY29udGFpbmVyKX19LHFpPWIudm1sP1ZpOmN0LEdpPVdpLmV4dGVuZCh7X2luaXRDb250YWluZXI6ZnVuY3Rpb24oKXt0aGlzLl9jb250YWluZXI9cWkoInN2ZyIpLHRoaXMuX2NvbnRhaW5lci5zZXRBdHRyaWJ1dGUoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpLHRoaXMuX3Jvb3RHcm91cD1xaSgiZyIpLHRoaXMuX2NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLl9yb290R3JvdXApfSxfZGVzdHJveUNvbnRhaW5lcjpmdW5jdGlvbigpe1QodGhpcy5fY29udGFpbmVyKSxrKHRoaXMuX2NvbnRhaW5lciksZGVsZXRlIHRoaXMuX2NvbnRhaW5lcixkZWxldGUgdGhpcy5fcm9vdEdyb3VwLGRlbGV0ZSB0aGlzLl9zdmdTaXplfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQsZSxpO3RoaXMuX21hcC5fYW5pbWF0aW5nWm9vbSYmdGhpcy5fYm91bmRzfHwoV2kucHJvdG90eXBlLl91cGRhdGUuY2FsbCh0aGlzKSxlPSh0PXRoaXMuX2JvdW5kcykuZ2V0U2l6ZSgpLGk9dGhpcy5fY29udGFpbmVyLHRoaXMuX3N2Z1NpemUmJnRoaXMuX3N2Z1NpemUuZXF1YWxzKGUpfHwodGhpcy5fc3ZnU2l6ZT1lLGkuc2V0QXR0cmlidXRlKCJ3aWR0aCIsZS54KSxpLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IixlLnkpKSxaKGksdC5taW4pLGkuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IixbdC5taW4ueCx0Lm1pbi55LGUueCxlLnldLmpvaW4oIiAiKSksdGhpcy5maXJlKCJ1cGRhdGUiKSl9LF9pbml0UGF0aDpmdW5jdGlvbih0KXt2YXIgZT10Ll9wYXRoPXFpKCJwYXRoIik7dC5vcHRpb25zLmNsYXNzTmFtZSYmTShlLHQub3B0aW9ucy5jbGFzc05hbWUpLHQub3B0aW9ucy5pbnRlcmFjdGl2ZSYmTShlLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5fdXBkYXRlU3R5bGUodCksdGhpcy5fbGF5ZXJzW2godCldPXR9LF9hZGRQYXRoOmZ1bmN0aW9uKHQpe3RoaXMuX3Jvb3RHcm91cHx8dGhpcy5faW5pdENvbnRhaW5lcigpLHRoaXMuX3Jvb3RHcm91cC5hcHBlbmRDaGlsZCh0Ll9wYXRoKSx0LmFkZEludGVyYWN0aXZlVGFyZ2V0KHQuX3BhdGgpfSxfcmVtb3ZlUGF0aDpmdW5jdGlvbih0KXtUKHQuX3BhdGgpLHQucmVtb3ZlSW50ZXJhY3RpdmVUYXJnZXQodC5fcGF0aCksZGVsZXRlIHRoaXMuX2xheWVyc1toKHQpXX0sX3VwZGF0ZVBhdGg6ZnVuY3Rpb24odCl7dC5fcHJvamVjdCgpLHQuX3VwZGF0ZSgpfSxfdXBkYXRlU3R5bGU6ZnVuY3Rpb24odCl7dmFyIGU9dC5fcGF0aCx0PXQub3B0aW9ucztlJiYodC5zdHJva2U/KGUuc2V0QXR0cmlidXRlKCJzdHJva2UiLHQuY29sb3IpLGUuc2V0QXR0cmlidXRlKCJzdHJva2Utb3BhY2l0eSIsdC5vcGFjaXR5KSxlLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIix0LndlaWdodCksZS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1saW5lY2FwIix0LmxpbmVDYXApLGUuc2V0QXR0cmlidXRlKCJzdHJva2UtbGluZWpvaW4iLHQubGluZUpvaW4pLHQuZGFzaEFycmF5P2Uuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaGFycmF5Iix0LmRhc2hBcnJheSk6ZS5yZW1vdmVBdHRyaWJ1dGUoInN0cm9rZS1kYXNoYXJyYXkiKSx0LmRhc2hPZmZzZXQ/ZS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1kYXNob2Zmc2V0Iix0LmRhc2hPZmZzZXQpOmUucmVtb3ZlQXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIpKTplLnNldEF0dHJpYnV0ZSgic3Ryb2tlIiwibm9uZSIpLHQuZmlsbD8oZS5zZXRBdHRyaWJ1dGUoImZpbGwiLHQuZmlsbENvbG9yfHx0LmNvbG9yKSxlLnNldEF0dHJpYnV0ZSgiZmlsbC1vcGFjaXR5Iix0LmZpbGxPcGFjaXR5KSxlLnNldEF0dHJpYnV0ZSgiZmlsbC1ydWxlIix0LmZpbGxSdWxlfHwiZXZlbm9kZCIpKTplLnNldEF0dHJpYnV0ZSgiZmlsbCIsIm5vbmUiKSl9LF91cGRhdGVQb2x5OmZ1bmN0aW9uKHQsZSl7dGhpcy5fc2V0UGF0aCh0LGR0KHQuX3BhcnRzLGUpKX0sX3VwZGF0ZUNpcmNsZTpmdW5jdGlvbih0KXt2YXIgZT10Ll9wb2ludCxpPU1hdGgubWF4KE1hdGgucm91bmQodC5fcmFkaXVzKSwxKSxuPSJhIitpKyIsIisoTWF0aC5tYXgoTWF0aC5yb3VuZCh0Ll9yYWRpdXNZKSwxKXx8aSkrIiAwIDEsMCAiLGU9dC5fZW1wdHkoKT8iTTAgMCI6Ik0iKyhlLngtaSkrIiwiK2UueStuKzIqaSsiLDAgIituKzIqLWkrIiwwICI7dGhpcy5fc2V0UGF0aCh0LGUpfSxfc2V0UGF0aDpmdW5jdGlvbih0LGUpe3QuX3BhdGguc2V0QXR0cmlidXRlKCJkIixlKX0sX2JyaW5nVG9Gcm9udDpmdW5jdGlvbih0KXtmZSh0Ll9wYXRoKX0sX2JyaW5nVG9CYWNrOmZ1bmN0aW9uKHQpe2dlKHQuX3BhdGgpfX0pO2Z1bmN0aW9uIEtpKHQpe3JldHVybiBiLnN2Z3x8Yi52bWw/bmV3IEdpKHQpOm51bGx9Yi52bWwmJkdpLmluY2x1ZGUoenQpLEEuaW5jbHVkZSh7Z2V0UmVuZGVyZXI6ZnVuY3Rpb24odCl7dD0odD10Lm9wdGlvbnMucmVuZGVyZXJ8fHRoaXMuX2dldFBhbmVSZW5kZXJlcih0Lm9wdGlvbnMucGFuZSl8fHRoaXMub3B0aW9ucy5yZW5kZXJlcnx8dGhpcy5fcmVuZGVyZXIpfHwodGhpcy5fcmVuZGVyZXI9dGhpcy5fY3JlYXRlUmVuZGVyZXIoKSk7cmV0dXJuIHRoaXMuaGFzTGF5ZXIodCl8fHRoaXMuYWRkTGF5ZXIodCksdH0sX2dldFBhbmVSZW5kZXJlcjpmdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4ib3ZlcmxheVBhbmUiIT09dCYmdm9pZCAwIT09dCYmKHZvaWQgMD09PShlPXRoaXMuX3BhbmVSZW5kZXJlcnNbdF0pJiYoZT10aGlzLl9jcmVhdGVSZW5kZXJlcih7cGFuZTp0fSksdGhpcy5fcGFuZVJlbmRlcmVyc1t0XT1lKSxlKX0sX2NyZWF0ZVJlbmRlcmVyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMucHJlZmVyQ2FudmFzJiZVaSh0KXx8S2kodCl9fSk7dmFyIFlpPXhpLmV4dGVuZCh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0LGUpe3hpLnByb3RvdHlwZS5pbml0aWFsaXplLmNhbGwodGhpcyx0aGlzLl9ib3VuZHNUb0xhdExuZ3ModCksZSl9LHNldEJvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zZXRMYXRMbmdzKHRoaXMuX2JvdW5kc1RvTGF0TG5ncyh0KSl9LF9ib3VuZHNUb0xhdExuZ3M6ZnVuY3Rpb24odCl7cmV0dXJuWyh0PWcodCkpLmdldFNvdXRoV2VzdCgpLHQuZ2V0Tm9ydGhXZXN0KCksdC5nZXROb3J0aEVhc3QoKSx0LmdldFNvdXRoRWFzdCgpXX19KTtHaS5jcmVhdGU9cWksR2kucG9pbnRzVG9QYXRoPWR0LHdpLmdlb21ldHJ5VG9MYXllcj1iaSx3aS5jb29yZHNUb0xhdExuZz1MaSx3aS5jb29yZHNUb0xhdExuZ3M9VGksd2kubGF0TG5nVG9Db29yZHM9TWksd2kubGF0TG5nc1RvQ29vcmRzPXppLHdpLmdldEZlYXR1cmU9Q2ksd2kuYXNGZWF0dXJlPVppLEEubWVyZ2VPcHRpb25zKHtib3hab29tOiEwfSk7dmFyIF90PW4uZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQpe3RoaXMuX21hcD10LHRoaXMuX2NvbnRhaW5lcj10Ll9jb250YWluZXIsdGhpcy5fcGFuZT10Ll9wYW5lcy5vdmVybGF5UGFuZSx0aGlzLl9yZXNldFN0YXRlVGltZW91dD0wLHQub24oInVubG9hZCIsdGhpcy5fZGVzdHJveSx0aGlzKX0sYWRkSG9va3M6ZnVuY3Rpb24oKXtTKHRoaXMuX2NvbnRhaW5lciwibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRG93bix0aGlzKX0scmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXtrKHRoaXMuX2NvbnRhaW5lciwibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRG93bix0aGlzKX0sbW92ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbW92ZWR9LF9kZXN0cm95OmZ1bmN0aW9uKCl7VCh0aGlzLl9wYW5lKSxkZWxldGUgdGhpcy5fcGFuZX0sX3Jlc2V0U3RhdGU6ZnVuY3Rpb24oKXt0aGlzLl9yZXNldFN0YXRlVGltZW91dD0wLHRoaXMuX21vdmVkPSExfSxfY2xlYXJEZWZlcnJlZFJlc2V0U3RhdGU6ZnVuY3Rpb24oKXswIT09dGhpcy5fcmVzZXRTdGF0ZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5fcmVzZXRTdGF0ZVRpbWVvdXQpLHRoaXMuX3Jlc2V0U3RhdGVUaW1lb3V0PTApfSxfb25Nb3VzZURvd246ZnVuY3Rpb24odCl7aWYoIXQuc2hpZnRLZXl8fDEhPT10LndoaWNoJiYxIT09dC5idXR0b24pcmV0dXJuITE7dGhpcy5fY2xlYXJEZWZlcnJlZFJlc2V0U3RhdGUoKSx0aGlzLl9yZXNldFN0YXRlKCkscmUoKSxMZSgpLHRoaXMuX3N0YXJ0UG9pbnQ9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQpLFMoZG9jdW1lbnQse2NvbnRleHRtZW51OlJlLG1vdXNlbW92ZTp0aGlzLl9vbk1vdXNlTW92ZSxtb3VzZXVwOnRoaXMuX29uTW91c2VVcCxrZXlkb3duOnRoaXMuX29uS2V5RG93bn0sdGhpcyl9LF9vbk1vdXNlTW92ZTpmdW5jdGlvbih0KXt0aGlzLl9tb3ZlZHx8KHRoaXMuX21vdmVkPSEwLHRoaXMuX2JveD1QKCJkaXYiLCJsZWFmbGV0LXpvb20tYm94Iix0aGlzLl9jb250YWluZXIpLE0odGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWNyb3NzaGFpciIpLHRoaXMuX21hcC5maXJlKCJib3h6b29tc3RhcnQiKSksdGhpcy5fcG9pbnQ9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQpO3ZhciB0PW5ldyBmKHRoaXMuX3BvaW50LHRoaXMuX3N0YXJ0UG9pbnQpLGU9dC5nZXRTaXplKCk7Wih0aGlzLl9ib3gsdC5taW4pLHRoaXMuX2JveC5zdHlsZS53aWR0aD1lLngrInB4Iix0aGlzLl9ib3guc3R5bGUuaGVpZ2h0PWUueSsicHgifSxfZmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5fbW92ZWQmJihUKHRoaXMuX2JveCkseih0aGlzLl9jb250YWluZXIsImxlYWZsZXQtY3Jvc3NoYWlyIikpLGFlKCksVGUoKSxrKGRvY3VtZW50LHtjb250ZXh0bWVudTpSZSxtb3VzZW1vdmU6dGhpcy5fb25Nb3VzZU1vdmUsbW91c2V1cDp0aGlzLl9vbk1vdXNlVXAsa2V5ZG93bjp0aGlzLl9vbktleURvd259LHRoaXMpfSxfb25Nb3VzZVVwOmZ1bmN0aW9uKHQpezEhPT10LndoaWNoJiYxIT09dC5idXR0b258fCh0aGlzLl9maW5pc2goKSx0aGlzLl9tb3ZlZCYmKHRoaXMuX2NsZWFyRGVmZXJyZWRSZXNldFN0YXRlKCksdGhpcy5fcmVzZXRTdGF0ZVRpbWVvdXQ9c2V0VGltZW91dChhKHRoaXMuX3Jlc2V0U3RhdGUsdGhpcyksMCksdD1uZXcgcyh0aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xhdExuZyh0aGlzLl9zdGFydFBvaW50KSx0aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xhdExuZyh0aGlzLl9wb2ludCkpLHRoaXMuX21hcC5maXRCb3VuZHModCkuZmlyZSgiYm94em9vbWVuZCIse2JveFpvb21Cb3VuZHM6dH0pKSl9LF9vbktleURvd246ZnVuY3Rpb24odCl7Mjc9PT10LmtleUNvZGUmJih0aGlzLl9maW5pc2goKSx0aGlzLl9jbGVhckRlZmVycmVkUmVzZXRTdGF0ZSgpLHRoaXMuX3Jlc2V0U3RhdGUoKSl9fSksQ3Q9KEEuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJib3hab29tIixfdCksQS5tZXJnZU9wdGlvbnMoe2RvdWJsZUNsaWNrWm9vbTohMH0pLG4uZXh0ZW5kKHthZGRIb29rczpmdW5jdGlvbigpe3RoaXMuX21hcC5vbigiZGJsY2xpY2siLHRoaXMuX29uRG91YmxlQ2xpY2ssdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7dGhpcy5fbWFwLm9mZigiZGJsY2xpY2siLHRoaXMuX29uRG91YmxlQ2xpY2ssdGhpcyl9LF9vbkRvdWJsZUNsaWNrOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX21hcCxpPWUuZ2V0Wm9vbSgpLG49ZS5vcHRpb25zLnpvb21EZWx0YSxpPXQub3JpZ2luYWxFdmVudC5zaGlmdEtleT9pLW46aStuOyJjZW50ZXIiPT09ZS5vcHRpb25zLmRvdWJsZUNsaWNrWm9vbT9lLnNldFpvb20oaSk6ZS5zZXRab29tQXJvdW5kKHQuY29udGFpbmVyUG9pbnQsaSl9fSkpLFp0PShBLmFkZEluaXRIb29rKCJhZGRIYW5kbGVyIiwiZG91YmxlQ2xpY2tab29tIixDdCksQS5tZXJnZU9wdGlvbnMoe2RyYWdnaW5nOiEwLGluZXJ0aWE6ITAsaW5lcnRpYURlY2VsZXJhdGlvbjozNDAwLGluZXJ0aWFNYXhTcGVlZDoxLzAsZWFzZUxpbmVhcml0eTouMix3b3JsZENvcHlKdW1wOiExLG1heEJvdW5kc1Zpc2Nvc2l0eTowfSksbi5leHRlbmQoe2FkZEhvb2tzOmZ1bmN0aW9uKCl7dmFyIHQ7dGhpcy5fZHJhZ2dhYmxlfHwodD10aGlzLl9tYXAsdGhpcy5fZHJhZ2dhYmxlPW5ldyBYZSh0Ll9tYXBQYW5lLHQuX2NvbnRhaW5lciksdGhpcy5fZHJhZ2dhYmxlLm9uKHtkcmFnc3RhcnQ6dGhpcy5fb25EcmFnU3RhcnQsZHJhZzp0aGlzLl9vbkRyYWcsZHJhZ2VuZDp0aGlzLl9vbkRyYWdFbmR9LHRoaXMpLHRoaXMuX2RyYWdnYWJsZS5vbigicHJlZHJhZyIsdGhpcy5fb25QcmVEcmFnTGltaXQsdGhpcyksdC5vcHRpb25zLndvcmxkQ29weUp1bXAmJih0aGlzLl9kcmFnZ2FibGUub24oInByZWRyYWciLHRoaXMuX29uUHJlRHJhZ1dyYXAsdGhpcyksdC5vbigiem9vbWVuZCIsdGhpcy5fb25ab29tRW5kLHRoaXMpLHQud2hlblJlYWR5KHRoaXMuX29uWm9vbUVuZCx0aGlzKSkpLE0odGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtZ3JhYiBsZWFmbGV0LXRvdWNoLWRyYWciKSx0aGlzLl9kcmFnZ2FibGUuZW5hYmxlKCksdGhpcy5fcG9zaXRpb25zPVtdLHRoaXMuX3RpbWVzPVtdfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe3oodGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtZ3JhYiIpLHoodGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtdG91Y2gtZHJhZyIpLHRoaXMuX2RyYWdnYWJsZS5kaXNhYmxlKCl9LG1vdmVkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlLl9tb3ZlZH0sbW92aW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlLl9tb3Zpbmd9LF9vbkRyYWdTdGFydDpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5fbWFwO2UuX3N0b3AoKSx0aGlzLl9tYXAub3B0aW9ucy5tYXhCb3VuZHMmJnRoaXMuX21hcC5vcHRpb25zLm1heEJvdW5kc1Zpc2Nvc2l0eT8odD1nKHRoaXMuX21hcC5vcHRpb25zLm1heEJvdW5kcyksdGhpcy5fb2Zmc2V0TGltaXQ9Xyh0aGlzLl9tYXAubGF0TG5nVG9Db250YWluZXJQb2ludCh0LmdldE5vcnRoV2VzdCgpKS5tdWx0aXBseUJ5KC0xKSx0aGlzLl9tYXAubGF0TG5nVG9Db250YWluZXJQb2ludCh0LmdldFNvdXRoRWFzdCgpKS5tdWx0aXBseUJ5KC0xKS5hZGQodGhpcy5fbWFwLmdldFNpemUoKSkpLHRoaXMuX3Zpc2Nvc2l0eT1NYXRoLm1pbigxLE1hdGgubWF4KDAsdGhpcy5fbWFwLm9wdGlvbnMubWF4Qm91bmRzVmlzY29zaXR5KSkpOnRoaXMuX29mZnNldExpbWl0PW51bGwsZS5maXJlKCJtb3Zlc3RhcnQiKS5maXJlKCJkcmFnc3RhcnQiKSxlLm9wdGlvbnMuaW5lcnRpYSYmKHRoaXMuX3Bvc2l0aW9ucz1bXSx0aGlzLl90aW1lcz1bXSl9LF9vbkRyYWc6ZnVuY3Rpb24odCl7dmFyIGUsaTt0aGlzLl9tYXAub3B0aW9ucy5pbmVydGlhJiYoZT10aGlzLl9sYXN0VGltZT0rbmV3IERhdGUsaT10aGlzLl9sYXN0UG9zPXRoaXMuX2RyYWdnYWJsZS5fYWJzUG9zfHx0aGlzLl9kcmFnZ2FibGUuX25ld1Bvcyx0aGlzLl9wb3NpdGlvbnMucHVzaChpKSx0aGlzLl90aW1lcy5wdXNoKGUpLHRoaXMuX3BydW5lUG9zaXRpb25zKGUpKSx0aGlzLl9tYXAuZmlyZSgibW92ZSIsdCkuZmlyZSgiZHJhZyIsdCl9LF9wcnVuZVBvc2l0aW9uczpmdW5jdGlvbih0KXtmb3IoOzE8dGhpcy5fcG9zaXRpb25zLmxlbmd0aCYmNTA8dC10aGlzLl90aW1lc1swXTspdGhpcy5fcG9zaXRpb25zLnNoaWZ0KCksdGhpcy5fdGltZXMuc2hpZnQoKX0sX29uWm9vbUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcC5nZXRTaXplKCkuZGl2aWRlQnkoMiksZT10aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KFswLDBdKTt0aGlzLl9pbml0aWFsV29ybGRPZmZzZXQ9ZS5zdWJ0cmFjdCh0KS54LHRoaXMuX3dvcmxkV2lkdGg9dGhpcy5fbWFwLmdldFBpeGVsV29ybGRCb3VuZHMoKS5nZXRTaXplKCkueH0sX3Zpc2NvdXNMaW1pdDpmdW5jdGlvbih0LGUpe3JldHVybiB0LSh0LWUpKnRoaXMuX3Zpc2Nvc2l0eX0sX29uUHJlRHJhZ0xpbWl0OmZ1bmN0aW9uKCl7dmFyIHQsZTt0aGlzLl92aXNjb3NpdHkmJnRoaXMuX29mZnNldExpbWl0JiYodD10aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5zdWJ0cmFjdCh0aGlzLl9kcmFnZ2FibGUuX3N0YXJ0UG9zKSxlPXRoaXMuX29mZnNldExpbWl0LHQueDxlLm1pbi54JiYodC54PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LngsZS5taW4ueCkpLHQueTxlLm1pbi55JiYodC55PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LnksZS5taW4ueSkpLHQueD5lLm1heC54JiYodC54PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LngsZS5tYXgueCkpLHQueT5lLm1heC55JiYodC55PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LnksZS5tYXgueSkpLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zPXRoaXMuX2RyYWdnYWJsZS5fc3RhcnRQb3MuYWRkKHQpKX0sX29uUHJlRHJhZ1dyYXA6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl93b3JsZFdpZHRoLGU9TWF0aC5yb3VuZCh0LzIpLGk9dGhpcy5faW5pdGlhbFdvcmxkT2Zmc2V0LG49dGhpcy5fZHJhZ2dhYmxlLl9uZXdQb3MueCxvPShuLWUraSkldCtlLWksbj0obitlK2kpJXQtZS1pLHQ9TWF0aC5hYnMobytpKTxNYXRoLmFicyhuK2kpP286bjt0aGlzLl9kcmFnZ2FibGUuX2Fic1Bvcz10aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5jbG9uZSgpLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zLng9dH0sX29uRHJhZ0VuZDpmdW5jdGlvbih0KXt2YXIgZSxpLG4sbyxzPXRoaXMuX21hcCxyPXMub3B0aW9ucyxhPSFyLmluZXJ0aWF8fHQubm9JbmVydGlhfHx0aGlzLl90aW1lcy5sZW5ndGg8MjtzLmZpcmUoImRyYWdlbmQiLHQpLCFhJiYodGhpcy5fcHJ1bmVQb3NpdGlvbnMoK25ldyBEYXRlKSx0PXRoaXMuX2xhc3RQb3Muc3VidHJhY3QodGhpcy5fcG9zaXRpb25zWzBdKSxhPSh0aGlzLl9sYXN0VGltZS10aGlzLl90aW1lc1swXSkvMWUzLGU9ci5lYXNlTGluZWFyaXR5LGE9KHQ9dC5tdWx0aXBseUJ5KGUvYSkpLmRpc3RhbmNlVG8oWzAsMF0pLGk9TWF0aC5taW4oci5pbmVydGlhTWF4U3BlZWQsYSksdD10Lm11bHRpcGx5QnkoaS9hKSxuPWkvKHIuaW5lcnRpYURlY2VsZXJhdGlvbiplKSwobz10Lm11bHRpcGx5QnkoLW4vMikucm91bmQoKSkueHx8by55KT8obz1zLl9saW1pdE9mZnNldChvLHMub3B0aW9ucy5tYXhCb3VuZHMpLHgoZnVuY3Rpb24oKXtzLnBhbkJ5KG8se2R1cmF0aW9uOm4sZWFzZUxpbmVhcml0eTplLG5vTW92ZVN0YXJ0OiEwLGFuaW1hdGU6ITB9KX0pKTpzLmZpcmUoIm1vdmVlbmQiKX19KSksU3Q9KEEuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJkcmFnZ2luZyIsWnQpLEEubWVyZ2VPcHRpb25zKHtrZXlib2FyZDohMCxrZXlib2FyZFBhbkRlbHRhOjgwfSksbi5leHRlbmQoe2tleUNvZGVzOntsZWZ0OlszN10scmlnaHQ6WzM5XSxkb3duOls0MF0sdXA6WzM4XSx6b29tSW46WzE4NywxMDcsNjEsMTcxXSx6b29tT3V0OlsxODksMTA5LDU0LDE3M119LGluaXRpYWxpemU6ZnVuY3Rpb24odCl7dGhpcy5fbWFwPXQsdGhpcy5fc2V0UGFuRGVsdGEodC5vcHRpb25zLmtleWJvYXJkUGFuRGVsdGEpLHRoaXMuX3NldFpvb21EZWx0YSh0Lm9wdGlvbnMuem9vbURlbHRhKX0sYWRkSG9va3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXAuX2NvbnRhaW5lcjt0LnRhYkluZGV4PD0wJiYodC50YWJJbmRleD0iMCIpLFModCx7Zm9jdXM6dGhpcy5fb25Gb2N1cyxibHVyOnRoaXMuX29uQmx1cixtb3VzZWRvd246dGhpcy5fb25Nb3VzZURvd259LHRoaXMpLHRoaXMuX21hcC5vbih7Zm9jdXM6dGhpcy5fYWRkSG9va3MsYmx1cjp0aGlzLl9yZW1vdmVIb29rc30sdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlSG9va3MoKSxrKHRoaXMuX21hcC5fY29udGFpbmVyLHtmb2N1czp0aGlzLl9vbkZvY3VzLGJsdXI6dGhpcy5fb25CbHVyLG1vdXNlZG93bjp0aGlzLl9vbk1vdXNlRG93bn0sdGhpcyksdGhpcy5fbWFwLm9mZih7Zm9jdXM6dGhpcy5fYWRkSG9va3MsYmx1cjp0aGlzLl9yZW1vdmVIb29rc30sdGhpcyl9LF9vbk1vdXNlRG93bjpmdW5jdGlvbigpe3ZhciB0LGUsaTt0aGlzLl9mb2N1c2VkfHwoaT1kb2N1bWVudC5ib2R5LHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGU9aS5zY3JvbGxUb3B8fHQuc2Nyb2xsVG9wLGk9aS5zY3JvbGxMZWZ0fHx0LnNjcm9sbExlZnQsdGhpcy5fbWFwLl9jb250YWluZXIuZm9jdXMoKSx3aW5kb3cuc2Nyb2xsVG8oaSxlKSl9LF9vbkZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5fZm9jdXNlZD0hMCx0aGlzLl9tYXAuZmlyZSgiZm9jdXMiKX0sX29uQmx1cjpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWQ9ITEsdGhpcy5fbWFwLmZpcmUoImJsdXIiKX0sX3NldFBhbkRlbHRhOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl9wYW5LZXlzPXt9LGk9dGhpcy5rZXlDb2RlcyxuPTAsbz1pLmxlZnQubGVuZ3RoO248bztuKyspZVtpLmxlZnRbbl1dPVstMSp0LDBdO2ZvcihuPTAsbz1pLnJpZ2h0Lmxlbmd0aDtuPG87bisrKWVbaS5yaWdodFtuXV09W3QsMF07Zm9yKG49MCxvPWkuZG93bi5sZW5ndGg7bjxvO24rKyllW2kuZG93bltuXV09WzAsdF07Zm9yKG49MCxvPWkudXAubGVuZ3RoO248bztuKyspZVtpLnVwW25dXT1bMCwtMSp0XX0sX3NldFpvb21EZWx0YTpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5fem9vbUtleXM9e30saT10aGlzLmtleUNvZGVzLG49MCxvPWkuem9vbUluLmxlbmd0aDtuPG87bisrKWVbaS56b29tSW5bbl1dPXQ7Zm9yKG49MCxvPWkuem9vbU91dC5sZW5ndGg7bjxvO24rKyllW2kuem9vbU91dFtuXV09LXR9LF9hZGRIb29rczpmdW5jdGlvbigpe1MoZG9jdW1lbnQsImtleWRvd24iLHRoaXMuX29uS2V5RG93bix0aGlzKX0sX3JlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7ayhkb2N1bWVudCwia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLHRoaXMpfSxfb25LZXlEb3duOmZ1bmN0aW9uKHQpe2lmKCEodC5hbHRLZXl8fHQuY3RybEtleXx8dC5tZXRhS2V5KSl7dmFyIGUsaSxuPXQua2V5Q29kZSxvPXRoaXMuX21hcDtpZihuIGluIHRoaXMuX3BhbktleXMpby5fcGFuQW5pbSYmby5fcGFuQW5pbS5faW5Qcm9ncmVzc3x8KGk9dGhpcy5fcGFuS2V5c1tuXSx0LnNoaWZ0S2V5JiYoaT1tKGkpLm11bHRpcGx5QnkoMykpLG8ub3B0aW9ucy5tYXhCb3VuZHMmJihpPW8uX2xpbWl0T2Zmc2V0KG0oaSksby5vcHRpb25zLm1heEJvdW5kcykpLG8ub3B0aW9ucy53b3JsZENvcHlKdW1wPyhlPW8ud3JhcExhdExuZyhvLnVucHJvamVjdChvLnByb2plY3Qoby5nZXRDZW50ZXIoKSkuYWRkKGkpKSksby5wYW5UbyhlKSk6by5wYW5CeShpKSk7ZWxzZSBpZihuIGluIHRoaXMuX3pvb21LZXlzKW8uc2V0Wm9vbShvLmdldFpvb20oKSsodC5zaGlmdEtleT8zOjEpKnRoaXMuX3pvb21LZXlzW25dKTtlbHNle2lmKDI3IT09bnx8IW8uX3BvcHVwfHwhby5fcG9wdXAub3B0aW9ucy5jbG9zZU9uRXNjYXBlS2V5KXJldHVybjtvLmNsb3NlUG9wdXAoKX1SZSh0KX19fSkpLEV0PShBLmFkZEluaXRIb29rKCJhZGRIYW5kbGVyIiwia2V5Ym9hcmQiLFN0KSxBLm1lcmdlT3B0aW9ucyh7c2Nyb2xsV2hlZWxab29tOiEwLHdoZWVsRGVib3VuY2VUaW1lOjQwLHdoZWVsUHhQZXJab29tTGV2ZWw6NjB9KSxuLmV4dGVuZCh7YWRkSG9va3M6ZnVuY3Rpb24oKXtTKHRoaXMuX21hcC5fY29udGFpbmVyLCJ3aGVlbCIsdGhpcy5fb25XaGVlbFNjcm9sbCx0aGlzKSx0aGlzLl9kZWx0YT0wfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe2sodGhpcy5fbWFwLl9jb250YWluZXIsIndoZWVsIix0aGlzLl9vbldoZWVsU2Nyb2xsLHRoaXMpfSxfb25XaGVlbFNjcm9sbDpmdW5jdGlvbih0KXt2YXIgZT1IZSh0KSxpPXRoaXMuX21hcC5vcHRpb25zLndoZWVsRGVib3VuY2VUaW1lLGU9KHRoaXMuX2RlbHRhKz1lLHRoaXMuX2xhc3RNb3VzZVBvcz10aGlzLl9tYXAubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodCksdGhpcy5fc3RhcnRUaW1lfHwodGhpcy5fc3RhcnRUaW1lPStuZXcgRGF0ZSksTWF0aC5tYXgoaS0oK25ldyBEYXRlLXRoaXMuX3N0YXJ0VGltZSksMCkpO2NsZWFyVGltZW91dCh0aGlzLl90aW1lciksdGhpcy5fdGltZXI9c2V0VGltZW91dChhKHRoaXMuX3BlcmZvcm1ab29tLHRoaXMpLGUpLFJlKHQpfSxfcGVyZm9ybVpvb206ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXAsZT10LmdldFpvb20oKSxpPXRoaXMuX21hcC5vcHRpb25zLnpvb21TbmFwfHwwLG49KHQuX3N0b3AoKSx0aGlzLl9kZWx0YS8oNCp0aGlzLl9tYXAub3B0aW9ucy53aGVlbFB4UGVyWm9vbUxldmVsKSksbj00Kk1hdGgubG9nKDIvKDErTWF0aC5leHAoLU1hdGguYWJzKG4pKSkpL01hdGguTE4yLGk9aT9NYXRoLmNlaWwobi9pKSppOm4sbj10Ll9saW1pdFpvb20oZSsoMDx0aGlzLl9kZWx0YT9pOi1pKSktZTt0aGlzLl9kZWx0YT0wLHRoaXMuX3N0YXJ0VGltZT1udWxsLG4mJigiY2VudGVyIj09PXQub3B0aW9ucy5zY3JvbGxXaGVlbFpvb20/dC5zZXRab29tKGUrbik6dC5zZXRab29tQXJvdW5kKHRoaXMuX2xhc3RNb3VzZVBvcyxlK24pKX19KSksa3Q9KEEuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJzY3JvbGxXaGVlbFpvb20iLEV0KSxBLm1lcmdlT3B0aW9ucyh7dGFwSG9sZDpiLnRvdWNoTmF0aXZlJiZiLnNhZmFyaSYmYi5tb2JpbGUsdGFwVG9sZXJhbmNlOjE1fSksbi5leHRlbmQoe2FkZEhvb2tzOmZ1bmN0aW9uKCl7Uyh0aGlzLl9tYXAuX2NvbnRhaW5lciwidG91Y2hzdGFydCIsdGhpcy5fb25Eb3duLHRoaXMpfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe2sodGhpcy5fbWFwLl9jb250YWluZXIsInRvdWNoc3RhcnQiLHRoaXMuX29uRG93bix0aGlzKX0sX29uRG93bjpmdW5jdGlvbih0KXt2YXIgZTtjbGVhclRpbWVvdXQodGhpcy5faG9sZFRpbWVvdXQpLDE9PT10LnRvdWNoZXMubGVuZ3RoJiYoZT10LnRvdWNoZXNbMF0sdGhpcy5fc3RhcnRQb3M9dGhpcy5fbmV3UG9zPW5ldyBwKGUuY2xpZW50WCxlLmNsaWVudFkpLHRoaXMuX2hvbGRUaW1lb3V0PXNldFRpbWVvdXQoYShmdW5jdGlvbigpe3RoaXMuX2NhbmNlbCgpLHRoaXMuX2lzVGFwVmFsaWQoKSYmKFMoZG9jdW1lbnQsInRvdWNoZW5kIixPKSxTKGRvY3VtZW50LCJ0b3VjaGVuZCB0b3VjaGNhbmNlbCIsdGhpcy5fY2FuY2VsQ2xpY2tQcmV2ZW50KSx0aGlzLl9zaW11bGF0ZUV2ZW50KCJjb250ZXh0bWVudSIsZSkpfSx0aGlzKSw2MDApLFMoZG9jdW1lbnQsInRvdWNoZW5kIHRvdWNoY2FuY2VsIGNvbnRleHRtZW51Iix0aGlzLl9jYW5jZWwsdGhpcyksUyhkb2N1bWVudCwidG91Y2htb3ZlIix0aGlzLl9vbk1vdmUsdGhpcykpfSxfY2FuY2VsQ2xpY2tQcmV2ZW50OmZ1bmN0aW9uIHQoKXtrKGRvY3VtZW50LCJ0b3VjaGVuZCIsTyksayhkb2N1bWVudCwidG91Y2hlbmQgdG91Y2hjYW5jZWwiLHQpfSxfY2FuY2VsOmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMuX2hvbGRUaW1lb3V0KSxrKGRvY3VtZW50LCJ0b3VjaGVuZCB0b3VjaGNhbmNlbCBjb250ZXh0bWVudSIsdGhpcy5fY2FuY2VsLHRoaXMpLGsoZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Nb3ZlLHRoaXMpfSxfb25Nb3ZlOmZ1bmN0aW9uKHQpe3Q9dC50b3VjaGVzWzBdO3RoaXMuX25ld1Bvcz1uZXcgcCh0LmNsaWVudFgsdC5jbGllbnRZKX0sX2lzVGFwVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbmV3UG9zLmRpc3RhbmNlVG8odGhpcy5fc3RhcnRQb3MpPD10aGlzLl9tYXAub3B0aW9ucy50YXBUb2xlcmFuY2V9LF9zaW11bGF0ZUV2ZW50OmZ1bmN0aW9uKHQsZSl7dD1uZXcgTW91c2VFdmVudCh0LHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsdmlldzp3aW5kb3csc2NyZWVuWDplLnNjcmVlblgsc2NyZWVuWTplLnNjcmVlblksY2xpZW50WDplLmNsaWVudFgsY2xpZW50WTplLmNsaWVudFl9KTt0Ll9zaW11bGF0ZWQ9ITAsZS50YXJnZXQuZGlzcGF0Y2hFdmVudCh0KX19KSksT3Q9KEEuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJ0YXBIb2xkIixrdCksQS5tZXJnZU9wdGlvbnMoe3RvdWNoWm9vbTpiLnRvdWNoLGJvdW5jZUF0Wm9vbUxpbWl0czohMH0pLG4uZXh0ZW5kKHthZGRIb29rczpmdW5jdGlvbigpe00odGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtdG91Y2gtem9vbSIpLFModGhpcy5fbWFwLl9jb250YWluZXIsInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCx0aGlzKX0scmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXt6KHRoaXMuX21hcC5fY29udGFpbmVyLCJsZWFmbGV0LXRvdWNoLXpvb20iKSxrKHRoaXMuX21hcC5fY29udGFpbmVyLCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQsdGhpcyl9LF9vblRvdWNoU3RhcnQ6ZnVuY3Rpb24odCl7dmFyIGUsaSxuPXRoaXMuX21hcDshdC50b3VjaGVzfHwyIT09dC50b3VjaGVzLmxlbmd0aHx8bi5fYW5pbWF0aW5nWm9vbXx8dGhpcy5fem9vbWluZ3x8KGU9bi5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0LnRvdWNoZXNbMF0pLGk9bi5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0LnRvdWNoZXNbMV0pLHRoaXMuX2NlbnRlclBvaW50PW4uZ2V0U2l6ZSgpLl9kaXZpZGVCeSgyKSx0aGlzLl9zdGFydExhdExuZz1uLmNvbnRhaW5lclBvaW50VG9MYXRMbmcodGhpcy5fY2VudGVyUG9pbnQpLCJjZW50ZXIiIT09bi5vcHRpb25zLnRvdWNoWm9vbSYmKHRoaXMuX3BpbmNoU3RhcnRMYXRMbmc9bi5jb250YWluZXJQb2ludFRvTGF0TG5nKGUuYWRkKGkpLl9kaXZpZGVCeSgyKSkpLHRoaXMuX3N0YXJ0RGlzdD1lLmRpc3RhbmNlVG8oaSksdGhpcy5fc3RhcnRab29tPW4uZ2V0Wm9vbSgpLHRoaXMuX21vdmVkPSExLHRoaXMuX3pvb21pbmc9ITAsbi5fc3RvcCgpLFMoZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaE1vdmUsdGhpcyksUyhkb2N1bWVudCwidG91Y2hlbmQgdG91Y2hjYW5jZWwiLHRoaXMuX29uVG91Y2hFbmQsdGhpcyksTyh0KSl9LF9vblRvdWNoTW92ZTpmdW5jdGlvbih0KXtpZih0LnRvdWNoZXMmJjI9PT10LnRvdWNoZXMubGVuZ3RoJiZ0aGlzLl96b29taW5nKXt2YXIgZT10aGlzLl9tYXAsaT1lLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQudG91Y2hlc1swXSksbj1lLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQudG91Y2hlc1sxXSksbz1pLmRpc3RhbmNlVG8obikvdGhpcy5fc3RhcnREaXN0O2lmKHRoaXMuX3pvb209ZS5nZXRTY2FsZVpvb20obyx0aGlzLl9zdGFydFpvb20pLCFlLm9wdGlvbnMuYm91bmNlQXRab29tTGltaXRzJiYodGhpcy5fem9vbTxlLmdldE1pblpvb20oKSYmbzwxfHx0aGlzLl96b29tPmUuZ2V0TWF4Wm9vbSgpJiYxPG8pJiYodGhpcy5fem9vbT1lLl9saW1pdFpvb20odGhpcy5fem9vbSkpLCJjZW50ZXIiPT09ZS5vcHRpb25zLnRvdWNoWm9vbSl7aWYodGhpcy5fY2VudGVyPXRoaXMuX3N0YXJ0TGF0TG5nLDE9PW8pcmV0dXJufWVsc2V7aT1pLl9hZGQobikuX2RpdmlkZUJ5KDIpLl9zdWJ0cmFjdCh0aGlzLl9jZW50ZXJQb2ludCk7aWYoMT09byYmMD09PWkueCYmMD09PWkueSlyZXR1cm47dGhpcy5fY2VudGVyPWUudW5wcm9qZWN0KGUucHJvamVjdCh0aGlzLl9waW5jaFN0YXJ0TGF0TG5nLHRoaXMuX3pvb20pLnN1YnRyYWN0KGkpLHRoaXMuX3pvb20pfXRoaXMuX21vdmVkfHwoZS5fbW92ZVN0YXJ0KCEwLCExKSx0aGlzLl9tb3ZlZD0hMCkscih0aGlzLl9hbmltUmVxdWVzdCk7bj1hKGUuX21vdmUsZSx0aGlzLl9jZW50ZXIsdGhpcy5fem9vbSx7cGluY2g6ITAscm91bmQ6ITF9LHZvaWQgMCk7dGhpcy5fYW5pbVJlcXVlc3Q9eChuLHRoaXMsITApLE8odCl9fSxfb25Ub3VjaEVuZDpmdW5jdGlvbigpe3RoaXMuX21vdmVkJiZ0aGlzLl96b29taW5nPyh0aGlzLl96b29taW5nPSExLHIodGhpcy5fYW5pbVJlcXVlc3QpLGsoZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaE1vdmUsdGhpcyksayhkb2N1bWVudCwidG91Y2hlbmQgdG91Y2hjYW5jZWwiLHRoaXMuX29uVG91Y2hFbmQsdGhpcyksdGhpcy5fbWFwLm9wdGlvbnMuem9vbUFuaW1hdGlvbj90aGlzLl9tYXAuX2FuaW1hdGVab29tKHRoaXMuX2NlbnRlcix0aGlzLl9tYXAuX2xpbWl0Wm9vbSh0aGlzLl96b29tKSwhMCx0aGlzLl9tYXAub3B0aW9ucy56b29tU25hcCk6dGhpcy5fbWFwLl9yZXNldFZpZXcodGhpcy5fY2VudGVyLHRoaXMuX21hcC5fbGltaXRab29tKHRoaXMuX3pvb20pKSk6dGhpcy5fem9vbWluZz0hMX19KSksWGk9KEEuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJ0b3VjaFpvb20iLE90KSxBLkJveFpvb209X3QsQS5Eb3VibGVDbGlja1pvb209Q3QsQS5EcmFnPVp0LEEuS2V5Ym9hcmQ9U3QsQS5TY3JvbGxXaGVlbFpvb209RXQsQS5UYXBIb2xkPWt0LEEuVG91Y2hab29tPU90LHQuQm91bmRzPWYsdC5Ccm93c2VyPWIsdC5DUlM9b3QsdC5DYW52YXM9RmksdC5DaXJjbGU9dmksdC5DaXJjbGVNYXJrZXI9Z2ksdC5DbGFzcz1ldCx0LkNvbnRyb2w9Qix0LkRpdkljb249UmksdC5EaXZPdmVybGF5PUFpLHQuRG9tRXZlbnQ9bXQsdC5Eb21VdGlsPXB0LHQuRHJhZ2dhYmxlPVhlLHQuRXZlbnRlZD1pdCx0LkZlYXR1cmVHcm91cD1jaSx0Lkdlb0pTT049d2ksdC5HcmlkTGF5ZXI9TmksdC5IYW5kbGVyPW4sdC5JY29uPWRpLHQuSW1hZ2VPdmVybGF5PUVpLHQuTGF0TG5nPXYsdC5MYXRMbmdCb3VuZHM9cyx0LkxheWVyPW8sdC5MYXllckdyb3VwPXVpLHQuTGluZVV0aWw9dnQsdC5NYXA9QSx0Lk1hcmtlcj1taSx0Lk1peGluPWZ0LHQuUGF0aD1maSx0LlBvaW50PXAsdC5Qb2x5VXRpbD1ndCx0LlBvbHlnb249eGksdC5Qb2x5bGluZT15aSx0LlBvcHVwPUJpLHQuUG9zQW5pbWF0aW9uPUZlLHQuUHJvamVjdGlvbj13dCx0LlJlY3RhbmdsZT1ZaSx0LlJlbmRlcmVyPVdpLHQuU1ZHPUdpLHQuU1ZHT3ZlcmxheT1PaSx0LlRpbGVMYXllcj1EaSx0LlRvb2x0aXA9SWksdC5UcmFuc2Zvcm1hdGlvbj1hdCx0LlV0aWw9dHQsdC5WaWRlb092ZXJsYXk9a2ksdC5iaW5kPWEsdC5ib3VuZHM9Xyx0LmNhbnZhcz1VaSx0LmNpcmNsZT1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIG5ldyB2aSh0LGUsaSl9LHQuY2lyY2xlTWFya2VyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBnaSh0LGUpfSx0LmNvbnRyb2w9VWUsdC5kaXZJY29uPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUmkodCl9LHQuZXh0ZW5kPWwsdC5mZWF0dXJlR3JvdXA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IGNpKHQsZSl9LHQuZ2VvSlNPTj1TaSx0Lmdlb0pzb249TXQsdC5ncmlkTGF5ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBOaSh0KX0sdC5pY29uPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZGkodCl9LHQuaW1hZ2VPdmVybGF5PWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbmV3IEVpKHQsZSxpKX0sdC5sYXRMbmc9dyx0LmxhdExuZ0JvdW5kcz1nLHQubGF5ZXJHcm91cD1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgdWkodCxlKX0sdC5tYXA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IEEodCxlKX0sdC5tYXJrZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IG1pKHQsZSl9LHQucG9pbnQ9bSx0LnBvbHlnb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHhpKHQsZSl9LHQucG9seWxpbmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHlpKHQsZSl9LHQucG9wdXA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IEJpKHQsZSl9LHQucmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBZaSh0LGUpfSx0LnNldE9wdGlvbnM9Yyx0LnN0YW1wPWgsdC5zdmc9S2ksdC5zdmdPdmVybGF5PWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbmV3IE9pKHQsZSxpKX0sdC50aWxlTGF5ZXI9amksdC50b29sdGlwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBJaSh0LGUpfSx0LnRyYW5zZm9ybWF0aW9uPWh0LHQudmVyc2lvbj0iMS45LjQiLHQudmlkZW9PdmVybGF5PWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbmV3IGtpKHQsZSxpKX0sd2luZG93LkwpO3Qubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuTD1YaSx0aGlzfSx3aW5kb3cuTD10fSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWxlYWZsZXQuanMubWFw"}},"time_used":56,"timings":{"blocked":14,"dns":0,"connect":0,"send":0,"wait":26,"receive":16,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"a.tile.openstreetmap.org/12/2086/1973.png","fqdn":"a.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.1.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.107Z","timestamp":1785160687107,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2086/1973.png HTTP/1.1\r\nHost: a.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"e3b9ece63f0044f7809be8944ecc3acc\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 06:56:23 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=92223, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nage: 31127\r\nx-served-by: cache-bma-essb1270054-BMA, cache-bma-essb1270043-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 1\r\nx-timer: S1785160687.156933,VS0,VE2\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 34123\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"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":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]}],"data":{"size":34123,"size_decoded":34917,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"e3b9ece63f0044f7809be8944ecc3acc","sha1":"51ae95a114447f2fc0e9cf077bf1853891ba5e75","sha256":"63262b5e3ddf41b0d737bc1e4b8ff735e38724da72b886b1a81047c0213a235f","sha512":"bbbe9e1af906a8861997523ae285f5594bfeb2cf31def81fd46ec82f3f3dd17650f8881d88b060317947b46284070e8c9f735d8ea2bde60a9b39dfdd88985acc","ssdeep":"768:UkoYM4okp5AiCdq0G64kY1M0TycHgHYYYOHT1fJN8:UJYJoCjyq9LkO++gHYYPHhfA","tlshash":"6ce2f1480317cd1b59a19593f816c5423c7aa82e0efcf57a41e1cbb712626b18ccefad","first_seen":"2026-07-27T07:46:39.889503Z","last_seen":"2026-07-27T13:58:36.774128Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAMAAABrrFhUAAADAFBMVEUqKiouLzAvMDAxMS85OTk+P0BCPj5BQT9EPkA/QkJISEdSTUtNUFFTUExST1BYWFdiXFpaX2BcYmNoXmFmZF5oaGhpb3B1amlvcmxza3FscnR1dW12dXV5f4GJeneKeIaHh4ebiHiNkIV6gaqXiYaIj5GKk5SWk4mSeKyYhpjNcHlziMqXl5e6epbRdYq2i5Reo9XKiIjVknXXqVxWnezahoTFhpt0fPlLpfrlkHacm7XJmoqcpK6up5nUq3Gwl6rZhZd6hvaoqKjZmYbHmpjMqIu8y3nVp4ejpbzSkqLXmJm6qqXlkZRstOvLppqruaiGmPDMtozktXW2prfJ0XvXp5fnpYmptbjWt4nFraWvz5u5t6nHy4fKtpnok6KOutfWp6XxpI3VuJjVx4qJ4L6qtcjIt6nM1IjpqJjErbm5ubnHzJjnu4mSz8yxz66VsenTqrTXtqbwuonM0pfXxpjGyafU24fntZv1rJaqxcrIuriV48OZxOTsrqfWxajGx7en5bq3x8nU2Zr5spyqydfI16vWu7mn3MjuyZTQuMWkyeLCxcjFxcXGysPKxcTc45Tnx6W1zNTWyLjX2abL1rbKysXEy8vNw8uq09+r0+C628v1x6XFzNLMzMvnxLno1KjL1Me219rj6JzN6rHW17u06M3D48TUzMq32OHS0dHU1MzWy9P1xbv71qTk2LrnycbU09DS1dHm6qjI2NrS1dXW0NbW1dLS1djW1dXZ1tPW29LX5MjE6tb1ycbpy9PJ3eL64a3o2Mnp6bf63LPb2tXc1Nrt8a3U293a2tq32/3K+M3a3dnZ293d29nyzNTJ9Nbd2tza3d3e3dnu8rT11MvL4uja49jm58nd3d3z67nk3NjY9c302NTY5efl49zW99n55snk4+Pr2+ft8s72+b7i5ujp5uLj6ebt8Nb049zr4+rk6uvd7fLf++Lt6uX7/cbl9+Tr6+vj7vH3+Nny7+np8/X29Or57vHz8/Px+/Hw9/n69fPz+Pr59/n7+vX+/v6KCOtHAACAAElEQVR4nKy9DXhU9Z0/Oq1hWYNL1IJNHyc09Yreeid6G/9lVf6gDXYxtfpsVV6skqotSsfebq0FlYrzCITW3pOoYY5N0B/LS2r4TVFmYO70DKzwwE7l3NX4aFA85uKs5990htzSyZ7mFM+z/odzv5/v70xeeJHg3qMJyRAm5/v5fd/fTsi1DCk0cd+y8Mw7NUtYliVS9MkQKc0v6/SVlRZC100z1lb2fV/XTHrJFPSDprz2lVdeeYC+wv+mDH40bUhTaNlrV7W0tDw31xKGZe/ZulXu2bN7K37SkJZ4m97AtOg9TDOtGfS78GuklNqzAwMDh2KWQb9XiDReTbTF7qY3apndiqvbtoTm25p6G0tITW/bbRl8T9u68POW3npuV8gVKboX+eDj4R+GhSUNuhPTknyrtq+BVAO0ahLke1GFiGYyUosJgGvpVuhfCV3SLaXodaHRT8jFL7Y0Nzw3N1+w9Dzo1y36vEem6X2JUNMymXD6TWm6f2kBPvqH3TsJgZ0xQb81ZaXwm0W66O19raXlar7bo7uLjk33QSclUgyB5TiONHRzBIAnxtN3nbo+FQA6NlNk582+86u/xjvidOgEpGES1roAuELDb7U0HLNJZ8y/mX4keccrr/y0g1mAETGElAYOVnQvJPpvnqubrm1k8nsMQadMCBBQZpoA0+hXSvycYeBfpsFQFiBp2wIElpt4K/oFBEHaida/Rdy0clO8NX60dk6pzfR9m/6G/p5OrujUaA69u2Ht6nqHGelsR34SJKESnQEdgrh9Tf2dXyZkiWCdWVLXhUdQ01lJj85eMJ/RnTOBJljFEnOJBebSvdDf4d/oJDimlpKm2biqZVbD/FfdTN61hWGyjJhyz2FLHn5jD0Mq+NSlUMgxz+O3xg8RAgOrY7gL/nvLq5n8zGst2/d6pVLpeO2co0ePlv2y6zie5ziW55X1okNyJlL7Og8yC8S3bt16LiJQIBVAbC7bF37lh1/+rYm7Args2NJ3NM2iw4fUQRAgD5IVA38WHT995ZU7sprJnIG3SRka+HH+KmKABT9zXVfmSpZO/1qkTT2tdR8+TLe35w2wGTG+Bf4n6sEGaWBN/8deBwIDK2IQEdJGdmrKzPrB7Ucur6ld1FSuvWxazRzfL9bVhC2zzrGd2mKdadNvTOkvrR0FYOsEeL8CgBQs8MJcsCxy442BGgQM9KE7RLxflprB/A3u4GNS/AEq5o6qQfoWBBAxWowFYD7Rb+Pkie21NDGPTO3ZGlyHrTfeIFwkCRv9T/rOjJJeIIETZuxZRoC4wCTZML36iHn+x4O3VveISfXl2ilSTpJ+TcRuqi5PFp42pVwtnF0H6Xdvex5HYPYxAKfhgZMQqXwbIg0iBFh/pVKD6RS4ERwuFFtqdI+EhpILFhH8EcDxYKAGFdOoi/RJS0vDrAdcDwCwQIHJSPiFbR++7brrFAZ7Dr8BkwItSwpC42MwIWfJ5TtHIEjZXpVuTmn/+IuRfqeeAIg47195WanKKXrnp66o98IRAuDDzs6uN/d1PXndbXSfmwKIJywCEreflqQFFsxu+uozgRpUdokMAtOrg1qmQzG7KRUMhq69Ojz8UYewPa9osExbVirNCqDRtQsO3kSXwJFgkGnTs7z/Z+vItYe0IawB/bXUACpZD4iBFKMQuIuqpk6tDn8ybc7gH66sJx0wPBypy00mFTC1zZ5kVxW96k0EQGdXV2fXy8RY1giTTRQAugXS3RqRdPfj4TCpQcmMbphgeuZ9EhLTYIJTKYChKerxuiX3z6kf/pF0tLBVFIG2ewoK4OZXP6mPeGRLCFHAZsoUqWyvWh4dBWDrG5JUDOy9qSWh1k0NAoE30e7doiA4evEiJ3/0vOOXXXb8+KWXnbh0Bv0x5/h5llOssr3p9dNdt3qTxQBs3kwIbN0asPbEAdDZeQFLJ5d9pfZLPRJsL7WUYMZnBcmHbbE9BNHM7oF/IJxp53V89DPnovMkqWXSy47jHvn44703dzjl+ohTpJOiT/S6Z+MHnGp5eAwAu4lS5hrNYMeA3h6sZoITFBcMH616f/fw8UubCpNnXPp3BMCF4Uurj5Yi1fVTIsdL0VD0w//7/BesbYTA5q1bFQJbT2GBT9OH14VI3lMGDkqKux+v/RLUIDlhgn2TUa1HeKQMJfd4iTUnPBffn37pjOGPnpoyRXh6eHq9V450hOvrfrvxRJNWHynLuml1ttcUrZ8eIQjqpzdNkYfjt1XOSAkBixiETSdNSaaCOJItiiUefp0A2HN8iD7nTry/Mn7ZZZ90H43dky/sKeSixon/OHq4qvTvf3mhZB3s6uzcQG/XtWHraRH4VA4g7hfsVQqx7vEZtWHlloCbdSmsEQAMdoD4ImWNw9fITSCDfHG0anD48iurn3K1qFHTVJ5efevvw1e6XpVFIiCjRri+XD9Jk9XR8iVhIxIStjn2Hg+TcQAIafIt06wJ6RtmBoJFbnro0PDw0MDA0PtH9q4rmdVRYjDb3tPauqlEFvA//qP2sr9s2/feh6ICwIbNI28MiG87oxUcwxMhdkVICkw6h3kLamtXkvVLgzxW0DJQ72lNjEg+dAAfvu+IHme6+OKtw9UfVXcf/6hjJVF74ZXDhZXVJ6I15foryp6p1deW6+sdpy5SDtmeUyXstDmqqLbu6SOHQIPbp8P/0FnLWuwkkX9iyu7VUAQ7V+5Y94UpUyMOvW52013HcpZ+tK06fOw9Yv5tu4h+BuDlrnEcMCEWCJF6Moh85voFa8JfmhGoQUUw2UiKg4LAJJB8YajDN9v7B4U/PRq9cMn04erE8WlfvPzC+hMX3nNkXf+UZLipTDSHL5oZvoSUgefQR4hUQbUokvdrjbUE8C+JXKEbhkGxBHvhzADscMuHtwwc93tajhwZdFw7LXQRVwC0bfqP/zj2HkhXF3P/eCUwIQRCpMmhfXHqon3h5bW1PSZzuB6YOl3qlcMnjMxKYGC3E/mD7b5/UdSbdPE9r1Yn2v9ueDh82fFp93z0yv5IHeno+oh9nudFCIArHAKgXJV27PN0G/alwgLEhgdhKskOwdYGv5IjC0NjAOCOab7f0rJqL/kUYFTcdaw7EWvt3vMvnaMXc//mMfrltAicqg9D7O5IcsmIFdPvPh5uilhs/HDakAJdBavwg1MIGhAYlLMr9/cnBgePWL7zhahTX0VH27O/6vIZNZedmHbr/sV5pyrseMQBVXX1FzMHEBrlyJTI9CpRZMsiKmzQR4cq4fLLFJSfDolkV4DQAHPCKzW1/5cC4nV0EIRTNwPAH0TwKAB8+GOUQAWAs7nEIaGUgMaU+S/O+OGXvcD1Vx6Acv4Cx48Pv9i+rmewv2dwcHCdXy61W54tHCdqe4krl+x/9ZOO7I65jneB5hSl6dlN0aJWFrLoiJTraE0G+YKGOmbTNAxEyPDCoVYMEC5ZAvgX6vDO0gZ7EeZPCIBZ+Lm0ER8FgBDY0DWOBTacpAQmIAQhXafAhuwudFpau35B01fnjAZ/FcHH4QdRYba9Z39/Tw70H9F9c3CwaNq2aTqOQUa/8OpHH+1Yt9+LVntFy3bsog3fwLYtm76x4SXY8C10trJ6yrTgEaf6clthWU0Ezab6fUQrhQopAgCmqP1qcACHz0G+Awi0fg/MvmGcFjhZCZwdgRByHUQthzzCmrem7s5wQsdBG0oSLBkcvqUkvz3Rrmd7+tuzg0dIBcojGy2EMGQ8oSdzd7zy3M2LvZqpwrNU7Iz0B7GX4DhaI4HitzRHPh9W6mBPDnqQQwESR6IUJkApX2KRX9/U0nK1Uo3dowBABraOEYNfER6bWRe2bh31CM8o/MFrIbqpaIoibMRDhuy5/po7v/rg0ffbDBUEK4dvRO339PT3HEn09PQM0hf9IwBIMyW0lCXtB375yiMEAF02R0wpqWtB9oTkWUrDQC6E8MYpU0CJrzdc90I68fRtfUQ420MAb7JrYoEzTbJQzcQAVxvwGXcH9x7jiwO/rrEcwAC0traeAwcQjXzclvqtjWvqb5xxlK5NoNlDqkNnyXdk+yAuopz+T/QfGcwmJAAwNaUvhdbnUnR8++wOYvggchRG4Gaw3mPtV1H1HG/j856tCY3UwR6TrCHEQJi6gQAKUQQxkZ7SzFkEwE1sJbor980ysDUecMDmDXSBXHzmv5+4DqDf6HvRrZxfIrlcef+MO7+8Hwgc3aMXkQgzy0gJrMxmmf4jPdmeXD/xAb4RvvHuRk6pkY3Q7II798VVNzfaFeWBsEKk00qvEwekiPbDpP3MVEroLBF0tcW3kiduGFsPQwMQ05sixaClFRcgSoEKaEaUqsfH3TwD8HLFCdiqOKDydxMFgO7T8du2biUhBuZvQw1ec1Rd7+sGUqFWO9Hbr/fw1U7/9ej7GQ3dz5AISE1XbqPILmxpntVYGskMwI3iozfZy9M1efjf+HVDZdTwNd2kQdoutXvr7r6+Pg696d10zsyyJ0T/EwA3rdMA53W3/R9j6N8aZ4/3tttGGP7J20ZEfaJ+gJkWml+O7TGgs0gxLXg8/KXw0cr1h46V7euOZHuy/f3gADr3nsEEPg0GHNCzTqQMJpJ0VMdjBMA3SxZp/UAELA6qwb2wfpti+iaKKgwjDdcDkIhNpACRS6WLJfoNEfzLNCMkYC9WQgf+FlIhxxDFBMYDwl/erNR/14ax+Gw9qxdAShAuoOkzs5nI6Gevv6b2S3cr8vdv3/7uEbD94GCWJL9/f39/v2AuIEAYADm4HVEzIgT6tw+sapl1TYdbYQCSZnWeih1UCElqUKYNky/6pd+7jgCQcArYLSBGhMuZRvwJGeGU0U++HRgBYb0xeq78VSygv6tTRYJd8TPSekYRgKdFdp/z2ch2zKOgGGrwD+9uf+1IwPW4sv07iH44QIQJMUSyp0cCgI18bc+RBM9HKihhMt8j0SZFmrmA1V9KD5KGOP20wf6QgARIpRZNBEl7+mAaWVtKTqagAAAjcJNQkcjh8QAELMCWgJjg5a4zcfoZJSEkkFS3fY19XmJU2XH/jNov7afD334Ex64YYFDxP6xA8Ocg+wHJ/v4jO46QSXgtSzc7n/y1rwWZbnbjJWouGik2FgXoRYorSceZRiql/D6SAE1XVgIeYOAVvAFADKUGjXRFB+LFvvEeLmv+zS+/rBCg61wZgGMBcrvIysHtZsQbF4Rrr3nt3R2gPtdPdDK7V+juGaV/MOkb2ewOPZvtH3xtL+mQJXSnj6SVdguqV5ZCVZk/SDa585oimKP+rVuFlKNOp0FKjGtIuw8zXBJGg3WgsHZte9Pa999O9vSY/V9+eTP7wts2nETeqC04E1OEEPAbukssQCqAUyCkBmvDZO5AZa4f9PaUiOOz2SRdkuSBGbxdb9cNP0k4MIO8toOoeYBOarYcASBlBXVDMRpdcW41cDEJgO44cQZUT4AJRAI/Ak7Yc7iPf64HOrBHpg5v3bNnzyn0sx9ACmDDk9dd9+ST4yncumHEPp6ZA0yNLvIFHGJBnY+C1eDtiu9zsHf59nY6ZFx5+j9f6CkUwAfJQcM3jgxWACB+JgAaGvWgtmCldNaMQTyhCVVRMTjXIyVZPmF1xzNchVBpFwNxTxtwkmNC5q1LoAM3adZY4kdcfqI6cANfJgEYUYFblWyMOginRYBdYQ+WXmhFX1bUtXn743XRGT1ZXD37B/vbRX6M3LMaYKJ7yA8w6WcIney77xIH9D5GItBocAY9UACGTMs0OIZoAp0pS6VUWO2L7tY2jntJQQrlIZOi1NJcRhC7A4Kv+1/pXRvIWIylf/No3KtiAeKBzYEJGPkbJMpGdcWZOICcXJsiAQ3RQOChrls2w6xnlb99Y7uWHJX/UT2oAGj3TdIP9PX+xBECIAsA5qusOps/5ftaSiBEilOPaVaPuNVuEgBSGOQewUkwkJrU1Z9BtBSQDB04ewz1RA9R/L0KEygF2Lnh5c4N8ZEfYKIpVh6TJR177GOLo1IjU+U7xAeGCOpech68wcEjr63a0ZttL51MP/RgBQAjsAvZIxt1rZ0AaLhdOTBcUTFSjIauwiHEVHBsENYmWuNtbZoVpxfhFAhLaUI4wiwSzBGSYsU9DMBNS8bLPWh+OQh9gqTA5s2dXePSIS8DmzGvnIkDJKEeRbDjBBxA97vgcQqKX9u4423LsrVT6B8RgSO6AoBeJwAMmVhIAMyWpjJedKyk9xEpQw+mK2EQzpl8wFhrPB6z4jqqcgYTi3M3Nd3iWBjOA7mMsIutV6M7YDwARDNF/hs6N49jgrHnTWaBdELnWZQAAOCehrIfVZrZsilySWnLKCi+W73Qkz2Z/iNjdICRVX5S/7sbNT3JNVHB1aN0WqqAh95e1y1is4p7iGyf5NRefFPMRHVYg20UnGnHV8QC0AkyBa5Ye93/Bh04QkZ8hEImmnz/sQhUXIOXN48Lks8IAJSgcll8fSSCQVtC4+MUFKvv8u0n0w/qEz2IjQQyQoTHa69t37hdiBwAmK1OmRtl0mnly3Day6pYOouUnSYonKeg1tJNnanmihBYRcrAgbDgDsvDW2eTCvhaINq3Pf3ESMLz5YryG0Ggi795eSz5lWzpmcMCcoVJ4MinHaEfxmAdguLfKpZo7z+JfmX3ejgaNOn7xLs79v6+dyP5+BCBxiCWAQAoJikAdBnoAeUX5NridLXGTCQALNgGToUhB2syN0hOncJtOjxGB8bjI+I9mgjhMOjlri4ohJc3EO1jqR9B4AwCQACkdYRlPhqjrCRgKNAHBcWRr16uAOlrP4n+QQ4NdAbARqjwWjaN9KUSAQUAym2QZbL9yu8L8kJccBN6kNBoS6Mmgc4i01JlaOgMiTjIqNRh0hUdGB+hH8rv5VEyce6bOzkp3Hnaa/OnpQVCBpSwDg6wLdQsrELJZm/wS+HegAWODJ7iB5B/nFUcQN9ufJsdf2EsCABApxgAMJnz1blXEmNmd9tuMoKbNiXixAAGqwQd/E8k40+0oMCHQIsGzOIz0IH/jbifZGZEBZ50yreRM8Q5gc2nR2Ccg3yKGSSx1EkE3h6x2W7BEj2vIShWh5DtOdUPGIQjWMj4FuLDjSryEeYj0AEI9HVOgHE6MEiHWUHEoyXU4cfbrHhbKo3CIMVhFjeEgX7J3V8myoM6iYZu3g1HeCuygK0jAPzqdFSiPn56+okHznD8UILMnRUdwIbKRv77kzWXfilQg7Z2kh1IUDic1DVB4bCdTSTad7D2ov/mAQAE1uTcKA4YaamxFJenZCJGst8az5kUBkjO9CINY3D201IxIcoUBnoTAQRi4as4CxqPBV7ey2ei88zXyUHSGBGAu24afqX8QyeCFKjnr6Gg+NeBJRwbD5fIN9b0bD/bQ/ID+vvXZelu2zVtpcYiwJQbadw/O0HjLjpdvbWbQLASrTprRDSWMA6SvWQk4Q12hhBGEFPcBB2oksAMAG76DJz+Kddm0o50nYYTQihBSQf9cHmck+ZwV5TwH1sW/tJXKiww2J/oIX+nVOjtIXOfLwV4CACQXUfXxo07XtveAQ5oNFFmE7ohVW57JNQNLjPWrQsj1k0qkLkOzUemsnvIq6HIgCZBjqKJfgMc8GCsjY1mayunBOObzsjrZ7m6TtUCxAF0WmU/cAOlj8444kD/EQTFvRUWQGwM4rPj4iICoL+/vX0/Xup/t79nHnKiJkeA6XSKvH+dbKMmjArxb+x+w+qOweXQWrtjMbxUSRogcjDhJUCFwBuQ0AdWGhnh5pjVFhuph8VjKWvXZwTgdByQkmlD9wIAgISEWXJ8e/s1tbVw7Pfu2LhXS5K1SxZK4+1hQvrJ/h39WQ4cd1Do2Ein9U06erJ8eoqc4YofUAEgHrdyMTj+YlOcaAr8Aol8LJJ/BnfmEH9oBjERtyDJLIxAVo9DCYL+BPjGePMzskDXqbogZJDK1ioAaL4Nd8TSSQ2cWFN344zeHRtfe5d4HXWQsXkh/LmflGDP9tde27Hj3SNHkDwlAJqbG2H+uQyg67t27RoDgLm7tZtUP7J8Vpx+S8wIlCPxvPKEySymuSZi6uACeIicDdHN7lYlA3GBrI0Uuz4jAqeyQEjTNF24fkpZQd+FGyeRIVp5/4xf1y97jSnOk9uT7xlD/7tH3qVgqd3Xsj179/Z0tK/jq5F1gDB03CQF/7/4wc9HAZBGvDUXbyVXL20Z8U2GFWsL/L9KooiNiaG8Q1OlxK120gHNphWPUeBA9JOnpLHq2PbZAHjy1LqAP/4qCzLMNmlCTSxYFol+JTjv9lJ/e6ZC/5HXtm/fseP3KnoJ/By4j70EQAvrANTEiNDUroNc3+KOqlR3HFFwAq0Q8dZuYbXFVfZUJVAsbj4iw6dTKJRCNwaD0g4OINmE30Tnb3JbMhJIZ0dg7RNr106AA8o+uuFsZoAUMmMBEpr14OPhO8NHFL/3t2cL+JMOHsRnK8Z9LACWBR2wABktokoTMq3rIqiNEllvxPVUPM7lngQDkI7zv0tr6IpjGTFRNSUa0TvIJXmRZhGAOeTWIAI2pWnMM++cBYFbblDXLbfcsrTziaWdnUuBxml0gF9mZ13lpDTfM33PLtu+Q4rg+tl3fvXmgO+RFnkNxO/tHWPTOM5DcqsCAInAbhDP/fDIa6P6A6tIJyuhBSHDEp3vnDYgva8jIcgHz22ICI0IwJTOWZKU9VtWgogSSA10k8IWaIwGYAfPrAbWEs23LH1i6dKltwCHWzqX3rC284Yblp6WA3xOhBgcDBlRdfqO4cMk3b6m7s4ZAd+/ewrxCgCTE5wcTHev+AAAdOtZDgJQDRVBTtTizJ9JdINqDVYtwWkjtMTgPHXuqUZ+yFLtuGjIZT2AWGj5bvBAW4JLxhba0U3DOngG4pfe0tkJWse81AlZWHrLDbc8ERROxrgCIQxF4Ijgv+ta2Uc/L/pgSHA7Fn7lzi+vU3x/KvFKhcsREehdMTDQMqvhsTt+dMePro1ZDEHaDEJAjSiz+vIlx/QchyhtgwxIVT7nlijJLIC/JVpT8KVUutgkJfjt23eTbtR00qPcQQPvKX0GJbCUTvyJzlNkv/J3S9tAPruFmzcEHIBfT3oZfrkJewhPHJliV2iNy2Z+9Suvbd+4I3ca4tlvqMgOfd06wAC8+Aqu52JCTTzAzSOKyLI4blvTIsvzLiraQrbFu3HSUglPin6Emagowy6SxnzSagAHnmBzGyJFhBgm1IPUYTZPC8ATROPpqVeiccMN//ttIzETKkldBIDG6lcVeYs+WjgIADKEvl9YEw5HCvrJZHcvf/Tee7+Pa/331bXzZz/72T8PDDx31VUNX3+MEbhWpca56wBHrDl2TXVduNrxQo5nF9s2oWGIWN1xPLdoW3TwVqroeqLas22eMsA0EeoEDIAyl4ae4tI5o3Nab3DtDTecmfyACW4Z/xMhigN5+ESkU3THHsk/BrNccg9Mzx+cHdWyJcezx1D/nZ/98/ZVwdVy8jWrAYXMeQSAnk5LVu6b0giMTXdaHTqnPS9kN0U9u2QtakLXVHSRo3me0bSIv4nqUxz6pskra2jcJCda1cZReCRrwdqSQ6XTc8BasP+nX2uX3jBeQZASNCPheulw0dZwJps8mWZxoK7tWNMervPqNCegvnf54ueI6uYxF7n/9P+sWQ184Y9ZzS2rXryjwzA0Eus4Ga8ESbuTC6GTnLD+/PQrLgq7bviK+smeN33azGmTPO+SmXUXeF7NJVfUTPGc6VeEL/JRLIBR0OALt/wELgcyN8SnaZVktA6e4g1OgH66niAlOebHiAOq6hZFqqKujXZ3bxIxpW34xaLjFE2z8G6CALgnW3r00Udb4/Hv/2wjjrm5YfRq5kNvmDXmagAXrJr3lDS641yrSRBr5WPVjqPV1clySHecqt30q5xqU06mY69yXMKmytEucLymKWit9z9XNuEHk3QaIiiOmymldlG/FMp7PHhSWHzL+LM987V0jKCE/On1TpHuwnUi4Tq9PClaX5d2fWtmuInuJPrFK8N1zpzYMA8vfLCKqW9Z9ZNH7l6y5IFHul996juLF3/nO0/NX7z49YGBud+c++2bZn397qvBFc0tyx60ApsT704k3t9U5XiyqTpaDtm2M1Vz6i6e/nkjOs1zrCrPDk+bRpJR69nigrIZnj495GCeCrlUy7oPAMgUOwzkqgkEmBpbLT3dNZ6sCZw/X2uXjjJBqHyedKT0q6ymS2Q07U+aHo1MKperI9GL6svRSffMOa/OmXbPcEA+cfx9Ny/5/l0rnt2ihrtwHTq08/VD6kv6kWWLr33lxfvABMvmjngb8fieQpVGiF4U9UJvuN75mXrSCJMNbarnyKpyeKbjnFdsmuadiF5QvqSpXAw5RY1NKOlluEItK7l9H14wwkSOMZF3HA/Ap+j/U64RbgmVQ6jH+NUiOtUkxT9JZ26sITk4r3xJxHn3iwzAIRb9WQ2znvr+QzsHznitap71HBuBZRQVjEWgNV5oqmqS4oKo9/lLjUj1J/XhdORzKa+qyQgTAHVmJFS0q6LG9Opy7UxZH3LhO7CDkQ76I4SpCo6VVIuJ2tNnTYywRVTmIORXgW7/PKscramx/ElOuTzZaQrTS6HyxdqJ4zPqvAvn7MDhNzRcc/d3nj0z9QBgVgMA+OWSpxqhHpbNXb58eYDAnlI0fPH0etubGZ0eto5bdRc3NZllUXtJdFKZRKApYpdleLo207dqp0Uj0LpwMWDwMTt8NbvNUvXakXo0U+itN8dbglsmqALUFZiDULmuzvPK0WqgEAkTAL4/2dFrfN+a5Icjw8NfnOF+4ca90Hs3P7JacfqhFQ899Oi9/3DXXXf9w8PLSRTuXd66/B+WP7y8dTFEYMncJcst0dMIXbimcU4FgFZYfhhcaDy724ZJwDCRE63x+C+KzokTRz/xyza+LcI7QgRgGWwIb8oiRMboFRGPogvxf+rkkJCc/nO5yGm6ZenakOucPz1SVxX1miJN067wJhXt4iTTrQlHLoh4D/7NnCv/9vKPv3DjMw2zfvJqIOfPPhQbk+fTtwwMLJcqtWw+sKq5eVm7Jb6729AIgVmQgnsqALQZ6HtIcf5TtFo8LOXU1IYnRR0uociCu2JoyEUxkXwgXSl7nc69BzLwDIcOxPbsuGKCR4q0+dlFABd8ghsoHLabrmiyPMeIXBElve/ZThMdQlNEK/zzYMflNz6z0r37mXVXBzy+ZcWjOWs0wqFwlwB4lFvJFQAN32q35I836cQDs2exFAT0x9CNS1occZdsa0XWwCA2EJrtkY8LZzTp7sTwPAW8ls7pAAQaupZCj1DLDzHGwcwvgjI7McNJAKw9Nf4/KxcsDVEATFxpWTbY0LKQHi2SA+uVXt24ZtVbb+098taOHeseZOp3rng0YVViH6WhDOaAFI84SONnBMACAiD+Y/ix7UoPLEbL6R90I5hBZAsei0uV/THRS8/lE4LFxYDQ6zGd4iLSgKkUV45NXb8dWlDqQXOBCEJX8gyM8e7wExP1A8ZeId/gcIWbPYnzODtoiI7Gx6D24eJ8/ethu45ubP3DiQrfqzZnckp0GSPBWM6z7qZugAMWxISmfTeO/FpHBYE/7NmDdKcVlEcMEe9WvQJcApFIoKIOltvNw/MxtETC0qFxAH/yuIRumkF7QdB4ws2n47zBteeoBAIAVO0CZ0iHIBwKB3MP3L5MOXzNq0ipv3hNNHLvo91mpYGiwgKo68rlBE03Syx9/yABcF+Mzu7H392Eu+0OENhjtinMVDOUGW9NCO4FxoikxLAMj1AIt/sA8wDKQwY3jOv4LSvZFVIFY66jqXEDvpNxaZFbbvgsAEDayLgYEjl50/Zj8xuXsc1vmPXIT2HTf/p4fQRVstEZEtXoJtAf+zDdcIKbvymgBgcsixFrWj8m3ydnyf1sC5bN19WWC1NN3pME6KgKCh4MsCqdOaiHdIMHDi3njAqqSNiuIJ/5FvuCqbShUiy66iTFW5nvjAVg6VliwdMDINGVj0o8+rOs3IllAfnN8+Yuvvfaa++Y+9z9M2ovNVUmYpQFzDTXdB8lsyCCVSMpBmAl6eocXJ9WS7j7G78Fn/BBLUCMGUDE4uzJCCuIlccwVgxu1uutOGqcOKaROTF6E5qJjRS4Tg20MUDp8ZZw6WdQAgwATCySF7kHGlcpl2fWzY3zs1Yf0VE4erRxQW3tNRbP+Y7cqslOmW4+NDCwAmP+rBlWsg4wjRQymHu6zYwLBEgKHntAsQ1P5FkmAWCqsXoj2L0xKlnMA6/HoSrQSooeI0zM3CSUDGiYxzZ4kwNmnk1zrAys/UwAcDUO9Ge/uQCHT7I/a3bjU3xHFMzFjx59DlUy2PzRNhLiRW730tYDABxHiu5v5ePQAaaZBgPsicdKruuub+S44IHgpFkXxlph4E3WIjyHGgDArRGbeJFKm5lG+5Sl0aFnAUCPyakAsrZ6YE8waka8sGsMD3wGLRhyKcpKkdfV0ThvlcpoLJs3v6Lv6STjtn30+mtqa1fC2I8AgAk25PvFioGBh7i4j/bvlcsIgJV0l7FYmy7adKLf7b533irEBQ8EnA49GItzSYGHxk01UKLeVWf+AALPalwmBw8YOuqD7WrKCO4GYkKUHiqaYNsIE3wGLRjSdOSYHmHFh/TGzY0PjGYAd7e25i2rMG9NuPYkNUg+jWYYIkFW8C6rskMjBgAWjxSDCgAg3vrwvIaKFAR83hYPYnpWCrox8qaI94QJ0zqwWsfYJEaaTdQGWnoqLXdBqwmdALkeqqIw4g58Bi0YIgO9/4H5Fb0/r7HDGnPlW+P02T6ycEZtbZZrGKMsQAxgmvfSrd5lirRKjDMAS4JaSDzRvYcAIGlYomzBAyMAbIrD7qaCcog+XrnSP14Ot+teHXVy2OjfAoCVaGQZabrAydO/Nw3lXwVS0PX8uSuBkNUxf+GqQO9/bX7WGn/FW7lju3FZuA49U6MAwHSTLiIrOPCQxvpaAdB831x1SAl2gLuREoovUf7AAxURMOJ0dkHnoKlbxigCrFtSaUJgaDjn2FwoFb9ubrmpZaXhFDFIpae4lhysdTB0Hq5RLLDt2LGDt3R2vccz5RMG4JvLVqkkF/H+aOr/jeDPUr7klkqljffX2VCDLHJW7554QnBNJ4WzuhfqPKUAaGlZtVhP61B1lRE/RmBeBQFWhWYMkzNKjWIZgalXZGu3hp1I4qGB4ePv36MVvTRkop10YMsnPk8ySpkWupqyxUdwIooD3js2/di+zvfe++/HzqF0GlLkk9l7auzJd4/jA9u9/ppo04MBC5B6j2kp5QrAD2pDrwtyquCAWfd9RwS1sjfGzO8smR0goAxmLJHi5kieGmYdqhDYjfqvZS0n+mdMvvTCv1n5P/ba1t4dq1o2bvy9iUCljNVZRdOxgmlcO4UXnH3b3vvwvX3vHQsde+93fzx4yTkBgF70Wes27neDq1Sw7e7ueH68KCx4vN4I1OAe1OlJb2qIzeEHYdALikykWQfMNd+I71ZMvac1QXYkFu/u7u6Yjeh44YPMuWQH4928LYUPk8vjGJZ6o3tPngT9qe8PHJ8zZfj40VurPn5m71tv3b33rR3rvGI0apd94Wha2YlGi45HX0YphMPrf/3Le4uePnaMADj20u/++vQ5ATCredW8+X456Y65Wln5j72y18+Q9Vk0fFtvgCSuY1HgSn7QeqExN5LsrnyMROBaIro7sZsnpDalLPR2kCYVMUbgsUcCAFgyknAEdZ7VgSdimGQ3uvXFv7xj1VsXzhkeGj5SvTL81beuCa1764sR54Jw+HzDn1Z7UZNTXRs+3/JqLqqrrfas8+vrZv7Pp8+vu+jiv/41dOzp6oNvTjo3AG6emytZvpYvlEaYgG7u8HgASA1GooEaRH+TmgKSOrkBK+DUscG22lkJ7k5s6t6TSGzaRD+hi27il27UugIeYE0Yy+1OdMfjpGAKthVM6GO0yCYA7n5x2ap/PVJ9a/+DDw5e2NT0hSNf+OKX3/qb318Zdpwrwv70Oq98RZ3nzAyXayKeM0WKKbbr/c8LFh07dkH0Pz/3UvVLf31p0ofnAsDiB0jEdb/sODa6dKDcNAJg90kArLs/bLEaFNYbu1uV7iHPjAB4VGImnPVRO4sAwlWdmy53pxMm+UQxNlxax2xyM1qWzSU3I8ZKVo0EWYndub63+a1XNjZ+C1nwbz21f8qNPXd3lKY22VV7/2bllHV/8/EXm1wnWlOeFvX92iYLX9ZEPecirXzF5Ppi+XMfvnesLvKfoUn1x47tmvTm8+cAwAPQcdr4NpFoPK5ubkxJ7PrZ0aa7lTcYb+MyEnzzZ1U6hPg3DUedAUCuhmfRZDzeGo9tsoIZOtGxoAWakNRtbEy1tTcWW37PPctfXTwPYZgyyDfv/dKlpeHho+e97V0Q+dLv//by8MfhiOM0TS9PW2SX65r8Mn1ZE0Wavew59TXlqt8dO3bJf//P0NOTnv7rrvPfPIcEeYiVvPDTPUGWQWY8PxrcW8Edvc8Fj9fVKzWYaYPKMzHihHzQo2luhIPaa18ITxCzUqiwmnJTAoMx7CdyH2h7I+bACYLlb4wDYMncq76+jKsus5pbyCTdN39jR1VkT/eFM4569VVRO1x148e3VqfNqVEA4Ilqy54a9S+KOk6NZmlOtLpcH94XrfoQOmDShwfP/+PSWyaMQAUAOaIB806laZAksjBGDX6lNkz+qKa1oYAtTYMMOZzWGE85cSFUX8gcoDoFOXkfb01g1SSTjzimkXikuWXVssb5Hcrp6O1Y3NjIR9/cTOg0NH/7qnnz7/jlK4Pvz6iZNuf4+wXtEsf54RfIFiy6iNSfN1NYvt9EX3r+FfRVxLKmT50uy+7Mmkte+utfLjl2LPLf/1h37PmJR0WhH//4x3lX+mIEgL5Kz5zl8j684JKPLaut/QqSB7zrC6rfEN0EwB4sR1TNAAzAYi1oEUYGNx4nJwHtAegQAcvMX9AAXbhq1bJ58xrpmscnz3zf0HDfY7PndUB2Ek89deBo4ejx4YH1judZ9t69Lasczz2688DRo65voMxs+L5jOejlaJKe7fyFjOA++njv2F/+89ixrgmXCRmAgpsaA0CuXBkfYYugvjS1or+dgmJkDWSa1R7yeQlyBE/4Hmdu0FQTcAACPBMtT6lEN0w8Yt4U9iyQbojNuxled/NoSb2ZqSdXrHFlQqL2hYlDblumWHvg4RwJJjC7Hd8NDA0MDDO7GT5G78gddSLpD7u20dXV2aU+6PPaWyYaFgGAkmv4eqEQAJD0PVkhv8ICAi20C2fX1t7KahD1CvhwUpIOeB/bNVTKSxAAzYu55RsqMohbkLqQQuU3CJreBxpvV1X0ZtQaudR88+zGb8awUAl8wlsz0Dcs45waWJ0TDQ3f+v5IMfJ1hOFa0N2r63T6p28VmBgCoVRqk+tavlMsWmaS046+157pG2GIEkh2fV9kHhkJijHtiOx8ipz2gZ2S96swfQBgrl25wDlYC4HuxmAXgqEdJg/jgcZGZgNkH1bdfPPsJU/1cK8ok8QjY+iRIl64V1WitvxsTiUxv3rnzuX4Ec8PNrEgaXS67vGJpohDfNbypHZJYoJ8BQFbI3GzRc7w32U1iKBYqMVCKY1c4UMJqWvpsu8XpfEiABjBztq1YYPgsY8giCVFkfo35WJ1PzD/m42Nc+fO/86D7cpv0Ph/GQzPYM9Q2nq4cuoP3n0AvNBriVwbj1X5TiU9Re978HSOzwSVgAKgIEaMoGGWPYzTisAxzOsUguj5pO2XFywLR9BBr6nFDpg1jtPNxSTxrpaGPvqoJQBA3duGH/yAVzAHaQyszMPLPJkzuoVzTDrA4oyvAgBTM6iUcEWu++6OnYu591Cy0+X7WiU7gx8/fc/ghGxhaFTaR7RgoT+L38AICNv3zYSre74j9t8/w6p7m8u2kjlA2ALZK0Okwa9kFp9rPhmAdwy1LkX9B8Xxb4eD3uFgiwovj8JKBbWymqvAijBDktxvSTz67LNbVnx/fkszB48Moe6rdKkVFGn2nY60iRWKQolEouSeehECOplEUfY9vVAilWNlXff62U1Nt+LeeNembWtRff3Q0E6paoOYuSW1dkdpxHsAAJUjRls8kp6pf+MeYKhFNWBN32ITsZGSI1sc06Q40RKIbMNDwkynrV/fRPryh7yGA5jZfrDVktvmrH2nL5JOSAuGDh069PqWuxJET541VxATlSQxPtbqprJuXvi+7KcXH3u8zoIaRG22aGpRktj1QxwOqv0PYh5ZtTEA7PrFBot3EfI5B8uRRhb1WdgUZqWEXlkowEsEVfJYww47eQjFUsw2W/ossoQ3yUrnqe2LoDiAAtoZxyfWTqBnJqSUzM7RDIjtjiBAtk8vuTmTuIGNZOn6r+gzeyx1+JpRoINbfuCDobipygJCa/zWrOaFgxUA3jaVtCsOUDPFvF0paJCvLOwbM1HETTEYFIHXEKMbe5QniUWamwSewbYWjrN8cr9ZZ6KCdqYi+YQMQQAAkvvqGtH+fST9gsyhLJJdDF6bt2ym/hWraBH5dpEpSwwMDT0a/FNToAqyMCY5VDIsu+g4vC8XDdMaa3mN2915VZ4u9cr6wMq/V1utCR0bfQRsA5arHLBlIpK8WgQ/JXwlUtyBeEYAOifiDYVWPHTXCvgYcXUTY/QBuWD0mdVf5aX9FBTXyaiWKvKuMBzGoaGhA5UDFHNJBBZ64wcQNHMkmY1ufx1tv2gKt8xUMEoo1F4Z1EN52MTijdSWRTZ2oI0nT6Vu/IR8hqvVqneSkDLSg6w9LHnmAaKJqEFYAYuT22PYf/QqkPibudHvoQabiAUU7+LT6gOHdlaOkABobiYApGrAx3IOEh8RlRUAOJnOUhAMlcmgKoblStjqaFRu4m3iFDKCh1TdDuDeTI7T3Zhz5XVsjm8batRCnBmAiZTKGIAcuZyv7z4N/b0IObJjXlj1eDgcDshFMtyUB0Y4QAIAEgEsZOG5eZQzNaQaPNiNKKeBsWg8RdDpllovA4+PgWCVgBNWN1Gikyfn/xCMJxqp9772k4aGlqvA9hL9EZrnq3ZJaXxK+mcCSoABsP4AFrBPoV8U/XJ5xCUK1GBtbY8CAJZPt7YMrX99DAc0ND+moklMEvBeFh7EZO+ymNaCHRLBmISl1kUwFmm1VXTkEArCJA54nX+GfuStHf/X1Q3NpAbVsx90CU9FTax+SqPQBEplDIDmU5B16P2TyC+1l0n8232/fcyL8xAUK2pNng/bMjQ0HoCFyCfwFCBvy4LfphFWXjCShFcFexLodFIeoq6WTiCsLoz8ppxGfLlFVJbMmPJqsoSzeOcOHklhkvtOikOKMwxO8DWBUhkDkPZPwBCcXvyF741JGR+5f0Zt2FKLL9PYhrF6YOhQxYxpDEApEIHAvOkiBWWtY1uPDaXIk5GoLfLWSM6bAA9MzZljvNICrOBqk3ercrKB1GDz1TAfqriCZbOkVMVpvcBzA4DeKYuq/Pqx9GehvnAeecsftY1Qg7W1TSrhk0Lo+uzQ6teDniFLAoBlBZ9L3qz1wApasFWEjSF5lmgVU169qLT8mDwviW8CcSuVbKiAgRibTjVAloUM9KhxZIL4BUlv5pDH9CmTxE9MDADTL2eXn8QC5AR6urqbpOfrYwCgoLhOOaJWmu5l9dDQoVEAlpEOKGD6VGhc/efsGMKmSlFXJ1jTaskKPCcsncfuoBT/j3CAfyfmyXFHWzKBbIiKDNwX2FTzX35AMRjG+xKxT5meOrsZCDEDSDdHvsDOES1QohjAToyAQaJb+Xpw4RpSg6BOqmiEAFiNic9Uijh9/qqGWY+RCBAlabR7U6CMxQhWZZCcmBzKiwGoeAdB8zN8BC6wkBOAupt8CG5Q4D2m4ReJZnYFgn92+BeboIedaCz2whkXB0wIANMiBsi6Y1mgn5CVY3IixmjG7Po1aygojuiswxGZrj/wwSFl8QxDzF9GAOR9LY3pR6QC1GR8WjPMYCcEFreRbyRHAIBA6+iZEml4h9IMlqgIVoG8k89U46TyGQDA6pUbC9XSPp6rbzuTGEzAE8QSoWRWFAokcq+/qsTfIvU31valRwDYeP+aNffXWXWQaMPS6GOsCKSIA5of6/d1OHtIf0il6A2e/8LqeG4QhfJSfhBsPJaMmdwQiEVz6sjJJkIFrhcpU/JKQjSFmAJK4Ndqz2AlGbApWC1w7isFKgCYtu/lkm7S1V8PWEA44/Q+B4MBAIPEAGuujy5qWoT+IOR6UlBVIyuomAP60XaEERemxSS30UwHTSR85gIrCpAqSzmOQ8ed5r4hrDcmwxKsm5EaF94xUG5gWJKr0bxc9T70lQSZBKxkQuUJPHB6KTi7GQhFEfjnCvm+EtIvd7mI/e2x9MN2BerQZfpLbr1Zx1EtaSedRODAo8H9iCUAIOeTo8dLwnXTdrx3/vTHD5/fNQYAtaTZ0FO2FXFU4ISd4imR5iBBoP3IRLZxoE1wW7jkRcQaKYHm5pavQSrU+eMvsTika/MLZ1IDZx+iCBWR8cgJN5lEmWfgUTru5Kj4u/2cEkkmGYHHHicB2Oi6EVEvg6SG2E3R0KEKR85d1dxMAHCjC6e2vaZJ1VWRPz2/6+B77wjbtlHYL0KCCWXhiGrPKpIrQB9YQGtxD6SJlkOdVUCQIeP2KDgAN5MZUAFRLplIJKAXzs7jZwMAsT5pgIwslbg1pxL7BwagSAKru335JEUER4gBHp9Hr/ZFtIjgBdB0PI8ODQ2tx94f0oJLlrW0vLjfR+czT7y888eQ/MtfrL86fzn44bEPPcdDS7blOZiRK5eLorrseHgOSTFNapD0BFLLaV7AybkACf8IdgK9ZBQpPYMRutjodXYA1i49mxkI+V6eqOuTbkEKjAYNtY2SnxNIifTlS6QjCqKfBYC1IqlBU+klS+QG1g8N6BiY1sWDq2bNejHhk1anv3lh87Z9f/y8AIladc35kb9+WD29pipSM7XaLkfphUU+cUAk7BSbap00HrKE5eYGdhDRkS9nI8iLyTE+Z3CbKSYHxgJAivUsEwNnt4MhX8v1uSLv9qLoNsRqoKL8kRGTvaQfM6VCrpBbQPQvPAKlKJoWRaJpMDpsd+vQoQOt7M6bD5If8CLpADoa3Xqhs/P5PzVV1Zmud8Eix646+GEo7Vwx2XEuXuSdr7nmeY5V7TfV+T4BgLhCQ+gPIwgWgE0KsmjwmTnA1lJkBq5+cBwAZ+kEmAAATjJfkqIkKb70be7Qeyg4/pTvF0n79RYKOVe6yR0LSQDuE1wUMckb5MQOJqRz60kI2lgzP7iKRKDDR2EobekvPP8727EjVVEPQ5PTm/543p+cpumeE25yzqMXaqImARD2yovCDlbbI3YGEDwcRSpgJ55+Iy21jkDwIk7YwbtH6Ed97r8OgNZXkqW8wNYQWehDEuZQNx+/S7aqn77IuKLQm8/3QQBO6Ab3c8j62lq0KbJeF8uHBobQBSONB0kJEgBsI/H0PGlj+LAGAHjTonbVsb82XeJ4BMDnAYBmVHtNYceJhMsYBzQ1yY8ehDY1DqEJW7OUN43nbPDzqOAM3zzKAWRdz2L/JwCAzCeJqSXCNIg6bOGWo242iWoQkZ/NlPryZCTkArIAj/n8/D1Ie21thF1hNK32Hto5tBoui8Ei0MEZIX4ok+MYRN8l5YsinlFlEwB/InYnALypTZ6ocgiA6FTPuSjsc0CA3bLKxeZ86HpZySRj1kjDPAdyw18bowSIyz5dCUwEAEG6rghlR7Yg66LnY2CF7tHx513SjpKCIYTG+4kB7n8EKzaUR19XGzaDRK7QIAMxtAszAE+BAwgNDganVE2abnjGRdUXRD37gj8dW1TnOPVNnlFTPTXqyYvK3vTza2bWlVXLNi8SwoysoXSgpuk6SkEafGRYFo4GxgDQ1hZ74b8KAPkAEH9D9LkShw2HcOAEjr8vSVGwzGZ6kgU32UgC0Ciki9I5HgCwqDYcJWeIa4Sp2NCBgVaELGwFnsJ2Uni4hIF6+pZ0eSCJvjp27E9/clw8fYusHz9zg4fpinANJSrO7FuINNygmBX0BhMQQeM0pwTUsxXi9NGa+P8BgBLCagpgC242R6oul2dvIJbvS8Id6MvjcRu2eIQE4HodzyLgRyBoUoZr69EnwU9a1MkZWg+vIABAqoSRgaWYtm0YumUUkRFNWeZL255/wbS5T9zSDZufdUe23vP5GYfYwmZhTgbpQFPXdF6yReqVl9cb1sqrKwDEdL2trY1+4tOVwAQAQKGRAtRSiSAgEZClDNDfmcirsNj0kRb0t5MFWICzYC0AlVRfGxbcK4GS586hodcN8n8rHKCKvdgkZRhkxbQgCEBF5KXnu/alNI5nTDzWQ1fVHR+ir/MjFpBnIkF8HTkURFPwCzn8Ic6AGVB2UC0g+9R80MQA0DlLlcknc8kcHTh5RAmogbtK2YB8I5GUg3CBuKRn+UK1iEXrm6IY5OWd7+vXD+3U6cAJgIYXezCEgicVminBa5/MIKpXeeBda59+idd482pRmeKMj+5zbkxqNk+T5kkOnw3O3nOLEg3F3DlPZuDbtysAVNB8tq1iE3CEfE9A3pOi1EdqIJfPldgbiJcQt5YFwZJDELy9jLDVwiZ+zsdr5A3qwZOBzBi0YMowGYAOn59NJ3gtiYE2alPT06lKBswgqd2FTVmmloaTw1kCNHxouqYZHmnXmaJAhnW92vTtaNNdlD94jlY0j5gBM8MA/Nf9AIQ6hUxeh7+bLZDH05svQA28vhvPlUm4+bybhAuwA3vmTFQkoJEohI1EI1E13UxW6xAAkGKlAsCAsOgU2+IxdUh9YdZBD3r9yUfu6tz8AueIdK4Co+/YItEy0qZ0qpqikfM2DR8/nldPJip7GmlLnjO2Pe9/7JjVclWwW3BT7uwAnP0iV5hCvTxFg4V8zk2WyO9JZhMrCIHhskz0iV5ZKNzHGhAJOCOd1n1bR71PS9fLeoO9AqLwwNDqbvKRmAOe8oMNk+ppu5wX46c1Y+AZ/4mXujqfPsgsrPNDiJEd8fHcS2F7VRQr1dxzInbphfWeF5G1M61612maFo42la26i2qf2RvYwdZYa06eXQTODoDXK9n+0dlT1EOfZDIvdsMS9BSSuUxJ9AkKAu5fh8cC+HSXYFb4K55/BUGACj+K5UGFkAFYzABgBYiG0i+fPD+9IcgMkgU4+HRn59Nv4rFDymeytJR6yDMBQBxQc/REd9ysafIuuiBqiQu86GShTa4r21Fr5heOtNy0hO1gLI79/WcBYCJKMNlHzrCbKeTxqUDk6yZHRUPxnOtmKBDqIAZo1FltoTNH+qhgkG0kEWgiXsc2eWPn+qFDxA4AYBUBwIyBLpJglxiLgVAdpBYe65Le9fzzXS+8AzUHK2+5UMUk6kWvKlw3rfboiePd0UuugAfp6ReU6yLkPdV5nq1Fpuz9ScvX4swCcYQiZ9MBS8/WIhDq6csTl5PDn8n3ukR+EqpPxsmwrSYPMFnK5hdwEARSdCwe0/wyGuPoIOvsOoM8YIw4riZHgIhbSbEAAcDefOXxrULZK7VbWhU6MRP8wrbnn39+F6aky1wy8uDt7voNiUDpD+Erj9fURqYRAFFSgheUa5tcL1JXrq+5on7q3uaWqxiAeGtciE9ZKDbBK5RBBJCXOZF0c3kp2skJNig+WD+0fqg1Q/YnmbmdJKAHkyoCu0fVM8eknkrLpkVX4DnwKXSEroczbD21CjMzAEAEiTvNCrYLK0MYPMpdx1Ol/s/nn177O1Bv69D/EJhf/OLP5+3B42W1GsepBQAOAMDCkbq6cqjoNU3du6rlpuWBGoyZZ1MBZ28aDgnUPqEDc7Ik8hItUWQS3KNkiAZyfeQZynkEQIcqTXDXSNm32NMxLPIGVVFHJMgOLgcHzJpFANiwX/ywPAsPNOb2KD2t8/7+FDcSQPsZ+ksWP80LQ1AGF8oPbvhD1aXhC6sLhar6cM0IAPbk+roL6stTL6m/ZOpbP2lumR1X7nAsdra++LO3SISIAVRONFNg+vV8pi9DfsHqD4bW7+zvIwZBJnAe7lo9alKLYvEovBLzitpaTviTzSMtuPOhh74PHTDXL2KDsM5hPJZrcx1MN6ABdB6NAXdoqAYT3Gv54ctC9QnEDx0nwhLDRx07Kq2Up2EuSKMwYpEWqS8Xm6KeGGxuCGRgItnws5eHQy4xeRZiUMoVSMbb88mSm0EkuBO5vvczqIeSFVQPZPR46aqBB5JgYaz8X+iCopciWC3zIonAU74DB5a3Cpq8KTNljJSBONuhp1J47DpKUps7u36na8Em8d1bBoaHh/+wG8PEGJCyHFsK8g1tk0zjIq8IN9FFOLA8CAbPvEs6uM7eIBCikK+QIS8wX8j1UFRKzkAuWSBdKN4fIAQOtQbJ8IJ6/J7to3zl+EVO3ysAJB6u/n4AAClBH/1lQbMf9/SQ4Gtp9vPh+6LIhaKinobtTxMCByvl9bvggC03VBuNQ44XfM6UtGVN9QX1jpozBQAqKdL2/Fk14ATGyREO95EhRNrTRFDcS1FgXpD5E92HEOcfyFiIBNAPbVikBLC/Iur7UTyUygEAKNjrjn/i0Opndz77IolAh6gMXKiLVByawBEU6brJZQ12FVEjMyQZsq7gBxOvoy0Oq5ZTcCJs3vCMgNNT6954TP+PNyIn0HrmeuB4AM5eHV4S0/v1RLJU6CUB0OER5YkpZJLC4cSBoaGBQ0PH/RfXrHmksnfXEfz0RQeOoc8ckEKWn7efyY5lsxqWLbbGXyPsbyJ4JNlQyd5U2pfcR97ViW7KPsUAyzkGJFtDBjJFMqdxES1lpyvv9se1kIEJDgVNpEUGOyJ++dMfLYnliSMzSAEDgj60D+vOiQMfHCAMFqpYkNiZFCAWDdro9yCe0K6oDZt4XinOkuL79k8BAOsjsVcS/X2ohXJkjfEAxQFb3+BOJS6ApNh4SF5zriGClMZIV+0fO5EYvHNC9E9koQIDgOvFH1GcV+orFPrcHJGflHzOm3YeWD808AH7wnQYNsx2Gb3RdGc6xtnro8inOMLADL7E2Niy+ScBoI+0CvMjnRAVpjSEFszr6XTnZos5AAywnndkGPw4LkzOQ0y4uUKmFZaWuw0y0DBBACZQHX5l9Prld/ajSpoXpaxg8nWZdNcPMABrNjpq32rZj8KjwSZmLM9t8ngZO4GBZyh1PHYaAMaIAJawomMIOWCkF2EV93Vu4x97Yws0gEQhFIMFyA/oVhp6CXojeFCFprn7nmggGZhQH/CEOkV/du0vf3rtd54LIJi/HyGhrqNIoGsUJ5N7SKqQlMBHftnGs5kNHykxD20wUueHcoJD1T5Y67QcMCICiAYwWOBY2Nxcxjg8qdVtnS+wwUBf6Hr+IWGpTlqd4khOFAQNN2xS3X0kA83fnogM3DKR/Xoht5AbdI9rTy1WEPzoqVK2QMdv68kkAqRStpR5dTVYQNNTPFbpW3SGpATxIG72iusqtWFd9qjJybGXbaP3Ac+QINygOT3l+9sae0pSe77zIPfer+A8qGbg6Xwyxf34vCWCFCEiMbW91RLuts5rSAlMSAYm1C7vZnL5Qp78nY7Fv2QmeLAvq/tOlqxhTsuLXDYjMmI+AfAg0Yn1oOS8Inqn4+PH0s4U9ZUF+lJLYGpqHAeUCj9uwyJMrAHUiHEcTvx4flQ9RliT255/mhsoUQnYgsywYRrwGVKaqYSmSAiItCZVgd38kOhCkfhshE10rVSI7L+eEQWXlN/g3B8BgcWgL+mSQ5DLqSbJLEfEvNBBIicG1RQ8nFkgM5RCmIvHS+qkA1oeMZhdN+xS05EUsrAvpJskL+wLod9fU+1TqXRnl2qlQEVmObhf8KIsOFo8gSq425Z7TuA7cVskli2flbwJzk6GCr2ljKsdp8i/kCsM/vNH//rKL+8o+4n2nkQuK0VJuKU+x/uEnMGF5Jej7cnHDFkKur+IVI4MW3XcAEJUGjkAsJKItC3r5z/4OQOw6cf8+Hp+dIUu1ZP1hK/2JpvGS52buT8Cy0h2InKWGCNAHdDgx89gkbbGIRM3HajZkFnNZ5GBtRNfLRjKkunLZykgpNi/4GjdH73yr8PdHR/98pc/vePaue2yT5ZcM+zdt2bNu+uiDnLXdOyeD9PPS6301KKmeuyg4iESgwD41hK1aWrDL36htLtaMm2C+w1u9qHLV+YROb0XWMMhDfmowbkji5/Xi1Qpyo+Yz2TwUIywLN4ctRT1kU+l/xwmR2H4iNHzJPkZxwlN7//Xjwar/m74I2IF+njun1/dX8pUf1J6d/vgrREPBR1fYgF9WedWP5QuKChWfftk6Rc2N7d805S2NmbsGlU/aaA3DJqQSwIaKnEGEoXbPnSKAIC7Ih3HM4I0iho8JREzsJddZSGKhMjTfNefLgMnrw7+dABypZyrH+fcl1uyqycX9n8058K/Oz7YQRh0HB/uuLXjeEf1q3PWDX68X5QNW1vkFIn70QWmWbzLSNTX1qZwsnhKxnw8ZMMU9rhJMLLhDugHKVZaAeAJHTnfg/s+vMIxjPRuVIOlt0jnDcamWpoES0jCgMo5SkZsPRyW7IaW5lnXnIGiJ+j4z2GXTMjNlSyRJDNAn7zC5PrICffCyBT3npr979994Yn6aVd+sT9RNe3yKZd/POeL5fqp4foqYoAoeFVV8Yif0Tur6xADOa951reWsF9UYQHbxngDERw8OcrA08Rh3aWjhdIfHnxzkkc/tHxoeLjbcsIRFxmAom0j0Wbwvi6hHkSl9GzAAXfe1Nxw1Wnpwfrwc1qlE1ISkBEyn+y1rcm5KZ+8fYGY+ol2seNpNSemzRkePt79ucHhjr8jAD6pv6To10d8kzuAuYEH545KsWr+kg80NzQvwO2OWUgOHUb2zlZ9kiKlc6yrEbkX1R97751JqJUePz78fsEhACjuK3soqtvQEOm0KqekVPekYQb7YtZe3dLQcBovZ+2pu8PPCkBB9JENgCaQWdue5NaImRFkoi92TxAA/dOmNA32/O3gRx1/SwB8PGNGPwDgrn/uauFVGk3onWWtjceutiyo1AT4InfeFwWtCJ4InjtLYZPt645dlT7/2J+MSY6slidmVNdMMcvhJq8uXI5eMH2SRuGFZo6kVC3OJJjpyu40koGGG0+lZum5ks9WoDfpuhlug/HsSV6krtoWU8vaRc6Je2pOHD2erI6a1c4nstolDphx+ZHB+ojb2LhgZQ93+JG2Jg+R1CC5AilDykdICS5Q2X8lA9wdnS+YOp43zlsXeXNOmgBoCjsXLXKsyelq/Xis5ng+Mp0AqK91Kfp3I2GK/1O8q8kMHtqFvgyjslP9Tmw9O4lWLA3/DNvkMi4ZuhxcwVLGLkx2C5+f7hEHmOcJo+bCE7FEflrUqD7h5Ko/CQCgD/ILH1/YuA7PEuXkTX1tmDudNbORRGA+0h5ojwn4XxN9okR4aNw6yLv8NenbztTamRdP96yq8yPO0csuG7aMSeVwTVWx6KTrp0+9xFHukM4LJJF8RuuZFKMy0NwwztStnUhv/GkBOA4JyOlojrSdOseLaG6u/kS56eLaWOSTORdfHPHsetex6sta5OM5tx4ZpI81fC2ch2yuRjFLdGa0iZ8NZc4nAOZJPje6adZ/upsUpVwS/jDZNsPA88hRY5WTI5HIebb1uaZJ1vErLxu2ZXU5XDu93vOqFjlN0x08u0Q1pfOIKfynN3ftq5TDyRDO+uoYLbD2hglOip4CQKmQdMkSZvKZTD534sQnaNjwnILteu7xEyeG8bXziZ37xPnkxAnXK/V0HHl3+/2PMwKPz+vB40SJP+vsOqh4UywAAPBYRdomsTVtP1nKCZGUrmanRUqtRUdpqOzXzfzLsT+FI/YkJ1JzIjH5fa+uvkzfnh+1zys606c7aA4AAPw8QF2XaKA8OALAjViANSrwa89R949cXSEXvSGEAjn9fbpRIMe/IPP5fCmfSxwYGIgbhb4c6oN5N5dLyjzFx66V3d/+yO3zAMH1JAbYA9wUbYqSsU5p4IBGi+vBeIgchXIZtyQEuRnIkEtMxGoqBe7XmO91/lGfXqxxvNqmE3Oqq8OON7PJ02u8+sk1TXXqgQfwGlNqREY9r74yIrUWPZMjVD8xoScLnI5+4gC2AcQEyd5sqdSXRKNwvj1LSLyK9r9kkgAhR1FDdFgq9OmZbE72lmRhsBFssPB2fqK2WWfWwzNIA4AH4M4anBEv+oRdgd6/0GvDoTE13jck05b0vT9t22yy0XOGj58YRmOEHbQMOSSOjm6YMlhFq4nRJHMlF4rO8TsDj/ez0/+NX4WIOwuC26MLOtqCktlkXylZ6stkugmATa6UPE5dyvdl2jN9BRyonU8WSpncgoUQg0Y4gHq9qOeK6BIAYOlBCk/D5gE319dHGCApYOKZAOqh1KQEXnj+Jd1MkVpYPjQ0sNo2eJTWwEAEXEFQjQ2S/D4mmw+AMDIjdiNWrq/loG/pRNdlnHL94z+SEuzNIBQgDUABcV8SNrGQ0bMll+hffyif70tmcCUzeYoaCxmRyYpCX6G3L9tb6kDBYE1jDxkAPaI1YbYLVqAxhUKAZBNg51xAmHGzZBUMjai3sYUNkzPk1KbRQoTBM4oD0jyEJbGnksypGYyF8i4nLqIjJ2i+M7or4ombGAAK+z87/U/+PWKBPAmomovgGTHMyebzheT7r+8cGoqDIYh0chRK+YyeyWXoZ0Q2k8tlCQ3Zo8RgJeloCooRDYIDFmJbNnpCkD0iPJMEcZLbHxHYoYpAatP27c5OuPzkTqGiIrEhNo2GKyOVYumHkwGfSaqnwhtq7H60HE4ygMTYE5/B+alcf/8rAoAoZgCKP98AWnPgd5FMJg6RADybKRGhBEqWiO/ryxP7Ey/IUimTxAhJPpO8+36owpWG1RSpR65z7rcamp/SOPsLu+fLfC4jkWkuKWmWaohOknskuzp1tY8L7blGMmMkJa/wMM0339m1eZdl5Xdt3rbPRj8BbyTe9+STY6sh12ARIBJ/n5n+f/wn+gjZWVLydK6/+cEL7i/+5bBM9uZFrysOHDgwdG9PPluSmUyugE4JUhGZPgk4chm3jxillHQz1kbuoU8KI1xbRze5BPPzEgGQDQkoS5dzSqxl1RgGUoHozLTE850vKL0GrPFXH/ID1Eceg7SPK59d2/bt20X23z55TcRSJQNnHQg484WH1wIAYvi+THLDz43Sb35exJAAuQUoir1+VHKM4JJGFAL6j9RlJiP6SkpU8m4+bdk7gMDtljWztpbiQ1iBhbxNw0DtgPikF4IFCOkt+kqFPDZoUnBMNv7pzqfVcCl6EUqg/+Q7VA8Eu41xOLUOjKTAaeKBCV/8tO7OkNVbKLj06wuk7bNQd30ZN0P0rx/YlMkmc2D6XMUCZpKkHJP5bJZ7SEkgcH7rlqGL2JLh2kjamvut5uaFagmGZfhGnnmHrozsK5UKWdGXz1CsjAIbectPr90FzSafHRr64H3Xfe82kDtxAhrIF/rqZzN/o/R3hvowroubJG9VjUZlXH1g9dBQNwxjH0kwc0AmB67P9OUyIqeaSHN5kScdLcU8NJH1Sm6f/iYJZqMerBTxRSmfR6ihhIBkBp8dDSKA/oB9nV3vMAAHhoYIgA8ndtMj153NLWdPDn/qO+FTiO41k5GZbFbkcf5ZUcqUWkkAVpN9zIpM0s0BnVJfISvB/jkYRHA1hdEZN19Kpq1ejBLdnlpEQbHZeN+s5nlq+T7F/Dq8wF7ev5ArFDIZBTCCYjSSldxtnZvfISu//gPmAOcs97yJgB27R3ttQ8OsiVWITnM9WQEz1Gux4i8lWciJtQuZHGmlgT46LVTJSdzZS+qVSSiBAlvEkttL1JB1z2XJ+D1CpmBhj4n26W/e1wAATFU90pMSa6qUke2tjOJga5PvR+lvinQIB02xYmjoAAHwxzPeLauC71knPWZxbcOshlmfUQXCA3jyHxkAYWWTySQZ6iRZIXJ6RKF3/YGhR9f36SKZy7JwMDAlKL5SpjdLLFASMIN9fS4ZyVzWsriX3qKgWF/CD92EP0fOblmWsA9BgAV6R0fRDIwn+FGl9zs3W+LZ9cwBFREIHoY4/o67urapx96NdkevbWhpOF1WZALXr8gDwAcAcJyizSt6Kdx4GxsPRPfQB0MDCVf29fblIfgKAJllpxDfZ2WSGwrdPOKEnGn1YJpipbhCi3yTlODX1VYwJMKY4D74DIq9CMcelF09gcqQXbDzXZ3viC0DQweOuu4ZG783v7fvQ8fdV1DhQEUI1pI33NwwsTLxydc3/kl9dHKz9EmXfeDAwFBcz7UjKiTlHxxelswDRQkSRjDnMgvkkhlJGiNpWQgNZxt1Vt2Smxqar+ISBvazaYpo4ealfJsFQedyIneFGXBvzc2dB8UASZyb3/XkyLF37dqlrJ4ygx+qt8mMf6jG0hvIEzglLTShi0IA/qDrV6HK9ofKvgefFOBQN2LgXhKCZD6frAxOS8z1U0in5dycBAsQMCQUBXi50IMro02ROQoAvBQdAUBytSuYwysbeoGivJSWknDxNnfuaxs6cGDnnj1jHB0YhzGPT9nH7zLyKI6ABZbe0nlKWmiiAHR1PvkN9eU3QslckhRgX28un8zlcr06hicP9QnZJ/KwWn3JQrBFJi+Q5EJ2W0MhiXEhP1Hy81HuXoNWunD9DAZAqGKYb5V6S6VkUDrF8l6y/2RWSrYm0rw7EWuwdi0nr+MfSgXrzV0bKne4+Q3LenPU9bHeNnplUCEfqwWQFvpsiZAudgPBByFZyqJNKtebR7sYuUD8PKXl67vX7zyw/mGKZgPvoJSzVXIKUa+LpvqcgoVrpib8wbsj8io8lyfJ2VBkfRK9uhx9JgFCA6iDXAGlMwCnEzW74HW+ypsrW5Vphsrf3R3v/l3FLd4njOUPP9QaPF9IPXEYxQ88u+Kr5xwKdkGlqnf+p290hYSbLdCV7yWRL7mvDu0cGhh7bYmpfbMl3KAqXCKzR3wNvxFsgQcKC7mSvKEFRD9J5R05HoYnpeoHW9JG6gNwimA+1SQ5Osk3d+4aGNp5KJ63sbJ6w4b4hs61/7BigF4b2jlwaMV32dN7YTXkcujRgAWgBbgNHDmBG8+RBSq04/rVN5AWL2RLfCz5bD7bPUAWYPU4BAYOLS8o8jlNGwyuW+TiyCR9QmXbRmEUhuBqfkbHc/styQ8PQDCEny7++7/82UJJ2CAuc5F+sPkhOymKdbd1xkkHbvnxj+lXJFpb47ute7fwr2WSHx4iILa8PjSEdvwDz1ZqDfuCpyveiYDwHJ8rAgC6RlgBc4Pk7slkli6ZzL1OYcmzvcsPBKRXMFgxfts+iKFzLAX5q7LjkmSQIbgKO2Kvurm/mx8tDAA84oDin3/zgx/8e9HCZBh8QYDgGtw0bhl2V9ejHxw4tPq7320ljL933fd67wp+J93JBwzCEI7/AP031FqZ0re3qfYfDgjPiXzyfkgB/qprDAAkAeTWl0roEKRfNbAzU8rk9OXLH11echOrgw7YQ+td9yQE3ILlhWvpqvNqnKJhLVjz9W8jS1V/X/+lTR5Lay+GDP/85z//5ue/+XdOD6EMz+FlyUL5EPLR2UnnO5Q7vOfl3RaxwL3PKuSHBlY89OxOCsno4PGZmKG1bVSdvKMa4DgrxA/QnOj1q79/suIBBYwQymR7e3Mi15uTfe9zEqxELg+FBSSpOKuYYshDq117PAC9JdOLRmtro1o56nqee+TIju1Hjtxni8HSpajw9e94d/DdjSWv+Gdc6P71BYSNHIsCWVFsmybl0f3QIfDZsyvuunf5w3etOBQwnO3zvrbe1oe2gAcGVnjoF0xVfrltqy5wTg2vveEcHi0zxgMKrhCrOOjBLE+Bd5Mz7GZLBECylGUvMPH/lfY10FXVV76ZZXSeTJ8Z+qrNtDdMmCW4nivqGlzF+lEoER37ZkoZQBHKtF2dGPXCShZiqHxoDBAk9IAQcsi9wlGUOOSEJp5LrndOiG3GvIucJaaFi+CBksMcJr0X+sKBq0e8LYb79m//z/3Ih0I7RwXztVb+++yP397/vX/7Sf6tnsw/Pi/2MBN2clIpGUFxyiwr/+uvv/XZP96V0svLUr6JxX/9nXPnJnx46tyEV1/NusAhCUwcmkg4Kao31dB5Sc0HRjzz+swwlr9nJL3/kKmCn8xrOqAEVGp+RBj+nawB137+2WQAHgKqXs35cLCAS56RWIxwLkw/6pIFaC5lbqqmqF2E/JQYc2vkSyDExkgZLwkgZScLUuGCsj0T/tdnt5ZcUUp9Kd+4yvU3rPys8K1T52546xf3PsibW9S0ShkXxlIYHNdvIzd3gkLOhRErTJfvPg/S1CGvN1bs4FGG0vC1OD62GdsN01dkBPDddeJW8FoepEAU+fj89/BngtAAh3IByyRs+t7AwHuICFGL5NGHHROaq8YdK352mAQMr+effjUIIJEqSKmFqV+tH0cCuBwv/eYV323/ee7WCZcL139IAvglZYpTlpryUFpzXA01NTfeVUuBrtfzcQNH9+3bJ3T/veUPv/gO7IVQpEc9K8hzZUH3jSQjTFnL4blzd2YFsOKad4wB/QSrNwpR8F/0cYHtDXHoxi50aWAgTqHMx9FADEq/cNQhT+Cwb1rDYZ2vPJhHWjWSpaVJwy0YCo9LvkUCuO2bH/6ytPiKr+y/TpV983KhmTxVCAEQTL53aTqpquRntXi0rZ5tHc3427ateJ0Xrfe11Dz55O7TFDBWeQIQLNPegjeYgHCBbAV75zZEt2faxaAL18alnguA8IV4SAwF3oog09x0lLEGEznEFSeCd43yGJLBs//FEnhDEaSXJl9/EpRNkQBgAqFx1q/Xj3O+8/Vz526++bLP98lJ3+ShcUrSLmh7/jFxlXo5YkmyTfnAGm9x7YU1UU3tR5+s6MM+DmfpCUBK844DHi3kR08reg5SPj33AP0Or+d6ha6NRzuYLSkJPxjEXwU670pQlNptFHC3taE9j5RAU3jLSizicNX87NmzaOQc2Md5DeaZ8TOyDgGYJAB13K9IAOfeum7ChP95i+u7aYLvL+1U6U2TvlZoJDfPepTvUqe4lyS3Y7mIKm887KblmBWBAFTZc+8cMV+CAMjmIYCw12dhnZWwFD7zHDab2RNtzTVLXeuSMQ8AiESgGglRAabBwoaJ6d8LvW1MAy8bpAQojkRUpQ9thC5EwBJY3if2DhqCzSoZMlw7JaUS0lu//PXTp8699Z3Kt/x2yye1P7RT9Hm/rSQTFO8qIYLHzp1t8Wz95YcXVklpw4n0hQPBD5idlU928fzp3/wGAlCFAOCY8NfZs90ppqgTCeFe8zB/e3RnVgBX7wvfGMiG/sxn2A8UhMTWx6MEtbYpMiaZcHGh81SYYegRTevzuOJZAvNwswmWQEy96EaCwpVNh3z3Fz/6xata2HQSKb2s1jp57jVbSSQSvM7VkCUFNaM5wt8fXf5wFT0/GEpLm2NaKyX/mLASTj9BoHHVO1kT8B6LFNAUBJqsAHPnetZg5QngauVhIKAZw/RgNttBgcHDbGsIAm5DfzovM8Q2BFXx+pwEMSaeevz+i1VeDQTyP3Sw8aZKxZhCIPBbcXKnkmL6ynwzt9zNTKBQVDBg6F3kCdrZiOYtrBKPnTbjsajVGQi0HhR+gNzcSxUVFe/knGBGAlYMw9X4nr0NT9vNzd7n7awArtoZPHskAsokRQXoPzKjZP5H0fMUxt4AXQbtrYJrSl5I6xG+6xLT/S+v4VYf/hfdjmDD3fMoCeAfKMChy79cnnzXT+a0CD5pRRJ5PFSAAl5TVfb5QTpF6YesUXYbPMhU4vR9bwoBqJxF5D0K9ikoexvm0nP4QOazaiYKXHVGGOYuENDGalERzxgDBGCAIv1Ck+Etu1X4zGSYYUllNj/R4EcnlUSmsm+RCvZret8hfFkNGeAPeupdUfI1QpOUCTN3PC4IJJEXQxXW71i7dknTJSmUk0AClJ0EuGxIQFUEq/jxdyhvMJLpvM2G6JUhJ9jMp396b0/200o4K4CrzEbkIaDhQBjZIHZ5kAM4ilYXmVehSrIgxDbFomdF0KaBAx8LFQQmwo9JzHcRImXHauQHvaK3aU42SmdumcMcM2GwivKWWMyf7okqkZwAlHQyGo3vbZ67t+eJwMEM5sEjZSwABO4meATOHHgap2827GMHswLoCd4pegQCVwkDwdmZInDQA8K5ogBwQMs2yrebYNe8CpWblA0uweF/ZewN4m59Chh6jQhjNeA04TW16BiUkAdOEQKwDUUq909YuqGWSyg8cSodNu1ZKBl1udKurACkodTKhrnTp9Nbve+R100MEnkiYBcQ9kvNzQ0NDQfSDQ3pMw1PP91Mvt/uOZaRUk+rlwvw82Vbt4M5BFAt/GD17JwA9FqMiF5okrh7h/f/YU5NUmtr6FlM//ShTxEf1ta2tCl6LWvBIp6np7ARoji+FBYg2CjjYIUrtX0zd7xgGxFFDulsRnHXegq3yK56KHP+n8+d20Cnb2gmhHigNbCTmbdF4VdNDylv78XpG5qbm5WVK+Xmt4VK9PR7SSl3Sqy7M68ecC05kZcBeEBYCKAF2XZvE9w/RTYZnlAxIzXzejs6WhrxdLwxr3ZxzZrexsaWjo6OffMWt4mNmGEuU0qYFYAFfEsoANYQqX5/+a1btuyJYjEvl/6kqOuSCjy3Ph5XX+Hjb6JXP71572YLVIVO178/cV8Dgjv3kkpDv9/rHd7v2YXBmzXNeKtHay5KyHkFkS8LA1l9D64WGUDe+QMFnI80id1AjDwVmU7b21i5wHsaB1oaeztWZj6sbOx4mc2gxlDFwmoj+rOsBcQx4WcapcrfLG3f4tohRBDAZtt11z/HaFDeT8f3S9Lc5gNxk6lbLa3LcbY+ct/T7N3Jgg4kh+j4fr8X940wr/fkcwf68dcRb8/s3H/KacAXA4FgDgIHxPlX531UcKH3xLa22kWLF89bvKhmWf2abb307k/goPzGO/iDgY4FK1tYIUguvScqW05QOBTTYCHBIedZgI05F0kp9xXftWMOu0SDN0GAMRxMHOfcWJe0adP0p3+PtFNOJ/uimkIaoB1En+/OI2T/5pmGvUkpW/xQxfw5x1KKFz0E0a3M5dB00STy5c/sTOjLVAJnDy+IXHhv2cv7ejtY2xvXr6yspMO2DLT07mtZQ/ZPXmDeeyd6e3tPvFyzaNG8ZWv2nejo7SCtaGzsXQY+VMyDV2ZjQFyw5xsSZmr/4zVX7GlCi0ucBbD2wfje6dP99mFhLyeHwFbaRbkn+Y7WJ+67b8XPGxp+P7TXr3sq74GAzB/xYKA17uTu0NAlk7kcXPEFJgC3z6FvOA7OCaC3t6VjYEHeQxrQu2/NMl2yvauI/ZjoW2Qy6ach1cz75AJJhDShY9lh5oNistf78YIcUGTxXjUIoP1fUUg0RIMXqUDXU2ufup9Mv+Fk9p5UTZsRTcX1C5mC3XzfXFL9t/0672H3GgMByjMCcIK4JM3tWca9QGaA8AuyAUR/DwEF80qheQI40btg/YDQdXrRvUeP7tu2uDYCNjRbVjzuYlg8pgFMbvBJJ2sX7xtoWbCgZRGzJTcCjiwVvysvyCCkDAHs+I93rVC2w9GJWVNmTp06fW/+TpvIUHqzG9EiaMLQovLv6fji+1UzSx0c1vkODZsHRrZQ5E/OjJ0NwN+J0JctAY0UAB1638vzwNsg7ZJi+6NIwTDWokre3IvCM52L+RVgBY7OpLGb1nSQf9zWu3xePfKA2/voJ0KMnNA2bkAAS9uniW0A/Bxunjt96v/52b3usEdPh5x4lPxgJKaEMFRaJ3DOwYOdnV4LFVA5pyVxdyRlTA4HfVEYyBaBM54/ONIOChYvqqVsDT3PpN8GE2SrelYAfADmODbFNl2emkXeIi/7qFIEBVwHTFlEDoO0hjNbjAiXFZdsu7AvqnjLpd425lLIv5fdYP5DbtByZC3GlIZpw9+5rtU80imUfOvrnR9AGQxeYGk6yZHnX5F/LTBmTQSJ/+rVgaznr5496lsKPIJ/nXA9WXBIxdiDDgJ8MoHtzJ/NJrAY8yFhVIG4PEdf71t2tANBofLO733vuwANHUfn1XoLdIyw5Pu7CwMX/lWW1JB6+O3p05W333Y1oMEHBU8f9vuiPEpJTiQiYVZ5KKQ4rlIX4NO3bmVTD1KimCkDjO4fmDssCHwZX0pQZACeGQwXgCnD1MMI117dmZnPMdQgv9RpZGb6apj3GIUA1gAeha5dtO3oiY6WO6fecWcv+8/1LfOwNwuj/+ptz1KsOEooYe/cp/WGvaqraGrbY4wG0ZGs6DY4IdrS6bDCI3Gyhk7VyMG6rXVbt8e5ep4A3GntROMwRUV3lBOfmhcExrKB3B3YRn7z+QAwJwARb3gfni2KLgprAEgADx7hUF8rTEAQvRgm2POVcDjELFGbFk+DIjJuhDp0YPzV1Gr2tTQuqBwYeLaZAN/cuIammrgLUq7n1qsYnR2+iiedxMQK6ExiR3oS6MbgC0s3CRH0sPOxR7cQjZgeHCsfCub9Peb5qwt4KI/PQjlgRgNCGR/AtOieD8iE5bSkhsNqdnvQT0kAty9evKxmcW/vepLAvMWEpRqhDwtWNt5Pln8YBE2xmKNEtFeBBnUMACaZVIkXj7i4SE8QHHJjIDF2I26fa6mZ3T79TLKi6qNCgHcvlPt4ZHF8Y1Zl2PMFZ68OjHpmzC7AwKNOB5JA7SzIHvIEwMJnE8gIIMR8egZSRGx+l5VK+j1ux6rGkLL4KB28saNy/UDjysbeZ2EVK7vcmKpwx6nmWjLZwC/QI6MYfLooZQ1+S4ljsFLuUtwoejBRh47Gs/zuPYFOxML4mC4g/2p0hBuk6B+cwSlwcHgJJE9E5BoKZJ0JK3AoRZcE0QNTn2VwgKQiDNaGPQFI6ZRY+gH6D1wRtVAU+O5KDpJq7csdlY0DCxpPnDi67ztGyT9uad+wOQKDjhIM0JRYBM1EJ2Hs8qVcKEBDnpFO61YXt9RZMdWKRbh5z734vptA5TykO6No0wCDho2PDsNCOQQUGBMA4fz3VLMTFBhPsL4xkuW1LmoGCSqC3UWXMwIwuA5Cb1+shutDOex+EH+QACWyg96B95Zv228q/rIJS9vbn41bmmo5qqbFtbi6gJzAqzhZ/vIiy4pY2GkjYzQHPViqZWlcjD79/vvu/wsEUaYbBQJGDxCveyT/cBkENGMMzRcSYZsoMFSJbABEh0xwyGvADJlcIwTAJWIWwC7TE4DKOCgc1pnuBJqCZHgKABBWSii7amt2ie+cJBe/1t6+AQvbREdRV5fzaAYJ5K0wcLpUJ05pY9pUrbgVJWxsCR4/133//Ysurg50dbQAvG7xL3iyCMjDwWNKAH8USGp23xFmP+nNSxKFQZWgMGfHJJfl2PgUFgy6UoJ8oODKYxJUyZDRH/wgbxDhzRlqxljKTN/ELe3tjfFIREO7HZ3Ufczjp8cliff6NSh7TNWUdJIvDuPxaJ9LGqNG4irup1vJB5B1Jkeq8NQfjeyOWJHdphBcXe29etaCTCFsrKfAZNYSRSyC45Fgw+ZXKZm2R/31Bia7xaZVVQIFsoRiEMYeKNHRlcanKBtuZGzAQyGKcpj5s2Rf8d/c397+uOq4fdx272pMS8bntyVuuY6SfmAow7EiajoFLm+SlqYoUYJJXSoupY5xFNAjo4LAncNQAOtE1gdkhbWaoU/1jMCIJ1ciKMBwj8pLUWD/KgZ2VTss6TJvOLIJyW46ivsQdgik52lDVsPenCjTJKpdqAg+JIFeA5XNMH4Ut9phXzFUYI7cRXmOItPbtMDP/Bidu0/SHA0TSHAOUe7CVdtYAFbMiqONKs6c3vSVYADZgaGNDAJfbgGZh8PA6PMHciWBAr4a5TfNdU6Z/hFEaVLCNiTMPnI2zNvRgJLTCoiuFW8OmtmOsGhzigqJhFVblqSwUJyQv7j4b0kFfsprVdJD9CPCB1oSmgRU0FXJoO8m3EO+b086CZAct2J9EZnv0bm7XPBMGZGRLuCuURYwvCqYK4GMAYBn5EyiQKB3Hau+ZOzxMnhPMkEDycbwY4i33g2kTD8ygJBCQJheL75RlKtwVHjBx9qY9YKOb9u4CDAM88wZqMCO9tdAH2AyD9Nna9fu2NyFfbZRPnkM85qOCg6POOVFMbIH1gASgqJhNsXJCCA2RiY4kkwoawJZ/CcA0EgPyOEvKwDccPE2V9Dby3xRxgTylBgoiIq21jswcIHJG/w87icbPMfHeTtPWJlcEnsBp1dtW+xCtc/gKS3x/e1P2/9v2pTJ1kEj8eHatR8C+OuaEhFbTAH4yAOCxTudEB3V8VhE0UgWFhlCLCkEoFtjTwyNJYDq6mCwOqcFowDQsPOzCYDSB4OKIXC7872ojMTAFFdgwIHbeK0y8Gtal7BLXtdFhhaL0M+1kQ08v1JSxJAnfXr3Lj7/mZX+MqjANFXrUrBvbwiUXIa3eC9JEovDzTkW5nIicK/kUOi9q24fuvAUOaI6GQHYI05xxxjlQCEA+D32+uL9j8Y/wyFxAYiqQNstEjxwoPIyT2RGGFfktYcAwn5XJC4gQjLB+UdvOk6/eR+hH0ChSjHaiOptd7cngDOTpZKJS9uX1IKlm8QHhuYHXSVKBxXpkOrwKA0PIW0mHwB5RN1YVFUichQDGgIHkr6NTIXGolFhAWQRkJiHGCWAkSWhAkpEQVrD2Q3SPEHwyfwgJu+Bf29goJeJgiS/zUT0XPgSwJB0XZVVdgKz9BA2b0EAx83IASGAUruk5O/b28/Rz5kU9x6EDxQIwMFU5BAvvY91YRgNQCgiRhMswoWYXInFL54+xgIIx0ZEwfyC+HABELxnBOQVgq52fhIAuXozFELvMjOhGCHsNpGwLIqZC2q4HiYuDFR/CgQqzOulordKjQMvSCiKTUFsxBZlG9vVFSGAZqlsMqnAf6YU9c0KB9ycj51zRft9NO7E4PcyniCiYMGVN8QaiVlOtCve555+R5DtjcwFYQFTRwoAJREoP1d/+I+RN6Fj1IUL0H2EpQZhzAJ4i0Bl/iPEG9ApBnwSS9ohQfAmCGFAHWJobiqlSWBIa4MJLACtDC5Rte5YVgBnyvwlE2ZRJHTd4xXvQAD3uraeSYG0kwleYhbTMI6oMJ8h50AYtvb6FHsCr8Cm4seG/dbrxraAJ7gGtrE6c/TZs0eceAxAWKB63S6G7MFhVVcFOOTLUUJBn5xV/HrKFH0xzKQJb+g4SV/cDoMuG1Hg+VoDJLJquGtTngacKbMnTZqypf1uOso7CYEDrSipvQXNV7tk8AuIsay4hl7iLsXTiGg8CvRMmcCPv/3tf9v90XAcNH00CMDFSu4tsxccBYBnjCUA3buZB/mvkuW+VMGAqnBF+JNPbvpq8TglmUyYdiJhJm3BrGhfvlxomAZ9qCz95alfv3WYvmoTFtQ4FcoIYK+/vHTia+1L+N7oVQoC621FsSg11DCBoilmWsVMHr4a0dOqejKuCu0g76iKegiZQPfu7uECGA2DmUAmew0seiFHAMDh4S8nAPAahFXmrwS7GRuBLKNqk/JL5AI/+WGRm0ymXCmVTPqHbNUuTwLZGfZQoZFKSeWme27lqQUrh+xyKWlTTAyFwQbpCeBMaVmp737Cw3QWcyUJYI/EDeMa2TfInMUmP2BfkgYlxFFgRAdVQ0vllY8JCGD/7u5hPmDFGCAgO0OdGYkMjjju2OcnE+CsHgMsGS50Mga/V6xL1pIHaCkMp1IpuzCVNK8bkoqKfMkiyR76qpQqtFO33Fz6l3s++x9f/7pfvbF0fEkKzjQCnpCMAPzFJcXkBuc4EUl7inygo2DqUIuh4oONDqG0oUU469m5ExMVkZjDY/wgNtUcJyYYR3d3J/J/6dEWsA4NAhsz5x8TAIxVEYMAQFOl87ZHhDCxzdJUTdXvx4BXOnbiglVeeIvCAqD/pAIzNVTkTya+KpMAlHGpZOmEz2649dzQzeXJ5HVIIH/87e9/v041MhIo5luyDR2KG7kXd4O2bKHiBeKiuKo5cnoIw4lKJBoI9JCLNRUvEnTFMawfTwgBWMNqwnfmXYmJ8yMAMgKqzrz/EeccDQgzAhD7k/lfA9CHoDHwH0nDEA6vLZZKlhcqiUJowZB0E8H6Ir+bHC8PFdrl19100zjfZzesP+mO+6ubbipUkhEKF4cwR3PSE8AkcUk0R3ZRD3tsD8EAsvCIxuRtbgwDxhq03QkHAnVSinwCT1SQrzx/mlKERCB45AOz28mvh4yGwevuW8F3H9wHlIPBueOPGQGFAFjnTR1MIOgGo2geZgiEBS+hGqbRTbqpksnJwmRSJQ0oStrueOnK5a9AAP6iZOrkuc9u2OMkb5JAv2MrpnX2uNJWW9vmCaAZApjZ/kybwvWwpXG1z46hQGBhw19cTRuYQ48qETXRGgj+HMVRy40TCnDd909b0f5Aa2tgv+XmC2DqCBjM7THBDAJC7Ns4ZgXoCwRgius80TKMd5dZ6EmWsHxgfzodkmL+cf6h6/ymrzAlFyVjSV9J8ocFMIFkYbmxsuGzGzYnkmVFmulPGpvQ1tgG6u+MDUAAf7+0/QXJbUQYJIx9CfbfFe1yQOyPGrEcoTSIsqOewLpQOkVHV0E44J5+/7y1M9DTyoODeWEAICDfAvhOKIOA2PeP8HdfXA8iAbRFTSVs8O4HGVvUvHZU6IMpIw9K6cXjb5mfTPm/drO/ZMgoTTlx2ze+tNxI+ZJDuq/o5obPJkQTdrJs/PhJSf3HmPVsayEBeGj4THlxcfHEWe1zNMviTQWuGo/F6d27Eb4Xx61YSlPgBy1te3BdEmFBuIGL759ObA0cCwZ+N0wAI2DwOtEqPls4AC4BjQCAY4X/nACMCEb4cBeGrUGsBYoM9nsyCJRClhkib8F+sFRqyL182SWnkKJf20394eIf/vDuqVOnPvzDxfN/oCiZspU28yxpwEckgK6MCvhKSkvu30Ju8FIl7kWicRXU1CSCqAUaBm8LrYO+7FhdwMaaawqEXY5rXUwEg63JQCDheiYQJDMZAYO983t9MJ4R5J/wC8JfVgAhtW0/FrrroksW5OfMZQ00uBxcz/QF7ypryFTBO0XeOW6Rv5Yvvljx4vnn0SPKc0EXLzpxZ3/s7FlTiZERZCNhmV1aNvEn7XPojLgeVlQpSpm+dMlCa4RKKa8ChloV255UDNeKcimFAKs/SNpPAuh3XVETbaW/hsNgcf5gFgCtHlkBXf3l56d0WMb+B7ECgVvyeSEWN40avPwZcVKWRESg1FGNRMh9oZtZ/W1FxapnUQzZxgL4zW/OX3SPWxCAaeU5AUKD5RNmbnmmTXd+QlBoZSzWRy9bU2KgYgGVWcTt49222GFCLuEgve4egQJh/XTmYMKzgJ5jI0CAxyGWPT/+HHbgMS/EhgkgS/vNW9259m1iY7ZkhDBDs00WxUKFWa5ZDyTJoqwwJR1/s6LiRSSCD3aveofOv+ql05bTLQRwlrzAniwaNEtLyA1ukOLS8+QGweJLQYDCP7wAOYQYgUKSKE6f1HbSMZNB7+THIAdEh35YQLAn0TMcBq/IsIkFhRJgJmRYwP+CxqB8ASiZVXC41udWRYyDcEKooByMLi8ECEVV61Z4epA6TK5KOf9iRUU3d0e8WfGmGPaw6v+NBBCL0R/dOTfY7KekeOaOLZLcx9fDLiazXUmjtChKaRHFfasP2HMoJGuaVRdEi0CwHzcimetBcYoeeAKGwV43zBOCQ2wjBb7qDAwcdvyrnV5ogCoyYO6RJiik61KY+8PlJtEXAP/AC1PqgookeTfbqbD//Psvvvk4bmg3rKr4DQTw5vmLCxdyGFhNnpCU4EBWBUom3L+0ndwgRoynqKoMJlOw2OHaiJLfuErJsLzZ6rIcJZoQry1IL94TgIcBSAOGW4DHocUIyKMFGX7+a5BAAY6NK3JdD6E3RudGR27M4iBQw70DBtOh1gV506Bke7agbjrP/UG/Pf0OuwCSQtPC+rPZJ7p5r5cQ+Mt9E2fCDXbdy2hwM3h5NEvhafK+WCQSU9KqRYHAIXTsohdG/OatQgdy99z5MHhdYAUjoNnVWUqMjcMMfvZV9Z81IMyEtaqKJC6khmQuCuPqR3qZggCWPWJXJNnFv9d5A05vDLR4MnC+BQs4n3suVi38KHP+j0zzwGZPBaSS27a89sy7EQddMo/aGMSJ4m5IE2kPuqU4/MfA7cl+TxgzuuJa8yviORicKYLj5SPw31M9vAd044zqazg/aHSwBsdgSn/weIm2JvSu40aI+d6Fk5A7IQDJ2wjrhQWEpGl89NNvnsZfv1242/LOX49xicNCBeaXl8zZ0r5EcvcADe5xpYjmRGOqI3A/ZhchgLgjrtBcNAgFPSkEW/PPkYPB60T+ixfPrQDVwwHgVcJ/TgDM06diQYSg7ONrQYbFmb4IDEdgGVZdoIfni+Zxw4iuSH65Ay7gWRbAKgy80VO12+TzW1VVuDBXTaECevHEmVvmaKaNftF7n9+MY0qWpPB5L112U2nFunwZE7zk9vs/HuzxTh9sHRwczJOAB4PX5RjUVnPmjwwgHwCuvucq4S8rAJWXQzCJYaYHhjlQZJ1QwFFsBNVl1Ek+qAu0GpgdUNbg82gGlJRZaI9pYRBQUVHBArC6ecqpu2phkyI6/FAcmauU3vrQa+0dEjMtkBUcP8587jGmVEiiGLInnpQdLgO1Dk6u6xfYhiJhzzcGczYwV3TGrRs+KSlSwGEA+GrhP08D6OH8h2+FPDoVSdaNTZgV5VZnvG3j9a2tphIKG3xbfpRyJsgGt4K3nxYTj0IDCArRDxxqWrhwYZss2iSNNuf3Z8ok37T2HS9ItiCiXHv/m3D9Uew1dp0rxQWJ9Ga3tEBKXro82N86eMsDg8eOHWs91n+s51jnjd7/9x9r9WBw3vnz6BBWX4vJjxaAJB4l5LWm6mHeBWWKziCe4wkBHdcFjnibwLcNDOxD6ZScA1DA7ec9ARAWuHi6vvsQVgrQ+atU3csuartdp6yU4sDSDeQGu9699zm+JLdUyVFjKH9dvnn8pHQyeeNX5CtXts/vHPyUBNBf9+mnnfPrBgdJAIM7O/84WDe/f7CVYXAehey1RPqrCMBrVDOVjCRkj1BnGb3oTcADKnphDm5tPSzaJQwKDm8IvygGBYQPXLWKNOF41cIV3/7293H8Xag1q3JYUrZX1dNpfcW3TZm5YwmXQ5ZSSvAWQCAZfB/9d6W4/MZ0er6vSBkq/8ak6/1/vOWB/qIHPi8fV1Lk+/TgjYPzv/K7T4tuKbm+7gBAQI5C1Sv/Bf8cAJQVAG4deG9SegjErm52Xg99IVEcgruXOwOtGeJ/9Etw57jSBwFMGxYEF3ZD+xc2kdxCMufY5ksVVY5jlhWXTZm5dE5XLKZom3mSFm6wj+CgFU8W+8er6a/JRUr6yqeDk0s/v+WB8WWfflrYOTh4/c6DN87/Ss8fH7h5cPCB8b96Hqwp2bZodL6Ovvu/pvCfJwCVF3ioIXFnmTbzBLDP9LRBMToDPeimJQFgGcZys3ZZTa1hMnseSZBpIhIJOnv9Ln79mC3HVQNqzG9WVFlxUykuue3+mRteo1TwksQXBJeSBAWiikYpULFU7jPGXSlSPp9/81fHlXx+y7jr+z/u/4vBY4NfnX+k8LqywY9LJg0e23n9r58HmXAmACACkuejALA6Z//XGP5zAgDDo2pL4DvFI2djgafp4lEw1WTgTpib5p7kAfh5xlL0hmR+YH8bnf94/cKFu8JYphGSebpSMjtfqo/bpjlZL5tGkVByCfCTDaxtJC1yoxa3CRfP7y8sK7tSpJqFPYOTSQCTSnyff1pAEbCo7sh1dYU7/zipZHCw7q9OPZ9PJ02Hr54dJCCU1wN6reE/JwDe+UECCBMKDOlZVnwWwHtthAKZOkgJBhgzk09fliV7eFmHBvyUy6lhcz9ePRvAIXScA01Kwmj212NwxB8qmzhz1gYJV/+wgaXOJdyRokk0Vewf/MZfHBkqUj4o7NwJDXig/6Yfpm8p7X/gRvYB4z4+eH1d5/hbT/3oe9Oz5yf4s/oeHD4PAF5z+M8JgI9no+1JhQhyixGAd9bwhDRIFQJBaDUa4b3x//f29S5TF6Aa0IVLZFWlozcdp0SoqgqxhOmlFJ47Nfc3QQBGmb+UVOAF9ZJmS0tFu5y1eSitR2NXyuSh7aWDg6Xm52VF36h74POyusHOb3z8cWmR7+Af++ndT57/ed3N48t+3ZBXDd54D9Kgjfxv9jijukGuLgAQSPCOFH5yHcFmy3s8LM4wQO/kW2r0w8pYCvjG8mUtu2Rd596QleLueH9TVZzgz25uLhRwCo0EElABk+qWKpOmzfzJEgmky+vBRxzBkIBuuZHLV1LuldRg/6D3fDxI1u89QILeB7969Y6pw5siNgaqq/MA0LVkf6MEANSrU/RTZca7GIrh5+E3MO1+tE3loZfXAz1oFCRZcMtUBIvVoRm4F57FAgiFTdPtZv+fmX9EwylLtAl0HObkMv+tD83cUourD7jB5/mm2bJALeWquoP2+GCwpzWIfygbDgaTyIMyH7Ru/e7IK2FRBdqY/+GfLgCeblUpJ6Tf1WYj50D4sGfntXibNiFzbJNHOOC+WUPgZT2E1ohHo15LrdndRvBHCUP9YVnoleJplxZPAKZvGoEhggJdaJzfgd4hTYth3bcraBqCXhLPWYAogGSfdXfc8b1cLSzDiPXnhv+cABSOWGZID+tKOGRgSAZd8x6j1TzKy+jZGuzhshAhG2xFjPILxiZEtoFKJpkjmHBof/0maL3EHDu5cTchgLLy8vKJs36yZLOiRR1clE5xnK5oNBrR9nR0dDSiS7iH9wcIWEPH+V1+e+gjdP5cX1gmVcx9/ctq318mAPRF4PeEt/dqY4A+bRcGBh6uIo+ztY6erT8XfWEqN4w8qQjWj0yn9KwQ/L0eMmOHdou166KHUM0IoJt8gC2BfZsSgtdeUC5pl2SMEqMZ4t3H757zzAZ+7p7W4br9Xm0Pat+adxvyyP+emlcMxSyQly97nxjZDHLNAvB4ShQxnYnTEyogz02BvirQ2tOvfPDBEc8topdouciRuUUIPwkbeGqPAW1XzVh3t3zI1HnlvOmtTaPvsT9ynThh4dJNxcUTt8yaI1Ma1EVx4LmfuVvufqY9/7n7cSfZ38MV0OEK/sh9d+QVQykCVs/YOCNQnfH/f3L4zwlAqLbohBUtgio6xbF/fvHBeJzHRrKRQUXf8BsRMnNGB4QhuFG4EqKgzxzabdSSEwyhtgBWkDAvmrBdizSgtNj3A7mk2PfQzGdrZUdzJVQH797QPvKZ87iDBmGR53md/j2tT9x3149yN6IU/gkF3lOd7QH908N/TgDwUrxIEeMigrcI18Mo+yzDmhPe9SSeg68cBA5eg8KR2AFKb5k7xESaEDt0nLygJzDmljbgXx2XgODkYt936qN+UoH29iXSpYgFG1gr1lzOmTbtnyv/5fGMMtzdwRdhwWxlsMf93SP35VfD6bj3rJ5RnQOA1X9y+M8JQA2xCzNkvhHhOzJFtqXtJIB6ZLyS8soqTwCvVLzEPWPoBM8EOnaD/wSnDwHsr6pa2MRrBg1d8O2oIFBz4mXFvjIMZ/qKJ2xYukSOKNrJSiGAx/+lsQ9LrEOG1PjPQiOWLBHuP2MArW7PI3fkKcBs4P/Zs/MA8LU860AAAAH6SURBVH8jKS4Q5CXo/WUyWGHs219fQa+6hrSCsrntFa908qdfqniFgyBWKhmYaocUNuNubBa9af3QIezWIxnsyliMwYSbtuvSm/+7enpqy4tLKBK+oLz6KBYTrN3x0xdiaKvGG5AAnF+YI3TCzfP/rcn+4PQ8D0C2vxEOIKP2V7/8+FIBhAFhuPdZXBGhMhauC7xCgG+Z8AvG9lUVJIH9LbteOogEYb+qhjFVo3NDkc5Nghgv6/aOvWth/f6MCGA+kqqVFJfy+eubSAVmzVyy9DlvVdFmN84bJLCghVIS8/Fn5kAES87lboODvyN1uOOOXAgICpTg0UH9t04fYCisihYBHYQ/IVyNbN8aaJWPZgVgqi9VLHzy5Tf27Xt5OfOtYQUqN0yzzB7ieYnu3U27NHFozoqEISAOkHeZZJY4LZBAU1tZcelDU1EYXftUJSlBpeXySi36T7bluPPsErfjbpLANCfTFdWaIJeIVcMeBvCCfxYB/GnZ/xgC4BiAOQG4AMnjL2+NdJMG1CrcKWdEa5Zn6UUHBpYva4pyOwHFQlx0tz0FFajdRArBNrGrvqmpqaqeXz93jvtL7VL5UrxbtqyopBAYmjqTjr+gahdFwnvb4rABVVL6LNdS5M2bXbeFJeCxCgeTbiKIC+GMAgS9+CCO/eeHv8zz/wEZPRzmLYKEdwAAAABJRU5ErkJggg=="}},"time_used":59,"timings":{"blocked":-1,"dns":2,"connect":9,"send":0,"wait":11,"receive":4,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"c.tile.openstreetmap.org/12/2086/1972.png","fqdn":"c.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.109Z","timestamp":1785160687109,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2086/1972.png HTTP/1.1\r\nHost: c.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"f79b25cd6f10f834b3afdac3081891b9\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 07:52:31 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=95591, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\nage: 31127\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nx-served-by: cache-bma-essb1270051-BMA, cache-bma-essb1270023-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 0\r\nx-timer: S1785160687.156938,VS0,VE2\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 36056\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"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":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]}],"data":{"size":36056,"size_decoded":36850,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"f79b25cd6f10f834b3afdac3081891b9","sha1":"ea11473f6da4e480289045ef4d94a65ddd9dcc27","sha256":"b24a29b909d6f4feac13d5a02b9607a0129bd649901a64f383e92e866bf0e047","sha512":"1e9b31e554c654bfdceb29e82fde85e6f138b2bb1bfc87ad6cc46e307b1048d17f6e8c53b0a753ec849efa939ffb7532207291e6c0b38fb2ac8030e24c981e53","ssdeep":"768:567UZlYVO72iz9ERfl+OXg9+AnjsHYlQcLzGhhw2fiZS:CSlqQ9Wf0gAjsHYl1LGw2iZS","tlshash":"f2f2020009a418cc5d63711d4e796ef07d38f90d9b385216924e9e63e242faefda37e9","first_seen":"2026-07-27T07:46:39.901899Z","last_seen":"2026-07-27T13:58:36.765157Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":61,"timings":{"blocked":-1,"dns":3,"connect":9,"send":0,"wait":14,"receive":4,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"b.tile.openstreetmap.org/12/2087/1973.png","fqdn":"b.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.112Z","timestamp":1785160687112,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2087/1973.png HTTP/1.1\r\nHost: b.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\naccess-control-allow-origin: *\r\ncontent-type: image/png\r\netag: \"ed0e70215b337c85b7923bbd2b17c4cd\"\r\nx-tilerender: odin.openstreetmap.org\r\nexpires: Tue, 28 Jul 2026 07:12:16 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncache-control: max-age=93176, stale-while-revalidate=604800, stale-if-error=604800\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nage: 31127\r\nx-served-by: cache-bma-essb1270040-BMA, cache-bma-essb1270057-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 1\r\nx-timer: S1785160687.162577,VS0,VE2\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 18537\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]},{"name":"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":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]}],"data":{"size":18537,"size_decoded":19331,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"ed0e70215b337c85b7923bbd2b17c4cd","sha1":"8a5a4fd823e8664a65c2703e2f4abb29404362af","sha256":"6edecb021f3a9446636ea97c9194852650ead1f3406a4fa0774aead4bb61ece2","sha512":"cf771aaa57be5f82f40f97240b39c646b6df44fa63219d5340518f6d63394e213f11db02e6769e1ce45f8562f7e204203a593da29324377c2af7d32e48493f5e","ssdeep":"384:QjJtA6HKBjk6KzZeLhefO48mHdfoOudAVSafuCqEaB:QjjA6HkjkRgCOPS5oOueLhw","tlshash":"3e82d017cbf8f995fae3393aac4a27b73a7d61eb785c707021469c6436d2940618f10b","first_seen":"2026-07-27T07:46:39.891925Z","last_seen":"2026-07-27T13:58:36.771479Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":64,"timings":{"blocked":-1,"dns":3,"connect":10,"send":0,"wait":17,"receive":2,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.logistics.demotunde.com/favicon.ico","fqdn":"www.logistics.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.367Z","timestamp":1785160687367,"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":"*.demotunde.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 07:56:23 GMT","end":"Sat, 03 Oct 2026 07:56:22 GMT"},"fingerprint":{"sha1":"B7:70:BD:34:8C:64:7D:F6:B6:A5:2B:5A:A6:14:06:AE:CF:61:CF:9D","sha256":"AE:D3:DE:9F:20:CC:FD:41:7B:ED:A0:FB:B5:E6:D7:C4:CA:F6:EF:92:57:5C:4A:F5:33:2D:95:F0:9B:65:9F:57"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: www.logistics.demotunde.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,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://www.logistics.demotunde.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6InNNU0RVWFBaczM1L2szMHZQZXBzK2c9PSIsInZhbHVlIjoiNlc1ZWZtbTZwamZXOWIzRzhWdEtXNndkbWw0VEJzQzQ4aFEvYTZVU3RWa3ZTSUFwOFJhbTBKeEFIallDUzVGb1MxRWREQ2wwWHRubVcvdlBVd2tDczJUdnZhYVo1aGRzTjhoZWNvSUdSRzFiUXdSdkJubXBkeEhxemp3MlpNQXMiLCJtYWMiOiIyY2IzMGZjYjdhOTU4MWM1M2U3YTIxNDRhZWEzYWMzZGRmYzMyYTNkYjhhZmQ0ZDZmZWMxMDJmYzM4M2NhZGYwIiwidGFnIjoiIn0%3D; laravel-session=eyJpdiI6IkJ5QUpiRldRbTdDYVRweDk4eElnUWc9PSIsInZhbHVlIjoiamVCd0xwUWRuV3JHRC9TeVc2dUkzNG1Ba3hTR0M0U21WejU2TmcwQWExbmhvcDdZejVteDRkSzI3TVBNQTU2dnpvVU1vN3MwUW1YcG9Xdk5hK09HekZuTm9ld2tYL08yR3l3UlpwOXRyVWdUeXpNZkpBamIreDBUT1JURkZjK0EiLCJtYWMiOiI1YmEwZGQ5Y2YzYTM0ZTUzZjkwMDFjNjcyZmNlYWJjYmQzY2I3OTlkNTY5NjUzYzZjZDUyODdlZGUyNDcwZmExIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 13:58:07 GMT\r\ncontent-type: image/x-icon\r\nlast-modified: Mon, 19 Jan 2026 17:57:25 GMT\r\naccept-ranges: bytes\r\ncontent-length: 0\r\ndate: Mon, 27 Jul 2026 13:58:07 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":0,"size_decoded":443,"mime_type":"image/x-icon","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-18T09:37:30.204848Z","times_seen":17952758,"resource_available":true,"data":""}},"time_used":25,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.602Z","timestamp":1785160686602,"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/gsap/3.12.5/gsap.min.js 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: */*\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.logistics.demotunde.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 25515\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: Thu, 18 Jan 2024 23:33:45 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=U%2Bg2GWp2FWw7KuhKLvZTWvjBmO1xtFLRFWdD%2Bbrvpf1r4ZACDPYWiMiO%2F4s6D%2BO5HYg%2FpgYzrTFM1elRiYXt6pGw3YYlmw%2BOARXD8KOfsYOWM33silQJkkWuKr4zx9k4lBlQ3lq7\"}]}\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: a21c28337bb65685-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":72214,"size_decoded":26526,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65255)","md5":"47da594cbece0e34a656e6bf2490b7c3","sha1":"2d26f4c060491ac980d09ca687388d3610256eb7","sha256":"28033e449a31ebcc396e5be8b13b63152bf03094288fb5867034321927bce087","sha512":"ede1d1c1c6d890ae1df60ffab43fe68647fef9ea131f0a4d33dc28071b4f5015a6ebbcde01f142f87adda04d866a729ea1c972fd5c5e2ef22ac2f09d93ba9272","ssdeep":"1536:auJ29KBROpgAEQ9a1tgwA6NSZW3ytdKTdIwEp28Ywz7CDE:f29CakgwdNSQ3yt8eNp28YqCA","tlshash":"d063e8d93292f423039a51a1447f094bf337a958640f0918f269e4ce7d3c9ad52bbe7a","first_seen":"2024-01-19T15:55:20Z","last_seen":"2026-08-18T05:54:49.677008Z","times_seen":8690,"resource_available":true,"data":"LyohCiAqIEdTQVAgMy4xMi41CiAqIGh0dHBzOi8vZ3NhcC5jb20KICogCiAqIEBsaWNlbnNlIENvcHlyaWdodCAyMDI0LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIFN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHBzOi8vZ3NhcC5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3IgQ2x1YiBHU0FQIG1lbWJlcnMsIHRoZSBhZ3JlZW1lbnQgaXNzdWVkIHdpdGggdGhhdCBtZW1iZXJzaGlwLgogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20KICovCgohZnVuY3Rpb24odCxlKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP2UoZXhwb3J0cyk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sZSk6ZSgodD10fHxzZWxmKS53aW5kb3c9dC53aW5kb3d8fHt9KX0odGhpcyxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gX2luaGVyaXRzTG9vc2UodCxlKXt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSwodC5wcm90b3R5cGUuY29uc3RydWN0b3I9dCkuX19wcm90b19fPWV9ZnVuY3Rpb24gX2Fzc2VydFRoaXNJbml0aWFsaXplZCh0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9ZnVuY3Rpb24gcih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiB0KHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdH1mdW5jdGlvbiB1KHQpe3JldHVybiB2b2lkIDA9PT10fWZ1bmN0aW9uIHYodCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0fWZ1bmN0aW9uIHcodCl7cmV0dXJuITEhPT10fWZ1bmN0aW9uIHgoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvd31mdW5jdGlvbiB5KHQpe3JldHVybiBzKHQpfHxyKHQpfWZ1bmN0aW9uIFAodCl7cmV0dXJuKGk9eXQodCxvdCkpJiZ6ZX1mdW5jdGlvbiBRKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiSW52YWxpZCBwcm9wZXJ0eSIsdCwic2V0IHRvIixlLCJNaXNzaW5nIHBsdWdpbj8gZ3NhcC5yZWdpc3RlclBsdWdpbigpIil9ZnVuY3Rpb24gUih0LGUpe3JldHVybiFlJiZjb25zb2xlLndhcm4odCl9ZnVuY3Rpb24gUyh0LGUpe3JldHVybiB0JiYob3RbdF09ZSkmJmkmJihpW3RdPWUpfHxvdH1mdW5jdGlvbiBUKCl7cmV0dXJuIDB9ZnVuY3Rpb24gZWEodCl7dmFyIGUscixpPXRbMF07aWYodihpKXx8cyhpKXx8KHQ9W3RdKSwhKGU9KGkuX2dzYXB8fHt9KS5oYXJuZXNzKSl7Zm9yKHI9Z3QubGVuZ3RoO3ItLSYmIWd0W3JdLnRhcmdldFRlc3QoaSk7KTtlPWd0W3JdfWZvcihyPXQubGVuZ3RoO3ItLTspdFtyXSYmKHRbcl0uX2dzYXB8fCh0W3JdLl9nc2FwPW5ldyBWdCh0W3JdLGUpKSl8fHQuc3BsaWNlKHIsMSk7cmV0dXJuIHR9ZnVuY3Rpb24gZmEodCl7cmV0dXJuIHQuX2dzYXB8fGVhKE10KHQpKVswXS5fZ3NhcH1mdW5jdGlvbiBnYSh0LGUscil7cmV0dXJuKHI9dFtlXSkmJnMocik/dFtlXSgpOnUocikmJnQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0ZShlKXx8cn1mdW5jdGlvbiBoYSh0LGUpe3JldHVybih0PXQuc3BsaXQoIiwiKSkuZm9yRWFjaChlKXx8dH1mdW5jdGlvbiBpYSh0KXtyZXR1cm4gTWF0aC5yb3VuZCgxZTUqdCkvMWU1fHwwfWZ1bmN0aW9uIGphKHQpe3JldHVybiBNYXRoLnJvdW5kKDFlNyp0KS8xZTd8fDB9ZnVuY3Rpb24ga2EodCxlKXt2YXIgcj1lLmNoYXJBdCgwKSxpPXBhcnNlRmxvYXQoZS5zdWJzdHIoMikpO3JldHVybiB0PXBhcnNlRmxvYXQodCksIisiPT09cj90K2k6Ii0iPT09cj90LWk6IioiPT09cj90Kmk6dC9pfWZ1bmN0aW9uIGxhKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoLGk9MDt0LmluZGV4T2YoZVtpXSk8MCYmKytpPHI7KTtyZXR1cm4gaTxyfWZ1bmN0aW9uIG1hKCl7dmFyIHQsZSxyPWR0Lmxlbmd0aCxpPWR0LnNsaWNlKDApO2ZvcihjdD17fSx0PWR0Lmxlbmd0aD0wO3Q8cjt0KyspKGU9aVt0XSkmJmUuX2xhenkmJihlLnJlbmRlcihlLl9sYXp5WzBdLGUuX2xhenlbMV0sITApLl9sYXp5PTApfWZ1bmN0aW9uIG5hKHQsZSxyLGkpe2R0Lmxlbmd0aCYmIUwmJm1hKCksdC5yZW5kZXIoZSxyLGl8fEwmJmU8MCYmKHQuX2luaXR0ZWR8fHQuX3N0YXJ0QXQpKSxkdC5sZW5ndGgmJiFMJiZtYSgpfWZ1bmN0aW9uIG9hKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuKGV8fDA9PT1lKSYmKHQrIiIpLm1hdGNoKGF0KS5sZW5ndGg8Mj9lOnIodCk/dC50cmltKCk6dH1mdW5jdGlvbiBwYSh0KXtyZXR1cm4gdH1mdW5jdGlvbiBxYSh0LGUpe2Zvcih2YXIgciBpbiBlKXIgaW4gdHx8KHRbcl09ZVtyXSk7cmV0dXJuIHR9ZnVuY3Rpb24gdGEodCxlKXtmb3IodmFyIHIgaW4gZSkiX19wcm90b19fIiE9PXImJiJjb25zdHJ1Y3RvciIhPT1yJiYicHJvdG90eXBlIiE9PXImJih0W3JdPXYoZVtyXSk/dGEodFtyXXx8KHRbcl09e30pLGVbcl0pOmVbcl0pO3JldHVybiB0fWZ1bmN0aW9uIHVhKHQsZSl7dmFyIHIsaT17fTtmb3IociBpbiB0KXIgaW4gZXx8KGlbcl09dFtyXSk7cmV0dXJuIGl9ZnVuY3Rpb24gdmEodCl7dmFyIGU9dC5wYXJlbnR8fEkscj10LmtleWZyYW1lcz9mdW5jdGlvbiBfc2V0S2V5ZnJhbWVEZWZhdWx0cyhpKXtyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gZSlyIGluIHR8fCJkdXJhdGlvbiI9PT1yJiZpfHwiZWFzZSI9PT1yfHwodFtyXT1lW3JdKX19KFoodC5rZXlmcmFtZXMpKTpxYTtpZih3KHQuaW5oZXJpdCkpZm9yKDtlOylyKHQsZS52YXJzLmRlZmF1bHRzKSxlPWUucGFyZW50fHxlLl9kcDtyZXR1cm4gdH1mdW5jdGlvbiB4YSh0LGUscixpLG4pe3ZvaWQgMD09PXImJihyPSJfZmlyc3QiKSx2b2lkIDA9PT1pJiYoaT0iX2xhc3QiKTt2YXIgYSxzPXRbaV07aWYobilmb3IoYT1lW25dO3MmJnNbbl0+YTspcz1zLl9wcmV2O3JldHVybiBzPyhlLl9uZXh0PXMuX25leHQscy5fbmV4dD1lKTooZS5fbmV4dD10W3JdLHRbcl09ZSksZS5fbmV4dD9lLl9uZXh0Ll9wcmV2PWU6dFtpXT1lLGUuX3ByZXY9cyxlLnBhcmVudD1lLl9kcD10LGV9ZnVuY3Rpb24geWEodCxlLHIsaSl7dm9pZCAwPT09ciYmKHI9Il9maXJzdCIpLHZvaWQgMD09PWkmJihpPSJfbGFzdCIpO3ZhciBuPWUuX3ByZXYsYT1lLl9uZXh0O24/bi5fbmV4dD1hOnRbcl09PT1lJiYodFtyXT1hKSxhP2EuX3ByZXY9bjp0W2ldPT09ZSYmKHRbaV09biksZS5fbmV4dD1lLl9wcmV2PWUucGFyZW50PW51bGx9ZnVuY3Rpb24gemEodCxlKXt0LnBhcmVudCYmKCFlfHx0LnBhcmVudC5hdXRvUmVtb3ZlQ2hpbGRyZW4pJiZ0LnBhcmVudC5yZW1vdmUmJnQucGFyZW50LnJlbW92ZSh0KSx0Ll9hY3Q9MH1mdW5jdGlvbiBBYSh0LGUpe2lmKHQmJighZXx8ZS5fZW5kPnQuX2R1cnx8ZS5fc3RhcnQ8MCkpZm9yKHZhciByPXQ7cjspci5fZGlydHk9MSxyPXIucGFyZW50O3JldHVybiB0fWZ1bmN0aW9uIENhKHQsZSxyLGkpe3JldHVybiB0Ll9zdGFydEF0JiYoTD90Ll9zdGFydEF0LnJldmVydChodCk6dC52YXJzLmltbWVkaWF0ZVJlbmRlciYmIXQudmFycy5hdXRvUmV2ZXJ0fHx0Ll9zdGFydEF0LnJlbmRlcihlLCEwLGkpKX1mdW5jdGlvbiBFYSh0KXtyZXR1cm4gdC5fcmVwZWF0P1R0KHQuX3RUaW1lLHQ9dC5kdXJhdGlvbigpK3QuX3JEZWxheSkqdDowfWZ1bmN0aW9uIEdhKHQsZSl7cmV0dXJuKHQtZS5fc3RhcnQpKmUuX3RzKygwPD1lLl90cz8wOmUuX2RpcnR5P2UudG90YWxEdXJhdGlvbigpOmUuX3REdXIpfWZ1bmN0aW9uIEhhKHQpe3JldHVybiB0Ll9lbmQ9amEodC5fc3RhcnQrKHQuX3REdXIvTWF0aC5hYnModC5fdHN8fHQuX3J0c3x8WCl8fDApKX1mdW5jdGlvbiBJYSh0LGUpe3ZhciByPXQuX2RwO3JldHVybiByJiZyLnNtb290aENoaWxkVGltaW5nJiZ0Ll90cyYmKHQuX3N0YXJ0PWphKHIuX3RpbWUtKDA8dC5fdHM/ZS90Ll90czooKHQuX2RpcnR5P3QudG90YWxEdXJhdGlvbigpOnQuX3REdXIpLWUpLy10Ll90cykpLEhhKHQpLHIuX2RpcnR5fHxBYShyLHQpKSx0fWZ1bmN0aW9uIEphKHQsZSl7dmFyIHI7aWYoKGUuX3RpbWV8fCFlLl9kdXImJmUuX2luaXR0ZWR8fGUuX3N0YXJ0PHQuX3RpbWUmJihlLl9kdXJ8fCFlLmFkZCkpJiYocj1HYSh0LnJhd1RpbWUoKSxlKSwoIWUuX2R1cnx8T3QoMCxlLnRvdGFsRHVyYXRpb24oKSxyKS1lLl90VGltZT5YKSYmZS5yZW5kZXIociwhMCkpLEFhKHQsZSkuX2RwJiZ0Ll9pbml0dGVkJiZ0Ll90aW1lPj10Ll9kdXImJnQuX3RzKXtpZih0Ll9kdXI8dC5kdXJhdGlvbigpKWZvcihyPXQ7ci5fZHA7KTA8PXIucmF3VGltZSgpJiZyLnRvdGFsVGltZShyLl90VGltZSkscj1yLl9kcDt0Ll96VGltZT0tWH19ZnVuY3Rpb24gS2EoZSxyLGksbil7cmV0dXJuIHIucGFyZW50JiZ6YShyKSxyLl9zdGFydD1qYSgodChpKT9pOml8fGUhPT1JP3h0KGUsaSxyKTplLl90aW1lKStyLl9kZWxheSksci5fZW5kPWphKHIuX3N0YXJ0KyhyLnRvdGFsRHVyYXRpb24oKS9NYXRoLmFicyhyLnRpbWVTY2FsZSgpKXx8MCkpLHhhKGUsciwiX2ZpcnN0IiwiX2xhc3QiLGUuX3NvcnQ/Il9zdGFydCI6MCksYnQocil8fChlLl9yZWNlbnQ9ciksbnx8SmEoZSxyKSxlLl90czwwJiZJYShlLGUuX3RUaW1lKSxlfWZ1bmN0aW9uIExhKHQsZSl7cmV0dXJuKG90LlNjcm9sbFRyaWdnZXJ8fFEoInNjcm9sbFRyaWdnZXIiLGUpKSYmb3QuU2Nyb2xsVHJpZ2dlci5jcmVhdGUoZSx0KX1mdW5jdGlvbiBNYSh0LGUscixpLG4pe3JldHVybiBRdCh0LGUsbiksdC5faW5pdHRlZD8hciYmdC5fcHQmJiFMJiYodC5fZHVyJiYhMSE9PXQudmFycy5sYXp5fHwhdC5fZHVyJiZ0LnZhcnMubGF6eSkmJmYhPT1SdC5mcmFtZT8oZHQucHVzaCh0KSx0Ll9sYXp5PVtuLGldLDEpOnZvaWQgMDoxfWZ1bmN0aW9uIFJhKHQsZSxyLGkpe3ZhciBuPXQuX3JlcGVhdCxhPWphKGUpfHwwLHM9dC5fdFRpbWUvdC5fdER1cjtyZXR1cm4gcyYmIWkmJih0Ll90aW1lKj1hL3QuX2R1ciksdC5fZHVyPWEsdC5fdER1cj1uP248MD8xZTEwOmphKGEqKG4rMSkrdC5fckRlbGF5Km4pOmEsMDxzJiYhaSYmSWEodCx0Ll90VGltZT10Ll90RHVyKnMpLHQucGFyZW50JiZIYSh0KSxyfHxBYSh0LnBhcmVudCx0KSx0fWZ1bmN0aW9uIFNhKHQpe3JldHVybiB0IGluc3RhbmNlb2YgWHQ/QWEodCk6UmEodCx0Ll9kdXIpfWZ1bmN0aW9uIFZhKGUscixpKXt2YXIgbixhLHM9dChyWzFdKSxvPShzPzI6MSkrKGU8Mj8wOjEpLHU9cltvXTtpZihzJiYodS5kdXJhdGlvbj1yWzFdKSx1LnBhcmVudD1pLGUpe2ZvcihuPXUsYT1pO2EmJiEoImltbWVkaWF0ZVJlbmRlciJpbiBuKTspbj1hLnZhcnMuZGVmYXVsdHN8fHt9LGE9dyhhLnZhcnMuaW5oZXJpdCkmJmEucGFyZW50O3UuaW1tZWRpYXRlUmVuZGVyPXcobi5pbW1lZGlhdGVSZW5kZXIpLGU8Mj91LnJ1bkJhY2t3YXJkcz0xOnUuc3RhcnRBdD1yW28tMV19cmV0dXJuIG5ldyAkdChyWzBdLHUsclsxK29dKX1mdW5jdGlvbiBXYSh0LGUpe3JldHVybiB0fHwwPT09dD9lKHQpOmV9ZnVuY3Rpb24gWWEodCxlKXtyZXR1cm4gcih0KSYmKGU9c3QuZXhlYyh0KSk/ZVsxXToiIn1mdW5jdGlvbiBfYSh0LGUpe3JldHVybiB0JiZ2KHQpJiYibGVuZ3RoImluIHQmJighZSYmIXQubGVuZ3RofHx0Lmxlbmd0aC0xIGluIHQmJnYodFswXSkpJiYhdC5ub2RlVHlwZSYmdCE9PWh9ZnVuY3Rpb24gY2Iocil7cmV0dXJuIHI9TXQocilbMF18fFIoIkludmFsaWQgc2NvcGUiKXx8e30sZnVuY3Rpb24odCl7dmFyIGU9ci5jdXJyZW50fHxyLm5hdGl2ZUVsZW1lbnR8fHI7cmV0dXJuIE10KHQsZS5xdWVyeVNlbGVjdG9yQWxsP2U6ZT09PXI/UigiSW52YWxpZCBzY29wZSIpfHxhLmNyZWF0ZUVsZW1lbnQoImRpdiIpOnIpfX1mdW5jdGlvbiBkYih0KXtyZXR1cm4gdC5zb3J0KGZ1bmN0aW9uKCl7cmV0dXJuLjUtTWF0aC5yYW5kb20oKX0pfWZ1bmN0aW9uIGViKHQpe2lmKHModCkpcmV0dXJuIHQ7dmFyIHA9dih0KT90OntlYWNoOnR9LF89anQocC5lYXNlKSxtPXAuZnJvbXx8MCxnPXBhcnNlRmxvYXQocC5iYXNlKXx8MCx5PXt9LGU9MDxtJiZtPDEsVD1pc05hTihtKXx8ZSxiPXAuYXhpcyx3PW0seD1tO3JldHVybiByKG0pP3c9eD17Y2VudGVyOi41LGVkZ2VzOi41LGVuZDoxfVttXXx8MDohZSYmVCYmKHc9bVswXSx4PW1bMV0pLGZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxuLGEscyxvLHUsaCxsLGYsZD0ocnx8cCkubGVuZ3RoLGM9eVtkXTtpZighYyl7aWYoIShmPSJhdXRvIj09PXAuZ3JpZD8wOihwLmdyaWR8fFsxLFVdKVsxXSkpe2ZvcihoPS1VO2g8KGg9cltmKytdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQpJiZmPGQ7KTtmPGQmJmYtLX1mb3IoYz15W2RdPVtdLGk9VD9NYXRoLm1pbihmLGQpKnctLjU6bSVmLG49Zj09PVU/MDpUP2QqeC9mLS41Om0vZnwwLGw9VSx1PWg9MDt1PGQ7dSsrKWE9dSVmLWkscz1uLSh1L2Z8MCksY1t1XT1vPWI/TWF0aC5hYnMoInkiPT09Yj9zOmEpOksoYSphK3MqcyksaDxvJiYoaD1vKSxvPGwmJihsPW8pOyJyYW5kb20iPT09bSYmZGIoYyksYy5tYXg9aC1sLGMubWluPWwsYy52PWQ9KHBhcnNlRmxvYXQocC5hbW91bnQpfHxwYXJzZUZsb2F0KHAuZWFjaCkqKGQ8Zj9kLTE6Yj8ieSI9PT1iP2QvZjpmOk1hdGgubWF4KGYsZC9mKSl8fDApKigiZWRnZXMiPT09bT8tMToxKSxjLmI9ZDwwP2ctZDpnLGMudT1ZYShwLmFtb3VudHx8cC5lYWNoKXx8MCxfPV8mJmQ8MD9ZdChfKTpffXJldHVybiBkPShjW3RdLWMubWluKS9jLm1heHx8MCxqYShjLmIrKF8/XyhkKTpkKSpjLnYpK2MudX19ZnVuY3Rpb24gZmIoaSl7dmFyIG49TWF0aC5wb3coMTAsKChpKyIiKS5zcGxpdCgiLiIpWzFdfHwiIikubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHI9amEoTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpL2kpKmkqbik7cmV0dXJuKHItciUxKS9uKyh0KGUpPzA6WWEoZSkpfX1mdW5jdGlvbiBnYihoLGUpe3ZhciBsLGYscj1aKGgpO3JldHVybiFyJiZ2KGgpJiYobD1yPWgucmFkaXVzfHxVLGgudmFsdWVzPyhoPU10KGgudmFsdWVzKSwoZj0hdChoWzBdKSkmJihsKj1sKSk6aD1mYihoLmluY3JlbWVudCkpLFdhKGUscj9zKGgpP2Z1bmN0aW9uKHQpe3JldHVybiBmPWgodCksTWF0aC5hYnMoZi10KTw9bD9mOnR9OmZ1bmN0aW9uKGUpe2Zvcih2YXIgcixpLG49cGFyc2VGbG9hdChmP2UueDplKSxhPXBhcnNlRmxvYXQoZj9lLnk6MCkscz1VLG89MCx1PWgubGVuZ3RoO3UtLTspKHI9Zj8ocj1oW3VdLngtbikqcisoaT1oW3VdLnktYSkqaTpNYXRoLmFicyhoW3VdLW4pKTxzJiYocz1yLG89dSk7cmV0dXJuIG89IWx8fHM8PWw/aFtvXTplLGZ8fG89PT1lfHx0KGUpP286bytZYShlKX06ZmIoaCkpfWZ1bmN0aW9uIGhiKHQsZSxyLGkpe3JldHVybiBXYShaKHQpPyFlOiEwPT09cj8hIShyPTApOiFpLGZ1bmN0aW9uKCl7cmV0dXJuIFoodCk/dFt+fihNYXRoLnJhbmRvbSgpKnQubGVuZ3RoKV06KHI9cnx8MWUtNSkmJihpPXI8MT9NYXRoLnBvdygxMCwocisiIikubGVuZ3RoLTIpOjEpJiZNYXRoLmZsb29yKE1hdGgucm91bmQoKHQtci8yK01hdGgucmFuZG9tKCkqKGUtdCsuOTkqcikpL3IpKnIqaSkvaX0pfWZ1bmN0aW9uIGxiKGUscix0KXtyZXR1cm4gV2EodCxmdW5jdGlvbih0KXtyZXR1cm4gZVt+fnIodCldfSl9ZnVuY3Rpb24gb2IodCl7Zm9yKHZhciBlLHIsaSxuLGE9MCxzPSIiO34oZT10LmluZGV4T2YoInJhbmRvbSgiLGEpKTspaT10LmluZGV4T2YoIikiLGUpLG49IlsiPT09dC5jaGFyQXQoZSs3KSxyPXQuc3Vic3RyKGUrNyxpLWUtNykubWF0Y2gobj9hdDp0dCkscys9dC5zdWJzdHIoYSxlLWEpK2hiKG4/cjorclswXSxuPzA6K3JbMV0sK3JbMl18fDFlLTUpLGE9aSsxO3JldHVybiBzK3Quc3Vic3RyKGEsdC5sZW5ndGgtYSl9ZnVuY3Rpb24gcmIodCxlLHIpe3ZhciBpLG4sYSxzPXQubGFiZWxzLG89VTtmb3IoaSBpbiBzKShuPXNbaV0tZSk8MD09ISFyJiZuJiZvPihuPU1hdGguYWJzKG4pKSYmKGE9aSxvPW4pO3JldHVybiBhfWZ1bmN0aW9uIHRiKHQpe3JldHVybiB6YSh0KSx0LnNjcm9sbFRyaWdnZXImJnQuc2Nyb2xsVHJpZ2dlci5raWxsKCEhTCksdC5wcm9ncmVzcygpPDEmJkN0KHQsIm9uSW50ZXJydXB0IiksdH1mdW5jdGlvbiB3Yih0KXtpZih0KWlmKHQ9IXQubmFtZSYmdC5kZWZhdWx0fHx0LHgoKXx8dC5oZWFkbGVzcyl7dmFyIGU9dC5uYW1lLHI9cyh0KSxpPWUmJiFyJiZ0LmluaXQ/ZnVuY3Rpb24oKXt0aGlzLl9wcm9wcz1bXX06dCxuPXtpbml0OlQscmVuZGVyOmhlLGFkZDpXdCxraWxsOmNlLG1vZGlmaWVyOmZlLHJhd1ZhcnM6MH0sYT17dGFyZ2V0VGVzdDowLGdldDowLGdldFNldHRlcjpuZSxhbGlhc2VzOnt9LHJlZ2lzdGVyOjB9O2lmKEZ0KCksdCE9PWkpe2lmKHB0W2VdKXJldHVybjtxYShpLHFhKHVhKHQsbiksYSkpLHl0KGkucHJvdG90eXBlLHl0KG4sdWEodCxhKSkpLHB0W2kucHJvcD1lXT1pLHQudGFyZ2V0VGVzdCYmKGd0LnB1c2goaSksZnRbZV09MSksZT0oImNzcyI9PT1lPyJDU1MiOmUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zdWJzdHIoMSkpKyJQbHVnaW4ifVMoZSxpKSx0LnJlZ2lzdGVyJiZ0LnJlZ2lzdGVyKHplLGksX2UpfWVsc2UgQXQucHVzaCh0KX1mdW5jdGlvbiB6Yih0LGUscil7cmV0dXJuKDYqKHQrPXQ8MD8xOjE8dD8tMTowKTwxP2UrKHItZSkqdCo2OnQ8LjU/cjozKnQ8Mj9lKyhyLWUpKigyLzMtdCkqNjplKSpTdCsuNXwwfWZ1bmN0aW9uIEFiKGUscixpKXt2YXIgbixhLHMsbyx1LGgsbCxmLGQsYyxwPWU/dChlKT9bZT4+MTYsZT4+OCZTdCxlJlN0XTowOnp0LmJsYWNrO2lmKCFwKXtpZigiLCI9PT1lLnN1YnN0cigtMSkmJihlPWUuc3Vic3RyKDAsZS5sZW5ndGgtMSkpLHp0W2VdKXA9enRbZV07ZWxzZSBpZigiIyI9PT1lLmNoYXJBdCgwKSl7aWYoZS5sZW5ndGg8NiYmKGU9IiMiKyhuPWUuY2hhckF0KDEpKStuKyhhPWUuY2hhckF0KDIpKSthKyhzPWUuY2hhckF0KDMpKStzKyg1PT09ZS5sZW5ndGg/ZS5jaGFyQXQoNCkrZS5jaGFyQXQoNCk6IiIpKSw5PT09ZS5sZW5ndGgpcmV0dXJuWyhwPXBhcnNlSW50KGUuc3Vic3RyKDEsNiksMTYpKT4+MTYscD4+OCZTdCxwJlN0LHBhcnNlSW50KGUuc3Vic3RyKDcpLDE2KS8yNTVdO3A9WyhlPXBhcnNlSW50KGUuc3Vic3RyKDEpLDE2KSk+PjE2LGU+PjgmU3QsZSZTdF19ZWxzZSBpZigiaHNsIj09PWUuc3Vic3RyKDAsMykpaWYocD1jPWUubWF0Y2godHQpLHIpe2lmKH5lLmluZGV4T2YoIj0iKSlyZXR1cm4gcD1lLm1hdGNoKGV0KSxpJiZwLmxlbmd0aDw0JiYocFszXT0xKSxwfWVsc2Ugbz0rcFswXSUzNjAvMzYwLHU9cFsxXS8xMDAsbj0yKihoPXBbMl0vMTAwKS0oYT1oPD0uNT9oKih1KzEpOmgrdS1oKnUpLDM8cC5sZW5ndGgmJihwWzNdKj0xKSxwWzBdPXpiKG8rMS8zLG4sYSkscFsxXT16YihvLG4sYSkscFsyXT16YihvLTEvMyxuLGEpO2Vsc2UgcD1lLm1hdGNoKHR0KXx8enQudHJhbnNwYXJlbnQ7cD1wLm1hcChOdW1iZXIpfXJldHVybiByJiYhYyYmKG49cFswXS9TdCxhPXBbMV0vU3Qscz1wWzJdL1N0LGg9KChsPU1hdGgubWF4KG4sYSxzKSkrKGY9TWF0aC5taW4obixhLHMpKSkvMixsPT09Zj9vPXU9MDooZD1sLWYsdT0uNTxoP2QvKDItbC1mKTpkLyhsK2YpLG89bD09PW4/KGEtcykvZCsoYTxzPzY6MCk6bD09PWE/KHMtbikvZCsyOihuLWEpL2QrNCxvKj02MCkscFswXT1+fihvKy41KSxwWzFdPX5+KDEwMCp1Ky41KSxwWzJdPX5+KDEwMCpoKy41KSksaSYmcC5sZW5ndGg8NCYmKHBbM109MSkscH1mdW5jdGlvbiBCYih0KXt2YXIgcj1bXSxpPVtdLG49LTE7cmV0dXJuIHQuc3BsaXQoRXQpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5tYXRjaChydCl8fFtdO3IucHVzaC5hcHBseShyLGUpLGkucHVzaChuKz1lLmxlbmd0aCsxKX0pLHIuYz1pLHJ9ZnVuY3Rpb24gQ2IodCxlLHIpe3ZhciBpLG4sYSxzLG89IiIsdT0odCtvKS5tYXRjaChFdCksaD1lPyJoc2xhKCI6InJnYmEoIixsPTA7aWYoIXUpcmV0dXJuIHQ7aWYodT11Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4odD1BYih0LGUsMSkpJiZoKyhlP3RbMF0rIiwiK3RbMV0rIiUsIit0WzJdKyIlLCIrdFszXTp0LmpvaW4oIiwiKSkrIikifSksciYmKGE9QmIodCksKGk9ci5jKS5qb2luKG8pIT09YS5jLmpvaW4obykpKWZvcihzPShuPXQucmVwbGFjZShFdCwiMSIpLnNwbGl0KHJ0KSkubGVuZ3RoLTE7bDxzO2wrKylvKz1uW2xdKyh+aS5pbmRleE9mKGwpP3Uuc2hpZnQoKXx8aCsiMCwwLDAsMCkiOihhLmxlbmd0aD9hOnUubGVuZ3RoP3U6cikuc2hpZnQoKSk7aWYoIW4pZm9yKHM9KG49dC5zcGxpdChFdCkpLmxlbmd0aC0xO2w8cztsKyspbys9bltsXSt1W2xdO3JldHVybiBvK25bc119ZnVuY3Rpb24gRmIodCl7dmFyIGUscj10LmpvaW4oIiAiKTtpZihFdC5sYXN0SW5kZXg9MCxFdC50ZXN0KHIpKXJldHVybiBlPUR0LnRlc3QociksdFsxXT1DYih0WzFdLGUpLHRbMF09Q2IodFswXSxlLEJiKHRbMV0pKSwhMH1mdW5jdGlvbiBPYih0KXt2YXIgZT0odCsiIikuc3BsaXQoIigiKSxyPUx0W2VbMF1dO3JldHVybiByJiYxPGUubGVuZ3RoJiZyLmNvbmZpZz9yLmNvbmZpZy5hcHBseShudWxsLH50LmluZGV4T2YoInsiKT9bZnVuY3Rpb24gX3BhcnNlT2JqZWN0SW5TdHJpbmcodCl7Zm9yKHZhciBlLHIsaSxuPXt9LGE9dC5zdWJzdHIoMSx0Lmxlbmd0aC0zKS5zcGxpdCgiOiIpLHM9YVswXSxvPTEsdT1hLmxlbmd0aDtvPHU7bysrKXI9YVtvXSxlPW8hPT11LTE/ci5sYXN0SW5kZXhPZigiLCIpOnIubGVuZ3RoLGk9ci5zdWJzdHIoMCxlKSxuW3NdPWlzTmFOKGkpP2kucmVwbGFjZShCdCwiIikudHJpbSgpOitpLHM9ci5zdWJzdHIoZSsxKS50cmltKCk7cmV0dXJuIG59KGVbMV0pXTpmdW5jdGlvbiBfdmFsdWVJblBhcmVudGhlc2VzKHQpe3ZhciBlPXQuaW5kZXhPZigiKCIpKzEscj10LmluZGV4T2YoIikiKSxpPXQuaW5kZXhPZigiKCIsZSk7cmV0dXJuIHQuc3Vic3RyaW5nKGUsfmkmJmk8cj90LmluZGV4T2YoIikiLHIrMSk6cil9KHQpLnNwbGl0KCIsIikubWFwKG9hKSk6THQuX0NFJiZJdC50ZXN0KHQpP0x0Ll9DRSgiIix0KTpyfWZ1bmN0aW9uIFFiKHQsZSl7Zm9yKHZhciByLGk9dC5fZmlyc3Q7aTspaSBpbnN0YW5jZW9mIFh0P1FiKGksZSk6IWkudmFycy55b3lvRWFzZXx8aS5feW95byYmaS5fcmVwZWF0fHxpLl95b3lvPT09ZXx8KGkudGltZWxpbmU/UWIoaS50aW1lbGluZSxlKToocj1pLl9lYXNlLGkuX2Vhc2U9aS5feUVhc2UsaS5feUVhc2U9cixpLl95b3lvPWUpKSxpPWkuX25leHR9ZnVuY3Rpb24gU2IodCxlLHIsaSl7dm9pZCAwPT09ciYmKHI9ZnVuY3Rpb24gZWFzZU91dCh0KXtyZXR1cm4gMS1lKDEtdCl9KSx2b2lkIDA9PT1pJiYoaT1mdW5jdGlvbiBlYXNlSW5PdXQodCl7cmV0dXJuIHQ8LjU/ZSgyKnQpLzI6MS1lKDIqKDEtdCkpLzJ9KTt2YXIgbixhPXtlYXNlSW46ZSxlYXNlT3V0OnIsZWFzZUluT3V0Oml9O3JldHVybiBoYSh0LGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiBMdFt0XT1vdFt0XT1hLEx0W249dC50b0xvd2VyQ2FzZSgpXT1yLGEpTHRbbisoImVhc2VJbiI9PT1lPyIuaW4iOiJlYXNlT3V0Ij09PWU/Ii5vdXQiOiIuaW5PdXQiKV09THRbdCsiLiIrZV09YVtlXX0pLGF9ZnVuY3Rpb24gVGIoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PC41PygxLWUoMS0yKnQpKS8yOi41K2UoMioodC0uNSkpLzJ9fWZ1bmN0aW9uIFViKHIsdCxlKXtmdW5jdGlvbiBKbSh0KXtyZXR1cm4gMT09PXQ/MTppKk1hdGgucG93KDIsLTEwKnQpKkgoKHQtYSkqbikrMX12YXIgaT0xPD10P3Q6MSxuPShlfHwocj8uMzouNDUpKS8odDwxP3Q6MSksYT1uL04qKE1hdGguYXNpbigxL2kpfHwwKSxzPSJvdXQiPT09cj9KbToiaW4iPT09cj9mdW5jdGlvbih0KXtyZXR1cm4gMS1KbSgxLXQpfTpUYihKbSk7cmV0dXJuIG49Ti9uLHMuY29uZmlnPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFViKHIsdCxlKX0sc31mdW5jdGlvbiBWYihlLHIpe2Z1bmN0aW9uIFJtKHQpe3JldHVybiB0Py0tdCp0KigocisxKSp0K3IpKzE6MH12b2lkIDA9PT1yJiYocj0xLjcwMTU4KTt2YXIgdD0ib3V0Ij09PWU/Um06ImluIj09PWU/ZnVuY3Rpb24odCl7cmV0dXJuIDEtUm0oMS10KX06VGIoUm0pO3JldHVybiB0LmNvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gVmIoZSx0KX0sdH12YXIgRixMLGwsSSxoLG4sYSxpLG8sZixkLGMscCxfLG0sZyxiLE8sayxNLEMsQSx6LEUsRCxCLFksaixxPXthdXRvU2xlZXA6MTIwLGZvcmNlM0Q6ImF1dG8iLG51bGxUYXJnZXRXYXJuOjEsdW5pdHM6e2xpbmVIZWlnaHQ6IiJ9fSxWPXtkdXJhdGlvbjouNSxvdmVyd3JpdGU6ITEsZGVsYXk6MH0sVT0xZTgsWD0xL1UsTj0yKk1hdGguUEksRz1OLzQsVz0wLEs9TWF0aC5zcXJ0LEo9TWF0aC5jb3MsSD1NYXRoLnNpbiwkPSJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3fHxmdW5jdGlvbigpe30sWj1BcnJheS5pc0FycmF5LHR0PS8oPzotP1wuP1xkfFwuKSsvZ2ksZXQ9L1stKz0uXSpcZCtbLmVcLStdKlxkKltlXC0rXSpcZCovZyxydD0vWy0rPS5dKlxkK1suZS1dKlxkKlthLXolXSovZyxpdD0vWy0rPS5dKlxkK1wuP1xkKig/OmUtfGVcKyk/XGQqL2dpLG50PS9bKy1dPS0/Wy5cZF0rLyxhdD0vW14sJyJcW1xdXHNdKy9naSxzdD0vXlsrXC09ZVxzXGRdKlxkK1suXGRdKihbYS16XSp8JSlccyokL2ksb3Q9e30sdXQ9e3N1cHByZXNzRXZlbnRzOiEwLGlzU3RhcnQ6ITAsa2lsbDohMX0saHQ9e3N1cHByZXNzRXZlbnRzOiEwLGtpbGw6ITF9LGx0PXtzdXBwcmVzc0V2ZW50czohMH0sZnQ9e30sZHQ9W10sY3Q9e30scHQ9e30sX3Q9e30sbXQ9MzAsZ3Q9W10sdnQ9IiIseXQ9ZnVuY3Rpb24gX21lcmdlKHQsZSl7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fSxUdD1mdW5jdGlvbiBfYW5pbWF0aW9uQ3ljbGUodCxlKXt2YXIgcj1NYXRoLmZsb29yKHQvPWUpO3JldHVybiB0JiZyPT09dD9yLTE6cn0sYnQ9ZnVuY3Rpb24gX2lzRnJvbU9yRnJvbVN0YXJ0KHQpe3ZhciBlPXQuZGF0YTtyZXR1cm4iaXNGcm9tU3RhcnQiPT09ZXx8ImlzU3RhcnQiPT09ZX0sd3Q9e19zdGFydDowLGVuZFRpbWU6VCx0b3RhbER1cmF0aW9uOlR9LHh0PWZ1bmN0aW9uIF9wYXJzZVBvc2l0aW9uKHQsZSxpKXt2YXIgbixhLHMsbz10LmxhYmVscyx1PXQuX3JlY2VudHx8d3QsaD10LmR1cmF0aW9uKCk+PVU/dS5lbmRUaW1lKCExKTp0Ll9kdXI7cmV0dXJuIHIoZSkmJihpc05hTihlKXx8ZSBpbiBvKT8oYT1lLmNoYXJBdCgwKSxzPSIlIj09PWUuc3Vic3RyKC0xKSxuPWUuaW5kZXhPZigiPSIpLCI8Ij09PWF8fCI+Ij09PWE/KDA8PW4mJihlPWUucmVwbGFjZSgvPS8sIiIpKSwoIjwiPT09YT91Ll9zdGFydDp1LmVuZFRpbWUoMDw9dS5fcmVwZWF0KSkrKHBhcnNlRmxvYXQoZS5zdWJzdHIoMSkpfHwwKSoocz8objwwP3U6aSkudG90YWxEdXJhdGlvbigpLzEwMDoxKSk6bjwwPyhlIGluIG98fChvW2VdPWgpLG9bZV0pOihhPXBhcnNlRmxvYXQoZS5jaGFyQXQobi0xKStlLnN1YnN0cihuKzEpKSxzJiZpJiYoYT1hLzEwMCooWihpKT9pWzBdOmkpLnRvdGFsRHVyYXRpb24oKSksMTxuP19wYXJzZVBvc2l0aW9uKHQsZS5zdWJzdHIoMCxuLTEpLGkpK2E6aCthKSk6bnVsbD09ZT9oOitlfSxPdD1mdW5jdGlvbiBfY2xhbXAodCxlLHIpe3JldHVybiByPHQ/dDplPHI/ZTpyfSxrdD1bXS5zbGljZSxNdD1mdW5jdGlvbiB0b0FycmF5KHQsZSxpKXtyZXR1cm4gbCYmIWUmJmwuc2VsZWN0b3I/bC5zZWxlY3Rvcih0KTohcih0KXx8aXx8IW4mJkZ0KCk/Wih0KT9mdW5jdGlvbiBfZmxhdHRlbih0LGUsaSl7cmV0dXJuIHZvaWQgMD09PWkmJihpPVtdKSx0LmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHIodCkmJiFlfHxfYSh0LDEpP2kucHVzaC5hcHBseShpLE10KHQpKTppLnB1c2godCl9KXx8aX0odCxpKTpfYSh0KT9rdC5jYWxsKHQsMCk6dD9bdF06W106a3QuY2FsbCgoZXx8YSkucXVlcnlTZWxlY3RvckFsbCh0KSwwKX0sUHQ9ZnVuY3Rpb24gbWFwUmFuZ2UoZSx0LHIsaSxuKXt2YXIgYT10LWUscz1pLXI7cmV0dXJuIFdhKG4sZnVuY3Rpb24odCl7cmV0dXJuIHIrKCh0LWUpL2Eqc3x8MCl9KX0sQ3Q9ZnVuY3Rpb24gX2NhbGxiYWNrKHQsZSxyKXt2YXIgaSxuLGEscz10LnZhcnMsbz1zW2VdLHU9bCxoPXQuX2N0eDtpZihvKXJldHVybiBpPXNbZSsiUGFyYW1zIl0sbj1zLmNhbGxiYWNrU2NvcGV8fHQsciYmZHQubGVuZ3RoJiZtYSgpLGgmJihsPWgpLGE9aT9vLmFwcGx5KG4saSk6by5jYWxsKG4pLGw9dSxhfSxBdD1bXSxTdD0yNTUsenQ9e2FxdWE6WzAsU3QsU3RdLGxpbWU6WzAsU3QsMF0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sYmxhY2s6WzAsMCwwXSxtYXJvb246WzEyOCwwLDBdLHRlYWw6WzAsMTI4LDEyOF0sYmx1ZTpbMCwwLFN0XSxuYXZ5OlswLDAsMTI4XSx3aGl0ZTpbU3QsU3QsU3RdLG9saXZlOlsxMjgsMTI4LDBdLHllbGxvdzpbU3QsU3QsMF0sb3JhbmdlOltTdCwxNjUsMF0sZ3JheTpbMTI4LDEyOCwxMjhdLHB1cnBsZTpbMTI4LDAsMTI4XSxncmVlbjpbMCwxMjgsMF0scmVkOltTdCwwLDBdLHBpbms6W1N0LDE5MiwyMDNdLGN5YW46WzAsU3QsU3RdLHRyYW5zcGFyZW50OltTdCxTdCxTdCwwXX0sRXQ9ZnVuY3Rpb24oKXt2YXIgdCxlPSIoPzpcXGIoPzooPzpyZ2J8cmdiYXxoc2x8aHNsYSlcXCguKz9cXCkpfFxcQiMoPzpbMC05YS1mXXszLDR9KXsxLDJ9XFxiIjtmb3IodCBpbiB6dCllKz0ifCIrdCsiXFxiIjtyZXR1cm4gbmV3IFJlZ0V4cChlKyIpIiwiZ2kiKX0oKSxEdD0vaHNsW2FdP1woLyxSdD0oaz1EYXRlLm5vdyxNPTUwMCxDPTMzLEE9aygpLHo9QSxEPUU9MWUzLzI0MCxnPXt0aW1lOjAsZnJhbWU6MCx0aWNrOmZ1bmN0aW9uIHRpY2soKXt5bCghMCl9LGRlbHRhUmF0aW86ZnVuY3Rpb24gZGVsdGFSYXRpbyh0KXtyZXR1cm4gYi8oMWUzLyh0fHw2MCkpfSx3YWtlOmZ1bmN0aW9uIHdha2UoKXtvJiYoIW4mJngoKSYmKGg9bj13aW5kb3csYT1oLmRvY3VtZW50fHx7fSxvdC5nc2FwPXplLChoLmdzYXBWZXJzaW9uc3x8KGguZ3NhcFZlcnNpb25zPVtdKSkucHVzaCh6ZS52ZXJzaW9uKSxQKGl8fGguR3JlZW5Tb2NrR2xvYmFsc3x8IWguZ3NhcCYmaHx8e30pLEF0LmZvckVhY2god2IpKSxtPSJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUscCYmZy5zbGVlcCgpLF89bXx8ZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQodCxELTFlMypnLnRpbWUrMXwwKX0sYz0xLHlsKDIpKX0sc2xlZXA6ZnVuY3Rpb24gc2xlZXAoKXsobT9jYW5jZWxBbmltYXRpb25GcmFtZTpjbGVhclRpbWVvdXQpKHApLGM9MCxfPVR9LGxhZ1Ntb290aGluZzpmdW5jdGlvbiBsYWdTbW9vdGhpbmcodCxlKXtNPXR8fDEvMCxDPU1hdGgubWluKGV8fDMzLE0pfSxmcHM6ZnVuY3Rpb24gZnBzKHQpe0U9MWUzLyh0fHwyNDApLEQ9MWUzKmcudGltZStFfSxhZGQ6ZnVuY3Rpb24gYWRkKG4sdCxlKXt2YXIgYT10P2Z1bmN0aW9uKHQsZSxyLGkpe24odCxlLHIsaSksZy5yZW1vdmUoYSl9Om47cmV0dXJuIGcucmVtb3ZlKG4pLEJbZT8idW5zaGlmdCI6InB1c2giXShhKSxGdCgpLGF9LHJlbW92ZTpmdW5jdGlvbiByZW1vdmUodCxlKXt+KGU9Qi5pbmRleE9mKHQpKSYmQi5zcGxpY2UoZSwxKSYmZTw9TyYmTy0tfSxfbGlzdGVuZXJzOkI9W119KSxGdD1mdW5jdGlvbiBfd2FrZSgpe3JldHVybiFjJiZSdC53YWtlKCl9LEx0PXt9LEl0PS9eW1xkLlwtTV1bXGQuXC0sXHNdLyxCdD0vWyInXS9nLFl0PWZ1bmN0aW9uIF9pbnZlcnRFYXNlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gMS1lKDEtdCl9fSxqdD1mdW5jdGlvbiBfcGFyc2VFYXNlKHQsZSl7cmV0dXJuIHQmJihzKHQpP3Q6THRbdF18fE9iKHQpKXx8ZX07ZnVuY3Rpb24geWwodCl7dmFyIGUscixpLG4sYT1rKCkteixzPSEwPT09dDtpZigoTTxhfHxhPDApJiYoQSs9YS1DKSwoMDwoZT0oaT0oeis9YSktQSktRCl8fHMpJiYobj0rK2cuZnJhbWUsYj1pLTFlMypnLnRpbWUsZy50aW1lPWkvPTFlMyxEKz1lKyhFPD1lPzQ6RS1lKSxyPTEpLHN8fChwPV8oeWwpKSxyKWZvcihPPTA7TzxCLmxlbmd0aDtPKyspQltPXShpLGIsbix0KX1mdW5jdGlvbiBnbih0KXtyZXR1cm4gdDxqP1kqdCp0OnQ8LjcyNzI3MjcyNzI3MjcyNzM/WSpNYXRoLnBvdyh0LTEuNS8yLjc1LDIpKy43NTp0PC45MDkwOTA5MDkwOTA5MDkyP1kqKHQtPTIuMjUvMi43NSkqdCsuOTM3NTpZKk1hdGgucG93KHQtMi42MjUvMi43NSwyKSsuOTg0Mzc1fWhhKCJMaW5lYXIsUXVhZCxDdWJpYyxRdWFydCxRdWludCxTdHJvbmciLGZ1bmN0aW9uKHQsZSl7dmFyIHI9ZTw1P2UrMTplO1NiKHQrIixQb3dlciIrKHItMSksZT9mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3codCxyKX06ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGgucG93KDEtdCxyKX0sZnVuY3Rpb24odCl7cmV0dXJuIHQ8LjU/TWF0aC5wb3coMip0LHIpLzI6MS1NYXRoLnBvdygyKigxLXQpLHIpLzJ9KX0pLEx0LkxpbmVhci5lYXNlTm9uZT1MdC5ub25lPUx0LkxpbmVhci5lYXNlSW4sU2IoIkVsYXN0aWMiLFViKCJpbiIpLFViKCJvdXQiKSxVYigpKSxZPTcuNTYyNSxqPTEvMi43NSxTYigiQm91bmNlIixmdW5jdGlvbih0KXtyZXR1cm4gMS1nbigxLXQpfSxnbiksU2IoIkV4cG8iLGZ1bmN0aW9uKHQpe3JldHVybiB0P01hdGgucG93KDIsMTAqKHQtMSkpOjB9KSxTYigiQ2lyYyIsZnVuY3Rpb24odCl7cmV0dXJuLShLKDEtdCp0KS0xKX0pLFNiKCJTaW5lIixmdW5jdGlvbih0KXtyZXR1cm4gMT09PXQ/MToxLUoodCpHKX0pLFNiKCJCYWNrIixWYigiaW4iKSxWYigib3V0IiksVmIoKSksTHQuU3RlcHBlZEVhc2U9THQuc3RlcHM9b3QuU3RlcHBlZEVhc2U9e2NvbmZpZzpmdW5jdGlvbiBjb25maWcodCxlKXt2b2lkIDA9PT10JiYodD0xKTt2YXIgcj0xL3QsaT10KyhlPzA6MSksbj1lPzE6MDtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuKChpKk90KDAsLjk5OTk5OTk5LHQpfDApK24pKnJ9fX0sVi5lYXNlPUx0WyJxdWFkLm91dCJdLGhhKCJvbkNvbXBsZXRlLG9uVXBkYXRlLG9uU3RhcnQsb25SZXBlYXQsb25SZXZlcnNlQ29tcGxldGUsb25JbnRlcnJ1cHQiLGZ1bmN0aW9uKHQpe3JldHVybiB2dCs9dCsiLCIrdCsiUGFyYW1zLCJ9KTt2YXIgcXQsVnQ9ZnVuY3Rpb24gR1NDYWNoZSh0LGUpe3RoaXMuaWQ9VysrLCh0Ll9nc2FwPXRoaXMpLnRhcmdldD10LHRoaXMuaGFybmVzcz1lLHRoaXMuZ2V0PWU/ZS5nZXQ6Z2EsdGhpcy5zZXQ9ZT9lLmdldFNldHRlcjpuZX0sVXQ9KChxdD1BbmltYXRpb24ucHJvdG90eXBlKS5kZWxheT1mdW5jdGlvbiBkZWxheSh0KXtyZXR1cm4gdHx8MD09PXQ/KHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5zdGFydFRpbWUodGhpcy5fc3RhcnQrdC10aGlzLl9kZWxheSksdGhpcy5fZGVsYXk9dCx0aGlzKTp0aGlzLl9kZWxheX0scXQuZHVyYXRpb249ZnVuY3Rpb24gZHVyYXRpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy50b3RhbER1cmF0aW9uKDA8dGhpcy5fcmVwZWF0P3QrKHQrdGhpcy5fckRlbGF5KSp0aGlzLl9yZXBlYXQ6dCk6dGhpcy50b3RhbER1cmF0aW9uKCkmJnRoaXMuX2R1cn0scXQudG90YWxEdXJhdGlvbj1mdW5jdGlvbiB0b3RhbER1cmF0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9kaXJ0eT0wLFJhKHRoaXMsdGhpcy5fcmVwZWF0PDA/dDoodC10aGlzLl9yZXBlYXQqdGhpcy5fckRlbGF5KS8odGhpcy5fcmVwZWF0KzEpKSk6dGhpcy5fdER1cn0scXQudG90YWxUaW1lPWZ1bmN0aW9uIHRvdGFsVGltZSh0LGUpe2lmKEZ0KCksIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3RUaW1lO3ZhciByPXRoaXMuX2RwO2lmKHImJnIuc21vb3RoQ2hpbGRUaW1pbmcmJnRoaXMuX3RzKXtmb3IoSWEodGhpcyx0KSwhci5fZHB8fHIucGFyZW50fHxKYShyLHRoaXMpO3ImJnIucGFyZW50OylyLnBhcmVudC5fdGltZSE9PXIuX3N0YXJ0KygwPD1yLl90cz9yLl90VGltZS9yLl90czooci50b3RhbER1cmF0aW9uKCktci5fdFRpbWUpLy1yLl90cykmJnIudG90YWxUaW1lKHIuX3RUaW1lLCEwKSxyPXIucGFyZW50OyF0aGlzLnBhcmVudCYmdGhpcy5fZHAuYXV0b1JlbW92ZUNoaWxkcmVuJiYoMDx0aGlzLl90cyYmdDx0aGlzLl90RHVyfHx0aGlzLl90czwwJiYwPHR8fCF0aGlzLl90RHVyJiYhdCkmJkthKHRoaXMuX2RwLHRoaXMsdGhpcy5fc3RhcnQtdGhpcy5fZGVsYXkpfXJldHVybih0aGlzLl90VGltZSE9PXR8fCF0aGlzLl9kdXImJiFlfHx0aGlzLl9pbml0dGVkJiZNYXRoLmFicyh0aGlzLl96VGltZSk9PT1YfHwhdCYmIXRoaXMuX2luaXR0ZWQmJih0aGlzLmFkZHx8dGhpcy5fcHRMb29rdXApKSYmKHRoaXMuX3RzfHwodGhpcy5fcFRpbWU9dCksbmEodGhpcyx0LGUpKSx0aGlzfSxxdC50aW1lPWZ1bmN0aW9uIHRpbWUodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZShNYXRoLm1pbih0aGlzLnRvdGFsRHVyYXRpb24oKSx0K0VhKHRoaXMpKSUodGhpcy5fZHVyK3RoaXMuX3JEZWxheSl8fCh0P3RoaXMuX2R1cjowKSxlKTp0aGlzLl90aW1lfSxxdC50b3RhbFByb2dyZXNzPWZ1bmN0aW9uIHRvdGFsUHJvZ3Jlc3ModCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZSh0aGlzLnRvdGFsRHVyYXRpb24oKSp0LGUpOnRoaXMudG90YWxEdXJhdGlvbigpP01hdGgubWluKDEsdGhpcy5fdFRpbWUvdGhpcy5fdER1cik6MDx0aGlzLnJhd1RpbWUoKT8xOjB9LHF0LnByb2dyZXNzPWZ1bmN0aW9uIHByb2dyZXNzKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy50b3RhbFRpbWUodGhpcy5kdXJhdGlvbigpKighdGhpcy5feW95b3x8MSZ0aGlzLml0ZXJhdGlvbigpP3Q6MS10KStFYSh0aGlzKSxlKTp0aGlzLmR1cmF0aW9uKCk/TWF0aC5taW4oMSx0aGlzLl90aW1lL3RoaXMuX2R1cik6MDx0aGlzLnJhd1RpbWUoKT8xOjB9LHF0Lml0ZXJhdGlvbj1mdW5jdGlvbiBpdGVyYXRpb24odCxlKXt2YXIgcj10aGlzLmR1cmF0aW9uKCkrdGhpcy5fckRlbGF5O3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMudG90YWxUaW1lKHRoaXMuX3RpbWUrKHQtMSkqcixlKTp0aGlzLl9yZXBlYXQ/VHQodGhpcy5fdFRpbWUscikrMToxfSxxdC50aW1lU2NhbGU9ZnVuY3Rpb24gdGltZVNjYWxlKHQsZSl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3J0cz09PS1YPzA6dGhpcy5fcnRzO2lmKHRoaXMuX3J0cz09PXQpcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy5wYXJlbnQmJnRoaXMuX3RzP0dhKHRoaXMucGFyZW50Ll90aW1lLHRoaXMpOnRoaXMuX3RUaW1lO3JldHVybiB0aGlzLl9ydHM9K3R8fDAsdGhpcy5fdHM9dGhpcy5fcHN8fHQ9PT0tWD8wOnRoaXMuX3J0cyx0aGlzLnRvdGFsVGltZShPdCgtTWF0aC5hYnModGhpcy5fZGVsYXkpLHRoaXMuX3REdXIsciksITEhPT1lKSxIYSh0aGlzKSxmdW5jdGlvbiBfcmVjYWNoZUFuY2VzdG9ycyh0KXtmb3IodmFyIGU9dC5wYXJlbnQ7ZSYmZS5wYXJlbnQ7KWUuX2RpcnR5PTEsZS50b3RhbER1cmF0aW9uKCksZT1lLnBhcmVudDtyZXR1cm4gdH0odGhpcyl9LHF0LnBhdXNlZD1mdW5jdGlvbiBwYXVzZWQodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3BzIT09dCYmKCh0aGlzLl9wcz10KT8odGhpcy5fcFRpbWU9dGhpcy5fdFRpbWV8fE1hdGgubWF4KC10aGlzLl9kZWxheSx0aGlzLnJhd1RpbWUoKSksdGhpcy5fdHM9dGhpcy5fYWN0PTApOihGdCgpLHRoaXMuX3RzPXRoaXMuX3J0cyx0aGlzLnRvdGFsVGltZSh0aGlzLnBhcmVudCYmIXRoaXMucGFyZW50LnNtb290aENoaWxkVGltaW5nP3RoaXMucmF3VGltZSgpOnRoaXMuX3RUaW1lfHx0aGlzLl9wVGltZSwxPT09dGhpcy5wcm9ncmVzcygpJiZNYXRoLmFicyh0aGlzLl96VGltZSkhPT1YJiYodGhpcy5fdFRpbWUtPVgpKSkpLHRoaXMpOnRoaXMuX3BzfSxxdC5zdGFydFRpbWU9ZnVuY3Rpb24gc3RhcnRUaW1lKHQpe2lmKGFyZ3VtZW50cy5sZW5ndGgpe3RoaXMuX3N0YXJ0PXQ7dmFyIGU9dGhpcy5wYXJlbnR8fHRoaXMuX2RwO3JldHVybiFlfHwhZS5fc29ydCYmdGhpcy5wYXJlbnR8fEthKGUsdGhpcyx0LXRoaXMuX2RlbGF5KSx0aGlzfXJldHVybiB0aGlzLl9zdGFydH0scXQuZW5kVGltZT1mdW5jdGlvbiBlbmRUaW1lKHQpe3JldHVybiB0aGlzLl9zdGFydCsodyh0KT90aGlzLnRvdGFsRHVyYXRpb24oKTp0aGlzLmR1cmF0aW9uKCkpL01hdGguYWJzKHRoaXMuX3RzfHwxKX0scXQucmF3VGltZT1mdW5jdGlvbiByYXdUaW1lKHQpe3ZhciBlPXRoaXMucGFyZW50fHx0aGlzLl9kcDtyZXR1cm4gZT90JiYoIXRoaXMuX3RzfHx0aGlzLl9yZXBlYXQmJnRoaXMuX3RpbWUmJnRoaXMudG90YWxQcm9ncmVzcygpPDEpP3RoaXMuX3RUaW1lJSh0aGlzLl9kdXIrdGhpcy5fckRlbGF5KTp0aGlzLl90cz9HYShlLnJhd1RpbWUodCksdGhpcyk6dGhpcy5fdFRpbWU6dGhpcy5fdFRpbWV9LHF0LnJldmVydD1mdW5jdGlvbiByZXZlcnQodCl7dm9pZCAwPT09dCYmKHQ9bHQpO3ZhciBlPUw7cmV0dXJuIEw9dCwodGhpcy5faW5pdHRlZHx8dGhpcy5fc3RhcnRBdCkmJih0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLnJldmVydCh0KSx0aGlzLnRvdGFsVGltZSgtLjAxLHQuc3VwcHJlc3NFdmVudHMpKSwibmVzdGVkIiE9PXRoaXMuZGF0YSYmITEhPT10LmtpbGwmJnRoaXMua2lsbCgpLEw9ZSx0aGlzfSxxdC5nbG9iYWxUaW1lPWZ1bmN0aW9uIGdsb2JhbFRpbWUodCl7Zm9yKHZhciBlPXRoaXMscj1hcmd1bWVudHMubGVuZ3RoP3Q6ZS5yYXdUaW1lKCk7ZTspcj1lLl9zdGFydCtyLyhNYXRoLmFicyhlLl90cyl8fDEpLGU9ZS5fZHA7cmV0dXJuIXRoaXMucGFyZW50JiZ0aGlzLl9zYXQ/dGhpcy5fc2F0Lmdsb2JhbFRpbWUodCk6cn0scXQucmVwZWF0PWZ1bmN0aW9uIHJlcGVhdCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVwZWF0PXQ9PT0xLzA/LTI6dCxTYSh0aGlzKSk6LTI9PT10aGlzLl9yZXBlYXQ/MS8wOnRoaXMuX3JlcGVhdH0scXQucmVwZWF0RGVsYXk9ZnVuY3Rpb24gcmVwZWF0RGVsYXkodCl7aWYoYXJndW1lbnRzLmxlbmd0aCl7dmFyIGU9dGhpcy5fdGltZTtyZXR1cm4gdGhpcy5fckRlbGF5PXQsU2EodGhpcyksZT90aGlzLnRpbWUoZSk6dGhpc31yZXR1cm4gdGhpcy5fckRlbGF5fSxxdC55b3lvPWZ1bmN0aW9uIHlveW8odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3lveW89dCx0aGlzKTp0aGlzLl95b3lvfSxxdC5zZWVrPWZ1bmN0aW9uIHNlZWsodCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoeHQodGhpcyx0KSx3KGUpKX0scXQucmVzdGFydD1mdW5jdGlvbiByZXN0YXJ0KHQsZSl7cmV0dXJuIHRoaXMucGxheSgpLnRvdGFsVGltZSh0Py10aGlzLl9kZWxheTowLHcoZSkpfSxxdC5wbGF5PWZ1bmN0aW9uIHBsYXkodCxlKXtyZXR1cm4gbnVsbCE9dCYmdGhpcy5zZWVrKHQsZSksdGhpcy5yZXZlcnNlZCghMSkucGF1c2VkKCExKX0scXQucmV2ZXJzZT1mdW5jdGlvbiByZXZlcnNlKHQsZSl7cmV0dXJuIG51bGwhPXQmJnRoaXMuc2Vlayh0fHx0aGlzLnRvdGFsRHVyYXRpb24oKSxlKSx0aGlzLnJldmVyc2VkKCEwKS5wYXVzZWQoITEpfSxxdC5wYXVzZT1mdW5jdGlvbiBwYXVzZSh0LGUpe3JldHVybiBudWxsIT10JiZ0aGlzLnNlZWsodCxlKSx0aGlzLnBhdXNlZCghMCl9LHF0LnJlc3VtZT1mdW5jdGlvbiByZXN1bWUoKXtyZXR1cm4gdGhpcy5wYXVzZWQoITEpfSxxdC5yZXZlcnNlZD1mdW5jdGlvbiByZXZlcnNlZCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oISF0IT09dGhpcy5yZXZlcnNlZCgpJiZ0aGlzLnRpbWVTY2FsZSgtdGhpcy5fcnRzfHwodD8tWDowKSksdGhpcyk6dGhpcy5fcnRzPDB9LHF0LmludmFsaWRhdGU9ZnVuY3Rpb24gaW52YWxpZGF0ZSgpe3JldHVybiB0aGlzLl9pbml0dGVkPXRoaXMuX2FjdD0wLHRoaXMuX3pUaW1lPS1YLHRoaXN9LHF0LmlzQWN0aXZlPWZ1bmN0aW9uIGlzQWN0aXZlKCl7dmFyIHQsZT10aGlzLnBhcmVudHx8dGhpcy5fZHAscj10aGlzLl9zdGFydDtyZXR1cm4hKGUmJiEodGhpcy5fdHMmJnRoaXMuX2luaXR0ZWQmJmUuaXNBY3RpdmUoKSYmKHQ9ZS5yYXdUaW1lKCEwKSk+PXImJnQ8dGhpcy5lbmRUaW1lKCEwKS1YKSl9LHF0LmV2ZW50Q2FsbGJhY2s9ZnVuY3Rpb24gZXZlbnRDYWxsYmFjayh0LGUscil7dmFyIGk9dGhpcy52YXJzO3JldHVybiAxPGFyZ3VtZW50cy5sZW5ndGg/KGU/KGlbdF09ZSxyJiYoaVt0KyJQYXJhbXMiXT1yKSwib25VcGRhdGUiPT09dCYmKHRoaXMuX29uVXBkYXRlPWUpKTpkZWxldGUgaVt0XSx0aGlzKTppW3RdfSxxdC50aGVuPWZ1bmN0aW9uIHRoZW4odCl7dmFyIGk9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gQ28oKXt2YXIgdD1pLnRoZW47aS50aGVuPW51bGwscyhyKSYmKHI9cihpKSkmJihyLnRoZW58fHI9PT1pKSYmKGkudGhlbj10KSxlKHIpLGkudGhlbj10fXZhciByPXModCk/dDpwYTtpLl9pbml0dGVkJiYxPT09aS50b3RhbFByb2dyZXNzKCkmJjA8PWkuX3RzfHwhaS5fdFRpbWUmJmkuX3RzPDA/Q28oKTppLl9wcm9tPUNvfSl9LHF0LmtpbGw9ZnVuY3Rpb24ga2lsbCgpe3RiKHRoaXMpfSxBbmltYXRpb24pO2Z1bmN0aW9uIEFuaW1hdGlvbih0KXt0aGlzLnZhcnM9dCx0aGlzLl9kZWxheT0rdC5kZWxheXx8MCwodGhpcy5fcmVwZWF0PXQucmVwZWF0PT09MS8wPy0yOnQucmVwZWF0fHwwKSYmKHRoaXMuX3JEZWxheT10LnJlcGVhdERlbGF5fHwwLHRoaXMuX3lveW89ISF0LnlveW98fCEhdC55b3lvRWFzZSksdGhpcy5fdHM9MSxSYSh0aGlzLCt0LmR1cmF0aW9uLDEsMSksdGhpcy5kYXRhPXQuZGF0YSxsJiYodGhpcy5fY3R4PWwpLmRhdGEucHVzaCh0aGlzKSxjfHxSdC53YWtlKCl9cWEoVXQucHJvdG90eXBlLHtfdGltZTowLF9zdGFydDowLF9lbmQ6MCxfdFRpbWU6MCxfdER1cjowLF9kaXJ0eTowLF9yZXBlYXQ6MCxfeW95bzohMSxwYXJlbnQ6bnVsbCxfaW5pdHRlZDohMSxfckRlbGF5OjAsX3RzOjEsX2RwOjAscmF0aW86MCxfelRpbWU6LVgsX3Byb206MCxfcHM6ITEsX3J0czoxfSk7dmFyIFh0PWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIFRpbWVsaW5lKHQsZSl7dmFyIHI7cmV0dXJuIHZvaWQgMD09PXQmJih0PXt9KSwocj1pLmNhbGwodGhpcyx0KXx8dGhpcykubGFiZWxzPXt9LHIuc21vb3RoQ2hpbGRUaW1pbmc9ISF0LnNtb290aENoaWxkVGltaW5nLHIuYXV0b1JlbW92ZUNoaWxkcmVuPSEhdC5hdXRvUmVtb3ZlQ2hpbGRyZW4sci5fc29ydD13KHQuc29ydENoaWxkcmVuKSxJJiZLYSh0LnBhcmVudHx8SSxfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHIpLGUpLHQucmV2ZXJzZWQmJnIucmV2ZXJzZSgpLHQucGF1c2VkJiZyLnBhdXNlZCghMCksdC5zY3JvbGxUcmlnZ2VyJiZMYShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHIpLHQuc2Nyb2xsVHJpZ2dlcikscn1faW5oZXJpdHNMb29zZShUaW1lbGluZSxpKTt2YXIgZT1UaW1lbGluZS5wcm90b3R5cGU7cmV0dXJuIGUudG89ZnVuY3Rpb24gdG8odCxlLHIpe3JldHVybiBWYSgwLGFyZ3VtZW50cyx0aGlzKSx0aGlzfSxlLmZyb209ZnVuY3Rpb24gZnJvbSh0LGUscil7cmV0dXJuIFZhKDEsYXJndW1lbnRzLHRoaXMpLHRoaXN9LGUuZnJvbVRvPWZ1bmN0aW9uIGZyb21Ubyh0LGUscixpKXtyZXR1cm4gVmEoMixhcmd1bWVudHMsdGhpcyksdGhpc30sZS5zZXQ9ZnVuY3Rpb24gc2V0KHQsZSxyKXtyZXR1cm4gZS5kdXJhdGlvbj0wLGUucGFyZW50PXRoaXMsdmEoZSkucmVwZWF0RGVsYXl8fChlLnJlcGVhdD0wKSxlLmltbWVkaWF0ZVJlbmRlcj0hIWUuaW1tZWRpYXRlUmVuZGVyLG5ldyAkdCh0LGUseHQodGhpcyxyKSwxKSx0aGlzfSxlLmNhbGw9ZnVuY3Rpb24gY2FsbCh0LGUscil7cmV0dXJuIEthKHRoaXMsJHQuZGVsYXllZENhbGwoMCx0LGUpLHIpfSxlLnN0YWdnZXJUbz1mdW5jdGlvbiBzdGFnZ2VyVG8odCxlLHIsaSxuLGEscyl7cmV0dXJuIHIuZHVyYXRpb249ZSxyLnN0YWdnZXI9ci5zdGFnZ2VyfHxpLHIub25Db21wbGV0ZT1hLHIub25Db21wbGV0ZVBhcmFtcz1zLHIucGFyZW50PXRoaXMsbmV3ICR0KHQscix4dCh0aGlzLG4pKSx0aGlzfSxlLnN0YWdnZXJGcm9tPWZ1bmN0aW9uIHN0YWdnZXJGcm9tKHQsZSxyLGksbixhLHMpe3JldHVybiByLnJ1bkJhY2t3YXJkcz0xLHZhKHIpLmltbWVkaWF0ZVJlbmRlcj13KHIuaW1tZWRpYXRlUmVuZGVyKSx0aGlzLnN0YWdnZXJUbyh0LGUscixpLG4sYSxzKX0sZS5zdGFnZ2VyRnJvbVRvPWZ1bmN0aW9uIHN0YWdnZXJGcm9tVG8odCxlLHIsaSxuLGEscyxvKXtyZXR1cm4gaS5zdGFydEF0PXIsdmEoaSkuaW1tZWRpYXRlUmVuZGVyPXcoaS5pbW1lZGlhdGVSZW5kZXIpLHRoaXMuc3RhZ2dlclRvKHQsZSxpLG4sYSxzLG8pfSxlLnJlbmRlcj1mdW5jdGlvbiByZW5kZXIodCxlLHIpe3ZhciBpLG4sYSxzLG8sdSxoLGwsZixkLGMscCxfPXRoaXMuX3RpbWUsbT10aGlzLl9kaXJ0eT90aGlzLnRvdGFsRHVyYXRpb24oKTp0aGlzLl90RHVyLGc9dGhpcy5fZHVyLHY9dDw9MD8wOmphKHQpLHk9dGhpcy5felRpbWU8MCE9dDwwJiYodGhpcy5faW5pdHRlZHx8IWcpO2lmKHRoaXMhPT1JJiZtPHYmJjA8PXQmJih2PW0pLHYhPT10aGlzLl90VGltZXx8cnx8eSl7aWYoXyE9PXRoaXMuX3RpbWUmJmcmJih2Kz10aGlzLl90aW1lLV8sdCs9dGhpcy5fdGltZS1fKSxpPXYsZj10aGlzLl9zdGFydCx1PSEobD10aGlzLl90cykseSYmKGd8fChfPXRoaXMuX3pUaW1lKSwhdCYmZXx8KHRoaXMuX3pUaW1lPXQpKSx0aGlzLl9yZXBlYXQpe2lmKGM9dGhpcy5feW95byxvPWcrdGhpcy5fckRlbGF5LHRoaXMuX3JlcGVhdDwtMSYmdDwwKXJldHVybiB0aGlzLnRvdGFsVGltZSgxMDAqbyt0LGUscik7aWYoaT1qYSh2JW8pLHY9PT1tPyhzPXRoaXMuX3JlcGVhdCxpPWcpOigocz1+fih2L28pKSYmcz09PXYvbyYmKGk9ZyxzLS0pLGc8aSYmKGk9ZykpLGQ9VHQodGhpcy5fdFRpbWUsbyksIV8mJnRoaXMuX3RUaW1lJiZkIT09cyYmdGhpcy5fdFRpbWUtZCpvLXRoaXMuX2R1cjw9MCYmKGQ9cyksYyYmMSZzJiYoaT1nLWkscD0xKSxzIT09ZCYmIXRoaXMuX2xvY2spe3ZhciBUPWMmJjEmZCxiPVQ9PT0oYyYmMSZzKTtpZihzPGQmJihUPSFUKSxfPVQ/MDp2JWc/Zzp2LHRoaXMuX2xvY2s9MSx0aGlzLnJlbmRlcihffHwocD8wOmphKHMqbykpLGUsIWcpLl9sb2NrPTAsdGhpcy5fdFRpbWU9diwhZSYmdGhpcy5wYXJlbnQmJkN0KHRoaXMsIm9uUmVwZWF0IiksdGhpcy52YXJzLnJlcGVhdFJlZnJlc2gmJiFwJiYodGhpcy5pbnZhbGlkYXRlKCkuX2xvY2s9MSksXyYmXyE9PXRoaXMuX3RpbWV8fHUhPSF0aGlzLl90c3x8dGhpcy52YXJzLm9uUmVwZWF0JiYhdGhpcy5wYXJlbnQmJiF0aGlzLl9hY3QpcmV0dXJuIHRoaXM7aWYoZz10aGlzLl9kdXIsbT10aGlzLl90RHVyLGImJih0aGlzLl9sb2NrPTIsXz1UP2c6LTFlLTQsdGhpcy5yZW5kZXIoXywhMCksdGhpcy52YXJzLnJlcGVhdFJlZnJlc2gmJiFwJiZ0aGlzLmludmFsaWRhdGUoKSksdGhpcy5fbG9jaz0wLCF0aGlzLl90cyYmIXUpcmV0dXJuIHRoaXM7UWIodGhpcyxwKX19aWYodGhpcy5faGFzUGF1c2UmJiF0aGlzLl9mb3JjaW5nJiZ0aGlzLl9sb2NrPDImJihoPWZ1bmN0aW9uIF9maW5kTmV4dFBhdXNlVHdlZW4odCxlLHIpe3ZhciBpO2lmKGU8cilmb3IoaT10Ll9maXJzdDtpJiZpLl9zdGFydDw9cjspe2lmKCJpc1BhdXNlIj09PWkuZGF0YSYmaS5fc3RhcnQ+ZSlyZXR1cm4gaTtpPWkuX25leHR9ZWxzZSBmb3IoaT10Ll9sYXN0O2kmJmkuX3N0YXJ0Pj1yOyl7aWYoImlzUGF1c2UiPT09aS5kYXRhJiZpLl9zdGFydDxlKXJldHVybiBpO2k9aS5fcHJldn19KHRoaXMsamEoXyksamEoaSkpKSYmKHYtPWktKGk9aC5fc3RhcnQpKSx0aGlzLl90VGltZT12LHRoaXMuX3RpbWU9aSx0aGlzLl9hY3Q9IWwsdGhpcy5faW5pdHRlZHx8KHRoaXMuX29uVXBkYXRlPXRoaXMudmFycy5vblVwZGF0ZSx0aGlzLl9pbml0dGVkPTEsdGhpcy5felRpbWU9dCxfPTApLCFfJiZpJiYhZSYmIXMmJihDdCh0aGlzLCJvblN0YXJ0IiksdGhpcy5fdFRpbWUhPT12KSlyZXR1cm4gdGhpcztpZihfPD1pJiYwPD10KWZvcihuPXRoaXMuX2ZpcnN0O247KXtpZihhPW4uX25leHQsKG4uX2FjdHx8aT49bi5fc3RhcnQpJiZuLl90cyYmaCE9PW4pe2lmKG4ucGFyZW50IT09dGhpcylyZXR1cm4gdGhpcy5yZW5kZXIodCxlLHIpO2lmKG4ucmVuZGVyKDA8bi5fdHM/KGktbi5fc3RhcnQpKm4uX3RzOihuLl9kaXJ0eT9uLnRvdGFsRHVyYXRpb24oKTpuLl90RHVyKSsoaS1uLl9zdGFydCkqbi5fdHMsZSxyKSxpIT09dGhpcy5fdGltZXx8IXRoaXMuX3RzJiYhdSl7aD0wLGEmJih2Kz10aGlzLl96VGltZT0tWCk7YnJlYWt9fW49YX1lbHNle249dGhpcy5fbGFzdDtmb3IodmFyIHc9dDwwP3Q6aTtuOyl7aWYoYT1uLl9wcmV2LChuLl9hY3R8fHc8PW4uX2VuZCkmJm4uX3RzJiZoIT09bil7aWYobi5wYXJlbnQhPT10aGlzKXJldHVybiB0aGlzLnJlbmRlcih0LGUscik7aWYobi5yZW5kZXIoMDxuLl90cz8ody1uLl9zdGFydCkqbi5fdHM6KG4uX2RpcnR5P24udG90YWxEdXJhdGlvbigpOm4uX3REdXIpKyh3LW4uX3N0YXJ0KSpuLl90cyxlLHJ8fEwmJihuLl9pbml0dGVkfHxuLl9zdGFydEF0KSksaSE9PXRoaXMuX3RpbWV8fCF0aGlzLl90cyYmIXUpe2g9MCxhJiYodis9dGhpcy5felRpbWU9dz8tWDpYKTticmVha319bj1hfX1pZihoJiYhZSYmKHRoaXMucGF1c2UoKSxoLnJlbmRlcihfPD1pPzA6LVgpLl96VGltZT1fPD1pPzE6LTEsdGhpcy5fdHMpKXJldHVybiB0aGlzLl9zdGFydD1mLEhhKHRoaXMpLHRoaXMucmVuZGVyKHQsZSxyKTt0aGlzLl9vblVwZGF0ZSYmIWUmJkN0KHRoaXMsIm9uVXBkYXRlIiwhMCksKHY9PT1tJiZ0aGlzLl90VGltZT49dGhpcy50b3RhbER1cmF0aW9uKCl8fCF2JiZfKSYmKGYhPT10aGlzLl9zdGFydCYmTWF0aC5hYnMobCk9PT1NYXRoLmFicyh0aGlzLl90cyl8fHRoaXMuX2xvY2t8fCghdCYmZ3x8ISh2PT09bSYmMDx0aGlzLl90c3x8IXYmJnRoaXMuX3RzPDApfHx6YSh0aGlzLDEpLGV8fHQ8MCYmIV98fCF2JiYhXyYmbXx8KEN0KHRoaXMsdj09PW0mJjA8PXQ/Im9uQ29tcGxldGUiOiJvblJldmVyc2VDb21wbGV0ZSIsITApLCF0aGlzLl9wcm9tfHx2PG0mJjA8dGhpcy50aW1lU2NhbGUoKXx8dGhpcy5fcHJvbSgpKSkpfXJldHVybiB0aGlzfSxlLmFkZD1mdW5jdGlvbiBhZGQoZSxpKXt2YXIgbj10aGlzO2lmKHQoaSl8fChpPXh0KHRoaXMsaSxlKSksIShlIGluc3RhbmNlb2YgVXQpKXtpZihaKGUpKXJldHVybiBlLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIG4uYWRkKHQsaSl9KSx0aGlzO2lmKHIoZSkpcmV0dXJuIHRoaXMuYWRkTGFiZWwoZSxpKTtpZighcyhlKSlyZXR1cm4gdGhpcztlPSR0LmRlbGF5ZWRDYWxsKDAsZSl9cmV0dXJuIHRoaXMhPT1lP0thKHRoaXMsZSxpKTp0aGlzfSxlLmdldENoaWxkcmVuPWZ1bmN0aW9uIGdldENoaWxkcmVuKHQsZSxyLGkpe3ZvaWQgMD09PXQmJih0PSEwKSx2b2lkIDA9PT1lJiYoZT0hMCksdm9pZCAwPT09ciYmKHI9ITApLHZvaWQgMD09PWkmJihpPS1VKTtmb3IodmFyIG49W10sYT10aGlzLl9maXJzdDthOylhLl9zdGFydD49aSYmKGEgaW5zdGFuY2VvZiAkdD9lJiZuLnB1c2goYSk6KHImJm4ucHVzaChhKSx0JiZuLnB1c2guYXBwbHkobixhLmdldENoaWxkcmVuKCEwLGUscikpKSksYT1hLl9uZXh0O3JldHVybiBufSxlLmdldEJ5SWQ9ZnVuY3Rpb24gZ2V0QnlJZCh0KXtmb3IodmFyIGU9dGhpcy5nZXRDaGlsZHJlbigxLDEsMSkscj1lLmxlbmd0aDtyLS07KWlmKGVbcl0udmFycy5pZD09PXQpcmV0dXJuIGVbcl19LGUucmVtb3ZlPWZ1bmN0aW9uIHJlbW92ZSh0KXtyZXR1cm4gcih0KT90aGlzLnJlbW92ZUxhYmVsKHQpOnModCk/dGhpcy5raWxsVHdlZW5zT2YodCk6KHlhKHRoaXMsdCksdD09PXRoaXMuX3JlY2VudCYmKHRoaXMuX3JlY2VudD10aGlzLl9sYXN0KSxBYSh0aGlzKSl9LGUudG90YWxUaW1lPWZ1bmN0aW9uIHRvdGFsVGltZSh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9mb3JjaW5nPTEsIXRoaXMuX2RwJiZ0aGlzLl90cyYmKHRoaXMuX3N0YXJ0PWphKFJ0LnRpbWUtKDA8dGhpcy5fdHM/dC90aGlzLl90czoodGhpcy50b3RhbER1cmF0aW9uKCktdCkvLXRoaXMuX3RzKSkpLGkucHJvdG90eXBlLnRvdGFsVGltZS5jYWxsKHRoaXMsdCxlKSx0aGlzLl9mb3JjaW5nPTAsdGhpcyk6dGhpcy5fdFRpbWV9LGUuYWRkTGFiZWw9ZnVuY3Rpb24gYWRkTGFiZWwodCxlKXtyZXR1cm4gdGhpcy5sYWJlbHNbdF09eHQodGhpcyxlKSx0aGlzfSxlLnJlbW92ZUxhYmVsPWZ1bmN0aW9uIHJlbW92ZUxhYmVsKHQpe3JldHVybiBkZWxldGUgdGhpcy5sYWJlbHNbdF0sdGhpc30sZS5hZGRQYXVzZT1mdW5jdGlvbiBhZGRQYXVzZSh0LGUscil7dmFyIGk9JHQuZGVsYXllZENhbGwoMCxlfHxULHIpO3JldHVybiBpLmRhdGE9ImlzUGF1c2UiLHRoaXMuX2hhc1BhdXNlPTEsS2EodGhpcyxpLHh0KHRoaXMsdCkpfSxlLnJlbW92ZVBhdXNlPWZ1bmN0aW9uIHJlbW92ZVBhdXNlKHQpe3ZhciBlPXRoaXMuX2ZpcnN0O2Zvcih0PXh0KHRoaXMsdCk7ZTspZS5fc3RhcnQ9PT10JiYiaXNQYXVzZSI9PT1lLmRhdGEmJnphKGUpLGU9ZS5fbmV4dH0sZS5raWxsVHdlZW5zT2Y9ZnVuY3Rpb24ga2lsbFR3ZWVuc09mKHQsZSxyKXtmb3IodmFyIGk9dGhpcy5nZXRUd2VlbnNPZih0LHIpLG49aS5sZW5ndGg7bi0tOylOdCE9PWlbbl0mJmlbbl0ua2lsbCh0LGUpO3JldHVybiB0aGlzfSxlLmdldFR3ZWVuc09mPWZ1bmN0aW9uIGdldFR3ZWVuc09mKGUscil7Zm9yKHZhciBpLG49W10sYT1NdChlKSxzPXRoaXMuX2ZpcnN0LG89dChyKTtzOylzIGluc3RhbmNlb2YgJHQ/bGEocy5fdGFyZ2V0cyxhKSYmKG8/KCFOdHx8cy5faW5pdHRlZCYmcy5fdHMpJiZzLmdsb2JhbFRpbWUoMCk8PXImJnMuZ2xvYmFsVGltZShzLnRvdGFsRHVyYXRpb24oKSk+cjohcnx8cy5pc0FjdGl2ZSgpKSYmbi5wdXNoKHMpOihpPXMuZ2V0VHdlZW5zT2YoYSxyKSkubGVuZ3RoJiZuLnB1c2guYXBwbHkobixpKSxzPXMuX25leHQ7cmV0dXJuIG59LGUudHdlZW5Ubz1mdW5jdGlvbiB0d2VlblRvKHQsZSl7ZT1lfHx7fTt2YXIgcixpPXRoaXMsbj14dChpLHQpLGE9ZS5zdGFydEF0LHM9ZS5vblN0YXJ0LG89ZS5vblN0YXJ0UGFyYW1zLHU9ZS5pbW1lZGlhdGVSZW5kZXIsaD0kdC50byhpLHFhKHtlYXNlOmUuZWFzZXx8Im5vbmUiLGxhenk6ITEsaW1tZWRpYXRlUmVuZGVyOiExLHRpbWU6bixvdmVyd3JpdGU6ImF1dG8iLGR1cmF0aW9uOmUuZHVyYXRpb258fE1hdGguYWJzKChuLShhJiYidGltZSJpbiBhP2EudGltZTppLl90aW1lKSkvaS50aW1lU2NhbGUoKSl8fFgsb25TdGFydDpmdW5jdGlvbiBvblN0YXJ0KCl7aWYoaS5wYXVzZSgpLCFyKXt2YXIgdD1lLmR1cmF0aW9ufHxNYXRoLmFicygobi0oYSYmInRpbWUiaW4gYT9hLnRpbWU6aS5fdGltZSkpL2kudGltZVNjYWxlKCkpO2guX2R1ciE9PXQmJlJhKGgsdCwwLDEpLnJlbmRlcihoLl90aW1lLCEwLCEwKSxyPTF9cyYmcy5hcHBseShoLG98fFtdKX19LGUpKTtyZXR1cm4gdT9oLnJlbmRlcigwKTpofSxlLnR3ZWVuRnJvbVRvPWZ1bmN0aW9uIHR3ZWVuRnJvbVRvKHQsZSxyKXtyZXR1cm4gdGhpcy50d2VlblRvKGUscWEoe3N0YXJ0QXQ6e3RpbWU6eHQodGhpcyx0KX19LHIpKX0sZS5yZWNlbnQ9ZnVuY3Rpb24gcmVjZW50KCl7cmV0dXJuIHRoaXMuX3JlY2VudH0sZS5uZXh0TGFiZWw9ZnVuY3Rpb24gbmV4dExhYmVsKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLl90aW1lKSxyYih0aGlzLHh0KHRoaXMsdCkpfSxlLnByZXZpb3VzTGFiZWw9ZnVuY3Rpb24gcHJldmlvdXNMYWJlbCh0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9dGhpcy5fdGltZSkscmIodGhpcyx4dCh0aGlzLHQpLDEpfSxlLmN1cnJlbnRMYWJlbD1mdW5jdGlvbiBjdXJyZW50TGFiZWwodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5zZWVrKHQsITApOnRoaXMucHJldmlvdXNMYWJlbCh0aGlzLl90aW1lK1gpfSxlLnNoaWZ0Q2hpbGRyZW49ZnVuY3Rpb24gc2hpZnRDaGlsZHJlbih0LGUscil7dm9pZCAwPT09ciYmKHI9MCk7Zm9yKHZhciBpLG49dGhpcy5fZmlyc3QsYT10aGlzLmxhYmVscztuOyluLl9zdGFydD49ciYmKG4uX3N0YXJ0Kz10LG4uX2VuZCs9dCksbj1uLl9uZXh0O2lmKGUpZm9yKGkgaW4gYSlhW2ldPj1yJiYoYVtpXSs9dCk7cmV0dXJuIEFhKHRoaXMpfSxlLmludmFsaWRhdGU9ZnVuY3Rpb24gaW52YWxpZGF0ZSh0KXt2YXIgZT10aGlzLl9maXJzdDtmb3IodGhpcy5fbG9jaz0wO2U7KWUuaW52YWxpZGF0ZSh0KSxlPWUuX25leHQ7cmV0dXJuIGkucHJvdG90eXBlLmludmFsaWRhdGUuY2FsbCh0aGlzLHQpfSxlLmNsZWFyPWZ1bmN0aW9uIGNsZWFyKHQpe3ZvaWQgMD09PXQmJih0PSEwKTtmb3IodmFyIGUscj10aGlzLl9maXJzdDtyOyllPXIuX25leHQsdGhpcy5yZW1vdmUocikscj1lO3JldHVybiB0aGlzLl9kcCYmKHRoaXMuX3RpbWU9dGhpcy5fdFRpbWU9dGhpcy5fcFRpbWU9MCksdCYmKHRoaXMubGFiZWxzPXt9KSxBYSh0aGlzKX0sZS50b3RhbER1cmF0aW9uPWZ1bmN0aW9uIHRvdGFsRHVyYXRpb24odCl7dmFyIGUscixpLG49MCxhPXRoaXMscz1hLl9sYXN0LG89VTtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLnRpbWVTY2FsZSgoYS5fcmVwZWF0PDA/YS5kdXJhdGlvbigpOmEudG90YWxEdXJhdGlvbigpKS8oYS5yZXZlcnNlZCgpPy10OnQpKTtpZihhLl9kaXJ0eSl7Zm9yKGk9YS5wYXJlbnQ7czspZT1zLl9wcmV2LHMuX2RpcnR5JiZzLnRvdGFsRHVyYXRpb24oKSxvPChyPXMuX3N0YXJ0KSYmYS5fc29ydCYmcy5fdHMmJiFhLl9sb2NrPyhhLl9sb2NrPTEsS2EoYSxzLHItcy5fZGVsYXksMSkuX2xvY2s9MCk6bz1yLHI8MCYmcy5fdHMmJihuLT1yLCghaSYmIWEuX2RwfHxpJiZpLnNtb290aENoaWxkVGltaW5nKSYmKGEuX3N0YXJ0Kz1yL2EuX3RzLGEuX3RpbWUtPXIsYS5fdFRpbWUtPXIpLGEuc2hpZnRDaGlsZHJlbigtciwhMSwtSW5maW5pdHkpLG89MCkscy5fZW5kPm4mJnMuX3RzJiYobj1zLl9lbmQpLHM9ZTtSYShhLGE9PT1JJiZhLl90aW1lPm4/YS5fdGltZTpuLDEsMSksYS5fZGlydHk9MH1yZXR1cm4gYS5fdER1cn0sVGltZWxpbmUudXBkYXRlUm9vdD1mdW5jdGlvbiB1cGRhdGVSb290KHQpe2lmKEkuX3RzJiYobmEoSSxHYSh0LEkpKSxmPVJ0LmZyYW1lKSxSdC5mcmFtZT49bXQpe210Kz1xLmF1dG9TbGVlcHx8MTIwO3ZhciBlPUkuX2ZpcnN0O2lmKCghZXx8IWUuX3RzKSYmcS5hdXRvU2xlZXAmJlJ0Ll9saXN0ZW5lcnMubGVuZ3RoPDIpe2Zvcig7ZSYmIWUuX3RzOyllPWUuX25leHQ7ZXx8UnQuc2xlZXAoKX19fSxUaW1lbGluZX0oVXQpO3FhKFh0LnByb3RvdHlwZSx7X2xvY2s6MCxfaGFzUGF1c2U6MCxfZm9yY2luZzowfSk7ZnVuY3Rpb24gYWModCxlLGksbixhLG8pe3ZhciB1LGgsbCxmO2lmKHB0W3RdJiYhMSE9PSh1PW5ldyBwdFt0XSkuaW5pdChhLHUucmF3VmFycz9lW3RdOmZ1bmN0aW9uIF9wcm9jZXNzVmFycyh0LGUsaSxuLGEpe2lmKHModCkmJih0PUt0KHQsYSxlLGksbikpLCF2KHQpfHx0LnN0eWxlJiZ0Lm5vZGVUeXBlfHxaKHQpfHwkKHQpKXJldHVybiByKHQpP0t0KHQsYSxlLGksbik6dDt2YXIgbyx1PXt9O2ZvcihvIGluIHQpdVtvXT1LdCh0W29dLGEsZSxpLG4pO3JldHVybiB1fShlW3RdLG4sYSxvLGkpLGksbixvKSYmKGkuX3B0PWg9bmV3IF9lKGkuX3B0LGEsdCwwLDEsdS5yZW5kZXIsdSwwLHUucHJpb3JpdHkpLGkhPT1kKSlmb3IobD1pLl9wdExvb2t1cFtpLl90YXJnZXRzLmluZGV4T2YoYSldLGY9dS5fcHJvcHMubGVuZ3RoO2YtLTspbFt1Ll9wcm9wc1tmXV09aDtyZXR1cm4gdX1mdW5jdGlvbiBnYyh0LHIsZSxpKXt2YXIgbixhLHM9ci5lYXNlfHxpfHwicG93ZXIxLmluT3V0IjtpZihaKHIpKWE9ZVt0XXx8KGVbdF09W10pLHIuZm9yRWFjaChmdW5jdGlvbih0LGUpe3JldHVybiBhLnB1c2goe3Q6ZS8oci5sZW5ndGgtMSkqMTAwLHY6dCxlOnN9KX0pO2Vsc2UgZm9yKG4gaW4gcilhPWVbbl18fChlW25dPVtdKSwiZWFzZSI9PT1ufHxhLnB1c2goe3Q6cGFyc2VGbG9hdCh0KSx2OnJbbl0sZTpzfSl9dmFyIE50LEd0LFd0PWZ1bmN0aW9uIF9hZGRQcm9wVHdlZW4odCxlLGksbixhLG8sdSxoLGwsZil7cyhuKSYmKG49bihhfHwwLHQsbykpO3ZhciBkLGM9dFtlXSxwPSJnZXQiIT09aT9pOnMoYyk/bD90W2UuaW5kZXhPZigic2V0Iil8fCFzKHRbImdldCIrZS5zdWJzdHIoMyldKT9lOiJnZXQiK2Uuc3Vic3RyKDMpXShsKTp0W2VdKCk6YyxfPXMoYyk/bD9yZTp0ZTpadDtpZihyKG4pJiYofm4uaW5kZXhPZigicmFuZG9tKCIpJiYobj1vYihuKSksIj0iPT09bi5jaGFyQXQoMSkmJighKGQ9a2EocCxuKSsoWWEocCl8fDApKSYmMCE9PWR8fChuPWQpKSksIWZ8fHAhPT1ufHxHdClyZXR1cm4gaXNOYU4ocCpuKXx8IiI9PT1uPyhjfHxlIGluIHR8fFEoZSxuKSxmdW5jdGlvbiBfYWRkQ29tcGxleFN0cmluZ1Byb3BUd2Vlbih0LGUscixpLG4sYSxzKXt2YXIgbyx1LGgsbCxmLGQsYyxwLF89bmV3IF9lKHRoaXMuX3B0LHQsZSwwLDEsdWUsbnVsbCxuKSxtPTAsZz0wO2ZvcihfLmI9cixfLmU9aSxyKz0iIiwoYz1+KGkrPSIiKS5pbmRleE9mKCJyYW5kb20oIikpJiYoaT1vYihpKSksYSYmKGEocD1bcixpXSx0LGUpLHI9cFswXSxpPXBbMV0pLHU9ci5tYXRjaChpdCl8fFtdO289aXQuZXhlYyhpKTspbD1vWzBdLGY9aS5zdWJzdHJpbmcobSxvLmluZGV4KSxoP2g9KGgrMSklNToicmdiYSgiPT09Zi5zdWJzdHIoLTUpJiYoaD0xKSxsIT09dVtnKytdJiYoZD1wYXJzZUZsb2F0KHVbZy0xXSl8fDAsXy5fcHQ9e19uZXh0Ol8uX3B0LHA6Znx8MT09PWc/ZjoiLCIsczpkLGM6Ij0iPT09bC5jaGFyQXQoMSk/a2EoZCxsKS1kOnBhcnNlRmxvYXQobCktZCxtOmgmJmg8ND9NYXRoLnJvdW5kOjB9LG09aXQubGFzdEluZGV4KTtyZXR1cm4gXy5jPW08aS5sZW5ndGg/aS5zdWJzdHJpbmcobSxpLmxlbmd0aCk6IiIsXy5mcD1zLChudC50ZXN0KGkpfHxjKSYmKF8uZT0wKSx0aGlzLl9wdD1ffS5jYWxsKHRoaXMsdCxlLHAsbixfLGh8fHEuc3RyaW5nRmlsdGVyLGwpKTooZD1uZXcgX2UodGhpcy5fcHQsdCxlLCtwfHwwLG4tKHB8fDApLCJib29sZWFuIj09dHlwZW9mIGM/c2U6YWUsMCxfKSxsJiYoZC5mcD1sKSx1JiZkLm1vZGlmaWVyKHUsdGhpcyx0KSx0aGlzLl9wdD1kKX0sUXQ9ZnVuY3Rpb24gX2luaXRUd2Vlbih0LGUscil7dmFyIGksbixhLHMsbyx1LGgsbCxmLGQsYyxwLF8sbT10LnZhcnMsZz1tLmVhc2Usdj1tLnN0YXJ0QXQseT1tLmltbWVkaWF0ZVJlbmRlcixUPW0ubGF6eSxiPW0ub25VcGRhdGUseD1tLnJ1bkJhY2t3YXJkcyxPPW0ueW95b0Vhc2Usaz1tLmtleWZyYW1lcyxNPW0uYXV0b1JldmVydCxQPXQuX2R1cixDPXQuX3N0YXJ0QXQsQT10Ll90YXJnZXRzLFM9dC5wYXJlbnQsej1TJiYibmVzdGVkIj09PVMuZGF0YT9TLnZhcnMudGFyZ2V0czpBLEU9ImF1dG8iPT09dC5fb3ZlcndyaXRlJiYhRixEPXQudGltZWxpbmU7aWYoIUR8fGsmJmd8fChnPSJub25lIiksdC5fZWFzZT1qdChnLFYuZWFzZSksdC5feUVhc2U9Tz9ZdChqdCghMD09PU8/ZzpPLFYuZWFzZSkpOjAsTyYmdC5feW95byYmIXQuX3JlcGVhdCYmKE89dC5feUVhc2UsdC5feUVhc2U9dC5fZWFzZSx0Ll9lYXNlPU8pLHQuX2Zyb209IUQmJiEhbS5ydW5CYWNrd2FyZHMsIUR8fGsmJiFtLnN0YWdnZXIpe2lmKHA9KGw9QVswXT9mYShBWzBdKS5oYXJuZXNzOjApJiZtW2wucHJvcF0saT11YShtLGZ0KSxDJiYoQy5felRpbWU8MCYmQy5wcm9ncmVzcygxKSxlPDAmJngmJnkmJiFNP0MucmVuZGVyKC0xLCEwKTpDLnJldmVydCh4JiZQP2h0OnV0KSxDLl9sYXp5PTApLHYpe2lmKHphKHQuX3N0YXJ0QXQ9JHQuc2V0KEEscWEoe2RhdGE6ImlzU3RhcnQiLG92ZXJ3cml0ZTohMSxwYXJlbnQ6UyxpbW1lZGlhdGVSZW5kZXI6ITAsbGF6eTohQyYmdyhUKSxzdGFydEF0Om51bGwsZGVsYXk6MCxvblVwZGF0ZTpiJiZmdW5jdGlvbigpe3JldHVybiBDdCh0LCJvblVwZGF0ZSIpfSxzdGFnZ2VyOjB9LHYpKSksdC5fc3RhcnRBdC5fZHA9MCx0Ll9zdGFydEF0Ll9zYXQ9dCxlPDAmJihMfHwheSYmIU0pJiZ0Ll9zdGFydEF0LnJldmVydChodCkseSYmUCYmZTw9MCYmcjw9MClyZXR1cm4gdm9pZChlJiYodC5felRpbWU9ZSkpfWVsc2UgaWYoeCYmUCYmIUMpaWYoZSYmKHk9ITEpLGE9cWEoe292ZXJ3cml0ZTohMSxkYXRhOiJpc0Zyb21TdGFydCIsbGF6eTp5JiYhQyYmdyhUKSxpbW1lZGlhdGVSZW5kZXI6eSxzdGFnZ2VyOjAscGFyZW50OlN9LGkpLHAmJihhW2wucHJvcF09cCksemEodC5fc3RhcnRBdD0kdC5zZXQoQSxhKSksdC5fc3RhcnRBdC5fZHA9MCx0Ll9zdGFydEF0Ll9zYXQ9dCxlPDAmJihMP3QuX3N0YXJ0QXQucmV2ZXJ0KGh0KTp0Ll9zdGFydEF0LnJlbmRlcigtMSwhMCkpLHQuX3pUaW1lPWUseSl7aWYoIWUpcmV0dXJufWVsc2UgX2luaXRUd2Vlbih0Ll9zdGFydEF0LFgsWCk7Zm9yKHQuX3B0PXQuX3B0Q2FjaGU9MCxUPVAmJncoVCl8fFQmJiFQLG49MDtuPEEubGVuZ3RoO24rKyl7aWYoaD0obz1BW25dKS5fZ3NhcHx8ZWEoQSlbbl0uX2dzYXAsdC5fcHRMb29rdXBbbl09ZD17fSxjdFtoLmlkXSYmZHQubGVuZ3RoJiZtYSgpLGM9ej09PUE/bjp6LmluZGV4T2YobyksbCYmITEhPT0oZj1uZXcgbCkuaW5pdChvLHB8fGksdCxjLHopJiYodC5fcHQ9cz1uZXcgX2UodC5fcHQsbyxmLm5hbWUsMCwxLGYucmVuZGVyLGYsMCxmLnByaW9yaXR5KSxmLl9wcm9wcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2RbdF09c30pLGYucHJpb3JpdHkmJih1PTEpKSwhbHx8cClmb3IoYSBpbiBpKXB0W2FdJiYoZj1hYyhhLGksdCxjLG8seikpP2YucHJpb3JpdHkmJih1PTEpOmRbYV09cz1XdC5jYWxsKHQsbyxhLCJnZXQiLGlbYV0sYyx6LDAsbS5zdHJpbmdGaWx0ZXIpO3QuX29wJiZ0Ll9vcFtuXSYmdC5raWxsKG8sdC5fb3Bbbl0pLEUmJnQuX3B0JiYoTnQ9dCxJLmtpbGxUd2VlbnNPZihvLGQsdC5nbG9iYWxUaW1lKGUpKSxfPSF0LnBhcmVudCxOdD0wKSx0Ll9wdCYmVCYmKGN0W2guaWRdPTEpfXUmJnBlKHQpLHQuX29uSW5pdCYmdC5fb25Jbml0KHQpfXQuX29uVXBkYXRlPWIsdC5faW5pdHRlZD0oIXQuX29wfHx0Ll9wdCkmJiFfLGsmJmU8PTAmJkQucmVuZGVyKFUsITAsITApfSxLdD1mdW5jdGlvbiBfcGFyc2VGdW5jT3JTdHJpbmcodCxlLGksbixhKXtyZXR1cm4gcyh0KT90LmNhbGwoZSxpLG4sYSk6cih0KSYmfnQuaW5kZXhPZigicmFuZG9tKCIpP29iKHQpOnR9LEp0PXZ0KyJyZXBlYXQscmVwZWF0RGVsYXkseW95byxyZXBlYXRSZWZyZXNoLHlveW9FYXNlLGF1dG9SZXZlcnQiLEh0PXt9O2hhKEp0KyIsaWQsc3RhZ2dlcixkZWxheSxkdXJhdGlvbixwYXVzZWQsc2Nyb2xsVHJpZ2dlciIsZnVuY3Rpb24odCl7cmV0dXJuIEh0W3RdPTF9KTt2YXIgJHQ9ZnVuY3Rpb24oRCl7ZnVuY3Rpb24gVHdlZW4oZSxyLGksbil7dmFyIGE7Im51bWJlciI9PXR5cGVvZiByJiYoaS5kdXJhdGlvbj1yLHI9aSxpPW51bGwpO3ZhciBzLG8sdSxoLGwsZixkLGMscD0oYT1ELmNhbGwodGhpcyxuP3I6dmEocikpfHx0aGlzKS52YXJzLF89cC5kdXJhdGlvbixtPXAuZGVsYXksZz1wLmltbWVkaWF0ZVJlbmRlcixUPXAuc3RhZ2dlcixiPXAub3ZlcndyaXRlLHg9cC5rZXlmcmFtZXMsTz1wLmRlZmF1bHRzLGs9cC5zY3JvbGxUcmlnZ2VyLE09cC55b3lvRWFzZSxQPXIucGFyZW50fHxJLEM9KFooZSl8fCQoZSk/dChlWzBdKToibGVuZ3RoImluIHIpP1tlXTpNdChlKTtpZihhLl90YXJnZXRzPUMubGVuZ3RoP2VhKEMpOlIoIkdTQVAgdGFyZ2V0ICIrZSsiIG5vdCBmb3VuZC4gaHR0cHM6Ly9nc2FwLmNvbSIsIXEubnVsbFRhcmdldFdhcm4pfHxbXSxhLl9wdExvb2t1cD1bXSxhLl9vdmVyd3JpdGU9Yix4fHxUfHx5KF8pfHx5KG0pKXtpZihyPWEudmFycywocz1hLnRpbWVsaW5lPW5ldyBYdCh7ZGF0YToibmVzdGVkIixkZWZhdWx0czpPfHx7fSx0YXJnZXRzOlAmJiJuZXN0ZWQiPT09UC5kYXRhP1AudmFycy50YXJnZXRzOkN9KSkua2lsbCgpLHMucGFyZW50PXMuX2RwPV9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoYSkscy5fc3RhcnQ9MCxUfHx5KF8pfHx5KG0pKXtpZihoPUMubGVuZ3RoLGQ9VCYmZWIoVCksdihUKSlmb3IobCBpbiBUKX5KdC5pbmRleE9mKGwpJiYoKGM9Y3x8e30pW2xdPVRbbF0pO2ZvcihvPTA7bzxoO28rKykodT11YShyLEh0KSkuc3RhZ2dlcj0wLE0mJih1LnlveW9FYXNlPU0pLGMmJnl0KHUsYyksZj1DW29dLHUuZHVyYXRpb249K0t0KF8sX2Fzc2VydFRoaXNJbml0aWFsaXplZChhKSxvLGYsQyksdS5kZWxheT0oK0t0KG0sX2Fzc2VydFRoaXNJbml0aWFsaXplZChhKSxvLGYsQyl8fDApLWEuX2RlbGF5LCFUJiYxPT09aCYmdS5kZWxheSYmKGEuX2RlbGF5PW09dS5kZWxheSxhLl9zdGFydCs9bSx1LmRlbGF5PTApLHMudG8oZix1LGQ/ZChvLGYsQyk6MCkscy5fZWFzZT1MdC5ub25lO3MuZHVyYXRpb24oKT9fPW09MDphLnRpbWVsaW5lPTB9ZWxzZSBpZih4KXt2YShxYShzLnZhcnMuZGVmYXVsdHMse2Vhc2U6Im5vbmUifSkpLHMuX2Vhc2U9anQoeC5lYXNlfHxyLmVhc2V8fCJub25lIik7dmFyIEEsUyx6LEU9MDtpZihaKHgpKXguZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gcy50byhDLHQsIj4iKX0pLHMuZHVyYXRpb24oKTtlbHNle2ZvcihsIGluIHU9e30seCkiZWFzZSI9PT1sfHwiZWFzZUVhY2giPT09bHx8Z2MobCx4W2xdLHUseC5lYXNlRWFjaCk7Zm9yKGwgaW4gdSlmb3IoQT11W2xdLnNvcnQoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50LWUudH0pLG89RT0wO288QS5sZW5ndGg7bysrKSh6PXtlYXNlOihTPUFbb10pLmUsZHVyYXRpb246KFMudC0obz9BW28tMV0udDowKSkvMTAwKl99KVtsXT1TLnYscy50byhDLHosRSksRSs9ei5kdXJhdGlvbjtzLmR1cmF0aW9uKCk8XyYmcy50byh7fSx7ZHVyYXRpb246Xy1zLmR1cmF0aW9uKCl9KX19X3x8YS5kdXJhdGlvbihfPXMuZHVyYXRpb24oKSl9ZWxzZSBhLnRpbWVsaW5lPTA7cmV0dXJuITAhPT1ifHxGfHwoTnQ9X2Fzc2VydFRoaXNJbml0aWFsaXplZChhKSxJLmtpbGxUd2VlbnNPZihDKSxOdD0wKSxLYShQLF9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQoYSksaSksci5yZXZlcnNlZCYmYS5yZXZlcnNlKCksci5wYXVzZWQmJmEucGF1c2VkKCEwKSwoZ3x8IV8mJiF4JiZhLl9zdGFydD09PWphKFAuX3RpbWUpJiZ3KGcpJiZmdW5jdGlvbiBfaGFzTm9QYXVzZWRBbmNlc3RvcnModCl7cmV0dXJuIXR8fHQuX3RzJiZfaGFzTm9QYXVzZWRBbmNlc3RvcnModC5wYXJlbnQpfShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKGEpKSYmIm5lc3RlZCIhPT1QLmRhdGEpJiYoYS5fdFRpbWU9LVgsYS5yZW5kZXIoTWF0aC5tYXgoMCwtbSl8fDApKSxrJiZMYShfYXNzZXJ0VGhpc0luaXRpYWxpemVkKGEpLGspLGF9X2luaGVyaXRzTG9vc2UoVHdlZW4sRCk7dmFyIGU9VHdlZW4ucHJvdG90eXBlO3JldHVybiBlLnJlbmRlcj1mdW5jdGlvbiByZW5kZXIodCxlLHIpe3ZhciBpLG4sYSxzLG8sdSxoLGwsZixkPXRoaXMuX3RpbWUsYz10aGlzLl90RHVyLHA9dGhpcy5fZHVyLF89dDwwLG09Yy1YPHQmJiFfP2M6dDxYPzA6dDtpZihwKXtpZihtIT09dGhpcy5fdFRpbWV8fCF0fHxyfHwhdGhpcy5faW5pdHRlZCYmdGhpcy5fdFRpbWV8fHRoaXMuX3N0YXJ0QXQmJnRoaXMuX3pUaW1lPDAhPV8pe2lmKGk9bSxsPXRoaXMudGltZWxpbmUsdGhpcy5fcmVwZWF0KXtpZihzPXArdGhpcy5fckRlbGF5LHRoaXMuX3JlcGVhdDwtMSYmXylyZXR1cm4gdGhpcy50b3RhbFRpbWUoMTAwKnMrdCxlLHIpO2lmKGk9amEobSVzKSxtPT09Yz8oYT10aGlzLl9yZXBlYXQsaT1wKTooKGE9fn4obS9zKSkmJmE9PT1qYShtL3MpJiYoaT1wLGEtLSkscDxpJiYoaT1wKSksKHU9dGhpcy5feW95byYmMSZhKSYmKGY9dGhpcy5feUVhc2UsaT1wLWkpLG89VHQodGhpcy5fdFRpbWUscyksaT09PWQmJiFyJiZ0aGlzLl9pbml0dGVkJiZhPT09bylyZXR1cm4gdGhpcy5fdFRpbWU9bSx0aGlzO2EhPT1vJiYobCYmdGhpcy5feUVhc2UmJlFiKGwsdSksdGhpcy52YXJzLnJlcGVhdFJlZnJlc2gmJiF1JiYhdGhpcy5fbG9jayYmdGhpcy5fdGltZSE9PXMmJnRoaXMuX2luaXR0ZWQmJih0aGlzLl9sb2NrPXI9MSx0aGlzLnJlbmRlcihqYShzKmEpLCEwKS5pbnZhbGlkYXRlKCkuX2xvY2s9MCkpfWlmKCF0aGlzLl9pbml0dGVkKXtpZihNYSh0aGlzLF8/dDppLHIsZSxtKSlyZXR1cm4gdGhpcy5fdFRpbWU9MCx0aGlzO2lmKCEoZD09PXRoaXMuX3RpbWV8fHImJnRoaXMudmFycy5yZXBlYXRSZWZyZXNoJiZhIT09bykpcmV0dXJuIHRoaXM7aWYocCE9PXRoaXMuX2R1cilyZXR1cm4gdGhpcy5yZW5kZXIodCxlLHIpfWlmKHRoaXMuX3RUaW1lPW0sdGhpcy5fdGltZT1pLCF0aGlzLl9hY3QmJnRoaXMuX3RzJiYodGhpcy5fYWN0PTEsdGhpcy5fbGF6eT0wKSx0aGlzLnJhdGlvPWg9KGZ8fHRoaXMuX2Vhc2UpKGkvcCksdGhpcy5fZnJvbSYmKHRoaXMucmF0aW89aD0xLWgpLGkmJiFkJiYhZSYmIWEmJihDdCh0aGlzLCJvblN0YXJ0IiksdGhpcy5fdFRpbWUhPT1tKSlyZXR1cm4gdGhpcztmb3Iobj10aGlzLl9wdDtuOyluLnIoaCxuLmQpLG49bi5fbmV4dDtsJiZsLnJlbmRlcih0PDA/dDpsLl9kdXIqbC5fZWFzZShpL3RoaXMuX2R1ciksZSxyKXx8dGhpcy5fc3RhcnRBdCYmKHRoaXMuX3pUaW1lPXQpLHRoaXMuX29uVXBkYXRlJiYhZSYmKF8mJkNhKHRoaXMsdCwwLHIpLEN0KHRoaXMsIm9uVXBkYXRlIikpLHRoaXMuX3JlcGVhdCYmYSE9PW8mJnRoaXMudmFycy5vblJlcGVhdCYmIWUmJnRoaXMucGFyZW50JiZDdCh0aGlzLCJvblJlcGVhdCIpLG0hPT10aGlzLl90RHVyJiZtfHx0aGlzLl90VGltZSE9PW18fChfJiYhdGhpcy5fb25VcGRhdGUmJkNhKHRoaXMsdCwwLCEwKSwhdCYmcHx8IShtPT09dGhpcy5fdER1ciYmMDx0aGlzLl90c3x8IW0mJnRoaXMuX3RzPDApfHx6YSh0aGlzLDEpLGV8fF8mJiFkfHwhKG18fGR8fHUpfHwoQ3QodGhpcyxtPT09Yz8ib25Db21wbGV0ZSI6Im9uUmV2ZXJzZUNvbXBsZXRlIiwhMCksIXRoaXMuX3Byb218fG08YyYmMDx0aGlzLnRpbWVTY2FsZSgpfHx0aGlzLl9wcm9tKCkpKX19ZWxzZSFmdW5jdGlvbiBfcmVuZGVyWmVyb0R1cmF0aW9uVHdlZW4odCxlLHIsaSl7dmFyIG4sYSxzLG89dC5yYXRpbyx1PWU8MHx8IWUmJighdC5fc3RhcnQmJmZ1bmN0aW9uIF9wYXJlbnRQbGF5aGVhZElzQmVmb3JlU3RhcnQodCl7dmFyIGU9dC5wYXJlbnQ7cmV0dXJuIGUmJmUuX3RzJiZlLl9pbml0dGVkJiYhZS5fbG9jayYmKGUucmF3VGltZSgpPDB8fF9wYXJlbnRQbGF5aGVhZElzQmVmb3JlU3RhcnQoZSkpfSh0KSYmKHQuX2luaXR0ZWR8fCFidCh0KSl8fCh0Ll90czwwfHx0Ll9kcC5fdHM8MCkmJiFidCh0KSk/MDoxLGg9dC5fckRlbGF5LGw9MDtpZihoJiZ0Ll9yZXBlYXQmJihsPU90KDAsdC5fdER1cixlKSxhPVR0KGwsaCksdC5feW95byYmMSZhJiYodT0xLXUpLGEhPT1UdCh0Ll90VGltZSxoKSYmKG89MS11LHQudmFycy5yZXBlYXRSZWZyZXNoJiZ0Ll9pbml0dGVkJiZ0LmludmFsaWRhdGUoKSkpLHUhPT1vfHxMfHxpfHx0Ll96VGltZT09PVh8fCFlJiZ0Ll96VGltZSl7aWYoIXQuX2luaXR0ZWQmJk1hKHQsZSxpLHIsbCkpcmV0dXJuO2ZvcihzPXQuX3pUaW1lLHQuX3pUaW1lPWV8fChyP1g6MCkscj1yfHxlJiYhcyx0LnJhdGlvPXUsdC5fZnJvbSYmKHU9MS11KSx0Ll90aW1lPTAsdC5fdFRpbWU9bCxuPXQuX3B0O247KW4ucih1LG4uZCksbj1uLl9uZXh0O2U8MCYmQ2EodCxlLDAsITApLHQuX29uVXBkYXRlJiYhciYmQ3QodCwib25VcGRhdGUiKSxsJiZ0Ll9yZXBlYXQmJiFyJiZ0LnBhcmVudCYmQ3QodCwib25SZXBlYXQiKSwoZT49dC5fdER1cnx8ZTwwKSYmdC5yYXRpbz09PXUmJih1JiZ6YSh0LDEpLHJ8fEx8fChDdCh0LHU/Im9uQ29tcGxldGUiOiJvblJldmVyc2VDb21wbGV0ZSIsITApLHQuX3Byb20mJnQuX3Byb20oKSkpfWVsc2UgdC5felRpbWV8fCh0Ll96VGltZT1lKX0odGhpcyx0LGUscik7cmV0dXJuIHRoaXN9LGUudGFyZ2V0cz1mdW5jdGlvbiB0YXJnZXRzKCl7cmV0dXJuIHRoaXMuX3RhcmdldHN9LGUuaW52YWxpZGF0ZT1mdW5jdGlvbiBpbnZhbGlkYXRlKHQpe3JldHVybiB0JiZ0aGlzLnZhcnMucnVuQmFja3dhcmRzfHwodGhpcy5fc3RhcnRBdD0wKSx0aGlzLl9wdD10aGlzLl9vcD10aGlzLl9vblVwZGF0ZT10aGlzLl9sYXp5PXRoaXMucmF0aW89MCx0aGlzLl9wdExvb2t1cD1bXSx0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLmludmFsaWRhdGUodCksRC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMsdCl9LGUucmVzZXRUbz1mdW5jdGlvbiByZXNldFRvKHQsZSxyLGksbil7Y3x8UnQud2FrZSgpLHRoaXMuX3RzfHx0aGlzLnBsYXkoKTt2YXIgYSxzPU1hdGgubWluKHRoaXMuX2R1ciwodGhpcy5fZHAuX3RpbWUtdGhpcy5fc3RhcnQpKnRoaXMuX3RzKTtyZXR1cm4gdGhpcy5faW5pdHRlZHx8UXQodGhpcyxzKSxhPXRoaXMuX2Vhc2Uocy90aGlzLl9kdXIpLGZ1bmN0aW9uIF91cGRhdGVQcm9wVHdlZW5zKHQsZSxyLGksbixhLHMsbyl7dmFyIHUsaCxsLGYsZD0odC5fcHQmJnQuX3B0Q2FjaGV8fCh0Ll9wdENhY2hlPXt9KSlbZV07aWYoIWQpZm9yKGQ9dC5fcHRDYWNoZVtlXT1bXSxsPXQuX3B0TG9va3VwLGY9dC5fdGFyZ2V0cy5sZW5ndGg7Zi0tOyl7aWYoKHU9bFtmXVtlXSkmJnUuZCYmdS5kLl9wdClmb3IodT11LmQuX3B0O3UmJnUucCE9PWUmJnUuZnAhPT1lOyl1PXUuX25leHQ7aWYoIXUpcmV0dXJuIEd0PTEsdC52YXJzW2VdPSIrPTAiLFF0KHQscyksR3Q9MCxvP1IoZSsiIG5vdCBlbGlnaWJsZSBmb3IgcmVzZXQiKToxO2QucHVzaCh1KX1mb3IoZj1kLmxlbmd0aDtmLS07KSh1PShoPWRbZl0pLl9wdHx8aCkucz0haSYmMCE9PWl8fG4/dS5zKyhpfHwwKSthKnUuYzppLHUuYz1yLXUucyxoLmUmJihoLmU9aWEocikrWWEoaC5lKSksaC5iJiYoaC5iPXUucytZYShoLmIpKX0odGhpcyx0LGUscixpLGEscyxuKT90aGlzLnJlc2V0VG8odCxlLHIsaSwxKTooSWEodGhpcywwKSx0aGlzLnBhcmVudHx8eGEodGhpcy5fZHAsdGhpcywiX2ZpcnN0IiwiX2xhc3QiLHRoaXMuX2RwLl9zb3J0PyJfc3RhcnQiOjApLHRoaXMucmVuZGVyKDApKX0sZS5raWxsPWZ1bmN0aW9uIGtpbGwodCxlKXtpZih2b2lkIDA9PT1lJiYoZT0iYWxsIiksISh0fHxlJiYiYWxsIiE9PWUpKXJldHVybiB0aGlzLl9sYXp5PXRoaXMuX3B0PTAsdGhpcy5wYXJlbnQ/dGIodGhpcyk6dGhpcztpZih0aGlzLnRpbWVsaW5lKXt2YXIgaT10aGlzLnRpbWVsaW5lLnRvdGFsRHVyYXRpb24oKTtyZXR1cm4gdGhpcy50aW1lbGluZS5raWxsVHdlZW5zT2YodCxlLE50JiYhMCE9PU50LnZhcnMub3ZlcndyaXRlKS5fZmlyc3R8fHRiKHRoaXMpLHRoaXMucGFyZW50JiZpIT09dGhpcy50aW1lbGluZS50b3RhbER1cmF0aW9uKCkmJlJhKHRoaXMsdGhpcy5fZHVyKnRoaXMudGltZWxpbmUuX3REdXIvaSwwLDEpLHRoaXN9dmFyIG4sYSxzLG8sdSxoLGwsZj10aGlzLl90YXJnZXRzLGQ9dD9NdCh0KTpmLGM9dGhpcy5fcHRMb29rdXAscD10aGlzLl9wdDtpZigoIWV8fCJhbGwiPT09ZSkmJmZ1bmN0aW9uIF9hcnJheXNNYXRjaCh0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aCxpPXI9PT1lLmxlbmd0aDtpJiZyLS0mJnRbcl09PT1lW3JdOyk7cmV0dXJuIHI8MH0oZixkKSlyZXR1cm4iYWxsIj09PWUmJih0aGlzLl9wdD0wKSx0Yih0aGlzKTtmb3Iobj10aGlzLl9vcD10aGlzLl9vcHx8W10sImFsbCIhPT1lJiYocihlKSYmKHU9e30saGEoZSxmdW5jdGlvbih0KXtyZXR1cm4gdVt0XT0xfSksZT11KSxlPWZ1bmN0aW9uIF9hZGRBbGlhc2VzVG9WYXJzKHQsZSl7dmFyIHIsaSxuLGEscz10WzBdP2ZhKHRbMF0pLmhhcm5lc3M6MCxvPXMmJnMuYWxpYXNlcztpZighbylyZXR1cm4gZTtmb3IoaSBpbiByPXl0KHt9LGUpLG8paWYoaSBpbiByKWZvcihuPShhPW9baV0uc3BsaXQoIiwiKSkubGVuZ3RoO24tLTspclthW25dXT1yW2ldO3JldHVybiByfShmLGUpKSxsPWYubGVuZ3RoO2wtLTspaWYofmQuaW5kZXhPZihmW2xdKSlmb3IodSBpbiBhPWNbbF0sImFsbCI9PT1lPyhuW2xdPWUsbz1hLHM9e30pOihzPW5bbF09bltsXXx8e30sbz1lKSxvKShoPWEmJmFbdV0pJiYoImtpbGwiaW4gaC5kJiYhMCE9PWguZC5raWxsKHUpfHx5YSh0aGlzLGgsIl9wdCIpLGRlbGV0ZSBhW3VdKSwiYWxsIiE9PXMmJihzW3VdPTEpO3JldHVybiB0aGlzLl9pbml0dGVkJiYhdGhpcy5fcHQmJnAmJnRiKHRoaXMpLHRoaXN9LFR3ZWVuLnRvPWZ1bmN0aW9uIHRvKHQsZSxyKXtyZXR1cm4gbmV3IFR3ZWVuKHQsZSxyKX0sVHdlZW4uZnJvbT1mdW5jdGlvbiBmcm9tKHQsZSl7cmV0dXJuIFZhKDEsYXJndW1lbnRzKX0sVHdlZW4uZGVsYXllZENhbGw9ZnVuY3Rpb24gZGVsYXllZENhbGwodCxlLHIsaSl7cmV0dXJuIG5ldyBUd2VlbihlLDAse2ltbWVkaWF0ZVJlbmRlcjohMSxsYXp5OiExLG92ZXJ3cml0ZTohMSxkZWxheTp0LG9uQ29tcGxldGU6ZSxvblJldmVyc2VDb21wbGV0ZTplLG9uQ29tcGxldGVQYXJhbXM6cixvblJldmVyc2VDb21wbGV0ZVBhcmFtczpyLGNhbGxiYWNrU2NvcGU6aX0pfSxUd2Vlbi5mcm9tVG89ZnVuY3Rpb24gZnJvbVRvKHQsZSxyKXtyZXR1cm4gVmEoMixhcmd1bWVudHMpfSxUd2Vlbi5zZXQ9ZnVuY3Rpb24gc2V0KHQsZSl7cmV0dXJuIGUuZHVyYXRpb249MCxlLnJlcGVhdERlbGF5fHwoZS5yZXBlYXQ9MCksbmV3IFR3ZWVuKHQsZSl9LFR3ZWVuLmtpbGxUd2VlbnNPZj1mdW5jdGlvbiBraWxsVHdlZW5zT2YodCxlLHIpe3JldHVybiBJLmtpbGxUd2VlbnNPZih0LGUscil9LFR3ZWVufShVdCk7cWEoJHQucHJvdG90eXBlLHtfdGFyZ2V0czpbXSxfbGF6eTowLF9zdGFydEF0OjAsX29wOjAsX29uSW5pdDowfSksaGEoInN0YWdnZXJUbyxzdGFnZ2VyRnJvbSxzdGFnZ2VyRnJvbVRvIixmdW5jdGlvbihyKXskdFtyXT1mdW5jdGlvbigpe3ZhciB0PW5ldyBYdCxlPWt0LmNhbGwoYXJndW1lbnRzLDApO3JldHVybiBlLnNwbGljZSgic3RhZ2dlckZyb21UbyI9PT1yPzU6NCwwLDApLHRbcl0uYXBwbHkodCxlKX19KTtmdW5jdGlvbiBvYyh0LGUscil7cmV0dXJuIHQuc2V0QXR0cmlidXRlKGUscil9ZnVuY3Rpb24gd2ModCxlLHIsaSl7aS5tU2V0KHQsZSxpLm0uY2FsbChpLnR3ZWVuLHIsaS5tdCksaSl9dmFyIFp0PWZ1bmN0aW9uIF9zZXR0ZXJQbGFpbih0LGUscil7cmV0dXJuIHRbZV09cn0sdGU9ZnVuY3Rpb24gX3NldHRlckZ1bmModCxlLHIpe3JldHVybiB0W2VdKHIpfSxyZT1mdW5jdGlvbiBfc2V0dGVyRnVuY1dpdGhQYXJhbSh0LGUscixpKXtyZXR1cm4gdFtlXShpLmZwLHIpfSxuZT1mdW5jdGlvbiBfZ2V0U2V0dGVyKHQsZSl7cmV0dXJuIHModFtlXSk/dGU6dSh0W2VdKSYmdC5zZXRBdHRyaWJ1dGU/b2M6WnR9LGFlPWZ1bmN0aW9uIF9yZW5kZXJQbGFpbih0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLE1hdGgucm91bmQoMWU2KihlLnMrZS5jKnQpKS8xZTYsZSl9LHNlPWZ1bmN0aW9uIF9yZW5kZXJCb29sZWFuKHQsZSl7cmV0dXJuIGUuc2V0KGUudCxlLnAsISEoZS5zK2UuYyp0KSxlKX0sdWU9ZnVuY3Rpb24gX3JlbmRlckNvbXBsZXhTdHJpbmcodCxlKXt2YXIgcj1lLl9wdCxpPSIiO2lmKCF0JiZlLmIpaT1lLmI7ZWxzZSBpZigxPT09dCYmZS5lKWk9ZS5lO2Vsc2V7Zm9yKDtyOylpPXIucCsoci5tP3IubShyLnMrci5jKnQpOk1hdGgucm91bmQoMWU0KihyLnMrci5jKnQpKS8xZTQpK2kscj1yLl9uZXh0O2krPWUuY31lLnNldChlLnQsZS5wLGksZSl9LGhlPWZ1bmN0aW9uIF9yZW5kZXJQcm9wVHdlZW5zKHQsZSl7Zm9yKHZhciByPWUuX3B0O3I7KXIucih0LHIuZCkscj1yLl9uZXh0fSxmZT1mdW5jdGlvbiBfYWRkUGx1Z2luTW9kaWZpZXIodCxlLHIsaSl7Zm9yKHZhciBuLGE9dGhpcy5fcHQ7YTspbj1hLl9uZXh0LGEucD09PWkmJmEubW9kaWZpZXIodCxlLHIpLGE9bn0sY2U9ZnVuY3Rpb24gX2tpbGxQcm9wVHdlZW5zT2YodCl7Zm9yKHZhciBlLHIsaT10aGlzLl9wdDtpOylyPWkuX25leHQsaS5wPT09dCYmIWkub3B8fGkub3A9PT10P3lhKHRoaXMsaSwiX3B0Iik6aS5kZXB8fChlPTEpLGk9cjtyZXR1cm4hZX0scGU9ZnVuY3Rpb24gX3NvcnRQcm9wVHdlZW5zQnlQcmlvcml0eSh0KXtmb3IodmFyIGUscixpLG4sYT10Ll9wdDthOyl7Zm9yKGU9YS5fbmV4dCxyPWk7ciYmci5wcj5hLnByOylyPXIuX25leHQ7KGEuX3ByZXY9cj9yLl9wcmV2Om4pP2EuX3ByZXYuX25leHQ9YTppPWEsKGEuX25leHQ9cik/ci5fcHJldj1hOm49YSxhPWV9dC5fcHQ9aX0sX2U9KFByb3BUd2Vlbi5wcm90b3R5cGUubW9kaWZpZXI9ZnVuY3Rpb24gbW9kaWZpZXIodCxlLHIpe3RoaXMubVNldD10aGlzLm1TZXR8fHRoaXMuc2V0LHRoaXMuc2V0PXdjLHRoaXMubT10LHRoaXMubXQ9cix0aGlzLnR3ZWVuPWV9LFByb3BUd2Vlbik7ZnVuY3Rpb24gUHJvcFR3ZWVuKHQsZSxyLGksbixhLHMsbyx1KXt0aGlzLnQ9ZSx0aGlzLnM9aSx0aGlzLmM9bix0aGlzLnA9cix0aGlzLnI9YXx8YWUsdGhpcy5kPXN8fHRoaXMsdGhpcy5zZXQ9b3x8WnQsdGhpcy5wcj11fHwwLCh0aGlzLl9uZXh0PXQpJiYodC5fcHJldj10aGlzKX1oYSh2dCsicGFyZW50LGR1cmF0aW9uLGVhc2UsZGVsYXksb3ZlcndyaXRlLHJ1bkJhY2t3YXJkcyxzdGFydEF0LHlveW8saW1tZWRpYXRlUmVuZGVyLHJlcGVhdCxyZXBlYXREZWxheSxkYXRhLHBhdXNlZCxyZXZlcnNlZCxsYXp5LGNhbGxiYWNrU2NvcGUsc3RyaW5nRmlsdGVyLGlkLHlveW9FYXNlLHN0YWdnZXIsaW5oZXJpdCxyZXBlYXRSZWZyZXNoLGtleWZyYW1lcyxhdXRvUmV2ZXJ0LHNjcm9sbFRyaWdnZXIiLGZ1bmN0aW9uKHQpe3JldHVybiBmdFt0XT0xfSksb3QuVHdlZW5NYXg9b3QuVHdlZW5MaXRlPSR0LG90LlRpbWVsaW5lTGl0ZT1vdC5UaW1lbGluZU1heD1YdCxJPW5ldyBYdCh7c29ydENoaWxkcmVuOiExLGRlZmF1bHRzOlYsYXV0b1JlbW92ZUNoaWxkcmVuOiEwLGlkOiJyb290IixzbW9vdGhDaGlsZFRpbWluZzohMH0pLHEuc3RyaW5nRmlsdGVyPUZiO2Z1bmN0aW9uIEVjKHQpe3JldHVybih5ZVt0XXx8VGUpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCgpfSl9ZnVuY3Rpb24gRmMoKXt2YXIgdD1EYXRlLm5vdygpLG89W107Mjx0LU9lJiYoRWMoIm1hdGNoTWVkaWFJbml0IiksZ2UuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZSxyLGksbixhPXQucXVlcmllcyxzPXQuY29uZGl0aW9ucztmb3IociBpbiBhKShlPWgubWF0Y2hNZWRpYShhW3JdKS5tYXRjaGVzKSYmKGk9MSksZSE9PXNbcl0mJihzW3JdPWUsbj0xKTtuJiYodC5yZXZlcnQoKSxpJiZvLnB1c2godCkpfSksRWMoIm1hdGNoTWVkaWFSZXZlcnQiKSxvLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUub25NYXRjaChlLGZ1bmN0aW9uKHQpe3JldHVybiBlLmFkZChudWxsLHQpfSl9KSxPZT10LEVjKCJtYXRjaE1lZGlhIikpfXZhciBtZSxnZT1bXSx5ZT17fSxUZT1bXSxPZT0wLE1lPTAsUGU9KChtZT1Db250ZXh0LnByb3RvdHlwZSkuYWRkPWZ1bmN0aW9uIGFkZCh0LGksbil7ZnVuY3Rpb24gR3coKXt2YXIgdCxlPWwscj1hLnNlbGVjdG9yO3JldHVybiBlJiZlIT09YSYmZS5kYXRhLnB1c2goYSksbiYmKGEuc2VsZWN0b3I9Y2IobikpLGw9YSx0PWkuYXBwbHkoYSxhcmd1bWVudHMpLHModCkmJmEuX3IucHVzaCh0KSxsPWUsYS5zZWxlY3Rvcj1yLGEuaXNSZXZlcnRlZD0hMSx0fXModCkmJihuPWksaT10LHQ9cyk7dmFyIGE9dGhpcztyZXR1cm4gYS5sYXN0PUd3LHQ9PT1zP0d3KGEsZnVuY3Rpb24odCl7cmV0dXJuIGEuYWRkKG51bGwsdCl9KTp0P2FbdF09R3c6R3d9LG1lLmlnbm9yZT1mdW5jdGlvbiBpZ25vcmUodCl7dmFyIGU9bDtsPW51bGwsdCh0aGlzKSxsPWV9LG1lLmdldFR3ZWVucz1mdW5jdGlvbiBnZXRUd2VlbnMoKXt2YXIgZT1bXTtyZXR1cm4gdGhpcy5kYXRhLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBDb250ZXh0P2UucHVzaC5hcHBseShlLHQuZ2V0VHdlZW5zKCkpOnQgaW5zdGFuY2VvZiAkdCYmISh0LnBhcmVudCYmIm5lc3RlZCI9PT10LnBhcmVudC5kYXRhKSYmZS5wdXNoKHQpfSksZX0sbWUuY2xlYXI9ZnVuY3Rpb24gY2xlYXIoKXt0aGlzLl9yLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RoPTB9LG1lLmtpbGw9ZnVuY3Rpb24ga2lsbChpLHQpe3ZhciBuPXRoaXM7aWYoaT9mdW5jdGlvbigpe2Zvcih2YXIgdCxlPW4uZ2V0VHdlZW5zKCkscj1uLmRhdGEubGVuZ3RoO3ItLTspImlzRmxpcCI9PT0odD1uLmRhdGFbcl0pLmRhdGEmJih0LnJldmVydCgpLHQuZ2V0Q2hpbGRyZW4oITAsITAsITEpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIGUuc3BsaWNlKGUuaW5kZXhPZih0KSwxKX0pKTtmb3IoZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJue2c6dC5fZHVyfHx0Ll9kZWxheXx8dC5fc2F0JiYhdC5fc2F0LnZhcnMuaW1tZWRpYXRlUmVuZGVyP3QuZ2xvYmFsVGltZSgwKTotMS8wLHQ6dH19KS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZy10Lmd8fC0xLzB9KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnQucmV2ZXJ0KGkpfSkscj1uLmRhdGEubGVuZ3RoO3ItLTspKHQ9bi5kYXRhW3JdKWluc3RhbmNlb2YgWHQ/Im5lc3RlZCIhPT10LmRhdGEmJih0LnNjcm9sbFRyaWdnZXImJnQuc2Nyb2xsVHJpZ2dlci5yZXZlcnQoKSx0LmtpbGwoKSk6dCBpbnN0YW5jZW9mICR0fHwhdC5yZXZlcnR8fHQucmV2ZXJ0KGkpO24uX3IuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdChpLG4pfSksbi5pc1JldmVydGVkPSEwfSgpOnRoaXMuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmtpbGwmJnQua2lsbCgpfSksdGhpcy5jbGVhcigpLHQpZm9yKHZhciBlPWdlLmxlbmd0aDtlLS07KWdlW2VdLmlkPT09dGhpcy5pZCYmZ2Uuc3BsaWNlKGUsMSl9LG1lLnJldmVydD1mdW5jdGlvbiByZXZlcnQodCl7dGhpcy5raWxsKHR8fHt9KX0sQ29udGV4dCk7ZnVuY3Rpb24gQ29udGV4dCh0LGUpe3RoaXMuc2VsZWN0b3I9ZSYmY2IoZSksdGhpcy5kYXRhPVtdLHRoaXMuX3I9W10sdGhpcy5pc1JldmVydGVkPSExLHRoaXMuaWQ9TWUrKyx0JiZ0aGlzLmFkZCh0KX12YXIgQ2UsQWU9KChDZT1NYXRjaE1lZGlhLnByb3RvdHlwZSkuYWRkPWZ1bmN0aW9uIGFkZCh0LGUscil7dih0KXx8KHQ9e21hdGNoZXM6dH0pO3ZhciBpLG4sYSxzPW5ldyBQZSgwLHJ8fHRoaXMuc2NvcGUpLG89cy5jb25kaXRpb25zPXt9O2ZvcihuIGluIGwmJiFzLnNlbGVjdG9yJiYocy5zZWxlY3Rvcj1sLnNlbGVjdG9yKSx0aGlzLmNvbnRleHRzLnB1c2gocyksZT1zLmFkZCgib25NYXRjaCIsZSkscy5xdWVyaWVzPXQpImFsbCI9PT1uP2E9MTooaT1oLm1hdGNoTWVkaWEodFtuXSkpJiYoZ2UuaW5kZXhPZihzKTwwJiZnZS5wdXNoKHMpLChvW25dPWkubWF0Y2hlcykmJihhPTEpLGkuYWRkTGlzdGVuZXI/aS5hZGRMaXN0ZW5lcihGYyk6aS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLEZjKSk7cmV0dXJuIGEmJmUocyxmdW5jdGlvbih0KXtyZXR1cm4gcy5hZGQobnVsbCx0KX0pLHRoaXN9LENlLnJldmVydD1mdW5jdGlvbiByZXZlcnQodCl7dGhpcy5raWxsKHR8fHt9KX0sQ2Uua2lsbD1mdW5jdGlvbiBraWxsKGUpe3RoaXMuY29udGV4dHMuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdC5raWxsKGUsITApfSl9LE1hdGNoTWVkaWEpO2Z1bmN0aW9uIE1hdGNoTWVkaWEodCl7dGhpcy5jb250ZXh0cz1bXSx0aGlzLnNjb3BlPXQsbCYmbC5kYXRhLnB1c2godGhpcyl9dmFyIFNlPXtyZWdpc3RlclBsdWdpbjpmdW5jdGlvbiByZWdpc3RlclBsdWdpbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09YXJndW1lbnRzW3JdO2UuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gd2IodCl9KX0sdGltZWxpbmU6ZnVuY3Rpb24gdGltZWxpbmUodCl7cmV0dXJuIG5ldyBYdCh0KX0sZ2V0VHdlZW5zT2Y6ZnVuY3Rpb24gZ2V0VHdlZW5zT2YodCxlKXtyZXR1cm4gSS5nZXRUd2VlbnNPZih0LGUpfSxnZXRQcm9wZXJ0eTpmdW5jdGlvbiBnZXRQcm9wZXJ0eShpLHQsZSxuKXtyKGkpJiYoaT1NdChpKVswXSk7dmFyIGE9ZmEoaXx8e30pLmdldCxzPWU/cGE6b2E7cmV0dXJuIm5hdGl2ZSI9PT1lJiYoZT0iIiksaT90P3MoKHB0W3RdJiZwdFt0XS5nZXR8fGEpKGksdCxlLG4pKTpmdW5jdGlvbih0LGUscil7cmV0dXJuIHMoKHB0W3RdJiZwdFt0XS5nZXR8fGEpKGksdCxlLHIpKX06aX0scXVpY2tTZXR0ZXI6ZnVuY3Rpb24gcXVpY2tTZXR0ZXIocixlLGkpe2lmKDE8KHI9TXQocikpLmxlbmd0aCl7dmFyIG49ci5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHplLnF1aWNrU2V0dGVyKHQsZSxpKX0pLGE9bi5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1hO2UtLTspbltlXSh0KX19cj1yWzBdfHx7fTt2YXIgcz1wdFtlXSxvPWZhKHIpLHU9by5oYXJuZXNzJiYoby5oYXJuZXNzLmFsaWFzZXN8fHt9KVtlXXx8ZSxoPXM/ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHM7ZC5fcHQ9MCxlLmluaXQocixpP3QraTp0LGQsMCxbcl0pLGUucmVuZGVyKDEsZSksZC5fcHQmJmhlKDEsZCl9Om8uc2V0KHIsdSk7cmV0dXJuIHM/aDpmdW5jdGlvbih0KXtyZXR1cm4gaChyLHUsaT90K2k6dCxvLDEpfX0scXVpY2tUbzpmdW5jdGlvbiBxdWlja1RvKHQsaSxlKXtmdW5jdGlvbiAkeCh0LGUscil7cmV0dXJuIG4ucmVzZXRUbyhpLHQsZSxyKX12YXIgcixuPXplLnRvKHQseXQoKChyPXt9KVtpXT0iKz0wLjEiLHIucGF1c2VkPSEwLHIpLGV8fHt9KSk7cmV0dXJuICR4LnR3ZWVuPW4sJHh9LGlzVHdlZW5pbmc6ZnVuY3Rpb24gaXNUd2VlbmluZyh0KXtyZXR1cm4gMDxJLmdldFR3ZWVuc09mKHQsITApLmxlbmd0aH0sZGVmYXVsdHM6ZnVuY3Rpb24gZGVmYXVsdHModCl7cmV0dXJuIHQmJnQuZWFzZSYmKHQuZWFzZT1qdCh0LmVhc2UsVi5lYXNlKSksdGEoVix0fHx7fSl9LGNvbmZpZzpmdW5jdGlvbiBjb25maWcodCl7cmV0dXJuIHRhKHEsdHx8e30pfSxyZWdpc3RlckVmZmVjdDpmdW5jdGlvbiByZWdpc3RlckVmZmVjdCh0KXt2YXIgaT10Lm5hbWUsbj10LmVmZmVjdCxlPXQucGx1Z2lucyxhPXQuZGVmYXVsdHMscj10LmV4dGVuZFRpbWVsaW5lOyhlfHwiIikuc3BsaXQoIiwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiYhcHRbdF0mJiFvdFt0XSYmUihpKyIgZWZmZWN0IHJlcXVpcmVzICIrdCsiIHBsdWdpbi4iKX0pLF90W2ldPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbihNdCh0KSxxYShlfHx7fSxhKSxyKX0sciYmKFh0LnByb3RvdHlwZVtpXT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuYWRkKF90W2ldKHQsdihlKT9lOihyPWUpJiZ7fSx0aGlzKSxyKX0pfSxyZWdpc3RlckVhc2U6ZnVuY3Rpb24gcmVnaXN0ZXJFYXNlKHQsZSl7THRbdF09anQoZSl9LHBhcnNlRWFzZTpmdW5jdGlvbiBwYXJzZUVhc2UodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9qdCh0LGUpOkx0fSxnZXRCeUlkOmZ1bmN0aW9uIGdldEJ5SWQodCl7cmV0dXJuIEkuZ2V0QnlJZCh0KX0sZXhwb3J0Um9vdDpmdW5jdGlvbiBleHBvcnRSb290KHQsZSl7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciByLGksbj1uZXcgWHQodCk7Zm9yKG4uc21vb3RoQ2hpbGRUaW1pbmc9dyh0LnNtb290aENoaWxkVGltaW5nKSxJLnJlbW92ZShuKSxuLl9kcD0wLG4uX3RpbWU9bi5fdFRpbWU9SS5fdGltZSxyPUkuX2ZpcnN0O3I7KWk9ci5fbmV4dCwhZSYmIXIuX2R1ciYmciBpbnN0YW5jZW9mICR0JiZyLnZhcnMub25Db21wbGV0ZT09PXIuX3RhcmdldHNbMF18fEthKG4scixyLl9zdGFydC1yLl9kZWxheSkscj1pO3JldHVybiBLYShJLG4sMCksbn0sY29udGV4dDpmdW5jdGlvbiBjb250ZXh0KHQsZSl7cmV0dXJuIHQ/bmV3IFBlKHQsZSk6bH0sbWF0Y2hNZWRpYTpmdW5jdGlvbiBtYXRjaE1lZGlhKHQpe3JldHVybiBuZXcgQWUodCl9LG1hdGNoTWVkaWFSZWZyZXNoOmZ1bmN0aW9uIG1hdGNoTWVkaWFSZWZyZXNoKCl7cmV0dXJuIGdlLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGUscixpPXQuY29uZGl0aW9ucztmb3IociBpbiBpKWlbcl0mJihpW3JdPSExLGU9MSk7ZSYmdC5yZXZlcnQoKX0pfHxGYygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIodCxlKXt2YXIgcj15ZVt0XXx8KHllW3RdPVtdKTt+ci5pbmRleE9mKGUpfHxyLnB1c2goZSl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUpe3ZhciByPXllW3RdLGk9ciYmci5pbmRleE9mKGUpOzA8PWkmJnIuc3BsaWNlKGksMSl9LHV0aWxzOnt3cmFwOmZ1bmN0aW9uIHdyYXAoZSx0LHIpe3ZhciBpPXQtZTtyZXR1cm4gWihlKT9sYihlLHdyYXAoMCxlLmxlbmd0aCksdCk6V2EocixmdW5jdGlvbih0KXtyZXR1cm4oaSsodC1lKSVpKSVpK2V9KX0sd3JhcFlveW86ZnVuY3Rpb24gd3JhcFlveW8oZSx0LHIpe3ZhciBpPXQtZSxuPTIqaTtyZXR1cm4gWihlKT9sYihlLHdyYXBZb3lvKDAsZS5sZW5ndGgtMSksdCk6V2EocixmdW5jdGlvbih0KXtyZXR1cm4gZSsoaTwodD0obisodC1lKSVuKSVufHwwKT9uLXQ6dCl9KX0sZGlzdHJpYnV0ZTplYixyYW5kb206aGIsc25hcDpnYixub3JtYWxpemU6ZnVuY3Rpb24gbm9ybWFsaXplKHQsZSxyKXtyZXR1cm4gUHQodCxlLDAsMSxyKX0sZ2V0VW5pdDpZYSxjbGFtcDpmdW5jdGlvbiBjbGFtcChlLHIsdCl7cmV0dXJuIFdhKHQsZnVuY3Rpb24odCl7cmV0dXJuIE90KGUscix0KX0pfSxzcGxpdENvbG9yOkFiLHRvQXJyYXk6TXQsc2VsZWN0b3I6Y2IsbWFwUmFuZ2U6UHQscGlwZTpmdW5jdGlvbiBwaXBlKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiBlKHQpfSx0KX19LHVuaXRpemU6ZnVuY3Rpb24gdW5pdGl6ZShlLHIpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZShwYXJzZUZsb2F0KHQpKSsocnx8WWEodCkpfX0saW50ZXJwb2xhdGU6ZnVuY3Rpb24gaW50ZXJwb2xhdGUoZSxpLHQsbil7dmFyIGE9aXNOYU4oZStpKT8wOmZ1bmN0aW9uKHQpe3JldHVybigxLXQpKmUrdCppfTtpZighYSl7dmFyIHMsbyx1LGgsbCxmPXIoZSksZD17fTtpZighMD09PXQmJihuPTEpJiYodD1udWxsKSxmKWU9e3A6ZX0saT17cDppfTtlbHNlIGlmKFooZSkmJiFaKGkpKXtmb3IodT1bXSxoPWUubGVuZ3RoLGw9aC0yLG89MTtvPGg7bysrKXUucHVzaChpbnRlcnBvbGF0ZShlW28tMV0sZVtvXSkpO2gtLSxhPWZ1bmN0aW9uIGZ1bmModCl7dCo9aDt2YXIgZT1NYXRoLm1pbihsLH5+dCk7cmV0dXJuIHVbZV0odC1lKX0sdD1pfWVsc2Ugbnx8KGU9eXQoWihlKT9bXTp7fSxlKSk7aWYoIXUpe2ZvcihzIGluIGkpV3QuY2FsbChkLGUscywiZ2V0IixpW3NdKTthPWZ1bmN0aW9uIGZ1bmModCl7cmV0dXJuIGhlKHQsZCl8fChmP2UucDplKX19fXJldHVybiBXYSh0LGEpfSxzaHVmZmxlOmRifSxpbnN0YWxsOlAsZWZmZWN0czpfdCx0aWNrZXI6UnQsdXBkYXRlUm9vdDpYdC51cGRhdGVSb290LHBsdWdpbnM6cHQsZ2xvYmFsVGltZWxpbmU6SSxjb3JlOntQcm9wVHdlZW46X2UsZ2xvYmFsczpTLFR3ZWVuOiR0LFRpbWVsaW5lOlh0LEFuaW1hdGlvbjpVdCxnZXRDYWNoZTpmYSxfcmVtb3ZlTGlua2VkTGlzdEl0ZW06eWEscmV2ZXJ0aW5nOmZ1bmN0aW9uIHJldmVydGluZygpe3JldHVybiBMfSxjb250ZXh0OmZ1bmN0aW9uIGNvbnRleHQodCl7cmV0dXJuIHQmJmwmJihsLmRhdGEucHVzaCh0KSx0Ll9jdHg9bCksbH0sc3VwcHJlc3NPdmVyd3JpdGVzOmZ1bmN0aW9uIHN1cHByZXNzT3ZlcndyaXRlcyh0KXtyZXR1cm4gRj10fX19O2hhKCJ0byxmcm9tLGZyb21UbyxkZWxheWVkQ2FsbCxzZXQsa2lsbFR3ZWVuc09mIixmdW5jdGlvbih0KXtyZXR1cm4gU2VbdF09JHRbdF19KSxSdC5hZGQoWHQudXBkYXRlUm9vdCksZD1TZS50byh7fSx7ZHVyYXRpb246MH0pO2Z1bmN0aW9uIEpjKHQsZSl7Zm9yKHZhciByPXQuX3B0O3ImJnIucCE9PWUmJnIub3AhPT1lJiZyLmZwIT09ZTspcj1yLl9uZXh0O3JldHVybiByfWZ1bmN0aW9uIExjKHQsYSl7cmV0dXJue25hbWU6dCxyYXdWYXJzOjEsaW5pdDpmdW5jdGlvbiBpbml0KHQsbixlKXtlLl9vbkluaXQ9ZnVuY3Rpb24odCl7dmFyIGUsaTtpZihyKG4pJiYoZT17fSxoYShuLGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdPTF9KSxuPWUpLGEpe2ZvcihpIGluIGU9e30sbillW2ldPWEobltpXSk7bj1lfSFmdW5jdGlvbiBfYWRkTW9kaWZpZXJzKHQsZSl7dmFyIHIsaSxuLGE9dC5fdGFyZ2V0cztmb3IociBpbiBlKWZvcihpPWEubGVuZ3RoO2ktLTspKG49KG49dC5fcHRMb29rdXBbaV1bcl0pJiZuLmQpJiYobi5fcHQmJihuPUpjKG4scikpLG4mJm4ubW9kaWZpZXImJm4ubW9kaWZpZXIoZVtyXSx0LGFbaV0scikpfSh0LG4pfX19fXZhciB6ZT1TZS5yZWdpc3RlclBsdWdpbih7bmFtZToiYXR0ciIsaW5pdDpmdW5jdGlvbiBpbml0KHQsZSxyLGksbil7dmFyIGEscyxvO2ZvcihhIGluIHRoaXMudHdlZW49cixlKW89dC5nZXRBdHRyaWJ1dGUoYSl8fCIiLChzPXRoaXMuYWRkKHQsInNldEF0dHJpYnV0ZSIsKG98fDApKyIiLGVbYV0saSxuLDAsMCxhKSkub3A9YSxzLmI9byx0aGlzLl9wcm9wcy5wdXNoKGEpfSxyZW5kZXI6ZnVuY3Rpb24gcmVuZGVyKHQsZSl7Zm9yKHZhciByPWUuX3B0O3I7KUw/ci5zZXQoci50LHIucCxyLmIscik6ci5yKHQsci5kKSxyPXIuX25leHR9fSx7bmFtZToiZW5kQXJyYXkiLGluaXQ6ZnVuY3Rpb24gaW5pdCh0LGUpe2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KXRoaXMuYWRkKHQscix0W3JdfHwwLGVbcl0sMCwwLDAsMCwwLDEpfX0sTGMoInJvdW5kUHJvcHMiLGZiKSxMYygibW9kaWZpZXJzIiksTGMoInNuYXAiLGdiKSl8fFNlOyR0LnZlcnNpb249WHQudmVyc2lvbj16ZS52ZXJzaW9uPSIzLjEyLjUiLG89MSx4KCkmJkZ0KCk7ZnVuY3Rpb24gdmQodCxlKXtyZXR1cm4gZS5zZXQoZS50LGUucCxNYXRoLnJvdW5kKDFlNCooZS5zK2UuYyp0KSkvMWU0K2UudSxlKX1mdW5jdGlvbiB3ZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLDE9PT10P2UuZTpNYXRoLnJvdW5kKDFlNCooZS5zK2UuYyp0KSkvMWU0K2UudSxlKX1mdW5jdGlvbiB4ZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLHQ/TWF0aC5yb3VuZCgxZTQqKGUucytlLmMqdCkpLzFlNCtlLnU6ZS5iLGUpfWZ1bmN0aW9uIHlkKHQsZSl7dmFyIHI9ZS5zK2UuYyp0O2Uuc2V0KGUudCxlLnAsfn4ocisocjwwPy0uNTouNSkpK2UudSxlKX1mdW5jdGlvbiB6ZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLHQ/ZS5lOmUuYixlKX1mdW5jdGlvbiBBZCh0LGUpe3JldHVybiBlLnNldChlLnQsZS5wLDEhPT10P2UuYjplLmUsZSl9ZnVuY3Rpb24gQmQodCxlLHIpe3JldHVybiB0LnN0eWxlW2VdPXJ9ZnVuY3Rpb24gQ2QodCxlLHIpe3JldHVybiB0LnN0eWxlLnNldFByb3BlcnR5KGUscil9ZnVuY3Rpb24gRGQodCxlLHIpe3JldHVybiB0Ll9nc2FwW2VdPXJ9ZnVuY3Rpb24gRWQodCxlLHIpe3JldHVybiB0Ll9nc2FwLnNjYWxlWD10Ll9nc2FwLnNjYWxlWT1yfWZ1bmN0aW9uIEZkKHQsZSxyLGksbil7dmFyIGE9dC5fZ3NhcDthLnNjYWxlWD1hLnNjYWxlWT1yLGEucmVuZGVyVHJhbnNmb3JtKG4sYSl9ZnVuY3Rpb24gR2QodCxlLHIsaSxuKXt2YXIgYT10Ll9nc2FwO2FbZV09cixhLnJlbmRlclRyYW5zZm9ybShuLGEpfWZ1bmN0aW9uIEpkKHQsZSl7dmFyIHI9dGhpcyxpPXRoaXMudGFyZ2V0LG49aS5zdHlsZSxhPWkuX2dzYXA7aWYodCBpbiBhciYmbil7aWYodGhpcy50Zm09dGhpcy50Zm18fHt9LCJ0cmFuc2Zvcm0iPT09dClyZXR1cm4gZHIudHJhbnNmb3JtLnNwbGl0KCIsIikuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gSmQuY2FsbChyLHQsZSl9KTtpZih+KHQ9ZHJbdF18fHQpLmluZGV4T2YoIiwiKT90LnNwbGl0KCIsIikuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gci50Zm1bdF09eXIoaSx0KX0pOnRoaXMudGZtW3RdPWEueD9hW3RdOnlyKGksdCksdD09PXByJiYodGhpcy50Zm0uek9yaWdpbj1hLnpPcmlnaW4pLDA8PXRoaXMucHJvcHMuaW5kZXhPZihjcikpcmV0dXJuO2Euc3ZnJiYodGhpcy5zdmdvPWkuZ2V0QXR0cmlidXRlKCJkYXRhLXN2Zy1vcmlnaW4iKSx0aGlzLnByb3BzLnB1c2gocHIsZSwiIikpLHQ9Y3J9KG58fGUpJiZ0aGlzLnByb3BzLnB1c2godCxlLG5bdF0pfWZ1bmN0aW9uIEtkKHQpe3QudHJhbnNsYXRlJiYodC5yZW1vdmVQcm9wZXJ0eSgidHJhbnNsYXRlIiksdC5yZW1vdmVQcm9wZXJ0eSgic2NhbGUiKSx0LnJlbW92ZVByb3BlcnR5KCJyb3RhdGUiKSl9ZnVuY3Rpb24gTGQoKXt2YXIgdCxlLHI9dGhpcy5wcm9wcyxpPXRoaXMudGFyZ2V0LG49aS5zdHlsZSxhPWkuX2dzYXA7Zm9yKHQ9MDt0PHIubGVuZ3RoO3QrPTMpclt0KzFdP2lbclt0XV09clt0KzJdOnJbdCsyXT9uW3JbdF1dPXJbdCsyXTpuLnJlbW92ZVByb3BlcnR5KCItLSI9PT1yW3RdLnN1YnN0cigwLDIpP3JbdF06clt0XS5yZXBsYWNlKGhyLCItJDEiKS50b0xvd2VyQ2FzZSgpKTtpZih0aGlzLnRmbSl7Zm9yKGUgaW4gdGhpcy50Zm0pYVtlXT10aGlzLnRmbVtlXTthLnN2ZyYmKGEucmVuZGVyVHJhbnNmb3JtKCksaS5zZXRBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIsdGhpcy5zdmdvfHwiIikpLCh0PUJlKCkpJiZ0LmlzU3RhcnR8fG5bY3JdfHwoS2QobiksYS56T3JpZ2luJiZuW3ByXSYmKG5bcHJdKz0iICIrYS56T3JpZ2luKyJweCIsYS56T3JpZ2luPTAsYS5yZW5kZXJUcmFuc2Zvcm0oKSksYS51bmNhY2hlPTEpfX1mdW5jdGlvbiBNZCh0LGUpe3ZhciByPXt0YXJnZXQ6dCxwcm9wczpbXSxyZXZlcnQ6TGQsc2F2ZTpKZH07cmV0dXJuIHQuX2dzYXB8fHplLmNvcmUuZ2V0Q2FjaGUodCksZSYmZS5zcGxpdCgiLCIpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHIuc2F2ZSh0KX0pLHJ9ZnVuY3Rpb24gT2QodCxlKXt2YXIgcj1EZS5jcmVhdGVFbGVtZW50TlM/RGUuY3JlYXRlRWxlbWVudE5TKChlfHwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIpLnJlcGxhY2UoL15odHRwcy8sImh0dHAiKSx0KTpEZS5jcmVhdGVFbGVtZW50KHQpO3JldHVybiByJiZyLnN0eWxlP3I6RGUuY3JlYXRlRWxlbWVudCh0KX1mdW5jdGlvbiBQZCh0LGUscil7dmFyIGk9Z2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm4gaVtlXXx8aS5nZXRQcm9wZXJ0eVZhbHVlKGUucmVwbGFjZShociwiLSQxIikudG9Mb3dlckNhc2UoKSl8fGkuZ2V0UHJvcGVydHlWYWx1ZShlKXx8IXImJlBkKHQsbXIoZSl8fGUsMSl8fCIifWZ1bmN0aW9uIFNkKCl7KGZ1bmN0aW9uIF93aW5kb3dFeGlzdHMoKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvd30pKCkmJndpbmRvdy5kb2N1bWVudCYmKEVlPXdpbmRvdyxEZT1FZS5kb2N1bWVudCxSZT1EZS5kb2N1bWVudEVsZW1lbnQsTGU9T2QoImRpdiIpfHx7c3R5bGU6e319LE9kKCJkaXYiKSxjcj1tcihjcikscHI9Y3IrIk9yaWdpbiIsTGUuc3R5bGUuY3NzVGV4dD0iYm9yZGVyLXdpZHRoOjA7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjAiLFllPSEhbXIoInBlcnNwZWN0aXZlIiksQmU9emUuY29yZS5yZXZlcnRpbmcsRmU9MSl9ZnVuY3Rpb24gVGQodCl7dmFyIGUscj1PZCgic3ZnIix0aGlzLm93bmVyU1ZHRWxlbWVudCYmdGhpcy5vd25lclNWR0VsZW1lbnQuZ2V0QXR0cmlidXRlKCJ4bWxucyIpfHwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSxpPXRoaXMucGFyZW50Tm9kZSxuPXRoaXMubmV4dFNpYmxpbmcsYT10aGlzLnN0eWxlLmNzc1RleHQ7aWYoUmUuYXBwZW5kQ2hpbGQociksci5hcHBlbmRDaGlsZCh0aGlzKSx0aGlzLnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0KXRyeXtlPXRoaXMuZ2V0QkJveCgpLHRoaXMuX2dzYXBCQm94PXRoaXMuZ2V0QkJveCx0aGlzLmdldEJCb3g9VGR9Y2F0Y2godCl7fWVsc2UgdGhpcy5fZ3NhcEJCb3gmJihlPXRoaXMuX2dzYXBCQm94KCkpO3JldHVybiBpJiYobj9pLmluc2VydEJlZm9yZSh0aGlzLG4pOmkuYXBwZW5kQ2hpbGQodGhpcykpLFJlLnJlbW92ZUNoaWxkKHIpLHRoaXMuc3R5bGUuY3NzVGV4dD1hLGV9ZnVuY3Rpb24gVWQodCxlKXtmb3IodmFyIHI9ZS5sZW5ndGg7ci0tOylpZih0Lmhhc0F0dHJpYnV0ZShlW3JdKSlyZXR1cm4gdC5nZXRBdHRyaWJ1dGUoZVtyXSl9ZnVuY3Rpb24gVmQoZSl7dmFyIHI7dHJ5e3I9ZS5nZXRCQm94KCl9Y2F0Y2godCl7cj1UZC5jYWxsKGUsITApfXJldHVybiByJiYoci53aWR0aHx8ci5oZWlnaHQpfHxlLmdldEJCb3g9PT1UZHx8KHI9VGQuY2FsbChlLCEwKSksIXJ8fHIud2lkdGh8fHIueHx8ci55P3I6e3g6K1VkKGUsWyJ4IiwiY3giLCJ4MSJdKXx8MCx5OitVZChlLFsieSIsImN5IiwieTEiXSl8fDAsd2lkdGg6MCxoZWlnaHQ6MH19ZnVuY3Rpb24gV2QodCl7cmV0dXJuISghdC5nZXRDVE18fHQucGFyZW50Tm9kZSYmIXQub3duZXJTVkdFbGVtZW50fHwhVmQodCkpfWZ1bmN0aW9uIFhkKHQsZSl7aWYoZSl7dmFyIHIsaT10LnN0eWxlO2UgaW4gYXImJmUhPT1wciYmKGU9Y3IpLGkucmVtb3ZlUHJvcGVydHk/KCJtcyIhPT0ocj1lLnN1YnN0cigwLDIpKSYmIndlYmtpdCIhPT1lLnN1YnN0cigwLDYpfHwoZT0iLSIrZSksaS5yZW1vdmVQcm9wZXJ0eSgiLS0iPT09cj9lOmUucmVwbGFjZShociwiLSQxIikudG9Mb3dlckNhc2UoKSkpOmkucmVtb3ZlQXR0cmlidXRlKGUpfX1mdW5jdGlvbiBZZCh0LGUscixpLG4sYSl7dmFyIHM9bmV3IF9lKHQuX3B0LGUsciwwLDEsYT9BZDp6ZCk7cmV0dXJuKHQuX3B0PXMpLmI9aSxzLmU9bix0Ll9wcm9wcy5wdXNoKHIpLHN9ZnVuY3Rpb24gX2QodCxlLHIsaSl7dmFyIG4sYSxzLG8sdT1wYXJzZUZsb2F0KHIpfHwwLGg9KHIrIiIpLnRyaW0oKS5zdWJzdHIoKHUrIiIpLmxlbmd0aCl8fCJweCIsbD1MZS5zdHlsZSxmPWxyLnRlc3QoZSksZD0ic3ZnIj09PXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLGM9KGQ/ImNsaWVudCI6Im9mZnNldCIpKyhmPyJXaWR0aCI6IkhlaWdodCIpLHA9InB4Ij09PWksXz0iJSI9PT1pO2lmKGk9PT1ofHwhdXx8Z3JbaV18fGdyW2hdKXJldHVybiB1O2lmKCJweCI9PT1ofHxwfHwodT1fZCh0LGUsciwicHgiKSksbz10LmdldENUTSYmV2QodCksKF98fCIlIj09PWgpJiYoYXJbZV18fH5lLmluZGV4T2YoImFkaXVzIikpKXJldHVybiBuPW8/dC5nZXRCQm94KClbZj8id2lkdGgiOiJoZWlnaHQiXTp0W2NdLGlhKF8/dS9uKjEwMDp1LzEwMCpuKTtpZihsW2Y/IndpZHRoIjoiaGVpZ2h0Il09MTAwKyhwP2g6aSksYT1+ZS5pbmRleE9mKCJhZGl1cyIpfHwiZW0iPT09aSYmdC5hcHBlbmRDaGlsZCYmIWQ/dDp0LnBhcmVudE5vZGUsbyYmKGE9KHQub3duZXJTVkdFbGVtZW50fHx7fSkucGFyZW50Tm9kZSksYSYmYSE9PURlJiZhLmFwcGVuZENoaWxkfHwoYT1EZS5ib2R5KSwocz1hLl9nc2FwKSYmXyYmcy53aWR0aCYmZiYmcy50aW1lPT09UnQudGltZSYmIXMudW5jYWNoZSlyZXR1cm4gaWEodS9zLndpZHRoKjEwMCk7aWYoIV98fCJoZWlnaHQiIT09ZSYmIndpZHRoIiE9PWUpIV8mJiIlIiE9PWh8fHZyW1BkKGEsImRpc3BsYXkiKV18fChsLnBvc2l0aW9uPVBkKHQsInBvc2l0aW9uIikpLGE9PT10JiYobC5wb3NpdGlvbj0ic3RhdGljIiksYS5hcHBlbmRDaGlsZChMZSksbj1MZVtjXSxhLnJlbW92ZUNoaWxkKExlKSxsLnBvc2l0aW9uPSJhYnNvbHV0ZSI7ZWxzZXt2YXIgbT10LnN0eWxlW2VdO3Quc3R5bGVbZV09MTAwK2ksbj10W2NdLG0/dC5zdHlsZVtlXT1tOlhkKHQsZSl9cmV0dXJuIGYmJl8mJigocz1mYShhKSkudGltZT1SdC50aW1lLHMud2lkdGg9YVtjXSksaWEocD9uKnUvMTAwOm4mJnU/MTAwL24qdTowKX1mdW5jdGlvbiBiZSh0LGUscixpKXtpZighcnx8Im5vbmUiPT09cil7dmFyIG49bXIoZSx0LDEpLGE9biYmUGQodCxuLDEpO2EmJmEhPT1yPyhlPW4scj1hKToiYm9yZGVyQ29sb3IiPT09ZSYmKHI9UGQodCwiYm9yZGVyVG9wQ29sb3IiKSl9dmFyIHMsbyx1LGgsbCxmLGQsYyxwLF8sbSxnPW5ldyBfZSh0aGlzLl9wdCx0LnN0eWxlLGUsMCwxLHVlKSx2PTAseT0wO2lmKGcuYj1yLGcuZT1pLHIrPSIiLCJhdXRvIj09PShpKz0iIikmJihmPXQuc3R5bGVbZV0sdC5zdHlsZVtlXT1pLGk9UGQodCxlKXx8aSxmP3Quc3R5bGVbZV09ZjpYZCh0LGUpKSxGYihzPVtyLGldKSxpPXNbMV0sdT0ocj1zWzBdKS5tYXRjaChydCl8fFtdLChpLm1hdGNoKHJ0KXx8W10pLmxlbmd0aCl7Zm9yKDtvPXJ0LmV4ZWMoaSk7KWQ9b1swXSxwPWkuc3Vic3RyaW5nKHYsby5pbmRleCksbD9sPShsKzEpJTU6InJnYmEoIiE9PXAuc3Vic3RyKC01KSYmImhzbGEoIiE9PXAuc3Vic3RyKC01KXx8KGw9MSksZCE9PShmPXVbeSsrXXx8IiIpJiYoaD1wYXJzZUZsb2F0KGYpfHwwLG09Zi5zdWJzdHIoKGgrIiIpLmxlbmd0aCksIj0iPT09ZC5jaGFyQXQoMSkmJihkPWthKGgsZCkrbSksYz1wYXJzZUZsb2F0KGQpLF89ZC5zdWJzdHIoKGMrIiIpLmxlbmd0aCksdj1ydC5sYXN0SW5kZXgtXy5sZW5ndGgsX3x8KF89X3x8cS51bml0c1tlXXx8bSx2PT09aS5sZW5ndGgmJihpKz1fLGcuZSs9XykpLG0hPT1fJiYoaD1fZCh0LGUsZixfKXx8MCksZy5fcHQ9e19uZXh0OmcuX3B0LHA6cHx8MT09PXk/cDoiLCIsczpoLGM6Yy1oLG06bCYmbDw0fHwiekluZGV4Ij09PWU/TWF0aC5yb3VuZDowfSk7Zy5jPXY8aS5sZW5ndGg/aS5zdWJzdHJpbmcodixpLmxlbmd0aCk6IiJ9ZWxzZSBnLnI9ImRpc3BsYXkiPT09ZSYmIm5vbmUiPT09aT9BZDp6ZDtyZXR1cm4gbnQudGVzdChpKSYmKGcuZT0wKSx0aGlzLl9wdD1nfWZ1bmN0aW9uIGRlKHQpe3ZhciBlPXQuc3BsaXQoIiAiKSxyPWVbMF0saT1lWzFdfHwiNTAlIjtyZXR1cm4idG9wIiE9PXImJiJib3R0b20iIT09ciYmImxlZnQiIT09aSYmInJpZ2h0IiE9PWl8fCh0PXIscj1pLGk9dCksZVswXT1UcltyXXx8cixlWzFdPVRyW2ldfHxpLGUuam9pbigiICIpfWZ1bmN0aW9uIGVlKHQsZSl7aWYoZS50d2VlbiYmZS50d2Vlbi5fdGltZT09PWUudHdlZW4uX2R1cil7dmFyIHIsaSxuLGE9ZS50LHM9YS5zdHlsZSxvPWUudSx1PWEuX2dzYXA7aWYoImFsbCI9PT1vfHwhMD09PW8pcy5jc3NUZXh0PSIiLGk9MTtlbHNlIGZvcihuPShvPW8uc3BsaXQoIiwiKSkubGVuZ3RoOy0xPC0tbjspcj1vW25dLGFyW3JdJiYoaT0xLHI9InRyYW5zZm9ybU9yaWdpbiI9PT1yP3ByOmNyKSxYZChhLHIpO2kmJihYZChhLGNyKSx1JiYodS5zdmcmJmEucmVtb3ZlQXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSxPcihhLDEpLHUudW5jYWNoZT0xLEtkKHMpKSl9fWZ1bmN0aW9uIGllKHQpe3JldHVybiJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09dHx8Im5vbmUiPT09dHx8IXR9ZnVuY3Rpb24gamUodCl7dmFyIGU9UGQodCxjcik7cmV0dXJuIGllKGUpP3dyOmUuc3Vic3RyKDcpLm1hdGNoKGV0KS5tYXAoaWEpfWZ1bmN0aW9uIGtlKHQsZSl7dmFyIHIsaSxuLGEscz10Ll9nc2FwfHxmYSh0KSxvPXQuc3R5bGUsdT1qZSh0KTtyZXR1cm4gcy5zdmcmJnQuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKT8iMSwwLDAsMSwwLDAiPT09KHU9WyhuPXQudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKS5tYXRyaXgpLmEsbi5iLG4uYyxuLmQsbi5lLG4uZl0pLmpvaW4oIiwiKT93cjp1Oih1IT09d3J8fHQub2Zmc2V0UGFyZW50fHx0PT09UmV8fHMuc3ZnfHwobj1vLmRpc3BsYXksby5kaXNwbGF5PSJibG9jayIsKHI9dC5wYXJlbnROb2RlKSYmdC5vZmZzZXRQYXJlbnR8fChhPTEsaT10Lm5leHRFbGVtZW50U2libGluZyxSZS5hcHBlbmRDaGlsZCh0KSksdT1qZSh0KSxuP28uZGlzcGxheT1uOlhkKHQsImRpc3BsYXkiKSxhJiYoaT9yLmluc2VydEJlZm9yZSh0LGkpOnI/ci5hcHBlbmRDaGlsZCh0KTpSZS5yZW1vdmVDaGlsZCh0KSkpLGUmJjY8dS5sZW5ndGg/W3VbMF0sdVsxXSx1WzRdLHVbNV0sdVsxMl0sdVsxM11dOnUpfWZ1bmN0aW9uIGxlKHQsZSxyLGksbixhKXt2YXIgcyxvLHUsaD10Ll9nc2FwLGw9bnx8a2UodCwhMCksZj1oLnhPcmlnaW58fDAsZD1oLnlPcmlnaW58fDAsYz1oLnhPZmZzZXR8fDAscD1oLnlPZmZzZXR8fDAsXz1sWzBdLG09bFsxXSxnPWxbMl0sdj1sWzNdLHk9bFs0XSxUPWxbNV0sYj1lLnNwbGl0KCIgIiksdz1wYXJzZUZsb2F0KGJbMF0pfHwwLHg9cGFyc2VGbG9hdChiWzFdKXx8MDtyP2whPT13ciYmKG89Xyp2LW0qZykmJih1PXcqKC1tL28pK3gqKF8vbyktKF8qVC1tKnkpL28sdz13Kih2L28pK3gqKC1nL28pKyhnKlQtdip5KS9vLHg9dSk6KHc9KHM9VmQodCkpLngrKH5iWzBdLmluZGV4T2YoIiUiKT93LzEwMCpzLndpZHRoOncpLHg9cy55Kyh+KGJbMV18fGJbMF0pLmluZGV4T2YoIiUiKT94LzEwMCpzLmhlaWdodDp4KSksaXx8ITEhPT1pJiZoLnNtb290aD8oeT13LWYsVD14LWQsaC54T2Zmc2V0PWMrKHkqXytUKmcpLXksaC55T2Zmc2V0PXArKHkqbStUKnYpLVQpOmgueE9mZnNldD1oLnlPZmZzZXQ9MCxoLnhPcmlnaW49dyxoLnlPcmlnaW49eCxoLnNtb290aD0hIWksaC5vcmlnaW49ZSxoLm9yaWdpbklzQWJzb2x1dGU9ISFyLHQuc3R5bGVbcHJdPSIwcHggMHB4IixhJiYoWWQoYSxoLCJ4T3JpZ2luIixmLHcpLFlkKGEsaCwieU9yaWdpbiIsZCx4KSxZZChhLGgsInhPZmZzZXQiLGMsaC54T2Zmc2V0KSxZZChhLGgsInlPZmZzZXQiLHAsaC55T2Zmc2V0KSksdC5zZXRBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIsdysiICIreCl9ZnVuY3Rpb24gb2UodCxlLHIpe3ZhciBpPVlhKGUpO3JldHVybiBpYShwYXJzZUZsb2F0KGUpK3BhcnNlRmxvYXQoX2QodCwieCIscisicHgiLGkpKSkraX1mdW5jdGlvbiB2ZSh0LGUsaSxuLGEpe3ZhciBzLG8sdT0zNjAsaD1yKGEpLGw9cGFyc2VGbG9hdChhKSooaCYmfmEuaW5kZXhPZigicmFkIik/c3I6MSktbixmPW4rbCsiZGVnIjtyZXR1cm4gaCYmKCJzaG9ydCI9PT0ocz1hLnNwbGl0KCJfIilbMV0pJiYobCU9dSkhPT1sJTE4MCYmKGwrPWw8MD91Oi11KSwiY3ciPT09cyYmbDwwP2w9KGwrMzZlOSkldS1+fihsL3UpKnU6ImNjdyI9PT1zJiYwPGwmJihsPShsLTM2ZTkpJXUtfn4obC91KSp1KSksdC5fcHQ9bz1uZXcgX2UodC5fcHQsZSxpLG4sbCx3ZCksby5lPWYsby51PSJkZWciLHQuX3Byb3BzLnB1c2goaSksb31mdW5jdGlvbiB3ZSh0LGUpe2Zvcih2YXIgciBpbiBlKXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiB4ZSh0LGUscil7dmFyIGksbixhLHMsbyx1LGgsbD13ZSh7fSxyLl9nc2FwKSxmPXIuc3R5bGU7Zm9yKG4gaW4gbC5zdmc/KGE9ci5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpLHIuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCIiKSxmW2NyXT1lLGk9T3IociwxKSxYZChyLGNyKSxyLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIixhKSk6KGE9Z2V0Q29tcHV0ZWRTdHlsZShyKVtjcl0sZltjcl09ZSxpPU9yKHIsMSksZltjcl09YSksYXIpKGE9bFtuXSkhPT0ocz1pW25dKSYmInBlcnNwZWN0aXZlLGZvcmNlM0QsdHJhbnNmb3JtT3JpZ2luLHN2Z09yaWdpbiIuaW5kZXhPZihuKTwwJiYobz1ZYShhKSE9PShoPVlhKHMpKT9fZChyLG4sYSxoKTpwYXJzZUZsb2F0KGEpLHU9cGFyc2VGbG9hdChzKSx0Ll9wdD1uZXcgX2UodC5fcHQsaSxuLG8sdS1vLHZkKSx0Ll9wdC51PWh8fDAsdC5fcHJvcHMucHVzaChuKSk7d2UoaSxsKX12YXIgRWUsRGUsUmUsRmUsTGUsSWUsQmUsWWUscWU9THQuUG93ZXIwLFZlPUx0LlBvd2VyMSxVZT1MdC5Qb3dlcjIsWGU9THQuUG93ZXIzLE5lPUx0LlBvd2VyNCxHZT1MdC5MaW5lYXIsV2U9THQuUXVhZCxRZT1MdC5DdWJpYyxLZT1MdC5RdWFydCxKZT1MdC5RdWludCxIZT1MdC5TdHJvbmcsJGU9THQuRWxhc3RpYyxaZT1MdC5CYWNrLHRyPUx0LlN0ZXBwZWRFYXNlLGVyPUx0LkJvdW5jZSxycj1MdC5TaW5lLGlyPUx0LkV4cG8sbnI9THQuQ2lyYyxhcj17fSxzcj0xODAvTWF0aC5QSSxvcj1NYXRoLlBJLzE4MCx1cj1NYXRoLmF0YW4yLGhyPS8oW0EtWl0pL2csbHI9LyhsZWZ0fHJpZ2h0fHdpZHRofG1hcmdpbnxwYWRkaW5nfHgpL2ksZnI9L1tccyxcKF1cUy8sZHI9e2F1dG9BbHBoYToib3BhY2l0eSx2aXNpYmlsaXR5IixzY2FsZToic2NhbGVYLHNjYWxlWSIsYWxwaGE6Im9wYWNpdHkifSxjcj0idHJhbnNmb3JtIixwcj1jcisiT3JpZ2luIixfcj0iTyxNb3osbXMsTXMsV2Via2l0Ii5zcGxpdCgiLCIpLG1yPWZ1bmN0aW9uIF9jaGVja1Byb3BQcmVmaXgodCxlLHIpe3ZhciBpPShlfHxMZSkuc3R5bGUsbj01O2lmKHQgaW4gaSYmIXIpcmV0dXJuIHQ7Zm9yKHQ9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKTtuLS0mJiEoX3Jbbl0rdCBpbiBpKTspO3JldHVybiBuPDA/bnVsbDooMz09PW4/Im1zIjowPD1uP19yW25dOiIiKSt0fSxncj17ZGVnOjEscmFkOjEsdHVybjoxfSx2cj17Z3JpZDoxLGZsZXg6MX0seXI9ZnVuY3Rpb24gX2dldCh0LGUscixpKXt2YXIgbjtyZXR1cm4gRmV8fFNkKCksZSBpbiBkciYmInRyYW5zZm9ybSIhPT1lJiZ+KGU9ZHJbZV0pLmluZGV4T2YoIiwiKSYmKGU9ZS5zcGxpdCgiLCIpWzBdKSxhcltlXSYmInRyYW5zZm9ybSIhPT1lPyhuPU9yKHQsaSksbj0idHJhbnNmb3JtT3JpZ2luIiE9PWU/bltlXTpuLnN2Zz9uLm9yaWdpbjprcihQZCh0LHByKSkrIiAiK24uek9yaWdpbisicHgiKToobj10LnN0eWxlW2VdKSYmImF1dG8iIT09biYmIWkmJiF+KG4rIiIpLmluZGV4T2YoImNhbGMoIil8fChuPWJyW2VdJiZicltlXSh0LGUscil8fFBkKHQsZSl8fGdhKHQsZSl8fCgib3BhY2l0eSI9PT1lPzE6MCkpLHImJiF+KG4rIiIpLnRyaW0oKS5pbmRleE9mKCIgIik/X2QodCxlLG4scikrcjpufSxUcj17dG9wOiIwJSIsYm90dG9tOiIxMDAlIixsZWZ0OiIwJSIscmlnaHQ6IjEwMCUiLGNlbnRlcjoiNTAlIn0sYnI9e2NsZWFyUHJvcHM6ZnVuY3Rpb24gY2xlYXJQcm9wcyh0LGUscixpLG4pe2lmKCJpc0Zyb21TdGFydCIhPT1uLmRhdGEpe3ZhciBhPXQuX3B0PW5ldyBfZSh0Ll9wdCxlLHIsMCwwLGVlKTtyZXR1cm4gYS51PWksYS5wcj0tMTAsYS50d2Vlbj1uLHQuX3Byb3BzLnB1c2gociksMX19fSx3cj1bMSwwLDAsMSwwLDBdLHhyPXt9LE9yPWZ1bmN0aW9uIF9wYXJzZVRyYW5zZm9ybSh0LGUpe3ZhciByPXQuX2dzYXB8fG5ldyBWdCh0KTtpZigieCJpbiByJiYhZSYmIXIudW5jYWNoZSlyZXR1cm4gcjt2YXIgaSxuLGEscyxvLHUsaCxsLGYsZCxjLHAsXyxtLGcsdix5LFQsYix3LHgsTyxrLE0sUCxDLEEsUyx6LEUsRCxSLEY9dC5zdHlsZSxMPXIuc2NhbGVYPDAsST0iZGVnIixCPWdldENvbXB1dGVkU3R5bGUodCksWT1QZCh0LHByKXx8IjAiO3JldHVybiBpPW49YT11PWg9bD1mPWQ9Yz0wLHM9bz0xLHIuc3ZnPSEoIXQuZ2V0Q1RNfHwhV2QodCkpLEIudHJhbnNsYXRlJiYoIm5vbmUiPT09Qi50cmFuc2xhdGUmJiJub25lIj09PUIuc2NhbGUmJiJub25lIj09PUIucm90YXRlfHwoRltjcl09KCJub25lIiE9PUIudHJhbnNsYXRlPyJ0cmFuc2xhdGUzZCgiKyhCLnRyYW5zbGF0ZSsiIDAgMCIpLnNwbGl0KCIgIikuc2xpY2UoMCwzKS5qb2luKCIsICIpKyIpICI6IiIpKygibm9uZSIhPT1CLnJvdGF0ZT8icm90YXRlKCIrQi5yb3RhdGUrIikgIjoiIikrKCJub25lIiE9PUIuc2NhbGU/InNjYWxlKCIrQi5zY2FsZS5zcGxpdCgiICIpLmpvaW4oIiwiKSsiKSAiOiIiKSsoIm5vbmUiIT09Qltjcl0/Qltjcl06IiIpKSxGLnNjYWxlPUYucm90YXRlPUYudHJhbnNsYXRlPSJub25lIiksbT1rZSh0LHIuc3ZnKSxyLnN2ZyYmKE09ci51bmNhY2hlPyhQPXQuZ2V0QkJveCgpLFk9ci54T3JpZ2luLVAueCsicHggIisoci55T3JpZ2luLVAueSkrInB4IiwiIik6IWUmJnQuZ2V0QXR0cmlidXRlKCJkYXRhLXN2Zy1vcmlnaW4iKSxsZSh0LE18fFksISFNfHxyLm9yaWdpbklzQWJzb2x1dGUsITEhPT1yLnNtb290aCxtKSkscD1yLnhPcmlnaW58fDAsXz1yLnlPcmlnaW58fDAsbSE9PXdyJiYoVD1tWzBdLGI9bVsxXSx3PW1bMl0seD1tWzNdLGk9Tz1tWzRdLG49az1tWzVdLDY9PT1tLmxlbmd0aD8ocz1NYXRoLnNxcnQoVCpUK2IqYiksbz1NYXRoLnNxcnQoeCp4K3cqdyksdT1UfHxiP3VyKGIsVCkqc3I6MCwoZj13fHx4P3VyKHcseCkqc3IrdTowKSYmKG8qPU1hdGguYWJzKE1hdGguY29zKGYqb3IpKSksci5zdmcmJihpLT1wLShwKlQrXyp3KSxuLT1fLShwKmIrXyp4KSkpOihSPW1bNl0sRT1tWzddLEE9bVs4XSxTPW1bOV0sej1tWzEwXSxEPW1bMTFdLGk9bVsxMl0sbj1tWzEzXSxhPW1bMTRdLGg9KGc9dXIoUix6KSkqc3IsZyYmKE09Tyoodj1NYXRoLmNvcygtZykpK0EqKHk9TWF0aC5zaW4oLWcpKSxQPWsqditTKnksQz1SKnYreip5LEE9TyoteStBKnYsUz1rKi15K1Mqdix6PVIqLXkreip2LEQ9RSoteStEKnYsTz1NLGs9UCxSPUMpLGw9KGc9dXIoLXcseikpKnNyLGcmJih2PU1hdGguY29zKC1nKSxEPXgqKHk9TWF0aC5zaW4oLWcpKStEKnYsVD1NPVQqdi1BKnksYj1QPWIqdi1TKnksdz1DPXcqdi16KnkpLHU9KGc9dXIoYixUKSkqc3IsZyYmKE09VCoodj1NYXRoLmNvcyhnKSkrYiooeT1NYXRoLnNpbihnKSksUD1PKnYrayp5LGI9Yip2LVQqeSxrPWsqdi1PKnksVD1NLE89UCksaCYmMzU5Ljk8TWF0aC5hYnMoaCkrTWF0aC5hYnModSkmJihoPXU9MCxsPTE4MC1sKSxzPWlhKE1hdGguc3FydChUKlQrYipiK3cqdykpLG89aWEoTWF0aC5zcXJ0KGsqaytSKlIpKSxnPXVyKE8sayksZj0yZS00PE1hdGguYWJzKGcpP2cqc3I6MCxjPUQ/MS8oRDwwPy1EOkQpOjApLHIuc3ZnJiYoTT10LmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiksci5mb3JjZUNTUz10LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwiIil8fCFpZShQZCh0LGNyKSksTSYmdC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsTSkpKSw5MDxNYXRoLmFicyhmKSYmTWF0aC5hYnMoZik8MjcwJiYoTD8ocyo9LTEsZis9dTw9MD8xODA6LTE4MCx1Kz11PD0wPzE4MDotMTgwKToobyo9LTEsZis9Zjw9MD8xODA6LTE4MCkpLGU9ZXx8ci51bmNhY2hlLHIueD1pLSgoci54UGVyY2VudD1pJiYoIWUmJnIueFBlcmNlbnR8fChNYXRoLnJvdW5kKHQub2Zmc2V0V2lkdGgvMik9PT1NYXRoLnJvdW5kKC1pKT8tNTA6MCkpKT90Lm9mZnNldFdpZHRoKnIueFBlcmNlbnQvMTAwOjApKyJweCIsci55PW4tKChyLnlQZXJjZW50PW4mJighZSYmci55UGVyY2VudHx8KE1hdGgucm91bmQodC5vZmZzZXRIZWlnaHQvMik9PT1NYXRoLnJvdW5kKC1uKT8tNTA6MCkpKT90Lm9mZnNldEhlaWdodCpyLnlQZXJjZW50LzEwMDowKSsicHgiLHIuej1hKyJweCIsci5zY2FsZVg9aWEocyksci5zY2FsZVk9aWEobyksci5yb3RhdGlvbj1pYSh1KStJLHIucm90YXRpb25YPWlhKGgpK0ksci5yb3RhdGlvblk9aWEobCkrSSxyLnNrZXdYPWYrSSxyLnNrZXdZPWQrSSxyLnRyYW5zZm9ybVBlcnNwZWN0aXZlPWMrInB4Iiwoci56T3JpZ2luPXBhcnNlRmxvYXQoWS5zcGxpdCgiICIpWzJdKXx8IWUmJnIuek9yaWdpbnx8MCkmJihGW3ByXT1rcihZKSksci54T2Zmc2V0PXIueU9mZnNldD0wLHIuZm9yY2UzRD1xLmZvcmNlM0Qsci5yZW5kZXJUcmFuc2Zvcm09ci5zdmc/enI6WWU/U3I6TXIsci51bmNhY2hlPTAscn0sa3I9ZnVuY3Rpb24gX2ZpcnN0VHdvT25seSh0KXtyZXR1cm4odD10LnNwbGl0KCIgIikpWzBdKyIgIit0WzFdfSxNcj1mdW5jdGlvbiBfcmVuZGVyTm9uM0RUcmFuc2Zvcm1zKHQsZSl7ZS56PSIwcHgiLGUucm90YXRpb25ZPWUucm90YXRpb25YPSIwZGVnIixlLmZvcmNlM0Q9MCxTcih0LGUpfSxQcj0iMGRlZyIsQ3I9IjBweCIsQXI9IikgIixTcj1mdW5jdGlvbiBfcmVuZGVyQ1NTVHJhbnNmb3Jtcyh0LGUpe3ZhciByPWV8fHRoaXMsaT1yLnhQZXJjZW50LG49ci55UGVyY2VudCxhPXIueCxzPXIueSxvPXIueix1PXIucm90YXRpb24saD1yLnJvdGF0aW9uWSxsPXIucm90YXRpb25YLGY9ci5za2V3WCxkPXIuc2tld1ksYz1yLnNjYWxlWCxwPXIuc2NhbGVZLF89ci50cmFuc2Zvcm1QZXJzcGVjdGl2ZSxtPXIuZm9yY2UzRCxnPXIudGFyZ2V0LHY9ci56T3JpZ2luLHk9IiIsVD0iYXV0byI9PT1tJiZ0JiYxIT09dHx8ITA9PT1tO2lmKHYmJihsIT09UHJ8fGghPT1Qcikpe3ZhciBiLHc9cGFyc2VGbG9hdChoKSpvcix4PU1hdGguc2luKHcpLE89TWF0aC5jb3Modyk7dz1wYXJzZUZsb2F0KGwpKm9yLGI9TWF0aC5jb3ModyksYT1vZShnLGEseCpiKi12KSxzPW9lKGcscywtTWF0aC5zaW4odykqLXYpLG89b2UoZyxvLE8qYiotdit2KX1fIT09Q3ImJih5Kz0icGVyc3BlY3RpdmUoIitfK0FyKSwoaXx8bikmJih5Kz0idHJhbnNsYXRlKCIraSsiJSwgIituKyIlKSAiKSwhVCYmYT09PUNyJiZzPT09Q3ImJm89PT1Dcnx8KHkrPW8hPT1Dcnx8VD8idHJhbnNsYXRlM2QoIithKyIsICIrcysiLCAiK28rIikgIjoidHJhbnNsYXRlKCIrYSsiLCAiK3MrQXIpLHUhPT1QciYmKHkrPSJyb3RhdGUoIit1K0FyKSxoIT09UHImJih5Kz0icm90YXRlWSgiK2grQXIpLGwhPT1QciYmKHkrPSJyb3RhdGVYKCIrbCtBciksZj09PVByJiZkPT09UHJ8fCh5Kz0ic2tldygiK2YrIiwgIitkK0FyKSwxPT09YyYmMT09PXB8fCh5Kz0ic2NhbGUoIitjKyIsICIrcCtBciksZy5zdHlsZVtjcl09eXx8InRyYW5zbGF0ZSgwLCAwKSJ9LHpyPWZ1bmN0aW9uIF9yZW5kZXJTVkdUcmFuc2Zvcm1zKHQsZSl7dmFyIHIsaSxuLGEscyxvPWV8fHRoaXMsdT1vLnhQZXJjZW50LGg9by55UGVyY2VudCxsPW8ueCxmPW8ueSxkPW8ucm90YXRpb24sYz1vLnNrZXdYLHA9by5za2V3WSxfPW8uc2NhbGVYLG09by5zY2FsZVksZz1vLnRhcmdldCx2PW8ueE9yaWdpbix5PW8ueU9yaWdpbixUPW8ueE9mZnNldCxiPW8ueU9mZnNldCx3PW8uZm9yY2VDU1MseD1wYXJzZUZsb2F0KGwpLE89cGFyc2VGbG9hdChmKTtkPXBhcnNlRmxvYXQoZCksYz1wYXJzZUZsb2F0KGMpLChwPXBhcnNlRmxvYXQocCkpJiYoYys9cD1wYXJzZUZsb2F0KHApLGQrPXApLGR8fGM/KGQqPW9yLGMqPW9yLHI9TWF0aC5jb3MoZCkqXyxpPU1hdGguc2luKGQpKl8sbj1NYXRoLnNpbihkLWMpKi1tLGE9TWF0aC5jb3MoZC1jKSptLGMmJihwKj1vcixzPU1hdGgudGFuKGMtcCksbio9cz1NYXRoLnNxcnQoMStzKnMpLGEqPXMscCYmKHM9TWF0aC50YW4ocCkscio9cz1NYXRoLnNxcnQoMStzKnMpLGkqPXMpKSxyPWlhKHIpLGk9aWEoaSksbj1pYShuKSxhPWlhKGEpKToocj1fLGE9bSxpPW49MCksKHgmJiF+KGwrIiIpLmluZGV4T2YoInB4Iil8fE8mJiF+KGYrIiIpLmluZGV4T2YoInB4IikpJiYoeD1fZChnLCJ4IixsLCJweCIpLE89X2QoZywieSIsZiwicHgiKSksKHZ8fHl8fFR8fGIpJiYoeD1pYSh4K3YtKHYqcit5Km4pK1QpLE89aWEoTyt5LSh2KmkreSphKStiKSksKHV8fGgpJiYocz1nLmdldEJCb3goKSx4PWlhKHgrdS8xMDAqcy53aWR0aCksTz1pYShPK2gvMTAwKnMuaGVpZ2h0KSkscz0ibWF0cml4KCIrcisiLCIraSsiLCIrbisiLCIrYSsiLCIreCsiLCIrTysiKSIsZy5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIscyksdyYmKGcuc3R5bGVbY3JdPXMpfTtoYSgicGFkZGluZyxtYXJnaW4sV2lkdGgsUmFkaXVzIixmdW5jdGlvbihlLHIpe3ZhciB0PSJSaWdodCIsaT0iQm90dG9tIixuPSJMZWZ0IixvPShyPDM/WyJUb3AiLHQsaSxuXTpbIlRvcCIrbiwiVG9wIit0LGkrdCxpK25dKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHI8Mj9lK3Q6ImJvcmRlciIrdCtlfSk7YnJbMTxyPyJib3JkZXIiK2U6ZV09ZnVuY3Rpb24oZSx0LHIsaSxuKXt2YXIgYSxzO2lmKGFyZ3VtZW50cy5sZW5ndGg8NClyZXR1cm4gYT1vLm1hcChmdW5jdGlvbih0KXtyZXR1cm4geXIoZSx0LHIpfSksNT09PShzPWEuam9pbigiICIpKS5zcGxpdChhWzBdKS5sZW5ndGg/YVswXTpzO2E9KGkrIiIpLnNwbGl0KCIgIikscz17fSxvLmZvckVhY2goZnVuY3Rpb24odCxlKXtyZXR1cm4gc1t0XT1hW2VdPWFbZV18fGFbKGUtMSkvMnwwXX0pLGUuaW5pdCh0LHMsbil9fSk7dmFyIEVyLERyLFJyLEZyPXtuYW1lOiJjc3MiLHJlZ2lzdGVyOlNkLHRhcmdldFRlc3Q6ZnVuY3Rpb24gdGFyZ2V0VGVzdCh0KXtyZXR1cm4gdC5zdHlsZSYmdC5ub2RlVHlwZX0saW5pdDpmdW5jdGlvbiBpbml0KHQsZSxpLG4sYSl7dmFyIHMsbyx1LGgsbCxmLGQsYyxwLF8sbSxnLHYseSxULGIsdz10aGlzLl9wcm9wcyx4PXQuc3R5bGUsTz1pLnZhcnMuc3RhcnRBdDtmb3IoZCBpbiBGZXx8U2QoKSx0aGlzLnN0eWxlcz10aGlzLnN0eWxlc3x8TWQodCksYj10aGlzLnN0eWxlcy5wcm9wcyx0aGlzLnR3ZWVuPWksZSlpZigiYXV0b1JvdW5kIiE9PWQmJihvPWVbZF0sIXB0W2RdfHwhYWMoZCxlLGksbix0LGEpKSlpZihsPXR5cGVvZiBvLGY9YnJbZF0sImZ1bmN0aW9uIj09PWwmJihsPXR5cGVvZihvPW8uY2FsbChpLG4sdCxhKSkpLCJzdHJpbmciPT09bCYmfm8uaW5kZXhPZigicmFuZG9tKCIpJiYobz1vYihvKSksZilmKHRoaXMsdCxkLG8saSkmJihUPTEpO2Vsc2UgaWYoIi0tIj09PWQuc3Vic3RyKDAsMikpcz0oZ2V0Q29tcHV0ZWRTdHlsZSh0KS5nZXRQcm9wZXJ0eVZhbHVlKGQpKyIiKS50cmltKCksbys9IiIsRXQubGFzdEluZGV4PTAsRXQudGVzdChzKXx8KGM9WWEocykscD1ZYShvKSkscD9jIT09cCYmKHM9X2QodCxkLHMscCkrcCk6YyYmKG8rPWMpLHRoaXMuYWRkKHgsInNldFByb3BlcnR5IixzLG8sbixhLDAsMCxkKSx3LnB1c2goZCksYi5wdXNoKGQsMCx4W2RdKTtlbHNlIGlmKCJ1bmRlZmluZWQiIT09bCl7aWYoTyYmZCBpbiBPPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiBPW2RdP09bZF0uY2FsbChpLG4sdCxhKTpPW2RdLHIocykmJn5zLmluZGV4T2YoInJhbmRvbSgiKSYmKHM9b2IocykpLFlhKHMrIiIpfHwiYXV0byI9PT1zfHwocys9cS51bml0c1tkXXx8WWEoeXIodCxkKSl8fCIiKSwiPSI9PT0ocysiIikuY2hhckF0KDEpJiYocz15cih0LGQpKSk6cz15cih0LGQpLGg9cGFyc2VGbG9hdChzKSwoXz0ic3RyaW5nIj09PWwmJiI9Ij09PW8uY2hhckF0KDEpJiZvLnN1YnN0cigwLDIpKSYmKG89by5zdWJzdHIoMikpLHU9cGFyc2VGbG9hdChvKSxkIGluIGRyJiYoImF1dG9BbHBoYSI9PT1kJiYoMT09PWgmJiJoaWRkZW4iPT09eXIodCwidmlzaWJpbGl0eSIpJiZ1JiYoaD0wKSxiLnB1c2goInZpc2liaWxpdHkiLDAseC52aXNpYmlsaXR5KSxZZCh0aGlzLHgsInZpc2liaWxpdHkiLGg/ImluaGVyaXQiOiJoaWRkZW4iLHU/ImluaGVyaXQiOiJoaWRkZW4iLCF1KSksInNjYWxlIiE9PWQmJiJ0cmFuc2Zvcm0iIT09ZCYmfihkPWRyW2RdKS5pbmRleE9mKCIsIikmJihkPWQuc3BsaXQoIiwiKVswXSkpLG09ZCBpbiBhcilpZih0aGlzLnN0eWxlcy5zYXZlKGQpLGd8fCgodj10Ll9nc2FwKS5yZW5kZXJUcmFuc2Zvcm0mJiFlLnBhcnNlVHJhbnNmb3JtfHxPcih0LGUucGFyc2VUcmFuc2Zvcm0pLHk9ITEhPT1lLnNtb290aE9yaWdpbiYmdi5zbW9vdGgsKGc9dGhpcy5fcHQ9bmV3IF9lKHRoaXMuX3B0LHgsY3IsMCwxLHYucmVuZGVyVHJhbnNmb3JtLHYsMCwtMSkpLmRlcD0xKSwic2NhbGUiPT09ZCl0aGlzLl9wdD1uZXcgX2UodGhpcy5fcHQsdiwic2NhbGVZIix2LnNjYWxlWSwoXz9rYSh2LnNjYWxlWSxfK3UpOnUpLXYuc2NhbGVZfHwwLHZkKSx0aGlzLl9wdC51PTAsdy5wdXNoKCJzY2FsZVkiLGQpLGQrPSJYIjtlbHNle2lmKCJ0cmFuc2Zvcm1PcmlnaW4iPT09ZCl7Yi5wdXNoKHByLDAseFtwcl0pLG89ZGUobyksdi5zdmc/bGUodCxvLDAseSwwLHRoaXMpOigocD1wYXJzZUZsb2F0KG8uc3BsaXQoIiAiKVsyXSl8fDApIT09di56T3JpZ2luJiZZZCh0aGlzLHYsInpPcmlnaW4iLHYuek9yaWdpbixwKSxZZCh0aGlzLHgsZCxrcihzKSxrcihvKSkpO2NvbnRpbnVlfWlmKCJzdmdPcmlnaW4iPT09ZCl7bGUodCxvLDEseSwwLHRoaXMpO2NvbnRpbnVlfWlmKGQgaW4geHIpe3ZlKHRoaXMsdixkLGgsXz9rYShoLF8rbyk6byk7Y29udGludWV9aWYoInNtb290aE9yaWdpbiI9PT1kKXtZZCh0aGlzLHYsInNtb290aCIsdi5zbW9vdGgsbyk7Y29udGludWV9aWYoImZvcmNlM0QiPT09ZCl7dltkXT1vO2NvbnRpbnVlfWlmKCJ0cmFuc2Zvcm0iPT09ZCl7eGUodGhpcyxvLHQpO2NvbnRpbnVlfX1lbHNlIGQgaW4geHx8KGQ9bXIoZCl8fGQpO2lmKG18fCh1fHwwPT09dSkmJihofHwwPT09aCkmJiFmci50ZXN0KG8pJiZkIGluIHgpdT11fHwwLChjPShzKyIiKS5zdWJzdHIoKGgrIiIpLmxlbmd0aCkpIT09KHA9WWEobyl8fChkIGluIHEudW5pdHM/cS51bml0c1tkXTpjKSkmJihoPV9kKHQsZCxzLHApKSx0aGlzLl9wdD1uZXcgX2UodGhpcy5fcHQsbT92OngsZCxoLChfP2thKGgsXyt1KTp1KS1oLG18fCJweCIhPT1wJiYiekluZGV4IiE9PWR8fCExPT09ZS5hdXRvUm91bmQ/dmQ6eWQpLHRoaXMuX3B0LnU9cHx8MCxjIT09cCYmIiUiIT09cCYmKHRoaXMuX3B0LmI9cyx0aGlzLl9wdC5yPXhkKTtlbHNlIGlmKGQgaW4geCliZS5jYWxsKHRoaXMsdCxkLHMsXz9fK286byk7ZWxzZSBpZihkIGluIHQpdGhpcy5hZGQodCxkLHN8fHRbZF0sXz9fK286byxuLGEpO2Vsc2UgaWYoInBhcnNlVHJhbnNmb3JtIiE9PWQpe1EoZCxvKTtjb250aW51ZX1tfHwoZCBpbiB4P2IucHVzaChkLDAseFtkXSk6Yi5wdXNoKGQsMSxzfHx0W2RdKSksdy5wdXNoKGQpfVQmJnBlKHRoaXMpfSxyZW5kZXI6ZnVuY3Rpb24gcmVuZGVyKHQsZSl7aWYoZS50d2Vlbi5fdGltZXx8IUJlKCkpZm9yKHZhciByPWUuX3B0O3I7KXIucih0LHIuZCkscj1yLl9uZXh0O2Vsc2UgZS5zdHlsZXMucmV2ZXJ0KCl9LGdldDp5cixhbGlhc2VzOmRyLGdldFNldHRlcjpmdW5jdGlvbiBnZXRTZXR0ZXIodCxlLHIpe3ZhciBpPWRyW2VdO3JldHVybiBpJiZpLmluZGV4T2YoIiwiKTwwJiYoZT1pKSxlIGluIGFyJiZlIT09cHImJih0Ll9nc2FwLnh8fHlyKHQsIngiKSk/ciYmSWU9PT1yPyJzY2FsZSI9PT1lP0VkOkRkOihJZT1yfHx7fSkmJigic2NhbGUiPT09ZT9GZDpHZCk6dC5zdHlsZSYmIXUodC5zdHlsZVtlXSk/QmQ6fmUuaW5kZXhPZigiLSIpP0NkOm5lKHQsZSl9LGNvcmU6e19yZW1vdmVQcm9wZXJ0eTpYZCxfZ2V0TWF0cml4OmtlfX07emUudXRpbHMuY2hlY2tQcmVmaXg9bXIsemUuY29yZS5nZXRTdHlsZVNhdmVyPU1kLFJyPWhhKChFcj0ieCx5LHosc2NhbGUsc2NhbGVYLHNjYWxlWSx4UGVyY2VudCx5UGVyY2VudCIpKyIsIisoRHI9InJvdGF0aW9uLHJvdGF0aW9uWCxyb3RhdGlvblksc2tld1gsc2tld1kiKSsiLHRyYW5zZm9ybSx0cmFuc2Zvcm1PcmlnaW4sc3ZnT3JpZ2luLGZvcmNlM0Qsc21vb3RoT3JpZ2luLHRyYW5zZm9ybVBlcnNwZWN0aXZlIixmdW5jdGlvbih0KXthclt0XT0xfSksaGEoRHIsZnVuY3Rpb24odCl7cS51bml0c1t0XT0iZGVnIix4clt0XT0xfSksZHJbUnJbMTNdXT1FcisiLCIrRHIsaGEoIjA6dHJhbnNsYXRlWCwxOnRyYW5zbGF0ZVksMjp0cmFuc2xhdGVaLDg6cm90YXRlLDg6cm90YXRpb25aLDg6cm90YXRlWiw5OnJvdGF0ZVgsMTA6cm90YXRlWSIsZnVuY3Rpb24odCl7dmFyIGU9dC5zcGxpdCgiOiIpO2RyW2VbMV1dPVJyW2VbMF1dfSksaGEoIngseSx6LHRvcCxyaWdodCxib3R0b20sbGVmdCx3aWR0aCxoZWlnaHQsZm9udFNpemUscGFkZGluZyxtYXJnaW4scGVyc3BlY3RpdmUiLGZ1bmN0aW9uKHQpe3EudW5pdHNbdF09InB4In0pLHplLnJlZ2lzdGVyUGx1Z2luKEZyKTt2YXIgTHI9emUucmVnaXN0ZXJQbHVnaW4oRnIpfHx6ZSxJcj1Mci5jb3JlLlR3ZWVuO2UuQmFjaz1aZSxlLkJvdW5jZT1lcixlLkNTU1BsdWdpbj1GcixlLkNpcmM9bnIsZS5DdWJpYz1RZSxlLkVsYXN0aWM9JGUsZS5FeHBvPWlyLGUuTGluZWFyPUdlLGUuUG93ZXIwPXFlLGUuUG93ZXIxPVZlLGUuUG93ZXIyPVVlLGUuUG93ZXIzPVhlLGUuUG93ZXI0PU5lLGUuUXVhZD1XZSxlLlF1YXJ0PUtlLGUuUXVpbnQ9SmUsZS5TaW5lPXJyLGUuU3RlcHBlZEVhc2U9dHIsZS5TdHJvbmc9SGUsZS5UaW1lbGluZUxpdGU9WHQsZS5UaW1lbGluZU1heD1YdCxlLlR3ZWVuTGl0ZT0kdCxlLlR3ZWVuTWF4PUlyLGUuZGVmYXVsdD1McixlLmdzYXA9THI7aWYgKHR5cGVvZih3aW5kb3cpPT09InVuZGVmaW5lZCJ8fHdpbmRvdyE9PWUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0gZWxzZSB7ZGVsZXRlIGUuZGVmYXVsdH19KTsKCg=="}},"time_used":74,"timings":{"blocked":-1,"dns":10,"connect":24,"send":0,"wait":36,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js","fqdn":"cdnjs.cloudflare.com","domain":"cloudflare.com","tld":"com"},"ip":{"addr":"104.17.25.14","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:06.604Z","timestamp":1785160686604,"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/gsap/3.12.5/ScrollTrigger.min.js 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: */*\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.logistics.demotunde.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 13:58:06 GMT\r\ncontent-type: application/javascript; charset=utf-8\r\ncontent-length: 15904\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: Thu, 18 Jan 2024 23:33:45 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=uZwQAU1L1J%2F2N%2F0z3r9fIE8pukkoO4laFonR9SnRiQ106ZWhkiuiFITgdG9L%2FgItwVqNOhT8NrNR2ymM4%2BdQWHFn3RtxKqOA%2FDT7CGy3a1pX5KQ1KfZKGuIkqsY1ICkL5NeVjArr\"}]}\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: a21c28337bb75685-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":43380,"size_decoded":16913,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (43088)","md5":"ba1fa78eb4bb49f8a0eeaf8e61708840","sha1":"489bcf6d9c69f0f29f871e0323510c5197859bf5","sha256":"ad33c2df9ada8a663c2147357828f980d0b7ca731ef33eb3c6e4f327c3b2cda5","sha512":"a2731344a2412b3f0cd539eaa83b86065a30947d28845ccc5d844d79bcfec8e71ce5342bff300ab2d87386ebf4862c942848901105c4ca79d70af3533a4e7476","ssdeep":"768:L+5LHpwfVyb83wG/B/nE306RAHdAIsxmAK31horUp45:apqgo3wKB/nKRAHOIKS3TjK","tlshash":"741309ca3244b03267df627aa52f030a733654d9291e4464f266e4e83c7d5bc873be6d","first_seen":"2024-01-19T15:55:20Z","last_seen":"2026-08-18T04:08:20.958232Z","times_seen":6870,"resource_available":true,"data":"LyohCiAqIFNjcm9sbFRyaWdnZXIgMy4xMi41CiAqIGh0dHBzOi8vZ3NhcC5jb20KICogCiAqIEBsaWNlbnNlIENvcHlyaWdodCAyMDI0LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqIFN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHBzOi8vZ3NhcC5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3IgQ2x1YiBHU0FQIG1lbWJlcnMsIHRoZSBhZ3JlZW1lbnQgaXNzdWVkIHdpdGggdGhhdCBtZW1iZXJzaGlwLgogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20KICovCgohZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP3QoZXhwb3J0cyk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0sdCk6dCgoZT1lfHxzZWxmKS53aW5kb3c9ZS53aW5kb3d8fHt9KX0odGhpcyxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXMoZSx0KXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1mdW5jdGlvbiByKCl7cmV0dXJuIENlfHwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKENlPXdpbmRvdy5nc2FwKSYmQ2UucmVnaXN0ZXJQbHVnaW4mJkNlfWZ1bmN0aW9uIHooZSx0KXtyZXR1cm5+TGUuaW5kZXhPZihlKSYmTGVbTGUuaW5kZXhPZihlKSsxXVt0XX1mdW5jdGlvbiBBKGUpe3JldHVybiEhfnQuaW5kZXhPZihlKX1mdW5jdGlvbiBCKGUsdCxyLG4sbyl7cmV0dXJuIGUuYWRkRXZlbnRMaXN0ZW5lcih0LHIse3Bhc3NpdmU6ITEhPT1uLGNhcHR1cmU6ISFvfSl9ZnVuY3Rpb24gQyhlLHQscixuKXtyZXR1cm4gZS5yZW1vdmVFdmVudExpc3RlbmVyKHQsciwhIW4pfWZ1bmN0aW9uIEYoKXtyZXR1cm4gRGUmJkRlLmlzUHJlc3NlZHx8SWUuY2FjaGUrK31mdW5jdGlvbiBHKHIsbil7ZnVuY3Rpb24gZGQoZSl7aWYoZXx8MD09PWUpe28mJihTZS5oaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uPSJtYW51YWwiKTt2YXIgdD1EZSYmRGUuaXNQcmVzc2VkO2U9ZGQudj1NYXRoLnJvdW5kKGUpfHwoRGUmJkRlLmlPUz8xOjApLHIoZSksZGQuY2FjaGVJRD1JZS5jYWNoZSx0JiZpKCJzcyIsZSl9ZWxzZShufHxJZS5jYWNoZSE9PWRkLmNhY2hlSUR8fGkoInJlZiIpKSYmKGRkLmNhY2hlSUQ9SWUuY2FjaGUsZGQudj1yKCkpO3JldHVybiBkZC52K2RkLm9mZnNldH1yZXR1cm4gZGQub2Zmc2V0PTAsciYmZGR9ZnVuY3Rpb24gSihlLHQpe3JldHVybih0JiZ0Ll9jdHgmJnQuX2N0eC5zZWxlY3Rvcnx8Q2UudXRpbHMudG9BcnJheSkoZSlbMF18fCgic3RyaW5nIj09dHlwZW9mIGUmJiExIT09Q2UuY29uZmlnKCkubnVsbFRhcmdldFdhcm4/Y29uc29sZS53YXJuKCJFbGVtZW50IG5vdCBmb3VuZDoiLGUpOm51bGwpfWZ1bmN0aW9uIEsodCxlKXt2YXIgcj1lLnMsbj1lLnNjO0EodCkmJih0PWtlLnNjcm9sbGluZ0VsZW1lbnR8fFBlKTt2YXIgbz1JZS5pbmRleE9mKHQpLGk9bj09PUZlLnNjPzE6Mjt+b3x8KG89SWUucHVzaCh0KS0xKSxJZVtvK2ldfHxCKHQsInNjcm9sbCIsRik7dmFyIGE9SWVbbytpXSxzPWF8fChJZVtvK2ldPUcoeih0LHIpLCEwKXx8KEEodCk/bjpHKGZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3Rbcl09ZTp0W3JdfSkpKTtyZXR1cm4gcy50YXJnZXQ9dCxhfHwocy5zbW9vdGg9InNtb290aCI9PT1DZS5nZXRQcm9wZXJ0eSh0LCJzY3JvbGxCZWhhdmlvciIpKSxzfWZ1bmN0aW9uIEwoZSx0LG8pe2Z1bmN0aW9uIENkKGUsdCl7dmFyIHI9emUoKTt0fHxuPHItcz8oYT1pLGk9ZSxsPXMscz1yKTpvP2krPWU6aT1hKyhlLWEpLyhyLWwpKihzLWwpfXZhciBpPWUsYT1lLHM9emUoKSxsPXMsbj10fHw1MCxjPU1hdGgubWF4KDUwMCwzKm4pO3JldHVybnt1cGRhdGU6Q2QscmVzZXQ6ZnVuY3Rpb24gcmVzZXQoKXthPWk9bz8wOmksbD1zPTB9LGdldFZlbG9jaXR5OmZ1bmN0aW9uIGdldFZlbG9jaXR5KGUpe3ZhciB0PWwscj1hLG49emUoKTtyZXR1cm4hZSYmMCE9PWV8fGU9PT1pfHxDZChlKSxzPT09bHx8YzxuLWw/MDooaSsobz9yOi1yKSkvKChvP246cyktdCkqMWUzfX19ZnVuY3Rpb24gTShlLHQpe3JldHVybiB0JiYhZS5fZ3NhcEFsbG93JiZlLnByZXZlbnREZWZhdWx0KCksZS5jaGFuZ2VkVG91Y2hlcz9lLmNoYW5nZWRUb3VjaGVzWzBdOmV9ZnVuY3Rpb24gTihlKXt2YXIgdD1NYXRoLm1heC5hcHBseShNYXRoLGUpLHI9TWF0aC5taW4uYXBwbHkoTWF0aCxlKTtyZXR1cm4gTWF0aC5hYnModCk+PU1hdGguYWJzKHIpP3Q6cn1mdW5jdGlvbiBPKCl7KEFlPUNlLmNvcmUuZ2xvYmFscygpLlNjcm9sbFRyaWdnZXIpJiZBZS5jb3JlJiZmdW5jdGlvbiBfaW50ZWdyYXRlKCl7dmFyIGU9QWUuY29yZSxyPWUuYnJpZGdlfHx7fSx0PWUuX3Njcm9sbGVycyxuPWUuX3Byb3hpZXM7dC5wdXNoLmFwcGx5KHQsSWUpLG4ucHVzaC5hcHBseShuLExlKSxJZT10LExlPW4saT1mdW5jdGlvbiBfYnJpZGdlKGUsdCl7cmV0dXJuIHJbZV0odCl9fSgpfWZ1bmN0aW9uIFAoZSl7cmV0dXJuIENlPWV8fHIoKSwhVGUmJkNlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5ib2R5JiYoU2U9d2luZG93LFBlPShrZT1kb2N1bWVudCkuZG9jdW1lbnRFbGVtZW50LE1lPWtlLmJvZHksdD1bU2Usa2UsUGUsTWVdLENlLnV0aWxzLmNsYW1wLEJlPUNlLmNvcmUuY29udGV4dHx8ZnVuY3Rpb24oKXt9LE9lPSJvbnBvaW50ZXJlbnRlciJpbiBNZT8icG9pbnRlciI6Im1vdXNlIixFZT1rLmlzVG91Y2g9U2UubWF0Y2hNZWRpYSYmU2UubWF0Y2hNZWRpYSgiKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkiKS5tYXRjaGVzPzE6Im9udG91Y2hzdGFydCJpbiBTZXx8MDxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fDA8bmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHM/MjowLFJlPWsuZXZlbnRUeXBlcz0oIm9udG91Y2hzdGFydCJpbiBQZT8idG91Y2hzdGFydCx0b3VjaG1vdmUsdG91Y2hjYW5jZWwsdG91Y2hlbmQiOiJvbnBvaW50ZXJkb3duImluIFBlPyJwb2ludGVyZG93bixwb2ludGVybW92ZSxwb2ludGVyY2FuY2VsLHBvaW50ZXJ1cCI6Im1vdXNlZG93bixtb3VzZW1vdmUsbW91c2V1cCxtb3VzZXVwIikuc3BsaXQoIiwiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIG89MH0sNTAwKSxPKCksVGU9MSksVGV9dmFyIENlLFRlLFNlLGtlLFBlLE1lLEVlLE9lLEFlLHQsRGUsUmUsQmUsbz0xLHFlPVtdLEllPVtdLExlPVtdLHplPURhdGUubm93LGk9ZnVuY3Rpb24gX2JyaWRnZShlLHQpe3JldHVybiB0fSxuPSJzY3JvbGxMZWZ0IixhPSJzY3JvbGxUb3AiLFllPXtzOm4scDoibGVmdCIscDI6IkxlZnQiLG9zOiJyaWdodCIsb3MyOiJSaWdodCIsZDoid2lkdGgiLGQyOiJXaWR0aCIsYToieCIsc2M6RyhmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9TZS5zY3JvbGxUbyhlLEZlLnNjKCkpOlNlLnBhZ2VYT2Zmc2V0fHxrZVtuXXx8UGVbbl18fE1lW25dfHwwfSl9LEZlPXtzOmEscDoidG9wIixwMjoiVG9wIixvczoiYm90dG9tIixvczI6IkJvdHRvbSIsZDoiaGVpZ2h0IixkMjoiSGVpZ2h0IixhOiJ5IixvcDpZZSxzYzpHKGZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP1NlLnNjcm9sbFRvKFllLnNjKCksZSk6U2UucGFnZVlPZmZzZXR8fGtlW2FdfHxQZVthXXx8TWVbYV18fDB9KX07WWUub3A9RmUsSWUuY2FjaGU9MDt2YXIgaz0oT2JzZXJ2ZXIucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24gaW5pdChlKXtUZXx8UChDZSl8fGNvbnNvbGUud2FybigiUGxlYXNlIGdzYXAucmVnaXN0ZXJQbHVnaW4oT2JzZXJ2ZXIpIiksQWV8fE8oKTt2YXIgbz1lLnRvbGVyYW5jZSxhPWUuZHJhZ01pbmltdW0sdD1lLnR5cGUsaT1lLnRhcmdldCxyPWUubGluZUhlaWdodCxuPWUuZGVib3VuY2Uscz1lLnByZXZlbnREZWZhdWx0LGw9ZS5vblN0b3AsYz1lLm9uU3RvcERlbGF5LHU9ZS5pZ25vcmUsZj1lLndoZWVsU3BlZWQsZD1lLmV2ZW50LHA9ZS5vbkRyYWdTdGFydCxnPWUub25EcmFnRW5kLGg9ZS5vbkRyYWcsdj1lLm9uUHJlc3MsYj1lLm9uUmVsZWFzZSxtPWUub25SaWdodCx5PWUub25MZWZ0LHg9ZS5vblVwLHc9ZS5vbkRvd24sXz1lLm9uQ2hhbmdlWCxUPWUub25DaGFuZ2VZLFM9ZS5vbkNoYW5nZSxrPWUub25Ub2dnbGVYLEU9ZS5vblRvZ2dsZVksRD1lLm9uSG92ZXIsUj1lLm9uSG92ZXJFbmQscT1lLm9uTW92ZSxJPWUuaWdub3JlQ2hlY2ssej1lLmlzTm9ybWFsaXplcixZPWUub25HZXN0dXJlU3RhcnQsSD1lLm9uR2VzdHVyZUVuZCxYPWUub25XaGVlbCxXPWUub25FbmFibGUsVj1lLm9uRGlzYWJsZSxVPWUub25DbGljayxqPWUuc2Nyb2xsU3BlZWQsRz1lLmNhcHR1cmUsUT1lLmFsbG93Q2xpY2tzLFo9ZS5sb2NrQXhpcywkPWUub25Mb2NrQXhpcztmdW5jdGlvbiBjZigpe3JldHVybiB4ZT16ZSgpfWZ1bmN0aW9uIGRmKGUsdCl7cmV0dXJuKHNlLmV2ZW50PWUpJiZ1JiZ+dS5pbmRleE9mKGUudGFyZ2V0KXx8dCYmaGUmJiJ0b3VjaCIhPT1lLnBvaW50ZXJUeXBlfHxJJiZJKGUsdCl9ZnVuY3Rpb24gZmYoKXt2YXIgZT1zZS5kZWx0YVg9TihtZSksdD1zZS5kZWx0YVk9Tih5ZSkscj1NYXRoLmFicyhlKT49byxuPU1hdGguYWJzKHQpPj1vO1MmJihyfHxuKSYmUyhzZSxlLHQsbWUseWUpLHImJihtJiYwPHNlLmRlbHRhWCYmbShzZSkseSYmc2UuZGVsdGFYPDAmJnkoc2UpLF8mJl8oc2UpLGsmJnNlLmRlbHRhWDwwIT1sZTwwJiZrKHNlKSxsZT1zZS5kZWx0YVgsbWVbMF09bWVbMV09bWVbMl09MCksbiYmKHcmJjA8c2UuZGVsdGFZJiZ3KHNlKSx4JiZzZS5kZWx0YVk8MCYmeChzZSksVCYmVChzZSksRSYmc2UuZGVsdGFZPDAhPWNlPDAmJkUoc2UpLGNlPXNlLmRlbHRhWSx5ZVswXT15ZVsxXT15ZVsyXT0wKSwobmV8fHJlKSYmKHEmJnEoc2UpLHJlJiYoaChzZSkscmU9ITEpLG5lPSExKSxpZSYmIShpZT0hMSkmJiQmJiQoc2UpLG9lJiYoWChzZSksb2U9ITEpLGVlPTB9ZnVuY3Rpb24gZ2YoZSx0LHIpe21lW3JdKz1lLHllW3JdKz10LHNlLl92eC51cGRhdGUoZSksc2UuX3Z5LnVwZGF0ZSh0KSxuP2VlPWVlfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZmYpOmZmKCl9ZnVuY3Rpb24gaGYoZSx0KXtaJiYhYWUmJihzZS5heGlzPWFlPU1hdGguYWJzKGUpPk1hdGguYWJzKHQpPyJ4IjoieSIsaWU9ITApLCJ5IiE9PWFlJiYobWVbMl0rPWUsc2UuX3Z4LnVwZGF0ZShlLCEwKSksIngiIT09YWUmJih5ZVsyXSs9dCxzZS5fdnkudXBkYXRlKHQsITApKSxuP2VlPWVlfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZmYpOmZmKCl9ZnVuY3Rpb24gamYoZSl7aWYoIWRmKGUsMSkpe3ZhciB0PShlPU0oZSxzKSkuY2xpZW50WCxyPWUuY2xpZW50WSxuPXQtc2UueCxvPXItc2UueSxpPXNlLmlzRHJhZ2dpbmc7c2UueD10LHNlLnk9ciwoaXx8TWF0aC5hYnMoc2Uuc3RhcnRYLXQpPj1hfHxNYXRoLmFicyhzZS5zdGFydFktcik+PWEpJiYoaCYmKHJlPSEwKSxpfHwoc2UuaXNEcmFnZ2luZz0hMCksaGYobixvKSxpfHxwJiZwKHNlKSl9fWZ1bmN0aW9uIG1mKGUpe3JldHVybiBlLnRvdWNoZXMmJjE8ZS50b3VjaGVzLmxlbmd0aCYmKHNlLmlzR2VzdHVyaW5nPSEwKSYmWShlLHNlLmlzRHJhZ2dpbmcpfWZ1bmN0aW9uIG5mKCl7cmV0dXJuKHNlLmlzR2VzdHVyaW5nPSExKXx8SChzZSl9ZnVuY3Rpb24gb2YoZSl7aWYoIWRmKGUpKXt2YXIgdD1mZSgpLHI9ZGUoKTtnZigodC1wZSkqaiwoci1nZSkqaiwxKSxwZT10LGdlPXIsbCYmdGUucmVzdGFydCghMCl9fWZ1bmN0aW9uIHBmKGUpe2lmKCFkZihlKSl7ZT1NKGUscyksWCYmKG9lPSEwKTt2YXIgdD0oMT09PWUuZGVsdGFNb2RlP3I6Mj09PWUuZGVsdGFNb2RlP1NlLmlubmVySGVpZ2h0OjEpKmY7Z2YoZS5kZWx0YVgqdCxlLmRlbHRhWSp0LDApLGwmJiF6JiZ0ZS5yZXN0YXJ0KCEwKX19ZnVuY3Rpb24gcWYoZSl7aWYoIWRmKGUpKXt2YXIgdD1lLmNsaWVudFgscj1lLmNsaWVudFksbj10LXNlLngsbz1yLXNlLnk7c2UueD10LHNlLnk9cixuZT0hMCxsJiZ0ZS5yZXN0YXJ0KCEwKSwobnx8bykmJmhmKG4sbyl9fWZ1bmN0aW9uIHJmKGUpe3NlLmV2ZW50PWUsRChzZSl9ZnVuY3Rpb24gc2YoZSl7c2UuZXZlbnQ9ZSxSKHNlKX1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gZGYoZSl8fE0oZSxzKSYmVShzZSl9dGhpcy50YXJnZXQ9aT1KKGkpfHxQZSx0aGlzLnZhcnM9ZSx1PXUmJkNlLnV0aWxzLnRvQXJyYXkodSksbz1vfHwxZS05LGE9YXx8MCxmPWZ8fDEsaj1qfHwxLHQ9dHx8IndoZWVsLHRvdWNoLHBvaW50ZXIiLG49ITEhPT1uLHI9cnx8cGFyc2VGbG9hdChTZS5nZXRDb21wdXRlZFN0eWxlKE1lKS5saW5lSGVpZ2h0KXx8MjI7dmFyIGVlLHRlLHJlLG5lLG9lLGllLGFlLHNlPXRoaXMsbGU9MCxjZT0wLHVlPWUucGFzc2l2ZXx8IXMsZmU9SyhpLFllKSxkZT1LKGksRmUpLHBlPWZlKCksZ2U9ZGUoKSxoZT1+dC5pbmRleE9mKCJ0b3VjaCIpJiYhfnQuaW5kZXhPZigicG9pbnRlciIpJiYicG9pbnRlcmRvd24iPT09UmVbMF0sdmU9QShpKSxiZT1pLm93bmVyRG9jdW1lbnR8fGtlLG1lPVswLDAsMF0seWU9WzAsMCwwXSx4ZT0wLHdlPXNlLm9uUHJlc3M9ZnVuY3Rpb24oZSl7ZGYoZSwxKXx8ZSYmZS5idXR0b258fChzZS5heGlzPWFlPW51bGwsdGUucGF1c2UoKSxzZS5pc1ByZXNzZWQ9ITAsZT1NKGUpLGxlPWNlPTAsc2Uuc3RhcnRYPXNlLng9ZS5jbGllbnRYLHNlLnN0YXJ0WT1zZS55PWUuY2xpZW50WSxzZS5fdngucmVzZXQoKSxzZS5fdnkucmVzZXQoKSxCKHo/aTpiZSxSZVsxXSxqZix1ZSwhMCksc2UuZGVsdGFYPXNlLmRlbHRhWT0wLHYmJnYoc2UpKX0sX2U9c2Uub25SZWxlYXNlPWZ1bmN0aW9uKHQpe2lmKCFkZih0LDEpKXtDKHo/aTpiZSxSZVsxXSxqZiwhMCk7dmFyIGU9IWlzTmFOKHNlLnktc2Uuc3RhcnRZKSxyPXNlLmlzRHJhZ2dpbmcsbj1yJiYoMzxNYXRoLmFicyhzZS54LXNlLnN0YXJ0WCl8fDM8TWF0aC5hYnMoc2UueS1zZS5zdGFydFkpKSxvPU0odCk7IW4mJmUmJihzZS5fdngucmVzZXQoKSxzZS5fdnkucmVzZXQoKSxzJiZRJiZDZS5kZWxheWVkQ2FsbCguMDgsZnVuY3Rpb24oKXtpZigzMDA8emUoKS14ZSYmIXQuZGVmYXVsdFByZXZlbnRlZClpZih0LnRhcmdldC5jbGljayl0LnRhcmdldC5jbGljaygpO2Vsc2UgaWYoYmUuY3JlYXRlRXZlbnQpe3ZhciBlPWJlLmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpO2UuaW5pdE1vdXNlRXZlbnQoImNsaWNrIiwhMCwhMCxTZSwxLG8uc2NyZWVuWCxvLnNjcmVlblksby5jbGllbnRYLG8uY2xpZW50WSwhMSwhMSwhMSwhMSwwLG51bGwpLHQudGFyZ2V0LmRpc3BhdGNoRXZlbnQoZSl9fSkpLHNlLmlzRHJhZ2dpbmc9c2UuaXNHZXN0dXJpbmc9c2UuaXNQcmVzc2VkPSExLGwmJnImJiF6JiZ0ZS5yZXN0YXJ0KCEwKSxnJiZyJiZnKHNlKSxiJiZiKHNlLG4pfX07dGU9c2UuX2RjPUNlLmRlbGF5ZWRDYWxsKGN8fC4yNSxmdW5jdGlvbiBvblN0b3BGdW5jKCl7c2UuX3Z4LnJlc2V0KCksc2UuX3Z5LnJlc2V0KCksdGUucGF1c2UoKSxsJiZsKHNlKX0pLnBhdXNlKCksc2UuZGVsdGFYPXNlLmRlbHRhWT0wLHNlLl92eD1MKDAsNTAsITApLHNlLl92eT1MKDAsNTAsITApLHNlLnNjcm9sbFg9ZmUsc2Uuc2Nyb2xsWT1kZSxzZS5pc0RyYWdnaW5nPXNlLmlzR2VzdHVyaW5nPXNlLmlzUHJlc3NlZD0hMSxCZSh0aGlzKSxzZS5lbmFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHNlLmlzRW5hYmxlZHx8KEIodmU/YmU6aSwic2Nyb2xsIixGKSwwPD10LmluZGV4T2YoInNjcm9sbCIpJiZCKHZlP2JlOmksInNjcm9sbCIsb2YsdWUsRyksMDw9dC5pbmRleE9mKCJ3aGVlbCIpJiZCKGksIndoZWVsIixwZix1ZSxHKSwoMDw9dC5pbmRleE9mKCJ0b3VjaCIpJiZFZXx8MDw9dC5pbmRleE9mKCJwb2ludGVyIikpJiYoQihpLFJlWzBdLHdlLHVlLEcpLEIoYmUsUmVbMl0sX2UpLEIoYmUsUmVbM10sX2UpLFEmJkIoaSwiY2xpY2siLGNmLCEwLCEwKSxVJiZCKGksImNsaWNrIix0ZiksWSYmQihiZSwiZ2VzdHVyZXN0YXJ0IixtZiksSCYmQihiZSwiZ2VzdHVyZWVuZCIsbmYpLEQmJkIoaSxPZSsiZW50ZXIiLHJmKSxSJiZCKGksT2UrImxlYXZlIixzZikscSYmQihpLE9lKyJtb3ZlIixxZikpLHNlLmlzRW5hYmxlZD0hMCxlJiZlLnR5cGUmJndlKGUpLFcmJlcoc2UpKSxzZX0sc2UuZGlzYWJsZT1mdW5jdGlvbigpe3NlLmlzRW5hYmxlZCYmKHFlLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZSE9PXNlJiZBKGUudGFyZ2V0KX0pLmxlbmd0aHx8Qyh2ZT9iZTppLCJzY3JvbGwiLEYpLHNlLmlzUHJlc3NlZCYmKHNlLl92eC5yZXNldCgpLHNlLl92eS5yZXNldCgpLEMoej9pOmJlLFJlWzFdLGpmLCEwKSksQyh2ZT9iZTppLCJzY3JvbGwiLG9mLEcpLEMoaSwid2hlZWwiLHBmLEcpLEMoaSxSZVswXSx3ZSxHKSxDKGJlLFJlWzJdLF9lKSxDKGJlLFJlWzNdLF9lKSxDKGksImNsaWNrIixjZiwhMCksQyhpLCJjbGljayIsdGYpLEMoYmUsImdlc3R1cmVzdGFydCIsbWYpLEMoYmUsImdlc3R1cmVlbmQiLG5mKSxDKGksT2UrImVudGVyIixyZiksQyhpLE9lKyJsZWF2ZSIsc2YpLEMoaSxPZSsibW92ZSIscWYpLHNlLmlzRW5hYmxlZD1zZS5pc1ByZXNzZWQ9c2UuaXNEcmFnZ2luZz0hMSxWJiZWKHNlKSl9LHNlLmtpbGw9c2UucmV2ZXJ0PWZ1bmN0aW9uKCl7c2UuZGlzYWJsZSgpO3ZhciBlPXFlLmluZGV4T2Yoc2UpOzA8PWUmJnFlLnNwbGljZShlLDEpLERlPT09c2UmJihEZT0wKX0scWUucHVzaChzZSkseiYmQShpKSYmKERlPXNlKSxzZS5lbmFibGUoZCl9LGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhlLHQscil7cmV0dXJuIHQmJl9kZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHQpLHImJl9kZWZpbmVQcm9wZXJ0aWVzKGUsciksZX0oT2JzZXJ2ZXIsW3trZXk6InZlbG9jaXR5WCIsZ2V0OmZ1bmN0aW9uIGdldCgpe3JldHVybiB0aGlzLl92eC5nZXRWZWxvY2l0eSgpfX0se2tleToidmVsb2NpdHlZIixnZXQ6ZnVuY3Rpb24gZ2V0KCl7cmV0dXJuIHRoaXMuX3Z5LmdldFZlbG9jaXR5KCl9fV0pLE9ic2VydmVyKTtmdW5jdGlvbiBPYnNlcnZlcihlKXt0aGlzLmluaXQoZSl9ay52ZXJzaW9uPSIzLjEyLjUiLGsuY3JlYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgayhlKX0say5yZWdpc3Rlcj1QLGsuZ2V0QWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHFlLnNsaWNlKCl9LGsuZ2V0QnlJZD1mdW5jdGlvbih0KXtyZXR1cm4gcWUuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnZhcnMuaWQ9PT10fSlbMF19LHIoKSYmQ2UucmVnaXN0ZXJQbHVnaW4oayk7ZnVuY3Rpb24gQ2EoZSx0LHIpe3ZhciBuPWN0KGUpJiYoImNsYW1wKCI9PT1lLnN1YnN0cigwLDYpfHwtMTxlLmluZGV4T2YoIm1heCIpKTtyZXR1cm4oclsiXyIrdCsiQ2xhbXAiXT1uKT9lLnN1YnN0cig2LGUubGVuZ3RoLTcpOmV9ZnVuY3Rpb24gRGEoZSx0KXtyZXR1cm4hdHx8Y3QoZSkmJiJjbGFtcCgiPT09ZS5zdWJzdHIoMCw2KT9lOiJjbGFtcCgiK2UrIikifWZ1bmN0aW9uIEZhKCl7cmV0dXJuIEdlPTF9ZnVuY3Rpb24gR2EoKXtyZXR1cm4gR2U9MH1mdW5jdGlvbiBIYShlKXtyZXR1cm4gZX1mdW5jdGlvbiBJYShlKXtyZXR1cm4gTWF0aC5yb3VuZCgxZTUqZSkvMWU1fHwwfWZ1bmN0aW9uIEphKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3d9ZnVuY3Rpb24gS2EoKXtyZXR1cm4gSGV8fEphKCkmJihIZT13aW5kb3cuZ3NhcCkmJkhlLnJlZ2lzdGVyUGx1Z2luJiZIZX1mdW5jdGlvbiBMYShlKXtyZXR1cm4hIX5sLmluZGV4T2YoZSl9ZnVuY3Rpb24gTWEoZSl7cmV0dXJuKCJIZWlnaHQiPT09ZT9UOk5lWyJpbm5lciIrZV0pfHxKZVsiY2xpZW50IitlXXx8V2VbImNsaWVudCIrZV19ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIHooZSwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iil8fChMYShlKT9mdW5jdGlvbigpe3JldHVybiBPdC53aWR0aD1OZS5pbm5lcldpZHRoLE90LmhlaWdodD1ULE90fTpmdW5jdGlvbigpe3JldHVybiB3dChlKX0pfWZ1bmN0aW9uIFFhKGUsdCl7dmFyIHI9dC5zLG49dC5kMixvPXQuZCxpPXQuYTtyZXR1cm4gTWF0aC5tYXgoMCwocj0ic2Nyb2xsIituKSYmKGk9eihlLHIpKT9pKCktTmEoZSkoKVtvXTpMYShlKT8oSmVbcl18fFdlW3JdKS1NYShuKTplW3JdLWVbIm9mZnNldCIrbl0pfWZ1bmN0aW9uIFJhKGUsdCl7Zm9yKHZhciByPTA7cjxnLmxlbmd0aDtyKz0zKXQmJiF+dC5pbmRleE9mKGdbcisxXSl8fGUoZ1tyXSxnW3IrMV0sZ1tyKzJdKX1mdW5jdGlvbiBUYShlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZX1mdW5jdGlvbiBVYShlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGV9ZnVuY3Rpb24gVmEoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlfWZ1bmN0aW9uIFdhKGUsdCxyKXtyZXR1cm4gZSYmZS5wcm9ncmVzcyh0PzA6MSkmJnImJmUucGF1c2UoKX1mdW5jdGlvbiBYYShlLHQpe2lmKGUuZW5hYmxlZCl7dmFyIHI9ZS5fY3R4P2UuX2N0eC5hZGQoZnVuY3Rpb24oKXtyZXR1cm4gdChlKX0pOnQoZSk7ciYmci50b3RhbFRpbWUmJihlLmNhbGxiYWNrQW5pbWF0aW9uPXIpfX1mdW5jdGlvbiBtYihlKXtyZXR1cm4gTmUuZ2V0Q29tcHV0ZWRTdHlsZShlKX1mdW5jdGlvbiBvYihlLHQpe2Zvcih2YXIgciBpbiB0KXIgaW4gZXx8KGVbcl09dFtyXSk7cmV0dXJuIGV9ZnVuY3Rpb24gcWIoZSx0KXt2YXIgcj10LmQyO3JldHVybiBlWyJvZmZzZXQiK3JdfHxlWyJjbGllbnQiK3JdfHwwfWZ1bmN0aW9uIHJiKGUpe3ZhciB0LHI9W10sbj1lLmxhYmVscyxvPWUuZHVyYXRpb24oKTtmb3IodCBpbiBuKXIucHVzaChuW3RdL28pO3JldHVybiByfWZ1bmN0aW9uIHRiKG8pe3ZhciBpPUhlLnV0aWxzLnNuYXAobyksYT1BcnJheS5pc0FycmF5KG8pJiZvLnNsaWNlKDApLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS10fSk7cmV0dXJuIGE/ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2lmKHZvaWQgMD09PXImJihyPS4wMDEpLCF0KXJldHVybiBpKGUpO2lmKDA8dCl7Zm9yKGUtPXIsbj0wO248YS5sZW5ndGg7bisrKWlmKGFbbl0+PWUpcmV0dXJuIGFbbl07cmV0dXJuIGFbbi0xXX1mb3Iobj1hLmxlbmd0aCxlKz1yO24tLTspaWYoYVtuXTw9ZSlyZXR1cm4gYVtuXTtyZXR1cm4gYVswXX06ZnVuY3Rpb24oZSx0LHIpe3ZvaWQgMD09PXImJihyPS4wMDEpO3ZhciBuPWkoZSk7cmV0dXJuIXR8fE1hdGguYWJzKG4tZSk8cnx8bi1lPDA9PXQ8MD9uOmkodDwwP2UtbzplK28pfX1mdW5jdGlvbiB2Yih0LHIsZSxuKXtyZXR1cm4gZS5zcGxpdCgiLCIpLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQocixlLG4pfSl9ZnVuY3Rpb24gd2IoZSx0LHIsbixvKXtyZXR1cm4gZS5hZGRFdmVudExpc3RlbmVyKHQscix7cGFzc2l2ZTohbixjYXB0dXJlOiEhb30pfWZ1bmN0aW9uIHhiKGUsdCxyLG4pe3JldHVybiBlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxyLCEhbil9ZnVuY3Rpb24geWIoZSx0LHIpeyhyPXImJnIud2hlZWxIYW5kbGVyKSYmKGUodCwid2hlZWwiLHIpLGUodCwidG91Y2htb3ZlIixyKSl9ZnVuY3Rpb24gQ2IoZSx0KXtpZihjdChlKSl7dmFyIHI9ZS5pbmRleE9mKCI9Iiksbj1+cj8oZS5jaGFyQXQoci0xKSsxKSpwYXJzZUZsb2F0KGUuc3Vic3RyKHIrMSkpOjA7fnImJihlLmluZGV4T2YoIiUiKT5yJiYobio9dC8xMDApLGU9ZS5zdWJzdHIoMCxyLTEpKSxlPW4rKGUgaW4gSD9IW2VdKnQ6fmUuaW5kZXhPZigiJSIpP3BhcnNlRmxvYXQoZSkqdC8xMDA6cGFyc2VGbG9hdChlKXx8MCl9cmV0dXJuIGV9ZnVuY3Rpb24gRGIoZSx0LHIsbixvLGksYSxzKXt2YXIgbD1vLnN0YXJ0Q29sb3IsYz1vLmVuZENvbG9yLHU9by5mb250U2l6ZSxmPW8uaW5kZW50LGQ9by5mb250V2VpZ2h0LHA9WGUuY3JlYXRlRWxlbWVudCgiZGl2IiksZz1MYShyKXx8ImZpeGVkIj09PXoociwicGluVHlwZSIpLGg9LTEhPT1lLmluZGV4T2YoInNjcm9sbGVyIiksdj1nP1dlOnIsYj0tMSE9PWUuaW5kZXhPZigic3RhcnQiKSxtPWI/bDpjLHk9ImJvcmRlci1jb2xvcjoiK20rIjtmb250LXNpemU6Iit1KyI7Y29sb3I6IittKyI7Zm9udC13ZWlnaHQ6IitkKyI7cG9pbnRlci1ldmVudHM6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZixBcmlhbDt6LWluZGV4OjEwMDA7cGFkZGluZzo0cHggOHB4O2JvcmRlci13aWR0aDowO2JvcmRlci1zdHlsZTpzb2xpZDsiO3JldHVybiB5Kz0icG9zaXRpb246IisoKGh8fHMpJiZnPyJmaXhlZDsiOiJhYnNvbHV0ZTsiKSwhaCYmIXMmJmd8fCh5Kz0obj09PUZlP3E6SSkrIjoiKyhpK3BhcnNlRmxvYXQoZikpKyJweDsiKSxhJiYoeSs9ImJveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7d2lkdGg6IithLm9mZnNldFdpZHRoKyJweDsiKSxwLl9pc1N0YXJ0PWIscC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwiZ3NhcC1tYXJrZXItIitlKyh0PyIgbWFya2VyLSIrdDoiIikpLHAuc3R5bGUuY3NzVGV4dD15LHAuaW5uZXJUZXh0PXR8fDA9PT10P2UrIi0iK3Q6ZSx2LmNoaWxkcmVuWzBdP3YuaW5zZXJ0QmVmb3JlKHAsdi5jaGlsZHJlblswXSk6di5hcHBlbmRDaGlsZChwKSxwLl9vZmZzZXQ9cFsib2Zmc2V0IituLm9wLmQyXSxYKHAsMCxuLGIpLHB9ZnVuY3Rpb24gSWIoKXtyZXR1cm4gMzQ8YXQoKS1zdCYmKEQ9RHx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFopKX1mdW5jdGlvbiBKYigpe3YmJnYuaXNQcmVzc2VkJiYhKHYuc3RhcnRYPldlLmNsaWVudFdpZHRoKXx8KEllLmNhY2hlKyssdj9EPUR8fHJlcXVlc3RBbmltYXRpb25GcmFtZShaKTpaKCksc3R8fFUoInNjcm9sbFN0YXJ0Iiksc3Q9YXQoKSl9ZnVuY3Rpb24gS2IoKXt5PU5lLmlubmVyV2lkdGgsbT1OZS5pbm5lckhlaWdodH1mdW5jdGlvbiBMYigpe0llLmNhY2hlKyssamV8fGh8fFhlLmZ1bGxzY3JlZW5FbGVtZW50fHxYZS53ZWJraXRGdWxsc2NyZWVuRWxlbWVudHx8YiYmeT09PU5lLmlubmVyV2lkdGgmJiEoTWF0aC5hYnMoTmUuaW5uZXJIZWlnaHQtbSk+LjI1Kk5lLmlubmVySGVpZ2h0KXx8Yy5yZXN0YXJ0KCEwKX1mdW5jdGlvbiBPYigpe3JldHVybiB4YihuZSwic2Nyb2xsRW5kIixPYil8fFB0KCEwKX1mdW5jdGlvbiBSYihlKXtmb3IodmFyIHQ9MDt0PGoubGVuZ3RoO3QrPTUpKCFlfHxqW3QrNF0mJmpbdCs0XS5xdWVyeT09PWUpJiYoalt0XS5zdHlsZS5jc3NUZXh0PWpbdCsxXSxqW3RdLmdldEJCb3gmJmpbdF0uc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLGpbdCsyXXx8IiIpLGpbdCszXS51bmNhY2hlPTEpfWZ1bmN0aW9uIFNiKGUsdCl7dmFyIHI7Zm9yKFFlPTA7UWU8VHQubGVuZ3RoO1FlKyspIShyPVR0W1FlXSl8fHQmJnIuX2N0eCE9PXR8fChlP3Iua2lsbCgxKTpyLnJldmVydCghMCwhMCkpO1M9ITAsdCYmUmIodCksdHx8VSgicmV2ZXJ0Iil9ZnVuY3Rpb24gVGIoZSx0KXtJZS5jYWNoZSsrLCF0JiZydHx8SWUuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gVGEoZSkmJmUuY2FjaGVJRCsrJiYoZS5yZWM9MCl9KSxjdChlKSYmKE5lLmhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb249dz1lKX1mdW5jdGlvbiBZYigpe1dlLmFwcGVuZENoaWxkKF8pLFQ9IXYmJl8ub2Zmc2V0SGVpZ2h0fHxOZS5pbm5lckhlaWdodCxXZS5yZW1vdmVDaGlsZChfKX1mdW5jdGlvbiBaYih0KXtyZXR1cm4gVmUoIi5nc2FwLW1hcmtlci1zdGFydCwgLmdzYXAtbWFya2VyLWVuZCwgLmdzYXAtbWFya2VyLXNjcm9sbGVyLXN0YXJ0LCAuZ3NhcC1tYXJrZXItc2Nyb2xsZXItZW5kIikuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5zdHlsZS5kaXNwbGF5PXQ/Im5vbmUiOiJibG9jayJ9KX1mdW5jdGlvbiBnYyhlLHQscixuKXtpZighZS5fZ3NhcC5zd2FwcGVkSW4pe2Zvcih2YXIgbyxpPSQubGVuZ3RoLGE9dC5zdHlsZSxzPWUuc3R5bGU7aS0tOylhW289JFtpXV09cltvXTthLnBvc2l0aW9uPSJhYnNvbHV0ZSI9PT1yLnBvc2l0aW9uPyJhYnNvbHV0ZSI6InJlbGF0aXZlIiwiaW5saW5lIj09PXIuZGlzcGxheSYmKGEuZGlzcGxheT0iaW5saW5lLWJsb2NrIiksc1tJXT1zW3FdPSJhdXRvIixhLmZsZXhCYXNpcz1yLmZsZXhCYXNpc3x8ImF1dG8iLGEub3ZlcmZsb3c9InZpc2libGUiLGEuYm94U2l6aW5nPSJib3JkZXItYm94IixhW2Z0XT1xYihlLFllKSt4dCxhW2R0XT1xYihlLEZlKSt4dCxhW2J0XT1zW210XT1zLnRvcD1zLmxlZnQ9IjAiLEV0KG4pLHNbZnRdPXMubWF4V2lkdGg9cltmdF0sc1tkdF09cy5tYXhIZWlnaHQ9cltkdF0sc1tidF09cltidF0sZS5wYXJlbnROb2RlIT09dCYmKGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxlKSx0LmFwcGVuZENoaWxkKGUpKSxlLl9nc2FwLnN3YXBwZWRJbj0hMH19ZnVuY3Rpb24gamMoZSl7Zm9yKHZhciB0PWVlLmxlbmd0aCxyPWUuc3R5bGUsbj1bXSxvPTA7bzx0O28rKyluLnB1c2goZWVbb10scltlZVtvXV0pO3JldHVybiBuLnQ9ZSxufWZ1bmN0aW9uIG1jKGUsdCxyLG4sbyxpLGEscyxsLGMsdSxmLGQscCl7VGEoZSkmJihlPWUocykpLGN0KGUpJiYibWF4Ij09PWUuc3Vic3RyKDAsMykmJihlPWYrKCI9Ij09PWUuY2hhckF0KDQpP0NiKCIwIitlLnN1YnN0cigzKSxyKTowKSk7dmFyIGcsaCx2LGI9ZD9kLnRpbWUoKTowO2lmKGQmJmQuc2VlaygwKSxpc05hTihlKXx8KGU9K2UpLFVhKGUpKWQmJihlPUhlLnV0aWxzLm1hcFJhbmdlKGQuc2Nyb2xsVHJpZ2dlci5zdGFydCxkLnNjcm9sbFRyaWdnZXIuZW5kLDAsZixlKSksYSYmWChhLHIsbiwhMCk7ZWxzZXtUYSh0KSYmKHQ9dChzKSk7dmFyIG0seSx4LHcsXz0oZXx8IjAiKS5zcGxpdCgiICIpO3Y9Sih0LHMpfHxXZSwobT13dCh2KXx8e30pJiYobS5sZWZ0fHxtLnRvcCl8fCJub25lIiE9PW1iKHYpLmRpc3BsYXl8fCh3PXYuc3R5bGUuZGlzcGxheSx2LnN0eWxlLmRpc3BsYXk9ImJsb2NrIixtPXd0KHYpLHc/di5zdHlsZS5kaXNwbGF5PXc6di5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiZGlzcGxheSIpKSx5PUNiKF9bMF0sbVtuLmRdKSx4PUNiKF9bMV18fCIwIixyKSxlPW1bbi5wXS1sW24ucF0tYyt5K28teCxhJiZYKGEseCxuLHIteDwyMHx8YS5faXNTdGFydCYmMjA8eCksci09ci14fWlmKHAmJihzW3BdPWV8fC0uMDAxLGU8MCYmKGU9MCkpLGkpe3ZhciBDPWUrcixUPWkuX2lzU3RhcnQ7Zz0ic2Nyb2xsIituLmQyLFgoaSxDLG4sVCYmMjA8Q3x8IVQmJih1P01hdGgubWF4KFdlW2ddLEplW2ddKTppLnBhcmVudE5vZGVbZ10pPD1DKzEpLHUmJihsPXd0KGEpLHUmJihpLnN0eWxlW24ub3AucF09bFtuLm9wLnBdLW4ub3AubS1pLl9vZmZzZXQreHQpKX1yZXR1cm4gZCYmdiYmKGc9d3QodiksZC5zZWVrKGYpLGg9d3QodiksZC5fY2FTY3JvbGxEaXN0PWdbbi5wXS1oW24ucF0sZT1lL2QuX2NhU2Nyb2xsRGlzdCpmKSxkJiZkLnNlZWsoYiksZD9lOk1hdGgucm91bmQoZSl9ZnVuY3Rpb24gb2MoZSx0LHIsbil7aWYoZS5wYXJlbnROb2RlIT09dCl7dmFyIG8saSxhPWUuc3R5bGU7aWYodD09PVdlKXtmb3IobyBpbiBlLl9zdE9yaWc9YS5jc3NUZXh0LGk9bWIoZSkpK298fHJlLnRlc3Qobyl8fCFpW29dfHwic3RyaW5nIiE9dHlwZW9mIGFbb118fCIwIj09PW98fChhW29dPWlbb10pO2EudG9wPXIsYS5sZWZ0PW59ZWxzZSBhLmNzc1RleHQ9ZS5fc3RPcmlnO0hlLmNvcmUuZ2V0Q2FjaGUoZSkudW5jYWNoZT0xLHQuYXBwZW5kQ2hpbGQoZSl9fWZ1bmN0aW9uIHBjKHIsZSxuKXt2YXIgbz1lLGk9bztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5yb3VuZChyKCkpO3JldHVybiB0IT09byYmdCE9PWkmJjM8TWF0aC5hYnModC1vKSYmMzxNYXRoLmFicyh0LWkpJiYoZT10LG4mJm4oKSksaT1vLG89ZX19ZnVuY3Rpb24gcWMoZSx0LHIpe3ZhciBuPXt9O25bdC5wXT0iKz0iK3IsSGUuc2V0KGUsbil9ZnVuY3Rpb24gcmMoYyxlKXtmdW5jdGlvbiBDayhlLHQscixuLG8pe3ZhciBpPUNrLnR3ZWVuLGE9dC5vbkNvbXBsZXRlLHM9e307cj1yfHx1KCk7dmFyIGw9cGModSxyLGZ1bmN0aW9uKCl7aS5raWxsKCksQ2sudHdlZW49MH0pO3JldHVybiBvPW4mJm98fDAsbj1ufHxlLXIsaSYmaS5raWxsKCksdFtmXT1lLHQuaW5oZXJpdD0hMSwodC5tb2RpZmllcnM9cylbZl09ZnVuY3Rpb24oKXtyZXR1cm4gbChyK24qaS5yYXRpbytvKmkucmF0aW8qaS5yYXRpbyl9LHQub25VcGRhdGU9ZnVuY3Rpb24oKXtJZS5jYWNoZSsrLENrLnR3ZWVuJiZaKCl9LHQub25Db21wbGV0ZT1mdW5jdGlvbigpe0NrLnR3ZWVuPTAsYSYmYS5jYWxsKGkpfSxpPUNrLnR3ZWVuPUhlLnRvKGMsdCl9dmFyIHU9SyhjLGUpLGY9Il9zY3JvbGwiK2UucDI7cmV0dXJuKGNbZl09dSkud2hlZWxIYW5kbGVyPWZ1bmN0aW9uKCl7cmV0dXJuIENrLnR3ZWVuJiZDay50d2Vlbi5raWxsKCkmJihDay50d2Vlbj0wKX0sd2IoYywid2hlZWwiLHUud2hlZWxIYW5kbGVyKSxuZS5pc1RvdWNoJiZ3YihjLCJ0b3VjaG1vdmUiLHUud2hlZWxIYW5kbGVyKSxDa312YXIgSGUscyxOZSxYZSxKZSxXZSxsLGMsVmUsVWUsS2UsdSxqZSxHZSxmLFFlLGQscCxnLFplLCRlLGgsdixiLG0seSxFLHgsdyxfLFQsUyxldCx0dCxELHJ0LG50LG90LGl0PTEsYXQ9RGF0ZS5ub3csUj1hdCgpLHN0PTAsbHQ9MCxjdD1mdW5jdGlvbiBfaXNTdHJpbmcoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfSx1dD1NYXRoLmFicyxxPSJyaWdodCIsST0iYm90dG9tIixmdD0id2lkdGgiLGR0PSJoZWlnaHQiLHB0PSJSaWdodCIsZ3Q9IkxlZnQiLGh0PSJUb3AiLHZ0PSJCb3R0b20iLGJ0PSJwYWRkaW5nIixtdD0ibWFyZ2luIix5dD0iV2lkdGgiLFk9IkhlaWdodCIseHQ9InB4Iix3dD1mdW5jdGlvbiBfZ2V0Qm91bmRzKGUsdCl7dmFyIHI9dCYmIm1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKSIhPT1tYihlKVtmXSYmSGUudG8oZSx7eDowLHk6MCx4UGVyY2VudDowLHlQZXJjZW50OjAscm90YXRpb246MCxyb3RhdGlvblg6MCxyb3RhdGlvblk6MCxzY2FsZToxLHNrZXdYOjAsc2tld1k6MH0pLnByb2dyZXNzKDEpLG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gciYmci5wcm9ncmVzcygwKS5raWxsKCksbn0sX3Q9e3N0YXJ0Q29sb3I6ImdyZWVuIixlbmRDb2xvcjoicmVkIixpbmRlbnQ6MCxmb250U2l6ZToiMTZweCIsZm9udFdlaWdodDoibm9ybWFsIn0sQ3Q9e3RvZ2dsZUFjdGlvbnM6InBsYXkiLGFudGljaXBhdGVQaW46MH0sSD17dG9wOjAsbGVmdDowLGNlbnRlcjouNSxib3R0b206MSxyaWdodDoxfSxYPWZ1bmN0aW9uIF9wb3NpdGlvbk1hcmtlcihlLHQscixuKXt2YXIgbz17ZGlzcGxheToiYmxvY2sifSxpPXJbbj8ib3MyIjoicDIiXSxhPXJbbj8icDIiOiJvczIiXTtlLl9pc0ZsaXBwZWQ9bixvW3IuYSsiUGVyY2VudCJdPW4/LTEwMDowLG9bci5hXT1uPyIxcHgiOjAsb1siYm9yZGVyIitpK3l0XT0xLG9bImJvcmRlciIrYSt5dF09MCxvW3IucF09dCsicHgiLEhlLnNldChlLG8pfSxUdD1bXSxTdD17fSxXPXt9LFY9W10sVT1mdW5jdGlvbiBfZGlzcGF0Y2goZSl7cmV0dXJuIFdbZV0mJldbZV0ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KXx8Vn0saj1bXSxrdD0wLFB0PWZ1bmN0aW9uIF9yZWZyZXNoQWxsKGUsdCl7aWYoIXN0fHxlfHxTKXtZYigpLHJ0PW5lLmlzUmVmcmVzaGluZz0hMCxJZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBUYShlKSYmKytlLmNhY2hlSUQmJihlLnJlYz1lKCkpfSk7dmFyIHI9VSgicmVmcmVzaEluaXQiKTtaZSYmbmUuc29ydCgpLHR8fFNiKCksSWUuZm9yRWFjaChmdW5jdGlvbihlKXtUYShlKSYmKGUuc21vb3RoJiYoZS50YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9ImF1dG8iKSxlKDApKX0pLFR0LnNsaWNlKDApLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVmcmVzaCgpfSksUz0hMSxUdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKGUuX3N1YlBpbk9mZnNldCYmZS5waW4pe3ZhciB0PWUudmFycy5ob3Jpem9udGFsPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCIscj1lLnBpblt0XTtlLnJldmVydCghMCwxKSxlLmFkanVzdFBpblNwYWNpbmcoZS5waW5bdF0tciksZS5yZWZyZXNoKCl9fSksZXQ9MSxaYighMCksVHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1RYShlLnNjcm9sbGVyLGUuX2Rpcikscj0ibWF4Ij09PWUudmFycy5lbmR8fGUuX2VuZENsYW1wJiZlLmVuZD50LG49ZS5fc3RhcnRDbGFtcCYmZS5zdGFydD49dDsocnx8bikmJmUuc2V0UG9zaXRpb25zKG4/dC0xOmUuc3RhcnQscj9NYXRoLm1heChuP3Q6ZS5zdGFydCsxLHQpOmUuZW5kLCEwKX0pLFpiKCExKSxldD0wLHIuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5yZW5kZXImJmUucmVuZGVyKC0xKX0pLEllLmZvckVhY2goZnVuY3Rpb24oZSl7VGEoZSkmJihlLnNtb290aCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIGUudGFyZ2V0LnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJzbW9vdGgifSksZS5yZWMmJmUoZS5yZWMpKX0pLFRiKHcsMSksYy5wYXVzZSgpLGt0KyssWihydD0yKSxUdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBUYShlLnZhcnMub25SZWZyZXNoKSYmZS52YXJzLm9uUmVmcmVzaChlKX0pLHJ0PW5lLmlzUmVmcmVzaGluZz0hMSxVKCJyZWZyZXNoIil9ZWxzZSB3YihuZSwic2Nyb2xsRW5kIixPYil9LFE9MCxNdD0xLFo9ZnVuY3Rpb24gX3VwZGF0ZUFsbChlKXtpZigyPT09ZXx8IXJ0JiYhUyl7bmUuaXNVcGRhdGluZz0hMCxvdCYmb3QudXBkYXRlKDApO3ZhciB0PVR0Lmxlbmd0aCxyPWF0KCksbj01MDw9ci1SLG89dCYmVHRbMF0uc2Nyb2xsKCk7aWYoTXQ9bzxRPy0xOjEscnR8fChRPW8pLG4mJihzdCYmIUdlJiYyMDA8ci1zdCYmKHN0PTAsVSgic2Nyb2xsRW5kIikpLEtlPVIsUj1yKSxNdDwwKXtmb3IoUWU9dDswPFFlLS07KVR0W1FlXSYmVHRbUWVdLnVwZGF0ZSgwLG4pO010PTF9ZWxzZSBmb3IoUWU9MDtRZTx0O1FlKyspVHRbUWVdJiZUdFtRZV0udXBkYXRlKDAsbik7bmUuaXNVcGRhdGluZz0hMX1EPTB9LCQ9WyJsZWZ0IiwidG9wIixJLHEsbXQrdnQsbXQrcHQsbXQraHQsbXQrZ3QsImRpc3BsYXkiLCJmbGV4U2hyaW5rIiwiZmxvYXQiLCJ6SW5kZXgiLCJncmlkQ29sdW1uU3RhcnQiLCJncmlkQ29sdW1uRW5kIiwiZ3JpZFJvd1N0YXJ0IiwiZ3JpZFJvd0VuZCIsImdyaWRBcmVhIiwianVzdGlmeVNlbGYiLCJhbGlnblNlbGYiLCJwbGFjZVNlbGYiLCJvcmRlciJdLGVlPSQuY29uY2F0KFtmdCxkdCwiYm94U2l6aW5nIiwibWF4Iit5dCwibWF4IitZLCJwb3NpdGlvbiIsbXQsYnQsYnQraHQsYnQrcHQsYnQrdnQsYnQrZ3RdKSx0ZT0vKFtBLVpdKS9nLEV0PWZ1bmN0aW9uIF9zZXRTdGF0ZShlKXtpZihlKXt2YXIgdCxyLG49ZS50LnN0eWxlLG89ZS5sZW5ndGgsaT0wO2ZvcigoZS50Ll9nc2FwfHxIZS5jb3JlLmdldENhY2hlKGUudCkpLnVuY2FjaGU9MTtpPG87aSs9MilyPWVbaSsxXSx0PWVbaV0scj9uW3RdPXI6blt0XSYmbi5yZW1vdmVQcm9wZXJ0eSh0LnJlcGxhY2UodGUsIi0kMSIpLnRvTG93ZXJDYXNlKCkpfX0sT3Q9e2xlZnQ6MCx0b3A6MH0scmU9Lyh3ZWJraXR8bW96fGxlbmd0aHxjc3NUZXh0fGluc2V0KS9pLG5lPShTY3JvbGxUcmlnZ2VyLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uIGluaXQoRSxPKXtpZih0aGlzLnByb2dyZXNzPXRoaXMuc3RhcnQ9MCx0aGlzLnZhcnMmJnRoaXMua2lsbCghMCwhMCksbHQpe3ZhciBBLG4scCxELFIsQixxLEksTCxZLEYsZSxILE4sWCxXLFYsVSx0LGosYixHLFEsbSxaLHksJCx4LHIsdyxfLGVlLG8sZyx0ZSxyZSxuZSxDLGksVD0oRT1vYihjdChFKXx8VWEoRSl8fEUubm9kZVR5cGU/e3RyaWdnZXI6RX06RSxDdCkpLm9uVXBkYXRlLFM9RS50b2dnbGVDbGFzcyxhPUUuaWQsaz1FLm9uVG9nZ2xlLG9lPUUub25SZWZyZXNoLFA9RS5zY3J1YixpZT1FLnRyaWdnZXIsYWU9RS5waW4sc2U9RS5waW5TcGFjaW5nLGxlPUUuaW52YWxpZGF0ZU9uUmVmcmVzaCxNPUUuYW50aWNpcGF0ZVBpbixzPUUub25TY3J1YkNvbXBsZXRlLGg9RS5vblNuYXBDb21wbGV0ZSxjZT1FLm9uY2UsdWU9RS5zbmFwLGZlPUUucGluUmVwYXJlbnQsbD1FLnBpblNwYWNlcixkZT1FLmNvbnRhaW5lckFuaW1hdGlvbixwZT1FLmZhc3RTY3JvbGxFbmQsZ2U9RS5wcmV2ZW50T3ZlcmxhcHMsaGU9RS5ob3Jpem9udGFsfHxFLmNvbnRhaW5lckFuaW1hdGlvbiYmITEhPT1FLmhvcml6b250YWw/WWU6RmUsdmU9IVAmJjAhPT1QLGJlPUooRS5zY3JvbGxlcnx8TmUpLGM9SGUuY29yZS5nZXRDYWNoZShiZSksbWU9TGEoYmUpLHllPSJmaXhlZCI9PT0oInBpblR5cGUiaW4gRT9FLnBpblR5cGU6eihiZSwicGluVHlwZSIpfHxtZSYmImZpeGVkIikseGU9W0Uub25FbnRlcixFLm9uTGVhdmUsRS5vbkVudGVyQmFjayxFLm9uTGVhdmVCYWNrXSx3ZT12ZSYmRS50b2dnbGVBY3Rpb25zLnNwbGl0KCIgIiksX2U9Im1hcmtlcnMiaW4gRT9FLm1hcmtlcnM6Q3QubWFya2VycyxDZT1tZT8wOnBhcnNlRmxvYXQobWIoYmUpWyJib3JkZXIiK2hlLnAyK3l0XSl8fDAsVGU9dGhpcyxTZT1FLm9uUmVmcmVzaEluaXQmJmZ1bmN0aW9uKCl7cmV0dXJuIEUub25SZWZyZXNoSW5pdChUZSl9LGtlPWZ1bmN0aW9uIF9nZXRTaXplRnVuYyhlLHQscil7dmFyIG49ci5kLG89ci5kMixpPXIuYTtyZXR1cm4oaT16KGUsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIpKT9mdW5jdGlvbigpe3JldHVybiBpKClbbl19OmZ1bmN0aW9uKCl7cmV0dXJuKHQ/TWEobyk6ZVsiY2xpZW50IitvXSl8fDB9fShiZSxtZSxoZSksUGU9ZnVuY3Rpb24gX2dldE9mZnNldHNGdW5jKGUsdCl7cmV0dXJuIXR8fH5MZS5pbmRleE9mKGUpP05hKGUpOmZ1bmN0aW9uKCl7cmV0dXJuIE90fX0oYmUsbWUpLE1lPTAsRWU9MCxPZT0wLEFlPUsoYmUsaGUpO2lmKFRlLl9zdGFydENsYW1wPVRlLl9lbmRDbGFtcD0hMSxUZS5fZGlyPWhlLE0qPTQ1LFRlLnNjcm9sbGVyPWJlLFRlLnNjcm9sbD1kZT9kZS50aW1lLmJpbmQoZGUpOkFlLEQ9QWUoKSxUZS52YXJzPUUsTz1PfHxFLmFuaW1hdGlvbiwicmVmcmVzaFByaW9yaXR5ImluIEUmJihaZT0xLC05OTk5PT09RS5yZWZyZXNoUHJpb3JpdHkmJihvdD1UZSkpLGMudHdlZW5TY3JvbGw9Yy50d2VlblNjcm9sbHx8e3RvcDpyYyhiZSxGZSksbGVmdDpyYyhiZSxZZSl9LFRlLnR3ZWVuVG89QT1jLnR3ZWVuU2Nyb2xsW2hlLnBdLFRlLnNjcnViRHVyYXRpb249ZnVuY3Rpb24oZSl7KG89VWEoZSkmJmUpP2VlP2VlLmR1cmF0aW9uKGUpOmVlPUhlLnRvKE8se2Vhc2U6ImV4cG8iLHRvdGFsUHJvZ3Jlc3M6Iis9MCIsaW5oZXJpdDohMSxkdXJhdGlvbjpvLHBhdXNlZDohMCxvbkNvbXBsZXRlOmZ1bmN0aW9uIG9uQ29tcGxldGUoKXtyZXR1cm4gcyYmcyhUZSl9fSk6KGVlJiZlZS5wcm9ncmVzcygxKS5raWxsKCksZWU9MCl9LE8mJihPLnZhcnMubGF6eT0hMSxPLl9pbml0dGVkJiYhVGUuaXNSZXZlcnRlZHx8ITEhPT1PLnZhcnMuaW1tZWRpYXRlUmVuZGVyJiYhMSE9PUUuaW1tZWRpYXRlUmVuZGVyJiZPLmR1cmF0aW9uKCkmJk8ucmVuZGVyKDAsITAsITApLFRlLmFuaW1hdGlvbj1PLnBhdXNlKCksKE8uc2Nyb2xsVHJpZ2dlcj1UZSkuc2NydWJEdXJhdGlvbihQKSx3PTAsYT1hfHxPLnZhcnMuaWQpLHVlJiYoVmEodWUpJiYhdWUucHVzaHx8KHVlPXtzbmFwVG86dWV9KSwic2Nyb2xsQmVoYXZpb3IiaW4gV2Uuc3R5bGUmJkhlLnNldChtZT9bV2UsSmVdOmJlLHtzY3JvbGxCZWhhdmlvcjoiYXV0byJ9KSxJZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBUYShlKSYmZS50YXJnZXQ9PT0obWU/WGUuc2Nyb2xsaW5nRWxlbWVudHx8SmU6YmUpJiYoZS5zbW9vdGg9ITEpfSkscD1UYSh1ZS5zbmFwVG8pP3VlLnNuYXBUbzoibGFiZWxzIj09PXVlLnNuYXBUbz9mdW5jdGlvbiBfZ2V0Q2xvc2VzdExhYmVsKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gSGUudXRpbHMuc25hcChyYih0KSxlKX19KE8pOiJsYWJlbHNEaXJlY3Rpb25hbCI9PT11ZS5zbmFwVG8/ZnVuY3Rpb24gX2dldExhYmVsQXREaXJlY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRiKHJiKHIpKShlLHQuZGlyZWN0aW9uKX19KE8pOiExIT09dWUuZGlyZWN0aW9uYWw/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGIodWUuc25hcFRvKShlLGF0KCktRWU8NTAwPzA6dC5kaXJlY3Rpb24pfTpIZS51dGlscy5zbmFwKHVlLnNuYXBUbyksZz11ZS5kdXJhdGlvbnx8e21pbjouMSxtYXg6Mn0sZz1WYShnKT9VZShnLm1pbixnLm1heCk6VWUoZyxnKSx0ZT1IZS5kZWxheWVkQ2FsbCh1ZS5kZWxheXx8by8yfHwuMSxmdW5jdGlvbigpe3ZhciBlPUFlKCksdD1hdCgpLUVlPDUwMCxyPUEudHdlZW47aWYoISh0fHxNYXRoLmFicyhUZS5nZXRWZWxvY2l0eSgpKTwxMCl8fHJ8fEdlfHxNZT09PWUpVGUuaXNBY3RpdmUmJk1lIT09ZSYmdGUucmVzdGFydCghMCk7ZWxzZXt2YXIgbixvLGk9KGUtQikvTixhPU8mJiF2ZT9PLnRvdGFsUHJvZ3Jlc3MoKTppLHM9dD8wOihhLV8pLyhhdCgpLUtlKSoxZTN8fDAsbD1IZS51dGlscy5jbGFtcCgtaSwxLWksdXQocy8yKSpzLy4xODUpLGM9aSsoITE9PT11ZS5pbmVydGlhPzA6bCksdT11ZS5vblN0YXJ0LGY9dWUub25JbnRlcnJ1cHQsZD11ZS5vbkNvbXBsZXRlO2lmKG49cChjLFRlKSxVYShuKXx8KG49Yyksbz1NYXRoLnJvdW5kKEIrbipOKSxlPD1xJiZCPD1lJiZvIT09ZSl7aWYociYmIXIuX2luaXR0ZWQmJnIuZGF0YTw9dXQoby1lKSlyZXR1cm47ITE9PT11ZS5pbmVydGlhJiYobD1uLWkpLEEobyx7ZHVyYXRpb246Zyh1dCguMTg1Kk1hdGgubWF4KHV0KGMtYSksdXQobi1hKSkvcy8uMDV8fDApKSxlYXNlOnVlLmVhc2V8fCJwb3dlcjMiLGRhdGE6dXQoby1lKSxvbkludGVycnVwdDpmdW5jdGlvbiBvbkludGVycnVwdCgpe3JldHVybiB0ZS5yZXN0YXJ0KCEwKSYmZiYmZihUZSl9LG9uQ29tcGxldGU6ZnVuY3Rpb24gb25Db21wbGV0ZSgpe1RlLnVwZGF0ZSgpLE1lPUFlKCksTyYmKGVlP2VlLnJlc2V0VG8oInRvdGFsUHJvZ3Jlc3MiLG4sTy5fdFRpbWUvTy5fdER1cik6Ty5wcm9ncmVzcyhuKSksdz1fPU8mJiF2ZT9PLnRvdGFsUHJvZ3Jlc3MoKTpUZS5wcm9ncmVzcyxoJiZoKFRlKSxkJiZkKFRlKX19LGUsbCpOLG8tZS1sKk4pLHUmJnUoVGUsQS50d2Vlbil9fX0pLnBhdXNlKCkpLGEmJihTdFthXT1UZSksaT0oaT0oaWU9VGUudHJpZ2dlcj1KKGllfHwhMCE9PWFlJiZhZSkpJiZpZS5fZ3NhcCYmaWUuX2dzYXAuc3RSZXZlcnQpJiZpKFRlKSxhZT0hMD09PWFlP2llOkooYWUpLGN0KFMpJiYoUz17dGFyZ2V0czppZSxjbGFzc05hbWU6U30pLGFlJiYoITE9PT1zZXx8c2U9PT1tdHx8KHNlPSEoIXNlJiZhZS5wYXJlbnROb2RlJiZhZS5wYXJlbnROb2RlLnN0eWxlJiYiZmxleCI9PT1tYihhZS5wYXJlbnROb2RlKS5kaXNwbGF5KSYmYnQpLFRlLnBpbj1hZSwobj1IZS5jb3JlLmdldENhY2hlKGFlKSkuc3BhY2VyP1g9bi5waW5TdGF0ZToobCYmKChsPUoobCkpJiYhbC5ub2RlVHlwZSYmKGw9bC5jdXJyZW50fHxsLm5hdGl2ZUVsZW1lbnQpLG4uc3BhY2VySXNOYXRpdmU9ISFsLGwmJihuLnNwYWNlclN0YXRlPWpjKGwpKSksbi5zcGFjZXI9VT1sfHxYZS5jcmVhdGVFbGVtZW50KCJkaXYiKSxVLmNsYXNzTGlzdC5hZGQoInBpbi1zcGFjZXIiKSxhJiZVLmNsYXNzTGlzdC5hZGQoInBpbi1zcGFjZXItIithKSxuLnBpblN0YXRlPVg9amMoYWUpKSwhMSE9PUUuZm9yY2UzRCYmSGUuc2V0KGFlLHtmb3JjZTNEOiEwfSksVGUuc3BhY2VyPVU9bi5zcGFjZXIscj1tYihhZSksbT1yW3NlK2hlLm9zMl0saj1IZS5nZXRQcm9wZXJ0eShhZSksYj1IZS5xdWlja1NldHRlcihhZSxoZS5hLHh0KSxnYyhhZSxVLHIpLFY9amMoYWUpKSxfZSl7ZT1WYShfZSk/b2IoX2UsX3QpOl90LFk9RGIoInNjcm9sbGVyLXN0YXJ0IixhLGJlLGhlLGUsMCksRj1EYigic2Nyb2xsZXItZW5kIixhLGJlLGhlLGUsMCxZKSx0PVlbIm9mZnNldCIraGUub3AuZDJdO3ZhciB1PUooeihiZSwiY29udGVudCIpfHxiZSk7ST10aGlzLm1hcmtlclN0YXJ0PURiKCJzdGFydCIsYSx1LGhlLGUsdCwwLGRlKSxMPXRoaXMubWFya2VyRW5kPURiKCJlbmQiLGEsdSxoZSxlLHQsMCxkZSksZGUmJihDPUhlLnF1aWNrU2V0dGVyKFtJLExdLGhlLmEseHQpKSx5ZXx8TGUubGVuZ3RoJiYhMD09PXooYmUsImZpeGVkTWFya2VycyIpfHwoZnVuY3Rpb24gX21ha2VQb3NpdGlvbmFibGUoZSl7dmFyIHQ9bWIoZSkucG9zaXRpb247ZS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09dHx8ImZpeGVkIj09PXQ/dDoicmVsYXRpdmUifShtZT9XZTpiZSksSGUuc2V0KFtZLEZdLHtmb3JjZTNEOiEwfSkseT1IZS5xdWlja1NldHRlcihZLGhlLmEseHQpLHg9SGUucXVpY2tTZXR0ZXIoRixoZS5hLHh0KSl9aWYoZGUpe3ZhciBmPWRlLnZhcnMub25VcGRhdGUsZD1kZS52YXJzLm9uVXBkYXRlUGFyYW1zO2RlLmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixmdW5jdGlvbigpe1RlLnVwZGF0ZSgwLDAsMSksZiYmZi5hcHBseShkZSxkfHxbXSl9KX1pZihUZS5wcmV2aW91cz1mdW5jdGlvbigpe3JldHVybiBUdFtUdC5pbmRleE9mKFRlKS0xXX0sVGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBUdFtUdC5pbmRleE9mKFRlKSsxXX0sVGUucmV2ZXJ0PWZ1bmN0aW9uKGUsdCl7aWYoIXQpcmV0dXJuIFRlLmtpbGwoITApO3ZhciByPSExIT09ZXx8IVRlLmVuYWJsZWQsbj1qZTtyIT09VGUuaXNSZXZlcnRlZCYmKHImJihyZT1NYXRoLm1heChBZSgpLFRlLnNjcm9sbC5yZWN8fDApLE9lPVRlLnByb2dyZXNzLG5lPU8mJk8ucHJvZ3Jlc3MoKSksSSYmW0ksTCxZLEZdLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3R5bGUuZGlzcGxheT1yPyJub25lIjoiYmxvY2sifSksciYmKGplPVRlKS51cGRhdGUociksIWFlfHxmZSYmVGUuaXNBY3RpdmV8fChyP2Z1bmN0aW9uIF9zd2FwUGluT3V0KGUsdCxyKXtFdChyKTt2YXIgbj1lLl9nc2FwO2lmKG4uc3BhY2VySXNOYXRpdmUpRXQobi5zcGFjZXJTdGF0ZSk7ZWxzZSBpZihlLl9nc2FwLnN3YXBwZWRJbil7dmFyIG89dC5wYXJlbnROb2RlO28mJihvLmluc2VydEJlZm9yZShlLHQpLG8ucmVtb3ZlQ2hpbGQodCkpfWUuX2dzYXAuc3dhcHBlZEluPSExfShhZSxVLFgpOmdjKGFlLFUsbWIoYWUpLFopKSxyfHxUZS51cGRhdGUociksamU9bixUZS5pc1JldmVydGVkPXIpfSxUZS5yZWZyZXNoPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKCFqZSYmVGUuZW5hYmxlZHx8dClpZihhZSYmZSYmc3Qpd2IoU2Nyb2xsVHJpZ2dlciwic2Nyb2xsRW5kIixPYik7ZWxzZXshcnQmJlNlJiZTZShUZSksamU9VGUsQS50d2VlbiYmIXImJihBLnR3ZWVuLmtpbGwoKSxBLnR3ZWVuPTApLGVlJiZlZS5wYXVzZSgpLGxlJiZPJiZPLnJldmVydCh7a2lsbDohMX0pLmludmFsaWRhdGUoKSxUZS5pc1JldmVydGVkfHxUZS5yZXZlcnQoITAsITApLFRlLl9zdWJQaW5PZmZzZXQ9ITE7dmFyIG8saSxhLHMsbCxjLHUsZixkLHAsZyxoLHYsYj1rZSgpLG09UGUoKSx5PWRlP2RlLmR1cmF0aW9uKCk6UWEoYmUsaGUpLHg9Tjw9LjAxLHc9MCxfPW58fDAsQz1WYShyKT9yLmVuZDpFLmVuZCxUPUUuZW5kVHJpZ2dlcnx8aWUsUz1WYShyKT9yLnN0YXJ0OkUuc3RhcnR8fCgwIT09RS5zdGFydCYmaWU/YWU/IjAgMCI6IjAgMTAwJSI6MCksaz1UZS5waW5uZWRDb250YWluZXI9RS5waW5uZWRDb250YWluZXImJkooRS5waW5uZWRDb250YWluZXIsVGUpLFA9aWUmJk1hdGgubWF4KDAsVHQuaW5kZXhPZihUZSkpfHwwLE09UDtmb3IoX2UmJlZhKHIpJiYoaD1IZS5nZXRQcm9wZXJ0eShZLGhlLnApLHY9SGUuZ2V0UHJvcGVydHkoRixoZS5wKSk7TS0tOykoYz1UdFtNXSkuZW5kfHxjLnJlZnJlc2goMCwxKXx8KGplPVRlKSwhKHU9Yy5waW4pfHx1IT09aWUmJnUhPT1hZSYmdSE9PWt8fGMuaXNSZXZlcnRlZHx8KChwPXB8fFtdKS51bnNoaWZ0KGMpLGMucmV2ZXJ0KCEwLCEwKSksYyE9PVR0W01dJiYoUC0tLE0tLSk7Zm9yKFRhKFMpJiYoUz1TKFRlKSksUz1DYShTLCJzdGFydCIsVGUpLEI9bWMoUyxpZSxiLGhlLEFlKCksSSxZLFRlLG0sQ2UseWUseSxkZSxUZS5fc3RhcnRDbGFtcCYmIl9zdGFydENsYW1wIil8fChhZT8tLjAwMTowKSxUYShDKSYmKEM9QyhUZSkpLGN0KEMpJiYhQy5pbmRleE9mKCIrPSIpJiYofkMuaW5kZXhPZigiICIpP0M9KGN0KFMpP1Muc3BsaXQoIiAiKVswXToiIikrQzoodz1DYihDLnN1YnN0cigyKSxiKSxDPWN0KFMpP1M6KGRlP0hlLnV0aWxzLm1hcFJhbmdlKDAsZGUuZHVyYXRpb24oKSxkZS5zY3JvbGxUcmlnZ2VyLnN0YXJ0LGRlLnNjcm9sbFRyaWdnZXIuZW5kLEIpOkIpK3csVD1pZSkpLEM9Q2EoQywiZW5kIixUZSkscT1NYXRoLm1heChCLG1jKEN8fChUPyIxMDAlIDAiOnkpLFQsYixoZSxBZSgpK3csTCxGLFRlLG0sQ2UseWUseSxkZSxUZS5fZW5kQ2xhbXAmJiJfZW5kQ2xhbXAiKSl8fC0uMDAxLHc9MCxNPVA7TS0tOykodT0oYz1UdFtNXSkucGluKSYmYy5zdGFydC1jLl9waW5QdXNoPD1CJiYhZGUmJjA8Yy5lbmQmJihvPWMuZW5kLShUZS5fc3RhcnRDbGFtcD9NYXRoLm1heCgwLGMuc3RhcnQpOmMuc3RhcnQpLCh1PT09aWUmJmMuc3RhcnQtYy5fcGluUHVzaDxCfHx1PT09aykmJmlzTmFOKFMpJiYodys9byooMS1jLnByb2dyZXNzKSksdT09PWFlJiYoXys9bykpO2lmKEIrPXcscSs9dyxUZS5fc3RhcnRDbGFtcCYmKFRlLl9zdGFydENsYW1wKz13KSxUZS5fZW5kQ2xhbXAmJiFydCYmKFRlLl9lbmRDbGFtcD1xfHwtLjAwMSxxPU1hdGgubWluKHEsUWEoYmUsaGUpKSksTj1xLUJ8fChCLT0uMDEpJiYuMDAxLHgmJihPZT1IZS51dGlscy5jbGFtcCgwLDEsSGUudXRpbHMubm9ybWFsaXplKEIscSxyZSkpKSxUZS5fcGluUHVzaD1fLEkmJncmJigobz17fSlbaGUuYV09Iis9Iit3LGsmJihvW2hlLnBdPSItPSIrQWUoKSksSGUuc2V0KFtJLExdLG8pKSwhYWV8fGV0JiZUZS5lbmQ+PVFhKGJlLGhlKSl7aWYoaWUmJkFlKCkmJiFkZSlmb3IoaT1pZS5wYXJlbnROb2RlO2kmJmkhPT1XZTspaS5fcGluT2Zmc2V0JiYoQi09aS5fcGluT2Zmc2V0LHEtPWkuX3Bpbk9mZnNldCksaT1pLnBhcmVudE5vZGV9ZWxzZSBvPW1iKGFlKSxzPWhlPT09RmUsYT1BZSgpLEc9cGFyc2VGbG9hdChqKGhlLmEpKStfLCF5JiYxPHEmJihnPXtzdHlsZTpnPShtZT9YZS5zY3JvbGxpbmdFbGVtZW50fHxKZTpiZSkuc3R5bGUsdmFsdWU6Z1sib3ZlcmZsb3ciK2hlLmEudG9VcHBlckNhc2UoKV19LG1lJiYic2Nyb2xsIiE9PW1iKFdlKVsib3ZlcmZsb3ciK2hlLmEudG9VcHBlckNhc2UoKV0mJihnLnN0eWxlWyJvdmVyZmxvdyIraGUuYS50b1VwcGVyQ2FzZSgpXT0ic2Nyb2xsIikpLGdjKGFlLFUsbyksVj1qYyhhZSksaT13dChhZSwhMCksZj15ZSYmSyhiZSxzP1llOkZlKSgpLHNlPygoWj1bc2UraGUub3MyLE4rXyt4dF0pLnQ9VSwoTT1zZT09PWJ0P3FiKGFlLGhlKStOK186MCkmJihaLnB1c2goaGUuZCxNK3h0KSwiYXV0byIhPT1VLnN0eWxlLmZsZXhCYXNpcyYmKFUuc3R5bGUuZmxleEJhc2lzPU0reHQpKSxFdChaKSxrJiZUdC5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UucGluPT09ayYmITEhPT1lLnZhcnMucGluU3BhY2luZyYmKGUuX3N1YlBpbk9mZnNldD0hMCl9KSx5ZSYmQWUocmUpKTooTT1xYihhZSxoZSkpJiYiYXV0byIhPT1VLnN0eWxlLmZsZXhCYXNpcyYmKFUuc3R5bGUuZmxleEJhc2lzPU0reHQpLHllJiYoKGw9e3RvcDppLnRvcCsocz9hLUI6ZikreHQsbGVmdDppLmxlZnQrKHM/ZjphLUIpK3h0LGJveFNpemluZzoiYm9yZGVyLWJveCIscG9zaXRpb246ImZpeGVkIn0pW2Z0XT1sLm1heFdpZHRoPU1hdGguY2VpbChpLndpZHRoKSt4dCxsW2R0XT1sLm1heEhlaWdodD1NYXRoLmNlaWwoaS5oZWlnaHQpK3h0LGxbbXRdPWxbbXQraHRdPWxbbXQrcHRdPWxbbXQrdnRdPWxbbXQrZ3RdPSIwIixsW2J0XT1vW2J0XSxsW2J0K2h0XT1vW2J0K2h0XSxsW2J0K3B0XT1vW2J0K3B0XSxsW2J0K3Z0XT1vW2J0K3Z0XSxsW2J0K2d0XT1vW2J0K2d0XSxXPWZ1bmN0aW9uIF9jb3B5U3RhdGUoZSx0LHIpe2Zvcih2YXIgbixvPVtdLGk9ZS5sZW5ndGgsYT1yPzg6MDthPGk7YSs9MiluPWVbYV0sby5wdXNoKG4sbiBpbiB0P3Rbbl06ZVthKzFdKTtyZXR1cm4gby50PWUudCxvfShYLGwsZmUpLHJ0JiZBZSgwKSksTz8oZD1PLl9pbml0dGVkLCRlKDEpLE8ucmVuZGVyKE8uZHVyYXRpb24oKSwhMCwhMCksUT1qKGhlLmEpLUcrTitfLCQ9MTxNYXRoLmFicyhOLVEpLHllJiYkJiZXLnNwbGljZShXLmxlbmd0aC0yLDIpLE8ucmVuZGVyKDAsITAsITApLGR8fE8uaW52YWxpZGF0ZSghMCksTy5wYXJlbnR8fE8udG90YWxUaW1lKE8udG90YWxUaW1lKCkpLCRlKDApKTpRPU4sZyYmKGcudmFsdWU/Zy5zdHlsZVsib3ZlcmZsb3ciK2hlLmEudG9VcHBlckNhc2UoKV09Zy52YWx1ZTpnLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJvdmVyZmxvdy0iK2hlLmEpKTtwJiZwLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUucmV2ZXJ0KCExLCEwKX0pLFRlLnN0YXJ0PUIsVGUuZW5kPXEsRD1SPXJ0P3JlOkFlKCksZGV8fHJ0fHwoRDxyZSYmQWUocmUpLFRlLnNjcm9sbC5yZWM9MCksVGUucmV2ZXJ0KCExLCEwKSxFZT1hdCgpLHRlJiYoTWU9LTEsdGUucmVzdGFydCghMCkpLGplPTAsTyYmdmUmJihPLl9pbml0dGVkfHxuZSkmJk8ucHJvZ3Jlc3MoKSE9PW5lJiZPLnByb2dyZXNzKG5lfHwwLCEwKS5yZW5kZXIoTy50aW1lKCksITAsITApLCh4fHxPZSE9PVRlLnByb2dyZXNzfHxkZXx8bGUpJiYoTyYmIXZlJiZPLnRvdGFsUHJvZ3Jlc3MoZGUmJkI8LS4wMDEmJiFPZT9IZS51dGlscy5ub3JtYWxpemUoQixxLDApOk9lLCEwKSxUZS5wcm9ncmVzcz14fHwoRC1CKS9OPT09T2U/MDpPZSksYWUmJnNlJiYoVS5fcGluT2Zmc2V0PU1hdGgucm91bmQoVGUucHJvZ3Jlc3MqUSkpLGVlJiZlZS5pbnZhbGlkYXRlKCksaXNOYU4oaCl8fChoLT1IZS5nZXRQcm9wZXJ0eShZLGhlLnApLHYtPUhlLmdldFByb3BlcnR5KEYsaGUucCkscWMoWSxoZSxoKSxxYyhJLGhlLGgtKG58fDApKSxxYyhGLGhlLHYpLHFjKEwsaGUsdi0obnx8MCkpKSx4JiYhcnQmJlRlLnVwZGF0ZSgpLCFvZXx8cnR8fEh8fChIPSEwLG9lKFRlKSxIPSExKX19LFRlLmdldFZlbG9jaXR5PWZ1bmN0aW9uKCl7cmV0dXJuKEFlKCktUikvKGF0KCktS2UpKjFlM3x8MH0sVGUuZW5kQW5pbWF0aW9uPWZ1bmN0aW9uKCl7V2EoVGUuY2FsbGJhY2tBbmltYXRpb24pLE8mJihlZT9lZS5wcm9ncmVzcygxKTpPLnBhdXNlZCgpP3ZlfHxXYShPLFRlLmRpcmVjdGlvbjwwLDEpOldhKE8sTy5yZXZlcnNlZCgpKSl9LFRlLmxhYmVsVG9TY3JvbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIE8mJk8ubGFiZWxzJiYoQnx8VGUucmVmcmVzaCgpfHxCKStPLmxhYmVsc1tlXS9PLmR1cmF0aW9uKCkqTnx8MH0sVGUuZ2V0VHJhaWxpbmc9ZnVuY3Rpb24odCl7dmFyIGU9VHQuaW5kZXhPZihUZSkscj0wPFRlLmRpcmVjdGlvbj9UdC5zbGljZSgwLGUpLnJldmVyc2UoKTpUdC5zbGljZShlKzEpO3JldHVybihjdCh0KT9yLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS52YXJzLnByZXZlbnRPdmVybGFwcz09PXR9KTpyKS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIDA8VGUuZGlyZWN0aW9uP2UuZW5kPD1COmUuc3RhcnQ+PXF9KX0sVGUudXBkYXRlPWZ1bmN0aW9uKGUsdCxyKXtpZighZGV8fHJ8fGUpe3ZhciBuLG8saSxhLHMsbCxjLHU9ITA9PT1ydD9yZTpUZS5zY3JvbGwoKSxmPWU/MDoodS1CKS9OLGQ9ZjwwPzA6MTxmPzE6Znx8MCxwPVRlLnByb2dyZXNzO2lmKHQmJihSPUQsRD1kZT9BZSgpOnUsdWUmJihfPXcsdz1PJiYhdmU/Ty50b3RhbFByb2dyZXNzKCk6ZCkpLE0mJmFlJiYhamUmJiFpdCYmc3QmJighZCYmQjx1Kyh1LVIpLyhhdCgpLUtlKSpNP2Q9MWUtNDoxPT09ZCYmcT51Kyh1LVIpLyhhdCgpLUtlKSpNJiYoZD0uOTk5OSkpLGQhPT1wJiZUZS5lbmFibGVkKXtpZihhPShzPShuPVRlLmlzQWN0aXZlPSEhZCYmZDwxKSE9KCEhcCYmcDwxKSl8fCEhZCE9ISFwLFRlLmRpcmVjdGlvbj1wPGQ/MTotMSxUZS5wcm9ncmVzcz1kLGEmJiFqZSYmKG89ZCYmIXA/MDoxPT09ZD8xOjE9PT1wPzI6Myx2ZSYmKGk9IXMmJiJub25lIiE9PXdlW28rMV0mJndlW28rMV18fHdlW29dLGM9TyYmKCJjb21wbGV0ZSI9PT1pfHwicmVzZXQiPT09aXx8aSBpbiBPKSkpLGdlJiYoc3x8YykmJihjfHxQfHwhTykmJihUYShnZSk/Z2UoVGUpOlRlLmdldFRyYWlsaW5nKGdlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmVuZEFuaW1hdGlvbigpfSkpLHZlfHwoIWVlfHxqZXx8aXQ/TyYmTy50b3RhbFByb2dyZXNzKGQsISghamV8fCFFZSYmIWUpKTooZWUuX2RwLl90aW1lLWVlLl9zdGFydCE9PWVlLl90aW1lJiZlZS5yZW5kZXIoZWUuX2RwLl90aW1lLWVlLl9zdGFydCksZWUucmVzZXRUbz9lZS5yZXNldFRvKCJ0b3RhbFByb2dyZXNzIixkLE8uX3RUaW1lL08uX3REdXIpOihlZS52YXJzLnRvdGFsUHJvZ3Jlc3M9ZCxlZS5pbnZhbGlkYXRlKCkucmVzdGFydCgpKSkpLGFlKWlmKGUmJnNlJiYoVS5zdHlsZVtzZStoZS5vczJdPW0pLHllKXtpZihhKXtpZihsPSFlJiZwPGQmJnU8cSsxJiZ1KzE+PVFhKGJlLGhlKSxmZSlpZihlfHwhbiYmIWwpb2MoYWUsVSk7ZWxzZXt2YXIgZz13dChhZSwhMCksaD11LUI7b2MoYWUsV2UsZy50b3ArKGhlPT09RmU/aDowKSt4dCxnLmxlZnQrKGhlPT09RmU/MDpoKSt4dCl9RXQobnx8bD9XOlYpLCQmJmQ8MSYmbnx8YihHKygxIT09ZHx8bD8wOlEpKX19ZWxzZSBiKElhKEcrUSpkKSk7IXVlfHxBLnR3ZWVufHxqZXx8aXR8fHRlLnJlc3RhcnQoITApLFMmJihzfHxjZSYmZCYmKGQ8MXx8IXR0KSkmJlZlKFMudGFyZ2V0cykuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5jbGFzc0xpc3Rbbnx8Y2U/ImFkZCI6InJlbW92ZSJdKFMuY2xhc3NOYW1lKX0pLCFUfHx2ZXx8ZXx8VChUZSksYSYmIWplPyh2ZSYmKGMmJigiY29tcGxldGUiPT09aT9PLnBhdXNlKCkudG90YWxQcm9ncmVzcygxKToicmVzZXQiPT09aT9PLnJlc3RhcnQoITApLnBhdXNlKCk6InJlc3RhcnQiPT09aT9PLnJlc3RhcnQoITApOk9baV0oKSksVCYmVChUZSkpLCFzJiZ0dHx8KGsmJnMmJlhhKFRlLGspLHhlW29dJiZYYShUZSx4ZVtvXSksY2UmJigxPT09ZD9UZS5raWxsKCExLDEpOnhlW29dPTApLHN8fHhlW289MT09PWQ/MTozXSYmWGEoVGUseGVbb10pKSxwZSYmIW4mJk1hdGguYWJzKFRlLmdldFZlbG9jaXR5KCkpPihVYShwZSk/cGU6MjUwMCkmJihXYShUZS5jYWxsYmFja0FuaW1hdGlvbiksZWU/ZWUucHJvZ3Jlc3MoMSk6V2EoTywicmV2ZXJzZSI9PT1pPzE6IWQsMSkpKTp2ZSYmVCYmIWplJiZUKFRlKX1pZih4KXt2YXIgdj1kZT91L2RlLmR1cmF0aW9uKCkqKGRlLl9jYVNjcm9sbERpc3R8fDApOnU7eSh2KyhZLl9pc0ZsaXBwZWQ/MTowKSkseCh2KX1DJiZDKC11L2RlLmR1cmF0aW9uKCkqKGRlLl9jYVNjcm9sbERpc3R8fDApKX19LFRlLmVuYWJsZT1mdW5jdGlvbihlLHQpe1RlLmVuYWJsZWR8fChUZS5lbmFibGVkPSEwLHdiKGJlLCJyZXNpemUiLExiKSxtZXx8d2IoYmUsInNjcm9sbCIsSmIpLFNlJiZ3YihTY3JvbGxUcmlnZ2VyLCJyZWZyZXNoSW5pdCIsU2UpLCExIT09ZSYmKFRlLnByb2dyZXNzPU9lPTAsRD1SPU1lPUFlKCkpLCExIT09dCYmVGUucmVmcmVzaCgpKX0sVGUuZ2V0VHdlZW49ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJkE/QS50d2VlbjplZX0sVGUuc2V0UG9zaXRpb25zPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKGRlKXt2YXIgbz1kZS5zY3JvbGxUcmlnZ2VyLGk9ZGUuZHVyYXRpb24oKSxhPW8uZW5kLW8uc3RhcnQ7ZT1vLnN0YXJ0K2EqZS9pLHQ9by5zdGFydCthKnQvaX1UZS5yZWZyZXNoKCExLCExLHtzdGFydDpEYShlLHImJiEhVGUuX3N0YXJ0Q2xhbXApLGVuZDpEYSh0LHImJiEhVGUuX2VuZENsYW1wKX0sbiksVGUudXBkYXRlKCl9LFRlLmFkanVzdFBpblNwYWNpbmc9ZnVuY3Rpb24oZSl7aWYoWiYmZSl7dmFyIHQ9Wi5pbmRleE9mKGhlLmQpKzE7Wlt0XT1wYXJzZUZsb2F0KFpbdF0pK2UreHQsWlsxXT1wYXJzZUZsb2F0KFpbMV0pK2UreHQsRXQoWil9fSxUZS5kaXNhYmxlPWZ1bmN0aW9uKGUsdCl7aWYoVGUuZW5hYmxlZCYmKCExIT09ZSYmVGUucmV2ZXJ0KCEwLCEwKSxUZS5lbmFibGVkPVRlLmlzQWN0aXZlPSExLHR8fGVlJiZlZS5wYXVzZSgpLHJlPTAsbiYmKG4udW5jYWNoZT0xKSxTZSYmeGIoU2Nyb2xsVHJpZ2dlciwicmVmcmVzaEluaXQiLFNlKSx0ZSYmKHRlLnBhdXNlKCksQS50d2VlbiYmQS50d2Vlbi5raWxsKCkmJihBLnR3ZWVuPTApKSwhbWUpKXtmb3IodmFyIHI9VHQubGVuZ3RoO3ItLTspaWYoVHRbcl0uc2Nyb2xsZXI9PT1iZSYmVHRbcl0hPT1UZSlyZXR1cm47eGIoYmUsInJlc2l6ZSIsTGIpLG1lfHx4YihiZSwic2Nyb2xsIixKYil9fSxUZS5raWxsPWZ1bmN0aW9uKGUsdCl7VGUuZGlzYWJsZShlLHQpLGVlJiYhdCYmZWUua2lsbCgpLGEmJmRlbGV0ZSBTdFthXTt2YXIgcj1UdC5pbmRleE9mKFRlKTswPD1yJiZUdC5zcGxpY2UociwxKSxyPT09UWUmJjA8TXQmJlFlLS0scj0wLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2Nyb2xsZXI9PT1UZS5zY3JvbGxlciYmKHI9MSl9KSxyfHxydHx8KFRlLnNjcm9sbC5yZWM9MCksTyYmKE8uc2Nyb2xsVHJpZ2dlcj1udWxsLGUmJk8ucmV2ZXJ0KHtraWxsOiExfSksdHx8Ty5raWxsKCkpLEkmJltJLEwsWSxGXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0pLG90PT09VGUmJihvdD0wKSxhZSYmKG4mJihuLnVuY2FjaGU9MSkscj0wLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUucGluPT09YWUmJnIrK30pLHJ8fChuLnNwYWNlcj0wKSksRS5vbktpbGwmJkUub25LaWxsKFRlKX0sVHQucHVzaChUZSksVGUuZW5hYmxlKCExLCExKSxpJiZpKFRlKSxPJiZPLmFkZCYmIU4pe3ZhciB2PVRlLnVwZGF0ZTtUZS51cGRhdGU9ZnVuY3Rpb24oKXtUZS51cGRhdGU9dixCfHxxfHxUZS5yZWZyZXNoKCl9LEhlLmRlbGF5ZWRDYWxsKC4wMSxUZS51cGRhdGUpLE49LjAxLEI9cT0wfWVsc2UgVGUucmVmcmVzaCgpO2FlJiZmdW5jdGlvbiBfcXVldWVSZWZyZXNoQWxsKCl7aWYobnQhPT1rdCl7dmFyIGU9bnQ9a3Q7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIGU9PT1rdCYmUHQoITApfSl9fSgpfWVsc2UgdGhpcy51cGRhdGU9dGhpcy5yZWZyZXNoPXRoaXMua2lsbD1IYX0sU2Nyb2xsVHJpZ2dlci5yZWdpc3Rlcj1mdW5jdGlvbiByZWdpc3RlcihlKXtyZXR1cm4gc3x8KEhlPWV8fEthKCksSmEoKSYmd2luZG93LmRvY3VtZW50JiZTY3JvbGxUcmlnZ2VyLmVuYWJsZSgpLHM9bHQpLHN9LFNjcm9sbFRyaWdnZXIuZGVmYXVsdHM9ZnVuY3Rpb24gZGVmYXVsdHMoZSl7aWYoZSlmb3IodmFyIHQgaW4gZSlDdFt0XT1lW3RdO3JldHVybiBDdH0sU2Nyb2xsVHJpZ2dlci5kaXNhYmxlPWZ1bmN0aW9uIGRpc2FibGUodCxyKXtsdD0wLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGVbcj8ia2lsbCI6ImRpc2FibGUiXSh0KX0pLHhiKE5lLCJ3aGVlbCIsSmIpLHhiKFhlLCJzY3JvbGwiLEpiKSxjbGVhckludGVydmFsKHUpLHhiKFhlLCJ0b3VjaGNhbmNlbCIsSGEpLHhiKFdlLCJ0b3VjaHN0YXJ0IixIYSksdmIoeGIsWGUsInBvaW50ZXJkb3duLHRvdWNoc3RhcnQsbW91c2Vkb3duIixGYSksdmIoeGIsWGUsInBvaW50ZXJ1cCx0b3VjaGVuZCxtb3VzZXVwIixHYSksYy5raWxsKCksUmEoeGIpO2Zvcih2YXIgZT0wO2U8SWUubGVuZ3RoO2UrPTMpeWIoeGIsSWVbZV0sSWVbZSsxXSkseWIoeGIsSWVbZV0sSWVbZSsyXSl9LFNjcm9sbFRyaWdnZXIuZW5hYmxlPWZ1bmN0aW9uIGVuYWJsZSgpe2lmKE5lPXdpbmRvdyxYZT1kb2N1bWVudCxKZT1YZS5kb2N1bWVudEVsZW1lbnQsV2U9WGUuYm9keSxIZSYmKFZlPUhlLnV0aWxzLnRvQXJyYXksVWU9SGUudXRpbHMuY2xhbXAseD1IZS5jb3JlLmNvbnRleHR8fEhhLCRlPUhlLmNvcmUuc3VwcHJlc3NPdmVyd3JpdGVzfHxIYSx3PU5lLmhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb258fCJhdXRvIixRPU5lLnBhZ2VZT2Zmc2V0LEhlLmNvcmUuZ2xvYmFscygiU2Nyb2xsVHJpZ2dlciIsU2Nyb2xsVHJpZ2dlciksV2UpKXtsdD0xLChfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zdHlsZS5oZWlnaHQ9IjEwMHZoIixfLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsWWIoKSxmdW5jdGlvbiBfcmFmQnVnRml4KCl7cmV0dXJuIGx0JiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoX3JhZkJ1Z0ZpeCl9KCksay5yZWdpc3RlcihIZSksU2Nyb2xsVHJpZ2dlci5pc1RvdWNoPWsuaXNUb3VjaCxFPWsuaXNUb3VjaCYmLyhpUGFkfGlQaG9uZXxpUG9kfE1hYykvZy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGI9MT09PWsuaXNUb3VjaCx3YihOZSwid2hlZWwiLEpiKSxsPVtOZSxYZSxKZSxXZV0sSGUubWF0Y2hNZWRpYT8oU2Nyb2xsVHJpZ2dlci5tYXRjaE1lZGlhPWZ1bmN0aW9uKGUpe3ZhciB0LHI9SGUubWF0Y2hNZWRpYSgpO2Zvcih0IGluIGUpci5hZGQodCxlW3RdKTtyZXR1cm4gcn0sSGUuYWRkRXZlbnRMaXN0ZW5lcigibWF0Y2hNZWRpYUluaXQiLGZ1bmN0aW9uKCl7cmV0dXJuIFNiKCl9KSxIZS5hZGRFdmVudExpc3RlbmVyKCJtYXRjaE1lZGlhUmV2ZXJ0IixmdW5jdGlvbigpe3JldHVybiBSYigpfSksSGUuYWRkRXZlbnRMaXN0ZW5lcigibWF0Y2hNZWRpYSIsZnVuY3Rpb24oKXtQdCgwLDEpLFUoIm1hdGNoTWVkaWEiKX0pLEhlLm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogcG9ydHJhaXQpIixmdW5jdGlvbigpe3JldHVybiBLYigpLEtifSkpOmNvbnNvbGUud2FybigiUmVxdWlyZXMgR1NBUCAzLjExLjAgb3IgbGF0ZXIiKSxLYigpLHdiKFhlLCJzY3JvbGwiLEpiKTt2YXIgZSx0LHI9V2Uuc3R5bGUsbj1yLmJvcmRlclRvcFN0eWxlLG89SGUuY29yZS5BbmltYXRpb24ucHJvdG90eXBlO2ZvcihvLnJldmVydHx8T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sInJldmVydCIse3ZhbHVlOmZ1bmN0aW9uIHZhbHVlKCl7cmV0dXJuIHRoaXMudGltZSgtLjAxLCEwKX19KSxyLmJvcmRlclRvcFN0eWxlPSJzb2xpZCIsZT13dChXZSksRmUubT1NYXRoLnJvdW5kKGUudG9wK0ZlLnNjKCkpfHwwLFllLm09TWF0aC5yb3VuZChlLmxlZnQrWWUuc2MoKSl8fDAsbj9yLmJvcmRlclRvcFN0eWxlPW46ci5yZW1vdmVQcm9wZXJ0eSgiYm9yZGVyLXRvcC1zdHlsZSIpLHU9c2V0SW50ZXJ2YWwoSWIsMjUwKSxIZS5kZWxheWVkQ2FsbCguNSxmdW5jdGlvbigpe3JldHVybiBpdD0wfSksd2IoWGUsInRvdWNoY2FuY2VsIixIYSksd2IoV2UsInRvdWNoc3RhcnQiLEhhKSx2Yih3YixYZSwicG9pbnRlcmRvd24sdG91Y2hzdGFydCxtb3VzZWRvd24iLEZhKSx2Yih3YixYZSwicG9pbnRlcnVwLHRvdWNoZW5kLG1vdXNldXAiLEdhKSxmPUhlLnV0aWxzLmNoZWNrUHJlZml4KCJ0cmFuc2Zvcm0iKSxlZS5wdXNoKGYpLHM9YXQoKSxjPUhlLmRlbGF5ZWRDYWxsKC4yLFB0KS5wYXVzZSgpLGc9W1hlLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe3ZhciBlPU5lLmlubmVyV2lkdGgsdD1OZS5pbm5lckhlaWdodDtYZS5oaWRkZW4/KGQ9ZSxwPXQpOmQ9PT1lJiZwPT09dHx8TGIoKX0sWGUsIkRPTUNvbnRlbnRMb2FkZWQiLFB0LE5lLCJsb2FkIixQdCxOZSwicmVzaXplIixMYl0sUmEod2IpLFR0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUuZW5hYmxlKDAsMSl9KSx0PTA7dDxJZS5sZW5ndGg7dCs9Myl5Yih4YixJZVt0XSxJZVt0KzFdKSx5Yih4YixJZVt0XSxJZVt0KzJdKX19LFNjcm9sbFRyaWdnZXIuY29uZmlnPWZ1bmN0aW9uIGNvbmZpZyhlKXsibGltaXRDYWxsYmFja3MiaW4gZSYmKHR0PSEhZS5saW1pdENhbGxiYWNrcyk7dmFyIHQ9ZS5zeW5jSW50ZXJ2YWw7dCYmY2xlYXJJbnRlcnZhbCh1KXx8KHU9dCkmJnNldEludGVydmFsKEliLHQpLCJpZ25vcmVNb2JpbGVSZXNpemUiaW4gZSYmKGI9MT09PVNjcm9sbFRyaWdnZXIuaXNUb3VjaCYmZS5pZ25vcmVNb2JpbGVSZXNpemUpLCJhdXRvUmVmcmVzaEV2ZW50cyJpbiBlJiYoUmEoeGIpfHxSYSh3YixlLmF1dG9SZWZyZXNoRXZlbnRzfHwibm9uZSIpLGg9LTE9PT0oZS5hdXRvUmVmcmVzaEV2ZW50cysiIikuaW5kZXhPZigicmVzaXplIikpfSxTY3JvbGxUcmlnZ2VyLnNjcm9sbGVyUHJveHk9ZnVuY3Rpb24gc2Nyb2xsZXJQcm94eShlLHQpe3ZhciByPUooZSksbj1JZS5pbmRleE9mKHIpLG89TGEocik7fm4mJkllLnNwbGljZShuLG8/NjoyKSx0JiYobz9MZS51bnNoaWZ0KE5lLHQsV2UsdCxKZSx0KTpMZS51bnNoaWZ0KHIsdCkpfSxTY3JvbGxUcmlnZ2VyLmNsZWFyTWF0Y2hNZWRpYT1mdW5jdGlvbiBjbGVhck1hdGNoTWVkaWEodCl7VHQuZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gZS5fY3R4JiZlLl9jdHgucXVlcnk9PT10JiZlLl9jdHgua2lsbCghMCwhMCl9KX0sU2Nyb2xsVHJpZ2dlci5pc0luVmlld3BvcnQ9ZnVuY3Rpb24gaXNJblZpZXdwb3J0KGUsdCxyKXt2YXIgbj0oY3QoZSk/SihlKTplKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPW5bcj9mdDpkdF0qdHx8MDtyZXR1cm4gcj8wPG4ucmlnaHQtbyYmbi5sZWZ0K288TmUuaW5uZXJXaWR0aDowPG4uYm90dG9tLW8mJm4udG9wK288TmUuaW5uZXJIZWlnaHR9LFNjcm9sbFRyaWdnZXIucG9zaXRpb25JblZpZXdwb3J0PWZ1bmN0aW9uIHBvc2l0aW9uSW5WaWV3cG9ydChlLHQscil7Y3QoZSkmJihlPUooZSkpO3ZhciBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz1uW3I/ZnQ6ZHRdLGk9bnVsbD09dD9vLzI6dCBpbiBIP0hbdF0qbzp+dC5pbmRleE9mKCIlIik/cGFyc2VGbG9hdCh0KSpvLzEwMDpwYXJzZUZsb2F0KHQpfHwwO3JldHVybiByPyhuLmxlZnQraSkvTmUuaW5uZXJXaWR0aDoobi50b3AraSkvTmUuaW5uZXJIZWlnaHR9LFNjcm9sbFRyaWdnZXIua2lsbEFsbD1mdW5jdGlvbiBraWxsQWxsKGUpe2lmKFR0LnNsaWNlKDApLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIlNjcm9sbFNtb290aGVyIiE9PWUudmFycy5pZCYmZS5raWxsKCl9KSwhMCE9PWUpe3ZhciB0PVcua2lsbEFsbHx8W107Vz17fSx0LmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGUoKX0pfX0sU2Nyb2xsVHJpZ2dlcik7ZnVuY3Rpb24gU2Nyb2xsVHJpZ2dlcihlLHQpe3N8fFNjcm9sbFRyaWdnZXIucmVnaXN0ZXIoSGUpfHxjb25zb2xlLndhcm4oIlBsZWFzZSBnc2FwLnJlZ2lzdGVyUGx1Z2luKFNjcm9sbFRyaWdnZXIpIikseCh0aGlzKSx0aGlzLmluaXQoZSx0KX1uZS52ZXJzaW9uPSIzLjEyLjUiLG5lLnNhdmVTdHlsZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/VmUoZSkuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlJiZlLnN0eWxlKXt2YXIgdD1qLmluZGV4T2YoZSk7MDw9dCYmai5zcGxpY2UodCw1KSxqLnB1c2goZSxlLnN0eWxlLmNzc1RleHQsZS5nZXRCQm94JiZlLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiksSGUuY29yZS5nZXRDYWNoZShlKSx4KCkpfX0pOmp9LG5lLnJldmVydD1mdW5jdGlvbihlLHQpe3JldHVybiBTYighZSx0KX0sbmUuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBuZShlLHQpfSxuZS5yZWZyZXNoPWZ1bmN0aW9uKGUpe3JldHVybiBlP0xiKCk6KHN8fG5lLnJlZ2lzdGVyKCkpJiZQdCghMCl9LG5lLnVwZGF0ZT1mdW5jdGlvbihlKXtyZXR1cm4rK0llLmNhY2hlJiZaKCEwPT09ZT8yOjApfSxuZS5jbGVhclNjcm9sbE1lbW9yeT1UYixuZS5tYXhTY3JvbGw9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUWEoZSx0P1llOkZlKX0sbmUuZ2V0U2Nyb2xsRnVuYz1mdW5jdGlvbihlLHQpe3JldHVybiBLKEooZSksdD9ZZTpGZSl9LG5lLmdldEJ5SWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIFN0W2VdfSxuZS5nZXRBbGw9ZnVuY3Rpb24oKXtyZXR1cm4gVHQuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiJTY3JvbGxTbW9vdGhlciIhPT1lLnZhcnMuaWR9KX0sbmUuaXNTY3JvbGxpbmc9ZnVuY3Rpb24oKXtyZXR1cm4hIXN0fSxuZS5zbmFwRGlyZWN0aW9uYWw9dGIsbmUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPVdbZV18fChXW2VdPVtdKTt+ci5pbmRleE9mKHQpfHxyLnB1c2godCl9LG5lLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgcj1XW2VdLG49ciYmci5pbmRleE9mKHQpOzA8PW4mJnIuc3BsaWNlKG4sMSl9LG5lLmJhdGNoPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gQ3AoZSx0KXt2YXIgcj1bXSxuPVtdLG89SGUuZGVsYXllZENhbGwoaSxmdW5jdGlvbigpe3QocixuKSxyPVtdLG49W119KS5wYXVzZSgpO3JldHVybiBmdW5jdGlvbihlKXtyLmxlbmd0aHx8by5yZXN0YXJ0KCEwKSxyLnB1c2goZS50cmlnZ2VyKSxuLnB1c2goZSksYTw9ci5sZW5ndGgmJm8ucHJvZ3Jlc3MoMSl9fXZhciByLG49W10sbz17fSxpPXQuaW50ZXJ2YWx8fC4wMTYsYT10LmJhdGNoTWF4fHwxZTk7Zm9yKHIgaW4gdClvW3JdPSJvbiI9PT1yLnN1YnN0cigwLDIpJiZUYSh0W3JdKSYmIm9uUmVmcmVzaEluaXQiIT09cj9DcCgwLHRbcl0pOnRbcl07cmV0dXJuIFRhKGEpJiYoYT1hKCksd2IobmUsInJlZnJlc2giLGZ1bmN0aW9uKCl7cmV0dXJuIGE9dC5iYXRjaE1heCgpfSkpLFZlKGUpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9e307Zm9yKHIgaW4gbyl0W3JdPW9bcl07dC50cmlnZ2VyPWUsbi5wdXNoKG5lLmNyZWF0ZSh0KSl9KSxufTtmdW5jdGlvbiB0YyhlLHQscixuKXtyZXR1cm4gbjx0P2Uobik6dDwwJiZlKDApLG48cj8obi10KS8oci10KTpyPDA/dC8odC1yKToxfWZ1bmN0aW9uIHVjKGUsdCl7ITA9PT10P2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRvdWNoLWFjdGlvbiIpOmUuc3R5bGUudG91Y2hBY3Rpb249ITA9PT10PyJhdXRvIjp0PyJwYW4tIit0KyhrLmlzVG91Y2g/IiBwaW5jaC16b29tIjoiIik6Im5vbmUiLGU9PT1KZSYmdWMoV2UsdCl9ZnVuY3Rpb24gd2MoZSl7dmFyIHQscj1lLmV2ZW50LG49ZS50YXJnZXQsbz1lLmF4aXMsaT0oci5jaGFuZ2VkVG91Y2hlcz9yLmNoYW5nZWRUb3VjaGVzWzBdOnIpLnRhcmdldCxhPWkuX2dzYXB8fEhlLmNvcmUuZ2V0Q2FjaGUoaSkscz1hdCgpO2lmKCFhLl9pc1Njcm9sbFR8fDJlMzxzLWEuX2lzU2Nyb2xsVCl7Zm9yKDtpJiZpIT09V2UmJihpLnNjcm9sbEhlaWdodDw9aS5jbGllbnRIZWlnaHQmJmkuc2Nyb2xsV2lkdGg8PWkuY2xpZW50V2lkdGh8fCFpZVsodD1tYihpKSkub3ZlcmZsb3dZXSYmIWllW3Qub3ZlcmZsb3dYXSk7KWk9aS5wYXJlbnROb2RlO2EuX2lzU2Nyb2xsPWkmJmkhPT1uJiYhTGEoaSkmJihpZVsodD1tYihpKSkub3ZlcmZsb3dZXXx8aWVbdC5vdmVyZmxvd1hdKSxhLl9pc1Njcm9sbFQ9c30hYS5faXNTY3JvbGwmJiJ4IiE9PW98fChyLnN0b3BQcm9wYWdhdGlvbigpLHIuX2dzYXBBbGxvdz0hMCl9ZnVuY3Rpb24geGMoZSx0LHIsbil7cmV0dXJuIGsuY3JlYXRlKHt0YXJnZXQ6ZSxjYXB0dXJlOiEwLGRlYm91bmNlOiExLGxvY2tBeGlzOiEwLHR5cGU6dCxvbldoZWVsOm49biYmd2Msb25QcmVzczpuLG9uRHJhZzpuLG9uU2Nyb2xsOm4sb25FbmFibGU6ZnVuY3Rpb24gb25FbmFibGUoKXtyZXR1cm4gciYmd2IoWGUsay5ldmVudFR5cGVzWzBdLHNlLCExLCEwKX0sb25EaXNhYmxlOmZ1bmN0aW9uIG9uRGlzYWJsZSgpe3JldHVybiB4YihYZSxrLmV2ZW50VHlwZXNbMF0sc2UsITApfX0pfWZ1bmN0aW9uIEJjKGUpe2Z1bmN0aW9uIHpxKCl7cmV0dXJuIG89ITF9ZnVuY3Rpb24gQ3EoKXtpPVFhKHAsRmUpLFM9VWUoRT8xOjAsaSksZiYmKFQ9VWUoMCxRYShwLFllKSkpLGw9a3R9ZnVuY3Rpb24gRHEoKXt2Ll9nc2FwLnk9SWEocGFyc2VGbG9hdCh2Ll9nc2FwLnkpK2Iub2Zmc2V0KSsicHgiLHYuc3R5bGUudHJhbnNmb3JtPSJtYXRyaXgzZCgxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAiK3BhcnNlRmxvYXQodi5fZ3NhcC55KSsiLCAwLCAxKSIsYi5vZmZzZXQ9Yi5jYWNoZUlEPTB9ZnVuY3Rpb24gSnEoKXtDcSgpLGEuaXNBY3RpdmUoKSYmYS52YXJzLnNjcm9sbFk+aSYmKGIoKT5pP2EucHJvZ3Jlc3MoMSkmJmIoaSk6YS5yZXNldFRvKCJzY3JvbGxZIixpKSl9VmEoZSl8fChlPXt9KSxlLnByZXZlbnREZWZhdWx0PWUuaXNOb3JtYWxpemVyPWUuYWxsb3dDbGlja3M9ITAsZS50eXBlfHwoZS50eXBlPSJ3aGVlbCx0b3VjaCIpLGUuZGVib3VuY2U9ISFlLmRlYm91bmNlLGUuaWQ9ZS5pZHx8Im5vcm1hbGl6ZXIiO3ZhciBuLGksbCxvLGEsYyx1LHMsZj1lLm5vcm1hbGl6ZVNjcm9sbFgsdD1lLm1vbWVudHVtLHI9ZS5hbGxvd05lc3RlZFNjcm9sbCxkPWUub25SZWxlYXNlLHA9SihlLnRhcmdldCl8fEplLGc9SGUuY29yZS5nbG9iYWxzKCkuU2Nyb2xsU21vb3RoZXIsaD1nJiZnLmdldCgpLHY9RSYmKGUuY29udGVudCYmSihlLmNvbnRlbnQpfHxoJiYhMSE9PWUuY29udGVudCYmIWguc21vb3RoKCkmJmguY29udGVudCgpKSxiPUsocCxGZSksbT1LKHAsWWUpLHk9MSx4PShrLmlzVG91Y2gmJk5lLnZpc3VhbFZpZXdwb3J0P05lLnZpc3VhbFZpZXdwb3J0LnNjYWxlKk5lLnZpc3VhbFZpZXdwb3J0LndpZHRoOk5lLm91dGVyV2lkdGgpL05lLmlubmVyV2lkdGgsdz0wLF89VGEodCk/ZnVuY3Rpb24oKXtyZXR1cm4gdChuKX06ZnVuY3Rpb24oKXtyZXR1cm4gdHx8Mi44fSxDPXhjKHAsZS50eXBlLCEwLHIpLFQ9SGEsUz1IYTtyZXR1cm4gdiYmSGUuc2V0KHYse3k6Iis9MCJ9KSxlLmlnbm9yZUNoZWNrPWZ1bmN0aW9uKGUpe3JldHVybiBFJiYidG91Y2htb3ZlIj09PWUudHlwZSYmZnVuY3Rpb24gaWdub3JlRHJhZygpe2lmKG8pe3JlcXVlc3RBbmltYXRpb25GcmFtZSh6cSk7dmFyIGU9SWEobi5kZWx0YVkvMiksdD1TKGIudi1lKTtpZih2JiZ0IT09Yi52K2Iub2Zmc2V0KXtiLm9mZnNldD10LWIudjt2YXIgcj1JYSgocGFyc2VGbG9hdCh2JiZ2Ll9nc2FwLnkpfHwwKS1iLm9mZnNldCk7di5zdHlsZS50cmFuc2Zvcm09Im1hdHJpeDNkKDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDEsIDAsIDAsICIrcisiLCAwLCAxKSIsdi5fZ3NhcC55PXIrInB4IixiLmNhY2hlSUQ9SWUuY2FjaGUsWigpfXJldHVybiEwfWIub2Zmc2V0JiZEcSgpLG89ITB9KCl8fDEuMDU8eSYmInRvdWNoc3RhcnQiIT09ZS50eXBlfHxuLmlzR2VzdHVyaW5nfHxlLnRvdWNoZXMmJjE8ZS50b3VjaGVzLmxlbmd0aH0sZS5vblByZXNzPWZ1bmN0aW9uKCl7bz0hMTt2YXIgZT15O3k9SWEoKE5lLnZpc3VhbFZpZXdwb3J0JiZOZS52aXN1YWxWaWV3cG9ydC5zY2FsZXx8MSkveCksYS5wYXVzZSgpLGUhPT15JiZ1YyhwLDEuMDE8eXx8IWYmJiJ4IiksYz1tKCksdT1iKCksQ3EoKSxsPWt0fSxlLm9uUmVsZWFzZT1lLm9uR2VzdHVyZVN0YXJ0PWZ1bmN0aW9uKGUsdCl7aWYoYi5vZmZzZXQmJkRxKCksdCl7SWUuY2FjaGUrKzt2YXIgcixuLG89XygpO2YmJihuPShyPW0oKSkrLjA1Km8qLWUudmVsb2NpdHlYLy4yMjcsbyo9dGMobSxyLG4sUWEocCxZZSkpLGEudmFycy5zY3JvbGxYPVQobikpLG49KHI9YigpKSsuMDUqbyotZS52ZWxvY2l0eVkvLjIyNyxvKj10YyhiLHIsbixRYShwLEZlKSksYS52YXJzLnNjcm9sbFk9UyhuKSxhLmludmFsaWRhdGUoKS5kdXJhdGlvbihvKS5wbGF5KC4wMSksKEUmJmEudmFycy5zY3JvbGxZPj1pfHxpLTE8PXIpJiZIZS50byh7fSx7b25VcGRhdGU6SnEsZHVyYXRpb246b30pfWVsc2Ugcy5yZXN0YXJ0KCEwKTtkJiZkKGUpfSxlLm9uV2hlZWw9ZnVuY3Rpb24oKXthLl90cyYmYS5wYXVzZSgpLDFlMzxhdCgpLXcmJihsPTAsdz1hdCgpKX0sZS5vbkNoYW5nZT1mdW5jdGlvbihlLHQscixuLG8pe2lmKGt0IT09bCYmQ3EoKSx0JiZmJiZtKFQoblsyXT09PXQ/YysoZS5zdGFydFgtZS54KTptKCkrdC1uWzFdKSkscil7Yi5vZmZzZXQmJkRxKCk7dmFyIGk9b1syXT09PXIsYT1pP3UrZS5zdGFydFktZS55OmIoKStyLW9bMV0scz1TKGEpO2kmJmEhPT1zJiYodSs9cy1hKSxiKHMpfShyfHx0KSYmWigpfSxlLm9uRW5hYmxlPWZ1bmN0aW9uKCl7dWMocCwhZiYmIngiKSxuZS5hZGRFdmVudExpc3RlbmVyKCJyZWZyZXNoIixKcSksd2IoTmUsInJlc2l6ZSIsSnEpLGIuc21vb3RoJiYoYi50YXJnZXQuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9ImF1dG8iLGIuc21vb3RoPW0uc21vb3RoPSExKSxDLmVuYWJsZSgpfSxlLm9uRGlzYWJsZT1mdW5jdGlvbigpe3VjKHAsITApLHhiKE5lLCJyZXNpemUiLEpxKSxuZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZWZyZXNoIixKcSksQy5raWxsKCl9LGUubG9ja0F4aXM9ITEhPT1lLmxvY2tBeGlzLCgobj1uZXcgayhlKSkuaU9TPUUpJiYhYigpJiZiKDEpLEUmJkhlLnRpY2tlci5hZGQoSGEpLHM9bi5fZGMsYT1IZS50byhuLHtlYXNlOiJwb3dlcjQiLHBhdXNlZDohMCxpbmhlcml0OiExLHNjcm9sbFg6Zj8iKz0wLjEiOiIrPTAiLHNjcm9sbFk6Iis9MC4xIixtb2RpZmllcnM6e3Njcm9sbFk6cGMoYixiKCksZnVuY3Rpb24oKXtyZXR1cm4gYS5wYXVzZSgpfSl9LG9uVXBkYXRlOlosb25Db21wbGV0ZTpzLnZhcnMub25Db21wbGV0ZX0pLG59dmFyIG9lLGllPXthdXRvOjEsc2Nyb2xsOjF9LGFlPS8oaW5wdXR8bGFiZWx8c2VsZWN0fHRleHRhcmVhKS9pLHNlPWZ1bmN0aW9uIF9jYXB0dXJlSW5wdXRzKGUpe3ZhciB0PWFlLnRlc3QoZS50YXJnZXQudGFnTmFtZSk7KHR8fG9lKSYmKGUuX2dzYXBBbGxvdz0hMCxvZT10KX07bmUuc29ydD1mdW5jdGlvbihlKXtyZXR1cm4gVHQuc29ydChlfHxmdW5jdGlvbihlLHQpe3JldHVybi0xZTYqKGUudmFycy5yZWZyZXNoUHJpb3JpdHl8fDApK2Uuc3RhcnQtKHQuc3RhcnQrLTFlNioodC52YXJzLnJlZnJlc2hQcmlvcml0eXx8MCkpfSl9LG5lLm9ic2VydmU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBrKGUpfSxuZS5ub3JtYWxpemVTY3JvbGw9ZnVuY3Rpb24oZSl7aWYodm9pZCAwPT09ZSlyZXR1cm4gdjtpZighMD09PWUmJnYpcmV0dXJuIHYuZW5hYmxlKCk7aWYoITE9PT1lKXJldHVybiB2JiZ2LmtpbGwoKSx2b2lkKHY9ZSk7dmFyIHQ9ZSBpbnN0YW5jZW9mIGs/ZTpCYyhlKTtyZXR1cm4gdiYmdi50YXJnZXQ9PT10LnRhcmdldCYmdi5raWxsKCksTGEodC50YXJnZXQpJiYodj10KSx0fSxuZS5jb3JlPXtfZ2V0VmVsb2NpdHlQcm9wOkwsX2lucHV0T2JzZXJ2ZXI6eGMsX3Njcm9sbGVyczpJZSxfcHJveGllczpMZSxicmlkZ2U6e3NzOmZ1bmN0aW9uIHNzKCl7c3R8fFUoInNjcm9sbFN0YXJ0Iiksc3Q9YXQoKX0scmVmOmZ1bmN0aW9uIHJlZigpe3JldHVybiBqZX19fSxLYSgpJiZIZS5yZWdpc3RlclBsdWdpbihuZSksZS5TY3JvbGxUcmlnZ2VyPW5lLGUuZGVmYXVsdD1uZTtpZiAodHlwZW9mKHdpbmRvdyk9PT0idW5kZWZpbmVkInx8d2luZG93IT09ZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSBlbHNlIHtkZWxldGUgZS5kZWZhdWx0fX0pOwoK"}},"time_used":77,"timings":{"blocked":-1,"dns":2,"connect":0,"send":0,"wait":50,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/syne/v24/8vIH7w4qzmVxm2BL9A.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.074Z","timestamp":1785160687074,"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/syne/v24/8vIH7w4qzmVxm2BL9A.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.logistics.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 34608\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:55:49 GMT\r\nexpires: Sat, 24 Jul 2027 18:55:49 GMT\r\ncache-control: public, max-age=31536000\r\nage: 241338\r\nlast-modified: Tue, 16 Sep 2025 13:27:50 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":34608,"size_decoded":35421,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 34608, version 1.0","md5":"559e8363d74f653c3f4f0a70caed2053","sha1":"0f50393efc7790d897e00024335d2c3398c13916","sha256":"68b623f0e45b905041b2edb9b2e4f563a505f13db1cd06b5f1946eb2e1f47048","sha512":"52fa63b0757b446e366b062b11b38fd9e81c5f752541b265d358d0e8a789eeb36bc322deb3e2719717401d91f9c3fa1f5cfb80a26ad9ae7451b068a88f3d5d3a","ssdeep":"768:VCLAKNFxbb9iPf3U0gTLKtAE54FB+6sfkxEpIX5yNz0zRjcUfgg:VCcgeHmTmL54F16a2aVpfB","tlshash":"d3f2f19ad9096d0dd938077603a230e6ec95197b3150f19e313a34231e7fae0a7dd6bc","first_seen":"2025-06-03T14:30:46.285622Z","last_seen":"2026-08-17T19:03:52.339673Z","times_seen":4751,"resource_available":false,"data":"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"}},"time_used":97,"timings":{"blocked":-1,"dns":1,"connect":0,"send":0,"wait":30,"receive":34,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/syne/v24/8vIH7w4qzmVxm2BL9A.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.077Z","timestamp":1785160687077,"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/syne/v24/8vIH7w4qzmVxm2BL9A.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.logistics.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 34608\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:55:49 GMT\r\nexpires: Sat, 24 Jul 2027 18:55:49 GMT\r\ncache-control: public, max-age=31536000\r\nage: 241338\r\nlast-modified: Tue, 16 Sep 2025 13:27:50 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":34608,"size_decoded":35421,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 34608, version 1.0","md5":"559e8363d74f653c3f4f0a70caed2053","sha1":"0f50393efc7790d897e00024335d2c3398c13916","sha256":"68b623f0e45b905041b2edb9b2e4f563a505f13db1cd06b5f1946eb2e1f47048","sha512":"52fa63b0757b446e366b062b11b38fd9e81c5f752541b265d358d0e8a789eeb36bc322deb3e2719717401d91f9c3fa1f5cfb80a26ad9ae7451b068a88f3d5d3a","ssdeep":"768:VCLAKNFxbb9iPf3U0gTLKtAE54FB+6sfkxEpIX5yNz0zRjcUfgg:VCcgeHmTmL54F16a2aVpfB","tlshash":"d3f2f19ad9096d0dd938077603a230e6ec95197b3150f19e313a34231e7fae0a7dd6bc","first_seen":"2025-06-03T14:30:46.285622Z","last_seen":"2026-08-17T19:03:52.339673Z","times_seen":4751,"resource_available":false,"data":"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"}},"time_used":92,"timings":{"blocked":26,"dns":0,"connect":0,"send":0,"wait":37,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"b.tile.openstreetmap.org/12/2086/1974.png","fqdn":"b.tile.openstreetmap.org","domain":"openstreetmap.org","tld":"org"},"ip":{"addr":"151.101.129.91","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.logistics.demotunde.com/","date":"2026-07-27T13:58:07.114Z","timestamp":1785160687114,"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":"*.tile.openstreetmap.org","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2025 Q4","organization":"GlobalSign nv-sa"},"validity":{"start":"Mon, 10 Nov 2025 22:07:49 GMT","end":"Sat, 12 Dec 2026 22:07:48 GMT"},"fingerprint":{"sha1":"75:F5:84:86:D2:FB:5B:BD:F5:9E:03:15:90:A4:B5:AA:4F:97:DA:80","sha256":"39:28:CC:66:3D:EE:1B:28:FD:E0:C4:5C:E5:6E:C6:AF:BE:32:53:8F:D7:4A:46:10:E0:4B:47:7D:AF:B9:D9:FA"}}},"request":{"raw":"GET /12/2086/1974.png HTTP/1.1\r\nHost: b.tile.openstreetmap.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-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.logistics.demotunde.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\ncontent-type: image/png\r\ncache-control: max-age=92600, stale-while-revalidate=604800, stale-if-error=604800\r\nexpires: Sun, 26 Jul 2026 18:15:25 GMT\r\nserver: Apache\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\netag: \"285286d7ac1e3eaef5195f01b93e9f1e\"\r\nx-tilerender: nidhogg.openstreetmap.org\r\naccess-control-allow-origin: *\r\naccept-ranges: bytes\r\nage: 10709\r\ndate: Mon, 27 Jul 2026 13:58:07 GMT\r\nvia: 1.1 varnish\r\nx-served-by: cache-bma-essb1270069-BMA, cache-bma-essb1270057-BMA\r\nx-cache: MISS, HIT\r\nx-cache-hits: 0, 0\r\nx-timer: S1785160687.157239,VS0,VE1\r\nx-totp: INVALID\r\nx-totp-int: 677631\r\nx-totp-hmac: 6TrJXDCKo6mU/mCkYRrp5fL/Wq4=\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 34894\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Varnish","description":"Varnish is a reverse caching proxy.","website":"https://www.varnish-cache.org","common_platform_enumeration":"cpe:2.3:a:varnish-software:varnish_cache:*:*:*:*:*:*:*:*","icon":"Varnish.svg","categories":["Caching"]},{"name":"Apache HTTP Server","description":"Apache is a free and open-source cross-platform web server software.","website":"https://httpd.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*","icon":"Apache.svg","categories":["Web servers"]}],"data":{"size":34894,"size_decoded":35691,"mime_type":"image/png","magic":"PNG image data, 256 x 256, 8-bit colormap, non-interlaced","md5":"285286d7ac1e3eaef5195f01b93e9f1e","sha1":"db3f18f83c7ccf7032939eee333ce3f475118b23","sha256":"9e0675f0edab6e9c917cd6dec943e18617bba00d6070cf6a18f0b81ca3c401c0","sha512":"90c24a24ac212f8f4204e17c15bde0bf7d0b15651e462ce6d3943b37086643a1bc6754ec81bdad35aa656b460b9e5ec14714039828dc6d31ab9af66d9c4c1b62","ssdeep":"768:u8VsNwRsSk7N79g47ecugcKI5+ShUYFFVWDpJF7gumgaLp7RA4/LvNRYGCmMTcU3:dLWSkZ7e4CcugcKIpiYbQD7F7YhuALvQ","tlshash":"bff2f1a6f937e79f9b625162a5fb4ccc4502033a53879acc1995192b173b3fce0221de","first_seen":"2026-07-27T07:46:39.916944Z","last_seen":"2026-07-27T13:58:36.77209Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":53,"timings":{"blocked":-1,"dns":1,"connect":10,"send":0,"wait":10,"receive":6,"ssl":25},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
