{"report_id":"b960afde-3db2-4e75-80ba-2e2135d6800c","version":0,"status":"done","tags":[],"date":"2026-07-27T06:26:33Z","url":{"schema":"https","addr":"app.blockinv.com/","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"76.76.21.164","port":0,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"app.blockinv.com/","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"title":"BlockInv || Login","dom":{"size":7078,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (6198)","md5":"b76e69edc1830bc7b5a01887c6da72a9","sha1":"12f7460e349adb14691fe7d949b7787bfd67e095","sha256":"cd8a43158de3e8987161777dd88cd24c74a5efc2d56db03e7a4cbd633a67adad","sha512":"44ee6f2326ce31891f59c7e5cd33e3cb6a3e00deea2988add0f144d2cd0909e05a8f1ba836c2e2178035d62f15cd9eb07b2afc25fccc476d3ec1e182d419e88c","ssdeep":"96:nGX47uNQ+/2Lq76D/fEh/81kuV7VxrVwBtqMkRkHjPd44jaJXH1PbfNmdNTfdkYp:GUuNd/2Lq76D/fyAxxBjwmbfNCTfTp","tlshash":"26e1d8a25d264d028637dcc8b971970f3053c52ee7a284047fec8b6d87eade98d19594","dom_hash":"domhash0ac50d2b5ee4475b3ae94f4d8c77ac55","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"app.blockinv.com/","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"76.76.21.164","port":0,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T06:26:33Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":1}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"app.blockinv.com","ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2024-07-28","domain_rank":0,"first_seen":"2026-07-27T03:07:29.976851Z","last_seen":"2026-07-27T03:07:29.976851Z","alert_count":17,"request_count":17,"received_data":471812,"sent_data":8219,"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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}]},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2012-08-25","domain_rank":411464,"first_seen":"2021-07-12T07:42:32Z","last_seen":"2026-07-24T09:04:26.067381Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":631,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget-v3.smartsuppcdn.com","ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":7,"received_data":413440,"sent_data":3369,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18547,"sent_data":463,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.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":3,"received_data":113619,"sent_data":1715,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":7732,"sent_data":517,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1660,"sent_data":535,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":37917,"sent_data":651,"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":"files.smartsuppcdn.com","ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":1688565,"first_seen":"2019-05-16T16:49:35Z","last_seen":"2026-07-22T15:44:23.522768Z","alert_count":0,"request_count":1,"received_data":6862,"sent_data":509,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]}],"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":"app.blockinv.com/_next/static/chunks/main-63e3823b1afa5a4b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"5c52c25474d00570ff105e8393920494","sha1":"3cc1b107eaead74f05d5f2fb00b9679307cd52d2","sha256":"54efa0b4999f4275c733736b2d84c11d8fd264c92c9741207039b2b17e3d8e49","sha512":"4a1df70437d45047c37e9ff6a3bd89d403acf2d4beef546984d6f8a12d330983fcbb94b8740b911e82d616a1227cb5623c72961591feb77b46227bc1b51e790b","ssdeep":"1536:ZXkqQDlfUZxYucIufM/o433dX4NQpsBrylVdBSGjP2d0/Y:OVUZ8EQcdINiqylFSGjPu0/Y","tlshash":"36b3fab676d1f8a203c741d4843b4006f36a1dbe142f6045b3aadcd6b96499ea0f3f79","size":111142,"data":"","first_seen":"2026-07-27T03:07:35.250004Z","last_seen":"2026-07-27T06:26:35.980232Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/pages/index-ade5997943c9b37b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"69088a0fa4ac7d4ed8b6546e8a2474cf","sha1":"706fd65e1304fb4fb88d466b81541ffa771c4b43","sha256":"4d83d41e43a0826b9db0ba1bb4df84dd7c9d155136f63b0ed47d700c140c11df","sha512":"240cadaffdbf5c00bec332c1beb9ecd02e5ddd6cbc1350c2cb624a1c8ecd16b96c0a3f15047cbccfd65c1f1a42bda783a70acf62224211b9ca4d74bf590ae531","ssdeep":"","tlshash":"76f0979838d27c64224324f8003b280fb6be285828ad2488a3a180c53c3456c9122fcc","size":454,"data":"","first_seen":"2026-07-27T03:07:35.300268Z","last_seen":"2026-07-27T06:26:35.978712Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/z43dh2jj8Bkw_patjmqE0/_buildManifest.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"1b5f5b6eee0d36b154bda8e73e58b125","sha1":"91430462e10a1574aa64b9026aeadafe91841b9a","sha256":"fbaf04e1773b6f8a0e843e0ac84cd3598baa98af52d68eee311ee71c24ae73d7","sha512":"df53e6f86c3a7d14192d48a7f5a93f1afd3244356cd4310b49254c07c722309dd186a7424a26790bc2fff4ad9394c7d1668f6f8bcec4b83819c85bc8e65975f0","ssdeep":"384:Ey7GwOMMZ2rdN+PG8rKXVbSyH5yyLyKsRbc7qSloSbXgMES:EybOlZkn84VsSXAS","tlshash":"ae529e269459e1022dd0dc8c73362fe3cad1a5b19e768258677e0ea807c3576bf4e463","size":14371,"data":"","first_seen":"2026-07-27T03:07:35.30709Z","last_seen":"2026-07-27T06:26:35.985397Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/WidgetMessengerInput-C0XHPxev.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaa675e50b163c104dcffd851566a1bb","sha1":"ded2af518c336ad57fcf3c0f1fafc7615d332c01","sha256":"e4e6c4f8a9bb605f5b206697ede7cdf6008cac2d536490f3ed70363411656397","sha512":"c0c30ed17ec23bc1c82de26215d7f253f7bd6954bde3a739f51aa4ddd52cca751961227f0ec13a4791203bf3594a9da1dfa4f7e119a94f2463387a30d2e3bce7","ssdeep":"1536:ZKdYy+51NnmJRgKLNNMDJa890D+Q5tViyg/2CLTOxoV99vW33XdwtnD1gP/gv1NI:ZVGR69MVicclW2a","tlshash":"cd635c843304b43d616f866a906e911ab3375198644bc03cb92edcd939b4cd86abffb5","size":67867,"data":"","first_seen":"2026-07-09T10:36:52.138249Z","last_seen":"2026-07-27T07:19:42.484732Z","times_seen":48,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/framework-945b357d4a851f4b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"3e0be0c20d8ec72d51721fa067bcf007","sha1":"4a609e7d590673d77039b3819e940cd201dc26ea","sha256":"b051674b20e716839ceb594ff84b53cd3c9ffb3180efc7a30f23203c5303c364","sha512":"57489e972ea9682b4dda3b43547bc4f134b11e7f741c49643b88e49f47be8b525110741b1e17bdfcfbf225cb6289721ee4c431e1678cb0ac0b060b691a726952","ssdeep":"1536:M3ov1NH6ZMumbFHH4jeUn6SJk1SNoc7I6rRqQL:M4zb5e6Sa1SRBFhL","tlshash":"f8d309e83996f6516ab311a700ef2803737d1a1b280c4960e215fd9e75b842bb17bfdd","size":140001,"data":"","first_seen":"2024-09-16T14:21:19Z","last_seen":"2026-07-30T05:53:23.018859Z","times_seen":2928,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/1a48c3c1-3324f125fd14ce94.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"da76065e39cb78bfee31241b047bfbc0","sha1":"dfb8c1e0ac6d862107e1f58941e33ddb713c015d","sha256":"3a546cebff1dc3f388448b6fdf84e1161e205f0a3b2a077c991bc59b42c5e812","sha512":"3c3ff00751d3e1857ac5c733b3028d87a0992487a8df71f8e53bd3dc813be9c39f67ed902fdb71f22a32198736cba44d665f76bd6daccfac08faebcb965cca4c","ssdeep":"","tlshash":"d74121c362a8a50c45c62c70d797a417b35e2a7f374791581b2ecac980e3c69f413caf","size":2345,"data":"","first_seen":"2026-07-27T03:07:35.324964Z","last_seen":"2026-07-27T06:26:35.991592Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-07-30T06:08:39.271456Z","times_seen":7765,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/webpack-5bcdd8f7455b7410.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"24368eff7c59d544581566d103beadb8","sha1":"d2a046c1a8e13a53f2cb11ec0ca85182e6f5ca7d","sha256":"4ef7742cfffb9c3ea27085c11aba6454e099734967bfc42271f5f6d34c2b5d1f","sha512":"ae9b9fe6992283dfc773c71bed6f698f3349a133ff28a1786b623fe913ccf4d283c683123f945a47cf81736a497d19d9c31cd167ad0c907c8e24738cc4e9ce7f","ssdeep":"96:cMyYE1q9WlR3zMka20VGL6VLW56l2WRZBLfYysP6pZxzq:cz1mWlNtajUmYyR7NsyLxzq","tlshash":"299195ed3161f879178360e1403fe556f23f28b2295ee4a0da1dd8f5fc74a498522fa8","size":4288,"data":"","first_seen":"2026-07-27T03:07:35.230203Z","last_seen":"2026-07-27T06:26:35.989671Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/pages/_app-877e785a3b7ab662.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"433cfa253cc0e730da9cb2be344abcd1","sha1":"fde72f00cddb1a4e0eecb0730d5ea572d6bdff74","sha256":"496d83eefeb7f7105c99206a486f3d57f884abe068ea10be86cd6ce405f93135","sha512":"66e8b295e7d8c77abc7bfe52ba3ff977dc64c074ef1906f067e4c0ccb23b03693d3a1bdf0e4bb8d44bd5b63aea26a8ca4864792b0be53cbbead9041d459dacb0","ssdeep":"192:w5IleZQBN1koJnf33LlInWfnzh2X7kxrFcUhjnaquo+r7u5yyhEyb/JrwjvImG6:AIFD//3Lz2arJruwyibhEl9","tlshash":"aa7219c1b350b9b886ebd11b102f000df6392745945e482479be8c9db574b989bb3fbe","size":17030,"data":"","first_seen":"2026-07-27T03:07:35.321761Z","last_seen":"2026-07-27T06:26:35.97444Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/98ea7ec2-134c317fa6543ef5.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8e173990094b029c2b1ecdb8e90a66d0","sha1":"b51ffd030e81105a167cf5cbd2b1cfbc79c1a466","sha256":"2b67d850ba0d5a269a750ef34e72cf59b7b88fae7aad4789ed7bcb1d44e75281","sha512":"f50b69fd3b204aa165e3f5949f61bc523f7e81d180a4676c2754afa21521df4c8f0778599c1778ef8ccfe8c197db48a2c45c3dfb27a70b440e6a4648b1be8ac4","ssdeep":"","tlshash":"01514d89628d243c7446d074b3927427a6bb1abf3847e0995f3884b9e792844e737dcf","size":3023,"data":"","first_seen":"2026-07-27T03:07:35.202087Z","last_seen":"2026-07-27T06:26:35.981944Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/5675-34dec35de85b2a2f.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2324f109405610d89368ab107eff65fa","sha1":"3e6cbea95dc5bc0e4df451103971b0f42bf3d4e9","sha256":"f4bd36f1450c8c741ca70ce929ccc65826c8878e0c722b85eec853cf956a9e9c","sha512":"12f27d044ae2864ce4a5570721a87f2be4cf2eef13f86137a46344b0fef8b05ee91c51d03e71893d5c82dadbe1b970a16d6acd93bfbdac39687d6bd1c737dfed","ssdeep":"192:KPXKacUq+1OJKA/SVqF9L2BjBwjLjvFmKmmTy2a/97HRFdl8fQKY:OaaPq+oA0FGqLTy95yfY","tlshash":"bd12197736d9fcda230b81e4982f040ef7b919b1672af0407be489c49970954b162f7e","size":9552,"data":"","first_seen":"2025-02-27T14:50:10.134925Z","last_seen":"2026-07-27T06:26:35.993169Z","times_seen":154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/7271-1c6a16dde287fc11.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"5f0b1319e48c5ce405851dc4deced264","sha1":"55fa59ed01a7c8287372df3595ee8a222aea9294","sha256":"e8de41822bdcfbbae5d9a191a15f784046b535f6b45d41fb17277c5175ab77a2","sha512":"e6ac8ad0c453a93aad427997379e48656d5bf5f49231c2216944d8a248eef5590ff3dd961f9bdfb3205f0ccf855228ad38deaddd3e79ba61564a7292a3173d13","ssdeep":"384:dcxYdKxYJxYWyqBYFmqUYh0oq0qUNvNdNYksKywz5qBTBwvHC+LPeJHST:yxYdKxYJxYW/vS7dNYke9o4+","tlshash":"0fa22274f4d6bc0b9f310c95909eae079c6d8c9bf3256c50af019c8f9868936bf599e0","size":21981,"data":"","first_seen":"2026-07-27T03:07:35.258841Z","last_seen":"2026-07-27T06:26:35.961483Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/5642-7d2a90b528ebc65b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"4cbf3e356d8f54a75bcd2252246f449d","sha1":"df797ec5fc8410beec523f50340fc87ed0f0315f","sha256":"eaae9a3f2ea4288bafd4ffbaa877cf88fb26f296a166805db0071a98b77aa014","sha512":"670d3a9418f3cd86ce98a6a1d543699066029ea4cd36a83dc59ed3b5d1b81ba36128e4a6e40f43710aece401a9aab533fa6edfffcf5392f1c63e9eea01e33b65","ssdeep":"96:cP6N2uqZn3yGi7epGGonjaIFVEgttT2CrKe4Y096qCXnn:cPePAn3yG4epGN2DaQ2","tlshash":"dcb12200a071fedcfa7a04dc982f501c712f6a48d6694d70f6b4ac7528698c9771bbde","size":5300,"data":"","first_seen":"2026-07-27T03:07:35.281072Z","last_seen":"2026-07-27T06:26:35.963964Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/z43dh2jj8Bkw_patjmqE0/_ssgManifest.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b6652df95db52feb4daf4eca35380933","sha1":"65451d110137761b318c82d9071c042db80c4036","sha256":"6f5b4aa00d2f8d6aed9935b471806bf7acef464d0c1d390260e5fe27f800c67e","sha512":"3390c5663ef9081885df8cdbc719f6c2f1597a4e25168529598097e9472608a4a62ec7f7e0bc400d22aac81bf6ea926532886e4dc6e4e272d3b588490a090473","ssdeep":"","tlshash":"98a001e0943cdc60aa63dd1c136413128fa05122651d28938afd3044c0301510300d90","size":77,"data":"","first_seen":"2023-03-07T01:03:02Z","last_seen":"2026-07-30T06:21:46.373699Z","times_seen":249508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/WidgetPopup-qeuwkcBn.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"1be094293b699930ca37ad532310be69","sha1":"3d311d30cb84d8aa8a82be20846164869dd1f43a","sha256":"d18f83a6bf57601c2bc7f06f6e4fe8e9debeef691c088547a13a101dd03a9a88","sha512":"de11f4905e9e85d9f19144ddb1f2c13c0bfeda8790b3c2ae4f29c8e6f3753f7f274a664d4e3495456bbdff45b25460af21e2c6bc9df09c532da907463504fc09","ssdeep":"96:+0xM59NRrF/5dtRHjbkkJ+p1YKpAqFTkOEBzBMvqn3ALbNIeZ3UmQXIt32zrTvc:jM59x5dtRHPEpqnqZkuvU3SbJ3kz/k","tlshash":"bec195b52151b03ef64eb444aa28e17fb22dd0c5da07413d594bed5833d8cc28dd7799","size":5721,"data":"","first_seen":"2026-07-09T10:36:52.128484Z","last_seen":"2026-07-27T07:19:42.432084Z","times_seen":48,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"5a6df47db0bc3e1e3688ffdc1d71ff12","sha1":"88370ee96dbe98769f941a2bf5bfbc641abc34af","sha256":"73c9684d55f1bf7fc01f4cdd5149728d3b618a493d0b9a42f2427aa95d4a827a","sha512":"99e833d8bdd6fb913ac35e9afff8d2bd0f10224347400a9530f18b52869825b0bbe8fbb2697c14daa6c3c1746592c461e5ccf5b252ea1da635d4da7666f7879b","ssdeep":"","tlshash":"acf0ab3e2c7640940b9750a8d3bbe2283a2a30660440c417bc5ddc694fb0bcabd006a8","size":514,"data":"","first_seen":"2026-07-27T03:07:35.329687Z","last_seen":"2026-07-27T06:26:36.001336Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"warn","text":"[Smartsupp] Could not play message sound.The play method is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.","filename":"https://widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","line_number":2,"column_number":13426}]},"http":[{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/7271-1c6a16dde287fc11.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.435Z","timestamp":1785133562435,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/7271-1c6a16dde287fc11.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"7271-1c6a16dde287fc11.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"ec48b0fe524157875fcce4293bd64443\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/7271-1c6a16dde287fc11.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::k8pfd-1785133562439-eab2c6dc498b\r\ncontent-length: 4877\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":"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":21981,"size_decoded":5514,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (21981), with no line terminators","md5":"5f0b1319e48c5ce405851dc4deced264","sha1":"55fa59ed01a7c8287372df3595ee8a222aea9294","sha256":"e8de41822bdcfbbae5d9a191a15f784046b535f6b45d41fb17277c5175ab77a2","sha512":"e6ac8ad0c453a93aad427997379e48656d5bf5f49231c2216944d8a248eef5590ff3dd961f9bdfb3205f0ccf855228ad38deaddd3e79ba61564a7292a3173d13","ssdeep":"384:dcxYdKxYJxYWyqBYFmqUYh0oq0qUNvNdNYksKywz5qBTBwvHC+LPeJHST:yxYdKxYJxYW/vS7dNYke9o4+","tlshash":"0fa22274f4d6bc0b9f310c95909eae079c6d8c9bf3256c50af019c8f9868936bf599e0","first_seen":"2026-07-27T03:07:35.258841Z","last_seen":"2026-07-27T06:26:35.961483Z","times_seen":2,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua19OX0U9c2VsZi53ZWJwYWNrQ2h1bmtfTl9FfHxbXSkucHVzaChbWzcyNzFdLHs5NzI3MTpmdW5jdGlvbihBLEUsQil7Qi5kKEUse0lQOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LF9OOmZ1bmN0aW9uKCl7cmV0dXJuIEp9LE1YOmZ1bmN0aW9uKCl7cmV0dXJuIEh9LFZPOmZ1bmN0aW9uKCl7cmV0dXJuIEZ9LFBXOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LFhDOmZ1bmN0aW9uKCl7cmV0dXJuIG19LHVjOmZ1bmN0aW9uKCl7cmV0dXJuIFB9LGFMOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGpJOmZ1bmN0aW9uKCl7cmV0dXJuIFR9LGlDOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LEhkOmZ1bmN0aW9uKCl7cmV0dXJuIGp9LHh2OmZ1bmN0aW9uKCl7cmV0dXJuIER9LFQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sVnY6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sQkc6ZnVuY3Rpb24oKXtyZXR1cm4gSX0scms6ZnVuY3Rpb24oKXtyZXR1cm4gdH0scHg6ZnVuY3Rpb24oKXtyZXR1cm4gc30sb1g6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sWEw6ZnVuY3Rpb24oKXtyZXR1cm4gen0sRXY6ZnVuY3Rpb24oKXtyZXR1cm4gT30sZzU6ZnVuY3Rpb24oKXtyZXR1cm4gaX0salk6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sb186ZnVuY3Rpb24oKXtyZXR1cm4gUX0sR0k6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sTXk6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sR1I6ZnVuY3Rpb24oKXtyZXR1cm4gd30sTVQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdnY6ZnVuY3Rpb24oKXtyZXR1cm4gU30sVE06ZnVuY3Rpb24oKXtyZXR1cm4gcn0sRHY6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdTQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sSE86ZnVuY3Rpb24oKXtyZXR1cm4gY30sYVQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sTlk6ZnVuY3Rpb24oKXtyZXR1cm4geH0sck86ZnVuY3Rpb24oKXtyZXR1cm4gTX0sZ0M6ZnVuY3Rpb24oKXtyZXR1cm4gVX0sUU06ZnVuY3Rpb24oKXtyZXR1cm4gUn0sVjE6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTt2YXIgZz17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2xvZ28uYTM5ZWYwZjQucG5nIixoZWlnaHQ6MjQ5LHdpZHRoOjI1OSxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQWVGQk1WRVZNYVhIMVhVNHVGQnNsYm90ZVcxMUlYR01sSFNtdWFsQ01xYThzSHloSzlhbVNmMmRtZjNoUmIzRmxhVlJXYVdoc1NEcjhSVVVXRmlvMmRvclpURWdmSlQxRkpTQ0hjSEFuWVhZcEZSODlMVE16WW5MWVptbHdaNGtubWJFNC8yc29RMWczTWpjb01EdzdIeHVmUVN4SlVWY1JPRncrVjNDQXdXSjdBQUFBSUhSU1RsTUFadjM1VWtqOEJoRDdHR3lXeEtuc3pYSDlpTC84MlNMS3k3T3BwNDJBWklDZ1NLb0FBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFCR1NVUkJWSGljQmNFRkFvQWdFQVRBSmUvQTdsWXcvLzlEWjNDSTFRTWcrTzBiRzhNYVJyMHVoaUxIcnJyYWhZeXdQTTdhTXdWMGxQSXFFd2JQVTM4TEVFZ1BwcTBJUDRuRUE3UlNaTG9jQUFBQUFFbEZUa1N1UW1DQyIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo4fSxRPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvbG9nbzIuYTM5ZWYwZjQucG5nIixoZWlnaHQ6MjQ5LHdpZHRoOjI1OSxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQWVGQk1WRVZNYVhIMVhVNHVGQnNsYm90ZVcxMUlYR01sSFNtdWFsQ01xYThzSHloSzlhbVNmMmRtZjNoUmIzRmxhVlJXYVdoc1NEcjhSVVVXRmlvMmRvclpURWdmSlQxRkpTQ0hjSEFuWVhZcEZSODlMVE16WW5MWVptbHdaNGtubWJFNC8yc29RMWczTWpjb01EdzdIeHVmUVN4SlVWY1JPRncrVjNDQXdXSjdBQUFBSUhSU1RsTUFadjM1VWtqOEJoRDdHR3lXeEtuc3pYSDlpTC84MlNMS3k3T3BwNDJBWklDZ1NLb0FBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFCR1NVUkJWSGljQmNFRkFvQWdFQVRBSmUvQTdsWXcvLzlEWjNDSTFRTWcrTzBiRzhNYVJyMHVoaUxIcnJyYWhZeXdQTTdhTXdWMGxQSXFFd2JQVTM4TEVFZ1BwcTBJUDRuRUE3UlNaTG9jQUFBQUFFbEZUa1N1UW1DQyIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo4fSxzPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvZmF2aWNvbjIuYTM5ZWYwZjQucG5nIixoZWlnaHQ6MjQ5LHdpZHRoOjI1OSxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQWVGQk1WRVZNYVhIMVhVNHVGQnNsYm90ZVcxMUlYR01sSFNtdWFsQ01xYThzSHloSzlhbVNmMmRtZjNoUmIzRmxhVlJXYVdoc1NEcjhSVVVXRmlvMmRvclpURWdmSlQxRkpTQ0hjSEFuWVhZcEZSODlMVE16WW5MWVptbHdaNGtubWJFNC8yc29RMWczTWpjb01EdzdIeHVmUVN4SlVWY1JPRncrVjNDQXdXSjdBQUFBSUhSU1RsTUFadjM1VWtqOEJoRDdHR3lXeEtuc3pYSDlpTC84MlNMS3k3T3BwNDJBWklDZ1NLb0FBQUFKY0VoWmN3QUFEc01BQUE3REFjZHZxR1FBQUFCR1NVUkJWSGljQmNFRkFvQWdFQVRBSmUvQTdsWXcvLzlEWjNDSTFRTWcrTzBiRzhNYVJyMHVoaUxIcnJyYWhZeXdQTTdhTXdWMGxQSXFFd2JQVTM4TEVFZ1BwcTBJUDRuRUE3UlNaTG9jQUFBQUFFbEZUa1N1UW1DQyIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo4fSx0PXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvZXN0YXRlX2ljb24uZmEyOGE2MmMuc3ZnIixoZWlnaHQ6NjQwLHdpZHRoOjY0MCxibHVyV2lkdGg6MCxibHVySGVpZ2h0OjB9LGk9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9sb2FuX2ljb24uMzBjMjQ4YWMucG5nIixoZWlnaHQ6MTI4LHdpZHRoOjEyOCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUhsQk1WRVVTSVR4TWFYRVNJRDBVSUR3Vkl6OFNJem9USUR3U0lEc1dGaWdUSUQyNXhtOFhBQUFBQ25SU1RsTlJBRUpkRlI2T05nUng3Z25ldGdBQUFBbHdTRmx6QUFBTnJ3QUFEYThCUXIvbktnQUFBREZKUkVGVWVKd0Z3WWNCQURBTWdDRE43djhQRjFETldWRXZKOFF6Z2xpMHFPbWdJY2xxa3EyRXg5c1hRRE5SMTZVZkdob0F5Smh5N1hvQUFBQUFTVVZPUks1Q1lJST0iLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6OH0sYT17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL21vbmV5X2ljb24uZjA1YjY0MDYuc3ZnIixoZWlnaHQ6NTEyLHdpZHRoOjUxMixibHVyV2lkdGg6MCxibHVySGVpZ2h0OjB9LGg9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9tZW51LjA2ZWM3MDQ4LnN2ZyIsaGVpZ2h0OjMyLHdpZHRoOjMyLGJsdXJXaWR0aDowLGJsdXJIZWlnaHQ6MH0sRD17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2Nsb3NlLjA3YzJhN2FhLnN2ZyIsaGVpZ2h0OjMyLHdpZHRoOjMyLGJsdXJXaWR0aDowLGJsdXJIZWlnaHQ6MH0sZT17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2ltZzEuZTRkMmJjOWUuanBnIixoZWlnaHQ6NjAwLHdpZHRoOjkwMCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFGQUFnREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUgveEFBVkFRRUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFmL2FBQXdEQVFBQ0VBTVFBQUFCb1QvL3hBQVdFQUVCQVFBQUFBQUFBQUFBQUFBQUFBQUJBeEgvMmdBSUFRRUFBUVVDSllmL3hBQVVFUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEvOW9BQ0FFREFRRS9BWC8veEFBVUVRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FDQUVDQVFFL0FYLy94QUFYRUFFQUF3QUFBQUFBQUFBQUFBQUFBQUFCQUFKaC85b0FDQUVCQUFZL0FoYkxrLy9FQUJjUUFBTUJBQUFBQUFBQUFBQUFBQUFBQUFBUk1VSC8yZ0FJQVFFQUFUOGhVWFhCLzlvQURBTUJBQUlBQXdBQUFCRC9BUC9FQUJVUkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQi85b0FDQUVEQVFFL0VLLy94QUFXRVFFQkFRQUFBQUFBQUFBQUFBQUFBQUFCQUJILzJnQUlBUUlCQVQ4UVYyLy94QUFZRUFFQkFBTUFBQUFBQUFBQUFBQUFBQUFCRVFBeFFmL2FBQWdCQVFBQlB4Q3lEZ0RCM2VmLzJRPT0iLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6NX0sej17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2ltZzIuOWQyOThhYmYuanBnIixoZWlnaHQ6NTUwLHdpZHRoOjkwMCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFGQUFnREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUgveEFBVUFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQy85b0FEQU1CQUFJUUF4QUFBQUdnTC8vRUFCWVFBQU1BQUFBQUFBQUFBQUFBQUFBQUFBRUVJLy9hQUFnQkFRQUJCUUp1US8vRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUIvOW9BQ0FFREFRRS9BYS8veEFBVUVRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FDQUVDQVFFL0FYLy94QUFZRUFBQ0F3QUFBQUFBQUFBQUFBQUFBQUFCRWdBeE12L2FBQWdCQVFBR1B3Sk5CRGMvLzhRQUdCQUJBQU1CQUFBQUFBQUFBQUFBQUFBQUFRQVJJWUgvMmdBSUFRRUFBVDhoQmxzRGduLy8yZ0FNQXdFQUFnQURBQUFBRVBQL3hBQVZFUUVCQUFBQUFBQUFBQUFBQUFBQUFBQUFNZi9hQUFnQkF3RUJQeENuLzhRQUZSRUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFCSC8yZ0FJQVFJQkFUOFFyLy9FQUJrUUFBSURBUUFBQUFBQUFBQUFBQUFBQUFFUkFDRXhVZi9hQUFnQkFRQUJQeEFIQmpBQXZCb005MnAvLzlrPSIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo1fSxPPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvaW1nMy5jNzIxNTZlZi5qcGciLGhlaWdodDoxMjczLHdpZHRoOjE5MTAsYmx1ckRhdGFVUkw6ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzJ3QkRBQW9IQndnSEJnb0lDQWdMQ2dvTERoZ1FEZzBORGgwVkZoRVlJeDhsSkNJZklpRW1LemN2SmlrMEtTRWlNRUV4TkRrN1BqNCtKUzVFU1VNOFNEYzlQanYvMndCREFRb0xDdzRORGh3UUVCdzdLQ0lvT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096di93Z0FSQ0FBRkFBZ0RBU0lBQWhFQkF4RUIvOFFBRlFBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFYL3hBQVZBUUVCQUFBQUFBQUFBQUFBQUFBQUFBQUNBLy9hQUF3REFRQUNFQU1RQUFBQm1paC8vOFFBRmhBQkFRRUFBQUFBQUFBQUFBQUFBQUFBQXdRUy85b0FDQUVCQUFFRkFtclRmLy9FQUJVUkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFFQS85b0FDQUVEQVFFL0FVTC94QUFWRVFFQkFBQUFBQUFBQUFBQUFBQUFBQUFCQVAvYUFBZ0JBZ0VCUHdFYi84UUFHUkFBQVFVQUFBQUFBQUFBQUFBQUFBQUFBUUFSTVVGUi85b0FDQUVCQUFZL0Ftb1FNWC8veEFBWUVBQUNBd0FBQUFBQUFBQUFBQUFBQUFBQUFSRWhnZi9hQUFnQkFRQUJQeUZCRXFISWYvL2FBQXdEQVFBQ0FBTUFBQUFRQy8vRUFCWVJBUUVCQUFBQUFBQUFBQUFBQUFBQUFBRUFJZi9hQUFnQkF3RUJQeEJUcGYvRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUIvOW9BQ0FFQ0FRRS9FS3YveEFBWkVBRUFBZ01BQUFBQUFBQUFBQUFBQUFBQkFCRWhNWkgvMmdBSUFRRUFBVDhRUUVFUWNVR3V6Ly9aIixibHVyV2lkdGg6OCxibHVySGVpZ2h0OjV9LHc9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9zbGlkZTQuZjdjNTQ0M2IuanBnIixoZWlnaHQ6NDEyLHdpZHRoOjgwMCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFFQUFnREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQWIveEFBVkFRRUJBQUFBQUFBQUFBQUFBQUFBQUFBREJQL2FBQXdEQVFBQ0VBTVFBQUFCbFJZWC84UUFGUkFCQVFBQUFBQUFBQUFBQUFBQUFBQUFFU0gvMmdBSUFRRUFBUVVDWi8vRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUIvOW9BQ0FFREFRRS9BYS8veEFBVUVRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FDQUVDQVFFL0FYLy94QUFVRUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBLzlvQUNBRUJBQVkvQW4vL3hBQVdFQUVCQVFBQUFBQUFBQUFBQUFBQUFBQUJBQkgvMmdBSUFRRUFBVDhoVmh2LzJnQU1Bd0VBQWdBREFBQUFFUDhBLzhRQUZoRUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBRWgvOW9BQ0FFREFRRS9FS1ovLzhRQUZoRUJBUUVBQUFBQUFBQUFBQUFBQUFBQUFRQVIvOW9BQ0FFQ0FRRS9FTlZiLzhRQUZ4QUJBUUVCQUFBQUFBQUFBQUFBQUFBQUFSRWhBUC9hQUFnQkFRQUJQeEJhMnJUZDcvL1oiLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6NH0sQz17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2RlYWxfaWNvbi5mZWI2NjM5OS5wbmciLGhlaWdodDoxMjgsd2lkdGg6MTI4LGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQU1BQUFEejBVNjVBQUFBRzFCTVZFVVRIejRUSUR3dUxrWVVJRHNUSVR3VUlEMFRJVHdUSUR3VElEdysyYXlUQUFBQUNYUlNUbE1hUEFFTFJpeFZpbkhsRm81VUFBQUFDWEJJV1hNQUFBMnZBQUFOcndGQ3YrY3FBQUFBTTBsRVFWUjRuQlhMdVEwQU1Bd0RzWk1zUC90UEhBU3NpZW12Y0EyV1REU1h0cG1UemhVWWpSSUJ1NTJHUXJ2Tlh5aVVIeHZPQU1OU28vS3ZBQUFBQUVsRlRrU3VRbUNDIixibHVyV2lkdGg6OCxibHVySGVpZ2h0Ojh9LG89e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9jb3N0X2ljb24uYjcyZGI5Y2IucG5nIixoZWlnaHQ6MTI4LHdpZHRoOjEyOCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUdGQk1WRVVUSUR3UUhsSVRJVDBUSUR3U0h6MFRIendUSUR3VUh6M1FsYWZqQUFBQUNIUlNUbE51QVU5WURpWkJORFpWRUw4QUFBQUpjRWhaY3dBQURhOEFBQTJ2QVVLLzV5b0FBQUF4U1VSQlZIaWNOWXRCQ2dCQkRNTFVhdjMvandlNnJKY0VnbkJMbXdRWlNXdHNNcG9SYmo5UGtuNko5R3JXYUhqM0J4alhBSzJXY0pPaEFBQUFBRWxGVGtTdVFtQ0MiLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6OH0sST17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2RvY3VtZW50X2ljb24uM2MxZDhlNjcucG5nIixoZWlnaHQ6MTI4LHdpZHRoOjEyOCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FNQUFBRHowVTY1QUFBQUcxQk1WRVVLQ2p3VUlUMFRJVDBTSUR3VElEc1RJVHdUSWowVEp6b2VIanpqaFRSRUFBQUFDWFJTVGxNQlcwazFRWDlzRFJFaGEyc09BQUFBQ1hCSVdYTUFBQTJ2QUFBTnJ3RkN2K2NxQUFBQU1VbEVRVlI0bkNYTHlRMEFNQWdEUVYrUTlGOXhCUG1OdERaQXBnc0FGTGs0WUZNYU9PME1FSE1UOUVHeGQzenVuaDRTVEFDRFVSUEZPZ0FBQUFCSlJVNUVya0pnZ2c9PSIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo4fSxyPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvdXNlcjEuNzI3YjA0ZTQuanBnIixoZWlnaHQ6MWUzLHdpZHRoOjFlMyxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFJQUFnREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQVAveEFBVUFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQy85b0FEQU1CQUFJUUF4QUFBQUdJSy8vRUFCWVFBUUVCQUFBQUFBQUFBQUFBQUFBQUFBSURBZi9hQUFnQkFRQUJCUUpYT1QvL3hBQVdFUUVCQVFBQUFBQUFBQUFBQUFBQUFBQUJBQlAvMmdBSUFRTUJBVDhCMVMvL3hBQVhFUUFEQVFBQUFBQUFBQUFBQUFBQUFBQUFBUUlULzlvQUNBRUNBUUUvQWNaWi84UUFGeEFBQXdFQUFBQUFBQUFBQUFBQUFBQUFBQUVSUWYvYUFBZ0JBUUFHUHdKVEhELy94QUFYRUFBREFRQUFBQUFBQUFBQUFBQUFBQUFCRVNFQS85b0FDQUVCQUFFL0lUd1FUTXUvLzlvQURBTUJBQUlBQXdBQUFCQUQvOFFBRlJFQkFRQUFBQUFBQUFBQUFBQUFBQUFBQVFELzJnQUlBUU1CQVQ4UUZJQmYvOFFBRlJFQkFRQUFBQUFBQUFBQUFBQUFBQUFBQVFELzJnQUlBUUlCQVQ4UVNpcmYvOFFBR0JBQkFBTUJBQUFBQUFBQUFBQUFBQUFBQVJFaGdRRC8yZ0FJQVFFQUFUOFF1cGhERkJPaFc5Ly8yUT09IixibHVyV2lkdGg6OCxibHVySGVpZ2h0Ojh9LG49e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS91c2VyMi4zZDVkNWQ4Ni5qcGciLGhlaWdodDozMDAsd2lkdGg6MzAwLGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai8yd0JEQUFvSEJ3Z0hCZ29JQ0FnTENnb0xEaGdRRGcwTkRoMFZGaEVZSXg4bEpDSWZJaUVtS3pjdkppazBLU0VpTUVFeE5EazdQajQrSlM1RVNVTThTRGM5UGp2LzJ3QkRBUW9MQ3c0TkRod1FFQnc3S0NJb096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenYvd2dBUkNBQUlBQWdEQVNJQUFoRUJBeEVCLzhRQUZRQUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBUC94QUFWQVFFQkFBQUFBQUFBQUFBQUFBQUFBQUFCQXYvYUFBd0RBUUFDRUFNUUFBQUJvSmYveEFBV0VBRUJBUUFBQUFBQUFBQUFBQUFBQUFBQkJBTC8yZ0FJQVFFQUFRVUNtazBILzhRQUZSRUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBSC8yZ0FJQVFNQkFUOEJyLy9FQUJVUkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBUi85b0FDQUVDQVFFL0FZLy94QUFYRUFBREFRQUFBQUFBQUFBQUFBQUFBQUFBQVJFQy85b0FDQUVCQUFZL0FuY3huLy9FQUJjUUFRQURBQUFBQUFBQUFBQUFBQUFBQUFFQU1WSC8yZ0FJQVFFQUFUOGhRbmN0eWYvYUFBd0RBUUFDQUFNQUFBQVFCLy9FQUJZUkFBTUFBQUFBQUFBQUFBQUFBQUFBQUFBQklmL2FBQWdCQXdFQlB4QzJmLy9FQUJVUkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQi85b0FDQUVDQVFFL0VJZi94QUFYRUFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCRVRFQS85b0FDQUVCQUFFL0VGV0RrRm9rU3pITy85az0iLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6OH0sYz17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL3VzZXIzLmU1YzczZGI0LmpwZyIsaGVpZ2h0OjFlMyx3aWR0aDoxZTMsYmx1ckRhdGFVUkw6ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzJ3QkRBQW9IQndnSEJnb0lDQWdMQ2dvTERoZ1FEZzBORGgwVkZoRVlJeDhsSkNJZklpRW1LemN2SmlrMEtTRWlNRUV4TkRrN1BqNCtKUzVFU1VNOFNEYzlQanYvMndCREFRb0xDdzRORGh3UUVCdzdLQ0lvT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096di93Z0FSQ0FBSUFBZ0RBU0lBQWhFQkF4RUIvOFFBRlFBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFYL3hBQVVBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUIvOW9BREFNQkFBSVFBeEFBQUFHa0EvL0VBQlVRQVFFQUFBQUFBQUFBQUFBQUFBQUFBQU1qLzlvQUNBRUJBQUVGQWlTbi84UUFGUkVCQVFBQUFBQUFBQUFBQUFBQUFBQUFBUUQvMmdBSUFRTUJBVDhCVy8vRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFCRUEvOW9BQ0FFQ0FRRS9BUXYveEFBWUVBQUNBd0FBQUFBQUFBQUFBQUFBQUFBQUFoRVRJZi9hQUFnQkFRQUdQd0syTVUvL3hBQVpFQUVBQWdNQUFBQUFBQUFBQUFBQUFBQUJFU0VBUVZILzJnQUlBUUVBQVQ4aGxkeFFwcmxaLzlvQURBTUJBQUlBQXdBQUFCQVAvOFFBRmhFQkFRRUFBQUFBQUFBQUFBQUFBQUFBQVFBUi85b0FDQUVEQVFFL0VFY3YvOFFBRmhFQkFRRUFBQUFBQUFBQUFBQUFBQUFBQVFBaC85b0FDQUVDQVFFL0VBWUwvOFFBR1JBQkFBSURBQUFBQUFBQUFBQUFBQUFBQVFBUklWR0IvOW9BQ0FFQkFBRS9FRG9DRjRacndSRmRrLy9aIixibHVyV2lkdGg6OCxibHVySGVpZ2h0Ojh9LHU9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS91c2VyNC5iZWQ5ODgyOC5qcGciLGhlaWdodDo5MjUsd2lkdGg6OTU3LGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai8yd0JEQUFvSEJ3Z0hCZ29JQ0FnTENnb0xEaGdRRGcwTkRoMFZGaEVZSXg4bEpDSWZJaUVtS3pjdkppazBLU0VpTUVFeE5EazdQajQrSlM1RVNVTThTRGM5UGp2LzJ3QkRBUW9MQ3c0TkRod1FFQnc3S0NJb096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenYvd2dBUkNBQUlBQWdEQVNJQUFoRUJBeEVCLzhRQUZRQUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBWC94QUFVQVFFQUFBQUFBQUFBQUFBQUFBQUFBQUFCLzlvQURBTUJBQUlRQXhBQUFBR2VCLy9FQUJVUUFRRUFBQUFBQUFBQUFBQUFBQUFBQUFFVS85b0FDQUVCQUFFRkFxQWYvOFFBRlJFQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFILzJnQUlBUU1CQVQ4QnIvL0VBQlVSQVFFQUFBQUFBQUFBQUFBQUFBQUFBQUFCLzlvQUNBRUNBUUUvQVkvL3hBQVlFQUFDQXdBQUFBQUFBQUFBQUFBQUFBQUFBUUloWWYvYUFBZ0JBUUFHUHdLbGtqLy94QUFZRUFFQkFBTUFBQUFBQUFBQUFBQUFBQUFCRVFBaFVmL2FBQWdCQVFBQlB5Rk5SR29UVHh6LzJnQU1Bd0VBQWdBREFBQUFFUHYveEFBV0VRQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFTSC8yZ0FJQVFNQkFUOFF0bi8veEFBV0VRQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFTSC8yZ0FJQVFJQkFUOFFsSC8veEFBWEVBRUJBUUVBQUFBQUFBQUFBQUFBQUFBUkFRQlIvOW9BQ0FFQkFBRS9FRDRrRUMycjNmL1oiLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6OH0seD17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL3VzZXI1LmRkNWQ3MjY1LmpwZyIsaGVpZ2h0OjU5OSx3aWR0aDo1OTksYmx1ckRhdGFVUkw6ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzJ3QkRBQW9IQndnSEJnb0lDQWdMQ2dvTERoZ1FEZzBORGgwVkZoRVlJeDhsSkNJZklpRW1LemN2SmlrMEtTRWlNRUV4TkRrN1BqNCtKUzVFU1VNOFNEYzlQanYvMndCREFRb0xDdzRORGh3UUVCdzdLQ0lvT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096di93Z0FSQ0FBSUFBZ0RBU0lBQWhFQkF4RUIvOFFBRlFBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFYL3hBQVVBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEvOW9BREFNQkFBSVFBeEFBQUFHTUQvL0VBQllRQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUlTRS8vYUFBZ0JBUUFCQlFKUm4vL0VBQlFSQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvMmdBSUFRTUJBVDhCZi8vRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUIvOW9BQ0FFQ0FRRS9BYS8veEFBWkVBQUJCUUFBQUFBQUFBQUFBQUFBQUFBQkFBSVJJVkgvMmdBSUFRRUFCajhDWkJzSEYvL0VBQmdRQVFFQUF3QUFBQUFBQUFBQUFBQUFBQUVSQURGUi85b0FDQUVCQUFFL0lWUVNFYjF2UC8vYUFBd0RBUUFDQUFNQUFBQVFDLy9FQUJVUkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBUi85b0FDQUVEQVFFL0VLLy94QUFWRVFFQkFBQUFBQUFBQUFBQUFBQUFBQUFCQVAvYUFBZ0JBZ0VCUHhBQmYvL0VBQm9RQVFBQkJRQUFBQUFBQUFBQUFBQUFBQUVSQUNFeFVYSC8yZ0FJQVFFQUFUOFFkYWdWTElCT2RKMXIvOWs9IixibHVyV2lkdGg6OCxibHVySGVpZ2h0Ojh9LE09e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS91c2VyNi43ZWNiYWFiNS5qcGciLGhlaWdodDo0NDUsd2lkdGg6MzM0LGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai8yd0JEQUFvSEJ3Z0hCZ29JQ0FnTENnb0xEaGdRRGcwTkRoMFZGaEVZSXg4bEpDSWZJaUVtS3pjdkppazBLU0VpTUVFeE5EazdQajQrSlM1RVNVTThTRGM5UGp2LzJ3QkRBUW9MQ3c0TkRod1FFQnc3S0NJb096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenYvd2dBUkNBQUlBQVlEQVNJQUFoRUJBeEVCLzhRQUZRQUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBWC94QUFWQVFFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQWYvYUFBd0RBUUFDRUFNUUFBQUJvQ1AveEFBWEVBQURBUUFBQUFBQUFBQUFBQUFBQUFBQ0F3UUYvOW9BQ0FFQkFBRUZBcHFYRm8vL3hBQVVFUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEvOW9BQ0FFREFRRS9BWC8veEFBVUVRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FDQUVDQVFFL0FYLy94QUFaRUFBQkJRQUFBQUFBQUFBQUFBQUFBQUFDQUFFRUlXSC8yZ0FJQVFFQUJqOENrQVEwMkwvL3hBQVlFQUVBQXdFQUFBQUFBQUFBQUFBQUFBQUJBQkVob2YvYUFBZ0JBUUFCUHlFMm05QnJHamsvLzlvQURBTUJBQUlBQXdBQUFCQVAvOFFBRkJFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvYUFBZ0JBd0VCUHhCLy84UUFGQkVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC9hQUFnQkFnRUJQeEIvLzhRQUdCQUJBQU1CQUFBQUFBQUFBQUFBQUFBQUFRQVJJVUgvMmdBSUFRRUFBVDhRZGVjVVFCVmU2Wi8vMlE9PSIsYmx1cldpZHRoOjYsYmx1ckhlaWdodDo4fSxVPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvdXNlcjcuYjY3YzJlZWQuanBnIixoZWlnaHQ6NDUxLHdpZHRoOjM2MixibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFJQUFZREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQVgveEFBVUFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FEQU1CQUFJUUF4QUFBQUdrRC8vRUFCVVFBUUVBQUFBQUFBQUFBQUFBQUFBQUFBUVQvOW9BQ0FFQkFBRUZBaU5xci8vRUFCUVJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8yZ0FJQVFNQkFUOEJmLy9FQUJRUkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFELzJnQUlBUUlCQVQ4QmYvL0VBQmdRQUFJREFBQUFBQUFBQUFBQUFBQUFBQUFDQTNHeC85b0FDQUVCQUFZL0FwVnZULy9FQUJrUUFBSURBUUFBQUFBQUFBQUFBQUFBQUFFUkFDRnhvZi9hQUFnQkFRQUJQeUZ5Z3EySkJ5Zi8yZ0FNQXdFQUFnQURBQUFBRVB2L3hBQVVFUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEvOW9BQ0FFREFRRS9FSC8veEFBVkVRRUJBQUFBQUFBQUFBQUFBQUFBQUFBUkFQL2FBQWdCQWdFQlB4QUwvOFFBR2hBQkFBRUZBQUFBQUFBQUFBQUFBQUFBQVFBUklURlJnZi9hQUFnQkFRQUJQeEFVa2xiMXhvMktIay8vMlE9PSIsYmx1cldpZHRoOjYsYmx1ckhlaWdodDo4fSxSPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvdXNlcjguMmEzOGRlMmEuanBnIixoZWlnaHQ6MjkxLHdpZHRoOjIzNixibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFJQUFZREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQVgveEFBVUFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FEQU1CQUFJUUF4QUFBQUdLRC8vRUFCWVFBUUVCQUFBQUFBQUFBQUFBQUFBQUFBSURFZi9hQUFnQkFRQUJCUUozTy8vRUFCUVJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8yZ0FJQVFNQkFUOEJmLy9FQUJRUkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFELzJnQUlBUUlCQVQ4QmYvL0VBQllRQUFNQUFBQUFBQUFBQUFBQUFBQUFBQUFCTWYvYUFBZ0JBUUFHUHdLSS84UUFHUkFCQUFJREFBQUFBQUFBQUFBQUFBQUFBUUFSSVVHQi85b0FDQUVCQUFFL0lXR3RnbmNULzlvQURBTUJBQUlBQXdBQUFCRDcvOFFBRkJFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvYUFBZ0JBd0VCUHhCLy84UUFGQkVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC9hQUFnQkFnRUJQeEIvLzhRQUdSQUFBZ01CQUFBQUFBQUFBQUFBQUFBQUFSRUFJVEdoLzlvQUNBRUJBQUUvRUVKTGNZQW5FLy9aIixibHVyV2lkdGg6NixibHVySGVpZ2h0Ojh9LGw9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS91c2VyOS4xYTk1NzQyMi5qcGciLGhlaWdodDo3OTQsd2lkdGg6NjAzLGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai8yd0JEQUFvSEJ3Z0hCZ29JQ0FnTENnb0xEaGdRRGcwTkRoMFZGaEVZSXg4bEpDSWZJaUVtS3pjdkppazBLU0VpTUVFeE5EazdQajQrSlM1RVNVTThTRGM5UGp2LzJ3QkRBUW9MQ3c0TkRod1FFQnc3S0NJb096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenYvd2dBUkNBQUlBQVlEQVNJQUFoRUJBeEVCLzhRQUZRQUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFBVC94QUFVQVFFQUFBQUFBQUFBQUFBQUFBQUFBQUFELzlvQURBTUJBQUlRQXhBQUFBR1lHbi8veEFBV0VBRUJBUUFBQUFBQUFBQUFBQUFBQUFBREFoVC8yZ0FJQVFFQUFRVUMxSEsvLzhRQUZSRUJBUUFBQUFBQUFBQUFBQUFBQUFBQUFCSC8yZ0FJQVFNQkFUOEJyLy9FQUJVUkFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBUi85b0FDQUVDQVFFL0FZLy94QUFZRUFBQ0F3QUFBQUFBQUFBQUFBQUFBQUFBQWdFaFVmL2FBQWdCQVFBR1B3Sm1hNHcvLzhRQUZ4QUJBUUVCQUFBQUFBQUFBQUFBQUFBQUFSRWhBUC9hQUFnQkFRQUJQeUdZTExBNmJuZi8yZ0FNQXdFQUFnQURBQUFBRUFmL3hBQVZFUUVCQUFBQUFBQUFBQUFBQUFBQUFBQUJBUC9hQUFnQkF3RUJQeEJTMy8vRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBRUEvOW9BQ0FFQ0FRRS9FQVgveEFBWEVBRUJBUUVBQUFBQUFBQUFBQUFBQUFBQklSRUEvOW9BQ0FFQkFBRS9FQThTb1FGYjJFMG5mLy9aIixibHVyV2lkdGg6NixibHVySGVpZ2h0Ojh9LGI9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS91c2VyMTAuMDgxNjRjZWIuanBnIixoZWlnaHQ6NTgwLHdpZHRoOjQ3MSxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFJQUFZREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQVgveEFBVkFRRUJBQUFBQUFBQUFBQUFBQUFBQUFBQkF2L2FBQXdEQVFBQ0VBTVFBQUFCbUNqL3hBQVdFQUVCQVFBQUFBQUFBQUFBQUFBQUFBQUNBd1QvMmdBSUFRRUFBUVVDZXFwWC84UUFGUkVCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQkgvMmdBSUFRTUJBVDhCci8vRUFCWVJBQU1BQUFBQUFBQUFBQUFBQUFBQUFBQUJFZi9hQUFnQkFnRUJQd0dJLzhRQUZ4QUFBd0VBQUFBQUFBQUFBQUFBQUFBQUFBRVJNdi9hQUFnQkFRQUdQd0xNUi8vRUFCY1FBQU1CQUFBQUFBQUFBQUFBQUFBQUFBQUJFVUgvMmdBSUFRRUFBVDhoWVZHVlIvL2FBQXdEQVFBQ0FBTUFBQUFROS8vRUFCWVJBUUVCQUFBQUFBQUFBQUFBQUFBQUFBRUFFZi9hQUFnQkF3RUJQeEJXMy8vRUFCY1JBQU1CQUFBQUFBQUFBQUFBQUFBQUFBQUJFVEgvMmdBSUFRSUJBVDhRVXNQL3hBQVlFQUFEQVFFQUFBQUFBQUFBQUFBQUFBQUJJVUVBY2YvYUFBZ0JBUUFCUHhBK2UveUk2dC8vMlE9PSIsYmx1cldpZHRoOjYsYmx1ckhlaWdodDo4fSxkPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvc3Rhcl9pY29uMS5iNjViN2M3Yy5zdmciLGhlaWdodDoyNSx3aWR0aDoyNSxibHVyV2lkdGg6MCxibHVySGVpZ2h0OjB9LFM9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9zdGFyX2ljb24yLjhlZWIxZDkxLnN2ZyIsaGVpZ2h0OjI1LHdpZHRoOjI1LGJsdXJXaWR0aDowLGJsdXJIZWlnaHQ6MH0sSD17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2JhbmtfaWNvbjEuYjQ0MWYyMjQucG5nIixoZWlnaHQ6MTE2LHdpZHRoOjE5MCxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFGQ0FNQUFBQlBUMTFuQUFBQUhsQk1WRVhvNStmVzNPSER6OW00eHRUUjE5NlRyY1hLMDl4Nm03dmMzK0pNZXFmdmZFNTJBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUtVbEVRVlI0bkIzS3dRMEFNQWdEc1VzQ3BkMS80VXI0YmFqTHlodjVBTzVXTE1pMGppTlV0ZWNEQ1VZQVlSTzBIaHNBQUFBQVNVVk9SSzVDWUlJPSIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo1fSxGPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvYmFua19pY29uMi5mNjUwM2I5My5wbmciLGhlaWdodDoxMTYsd2lkdGg6MjQ5LGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUVDQU1BQUFDRUU0N0NBQUFBSjFCTVZFWHY4ZlBwd0kvcTNjL3lva1g0enB6cHc1ZjN4NURveUtQd21ESG95cWZ5ckZyeXExajR5cFVEaDlKdUFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBSmtsRVFWUjRuQVhCQndFQUlBd0RzSjVkd0w5ZUVnQmlKb1ZYNFh0TVJNWFlRd0RxM2RZSENRMEFqSnovOFVzQUFBQUFTVVZPUks1Q1lJST0iLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6NH0sZj17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2JhbmtfaWNvbjMuZWZjMzk3ZmUucG5nIixoZWlnaHQ6MTE1LHdpZHRoOjI3MyxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFEQ0FNQUFBQ1pGcjU2QUFBQUxWQk1WRVdXbFlKeGFBQThQVU4zZFZNNU5BQjRlSGlQaTFPaG5uMmNuSnVJaDN4a1d3S0ZlZ0pYVkR4cFoweW9wNXNPd0JlQUFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBSTBsRVFWUjRuR1BnWTJkZ1lHRGc1R0RnWWVGaVpPUm1ZV0pnWldKbVkyYmpaUVVBQnFZQWY3Z01MMkVBQUFBQVNVVk9SSzVDWUlJPSIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDozfSxtPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvYmFua19pY29uNC4zMTUwNGMxZS5wbmciLGhlaWdodDo5Myx3aWR0aDoxNzMsYmx1ckRhdGFVUkw6ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBRUNBTUFBQUNFRTQ3Q0FBQUFIbEJNVkVYbTN0N202dXJuMjl2cHJhM24wZEhvdXJycG5aM255c3JwbjUvcWxKUjNsQ0t2QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFKRWxFUVZSNG5BWEJod0VBTUF6Q01BTlovZi9oU29DRUpQcDJVMVYwWG1iU2dMSE5Cd2ErQUdEVUxwT0lBQUFBQUVsRlRrU3VRbUNDIixibHVyV2lkdGg6OCxibHVySGVpZ2h0OjR9LFA9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9iYW5rX2ljb241LjE5M2FiMTY5LnBuZyIsaGVpZ2h0Ojk4LHdpZHRoOjIxOSxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFFQ0FNQUFBQ0VFNDdDQUFBQUhsQk1WRVhDeWNubjV1YmFzN1B0b2FIbDd1N29zYkhwdTd2bjJkblZvNlBuNGVIZWhUb21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUpFbEVRVlI0bkIzQmh3MEFNQWdEc0V6Zy80c3IxY1p1d3RTdzY1a1drazdENENQNUFBa05BR2E3WmFLQ0FBQUFBRWxGVGtTdVFtQ0MiLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6NH0sTD17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL2JhbmtfaWNvbjYuM2RmMmIyMjcucG5nIixoZWlnaHQ6OTgsd2lkdGg6Mjg1LGJsdXJEYXRhVVJMOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQURDQU1BQUFDWkZyNTZBQUFBR0ZCTVZFWG01dWJmMzkvZDBkQ3NyS3piMjl1enM3SzJ0clhZZVhFMnVHaUVBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUhVbEVRVlI0bkdOZ1lvQUNkalptVm1aV1ppWUdKZ1lXRmhaR1JrWUFBb01BTnMyMTBsMEFBQUFBU1VWT1JLNUNZSUk9IixibHVyV2lkdGg6OCxibHVySGVpZ2h0OjN9LFQ9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9iYW5rX2ljb243LjE0NDRlY2Q2LnBuZyIsaGVpZ2h0Ojk4LHdpZHRoOjI5NixibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFEQ0FNQUFBQ1pGcjU2QUFBQUVsQk1WRVhpNU4vTDJyZkcySzJleG1tbHlYYmQ0dFpwN1NiUkFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBSGtsRVFWUjRuQjNCaHcwQUFBekNNTUw0LytWS3RhVk5MMm5iSUlOdGRnS3lBRFdlSG9oMkFBQUFBRWxGVGtTdVFtQ0MiLGJsdXJXaWR0aDo4LGJsdXJIZWlnaHQ6M30sVj17c3JjOiIvX25leHQvc3RhdGljL21lZGlhL0Jsb2Nrd2hpdGUuNmE4MWY5ODYucG5nIixoZWlnaHQ6MjY0LHdpZHRoOjk0MyxibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFDQ0FNQUFBQlNTbTNmQUFBQUQxQk1WRVh3OFBEeDhmSDM5L2YvLy8veDhmRTU0dU9wQUFBQUJYUlNUbE1VSDFVRlN0NTR3S29BQUFBSmNFaFpjd0FBQ3hNQUFBc1RBUUNhbkJnQUFBQWFTVVJCVkhpY1kyQmlZV1pnWUdCZ1ptQmlZbUJrWkdSa0JnQUE3Z0FZb3JzNVN3QUFBQUJKUlU1RXJrSmdnZz09IixibHVyV2lkdGg6OCxibHVySGVpZ2h0OjJ9LGo9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9idGNxci4wZGY5NzE0ZC5qcGciLGhlaWdodDoxMjMyLHdpZHRoOjEyODAsYmx1ckRhdGFVUkw6ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzJ3QkRBQW9IQndnSEJnb0lDQWdMQ2dvTERoZ1FEZzBORGgwVkZoRVlJeDhsSkNJZklpRW1LemN2SmlrMEtTRWlNRUV4TkRrN1BqNCtKUzVFU1VNOFNEYzlQanYvMndCREFRb0xDdzRORGh3UUVCdzdLQ0lvT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096di93Z0FSQ0FBSUFBZ0RBU0lBQWhFQkF4RUIvOFFBRlFBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFiL3hBQVVBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUIvOW9BREFNQkFBSVFBeEFBQUFHbENmL0VBQlVRQVFFQUFBQUFBQUFBQUFBQUFBQUFBQlFqLzlvQUNBRUJBQUVGQXJJLy84UUFGQkVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC9hQUFnQkF3RUJQd0YvLzhRQUZCRUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFQL2FBQWdCQWdFQlB3Ri8vOFFBRlJBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUdQLzJnQUlBUUVBQmo4Q2svL0VBQmdRQUFJREFBQUFBQUFBQUFBQUFBQUFBQUFoVVdGeC85b0FDQUVCQUFFL0ljVXFELy9hQUF3REFRQUNBQU1BQUFBUSsvL0VBQlFSQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvMmdBSUFRTUJBVDhRZi8vRUFCVVJBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQVIvOW9BQ0FFQ0FRRS9FSS8veEFBYUVBRUFBUVVBQUFBQUFBQUFBQUFBQUFBQkFCRXhRWEdoLzlvQUNBRUJBQUUvRUs1RXRvOVhuLy9aIixibHVyV2lkdGg6OCxibHVySGVpZ2h0Ojh9LFk9e3NyYzoiL19uZXh0L3N0YXRpYy9tZWRpYS9FdGggUXIuNjNjNjY2YTYuanBnIixoZWlnaHQ6MzkzLHdpZHRoOjM5MixibHVyRGF0YVVSTDoiZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovMndCREFBb0hCd2dIQmdvSUNBZ0xDZ29MRGhnUURnME5EaDBWRmhFWUl4OGxKQ0lmSWlFbUt6Y3ZKaWswS1NFaU1FRXhORGs3UGo0K0pTNUVTVU04U0RjOVBqdi8yd0JEQVFvTEN3NE5EaHdRRUJ3N0tDSW9PenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p2L3dnQVJDQUFJQUFnREFTSUFBaEVCQXhFQi84UUFGUUFCQVFBQUFBQUFBQUFBQUFBQUFBQUFBQVgveEFBVUFRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FEQU1CQUFJUUF4QUFBQUdtRC8vRUFCVVFBUUVBQUFBQUFBQUFBQUFBQUFBQUFCTWovOW9BQ0FFQkFBRUZBcXQvLzhRQUZCRUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFQL2FBQWdCQXdFQlB3Ri8vOFFBRkJFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvYUFBZ0JBZ0VCUHdGLy84UUFGaEFCQVFFQUFBQUFBQUFBQUFBQUFBQUFFZ0JDLzlvQUNBRUJBQVkvQXRsMy84UUFHUkFBQWdNQkFBQUFBQUFBQUFBQUFBQUFFVEVBSVVHeC85b0FDQUVCQUFFL0ljMjJZQjVQLzlvQURBTUJBQUlBQXdBQUFCQUQvOFFBRkJFQkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvYUFBZ0JBd0VCUHhCLy84UUFGQkVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC9hQUFnQkFnRUJQeEIvLzhRQUdSQUJBUUFEQVFBQUFBQUFBQUFBQUFBQUFSRUFJVEZCLzlvQUNBRUJBQUUvRUJtVm9xOW4yNmk1LzlrPSIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo4fSxKPXtzcmM6Ii9fbmV4dC9zdGF0aWMvbWVkaWEvU29sIFFyLmZjZTY2MDVmLmpwZyIsaGVpZ2h0OjQxMCx3aWR0aDo0MTIsYmx1ckRhdGFVUkw6ImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzJ3QkRBQW9IQndnSEJnb0lDQWdMQ2dvTERoZ1FEZzBORGgwVkZoRVlJeDhsSkNJZklpRW1LemN2SmlrMEtTRWlNRUV4TkRrN1BqNCtKUzVFU1VNOFNEYzlQanYvMndCREFRb0xDdzRORGh3UUVCdzdLQ0lvT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096di93Z0FSQ0FBSUFBZ0RBU0lBQWhFQkF4RUIvOFFBRlFBQkFRQUFBQUFBQUFBQUFBQUFBQUFBQUFYL3hBQVVBUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEvOW9BREFNQkFBSVFBeEFBQUFHaUQvL0VBQlVRQVFFQUFBQUFBQUFBQUFBQUFBQUFBQlFqLzlvQUNBRUJBQUVGQXJJLy84UUFGQkVCQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC9hQUFnQkF3RUJQd0YvLzhRQUZCRUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFQL2FBQWdCQWdFQlB3Ri8vOFFBRnhBQkFBTUFBQUFBQUFBQUFBQUFBQUFBRWdCQ29mL2FBQWdCQVFBR1B3SzVlVC8veEFBWkVBQUNBd0VBQUFBQUFBQUFBQUFBQUFBQkVRQWhNVkgvMmdBSUFRRUFBVDhoR2E1ZzFhZi8yZ0FNQXdFQUFnQURBQUFBRVBQL3hBQVVFUUVBQUFBQUFBQUFBQUFBQUFBQUFBQUEvOW9BQ0FFREFRRS9FSC8veEFBVUVRRUFBQUFBQUFBQUFBQUFBQUFBQUFBQS85b0FDQUVDQVFFL0VILy94QUFhRUFBQ0FnTUFBQUFBQUFBQUFBQUFBQUFCRVFCQklXRngvOW9BQ0FFQkFBRS9FQ01tR29pcldheHhhbi8vMlE9PSIsYmx1cldpZHRoOjgsYmx1ckhlaWdodDo4fX19XSk7"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/5642-7d2a90b528ebc65b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.437Z","timestamp":1785133562437,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/5642-7d2a90b528ebc65b.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"5642-7d2a90b528ebc65b.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"a5e31d65cebba024040d2f38afb6f613\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/5642-7d2a90b528ebc65b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6nfwr-1785133562441-e5e8d2f9d9e2\r\ncontent-length: 2211\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":"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":5300,"size_decoded":2848,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (5300), with no line terminators","md5":"4cbf3e356d8f54a75bcd2252246f449d","sha1":"df797ec5fc8410beec523f50340fc87ed0f0315f","sha256":"eaae9a3f2ea4288bafd4ffbaa877cf88fb26f296a166805db0071a98b77aa014","sha512":"670d3a9418f3cd86ce98a6a1d543699066029ea4cd36a83dc59ed3b5d1b81ba36128e4a6e40f43710aece401a9aab533fa6edfffcf5392f1c63e9eea01e33b65","ssdeep":"96:cP6N2uqZn3yGi7epGGonjaIFVEgttT2CrKe4Y096qCXnn:cPePAn3yG4epGN2DaQ2","tlshash":"dcb12200a071fedcfa7a04dc982f501c712f6a48d6694d70f6b4ac7528698c9771bbde","first_seen":"2026-07-27T03:07:35.281072Z","last_seen":"2026-07-27T06:26:35.963964Z","times_seen":2,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rX05fRT1zZWxmLndlYnBhY2tDaHVua19OX0V8fFtdKS5wdXNoKFtbNTY0Ml0sezU2NzcxOmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7ci5kKHQse3dfOmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7dmFyIHM9cig2NzI5NCksYT17Y29sb3I6dm9pZCAwLHNpemU6dm9pZCAwLGNsYXNzTmFtZTp2b2lkIDAsc3R5bGU6dm9pZCAwLGF0dHI6dm9pZCAwfSxuPXMuY3JlYXRlQ29udGV4dCYmcy5jcmVhdGVDb250ZXh0KGEpLGw9ZnVuY3Rpb24oKXtyZXR1cm4obD1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQscj0xLHM9YXJndW1lbnRzLmxlbmd0aDtyPHM7cisrKWZvcih2YXIgYSBpbiB0PWFyZ3VtZW50c1tyXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxhKSYmKGVbYV09dFthXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGk9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmMD50LmluZGV4T2YocykmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKWZvcih2YXIgYT0wLHM9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTthPHMubGVuZ3RoO2ErKykwPnQuaW5kZXhPZihzW2FdKSYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKGUsc1thXSkmJihyW3NbYV1dPWVbc1thXV0pO3JldHVybiByfTtmdW5jdGlvbiBvKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gcy5jcmVhdGVFbGVtZW50KGMsbCh7YXR0cjpsKHt9LGUuYXR0cil9LHQpLGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQmJnQubWFwKGZ1bmN0aW9uKHQscil7cmV0dXJuIHMuY3JlYXRlRWxlbWVudCh0LnRhZyxsKHtrZXk6cn0sdC5hdHRyKSxlKHQuY2hpbGQpKX0pfShlLmNoaWxkKSl9fWZ1bmN0aW9uIGMoZSl7dmFyIHQ9ZnVuY3Rpb24odCl7dmFyIHIsYT1lLmF0dHIsbj1lLnNpemUsbz1lLnRpdGxlLGM9aShlLFsiYXR0ciIsInNpemUiLCJ0aXRsZSJdKSx1PW58fHQuc2l6ZXx8IjFlbSI7cmV0dXJuIHQuY2xhc3NOYW1lJiYocj10LmNsYXNzTmFtZSksZS5jbGFzc05hbWUmJihyPShyP3IrIiAiOiIiKStlLmNsYXNzTmFtZSkscy5jcmVhdGVFbGVtZW50KCJzdmciLGwoe3N0cm9rZToiY3VycmVudENvbG9yIixmaWxsOiJjdXJyZW50Q29sb3IiLHN0cm9rZVdpZHRoOiIwIn0sdC5hdHRyLGEsYyx7Y2xhc3NOYW1lOnIsc3R5bGU6bChsKHtjb2xvcjplLmNvbG9yfHx0LmNvbG9yfSx0LnN0eWxlKSxlLnN0eWxlKSxoZWlnaHQ6dSx3aWR0aDp1LHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9KSxvJiZzLmNyZWF0ZUVsZW1lbnQoInRpdGxlIixudWxsLG8pLGUuY2hpbGRyZW4pfTtyZXR1cm4gdm9pZCAwIT09bj9zLmNyZWF0ZUVsZW1lbnQobi5Db25zdW1lcixudWxsLGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpfSk6dChhKX19LDcxNjM0OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7ci5yKHQpO3ZhciBzPXIoODU4OTMpLGE9cigxMTE2Myksbj1yKDY3Mjk0KSxsPXIoNjQ3NDkpLGk9cigyMjkyMCksbz1yKDQzOTgyKSxjPXIoMjU2NzUpLHU9ci5uKGMpLG09cig5NzI3MSksaD1yKDkwMDgpLGQ9ci5uKGgpO3QuZGVmYXVsdD0oKT0+e2xldFtlLHRdPSgwLG4udXNlU3RhdGUpKCIiKSxbcixjXT0oMCxuLnVzZVN0YXRlKSgiIiksW2gscF09KDAsbi51c2VTdGF0ZSkoITEpLFt4LGZdPSgwLG4udXNlU3RhdGUpKCExKSxqPSgwLGEudXNlUm91dGVyKSgpLGc9YXN5bmMgdD0+e3QucHJldmVudERlZmF1bHQoKTt0cnl7aWYoIWUpcmV0dXJuIGkuQW0uZXJyb3IoIkVtYWlsIGlzIHJlcXVpcmVkIik7aWYoIXIpcmV0dXJuIGkuQW0uZXJyb3IoIlBhc3N3b3JkIGlzIHJlcXVpcmVkIik7cCghMCk7bGV0IHQ9YXdhaXQgZmV0Y2goIiIuY29uY2F0KCJodHRwczovL3NlcnZlci5ibG9ja2ludi5jb20vYXBpIiwiL2F1dGgvbG9naW4iKSx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoe2VtYWlsOmUscGFzc3dvcmQ6cn0pfSkscz1hd2FpdCB0Lmpzb24oKTt0Lm9rPyhqLnB1c2goIi9kYXNoYm9hcmQiKSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidG9rZW4iLHMudG9rZW4pLGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJ0eXBlIixzLmRhdGEudXNlci50eXBlKSxsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiZW1haWxEYXRhIixzLmRhdGEudXNlci5lbWFpbCksaS5BbS5zdWNjZXNzKCJXZWxjb21lICIuY29uY2F0KGUpLHtwb3NpdGlvbjoidG9wLXJpZ2h0IixhdXRvQ2xvc2U6NWUzfSkpOihpLkFtLmVycm9yKG51bGw9PXM/dm9pZCAwOnMubWVzc2FnZSx7cG9zaXRpb246InRvcC1yaWdodCIsYXV0b0Nsb3NlOjJlM30pLHAoITEpKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpLGkuQW0uZXJyb3IoIkZhaWxlZCB0byBsb2dpbiIpLHAoITEpfX07cmV0dXJuKDAscy5qc3hzKShzLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAscy5qc3gpKGQoKSx7Y2hpbGRyZW46KDAscy5qc3gpKCJ0aXRsZSIse2NoaWxkcmVuOiJCbG9ja0ludiB8fCBMb2dpbiJ9KX0pLCgwLHMuanN4KSgiZGl2Iix7Y2xhc3NOYW1lOiJhdXRoX3BhZ2UgcmVsYXRpdmUiLGNoaWxkcmVuOigwLHMuanN4cykoImRpdiIse2NsYXNzTmFtZToiYXV0aF9wYWdlX2lubmVyIixjaGlsZHJlbjpbKDAscy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJhdXRoX3BhZ2VfbGVmdCIsY2hpbGRyZW46WygwLHMuanN4cykoImRpdiIse2NsYXNzTmFtZToiYXV0aF9wYWdlX2xlZnRfaW5uZXIgcC00IGxnOnAtOCIsY2hpbGRyZW46WygwLHMuanN4cykoImRpdiIse2NsYXNzTmFtZToiYXV0aF9wYWdlX2xlZnRfdG9wIixjaGlsZHJlbjpbKDAscy5qc3gpKHUoKSx7b25DbGljazooKT0+ai5wdXNoKCJodHRwczovL3d3dy5ibG9ja2ludi5jb20vIiksY2xhc3NOYW1lOiJjdXJzb3ItcG9pbnRlciIsc3JjOm0uaUMsYWx0OiJsb2dvIix3aWR0aDoxNDAsaGVpZ2h0OjE0MH0pLCgwLHMuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCxzLmpzeCkoInAiLHtjbGFzc05hbWU6InRleHQtWyNjNWM1YzVdICB0ZXh0LVsxcmVtXSBsZzp0ZXh0LVsxLjFyZW1dIixjaGlsZHJlbjoiRG9uJ3QgaGF2ZSBhbiBhY2NvdW50PyJ9KSwoMCxzLmpzeCkoImJ1dHRvbiIse29uQ2xpY2s6KCk9PmoucHVzaCgiL2F1dGgvcmVnaXN0ZXIiKSxjaGlsZHJlbjoicmVnaXN0ZXIifSldfSldfSksKDAscy5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImF1dGhfcGFnZV9sZWZ0X2JvdHRvbSIsY2hpbGRyZW46KDAscy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJhdXRoX3BhZ2VfbGVmdF9ib3R0b21faW5uZXIiLGNoaWxkcmVuOlsoMCxzLmpzeCkoImgzIix7Y2hpbGRyZW46IkxvZ2luIFlvdXIgQWNjb3VudCJ9KSwoMCxzLmpzeCkoImZvcm0iLHtjbGFzc05hbWU6ImZvcm0iLGF1dG9Db21wbGV0ZToib2ZmIixvblN1Ym1pdDpnLGNoaWxkcmVuOigwLHMuanN4cykoImRpdiIse2NsYXNzTmFtZToiZm9ybV9pbm5lciIsY2hpbGRyZW46WygwLHMuanN4KSgiZGl2Iix7Y2hpbGRyZW46KDAscy5qc3hzKSgibGFiZWwiLHtjbGFzc05hbWU6InJlbGF0aXZlIixodG1sRm9yOiJlbWFpbCIsY2hpbGRyZW46WygwLHMuanN4KSgic3BhbiIse2NoaWxkcmVuOiJlbWFpbCoifSksKDAscy5qc3gpKCJpbnB1dCIse3R5cGU6ImVtYWlsIixwbGFjZWhvbGRlcjoiZW1haWwiLHZhbHVlOmUsb25DaGFuZ2U6ZT0+dChlLnRhcmdldC52YWx1ZSkscmVxdWlyZWQ6ITB9KSwoMCxzLmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImN1cnNvci1wb2ludGVyIGFic29sdXRlIHRvcC1bMi43cmVtXSByaWdodC1bMXJlbV0gei01MCAiLGNoaWxkcmVuOigwLHMuanN4KShvLnM4eCx7fSl9KSwiICJdfSl9KSwoMCxzLmpzeCkoImRpdiIse2NoaWxkcmVuOigwLHMuanN4cykoImxhYmVsIix7Y2xhc3NOYW1lOiJyZWxhdGl2ZSIsaHRtbEZvcjoicGFzc3dvcmQiLGNoaWxkcmVuOlsoMCxzLmpzeCkoInNwYW4iLHtjaGlsZHJlbjoicGFzc3dvcmQqIn0pLCgwLHMuanN4KSgiaW5wdXQiLHt0eXBlOng/InRleHQiOiJwYXNzd29yZCIscGxhY2Vob2xkZXI6InBhc3N3b3JkIix2YWx1ZTpyLG9uQ2hhbmdlOmU9PmMoZS50YXJnZXQudmFsdWUpLHJlcXVpcmVkOiEwfSksKDAscy5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJjdXJzb3ItcG9pbnRlciBhYnNvbHV0ZSB0b3AtWzIuN3JlbV0gcmlnaHQtWzFyZW1dIHotNTAgIixvbkNsaWNrOigpPT57ZihlPT4hZSl9LGNoaWxkcmVuOng/KDAscy5qc3gpKGwuQTd2LHt9KTooMCxzLmpzeCkobC5uSjkse30pfSksIiAiXX0pfSksKDAscy5qc3hzKSgiZGl2Iix7Y2xhc3NOYW1lOiJmb3JnZXQgZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIixjaGlsZHJlbjpbKDAscy5qc3hzKSgiZGl2Iix7Y2hpbGRyZW46WygwLHMuanN4KSgiaW5wdXQiLHt0eXBlOiJjaGVja2JveCJ9KSwiUmVtZW1iZXIgTWUiXX0pLCgwLHMuanN4KSgic3BhbiIse29uQ2xpY2s6KCk9PmoucHVzaCgiL2F1dGgvZm9yZ290X3Bhc3N3b3JkIiksY2xhc3NOYW1lOiJ1bmRlcmxpbmUgcC0wIG0tMCBtdC0zIGN1cnNvci1wb2ludGVyIHRleHQtWy45cmVtXSBob3Zlcjpmb250LXNlbWlib2xkIHotNTAgbWluLXctZml0IixjaGlsZHJlbjoiRm9yZ2V0IHBhc3N3b3JkPyJ9KV19KSwoMCxzLmpzeHMpKCJidXR0b24iLHtjbGFzc05hbWU6InctZnVsbCBtdC0xMCIsY2hpbGRyZW46WyIgIixoPygwLHMuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZmxleCBqdXN0aWZ5LWNlbnRlciB0ZXh0LXdoaXRlIGl0ZW1zLWNlbnRlciIsY2hpbGRyZW46KDAscy5qc3gpKGwuRSRRLHtjbGFzc05hbWU6Im1yLTIgYW5pbWF0ZS1zcGluIixzaXplOjIyfSl9KTooMCxzLmpzeCkoInNwYW4iLHtjaGlsZHJlbjoiTG9naW4ifSldfSldfSl9KV19KX0pXX0pLCgwLHMuanN4KSgicCIse2NsYXNzTmFtZToidGV4dC1jZW50ZXIgdGV4dC1bI2M1YzVjNWM1XSB0ZXh0LVsxcmVtXSBteS00IixjaGlsZHJlbjoiQ29weXJpZ2h0IFx4YTkgMjAyNCBCbG9ja0ludi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4ifSldfSksKDAscy5qc3gpKCJkaXYiLHtjbGFzc05hbWU6ImF1dGhfcGFnZV9yaWdodCJ9KV19KX0pXX0pfX0sOTAwODpmdW5jdGlvbihlLHQscil7ZS5leHBvcnRzPXIoMjM4NjcpfSwxMTE2MzpmdW5jdGlvbihlLHQscil7ZS5leHBvcnRzPXIoNDMwNzkpfX1dKTs="}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/cormorantinfant/v22/HhyPU44g9vKiM1sORYSiWeAsLN997_cV2Q.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://app.blockinv.com/","date":"2026-07-27T06:26:02.814Z","timestamp":1785133562814,"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/cormorantinfant/v22/HhyPU44g9vKiM1sORYSiWeAsLN997_cV2Q.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://app.blockinv.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: 35668\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 16:44:44 GMT\r\nexpires: Fri, 23 Jul 2027 16:44:44 GMT\r\ncache-control: public, max-age=31536000\r\nage: 308478\r\nlast-modified: Thu, 04 Sep 2025 17:38:21 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":35668,"size_decoded":36481,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 35668, version 1.0","md5":"092f382681147e49ba630b3a3c0c5d28","sha1":"262af8824f272073d71394f99c475730d6b34f81","sha256":"d28047768addeacb934bb9a238cd8a1e9415f0b8f711900d575dc2042e34d988","sha512":"e559f420d66c1f3c23cc2aa5fe7f03ebd853db00e2b5e25f6f2cf5c4906287ca6397f9797e5282c2d25330025f497d718d91f98b19ce2069dc5f1b63ac4db413","ssdeep":"768:V7VpLpW0DWyquAU14xzPg2Z0x/bzaT4fa9EKPIPBsM5:/BqPU14C2ZoUgIEdZsM5","tlshash":"dbf2f2e061681542d2a8b7328e1b17fb4990549e2cf161ee9be0c224c5eb83f7f179f1","first_seen":"2025-09-12T23:13:25.161883Z","last_seen":"2026-07-29T03:50:49.89181Z","times_seen":349,"resource_available":false,"data":"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"}},"time_used":73,"timings":{"blocked":30,"dns":0,"connect":0,"send":0,"wait":19,"receive":24,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/assets/favicon.png","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:03.000Z","timestamp":1785133563000,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /assets/favicon.png HTTP/1.1\r\nHost: app.blockinv.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://app.blockinv.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\naccess-control-allow-origin: *\r\nage: 11945\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline; filename=\"404\"\r\ncontent-encoding: br\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:03 GMT\r\netag: W/\"025911c68821113c166ff35b64a39314\"\r\nlast-modified: Mon, 27 Jul 2026 03:06:57 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /404\r\nx-next-error-status: 404\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::ttbl7-1785133563005-1d0a77203a31\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","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":"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":2828,"size_decoded":1886,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (2026)","md5":"025911c68821113c166ff35b64a39314","sha1":"0c8f88eca47db8db0f2b733f288a014575631fea","sha256":"882abc5172347f5506e6120a726a0572dfc73dafd36a87efdebc22fa52b4cba6","sha512":"a159e5912f3378f5f35f66212f1fcd5a1cd81795d8048d123c2419d8e8cbf34afb05b53d6a43f32a9b5369bbe08742fb7808bc5cf7f08e37d74d3cfe542d4bd5","ssdeep":"","tlshash":"4151a755dc67c949153298ec7176f72ea00ac52bc5b9c814bedca6bc4fa13cf8f11a84","first_seen":"2026-07-27T03:07:35.276015Z","last_seen":"2026-07-27T06:26:35.968145Z","times_seen":2,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjxtZXRhIGNoYXJTZXQ9InV0Zi04Ii8+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCIvPjx0aXRsZT40MDQ6IFRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQ8L3RpdGxlPjxtZXRhIG5hbWU9Im5leHQtaGVhZC1jb3VudCIgY29udGVudD0iMyIvPjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBocmVmPSIvYXNzZXRzL2Zhdmljb24ucG5nIi8+PHNjcmlwdD4KICAgICAgICAgICAgICB2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307CiAgICAgICAgICAgICAgX3NtYXJ0c3VwcC5rZXkgPSAnNWIwMTcyNWNjOWY3ZjkzZDY2YjViM2RiNzI3MDNhNjA4Y2Q2OTk3Zic7CiAgICAgICAgICAgICAgd2luZG93LnNtYXJ0c3VwcHx8KGZ1bmN0aW9uKGQpIHsKICAgICAgICAgICAgICAgIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogICAgICAgICAgICAgICAgcz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtjPWQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgICAgICAgICBjLnR5cGU9J3RleHQvamF2YXNjcmlwdCc7Yy5jaGFyc2V0PSd1dGYtOCc7Yy5hc3luYz10cnVlOwogICAgICAgICAgICAgICAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKICAgICAgICAgICAgICB9KShkb2N1bWVudCk7CiAgICAgICAgICAgIDwvc2NyaXB0PjxsaW5rIHJlbD0icHJlbG9hZCIgaHJlZj0iL19uZXh0L3N0YXRpYy9jc3MvYzlhNzM1MDI1NWYzY2M1MS5jc3MiIGFzPSJzdHlsZSIvPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL19uZXh0L3N0YXRpYy9jc3MvYzlhNzM1MDI1NWYzY2M1MS5jc3MiIGRhdGEtbi1nPSIiLz48bm9zY3JpcHQgZGF0YS1uLWNzcz0iIj48L25vc2NyaXB0PjxzY3JpcHQgZGVmZXI9IiIgbm9tb2R1bGU9IiIgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9wb2x5ZmlsbHMtNDIzNzJlZDEzMDQzMWIwYS5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzL3dlYnBhY2stNWJjZGQ4Zjc0NTViNzQxMC5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzL2ZyYW1ld29yay05NDViMzU3ZDRhODUxZjRiLmpzIiBkZWZlcj0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvbWFpbi02M2UzODIzYjFhZmE1YTRiLmpzIiBkZWZlcj0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvcGFnZXMvX2FwcC04NzdlNzg1YTNiN2FiNjYyLmpzIiBkZWZlcj0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvcGFnZXMvX2Vycm9yLTZkZGZmNDQ5ZDE5OTU3MmMuanMiIGRlZmVyPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL3o0M2RoMmpqOEJrd19wYXRqbXFFMC9fYnVpbGRNYW5pZmVzdC5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvejQzZGgyamo4Qmt3X3BhdGptcUUwL19zc2dNYW5pZmVzdC5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5PjxkaXYgaWQ9Il9fbmV4dCI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6c3lzdGVtLXVpLCZxdW90O1NlZ29lIFVJJnF1b3Q7LFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiwmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OztoZWlnaHQ6MTAwdmg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlciI+PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6NDhweCI+PHN0eWxlPmJvZHl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luOjB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDAsMCwwLC4zKX1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe2JvZHl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwMDB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKX19PC9zdHlsZT48aDEgY2xhc3M9Im5leHQtZXJyb3ItaDEiIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAyMHB4IDAgMDtwYWRkaW5nLXJpZ2h0OjIzcHg7Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwO3ZlcnRpY2FsLWFsaWduOnRvcCI+NDA0PC9oMT48ZGl2IHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jayI+PGgyIHN0eWxlPSJmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjhweCI+VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBmb3VuZDwhLS0gLS0+LjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iVG9hc3RpZnkiPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9Il9fTkVYVF9EQVRBX18iIHR5cGU9ImFwcGxpY2F0aW9uL2pzb24iPnsicHJvcHMiOnsicGFnZVByb3BzIjp7InN0YXR1c0NvZGUiOjQwNH19LCJwYWdlIjoiL19lcnJvciIsInF1ZXJ5Ijp7fSwiYnVpbGRJZCI6Ino0M2RoMmpqOEJrd19wYXRqbXFFMCIsIm5leHRFeHBvcnQiOnRydWUsImlzRmFsbGJhY2siOmZhbHNlLCJnaXAiOnRydWUsInNjcmlwdExvYWRlciI6W119PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4="}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:13.074Z","timestamp":1785133573074,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1087630013.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:02 GMT","end":"Tue, 01 Sep 2026 14:33:01 GMT"},"fingerprint":{"sha1":"CE:B9:32:81:E9:D2:46:C8:31:53:55:D3:41:19:F7:94:91:30:D1:93","sha256":"54:C9:41:2F:97:E8:14:28:D7:2C:4F:FA:E0:C3:3A:BC:85:F8:14:22:1C:98:23:82:53:4D:5D:58:C9:0B:C9:68"}}},"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://app.blockinv.com/\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:13 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 1ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: kxF5FoFb3jncnxZdmduJPD2Vj+YPyttbIzZI/vBubJD9zY3I2Pk69pf1L74dLZFn95ucxWk\r\nx-77-nzt-ray: e2f7542075f17cf105fa666ab3720d06\r\nx-77-cache: HIT\r\nx-77-age: 220\r\nvary: Origin, Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":7216,"size_decoded":3346,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"05d7604a60456ab25eb809557b353edc","sha1":"e32135b721636e7994e42748da35341e03dfd123","sha256":"5892aca834fe3f9f8fb66f68c8a3eb2295708a3b428cf355d7f3e3c1a0b7b62e","sha512":"db4124c008e22597192e1f07b44575ff191a03322f763bffb1efd129152e0f6f1546d98f5016967b32cc71a8252fefc0546aef0be258e8343fbba4ae2afe00da","ssdeep":"192:Ccdft/hc4l6WKHSY8pZcqq+jT0UHAfoW/Ymz8:CgF/hcbWbYKZcF+jhqoWQmw","tlshash":"48e1b54f9a144ea987c6438276cfb84675bc80734250993afd8cc8b842697cda3e3b94","first_seen":"2026-04-01T12:23:41.393805Z","last_seen":"2026-07-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":36,"timings":{"blocked":0,"dns":3,"connect":8,"send":0,"wait":8,"receive":0,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:13.132Z","timestamp":1785133573132,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsupp.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Wed, 24 Jun 2026 00:00:00 GMT","end":"Thu, 07 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"4F:1A:3B:79:00:E3:DC:1F:92:62:7C:DC:85:3A:BE:8C:D1:68:F2:57","sha256":"7F:93:E6:29:5D:CA:78:BD:30:0D:25:11:3B:E2:01:C9:DC:80:3C:80:90:3F:84:D2:72:1B:0D:42:F1:20:13:D9"}}},"request":{"raw":"GET /socket/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: websocket-visitors.smartsupp.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://app.blockinv.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: q8siC5hbgD2l9OCawCqKBA==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 06:26:13 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: TKap8hg7PMQcld8iEvrw18FD8zU=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-07-30T07:24:55.286517Z","times_seen":17612560,"resource_available":true,"data":""}},"time_used":222,"timings":{"blocked":0,"dns":71,"connect":93,"send":0,"wait":30,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/css/c9a7350255f3cc51.css","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.420Z","timestamp":1785133562420,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/css/c9a7350255f3cc51.css HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=0\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"c9a7350255f3cc51.css\"\r\ncontent-encoding: br\r\ncontent-type: text/css; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"39c6857ac8f6591bb5b7ba537a588312\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/css/c9a7350255f3cc51.css\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::l6mrx-1785133562425-8631499e588c\r\ncontent-length: 13211\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":"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":62490,"size_decoded":13824,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (59981)","md5":"1c6939a977a27a2bed581a6644e6245d","sha1":"698512ecaad761dd7076c4ff7079cd03edbb79f1","sha256":"a20e11db695a3fc274e90709bd2faf388e49cd8e2c90d55adcf3a4db31dfc5fa","sha512":"c62b76b1acaf5e4f98da49b48fc6877ada0d5a24f4fae1aa9c69ca3bab0b0288ac1b11efd82520a7fa427d3df78205be952f3c32784adc7032d8c668f3c481a1","ssdeep":"768:5HWC8DYO6t36t9/Ni1k31epOXZNUrg0dKkQ7pPZhgyIE:5HWC8Db6t36t9/Ni1k3AEMdKh5j","tlshash":"6253c85a9a15043dbc7788b6e5e89fccd11dd0c1ef1b56ee7b8318188ac63e71672b08","first_seen":"2026-07-27T03:07:35.226784Z","last_seen":"2026-07-27T06:26:35.972409Z","times_seen":2,"resource_available":false,"data":"QGltcG9ydCB1cmwoImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Q29ybW9yYW50K0luZmFudDppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw1MDA7MCw2MDA7MCw3MDA7MSwzMDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDAmZmFtaWx5PU1vbnRzZXJyYXQ6d2dodEAxMDA7MjAwOzMwMDs0MDA7NTAwOzYwMDs3MDA7ODAwOzkwMCZkaXNwbGF5PXN3YXAiKTsqLDphZnRlciw6YmVmb3Jley0tdHctYm9yZGVyLXNwYWNpbmcteDowOy0tdHctYm9yZGVyLXNwYWNpbmcteTowOy0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy1yb3RhdGU6MDstLXR3LXNrZXcteDowOy0tdHctc2tldy15OjA7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjE7LS10dy1wYW4teDogOy0tdHctcGFuLXk6IDstLXR3LXBpbmNoLXpvb206IDstLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjogOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOiA7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjogOy0tdHctb3JkaW5hbDogOy0tdHctc2xhc2hlZC16ZXJvOiA7LS10dy1udW1lcmljLWZpZ3VyZTogOy0tdHctbnVtZXJpYy1zcGFjaW5nOiA7LS10dy1udW1lcmljLWZyYWN0aW9uOiA7LS10dy1yaW5nLWluc2V0OiA7LS10dy1yaW5nLW9mZnNldC13aWR0aDowcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjojZmZmOy0tdHctcmluZy1jb2xvcjpyZ2JhKDU5LDEzMCwyNDYsLjUpOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdzowIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3JlZDowIDAgIzAwMDA7LS10dy1ibHVyOiA7LS10dy1icmlnaHRuZXNzOiA7LS10dy1jb250cmFzdDogOy0tdHctZ3JheXNjYWxlOiA7LS10dy1odWUtcm90YXRlOiA7LS10dy1pbnZlcnQ6IDstLXR3LXNhdHVyYXRlOiA7LS10dy1zZXBpYTogOy0tdHctZHJvcC1zaGFkb3c6IDstLXR3LWJhY2tkcm9wLWJsdXI6IDstLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiA7LS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXR3LWJhY2tkcm9wLWludmVydDogOy0tdHctYmFja2Ryb3Atb3BhY2l0eTogOy0tdHctYmFja2Ryb3Atc2F0dXJhdGU6IDstLXR3LWJhY2tkcm9wLXNlcGlhOiA7LS10dy1jb250YWluLXNpemU6IDstLXR3LWNvbnRhaW4tbGF5b3V0OiA7LS10dy1jb250YWluLXBhaW50OiA7LS10dy1jb250YWluLXN0eWxlOiB9OjpiYWNrZHJvcHstLXR3LWJvcmRlci1zcGFjaW5nLXg6MDstLXR3LWJvcmRlci1zcGFjaW5nLXk6MDstLXR3LXRyYW5zbGF0ZS14OjA7LS10dy10cmFuc2xhdGUteTowOy0tdHctcm90YXRlOjA7LS10dy1za2V3LXg6MDstLXR3LXNrZXcteTowOy0tdHctc2NhbGUteDoxOy0tdHctc2NhbGUteToxOy0tdHctcGFuLXg6IDstLXR3LXBhbi15OiA7LS10dy1waW5jaC16b29tOiA7LS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzOnByb3hpbWl0eTstLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246IDstLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjogOy0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246IDstLXR3LW9yZGluYWw6IDstLXR3LXNsYXNoZWQtemVybzogOy0tdHctbnVtZXJpYy1maWd1cmU6IDstLXR3LW51bWVyaWMtc3BhY2luZzogOy0tdHctbnVtZXJpYy1mcmFjdGlvbjogOy0tdHctcmluZy1pbnNldDogOy0tdHctcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdHctcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXR3LXJpbmctY29sb3I6cmdiYSg1OSwxMzAsMjQ2LC41KTstLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzowIDAgIzAwMDA7LS10dy1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1zaGFkb3c6MCAwICMwMDAwOy0tdHctc2hhZG93LWNvbG9yZWQ6MCAwICMwMDAwOy0tdHctYmx1cjogOy0tdHctYnJpZ2h0bmVzczogOy0tdHctY29udHJhc3Q6IDstLXR3LWdyYXlzY2FsZTogOy0tdHctaHVlLXJvdGF0ZTogOy0tdHctaW52ZXJ0OiA7LS10dy1zYXR1cmF0ZTogOy0tdHctc2VwaWE6IDstLXR3LWRyb3Atc2hhZG93OiA7LS10dy1iYWNrZHJvcC1ibHVyOiA7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOiA7LS10dy1iYWNrZHJvcC1jb250cmFzdDogOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOiA7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOiA7LS10dy1iYWNrZHJvcC1pbnZlcnQ6IDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6IDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOiA7LS10dy1iYWNrZHJvcC1zZXBpYTogOy0tdHctY29udGFpbi1zaXplOiA7LS10dy1jb250YWluLWxheW91dDogOy0tdHctY29udGFpbi1wYWludDogOy0tdHctY29udGFpbi1zdHlsZTogfQovKgohIHRhaWx3aW5kY3NzIHYzLjQuMTcgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tCiovKiw6YWZ0ZXIsOmJlZm9yZXtib3JkZXI6MCBzb2xpZCAjZTVlN2VifTphZnRlciw6YmVmb3Jley0tdHctY29udGVudDoiIn06aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7LW8tdGFiLXNpemU6NDt0YWItc2l6ZTo0O2ZvbnQtZmFtaWx5OnVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsQXBwbGUgQ29sb3IgRW1vamksU2Vnb2UgVUkgRW1vamksU2Vnb2UgVUkgU3ltYm9sLE5vdG8gQ29sb3IgRW1vamk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWJvZHl7bWFyZ2luOjA7bGluZS1oZWlnaHQ6aW5oZXJpdH1ocntoZWlnaHQ6MDtjb2xvcjppbmhlcml0O2JvcmRlci10b3Atd2lkdGg6MXB4fWFiYnI6d2hlcmUoW3RpdGxlXSl7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZH1oMSxoMixoMyxoNCxoNSxoNntmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0fWF7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXR9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDttYXJnaW46MDtwYWRkaW5nOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dKSxpbnB1dDp3aGVyZShbdHlwZT1yZXNldF0pLGlucHV0OndoZXJlKFt0eXBlPXN1Ym1pdF0pey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b306LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtvdXRsaW5lLW9mZnNldDotMnB4fTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX06Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Zm9udDppbmhlcml0fXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19YmxvY2txdW90ZSxkZCxkbCxmaWd1cmUsaDEsaDIsaDMsaDQsaDUsaDYsaHIscCxwcmV7bWFyZ2luOjB9ZmllbGRzZXR7bWFyZ2luOjB9ZmllbGRzZXQsbGVnZW5ke3BhZGRpbmc6MH1tZW51LG9sLHVse2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXJ7b3BhY2l0eToxO2NvbG9yOiM5Y2EzYWZ9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1bcm9sZT1idXR0b25dLGJ1dHRvbntjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9YXVkaW8sY2FudmFzLGVtYmVkLGlmcmFtZSxpbWcsb2JqZWN0LHN2Zyx2aWRlb3tkaXNwbGF5OmJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX1pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0uXCFjb250YWluZXJ7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmNvbnRhaW5lcnt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjY0MHB4KXsuXCFjb250YWluZXJ7bWF4LXdpZHRoOjY0MHB4IWltcG9ydGFudH0uY29udGFpbmVye21heC13aWR0aDo2NDBweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5cIWNvbnRhaW5lcnttYXgtd2lkdGg6NzY4cHghaW1wb3J0YW50fS5jb250YWluZXJ7bWF4LXdpZHRoOjc2OHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey5cIWNvbnRhaW5lcnttYXgtd2lkdGg6MTAyNHB4IWltcG9ydGFudH0uY29udGFpbmVye21heC13aWR0aDoxMDI0cHh9fUBtZWRpYSAobWluLXdpZHRoOjEyODBweCl7LlwhY29udGFpbmVye21heC13aWR0aDoxMjgwcHghaW1wb3J0YW50fS5jb250YWluZXJ7bWF4LXdpZHRoOjEyODBweH19QG1lZGlhIChtaW4td2lkdGg6MTUzNnB4KXsuXCFjb250YWluZXJ7bWF4LXdpZHRoOjE1MzZweCFpbXBvcnRhbnR9LmNvbnRhaW5lcnttYXgtd2lkdGg6MTUzNnB4fX0ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5maXhlZHtwb3NpdGlvbjpmaXhlZH0uYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGV9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnNldC0we2luc2V0OjB9Li1ib3R0b20tXFsyXC41cmVtXF17Ym90dG9tOi0yLjVyZW19Li10b3AtXFsyXC41cmVtXF17dG9wOi0yLjVyZW19LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tNHtib3R0b206MXJlbX0ubGVmdC0we2xlZnQ6MH0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LVxbLTVyZW1cXXtsZWZ0Oi01cmVtfS5sZWZ0LVxbNTBcJVxde2xlZnQ6NTAlfS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTV7cmlnaHQ6MS4yNXJlbX0ucmlnaHQtXFstNXJlbVxde3JpZ2h0Oi01cmVtfS5yaWdodC1cWzFyZW1cXXtyaWdodDoxcmVtfS50b3AtMHt0b3A6MH0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTI4e3RvcDo3cmVtfS50b3AtXFswXC4zcmVtXF17dG9wOi4zcmVtfS50b3AtXFsyXC43cmVtXF17dG9wOjIuN3JlbX0uei01MHt6LWluZGV4OjUwfS56LVxbMTAwMFxde3otaW5kZXg6MTAwMH0ubS0we21hcmdpbjowfS5tLTR7bWFyZ2luOjFyZW19Lm14LVxbXC4ycmVtXF17bWFyZ2luLWxlZnQ6LjJyZW07bWFyZ2luLXJpZ2h0Oi4ycmVtfS5teC1hdXRve21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99Lm15LTEwe21hcmdpbi10b3A6Mi41cmVtO21hcmdpbi1ib3R0b206Mi41cmVtfS5teS0yMHttYXJnaW4tdG9wOjVyZW07bWFyZ2luLWJvdHRvbTo1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Lm1iLTJ7bWFyZ2luLWJvdHRvbTouNXJlbX0ubWItNHttYXJnaW4tYm90dG9tOjFyZW19Lm1iLTV7bWFyZ2luLWJvdHRvbToxLjI1cmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tYi1cW1wuM3JlbVxde21hcmdpbi1ib3R0b206LjNyZW19Lm1iLVxbMVwuNXJlbVxde21hcmdpbi1ib3R0b206MS41cmVtfS5tYi1cWzJyZW1cXXttYXJnaW4tYm90dG9tOjJyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC00e21hcmdpbi1sZWZ0OjFyZW19Lm1yLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtfS5tdC0xMHttYXJnaW4tdG9wOjIuNXJlbX0ubXQtMlwuNXttYXJnaW4tdG9wOi42MjVyZW19Lm10LTN7bWFyZ2luLXRvcDouNzVyZW19Lm10LTR7bWFyZ2luLXRvcDoxcmVtfS5tdC02e21hcmdpbi10b3A6MS41cmVtfS5tdC03e21hcmdpbi10b3A6MS43NXJlbX0ubXQtOHttYXJnaW4tdG9wOjJyZW19Lm10LVxbM3JlbVxde21hcmdpbi10b3A6M3JlbX0ubXQtXFs1cmVtXF17bWFyZ2luLXRvcDo1cmVtfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5mbGV4e2Rpc3BsYXk6ZmxleH0udGFibGV7ZGlzcGxheTp0YWJsZX0uZ3JpZHtkaXNwbGF5OmdyaWR9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmFzcGVjdC1zcXVhcmV7YXNwZWN0LXJhdGlvOjEvMX0uc2l6ZS0xMHt3aWR0aDoyLjVyZW07aGVpZ2h0OjIuNXJlbX0uaC0xMXtoZWlnaHQ6Mi43NXJlbX0uaC0zMntoZWlnaHQ6OHJlbX0uaC03MntoZWlnaHQ6MThyZW19LmgtXFsxMDBkdmhcXXtoZWlnaHQ6MTAwZHZofS5oLVxbMTJyZW1cXXtoZWlnaHQ6MTJyZW19LmgtXFsxNXJlbVxde2hlaWdodDoxNXJlbX0uaC1cWzI4ZHZoXF17aGVpZ2h0OjI4ZHZofS5oLVxbMjhyZW1cXXtoZWlnaHQ6MjhyZW19LmgtXFszMHJlbVxde2hlaWdodDozMHJlbX0uaC1cWzNyZW1cXXtoZWlnaHQ6M3JlbX0uaC1cWzQwdmhcXXtoZWlnaHQ6NDB2aH0uaC1cWzRyZW1cXXtoZWlnaHQ6NHJlbX0uaC1cWzUwXCVcXXtoZWlnaHQ6NTAlfS5oLVxbNTB2aFxde2hlaWdodDo1MHZofS5oLVxbNTVkdmhcXXtoZWlnaHQ6NTVkdmh9LmgtXFs1cmVtXF17aGVpZ2h0OjVyZW19LmgtXFs2MGR2aFxde2hlaWdodDo2MGR2aH0uaC1cWzg1XCVcXXtoZWlnaHQ6ODUlfS5oLWZpdHtoZWlnaHQ6LW1vei1maXQtY29udGVudDtoZWlnaHQ6Zml0LWNvbnRlbnR9LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1zY3JlZW57aGVpZ2h0OjEwMHZofS5tYXgtaC02NHttYXgtaGVpZ2h0OjE2cmVtfS5tYXgtaC1cWzEwMGR2aFxde21heC1oZWlnaHQ6MTAwZHZofS5tYXgtaC1cWzE2cmVtXF17bWF4LWhlaWdodDoxNnJlbX0ubWF4LWgtXFszMGR2aFxde21heC1oZWlnaHQ6MzBkdmh9Lm1heC1oLVxbNjBkdmhcXXttYXgtaGVpZ2h0OjYwZHZofS5tYXgtaC1cWzc1ZHZoXF17bWF4LWhlaWdodDo3NWR2aH0ubWluLWgtXFsxMDBkdmhcXXttaW4taGVpZ2h0OjEwMGR2aH0ubWluLWgtXFsxMnJlbVxde21pbi1oZWlnaHQ6MTJyZW19Lm1pbi1oLVxbNTB2aFxde21pbi1oZWlnaHQ6NTB2aH0udy03Mnt3aWR0aDoxOHJlbX0udy1cWzEwMFwlXF17d2lkdGg6MTAwJX0udy1cWzEwcmVtXF17d2lkdGg6MTByZW19LnctXFsxMnJlbVxde3dpZHRoOjEycmVtfS53LVxbMTVcJVxde3dpZHRoOjE1JX0udy1cWzI1MHB4XF17d2lkdGg6MjUwcHh9LnctXFs2cmVtXF17d2lkdGg6NnJlbX0udy1cWzkwXCVcXXt3aWR0aDo5MCV9LnctXFs5OFwlXF17d2lkdGg6OTglfS53LWZpdHt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50fS53LWZ1bGx7d2lkdGg6MTAwJX0ubWluLXctXFs3cmVtXF17bWluLXdpZHRoOjdyZW19Lm1pbi13LWZpdHttaW4td2lkdGg6LW1vei1maXQtY29udGVudDttaW4td2lkdGg6Zml0LWNvbnRlbnR9Lm1heC13LVxbMjByZW1cXXttYXgtd2lkdGg6MjByZW19Lm1heC13LVxbNDJyZW1cXXttYXgtd2lkdGg6NDJyZW19Lm1heC13LVxbNTBcJVxde21heC13aWR0aDo1MCV9Lm1heC13LVxbNTVyZW1cXXttYXgtd2lkdGg6NTVyZW19Lm1heC13LVxbNjByZW1cXXttYXgtd2lkdGg6NjByZW19Lm1heC13LVxbNzAwcHhcXXttYXgtd2lkdGg6NzAwcHh9Lm1heC13LWZpdHttYXgtd2lkdGg6LW1vei1maXQtY29udGVudDttYXgtd2lkdGg6Zml0LWNvbnRlbnR9Lm1heC13LXNte21heC13aWR0aDoyNHJlbX0uLXRyYW5zbGF0ZS14LTFcLzJ7LS10dy10cmFuc2xhdGUteDotNTAlfS4tdHJhbnNsYXRlLXgtMVwvMiwuLXRyYW5zbGF0ZS15LTFcLzJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS4tdHJhbnNsYXRlLXktMVwvMnstLXR3LXRyYW5zbGF0ZS15Oi01MCV9LnRyYW5zbGF0ZS14LVxbLTUwXCVcXXstLXR3LXRyYW5zbGF0ZS14Oi01MCV9LnRyYW5zbGF0ZS14LVxbLTUwXCVcXSwudHJhbnNsYXRlLXktXFs1MFwlXF17dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS50cmFuc2xhdGUteS1cWzUwXCVcXXstLXR3LXRyYW5zbGF0ZS15OjUwJX0uc2NhbGUtMTEwey0tdHctc2NhbGUteDoxLjE7LS10dy1zY2FsZS15OjEuMX0uc2NhbGUtMTEwLC5zY2FsZS05NXt0cmFuc2Zvcm06dHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSx2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3WCh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSl9LnNjYWxlLTk1ey0tdHctc2NhbGUteDouOTU7LS10dy1zY2FsZS15Oi45NX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLHZhcigtLXR3LXRyYW5zbGF0ZS15KSkgcm90YXRlKHZhcigtLXR3LXJvdGF0ZSkpIHNrZXdYKHZhcigtLXR3LXNrZXcteCkpIHNrZXdZKHZhcigtLXR3LXNrZXcteSkpIHNjYWxlWCh2YXIoLS10dy1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKX1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5jdXJzb3ItcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLWVuZHthbGlnbi1pdGVtczpmbGV4LWVuZH0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9LmdhcC0xe2dhcDouMjVyZW19LmdhcC0xMHtnYXA6Mi41cmVtfS5nYXAtMntnYXA6LjVyZW19LmdhcC0ze2dhcDouNzVyZW19LmdhcC00e2dhcDoxcmVtfS5nYXAtNntnYXA6MS41cmVtfS5nYXAtOHtnYXA6MnJlbX0uZ2FwLVxbMFwuMXJlbVxde2dhcDouMXJlbX0uZ2FwLVxbMXJlbVxde2dhcDoxcmVtfS5nYXAtXFsycmVtXF17Z2FwOjJyZW19LmdhcC1cWzNyZW1cXXtnYXA6M3JlbX0uZ2FwLVxbNHJlbVxde2dhcDo0cmVtfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy1zY3JvbGx7b3ZlcmZsb3c6c2Nyb2xsfS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1oaWRkZW57b3ZlcmZsb3cteTpoaWRkZW59Lm92ZXJmbG93LXgtc2Nyb2xse292ZXJmbG93LXg6c2Nyb2xsfS53aGl0ZXNwYWNlLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnRleHQtcHJldHR5e3RleHQtd3JhcDpwcmV0dHl9LnJvdW5kZWR7Ym9yZGVyLXJhZGl1czouMjVyZW19LnJvdW5kZWQtXFs1MFwlXF17Ym9yZGVyLXJhZGl1czo1MCV9LnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOi41cmVtfS5yb3VuZGVkLW1ke2JvcmRlci1yYWRpdXM6LjM3NXJlbX0ucm91bmRlZC14bHtib3JkZXItcmFkaXVzOi43NXJlbX0uYm9yZGVye2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci1cWzJweFxde2JvcmRlci13aWR0aDoycHh9LmJvcmRlci14LTJ7Ym9yZGVyLWxlZnQtd2lkdGg6MnB4O2JvcmRlci1yaWdodC13aWR0aDoycHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5ib3JkZXItdHtib3JkZXItdG9wLXdpZHRoOjFweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLXNvbGlke2JvcmRlci1zdHlsZTpzb2xpZH0uYm9yZGVyLW5vbmV7Ym9yZGVyLXN0eWxlOm5vbmV9LmJvcmRlci1cW1wjMTEyNzlkXF17LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMTcgMzkgMTU3L3ZhcigtLXR3LWJvcmRlci1vcGFjaXR5LDEpKX0uYm9yZGVyLVxbXCMxZTE4NGFcXXstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigzMCAyNCA3NC92YXIoLS10dy1ib3JkZXItb3BhY2l0eSwxKSl9LmJvcmRlci1cW1wjQjVCNUI1XF1cLzI1e2JvcmRlci1jb2xvcjpoc2xhKDAsMCUsNzElLC4yNSl9LmJvcmRlci1cW1wjQjVCNUI1XF1cLzc1e2JvcmRlci1jb2xvcjpoc2xhKDAsMCUsNzElLC43NSl9LmJvcmRlci1cW1wjZmZmXF17LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5ib3JkZXItYmxhY2t7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5ib3JkZXItZ3JheS0zMDB7LS10dy1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjA5IDIxMyAyMTkvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5ib3JkZXItcmVkLTkwMHstLXR3LWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigxMjcgMjkgMjkvdmFyKC0tdHctYm9yZGVyLW9wYWNpdHksMSkpfS5iZy1cW1wjMDAwXF17LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLVxbXCMxOTFjMjRcXXstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNSAyOCAzNi92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmctXFtcIzI3MzEyRlxdXC8yNXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzksNDksNDcsLjI1KX0uYmctXFtcI2VlZVxdey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDIzOCAyMzggMjM4L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1cW1wjZmRmZGZkXF17LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjUzIDI1MyAyNTMvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLWJsYWNrey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDAgMCAwL3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1ibGFja1wvXFs2NVwlXF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42NSl9LmJnLWJsdWUtNDAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDk2IDE2NSAyNTAvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLWJsdWUtNTAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDU5IDEzMCAyNDYvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLWdyYXktMzAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy1ncmF5LTgwMHstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigzMSA0MSA1NS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmctZ3JlZW4tNDAwey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdHctYmctb3BhY2l0eSwxKSl9LmJnLXJlZC01MDB7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5iZy13aGl0ZXstLXR3LWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uYmcteWVsbG93LTYwMFwvXFsyMFwlXF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIwMiwxMzgsNCwuMil9LmJnLW9wYWNpdHktNTB7LS10dy1iZy1vcGFjaXR5OjAuNX0uYmctZ3JhZGllbnQtdG8tcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCx2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpfS5mcm9tLVxbXCM4Nzg2ODZcXVwvMjV7LS10dy1ncmFkaWVudC1mcm9tOmhzbGEoMCwwJSw1MyUsLjI1KSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKTstLXR3LWdyYWRpZW50LXRvOmhzbGEoMCwwJSw1MyUsMCkgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtZnJvbSksdmFyKC0tdHctZ3JhZGllbnQtdG8pfS50by1cW1wjMjczMTJGXF1cLzI1ey0tdHctZ3JhZGllbnQtdG86cmdiYSgzOSw0OSw0NywuMjUpIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKX0ucC0we3BhZGRpbmc6MH0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTEwe3BhZGRpbmc6Mi41cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC00e3BhZGRpbmc6MXJlbX0ucC02e3BhZGRpbmc6MS41cmVtfS5wLTh7cGFkZGluZzoycmVtfS5wLVxbMFwuMnJlbVxde3BhZGRpbmc6LjJyZW19LnAtXFsxcmVtXF17cGFkZGluZzoxcmVtfS5weC0xMHtwYWRkaW5nLWxlZnQ6Mi41cmVtO3BhZGRpbmctcmlnaHQ6Mi41cmVtfS5weC0ye3BhZGRpbmctbGVmdDouNXJlbTtwYWRkaW5nLXJpZ2h0Oi41cmVtfS5weC0ze3BhZGRpbmctbGVmdDouNzVyZW07cGFkZGluZy1yaWdodDouNzVyZW19LnB4LTR7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5weC01e3BhZGRpbmctbGVmdDoxLjI1cmVtO3BhZGRpbmctcmlnaHQ6MS4yNXJlbX0ucHgtNntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5weC03e3BhZGRpbmctbGVmdDoxLjc1cmVtO3BhZGRpbmctcmlnaHQ6MS43NXJlbX0ucHgtXFswXC41cmVtXF17cGFkZGluZy1sZWZ0Oi41cmVtO3BhZGRpbmctcmlnaHQ6LjVyZW19LnB5LTF7cGFkZGluZy10b3A6LjI1cmVtO3BhZGRpbmctYm90dG9tOi4yNXJlbX0ucHktMTB7cGFkZGluZy10b3A6Mi41cmVtO3BhZGRpbmctYm90dG9tOjIuNXJlbX0ucHktMTZ7cGFkZGluZy10b3A6NHJlbTtwYWRkaW5nLWJvdHRvbTo0cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yMHtwYWRkaW5nLXRvcDo1cmVtO3BhZGRpbmctYm90dG9tOjVyZW19LnB5LTN7cGFkZGluZy10b3A6Ljc1cmVtO3BhZGRpbmctYm90dG9tOi43NXJlbX0ucHktNHtwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnB5LTV7cGFkZGluZy10b3A6MS4yNXJlbTtwYWRkaW5nLWJvdHRvbToxLjI1cmVtfS5weS04e3BhZGRpbmctdG9wOjJyZW07cGFkZGluZy1ib3R0b206MnJlbX0ucGItMjR7cGFkZGluZy1ib3R0b206NnJlbX0ucGItNDB7cGFkZGluZy1ib3R0b206MTByZW19LnBsLTE0e3BhZGRpbmctbGVmdDozLjVyZW19LnBsLTh7cGFkZGluZy1sZWZ0OjJyZW19LnB0LTE2e3BhZGRpbmctdG9wOjRyZW19LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5mb250LXNlcmlme2ZvbnQtZmFtaWx5OnVpLXNlcmlmLEdlb3JnaWEsQ2FtYnJpYSxUaW1lcyBOZXcgUm9tYW4sVGltZXMsc2VyaWZ9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC0zeGx7Zm9udC1zaXplOjEuODc1cmVtO2xpbmUtaGVpZ2h0OjIuMjVyZW19LnRleHQtNHhse2ZvbnQtc2l6ZToyLjI1cmVtO2xpbmUtaGVpZ2h0OjIuNXJlbX0udGV4dC1cW1wuOXJlbVxde2ZvbnQtc2l6ZTouOXJlbX0udGV4dC1cWzBcLjZyZW1cXXtmb250LXNpemU6LjZyZW19LnRleHQtXFswXC44cmVtXF17Zm9udC1zaXplOi44cmVtfS50ZXh0LVxbMVwuMXJlbVxde2ZvbnQtc2l6ZToxLjFyZW19LnRleHQtXFsxXC4ycmVtXF17Zm9udC1zaXplOjEuMnJlbX0udGV4dC1cWzFcLjNyZW1cXXtmb250LXNpemU6MS4zcmVtfS50ZXh0LVxbMVwuNXJlbVxde2ZvbnQtc2l6ZToxLjVyZW19LnRleHQtXFsxXC43cmVtXF17Zm9udC1zaXplOjEuN3JlbX0udGV4dC1cWzFyZW1cXXtmb250LXNpemU6MXJlbX0udGV4dC1cWzIwcHhcXXtmb250LXNpemU6MjBweH0udGV4dC1cWzJyZW1cXXtmb250LXNpemU6MnJlbX0udGV4dC1cWzNcLjVyZW1cXXtmb250LXNpemU6My41cmVtfS50ZXh0LWJhc2V7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41cmVtfS50ZXh0LWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtfS50ZXh0LXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQteGx7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0uZm9udC1cWzUwMFxde2ZvbnQtd2VpZ2h0OjUwMH0uZm9udC1cWzYwMFxde2ZvbnQtd2VpZ2h0OjYwMH0uZm9udC1cWzcwMFxde2ZvbnQtd2VpZ2h0OjcwMH0uZm9udC1ibGFja3tmb250LXdlaWdodDo5MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtZXh0cmFib2xke2ZvbnQtd2VpZ2h0OjgwMH0uZm9udC1saWdodHtmb250LXdlaWdodDozMDB9LmZvbnQtbWVkaXVte2ZvbnQtd2VpZ2h0OjUwMH0uZm9udC1ub3JtYWx7Zm9udC13ZWlnaHQ6NDAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uY2FwaXRhbGl6ZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplfS5ub3JtYWwtY2FzZXt0ZXh0LXRyYW5zZm9ybTpub25lfS5sZWFkaW5nLXJlbGF4ZWR7bGluZS1oZWlnaHQ6MS42MjV9LmxlYWRpbmctdGlnaHR7bGluZS1oZWlnaHQ6MS4yNX0udGV4dC1cW1wjM2I4MmY2XF17LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoNTkgMTMwIDI0Ni92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LVxbXCNjNWM1YzVcXXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxOTcgMTk3IDE5Ny92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LVxbXCNjNWM1YzVjNVxde2NvbG9yOiNjNWM1YzVjNX0udGV4dC1cW1wjZmZmXF17LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1ibGFja3stLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LWJsdWUtNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDk2IDE2NSAyNTAvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1ibHVlLTQwMFwvOTV7Y29sb3I6cmdiYSg5NiwxNjUsMjUwLC45NSl9LnRleHQtYmx1ZS01MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoNTkgMTMwIDI0Ni92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LWJsdWUtNTAwXC85NXtjb2xvcjpyZ2JhKDU5LDEzMCwyNDYsLjk1KX0udGV4dC1ncmF5LTQwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxNTYgMTYzIDE3NS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LWdyYXktODAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDMxIDQxIDU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LnRleHQtZ3JlZW4tNDAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1wdXJwbGUtNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE2OCA4NSAyNDcvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC1yZWQtNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LXRlYWwtNTAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwIDE4NCAxNjYvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC13aGl0ZXstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LXdoaXRlXC85MHtjb2xvcjpoc2xhKDAsMCUsMTAwJSwuOSl9LnRleHQtd2hpdGVcLzk1e2NvbG9yOmhzbGEoMCwwJSwxMDAlLC45NSl9LnRleHQteWVsbG93LTUwMHstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMzQgMTc5IDgvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udGV4dC15ZWxsb3ctNjAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMiAxMzggNC92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS50ZXh0LXppbmMtNjAwey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDgyIDgyIDkxL3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LnRleHQtemluYy03MDB7LS10dy10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoNjMgNjMgNzAvdmFyKC0tdHctdGV4dC1vcGFjaXR5LDEpKX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZX0ub3BhY2l0eS04MHtvcGFjaXR5Oi44fS5zaGFkb3ctbGd7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCByZ2JhKDAsMCwwLC4xKSwwIDRweCA2cHggLTRweCByZ2JhKDAsMCwwLC4xKTstLXR3LXNoYWRvdy1jb2xvcmVkOjAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpfS5zaGFkb3ctbGcsLnNoYWRvdy1tZHtib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywwIDAgIzAwMDApLHZhcigtLXR3LXJpbmctc2hhZG93LDAgMCAjMDAwMCksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW1key0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHJnYmEoMCwwLDAsLjEpLDAgMnB4IDRweCAtMnB4IHJnYmEoMCwwLDAsLjEpOy0tdHctc2hhZG93LWNvbG9yZWQ6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yKSwwIDJweCA0cHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IpfS5vdXRsaW5lLW5vbmV7b3V0bGluZToycHggc29saWQgdHJhbnNwYXJlbnQ7b3V0bGluZS1vZmZzZXQ6MnB4fS5ibHVyLTN4bHstLXR3LWJsdXI6Ymx1cig2NHB4KX0uYmx1ci0zeGwsLmZpbHRlcntmaWx0ZXI6dmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KX0uYmFja2Ryb3AtYmx1ci1cWzJweFxdey0tdHctYmFja2Ryb3AtYmx1cjpibHVyKDJweCl9LmJhY2tkcm9wLWJsdXItXFsycHhcXSwuYmFja2Ryb3AtYmx1ci1sZ3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyKSB2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSB2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlKSB2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSB2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHkpIHZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSB2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKX0uYmFja2Ryb3AtYmx1ci1sZ3stLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cigxNnB4KX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2Usb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSxmaWx0ZXIsYmFja2Ryb3AtZmlsdGVyLC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30udHJhbnNpdGlvbi1hbGx7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS50cmFuc2l0aW9uLWNvbG9yc3t0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LmR1cmF0aW9uLTMwMHt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uZHVyYXRpb24tNTAwe3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5kdXJhdGlvbi03MDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouN3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZWFzZS1pbi1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Kiw6YWZ0ZXIsOmJlZm9yZXttYXJnaW46MDtwYWRkaW5nOjA7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtZmFtaWx5Ok1vbnRzZXJyYXQsc2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbH0uc3BlY2lhbF9mb250LGgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtZmFtaWx5OkNvcm1vcmFudCBJbmZhbnQsc2VyaWY7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6OTAwfS5SZWFjdENvbGxhcHNlLS1jb2xsYXBzZXt0cmFuc2l0aW9uOmhlaWdodCAuNXN9LnBsYWNlaG9sZGVyXDp0ZXh0LVxbXCNCNUI1QjVcXTo6LW1vei1wbGFjZWhvbGRlcnstLXR3LXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxODEgMTgxIDE4MS92YXIoLS10dy10ZXh0LW9wYWNpdHksMSkpfS5wbGFjZWhvbGRlclw6dGV4dC1cW1wjQjVCNUI1XF06OnBsYWNlaG9sZGVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE4MSAxODEgMTgxL3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LmhvdmVyXDpzY2FsZS0xMDA6aG92ZXJ7LS10dy1zY2FsZS14OjE7LS10dy1zY2FsZS15OjF9LmhvdmVyXDpzY2FsZS0xMDA6aG92ZXIsLmhvdmVyXDpzY2FsZS1cWzFcLjAyXF06aG92ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS10dy10cmFuc2xhdGUteCksdmFyKC0tdHctdHJhbnNsYXRlLXkpKSByb3RhdGUodmFyKC0tdHctcm90YXRlKSkgc2tld1godmFyKC0tdHctc2tldy14KSkgc2tld1kodmFyKC0tdHctc2tldy15KSkgc2NhbGVYKHZhcigtLXR3LXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdHctc2NhbGUteSkpfS5ob3Zlclw6c2NhbGUtXFsxXC4wMlxdOmhvdmVyey0tdHctc2NhbGUteDoxLjAyOy0tdHctc2NhbGUteToxLjAyfS5ob3Zlclw6YmctYmx1ZS01MDA6aG92ZXJ7LS10dy1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTkgMTMwIDI0Ni92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uaG92ZXJcOmJnLWJsdWUtNjAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM3IDk5IDIzNS92YXIoLS10dy1iZy1vcGFjaXR5LDEpKX0uaG92ZXJcOmJnLWdyYXktNDAwOmhvdmVyey0tdHctYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE1NiAxNjMgMTc1L3ZhcigtLXR3LWJnLW9wYWNpdHksMSkpfS5ob3Zlclw6Zm9udC1zZW1pYm9sZDpob3Zlcntmb250LXdlaWdodDo2MDB9LmhvdmVyXDp0ZXh0LXdoaXRlOmhvdmVyey0tdHctdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXR3LXRleHQtb3BhY2l0eSwxKSl9LmZvY3VzXDpvdXRsaW5lLVxbXCM0QjQ2NUNcXTpmb2N1c3tvdXRsaW5lLWNvbG9yOiM0YjQ2NWN9QG1lZGlhIG5vdCBhbGwgYW5kIChtaW4td2lkdGg6NzY4cHgpey5tYXgtbWRcOnRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvd319QG1lZGlhIChtaW4td2lkdGg6NjQwcHgpey5zbVw6ZmxleHtkaXNwbGF5OmZsZXh9LnNtXDptaW4taC1cWzlyZW1cXXttaW4taGVpZ2h0OjlyZW19LnNtXDpwYi0xMHtwYWRkaW5nLWJvdHRvbToyLjVyZW19LnNtXDp0ZXh0LVxbMVwuMXJlbVxde2ZvbnQtc2l6ZToxLjFyZW19LnNtXDp0ZXh0LVxbMzBweFxde2ZvbnQtc2l6ZTozMHB4fS5zbVw6dGV4dC1sZ3tmb250LXNpemU6MS4xMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0uc21cOnRleHQteHN7Zm9udC1zaXplOi43NXJlbTtsaW5lLWhlaWdodDoxcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1kXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcOmhpZGRlbntkaXNwbGF5Om5vbmV9Lm1kXDpnYXAtXFs1cmVtXF17Z2FwOjVyZW19Lm1kXDp0ZXh0LVxbMVwuNHJlbVxde2ZvbnQtc2l6ZToxLjRyZW19Lm1kXDp0ZXh0LVxbMXJlbVxde2ZvbnQtc2l6ZToxcmVtfS5tZFw6dGV4dC1cWzJcLjVyZW1cXXtmb250LXNpemU6Mi41cmVtfS5tZFw6dGV4dC1cWzJyZW1cXXtmb250LXNpemU6MnJlbX0ubWRcOnRleHQteGx7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX19QG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXsubGdcOnRvcC01Nnt0b3A6MTRyZW19LmxnXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1w6ZmxleHtkaXNwbGF5OmZsZXh9LmxnXDpoaWRkZW57ZGlzcGxheTpub25lfS5sZ1w6aC1cWzVyZW1cXXtoZWlnaHQ6NXJlbX0ubGdcOmgtXFs3MHZoXF17aGVpZ2h0Ojcwdmh9LmxnXDptYXgtaC1cWzUwZHZoXF17bWF4LWhlaWdodDo1MGR2aH0ubGdcOnctXFsxNXJlbVxde3dpZHRoOjE1cmVtfS5sZ1w6dy1maXR7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0ubGdcOmp1c3RpZnktYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9LmxnXDpnYXAtNHtnYXA6MXJlbX0ubGdcOmdhcC04e2dhcDoycmVtfS5sZ1w6Z2FwLVxbMXJlbVxde2dhcDoxcmVtfS5sZ1w6Z2FwLVxbMnJlbVxde2dhcDoycmVtfS5sZ1w6cC0we3BhZGRpbmc6MH0ubGdcOnAtOHtwYWRkaW5nOjJyZW19LmxnXDpweC02e3BhZGRpbmctbGVmdDoxLjVyZW07cGFkZGluZy1yaWdodDoxLjVyZW19LmxnXDp0ZXh0LTZ4bHtmb250LXNpemU6My43NXJlbTtsaW5lLWhlaWdodDoxfS5sZ1w6dGV4dC1cWzFcLjFyZW1cXXtmb250LXNpemU6MS4xcmVtfS5sZ1w6dGV4dC1sZ3tmb250LXNpemU6MS4xMjVyZW07bGluZS1oZWlnaHQ6MS43NXJlbX0ubGdcOmxlYWRpbmctbG9vc2V7bGluZS1oZWlnaHQ6Mn19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXsueGxcOm1heC13LVxbNzBcJVxde21heC13aWR0aDo3MCV9LnhsXDpweC0we3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH19Lm1haW5fY29udGFpbmVye3BhZGRpbmc6LjVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7Lm1haW5fY29udGFpbmVye3BhZGRpbmc6MS41cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweCl7Lm1haW5fY29udGFpbmVye3BhZGRpbmc6MXJlbSA0cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjE0MDBweCl7Lm1haW5fY29udGFpbmVye3BhZGRpbmc6MXJlbSA2cmVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsuc3ViX2NvbnRhaW5lcnt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjgwJX19Lm1haW5faGVhZGVye2ZvbnQtc2l6ZToxLjdyZW07Y29sb3I6IzA5MmE0ODtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7Lm1haW5faGVhZGVye2ZvbnQtc2l6ZToyLjJyZW19fS5tYWluX2hlYWRlcl9zbWFsbHtmb250LXNpemU6MS4ycmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NTc2cHgpey5tYWluX2hlYWRlcl9zbWFsbHtmb250LXNpemU6MS44cmVtfX0udGV4dF9tZWRpdW17Zm9udC1zaXplOjEuN3JlbTtmb250LXdlaWdodDo4MDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6NDByZW07bWFyZ2luOi4ycmVtIDB9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7LnRleHRfbWVkaXVte2ZvbnQtc2l6ZToyLjdyZW19fS50ZXh0X3NtYWxse2NvbG9yOiM2YzcyOTM7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwfS5saW5rX3RleHR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LmxpbmtfdGV4dDpob3Zlcntjb2xvcjpibHVlO2ZvbnQtd2VpZ2h0OjUwMDtzY2FsZToxLjJ9LmJveF9oZWFkZXJ7Zm9udC1zaXplOjEuMnJlbTtjb2xvcjojMDkyYTQ4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDpub3JtYWw7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0uYm94X2hlYWRlci5iaWd7Zm9udC1zaXplOjEuNHJlbX0ubGluZV9zbWFsbHtkaXNwbGF5OmJsb2NrO2JvcmRlcjoycHggc29saWQgIzAwMDt3aWR0aDo0cmVtO21hcmdpbjouNXJlbSAwO2JvcmRlci1yYWRpdXM6LjVyZW19LmxpbmVfc21hbGwubWF4e3dpZHRoOjEwMCU7bWF4LXdpZHRoOjRyZW07bWFyZ2luLWlubGluZTphdXRvfS5saW5lX3NtYWxsLm1heC5zbWFsbGVye21hcmdpbjowIGF1dG87bWF4LXdpZHRoOjhyZW07Ym9yZGVyLXdpZHRoOjFweH0uaG92ZXJfYW5pbWF0aW9ue3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDtjdXJzb3I6cG9pbnRlcn0uaG92ZXJfYW5pbWF0aW9uOmhvdmVye3RyYW5zZm9ybTpzY2FsZSgxLjEpfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpey5ob3Zlcl9hbmltYXRpb24uc21hbGxlcnt0cmFuc2Zvcm06c2NhbGUoLjkpfS5ob3Zlcl9hbmltYXRpb24uc21hbGxlcjpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMSl9fS5ib3JkZXJfdGVzdHtvdXRsaW5lOjJweCBzb2xpZCByZWR9LmRlZmF1bHRfYm94e3dpZHRoOjE3cmVtO2hlaWdodDoyMHJlbTtib3gtc2hhZG93OjAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xKTtib3JkZXItcmFkaXVzOi41cmVtO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsuZGVmYXVsdF9ib3h7d2lkdGg6MjByZW07aGVpZ2h0OjIwcmVtO21hcmdpbi10b3A6MXJlbSAwfX0uYm94e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjMwMHB4O21pbi1oZWlnaHQ6MzUwcHg7YmFja2dyb3VuZC1jb2xvcjojZjJmMmYyO2JvcmRlci1yYWRpdXM6MjBweDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVufS5ib3g6YWZ0ZXIsLmJveDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MDBweDtoZWlnaHQ6NTAwcHh9LmJveDphZnRlcntiYWNrZ3JvdW5kLWltYWdlOmNvbmljLWdyYWRpZW50KHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LCNmNTczNjEpO2FuaW1hdGlvbjphbmltYXRlQWZ0ZXIgNHMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbi1kZWxheTotMnN9LmJveDpob3ZlciAuYm94OmFmdGVye2FuaW1hdGlvbi1wbGF5LXN0YXRlOnJ1bm5pbmd9LmJveDpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTpjb25pYy1ncmFkaWVudCh0cmFuc3BhcmVudCx0cmFuc3BhcmVudCx0cmFuc3BhcmVudCwjNTNiM2NiKTthbmltYXRpb246YW5pbWF0ZUJlZm9yZSA0cyBsaW5lYXIgaW5maW5pdGV9LmJveDpob3ZlciAuYm94OmJlZm9yZXthbmltYXRpb24tcGxheS1zdGF0ZTpydW5uaW5nfUBrZXlmcmFtZXMgYW5pbWF0ZUFmdGVyezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgYW5pbWF0ZUJlZm9yZXswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0uYm94PnNwYW57cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NXB4O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kOiNmMmYyZjI7ei1pbmRleDoxfS5wbGFuc19ib3hfaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2NvbG9yOiM2YzcyOTM7Zm9udC1zaXplOjFlbTt3aWR0aDo5MCU7aGVpZ2h0OjkwJX0uYnRuX21haW57dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtiYWNrZ3JvdW5kOiMxOTFjMjQ7Y29sb3I6I2ZmZjtwYWRkaW5nOi41cmVtIDEuNXJlbTtib3JkZXItcmFkaXVzOjVweDtmb250LXdlaWdodDo1MDA7Y3Vyc29yOnBvaW50ZXI7c2NhbGU6MTt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lfS5idG5fbWFpbjpob3ZlcntzY2FsZToxLjE7Zm9udC13ZWlnaHQ6NzAwfS5jbW4tYnRue3BhZGRpbmc6MTJweCAzNXB4O2JvcmRlci1yYWRpdXM6NXB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7LW1vei1ib3JkZXItcmFkaXVzOjVweDstbXMtYm9yZGVyLXJhZGl1czo1cHg7LW8tYm9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZC1jb2xvcjojMjM0MTNjO2JveC1zaGFkb3c6MCAxMHB4IDIwcHggMCByZ2JhKDAsMCwwLC4xNSk7dHJhbnNpdGlvbjphbGwgLjNzO2NvbG9yOiNmZmY7b3BhY2l0eTouOH0uY21uLWJ0bjpob3Zlcntjb2xvcjojZmZmO29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwZjNlNTg7b3V0bGluZToxcHggc29saWQgI2ZmZn0uY21uLWJ0bi5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG5fYmd7YmFja2dyb3VuZDojMTkxYzI0fS5nb2xkX2Jne2JhY2tncm91bmQ6IzE1MmY4Y30uc2hhZG93X21haW57Ym94LXNoYWRvdzowIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMSl9LmxpZ2h0X2Jne2JhY2tncm91bmQ6I2YyZjJmMn0ud2hpdGVfYmd7YmFja2dyb3VuZDojZmZmfS5iYW5rc19iZ3tiYWNrZ3JvdW5kOiNlN2U3ZTd9LndoaXRlX2JveHtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTAwJTttYXgtd2lkdGg6MjJyZW07Ym9yZGVyLXJhZGl1czouNXJlbTtwYWRkaW5nOjEuMnJlbTt0ZXh0LWFsaWduOmNlbnRlcn1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsud2hpdGVfYm94e3BhZGRpbmc6MnJlbX19LndoaXRlX2JveF9pbm5lciAuaGVhZGVyIGgye2ZvbnQtc2l6ZToxLjdyZW07Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOjFweDt3b3JkLXNwYWNpbmc6NXB4O2N1cnNvcjpwb2ludGVyfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpey53aGl0ZV9ib3hfaW5uZXIgLmhlYWRlciBoMntmb250LXNpemU6MnJlbX19LndoaXRlX2JveF9pbm5lciAuaGVhZGVyIGg0e21hcmdpbi1ib3R0b206LjVyZW07Zm9udC1zaXplOjEuNXJlbTtmb250LXdlaWdodDo4MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3dvcmQtc3BhY2luZzo1cHh9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7LndoaXRlX2JveF9pbm5lciAuaGVhZGVyIGg0e2ZvbnQtc2l6ZToxLjdyZW19fS53aGl0ZV9ib3hfaW5uZXIgLmZvcm1fc2Vje3BhZGRpbmc6MCAuOHJlbSAycmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpey53aGl0ZV9ib3hfaW5uZXIgLmZvcm1fc2Vje3BhZGRpbmc6MCAycmVtIDJyZW19fS53aGl0ZV9ib3hfaW5uZXIgLmZvcm1fc2VjPnB7dGV4dC1hbGlnbjpsZWZ0fS53aGl0ZV9ib3hfaW5uZXIgLmZvcm1fc2VjIHB7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1ib3R0b206LjVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7LndoaXRlX2JveF9pbm5lciAuZm9ybV9zZWMgcHtmb250LXNpemU6MS4xcmVtfX0ud2hpdGVfYm94X2lubmVyIC5mb3JtX3NlYyAuaW5wdXRzX3NlY3tkaXNwbGF5OmdyaWQ7Z2FwOjEuMnJlbTttYXJnaW4tdG9wOjEuNXJlbX0ud2hpdGVfYm94X2lubmVyIC5mb3JtX3NlYyAuaW5wdXRzX3NlYyBpbnB1dHt3aWR0aDoxMDAlO2hlaWdodDoycmVtO3BhZGRpbmc6LjVyZW07b3V0bGluZTpub25lO2JvcmRlcjouNXB4IHNvbGlkICNkYWU0ZmZ9LndoaXRlX2JveF9pbm5lciAuY2hlY2tib3h7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxcmVtfS53aGl0ZV9ib3hfaW5uZXIgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hde3dpZHRoOjEuNHJlbTtoZWlnaHQ6MXJlbX0ud2hpdGVfYm94X2lubmVyIC5jaGVja2JveCBwe21hcmdpbjowO3BhZGRpbmc6MDtmb250LXNpemU6LjlyZW07Zm9udC13ZWlnaHQ6NDAwfS53aGl0ZV9ib3hfaW5uZXIgYnV0dG9ue2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMxNmEzZmUgMCwjNDFmYWE0KTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Ym9yZGVyLXJhZGl1czo1cHg7bWFyZ2luOjFyZW0gMDt3aWR0aDoxMDAlO2hlaWdodDoycmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo2MDA7Ym94LXNoYWRvdzowIDEwcHggMzBweCByZ2JhKDAsMCwwLC4xNSk7c2NhbGU6MTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZn0ud2hpdGVfYm94X2lubmVyIGJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo4MDA7c2NhbGU6MS4xfS53aGl0ZV9ib3hfaW5uZXIgLmJvdHRvbV9zZWMgcHtmb250LXNpemU6LjhyZW07Zm9udC13ZWlnaHQ6NDAwfS5oaWRlX3Njcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5wYXNzd29yZC10b2dnbGUtYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDouOXJlbTt6LWluZGV4OjEwMDtjb2xvcjojMjczMTJmO2ZvbnQtc2l6ZToxLjNyZW07cmlnaHQ6LjhyZW07YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uYXV0aF9wYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMGR2aDtiYWNrZ3JvdW5kOiMwNTBkMWE7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47b3ZlcmZsb3cteTpzY3JvbGw7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmb250LXN0eWxlOm5vcm1hbH0uYXV0aF9wYWdlOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LmF1dGhfcGFnZV9pbm5lcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uYXV0aF9wYWdlX2xlZnR7d2lkdGg6MTAwJX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk5MnB4KXsuYXV0aF9wYWdlX2xlZnR7bWF4LXdpZHRoOjUwcmVtfX0uYXV0aF9wYWdlX2xlZnRfdG9we2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnJlbTtmbGV4LXdyYXA6d3JhcDttYXJnaW4tdG9wOjIuNXJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsuYXV0aF9wYWdlX2xlZnRfdG9we2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXgtd3JhcDpub3dyYXA7Z2FwOjFyZW19fS5hdXRoX3BhZ2VfbGVmdF90b3AgZGl2e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6LjVyZW19LmF1dGhfcGFnZV9sZWZ0X2JvdHRvbXttYXJnaW4tdG9wOjIuNXJlbTttYXJnaW4tYm90dG9tOjEuNXJlbX0uYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIGgze3RleHQtYWxpZ246Y2VudGVyO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDozcmVtfS5hdXRoX3BhZ2VfbGVmdF9ib3R0b21faW5uZXIgLmZvcm17bWFyZ2luLXRvcDoycmVtfS5hdXRoX3BhZ2VfbGVmdF9ib3R0b21faW5uZXIgLmZvcm1faW5uZXIgZGl2e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXA7d2lkdGg6MTAwJX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsuYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIC5mb3JtX2lubmVyIGRpdntmbGV4LXdyYXA6bm93cmFwO2dhcDoxcmVtfX0uYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIC5mb3JtX2lubmVyIGRpdiBsYWJlbHt3aWR0aDoxMDAlO2Rpc3BsYXk6Z3JpZDtnYXA6LjNyZW07bWFyZ2luLWJvdHRvbToxLjVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7LmF1dGhfcGFnZV9sZWZ0X2JvdHRvbV9pbm5lciAuZm9ybV9pbm5lciBkaXYgbGFiZWx7bWFyZ2luLWJvdHRvbToycmVtfX0uYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIC5mb3JtX2lubmVyIGRpdiBsYWJlbCBzcGFue3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Y29sb3I6I2M1YzVjNTtmb250LXNpemU6MS4xcmVtO2ZvbnQtd2VpZ2h0OjUwMH0uYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIC5mb3JtX2lubmVyIGRpdiBsYWJlbCBpbnB1dHt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweCAxNXB4O2JhY2tncm91bmQ6IzA1MGQxYTtjb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgaHNsYSgwLDAlLDEwMCUsLjE1KTtib3JkZXItcmFkaXVzOjZweDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5hdXRoX3BhZ2VfbGVmdF9ib3R0b21faW5uZXIgLmZvcm1faW5uZXIgZGl2IGxhYmVsIGlucHV0OjotbW96LXBsYWNlaG9sZGVye3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Y29sb3I6IzhmOGY4Zjtmb250LXNpemU6MXJlbX0uYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIC5mb3JtX2lubmVyIGRpdiBsYWJlbCBpbnB1dDo6cGxhY2Vob2xkZXJ7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtjb2xvcjojOGY4ZjhmO2ZvbnQtc2l6ZToxcmVtfS5hdXRoX3BhZ2VfbGVmdF9ib3R0b21faW5uZXIgLmZvcm1faW5uZXIgZGl2IGxhYmVsIGlucHV0OmZvY3Vze2JveC1zaGFkb3c6MXB4IDFweCAxcHggMXB4ICMxYTIzN2U7b3V0bGluZTpub25lfS5hdXRoX3BhZ2VfbGVmdF9ib3R0b21fdGV4dHtjb2xvcjojYzVjNWM1O2ZvbnQtd2VpZ2h0OjUwMDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDouNXJlbTtmb250LXNpemU6MXJlbTttYXJnaW4tdG9wOjIuNXJlbX0uYXV0aF9wYWdlX2xlZnRfYm90dG9tX3RleHQgaW5wdXR7d2lkdGg6MS4ycmVtO2FzcGVjdC1yYXRpbzoxLzE7Y3Vyc29yOnBvaW50ZXJ9LmF1dGhfcGFnZV9yaWdodHtkaXNwbGF5Om5vbmU7d2lkdGg6MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgvX25leHQvc3RhdGljL21lZGlhL2F1dGhfaW1nMl9tYWluLjE0MDNmZWI2LmpwZyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtoZWlnaHQ6MTAwZHZoO292ZXJmbG93OmhpZGRlbjtvdmVyZmxvdy15OnNjcm9sbH0uYXV0aF9wYWdlX3JpZ2h0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5OTJweCl7LmF1dGhfcGFnZV9yaWdodHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9fS5hdXRoX3BhZ2UgYnV0dG9ue3BhZGRpbmc6MTJweCAzMHB4O2JhY2tncm91bmQtY29sb3I6IzFhMjM3ZTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NXB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjpub25lO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO29wYWNpdHk6Ljk7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0O3RyYW5zZm9ybTpzY2FsZSguOTgpfS5hdXRoX3BhZ2UgYnV0dG9uOmhvdmVye29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSk7Zm9udC13ZWlnaHQ6NjAwfS5zaWRlYmFye3dpZHRoOjA7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzNjMWM5NDtib3JkZXItcmFkaXVzOi41cmVtO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjA7dHJhbnNpdGlvbjpsZWZ0IC4zcyBlYXNlLWluLW91dDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxNXJlbTtsZWZ0Oi0yMHJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsuc2lkZWJhcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzp2aXNpYmxlO2xlZnQ6MDttaW4td2lkdGg6MTVyZW07aGVpZ2h0OjEwMGR2aDtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc2lkZWJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KXsuc2lkZWJhci5hY3RpdmV7bGVmdDowO2hlaWdodDoxMDAlO3otaW5kZXg6MTAwfX0uc2lkZWJhcl9pbm5lcntkaXNwbGF5OmdyaWQ7Z2FwOjEuNXJlbTtwYWRkaW5nOi41cmVtfS5zaWRlYmFyX2xvZ297ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MXJlbSAwO3Bvc2l0aW9uOnJlbGF0aXZlfS5zaWRlYmFyX2xvZ28+ZGl2e3Bvc2l0aW9uOmFic29sdXRlO291dGxpbmU6MXB4IHNvbGlkICNmZmY7Y29sb3I6I2ZmZjtmb250LXNpemU6MnJlbTt0b3A6LjVyZW07cmlnaHQ6MDtib3JkZXItcmFkaXVzOi42cmVtO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEwMDB9LnNpZGViYXJfbG9nbz5kaXY6aG92ZXJ7dHJhbnNmb3JtOnNjYWxlKDEuMSl9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7LnNpZGViYXJfbG9nbz5kaXZ7ZGlzcGxheTpub25lfX0uc2lkZWJhcl9ib3R0b217b3ZlcmZsb3cteTpzY3JvbGw7aGVpZ2h0OjcwZHZoO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDtnYXA6MXJlbX0uc2lkZWJhcl9ib3R0b206Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc2lkZWJhcl9tZW51X2xpc3R7ZGlzcGxheTpncmlkO2dhcDouNXJlbX0uc2lkZWJhcl9tZW51X2xpc3QgbGl7cGFkZGluZzouNnJlbTtib3JkZXItcmFkaXVzOi44cmVtO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtnYXA6LjNyZW07dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtmb250LXNpemU6MXJlbTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS41cmVtO2xldHRlci1zcGFjaW5nOi4wMnJlbTtjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7c2NhbGU6Ljk7d2lkdGg6MTMuNXJlbTtjb2xvcjojZmZmfS5zaWRlYmFyX21lbnVfbGlzdCBsaS5hY3RpdmUsLnNpZGViYXJfbWVudV9saXN0IGxpOmhvdmVye3NjYWxlOjE7YmFja2dyb3VuZDojMTkxYzI0O2NvbG9yOiNmZmZ9LnNpZGViYXJfbWVudV9saXN0IGxpLmxvZ291dHtib3R0b206MXJlbTtjb2xvcjpyZWQ7d2lkdGg6MTNyZW07aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O2JvcmRlcjoxcHggc29saWQgcmVkfS5zaWRlYmFyX21lbnVfbGlzdCBsaS5sb2dvdXQ6aG92ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvdXRsaW5lOjFweCBzb2xpZCByZWR9Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo1cHh9Ojotd2Via2l0LXNjcm9sbGJhci10cmFja3tib3gtc2hhZG93OjAgNHB4IDEwcHggNXB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXItcmFkaXVzOjNweH06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQocmdiYSgzMCwyNCw3NCwuNSksI2ZmZikgMzA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1yYWRpdXM6NHB4fTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZDojMTkxYzI0fS5tYWluX2NvbnRlbnRze3otaW5kZXg6LTEwMDB9Lm5hdnt6LWluZGV4OjEwMDA7cG9zaXRpb246cmVsYXRpdmV9Lm5hdiwubmF2Lm5hdl9maXhlZHt3aWR0aDoxMDAlO2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDt0cmFuc2l0aW9uOmFsbCAxcyBlYXNlLWluLW91dH0ubmF2Lm5hdl9maXhlZHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7b3BhY2l0eToxO3otaW5kZXg6MTAwO2JhY2tncm91bmQ6aHNsYSgwLDAlLDEwMCUsLjQzKTtib3gtc2hhZG93OjAgNHB4IDMwcHggcmdiYSgwLDAsMCwuMSk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjA0cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCl9Lm5hdl9pbm5lcnt3aWR0aDoxMDAlO3otaW5kZXg6MTAwMDB9Lm5hdl9saW5rcyBsaXt3aWR0aDo1cmVtO2N1cnNvcjpwb2ludGVyO3NjYWxlOjE7dHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubmF2X2xpbmtzIGxpLmFjdGl2ZSwubmF2X2xpbmtzIGxpOmhvdmVye3NjYWxlOjEuMTtmb250LXdlaWdodDo3MDB9Lm5hdl9idG57dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtiYWNrZ3JvdW5kOiMxOTFjMjQ7Y29sb3I6I2ZmZjtwYWRkaW5nOi41cmVtIDEuNXJlbTtib3JkZXItcmFkaXVzOjVweDtmb250LXdlaWdodDo1MDA7Y3Vyc29yOnBvaW50ZXI7c2NhbGU6MTt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lfS5uYXZfYnRuOmhvdmVye3NjYWxlOjEuMTtmb250LXdlaWdodDo3MDB9Lm5hdiAuZHJvcGRvd25fbWVudXt6LWluZGV4OjEwMDA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjQuNXJlbTtib3JkZXItcmFkaXVzOjFyZW07cGFkZGluZzoxLjU0cmVtIDA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7YmFja2dyb3VuZDojZmZmO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxcmVtO2JveC1zaGFkb3c6MCA0cHggMzBweCByZ2JhKDAsMCwwLC4xKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig5LjRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cig5LjRweCk7d2lkdGg6MTAwJTtvcGFjaXR5OjE7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MXJlbTtvdmVyZmxvdzpoaWRkZW47cmlnaHQ6LTUwcmVtO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSl9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7Lm5hdiAuZHJvcGRvd25fbWVudXt3aWR0aDozMDBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMDI0cHgpey5uYXYgLmRyb3Bkb3duX21lbnV7cG9zaXRpb246Zml4ZWR9fS5uYXYgLmRyb3Bkb3duX21lbnUub3BlbntyaWdodDowO2Rpc3BsYXk6ZmxleH0ubmF2IC5kcm9wZG93bl9tZW51IHVse3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6Z3JpZDtnYXA6MXJlbX0ubmF2IC5kcm9wZG93bl9tZW51IHVsIGxpe2N1cnNvcjpwb2ludGVyfS5uYXYgLmRyb3Bkb3duX21lbnUgdWwgbGk6aG92ZXJ7c2NhbGU6MS4xO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwMjRweCl7Lm5hdiAuZHJvcGRvd25fbWVudXtkaXNwbGF5Om5vbmV9fS5jaG9vc2VfdXNfc2Vje2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46NXJlbSAwO3dpZHRoOjEwMCV9LmNob29zZV91c19pbm5lcntkaXNwbGF5OmdyaWQ7Z2FwOjEuMnJlbX0uY2hvb3NlX3VzX3F1b3Rlc3t3aWR0aDoxMDAlO21heC13aWR0aDo2OHJlbX0uY2hvb3NlX3VzX2ZsZXhib3h7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO2dhcDoycmVtO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7bWFyZ2luLXRvcDoycmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NTc2cHgpey5jaG9vc2VfdXNfZmxleGJveHtnYXA6MXJlbX19LmNob29zZV91c19ib3h7d2lkdGg6MTdyZW07aGVpZ2h0OjIwcmVtO2JveC1zaGFkb3c6MCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6LjVyZW07b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjFyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7LmNob29zZV91c19ib3h7d2lkdGg6MjByZW07aGVpZ2h0OjIwcmVtO21hcmdpbi10b3A6MXJlbSAwfX0uY2hvb3NlX3VzX2JveDpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xKX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsuY2hvb3NlX3VzX2JveHtwYWRkaW5nOjEuNXJlbX19LmNob29zZV91c19ib3g6aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAxMHB4IDAgcmdiYSgzMCwyNCw3NCwuNSl9LmNob29zZV91c19ib3hfaGVhZGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtnYXA6LjhyZW07bWF4LXdpZHRoOjE4cmVtO2NvbG9yOiMwOTJhNDg7bWFyZ2luOjFyZW0gMH0uY2hvb3NlX3VzX2JveF9sb2dve2JvcmRlcjoycHggc29saWQgIzA5MmE0ODtwYWRkaW5nOjFyZW07Ym9yZGVyLXJhZGl1czouNXJlbTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7Y3Vyc29yOnBvaW50ZXJ9LmNob29zZV91c19ib3hfbG9nbzpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xKX0uc2VydmljZXN7YmFja2dyb3VuZDojZjJmMmYyO3BhZGRpbmc6NXJlbSAwfS5zZXJ2aWNlc19pbm5lcntkaXNwbGF5OmdyaWQ7Z2FwOjIuNXJlbX0uc2VydmljZXNfZmxleGJveF9pbm5lcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXA7Z2FwOjNyZW19LnNlcnZpY2VzX2JveHt3aWR0aDoxOHJlbTtoZWlnaHQ6MzByZW07Ym94LXNoYWRvdzowIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czouNXJlbTtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O2N1cnNvcjpwb2ludGVyO21hcmdpbi10b3A6LjVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7LnNlcnZpY2VzX2JveHt3aWR0aDoyMnJlbTtoZWlnaHQ6MzByZW07bWFyZ2luLXRvcDoxcmVtIDB9fS5zZXJ2aWNlc19ib3g6aG92ZXJ7dHJhbnNmb3JtOnNjYWxlKDEuMSk7Ym94LXNoYWRvdzowIDFweCAxMHB4IDAgcmdiYSgzMCwyNCw3NCwuNSl9LnNlcnZpY2VzX2JveF90b3B7d2lkdGg6MTAwJTtoZWlnaHQ6MTVyZW19LnNlcnZpY2VzX2JveF9ib3R0b217cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nLXRvcDozLjVyZW07cGFkZGluZy1pbmxpbmU6MS41cmVtO3RleHQtYWxpZ246Y2VudGVyfS5zZXJ2aWNlc19ib3hfYm90dG9tX2ljb257d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzoxcmVtO2JveC1zaGFkb3c6MCAxcHggMTBweCAwIHJnYmEoMCwwLDAsLjEpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX0uc3RhdHNfc2Vje2JhY2tncm91bmQtaW1hZ2U6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvc3RhdHNfYmcuYzk4ZWE4OTYuanBlZyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTttaW4taGVpZ2h0OjMwZHZoO3dpZHRoOjEwMCU7Y29sb3I6I2ZmZn0udGVzdGltb25pYWxzX2ZsZXhib3h7b3ZlcmZsb3c6aGlkZGVufS50ZXN0aW1vbmlhbHNfZmxleGJveF9pbm5lcntoZWlnaHQ6NjB2aDtkaXNwbGF5OmZsZXh9LnRlc3RpbW9uaWFsc19mbGV4Ym94X2lubmVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9LnRlc3RpbW9uaWFsc19mbGV4Ym94X2lubmVyLnNjcm9sbF9hbmltYXRpb257d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDthbmltYXRpb246c2Nyb2xsIDU1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5OTJweCl7LnRlc3RpbW9uaWFsc19mbGV4Ym94X2lubmVyLnNjcm9sbF9hbmltYXRpb257YW5pbWF0aW9uOnNjcm9sbExHIDU1cyBsaW5lYXIgaW5maW5pdGV9fS50ZXN0aW1vbmlhbHNfYm94e3dpZHRoOjE3cmVtO2hlaWdodDoyMHJlbTtib3gtc2hhZG93OjAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xKTtib3JkZXItcmFkaXVzOi41cmVtO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7Y3Vyc29yOnBvaW50ZXI7bWF4LWhlaWdodDoxNnJlbTttaW4td2lkdGg6MTdyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NzZweCl7LnRlc3RpbW9uaWFsc19ib3h7d2lkdGg6MjByZW07aGVpZ2h0OjIwcmVtO21hcmdpbi10b3A6MXJlbSAwfX0udGVzdGltb25pYWxzX2JveDpob3Zlcnt0cmFuc2Zvcm06c2NhbGUoMS4xKX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsudGVzdGltb25pYWxzX2JveHttYXJnaW4tdG9wOi41cmVtO21pbi13aWR0aDoyMHJlbX19LnRlc3RpbW9uaWFsc19ib3g6aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAxMHB4IDAgcmdiYSgzMCwyNCw3NCwuNSk7bWluLWhlaWdodDoyNXJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsudGVzdGltb25pYWxzX2JveDpob3ZlcnttaW4td2lkdGg6MjByZW19fUBrZXlmcmFtZXMgc2Nyb2xsezAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVYKC05NSUpfX1Aa2V5ZnJhbWVzIHNjcm9sbExHezAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVYKC03MCUpfX0uZmFxX2hlcm97YmFja2dyb3VuZC1pbWFnZTp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS9mYXFfYmcuOTJjOTE0MGUuanBnKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO21pbi1oZWlnaHQ6NDBkdmg7d2lkdGg6MTAwJTtjb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6bGFzdCBiYXNlbGluZTthbGlnbi1pdGVtczpsYXN0IGJhc2VsaW5lfWZvb3RlcntiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luLXRvcDo1cmVtO2JvcmRlci10b3A6MXB4IHNvbGlkICNmMmYyZjJ9Zm9vdGVyIC5mb290ZXJfaW5uZXJ7ZGlzcGxheTpncmlkO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Z2FwOjJyZW07YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjFyZW0gMH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk5MnB4KXtmb290ZXIgLmZvb3Rlcl9pbm5lcntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fX1mb290ZXIgLmZvb3Rlcl9pbm5lciB1bHtwYWRkaW5nOjA7ZGlzcGxheTpncmlkO2dhcDouNnJlbX1mb290ZXIgLmZvb3Rlcl9pbm5lciB1bCBsaXtkaXNwbGF5OmZsZXg7Z2FwOi44cmVtO2ZvbnQtc2l6ZTouOHJlbTtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtsaW5lLWhlaWdodDpub3JtYWw7Y29sb3I6IzZjNzI5Mzt3aWR0aDoxMDAlO21heC13aWR0aDoyMHJlbTtjdXJzb3I6cG9pbnRlcn1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwMHB4KXtmb290ZXIgLmZvb3Rlcl9pbm5lciB1bCBsaXtmb250LXNpemU6MS4ycmVtfX1mb290ZXIgLmZvb3Rlcl9pbm5lciB1bCBsaSBzcGFuIHN2Z3twb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDouNHJlbSAwfWZvb3RlciAuZm9vdGVyX2xlZnQ+ZGl2e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOi41cmVtO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9Zm9vdGVyIC5mb290ZXJfbGVmdD5kaXYgaW1ne3dpZHRoOjNyZW07YXNwZWN0LXJhdGlvOjEvMX1mb290ZXIgLmZvb3Rlcl9sZWZ0IHB7d2lkdGg6MTAwJTttYXgtd2lkdGg6MjdyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjAwcHgpe2Zvb3RlciAuZm9vdGVyX2xlZnQgcHttYXgtd2lkdGg6MjlyZW19fWZvb3RlciAuZm9vdGVyX3JpZ2h0e2Rpc3BsYXk6Z3JpZDtwbGFjZS1pdGVtczpsZWZ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjJyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7Zm9vdGVyIC5mb290ZXJfcmlnaHR7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEuNXJlbX19Zm9vdGVyIC5mb290ZXJfcmlnaHQgaDN7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtjb2xvcjojMDkyYTQ4O2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MS41cmVtO21hcmdpbi1ib3R0b206LjhyZW19Zm9vdGVyIC5mb290ZXJfYm90dG9te21hcmdpbi10b3A6M3JlbTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOi44cmVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtjb2xvcjojNmM3MjkzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTkycHgpe2Zvb3RlciAuZm9vdGVyX2JvdHRvbXtmb250LXNpemU6MXJlbX19LmRhc2hib2FyZF9sYXlvdXR7YmFja2dyb3VuZDojZmZmfS5kYXNoYm9hcmRfY29udGVudHNfbWFpbiwuZGFzaGJvYXJkX2hlYWRlcntib3gtc2hhZG93OjAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzNiODJmNn0uZGFzaGJvYXJkX3BhZ2VfYm90dG9te292ZXJmbG93OnNjcm9sbDttYXJnaW46MnJlbSAwIDFyZW19LmRhc2hib2FyZF9wYWdlX2JvdHRvbV9pbm5lcntnYXA6MS41cmVtO21heC13aWR0aDo5NSV9LmRhc2hib2FyZF9wYWdlX2JvdHRvbV9pbm5lciwuZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX2lubmVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtmbGV4LXdyYXA6d3JhcH0uZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX2lubmVye2dhcDoxcmVtO2FsaWduLWl0ZW1zOjEuNXJlbTt3aWR0aDoxMDAlfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDAwcHgpey5kYXNoYm9hcmRfcGFnZV9taWRkbGVfaW5uZXJ7d2lkdGg6ODAlfX0uZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX2xlZnR7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzByZW07aGVpZ2h0OjEycmVtO2JvcmRlci1yYWRpdXM6LjVyZW07YmFja2dyb3VuZDojMTkxYzI0fS5kYXNoYm9hcmRfcGFnZV9taWRkbGVfbGVmdF9pbm5lcntmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3BhZGRpbmc6MXJlbX0uZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX2xlZnRfaW5uZXIgdWx7ZGlzcGxheTpncmlkO2dhcDoxcmVtO21hcmdpbi10b3A6MS4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjU3NnB4KXsuZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX2xlZnRfaW5uZXIgdWx7cGFkZGluZzowIDFyZW07bWFyZ2luLWxlZnQ6NHJlbX19LmRhc2hib2FyZF9wYWdlX21pZGRsZV9sZWZ0X2lubmVyIHVsIGxpe21pbi13aWR0aDotbW96LWZpdC1jb250ZW50O21pbi13aWR0aDpmaXQtY29udGVudDtkaXNwbGF5OmZsZXg7Z2FwOjFyZW19LmRhc2hib2FyZF9wYWdlX21pZGRsZV9sZWZ0X2lubmVyIHVsIGxpIHNwYW57Zm9udC13ZWlnaHQ6NTAwfS5kYXNoYm9hcmRfcGFnZV9taWRkbGVfcmlnaHR7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzByZW07bWluLWhlaWdodDoxMHJlbTttYXgtaGVpZ2h0OjEycmVtO2JvcmRlci1yYWRpdXM6LjVyZW07YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX3JpZ2h0X2lubmVye2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3BhZGRpbmc6MS41cmVtO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6Z3JpZDtnYXA6LjVyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7LmRhc2hib2FyZF9wYWdlX21pZGRsZV9yaWdodF9pbm5lcntmb250LXNpemU6MS4ycmVtfX0uZGFzaGJvYXJkX3BhZ2VfbWlkZGxlX3JpZ2h0X2lubmVyIHA6bnRoLWNoaWxkKDIpe2ZvbnQtc2l6ZToxcmVtfS5kYXNoYm9hcmRfcGFnZV9ib3h7d2lkdGg6MTAwJTttYXgtd2lkdGg6MjZyZW07aGVpZ2h0OjdyZW07Ym9yZGVyLXJhZGl1czouNXJlbTtiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzowIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMSk7cGFkZGluZzoxcmVtO292ZXJmbG93OmhpZGRlbn0uZGFzaGJvYXJkX3BhZ2VfYm94X2lubmVye2Rpc3BsYXk6Z3JpZDtnYXA6LjFyZW19LmRhc2hib2FyZF9wYWdlX2JveF90b3B7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5kYXNoYm9hcmRfcGFnZV9ib3hfdG9wIHNwYW57Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzouNXJlbTtiYWNrZ3JvdW5kOiNmZmY7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5kYXNoYm9hcmRfcGFnZV9ib3hfdG9wIHB7Y29sb3I6IzZjNzI5Mztmb250LXNpemU6LjhyZW07bWluLXdpZHRoOi1tb3otZml0LWNvbnRlbnQ7bWluLXdpZHRoOmZpdC1jb250ZW50O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjU2MjVyZW07bGV0dGVyLXNwYWNpbmc6LjAyMzc1cmVtO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMzAwcHgpey5kYXNoYm9hcmRfcGFnZV9ib3hfdG9wIHB7Zm9udC1zaXplOjFyZW19fS5kYXNoYm9hcmRfcGFnZV9ib3hfdG9wLmFkbWluPmg1e2ZvbnQtc2l6ZToxLjc1cmVtO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoyLjEyNXJlbTtsZXR0ZXItc3BhY2luZzouMDIyNXJlbTttYXJnaW4tYm90dG9tOi4ycmVtfS5kYXNoYm9hcmRfcGFnZV9ib3hfYm90dG9te3RleHQtYWxpZ246bGVmdDt3aWR0aDoxMDAlfS5kYXNoYm9hcmRfcGFnZV9ib3hfYm90dG9tIGg1e2NvbG9yOiMzYjgyZjY7Zm9udC1zaXplOjEuNzVyZW07Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjIuMTI1cmVtO2xldHRlci1zcGFjaW5nOi4wMjI1cmVtO21hcmdpbi1ib3R0b206LjJyZW19LmRhc2hib2FyZF9wYWdlX2JveF9ib3R0b20gc3BhbntoZWlnaHQ6MXJlbX0uZGFzaGJvYXJkX3BhZ2VfYm94X2JvdHRvbS5hZG1pbntjb2xvcjojNmM3MjkzO2ZvbnQtc2l6ZTouOHJlbTttaW4td2lkdGg6LW1vei1maXQtY29udGVudDttaW4td2lkdGg6Zml0LWNvbnRlbnQ7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuNTYyNXJlbTtsZXR0ZXItc3BhY2luZzouMDIzNzVyZW07dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTttYXJnaW4tdG9wOjFyZW19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMzAwcHgpey5kYXNoYm9hcmRfcGFnZV9ib3hfYm90dG9tLmFkbWlue2ZvbnQtc2l6ZToxLjFyZW19fS50cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS50cmFkaW5ndmlldy13aWRnZXQtY29udGFpbmVyX193aWRnZXR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ub3ZlcmZsb3dfY29udHJvbHttYXgtd2lkdGg6OTglO21heC1oZWlnaHQ6MTAwJTtvdmVyZmxvdzpzY3JvbGx9Lm92ZXJmbG93X2NvbnRyb2w6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ub3ZlcmZsb3dfY29udHJvbC5oZWlnaHR7bWF4LWhlaWdodDo2MGR2aH0uYWNjb3VudF9mb3Jte2JhY2tncm91bmQ6IzAwMH0uYWNjb3VudF9mb3JtX2lubmVye2hlaWdodDphdXRvO292ZXJmbG93OnNjcm9sbDtwYWRkaW5nOi4ycmVtIDB9LmFjY291bnRfZm9ybV9pbm5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5hY2NvdW50X2Zvcm1faW5uZXIgaDV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtmb250LXNpemU6MS41cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxLjM3NXJlbTtsZXR0ZXItc3BhY2luZzotLjAyNTVyZW07bWFyZ2luLWJsb2NrOjFyZW19LmFjY291bnRfZm9ybV9pbnB1dHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvO2dhcDoxLjVyZW07b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmc6LjVyZW0gMDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjcwZHZofS5hY2NvdW50X2Zvcm1faW5wdXRzOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5OTJweCl7LmFjY291bnRfZm9ybV9pbnB1dHN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gYXV0b30uYWNjb3VudF9mb3JtX2lucHV0cy53aXRoZHJhd2Fse2dyaWQtdGVtcGxhdGUtY29sdW1uczphdXRvfX0uYWNjb3VudF9mb3JtX2lucHV0cyBkaXZ7ZGlzcGxheTpncmlkO2dhcDouNXJlbTttYXJnaW4tdG9wOi4ycmVtfS5hY2NvdW50X2Zvcm1faW5wdXRzIGRpdiBzcGFue3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Y29sb3I6I2ZmZjtmb250LXNpemU6LjkzNzVyZW07Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuMjVyZW07bGV0dGVyLXNwYWNpbmc6LS4wMTVyZW19LmFjY291bnRfZm9ybV9pbnB1dHMgZGl2IGlucHV0LC5hY2NvdW50X2Zvcm1faW5wdXRzIGRpdiBzZWxlY3R7d2lkdGg6MTAwJTtoZWlnaHQ6Mi41cmVtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07b3V0bGluZToxcHggc29saWQgIzE5MWMyNDtiYWNrZ3JvdW5kOiMxOTFjMjQ7cGFkZGluZzowIC41cmVtO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LmFjY291bnRfZm9ybV9pbnB1dHMgZGl2IGlucHV0LmVtYWlsLC5hY2NvdW50X2Zvcm1faW5wdXRzIGRpdiBzZWxlY3QuZW1haWx7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlfS5kZXBvc2l0X2hpc3RvcnlfaW5uZXJ7ZGlzcGxheTpncmlkO2dhcDoycmVtO3BhZGRpbmc6MXJlbX0uZGVwb3NpdF9oaXN0b3J5X2hlYWRlciBoNHtmb250LXNpemU6MS41cmVtO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LmRlcG9zaXRfaGlzdG9yeV9oZWFkZXIgcHtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDB9LmRlcG9zaXRfaGlzdG9yeV90YWJsZXtib3JkZXI6MXB4IHNvbGlkICMxOTFjMjQ7YmFja2dyb3VuZDojMTkxYzI0O2JvcmRlci1yYWRpdXM6LjVyZW07b3ZlcmZsb3c6c2Nyb2xsO3BhZGRpbmc6LjVyZW07bWF4LXdpZHRoOi1tb3otZml0LWNvbnRlbnQ7bWF4LXdpZHRoOmZpdC1jb250ZW50O3dpZHRoOjEwMCV9LmRlcG9zaXRfaGlzdG9yeV90YWJsZTo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5kZXBvc2l0X2hpc3RvcnlfdGFibGVfaW5uZXIgcHtmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO21pbi13aWR0aDotbW96LWZpdC1jb250ZW50O21pbi13aWR0aDpmaXQtY29udGVudH0uZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIHVse2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjFyZW07dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTttYXJnaW4tdG9wOjFyZW07cGFkZGluZzouNXJlbX0uZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIHVsOmZpcnN0LWNoaWxke2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOi41cmVtfS5kZXBvc2l0X2hpc3RvcnlfdGFibGVfaW5uZXIgdWwgbGk6Zmlyc3QtY2hpbGR7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttaW4td2lkdGg6NnJlbX0uZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIHVsIGxpOm50aC1jaGlsZCgyKSwuZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIHVsIGxpOm50aC1jaGlsZCgzKXt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21pbi13aWR0aDoxMHJlbX0uZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIHVsIGxpOm50aC1jaGlsZCg0KXt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21pbi13aWR0aDoxMXJlbX0uZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIHVsIGxpOm50aC1jaGlsZCg1KXt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21pbi13aWR0aDo5cmVtfS5kZXBvc2l0X2hpc3RvcnlfdGFibGVfaW5uZXIgdWwgbGk6bnRoLWNoaWxkKDYpe3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWluLXdpZHRoOjE0cmVtfS5kZXBvc2l0X2hpc3RvcnlfdGFibGVfaW5uZXIgdWwgbGk6bnRoLWNoaWxkKDcpe3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWluLXdpZHRoOjE2cmVtfS5kZXBvc2l0X2hpc3RvcnlfdGFibGVfaW5uZXIgLnRvdGFse2JvcmRlcjoxcHggc29saWQgIzE5MWMyNDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO21hcmdpbjoxcmVtO3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7cGFkZGluZzouNXJlbTtib3JkZXItcmFkaXVzOi41cmVtfS5kZXBvc2l0X2hpc3RvcnlfdGFibGVfaW5uZXIgLnRvdGFsIHB7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2dhcDoxcmVtO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjYwMH0uZGVwb3NpdF9oaXN0b3J5X3RhYmxlX2lubmVyIC50b3RhbCBwIHNwYW57Zm9udC13ZWlnaHQ6NTAwfS50YWJsZS1jb250YWluZXIgdGgsLnRyYW5zYWN0aW9ucyB0aHtiYWNrZ3JvdW5kOiMwMDAhaW1wb3J0YW50fS5wbGFuc3tiYWNrZ3JvdW5kLWNvbG9yOiMxOTFjMjQ7Ym9yZGVyOjFweCBzb2xpZCAjNzg5O3BhZGRpbmc6MjBweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLWJvdHRvbToxcmVtO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MXJlbTtmbGV4LXdyYXA6d3JhcDt3aWR0aDoxMDAlO21heC13aWR0aDozMHJlbTtib3JkZXItcmFkaXVzOi4zcmVtfS5wbGFucy5hZG1pbntwYWRkaW5nLXRvcDoyLjVyZW19LnBsYW5zX2lucHV0X3NlY3tkaXNwbGF5OmdyaWQ7Z2FwOjFyZW19LnBsYW5zX2lucHV0X3NlYyBkaXZ7ZGlzcGxheTpncmlkO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlfS5wbGFuc19pbnB1dF9zZWMgZGl2IGxhYmVse2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZTouOXJlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwMHB4KXsucGxhbnNfaW5wdXRfc2VjIGRpdiBsYWJlbHtmb250LXNpemU6MS4xcmVtfX0ucGxhbnNfaW5wdXRfc2VjIGRpdiBpbnB1dHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjEwMCU7b3V0bGluZTpub25lO2NvbG9yOiNmZmY7cGFkZGluZzouMnJlbTtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmfS5hdXRoe3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDB2aDtvdmVyZmxvdzpoaWRkZW47b3ZlcmZsb3cteTpzY3JvbGw7YmFja2dyb3VuZC1pbWFnZTp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS9hdXRoX2ltZzJfbWFpbi4xNDAzZmViNi5qcGcpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7Y29sb3I6I2ZmZn0uYXV0aDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5hdXRoX2lubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjMwcmVtO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDAgMTBweCAycHggIzE5MWMyNDtib3JkZXItcmFkaXVzOjEuNXJlbTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDU1cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDU1cHgpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJyZW0gM3JlbX0uYXV0aF9pbm5lci5yZWdpc3Rlcl9pbm5lcnttYXJnaW4tdG9wOjIwcmVtfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NjQwcHgpey5hdXRoX2lubmVyLnJlZ2lzdGVyX2lubmVye21heC13aWR0aDo0MHJlbX19LmF1dGhfaGVhZGVye2Rpc3BsYXk6Z3JpZDtnYXA6MXJlbX0uYXV0aF9oZWFkZXIgaDJ7Zm9udC1zaXplOjIuMnJlbTt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyfS5hdXRoX2hlYWRlciBwe2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MXJlbX0uYXV0aCAuaW5wdXRfYm94e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjozMHB4IDA7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZmZmfS5hdXRoIC5pbnB1dF9ib3ggbGFiZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZjtmb250LXNpemU6MXJlbTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uYXV0aCAuaW5wdXRfYm94IGlucHV0Om5vdCg6LW1vei1wbGFjZWhvbGRlcil+bGFiZWx7dG9wOi01cHh9LmF1dGggLmlucHV0X2JveCBpbnB1dDpmb2N1c35sYWJlbCwuYXV0aCAuaW5wdXRfYm94IGlucHV0Om5vdCg6cGxhY2Vob2xkZXItc2hvd24pfmxhYmVsLC5hdXRoIC5pbnB1dF9ib3ggaW5wdXQ6dmFsaWR+bGFiZWx7dG9wOi01cHh9LmF1dGggLmlucHV0X2JveCBpbnB1dHt3aWR0aDoxMDAlO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQtc2l6ZToxcmVtO3BhZGRpbmc6MCAzNXB4IDAgNXB4O2NvbG9yOiNmZmZ9LmF1dGggLmlucHV0X2JveCBzcGFue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjhweDtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxLjRyZW07dG9wOjIwcHh9LmF1dGggLmZvcmdldHttYXJnaW46MzVweCAwO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoxcmVtO2ZvbnQtc2l6ZTouN3JlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwMHB4KXsuYXV0aCAuZm9yZ2V0e2ZvbnQtc2l6ZToxcmVtfX0uYXV0aCBidXR0b257cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2JvcmRlci1yYWRpdXM6NXB4O21hcmdpbjoxcmVtIDA7d2lkdGg6MTAwJTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NjAwO2JveC1zaGFkb3c6MCAxMHB4IDMwcHggcmdiYSgwLDAsMCwuMTUpO3NjYWxlOjE7dHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0O2NvbG9yOiNmZmZ9LmF1dGggYnV0dG9uOmhvdmVye2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6ODAwO3NjYWxlOjEuMX0uYXV0aCAucmVnaXN0ZXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDouNXJlbTttYXJnaW4tYmxvY2s6MXJlbSAwO2ZvbnQtc2l6ZTouN3JlbX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQwMHB4KXsuYXV0aCAucmVnaXN0ZXJ7Zm9udC1zaXplOjFyZW19fS50b3BfZ2FpbmVyc3tib3JkZXI6MXB4IHNvbGlkICM3ODk7bWluLXdpZHRoOi1tb3otZml0LWNvbnRlbnQ7bWluLXdpZHRoOmZpdC1jb250ZW50O21heC13aWR0aDoyNXJlbTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MjByZW07b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6LjVyZW07Ym9yZGVyLXJhZGl1czouNXJlbX0udG9wX2dhaW5lcnNfdG9we2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTttYXJnaW4tYm90dG9tOjFyZW19LnRvcF9nYWluZXJzX3RvcCBoMntmb250LXNpemU6MS4zcmVtfS50b3BfZ2FpbmVyc190b3AgaDN7Ym9yZGVyOjFweCBzb2xpZCAjNzg5O3BhZGRpbmc6LjJyZW0gLjhyZW07Zm9udC1zaXplOjEuMXJlbTtib3JkZXItcmFkaXVzOi41cmVtO2JhY2tncm91bmQ6IzAwMDt3aWR0aDo2cmVtO3RleHQtYWxpZ246Y2VudGVyfS50b3BfZ2FpbmVycyB1bHtkaXNwbGF5OmdyaWQ7Z2FwOjFyZW19LnRvcF9nYWluZXJzIHVsIGxpe2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjFyZW07Ym9yZGVyOjFweCBkYXNoZWQgIzc4OX0udG9wX2dhaW5lcnMgdWwgbGkgc3BhbntwYWRkaW5nOi4xcmVtO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjhyZW07Ym9yZGVyLXJhZGl1czouMnJlbTtiYWNrZ3JvdW5kOiMyNjNmNDQ7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEuMXJlbTt0ZXh0LWFsaWduOmNlbnRlcn0udG9wX2dhaW5lcnMgdWwgbGkgZGl2e3dpZHRoOjVyZW19LnRvcF9nYWluZXJzIHVsIGxpIGRpdiBoNntmb250LXNpemU6MS4xcmVtfS50b3BfZ2FpbmVycyB1bCBsaSBkaXYgc3BhbntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOmdyZWVuO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtmb250LXNpemU6LjhyZW07dGV4dC1hbGlnbjpsZWZ0fTpyb290ey0tdG9hc3RpZnktY29sb3ItbGlnaHQ6I2ZmZjstLXRvYXN0aWZ5LWNvbG9yLWRhcms6IzEyMTIxMjstLXRvYXN0aWZ5LWNvbG9yLWluZm86IzM0OThkYjstLXRvYXN0aWZ5LWNvbG9yLXN1Y2Nlc3M6IzA3YmMwYzstLXRvYXN0aWZ5LWNvbG9yLXdhcm5pbmc6I2YxYzQwZjstLXRvYXN0aWZ5LWNvbG9yLWVycm9yOiNlNzRjM2M7LS10b2FzdGlmeS1jb2xvci10cmFuc3BhcmVudDpoc2xhKDAsMCUsMTAwJSwuNyk7LS10b2FzdGlmeS1pY29uLWNvbG9yLWluZm86dmFyKC0tdG9hc3RpZnktY29sb3ItaW5mbyk7LS10b2FzdGlmeS1pY29uLWNvbG9yLXN1Y2Nlc3M6dmFyKC0tdG9hc3RpZnktY29sb3Itc3VjY2Vzcyk7LS10b2FzdGlmeS1pY29uLWNvbG9yLXdhcm5pbmc6dmFyKC0tdG9hc3RpZnktY29sb3Itd2FybmluZyk7LS10b2FzdGlmeS1pY29uLWNvbG9yLWVycm9yOnZhcigtLXRvYXN0aWZ5LWNvbG9yLWVycm9yKTstLXRvYXN0aWZ5LXRvYXN0LXdpZHRoOjMyMHB4Oy0tdG9hc3RpZnktdG9hc3QtYmFja2dyb3VuZDojZmZmOy0tdG9hc3RpZnktdG9hc3QtbWluLWhlaWdodDo2NHB4Oy0tdG9hc3RpZnktdG9hc3QtbWF4LWhlaWdodDo4MDBweDstLXRvYXN0aWZ5LWZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LS10b2FzdGlmeS16LWluZGV4Ojk5OTk7LS10b2FzdGlmeS10ZXh0LWNvbG9yLWxpZ2h0OiM3NTc1NzU7LS10b2FzdGlmeS10ZXh0LWNvbG9yLWRhcms6I2ZmZjstLXRvYXN0aWZ5LXRleHQtY29sb3ItaW5mbzojZmZmOy0tdG9hc3RpZnktdGV4dC1jb2xvci1zdWNjZXNzOiNmZmY7LS10b2FzdGlmeS10ZXh0LWNvbG9yLXdhcm5pbmc6I2ZmZjstLXRvYXN0aWZ5LXRleHQtY29sb3ItZXJyb3I6I2ZmZjstLXRvYXN0aWZ5LXNwaW5uZXItY29sb3I6IzYxNjE2MTstLXRvYXN0aWZ5LXNwaW5uZXItY29sb3ItZW1wdHktYXJlYTojZTBlMGUwOy0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtbGlnaHQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCM0Y2Q5NjQsIzVhYzhmYSwjMDA3YWZmLCMzNGFhZGMsIzU4NTZkNiwjZmYyZDU1KTstLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLWRhcms6I2JiODZmYzstLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLWluZm86dmFyKC0tdG9hc3RpZnktY29sb3ItaW5mbyk7LS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy1zdWNjZXNzOnZhcigtLXRvYXN0aWZ5LWNvbG9yLXN1Y2Nlc3MpOy0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3Mtd2FybmluZzp2YXIoLS10b2FzdGlmeS1jb2xvci13YXJuaW5nKTstLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLWVycm9yOnZhcigtLXRvYXN0aWZ5LWNvbG9yLWVycm9yKX0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lcnt6LWluZGV4OnZhcigtLXRvYXN0aWZ5LXotaW5kZXgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVoodmFyKC0tdG9hc3RpZnktei1pbmRleCkpO3Bvc2l0aW9uOmZpeGVkO3BhZGRpbmc6NHB4O3dpZHRoOnZhcigtLXRvYXN0aWZ5LXRvYXN0LXdpZHRoKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6I2ZmZn0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tdG9wLWxlZnR7dG9wOjFlbTtsZWZ0OjFlbX0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tdG9wLWNlbnRlcnt0b3A6MWVtO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5Ub2FzdGlmeV9fdG9hc3QtY29udGFpbmVyLS10b3AtcmlnaHR7dG9wOjFlbTtyaWdodDoxZW19LlRvYXN0aWZ5X190b2FzdC1jb250YWluZXItLWJvdHRvbS1sZWZ0e2JvdHRvbToxZW07bGVmdDoxZW19LlRvYXN0aWZ5X190b2FzdC1jb250YWluZXItLWJvdHRvbS1jZW50ZXJ7Ym90dG9tOjFlbTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tYm90dG9tLXJpZ2h0e2JvdHRvbToxZW07cmlnaHQ6MWVtfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCl7LlRvYXN0aWZ5X190b2FzdC1jb250YWluZXJ7d2lkdGg6MTAwdnc7cGFkZGluZzowO2xlZnQ6MDttYXJnaW46MH0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tdG9wLWNlbnRlciwuVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tdG9wLWxlZnQsLlRvYXN0aWZ5X190b2FzdC1jb250YWluZXItLXRvcC1yaWdodHt0b3A6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tYm90dG9tLWNlbnRlciwuVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tYm90dG9tLWxlZnQsLlRvYXN0aWZ5X190b2FzdC1jb250YWluZXItLWJvdHRvbS1yaWdodHtib3R0b206MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tcnRse3JpZ2h0OjA7bGVmdDphdXRvfX0uVG9hc3RpZnlfX3RvYXN0e3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6dmFyKC0tdG9hc3RpZnktdG9hc3QtbWluLWhlaWdodCk7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbi1ib3R0b206MXJlbTtwYWRkaW5nOjhweDtib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjAgMXB4IDEwcHggMCByZ2JhKDAsMCwwLC4xKSwwIDJweCAxNXB4IDAgcmdiYSgwLDAsMCwuMDUpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjttYXgtaGVpZ2h0OnZhcigtLXRvYXN0aWZ5LXRvYXN0LW1heC1oZWlnaHQpO292ZXJmbG93OmhpZGRlbjtmb250LWZhbWlseTp2YXIoLS10b2FzdGlmeS1mb250LWZhbWlseSk7Y3Vyc29yOmRlZmF1bHQ7ZGlyZWN0aW9uOmx0cjt6LWluZGV4OjB9LlRvYXN0aWZ5X190b2FzdC0tcnRse2RpcmVjdGlvbjpydGx9LlRvYXN0aWZ5X190b2FzdC0tY2xvc2Utb24tY2xpY2t7Y3Vyc29yOnBvaW50ZXJ9LlRvYXN0aWZ5X190b2FzdC1ib2R5e21hcmdpbjphdXRvIDA7ZmxleDoxIDEgYXV0bztwYWRkaW5nOjZweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5Ub2FzdGlmeV9fdG9hc3QtYm9keT5kaXY6bGFzdC1jaGlsZHt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7ZmxleDoxfS5Ub2FzdGlmeV9fdG9hc3QtaWNvbnttYXJnaW4taW5saW5lLWVuZDoxMHB4O3dpZHRoOjIwcHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5OmZsZXh9LlRvYXN0aWZ5LS1hbmltYXRle2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZHVyYXRpb246LjdzfS5Ub2FzdGlmeS0tYW5pbWF0ZS1pY29ue2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZHVyYXRpb246LjNzfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCl7LlRvYXN0aWZ5X190b2FzdHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXJhZGl1czowfX0uVG9hc3RpZnlfX3RvYXN0LXRoZW1lLS1kYXJre2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItZGFyayk7Y29sb3I6dmFyKC0tdG9hc3RpZnktdGV4dC1jb2xvci1kYXJrKX0uVG9hc3RpZnlfX3RvYXN0LXRoZW1lLS1jb2xvcmVkLlRvYXN0aWZ5X190b2FzdC0tZGVmYXVsdCwuVG9hc3RpZnlfX3RvYXN0LXRoZW1lLS1saWdodHtiYWNrZ3JvdW5kOnZhcigtLXRvYXN0aWZ5LWNvbG9yLWxpZ2h0KTtjb2xvcjp2YXIoLS10b2FzdGlmeS10ZXh0LWNvbG9yLWxpZ2h0KX0uVG9hc3RpZnlfX3RvYXN0LXRoZW1lLS1jb2xvcmVkLlRvYXN0aWZ5X190b2FzdC0taW5mb3tjb2xvcjp2YXIoLS10b2FzdGlmeS10ZXh0LWNvbG9yLWluZm8pO2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItaW5mbyl9LlRvYXN0aWZ5X190b2FzdC10aGVtZS0tY29sb3JlZC5Ub2FzdGlmeV9fdG9hc3QtLXN1Y2Nlc3N7Y29sb3I6dmFyKC0tdG9hc3RpZnktdGV4dC1jb2xvci1zdWNjZXNzKTtiYWNrZ3JvdW5kOnZhcigtLXRvYXN0aWZ5LWNvbG9yLXN1Y2Nlc3MpfS5Ub2FzdGlmeV9fdG9hc3QtdGhlbWUtLWNvbG9yZWQuVG9hc3RpZnlfX3RvYXN0LS13YXJuaW5ne2NvbG9yOnZhcigtLXRvYXN0aWZ5LXRleHQtY29sb3Itd2FybmluZyk7YmFja2dyb3VuZDp2YXIoLS10b2FzdGlmeS1jb2xvci13YXJuaW5nKX0uVG9hc3RpZnlfX3RvYXN0LXRoZW1lLS1jb2xvcmVkLlRvYXN0aWZ5X190b2FzdC0tZXJyb3J7Y29sb3I6dmFyKC0tdG9hc3RpZnktdGV4dC1jb2xvci1lcnJvcik7YmFja2dyb3VuZDp2YXIoLS10b2FzdGlmeS1jb2xvci1lcnJvcil9LlRvYXN0aWZ5X19wcm9ncmVzcy1iYXItdGhlbWUtLWxpZ2h0e2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtbGlnaHQpfS5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLXRoZW1lLS1kYXJre2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtZGFyayl9LlRvYXN0aWZ5X19wcm9ncmVzcy1iYXItLWluZm97YmFja2dyb3VuZDp2YXIoLS10b2FzdGlmeS1jb2xvci1wcm9ncmVzcy1pbmZvKX0uVG9hc3RpZnlfX3Byb2dyZXNzLWJhci0tc3VjY2Vzc3tiYWNrZ3JvdW5kOnZhcigtLXRvYXN0aWZ5LWNvbG9yLXByb2dyZXNzLXN1Y2Nlc3MpfS5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLS13YXJuaW5ne2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3Mtd2FybmluZyl9LlRvYXN0aWZ5X19wcm9ncmVzcy1iYXItLWVycm9ye2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItcHJvZ3Jlc3MtZXJyb3IpfS5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLXRoZW1lLS1jb2xvcmVkLlRvYXN0aWZ5X19wcm9ncmVzcy1iYXItLWVycm9yLC5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLXRoZW1lLS1jb2xvcmVkLlRvYXN0aWZ5X19wcm9ncmVzcy1iYXItLWluZm8sLlRvYXN0aWZ5X19wcm9ncmVzcy1iYXItdGhlbWUtLWNvbG9yZWQuVG9hc3RpZnlfX3Byb2dyZXNzLWJhci0tc3VjY2VzcywuVG9hc3RpZnlfX3Byb2dyZXNzLWJhci10aGVtZS0tY29sb3JlZC5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLS13YXJuaW5ne2JhY2tncm91bmQ6dmFyKC0tdG9hc3RpZnktY29sb3ItdHJhbnNwYXJlbnQpfS5Ub2FzdGlmeV9fY2xvc2UtYnV0dG9ue2NvbG9yOiNmZmY7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO29wYWNpdHk6Ljc7dHJhbnNpdGlvbjouM3MgZWFzZTthbGlnbi1zZWxmOmZsZXgtc3RhcnR9LlRvYXN0aWZ5X19jbG9zZS1idXR0b24tLWxpZ2h0e2NvbG9yOiMwMDA7b3BhY2l0eTouM30uVG9hc3RpZnlfX2Nsb3NlLWJ1dHRvbj5zdmd7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjE2cHg7d2lkdGg6MTRweH0uVG9hc3RpZnlfX2Nsb3NlLWJ1dHRvbjpmb2N1cywuVG9hc3RpZnlfX2Nsb3NlLWJ1dHRvbjpob3ZlcntvcGFjaXR5OjF9QGtleWZyYW1lcyBUb2FzdGlmeV9fdHJhY2tQcm9ncmVzc3swJXt0cmFuc2Zvcm06c2NhbGVYKDEpfXRve3RyYW5zZm9ybTpzY2FsZVgoMCl9fS5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDo1cHg7ei1pbmRleDp2YXIoLS10b2FzdGlmeS16LWluZGV4KTtvcGFjaXR5Oi43O3RyYW5zZm9ybS1vcmlnaW46bGVmdH0uVG9hc3RpZnlfX3Byb2dyZXNzLWJhci0tYW5pbWF0ZWR7YW5pbWF0aW9uOlRvYXN0aWZ5X190cmFja1Byb2dyZXNzIGxpbmVhciAxIGZvcndhcmRzfS5Ub2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLS1jb250cm9sbGVke3RyYW5zaXRpb246dHJhbnNmb3JtIC4yc30uVG9hc3RpZnlfX3Byb2dyZXNzLWJhci0tcnRse3JpZ2h0OjA7bGVmdDphdXRvO3RyYW5zZm9ybS1vcmlnaW46cmlnaHR9LlRvYXN0aWZ5X19zcGlubmVye3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLXJhZGl1czoxMDAlO2JvcmRlci1jb2xvcjp2YXIoLS10b2FzdGlmeS1zcGlubmVyLWNvbG9yLWVtcHR5LWFyZWEpO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS10b2FzdGlmeS1zcGlubmVyLWNvbG9yKTthbmltYXRpb246VG9hc3RpZnlfX3NwaW4gLjY1cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBUb2FzdGlmeV9fYm91bmNlSW5SaWdodHswJSw2MCUsNzUlLDkwJSx0b3thbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzAwMHB4LDAsMCl9NjAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKX03NSV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKX05MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01cHgsMCwwKX10b3t0cmFuc2Zvcm06bm9uZX19QGtleWZyYW1lcyBUb2FzdGlmeV9fYm91bmNlT3V0UmlnaHR7MjAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwcHgsMCwwKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VJbkxlZnR7MCUsNjAlLDc1JSw5MCUsdG97YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0zMDAwcHgsMCwwKX02MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyNXB4LDAsMCl9NzUle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApfTkwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoNXB4LDAsMCl9dG97dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgVG9hc3RpZnlfX2JvdW5jZU91dExlZnR7MjAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjBweCwwLDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VJblVwezAlLDYwJSw3NSUsOTAlLHRve2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDMwMDBweCwwKX02MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfTc1JXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApfTkwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNXB4LDApfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VPdXRVcHsyMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCl9NDAlLDQ1JXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjBweCwwKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKX19QGtleWZyYW1lcyBUb2FzdGlmeV9fYm91bmNlSW5Eb3duezAlLDYwJSw3NSUsOTAlLHRve2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCl9NjAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyNXB4LDApfTc1JXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKX05MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNXB4LDApfXRve3RyYW5zZm9ybTpub25lfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19ib3VuY2VPdXREb3duezIwJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApfTQwJSw0NSV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCl9fS5Ub2FzdGlmeV9fYm91bmNlLWVudGVyLS1ib3R0b20tbGVmdCwuVG9hc3RpZnlfX2JvdW5jZS1lbnRlci0tdG9wLWxlZnR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX2JvdW5jZUluTGVmdH0uVG9hc3RpZnlfX2JvdW5jZS1lbnRlci0tYm90dG9tLXJpZ2h0LC5Ub2FzdGlmeV9fYm91bmNlLWVudGVyLS10b3AtcmlnaHR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX2JvdW5jZUluUmlnaHR9LlRvYXN0aWZ5X19ib3VuY2UtZW50ZXItLXRvcC1jZW50ZXJ7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX2JvdW5jZUluRG93bn0uVG9hc3RpZnlfX2JvdW5jZS1lbnRlci0tYm90dG9tLWNlbnRlcnthbmltYXRpb24tbmFtZTpUb2FzdGlmeV9fYm91bmNlSW5VcH0uVG9hc3RpZnlfX2JvdW5jZS1leGl0LS1ib3R0b20tbGVmdCwuVG9hc3RpZnlfX2JvdW5jZS1leGl0LS10b3AtbGVmdHthbmltYXRpb24tbmFtZTpUb2FzdGlmeV9fYm91bmNlT3V0TGVmdH0uVG9hc3RpZnlfX2JvdW5jZS1leGl0LS1ib3R0b20tcmlnaHQsLlRvYXN0aWZ5X19ib3VuY2UtZXhpdC0tdG9wLXJpZ2h0e2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19ib3VuY2VPdXRSaWdodH0uVG9hc3RpZnlfX2JvdW5jZS1leGl0LS10b3AtY2VudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19ib3VuY2VPdXRVcH0uVG9hc3RpZnlfX2JvdW5jZS1leGl0LS1ib3R0b20tY2VudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19ib3VuY2VPdXREb3dufUBrZXlmcmFtZXMgVG9hc3RpZnlfX3pvb21JbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgVG9hc3RpZnlfX3pvb21PdXR7MCV7b3BhY2l0eToxfTUwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfXRve29wYWNpdHk6MH19LlRvYXN0aWZ5X196b29tLWVudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X196b29tSW59LlRvYXN0aWZ5X196b29tLWV4aXR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX3pvb21PdXR9QGtleWZyYW1lcyBUb2FzdGlmeV9fZmxpcEluezAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTYwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO29wYWNpdHk6MX04MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC01ZGVnKX10b3t0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19mbGlwT3V0ezAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9MzAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpO29wYWNpdHk6MX10b3t0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO29wYWNpdHk6MH19LlRvYXN0aWZ5X19mbGlwLWVudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19mbGlwSW59LlRvYXN0aWZ5X19mbGlwLWV4aXR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX2ZsaXBPdXR9QGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJblJpZ2h0ezAle3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMTAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZUluTGVmdHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTExMCUsMCwwKTt2aXNpYmlsaXR5OnZpc2libGV9dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgVG9hc3RpZnlfX3NsaWRlSW5VcHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMTAlLDApO3Zpc2liaWxpdHk6dmlzaWJsZX10b3t0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVJbkRvd257MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTExMCUsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRve3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZU91dFJpZ2h0ezAle3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMTAlLDAsMCl9fUBrZXlmcmFtZXMgVG9hc3RpZnlfX3NsaWRlT3V0TGVmdHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3t2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTExMCUsMCwwKX19QGtleWZyYW1lcyBUb2FzdGlmeV9fc2xpZGVPdXREb3duezAle3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDUwMHB4LDApfX1Aa2V5ZnJhbWVzIFRvYXN0aWZ5X19zbGlkZU91dFVwezAle3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01MDBweCwwKX19LlRvYXN0aWZ5X19zbGlkZS1lbnRlci0tYm90dG9tLWxlZnQsLlRvYXN0aWZ5X19zbGlkZS1lbnRlci0tdG9wLWxlZnR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX3NsaWRlSW5MZWZ0fS5Ub2FzdGlmeV9fc2xpZGUtZW50ZXItLWJvdHRvbS1yaWdodCwuVG9hc3RpZnlfX3NsaWRlLWVudGVyLS10b3AtcmlnaHR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX3NsaWRlSW5SaWdodH0uVG9hc3RpZnlfX3NsaWRlLWVudGVyLS10b3AtY2VudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19zbGlkZUluRG93bn0uVG9hc3RpZnlfX3NsaWRlLWVudGVyLS1ib3R0b20tY2VudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19zbGlkZUluVXB9LlRvYXN0aWZ5X19zbGlkZS1leGl0LS1ib3R0b20tbGVmdCwuVG9hc3RpZnlfX3NsaWRlLWV4aXQtLXRvcC1sZWZ0e2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19zbGlkZU91dExlZnR9LlRvYXN0aWZ5X19zbGlkZS1leGl0LS1ib3R0b20tcmlnaHQsLlRvYXN0aWZ5X19zbGlkZS1leGl0LS10b3AtcmlnaHR7YW5pbWF0aW9uLW5hbWU6VG9hc3RpZnlfX3NsaWRlT3V0UmlnaHR9LlRvYXN0aWZ5X19zbGlkZS1leGl0LS10b3AtY2VudGVye2FuaW1hdGlvbi1uYW1lOlRvYXN0aWZ5X19zbGlkZU91dFVwfS5Ub2FzdGlmeV9fc2xpZGUtZXhpdC0tYm90dG9tLWNlbnRlcnthbmltYXRpb24tbmFtZTpUb2FzdGlmeV9fc2xpZGVPdXREb3dufUBrZXlmcmFtZXMgVG9hc3RpZnlfX3NwaW57MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnRhYmxlLWNvbnRhaW5lcntvdmVyZmxvdy14OmF1dG99dGFibGV7d2lkdGg6MTAwJTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luLWJvdHRvbToyMHB4fXRkLHRoe3BhZGRpbmc6MTdweDt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH10aHtiYWNrZ3JvdW5kLWNvbG9yOiNmMmYyZjJ9"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/pages/_app-877e785a3b7ab662.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.429Z","timestamp":1785133562429,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/pages/_app-877e785a3b7ab662.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"_app-877e785a3b7ab662.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"31f700eef9e3d382852f83cc068d83b5\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/pages/_app-877e785a3b7ab662.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7w77g-1785133562433-e3e6add160e5\r\ncontent-length: 7094\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":"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":17030,"size_decoded":7737,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (17030), with no line terminators","md5":"433cfa253cc0e730da9cb2be344abcd1","sha1":"fde72f00cddb1a4e0eecb0730d5ea572d6bdff74","sha256":"496d83eefeb7f7105c99206a486f3d57f884abe068ea10be86cd6ce405f93135","sha512":"66e8b295e7d8c77abc7bfe52ba3ff977dc64c074ef1906f067e4c0ccb23b03693d3a1bdf0e4bb8d44bd5b63aea26a8ca4864792b0be53cbbead9041d459dacb0","ssdeep":"192:w5IleZQBN1koJnf33LlInWfnzh2X7kxrFcUhjnaquo+r7u5yyhEyb/JrwjvImG6:AIFD//3Lz2arJruwyibhEl9","tlshash":"aa7219c1b350b9b886ebd11b102f000df6392745945e482479be8c9db574b989bb3fbe","first_seen":"2026-07-27T03:07:35.321761Z","last_seen":"2026-07-27T06:26:35.97444Z","times_seen":2,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rX05fRT1zZWxmLndlYnBhY2tDaHVua19OX0V8fFtdKS5wdXNoKFtbMjg4OF0sezkxMTE4OmZ1bmN0aW9uKGUsdCxuKXsod2luZG93Ll9fTkVYVF9QPXdpbmRvdy5fX05FWFRfUHx8W10pLnB1c2goWyIvX2FwcCIsZnVuY3Rpb24oKXtyZXR1cm4gbigxNDkyNil9XSl9LDYyMTgzOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO3ZhciBvPW4oODU4OTMpLHM9big2NzI5NCk7Y2xhc3MgYSBleHRlbmRzIHMuQ29tcG9uZW50e3N0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkVycm9yQm91bmRhcnkgY2F1Z2h0IGFuIGVycm9yOiIsZSkse2hhc0Vycm9yOiEwfX1jb21wb25lbnREaWRDYXRjaChlLHQpe2NvbnNvbGUuZXJyb3IoIkVycm9yQm91bmRhcnkgY2F1Z2h0IGFuIGVycm9yOiIsZSx0KX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5oYXNFcnJvcj8oMCxvLmpzeCkoInAiLHtjaGlsZHJlbjoiU29tZXRoaW5nIHdlbnQgd3JvbmcuIn0pOnRoaXMucHJvcHMuY2hpbGRyZW59Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17aGFzRXJyb3I6ITF9fX10LmRlZmF1bHQ9YX0sMTQ5MjY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksbi5kKHQse2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTt2YXIgbz1uKDg1ODkzKTtuKDIzNDM0KSxuKDg2MzgpO3ZhciBzPW4oMjI5MjApO24oMzc2NzcpO3ZhciBhPW4oNjcyOTQpLHI9big2MjE4Myk7ZnVuY3Rpb24gaShlKXtsZXR7Q29tcG9uZW50OnQscGFnZVByb3BzOm59PWU7cmV0dXJuKDAsYS51c2VFZmZlY3QpKCgpPT57cy5JeH0sW10pLCgwLG8uanN4cykoci5kZWZhdWx0LHtjaGlsZHJlbjpbKDAsby5qc3gpKHQsey4uLm59KSwoMCxvLmpzeCkocy5JeCx7fSldfSl9bigyNzA2OSl9LDM3Njc3OmZ1bmN0aW9uKCl7fSwyNzA2OTpmdW5jdGlvbigpe30sMjM0MzQ6ZnVuY3Rpb24oKXt9LDg2Mzg6ZnVuY3Rpb24oKXt9LDIyOTIwOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQse0l4OmZ1bmN0aW9uKCl7cmV0dXJuIEN9LEFtOmZ1bmN0aW9uKCl7cmV0dXJuIHh9fSk7dmFyIG89big2NzI5NCkscz1mdW5jdGlvbigpe2Zvcih2YXIgZSx0LG49MCxvPSIiO248YXJndW1lbnRzLmxlbmd0aDspKGU9YXJndW1lbnRzW24rK10pJiYodD1mdW5jdGlvbiBlKHQpe3ZhciBuLG8scz0iIjtpZigic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdClzKz10O2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZihBcnJheS5pc0FycmF5KHQpKWZvcihuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXSYmKG89ZSh0W25dKSkmJihzJiYocys9IiAiKSxzKz1vKTtlbHNlIGZvcihuIGluIHQpdFtuXSYmKHMmJihzKz0iICIpLHMrPW4pfXJldHVybiBzfShlKSkmJihvJiYobys9IiAiKSxvKz10KTtyZXR1cm4gb307bGV0IGE9ZT0+Im51bWJlciI9PXR5cGVvZiBlJiYhaXNOYU4oZSkscj1lPT4ic3RyaW5nIj09dHlwZW9mIGUsaT1lPT4iZnVuY3Rpb24iPT10eXBlb2YgZSxsPWU9PnIoZSl8fGkoZSk/ZTpudWxsLGM9ZT0+KDAsby5pc1ZhbGlkRWxlbWVudCkoZSl8fHIoZSl8fGkoZSl8fGEoZSk7ZnVuY3Rpb24gdShlKXtsZXR7ZW50ZXI6dCxleGl0Om4sYXBwZW5kUG9zaXRpb246cz0hMSxjb2xsYXBzZTphPSEwLGNvbGxhcHNlRHVyYXRpb246cj0zMDB9PWU7cmV0dXJuIGZ1bmN0aW9uKGUpe2xldHtjaGlsZHJlbjppLHBvc2l0aW9uOmwscHJldmVudEV4aXRUcmFuc2l0aW9uOmMsZG9uZTp1LG5vZGVSZWY6ZCxpc0luOmZ9PWUscD1zP2Ake3R9LS0ke2x9YDp0LG09cz9gJHtufS0tJHtsfWA6bixoPSgwLG8udXNlUmVmKSgwKTtyZXR1cm4oMCxvLnVzZUxheW91dEVmZmVjdCkoKCk9PntsZXQgZT1kLmN1cnJlbnQsdD1wLnNwbGl0KCIgIiksbj1vPT57by50YXJnZXQ9PT1kLmN1cnJlbnQmJihlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJkIikpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uZW5kIixuKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmNhbmNlbCIsbiksMD09PWguY3VycmVudCYmImFuaW1hdGlvbmNhbmNlbCIhPT1vLnR5cGUmJmUuY2xhc3NMaXN0LnJlbW92ZSguLi50KSl9O2UuY2xhc3NMaXN0LmFkZCguLi50KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsbiksZS5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25jYW5jZWwiLG4pfSxbXSksKDAsby51c2VFZmZlY3QpKCgpPT57bGV0IGU9ZC5jdXJyZW50LHQ9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsdCksYT9mdW5jdGlvbihlLHQsbil7dm9pZCAwPT09biYmKG49MzAwKTtsZXR7c2Nyb2xsSGVpZ2h0Om8sc3R5bGU6c309ZTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzLm1pbkhlaWdodD0iaW5pdGlhbCIscy5oZWlnaHQ9bysicHgiLHMudHJhbnNpdGlvbj1gYWxsICR7bn1tc2AscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cy5oZWlnaHQ9IjAiLHMucGFkZGluZz0iMCIscy5tYXJnaW49IjAiLHNldFRpbWVvdXQodCxuKX0pfSl9KGUsdSxyKTp1KCl9O2Z8fChjP3QoKTooaC5jdXJyZW50PTEsZS5jbGFzc05hbWUrPWAgJHttfWAsZS5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25lbmQiLHQpKSl9LFtmXSksby5jcmVhdGVFbGVtZW50KG8uRnJhZ21lbnQsbnVsbCxpKX19ZnVuY3Rpb24gZChlLHQpe3JldHVybiBudWxsIT1lP3tjb250ZW50OmUuY29udGVudCxjb250YWluZXJJZDplLnByb3BzLmNvbnRhaW5lcklkLGlkOmUucHJvcHMudG9hc3RJZCx0aGVtZTplLnByb3BzLnRoZW1lLHR5cGU6ZS5wcm9wcy50eXBlLGRhdGE6ZS5wcm9wcy5kYXRhfHx7fSxpc0xvYWRpbmc6ZS5wcm9wcy5pc0xvYWRpbmcsaWNvbjplLnByb3BzLmljb24sc3RhdHVzOnR9Ont9fWxldCBmPXtsaXN0Om5ldyBNYXAsZW1pdFF1ZXVlOm5ldyBNYXAsb24oZSx0KXtyZXR1cm4gdGhpcy5saXN0LmhhcyhlKXx8dGhpcy5saXN0LnNldChlLFtdKSx0aGlzLmxpc3QuZ2V0KGUpLnB1c2godCksdGhpc30sb2ZmKGUsdCl7aWYodCl7bGV0IG49dGhpcy5saXN0LmdldChlKS5maWx0ZXIoZT0+ZSE9PXQpO3JldHVybiB0aGlzLmxpc3Quc2V0KGUsbiksdGhpc31yZXR1cm4gdGhpcy5saXN0LmRlbGV0ZShlKSx0aGlzfSxjYW5jZWxFbWl0KGUpe2xldCB0PXRoaXMuZW1pdFF1ZXVlLmdldChlKTtyZXR1cm4gdCYmKHQuZm9yRWFjaChjbGVhclRpbWVvdXQpLHRoaXMuZW1pdFF1ZXVlLmRlbGV0ZShlKSksdGhpc30sZW1pdChlKXt0aGlzLmxpc3QuaGFzKGUpJiZ0aGlzLmxpc3QuZ2V0KGUpLmZvckVhY2godD0+e2xldCBuPXNldFRpbWVvdXQoKCk9Pnt0KC4uLltdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX0sMCk7dGhpcy5lbWl0UXVldWUuaGFzKGUpfHx0aGlzLmVtaXRRdWV1ZS5zZXQoZSxbXSksdGhpcy5lbWl0UXVldWUuZ2V0KGUpLnB1c2gobil9KX19LHA9ZT0+e2xldHt0aGVtZTp0LHR5cGU6biwuLi5zfT1lO3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoInN2ZyIse3ZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsZmlsbDoiY29sb3JlZCI9PT10PyJjdXJyZW50Q29sb3IiOmB2YXIoLS10b2FzdGlmeS1pY29uLWNvbG9yLSR7bn0pYCwuLi5zfSl9LG09e2luZm86ZnVuY3Rpb24oZSl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChwLHsuLi5lfSxvLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTIgMGExMiAxMiAwIDEwMTIgMTJBMTIuMDEzIDEyLjAxMyAwIDAwMTIgMHptLjI1IDVhMS41IDEuNSAwIDExLTEuNSAxLjUgMS41IDEuNSAwIDAxMS41LTEuNXptMi4yNSAxMy41aC00YTEgMSAwIDAxMC0yaC43NWEuMjUuMjUgMCAwMC4yNS0uMjV2LTQuNWEuMjUuMjUgMCAwMC0uMjUtLjI1aC0uNzVhMSAxIDAgMDEwLTJoMWEyIDIgMCAwMTIgMnY0Ljc1YS4yNS4yNSAwIDAwLjI1LjI1aC43NWExIDEgMCAxMTAgMnoifSkpfSx3YXJuaW5nOmZ1bmN0aW9uKGUpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocCx7Li4uZX0sby5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTIzLjMyIDE3LjE5MUwxNS40MzggMi4xODRDMTQuNzI4LjgzMyAxMy40MTYgMCAxMS45OTYgMGMtMS40MiAwLTIuNzMzLjgzMy0zLjQ0MyAyLjE4NEwuNTMzIDE3LjQ0OGE0Ljc0NCA0Ljc0NCAwIDAwMCA0LjM2OEMxLjI0MyAyMy4xNjcgMi41NTUgMjQgMy45NzUgMjRoMTYuMDVDMjIuMjIgMjQgMjQgMjIuMDQ0IDI0IDE5LjYzMmMwLS45MDQtLjI1MS0xLjc0Ni0uNjgtMi40NHptLTkuNjIyIDEuNDZjMCAxLjAzMy0uNzI0IDEuODIzLTEuNjk4IDEuODIzcy0xLjY5OC0uNzktMS42OTgtMS44MjJ2LS4wNDNjMC0xLjAyOC43MjQtMS44MjIgMS42OTgtMS44MjJzMS42OTguNzkgMS42OTggMS44MjJ2LjA0M3ptLjAzOS0xMi4yODVsLS44NCA4LjA2Yy0uMDU3LjU4MS0uNDA4Ljk0My0uODk3Ljk0My0uNDkgMC0uODQtLjM2Ny0uODk2LS45NDJsLS44NC04LjA2NWMtLjA1Ny0uNjI0LjI1LTEuMDk1Ljc3OS0xLjA5NWgxLjkxYy41MjguMDA1Ljg0LjQ3Ni43ODQgMS4xeiJ9KSl9LHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChwLHsuLi5lfSxvLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtkOiJNMTIgMGExMiAxMiAwIDEwMTIgMTJBMTIuMDE0IDEyLjAxNCAwIDAwMTIgMHptNi45MjcgOC4ybC02Ljg0NSA5LjI4OWExLjAxMSAxLjAxMSAwIDAxLTEuNDMuMTg4bC00Ljg4OC0zLjkwOGExIDEgMCAxMTEuMjUtMS41NjJsNC4wNzYgMy4yNjEgNi4yMjctOC40NTFhMSAxIDAgMTExLjYxIDEuMTgzeiJ9KSl9LGVycm9yOmZ1bmN0aW9uKGUpe3JldHVybiBvLmNyZWF0ZUVsZW1lbnQocCx7Li4uZX0sby5jcmVhdGVFbGVtZW50KCJwYXRoIix7ZDoiTTExLjk4MyAwYTEyLjIwNiAxMi4yMDYgMCAwMC04LjUxIDMuNjUzQTExLjggMTEuOCAwIDAwMCAxMi4yMDcgMTEuNzc5IDExLjc3OSAwIDAwMTEuOCAyNGguMjE0QTEyLjExMSAxMi4xMTEgMCAwMDI0IDExLjc5MSAxMS43NjYgMTEuNzY2IDAgMDAxMS45ODMgMHpNMTAuNSAxNi41NDJhMS40NzYgMS40NzYgMCAwMTEuNDQ5LTEuNTNoLjAyN2ExLjUyNyAxLjUyNyAwIDAxMS41MjMgMS40NyAxLjQ3NSAxLjQ3NSAwIDAxLTEuNDQ5IDEuNTNoLS4wMjdhMS41MjkgMS41MjkgMCAwMS0xLjUyMy0xLjQ3ek0xMSAxMi41di02YTEgMSAwIDAxMiAwdjZhMSAxIDAgMTEtMiAweiJ9KSl9LHNwaW5uZXI6ZnVuY3Rpb24oKXtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IlRvYXN0aWZ5X19zcGlubmVyIn0pfX07ZnVuY3Rpb24gaChlKXtyZXR1cm4gZS50YXJnZXRUb3VjaGVzJiZlLnRhcmdldFRvdWNoZXMubGVuZ3RoPj0xP2UudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYOmUuY2xpZW50WH1mdW5jdGlvbiBnKGUpe3JldHVybiBlLnRhcmdldFRvdWNoZXMmJmUudGFyZ2V0VG91Y2hlcy5sZW5ndGg+PTE/ZS50YXJnZXRUb3VjaGVzWzBdLmNsaWVudFk6ZS5jbGllbnRZfWZ1bmN0aW9uIHkoZSl7bGV0e2Nsb3NlVG9hc3Q6dCx0aGVtZTpuLGFyaWFMYWJlbDpzPSJjbG9zZSJ9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudCgiYnV0dG9uIix7Y2xhc3NOYW1lOmBUb2FzdGlmeV9fY2xvc2UtYnV0dG9uIFRvYXN0aWZ5X19jbG9zZS1idXR0b24tLSR7bn1gLHR5cGU6ImJ1dHRvbiIsb25DbGljazplPT57ZS5zdG9wUHJvcGFnYXRpb24oKSx0KGUpfSwiYXJpYS1sYWJlbCI6c30sby5jcmVhdGVFbGVtZW50KCJzdmciLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIix2aWV3Qm94OiIwIDAgMTQgMTYifSxvLmNyZWF0ZUVsZW1lbnQoInBhdGgiLHtmaWxsUnVsZToiZXZlbm9kZCIsZDoiTTcuNzEgOC4yM2wzLjc1IDMuNzUtMS40OCAxLjQ4LTMuNzUtMy43NS0zLjc1IDMuNzVMMSAxMS45OGwzLjc1LTMuNzVMMSA0LjQ4IDIuNDggM2wzLjc1IDMuNzVMOS45OCAzbDEuNDggMS40OC0zLjc1IDMuNzV6In0pKSl9ZnVuY3Rpb24gdihlKXtsZXR7ZGVsYXk6dCxpc1J1bm5pbmc6bixjbG9zZVRvYXN0OmEsdHlwZTpyPSJkZWZhdWx0IixoaWRlOmwsY2xhc3NOYW1lOmMsc3R5bGU6dSxjb250cm9sbGVkUHJvZ3Jlc3M6ZCxwcm9ncmVzczpmLHJ0bDpwLGlzSW46bSx0aGVtZTpofT1lLGc9bHx8ZCYmMD09PWYseT17Li4udSxhbmltYXRpb25EdXJhdGlvbjpgJHt0fW1zYCxhbmltYXRpb25QbGF5U3RhdGU6bj8icnVubmluZyI6InBhdXNlZCIsb3BhY2l0eTpnPzA6MX07ZCYmKHkudHJhbnNmb3JtPWBzY2FsZVgoJHtmfSlgKTtsZXQgdj1zKCJUb2FzdGlmeV9fcHJvZ3Jlc3MtYmFyIixkPyJUb2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLS1jb250cm9sbGVkIjoiVG9hc3RpZnlfX3Byb2dyZXNzLWJhci0tYW5pbWF0ZWQiLGBUb2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLXRoZW1lLS0ke2h9YCxgVG9hc3RpZnlfX3Byb2dyZXNzLWJhci0tJHtyfWAseyJUb2FzdGlmeV9fcHJvZ3Jlc3MtYmFyLS1ydGwiOnB9KSxFPWkoYyk/Yyh7cnRsOnAsdHlwZTpyLGRlZmF1bHRDbGFzc05hbWU6dn0pOnModixjKTtyZXR1cm4gby5jcmVhdGVFbGVtZW50KCJkaXYiLHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtaGlkZGVuIjpnPyJ0cnVlIjoiZmFsc2UiLCJhcmlhLWxhYmVsIjoibm90aWZpY2F0aW9uIHRpbWVyIixjbGFzc05hbWU6RSxzdHlsZTp5LFtkJiZmPj0xPyJvblRyYW5zaXRpb25FbmQiOiJvbkFuaW1hdGlvbkVuZCJdOmQmJmY8MT9udWxsOigpPT57bSYmYSgpfX0pfWxldCBFPWU9PntsZXR7aXNSdW5uaW5nOnQscHJldmVudEV4aXRUcmFuc2l0aW9uOm4sdG9hc3RSZWY6YSxldmVudEhhbmRsZXJzOnJ9PWZ1bmN0aW9uKGUpe2xldFt0LG5dPSgwLG8udXNlU3RhdGUpKCExKSxbcyxhXT0oMCxvLnVzZVN0YXRlKSghMSkscj0oMCxvLnVzZVJlZikobnVsbCksbD0oMCxvLnVzZVJlZikoe3N0YXJ0OjAseDowLHk6MCxkZWx0YTowLHJlbW92YWxEaXN0YW5jZTowLGNhbkNsb3NlT25DbGljazohMCxjYW5EcmFnOiExLGJvdW5kaW5nUmVjdDpudWxsLGRpZE1vdmU6ITF9KS5jdXJyZW50LGM9KDAsby51c2VSZWYpKGUpLHthdXRvQ2xvc2U6dSxwYXVzZU9uSG92ZXI6ZCxjbG9zZVRvYXN0OmYsb25DbGljazpwLGNsb3NlT25DbGljazptfT1lO2Z1bmN0aW9uIHkodCl7aWYoZS5kcmFnZ2FibGUpeyJ0b3VjaHN0YXJ0Ij09PXQubmF0aXZlRXZlbnQudHlwZSYmdC5uYXRpdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpLGwuZGlkTW92ZT0hMSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLF8pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLEMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsXyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLEMpO2xldCBuPXIuY3VycmVudDtsLmNhbkNsb3NlT25DbGljaz0hMCxsLmNhbkRyYWc9ITAsbC5ib3VuZGluZ1JlY3Q9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuLnN0eWxlLnRyYW5zaXRpb249IiIsbC54PWgodC5uYXRpdmVFdmVudCksbC55PWcodC5uYXRpdmVFdmVudCksIngiPT09ZS5kcmFnZ2FibGVEaXJlY3Rpb24/KGwuc3RhcnQ9bC54LGwucmVtb3ZhbERpc3RhbmNlPW4ub2Zmc2V0V2lkdGgqKGUuZHJhZ2dhYmxlUGVyY2VudC8xMDApKToobC5zdGFydD1sLnksbC5yZW1vdmFsRGlzdGFuY2U9bi5vZmZzZXRIZWlnaHQqKDgwPT09ZS5kcmFnZ2FibGVQZXJjZW50PzEuNSplLmRyYWdnYWJsZVBlcmNlbnQ6ZS5kcmFnZ2FibGVQZXJjZW50LzEwMCkpfX1mdW5jdGlvbiB2KHQpe2lmKGwuYm91bmRpbmdSZWN0KXtsZXR7dG9wOm4sYm90dG9tOm8sbGVmdDpzLHJpZ2h0OmF9PWwuYm91bmRpbmdSZWN0OyJ0b3VjaGVuZCIhPT10Lm5hdGl2ZUV2ZW50LnR5cGUmJmUucGF1c2VPbkhvdmVyJiZsLng+PXMmJmwueDw9YSYmbC55Pj1uJiZsLnk8PW8/VCgpOkUoKX19ZnVuY3Rpb24gRSgpe24oITApfWZ1bmN0aW9uIFQoKXtuKCExKX1mdW5jdGlvbiBfKG4pe2xldCBvPXIuY3VycmVudDtsLmNhbkRyYWcmJm8mJihsLmRpZE1vdmU9ITAsdCYmVCgpLGwueD1oKG4pLGwueT1nKG4pLGwuZGVsdGE9IngiPT09ZS5kcmFnZ2FibGVEaXJlY3Rpb24/bC54LWwuc3RhcnQ6bC55LWwuc3RhcnQsbC5zdGFydCE9PWwueCYmKGwuY2FuQ2xvc2VPbkNsaWNrPSExKSxvLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlJHtlLmRyYWdnYWJsZURpcmVjdGlvbn0oJHtsLmRlbHRhfXB4KWAsby5zdHlsZS5vcGFjaXR5PSIiKygxLU1hdGguYWJzKGwuZGVsdGEvbC5yZW1vdmFsRGlzdGFuY2UpKSl9ZnVuY3Rpb24gQygpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsXyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsQyksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixfKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsQyk7bGV0IHQ9ci5jdXJyZW50O2lmKGwuY2FuRHJhZyYmbC5kaWRNb3ZlJiZ0KXtpZihsLmNhbkRyYWc9ITEsTWF0aC5hYnMobC5kZWx0YSk+bC5yZW1vdmFsRGlzdGFuY2UpcmV0dXJuIGEoITApLHZvaWQgZS5jbG9zZVRvYXN0KCk7dC5zdHlsZS50cmFuc2l0aW9uPSJ0cmFuc2Zvcm0gMC4ycywgb3BhY2l0eSAwLjJzIix0LnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlJHtlLmRyYWdnYWJsZURpcmVjdGlvbn0oMClgLHQuc3R5bGUub3BhY2l0eT0iMSJ9fSgwLG8udXNlRWZmZWN0KSgoKT0+e2MuY3VycmVudD1lfSksKDAsby51c2VFZmZlY3QpKCgpPT4oci5jdXJyZW50JiZyLmN1cnJlbnQuYWRkRXZlbnRMaXN0ZW5lcigiZCIsRSx7b25jZTohMH0pLGkoZS5vbk9wZW4pJiZlLm9uT3BlbigoMCxvLmlzVmFsaWRFbGVtZW50KShlLmNoaWxkcmVuKSYmZS5jaGlsZHJlbi5wcm9wcyksKCk9PntsZXQgZT1jLmN1cnJlbnQ7aShlLm9uQ2xvc2UpJiZlLm9uQ2xvc2UoKDAsby5pc1ZhbGlkRWxlbWVudCkoZS5jaGlsZHJlbikmJmUuY2hpbGRyZW4ucHJvcHMpfSksW10pLCgwLG8udXNlRWZmZWN0KSgoKT0+KGUucGF1c2VPbkZvY3VzTG9zcyYmKGRvY3VtZW50Lmhhc0ZvY3VzKCl8fFQoKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEUpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixUKSksKCk9PntlLnBhdXNlT25Gb2N1c0xvc3MmJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLEUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixUKSl9KSxbZS5wYXVzZU9uRm9jdXNMb3NzXSk7bGV0IGI9e29uTW91c2VEb3duOnksb25Ub3VjaFN0YXJ0Onksb25Nb3VzZVVwOnYsb25Ub3VjaEVuZDp2fTtyZXR1cm4gdSYmZCYmKGIub25Nb3VzZUVudGVyPVQsYi5vbk1vdXNlTGVhdmU9RSksbSYmKGIub25DbGljaz1lPT57cCYmcChlKSxsLmNhbkNsb3NlT25DbGljayYmZigpfSkse3BsYXlUb2FzdDpFLHBhdXNlVG9hc3Q6VCxpc1J1bm5pbmc6dCxwcmV2ZW50RXhpdFRyYW5zaXRpb246cyx0b2FzdFJlZjpyLGV2ZW50SGFuZGxlcnM6Yn19KGUpLHtjbG9zZUJ1dHRvbjpsLGNoaWxkcmVuOmMsYXV0b0Nsb3NlOnUsb25DbGljazpkLHR5cGU6ZixoaWRlUHJvZ3Jlc3NCYXI6cCxjbG9zZVRvYXN0Om0sdHJhbnNpdGlvbjpFLHBvc2l0aW9uOlQsY2xhc3NOYW1lOl8sc3R5bGU6Qyxib2R5Q2xhc3NOYW1lOmIsYm9keVN0eWxlOkkscHJvZ3Jlc3NDbGFzc05hbWU6TCxwcm9ncmVzc1N0eWxlOk8sdXBkYXRlSWQ6Tixyb2xlOlIscHJvZ3Jlc3M6dyxydGw6eCx0b2FzdElkOmssZGVsZXRlVG9hc3Q6TSxpc0luOlAsaXNMb2FkaW5nOkIsaWNvbk91dDokLGNsb3NlT25DbGljazpELHRoZW1lOkF9PWUsej1zKCJUb2FzdGlmeV9fdG9hc3QiLGBUb2FzdGlmeV9fdG9hc3QtdGhlbWUtLSR7QX1gLGBUb2FzdGlmeV9fdG9hc3QtLSR7Zn1gLHsiVG9hc3RpZnlfX3RvYXN0LS1ydGwiOnh9LHsiVG9hc3RpZnlfX3RvYXN0LS1jbG9zZS1vbi1jbGljayI6RH0pLFM9aShfKT9fKHtydGw6eCxwb3NpdGlvbjpULHR5cGU6ZixkZWZhdWx0Q2xhc3NOYW1lOnp9KTpzKHosXyksRj0hIXd8fCF1LEg9e2Nsb3NlVG9hc3Q6bSx0eXBlOmYsdGhlbWU6QX0scT1udWxsO3JldHVybiExPT09bHx8KHE9aShsKT9sKEgpOigwLG8uaXNWYWxpZEVsZW1lbnQpKGwpPygwLG8uY2xvbmVFbGVtZW50KShsLEgpOnkoSCkpLG8uY3JlYXRlRWxlbWVudChFLHtpc0luOlAsZG9uZTpNLHBvc2l0aW9uOlQscHJldmVudEV4aXRUcmFuc2l0aW9uOm4sbm9kZVJlZjphfSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOmssb25DbGljazpkLGNsYXNzTmFtZTpTLC4uLnIsc3R5bGU6QyxyZWY6YX0sby5jcmVhdGVFbGVtZW50KCJkaXYiLHsuLi5QJiZ7cm9sZTpSfSxjbGFzc05hbWU6aShiKT9iKHt0eXBlOmZ9KTpzKCJUb2FzdGlmeV9fdG9hc3QtYm9keSIsYiksc3R5bGU6SX0sbnVsbCE9JCYmby5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6cygiVG9hc3RpZnlfX3RvYXN0LWljb24iLHsiVG9hc3RpZnktLWFuaW1hdGUtaWNvbiBUb2FzdGlmeV9fem9vbS1lbnRlciI6IUJ9KX0sJCksby5jcmVhdGVFbGVtZW50KCJkaXYiLG51bGwsYykpLHEsby5jcmVhdGVFbGVtZW50KHYsey4uLk4mJiFGP3trZXk6YHBiLSR7Tn1gfTp7fSxydGw6eCx0aGVtZTpBLGRlbGF5OnUsaXNSdW5uaW5nOnQsaXNJbjpQLGNsb3NlVG9hc3Q6bSxoaWRlOnAsdHlwZTpmLHN0eWxlOk8sY2xhc3NOYW1lOkwsY29udHJvbGxlZFByb2dyZXNzOkYscHJvZ3Jlc3M6d3x8MH0pKSl9LFQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9ITEpLHtlbnRlcjpgVG9hc3RpZnktLWFuaW1hdGUgVG9hc3RpZnlfXyR7ZX0tZW50ZXJgLGV4aXQ6YFRvYXN0aWZ5LS1hbmltYXRlIFRvYXN0aWZ5X18ke2V9LWV4aXRgLGFwcGVuZFBvc2l0aW9uOnR9fSxfPXUoVCgiYm91bmNlIiwhMCkpLEM9KHUoVCgic2xpZGUiLCEwKSksdShUKCJ6b29tIikpLHUoVCgiZmxpcCIpKSwoMCxvLmZvcndhcmRSZWYpKChlLHQpPT57bGV0e2dldFRvYXN0VG9SZW5kZXI6bixjb250YWluZXJSZWY6dSxpc1RvYXN0QWN0aXZlOnB9PWZ1bmN0aW9uKGUpe2xldFssdF09KDAsby51c2VSZWR1Y2VyKShlPT5lKzEsMCksW24sc109KDAsby51c2VTdGF0ZSkoW10pLHU9KDAsby51c2VSZWYpKG51bGwpLHA9KDAsby51c2VSZWYpKG5ldyBNYXApLmN1cnJlbnQsaD1lPT4tMSE9PW4uaW5kZXhPZihlKSxnPSgwLG8udXNlUmVmKSh7dG9hc3RLZXk6MSxkaXNwbGF5ZWRUb2FzdDowLGNvdW50OjAscXVldWU6W10scHJvcHM6ZSxjb250YWluZXJJZDpudWxsLGlzVG9hc3RBY3RpdmU6aCxnZXRUb2FzdDplPT5wLmdldChlKX0pLmN1cnJlbnQ7ZnVuY3Rpb24geShlKXtsZXR7Y29udGFpbmVySWQ6dH09ZSx7bGltaXQ6bn09Zy5wcm9wczshbnx8dCYmZy5jb250YWluZXJJZCE9PXR8fChnLmNvdW50LT1nLnF1ZXVlLmxlbmd0aCxnLnF1ZXVlPVtdKX1mdW5jdGlvbiB2KGUpe3ModD0+bnVsbD09ZT9bXTp0LmZpbHRlcih0PT50IT09ZSkpfWZ1bmN0aW9uIEUoKXtsZXR7dG9hc3RDb250ZW50OmUsdG9hc3RQcm9wczp0LHN0YWxlSWQ6bn09Zy5xdWV1ZS5zaGlmdCgpO18oZSx0LG4pfWZ1bmN0aW9uIFQoZSxuKXt2YXIgcyxoO2xldHtkZWxheTp5LHN0YWxlSWQ6VCwuLi5DfT1uO2lmKCFjKGUpfHwhdS5jdXJyZW50fHxnLnByb3BzLmVuYWJsZU11bHRpQ29udGFpbmVyJiZDLmNvbnRhaW5lcklkIT09Zy5wcm9wcy5jb250YWluZXJJZHx8cC5oYXMoQy50b2FzdElkKSYmbnVsbD09Qy51cGRhdGVJZClyZXR1cm47bGV0e3RvYXN0SWQ6Yix1cGRhdGVJZDpJLGRhdGE6TH09Qyx7cHJvcHM6T309ZyxOPSgpPT52KGIpLFI9bnVsbD09STtSJiZnLmNvdW50Kys7bGV0IHc9ey4uLk8sc3R5bGU6Ty50b2FzdFN0eWxlLGtleTpnLnRvYXN0S2V5KyssLi4uT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKEMpLmZpbHRlcihlPT57bGV0W3Qsbl09ZTtyZXR1cm4gbnVsbCE9bn0pKSx0b2FzdElkOmIsdXBkYXRlSWQ6SSxkYXRhOkwsY2xvc2VUb2FzdDpOLGlzSW46ITEsY2xhc3NOYW1lOmwoQy5jbGFzc05hbWV8fE8udG9hc3RDbGFzc05hbWUpLGJvZHlDbGFzc05hbWU6bChDLmJvZHlDbGFzc05hbWV8fE8uYm9keUNsYXNzTmFtZSkscHJvZ3Jlc3NDbGFzc05hbWU6bChDLnByb2dyZXNzQ2xhc3NOYW1lfHxPLnByb2dyZXNzQ2xhc3NOYW1lKSxhdXRvQ2xvc2U6IUMuaXNMb2FkaW5nJiYocz1DLmF1dG9DbG9zZSxoPU8uYXV0b0Nsb3NlLCExPT09c3x8YShzKSYmcz4wP3M6aCksZGVsZXRlVG9hc3QoKXtsZXQgZT1kKHAuZ2V0KGIpLCJyZW1vdmVkIik7cC5kZWxldGUoYiksZi5lbWl0KDQsZSk7bGV0IG49Zy5xdWV1ZS5sZW5ndGg7aWYoZy5jb3VudD1udWxsPT1iP2cuY291bnQtZy5kaXNwbGF5ZWRUb2FzdDpnLmNvdW50LTEsZy5jb3VudDwwJiYoZy5jb3VudD0wKSxuPjApe2xldCBlPW51bGw9PWI/Zy5wcm9wcy5saW1pdDoxO2lmKDE9PT1ufHwxPT09ZSlnLmRpc3BsYXllZFRvYXN0KyssRSgpO2Vsc2V7bGV0IHQ9ZT5uP246ZTtnLmRpc3BsYXllZFRvYXN0PXQ7Zm9yKGxldCBlPTA7ZTx0O2UrKylFKCl9fWVsc2UgdCgpfX07dy5pY29uT3V0PWZ1bmN0aW9uKGUpe2xldHt0aGVtZTp0LHR5cGU6bixpc0xvYWRpbmc6cyxpY29uOmx9PWUsYz1udWxsLHU9e3RoZW1lOnQsdHlwZTpufTtyZXR1cm4hMT09PWx8fChpKGwpP2M9bCh1KTooMCxvLmlzVmFsaWRFbGVtZW50KShsKT9jPSgwLG8uY2xvbmVFbGVtZW50KShsLHUpOnIobCl8fGEobCk/Yz1sOnM/Yz1tLnNwaW5uZXIoKTpuIGluIG0mJihjPW1bbl0odSkpKSxjfSh3KSxpKEMub25PcGVuKSYmKHcub25PcGVuPUMub25PcGVuKSxpKEMub25DbG9zZSkmJih3Lm9uQ2xvc2U9Qy5vbkNsb3NlKSx3LmNsb3NlQnV0dG9uPU8uY2xvc2VCdXR0b24sITE9PT1DLmNsb3NlQnV0dG9ufHxjKEMuY2xvc2VCdXR0b24pP3cuY2xvc2VCdXR0b249Qy5jbG9zZUJ1dHRvbjohMD09PUMuY2xvc2VCdXR0b24mJih3LmNsb3NlQnV0dG9uPSFjKE8uY2xvc2VCdXR0b24pfHxPLmNsb3NlQnV0dG9uKTtsZXQgeD1lOygwLG8uaXNWYWxpZEVsZW1lbnQpKGUpJiYhcihlLnR5cGUpP3g9KDAsby5jbG9uZUVsZW1lbnQpKGUse2Nsb3NlVG9hc3Q6Tix0b2FzdFByb3BzOncsZGF0YTpMfSk6aShlKSYmKHg9ZSh7Y2xvc2VUb2FzdDpOLHRvYXN0UHJvcHM6dyxkYXRhOkx9KSksTy5saW1pdCYmTy5saW1pdD4wJiZnLmNvdW50Pk8ubGltaXQmJlI/Zy5xdWV1ZS5wdXNoKHt0b2FzdENvbnRlbnQ6eCx0b2FzdFByb3BzOncsc3RhbGVJZDpUfSk6YSh5KT9zZXRUaW1lb3V0KCgpPT57Xyh4LHcsVCl9LHkpOl8oeCx3LFQpfWZ1bmN0aW9uIF8oZSx0LG4pe2xldHt0b2FzdElkOm99PXQ7biYmcC5kZWxldGUobik7bGV0IGE9e2NvbnRlbnQ6ZSxwcm9wczp0fTtwLnNldChvLGEpLHMoZT0+Wy4uLmUsb10uZmlsdGVyKGU9PmUhPT1uKSksZi5lbWl0KDQsZChhLG51bGw9PWEucHJvcHMudXBkYXRlSWQ/ImFkZGVkIjoidXBkYXRlZCIpKX1yZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCk9PihnLmNvbnRhaW5lcklkPWUuY29udGFpbmVySWQsZi5jYW5jZWxFbWl0KDMpLm9uKDAsVCkub24oMSxlPT51LmN1cnJlbnQmJnYoZSkpLm9uKDUseSkuZW1pdCgyLGcpLCgpPT57cC5jbGVhcigpLGYuZW1pdCgzLGcpfSksW10pLCgwLG8udXNlRWZmZWN0KSgoKT0+e2cucHJvcHM9ZSxnLmlzVG9hc3RBY3RpdmU9aCxnLmRpc3BsYXllZFRvYXN0PW4ubGVuZ3RofSkse2dldFRvYXN0VG9SZW5kZXI6ZnVuY3Rpb24odCl7bGV0IG49bmV3IE1hcCxvPUFycmF5LmZyb20ocC52YWx1ZXMoKSk7cmV0dXJuIGUubmV3ZXN0T25Ub3AmJm8ucmV2ZXJzZSgpLG8uZm9yRWFjaChlPT57bGV0e3Bvc2l0aW9uOnR9PWUucHJvcHM7bi5oYXModCl8fG4uc2V0KHQsW10pLG4uZ2V0KHQpLnB1c2goZSl9KSxBcnJheS5mcm9tKG4sZT0+dChlWzBdLGVbMV0pKX0sY29udGFpbmVyUmVmOnUsaXNUb2FzdEFjdGl2ZTpofX0oZSkse2NsYXNzTmFtZTpoLHN0eWxlOmcscnRsOnksY29udGFpbmVySWQ6dn09ZTtyZXR1cm4oMCxvLnVzZUVmZmVjdCkoKCk9Pnt0JiYodC5jdXJyZW50PXUuY3VycmVudCl9LFtdKSxvLmNyZWF0ZUVsZW1lbnQoImRpdiIse3JlZjp1LGNsYXNzTmFtZToiVG9hc3RpZnkiLGlkOnZ9LG4oKGUsdCk9PntsZXQgbj10Lmxlbmd0aD97Li4uZ306ey4uLmcscG9pbnRlckV2ZW50czoibm9uZSJ9O3JldHVybiBvLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmdW5jdGlvbihlKXtsZXQgdD1zKCJUb2FzdGlmeV9fdG9hc3QtY29udGFpbmVyIixgVG9hc3RpZnlfX3RvYXN0LWNvbnRhaW5lci0tJHtlfWAseyJUb2FzdGlmeV9fdG9hc3QtY29udGFpbmVyLS1ydGwiOnl9KTtyZXR1cm4gaShoKT9oKHtwb3NpdGlvbjplLHJ0bDp5LGRlZmF1bHRDbGFzc05hbWU6dH0pOnModCxsKGgpKX0oZSksc3R5bGU6bixrZXk6YGNvbnRhaW5lci0ke2V9YH0sdC5tYXAoKGUsbik9PntsZXR7Y29udGVudDpzLHByb3BzOmF9PWU7cmV0dXJuIG8uY3JlYXRlRWxlbWVudChFLHsuLi5hLGlzSW46cChhLnRvYXN0SWQpLHN0eWxlOnsuLi5hLnN0eWxlLCItLW50aCI6bisxLCItLWxlbiI6dC5sZW5ndGh9LGtleTpgdG9hc3QtJHthLmtleX1gfSxzKX0pKX0pKX0pKTtDLmRpc3BsYXlOYW1lPSJUb2FzdENvbnRhaW5lciIsQy5kZWZhdWx0UHJvcHM9e3Bvc2l0aW9uOiJ0b3AtcmlnaHQiLHRyYW5zaXRpb246XyxhdXRvQ2xvc2U6NWUzLGNsb3NlQnV0dG9uOnkscGF1c2VPbkhvdmVyOiEwLHBhdXNlT25Gb2N1c0xvc3M6ITAsY2xvc2VPbkNsaWNrOiEwLGRyYWdnYWJsZTohMCxkcmFnZ2FibGVQZXJjZW50OjgwLGRyYWdnYWJsZURpcmVjdGlvbjoieCIscm9sZToiYWxlcnQiLHRoZW1lOiJsaWdodCJ9O2xldCBiLEk9bmV3IE1hcCxMPVtdLE89MTtmdW5jdGlvbiBOKGUsdCl7cmV0dXJuIEkuc2l6ZT4wP2YuZW1pdCgwLGUsdCk6TC5wdXNoKHtjb250ZW50OmUsb3B0aW9uczp0fSksdC50b2FzdElkfWZ1bmN0aW9uIFIoZSx0KXtyZXR1cm57Li4udCx0eXBlOnQmJnQudHlwZXx8ZSx0b2FzdElkOnQmJihyKHQudG9hc3RJZCl8fGEodC50b2FzdElkKSk/dC50b2FzdElkOiIiK08rK319ZnVuY3Rpb24gdyhlKXtyZXR1cm4odCxuKT0+Tih0LFIoZSxuKSl9ZnVuY3Rpb24geChlLHQpe3JldHVybiBOKGUsUigiZGVmYXVsdCIsdCkpfXgubG9hZGluZz0oZSx0KT0+TihlLFIoImRlZmF1bHQiLHtpc0xvYWRpbmc6ITAsYXV0b0Nsb3NlOiExLGNsb3NlT25DbGljazohMSxjbG9zZUJ1dHRvbjohMSxkcmFnZ2FibGU6ITEsLi4udH0pKSx4LnByb21pc2U9ZnVuY3Rpb24oZSx0LG4pe2xldCBvLHtwZW5kaW5nOnMsZXJyb3I6YSxzdWNjZXNzOmx9PXQ7cyYmKG89cihzKT94LmxvYWRpbmcocyxuKTp4LmxvYWRpbmcocy5yZW5kZXIsey4uLm4sLi4uc30pKTtsZXQgYz17aXNMb2FkaW5nOm51bGwsYXV0b0Nsb3NlOm51bGwsY2xvc2VPbkNsaWNrOm51bGwsY2xvc2VCdXR0b246bnVsbCxkcmFnZ2FibGU6bnVsbH0sdT0oZSx0LHMpPT57aWYobnVsbD09dClyZXR1cm4gdm9pZCB4LmRpc21pc3Mobyk7bGV0IGE9e3R5cGU6ZSwuLi5jLC4uLm4sZGF0YTpzfSxpPXIodCk/e3JlbmRlcjp0fTp0O3JldHVybiBvP3gudXBkYXRlKG8sey4uLmEsLi4uaX0pOngoaS5yZW5kZXIsey4uLmEsLi4uaX0pLHN9LGQ9aShlKT9lKCk6ZTtyZXR1cm4gZC50aGVuKGU9PnUoInN1Y2Nlc3MiLGwsZSkpLmNhdGNoKGU9PnUoImVycm9yIixhLGUpKSxkfSx4LnN1Y2Nlc3M9dygic3VjY2VzcyIpLHguaW5mbz13KCJpbmZvIikseC5lcnJvcj13KCJlcnJvciIpLHgud2FybmluZz13KCJ3YXJuaW5nIikseC53YXJuPXgud2FybmluZyx4LmRhcms9KGUsdCk9Pk4oZSxSKCJkZWZhdWx0Iix7dGhlbWU6ImRhcmsiLC4uLnR9KSkseC5kaXNtaXNzPWU9PntJLnNpemU+MD9mLmVtaXQoMSxlKTpMPUwuZmlsdGVyKHQ9Pm51bGwhPWUmJnQub3B0aW9ucy50b2FzdElkIT09ZSl9LHguY2xlYXJXYWl0aW5nUXVldWU9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXt9KSxmLmVtaXQoNSxlKX0seC5pc0FjdGl2ZT1lPT57bGV0IHQ9ITE7cmV0dXJuIEkuZm9yRWFjaChuPT57bi5pc1RvYXN0QWN0aXZlJiZuLmlzVG9hc3RBY3RpdmUoZSkmJih0PSEwKX0pLHR9LHgudXBkYXRlPWZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9e30pLHNldFRpbWVvdXQoKCk9PntsZXQgbj1mdW5jdGlvbihlLHQpe2xldHtjb250YWluZXJJZDpufT10LG89SS5nZXQobnx8Yik7cmV0dXJuIG8mJm8uZ2V0VG9hc3QoZSl9KGUsdCk7aWYobil7bGV0e3Byb3BzOm8sY29udGVudDpzfT1uLGE9e2RlbGF5OjEwMCwuLi5vLC4uLnQsdG9hc3RJZDp0LnRvYXN0SWR8fGUsdXBkYXRlSWQ6IiIrTysrfTthLnRvYXN0SWQhPT1lJiYoYS5zdGFsZUlkPWUpO2xldCByPWEucmVuZGVyfHxzO2RlbGV0ZSBhLnJlbmRlcixOKHIsYSl9fSwwKX0seC5kb25lPWU9Pnt4LnVwZGF0ZShlLHtwcm9ncmVzczoxfSl9LHgub25DaGFuZ2U9ZT0+KGYub24oNCxlKSwoKT0+e2Yub2ZmKDQsZSl9KSx4LlBPU0lUSU9OPXtUT1BfTEVGVDoidG9wLWxlZnQiLFRPUF9SSUdIVDoidG9wLXJpZ2h0IixUT1BfQ0VOVEVSOiJ0b3AtY2VudGVyIixCT1RUT01fTEVGVDoiYm90dG9tLWxlZnQiLEJPVFRPTV9SSUdIVDoiYm90dG9tLXJpZ2h0IixCT1RUT01fQ0VOVEVSOiJib3R0b20tY2VudGVyIn0seC5UWVBFPXtJTkZPOiJpbmZvIixTVUNDRVNTOiJzdWNjZXNzIixXQVJOSU5HOiJ3YXJuaW5nIixFUlJPUjoiZXJyb3IiLERFRkFVTFQ6ImRlZmF1bHQifSxmLm9uKDIsZT0+e2I9ZS5jb250YWluZXJJZHx8ZSxJLnNldChiLGUpLEwuZm9yRWFjaChlPT57Zi5lbWl0KDAsZS5jb250ZW50LGUub3B0aW9ucyl9KSxMPVtdfSkub24oMyxlPT57SS5kZWxldGUoZS5jb250YWluZXJJZHx8ZSksMD09PUkuc2l6ZSYmZi5vZmYoMCkub2ZmKDEpLm9mZig1KX0pfX0sZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGUoZS5zPXQpfTtlLk8oMCxbOTc3NCwxNzldLGZ1bmN0aW9uKCl7cmV0dXJuIHQoOTExMTgpLHQoNDMwNzkpfSksX05fRT1lLk8oKX1dKTs="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.812Z","timestamp":1785133562812,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 37756\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:07:05 GMT\r\nexpires: Sat, 24 Jul 2027 18:07:05 GMT\r\ncache-control: public, max-age=31536000\r\nage: 217137\r\nlast-modified: Thu, 04 Sep 2025 17:09:21 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":37756,"size_decoded":38569,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 37756, version 1.0","md5":"8a6a885dd57e60ddd85f3190737fa209","sha1":"dbca56b7fe8ee5e4bfb648d639fc6a3bfc5c6e85","sha256":"b9b102f608e8252e3c1e7287309832b16af7dcc6e788651fa503a3faacd7fb2f","sha512":"2bd785869777dc57dbb5934d4c6915b66f89746dd79897820eb4bbd0d262b2612bafdfb07c1e092658ad819f582a97e6a196531f74187d8a0b0bbd07fcbba56a","ssdeep":"768:sqRKhgpCf9U72WeD4A/5IqtBr0ikGvEaQh38/LBu3Emdc043RpgZKMqjkEfO1m:jKgp+9U7Ve8A/7Ai9Et3EBKEUE3RqMMu","tlshash":"3e030130df5884edcc0ba371fdeea81fc7a332a594c0b3368297af1b80111499d99e49","first_seen":"2025-09-05T00:25:10.258656Z","last_seen":"2026-07-30T07:26:05.105111Z","times_seen":544409,"resource_available":false,"data":"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"}},"time_used":83,"timings":{"blocked":-1,"dns":2,"connect":30,"send":0,"wait":28,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:12.976Z","timestamp":1785133572976,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/shared-CgMCAfor.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:12 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-42705\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k32PHPyiAoF5CR5uwd/IhS6RxpycAXXostws7ZVkqEyT2xXFlovt8D9iHVNvSEyZ7eGqLJ0\r\nx-77-nzt-ray: fdb54123124f25f504fa666a2bde2f3a\r\nx-77-cache: HIT\r\nx-77-age: 1720529\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":272133,"size_decoded":92592,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"resource_available":true,"data":"dmFyIGU9T2JqZWN0LmNyZWF0ZSx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxpPU9iamVjdC5nZXRQcm90b3R5cGVPZixhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz0oZSx0KT0+KCk9PihlJiYodD1lKGU9MCkpLHQpLHM9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxjPShlLG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIGUpdChyLGkse2dldDplW2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8dChyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxsPShlLGksbyxzKT0+e2lmKGkmJnR5cGVvZiBpPT1gb2JqZWN0YHx8dHlwZW9mIGk9PWBmdW5jdGlvbmApZm9yKHZhciBjPXIoaSksbD0wLHU9Yy5sZW5ndGgsZDtsPHU7bCsrKWQ9Y1tsXSwhYS5jYWxsKGUsZCkmJmQhPT1vJiZ0KGUsZCx7Z2V0OihlPT5pW2VdKS5iaW5kKG51bGwsZCksZW51bWVyYWJsZTohKHM9bihpLGQpKXx8cy5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9LHU9KG4scixhKT0+KGE9bj09bnVsbD97fTplKGkobikpLGwocnx8IW58fCFuLl9fZXNNb2R1bGU/dChhLGBkZWZhdWx0YCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6YSxuKSksZD1lPT5hLmNhbGwoZSxgbW9kdWxlLmV4cG9ydHNgKT9lW2Btb2R1bGUuZXhwb3J0c2BdOmwodCh7fSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZSksZj1BcnJheS5pc0FycmF5LHA9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsbT1BcnJheS5wcm90b3R5cGUuaW5jbHVkZXMsaD1BcnJheS5mcm9tLGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LF89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHk9T2JqZWN0LnByb3RvdHlwZSxlZT1BcnJheS5wcm90b3R5cGUsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsdGU9T2JqZWN0LmlzRXh0ZW5zaWJsZTtmdW5jdGlvbiBuZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBmdW5jdGlvbmB9dmFyIHg9KCk9Pnt9O2Z1bmN0aW9uIHJlKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfWZ1bmN0aW9uIGFlKCl7dmFyIGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgobixyKT0+e2U9bix0PXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXZhciBvZT0xPDwyNCxzZT0xMDI0LGNlPTIwNDgsbGU9NDA5Nix1ZT04MTkyLGRlPTE2Mzg0LGZlPTMyNzY4LHBlPTE8PDI1LG1lPTY1NTM2LGhlPTE8PDE5LGdlPTE8PDIwLF9lPTE8PDI1LHZlPTY1NTM2LHllPTE8PDIxLGJlPTE8PDIyLHhlPTE8PDIzLFNlPVN5bWJvbChgJHN0YXRlYCksQ2U9U3ltYm9sKGBsZWdhY3kgcHJvcHNgKSx3ZT1TeW1ib2woYGApLFRlPW5ldyBjbGFzcyBleHRlbmRzIEVycm9ye25hbWU9YFN0YWxlUmVhY3Rpb25FcnJvcmA7bWVzc2FnZT0iVGhlIHJlYWN0aW9uIHRoYXQgY2FsbGVkIGBnZXRBYm9ydFNpZ25hbCgpYCB3YXMgcmUtcnVuIG9yIGRlc3Ryb3llZCJ9LEVlPSEhZ2xvYmFsVGhpcy5kb2N1bWVudD8uY29udGVudFR5cGUmJmdsb2JhbFRoaXMuZG9jdW1lbnQuY29udGVudFR5cGUuaW5jbHVkZXMoYHhtbGApO2Z1bmN0aW9uIERlKGUpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9saWZlY3ljbGVfb3V0c2lkZV9jb21wb25lbnRgKX1mdW5jdGlvbiBPZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9hc3luY19kZXJpdmVkX29ycGhhbmApfWZ1bmN0aW9uIGtlKGUsdCxuKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWFjaF9rZXlfZHVwbGljYXRlYCl9ZnVuY3Rpb24gQWUoZSl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl90ZWFyZG93bmApfWZ1bmN0aW9uIGplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl91bm93bmVkX2Rlcml2ZWRgKX1mdW5jdGlvbiBNZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWZmZWN0X29ycGhhbmApfWZ1bmN0aW9uIE5lKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF91cGRhdGVfZGVwdGhfZXhjZWVkZWRgKX1mdW5jdGlvbiBQZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvcHJvcHNfaW52YWxpZF92YWx1ZWApfWZ1bmN0aW9uIEZlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3NldF9jb250ZXh0X2FmdGVyX2luaXRgKX1mdW5jdGlvbiBJZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9zdGF0ZV9kZXNjcmlwdG9yc19maXhlZGApfWZ1bmN0aW9uIExlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Byb3RvdHlwZV9maXhlZGApfWZ1bmN0aW9uIFJlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Vuc2FmZV9tdXRhdGlvbmApfWZ1bmN0aW9uIHplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N2ZWx0ZV9ib3VuZGFyeV9yZXNldF9vbmVycm9yYCl9dmFyIEJlPXt9LFM9U3ltYm9sKCksVmU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxgLEhlPWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsVWU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgO2Z1bmN0aW9uIFdlKCl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9kZXJpdmVkX2luZXJ0YCl9ZnVuY3Rpb24gR2UoZSl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9oeWRyYXRpb25fbWlzbWF0Y2hgKX1mdW5jdGlvbiBLZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc2VsZWN0X211bHRpcGxlX2ludmFsaWRfdmFsdWVgKX1mdW5jdGlvbiBxZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc3ZlbHRlX2JvdW5kYXJ5X3Jlc2V0X25vb3BgKX12YXIgQz0hMTtmdW5jdGlvbiBKZShlKXtDPWV9dmFyIHc7ZnVuY3Rpb24gVChlKXtpZihlPT09bnVsbCl0aHJvdyBHZSgpLEJlO3JldHVybiB3PWV9ZnVuY3Rpb24gWWUoKXtyZXR1cm4gVChCbih3KSl9ZnVuY3Rpb24gWGUoZSl7aWYoQyl7aWYoQm4odykhPT1udWxsKXRocm93IEdlKCksQmU7dz1lfX1mdW5jdGlvbiBaZShlPTEpe2lmKEMpe2Zvcih2YXIgdD1lLG49dzt0LS07KW49Qm4obik7dz1ufX1mdW5jdGlvbiBRZShlPSEwKXtmb3IodmFyIHQ9MCxuPXc7Oyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciByPW4uZGF0YTtpZihyPT09YF1gKXtpZih0PT09MClyZXR1cm4gbjstLXR9ZWxzZSAocj09PWBbYHx8cj09PWBbIWB8fHJbMF09PT1gW2AmJiFpc05hTihOdW1iZXIoci5zbGljZSgxKSkpKSYmKHQrPTEpfXZhciBpPUJuKG4pO2UmJm4ucmVtb3ZlKCksbj1pfX1mdW5jdGlvbiAkZShlKXtpZighZXx8ZS5ub2RlVHlwZSE9PTgpdGhyb3cgR2UoKSxCZTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGV0KGUpe3JldHVybiBlPT09dGhpcy52fWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGU9PWU/ZSE9PXR8fHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlfHx0eXBlb2YgZT09YGZ1bmN0aW9uYDp0PT10fWZ1bmN0aW9uIG50KGUpe3JldHVybiF0dChlLHRoaXMudil9dmFyIHJ0PSExLGl0PSExO2Z1bmN0aW9uIGF0KCl7aXQ9ITB9dmFyIEU9bnVsbDtmdW5jdGlvbiBvdChlKXtFPWV9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGZ0KGBnZXRDb250ZXh0YCkuZ2V0KGUpfWZ1bmN0aW9uIGN0KGUsdCl7bGV0IG49ZnQoYHNldENvbnRleHRgKTtpZihydCl7dmFyIHI9SS5mOyFGJiZyJjMyJiYhRS5pfHxGZSgpfXJldHVybiBuLnNldChlLHQpLHR9ZnVuY3Rpb24gbHQoZSx0PSExLG4pe0U9e3A6RSxpOiExLGM6bnVsbCxlOm51bGwsczplLHg6bnVsbCxyOkksbDppdCYmIXQ/e3M6bnVsbCx1Om51bGwsJDpbXX06bnVsbH19ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9RSxuPXQuZTtpZihuIT09bnVsbCl7dC5lPW51bGw7Zm9yKHZhciByIG9mIG4pc3Iocil9cmV0dXJuIGUhPT12b2lkIDAmJih0Lng9ZSksdC5pPSEwLEU9dC5wLGU/P3t9fWZ1bmN0aW9uIGR0KCl7cmV0dXJuIWl0fHxFIT09bnVsbCYmRS5sPT09bnVsbH1mdW5jdGlvbiBmdChlKXtyZXR1cm4gRT09PW51bGwmJkRlKGUpLEUuYz8/PW5ldyBNYXAocHQoRSl8fHZvaWQgMCl9ZnVuY3Rpb24gcHQoZSl7bGV0IHQ9ZS5wO2Zvcig7dCE9PW51bGw7KXtsZXQgZT10LmM7aWYoZSE9PW51bGwpcmV0dXJuIGU7dD10LnB9cmV0dXJuIG51bGx9dmFyIG10PVtdO2Z1bmN0aW9uIGh0KCl7dmFyIGU9bXQ7bXQ9W10saWUoZSl9ZnVuY3Rpb24gZ3QoZSl7aWYobXQubGVuZ3RoPT09MCYmIXp0KXt2YXIgdD1tdDtxdWV1ZU1pY3JvdGFzaygoKT0+e3Q9PT1tdCYmaHQoKX0pfW10LnB1c2goZSl9ZnVuY3Rpb24gX3QoKXtmb3IoO210Lmxlbmd0aD4wOylodCgpfWZ1bmN0aW9uIHZ0KGUpe3ZhciB0PUk7aWYodD09PW51bGwpcmV0dXJuIEYuZnw9eGUsZTtpZighKHQuZiYzMjc2OCkmJiEodC5mJjQpKXRocm93IGU7eXQoZSx0KX1mdW5jdGlvbiB5dChlLHQpe2Zvcig7dCE9PW51bGw7KXtpZih0LmYmMTI4KXtpZighKHQuZiYzMjc2OCkpdGhyb3cgZTt0cnl7dC5iLmVycm9yKGUpO3JldHVybn1jYXRjaCh0KXtlPXR9fXQ9dC5wYXJlbnR9dGhyb3cgZX12YXIgYnQ9fihjZXxsZXxzZSk7ZnVuY3Rpb24gRChlLHQpe2UuZj1lLmYmYnR8dH1mdW5jdGlvbiB4dChlKXtlLmYmNTEyfHxlLmRlcHM9PT1udWxsP0QoZSxzZSk6RChlLGxlKX1mdW5jdGlvbiBTdChlKXtpZihlIT09bnVsbClmb3IobGV0IHQgb2YgZSkhKHQuZiYyKXx8ISh0LmYmNjU1MzYpfHwodC5mXj12ZSxTdCh0LmRlcHMpKX1mdW5jdGlvbiBDdChlLHQsbil7ZS5mJjIwNDg/dC5hZGQoZSk6ZS5mJjQwOTYmJm4uYWRkKGUpLFN0KGUuZGVwcyksRChlLHNlKX1mdW5jdGlvbiB3dChlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gdCh2b2lkIDApLG4mJm4odm9pZCAwKSx4O2xldCByPSRyKCgpPT5lLnN1YnNjcmliZSh0LG4pKTtyZXR1cm4gci51bnN1YnNjcmliZT8oKT0+ci51bnN1YnNjcmliZSgpOnJ9dmFyIFR0PVtdO2Z1bmN0aW9uIEV0KGUsdCl7cmV0dXJue3N1YnNjcmliZTpPKGUsdCkuc3Vic2NyaWJlfX1mdW5jdGlvbiBPKGUsdD14KXtsZXQgbj1udWxsLHI9bmV3IFNldDtmdW5jdGlvbiBpKHQpe2lmKHR0KGUsdCkmJihlPXQsbikpe2xldCB0PSFUdC5sZW5ndGg7Zm9yKGxldCB0IG9mIHIpdFsxXSgpLFR0LnB1c2godCxlKTtpZih0KXtmb3IobGV0IGU9MDtlPFR0Lmxlbmd0aDtlKz0yKVR0W2VdWzBdKFR0W2UrMV0pO1R0Lmxlbmd0aD0wfX19ZnVuY3Rpb24gYSh0KXtpKHQoZSkpfWZ1bmN0aW9uIG8obyxzPXgpe2xldCBjPVtvLHNdO3JldHVybiByLmFkZChjKSxyLnNpemU9PT0xJiYobj10KGksYSl8fHgpLG8oZSksKCk9PntyLmRlbGV0ZShjKSxyLnNpemU9PT0wJiZuJiYobigpLG49bnVsbCl9fXJldHVybntzZXQ6aSx1cGRhdGU6YSxzdWJzY3JpYmU6b319ZnVuY3Rpb24gayhlLHQsbil7bGV0IHI9IUFycmF5LmlzQXJyYXkoZSksaT1yP1tlXTplO2lmKCFpLmV2ZXJ5KEJvb2xlYW4pKXRocm93IEVycm9yKGBkZXJpdmVkKCkgZXhwZWN0cyBzdG9yZXMgYXMgaW5wdXQsIGdvdCBhIGZhbHN5IHZhbHVlYCk7bGV0IGE9dC5sZW5ndGg8MjtyZXR1cm4gRXQobiwoZSxuKT0+e2xldCBvPSExLHM9W10sYz0wLGw9eCx1PSgpPT57aWYoYylyZXR1cm47bCgpO2xldCBpPXQocj9zWzBdOnMsZSxuKTthP2UoaSk6bD10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOnh9LGQ9aS5tYXAoKGUsdCk9Pnd0KGUsZT0+e3NbdF09ZSxjJj1+KDE8PHQpLG8mJnUoKX0sKCk9PntjfD0xPDx0fSkpO3JldHVybiBvPSEwLHUoKSxmdW5jdGlvbigpe2llKGQpLGwoKSxvPSExfX0pfWZ1bmN0aW9uIEEoZSl7bGV0IHQ7cmV0dXJuIHd0KGUsZT0+dD1lKSgpLHR9dmFyIER0PSExLE90PSExLGt0PVN5bWJvbCgpO2Z1bmN0aW9uIEF0KGUsdCxuKXtsZXQgcj1uW3RdPz89e3N0b3JlOm51bGwsc291cmNlOnduKHZvaWQgMCksdW5zdWJzY3JpYmU6eH07aWYoci5zdG9yZSE9PWUmJiEoa3QgaW4gbikpaWYoci51bnN1YnNjcmliZSgpLHIuc3RvcmU9ZT8/bnVsbCxlPT1udWxsKXIuc291cmNlLnY9dm9pZCAwLHIudW5zdWJzY3JpYmU9eDtlbHNle3ZhciBpPSEwO3IudW5zdWJzY3JpYmU9d3QoZSxlPT57aT9yLnNvdXJjZS52PWU6VG4oci5zb3VyY2UsZSl9KSxpPSExfXJldHVybiBlJiZrdCBpbiBuP0EoZSk6UihyLnNvdXJjZSl9ZnVuY3Rpb24ganQoZSx0KXtyZXR1cm4gTnQoZSx0KSx0fWZ1bmN0aW9uIE10KCl7bGV0IGU9e307ZnVuY3Rpb24gdCgpe2FyKCgpPT57Zm9yKHZhciB0IGluIGUpZVt0XS51bnN1YnNjcmliZSgpO2coZSxrdCx7ZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pfSl9cmV0dXJuW2UsdF19ZnVuY3Rpb24gTnQoZSx0KXtEdD0hMDt0cnl7ZS5zZXQodCl9ZmluYWxseXtEdD0hMX19ZnVuY3Rpb24gUHQoZSx0LG4pe3JldHVybiBOdChlLG4pLHR9ZnVuY3Rpb24gRnQoZSl7dmFyIHQ9T3Q7dHJ5e3JldHVybiBPdD0hMSxbZSgpLE90XX1maW5hbGx5e090PXR9fXZhciBJdD1uZXcgU2V0LGo9bnVsbCxMdD1udWxsLE09bnVsbCxSdD1udWxsLHp0PSExLEJ0PSExLFZ0PW51bGwsSHQ9bnVsbCxVdD0wLFd0PTEsR3Q9Y2xhc3MgZXtpZD1XdCsrO2N1cnJlbnQ9bmV3IE1hcDtwcmV2aW91cz1uZXcgTWFwOyNlPW5ldyBTZXQ7I3Q9bmV3IFNldDsjbj1uZXcgU2V0OyNyPW5ldyBNYXA7I2k9bmV3IE1hcDsjYT1udWxsOyNvPVtdOyNzPVtdOyNjPW5ldyBTZXQ7I2w9bmV3IFNldDsjdT1uZXcgTWFwOyNkPW5ldyBTZXQ7aXNfZm9yaz0hMTsjZj0hMTsjcD1uZXcgU2V0OyNtKCl7cmV0dXJuIHRoaXMuaXNfZm9ya3x8dGhpcy4jaS5zaXplPjB9I2goKXtmb3IobGV0IG4gb2YgdGhpcy4jcClmb3IobGV0IHIgb2Ygbi4jaS5rZXlzKCkpe2Zvcih2YXIgZT0hMSx0PXI7dC5wYXJlbnQhPT1udWxsOyl7aWYodGhpcy4jdS5oYXModCkpe2U9ITA7YnJlYWt9dD10LnBhcmVudH1pZighZSlyZXR1cm4hMH1yZXR1cm4hMX1za2lwX2VmZmVjdChlKXt0aGlzLiN1LmhhcyhlKXx8dGhpcy4jdS5zZXQoZSx7ZDpbXSxtOltdfSksdGhpcy4jZC5kZWxldGUoZSl9dW5za2lwX2VmZmVjdChlLHQ9ZT0+dGhpcy5zY2hlZHVsZShlKSl7dmFyIG49dGhpcy4jdS5nZXQoZSk7aWYobil7dGhpcy4jdS5kZWxldGUoZSk7Zm9yKHZhciByIG9mIG4uZClEKHIsY2UpLHQocik7Zm9yKHIgb2Ygbi5tKUQocixsZSksdChyKX10aGlzLiNkLmFkZChlKX0jZygpe2lmKFV0Kys+MWUzJiYoSXQuZGVsZXRlKHRoaXMpLHF0KCkpLCF0aGlzLiNtKCkpe2ZvcihsZXQgZSBvZiB0aGlzLiNjKXRoaXMuI2wuZGVsZXRlKGUpLEQoZSxjZSksdGhpcy5zY2hlZHVsZShlKTtmb3IobGV0IGUgb2YgdGhpcy4jbClEKGUsbGUpLHRoaXMuc2NoZWR1bGUoZSl9bGV0IHQ9dGhpcy4jbzt0aGlzLiNvPVtdLHRoaXMuYXBwbHkoKTt2YXIgbj1WdD1bXSxyPVtdLGk9SHQ9W107Zm9yKGxldCBlIG9mIHQpdHJ5e3RoaXMuI18oZSxuLHIpfWNhdGNoKHQpe3Rocm93IGVuKGUpLHR9aWYoaj1udWxsLGkubGVuZ3RoPjApe3ZhciBhPWUuZW5zdXJlKCk7Zm9yKGxldCBlIG9mIGkpYS5zY2hlZHVsZShlKX1pZihWdD1udWxsLEh0PW51bGwsdGhpcy4jbSgpfHx0aGlzLiNoKCkpe3RoaXMuI3YociksdGhpcy4jdihuKTtmb3IobGV0W2UsdF1vZiB0aGlzLiN1KSR0KGUsdCl9ZWxzZXt0aGlzLiNyLnNpemU9PT0wJiZJdC5kZWxldGUodGhpcyksdGhpcy4jYy5jbGVhcigpLHRoaXMuI2wuY2xlYXIoKTtmb3IobGV0IGUgb2YgdGhpcy4jZSllKHRoaXMpO3RoaXMuI2UuY2xlYXIoKSxMdD10aGlzLFl0KHIpLFl0KG4pLEx0PW51bGwsdGhpcy4jYT8ucmVzb2x2ZSgpfXZhciBvPWo7aWYodGhpcy4jby5sZW5ndGg+MCl7bGV0IGU9bz8/PXRoaXM7ZS4jby5wdXNoKC4uLnRoaXMuI28uZmlsdGVyKHQ9PiFlLiNvLmluY2x1ZGVzKHQpKSl9byE9PW51bGwmJihJdC5hZGQobyksby4jZygpKSxydCYmIUl0Lmhhcyh0aGlzKSYmdGhpcy4jeSgpfSNfKGUsdCxuKXtlLmZePXNlO2Zvcih2YXIgcj1lLmZpcnN0O3IhPT1udWxsOyl7dmFyIGk9ci5mLGE9KGkmOTYpIT0wO2lmKCEoYSYmaSYxMDI0fHxpJjgxOTJ8fHRoaXMuI3UuaGFzKHIpKSYmci5mbiE9PW51bGwpe2E/ci5mXj1zZTppJjQ/dC5wdXNoKHIpOnJ0JiZpJjE2Nzc3MjI0P24ucHVzaChyKTpXcihyKSYmKGkmMTYmJnRoaXMuI2wuYWRkKHIpLFlyKHIpKTt2YXIgbz1yLmZpcnN0O2lmKG8hPT1udWxsKXtyPW87Y29udGludWV9fWZvcig7ciE9PW51bGw7KXt2YXIgcz1yLm5leHQ7aWYocyE9PW51bGwpe3I9czticmVha31yPXIucGFyZW50fX19I3YoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKUN0KGVbdF0sdGhpcy4jYyx0aGlzLiNsKX1jYXB0dXJlKGUsdCxuPSExKXtlLnYhPT1TJiYhdGhpcy5wcmV2aW91cy5oYXMoZSkmJnRoaXMucHJldmlvdXMuc2V0KGUsZS52KSxlLmYmODM4ODYwOHx8KHRoaXMuY3VycmVudC5zZXQoZSxbdCxuXSksTT8uc2V0KGUsdCkpLHRoaXMuaXNfZm9ya3x8KGUudj10KX1hY3RpdmF0ZSgpe2o9dGhpc31kZWFjdGl2YXRlKCl7aj1udWxsLE09bnVsbH1mbHVzaCgpe3RyeXtCdD0hMCxqPXRoaXMsdGhpcy4jZygpfWZpbmFsbHl7VXQ9MCxSdD1udWxsLFZ0PW51bGwsSHQ9bnVsbCxCdD0hMSxqPW51bGwsTT1udWxsLGJuLmNsZWFyKCl9fWRpc2NhcmQoKXtmb3IobGV0IGUgb2YgdGhpcy4jdCllKHRoaXMpO3RoaXMuI3QuY2xlYXIoKSx0aGlzLiNuLmNsZWFyKCksSXQuZGVsZXRlKHRoaXMpfXJlZ2lzdGVyX2NyZWF0ZWRfZWZmZWN0KGUpe3RoaXMuI3MucHVzaChlKX0jeSgpe2ZvcihsZXQgbCBvZiBJdCl7dmFyIGU9bC5pZDx0aGlzLmlkLHQ9W107Zm9yKGxldFtyLFtpLGFdXW9mIHRoaXMuY3VycmVudCl7aWYobC5jdXJyZW50LmhhcyhyKSl7dmFyIG49bC5jdXJyZW50LmdldChyKVswXTtpZihlJiZpIT09bilsLmN1cnJlbnQuc2V0KHIsW2ksYV0pO2Vsc2UgY29udGludWV9dC5wdXNoKHIpfXZhciByPVsuLi5sLmN1cnJlbnQua2V5cygpXS5maWx0ZXIoZT0+IXRoaXMuY3VycmVudC5oYXMoZSkpO2lmKHIubGVuZ3RoPT09MCllJiZsLmRpc2NhcmQoKTtlbHNlIGlmKHQubGVuZ3RoPjApe2lmKGUpZm9yKGxldCBlIG9mIHRoaXMuI2QpbC51bnNraXBfZWZmZWN0KGUsZT0+e2UuZiY0MTk0MzIwP2wuc2NoZWR1bGUoZSk6bC4jdihbZV0pfSk7bC5hY3RpdmF0ZSgpO3ZhciBpPW5ldyBTZXQsYT1uZXcgTWFwO2Zvcih2YXIgbyBvZiB0KVh0KG8scixpLGEpO2E9bmV3IE1hcDt2YXIgcz1bLi4ubC5jdXJyZW50LmtleXMoKV0uZmlsdGVyKGU9PnRoaXMuY3VycmVudC5oYXMoZSk/dGhpcy5jdXJyZW50LmdldChlKVswXSE9PWU6ITApO2ZvcihsZXQgZSBvZiB0aGlzLiNzKSEoZS5mJjE1NTY0OCkmJlp0KGUscyxhKSYmKGUuZiY0MTk0MzIwPyhEKGUsY2UpLGwuc2NoZWR1bGUoZSkpOmwuI2MuYWRkKGUpKTtpZihsLiNvLmxlbmd0aD4wKXtsLmFwcGx5KCk7Zm9yKHZhciBjIG9mIGwuI28pbC4jXyhjLFtdLFtdKTtsLiNvPVtdfWwuZGVhY3RpdmF0ZSgpfX1mb3IobGV0IGUgb2YgSXQpZS4jcC5oYXModGhpcykmJihlLiNwLmRlbGV0ZSh0aGlzKSxlLiNwLnNpemU9PT0wJiYhZS4jbSgpJiYoZS5hY3RpdmF0ZSgpLGUuI2coKSkpfWluY3JlbWVudChlLHQpe2xldCBuPXRoaXMuI3IuZ2V0KHQpPz8wO2lmKHRoaXMuI3Iuc2V0KHQsbisxKSxlKXtsZXQgZT10aGlzLiNpLmdldCh0KT8/MDt0aGlzLiNpLnNldCh0LGUrMSl9fWRlY3JlbWVudChlLHQsbil7bGV0IHI9dGhpcy4jci5nZXQodCk/PzA7aWYocj09PTE/dGhpcy4jci5kZWxldGUodCk6dGhpcy4jci5zZXQodCxyLTEpLGUpe2xldCBlPXRoaXMuI2kuZ2V0KHQpPz8wO2U9PT0xP3RoaXMuI2kuZGVsZXRlKHQpOnRoaXMuI2kuc2V0KHQsZS0xKX10aGlzLiNmfHxufHwodGhpcy4jZj0hMCxndCgoKT0+e3RoaXMuI2Y9ITEsdGhpcy5mbHVzaCgpfSkpfXRyYW5zZmVyX2VmZmVjdHMoZSx0KXtmb3IobGV0IHQgb2YgZSl0aGlzLiNjLmFkZCh0KTtmb3IobGV0IGUgb2YgdCl0aGlzLiNsLmFkZChlKTtlLmNsZWFyKCksdC5jbGVhcigpfW9uY29tbWl0KGUpe3RoaXMuI2UuYWRkKGUpfW9uZGlzY2FyZChlKXt0aGlzLiN0LmFkZChlKX1vbl9mb3JrX2NvbW1pdChlKXt0aGlzLiNuLmFkZChlKX1ydW5fZm9ya19jb21taXRfY2FsbGJhY2tzKCl7Zm9yKGxldCBlIG9mIHRoaXMuI24pZSh0aGlzKTt0aGlzLiNuLmNsZWFyKCl9c2V0dGxlZCgpe3JldHVybih0aGlzLiNhPz89YWUoKSkucHJvbWlzZX1zdGF0aWMgZW5zdXJlKCl7aWYoaj09PW51bGwpe2xldCB0PWo9bmV3IGU7QnR8fChJdC5hZGQoaiksenR8fGd0KCgpPT57aj09PXQmJnQuZmx1c2goKX0pKX1yZXR1cm4gan1hcHBseSgpe2lmKCFydHx8IXRoaXMuaXNfZm9yayYmSXQuc2l6ZT09PTEpe009bnVsbDtyZXR1cm59TT1uZXcgTWFwO2ZvcihsZXRbZSxbdF1db2YgdGhpcy5jdXJyZW50KU0uc2V0KGUsdCk7Zm9yKGxldCBuIG9mIEl0KWlmKCEobj09PXRoaXN8fG4uaXNfZm9yaykpe3ZhciBlPSExLHQ9ITE7aWYobi5pZDx0aGlzLmlkKWZvcihsZXRbcixbLGldXW9mIG4uY3VycmVudClpfHwoZXx8PXRoaXMuY3VycmVudC5oYXMociksdHx8PSF0aGlzLmN1cnJlbnQuaGFzKHIpKTtpZihlJiZ0KXRoaXMuI3AuYWRkKG4pO2Vsc2UgZm9yKGxldFtlLHRdb2Ygbi5wcmV2aW91cylNLmhhcyhlKXx8TS5zZXQoZSx0KX19c2NoZWR1bGUoZSl7aWYoUnQ9ZSxlLmI/LmlzX3BlbmRpbmcmJmUuZiYxNjc3NzIyOCYmIShlLmYmMzI3NjgpKXtlLmIuZGVmZXJfZWZmZWN0KGUpO3JldHVybn1mb3IodmFyIHQ9ZTt0LnBhcmVudCE9PW51bGw7KXt0PXQucGFyZW50O3ZhciBuPXQuZjtpZihWdCE9PW51bGwmJnQ9PT1JJiYocnR8fChGPT09bnVsbHx8IShGLmYmMikpJiYhRHQpKXJldHVybjtpZihuJjk2KXtpZighKG4mMTAyNCkpcmV0dXJuO3QuZl49c2V9fXRoaXMuI28ucHVzaCh0KX19O2Z1bmN0aW9uIEt0KGUpe3ZhciB0PXp0O3p0PSEwO3RyeXt2YXIgbjtmb3IoZSYmKGohPT1udWxsJiYhai5pc19mb3JrJiZqLmZsdXNoKCksbj1lKCkpOzspe2lmKF90KCksaj09PW51bGwpcmV0dXJuIG47ai5mbHVzaCgpfX1maW5hbGx5e3p0PXR9fWZ1bmN0aW9uIHF0KCl7dHJ5e05lKCl9Y2F0Y2goZSl7eXQoZSxSdCl9fXZhciBKdD1udWxsO2Z1bmN0aW9uIFl0KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQhPT0wKXtmb3IodmFyIG49MDtuPHQ7KXt2YXIgcj1lW24rK107aWYoIShyLmYmMjQ1NzYpJiZXcihyKSYmKEp0PW5ldyBTZXQsWXIociksci5kZXBzPT09bnVsbCYmci5maXJzdD09PW51bGwmJnIubm9kZXM9PT1udWxsJiZyLnRlYXJkb3duPT09bnVsbCYmci5hYz09PW51bGwmJnhyKHIpLEp0Py5zaXplPjApKXtibi5jbGVhcigpO2ZvcihsZXQgZSBvZiBKdCl7aWYoZS5mJjI0NTc2KWNvbnRpbnVlO2xldCB0PVtlXSxuPWUucGFyZW50O2Zvcig7biE9PW51bGw7KUp0LmhhcyhuKSYmKEp0LmRlbGV0ZShuKSx0LnB1c2gobikpLG49bi5wYXJlbnQ7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe2xldCBuPXRbZV07bi5mJjI0NTc2fHxZcihuKX19SnQuY2xlYXIoKX19SnQ9bnVsbH19ZnVuY3Rpb24gWHQoZSx0LG4scil7aWYoIW4uaGFzKGUpJiYobi5hZGQoZSksZS5yZWFjdGlvbnMhPT1udWxsKSlmb3IobGV0IGkgb2YgZS5yZWFjdGlvbnMpe2xldCBlPWkuZjtlJjI/WHQoaSx0LG4scik6ZSY0MTk0MzIwJiYhKGUmMjA0OCkmJlp0KGksdCxyKSYmKEQoaSxjZSksUXQoaSkpfX1mdW5jdGlvbiBadChlLHQsbil7bGV0IHI9bi5nZXQoZSk7aWYociE9PXZvaWQgMClyZXR1cm4gcjtpZihlLmRlcHMhPT1udWxsKWZvcihsZXQgciBvZiBlLmRlcHMpe2lmKG0uY2FsbCh0LHIpKXJldHVybiEwO2lmKHIuZiYyJiZadChyLHQsbikpcmV0dXJuIG4uc2V0KHIsITApLCEwfXJldHVybiBuLnNldChlLCExKSwhMX1mdW5jdGlvbiBRdChlKXtqLnNjaGVkdWxlKGUpfWZ1bmN0aW9uICR0KGUsdCl7aWYoIShlLmYmMzImJmUuZiYxMDI0KSl7ZS5mJjIwNDg/dC5kLnB1c2goZSk6ZS5mJjQwOTYmJnQubS5wdXNoKGUpLEQoZSxzZSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KSR0KG4sdCksbj1uLm5leHR9fWZ1bmN0aW9uIGVuKGUpe0QoZSxzZSk7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KWVuKHQpLHQ9dC5uZXh0fWZ1bmN0aW9uIHRuKGUpe2xldCB0PTAsbj1TbigwKSxyO3JldHVybigpPT57aXIoKSYmKFIobiksZnIoKCk9Pih0PT09MCYmKHI9JHIoKCk9PmUoKCk9PmtuKG4pKSkpLHQrPTEsKCk9PntndCgoKT0+ey0tdCx0PT09MCYmKHI/LigpLHI9dm9pZCAwLGtuKG4pKX0pfSkpKX19dmFyIG5uPW1lfGhlO2Z1bmN0aW9uIHJuKGUsdCxuLHIpe25ldyBhbihlLHQsbixyKX12YXIgYW49Y2xhc3N7cGFyZW50O2lzX3BlbmRpbmc9ITE7dHJhbnNmb3JtX2Vycm9yOyNlOyN0PUM/dzpudWxsOyNuOyNyOyNpOyNhPW51bGw7I289bnVsbDsjcz1udWxsOyNjPW51bGw7I2w9MDsjdT0wOyNkPSExOyNmPW5ldyBTZXQ7I3A9bmV3IFNldDsjbT1udWxsOyNoPXRuKCgpPT4odGhpcy4jbT1Tbih0aGlzLiNsKSwoKT0+e3RoaXMuI209bnVsbH0pKTtjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLiNlPWUsdGhpcy4jbj10LHRoaXMuI3I9ZT0+e3ZhciB0PUk7dC5iPXRoaXMsdC5mfD0xMjgsbihlKX0sdGhpcy5wYXJlbnQ9SS5iLHRoaXMudHJhbnNmb3JtX2Vycm9yPXI/P3RoaXMucGFyZW50Py50cmFuc2Zvcm1fZXJyb3I/PyhlPT5lKSx0aGlzLiNpPW1yKCgpPT57aWYoQyl7bGV0IGU9dGhpcy4jdDtZZSgpO2xldCB0PWUuZGF0YT09PWBbIWA7aWYoZS5kYXRhLnN0YXJ0c1dpdGgoYFs/YCkpe2xldCB0PUpTT04ucGFyc2UoZS5kYXRhLnNsaWNlKDIpKTt0aGlzLiNfKHQpfWVsc2UgdD90aGlzLiN2KCk6dGhpcy4jZygpfWVsc2UgdGhpcy4jeSgpfSxubiksQyYmKHRoaXMuI2U9dyl9I2coKXt0cnl7dGhpcy4jYT1ncigoKT0+dGhpcy4jcih0aGlzLiNlKSl9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I18oZSl7bGV0IHQ9dGhpcy4jbi5mYWlsZWQ7dCYmKHRoaXMuI3M9Z3IoKCk9Pnt0KHRoaXMuI2UsKCk9PmUsKCk9PigpPT57fSl9KSl9I3YoKXtsZXQgZT10aGlzLiNuLnBlbmRpbmc7ZSYmKHRoaXMuaXNfcGVuZGluZz0hMCx0aGlzLiNvPWdyKCgpPT5lKHRoaXMuI2UpKSxndCgoKT0+e3ZhciBlPXRoaXMuI2M9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9em4oKTtlLmFwcGVuZCh0KSx0aGlzLiNhPXRoaXMuI3goKCk9PmdyKCgpPT50aGlzLiNyKHQpKSksdGhpcy4jdT09PTAmJih0aGlzLiNlLmJlZm9yZShlKSx0aGlzLiNjPW51bGwsU3IodGhpcy4jbywoKT0+e3RoaXMuI289bnVsbH0pLHRoaXMuI2IoaikpfSkpfSN5KCl7dHJ5e2lmKHRoaXMuaXNfcGVuZGluZz10aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSx0aGlzLiN1PTAsdGhpcy4jbD0wLHRoaXMuI2E9Z3IoKCk9Pnt0aGlzLiNyKHRoaXMuI2UpfSksdGhpcy4jdT4wKXt2YXIgZT10aGlzLiNjPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtFcih0aGlzLiNhLGUpO2xldCB0PXRoaXMuI24ucGVuZGluZzt0aGlzLiNvPWdyKCgpPT50KHRoaXMuI2UpKX1lbHNlIHRoaXMuI2Ioail9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I2IoZSl7dGhpcy5pc19wZW5kaW5nPSExLGUudHJhbnNmZXJfZWZmZWN0cyh0aGlzLiNmLHRoaXMuI3ApfWRlZmVyX2VmZmVjdChlKXtDdChlLHRoaXMuI2YsdGhpcy4jcCl9aXNfcmVuZGVyZWQoKXtyZXR1cm4hdGhpcy5pc19wZW5kaW5nJiYoIXRoaXMucGFyZW50fHx0aGlzLnBhcmVudC5pc19yZW5kZXJlZCgpKX1oYXNfcGVuZGluZ19zbmlwcGV0KCl7cmV0dXJuISF0aGlzLiNuLnBlbmRpbmd9I3goZSl7dmFyIHQ9SSxuPUYscj1FO05yKHRoaXMuI2kpLE1yKHRoaXMuI2kpLG90KHRoaXMuI2kuY3R4KTt0cnl7cmV0dXJuIEd0LmVuc3VyZSgpLGUoKX1jYXRjaChlKXtyZXR1cm4gdnQoZSksbnVsbH1maW5hbGx5e05yKHQpLE1yKG4pLG90KHIpfX0jUyhlLHQpe2lmKCF0aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSl7dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiNTKGUsdCk7cmV0dXJufXRoaXMuI3UrPWUsdGhpcy4jdT09PTAmJih0aGlzLiNiKHQpLHRoaXMuI28mJlNyKHRoaXMuI28sKCk9Pnt0aGlzLiNvPW51bGx9KSx0aGlzLiNjJiY9KHRoaXMuI2UuYmVmb3JlKHRoaXMuI2MpLG51bGwpKX11cGRhdGVfcGVuZGluZ19jb3VudChlLHQpe3RoaXMuI1MoZSx0KSx0aGlzLiNsKz1lLCEoIXRoaXMuI218fHRoaXMuI2QpJiYodGhpcy4jZD0hMCxndCgoKT0+e3RoaXMuI2Q9ITEsdGhpcy4jbSYmRW4odGhpcy4jbSx0aGlzLiNsKX0pKX1nZXRfZWZmZWN0X3BlbmRpbmcoKXtyZXR1cm4gdGhpcy4jaCgpLFIodGhpcy4jbSl9ZXJyb3IoZSl7aWYoIXRoaXMuI24ub25lcnJvciYmIXRoaXMuI24uZmFpbGVkKXRocm93IGU7aj8uaXNfZm9yaz8odGhpcy4jYSYmai5za2lwX2VmZmVjdCh0aGlzLiNhKSx0aGlzLiNvJiZqLnNraXBfZWZmZWN0KHRoaXMuI28pLHRoaXMuI3MmJmouc2tpcF9lZmZlY3QodGhpcy4jcyksai5vbl9mb3JrX2NvbW1pdCgoKT0+e3RoaXMuI0MoZSl9KSk6dGhpcy4jQyhlKX0jQyhlKXt0aGlzLiNhJiY9KFAodGhpcy4jYSksbnVsbCksdGhpcy4jbyYmPShQKHRoaXMuI28pLG51bGwpLHRoaXMuI3MmJj0oUCh0aGlzLiNzKSxudWxsKSxDJiYoVCh0aGlzLiN0KSxaZSgpLFQoUWUoKSkpO3ZhciB0PXRoaXMuI24ub25lcnJvcjtsZXQgbj10aGlzLiNuLmZhaWxlZDt2YXIgcj0hMSxpPSExO2xldCBhPSgpPT57aWYocil7cWUoKTtyZXR1cm59cj0hMCxpJiZ6ZSgpLHRoaXMuI3MhPT1udWxsJiZTcih0aGlzLiNzLCgpPT57dGhpcy4jcz1udWxsfSksdGhpcy4jeCgoKT0+e3RoaXMuI3koKX0pfSxvPWU9Pnt0cnl7aT0hMCx0Py4oZSxhKSxpPSExfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpfW4mJih0aGlzLiNzPXRoaXMuI3goKCk9Pnt0cnl7cmV0dXJuIGdyKCgpPT57dmFyIHQ9STt0LmI9dGhpcyx0LmZ8PTEyOCxuKHRoaXMuI2UsKCk9PmUsKCk9PmEpfSl9Y2F0Y2goZSl7cmV0dXJuIHl0KGUsdGhpcy4jaS5wYXJlbnQpLG51bGx9fSkpfTtndCgoKT0+e3ZhciB0O3RyeXt0PXRoaXMudHJhbnNmb3JtX2Vycm9yKGUpfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpO3JldHVybn10eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA/dC50aGVuKG8sZT0+eXQoZSx0aGlzLiNpJiZ0aGlzLiNpLnBhcmVudCkpOm8odCl9KX19O2Z1bmN0aW9uIG9uKGUsdCxuLHIpe2xldCBpPWR0KCk/dW46cG47dmFyIGE9ZS5maWx0ZXIoZT0+IWUuc2V0dGxlZCk7aWYobi5sZW5ndGg9PT0wJiZhLmxlbmd0aD09PTApe3IodC5tYXAoaSkpO3JldHVybn12YXIgbz1JLHM9c24oKSxjPWEubGVuZ3RoPT09MT9hWzBdLnByb21pc2U6YS5sZW5ndGg+MT9Qcm9taXNlLmFsbChhLm1hcChlPT5lLnByb21pc2UpKTpudWxsO2Z1bmN0aW9uIGwoZSl7cygpO3RyeXtyKGUpfWNhdGNoKGUpe28uZiYxNjM4NHx8eXQoZSxvKX1jbigpfWlmKG4ubGVuZ3RoPT09MCl7Yy50aGVuKCgpPT5sKHQubWFwKGkpKSk7cmV0dXJufXZhciB1PWxuKCk7ZnVuY3Rpb24gZCgpe1Byb21pc2UuYWxsKG4ubWFwKGU9PmRuKGUpKSkudGhlbihlPT5sKFsuLi50Lm1hcChpKSwuLi5lXSkpLmNhdGNoKGU9Pnl0KGUsbykpLmZpbmFsbHkoKCk9PnUoKSl9Yz9jLnRoZW4oKCk9PntzKCksZCgpLGNuKCl9KTpkKCl9ZnVuY3Rpb24gc24oKXt2YXIgZT1JLHQ9RixuPUUscj1qO3JldHVybiBmdW5jdGlvbihpPSEwKXtOcihlKSxNcih0KSxvdChuKSxpJiYhKGUuZiYxNjM4NCkmJihyPy5hY3RpdmF0ZSgpLHI/LmFwcGx5KCkpfX1mdW5jdGlvbiBjbihlPSEwKXtOcihudWxsKSxNcihudWxsKSxvdChudWxsKSxlJiZqPy5kZWFjdGl2YXRlKCl9ZnVuY3Rpb24gbG4oKXt2YXIgZT1JLHQ9ZS5iLG49aixyPXQuaXNfcmVuZGVyZWQoKTtyZXR1cm4gdC51cGRhdGVfcGVuZGluZ19jb3VudCgxLG4pLG4uaW5jcmVtZW50KHIsZSksKGk9ITEpPT57dC51cGRhdGVfcGVuZGluZ19jb3VudCgtMSxuKSxuLmRlY3JlbWVudChyLGUsaSl9fWZ1bmN0aW9uIHVuKGUpe3ZhciB0PTJ8Y2U7cmV0dXJuIEkhPT1udWxsJiYoSS5mfD1oZSkse2N0eDpFLGRlcHM6bnVsbCxlZmZlY3RzOm51bGwsZXF1YWxzOmV0LGY6dCxmbjplLHJlYWN0aW9uczpudWxsLHJ2OjAsdjpTLHd2OjAscGFyZW50OkksYWM6bnVsbH19ZnVuY3Rpb24gZG4oZSx0LG4pe2xldCByPUk7cj09PW51bGwmJk9lKCk7dmFyIGk9dm9pZCAwLGE9U24oUyksbz0hRixzPW5ldyBNYXA7cmV0dXJuIGRyKCgpPT57dmFyIHQ9SSxuPWFlKCk7aT1uLnByb21pc2U7dHJ5e1Byb21pc2UucmVzb2x2ZShlKCkpLnRoZW4obi5yZXNvbHZlLG4ucmVqZWN0KS5maW5hbGx5KGNuKX1jYXRjaChlKXtuLnJlamVjdChlKSxjbigpfXZhciBjPWo7aWYobyl7aWYodC5mJjMyNzY4KXZhciBsPWxuKCk7aWYoci5iLmlzX3JlbmRlcmVkKCkpcy5nZXQoYyk/LnJlamVjdChUZSkscy5kZWxldGUoYyk7ZWxzZXtmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSk7cy5jbGVhcigpfXMuc2V0KGMsbil9bGV0IHU9KGUsbj12b2lkIDApPT57aWYobCYmbChuPT09VGUpLCEobj09PVRlfHx0LmYmMTYzODQpKXtpZihjLmFjdGl2YXRlKCksbilhLmZ8PXhlLEVuKGEsbik7ZWxzZXthLmYmODM4ODYwOCYmKGEuZl49eGUpLEVuKGEsZSk7Zm9yKGxldFtlLHRdb2Ygcyl7aWYocy5kZWxldGUoZSksZT09PWMpYnJlYWs7dC5yZWplY3QoVGUpfX1jLmRlYWN0aXZhdGUoKX19O24ucHJvbWlzZS50aGVuKHUsZT0+dShudWxsLGV8fGB1bmtub3duYCkpfSksYXIoKCk9Pntmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSl9KSxuZXcgUHJvbWlzZShlPT57ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiByKCl7bj09PWk/ZShhKTp0KGkpfW4udGhlbihyLHIpfXQoaSl9KX1mdW5jdGlvbiBmbihlKXtsZXQgdD11bihlKTtyZXR1cm4gcnR8fEZyKHQpLHR9ZnVuY3Rpb24gcG4oZSl7bGV0IHQ9dW4oZSk7cmV0dXJuIHQuZXF1YWxzPW50LHR9ZnVuY3Rpb24gbW4oZSl7dmFyIHQ9ZS5lZmZlY3RzO2lmKHQhPT1udWxsKXtlLmVmZmVjdHM9bnVsbDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rPTEpUCh0W25dKX19ZnVuY3Rpb24gaG4oZSl7dmFyIHQsbj1JLHI9ZS5wYXJlbnQ7aWYoIWtyJiZyIT09bnVsbCYmci5mJjI0NTc2KXJldHVybiBXZSgpLGUudjtOcihyKTt0cnl7ZS5mJj1+dmUsbW4oZSksdD1LcihlKX1maW5hbGx5e05yKG4pfXJldHVybiB0fWZ1bmN0aW9uIGduKGUpe3ZhciB0PWhuKGUpO2lmKCFlLmVxdWFscyh0KSYmKGUud3Y9VXIoKSwoIWo/LmlzX2Zvcmt8fGUuZGVwcz09PW51bGwpJiYoaj09PW51bGw/ZS52PXQ6ai5jYXB0dXJlKGUsdCwhMCksZS5kZXBzPT09bnVsbCkpKXtEKGUsc2UpO3JldHVybn1rcnx8KE09PT1udWxsP3h0KGUpOihpcigpfHxqPy5pc19mb3JrKSYmTS5zZXQoZSx0KSl9ZnVuY3Rpb24gX24oZSl7aWYoZS5lZmZlY3RzIT09bnVsbClmb3IobGV0IHQgb2YgZS5lZmZlY3RzKSh0LnRlYXJkb3dufHx0LmFjKSYmKHQudGVhcmRvd24/LigpLHQuYWM/LmFib3J0KFRlKSx0LnRlYXJkb3duPXgsdC5hYz1udWxsLEpyKHQsMCksdnIodCkpfWZ1bmN0aW9uIHZuKGUpe2lmKGUuZWZmZWN0cyE9PW51bGwpZm9yKGxldCB0IG9mIGUuZWZmZWN0cyl0LnRlYXJkb3duJiZZcih0KX12YXIgeW49bmV3IFNldCxibj1uZXcgTWFwLHhuPSExO2Z1bmN0aW9uIFNuKGUsdCl7cmV0dXJue2Y6MCx2OmUscmVhY3Rpb25zOm51bGwsZXF1YWxzOmV0LHJ2OjAsd3Y6MH19ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj1TbihlLHQpO3JldHVybiBGcihuKSxufWZ1bmN0aW9uIHduKGUsdD0hMSxuPSEwKXtsZXQgcj1TbihlKTtyZXR1cm4gdHx8KHIuZXF1YWxzPW50KSxpdCYmbiYmRSE9PW51bGwmJkUubCE9PW51bGwmJihFLmwucz8/PVtdKS5wdXNoKHIpLHJ9ZnVuY3Rpb24gVG4oZSx0LG49ITEpe3JldHVybiBGIT09bnVsbCYmKCFqcnx8Ri5mJjEzMTA3MikmJmR0KCkmJkYuZiY0MzI1Mzk0JiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSYmUmUoKSxFbihlLG4/am4odCk6dCxIdCl9ZnVuY3Rpb24gRW4oZSx0LG49bnVsbCl7aWYoIWUuZXF1YWxzKHQpKXtibi5zZXQoZSxrcj90OmUudik7dmFyIHI9R3QuZW5zdXJlKCk7aWYoci5jYXB0dXJlKGUsdCksZS5mJjIpe2xldCB0PWU7ZS5mJjIwNDgmJmhuKHQpLE09PT1udWxsJiZ4dCh0KX1lLnd2PVVyKCksQW4oZSxjZSxuKSxkdCgpJiZJIT09bnVsbCYmSS5mJjEwMjQmJiEoSS5mJjk2KSYmKExyPT09bnVsbD9ScihbZV0pOkxyLnB1c2goZSkpLCFyLmlzX2ZvcmsmJnluLnNpemU+MCYmIXhuJiZEbigpfXJldHVybiB0fWZ1bmN0aW9uIERuKCl7eG49ITE7Zm9yKGxldCBlIG9mIHluKWUuZiYxMDI0JiZEKGUsbGUpLFdyKGUpJiZZcihlKTt5bi5jbGVhcigpfWZ1bmN0aW9uIE9uKGUsdD0xKXt2YXIgbj1SKGUpLHI9dD09PTE/bisrOm4tLTtyZXR1cm4gVG4oZSxuKSxyfWZ1bmN0aW9uIGtuKGUpe1RuKGUsZS52KzEpfWZ1bmN0aW9uIEFuKGUsdCxuKXt2YXIgcj1lLnJlYWN0aW9ucztpZihyIT09bnVsbClmb3IodmFyIGk9ZHQoKSxhPXIubGVuZ3RoLG89MDtvPGE7bysrKXt2YXIgcz1yW29dLGM9cy5mO2lmKCEoIWkmJnM9PT1JKSl7dmFyIGw9KGMmY2UpPT09MDtpZihsJiZEKHMsdCksYyYyKXt2YXIgdT1zO00/LmRlbGV0ZSh1KSxjJjY1NTM2fHwoYyY1MTImJihJPT09bnVsbHx8IShJLmYmMjA5NzE1MikpJiYocy5mfD12ZSksQW4odSxsZSxuKSl9ZWxzZSBpZihsKXt2YXIgZD1zO2MmMTYmJkp0IT09bnVsbCYmSnQuYWRkKGQpLG49PT1udWxsP1F0KGQpOm4ucHVzaChkKX19fX1mdW5jdGlvbiBqbihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxTZSBpbiBlKXJldHVybiBlO2xldCB0PWIoZSk7aWYodCE9PXkmJnQhPT1lZSlyZXR1cm4gZTt2YXIgbj1uZXcgTWFwLHI9ZihlKSxpPUNuKDApLGE9bnVsbCxvPVZyLHM9ZT0+e2lmKFZyPT09bylyZXR1cm4gZSgpO3ZhciB0PUYsbj1WcjtNcihudWxsKSxIcihvKTt2YXIgcj1lKCk7cmV0dXJuIE1yKHQpLEhyKG4pLHJ9O3JldHVybiByJiZuLnNldChgbGVuZ3RoYCxDbihlLmxlbmd0aCxhKSksbmV3IFByb3h5KGUse2RlZmluZVByb3BlcnR5KGUsdCxyKXsoIShgdmFsdWVgaW4gcil8fHIuY29uZmlndXJhYmxlPT09ITF8fHIuZW51bWVyYWJsZT09PSExfHxyLndyaXRhYmxlPT09ITEpJiZJZSgpO3ZhciBpPW4uZ2V0KHQpO3JldHVybiBpPT09dm9pZCAwP3MoKCk9Pnt2YXIgZT1DbihyLnZhbHVlLGEpO3JldHVybiBuLnNldCh0LGUpLGV9KTpUbihpLHIudmFsdWUsITApLCEwfSxkZWxldGVQcm9wZXJ0eShlLHQpe3ZhciByPW4uZ2V0KHQpO2lmKHI9PT12b2lkIDApe2lmKHQgaW4gZSl7bGV0IGU9cygoKT0+Q24oUyxhKSk7bi5zZXQodCxlKSxrbihpKX19ZWxzZSBUbihyLFMpLGtuKGkpO3JldHVybiEwfSxnZXQodCxyLGkpe2lmKHI9PT1TZSlyZXR1cm4gZTt2YXIgbz1uLmdldChyKSxjPXIgaW4gdDtpZihvPT09dm9pZCAwJiYoIWN8fF8odCxyKT8ud3JpdGFibGUpJiYobz1zKCgpPT5DbihqbihjP3Rbcl06UyksYSkpLG4uc2V0KHIsbykpLG8hPT12b2lkIDApe3ZhciBsPVIobyk7cmV0dXJuIGw9PT1TP3ZvaWQgMDpsfXJldHVybiBSZWZsZWN0LmdldCh0LHIsaSl9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe3ZhciByPVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYociYmYHZhbHVlYGluIHIpe3ZhciBpPW4uZ2V0KHQpO2kmJihyLnZhbHVlPVIoaSkpfWVsc2UgaWYocj09PXZvaWQgMCl7dmFyIGE9bi5nZXQodCksbz1hPy52O2lmKGEhPT12b2lkIDAmJm8hPT1TKXJldHVybntlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvLHdyaXRhYmxlOiEwfX1yZXR1cm4gcn0saGFzKGUsdCl7aWYodD09PVNlKXJldHVybiEwO3ZhciByPW4uZ2V0KHQpLGk9ciE9PXZvaWQgMCYmci52IT09U3x8UmVmbGVjdC5oYXMoZSx0KTtyZXR1cm4ociE9PXZvaWQgMHx8SSE9PW51bGwmJighaXx8XyhlLHQpPy53cml0YWJsZSkpJiYocj09PXZvaWQgMCYmKHI9cygoKT0+Q24oaT9qbihlW3RdKTpTLGEpKSxuLnNldCh0LHIpKSxSKHIpPT09Uyk/ITE6aX0sc2V0KGUsdCxvLGMpe3ZhciBsPW4uZ2V0KHQpLHU9dCBpbiBlO2lmKHImJnQ9PT1gbGVuZ3RoYClmb3IodmFyIGQ9bztkPGwudjtkKz0xKXt2YXIgZj1uLmdldChkK2BgKTtmPT09dm9pZCAwP2QgaW4gZSYmKGY9cygoKT0+Q24oUyxhKSksbi5zZXQoZCtgYCxmKSk6VG4oZixTKX1pZihsPT09dm9pZCAwKSghdXx8XyhlLHQpPy53cml0YWJsZSkmJihsPXMoKCk9PkNuKHZvaWQgMCxhKSksVG4obCxqbihvKSksbi5zZXQodCxsKSk7ZWxzZXt1PWwudiE9PVM7dmFyIHA9cygoKT0+am4obykpO1RuKGwscCl9dmFyIG09UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZihtPy5zZXQmJm0uc2V0LmNhbGwoYyxvKSwhdSl7aWYociYmdHlwZW9mIHQ9PWBzdHJpbmdgKXt2YXIgaD1uLmdldChgbGVuZ3RoYCksZz1OdW1iZXIodCk7TnVtYmVyLmlzSW50ZWdlcihnKSYmZz49aC52JiZUbihoLGcrMSl9a24oaSl9cmV0dXJuITB9LG93bktleXMoZSl7UihpKTt2YXIgdD1SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGU9Pnt2YXIgdD1uLmdldChlKTtyZXR1cm4gdD09PXZvaWQgMHx8dC52IT09U30pO2Zvcih2YXJbcixhXW9mIG4pYS52IT09UyYmIShyIGluIGUpJiZ0LnB1c2gocik7cmV0dXJuIHR9LHNldFByb3RvdHlwZU9mKCl7TGUoKX19KX1mdW5jdGlvbiBNbihlKXt0cnl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlJiZTZSBpbiBlKXJldHVybiBlW1NlXX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gTm4oZSx0KXtyZXR1cm4gT2JqZWN0LmlzKE1uKGUpLE1uKHQpKX12YXIgUG4sRm4sSW4sTG47ZnVuY3Rpb24gUm4oKXtpZihQbj09PXZvaWQgMCl7UG49d2luZG93LEZuPS9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO3ZhciBlPUVsZW1lbnQucHJvdG90eXBlLHQ9Tm9kZS5wcm90b3R5cGUsbj1UZXh0LnByb3RvdHlwZTtJbj1fKHQsYGZpcnN0Q2hpbGRgKS5nZXQsTG49Xyh0LGBuZXh0U2libGluZ2ApLmdldCx0ZShlKSYmKGUuX19jbGljaz12b2lkIDAsZS5fX2NsYXNzTmFtZT12b2lkIDAsZS5fX2F0dHJpYnV0ZXM9bnVsbCxlLl9fc3R5bGU9dm9pZCAwLGUuX19lPXZvaWQgMCksdGUobikmJihuLl9fdD12b2lkIDApfX1mdW5jdGlvbiB6bihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gSW4uY2FsbChlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gTG4uY2FsbChlKX1mdW5jdGlvbiBWbihlLHQpe2lmKCFDKXJldHVybiBOKGUpO3ZhciBuPU4odyk7aWYobj09PW51bGwpbj13LmFwcGVuZENoaWxkKHpuKCkpO2Vsc2UgaWYodCYmbi5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIG4/LmJlZm9yZShyKSxUKHIpLHJ9cmV0dXJuIHQmJkpuKG4pLFQobiksbn1mdW5jdGlvbiBIbihlLHQ9ITEpe2lmKCFDKXt2YXIgbj1OKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQ29tbWVudCYmbi5kYXRhPT09YGA/Qm4obik6bn1pZih0KXtpZih3Py5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIHc/LmJlZm9yZShyKSxUKHIpLHJ9Sm4odyl9cmV0dXJuIHd9ZnVuY3Rpb24gVW4oZSx0PTEsbj0hMSl7bGV0IHI9Qz93OmU7Zm9yKHZhciBpO3QtLTspaT1yLHI9Qm4ocik7aWYoIUMpcmV0dXJuIHI7aWYobil7aWYocj8ubm9kZVR5cGUhPT0zKXt2YXIgYT16bigpO3JldHVybiByPT09bnVsbD9pPy5hZnRlcihhKTpyLmJlZm9yZShhKSxUKGEpLGF9Sm4ocil9cmV0dXJuIFQocikscn1mdW5jdGlvbiBXbihlKXtlLnRleHRDb250ZW50PWBgfWZ1bmN0aW9uIEduKCl7cmV0dXJuIXJ0fHxKdCE9PW51bGw/ITE6KEkuZiZmZSkhPT0wfWZ1bmN0aW9uIEtuKGUsdCxuKXtsZXQgcj1uP3tpczpufTp2b2lkIDA7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0Pz9gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbGAsZSxyKX1mdW5jdGlvbiBxbihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBKbihlKXtpZihlLm5vZGVWYWx1ZS5sZW5ndGg8NjU1MzYpcmV0dXJuO2xldCB0PWUubmV4dFNpYmxpbmc7Zm9yKDt0IT09bnVsbCYmdC5ub2RlVHlwZT09PTM7KXQucmVtb3ZlKCksZS5ub2RlVmFsdWUrPXQubm9kZVZhbHVlLHQ9ZS5uZXh0U2libGluZ31mdW5jdGlvbiBZbihlLHQpe2lmKHQpe2xldCB0PWRvY3VtZW50LmJvZHk7ZS5hdXRvZm9jdXM9ITAsZ3QoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmZS5mb2N1cygpfSl9fWZ1bmN0aW9uIFhuKGUpe0MmJk4oZSkhPT1udWxsJiZXbihlKX12YXIgWm49ITE7ZnVuY3Rpb24gUW4oKXtabnx8KFpuPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHJlc2V0YCxlPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2lmKCFlLmRlZmF1bHRQcmV2ZW50ZWQpZm9yKGxldCB0IG9mIGUudGFyZ2V0LmVsZW1lbnRzKXQuX19vbl9yPy4oKX0pfSx7Y2FwdHVyZTohMH0pKX1mdW5jdGlvbiAkbihlKXt2YXIgdD1GLG49STtNcihudWxsKSxOcihudWxsKTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e01yKHQpLE5yKG4pfX1mdW5jdGlvbiBlcihlLHQsbixyPW4pe2UuYWRkRXZlbnRMaXN0ZW5lcih0LCgpPT4kbihuKSk7bGV0IGk9ZS5fX29uX3I7aT9lLl9fb25fcj0oKT0+e2koKSxyKCEwKX06ZS5fX29uX3I9KCk9PnIoITApLFFuKCl9ZnVuY3Rpb24gdHIoZSl7ST09PW51bGwmJihGPT09bnVsbCYmTWUoZSksamUoKSksa3ImJkFlKGUpfWZ1bmN0aW9uIG5yKGUsdCl7dmFyIG49dC5sYXN0O249PT1udWxsP3QubGFzdD10LmZpcnN0PWU6KG4ubmV4dD1lLGUucHJldj1uLHQubGFzdD1lKX1mdW5jdGlvbiBycihlLHQpe3ZhciBuPUk7biE9PW51bGwmJm4uZiY4MTkyJiYoZXw9dWUpO3ZhciByPXtjdHg6RSxkZXBzOm51bGwsbm9kZXM6bnVsbCxmOmV8Y2V8NTEyLGZpcnN0Om51bGwsZm46dCxsYXN0Om51bGwsbmV4dDpudWxsLHBhcmVudDpuLGI6biYmbi5iLHByZXY6bnVsbCx0ZWFyZG93bjpudWxsLHd2OjAsYWM6bnVsbH07aj8ucmVnaXN0ZXJfY3JlYXRlZF9lZmZlY3Qocik7dmFyIGk9cjtpZihlJjQpVnQ9PT1udWxsP0d0LmVuc3VyZSgpLnNjaGVkdWxlKHIpOlZ0LnB1c2gocik7ZWxzZSBpZih0IT09bnVsbCl7dHJ5e1lyKHIpfWNhdGNoKGUpe3Rocm93IFAociksZX1pLmRlcHM9PT1udWxsJiZpLnRlYXJkb3duPT09bnVsbCYmaS5ub2Rlcz09PW51bGwmJmkuZmlyc3Q9PT1pLmxhc3QmJiEoaS5mJjUyNDI4OCkmJihpPWkuZmlyc3QsZSYxNiYmZSY2NTUzNiYmaSE9PW51bGwmJihpLmZ8PW1lKSl9aWYoaSE9PW51bGwmJihpLnBhcmVudD1uLG4hPT1udWxsJiZucihpLG4pLEYhPT1udWxsJiZGLmYmMiYmIShlJjY0KSkpe3ZhciBhPUY7KGEuZWZmZWN0cz8/PVtdKS5wdXNoKGkpfXJldHVybiByfWZ1bmN0aW9uIGlyKCl7cmV0dXJuIEYhPT1udWxsJiYhanJ9ZnVuY3Rpb24gYXIoZSl7bGV0IHQ9cnIoOCxudWxsKTtyZXR1cm4gRCh0LHNlKSx0LnRlYXJkb3duPWUsdH1mdW5jdGlvbiBvcihlKXt0cihgJGVmZmVjdGApO3ZhciB0PUkuZjtpZighRiYmdCYzMiYmISh0JjMyNzY4KSl7dmFyIG49RTsobi5lPz89W10pLnB1c2goZSl9ZWxzZSByZXR1cm4gc3IoZSl9ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIHJyKDR8Z2UsZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHRyKGAkZWZmZWN0LnByZWApLHJyKDh8Z2UsZSl9ZnVuY3Rpb24gbHIoZSl7R3QuZW5zdXJlKCk7bGV0IHQ9cnIoNjR8aGUsZSk7cmV0dXJuKGU9e30pPT5uZXcgUHJvbWlzZShuPT57ZS5vdXRybz9Tcih0LCgpPT57UCh0KSxuKHZvaWQgMCl9KTooUCh0KSxuKHZvaWQgMCkpfSl9ZnVuY3Rpb24gdXIoZSl7cmV0dXJuIHJyKDQsZSl9ZnVuY3Rpb24gZHIoZSl7cmV0dXJuIHJyKGJlfGhlLGUpfWZ1bmN0aW9uIGZyKGUsdD0wKXtyZXR1cm4gcnIoOHx0LGUpfWZ1bmN0aW9uIHByKGUsdD1bXSxuPVtdLHI9W10pe29uKHIsdCxuLHQ9Pntycig4LCgpPT5lKC4uLnQubWFwKFIpKSl9KX1mdW5jdGlvbiBtcihlLHQ9MCl7cmV0dXJuIHJyKDE2fHQsZSl9ZnVuY3Rpb24gaHIoZSx0PTApe3JldHVybiBycihvZXx0LGUpfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBycigzMnxoZSxlKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnRlYXJkb3duO2lmKHQhPT1udWxsKXtsZXQgZT1rcixuPUY7QXIoITApLE1yKG51bGwpO3RyeXt0LmNhbGwobnVsbCl9ZmluYWxseXtBcihlKSxNcihuKX19fWZ1bmN0aW9uIHZyKGUsdD0hMSl7dmFyIG49ZS5maXJzdDtmb3IoZS5maXJzdD1lLmxhc3Q9bnVsbDtuIT09bnVsbDspe2xldCBlPW4uYWM7ZSE9PW51bGwmJiRuKCgpPT57ZS5hYm9ydChUZSl9KTt2YXIgcj1uLm5leHQ7bi5mJjY0P24ucGFyZW50PW51bGw6UChuLHQpLG49cn19ZnVuY3Rpb24geXIoZSl7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KXt2YXIgbj10Lm5leHQ7dC5mJjMyfHxQKHQpLHQ9bn19ZnVuY3Rpb24gUChlLHQ9ITApe3ZhciBuPSExOyh0fHxlLmYmMjYyMTQ0KSYmZS5ub2RlcyE9PW51bGwmJmUubm9kZXMuZW5kIT09bnVsbCYmKGJyKGUubm9kZXMuc3RhcnQsZS5ub2Rlcy5lbmQpLG49ITApLEQoZSxwZSksdnIoZSx0JiYhbiksSnIoZSwwKTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpZS5zdG9wKCk7X3IoZSksZS5mXj1wZSxlLmZ8PWRlO3ZhciBpPWUucGFyZW50O2khPT1udWxsJiZpLmZpcnN0IT09bnVsbCYmeHIoZSksZS5uZXh0PWUucHJldj1lLnRlYXJkb3duPWUuY3R4PWUuZGVwcz1lLmZuPWUubm9kZXM9ZS5hYz1lLmI9bnVsbH1mdW5jdGlvbiBicihlLHQpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lPT09dD9udWxsOkJuKGUpO2UucmVtb3ZlKCksZT1ufX1mdW5jdGlvbiB4cihlKXt2YXIgdD1lLnBhcmVudCxuPWUucHJldixyPWUubmV4dDtuIT09bnVsbCYmKG4ubmV4dD1yKSxyIT09bnVsbCYmKHIucHJldj1uKSx0IT09bnVsbCYmKHQuZmlyc3Q9PT1lJiYodC5maXJzdD1yKSx0Lmxhc3Q9PT1lJiYodC5sYXN0PW4pKX1mdW5jdGlvbiBTcihlLHQsbj0hMCl7dmFyIHI9W107Q3IoZSxyLCEwKTt2YXIgaT0oKT0+e24mJlAoZSksdCYmdCgpfSxhPXIubGVuZ3RoO2lmKGE+MCl7dmFyIG89KCk9Pi0tYXx8aSgpO2Zvcih2YXIgcyBvZiByKXMub3V0KG8pfWVsc2UgaSgpfWZ1bmN0aW9uIENyKGUsdCxuKXtpZighKGUuZiY4MTkyKSl7ZS5mXj11ZTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpKGUuaXNfZ2xvYmFsfHxuKSYmdC5wdXNoKGUpO2Zvcih2YXIgaT1lLmZpcnN0O2khPT1udWxsOyl7dmFyIGE9aS5uZXh0O2lmKCEoaS5mJjY0KSl7dmFyIG89KGkuZiY2NTUzNikhPTB8fChpLmYmMzIpIT0wJiYoZS5mJjE2KSE9MDtDcihpLHQsbz9uOiExKX1pPWF9fX1mdW5jdGlvbiB3cihlKXtUcihlLCEwKX1mdW5jdGlvbiBUcihlLHQpe2lmKGUuZiY4MTkyKXtlLmZePXVlLGUuZiYxMDI0fHwoRChlLGNlKSxHdC5lbnN1cmUoKS5zY2hlZHVsZShlKSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KXt2YXIgcj1uLm5leHQsaT0obi5mJjY1NTM2KSE9MHx8KG4uZiYzMikhPTA7VHIobixpP3Q6ITEpLG49cn12YXIgYT1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYoYSE9PW51bGwpZm9yKGxldCBlIG9mIGEpKGUuaXNfZ2xvYmFsfHx0KSYmZS5pbigpfX1mdW5jdGlvbiBFcihlLHQpe2lmKGUubm9kZXMpZm9yKHZhciBuPWUubm9kZXMuc3RhcnQscj1lLm5vZGVzLmVuZDtuIT09bnVsbDspe3ZhciBpPW49PT1yP251bGw6Qm4obik7dC5hcHBlbmQobiksbj1pfX12YXIgRHI9bnVsbCxPcj0hMSxrcj0hMTtmdW5jdGlvbiBBcihlKXtrcj1lfXZhciBGPW51bGwsanI9ITE7ZnVuY3Rpb24gTXIoZSl7Rj1lfXZhciBJPW51bGw7ZnVuY3Rpb24gTnIoZSl7ST1lfXZhciBQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe0YhPT1udWxsJiYoIXJ0fHxGLmYmMikmJihQcj09PW51bGw/UHI9W2VdOlByLnB1c2goZSkpfXZhciBMPW51bGwsSXI9MCxMcj1udWxsO2Z1bmN0aW9uIFJyKGUpe0xyPWV9dmFyIHpyPTEsQnI9MCxWcj1CcjtmdW5jdGlvbiBIcihlKXtWcj1lfWZ1bmN0aW9uIFVyKCl7cmV0dXJuKyt6cn1mdW5jdGlvbiBXcihlKXt2YXIgdD1lLmY7aWYodCYyMDQ4KXJldHVybiEwO2lmKHQmMiYmKGUuZiY9fnZlKSx0JjQwOTYpe2Zvcih2YXIgbj1lLmRlcHMscj1uLmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIGE9bltpXTtpZihXcihhKSYmZ24oYSksYS53dj5lLnd2KXJldHVybiEwfXQmNTEyJiZNPT09bnVsbCYmRChlLHNlKX1yZXR1cm4hMX1mdW5jdGlvbiBHcihlLHQsbj0hMCl7dmFyIHI9ZS5yZWFjdGlvbnM7aWYociE9PW51bGwmJiEoIXJ0JiZQciE9PW51bGwmJm0uY2FsbChQcixlKSkpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07YS5mJjI/R3IoYSx0LCExKTp0PT09YSYmKG4/RChhLGNlKTphLmYmMTAyNCYmRChhLGxlKSxRdChhKSl9fWZ1bmN0aW9uIEtyKGUpe3ZhciB0PUwsbj1JcixyPUxyLGk9RixhPVByLG89RSxzPWpyLGM9VnIsbD1lLmY7TD1udWxsLElyPTAsTHI9bnVsbCxGPWwmOTY/bnVsbDplLFByPW51bGwsb3QoZS5jdHgpLGpyPSExLFZyPSsrQnIsZS5hYyE9PW51bGwmJigkbigoKT0+e2UuYWMuYWJvcnQoVGUpfSksZS5hYz1udWxsKTt0cnl7ZS5mfD15ZTt2YXIgdT1lLmZuLGQ9dSgpO2UuZnw9ZmU7dmFyIGY9ZS5kZXBzLHA9aj8uaXNfZm9yaztpZihMIT09bnVsbCl7dmFyIG07aWYocHx8SnIoZSxJciksZiE9PW51bGwmJklyPjApZm9yKGYubGVuZ3RoPUlyK0wubGVuZ3RoLG09MDttPEwubGVuZ3RoO20rKylmW0lyK21dPUxbbV07ZWxzZSBlLmRlcHM9Zj1MO2lmKGlyKCkmJmUuZiY1MTIpZm9yKG09SXI7bTxmLmxlbmd0aDttKyspKGZbbV0ucmVhY3Rpb25zPz89W10pLnB1c2goZSl9ZWxzZSAhcCYmZiE9PW51bGwmJklyPGYubGVuZ3RoJiYoSnIoZSxJciksZi5sZW5ndGg9SXIpO2lmKGR0KCkmJkxyIT09bnVsbCYmIWpyJiZmIT09bnVsbCYmIShlLmYmNjE0NikpZm9yKG09MDttPExyLmxlbmd0aDttKyspR3IoTHJbbV0sZSk7aWYoaSE9PW51bGwmJmkhPT1lKXtpZihCcisrLGkuZGVwcyE9PW51bGwpZm9yKGxldCBlPTA7ZTxuO2UrPTEpaS5kZXBzW2VdLnJ2PUJyO2lmKHQhPT1udWxsKWZvcihsZXQgZSBvZiB0KWUucnY9QnI7THIhPT1udWxsJiYocj09PW51bGw/cj1McjpyLnB1c2goLi4uTHIpKX1yZXR1cm4gZS5mJjgzODg2MDgmJihlLmZePXhlKSxkfWNhdGNoKGUpe3JldHVybiB2dChlKX1maW5hbGx5e2UuZl49eWUsTD10LElyPW4sTHI9cixGPWksUHI9YSxvdChvKSxqcj1zLFZyPWN9fWZ1bmN0aW9uIHFyKGUsdCl7bGV0IG49dC5yZWFjdGlvbnM7aWYobiE9PW51bGwpe3ZhciByPXAuY2FsbChuLGUpO2lmKHIhPT0tMSl7dmFyIGk9bi5sZW5ndGgtMTtpPT09MD9uPXQucmVhY3Rpb25zPW51bGw6KG5bcl09bltpXSxuLnBvcCgpKX19aWYobj09PW51bGwmJnQuZiYyJiYoTD09PW51bGx8fCFtLmNhbGwoTCx0KSkpe3ZhciBhPXQ7YS5mJjUxMiYmKGEuZl49NTEyLGEuZiY9fnZlKSxhLnYhPT1TJiZ4dChhKSxfbihhKSxKcihhLDApfX1mdW5jdGlvbiBKcihlLHQpe3ZhciBuPWUuZGVwcztpZihuIT09bnVsbClmb3IodmFyIHI9dDtyPG4ubGVuZ3RoO3IrKylxcihlLG5bcl0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0PWUuZjtpZighKHQmMTYzODQpKXtEKGUsc2UpO3ZhciBuPUkscj1PcjtJPWUsT3I9ITA7dHJ5e3QmMTY3NzcyMzI/eXIoZSk6dnIoZSksX3IoZSk7dmFyIGk9S3IoZSk7ZS50ZWFyZG93bj10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOm51bGwsZS53dj16cn1maW5hbGx5e09yPXIsST1ufX19YXN5bmMgZnVuY3Rpb24gWHIoKXtpZihydClyZXR1cm4gbmV3IFByb21pc2UoZT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZSgpKSxzZXRUaW1lb3V0KCgpPT5lKCkpfSk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksS3QoKX1mdW5jdGlvbiBSKGUpe3ZhciB0PShlLmYmMikhPTA7aWYoRHI/LmFkZChlKSxGIT09bnVsbCYmIWpyJiYhKEkhPT1udWxsJiZJLmYmMTYzODQpJiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSl7dmFyIG49Ri5kZXBzO2lmKEYuZiYyMDk3MTUyKWUucnY8QnImJihlLnJ2PUJyLEw9PT1udWxsJiZuIT09bnVsbCYmbltJcl09PT1lP0lyKys6TD09PW51bGw/TD1bZV06TC5wdXNoKGUpKTtlbHNleyhGLmRlcHM/Pz1bXSkucHVzaChlKTt2YXIgcj1lLnJlYWN0aW9ucztyPT09bnVsbD9lLnJlYWN0aW9ucz1bRl06bS5jYWxsKHIsRil8fHIucHVzaChGKX19aWYoa3ImJmJuLmhhcyhlKSlyZXR1cm4gYm4uZ2V0KGUpO2lmKHQpe3ZhciBpPWU7aWYoa3Ipe3ZhciBhPWkudjtyZXR1cm4oIShpLmYmMTAyNCkmJmkucmVhY3Rpb25zIT09bnVsbHx8UXIoaSkpJiYoYT1obihpKSksYm4uc2V0KGksYSksYX12YXIgbz0oaS5mJjUxMik9PTAmJiFqciYmRiE9PW51bGwmJihPcnx8KEYuZiY1MTIpIT0wKSxzPShpLmYmZmUpPT09MDtXcihpKSYmKG8mJihpLmZ8PTUxMiksZ24oaSkpLG8mJiFzJiYodm4oaSksWnIoaSkpfWlmKE0/LmhhcyhlKSlyZXR1cm4gTS5nZXQoZSk7aWYoZS5mJjgzODg2MDgpdGhyb3cgZS52O3JldHVybiBlLnZ9ZnVuY3Rpb24gWnIoZSl7aWYoZS5mfD01MTIsZS5kZXBzIT09bnVsbClmb3IobGV0IHQgb2YgZS5kZXBzKSh0LnJlYWN0aW9ucz8/PVtdKS5wdXNoKGUpLHQuZiYyJiYhKHQuZiY1MTIpJiYodm4odCksWnIodCkpfWZ1bmN0aW9uIFFyKGUpe2lmKGUudj09PVMpcmV0dXJuITA7aWYoZS5kZXBzPT09bnVsbClyZXR1cm4hMTtmb3IobGV0IHQgb2YgZS5kZXBzKWlmKGJuLmhhcyh0KXx8dC5mJjImJlFyKHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uICRyKGUpe3ZhciB0PWpyO3RyeXtyZXR1cm4ganI9ITAsZSgpfWZpbmFsbHl7anI9dH19ZnVuY3Rpb24gZWkoZSl7aWYoISh0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpKXtpZihTZSBpbiBlKXRpKGUpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0IGluIGUpe2xldCBuPWVbdF07dHlwZW9mIG49PWBvYmplY3RgJiZuJiZTZSBpbiBuJiZ0aShuKX19fWZ1bmN0aW9uIHRpKGUsdD1uZXcgU2V0KXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUmJiEoZSBpbnN0YW5jZW9mIEV2ZW50VGFyZ2V0KSYmIXQuaGFzKGUpKXt0LmFkZChlKSxlIGluc3RhbmNlb2YgRGF0ZSYmZS5nZXRUaW1lKCk7Zm9yKGxldCBuIGluIGUpdHJ5e3RpKGVbbl0sdCl9Y2F0Y2h7fWxldCBuPWIoZSk7aWYobiE9PU9iamVjdC5wcm90b3R5cGUmJm4hPT1BcnJheS5wcm90b3R5cGUmJm4hPT1NYXAucHJvdG90eXBlJiZuIT09U2V0LnByb3RvdHlwZSYmbiE9PURhdGUucHJvdG90eXBlKXtsZXQgdD12KG4pO2ZvcihsZXQgbiBpbiB0KXtsZXQgcj10W25dLmdldDtpZihyKXRyeXtyLmNhbGwoZSl9Y2F0Y2h7fX19fX1mdW5jdGlvbiBuaShlKXtyZXR1cm4gZS5lbmRzV2l0aChgY2FwdHVyZWApJiZlIT09YGdvdHBvaW50ZXJjYXB0dXJlYCYmZSE9PWBsb3N0cG9pbnRlcmNhcHR1cmVgfXZhciByaT1bYGJlZm9yZWlucHV0YCxgY2xpY2tgLGBjaGFuZ2VgLGBkYmxjbGlja2AsYGNvbnRleHRtZW51YCxgZm9jdXNpbmAsYGZvY3Vzb3V0YCxgaW5wdXRgLGBrZXlkb3duYCxga2V5dXBgLGBtb3VzZWRvd25gLGBtb3VzZW1vdmVgLGBtb3VzZW91dGAsYG1vdXNlb3ZlcmAsYG1vdXNldXBgLGBwb2ludGVyZG93bmAsYHBvaW50ZXJtb3ZlYCxgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYCxgcG9pbnRlcnVwYCxgdG91Y2hlbmRgLGB0b3VjaG1vdmVgLGB0b3VjaHN0YXJ0YF07ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIHJpLmluY2x1ZGVzKGUpfXZhciBhaT1gYWxsb3dmdWxsc2NyZWVuLmFzeW5jLmF1dG9mb2N1cy5hdXRvcGxheS5jaGVja2VkLmNvbnRyb2xzLmRlZmF1bHQuZGlzYWJsZWQuZm9ybW5vdmFsaWRhdGUuaW5kZXRlcm1pbmF0ZS5pbmVydC5pc21hcC5sb29wLm11bHRpcGxlLm11dGVkLm5vbW9kdWxlLm5vdmFsaWRhdGUub3Blbi5wbGF5c2lubGluZS5yZWFkb25seS5yZXF1aXJlZC5yZXZlcnNlZC5zZWFtbGVzcy5zZWxlY3RlZC53ZWJraXRkaXJlY3RvcnkuZGVmZXIuZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmUuZGlzYWJsZXJlbW90ZXBsYXliYWNrYC5zcGxpdChgLmApLG9pPXtmb3Jtbm92YWxpZGF0ZTpgZm9ybU5vVmFsaWRhdGVgLGlzbWFwOmBpc01hcGAsbm9tb2R1bGU6YG5vTW9kdWxlYCxwbGF5c2lubGluZTpgcGxheXNJbmxpbmVgLHJlYWRvbmx5OmByZWFkT25seWAsZGVmYXVsdHZhbHVlOmBkZWZhdWx0VmFsdWVgLGRlZmF1bHRjaGVja2VkOmBkZWZhdWx0Q2hlY2tlZGAsc3Jjb2JqZWN0OmBzcmNPYmplY3RgLG5vdmFsaWRhdGU6YG5vVmFsaWRhdGVgLGFsbG93ZnVsbHNjcmVlbjpgYWxsb3dGdWxsc2NyZWVuYCxkaXNhYmxlcGljdHVyZWlucGljdHVyZTpgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgLGRpc2FibGVyZW1vdGVwbGF5YmFjazpgZGlzYWJsZVJlbW90ZVBsYXliYWNrYH07ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLG9pW2VdPz9lfVsuLi5haV07dmFyIGNpPVtgdG91Y2hzdGFydGAsYHRvdWNobW92ZWBdO2Z1bmN0aW9uIGxpKGUpe3JldHVybiBjaS5pbmNsdWRlcyhlKX12YXIgdWk9U3ltYm9sKGBldmVudHNgKSxkaT1uZXcgU2V0LGZpPW5ldyBTZXQ7ZnVuY3Rpb24gcGkoZSl7aWYoIUMpcmV0dXJuO2UucmVtb3ZlQXR0cmlidXRlKGBvbmxvYWRgKSxlLnJlbW92ZUF0dHJpYnV0ZShgb25lcnJvcmApO2xldCB0PWUuX19lO3QhPT12b2lkIDAmJihlLl9fZT12b2lkIDAscXVldWVNaWNyb3Rhc2soKCk9PntlLmlzQ29ubmVjdGVkJiZlLmRpc3BhdGNoRXZlbnQodCl9KSl9ZnVuY3Rpb24gbWkoZSx0LG4scj17fSl7ZnVuY3Rpb24gaShlKXtpZihyLmNhcHR1cmV8fHlpLmNhbGwodCxlKSwhZS5jYW5jZWxCdWJibGUpcmV0dXJuICRuKCgpPT5uPy5jYWxsKHRoaXMsZSkpfXJldHVybiBlLnN0YXJ0c1dpdGgoYHBvaW50ZXJgKXx8ZS5zdGFydHNXaXRoKGB0b3VjaGApfHxlPT09YHdoZWVsYD9ndCgoKT0+e3QuYWRkRXZlbnRMaXN0ZW5lcihlLGkscil9KTp0LmFkZEV2ZW50TGlzdGVuZXIoZSxpLHIpLGl9ZnVuY3Rpb24gaGkoZSx0LG4scixpKXt2YXIgYT17Y2FwdHVyZTpyLHBhc3NpdmU6aX0sbz1taShlLHQsbixhKTsodD09PWRvY3VtZW50LmJvZHl8fHQ9PT13aW5kb3d8fHQ9PT1kb2N1bWVudHx8dCBpbnN0YW5jZW9mIEhUTUxNZWRpYUVsZW1lbnQpJiZhcigoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8sYSl9KX1mdW5jdGlvbiBnaShlLHQsbil7KHRbdWldPz89e30pW2VdPW59ZnVuY3Rpb24gX2koZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZGkuYWRkKGVbdF0pO2Zvcih2YXIgbiBvZiBmaSluKGUpfXZhciB2aT1udWxsO2Z1bmN0aW9uIHlpKGUpe3ZhciB0PXRoaXMsbj10Lm93bmVyRG9jdW1lbnQscj1lLnR5cGUsaT1lLmNvbXBvc2VkUGF0aD8uKCl8fFtdLGE9aVswXXx8ZS50YXJnZXQ7dmk9ZTt2YXIgbz0wLHM9dmk9PT1lJiZlW3VpXTtpZihzKXt2YXIgYz1pLmluZGV4T2Yocyk7aWYoYyE9PS0xJiYodD09PWRvY3VtZW50fHx0PT09d2luZG93KSl7ZVt1aV09dDtyZXR1cm59dmFyIGw9aS5pbmRleE9mKHQpO2lmKGw9PT0tMSlyZXR1cm47Yzw9bCYmKG89Yyl9aWYoYT1pW29dfHxlLnRhcmdldCxhIT09dCl7ZyhlLGBjdXJyZW50VGFyZ2V0YCx7Y29uZmlndXJhYmxlOiEwLGdldCgpe3JldHVybiBhfHxufX0pO3ZhciB1PUYsZD1JO01yKG51bGwpLE5yKG51bGwpO3RyeXtmb3IodmFyIGYscD1bXTthIT09bnVsbDspe3ZhciBtPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGV8fGEuaG9zdHx8bnVsbDt0cnl7dmFyIGg9YVt1aV0/LltyXTtoIT1udWxsJiYoIWEuZGlzYWJsZWR8fGUudGFyZ2V0PT09YSkmJmguY2FsbChhLGUpfWNhdGNoKGUpe2Y/cC5wdXNoKGUpOmY9ZX1pZihlLmNhbmNlbEJ1YmJsZXx8bT09PXR8fG09PT1udWxsKWJyZWFrO2E9bX1pZihmKXtmb3IobGV0IGUgb2YgcClxdWV1ZU1pY3JvdGFzaygoKT0+e3Rocm93IGV9KTt0aHJvdyBmfX1maW5hbGx5e2VbdWldPXQsZGVsZXRlIGUuY3VycmVudFRhcmdldCxNcih1KSxOcihkKX19fXZhciBiaT1nbG9iYWxUaGlzPy53aW5kb3c/LnRydXN0ZWRUeXBlcyYmZ2xvYmFsVGhpcy53aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeShgc3ZlbHRlLXRydXN0ZWQtaHRtbGAse2NyZWF0ZUhUTUw6ZT0+ZX0pO2Z1bmN0aW9uIHhpKGUpe3JldHVybiBiaT8uY3JlYXRlSFRNTChlKT8/ZX1mdW5jdGlvbiBTaShlKXt2YXIgdD1LbihgdGVtcGxhdGVgKTtyZXR1cm4gdC5pbm5lckhUTUw9eGkoZS5yZXBsYWNlQWxsKGA8IT5gLGA8IS0tLS0+YCkpLHQuY29udGVudH1mdW5jdGlvbiBDaShlLHQpe3ZhciBuPUk7bi5ub2Rlcz09PW51bGwmJihuLm5vZGVzPXtzdGFydDplLGVuZDp0LGE6bnVsbCx0Om51bGx9KX1mdW5jdGlvbiB3aShlLHQpe3ZhciBuPSh0JjEpIT0wLHI9KHQmMikhPTAsaSxhPSFlLnN0YXJ0c1dpdGgoYDwhPmApO3JldHVybigpPT57aWYoQylyZXR1cm4gQ2kodyxudWxsKSx3O2k9PT12b2lkIDAmJihpPVNpKGE/ZTpgPCE+YCtlKSxufHwoaT1OKGkpKSk7dmFyIHQ9cnx8Rm4/ZG9jdW1lbnQuaW1wb3J0Tm9kZShpLCEwKTppLmNsb25lTm9kZSghMCk7aWYobil7dmFyIG89Tih0KSxzPXQubGFzdENoaWxkO0NpKG8scyl9ZWxzZSBDaSh0LHQpO3JldHVybiB0fX1mdW5jdGlvbiBUaShlLHQsbj1gc3ZnYCl7dmFyIHI9IWUuc3RhcnRzV2l0aChgPCE+YCksaT0odCYxKSE9MCxhPWA8JHtufT4ke3I/ZTpgPCE+YCtlfTwvJHtufT5gLG87cmV0dXJuKCk9PntpZihDKXJldHVybiBDaSh3LG51bGwpLHc7aWYoIW8pe3ZhciBlPU4oU2koYSkpO2lmKGkpZm9yKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO04oZSk7KW8uYXBwZW5kQ2hpbGQoTihlKSk7ZWxzZSBvPU4oZSl9dmFyIHQ9by5jbG9uZU5vZGUoITApO2lmKGkpe3ZhciBuPU4odCkscj10Lmxhc3RDaGlsZDtDaShuLHIpfWVsc2UgQ2kodCx0KTtyZXR1cm4gdH19ZnVuY3Rpb24gRWkoZSx0KXtyZXR1cm4gVGkoZSx0LGBzdmdgKX1mdW5jdGlvbiBEaShlPWBgKXtpZighQyl7dmFyIHQ9em4oZStgYCk7cmV0dXJuIENpKHQsdCksdH12YXIgbj13O3JldHVybiBuLm5vZGVUeXBlPT09Mz9KbihuKToobi5iZWZvcmUobj16bigpKSxUKG4pKSxDaShuLG4pLG59ZnVuY3Rpb24gT2koKXtpZihDKXJldHVybiBDaSh3LG51bGwpLHc7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChgYCksbj16bigpO3JldHVybiBlLmFwcGVuZCh0LG4pLENpKHQsbiksZX1mdW5jdGlvbiBraShlLHQpe2lmKEMpe3ZhciBuPUk7KCEobi5mJjMyNzY4KXx8bi5ub2Rlcy5lbmQ9PT1udWxsKSYmKG4ubm9kZXMuZW5kPXcpLFllKCk7cmV0dXJufWUhPT1udWxsJiZlLmJlZm9yZSh0KX12YXIgQWk9ITA7ZnVuY3Rpb24gamkoZSx0KXt2YXIgbj10PT1udWxsP2BgOnR5cGVvZiB0PT1gb2JqZWN0YD9gJHt0fWA6dDtuIT09KGUuX190Pz89ZS5ub2RlVmFsdWUpJiYoZS5fX3Q9bixlLm5vZGVWYWx1ZT1gJHtufWApfWZ1bmN0aW9uIE1pKGUsdCl7cmV0dXJuIFBpKGUsdCl9dmFyIE5pPW5ldyBNYXA7ZnVuY3Rpb24gUGkoZSx7dGFyZ2V0OnQsYW5jaG9yOm4scHJvcHM6cj17fSxldmVudHM6aSxjb250ZXh0OmEsaW50cm86bz0hMCx0cmFuc2Zvcm1FcnJvcjpzfSl7Um4oKTt2YXIgYz12b2lkIDAsbD1scigoKT0+e3ZhciBsPW4/P3QuYXBwZW5kQ2hpbGQoem4oKSk7cm4obCx7cGVuZGluZzooKT0+e319LHQ9PntsdCh7fSk7dmFyIG49RTtpZihhJiYobi5jPWEpLGkmJihyLiQkZXZlbnRzPWkpLEMmJkNpKHQsbnVsbCksQWk9byxjPWUodCxyKXx8e30sQWk9ITAsQyYmKEkubm9kZXMuZW5kPXcsdz09PW51bGx8fHcubm9kZVR5cGUhPT04fHx3LmRhdGEhPT1gXWApKXRocm93IEdlKCksQmU7dXQoKX0scyk7dmFyIHU9bmV3IFNldCxkPWU9Pntmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZighdS5oYXMocikpe3UuYWRkKHIpO3ZhciBpPWxpKHIpO2ZvcihsZXQgZSBvZlt0LGRvY3VtZW50XSl7dmFyIGE9TmkuZ2V0KGUpO2E9PT12b2lkIDAmJihhPW5ldyBNYXAsTmkuc2V0KGUsYSkpO3ZhciBvPWEuZ2V0KHIpO289PT12b2lkIDA/KGUuYWRkRXZlbnRMaXN0ZW5lcihyLHlpLHtwYXNzaXZlOml9KSxhLnNldChyLDEpKTphLnNldChyLG8rMSl9fX19O3JldHVybiBkKGgoZGkpKSxmaS5hZGQoZCksKCk9Pntmb3IodmFyIGUgb2YgdSlmb3IobGV0IG4gb2ZbdCxkb2N1bWVudF0pe3ZhciByPU5pLmdldChuKSxpPXIuZ2V0KGUpOy0taT09MD8obi5yZW1vdmVFdmVudExpc3RlbmVyKGUseWkpLHIuZGVsZXRlKGUpLHIuc2l6ZT09PTAmJk5pLmRlbGV0ZShuKSk6ci5zZXQoZSxpKX1maS5kZWxldGUoZCksbCE9PW4mJmwucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQobCl9fSk7cmV0dXJuIEZpLnNldChjLGwpLGN9dmFyIEZpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIElpKGUsdCl7bGV0IG49RmkuZ2V0KGUpO3JldHVybiBuPyhGaS5kZWxldGUoZSksbih0KSk6UHJvbWlzZS5yZXNvbHZlKCl9dmFyIExpPWNsYXNze2FuY2hvcjsjZT1uZXcgTWFwOyN0PW5ldyBNYXA7I249bmV3IE1hcDsjcj1uZXcgU2V0OyNpPSEwO2NvbnN0cnVjdG9yKGUsdD0hMCl7dGhpcy5hbmNob3I9ZSx0aGlzLiNpPXR9I2E9ZT0+e2lmKHRoaXMuI2UuaGFzKGUpKXt2YXIgdD10aGlzLiNlLmdldChlKSxuPXRoaXMuI3QuZ2V0KHQpO2lmKG4pd3IobiksdGhpcy4jci5kZWxldGUodCk7ZWxzZXt2YXIgcj10aGlzLiNuLmdldCh0KTtyJiYodGhpcy4jdC5zZXQodCxyLmVmZmVjdCksdGhpcy4jbi5kZWxldGUodCksci5mcmFnbWVudC5sYXN0Q2hpbGQucmVtb3ZlKCksdGhpcy5hbmNob3IuYmVmb3JlKHIuZnJhZ21lbnQpLG49ci5lZmZlY3QpfWZvcihsZXRbdCxuXW9mIHRoaXMuI2Upe2lmKHRoaXMuI2UuZGVsZXRlKHQpLHQ9PT1lKWJyZWFrO2xldCByPXRoaXMuI24uZ2V0KG4pO3ImJihQKHIuZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShuKSl9Zm9yKGxldFtlLHJdb2YgdGhpcy4jdCl7aWYoZT09PXR8fHRoaXMuI3IuaGFzKGUpKWNvbnRpbnVlO2xldCBpPSgpPT57aWYoQXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKS5pbmNsdWRlcyhlKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO0VyKHIsdCksdC5hcHBlbmQoem4oKSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OnIsZnJhZ21lbnQ6dH0pfWVsc2UgUChyKTt0aGlzLiNyLmRlbGV0ZShlKSx0aGlzLiN0LmRlbGV0ZShlKX07dGhpcy4jaXx8IW4/KHRoaXMuI3IuYWRkKGUpLFNyKHIsaSwhMSkpOmkoKX19fTsjbz1lPT57dGhpcy4jZS5kZWxldGUoZSk7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKTtmb3IobGV0W2Usbl1vZiB0aGlzLiNuKXQuaW5jbHVkZXMoZSl8fChQKG4uZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShlKSl9O2Vuc3VyZShlLHQpe3ZhciBuPWoscj1HbigpO2lmKHQmJiF0aGlzLiN0LmhhcyhlKSYmIXRoaXMuI24uaGFzKGUpKWlmKHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXpuKCk7aS5hcHBlbmQoYSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OmdyKCgpPT50KGEpKSxmcmFnbWVudDppfSl9ZWxzZSB0aGlzLiN0LnNldChlLGdyKCgpPT50KHRoaXMuYW5jaG9yKSkpO2lmKHRoaXMuI2Uuc2V0KG4sZSkscil7Zm9yKGxldFt0LHJdb2YgdGhpcy4jdCl0PT09ZT9uLnVuc2tpcF9lZmZlY3Qocik6bi5za2lwX2VmZmVjdChyKTtmb3IobGV0W3Qscl1vZiB0aGlzLiNuKXQ9PT1lP24udW5za2lwX2VmZmVjdChyLmVmZmVjdCk6bi5za2lwX2VmZmVjdChyLmVmZmVjdCk7bi5vbmNvbW1pdCh0aGlzLiNhKSxuLm9uZGlzY2FyZCh0aGlzLiNvKX1lbHNlIEMmJih0aGlzLmFuY2hvcj13KSx0aGlzLiNhKG4pfX07ZnVuY3Rpb24gUmkoZSx0LG49ITEpe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpLGE9bj9tZTowO2Z1bmN0aW9uIG8oZSx0KXtpZihDKXt2YXIgbj0kZShyKTtpZihlIT09cGFyc2VJbnQobi5zdWJzdHJpbmcoMSkpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSx0KSxKZSghMCk7cmV0dXJufX1pLmVuc3VyZShlLHQpfW1yKCgpPT57dmFyIGU9ITE7dCgodCxuPTApPT57ZT0hMCxvKG4sdCl9KSxlfHxvKC0xLG51bGwpfSxhKX12YXIgemk9U3ltYm9sKGBOYU5gKTtmdW5jdGlvbiBCaShlLHQsbil7QyYmWWUoKTt2YXIgcj1uZXcgTGkoZSksaT0hZHQoKTttcigoKT0+e3ZhciBlPXQoKTtlIT09ZSYmKGU9emkpLGkmJnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmKGU9e30pLHIuZW5zdXJlKGUsbil9KX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIEhpKGUsdCxuKXtmb3IodmFyIHI9W10saT10Lmxlbmd0aCxhLG89dC5sZW5ndGgscz0wO3M8aTtzKyspe2xldCBuPXRbc107U3IobiwoKT0+e2lmKGEpe2lmKGEucGVuZGluZy5kZWxldGUobiksYS5kb25lLmFkZChuKSxhLnBlbmRpbmcuc2l6ZT09PTApe3ZhciB0PWUub3V0cm9ncm91cHM7VWkoZSxoKGEuZG9uZSkpLHQuZGVsZXRlKGEpLHQuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfX1lbHNlIC0tb30sITEpfWlmKG89PT0wKXt2YXIgYz1yLmxlbmd0aD09PTAmJm4hPT1udWxsO2lmKGMpe3ZhciBsPW4sdT1sLnBhcmVudE5vZGU7V24odSksdS5hcHBlbmQobCksZS5pdGVtcy5jbGVhcigpfVVpKGUsdCwhYyl9ZWxzZSBhPXtwZW5kaW5nOm5ldyBTZXQodCksZG9uZTpuZXcgU2V0fSwoZS5vdXRyb2dyb3Vwcz8/PW5ldyBTZXQpLmFkZChhKX1mdW5jdGlvbiBVaShlLHQsbj0hMCl7dmFyIHI7aWYoZS5wZW5kaW5nLnNpemU+MCl7cj1uZXcgU2V0O2ZvcihsZXQgdCBvZiBlLnBlbmRpbmcudmFsdWVzKCkpZm9yKGxldCBuIG9mIHQpci5hZGQoZS5pdGVtcy5nZXQobikuZSl9Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07cj8uaGFzKGEpPyhhLmZ8PV9lLEVyKGEsZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSk6UCh0W2ldLG4pfX12YXIgV2k7ZnVuY3Rpb24gR2koZSx0LG4scixpLGE9bnVsbCl7dmFyIG89ZSxzPW5ldyBNYXA7aWYodCY0KXt2YXIgYz1lO289Qz9UKE4oYykpOmMuYXBwZW5kQ2hpbGQoem4oKSl9QyYmWWUoKTt2YXIgbD1udWxsLHU9cG4oKCk9Pnt2YXIgZT1uKCk7cmV0dXJuIGYoZSk/ZTplPT1udWxsP1tdOmgoZSl9KSxkLHA9bmV3IE1hcCxtPSEwO2Z1bmN0aW9uIGcoZSl7di5lZmZlY3QuZiYxNjM4NHx8KHYucGVuZGluZy5kZWxldGUoZSksdi5mYWxsYmFjaz1sLHFpKHYsZCxvLHQsciksbCE9PW51bGwmJihkLmxlbmd0aD09PTA/bC5mJjMzNTU0NDMyPyhsLmZePV9lLFlpKGwsbnVsbCxvKSk6d3IobCk6U3IobCwoKT0+e2w9bnVsbH0pKSl9ZnVuY3Rpb24gXyhlKXt2LnBlbmRpbmcuZGVsZXRlKGUpfXZhciB2PXtlZmZlY3Q6bXIoKCk9PntkPVIodSk7dmFyIGU9ZC5sZW5ndGg7bGV0IGM9ITE7QyYmJGUobyk9PT1gWyFgIT0oZT09PTApJiYobz1RZSgpLFQobyksSmUoITEpLGM9ITApO2Zvcih2YXIgZj1uZXcgU2V0LGg9aix2PUduKCkseT0wO3k8ZTt5Kz0xKXtDJiZ3Lm5vZGVUeXBlPT09OCYmdy5kYXRhPT09YF1gJiYobz13LGM9ITAsSmUoITEpKTt2YXIgZWU9ZFt5XSxiPXIoZWUseSksdGU9bT9udWxsOnMuZ2V0KGIpO3RlPyh0ZS52JiZFbih0ZS52LGVlKSx0ZS5pJiZFbih0ZS5pLHkpLHYmJmgudW5za2lwX2VmZmVjdCh0ZS5lKSk6KHRlPUppKHMsbT9vOldpPz89em4oKSxlZSxiLHksaSx0LG4pLG18fCh0ZS5lLmZ8PV9lKSxzLnNldChiLHRlKSksZi5hZGQoYil9aWYoZT09PTAmJmEmJiFsJiYobT9sPWdyKCgpPT5hKG8pKToobD1ncigoKT0+YShXaT8/PXpuKCkpKSxsLmZ8PV9lKSksZT5mLnNpemUmJmtlKGBgLGBgLGBgKSxDJiZlPjAmJlQoUWUoKSksIW0paWYocC5zZXQoaCxmKSx2KXtmb3IobGV0W2UsdF1vZiBzKWYuaGFzKGUpfHxoLnNraXBfZWZmZWN0KHQuZSk7aC5vbmNvbW1pdChnKSxoLm9uZGlzY2FyZChfKX1lbHNlIGcoaCk7YyYmSmUoITApLFIodSl9KSxmbGFnczp0LGl0ZW1zOnMscGVuZGluZzpwLG91dHJvZ3JvdXBzOm51bGwsZmFsbGJhY2s6bH07bT0hMSxDJiYobz13KX1mdW5jdGlvbiBLaShlKXtmb3IoO2UhPT1udWxsJiYhKGUuZiYzMik7KWU9ZS5uZXh0O3JldHVybiBlfWZ1bmN0aW9uIHFpKGUsdCxuLHIsaSl7dmFyIGE9KHImOCkhPTAsbz10Lmxlbmd0aCxzPWUuaXRlbXMsYz1LaShlLmVmZmVjdC5maXJzdCksbCx1PW51bGwsZCxmPVtdLHA9W10sbSxnLF8sdjtpZihhKWZvcih2PTA7djxvO3YrPTEpbT10W3ZdLGc9aShtLHYpLF89cy5nZXQoZykuZSxfLmYmMzM1NTQ0MzJ8fChfLm5vZGVzPy5hPy5tZWFzdXJlKCksKGQ/Pz1uZXcgU2V0KS5hZGQoXykpO2Zvcih2PTA7djxvO3YrPTEpe2lmKG09dFt2XSxnPWkobSx2KSxfPXMuZ2V0KGcpLmUsZS5vdXRyb2dyb3VwcyE9PW51bGwpZm9yKGxldCB0IG9mIGUub3V0cm9ncm91cHMpdC5wZW5kaW5nLmRlbGV0ZShfKSx0LmRvbmUuZGVsZXRlKF8pO2lmKF8uZiY4MTkyJiYod3IoXyksYSYmKF8ubm9kZXM/LmE/LnVuZml4KCksKGQ/Pz1uZXcgU2V0KS5kZWxldGUoXykpKSxfLmYmMzM1NTQ0MzIpaWYoXy5mXj1fZSxfPT09YylZaShfLG51bGwsbik7ZWxzZXt2YXIgeT11P3UubmV4dDpjO189PT1lLmVmZmVjdC5sYXN0JiYoZS5lZmZlY3QubGFzdD1fLnByZXYpLF8ucHJldiYmKF8ucHJldi5uZXh0PV8ubmV4dCksXy5uZXh0JiYoXy5uZXh0LnByZXY9Xy5wcmV2KSxYaShlLHUsXyksWGkoZSxfLHkpLFlpKF8seSxuKSx1PV8sZj1bXSxwPVtdLGM9S2kodS5uZXh0KTtjb250aW51ZX1pZihfIT09Yyl7aWYobCE9PXZvaWQgMCYmbC5oYXMoXykpe2lmKGYubGVuZ3RoPHAubGVuZ3RoKXt2YXIgZWU9cFswXSxiO3U9ZWUucHJldjt2YXIgdGU9ZlswXSxuZT1mW2YubGVuZ3RoLTFdO2ZvcihiPTA7YjxmLmxlbmd0aDtiKz0xKVlpKGZbYl0sZWUsbik7Zm9yKGI9MDtiPHAubGVuZ3RoO2IrPTEpbC5kZWxldGUocFtiXSk7WGkoZSx0ZS5wcmV2LG5lLm5leHQpLFhpKGUsdSx0ZSksWGkoZSxuZSxlZSksYz1lZSx1PW5lLC0tdixmPVtdLHA9W119ZWxzZSBsLmRlbGV0ZShfKSxZaShfLGMsbiksWGkoZSxfLnByZXYsXy5uZXh0KSxYaShlLF8sdT09PW51bGw/ZS5lZmZlY3QuZmlyc3Q6dS5uZXh0KSxYaShlLHUsXyksdT1fO2NvbnRpbnVlfWZvcihmPVtdLHA9W107YyE9PW51bGwmJmMhPT1fOykobD8/PW5ldyBTZXQpLmFkZChjKSxwLnB1c2goYyksYz1LaShjLm5leHQpO2lmKGM9PT1udWxsKWNvbnRpbnVlfV8uZiYzMzU1NDQzMnx8Zi5wdXNoKF8pLHU9XyxjPUtpKF8ubmV4dCl9aWYoZS5vdXRyb2dyb3VwcyE9PW51bGwpe2ZvcihsZXQgdCBvZiBlLm91dHJvZ3JvdXBzKXQucGVuZGluZy5zaXplPT09MCYmKFVpKGUsaCh0LmRvbmUpKSxlLm91dHJvZ3JvdXBzPy5kZWxldGUodCkpO2Uub3V0cm9ncm91cHMuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfWlmKGMhPT1udWxsfHxsIT09dm9pZCAwKXt2YXIgeD1bXTtpZihsIT09dm9pZCAwKWZvcihfIG9mIGwpXy5mJjgxOTJ8fHgucHVzaChfKTtmb3IoO2MhPT1udWxsOykhKGMuZiY4MTkyKSYmYyE9PWUuZmFsbGJhY2smJngucHVzaChjKSxjPUtpKGMubmV4dCk7dmFyIHJlPXgubGVuZ3RoO2lmKHJlPjApe3ZhciBpZT1yJjQmJm89PT0wP246bnVsbDtpZihhKXtmb3Iodj0wO3Y8cmU7dis9MSl4W3ZdLm5vZGVzPy5hPy5tZWFzdXJlKCk7Zm9yKHY9MDt2PHJlO3YrPTEpeFt2XS5ub2Rlcz8uYT8uZml4KCl9SGkoZSx4LGllKX19YSYmZ3QoKCk9PntpZihkIT09dm9pZCAwKWZvcihfIG9mIGQpXy5ub2Rlcz8uYT8uYXBwbHkoKX0pfWZ1bmN0aW9uIEppKGUsdCxuLHIsaSxhLG8scyl7dmFyIGM9byYxP28mMTY/U24obik6d24obiwhMSwhMSk6bnVsbCxsPW8mMj9TbihpKTpudWxsO3JldHVybnt2OmMsaTpsLGU6Z3IoKCk9PihhKHQsYz8/bixsPz9pLHMpLCgpPT57ZS5kZWxldGUocil9KSl9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihlLm5vZGVzKWZvcih2YXIgcj1lLm5vZGVzLnN0YXJ0LGk9ZS5ub2Rlcy5lbmQsYT10JiYhKHQuZiYzMzU1NDQzMik/dC5ub2Rlcy5zdGFydDpuO3IhPT1udWxsOyl7dmFyIG89Qm4ocik7aWYoYS5iZWZvcmUocikscj09PWkpcmV0dXJuO3I9b319ZnVuY3Rpb24gWGkoZSx0LG4pe3Q9PT1udWxsP2UuZWZmZWN0LmZpcnN0PW46dC5uZXh0PW4sbj09PW51bGw/ZS5lZmZlY3QubGFzdD10Om4ucHJldj10fWZ1bmN0aW9uIFppKGUsdCxuPSExLHI9ITEsaT0hMSxhPSExKXt2YXIgbz1lLHM9YGA7aWYobil7dmFyIGM9ZTtDJiYobz1UKE4oYykpKX1wcigoKT0+e3ZhciBlPUk7aWYocz09PShzPXQoKT8/YGApKXtDJiZZZSgpO3JldHVybn1pZihuJiYhQyl7ZS5ub2Rlcz1udWxsLGMuaW5uZXJIVE1MPXMscyE9PWBgJiZDaShOKGMpLGMubGFzdENoaWxkKTtyZXR1cm59aWYoZS5ub2RlcyE9PW51bGwmJihicihlLm5vZGVzLnN0YXJ0LGUubm9kZXMuZW5kKSxlLm5vZGVzPW51bGwpLHMhPT1gYCl7aWYoQyl7Zm9yKHZhciBhPXcuZGF0YSxsPVllKCksdT1sO2whPT1udWxsJiYobC5ub2RlVHlwZSE9PTh8fGwuZGF0YSE9PWBgKTspdT1sLGw9Qm4obCk7aWYobD09PW51bGwpdGhyb3cgR2UoKSxCZTtDaSh3LHUpLG89VChsKTtyZXR1cm59dmFyIGQ9S24ocj9gc3ZnYDppP2BtYXRoYDpgdGVtcGxhdGVgLHI/SGU6aT9VZTp2b2lkIDApO2QuaW5uZXJIVE1MPXM7dmFyIGY9cnx8aT9kOmQuY29udGVudDtpZihDaShOKGYpLGYubGFzdENoaWxkKSxyfHxpKWZvcig7TihmKTspby5iZWZvcmUoTihmKSk7ZWxzZSBvLmJlZm9yZShmKX19KX1mdW5jdGlvbiBRaShlLHQsLi4ubil7dmFyIHI9bmV3IExpKGUpO21yKCgpPT57bGV0IGU9dCgpPz9udWxsO3IuZW5zdXJlKGUsZSYmKHQ9PmUodCwuLi5uKSkpfSxtZSl9ZnVuY3Rpb24gJGkoZSx0LG4pe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpO21yKCgpPT57dmFyIGU9dCgpPz9udWxsO2lmKEMmJiRlKHIpPT09YFtgIT0oZSE9PW51bGwpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSxlJiYodD0+bih0LGUpKSksSmUoITApO3JldHVybn1pLmVuc3VyZShlLGUmJih0PT5uKHQsZSkpKX0sbWUpfXZhciBlYT0oKT0+cGVyZm9ybWFuY2Uubm93KCksdGE9e3RpY2s6ZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpLG5vdzooKT0+ZWEoKSx0YXNrczpuZXcgU2V0fTtmdW5jdGlvbiBuYSgpe2xldCBlPXRhLm5vdygpO3RhLnRhc2tzLmZvckVhY2godD0+e3QuYyhlKXx8KHRhLnRhc2tzLmRlbGV0ZSh0KSx0LmYoKSl9KSx0YS50YXNrcy5zaXplIT09MCYmdGEudGljayhuYSl9ZnVuY3Rpb24gcmEoZSl7bGV0IHQ7cmV0dXJuIHRhLnRhc2tzLnNpemU9PT0wJiZ0YS50aWNrKG5hKSx7cHJvbWlzZTpuZXcgUHJvbWlzZShuPT57dGEudGFza3MuYWRkKHQ9e2M6ZSxmOm59KX0pLGFib3J0KCl7dGEudGFza3MuZGVsZXRlKHQpfX19ZnVuY3Rpb24gaWEoZSx0KXskbigoKT0+e2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodCkpfSl9ZnVuY3Rpb24gYWEoZSl7aWYoZT09PWBmbG9hdGApcmV0dXJuYGNzc0Zsb2F0YDtpZihlPT09YG9mZnNldGApcmV0dXJuYGNzc09mZnNldGA7aWYoZS5zdGFydHNXaXRoKGAtLWApKXJldHVybiBlO2xldCB0PWUuc3BsaXQoYC1gKTtyZXR1cm4gdC5sZW5ndGg9PT0xP3RbMF06dFswXSt0LnNsaWNlKDEpLm1hcChlPT5lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSkuam9pbihgYCl9ZnVuY3Rpb24gb2EoZSl7bGV0IHQ9e30sbj1lLnNwbGl0KGA7YCk7Zm9yKGxldCBlIG9mIG4pe2xldFtuLHJdPWUuc3BsaXQoYDpgKTtpZighbnx8cj09PXZvaWQgMClicmVhaztsZXQgaT1hYShuLnRyaW0oKSk7dFtpXT1yLnRyaW0oKX1yZXR1cm4gdH12YXIgc2E9ZT0+ZTtmdW5jdGlvbiBjYShlLHQsbixyKXt2YXIgaT0oZSYxKSE9MCxhPShlJjIpIT0wLG89aSYmYSxzPShlJjQpIT0wLGM9bz9gYm90aGA6aT9gaW5gOmBvdXRgLGwsdT10LmluZXJ0LGQ9dC5zdHlsZS5vdmVyZmxvdyxmLHA7ZnVuY3Rpb24gbSgpe3JldHVybiAkbigoKT0+bD8/PW4oKSh0LHI/LigpPz97fSx7ZGlyZWN0aW9uOmN9KSl9dmFyIGg9e2lzX2dsb2JhbDpzLGluKCl7aWYodC5pbmVydD11LCFpKXtwPy5hYm9ydCgpLHA/LnJlc2V0Py4oKTtyZXR1cm59YXx8Zj8uYWJvcnQoKSxmPWxhKHQsbSgpLHAsMSwoKT0+e2lhKHQsYGludHJvc3RhcnRgKX0sKCk9PntpYSh0LGBpbnRyb2VuZGApLGY/LmFib3J0KCksZj1sPXZvaWQgMCx0LnN0eWxlLm92ZXJmbG93PWR9KX0sb3V0KGUpe2lmKCFhKXtlPy4oKSxsPXZvaWQgMDtyZXR1cm59dC5pbmVydD0hMCxwPWxhKHQsbSgpLGYsMCwoKT0+e2lhKHQsYG91dHJvc3RhcnRgKX0sKCk9PntpYSh0LGBvdXRyb2VuZGApLGU/LigpfSl9LHN0b3A6KCk9PntmPy5hYm9ydCgpLHA/LmFib3J0KCl9fSxnPUk7aWYoKGcubm9kZXMudD8/PVtdKS5wdXNoKGgpLGkmJkFpKXt2YXIgXz1zO2lmKCFfKXtmb3IodmFyIHY9Zy5wYXJlbnQ7diYmdi5mJjY1NTM2Oylmb3IoOyh2PXYucGFyZW50KSYmISh2LmYmMTYpOyk7Xz0hdnx8KHYuZiYzMjc2OCkhPTB9XyYmdXIoKCk9PnskcigoKT0+aC5pbigpKX0pfX1mdW5jdGlvbiBsYShlLHQsbixyLGksYSl7dmFyIG89cj09PTE7aWYobmUodCkpe3ZhciBzLGM9ITE7cmV0dXJuIGd0KCgpPT57Y3x8KHM9bGEoZSx0KHtkaXJlY3Rpb246bz9gaW5gOmBvdXRgfSksbixyLGksYSkpfSkse2Fib3J0OigpPT57Yz0hMCxzPy5hYm9ydCgpfSxkZWFjdGl2YXRlOigpPT5zLmRlYWN0aXZhdGUoKSxyZXNldDooKT0+cy5yZXNldCgpLHQ6KCk9PnMudCgpfX1pZihuPy5kZWFjdGl2YXRlKCksIXQ/LmR1cmF0aW9uJiYhdD8uZGVsYXkpcmV0dXJuIGkoKSxhKCkse2Fib3J0OngsZGVhY3RpdmF0ZTp4LHJlc2V0OngsdDooKT0+cn07bGV0e2RlbGF5Omw9MCxjc3M6dSx0aWNrOmQsZWFzaW5nOmY9c2F9PXQ7dmFyIHA9W107aWYobyYmbj09PXZvaWQgMCYmKGQmJmQoMCwxKSx1KSl7dmFyIG09b2EodSgwLDEpKTtwLnB1c2gobSxtKX12YXIgaD0oKT0+MS1yLGc9ZS5hbmltYXRlKHAse2R1cmF0aW9uOmwsZmlsbDpgZm9yd2FyZHNgfSk7cmV0dXJuIGcub25maW5pc2g9KCk9PntnLmNhbmNlbCgpLGkoKTt2YXIgbz1uPy50KCk/PzEtcjtuPy5hYm9ydCgpO3ZhciBzPXItbyxjPXQuZHVyYXRpb24qTWF0aC5hYnMocyksbD1bXTtpZihjPjApe3ZhciBwPSExO2lmKHUpZm9yKHZhciBtPU1hdGguY2VpbChjLygxZTMvNjApKSxfPTA7Xzw9bTtfKz0xKXt2YXIgdj1vK3MqZihfL20pLHk9b2EodSh2LDEtdikpO2wucHVzaCh5KSxwfHw9eS5vdmVyZmxvdz09PWBoaWRkZW5gfXAmJihlLnN0eWxlLm92ZXJmbG93PWBoaWRkZW5gKSxoPSgpPT57dmFyIGU9Zy5jdXJyZW50VGltZTtyZXR1cm4gbytzKmYoZS9jKX0sZCYmcmEoKCk9PntpZihnLnBsYXlTdGF0ZSE9PWBydW5uaW5nYClyZXR1cm4hMTt2YXIgZT1oKCk7cmV0dXJuIGQoZSwxLWUpLCEwfSl9Zz1lLmFuaW1hdGUobCx7ZHVyYXRpb246YyxmaWxsOmBmb3J3YXJkc2B9KSxnLm9uZmluaXNoPSgpPT57aD0oKT0+cixkPy4ociwxLXIpLGEoKX19LHthYm9ydDooKT0+e2cmJihnLmNhbmNlbCgpLGcuZWZmZWN0PW51bGwsZy5vbmZpbmlzaD14KX0sZGVhY3RpdmF0ZTooKT0+e2E9eH0scmVzZXQ6KCk9PntyPT09MCYmZD8uKDEsMCl9LHQ6KCk9PmgoKX19ZnVuY3Rpb24gdWEoZSx0LG4pe3VyKCgpPT57dmFyIHI9JHIoKCk9PnQoZSxuPy4oKSl8fHt9KTtpZihuJiZyPy51cGRhdGUpe3ZhciBpPSExLGE9e307ZnIoKCk9Pnt2YXIgZT1uKCk7ZWkoZSksaSYmdHQoYSxlKSYmKGE9ZSxyLnVwZGF0ZShlKSl9KSxpPSEwfWlmKHI/LmRlc3Ryb3kpcmV0dXJuKCk9PnIuZGVzdHJveSgpfSl9ZnVuY3Rpb24gZGEoZSx0KXt2YXIgbj12b2lkIDAscjtocigoKT0+e24hPT0obj10KCkpJiYociYmPShQKHIpLG51bGwpLG4mJihyPWdyKCgpPT57dXIoKCk9Pm4oZSkpfSkpKX0pfWZ1bmN0aW9uIGZhKGUpe3ZhciB0LG4scj1gYDtpZih0eXBlb2YgZT09YHN0cmluZ2B8fHR5cGVvZiBlPT1gbnVtYmVyYClyKz1lO2Vsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgKWlmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyllW3RdJiYobj1mYShlW3RdKSkmJihyJiYocis9YCBgKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1gIGApLHIrPW4pO3JldHVybiByfWZ1bmN0aW9uIHBhKCl7Zm9yKHZhciBlLHQsbj0wLHI9YGAsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspKGU9YXJndW1lbnRzW25dKSYmKHQ9ZmEoZSkpJiYociYmKHIrPWAgYCkscis9dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YD9wYShlKTplPz9gYH12YXIgaGE9Wy4uLmAgCQpcclxmXHhBMFx277u/YF07ZnVuY3Rpb24gZ2EoZSx0LG4pe3ZhciByPWU9PW51bGw/YGA6YGArZTtpZih0JiYocj1yP3IrYCBgK3Q6dCksbil7Zm9yKHZhciBpIG9mIE9iamVjdC5rZXlzKG4pKWlmKG5baV0pcj1yP3IrYCBgK2k6aTtlbHNlIGlmKHIubGVuZ3RoKWZvcih2YXIgYT1pLmxlbmd0aCxvPTA7KG89ci5pbmRleE9mKGksbykpPj0wOyl7dmFyIHM9bythOyhvPT09MHx8aGEuaW5jbHVkZXMocltvLTFdKSkmJihzPT09ci5sZW5ndGh8fGhhLmluY2x1ZGVzKHJbc10pKT9yPShvPT09MD9gYDpyLnN1YnN0cmluZygwLG8pKStyLnN1YnN0cmluZyhzKzEpOm89c319cmV0dXJuIHI9PT1gYD9udWxsOnJ9ZnVuY3Rpb24gX2EoZSx0PSExKXt2YXIgbj10P2AgIWltcG9ydGFudDtgOmA7YCxyPWBgO2Zvcih2YXIgaSBvZiBPYmplY3Qua2V5cyhlKSl7dmFyIGE9ZVtpXTthIT1udWxsJiZhIT09YGAmJihyKz1gIGAraStgOiBgK2Erbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdmEoZSl7cmV0dXJuIGVbMF0hPT1gLWB8fGVbMV0hPT1gLWA/ZS50b0xvd2VyQ2FzZSgpOmV9ZnVuY3Rpb24geWEoZSx0KXtpZih0KXt2YXIgbj1gYCxyLGk7aWYoQXJyYXkuaXNBcnJheSh0KT8ocj10WzBdLGk9dFsxXSk6cj10LGUpe2U9U3RyaW5nKGUpLnJlcGxhY2VBbGwoL1xzKlwvXCouKj9cKlwvXHMqL2csYGApLnRyaW0oKTt2YXIgYT0hMSxvPTAscz0hMSxjPVtdO3ImJmMucHVzaCguLi5PYmplY3Qua2V5cyhyKS5tYXAodmEpKSxpJiZjLnB1c2goLi4uT2JqZWN0LmtleXMoaSkubWFwKHZhKSk7dmFyIGw9MCx1PS0xO2xldCB0PWUubGVuZ3RoO2Zvcih2YXIgZD0wO2Q8dDtkKyspe3ZhciBmPWVbZF07aWYocz9mPT09YC9gJiZlW2QtMV09PT1gKmAmJihzPSExKTphP2E9PT1mJiYoYT0hMSk6Zj09PWAvYCYmZVtkKzFdPT09YCpgP3M9ITA6Zj09PWAiYHx8Zj09PWAnYD9hPWY6Zj09PWAoYD9vKys6Zj09PWApYCYmby0tLCFzJiZhPT09ITEmJm89PT0wKXtpZihmPT09YDpgJiZ1PT09LTEpdT1kO2Vsc2UgaWYoZj09PWA7YHx8ZD09PXQtMSl7aWYodSE9PS0xKXt2YXIgcD12YShlLnN1YnN0cmluZyhsLHUpLnRyaW0oKSk7aWYoIWMuaW5jbHVkZXMocCkpe2YhPT1gO2AmJmQrKzt2YXIgbT1lLnN1YnN0cmluZyhsLGQpLnRyaW0oKTtuKz1gIGArbStgO2B9fWw9ZCsxLHU9LTF9fX19cmV0dXJuIHImJihuKz1fYShyKSksaSYmKG4rPV9hKGksITApKSxuPW4udHJpbSgpLG49PT1gYD9udWxsOm59cmV0dXJuIGU9PW51bGw/bnVsbDpTdHJpbmcoZSl9ZnVuY3Rpb24gYmEoZSx0LG4scixpLGEpe3ZhciBvPWUuX19jbGFzc05hbWU7aWYoQ3x8byE9PW58fG89PT12b2lkIDApe3ZhciBzPWdhKG4scixhKTsoIUN8fHMhPT1lLmdldEF0dHJpYnV0ZShgY2xhc3NgKSkmJihzPT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKGBjbGFzc2ApOnQ/ZS5jbGFzc05hbWU9czplLnNldEF0dHJpYnV0ZShgY2xhc3NgLHMpKSxlLl9fY2xhc3NOYW1lPW59ZWxzZSBpZihhJiZpIT09YSlmb3IodmFyIGMgaW4gYSl7dmFyIGw9ISFhW2NdOyhpPT1udWxsfHxsIT09ISFpW2NdKSYmZS5jbGFzc0xpc3QudG9nZ2xlKGMsbCl9cmV0dXJuIGF9ZnVuY3Rpb24geGEoZSx0PXt9LG4scil7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07dFtpXSE9PWEmJihuW2ldPT1udWxsP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoaSk6ZS5zdHlsZS5zZXRQcm9wZXJ0eShpLGEscikpfX1mdW5jdGlvbiBTYShlLHQsbixyKXt2YXIgaT1lLl9fc3R5bGU7aWYoQ3x8aSE9PXQpe3ZhciBhPXlhKHQscik7KCFDfHxhIT09ZS5nZXRBdHRyaWJ1dGUoYHN0eWxlYCkpJiYoYT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKTplLnN0eWxlLmNzc1RleHQ9YSksZS5fX3N0eWxlPXR9ZWxzZSByJiYoQXJyYXkuaXNBcnJheShyKT8oeGEoZSxuPy5bMF0sclswXSkseGEoZSxuPy5bMV0sclsxXSxgaW1wb3J0YW50YCkpOnhhKGUsbixyKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2EoZSx0LG49ITEpe2lmKGUubXVsdGlwbGUpe2lmKHQ9PW51bGwpcmV0dXJuO2lmKCFmKHQpKXJldHVybiBLZSgpO2Zvcih2YXIgciBvZiBlLm9wdGlvbnMpci5zZWxlY3RlZD10LmluY2x1ZGVzKEVhKHIpKTtyZXR1cm59Zm9yKHIgb2YgZS5vcHRpb25zKWlmKE5uKEVhKHIpLHQpKXtyLnNlbGVjdGVkPSEwO3JldHVybn0oIW58fHQhPT12b2lkIDApJiYoZS5zZWxlY3RlZEluZGV4PS0xKX1mdW5jdGlvbiB3YShlKXt2YXIgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e0NhKGUsZS5fX3ZhbHVlKX0pO3Qub2JzZXJ2ZShlLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbYHZhbHVlYF19KSxhcigoKT0+e3QuZGlzY29ubmVjdCgpfSl9ZnVuY3Rpb24gVGEoZSx0LG49dCl7dmFyIHI9bmV3IFdlYWtTZXQsaT0hMDtlcihlLGBjaGFuZ2VgLHQ9Pnt2YXIgaT10P2Bbc2VsZWN0ZWRdYDpgOmNoZWNrZWRgLGE7aWYoZS5tdWx0aXBsZSlhPVtdLm1hcC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbChpKSxFYSk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoaSk/P2UucXVlcnlTZWxlY3Rvcihgb3B0aW9uOm5vdChbZGlzYWJsZWRdKWApO2E9byYmRWEobyl9bihhKSxlLl9fdmFsdWU9YSxqIT09bnVsbCYmci5hZGQoail9KSx1cigoKT0+e3ZhciBhPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIG89cnQ/THQ6ajtpZihyLmhhcyhvKSlyZXR1cm59aWYoQ2EoZSxhLGkpLGkmJmE9PT12b2lkIDApe3ZhciBzPWUucXVlcnlTZWxlY3RvcihgOmNoZWNrZWRgKTtzIT09bnVsbCYmKGE9RWEocyksbihhKSl9ZS5fX3ZhbHVlPWEsaT0hMX0pLHdhKGUpfWZ1bmN0aW9uIEVhKGUpe3JldHVybmBfX3ZhbHVlYGluIGU/ZS5fX3ZhbHVlOmUudmFsdWV9dmFyIERhPVN5bWJvbChgY2xhc3NgKSxPYT1TeW1ib2woYHN0eWxlYCksa2E9U3ltYm9sKGBpcyBjdXN0b20gZWxlbWVudGApLEFhPVN5bWJvbChgaXMgaHRtbGApLGphPUVlP2BsaW5rYDpgTElOS2AsTWE9RWU/YGlucHV0YDpgSU5QVVRgLE5hPUVlP2BvcHRpb25gOmBPUFRJT05gLFBhPUVlP2BzZWxlY3RgOmBTRUxFQ1RgLEZhPUVlP2Bwcm9ncmVzc2A6YFBST0dSRVNTYDtmdW5jdGlvbiBJYShlKXtpZihDKXt2YXIgdD0hMSxuPSgpPT57aWYoIXQpe2lmKHQ9ITAsZS5oYXNBdHRyaWJ1dGUoYHZhbHVlYCkpe3ZhciBuPWUudmFsdWU7emEoZSxgdmFsdWVgLG51bGwpLGUudmFsdWU9bn1pZihlLmhhc0F0dHJpYnV0ZShgY2hlY2tlZGApKXt2YXIgcj1lLmNoZWNrZWQ7emEoZSxgY2hlY2tlZGAsbnVsbCksZS5jaGVja2VkPXJ9fX07ZS5fX29uX3I9bixndChuKSxRbigpfX1mdW5jdGlvbiBMYShlLHQpe3ZhciBuPUhhKGUpO24udmFsdWU9PT0obi52YWx1ZT10Pz92b2lkIDApfHxlLnZhbHVlPT09dCYmKHQhPT0wfHxlLm5vZGVOYW1lIT09RmEpfHwoZS52YWx1ZT10Pz9gYCl9ZnVuY3Rpb24gUmEoZSx0KXt0P2UuaGFzQXR0cmlidXRlKGBzZWxlY3RlZGApfHxlLnNldEF0dHJpYnV0ZShgc2VsZWN0ZWRgLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShgc2VsZWN0ZWRgKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1IYShlKTtDJiYoaVt0XT1lLmdldEF0dHJpYnV0ZSh0KSx0PT09YHNyY2B8fHQ9PT1gc3Jjc2V0YHx8dD09PWBocmVmYCYmZS5ub2RlTmFtZT09PWphKXx8aVt0XSE9PShpW3RdPW4pJiYodD09PWBsb2FkaW5nYCYmKGVbd2VdPW4pLG49PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6dHlwZW9mIG4hPWBzdHJpbmdgJiZXYShlKS5pbmNsdWRlcyh0KT9lW3RdPW46ZS5zZXRBdHRyaWJ1dGUodCxuKSl9ZnVuY3Rpb24gQmEoZSx0LG4scixpPSExLGE9ITEpe2lmKEMmJmkmJmUubm9kZU5hbWU9PT1NYSl7dmFyIG89ZTsoby50eXBlPT09YGNoZWNrYm94YD9gZGVmYXVsdENoZWNrZWRgOmBkZWZhdWx0VmFsdWVgKWluIG58fElhKG8pfXZhciBzPUhhKGUpLGM9c1trYV0sbD0hc1tBYV07bGV0IHU9QyYmYzt1JiZKZSghMSk7dmFyIGQ9dHx8e30sZj1lLm5vZGVOYW1lPT09TmE7Zm9yKHZhciBwIGluIHQpcCBpbiBufHwobltwXT1udWxsKTtuLmNsYXNzP24uY2xhc3M9bWEobi5jbGFzcyk6KHJ8fG5bRGFdKSYmKG4uY2xhc3M9bnVsbCksbltPYV0mJihuLnN0eWxlPz89bnVsbCk7dmFyIG09V2EoZSk7Zm9yKGxldCBpIGluIG4pe2xldCBvPW5baV07aWYoZiYmaT09PWB2YWx1ZWAmJm89PW51bGwpe2UudmFsdWU9ZS5fX3ZhbHVlPWBgLGRbaV09bztjb250aW51ZX1pZihpPT09YGNsYXNzYCl7YmEoZSxlLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sYCxvLHIsdD8uW0RhXSxuW0RhXSksZFtpXT1vLGRbRGFdPW5bRGFdO2NvbnRpbnVlfWlmKGk9PT1gc3R5bGVgKXtTYShlLG8sdD8uW09hXSxuW09hXSksZFtpXT1vLGRbT2FdPW5bT2FdO2NvbnRpbnVlfXZhciBoPWRbaV07aWYoIShvPT09aCYmIShvPT09dm9pZCAwJiZlLmhhc0F0dHJpYnV0ZShpKSkpKXtkW2ldPW87dmFyIGc9aVswXStpWzFdO2lmKGchPT1gJCRgKWlmKGc9PT1gb25gKXtsZXQgdD17fSxuPWAkJGAraSxyPWkuc2xpY2UoMik7dmFyIF89aWkocik7aWYobmkocikmJihyPXIuc2xpY2UoMCwtNyksdC5jYXB0dXJlPSEwKSwhXyYmaCl7aWYobyE9bnVsbCljb250aW51ZTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIocixkW25dLHQpLGRbbl09bnVsbH1pZihfKWdpKHIsZSxvKSxfaShbcl0pO2Vsc2UgaWYobyE9bnVsbCl7ZnVuY3Rpb24gYShlKXtkW2ldLmNhbGwodGhpcyxlKX1kW25dPW1pKHIsZSxhLHQpfX1lbHNlIGlmKGk9PT1gc3R5bGVgKXphKGUsaSxvKTtlbHNlIGlmKGk9PT1gYXV0b2ZvY3VzYClZbihlLCEhbyk7ZWxzZSBpZighYyYmKGk9PT1gX192YWx1ZWB8fGk9PT1gdmFsdWVgJiZvIT1udWxsKSllLnZhbHVlPWUuX192YWx1ZT1vO2Vsc2UgaWYoaT09PWBzZWxlY3RlZGAmJmYpUmEoZSxvKTtlbHNle3ZhciB2PWk7bHx8KHY9c2kodikpO3ZhciB5PXY9PT1gZGVmYXVsdFZhbHVlYHx8dj09PWBkZWZhdWx0Q2hlY2tlZGA7aWYobz09bnVsbCYmIWMmJiF5KWlmKHNbaV09bnVsbCx2PT09YHZhbHVlYHx8dj09PWBjaGVja2VkYCl7bGV0IG49ZSxyPXQ9PT12b2lkIDA7aWYodj09PWB2YWx1ZWApe2xldCBlPW4uZGVmYXVsdFZhbHVlO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdFZhbHVlPWUsbi52YWx1ZT1uLl9fdmFsdWU9cj9lOm51bGx9ZWxzZXtsZXQgZT1uLmRlZmF1bHRDaGVja2VkO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdENoZWNrZWQ9ZSxuLmNoZWNrZWQ9cj9lOiExfX1lbHNlIGUucmVtb3ZlQXR0cmlidXRlKGkpO2Vsc2UgeXx8bS5pbmNsdWRlcyh2KSYmKGN8fHR5cGVvZiBvIT1gc3RyaW5nYCk/KGVbdl09byx2IGluIHMmJihzW3ZdPVMpKTp0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmemEoZSx2LG8sYSl9fX1yZXR1cm4gdSYmSmUoITApLGR9ZnVuY3Rpb24gVmEoZSx0LG49W10scj1bXSxpPVtdLGEsbz0hMSxzPSExKXtvbihpLG4scixuPT57dmFyIHI9dm9pZCAwLGk9e30sYz1lLm5vZGVOYW1lPT09UGEsbD0hMTtpZihocigoKT0+e3ZhciB1PXQoLi4ubi5tYXAoUikpLGQ9QmEoZSxyLHUsYSxvLHMpO2wmJmMmJmB2YWx1ZWBpbiB1JiZDYShlLHUudmFsdWUpO2ZvcihsZXQgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGkpKXVbZV18fFAoaVtlXSk7Zm9yKGxldCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModSkpe3ZhciBmPXVbdF07dC5kZXNjcmlwdGlvbj09PWBAYXR0YWNoYCYmKCFyfHxmIT09clt0XSkmJihpW3RdJiZQKGlbdF0pLGlbdF09Z3IoKCk9PmRhKGUsKCk9PmYpKSksZFt0XT1mfXI9ZH0pLGMpe3ZhciB1PWU7dXIoKCk9PntDYSh1LHIudmFsdWUsITApLHdhKHUpfSl9bD0hMH0pfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLl9fYXR0cmlidXRlcz8/PXtba2FdOmUubm9kZU5hbWUuaW5jbHVkZXMoYC1gKSxbQWFdOmUubmFtZXNwYWNlVVJJPT09VmV9fXZhciBVYT1uZXcgTWFwO2Z1bmN0aW9uIFdhKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKGBpc2ApfHxlLm5vZGVOYW1lLG49VWEuZ2V0KHQpO2lmKG4pcmV0dXJuIG47VWEuc2V0KHQsbj1bXSk7Zm9yKHZhciByLGk9ZSxhPUVsZW1lbnQucHJvdG90eXBlO2EhPT1pOyl7Zm9yKHZhciBvIGluIHI9dihpKSxyKXJbb10uc2V0JiZuLnB1c2gobyk7aT1iKGkpfXJldHVybiBufXZhciBHYT1udWxsO2Z1bmN0aW9uIEthKCl7aWYoR2E9PT1udWxsKXt2YXIgZT1Lbihgc2VsZWN0YCk7ZS5pbm5lckhUTUw9eGkoYDxvcHRpb24+PHNwYW4+dDwvc3Bhbj48L29wdGlvbj5gKSxHYT1lLmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQ/Lm5vZGVUeXBlPT09MX1yZXR1cm4gR2F9ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1DO0thKCl8fChKZSghMSksZS50ZXh0Q29udGVudD1gYCxlLmFwcGVuZChxbihgYCkpKTt0cnl7dCgpfWZpbmFsbHl7biYmKEM/WGUoZSk6KEplKCEwKSxUKGUpKSl9fWZ1bmN0aW9uIEphKGUsdCxuPXQpe3ZhciByPW5ldyBXZWFrU2V0O2VyKGUsYGlucHV0YCxhc3luYyBpPT57dmFyIGE9aT9lLmRlZmF1bHRWYWx1ZTplLnZhbHVlO2lmKGE9WGEoZSk/WmEoYSk6YSxuKGEpLGohPT1udWxsJiZyLmFkZChqKSxhd2FpdCBYcigpLGEhPT0oYT10KCkpKXt2YXIgbz1lLnNlbGVjdGlvblN0YXJ0LHM9ZS5zZWxlY3Rpb25FbmQsYz1lLnZhbHVlLmxlbmd0aDtpZihlLnZhbHVlPWE/P2BgLHMhPT1udWxsKXt2YXIgbD1lLnZhbHVlLmxlbmd0aDtvPT09cyYmcz09PWMmJmw+Yz8oZS5zZWxlY3Rpb25TdGFydD1sLGUuc2VsZWN0aW9uRW5kPWwpOihlLnNlbGVjdGlvblN0YXJ0PW8sZS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4ocyxsKSl9fX0pLChDJiZlLmRlZmF1bHRWYWx1ZSE9PWUudmFsdWV8fCRyKHQpPT1udWxsJiZlLnZhbHVlKSYmKG4oWGEoZSk/WmEoZS52YWx1ZSk6ZS52YWx1ZSksaiE9PW51bGwmJnIuYWRkKGopKSxmcigoKT0+e3ZhciBuPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIGk9cnQ/THQ6ajtpZihyLmhhcyhpKSlyZXR1cm59WGEoZSkmJm49PT1aYShlLnZhbHVlKXx8ZS50eXBlPT09YGRhdGVgJiYhbiYmIWUudmFsdWV8fG4hPT1lLnZhbHVlJiYoZS52YWx1ZT1uPz9gYCl9KX1mdW5jdGlvbiBZYShlLHQsbj10KXtlcihlLGBjaGFuZ2VgLHQ9PntuKHQ/ZS5kZWZhdWx0Q2hlY2tlZDplLmNoZWNrZWQpfSksKEMmJmUuZGVmYXVsdENoZWNrZWQhPT1lLmNoZWNrZWR8fCRyKHQpPT1udWxsKSYmbihlLmNoZWNrZWQpLGZyKCgpPT57ZS5jaGVja2VkPSEhdCgpfSl9ZnVuY3Rpb24gWGEoZSl7dmFyIHQ9ZS50eXBlO3JldHVybiB0PT09YG51bWJlcmB8fHQ9PT1gcmFuZ2VgfWZ1bmN0aW9uIFphKGUpe3JldHVybiBlPT09YGA/bnVsbDorZX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiBlPT09dHx8ZT8uW1NlXT09PXR9ZnVuY3Rpb24gJGEoZT17fSx0LG4scil7dmFyIGk9RS5yLGE9STtyZXR1cm4gdXIoKCk9Pnt2YXIgbyxzO3JldHVybiBmcigoKT0+e289cyxzPXI/LigpfHxbXSwkcigoKT0+e2UhPT1uKC4uLnMpJiYodChlLC4uLnMpLG8mJlFhKG4oLi4ubyksZSkmJnQobnVsbCwuLi5vKSl9KX0pLCgpPT57bGV0IHI9YTtmb3IoO3IhPT1pJiZyLnBhcmVudCE9PW51bGwmJnIucGFyZW50LmYmMzM1NTQ0MzI7KXI9ci5wYXJlbnQ7bGV0IG89KCk9PntzJiZRYShuKC4uLnMpLGUpJiZ0KG51bGwsLi4ucyl9LGM9ci50ZWFyZG93bjtyLnRlYXJkb3duPSgpPT57bygpLGM/LigpfX19KSxlfWZ1bmN0aW9uIGVvKGU9ITEpe2xldCB0PUUsbj10LmwudTtpZighbilyZXR1cm47bGV0IHI9KCk9PmVpKHQucyk7aWYoZSl7bGV0IGU9MCxuPXt9LGk9dW4oKCk9PntsZXQgcj0hMSxpPXQucztmb3IobGV0IGUgaW4gaSlpW2VdIT09bltlXSYmKG5bZV09aVtlXSxyPSEwKTtyZXR1cm4gciYmZSsrLGV9KTtyPSgpPT5SKGkpfW4uYi5sZW5ndGgmJmNyKCgpPT57dG8odCxyKSxpZShuLmIpfSksb3IoKCk9PntsZXQgZT0kcigoKT0+bi5tLm1hcChyZSkpO3JldHVybigpPT57Zm9yKGxldCB0IG9mIGUpdHlwZW9mIHQ9PWBmdW5jdGlvbmAmJnQoKX19KSxuLmEubGVuZ3RoJiZvcigoKT0+e3RvKHQsciksaWUobi5hKX0pfWZ1bmN0aW9uIHRvKGUsdCl7aWYoZS5sLnMpZm9yKGxldCB0IG9mIGUubC5zKVIodCk7dCgpfXZhciBubz17Z2V0KGUsdCl7aWYoIWUuZXhjbHVkZS5pbmNsdWRlcyh0KSlyZXR1cm4gZS5wcm9wc1t0XX0sc2V0KGUsdCl7cmV0dXJuITF9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe2lmKCFlLmV4Y2x1ZGUuaW5jbHVkZXModCkmJnQgaW4gZS5wcm9wcylyZXR1cm57ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ZS5wcm9wc1t0XX19LGhhcyhlLHQpe3JldHVybiBlLmV4Y2x1ZGUuaW5jbHVkZXModCk/ITE6dCBpbiBlLnByb3BzfSxvd25LZXlzKGUpe3JldHVybiBSZWZsZWN0Lm93bktleXMoZS5wcm9wcykuZmlsdGVyKHQ9PiFlLmV4Y2x1ZGUuaW5jbHVkZXModCkpfX07ZnVuY3Rpb24gcm8oZSx0LG4pe3JldHVybiBuZXcgUHJveHkoe3Byb3BzOmUsZXhjbHVkZTp0fSxubyl9dmFyIGlvPXtnZXQoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpcmV0dXJuIHJbdF19fSxzZXQoZSx0LG4pe2xldCByPWUucHJvcHMubGVuZ3RoO2Zvcig7ci0tOyl7bGV0IGk9ZS5wcm9wc1tyXTtuZShpKSYmKGk9aSgpKTtsZXQgYT1fKGksdCk7aWYoYSYmYS5zZXQpcmV0dXJuIGEuc2V0KG4pLCEwfXJldHVybiExfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpe2xldCBlPV8ocix0KTtyZXR1cm4gZSYmIWUuY29uZmlndXJhYmxlJiYoZS5jb25maWd1cmFibGU9ITApLGV9fX0saGFzKGUsdCl7aWYodD09PVNlfHx0PT09Q2UpcmV0dXJuITE7Zm9yKGxldCBuIG9mIGUucHJvcHMpaWYobmUobikmJihuPW4oKSksbiE9bnVsbCYmdCBpbiBuKXJldHVybiEwO3JldHVybiExfSxvd25LZXlzKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLnByb3BzKWlmKG5lKG4pJiYobj1uKCkpLG4pe2ZvcihsZXQgZSBpbiBuKXQuaW5jbHVkZXMoZSl8fHQucHVzaChlKTtmb3IobGV0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhuKSl0LmluY2x1ZGVzKGUpfHx0LnB1c2goZSl9cmV0dXJuIHR9fTtmdW5jdGlvbiBhbyguLi5lKXtyZXR1cm4gbmV3IFByb3h5KHtwcm9wczplfSxpbyl9ZnVuY3Rpb24gb28oZSx0LG4scil7dmFyIGk9IWl0fHwobiYyKSE9MCxhPShuJjgpIT0wLG89KG4mMTYpIT0wLHM9cixjPSEwLGw9KCk9PihjJiYoYz0hMSxzPW8/JHIocik6cikscyk7bGV0IHU7aWYoYSl7dmFyIGQ9U2UgaW4gZXx8Q2UgaW4gZTt1PV8oZSx0KT8uc2V0Pz8oZCYmdCBpbiBlP249PmVbdF09bjp2b2lkIDApfXZhciBmLHA9ITE7YT9bZixwXT1GdCgoKT0+ZVt0XSk6Zj1lW3RdLGY9PT12b2lkIDAmJnIhPT12b2lkIDAmJihmPWwoKSx1JiYoaSYmUGUodCksdShmKSkpO3ZhciBtPWk/KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuPT09dm9pZCAwP2woKTooYz0hMCxuKX06KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuIT09dm9pZCAwJiYocz12b2lkIDApLG49PT12b2lkIDA/czpufTtpZihpJiYhKG4mNCkpcmV0dXJuIG07aWYodSl7dmFyIGg9ZS4kJGxlZ2FjeTtyZXR1cm4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wPygoIWl8fCF0fHxofHxwKSYmdSh0P20oKTplKSxlKTptKCl9KX12YXIgZz0hMSx2PShuJjE/dW46cG4pKCgpPT4oZz0hMSxtKCkpKTthJiZSKHYpO3ZhciB5PUk7cmV0dXJuKGZ1bmN0aW9uKGUsdCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXtsZXQgbj10P1Iodik6aSYmYT9qbihlKTplO3JldHVybiBUbih2LG4pLGc9ITAscyE9PXZvaWQgMCYmKHM9biksZX1yZXR1cm4ga3ImJmd8fHkuZiYxNjM4ND92LnY6Uih2KX0pfWZ1bmN0aW9uIHNvKGUpe0U9PT1udWxsJiZEZShgb25Nb3VudGApLGl0JiZFLmwhPT1udWxsP2xvKEUpLm0ucHVzaChlKTpvcigoKT0+e2xldCB0PSRyKGUpO2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXJldHVybiB0fSl9ZnVuY3Rpb24gY28oZSl7RT09PW51bGwmJkRlKGBvbkRlc3Ryb3lgKSxzbygoKT0+KCk9PiRyKGUpKX1mdW5jdGlvbiBsbyhlKXt2YXIgdD1lLmw7cmV0dXJuIHQudT8/PXthOltdLGI6W10sbTpbXX19dmFyIHo9KCgpPT57bGV0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7b246KHQsbik9PntsZXQgcj1lLmdldCh0KTtyP3IucHVzaChuKTplLnNldCh0LFtuXSl9LG9mZjoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJmUuc2V0KHQsci5maWx0ZXIoZT0+ZSE9PW4pKX0sZW1pdDoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJnIuZm9yRWFjaChlPT5lKG4pKX19KX0pKCksdW89YGRhdGEtc21hcnRzdXBwLWlkYCxmbz0oKT0+d2luZG93LnRvcD8/d2luZG93LnBhcmVudCxCPSgpPT53aW5kb3cucGFyZW50LHBvPSgpPT5CKCkuZG9jdW1lbnQsbW89ZT0+ZSYmZS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxobz0oe3ZpZDplfSk9PntsZXQgdD1CKCkuc21hcnRzdXBwfHx7fTt0LnZpZD1lLEIoKS5zbWFydHN1cHA9dH0sZ289YGRlYnVnYCxfbz1lPT57dHJ5e2xldCB0PUIoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShnbyk7aWYoIXQpcmV0dXJuITE7aWYodD09PWV8fHQ9PT1gKmApcmV0dXJuITA7bGV0IG49ZS5tYXRjaCgvXlx3KzovZyk7cmV0dXJuIG4/dD09PWAke25bMF19KmA6ITF9Y2F0Y2h7cmV0dXJuITF9fSx2bz0oKGUsdCk9PihuLC4uLnIpPT57X28oZSkmJmNvbnNvbGUuZGVidWcoYCVjJHtlfWAsYGNvbG9yOiAke3R9O2AsbiwuLi5yKX0pKGBzbWFydHN1cHA6d2lkZ2V0YCxgIzEyMzNkZmApLFY9KCgpPT57bGV0IGU9bnVsbCx0PVtdO3JldHVybiBPYmplY3QuZnJlZXplKHtpbml0Om49PntlPW4sdm8oYHdpZGdldCBvcHRpb25zYCxuKSx0LmZvckVhY2goZT0+ZShuKSl9LGdldE9wdGlvbnM6KCk9PntpZighZSl0aHJvdyBFcnJvcihgV2lkZ2V0IG9wdGlvbnMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LGF3YWl0T3B0aW9uczphc3luYygpPT5lfHxuZXcgUHJvbWlzZShlPT57dC5wdXNoKGUpfSksdXBkYXRlT3B0aW9uczp0PT57ZT17Li4uZSwuLi50fX19KX0pKCkseW89ZT0+e2xldCB0PWUuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGJvZHlgKVswXS5nZXRBdHRyaWJ1dGUodW8pO2lmKCF0KXRocm93IEVycm9yKGBNaXNzaW5nIGNoYXQgSUQgYXR0cmlidXRlIG9uIGJvZHkgZWxlbWVudC5gKTtpZighZS5wYXJlbnQuJHNtYXJ0c3VwcCl0aHJvdyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFNlZW1zIGxpa2UgbG9hZGVyLmpzIGRpZCBub3QgaW5pdGlhbGl6ZSB3aWRnZXQuYCk7aWYoIWUucGFyZW50LiRzbWFydHN1cHAuZ2V0V2lkZ2V0KXRocm93IEVycm9yKGBHZXQgd2lkZ2V0IGZ1bmN0aW9uIHdhcyBub3Qgc3VwcGxpZWQgYnkgbG9hZGVyLmpzLmApO3JldHVybiBlLnBhcmVudC4kc21hcnRzdXBwLmdldFdpZGdldCh0KX07ZnVuY3Rpb24gYm8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKWVbcl09bltyXX1yZXR1cm4gZX12YXIgeG89e3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT1gImAmJihlPWUuc2xpY2UoMSwtMSkpLGUucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07ZnVuY3Rpb24gU28oZSx0KXtmdW5jdGlvbiBuKG4scixpKXtpZighKHR5cGVvZiBkb2N1bWVudD5gdWApKXtpPWJvKHt9LHQsaSksdHlwZW9mIGkuZXhwaXJlcz09YG51bWJlcmAmJihpLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKStpLmV4cGlyZXMqODY0ZTUpKSxpLmV4cGlyZXMmJj1pLmV4cGlyZXMudG9VVENTdHJpbmcoKSxuPWVuY29kZVVSSUNvbXBvbmVudChuKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgYT1gYDtmb3IodmFyIG8gaW4gaSlpW29dJiYoYSs9YDsgYCtvLGlbb10hPT0hMCYmKGErPWA9YCtpW29dLnNwbGl0KGA7YClbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPW4rYD1gK2Uud3JpdGUocixuKSthfX1mdW5jdGlvbiByKHQpe2lmKCEodHlwZW9mIGRvY3VtZW50PmB1YHx8YXJndW1lbnRzLmxlbmd0aCYmIXQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdChgOyBgKTpbXSxyPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXS5zcGxpdChgPWApLG89YS5zbGljZSgxKS5qb2luKGA9YCk7dHJ5e3ZhciBzPWRlY29kZVVSSUNvbXBvbmVudChhWzBdKTtpZihyW3NdPWUucmVhZChvLHMpLHQ9PT1zKWJyZWFrfWNhdGNoe319cmV0dXJuIHQ/clt0XTpyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0Om4sZ2V0OnIscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7bihlLGBgLGJvKHt9LHQse2V4cGlyZXM6LTF9KSl9LHdpdGhBdHRyaWJ1dGVzOmZ1bmN0aW9uKGUpe3JldHVybiBTbyh0aGlzLmNvbnZlcnRlcixibyh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBTbyhibyh7fSx0aGlzLmNvbnZlcnRlcixlKSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUodCl9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZShlKX19KX12YXIgQ289U28oeG8se3BhdGg6YC9gfSksd289YHNzdXBwYCxUbz0oZT0xODIpPT4oe2V4cGlyZXM6ZSxkb21haW46Vi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluLHBhdGg6Vi5nZXRPcHRpb25zKCkuY29va2llUGF0aHx8YC9gLHNhbWVTaXRlOmBzdHJpY3RgLHNlY3VyZTpCKCkubG9jYXRpb24ucHJvdG9jb2w9PT1gaHR0cHM6YH0pLEVvPWU9PmAke1YuZ2V0T3B0aW9ucygpLmNvb2tpZVByZWZpeHx8YGB9JHt3b30uJHtlfWAsRG89KHtuYW1lOmUsdmFsdWU6dCxleHBpcmF0aW9uSW5EYXlzOm49MTgyLG9wdGlvbnM6cn0pPT57Q28uc2V0KEVvKGUpLHQsey4uLlRvKG4pLC4uLnJ9KX0sT289ZT0+Q28uZ2V0KEVvKGUpKSxrbz1lPT57bGV0IHQ9RW8oZSk7aWYoQ28uZ2V0KHQpKXtsZXR7cGF0aDplLGRvbWFpbjpufT1UbygpO0NvLnJlbW92ZSh0LHtwYXRoOmUsZG9tYWluOm59KX19LEFvPWU9Pih0LC4uLm4pPT57ZShgW1NtYXJ0c3VwcF0gJHt0fWAsLi4ubil9LEg9QW8oY29uc29sZS53YXJuKSxqbz1Bbyhjb25zb2xlLmVycm9yKSxNbz0oKT0+e2xldHtrZXk6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7QigpLlNNQVJUU1VQUF9BVVRPQ1JFQVRFPT09ITE/YCR7eW8od2luZG93KS5pZH1fJHt3b31gOndvfV8ke2V9YH0sTm89ZT0+YCR7TW8oKX0ke2U/YF8ke2V9YDpgYH1gLFBvPWU9Pnt0cnl7bGV0IHQ9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5vKGUpKT8/YHt9YDtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm57fX19LEZvPShlLHQpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShObyh0KSxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7SChgU2V0IHRvIGxvY2FsIHN0b3JhZ2UgZmFpbGVkYCxlKX19LElvPShlLHQpPT57Rm8oey4uLlBvKCksW2VdOlN0cmluZyh0KX0pfSxMbz1lPT57bGV0IHQ9UG8oKTt0W2VdJiYoZGVsZXRlIHRbZV0sRm8odCkpfSxSbz0oKT0+e3dpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShObygpKSx3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTm8oYGNhcmRzYCkpfSxVPWZ1bmN0aW9uKGUpe3JldHVybiBlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuQXV0aEZvcm09YGF1dGhGb3JtYCxlLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZD1gaXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkYCxlLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQ9YG9wZW5lZGAsZS5NYXJrZXRpbmdDb25zZW50PWBtYXJrZXRpbmdDb25zZW50YCxlLk1lc3NhZ2U9YG1lc3NhZ2VgLGUuUG9wdXBDbG9zZWRBdD1gcG9wdXBDbG9zZWRBdGAsZS5SYXRpbmdUZXh0PWByYXRpbmdUZXh0YCxlLlNvdW5kc0VuYWJsZWQ9YGVuYWJsZVNvdW5kc2AsZS5WaXNpdG9ySWQ9YHZpZGAsZS5WaXNpdHM9YHZpc2l0c2AsZS5UaWNrZXRGb3JtPWB0aWNrZXRGb3JtYCxlLlNlc3Npb25JZD1gc2Vzc2lvbklkYCxlfSh7fSksem89ZT0+e2xldCB0PWBgO3JldHVybiBlPT09VS5WaXNpdG9ySWQmJlYuZ2V0T3B0aW9ucygpLmNvb2tpZURvbWFpbiYmKHQ9T28oZSkpLHR8fFBvKClbZV19LEJvPSh7bmFtZTplLHZhbHVlOnR9KT0+e2U9PT1VLlZpc2l0b3JJZCYmVi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluJiZEbyh7bmFtZTplLHZhbHVlOnR9KSxJbyhlLHQpfSxWbz1lPT57TG8oZSl9O3oub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxlPT57Qm8oe25hbWU6VS5BbmFseXRpY3NDb25zZW50LHZhbHVlOlN0cmluZyhlKX0pfSksei5vbihgbWFya2V0aW5nQ29uc2VudENoYW5nZWRgLGU9PntCbyh7bmFtZTpVLk1hcmtldGluZ0NvbnNlbnQsdmFsdWU6U3RyaW5nKGUpfSl9KTt2YXIgSG89KCk9PiEhVi5nZXRPcHRpb25zKCkuY29uc2VudE1vZGVFbmFibGVkLFVvPSgpPT57bGV0IGU9em8oVS5BbmFseXRpY3NDb25zZW50KT09PWB0cnVlYDtyZXR1cm4hKEhvKCkmJiFlKX0sV289KCk9PntsZXQgZT16byhVLk1hcmtldGluZ0NvbnNlbnQpPT09YHRydWVgO3JldHVybiEoSG8oKSYmIWUpfSxHbz1gbW9kdWxlcHJlbG9hZGAsS289ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFVSTChlLHQpLmhyZWZ9LHFvPXt9LEpvPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1Qcm9taXNlLnJlc29sdmUoKTtpZih0JiZ0Lmxlbmd0aD4wKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgbGlua2ApLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9cj1vKHQubWFwKHQ9PntpZih0PUtvKHQsbiksdCBpbiBxbylyZXR1cm47cW9bdF09ITA7bGV0IHI9dC5lbmRzV2l0aChgLmNzc2ApLGk9cj9gW3JlbD0ic3R5bGVzaGVldCJdYDpgYDtpZihuKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaT1lW25dO2lmKGkuaHJlZj09PXQmJighcnx8aS5yZWw9PT1gc3R5bGVzaGVldGApKXJldHVybn1lbHNlIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHt0fSJdJHtpfWApKXJldHVybjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCk7aWYoby5yZWw9cj9gc3R5bGVzaGVldGA6R28scnx8KG8uYXM9YHNjcmlwdGApLG8uY3Jvc3NPcmlnaW49YGAsby5ocmVmPXQsYSYmby5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxhKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pLHIpcmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57by5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+bihFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3R9YCkpKX0pfSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIHIudGhlbih0PT57Zm9yKGxldCBlIG9mIHR8fFtdKWUuc3RhdHVzPT09YHJlamVjdGVkYCYmaShlLnJlYXNvbik7cmV0dXJuIGUoKS5jYXRjaChpKX0pfSxZbz0oKT0+ISFWLmdldE9wdGlvbnMoKS5jcm9zc0RvbWFpbkVuYWJsZWQsWG89KCk9PlYuZ2V0T3B0aW9ucygpLmFsbG93ZWREb21haW5zLmxlbmd0aD4wLFpvPWFzeW5jKCk9Pnt0cnl7bGV0IGU9YXdhaXQgbmV3KGF3YWl0KEpvKCgpPT5pbXBvcnQoYC4vdGh1bWJtYXJrLmVzbS1DUDRDVTB5TC5qc2ApLFtdLGltcG9ydC5tZXRhLnVybCkpKS5UaHVtYm1hcmsoKS5nZXQoKTtyZXR1cm4gdm8oYFZpc2l0b3IgZmluZ2VycHJpbnQgY3JlYXRlZGAsZS50aHVtYm1hcmspLGUudGh1bWJtYXJrfWNhdGNoKGUpe0goYEZhaWxlZCB0byBnZW5lcmF0ZSBmaW5nZXJwcmludDpgLGUpfX0sUW89YXN5bmMoKT0+e2lmKCEoIVlvKCl8fCFYbygpKSlyZXR1cm4gWm8oKX0sJG89KCk9PnpvKFUuVmlzaXRvcklkKXx8bnVsbCxlcz1lPT5Cbyh7bmFtZTpVLlZpc2l0b3JJZCx2YWx1ZTpTdHJpbmcoZSl9KSx0cz0oKT0+e2lmKFdvKCkpcmV0dXJuIHpvKFUuVmlzaXRzKT9OdW1iZXIoem8oVS5WaXNpdHMpKTowfSxucz1lPT57V28oKSYmQm8oe25hbWU6VS5WaXNpdHMsdmFsdWU6U3RyaW5nKGUpfSl9O3oub24oYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCxlPT57ZXx8Vm8oVS5WaXNpdHMpfSk7dmFyIHJzPShlLHQsbik9PntsZXR7c2V0OnIsc3Vic2NyaWJlOml9PU8odCx0PT57bGV0IHI9em8oZSk7ciYmdChuP24ocik6cil9KSxhPXQ9PntCbyh7bmFtZTplLHZhbHVlOlN0cmluZyh0KX0pfTtyZXR1cm57c2V0OmU9PnthKGUpLHIoZSl9LHN1YnNjcmliZTppfX0saXM9KCk9PmBvbnRvdWNoc3RhcnRgaW4gd2luZG93fHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFzPSgpPT5bYGlQYWQgU2ltdWxhdG9yYCxgaVBob25lIFNpbXVsYXRvcmAsYGlQb2QgU2ltdWxhdG9yYCxgaVBhZGAsYGlQaG9uZWAsYGlQb2RgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKGBNYWNgKSYmYG9udG91Y2hlbmRgaW4gZG9jdW1lbnQsb3M9TyhudWxsKSxzcz1rKFtvcyxPKHt3aWR0aDpCKCkuaW5uZXJXaWR0aCxoZWlnaHQ6QigpLmlubmVySGVpZ2h0fSldLChbZSx0XSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOm59PVYuZ2V0T3B0aW9ucygpO2lmKG4/LmVuZm9yY2VEZXNrdG9wTW9kZSlyZXR1cm4hMTtpZihlKXtsZXR7aXNNb2JpbGU6dCxpc1RhYmxldDpufT1lO2lmKG4pcmV0dXJuITE7aWYodClyZXR1cm4hMH1yZXR1cm4gdC53aWR0aDw0NTB8fHQuaGVpZ2h0PDUwMH0pLGNzPWsoW3NzXSwoW2VdKT0+e2xldHtmdWxsU2NyZWVuRW5hYmxlZDp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4hIShlfHx0KX0pLGxzPWsoW29zXSwoW2VdKT0+ZT8hIWU/LmlzRGVza3RvcCYmIWFzKCk6IWlzKCkpLHVzPWsoW2xzLGNzXSwoW2UsdF0pPT5lJiYhdCk7ayhbb3NdLChbZV0pPT4hIWU/LmlzVGFibGV0KTt2YXIgZHM9KCgpPT57bGV0IGU9Tyh7fSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lO3JldHVybntzdWJzY3JpYmU6dCxhZGQ6ZT0+e24odD0+KHsuLi50LFtlLmlkXTplfSkpfSxyZW1vdmU6ZT0+e24odD0+e2xldHtbZV06biwuLi5yfT10O3JldHVybiByfSl9LGZpbmQ6dD0+QShlKVt0XXx8bnVsbH19KSgpLGZzPWsoW2RzXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKSkscHM9ZT0+KHQsbj0zZTMpPT57bGV0IHI9YGZtLSR7ZX0tJHt0fWAsaT1kcy5maW5kKHIpLGE9MTtpJiYoY2xlYXJUaW1lb3V0KGkudGltZW91dCksYT1pLnJlY3VycmVuY2UrMSk7bGV0IG87cmV0dXJuIG4+MCYmKG89d2luZG93LnNldFRpbWVvdXQoKCk9PnttcyhyKX0sbikpLGRzLmFkZCh7aWQ6cix0eXBlOmUsdGV4dDp0LHRpbWVvdXQ6byxyZWN1cnJlbmNlOmF9KSwoKT0+bXMocil9LG1zPWU9Pntkcy5yZW1vdmUoZSl9LGhzPXBzKGBzdWNjZXNzYCksZ3M9cHMoYGVycm9yYCksX3M9cHMoYHdhcm5pbmdgKSx2cz1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkdvb2Q9NV09YEdvb2RgLGVbZS5Ob3JtYWw9M109YE5vcm1hbGAsZVtlLkJhZD0xXT1gQmFkYCxlfSh7fSkseXM9e1t2cy5Hb29kXTp7dmFsdWU6dnMuR29vZCx0ZXh0OmBhZ2VudFJhdGluZy5nb29kLmZvcm1UZXh0YCxuYW1lOmBnb29kYH0sW3ZzLk5vcm1hbF06e3ZhbHVlOnZzLk5vcm1hbCx0ZXh0OmBhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHRgLG5hbWU6YG5ldXRyYWxgfSxbdnMuQmFkXTp7dmFsdWU6dnMuQmFkLHRleHQ6YGFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dGAsbmFtZTpgYmFkYH19LGJzPU9iamVjdC52YWx1ZXMoeXMpLnNvcnQoKGUsdCk9PnQudmFsdWUtZS52YWx1ZSkseHM9YHJhdGVfZm9ybV9pZGAsU3M9e2lkOnhzLHR5cGU6YG1lc3NhZ2VgLHN1YlR5cGU6YHN5c3RlbWAsY2hhbm5lbDp7dHlwZTpgZGVmYXVsdGAsaWQ6bnVsbH0sY2hhdElkOmBgLHZpc2l0b3JJZDpgYCxncm91cElkOm51bGwsYWdlbnRJZDpudWxsLHRyaWdnZXI6bnVsbCxjcmVhdGVkQXQ6YGAsY29udGVudDp7dHlwZTpgcmF0ZV9mb3JtYCxkYXRhOnt9fSxhdHRhY2htZW50czpbXSxzdWJqZWN0Om51bGwsZm9yd2FyZGVkTWVzc2FnZUlkOm51bGwscGFydGljaXBhbnRzOltdLHJlcGx5VG9NZXNzYWdlSWQ6bnVsbCxkZWxldGVkQXQ6bnVsbCx3aWRnZXRPcHRpb25zOntkaXNhYmxlSW5wdXQ6ITEsZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiExLGRpc2FibGVBdHRhY2htZW50czohMX19LENzPU8obnVsbCksd3M9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjcscz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBjKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNGaW5pdGUoZSkpcmV0dXJuIHQubG9uZz91KGUpOmwoZSk7dGhyb3cgRXJyb3IoYHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9YCtKU09OLnN0cmluZ2lmeShlKSl9O2Z1bmN0aW9uIGMoZSl7aWYoZT1TdHJpbmcoZSksIShlLmxlbmd0aD4xMDApKXt2YXIgdD0vXigtPyg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIGM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIGMqcztjYXNlYHdlZWtzYDpjYXNlYHdlZWtgOmNhc2Vgd2A6cmV0dXJuIGMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBjKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gYyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIGMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBjKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gbChlKXt2YXIgdD1NYXRoLmFicyhlKTtyZXR1cm4gdD49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOnQ+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDp0Pj1yP01hdGgucm91bmQoZS9yKStgbWA6dD49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiB1KGUpe3ZhciB0PU1hdGguYWJzKGUpO3JldHVybiB0Pj1hP2QoZSx0LGEsYGRheWApOnQ+PWk/ZChlLHQsaSxgaG91cmApOnQ+PXI/ZChlLHQscixgbWludXRlYCk6dD49bj9kKGUsdCxuLGBzZWNvbmRgKTplK2AgbXNgfWZ1bmN0aW9uIGQoZSx0LG4scil7dmFyIGk9dD49bioxLjU7cmV0dXJuIE1hdGgucm91bmQoZS9uKStgIGArcisoaT9gc2A6YGApfX0pKSxUcz1zKCgoZSx0KT0+e2Z1bmN0aW9uIG4oZSl7bi5kZWJ1Zz1uLG4uZGVmYXVsdD1uLG4uY29lcmNlPWMsbi5kaXNhYmxlPW8sbi5lbmFibGU9aSxuLmVuYWJsZWQ9cyxuLmh1bWFuaXplPXdzKCksbi5kZXN0cm95PWwsT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57blt0XT1lW3RdfSksbi5uYW1lcz1bXSxuLnNraXBzPVtdLG4uZm9ybWF0dGVycz17fTtmdW5jdGlvbiB0KGUpe2xldCB0PTA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdD0odDw8NSktdCtlLmNoYXJDb2RlQXQobiksdHw9MDtyZXR1cm4gbi5jb2xvcnNbTWF0aC5hYnModCklbi5jb2xvcnMubGVuZ3RoXX1uLnNlbGVjdENvbG9yPXQ7ZnVuY3Rpb24gbihlKXtsZXQgdCxpPW51bGwsYSxvO2Z1bmN0aW9uIHMoLi4uZSl7aWYoIXMuZW5hYmxlZClyZXR1cm47bGV0IHI9cyxpPU51bWJlcihuZXcgRGF0ZSk7ci5kaWZmPWktKHR8fGkpLHIucHJldj10LHIuY3Vycj1pLHQ9aSxlWzBdPW4uY29lcmNlKGVbMF0pLHR5cGVvZiBlWzBdIT1gc3RyaW5nYCYmZS51bnNoaWZ0KGAlT2ApO2xldCBhPTA7ZVswXT1lWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCh0LGkpPT57aWYodD09PWAlJWApcmV0dXJuYCVgO2ErKztsZXQgbz1uLmZvcm1hdHRlcnNbaV07aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2xldCBuPWVbYV07dD1vLmNhbGwocixuKSxlLnNwbGljZShhLDEpLGEtLX1yZXR1cm4gdH0pLG4uZm9ybWF0QXJncy5jYWxsKHIsZSksKHIubG9nfHxuLmxvZykuYXBwbHkocixlKX1yZXR1cm4gcy5uYW1lc3BhY2U9ZSxzLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLHMuY29sb3I9bi5zZWxlY3RDb2xvcihlKSxzLmV4dGVuZD1yLHMuZGVzdHJveT1uLmRlc3Ryb3ksT2JqZWN0LmRlZmluZVByb3BlcnR5KHMsYGVuYWJsZWRgLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMSxnZXQ6KCk9Pmk9PT1udWxsPyhhIT09bi5uYW1lc3BhY2VzJiYoYT1uLm5hbWVzcGFjZXMsbz1uLmVuYWJsZWQoZSkpLG8pOmksc2V0OmU9PntpPWV9fSksdHlwZW9mIG4uaW5pdD09YGZ1bmN0aW9uYCYmbi5pbml0KHMpLHN9ZnVuY3Rpb24gcihlLHQpe2xldCByPW4odGhpcy5uYW1lc3BhY2UrKHQ9PT12b2lkIDA/YDpgOnQpK2UpO3JldHVybiByLmxvZz10aGlzLmxvZyxyfWZ1bmN0aW9uIGkoZSl7bi5zYXZlKGUpLG4ubmFtZXNwYWNlcz1lLG4ubmFtZXM9W10sbi5za2lwcz1bXTtsZXQgdD0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnRyaW0oKS5yZXBsYWNlKC9ccysvZyxgLGApLnNwbGl0KGAsYCkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZSBvZiB0KWVbMF09PT1gLWA/bi5za2lwcy5wdXNoKGUuc2xpY2UoMSkpOm4ubmFtZXMucHVzaChlKX1mdW5jdGlvbiBhKGUsdCl7bGV0IG49MCxyPTAsaT0tMSxhPTA7Zm9yKDtuPGUubGVuZ3RoOylpZihyPHQubGVuZ3RoJiYodFtyXT09PWVbbl18fHRbcl09PT1gKmApKXRbcl09PT1gKmA/KGk9cixhPW4scisrKToobisrLHIrKyk7ZWxzZSBpZihpIT09LTEpcj1pKzEsYSsrLG49YTtlbHNlIHJldHVybiExO2Zvcig7cjx0Lmxlbmd0aCYmdFtyXT09PWAqYDspcisrO3JldHVybiByPT09dC5sZW5ndGh9ZnVuY3Rpb24gbygpe2xldCBlPVsuLi5uLm5hbWVzLC4uLm4uc2tpcHMubWFwKGU9PmAtYCtlKV0uam9pbihgLGApO3JldHVybiBuLmVuYWJsZShgYCksZX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBuLnNraXBzKWlmKGEoZSx0KSlyZXR1cm4hMTtmb3IobGV0IHQgb2Ygbi5uYW1lcylpZihhKGUsdCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2t8fGUubWVzc2FnZTplfWZ1bmN0aW9uIGwoKXtjb25zb2xlLndhcm4oIkluc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4iKX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksRXM9cygoKGUsdCk9PntlLmZvcm1hdEFyZ3M9cixlLnNhdmU9aSxlLmxvYWQ9YSxlLnVzZUNvbG9ycz1uLGUuc3RvcmFnZT1vKCksZS5kZXN0cm95PSgoKT0+e2xldCBlPSExO3JldHVybigpPT57ZXx8KGU9ITAsY29uc29sZS53YXJuKCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuIikpfX0pKCksZS5jb2xvcnM9YCMwMDAwQ0MuIzAwMDBGRi4jMDAzM0NDLiMwMDMzRkYuIzAwNjZDQy4jMDA2NkZGLiMwMDk5Q0MuIzAwOTlGRi4jMDBDQzAwLiMwMENDMzMuIzAwQ0M2Ni4jMDBDQzk5LiMwMENDQ0MuIzAwQ0NGRi4jMzMwMENDLiMzMzAwRkYuIzMzMzNDQy4jMzMzM0ZGLiMzMzY2Q0MuIzMzNjZGRi4jMzM5OUNDLiMzMzk5RkYuIzMzQ0MwMC4jMzNDQzMzLiMzM0NDNjYuIzMzQ0M5OS4jMzNDQ0NDLiMzM0NDRkYuIzY2MDBDQy4jNjYwMEZGLiM2NjMzQ0MuIzY2MzNGRi4jNjZDQzAwLiM2NkNDMzMuIzk5MDBDQy4jOTkwMEZGLiM5OTMzQ0MuIzk5MzNGRi4jOTlDQzAwLiM5OUNDMzMuI0NDMDAwMC4jQ0MwMDMzLiNDQzAwNjYuI0NDMDA5OS4jQ0MwMENDLiNDQzAwRkYuI0NDMzMwMC4jQ0MzMzMzLiNDQzMzNjYuI0NDMzM5OS4jQ0MzM0NDLiNDQzMzRkYuI0NDNjYwMC4jQ0M2NjMzLiNDQzk5MDAuI0NDOTkzMy4jQ0NDQzAwLiNDQ0NDMzMuI0ZGMDAwMC4jRkYwMDMzLiNGRjAwNjYuI0ZGMDA5OS4jRkYwMENDLiNGRjAwRkYuI0ZGMzMwMC4jRkYzMzMzLiNGRjMzNjYuI0ZGMzM5OS4jRkYzM0NDLiNGRjMzRkYuI0ZGNjYwMC4jRkY2NjMzLiNGRjk5MDAuI0ZGOTkzMy4jRkZDQzAwLiNGRkNDMzNgLnNwbGl0KGAuYCk7ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpKXJldHVybiEwO2lmKHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pKXJldHVybiExO2xldCBlO3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmKGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSYmcGFyc2VJbnQoZVsxXSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZS5sb2c9Y29uc29sZS5kZWJ1Z3x8Y29uc29sZS5sb2d8fCgoKT0+e30pO2Z1bmN0aW9uIGkodCl7dHJ5e3Q/ZS5zdG9yYWdlLnNldEl0ZW0oYGRlYnVnYCx0KTplLnN0b3JhZ2UucmVtb3ZlSXRlbShgZGVidWdgKX1jYXRjaHt9fWZ1bmN0aW9uIGEoKXtsZXQgdDt0cnl7dD1lLnN0b3JhZ2UuZ2V0SXRlbShgZGVidWdgKXx8ZS5zdG9yYWdlLmdldEl0ZW0oYERFQlVHYCl9Y2F0Y2h7fXJldHVybiF0JiZ0eXBlb2YgcHJvY2VzczxgdWAmJmBlbnZgaW4gcHJvY2VzcyYmKHQ9e30uREVCVUcpLHR9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlfWNhdGNoe319dC5leHBvcnRzPVRzKCkoZSk7dmFye2Zvcm1hdHRlcnM6c309dC5leHBvcnRzO3Muaj1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybmBbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogYCtlLm1lc3NhZ2V9fX0pKSxEcz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuY3JlYXRlRW1pdHRlcj1lLmNyZWF0ZUNhbGxiYWNrPWUuYm91bmQ9ZS5jcmVhdGVTb2NrZXRFcnJvcj1lLlNvY2tldEVycm9yPWUuZGVidWc9dm9pZCAwLGUuZGVidWc9bigpO2Z1bmN0aW9uIG4oKXt0cnl7cmV0dXJuIEVzKCkoYHNtYXJ0c3VwcDpjbGllbnRgKX1jYXRjaHtyZXR1cm4gZnVuY3Rpb24oKXt9fX12YXIgcj1mdW5jdGlvbihlKXt0KG4sZSk7ZnVuY3Rpb24gbih0LHIpe3ZhciBpPWUuY2FsbCh0aGlzLHQpfHx0aGlzO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxuLnByb3RvdHlwZSksaS5uYW1lPWkuY29uc3RydWN0b3IubmFtZSxpLmNvZGU9ci5jb2RlLGkudHlwZT1yLnR5cGUsaS5ldmVudD1yLmV2ZW50LHImJnIuc3RhY2smJihpLnN0YWNrPWAke2kuc3RhY2t9CkNhdXNlZCBCeTogJHtyLnN0YWNrfWApLGl9cmV0dXJuIG59KEVycm9yKTtlLlNvY2tldEVycm9yPXI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbmV3IHIoZS5tZXNzYWdlLGUpfWUuY3JlYXRlU29ja2V0RXJyb3I9aTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Wy4uLmFyZ3VtZW50c107ZVt0XS5hcHBseShlLG4pfX1lLmJvdW5kPWE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe24/dChpKG4pKTplKHIpfX1lLmNyZWF0ZUNhbGxiYWNrPW87ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlLmVtaXQodCxuKX19ZS5jcmVhdGVFbWl0dGVyPXN9KSksT3M9cygoKGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9YH5gO2Z1bmN0aW9uIGkoKXt9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksbmV3IGkoKS5fX3Byb3RvX198fChyPSExKSk7ZnVuY3Rpb24gYShlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBvKGUsdCxuLGksbyl7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgVHlwZUVycm9yKGBUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uYCk7dmFyIHM9bmV3IGEobixpfHxlLG8pLGM9cj9yK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW2NdP2UuX2V2ZW50c1tjXS5mbj9lLl9ldmVudHNbY109W2UuX2V2ZW50c1tjXSxzXTplLl9ldmVudHNbY10ucHVzaChzKTooZS5fZXZlbnRzW2NdPXMsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBzKGUsdCl7LS1lLl9ldmVudHNDb3VudD09PTA/ZS5fZXZlbnRzPW5ldyBpOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYygpe3RoaXMuX2V2ZW50cz1uZXcgaSx0aGlzLl9ldmVudHNDb3VudD0wfWMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0LGk7aWYodGhpcy5fZXZlbnRzQ291bnQ9PT0wKXJldHVybiBlO2ZvcihpIGluIHQ9dGhpcy5fZXZlbnRzKW4uY2FsbCh0LGkpJiZlLnB1c2gocj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2UuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpOmV9LGMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgaT0wLGE9bi5sZW5ndGgsbz1BcnJheShhKTtpPGE7aSsrKW9baV09bltpXS5mbjtyZXR1cm4gb30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO3JldHVybiBuP24uZm4/MTpuLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxuLGksYSxvKXt2YXIgcz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbc10pcmV0dXJuITE7dmFyIGM9dGhpcy5fZXZlbnRzW3NdLGw9YXJndW1lbnRzLmxlbmd0aCx1LGQ7aWYoYy5mbil7c3dpdGNoKGMub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGMuZm4sdm9pZCAwLCEwKSxsKXtjYXNlIDE6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuKSwhMDtjYXNlIDQ6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGkpLCEwO2Nhc2UgNTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0LG4saSxhKSwhMDtjYXNlIDY6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGksYSxvKSwhMH1mb3IoZD0xLHU9QXJyYXkobC0xKTtkPGw7ZCsrKXVbZC0xXT1hcmd1bWVudHNbZF07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZj1jLmxlbmd0aCxwO2ZvcihkPTA7ZDxmO2QrKylzd2l0Y2goY1tkXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsY1tkXS5mbix2b2lkIDAsITApLGwpe2Nhc2UgMTpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0KTticmVhaztjYXNlIDM6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihwPTEsdT1BcnJheShsLTEpO3A8bDtwKyspdVtwLTFdPWFyZ3VtZW50c1twXTtjW2RdLmZuLmFwcGx5KGNbZF0uY29udGV4dCx1KX19cmV0dXJuITB9LGMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCExKX0sYy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8odGhpcyxlLHQsbiwhMCl9LGMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGEpLHRoaXM7dmFyIG89dGhpcy5fZXZlbnRzW2FdO2lmKG8uZm4pby5mbj09PXQmJighaXx8by5vbmNlKSYmKCFufHxvLmNvbnRleHQ9PT1uKSYmcyh0aGlzLGEpO2Vsc2V7Zm9yKHZhciBjPTAsbD1bXSx1PW8ubGVuZ3RoO2M8dTtjKyspKG9bY10uZm4hPT10fHxpJiYhb1tjXS5vbmNlfHxuJiZvW2NdLmNvbnRleHQhPT1uKSYmbC5wdXNoKG9bY10pO2wubGVuZ3RoP3RoaXMuX2V2ZW50c1thXT1sLmxlbmd0aD09PTE/bFswXTpsOnModGhpcyxhKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PXI/citlOmUsdGhpcy5fZXZlbnRzW3RdJiZzKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9cixjLkV2ZW50RW1pdHRlcj1jLHQhPT12b2lkIDAmJih0LmV4cG9ydHM9Yyl9KSksa3M9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsaT1lLmluZGV4T2YoYFtgKSxhPWUuaW5kZXhPZihgXWApO2khPS0xJiZhIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxpKStlLnN1YnN0cmluZyhpLGEpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKGEsZS5sZW5ndGgpKTtmb3IodmFyIG89bi5leGVjKGV8fGBgKSxzPXt9LGM9MTQ7Yy0tOylzW3JbY11dPW9bY118fGBgO3JldHVybiBpIT0tMSYmYSE9LTEmJihzLnNvdXJjZT10LHMuaG9zdD1zLmhvc3Quc3Vic3RyaW5nKDEscy5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxzLmF1dGhvcml0eT1zLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLHMuaXB2NnVyaT0hMCksc319KSksQXM9cygoKGUsdCk9PntmdW5jdGlvbiBuKGUpe24uZGVidWc9bixuLmRlZmF1bHQ9bixuLmNvZXJjZT1sLG4uZGlzYWJsZT1vLG4uZW5hYmxlPWEsbi5lbmFibGVkPXMsbi5odW1hbml6ZT13cygpLE9iamVjdC5rZXlzKGUpLmZvckVhY2godD0+e25bdF09ZVt0XX0pLG4uaW5zdGFuY2VzPVtdLG4ubmFtZXM9W10sbi5za2lwcz1bXSxuLmZvcm1hdHRlcnM9e307ZnVuY3Rpb24gdChlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQ9KHQ8PDUpLXQrZS5jaGFyQ29kZUF0KG4pLHR8PTA7cmV0dXJuIG4uY29sb3JzW01hdGguYWJzKHQpJW4uY29sb3JzLmxlbmd0aF19bi5zZWxlY3RDb2xvcj10O2Z1bmN0aW9uIG4oZSl7bGV0IGE7ZnVuY3Rpb24gbyguLi5lKXtpZighby5lbmFibGVkKXJldHVybjtsZXQgdD1vLHI9TnVtYmVyKG5ldyBEYXRlKTt0LmRpZmY9ci0oYXx8ciksdC5wcmV2PWEsdC5jdXJyPXIsYT1yLGVbMF09bi5jb2VyY2UoZVswXSksdHlwZW9mIGVbMF0hPWBzdHJpbmdgJiZlLnVuc2hpZnQoYCVPYCk7bGV0IGk9MDtlWzBdPWVbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csKHIsYSk9PntpZihyPT09YCUlYClyZXR1cm4gcjtpKys7bGV0IG89bi5mb3JtYXR0ZXJzW2FdO2lmKHR5cGVvZiBvPT1gZnVuY3Rpb25gKXtsZXQgbj1lW2ldO3I9by5jYWxsKHQsbiksZS5zcGxpY2UoaSwxKSxpLS19cmV0dXJuIHJ9KSxuLmZvcm1hdEFyZ3MuY2FsbCh0LGUpLCh0LmxvZ3x8bi5sb2cpLmFwcGx5KHQsZSl9cmV0dXJuIG8ubmFtZXNwYWNlPWUsby5lbmFibGVkPW4uZW5hYmxlZChlKSxvLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLG8uY29sb3I9dChlKSxvLmRlc3Ryb3k9cixvLmV4dGVuZD1pLHR5cGVvZiBuLmluaXQ9PWBmdW5jdGlvbmAmJm4uaW5pdChvKSxuLmluc3RhbmNlcy5wdXNoKG8pLG99ZnVuY3Rpb24gcigpe2xldCBlPW4uaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7cmV0dXJuIGU9PT0tMT8hMToobi5pbnN0YW5jZXMuc3BsaWNlKGUsMSksITApfWZ1bmN0aW9uIGkoZSx0KXtsZXQgcj1uKHRoaXMubmFtZXNwYWNlKyh0PT09dm9pZCAwP2A6YDp0KStlKTtyZXR1cm4gci5sb2c9dGhpcy5sb2cscn1mdW5jdGlvbiBhKGUpe24uc2F2ZShlKSxuLm5hbWVzPVtdLG4uc2tpcHM9W107bGV0IHQscj0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnNwbGl0KC9bXHMsXSsvKSxpPXIubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKylyW3RdJiYoZT1yW3RdLnJlcGxhY2UoL1wqL2csYC4qP2ApLGVbMF09PT1gLWA/bi5za2lwcy5wdXNoKFJlZ0V4cChgXmArZS5zdWJzdHIoMSkrYCRgKSk6bi5uYW1lcy5wdXNoKFJlZ0V4cChgXmArZStgJGApKSk7Zm9yKHQ9MDt0PG4uaW5zdGFuY2VzLmxlbmd0aDt0Kyspe2xldCBlPW4uaW5zdGFuY2VzW3RdO2UuZW5hYmxlZD1uLmVuYWJsZWQoZS5uYW1lc3BhY2UpfX1mdW5jdGlvbiBvKCl7bGV0IGU9Wy4uLm4ubmFtZXMubWFwKGMpLC4uLm4uc2tpcHMubWFwKGMpLm1hcChlPT5gLWArZSldLmpvaW4oYCxgKTtyZXR1cm4gbi5lbmFibGUoYGApLGV9ZnVuY3Rpb24gcyhlKXtpZihlW2UubGVuZ3RoLTFdPT09YCpgKXJldHVybiEwO2xldCB0LHI7Zm9yKHQ9MCxyPW4uc2tpcHMubGVuZ3RoO3Q8cjt0KyspaWYobi5za2lwc1t0XS50ZXN0KGUpKXJldHVybiExO2Zvcih0PTAscj1uLm5hbWVzLmxlbmd0aDt0PHI7dCsrKWlmKG4ubmFtZXNbdF0udGVzdChlKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIsZS50b1N0cmluZygpLmxlbmd0aC0yKS5yZXBsYWNlKC9cLlwqXD8kLyxgKmApfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksanM9cygoKGUsdCk9PntlLmxvZz1pLGUuZm9ybWF0QXJncz1yLGUuc2F2ZT1hLGUubG9hZD1vLGUudXNlQ29sb3JzPW4sZS5zdG9yYWdlPXMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpPyEwOnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pPyExOnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZXx8dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5jb25zb2xlJiYod2luZG93LmNvbnNvbGUuZmlyZWJ1Z3x8d2luZG93LmNvbnNvbGUuZXhjZXB0aW9uJiZ3aW5kb3cuY29uc29sZS50YWJsZSl8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykmJnBhcnNlSW50KFJlZ0V4cC4kMSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coLi4uZSl9ZnVuY3Rpb24gYSh0KXt0cnl7dD9lLnN0b3JhZ2Uuc2V0SXRlbShgZGVidWdgLHQpOmUuc3RvcmFnZS5yZW1vdmVJdGVtKGBkZWJ1Z2ApfWNhdGNoe319ZnVuY3Rpb24gbygpe2xldCB0O3RyeXt0PWUuc3RvcmFnZS5nZXRJdGVtKGBkZWJ1Z2ApfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWZ1bmN0aW9uIHMoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZX1jYXRjaHt9fXQuZXhwb3J0cz1BcygpKGUpO3Zhcntmb3JtYXR0ZXJzOmN9PXQuZXhwb3J0cztjLmo9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm5gW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IGArZS5tZXNzYWdlfX19KSksTXM9cygoKGUsdCk9Pnt2YXIgbj1rcygpLHI9anMoKShgc29ja2V0LmlvLWNsaWVudDp1cmxgKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZTt0fHw9dHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24sZT8/PXQucHJvdG9jb2wrYC8vYCt0Lmhvc3QsdHlwZW9mIGU9PWBzdHJpbmdgJiYoZS5jaGFyQXQoMCk9PT1gL2AmJihlPWUuY2hhckF0KDEpPT09YC9gP3QucHJvdG9jb2wrZTp0Lmhvc3QrZSksL14oaHR0cHM/fHdzcz8pOlwvXC8vLnRlc3QoZSl8fChyKGBwcm90b2NvbC1sZXNzIHVybCAlc2AsZSksZT10PT09dm9pZCAwP2BodHRwczovL2ArZTp0LnByb3RvY29sK2AvL2ArZSkscihgcGFyc2UgJXNgLGUpLGk9bihlKSksaS5wb3J0fHwoL14oaHR0cHx3cykkLy50ZXN0KGkucHJvdG9jb2wpP2kucG9ydD1gODBgOi9eKGh0dHB8d3MpcyQvLnRlc3QoaS5wcm90b2NvbCkmJihpLnBvcnQ9YDQ0M2ApKSxpLnBhdGg9aS5wYXRofHxgL2A7dmFyIGE9aS5ob3N0LmluZGV4T2YoYDpgKT09PS0xP2kuaG9zdDpgW2AraS5ob3N0K2BdYDtyZXR1cm4gaS5pZD1pLnByb3RvY29sK2A6Ly9gK2ErYDpgK2kucG9ydCxpLmhyZWY9aS5wcm90b2NvbCtgOi8vYCthKyh0JiZ0LnBvcnQ9PT1pLnBvcnQ/YGA6YDpgK2kucG9ydCksaX19KSksTnM9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBzKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNOYU4oZSk9PT0hMSlyZXR1cm4gdC5sb25nP2woZSk6YyhlKTt0aHJvdyBFcnJvcihgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD1gK0pTT04uc3RyaW5naWZ5KGUpKX07ZnVuY3Rpb24gcyhlKXtpZihlPVN0cmluZyhlKSwhKGUubGVuZ3RoPjEwMCkpe3ZhciB0PS9eKCg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIHM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIHMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBzKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gcyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIHMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBzKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIHM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOmU+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDplPj1yP01hdGgucm91bmQoZS9yKStgbWA6ZT49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiBsKGUpe3JldHVybiB1KGUsYSxgZGF5YCl8fHUoZSxpLGBob3VyYCl8fHUoZSxyLGBtaW51dGVgKXx8dShlLG4sYHNlY29uZGApfHxlK2AgbXNgfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKCEoZTx0KSlyZXR1cm4gZTx0KjEuNT9NYXRoLmZsb29yKGUvdCkrYCBgK246TWF0aC5jZWlsKGUvdCkrYCBgK24rYHNgfX0pKSxQcz1zKCgoZSx0KT0+e2U9dC5leHBvcnRzPXIuZGVidWc9ci5kZWZhdWx0PXIsZS5jb2VyY2U9YyxlLmRpc2FibGU9byxlLmVuYWJsZT1hLGUuZW5hYmxlZD1zLGUuaHVtYW5pemU9TnMoKSxlLmluc3RhbmNlcz1bXSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O2Z1bmN0aW9uIG4odCl7dmFyIG49MCxyO2ZvcihyIGluIHQpbj0objw8NSktbit0LmNoYXJDb2RlQXQociksbnw9MDtyZXR1cm4gZS5jb2xvcnNbTWF0aC5hYnMobiklZS5jb2xvcnMubGVuZ3RoXX1mdW5jdGlvbiByKHQpe3ZhciByO2Z1bmN0aW9uIGEoKXtpZihhLmVuYWJsZWQpe3ZhciB0PWEsbj0rbmV3IERhdGU7dC5kaWZmPW4tKHJ8fG4pLHQucHJldj1yLHQuY3Vycj1uLHI9bjtmb3IodmFyIGk9QXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbz0wO288aS5sZW5ndGg7bysrKWlbb109YXJndW1lbnRzW29dO2lbMF09ZS5jb2VyY2UoaVswXSksdHlwZW9mIGlbMF0hPWBzdHJpbmdgJiZpLnVuc2hpZnQoYCVPYCk7dmFyIHM9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZihuPT09YCUlYClyZXR1cm4gbjtzKys7dmFyIGE9ZS5mb3JtYXR0ZXJzW3JdO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKXt2YXIgbz1pW3NdO249YS5jYWxsKHQsbyksaS5zcGxpY2UocywxKSxzLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpLChhLmxvZ3x8ZS5sb2d8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSkpLmFwcGx5KHQsaSl9fXJldHVybiBhLm5hbWVzcGFjZT10LGEuZW5hYmxlZD1lLmVuYWJsZWQodCksYS51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxhLmNvbG9yPW4odCksYS5kZXN0cm95PWksdHlwZW9mIGUuaW5pdD09YGZ1bmN0aW9uYCYmZS5pbml0KGEpLGUuaW5zdGFuY2VzLnB1c2goYSksYX1mdW5jdGlvbiBpKCl7dmFyIHQ9ZS5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtyZXR1cm4gdD09PS0xPyExOihlLmluc3RhbmNlcy5zcGxpY2UodCwxKSwhMCl9ZnVuY3Rpb24gYSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO3ZhciBuLHI9KHR5cGVvZiB0PT1gc3RyaW5nYD90OmBgKS5zcGxpdCgvW1xzLF0rLyksaT1yLmxlbmd0aDtmb3Iobj0wO248aTtuKyspcltuXSYmKHQ9cltuXS5yZXBsYWNlKC9cKi9nLGAuKj9gKSx0WzBdPT09YC1gP2Uuc2tpcHMucHVzaChSZWdFeHAoYF5gK3Quc3Vic3RyKDEpK2AkYCkpOmUubmFtZXMucHVzaChSZWdFeHAoYF5gK3QrYCRgKSkpO2ZvcihuPTA7bjxlLmluc3RhbmNlcy5sZW5ndGg7bisrKXt2YXIgYT1lLmluc3RhbmNlc1tuXTthLmVuYWJsZWQ9ZS5lbmFibGVkKGEubmFtZXNwYWNlKX19ZnVuY3Rpb24gbygpe2UuZW5hYmxlKGBgKX1mdW5jdGlvbiBzKHQpe2lmKHRbdC5sZW5ndGgtMV09PT1gKmApcmV0dXJuITA7dmFyIG4scjtmb3Iobj0wLHI9ZS5za2lwcy5sZW5ndGg7bjxyO24rKylpZihlLnNraXBzW25dLnRlc3QodCkpcmV0dXJuITE7Zm9yKG49MCxyPWUubmFtZXMubGVuZ3RoO248cjtuKyspaWYoZS5uYW1lc1tuXS50ZXN0KHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX19KSksRnM9cygoKGUsdCk9PntlPXQuZXhwb3J0cz1QcygpLGUubG9nPWksZS5mb3JtYXRBcmdzPXIsZS5zYXZlPWEsZS5sb2FkPW8sZS51c2VDb2xvcnM9bixlLnN0b3JhZ2U9dHlwZW9mIGNocm9tZTxgdWAmJmNocm9tZS5zdG9yYWdlIT09dm9pZCAwP2Nocm9tZS5zdG9yYWdlLmxvY2FsOnMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmd2luZG93LnByb2Nlc3MudHlwZT09PWByZW5kZXJlcmA/ITA6dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcLyhcZCspLyk/ITE6dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlfHx0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmNvbnNvbGUmJih3aW5kb3cuY29uc29sZS5maXJlYnVnfHx3aW5kb3cuY29uc29sZS5leGNlcHRpb24mJndpbmRvdy5jb25zb2xlLnRhYmxlKXx8dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFwvKFxkKykvKSYmcGFyc2VJbnQoUmVnRXhwLiQxLDEwKT49MzF8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XC8oXGQrKS8pfWUuZm9ybWF0dGVycy5qPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuYFtVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiBgK2UubWVzc2FnZX19O2Z1bmN0aW9uIHIodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj9gJWNgOmBgKSt0aGlzLm5hbWVzcGFjZSsobj9gICVjYDpgIGApK3RbMF0rKG4/YCVjIGA6YCBgKStgK2ArZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPWBjb2xvcjogYCt0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLGBjb2xvcjogaW5oZXJpdGApO3ZhciBpPTAsYT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKGUpe2UhPT1gJSVgJiYoaSsrLGU9PT1gJWNgJiYoYT1pKSl9KSx0LnNwbGljZShhLDAscil9fWZ1bmN0aW9uIGkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9PW51bGw/ZS5zdG9yYWdlLnJlbW92ZUl0ZW0oYGRlYnVnYCk6ZS5zdG9yYWdlLmRlYnVnPXR9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dmFyIHQ7dHJ5e3Q9ZS5zdG9yYWdlLmRlYnVnfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWUuZW5hYmxlKG8oKSk7ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9fX0pKSxJcz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbi5sZW5ndGg9PT0wJiZkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9O2Zvcih2YXIgdD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTsrK3IpbltyXS5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1tgJGArZV18fFtdfSxuLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyhlKS5sZW5ndGh9fSkpLExzPXMoKChlLHQpPT57dmFyIG49e30udG9TdHJpbmc7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSk9PWBbb2JqZWN0IEFycmF5XWB9fSkpLFJzPXMoKChlLHQpPT57dC5leHBvcnRzPWE7dmFyIG49dHlwZW9mIEJ1ZmZlcj09YGZ1bmN0aW9uYCYmdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlcj09YGZ1bmN0aW9uYCxyPXR5cGVvZiBBcnJheUJ1ZmZlcj09YGZ1bmN0aW9uYCxpPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3PT1gZnVuY3Rpb25gP0FycmF5QnVmZmVyLmlzVmlldyhlKTplLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfTtmdW5jdGlvbiBhKGUpe3JldHVybiBuJiZCdWZmZXIuaXNCdWZmZXIoZSl8fHImJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkoZSkpfX0pKSx6cz1zKChlPT57dmFyIHQ9THMoKSxuPVJzKCkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9dHlwZW9mIEJsb2I9PWBmdW5jdGlvbmB8fHR5cGVvZiBCbG9iPGB1YCYmci5jYWxsKEJsb2IpPT09YFtvYmplY3QgQmxvYkNvbnN0cnVjdG9yXWAsYT10eXBlb2YgRmlsZT09YGZ1bmN0aW9uYHx8dHlwZW9mIEZpbGU8YHVgJiZyLmNhbGwoRmlsZSk9PT1gW29iamVjdCBGaWxlQ29uc3RydWN0b3JdYDtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPW8obix0KSxyLmF0dGFjaG1lbnRzPXQubGVuZ3RoLHtwYWNrZXQ6cixidWZmZXJzOnR9fTtmdW5jdGlvbiBvKGUscil7aWYoIWUpcmV0dXJuIGU7aWYobihlKSl7dmFyIGk9e19wbGFjZWhvbGRlcjohMCxudW06ci5sZW5ndGh9O3JldHVybiByLnB1c2goZSksaX1lbHNlIGlmKHQoZSkpe2Zvcih2YXIgYT1BcnJheShlLmxlbmd0aCkscz0wO3M8ZS5sZW5ndGg7cysrKWFbc109byhlW3NdLHIpO3JldHVybiBhfWVsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSl7dmFyIGE9e307Zm9yKHZhciBjIGluIGUpYVtjXT1vKGVbY10scik7cmV0dXJuIGF9cmV0dXJuIGV9ZS5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9cyhlLmRhdGEsdCksZS5hdHRhY2htZW50cz12b2lkIDAsZX07ZnVuY3Rpb24gcyhlLG4pe2lmKCFlKXJldHVybiBlO2lmKGUmJmUuX3BsYWNlaG9sZGVyPT09ITApe2lmKHR5cGVvZiBlLm51bT09YG51bWJlcmAmJmUubnVtPj0wJiZlLm51bTxuLmxlbmd0aClyZXR1cm4gbltlLm51bV07dGhyb3cgRXJyb3IoYGlsbGVnYWwgYXR0YWNobWVudHNgKX1lbHNlIGlmKHQoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXT1zKGVbcl0sbik7ZWxzZSBpZih0eXBlb2YgZT09YG9iamVjdGApZm9yKHZhciBpIGluIGUpZVtpXT1zKGVbaV0sbik7cmV0dXJuIGV9ZS5yZW1vdmVCbG9icz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8oZSxsLHUpe2lmKCFlKXJldHVybiBlO2lmKGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSl7cysrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OmM9dGhpcy5yZXN1bHQsLS1zfHxyKGMpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGUpfWVsc2UgaWYodChlKSlmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKylvKGVbZl0sZixlKTtlbHNlIGlmKHR5cGVvZiBlPT1gb2JqZWN0YCYmIW4oZSkpZm9yKHZhciBwIGluIGUpbyhlW3BdLHAsZSl9dmFyIHM9MCxjPWU7byhjKSxzfHxyKGMpfX0pKSxCcz1zKChlPT57dmFyIHQ9RnMoKShgc29ja2V0LmlvLXBhcnNlcmApLG49SXMoKSxyPXpzKCksaT1McygpLGE9UnMoKTtlLnByb3RvY29sPTQsZS50eXBlcz1bYENPTk5FQ1RgLGBESVNDT05ORUNUYCxgRVZFTlRgLGBBQ0tgLGBFUlJPUmAsYEJJTkFSWV9FVkVOVGAsYEJJTkFSWV9BQ0tgXSxlLkNPTk5FQ1Q9MCxlLkRJU0NPTk5FQ1Q9MSxlLkVWRU5UPTIsZS5BQ0s9MyxlLkVSUk9SPTQsZS5CSU5BUllfRVZFTlQ9NSxlLkJJTkFSWV9BQ0s9NixlLkVuY29kZXI9byxlLkRlY29kZXI9ZDtmdW5jdGlvbiBvKCl7fXZhciBzPWUuRVJST1IrYCJlbmNvZGUgZXJyb3IiYDtvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24obixyKXt0KGBlbmNvZGluZyBwYWNrZXQgJWpgLG4pLGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGU/dShuLHIpOnIoW2MobildKX07ZnVuY3Rpb24gYyhuKXt2YXIgcj1gYCtuLnR5cGU7aWYoKGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGUpJiYocis9bi5hdHRhY2htZW50cytgLWApLG4ubnNwJiZuLm5zcCE9PWAvYCYmKHIrPW4ubnNwK2AsYCksbi5pZCE9bnVsbCYmKHIrPW4uaWQpLG4uZGF0YSE9bnVsbCl7dmFyIGk9bChuLmRhdGEpO2lmKGkhPT0hMSlyKz1pO2Vsc2UgcmV0dXJuIHN9cmV0dXJuIHQoYGVuY29kZWQgJWogYXMgJXNgLG4scikscn1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXIuZGVjb25zdHJ1Y3RQYWNrZXQoZSksaT1jKG4ucGFja2V0KSxhPW4uYnVmZmVyczthLnVuc2hpZnQoaSksdChhKX1yLnJlbW92ZUJsb2JzKGUsbil9ZnVuY3Rpb24gZCgpe3RoaXMucmVjb25zdHJ1Y3Rvcj1udWxsfW4oZC5wcm90b3R5cGUpLGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgbjtpZih0eXBlb2YgdD09YHN0cmluZ2Ape2lmKHRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBFcnJvcihgZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtuPWYodCksZS5CSU5BUllfRVZFTlQ9PT1uLnR5cGV8fGUuQklOQVJZX0FDSz09PW4udHlwZT8odGhpcy5yZWNvbnN0cnVjdG9yPW5ldyBtKG4pLHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHM9PT0wJiZ0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTp0aGlzLmVtaXQoYGRlY29kZWRgLG4pfWVsc2UgaWYoYSh0KXx8dC5iYXNlNjQpaWYodGhpcy5yZWNvbnN0cnVjdG9yKW49dGhpcy5yZWNvbnN0cnVjdG9yLnRha2VCaW5hcnlEYXRhKHQpLG4mJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTtlbHNlIHRocm93IEVycm9yKGBnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtlbHNlIHRocm93IEVycm9yKGBVbmtub3duIHR5cGU6IGArdCl9O2Z1bmN0aW9uIGYobil7dmFyIHI9MCxhPXt0eXBlOk51bWJlcihuLmNoYXJBdCgwKSl9O2lmKGUudHlwZXNbYS50eXBlXT09bnVsbClyZXR1cm4gaChgdW5rbm93biBwYWNrZXQgdHlwZSBgK2EudHlwZSk7aWYoZS5CSU5BUllfRVZFTlQ9PT1hLnR5cGV8fGUuQklOQVJZX0FDSz09PWEudHlwZSl7Zm9yKHZhciBvPXIrMTtuLmNoYXJBdCgrK3IpIT09YC1gJiZyIT1uLmxlbmd0aDspO3ZhciBzPW4uc3Vic3RyaW5nKG8scik7aWYocyE9TnVtYmVyKHMpfHxuLmNoYXJBdChyKSE9PWAtYCl0aHJvdyBFcnJvcihgSWxsZWdhbCBhdHRhY2htZW50c2ApO2EuYXR0YWNobWVudHM9TnVtYmVyKHMpfWlmKG4uY2hhckF0KHIrMSk9PT1gL2Ape2Zvcih2YXIgbz1yKzE7KytyOyl7dmFyIGM9bi5jaGFyQXQocik7aWYoYz09PWAsYHx8cj09PW4ubGVuZ3RoKWJyZWFrfWEubnNwPW4uc3Vic3RyaW5nKG8scil9ZWxzZSBhLm5zcD1gL2A7dmFyIGw9bi5jaGFyQXQocisxKTtpZihsIT09YGAmJk51bWJlcihsKT09bCl7Zm9yKHZhciBvPXIrMTsrK3I7KXt2YXIgYz1uLmNoYXJBdChyKTtpZihjPT1udWxsfHxOdW1iZXIoYykhPWMpey0tcjticmVha31pZihyPT09bi5sZW5ndGgpYnJlYWt9YS5pZD1OdW1iZXIobi5zdWJzdHJpbmcobyxyKzEpKX1pZihuLmNoYXJBdCgrK3IpKXt2YXIgdT1wKG4uc3Vic3RyKHIpKTtpZih1IT09ITEmJihhLnR5cGU9PT1lLkVSUk9SfHxpKHUpKSlhLmRhdGE9dTtlbHNlIHJldHVybiBoKGBpbnZhbGlkIHBheWxvYWRgKX1yZXR1cm4gdChgZGVjb2RlZCAlcyBhcyAlamAsbixhKSxhfWZ1bmN0aW9uIHAoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiExfX1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfTtmdW5jdGlvbiBtKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfW0ucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxtLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119O2Z1bmN0aW9uIGgodCl7cmV0dXJue3R5cGU6ZS5FUlJPUixkYXRhOmBwYXJzZXIgZXJyb3I6IGArdH19fSkpLFZzPXMoKChlLHQpPT57dHJ5e3QuZXhwb3J0cz10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiZgd2l0aENyZWRlbnRpYWxzYGluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaHt0LmV4cG9ydHM9ITF9fSkpLEhzPXMoKChlLHQpPT57dC5leHBvcnRzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2Ygc2VsZjxgdWA/c2VsZjp0eXBlb2Ygd2luZG93PGB1YD93aW5kb3c6RnVuY3Rpb24oYHJldHVybiB0aGlzYCkoKX0pKCl9KSksVXM9cygoKGUsdCk9Pnt2YXIgbj1WcygpLHI9SHMoKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLGk9ZS54c2NoZW1lLGE9ZS5lbmFibGVzWERSO3RyeXtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiYoIXR8fG4pKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fXRyeXtpZih0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhaSYmYSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoe31pZighdCl0cnl7cmV0dXJuIG5ldyByW1tgQWN0aXZlYCxgT2JqZWN0YF0uam9pbihgWGApXShgTWljcm9zb2Z0LlhNTEhUVFBgKX1jYXRjaHt9fX0pKSxXcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiBlKW4uY2FsbChlLHIpJiZ0LnB1c2gocik7cmV0dXJuIHR9fSkpLEdzPXMoKChlLHQpPT57dmFyIG49THMoKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaT10eXBlb2YgQmxvYj09YGZ1bmN0aW9uYHx8dHlwZW9mIEJsb2I8YHVgJiZyLmNhbGwoQmxvYik9PT1gW29iamVjdCBCbG9iQ29uc3RydWN0b3JdYCxhPXR5cGVvZiBGaWxlPT1gZnVuY3Rpb25gfHx0eXBlb2YgRmlsZTxgdWAmJnIuY2FsbChGaWxlKT09PWBbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl1gO3QuZXhwb3J0cz1vO2Z1bmN0aW9uIG8oZSl7aWYoIWV8fHR5cGVvZiBlIT1gb2JqZWN0YClyZXR1cm4hMTtpZihuKGUpKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspaWYobyhlW3RdKSlyZXR1cm4hMDtyZXR1cm4hMX1pZih0eXBlb2YgQnVmZmVyPT1gZnVuY3Rpb25gJiZCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKXx8dHlwZW9mIEFycmF5QnVmZmVyPT1gZnVuY3Rpb25gJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSlyZXR1cm4hMDtpZihlLnRvSlNPTiYmdHlwZW9mIGUudG9KU09OPT1gZnVuY3Rpb25gJiZhcmd1bWVudHMubGVuZ3RoPT09MSlyZXR1cm4gbyhlLnRvSlNPTigpLCEwKTtmb3IodmFyIHMgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmbyhlW3NdKSlyZXR1cm4hMDtyZXR1cm4hMX19KSksS3M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYnl0ZUxlbmd0aDtpZih0fHw9MCxufHw9cixlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9ciksbjwwJiYobis9ciksbj5yJiYobj1yKSx0Pj1yfHx0Pj1ufHxyPT09MClyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlKSxhPW5ldyBVaW50OEFycmF5KG4tdCksbz10LHM9MDtvPG47bysrLHMrKylhW3NdPWlbb107cmV0dXJuIGEuYnVmZmVyfX0pKSxxcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1uO2Z1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPSExO3JldHVybiBufHw9cixhLmNvdW50PWUsZT09PTA/dCgpOmE7ZnVuY3Rpb24gYShlLHIpe2lmKGEuY291bnQ8PTApdGhyb3cgRXJyb3IoYGFmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lc2ApOy0tYS5jb3VudCxlPyhpPSEwLHQoZSksdD1uKTphLmNvdW50PT09MCYmIWkmJnQobnVsbCxyKX19ZnVuY3Rpb24gcigpe319KSksSnM9cygoKGUsdCk9Pnt2YXIgbj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIHIoZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoLGksYTtuPHI7KWk9ZS5jaGFyQ29kZUF0KG4rKyksaT49NTUyOTYmJmk8PTU2MzE5JiZuPHI/KGE9ZS5jaGFyQ29kZUF0KG4rKyksKGEmNjQ1MTIpPT01NjMyMD90LnB1c2goKChpJjEwMjMpPDwxMCkrKGEmMTAyMykrNjU1MzYpOih0LnB1c2goaSksbi0tKSk6dC5wdXNoKGkpO3JldHVybiB0fWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PWUubGVuZ3RoLHI9LTEsaSxhPWBgOysrcjx0OylpPWVbcl0saT42NTUzNSYmKGktPTY1NTM2LGErPW4oaT4+PjEwJjEwMjN8NTUyOTYpLGk9NTYzMjB8aSYxMDIzKSxhKz1uKGkpO3JldHVybiBhfWZ1bmN0aW9uIGEoZSx0KXtpZihlPj01NTI5NiYmZTw9NTczNDMpe2lmKHQpdGhyb3cgRXJyb3IoYExvbmUgc3Vycm9nYXRlIFUrYCtlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpK2AgaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBuKGU+PnQmNjN8MTI4KX1mdW5jdGlvbiBzKGUsdCl7aWYoIShlJjQyOTQ5NjcxNjgpKXJldHVybiBuKGUpO3ZhciByPWBgO3JldHVybiBlJjQyOTQ5NjUyNDg/ZSY0Mjk0OTAxNzYwP2UmNDI5Mjg3MDE0NHx8KHI9bihlPj4xOCY3fDI0MCkscis9byhlLDEyKSxyKz1vKGUsNikpOihhKGUsdCl8fChlPTY1NTMzKSxyPW4oZT4+MTImMTV8MjI0KSxyKz1vKGUsNikpOnI9bihlPj42JjMxfDE5Mikscis9bihlJjYzfDEyOCkscn1mdW5jdGlvbiBjKGUsdCl7dHx8PXt9O2Zvcih2YXIgbj0hMSE9PXQuc3RyaWN0LGk9cihlKSxhPWkubGVuZ3RoLG89LTEsYyxsPWBgOysrbzxhOyljPWlbb10sbCs9cyhjLG4pO3JldHVybiBsfWZ1bmN0aW9uIGwoKXtpZihwPj1mKXRocm93IEVycm9yKGBJbnZhbGlkIGJ5dGUgaW5kZXhgKTt2YXIgZT1kW3BdJjI1NTtpZihwKyssKGUmMTkyKT09MTI4KXJldHVybiBlJjYzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9ZnVuY3Rpb24gdShlKXt2YXIgdCxuLHIsaSxvO2lmKHA+Zil0aHJvdyBFcnJvcihgSW52YWxpZCBieXRlIGluZGV4YCk7aWYocD09ZilyZXR1cm4hMTtpZih0PWRbcF0mMjU1LHArKywhKHQmMTI4KSlyZXR1cm4gdDtpZigodCYyMjQpPT0xOTIpe2lmKG49bCgpLG89KHQmMzEpPDw2fG4sbz49MTI4KXJldHVybiBvO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQwKT09MjI0KXtpZihuPWwoKSxyPWwoKSxvPSh0JjE1KTw8MTJ8bjw8NnxyLG8+PTIwNDgpcmV0dXJuIGEobyxlKT9vOjY1NTMzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQ4KT09MjQwJiYobj1sKCkscj1sKCksaT1sKCksbz0odCY3KTw8MTh8bjw8MTJ8cjw8NnxpLG8+PTY1NTM2JiZvPD0xMTE0MTExKSlyZXR1cm4gbzt0aHJvdyBFcnJvcihgSW52YWxpZCBVVEYtOCBkZXRlY3RlZGApfXZhciBkLGYscDtmdW5jdGlvbiBtKGUsdCl7dHx8PXt9O3ZhciBuPSExIT09dC5zdHJpY3Q7ZD1yKGUpLGY9ZC5sZW5ndGgscD0wO2Zvcih2YXIgYT1bXSxvOyhvPXUobikpIT09ITE7KWEucHVzaChvKTtyZXR1cm4gaShhKX10LmV4cG9ydHM9e3ZlcnNpb246YDIuMS4yYCxlbmNvZGU6YyxkZWNvZGU6bX19KSksWXM9cygoZT0+eyhmdW5jdGlvbih0KXtlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgbj1uZXcgVWludDhBcnJheShlKSxyLGk9bi5sZW5ndGgsYT1gYDtmb3Iocj0wO3I8aTtyKz0zKWErPXRbbltyXT4+Ml0sYSs9dFsobltyXSYzKTw8NHxuW3IrMV0+PjRdLGErPXRbKG5bcisxXSYxNSk8PDJ8bltyKzJdPj42XSxhKz10W25bcisyXSY2M107cmV0dXJuIGklMz09Mj9hPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSkrYD1gOmklMz09MSYmKGE9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0yKStgPT1gKSxhfSxlLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCouNzUscj1lLmxlbmd0aCxpLGE9MCxvLHMsYyxsO2VbZS5sZW5ndGgtMV09PT1gPWAmJihuLS0sZVtlLmxlbmd0aC0yXT09PWA9YCYmbi0tKTt2YXIgdT1uZXcgQXJyYXlCdWZmZXIobiksZD1uZXcgVWludDhBcnJheSh1KTtmb3IoaT0wO2k8cjtpKz00KW89dC5pbmRleE9mKGVbaV0pLHM9dC5pbmRleE9mKGVbaSsxXSksYz10LmluZGV4T2YoZVtpKzJdKSxsPXQuaW5kZXhPZihlW2krM10pLGRbYSsrXT1vPDwyfHM+PjQsZFthKytdPShzJjE1KTw8NHxjPj4yLGRbYSsrXT0oYyYzKTw8NnxsJjYzO3JldHVybiB1fX0pKGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvYCl9KSksWHM9cygoKGUsdCk9Pnt2YXIgbj1uPT09dm9pZCAwP3R5cGVvZiBXZWJLaXRCbG9iQnVpbGRlcjxgdWA/V2ViS2l0QmxvYkJ1aWxkZXI6dHlwZW9mIE1TQmxvYkJ1aWxkZXI8YHVgP01TQmxvYkJ1aWxkZXI6dHlwZW9mIE1vekJsb2JCdWlsZGVyPGB1YD9Nb3pCbG9iQnVpbGRlcjohMTpuLHI9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgQmxvYihbYGhpYF0pLnNpemU9PT0yfWNhdGNoe3JldHVybiExfX0pKCksaT1yJiYoZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplPT09Mn1jYXRjaHtyZXR1cm4hMX19KSgpLGE9biYmbi5wcm90b3R5cGUuYXBwZW5kJiZuLnByb3RvdHlwZS5nZXRCbG9iO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe2lmKGUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpe3ZhciB0PWUuYnVmZmVyO2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtuLnNldChuZXcgVWludDhBcnJheSh0LGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpKSx0PW4uYnVmZmVyfXJldHVybiB0fXJldHVybiBlfSl9ZnVuY3Rpb24gcyhlLHQpe3R8fD17fTt2YXIgcj1uZXcgbjtyZXR1cm4gbyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IuYXBwZW5kKGUpfSksdC50eXBlP3IuZ2V0QmxvYih0LnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IobyhlKSx0fHx7fSl9dHlwZW9mIEJsb2I8YHVgJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLHQuZXhwb3J0cz0oZnVuY3Rpb24oKXtpZihyKXJldHVybiBpP0Jsb2I6YztpZihhKXJldHVybiBzfSkoKX0pKSxacz1zKChlPT57dmFyIHQ9V3MoKSxuPUdzKCkscj1LcygpLGk9cXMoKSxhPUpzKCksbzt0eXBlb2YgQXJyYXlCdWZmZXI8YHVgJiYobz1ZcygpKTt2YXIgcz10eXBlb2YgbmF2aWdhdG9yPGB1YCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGw9c3x8YztlLnByb3RvY29sPTM7dmFyIHU9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxkPXQodSksZj17dHlwZTpgZXJyb3JgLGRhdGE6YHBhcnNlciBlcnJvcmB9LHA9WHMoKTtlLmVuY29kZVBhY2tldD1mdW5jdGlvbihlLHQsbixyKXt0eXBlb2YgdD09YGZ1bmN0aW9uYCYmKHI9dCx0PSExKSx0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpPWUuZGF0YT09PXZvaWQgMD92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKHR5cGVvZiBBcnJheUJ1ZmZlcjxgdWAmJmkgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gaChlLHQscik7aWYocCE9PXZvaWQgMCYmaSBpbnN0YW5jZW9mIHApcmV0dXJuIF8oZSx0LHIpO2lmKGkmJmkuYmFzZTY0KXJldHVybiBtKGUscik7dmFyIG89dVtlLnR5cGVdO3JldHVybiBlLmRhdGEhPT12b2lkIDAmJihvKz1uP2EuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSkscihgYCtvKX07ZnVuY3Rpb24gbSh0LG4pe3JldHVybiBuKGBiYCtlLnBhY2tldHNbdC50eXBlXSt0LmRhdGEuZGF0YSl9ZnVuY3Rpb24gaCh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7dmFyIGk9dC5kYXRhLGE9bmV3IFVpbnQ4QXJyYXkoaSksbz1uZXcgVWludDhBcnJheSgxK2kuYnl0ZUxlbmd0aCk7b1swXT11W3QudHlwZV07Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspb1tzKzFdPWFbc107cmV0dXJuIHIoby5idWZmZXIpfWZ1bmN0aW9uIGcodCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBpPW5ldyBGaWxlUmVhZGVyO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2UuZW5jb2RlUGFja2V0KHt0eXBlOnQudHlwZSxkYXRhOmkucmVzdWx0fSxuLCEwLHIpfSxpLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gXyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYobClyZXR1cm4gZyh0LG4scik7dmFyIGk9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGlbMF09dVt0LnR5cGVdLHIobmV3IHAoW2kuYnVmZmVyLHQuZGF0YV0pKX1lLmVuY29kZUJhc2U2NFBhY2tldD1mdW5jdGlvbih0LG4pe3ZhciByPWBiYCtlLnBhY2tldHNbdC50eXBlXTtpZihwIT09dm9pZCAwJiZ0LmRhdGEgaW5zdGFuY2VvZiBwKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1pLnJlc3VsdC5zcGxpdChgLGApWzFdO24ocitlKX0saS5yZWFkQXNEYXRhVVJMKHQuZGF0YSl9dmFyIGE7dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHQuZGF0YSkpfWNhdGNoe2Zvcih2YXIgbz1uZXcgVWludDhBcnJheSh0LmRhdGEpLHM9QXJyYXkoby5sZW5ndGgpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW2NdPW9bY107YT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscyl9cmV0dXJuIHIrPWJ0b2EoYSksbihyKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLGkpe2lmKHQ9PT12b2lkIDApcmV0dXJuIGY7aWYodHlwZW9mIHQ9PWBzdHJpbmdgKXtpZih0LmNoYXJBdCgwKT09PWBiYClyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYoaSYmKHQ9dih0KSx0PT09ITEpKXJldHVybiBmO3ZhciBhPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIoYSkhPWF8fCFkW2FdP2Y6dC5sZW5ndGg+MT97dHlwZTpkW2FdLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmRbYV19fXZhciBhPW5ldyBVaW50OEFycmF5KHQpWzBdLG89cih0LDEpO3JldHVybiBwJiZuPT09YGJsb2JgJiYobz1uZXcgcChbb10pKSx7dHlwZTpkW2FdLGRhdGE6b319O2Z1bmN0aW9uIHYoZSl7dHJ5e2U9YS5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuIGV9ZS5kZWNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kW2UuY2hhckF0KDApXTtpZighbylyZXR1cm57dHlwZTpuLGRhdGE6e2Jhc2U2NDohMCxkYXRhOmUuc3Vic3RyKDEpfX07dmFyIHI9by5kZWNvZGUoZS5zdWJzdHIoMSkpO3JldHVybiB0PT09YGJsb2JgJiZwJiYocj1uZXcgcChbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LHIsaSl7dHlwZW9mIHI9PWBmdW5jdGlvbmAmJihpPXIscj1udWxsKTt2YXIgYT1uKHQpO2lmKHImJmEpcmV0dXJuIHAmJiFsP2UuZW5jb2RlUGF5bG9hZEFzQmxvYih0LGkpOmUuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIodCxpKTtpZighdC5sZW5ndGgpcmV0dXJuIGkoYDA6YCk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5sZW5ndGgrYDpgK2V9ZnVuY3Rpb24gcyh0LG4pe2UuZW5jb2RlUGFja2V0KHQsYT9yOiExLCExLGZ1bmN0aW9uKGUpe24obnVsbCxvKGUpKX0pfXkodCxzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodC5qb2luKGBgKSl9KX07ZnVuY3Rpb24geShlLHQsbil7Zm9yKHZhciByPUFycmF5KGUubGVuZ3RoKSxhPWkoZS5sZW5ndGgsbiksbz1mdW5jdGlvbihlLG4saSl7dChuLGZ1bmN0aW9uKHQsbil7cltlXT1uLGkodCxyKX0pfSxzPTA7czxlLmxlbmd0aDtzKyspbyhzLGVbc10sYSl9ZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZih0eXBlb2YgdCE9YHN0cmluZ2ApcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpO2lmKHQ9PT1gYClyZXR1cm4gcihmLDAsMSk7Zm9yKHZhciBhPWBgLG8scyxjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZih1IT09YDpgKXthKz11O2NvbnRpbnVlfWlmKGE9PT1gYHx8YSE9KG89TnVtYmVyKGEpKXx8KHM9dC5zdWJzdHIoYysxLG8pLGEhPXMubGVuZ3RoKSlyZXR1cm4gcihmLDAsMSk7aWYocy5sZW5ndGgpe2lmKGk9ZS5kZWNvZGVQYWNrZXQocyxuLCExKSxmLnR5cGU9PT1pLnR5cGUmJmYuZGF0YT09PWkuZGF0YSlyZXR1cm4gcihmLDAsMSk7aWYoITE9PT1yKGksYytvLGwpKXJldHVybn1jKz1vLGE9YGB9aWYoYSE9PWBgKXJldHVybiByKGYsMCwxKX0sZS5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbih0LG4pe2lmKCF0Lmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKGUpe3JldHVybiBuKG51bGwsZSl9KX15KHQscixmdW5jdGlvbihlLHQpe3ZhciByPXQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ9PWBzdHJpbmdgP3QubGVuZ3RoOnQuYnl0ZUxlbmd0aDtyZXR1cm4gZStuLnRvU3RyaW5nKCkubGVuZ3RoK24rMn0sMCksaT1uZXcgVWludDhBcnJheShyKSxhPTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZT09YHN0cmluZ2Asbj1lO2lmKHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKXJbb109ZS5jaGFyQ29kZUF0KG8pO249ci5idWZmZXJ9dD9pW2ErK109MDppW2ErK109MTtmb3IodmFyIHM9bi5ieXRlTGVuZ3RoLnRvU3RyaW5nKCksbz0wO288cy5sZW5ndGg7bysrKWlbYSsrXT1wYXJzZUludChzW29dKTtpW2ErK109MjU1O2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShuKSxvPTA7bzxyLmxlbmd0aDtvKyspaVthKytdPXJbb119KSxuKGkuYnVmZmVyKX0pfSxlLmVuY29kZVBheWxvYWRBc0Jsb2I9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKHQsbil7ZS5lbmNvZGVQYWNrZXQodCwhMCwhMCxmdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtpZih0WzBdPTEsdHlwZW9mIGU9PWBzdHJpbmdgKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylyW2ldPWUuY2hhckNvZGVBdChpKTtlPXIuYnVmZmVyLHRbMF09MH1mb3IodmFyIGE9KGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9lLmJ5dGVMZW5ndGg6ZS5zaXplKS50b1N0cmluZygpLG89bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgrMSksaT0wO2k8YS5sZW5ndGg7aSsrKW9baV09cGFyc2VJbnQoYVtpXSk7b1thLmxlbmd0aF09MjU1LHAmJm4obnVsbCxuZXcgcChbdC5idWZmZXIsby5idWZmZXIsZV0pKX0pfXkodCxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IHAodCkpfSl9LGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5PWZ1bmN0aW9uKHQsbixpKXt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKGk9bixuPW51bGwpO2Zvcih2YXIgYT10LG89W107YS5ieXRlTGVuZ3RoPjA7KXtmb3IodmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSksYz1zWzBdPT09MCxsPWBgLHU9MTtzW3VdIT09MjU1O3UrKyl7aWYobC5sZW5ndGg+MzEwKXJldHVybiBpKGYsMCwxKTtsKz1zW3VdfWE9cihhLDIrbC5sZW5ndGgpLGw9cGFyc2VJbnQobCk7dmFyIGQ9cihhLDAsbCk7aWYoYyl0cnl7ZD1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoZCkpfWNhdGNoe3ZhciBwPW5ldyBVaW50OEFycmF5KGQpO2Q9YGA7Zm9yKHZhciB1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1vLnB1c2goZCksYT1yKGEsbCl9dmFyIG09by5sZW5ndGg7by5mb3JFYWNoKGZ1bmN0aW9uKHQscil7aShlLmRlY29kZVBhY2tldCh0LG4sITApLHIsbSl9KX19KSksUXM9cygoKGUsdCk9Pnt2YXIgbj1acygpLHI9SXMoKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUpe3RoaXMucGF0aD1lLnBhdGgsdGhpcy5ob3N0bmFtZT1lLmhvc3RuYW1lLHRoaXMucG9ydD1lLnBvcnQsdGhpcy5zZWN1cmU9ZS5zZWN1cmUsdGhpcy5xdWVyeT1lLnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09ZS50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPWUudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMuYWdlbnQ9ZS5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9ZS5zb2NrZXQsdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9ZS5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPWUuaXNSZWFjdE5hdGl2ZSx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0aGlzLmxvY2FsQWRkcmVzcz1lLmxvY2FsQWRkcmVzc31yKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUsdCl7dmFyIG49RXJyb3IoZSk7cmV0dXJuIG4udHlwZT1gVHJhbnNwb3J0RXJyb3JgLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoYGVycm9yYCxuKSx0aGlzfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgfHx0aGlzLnJlYWR5U3RhdGU9PT1gYCkmJih0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuZG9PcGVuKCkpLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKSYmKHRoaXMuZG9DbG9zZSgpLHRoaXMub25DbG9zZSgpKSx0aGlzfSxpLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYCl0aGlzLndyaXRlKGUpO2Vsc2UgdGhyb3cgRXJyb3IoYFRyYW5zcG9ydCBub3Qgb3BlbmApfSxpLnByb3RvdHlwZS5vbk9wZW49ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMud3JpdGFibGU9ITAsdGhpcy5lbWl0KGBvcGVuYCl9LGkucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt2YXIgdD1uLmRlY29kZVBhY2tldChlLHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO3RoaXMub25QYWNrZXQodCl9LGkucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0saS5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCl9fSkpLCRzPXMoKGU9PntlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD1gYDtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz1gJmApLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKStgPWArZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sZS5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdChgJmApLHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBhPW5bcl0uc3BsaXQoYD1gKTt0W2RlY29kZVVSSUNvbXBvbmVudChhWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KGFbMV0pfXJldHVybiB0fX0pKSxlYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0pKSx0Yz1zKCgoZSx0KT0+e3ZhciBuPWAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fYC5zcGxpdChgYCkscj02NCxpPXt9LGE9MCxvPTAscztmdW5jdGlvbiBjKGUpe3ZhciB0PWBgO2RvIHQ9bltlJXJdK3QsZT1NYXRoLmZsb29yKGUvcik7d2hpbGUoZT4wKTtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3ZhciB0PTA7Zm9yKG89MDtvPGUubGVuZ3RoO28rKyl0PXQqcitpW2UuY2hhckF0KG8pXTtyZXR1cm4gdH1mdW5jdGlvbiB1KCl7dmFyIGU9YygrbmV3IERhdGUpO3JldHVybiBlPT09cz9lK2AuYCtjKGErKyk6KGE9MCxzPWUpfWZvcig7bzxyO28rKylpW25bb11dPW87dS5lbmNvZGU9Yyx1LmRlY29kZT1sLHQuZXhwb3J0cz11fSkpLG5jPXMoKChlLHQpPT57dmFyIG49UXMoKSxyPSRzKCksaT1acygpLGE9ZWMoKSxvPXRjKCkscz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmdgKTt0LmV4cG9ydHM9bDt2YXIgYz0oZnVuY3Rpb24oKXtyZXR1cm4gbmV3KFVzKCkpKHt4ZG9tYWluOiExfSkucmVzcG9uc2VUeXBlIT1udWxsfSkoKTtmdW5jdGlvbiBsKGUpe3ZhciB0PWUmJmUuZm9yY2VCYXNlNjQ7KCFjfHx0KSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLG4uY2FsbCh0aGlzLGUpfWEobCxuKSxsLnByb3RvdHlwZS5uYW1lPWBwb2xsaW5nYCxsLnByb3RvdHlwZS5kb09wZW49ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKX0sbC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnJlYWR5U3RhdGU9YHBhdXNpbmdgO2Z1bmN0aW9uIG4oKXtzKGBwYXVzZWRgKSx0LnJlYWR5U3RhdGU9YHBhdXNlZGAsZSgpfWlmKHRoaXMucG9sbGluZ3x8IXRoaXMud3JpdGFibGUpe3ZhciByPTA7dGhpcy5wb2xsaW5nJiYocyhgd2UgYXJlIGN1cnJlbnRseSBwb2xsaW5nIC0gd2FpdGluZyB0byBwYXVzZWApLHIrKyx0aGlzLm9uY2UoYHBvbGxDb21wbGV0ZWAsZnVuY3Rpb24oKXtzKGBwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZWApLC0tcnx8bigpfSkpLHRoaXMud3JpdGFibGV8fChzKGB3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlYCkscisrLHRoaXMub25jZShgZHJhaW5gLGZ1bmN0aW9uKCl7cyhgcHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGVgKSwtLXJ8fG4oKX0pKX1lbHNlIG4oKX0sbC5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3MoYHBvbGxpbmdgKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoYHBvbGxgKX0sbC5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cyhgcG9sbGluZyBnb3QgZGF0YSAlc2AsZSksaS5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxmdW5jdGlvbihlLG4scil7aWYodC5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0Lm9uT3BlbigpLGUudHlwZT09PWBjbG9zZWApcmV0dXJuIHQub25DbG9zZSgpLCExO3Qub25QYWNrZXQoZSl9KSx0aGlzLnJlYWR5U3RhdGUhPT1gY2xvc2VkYCYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoYHBvbGxDb21wbGV0ZWApLHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD90aGlzLnBvbGwoKTpzKGBpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSkpfSxsLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7cyhgd3JpdGluZyBjbG9zZSBwYWNrZXRgKSxlLndyaXRlKFt7dHlwZTpgY2xvc2VgfV0pfXRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD8ocyhgdHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nYCksdCgpKToocyhgdHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlYCksdGhpcy5vbmNlKGBvcGVuYCx0KSl9LGwucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe3Qud3JpdGFibGU9ITAsdC5lbWl0KGBkcmFpbmApfTtpLmVuY29kZVBheWxvYWQoZSx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSl9LGwucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucXVlcnl8fHt9LHQ9dGhpcy5zZWN1cmU/YGh0dHBzYDpgaHR0cGAsbj1gYDshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksIXRoaXMuc3VwcG9ydHNCaW5hcnkmJiFlLnNpZCYmKGUuYjY0PTEpLGU9ci5lbmNvZGUoZSksdGhpcy5wb3J0JiYodD09PWBodHRwc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YGh0dHBgJiZOdW1iZXIodGhpcy5wb3J0KSE9PTgwKSYmKG49YDpgK3RoaXMucG9ydCksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgaT10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhpP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfX0pKSxyYz1zKCgoZSx0KT0+e3ZhciBuPVVzKCkscj1uYygpLGk9SXMoKSxhPWVjKCksbz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyYCkscz1IcygpO3QuZXhwb3J0cz1sLHQuZXhwb3J0cy5SZXF1ZXN0PXU7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKHIuY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0eXBlb2YgbG9jYXRpb248YHVgKXt2YXIgdD1sb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgLG49bG9jYXRpb24ucG9ydDtufHw9dD80NDM6ODAsdGhpcy54ZD10eXBlb2YgbG9jYXRpb248YHVgJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWEobCxyKSxsLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMCxsLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlfHw9e30sZS51cmk9dGhpcy51cmkoKSxlLnhkPXRoaXMueGQsZS54cz10aGlzLnhzLGUuYWdlbnQ9dGhpcy5hZ2VudHx8ITEsZS5zdXBwb3J0c0JpbmFyeT10aGlzLnN1cHBvcnRzQmluYXJ5LGUuZW5hYmxlc1hEUj10aGlzLmVuYWJsZXNYRFIsZS53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMsZS5wZng9dGhpcy5wZngsZS5rZXk9dGhpcy5rZXksZS5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxlLmNlcnQ9dGhpcy5jZXJ0LGUuY2E9dGhpcy5jYSxlLmNpcGhlcnM9dGhpcy5jaXBoZXJzLGUucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLGUucmVxdWVzdFRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCxlLmV4dHJhSGVhZGVycz10aGlzLmV4dHJhSGVhZGVycyxuZXcgdShlKX0sbC5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlIT1gc3RyaW5nYCYmZSE9PXZvaWQgMCxyPXRoaXMucmVxdWVzdCh7bWV0aG9kOmBQT1NUYCxkYXRhOmUsaXNCaW5hcnk6bn0pLGk9dGhpcztyLm9uKGBzdWNjZXNzYCx0KSxyLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7aS5vbkVycm9yKGB4aHIgcG9zdCBlcnJvcmAsZSl9KSx0aGlzLnNlbmRYaHI9cn0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7byhgeGhyIHBvbGxgKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbihgZGF0YWAsZnVuY3Rpb24oZSl7dC5vbkRhdGEoZSl9KSxlLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7dC5vbkVycm9yKGB4aHIgcG9sbCBlcnJvcmAsZSl9KSx0aGlzLnBvbGxYaHI9ZX07ZnVuY3Rpb24gdShlKXt0aGlzLm1ldGhvZD1lLm1ldGhvZHx8YEdFVGAsdGhpcy51cmk9ZS51cmksdGhpcy54ZD0hIWUueGQsdGhpcy54cz0hIWUueHMsdGhpcy5hc3luYz0hMSE9PWUuYXN5bmMsdGhpcy5kYXRhPWUuZGF0YT09PXZvaWQgMD9udWxsOmUuZGF0YSx0aGlzLmFnZW50PWUuYWdlbnQsdGhpcy5pc0JpbmFyeT1lLmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9ZS5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9ZS5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1pZihpKHUucHJvdG90eXBlKSx1LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgZT17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTtlLnBmeD10aGlzLnBmeCxlLmtleT10aGlzLmtleSxlLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLGUuY2VydD10aGlzLmNlcnQsZS5jYT10aGlzLmNhLGUuY2lwaGVycz10aGlzLmNpcGhlcnMsZS5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIHQ9dGhpcy54aHI9bmV3IG4oZSkscj10aGlzO3RyeXtvKGB4aHIgb3BlbiAlczogJXNgLHRoaXMubWV0aG9kLHRoaXMudXJpKSx0Lm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKWZvcih2YXIgaSBpbiB0LnNldERpc2FibGVIZWFkZXJDaGVjayYmdC5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApLHRoaXMuZXh0cmFIZWFkZXJzKXRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiZ0LnNldFJlcXVlc3RIZWFkZXIoaSx0aGlzLmV4dHJhSGVhZGVyc1tpXSl9Y2F0Y2h7fWlmKHRoaXMubWV0aG9kPT09YFBPU1RgKXRyeXt0aGlzLmlzQmluYXJ5P3Quc2V0UmVxdWVzdEhlYWRlcihgQ29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCk6dC5zZXRSZXF1ZXN0SGVhZGVyKGBDb250ZW50LXR5cGVgLGB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThgKX1jYXRjaHt9dHJ5e3Quc2V0UmVxdWVzdEhlYWRlcihgQWNjZXB0YCxgKi8qYCl9Y2F0Y2h7fWB3aXRoQ3JlZGVudGlhbHNgaW4gdCYmKHQud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzKSx0aGlzLnJlcXVlc3RUaW1lb3V0JiYodC50aW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQpLHRoaXMuaGFzWERSKCk/KHQub25sb2FkPWZ1bmN0aW9uKCl7ci5vbkxvYWQoKX0sdC5vbmVycm9yPWZ1bmN0aW9uKCl7ci5vbkVycm9yKHQucmVzcG9uc2VUZXh0KX0pOnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodC5yZWFkeVN0YXRlPT09Mil0cnl7dmFyIGU9dC5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCk7KHIuc3VwcG9ydHNCaW5hcnkmJmU9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8ZT09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmKHQucmVzcG9uc2VUeXBlPWBhcnJheWJ1ZmZlcmApfWNhdGNoe310LnJlYWR5U3RhdGU9PT00JiYodC5zdGF0dXM9PT0yMDB8fHQuc3RhdHVzPT09MTIyMz9yLm9uTG9hZCgpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLm9uRXJyb3IodHlwZW9mIHQuc3RhdHVzPT1gbnVtYmVyYD90LnN0YXR1czowKX0sMCkpfSxvKGB4aHIgZGF0YSAlc2AsdGhpcy5kYXRhKSx0LnNlbmQodGhpcy5kYXRhKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKGUpfSwwKTtyZXR1cm59dHlwZW9mIGRvY3VtZW50PGB1YCYmKHRoaXMuaW5kZXg9dS5yZXF1ZXN0c0NvdW50KyssdS5yZXF1ZXN0c1t0aGlzLmluZGV4XT10aGlzKX0sdS5wcm90b3R5cGUub25TdWNjZXNzPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KGBzdWNjZXNzYCksdGhpcy5jbGVhbnVwKCl9LHUucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt0aGlzLmVtaXQoYGRhdGFgLGUpLHRoaXMub25TdWNjZXNzKCl9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5jbGVhbnVwKCEwKX0sdS5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbihlKXtpZighKHRoaXMueGhyPT09dm9pZCAwfHx0aGlzLnhocj09PW51bGwpKXtpZih0aGlzLmhhc1hEUigpP3RoaXMueGhyLm9ubG9hZD10aGlzLnhoci5vbmVycm9yPWM6dGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlPWMsZSl0cnl7dGhpcy54aHIuYWJvcnQoKX1jYXRjaHt9dHlwZW9mIGRvY3VtZW50PGB1YCYmZGVsZXRlIHUucmVxdWVzdHNbdGhpcy5pbmRleF0sdGhpcy54aHI9bnVsbH19LHUucHJvdG90eXBlLm9uTG9hZD1mdW5jdGlvbigpe3ZhciBlO3RyeXt2YXIgdDt0cnl7dD10aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCl9Y2F0Y2h7fWU9KHQ9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8dD09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmdGhpcy54aHIucmVzcG9uc2V8fHRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9ZSE9bnVsbCYmdGhpcy5vbkRhdGEoZSl9LHUucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhdGhpcy54cyYmdGhpcy5lbmFibGVzWERSfSx1LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuY2xlYW51cCgpfSx1LnJlcXVlc3RzQ291bnQ9MCx1LnJlcXVlc3RzPXt9LHR5cGVvZiBkb2N1bWVudDxgdWApe2lmKHR5cGVvZiBhdHRhY2hFdmVudD09YGZ1bmN0aW9uYClhdHRhY2hFdmVudChgb251bmxvYWRgLGYpO2Vsc2UgaWYodHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmApe3ZhciBkPWBvbnBhZ2VoaWRlYGluIHM/YHBhZ2VoaWRlYDpgdW5sb2FkYDthZGRFdmVudExpc3RlbmVyKGQsZiwhMSl9fWZ1bmN0aW9uIGYoKXtmb3IodmFyIGUgaW4gdS5yZXF1ZXN0cyl1LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGUpJiZ1LnJlcXVlc3RzW2VdLmFib3J0KCl9fSkpLGljPXMoKChlLHQpPT57dmFyIG49bmMoKSxyPWVjKCksaT1IcygpO3QuZXhwb3J0cz1sO3ZhciBhPS9cbi9nLG89L1xcbi9nLHM7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe24uY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sc3x8PWkuX19fZWlvPWkuX19fZWlvfHxbXSx0aGlzLmluZGV4PXMubGVuZ3RoO3ZhciB0PXRoaXM7cy5wdXNoKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSksdGhpcy5xdWVyeS5qPXRoaXMuaW5kZXgsdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmAmJmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZXVubG9hZGAsZnVuY3Rpb24oKXt0LnNjcmlwdCYmKHQuc2NyaXB0Lm9uZXJyb3I9Yyl9LCExKX1yKGwsbiksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITEsbC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3RoaXMuc2NyaXB0JiY9KHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLG51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksbi5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSxsLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgc2NyaXB0YCk7dGhpcy5zY3JpcHQmJj0odGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksbnVsbCksdC5hc3luYz0hMCx0LnNyYz10aGlzLnVyaSgpLHQub25lcnJvcj1mdW5jdGlvbih0KXtlLm9uRXJyb3IoYGpzb25wIHBvbGwgZXJyb3JgLHQpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgc2NyaXB0YClbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHQpLHRoaXMuc2NyaXB0PXQsdHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9LDEwMCl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCF0aGlzLmZvcm0pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGZvcm1gKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYHRleHRhcmVhYCkscz10aGlzLmlmcmFtZUlkPWBlaW9faWZyYW1lX2ArdGhpcy5pbmRleCxjO3IuY2xhc3NOYW1lPWBzb2NrZXRpb2Asci5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHIuc3R5bGUudG9wPWAtMTAwMHB4YCxyLnN0eWxlLmxlZnQ9YC0xMDAwcHhgLHIudGFyZ2V0PXMsci5tZXRob2Q9YFBPU1RgLHIuc2V0QXR0cmlidXRlKGBhY2NlcHQtY2hhcnNldGAsYHV0Zi04YCksaS5uYW1lPWBkYCxyLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksdGhpcy5mb3JtPXIsdGhpcy5hcmVhPWl9dGhpcy5mb3JtLmFjdGlvbj10aGlzLnVyaSgpO2Z1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoYGpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3JgLGUpfXRyeXt2YXIgZT1gPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iYCtuLmlmcmFtZUlkK2AiPmA7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoe2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaWZyYW1lYCksYy5uYW1lPW4uaWZyYW1lSWQsYy5zcmM9YGphdmFzY3JpcHQ6MGB9Yy5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChjKSxuLmlmcmFtZT1jfXUoKSxlPWUucmVwbGFjZShvLGBcXApgKSx0aGlzLmFyZWEudmFsdWU9ZS5yZXBsYWNlKGEsYFxcbmApO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2h7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe24uaWZyYW1lLnJlYWR5U3RhdGU9PT1gY29tcGxldGVgJiZsKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1sfX0pKSxhYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz17fX0pKSxvYz1zKCgoZSx0KT0+e3ZhciBuPVFzKCkscj1acygpLGk9JHMoKSxhPWVjKCksbz10YygpLHM9RnMoKShgZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXRgKSxjLGw7aWYodHlwZW9mIFdlYlNvY2tldDxgdWA/Yz1XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8YHVgJiYoYz1zZWxmLldlYlNvY2tldHx8c2VsZi5Nb3pXZWJTb2NrZXQpLHR5cGVvZiB3aW5kb3c+YHVgKXRyeXtsPWFjKCl9Y2F0Y2h7fXZhciB1PWN8fGw7dC5leHBvcnRzPWQ7ZnVuY3Rpb24gZChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWMmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KHU9bCksbi5jYWxsKHRoaXMsZSl9YShkLG4pLGQucHJvdG90eXBlLm5hbWU9YHdlYnNvY2tldGAsZC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsZC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17fTt0aGlzLmlzUmVhY3ROYXRpdmV8fChuLmFnZW50PXRoaXMuYWdlbnQsbi5wZXJNZXNzYWdlRGVmbGF0ZT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlLG4ucGZ4PXRoaXMucGZ4LG4ua2V5PXRoaXMua2V5LG4ucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2Usbi5jZXJ0PXRoaXMuY2VydCxuLmNhPXRoaXMuY2Esbi5jaXBoZXJzPXRoaXMuY2lwaGVycyxuLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCksdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IHUoZSx0KTpuZXcgdShlKTpuZXcgdShlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdChgZXJyb3JgLGUpfXRoaXMud3MuYmluYXJ5VHlwZT09PXZvaWQgMCYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT1gbm9kZWJ1ZmZlcmApOnRoaXMud3MuYmluYXJ5VHlwZT1gYXJyYXlidWZmZXJgLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LGQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKGB3ZWJzb2NrZXQgZXJyb3JgLHQpfX0sZC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgbj1lLmxlbmd0aCxpPTAsYT1uO2k8YTtpKyspKGZ1bmN0aW9uKGUpe3IuZW5jb2RlUGFja2V0KGUsdC5zdXBwb3J0c0JpbmFyeSxmdW5jdGlvbihyKXtpZighdC51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpe3ZhciBpPXt9O2Uub3B0aW9ucyYmKGkuY29tcHJlc3M9ZS5vcHRpb25zLmNvbXByZXNzKSx0LnBlck1lc3NhZ2VEZWZsYXRlJiYodHlwZW9mIHI9PWBzdHJpbmdgP0J1ZmZlci5ieXRlTGVuZ3RoKHIpOnIubGVuZ3RoKTx0LnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCYmKGkuY29tcHJlc3M9ITEpfXRyeXt0LnVzaW5nQnJvd3NlcldlYlNvY2tldD90LndzLnNlbmQocik6dC53cy5zZW5kKHIsaSl9Y2F0Y2h7cyhgd2Vic29ja2V0IGNsb3NlZCBiZWZvcmUgb25jbG9zZSBldmVudGApfS0tbnx8bygpfSl9KShlW2ldKTtmdW5jdGlvbiBvKCl7dC5lbWl0KGBmbHVzaGApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndyaXRhYmxlPSEwLHQuZW1pdChgZHJhaW5gKX0sMCl9fSxkLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpfSxkLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy53cyE9PXZvaWQgMCYmdGhpcy53cy5jbG9zZSgpfSxkLnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlP2B3c3NgOmB3c2Asbj1gYDt0aGlzLnBvcnQmJih0PT09YHdzc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YHdzYCYmTnVtYmVyKHRoaXMucG9ydCkhPT04MCkmJihuPWA6YCt0aGlzLnBvcnQpLHRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8KGUuYjY0PTEpLGU9aS5lbmNvZGUoZSksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgcj10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhyP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfSxkLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3JldHVybiEhdSYmIShgX19pbml0aWFsaXplYGluIHUmJnRoaXMubmFtZT09PWQucHJvdG90eXBlLm5hbWUpfX0pKSxzYz1zKChlPT57dmFyIHQ9VXMoKSxuPXJjKCkscj1pYygpLGk9b2MoKTtlLnBvbGxpbmc9YSxlLndlYnNvY2tldD1pO2Z1bmN0aW9uIGEoZSl7dmFyIGksYT0hMSxvPSExLHM9ITEhPT1lLmpzb25wO2lmKHR5cGVvZiBsb2NhdGlvbjxgdWApe3ZhciBjPWxvY2F0aW9uLnByb3RvY29sPT09YGh0dHBzOmAsbD1sb2NhdGlvbi5wb3J0O2x8fD1jPzQ0Mzo4MCxhPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8bCE9PWUucG9ydCxvPWUuc2VjdXJlIT09Y31pZihlLnhkb21haW49YSxlLnhzY2hlbWU9byxpPW5ldyB0KGUpLGBvcGVuYGluIGkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBuKGUpO2lmKCFzKXRocm93IEVycm9yKGBKU09OUCBkaXNhYmxlZGApO3JldHVybiBuZXcgcihlKX19KSksY2M9cygoKGUsdCk9Pnt2YXIgbj1bXS5pbmRleE9mO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX19KSksbGM9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoYFtgKSxzPWUuaW5kZXhPZihgXWApO28hPS0xJiZzIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHMpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKHMsZS5sZW5ndGgpKTtmb3IodmFyIGM9bi5leGVjKGV8fGBgKSxsPXt9LHU9MTQ7dS0tOylsW3JbdV1dPWNbdV18fGBgO3JldHVybiBvIT0tMSYmcyE9LTEmJihsLnNvdXJjZT10LGwuaG9zdD1sLmhvc3Quc3Vic3RyaW5nKDEsbC5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxsLmF1dGhvcml0eT1sLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLGwuaXB2NnVyaT0hMCksbC5wYXRoTmFtZXM9aShsLGwucGF0aCksbC5xdWVyeUtleT1hKGwsbC5xdWVyeSksbH07ZnVuY3Rpb24gaShlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC97Miw5fS9nLGAvYCkuc3BsaXQoYC9gKTtyZXR1cm4odC5zdWJzdHIoMCwxKT09YC9gfHx0Lmxlbmd0aD09PTApJiZuLnNwbGljZSgwLDEpLHQuc3Vic3RyKHQubGVuZ3RoLTEsMSk9PWAvYCYmbi5zcGxpY2Uobi5sZW5ndGgtMSwxKSxufWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj17fTtyZXR1cm4gdC5yZXBsYWNlKC8oPzpefCYpKFteJj1dKik9PyhbXiZdKikvZyxmdW5jdGlvbihlLHQscil7dCYmKG5bdF09cil9KSxufX0pKSx1Yz1zKCgoZSx0KT0+e3ZhciBuPXNjKCkscj1JcygpLGk9RnMoKShgZW5naW5lLmlvLWNsaWVudDpzb2NrZXRgKSxhPWNjKCksbz1acygpLHM9bGMoKSxjPSRzKCk7dC5leHBvcnRzPWw7ZnVuY3Rpb24gbChlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbChlLHQpO3R8fD17fSxlJiZ0eXBlb2YgZT09YG9iamVjdGAmJih0PWUsZT1udWxsKSxlPyhlPXMoZSksdC5ob3N0bmFtZT1lLmhvc3QsdC5zZWN1cmU9ZS5wcm90b2NvbD09PWBodHRwc2B8fGUucHJvdG9jb2w9PT1gd3NzYCx0LnBvcnQ9ZS5wb3J0LGUucXVlcnkmJih0LnF1ZXJ5PWUucXVlcnkpKTp0Lmhvc3QmJih0Lmhvc3RuYW1lPXModC5ob3N0KS5ob3N0KSx0aGlzLnNlY3VyZT10LnNlY3VyZT09bnVsbD90eXBlb2YgbG9jYXRpb248YHVgJiZsb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgOnQuc2VjdXJlLHQuaG9zdG5hbWUmJiF0LnBvcnQmJih0LnBvcnQ9dGhpcy5zZWN1cmU/YDQ0M2A6YDgwYCksdGhpcy5hZ2VudD10LmFnZW50fHwhMSx0aGlzLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCh0eXBlb2YgbG9jYXRpb248YHVgP2xvY2F0aW9uLmhvc3RuYW1lOmBsb2NhbGhvc3RgKSx0aGlzLnBvcnQ9dC5wb3J0fHwodHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24ucG9ydD9sb2NhdGlvbi5wb3J0OnRoaXMuc2VjdXJlPzQ0Mzo4MCksdGhpcy5xdWVyeT10LnF1ZXJ5fHx7fSx0eXBlb2YgdGhpcy5xdWVyeT09YHN0cmluZ2AmJih0aGlzLnF1ZXJ5PWMuZGVjb2RlKHRoaXMucXVlcnkpKSx0aGlzLnVwZ3JhZGU9ITEhPT10LnVwZ3JhZGUsdGhpcy5wYXRoPSh0LnBhdGh8fGAvZW5naW5lLmlvYCkucmVwbGFjZSgvXC8kLyxgYCkrYC9gLHRoaXMuZm9yY2VKU09OUD0hIXQuZm9yY2VKU09OUCx0aGlzLmpzb25wPSExIT09dC5qc29ucCx0aGlzLmZvcmNlQmFzZTY0PSEhdC5mb3JjZUJhc2U2NCx0aGlzLmVuYWJsZXNYRFI9ISF0LmVuYWJsZXNYRFIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEhPT10LndpdGhDcmVkZW50aWFscyx0aGlzLnRpbWVzdGFtcFBhcmFtPXQudGltZXN0YW1wUGFyYW18fGB0YCx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy50cmFuc3BvcnRzPXQudHJhbnNwb3J0c3x8W2Bwb2xsaW5nYCxgd2Vic29ja2V0YF0sdGhpcy50cmFuc3BvcnRPcHRpb25zPXQudHJhbnNwb3J0T3B0aW9uc3x8e30sdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTAsdGhpcy5wb2xpY3lQb3J0PXQucG9saWN5UG9ydHx8ODQzLHRoaXMucmVtZW1iZXJVcGdyYWRlPXQucmVtZW1iZXJVcGdyYWRlfHwhMSx0aGlzLmJpbmFyeVR5cGU9bnVsbCx0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcz10Lm9ubHlCaW5hcnlVcGdyYWRlcyx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPSExPT09dC5wZXJNZXNzYWdlRGVmbGF0ZT8hMTp0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSwhMD09PXRoaXMucGVyTWVzc2FnZURlZmxhdGUmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPXt9KSx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiZ0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD09bnVsbCYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkPTEwMjQpLHRoaXMucGZ4PXQucGZ4fHxudWxsLHRoaXMua2V5PXQua2V5fHxudWxsLHRoaXMucGFzc3BocmFzZT10LnBhc3NwaHJhc2V8fG51bGwsdGhpcy5jZXJ0PXQuY2VydHx8bnVsbCx0aGlzLmNhPXQuY2F8fG51bGwsdGhpcy5jaXBoZXJzPXQuY2lwaGVyc3x8bnVsbCx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD10LnJlamVjdFVuYXV0aG9yaXplZD09PXZvaWQgMD8hMDp0LnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIXQuZm9yY2VOb2RlLHRoaXMuaXNSZWFjdE5hdGl2ZT10eXBlb2YgbmF2aWdhdG9yPGB1YCYmdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0PT1gc3RyaW5nYCYmbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKT09PWByZWFjdG5hdGl2ZWAsKHR5cGVvZiBzZWxmPmB1YHx8dGhpcy5pc1JlYWN0TmF0aXZlKSYmKHQuZXh0cmFIZWFkZXJzJiZPYmplY3Qua2V5cyh0LmV4dHJhSGVhZGVycykubGVuZ3RoPjAmJih0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyksdC5sb2NhbEFkZHJlc3MmJih0aGlzLmxvY2FsQWRkcmVzcz10LmxvY2FsQWRkcmVzcykpLHRoaXMuaWQ9bnVsbCx0aGlzLnVwZ3JhZGVzPW51bGwsdGhpcy5waW5nSW50ZXJ2YWw9bnVsbCx0aGlzLnBpbmdUaW1lb3V0PW51bGwsdGhpcy5waW5nSW50ZXJ2YWxUaW1lcj1udWxsLHRoaXMucGluZ1RpbWVvdXRUaW1lcj1udWxsLHRoaXMub3BlbigpfWwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHIobC5wcm90b3R5cGUpLGwucHJvdG9jb2w9by5wcm90b2NvbCxsLlNvY2tldD1sLGwuVHJhbnNwb3J0PVFzKCksbC50cmFuc3BvcnRzPXNjKCksbC5wYXJzZXI9WnMoKSxsLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7aShgY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXUodGhpcy5xdWVyeSk7dC5FSU89by5wcm90b2NvbCx0LnRyYW5zcG9ydD1lO3ZhciByPXRoaXMudHJhbnNwb3J0T3B0aW9uc1tlXXx8e307cmV0dXJuIHRoaXMuaWQmJih0LnNpZD10aGlzLmlkKSxuZXcgbltlXSh7cXVlcnk6dCxzb2NrZXQ6dGhpcyxhZ2VudDpyLmFnZW50fHx0aGlzLmFnZW50LGhvc3RuYW1lOnIuaG9zdG5hbWV8fHRoaXMuaG9zdG5hbWUscG9ydDpyLnBvcnR8fHRoaXMucG9ydCxzZWN1cmU6ci5zZWN1cmV8fHRoaXMuc2VjdXJlLHBhdGg6ci5wYXRofHx0aGlzLnBhdGgsZm9yY2VKU09OUDpyLmZvcmNlSlNPTlB8fHRoaXMuZm9yY2VKU09OUCxqc29ucDpyLmpzb25wfHx0aGlzLmpzb25wLGZvcmNlQmFzZTY0OnIuZm9yY2VCYXNlNjR8fHRoaXMuZm9yY2VCYXNlNjQsZW5hYmxlc1hEUjpyLmVuYWJsZXNYRFJ8fHRoaXMuZW5hYmxlc1hEUix3aXRoQ3JlZGVudGlhbHM6ci53aXRoQ3JlZGVudGlhbHN8fHRoaXMud2l0aENyZWRlbnRpYWxzLHRpbWVzdGFtcFJlcXVlc3RzOnIudGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06ci50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0OnIucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpyLnBmeHx8dGhpcy5wZngsa2V5OnIua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOnIucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6ci5jZXJ0fHx0aGlzLmNlcnQsY2E6ci5jYXx8dGhpcy5jYSxjaXBoZXJzOnIuY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpyLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6ci5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6ci5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpyLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOnIubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpyLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpyLnByb3RvY29sc3x8dm9pZCAwLGlzUmVhY3ROYXRpdmU6dGhpcy5pc1JlYWN0TmF0aXZlfSl9O2Z1bmN0aW9uIHUoZSl7dmFyIHQ9e307Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9bC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZsLnByaW9yV2Vic29ja2V0U3VjY2VzcyYmdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoYHdlYnNvY2tldGApIT09LTEpZT1gd2Vic29ja2V0YDtlbHNlIGlmKHRoaXMudHJhbnNwb3J0cy5sZW5ndGg9PT0wKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmVtaXQoYGVycm9yYCxgTm8gdHJhbnNwb3J0cyBhdmFpbGFibGVgKX0sMCk7cmV0dXJufWVsc2UgZT10aGlzLnRyYW5zcG9ydHNbMF07dGhpcy5yZWFkeVN0YXRlPWBvcGVuaW5nYDt0cnl7ZT10aGlzLmNyZWF0ZVRyYW5zcG9ydChlKX1jYXRjaHt0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx0aGlzLm9wZW4oKTtyZXR1cm59ZS5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQoZSl9LGwucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbihlKXtpKGBzZXR0aW5nIHRyYW5zcG9ydCAlc2AsZS5uYW1lKTt2YXIgdD10aGlzO3RoaXMudHJhbnNwb3J0JiYoaShgY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzYCx0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9ZSxlLm9uKGBkcmFpbmAsZnVuY3Rpb24oKXt0Lm9uRHJhaW4oKX0pLm9uKGBwYWNrZXRgLGZ1bmN0aW9uKGUpe3Qub25QYWNrZXQoZSl9KS5vbihgZXJyb3JgLGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pLm9uKGBjbG9zZWAsZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoYHRyYW5zcG9ydCBjbG9zZWApfSl9LGwucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe2koYHByb2JpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLHI9dGhpcztsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMTtmdW5jdGlvbiBhKCl7aWYoci5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBhPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZyLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtufHw9YX1ufHwoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkYCxlKSx0LnNlbmQoW3t0eXBlOmBwaW5nYCxkYXRhOmBwcm9iZWB9XSksdC5vbmNlKGBwYWNrZXRgLGZ1bmN0aW9uKGEpe2lmKCFuKWlmKGEudHlwZT09PWBwb25nYCYmYS5kYXRhPT09YHByb2JlYCl7aWYoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZ2AsZSksci51cGdyYWRpbmc9ITAsci5lbWl0KGB1cGdyYWRpbmdgLHQpLCF0KXJldHVybjtsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz10Lm5hbWU9PT1gd2Vic29ja2V0YCxpKGBwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyJgLHIudHJhbnNwb3J0Lm5hbWUpLHIudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7bnx8ci5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJihpKGBjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXRgKSxmKCksci5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZTpgdXBncmFkZWB9XSksci5lbWl0KGB1cGdyYWRlYCx0KSx0PW51bGwsci51cGdyYWRpbmc9ITEsci5mbHVzaCgpKX0pfWVsc2V7aShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkYCxlKTt2YXIgbz1FcnJvcihgcHJvYmUgZXJyb3JgKTtvLnRyYW5zcG9ydD10Lm5hbWUsci5lbWl0KGB1cGdyYWRlRXJyb3JgLG8pfX0pKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsZigpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIGE9RXJyb3IoYHByb2JlIGVycm9yOiBgK24pO2EudHJhbnNwb3J0PXQubmFtZSxvKCksaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzYCxlLG4pLHIuZW1pdChgdXBncmFkZUVycm9yYCxhKX1mdW5jdGlvbiBjKCl7cyhgdHJhbnNwb3J0IGNsb3NlZGApfWZ1bmN0aW9uIHUoKXtzKGBzb2NrZXQgY2xvc2VkYCl9ZnVuY3Rpb24gZChlKXt0JiZlLm5hbWUhPT10Lm5hbWUmJihpKGAiJXMiIHdvcmtzIC0gYWJvcnRpbmcgIiVzImAsZS5uYW1lLHQubmFtZSksbygpKX1mdW5jdGlvbiBmKCl7dC5yZW1vdmVMaXN0ZW5lcihgb3BlbmAsYSksdC5yZW1vdmVMaXN0ZW5lcihgZXJyb3JgLHMpLHQucmVtb3ZlTGlzdGVuZXIoYGNsb3NlYCxjKSxyLnJlbW92ZUxpc3RlbmVyKGBjbG9zZWAsdSksci5yZW1vdmVMaXN0ZW5lcihgdXBncmFkaW5nYCxkKX10Lm9uY2UoYG9wZW5gLGEpLHQub25jZShgZXJyb3JgLHMpLHQub25jZShgY2xvc2VgLGMpLHRoaXMub25jZShgY2xvc2VgLHUpLHRoaXMub25jZShgdXBncmFkaW5nYCxkKSx0Lm9wZW4oKX0sbC5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoaShgc29ja2V0IG9wZW5gKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLGwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPXRoaXMudHJhbnNwb3J0Lm5hbWU9PT1gd2Vic29ja2V0YCx0aGlzLmVtaXQoYG9wZW5gKSx0aGlzLmZsdXNoKCksdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXtpKGBzdGFydGluZyB1cGdyYWRlIHByb2Jlc2ApO2Zvcih2YXIgZT0wLHQ9dGhpcy51cGdyYWRlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbZV0pfX0sbC5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYClzd2l0Y2goaShgc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiYCxlLnR5cGUsZS5kYXRhKSx0aGlzLmVtaXQoYHBhY2tldGAsZSksdGhpcy5lbWl0KGBoZWFydGJlYXRgKSxlLnR5cGUpe2Nhc2Vgb3BlbmA6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKGUuZGF0YSkpO2JyZWFrO2Nhc2VgcG9uZ2A6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KGBwb25nYCk7YnJlYWs7Y2FzZWBlcnJvcmA6dmFyIHQ9RXJyb3IoYHNlcnZlciBlcnJvcmApO3QuY29kZT1lLmRhdGEsdGhpcy5vbkVycm9yKHQpO2JyZWFrO2Nhc2VgbWVzc2FnZWA6dGhpcy5lbWl0KGBkYXRhYCxlLmRhdGEpLHRoaXMuZW1pdChgbWVzc2FnZWAsZS5kYXRhKTticmVha31lbHNlIGkoYHBhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSl9LGwucHJvdG90eXBlLm9uSGFuZHNoYWtlPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgaGFuZHNoYWtlYCxlKSx0aGlzLmlkPWUuc2lkLHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZD1lLnNpZCx0aGlzLnVwZ3JhZGVzPXRoaXMuZmlsdGVyVXBncmFkZXMoZS51cGdyYWRlcyksdGhpcy5waW5nSW50ZXJ2YWw9ZS5waW5nSW50ZXJ2YWwsdGhpcy5waW5nVGltZW91dD1lLnBpbmdUaW1lb3V0LHRoaXMub25PcGVuKCksdGhpcy5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJih0aGlzLnNldFBpbmcoKSx0aGlzLnJlbW92ZUxpc3RlbmVyKGBoZWFydGJlYXRgLHRoaXMub25IZWFydGJlYXQpLHRoaXMub24oYGhlYXJ0YmVhdGAsdGhpcy5vbkhlYXJ0YmVhdCkpfSxsLnByb3RvdHlwZS5vbkhlYXJ0YmVhdD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTt2YXIgdD10aGlzO3QucGluZ1RpbWVvdXRUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJnQub25DbG9zZShgcGluZyB0aW1lb3V0YCl9LGV8fHQucGluZ0ludGVydmFsK3QucGluZ1RpbWVvdXQpfSxsLnByb3RvdHlwZS5zZXRQaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztjbGVhclRpbWVvdXQoZS5waW5nSW50ZXJ2YWxUaW1lciksZS5waW5nSW50ZXJ2YWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aShgd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zYCxlLnBpbmdUaW1lb3V0KSxlLnBpbmcoKSxlLm9uSGVhcnRiZWF0KGUucGluZ1RpbWVvdXQpfSxlLnBpbmdJbnRlcnZhbCl9LGwucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldChgcGluZ2AsZnVuY3Rpb24oKXtlLmVtaXQoYHBpbmdgKX0pfSxsLnByb3RvdHlwZS5vbkRyYWluPWZ1bmN0aW9uKCl7dGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCx0aGlzLnByZXZCdWZmZXJMZW4pLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoPT09MD90aGlzLmVtaXQoYGRyYWluYCk6dGhpcy5mbHVzaCgpfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZSE9PWBjbG9zZWRgJiZ0aGlzLnRyYW5zcG9ydC53cml0YWJsZSYmIXRoaXMudXBncmFkaW5nJiZ0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCYmKGkoYGZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0YCx0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCksdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKSx0aGlzLnByZXZCdWZmZXJMZW49dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgsdGhpcy5lbWl0KGBmbHVzaGApKX0sbC5wcm90b3R5cGUud3JpdGU9bC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuc2VuZFBhY2tldChgbWVzc2FnZWAsZSx0LG4pLHRoaXN9LGwucHJvdG90eXBlLnNlbmRQYWNrZXQ9ZnVuY3Rpb24oZSx0LG4scil7aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmAmJihyPXQsdD12b2lkIDApLHR5cGVvZiBuPT1gZnVuY3Rpb25gJiYocj1uLG49bnVsbCksISh0aGlzLnJlYWR5U3RhdGU9PT1gY2xvc2luZ2B8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgKSl7bnx8PXt9LG4uY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBpPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KGBwYWNrZXRDcmVhdGVgLGkpLHRoaXMud3JpdGVCdWZmZXIucHVzaChpKSxyJiZ0aGlzLm9uY2UoYGZsdXNoYCxyKSx0aGlzLmZsdXNoKCl9fSxsLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKXt0aGlzLnJlYWR5U3RhdGU9YGNsb3NpbmdgO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKGBkcmFpbmAsZnVuY3Rpb24oKXt0aGlzLnVwZ3JhZGluZz9yKCk6dCgpfSk6dGhpcy51cGdyYWRpbmc/cigpOnQoKX1mdW5jdGlvbiB0KCl7ZS5vbkNsb3NlKGBmb3JjZWQgY2xvc2VgKSxpKGBzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlYCksZS50cmFuc3BvcnQuY2xvc2UoKX1mdW5jdGlvbiBuKCl7ZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZWAsbiksZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZUVycm9yYCxuKSx0KCl9ZnVuY3Rpb24gcigpe2Uub25jZShgdXBncmFkZWAsbiksZS5vbmNlKGB1cGdyYWRlRXJyb3JgLG4pfXJldHVybiB0aGlzfSxsLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUpe2koYHNvY2tldCBlcnJvciAlamAsZSksbC5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5vbkNsb3NlKGB0cmFuc3BvcnQgZXJyb3JgLGUpfSxsLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYCl7aShgc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiYCxlKTt2YXIgbj10aGlzO2NsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoYGNsb3NlYCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5pZD1udWxsLHRoaXMuZW1pdChgY2xvc2VgLGUsdCksbi53cml0ZUJ1ZmZlcj1bXSxuLnByZXZCdWZmZXJMZW49MH19LGwucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKX5hKHRoaXMudHJhbnNwb3J0cyxlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fX0pKSxkYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz11YygpLHQuZXhwb3J0cy5wYXJzZXI9WnMoKX0pKSxmYz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gdGhpc30sbi5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fTt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPXRoaXMuX2NhbGxiYWNrc1tgJGArZV07aWYobil7bj1uLnNsaWNlKDApO2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpOysrciluW3JdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2AkYCtlXXx8W119LG4ucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19KSkscGM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUsdCl7dmFyIG49W107dHx8PTA7Zm9yKHZhciByPXR8fDA7cjxlLmxlbmd0aDtyKyspbltyLXRdPWVbcl07cmV0dXJuIG59fSkpLG1jPXMoKChlLHQpPT57dC5leHBvcnRzPW47ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGUub24odCxuKSx7ZGVzdHJveTpmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIodCxuKX19fX0pKSxoYz1zKCgoZSx0KT0+e3ZhciBuPVtdLnNsaWNlO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmKHQ9ZVt0XSksdHlwZW9mIHQhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoYGJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uYCk7dmFyIHI9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLHIuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0pKSxnYz1zKChlPT57ZS5lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YGA7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHQubGVuZ3RoJiYodCs9YCZgKSx0Kz1lbmNvZGVVUklDb21wb25lbnQobikrYD1gK2VuY29kZVVSSUNvbXBvbmVudChlW25dKSk7cmV0dXJuIHR9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD17fSxuPWUuc3BsaXQoYCZgKSxyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLnNwbGl0KGA9YCk7dFtkZWNvZGVVUklDb21wb25lbnQoYVswXSldPWRlY29kZVVSSUNvbXBvbmVudChhWzFdKX1yZXR1cm4gdH19KSksX2M9cygoKGUsdCk9Pnt2YXIgbj1CcygpLHI9ZmMoKSxpPXBjKCksYT1tYygpLG89aGMoKSxzPWpzKCkoYHNvY2tldC5pby1jbGllbnQ6c29ja2V0YCksYz1nYygpLGw9R3MoKTt0LmV4cG9ydHM9ZT1mO3ZhciB1PXtjb25uZWN0OjEsY29ubmVjdF9lcnJvcjoxLGNvbm5lY3RfdGltZW91dDoxLGNvbm5lY3Rpbmc6MSxkaXNjb25uZWN0OjEsZXJyb3I6MSxyZWNvbm5lY3Q6MSxyZWNvbm5lY3RfYXR0ZW1wdDoxLHJlY29ubmVjdF9mYWlsZWQ6MSxyZWNvbm5lY3RfZXJyb3I6MSxyZWNvbm5lY3Rpbmc6MSxwaW5nOjEscG9uZzoxfSxkPXIucHJvdG90eXBlLmVtaXQ7ZnVuY3Rpb24gZihlLHQsbil7dGhpcy5pbz1lLHRoaXMubnNwPXQsdGhpcy5qc29uPXRoaXMsdGhpcy5pZHM9MCx0aGlzLmFja3M9e30sdGhpcy5yZWNlaXZlQnVmZmVyPVtdLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLmZsYWdzPXt9LG4mJm4ucXVlcnkmJih0aGlzLnF1ZXJ5PW4ucXVlcnkpLHRoaXMuaW8uYXV0b0Nvbm5lY3QmJnRoaXMub3BlbigpfXIoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciBlPXRoaXMuaW87dGhpcy5zdWJzPVthKGUsYG9wZW5gLG8odGhpcyxgb25vcGVuYCkpLGEoZSxgcGFja2V0YCxvKHRoaXMsYG9ucGFja2V0YCkpLGEoZSxgY2xvc2VgLG8odGhpcyxgb25jbG9zZWApKV19fSxmLnByb3RvdHlwZS5vcGVuPWYucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSx0aGlzLmlvLnJlYWR5U3RhdGU9PT1gb3BlbmAmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KGBjb25uZWN0aW5nYCksdGhpcyl9LGYucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1pKGFyZ3VtZW50cyk7cmV0dXJuIGUudW5zaGlmdChgbWVzc2FnZWApLHRoaXMuZW1pdC5hcHBseSh0aGlzLGUpLHRoaXN9LGYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7aWYodS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gZC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgdD1pKGFyZ3VtZW50cykscj17dHlwZToodGhpcy5mbGFncy5iaW5hcnk9PT12b2lkIDA/bCh0KTp0aGlzLmZsYWdzLmJpbmFyeSk/bi5CSU5BUllfRVZFTlQ6bi5FVkVOVCxkYXRhOnR9O3JldHVybiByLm9wdGlvbnM9e30sci5vcHRpb25zLmNvbXByZXNzPSF0aGlzLmZsYWdzfHwhMSE9PXRoaXMuZmxhZ3MuY29tcHJlc3MsdHlwZW9mIHRbdC5sZW5ndGgtMV09PWBmdW5jdGlvbmAmJihzKGBlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWRgLHRoaXMuaWRzKSx0aGlzLmFja3NbdGhpcy5pZHNdPXQucG9wKCksci5pZD10aGlzLmlkcysrKSx0aGlzLmNvbm5lY3RlZD90aGlzLnBhY2tldChyKTp0aGlzLnNlbmRCdWZmZXIucHVzaChyKSx0aGlzLmZsYWdzPXt9LHRoaXN9LGYucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbihlKXtlLm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldChlKX0sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYocyhgdHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nYCksdGhpcy5uc3AhPT1gL2ApaWYodGhpcy5xdWVyeSl7dmFyIGU9dHlwZW9mIHRoaXMucXVlcnk9PWBvYmplY3RgP2MuZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7cyhgc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzYCxlKSx0aGlzLnBhY2tldCh7dHlwZTpuLkNPTk5FQ1QscXVlcnk6ZX0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6bi5DT05ORUNUfSl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7cyhgY2xvc2UgKCVzKWAsZSksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxlKX0sZi5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uc3A9PT10aGlzLm5zcCxyPWUudHlwZT09PW4uRVJST1ImJmUubnNwPT09YC9gO2lmKCEoIXQmJiFyKSlzd2l0Y2goZS50eXBlKXtjYXNlIG4uQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2Ugbi5FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkFDSzp0aGlzLm9uYWNrKGUpO2JyZWFrO2Nhc2Ugbi5CSU5BUllfQUNLOnRoaXMub25hY2soZSk7YnJlYWs7Y2FzZSBuLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIG4uRVJST1I6dGhpcy5lbWl0KGBlcnJvcmAsZS5kYXRhKTticmVha319LGYucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhfHxbXTtzKGBlbWl0dGluZyBldmVudCAlamAsdCksZS5pZCE9bnVsbCYmKHMoYGF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnRgKSx0LnB1c2godGhpcy5hY2soZS5pZCkpKSx0aGlzLmNvbm5lY3RlZD9kLmFwcGx5KHRoaXMsdCk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2godCl9LGYucHJvdG90eXBlLmFjaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7dmFyIGE9aShhcmd1bWVudHMpO3MoYHNlbmRpbmcgYWNrICVqYCxhKSx0LnBhY2tldCh7dHlwZTpsKGEpP24uQklOQVJZX0FDSzpuLkFDSyxpZDplLGRhdGE6YX0pfX19LGYucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWNrc1tlLmlkXTt0eXBlb2YgdD09YGZ1bmN0aW9uYD8ocyhgY2FsbGluZyBhY2sgJXMgd2l0aCAlamAsZS5pZCxlLmRhdGEpLHQuYXBwbHkodGhpcyxlLmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbZS5pZF0pOnMoYGJhZCBhY2sgJXNgLGUuaWQpfSxmLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoYGNvbm5lY3RgKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxmLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgZTtmb3IoZT0wO2U8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDtlKyspZC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlcltlXSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSxlPTA7ZTx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO2UrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbZV0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sZi5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cyhgc2VydmVyIGRpc2Nvbm5lY3QgKCVzKWAsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZShgaW8gc2VydmVyIGRpc2Nvbm5lY3RgKX0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciBlPTA7ZTx0aGlzLnN1YnMubGVuZ3RoO2UrKyl0aGlzLnN1YnNbZV0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHMoYHBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpYCx0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6bi5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoYGlvIGNsaWVudCBkaXNjb25uZWN0YCksdGhpc30sZi5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuY29tcHJlc3M9ZSx0aGlzfSxmLnByb3RvdHlwZS5iaW5hcnk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuYmluYXJ5PWUsdGhpc319KSksdmM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUpe2V8fD17fSx0aGlzLm1zPWUubWlufHwxMDAsdGhpcy5tYXg9ZS5tYXh8fDFlNCx0aGlzLmZhY3Rvcj1lLmZhY3Rvcnx8Mix0aGlzLmppdHRlcj1lLmppdHRlcj4wJiZlLmppdHRlcjw9MT9lLmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH1uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubXMqdGhpcy5mYWN0b3IqKisgdGhpcy5hdHRlbXB0cysrO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9TWF0aC5mbG9vcih0KjEwKSYxP2UrbjplLW59cmV0dXJuIE1hdGgubWluKGUsdGhpcy5tYXgpfDB9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24oZSl7dGhpcy5tcz1lfSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24oZSl7dGhpcy5tYXg9ZX0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKGUpe3RoaXMuaml0dGVyPWV9fSkpLHljPXMoKChlLHQpPT57dmFyIG49ZGMoKSxyPV9jKCksaT1mYygpLGE9QnMoKSxvPW1jKCkscz1oYygpLGM9anMoKShgc29ja2V0LmlvLWNsaWVudDptYW5hZ2VyYCksbD1jYygpLHU9dmMoKSxkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWY7ZnVuY3Rpb24gZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlLHQpO2UmJnR5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9LHQucGF0aD10LnBhdGh8fGAvc29ja2V0LmlvYCx0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz10LHRoaXMucmVjb25uZWN0aW9uKHQucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHModC5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KHQucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heCh0LnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3Rvcih0LnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IHUoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQodC50aW1lb3V0PT1udWxsPzJlNDp0LnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLnVyaT1lLHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj10LnBhcnNlcnx8YTt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PXQuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX1mLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuZW1pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJnRoaXMubnNwc1tlXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tlXSxhcmd1bWVudHMpfSxmLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJih0aGlzLm5zcHNbZV0uaWQ9dGhpcy5nZW5lcmF0ZUlkKGUpKX0sZi5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbihlKXtyZXR1cm4oZT09PWAvYD9gYDplK2AjYCkrdGhpcy5lbmdpbmUuaWR9LGkoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz1lLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4oZSksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LGYucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIoZSksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxmLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PWUsdGhpcyk6dGhpcy5fdGltZW91dH0sZi5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmdGhpcy5iYWNrb2ZmLmF0dGVtcHRzPT09MCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUub3Blbj1mLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKGUsdCl7aWYoYyhgcmVhZHlTdGF0ZSAlc2AsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoYG9wZW5gKSlyZXR1cm4gdGhpcztjKGBvcGVuaW5nICVzYCx0aGlzLnVyaSksdGhpcy5lbmdpbmU9bih0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciByPXRoaXMuZW5naW5lLGk9dGhpczt0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgYT1vKHIsYG9wZW5gLGZ1bmN0aW9uKCl7aS5vbm9wZW4oKSxlJiZlKCl9KSxzPW8ocixgZXJyb3JgLGZ1bmN0aW9uKHQpe2lmKGMoYGNvbm5lY3RfZXJyb3JgKSxpLmNsZWFudXAoKSxpLnJlYWR5U3RhdGU9YGNsb3NlZGAsaS5lbWl0QWxsKGBjb25uZWN0X2Vycm9yYCx0KSxlKXt2YXIgbj1FcnJvcihgQ29ubmVjdGlvbiBlcnJvcmApO24uZGF0YT10LGUobil9ZWxzZSBpLm1heWJlUmVjb25uZWN0T25PcGVuKCl9KTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBsPXRoaXMuX3RpbWVvdXQ7YyhgY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZGAsbCk7dmFyIHU9c2V0VGltZW91dChmdW5jdGlvbigpe2MoYGNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWRgLGwpLGEuZGVzdHJveSgpLHIuY2xvc2UoKSxyLmVtaXQoYGVycm9yYCxgdGltZW91dGApLGkuZW1pdEFsbChgY29ubmVjdF90aW1lb3V0YCxsKX0sbCk7dGhpcy5zdWJzLnB1c2goe2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodSl9fSl9cmV0dXJuIHRoaXMuc3Vicy5wdXNoKGEpLHRoaXMuc3Vicy5wdXNoKHMpLHRoaXN9LGYucHJvdG90eXBlLm9ub3Blbj1mdW5jdGlvbigpe2MoYG9wZW5gKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMuZW1pdChgb3BlbmApO3ZhciBlPXRoaXMuZW5naW5lO3RoaXMuc3Vicy5wdXNoKG8oZSxgZGF0YWAscyh0aGlzLGBvbmRhdGFgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcGluZ2Ascyh0aGlzLGBvbnBpbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcG9uZ2Ascyh0aGlzLGBvbnBvbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgZXJyb3JgLHModGhpcyxgb25lcnJvcmApKSksdGhpcy5zdWJzLnB1c2gobyhlLGBjbG9zZWAscyh0aGlzLGBvbmNsb3NlYCkpKSx0aGlzLnN1YnMucHVzaChvKHRoaXMuZGVjb2RlcixgZGVjb2RlZGAscyh0aGlzLGBvbmRlY29kZWRgKSkpfSxmLnByb3RvdHlwZS5vbnBpbmc9ZnVuY3Rpb24oKXt0aGlzLmxhc3RQaW5nPW5ldyBEYXRlLHRoaXMuZW1pdEFsbChgcGluZ2ApfSxmLnByb3RvdHlwZS5vbnBvbmc9ZnVuY3Rpb24oKXt0aGlzLmVtaXRBbGwoYHBvbmdgLG5ldyBEYXRlLXRoaXMubGFzdFBpbmcpfSxmLnByb3RvdHlwZS5vbmRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5kZWNvZGVyLmFkZChlKX0sZi5wcm90b3R5cGUub25kZWNvZGVkPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0sZi5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbihlKXtjKGBlcnJvcmAsZSksdGhpcy5lbWl0QWxsKGBlcnJvcmAsZSl9LGYucHJvdG90eXBlLnNvY2tldD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubnNwc1tlXTtpZighbil7bj1uZXcgcih0aGlzLGUsdCksdGhpcy5uc3BzW2VdPW47dmFyIGk9dGhpcztuLm9uKGBjb25uZWN0aW5nYCxhKSxuLm9uKGBjb25uZWN0YCxmdW5jdGlvbigpe24uaWQ9aS5nZW5lcmF0ZUlkKGUpfSksdGhpcy5hdXRvQ29ubmVjdCYmYSgpfWZ1bmN0aW9uIGEoKXt+bChpLmNvbm5lY3Rpbmcsbil8fGkuY29ubmVjdGluZy5wdXNoKG4pfXJldHVybiBufSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PWwodGhpcy5jb25uZWN0aW5nLGUpO350JiZ0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKHQsMSksIXRoaXMuY29ubmVjdGluZy5sZW5ndGgmJnRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2MoYHdyaXRpbmcgcGFja2V0ICVqYCxlKTt2YXIgdD10aGlzO2UucXVlcnkmJmUudHlwZT09PTAmJihlLm5zcCs9YD9gK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspdC5lbmdpbmUud3JpdGUobltyXSxlLm9wdGlvbnMpO3QuZW5jb2Rpbmc9ITEsdC5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sZi5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgZT10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KGUpfX0sZi5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2MoYGNsZWFudXBgKTtmb3IodmFyIGU9dGhpcy5zdWJzLmxlbmd0aCx0PTA7dDxlO3QrKyl0aGlzLnN1YnMuc2hpZnQoKS5kZXN0cm95KCk7dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2MoYGRpc2Nvbm5lY3RgKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7Yyhgb25jbG9zZWApLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCxlKSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWMoYHJlY29ubmVjdCBmYWlsZWRgKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoYHJlY29ubmVjdF9mYWlsZWRgKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciB0PXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2MoYHdpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdGAsdCksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGMoYGF0dGVtcHRpbmcgcmVjb25uZWN0YCksZS5lbWl0QWxsKGByZWNvbm5lY3RfYXR0ZW1wdGAsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoYHJlY29ubmVjdGluZ2AsZS5iYWNrb2ZmLmF0dGVtcHRzKSwhZS5za2lwUmVjb25uZWN0JiZlLm9wZW4oZnVuY3Rpb24odCl7dD8oYyhgcmVjb25uZWN0IGF0dGVtcHQgZXJyb3JgKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbChgcmVjb25uZWN0X2Vycm9yYCx0LmRhdGEpKTooYyhgcmVjb25uZWN0IHN1Y2Nlc3NgKSxlLm9ucmVjb25uZWN0KCkpfSkpfSx0KTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKX19KX19LGYucHJvdG90eXBlLm9ucmVjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5iYWNrb2ZmLmF0dGVtcHRzO3RoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMudXBkYXRlU29ja2V0SWRzKCksdGhpcy5lbWl0QWxsKGByZWNvbm5lY3RgLGUpfX0pKSxiYz1zKCgoZSx0KT0+e3ZhciBuPU1zKCkscj1CcygpLGk9eWMoKSxhPWpzKCkoYHNvY2tldC5pby1jbGllbnRgKTt0LmV4cG9ydHM9ZT1zO3ZhciBvPWUubWFuYWdlcnM9e307ZnVuY3Rpb24gcyhlLHQpe3R5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9O3ZhciByPW4oZSkscz1yLnNvdXJjZSxjPXIuaWQsbD1yLnBhdGgsdT1vW2NdJiZsIGluIG9bY10ubnNwcyxkPXQuZm9yY2VOZXd8fHRbYGZvcmNlIG5ldyBjb25uZWN0aW9uYF18fCExPT09dC5tdWx0aXBsZXh8fHUsZjtyZXR1cm4gZD8oYShgaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlc2AscyksZj1pKHMsdCkpOihvW2NdfHwoYShgbmV3IGlvIGluc3RhbmNlIGZvciAlc2Ascyksb1tjXT1pKHMsdCkpLGY9b1tjXSksci5xdWVyeSYmIXQucXVlcnkmJih0LnF1ZXJ5PXIucXVlcnkpLGYuc29ja2V0KHIucGF0aCx0KX1lLnByb3RvY29sPXIucHJvdG9jb2wsZS5jb25uZWN0PXMsZS5NYW5hZ2VyPXljKCksZS5Tb2NrZXQ9X2MoKX0pKSx4Yz1jKHtkZWZhdWx0OigpPT5TY30pO2Z1bmN0aW9uIFNjKGUsdCl7cmV0dXJuIHR8fD17fSxuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe3ZhciBpPW5ldyBYTUxIdHRwUmVxdWVzdCxhPVtdLG89W10scz17fSxjPWZ1bmN0aW9uKCl7cmV0dXJue29rOihpLnN0YXR1cy8xMDB8MCk9PTIsc3RhdHVzVGV4dDppLnN0YXR1c1RleHQsc3RhdHVzOmkuc3RhdHVzLHVybDppLnJlc3BvbnNlVVJMLHRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkucmVzcG9uc2VUZXh0KX0sanNvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoaS5yZXNwb25zZVRleHQpLnRoZW4oSlNPTi5wYXJzZSl9LGJsb2I6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFtpLnJlc3BvbnNlXSkpfSxjbG9uZTpjLGhlYWRlcnM6e2tleXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHNbZS50b0xvd2VyQ2FzZSgpXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKClpbiBzfX19fTtmb3IodmFyIGwgaW4gaS5vcGVuKHQubWV0aG9kfHxgZ2V0YCxlLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2kuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkucmVwbGFjZSgvXiguKj8pOlteXFNcbl0qKFtcc1xTXSo/KSQvZ20sZnVuY3Rpb24oZSx0LG4pe2EucHVzaCh0PXQudG9Mb3dlckNhc2UoKSksby5wdXNoKFt0LG5dKSxzW3RdPXNbdF0/c1t0XStgLGArbjpufSksbihjKCkpfSxpLm9uZXJyb3I9cixpLndpdGhDcmVkZW50aWFscz10LmNyZWRlbnRpYWxzPT1gaW5jbHVkZWAsdC5oZWFkZXJzKWkuc2V0UmVxdWVzdEhlYWRlcihsLHQuaGVhZGVyc1tsXSk7aS5zZW5kKHQuYm9keXx8bnVsbCl9KX12YXIgQ2M9bygoKCk9Pnt9KSksd2M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9c2VsZi5mZXRjaHx8KHNlbGYuZmV0Y2g9KENjKCksZCh4YykpLmRlZmF1bHR8fChDYygpLGQoeGMpKSl9KSksVGM9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLmZldGNoQmFsYW5jZXJDb25maWc9dm9pZCAwO3ZhciBuPURzKCkscj10KHdjKCkpO2UuZmV0Y2hCYWxhbmNlckNvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmRlYnVnKShgdXNpbmcgYmFsYW5jZXIgJHtlfSB0byBnZXQgd2Vic29ja2V0IHVybGApLCgwLHIuZGVmYXVsdCkoYCR7ZX1gKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGU/LnVybCYmZT8udG9rZW4/KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIHVybCAke2U/LnVybH0gYW5kIHRva2VuICR7ZT8udG9rZW59YCksZSk6KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIGludmFsaWQgcmVzcG9uc2VgKSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybigwLG4uZGVidWcpKGBmYWlsZWQgdG8gcmVzb2x2ZSB1cmw6ICR7ZS5tZXNzYWdlfWApLG51bGx9KX19KSksRWM9cygoZT0+e3ZhciB0PWUmJmUuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmbiE9PW51bGwpdGhyb3cgVHlwZUVycm9yKGBDbGFzcyBleHRlbmRzIHZhbHVlIGArU3RyaW5nKG4pK2AgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbGApO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KSgpLG49ZSYmZS5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsbil7aWYobnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT10Lmxlbmd0aCxhO3I8aTtyKyspKGF8fCEociBpbiB0KSkmJihhfHw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpLGFbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGF8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0scj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRNb2NrPXZvaWQgMDt2YXIgaT1EcygpO2UuU29ja2V0TW9jaz1mdW5jdGlvbihlKXt0KHIsZSk7ZnVuY3Rpb24gcih0KXt2YXIgbj1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub3B0aW9ucz10LG4uaWQ9YG1vY2tgLG4uY29ubmVjdGVkPSExLG4uZGlzY29ubmVjdGVkPSEwLG4uYmluYXJ5VHlwZT1gYmxvYmAsbn1yZXR1cm4gci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuKDAsaS5kZWJ1ZykoYFNvY2tldElPTW9jazogY29ubmVjdGApLHRoaXMub25jZShgdmlzaXRvci5jb25uZWN0YCxmdW5jdGlvbih0LG4pe24obnVsbCxlLm9wdGlvbnMuY29ubmVjdERhdGEpfSksdGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBjb25uZWN0YCksdGhpc30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLmRlYnVnKShgU29ja2V0SU9Nb2NrOiBkaXNjb25uZWN0YCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxgaW8gY2xpZW50IGRpc2Nvbm5lY3RgKSx0aGlzfSxyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciByPVsuLi5hcmd1bWVudHNdLnNsaWNlKDEpO3JldHVybiBpLmRlYnVnLmFwcGx5KHZvaWQgMCxuKFtgU29ja2V0SU9Nb2NrOiBlbWl0YF0sciwhMSkpLCh0PT09YGNvbm5lY3RgfHx0PT09YGRpc2Nvbm5lY3RgfHx0PT09YHZpc2l0b3IuY29ubmVjdGApJiZlLnByb3RvdHlwZS5lbWl0LmFwcGx5KHRoaXMsbihbdF0sciwhMSkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1bLi4uYXJndW1lbnRzXTtyZXR1cm4gdGhpcy5lbWl0LmFwcGx5KHRoaXMsbihbZVswXV0sZS5zbGljZSgxKSwhMSkpfSxyLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3BlbigpfSxyLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxpc3RlbmVyQ291bnQoZSk9PT0wfSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx0KSx0aGlzfSxyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KSx0aGlzfSxyfShyKE9zKCkpLmRlZmF1bHQpfSkpLERjPXMoKGU9Pnt2YXIgdD1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbj1lJiZlLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fChgZ2V0YGluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfSk6KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pLGVbcl09dFtuXX0pKSxyPWUmJmUuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT1gZGVmYXVsdGAmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbih0LGUscil9LGk9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pfXJldHVybiBuZXcobnx8PVByb21pc2UpKGZ1bmN0aW9uKG4sYSl7ZnVuY3Rpb24gbyhlKXt0cnl7YyhyLm5leHQoZSkpfWNhdGNoKGUpe2EoZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e2Moci50aHJvdyhlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gYyhlKXtlLmRvbmU/bihlLnZhbHVlKTppKGUudmFsdWUpLnRoZW4obyxzKX1jKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX0sYT1lJiZlLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciBuPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihhWzBdJjEpdGhyb3cgYVsxXTtyZXR1cm4gYVsxXX0sdHJ5czpbXSxvcHM6W119LHIsaSxhLG89T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT1gZnVuY3Rpb25gP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gby5uZXh0PXMoMCksby50aHJvdz1zKDEpLG8ucmV0dXJuPXMoMiksdHlwZW9mIFN5bWJvbD09YGZ1bmN0aW9uYCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYyhbZSx0XSl9fWZ1bmN0aW9uIGMocyl7aWYocil0aHJvdyBUeXBlRXJyb3IoYEdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5gKTtmb3IoO28mJihvPTAsc1swXSYmKG49MCkpLG47KXRyeXtpZihyPTEsaSYmKGE9c1swXSYyP2kucmV0dXJuOnNbMF0/aS50aHJvd3x8KChhPWkucmV0dXJuKSYmYS5jYWxsKGkpLDApOmkubmV4dCkmJiEoYT1hLmNhbGwoaSxzWzFdKSkuZG9uZSlyZXR1cm4gYTtzd2l0Y2goaT0wLGEmJihzPVtzWzBdJjIsYS52YWx1ZV0pLHNbMF0pe2Nhc2UgMDpjYXNlIDE6YT1zO2JyZWFrO2Nhc2UgNDpyZXR1cm4gbi5sYWJlbCsrLHt2YWx1ZTpzWzFdLGRvbmU6ITF9O2Nhc2UgNTpuLmxhYmVsKyssaT1zWzFdLHM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpzPW4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKChhPW4udHJ5cywhKGE9YS5sZW5ndGg+MCYmYVthLmxlbmd0aC0xXSkpJiYoc1swXT09PTZ8fHNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKHNbMF09PT0zJiYoIWF8fHNbMV0+YVswXSYmc1sxXTxhWzNdKSl7bi5sYWJlbD1zWzFdO2JyZWFrfWlmKHNbMF09PT02JiZuLmxhYmVsPGFbMV0pe24ubGFiZWw9YVsxXSxhPXM7YnJlYWt9aWYoYSYmbi5sYWJlbDxhWzJdKXtuLmxhYmVsPWFbMl0sbi5vcHMucHVzaChzKTticmVha31hWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9cz10LmNhbGwoZSxuKX1jYXRjaChlKXtzPVs2LGVdLGk9MH1maW5hbGx5e3I9YT0wfWlmKHNbMF0mNSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fX0sbz1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj12b2lkIDA7dmFyIHM9RHMoKSxjPW8oT3MoKSksbD1vKGJjKCkpLHU9VGMoKSxkPXt0cmFuc3BvcnRzOltgd2Vic29ja2V0YF0scGF0aDpgL3NvY2tldGAscmVjb25uZWN0aW9uOiEwLHJlY29ubmVjdGlvbkRlbGF5OjFlMyxyZWNvbm5lY3Rpb25EZWxheU1heDo1ZTMscmVjb25uZWN0aW9uQXR0ZW1wdHM6MS8wfTtlLmRlZmF1bHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5mb3JjZVJlY29ubmVjdD0hMSx0aGlzLmlkZW50aXR5PW51bGwsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLmRpc2Nvbm5lY3RDYWxsYmFjaz1udWxsLHRoaXMuaW5pdERhdGE9bnVsbCx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITEsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9MCx0aGlzLmVtaXR0ZXI9bmV3IGMuZGVmYXVsdCx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5vcHRpb25zLm9wdGlvbnM9dCh0KHQoe30sZCksdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMX0pfXJldHVybiBlLnByb3RvdHlwZS5pbml0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBhKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDppZih0aGlzLmNvbm5lY3Rpb24pdGhyb3cgRXJyb3IoYENvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHNgKTtyZXR1cm4gdGhpcy5vcHRpb25zLnNvY2tldD8oKDAscy5kZWJ1ZykoYHVzaW5nIHNvY2tldCAke3RoaXMub3B0aW9ucy5zb2NrZXQuaWR9YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMSx0aGlzLnNldENvbm5lY3Rpb24odGhpcy5vcHRpb25zLnNvY2tldCksWzMsNF0pOlszLDFdO2Nhc2UgMTpyZXR1cm4gdGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsP1s0LCgwLHUuZmV0Y2hCYWxhbmNlckNvbmZpZykodGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsKV06WzMsM107Y2FzZSAyOnJldHVybiBlPW4uc2VudCgpLCgwLHMuZGVidWcpKGBjcmVhdGluZyBzb2NrZXQgdG8gJHtlLnVybH0gd2l0aCB0b2tlbiAke2UudG9rZW59YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMCx0aGlzLnNldENvbm5lY3Rpb24oKDAsbC5kZWZhdWx0KShlLnVybCx0KHQoe30sdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITEscXVlcnk6e3Rva2VuOmUudG9rZW59fSkpLCEwKSxbMyw0XTtjYXNlIDM6aWYodGhpcy5vcHRpb25zLnVybCkoMCxzLmRlYnVnKShgY3JlYXRpbmcgc29ja2V0IHRvICR7dGhpcy5vcHRpb25zLnVybH1gKSx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuc2V0Q29ubmVjdGlvbigoMCxsLmRlZmF1bHQpKHRoaXMub3B0aW9ucy51cmwsdCh0KHt9LHRoaXMub3B0aW9ucy5vcHRpb25zKSx7YXV0b0Nvbm5lY3Q6ITF9KSkpO2Vsc2UgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyIHVybGApO24ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUucHJvdG90eXBlLnNldENvbm5lY3Rpb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249PT12b2lkIDAmJihuPSExKSx0aGlzLmNvbm5lY3Rpb249ZSx0aGlzLmZvcmNlUmVjb25uZWN0PSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpb249bixlLm9uKGBjb25uZWN0X2Vycm9yYCxmdW5jdGlvbihlKXtyLmludGVybmFsUmVjb25uZWN0aW9uJiYoci5jb25uZWN0Q2FsbGJhY2s9bnVsbCwoMCxzLmRlYnVnKShgY29ubmVjdGlvbiB3YXMgbm90IHJlY29ubmVjdGVkYCksci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdF9lcnJvcmAsZSksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uQXR0ZW1wdHM+ci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQrMT9yLnJlY29ubmVjdChyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdCsxKTpyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGAsci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQpKX0pLGUub24oYGNvbm5lY3RgLGZ1bmN0aW9uKCl7KDAscy5kZWJ1ZykoYHNvY2tldCB3YXMgY29ubmVjdGVkYCksci5pbml0aWFsaXplZD0hMSxyLmludGVybmFsUmVjb25uZWN0aW5nPygoMCxzLmRlYnVnKShgY29ubmVjdGlvbiBpcyByZWNvbm5lY3RlZGApLHIuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RgKSxyLmludGVybmFsUmVjb25uZWN0aW5nPSExLHIuaW50ZXJuYWxSZWNvbm5lY3RpbmdBdHRlbXB0PTApOnIuZW1pdHRlci5lbWl0KGBjb25uZWN0YCksci5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmRlYnVnKShgc29ja2V0IHdhcyBpbml0aWFsaXplZGApLHIub25Jbml0aWFsaXplZChlKSxyLmNvbm5lY3RDYWxsYmFjayYmPShyLmNvbm5lY3RDYWxsYmFjayhudWxsLGUpLG51bGwpLGV9KS5jYXRjaChmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBub3QgaW5pdGlhbGl6ZWQgYCx0KHt9LGUpKSxyLm9uSW5pdGlhbGl6ZUVycm9yKGUpLHIuY29ubmVjdENhbGxiYWNrJiY9KHIuY29ubmVjdENhbGxiYWNrKGUpLG51bGwpfSl9KSxlLm9uKGBkaXNjb25uZWN0YCxmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBkaXNjb25uZWN0ZWQgcmVhc29uPScke2V9J2ApLHIuaW5pdGlhbGl6ZWQ9ITEsKCFyLmludGVybmFsUmVjb25uZWN0aW5nfHxyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdD09PTEpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYGRpc2Nvbm5lY3RgLGUpLHIuZGlzY29ubmVjdENhbGxiYWNrJiY9KHIuZGlzY29ubmVjdENhbGxiYWNrKCksbnVsbCl9LDEwMCksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uJiZyLmludGVybmFsUmVjb25uZWN0aW9uJiYhci5pbnRlcm5hbFJlY29ubmVjdGluZyYmKHIuZm9yY2VSZWNvbm5lY3R8fGUhPT1gaW8gc2VydmVyIGRpc2Nvbm5lY3RgKSYmci5yZWNvbm5lY3QoKX0pLGUub24oYHJlY29ubmVjdGluZ2AsZnVuY3Rpb24oZSl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGluZ2AsZSl9KSxlLm9uKGByZWNvbm5lY3RgLGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGApfSksZS5vbihgcmVjb25uZWN0X2F0dGVtcHRgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSl9KSxlLm9uKGByZWNvbm5lY3RfZXJyb3JgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfZXJyb3JgLGUpfSksZS5vbihgcmVjb25uZWN0X2ZhaWxlZGAsZnVuY3Rpb24oKXtyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGApfSksZS5vbihgZm9yY2VfcmVjb25uZWN0YCxmdW5jdGlvbigpeygwLHMuZGVidWcpKGByZWNlaXZlZCBldmVudCBmb3JjZV9yZWNvbm5lY3QsIHNldHRpbmcgZmxhZyBmb3JjZVJlY29ubmVjdCA9IHRydWVgKSxyLmZvcmNlUmVjb25uZWN0PSEwfSl9LGUucHJvdG90eXBlLmdldENvbm5lY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9ufSxlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/LmNvbm5lY3RlZHx8ITF9LGUucHJvdG90eXBlLmlzSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplZH0sZS5wcm90b3R5cGUuZ2V0SW5pdERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0RGF0YX0sZS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbm5lY3Rpb24/WzMsMl06WzQsdGhpcy5pbml0Q29ubmVjdGlvbigpXTtjYXNlIDE6dC5zZW50KCksdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2UuaW5pdGlhbGl6ZWQ/dChlLmluaXREYXRhKTooKDAscy5kZWJ1ZykoYHN0YXJ0aW5nIGNvbm5lY3RpbmdgKSxlLmNvbm5lY3RDYWxsYmFjaz0oMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pLGUuY29ubmVjdGlvbi5vcGVuKCkpfSldfX0pfSl9LGUucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4peyFlLmNvbm5lY3Rpb258fGUuY29ubmVjdGlvbi5kaXNjb25uZWN0ZWQ/KGUuY29ubmVjdGlvbj1udWxsLHQoKSk6KCgwLHMuZGVidWcpKGBzdGFydGluZyBkaXNjb25uZWN0aW5nYCksZS5kaXNjb25uZWN0Q2FsbGJhY2s9KDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSxlLmNvbm5lY3Rpb24uY2xvc2UoKSxlLmNvbm5lY3Rpb249bnVsbCl9KX0sZS5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT12b2lkIDAmJihlPTEpLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITAsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9ZSx0aGlzLmRpc2Nvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheU1heC10Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheSkrdC5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uRGVsYXkpO3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIHdpbGwgcmVjb25uZWN0IGluICR7bn1tc2ApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RpbmdgLGUpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSxuKX0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIGlzIHN0YXJ0aW5nIHJlY29ubmVjdGApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSksdC5jb25uZWN0KCl9KX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKHt9KX0pfSxlLnByb3RvdHlwZS5vbkluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbml0RGF0YT1lLCgwLHMuZGVidWcpKGBlbWl0IGluaXRpYWxpemVkYCksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVkYCxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodC5zZW5kQnVmZmVyLmxlbmd0aD4wKXsoMCxzLmRlYnVnKShgc2VuZGluZyBidWZmZXJlZCAke3Quc2VuZEJ1ZmZlci5sZW5ndGh9IGV2ZW50c2ApO2Zvcih2YXIgZT0wO2U8dC5zZW5kQnVmZmVyLmxlbmd0aDtlKyspe3ZhciBuPXQuc2VuZEJ1ZmZlcltlXTt0LmNvbm5lY3Rpb24uZW1pdChuLm5hbWUsbi5kYXRhLG4uY2FsbGJhY2spfXQuc2VuZEJ1ZmZlcj1bXX19LDEpKX0sZS5wcm90b3R5cGUub25Jbml0aWFsaXplRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5kaXNjb25uZWN0KCksKDAscy5kZWJ1ZykoYGVtaXQgaW5pdGlhbGl6ZV9lcnJvcmAsdCh7fSxlKSksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVfZXJyb3JgLGUpfSxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmluaXRpYWxpemVkP3RoaXMuY29ubmVjdGlvbi5lbWl0KGUsdCxuKTp0aGlzLnNlbmRCdWZmZXIucHVzaCh7bmFtZTplLGRhdGE6dCxjYWxsYmFjazpufSl9LGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGUucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmVtaXR0ZXIpLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseShlLHQpLHRoaXN9LGV9KCk7dmFyIGY9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLlNvY2tldEVycm9yfX0pLHIoRWMoKSxlKX0pKSxPYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCksbj1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSl9cmV0dXJuIG5ldyhufHw9UHJvbWlzZSkoZnVuY3Rpb24obixhKXtmdW5jdGlvbiBvKGUpe3RyeXtjKHIubmV4dChlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7YyhyLnRocm93KGUpKX1jYXRjaChlKXthKGUpfX1mdW5jdGlvbiBjKGUpe2UuZG9uZT9uKGUudmFsdWUpOmkoZS52YWx1ZSkudGhlbihvLHMpfWMoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxpPWUmJmUuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGFbMF0mMSl0aHJvdyBhWzFdO3JldHVybiBhWzFdfSx0cnlzOltdLG9wczpbXX0scixpLGEsbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PWBmdW5jdGlvbmA/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9cygwKSxvLnRocm93PXMoMSksby5yZXR1cm49cygyKSx0eXBlb2YgU3ltYm9sPT1gZnVuY3Rpb25gJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBjKFtlLHRdKX19ZnVuY3Rpb24gYyhzKXtpZihyKXRocm93IFR5cGVFcnJvcihgR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLmApO2Zvcig7byYmKG89MCxzWzBdJiYobj0wKSksbjspdHJ5e2lmKHI9MSxpJiYoYT1zWzBdJjI/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKGE9aS5yZXR1cm4pJiZhLmNhbGwoaSksMCk6aS5uZXh0KSYmIShhPWEuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiBhO3N3aXRjaChpPTAsYSYmKHM9W3NbMF0mMixhLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTphPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoKGE9bi50cnlzLCEoYT1hLmxlbmd0aD4wJiZhW2EubGVuZ3RoLTFdKSkmJihzWzBdPT09Nnx8c1swXT09PTIpKXtuPTA7Y29udGludWV9aWYoc1swXT09PTMmJighYXx8c1sxXT5hWzBdJiZzWzFdPGFbM10pKXtuLmxhYmVsPXNbMV07YnJlYWt9aWYoc1swXT09PTYmJm4ubGFiZWw8YVsxXSl7bi5sYWJlbD1hWzFdLGE9czticmVha31pZihhJiZuLmxhYmVsPGFbMl0pe24ubGFiZWw9YVsyXSxuLm9wcy5wdXNoKHMpO2JyZWFrfWFbMl0mJm4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZX1zPXQuY2FsbChlLG4pfWNhdGNoKGUpe3M9WzYsZV0saT0wfWZpbmFsbHl7cj1hPTB9aWYoc1swXSY1KXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19fSxhPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLldlYnNvY2tldFZpc2l0b3JDbGllbnQ9dm9pZCAwO3ZhciBvPWEoRGMoKSkscz1EcygpLGM9ZnVuY3Rpb24oZSl7dChhLGUpO2Z1bmN0aW9uIGEodCl7dmFyIG49ZS5jYWxsKHRoaXMsdC5jb25uZWN0aW9uKXx8dGhpcztyZXR1cm4gbi5zZXJ2ZXJWZXJzaW9uPW51bGwsbi51cGRhdGVkVmFsdWVzPXt9LG4uY29ubmVjdERhdGE9dC5kYXRhLG4uaWRlbnRpdHk9bnVsbCxufXJldHVybiBhLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uPWZ1bmN0aW9uKHQpe2UucHJvdG90eXBlLnNldENvbm5lY3Rpb24uY2FsbCh0aGlzLHQpLHQub24oYHNlcnZlci5lcnJvcmAsKDAscy5ib3VuZCkodGhpcyxgb25TZXJ2ZXJFcnJvcmApKSx0Lm9uKGBhY2NvdW50LnVwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhY2NvdW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQudXBkYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGFnZW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQuc3RhdHVzX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhZ2VudC5zdGF0dXNfdXBkYXRlZGApKSx0Lm9uKGBhZ2VudC5yZW1vdmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgYWdlbnQucmVtb3ZlZGApKSx0Lm9uKGB2aXNpdG9yLnVwZGF0ZWRgLCgwLHMuYm91bmQpKHRoaXMsYG9uVmlzaXRvclVwZGF0ZWRgKSksdC5vbihgY2hhdC51cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC51cGRhdGVkYCkpLHQub24oYGNoYXQuYWdlbnRfam9pbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF9qb2luZWRgKSksdC5vbihgY2hhdC5hZ2VudF9hc3NpZ25lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfYXNzaWduZWRgKSksdC5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCkpLHQub24oYGNoYXQuYWdlbnRfbGVmdGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfbGVmdGApKSx0Lm9uKGBjaGF0Lm9wZW5lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQub3BlbmVkYCkpLHQub24oYGNoYXQuc2VydmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5zZXJ2ZWRgKSksdC5vbihgY2hhdC5jbG9zZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LmNsb3NlZGApKSx0Lm9uKGBjaGF0LnZpc2l0b3JfY2xvc2VkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC52aXNpdG9yX2Nsb3NlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgKSksdC5vbihgY2hhdC5tZXNzYWdlX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQubWVzc2FnZV9kZWxldGVkYCkpLHQub24oYGNoYXQuYWdlbnRfdHlwaW5nYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF90eXBpbmdgKSksdC5vbihgY2hhdC5yYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0ZWRgKSksdC5vbihgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCkpLHQub24oYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGApKSx0Lm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuY29udGFjdF9yZWFkYCkpLHQub24oYGNoYXQuZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuZGVsZXRlZGApKSx0Lm9uKGBjaGF0LnRpY2tldF9mb3JtX2ZpbmlzaGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCkpLHQub24oYGNoYXQudHJhbnNjcmlwdF9wZGZgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LnRyYW5zY3JpcHRfcGRmYCkpLHQub24oYGNvbnRhY3QuYWNxdWlyZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjb250YWN0LmFjcXVpcmVkYCkpLHQub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgaWRlbnRpdHkuc3RhdHVzX3VwZGF0ZWRgKSl9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkZW50aXR5P3RoaXMuaWRlbnRpdHkuaWQ6bnVsbH0sYS5wcm90b3R5cGUuZ2V0SWRlbnRpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZGVudGl0eX0sYS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZS5jb25uZWN0LmNhbGwodGhpcyl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLGkodGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybiB0P1s0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5zZW5kKGB2aXNpdG9yLmxvZ291dGAse30sKDAscy5jcmVhdGVDYWxsYmFjaykoZSx0KSl9KV06WzMsMl07Y2FzZSAxOnIuc2VudCgpLHIubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzIsZS5wcm90b3R5cGUuZGlzY29ubmVjdC5jYWxsKHRoaXMpXX19KX0pfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGU9PT12b2lkIDAmJihlPXt9KSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLGUpdGhpcy5pZGVudGl0eVt0XT1lW3RdLHRoaXMudXBkYXRlZFZhbHVlc1t0XT1lW3RdO3RoaXMuc2F2ZVZpc2l0b3JWYWx1ZXMoKX0sYS5wcm90b3R5cGUuYXV0aGVudGljYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYHZpc2l0b3IuYXV0aGVudGljYXRlYCx7dmFsdWVzOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9PT12b2lkIDAmJih0PW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24ocixpKXtuLnNlbmQoYHZpc2l0b3Iubm90aWZ5YCx7bmFtZTplLHZhbHVlOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRSZWFkPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSx0aGlzLnNlbmQoYGNoYXQucmVhZGAsbnVsbCl9LGEucHJvdG90eXBlLmNoYXRUeXBpbmc9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD1udWxsKSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLHRoaXMuc2VuZChgY2hhdC50eXBpbmdgLHt0eXBpbmc6e2lzOmUsdGV4dDp0fX0pfSxhLnByb3RvdHlwZS5jaGF0TWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lm1lc3NhZ2VgLGUsKDAscy5jcmVhdGVDYWxsYmFjaykobixyKSl9KX0sYS5wcm90b3R5cGUuY2hhdENsb3NlPWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksdGhpcy5zZW5kKGBjaGF0LmNsb3NlYCx7dHlwZTplfSl9LGEucHJvdG90eXBlLmNoYXRVcGxvYWRJbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2Uuc2VuZChgY2hhdC51cGxvYWRfaW5pdGAsbnVsbCwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5jaGF0VXBsb2FkRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudXBsb2FkX2ZpbmlzaGAse3VwbG9hZFRva2VuOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRUcmFuc2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24uc2VuZChgY2hhdC50cmFuc2NyaXB0YCx7ZW1haWw6ZSxsYW5nOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRUaWNrZXRGb3JtRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlSW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQucmF0ZV9pbml0YCxudWxsLCgwLHMuY3JlYXRlQ2FsbGJhY2spKHQsbikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQucmF0ZWAsZSwoMCxzLmNyZWF0ZUNhbGxiYWNrKShuLHIpKX0pfSxhLnByb3RvdHlwZS5jaGF0VHJhbnNjcmlwdFBkZj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQudHJhbnNjcmlwdF9wZGZgLG51bGwsKDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSl9KX0sYS5wcm90b3R5cGUubGlua09wZW5lZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lmxpbmtfb3BlbmVkYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JDb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PW4oe3ZlcnNpb246YS5DTElFTlRfVkVSU0lPTn0sdGhpcy5jb25uZWN0RGF0YSk7Zm9yKHZhciByIGluIHRoaXMudXBkYXRlZFZhbHVlcyl0W3JdPXRoaXMudXBkYXRlZFZhbHVlc1tyXTtpZih0aGlzLnVwZGF0ZWRWYWx1ZXM9e30sdGhpcy5pZGVudGl0eSlmb3IodmFyIHIgaW4gdGhpcy5pZGVudGl0eSlbYGJhbm5lZEF0YCxgY2hhdElkYCxgc3RhdHVzYF0uaW5jbHVkZXMocil8fCh0W3JdPXRoaXMuaWRlbnRpdHlbcl0pO3JldHVybiB0aGlzLmVtaXR0ZXIuZW1pdChgaW5pdGlhbGl6ZWAsdCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5jb25uZWN0YCx0LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JEaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5kaXNjb25uZWN0YCx7fSwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5vblZpc2l0b3JVcGRhdGVkPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLmNoYW5nZXMpYS5pZGVudGl0eVByb3BlcnRpZXMuaW5jbHVkZXMobikmJih0aGlzLmlkZW50aXR5JiYodGhpcy5pZGVudGl0eVtuXT1lLmNoYW5nZXNbbl0pLHRbbl09ZS5jaGFuZ2VzW25dKTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGg+MCYmdGhpcy5lbWl0dGVyLmVtaXQoYHZpc2l0b3IudXBkYXRlZGAsdCl9LGEucHJvdG90eXBlLm9uU2VydmVyRXJyb3I9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAscy5jcmVhdGVTb2NrZXRFcnJvcikoZSk7dGhpcy5lbWl0dGVyLmVtaXQoYGVycm9yYCx0KX0sYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMudmlzaXRvckNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlLnNlcnZlclZlcnNpb249dC5zZXJ2ZXJWZXJzaW9uLGUuaWRlbnRpdHk9bihuKHt9LHQudmlzaXRvcikse3ZhcmlhYmxlczpuKHt9LHQudmlzaXRvci52YXJpYWJsZXMpfSksdH0pfSxhLnByb3RvdHlwZS5zYXZlVmlzaXRvclZhbHVlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pbml0aWFsaXplZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2lmKCEoIWUuaW5pdGlhbGl6ZWR8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUudXBkYXRlZFZhbHVlcykubGVuZ3RoPT09MCkpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLnVwZGF0ZWRWYWx1ZXMpdFtuXT1lLnVwZGF0ZWRWYWx1ZXNbbl07ZS5zZW5kKGB2aXNpdG9yLnVwZGF0ZWAse3ZhbHVlczp0fSksZS51cGRhdGVkVmFsdWVzPXt9fX0sMSl9LGEucHJvdG90eXBlLmNoZWNrU2VydmVyVmVyc2lvbj1mdW5jdGlvbigpe2lmKHRoaXMuc2VydmVyVmVyc2lvbj09PW51bGwpdGhyb3cgRXJyb3IoYENsaWVudCBub3QgeWV0IGNvbm5lY3RlZCB0byBzZXJ2ZXJgKX0sYS5DTElFTlRfVkVSU0lPTj02LGEuaWRlbnRpdHlQcm9wZXJ0aWVzPVtgaWRgLGBuYW1lYCxgZW1haWxgLGBwaG9uZWAsYGNoYXRJZGAsYHZhcmlhYmxlc2AsYGxhbmdgLGBncm91cGAsYGJhbm5lZEF0YCxgdHJpZ2dlcmFibGVgLGB2aXNpdHNgLGBnZHByQXBwcm92ZWRgXSxhfShvLmRlZmF1bHQpO2UuV2Vic29ja2V0VmlzaXRvckNsaWVudD1jLChmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5XaWRnZXRPcGVuPWB3aWRnZXRfb3BlbmAsZS5XaWRnZXRTaG93PWB3aWRnZXRfc2hvd2AsZS5WaXNpdG9yQWN0aXZlPWB2aXNpdG9yX2FjdGl2ZWAsZS5WaXNpdG9ySW5hY3RpdmU9YHZpc2l0b3JfaW5hY3RpdmVgfSkoZS5FdmVudE5hbWV8fD17fSl9KShjfHwoZS5XZWJzb2NrZXRWaXNpdG9yQ2xpZW50PWM9e30pKX0pKSxrYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLEFjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5SYXRpbmdUYXJnZXQ9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLkFnZW50PWBhZ2VudGAsZS5BaT1gYWlgfSkodHx8KGUuUmF0aW5nVGFyZ2V0PXQ9e30pKX0pKSxqYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj1lLk1lc3NhZ2VEZWxpdmVyeVN0YXR1cz1lLkFnZW50RGV2aWNlUGxhdGZvcm09ZS5BZ2VudERldmljZVR5cGU9ZS5WaXNpdG9yU3RhdHVzPWUuQ2hhdFJlYWRJbmZvVHlwZT1lLkNoYXRTdGF0dXM9ZS5BZ2VudFN0YXR1cz1lLkFjY291bnRTdGF0dXM9dm9pZCAwLGUuQWNjb3VudFN0YXR1cz17T25saW5lOmBvbmxpbmVgLE9mZmxpbmU6YG9mZmxpbmVgLE9mZmxpbmVXaXRoQUk6YG9mZmxpbmVXaXRoQWlgfSxlLkFnZW50U3RhdHVzPXtPbmxpbmU6YG9ubGluZWAsT2ZmbGluZTpgb2ZmbGluZWB9LGUuQ2hhdFN0YXR1cz17UGVuZGluZzpgcGVuZGluZ2AsT3Blbjpgb3BlbmAsQ2xvc2VkOmBjbG9zZWRgLFNlcnZlZDpgc2VydmVkYH0sZS5DaGF0UmVhZEluZm9UeXBlPXtBZ2VudDpgYWdlbnRgLENvbnRhY3Q6YGNvbnRhY3RgfSxlLlZpc2l0b3JTdGF0dXM9e0FjdGl2ZTpgYWN0aXZlYCxDbGlja2VkOmBjbGlja2VkYCxJZGxlOmBpZGxlYCxTZXJ2ZWQ6YHNlcnZlZGAsVW5zZXJ2ZWQ6YHVuc2VydmVkYCxUcmlnZ2VyZWQ6YHRyaWdnZXJlZGB9LGUuQWdlbnREZXZpY2VUeXBlPXtCcm93c2VyOmBicm93c2VyYCxNb2JpbGU6YG1vYmlsZWAsWG1wcDpgeG1wcGAsT3RoZXI6YG90aGVyYH0sZS5BZ2VudERldmljZVBsYXRmb3JtPXtJT1M6YGlvc2AsQU5EUk9JRDpgYW5kcm9pZGB9LGUuTWVzc2FnZURlbGl2ZXJ5U3RhdHVzPXtPazpgb2tgLFBlcm1hbmVudEZhaWw6YHBlcm1hbmVudF9mYWlsYCxUZW1wb3JhcnlGYWlsOmB0ZW1wb3JhcnlfZmFpbGAsQ29tcGxhaW5lZDpgY29tcGxhaW5lZGAsU2Vlbjpgc2VlbmB9LGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj17RmFjZWJvb2syNGhXaW5kb3c6YGZhY2Vib29rLm91dHNpZGVfYWxsb3dlZF93aW5kb3dgLEluc3RhZ3JhbUV4Y2VlZGVkRmlsZVNpemU6YGluc3RhZ3JhbS5leGNlZWRlZF9maWxlX3NpemVgLEluc3RhZ3JhbVVua25vd246YGluc3RhZ3JhbS51bmtub3duYCxJbnN0YWdyYW1VbnN1cHBvcnRlZEZpbGVUeXBlOmBpbnN0YWdyYW0udW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVuc3VwcG9ydGVkRmlsZTpgd2hhdHNhcHAudW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVua25vd246YHdoYXRzYXBwLnVua25vd25gfX0pKSxNYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj1lLmRlZmF1bHQ9dm9pZCAwO3ZhciByPU9jKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYGRlZmF1bHRgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLldlYnNvY2tldFZpc2l0b3JDbGllbnR9fSksbihPYygpLGUpLG4oa2MoKSxlKSxuKEFjKCksZSk7dmFyIGk9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLlNvY2tldEVycm9yfX0pLG4oamMoKSxlKX0pKSxOYz1PKG51bGwpLFBjPU8oITEpLEZjPU8oW10pLEljPWU9PntGYy51cGRhdGUodD0+Wy4uLnQsZV0pfSxMYz0oKT0+e2xldCBlO3JldHVybiBGYy51cGRhdGUodD0+KGU9dC5wb3AoKSx0KSksZT8/bnVsbH0sUmM9KCk9PkEoRmMpLmxlbmd0aD09PTAsemM9ayhOYyxlPT5lIT09bnVsbCksQmM9KGUse3VzZVN0YWNrOnQ9ITF9PXt9KT0+e05jLnVwZGF0ZShuPT4odCYmbiYmSWMobiksUGMuc2V0KG4hPT1udWxsKSxlKSl9LFZjPSgpPT57bGV0IGU9bnVsbDtSYygpfHwoZT1MYygpKSxOYy5zZXQoZSl9LEhjPWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3B0aW9ucz0wXT1gT3B0aW9uc2AsZVtlLkdkcHJBbmRQcml2YWN5PTFdPWBHZHByQW5kUHJpdmFjeWAsZVtlLkF1dGhGb3JtPTJdPWBBdXRoRm9ybWAsZVtlLkNsb3NlQ2hhdD0zXT1gQ2xvc2VDaGF0YCxlW2UuQ2hhdFJhdGluZz00XT1gQ2hhdFJhdGluZ2AsZVtlLlRpY2tldEZvcm09NV09YFRpY2tldEZvcm1gLGV9KHt9KSxVYz0xZTMsV2M9U3ltYm9sKGBjb250ZW50TGlzdEl0ZW1gKSxHYz1TeW1ib2woYGNvbnRlbnRNZXNzYWdlQXR0YWNobWVudGApLEtjPWAtcmVwbGllc2AscWM9LjM1LEpjPTVlMyxZYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLFhjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5DYXJkQWN0aW9uVHlwZT1lLkNhcmRzTGF5b3V0PXZvaWQgMCxlLkNhcmRzTGF5b3V0PXtDYXJvdXNlbDpgY2Fyb3VzZWxgfSxlLkNhcmRBY3Rpb25UeXBlPXtPcGVuVXJsOmBvcGVuX3VybGB9fSkpLFpjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSl9KSksUWM9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLlJhdGluZ1RhcmdldD1lLkdyb3VwVHlwZT1lLkNoYW5uZWxUeXBlPWUuTWVzc2FnZVN1YlR5cGU9ZS5NZXNzYWdlVHlwZT1lLkF0dGFjaG1lbnRJbnZhbGlkUmVhc29uPWUuQXR0YWNobWVudFR5cGU9ZS5NZXNzYWdlQWN0aW9uVHlwZT12b2lkIDAsZS5NZXNzYWdlQWN0aW9uVHlwZT17VGV4dDpgdGV4dGAsT3BlblVybDpgb3Blbl91cmxgfSxlLkF0dGFjaG1lbnRUeXBlPXtDYXJkczpgY2FyZHNgLEZpbGU6YGZpbGVgLEltYWdlOmBpbWFnZWAsTWVkaWE6YG1lZGlhYCxJbnZhbGlkOmBpbnZhbGlkYH0sZS5BdHRhY2htZW50SW52YWxpZFJlYXNvbj17SW52YWxpZFNpemU6YGludmFsaWRfc2l6ZWAsSW52YWxpZFR5cGU6YGludmFsaWRfdHlwZWB9LGUuTWVzc2FnZVR5cGU9e01lc3NhZ2U6YG1lc3NhZ2VgLE5vdGU6YG5vdGVgLEV2ZW50OmBldmVudGAsSGVscDpgaGVscGB9LGUuTWVzc2FnZVN1YlR5cGU9e0FnZW50OmBhZ2VudGAsQ29udGFjdDpgY29udGFjdGAsVHJpZ2dlcjpgdHJpZ2dlcmAsQm90OmBib3RgLFN5c3RlbTpgc3lzdGVtYCxBZ2VudEV4dGVybmFsOmBhZ2VudF9leHRlcm5hbGAsRm91bmRFbWFpbDpgZm91bmRfZW1haWxgLENoYXRSZXNvbHZlOmBjaGF0X3Jlc29sdmVgLEVtYWlsOmBlbWFpbGB9LGUuQ2hhbm5lbFR5cGU9e0RlZmF1bHQ6YGRlZmF1bHRgLEVtYWlsOmBlbWFpbGAsRW1haWxJbnRlZ3JhdGlvbjpgZW1haWxfaW50ZWdyYXRpb25gLEZhY2Vib29rTWVzc2VuZ2VyOmBmYWNlYm9va19tZXNzZW5nZXJgLEdtYWlsOmBnbWFpbGAsU21hcnRzdXBwOmBzbWFydHN1cHBgLEluc3RhZ3JhbTpgaW5zdGFncmFtYCxXaGF0c2FwcDpgd2hhdHNhcHBgfTt2YXIgdDsoZnVuY3Rpb24oZSl7ZS5haT1gYWlgLGUuY2hhdGJvdD1gY2hhdGJvdGAsZS5tZXNzYWdlPWBtZXNzYWdlYH0pKHR8fChlLkdyb3VwVHlwZT10PXt9KSk7dmFyIG47KGZ1bmN0aW9uKGUpe2UuQWdlbnQ9YGFnZW50YCxlLkFpPWBhaWB9KShufHwoZS5SYXRpbmdUYXJnZXQ9bj17fSkpfSkpLCRjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5QYXJ0aWNpcGFudFR5cGU9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLmZyb209YGZyb21gLGUudG89YHRvYCxlLmNjPWBjY2AsZS5iY2M9YGJjY2B9KSh0fHwoZS5QYXJ0aWNpcGFudFR5cGU9dD17fSkpfSkpLGVsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5NZXNzYWdlQ29udGVudFR5cGU9ZS5NZXNzYWdlQ29udGVudD12b2lkIDA7dmFyIHQ7KGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLFVwbG9hZDpgdXBsb2FkYCxSYXRlRm9ybTpgcmF0ZV9mb3JtYCxUaWNrZXRGb3JtOmB0aWNrZXRfZm9ybWAsRW1haWw6YGVtYWlsYH19KShlLk1lc3NhZ2V8fD17fSksKGZ1bmN0aW9uKGUpe2UuVHlwZT17QWdlbnRKb2luOmBhZ2VudF9qb2luYCxBZ2VudEFzc2lnbjpgYWdlbnRfYXNzaWduYCxBZ2VudFVuYXNzaWduOmBhZ2VudF91bmFzc2lnbmAsQWdlbnRMZWF2ZTpgYWdlbnRfbGVhdmVgLENoYXRDbG9zZTpgY2hhdF9jbG9zZWAsQ2hhdFZpc2l0b3JDbG9zZTpgY2hhdF92aXNpdG9yX2Nsb3NlYH19KShlLkV2ZW50fHw9e30pLChmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLEZvdW5kRW1haWw6YGZvdW5kX2VtYWlsYH19KShlLkhlbHB8fD17fSl9KSh0fHwoZS5NZXNzYWdlQ29udGVudD10PXt9KSksZS5NZXNzYWdlQ29udGVudFR5cGU9ey4uLnQuTWVzc2FnZS5UeXBlLC4uLnQuRXZlbnQuVHlwZSwuLi50LkhlbHAuVHlwZX19KSksdGw9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KX0pKSxubD1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksbihZYygpLGUpLG4oWGMoKSxlKSxuKFpjKCksZSksbihRYygpLGUpLG4oJGMoKSxlKSxuKGVsKCksZSksbih0bCgpLGUpfSkpLHJsPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIG9mIHQpe2xldCB0PVN0cmluZyhyW2VdKTtuW3RdPXJ9cmV0dXJuIG59LGlsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09Tyh7fSk7cmV0dXJue3N1YnNjcmliZTplLHNldEdyb3VwczplPT57dChybChga2V5YCxlKSl9fX0pKCksYWw9ayhbaWxdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpKSxvbD17YXV0aEZvcm1EcmF3ZXI6YGF1dGhGb3JtRHJhd2VyYCxhdXRoRm9ybVByaXZhY3lOb3RpY2U6YGF1dGhGb3JtUHJpdmFjeU5vdGljZWAsYXV0aEZvcm1Qcml2YWN5Tm90aWNlU3dpdGNoOmBhdXRoRm9ybVByaXZhY3lOb3RpY2VTd2l0Y2hgLGF1dGhGb3JtU3VibWl0QnV0dG9uOmBhdXRoRm9ybVN1Ym1pdEJ1dHRvbmAsYXZhdGFyQWdlbnQ6YGF2YXRhckFnZW50YCxhdmF0YXJCb3Q6YGF2YXRhckJvdGAsYXZhdGFyR3JvdXA6YGF2YXRhckdyb3VwYCxhdmF0YXJJbmZvOmBhdmF0YXJJbmZvYCxidXR0b25BdHRhY2htZW50OmBidXR0b25BdHRhY2htZW50YCxidXR0b25DbG9zZUNoYXQ6YGJ1dHRvbkNsb3NlQ2hhdGAsYnV0dG9uQ2xvc2VEcmF3ZXI6YGJ1dHRvbkNsb3NlRHJhd2VyYCxidXR0b25Db2xsYXBzZUNoYXQ6YGJ1dHRvbkNvbGxhcHNlQ2hhdGAsYnV0dG9uRW1vamk6YGJ1dHRvbkVtb2ppYCxidXR0b25FeHBhbmRDaGF0OmBidXR0b25FeHBhbmRDaGF0YCxidXR0b25NaW5pbWl6ZUNoYXQ6YGJ1dHRvbk1pbmltaXplQ2hhdGAsYnV0dG9uT3B0aW9uczpgYnV0dG9uT3B0aW9uc2AsYnV0dG9uU2VuZDpgYnV0dG9uU2VuZGAsY2hhdFJhdGluZ0RyYXdlcjpgY2hhdFJhdGluZ0RyYXdlcmAsY2hhdFJhdGluZ0Vtb2ppQnV0dG9uOmBjaGF0UmF0aW5nRW1vamlgLGNoYXRSYXRpbmdTZW5kQnV0dG9uOmBjaGF0UmF0aW5nU2VuZEJ1dHRvbmAsY2hhdFJhdGluZ1RleHRhcmVhOmBjaGF0UmF0aW5nVGV4dGFyZWFgLGNoYXRSYXRpbmdGZWVkYmFja0J1dHRvbjpgY2hhdFJhdGluZ0ZlZWRiYWNrQnV0dG9uYCxjaGF0UmF0aW5nQnV0dG9uQWk6YGNoYXRSYXRpbmdCdXR0b25BaWAsY2hhdFJhdGluZ0J1dHRvbkFnZW50OmBjaGF0UmF0aW5nQnV0dG9uQWdlbnRgLGNsb3NlQ2hhdENvbmZpcm1CdXR0b246YGNsb3NlQ2hhdENvbmZpcm1CdXR0b25gLGNsb3NlQ2hhdERlY2xpbmVCdXR0b246YGNsb3NlQ2hhdERlY2xpbmVCdXR0b25gLGNsb3NlQ2hhdERyYXdlcjpgY2xvc2VDaGF0RHJhd2VyYCxmbGFzaE1lc3NhZ2U6YGZsYXNoTWVzc2FnZWAsZ2RwckRyYXdlcjpgZ2RwckRyYXdlcmAsaGVhZGVyVGl0bGU6YGhlYWRlclRpdGxlYCxoZWFkZXJTdGF0dXM6YGhlYWRlclN0YXR1c2AsaGVhZGVyQmFkZ2U6YGhlYWRlckJhZGdlYCxpbmxpbmVFbW9qaVBpY2tlcjpgaW5saW5lRW1vamlQaWNrZXJgLG1lc3NhZ2VBdHRhY2htZW50OmBtZXNzYWdlQXR0YWNobWVudGAsbWVzc2FnZUFnZW50OmBtZXNzYWdlQWdlbnRgLG1lc3NhZ2VCb3Q6YG1lc3NhZ2VCb3RgLG1lc3NhZ2VCb3RSZXBseTpgbWVzc2FnZUJvdFJlcGx5YCxtZXNzYWdlQm90QmFjazpgbWVzc2FnZUJvdEJhY2tgLG1lc3NhZ2VDb250YWN0OmBtZXNzYWdlQ29udGFjdGAsbWVzc2FnZUZpbGU6YG1lc3NhZ2VGaWxlYCxtZXNzYWdlR3JvdXA6YG1lc3NhZ2VHcm91cGAsbWVzc2FnZUltYWdlOmBtZXNzYWdlSW1hZ2VgLG9wdGlvbnNBY2Nlc3NpYmlsaXR5OmBvcHRpb25zQWNjZXNzaWJpbGl0eWAsb3B0aW9uc0RyYXdlcjpgb3B0aW9uc0RyYXdlcmAsb3B0aW9uc0V4cGFuZENoYXQ6YG9wdGlvbnNFeHBhbmRDaGF0YCxvcHRpb25zUHJpdmFjeU5vdGljZTpgb3B0aW9uc1ByaXZhY3lOb3RpY2VgLG9wdGlvbnNTb3VuZHM6YG9wdGlvbnNTb3VuZHNgLG9wdGlvbnNUcmFuc2NyaXB0OmBvcHRpb25zVHJhbnNjcmlwdGAscG9wdXA6YHBvcHVwYCxwb3B1cE1lc3NhZ2U6YHBvcHVwTWVzc2FnZWAscG9wdXBCdXR0b246YHBvcHVwQnV0dG9uYCxwb3B1cEJ1dHRvbkNsb3NlOmBwb3B1cEJ1dHRvbkNsb3NlYCxwcm9kdWN0Q2FyZDpgcHJvZHVjdENhcmRgLHByb2R1Y3RDYXJkQXJyb3dMZWZ0OmBwcm9kdWN0Q2FyZEFycm93TGVmdGAscHJvZHVjdENhcmRBcnJvd1JpZ2h0OmBwcm9kdWN0Q2FyZEFycm93UmlnaHRgLHByb2R1Y3RDYXJkQnV0dG9uOmBwcm9kdWN0Q2FyZEJ1dHRvbmAscHJvZHVjdENhcmRDYXJvdXNlbDpgcHJvZHVjdENhcmRDYXJvdXNlbGAscHJvZHVjdENhcmREZXNjcmlwdGlvbjpgcHJvZHVjdENhcmREZXNjcmlwdGlvbmAscHJvZHVjdENhcmRJbWFnZTpgcHJvZHVjdENhcmRJbWFnZWAscHJvZHVjdENhcmRJbmZvOmBwcm9kdWN0Q2FyZEluZm9gLHByb2R1Y3RDYXJkVGl0bGU6YHByb2R1Y3RDYXJkVGl0bGVgLHN5c3RlbU1lc3NhZ2U6YHN5c3RlbU1lc3NhZ2VgLHRleHRhcmVhOmB0ZXh0YXJlYWAsdGV4dGFyZWFQcmV2aWV3RmlsZTpgdGV4dGFyZWFQcmV2aWV3RmlsZWAsdGV4dGFyZWFQcmV2aWV3SW1hZ2U6YHRleHRhcmVhUHJldmlld0ltYWdlYCx0cmFuc2NyaXB0SW5wdXQ6YHRyYW5zY3JpcHRJbnB1dGAsdHJhbnNjcmlwdFNlbmRCdXR0b246YHRyYW5zY3JpcHRTZW5kYCx0aWNrZXRGb3JtRHJhd2VyOmB0aWNrZXRGb3JtRHJhd2VyYCx0aWNrZXRGb3JtU3VibWl0QnV0dG9uOmB0aWNrZXRGb3JtU3VibWl0QnV0dG9uYCx3aWRnZXRCdXR0b246YHdpZGdldEJ1dHRvbmAsd2lkZ2V0QnV0dG9uRnJhbWU6YHdpZGdldEJ1dHRvbkZyYW1lYCx3aWRnZXRCdXR0b25UZXh0OmB3aWRnZXRCdXR0b250ZXh0YCx3aWRnZXRJbWFnZVByZXZpZXc6YHdpZGdldEltYWdlUHJldmlld2Asd2lkZ2V0TWVzc2VuZ2VyOmB3aWRnZXRNZXNzZW5nZXJgLHdpZGdldE1lc3NlbmdlckZyYW1lOmB3aWRnZXRNZXNzZW5nZXJGcmFtZWAsd2lkZ2V0T25saW5lQmFkZ2U6YHdpZGdldE9ubGluZUJhZGdlYCx3aWRnZXRQb3B1cEZyYW1lOmB3aWRnZXRQb3B1cEZyYW1lYCx3aWRnZXRUeXBpbmdGcmFtZTpgd2lkZ2V0VHlwaW5nRnJhbWVgLHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2U6YHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2VgLHdpZGdldEhlYWRlcjpgd2lkZ2V0SGVhZGVyYH0sc2w9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb21gLGNsPWAvcG93ZXJlZC1ieS1zbWFydHN1cHBgLGxsPVtgY3NgLGBlc2AsYGZyYCxgaHVgLGBpdGAsYGRlYCxgbmxgLGBwbGBdLHVsPWBodHRwczovL3d3dy5zbWFydHN1cHAuY29tL215LWRhdGEtYW5kLWdkcHJgLGRsPU8oITEpLGZsPXJzKFUuU2Vzc2lvbklkLGBgKSxwbD0oKT0+e2xldHtwcm90b2NvbDplLGhvc3Q6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7ZT09PWBodHRwYD9gaHR0cGA6YGh0dHBzYH06Ly8ke3R9YH0sbWw9KCk9PntsZXR7bW9iaWxlU2RrOmUsdmlzaXRvcklkOnR9PVYuZ2V0T3B0aW9ucygpO2lmKGUmJnQpcmV0dXJuIHQ7dHJ5e3JldHVybiAkbygpfWNhdGNoKGUpe3JldHVybiBIKFN0cmluZyhlKSksbnVsbH19LGhsPShlLHQpPT57bGV0IG49Zm8oKS5sb2NhdGlvbi5ocmVmO3JldHVybiBlJiZ0JiYobj1gJHtufSR7bi5pbmNsdWRlcyhgP2ApP2AmYDpgP2B9c3MtYm90LXJ1bj0ke3R9YCksbn0sZ2w9KCk9PntKLmNsZWFyTWVzc2FnZXMoKSxtZCgpLEd1LmNsZWFyQXNzaWduZWRBZ2VudElkcygpLFJvKCksa28oVS5WaXNpdG9ySWQpfSxfbD1lPT57dHJ5e2VzKGUpfWNhdGNoKGUpe0goU3RyaW5nKGUpKX19LHZsPWFzeW5jKGU9ITEpPT57bGV0e2tleTp0LGxhbmc6bixpc1ByZXZpZXdNb2RlOnIscHJldmlld1dpdGhvdXRSZXNldDppLHNpdGVQbGF0Zm9ybTphLHRyaWdnZXJhYmxlOm8sX2NoYXRNYXhSZW9wZW5UaW1lOnMsYm90SWQ6Y309Vi5nZXRPcHRpb25zKCk7KHImJiFpfHxlKSYmZ2woKTtsZXQgbD1tbCgpLHU9QShsYik7cmV0dXJue2tleTp0LGlkOmwsY2xpZW50RmluZ2VycHJpbnQ6YXdhaXQgUW8oKSxpc1ByZXZpZXdNb2RlOnIsc2l0ZVBsYXRmb3JtOmEsdHJpZ2dlcmFibGU6byxfY2hhdE1heFJlb3BlblRpbWU6cyxuYW1lOnUubmFtZSxlbWFpbDp1LmVtYWlsLHBob25lOnUucGhvbmUsZ3JvdXA6dS5ncm91cCxsYW5nOnUubGFuZz8/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09TygpO3JldHVybntzdWJzY3JpYmU6ZSxpbml0aWFsaXplOmU9PnQoZSl9fSkoKSx4bD1gRklMRWAsU2w9MmUzLENsPWU9PmUuc3BsaXQoYC9gKVswXT09PWBpbWFnZWAsd2w9ZT0+ISFlLm1hdGNoKC9edmlkZW9cLyg/Om1wNHx3ZWJtfG9nZyl7MX0kLyk7YXN5bmMgZnVuY3Rpb24gVGwoZSl7aWYoIUZpbGVSZWFkZXIpcmV0dXJuIGpvKGBGaWxlUmVhZGVyIG5vdCBzdXBwb3J0ZWRgKSxudWxsO2xldCB0PW5ldyBGaWxlUmVhZGVyO3JldHVybiBuZXcgUHJvbWlzZShuPT57dC5vbmxvYWQ9KCk9PntpZighdC5yZXN1bHQpe24obnVsbCk7cmV0dXJufW4odHlwZW9mIHQucmVzdWx0PT1gc3RyaW5nYCYmdC5yZXN1bHQuc3RhcnRzV2l0aChgZGF0YTppbWFnZWApP3QucmVzdWx0Om51bGwpfSx0Lm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIGxvYWQgaW1hZ2UgZGF0YWApLG4obnVsbCl9LHQucmVhZEFzRGF0YVVSTChlKX0pfWFzeW5jIGZ1bmN0aW9uIEVsKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaW1nYCk7bi5vbmxvYWQ9KCk9Pnt0KHt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0pfSxuLm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIG9idGFpbiBpbWFnZSBkaW1lbnNpb25zYCksdChudWxsKX0sbi5zcmM9ZX0pfWZ1bmN0aW9uIERsKGUpe3JldHVybntob3Jpem9udGFsOmUud2lkdGg+ZS5oZWlnaHQsdmVydGljYWw6ZS5oZWlnaHQ+ZS53aWR0aH19dmFyIE9sPWBhci5hei5iZy5ici5icy5jYS5jbi5jcy5kYS5kZS5lbC5lbi5lcy5ldC5mYS5maS5maWwuZnIuaGUuaGkuaHIuaHUuaXMuaXQuamEua2EubHQubHYubWsubmwubm8ucGwucHQucm8ucnUuc2suc2wuc3Iuc3YudGgudHIudHcudWtgLnNwbGl0KGAuYCksa2w9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLkZldGNoQWRhcHRlcj12b2lkIDA7dmFyIG49dChhYygpKTtlLkZldGNoQWRhcHRlcj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17fSx0aGlzLm9wdGlvbnM9ZX1hc3luYyByZXF1ZXN0KGUsdCxyLGksYSl7bGV0IG89ey4uLnRoaXMub3B0aW9ucywuLi5hfSxzPWk/YD9gK24uZGVmYXVsdC5zdHJpbmdpZnkoaSk6YGA7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGAke28uYmFzZVVSTHx8YGB9JHt0fSR7c31gLHttZXRob2Q6ZSxib2R5OnI/SlNPTi5zdHJpbmdpZnkocik6bnVsbCwuLi5vfSk7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxzdGF0dXNUZXh0Om4uc3RhdHVzVGV4dCxkYXRhOmF3YWl0IG4uanNvbigpLGhlYWRlcnM6Wy4uLm4uaGVhZGVycy5lbnRyaWVzKCldLnJlZHVjZSgoZSxbdCxuXSk9PihlW3RdPW4sZSkse30pfX1jYXRjaChlKXt0aHJvdyBlLmlzT3BlbkFwaUVycm9yPSEwLGV9fXdpdGhPcHRpb25zKHQpe3JldHVybiBuZXcgZSh0KX19fSkpLEFsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Qcm9qZWN0TmFtZT1lLkVycm9yQ29kZT12b2lkIDAsZS5FcnJvckNvZGU9e0JhZFJlcXVlc3Q6YGJhZF9yZXF1ZXN0YCxOb3RBbGxvd2VkOmBub3RfYWxsb3dlZGAsTm90Rm91bmQ6YG5vdF9mb3VuZGAsRm9yYmlkZGVuOmBmb3JiaWRkZW5gLFRvb01hbnlSZXF1ZXN0czpgdG9vX21hbnlfcmVxdWVzdHNgLFVuYXV0aG9yaXplZDpgdW5hdXRob3JpemVkYCxVbnByb2Nlc3NhYmxlOmB1bnByb2Nlc3NhYmxlYH0sZS5Qcm9qZWN0TmFtZT17V2lkZ2V0OmB3aWRnZXRgLENoYXRib3Q6YGNoYXRib3RgfX0pKSxqbD1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuVHJhbnNsYXRpb25zQ2xpZW50UmF3PWUuVHJhbnNsYXRpb25zQ2xpZW50PXZvaWQgMCxlLlRyYW5zbGF0aW9uc0NsaWVudD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmFkYXB0ZXI9ZSx0aGlzLnJhdz1uZXcgdCh0aGlzLmFkYXB0ZXIpfWdldERlZmF1bHRzKGUsdCxyKXtyZXR1cm4gdGhpcy5hZGFwdGVyLnJlcXVlc3QoYGdldGAsYC8ke2V9L3RyYW5zbGF0aW9ucy9sYW5nLyR7dH0vZGVmYXVsdHNgLG51bGwsbnVsbCxyKS50aGVuKG4pfX07dmFyIHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5hZGFwdGVyPWV9Z2V0RGVmYXVsdHMoZSx0LG4pe3JldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChgZ2V0YCxgLyR7ZX0vdHJhbnNsYXRpb25zL2xhbmcvJHt0fS9kZWZhdWx0c2AsbnVsbCxudWxsLG4pfX07ZS5UcmFuc2xhdGlvbnNDbGllbnRSYXc9dDtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmRhdGF9fSkpLE1sPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBUcmFuc2xhdGlvbnNDbGllbnRBcGk9dm9pZCAwO3ZhciB0PWpsKCksbj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuYWRhcHRlcj1lLHRoaXMudHJhbnNsYXRpb25zPW5ldyB0LlRyYW5zbGF0aW9uc0NsaWVudChlKX13aXRoT3B0aW9ucyh0KXtyZXR1cm4gbmV3IGUodGhpcy5hZGFwdGVyLndpdGhPcHRpb25zKHQpKX19O2UuU21hcnRzdXBwVHJhbnNsYXRpb25zQ2xpZW50QXBpPW4sZS5kZWZhdWx0PW59KSksTmw9cygoZT0+e3ZhciB0PWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9bik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOyghaXx8KGBnZXRgaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsaSl9KTooZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9biksZVtyXT10W25dfSkpLG49ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpciE9PWBkZWZhdWx0YCYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiZ0KG4sZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLG4oQWwoKSxlKSxuKE1sKCksZSksbihqbCgpLGUpLGUuZGVmYXVsdD1NbCgpLlNtYXJ0c3VwcFRyYW5zbGF0aW9uc0NsaWVudEFwaX0pKSxQbD1rbCgpLEZsPU5sKCksSWw9ZT0+T2wuaW5jbHVkZXMoZSksTGw9ZT0+SWwoZSk/ZTpgZW5gLFJsPSgpPT57bGV0e2xhbmc6ZX09Vi5nZXRPcHRpb25zKCkse2xhbmc6dH09QShsYik7cmV0dXJuIExsKHQ/P2UpfTtmdW5jdGlvbiB6bCgpe3JldHVybiBuZXcgRmwuVHJhbnNsYXRpb25zQ2xpZW50KG5ldyBQbC5GZXRjaEFkYXB0ZXIoe2Jhc2VVUkw6YCR7Vi5nZXRPcHRpb25zKCkudHJhbnNsYXRpb25zQmFzZVVybH0vYXBpL3YxYH0pKX12YXIgQmw9YXN5bmMgZT0+emwoKS5nZXREZWZhdWx0cyhGbC5Qcm9qZWN0TmFtZS5XaWRnZXQsZSksVmw9KGUsdCk9PntsZXR7dHJhbnNsYXRlczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm57Li4uZSwuLi5uW3RdJiZuW3RdfX0sSGw9TyhgZW5gKSxVbD1PKHt9KSxXbD1hc3luYyBlPT57dHJ5e2xldCB0PVZsKGF3YWl0IEJsKGUpLGUpO1VsLnVwZGF0ZShuPT4oey4uLm4sW2VdOnR9KSl9Y2F0Y2h7am8oYEZldGNoIHRyYW5zbGF0aW9ucyBvZiAnJHtlfScgbGFuZ3VhZ2UgZmFpbGVkLmApfX0sR2w9YXN5bmMgZT0+e0EoVWwpW2VdfHxhd2FpdCBXbChlKSxIbC5zZXQoZSl9LEtsPWFzeW5jKCk9PntsZXQgZT1SbCgpO0hsLnNldChlKSxhd2FpdCBXbChlKX0scWw9ZT0+e2xldCB0PUEoSGwpLG49ey4uLkEoVWwpW3RdLC4uLmV9O1VsLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LEpsPShlLHQsbik9PntsZXQgcj1BKFVsKSxpPWB8JHt0fXxgO2lmKE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTApcmV0dXJuIGk7bGV0IGE9cltlXT8uW3RdfHxpO3JldHVybiBPYmplY3Qua2V5cyhuKS5tYXAoZT0+e2xldCB0PVJlZ0V4cChgeyR7ZX19YCxgZ2ApO2E9YS5yZXBsYWNlKHQsbltlXSl9KSxhfSxXPWsoW0hsLFVsXSwoW2VdKT0+KHQsbj17fSk9PkpsKGUsdCxuKSksWWw9KCgpPT57bGV0IGU9TyhbXSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lLHI9KCk9PkEoZSkubWFwKGU9PmUuZmlsZSksaT0odCxuKT0+KG58fEEoZSkpLmZpbmQoZT0+ZS5maWxlLm5hbWU9PT10KXx8bnVsbCxhPWU9Pih7ZmlsZTplLHByZXZpZXc6e30scHJldmlld1N0YXRlOmBub25lYCx1cGxvYWRTdGF0dXM6YG5vbmVgfSksbz1lPT57bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXTtuKGU9PmUubGVuZ3RoK3QubGVuZ3RoPjU/KGdzKGAke0EoVykoYGZpbGVVcGxvYWQudG9vTWFueUZpbGVzYCl9IDVgKSxlKTpbLi4uZSwuLi50Lm1hcChhKV0pLG0odCl9LHM9ZT0+e24odD0+dC5maWx0ZXIodD0+dC5maWxlIT09ZSkpfSxjPSgpPT5BKGUpLmxlbmd0aCxsPSgpPT5jKCk+PTUsdT0oKT0+ZS5zZXQoW10pLGQ9KCk9PntlLnVwZGF0ZShlPT4oZS5mb3JFYWNoKGU9PmUudXBsb2FkU3RhdHVzPWBpbi1wcm9ncmVzc2ApLGUpKX0sZj10PT57ZS51cGRhdGUoZT0+e2xldCBuPWkodCxlKTtyZXR1cm4gbiYmKG4udXBsb2FkU3RhdHVzPWBkb25lYCksZX0pfSxwPWU9PmkoZS5uYW1lKT8ucHJldmlld1N0YXRlIT09YG5vbmVgLG09ZT0+e2UuZm9yRWFjaChlPT52b2lkIGgoZSkpfSxoPWFzeW5jIHQ9PntpZihwKHQpKXJldHVybjtsZXQgbj1hd2FpdCBUbCh0KSxyPW4/YXdhaXQgRWwobik6bnVsbCxhPXI/RGwocik6bnVsbDtlLnVwZGF0ZShlPT57bGV0IG89aSh0Lm5hbWUsZSk7cmV0dXJuIG8/KG8ucHJldmlld1N0YXRlPWByZWFkeWAsby5wcmV2aWV3PXtkYXRhOm4sZGltZW5zaW9uczpyLG9yaWVudGF0aW9uOmF9LFsuLi5lXSk6ZX0pfTtyZXR1cm57c3Vic2NyaWJlOnQsZ2V0RmlsZXM6cixmaW5kOmksYWRkOm8scmVtb3ZlOnMsY291bnQ6Yyxpc0xpbWl0UmVhY2hlZDpsLGNsZWFyOnUsc2V0VXBsb2FkaW5nU3RhdHVzOmQsc2V0RmlsZVVwbG9hZGVkOmZ9fSkoKSxYbD0oKCk9PntsZXQgZT1bXTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7cHVzaDp0PT57ZS5wdXNoKHQpfSxleGVjdXRlQWxsOigpPT57Zm9yKDtlLmxlbmd0aD4wOyl7bGV0IHQ9ZS5zaGlmdCgpO3QmJnQoKX19fSl9KSgpLFpsPSgpPT57bGV0e3dpZGdldFYzVXJsOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke2V9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1haS1pZGVudGl0eS5wbmdgfSxRbD1lPT4oey4uLmUsYXZhdGFyVXJsOmUuYXZhdGFyVXJsfHxabCgpfSksJGw9KCgpPT57bGV0e3VwZGF0ZTplLHN1YnNjcmliZTp0LHNldDpufT1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0SWRlbnRpdGllczplPT57bihybChgaWRgLGUubWFwKFFsKSkpfSxhZGRJZGVudGl0eTp0PT57ZShlPT4oey4uLmUsW3QuaWRdOnR9KSl9LHVwZGF0ZUlkZW50aXR5Oih0LG4pPT57ZShlPT5lW3RdP3suLi5lLFt0XTp7Li4uZVt0XSwuLi5ufX06ZSl9fX0pKCksRz1ubCgpLEs9dShNYygpLDEpLGV1PWU9Pnt2byhgaW5pdCBkYXRhYCxlKSxkbC5zZXQoITApLHlsKGUuY2hhdCxlLnNlc3Npb25JZCk7bGV0IHQ9ZS52aXNpdG9yLmlkO19sKHQpLG5zKGUudmlzaXRvci52aXNpdHMpLE11LnNldFZpc2l0b3JEYXRhKGUudmlzaXRvciksaG8oe3ZpZDp0fSksYmwuaW5pdGlhbGl6ZShlLmZpbGVVcGxvYWQpLG9zLnNldChlLmJyb3dzZXIpLEJ1LnNldEFnZW50cyhlLmFjY291bnQuYWdlbnRzKSwkbC5zZXRJZGVudGl0aWVzKGUuYWNjb3VudC5ib3RJZGVudGl0aWVzKSxlLmNoYXQ/LnZpcnR1YWxBZ2VudCE9PXZvaWQgMCYmQnUuc2V0VmlydHVhbEFnZW50KGUuY2hhdD8udmlydHVhbEFnZW50KSxpbC5zZXRHcm91cHMoZS5hY2NvdW50Lmdyb3VwcyksaGQoZS5hY2NvdW50LnN0YXR1cyksZS5jaGF0JiYocXAoKSYmaWQuc2V0KGUuY2hhdC5yYXRpbmdTdWdnZXN0ZWRUYXJnZXR8fG51bGwpLGVkLnNldChlLmNoYXQuc3RhdHVzKSxkZChlLmNoYXQuaXNDbG9zZWQpLHJkLnNldChlLmNoYXQudW5yZWFkSW5mby5sYXN0UmVhZEF0KSxKLnNldE1lc3NhZ2VzKGUuY2hhdC5tZXNzYWdlcy5maWx0ZXIoZT0+IVpmKGUpKSksR3Uuc2V0QXNzaWduZWRBZ2VudElkcyhlLmNoYXQuYXNzaWduZWRJZHM/P1tdKSxlLmNoYXQud2lkZ2V0T3B0aW9ucyYmWHUudXBkYXRlR2VuZXJhbE9wdGlvbnMoZS5jaGF0LndpZGdldE9wdGlvbnMpKSxDXy5zZXQoITApLHouZW1pdChgd2lkZ2V0SW5pdGAsITApLFhsLmV4ZWN1dGVBbGwoKX0sdHU9ZT0+e2NvbnNvbGUuZXJyb3IoZSl9LG51PSgpPT57ZGwuc2V0KCExKX0scnU9KHtjaGF0SWQ6ZX0pPT57TXAuc2V0KCExKSxhZC5zZXQoZSksZWQuc2V0KEsuQ2hhdFN0YXR1cy5PcGVuKSxYdS5zZXRNZXNzYWdlT3B0aW9ucyh7ZGlzYWJsZUF0dGFjaG1lbnRzOiExfSl9LGl1PSgpPT57ZWQuc2V0KEsuQ2hhdFN0YXR1cy5TZXJ2ZWQpLGRkKCExKX0sYXU9KHttZXNzYWdlOmV9KT0+e2xldHtjbG9zZVR5cGU6dCxhZ2VudElkOm59PWUuY29udGVudC5kYXRhOyh0PT09YGFnZW50X2Nsb3NlYHx8dD09PWBib3RfY2xvc2VgKSYmKEd1LnNldEFzc2lnbmVkQWdlbnRJZHMoW10pLGVkLnNldChLLkNoYXRTdGF0dXMuQ2xvc2VkKSxKLmFkZE1lc3NhZ2UoZSksei5lbWl0KGBjaGF0Q2xvc2VkYCxlKSx0PT09YGFnZW50X2Nsb3NlYCYmUW0obj9BKFZ1KG4pKT8uZnVsbG5hbWU6dm9pZCAwKSl9LG91PSh7bWVzc2FnZTplfSk9PntxcCgpJiZZcCh4cyksZGQoITAse2J5VmlzaXRvcjohMH0pLEouYWRkTWVzc2FnZShlKSx6LmVtaXQoYGNoYXRWaXNpdG9yQ2xvc2VkYCxlKSxabSgpfSxzdT0oe2NoYW5nZXM6ZX0pPT57ZS53aWRnZXRPcHRpb25zJiZYdS51cGRhdGVHZW5lcmFsT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLGUuaXNDbG9zZWQhPT12b2lkIDAmJmRkKGUuaXNDbG9zZWQpLGUudmlydHVhbEFnZW50IT09dm9pZCAwJiZCdS5zZXRWaXJ0dWFsQWdlbnQoZS52aXJ0dWFsQWdlbnQpfSxjdT1hc3luYyh7bWVzc2FnZTplfSk9PntpZihaZihlKSlyZXR1cm47bGV0IHQ9QSh6XykmJllmKGUpOyFBKFgpJiZRZihlKSYmIXQ/QXAoZSk6YXdhaXQgSi5hZGRNZXNzYWdlKGUpLF9kKCksZS53aWRnZXRPcHRpb25zJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLHQmJlVfKCksei5lbWl0KGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxsdT1lPT57Y3UoZSl9LHV1PSh7bWVzc2FnZUlkOmUsZGVsZXRlZEF0OnR9KT0+e0EoSilbZV0/LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNoYXRSZXNvbHZlP0ouZGVsZXRlTWVzc2FnZShlKTpKLm1hcmtNZXNzYWdlQXNEZWxldGVkKGUsdCl9LGR1PSh7bWVzc2FnZTplfSk9PntKLnJlcGxhY2VNZXNzYWdlKGUpLGUud2lkZ2V0T3B0aW9ucyYmZS5pZD09PUEoQnApJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpfSxmdT0oe21lc3NhZ2U6ZSxhZ2VudDp0fSk9PntHdS5hZGRBc3NpZ25lZEFnZW50SWQoZS5jb250ZW50LmRhdGEuYWdlbnRJZCksSi5hZGRNZXNzYWdlKGUpLHouZW1pdChgYWdlbnRKb2luZWRgLHQpfSxwdT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLmFnZW50SWQpLEouYWRkTWVzc2FnZShlKX0sbXU9KHttZXNzYWdlOmV9KT0+e0d1LmFkZEFzc2lnbmVkQWdlbnRJZChlLmNvbnRlbnQuZGF0YS5hc3NpZ25lZCksSi5hZGRNZXNzYWdlKGUpfSxodT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLnVuYXNzaWduZWQpLEouYWRkTWVzc2FnZShlKX0sZ3U9ZT0+eyFlLnR5cGluZy5pcyYmQShNcCl8fG5kLnNldChlLnR5cGluZy5pcyl9LF91PWU9PntyZC5zZXQoZS5sYXN0UmVhZEF0KX0sdnU9KHttZXNzYWdlOmUscmF0aW5nOnR9KT0+e0oudXBkYXRlTWVzc2FnZVJhdGluZyhlKSx6LmVtaXQoYGNoYXRSYXRlZGAsdCl9LHl1PWU9Pnt6LmVtaXQoYHRyYW5zY3JpcHRQZGZgLGUpfSxidT0oe2lkOmUsY2hhbmdlczp0fSk9PntCdS51cGRhdGVBZ2VudChlLHQpfSx4dT0oe2lkOmUsc3RhdHVzOnR9KT0+e0J1LnVwZGF0ZUFnZW50KGUse3N0YXR1czp0fSl9LFN1PSh7c3RhdHVzOmV9KT0+e2hkKGUpfSxDdT1lPT57TXUudXBkYXRlVmlzaXRvckRhdGEoZSl9LHd1PWU9Pnt6LmVtaXQoYGNvbnRhY3RBY3F1aXJlZGAsZSl9LFR1PWU9PnsocXAoKXx8SnAoKSkmJmlkLnNldChlLnJhdGluZ1N1Z2dlc3RlZFRhcmdldCl9LEV1PSgpPT57QShpZCkmJmlkLnNldChudWxsKX0sRHU9KHtpZDplLGlzQWN0aXZlOnR9KT0+eyRsLnVwZGF0ZUlkZW50aXR5KGUse2lzQWN0aXZlOnR9KX0sT3U9RGMoKSxrdT1hc3luYyBlPT57bGV0IHQ9YXdhaXQgVi5hd2FpdE9wdGlvbnMoKTtyZXR1cm4gbmV3IEsuV2Vic29ja2V0VmlzaXRvckNsaWVudCh7ZGF0YTplLGNvbm5lY3Rpb246e3VybDpwbCgpLHNvY2tldDp0Lm1vY2s/bmV3IE91LlNvY2tldE1vY2sodC5tb2NrKTp2b2lkIDAsYmFsYW5jZXJVcmw6dC5iYWxhbmNlclVybCxvcHRpb25zOntwYXRoOmAvc29ja2V0YCxhdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITB9fX0pfSxBdT0oKT0+e2xldCBlPW51bGwsdD0oKT0+ISFlLG49KCk9PntpZighZSl0aHJvdyBFcnJvcihgVmlzaXRvciBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LHI9YXN5bmMgdD0+e2U9YXdhaXQga3UoYXdhaXQgdmwodCkpLGUmJihqdShlKSxhd2FpdCBlLmNvbm5lY3QoKS5jYXRjaChlPT57am8oYEZhaWxlZCBjb25uZWN0IHRvIHNlcnZlci5gLGUpfSkpfTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Z2V0Q2xpZW50Om4saW5pdENsaWVudDpyLHJlbG9hZENsaWVudDphc3luYyh0LG4pPT57YXdhaXQgZT8uZGlzY29ubmVjdCgpLHQmJlYudXBkYXRlT3B0aW9ucyh7bW9jazp0fSksYXdhaXQgcihuKX0saXNJbml0aWFsaXplZDp0fSl9LGp1PWU9PntlLm9uKGBpbml0aWFsaXplZGAsZXUpLGUub24oYGVycm9yYCx0dSksZS5vbihgZGlzY29ubmVjdGAsbnUpLGUub24oYGNoYXQub3BlbmVkYCxydSksZS5vbihgY2hhdC5zZXJ2ZWRgLGl1KSxlLm9uKGBjaGF0LmNsb3NlZGAsYXUpLGUub24oYGNoYXQudmlzaXRvcl9jbG9zZWRgLG91KSxlLm9uKGBjaGF0LnVwZGF0ZWRgLHN1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLGx1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGAsZHUpLGUub24oYGNoYXQubWVzc2FnZV9kZWxldGVkYCx1dSksZS5vbihgY2hhdC5hZ2VudF9qb2luZWRgLGZ1KSxlLm9uKGBjaGF0LmFnZW50X2xlZnRgLHB1KSxlLm9uKGBjaGF0LmFnZW50X2Fzc2lnbmVkYCxtdSksZS5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCxodSksZS5vbihgY2hhdC5hZ2VudF90eXBpbmdgLGd1KSxlLm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsX3UpLGUub24oYGNoYXQucmF0ZWRgLHZ1KSxlLm9uKGBjaGF0LnJhdGluZ19zdWdnZXN0ZWRgLFR1KSxlLm9uKGBjaGF0LnJhdGluZ19jYW5jZWxsZWRgLEV1KSxlLm9uKGBjaGF0LnRyYW5zY3JpcHRfcGRmYCx5dSksZS5vbihgYWdlbnQudXBkYXRlZGAsYnUpLGUub24oYGFnZW50LnN0YXR1c191cGRhdGVkYCx4dSksZS5vbihgYWNjb3VudC51cGRhdGVkYCxTdSksZS5vbihgdmlzaXRvci51cGRhdGVkYCxDdSksZS5vbihgY29udGFjdC5hY3F1aXJlZGAsd3UpLGUub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCxEdSl9LHE9QXUoKSxNdT0oKCk9PntsZXQgZT1PKG51bGwpLHtzdWJzY3JpYmU6dCxzZXQ6bix1cGRhdGU6cn09ZSxpPWU9PntuKGUpfSxhPWU9PntyKHQ9PnQ/ey4uLnQsLi4uZX06bnVsbCl9LG89KGUsdCk9Pnt0cnl7cS5nZXRDbGllbnQoKS51cGRhdGUoe1tlXTp0fSl9Y2F0Y2godCl7am8oYFVwZGF0ZSBvZiB2aXNpdG9yIHByb3BlcnR5ICcke2V9JyBmYWlsZWQuYCxTdHJpbmcodCkpfX07cmV0dXJue3N1YnNjcmliZTp0LHNldFZpc2l0b3JEYXRhOmksdXBkYXRlVmlzaXRvckRhdGE6YSx1cGRhdGVWaXNpdG9yUHJvcGVydHk6KGUsdCk9PntpZighQShDXykpe3ViKGUsdCk7cmV0dXJufWEoe1tlXTp0fSksbyhlLHQpfSx1cGRhdGVWaXNpdG9yVmFyaWFibGVzOnQ9PntpZighQShDXykpe3ViKGB2YXJpYWJsZXNgLHQpO3JldHVybn1sZXQgbj1BKGUpO2lmKCFuKXJldHVybjtsZXQgcj1uLnZhcmlhYmxlczthKHt2YXJpYWJsZXM6ey4uLnIsLi4udH19KTtsZXQgaT17fTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9Pnt0W2VdIT09cltlXSYmKGk9ey4uLmksW2VdOnRbZV19KX0pLE9iamVjdC5rZXlzKGkpLmxlbmd0aCE9PTAmJm8oYHZhcmlhYmxlc2AsaSl9LHVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YTp0PT57aWYoIUEoQ18pKXt1YihgY29udGFjdERhdGFgLHtwcm9wZXJ0aWVzOnR9KTtyZXR1cm59bGV0IG49QShlKTtpZighbilyZXR1cm47bGV0IHI9bj8uY29udGFjdERhdGE/LnByb3BlcnRpZXM7YSh7dmFyaWFibGVzOnsuLi5yLC4uLnR9fSk7bGV0IGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57KCFyfHx0W2VdIT09cltlXSkmJihpPXsuLi5pLFtlXTp0W2VdfSl9KSxPYmplY3Qua2V5cyhpKS5sZW5ndGghPT0wJiZvKGBjb250YWN0RGF0YWAse3Byb3BlcnRpZXM6dH0pfX19KSgpLE51PShlLHQpPT5lLmhhc093blByb3BlcnR5KHQpLFB1PWU9PnR5cGVvZiBlPT1gYm9vbGVhbmAsRnU9ZT0+dHlwZW9mIGU9PWBudW1iZXJgLEl1PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxMdT1lPT50eXBlb2YgZT09YHN0cmluZ2B8fGUgaW5zdGFuY2VvZiBTdHJpbmcsUnU9ZT0+THUoZSl8fEZ1KGUpfHxQdShlKSx6dT1lPT57bGV0IHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+e2xldCByPWVbbl07UnUocik/dFtuXT1yOkl1KHIpJiZOdShyLGB2YWx1ZWApJiZSdShyLnZhbHVlKSYmKHRbbl09ci52YWx1ZSl9KSx0fSxCdT0oKCk9PntsZXR7dXBkYXRlOmUsc3Vic2NyaWJlOnQsc2V0Om59PU8oe30pO3JldHVybntzdWJzY3JpYmU6dCxzZXRBZ2VudHM6ZT0+e24ocmwoYGlkYCxlKSl9LGFkZEFnZW50OnQ9PntlKGU9Pih7Li4uZSxbdC5pZF06dH0pKX0sdXBkYXRlQWdlbnQ6KHQsbik9PntlKGU9PmVbdF0/ey4uLmUsW3RdOnsuLi5lW3RdLC4uLm59fTplKX0sc2V0VmlydHVhbEFnZW50OnQ9PntsZXR7ZGVzY3JpcHRpb246bixhdmF0YXI6cixuYW1lOml9PXQsYT17fTtuJiYoYS5kZXNjcmlwdGlvbj1uKSxyJiYoYS5hdmF0YXI9ciksaSYmKGEuZnVsbG5hbWU9aSksZShlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XT17Li4uZVt0XSwuLi5hfX0pLGUpKX19fSkoKSxWdT1lPT5rKFtCdV0sKFt0XSk9PnRbZV0/P251bGwpLEh1PWsoW2soW0J1XSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+IWUuZGlzYWJsZWQpKSxNdV0sKFtlLHRdKT0+e2xldCBuPXQ/Lmdyb3VwO3JldHVybiFufHxuPT09YGRlZmF1bHRgP2U6ZS5maWx0ZXIoZT0+ZS5ncm91cHMubGVuZ3RoPT09MHx8ZS5ncm91cHMuaW5jbHVkZXMobikpfSksVXU9ayhbSHVdLChbZV0pPT5lLmZpbHRlcihlPT5lLnN0YXR1cz09PUsuQWdlbnRTdGF0dXMuT25saW5lKSksV3U9ZT0+e2lmKGUpcmV0dXJuYCR7ZX0/c2l6ZT04MGA7bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nYH0sR3U9KCgpPT57bGV0e3N1YnNjcmliZTplLHNldDp0LHVwZGF0ZTpufT1PKFtdKTtyZXR1cm57c3Vic2NyaWJlOmUsc2V0QXNzaWduZWRBZ2VudElkczplPT57dChlKX0sYWRkQXNzaWduZWRBZ2VudElkOmU9PntuKHQ9PlsuLi5uZXcgU2V0KFsuLi50LGVdKV0pfSxyZW1vdmVBc3NpZ25lZEFnZW50SWQ6ZT0+e24odD0+dC5maWx0ZXIodD0+dCE9PWUpKX0sY2xlYXJBc3NpZ25lZEFnZW50SWRzOigpPT57dChbXSl9fX0pKCksS3U9ayhbR3UsQnVdLChbZSx0XSk9PmUubWFwKGU9PnRbZV0pLmZpbHRlcihCb29sZWFuKSkscXU9ayhbS3VdLChbZV0pPT5lLmxlbmd0aD4wKSxKdT1rKFtLdV0sKFtlXSk9PmUuZmlsdGVyKGU9PiFlLmRpc2FibGVkKSksWXU9ayhbS3VdLChbZV0pPT5lLnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLFh1PSgoKT0+e2xldCBlPU8oe2Rpc2FibGVBdHRhY2htZW50czohMSxkaXNhYmxlQXV0aGVudGljYXRpb246ITEsZGlzYWJsZUlucHV0OiExfSksdD1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOmsoW2UsdF0sKFtlLHRdKT0+KHsuLi5lLC4uLnR9KSkuc3Vic2NyaWJlLHVwZGF0ZUdlbmVyYWxPcHRpb25zOnQ9PntlLnVwZGF0ZShlPT4oey4uLmUsLi4udH0pKX0sc2V0TWVzc2FnZU9wdGlvbnM6ZT0+e3Quc2V0KGUpfX19KSgpLFp1PWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXR0YWNobWVudHMpLFF1PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3Blbj0wXT1gT3BlbmAsZVtlLkNsb3NlZD0xXT1gQ2xvc2VkYCxlW2UuQ2xvc2VkQnlWaXNpdG9yPTJdPWBDbG9zZWRCeVZpc2l0b3JgLGV9KHt9KSwkdT1PKEsuQWNjb3VudFN0YXR1cy5PZmZsaW5lKSxlZD1PKG51bGwpLHRkPU8oUXUuT3BlbiksbmQ9TyghMSkscmQ9TyhudWxsKSxpZD1PKG51bGwpLGFkPU8oYGApLG9kPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5QZW5kaW5nKTtrKFtlZF0sKFtlXSk9PmUhPT1udWxsKTt2YXIgc2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLlNlcnZlZCksY2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLk9wZW4pLGxkPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5DbG9zZWQpLHVkPWsoW3NkLHRkXSwoW2UsdF0pPT5lJiZ0PT09UXUuT3BlbiksZGQ9KGUse2J5VmlzaXRvcjp0PSExfT17fSk9PntlP3RkLnNldCh0P1F1LkNsb3NlZEJ5VmlzaXRvcjpRdS5DbG9zZWQpOnRkLnNldChRdS5PcGVuKX0sZmQ9ayhbJHUsSnVdLChbZSx0XSk9PnQubGVuZ3RoPT09MD9lPT09Sy5BY2NvdW50U3RhdHVzLk9ubGluZTp0LnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLHBkPWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXV0aGVudGljYXRpb24pLG1kPSgpPT57bmQuc2V0KCExKSxlZC5zZXQobnVsbCksZGQoITEpLHJkLnNldChudWxsKX0saGQ9ZT0+e2U9PT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZVdpdGhBST8kdS5zZXQoSy5BY2NvdW50U3RhdHVzLk9ubGluZSk6JHUuc2V0KGUpfSxnZD0oKT0+e3JkLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHEuZ2V0Q2xpZW50KCkuY2hhdFJlYWQoKX0sX2Q9KCk9PntsZXQgZT1wbygpLnZpc2liaWxpdHlTdGF0ZT09PWB2aXNpYmxlYDshQShMcCl8fCFBKFgpfHwhZXx8IUEoTl8pfHxnZCgpfSx2ZD1lPT4oey4uLlNzLGNoYXRJZDpBKGFkKSxjcmVhdGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGNvbnRlbnQ6ey4uLlNzLmNvbnRlbnQsZGF0YTp7dGFyZ2V0OmV9fX0pLHlkPSgpPT57ZGQoITAse2J5VmlzaXRvcjohMH0pLHEuZ2V0Q2xpZW50KCkuY2hhdENsb3NlKCksVmMoKSxxcCgpfHxXXygpfSxiZD1hc3luYyBlPT57YXdhaXQgSi5hZGRNZXNzYWdlKHZkKGUpKX0seGQ9KCk9PntKLmRlbGV0ZU1lc3NhZ2UoeHMpfTtmdW5jdGlvbiBTZChlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVtlLmxlbmd0aC0xXX12YXIgQ2Q9ZT0+ZS5zbGljZSgoZS5sYXN0SW5kZXhPZihgLmApLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLHdkPWU9PntsZXQgdD1lLG49MCxyPVtgQmAsYEtCYCxgTUJgLGBHQmBdO2Zvcig7dD49MTAyNCYmbjxyLmxlbmd0aC0xOyl0Lz0xMDI0LG4rKztyZXR1cm57c2l6ZTpNYXRoLmZsb29yKHQpLHVuaXQ6cltuXX19LFRkPWU9PntsZXQgdD1TZChlLnNwbGl0KGAuYCkpO3JldHVybiB0P3QudG9VcHBlckNhc2UoKTp4bH0sRWQ9KGUsdCk9PmAke2V9P25hbWU9JHt0fWAsRGQ9YXN5bmMoZSx0KT0+e2xldCBuPXEuZ2V0Q2xpZW50KCkscj1bXTtmb3IobGV0e2ZpbGU6aX1vZiBlKXtsZXQgZT1hd2FpdCBuLmNoYXRVcGxvYWRJbml0KCksYT1uZXcgRm9ybURhdGE7YS5hcHBlbmQoYGZpbGVgLGksaS5uYW1lKTt0cnl7aWYoIShhd2FpdCBmZXRjaChlLnVybCx7bWV0aG9kOmBwb3N0YCxib2R5OmF9KSkub2spdGhyb3cgRXJyb3IoYFVwbG9hZCBmYWlsZWRgKTtyLnB1c2goZS50b2tlbil9Y2F0Y2h7am8oYEZpbGUgWyR7aS5uYW1lfV0gdXBsb2FkIGZhaWxlZGApLGdzKEEoVykoYGZpbGVVcGxvYWQuZmlsZXNXZXJlbnRQcm9jZXNzZWRgKSl9ZmluYWxseXt0KGkpfX1yZXR1cm4gcn0sT2Q9YXN5bmMgZT0+e2xldCB0PXEuZ2V0Q2xpZW50KCk7dHJ5e2F3YWl0IHQuY2hhdFVwbG9hZEZpbmlzaChlKX1jYXRjaHtqbyhgRmFpbGVkIHRvIGZpbmlzaCBmaWxlIHVwbG9hZCBmb3IgJHtlfWApfX0sa2Q9MWUzLEFkPTZlNCxqZD0zNmU1LE1kPTg2NGU1LE5kPTI2MjhlNixQZD0zMTUzNmU2LEZkPWU9Pk1hdGguZmxvb3IoZS9BZCkqQWQsSWQ9KGUsdCk9PkZkKG5ldyBEYXRlKGUpLmdldFRpbWUoKSk9PT1GZChuZXcgRGF0ZSh0KS5nZXRUaW1lKCkpLExkPShlLHQpPT57bGV0IG49bmV3IERhdGUoZSkscj1uZXcgRGF0ZSh0KTtyZXR1cm4gbi5nZXREYXRlKCk9PT1yLmdldERhdGUoKSYmbi5nZXRNb250aCgpPT09ci5nZXRNb250aCgpJiZuLmdldEZ1bGxZZWFyKCk9PT1yLmdldEZ1bGxZZWFyKCl9LFJkPShlLHQpPT5lLmdldFRpbWUoKS10LmdldFRpbWUoKSx6ZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxCZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3llYXI6YG51bWVyaWNgLG1vbnRoOmBudW1lcmljYCxkYXk6YG51bWVyaWNgLGhvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxWZD1lPT5MZChuZXcgRGF0ZSxlKT96ZDpCZCxIZD0oKT0+dHlwZW9mIEludGw8YHVgJiZgUmVsYXRpdmVUaW1lRm9ybWF0YGluIEludGwsVWQ9ZT0+SGQoKT9uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoZSx7bnVtZXJpYzpgYXV0b2B9KTpudWxsLFdkPVt7dW5pdDpgeWVhcmAsYW1vdW50OlBkfSx7dW5pdDpgbW9udGhgLGFtb3VudDpOZH0se3VuaXQ6YGRheWAsYW1vdW50Ok1kfSx7dW5pdDpgaG91cmAsYW1vdW50OmpkfSx7dW5pdDpgbWludXRlYCxhbW91bnQ6QWR9LHt1bml0OmBzZWNvbmRgLGFtb3VudDprZH1dLEdkPShlLHQpPT57bGV0IG49VWQodCk7aWYoIW4pcmV0dXJuIEgoYFJlbGF0aXZlIHRpbWUgZm9ybWF0IG5vdCBzdXBwb3J0ZWRgKSxgYDtmb3IobGV0e3VuaXQ6dCxhbW91bnQ6cn1vZiBXZCl7aWYodD09PWBzZWNvbmRgKXJldHVybiBuLmZvcm1hdCgwLGBzZWNvbmRgKTtpZihNYXRoLmFicyhlKT5yKXJldHVybiBuLmZvcm1hdChNYXRoLnJvdW5kKGUvciksdCl9cmV0dXJuYGB9LEtkPShlLHQ9MzAwKT0+e2xldCBuO3JldHVybiguLi5yKT0+e258fD0oZSguLi5yKSxzZXRUaW1lb3V0KCgpPT5uPW51bGwsdCkpfX0scWQ9L1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxKZD0vW1wwLVx4MUZceDdGLVx4OUZdLyxZZD0vWyEtIyUtXCosLVwvOjtcP0BcWy1cXV9ce1x9XHhBMVx4QTdceEFCXHhCNlx4QjdceEJCXHhCRlx1MDM3RVx1MDM4N1x1MDU1QS1cdTA1NUZcdTA1ODlcdTA1OEFcdTA1QkVcdTA1QzBcdTA1QzNcdTA1QzZcdTA1RjNcdTA1RjRcdTA2MDlcdTA2MEFcdTA2MENcdTA2MERcdTA2MUJcdTA2MUQtXHUwNjFGXHUwNjZBLVx1MDY2RFx1MDZENFx1MDcwMC1cdTA3MERcdTA3RjctXHUwN0Y5XHUwODMwLVx1MDgzRVx1MDg1RVx1MDk2NFx1MDk2NVx1MDk3MFx1MDlGRFx1MEE3Nlx1MEFGMFx1MEM3N1x1MEM4NFx1MERGNFx1MEU0Rlx1MEU1QVx1MEU1Qlx1MEYwNC1cdTBGMTJcdTBGMTRcdTBGM0EtXHUwRjNEXHUwRjg1XHUwRkQwLVx1MEZENFx1MEZEOVx1MEZEQVx1MTA0QS1cdTEwNEZcdTEwRkJcdTEzNjAtXHUxMzY4XHUxNDAwXHUxNjZFXHUxNjlCXHUxNjlDXHUxNkVCLVx1MTZFRFx1MTczNVx1MTczNlx1MTdENC1cdTE3RDZcdTE3RDgtXHUxN0RBXHUxODAwLVx1MTgwQVx1MTk0NFx1MTk0NVx1MUExRVx1MUExRlx1MUFBMC1cdTFBQTZcdTFBQTgtXHUxQUFEXHUxQjVBLVx1MUI2MFx1MUI3RFx1MUI3RVx1MUJGQy1cdTFCRkZcdTFDM0ItXHUxQzNGXHUxQzdFXHUxQzdGXHUxQ0MwLVx1MUNDN1x1MUNEM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNUVcdTIwN0RcdTIwN0VcdTIwOERcdTIwOEVcdTIzMDgtXHUyMzBCXHUyMzI5XHUyMzJBXHUyNzY4LVx1Mjc3NVx1MjdDNVx1MjdDNlx1MjdFNi1cdTI3RUZcdTI5ODMtXHUyOTk4XHUyOUQ4LVx1MjlEQlx1MjlGQ1x1MjlGRFx1MkNGOS1cdTJDRkNcdTJDRkVcdTJDRkZcdTJENzBcdTJFMDAtXHUyRTJFXHUyRTMwLVx1MkU0Rlx1MkU1Mi1cdTJFNURcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMUZcdTMwMzBcdTMwM0RcdTMwQTBcdTMwRkJcdUE0RkVcdUE0RkZcdUE2MEQtXHVBNjBGXHVBNjczXHVBNjdFXHVBNkYyLVx1QTZGN1x1QTg3NC1cdUE4NzdcdUE4Q0VcdUE4Q0ZcdUE4RjgtXHVBOEZBXHVBOEZDXHVBOTJFXHVBOTJGXHVBOTVGXHVBOUMxLVx1QTlDRFx1QTlERVx1QTlERlx1QUE1Qy1cdUFBNUZcdUFBREVcdUFBREZcdUFBRjBcdUFBRjFcdUFCRUJcdUZEM0VcdUZEM0ZcdUZFMTAtXHVGRTE5XHVGRTMwLVx1RkU1Mlx1RkU1NC1cdUZFNjFcdUZFNjNcdUZFNjhcdUZFNkFcdUZFNkJcdUZGMDEtXHVGRjAzXHVGRjA1LVx1RkYwQVx1RkYwQy1cdUZGMEZcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMjBcdUZGM0ItXHVGRjNEXHVGRjNGXHVGRjVCXHVGRjVEXHVGRjVGLVx1RkY2NV18XHVEODAwW1x1REQwMC1cdUREMDJcdURGOUZcdURGRDBdfFx1RDgwMVx1REQ2RnxcdUQ4MDJbXHVEQzU3XHVERDFGXHVERDNGXHVERTUwLVx1REU1OFx1REU3Rlx1REVGMC1cdURFRjZcdURGMzktXHVERjNGXHVERjk5LVx1REY5Q118XHVEODAzW1x1REVBRFx1REY1NS1cdURGNTlcdURGODYtXHVERjg5XXxcdUQ4MDRbXHVEQzQ3LVx1REM0RFx1RENCQlx1RENCQ1x1RENCRS1cdURDQzFcdURENDAtXHVERDQzXHVERDc0XHVERDc1XHVEREM1LVx1RERDOFx1RERDRFx1REREQlx1RERERC1cdUREREZcdURFMzgtXHVERTNEXHVERUE5XXxcdUQ4MDVbXHVEQzRCLVx1REM0Rlx1REM1QVx1REM1Qlx1REM1RFx1RENDNlx1RERDMS1cdURERDdcdURFNDEtXHVERTQzXHVERTYwLVx1REU2Q1x1REVCOVx1REYzQy1cdURGM0VdfFx1RDgwNltcdURDM0JcdURENDQtXHVERDQ2XHVEREUyXHVERTNGLVx1REU0Nlx1REU5QS1cdURFOUNcdURFOUUtXHVERUEyXHVERjAwLVx1REYwOV18XHVEODA3W1x1REM0MS1cdURDNDVcdURDNzBcdURDNzFcdURFRjdcdURFRjhcdURGNDMtXHVERjRGXHVERkZGXXxcdUQ4MDlbXHVEQzcwLVx1REM3NF18XHVEODBCW1x1REZGMVx1REZGMl18XHVEODFBW1x1REU2RVx1REU2Rlx1REVGNVx1REYzNy1cdURGM0JcdURGNDRdfFx1RDgxQltcdURFOTctXHVERTlBXHVERkUyXXxcdUQ4MkZcdURDOUZ8XHVEODM2W1x1REU4Ny1cdURFOEJdfFx1RDgzQVtcdURENUVcdURENUZdLyxYZD0vWyBceEEwXHUxNjgwXHUyMDAwLVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMF0vO2Z1bmN0aW9uIFpkKGUpe2xldCB0PXt9O2V8fD17fSx0LnNyY19Bbnk9cWQuc291cmNlLHQuc3JjX0NjPUpkLnNvdXJjZSx0LnNyY19aPVhkLnNvdXJjZSx0LnNyY19QPVlkLnNvdXJjZSx0LnNyY19aUENjPVt0LnNyY19aLHQuc3JjX1AsdC5zcmNfQ2NdLmpvaW4oYHxgKSx0LnNyY19aQ2M9W3Quc3JjX1osdC5zcmNfQ2NdLmpvaW4oYHxgKTtsZXQgbj1gWz48772cXWA7cmV0dXJuIHQuc3JjX3BzZXVkb19sZXR0ZXI9YCg/Oig/IWArbitgfGArdC5zcmNfWlBDYytgKWArdC5zcmNfQW55K2ApYCx0LnNyY19pcDQ9YCg/OigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pYCx0LnNyY19hdXRoPWAoPzooPzooPyFgK3Quc3JjX1pDYytgfFtAL1xcW1xcXSgpXSkuKStAKT9gLHQuc3JjX3BvcnQ9YCg/OjooPzo2KD86WzAtNF1cXGR7M318NSg/OlswLTRdXFxkezJ9fDUoPzpbMC0yXVxcZHwzWzAtNV0pKSl8WzEtNV0/XFxkezEsNH0pKT9gLHQuc3JjX2hvc3RfdGVybWluYXRvcj1gKD89JHxgK24rYHxgK3Quc3JjX1pQQ2MrYCkoPyFgKyhlW2AtLS1gXT9gLSg/IS0tKXxgOmAtfGApK2BffDpcXGR8XFwuLXxcXC4oPyEkfGArdC5zcmNfWlBDYytgKSlgLHQuc3JjX3BhdGg9YCg/OlsvPyNdKD86KD8hYCt0LnNyY19aQ2MrYHxbPjzvvZxdfFsoKVtcXF17fS4sIic/IVxcLTtdKS58XFxbKD86KD8hYCt0LnNyY19aQ2MrYHxcXF0pLikqXFxdfFxcKCg/Oig/IWArdC5zcmNfWkNjK2B8WyldKS4pKlxcKXxcXHsoPzooPyFgK3Quc3JjX1pDYytgfFt9XSkuKSpcXH18XFwiKD86KD8hYCt0LnNyY19aQ2MrYHxbIl0pLikrXFwifFxcJyg/Oig/IWArdC5zcmNfWkNjK2B8WyddKS4pK1xcJ3xcXCcoPz1gK3Quc3JjX3BzZXVkb19sZXR0ZXIrYHxbLV0pfFxcLnsyLH1bYS16QS1aMC05JS8mXXxcXC4oPyFgK3Quc3JjX1pDYytgfFsuXXwkKXxgKyhlW2AtLS1gXT9gXFwtKD8hLS0oPzpbXi1dfCQpKSg/Oi0qKXxgOmBcXC0rfGApK2AsKD8hYCt0LnNyY19aQ2MrYHwkKXw7KD8hYCt0LnNyY19aQ2MrYHwkKXxcXCErKD8hYCt0LnNyY19aQ2MrYHxbIV18JCl8XFw/KD8hYCt0LnNyY19aQ2MrYHxbP118JCkpK3xcXC8pP2AsdC5zcmNfZW1haWxfbmFtZT1gW1xcLTs6Jj1cXCtcXCQsXFwuYS16QS1aMC05X11bXFwtOzomPVxcK1xcJCxcXCJcXC5hLXpBLVowLTlfXSpgLHQuc3JjX3huPWB4bi0tW2EtejAtOVxcLV17MSw1OX1gLHQuc3JjX2RvbWFpbl9yb290PWAoPzpgK3Quc3JjX3huK2B8YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2B7MSw2M30pYCx0LnNyY19kb21haW49YCg/OmArdC5zcmNfeG4rYHwoPzpgK3Quc3JjX3BzZXVkb19sZXR0ZXIrYCl8KD86YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2AoPzotfGArdC5zcmNfcHNldWRvX2xldHRlcitgKXswLDYxfWArdC5zcmNfcHNldWRvX2xldHRlcitgKSlgLHQuc3JjX2hvc3Q9YCg/Oig/Oig/Oig/OmArdC5zcmNfZG9tYWluK2ApXFwuKSpgK3Quc3JjX2RvbWFpbitgKSlgLHQudHBsX2hvc3RfZnV6enk9YCg/OmArdC5zcmNfaXA0K2B8KD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpKWAsdC50cGxfaG9zdF9ub19pcF9mdXp6eT1gKD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpYCx0LnNyY19ob3N0X3N0cmljdD10LnNyY19ob3N0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnNyY19ob3N0X3BvcnRfc3RyaWN0PXQuc3JjX2hvc3QrdC5zcmNfcG9ydCt0LnNyY19ob3N0X3Rlcm1pbmF0b3IsdC50cGxfaG9zdF9wb3J0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX3BvcnQrdC5zcmNfaG9zdF90ZXJtaW5hdG9yLHQudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3Q9dC50cGxfaG9zdF9ub19pcF9mdXp6eSt0LnNyY19wb3J0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3Rlc3Q9YGxvY2FsaG9zdHx3d3dcXC58XFwuXFxkezEsM31cXC58KD86XFwuKD86JVRMRFMlKSg/OmArdC5zcmNfWlBDYytgfD58JCkpYCx0LnRwbF9lbWFpbF9mdXp6eT1gKF58YCtuK2B8InxcXCh8YCt0LnNyY19aQ2MrYCkoYCt0LnNyY19lbWFpbF9uYW1lK2BAYCt0LnRwbF9ob3N0X2Z1enp5X3N0cmljdCtgKWAsdC50cGxfbGlua19mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdC50cGxfbGlua19ub19pcF9mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdH1mdW5jdGlvbiBRZChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLmZvckVhY2goZnVuY3Rpb24odCl7dCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX0pLGV9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBTdHJpbmddYH1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBPYmplY3RdYH1mdW5jdGlvbiBuZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBSZWdFeHBdYH1mdW5jdGlvbiByZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBGdW5jdGlvbl1gfWZ1bmN0aW9uIGFmKGUpe3JldHVybiBlLnJlcGxhY2UoL1suPyorXiRbXF1cXCgpe318LV0vZyxgXFwkJmApfXZhciBvZj17ZnV6enlMaW5rOiEwLGZ1enp5RW1haWw6ITAsZnV6enlJUDohMX07ZnVuY3Rpb24gc2YoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGV8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8b2YuaGFzT3duUHJvcGVydHkodCl9LCExKX12YXIgY2Y9eyJodHRwOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLmh0dHB8fChuLnJlLmh0dHA9UmVnRXhwKGBeXFwvXFwvYCtuLnJlLnNyY19hdXRoK24ucmUuc3JjX2hvc3RfcG9ydF9zdHJpY3Qrbi5yZS5zcmNfcGF0aCxgaWApKSxuLnJlLmh0dHAudGVzdChyKT9yLm1hdGNoKG4ucmUuaHR0cClbMF0ubGVuZ3RoOjB9fSwiaHR0cHM6IjpgaHR0cDpgLCJmdHA6IjpgaHR0cDpgLCIvLyI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm5vX2h0dHB8fChuLnJlLm5vX2h0dHA9UmVnRXhwKGBeYCtuLnJlLnNyY19hdXRoK2AoPzpsb2NhbGhvc3R8KD86KD86YCtuLnJlLnNyY19kb21haW4rYClcXC4pK2Arbi5yZS5zcmNfZG9tYWluX3Jvb3QrYClgK24ucmUuc3JjX3BvcnQrbi5yZS5zcmNfaG9zdF90ZXJtaW5hdG9yK24ucmUuc3JjX3BhdGgsYGlgKSksbi5yZS5ub19odHRwLnRlc3Qocik/dD49MyYmZVt0LTNdPT09YDpgfHx0Pj0zJiZlW3QtM109PT1gL2A/MDpyLm1hdGNoKG4ucmUubm9faHR0cClbMF0ubGVuZ3RoOjB9fSwibWFpbHRvOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm1haWx0b3x8KG4ucmUubWFpbHRvPVJlZ0V4cChgXmArbi5yZS5zcmNfZW1haWxfbmFtZStgQGArbi5yZS5zcmNfaG9zdF9zdHJpY3QsYGlgKSksbi5yZS5tYWlsdG8udGVzdChyKT9yLm1hdGNoKG4ucmUubWFpbHRvKVswXS5sZW5ndGg6MH19fSxsZj1gYVtjZGVmZ2lsbW5vcXJzdHV3eHpdfGJbYWJkZWZnaGlqbW5vcnN0dnd5el18Y1thY2RmZ2hpa2xtbm9ydXZ3eHl6XXxkW2Vqa21vel18ZVtjZWdyc3R1XXxmW2lqa21vcl18Z1thYmRlZmdoaWxtbnBxcnN0dXd5XXxoW2ttbnJ0dV18aVtkZWxtbm9xcnN0XXxqW2Vtb3BdfGtbZWdoaW1ucHJ3eXpdfGxbYWJjaWtyc3R1dnldfG1bYWNkZWdoa2xtbm9wcXJzdHV2d3h5el18blthY2VmZ2lsb3BydXpdfG9tfHBbYWVmZ2hrbG1ucnN0d3ldfHFhfHJbZW9zdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eHl6XXx0W2NkZmdoamtsbW5vcnR2d3pdfHVbYWdrc3l6XXx2W2FjZWdpbnVdfHdbZnNdfHlbZXRdfHpbYW13XWAsdWY9YGJpenxjb218ZWR1fGdvdnxuZXR8b3JnfHByb3x3ZWJ8eHh4fGFlcm98YXNpYXxjb29wfGluZm98bXVzZXVtfG5hbWV8c2hvcHzRgNGEYC5zcGxpdChgfGApO2Z1bmN0aW9uIGRmKGUpe2UuX19pbmRleF9fPS0xLGUuX190ZXh0X2NhY2hlX189YGB9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bGV0IHI9dC5zbGljZShuKTtyZXR1cm4gZS50ZXN0KHIpP3IubWF0Y2goZSlbMF0ubGVuZ3RoOjB9fWZ1bmN0aW9uIHBmKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dC5ub3JtYWxpemUoZSl9fWZ1bmN0aW9uIG1mKGUpe2xldCB0PWUucmU9WmQoZS5fX29wdHNfXyksbj1lLl9fdGxkc19fLnNsaWNlKCk7ZS5vbkNvbXBpbGUoKSxlLl9fdGxkc19yZXBsYWNlZF9ffHxuLnB1c2gobGYpLG4ucHVzaCh0LnNyY194biksdC5zcmNfdGxkcz1uLmpvaW4oYHxgKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxhY2UoYCVUTERTJWAsdC5zcmNfdGxkcyl9dC5lbWFpbF9mdXp6eT1SZWdFeHAocih0LnRwbF9lbWFpbF9mdXp6eSksYGlgKSx0LmxpbmtfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19mdXp6eSksYGlgKSx0Lmxpbmtfbm9faXBfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19ub19pcF9mdXp6eSksYGlgKSx0Lmhvc3RfZnV6enlfdGVzdD1SZWdFeHAocih0LnRwbF9ob3N0X2Z1enp5X3Rlc3QpLGBpYCk7bGV0IGk9W107ZS5fX2NvbXBpbGVkX189e307ZnVuY3Rpb24gYShlLHQpe3Rocm93IEVycm9yKGAoTGlua2lmeUl0KSBJbnZhbGlkIHNjaGVtYSAiYCtlK2AiOiBgK3QpfU9iamVjdC5rZXlzKGUuX19zY2hlbWFzX18pLmZvckVhY2goZnVuY3Rpb24odCl7bGV0IG49ZS5fX3NjaGVtYXNfX1t0XTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9e3ZhbGlkYXRlOm51bGwsbGluazpudWxsfTtpZihlLl9fY29tcGlsZWRfX1t0XT1yLHRmKG4pKXtuZihuLnZhbGlkYXRlKT9yLnZhbGlkYXRlPWZmKG4udmFsaWRhdGUpOnJmKG4udmFsaWRhdGUpP3IudmFsaWRhdGU9bi52YWxpZGF0ZTphKHQsbikscmYobi5ub3JtYWxpemUpP3Iubm9ybWFsaXplPW4ubm9ybWFsaXplOm4ubm9ybWFsaXplP2EodCxuKTpyLm5vcm1hbGl6ZT1wZigpO3JldHVybn1pZihlZihuKSl7aS5wdXNoKHQpO3JldHVybn1hKHQsbil9KSxpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0mJihlLl9fY29tcGlsZWRfX1t0XS52YWxpZGF0ZT1lLl9fY29tcGlsZWRfX1tlLl9fc2NoZW1hc19fW3RdXS52YWxpZGF0ZSxlLl9fY29tcGlsZWRfX1t0XS5ub3JtYWxpemU9ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0ubm9ybWFsaXplKX0pLGUuX19jb21waWxlZF9fW2BgXT17dmFsaWRhdGU6bnVsbCxub3JtYWxpemU6cGYoKX07bGV0IG89T2JqZWN0LmtleXMoZS5fX2NvbXBpbGVkX18pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MCYmZS5fX2NvbXBpbGVkX19bdF19KS5tYXAoYWYpLmpvaW4oYHxgKTtlLnJlLnNjaGVtYV90ZXN0PVJlZ0V4cChgKF58KD8hXykoPzpbPjzvvZxdfGArdC5zcmNfWlBDYytgKSkoYCtvK2ApYCxgaWApLGUucmUuc2NoZW1hX3NlYXJjaD1SZWdFeHAoYChefCg/IV8pKD86Wz48772cXXxgK3Quc3JjX1pQQ2MrYCkpKGArbytgKWAsYGlnYCksZS5yZS5zY2hlbWFfYXRfc3RhcnQ9UmVnRXhwKGBeYCtlLnJlLnNjaGVtYV9zZWFyY2guc291cmNlLGBpYCksZS5yZS5wcmV0ZXN0PVJlZ0V4cChgKGArZS5yZS5zY2hlbWFfdGVzdC5zb3VyY2UrYCl8KGArZS5yZS5ob3N0X2Z1enp5X3Rlc3Quc291cmNlK2ApfEBgLGBpYCksZGYoZSl9ZnVuY3Rpb24gaGYoZSx0KXtsZXQgbj1lLl9faW5kZXhfXyxyPWUuX19sYXN0X2luZGV4X18saT1lLl9fdGV4dF9jYWNoZV9fLnNsaWNlKG4scik7dGhpcy5zY2hlbWE9ZS5fX3NjaGVtYV9fLnRvTG93ZXJDYXNlKCksdGhpcy5pbmRleD1uK3QsdGhpcy5sYXN0SW5kZXg9cit0LHRoaXMucmF3PWksdGhpcy50ZXh0PWksdGhpcy51cmw9aX1mdW5jdGlvbiBnZihlLHQpe2xldCBuPW5ldyBoZihlLHQpO3JldHVybiBlLl9fY29tcGlsZWRfX1tuLnNjaGVtYV0ubm9ybWFsaXplKG4sZSksbn1mdW5jdGlvbiBfZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIF9mKSlyZXR1cm4gbmV3IF9mKGUsdCk7dHx8c2YoZSkmJih0PWUsZT17fSksdGhpcy5fX29wdHNfXz1RZCh7fSxvZix0KSx0aGlzLl9faW5kZXhfXz0tMSx0aGlzLl9fbGFzdF9pbmRleF9fPS0xLHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9fdGV4dF9jYWNoZV9fPWBgLHRoaXMuX19zY2hlbWFzX189UWQoe30sY2YsZSksdGhpcy5fX2NvbXBpbGVkX189e30sdGhpcy5fX3RsZHNfXz11Zix0aGlzLl9fdGxkc19yZXBsYWNlZF9fPSExLHRoaXMucmU9e30sbWYodGhpcyl9X2YucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9fc2NoZW1hc19fW2VdPXQsbWYodGhpcyksdGhpc30sX2YucHJvdG90eXBlLnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fX29wdHNfXz1RZCh0aGlzLl9fb3B0c19fLGUpLHRoaXN9LF9mLnByb3RvdHlwZS50ZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX190ZXh0X2NhY2hlX189ZSx0aGlzLl9faW5kZXhfXz0tMSwhZS5sZW5ndGgpcmV0dXJuITE7bGV0IHQsbixyLGksYSxvLHMsYyxsO2lmKHRoaXMucmUuc2NoZW1hX3Rlc3QudGVzdChlKSl7Zm9yKHM9dGhpcy5yZS5zY2hlbWFfc2VhcmNoLHMubGFzdEluZGV4PTA7KHQ9cy5leGVjKGUpKSE9PW51bGw7KWlmKGk9dGhpcy50ZXN0U2NoZW1hQXQoZSx0WzJdLHMubGFzdEluZGV4KSxpKXt0aGlzLl9fc2NoZW1hX189dFsyXSx0aGlzLl9faW5kZXhfXz10LmluZGV4K3RbMV0ubGVuZ3RoLHRoaXMuX19sYXN0X2luZGV4X189dC5pbmRleCt0WzBdLmxlbmd0aCtpO2JyZWFrfX1yZXR1cm4gdGhpcy5fX29wdHNfXy5mdXp6eUxpbmsmJnRoaXMuX19jb21waWxlZF9fW2BodHRwOmBdJiYoYz1lLnNlYXJjaCh0aGlzLnJlLmhvc3RfZnV6enlfdGVzdCksYz49MCYmKHRoaXMuX19pbmRleF9fPDB8fGM8dGhpcy5fX2luZGV4X18pJiYobj1lLm1hdGNoKHRoaXMuX19vcHRzX18uZnV6enlJUD90aGlzLnJlLmxpbmtfZnV6enk6dGhpcy5yZS5saW5rX25vX2lwX2Z1enp5KSkhPT1udWxsJiYoYT1uLmluZGV4K25bMV0ubGVuZ3RoLCh0aGlzLl9faW5kZXhfXzwwfHxhPHRoaXMuX19pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9faW5kZXhfXz1hLHRoaXMuX19sYXN0X2luZGV4X189bi5pbmRleCtuWzBdLmxlbmd0aCkpKSx0aGlzLl9fb3B0c19fLmZ1enp5RW1haWwmJnRoaXMuX19jb21waWxlZF9fW2BtYWlsdG86YF0mJihsPWUuaW5kZXhPZihgQGApLGw+PTAmJihyPWUubWF0Y2godGhpcy5yZS5lbWFpbF9mdXp6eSkpIT09bnVsbCYmKGE9ci5pbmRleCtyWzFdLmxlbmd0aCxvPXIuaW5kZXgrclswXS5sZW5ndGgsKHRoaXMuX19pbmRleF9fPDB8fGE8dGhpcy5fX2luZGV4X198fGE9PT10aGlzLl9faW5kZXhfXyYmbz50aGlzLl9fbGFzdF9pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gbWFpbHRvOmAsdGhpcy5fX2luZGV4X189YSx0aGlzLl9fbGFzdF9pbmRleF9fPW8pKSksdGhpcy5fX2luZGV4X18+PTB9LF9mLnByb3RvdHlwZS5wcmV0ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlLnByZXRlc3QudGVzdChlKX0sX2YucHJvdG90eXBlLnRlc3RTY2hlbWFBdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuX19jb21waWxlZF9fW3QudG9Mb3dlckNhc2UoKV0/dGhpcy5fX2NvbXBpbGVkX19bdC50b0xvd2VyQ2FzZSgpXS52YWxpZGF0ZShlLG4sdGhpcyk6MH0sX2YucHJvdG90eXBlLm1hdGNoPWZ1bmN0aW9uKGUpe2xldCB0PVtdLG49MDt0aGlzLl9faW5kZXhfXz49MCYmdGhpcy5fX3RleHRfY2FjaGVfXz09PWUmJih0LnB1c2goZ2YodGhpcyxuKSksbj10aGlzLl9fbGFzdF9pbmRleF9fKTtsZXQgcj1uP2Uuc2xpY2Uobik6ZTtmb3IoO3RoaXMudGVzdChyKTspdC5wdXNoKGdmKHRoaXMsbikpLHI9ci5zbGljZSh0aGlzLl9fbGFzdF9pbmRleF9fKSxuKz10aGlzLl9fbGFzdF9pbmRleF9fO3JldHVybiB0Lmxlbmd0aD90Om51bGx9LF9mLnByb3RvdHlwZS5tYXRjaEF0U3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fX3RleHRfY2FjaGVfXz1lLHRoaXMuX19pbmRleF9fPS0xLCFlLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnJlLnNjaGVtYV9hdF9zdGFydC5leGVjKGUpO2lmKCF0KXJldHVybiBudWxsO2xldCBuPXRoaXMudGVzdFNjaGVtYUF0KGUsdFsyXSx0WzBdLmxlbmd0aCk7cmV0dXJuIG4/KHRoaXMuX19zY2hlbWFfXz10WzJdLHRoaXMuX19pbmRleF9fPXQuaW5kZXgrdFsxXS5sZW5ndGgsdGhpcy5fX2xhc3RfaW5kZXhfXz10LmluZGV4K3RbMF0ubGVuZ3RoK24sZ2YodGhpcywwKSk6bnVsbH0sX2YucHJvdG90eXBlLnRsZHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdLHQ/KHRoaXMuX190bGRzX189dGhpcy5fX3RsZHNfXy5jb25jYXQoZSkuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUhPT1uW3QtMV19KS5yZXZlcnNlKCksbWYodGhpcyksdGhpcyk6KHRoaXMuX190bGRzX189ZS5zbGljZSgpLHRoaXMuX190bGRzX3JlcGxhY2VkX189ITAsbWYodGhpcyksdGhpcyl9LF9mLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7ZS5zY2hlbWF8fChlLnVybD1gaHR0cDovL2ArZS51cmwpLGUuc2NoZW1hPT09YG1haWx0bzpgJiYhL15tYWlsdG86L2kudGVzdChlLnVybCkmJihlLnVybD1gbWFpbHRvOmArZS51cmwpfSxfZi5wcm90b3R5cGUub25Db21waWxlPWZ1bmN0aW9uKCl7fTt2YXIgdmY9SlNPTi5wYXJzZShgWyJhYWEiLCJhYXJwIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIsImFib2dhZG8iLCJhYnVkaGFiaSIsImFjIiwiYWNhZGVteSIsImFjY2VudHVyZSIsImFjY291bnRhbnQiLCJhY2NvdW50YW50cyIsImFjbyIsImFjdG9yIiwiYWQiLCJhZHMiLCJhZHVsdCIsImFlIiwiYWVnIiwiYWVybyIsImFldG5hIiwiYWYiLCJhZmwiLCJhZnJpY2EiLCJhZyIsImFnYWtoYW4iLCJhZ2VuY3kiLCJhaSIsImFpZyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsIiwiYWxpYmFiYSIsImFsaXBheSIsImFsbGZpbmFueiIsImFsbHN0YXRlIiwiYWxseSIsImFsc2FjZSIsImFsc3RvbSIsImFtIiwiYW1hem9uIiwiYW1lcmljYW5leHByZXNzIiwiYW1lcmljYW5mYW1pbHkiLCJhbWV4IiwiYW1mYW0iLCJhbWljYSIsImFtc3RlcmRhbSIsImFuYWx5dGljcyIsImFuZHJvaWQiLCJhbnF1YW4iLCJhbnoiLCJhbyIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxIiwiYXF1YXJlbGxlIiwiYXIiLCJhcmFiIiwiYXJhbWNvIiwiYXJjaGkiLCJhcm15IiwiYXJwYSIsImFydCIsImFydGUiLCJhcyIsImFzZGEiLCJhc2lhIiwiYXNzb2NpYXRlcyIsImF0IiwiYXRobGV0YSIsImF0dG9ybmV5IiwiYXUiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdyIsImF3cyIsImF4IiwiYXhhIiwiYXoiLCJhenVyZSIsImJhIiwiYmFieSIsImJhaWR1IiwiYmFuYW1leCIsImJhbmQiLCJiYW5rIiwiYmFyIiwiYmFyY2Vsb25hIiwiYmFyY2xheWNhcmQiLCJiYXJjbGF5cyIsImJhcmVmb290IiwiYmFyZ2FpbnMiLCJiYXNlYmFsbCIsImJhc2tldGJhbGwiLCJiYXVoYXVzIiwiYmF5ZXJuIiwiYmIiLCJiYmMiLCJiYnQiLCJiYnZhIiwiYmNnIiwiYmNuIiwiYmQiLCJiZSIsImJlYXRzIiwiYmVhdXR5IiwiYmVlciIsImJlcmxpbiIsImJlc3QiLCJiZXN0YnV5IiwiYmV0IiwiYmYiLCJiZyIsImJoIiwiYmhhcnRpIiwiYmkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJiaXoiLCJiaiIsImJsYWNrIiwiYmxhY2tmcmlkYXkiLCJibG9ja2J1c3RlciIsImJsb2ciLCJibG9vbWJlcmciLCJibHVlIiwiYm0iLCJibXMiLCJibXciLCJibiIsImJucHBhcmliYXMiLCJibyIsImJvYXRzIiwiYm9laHJpbmdlciIsImJvZmEiLCJib20iLCJib25kIiwiYm9vIiwiYm9vayIsImJvb2tpbmciLCJib3NjaCIsImJvc3RpayIsImJvc3RvbiIsImJvdCIsImJvdXRpcXVlIiwiYm94IiwiYnIiLCJicmFkZXNjbyIsImJyaWRnZXN0b25lIiwiYnJvYWR3YXkiLCJicm9rZXIiLCJicm90aGVyIiwiYnJ1c3NlbHMiLCJicyIsImJ0IiwiYnVpbGQiLCJidWlsZGVycyIsImJ1c2luZXNzIiwiYnV5IiwiYnV6eiIsImJ2IiwiYnciLCJieSIsImJ6IiwiYnpoIiwiY2EiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNhbHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbm9uIiwiY2FwZXRvd24iLCJjYXBpdGFsIiwiY2FwaXRhbG9uZSIsImNhciIsImNhcmF2YW4iLCJjYXJkcyIsImNhcmUiLCJjYXJlZXIiLCJjYXJlZXJzIiwiY2FycyIsImNhc2EiLCJjYXNlIiwiY2FzaCIsImNhc2lubyIsImNhdCIsImNhdGVyaW5nIiwiY2F0aG9saWMiLCJjYmEiLCJjYm4iLCJjYnJlIiwiY2MiLCJjZCIsImNlbnRlciIsImNlbyIsImNlcm4iLCJjZiIsImNmYSIsImNmZCIsImNnIiwiY2giLCJjaGFuZWwiLCJjaGFubmVsIiwiY2hhcml0eSIsImNoYXNlIiwiY2hhdCIsImNoZWFwIiwiY2hpbnRhaSIsImNocmlzdG1hcyIsImNocm9tZSIsImNodXJjaCIsImNpIiwiY2lwcmlhbmkiLCJjaXJjbGUiLCJjaXNjbyIsImNpdGFkZWwiLCJjaXRpIiwiY2l0aWMiLCJjaXR5IiwiY2siLCJjbCIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5nIiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNtIiwiY24iLCJjbyIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbSIsImNvbW1iYW5rIiwiY29tbXVuaXR5IiwiY29tcGFueSIsImNvbXBhcmUiLCJjb21wdXRlciIsImNvbXNlYyIsImNvbmRvcyIsImNvbnN0cnVjdGlvbiIsImNvbnN1bHRpbmciLCJjb250YWN0IiwiY29udHJhY3RvcnMiLCJjb29raW5nIiwiY29vbCIsImNvb3AiLCJjb3JzaWNhIiwiY291bnRyeSIsImNvdXBvbiIsImNvdXBvbnMiLCJjb3Vyc2VzIiwiY3BhIiwiY3IiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24iLCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3UiLCJjdWlzaW5lbGxhIiwiY3YiLCJjdyIsImN4IiwiY3kiLCJjeW1ydSIsImN5b3UiLCJjeiIsImRhZCIsImRhbmNlIiwiZGF0YSIsImRhdGUiLCJkYXRpbmciLCJkYXRzdW4iLCJkYXkiLCJkY2xrIiwiZGRzIiwiZGUiLCJkZWFsIiwiZGVhbGVyIiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJkaXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRqIiwiZGsiLCJkbSIsImRucCIsImRvIiwiZG9jcyIsImRvY3RvciIsImRvZyIsImRvbWFpbnMiLCJkb3QiLCJkb3dubG9hZCIsImRyaXZlIiwiZHR2IiwiZHViYWkiLCJkdXBvbnQiLCJkdXJiYW4iLCJkdmFnIiwiZHZyIiwiZHoiLCJlYXJ0aCIsImVhdCIsImVjIiwiZWNvIiwiZWRla2EiLCJlZHUiLCJlZHVjYXRpb24iLCJlZSIsImVnIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyIiwiZXJpY3Nzb24iLCJlcm5pIiwiZXMiLCJlc3EiLCJlc3RhdGUiLCJldCIsImV1IiwiZXVyb3Zpc2lvbiIsImV1cyIsImV2ZW50cyIsImV4Y2hhbmdlIiwiZXhwZXJ0IiwiZXhwb3NlZCIsImV4cHJlc3MiLCJleHRyYXNwYWNlIiwiZmFnZSIsImZhaWwiLCJmYWlyd2luZHMiLCJmYWl0aCIsImZhbWlseSIsImZhbiIsImZhbnMiLCJmYXJtIiwiZmFybWVycyIsImZhc2hpb24iLCJmYXN0IiwiZmVkZXgiLCJmZWVkYmFjayIsImZlcnJhcmkiLCJmZXJyZXJvIiwiZmkiLCJmaWRlbGl0eSIsImZpZG8iLCJmaWxtIiwiZmluYWwiLCJmaW5hbmNlIiwiZmluYW5jaWFsIiwiZmlyZSIsImZpcmVzdG9uZSIsImZpcm1kYWxlIiwiZmlzaCIsImZpc2hpbmciLCJmaXQiLCJmaXRuZXNzIiwiZmoiLCJmayIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmbSIsImZvIiwiZm9vIiwiZm9vZCIsImZvb3RiYWxsIiwiZm9yZCIsImZvcmV4IiwiZm9yc2FsZSIsImZvcnVtIiwiZm91bmRhdGlvbiIsImZveCIsImZyIiwiZnJlZSIsImZyZXNlbml1cyIsImZybCIsImZyb2dhbnMiLCJmcm9udGllciIsImZ0ciIsImZ1aml0c3UiLCJmdW4iLCJmdW5kIiwiZnVybml0dXJlIiwiZnV0Ym9sIiwiZnlpIiwiZ2EiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJnYXAiLCJnYXJkZW4iLCJnYXkiLCJnYiIsImdiaXoiLCJnZCIsImdkbiIsImdlIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZiIsImdnIiwiZ2dlZSIsImdoIiwiZ2kiLCJnaWZ0IiwiZ2lmdHMiLCJnaXZlcyIsImdpdmluZyIsImdsIiwiZ2xhc3MiLCJnbGUiLCJnbG9iYWwiLCJnbG9ibyIsImdtIiwiZ21haWwiLCJnbWJoIiwiZ21vIiwiZ214IiwiZ24iLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJnb3YiLCJncCIsImdxIiwiZ3IiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImdzIiwiZ3QiLCJndSIsImd1Y2NpIiwiZ3VnZSIsImd1aWRlIiwiZ3VpdGFycyIsImd1cnUiLCJndyIsImd5IiwiaGFpciIsImhhbWJ1cmciLCJoYW5nb3V0IiwiaGF1cyIsImhibyIsImhkZmMiLCJoZGZjYmFuayIsImhlYWx0aCIsImhlYWx0aGNhcmUiLCJoZWxwIiwiaGVsc2lua2kiLCJoZXJlIiwiaGVybWVzIiwiaGlwaG9wIiwiaGlzYW1pdHN1IiwiaGl0YWNoaSIsImhpdiIsImhrIiwiaGt0IiwiaG0iLCJobiIsImhvY2tleSIsImhvbGRpbmdzIiwiaG9saWRheSIsImhvbWVkZXBvdCIsImhvbWVnb29kcyIsImhvbWVzIiwiaG9tZXNlbnNlIiwiaG9uZGEiLCJob3JzZSIsImhvc3BpdGFsIiwiaG9zdCIsImhvc3RpbmciLCJob3QiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJociIsImhzYmMiLCJodCIsImh1IiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImlkIiwiaWUiLCJpZWVlIiwiaWZtIiwiaWthbm8iLCJpbCIsImltIiwiaW1hbWF0IiwiaW1kYiIsImltbW8iLCJpbW1vYmlsaWVuIiwiaW4iLCJpbmMiLCJpbmR1c3RyaWVzIiwiaW5maW5pdGkiLCJpbmZvIiwiaW5nIiwiaW5rIiwiaW5zdGl0dXRlIiwiaW5zdXJhbmNlIiwiaW5zdXJlIiwiaW50IiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaW8iLCJpcGlyYW5nYSIsImlxIiwiaXIiLCJpcmlzaCIsImlzIiwiaXNtYWlsaSIsImlzdCIsImlzdGFuYnVsIiwiaXQiLCJpdGF1IiwiaXR2IiwiamFndWFyIiwiamF2YSIsImpjYiIsImplIiwiamVlcCIsImpldHp0IiwiamV3ZWxyeSIsImppbyIsImpsbCIsImptIiwiam1wIiwiam5qIiwiam8iLCJqb2JzIiwiam9idXJnIiwiam90Iiwiam95IiwianAiLCJqcG1vcmdhbiIsImpwcnMiLCJqdWVnb3MiLCJqdW5pcGVyIiwia2F1ZmVuIiwia2RkaSIsImtlIiwia2Vycnlob3RlbHMiLCJrZXJyeXByb3BlcnRpZXMiLCJrZmgiLCJrZyIsImtoIiwia2kiLCJraWEiLCJraWRzIiwia2ltIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrbSIsImtuIiwia29lbG4iLCJrb21hdHN1Iiwia29zaGVyIiwia3AiLCJrcG1nIiwia3BuIiwia3IiLCJrcmQiLCJrcmVkIiwia3Vva2dyb3VwIiwia3ciLCJreSIsImt5b3RvIiwia3oiLCJsYSIsImxhY2FpeGEiLCJsYW1ib3JnaGluaSIsImxhbWVyIiwibGFuZCIsImxhbmRyb3ZlciIsImxhbnhlc3MiLCJsYXNhbGxlIiwibGF0IiwibGF0aW5vIiwibGF0cm9iZSIsImxhdyIsImxhd3llciIsImxiIiwibGMiLCJsZHMiLCJsZWFzZSIsImxlY2xlcmMiLCJsZWZyYWsiLCJsZWdhbCIsImxlZ28iLCJsZXh1cyIsImxnYnQiLCJsaSIsImxpZGwiLCJsaWZlIiwibGlmZWluc3VyYW5jZSIsImxpZmVzdHlsZSIsImxpZ2h0aW5nIiwibGlrZSIsImxpbGx5IiwibGltaXRlZCIsImxpbW8iLCJsaW5jb2xuIiwibGluayIsImxpdmUiLCJsaXZpbmciLCJsayIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9sIiwibG9uZG9uIiwibG90dGUiLCJsb3R0byIsImxvdmUiLCJscGwiLCJscGxmaW5hbmNpYWwiLCJsciIsImxzIiwibHQiLCJsdGQiLCJsdGRhIiwibHUiLCJsdW5kYmVjayIsImx1eGUiLCJsdXh1cnkiLCJsdiIsImx5IiwibWEiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWF0dGVsIiwibWJhIiwibWMiLCJtY2tpbnNleSIsIm1kIiwibWUiLCJtZWQiLCJtZWRpYSIsIm1lZXQiLCJtZWxib3VybmUiLCJtZW1lIiwibWVtb3JpYWwiLCJtZW4iLCJtZW51IiwibWVyY2ttc2QiLCJtZyIsIm1oIiwibWlhbWkiLCJtaWNyb3NvZnQiLCJtaWwiLCJtaW5pIiwibWludCIsIm1pdCIsIm1pdHN1YmlzaGkiLCJtayIsIm1sIiwibWxiIiwibWxzIiwibW0iLCJtbWEiLCJtbiIsIm1vIiwibW9iaSIsIm1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXAiLCJtcSIsIm1yIiwibXMiLCJtc2QiLCJtdCIsIm10biIsIm10ciIsIm11IiwibXVzZXVtIiwibXVzaWMiLCJtdiIsIm13IiwibXgiLCJteSIsIm16IiwibmEiLCJuYWIiLCJuYWdveWEiLCJuYW1lIiwibmF2eSIsIm5iYSIsIm5jIiwibmUiLCJuZWMiLCJuZXQiLCJuZXRiYW5rIiwibmV0ZmxpeCIsIm5ldHdvcmsiLCJuZXVzdGFyIiwibmV3IiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZiIsIm5mbCIsIm5nIiwibmdvIiwibmhrIiwibmkiLCJuaWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJubCIsIm5vIiwibm9raWEiLCJub3J0b24iLCJub3ciLCJub3dydXoiLCJub3d0diIsIm5wIiwibnIiLCJucmEiLCJucnciLCJudHQiLCJudSIsIm55YyIsIm56Iiwib2JpIiwib2JzZXJ2ZXIiLCJvZmZpY2UiLCJva2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGxvIiwib20iLCJvbWVnYSIsIm9uZSIsIm9uZyIsIm9ubCIsIm9ubGluZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmciLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwib3R0Iiwib3ZoIiwicGEiLCJwYWdlIiwicGFuYXNvbmljIiwicGFyaXMiLCJwYXJzIiwicGFydG5lcnMiLCJwYXJ0cyIsInBhcnR5IiwicGF5IiwicGNjdyIsInBlIiwicGV0IiwicGYiLCJwZml6ZXIiLCJwZyIsInBoIiwicGhhcm1hY3kiLCJwaGQiLCJwaGlsaXBzIiwicGhvbmUiLCJwaG90byIsInBob3RvZ3JhcGh5IiwicGhvdG9zIiwicGh5c2lvIiwicGljcyIsInBpY3RldCIsInBpY3R1cmVzIiwicGlkIiwicGluIiwicGluZyIsInBpbmsiLCJwaW9uZWVyIiwicGl6emEiLCJwayIsInBsIiwicGxhY2UiLCJwbGF5IiwicGxheXN0YXRpb24iLCJwbHVtYmluZyIsInBsdXMiLCJwbSIsInBuIiwicG5jIiwicG9obCIsInBva2VyIiwicG9saXRpZSIsInBvcm4iLCJwb3N0IiwicHIiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm8iLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHMiLCJwdCIsInB1YiIsInB3IiwicHdjIiwicHkiLCJxYSIsInFwb24iLCJxdWViZWMiLCJxdWVzdCIsInJhY2luZyIsInJhZGlvIiwicmUiLCJyZWFkIiwicmVhbGVzdGF0ZSIsInJlYWx0b3IiLCJyZWFsdHkiLCJyZWNpcGVzIiwicmVkIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVpdCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpbCIsInJpbyIsInJpcCIsInJvIiwicm9ja3MiLCJyb2RlbyIsInJvZ2VycyIsInJvb20iLCJycyIsInJzdnAiLCJydSIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3IiwicndlIiwicnl1a3l1Iiwic2EiLCJzYWFybGFuZCIsInNhZmUiLCJzYWZldHkiLCJzYWt1cmEiLCJzYWxlIiwic2Fsb24iLCJzYW1zY2x1YiIsInNhbXN1bmciLCJzYW5kdmlrIiwic2FuZHZpa2Nvcm9tYW50Iiwic2Fub2ZpIiwic2FwIiwic2FybCIsInNhcyIsInNhdmUiLCJzYXhvIiwic2IiLCJzYmkiLCJzYnMiLCJzYyIsInNjYiIsInNjaGFlZmZsZXIiLCJzY2htaWR0Iiwic2Nob2xhcnNoaXBzIiwic2Nob29sIiwic2NodWxlIiwic2Nod2FyeiIsInNjaWVuY2UiLCJzY290Iiwic2QiLCJzZSIsInNlYXJjaCIsInNlYXQiLCJzZWN1cmUiLCJzZWN1cml0eSIsInNlZWsiLCJzZWxlY3QiLCJzZW5lciIsInNlcnZpY2VzIiwic2V2ZW4iLCJzZXciLCJzZXgiLCJzZXh5Iiwic2ZyIiwic2ciLCJzaCIsInNoYW5ncmlsYSIsInNoYXJwIiwic2hlbGwiLCJzaGlhIiwic2hpa3NoYSIsInNob2VzIiwic2hvcCIsInNob3BwaW5nIiwic2hvdWppIiwic2hvdyIsInNpIiwic2lsayIsInNpbmEiLCJzaW5nbGVzIiwic2l0ZSIsInNqIiwic2siLCJza2kiLCJza2luIiwic2t5Iiwic2t5cGUiLCJzbCIsInNsaW5nIiwic20iLCJzbWFydCIsInNtaWxlIiwic24iLCJzbmNmIiwic28iLCJzb2NjZXIiLCJzb2NpYWwiLCJzb2Z0YmFuayIsInNvZnR3YXJlIiwic29odSIsInNvbGFyIiwic29sdXRpb25zIiwic29uZyIsInNvbnkiLCJzb3kiLCJzcGEiLCJzcGFjZSIsInNwb3J0Iiwic3BvdCIsInNyIiwic3JsIiwic3MiLCJzdCIsInN0YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdSIsInN1Y2tzIiwic3VwcGxpZXMiLCJzdXBwbHkiLCJzdXBwb3J0Iiwic3VyZiIsInN1cmdlcnkiLCJzdXp1a2kiLCJzdiIsInN3YXRjaCIsInN3aXNzIiwic3giLCJzeSIsInN5ZG5leSIsInN5c3RlbXMiLCJzeiIsInRhYiIsInRhaXBlaSIsInRhbGsiLCJ0YW9iYW8iLCJ0YXJnZXQiLCJ0YXRhbW90b3JzIiwidGF0YXIiLCJ0YXR0b28iLCJ0YXgiLCJ0YXhpIiwidGMiLCJ0Y2kiLCJ0ZCIsInRkayIsInRlYW0iLCJ0ZWNoIiwidGVjaG5vbG9neSIsInRlbCIsInRlbWFzZWsiLCJ0ZW5uaXMiLCJ0ZXZhIiwidGYiLCJ0ZyIsInRoIiwidGhkIiwidGhlYXRlciIsInRoZWF0cmUiLCJ0aWFhIiwidGlja2V0cyIsInRpZW5kYSIsInRpcHMiLCJ0aXJlcyIsInRpcm9sIiwidGoiLCJ0am1heHgiLCJ0angiLCJ0ayIsInRrbWF4eCIsInRsIiwidG0iLCJ0bWFsbCIsInRuIiwidG8iLCJ0b2RheSIsInRva3lvIiwidG9vbHMiLCJ0b3AiLCJ0b3JheSIsInRvc2hpYmEiLCJ0b3RhbCIsInRvdXJzIiwidG93biIsInRveW90YSIsInRveXMiLCJ0ciIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsZXJzIiwidHJhdmVsZXJzaW5zdXJhbmNlIiwidHJ1c3QiLCJ0cnYiLCJ0dCIsInR1YmUiLCJ0dWkiLCJ0dW5lcyIsInR1c2h1IiwidHYiLCJ0dnMiLCJ0dyIsInR6IiwidWEiLCJ1YmFuayIsInVicyIsInVnIiwidWsiLCJ1bmljb20iLCJ1bml2ZXJzaXR5IiwidW5vIiwidW9sIiwidXBzIiwidXMiLCJ1eSIsInV6IiwidmEiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2YyIsInZlIiwidmVnYXMiLCJ2ZW50dXJlcyIsInZlcmlzaWduIiwidmVybcO2Z2Vuc2JlcmF0ZXIiLCJ2ZXJtw7ZnZW5zYmVyYXR1bmciLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2ZyIsInZpIiwidmlhamVzIiwidmlkZW8iLCJ2aWciLCJ2aWtpbmciLCJ2aWxsYXMiLCJ2aW4iLCJ2aXAiLCJ2aXJnaW4iLCJ2aXNhIiwidmlzaW9uIiwidml2YSIsInZpdm8iLCJ2bGFhbmRlcmVuIiwidm4iLCJ2b2RrYSIsInZvbHZvIiwidm90ZSIsInZvdGluZyIsInZvdG8iLCJ2b3lhZ2UiLCJ2dSIsIndhbGVzIiwid2FsbWFydCIsIndhbHRlciIsIndhbmciLCJ3YW5nZ291Iiwid2F0Y2giLCJ3YXRjaGVzIiwid2VhdGhlciIsIndlYXRoZXJjaGFubmVsIiwid2ViY2FtIiwid2ViZXIiLCJ3ZWJzaXRlIiwid2VkIiwid2VkZGluZyIsIndlaWJvIiwid2VpciIsIndmIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3JsZCIsIndvdyIsIndzIiwid3RjIiwid3RmIiwieGJveCIsInhlcm94IiwieGlodWFuIiwieGluIiwieHh4IiwieHl6IiwieWFjaHRzIiwieWFob28iLCJ5YW1heHVuIiwieWFuZGV4IiwieWUiLCJ5b2RvYmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXQiLCJ5dW4iLCJ6YSIsInphcHBvcyIsInphcmEiLCJ6ZXJvIiwiemlwIiwiem0iLCJ6b25lIiwienVlcmljaCIsInp3IiwizrXOuyIsIs61z4UiLCLQsdCzIiwi0LHQtdC7Iiwi0LTQtdGC0LgiLCLQtdGOIiwi0LrQsNGC0L7Qu9C40LoiLCLQutC+0LwiLCLQvNC60LQiLCLQvNC+0L0iLCLQvNC+0YHQutCy0LAiLCLQvtC90LvQsNC50L0iLCLQvtGA0LMiLCLRgNGD0YEiLCLRgNGEIiwi0YHQsNC50YIiLCLRgdGA0LEiLCLRg9C60YAiLCLSm9Cw0LciLCLVsNWh1bUiLCLXmdep16jXkNecIiwi16fXldedIiwi2KfYqNmI2LjYqNmKIiwi2KfYsdin2YXZg9mIIiwi2KfZhNin2LHYr9mGIiwi2KfZhNio2K3YsdmK2YYiLCLYp9mE2KzYstin2KbYsSIsItin2YTYs9i52YjYr9mK2KkiLCLYp9mE2LnZhNmK2KfZhiIsItin2YTZhdi62LHYqCIsItin2YXYp9ix2KfYqiIsItin24zYsdin2YYiLCLYqNin2LHYqiIsItio2KfYstin2LEiLCLYqNmK2KrZgyIsItio2r7Yp9ix2KoiLCLYqtmI2YbYsyIsItiz2YjYr9in2YYiLCLYs9mI2LHZitipIiwi2LTYqNmD2KkiLCLYudix2KfZgiIsIti52LHYqCIsIti52YXYp9mGIiwi2YHZhNiz2LfZitmGIiwi2YLYt9ixIiwi2YPYp9ir2YjZhNmK2YMiLCLZg9mI2YUiLCLZhdi12LEiLCLZhdmE2YrYs9mK2KciLCLZhdmI2LHZitiq2KfZhtmK2KciLCLZhdmI2YLYuSIsItmH2YXYsdin2YciLCLZvtin2qnYs9iq2KfZhiIsItqA2KfYsdiqIiwi4KSV4KWJ4KSuIiwi4KSo4KWH4KSfIiwi4KSt4KS+4KSw4KSkIiwi4KSt4KS+4KSw4KSk4KSu4KWNIiwi4KSt4KS+4KSw4KWL4KSkIiwi4KS44KSC4KSX4KSg4KSoIiwi4Kas4Ka+4KaC4Kay4Ka+Iiwi4Kat4Ka+4Kaw4KakIiwi4Kat4Ka+4Kew4KakIiwi4Kit4Ki+4Kiw4KikIiwi4Kqt4Kq+4Kqw4KqkIiwi4Kyt4Ky+4Kyw4KykIiwi4K6H4K6o4K+N4K6k4K6/4K6v4K6+Iiwi4K6H4K6y4K6Z4K+N4K6V4K+IIiwi4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NIiwi4LCt4LC+4LCw4LCk4LGNIiwi4LKt4LK+4LKw4LKkIiwi4LSt4LS+4LSw4LSk4LSCIiwi4La94LaC4Laa4LePIiwi4LiE4Lit4LihIiwi4LmE4LiX4LiiIiwi4Lql4Lqy4LqnIiwi4YOS4YOUIiwi44G/44KT44GqIiwi44Ki44Oe44K+44OzIiwi44Kv44Op44Km44OJIiwi44Kw44O844Kw44OrIiwi44Kz44OgIiwi44K544OI44KiIiwi44K744O844OrIiwi44OV44Kh44OD44K344On44OzIiwi44Od44Kk44Oz44OIIiwi5LiW55WMIiwi5Lit5L+hIiwi5Lit5Zu9Iiwi5Lit5ZyLIiwi5Lit5paH572RIiwi5Lqa6ams6YCKIiwi5LyB5LiaIiwi5L2b5bGxIiwi5L+h5oGvIiwi5YGl5bq3Iiwi5YWr5Y2mIiwi5YWs5Y+4Iiwi5YWs55uKIiwi5Y+w5rm+Iiwi5Y+w54GjIiwi5ZWG5Z+OIiwi5ZWG5bqXIiwi5ZWG5qCHIiwi5ZiJ6YeMIiwi5ZiJ6YeM5aSn6YWS5bqXIiwi5Zyo57q/Iiwi5aSn5ou/Iiwi5aSp5Li75pWZIiwi5aix5LmQIiwi5a626Zu7Iiwi5bm/5LicIiwi5b6u5Y2aIiwi5oWI5ZaEIiwi5oiR54ix5L2gIiwi5omL5py6Iiwi5oub6IGYIiwi5pS/5YqhIiwi5pS/5bqcIiwi5paw5Yqg5Z2hIiwi5paw6Ze7Iiwi5pe25bCaIiwi5pu457GNIiwi5py65p6EIiwi5reh6ams6ZShIiwi5ri45oiPIiwi5r6z6ZaAIiwi54K555yLIiwi56e75YqoIiwi57uE57uH5py65p6EIiwi572R5Z2AIiwi572R5bqXIiwi572R56uZIiwi572R57ucIiwi6IGU6YCaIiwi6LC35q2MIiwi6LSt54mpIiwi6YCa6LKpIiwi6ZuG5ZuiIiwi6Zu76KiK55uI56eRIiwi6aOe5Yip5rWmIiwi6aOf5ZOBIiwi6aSQ5Y6FIiwi6aaZ5qC86YeM5ouJIiwi6aaZ5rivIiwi64u364S3Iiwi64u37Lu0Iiwi7IK87ISxIiwi7ZWc6rWtIl1gKSx5Zj0vXlstISMkJSYnKisvMC05PT9BLVpeX2EtemB7fH1+XShcLj9bLSEjJCUmJyorLzAtOT0/QS1aXl9hLXpge3x9fl0pKkBbYS16QS1aMC05XSgtKlwuP1thLXpBLVowLTldKSpcLlthLXpBLVpdKC0/W2EtekEtWjAtOV0pKyQvLGJmPS8oKD86d3d3Lik/W15ccy5dK1wuW15ccy9dK1wvW15ccy5dKykvLHhmPS9bJjw+IiddL2csU2Y9ZT0+e2xldCB0PXsiJiI6YCZhbXA7YCwiPCI6YCZsdDtgLCI+IjpgJmd0O2AsJyInOmAmcXVvdDtgLCInIjpgJiMzOTtgfSxuPVJlZ0V4cCh4Zi5zb3VyY2UpO3JldHVybiBlJiZuLnRlc3QoZSk/ZS5yZXBsYWNlKHhmLGU9PnRbZV0pOmV8fGBgfSxDZj1gb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7IGxpbmUtY2xhbXA6IDE7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtgLHdmPW5ldyBfZigpLnRsZHModmYpLnNldCh7ZnV6enlJUDohMH0pLFRmPW5ldyBfZigpLnRsZHModmYpLEVmPShlLHQsbik9PntsZXQgcj1CKCkubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iJHtyLmxlbmd0aD4wJiZlLmluY2x1ZGVzKHIpP2BfcGFyZW50YDpgX2JsYW5rYH0iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciIgdGl0bGU9IiR7ZX0iIHN0eWxlPSIke24/LmNsYW1wJiYhbj8ucmVwbGFjZVRleHQ/Q2Y6YGB9Ij4ke3R9PC9hPmB9LERmPShlLHQpPT57aWYoZT09PWBgKXJldHVybiBlO2xldCBuPXdmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBTZihlKTtsZXQgcj1gYCxpPTA7cmV0dXJuIG4uZm9yRWFjaChuPT57bGV0IGE9YGAsbz1gYCxzPU9mKGUsbiksYz10Py5jbGFtcCYmbi50ZXh0Lmxlbmd0aD4zMCYmIXM7bi5pbmRleD5pJiYoYT1lLnN1YnN0cmluZyhpLG4uaW5kZXgpKSxvPUVmKG4udXJsLG4udGV4dCx7Li4udCxjbGFtcDpjfSksaT1uLmxhc3RJbmRleCxzJiYoYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpLGkrPTEpLGMmJiFrZihlLG4pJiYobz1gXG4ke299XG5gLGE9YS50cmltRW5kKCksZVtpXT8ubWF0Y2goL1xzLykmJihpKz0xKSkscis9U2YoYSkrb30pLGUubGVuZ3RoPmkmJihyKz1TZihlLnN1YnN0cmluZyhpKSkpLHJ9LE9mPShlLHQpPT5lW3QuaW5kZXgtMV09PT1gImAmJmVbdC5sYXN0SW5kZXhdPT09YCJgLGtmPShlLHQpPT4hISh0LmluZGV4PD0xJiZlLnN1YnN0cmluZyh0Lmxhc3RJbmRleCx0Lmxhc3RJbmRleCszKS5tYXRjaCgvW1xuXHJdKy8pfHxlLnN1YnN0cmluZyh0LmluZGV4LTMsdC5pbmRleCkubWF0Y2goL1tcblxyXSsvKSYmZS5zdWJzdHJpbmcodC5sYXN0SW5kZXgsdC5sYXN0SW5kZXgrMykubWF0Y2goL1tcblxyXSsvKXx8ZS5zdWJzdHJpbmcodC5pbmRleC0zLHQuaW5kZXgpLm1hdGNoKC9bXG5ccl0rLykmJnQubGFzdEluZGV4PmUubGVuZ3RoLTN8fHQuaW5kZXg8PTEmJnQubGFzdEluZGV4Pj1lLmxlbmd0aC0yKSxBZj1lPT5lLnJlcGxhY2UoL15odHRwcz86XC9cLy8sYGApLnJlcGxhY2UoL153d3dcLi8sYGApLnJlcGxhY2UoL1wvKyQvLGBgKS50b0xvd2VyQ2FzZSgpLGpmPWU9PntsZXQgdD1bYG1haWx0bzpgLGBmdHA6YCxgLy9gXSxuPVRmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBudWxsO2xldCByPW5ldyBTZXQ7cmV0dXJuIG4uZmlsdGVyKGU9PntpZih0LmluY2x1ZGVzKGUuc2NoZW1hKSlyZXR1cm4hMTtsZXQgbj1BZihlLnVybCk7cmV0dXJuIHIuaGFzKG4pPyExOihyLmFkZChuKSwhMCl9KX0sTWY9KCk9PlBvKGBjYXJkc2ApLE5mPWU9PntGbyh7Li4uZX0sYGNhcmRzYCl9LFBmPWFzeW5jIGU9PntsZXQgdD1uZXcgSGVhZGVycyx7d2lkZ2V0QXBpVXJsOm59PVYuZ2V0T3B0aW9ucygpO3QuYXBwZW5kKGBDb250ZW50LVR5cGVgLGBhcHBsaWNhdGlvbi9qc29uYCk7bGV0IHI9SlNPTi5zdHJpbmdpZnkoe2xpbmtzOmV9KTt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7bn0vbGlua3MvcHJldmlld2Ase21ldGhvZDpgUE9TVGAsaGVhZGVyczp0LGJvZHk6cn0pO3JldHVybiBlLm9rJiZlLmpzb24/YXdhaXQgZS5qc29uKCk6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19LEZmPWU9PmUuZmluZChlPT5lLnR5cGU9PT1gb3Blbl91cmxgKT8udmFsdWV8fGBgLElmPWU9PntsZXQgdD1lLmZpbHRlcihlPT5lLnRpdGxlJiZlLmltYWdlJiYhUmYoRmYoZS5hY3Rpb25zKSkpO3JldHVybiB0Lmxlbmd0aCYmZS5sZW5ndGg+MT9lOnQubGVuZ3RoPT09MT90OltdfSxMZj1lPT57bGV0IHQ9bmV3IERhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+eyghZVtuXS5leHBpcmF0aW9ufHxlW25dLmV4cGlyYXRpb24mJmVbbl0uZXhwaXJhdGlvbjx0KSYmZGVsZXRlIGVbbl19KSxlfSxSZj1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dH09QShibCksbj1lLm1hdGNoKC8oXC4pKFteLl17Myw0fSkkL20pO3JldHVybiBuJiZuWzJdJiZ0LmluY2x1ZGVzKG5bMl0pfSx6Zj1hc3luYyBlPT57dHJ5e2F3YWl0IHEuZ2V0Q2xpZW50KCkubGlua09wZW5lZCh7dXJsOmV9KX1jYXRjaChlKXtqbyhgU2VuZGluZyBsaW5rIG9wZW5lZCBhbmFseXRpY3MgZXZlbnQgZmFpbGVkYCxTdHJpbmcoZSkpfX0sQmY9KGUsdCk9PntpZighdClyZXR1cm47bGV0IG49YXN5bmMgbj0+e2xldCByPW4udGFyZ2V0LmNsb3Nlc3QoYGFgKTtyJiZlLmNvbnRhaW5zKHIpJiZ0JiZhd2FpdCB6ZihyLmhyZWYpfSxyPWU9PnZvaWQgbihlKSxpPWU9PntlLmJ1dHRvbiE9PTImJm4oZSl9LGE9ZT0+dm9pZCBuKGUpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGF1eGNsaWNrYCxpKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGNvbnRleHRtZW51YCxhKSx7ZGVzdHJveSgpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYXV4Y2xpY2tgLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY29udGV4dG1lbnVgLGEpfX19LFZmPSExLEhmPU8oKSxVZj1PKCExKSxXZj1PKCExKSxHZj0oZSx0LG4pPT57bGV0IHI9e30saT1uZXcgRGF0ZSgpLmdldFRpbWUoKStNZDtlLmZvckVhY2goKGUsbik9PnJbZV09e2V4cGlyYXRpb246aSxjYXJkOnRbbl19KTtsZXQgYT17Li4ubiwuLi5yfTtIZi5zZXQoYSksTmYoYSl9LEtmPWFzeW5jKGUsdCxuPSExKT0+e2xldCByPVtdLGk9e3R5cGU6YGNhcmRzYCxsYXlvdXQ6YGNhcm91c2VsYCxpdGVtczpbXX07VmZ8fD0oSGYuc2V0KE1mKCkpLCEwKTtsZXQgYT1qZihlKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgbz1MZihBKEhmKSkscz1bXTtpZihhLmZvckVhY2godD0+e09mKGUsdCl8fChvW3QudXJsXT9yLnB1c2gob1t0LnVybF0uY2FyZCk6cy5wdXNoKHQudXJsKSl9KSxzLmxlbmd0aD4wKXt0JiZVZi5zZXQoITApLG4mJldmLnNldCghMCk7bGV0IGU9YXdhaXQgUGYocyk7ZSYmKEdmKHMsZSxvKSxyPVsuLi5yLC4uLmVdKX1yZXR1cm4gaS5pdGVtcz1JZihyKSxVZi5zZXQoITEpLFdmLnNldCghMSksaS5pdGVtcy5sZW5ndGg+MD9pOm51bGx9LHFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbnRhY3RNZXNzYWdlPWBjb250YWN0LW1lc3NhZ2VgLGUuQWdlbnRNZXNzYWdlPWBhZ2VudC1tZXNzYWdlYCxlLkJvdE1lc3NhZ2U9YGJvdC1tZXNzYWdlYCxlLkJvdFJlcGxpZXM9YGJvdC1yZXBsaWVzYCxlfSh7fSksSmY9YXN5bmMoe3RleHQ6ZSxxdWlja1JlcGx5OnR9KT0+e3RyeXtsZXQgbj1CKCkubG9jYXRpb24uaHJlZjtyZXR1cm4gYXdhaXQgcS5nZXRDbGllbnQoKS5jaGF0TWVzc2FnZSh7Y29udGVudDp7dHlwZTpHLk1lc3NhZ2VDb250ZW50VHlwZS5UZXh0LHRleHQ6ZX0scXVpY2tSZXBseTp0LHBhZ2VVcmw6bn0pPz9udWxsfWNhdGNoe3JldHVybiBudWxsfX0sWWY9ZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3R8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuVHJpZ2dlcixYZj1lPT5lLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlN5c3RlbSxaZj1lPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk5vdGUsUWY9ZT0+IWUuZGVsZXRlZEF0JiYhWmYoZSkmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxZZihlKSksJGY9ZT0+YGh0bWxgaW4gZSYmISFlLmh0bWwsZXA9ZT0+YHRleHRgaW4gZSYmISFlLnRleHQsdHA9KGUsdCk9Pm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCktbmV3IERhdGUodC5jcmVhdGVkQXQpLmdldFRpbWUoKSxucD0oZSx0KT0+dD09PXFmLkJvdFJlcGxpZXM/YCR7ZS5pZH0tcmVwbGllc2A6ZS5pZCxycD1lPT57bGV0IHQ9e2lzUmlnaHQ6ITEsaXNMZWZ0OiExfSxuPXtpc1ByaW1hcnk6ITEsaXNTZWNvbmRhcnk6ITF9O3N3aXRjaChlKXtjYXNlIHFmLkNvbnRhY3RNZXNzYWdlOnQuaXNSaWdodD0hMCxuLmlzUHJpbWFyeT0hMDticmVhaztkZWZhdWx0OnQuaXNMZWZ0PSEwLG4uaXNTZWNvbmRhcnk9ITB9cmV0dXJue2FsaWduOnQsdmFyaWFudDpufX0saXA9ZT0+ISFlLmFnZW50SWR8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiZlLmNvbnRlbnQudHlwZSE9PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlRpY2tldEZvcm0sYXA9KGUsdCk9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuU3lzdGVtfHx0PT09cWYuQm90UmVwbGllc3x8ZS5jb250ZW50LnR5cGU9PT1HLk1lc3NhZ2VDb250ZW50VHlwZS5UaWNrZXRGb3JtLG9wPWU9PntsZXQgdD1bXSxuPW51bGwscj1udWxsO2ZvcihsZXQgaSBvZiBlKXtpZihpLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiYoaS5jb250ZW50LmRhdGEudGFyZ2V0PT09Ry5SYXRpbmdUYXJnZXQuQWkmJiFKcCgpfHxpLmNvbnRlbnQuZGF0YS50YXJnZXQ9PT1HLlJhdGluZ1RhcmdldC5BZ2VudCYmIXFwKCkpKWNvbnRpbnVlO24mJiFocChpLG4pJiYodC5wdXNoKG4pLG49bnVsbCxyPW51bGwpLG58fD1zcChpKTtsZXQgZT1scChpLG4pO2lmKHIpe2xldCB0PV9wKHIpLG49ZHAocik7ZS5uZWlnaGJvcnMuaGFzVG9wPXQsbi5hbnkubmVpZ2hib3JzLmhhc0JvdHRvbT10LG4uYXR0YWNobWVudENvbnRleHQmJihuLmF0dGFjaG1lbnRDb250ZXh0LmV4dHJhU3BhY2VzLmhhc0JvdHRvbT15cChuLmF0dGFjaG1lbnRDb250ZXh0LmF0dGFjaG1lbnQpKX1sZXQgYT1mcChpKTtpZihhJiZ1cChhLGUsciksbi5tZXNzYWdlc0NvbnRleHQucHVzaChlKSxyPWUsKFlmKGkpfHxYZihpKSkmJlRwKGkpKXt0LnB1c2gobik7bGV0IGU9Y3AoaSk7ZS5tZXNzYWdlc0NvbnRleHQucHVzaChscChpLGUpKSx0LnB1c2goZSksbj1udWxsfX1yZXR1cm4gbiYmdC5wdXNoKG4pLHR9LHNwPWU9PntsZXQgdD1ncChlKSxuPWUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXIse2FsaWduOnIsdmFyaWFudDppfT1ycCh0KTtyZXR1cm57dHlwZTp0LGlzQm90Om4saWQ6bnAoZSx0KSxkYXRlOmUuY3JlYXRlZEF0LGFnZW50SWQ6ZS5hZ2VudElkLGFsaWduOnIsdmFyaWFudDppLG1lc3NhZ2VzQ29udGV4dDpbXSxzaG93QXZhdGFyOmlwKGUpLHVzZUZ1bGxXaWR0aDphcChlLHQpfX0sY3A9ZT0+e2xldCB0PXFmLkJvdFJlcGxpZXMse2FsaWduOm4sdmFyaWFudDpyfT1ycCh0KTtyZXR1cm57dHlwZTpxZi5Cb3RSZXBsaWVzLGlzQm90OiEwLGlkOm5wKGUsdCksZGF0ZTplLmNyZWF0ZWRBdCxhZ2VudElkOmUuYWdlbnRJZCxhbGlnbjpuLHZhcmlhbnQ6cixtZXNzYWdlc0NvbnRleHQ6W10sc2hvd0F2YXRhcjohMSx1c2VGdWxsV2lkdGg6YXAoZSx0KX19LGxwPShlLHQpPT4oe2dyb3VwOnQsbWVzc2FnZTplLG5laWdoYm9yczp7aGFzVG9wOiExLGhhc0JvdHRvbTohMX0sYXR0YWNobWVudHNDb250ZXh0OltdfSksdXA9KGUsdCxuKT0+e2xldCByPW51bGw7Zm9yKGxldCBpIG9mIGUpe2xldCBlPXZwKGkpLGE9e2hhc1RvcDohMSxoYXNCb3R0b206ITF9LG89eXAoaSkscz17aGFzVG9wOm8saGFzQm90dG9tOiExfTtpZihyKXtsZXQgdD12cChyLmF0dGFjaG1lbnQpLG49eXAoci5hdHRhY2htZW50KTtyLm5laWdoYm9ycy5oYXNCb3R0b209dCYmZSxhLmhhc1RvcD10JiZlLHIuZXh0cmFTcGFjZXMuaGFzQm90dG9tPSFvJiZufWVsc2UgaWYodC5uZWlnaGJvcnMuaGFzQm90dG9tPWUsYS5oYXNUb3A9ZSxwcCh0Lm1lc3NhZ2UpKWlmKGEuaGFzVG9wPSExLHQubmVpZ2hib3JzLmhhc1RvcD0hMSx0Lm5laWdoYm9ycy5oYXNCb3R0b209ITEsbil7bGV0IHQ9X3Aobikscj1kcChuKTthLmhhc1RvcD10JiZlLHIuYW55Lm5laWdoYm9ycy5oYXNCb3R0b209dCYmZTtsZXQgaT1yLmF0dGFjaG1lbnRDb250ZXh0O2kmJihpLmV4dHJhU3BhY2VzLmhhc0JvdHRvbT0hbyYmeXAoaS5hdHRhY2htZW50KSl9ZWxzZSBzLmhhc1RvcD0hMTtsZXQgYz17YXR0YWNobWVudDppLG5laWdoYm9yczphLGV4dHJhU3BhY2VzOnMsbWVzc2FnZUNvbnRleHQ6dH07dC5hdHRhY2htZW50c0NvbnRleHQucHVzaChjKSxyPXsuLi5jfX19LGRwPWU9PntsZXQgdD1TZChlLmF0dGFjaG1lbnRzQ29udGV4dCl8fHZvaWQgMDtyZXR1cm57YXR0YWNobWVudENvbnRleHQ6dCxhbnk6dHx8ZX19LGZwPWU9PmU/ZS5jb250ZW50Py50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuVXBsb2FkP1tlLmNvbnRlbnQuZGF0YV06ZS5hdHRhY2htZW50czpbXSxwcD1lPT4hZS5jb250ZW50LnRleHQsbXA9ZT0+e3RyeXtsZXQgdD1CKCkubG9jYXRpb24uaG9zdG5hbWUsbj1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsYHRleHQvaHRtbGApO3JldHVybiBuLnF1ZXJ5U2VsZWN0b3JBbGwoYGFbaHJlZl1gKS5mb3JFYWNoKGU9PntsZXQgbj1lLmdldEF0dHJpYnV0ZShgaHJlZmApfHxgYDtuPW4ucmVwbGFjZSgvXmh0dHBzPzpcL1wvIj9odHRwcz86XC9cLy8sYGh0dHBzOi8vYCksbj1uLnJlcGxhY2UoL14iK3wiKyQvZyxgYCksZS5zZXRBdHRyaWJ1dGUoYGhyZWZgLG4pO2xldCByPXQubGVuZ3RoPjAmJm4uaW5jbHVkZXModCk7ZS5oYXNBdHRyaWJ1dGUoYHRhcmdldGApfHxlLnNldEF0dHJpYnV0ZShgdGFyZ2V0YCxyP2BfcGFyZW50YDpgX2JsYW5rYCksZS5oYXNBdHRyaWJ1dGUoYHJlbGApfHxlLnNldEF0dHJpYnV0ZShgcmVsYCxgbm9vcGVuZXIgbm9yZWZlcnJlcmApfSksbi5ib2R5LmlubmVySFRNTH1jYXRjaHtyZXR1cm4gZX19LGhwPShlLHQpPT57bGV0IG49Z3AoZSkscj1uPT09cWYuQWdlbnRNZXNzYWdlJiZlLmFnZW50SWQ9PT10LmFnZW50SWQsaT1uPT09cWYuQ29udGFjdE1lc3NhZ2UsYT1lLnN1YlR5cGUhPT1HLk1lc3NhZ2VTdWJUeXBlLkJvdHx8KGUuY29udGVudC5xdWlja1JlcGxpZXN8fFtdKS5sZW5ndGg9PT0wO3JldHVybiB0LnR5cGU9PT1uJiYocnx8aSkmJmEmJklkKHQuZGF0ZSxlLmNyZWF0ZWRBdCl9LGdwPWU9Pntzd2l0Y2goZS5zdWJUeXBlKXtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQWdlbnQ6cmV0dXJuIHFmLkFnZW50TWVzc2FnZTtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdDpyZXR1cm4gcWYuQ29udGFjdE1lc3NhZ2U7Y2FzZSBHLk1lc3NhZ2VTdWJUeXBlLkJvdDpyZXR1cm4gcWYuQm90TWVzc2FnZX1yZXR1cm4gbnVsbH0sX3A9ZT0+e2xldCB0PWUuYXR0YWNobWVudHNDb250ZXh0Lmxlbmd0aDtyZXR1cm4hKHQ+MCYmZS5hdHRhY2htZW50c0NvbnRleHRbdC0xXS5hdHRhY2htZW50LnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUpfSx2cD1lPT5lLnR5cGUhPT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUmJmUudHlwZSE9PUcuQXR0YWNobWVudFR5cGUuQ2FyZHMseXA9ZT0+ISFlJiYoZS50eXBlPT09Ry5BdHRhY2htZW50VHlwZS5GaWxlfHxlLnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkNhcmRzKSxicD0oKT0+e2xldCBlPWdfKCk7ZS52b2x1bWU9cWMsZS5hZGRFdmVudExpc3RlbmVyKGBjYW5wbGF5dGhyb3VnaGAsKCk9PntlLnBsYXkoKS5jYXRjaChlPT5IKGBDb3VsZCBub3QgcGxheSBtZXNzYWdlIHNvdW5kLmAsZSkpfSl9LHhwPUtkKGJwLEpjKSxTcD1lPT5lLmZpbHRlcihlPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk1lc3NhZ2UmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QpKSxDcD0oZSx0PSEwKT0+e2xldCBuPWUucmVkdWNlKChlLHQpPT4oZS5wdXNoKHQpLHQuY29udGVudC50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuQ2hhdENsb3NlfHx0LmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLkNoYXRWaXNpdG9yQ2xvc2U/W106ZSksW10pO3JldHVybiB0P24uZmlsdGVyKGU9PmUudHlwZT09PUcuTWVzc2FnZVR5cGUuTWVzc2FnZSYmZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5TeXN0ZW0pOm59LHdwPWU9PntsZXQgdD17fTtyZXR1cm4gZS5mb3JFYWNoKGU9PntlLnRyaWdnZXImJih0W2UudHJpZ2dlci5pZF09e3NlbnQ6ITB9KX0pLHR9LFRwPWU9PiEhKGUuY29udGVudC5xdWlja1JlcGxpZXMmJmUuY29udGVudC5xdWlja1JlcGxpZXMubGVuZ3RoPjApLEVwPWFzeW5jKGUsdD0hMSk9PntsZXQgbj1RZihlKSxyPSF0JiZuO2lmKGBodG1sYGluIGUuY29udGVudCYmZS5jb250ZW50Lmh0bWwmJihlLmNvbnRlbnQuaHRtbD1tcChlLmNvbnRlbnQuaHRtbCkpLGUuY29udGVudD8udGV4dCYmVi5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkJiZlLmF0dGFjaG1lbnRzLmxlbmd0aD09PTApe2xldCB0PWF3YWl0IEtmKGUuY29udGVudC50ZXh0LGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCxyKTt0JiZ0Lml0ZW1zLmxlbmd0aD4wJiZlLmF0dGFjaG1lbnRzLnB1c2godCl9cmV0dXJuIG5kLnNldCghMSksZX0sRHA9YXN5bmMgZT0+KFYuZ2V0T3B0aW9ucygpLnVybENhcmRzRW5hYmxlZCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgZT0+YXdhaXQgRXAoZSkpKSxlKSxPcD1lPT5lLmZpbmRJbmRleChlPT5lLm1lc3NhZ2UuY2hhbm5lbC50eXBlPT09YGVtYWlsYCk+LTEsa3A9ZT0+ZS5maW5kKGU9PmUubWVzc2FnZT8udHJpZ2dlcj8uaWRlbnRpdHlJZCk/Lm1lc3NhZ2U/LnRyaWdnZXI/LmlkZW50aXR5SWQsSj0oKCk9PntsZXQgZT1PKHt9KSx7c3Vic2NyaWJlOnQsdXBkYXRlOm4sc2V0OnJ9PWUsaT1hc3luYyBlPT57cihybChgaWRgLGF3YWl0IERwKGUpKSl9LGE9YXN5bmMgZT0+e2xldCB0PWF3YWl0IEVwKGUpO1lmKGUpJiZNcC5zZXQoITEpLG4obj0+KHsuLi5uLFtlLmlkXTp0fSkpLGpwKHQpfSxvPWFzeW5jIGU9PntpZighQShScCkuc29tZSh0PT50LmlkPT09ZS5pZCkpcmV0dXJuO2xldCB0PUEoQnApPT09ZS5pZD9hd2FpdCBFcChlLCEwKTplO24obj0+KHsuLi5uLFtlLmlkXTp0fSkpfTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0TWVzc2FnZXM6aSxhZGRNZXNzYWdlOmEsZGVsZXRlTWVzc2FnZTplPT57bih0PT57bGV0e1tlXTpuLC4uLnJ9PXQ7cmV0dXJuIHJ9KX0sbWFya01lc3NhZ2VBc0RlbGV0ZWQ6KHQscik9PntsZXQgaT1BKGUpW3RdO2kmJm4oZT0+KHsuLi5lLFtpLmlkXTp7Li4uaSxkZWxldGVkQXQ6cj8/bmV3IERhdGUoKS50b0lTT1N0cmluZygpfX0pKX0scmVwbGFjZU1lc3NhZ2U6byx1cGRhdGVNZXNzYWdlUmF0aW5nOmU9PntBKGlkKT09PWUuY29udGVudC5kYXRhPy50YXJnZXQmJnhkKCksbih0PT4hZXx8ZS5jb250ZW50LnR5cGUhPT1HLk1lc3NhZ2VDb250ZW50VHlwZS5SYXRlRm9ybT97Li4udH06KHRbZS5pZF18fFlwKGUuaWQpLHsuLi50LFtlLmlkXTplfSkpfSxzZW5kTWVzc2FnZTphc3luYyhlLHQpPT57S3Auc2V0KGUpO2xldCBuPWF3YWl0IEpmKHt0ZXh0OmV9KTtuJiYoS3Auc2V0KG51bGwpLGF3YWl0IGEobiksei5lbWl0KGBtZXNzYWdlU2VudGAsbiksd2goQSgkdSkpKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChlPT5PZChlKSkpfSxzZW5kQm90UmVwbHk6YXN5bmMoZSx0LG4pPT57bGV0IHI9YXdhaXQgSmYoe3RleHQ6dCxxdWlja1JlcGx5OntyZXBseVRvOmUscGF5bG9hZDpufX0pO24uaXNHb0JhY2tCdXR0b258fEptKHQpLHImJmF3YWl0IG8ocil9LGNsZWFyTWVzc2FnZXM6KCk9PntyKHt9KX19fSkoKSxBcD1lPT57QShSXyl8fElfKCksUV8oKSxzZXRUaW1lb3V0KCgpPT57Si5hZGRNZXNzYWdlKGUpLCRfKCl9LDE2MDApfSxqcD1lPT57ZSYmQShEXykmJkEoUl8pJiYhKEEoa18pJiZBKFgpKSYmX18oZSkmJnhwKCl9LE1wPU8oITEpLE5wPWsoW0pdLChbZV0pPT57bGV0IHQ9T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoUWYpO3JldHVybiB0P1NkKHQuc29ydCgoZSx0KT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpLmdldFRpbWUoKS1uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkuZ2V0VGltZSgpKSk6bnVsbH0pLFBwPWsoW0oscmRdLChbZSx0XSk9PntsZXQgbj1PYmplY3QudmFsdWVzKGUpLmZpbHRlcihRZik7cmV0dXJuIHQ/bi5maWx0ZXIoZT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpPm5ldyBEYXRlKHQpKTpufSksRnA9ayhbUHBdLChbZV0pPT5TZChlKSksSXA9ayhbUHBdLChbZV0pPT5lLmxlbmd0aCksTHA9ayhbSXBdLChbZV0pPT5lPjApLFJwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLnNvcnQodHApKSx6cD1rKFtScF0sKFtlXSk9Pm9wKGUpKSxCcD1rKFtScF0sKFtlXSk9PlNkKGUpPy5pZD8/bnVsbCksVnA9ayhbSl0sKFtlXSk9PlNkKE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKGU9PnR5cGVvZiBlLndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD09YGJvb2xlYW5gKSk/LndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD8/ITEpLEhwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLmZpbHRlcihlPT5lLnN1YlR5cGU9PT1gY29udGFjdGB8fGUuc3ViVHlwZT09PWBhZ2VudGApLmxlbmd0aD4wKSxVcD1rKFtKXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KS5sZW5ndGg+MCksV3A9ayhbSixDc10sKFtlLHRdLG4pPT57aWYodCl7bGV0IHI9ZVt0XTtyJiZyLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiZuKHttZXNzYWdlSWQ6ci5pZCx2YWx1ZTpyLmNvbnRlbnQuZGF0YT8udmFsdWUsdGV4dDpyLmNvbnRlbnQuZGF0YT8udGV4dCx0YXJnZXQ6ci5jb250ZW50LmRhdGE/LnRhcmdldH0pfWVsc2UgbihudWxsKX0pLEdwPWsoW1JwXSwoW2VdKT0+ZS5zbGljZSgpLnJldmVyc2UoKS5maW5kKGU9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCl8fG51bGwpLEtwPU8obnVsbCkscXA9KCk9PiEhVi5nZXRPcHRpb25zKCkucmF0aW5nRW5hYmxlZCxKcD0oKT0+ISFWLmdldE9wdGlvbnMoKS5haVJhdGluZ0VuYWJsZWQsWXA9ZT0+e0NzLnNldChlKSxCYyhIYy5DaGF0UmF0aW5nKX0sWHA9YXN5bmMoe21lc3NhZ2VJZDplLHJhdGluZzp7dGV4dDp0LHZhbHVlOm59LG9uU3VjY2VzczpyfSk9PntsZXQgaT1BKEopW2VdLGE9ZT09PWByYXRlX2Zvcm1faWRgP3ZvaWQgMDplO3RyeXthd2FpdCBxLmdldENsaWVudCgpLmNoYXRSYXRlKHttZXNzYWdlSWQ6YSx2YWx1ZTpuLHRleHQ6dD8/dm9pZCAwfSksciYmcigpfWNhdGNoKGUpe2kmJmF3YWl0IEoucmVwbGFjZU1lc3NhZ2UoaSksam8oYENoYXQgcmF0aW5nIGZhaWxlZC5gLFN0cmluZyhlKSksZ3MoQShXKShgZm9ybS5zdWJtaXQuZXJyb3JgKSl9fSxacD1lPT57bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvcmF0aW5nLyR7ZX0uc3ZnYH0sUXA9LyhHLShbQS1aLDAtOV0qKSkvZywkcD1bXSxlbT0hMSx0bSxubT0hMSxybSxpbT1lPT5lLm1hdGNoKFFwKSxhbT0oKT0+e2xldHtnb29nbGVBbmFseXRpY3NFbmFibGVkOmV9PVYuZ2V0T3B0aW9ucygpO3RtPXdpbmRvdy50b3B8fHdpbmRvdyxlJiYodG0uZ3RhZyYmKHJtPXRtLmd0YWcsbm09ITApLHoub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxvbSksIWVtJiZVbygpJiZzbSgpKX0sb209ZT0+eyFlbSYmZSYmc20oKX0sc209KCk9PntsZXR7Z2FLZXk6ZSxnYU9wdGlvbnM6dCxnb29nbGVBbmFseXRpY3NNYW51YWw6bixnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkczpyfT1WLmdldE9wdGlvbnMoKSxpPXR8fHtjb29raWVEb21haW46YGF1dG9gfTtpZihlKWltKGUpJiYkcC5wdXNoKHtrZXk6ZSxvcHRpb25zOml9KTtlbHNlIGlmKG4mJnIpci5mb3JFYWNoKGU9PntpbShlKSYmJHAucHVzaCh7a2V5OmUsb3B0aW9uczppfSl9KTtlbHNlIHRyeXskcC5wdXNoKC4uLmNtKCkpfWNhdGNoKGUpe3ZvKGBFcnJvciBkdXJpbmcgZ2V0dGluZyBHQSB0b3AgdHJhY2tlcnNgLGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSl9JHAubGVuZ3RoPjAmJiFubSYmbG0oKSwkcC5sZW5ndGg9PT0wP3ZvKGBObyBHQSB0byBzZXR1cGApOihkbSgpLGVtPSEwLHZvKGBHQSBpbml0aWFsaXplZGApKX0sY209KCk9PntsZXQgZT1bXTtyZXR1cm4gdG0uZ29vZ2xlX3RhZ19tYW5hZ2VyJiZPYmplY3Qua2V5cyh0bS5nb29nbGVfdGFnX21hbmFnZXIpLmZvckVhY2godD0+e2ltKHQpJiZlLnB1c2goe2tleTp0LG9wdGlvbnM6e2Nvb2tpZURvbWFpbjpgYXV0b2B9fSl9KSxlfSxsbT0oKT0+e2xldCBlPXRtLmRvY3VtZW50LHtoZWFkOnR9PWUsbj1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApO24uaWQ9YGd0YWdgLG4udHlwZT1gdGV4dC9qYXZhc2NyaXB0YCxuLmFzeW5jPSEwLG4uc3JjPWBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzYCx0Lmluc2VydEJlZm9yZShuLHQuZmlyc3RDaGlsZCksdG0uZGF0YUxheWVyPXRtLmRhdGFMYXllcnx8W10sdG0uZ3RhZz1mdW5jdGlvbigpe3RtLmRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9LHJtPXRtLmd0YWcscm0oYGpzYCxuZXcgRGF0ZSl9LHVtPSgpPT57bGV0IGU9W107aWYobm0pe2xldCB0PWNtKCk7JHAuZm9yRWFjaChuPT57dC5maW5kKCh7a2V5OmV9KT0+ZT09PW4ua2V5KXx8ZS5wdXNoKG4pfSl9ZWxzZSBlPVsuLi4kcF07cmV0dXJuIGV9LGRtPSgpPT57dW0oKS5mb3JFYWNoKGU9PntsZXR7a2V5OnQsb3B0aW9uczpufT1lLHI9e307bj8ocj17Y29va2llX2RvbWFpbjpuLmNvb2tpZURvbWFpbn0sbi5uYW1lJiYoci5uYW1lPW4ubmFtZSkpOnI9e2Nvb2tpZV9kb21haW46dG0/LmxvY2F0aW9uLmhvc3RuYW1lfHxgYH0sci5zZW5kX3BhZ2Vfdmlldz0hMSxybShgY29uZmlnYCx0LHIpfSl9LGZtPShlLHQpPT57bGV0e2dvb2dsZUFuYWx5dGljc0VuYWJsZWQ6bn09Vi5nZXRPcHRpb25zKCk7aWYoISghbnx8IXRtLmd0YWd8fCFVbygpfHx0bS5kb2N1bWVudC5oaWRkZW4pKXRyeXskcC5mb3JFYWNoKG49Pnt0LnNlbmRfdG89bi5rZXkscm0oYGV2ZW50YCxlLHQpLHZvKGBTbWFydHN1cHA6IEdBIGV2ZW50ICR7ZX0gLSAke0pTT04uc3RyaW5naWZ5KHQpfWApfSl9Y2F0Y2goZSl7dm8oYFNtYXJ0c3VwcDogR0EgZXJyb3I6YCxlIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOmUpfX0scG09YFZpc2l0b3Jfc3RhcnRlZF9jb252ZXJzYXRpb25gLG1tPWBWaXNpdG9yX2Nsb3NlZF9jb252ZXJzYXRpb25gLGhtPWBUcmlnZ2VyX21lc3NhZ2Vfc2VudGAsZ209YFRyaWdnZXJfbWVzc2FnZV92aWV3ZWRgLF9tPWBUcmlnZ2VyX3Zpc2l0b3JfcmVhY3Rpb25gLHZtPWBBdXRvX21lc3NhZ2Vfc2VudGAseW09YEF1dG9fbWVzc2FnZV92aWV3ZWRgLGJtPWBBdXRvX21lc3NhZ2VfdmlzaXRvcl9yZWFjdGlvbmAseG09YENoYXRib3Rfc2VudGAsU209YENoYXRib3Rfdmlld2VkYCxDbT1gQ2hhdGJvdF9pbnRlcmFjdGlvbmAsd209YENoYXRib3RfYnV0dG9uX2ludGVyYWN0aW9uYCxUbT1gQ2hhdGJvdF92aXNpdG9yX3JlYWN0aW9uYCxFbT1gQWlfY2hhdGJvdF9zZW50YCxEbT1gQWlfY2hhdGJvdF9pbnRlcmFjdGlvbmAsT209YEFpX2NoYXRib3RfdmlzaXRvcl9yZWFjdGlvbmAsa209YEFnZW50X3NlcnZlZF9jb252ZXJzYXRpb25gLEFtPWBBZ2VudF9jbG9zZWRfY29udmVyc2F0aW9uYCxqbT1gQ29udGFjdF9hY3F1aXJlZGAsTW09YEF1dGhfZm9ybV9maWxsZWRgLE5tPWBPZmZsaW5lX21lc3NhZ2Vfc2VudGAsUG09YEZlZWRiYWNrX3NlbnRgLEZtPWBGZWVkYmFja190ZXh0X3NlbnRgLEltPWBVcmxfY2FyZF9vcGVuZWRgLExtPWBDaGF0Ym94X29wZW5lZGAsUm09e2V2ZW50X2NhdGVnb3J5OmBTbWFydHN1cHBfdjNgLG5vbl9pbnRlcmFjdGlvbjohMH0sWT0oZSx0KT0+e2ZtKGUsey4uLlJtLC4uLnR9KX0sem09KGU9YGApPT5ZKGhtLHtldmVudF9sYWJlbDplfSksQm09ZT0+WShnbSx7ZXZlbnRfbGFiZWw6ZX0pLFZtPShlPWBgKT0+WShfbSx7ZXZlbnRfbGFiZWw6ZX0pLEhtPShlPWBgKT0+WSh2bSx7ZXZlbnRfbGFiZWw6ZX0pLFVtPWU9PlkoeW0se2V2ZW50X2xhYmVsOmV9KSxXbT0oZT1gYCk9PlkoYm0se2V2ZW50X2xhYmVsOmV9KSxHbT0oZT1gYCk9PlkoeG0se2V2ZW50X2xhYmVsOmV9KSxLbT1lPT5ZKFNtLHtldmVudF9sYWJlbDplfSkscW09KGU9YGApPT5ZKENtLHtldmVudF9sYWJlbDplfSksSm09KGU9YGApPT5ZKHdtLHtldmVudF9sYWJlbDplfSksWW09KGU9YGApPT5ZKFRtLHtldmVudF9sYWJlbDplfSksWG09KCk9PlkocG0pLFptPSgpPT5ZKG1tKSxRbT1lPT5ZKEFtLHtldmVudF9sYWJlbDplfSksJG09ZT0+WShrbSx7ZXZlbnRfbGFiZWw6ZX0pLGVoPSgpPT5ZKE1tKSx0aD0oKT0+WShObSksbmg9KGUsdCk9PntsZXQgbj17ZXZlbnRfbGFiZWw6dHx8dnNbZV18fGBgLHZhbHVlOmV9O1kodD9GbTpQbSxuKX0scmg9ZT0+WShqbSx7ZXZlbnRfbGFiZWw6ZX0pLGloPWU9PlkoSW0se2V2ZW50X2xhYmVsOmV9KSxhaD0oZT1gYCk9PlkoRW0se2V2ZW50X2xhYmVsOmV9KSxvaD0oZT1gYCk9PlkoRG0se2V2ZW50X2xhYmVsOmV9KSxzaD0oZT1gYCk9PlkoT20se2V2ZW50X2xhYmVsOmV9KSxjaD0oKT0+WShMbSksbGg9ITEsdWg9e30sZGg9KCk9PntsaD0hMX0sZmg9KCk9Pnt1aD13cChBKFJwKSl9LHBoPShlLHQpPT5saD8hMTpDcChlKS5sZW5ndGg9PT0xJiZ0PT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0PyhsaD0hMCwhMCk6ITEsbWg9KGUsdCk9PntsZXQgbj1lLnRyaWdnZXI/LmlkfHxgYDtyZXR1cm4gdC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiZlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJiF1aFtuXT8udmlzaXRvclJlc3BvbmRlZD8odWhbbl0udmlzaXRvclJlc3BvbmRlZD0hMCwhMCk6ITF9LGhoPShlLHQpPT57bGV0IG49ZS50cmlnZ2VyPy5pZHx8YGA7cmV0dXJuIHQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCYmISh0LmNvbnRlbnQucXVpY2tSZXBsaWVzfHx0LmNvbnRlbnQucXVpY2tSZXBseSkmJmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiYhdWhbbl0/LnZpc2l0b3JSZXNwb25kZWQmJm4/KHVoW25dLnZpc2l0b3JSZXNwb25kZWQ9ITAsITApOiExfSxnaD0oZSx0KT0+e2xldCBuPWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiB0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QmJmUudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmIXVoW25dPy5yZWFjdGVkPyh1aFtuXS5yZWFjdGVkPSEwLCEwKTohMX0sX2g9ZT0+e2xldCB0PWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiBlLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYhdWhbdF0/LnJlYWN0ZWQ/KHVoW3RdLnJlYWN0ZWQ9ITAsITApOiExfSx2aD0oZSx0LG49ITEpPT57aWYoZS5sZW5ndGg+MCYmIW4pe2xldCB0PWUuc2xpY2UoLTIpLmZpbHRlcihlPT5lLnRyaWdnZXIpO3JldHVybiB0P3RbdC5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZTpgYH1lbHNlIHJldHVybiB0LnRyaWdnZXI/dC50cmlnZ2VyLm5hbWU6YGB9LHloPWU9PntsZXQgdD1BKFJwKTt4aCh0LGUpLFNoKHQsZSkscGgodCxlLnN1YlR5cGUpJiZYbSgpfSxiaD1lPT57bGV0IHQ9ZSxuPUEoUnApLmZpbHRlcihlPT5lLnRyaWdnZXIpO24mJm4ubGVuZ3RoPjAmJih0PW5bbi5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZT8/ZSkscmgodCl9LHhoPShlLHQpPT57bGV0IG49dC50cmlnZ2VyPy5pZHx8YGA7dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJiF1aFtuXT8uc2VudCYmKHQudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmKEdtKHZoKGUsdCwhMCkpLHVoW25dPXtzZW50OiEwfSksdC50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5tZXNzYWdlJiYoSG0odmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSx0LnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYoYWgodmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSk7bGV0IHI9ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtyJiYoaGgocix0KT8oci50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5jaGF0Ym90JiZZbSh2aChlLHQpKSxyLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLm1lc3NhZ2UmJldtKHZoKGUsdCkpLHIudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuYWkmJnNoKHZoKGUsdCkpKTpnaChyLHQpP3FtKHZoKGUsdCkpOl9oKHQpJiZvaCh2aChlLHQpKSl9LFNoPShlLHQpPT57dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5UcmlnZ2VyJiYoem0odD8udHJpZ2dlcj8ubmFtZSksdWhbdC50cmlnZ2VyPy5pZHx8YGBdPXtzZW50OiEwfSk7bGV0IG49ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtuJiZtaChuLHQpJiZWbSh2aChlLHQpKX0sQ2g9KCk9PntsZXQgZT1BKFBwKS5maWx0ZXIoZT0+ZS50cmlnZ2VyKSx0PWVbZS5sZW5ndGgtMV07dCYmdC50cmlnZ2VyJiYodC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJnQuY29udGVudC5xdWlja1JlcGxpZXM/S20odC50cmlnZ2VyLm5hbWUpOnQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90P1VtKHQudHJpZ2dlci5uYW1lKTp0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJkJtKHQudHJpZ2dlci5uYW1lKSl9LHdoPWU9PntlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJnRoKCl9O3oub24oYG1lc3NhZ2VSZWNlaXZlZGAseWgpLHoub24oYGFnZW50Sm9pbmVkYCxlPT57JG0oZS5mdWxsbmFtZSl9KSx6Lm9uKGBjaGF0UmF0ZWRgLGU9PntuaChlLnZhbHVlLGUudGV4dCl9KSx6Lm9uKGBjaGF0Q2xvc2VkYCwoKT0+e2RoKCl9KSx6Lm9uKGBjaGF0VmlzaXRvckNsb3NlZGAsKCk9PntkaCgpfSksei5vbihgY29udGFjdEFjcXVpcmVkYCwoe2FjcXVpcmVkQnk6ZX0pPT57YmgoZSl9KSxYbC5wdXNoKGZoKTt2YXIgVGg9e0Fycm93RG93bjpgQXJyb3dEb3duYCxBcnJvd1VwOmBBcnJvd1VwYCxFbnRlcjpgRW50ZXJgLEVzY2FwZTpgRXNjYXBlYCxUYWI6YFRhYmB9LEVoPTJlMyxEaD0yZTMsT2g9ZT0+ZS5maWx0ZXIoZT0+IWUuaXNIaWRkZW4pLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbHVlLGUpLHt9KSxraD1lPT5lLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbGlkYXRvcnMsZSkse30pLEFoPShlLHQsbik9PntlLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LGpoPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIGluIGUpbltyXT10O3JldHVybiBufSxNaD0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNiksTmg9ZT0+e2lmKCFlKXJldHVybiExO2xldCB0PWUuc3BsaXQoYEBgKTtpZih0Lmxlbmd0aCE9PTIpcmV0dXJuITE7bGV0IG49dFswXSxyPXRbMV07cmV0dXJuIG4ubGVuZ3RoPjY0fHxyLmxlbmd0aD4yNTV8fHIuc3BsaXQoYC5gKS5zb21lKGU9PmUubGVuZ3RoPjYzKT8hMTp5Zi50ZXN0KGUpfSxQaD1udWxsLEZoPWU9PntsZXQgdD1lLmluaXRpYWxWYWx1ZXN8fHt9LHt2YWxpZGF0b3JzOm4sb25DaGFuZ2U6cixvblN1Ym1pdDppfT1lLGE9KCk9Pih7Li4udH0pLG89amgodCxQaCkscz1PKGEoKSksYz1PKG8pLGw9TyhqaCh0LCExKSksdT1PKCExKSxkPWsoYyxlPT5PYmplY3QudmFsdWVzKGUpLmV2ZXJ5KGU9PmU9PT1QaCkpLGY9KCk9PntPYmplY3QuZW50cmllcyhBKHMpKS5mb3JFYWNoKChbZSx0XSk9PntlZShlLHQpfSl9LHA9ZT0+e2xldCB0PWUudGFyZ2V0O3QmJl8odC5uYW1lfHx0LmlkLHQudmFsdWUpfSxtPWFzeW5jIGU9PntpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksdS5zZXQoITApLGYoKSwhQShkKSl7dS5zZXQoITEpO3JldHVybn1jLnNldChvKSxhd2FpdCBpKEEocykpLHUuc2V0KCExKX0saD0oZSx7c2hvdWxkVmFsaWRhdGU6dD0hMX09e30pPT57cy51cGRhdGUodD0+KHsuLi50LC4uLmV9KSksdCYmZigpfSxnPShlLHQpPT57XyhlLHQpfSxfPShlLHQpPT57dihlLHQpLGVlKGUsdCksciYmcihlLHQpfSx2PShlLHQpPT57QWgocyxlLHQpfSx5PShlLHQpPT57QWgobCxlLHQpfSxlZT0oZSx0KT0+e3koZSx0KTtsZXQgcj1uW2VdO2lmKHIpZm9yKGxldCBuIG9mIHIpe2xldHt0eXBlOnIsaXNWYWxpZDppfT1uKHQpO2lmKEFoKGMsZSxpP1BoOnIpLCFpKXJldHVybn19O3JldHVybntmb3JtOnMsZXJyb3JzOmMsaXNWYWxpZDpkLGlzU3VibWl0dGluZzp1LGhhbmRsZUNoYW5nZTpwLGhhbmRsZVN1Ym1pdDptLHNldEZpZWxkVmFsdWU6ZyxzZXRWYWx1ZXM6aH19LEloPWZ1bmN0aW9uKGUpe3JldHVybiBlLlRleHQ9YHRleHRgLGUuQ2hlY2tib3g9YGNoZWNrYm94YCxlLlNlbGVjdD1gc2VsZWN0YCxlfSh7fSksTGg9KCk9PmU9PntsZXQgdD0hMDtyZXR1cm4gZT8/KHQ9ITEpLEx1KGUpJiYodD1lLnRyaW0oKS5sZW5ndGg+MCkse3R5cGU6YHJlcXVpcmVkYCxpc1ZhbGlkOnR9fSxSaD0oKT0+ZT0+KHt0eXBlOmBjaGVja2VkYCxpc1ZhbGlkOkx1KGUpP2U9PT1gdHJ1ZWA6ZT09PSEwfSksemg9KCk9PmU9Pih7dHlwZTpgZW1haWxgLGlzVmFsaWQ6TmgoU3RyaW5nKGUpKX0pLEJoPSgpPT5lPT4oe3R5cGU6YHBob25lYCxpc1ZhbGlkOi9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy1zLi8wLTldKiQvLnRlc3QoU3RyaW5nKGUpKX0pLFZoPU8odm9pZCAwKSxIaD1lPT57bGV0e2VtYWlsQ29udHJvbDp0fT1WLmdldE9wdGlvbnMoKSxuPSEhZT8uZW1haWw7cmV0dXJuIHQmJiFufSxVaD1lPT57bGV0e25hbWVDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5uYW1lO3JldHVybiB0JiYhbn0sV2g9ZT0+e2xldHtudW1iZXJDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5waG9uZTtyZXR1cm4hIXQmJiFufSxHaD0oKT0+e2xldHtncm91cFNlbGVjdEVuYWJsZWQ6ZX09Vi5nZXRPcHRpb25zKCksdD1BKGFsKTtyZXR1cm4hIWUmJnQubGVuZ3RoPjB9LEtoPSgpPT57bGV0e3ByaXZhY3lOb3RpY2VFbmFibGVkOmUscHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1jZygpO3JldHVybiEhZSYmdCYmIW59LHFoPWU9PntsZXR7cHJpdmFjeU5vdGljZUVuYWJsZWQ6dH09Vi5nZXRPcHRpb25zKCksbj0hIWU/LnZhcmlhYmxlcz8ucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQ7cmV0dXJuISF0JiYhbn0sSmg9KCk9Pih7dHlwZTpJaC5UZXh0LHN1YlR5cGU6YGVtYWlsYCxuYW1lOmBlbWFpbGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmVtYWlsYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0ueW91ckVtYWlsYCx2YWx1ZTpgYCx2YWxpZGF0b3JzOltMaCgpLHpoKCldLG1heExlbmd0aDoyNTV9KSxZaD0oKT0+KHt0eXBlOkloLlRleHQsc3ViVHlwZTpgdGV4dGAsbmFtZTpgbmFtZWAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLm5hbWVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyTmFtZWAsdmFsdWU6YGAsdmFsaWRhdG9yczpbTGgoKV0sbWF4TGVuZ3RoOjI1NX0pLFhoPSgpPT4oe3R5cGU6SWguVGV4dCxzdWJUeXBlOmB0ZWxgLG5hbWU6YHBob25lYCxsYWJlbDpgYXV0aEZvcm0ubGFiZWwucGhvbmVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyUGhvbmVgLHZhbHVlOmBgLHZhbGlkYXRvcnM6W0xoKCksQmgoKV0sbWF4TGVuZ3RoOjMyfSksWmg9ZT0+e2xldCB0PUEoYWwpO3JldHVybnt0eXBlOkloLlNlbGVjdCxuYW1lOmBncm91cGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmdyb3VwYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0uZ3JvdXBgLHZhbHVlOmU/Lmdyb3VwPz9gYCx2YWxpZGF0b3JzOltMaCgpXSxvcHRpb25zOnQubWFwKGU9Pih7dGV4dDplLm5hbWUsdmFsdWU6ZS5rZXl9KSl9fSxRaD0oKT0+KHt0eXBlOkloLkNoZWNrYm94LG5hbWU6YHBlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50YCxsYWJlbDpgYXV0aEZvcm0uYWNjZXB0VGVybXNgLHZhbHVlOiExLHZhbGlkYXRvcnM6W1JoKCldfSksJGg9KCk9Pih7dHlwZTpJaC5DaGVja2JveCxuYW1lOmBwZXJzb25hbERhdGFQcm9jZXNzaW5nQ29uc2VudGAsbGFiZWw6YHRvcEJhci5nZHByVGl0bGVgLHZhbHVlOiExLHZhbGlkYXRvcnM6W10saXNIaWRkZW46ITB9KSxlZz1lPT4oe3Nob3dFbWFpbDpIaChlKSxzaG93TmFtZTpVaChlKSxzaG93UGhvbmU6V2goZSksc2hvd0dyb3VwczpHaCgpLHNob3dDb25zZW50OktoKCl9KSx0Zz1lPT4oe3Nob3dFbWFpbDohIWUuZW1haWxDb250cm9sLHNob3dOYW1lOiEhZS5uYW1lQ29udHJvbCxzaG93UGhvbmU6ISFlLm51bWJlckNvbnRyb2wsc2hvd0dyb3VwczohIWUuZ3JvdXBTZWxlY3RFbmFibGVkLHNob3dDb25zZW50OiEhZS5wcml2YWN5Tm90aWNlRW5hYmxlZCYmZS5wcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZH0pLG5nPWU9Pk9iamVjdC52YWx1ZXMoZWcoZSkpLnNvbWUoZT0+ZSkscmc9KGUsdCk9PntsZXQgbj1bXSx7c2hvd0VtYWlsOnIsc2hvd05hbWU6aSxzaG93UGhvbmU6YSxzaG93R3JvdXBzOm8sc2hvd0NvbnNlbnQ6c309dD90Zyh0KTplZyhlKTtyZXR1cm4gaSYmbi5wdXNoKFloKCkpLHImJm4ucHVzaChKaCgpKSxhJiZuLnB1c2goWGgoKSksbyYmbi5wdXNoKFpoKGUpKSxzP24ucHVzaChRaCgpKTpuLmxlbmd0aD4wJiYodD90Py5wcml2YWN5Tm90aWNlRW5hYmxlZDpxaChlKSkmJm4ucHVzaCgkaCgpKSxufSxpZz0oKT0+e2xldCBlPXpvKFUuQXV0aEZvcm0pO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19LGFnPShlLHQpPT57bGV0IG49aWcoKSxyPXtbZV06dH0saT1uP3suLi5uLC4uLnJ9OnI7Qm8oe25hbWU6VS5BdXRoRm9ybSx2YWx1ZTpKU09OLnN0cmluZ2lmeShpKX0pfSxvZz0oKT0+e0xvKFUuQXV0aEZvcm0pfSxzZz0oKT0+ISFBKE11KT8udmFyaWFibGVzPy5hdXRoZW50aWNhdGVkLGNnPSgpPT5BKE11KT8uZ2RwckFwcHJvdmVkfHwhMSxsZz0oKT0+e2xldHtpc1ByZXZpZXdNb2RlOmV9PVYuZ2V0T3B0aW9ucygpO2lmKGV8fEEocGQpfHxzZygpfHwhbmcoQShNdSkpKXJldHVybiExO2xldHtyZXF1aXJlTG9naW46dH09Vi5nZXRPcHRpb25zKCksbj1BKCR1KT09PUsuQWNjb3VudFN0YXR1cy5PZmZsaW5lLHI9QShVdSkubGVuZ3RoPjA7cmV0dXJuISF0fHxufHwhbiYmIXJ9LHVnPWFzeW5jIGU9PntsZXR7cHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1BKE11KSxyPW4/Lm5hbWU/P2UubmFtZSxpPW4/LmVtYWlsPz9lLmVtYWlsLGE9bj8ucGhvbmU/P2UucGhvbmUsbz1lLmdyb3VwPz9uPy5ncm91cCxzPWUucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQsYz17Li4uciYme25hbWU6cn0sLi4uaSYme2VtYWlsOml9LC4uLmEmJntwaG9uZTphfSwuLi5vJiZ7Z3JvdXA6b30sLi4ucyYmdCYme3BlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50OnN9fTthd2FpdCBxLmdldENsaWVudCgpLmF1dGhlbnRpY2F0ZShjKSxlaCgpLGF3YWl0IHVfKCksVmMoKX0sZGc9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGVtb2ppLW1hcnQvZGF0YWAsZmc9UmVnRXhwKGA6KFthLXpBLVowLTlfLV0rKTpgLGBnYCkscGc9bnVsbCxtZz1udWxsLGhnPW51bGwsZ2c9TyhbXSksX2c9YXN5bmMoKT0+cGd8fGhnfHwoaGc9ZmV0Y2goZGcpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+KHBnPWUsZSkpLmNhdGNoKGU9Pnt0aHJvdyB2byhgRmFpbGVkIHRvIGxvYWQgZW1vamkgZGF0YWAsZSksaGc9bnVsbCxlfSksaGcpLHZnPWU9Pk9iamVjdC52YWx1ZXMoZS5lbW9qaXMpLm1hcChlPT4oe2lkOmUuaWQsbmFtZTplLm5hbWUsbmF0aXZlOmUuc2tpbnNbMF0/Lm5hdGl2ZT8/YGAsa2V5d29yZHM6ZS5rZXl3b3Jkcz8/W119KSkseWc9e3N1YnNjcmliZTpnZy5zdWJzY3JpYmUsYXN5bmMgbG9hZFJhd0RhdGEoKXtyZXR1cm4gX2coKX0sYXN5bmMgbG9hZERhdGEoKXtyZXR1cm4gbWd8fChtZz12Zyhhd2FpdCBfZygpKSxnZy5zZXQobWcpLG1nKX0sZ2V0QnlJZChlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG1nPy5maW5kKGU9PmUuaWQudG9Mb3dlckNhc2UoKT09PXQpfSxpc0xvYWRlZCgpe3JldHVybiBtZyE9PW51bGx9fSxiZz1lPT55Zy5pc0xvYWRlZCgpP2UucmVwbGFjZShmZywoZSx0KT0+e2xldCBuPXlnLmdldEJ5SWQodCk7cmV0dXJuIG4/bi5uYXRpdmU6ZX0pOmUseGc9MjAsU2c9eyI6KSI6YPCfmYJgLCI6LSkiOmDwn5mCYCwiOkQiOmDwn5iAYCwiOi1EIjpg8J+YgGAsIjspIjpg8J+YiWAsIjstKSI6YPCfmIlgLCI8MyI6YOKdpO+4j2AsIjooIjpg8J+YnmAsIjotKCI6YPCfmJ5gLCI6UCI6YPCfmJtgLCI6LVAiOmDwn5ibYCwiOi1vIjpg8J+YrmAsIjpPIjpg8J+YrmAsIjovIjpg8J+YlWAsIjotLyI6YPCfmJVgfSxDZz1lPT57bGV0IHQ9YCgke2U/YCR8YDpgYH0gKWA7cmV0dXJuIG5ldyBSZWdFeHAoT2JqZWN0LmtleXMoU2cpLm1hcChlPT5gJHtlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLGBcXCQmYCl9JHt0fWApLmpvaW4oYHxgKSxgZ2lgKX0sd2c9KGUsdD0hMSk9PntsZXQgbj1DZyh0KTtyZXR1cm4gZS5yZXBsYWNlKG4sZT0+e2xldCB0PU9iamVjdC5rZXlzKFNnKS5maW5kKHQ9PmUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0KSk7aWYoIXQpcmV0dXJuIGU7bGV0IG49ZS5lbmRzV2l0aChgIGApP2AgYDpgYDtyZXR1cm5gJHtTZ1t0XX0ke259YH0pfSxUZz0oZSx0LG49eGcpPT57aWYoIWV8fGUubGVuZ3RoPDIpcmV0dXJuW107bGV0IHI9ZS50b0xvd2VyQ2FzZSgpLGk9W10sYT1bXSxvPVtdLHM9W107Zm9yKGxldCBlIG9mIHQpe2xldCB0PWUuaWQudG9Mb3dlckNhc2UoKSxuPWUubmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQuc3RhcnRzV2l0aChyKSl7aS5wdXNoKGUpO2NvbnRpbnVlfWlmKHQuaW5jbHVkZXMocikpe2EucHVzaChlKTtjb250aW51ZX1pZihuLmluY2x1ZGVzKHIpKXtvLnB1c2goZSk7Y29udGludWV9ZS5rZXl3b3Jkcy5zb21lKGU9PmUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJnMucHVzaChlKX1yZXR1cm5bLi4uaSwuLi5hLC4uLm8sLi4uc10uc2xpY2UoMCxuKX0sRWc9KGUsdCk9PntsZXQgbj1lLnNsaWNlKDAsdCkscj1uLmxhc3RJbmRleE9mKGA6YCk7aWYocj09PS0xKXJldHVybiBudWxsO2xldCBpPW4uc2xpY2UocisxKTtyZXR1cm4gUmVnRXhwKGBeW2EtekEtWjAtOV8tXSokYCkudGVzdChpKSYmaS5sZW5ndGg+PTI/aTpudWxsfSxEZz0oZSx0LG4pPT57bGV0IHI9ZS5zbGljZSgwLHQpLGk9ZS5zbGljZSh0KSxhPXIubGFzdEluZGV4T2YoYDpgKTtpZihhPT09LTEpcmV0dXJue25ld1RleHQ6ZSxuZXdDdXJzb3JQb3NpdGlvbjp0fTtsZXQgbz1lLnNsaWNlKDAsYSkscz1pLmxlbmd0aD09PTA/bitgIGA6bjtyZXR1cm57bmV3VGV4dDpvK3MraSxuZXdDdXJzb3JQb3NpdGlvbjphK3MubGVuZ3RofX0sT2c9KGUsdD0zMDApPT57bGV0IG47cmV0dXJuKC4uLnIpPT57Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoKT0+ZSguLi5yKSx0KX19LGtnPTNlMyxBZz1bYHNtYXJ0c3VwcC5kZXZgLGBzbWFydHN1cHBjaGF0LmxvY2BdLGpnPWZ1bmN0aW9uKGUpe3JldHVybiBlLkRlZmF1bHQ9YGJsYWNrYmVycnkyLm1wM2AsZX0oe30pLE1nPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbm5lY3Rpbmc9YGNvbm5lY3RpbmdgLGUuQ29ubmVjdGVkPWBjb25uZWN0ZWRgLGUuRGlzY29ubmVjdGVkPWBkaXNjb25uZWN0ZWRgLGV9KHt9KSxOZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5JbWFnZT1gaW1hZ2VgLGUuVmlkZW89YHZpZGVvYCxlfSh7fSksUGc9TyghMSksRmc9TyghMSksSWc9TyghMSk7QigpLmFkZEV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLCgpPT5QZy5zZXQoITApKSxCKCkuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCwoKT0+UGcuc2V0KCExKSk7dmFyIExnPWsoW2RsLFBnLElnXSwoW2UsdCxuXSk9Pm4/TWcuQ29ubmVjdGVkOiFlfHx0P01nLkRpc2Nvbm5lY3RlZDpNZy5Db25uZWN0ZWQsTWcuQ29ubmVjdGluZyksUmcsemc9T2coZT0+e2UmJiFSZyYmKFJnPV9zKEEoVykoYGVycm9yLm5vSW50ZXJuZXRgKSwwKSksIWUmJlJnJiYoUmcoKSxSZz12b2lkIDApfSxrZyk7TGcuc3Vic2NyaWJlKGU9PntlPT09TWcuRGlzY29ubmVjdGVkJiYoRmcuc2V0KCEwKSx6ZyghMCkpLGU9PT1NZy5Db25uZWN0ZWQmJihGZy5zZXQoITEpLHpnKCExKSl9KTt2YXIgQmc9KGUsdCxuKT0+ZT09PU1nLkRpc2Nvbm5lY3RlZHx8IXR8fG4sVmc9KCk9PkJnKEEoTGcpLEEoSHApLEEoWHUpLmRpc2FibGVBdHRhY2htZW50cyksSGc9TyghMSksVWc9ZT0+e2lmKEEoSGcpKXtIKGBUaGVyZSBpcyBhbHJlYWR5IGZpbGUgdXBsb2FkIGluIHByb2dyZXNzYCk7cmV0dXJufWlmKGUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9V2coZSk7dC5sZW5ndGg+MCYmWWwuYWRkKHQpfSxXZz1lPT5lLmxlbmd0aD41PyhncyhgJHtBKFcpKGBmaWxlVXBsb2FkLnRvb01hbnlGaWxlc2ApfSA1YCksW10pOmUuZmlsdGVyKGU9PkdnKGUpKSxHZz1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dCxhY2NlcHRlZEZpbGVUeXBlczpuLG1heEZpbGVTaXplOnJ9PUEoYmwpO2lmKCFlKXJldHVybiExO2xldCBpPXQuaW5jbHVkZXMoQ2QoZS5uYW1lKSksYT1uLnNvbWUodD0+dD09PWUudHlwZSk7aWYoVmcoKSlyZXR1cm4gSChgRmlsZSB1cGxvYWQgaXMgZGlzYWJsZWRgKSwhMTtpZighQShIcCkpcmV0dXJuIGdzKEEoVykoYHdhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0YCkpLCExO2lmKGUuc2l6ZT5yKXtsZXQgZT13ZChyKTtyZXR1cm4gZ3MoYCR7QShXKShgZmlsZVVwbG9hZC5maWxlVG9vQmlnYCl9ICR7ZS5zaXplfSAke2UudW5pdH1gKSwhMX1yZXR1cm4gaXx8YT8hMDooZ3MoQShXKShgZmlsZVVwbG9hZC5iYWRGaWxlVHlwZWApKSwhMSl9LEtnPSgpPT5ZbC5jb3VudCgpPT09MD9bXTooWWwuc2V0VXBsb2FkaW5nU3RhdHVzKCksRGQoQShZbCksZT0+WWwuc2V0RmlsZVVwbG9hZGVkKGUubmFtZSkpKSxxZz0xMCxKZz0xZTQsWWc9M2U0LFhnPTIwLFpnPWU9PntpZihlLmxlbmd0aD4wJiZlLmxlbmd0aCVxZz09PTApe2xldCB0PWUuc2xpY2UoLXFnKSxuPW5ldyBEYXRlKGVbZS5sZW5ndGgtMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCk7aWYobmV3IERhdGUoKS5nZXRUaW1lKCktbj5ZZ3x8IXQuZXZlcnkoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KSlyZXR1cm4hMTtpZihuLW5ldyBEYXRlKHRbMF0uY3JlYXRlZEF0KS5nZXRUaW1lKCk8SmcpcmV0dXJuITB9cmV0dXJuITF9LFFnPWU9PntsZXQgdD1qZihlKTtyZXR1cm4gdD90Lmxlbmd0aD5YZzohMX0sJGc9TygpLGVfPU8oITEpLHRfPU8oKSxuXz0yMDAscl89TyghMSksaV89ayhbJGddLChbZV0pPT5lPT09dm9pZCAwP3pvKFUuTWVzc2FnZSk/P2BgOmUpLGFfPWsoW2lfXSwoW2VdKT0+ZS50cmltKCkubGVuZ3RoPT09MCksb189ZT0+eyRnLnNldChiZyh3ZyhlKSkpfSxzXz0oZSx0KT0+e2xldCBuPUEoaV8pPz9gYCxyPWAke24uc2xpY2UoMCx0KX0ke2V9JHtuLnNsaWNlKHQpfWA7JGcuc2V0KHIpfSxjXz0oKT0+e0EoZV8pfHwocS5nZXRDbGllbnQoKS5jaGF0VHlwaW5nKCEwKSxlXy5zZXQoITApKX0sbF89KCk9PntBKGVfKSYmKHEuZ2V0Q2xpZW50KCkuY2hhdFR5cGluZyghMSksZV8uc2V0KCExKSl9LHVfPWFzeW5jKGU9W10pPT57aWYoQShhXykmJmUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9Ymcod2coQShpXyksITApKS50cmltKCk7YXdhaXQgSi5zZW5kTWVzc2FnZSh0LGUpLG9fKGBgKSxsXygpLHJfLnNldCghMCksZ2QoKX0sZF89T2coYXN5bmMoKT0+e2xldCBlPVlsLmNvdW50KCk+MDtpZihBKGFfKSYmIWUpcmV0dXJuO2lmKCFBKFgpJiZsZygpJiZVXygpLGZfKCkmJiFlKXtfcyhBKFcpKGB3YXJuaW5nQmFyLnNhbWVNZXNzYWdlVHdpY2VgKSk7cmV0dXJufWlmKFpnKEEoUnApKSl7X3MoQShXKShgd2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbmApKTtyZXR1cm59aWYoQShIZykpe2pvKEEoVykoYGNoYXQuZmlsZVVwbG9hZC5lcnJvci5zdGlsbFVwbG9hZGluZ2ApKTtyZXR1cm59aWYoQShVZikpe19zKEEoVykoYGNhcmQuc2VuZGluZ0luUHJvZ3Jlc3NgKSk7cmV0dXJufWlmKFFnKEEoaV8pKSl7X3MoQShXKShgY2FyZC5saW5rc0xpbWl0UmVhY2hlZGApKTtyZXR1cm59aWYobGcoKSl7QmMoSGMuQXV0aEZvcm0pO3JldHVybn1sZXQgdD1bXTtlJiYoSGcuc2V0KCEwKSx0PWF3YWl0IEtnKCksWWwuY2xlYXIoKSxIZy5zZXQoITEpKSxhd2FpdCB1Xyh0KX0sbl8pLGZfPSgpPT57bGV0IGU9QShHcCksdD1BKEtwKSxuPUEoaV8pLnRyaW0oKTtyZXR1cm4gZSYmbj09PWUuY29udGVudC50ZXh0fHx0JiZuPT09dH0scF89ZT0+e2xldCB0PSgpPT57X2QoKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpKSl9LG1fPWU9PntsZXQgdD0oKT0+e0EoWCkmJldfKCEwKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCx0KSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBjMDZkNDVjMzNlMDk5OGVmMmQzMDQ2MmZiNTc4Nzk2MzNjMWRmNWNhYCxlLmNvbW1pdEluZm89YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2EgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1MiBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0wNyAxMDoyMjoyOCArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+ZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiYhW0cuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50Sm9pbixHLk1lc3NhZ2VDb250ZW50VHlwZS5BZ2VudExlYXZlLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50QXNzaWduLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50VW5hc3NpZ25dLmluY2x1ZGVzKGUuY29udGVudC50eXBlKSx2Xz1lPT57cS5pc0luaXRpYWxpemVkKCkmJnEuZ2V0Q2xpZW50KCkubm90aWZ5KGUpfSx5Xz0oKT0+e1YuZ2V0T3B0aW9ucygpLmlzUHJldmlld01vZGV8fHZfKEsuV2Vic29ja2V0VmlzaXRvckNsaWVudC5FdmVudE5hbWUuV2lkZ2V0T3Blbil9LGJfPSgpPT52XyhLLldlYnNvY2tldFZpc2l0b3JDbGllbnQuRXZlbnROYW1lLldpZGdldFNob3cpLHhfPSgpPT5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAsU189KCk9PntpZihBKHNzKSl7VF8uc2V0KCEwKTtsZXQgZT1CKCk7ZS5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLGUubG9jYXRpb24uaHJlZil9fSxDXz1PKCExKSx3Xz1PKCExKSxUXz1PKCExKSxFXz1lPT4hIUFnLmZpbmQodD0+ZS5pbmNsdWRlcyh0KSksRF89TyghMCk7Vi5hd2FpdE9wdGlvbnMoKS50aGVuKGU9PntsZXQgdD16byhVLlNvdW5kc0VuYWJsZWQpO3Q/RF8uc2V0KHQ9PT1gdHJ1ZWApOnR5cGVvZiBlLmVuYWJsZVNvdW5kcz09YGJvb2xlYW5gJiZEXy5zZXQoZS5lbmFibGVTb3VuZHMpLHdfLnNldChFXyhlLmJvb3RzdHJhcFVybCkpfSk7dmFyIE9fPWU9PntEXy5zZXQoZSksQm8oe25hbWU6VS5Tb3VuZHNFbmFibGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLGUmJmJwKCl9LGtfPU8oeF8oKSksQV89T2coKCk9PmtfLnNldCh4XygpKSw1MDApO0IoKS5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCwoKT0+e0FfKCl9KTt2YXIgal89TygwKSxNXz0oKT0+al8udXBkYXRlKGU9PmUrMSksTl89TyghMCksUF89KGUsdCk9Pih2byhgd2lkZ2V0IHZpc2libGU6ICR7U3RyaW5nKHQpfSA9PiByZWFzb246ICR7ZX1gKSx0JiZ0IT09QShSXykmJmJfKCksdCksRl89TygpLElfPSgpPT5GXy5zZXQoITApLExfPSgpPT5GXy5zZXQoITEpLFJfPWsoW011LHNzLEZfLGVkLG9kLGsoWyR1LFJwLGFfLG9kXSwoW2UsdCxuLHJdKT0+e2xldHtoaWRlT2ZmbGluZUNoYXQ6aSxpc1ByZXZpZXdNb2RlOmF9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJiEhaSYmU3AodCkubGVuZ3RoPT09MCYmbiYmIXImJiFhfSldLChbZSx0LG4scixpLGFdKT0+e2xldHtoaWRlTW9iaWxlV2lkZ2V0Om8saGlkZVdpZGdldDpzfT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZT8uYmFubmVkQXQ/UF8oYHZpc2l0b3IgaXMgYmFubmVkYCwhMSk6dCYmbz9QXyhgb3B0aW9uICdoaWRlTW9iaWxlV2lkZ2V0JyBpcyB0cnVlYCwhMSk6dHlwZW9mIG49PWBib29sZWFuYD9QXyhgc2V0IGJ5IEFQSSBjb21tYW5kYCxuKTpyJiYhaT9QXyhgY2hhdCBzdGF0dXMgaXMgbm90IHBlbmRpbmdgLCEwKTphP1BfKGBvcHRpb24gJ2hpZGVPZmZsaW5lQ2hhdCcgaXMgdHJ1ZWAsITEpOlBfKGBvcHRpb24gJ2hpZGVXaWRnZXQnIGlzICR7U3RyaW5nKHMpfWAsIXMpfSksel89ayhbc3NdLChbZV0pPT57bGV0e29wZW5PblRyaWdnZXI6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIHQmJiFlfSksQl89W10sVl89ZT0+KEJfLnB1c2goZSksKCk9PntsZXQgdD1CXy5pbmRleE9mKGUpO3QhPT0tMSYmQl8uc3BsaWNlKHQsMSl9KSxIXz0oKT0+Ql8ubGVuZ3RoPT09MD8hMTooQl8ucG9wKCkoKSwhMCksWD1ycyhVLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQsITEsZT0+IUEoc3MpJiZlPT09YHRydWVgKSxVXz0oZT0hMSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpO3Q/LmRpc2FibGVPcGVuTWVzc2VuZ2VyJiYhZXx8KGNoKCksU18oKSxYLnNldCghMCksZXYoKSxDaCgpLHlfKCkpfSxXXz1lPT57aWYoQShzcykmJkEoVF8pJiYhZSlyZXR1cm4gVF8uc2V0KCExKSxCKCkuaGlzdG9yeS5iYWNrKCk7ei5lbWl0KGBtZXNzZW5nZXJDbG9zZWAsITApLFguc2V0KCExKX0sR189ZT0+e2lmKCFlKXJldHVybjtsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpLG49ZT0+e2lmKGUua2V5PT09VGguRXNjYXBlKXtpZihIXygpfHx0Py5kaXNhYmxlQ2xvc2VCdXR0b24pcmV0dXJuO1dfKCl9fSxyPWUub3duZXJEb2N1bWVudDtyZXR1cm4gci5hZGRFdmVudExpc3RlbmVyKGBrZXlkb3duYCxuLCEwKSx7ZGVzdHJveSgpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihga2V5ZG93bmAsbiwhMCl9fX0sS189ayhbQ18sUl8sWF0sKFtlLHQsbl0pPT5lJiZ0JiZuKTtmdW5jdGlvbiBxXygpe2xldCBlPU8oITEpLHtzdWJzY3JpYmU6dH09ZSxuPW51bGw7cmV0dXJue3N1YnNjcmliZTp0LGhhbmRsZURyYWdPdmVyOih0LHI9ITApPT57ciYmdC5wcmV2ZW50RGVmYXVsdCgpLEEoZSl8fGUuc2V0KCEwKSxuJiZjbGVhclRpbWVvdXQobiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2Uuc2V0KCExKX0sMjAwKX0saGFuZGxlRHJvcDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpLG4mJmNsZWFyVGltZW91dChuKSxlLnNldCghMSk7bGV0IHI9dC5kYXRhVHJhbnNmZXI/LmZpbGVzP1suLi50LmRhdGFUcmFuc2Zlci5maWxlc106W107cmV0dXJuIHIubGVuZ3RoPT09MCYmX3MoYERyb3BwZWQgaXRlbShzKSBhcmUgbm90IHByb2Nlc3NhYmxlIGZpbGVzYCkse2Ryb3BwZWRGaWxlczpyfX19fXZhciBKXz1xXygpLFlfPWsoW0NfLFJfLFhdLChbZSx0LG5dKT0+ZSYmdCYmIW4pLFhfPU8oITEpLFpfPU8oITEpLFFfPSgpPT57WF8uc2V0KCEwKSxaXy5zZXQoITEpfSwkXz0oKT0+e1pfLnNldCghMCksWF8uc2V0KCExKX0sZXY9KGU9ITEpPT57Wl8uc2V0KCExKSxlJiZCbyh7bmFtZTpVLlBvcHVwQ2xvc2VkQXQsdmFsdWU6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9LHR2PWsoW3NzXSwoW2VdKT0+e2xldHttb2JpbGVQb3B1cHNFbmFibGVkOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPyEhdDohMH0pLG52PWsoW05wXSwoW2VdKT0+e2xldCB0PXpvKFUuUG9wdXBDbG9zZWRBdCk/P251bGw7cmV0dXJuIXR8fCFlPyEwOm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCk+bmV3IERhdGUodCkuZ2V0VGltZSgpfSkscnY9ayhbQ18sUl8sWF8sWCx0dl0sKFtlLHQsbixyLGldKT0+ZSYmdCYmbiYmIXImJmkpLGl2PWsoW0NfLFJfLFpfLFgsTnAsbnYsdHYsV2ZdLChbZSx0LG4scixpLGEsbyxzXSk9PmUmJnQmJm4mJmkmJmEmJiFyJiZvJiYhcyksYXY9e3doaXRlOmAjZmZmZmZmYCxzbGF0ZTEwMDpgI2YxZjVmOWAsc2xhdGUyMDA6YCNlMmU4ZjBgLHNsYXRlMzAwOmAjY2JkNWUxYCxzbGF0ZTkwMDpgIzBmMTcyYWAsYmx1ZTcwMDpgIzFkNGVkOGAsc21hcnRzdXBwQmx1ZTpgIzEyMzNkZmB9O2Z1bmN0aW9uIFooZSx0KXtzdihlKSYmKGU9YDEwMCVgKTtsZXQgbj1jdihlKTtyZXR1cm4gZT10PT09MzYwP2U6TWF0aC5taW4odCxNYXRoLm1heCgwLHBhcnNlRmxvYXQoZSkpKSxuJiYoZT1wYXJzZUludChTdHJpbmcoZSp0KSwxMCkvMTAwKSxNYXRoLmFicyhlLXQpPDFlLTY/MTooZT10PT09MzYwPyhlPDA/ZSV0K3Q6ZSV0KS9wYXJzZUZsb2F0KFN0cmluZyh0KSk6ZSV0L3BhcnNlRmxvYXQoU3RyaW5nKHQpKSxlKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gTWF0aC5taW4oMSxNYXRoLm1heCgwLGUpKX1mdW5jdGlvbiBzdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYC5gKSE9PS0xJiZwYXJzZUZsb2F0KGUpPT09MX1mdW5jdGlvbiBjdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYCVgKSE9PS0xfWZ1bmN0aW9uIGx2KGUpe3JldHVybiBlPXBhcnNlRmxvYXQoZSksKGlzTmFOKGUpfHxlPDB8fGU+MSkmJihlPTEpLGV9ZnVuY3Rpb24gdXYoZSl7cmV0dXJuIE51bWJlcihlKTw9MT9gJHtOdW1iZXIoZSkqMTAwfSVgOmV9ZnVuY3Rpb24gZHYoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9gMGArZTpTdHJpbmcoZSl9ZnVuY3Rpb24gZnYoZSx0LG4pe3JldHVybntyOlooZSwyNTUpKjI1NSxnOloodCwyNTUpKjI1NSxiOloobiwyNTUpKjI1NX19ZnVuY3Rpb24gcHYoZSx0LG4pe2U9WihlLDI1NSksdD1aKHQsMjU1KSxuPVoobiwyNTUpO2xldCByPU1hdGgubWF4KGUsdCxuKSxpPU1hdGgubWluKGUsdCxuKSxhPTAsbz0wLHM9KHIraSkvMjtpZihyPT09aSlvPTAsYT0wO2Vsc2V7bGV0IGM9ci1pO3N3aXRjaChvPXM+LjU/Yy8oMi1yLWkpOmMvKHIraSkscil7Y2FzZSBlOmE9KHQtbikvYysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvYysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL2MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOm8sbDpzfX1mdW5jdGlvbiBtdihlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmLS1uLG48MS82P2UrKHQtZSkqKDYqbik6bjwxLzI/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWZ1bmN0aW9uIGh2KGUsdCxuKXtsZXQgcixpLGE7aWYoZT1aKGUsMzYwKSx0PVoodCwxMDApLG49WihuLDEwMCksdD09PTApaT1uLGE9bixyPW47ZWxzZXtsZXQgbz1uPC41P24qKDErdCk6bit0LW4qdCxzPTIqbi1vO3I9bXYocyxvLGUrMS8zKSxpPW12KHMsbyxlKSxhPW12KHMsbyxlLTEvMyl9cmV0dXJue3I6cioyNTUsZzppKjI1NSxiOmEqMjU1fX1mdW5jdGlvbiBndihlLHQsbil7ZT1aKGUsMjU1KSx0PVoodCwyNTUpLG49WihuLDI1NSk7bGV0IHI9TWF0aC5tYXgoZSx0LG4pLGk9TWF0aC5taW4oZSx0LG4pLGE9MCxvPXIscz1yLWksYz1yPT09MD8wOnMvcjtpZihyPT09aSlhPTA7ZWxzZXtzd2l0Y2gocil7Y2FzZSBlOmE9KHQtbikvcysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvcysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL3MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOmMsdjpvfX1mdW5jdGlvbiBfdihlLHQsbil7ZT1aKGUsMzYwKSo2LHQ9Wih0LDEwMCksbj1aKG4sMTAwKTtsZXQgcj1NYXRoLmZsb29yKGUpLGk9ZS1yLGE9biooMS10KSxvPW4qKDEtaSp0KSxzPW4qKDEtKDEtaSkqdCksYz1yJTYsbD1bbixvLGEsYSxzLG5dW2NdLHU9W3MsbixuLG8sYSxhXVtjXSxkPVthLGEscyxuLG4sb11bY107cmV0dXJue3I6bCoyNTUsZzp1KjI1NSxiOmQqMjU1fX1mdW5jdGlvbiB2dihlLHQsbixyKXtsZXQgaT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSldO3JldHVybiByJiZpWzBdLnN0YXJ0c1dpdGgoaVswXS5jaGFyQXQoMSkpJiZpWzFdLnN0YXJ0c1dpdGgoaVsxXS5jaGFyQXQoMSkpJiZpWzJdLnN0YXJ0c1dpdGgoaVsyXS5jaGFyQXQoMSkpP2lbMF0uY2hhckF0KDApK2lbMV0uY2hhckF0KDApK2lbMl0uY2hhckF0KDApOmkuam9pbihgYCl9ZnVuY3Rpb24geXYoZSx0LG4scixpKXtsZXQgYT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSksZHYoU3YocikpXTtyZXR1cm4gaSYmYVswXS5zdGFydHNXaXRoKGFbMF0uY2hhckF0KDEpKSYmYVsxXS5zdGFydHNXaXRoKGFbMV0uY2hhckF0KDEpKSYmYVsyXS5zdGFydHNXaXRoKGFbMl0uY2hhckF0KDEpKSYmYVszXS5zdGFydHNXaXRoKGFbM10uY2hhckF0KDEpKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKSthWzNdLmNoYXJBdCgwKTphLmpvaW4oYGApfWZ1bmN0aW9uIGJ2KGUsdCxuLHIpe2xldCBpPWUvMTAwLGE9dC8xMDAsbz1uLzEwMCxzPXIvMTAwO3JldHVybntyOjI1NSooMS1pKSooMS1zKSxnOjI1NSooMS1hKSooMS1zKSxiOjI1NSooMS1vKSooMS1zKX19ZnVuY3Rpb24geHYoZSx0LG4pe2xldCByPTEtZS8yNTUsaT0xLXQvMjU1LGE9MS1uLzI1NSxvPU1hdGgubWluKHIsaSxhKTtyZXR1cm4gbz09PTE/KHI9MCxpPTAsYT0wKToocj0oci1vKS8oMS1vKSoxMDAsaT0oaS1vKS8oMS1vKSoxMDAsYT0oYS1vKS8oMS1vKSoxMDApLG8qPTEwMCx7YzpNYXRoLnJvdW5kKHIpLG06TWF0aC5yb3VuZChpKSx5Ok1hdGgucm91bmQoYSksazpNYXRoLnJvdW5kKG8pfX1mdW5jdGlvbiBTdihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKjI1NSkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEN2KGUpe3JldHVybiB3dihlKS8yNTV9ZnVuY3Rpb24gd3YoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybntyOmU+PjE2LGc6KGUmNjUyODApPj44LGI6ZSYyNTV9fXZhciBFdj17YWxpY2VibHVlOmAjZjBmOGZmYCxhbnRpcXVld2hpdGU6YCNmYWViZDdgLGFxdWE6YCMwMGZmZmZgLGFxdWFtYXJpbmU6YCM3ZmZmZDRgLGF6dXJlOmAjZjBmZmZmYCxiZWlnZTpgI2Y1ZjVkY2AsYmlzcXVlOmAjZmZlNGM0YCxibGFjazpgIzAwMDAwMGAsYmxhbmNoZWRhbG1vbmQ6YCNmZmViY2RgLGJsdWU6YCMwMDAwZmZgLGJsdWV2aW9sZXQ6YCM4YTJiZTJgLGJyb3duOmAjYTUyYTJhYCxidXJseXdvb2Q6YCNkZWI4ODdgLGNhZGV0Ymx1ZTpgIzVmOWVhMGAsY2hhcnRyZXVzZTpgIzdmZmYwMGAsY2hvY29sYXRlOmAjZDI2OTFlYCxjb3JhbDpgI2ZmN2Y1MGAsY29ybmZsb3dlcmJsdWU6YCM2NDk1ZWRgLGNvcm5zaWxrOmAjZmZmOGRjYCxjcmltc29uOmAjZGMxNDNjYCxjeWFuOmAjMDBmZmZmYCxkYXJrYmx1ZTpgIzAwMDA4YmAsZGFya2N5YW46YCMwMDhiOGJgLGRhcmtnb2xkZW5yb2Q6YCNiODg2MGJgLGRhcmtncmF5OmAjYTlhOWE5YCxkYXJrZ3JlZW46YCMwMDY0MDBgLGRhcmtncmV5OmAjYTlhOWE5YCxkYXJra2hha2k6YCNiZGI3NmJgLGRhcmttYWdlbnRhOmAjOGIwMDhiYCxkYXJrb2xpdmVncmVlbjpgIzU1NmIyZmAsZGFya29yYW5nZTpgI2ZmOGMwMGAsZGFya29yY2hpZDpgIzk5MzJjY2AsZGFya3JlZDpgIzhiMDAwMGAsZGFya3NhbG1vbjpgI2U5OTY3YWAsZGFya3NlYWdyZWVuOmAjOGZiYzhmYCxkYXJrc2xhdGVibHVlOmAjNDgzZDhiYCxkYXJrc2xhdGVncmF5OmAjMmY0ZjRmYCxkYXJrc2xhdGVncmV5OmAjMmY0ZjRmYCxkYXJrdHVycXVvaXNlOmAjMDBjZWQxYCxkYXJrdmlvbGV0OmAjOTQwMGQzYCxkZWVwcGluazpgI2ZmMTQ5M2AsZGVlcHNreWJsdWU6YCMwMGJmZmZgLGRpbWdyYXk6YCM2OTY5NjlgLGRpbWdyZXk6YCM2OTY5NjlgLGRvZGdlcmJsdWU6YCMxZTkwZmZgLGZpcmVicmljazpgI2IyMjIyMmAsZmxvcmFsd2hpdGU6YCNmZmZhZjBgLGZvcmVzdGdyZWVuOmAjMjI4YjIyYCxmdWNoc2lhOmAjZmYwMGZmYCxnYWluc2Jvcm86YCNkY2RjZGNgLGdob3N0d2hpdGU6YCNmOGY4ZmZgLGdvbGRlbnJvZDpgI2RhYTUyMGAsZ29sZDpgI2ZmZDcwMGAsZ3JheTpgIzgwODA4MGAsZ3JlZW46YCMwMDgwMDBgLGdyZWVueWVsbG93OmAjYWRmZjJmYCxncmV5OmAjODA4MDgwYCxob25leWRldzpgI2YwZmZmMGAsaG90cGluazpgI2ZmNjliNGAsaW5kaWFucmVkOmAjY2Q1YzVjYCxpbmRpZ286YCM0YjAwODJgLGl2b3J5OmAjZmZmZmYwYCxraGFraTpgI2YwZTY4Y2AsbGF2ZW5kZXJibHVzaDpgI2ZmZjBmNWAsbGF2ZW5kZXI6YCNlNmU2ZmFgLGxhd25ncmVlbjpgIzdjZmMwMGAsbGVtb25jaGlmZm9uOmAjZmZmYWNkYCxsaWdodGJsdWU6YCNhZGQ4ZTZgLGxpZ2h0Y29yYWw6YCNmMDgwODBgLGxpZ2h0Y3lhbjpgI2UwZmZmZmAsbGlnaHRnb2xkZW5yb2R5ZWxsb3c6YCNmYWZhZDJgLGxpZ2h0Z3JheTpgI2QzZDNkM2AsbGlnaHRncmVlbjpgIzkwZWU5MGAsbGlnaHRncmV5OmAjZDNkM2QzYCxsaWdodHBpbms6YCNmZmI2YzFgLGxpZ2h0c2FsbW9uOmAjZmZhMDdhYCxsaWdodHNlYWdyZWVuOmAjMjBiMmFhYCxsaWdodHNreWJsdWU6YCM4N2NlZmFgLGxpZ2h0c2xhdGVncmF5OmAjNzc4ODk5YCxsaWdodHNsYXRlZ3JleTpgIzc3ODg5OWAsbGlnaHRzdGVlbGJsdWU6YCNiMGM0ZGVgLGxpZ2h0eWVsbG93OmAjZmZmZmUwYCxsaW1lOmAjMDBmZjAwYCxsaW1lZ3JlZW46YCMzMmNkMzJgLGxpbmVuOmAjZmFmMGU2YCxtYWdlbnRhOmAjZmYwMGZmYCxtYXJvb246YCM4MDAwMDBgLG1lZGl1bWFxdWFtYXJpbmU6YCM2NmNkYWFgLG1lZGl1bWJsdWU6YCMwMDAwY2RgLG1lZGl1bW9yY2hpZDpgI2JhNTVkM2AsbWVkaXVtcHVycGxlOmAjOTM3MGRiYCxtZWRpdW1zZWFncmVlbjpgIzNjYjM3MWAsbWVkaXVtc2xhdGVibHVlOmAjN2I2OGVlYCxtZWRpdW1zcHJpbmdncmVlbjpgIzAwZmE5YWAsbWVkaXVtdHVycXVvaXNlOmAjNDhkMWNjYCxtZWRpdW12aW9sZXRyZWQ6YCNjNzE1ODVgLG1pZG5pZ2h0Ymx1ZTpgIzE5MTk3MGAsbWludGNyZWFtOmAjZjVmZmZhYCxtaXN0eXJvc2U6YCNmZmU0ZTFgLG1vY2Nhc2luOmAjZmZlNGI1YCxuYXZham93aGl0ZTpgI2ZmZGVhZGAsbmF2eTpgIzAwMDA4MGAsb2xkbGFjZTpgI2ZkZjVlNmAsb2xpdmU6YCM4MDgwMDBgLG9saXZlZHJhYjpgIzZiOGUyM2Asb3JhbmdlOmAjZmZhNTAwYCxvcmFuZ2VyZWQ6YCNmZjQ1MDBgLG9yY2hpZDpgI2RhNzBkNmAscGFsZWdvbGRlbnJvZDpgI2VlZThhYWAscGFsZWdyZWVuOmAjOThmYjk4YCxwYWxldHVycXVvaXNlOmAjYWZlZWVlYCxwYWxldmlvbGV0cmVkOmAjZGI3MDkzYCxwYXBheWF3aGlwOmAjZmZlZmQ1YCxwZWFjaHB1ZmY6YCNmZmRhYjlgLHBlcnU6YCNjZDg1M2ZgLHBpbms6YCNmZmMwY2JgLHBsdW06YCNkZGEwZGRgLHBvd2RlcmJsdWU6YCNiMGUwZTZgLHB1cnBsZTpgIzgwMDA4MGAscmViZWNjYXB1cnBsZTpgIzY2MzM5OWAscmVkOmAjZmYwMDAwYCxyb3N5YnJvd246YCNiYzhmOGZgLHJveWFsYmx1ZTpgIzQxNjllMWAsc2FkZGxlYnJvd246YCM4YjQ1MTNgLHNhbG1vbjpgI2ZhODA3MmAsc2FuZHlicm93bjpgI2Y0YTQ2MGAsc2VhZ3JlZW46YCMyZThiNTdgLHNlYXNoZWxsOmAjZmZmNWVlYCxzaWVubmE6YCNhMDUyMmRgLHNpbHZlcjpgI2MwYzBjMGAsc2t5Ymx1ZTpgIzg3Y2VlYmAsc2xhdGVibHVlOmAjNmE1YWNkYCxzbGF0ZWdyYXk6YCM3MDgwOTBgLHNsYXRlZ3JleTpgIzcwODA5MGAsc25vdzpgI2ZmZmFmYWAsc3ByaW5nZ3JlZW46YCMwMGZmN2ZgLHN0ZWVsYmx1ZTpgIzQ2ODJiNGAsdGFuOmAjZDJiNDhjYCx0ZWFsOmAjMDA4MDgwYCx0aGlzdGxlOmAjZDhiZmQ4YCx0b21hdG86YCNmZjYzNDdgLHR1cnF1b2lzZTpgIzQwZTBkMGAsdmlvbGV0OmAjZWU4MmVlYCx3aGVhdDpgI2Y1ZGViM2Asd2hpdGU6YCNmZmZmZmZgLHdoaXRlc21va2U6YCNmNWY1ZjVgLHllbGxvdzpgI2ZmZmYwMGAseWVsbG93Z3JlZW46YCM5YWNkMzJgfTtmdW5jdGlvbiBEdihlKXtsZXQgdD17cjowLGc6MCxiOjB9LG49MSxyPW51bGwsaT1udWxsLGE9bnVsbCxvPSExLHM9ITE7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmKGU9TXYoZSkpLHR5cGVvZiBlPT1gb2JqZWN0YCYmKE52KGUucikmJk52KGUuZykmJk52KGUuYik/KHQ9ZnYoZS5yLGUuZyxlLmIpLG89ITAscz1TdHJpbmcoZS5yKS5zdWJzdHIoLTEpPT09YCVgP2BwcmdiYDpgcmdiYCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS52KT8ocj11dihlLnMpLGk9dXYoZS52KSx0PV92KGUuaCxyLGkpLG89ITAscz1gaHN2YCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS5sKT8ocj11dihlLnMpLGE9dXYoZS5sKSx0PWh2KGUuaCxyLGEpLG89ITAscz1gaHNsYCk6TnYoZS5jKSYmTnYoZS5tKSYmTnYoZS55KSYmTnYoZS5rKSYmKHQ9YnYoZS5jLGUubSxlLnksZS5rKSxvPSEwLHM9YGNteWtgKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxgYWApJiYobj1lLmEpKSxuPWx2KG4pLHtvazpvLGZvcm1hdDplLmZvcm1hdHx8cyxyOk1hdGgubWluKDI1NSxNYXRoLm1heCh0LnIsMCkpLGc6TWF0aC5taW4oMjU1LE1hdGgubWF4KHQuZywwKSksYjpNYXRoLm1pbigyNTUsTWF0aC5tYXgodC5iLDApKSxhOm59fXZhciBPdj1gKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pYCxrdj1gW1xcc3xcXChdKyhgK092K2ApWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlcXHMqXFwpP2AsQXY9YFtcXHN8XFwoXSsoYCtPditgKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlbLHxcXHNdKygoPzpbLVxcK10/XFxkKlxcLlxcZCslPyl8KD86Wy1cXCtdP1xcZCslPykpWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVxccypcXCk/YCxqdj17Q1NTX1VOSVQ6bmV3IFJlZ0V4cChPdikscmdiOlJlZ0V4cChgcmdiYCtrdikscmdiYTpSZWdFeHAoYHJnYmFgK0F2KSxoc2w6UmVnRXhwKGBoc2xgK2t2KSxoc2xhOlJlZ0V4cChgaHNsYWArQXYpLGhzdjpSZWdFeHAoYGhzdmAra3YpLGhzdmE6UmVnRXhwKGBoc3ZhYCtBdiksY215azpSZWdFeHAoYGNteWtgK0F2KSxoZXgzOi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxoZXg2Oi9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxoZXg0Oi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4ODovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvfTtmdW5jdGlvbiBNdihlKXtpZihlPWUudHJpbSgpLnRvTG93ZXJDYXNlKCksZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCB0PSExO2lmKEV2W2VdKWU9RXZbZV0sdD0hMDtlbHNlIGlmKGU9PT1gdHJhbnNwYXJlbnRgKXJldHVybntyOjAsZzowLGI6MCxhOjAsZm9ybWF0OmBuYW1lYH07bGV0IG49anYucmdiLmV4ZWMoZSk7cmV0dXJuIG4/e3I6blsxXSxnOm5bMl0sYjpuWzNdfToobj1qdi5yZ2JhLmV4ZWMoZSksbj97cjpuWzFdLGc6blsyXSxiOm5bM10sYTpuWzRdfToobj1qdi5oc2wuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLGw6blszXX06KG49anYuaHNsYS5leGVjKGUpLG4/e2g6blsxXSxzOm5bMl0sbDpuWzNdLGE6bls0XX06KG49anYuaHN2LmV4ZWMoZSksbj97aDpuWzFdLHM6blsyXSx2Om5bM119OihuPWp2LmhzdmEuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLHY6blszXSxhOm5bNF19OihuPWp2LmNteWsuZXhlYyhlKSxuP3tjOm5bMV0sbTpuWzJdLHk6blszXSxrOm5bNF19OihuPWp2LmhleDguZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxhOkN2KG5bNF0pLGZvcm1hdDp0P2BuYW1lYDpgaGV4OGB9OihuPWp2LmhleDYuZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxmb3JtYXQ6dD9gbmFtZWA6YGhleGB9OihuPWp2LmhleDQuZXhlYyhlKSxuP3tyOnd2KG5bMV0rblsxXSksZzp3dihuWzJdK25bMl0pLGI6d3YoblszXStuWzNdKSxhOkN2KG5bNF0rbls0XSksZm9ybWF0OnQ/YG5hbWVgOmBoZXg4YH06KG49anYuaGV4My5leGVjKGUpLG4/e3I6d3YoblsxXStuWzFdKSxnOnd2KG5bMl0rblsyXSksYjp3dihuWzNdK25bM10pLGZvcm1hdDp0P2BuYW1lYDpgaGV4YH06ITEpKSkpKSkpKSkpfWZ1bmN0aW9uIE52KGUpe3JldHVybiB0eXBlb2YgZT09YG51bWJlcmA/IU51bWJlci5pc05hTihlKTpqdi5DU1NfVU5JVC50ZXN0KGUpfXZhciBQdj1jbGFzcyBle2NvbnN0cnVjdG9yKHQ9YGAsbj17fSl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQ7dHlwZW9mIHQ9PWBudW1iZXJgJiYodD1Udih0KSksdGhpcy5vcmlnaW5hbElucHV0PXQ7bGV0IHI9RHYodCk7dGhpcy5vcmlnaW5hbElucHV0PXQsdGhpcy5yPXIucix0aGlzLmc9ci5nLHRoaXMuYj1yLmIsdGhpcy5hPXIuYSx0aGlzLnJvdW5kQT1NYXRoLnJvdW5kKDEwMCp0aGlzLmEpLzEwMCx0aGlzLmZvcm1hdD1uLmZvcm1hdD8/ci5mb3JtYXQsdGhpcy5ncmFkaWVudFR5cGU9bi5ncmFkaWVudFR5cGUsdGhpcy5yPDEmJih0aGlzLnI9TWF0aC5yb3VuZCh0aGlzLnIpKSx0aGlzLmc8MSYmKHRoaXMuZz1NYXRoLnJvdW5kKHRoaXMuZykpLHRoaXMuYjwxJiYodGhpcy5iPU1hdGgucm91bmQodGhpcy5iKSksdGhpcy5pc1ZhbGlkPXIub2t9aXNEYXJrKCl7cmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpPDEyOH1pc0xpZ2h0KCl7cmV0dXJuIXRoaXMuaXNEYXJrKCl9Z2V0QnJpZ2h0bmVzcygpe2xldCBlPXRoaXMudG9SZ2IoKTtyZXR1cm4oZS5yKjI5OStlLmcqNTg3K2UuYioxMTQpLzFlM31nZXRMdW1pbmFuY2UoKXtsZXQgZT10aGlzLnRvUmdiKCksdCxuLHIsaT1lLnIvMjU1LGE9ZS5nLzI1NSxvPWUuYi8yNTU7cmV0dXJuIHQ9aTw9LjAzOTI4P2kvMTIuOTI6KChpKy4wNTUpLzEuMDU1KSoqMi40LG49YTw9LjAzOTI4P2EvMTIuOTI6KChhKy4wNTUpLzEuMDU1KSoqMi40LHI9bzw9LjAzOTI4P28vMTIuOTI6KChvKy4wNTUpLzEuMDU1KSoqMi40LC4yMTI2KnQrLjcxNTIqbisuMDcyMipyfWdldEFscGhhKCl7cmV0dXJuIHRoaXMuYX1zZXRBbHBoYShlKXtyZXR1cm4gdGhpcy5hPWx2KGUpLHRoaXMucm91bmRBPU1hdGgucm91bmQoMTAwKnRoaXMuYSkvMTAwLHRoaXN9aXNNb25vY2hyb21lKCl7bGV0e3M6ZX09dGhpcy50b0hzbCgpO3JldHVybiBlPT09MH10b0hzdigpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLHY6ZS52LGE6dGhpcy5hfX10b0hzdlN0cmluZygpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLnYqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHN2KCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc3ZhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hzbCgpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLGw6ZS5sLGE6dGhpcy5hfX10b0hzbFN0cmluZygpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLmwqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHNsKCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc2xhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hleChlPSExKXtyZXR1cm4gdnYodGhpcy5yLHRoaXMuZyx0aGlzLmIsZSl9dG9IZXhTdHJpbmcoZT0hMSl7cmV0dXJuYCNgK3RoaXMudG9IZXgoZSl9dG9IZXg4KGU9ITEpe3JldHVybiB5dih0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEsZSl9dG9IZXg4U3RyaW5nKGU9ITEpe3JldHVybmAjYCt0aGlzLnRvSGV4OChlKX10b0hleFNob3J0U3RyaW5nKGU9ITEpe3JldHVybiB0aGlzLmE9PT0xP3RoaXMudG9IZXhTdHJpbmcoZSk6dGhpcy50b0hleDhTdHJpbmcoZSl9dG9SZ2IoKXtyZXR1cm57cjpNYXRoLnJvdW5kKHRoaXMuciksZzpNYXRoLnJvdW5kKHRoaXMuZyksYjpNYXRoLnJvdW5kKHRoaXMuYiksYTp0aGlzLmF9fXRvUmdiU3RyaW5nKCl7bGV0IGU9TWF0aC5yb3VuZCh0aGlzLnIpLHQ9TWF0aC5yb3VuZCh0aGlzLmcpLG49TWF0aC5yb3VuZCh0aGlzLmIpO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlfSwgJHt0fSwgJHtufSlgOmByZ2JhKCR7ZX0sICR7dH0sICR7bn0sICR7dGhpcy5yb3VuZEF9KWB9dG9QZXJjZW50YWdlUmdiKCl7bGV0IGU9ZT0+YCR7TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApfSVgO3JldHVybntyOmUodGhpcy5yKSxnOmUodGhpcy5nKSxiOmUodGhpcy5iKSxhOnRoaXMuYX19dG9QZXJjZW50YWdlUmdiU3RyaW5nKCl7bGV0IGU9ZT0+TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlKHRoaXMucil9JSwgJHtlKHRoaXMuZyl9JSwgJHtlKHRoaXMuYil9JSlgOmByZ2JhKCR7ZSh0aGlzLnIpfSUsICR7ZSh0aGlzLmcpfSUsICR7ZSh0aGlzLmIpfSUsICR7dGhpcy5yb3VuZEF9KWB9dG9DbXlrKCl7cmV0dXJuey4uLnh2KHRoaXMucix0aGlzLmcsdGhpcy5iKX19dG9DbXlrU3RyaW5nKCl7bGV0e2M6ZSxtOnQseTpuLGs6cn09eHYodGhpcy5yLHRoaXMuZyx0aGlzLmIpO3JldHVybmBjbXlrKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYH10b05hbWUoKXtpZih0aGlzLmE9PT0wKXJldHVybmB0cmFuc3BhcmVudGA7aWYodGhpcy5hPDEpcmV0dXJuITE7bGV0IGU9YCNgK3Z2KHRoaXMucix0aGlzLmcsdGhpcy5iLCExKTtmb3IobGV0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhFdikpaWYoZT09PW4pcmV0dXJuIHQ7cmV0dXJuITF9dG9TdHJpbmcoZSl7bGV0IHQ9ISFlO2U/Pz10aGlzLmZvcm1hdDtsZXQgbj0hMSxyPXRoaXMuYTwxJiZ0aGlzLmE+PTA7cmV0dXJuIXQmJnImJihlLnN0YXJ0c1dpdGgoYGhleGApfHxlPT09YG5hbWVgKT9lPT09YG5hbWVgJiZ0aGlzLmE9PT0wP3RoaXMudG9OYW1lKCk6dGhpcy50b1JnYlN0cmluZygpOihlPT09YHJnYmAmJihuPXRoaXMudG9SZ2JTdHJpbmcoKSksZT09PWBwcmdiYCYmKG49dGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKSksKGU9PT1gaGV4YHx8ZT09PWBoZXg2YCkmJihuPXRoaXMudG9IZXhTdHJpbmcoKSksZT09PWBoZXgzYCYmKG49dGhpcy50b0hleFN0cmluZyghMCkpLGU9PT1gaGV4NGAmJihuPXRoaXMudG9IZXg4U3RyaW5nKCEwKSksZT09PWBoZXg4YCYmKG49dGhpcy50b0hleDhTdHJpbmcoKSksZT09PWBuYW1lYCYmKG49dGhpcy50b05hbWUoKSksZT09PWBoc2xgJiYobj10aGlzLnRvSHNsU3RyaW5nKCkpLGU9PT1gaHN2YCYmKG49dGhpcy50b0hzdlN0cmluZygpKSxlPT09YGNteWtgJiYobj10aGlzLnRvQ215a1N0cmluZygpKSxufHx0aGlzLnRvSGV4U3RyaW5nKCkpfXRvTnVtYmVyKCl7cmV0dXJuKE1hdGgucm91bmQodGhpcy5yKTw8MTYpKyhNYXRoLnJvdW5kKHRoaXMuZyk8PDgpK01hdGgucm91bmQodGhpcy5iKX1jbG9uZSgpe3JldHVybiBuZXcgZSh0aGlzLnRvU3RyaW5nKCkpfWxpZ2h0ZW4odD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLmwrPXQvMTAwLG4ubD1vdihuLmwpLG5ldyBlKG4pfWJyaWdodGVuKHQ9MTApe2xldCBuPXRoaXMudG9SZ2IoKTtyZXR1cm4gbi5yPU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LG4uci1NYXRoLnJvdW5kKDI1NSotKHQvMTAwKSkpKSxuLmc9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsbi5nLU1hdGgucm91bmQoMjU1Ki0odC8xMDApKSkpLG4uYj1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxuLmItTWF0aC5yb3VuZCgyNTUqLSh0LzEwMCkpKSksbmV3IGUobil9ZGFya2VuKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5sLT10LzEwMCxuLmw9b3Yobi5sKSxuZXcgZShuKX10aW50KGU9MTApe3JldHVybiB0aGlzLm1peChgd2hpdGVgLGUpfXNoYWRlKGU9MTApe3JldHVybiB0aGlzLm1peChgYmxhY2tgLGUpfWRlc2F0dXJhdGUodD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLnMtPXQvMTAwLG4ucz1vdihuLnMpLG5ldyBlKG4pfXNhdHVyYXRlKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5zKz10LzEwMCxuLnM9b3Yobi5zKSxuZXcgZShuKX1ncmV5c2NhbGUoKXtyZXR1cm4gdGhpcy5kZXNhdHVyYXRlKDEwMCl9c3Bpbih0KXtsZXQgbj10aGlzLnRvSHNsKCkscj0obi5oK3QpJTM2MDtyZXR1cm4gbi5oPXI8MD8zNjArcjpyLG5ldyBlKG4pfW1peCh0LG49NTApe2xldCByPXRoaXMudG9SZ2IoKSxpPW5ldyBlKHQpLnRvUmdiKCksYT1uLzEwMDtyZXR1cm4gbmV3IGUoe3I6KGkuci1yLnIpKmErci5yLGc6KGkuZy1yLmcpKmErci5nLGI6KGkuYi1yLmIpKmErci5iLGE6KGkuYS1yLmEpKmErci5hfSl9YW5hbG9nb3VzKHQ9NixuPTMwKXtsZXQgcj10aGlzLnRvSHNsKCksaT0zNjAvbixhPVt0aGlzXTtmb3Ioci5oPShyLmgtKGkqdD4+MSkrNzIwKSUzNjA7LS10OylyLmg9KHIuaCtpKSUzNjAsYS5wdXNoKG5ldyBlKHIpKTtyZXR1cm4gYX1jb21wbGVtZW50KCl7bGV0IHQ9dGhpcy50b0hzbCgpO3JldHVybiB0Lmg9KHQuaCsxODApJTM2MCxuZXcgZSh0KX1tb25vY2hyb21hdGljKHQ9Nil7bGV0IG49dGhpcy50b0hzdigpLHtoOnJ9PW4se3M6aX09bix7djphfT1uLG89W10scz0xL3Q7Zm9yKDt0LS07KW8ucHVzaChuZXcgZSh7aDpyLHM6aSx2OmF9KSksYT0oYStzKSUxO3JldHVybiBvfXNwbGl0Y29tcGxlbWVudCgpe2xldCB0PXRoaXMudG9Ic2woKSx7aDpufT10O3JldHVyblt0aGlzLG5ldyBlKHtoOihuKzcyKSUzNjAsczp0LnMsbDp0Lmx9KSxuZXcgZSh7aDoobisyMTYpJTM2MCxzOnQucyxsOnQubH0pXX1vbkJhY2tncm91bmQodCl7bGV0IG49dGhpcy50b1JnYigpLHI9bmV3IGUodCkudG9SZ2IoKSxpPW4uYStyLmEqKDEtbi5hKTtyZXR1cm4gbmV3IGUoe3I6KG4ucipuLmErci5yKnIuYSooMS1uLmEpKS9pLGc6KG4uZypuLmErci5nKnIuYSooMS1uLmEpKS9pLGI6KG4uYipuLmErci5iKnIuYSooMS1uLmEpKS9pLGE6aX0pfXRyaWFkKCl7cmV0dXJuIHRoaXMucG9seWFkKDMpfXRldHJhZCgpe3JldHVybiB0aGlzLnBvbHlhZCg0KX1wb2x5YWQodCl7bGV0IG49dGhpcy50b0hzbCgpLHtoOnJ9PW4saT1bdGhpc10sYT0zNjAvdDtmb3IobGV0IG89MTtvPHQ7bysrKWkucHVzaChuZXcgZSh7aDoocitvKmEpJTM2MCxzOm4ucyxsOm4ubH0pKTtyZXR1cm4gaX1lcXVhbHModCl7bGV0IG49bmV3IGUodCk7cmV0dXJuIHRoaXMuZm9ybWF0PT09YGNteWtgfHxuLmZvcm1hdD09PWBjbXlrYD90aGlzLnRvQ215a1N0cmluZygpPT09bi50b0NteWtTdHJpbmcoKTp0aGlzLnRvUmdiU3RyaW5nKCk9PT1uLnRvUmdiU3RyaW5nKCl9fTtmdW5jdGlvbiBGdihlLHQpe2xldCBuPW5ldyBQdihlKSxyPW5ldyBQdih0KTtyZXR1cm4oTWF0aC5tYXgobi5nZXRMdW1pbmFuY2UoKSxyLmdldEx1bWluYW5jZSgpKSsuMDUpLyhNYXRoLm1pbihuLmdldEx1bWluYW5jZSgpLHIuZ2V0THVtaW5hbmNlKCkpKy4wNSl9dmFyIEl2PS4yOTksTHY9LjU4NyxSdj0uMTE0LHp2PTE4MCxCdj0tMjAsVnY9LS4yNSxIdj0uMixVdj0tNSxXdj0uMDMsR3Y9LjUsS3Y9NSxxdj0oZSx0KT0+bmV3IFB2KGUpLmRhcmtlbih0KS50b0hleFN0cmluZygpLEp2PWU9PntsZXQgdD1uZXcgUHYoZSkudG9SZ2IoKTtyZXR1cm5gJHt0LnJ9LCAke3QuZ30sICR7dC5ifWB9LFl2PWU9Pi9eI1swLTlBLUZdezZ9JC9pLnRlc3QoZSksWHY9ZT0+e2xldHtyOnQsZzpuLGI6cn09bmV3IFB2KGUpLnRvUmdiKCk7cmV0dXJuIE1hdGguc3FydCh0KnQqSXYrbipuKkx2K3IqcipSdik+enZ9LFp2PWU9PntsZXQgdD1uZXcgUHYoZSkse3M6bixsOnJ9PXQudG9Ic2woKTtyZXR1cm4gdC5zcGluKEJ2KS5kZXNhdHVyYXRlKG4qVnYpLmxpZ2h0ZW4ocipIdikudG9IZXhTdHJpbmcoKX0sUXY9KGUsdD1Hdik9PntsZXQgbj1uZXcgUHYoZSkse3M6cixsOml9PW4udG9Ic2woKTtyZXR1cm4gbi5zcGluKFV2KS5zYXR1cmF0ZShyKld2KS5kYXJrZW4oaSp0KS50b0hleFN0cmluZygpfSwkdj1lPT57bGV0e2NvbG9yOnQsY29sb3IyOm4sY29sb3JHcmFkaWVudDpyfT1lO3JldHVybiByP24/e2Zyb206dCx0bzpufTpYdih0KT97ZnJvbTp0LHRvOlF2KHQpfTp7ZnJvbTpadih0KSx0bzp0fTp7ZnJvbTp0LHRvOnR9fSxleT1lPT5YdihlKT9hdi5zbGF0ZTkwMDphdi53aGl0ZSx0eT1lPT5YdihlKT8uMTouMixueT1lPT57aWYoWHYoZSkpe2xldCB0PW5ldyBQdihlKS5nZXRMdW1pbmFuY2UoKTtyZXR1cm4gdD4uOD9xdihlLCgxMCp0KSoqdCk6ZX1yZXR1cm4gZX0scnk9KGUsdCk9PntsZXQgbj10Py5iYWNrZ3JvdW5kQ29sb3I/P2Uscj0wLGk9bmV3IFB2KGUpLGE9RnYobixpKSxvPXQ/LmZvcmNlTGlnaHRCZz8/bmV3IFB2KG4pLmlzTGlnaHQoKTtmb3IoO2E8My43NSYmcjwyMDspaT1vP2kuZGFya2VuKDUpOmkubGlnaHRlbig1KSxhPUZ2KG4saSkscisrO3JldHVybiBpLnRvSGV4U3RyaW5nKCl9LGl5PShlLHQpPT57bGV0IG49cnkoZSx7YmFja2dyb3VuZENvbG9yOmF2LndoaXRlfSkscj1yeShlKSxpPW5ldyBQdihlKS5pc0xpZ2h0KCksYT1uZXcgUHYodCkuaXNMaWdodCgpO3JldHVybiBpJiZhP3I9cnkodCk6IWkmJiFhP3I9cnkoZSk6aSYmIWE/cj1yeSh0LHtmb3JjZUxpZ2h0Qmc6ITB9KTohaSYmYSYmKHI9cnkoZSx7Zm9yY2VMaWdodEJnOiExfSkpLHtwcmltYXJ5Om4sc2Vjb25kYXJ5OnJ9fSxRPShlLHQsbik9PntlLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSxheT0oZSx0KT0+e2xldHtjb2xvcjpufT10LHI9JHYodCksaT1yLmZyb209PT1gI2ZmZmZmZmAmJnIuZnJvbT09PXIudG8/e2Zyb206YXYuc2xhdGUzMDAsdG86YXYuc2xhdGUzMDB9OnIsYT1leShuKTtRKGUsYC0tY29sb3ItcHJpbWFyeWAsbiksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudGAsYSksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudC1yZ2JgLEp2KGEpKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1mcm9tYCxyLmZyb20pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvYCxyLnRvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tZnJvbWAsaS5mcm9tKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tdG9gLGkudG8pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLWZyb21gLHF2KHIuZnJvbSxLdikpLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLXRvYCxxdihyLnRvLEt2KSk7bGV0IG89bnkobik7UShlLGAtLWNvbG9yLXByaW1hcnktYnV0dG9uYCxvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24taG92ZXJgLHF2KG8sMTApKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudGAsYSksUShlLGAtLW9wYWNpdHktcHJpbWFyeS1jb250ZW50YCxTdHJpbmcodHkobikpKTtsZXQgcz1peShyLmZyb20sci50byk7UShlLGAtLWNvbG9yLXByaW1hcnktZm9jdXNgLHMucHJpbWFyeSksUShlLGAtLWNvbG9yLXNlY29uZGFyeS1mb2N1c2Ascy5zZWNvbmRhcnkpfSxveT0oKCk9PntsZXR7c3Vic2NyaWJlOmUsc2V0OnR9PU8oe2NvbG9yOmF2LnNtYXJ0c3VwcEJsdWUsY29sb3IyOm51bGwsY29sb3JHcmFkaWVudDohMH0pO3JldHVybntzdWJzY3JpYmU6ZSxzZXRUaGVtZUNvbG9yOmU9PntsZXR7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9PWU7aWYoIVl2KG4pKXtIKGBQcm92aWRlZCBjb2xvciAnJHtufScgaXMgbm90IHZhbGlkLiBEZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLmApO3JldHVybn1lbHNlIGlmKGkmJnImJiFZdihyKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7cn0nIGlzIG5vdCB2YWxpZC4gRGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQgaW5zdGVhZC5gKTtyZXR1cm59dCh7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9KX19fSkoKSxzeT0yNCxjeT0xMixseT03Mix1eT0zODAsZHk9NjcyLGZ5PTU2MCxweT04NDAsbXk9ZT0+YCR7ZX1weGAsaHk9ZT0+e2lmKGUpcmV0dXJuIEx1KGUpP3BhcnNlSW50KGUsMTApOmV9LGd5PShlLHQpPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8bj8uaGVhZGxlc3NNb2RlP3t3aWR0aDpgMTAwJWAsaGVpZ2h0OmAxMDAlYH06dD97d2lkdGg6ZnksaGVpZ2h0OnB5fTp7d2lkdGg6dXksaGVpZ2h0OmR5fX0sX3k9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS5ib3JkZXJSYWRpdXM9bXkoMjApLHQ/LmhlYWRsZXNzTW9kZT9lLnN0eWxlLmJveFNoYWRvdz1gbm9uZWA6dD8ubGltaXRTaGFkb3c/ZS5zdHlsZS5ib3hTaGFkb3c9YHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDVweCAxMnB4YDplLnN0eWxlLmJveFNoYWRvdz1gcmdiYSgwLCAwLCAwLCAwLjE2KSAwcHggNXB4IDQwcHhgfSx2eT0oKT0+e2xldHtvZmZzZXRZOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBoeShlKT8/c3l9LHl5PSgpPT57bGV0e29mZnNldFg6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGh5KGUpPz9jeX0sYnk9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGV8fHQ/LmhlYWRsZXNzTW9kZT8wOnN5fSx4eT1lPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8dD8uaGVhZGxlc3NNb2RlPzA6Y3l9LFN5PSgpPT57bGV0e3Bvc2l0aW9uOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09YGZpeGVkYH0sQ3k9ZT0+e1N5KCkmJihlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGApfSx3eT0oZSx0KT0+e1N5KCkmJihlLnN0eWxlLmJvdHRvbT1teSh0KSl9LFR5PShlLHQpPT57aWYoU3koKSl7bGV0e29yaWVudGF0aW9uOm59PVYuZ2V0T3B0aW9ucygpO249PT1gcmlnaHRgPyhlLnN0eWxlLmxlZnQ9YGluaXRpYWxgLGUuc3R5bGUucmlnaHQ9bXkodCkpOihlLnN0eWxlLmxlZnQ9bXkodCksZS5zdHlsZS5yaWdodD1gaW5pdGlhbGApfX0sRXk9ZT0+e2xldHt6SW5kZXg6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS56SW5kZXg9U3RyaW5nKHQ/P2BhdXRvYCl9LER5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHQuc3R5bGUud2lkdGg9YDEwMCVgLHQuc3R5bGUuaGVpZ2h0PWAxMDAlYCx0LnN0eWxlLmJvcmRlcj1gbm9uZWAsdC5zdHlsZS5kaXNwbGF5PWBibG9ja2AsdC5zdHlsZS50ZXh0QWxpZ249YGxlZnRgLHQuc3R5bGUubWFyZ2luPWAwYCx0LnN0eWxlLnBhZGRpbmc9YDBgLHQuc3R5bGUudG9wPWAwYCx0LnN0eWxlLmxlZnQ9YDBgLHQuc3R5bGUub3BhY2l0eT1gMWAsZSYmZSh0KSx0LmdldEF0dHJpYnV0ZShgc3R5bGVgKT8/YGB9LE95PWU9PntDeShlKSx3eShlLHZ5KCkpLFR5KGUseXkoKSksRXkoZSl9LGt5PShlLHQpPT57Q3koZSksd3koZSxieSh0KSksVHkoZSx4eSh0KSksRXkoZSksdHx8X3koZSl9LEF5PWU9PntDeShlKSx3eShlLHZ5KCkrbHkpLFR5KGUseXkoKSksRXkoZSl9LGp5PWU9PntlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGAsZS5zdHlsZS53aWR0aD1gMTAwJWAsZS5zdHlsZS5oZWlnaHQ9YDEwMCVgLHd5KGUsMCksVHkoZSwwKSxFeShlKX0sTXk9ZT0+e095KGUpfSxOeT0oZSx0KT0+e2t5KGUsdCl9LFB5PWU9PntBeShlKX0sRnk9ZT0+e0F5KGUpfSxJeT1lPT57ankoZSl9LEx5PU8oMzAwKSxSeT1PKDE2Niksenk9TyghMSksQnk9Tyh2b2lkIDApLFZ5PWsoW3NzLEJ5XSwoW2UsdF0pPT57bGV0e2J1dHRvblN0eWxlOm59PVYuZ2V0T3B0aW9ucygpO3JldHVybiB0P3Q9PT1gYnViYmxlYDplfHxuPT09YGJ1YmJsZWB9KSxIeT1rKFtWeSxMeV0sKFtlLHRdKT0+ZT81Njp0KSxVeT1PKHZvaWQgMCksV3k9ayhbY3MsVXldLChbZSx0XSk9PmU/ITA6KHQ/P1YuZ2V0T3B0aW9ucygpLmhlYWRlclN0eWxlKT09PWBjb21wYWN0YCksR3k9ayhbV3ldLChbZV0pPT5lPzc2OjExNCksS3k9TygpLHF5PWsoW0t5XSwoW2VdKT0+ZT09PXZvaWQgMD96byhVLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZCk9PT1gdHJ1ZWA6ZSksSnk9ZT0+e0JvKHtuYW1lOlUuSXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLEt5LnNldChlKX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gZS5OYW1lPWBuYW1lYCxlLkdyb3VwPWBncm91cGAsZS5FbWFpbD1gZW1haWxgLGUuUGhvbmU9YHBob25lYCxlLlZhcmlhYmxlcz1gdmFyaWFibGVzYCxlLkNvbnRhY3REYXRhPWBjb250YWN0RGF0YWAsZS5MYW5ndWFnZT1gbGFuZ3VhZ2VgLGUuQ2hhdENsb3NlPWBjaGF0OmNsb3NlYCxlLkNoYXRPcGVuPWBjaGF0Om9wZW5gLGUuQ2hhdFNob3c9YGNoYXQ6c2hvd2AsZS5DaGF0SGlkZT1gY2hhdDpoaWRlYCxlLlRoZW1lQ29sb3I9YHRoZW1lOmNvbG9yYCxlLkNoYXRNZXNzYWdlPWBjaGF0Om1lc3NhZ2VgLGUuQ2hhdFNlbmQ9YGNoYXQ6c2VuZGAsZS5IdG1sQXBwbHk9YGh0bWw6YXBwbHlgLGUuT249YG9uYCxlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuTWFya2V0aW5nQ29uc2VudD1gbWFya2V0aW5nQ29uc2VudGAsZS5PcGVuUmF0ZUZvcm09YG9wZW5SYXRlRm9ybWAsZS5PcGVuQXV0aEZvcm09YG9wZW5BdXRoRm9ybWAsZS5XaWRnZXRTdGF0dXM9YHdpZGdldFN0YXR1c2AsZS5UcmFuc2xhdGlvbnM9YHRyYW5zbGF0aW9uc2AsZS5BdXRoRm9ybUZpZWxkcz1gYXV0aEZvcm1GaWVsZHNgLGUuQnV0dG9uU3R5bGU9YGJ1dHRvblN0eWxlYCxlLkhlYWRlclN0eWxlPWBoZWFkZXJTdHlsZWAsZS5QcmV2aWV3VHJhbnNsYXRlPWBwcmV2aWV3VHJhbnNsYXRlYCxlLkRpc2FibGVDb25uZWN0aW9uU3RhdHVzPWBkaXNhYmxlQ29ubmVjdGlvblN0YXR1c2AsZS5SZWxvYWRXaXRoTW9ja0RhdGE9YHJlbG9hZFdpdGhNb2NrRGF0YWAsZS5SZWxvYWQ9YHJlbG9hZGAsZS5Cb3RJZGVudGl0eVVwZGF0ZT1gYm90SWRlbnRpdHk6dXBkYXRlYCxlfSh7fSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuTWVzc2FnZVNlbnQ9YG1lc3NhZ2Vfc2VudGAsZS5NZXNzYWdlUmVjZWl2ZWQ9YG1lc3NhZ2VfcmVjZWl2ZWRgLGUuTWVzc2VuZ2VyQ2xvc2U9YG1lc3Nlbmdlcl9jbG9zZWAsZS5XaWRnZXRJbml0PWB3aWRnZXRfaW5pdGAsZX0oe30pLFh5PWU9Pnt6Lm9uKGBtZXNzYWdlU2VudGAsZSl9LFp5PWU9Pnt6Lm9uKGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxReT1lPT57ei5vbihgbWVzc2VuZ2VyQ2xvc2VgLGUpfSwkeT1lPT57ei5vbihgd2lkZ2V0SW5pdGAsZSl9LGViPXtbWXkuTWVzc2FnZVNlbnRdOlh5LFtZeS5NZXNzYWdlUmVjZWl2ZWRdOlp5LFtZeS5NZXNzZW5nZXJDbG9zZV06UXksW1l5LldpZGdldEluaXRdOiR5fSx0Yj0oZSx0KT0+e2xldCBuPWViW2VdO24mJm4odCl9LG5iPWBodHRwczovL2RvY3Muc21hcnRzdXBwLmNvbS9jaGF0LWJveC9gLHJiPWAke25ifWxvY2FsaXphdGlvbi8jc3VwcG9ydGVkLWxhbmd1YWdlc2AsaWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLXZpc2l0b3ItZGF0YWAsYWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLWNvbnRhY3QtZGF0YWAsb2I9YCR7bmJ9amF2YXNjcmlwdC1hcGkvZXZlbnRzL2Asc2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vaGVscC9jb29raWUtY29uc2VudC8jd2hlcmUtdG8tZW5hYmxlLWNvb2tpZS1jb25zZW50LWluLXNtYXJ0c3VwcGAsY2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vcHJpY2luZ2AsbGI9Tyh7fSksdWI9KGUsdCk9PntsYi51cGRhdGUobj0+KHsuLi5uLFtlXTp0fSkpfSxkYj1lPT5PYmplY3QudmFsdWVzKCQpLnNvbWUodD0+dD09PWUpLGZiPShlLHQpPT5MdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgc3RyaW5nLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLHBiPShlLHQpPT5QdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgYm9vbGVhbi4gU2VlICR7bmJ9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKSxtYj0oZSx0KT0+dHlwZW9mIHQ9PWBmdW5jdGlvbmA/ITA6KEgoYFBhcmFtZXRlciBvZiAnJHtlfScgQVBJIGNvbW1hbmQgbXVzdCBiZSB0eXBlIGZ1bmN0aW9uLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGhiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHtpYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGdiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHthYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLF9iPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LmApLCExKSx2Yj0oZSx0KT0+IUl1KHQpfHwhKGBpZGBpbiB0KXx8IUx1KHQuaWQpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgYmUgdHlwZSBvYmplY3QgYW5kIGhhcyBhIHZhbGlkICdpZCcgcHJvcGVydHkuYCksITEpOmBuYW1lYGluIHQmJiFMdSh0Lm5hbWUpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICduYW1lJyBwcm9wZXJ0eS5gKSwhMSk6YGF2YXRhclVybGBpbiB0JiYhTHUodC5hdmF0YXJVcmwpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICdhdmF0YXJVcmwnIHByb3BlcnR5LmApLCExKTohMCx5Yj0oZSx0KT0+e2xldCBuPU9iamVjdC52YWx1ZXMoWXkpO3JldHVybiBuLmluY2x1ZGVzKHQpPyEwOihIKGBVbmtub3duIGV2ZW50OiAnJHt0fScuIEF2YWlsYWJsZSBldmVudCBuYW1lcyBhcmU6ICR7bi5qb2luKGAsIGApfS4gU2VlICR7b2J9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKX0sYmI9ZT0+e0goYFVua25vd24gQVBJIGNvbW1hbmQ6ICcke2V9Jy4gU2VlICR7bmJ9IHRvIGNoZWNrIGF2YWlsYWJsZSBBUEkgY29tbWFuZHMuYCl9LHhiPSgpPT4hIVYuZ2V0T3B0aW9ucygpLmZlYXR1cmVzPy5hcGksU2I9KCk9PiEhVi5nZXRPcHRpb25zKCkuZmVhdHVyZXM/Lmdyb3VwcyxDYj0oKT0+Vi5nZXRPcHRpb25zKCkuaXNQcmV2aWV3TW9kZSx3Yj0oKT0+IXhiKCkmJiFDYigpPyhIKGBDaGF0IGJveCBBUEkgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxUYj0oKT0+IXhiKCl8fCFTYigpPyhIKGBDaGF0IGJveCBHcm91cHMgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxFYj0oKT0+e0hvKCl8fEgoYEVuYWJsZSBtYW5hZ2luZyBjb29raWUgY29uc2VudCBpbiB3aWRnZXQgc2V0dGluZ3MgdG8gYWxsb3cgdGhpcyBjb21tYW5kLiBTZWUgJHtzYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCl9LERiPSgpPT57bGV0IGU9KCk9PntVXyghMCksSV8oKX07aWYoIUEoQ18pKXtYbC5wdXNoKGUpO3JldHVybn1lKCl9LE9iPSgpPT57aWYod2IoKSl7aWYoIUEoQ18pKXtYbC5wdXNoKFdfKTtyZXR1cm59V18oKX19LGtiPSgpPT57d2IoKSYmSV8oKX0sQWI9KCk9Pnt3YigpJiZMXygpfSxqYj0oZSx0KT0+e2lmKHdiKCkmJmU9PT0kLkxhbmd1YWdlJiZmYihlLHQpKXtpZighSWwodCkpe0goYFByb3ZpZGVkIGxhbmd1YWdlICcke3R9JyBpcyBub3Qgc3VwcG9ydGVkLiBTZWUgJHtyYn0gdG8gY2hlY2sgc3VwcG9ydGVkIGxhbmd1YWdlcy5gKTtyZXR1cm59aWYoIUEoQ18pKXt1YihgbGFuZ2AsdCk7cmV0dXJufUdsKHQpfX0sTWI9KGUsdCk9PntsZXQgbixyPW51bGwsaT0hMDtpZih3YigpKXtpZih0eXBlb2YgdD09YHN0cmluZ2AmJmZiKGUsdCkpbj10O2Vsc2UgaWYoaGIoZSx0KSl7aWYobj10LmNvbG9yLHI9dC5jb2xvcjIsaT10LmNvbG9yR3JhZGllbnQsIXBiKGUsaSkpcmV0dXJufWVsc2UgcmV0dXJuO2lmKCFZdihuKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7bn0nIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHVzZSBoZXggY29sb3IgY29kZS5gKTtyZXR1cm59ZWxzZSBpZihpJiZyJiYhWXYocikpe0goYFByb3ZpZGVkIGNvbG9yICcke3J9JyBpcyBub3QgdmFsaWQuIERlZmF1bHQgY29sb3Igd2lsbCBiZSB1c2VkIGluc3RlYWQuYCk7cmV0dXJufW95LnNldFRoZW1lQ29sb3Ioe2NvbG9yOm4sY29sb3IyOnIsY29sb3JHcmFkaWVudDppfSl9fSxOYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJm9fKHQpfSxQYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJihvXyh0KSxkXygpKX0sRmI9KGUsdCxuKT0+e2ZiKGUsdCkmJnliKGUsdCkmJm1iKGUsbikmJnRiKHQsbil9LEliPShlLHQpPT57aGIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclZhcmlhYmxlcyh6dSh0KSl9LExiPShlLHQpPT57ZSE9PSQuTmFtZSYmZSE9PSQuRW1haWwmJmUhPT0kLlBob25lJiZlIT09JC5Hcm91cHx8ZmIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclByb3BlcnR5KGUsdCl9LFJiPShlLHQpPT57aWYoIVRiKCl8fCFmYihlLHQpKXJldHVybjtsZXQgbj1BKGlsKVt0XTtpZihBKENfKSYmIW4pe0goYEdyb3VwIHdpdGgga2V5ICcke3R9JyBkb2VzIG5vdCBleGlzdC4gUGxlYXNlIHByb3ZpZGUgY29ycmVjdCBncm91cCBrZXkgZnJvbSB5b3VyIGdyb3VwIHNldHRpbmdzLmApO3JldHVybn1MYihlLHQpfSx6Yj0oZSx0KT0+e2diKGUsdCkmJk11LnVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YSh0KX0sQmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sVmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sSGI9KCk9PntZcChBKEJwKXx8YGApfSxVYj0oKT0+e0JjKEhjLkF1dGhGb3JtKX0sV2I9KGUsdCk9PntmYihlLHQpJiYodCE9PUsuQWNjb3VudFN0YXR1cy5PbmxpbmUmJnQhPT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZXx8JHUuc2V0KHQpKX0sR2I9KGUsdCk9PntoYihlLHQpJiZxbCh0KX0sS2I9KGUsdCk9PntoYihlLHQpJiYoQShWaCl8fFZoLnNldChWLmdldE9wdGlvbnMoKSksVmgudXBkYXRlKGU9Pih7Li4uZSwuLi50fSkpKX0scWI9KGUsdCk9PntmYihlLHQpJiZCeS5zZXQodCl9LEpiPShlLHQpPT57aWYoZT09PSQuSGVhZGVyU3R5bGUmJmZiKGUsdCkpe2lmKHQhPT1gY29tcGFjdGAmJnQhPT1gc3RhbmRhcmRgKXtIKGBQcm92aWRlZCBoZWFkZXIgc3R5bGUgJyR7dH0nIGlzIG5vdCB2YWxpZC4gVXNlICdjb21wYWN0JyBvciAnc3RhbmRhcmQnLmApO3JldHVybn1VeS5zZXQodCl9fSxZYj0oKT0+e2xldCBlPSgpPT57fTtlPUhsLnN1YnNjcmliZSgoKT0+e0EoUnApLmZvckVhY2goZT0+e2xldCB0PWUuY29udGVudD8uZGF0YXx8YGA7dHlwZW9mIHQ9PWBzdHJpbmdgJiZ0Lm1hdGNoKC93aWRnZXRQcmV2aWV3XC4uKi8pJiYoZS5jb250ZW50LnRleHQ9QShXKSh0KSxKLnJlcGxhY2VNZXNzYWdlKGUpKX0pLGUoKX0pfSxYYj0oZSx0KT0+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQtQ2dNQ0Fmb3IuanMubWFw"}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/WidgetMessengerInput-C0XHPxev.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:31.201Z","timestamp":1785133591201,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/WidgetMessengerInput-C0XHPxev.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:31 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-1091b\"\r\nexpires: Wed, 07 Jul 2027 08:30:16 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k08CLYfZimp1preO1el7HW0YycEOJ1Jdf931gSw0z6Yl8oS5juSXJYm8MmMC9SG+r2MzC3M\r\nx-77-nzt-ray: fdb54123124f25f517fa666acb58fd0b\r\nx-77-cache: HIT\r\nx-77-age: 1720400\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":67867,"size_decoded":23995,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65524), with no line terminators","md5":"aaa675e50b163c104dcffd851566a1bb","sha1":"ded2af518c336ad57fcf3c0f1fafc7615d332c01","sha256":"e4e6c4f8a9bb605f5b206697ede7cdf6008cac2d536490f3ed70363411656397","sha512":"c0c30ed17ec23bc1c82de26215d7f253f7bd6954bde3a739f51aa4ddd52cca751961227f0ec13a4791203bf3594a9da1dfa4f7e119a94f2463387a30d2e3bce7","ssdeep":"1536:ZKdYy+51NnmJRgKLNNMDJa890D+Q5tViyg/2CLTOxoV99vW33XdwtnD1gP/gv1NI:ZVGR69MVicclW2a","tlshash":"cd635c843304b43d616f866a906e911ab3375198644bc03cb92edcd939b4cd86abffb5","first_seen":"2026-07-09T10:36:52.138249Z","last_seen":"2026-07-27T07:19:42.484732Z","times_seen":48,"resource_available":true,"data":"aW1wb3J0eyQgYXMgZSwkbiBhcyB0LCRyIGFzIG4sQWkgYXMgcixBciBhcyBpLEF0IGFzIGEsQmkgYXMgbyxCbiBhcyBzLEJ0IGFzIGMsRGkgYXMgbCxEciBhcyB1LER0IGFzIGQsRWkgYXMgZixFbiBhcyBwLEZuIGFzIG0sR2kgYXMgaCxHbiBhcyBnLEhpIGFzIF8sSSBhcyB2LElpIGFzIHksSnQgYXMgYixLaSBhcyB4LEtuIGFzIFMsS3IgYXMgQyxMaSBhcyB3LExyIGFzIFQsTWkgYXMgRSxNciBhcyBELE10IGFzIE8sTmkgYXMgayxObiBhcyBBLE5yIGFzIGosTnQgYXMgTSxPaSBhcyBlZSxPciBhcyB0ZSxQaSBhcyBOLFByIGFzIG5lLFEgYXMgcmUsUXIgYXMgUCxSIGFzIGllLFJuIGFzIEYsUnIgYXMgYWUsU2kgYXMgSSxUaSBhcyBMLFRyIGFzIFIsVWkgYXMgb2UsVXIgYXMgc2UsVmkgYXMgeixWciBhcyBjZSxWdCBhcyBsZSxXaSBhcyB1ZSxYIGFzIGRlLFhpIGFzIEIsWG4gYXMgZmUsWHIgYXMgcGUsWWkgYXMgVixZbiBhcyBtZSxZciBhcyBoZSxaIGFzIGdlLFppIGFzIEgsWm4gYXMgX2UsWnIgYXMgVSxfaSBhcyB2ZSxfbiBhcyB5ZSxhIGFzIGJlLGFhIGFzIFcsYWkgYXMgRyxhbiBhcyB4ZSxhdCBhcyBTZSxiaSBhcyBLLGNhIGFzIHEsY24gYXMgQ2UsY3QgYXMgd2UsZGkgYXMgVGUsZHIgYXMgRWUsZWEgYXMgRGUsZWkgYXMgT2UsZXIgYXMga2UsZXQgYXMgQWUsZmkgYXMgamUsZnQgYXMgTWUsZ2kgYXMgTmUsZ3IgYXMgUGUsZ3QgYXMgRmUsaGkgYXMgSWUsaHQgYXMgTGUsaSBhcyBSZSxpYSBhcyBKLGluIGFzIHplLGl0IGFzIEJlLGppIGFzIFZlLGpuIGFzIEhlLGpyIGFzIFVlLGp0IGFzIFdlLGsgYXMgR2Usa2kgYXMgS2Usa24gYXMgcWUsa3IgYXMgSmUsbGEgYXMgWWUsbGkgYXMgWGUsbWkgYXMgWmUsbXQgYXMgUWUsbiBhcyAkZSxuYSBhcyBldCxuciBhcyB0dCxudCxvIGFzIHJ0LG9pIGFzIFksb24gYXMgaXQsb3IgYXMgWCxvdCBhcyBhdCxwaSBhcyBvdCxwciBhcyBzdCxwdCBhcyBjdCxxciBhcyBsdCxyIGFzIHV0LHJhIGFzIGR0LHJuIGFzIGZ0LHJ0IGFzIHB0LHMgYXMgbXQsc2EgYXMgaHQsc2kgYXMgZ3Qsc24gYXMgX3Qsc3IgYXMgdnQsdCBhcyB5dCx0aSBhcyBidCx0dCBhcyB4dCx1YSBhcyBTdCx1aSBhcyBaLHV0IGFzIEN0LHZuIGFzIHd0LHdpIGFzIFEseXIgYXMgVHQseiBhcyBFdCx6aSBhcyBEdCx6biBhcyBPdH1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIga3Q9bChgPHN2Zz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0yMCA2TDkgMTdsLTUtNSI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIEF0KGUsdCl7bGV0IG49UCh0LFtgJCRzbG90c2AsYCQkZXZlbnRzYCxgJCRsZWdhY3lgXSk7dmFyIHI9a3QoKTtHKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksUShlLHIpfXZhciBqdD1sKGA8c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA2NyA2NyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxnIHRyYW5zZm9ybT0ibWF0cml4KDUuNTU1NTYsMCwwLDUuNTU1NTYsMCwwKSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoLTEsMS4yMjQ2NWUtMTYsLTEuMjI0NjVlLTE2LC0xLDEyLjAwNSwxMikiPjxwYXRoIGQ9Ik02LDhMNiw2TTYsNEw2LjAwNSw0Ij48L3BhdGg+PC9nPjwvZz48L3N2Zz5gKTtmdW5jdGlvbiBNdChlKXtRKGUsanQoKSl9dmFyIE50PWwoYDxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDY3IDY3IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoNS41NTU1NiwwLDAsNS41NTU1NiwwLDApIj48Zz48cGF0aCBkPSJNNiw4TDYsNk02LDRMNi4wMDUsNCI+PC9wYXRoPjwvZz48L2c+PC9zdmc+YCk7ZnVuY3Rpb24gUHQoZSl7UShlLE50KCkpfXZhciBGdD1mKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIEl0KGUsdCl7bGV0IG49e3N1Y2Nlc3M6QXQsZXJyb3I6JGUsd2FybmluZzpNdCxpbmZvOlB0fSxyPVYoKCk9Pm5bdC50eXBlXSksaT1WKCgpPT5rKHIpKTt2YXIgYT1GdCgpO1plKG8oYSksKCk9PmsoaSksKGUsdCk9Pnt0KGUse30pfSkscShhKSx5KCgpPT5aKGEsMSxUZShbYGZsZXgtY2VudGVyIGZsZXgtbm9uZSB3LTYgaC02IG1yLTIgcm91bmRlZC1mdWxsYCx0LnR5cGU9PT1gc3VjY2Vzc2AmJmBiZy1ncmVlbi01MDBgLHQudHlwZT09PWBlcnJvcmAmJmBiZy1yZWQtNTAwYCx0LnR5cGU9PT1gd2FybmluZ2AmJmBiZy1vcmFuZ2UtNTAwYCx0LnR5cGU9PT1gaW5mb2AmJmBiZy1zbGF0ZS01MDBgXSkpKSxRKGUsYSl9dmFyIEx0PWYoYDxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHB5LTIgcGwtMiBwci00IGJnLWJsYWNrLzgwIHRleHQtd2hpdGUgdGV4dC1zbSByb3VuZGVkLWZ1bGwgc2hhZG93LXNtIGZpcnN0LW9mLXR5cGU6bXQtMiBub3QtbGFzdC1vZi10eXBlOm1iLTEiPjwhPiA8IT4gPC9kaXY+YCk7ZnVuY3Rpb24gUnQoZSx0KXtXKHQsITApO3ZhciBuPUx0KCkscj1vKG4pO0l0KHIse2dldCB0eXBlKCl7cmV0dXJuIHQuZGF0YS50eXBlfX0pO3ZhciBpPV8ociwyKSxhPWU9Pnt2YXIgbj1lZSgpO3koKCk9PkkobixgKCR7dC5kYXRhLnJlY3VycmVuY2U/P2BgfSlgKSksUShlLG4pfTtLKGksZT0+e3QuZGF0YS5yZWN1cnJlbmNlPjEmJmUoYSl9KTt2YXIgcz1fKGkpO3EobikseSgoKT0+e1kobixgZGF0YS10ZXN0aWRgLFguZmxhc2hNZXNzYWdlKSxJKHMsYCAke3QuZGF0YS50ZXh0Pz9gYH1gKX0pLG90KDMsbiwoKT0+cnQsKCk9Pih7eTpgLTEwMCVgfSkpLFEoZSxuKSxKKCl9dmFyIHp0PWYoYDxkaXYgY2xhc3M9ImFic29sdXRlIGZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIHctZnVsbCB6LTEwIHB4LTMiPjwvZGl2PmApO2Z1bmN0aW9uIEJ0KGUpe2xldCB0PSgpPT5IKFIsYCRmbGFzaE1lc3NhZ2VzTGlzdGAsbiksW24scl09QigpO3ZhciBpPXp0KCk7dmUoaSw1LHQsZT0+ZS5pZCwoZSx0KT0+e1J0KGUse2dldCBkYXRhKCl7cmV0dXJuIGsodCl9fSl9KSxxKGkpLFEoZSxpKSxyKCl9dmFyIFZ0PXZ0KCksSHQ9bChgPHN2ZyByb2xlPSJzdGF0dXMiIHZpZXdCb3g9IjAgMCAxMDAgMTAxIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xMDAgNTAuNTkwOEMxMDAgNzguMjA1MSA3Ny42MTQyIDEwMC41OTEgNTAgMTAwLjU5MUMyMi4zODU4IDEwMC41OTEgMCA3OC4yMDUxIDAgNTAuNTkwOEMwIDIyLjk3NjYgMjIuMzg1OCAwLjU5MDgyIDUwIDAuNTkwODJDNzcuNjE0MiAwLjU5MDgyIDEwMCAyMi45NzY2IDEwMCA1MC41OTA4Wk05LjA4MTQ0IDUwLjU5MDhDOS4wODE0NCA3My4xODk1IDI3LjQwMTMgOTEuNTA5NCA1MCA5MS41MDk0QzcyLjU5ODcgOTEuNTA5NCA5MC45MTg2IDczLjE4OTUgOTAuOTE4NiA1MC41OTA4QzkwLjkxODYgMjcuOTkyMSA3Mi41OTg3IDkuNjcyMjYgNTAgOS42NzIyNkMyNy40MDEzIDkuNjcyMjYgOS4wODE0NCAyNy45OTIxIDkuMDgxNDQgNTAuNTkwOFoiIGZpbGw9ImN1cnJlbnRDb2xvciI+PC9wYXRoPjxwYXRoIGQ9Ik05My45Njc2IDM5LjA0MDlDOTYuMzkzIDM4LjQwMzggOTcuODYyNCAzNS45MTE2IDk3LjAwNzkgMzMuNTUzOUM5NS4yOTMyIDI4LjgyMjcgOTIuODcxIDI0LjM2OTIgODkuODE2NyAyMC4zNDhDODUuODQ1MiAxNS4xMTkyIDgwLjg4MjYgMTAuNzIzOCA3NS4yMTI0IDcuNDEyODlDNjkuNTQyMiA0LjEwMTk0IDYzLjI3NTQgMS45NDAyNSA1Ni43Njk4IDEuMDUxMjRDNTEuNzY2NiAwLjM2NzU0MSA0Ni42OTc2IDAuNDQ2ODQzIDQxLjczNDUgMS4yNzg3M0MzOS4yNjEzIDEuNjkzMjggMzcuODEzIDQuMTk3NzggMzguNDUwMSA2LjYyMzI2QzM5LjA4NzMgOS4wNDg3NCA0MS41Njk0IDEwLjQ3MTcgNDQuMDUwNSAxMC4xMDcxQzQ3Ljg1MTEgOS41NDg1NSA1MS43MTkxIDkuNTI2ODkgNTUuNTQwMiAxMC4wNDkxQzYwLjg2NDIgMTAuNzc2NiA2NS45OTI4IDEyLjU0NTcgNzAuNjMzMSAxNS4yNTUyQzc1LjI3MzUgMTcuOTY0OCA3OS4zMzQ3IDIxLjU2MTkgODIuNTg0OSAyNS44NDFDODQuOTE3NSAyOC45MTIxIDg2Ljc5OTcgMzIuMjkxMyA4OC4xODExIDM1Ljg3NThDODkuMDgzIDM4LjIxNTggOTEuNTQyMSAzOS42NzgxIDkzLjk2NzYgMzkuMDQwOVoiIGZpbGw9ImN1cnJlbnRGaWxsIj48L3BhdGg+PC9zdmc+YCk7ZnVuY3Rpb24gVXQoZSx0KXtsZXQgbj1VKHQsYHNwaW5uZXJTaXplYCwzLGBjdXJyZW50YCkscj1VKHQsYGNvbG9yYCwzLGBwcmltYXJ5YCksaT17cHJpbWFyeTpgZmlsbC1wcmltYXJ5LWJ1dHRvbmAscHJpbWFyeUNvbnRlbnQ6YGZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudGB9LGE9e2N1cnJlbnQ6YHctWzEuMmVtXSBoLVsxLjJlbV1gLHNtOmB3LTQgaC00YCxtZDpgdy02IGgtNmAsbGc6YHctOCBoLThgfSxvPWU9PmlbZV0scz1lPT5hW2VdLGM9VigoKT0+byhyKCkpKSxsPVYoKCk9PnMobigpKSk7dmFyIHU9SHQoKTt5KCgpPT5aKHUsMCxgaW5saW5lICR7ayhsKT8/YGB9ICR7ayhjKT8/YGB9IHRleHQtd2hpdGUgdGV4dC1vcGFjaXR5LTIwIGFuaW1hdGUtc3BpbmApKSxRKGUsdSl9dmFyIFd0PWYoYDxzcGFuIGNsYXNzPSJtci0yIj48IT48L3NwYW4+YCksR3Q9ZihgPGJ1dHRvbj48IT4gPCE+PC9idXR0b24+YCk7ZnVuY3Rpb24gS3QoZSx0KXtXKHQsITApO2xldCByPSgpPT5IKGksYCRpc01vYmlsZURldmljZWAsYSksW2Esc109QigpLGM9VSh0LGB2YXJpYW50YCwzLGBwcmltYXJ5YCksbD1VKHQsYHNpemVgLDMsYG1kYCksdT1QKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWAsYHZhcmlhbnRgLGBzaXplYCxgaWNvbmAsYGljb25EZXNjcmlwdGlvbmAsYGRpc2FibGVkYCxgaXNCbG9ja2AsYGlzTG9hZGluZ2AsYHRlc3RJZGAsYG9uQ2xpY2tgLGBjaGlsZHJlbmBdKSxkPVYoKCk9PnQuaXNMb2FkaW5nP1V0OnQuaWNvbiksZj1WKCgpPT50LmlzTG9hZGluZz97Y29sb3I6YHByaW1hcnlDb250ZW50YH06e30pLHA9VigoKT0+ISF0LmRpc2FibGVkfHwhIXQuaXNMb2FkaW5nKTt2YXIgbT1HdCgpO0cobSxlPT4oe3R5cGU6YGJ1dHRvbmAsdGFiaW5kZXg6YDBgLC4uLnUsY2xhc3M6ZSxkaXNhYmxlZDprKHApLCJkYXRhLXRlc3RpZCI6dC50ZXN0SWQsb25jbGljazp0Lm9uQ2xpY2ssImFyaWEtZGlzYWJsZWQiOmsocCksImFyaWEtYnVzeSI6dC5pc0xvYWRpbmd9KSxbKCk9PltgYnRuIGJ0bi0ke2MoKX0gYnRuLSR7bCgpfSB0ZXh0LWJhc2VgLCFyKCkmJmB0ZXh0LXNtYCxrKHApJiZgYnRuLWRpc2FibGVkYCwhIXQuaXNCbG9jayYmYHctZnVsbGAsaigpP2BjdXJzb3ItYXV0b2A6YGN1cnNvci1wb2ludGVyYCxgYnV0dG9uLWZvY3VzYF1dLHZvaWQgMCx2b2lkIDAsYHN2ZWx0ZS0xZTg0bjd3YCk7dmFyIGg9byhtKSxnPWU9PntsZXQgcj1WKCgpPT5rKGQpKTt2YXIgaT1XdCgpO1plKG8oaSksKCk9PmsociksKGUscik9PntyKGUsbih7ImFyaWEtaGlkZGVuIjpgdHJ1ZWAsZ2V0ImFyaWEtbGFiZWwiKCl7cmV0dXJuIHQuaWNvbkRlc2NyaXB0aW9ufX0sKCk9PmsoZikpKX0pLHEoaSksUShlLGkpfTtLKGgsZT0+e2soZCkmJmUoZyl9KTt2YXIgdj1fKGgsMikseT1lPT57dmFyIG49TCgpO0llKHoobiksKCk9PnQuY2hpbGRyZW4/P1llKSxRKGUsbil9O0sodixlPT57dC5pc0xvYWRpbmd8fGUoeSl9KSxxKG0pLFEoZSxtKSxKKCkscygpfXZhciBxdD1gYm90dG9tYCxKdD1gcmlnaHRgLFl0PWBsZWZ0YCxYdD1gYXV0b2AsWnQ9W2B0b3BgLHF0LEp0LFl0XSxRdD1gc3RhcnRgLCR0PWBjbGlwcGluZ1BhcmVudHNgLGVuPWB2aWV3cG9ydGAsdG49YHBvcHBlcmAsbm49YHJlZmVyZW5jZWAscm49WnQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuY29uY2F0KFt0K2AtYCtRdCx0K2AtZW5kYF0pfSxbXSksYW49W10uY29uY2F0KFp0LFtYdF0pLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlLmNvbmNhdChbdCx0K2AtYCtRdCx0K2AtZW5kYF0pfSxbXSksb249W2BiZWZvcmVSZWFkYCxgcmVhZGAsYGFmdGVyUmVhZGAsYGJlZm9yZU1haW5gLGBtYWluYCxgYWZ0ZXJNYWluYCxgYmVmb3JlV3JpdGVgLGB3cml0ZWAsYGFmdGVyV3JpdGVgXTtmdW5jdGlvbiBzbihlKXtyZXR1cm4gZT8oZS5ub2RlTmFtZXx8YGApLnRvTG93ZXJDYXNlKCk6bnVsbH1mdW5jdGlvbiAkKGUpe2lmKGU9PW51bGwpcmV0dXJuIHdpbmRvdztpZihlLnRvU3RyaW5nKCkhPT1gW29iamVjdCBXaW5kb3ddYCl7dmFyIHQ9ZS5vd25lckRvY3VtZW50O3JldHVybiB0JiZ0LmRlZmF1bHRWaWV3fHx3aW5kb3d9cmV0dXJuIGV9ZnVuY3Rpb24gY24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiAkKGUpLkVsZW1lbnR8fGUgaW5zdGFuY2VvZiBFbGVtZW50fWZ1bmN0aW9uIGxuKGUpe3JldHVybiBlIGluc3RhbmNlb2YgJChlKS5IVE1MRWxlbWVudHx8ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50fWZ1bmN0aW9uIHVuKGUpe3JldHVybiB0eXBlb2YgU2hhZG93Um9vdD5gdWA/ITE6ZSBpbnN0YW5jZW9mICQoZSkuU2hhZG93Um9vdHx8ZSBpbnN0YW5jZW9mIFNoYWRvd1Jvb3R9ZnVuY3Rpb24gZG4oZSl7dmFyIHQ9ZS5zdGF0ZTtPYmplY3Qua2V5cyh0LmVsZW1lbnRzKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPXQuc3R5bGVzW2VdfHx7fSxyPXQuYXR0cmlidXRlc1tlXXx8e30saT10LmVsZW1lbnRzW2VdOyFsbihpKXx8IXNuKGkpfHwoT2JqZWN0LmFzc2lnbihpLnN0eWxlLG4pLE9iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9cltlXTt0PT09ITE/aS5yZW1vdmVBdHRyaWJ1dGUoZSk6aS5zZXRBdHRyaWJ1dGUoZSx0PT09ITA/YGA6dCl9KSl9KX1mdW5jdGlvbiBmbihlKXt2YXIgdD1lLnN0YXRlLG49e3BvcHBlcjp7cG9zaXRpb246dC5vcHRpb25zLnN0cmF0ZWd5LGxlZnQ6YDBgLHRvcDpgMGAsbWFyZ2luOmAwYH0sYXJyb3c6e3Bvc2l0aW9uOmBhYnNvbHV0ZWB9LHJlZmVyZW5jZTp7fX07cmV0dXJuIE9iamVjdC5hc3NpZ24odC5lbGVtZW50cy5wb3BwZXIuc3R5bGUsbi5wb3BwZXIpLHQuc3R5bGVzPW4sdC5lbGVtZW50cy5hcnJvdyYmT2JqZWN0LmFzc2lnbih0LmVsZW1lbnRzLmFycm93LnN0eWxlLG4uYXJyb3cpLGZ1bmN0aW9uKCl7T2JqZWN0LmtleXModC5lbGVtZW50cykuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj10LmVsZW1lbnRzW2VdLGk9dC5hdHRyaWJ1dGVzW2VdfHx7fSxhPU9iamVjdC5rZXlzKHQuc3R5bGVzLmhhc093blByb3BlcnR5KGUpP3Quc3R5bGVzW2VdOm5bZV0pLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlW3RdPWBgLGV9LHt9KTshbG4ocil8fCFzbihyKXx8KE9iamVjdC5hc3NpZ24oci5zdHlsZSxhKSxPYmplY3Qua2V5cyhpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IucmVtb3ZlQXR0cmlidXRlKGUpfSkpfSl9fXZhciBwbj17bmFtZTpgYXBwbHlTdHlsZXNgLGVuYWJsZWQ6ITAscGhhc2U6YHdyaXRlYCxmbjpkbixlZmZlY3Q6Zm4scmVxdWlyZXM6W2Bjb21wdXRlU3R5bGVzYF19O2Z1bmN0aW9uIG1uKGUpe3JldHVybiBlLnNwbGl0KGAtYClbMF19dmFyIGhuPU1hdGgubWF4LGduPU1hdGgubWluLF9uPU1hdGgucm91bmQ7ZnVuY3Rpb24gdm4oKXt2YXIgZT1uYXZpZ2F0b3IudXNlckFnZW50RGF0YTtyZXR1cm4gZSE9bnVsbCYmZS5icmFuZHMmJkFycmF5LmlzQXJyYXkoZS5icmFuZHMpP2UuYnJhbmRzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5icmFuZCtgL2ArZS52ZXJzaW9ufSkuam9pbihgIGApOm5hdmlnYXRvci51c2VyQWdlbnR9ZnVuY3Rpb24geW4oKXtyZXR1cm4hL14oKD8hY2hyb21lfGFuZHJvaWQpLikqc2FmYXJpL2kudGVzdCh2bigpKX1mdW5jdGlvbiBibihlLHQsbil7dD09PXZvaWQgMCYmKHQ9ITEpLG49PT12b2lkIDAmJihuPSExKTt2YXIgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9MSxhPTE7dCYmbG4oZSkmJihpPWUub2Zmc2V0V2lkdGg+MCYmX24oci53aWR0aCkvZS5vZmZzZXRXaWR0aHx8MSxhPWUub2Zmc2V0SGVpZ2h0PjAmJl9uKHIuaGVpZ2h0KS9lLm9mZnNldEhlaWdodHx8MSk7dmFyIG89KGNuKGUpPyQoZSk6d2luZG93KS52aXN1YWxWaWV3cG9ydCxzPSF5bigpJiZuLGM9KHIubGVmdCsocyYmbz9vLm9mZnNldExlZnQ6MCkpL2ksbD0oci50b3ArKHMmJm8/by5vZmZzZXRUb3A6MCkpL2EsdT1yLndpZHRoL2ksZD1yLmhlaWdodC9hO3JldHVybnt3aWR0aDp1LGhlaWdodDpkLHRvcDpsLHJpZ2h0OmMrdSxib3R0b206bCtkLGxlZnQ6Yyx4OmMseTpsfX1mdW5jdGlvbiB4bihlKXt2YXIgdD1ibihlKSxuPWUub2Zmc2V0V2lkdGgscj1lLm9mZnNldEhlaWdodDtyZXR1cm4gTWF0aC5hYnModC53aWR0aC1uKTw9MSYmKG49dC53aWR0aCksTWF0aC5hYnModC5oZWlnaHQtcik8PTEmJihyPXQuaGVpZ2h0KSx7eDplLm9mZnNldExlZnQseTplLm9mZnNldFRvcCx3aWR0aDpuLGhlaWdodDpyfX1mdW5jdGlvbiBTbihlLHQpe3ZhciBuPXQuZ2V0Um9vdE5vZGUmJnQuZ2V0Um9vdE5vZGUoKTtpZihlLmNvbnRhaW5zKHQpKXJldHVybiEwO2lmKG4mJnVuKG4pKXt2YXIgcj10O2Rve2lmKHImJmUuaXNTYW1lTm9kZShyKSlyZXR1cm4hMDtyPXIucGFyZW50Tm9kZXx8ci5ob3N0fXdoaWxlKHIpfXJldHVybiExfWZ1bmN0aW9uIENuKGUpe3JldHVybiAkKGUpLmdldENvbXB1dGVkU3R5bGUoZSl9ZnVuY3Rpb24gd24oZSl7cmV0dXJuW2B0YWJsZWAsYHRkYCxgdGhgXS5pbmRleE9mKHNuKGUpKT49MH1mdW5jdGlvbiBUbihlKXtyZXR1cm4oKGNuKGUpP2Uub3duZXJEb2N1bWVudDplLmRvY3VtZW50KXx8d2luZG93LmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gRW4oZSl7cmV0dXJuIHNuKGUpPT09YGh0bWxgP2U6ZS5hc3NpZ25lZFNsb3R8fGUucGFyZW50Tm9kZXx8KHVuKGUpP2UuaG9zdDpudWxsKXx8VG4oZSl9ZnVuY3Rpb24gRG4oZSl7cmV0dXJuIWxuKGUpfHxDbihlKS5wb3NpdGlvbj09PWBmaXhlZGA/bnVsbDplLm9mZnNldFBhcmVudH1mdW5jdGlvbiBPbihlKXt2YXIgdD0vZmlyZWZveC9pLnRlc3Qodm4oKSk7aWYoL1RyaWRlbnQvaS50ZXN0KHZuKCkpJiZsbihlKSYmQ24oZSkucG9zaXRpb249PT1gZml4ZWRgKXJldHVybiBudWxsO3ZhciBuPUVuKGUpO2Zvcih1bihuKSYmKG49bi5ob3N0KTtsbihuKSYmW2BodG1sYCxgYm9keWBdLmluZGV4T2Yoc24obikpPDA7KXt2YXIgcj1DbihuKTtpZihyLnRyYW5zZm9ybSE9PWBub25lYHx8ci5wZXJzcGVjdGl2ZSE9PWBub25lYHx8ci5jb250YWluPT09YHBhaW50YHx8W2B0cmFuc2Zvcm1gLGBwZXJzcGVjdGl2ZWBdLmluZGV4T2Yoci53aWxsQ2hhbmdlKSE9PS0xfHx0JiZyLndpbGxDaGFuZ2U9PT1gZmlsdGVyYHx8dCYmci5maWx0ZXImJnIuZmlsdGVyIT09YG5vbmVgKXJldHVybiBuO249bi5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGtuKGUpe2Zvcih2YXIgdD0kKGUpLG49RG4oZSk7biYmd24obikmJkNuKG4pLnBvc2l0aW9uPT09YHN0YXRpY2A7KW49RG4obik7cmV0dXJuIG4mJihzbihuKT09PWBodG1sYHx8c24obik9PT1gYm9keWAmJkNuKG4pLnBvc2l0aW9uPT09YHN0YXRpY2ApP3Q6bnx8T24oZSl8fHR9ZnVuY3Rpb24gQW4oZSl7cmV0dXJuW2B0b3BgLGBib3R0b21gXS5pbmRleE9mKGUpPj0wP2B4YDpgeWB9ZnVuY3Rpb24gam4oZSx0LG4pe3JldHVybiBobihlLGduKHQsbikpfWZ1bmN0aW9uIE1uKGUsdCxuKXt2YXIgcj1qbihlLHQsbik7cmV0dXJuIHI+bj9uOnJ9ZnVuY3Rpb24gTm4oKXtyZXR1cm57dG9wOjAscmlnaHQ6MCxib3R0b206MCxsZWZ0OjB9fWZ1bmN0aW9uIFBuKGUpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LE5uKCksZSl9ZnVuY3Rpb24gRm4oZSx0KXtyZXR1cm4gdC5yZWR1Y2UoZnVuY3Rpb24odCxuKXtyZXR1cm4gdFtuXT1lLHR9LHt9KX12YXIgSW49ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT10eXBlb2YgZT09YGZ1bmN0aW9uYD9lKE9iamVjdC5hc3NpZ24oe30sdC5yZWN0cyx7cGxhY2VtZW50OnQucGxhY2VtZW50fSkpOmUsUG4odHlwZW9mIGU9PWBudW1iZXJgP0ZuKGUsWnQpOmUpfTtmdW5jdGlvbiBMbihlKXt2YXIgdCxuPWUuc3RhdGUscj1lLm5hbWUsaT1lLm9wdGlvbnMsYT1uLmVsZW1lbnRzLmFycm93LG89bi5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMscz1tbihuLnBsYWNlbWVudCksYz1BbihzKSxsPVtgbGVmdGAsYHJpZ2h0YF0uaW5kZXhPZihzKT49MD9gaGVpZ2h0YDpgd2lkdGhgO2lmKCEoIWF8fCFvKSl7dmFyIHU9SW4oaS5wYWRkaW5nLG4pLGQ9eG4oYSksZj1jPT09YHlgP2B0b3BgOll0LHA9Yz09PWB5YD9xdDpKdCxtPW4ucmVjdHMucmVmZXJlbmNlW2xdK24ucmVjdHMucmVmZXJlbmNlW2NdLW9bY10tbi5yZWN0cy5wb3BwZXJbbF0saD1vW2NdLW4ucmVjdHMucmVmZXJlbmNlW2NdLGc9a24oYSksXz1nP2M9PT1geWA/Zy5jbGllbnRIZWlnaHR8fDA6Zy5jbGllbnRXaWR0aHx8MDowLHY9bS8yLWgvMix5PXVbZl0sYj1fLWRbbF0tdVtwXSx4PV8vMi1kW2xdLzIrdixTPWpuKHkseCxiKSxDPWM7bi5tb2RpZmllcnNEYXRhW3JdPSh0PXt9LHRbQ109Uyx0LmNlbnRlck9mZnNldD1TLXgsdCl9fWZ1bmN0aW9uIFJuKGUpe3ZhciB0PWUuc3RhdGUsbj1lLm9wdGlvbnMuZWxlbWVudCxyPW49PT12b2lkIDA/YFtkYXRhLXBvcHBlci1hcnJvd11gOm47ciE9bnVsbCYmKHR5cGVvZiByPT1gc3RyaW5nYCYmKHI9dC5lbGVtZW50cy5wb3BwZXIucXVlcnlTZWxlY3RvcihyKSwhcil8fFNuKHQuZWxlbWVudHMucG9wcGVyLHIpJiYodC5lbGVtZW50cy5hcnJvdz1yKSl9dmFyIHpuPXtuYW1lOmBhcnJvd2AsZW5hYmxlZDohMCxwaGFzZTpgbWFpbmAsZm46TG4sZWZmZWN0OlJuLHJlcXVpcmVzOltgcG9wcGVyT2Zmc2V0c2BdLHJlcXVpcmVzSWZFeGlzdHM6W2BwcmV2ZW50T3ZlcmZsb3dgXX07ZnVuY3Rpb24gQm4oZSl7cmV0dXJuIGUuc3BsaXQoYC1gKVsxXX12YXIgVm49e3RvcDpgYXV0b2AscmlnaHQ6YGF1dG9gLGJvdHRvbTpgYXV0b2AsbGVmdDpgYXV0b2B9O2Z1bmN0aW9uIEhuKGUsdCl7dmFyIG49ZS54LHI9ZS55LGk9dC5kZXZpY2VQaXhlbFJhdGlvfHwxO3JldHVybnt4Ol9uKG4qaSkvaXx8MCx5Ol9uKHIqaSkvaXx8MH19ZnVuY3Rpb24gVW4oZSl7dmFyIHQsbj1lLnBvcHBlcixyPWUucG9wcGVyUmVjdCxpPWUucGxhY2VtZW50LGE9ZS52YXJpYXRpb24sbz1lLm9mZnNldHMscz1lLnBvc2l0aW9uLGM9ZS5ncHVBY2NlbGVyYXRpb24sbD1lLmFkYXB0aXZlLHU9ZS5yb3VuZE9mZnNldHMsZD1lLmlzRml4ZWQsZj1vLngscD1mPT09dm9pZCAwPzA6ZixtPW8ueSxoPW09PT12b2lkIDA/MDptLGc9dHlwZW9mIHU9PWBmdW5jdGlvbmA/dSh7eDpwLHk6aH0pOnt4OnAseTpofTtwPWcueCxoPWcueTt2YXIgXz1vLmhhc093blByb3BlcnR5KGB4YCksdj1vLmhhc093blByb3BlcnR5KGB5YCkseT1ZdCxiPWB0b3BgLHg9d2luZG93O2lmKGwpe3ZhciBTPWtuKG4pLEM9YGNsaWVudEhlaWdodGAsdz1gY2xpZW50V2lkdGhgO2lmKFM9PT0kKG4pJiYoUz1UbihuKSxDbihTKS5wb3NpdGlvbiE9PWBzdGF0aWNgJiZzPT09YGFic29sdXRlYCYmKEM9YHNjcm9sbEhlaWdodGAsdz1gc2Nyb2xsV2lkdGhgKSksUz1TLGk9PT1gdG9wYHx8KGk9PT1gbGVmdGB8fGk9PT1gcmlnaHRgKSYmYT09PWBlbmRgKXtiPXF0O3ZhciBUPWQmJlM9PT14JiZ4LnZpc3VhbFZpZXdwb3J0P3gudmlzdWFsVmlld3BvcnQuaGVpZ2h0OlNbQ107aC09VC1yLmhlaWdodCxoKj1jPzE6LTF9aWYoaT09PWBsZWZ0YHx8KGk9PT1gdG9wYHx8aT09PWBib3R0b21gKSYmYT09PWBlbmRgKXt5PUp0O3ZhciBFPWQmJlM9PT14JiZ4LnZpc3VhbFZpZXdwb3J0P3gudmlzdWFsVmlld3BvcnQud2lkdGg6U1t3XTtwLT1FLXIud2lkdGgscCo9Yz8xOi0xfX12YXIgRD1PYmplY3QuYXNzaWduKHtwb3NpdGlvbjpzfSxsJiZWbiksTz11PT09ITA/SG4oe3g6cCx5Omh9LCQobikpOnt4OnAseTpofTtpZihwPU8ueCxoPU8ueSxjKXt2YXIgaztyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxELChrPXt9LGtbYl09dj9gMGA6YGAsa1t5XT1fP2AwYDpgYCxrLnRyYW5zZm9ybT0oeC5kZXZpY2VQaXhlbFJhdGlvfHwxKTw9MT9gdHJhbnNsYXRlKGArcCtgcHgsIGAraCtgcHgpYDpgdHJhbnNsYXRlM2QoYCtwK2BweCwgYCtoK2BweCwgMClgLGspKX1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSxELCh0PXt9LHRbYl09dj9oK2BweGA6YGAsdFt5XT1fP3ArYHB4YDpgYCx0LnRyYW5zZm9ybT1gYCx0KSl9ZnVuY3Rpb24gV24oZSl7dmFyIHQ9ZS5zdGF0ZSxuPWUub3B0aW9ucyxyPW4uZ3B1QWNjZWxlcmF0aW9uLGk9cj09PXZvaWQgMD8hMDpyLGE9bi5hZGFwdGl2ZSxvPWE9PT12b2lkIDA/ITA6YSxzPW4ucm91bmRPZmZzZXRzLGM9cz09PXZvaWQgMD8hMDpzLGw9e3BsYWNlbWVudDptbih0LnBsYWNlbWVudCksdmFyaWF0aW9uOkJuKHQucGxhY2VtZW50KSxwb3BwZXI6dC5lbGVtZW50cy5wb3BwZXIscG9wcGVyUmVjdDp0LnJlY3RzLnBvcHBlcixncHVBY2NlbGVyYXRpb246aSxpc0ZpeGVkOnQub3B0aW9ucy5zdHJhdGVneT09PWBmaXhlZGB9O3QubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzIT1udWxsJiYodC5zdHlsZXMucG9wcGVyPU9iamVjdC5hc3NpZ24oe30sdC5zdHlsZXMucG9wcGVyLFVuKE9iamVjdC5hc3NpZ24oe30sbCx7b2Zmc2V0czp0Lm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cyxwb3NpdGlvbjp0Lm9wdGlvbnMuc3RyYXRlZ3ksYWRhcHRpdmU6byxyb3VuZE9mZnNldHM6Y30pKSkpLHQubW9kaWZpZXJzRGF0YS5hcnJvdyE9bnVsbCYmKHQuc3R5bGVzLmFycm93PU9iamVjdC5hc3NpZ24oe30sdC5zdHlsZXMuYXJyb3csVW4oT2JqZWN0LmFzc2lnbih7fSxsLHtvZmZzZXRzOnQubW9kaWZpZXJzRGF0YS5hcnJvdyxwb3NpdGlvbjpgYWJzb2x1dGVgLGFkYXB0aXZlOiExLHJvdW5kT2Zmc2V0czpjfSkpKSksdC5hdHRyaWJ1dGVzLnBvcHBlcj1PYmplY3QuYXNzaWduKHt9LHQuYXR0cmlidXRlcy5wb3BwZXIseyJkYXRhLXBvcHBlci1wbGFjZW1lbnQiOnQucGxhY2VtZW50fSl9dmFyIEduPXtuYW1lOmBjb21wdXRlU3R5bGVzYCxlbmFibGVkOiEwLHBoYXNlOmBiZWZvcmVXcml0ZWAsZm46V24sZGF0YTp7fX0sS249e3Bhc3NpdmU6ITB9O2Z1bmN0aW9uIHFuKGUpe3ZhciB0PWUuc3RhdGUsbj1lLmluc3RhbmNlLHI9ZS5vcHRpb25zLGk9ci5zY3JvbGwsYT1pPT09dm9pZCAwPyEwOmksbz1yLnJlc2l6ZSxzPW89PT12b2lkIDA/ITA6byxjPSQodC5lbGVtZW50cy5wb3BwZXIpLGw9W10uY29uY2F0KHQuc2Nyb2xsUGFyZW50cy5yZWZlcmVuY2UsdC5zY3JvbGxQYXJlbnRzLnBvcHBlcik7cmV0dXJuIGEmJmwuZm9yRWFjaChmdW5jdGlvbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoYHNjcm9sbGAsbi51cGRhdGUsS24pfSkscyYmYy5hZGRFdmVudExpc3RlbmVyKGByZXNpemVgLG4udXBkYXRlLEtuKSxmdW5jdGlvbigpe2EmJmwuZm9yRWFjaChmdW5jdGlvbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHNjcm9sbGAsbi51cGRhdGUsS24pfSkscyYmYy5yZW1vdmVFdmVudExpc3RlbmVyKGByZXNpemVgLG4udXBkYXRlLEtuKX19dmFyIEpuPXtuYW1lOmBldmVudExpc3RlbmVyc2AsZW5hYmxlZDohMCxwaGFzZTpgd3JpdGVgLGZuOmZ1bmN0aW9uKCl7fSxlZmZlY3Q6cW4sZGF0YTp7fX0sWW49e2xlZnQ6YHJpZ2h0YCxyaWdodDpgbGVmdGAsYm90dG9tOmB0b3BgLHRvcDpgYm90dG9tYH07ZnVuY3Rpb24gWG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csZnVuY3Rpb24oZSl7cmV0dXJuIFluW2VdfSl9dmFyIFpuPXtzdGFydDpgZW5kYCxlbmQ6YHN0YXJ0YH07ZnVuY3Rpb24gUW4oZSl7cmV0dXJuIGUucmVwbGFjZSgvc3RhcnR8ZW5kL2csZnVuY3Rpb24oZSl7cmV0dXJuIFpuW2VdfSl9ZnVuY3Rpb24gJG4oZSl7dmFyIHQ9JChlKTtyZXR1cm57c2Nyb2xsTGVmdDp0LnBhZ2VYT2Zmc2V0LHNjcm9sbFRvcDp0LnBhZ2VZT2Zmc2V0fX1mdW5jdGlvbiBlcihlKXtyZXR1cm4gYm4oVG4oZSkpLmxlZnQrJG4oZSkuc2Nyb2xsTGVmdH1mdW5jdGlvbiB0cihlLHQpe3ZhciBuPSQoZSkscj1UbihlKSxpPW4udmlzdWFsVmlld3BvcnQsYT1yLmNsaWVudFdpZHRoLG89ci5jbGllbnRIZWlnaHQscz0wLGM9MDtpZihpKXthPWkud2lkdGgsbz1pLmhlaWdodDt2YXIgbD15bigpOyhsfHwhbCYmdD09PWBmaXhlZGApJiYocz1pLm9mZnNldExlZnQsYz1pLm9mZnNldFRvcCl9cmV0dXJue3dpZHRoOmEsaGVpZ2h0Om8seDpzK2VyKGUpLHk6Y319ZnVuY3Rpb24gbnIoZSl7dmFyIHQ9VG4oZSksbj0kbihlKSxyPWUub3duZXJEb2N1bWVudD8uYm9keSxpPWhuKHQuc2Nyb2xsV2lkdGgsdC5jbGllbnRXaWR0aCxyP3Iuc2Nyb2xsV2lkdGg6MCxyP3IuY2xpZW50V2lkdGg6MCksYT1obih0LnNjcm9sbEhlaWdodCx0LmNsaWVudEhlaWdodCxyP3Iuc2Nyb2xsSGVpZ2h0OjAscj9yLmNsaWVudEhlaWdodDowKSxvPS1uLnNjcm9sbExlZnQrZXIoZSkscz0tbi5zY3JvbGxUb3A7cmV0dXJuIENuKHJ8fHQpLmRpcmVjdGlvbj09PWBydGxgJiYobys9aG4odC5jbGllbnRXaWR0aCxyP3IuY2xpZW50V2lkdGg6MCktaSkse3dpZHRoOmksaGVpZ2h0OmEseDpvLHk6c319ZnVuY3Rpb24gcnIoZSl7dmFyIHQ9Q24oZSksbj10Lm92ZXJmbG93LHI9dC5vdmVyZmxvd1gsaT10Lm92ZXJmbG93WTtyZXR1cm4vYXV0b3xzY3JvbGx8b3ZlcmxheXxoaWRkZW4vLnRlc3QobitpK3IpfWZ1bmN0aW9uIGlyKGUpe3JldHVybltgaHRtbGAsYGJvZHlgLGAjZG9jdW1lbnRgXS5pbmRleE9mKHNuKGUpKT49MD9lLm93bmVyRG9jdW1lbnQuYm9keTpsbihlKSYmcnIoZSk/ZTppcihFbihlKSl9ZnVuY3Rpb24gYXIoZSx0KXt0PT09dm9pZCAwJiYodD1bXSk7dmFyIG49aXIoZSkscj1uPT09ZS5vd25lckRvY3VtZW50Py5ib2R5LGk9JChuKSxhPXI/W2ldLmNvbmNhdChpLnZpc3VhbFZpZXdwb3J0fHxbXSxycihuKT9uOltdKTpuLG89dC5jb25jYXQoYSk7cmV0dXJuIHI/bzpvLmNvbmNhdChhcihFbihhKSkpfWZ1bmN0aW9uIG9yKGUpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUse2xlZnQ6ZS54LHRvcDplLnkscmlnaHQ6ZS54K2Uud2lkdGgsYm90dG9tOmUueStlLmhlaWdodH0pfWZ1bmN0aW9uIHNyKGUsdCl7dmFyIG49Ym4oZSwhMSx0PT09YGZpeGVkYCk7cmV0dXJuIG4udG9wKz1lLmNsaWVudFRvcCxuLmxlZnQrPWUuY2xpZW50TGVmdCxuLmJvdHRvbT1uLnRvcCtlLmNsaWVudEhlaWdodCxuLnJpZ2h0PW4ubGVmdCtlLmNsaWVudFdpZHRoLG4ud2lkdGg9ZS5jbGllbnRXaWR0aCxuLmhlaWdodD1lLmNsaWVudEhlaWdodCxuLng9bi5sZWZ0LG4ueT1uLnRvcCxufWZ1bmN0aW9uIGNyKGUsdCxuKXtyZXR1cm4gdD09PWB2aWV3cG9ydGA/b3IodHIoZSxuKSk6Y24odCk/c3IodCxuKTpvcihucihUbihlKSkpfWZ1bmN0aW9uIGxyKGUpe3ZhciB0PWFyKEVuKGUpKSxuPVtgYWJzb2x1dGVgLGBmaXhlZGBdLmluZGV4T2YoQ24oZSkucG9zaXRpb24pPj0wJiZsbihlKT9rbihlKTplO3JldHVybiBjbihuKT90LmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gY24oZSkmJlNuKGUsbikmJnNuKGUpIT09YGJvZHlgfSk6W119ZnVuY3Rpb24gdXIoZSx0LG4scil7dmFyIGk9dD09PWBjbGlwcGluZ1BhcmVudHNgP2xyKGUpOltdLmNvbmNhdCh0KSxhPVtdLmNvbmNhdChpLFtuXSksbz1hWzBdLHM9YS5yZWR1Y2UoZnVuY3Rpb24odCxuKXt2YXIgaT1jcihlLG4scik7cmV0dXJuIHQudG9wPWhuKGkudG9wLHQudG9wKSx0LnJpZ2h0PWduKGkucmlnaHQsdC5yaWdodCksdC5ib3R0b209Z24oaS5ib3R0b20sdC5ib3R0b20pLHQubGVmdD1obihpLmxlZnQsdC5sZWZ0KSx0fSxjcihlLG8scikpO3JldHVybiBzLndpZHRoPXMucmlnaHQtcy5sZWZ0LHMuaGVpZ2h0PXMuYm90dG9tLXMudG9wLHMueD1zLmxlZnQscy55PXMudG9wLHN9ZnVuY3Rpb24gZHIoZSl7dmFyIHQ9ZS5yZWZlcmVuY2Usbj1lLmVsZW1lbnQscj1lLnBsYWNlbWVudCxpPXI/bW4ocik6bnVsbCxhPXI/Qm4ocik6bnVsbCxvPXQueCt0LndpZHRoLzItbi53aWR0aC8yLHM9dC55K3QuaGVpZ2h0LzItbi5oZWlnaHQvMixjO3N3aXRjaChpKXtjYXNlYHRvcGA6Yz17eDpvLHk6dC55LW4uaGVpZ2h0fTticmVhaztjYXNlIHF0OmM9e3g6byx5OnQueSt0LmhlaWdodH07YnJlYWs7Y2FzZSBKdDpjPXt4OnQueCt0LndpZHRoLHk6c307YnJlYWs7Y2FzZSBZdDpjPXt4OnQueC1uLndpZHRoLHk6c307YnJlYWs7ZGVmYXVsdDpjPXt4OnQueCx5OnQueX19dmFyIGw9aT9BbihpKTpudWxsO2lmKGwhPW51bGwpe3ZhciB1PWw9PT1geWA/YGhlaWdodGA6YHdpZHRoYDtzd2l0Y2goYSl7Y2FzZSBRdDpjW2xdPWNbbF0tKHRbdV0vMi1uW3VdLzIpO2JyZWFrO2Nhc2VgZW5kYDpjW2xdPWNbbF0rKHRbdV0vMi1uW3VdLzIpO2JyZWFrO2RlZmF1bHQ6fX1yZXR1cm4gY31mdW5jdGlvbiBmcihlLHQpe3Q9PT12b2lkIDAmJih0PXt9KTt2YXIgbj10LHI9bi5wbGFjZW1lbnQsaT1yPT09dm9pZCAwP2UucGxhY2VtZW50OnIsYT1uLnN0cmF0ZWd5LG89YT09PXZvaWQgMD9lLnN0cmF0ZWd5OmEscz1uLmJvdW5kYXJ5LGM9cz09PXZvaWQgMD8kdDpzLGw9bi5yb290Qm91bmRhcnksdT1sPT09dm9pZCAwP2VuOmwsZD1uLmVsZW1lbnRDb250ZXh0LGY9ZD09PXZvaWQgMD90bjpkLHA9bi5hbHRCb3VuZGFyeSxtPXA9PT12b2lkIDA/ITE6cCxoPW4ucGFkZGluZyxnPWg9PT12b2lkIDA/MDpoLF89UG4odHlwZW9mIGc9PWBudW1iZXJgP0ZuKGcsWnQpOmcpLHY9Zj09PWBwb3BwZXJgP25uOnRuLHk9ZS5yZWN0cy5wb3BwZXIsYj1lLmVsZW1lbnRzW20/djpmXSx4PXVyKGNuKGIpP2I6Yi5jb250ZXh0RWxlbWVudHx8VG4oZS5lbGVtZW50cy5wb3BwZXIpLGMsdSxvKSxTPWJuKGUuZWxlbWVudHMucmVmZXJlbmNlKSxDPWRyKHtyZWZlcmVuY2U6UyxlbGVtZW50Onksc3RyYXRlZ3k6YGFic29sdXRlYCxwbGFjZW1lbnQ6aX0pLHc9b3IoT2JqZWN0LmFzc2lnbih7fSx5LEMpKSxUPWY9PT1gcG9wcGVyYD93OlMsRT17dG9wOngudG9wLVQudG9wK18udG9wLGJvdHRvbTpULmJvdHRvbS14LmJvdHRvbStfLmJvdHRvbSxsZWZ0OngubGVmdC1ULmxlZnQrXy5sZWZ0LHJpZ2h0OlQucmlnaHQteC5yaWdodCtfLnJpZ2h0fSxEPWUubW9kaWZpZXJzRGF0YS5vZmZzZXQ7aWYoZj09PWBwb3BwZXJgJiZEKXt2YXIgTz1EW2ldO09iamVjdC5rZXlzKEUpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9W2ByaWdodGAsYGJvdHRvbWBdLmluZGV4T2YoZSk+PTA/MTotMSxuPVtgdG9wYCxgYm90dG9tYF0uaW5kZXhPZihlKT49MD9geWA6YHhgO0VbZV0rPU9bbl0qdH0pfXJldHVybiBFfWZ1bmN0aW9uIHByKGUsdCl7dD09PXZvaWQgMCYmKHQ9e30pO3ZhciBuPXQscj1uLnBsYWNlbWVudCxpPW4uYm91bmRhcnksYT1uLnJvb3RCb3VuZGFyeSxvPW4ucGFkZGluZyxzPW4uZmxpcFZhcmlhdGlvbnMsYz1uLmFsbG93ZWRBdXRvUGxhY2VtZW50cyxsPWM9PT12b2lkIDA/YW46Yyx1PUJuKHIpLGQ9dT9zP3JuOnJuLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gQm4oZSk9PT11fSk6WnQsZj1kLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gbC5pbmRleE9mKGUpPj0wfSk7Zi5sZW5ndGg9PT0wJiYoZj1kKTt2YXIgcD1mLnJlZHVjZShmdW5jdGlvbih0LG4pe3JldHVybiB0W25dPWZyKGUse3BsYWNlbWVudDpuLGJvdW5kYXJ5Omkscm9vdEJvdW5kYXJ5OmEscGFkZGluZzpvfSlbbW4obildLHR9LHt9KTtyZXR1cm4gT2JqZWN0LmtleXMocCkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiBwW2VdLXBbdF19KX1mdW5jdGlvbiBtcihlKXtpZihtbihlKT09PWBhdXRvYClyZXR1cm5bXTt2YXIgdD1YbihlKTtyZXR1cm5bUW4oZSksdCxRbih0KV19ZnVuY3Rpb24gaHIoZSl7dmFyIHQ9ZS5zdGF0ZSxuPWUub3B0aW9ucyxyPWUubmFtZTtpZighdC5tb2RpZmllcnNEYXRhW3JdLl9za2lwKXtmb3IodmFyIGk9bi5tYWluQXhpcyxhPWk9PT12b2lkIDA/ITA6aSxvPW4uYWx0QXhpcyxzPW89PT12b2lkIDA/ITA6byxjPW4uZmFsbGJhY2tQbGFjZW1lbnRzLGw9bi5wYWRkaW5nLHU9bi5ib3VuZGFyeSxkPW4ucm9vdEJvdW5kYXJ5LGY9bi5hbHRCb3VuZGFyeSxwPW4uZmxpcFZhcmlhdGlvbnMsbT1wPT09dm9pZCAwPyEwOnAsaD1uLmFsbG93ZWRBdXRvUGxhY2VtZW50cyxnPXQub3B0aW9ucy5wbGFjZW1lbnQsXz1tbihnKT09PWcsdj1jfHwoX3x8IW0/W1huKGcpXTptcihnKSkseT1bZ10uY29uY2F0KHYpLnJlZHVjZShmdW5jdGlvbihlLG4pe3JldHVybiBlLmNvbmNhdChtbihuKT09PWBhdXRvYD9wcih0LHtwbGFjZW1lbnQ6bixib3VuZGFyeTp1LHJvb3RCb3VuZGFyeTpkLHBhZGRpbmc6bCxmbGlwVmFyaWF0aW9uczptLGFsbG93ZWRBdXRvUGxhY2VtZW50czpofSk6bil9LFtdKSxiPXQucmVjdHMucmVmZXJlbmNlLHg9dC5yZWN0cy5wb3BwZXIsUz1uZXcgTWFwLEM9ITAsdz15WzBdLFQ9MDtUPHkubGVuZ3RoO1QrKyl7dmFyIEU9eVtUXSxEPW1uKEUpLE89Qm4oRSk9PT1RdCxrPVtgdG9wYCxxdF0uaW5kZXhPZihEKT49MCxBPWs/YHdpZHRoYDpgaGVpZ2h0YCxqPWZyKHQse3BsYWNlbWVudDpFLGJvdW5kYXJ5OnUscm9vdEJvdW5kYXJ5OmQsYWx0Qm91bmRhcnk6ZixwYWRkaW5nOmx9KSxNPWs/Tz9KdDpZdDpPP3F0OmB0b3BgO2JbQV0+eFtBXSYmKE09WG4oTSkpO3ZhciBlZT1YbihNKSx0ZT1bXTtpZihhJiZ0ZS5wdXNoKGpbRF08PTApLHMmJnRlLnB1c2goaltNXTw9MCxqW2VlXTw9MCksdGUuZXZlcnkoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSl7dz1FLEM9ITE7YnJlYWt9Uy5zZXQoRSx0ZSl9aWYoQylmb3IodmFyIE49bT8zOjEsbmU9ZnVuY3Rpb24oZSl7dmFyIHQ9eS5maW5kKGZ1bmN0aW9uKHQpe3ZhciBuPVMuZ2V0KHQpO2lmKG4pcmV0dXJuIG4uc2xpY2UoMCxlKS5ldmVyeShmdW5jdGlvbihlKXtyZXR1cm4gZX0pfSk7aWYodClyZXR1cm4gdz10LGBicmVha2B9LHJlPU47cmU+MCYmbmUocmUpIT09YGJyZWFrYDtyZS0tKTt0LnBsYWNlbWVudCE9PXcmJih0Lm1vZGlmaWVyc0RhdGFbcl0uX3NraXA9ITAsdC5wbGFjZW1lbnQ9dyx0LnJlc2V0PSEwKX19dmFyIGdyPXtuYW1lOmBmbGlwYCxlbmFibGVkOiEwLHBoYXNlOmBtYWluYCxmbjpocixyZXF1aXJlc0lmRXhpc3RzOltgb2Zmc2V0YF0sZGF0YTp7X3NraXA6ITF9fTtmdW5jdGlvbiBfcihlLHQsbil7cmV0dXJuIG49PT12b2lkIDAmJihuPXt4OjAseTowfSkse3RvcDplLnRvcC10LmhlaWdodC1uLnkscmlnaHQ6ZS5yaWdodC10LndpZHRoK24ueCxib3R0b206ZS5ib3R0b20tdC5oZWlnaHQrbi55LGxlZnQ6ZS5sZWZ0LXQud2lkdGgtbi54fX1mdW5jdGlvbiB2cihlKXtyZXR1cm5bYHRvcGAsSnQscXQsWXRdLnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF0+PTB9KX1mdW5jdGlvbiB5cihlKXt2YXIgdD1lLnN0YXRlLG49ZS5uYW1lLHI9dC5yZWN0cy5yZWZlcmVuY2UsaT10LnJlY3RzLnBvcHBlcixhPXQubW9kaWZpZXJzRGF0YS5wcmV2ZW50T3ZlcmZsb3csbz1mcih0LHtlbGVtZW50Q29udGV4dDpgcmVmZXJlbmNlYH0pLHM9ZnIodCx7YWx0Qm91bmRhcnk6ITB9KSxjPV9yKG8sciksbD1fcihzLGksYSksdT12cihjKSxkPXZyKGwpO3QubW9kaWZpZXJzRGF0YVtuXT17cmVmZXJlbmNlQ2xpcHBpbmdPZmZzZXRzOmMscG9wcGVyRXNjYXBlT2Zmc2V0czpsLGlzUmVmZXJlbmNlSGlkZGVuOnUsaGFzUG9wcGVyRXNjYXBlZDpkfSx0LmF0dHJpYnV0ZXMucG9wcGVyPU9iamVjdC5hc3NpZ24oe30sdC5hdHRyaWJ1dGVzLnBvcHBlcix7ImRhdGEtcG9wcGVyLXJlZmVyZW5jZS1oaWRkZW4iOnUsImRhdGEtcG9wcGVyLWVzY2FwZWQiOmR9KX12YXIgYnI9e25hbWU6YGhpZGVgLGVuYWJsZWQ6ITAscGhhc2U6YG1haW5gLHJlcXVpcmVzSWZFeGlzdHM6W2BwcmV2ZW50T3ZlcmZsb3dgXSxmbjp5cn07ZnVuY3Rpb24geHIoZSx0LG4pe3ZhciByPW1uKGUpLGk9W2BsZWZ0YCxgdG9wYF0uaW5kZXhPZihyKT49MD8tMToxLGE9dHlwZW9mIG49PWBmdW5jdGlvbmA/bihPYmplY3QuYXNzaWduKHt9LHQse3BsYWNlbWVudDplfSkpOm4sbz1hWzBdLHM9YVsxXTtyZXR1cm4gb3x8PTAscz0oc3x8MCkqaSxbYGxlZnRgLGByaWdodGBdLmluZGV4T2Yocik+PTA/e3g6cyx5Om99Ont4Om8seTpzfX1mdW5jdGlvbiBTcihlKXt2YXIgdD1lLnN0YXRlLG49ZS5vcHRpb25zLHI9ZS5uYW1lLGk9bi5vZmZzZXQsYT1pPT09dm9pZCAwP1swLDBdOmksbz1hbi5yZWR1Y2UoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZVtuXT14cihuLHQucmVjdHMsYSksZX0se30pLHM9b1t0LnBsYWNlbWVudF0sYz1zLngsbD1zLnk7dC5tb2RpZmllcnNEYXRhLnBvcHBlck9mZnNldHMhPW51bGwmJih0Lm1vZGlmaWVyc0RhdGEucG9wcGVyT2Zmc2V0cy54Kz1jLHQubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLnkrPWwpLHQubW9kaWZpZXJzRGF0YVtyXT1vfXZhciBDcj17bmFtZTpgb2Zmc2V0YCxlbmFibGVkOiEwLHBoYXNlOmBtYWluYCxyZXF1aXJlczpbYHBvcHBlck9mZnNldHNgXSxmbjpTcn07ZnVuY3Rpb24gd3IoZSl7dmFyIHQ9ZS5zdGF0ZSxuPWUubmFtZTt0Lm1vZGlmaWVyc0RhdGFbbl09ZHIoe3JlZmVyZW5jZTp0LnJlY3RzLnJlZmVyZW5jZSxlbGVtZW50OnQucmVjdHMucG9wcGVyLHN0cmF0ZWd5OmBhYnNvbHV0ZWAscGxhY2VtZW50OnQucGxhY2VtZW50fSl9dmFyIFRyPXtuYW1lOmBwb3BwZXJPZmZzZXRzYCxlbmFibGVkOiEwLHBoYXNlOmByZWFkYCxmbjp3cixkYXRhOnt9fTtmdW5jdGlvbiBFcihlKXtyZXR1cm4gZT09PWB4YD9geWA6YHhgfWZ1bmN0aW9uIERyKGUpe3ZhciB0PWUuc3RhdGUsbj1lLm9wdGlvbnMscj1lLm5hbWUsaT1uLm1haW5BeGlzLGE9aT09PXZvaWQgMD8hMDppLG89bi5hbHRBeGlzLHM9bz09PXZvaWQgMD8hMTpvLGM9bi5ib3VuZGFyeSxsPW4ucm9vdEJvdW5kYXJ5LHU9bi5hbHRCb3VuZGFyeSxkPW4ucGFkZGluZyxmPW4udGV0aGVyLHA9Zj09PXZvaWQgMD8hMDpmLG09bi50ZXRoZXJPZmZzZXQsaD1tPT09dm9pZCAwPzA6bSxnPWZyKHQse2JvdW5kYXJ5OmMscm9vdEJvdW5kYXJ5OmwscGFkZGluZzpkLGFsdEJvdW5kYXJ5OnV9KSxfPW1uKHQucGxhY2VtZW50KSx2PUJuKHQucGxhY2VtZW50KSx5PSF2LGI9QW4oXykseD1FcihiKSxTPXQubW9kaWZpZXJzRGF0YS5wb3BwZXJPZmZzZXRzLEM9dC5yZWN0cy5yZWZlcmVuY2Usdz10LnJlY3RzLnBvcHBlcixUPXR5cGVvZiBoPT1gZnVuY3Rpb25gP2goT2JqZWN0LmFzc2lnbih7fSx0LnJlY3RzLHtwbGFjZW1lbnQ6dC5wbGFjZW1lbnR9KSk6aCxFPXR5cGVvZiBUPT1gbnVtYmVyYD97bWFpbkF4aXM6VCxhbHRBeGlzOlR9Ok9iamVjdC5hc3NpZ24oe21haW5BeGlzOjAsYWx0QXhpczowfSxUKSxEPXQubW9kaWZpZXJzRGF0YS5vZmZzZXQ/dC5tb2RpZmllcnNEYXRhLm9mZnNldFt0LnBsYWNlbWVudF06bnVsbCxPPXt4OjAseTowfTtpZihTKXtpZihhKXt2YXIgaz1iPT09YHlgP2B0b3BgOll0LEE9Yj09PWB5YD9xdDpKdCxqPWI9PT1geWA/YGhlaWdodGA6YHdpZHRoYCxNPVNbYl0sZWU9TStnW2tdLHRlPU0tZ1tBXSxOPXA/LXdbal0vMjowLG5lPXY9PT1gc3RhcnRgP0Nbal06d1tqXSxyZT12PT09YHN0YXJ0YD8td1tqXTotQ1tqXSxQPXQuZWxlbWVudHMuYXJyb3csaWU9cCYmUD94bihQKTp7d2lkdGg6MCxoZWlnaHQ6MH0sRj10Lm1vZGlmaWVyc0RhdGFbYGFycm93I3BlcnNpc3RlbnRgXT90Lm1vZGlmaWVyc0RhdGFbYGFycm93I3BlcnNpc3RlbnRgXS5wYWRkaW5nOk5uKCksYWU9RltrXSxJPUZbQV0sTD1qbigwLENbal0saWVbal0pLFI9eT9DW2pdLzItTi1MLWFlLUUubWFpbkF4aXM6bmUtTC1hZS1FLm1haW5BeGlzLG9lPXk/LUNbal0vMitOK0wrSStFLm1haW5BeGlzOnJlK0wrSStFLm1haW5BeGlzLHNlPXQuZWxlbWVudHMuYXJyb3cmJmtuKHQuZWxlbWVudHMuYXJyb3cpLHo9c2U/Yj09PWB5YD9zZS5jbGllbnRUb3B8fDA6c2UuY2xpZW50TGVmdHx8MDowLGNlPUQ/LltiXT8/MCxsZT1NK1ItY2Uteix1ZT1NK29lLWNlLGRlPWpuKHA/Z24oZWUsbGUpOmVlLE0scD9obih0ZSx1ZSk6dGUpO1NbYl09ZGUsT1tiXT1kZS1NfWlmKHMpe3ZhciBCPWI9PT1geGA/YHRvcGA6WXQsZmU9Yj09PWB4YD9xdDpKdCxwZT1TW3hdLFY9eD09PWB5YD9gaGVpZ2h0YDpgd2lkdGhgLG1lPXBlK2dbQl0saGU9cGUtZ1tmZV0sZ2U9W2B0b3BgLFl0XS5pbmRleE9mKF8pIT09LTEsSD1EPy5beF0/PzAsX2U9Z2U/bWU6cGUtQ1tWXS13W1ZdLUgrRS5hbHRBeGlzLFU9Z2U/cGUrQ1tWXSt3W1ZdLUgtRS5hbHRBeGlzOmhlLHZlPXAmJmdlP01uKF9lLHBlLFUpOmpuKHA/X2U6bWUscGUscD9VOmhlKTtTW3hdPXZlLE9beF09dmUtcGV9dC5tb2RpZmllcnNEYXRhW3JdPU99fXZhciBPcj17bmFtZTpgcHJldmVudE92ZXJmbG93YCxlbmFibGVkOiEwLHBoYXNlOmBtYWluYCxmbjpEcixyZXF1aXJlc0lmRXhpc3RzOltgb2Zmc2V0YF19O2Z1bmN0aW9uIGtyKGUpe3JldHVybntzY3JvbGxMZWZ0OmUuc2Nyb2xsTGVmdCxzY3JvbGxUb3A6ZS5zY3JvbGxUb3B9fWZ1bmN0aW9uIEFyKGUpe3JldHVybiBlPT09JChlKXx8IWxuKGUpPyRuKGUpOmtyKGUpfWZ1bmN0aW9uIGpyKGUpe3ZhciB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1fbih0LndpZHRoKS9lLm9mZnNldFdpZHRofHwxLHI9X24odC5oZWlnaHQpL2Uub2Zmc2V0SGVpZ2h0fHwxO3JldHVybiBuIT09MXx8ciE9PTF9ZnVuY3Rpb24gTXIoZSx0LG4pe249PT12b2lkIDAmJihuPSExKTt2YXIgcj1sbih0KSxpPWxuKHQpJiZqcih0KSxhPVRuKHQpLG89Ym4oZSxpLG4pLHM9e3Njcm9sbExlZnQ6MCxzY3JvbGxUb3A6MH0sYz17eDowLHk6MH07cmV0dXJuKHJ8fCFyJiYhbikmJigoc24odCkhPT1gYm9keWB8fHJyKGEpKSYmKHM9QXIodCkpLGxuKHQpPyhjPWJuKHQsITApLGMueCs9dC5jbGllbnRMZWZ0LGMueSs9dC5jbGllbnRUb3ApOmEmJihjLng9ZXIoYSkpKSx7eDpvLmxlZnQrcy5zY3JvbGxMZWZ0LWMueCx5Om8udG9wK3Muc2Nyb2xsVG9wLWMueSx3aWR0aDpvLndpZHRoLGhlaWdodDpvLmhlaWdodH19ZnVuY3Rpb24gTnIoZSl7dmFyIHQ9bmV3IE1hcCxuPW5ldyBTZXQscj1bXTtlLmZvckVhY2goZnVuY3Rpb24oZSl7dC5zZXQoZS5uYW1lLGUpfSk7ZnVuY3Rpb24gaShlKXtuLmFkZChlLm5hbWUpLFtdLmNvbmNhdChlLnJlcXVpcmVzfHxbXSxlLnJlcXVpcmVzSWZFeGlzdHN8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKCFuLmhhcyhlKSl7dmFyIHI9dC5nZXQoZSk7ciYmaShyKX19KSxyLnB1c2goZSl9cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlKXtuLmhhcyhlLm5hbWUpfHxpKGUpfSkscn1mdW5jdGlvbiBQcihlKXt2YXIgdD1OcihlKTtyZXR1cm4gb24ucmVkdWNlKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuY29uY2F0KHQuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLnBoYXNlPT09bn0pKX0sW10pfWZ1bmN0aW9uIEZyKGUpe3ZhciB0O3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fHw9bmV3IFByb21pc2UoZnVuY3Rpb24obil7UHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3Q9dm9pZCAwLG4oZSgpKX0pfSksdH19ZnVuY3Rpb24gSXIoZSl7dmFyIHQ9ZS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXt2YXIgbj1lW3QubmFtZV07cmV0dXJuIGVbdC5uYW1lXT1uP09iamVjdC5hc3NpZ24oe30sbix0LHtvcHRpb25zOk9iamVjdC5hc3NpZ24oe30sbi5vcHRpb25zLHQub3B0aW9ucyksZGF0YTpPYmplY3QuYXNzaWduKHt9LG4uZGF0YSx0LmRhdGEpfSk6dCxlfSx7fSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pfXZhciBMcj17cGxhY2VtZW50OmBib3R0b21gLG1vZGlmaWVyczpbXSxzdHJhdGVneTpgYWJzb2x1dGVgfTtmdW5jdGlvbiBScigpe3JldHVybiFbLi4uYXJndW1lbnRzXS5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiEoZSYmdHlwZW9mIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0PT1gZnVuY3Rpb25gKX0pfWZ1bmN0aW9uIHpyKGUpe2U9PT12b2lkIDAmJihlPXt9KTt2YXIgdD1lLG49dC5kZWZhdWx0TW9kaWZpZXJzLHI9bj09PXZvaWQgMD9bXTpuLGk9dC5kZWZhdWx0T3B0aW9ucyxhPWk9PT12b2lkIDA/THI6aTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe249PT12b2lkIDAmJihuPWEpO3ZhciBpPXtwbGFjZW1lbnQ6YGJvdHRvbWAsb3JkZXJlZE1vZGlmaWVyczpbXSxvcHRpb25zOk9iamVjdC5hc3NpZ24oe30sTHIsYSksbW9kaWZpZXJzRGF0YTp7fSxlbGVtZW50czp7cmVmZXJlbmNlOmUscG9wcGVyOnR9LGF0dHJpYnV0ZXM6e30sc3R5bGVzOnt9fSxvPVtdLHM9ITEsYz17c3RhdGU6aSxzZXRPcHRpb25zOmZ1bmN0aW9uKG4pe3ZhciBvPXR5cGVvZiBuPT1gZnVuY3Rpb25gP24oaS5vcHRpb25zKTpuO3UoKSxpLm9wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxhLGkub3B0aW9ucyxvKSxpLnNjcm9sbFBhcmVudHM9e3JlZmVyZW5jZTpjbihlKT9hcihlKTplLmNvbnRleHRFbGVtZW50P2FyKGUuY29udGV4dEVsZW1lbnQpOltdLHBvcHBlcjphcih0KX07dmFyIHM9UHIoSXIoW10uY29uY2F0KHIsaS5vcHRpb25zLm1vZGlmaWVycykpKTtyZXR1cm4gaS5vcmRlcmVkTW9kaWZpZXJzPXMuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmVuYWJsZWR9KSxsKCksYy51cGRhdGUoKX0sZm9yY2VVcGRhdGU6ZnVuY3Rpb24oKXtpZighcyl7dmFyIGU9aS5lbGVtZW50cyx0PWUucmVmZXJlbmNlLG49ZS5wb3BwZXI7aWYoUnIodCxuKSl7aS5yZWN0cz17cmVmZXJlbmNlOk1yKHQsa24obiksaS5vcHRpb25zLnN0cmF0ZWd5PT09YGZpeGVkYCkscG9wcGVyOnhuKG4pfSxpLnJlc2V0PSExLGkucGxhY2VtZW50PWkub3B0aW9ucy5wbGFjZW1lbnQsaS5vcmRlcmVkTW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIGkubW9kaWZpZXJzRGF0YVtlLm5hbWVdPU9iamVjdC5hc3NpZ24oe30sZS5kYXRhKX0pO2Zvcih2YXIgcj0wO3I8aS5vcmRlcmVkTW9kaWZpZXJzLmxlbmd0aDtyKyspe2lmKGkucmVzZXQ9PT0hMCl7aS5yZXNldD0hMSxyPS0xO2NvbnRpbnVlfXZhciBhPWkub3JkZXJlZE1vZGlmaWVyc1tyXSxvPWEuZm4sbD1hLm9wdGlvbnMsdT1sPT09dm9pZCAwP3t9OmwsZD1hLm5hbWU7dHlwZW9mIG89PWBmdW5jdGlvbmAmJihpPW8oe3N0YXRlOmksb3B0aW9uczp1LG5hbWU6ZCxpbnN0YW5jZTpjfSl8fGkpfX19fSx1cGRhdGU6RnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7Yy5mb3JjZVVwZGF0ZSgpLGUoaSl9KX0pLGRlc3Ryb3k6ZnVuY3Rpb24oKXt1KCkscz0hMH19O2lmKCFScihlLHQpKXJldHVybiBjO2Muc2V0T3B0aW9ucyhuKS50aGVuKGZ1bmN0aW9uKGUpeyFzJiZuLm9uRmlyc3RVcGRhdGUmJm4ub25GaXJzdFVwZGF0ZShlKX0pO2Z1bmN0aW9uIGwoKXtpLm9yZGVyZWRNb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1lLm5hbWUsbj1lLm9wdGlvbnMscj1uPT09dm9pZCAwP3t9Om4sYT1lLmVmZmVjdDtpZih0eXBlb2YgYT09YGZ1bmN0aW9uYCl7dmFyIHM9YSh7c3RhdGU6aSxuYW1lOnQsaW5zdGFuY2U6YyxvcHRpb25zOnJ9KTtvLnB1c2goc3x8ZnVuY3Rpb24oKXt9KX19KX1mdW5jdGlvbiB1KCl7by5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KSxvPVtdfXJldHVybiBjfX12YXIgQnI9enIoe2RlZmF1bHRNb2RpZmllcnM6W0puLFRyLEduLHBuLENyLGdyLE9yLHpuLGJyXX0pLFZyPVN0KFR0KCksMSk7ZnVuY3Rpb24gSHIoZSl7bGV0IHQ9bnVsbCxuLHIsaT1lLGE9KCk9PntuIT09dm9pZCAwJiZyIT09dm9pZCAwJiYodD1CcihuLHIsaSkpfSxvPSgpPT57dCE9PW51bGwmJih0LmRlc3Ryb3koKSx0PW51bGwpfSxzPWU9PmBzdWJzY3JpYmVgaW4gZT8oYyhlKSx7fSk6KG49ZSxhKCkse2Rlc3Ryb3koKXtvKCl9fSksYz1lPT57aGUoZS5zdWJzY3JpYmUoZT0+e249PT12b2lkIDA/KG49ZSxhKCkpOihPYmplY3QuYXNzaWduKG4sZSksdD8udXBkYXRlKCkpfSkpfTtyZXR1cm5bcywobixzKT0+KHI9bixpPXsuLi5lLC4uLnN9LGEoKSx7dXBkYXRlKG4pe2k9ey4uLmUsLi4ubn0sdD8uc2V0T3B0aW9ucyhpKX0sZGVzdHJveSgpe28oKX19KSwoKT0+dF19dmFyIFVyPShlLHQpPT57bGV0IG49bHQoZSkscj1uPT57ZSYmIWUuY29udGFpbnMobi50YXJnZXQpJiYhbi5kZWZhdWx0UHJldmVudGVkJiZ0KCl9O3JldHVybiBuLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyLCEwKSx7ZGVzdHJveSgpe24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIsITApfX19LFdyPWYoYDxkaXYgaWQ9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiIGNsYXNzPSJ6LTEwIj48ZGl2PiA8L2Rpdj48L2Rpdj5gKSxHcj1mKGA8c3Bhbj48IT48L3NwYW4+IDwhPmAsMSk7ZnVuY3Rpb24gS3IoZSx0KXtXKHQsITApO2xldCBuPVUodCxgdmFyaWFudGAsMyxgZGFya2ApLHI9VSh0LGBwbGFjZW1lbnRgLDMsYGF1dG9gKSxpPVUodCxgZGVsYXlgLDMsNTAwKSxhPVUodCxgaXNEaXNhYmxlZEZvclRvdWNoRGV2aWNlc2AsMywhMCkscz14KG51bGwpLGMsbD14KCExKSxbdSxkXT1Icih7cGxhY2VtZW50OnIoKX0pLGY9e21vZGlmaWVyczpbe25hbWU6YG9mZnNldGAsb3B0aW9uczp7b2Zmc2V0OlswLDhdfX0se25hbWU6YGZsaXBgLG9wdGlvbnM6e2FsdEJvdW5kYXJ5OiEwfX0se25hbWU6YHByZXZlbnRPdmVyZmxvd2Asb3B0aW9uczp7YWx0QXhpczohMCxwYWRkaW5nOntyaWdodDo0LGxlZnQ6NH19fV19LHA9KCk9PntoKGwsIWsobCkpfSxtPSgpPT57Yz1DKCkuc2V0VGltZW91dCgoKT0+e2gobCwhMCl9LGkoKSl9LGc9KCk9PntjJiY9KEMoKS5jbGVhclRpbWVvdXQoYyksdm9pZCAwKSxrKGwpJiZoKGwsITEpfTtwZSgoKT0+e2lmKCEoaigpJiZhKCkpJiZrKHMpKXJldHVybiBqKCk/ayhzKS5hZGRFdmVudExpc3RlbmVyKGBwb2ludGVyZG93bmAscCk6KGsocykuYWRkRXZlbnRMaXN0ZW5lcihgbW91c2VlbnRlcmAsbSksayhzKS5hZGRFdmVudExpc3RlbmVyKGBtb3VzZWxlYXZlYCxnKSksKCk9PntrKHMpJiYoayhzKS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb2ludGVyZG93bmAscCksayhzKS5yZW1vdmVFdmVudExpc3RlbmVyKGBtb3VzZWVudGVyYCxtKSxrKHMpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYG1vdXNlbGVhdmVgLGcpKX19KSxoZSgoKT0+e2MmJkMoKS5jbGVhclRpbWVvdXQoYyl9KTt2YXIgdj1HcigpLGI9eih2KTtJZShvKGIpLCgpPT50LmNoaWxkcmVuKSxxKGIpLGJ0KGIsZT0+aChzLGUpLCgpPT5rKHMpKSxqZShiLGU9PnU/LihlKSk7dmFyIFM9XyhiLDIpLHc9ZT0+e3ZhciByPVdyKCksaT1vKHIpLGE9byhpLCEwKTtxKGkpLGplKGksKGUsdCk9PlVyPy4oZSx0KSwoKT0+KCk9PmgobCwhMSkpLHEociksamUociwoZSx0KT0+ZD8uKGUsdCksKCk9PmYpLHkoKCk9PntaKGksMSxUZShbYHRleHQtd2hpdGUgdGV4dC14cyByb3VuZGVkLW1kIHdoaXRlc3BhY2Utbm93cmFwYCxgJHtuKCl9YF0pLGBzdmVsdGUtc2o5OWgzYCksSShhLHQuY29udGVudCl9KSxvdCgzLGksKCk9Pm10LCgpPT4oe2R1cmF0aW9uOjI1MCxzdGFydDouODV9KSksUShlLHIpfTtLKFMsZT0+e2sobCkmJmUodyl9KSxRKGUsdiksSigpfXZhciBxcj1mKGA8ZGl2IHJvbGU9ImxpbmsiIHRhYmluZGV4PSIwIiBjbGFzcz0iaW5saW5lLWZsZXggdGV4dC14cyB0ZXh0LXNsYXRlLTUwMCBob3Zlcjp0ZXh0LXNsYXRlLTgwMCB1bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnMiPiA8L2Rpdj5gKTtmdW5jdGlvbiBKcihlLHQpe1codCwhMCk7bGV0IG49KCk9PntsZXR7cHJpdmFjeU5vdGljZVVybDplfT1zZS5nZXRPcHRpb25zKCk7aWYoZSYmIXQuaXNUaWNrZXRGb3JtKXtDKCkub3BlbihlLGBfYmxhbmtgKTtyZXR1cm59UGUoc3QuR2RwckFuZFByaXZhY3kse3VzZVN0YWNrOiEwfSl9O3ZhciBpPXFyKCkscz1vKGksITApO3EoaSkseSgoKT0+SShzLHQubGFiZWwpKSxyKGBjbGlja2AsaSxuKSxyKGBrZXlkb3duYCxpLGU9PmUua2V5PT09YS5FbnRlciYmbigpKSxRKGUsaSksSigpfUtlKFtgY2xpY2tgLGBrZXlkb3duYF0pO3ZhciBZcj1sKGA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgcm9sZT0icHJlc2VudGF0aW9uIiBjbGFzcz0ic3ZlbHRlLXlpeGhhdCI+PHBhdGg+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFhyKGUsdCl7dmFyIG49WXIoKSxyPW8obik7cShuKSx5KCgpPT5ZKHIsYGRgLHQucGF0aCkpLFEoZSxuKX12YXIgWnI9YE0yMC41NzkgOS4wNjJhNS45NDYgNS45NDYgMCAwIDAtNS43NTktNC40OEgxNHYtLjc0NEEyLjMzNyAyLjMzNyAwIDAgMCAxMiAyYTIuMzM3IDIuMzM3IDAgMCAwLTIgMS44Mzh2Ljc0NEg4Ljg3MWE1Ljk0NiA1Ljk0NiAwIDAgMC01Ljc1OSA0LjQ4QzEuNzYxIDkuMTU3IDEgMTAgMSAxMS42NDZ2NS4yMDZhMi41MjcgMi41MjcgMCAwIDAgMi4yOTQgMi42IDIuNTQ5IDIuNTQ5IDAgMCAwIC44MjctLjE0NyA1LjkzNCA1LjkzNCAwIDAgMCA0Ljc1IDIuMzc4aDUuOTQ5YTUuOTMzIDUuOTMzIDAgMCAwIDQuNzUtMi4zNzggMi41NDkgMi41NDkgMCAwIDAgLjgyNy4xNDcgMi42IDIuNiAwIDAgMCAyLjYtMi42di01LjIwNmEyLjYgMi42IDAgMCAwLTIuNDE4LTIuNTg0ek0xMC4zNTggMTYuNDhhMS40ODcgMS40ODcgMCAxIDEtMi45NzQgMHYtMS40ODdhMS40ODcgMS40ODcgMCAxIDEgMi45NzQgMHptNS45NDkgMGExLjQ4NyAxLjQ4NyAwIDEgMS0yLjk3NCAwdi0xLjQ4N2ExLjQ4NyAxLjQ4NyAwIDEgMSAyLjk3NCAwemA7ZnVuY3Rpb24gUXIoZSl7WHIoZSx7Z2V0IHBhdGgoKXtyZXR1cm4gWnJ9fSl9dmFyICRyPWwoYDxzdmc+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJtMjIgN2wtOC45OTEgNS43MjdhMiAyIDAgMCAxLTIuMDA5IDBMMiA3Ij48L3BhdGg+PHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjE2IiB4PSIyIiB5PSI0IiByeD0iMiI+PC9yZWN0PjwvZz48L3N2Zz5gKTtmdW5jdGlvbiBlaShlLHQpe2xldCBuPVAodCxbYCQkc2xvdHNgLGAkJGV2ZW50c2AsYCQkbGVnYWN5YF0pO3ZhciByPSRyKCk7RyhyLCgpPT4oe3ZpZXdCb3g6YDAgMCAyNCAyNGAsd2lkdGg6YDEuMmVtYCxoZWlnaHQ6YDEuMmVtYCwuLi5ufSkpLFEoZSxyKX12YXIgdGk9ZihgPGRpdj48IT48L2Rpdj5gKSxuaT1mKGA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSB0b3AtMy43IGxlZnQtMy43IGlubGluZS1ibG9jayBwLTAuOCByb3VuZGVkLWZ1bGwgYmctc2xhdGUtMTAwIHRleHQtcHJpbWFyeSI+PCE+PC9kaXY+YCkscmk9ZihgPGltZy8+IDwhPmAsMSksaWk9ZihgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBhaShlLHQpe1codCwhMCk7bGV0IG49KCk9PkgobWUsYCR0YCxyKSxbcixpXT1CKCksYT1VKHQsYHNpemVgLDMsYG1kYCkscz1VKHQsYGlzRW1haWxUeXBlYCwzLCExKSxjPVUodCxgaXNCb3RgLDMsITEpLGw9VigoKT0+Rih0LmF2YXRhcikpO3ZhciB1PWlpKCksZD1vKHUpLGY9ZT0+e3ZhciB0PXRpKCk7UXIobyh0KSx7fSkscSh0KSx5KGU9PntZKHQsYGFyaWEtbGFiZWxgLGUpLFoodCwxLFRlKFtgZmxleC1jZW50ZXIgYmctc2xhdGUtMzAwIHRleHQtd2hpdGUgcm91bmRlZC1mdWxsYCxhKCk9PT1gc21gJiZgdy02IGgtNiB0ZXh0LXNtYCxhKCk9PT1gbWRgJiZgdy04IGgtOCB0ZXh0LWxnYCxhKCk9PT1gbGdgJiZgdy0xMSBoLTExIHRleHQtMnhsYF0pKX0sWygpPT5uKCkoYGFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyYCldKSxRKGUsdCl9LHA9ZT0+e3ZhciB0PXJpKCkscj16KHQpLGk9XyhyLDIpLGM9ZT0+e2xldCB0PVYoKCk9PmVpKTt2YXIgbj1uaSgpO1plKG8obiksKCk9PmsodCksKGUsdCk9Pnt0KGUse2NsYXNzOmB3LTIuNSBoLTIuNSB0ZXh0LXByaW1hcnlgfSl9KSxxKG4pLFEoZSxuKX07SyhpLGU9PntzKCkmJmUoYyl9KSx5KGU9PntZKHIsYHNyY2AsayhsKSksWShyLGBhbHRgLGUpLFkocixgZGF0YS10ZXN0aWRgLFguYXZhdGFyQWdlbnQpLFoociwxLFRlKFtgcm91bmRlZC1mdWxsYCxhKCk9PT1gc21gJiZgdy02IGgtNmAsYSgpPT09YG1kYCYmYHctOCBoLThgLGEoKT09PWBsZ2AmJmB3LTExIGgtMTFgXSkpfSxbKCk9Pm4oKShgYXJpYUxhYmVsLmFnZW50QXZhdGFyYCldKSxRKGUsdCl9O0soZCxlPT57IXQuYXZhdGFyJiZjKCk/ZShmKTplKHAsLTEpfSkscSh1KSxRKGUsdSksSigpLGkoKX12YXIgb2k9RGUoW2IsZyxwXSwoW2UsdCxuXSxyKT0+e2xldCBpPXd0KGUpLGE9aT8udHJpZ2dlcj8uaWRlbnRpdHlJZDtuPT09VnIuQ2hhdFN0YXR1cy5TZXJ2ZWQ/cihudWxsKTppPy5zdWJUeXBlPT09VnQuTWVzc2FnZVN1YlR5cGUuQm90JiZhJiZ0W2FdJiZyKHRbYV0pfSksc2k9ZT0+RGUoW2ddLChbdF0pPT50W2VdPz9udWxsKSxjaT1mKGA8IT4gPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1sZWZ0IC1tdC0zIHBiLTEiPjwhPjwvZGl2PmAsMSksbGk9ZihgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiB1aShlLHQpe1codCwhMCk7bGV0IG49KCk9PkgobWUsYCR0YCxyKSxbcixpXT1CKCksYT1VKHQsYHJlcGxhY2VUZXh0YCwzLGBgKSxzPVUodCxgY2xhbXBgLDE5LCgpPT5zZS5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkKSxjPVUodCxgc2hvdWxkU2VuZExpbmtPcGVuZWRFdmVudGAsMywhMSksbD1WKCgpPT50LnRleHQubWF0Y2godHQpKTt2YXIgdT1saSgpLGQ9byh1KSxmPWU9Pnt2YXIgcj1jaSgpLGk9eihyKTtOZShpLCgpPT5DZSh0LnRleHQucmVwbGFjZSh0dCxgYCkpKTt2YXIgYT1fKGksMikscz1vKGEpO3tsZXQgZT1WKCgpPT5uKCkoYHRvcEJhci5nZHByVGl0bGVgKSk7SnIocyx7Z2V0IGxhYmVsKCl7cmV0dXJuIGsoZSl9fSl9cShhKSxRKGUscil9LHA9ZT0+e3ZhciBuPUwoKTtOZSh6KG4pLCgpPT5fdCh0LnRleHQse3JlcGxhY2VUZXh0OmEoKSxjbGFtcDpzKCl9KSksUShlLG4pfTtLKGQsZT0+e2sobCk/ZShmKTplKHAsLTEpfSkscSh1KSxqZSh1LChlLHQpPT54ZT8uKGUsdCksYyksUShlLHUpLEooKSxpKCl9dmFyIGRpPWwoYDxzdmc+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIiBkPSJtMTUgMThsLTYtNmw2LTYiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBmaShlLHQpe2xldCBuPVAodCxbYCQkc2xvdHNgLGAkJGV2ZW50c2AsYCQkbGVnYWN5YF0pO3ZhciByPWRpKCk7RyhyLCgpPT4oe3ZpZXdCb3g6YDAgMCAyNCAyNGAsd2lkdGg6YDEuMmVtYCxoZWlnaHQ6YDEuMmVtYCwuLi5ufSkpLFEoZSxyKX12YXIgcGk9bChgPHN2Zz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Im05IDE4bDYtNmwtNi02Ij48L3BhdGg+PC9zdmc+YCk7ZnVuY3Rpb24gbWkoZSx0KXtsZXQgbj1QKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1waSgpO0cociwoKT0+KHt2aWV3Qm94OmAwIDAgMjQgMjRgLHdpZHRoOmAxLjJlbWAsaGVpZ2h0OmAxLjJlbWAsLi4ubn0pKSxRKGUscil9dmFyIGhpPWV0KCExKSxnaT0xNixfaT0xMCx2aT1jbGFzc3tjb25maWc7c2VsZWN0b3I7c2VsZWN0b3JXaWR0aDtpbm5lckVsZW1lbnRzO2N1cnJlbnRTbGlkZTtwZXJQYWdlPTA7c2xpZGVyRnJhbWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgZGl2YCk7cG9pbnRlckRvd249ITE7ZHJhZztjb25zdHJ1Y3RvcihlKXtpZih0aGlzLmNvbmZpZz10aGlzLm1lcmdlU2V0dGluZ3MoZSksdGhpcy5zZWxlY3Rvcj10eXBlb2YgdGhpcy5jb25maWcuc2VsZWN0b3I9PWBzdHJpbmdgP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5jb25maWcuc2VsZWN0b3IpOnRoaXMuY29uZmlnLnNlbGVjdG9yLCF0aGlzLnNlbGVjdG9yKXRocm93IEVycm9yKGBTb21ldGhpbmcgd3Jvbmcgd2l0aCB5b3VyIHNlbGVjdG9yIPCfmK1gKTt0aGlzLnJlc29sdmVTbGlkZXNOdW1iZXIoKSx0aGlzLnNlbGVjdG9yV2lkdGg9dGhpcy5zZWxlY3Rvci5vZmZzZXRXaWR0aCx0aGlzLmlubmVyRWxlbWVudHM9W10uc2xpY2UuY2FsbCh0aGlzLnNlbGVjdG9yLmNoaWxkcmVuKSx0aGlzLmN1cnJlbnRTbGlkZT1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuY29uZmlnLnN0YXJ0SW5kZXgsdGhpcy5pbm5lckVsZW1lbnRzLmxlbmd0aC10aGlzLnBlclBhZ2UpKSx0aGlzLmluaXQoKX1tZXJnZVNldHRpbmdzPWU9Pih7c2VsZWN0b3I6YC5jYXJvdXNlbGAsZWFzaW5nOmBlYXNlLW91dGAscGVyUGFnZToxLHN0YXJ0SW5kZXg6MCxkcmFnZ2FibGU6ITAsbXVsdGlwbGVEcmFnOiEwLHRocmVzaG9sZDoyMCxydGw6ITEsb25Jbml0OigpPT52b2lkIDAsb25DaGFuZ2U6KCk9PnZvaWQgMCwuLi5lfSk7YXR0YWNoRXZlbnRzPSgpPT57dGhpcy5zZWxlY3RvciYmdGhpcy5jb25maWcuZHJhZ2dhYmxlJiYodGhpcy5wb2ludGVyRG93bj0hMSx0aGlzLmRyYWc9e3N0YXJ0WDowLGVuZFg6MCxzdGFydFk6MCxsZXRJdEdvOm51bGwscHJldmVudENsaWNrOiExfSx0aGlzLnNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoYHRvdWNoc3RhcnRgLHRoaXMudG91Y2hzdGFydEhhbmRsZXIpLHRoaXMuc2VsZWN0b3IuYWRkRXZlbnRMaXN0ZW5lcihgdG91Y2hlbmRgLHRoaXMudG91Y2hlbmRIYW5kbGVyKSx0aGlzLnNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoYHRvdWNobW92ZWAsdGhpcy50b3VjaG1vdmVIYW5kbGVyKSx0aGlzLnNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoYG1vdXNlZG93bmAsdGhpcy5tb3VzZWRvd25IYW5kbGVyKSx0aGlzLnNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoYG1vdXNldXBgLHRoaXMubW91c2V1cEhhbmRsZXIpLHRoaXMuc2VsZWN0b3IuYWRkRXZlbnRMaXN0ZW5lcihgbW91c2VsZWF2ZWAsdGhpcy5tb3VzZWxlYXZlSGFuZGxlciksdGhpcy5zZWxlY3Rvci5hZGRFdmVudExpc3RlbmVyKGBtb3VzZW1vdmVgLHRoaXMubW91c2Vtb3ZlSGFuZGxlciksdGhpcy5zZWxlY3Rvci5hZGRFdmVudExpc3RlbmVyKGBjbGlja2AsdGhpcy5jbGlja0hhbmRsZXIpLHRoaXMuc2VsZWN0b3IuYWRkRXZlbnRMaXN0ZW5lcihgZm9jdXNpbmAsdGhpcy5mb2N1c2luSGFuZGxlcikpfTtkZXRhY2hFdmVudHM9KCk9Pnt0aGlzLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKGB0b3VjaHN0YXJ0YCx0aGlzLnRvdWNoc3RhcnRIYW5kbGVyKSx0aGlzLnNlbGVjdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHRvdWNoZW5kYCx0aGlzLnRvdWNoZW5kSGFuZGxlciksdGhpcy5zZWxlY3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKGB0b3VjaG1vdmVgLHRoaXMudG91Y2htb3ZlSGFuZGxlciksdGhpcy5zZWxlY3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKGBtb3VzZWRvd25gLHRoaXMubW91c2Vkb3duSGFuZGxlciksdGhpcy5zZWxlY3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKGBtb3VzZXVwYCx0aGlzLm1vdXNldXBIYW5kbGVyKSx0aGlzLnNlbGVjdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoYG1vdXNlbGVhdmVgLHRoaXMubW91c2VsZWF2ZUhhbmRsZXIpLHRoaXMuc2VsZWN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihgbW91c2Vtb3ZlYCx0aGlzLm1vdXNlbW92ZUhhbmRsZXIpLHRoaXMuc2VsZWN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHRoaXMuY2xpY2tIYW5kbGVyKSx0aGlzLnNlbGVjdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGZvY3VzaW5gLHRoaXMuZm9jdXNpbkhhbmRsZXIpKX07aW5pdD0oKT0+e3RoaXMuc2VsZWN0b3ImJih0aGlzLmF0dGFjaEV2ZW50cygpLHRoaXMuc2VsZWN0b3Iuc3R5bGUuZGlyZWN0aW9uPXRoaXMuY29uZmlnLnJ0bD9gcnRsYDpgbHRyYCx0aGlzLmJ1aWxkU2xpZGVyRnJhbWUoKSx0aGlzLmNvbmZpZy5vbkluaXQuY2FsbCh0aGlzKSl9O2J1aWxkU2xpZGVyRnJhbWU9KCk9PntpZighdGhpcy5zZWxlY3RvcilyZXR1cm47bGV0IGU9dGhpcy5zZWxlY3RvcldpZHRoL3RoaXMucGVyUGFnZTt0aGlzLnNsaWRlckZyYW1lLnN0eWxlLndpZHRoPWAke2UqdGhpcy5pbm5lckVsZW1lbnRzLmxlbmd0aH1weGAsdGhpcy5zbGlkZXJGcmFtZS5zdHlsZS5kaXNwbGF5PWBmbGV4YCx0aGlzLnNsaWRlckZyYW1lLnN0eWxlLmdhcD1gJHtnaX1weGAsdGhpcy5lbmFibGVUcmFuc2l0aW9uKCksdGhpcy5zbGlkZXJGcmFtZS5zZXRBdHRyaWJ1dGUoYGRhdGEtdGVzdGlkYCxYLnByb2R1Y3RDYXJkQ2Fyb3VzZWwpLHRoaXMuY29uZmlnLmRyYWdnYWJsZSYmKHRoaXMuc2VsZWN0b3Iuc3R5bGUuY3Vyc29yPWAtd2Via2l0LWdyYWJgKTtsZXQgdD1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKGxldCBlPTA7ZTx0aGlzLmlubmVyRWxlbWVudHMubGVuZ3RoO2UrKyl7bGV0IG49dGhpcy5idWlsZFNsaWRlckZyYW1lSXRlbSh0aGlzLmlubmVyRWxlbWVudHNbZV0pO3QuYXBwZW5kQ2hpbGQobil9dGhpcy5zbGlkZXJGcmFtZS5hcHBlbmRDaGlsZCh0KSx0aGlzLnNlbGVjdG9yLmlubmVySFRNTD1gYCx0aGlzLnNlbGVjdG9yLmFwcGVuZENoaWxkKHRoaXMuc2xpZGVyRnJhbWUpLHRoaXMuc2xpZGVUb0N1cnJlbnQoKX07YnVpbGRTbGlkZXJGcmFtZUl0ZW09ZT0+e2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGRpdmApO3JldHVybiB0LnN0eWxlLmRpc3BsYXk9YGZsZXhgLHQuc3R5bGUuY3NzRmxvYXQ9dGhpcy5jb25maWcucnRsP2ByaWdodGA6YGxlZnRgLHQuc3R5bGUuZmxvYXQ9dGhpcy5jb25maWcucnRsP2ByaWdodGA6YGxlZnRgLHQuc3R5bGUud2lkdGg9YCR7MTAwL3RoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGh9JWAsdC5hcHBlbmRDaGlsZChlKSx0fTtyZXNvbHZlU2xpZGVzTnVtYmVyPSgpPT57aWYodHlwZW9mIHRoaXMuY29uZmlnLnBlclBhZ2U9PWBudW1iZXJgKXRoaXMucGVyUGFnZT10aGlzLmNvbmZpZy5wZXJQYWdlO2Vsc2UgaWYodHlwZW9mIHRoaXMuY29uZmlnLnBlclBhZ2U9PWBvYmplY3RgKXt0aGlzLnBlclBhZ2U9MTtmb3IobGV0IGUgaW4gdGhpcy5jb25maWcucGVyUGFnZSl3aW5kb3cuaW5uZXJXaWR0aD49cGFyc2VJbnQoZSkmJih0aGlzLnBlclBhZ2U9dGhpcy5jb25maWcucGVyUGFnZVtlXSl9fTtwcmV2PShlPTEsdCk9PntpZih0aGlzLmlubmVyRWxlbWVudHMubGVuZ3RoPD10aGlzLnBlclBhZ2UpcmV0dXJuO2xldCBuPXRoaXMuY3VycmVudFNsaWRlO3RoaXMuY3VycmVudFNsaWRlPU1hdGgubWF4KHRoaXMuY3VycmVudFNsaWRlLWUsMCksbiE9PXRoaXMuY3VycmVudFNsaWRlJiYodGhpcy5zbGlkZVRvQ3VycmVudCgpLHRoaXMuY29uZmlnLm9uQ2hhbmdlLmNhbGwodGhpcyksdCYmdC5jYWxsKHRoaXMpKX07bmV4dD0oZT0xLHQpPT57aWYodGhpcy5pbm5lckVsZW1lbnRzLmxlbmd0aDw9dGhpcy5wZXJQYWdlKXJldHVybjtsZXQgbj10aGlzLmN1cnJlbnRTbGlkZTt0aGlzLmN1cnJlbnRTbGlkZT1NYXRoLm1pbih0aGlzLmN1cnJlbnRTbGlkZStlLHRoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGgtdGhpcy5wZXJQYWdlKSxuIT09dGhpcy5jdXJyZW50U2xpZGUmJih0aGlzLnNsaWRlVG9DdXJyZW50KCksdGhpcy5jb25maWcub25DaGFuZ2UuY2FsbCh0aGlzKSx0JiZ0LmNhbGwodGhpcykpfTtkaXNhYmxlVHJhbnNpdGlvbj0oKT0+e3RoaXMuc2xpZGVyRnJhbWUuc3R5bGUudHJhbnNpdGlvbj1gYWxsIDBtcyAke3RoaXMuY29uZmlnLmVhc2luZ31gfTtlbmFibGVUcmFuc2l0aW9uPSgpPT57dGhpcy5zbGlkZXJGcmFtZS5zdHlsZS50cmFuc2l0aW9uPWBhbGwgMjAwbXMgJHt0aGlzLmNvbmZpZy5lYXNpbmd9YH07Z29Ubz0oZSx0KT0+e2lmKHRoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGg8PXRoaXMucGVyUGFnZSlyZXR1cm47bGV0IG49dGhpcy5jdXJyZW50U2xpZGU7dGhpcy5jdXJyZW50U2xpZGU9TWF0aC5taW4oTWF0aC5tYXgoZSwwKSx0aGlzLmlubmVyRWxlbWVudHMubGVuZ3RoLXRoaXMucGVyUGFnZSksbiE9PXRoaXMuY3VycmVudFNsaWRlJiYodGhpcy5zbGlkZVRvQ3VycmVudCgpLHRoaXMuY29uZmlnLm9uQ2hhbmdlLmNhbGwodGhpcyksdCYmdC5jYWxsKHRoaXMpKX07c2xpZGVUb0N1cnJlbnQ9ZT0+e2xldCB0PSh0aGlzLmNvbmZpZy5ydGw/MTotMSkqdGhpcy5jdXJyZW50U2xpZGUqKHRoaXMuc2VsZWN0b3JXaWR0aC90aGlzLnBlclBhZ2UrZ2kvdGhpcy5wZXJQYWdlKTtlP3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuZW5hYmxlVHJhbnNpdGlvbigpLHRoaXMuc2xpZGVyRnJhbWUuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUzZCgke3R9cHgsIDAsIDApYH0pfSk6dGhpcy5zbGlkZXJGcmFtZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7dH1weCwgMCwgMClgfTt1cGRhdGVBZnRlckRyYWc9KCk9PntpZighdGhpcy5kcmFnKXJldHVybjtsZXQgZT0odGhpcy5jb25maWcucnRsPy0xOjEpKih0aGlzLmRyYWcuZW5kWC10aGlzLmRyYWcuc3RhcnRYKSx0PU1hdGguYWJzKGUpLG49dGhpcy5jb25maWcubXVsdGlwbGVEcmFnP01hdGguY2VpbCh0Lyh0aGlzLnNlbGVjdG9yV2lkdGgvdGhpcy5wZXJQYWdlKSk6MSxyPWU+MCYmdGhpcy5jdXJyZW50U2xpZGUtbjwwLGk9ZTwwJiZ0aGlzLmN1cnJlbnRTbGlkZStuPnRoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGgtdGhpcy5wZXJQYWdlO2U+MCYmdD50aGlzLmNvbmZpZy50aHJlc2hvbGQmJnRoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGg+dGhpcy5wZXJQYWdlP3RoaXMucHJldihuKTplPDAmJnQ+dGhpcy5jb25maWcudGhyZXNob2xkJiZ0aGlzLmlubmVyRWxlbWVudHMubGVuZ3RoPnRoaXMucGVyUGFnZSYmdGhpcy5uZXh0KG4pLHRoaXMuc2xpZGVUb0N1cnJlbnQocnx8aSl9O2NsZWFyRHJhZz0oKT0+e3RoaXMuZHJhZz17c3RhcnRYOjAsZW5kWDowLHN0YXJ0WTowLGxldEl0R286bnVsbCxwcmV2ZW50Q2xpY2s6dGhpcy5kcmFnPy5wcmV2ZW50Q2xpY2t8fCExfX07dG91Y2hzdGFydEhhbmRsZXI9ZT0+e1tgVEVYVEFSRUFgLGBPUFRJT05gLGBJTlBVVGAsYFNFTEVDVGBdLmluZGV4T2YoZS50YXJnZXQ/Lm5vZGVOYW1lKT09PS0xJiYoZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnBvaW50ZXJEb3duPSEwLHRoaXMuZHJhZyYmKHRoaXMuZHJhZy5wcmV2ZW50Q2xpY2s9ITEsaGkuc2V0KCExKSx0aGlzLmRyYWcuc3RhcnRYPWUudG91Y2hlc1swXS5wYWdlWCx0aGlzLmRyYWcuc3RhcnRZPWUudG91Y2hlc1swXS5wYWdlWSkpfTt0b3VjaGVuZEhhbmRsZXI9ZT0+e2Uuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5wb2ludGVyRG93bj0hMSx0aGlzLmVuYWJsZVRyYW5zaXRpb24oKSx0aGlzLmRyYWc/LmVuZFgmJnRoaXMudXBkYXRlQWZ0ZXJEcmFnKCksdGhpcy5jbGVhckRyYWcoKX07dG91Y2htb3ZlSGFuZGxlcj1lPT57aWYoZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRyYWcmJih0aGlzLmRyYWcubGV0SXRHbz09PW51bGwmJih0aGlzLmRyYWcubGV0SXRHbz1NYXRoLmFicyh0aGlzLmRyYWcuc3RhcnRZLWUudG91Y2hlc1swXS5wYWdlWSk8TWF0aC5hYnModGhpcy5kcmFnLnN0YXJ0WC1lLnRvdWNoZXNbMF0ucGFnZVgpKSx0aGlzLnBvaW50ZXJEb3duJiZ0aGlzLmRyYWcubGV0SXRHbykpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLmRyYWcuZW5kWD1lLnRvdWNoZXNbMF0ucGFnZVgsTWF0aC5hYnModGhpcy5kcmFnLmVuZFgtdGhpcy5kcmFnLnN0YXJ0WCk+X2kmJihoaS5zZXQoITApLHRoaXMuZHJhZy5wcmV2ZW50Q2xpY2s9ITApLHRoaXMuc2xpZGVyRnJhbWUuc3R5bGUud2Via2l0VHJhbnNpdGlvbj1gYWxsIDBtcyAke3RoaXMuY29uZmlnLmVhc2luZ31gLHRoaXMuc2xpZGVyRnJhbWUuc3R5bGUudHJhbnNpdGlvbj1gYWxsIDBtcyAke3RoaXMuY29uZmlnLmVhc2luZ31gO2xldCB0PXRoaXMuY3VycmVudFNsaWRlKih0aGlzLnNlbGVjdG9yV2lkdGgvdGhpcy5wZXJQYWdlK2dpL3RoaXMucGVyUGFnZSksbj10aGlzLmRyYWcuZW5kWC10aGlzLmRyYWcuc3RhcnRYLHI9dGhpcy5jb25maWcucnRsP3Qrbjp0LW47dGhpcy5zbGlkZXJGcmFtZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7KHRoaXMuY29uZmlnLnJ0bD8xOi0xKSpyfXB4LCAwLCAwKWB9fTttb3VzZWRvd25IYW5kbGVyPWU9PntbYFRFWFRBUkVBYCxgT1BUSU9OYCxgSU5QVVRgLGBTRUxFQ1RgXS5pbmRleE9mKGUudGFyZ2V0Py5ub2RlTmFtZSk9PT0tMSYmKGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMucG9pbnRlckRvd249ITAsdGhpcy5kcmFnJiYodGhpcy5kcmFnLnByZXZlbnRDbGljaz0hMSxoaS5zZXQoITEpLHRoaXMuZHJhZy5zdGFydFg9ZS5wYWdlWCkpfTttb3VzZXVwSGFuZGxlcj1lPT57dGhpcy5zZWxlY3RvciYmKGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5wb2ludGVyRG93bj0hMSx0aGlzLnNlbGVjdG9yLnN0eWxlLmN1cnNvcj1gLXdlYmtpdC1ncmFiYCx0aGlzLmVuYWJsZVRyYW5zaXRpb24oKSx0aGlzLmRyYWc/LmVuZFgmJnRoaXMudXBkYXRlQWZ0ZXJEcmFnKCksdGhpcy5jbGVhckRyYWcoKSl9O21vdXNlbW92ZUhhbmRsZXI9ZT0+e2lmKHRoaXMuc2VsZWN0b3ImJihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5wb2ludGVyRG93biYmdGhpcy5kcmFnKSl7dGhpcy5kcmFnLmVuZFg9ZS5wYWdlWCxNYXRoLmFicyh0aGlzLmRyYWcuZW5kWC10aGlzLmRyYWcuc3RhcnRYKT5faSYmKGhpLnNldCghMCksdGhpcy5kcmFnLnByZXZlbnRDbGljaz0hMCksdGhpcy5zZWxlY3Rvci5zdHlsZS5jdXJzb3I9YC13ZWJraXQtZ3JhYmJpbmdgLHRoaXMuc2xpZGVyRnJhbWUuc3R5bGUud2Via2l0VHJhbnNpdGlvbj1gYWxsIDBtcyAke3RoaXMuY29uZmlnLmVhc2luZ31gLHRoaXMuc2xpZGVyRnJhbWUuc3R5bGUudHJhbnNpdGlvbj1gYWxsIDBtcyAke3RoaXMuY29uZmlnLmVhc2luZ31gO2xldCB0PXRoaXMuY3VycmVudFNsaWRlKih0aGlzLnNlbGVjdG9yV2lkdGgvdGhpcy5wZXJQYWdlK2dpL3RoaXMucGVyUGFnZSksbj10aGlzLmRyYWcuZW5kWC10aGlzLmRyYWcuc3RhcnRYLHI9dGhpcy5jb25maWcucnRsP3Qrbjp0LW47dGhpcy5zbGlkZXJGcmFtZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZTNkKCR7KHRoaXMuY29uZmlnLnJ0bD8xOi0xKSpyfXB4LCAwLCAwKWB9fTttb3VzZWxlYXZlSGFuZGxlcj1lPT57dGhpcy5wb2ludGVyRG93biYmdGhpcy5zZWxlY3RvciYmdGhpcy5kcmFnJiYodGhpcy5wb2ludGVyRG93bj0hMSx0aGlzLnNlbGVjdG9yLnN0eWxlLmN1cnNvcj1gLXdlYmtpdC1ncmFiYCx0aGlzLmRyYWcuZW5kWD1lLnBhZ2VYLHRoaXMuZW5hYmxlVHJhbnNpdGlvbigpLHRoaXMudXBkYXRlQWZ0ZXJEcmFnKCksdGhpcy5jbGVhckRyYWcoKSl9O2ZvY3VzaW5IYW5kbGVyPWU9PntpZighdGhpcy5zZWxlY3RvcilyZXR1cm47dGhpcy5kcmFnJiYodGhpcy5kcmFnLnByZXZlbnRDbGljaz0hMSksaGkuc2V0KCExKTtsZXQgdD1lLnRhcmdldDt0aGlzLnNlbGVjdG9yLnNjcm9sbEludG9WaWV3KHtpbmxpbmU6YGVuZGAsYmVoYXZpb3I6YGluc3RhbnRgfSk7bGV0IG49dGhpcy5pbm5lckVsZW1lbnRzLmZpbmRJbmRleChlPT5lPT09dHx8ZS5jb250YWlucyh0KSk7biE9PS0xJiZ0aGlzLmdvVG8obil9O2NsaWNrSGFuZGxlcj1lPT57dGhpcy5kcmFnJiYodGhpcy5kcmFnLnByZXZlbnRDbGljayYmZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZHJhZy5wcmV2ZW50Q2xpY2s9ITEpfTtyZW1vdmU9KGUsdCk9PntpZihlPDB8fGU+PXRoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGgpdGhyb3cgRXJyb3IoYEl0ZW0gdG8gcmVtb3ZlIGRvZXNuJ3QgZXhpc3Qg8J+YrWApO2xldCBuPWU8dGhpcy5jdXJyZW50U2xpZGUscj10aGlzLmN1cnJlbnRTbGlkZSt0aGlzLnBlclBhZ2UtMT09PWU7KG58fHIpJiZ0aGlzLmN1cnJlbnRTbGlkZS0tLHRoaXMuaW5uZXJFbGVtZW50cy5zcGxpY2UoZSwxKSx0aGlzLmJ1aWxkU2xpZGVyRnJhbWUoKSx0JiZ0LmNhbGwodGhpcyl9O2luc2VydD0oZSx0LG4pPT57aWYodDwwfHx0PnRoaXMuaW5uZXJFbGVtZW50cy5sZW5ndGgrMSl0aHJvdyBFcnJvcihgVW5hYmxlIHRvIGluc2V0IGl0IGF0IHRoaXMgaW5kZXgg8J+YrWApO2lmKHRoaXMuaW5uZXJFbGVtZW50cy5pbmRleE9mKGUpIT09LTEpdGhyb3cgRXJyb3IoYFRoZSBzYW1lIGl0ZW0gaW4gYSBjYXJvdXNlbD8gUmVhbGx5PyBOb3BlIPCfmK1gKTtsZXQgcj10PD10aGlzLmN1cnJlbnRTbGlkZSYmdGhpcy5jdXJyZW50U2xpZGU+MCYmdGhpcy5pbm5lckVsZW1lbnRzLmxlbmd0aDt0aGlzLmN1cnJlbnRTbGlkZT1yP3RoaXMuY3VycmVudFNsaWRlKzE6dGhpcy5jdXJyZW50U2xpZGUsdGhpcy5pbm5lckVsZW1lbnRzLnNwbGljZSh0LDAsZSksdGhpcy5idWlsZFNsaWRlckZyYW1lKCksbiYmbi5jYWxsKHRoaXMpfTtwcmVwZW5kPShlLHQpPT57dGhpcy5pbnNlcnQoZSwwKSx0JiZ0LmNhbGwodGhpcyl9O2FwcGVuZD0oZSx0KT0+e3RoaXMuaW5zZXJ0KGUsdGhpcy5pbm5lckVsZW1lbnRzLmxlbmd0aCsxKSx0JiZ0LmNhbGwodGhpcyl9O2Rlc3Ryb3k9KGU9ITEsdCk9PntpZih0aGlzLnNlbGVjdG9yKXtpZih0aGlzLmRldGFjaEV2ZW50cygpLHRoaXMuc2VsZWN0b3Iuc3R5bGUuY3Vyc29yPWBhdXRvYCxlKXtsZXQgZT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKGxldCB0PTA7dDx0aGlzLmlubmVyRWxlbWVudHMubGVuZ3RoO3QrKyllLmFwcGVuZENoaWxkKHRoaXMuaW5uZXJFbGVtZW50c1t0XSk7dGhpcy5zZWxlY3Rvci5pbm5lckhUTUw9YGAsdGhpcy5zZWxlY3Rvci5hcHBlbmRDaGlsZChlKSx0aGlzLnNlbGVjdG9yLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKX10JiZ0LmNhbGwodGhpcyl9fX0seWk9ZihgPGRpdiBjbGFzcz0iYnV0dG9uIHJpZ2h0IHN2ZWx0ZS0xMHFxanpkIj48IT48L2Rpdj5gKSxiaT1mKGA8ZGl2IGNsYXNzPSJidXR0b24gbGVmdCBzdmVsdGUtMTBxcWp6ZCI+PCE+PC9kaXY+YCkseGk9ZihgPCE+IDwhPmAsMSksU2k9ZihgPGRpdiBjbGFzcz0iY2Fyb3VzZWwgc3ZlbHRlLTEwcXFqemQiPjxkaXY+PCE+PC9kaXY+IDwhPjwvZGl2PmApO2Z1bmN0aW9uIENpKGUsdCl7Vyh0LCEwKTtsZXQgbj0oKT0+SChtZSxgJHRgLHIpLFtyLGldPUIoKSxhPVUodCxgcGVyUGFnZWAsMywxKSxzPVUodCxgZWFzaW5nYCwzLGBlYXNlLW91dGApLGM9VSh0LGBzdGFydEluZGV4YCwzLDApLGw9VSh0LGBkcmFnZ2FibGVgLDMsITApLHU9VSh0LGBtdWx0aXBsZURyYWdgLDMsITApLGQ9VSh0LGBjb250cm9sc2AsMywhMCksZj1VKHQsYHRocmVzaG9sZGAsMywyMCkscD1VKHQsYHJ0bGAsMywhMSksbT1VKHQsYG1heEhlaWdodGAsMyxgbWF4LWgtODZgKSxnPVUodCxgY29udHJvbHNUb3BgLDMsYDlyZW1gKSx2LGI9eCh2b2lkIDApLFM9eCghMSksQz14KCEwKSx3PVYoKCk9PmsoYik/ayhiKS5pbm5lckVsZW1lbnRzOltdKTtwZSgoKT0+KGgoYixuZXcgdmkoe3NlbGVjdG9yOnYscGVyUGFnZTp0eXBlb2YgYSgpPT1gb2JqZWN0YD9hKCk6TnVtYmVyKGEoKSksZWFzaW5nOnMoKSxzdGFydEluZGV4OmMoKSxkcmFnZ2FibGU6bCgpLG11bHRpcGxlRHJhZzp1KCksdGhyZXNob2xkOmYoKSxydGw6cCgpLG9uQ2hhbmdlOkR9KSwhMCksKCk9PntrKGIpPy5kZXN0cm95KCl9KSk7bGV0IFQ9KCk9PntrKGIpPy5wcmV2KCl9LEU9KCk9PntrKGIpPy5uZXh0KCl9LEQ9KCk9PntrKGIpJiZ0Lm9uQ2hhbmdlJiZ0Lm9uQ2hhbmdlKHtjdXJyZW50U2xpZGU6ayhiKS5jdXJyZW50U2xpZGUsc2xpZGVDb3VudDprKGIpLmlubmVyRWxlbWVudHMubGVuZ3RofSksaChTLGsoYik/ayhiKS5jdXJyZW50U2xpZGU9PT1rKHcpLmxlbmd0aC1hKCk6ITEsITApLGgoQyxrKHcpJiZrKGIpP2soYikuY3VycmVudFNsaWRlPT09MDohMSwhMCl9O3ZhciBPPVNpKCksQT1vKE8pO0llKG8oQSksKCk9PnQuY2hpbGRyZW4/P1llKSxxKEEpLGJ0KEEsZT0+dj1lLCgpPT52KTt2YXIgaj1fKEEsMiksTT1lPT57dmFyIHQ9eGkoKSxyPXoodCksaT1lPT57dmFyIHQ9eWkoKSxyPW8odCk7e2xldCBlPVYoKCk9Pm4oKShgYXJpYUxhYmVsLnJpZ2h0YCkpO3l0KHIse2dldCBpY29uKCl7cmV0dXJuIG1pfSxnZXQgaWNvbkRlc2NyaXB0aW9uKCl7cmV0dXJuIGsoZSl9LHZhcmlhbnQ6YHByaW1hcnlgLG9uQ2xpY2s6RSxzaXplOmBtZGB9KX1xKHQpLHkoKCk9PntYZSh0LGB0b3A6ICR7ZygpfWApLFkodCxgZGF0YS10ZXN0aWRgLFgucHJvZHVjdENhcmRBcnJvd1JpZ2h0KX0pLFEoZSx0KX07SyhyLGU9PntrKFMpfHxlKGkpfSk7dmFyIGE9XyhyLDIpLHM9ZT0+e3ZhciB0PWJpKCkscj1vKHQpO3tsZXQgZT1WKCgpPT5uKCkoYGFyaWFMYWJlbC5sZWZ0YCkpO3l0KHIse2dldCBpY29uKCl7cmV0dXJuIGZpfSxnZXQgaWNvbkRlc2NyaXB0aW9uKCl7cmV0dXJuIGsoZSl9LHZhcmlhbnQ6YHByaW1hcnlgLG9uQ2xpY2s6VCxzaXplOmBtZGB9KX1xKHQpLHkoKCk9PntYZSh0LGB0b3A6ICR7ZygpfWApLFkodCxgZGF0YS10ZXN0aWRgLFgucHJvZHVjdENhcmRBcnJvd0xlZnQpfSksUShlLHQpfTtLKGEsZT0+e2soQyl8fGUocyl9KSxRKGUsdCl9O0soaixlPT57ZCgpJiZrKHcpLmxlbmd0aD5hKCkmJmUoTSl9KSxxKE8pLHkoKCk9PlooQSwxLGBzbGlkZXMgJHttKCl9IGAsYHN2ZWx0ZS0xMHFxanpkYCkpLFEoZSxPKSxKKCksaSgpfXZhciB3aT1sKGA8c3ZnPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3Qgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB4PSIzIiB5PSIzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiI+PC9jaXJjbGU+PHBhdGggZD0ibTIxIDE1bC0zLjA4Ni0zLjA4NmEyIDIgMCAwIDAtMi44MjggMEw2IDIxIj48L3BhdGg+PC9nPjwvc3ZnPmApO2Z1bmN0aW9uIFRpKGUsdCl7bGV0IG49UCh0LFtgJCRzbG90c2AsYCQkZXZlbnRzYCxgJCRsZWdhY3lgXSk7dmFyIHI9d2koKTtHKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksUShlLHIpfXZhciBFaT1sKGA8c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kOyI+PGcgaWQ9Ikdyb3VwXzgxMDYiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTE5OTUsLTQxMykiPjxnIGlkPSJFbGxpcHNlXzEyMjAiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMTk5NSw0MTMpIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMiIgc3R5bGU9ImZpbGw6cmdiKDE0OCwxNjMsMTg0KTtmaWxsLW9wYWNpdHk6MC4yOyI+PC9jaXJjbGU+PC9nPjxnIGlkPSJFbGxpcHNlXzEyMjEiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsMjAwMCw0MTgpIj48Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iNyIgc3R5bGU9ImZpbGw6cmdiKDE0OCwxNjMsMTg0KTtmaWxsLW9wYWNpdHk6MC41OyI+PC9jaXJjbGU+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDAuOTk5OTg0LDAuMDA1Njk4MjcsLTAuMDA1Njk4MjcsMC45OTk5ODQsMTk5NS4wOCw0MTIuODQ3KSI+PGcgaWQ9IlBhdGhfNzEzNCI+PHBhdGggZD0iTTEyLDE2TDEyLDEyIiBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTp3aGl0ZTtzdHJva2Utd2lkdGg6MnB4OyI+PC9wYXRoPjwvZz48L2c+PGcgaWQ9IlBhdGhfNzEzNSIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwxOTk1LDQxMy44KSI+PHBhdGggZD0iTTEyLDhMMTIuMDEsOCIgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6d2hpdGU7c3Ryb2tlLXdpZHRoOjJweDsiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPmApO2Z1bmN0aW9uIERpKGUpe1EoZSxFaSgpKX12YXIgT2k9ZihgPGltZyBjbGFzcz0ib2JqZWN0LWNvbnRhaW4gcm91bmRlZC10LTYgdy1mdWxsIGgtZnVsbCIvPmApLGtpPWYoYDwhPiBgLDEpLEFpPWYoYDxkaXY+IDwvZGl2PmApLGppPWYoYDxwIGNsYXNzPSJ0ZXh0LXhzIGxpbmUtY2xhbXAtMyI+IDwvcD5gKSxNaT1mKGA8ZGl2IGNsYXNzPSJtLTMgbXQtMiI+PC9kaXY+YCksTmk9ZihgPGRpdiByb2xlPSJidXR0b24iIHN0eWxlPSJib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMDUpIDJweCAtMnB4IDE2cHg7Ij48ZGl2PjwhPiA8ZGl2IHJvbGU9ImJ1dHRvbiIgY2xhc3M9ImFic29sdXRlIHctNyBoLTcgYm90dG9tLTMgcmlnaHQtMyI+PCE+PC9kaXY+IDwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmb250LTIwMCBteC0zIG10LTMgZ3JvdyI+PHA+IDwvcD4gPCE+PC9kaXY+IDwhPjwvZGl2PmApO2Z1bmN0aW9uIFBpKGUsdCl7Vyh0LCEwKTtsZXQgbj0oKT0+SChrKHUpLGAkY29udGV4dGAsYyksaT0oKT0+SChoaSxgJGlzRHJhZ2luZ2AsYykscz0oKT0+SChtZSxgJHRgLGMpLFtjLGxdPUIoKSx1PVYoKCk9PmR0KEVlKSksZj1WKCgpPT5uKCkubWVzc2FnZSkscD1VKHQsYGlzQ29tcGFjdGAsMywhMSksbT1VKHQsYGZ1bGxXaWR0aGAsMywhMSksZyx2PVYoKCk9PnplKHQuY2FyZC5hY3Rpb25zKSksYj14KCExKSxTPXgoITEpLHc9KCk9PntoKFMsITApfSxUPSgpPT57aigpfHxoKGIsITApfSxEPSgpPT57aChiLCExKX0sTz1lPT57ZS5zdG9wUHJvcGFnYXRpb24oKSxlLnByZXZlbnREZWZhdWx0KCksaigpJiYoZyYmY2xlYXJUaW1lb3V0KGcpLGgoYiwhMCksZz1zZXRUaW1lb3V0KCgpPT5oKGIsITEpLDVlMykpfSxBPWFzeW5jKCk9PntpZihpKCkpcmV0dXJuO2xldCBlPUMoKS5sb2NhdGlvbi5ob3N0bmFtZSx0PWUubGVuZ3RoPjAmJmsodikuaW5jbHVkZXMoZSk/YF9wYXJlbnRgOmBfYmxhbmtgO00oayh2KSksd2luZG93Lm9wZW4oayh2KSx0KSxrKGYpLnRyaWdnZXI/Lmdyb3VwVHlwZT09PVZ0Lkdyb3VwVHlwZS5haSYmYXdhaXQgaXQoayh2KSl9LHRlPWQoKTt2YXIgTj1OaSgpO1koTixgdGFiaW5kZXhgLDApO3ZhciBuZT1vKE4pLHJlPW8obmUpLFA9ZT0+e3ZhciBuPU9pKCk7eSgoKT0+e1kobixgc3JjYCx0LmNhcmQuaW1hZ2UpLFkobixgYWx0YCx0LmNhcmQudGl0bGUpfSksVmUoYGVycm9yYCxuLHcpLEUobiksUShlLG4pfSxpZT1lPT57dmFyIHQ9a2koKSxuPXoodCk7VGkobix7d2lkdGg6YDJyZW1gLGhlaWdodDpgMnJlbWAsY2xhc3M6YHRleHQtcHJpbWFyeS1idXR0b24gbWItMmB9KTt2YXIgcj1fKG4pO3koZT0+SShyLGAgJHtlPz9gYH1gKSxbKCk9PnMoKShgY2FyZC5ub1ByZXZpZXdUaXRsZWApXSksUShlLHQpfTtLKHJlLGU9Pnt0LmNhcmQuaW1hZ2UmJiFrKFMpP2UoUCk6ZShpZSwtMSl9KTt2YXIgRj1fKHJlLDIpO1koRixgdGFiaW5kZXhgLC0xKSxEaShvKEYpLHt9KSxxKEYpO3ZhciBhZT1fKEYsMiksTD1lPT57dmFyIHQ9QWkoKSxuPW8odCwhMCk7cSh0KSx5KCgpPT57Wih0LDEsYGFic29sdXRlICR7cCgpP2B0b3AtMzBgOmB0b3AtNDBgfSByb3VuZGVkLTIgcmlnaHQtMiB3LTUyIHRleHQteHMgcC0xIHRleHQtd2hpdGUgYmctc2xhdGUtNDAwIHotMTAwIGJyZWFrLXdvcmRzIG92ZXJmbG93LWhpZGRlbiBsaW5lLWNsYW1wLTVgKSxJKG4sayh2KSl9KSxvdCg1LHQsKCk9PmJlLCgpPT4oe2RlbGF5OjUwMCxkdXJhdGlvbjoyNTB9KSksb3QoNix0LCgpPT5iZSwoKT0+KHtkdXJhdGlvbjoyNTB9KSksUShlLHQpfTtLKGFlLGU9PntrKGIpJiZlKEwpfSkscShuZSk7dmFyIFI9XyhuZSwyKSxvZT1vKFIpLHNlPW8ob2UsITApO3Eob2UpO3ZhciBjZT1fKG9lLDIpLGxlPWU9Pnt2YXIgbj1qaSgpLHI9byhuLCEwKTtxKG4pLHkoKCk9PntZKG4sYGRhdGEtdGVzdGlkYCxYLnByb2R1Y3RDYXJkRGVzY3JpcHRpb24pLEkocix0LmNhcmQuZGVzY3JpcHRpb24pfSksUShlLG4pfTtLKGNlLGU9PntwKCl8fGUobGUpfSkscShSKTt2YXIgdWU9XyhSLDIpLGRlPWU9Pnt2YXIgbj1NaSgpO3ZlKG4sMjAsKCk9PnQuY2FyZC5hY3Rpb25zLGU9PmUsKGUsdCk9PntLdChlLHt2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBzbWAsaXNCbG9jazohMCxnZXQgdGVzdElkKCl7cmV0dXJuIFgucHJvZHVjdENhcmRCdXR0b259LGNoaWxkcmVuOihlLG4pPT57aHQoKTt2YXIgcj1lZSgpO3koZT0+SShyLGUpLFsoKT0+cygpKHQudGl0bGUpXSksUShlLHIpfSwkJHNsb3RzOntkZWZhdWx0OiEwfX0pfSkscShuKSxRKGUsbil9O0sodWUsZT0+e3AoKXx8ZShkZSl9KSxxKE4pLHkoKGUsbixyKT0+e1koTixgYXJpYS1sYWJlbGAsZSksWShOLGBhcmlhLWRlc2NyaWJlZGJ5YCxgcHJvZHVjdC1jYXJkLXRpdGxlLSR7dGV9YCksWihOLDEsbiksWShOLGBkYXRhLXRlc3RpZGAsWC5wcm9kdWN0Q2FyZCksWihuZSwxLGBmbGV4IHJlbGF0aXZlIHRleHQtc2xhdGUtNTAwICR7cCgpP2BoLTMwYDpgaC00MGB9IHctZnVsbCByb3VuZGVkLXQtNgliZy13aGl0ZSAke3QuY2FyZC5pbWFnZSYmIWsoUyk/YGA6YGZsZXgtY29sIHRleHQtc20gZm9udC1saWdodCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgfWApLFkobmUsYGRhdGEtdGVzdGlkYCxYLnByb2R1Y3RDYXJkSW1hZ2UpLFkoRixgYXJpYS1sYWJlbGAsayh2KSksWGUoRixyKSxZKEYsYGRhdGEtdGVzdGlkYCxYLnByb2R1Y3RDYXJkSW5mbyksWShvZSxgaWRgLGBwcm9kdWN0LWNhcmQtdGl0bGUtJHt0ZX1gKSxaKG9lLDEsVGUoW2B0ZXh0LXNtIGZvbnQtNTAwIG1iLTJgLHAoKT9gbGluZS1jbGFtcC0xYDpgbGluZS1jbGFtcC0yYCxgYnJlYWstd29yZHNgLHAoKSYmYG92ZXJmbG93LWhpZGRlbiB0ZXh0LWVsbGlwc2lzYF0pKSxZKG9lLGBkYXRhLXRlc3RpZGAsWC5wcm9kdWN0Q2FyZFRpdGxlKSxJKHNlLHQuY2FyZC50aXRsZXx8ayh2KSl9LFsoKT0+cygpKGBhcmlhTGFiZWwuY2FyZGApLCgpPT5gZmxleCBmbGV4LWNvbCAke20oKT9gdy1mdWxsYDpgdy01NmB9IHJvdW5kZWQtNiBib3JkZXItc2xhdGUtMjAwIGJvcmRlci0xIGJnLXNsYXRlLTEwMCBzZWxmLXN0cmV0Y2ggJHtqKCk/YGA6YGN1cnNvci1wb2ludGVyYH0gYnV0dG9uLWZvY3VzYCwoKT0+YHRyYW5zaXRpb246IHNjYWxlIDIwMG1zOyAkeyFqKCkmJmsoYik/YHNjYWxlOiAxLjJgOmBzY2FsZTogMS4wYH07YF0pLHIoYGNsaWNrYCxOLEEpLHIoYGtleWRvd25gLE4sZT0+ZS5rZXk9PT1hLkVudGVyJiZBKCkpLHIoYHBvaW50ZXJkb3duYCxOLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLHIoYG1vdXNlb3ZlcmAsRixUKSxWZShgbW91c2VsZWF2ZWAsRixEKSxyKGBjbGlja2AsRixPKSxyKGBrZXlkb3duYCxGLGU9PmUua2V5PT09YS5FbnRlciYmTyhlKSksUShlLE4pLEooKSxsKCl9S2UoW2BjbGlja2AsYGtleWRvd25gLGBwb2ludGVyZG93bmAsYG1vdXNlb3ZlcmBdKTt2YXIgRmk9ZihgPGRpdiBjbGFzcz0ibWVzc2FnZS1jb250ZW50LWh0bWwgd2hpdGVzcGFjZS1ub3JtYWwgZmxleCBmbGV4LWNvbCBnYXAtMyI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSWkoZSx0KXtsZXQgbj1VKHQsYHNob3VsZFNlbmRMaW5rT3BlbmVkRXZlbnRgLDMsITEpO3ZhciByPUZpKCk7SWUobyhyKSwoKT0+dC5jaGlsZHJlbj8/WWUpLHEociksamUociwoZSx0KT0+eGU/LihlLHQpLG4pLFEoZSxyKX12YXIgTGk9ZihgPGRpdiBjbGFzcz0ibWVzc2FnZS1jb250ZW50LXRleHQgc3ZlbHRlLW5mYjB5bSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gUmkoZSx0KXt2YXIgbj1MaSgpO0llKG8obiksKCk9PnQuY2hpbGRyZW4/P1llKSxxKG4pLFEoZSxuKX12YXIgemk9e2lkOmBgLGF2YXRhcjpgYCxkZXNjcmlwdGlvbjpgYCxkaXNhYmxlZDohMSxmdWxsbmFtZTpgYCxncm91cHM6W10sc3RhdHVzOmBvbmxpbmVgfSxCaT1EZShbT3QscyxtLEhlLGcsb2kscWVdLChbZSx0LG4scixpLGEsb10pPT57bGV0IHM9T2JqZWN0LnZhbHVlcyhpKS5tYXAoZT0+KHsuLi56aSxmdWxsbmFtZTplLm5hbWU/P2BgLGlkOmUuaWQsYXZhdGFyOmUuYXZhdGFyVXJsPz9gYCxpc0JvdDohMCxpc0FjdGl2ZTplLmlzQWN0aXZlfSkpLGM9cy5maWx0ZXIoZT0+ZS5pc0FjdGl2ZSk7aWYoYSYmIW8pe2xldCBlPXMuZmluZChlPT5lLmlkPT09YS5pZCk7cmV0dXJuIGU/W2VdOlt7Li4uemksaXNCb3Q6ITB9XX1yZXR1cm4gbi5sZW5ndGg+MD9bLi4ubl0ucmV2ZXJzZSgpOnI/bz90Lmxlbmd0aD4wP3Q6ZTp0Lmxlbmd0aD09PTAmJmMubGVuZ3RoPT09MD9bemldOlsuLi5jLC4uLnRdOmV9KSxWaT1mKGA8ZGl2PjwhPjwvZGl2PmApLEhpPWYoYDxkaXYgY2xhc3M9Imdyb3VwIGZsZXgtY2VudGVyIGZsZXgtc2hyaW5rLTAiPjwvZGl2PmApO2Z1bmN0aW9uIFVpKGUsdCl7Vyh0LCEwKTtsZXQgbj0oKT0+SChCaSxgJGdyb3VwZWRBZ2VudHNgLHIpLFtyLGldPUIoKSxhPVUodCxgc2l6ZWAsMyxgbWRgKSxzPVYoKCk9Pm4oKS5sZW5ndGg+MD9uKCkuc2xpY2UoMCwzKTpbXSk7dmFyIGM9SGkoKTt2ZShjLDIzLCgpPT5rKHMpLCh7aWQ6ZSxhdmF0YXI6dCxpc0JvdDpufSk9PmUsKGUsdCxuKT0+e2xldCByPSgpPT5rKHQpLmF2YXRhcixpPSgpPT5rKHQpLmlzQm90O3ZhciBzPVZpKCk7YWkobyhzKSx7Z2V0IGF2YXRhcigpe3JldHVybiByKCl9LGdldCBzaXplKCl7cmV0dXJuIGEoKX0sZ2V0IGlzQm90KCl7cmV0dXJuIGkoKX19KSxxKHMpLHkoZT0+WihzLDEsZSxgc3ZlbHRlLXlmeGE3dGApLFsoKT0+VGUoW2BhdmF0YXItZ3JvdXAtaXRlbWAsYGF2YXRhci0ke2EoKX1gLGB0cmFuc2l0aW9uLXBhZGRpbmctNDAwYCwhaigpJiZgZ3JvdXAtaG92ZXI6bm90LWZpcnN0OnBsLTRgXSldKSxvdCg1LHMsKCk9PnJ0LCgpPT4oe2R1cmF0aW9uOmsobikqMzAwLHg6LTEwfSkpLFEoZSxzKX0pLHEoYykseSgoKT0+WShjLGBkYXRhLXRlc3RpZGAsWC5hdmF0YXJHcm91cCkpLFEoZSxjKSxKKCksaSgpfXZhciBXaT1sKGA8c3ZnIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMS4xNzEwNSwwLDAsMS4xNzEwNSwtMi4wNTI2MiwtMi4wNTI2MikiPjxwYXRoIGQ9Ik02LDlMMTIsMTVMMTgsOSIgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS13aWR0aDoxLjY3cHg7Ij48L3BhdGg+PC9nPjwvc3ZnPmApO2Z1bmN0aW9uIEdpKGUpe1EoZSxXaSgpKX12YXIgS2k9bChgPHN2Zz48ZyBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik00IDIyaDE0YTIgMiAwIDAgMCAyLTJWN2wtNS01SDZhMiAyIDAgMCAwLTIgMnY0Ij48L3BhdGg+PHBhdGggZD0iTTE0IDJ2NGEyIDIgMCAwIDAgMiAyaDRNMyAxNWg2bS0zLTN2NiI+PC9wYXRoPjwvZz48L3N2Zz5gKTtmdW5jdGlvbiBxaShlLHQpe2xldCBuPVAodCxbYCQkc2xvdHNgLGAkJGV2ZW50c2AsYCQkbGVnYWN5YF0pO3ZhciByPUtpKCk7RyhyLCgpPT4oe3ZpZXdCb3g6YDAgMCAyNCAyNGAsd2lkdGg6YDEuMmVtYCxoZWlnaHQ6YDEuMmVtYCwuLi5ufSkpLFEoZSxyKX12YXIgSmk9bChgPHN2Zz48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0yMSAxMmE5IDkgMCAxIDEtNi4yMTktOC41NiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFlpKGUsdCl7bGV0IG49UCh0LFtgJCRzbG90c2AsYCQkZXZlbnRzYCxgJCRsZWdhY3lgXSk7dmFyIHI9SmkoKTtHKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksUShlLHIpfXZhciBYaT1sKGA8c3ZnPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoiPjwvcGF0aD48cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSI+PC9wYXRoPjwvZz48L3N2Zz5gKTtmdW5jdGlvbiBaaShlLHQpe2xldCBuPVAodCxbYCQkc2xvdHNgLGAkJGV2ZW50c2AsYCQkbGVnYWN5YF0pO3ZhciByPVhpKCk7RyhyLCgpPT4oe3ZpZXdCb3g6YDAgMCAyNCAyNGAsd2lkdGg6YDEuMmVtYCxoZWlnaHQ6YDEuMmVtYCwuLi5ufSkpLFEoZSxyKX12YXIgUWk9ZihgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdy1bNTBweF0gaC1bNTBweF0gYmctc2xhdGUtMzAwIHJvdW5kZWQteGwiPjwhPiA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTQwMCI+IDwvc3Bhbj48L2Rpdj5gKTtmdW5jdGlvbiAkaShlLHQpe1codCwhMCk7dmFyIG49UWkoKSxyPW8obik7Wmkocix7Y2xhc3M6YHRleHQtc20gdGV4dC1zbGF0ZS00MDBgfSk7dmFyIGk9XyhyLDIpLGE9byhpLCEwKTtxKGkpLHEobikseShlPT57WShuLGBkYXRhLXRlc3RpZGAsWC50ZXh0YXJlYVByZXZpZXdGaWxlKSxJKGEsZSl9LFsoKT0+eWUodC5maWxlLm5hbWUpXSksUShlLG4pLEooKX12YXIgZWE9ZihgPGRpdiBjbGFzcz0idy1mdWxsIGgtZnVsbCByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBjb250ZW50LWNlbnRlciI+PGltZyBjbGFzcz0ibS1hdXRvIi8+PC9kaXY+YCk7ZnVuY3Rpb24gdGEoZSx0KXtXKHQsITApO2xldCBuPXgodm9pZCAwKTt3KCgpPT57bGV0IGU9Uy5maW5kKHQuZmlsZS5uYW1lKTtlJiZoKG4sZSwhMCl9KTt2YXIgcj1MKCksaT16KHIpLGE9ZT0+e3ZhciByPUwoKSxpPXoociksYT1lPT57dmFyIHI9ZWEoKSxpPW8ocik7cShyKSx5KCgpPT57WShyLGBkYXRhLXRlc3RpZGAsWC50ZXh0YXJlYVByZXZpZXdJbWFnZSksWShpLGBzcmNgLGsobikucHJldmlldy5kYXRhKSxZKGksYGFsdGAsdC5maWxlLm5hbWUpfSksUShlLHIpfSxzPWU9PnskaShlLHtnZXQgZmlsZSgpe3JldHVybiB0LmZpbGV9fSl9O0soaSxlPT57ayhuKT8ucHJldmlldz8uZGF0YT9lKGEpOmUocywtMSl9KSxRKGUscil9O0soaSxlPT57ayhuKSYmayhuKS5wcmV2aWV3U3RhdGU9PT1gcmVhZHlgJiZlKGEpfSksUShlLHIpLEooKX12YXIgbmE9ZihgPGlucHV0IGNsYXNzPSJoaWRkZW4iIHR5cGU9ImZpbGUiLz5gKTtmdW5jdGlvbiByYShlLHQpe1codCwhMCk7bGV0IG49KCk9Pkgoa2UsYCRmaWxlVXBsb2FkQ29uZmlnYCxpKSxbaSxhXT1CKCksbz1VKHQsYGlucHV0UmVmYCwxNSkscz1lPT57bGV0IHQ9ZS50YXJnZXQ7aWYoIXR8fCF0LmZpbGVzKXtjZShgTm8gZmlsZXMgdG8gdXBsb2FkYCk7cmV0dXJufVNlKFsuLi50LmZpbGVzXSksbyhvKCkudmFsdWU9YGAsITApfSxjPVYoKCk9Pm4oKS5hY2NlcHRlZEZpbGVFeHRlbnNpb25zLm1hcChlPT5gLiR7ZX1gKS5qb2luKGAsYCkpO3ZhciBsPW5hKCk7bC5tdWx0aXBsZT0hMCxidChsLGU9Pm8oZSksKCk9Pm8oKSkseSgoKT0+WShsLGBhY2NlcHRgLGsoYykpKSxyKGBjaGFuZ2VgLGwscyksUShlLGwpLEooKSxhKCl9S2UoW2BjaGFuZ2VgXSk7dmFyIGlhPWYoYDxkaXYgY2xhc3M9ImF0dGFjaG1lbnRXcmFwcGVyIHJlbGF0aXZlIHctWzUwcHhdIGgtWzUwcHhdIj48YnV0dG9uIGNsYXNzPSJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LVs1MHB4XSBoLVs1MHB4XSBiZy1zbGF0ZS0yMDAgdGV4dC1tZCB0ZXh0LXNsYXRlLTQwMCByb3VuZGVkLXhsIGJvcmRlci1ub25lIGJ1dHRvbi1mb2N1cyI+PCE+PC9idXR0b24+IDwhPjwvZGl2PmApLGFhPWYoYDxidXR0b24gY2xhc3M9InJlbW92ZUljb24gYWJzb2x1dGUgLXJpZ2h0LVs0cHhdIC10b3AtWzRweF0gcm91bmRlZC1mdWxsIGJnLXNsYXRlLTQwMCB0ZXh0LXdoaXRlIGJvcmRlci1ub25lIHRleHQtc20gcC0xIGJ1dHRvbi1mb2N1cyBzdmVsdGUtMTFmM2JkdyI+PCE+PC9idXR0b24+YCksb2E9ZihgPGRpdiBjbGFzcz0iYWJzb2x1dGUgdG9wLTAgbGVmdC0wIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctZnVsbCBoLWZ1bGwgcm91bmRlZC1sZyBiZy1uZXV0cmFsLTEwMC81MCB0ZXh0LWxnIj48IT48L2Rpdj5gKSxzYT1mKGA8ZGl2IGNsYXNzPSJhdHRhY2htZW50V3JhcHBlciByZWxhdGl2ZSB3LVs1MHB4XSBoLVs1MHB4XSBzdmVsdGUtMTFmM2JkdyI+PCE+IDwhPjwvZGl2PmApLGNhPWYoYDxkaXYgY2xhc3M9ImZsZXggZmxleC1yb3cgZ2FwLTIgcC0zIHBiLTAgc2VsZWN0LW5vbmUiPjwhPiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBsYShlLHQpe1codCwhMSk7bGV0IG49KCk9PkgoUyxgJGZpbGVzYCxzKSxpPSgpPT5IKGF0LGAkZmlsZVVwbG9hZEluUHJvZ3Jlc3NgLHMpLGE9KCk9PkgobWUsYCR0YCxzKSxbcyxjXT1CKCksbD11ZSgpLHU9KCk9PntrKGwpLmNsaWNrKCl9O09lKCk7dmFyIGQ9TCgpLGY9eihkKSxwPWU9Pnt2YXIgdD1jYSgpLHM9byh0KSxjPWU9Pnt2YXIgdD1pYSgpLG49byh0KTtxaShvKG4pLHt9KSxxKG4pLHJhKF8obiwyKSx7Z2V0IGlucHV0UmVmKCl7cmV0dXJuIGsobCl9LHNldCBpbnB1dFJlZihlKXtoKGwsZSl9LCQkbGVnYWN5OiEwfSkscSh0KSxyKGBjbGlja2Asbix1KSxRKGUsdCl9O0socyxlPT57bigpLmxlbmd0aDw1JiZlKGMpfSksdmUoXyhzLDIpLDMsbiwoe2ZpbGU6ZSx1cGxvYWRTdGF0dXM6dH0sbik9PmAke259LSR7ZS5uYW1lfWAsKGUsdCk9PntsZXQgbj0oKT0+ayh0KS5maWxlLHM9KCk9PmsodCkudXBsb2FkU3RhdHVzO3ZhciBjPXNhKCksbD1vKGMpO0tyKGwse2dldCBjb250ZW50KCl7cmV0dXJuIG4oKS5uYW1lfSxwbGFjZW1lbnQ6YHRvcGAsdmFyaWFudDpgZGFya2AsY2hpbGRyZW46KGUsdCk9Pnt2YXIgcj1MKCksaT16KHIpLGE9ZT0+e3RhKGUse2dldCBmaWxlKCl7cmV0dXJuIG4oKX19KX0sbz1WKCgpPT5fZShuKCkudHlwZSkpLHM9ZT0+eyRpKGUse2dldCBmaWxlKCl7cmV0dXJuIG4oKX19KX07SyhpLGU9PntrKG8pP2UoYSk6ZShzLC0xKX0pLFEoZSxyKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KTt2YXIgdT1fKGwsMiksZD1lPT57dmFyIHQ9YWEoKTskZShvKHQpLHt9KSxxKHQpLHkoZT0+WSh0LGBhcmlhLWxhYmVsYCxlKSxbKCk9PmEoKShgYXJpYUxhYmVsLnJlbW92ZUF0dGFjaG1lbnRgKV0pLHIoYGNsaWNrYCx0LCgpPT5TLnJlbW92ZShuKCkpKSxRKGUsdCl9LGY9ZT0+e3ZhciB0PW9hKCk7WWkobyh0KSx7Y29sb3I6YHdoaXRlYCxjbGFzczpgYW5pbWF0ZS1zcGluYH0pLHEodCksUShlLHQpfTtLKHUsZT0+e2koKT9zKCk9PT1gaW4tcHJvZ3Jlc3NgJiZlKGYsMSk6ZShkKX0pLHEoYyksUShlLGMpfSkscSh0KSxRKGUsdCl9O0soZixlPT57bigpLmxlbmd0aD4wJiZlKHApfSksUShlLGQpLEooKSxjKCl9S2UoW2BjbGlja2BdKTt2YXIgdWE9ZihgPGRpdiByb2xlPSJvcHRpb24iPjxzcGFuIGNsYXNzPSJ0ZXh0LTJ4bCBmbGV4LXNocmluay0wIiBhcmlhLWhpZGRlbj0idHJ1ZSI+IDwvc3Bhbj4gPHNwYW4gY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS02MDAgdHJ1bmNhdGUiPiA8L3NwYW4+PC9kaXY+YCksZGE9ZihgPGRpdiBjbGFzcz0iYWJzb2x1dGUgYm90dG9tLWZ1bGwgbGVmdC0wIHJpZ2h0LTAgbWItMyBiZy13aGl0ZSByb3VuZGVkLXhsIHNoYWRvdy1sZyBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBvdmVyZmxvdy1oaWRkZW4gei01MCIgc3R5bGU9ImJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDEyJSkgMHB4IDFweCAxNXB4IDFweDsiIHJvbGU9Imxpc3Rib3giPjxkaXYgY2xhc3M9ImFic29sdXRlIHctcHggaC1weCBwLTAgLW0tcHggb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIGJvcmRlci0wIFtjbGlwOnJlY3QoMCwwLDAsMCldIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJtYXgtaC02NCBvdmVyZmxvdy15LWF1dG8gb3ZlcnNjcm9sbC1jb250YWluIHAtMiI+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZmEoZSx0KXtXKHQsITApO2xldCBuPSgpPT5IKG1lLGAkdGAsaSksW2ksc109QigpLGM9eCh2b2lkIDApLGw9ZT0+YCR7dC5saXN0Ym94SWR9LW9wdGlvbi0ke2V9YDt3KCgpPT57aWYoIWsoYyl8fHQuZW1vamlzLmxlbmd0aD09PTApcmV0dXJuO2xldCBlPWsoYykuY2hpbGRyZW5bdC5zZWxlY3RlZEluZGV4XTtlJiZlLnNjcm9sbEludG9WaWV3KHtibG9jazpgbmVhcmVzdGAsYmVoYXZpb3I6YGluc3RhbnRgfSl9KTtsZXQgdT0oZSxuKT0+e24ucHJldmVudERlZmF1bHQoKSxuLnN0b3BQcm9wYWdhdGlvbigpLHQub25FbW9qaVNlbGVjdChlKX0sZD1lPT57ZS5rZXk9PT1hLkVzY2FwZSYmKGUucHJldmVudERlZmF1bHQoKSx0Lm9uQ2xvc2UoKSl9O3ZhciBmPWRhKCkscD1vKGYpLG09byhwKSxnPWU9Pnt2YXIgcj1lZSgpO3koZT0+SShyLGUpLFsoKT0+bigpKGBhcmlhTGFiZWwuaW5saW5lRW1vamlQaWNrZXIuZGVzY3JpcHRpb25gLHtjb3VudDpTdHJpbmcodC5lbW9qaXMubGVuZ3RoKX0pXSksUShlLHIpfTtLKG0sZT0+e3QuZW1vamlzLmxlbmd0aD4wJiZlKGcpfSkscShwKTt2YXIgdj1fKHAsMik7dmUodiwyMywoKT0+dC5lbW9qaXMsZT0+ZS5pZCwoZSxuLGkpPT57dmFyIGE9dWEoKSxzPW8oYSksYz1vKHMsITApO3Eocyk7dmFyIGQ9XyhzLDIpLGY9byhkKTtxKGQpLHEoYSkseShlPT57WShhLGBpZGAsZSksWShhLGBhcmlhLXNlbGVjdGVkYCxrKGkpPT09dC5zZWxlY3RlZEluZGV4KSxZKGEsYGFyaWEtbGFiZWxgLGsobikubmFtZSksWihhLDEsVGUoW2B3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtMyBweS0yIHJvdW5kZWQtbGcgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbi1jb2xvcnNgLGBob3ZlcjpiZy1zbGF0ZS0xMDBgLGsoaSk9PT10LnNlbGVjdGVkSW5kZXgmJmBiZy1zbGF0ZS0xMDBgXSkpLEkoYyxrKG4pLm5hdGl2ZSksSShmLGA6JHtrKG4pLmlkPz9gYH06YCl9LFsoKT0+bChrKGkpKV0pLHIoYG1vdXNlZG93bmAsYSxlPT51KGsobiksZSkpLFEoZSxhKX0pLHEodiksYnQodixlPT5oKGMsZSksKCk9PmsoYykpLHEoZiksamUoZiwoZSx0KT0+VXI/LihlLHQpLCgpPT50Lm9uQ2xvc2UpLHkoZT0+e1koZixgaWRgLHQubGlzdGJveElkKSxZKGYsYGFyaWEtbGFiZWxgLGUpLFkoZixgZGF0YS10ZXN0aWRgLFguaW5saW5lRW1vamlQaWNrZXIpfSxbKCk9Pm4oKShgYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmxhYmVsYCldKSxyKGBrZXlkb3duYCxmLGQpLG90KDEsZiwoKT0+cnQsKCk9Pih7ZHVyYXRpb246MjUwLHk6MTB9KSksUShlLGYpLEooKSxzKCl9S2UoW2BrZXlkb3duYCxgbW91c2Vkb3duYF0pO2Z1bmN0aW9uIHBhKGUsdCl7Vyh0LCEwKTtsZXQgbj1gZW1vamktcGlja2VyLSR7RGF0ZS5ub3coKS50b1N0cmluZygzNil9YCxyPVUodCxgaXNPcGVuYCwxNSwhMSk7VSh0LGBsaXN0Ym94SWRgLDExLG4pO2xldCBpPVUodCxgYWN0aXZlRGVzY2VuZGFudElkYCwxNSx2b2lkIDApLG89eChvZShbXSkpLHM9eCgwKTt3KCgpPT57cihrKG8pLmxlbmd0aD4wKX0pLHcoKCk9PntpKGsobykubGVuZ3RoPjA/YCR7bn0tb3B0aW9uLSR7ayhzKX1gOnZvaWQgMCl9KTtsZXQgYz1hc3luYygpPT57aWYoIXQudGV4dGFyZWFSZWYpe2gobyxbXSwhMCk7cmV0dXJufWxldCBlPXQudGV4dGFyZWFSZWYuc2VsZWN0aW9uU3RhcnQ/PzAsbj1jdCh0LmlucHV0VmFsdWUsZSk7bj8oaChvLExlKG4sYXdhaXQgRmUubG9hZERhdGEoKSksITApLGsocyk+PWsobykubGVuZ3RoJiZoKHMsMCkpOihoKG8sW10sITApLGgocywwKSl9LGw9ZT0+e2lmKCF0LnRleHRhcmVhUmVmKXJldHVybjtsZXQgbj10LnRleHRhcmVhUmVmLnNlbGVjdGlvblN0YXJ0Pz8wLHtuZXdUZXh0OnIsbmV3Q3Vyc29yUG9zaXRpb246aX09UWUodC5pbnB1dFZhbHVlLG4sZS5uYXRpdmUpO2gobyxbXSwhMCksaChzLDApLHQub25FbW9qaUluc2VydChyLGkpfSx1PSgpPT57aChvLFtdLCEwKSxoKHMsMCl9O3ZhciBkPXtjbG9zZTp1LGhhbmRsZUtleURvd246ZT0+e2lmKCFyKCkpcmV0dXJuITE7bGV0e2tleTp0fT1lO3JldHVybiB0PT09YS5BcnJvd0Rvd24/KGgocywoayhzKSsxKSVrKG8pLmxlbmd0aCksITApOnQ9PT1hLkFycm93VXA/KGgocyxrKHMpPT09MD9rKG8pLmxlbmd0aC0xOmsocyktMSwhMCksITApOnQ9PT1hLkVudGVyfHx0PT09YS5UYWI/KGsobylbayhzKV0mJmwoayhvKVtrKHMpXSksITApOnQ9PT1hLkVzY2FwZT8odSgpLCEwKTohMX0saGFuZGxlSW5wdXRDaGFuZ2U6KCk9PntjKCl9LGhhbmRsZVNlbGVjdGlvbkNoYW5nZTooKT0+e3IoKSYmYygpfX0sZj1MKCkscD16KGYpLG09ZT0+e2ZhKGUse2dldCBlbW9qaXMoKXtyZXR1cm4gayhvKX0sZ2V0IHNlbGVjdGVkSW5kZXgoKXtyZXR1cm4gayhzKX0sZ2V0IGxpc3Rib3hJZCgpe3JldHVybiBufSxvbkVtb2ppU2VsZWN0Omwsb25DbG9zZTp1fSl9O3JldHVybiBLKHAsZT0+e3IoKSYmZShtKX0pLFEoZSxmKSxKKGQpfXZhciBtYT1mKGA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBmbGV4LTEiPjwhPiA8ZGl2Pjx0ZXh0YXJlYSByb3dzPSIxIj48L3RleHRhcmVhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIGhhKGUsdCl7Vyh0LCEwKTtsZXQgbj0oKT0+SCh2LGAkaXNNZXNzZW5nZXJGcmFtZU9wZW5gLGwpLGk9KCk9PkgobWUsYCR0YCxsKSxzPSgpPT5IKHJlLGAkbWVzc2VuZ2VySW5wdXRWYWx1ZWAsbCksYz0oKT0+SChVZSxgJGlzU21hbGxJbnB1dEZvbnRFbmFibGVkYCxsKSxbbCxkXT1CKCk7RmUubG9hZERhdGEoKTtsZXQgZj1VKHQsYHRleHRhcmVhUmVmYCwxNSxudWxsKSxwPVUodCxgcmVzaXphYmxlYCwzLCEwKSxtPVYoKCk9PiFuKCkpLGc9eCh2b2lkIDApLGI9eCghMSksUz14KGBgKSxDPXgodm9pZCAwKTt3KCgpPT57aWYoayhiKSlyZXR1cm4gRXQoKCk9PmsoZyk/LmNsb3NlKCkpfSk7bGV0IFQ9KGUsdCk9PntBZShlKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntmKCkmJihmKGYoKS52YWx1ZT1lLCEwKSxmKCkuc2V0U2VsZWN0aW9uUmFuZ2UodCx0KSxmKCkuZm9jdXMoKSxEKGUpLEEoKSl9KX0sRT0oKT0+ZigpP2YoKS5wYXJlbnROb2RlOm51bGwsRD1lPT57bGV0IHQ9RSgpO3QmJih0LmRhdGFzZXQudGV4dGFyZWFWYWx1ZT1lKX0sQT0oKT0+e2xldCBlPUUoKTtlJiZCZS5zZXQoZS5jbGllbnRIZWlnaHQpfSxNPWU9PntsZXQgdD1lLnRhcmdldDt0LnZhbHVlPXQudmFsdWUuc3Vic3RyaW5nKDAsTyksQWUodC52YWx1ZSksRCh0LnZhbHVlKSxBKCksTigpLGsoZyk/LmhhbmRsZUlucHV0Q2hhbmdlKCksdC52YWx1ZS5sZW5ndGg9PT0yZTMmJnUoaSgpKGB3YXJuaW5nQmFyLm1heExlbmd0aGApKX0sZWU9ZT0+e2xldCB0PWUuY2xpcGJvYXJkRGF0YT8uZmlsZXM7IXR8fHQubGVuZ3RoPT09MHx8ayhtKXx8KGUucHJldmVudERlZmF1bHQoKSxTZShbLi4udF0pKX0sdGU9TWUoKCk9PntwdCgpfSwzZTMpLE49KCk9PntudCgpLHRlKCl9LG5lPWU9PntpZihrKGcpPy5oYW5kbGVLZXlEb3duKGUpKXtlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWUua2V5PT09YS5FbnRlciYmIWUuc2hpZnRLZXkmJiFqKCkmJihlLnByZXZlbnREZWZhdWx0KCksdC5vbktleUVudGVyKCkpfSxQPSgpPT57aigpJiZzZXRUaW1lb3V0KCgpPT5mKCk/LnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjpgaW5zdGFudGB9KSw1MDApfSxpZT0oKT0+e2soZyk/LmhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpfTt3KCgpPT57ZigpJiZEKHMoKSl9KTt2YXIgRj1tYSgpLGFlPW8oRiksST1lPT57YnQocGEoZSx7Z2V0IHRleHRhcmVhUmVmKCl7cmV0dXJuIGYoKX0sZ2V0IGlucHV0VmFsdWUoKXtyZXR1cm4gcygpfSxvbkVtb2ppSW5zZXJ0OlQsZ2V0IGlzT3Blbigpe3JldHVybiBrKGIpfSxzZXQgaXNPcGVuKGUpe2goYixlLCEwKX0sZ2V0IGxpc3Rib3hJZCgpe3JldHVybiBrKFMpfSxzZXQgbGlzdGJveElkKGUpe2goUyxlLCEwKX0sZ2V0IGFjdGl2ZURlc2NlbmRhbnRJZCgpe3JldHVybiBrKEMpfSxzZXQgYWN0aXZlRGVzY2VuZGFudElkKGUpe2goQyxlLCEwKX19KSxlPT5oKGcsZSwhMCksKCk9PmsoZykpfTtLKGFlLGU9PntrKG0pfHxlKEkpfSk7dmFyIEw9XyhhZSwyKSxSPW8oTCk7RHQoUiksYnQoUixlPT5mKGUpLCgpPT5mKCkpLHEoTCkscShGKSx5KGU9PntaKEwsMSxUZShbYHRleHRhcmVhLWNvbnRhaW5lciB0ZXh0LWJhc2UtaW5wdXRgLGMoKSYmYHRleHQtc21gLHAoKSYmYHRleHRhcmVhLWNvbnRhaW5lci1yZXNpemFibGVgXSksYHN2ZWx0ZS0xdGw5bGNlYCksWihSLDEsVGUoW2BiZy10cmFuc3BhcmVudCByZXNpemUtbm9uZSBvdmVyZmxvdy1oaWRkZW4gZm9jdXM6b3V0bGluZS1ub25lYCwhcCgpJiZgdHJ1bmNhdGUgd2hpdGVzcGFjZS1wcmVgXSksYHN2ZWx0ZS0xdGw5bGNlYCksWShSLGBwbGFjZWhvbGRlcmAsZSksZ3QoUixzKCkpLFkoUixgbWF4bGVuZ3RoYCxPKSxZKFIsYGRhdGEtdGVzdGlkYCxYLnRleHRhcmVhKSxZKFIsYHJvbGVgLGsoYik/YGNvbWJvYm94YDp2b2lkIDApLFkoUixgYXJpYS1hdXRvY29tcGxldGVgLGsoYik/YGxpc3RgOnZvaWQgMCksWShSLGBhcmlhLWV4cGFuZGVkYCxrKGIpKSxZKFIsYGFyaWEtY29udHJvbHNgLGsoYik/ayhTKTp2b2lkIDApLFkoUixgYXJpYS1hY3RpdmVkZXNjZW5kYW50YCxrKEMpKSxZKFIsYGFyaWEtaGFzcG9wdXBgLGsoYik/YGxpc3Rib3hgOnZvaWQgMCl9LFsoKT0+aSgpKGBjaGF0SW5wdXQucGxhY2Vob2xkZXJgKV0pLFZlKGBmb2N1c2AsUixQKSxyKGBpbnB1dGAsUixNKSxyKGBrZXlkb3duYCxSLG5lKSxyKGBrZXl1cGAsUixpZSkscihgY2xpY2tgLFIsaWUpLFZlKGBwYXN0ZWAsUixlZSksUShlLEYpLEooKSxkKCl9S2UoW2BpbnB1dGAsYGtleWRvd25gLGBrZXl1cGAsYGNsaWNrYF0pO3ZhciBnYT1sKGA8c3ZnPjxnIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxwYXRoIGQ9Ik04IDE0czEuNSAyIDQgMnM0LTIgNC0yTTkgOWguMDFNMTUgOWguMDEiPjwvcGF0aD48L2c+PC9zdmc+YCk7ZnVuY3Rpb24gX2EoZSx0KXtsZXQgbj1QKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1nYSgpO0cociwoKT0+KHt2aWV3Qm94OmAwIDAgMjQgMjRgLHdpZHRoOmAxLjJlbWAsaGVpZ2h0OmAxLjJlbWAsLi4ubn0pKSxRKGUscil9dmFyIHZhPWYoYDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgc3BhY2UteS00IHAtNCI+PCE+IDxkaXYgY2xhc3M9InNwYWNlLXktMiI+PCE+IDwhPiA8IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT4gPCE+IDwhPiA8IT48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBzcGFjZS14LTIiPjxkaXYgY2xhc3M9ImZsZXgtc2hyaW5rLTAiPjwhPjwvZGl2PiA8IT48L2Rpdj48L2Rpdj5gKSx5YT1mKGA8ZGl2PjwhPiA8ZGl2PjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIGJhKGUsdCl7Vyh0LCEwKTtsZXQgbj0oKT0+SChpLGAkaXNNb2JpbGVEZXZpY2VgLHIpLFtyLGFdPUIoKSxzPXgoITApLGM9bigpPzc6OSxsPW4oKT9gbm9uZWA6YGJvdHRvbWAsdT1uKCk/YG5vbmVgOmBzdGlja3lgLGQ9W2BlbmAsYGNzYCxgYXJgLGBkZWAsYGVzYCxgZmFgLGBmcmAsYGl0YCxgamFgLGBubGAsYHBsYCxgcHRgLGBydWAsYHVrYF0sZj0oKT0+e2xldCBlPWZlKCk7cmV0dXJuIGQuaW5jbHVkZXMoZSk/ZTpgZW5gfSxwPWU9PnsoYXN5bmMoKT0+e2xldHtQaWNrZXI6bn09YXdhaXQgbmUoYXN5bmMoKT0+e2xldHtQaWNrZXI6ZX09YXdhaXQgaW1wb3J0KGAuL21vZHVsZS1ERDVudlZEMy5qc2ApO3JldHVybntQaWNrZXI6ZX19LFtdLGltcG9ydC5tZXRhLnVybCkscj1uZXcgbih7ZGF0YTphd2FpdCBGZS5sb2FkUmF3RGF0YSgpLG9uRW1vamlTZWxlY3Q6ZT0+e3Qub25FbW9qaUNsaWNrKGUubmF0aXZlKX0scHJldmlld1Bvc2l0aW9uOmwsc2VhcmNoUG9zaXRpb246dSxuYXZQb3NpdGlvbjpgYm90dG9tYCxwZXJMaW5lOmMsdGhlbWU6YGxpZ2h0YCxsb2NhbGU6ZigpfSk7ci5zZXRBdHRyaWJ1dGUoYGRhdGEtdGVzdGlkYCxgZW1vamlXcmFwcGVyYCksZS5hcHBlbmRDaGlsZChyKSxoKHMsITEpfSkoKX07dmFyIG09eWEoKSxnPW8obSksdj1lPT57dmFyIHQ9dmEoKSxuPW8odCk7UmUobix7aGVpZ2h0OjMwfSk7dmFyIHI9XyhuLDIpLGk9byhyKTtSZShpLHtjb2xvclNjaGVtZTpgZGFya0dyYXlgLHdpZHRoOmA0MCVgfSk7dmFyIGE9XyhpLDIpO1JlKGEse2hlaWdodDozMH0pLFJlKF8oYSwyKSx7aGVpZ2h0OjMwfSkscShyKTt2YXIgcz1fKHIsMiksYz1vKHMpO1JlKGMse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsd2lkdGg6YDQwJWB9KTt2YXIgbD1fKGMsMik7UmUobCx7aGVpZ2h0OjMwfSk7dmFyIHU9XyhsLDIpO1JlKHUse2hlaWdodDozMH0pLFJlKF8odSwyKSx7aGVpZ2h0OjMwfSkscShzKTt2YXIgZD1fKHMsMiksZj1vKGQpO3V0KG8oZikse3NpemU6NDB9KSxxKGYpLFJlKF8oZiwyKSx7aGVpZ2h0OjQwfSkscShkKSxxKHQpLFEoZSx0KX07SyhnLGU9PntrKHMpJiZlKHYpfSk7dmFyIGI9XyhnLDIpO2plKGIsZT0+cD8uKGUpKSxxKG0pLHkoKCk9PntaKG0sMSxUZShbYGgtZnVsbCBiZy13aGl0ZSByb3VuZGVkLXhsYCxrKHMpJiZgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDBgXSkpLFooYiwxLFRlKHtoaWRkZW46ayhzKX0pKX0pLFEoZSxtKSxKKCksYSgpfXZhciB4YT1mKGA8ZGl2IGlkPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIiBjbGFzcz0iei0xMCI+PGRpdj48IT48L2Rpdj48L2Rpdj5gKSxTYT1mKGA8ZGl2PjxkaXY+PCE+PC9kaXY+IDwhPjwvZGl2PmApO2Z1bmN0aW9uIENhKGUsdCl7Vyh0LCEwKTtsZXQgbj0oKT0+SCh0ZSxgJGlzRGVza3RvcGAscykscj0oKT0+SChtZSxgJHRgLHMpLGE9KCk9PkgoaSxgJGlzTW9iaWxlRGV2aWNlYCxzKSxbcyxjXT1CKCksbD14KCExKSx1PTAsW2QsZl09SHIoe3BsYWNlbWVudDpgdG9wLXN0YXJ0YH0pLHA9e21vZGlmaWVyczpbe25hbWU6YG9mZnNldGAsb3B0aW9uczp7b2Zmc2V0OlswLDEyXX19LHtuYW1lOmBwcmV2ZW50T3ZlcmZsb3dgLG9wdGlvbnM6e3BhZGRpbmc6e3JpZ2h0OjE2LGxlZnQ6MTZ9fX1dfSxtPSgpPT57aChsLCEwKSx1PXQudGV4dGFyZWFSZWY/LnNlbGVjdGlvblN0YXJ0Pz8wfSxnPSgpPT57ayhsKSYmaChsLCExKX0sdj1lPT57ZS5zdG9wUHJvcGFnYXRpb24oKSxrKGwpP2coKTptKCl9O3coKCk9PntpZihrKGwpKXJldHVybiBFdCgoKT0+e2coKSx0LnRleHRhcmVhUmVmPy5mb2N1cygpfSl9KTtsZXQgYj1hc3luYyBlPT57ZGUoZSx1KSx1Kz1lLmxlbmd0aCxhd2FpdCBOKCksRCgpfHx0LnRleHRhcmVhUmVmPy5zZXRTZWxlY3Rpb25SYW5nZSh1LHUpLG4oKSYmKGcoKSx0LnRleHRhcmVhUmVmPy5mb2N1cygpKX07dmFyIFM9U2EoKSxDPW8oUyksVD1vKEMpO3tsZXQgZT1WKCgpPT5yKCkoYHRvb2x0aXAuZW1vamlgKSk7S3IoVCx7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gayhlKX0scGxhY2VtZW50OmBib3R0b21gLGRlbGF5OjFlMyxjaGlsZHJlbjooZSx0KT0+e3tsZXQgdD1WKCgpPT5yKCkoYHRvb2x0aXAuZW1vamlgKSk7eXQoZSx7c2l6ZTpgbGdgLGdldCBpY29uKCl7cmV0dXJuIF9hfSxnZXQgaWNvbkRlc2NyaXB0aW9uKCl7cmV0dXJuIGsodCl9LG9uQ2xpY2s6dixnZXQgdGVzdElkKCl7cmV0dXJuIFguYnV0dG9uRW1vaml9fSl9fSwkJHNsb3RzOntkZWZhdWx0OiEwfX0pfXEoQyksamUoQyxlPT5kPy4oZSkpO3ZhciBFPV8oQywyKSxPPWU9Pnt2YXIgdD14YSgpLG49byh0KTtiYShvKG4pLHtvbkVtb2ppQ2xpY2s6Yn0pLHEobikscSh0KSxqZSh0LChlLHQpPT5mPy4oZSx0KSwoKT0+cCkseSgoKT0+WihuLDEsVGUoW2BoLTQwMHB4IG1heC1oLTgwdmhgLGEoKT9gdy0yODBweGA6YHctMzQ4cHhgXSkpKSxvdCgzLG4sKCk9PnJ0LCgpPT4oe2R1cmF0aW9uOjI1MCx5OjEwfSkpLFEoZSx0KX07SyhFLGU9PntrKGwpJiZlKE8pfSkscShTKSxqZShTLChlLHQpPT5Vcj8uKGUsdCksKCk9PmcpLFEoZSxTKSxKKCksYygpfXZhciB3YT1sKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTE2IDZsLTguNDE0IDguNTg2YTIgMiAwIDAgMCAyLjgyOSAyLjgyOWw4LjQxNC04LjU4NmE0IDQgMCAxIDAtNS42NTctNS42NTdsLTguMzc5IDguNTUxYTYgNiAwIDEgMCA4LjQ4NSA4LjQ4NWw4LjM3OS04LjU1MSI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFRhKGUsdCl7bGV0IG49UCh0LFtgJCRzbG90c2AsYCQkZXZlbnRzYCxgJCRsZWdhY3lgXSk7dmFyIHI9d2EoKTtHKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksUShlLHIpfXZhciBFYT1sKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTMuNzE0IDMuMDQ4YS40OTguNDk4IDAgMCAwLS42ODMuNjI3bDIuODQzIDcuNjI3YTIgMiAwIDAgMSAwIDEuMzk2bC0yLjg0MiA3LjYyN2EuNDk4LjQ5OCAwIDAgMCAuNjgyLjYyN2wxOC04LjVhLjUuNSAwIDAgMCAwLS45MDR6TTYgMTJoMTYiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBEYShlLHQpe2xldCBuPVAodCxbYCQkc2xvdHNgLGAkJGV2ZW50c2AsYCQkbGVnYWN5YF0pO3ZhciByPUVhKCk7RyhyLCgpPT4oe3ZpZXdCb3g6YDAgMCAyNCAyNGAsd2lkdGg6YDEuMmVtYCxoZWlnaHQ6YDEuMmVtYCwuLi5ufSkpLFEoZSxyKX12YXIgT2E9ZihgPGRpdj48IT48L2Rpdj5gKSxrYT1mKGA8IT4gPCE+YCwxKSxBYT1mKGA8ZGl2PjwhPjwvZGl2PmApLGphPWYoYDxkaXY+PCE+PC9kaXY+YCksTWE9ZihgPGRpdj48IT48L2Rpdj5gKSxOYT1mKGA8ZGl2IGNsYXNzPSJhYnNvbHV0ZSByaWdodC0wLjUgdGV4dC1zbGF0ZS01MDAiPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFBhKG4scil7VyhyLCEwKTtsZXQgaT0oKT0+SChnZSxgJGlzTWVzc2VuZ2VySW5wdXRFbXB0eWAsbSksYT0oKT0+SCh2LGAkaXNNZXNzZW5nZXJGcmFtZU9wZW5gLG0pLHM9KCk9PkgoUyxgJGZpbGVzYCxtKSxjPSgpPT5IKEEsYCRpc0F0dGFjaG1lbnRzRGlzYWJsZWRgLG0pLGw9KCk9PkgoYXQsYCRmaWxlVXBsb2FkSW5Qcm9ncmVzc2AsbSksdT0oKT0+SChmdCxgJGNhcmRzSW5Qcm9ncmVzc2AsbSksZD0oKT0+SCh4dCxgJHNob3dTZW5kU3VjY2Vzc2AsbSksZj0oKT0+SChtZSxgJHRgLG0pLHA9KCk9PkgoQ3QsYCRpc0Rpc2Nvbm5lY3RlZGAsbSksW20sZ109QigpLHk9e2R1cmF0aW9uOjI1MH0sYj14KGBzZW5kYCksQz14KG51bGwpLFQ9eCghMSksRT14KG51bGwpLEQ9KCk9PntrKEMpJiZrKEMpLmNsaWNrKCl9LE89KCk9PntpKCkmJiFhKCk/aWUoKTplKCl9LGo9VigoKT0+cygpJiZTLmNvdW50KCk+MCksTT1WKCgpPT53ZSgpJiZjKCkpO3coKCk9PntrKE0pLCghaSgpfHxrKGopfHxrKE0pKSYmIWwoKT9oKGIsYHNlbmRgKTohayhNKSYmYSgpJiZoKGIsYGZpbGUtdXBsb2FkYCksKGwoKXx8dSgpJiZhKCkpJiZoKGIsYGxvYWRlcmApLCFsKCkmJmsoVCkmJiFrKEUpJiYoaChiLGBzdWNjZXNzYCksaChFLHdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aChFLG51bGwpfSx0KSwhMCkpLGQoKSYmIWEoKSYmKGgoYixgc3VjY2Vzc2ApLHdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eHQuc2V0KCExKSxHZSgpfSxXZSkpLGgoVCxsKCksITApfSk7bGV0e2J1dHRvblNlbmQ6ZWUsYnV0dG9uQXR0YWNobWVudDp0ZX09WDt2YXIgTj1OYSgpLG5lPW8oTikscmU9ZT0+e3ZhciB0PU9hKCksbj1vKHQpO3tsZXQgZT1WKCgpPT5mKCkoYHRvb2x0aXAuc2VuZGApKTtLcihuLHtnZXQgY29udGVudCgpe3JldHVybiBrKGUpfSxwbGFjZW1lbnQ6YGJvdHRvbWAsZGVsYXk6MWUzLGNoaWxkcmVuOihlLHQpPT57e2xldCB0PVYoKCk9PmYoKShgdG9vbHRpcC5zZW5kYCkpO3l0KGUse3NpemU6YGxnYCxnZXQgaWNvbigpe3JldHVybiBEYX0sdmFyaWFudDpgcHJpbWFyeWAsZ2V0IGRpc2FibGVkKCl7cmV0dXJuIHAoKX0sZ2V0IGljb25EZXNjcmlwdGlvbigpe3JldHVybiBrKHQpfSxvbkNsaWNrOk8sZ2V0IHRlc3RJZCgpe3JldHVybiBlZX19KX19LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSl9cSh0KSxvdCg1LHQsKCk9Pm10LCgpPT55KSxRKGUsdCl9LFA9ZT0+e3ZhciB0PUFhKCksbj1vKHQpO3tsZXQgZT1WKCgpPT5mKCkoYHRvb2x0aXAuYXR0YWNobWVudGApKTtLcihuLHtnZXQgY29udGVudCgpe3JldHVybiBrKGUpfSxwbGFjZW1lbnQ6YGJvdHRvbWAsZGVsYXk6MWUzLGNoaWxkcmVuOihlLHQpPT57dmFyIG49a2EoKSxyPXoobik7e2xldCBlPVYoKCk9PmYoKShgdG9vbHRpcC5hdHRhY2htZW50YCkpO3l0KHIse3NpemU6YGxnYCxnZXQgaWNvbigpe3JldHVybiBUYX0sZ2V0IGljb25EZXNjcmlwdGlvbigpe3JldHVybiBrKGUpfSxnZXQgZGlzYWJsZWQoKXtyZXR1cm4gcCgpfSxvbkNsaWNrOkQsZ2V0IHRlc3RJZCgpe3JldHVybiB0ZX19KX1yYShfKHIsMikse2dldCBpbnB1dFJlZigpe3JldHVybiBrKEMpfSxzZXQgaW5wdXRSZWYoZSl7aChDLGUsITApfX0pLFEoZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX1xKHQpLG90KDUsdCwoKT0+bXQsKCk9PnkpLFEoZSx0KX0sRj1lPT57dmFyIHQ9amEoKSxuPW8odCk7e2xldCBlPVYoKCk9PmYoKShgYXJpYUxhYmVsLnVwbG9hZGluZ2ApKTt5dChuLHtzaXplOmBsZ2AsZ2V0IGljb24oKXtyZXR1cm4gWWl9LGljb25BbmltYXRpb246YHNwaW5gLHZhcmlhbnQ6YGdob3N0YCxnZXQgaWNvbkRlc2NyaXB0aW9uKCl7cmV0dXJuIGsoZSl9LGRpc2FibGVkOiEwfSl9cSh0KSxvdCg1LHQsKCk9Pm10LCgpPT55KSxRKGUsdCl9LGFlPWU9Pnt2YXIgdD1NYSgpLG49byh0KTt7bGV0IGU9VigoKT0+ZigpKGBhcmlhTGFiZWwuc3VjY2Vzc2ApKTt5dChuLHtzaXplOmBsZ2AsZ2V0IGljb24oKXtyZXR1cm4gQXR9LHZhcmlhbnQ6YHN1Y2Nlc3NgLGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gayhlKX19KX1xKHQpLG90KDUsdCwoKT0+bXQsKCk9PnkpLFEoZSx0KX07SyhuZSxlPT57ayhiKT09PWBzZW5kYD9lKHJlKTprKGIpPT09YGZpbGUtdXBsb2FkYD9lKFAsMSk6ayhiKT09PWBsb2FkZXJgP2UoRiwyKTprKGIpPT09YHN1Y2Nlc3NgJiZlKGFlLDMpfSkscShOKSxRKG4sTiksSigpLGcoKX12YXIgRmE9ZihgPGRpdj48IT48L2Rpdj5gKSxJYT1mKGA8ZGl2IGNsYXNzPSJyZWxhdGl2ZSBmbGV4IGl0ZW1zLWVuZCI+PGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBiZy1zbGF0ZS0xMDAgcm91bmRlZC0zeGwgdHJhbnNpdGlvbi13aWR0aC0yNTAgZm9jdXMtd2l0aGluOm91dGxpbmUtMiBmb2N1cy13aXRoaW46b3V0bGluZS1wcmltYXJ5LWZvY3VzIGZvY3VzLXdpdGhpbjpvdXRsaW5lLXNvbGlkIj48IT4gPGRpdiBjbGFzcz0iZmxleCB3LWZ1bGwiPjwhPiA8IT48L2Rpdj48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gTGEodCxuKXtXKG4sITApO2xldCByPSgpPT5IKHJlLGAkbWVzc2VuZ2VySW5wdXRWYWx1ZWAsZCksaT0oKT0+SCh2LGAkaXNNZXNzZW5nZXJGcmFtZU9wZW5gLGQpLGE9KCk9PkgoYyxgJGhhc0NvbnRhY3RPckFnZW50TWVzc2FnZWAsZCkscz0oKT0+SChnZSxgJGlzTWVzc2VuZ2VySW5wdXRFbXB0eWAsZCksbD0oKT0+SChsZSxgJGlzTWVzc2VuZ2VySW5wdXREaXNhYmxlZGAsZCksdT0oKT0+SChKZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGQpLFtkLGZdPUIoKSxwPXgobnVsbCkse3dpZGdldEJsb2NraW5nT3B0aW9uczptLG1vYmlsZVNkazpnfT1zZS5nZXRPcHRpb25zKCk7cGUoKCk9PntsZXQgZT0oKT0+e1Qoe25hbWU6YWUuTWVzc2FnZSx2YWx1ZTpyKCl9KX07cmV0dXJuIEMoKS5hZGRFdmVudExpc3RlbmVyKGBwYWdlaGlkZWAsZSksKCk9PkMoKS5yZW1vdmVFdmVudExpc3RlbmVyKGBwYWdlaGlkZWAsZSl9KTtsZXQgYj1NZShlPT5UKHtuYW1lOmFlLk1lc3NhZ2UsdmFsdWU6ZX0pLDUwMCk7dygoKT0+eyhDKCkuU01BUlRTVVBQX0JGQ0FDSEU9PT0hMHx8ZykmJmIocigpKX0pO2xldCBTPVYoaSksRT1WKCgpPT5rKFMpP2EoKXx8IXMoKTohMCk7dmFyIEQ9TCgpLE89eihEKSxBPXQ9Pnt2YXIgbj1JYSgpLHI9byhuKTtsZXQgaTt2YXIgYT1vKHIpLHM9ZT0+e2xhKGUse30pfTtLKGEsZT0+e2soUykmJmUocyl9KTt2YXIgYz1fKGEsMiksbD1vKGMpO2hhKGwse2dldCBvbktleUVudGVyKCl7cmV0dXJuIGV9LGdldCByZXNpemFibGUoKXtyZXR1cm4gayhTKX0sZ2V0IHRleHRhcmVhUmVmKCl7cmV0dXJuIGsocCl9LHNldCB0ZXh0YXJlYVJlZihlKXtoKHAsZSwhMCl9fSk7dmFyIGQ9XyhsLDIpLGY9ZT0+e3ZhciB0PUZhKCk7bGV0IG47Q2Eobyh0KSx7Z2V0IHRleHRhcmVhUmVmKCl7cmV0dXJuIGsocCl9fSkscSh0KSx5KCgpPT5uPVoodCwxLGBmbGV4LXNocmluayBmbGV4IGl0ZW1zLWVuZCB0ZXh0LWxnIHRleHQtc2xhdGUtNTAwYCxudWxsLG4seyJtYi1bMnB4XSI6dSgpfSkpLFEoZSx0KX07SyhkLGU9PntrKFMpJiZlKGYpfSkscShjKSxxKHIpO3ZhciBtPV8ociwyKSxnPWU9PntQYShlLHt9KX07SyhtLGU9PntrKEUpJiZlKGcpfSkscShuKSx5KCgpPT5pPVhlKHIsYGAsaSx7d2lkdGg6ayhFKT9gY2FsYygxMDAlIC0gNTZweClgOmAxMDAlYH0pKSxvdCgzLHIsKCk9PnJ0LCgpPT4oe3k6MTUsZHVyYXRpb246NTAwfSkpLFEodCxuKX07SyhPLGU9PnshbCgpJiYhbT8uZGlzYWJsZVRleHRhcmVhJiZlKEEpfSksUSh0LEQpLEooKSxmKCl9ZXhwb3J0e0t0IGFzIF8sQmkgYXMgYSxQdCBhcyBiLFBpIGFzIGMsc2kgYXMgZCxvaSBhcyBmLEtyIGFzIGcsSnIgYXMgaCxVaSBhcyBpLENpIGFzIGwsUXIgYXMgbSxEYSBhcyBuLFJpIGFzIG8sYWkgYXMgcCxHaSBhcyByLElpIGFzIHMsTGEgYXMgdCx1aSBhcyB1LFV0IGFzIHYsQnQgYXMgeX07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPVdpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzLm1hcA=="}},"time_used":8,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/pages/index-ade5997943c9b37b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.438Z","timestamp":1785133562438,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/pages/index-ade5997943c9b37b.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"index-ade5997943c9b37b.js\"\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"69088a0fa4ac7d4ed8b6546e8a2474cf\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/pages/index-ade5997943c9b37b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::nwvr5-1785133562442-a2d005e8dc5b\r\ncontent-length: 454\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":"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":454,"size_decoded":1076,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (454), with no line terminators","md5":"69088a0fa4ac7d4ed8b6546e8a2474cf","sha1":"706fd65e1304fb4fb88d466b81541ffa771c4b43","sha256":"4d83d41e43a0826b9db0ba1bb4df84dd7c9d155136f63b0ed47d700c140c11df","sha512":"240cadaffdbf5c00bec332c1beb9ecd02e5ddd6cbc1350c2cb624a1c8ecd16b96c0a3f15047cbccfd65c1f1a42bda783a70acf62224211b9ca4d74bf590ae531","ssdeep":"","tlshash":"76f0979838d27c64224324f8003b280fb6be285828ad2488a3a180c53c3456c9122fcc","first_seen":"2026-07-27T03:07:35.300268Z","last_seen":"2026-07-27T06:26:35.978712Z","times_seen":2,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rX05fRT1zZWxmLndlYnBhY2tDaHVua19OX0V8fFtdKS5wdXNoKFtbNTQwNV0sezc1NTU3OmZ1bmN0aW9uKG4sdSx0KXsod2luZG93Ll9fTkVYVF9QPXdpbmRvdy5fX05FWFRfUHx8W10pLnB1c2goWyIvIixmdW5jdGlvbigpe3JldHVybiB0KDk4MjgpfV0pfSw5ODI4OmZ1bmN0aW9uKG4sdSx0KXsidXNlIHN0cmljdCI7dC5yKHUpLHQuZCh1LHtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIF99fSk7dmFyIGU9dCg4NTg5Mykscj10KDcxNjM0KTtmdW5jdGlvbiBfKCl7cmV0dXJuKDAsZS5qc3gpKGUuRnJhZ21lbnQse2NoaWxkcmVuOigwLGUuanN4KShyLmRlZmF1bHQse30pfSl9fX0sZnVuY3Rpb24obil7bi5PKDAsWzk1NzAsMzg3NCw1Njc1LDcyNzEsNTY0MiwyODg4LDk3NzQsMTc5XSxmdW5jdGlvbigpe3JldHVybiBuKG4ucz03NTU1Nyl9KSxfTl9FPW4uTygpfV0pOw=="}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/main-63e3823b1afa5a4b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.427Z","timestamp":1785133562427,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/main-63e3823b1afa5a4b.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"main-63e3823b1afa5a4b.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"e64f1bb38a645365e02722003ec1daaa\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/main-63e3823b1afa5a4b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::ddsnr-1785133562441-a20f37d51425\r\ncontent-length: 33385\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":"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":111142,"size_decoded":34023,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"5c52c25474d00570ff105e8393920494","sha1":"3cc1b107eaead74f05d5f2fb00b9679307cd52d2","sha256":"54efa0b4999f4275c733736b2d84c11d8fd264c92c9741207039b2b17e3d8e49","sha512":"4a1df70437d45047c37e9ff6a3bd89d403acf2d4beef546984d6f8a12d330983fcbb94b8740b911e82d616a1227cb5623c72961591feb77b46227bc1b51e790b","ssdeep":"1536:ZXkqQDlfUZxYucIufM/o433dX4NQpsBrylVdBSGjP2d0/Y:OVUZ8EQcdINiqylFSGjPu0/Y","tlshash":"36b3fab676d1f8a203c741d4843b4006f36a1dbe142f6045b3aadcd6b96499ea0f3f79","first_seen":"2026-07-27T03:07:35.250004Z","last_seen":"2026-07-27T06:26:35.980232Z","times_seen":2,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rX05fRT1zZWxmLndlYnBhY2tDaHVua19OX0V8fFtdKS5wdXNoKFtbMTc5XSx7ODQ4Nzg6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcigpe3JldHVybiIifU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sNDAwMzc6ZnVuY3Rpb24oKXsidHJpbVN0YXJ0ImluIFN0cmluZy5wcm90b3R5cGV8fChTdHJpbmcucHJvdG90eXBlLnRyaW1TdGFydD1TdHJpbmcucHJvdG90eXBlLnRyaW1MZWZ0KSwidHJpbUVuZCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltRW5kPVN0cmluZy5wcm90b3R5cGUudHJpbVJpZ2h0KSwiZGVzY3JpcHRpb24iaW4gU3ltYm9sLnByb3RvdHlwZXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KFN5bWJvbC5wcm90b3R5cGUsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciBlPS9cKCguKilcKS8uZXhlYyh0aGlzLnRvU3RyaW5nKCkpO3JldHVybiBlP2VbMV06dm9pZCAwfX0pLEFycmF5LnByb3RvdHlwZS5mbGF0fHwoQXJyYXkucHJvdG90eXBlLmZsYXQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD10aGlzLmNvbmNhdC5hcHBseShbXSx0aGlzKSxlPjEmJnQuc29tZShBcnJheS5pc0FycmF5KT90LmZsYXQoZS0xKTp0fSxBcnJheS5wcm90b3R5cGUuZmxhdE1hcD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1hcChlLHQpLmZsYXQoKX0pLFByb21pc2UucHJvdG90eXBlLmZpbmFsbHl8fChQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5PWZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnRoZW4oZSxlKTt2YXIgdD10aGlzLmNvbnN0cnVjdG9yfHxQcm9taXNlO3JldHVybiB0aGlzLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHQucmVzb2x2ZShlKCkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcn0pfSxmdW5jdGlvbihyKXtyZXR1cm4gdC5yZXNvbHZlKGUoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IHJ9KX0pfSksT2JqZWN0LmZyb21FbnRyaWVzfHwoT2JqZWN0LmZyb21FbnRyaWVzPWZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5mcm9tKGUpLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlW3RbMF1dPXRbMV0sZX0se30pfSksQXJyYXkucHJvdG90eXBlLmF0fHwoQXJyYXkucHJvdG90eXBlLmF0PWZ1bmN0aW9uKGUpe3ZhciB0PU1hdGgudHJ1bmMoZSl8fDA7aWYodDwwJiYodCs9dGhpcy5sZW5ndGgpLCEodDwwfHx0Pj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbdF19KSxPYmplY3QuaGFzT3dufHwoT2JqZWN0Lmhhc093bj1mdW5jdGlvbihlLHQpe2lmKG51bGw9PWUpdGhyb3cgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QiKTtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKE9iamVjdChlKSx0KX0pLCJjYW5QYXJzZSJpbiBVUkx8fChVUkwuY2FuUGFyc2U9ZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIG5ldyBVUkwoZSx0KSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KX0sODk0NzA6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImFkZEJhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1yKDQ2Mjg2KSxvPXIoOTgzMzcpO2Z1bmN0aW9uIGEoZSx0KXtyZXR1cm4oMCxvLm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoKSgoMCxuLmFkZFBhdGhQcmVmaXgpKGUsIiIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw2NTQ5MDpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiYWRkTG9jYWxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxyKDk4MzM3KTtsZXQgbj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KHQ+MT90LTE6MCksbj0xO248dDtuKyspcltuLTFdPWFyZ3VtZW50c1tuXTtyZXR1cm4gZX07KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sMTcxNjk6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldFNvY2tldFVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49cig1MzM5NSk7ZnVuY3Rpb24gbyhlKXtsZXQgdD0oMCxuLm5vcm1hbGl6ZWRBc3NldFByZWZpeCkoZSkscj1mdW5jdGlvbihlKXtsZXQgdD13aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7dHJ5e3Q9bmV3IFVSTChlKS5wcm90b2NvbH1jYXRjaChlKXt9cmV0dXJuImh0dHA6Ij09PXQ/IndzOiI6IndzczoifShlfHwiIik7aWYoVVJMLmNhblBhcnNlKHQpKXJldHVybiB0LnJlcGxhY2UoL15odHRwLywid3MiKTtsZXR7aG9zdG5hbWU6byxwb3J0OmF9PXdpbmRvdy5sb2NhdGlvbjtyZXR1cm4gcisiLy8iK28rKGE/IjoiK2E6IiIpK3R9KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sODQ5MjA6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2FkZE1lc3NhZ2VMaXN0ZW5lcjpmdW5jdGlvbigpe3JldHVybiBpfSxjb25uZWN0SE1SOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LHNlbmRNZXNzYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fSk7bGV0IG89cigxNzE2OSksYT1bXTtmdW5jdGlvbiBpKGUpe2EucHVzaChlKX1mdW5jdGlvbiB1KGUpe2lmKG4mJm4ucmVhZHlTdGF0ZT09PW4uT1BFTilyZXR1cm4gbi5zZW5kKGUpfWxldCBsPTA7ZnVuY3Rpb24gcyhlKXshZnVuY3Rpb24gdCgpe2xldCByO2Z1bmN0aW9uIGkoKXtpZihuLm9uZXJyb3I9bnVsbCxuLm9uY2xvc2U9bnVsbCxuLmNsb3NlKCksKytsPjI1KXt3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7cmV0dXJufWNsZWFyVGltZW91dChyKSxyPXNldFRpbWVvdXQodCxsPjU/NWUzOjFlMyl9biYmbi5jbG9zZSgpO2xldCB1PSgwLG8uZ2V0U29ja2V0VXJsKShlLmFzc2V0UHJlZml4KTsobj1uZXcgd2luZG93LldlYlNvY2tldCgiIit1K2UucGF0aCkpLm9ub3Blbj1mdW5jdGlvbigpe2w9MCx3aW5kb3cuY29uc29sZS5sb2coIltITVJdIGNvbm5lY3RlZCIpfSxuLm9uZXJyb3I9aSxuLm9uY2xvc2U9aSxuLm9ubWVzc2FnZT1mdW5jdGlvbihlKXtsZXQgdD1KU09OLnBhcnNlKGUuZGF0YSk7Zm9yKGxldCBlIG9mIGEpZSh0KX19KCl9KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sNDE2NjpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRldGVjdERvbWFpbkxvY2FsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7bGV0IHI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PUFycmF5KGUpLHI9MDtyPGU7cisrKXRbcl09YXJndW1lbnRzW3JdfTsoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw5MTE0OTpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaGFzQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPXIoNjY3NzcpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsbi5wYXRoSGFzUHJlZml4KShlLCIiKX0oImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw2OTEzOmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7RE9NQXR0cmlidXRlTmFtZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBpfSxpc0VxdWFsTm9kZTpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPXthY2NlcHRDaGFyc2V0OiJhY2NlcHQtY2hhcnNldCIsY2xhc3NOYW1lOiJjbGFzcyIsaHRtbEZvcjoiZm9yIixodHRwRXF1aXY6Imh0dHAtZXF1aXYiLG5vTW9kdWxlOiJub01vZHVsZSJ9O2Z1bmN0aW9uIG8oZSl7bGV0e3R5cGU6dCxwcm9wczpyfT1lLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KTtmb3IobGV0IGUgaW4gcil7aWYoIXIuaGFzT3duUHJvcGVydHkoZSl8fCJjaGlsZHJlbiI9PT1lfHwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiPT09ZXx8dm9pZCAwPT09cltlXSljb250aW51ZTtsZXQgYT1uW2VdfHxlLnRvTG93ZXJDYXNlKCk7InNjcmlwdCI9PT10JiYoImFzeW5jIj09PWF8fCJkZWZlciI9PT1hfHwibm9Nb2R1bGUiPT09YSk/b1thXT0hIXJbZV06by5zZXRBdHRyaWJ1dGUoYSxyW2VdKX1sZXR7Y2hpbGRyZW46YSxkYW5nZXJvdXNseVNldElubmVySFRNTDppfT1yO3JldHVybiBpP28uaW5uZXJIVE1MPWkuX19odG1sfHwiIjphJiYoby50ZXh0Q29udGVudD0ic3RyaW5nIj09dHlwZW9mIGE/YTpBcnJheS5pc0FycmF5KGEpP2Euam9pbigiIik6IiIpLG99ZnVuY3Rpb24gYShlLHQpe2lmKGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KXtsZXQgcj10LmdldEF0dHJpYnV0ZSgibm9uY2UiKTtpZihyJiYhZS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpe2xldCBuPXQuY2xvbmVOb2RlKCEwKTtyZXR1cm4gbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIiwiIiksbi5ub25jZT1yLHI9PT1lLm5vbmNlJiZlLmlzRXF1YWxOb2RlKG4pfX1yZXR1cm4gZS5pc0VxdWFsTm9kZSh0KX1mdW5jdGlvbiBpKCl7cmV0dXJue21vdW50ZWRJbnN0YW5jZXM6bmV3IFNldCx1cGRhdGVIZWFkOmU9PntsZXQgdD17fTtlLmZvckVhY2goZT0+e2lmKCJsaW5rIj09PWUudHlwZSYmZS5wcm9wc1siZGF0YS1vcHRpbWl6ZWQtZm9udHMiXSl7aWYoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS1ocmVmPSInK2UucHJvcHNbImRhdGEtaHJlZiJdKyciXScpKXJldHVybjtlLnByb3BzLmhyZWY9ZS5wcm9wc1siZGF0YS1ocmVmIl0sZS5wcm9wc1siZGF0YS1ocmVmIl09dm9pZCAwfWxldCByPXRbZS50eXBlXXx8W107ci5wdXNoKGUpLHRbZS50eXBlXT1yfSk7bGV0IG49dC50aXRsZT90LnRpdGxlWzBdOm51bGwsbz0iIjtpZihuKXtsZXR7Y2hpbGRyZW46ZX09bi5wcm9wcztvPSJzdHJpbmciPT10eXBlb2YgZT9lOkFycmF5LmlzQXJyYXkoZSk/ZS5qb2luKCIiKToiIn1vIT09ZG9jdW1lbnQudGl0bGUmJihkb2N1bWVudC50aXRsZT1vKSxbIm1ldGEiLCJiYXNlIiwibGluayIsInN0eWxlIiwic2NyaXB0Il0uZm9yRWFjaChlPT57cihlLHRbZV18fFtdKX0pfX19cj0oZSx0KT0+e2xldCByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sbj1yLnF1ZXJ5U2VsZWN0b3IoIm1ldGFbbmFtZT1uZXh0LWhlYWQtY291bnRdIiksaT1OdW1iZXIobi5jb250ZW50KSx1PVtdO2ZvcihsZXQgdD0wLHI9bi5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO3Q8aTt0Kysscj0obnVsbD09cj92b2lkIDA6ci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKXx8bnVsbCl7dmFyIGw7KG51bGw9PXI/dm9pZCAwOm51bGw9PShsPXIudGFnTmFtZSk/dm9pZCAwOmwudG9Mb3dlckNhc2UoKSk9PT1lJiZ1LnB1c2gocil9bGV0IHM9dC5tYXAobykuZmlsdGVyKGU9Pntmb3IobGV0IHQ9MCxyPXUubGVuZ3RoO3Q8cjt0KyspaWYoYSh1W3RdLGUpKXJldHVybiB1LnNwbGljZSh0LDEpLCExO3JldHVybiEwfSk7dS5mb3JFYWNoKGU9Pnt2YXIgdDtyZXR1cm4gbnVsbD09KHQ9ZS5wYXJlbnROb2RlKT92b2lkIDA6dC5yZW1vdmVDaGlsZChlKX0pLHMuZm9yRWFjaChlPT5yLmluc2VydEJlZm9yZShlLG4pKSxuLmNvbnRlbnQ9KGktdS5sZW5ndGgrcy5sZW5ndGgpLnRvU3RyaW5nKCl9LCgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDg5OTMwOmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7bGV0IG4sbyxhLGksdSxsLHMsYyxmLGQscCxoO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtsZXQgbT1yKDYxNzU3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2VtaXR0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gen0saHlkcmF0ZTpmdW5jdGlvbigpe3JldHVybiBlZn0saW5pdGlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiAkfSxyb3V0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sdmVyc2lvbjpmdW5jdGlvbigpe3JldHVybiBHfX0pO2xldCBfPXIoMzg3NTQpLGc9cig4NTg5Myk7cig0MDAzNyk7bGV0IHk9Xy5fKHIoNjcyOTQpKSxiPV8uXyhyKDIwNzQ1KSksUD1yKDcxNTE1KSx2PV8uXyhyKDg1MDAxKSksRT1yKDgxOTI4KSxTPXIoNTA2MzEpLE89cig5OTM2KSxqPXIoMTk3MzApLHc9cigxNzUwMCksUj1yKDk5OTAzKSxUPXIoMTYxNDQpLE09Xy5fKHIoNjkxMykpLHg9Xy5fKHIoMjM0MTkpKSxJPV8uXyhyKDY2ODA4KSksQz1yKDQ2NDk0KSxBPXIoNDMwNzkpLEw9cig4MDY3NiksTj1yKDIzOTQ1KSxEPXIoMzA2NDYpLGs9cig5MTE0OSksVT1yKDYwMjU3KSxGPXIoMTA1NDYpLEI9cigyMjYwOCksSD1fLl8ocig2NzAyMikpLFc9Xy5fKHIoMjExNTIpKSxxPV8uXyhyKDkzNDM2KSksRz0iMTQuMi4yNiIsej0oMCx2LmRlZmF1bHQpKCksVj1lPT5bXS5zbGljZS5jYWxsKGUpLFg9ITE7Y2xhc3MgWSBleHRlbmRzIHkuZGVmYXVsdC5Db21wb25lbnR7Y29tcG9uZW50RGlkQ2F0Y2goZSx0KXt0aGlzLnByb3BzLmZuKGUsdCl9Y29tcG9uZW50RGlkTW91bnQoKXt0aGlzLnNjcm9sbFRvSGFzaCgpLG4uaXNTc3ImJihvLmlzRmFsbGJhY2t8fG8ubmV4dEV4cG9ydCYmKCgwLE8uaXNEeW5hbWljUm91dGUpKG4ucGF0aG5hbWUpfHxsb2NhdGlvbi5zZWFyY2h8fFgpfHxvLnByb3BzJiZvLnByb3BzLl9fTl9TU0cmJihsb2NhdGlvbi5zZWFyY2h8fFgpKSYmbi5yZXBsYWNlKG4ucGF0aG5hbWUrIj8iK1N0cmluZygoMCxqLmFzc2lnbikoKDAsai51cmxRdWVyeVRvU2VhcmNoUGFyYW1zKShuLnF1ZXJ5KSxuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCkpKSxhLHtfaDoxLHNoYWxsb3c6IW8uaXNGYWxsYmFjayYmIVh9KS5jYXRjaChlPT57aWYoIWUuY2FuY2VsbGVkKXRocm93IGV9KX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLnNjcm9sbFRvSGFzaCgpfXNjcm9sbFRvSGFzaCgpe2xldHtoYXNoOmV9PWxvY2F0aW9uO2lmKCEoZT1lJiZlLnN1YnN0cmluZygxKSkpcmV0dXJuO2xldCB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpO3QmJnNldFRpbWVvdXQoKCk9PnQuc2Nyb2xsSW50b1ZpZXcoKSwwKX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbn19YXN5bmMgZnVuY3Rpb24gJChlKXt2b2lkIDA9PT1lJiYoZT17fSksVy5kZWZhdWx0Lm9uU3BhbkVuZChxLmRlZmF1bHQpLG89SlNPTi5wYXJzZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19ORVhUX0RBVEFfXyIpLnRleHRDb250ZW50KSx3aW5kb3cuX19ORVhUX0RBVEFfXz1vLGg9by5kZWZhdWx0TG9jYWxlO2xldCB0PW8uYXNzZXRQcmVmaXh8fCIiO2lmKHNlbGYuX19uZXh0X3NldF9wdWJsaWNfcGF0aF9fKCIiK3QrIi9fbmV4dC8iKSwoMCx3LnNldENvbmZpZykoe3NlcnZlclJ1bnRpbWVDb25maWc6e30scHVibGljUnVudGltZUNvbmZpZzpvLnJ1bnRpbWVDb25maWd8fHt9fSksYT0oMCxSLmdldFVSTCkoKSwoMCxrLmhhc0Jhc2VQYXRoKShhKSYmKGE9KDAsRC5yZW1vdmVCYXNlUGF0aCkoYSkpLG8uc2NyaXB0TG9hZGVyKXtsZXR7aW5pdFNjcmlwdExvYWRlcjplfT1yKDIzMzgxKTtlKG8uc2NyaXB0TG9hZGVyKX1pPW5ldyB4LmRlZmF1bHQoby5idWlsZElkLHQpO2xldCBzPWU9PntsZXRbdCxyXT1lO3JldHVybiBpLnJvdXRlTG9hZGVyLm9uRW50cnlwb2ludCh0LHIpfTtyZXR1cm4gd2luZG93Ll9fTkVYVF9QJiZ3aW5kb3cuX19ORVhUX1AubWFwKGU9PnNldFRpbWVvdXQoKCk9PnMoZSksMCkpLHdpbmRvdy5fX05FWFRfUD1bXSx3aW5kb3cuX19ORVhUX1AucHVzaD1zLChsPSgwLE0uZGVmYXVsdCkoKSkuZ2V0SXNTc3I9KCk9Pm4uaXNTc3IsdT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0Iikse2Fzc2V0UHJlZml4OnR9fWZ1bmN0aW9uIEsoZSx0KXtyZXR1cm4oMCxnLmpzeCkoZSx7Li4udH0pfWZ1bmN0aW9uIEooZSl7dmFyIHQ7bGV0e2NoaWxkcmVuOnJ9PWUsbz15LmRlZmF1bHQudXNlTWVtbygoKT0+KDAsRi5hZGFwdEZvckFwcFJvdXRlckluc3RhbmNlKShuKSxbXSk7cmV0dXJuKDAsZy5qc3gpKFkse2ZuOmU9Plooe0FwcDpmLGVycjplfSkuY2F0Y2goZT0+Y29uc29sZS5lcnJvcigiRXJyb3IgcmVuZGVyaW5nIHBhZ2U6ICIsZSkpLGNoaWxkcmVuOigwLGcuanN4KShVLkFwcFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOm8sY2hpbGRyZW46KDAsZy5qc3gpKEIuU2VhcmNoUGFyYW1zQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6KDAsRi5hZGFwdEZvclNlYXJjaFBhcmFtcykobiksY2hpbGRyZW46KDAsZy5qc3gpKEYuUGF0aG5hbWVDb250ZXh0UHJvdmlkZXJBZGFwdGVyLHtyb3V0ZXI6bixpc0F1dG9FeHBvcnQ6bnVsbCE9KHQ9c2VsZi5fX05FWFRfREFUQV9fLmF1dG9FeHBvcnQpJiZ0LGNoaWxkcmVuOigwLGcuanN4KShCLlBhdGhQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTooMCxGLmFkYXB0Rm9yUGF0aFBhcmFtcykobiksY2hpbGRyZW46KDAsZy5qc3gpKEUuUm91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6KDAsQS5tYWtlUHVibGljUm91dGVySW5zdGFuY2UpKG4pLGNoaWxkcmVuOigwLGcuanN4KShQLkhlYWRNYW5hZ2VyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6bCxjaGlsZHJlbjooMCxnLmpzeCkoTi5JbWFnZUNvbmZpZ0NvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntkZXZpY2VTaXplczpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSxpbWFnZVNpemVzOlsxNiwzMiw0OCw2NCw5NiwxMjgsMjU2LDM4NF0scGF0aDoiL19uZXh0L2ltYWdlIixsb2FkZXI6ImRlZmF1bHQiLGRhbmdlcm91c2x5QWxsb3dTVkc6ITEsdW5vcHRpbWl6ZWQ6ITF9LGNoaWxkcmVuOnJ9KX0pfSl9KX0pfSl9KX0pfWxldCBRPWU9PnQ9PntsZXQgcj17Li4udCxDb21wb25lbnQ6cCxlcnI6by5lcnIscm91dGVyOm59O3JldHVybigwLGcuanN4KShKLHtjaGlsZHJlbjpLKGUscil9KX07ZnVuY3Rpb24gWihlKXtsZXR7QXBwOnQsZXJyOnV9PWU7cmV0dXJuIGNvbnNvbGUuZXJyb3IodSksY29uc29sZS5lcnJvcigiQSBjbGllbnQtc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkLCBzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9jbGllbnQtc2lkZS1leGNlcHRpb24tb2NjdXJyZWQiKSxpLmxvYWRQYWdlKCIvX2Vycm9yIikudGhlbihuPT57bGV0e3BhZ2U6byxzdHlsZVNoZWV0czphfT1uO3JldHVybihudWxsPT1zP3ZvaWQgMDpzLkNvbXBvbmVudCk9PT1vP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pm0uXyhyKDIxMTEpKSkudGhlbihuPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5tLl8ocigzMzgwMikpKS50aGVuKHI9Pih0PXIuZGVmYXVsdCxlLkFwcD10LG4pKSkudGhlbihlPT4oe0Vycm9yQ29tcG9uZW50OmUuZGVmYXVsdCxzdHlsZVNoZWV0czpbXX0pKTp7RXJyb3JDb21wb25lbnQ6byxzdHlsZVNoZWV0czphfX0pLnRoZW4ocj0+e3ZhciBpO2xldHtFcnJvckNvbXBvbmVudDpsLHN0eWxlU2hlZXRzOnN9PXIsYz1RKHQpLGY9e0NvbXBvbmVudDpsLEFwcFRyZWU6Yyxyb3V0ZXI6bixjdHg6e2Vycjp1LHBhdGhuYW1lOm8ucGFnZSxxdWVyeTpvLnF1ZXJ5LGFzUGF0aDphLEFwcFRyZWU6Y319O3JldHVybiBQcm9taXNlLnJlc29sdmUoKG51bGw9PShpPWUucHJvcHMpP3ZvaWQgMDppLmVycik/ZS5wcm9wczooMCxSLmxvYWRHZXRJbml0aWFsUHJvcHMpKHQsZikpLnRoZW4odD0+ZXMoey4uLmUsZXJyOnUsQ29tcG9uZW50Omwsc3R5bGVTaGVldHM6cyxwcm9wczp0fSkpfSl9ZnVuY3Rpb24gZWUoZSl7bGV0e2NhbGxiYWNrOnR9PWU7cmV0dXJuIHkuZGVmYXVsdC51c2VMYXlvdXRFZmZlY3QoKCk9PnQoKSxbdF0pLG51bGx9bGV0IGV0PXtuYXZpZ2F0aW9uU3RhcnQ6Im5hdmlnYXRpb25TdGFydCIsYmVmb3JlUmVuZGVyOiJiZWZvcmVSZW5kZXIiLGFmdGVyUmVuZGVyOiJhZnRlclJlbmRlciIsYWZ0ZXJIeWRyYXRlOiJhZnRlckh5ZHJhdGUiLHJvdXRlQ2hhbmdlOiJyb3V0ZUNoYW5nZSJ9LGVyPXtoeWRyYXRpb246Ik5leHQuanMtaHlkcmF0aW9uIixiZWZvcmVIeWRyYXRpb246Ik5leHQuanMtYmVmb3JlLWh5ZHJhdGlvbiIscm91dGVDaGFuZ2VUb1JlbmRlcjoiTmV4dC5qcy1yb3V0ZS1jaGFuZ2UtdG8tcmVuZGVyIixyZW5kZXI6Ik5leHQuanMtcmVuZGVyIn0sZW49bnVsbCxlbz0hMDtmdW5jdGlvbiBlYSgpe1tldC5iZWZvcmVSZW5kZXIsZXQuYWZ0ZXJIeWRyYXRlLGV0LmFmdGVyUmVuZGVyLGV0LnJvdXRlQ2hhbmdlXS5mb3JFYWNoKGU9PnBlcmZvcm1hbmNlLmNsZWFyTWFya3MoZSkpfWZ1bmN0aW9uIGVpKCl7Ui5TVCYmKHBlcmZvcm1hbmNlLm1hcmsoZXQuYWZ0ZXJIeWRyYXRlKSxwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGV0LmJlZm9yZVJlbmRlciwibWFyayIpLmxlbmd0aCYmKHBlcmZvcm1hbmNlLm1lYXN1cmUoZXIuYmVmb3JlSHlkcmF0aW9uLGV0Lm5hdmlnYXRpb25TdGFydCxldC5iZWZvcmVSZW5kZXIpLHBlcmZvcm1hbmNlLm1lYXN1cmUoZXIuaHlkcmF0aW9uLGV0LmJlZm9yZVJlbmRlcixldC5hZnRlckh5ZHJhdGUpKSxkJiZwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGVyLmh5ZHJhdGlvbikuZm9yRWFjaChkKSxlYSgpKX1mdW5jdGlvbiBldSgpe2lmKCFSLlNUKXJldHVybjtwZXJmb3JtYW5jZS5tYXJrKGV0LmFmdGVyUmVuZGVyKTtsZXQgZT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGV0LnJvdXRlQ2hhbmdlLCJtYXJrIik7ZS5sZW5ndGgmJihwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGV0LmJlZm9yZVJlbmRlciwibWFyayIpLmxlbmd0aCYmKHBlcmZvcm1hbmNlLm1lYXN1cmUoZXIucm91dGVDaGFuZ2VUb1JlbmRlcixlWzBdLm5hbWUsZXQuYmVmb3JlUmVuZGVyKSxwZXJmb3JtYW5jZS5tZWFzdXJlKGVyLnJlbmRlcixldC5iZWZvcmVSZW5kZXIsZXQuYWZ0ZXJSZW5kZXIpLGQmJihwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGVyLnJlbmRlcikuZm9yRWFjaChkKSxwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGVyLnJvdXRlQ2hhbmdlVG9SZW5kZXIpLmZvckVhY2goZCkpKSxlYSgpLFtlci5yb3V0ZUNoYW5nZVRvUmVuZGVyLGVyLnJlbmRlcl0uZm9yRWFjaChlPT5wZXJmb3JtYW5jZS5jbGVhck1lYXN1cmVzKGUpKSl9ZnVuY3Rpb24gZWwoZSl7bGV0e2NhbGxiYWNrczp0LGNoaWxkcmVuOnJ9PWU7cmV0dXJuIHkuZGVmYXVsdC51c2VMYXlvdXRFZmZlY3QoKCk9PnQuZm9yRWFjaChlPT5lKCkpLFt0XSkseS5kZWZhdWx0LnVzZUVmZmVjdCgoKT0+eygwLEkuZGVmYXVsdCkoZCl9LFtdKSxyfWZ1bmN0aW9uIGVzKGUpe2xldCB0LHtBcHA6cixDb21wb25lbnQ6byxwcm9wczphLGVycjppfT1lLGw9ImluaXRpYWwiaW4gZT92b2lkIDA6ZS5zdHlsZVNoZWV0cztvPW98fHMuQ29tcG9uZW50O2xldCBmPXsuLi5hPWF8fHMucHJvcHMsQ29tcG9uZW50Om8sZXJyOmkscm91dGVyOm59O3M9ZjtsZXQgZD0hMSxwPW5ldyBQcm9taXNlKChlLHIpPT57YyYmYygpLHQ9KCk9PntjPW51bGwsZSgpfSxjPSgpPT57ZD0hMCxjPW51bGw7bGV0IGU9RXJyb3IoIkNhbmNlbCByZW5kZXJpbmcgcm91dGUiKTtlLmNhbmNlbGxlZD0hMCxyKGUpfX0pO2Z1bmN0aW9uIGgoKXt0KCl9IWZ1bmN0aW9uKCl7aWYoIWwpcmV0dXJuO2xldCBlPW5ldyBTZXQoVihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZVtkYXRhLW4taHJlZl0iKSkubWFwKGU9PmUuZ2V0QXR0cmlidXRlKCJkYXRhLW4taHJlZiIpKSksdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJub3NjcmlwdFtkYXRhLW4tY3NzXSIpLHI9bnVsbD09dD92b2lkIDA6dC5nZXRBdHRyaWJ1dGUoImRhdGEtbi1jc3MiKTtsLmZvckVhY2godD0+e2xldHtocmVmOm4sdGV4dDpvfT10O2lmKCFlLmhhcyhuKSl7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtlLnNldEF0dHJpYnV0ZSgiZGF0YS1uLWhyZWYiLG4pLGUuc2V0QXR0cmlidXRlKCJtZWRpYSIsIngiKSxyJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLHIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSksZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvKSl9fSl9KCk7bGV0IG09KDAsZy5qc3hzKShnLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsZy5qc3gpKGVlLHtjYWxsYmFjazpmdW5jdGlvbigpe2lmKGwmJiFkKXtsZXQgZT1uZXcgU2V0KGwubWFwKGU9PmUuaHJlZikpLHQ9Vihkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZVtkYXRhLW4taHJlZl0iKSkscj10Lm1hcChlPT5lLmdldEF0dHJpYnV0ZSgiZGF0YS1uLWhyZWYiKSk7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDsrK24pZS5oYXMocltuXSk/dFtuXS5yZW1vdmVBdHRyaWJ1dGUoIm1lZGlhIik6dFtuXS5zZXRBdHRyaWJ1dGUoIm1lZGlhIiwieCIpO2xldCBuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIm5vc2NyaXB0W2RhdGEtbi1jc3NdIik7biYmbC5mb3JFYWNoKGU9PntsZXR7aHJlZjp0fT1lLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS1uLWhyZWY9IicrdCsnIl0nKTtyJiYobi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLG4ubmV4dFNpYmxpbmcpLG49cil9KSxWKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbZGF0YS1uLXBdIikpLmZvckVhY2goZT0+e2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0pfWlmKGUuc2Nyb2xsKXtsZXR7eDp0LHk6cn09ZS5zY3JvbGw7KDAsUy5oYW5kbGVTbW9vdGhTY3JvbGwpKCgpPT57d2luZG93LnNjcm9sbFRvKHQscil9KX19fSksKDAsZy5qc3hzKShKLHtjaGlsZHJlbjpbSyhyLGYpLCgwLGcuanN4KShULlBvcnRhbCx7dHlwZToibmV4dC1yb3V0ZS1hbm5vdW5jZXIiLGNoaWxkcmVuOigwLGcuanN4KShDLlJvdXRlQW5ub3VuY2VyLHt9KX0pXX0pXX0pO3JldHVybiFmdW5jdGlvbihlLHQpe1IuU1QmJnBlcmZvcm1hbmNlLm1hcmsoZXQuYmVmb3JlUmVuZGVyKTtsZXQgcj10KGVvP2VpOmV1KTtlbj8oMCx5LmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKSgoKT0+e2VuLnJlbmRlcihyKX0pOihlbj1iLmRlZmF1bHQuaHlkcmF0ZVJvb3QoZSxyLHtvblJlY292ZXJhYmxlRXJyb3I6SC5kZWZhdWx0fSksZW89ITEpfSh1LGU9PigwLGcuanN4KShlbCx7Y2FsbGJhY2tzOltlLGhdLGNoaWxkcmVuOigwLGcuanN4KSh5LmRlZmF1bHQuU3RyaWN0TW9kZSx7Y2hpbGRyZW46bX0pfSkpLHB9YXN5bmMgZnVuY3Rpb24gZWMoZSl7aWYoZS5lcnImJih2b2lkIDA9PT1lLkNvbXBvbmVudHx8IWUuaXNIeWRyYXRlUGFzcykpe2F3YWl0IFooZSk7cmV0dXJufXRyeXthd2FpdCBlcyhlKX1jYXRjaChyKXtsZXQgdD0oMCxMLmdldFByb3BlckVycm9yKShyKTtpZih0LmNhbmNlbGxlZCl0aHJvdyB0O2F3YWl0IFooey4uLmUsZXJyOnR9KX19YXN5bmMgZnVuY3Rpb24gZWYoZSl7bGV0IHQ9by5lcnI7dHJ5e2xldCBlPWF3YWl0IGkucm91dGVMb2FkZXIud2hlbkVudHJ5cG9pbnQoIi9fYXBwIik7aWYoImVycm9yImluIGUpdGhyb3cgZS5lcnJvcjtsZXR7Y29tcG9uZW50OnQsZXhwb3J0czpyfT1lO2Y9dCxyJiZyLnJlcG9ydFdlYlZpdGFscyYmKGQ9ZT0+e2xldCB0LHtpZDpuLG5hbWU6byxzdGFydFRpbWU6YSx2YWx1ZTppLGR1cmF0aW9uOnUsZW50cnlUeXBlOmwsZW50cmllczpzLGF0dHJpYnV0aW9uOmN9PWUsZj1EYXRlLm5vdygpKyItIisoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKig5ZTEyLTEpKSsxZTEyKTtzJiZzLmxlbmd0aCYmKHQ9c1swXS5zdGFydFRpbWUpO2xldCBkPXtpZDpufHxmLG5hbWU6byxzdGFydFRpbWU6YXx8dCx2YWx1ZTpudWxsPT1pP3U6aSxsYWJlbDoibWFyayI9PT1sfHwibWVhc3VyZSI9PT1sPyJjdXN0b20iOiJ3ZWItdml0YWwifTtjJiYoZC5hdHRyaWJ1dGlvbj1jKSxyLnJlcG9ydFdlYlZpdGFscyhkKX0pO2xldCBuPWF3YWl0IGkucm91dGVMb2FkZXIud2hlbkVudHJ5cG9pbnQoby5wYWdlKTtpZigiZXJyb3IiaW4gbil0aHJvdyBuLmVycm9yO3A9bi5jb21wb25lbnR9Y2F0Y2goZSl7dD0oMCxMLmdldFByb3BlckVycm9yKShlKX13aW5kb3cuX19ORVhUX1BSRUxPQURSRUFEWSYmYXdhaXQgd2luZG93Ll9fTkVYVF9QUkVMT0FEUkVBRFkoby5keW5hbWljSWRzKSxuPSgwLEEuY3JlYXRlUm91dGVyKShvLnBhZ2Usby5xdWVyeSxhLHtpbml0aWFsUHJvcHM6by5wcm9wcyxwYWdlTG9hZGVyOmksQXBwOmYsQ29tcG9uZW50OnAsd3JhcEFwcDpRLGVycjp0LGlzRmFsbGJhY2s6ISFvLmlzRmFsbGJhY2ssc3Vic2NyaXB0aW9uOihlLHQscik9PmVjKE9iamVjdC5hc3NpZ24oe30sZSx7QXBwOnQsc2Nyb2xsOnJ9KSksbG9jYWxlOm8ubG9jYWxlLGxvY2FsZXM6by5sb2NhbGVzLGRlZmF1bHRMb2NhbGU6aCxkb21haW5Mb2NhbGVzOm8uZG9tYWluTG9jYWxlcyxpc1ByZXZpZXc6by5pc1ByZXZpZXd9KSxYPWF3YWl0IG4uX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2U7bGV0IHI9e0FwcDpmLGluaXRpYWw6ITAsQ29tcG9uZW50OnAscHJvcHM6by5wcm9wcyxlcnI6dCxpc0h5ZHJhdGVQYXNzOiEwfTsobnVsbD09ZT92b2lkIDA6ZS5iZWZvcmVSZW5kZXIpJiZhd2FpdCBlLmJlZm9yZVJlbmRlcigpLGVjKHIpfSgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDQzMTM2OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIoOTcxNzgpO2xldCBuPXIoODk5MzApO3dpbmRvdy5uZXh0PXt2ZXJzaW9uOm4udmVyc2lvbixnZXQgcm91dGVyKCl7cmV0dXJuIG4ucm91dGVyfSxlbWl0dGVyOm4uZW1pdHRlcn0sKDAsbi5pbml0aWFsaXplKSh7fSkudGhlbigoKT0+KDAsbi5oeWRyYXRlKSgpKS5jYXRjaChjb25zb2xlLmVycm9yKSwoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw5ODMzNzpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPXIoMzI2NTcpLG89cig5MjEyMiksYT1lPT57aWYoIWUuc3RhcnRzV2l0aCgiLyIpKXJldHVybiBlO2xldHtwYXRobmFtZTp0LHF1ZXJ5OnIsaGFzaDphfT0oMCxvLnBhcnNlUGF0aCkoZSk7cmV0dXJuIiIrKDAsbi5yZW1vdmVUcmFpbGluZ1NsYXNoKSh0KStyK2F9OygiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDY3MDIyOmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj1yKDUwOTQ3KTtmdW5jdGlvbiBvKGUpe2xldCB0PSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57d2luZG93LmNvbnNvbGUuZXJyb3IoZSl9OygwLG4uaXNCYWlsb3V0VG9DU1JFcnJvcikoZSl8fHQoZSl9KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sMjM0MTk6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBkfX0pO2xldCBuPXIoMzg3NTQpLG89cig4OTQ3MCksYT1yKDkxNDE3KSxpPW4uXyhyKDM3ODIzKSksdT1yKDY1NDkwKSxsPXIoOTkzNikscz1yKDUyOTEzKSxjPXIoMzI2NTcpLGY9cig0OTg1Nik7cig0MjkyOSk7Y2xhc3MgZHtnZXRQYWdlTGlzdCgpe3JldHVybigwLGYuZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdCkoKS50aGVuKGU9PmUuc29ydGVkUGFnZXMpfWdldE1pZGRsZXdhcmUoKXtyZXR1cm4gd2luZG93Ll9fTUlERExFV0FSRV9NQVRDSEVSUz1bXSx3aW5kb3cuX19NSURETEVXQVJFX01BVENIRVJTfWdldERhdGFIcmVmKGUpe2xldHthc1BhdGg6dCxocmVmOnIsbG9jYWxlOm59PWUse3BhdGhuYW1lOmYscXVlcnk6ZCxzZWFyY2g6cH09KDAscy5wYXJzZVJlbGF0aXZlVXJsKShyKSx7cGF0aG5hbWU6aH09KDAscy5wYXJzZVJlbGF0aXZlVXJsKSh0KSxtPSgwLGMucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZik7aWYoIi8iIT09bVswXSl0aHJvdyBFcnJvcignUm91dGUgbmFtZSBzaG91bGQgc3RhcnQgd2l0aCBhICIvIiwgZ290ICInK20rJyInKTtyZXR1cm4oZT0+e2xldCB0PSgwLGkuZGVmYXVsdCkoKDAsYy5yZW1vdmVUcmFpbGluZ1NsYXNoKSgoMCx1LmFkZExvY2FsZSkoZSxuKSksIi5qc29uIik7cmV0dXJuKDAsby5hZGRCYXNlUGF0aCkoIi9fbmV4dC9kYXRhLyIrdGhpcy5idWlsZElkK3QrcCwhMCl9KShlLnNraXBJbnRlcnBvbGF0aW9uP2g6KDAsbC5pc0R5bmFtaWNSb3V0ZSkobSk/KDAsYS5pbnRlcnBvbGF0ZUFzKShmLGgsZCkucmVzdWx0Om0pfV9pc1NzZyhlKXtyZXR1cm4gdGhpcy5wcm9taXNlZFNzZ01hbmlmZXN0LnRoZW4odD0+dC5oYXMoZSkpfWxvYWRQYWdlKGUpe3JldHVybiB0aGlzLnJvdXRlTG9hZGVyLmxvYWRSb3V0ZShlKS50aGVuKGU9PntpZigiY29tcG9uZW50ImluIGUpcmV0dXJue3BhZ2U6ZS5jb21wb25lbnQsbW9kOmUuZXhwb3J0cyxzdHlsZVNoZWV0czplLnN0eWxlcy5tYXAoZT0+KHtocmVmOmUuaHJlZix0ZXh0OmUuY29udGVudH0pKX07dGhyb3cgZS5lcnJvcn0pfXByZWZldGNoKGUpe3JldHVybiB0aGlzLnJvdXRlTG9hZGVyLnByZWZldGNoKGUpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5yb3V0ZUxvYWRlcj0oMCxmLmNyZWF0ZVJvdXRlTG9hZGVyKSh0KSx0aGlzLmJ1aWxkSWQ9ZSx0aGlzLmFzc2V0UHJlZml4PXQsdGhpcy5wcm9taXNlZFNzZ01hbmlmZXN0PW5ldyBQcm9taXNlKGU9Pnt3aW5kb3cuX19TU0dfTUFOSUZFU1Q/ZSh3aW5kb3cuX19TU0dfTUFOSUZFU1QpOndpbmRvdy5fX1NTR19NQU5JRkVTVF9DQj0oKT0+e2Uod2luZG93Ll9fU1NHX01BTklGRVNUKX19KX19KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sNjY4MDg6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0pO2xldCBvPVsiQ0xTIiwiRkNQIiwiRklEIiwiSU5QIiwiTENQIiwiVFRGQiJdO2xvY2F0aW9uLmhyZWY7bGV0IGE9ITE7ZnVuY3Rpb24gaShlKXtuJiZuKGUpfWxldCB1PWU9PntpZihuPWUsIWEpZm9yKGxldCBlIG9mKGE9ITAsbykpdHJ5e2xldCB0O3R8fCh0PXIoNzgwMTgpKSx0WyJvbiIrZV0oaSl9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gdHJhY2sgIitlKyIgd2ViLXZpdGFsIix0KX19OygiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDE2MTQ0OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJQb3J0YWwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPXIoNjcyOTQpLG89cig3MzkzNSksYT1lPT57bGV0e2NoaWxkcmVuOnQsdHlwZTpyfT1lLFthLGldPSgwLG4udXNlU3RhdGUpKG51bGwpO3JldHVybigwLG4udXNlRWZmZWN0KSgoKT0+e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocik7cmV0dXJuIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSksaShlKSwoKT0+e2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9fSxbcl0pLGE/KDAsby5jcmVhdGVQb3J0YWwpKHQsYSk6bnVsbH07KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sMzA2NDY6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGUpe3JldHVybiBlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmVtb3ZlQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLHIoOTExNDkpLCgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDY4MzI0OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQpe3JldHVybiBlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmVtb3ZlTG9jYWxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxyKDkyMTIyKSwoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw4NDQ3NDpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2NhbmNlbElkbGVDYWxsYmFjazpmdW5jdGlvbigpe3JldHVybiBufSxyZXF1ZXN0SWRsZUNhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7bGV0IHI9InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLnJlcXVlc3RJZGxlQ2FsbGJhY2smJnNlbGYucmVxdWVzdElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdyl8fGZ1bmN0aW9uKGUpe2xldCB0PURhdGUubm93KCk7cmV0dXJuIHNlbGYuc2V0VGltZW91dChmdW5jdGlvbigpe2Uoe2RpZFRpbWVvdXQ6ITEsdGltZVJlbWFpbmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLm1heCgwLDUwLShEYXRlLm5vdygpLXQpKX19KX0sMSl9LG49InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLmNhbmNlbElkbGVDYWxsYmFjayYmc2VsZi5jYW5jZWxJZGxlQ2FsbGJhY2suYmluZCh3aW5kb3cpfHxmdW5jdGlvbihlKXtyZXR1cm4gY2xlYXJUaW1lb3V0KGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSwzNjA3NTpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmVzb2x2ZUhyZWYiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmfX0pO2xldCBuPXIoMTk3MzApLG89cig0ODA0MSksYT1yKDU3MDg1KSxpPXIoOTk5MDMpLHU9cig5ODMzNyksbD1yKDUzOTU1KSxzPXIoNzkwNjIpLGM9cig5MTQxNyk7ZnVuY3Rpb24gZihlLHQscil7bGV0IGY7bGV0IGQ9InN0cmluZyI9PXR5cGVvZiB0P3Q6KDAsby5mb3JtYXRXaXRoVmFsaWRhdGlvbikodCkscD1kLm1hdGNoKC9eW2EtekEtWl17MSx9OlwvXC8vKSxoPXA/ZC5zbGljZShwWzBdLmxlbmd0aCk6ZDtpZigoaC5zcGxpdCgiPyIsMSlbMF18fCIiKS5tYXRjaCgvKFwvXC98XFwpLykpe2NvbnNvbGUuZXJyb3IoIkludmFsaWQgaHJlZiAnIitkKyInIHBhc3NlZCB0byBuZXh0L3JvdXRlciBpbiBwYWdlOiAnIitlLnBhdGhuYW1lKyInLiBSZXBlYXRlZCBmb3J3YXJkLXNsYXNoZXMgKC8vKSBvciBiYWNrc2xhc2hlcyBcXCBhcmUgbm90IHZhbGlkIGluIHRoZSBocmVmLiIpO2xldCB0PSgwLGkubm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzKShoKTtkPShwP3BbMF06IiIpK3R9aWYoISgwLGwuaXNMb2NhbFVSTCkoZCkpcmV0dXJuIHI/W2RdOmQ7dHJ5e2Y9bmV3IFVSTChkLnN0YXJ0c1dpdGgoIiMiKT9lLmFzUGF0aDplLnBhdGhuYW1lLCJodHRwOi8vbiIpfWNhdGNoKGUpe2Y9bmV3IFVSTCgiLyIsImh0dHA6Ly9uIil9dHJ5e2xldCBlPW5ldyBVUkwoZCxmKTtlLnBhdGhuYW1lPSgwLHUubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKGUucGF0aG5hbWUpO2xldCB0PSIiO2lmKCgwLHMuaXNEeW5hbWljUm91dGUpKGUucGF0aG5hbWUpJiZlLnNlYXJjaFBhcmFtcyYmcil7bGV0IHI9KDAsbi5zZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KShlLnNlYXJjaFBhcmFtcykse3Jlc3VsdDppLHBhcmFtczp1fT0oMCxjLmludGVycG9sYXRlQXMpKGUucGF0aG5hbWUsZS5wYXRobmFtZSxyKTtpJiYodD0oMCxvLmZvcm1hdFdpdGhWYWxpZGF0aW9uKSh7cGF0aG5hbWU6aSxoYXNoOmUuaGFzaCxxdWVyeTooMCxhLm9taXQpKHIsdSl9KSl9bGV0IGk9ZS5vcmlnaW49PT1mLm9yaWdpbj9lLmhyZWYuc2xpY2UoZS5vcmlnaW4ubGVuZ3RoKTplLmhyZWY7cmV0dXJuIHI/W2ksdHx8aV06aX1jYXRjaChlKXtyZXR1cm4gcj9bZF06ZH19KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sNDY0OTQ6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse1JvdXRlQW5ub3VuY2VyOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1yKDM4NzU0KSxvPXIoODU4OTMpLGE9bi5fKHIoNjcyOTQpKSxpPXIoNDMwNzkpLHU9e2JvcmRlcjowLGNsaXA6InJlY3QoMCAwIDAgMCkiLGhlaWdodDoiMXB4IixtYXJnaW46Ii0xcHgiLG92ZXJmbG93OiJoaWRkZW4iLHBhZGRpbmc6MCxwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDowLHdpZHRoOiIxcHgiLHdoaXRlU3BhY2U6Im5vd3JhcCIsd29yZFdyYXA6Im5vcm1hbCJ9LGw9KCk9PntsZXR7YXNQYXRoOmV9PSgwLGkudXNlUm91dGVyKSgpLFt0LHJdPWEuZGVmYXVsdC51c2VTdGF0ZSgiIiksbj1hLmRlZmF1bHQudXNlUmVmKGUpO3JldHVybiBhLmRlZmF1bHQudXNlRWZmZWN0KCgpPT57aWYobi5jdXJyZW50IT09ZSl7aWYobi5jdXJyZW50PWUsZG9jdW1lbnQudGl0bGUpcihkb2N1bWVudC50aXRsZSk7ZWxzZXt2YXIgdDtsZXQgbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3IoKG51bGwhPSh0PW51bGw9PW4/dm9pZCAwOm4uaW5uZXJUZXh0KT90Om51bGw9PW4/dm9pZCAwOm4udGV4dENvbnRlbnQpfHxlKX19fSxbZV0pLCgwLG8uanN4KSgicCIseyJhcmlhLWxpdmUiOiJhc3NlcnRpdmUiLGlkOiJfX25leHQtcm91dGUtYW5ub3VuY2VyX18iLHJvbGU6ImFsZXJ0IixzdHlsZTp1LGNoaWxkcmVuOnR9KX0scz1sOygiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDQ5ODU2OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtjcmVhdGVSb3V0ZUxvYWRlcjpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRDbGllbnRCdWlsZE1hbmlmZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGlzQXNzZXRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBzfSxtYXJrQXNzZXRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfX0pLHIoMzg3NTQpLHIoMzc4MjMpO2xldCBuPXIoNjgxNDApLG89cig4NDQ3NCksYT1yKDg0ODc4KTtmdW5jdGlvbiBpKGUsdCxyKXtsZXQgbixvPXQuZ2V0KGUpO2lmKG8pcmV0dXJuImZ1dHVyZSJpbiBvP28uZnV0dXJlOlByb21pc2UucmVzb2x2ZShvKTtsZXQgYT1uZXcgUHJvbWlzZShlPT57bj1lfSk7cmV0dXJuIHQuc2V0KGUsbz17cmVzb2x2ZTpuLGZ1dHVyZTphfSkscj9yKCkudGhlbihlPT4obihlKSxlKSkuY2F0Y2gocj0+e3Rocm93IHQuZGVsZXRlKGUpLHJ9KTphfWxldCB1PVN5bWJvbCgiQVNTRVRfTE9BRF9FUlJPUiIpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHUse30pfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGUmJnUgaW4gZX1sZXQgYz1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLCEhd2luZG93Lk1TSW5wdXRNZXRob2RDb250ZXh0JiYhIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8ZS5yZWxMaXN0LnN1cHBvcnRzKCJwcmVmZXRjaCIpfWNhdGNoKGUpe3JldHVybiExfX0oKSxmPSgpPT4oMCxhLmdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZykoKTtmdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm4gbmV3IFByb21pc2UoKG4sYSk9PntsZXQgaT0hMTtlLnRoZW4oZT0+e2k9ITAsbihlKX0pLmNhdGNoKGEpLCgwLG8ucmVxdWVzdElkbGVDYWxsYmFjaykoKCk9PnNldFRpbWVvdXQoKCk9PntpfHxhKHIpfSx0KSl9KX1mdW5jdGlvbiBwKCl7cmV0dXJuIHNlbGYuX19CVUlMRF9NQU5JRkVTVD9Qcm9taXNlLnJlc29sdmUoc2VsZi5fX0JVSUxEX01BTklGRVNUKTpkKG5ldyBQcm9taXNlKGU9PntsZXQgdD1zZWxmLl9fQlVJTERfTUFOSUZFU1RfQ0I7c2VsZi5fX0JVSUxEX01BTklGRVNUX0NCPSgpPT57ZShzZWxmLl9fQlVJTERfTUFOSUZFU1QpLHQmJnQoKX19KSwzODAwLGwoRXJyb3IoIkZhaWxlZCB0byBsb2FkIGNsaWVudCBidWlsZCBtYW5pZmVzdCIpKSl9ZnVuY3Rpb24gaChlLHQpe3JldHVybiBwKCkudGhlbihyPT57aWYoISh0IGluIHIpKXRocm93IGwoRXJyb3IoIkZhaWxlZCB0byBsb29rdXAgcm91dGU6ICIrdCkpO2xldCBvPXJbdF0ubWFwKHQ9PmUrIi9fbmV4dC8iK2VuY29kZVVSSSh0KSk7cmV0dXJue3NjcmlwdHM6by5maWx0ZXIoZT0+ZS5lbmRzV2l0aCgiLmpzIikpLm1hcChlPT4oMCxuLl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCkoZSkrZigpKSxjc3M6by5maWx0ZXIoZT0+ZS5lbmRzV2l0aCgiLmNzcyIpKS5tYXAoZT0+ZStmKCkpfX0pfWZ1bmN0aW9uIG0oZSl7bGV0IHQ9bmV3IE1hcCxyPW5ldyBNYXAsbj1uZXcgTWFwLGE9bmV3IE1hcDtmdW5jdGlvbiB1KGUpe3t2YXIgdDtsZXQgbj1yLmdldChlLnRvU3RyaW5nKCkpO3JldHVybiBufHwoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyY149IicrZSsnIl0nKT9Qcm9taXNlLnJlc29sdmUoKTooci5zZXQoZS50b1N0cmluZygpLG49bmV3IFByb21pc2UoKHIsbik9PnsodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSkub25sb2FkPXIsdC5vbmVycm9yPSgpPT5uKGwoRXJyb3IoIkZhaWxlZCB0byBsb2FkIHNjcmlwdDogIitlKSkpLHQuY3Jvc3NPcmlnaW49dm9pZCAwLHQuc3JjPWUsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KX0pKSxuKSl9fWZ1bmN0aW9uIHMoZSl7bGV0IHQ9bi5nZXQoZSk7cmV0dXJuIHR8fG4uc2V0KGUsdD1mZXRjaChlLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbih0PT57aWYoIXQub2spdGhyb3cgRXJyb3IoIkZhaWxlZCB0byBsb2FkIHN0eWxlc2hlZXQ6ICIrZSk7cmV0dXJuIHQudGV4dCgpLnRoZW4odD0+KHtocmVmOmUsY29udGVudDp0fSkpfSkuY2F0Y2goZT0+e3Rocm93IGwoZSl9KSksdH1yZXR1cm57d2hlbkVudHJ5cG9pbnQ6ZT0+aShlLHQpLG9uRW50cnlwb2ludChlLHIpeyhyP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnIoKSkudGhlbihlPT4oe2NvbXBvbmVudDplJiZlLmRlZmF1bHR8fGUsZXhwb3J0czplfSksZT0+KHtlcnJvcjplfSkpOlByb21pc2UucmVzb2x2ZSh2b2lkIDApKS50aGVuKHI9PntsZXQgbj10LmdldChlKTtuJiYicmVzb2x2ZSJpbiBuP3ImJih0LnNldChlLHIpLG4ucmVzb2x2ZShyKSk6KHI/dC5zZXQoZSxyKTp0LmRlbGV0ZShlKSxhLmRlbGV0ZShlKSl9KX0sbG9hZFJvdXRlKHIsbil7cmV0dXJuIGkocixhLCgpPT57bGV0IG87cmV0dXJuIGQoaChlLHIpLnRoZW4oZT0+e2xldHtzY3JpcHRzOm4sY3NzOm99PWU7cmV0dXJuIFByb21pc2UuYWxsKFt0LmhhcyhyKT9bXTpQcm9taXNlLmFsbChuLm1hcCh1KSksUHJvbWlzZS5hbGwoby5tYXAocykpXSl9KS50aGVuKGU9PnRoaXMud2hlbkVudHJ5cG9pbnQocikudGhlbih0PT4oe2VudHJ5cG9pbnQ6dCxzdHlsZXM6ZVsxXX0pKSksMzgwMCxsKEVycm9yKCJSb3V0ZSBkaWQgbm90IGNvbXBsZXRlIGxvYWRpbmc6ICIrcikpKS50aGVuKGU9PntsZXR7ZW50cnlwb2ludDp0LHN0eWxlczpyfT1lLG49T2JqZWN0LmFzc2lnbih7c3R5bGVzOnJ9LHQpO3JldHVybiJlcnJvciJpbiB0P3Q6bn0pLmNhdGNoKGU9PntpZihuKXRocm93IGU7cmV0dXJue2Vycm9yOmV9fSkuZmluYWxseSgoKT0+bnVsbD09bz92b2lkIDA6bygpKX0pfSxwcmVmZXRjaCh0KXtsZXQgcjtyZXR1cm4ocj1uYXZpZ2F0b3IuY29ubmVjdGlvbikmJihyLnNhdmVEYXRhfHwvMmcvLnRlc3Qoci5lZmZlY3RpdmVUeXBlKSk/UHJvbWlzZS5yZXNvbHZlKCk6aChlLHQpLnRoZW4oZT0+UHJvbWlzZS5hbGwoYz9lLnNjcmlwdHMubWFwKGU9Pnt2YXIgdCxyLG47cmV0dXJuIHQ9ZS50b1N0cmluZygpLHI9InNjcmlwdCIsbmV3IFByb21pc2UoKGUsbyk9PntpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdcbiAgICAgIGxpbmtbcmVsPSJwcmVmZXRjaCJdW2hyZWZePSInK3QrJyJdLFxuICAgICAgbGlua1tyZWw9InByZWxvYWQiXVtocmVmXj0iJyt0KyciXSxcbiAgICAgIHNjcmlwdFtzcmNePSInK3QrJyJdJykpcmV0dXJuIGUoKTtuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxyJiYobi5hcz1yKSxuLnJlbD0icHJlZmV0Y2giLG4uY3Jvc3NPcmlnaW49dm9pZCAwLG4ub25sb2FkPWUsbi5vbmVycm9yPSgpPT5vKGwoRXJyb3IoIkZhaWxlZCB0byBwcmVmZXRjaDogIit0KSkpLG4uaHJlZj10LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobil9KX0pOltdKSkudGhlbigoKT0+eygwLG8ucmVxdWVzdElkbGVDYWxsYmFjaykoKCk9PnRoaXMubG9hZFJvdXRlKHQsITApLmNhdGNoKCgpPT57fSkpfSkuY2F0Y2goKCk9Pnt9KX19fSgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDQzMDc5OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtSb3V0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5kZWZhdWx0fSxjcmVhdGVSb3V0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBwfSxtYWtlUHVibGljUm91dGVySW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gX30sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LHdpdGhSb3V0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbC5kZWZhdWx0fX0pO2xldCBuPXIoMzg3NTQpLG89bi5fKHIoNjcyOTQpKSxhPW4uXyhyKDQ1Mjk4KSksaT1yKDgxOTI4KSx1PW4uXyhyKDgwNjc2KSksbD1uLl8ocig0MTUzMCkpLHM9e3JvdXRlcjpudWxsLHJlYWR5Q2FsbGJhY2tzOltdLHJlYWR5KGUpe2lmKHRoaXMucm91dGVyKXJldHVybiBlKCk7dGhpcy5yZWFkeUNhbGxiYWNrcy5wdXNoKGUpfX0sYz1bInBhdGhuYW1lIiwicm91dGUiLCJxdWVyeSIsImFzUGF0aCIsImNvbXBvbmVudHMiLCJpc0ZhbGxiYWNrIiwiYmFzZVBhdGgiLCJsb2NhbGUiLCJsb2NhbGVzIiwiZGVmYXVsdExvY2FsZSIsImlzUmVhZHkiLCJpc1ByZXZpZXciLCJpc0xvY2FsZURvbWFpbiIsImRvbWFpbkxvY2FsZXMiXSxmPVsicHVzaCIsInJlcGxhY2UiLCJyZWxvYWQiLCJiYWNrIiwicHJlZmV0Y2giLCJiZWZvcmVQb3BTdGF0ZSJdO2Z1bmN0aW9uIGQoKXtpZighcy5yb3V0ZXIpdGhyb3cgRXJyb3IoJ05vIHJvdXRlciBpbnN0YW5jZSBmb3VuZC5cbllvdSBzaG91bGQgb25seSB1c2UgIm5leHQvcm91dGVyIiBvbiB0aGUgY2xpZW50IHNpZGUgb2YgeW91ciBhcHAuXG4nKTtyZXR1cm4gcy5yb3V0ZXJ9T2JqZWN0LmRlZmluZVByb3BlcnR5KHMsImV2ZW50cyIse2dldDooKT0+YS5kZWZhdWx0LmV2ZW50c30pLGMuZm9yRWFjaChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHMsZSx7Z2V0OigpPT5kKClbZV19KX0pLGYuZm9yRWFjaChlPT57c1tlXT1mdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLHI9QXJyYXkodCksbj0wO248dDtuKyspcltuXT1hcmd1bWVudHNbbl07cmV0dXJuIGQoKVtlXSguLi5yKX19KSxbInJvdXRlQ2hhbmdlU3RhcnQiLCJiZWZvcmVIaXN0b3J5Q2hhbmdlIiwicm91dGVDaGFuZ2VDb21wbGV0ZSIsInJvdXRlQ2hhbmdlRXJyb3IiLCJoYXNoQ2hhbmdlU3RhcnQiLCJoYXNoQ2hhbmdlQ29tcGxldGUiXS5mb3JFYWNoKGU9PntzLnJlYWR5KCgpPT57YS5kZWZhdWx0LmV2ZW50cy5vbihlLGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1BcnJheSh0KSxuPTA7bjx0O24rKylyW25dPWFyZ3VtZW50c1tuXTtsZXQgbz0ib24iK2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zdWJzdHJpbmcoMSk7aWYoc1tvXSl0cnl7c1tvXSguLi5yKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJFcnJvciB3aGVuIHJ1bm5pbmcgdGhlIFJvdXRlciBldmVudDogIitvKSxjb25zb2xlLmVycm9yKCgwLHUuZGVmYXVsdCkoZSk/ZS5tZXNzYWdlKyJcbiIrZS5zdGFjazplKyIiKX19KX0pfSk7bGV0IHA9cztmdW5jdGlvbiBoKCl7bGV0IGU9by5kZWZhdWx0LnVzZUNvbnRleHQoaS5Sb3V0ZXJDb250ZXh0KTtpZighZSl0aHJvdyBFcnJvcigiTmV4dFJvdXRlciB3YXMgbm90IG1vdW50ZWQuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcm91dGVyLW5vdC1tb3VudGVkIik7cmV0dXJuIGV9ZnVuY3Rpb24gbSgpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLHQ9QXJyYXkoZSkscj0wO3I8ZTtyKyspdFtyXT1hcmd1bWVudHNbcl07cmV0dXJuIHMucm91dGVyPW5ldyBhLmRlZmF1bHQoLi4udCkscy5yZWFkeUNhbGxiYWNrcy5mb3JFYWNoKGU9PmUoKSkscy5yZWFkeUNhbGxiYWNrcz1bXSxzLnJvdXRlcn1mdW5jdGlvbiBfKGUpe2xldCB0PXt9O2ZvcihsZXQgciBvZiBjKXtpZigib2JqZWN0Ij09dHlwZW9mIGVbcl0pe3Rbcl09T2JqZWN0LmFzc2lnbihBcnJheS5pc0FycmF5KGVbcl0pP1tdOnt9LGVbcl0pO2NvbnRpbnVlfXRbcl09ZVtyXX1yZXR1cm4gdC5ldmVudHM9YS5kZWZhdWx0LmV2ZW50cyxmLmZvckVhY2gocj0+e3Rbcl09ZnVuY3Rpb24oKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPUFycmF5KHQpLG89MDtvPHQ7bysrKW5bb109YXJndW1lbnRzW29dO3JldHVybiBlW3JdKC4uLm4pfX0pLHR9KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sMjMzODE6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYn0saGFuZGxlQ2xpZW50U2NyaXB0TG9hZDpmdW5jdGlvbigpe3JldHVybiBffSxpbml0U2NyaXB0TG9hZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIGd9fSk7bGV0IG49cigzODc1NCksbz1yKDYxNzU3KSxhPXIoODU4OTMpLGk9bi5fKHIoNzM5MzUpKSx1PW8uXyhyKDY3Mjk0KSksbD1yKDcxNTE1KSxzPXIoNjkxMyksYz1yKDg0NDc0KSxmPW5ldyBNYXAsZD1uZXcgU2V0LHA9WyJvbkxvYWQiLCJvblJlYWR5IiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJjaGlsZHJlbiIsIm9uRXJyb3IiLCJzdHJhdGVneSIsInN0eWxlc2hlZXRzIl0saD1lPT57aWYoaS5kZWZhdWx0LnByZWluaXQpe2UuZm9yRWFjaChlPT57aS5kZWZhdWx0LnByZWluaXQoZSx7YXM6InN0eWxlIn0pfSk7cmV0dXJufXtsZXQgdD1kb2N1bWVudC5oZWFkO2UuZm9yRWFjaChlPT57bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3IudHlwZT0idGV4dC9jc3MiLHIucmVsPSJzdHlsZXNoZWV0IixyLmhyZWY9ZSx0LmFwcGVuZENoaWxkKHIpfSl9fSxtPWU9PntsZXR7c3JjOnQsaWQ6cixvbkxvYWQ6bj0oKT0+e30sb25SZWFkeTpvPW51bGwsZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6YSxjaGlsZHJlbjppPSIiLHN0cmF0ZWd5OnU9ImFmdGVySW50ZXJhY3RpdmUiLG9uRXJyb3I6bCxzdHlsZXNoZWV0czpjfT1lLG09cnx8dDtpZihtJiZkLmhhcyhtKSlyZXR1cm47aWYoZi5oYXModCkpe2QuYWRkKG0pLGYuZ2V0KHQpLnRoZW4obixsKTtyZXR1cm59bGV0IF89KCk9PntvJiZvKCksZC5hZGQobSl9LGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IikseT1uZXcgUHJvbWlzZSgoZSx0KT0+e2cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24odCl7ZSgpLG4mJm4uY2FsbCh0aGlzLHQpLF8oKX0pLGcuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKGUpe3QoZSl9KX0pLmNhdGNoKGZ1bmN0aW9uKGUpe2wmJmwoZSl9KTtmb3IobGV0W3Isbl1vZihhPyhnLmlubmVySFRNTD1hLl9faHRtbHx8IiIsXygpKTppPyhnLnRleHRDb250ZW50PSJzdHJpbmciPT10eXBlb2YgaT9pOkFycmF5LmlzQXJyYXkoaSk/aS5qb2luKCIiKToiIixfKCkpOnQmJihnLnNyYz10LGYuc2V0KHQseSkpLE9iamVjdC5lbnRyaWVzKGUpKSl7aWYodm9pZCAwPT09bnx8cC5pbmNsdWRlcyhyKSljb250aW51ZTtsZXQgZT1zLkRPTUF0dHJpYnV0ZU5hbWVzW3JdfHxyLnRvTG93ZXJDYXNlKCk7Zy5zZXRBdHRyaWJ1dGUoZSxuKX0id29ya2VyIj09PXUmJmcuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9wYXJ0eXRvd24iKSxnLnNldEF0dHJpYnV0ZSgiZGF0YS1uc2NyaXB0Iix1KSxjJiZoKGMpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZyl9O2Z1bmN0aW9uIF8oZSl7bGV0e3N0cmF0ZWd5OnQ9ImFmdGVySW50ZXJhY3RpdmUifT1lOyJsYXp5T25sb2FkIj09PXQ/d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57KDAsYy5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+bShlKSl9KTptKGUpfWZ1bmN0aW9uIGcoZSl7ZS5mb3JFYWNoKF8pLFsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1uc2NyaXB0PSJiZWZvcmVJbnRlcmFjdGl2ZSJdJyksLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtbnNjcmlwdD0iYmVmb3JlUGFnZVJlbmRlciJdJyldLmZvckVhY2goZT0+e2xldCB0PWUuaWR8fGUuZ2V0QXR0cmlidXRlKCJzcmMiKTtkLmFkZCh0KX0pfWZ1bmN0aW9uIHkoZSl7bGV0e2lkOnQsc3JjOnI9IiIsb25Mb2FkOm49KCk9Pnt9LG9uUmVhZHk6bz1udWxsLHN0cmF0ZWd5OnM9ImFmdGVySW50ZXJhY3RpdmUiLG9uRXJyb3I6ZixzdHlsZXNoZWV0czpwLC4uLmh9PWUse3VwZGF0ZVNjcmlwdHM6XyxzY3JpcHRzOmcsZ2V0SXNTc3I6eSxhcHBEaXI6Yixub25jZTpQfT0oMCx1LnVzZUNvbnRleHQpKGwuSGVhZE1hbmFnZXJDb250ZXh0KSx2PSgwLHUudXNlUmVmKSghMSk7KDAsdS51c2VFZmZlY3QpKCgpPT57bGV0IGU9dHx8cjt2LmN1cnJlbnR8fChvJiZlJiZkLmhhcyhlKSYmbygpLHYuY3VycmVudD0hMCl9LFtvLHQscl0pO2xldCBFPSgwLHUudXNlUmVmKSghMSk7aWYoKDAsdS51c2VFZmZlY3QpKCgpPT57IUUuY3VycmVudCYmKCJhZnRlckludGVyYWN0aXZlIj09PXM/bShlKToibGF6eU9ubG9hZCI9PT1zJiYoImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/KDAsYy5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+bShlKSk6d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57KDAsYy5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+bShlKSl9KSksRS5jdXJyZW50PSEwKX0sW2Usc10pLCgiYmVmb3JlSW50ZXJhY3RpdmUiPT09c3x8IndvcmtlciI9PT1zKSYmKF8/KGdbc109KGdbc118fFtdKS5jb25jYXQoW3tpZDp0LHNyYzpyLG9uTG9hZDpuLG9uUmVhZHk6byxvbkVycm9yOmYsLi4uaH1dKSxfKGcpKTp5JiZ5KCk/ZC5hZGQodHx8cik6eSYmIXkoKSYmbShlKSksYil7aWYocCYmcC5mb3JFYWNoKGU9PntpLmRlZmF1bHQucHJlaW5pdChlLHthczoic3R5bGUifSl9KSwiYmVmb3JlSW50ZXJhY3RpdmUiPT09cylyZXR1cm4gcj8oaS5kZWZhdWx0LnByZWxvYWQocixoLmludGVncml0eT97YXM6InNjcmlwdCIsaW50ZWdyaXR5OmguaW50ZWdyaXR5LG5vbmNlOlAsY3Jvc3NPcmlnaW46aC5jcm9zc09yaWdpbn06e2FzOiJzY3JpcHQiLG5vbmNlOlAsY3Jvc3NPcmlnaW46aC5jcm9zc09yaWdpbn0pLCgwLGEuanN4KSgic2NyaXB0Iix7bm9uY2U6UCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOiIoc2VsZi5fX25leHRfcz1zZWxmLl9fbmV4dF9zfHxbXSkucHVzaCgiK0pTT04uc3RyaW5naWZ5KFtyLHsuLi5oLGlkOnR9XSkrIikifX0pKTooaC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmKGguY2hpbGRyZW49aC5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwsZGVsZXRlIGguZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpLCgwLGEuanN4KSgic2NyaXB0Iix7bm9uY2U6UCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOiIoc2VsZi5fX25leHRfcz1zZWxmLl9fbmV4dF9zfHxbXSkucHVzaCgiK0pTT04uc3RyaW5naWZ5KFswLHsuLi5oLGlkOnR9XSkrIikifX0pKTsiYWZ0ZXJJbnRlcmFjdGl2ZSI9PT1zJiZyJiZpLmRlZmF1bHQucHJlbG9hZChyLGguaW50ZWdyaXR5P3thczoic2NyaXB0IixpbnRlZ3JpdHk6aC5pbnRlZ3JpdHksbm9uY2U6UCxjcm9zc09yaWdpbjpoLmNyb3NzT3JpZ2lufTp7YXM6InNjcmlwdCIsbm9uY2U6UCxjcm9zc09yaWdpbjpoLmNyb3NzT3JpZ2lufSl9cmV0dXJuIG51bGx9T2JqZWN0LmRlZmluZVByb3BlcnR5KHksIl9fbmV4dFNjcmlwdCIse3ZhbHVlOiEwfSk7bGV0IGI9eTsoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw5MzQzNjpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49cig4NDkyMCk7ZnVuY3Rpb24gbyhlKXtpZigiZW5kZWQiIT09ZS5zdGF0ZS5zdGF0ZSl0aHJvdyBFcnJvcigiRXhwZWN0ZWQgc3BhbiB0byBiZSBlbmRlZCIpOygwLG4uc2VuZE1lc3NhZ2UpKEpTT04uc3RyaW5naWZ5KHtldmVudDoic3Bhbi1lbmQiLHN0YXJ0VGltZTplLnN0YXJ0VGltZSxlbmRUaW1lOmUuc3RhdGUuZW5kVGltZSxzcGFuTmFtZTplLm5hbWUsYXR0cmlidXRlczplLmF0dHJpYnV0ZXN9KSl9KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sMjExNTI6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPXIoMzg3NTQpLl8ocig4NTAwMSkpO2NsYXNzIG97ZW5kKGUpe2lmKCJlbmRlZCI9PT10aGlzLnN0YXRlLnN0YXRlKXRocm93IEVycm9yKCJTcGFuIGhhcyBhbHJlYWR5IGVuZGVkIik7dGhpcy5zdGF0ZT17c3RhdGU6ImVuZGVkIixlbmRUaW1lOm51bGwhPWU/ZTpEYXRlLm5vdygpfSx0aGlzLm9uU3BhbkVuZCh0aGlzKX1jb25zdHJ1Y3RvcihlLHQscil7dmFyIG4sbzt0aGlzLm5hbWU9ZSx0aGlzLmF0dHJpYnV0ZXM9bnVsbCE9KG49dC5hdHRyaWJ1dGVzKT9uOnt9LHRoaXMuc3RhcnRUaW1lPW51bGwhPShvPXQuc3RhcnRUaW1lKT9vOkRhdGUubm93KCksdGhpcy5vblNwYW5FbmQ9cix0aGlzLnN0YXRlPXtzdGF0ZToiaW5wcm9ncmVzcyJ9fX1jbGFzcyBhe3N0YXJ0U3BhbihlLHQpe3JldHVybiBuZXcgbyhlLHQsdGhpcy5oYW5kbGVTcGFuRW5kKX1vblNwYW5FbmQoZSl7cmV0dXJuIHRoaXMuX2VtaXR0ZXIub24oInNwYW5lbmQiLGUpLCgpPT57dGhpcy5fZW1pdHRlci5vZmYoInNwYW5lbmQiLGUpfX1jb25zdHJ1Y3Rvcigpe3RoaXMuX2VtaXR0ZXI9KDAsbi5kZWZhdWx0KSgpLHRoaXMuaGFuZGxlU3BhbkVuZD1lPT57dGhpcy5fZW1pdHRlci5lbWl0KCJzcGFuZW5kIixlKX19fWxldCBpPW5ldyBhOygiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDY4MTQwOmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2xldCByO2Z1bmN0aW9uIG4oZSl7dmFyIHQ7cmV0dXJuKG51bGw9PSh0PWZ1bmN0aW9uKCl7aWYodm9pZCAwPT09cil7dmFyIGU7cj0obnVsbD09KGU9d2luZG93LnRydXN0ZWRUeXBlcyk/dm9pZCAwOmUuY3JlYXRlUG9saWN5KCJuZXh0anMiLHtjcmVhdGVIVE1MOmU9PmUsY3JlYXRlU2NyaXB0OmU9PmUsY3JlYXRlU2NyaXB0VVJMOmU9PmV9KSl8fG51bGx9cmV0dXJuIHJ9KCkpP3ZvaWQgMDp0LmNyZWF0ZVNjcmlwdFVSTChlKSl8fGV9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLCgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDk3MTc4OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHIoODQ4NzgpLHNlbGYuX19uZXh0X3NldF9wdWJsaWNfcGF0aF9fPWU9PntyLnA9ZX0sKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sNDE1MzA6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pLHIoMzg3NTQpO2xldCBuPXIoODU4OTMpO3IoNjcyOTQpO2xldCBvPXIoNDMwNzkpO2Z1bmN0aW9uIGEoZSl7ZnVuY3Rpb24gdCh0KXtyZXR1cm4oMCxuLmpzeCkoZSx7cm91dGVyOigwLG8udXNlUm91dGVyKSgpLC4uLnR9KX1yZXR1cm4gdC5nZXRJbml0aWFsUHJvcHM9ZS5nZXRJbml0aWFsUHJvcHMsdC5vcmlnR2V0SW5pdGlhbFByb3BzPWUub3JpZ0dldEluaXRpYWxQcm9wcyx0fSgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDMzODAyOmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgbj1yKDM4NzU0KSxvPXIoODU4OTMpLGE9bi5fKHIoNjcyOTQpKSxpPXIoOTk5MDMpO2FzeW5jIGZ1bmN0aW9uIHUoZSl7bGV0e0NvbXBvbmVudDp0LGN0eDpyfT1lO3JldHVybntwYWdlUHJvcHM6YXdhaXQgKDAsaS5sb2FkR2V0SW5pdGlhbFByb3BzKSh0LHIpfX1jbGFzcyBsIGV4dGVuZHMgYS5kZWZhdWx0LkNvbXBvbmVudHtyZW5kZXIoKXtsZXR7Q29tcG9uZW50OmUscGFnZVByb3BzOnR9PXRoaXMucHJvcHM7cmV0dXJuKDAsby5qc3gpKGUsey4uLnR9KX19bC5vcmlnR2V0SW5pdGlhbFByb3BzPXUsbC5nZXRJbml0aWFsUHJvcHM9dSwoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSwyMTExOmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY319KTtsZXQgbj1yKDM4NzU0KSxvPXIoODU4OTMpLGE9bi5fKHIoNjcyOTQpKSxpPW4uXyhyKDIzODY3KSksdT17NDAwOiJCYWQgUmVxdWVzdCIsNDA0OiJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kIiw0MDU6Ik1ldGhvZCBOb3QgQWxsb3dlZCIsNTAwOiJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IifTtmdW5jdGlvbiBsKGUpe2xldHtyZXM6dCxlcnI6cn09ZTtyZXR1cm57c3RhdHVzQ29kZTp0JiZ0LnN0YXR1c0NvZGU/dC5zdGF0dXNDb2RlOnI/ci5zdGF0dXNDb2RlOjQwNH19bGV0IHM9e2Vycm9yOntmb250RmFtaWx5OidzeXN0ZW0tdWksIlNlZ29lIFVJIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiJyxoZWlnaHQ6IjEwMHZoIix0ZXh0QWxpZ246ImNlbnRlciIsZGlzcGxheToiZmxleCIsZmxleERpcmVjdGlvbjoiY29sdW1uIixhbGlnbkl0ZW1zOiJjZW50ZXIiLGp1c3RpZnlDb250ZW50OiJjZW50ZXIifSxkZXNjOntsaW5lSGVpZ2h0OiI0OHB4In0saDE6e2Rpc3BsYXk6ImlubGluZS1ibG9jayIsbWFyZ2luOiIwIDIwcHggMCAwIixwYWRkaW5nUmlnaHQ6MjMsZm9udFNpemU6MjQsZm9udFdlaWdodDo1MDAsdmVydGljYWxBbGlnbjoidG9wIn0saDI6e2ZvbnRTaXplOjE0LGZvbnRXZWlnaHQ6NDAwLGxpbmVIZWlnaHQ6IjI4cHgifSx3cmFwOntkaXNwbGF5OiJpbmxpbmUtYmxvY2sifX07Y2xhc3MgYyBleHRlbmRzIGEuZGVmYXVsdC5Db21wb25lbnR7cmVuZGVyKCl7bGV0e3N0YXR1c0NvZGU6ZSx3aXRoRGFya01vZGU6dD0hMH09dGhpcy5wcm9wcyxyPXRoaXMucHJvcHMudGl0bGV8fHVbZV18fCJBbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZCI7cmV0dXJuKDAsby5qc3hzKSgiZGl2Iix7c3R5bGU6cy5lcnJvcixjaGlsZHJlbjpbKDAsby5qc3gpKGkuZGVmYXVsdCx7Y2hpbGRyZW46KDAsby5qc3gpKCJ0aXRsZSIse2NoaWxkcmVuOmU/ZSsiOiAiK3I6IkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQifSl9KSwoMCxvLmpzeHMpKCJkaXYiLHtzdHlsZTpzLmRlc2MsY2hpbGRyZW46WygwLG8uanN4KSgic3R5bGUiLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOiJib2R5e2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmZmO21hcmdpbjowfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMyl9IisodD8iQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMDAwfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyl9fSI6IiIpfX0pLGU/KDAsby5qc3gpKCJoMSIse2NsYXNzTmFtZToibmV4dC1lcnJvci1oMSIsc3R5bGU6cy5oMSxjaGlsZHJlbjplfSk6bnVsbCwoMCxvLmpzeCkoImRpdiIse3N0eWxlOnMud3JhcCxjaGlsZHJlbjooMCxvLmpzeHMpKCJoMiIse3N0eWxlOnMuaDIsY2hpbGRyZW46W3RoaXMucHJvcHMudGl0bGV8fGU/cjooMCxvLmpzeCkoby5GcmFnbWVudCx7Y2hpbGRyZW46IkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQgKHNlZSB0aGUgYnJvd3NlciBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uKSJ9KSwiLiJdfSl9KV19KV19KX19Yy5kaXNwbGF5TmFtZT0iRXJyb3JQYWdlIixjLmdldEluaXRpYWxQcm9wcz1sLGMub3JpZ0dldEluaXRpYWxQcm9wcz1sLCgiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDg4OTk1OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJBbXBTdGF0ZUNvbnRleHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPXIoMzg3NTQpLl8ocig2NzI5NCkpLmRlZmF1bHQuY3JlYXRlQ29udGV4dCh7fSl9LDQ4MjE0OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7bGV0e2FtcEZpcnN0OnQ9ITEsaHlicmlkOnI9ITEsaGFzUXVlcnk6bj0hMX09dm9pZCAwPT09ZT97fTplO3JldHVybiB0fHxyJiZufU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaXNJbkFtcE1vZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pfSw2MDI1NzpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBvfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiB1fX0pO2xldCBuPXIoMzg3NTQpLl8ocig2NzI5NCkpLG89bi5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksYT1uLmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxpPW4uZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLHU9bi5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD1uLmRlZmF1bHQuY3JlYXRlQ29udGV4dChuZXcgU2V0KX0sNDI5ODk6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJCbG9vbUZpbHRlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7Y2xhc3MgcntzdGF0aWMgZnJvbShlLHQpe3ZvaWQgMD09PXQmJih0PTFlLTQpO2xldCBuPW5ldyByKGUubGVuZ3RoLHQpO2ZvcihsZXQgdCBvZiBlKW4uYWRkKHQpO3JldHVybiBufWV4cG9ydCgpe3JldHVybntudW1JdGVtczp0aGlzLm51bUl0ZW1zLGVycm9yUmF0ZTp0aGlzLmVycm9yUmF0ZSxudW1CaXRzOnRoaXMubnVtQml0cyxudW1IYXNoZXM6dGhpcy5udW1IYXNoZXMsYml0QXJyYXk6dGhpcy5iaXRBcnJheX19aW1wb3J0KGUpe3RoaXMubnVtSXRlbXM9ZS5udW1JdGVtcyx0aGlzLmVycm9yUmF0ZT1lLmVycm9yUmF0ZSx0aGlzLm51bUJpdHM9ZS5udW1CaXRzLHRoaXMubnVtSGFzaGVzPWUubnVtSGFzaGVzLHRoaXMuYml0QXJyYXk9ZS5iaXRBcnJheX1hZGQoZSl7dGhpcy5nZXRIYXNoVmFsdWVzKGUpLmZvckVhY2goZT0+e3RoaXMuYml0QXJyYXlbZV09MX0pfWNvbnRhaW5zKGUpe3JldHVybiB0aGlzLmdldEhhc2hWYWx1ZXMoZSkuZXZlcnkoZT0+dGhpcy5iaXRBcnJheVtlXSl9Z2V0SGFzaFZhbHVlcyhlKXtsZXQgdD1bXTtmb3IobGV0IHI9MTtyPD10aGlzLm51bUhhc2hlcztyKyspe2xldCBuPWZ1bmN0aW9uKGUpe2xldCB0PTA7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspdD1NYXRoLmltdWwodF5lLmNoYXJDb2RlQXQociksMTU0MDQ4MzQ3NyksdF49dD4+PjEzLHQ9TWF0aC5pbXVsKHQsMTU0MDQ4MzQ3Nyk7cmV0dXJuIHQ+Pj4wfSgiIitlK3IpJXRoaXMubnVtQml0czt0LnB1c2gobil9cmV0dXJuIHR9Y29uc3RydWN0b3IoZSx0PTFlLTQpe3RoaXMubnVtSXRlbXM9ZSx0aGlzLmVycm9yUmF0ZT10LHRoaXMubnVtQml0cz1NYXRoLmNlaWwoLShlKk1hdGgubG9nKHQpKS8oTWF0aC5sb2coMikqTWF0aC5sb2coMikpKSx0aGlzLm51bUhhc2hlcz1NYXRoLmNlaWwodGhpcy5udW1CaXRzL2UqTWF0aC5sb2coMikpLHRoaXMuYml0QXJyYXk9QXJyYXkodGhpcy5udW1CaXRzKS5maWxsKDApfX19LDQyOTI5OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtBUFBfQlVJTERfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4geX0sQVBQX0NMSUVOVF9JTlRFUk5BTFM6ZnVuY3Rpb24oKXtyZXR1cm4gJH0sQVBQX1BBVEhTX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIG19LEFQUF9QQVRIX1JPVVRFU19NQU5JRkVTVDpmdW5jdGlvbigpe3JldHVybiBffSxBVVRPTUFUSUNfRk9OVF9PUFRJTUlaQVRJT05fTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sQkFSUkVMX09QVElNSVpBVElPTl9QUkVGSVg6ZnVuY3Rpb24oKXtyZXR1cm4gSH0sQkxPQ0tFRF9QQUdFUzpmdW5jdGlvbigpe3JldHVybiBEfSxCVUlMRF9JRF9GSUxFOmZ1bmN0aW9uKCl7cmV0dXJuIE59LEJVSUxEX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LENMSUVOVF9QVUJMSUNfRklMRVNfUEFUSDpmdW5jdGlvbigpe3JldHVybiBrfSxDTElFTlRfUkVGRVJFTkNFX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIFd9LENMSUVOVF9TVEFUSUNfRklMRVNfUEFUSDpmdW5jdGlvbigpe3JldHVybiBVfSxDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfQU1QOmZ1bmN0aW9uKCl7cmV0dXJuIEp9LENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOOmZ1bmN0aW9uKCl7cmV0dXJuIFh9LENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOX0FQUDpmdW5jdGlvbigpe3JldHVybiBZfSxDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFNfU1lNQk9MOmZ1bmN0aW9uKCl7cmV0dXJuIGVlfSxDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSDpmdW5jdGlvbigpe3JldHVybiBLfSxDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSzpmdW5jdGlvbigpe3JldHVybiBRfSxDT01QSUxFUl9JTkRFWEVTOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LENPTVBJTEVSX05BTUVTOmZ1bmN0aW9uKCl7cmV0dXJuIG99LENPTkZJR19GSUxFUzpmdW5jdGlvbigpe3JldHVybiBMfSxERUZBVUxUX1JVTlRJTUVfV0VCUEFDSzpmdW5jdGlvbigpe3JldHVybiBldH0sREVGQVVMVF9TQU5TX1NFUklGX0ZPTlQ6ZnVuY3Rpb24oKXtyZXR1cm4gZWx9LERFRkFVTFRfU0VSSUZfRk9OVDpmdW5jdGlvbigpe3JldHVybiBldX0sREVWX0NMSUVOVF9QQUdFU19NQU5JRkVTVDpmdW5jdGlvbigpe3JldHVybiBUfSxERVZfTUlERExFV0FSRV9NQU5JRkVTVDpmdW5jdGlvbigpe3JldHVybiB4fSxFREdFX1JVTlRJTUVfV0VCUEFDSzpmdW5jdGlvbigpe3JldHVybiBlcn0sRURHRV9VTlNVUFBPUlRFRF9OT0RFX0FQSVM6ZnVuY3Rpb24oKXtyZXR1cm4gZXB9LEVYUE9SVF9ERVRBSUw6ZnVuY3Rpb24oKXtyZXR1cm4gU30sRVhQT1JUX01BUktFUjpmdW5jdGlvbigpe3JldHVybiBFfSxGVU5DVElPTlNfQ09ORklHX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LEdPT0dMRV9GT05UX1BST1ZJREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGVhfSxJTUFHRVNfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gd30sSU5URVJDRVBUSU9OX1JPVVRFX1JFV1JJVEVfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gVn0sTUlERExFV0FSRV9CVUlMRF9NQU5JRkVTVDpmdW5jdGlvbigpe3JldHVybiBHfSxNSURETEVXQVJFX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIE19LE1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gen0sTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5kZWZhdWx0fSxORVhUX0JVSUxUSU5fRE9DVU1FTlQ6ZnVuY3Rpb24oKXtyZXR1cm4gQn0sTkVYVF9GT05UX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIHZ9LE9QVElNSVpFRF9GT05UX1BST1ZJREVSUzpmdW5jdGlvbigpe3JldHVybiBlaX0sUEFHRVNfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sUEhBU0VfREVWRUxPUE1FTlRfU0VSVkVSOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LFBIQVNFX0VYUE9SVDpmdW5jdGlvbigpe3JldHVybiBsfSxQSEFTRV9JTkZPOmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFBIQVNFX1BST0RVQ1RJT05fQlVJTEQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sUEhBU0VfUFJPRFVDVElPTl9TRVJWRVI6ZnVuY3Rpb24oKXtyZXR1cm4gY30sUEhBU0VfVEVTVDpmdW5jdGlvbigpe3JldHVybiBkfSxQUkVSRU5ERVJfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gT30sUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1Q6ZnVuY3Rpb24oKXtyZXR1cm4gSX0sUk9VVEVTX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIGp9LFJTQ19NT0RVTEVfVFlQRVM6ZnVuY3Rpb24oKXtyZXR1cm4gZWR9LFNFUlZFUl9ESVJFQ1RPUlk6ZnVuY3Rpb24oKXtyZXR1cm4gQX0sU0VSVkVSX0ZJTEVTX01BTklGRVNUOmZ1bmN0aW9uKCl7cmV0dXJuIFJ9LFNFUlZFUl9QUk9QU19JRDpmdW5jdGlvbigpe3JldHVybiBlb30sU0VSVkVSX1JFRkVSRU5DRV9NQU5JRkVTVDpmdW5jdGlvbigpe3JldHVybiBxfSxTVEFUSUNfUFJPUFNfSUQ6ZnVuY3Rpb24oKXtyZXR1cm4gZW59LFNUQVRJQ19TVEFUVVNfUEFHRVM6ZnVuY3Rpb24oKXtyZXR1cm4gZXN9LFNUUklOR19MSVRFUkFMX0RST1BfQlVORExFOmZ1bmN0aW9uKCl7cmV0dXJuIEZ9LFNVQlJFU09VUkNFX0lOVEVHUklUWV9NQU5JRkVTVDpmdW5jdGlvbigpe3JldHVybiBQfSxTWVNURU1fRU5UUllQT0lOVFM6ZnVuY3Rpb24oKXtyZXR1cm4gZWh9LFRSQUNFX09VVFBVVF9WRVJTSU9OOmZ1bmN0aW9uKCl7cmV0dXJuIGVjfSxUVVJCT19UUkFDRV9ERUZBVUxUX01FTU9SWV9MSU1JVDpmdW5jdGlvbigpe3JldHVybiBlZn0sVU5ERVJTQ09SRV9OT1RfRk9VTkRfUk9VVEU6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sVU5ERVJTQ09SRV9OT1RfRk9VTkRfUk9VVEVfRU5UUlk6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1yKDM4NzU0KS5fKHIoMTEwOTgpKSxvPXtjbGllbnQ6ImNsaWVudCIsc2VydmVyOiJzZXJ2ZXIiLGVkZ2VTZXJ2ZXI6ImVkZ2Utc2VydmVyIn0sYT17W28uY2xpZW50XTowLFtvLnNlcnZlcl06MSxbby5lZGdlU2VydmVyXToyfSxpPSIvX25vdC1mb3VuZCIsdT0iIitpKyIvcGFnZSIsbD0icGhhc2UtZXhwb3J0IixzPSJwaGFzZS1wcm9kdWN0aW9uLWJ1aWxkIixjPSJwaGFzZS1wcm9kdWN0aW9uLXNlcnZlciIsZj0icGhhc2UtZGV2ZWxvcG1lbnQtc2VydmVyIixkPSJwaGFzZS10ZXN0IixwPSJwaGFzZS1pbmZvIixoPSJwYWdlcy1tYW5pZmVzdC5qc29uIixtPSJhcHAtcGF0aHMtbWFuaWZlc3QuanNvbiIsXz0iYXBwLXBhdGgtcm91dGVzLW1hbmlmZXN0Lmpzb24iLGc9ImJ1aWxkLW1hbmlmZXN0Lmpzb24iLHk9ImFwcC1idWlsZC1tYW5pZmVzdC5qc29uIixiPSJmdW5jdGlvbnMtY29uZmlnLW1hbmlmZXN0Lmpzb24iLFA9InN1YnJlc291cmNlLWludGVncml0eS1tYW5pZmVzdCIsdj0ibmV4dC1mb250LW1hbmlmZXN0IixFPSJleHBvcnQtbWFya2VyLmpzb24iLFM9ImV4cG9ydC1kZXRhaWwuanNvbiIsTz0icHJlcmVuZGVyLW1hbmlmZXN0Lmpzb24iLGo9InJvdXRlcy1tYW5pZmVzdC5qc29uIix3PSJpbWFnZXMtbWFuaWZlc3QuanNvbiIsUj0icmVxdWlyZWQtc2VydmVyLWZpbGVzLmpzb24iLFQ9Il9kZXZQYWdlc01hbmlmZXN0Lmpzb24iLE09Im1pZGRsZXdhcmUtbWFuaWZlc3QuanNvbiIseD0iX2Rldk1pZGRsZXdhcmVNYW5pZmVzdC5qc29uIixJPSJyZWFjdC1sb2FkYWJsZS1tYW5pZmVzdC5qc29uIixDPSJmb250LW1hbmlmZXN0Lmpzb24iLEE9InNlcnZlciIsTD1bIm5leHQuY29uZmlnLmpzIiwibmV4dC5jb25maWcubWpzIl0sTj0iQlVJTERfSUQiLEQ9WyIvX2RvY3VtZW50IiwiL19hcHAiLCIvX2Vycm9yIl0saz0icHVibGljIixVPSJzdGF0aWMiLEY9Il9fTkVYVF9EUk9QX0NMSUVOVF9GSUxFX18iLEI9Il9fTkVYVF9CVUlMVElOX0RPQ1VNRU5UX18iLEg9Il9fYmFycmVsX29wdGltaXplX18iLFc9ImNsaWVudC1yZWZlcmVuY2UtbWFuaWZlc3QiLHE9InNlcnZlci1yZWZlcmVuY2UtbWFuaWZlc3QiLEc9Im1pZGRsZXdhcmUtYnVpbGQtbWFuaWZlc3QiLHo9Im1pZGRsZXdhcmUtcmVhY3QtbG9hZGFibGUtbWFuaWZlc3QiLFY9ImludGVyY2VwdGlvbi1yb3V0ZS1yZXdyaXRlLW1hbmlmZXN0IixYPSJtYWluIixZPSIiK1grIi1hcHAiLCQ9ImFwcC1wYWdlcy1pbnRlcm5hbHMiLEs9InJlYWN0LXJlZnJlc2giLEo9ImFtcCIsUT0id2VicGFjayIsWj0icG9seWZpbGxzIixlZT1TeW1ib2woWiksZXQ9IndlYnBhY2stcnVudGltZSIsZXI9ImVkZ2UtcnVudGltZS13ZWJwYWNrIixlbj0iX19OX1NTRyIsZW89Il9fTl9TU1AiLGVhPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tLyIsZWk9W3t1cmw6ZWEscHJlY29ubmVjdDoiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSJ9LHt1cmw6Imh0dHBzOi8vdXNlLnR5cGVraXQubmV0IixwcmVjb25uZWN0OiJodHRwczovL3VzZS50eXBla2l0Lm5ldCJ9XSxldT17bmFtZToiVGltZXMgTmV3IFJvbWFuIix4QXZnQ2hhcldpZHRoOjgyMSxhekF2Z1dpZHRoOjg1NC4zOTUzNDg4MzcyMDkzLHVuaXRzUGVyRW06MjA0OH0sZWw9e25hbWU6IkFyaWFsIix4QXZnQ2hhcldpZHRoOjkwNCxhekF2Z1dpZHRoOjkzNC41MTE2Mjc5MDY5NzY3LHVuaXRzUGVyRW06MjA0OH0sZXM9WyIvNTAwIl0sZWM9MSxlZj02ZTMsZWQ9e2NsaWVudDoiY2xpZW50IixzZXJ2ZXI6InNlcnZlciJ9LGVwPVsiY2xlYXJJbW1lZGlhdGUiLCJzZXRJbW1lZGlhdGUiLCJCcm9hZGNhc3RDaGFubmVsIiwiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneSIsIkNvbXByZXNzaW9uU3RyZWFtIiwiQ291bnRRdWV1aW5nU3RyYXRlZ3kiLCJEZWNvbXByZXNzaW9uU3RyZWFtIiwiRG9tRXhjZXB0aW9uIiwiTWVzc2FnZUNoYW5uZWwiLCJNZXNzYWdlRXZlbnQiLCJNZXNzYWdlUG9ydCIsIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIiLCJSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0IiwiUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciIsIlRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwiV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciJdLGVoPW5ldyBTZXQoW1gsSyxKLFldKTsoImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiB0LmRlZmF1bHQmJm51bGwhPT10LmRlZmF1bHQpJiZ2b2lkIDA9PT10LmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24odC5kZWZhdWx0LHQpLGUuZXhwb3J0cz10LmRlZmF1bHQpfSw1MTQzNTpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImVzY2FwZVN0cmluZ1JlZ2V4cCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9L1t8XFx7fSgpW1xdXiQrKj8uLV0vLG49L1t8XFx7fSgpW1xdXiQrKj8uLV0vZztmdW5jdGlvbiBvKGUpe3JldHVybiByLnRlc3QoZSk/ZS5yZXBsYWNlKG4sIlxcJCYiKTplfX0sNzE1MTU6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIkhlYWRNYW5hZ2VyQ29udGV4dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49cigzODc1NCkuXyhyKDY3Mjk0KSkuZGVmYXVsdC5jcmVhdGVDb250ZXh0KHt9KX0sMjM4Njc6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sZGVmYXVsdEhlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZn19KTtsZXQgbj1yKDM4NzU0KSxvPXIoNjE3NTcpLGE9cig4NTg5MyksaT1vLl8ocig2NzI5NCkpLHU9bi5fKHIoMzUyNzcpKSxsPXIoODg5OTUpLHM9cig3MTUxNSksYz1yKDQ4MjE0KTtmdW5jdGlvbiBmKGUpe3ZvaWQgMD09PWUmJihlPSExKTtsZXQgdD1bKDAsYS5qc3gpKCJtZXRhIix7Y2hhclNldDoidXRmLTgifSldO3JldHVybiBlfHx0LnB1c2goKDAsYS5qc3gpKCJtZXRhIix7bmFtZToidmlld3BvcnQiLGNvbnRlbnQ6IndpZHRoPWRldmljZS13aWR0aCJ9KSksdH1mdW5jdGlvbiBkKGUsdCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fHwibnVtYmVyIj09dHlwZW9mIHQ/ZTp0LnR5cGU9PT1pLmRlZmF1bHQuRnJhZ21lbnQ/ZS5jb25jYXQoaS5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodC5wcm9wcy5jaGlsZHJlbikucmVkdWNlKChlLHQpPT4ic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdD9lOmUuY29uY2F0KHQpLFtdKSk6ZS5jb25jYXQodCl9cig4MzE3OSk7bGV0IHA9WyJuYW1lIiwiaHR0cEVxdWl2IiwiY2hhclNldCIsIml0ZW1Qcm9wIl07ZnVuY3Rpb24gaChlLHQpe2xldHtpbkFtcE1vZGU6cn09dDtyZXR1cm4gZS5yZWR1Y2UoZCxbXSkucmV2ZXJzZSgpLmNvbmNhdChmKHIpLnJldmVyc2UoKSkuZmlsdGVyKGZ1bmN0aW9uKCl7bGV0IGU9bmV3IFNldCx0PW5ldyBTZXQscj1uZXcgU2V0LG49e307cmV0dXJuIG89PntsZXQgYT0hMCxpPSExO2lmKG8ua2V5JiYibnVtYmVyIiE9dHlwZW9mIG8ua2V5JiZvLmtleS5pbmRleE9mKCIkIik+MCl7aT0hMDtsZXQgdD1vLmtleS5zbGljZShvLmtleS5pbmRleE9mKCIkIikrMSk7ZS5oYXModCk/YT0hMTplLmFkZCh0KX1zd2l0Y2goby50eXBlKXtjYXNlInRpdGxlIjpjYXNlImJhc2UiOnQuaGFzKG8udHlwZSk/YT0hMTp0LmFkZChvLnR5cGUpO2JyZWFrO2Nhc2UibWV0YSI6Zm9yKGxldCBlPTAsdD1wLmxlbmd0aDtlPHQ7ZSsrKXtsZXQgdD1wW2VdO2lmKG8ucHJvcHMuaGFzT3duUHJvcGVydHkodCkpe2lmKCJjaGFyU2V0Ij09PXQpci5oYXModCk/YT0hMTpyLmFkZCh0KTtlbHNle2xldCBlPW8ucHJvcHNbdF0scj1uW3RdfHxuZXcgU2V0OygibmFtZSIhPT10fHwhaSkmJnIuaGFzKGUpP2E9ITE6KHIuYWRkKGUpLG5bdF09cil9fX19cmV0dXJuIGF9fSgpKS5yZXZlcnNlKCkubWFwKChlLHQpPT57bGV0IG49ZS5rZXl8fHQ7aWYoIXImJiJsaW5rIj09PWUudHlwZSYmZS5wcm9wcy5ocmVmJiZbImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzIiwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvIl0uc29tZSh0PT5lLnByb3BzLmhyZWYuc3RhcnRzV2l0aCh0KSkpe2xldCB0PXsuLi5lLnByb3BzfHx7fX07cmV0dXJuIHRbImRhdGEtaHJlZiJdPXQuaHJlZix0LmhyZWY9dm9pZCAwLHRbImRhdGEtb3B0aW1pemVkLWZvbnRzIl09ITAsaS5kZWZhdWx0LmNsb25lRWxlbWVudChlLHQpfXJldHVybiBpLmRlZmF1bHQuY2xvbmVFbGVtZW50KGUse2tleTpufSl9KX1sZXQgbT1mdW5jdGlvbihlKXtsZXR7Y2hpbGRyZW46dH09ZSxyPSgwLGkudXNlQ29udGV4dCkobC5BbXBTdGF0ZUNvbnRleHQpLG49KDAsaS51c2VDb250ZXh0KShzLkhlYWRNYW5hZ2VyQ29udGV4dCk7cmV0dXJuKDAsYS5qc3gpKHUuZGVmYXVsdCx7cmVkdWNlQ29tcG9uZW50c1RvU3RhdGU6aCxoZWFkTWFuYWdlcjpuLGluQW1wTW9kZTooMCxjLmlzSW5BbXBNb2RlKShyKSxjaGlsZHJlbjp0fSl9OygiZnVuY3Rpb24iPT10eXBlb2YgdC5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHQuZGVmYXVsdCYmbnVsbCE9PXQuZGVmYXVsdCkmJnZvaWQgMD09PXQuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHQuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbih0LmRlZmF1bHQsdCksZS5leHBvcnRzPXQuZGVmYXVsdCl9LDIyNjA4OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtQYXRoUGFyYW1zQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxQYXRobmFtZUNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sU2VhcmNoUGFyYW1zQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPXIoNjcyOTQpLG89KDAsbi5jcmVhdGVDb250ZXh0KShudWxsKSxhPSgwLG4uY3JlYXRlQ29udGV4dCkobnVsbCksaT0oMCxuLmNyZWF0ZUNvbnRleHQpKG51bGwpfSw1NDE2NTpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7bGV0IHI7bGV0IG49ZS5zcGxpdCgiLyIpO3JldHVybih0fHxbXSkuc29tZSh0PT4hIW5bMV0mJm5bMV0udG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKSYmKHI9dCxuLnNwbGljZSgxLDEpLGU9bi5qb2luKCIvIil8fCIvIiwhMCkpLHtwYXRobmFtZTplLGRldGVjdGVkTG9jYWxlOnJ9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibm9ybWFsaXplTG9jYWxlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSl9LDIzOTQ1OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJJbWFnZUNvbmZpZ0NvbnRleHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPXIoMzg3NTQpLl8ocig2NzI5NCkpLG89cig5NjU5NCksYT1uLmRlZmF1bHQuY3JlYXRlQ29udGV4dChvLmltYWdlQ29uZmlnRGVmYXVsdCl9LDk2NTk0OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7VkFMSURfTE9BREVSUzpmdW5jdGlvbigpe3JldHVybiByfSxpbWFnZUNvbmZpZ0RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgcj1bImRlZmF1bHQiLCJpbWdpeCIsImNsb3VkaW5hcnkiLCJha2FtYWkiLCJjdXN0b20iXSxuPXtkZXZpY2VTaXplczpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSxpbWFnZVNpemVzOlsxNiwzMiw0OCw2NCw5NiwxMjgsMjU2LDM4NF0scGF0aDoiL19uZXh0L2ltYWdlIixsb2FkZXI6ImRlZmF1bHQiLGxvYWRlckZpbGU6IiIsZG9tYWluczpbXSxkaXNhYmxlU3RhdGljSW1hZ2VzOiExLG1pbmltdW1DYWNoZVRUTDo2MCxmb3JtYXRzOlsiaW1hZ2Uvd2VicCJdLGRhbmdlcm91c2x5QWxsb3dTVkc6ITEsY29udGVudFNlY3VyaXR5UG9saWN5OiJzY3JpcHQtc3JjICdub25lJzsgZnJhbWUtc3JjICdub25lJzsgc2FuZGJveDsiLGNvbnRlbnREaXNwb3NpdGlvblR5cGU6ImlubGluZSIsbG9jYWxQYXR0ZXJuczp2b2lkIDAscmVtb3RlUGF0dGVybnM6W10scXVhbGl0aWVzOnZvaWQgMCx1bm9wdGltaXplZDohMX19LDY1OTk3OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBuKGUpe2lmKCJbb2JqZWN0IE9iamVjdF0iIT09cihlKSlyZXR1cm4hMTtsZXQgdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7cmV0dXJuIG51bGw9PT10fHx0Lmhhc093blByb3BlcnR5KCJpc1Byb3RvdHlwZU9mIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtnZXRPYmplY3RDbGFzc0xhYmVsOmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNTA5NDc6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtCYWlsb3V0VG9DU1JFcnJvcjpmdW5jdGlvbigpe3JldHVybiBufSxpc0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9IkJBSUxPVVRfVE9fQ0xJRU5UX1NJREVfUkVOREVSSU5HIjtjbGFzcyBuIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoIkJhaWwgb3V0IHRvIGNsaWVudC1zaWRlIHJlbmRlcmluZzogIitlKSx0aGlzLnJlYXNvbj1lLHRoaXMuZGlnZXN0PXJ9fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImRpZ2VzdCJpbiBlJiZlLmRpZ2VzdD09PXJ9fSw4NTAwMTpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm57b24odCxyKXsoZVt0XXx8KGVbdF09W10pKS5wdXNoKHIpfSxvZmYodCxyKXtlW3RdJiZlW3RdLnNwbGljZShlW3RdLmluZGV4T2Yocik+Pj4wLDEpfSxlbWl0KHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkocj4xP3ItMTowKSxvPTE7bzxyO28rKyluW28tMV09YXJndW1lbnRzW29dOyhlW3RdfHxbXSkuc2xpY2UoKS5tYXAoZT0+e2UoLi4ubil9KX19fU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSl9LDExMDk4OmZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9WyJjaHJvbWUgNjQiLCJlZGdlIDc5IiwiZmlyZWZveCA2NyIsIm9wZXJhIDUxIiwic2FmYXJpIDEyIl19LDUzMzk1OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7bGV0IHQ9KG51bGw9PWU/dm9pZCAwOmUucmVwbGFjZSgvXlwvK3xcLyskL2csIiIpKXx8ITE7aWYoIXQpcmV0dXJuIiI7aWYoVVJMLmNhblBhcnNlKHQpKXtsZXQgZT1uZXcgVVJMKHQpLnRvU3RyaW5nKCk7cmV0dXJuIGUuZW5kc1dpdGgoIi8iKT9lLnNsaWNlKDAsLTEpOmV9cmV0dXJuIi8iK3R9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJub3JtYWxpemVkQXNzZXRQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pfSwyNzQ5MTpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZGVub3JtYWxpemVQYWdlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49cig3OTA2Miksbz1yKDgwNDApO2Z1bmN0aW9uIGEoZSl7bGV0IHQ9KDAsby5ub3JtYWxpemVQYXRoU2VwKShlKTtyZXR1cm4gdC5zdGFydHNXaXRoKCIvaW5kZXgvIikmJiEoMCxuLmlzRHluYW1pY1JvdXRlKSh0KT90LnNsaWNlKDYpOiIvaW5kZXgiIT09dD90OiIvIn19LDYwNDM1OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiLyIpP2U6Ii8iK2V9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJlbnN1cmVMZWFkaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pfSw4MDQwOmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUucmVwbGFjZSgvXFwvZywiLyIpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibm9ybWFsaXplUGF0aFNlcCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSl9LDgxOTI4OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJSb3V0ZXJDb250ZXh0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1yKDM4NzU0KS5fKHIoNjcyOTQpKS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCl9LDEwNTQ2OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtQYXRobmFtZUNvbnRleHRQcm92aWRlckFkYXB0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sYWRhcHRGb3JBcHBSb3V0ZXJJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBjfSxhZGFwdEZvclBhdGhQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sYWRhcHRGb3JTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gZn19KTtsZXQgbj1yKDYxNzU3KSxvPXIoODU4OTMpLGE9bi5fKHIoNjcyOTQpKSxpPXIoMjI2MDgpLHU9cig3OTA2MiksbD1yKDc0NjU2KSxzPXIoNjgzMzApO2Z1bmN0aW9uIGMoZSl7cmV0dXJue2JhY2soKXtlLmJhY2soKX0sZm9yd2FyZCgpe2UuZm9yd2FyZCgpfSxyZWZyZXNoKCl7ZS5yZWxvYWQoKX0sZmFzdFJlZnJlc2goKXt9LHB1c2godCxyKXtsZXR7c2Nyb2xsOm59PXZvaWQgMD09PXI/e306cjtlLnB1c2godCx2b2lkIDAse3Njcm9sbDpufSl9LHJlcGxhY2UodCxyKXtsZXR7c2Nyb2xsOm59PXZvaWQgMD09PXI/e306cjtlLnJlcGxhY2UodCx2b2lkIDAse3Njcm9sbDpufSl9LHByZWZldGNoKHQpe2UucHJlZmV0Y2godCl9fX1mdW5jdGlvbiBmKGUpe3JldHVybiBlLmlzUmVhZHkmJmUucXVlcnk/KDAsbC5hc1BhdGhUb1NlYXJjaFBhcmFtcykoZS5hc1BhdGgpOm5ldyBVUkxTZWFyY2hQYXJhbXN9ZnVuY3Rpb24gZChlKXtpZighZS5pc1JlYWR5fHwhZS5xdWVyeSlyZXR1cm4gbnVsbDtsZXQgdD17fTtmb3IobGV0IHIgb2YgT2JqZWN0LmtleXMoKDAscy5nZXRSb3V0ZVJlZ2V4KShlLnBhdGhuYW1lKS5ncm91cHMpKXRbcl09ZS5xdWVyeVtyXTtyZXR1cm4gdH1mdW5jdGlvbiBwKGUpe2xldHtjaGlsZHJlbjp0LHJvdXRlcjpyLC4uLm59PWUsbD0oMCxhLnVzZVJlZikobi5pc0F1dG9FeHBvcnQpLHM9KDAsYS51c2VNZW1vKSgoKT0+e2xldCBlO2xldCB0PWwuY3VycmVudDtpZih0JiYobC5jdXJyZW50PSExKSwoMCx1LmlzRHluYW1pY1JvdXRlKShyLnBhdGhuYW1lKSYmKHIuaXNGYWxsYmFja3x8dCYmIXIuaXNSZWFkeSkpcmV0dXJuIG51bGw7dHJ5e2U9bmV3IFVSTChyLmFzUGF0aCwiaHR0cDovL2YiKX1jYXRjaChlKXtyZXR1cm4iLyJ9cmV0dXJuIGUucGF0aG5hbWV9LFtyLmFzUGF0aCxyLmlzRmFsbGJhY2ssci5pc1JlYWR5LHIucGF0aG5hbWVdKTtyZXR1cm4oMCxvLmpzeCkoaS5QYXRobmFtZUNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnMsY2hpbGRyZW46dH0pfX0sNDUyOTg6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2NyZWF0ZUtleTpmdW5jdGlvbigpe3JldHVybiBxfSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LG1hdGNoZXNNaWRkbGV3YXJlOmZ1bmN0aW9uKCl7cmV0dXJuIE59fSk7bGV0IG49cigzODc1NCksbz1yKDYxNzU3KSxhPXIoMzI2NTcpLGk9cig0OTg1NiksdT1yKDIzMzgxKSxsPW8uXyhyKDgwNjc2KSkscz1yKDI3NDkxKSxjPXIoNTQxNjUpLGY9bi5fKHIoODUwMDEpKSxkPXIoOTk5MDMpLHA9cig5OTM2KSxoPXIoNTI5MTMpO3IoNzI0MzEpO2xldCBtPXIoMzQ3MTQpLF89cig2ODMzMCksZz1yKDQ4MDQxKTtyKDQxNjYpO2xldCB5PXIoOTIxMjIpLGI9cig2NTQ5MCksUD1yKDY4MzI0KSx2PXIoMzA2NDYpLEU9cig4OTQ3MCksUz1yKDkxMTQ5KSxPPXIoMzYwNzUpLGo9cig3OTQyMyksdz1yKDQ2NTA0KSxSPXIoODk0NjcpLFQ9cig3MjE5MiksTT1yKDUzOTU1KSx4PXIoNjk4ODgpLEk9cig1NzA4NSksQz1yKDkxNDE3KSxBPXIoNTA2MzEpO2Z1bmN0aW9uIEwoKXtyZXR1cm4gT2JqZWN0LmFzc2lnbihFcnJvcigiUm91dGUgQ2FuY2VsbGVkIikse2NhbmNlbGxlZDohMH0pfWFzeW5jIGZ1bmN0aW9uIE4oZSl7bGV0IHQ9YXdhaXQgUHJvbWlzZS5yZXNvbHZlKGUucm91dGVyLnBhZ2VMb2FkZXIuZ2V0TWlkZGxld2FyZSgpKTtpZighdClyZXR1cm4hMTtsZXR7cGF0aG5hbWU6cn09KDAseS5wYXJzZVBhdGgpKGUuYXNQYXRoKSxuPSgwLFMuaGFzQmFzZVBhdGgpKHIpPygwLHYucmVtb3ZlQmFzZVBhdGgpKHIpOnIsbz0oMCxFLmFkZEJhc2VQYXRoKSgoMCxiLmFkZExvY2FsZSkobixlLmxvY2FsZSkpO3JldHVybiB0LnNvbWUoZT0+bmV3IFJlZ0V4cChlLnJlZ2V4cCkudGVzdChvKSl9ZnVuY3Rpb24gRChlKXtsZXQgdD0oMCxkLmdldExvY2F0aW9uT3JpZ2luKSgpO3JldHVybiBlLnN0YXJ0c1dpdGgodCk/ZS5zdWJzdHJpbmcodC5sZW5ndGgpOmV9ZnVuY3Rpb24gayhlLHQscil7bGV0W24sb109KDAsTy5yZXNvbHZlSHJlZikoZSx0LCEwKSxhPSgwLGQuZ2V0TG9jYXRpb25PcmlnaW4pKCksaT1uLnN0YXJ0c1dpdGgoYSksdT1vJiZvLnN0YXJ0c1dpdGgoYSk7bj1EKG4pLG89bz9EKG8pOm87bGV0IGw9aT9uOigwLEUuYWRkQmFzZVBhdGgpKG4pLHM9cj9EKCgwLE8ucmVzb2x2ZUhyZWYpKGUscikpOm98fG47cmV0dXJue3VybDpsLGFzOnU/czooMCxFLmFkZEJhc2VQYXRoKShzKX19ZnVuY3Rpb24gVShlLHQpe2xldCByPSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoKDAscy5kZW5vcm1hbGl6ZVBhZ2VQYXRoKShlKSk7cmV0dXJuIi80MDQiPT09cnx8Ii9fZXJyb3IiPT09cj9lOih0LmluY2x1ZGVzKHIpfHx0LnNvbWUodD0+e2lmKCgwLHAuaXNEeW5hbWljUm91dGUpKHQpJiYoMCxfLmdldFJvdXRlUmVnZXgpKHQpLnJlLnRlc3QocikpcmV0dXJuIGU9dCwhMH0pLCgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZSkpfWFzeW5jIGZ1bmN0aW9uIEYoZSl7aWYoIWF3YWl0IE4oZSl8fCFlLmZldGNoRGF0YSlyZXR1cm4gbnVsbDtsZXQgdD1hd2FpdCBlLmZldGNoRGF0YSgpLHI9YXdhaXQgZnVuY3Rpb24oZSx0LHIpe2xldCBuPXtiYXNlUGF0aDpyLnJvdXRlci5iYXNlUGF0aCxpMThuOntsb2NhbGVzOnIucm91dGVyLmxvY2FsZXN9LHRyYWlsaW5nU2xhc2g6ITF9LG89dC5oZWFkZXJzLmdldCgieC1uZXh0anMtcmV3cml0ZSIpLHU9b3x8dC5oZWFkZXJzLmdldCgieC1uZXh0anMtbWF0Y2hlZC1wYXRoIiksbD10LmhlYWRlcnMuZ2V0KCJ4LW1hdGNoZWQtcGF0aCIpO2lmKCFsfHx1fHxsLmluY2x1ZGVzKCJfX25leHRfZGF0YV9jYXRjaGFsbCIpfHxsLmluY2x1ZGVzKCIvX2Vycm9yIil8fGwuaW5jbHVkZXMoIi80MDQiKXx8KHU9bCksdSl7aWYodS5zdGFydHNXaXRoKCIvIikpe2xldCB0PSgwLGgucGFyc2VSZWxhdGl2ZVVybCkodSksbD0oMCx3LmdldE5leHRQYXRobmFtZUluZm8pKHQucGF0aG5hbWUse25leHRDb25maWc6bixwYXJzZURhdGE6ITB9KSxzPSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkobC5wYXRobmFtZSk7cmV0dXJuIFByb21pc2UuYWxsKFtyLnJvdXRlci5wYWdlTG9hZGVyLmdldFBhZ2VMaXN0KCksKDAsaS5nZXRDbGllbnRCdWlsZE1hbmlmZXN0KSgpXSkudGhlbihhPT57bGV0W2kse19fcmV3cml0ZXM6dX1dPWEsZj0oMCxiLmFkZExvY2FsZSkobC5wYXRobmFtZSxsLmxvY2FsZSk7aWYoKDAscC5pc0R5bmFtaWNSb3V0ZSkoZil8fCFvJiZpLmluY2x1ZGVzKCgwLGMubm9ybWFsaXplTG9jYWxlUGF0aCkoKDAsdi5yZW1vdmVCYXNlUGF0aCkoZiksci5yb3V0ZXIubG9jYWxlcykucGF0aG5hbWUpKXtsZXQgcj0oMCx3LmdldE5leHRQYXRobmFtZUluZm8pKCgwLGgucGFyc2VSZWxhdGl2ZVVybCkoZSkucGF0aG5hbWUse25leHRDb25maWc6bixwYXJzZURhdGE6ITB9KTtmPSgwLEUuYWRkQmFzZVBhdGgpKHIucGF0aG5hbWUpLHQucGF0aG5hbWU9Zn1pZighaS5pbmNsdWRlcyhzKSl7bGV0IGU9VShzLGkpO2UhPT1zJiYocz1lKX1sZXQgZD1pLmluY2x1ZGVzKHMpP3M6VSgoMCxjLm5vcm1hbGl6ZUxvY2FsZVBhdGgpKCgwLHYucmVtb3ZlQmFzZVBhdGgpKHQucGF0aG5hbWUpLHIucm91dGVyLmxvY2FsZXMpLnBhdGhuYW1lLGkpO2lmKCgwLHAuaXNEeW5hbWljUm91dGUpKGQpKXtsZXQgZT0oMCxtLmdldFJvdXRlTWF0Y2hlcikoKDAsXy5nZXRSb3V0ZVJlZ2V4KShkKSkoZik7T2JqZWN0LmFzc2lnbih0LnF1ZXJ5LGV8fHt9KX1yZXR1cm57dHlwZToicmV3cml0ZSIscGFyc2VkQXM6dCxyZXNvbHZlZEhyZWY6ZH19KX1sZXQgdD0oMCx5LnBhcnNlUGF0aCkoZSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7dHlwZToicmVkaXJlY3QtZXh0ZXJuYWwiLGRlc3RpbmF0aW9uOiIiKygwLFIuZm9ybWF0TmV4dFBhdGhuYW1lSW5mbykoey4uLigwLHcuZ2V0TmV4dFBhdGhuYW1lSW5mbykodC5wYXRobmFtZSx7bmV4dENvbmZpZzpuLHBhcnNlRGF0YTohMH0pLGRlZmF1bHRMb2NhbGU6ci5yb3V0ZXIuZGVmYXVsdExvY2FsZSxidWlsZElkOiIifSkrdC5xdWVyeSt0Lmhhc2h9KX1sZXQgcz10LmhlYWRlcnMuZ2V0KCJ4LW5leHRqcy1yZWRpcmVjdCIpO2lmKHMpe2lmKHMuc3RhcnRzV2l0aCgiLyIpKXtsZXQgZT0oMCx5LnBhcnNlUGF0aCkocyksdD0oMCxSLmZvcm1hdE5leHRQYXRobmFtZUluZm8pKHsuLi4oMCx3LmdldE5leHRQYXRobmFtZUluZm8pKGUucGF0aG5hbWUse25leHRDb25maWc6bixwYXJzZURhdGE6ITB9KSxkZWZhdWx0TG9jYWxlOnIucm91dGVyLmRlZmF1bHRMb2NhbGUsYnVpbGRJZDoiIn0pO3JldHVybiBQcm9taXNlLnJlc29sdmUoe3R5cGU6InJlZGlyZWN0LWludGVybmFsIixuZXdBczoiIit0K2UucXVlcnkrZS5oYXNoLG5ld1VybDoiIit0K2UucXVlcnkrZS5oYXNofSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7dHlwZToicmVkaXJlY3QtZXh0ZXJuYWwiLGRlc3RpbmF0aW9uOnN9KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt0eXBlOiJuZXh0In0pfSh0LmRhdGFIcmVmLHQucmVzcG9uc2UsZSk7cmV0dXJue2RhdGFIcmVmOnQuZGF0YUhyZWYsanNvbjp0Lmpzb24scmVzcG9uc2U6dC5yZXNwb25zZSx0ZXh0OnQudGV4dCxjYWNoZUtleTp0LmNhY2hlS2V5LGVmZmVjdDpyfX1sZXQgQj1TeW1ib2woIlNTR19EQVRBX05PVF9GT1VORCIpO2Z1bmN0aW9uIEgoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKGUpe3JldHVybiBudWxsfX1mdW5jdGlvbiBXKGUpe2xldHtkYXRhSHJlZjp0LGluZmxpZ2h0Q2FjaGU6cixpc1ByZWZldGNoOm4saGFzTWlkZGxld2FyZTpvLGlzU2VydmVyUmVuZGVyOmEscGFyc2VKU09OOnUscGVyc2lzdENhY2hlOmwsaXNCYWNrZ3JvdW5kOnMsdW5zdGFibGVfc2tpcENsaWVudENhY2hlOmN9PWUse2hyZWY6Zn09bmV3IFVSTCh0LHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxkPWU9Pnt2YXIgcztyZXR1cm4oZnVuY3Rpb24gZSh0LHIsbil7cmV0dXJuIGZldGNoKHQse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIsbWV0aG9kOm4ubWV0aG9kfHwiR0VUIixoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sbi5oZWFkZXJzLHsieC1uZXh0anMtZGF0YSI6IjEifSl9KS50aGVuKG89PiFvLm9rJiZyPjEmJm8uc3RhdHVzPj01MDA/ZSh0LHItMSxuKTpvKX0pKHQsYT8zOjEse2hlYWRlcnM6T2JqZWN0LmFzc2lnbih7fSxuP3twdXJwb3NlOiJwcmVmZXRjaCJ9Ont9LG4mJm8/eyJ4LW1pZGRsZXdhcmUtcHJlZmV0Y2giOiIxIn06e30pLG1ldGhvZDpudWxsIT0ocz1udWxsPT1lP3ZvaWQgMDplLm1ldGhvZCk/czoiR0VUIn0pLnRoZW4ocj0+ci5vayYmKG51bGw9PWU/dm9pZCAwOmUubWV0aG9kKT09PSJIRUFEIj97ZGF0YUhyZWY6dCxyZXNwb25zZTpyLHRleHQ6IiIsanNvbjp7fSxjYWNoZUtleTpmfTpyLnRleHQoKS50aGVuKGU9PntpZighci5vayl7aWYobyYmWzMwMSwzMDIsMzA3LDMwOF0uaW5jbHVkZXMoci5zdGF0dXMpKXJldHVybntkYXRhSHJlZjp0LHJlc3BvbnNlOnIsdGV4dDplLGpzb246e30sY2FjaGVLZXk6Zn07aWYoNDA0PT09ci5zdGF0dXMpe3ZhciBuO2lmKG51bGw9PShuPUgoZSkpP3ZvaWQgMDpuLm5vdEZvdW5kKXJldHVybntkYXRhSHJlZjp0LGpzb246e25vdEZvdW5kOkJ9LHJlc3BvbnNlOnIsdGV4dDplLGNhY2hlS2V5OmZ9fWxldCB1PUVycm9yKCJGYWlsZWQgdG8gbG9hZCBzdGF0aWMgcHJvcHMiKTt0aHJvdyBhfHwoMCxpLm1hcmtBc3NldEVycm9yKSh1KSx1fXJldHVybntkYXRhSHJlZjp0LGpzb246dT9IKGUpOm51bGwscmVzcG9uc2U6cix0ZXh0OmUsY2FjaGVLZXk6Zn19KSkudGhlbihlPT4obCYmIm5vLWNhY2hlIiE9PWUucmVzcG9uc2UuaGVhZGVycy5nZXQoIngtbWlkZGxld2FyZS1jYWNoZSIpfHxkZWxldGUgcltmXSxlKSkuY2F0Y2goZT0+e3Rocm93IGN8fGRlbGV0ZSByW2ZdLCgiRmFpbGVkIHRvIGZldGNoIj09PWUubWVzc2FnZXx8Ik5ldHdvcmtFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gZmV0Y2ggcmVzb3VyY2UuIj09PWUubWVzc2FnZXx8IkxvYWQgZmFpbGVkIj09PWUubWVzc2FnZSkmJigwLGkubWFya0Fzc2V0RXJyb3IpKGUpLGV9KX07cmV0dXJuIGMmJmw/ZCh7fSkudGhlbihlPT4oIm5vLWNhY2hlIiE9PWUucmVzcG9uc2UuaGVhZGVycy5nZXQoIngtbWlkZGxld2FyZS1jYWNoZSIpJiYocltmXT1Qcm9taXNlLnJlc29sdmUoZSkpLGUpKTp2b2lkIDAhPT1yW2ZdP3JbZl06cltmXT1kKHM/e21ldGhvZDoiSEVBRCJ9Ont9KX1mdW5jdGlvbiBxKCl7cmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIsMTApfWZ1bmN0aW9uIEcoZSl7bGV0e3VybDp0LHJvdXRlcjpyfT1lO2lmKHQ9PT0oMCxFLmFkZEJhc2VQYXRoKSgoMCxiLmFkZExvY2FsZSkoci5hc1BhdGgsci5sb2NhbGUpKSl0aHJvdyBFcnJvcigiSW52YXJpYW50OiBhdHRlbXB0ZWQgdG8gaGFyZCBuYXZpZ2F0ZSB0byB0aGUgc2FtZSBVUkwgIit0KyIgIitsb2NhdGlvbi5ocmVmKTt3aW5kb3cubG9jYXRpb24uaHJlZj10fWxldCB6PWU9PntsZXR7cm91dGU6dCxyb3V0ZXI6cn09ZSxuPSExLG89ci5jbGM9KCk9PntuPSEwfTtyZXR1cm4oKT0+e2lmKG4pe2xldCBlPUVycm9yKCdBYm9ydCBmZXRjaGluZyBjb21wb25lbnQgZm9yIHJvdXRlOiAiJyt0KyciJyk7dGhyb3cgZS5jYW5jZWxsZWQ9ITAsZX1vPT09ci5jbGMmJihyLmNsYz1udWxsKX19O2NsYXNzIFZ7cmVsb2FkKCl7d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfWJhY2soKXt3aW5kb3cuaGlzdG9yeS5iYWNrKCl9Zm9yd2FyZCgpe3dpbmRvdy5oaXN0b3J5LmZvcndhcmQoKX1wdXNoKGUsdCxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9e30pLHt1cmw6ZSxhczp0fT1rKHRoaXMsZSx0KSx0aGlzLmNoYW5nZSgicHVzaFN0YXRlIixlLHQscil9cmVwbGFjZShlLHQscil7cmV0dXJuIHZvaWQgMD09PXImJihyPXt9KSx7dXJsOmUsYXM6dH09ayh0aGlzLGUsdCksdGhpcy5jaGFuZ2UoInJlcGxhY2VTdGF0ZSIsZSx0LHIpfWFzeW5jIF9iZmwoZSx0LHIsbil7e2xldCBsPSExLHM9ITE7Zm9yKGxldCBjIG9mW2UsdF0paWYoYyl7bGV0IHQ9KDAsYS5yZW1vdmVUcmFpbGluZ1NsYXNoKShuZXcgVVJMKGMsImh0dHA6Ly9uIikucGF0aG5hbWUpLGY9KDAsRS5hZGRCYXNlUGF0aCkoKDAsYi5hZGRMb2NhbGUpKHQscnx8dGhpcy5sb2NhbGUpKTtpZih0IT09KDAsYS5yZW1vdmVUcmFpbGluZ1NsYXNoKShuZXcgVVJMKHRoaXMuYXNQYXRoLCJodHRwOi8vbiIpLnBhdGhuYW1lKSl7dmFyIG8saSx1O2ZvcihsZXQgZSBvZihsPWx8fCEhKG51bGw9PShvPXRoaXMuX2JmbF9zKT92b2lkIDA6by5jb250YWlucyh0KSl8fCEhKG51bGw9PShpPXRoaXMuX2JmbF9zKT92b2lkIDA6aS5jb250YWlucyhmKSksW3QsZl0pKXtsZXQgdD1lLnNwbGl0KCIvIik7Zm9yKGxldCBlPTA7IXMmJmU8dC5sZW5ndGgrMTtlKyspe2xldCByPXQuc2xpY2UoMCxlKS5qb2luKCIvIik7aWYociYmKG51bGw9PSh1PXRoaXMuX2JmbF9kKT92b2lkIDA6dS5jb250YWlucyhyKSkpe3M9ITA7YnJlYWt9fX1pZihsfHxzKXtpZihuKXJldHVybiEwO3JldHVybiBHKHt1cmw6KDAsRS5hZGRCYXNlUGF0aCkoKDAsYi5hZGRMb2NhbGUpKGUscnx8dGhpcy5sb2NhbGUsdGhpcy5kZWZhdWx0TG9jYWxlKSkscm91dGVyOnRoaXN9KSxuZXcgUHJvbWlzZSgoKT0+e30pfX19fXJldHVybiExfWFzeW5jIGNoYW5nZShlLHQscixuLG8pe3ZhciBzLGMsZixPLGosdyxSLHgsQTtsZXQgRCxGO2lmKCEoMCxNLmlzTG9jYWxVUkwpKHQpKXJldHVybiBHKHt1cmw6dCxyb3V0ZXI6dGhpc30pLCExO2xldCBIPTE9PT1uLl9oO0h8fG4uc2hhbGxvd3x8YXdhaXQgdGhpcy5fYmZsKHIsdm9pZCAwLG4ubG9jYWxlKTtsZXQgVz1IfHxuLl9zaG91bGRSZXNvbHZlSHJlZnx8KDAseS5wYXJzZVBhdGgpKHQpLnBhdGhuYW1lPT09KDAseS5wYXJzZVBhdGgpKHIpLnBhdGhuYW1lLHE9ey4uLnRoaXMuc3RhdGV9LHo9ITAhPT10aGlzLmlzUmVhZHk7dGhpcy5pc1JlYWR5PSEwO2xldCBYPXRoaXMuaXNTc3I7aWYoSHx8KHRoaXMuaXNTc3I9ITEpLEgmJnRoaXMuY2xjKXJldHVybiExO2xldCBZPXEubG9jYWxlO2QuU1QmJnBlcmZvcm1hbmNlLm1hcmsoInJvdXRlQ2hhbmdlIik7bGV0e3NoYWxsb3c6JD0hMSxzY3JvbGw6Sz0hMH09bixKPXtzaGFsbG93OiR9O3RoaXMuX2luRmxpZ2h0Um91dGUmJnRoaXMuY2xjJiYoWHx8Vi5ldmVudHMuZW1pdCgicm91dGVDaGFuZ2VFcnJvciIsTCgpLHRoaXMuX2luRmxpZ2h0Um91dGUsSiksdGhpcy5jbGMoKSx0aGlzLmNsYz1udWxsKSxyPSgwLEUuYWRkQmFzZVBhdGgpKCgwLGIuYWRkTG9jYWxlKSgoMCxTLmhhc0Jhc2VQYXRoKShyKT8oMCx2LnJlbW92ZUJhc2VQYXRoKShyKTpyLG4ubG9jYWxlLHRoaXMuZGVmYXVsdExvY2FsZSkpO2xldCBRPSgwLFAucmVtb3ZlTG9jYWxlKSgoMCxTLmhhc0Jhc2VQYXRoKShyKT8oMCx2LnJlbW92ZUJhc2VQYXRoKShyKTpyLHEubG9jYWxlKTt0aGlzLl9pbkZsaWdodFJvdXRlPXI7bGV0IFo9WSE9PXEubG9jYWxlO2lmKCFIJiZ0aGlzLm9ubHlBSGFzaENoYW5nZShRKSYmIVope3EuYXNQYXRoPVEsVi5ldmVudHMuZW1pdCgiaGFzaENoYW5nZVN0YXJ0IixyLEopLHRoaXMuY2hhbmdlU3RhdGUoZSx0LHIsey4uLm4sc2Nyb2xsOiExfSksSyYmdGhpcy5zY3JvbGxUb0hhc2goUSk7dHJ5e2F3YWl0IHRoaXMuc2V0KHEsdGhpcy5jb21wb25lbnRzW3Eucm91dGVdLG51bGwpfWNhdGNoKGUpe3Rocm93KDAsbC5kZWZhdWx0KShlKSYmZS5jYW5jZWxsZWQmJlYuZXZlbnRzLmVtaXQoInJvdXRlQ2hhbmdlRXJyb3IiLGUsUSxKKSxlfXJldHVybiBWLmV2ZW50cy5lbWl0KCJoYXNoQ2hhbmdlQ29tcGxldGUiLHIsSiksITB9bGV0IGVlPSgwLGgucGFyc2VSZWxhdGl2ZVVybCkodCkse3BhdGhuYW1lOmV0LHF1ZXJ5OmVyfT1lZTt0cnl7W0Qse19fcmV3cml0ZXM6Rn1dPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBhZ2VMb2FkZXIuZ2V0UGFnZUxpc3QoKSwoMCxpLmdldENsaWVudEJ1aWxkTWFuaWZlc3QpKCksdGhpcy5wYWdlTG9hZGVyLmdldE1pZGRsZXdhcmUoKV0pfWNhdGNoKGUpe3JldHVybiBHKHt1cmw6cixyb3V0ZXI6dGhpc30pLCExfXRoaXMudXJsSXNOZXcoUSl8fFp8fChlPSJyZXBsYWNlU3RhdGUiKTtsZXQgZW49cjtldD1ldD8oMCxhLnJlbW92ZVRyYWlsaW5nU2xhc2gpKCgwLHYucmVtb3ZlQmFzZVBhdGgpKGV0KSk6ZXQ7bGV0IGVvPSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZXQpLGVhPXIuc3RhcnRzV2l0aCgiLyIpJiYoMCxoLnBhcnNlUmVsYXRpdmVVcmwpKHIpLnBhdGhuYW1lO2lmKG51bGw9PShzPXRoaXMuY29tcG9uZW50c1tldF0pP3ZvaWQgMDpzLl9fYXBwUm91dGVyKXJldHVybiBHKHt1cmw6cixyb3V0ZXI6dGhpc30pLG5ldyBQcm9taXNlKCgpPT57fSk7bGV0IGVpPSEhKGVhJiZlbyE9PWVhJiYoISgwLHAuaXNEeW5hbWljUm91dGUpKGVvKXx8ISgwLG0uZ2V0Um91dGVNYXRjaGVyKSgoMCxfLmdldFJvdXRlUmVnZXgpKGVvKSkoZWEpKSksZXU9IW4uc2hhbGxvdyYmYXdhaXQgTih7YXNQYXRoOnIsbG9jYWxlOnEubG9jYWxlLHJvdXRlcjp0aGlzfSk7aWYoSCYmZXUmJihXPSExKSxXJiYiL19lcnJvciIhPT1ldCYmKG4uX3Nob3VsZFJlc29sdmVIcmVmPSEwLGVlLnBhdGhuYW1lPVUoZXQsRCksZWUucGF0aG5hbWU9PT1ldHx8KGV0PWVlLnBhdGhuYW1lLGVlLnBhdGhuYW1lPSgwLEUuYWRkQmFzZVBhdGgpKGV0KSxldXx8KHQ9KDAsZy5mb3JtYXRXaXRoVmFsaWRhdGlvbikoZWUpKSkpLCEoMCxNLmlzTG9jYWxVUkwpKHIpKXJldHVybiBHKHt1cmw6cixyb3V0ZXI6dGhpc30pLCExO2VuPSgwLFAucmVtb3ZlTG9jYWxlKSgoMCx2LnJlbW92ZUJhc2VQYXRoKShlbikscS5sb2NhbGUpLGVvPSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZXQpO2xldCBlbD0hMTtpZigoMCxwLmlzRHluYW1pY1JvdXRlKShlbykpe2xldCBlPSgwLGgucGFyc2VSZWxhdGl2ZVVybCkoZW4pLG49ZS5wYXRobmFtZSxvPSgwLF8uZ2V0Um91dGVSZWdleCkoZW8pO2VsPSgwLG0uZ2V0Um91dGVNYXRjaGVyKShvKShuKTtsZXQgYT1lbz09PW4saT1hPygwLEMuaW50ZXJwb2xhdGVBcykoZW8sbixlcik6e307aWYoZWwmJighYXx8aS5yZXN1bHQpKWE/cj0oMCxnLmZvcm1hdFdpdGhWYWxpZGF0aW9uKShPYmplY3QuYXNzaWduKHt9LGUse3BhdGhuYW1lOmkucmVzdWx0LHF1ZXJ5OigwLEkub21pdCkoZXIsaS5wYXJhbXMpfSkpOk9iamVjdC5hc3NpZ24oZXIsZWwpO2Vsc2V7bGV0IGU9T2JqZWN0LmtleXMoby5ncm91cHMpLmZpbHRlcihlPT4hZXJbZV0mJiFvLmdyb3Vwc1tlXS5vcHRpb25hbCk7aWYoZS5sZW5ndGg+MCYmIWV1KXRocm93IEVycm9yKChhPyJUaGUgcHJvdmlkZWQgYGhyZWZgICgiK3QrIikgdmFsdWUgaXMgbWlzc2luZyBxdWVyeSB2YWx1ZXMgKCIrZS5qb2luKCIsICIpKyIpIHRvIGJlIGludGVycG9sYXRlZCBwcm9wZXJseS4gIjoiVGhlIHByb3ZpZGVkIGBhc2AgdmFsdWUgKCIrbisiKSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgYGhyZWZgIHZhbHVlICgiK2VvKyIpLiAiKSsiUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy8iKyhhPyJocmVmLWludGVycG9sYXRpb24tZmFpbGVkIjoiaW5jb21wYXRpYmxlLWhyZWYtYXMiKSl9fUh8fFYuZXZlbnRzLmVtaXQoInJvdXRlQ2hhbmdlU3RhcnQiLHIsSik7bGV0IGVzPSIvNDA0Ij09PXRoaXMucGF0aG5hbWV8fCIvX2Vycm9yIj09PXRoaXMucGF0aG5hbWU7dHJ5e2xldCBhPWF3YWl0IHRoaXMuZ2V0Um91dGVJbmZvKHtyb3V0ZTplbyxwYXRobmFtZTpldCxxdWVyeTplcixhczpyLHJlc29sdmVkQXM6ZW4scm91dGVQcm9wczpKLGxvY2FsZTpxLmxvY2FsZSxpc1ByZXZpZXc6cS5pc1ByZXZpZXcsaGFzTWlkZGxld2FyZTpldSx1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGU6bi51bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGUsaXNRdWVyeVVwZGF0aW5nOkgmJiF0aGlzLmlzRmFsbGJhY2ssaXNNaWRkbGV3YXJlUmV3cml0ZTplaX0pO2lmKEh8fG4uc2hhbGxvd3x8YXdhaXQgdGhpcy5fYmZsKHIsInJlc29sdmVkQXMiaW4gYT9hLnJlc29sdmVkQXM6dm9pZCAwLHEubG9jYWxlKSwicm91dGUiaW4gYSYmZXUpe2VvPWV0PWEucm91dGV8fGVvLEouc2hhbGxvd3x8KGVyPU9iamVjdC5hc3NpZ24oe30sYS5xdWVyeXx8e30sZXIpKTtsZXQgZT0oMCxTLmhhc0Jhc2VQYXRoKShlZS5wYXRobmFtZSk/KDAsdi5yZW1vdmVCYXNlUGF0aCkoZWUucGF0aG5hbWUpOmVlLnBhdGhuYW1lO2lmKGVsJiZldCE9PWUmJk9iamVjdC5rZXlzKGVsKS5mb3JFYWNoKGU9PntlbCYmZXJbZV09PT1lbFtlXSYmZGVsZXRlIGVyW2VdfSksKDAscC5pc0R5bmFtaWNSb3V0ZSkoZXQpKXtsZXQgZT0hSi5zaGFsbG93JiZhLnJlc29sdmVkQXM/YS5yZXNvbHZlZEFzOigwLEUuYWRkQmFzZVBhdGgpKCgwLGIuYWRkTG9jYWxlKShuZXcgVVJMKHIsbG9jYXRpb24uaHJlZikucGF0aG5hbWUscS5sb2NhbGUpLCEwKTsoMCxTLmhhc0Jhc2VQYXRoKShlKSYmKGU9KDAsdi5yZW1vdmVCYXNlUGF0aCkoZSkpO2xldCB0PSgwLF8uZ2V0Um91dGVSZWdleCkoZXQpLG49KDAsbS5nZXRSb3V0ZU1hdGNoZXIpKHQpKG5ldyBVUkwoZSxsb2NhdGlvbi5ocmVmKS5wYXRobmFtZSk7biYmT2JqZWN0LmFzc2lnbihlcixuKX19aWYoInR5cGUiaW4gYSl7aWYoInJlZGlyZWN0LWludGVybmFsIj09PWEudHlwZSlyZXR1cm4gdGhpcy5jaGFuZ2UoZSxhLm5ld1VybCxhLm5ld0FzLG4pO3JldHVybiBHKHt1cmw6YS5kZXN0aW5hdGlvbixyb3V0ZXI6dGhpc30pLG5ldyBQcm9taXNlKCgpPT57fSl9bGV0IGk9YS5Db21wb25lbnQ7aWYoaSYmaS51bnN0YWJsZV9zY3JpcHRMb2FkZXImJltdLmNvbmNhdChpLnVuc3RhYmxlX3NjcmlwdExvYWRlcigpKS5mb3JFYWNoKGU9PnsoMCx1LmhhbmRsZUNsaWVudFNjcmlwdExvYWQpKGUucHJvcHMpfSksKGEuX19OX1NTR3x8YS5fX05fU1NQKSYmYS5wcm9wcyl7aWYoYS5wcm9wcy5wYWdlUHJvcHMmJmEucHJvcHMucGFnZVByb3BzLl9fTl9SRURJUkVDVCl7bi5sb2NhbGU9ITE7bGV0IHQ9YS5wcm9wcy5wYWdlUHJvcHMuX19OX1JFRElSRUNUO2lmKHQuc3RhcnRzV2l0aCgiLyIpJiYhMSE9PWEucHJvcHMucGFnZVByb3BzLl9fTl9SRURJUkVDVF9CQVNFX1BBVEgpe2xldCByPSgwLGgucGFyc2VSZWxhdGl2ZVVybCkodCk7ci5wYXRobmFtZT1VKHIucGF0aG5hbWUsRCk7bGV0e3VybDpvLGFzOmF9PWsodGhpcyx0LHQpO3JldHVybiB0aGlzLmNoYW5nZShlLG8sYSxuKX1yZXR1cm4gRyh7dXJsOnQscm91dGVyOnRoaXN9KSxuZXcgUHJvbWlzZSgoKT0+e30pfWlmKHEuaXNQcmV2aWV3PSEhYS5wcm9wcy5fX05fUFJFVklFVyxhLnByb3BzLm5vdEZvdW5kPT09Qil7bGV0IGU7dHJ5e2F3YWl0IHRoaXMuZmV0Y2hDb21wb25lbnQoIi80MDQiKSxlPSIvNDA0In1jYXRjaCh0KXtlPSIvX2Vycm9yIn1pZihhPWF3YWl0IHRoaXMuZ2V0Um91dGVJbmZvKHtyb3V0ZTplLHBhdGhuYW1lOmUscXVlcnk6ZXIsYXM6cixyZXNvbHZlZEFzOmVuLHJvdXRlUHJvcHM6e3NoYWxsb3c6ITF9LGxvY2FsZTpxLmxvY2FsZSxpc1ByZXZpZXc6cS5pc1ByZXZpZXcsaXNOb3RGb3VuZDohMH0pLCJ0eXBlImluIGEpdGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgbWlkZGxld2FyZSBlZmZlY3Qgb24gLzQwNCIpfX1IJiYiL19lcnJvciI9PT10aGlzLnBhdGhuYW1lJiYobnVsbD09KGY9c2VsZi5fX05FWFRfREFUQV9fLnByb3BzKT92b2lkIDA6bnVsbD09KGM9Zi5wYWdlUHJvcHMpP3ZvaWQgMDpjLnN0YXR1c0NvZGUpPT09NTAwJiYobnVsbD09KE89YS5wcm9wcyk/dm9pZCAwOk8ucGFnZVByb3BzKSYmKGEucHJvcHMucGFnZVByb3BzLnN0YXR1c0NvZGU9NTAwKTtsZXQgcz1uLnNoYWxsb3cmJnEucm91dGU9PT0obnVsbCE9KGo9YS5yb3V0ZSk/ajplbyksZD1udWxsIT0odz1uLnNjcm9sbCk/dzohSCYmIXMsZz1udWxsIT1vP286ZD97eDowLHk6MH06bnVsbCx5PXsuLi5xLHJvdXRlOmVvLHBhdGhuYW1lOmV0LHF1ZXJ5OmVyLGFzUGF0aDpRLGlzRmFsbGJhY2s6ITF9O2lmKEgmJmVzKXtpZihhPWF3YWl0IHRoaXMuZ2V0Um91dGVJbmZvKHtyb3V0ZTp0aGlzLnBhdGhuYW1lLHBhdGhuYW1lOnRoaXMucGF0aG5hbWUscXVlcnk6ZXIsYXM6cixyZXNvbHZlZEFzOmVuLHJvdXRlUHJvcHM6e3NoYWxsb3c6ITF9LGxvY2FsZTpxLmxvY2FsZSxpc1ByZXZpZXc6cS5pc1ByZXZpZXcsaXNRdWVyeVVwZGF0aW5nOkgmJiF0aGlzLmlzRmFsbGJhY2t9KSwidHlwZSJpbiBhKXRocm93IEVycm9yKCJVbmV4cGVjdGVkIG1pZGRsZXdhcmUgZWZmZWN0IG9uICIrdGhpcy5wYXRobmFtZSk7Ii9fZXJyb3IiPT09dGhpcy5wYXRobmFtZSYmKG51bGw9PSh4PXNlbGYuX19ORVhUX0RBVEFfXy5wcm9wcyk/dm9pZCAwOm51bGw9PShSPXgucGFnZVByb3BzKT92b2lkIDA6Ui5zdGF0dXNDb2RlKT09PTUwMCYmKG51bGw9PShBPWEucHJvcHMpP3ZvaWQgMDpBLnBhZ2VQcm9wcykmJihhLnByb3BzLnBhZ2VQcm9wcy5zdGF0dXNDb2RlPTUwMCk7dHJ5e2F3YWl0IHRoaXMuc2V0KHksYSxnKX1jYXRjaChlKXt0aHJvdygwLGwuZGVmYXVsdCkoZSkmJmUuY2FuY2VsbGVkJiZWLmV2ZW50cy5lbWl0KCJyb3V0ZUNoYW5nZUVycm9yIixlLFEsSiksZX1yZXR1cm4hMH1pZihWLmV2ZW50cy5lbWl0KCJiZWZvcmVIaXN0b3J5Q2hhbmdlIixyLEopLHRoaXMuY2hhbmdlU3RhdGUoZSx0LHIsbiksIShIJiYhZyYmIXomJiFaJiYoMCxULmNvbXBhcmVSb3V0ZXJTdGF0ZXMpKHksdGhpcy5zdGF0ZSkpKXt0cnl7YXdhaXQgdGhpcy5zZXQoeSxhLGcpfWNhdGNoKGUpe2lmKGUuY2FuY2VsbGVkKWEuZXJyb3I9YS5lcnJvcnx8ZTtlbHNlIHRocm93IGV9aWYoYS5lcnJvcil0aHJvdyBIfHxWLmV2ZW50cy5lbWl0KCJyb3V0ZUNoYW5nZUVycm9yIixhLmVycm9yLFEsSiksYS5lcnJvcjtIfHxWLmV2ZW50cy5lbWl0KCJyb3V0ZUNoYW5nZUNvbXBsZXRlIixyLEopLGQmJi8jLiskLy50ZXN0KHIpJiZ0aGlzLnNjcm9sbFRvSGFzaChyKX1yZXR1cm4hMH1jYXRjaChlKXtpZigoMCxsLmRlZmF1bHQpKGUpJiZlLmNhbmNlbGxlZClyZXR1cm4hMTt0aHJvdyBlfX1jaGFuZ2VTdGF0ZShlLHQscixuKXt2b2lkIDA9PT1uJiYobj17fSksKCJwdXNoU3RhdGUiIT09ZXx8KDAsZC5nZXRVUkwpKCkhPT1yKSYmKHRoaXMuX3NoYWxsb3c9bi5zaGFsbG93LHdpbmRvdy5oaXN0b3J5W2VdKHt1cmw6dCxhczpyLG9wdGlvbnM6bixfX046ITAsa2V5OnRoaXMuX2tleT0icHVzaFN0YXRlIiE9PWU/dGhpcy5fa2V5OnEoKX0sIiIscikpfWFzeW5jIGhhbmRsZVJvdXRlSW5mb0Vycm9yKGUsdCxyLG4sbyxhKXtpZihjb25zb2xlLmVycm9yKGUpLGUuY2FuY2VsbGVkKXRocm93IGU7aWYoKDAsaS5pc0Fzc2V0RXJyb3IpKGUpfHxhKXRocm93IFYuZXZlbnRzLmVtaXQoInJvdXRlQ2hhbmdlRXJyb3IiLGUsbixvKSxHKHt1cmw6bixyb3V0ZXI6dGhpc30pLEwoKTt0cnl7bGV0IG47bGV0e3BhZ2U6byxzdHlsZVNoZWV0czphfT1hd2FpdCB0aGlzLmZldGNoQ29tcG9uZW50KCIvX2Vycm9yIiksaT17cHJvcHM6bixDb21wb25lbnQ6byxzdHlsZVNoZWV0czphLGVycjplLGVycm9yOmV9O2lmKCFpLnByb3BzKXRyeXtpLnByb3BzPWF3YWl0IHRoaXMuZ2V0SW5pdGlhbFByb3BzKG8se2VycjplLHBhdGhuYW1lOnQscXVlcnk6cn0pfWNhdGNoKGUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGluIGVycm9yIHBhZ2UgYGdldEluaXRpYWxQcm9wc2A6ICIsZSksaS5wcm9wcz17fX1yZXR1cm4gaX1jYXRjaChlKXtyZXR1cm4gdGhpcy5oYW5kbGVSb3V0ZUluZm9FcnJvcigoMCxsLmRlZmF1bHQpKGUpP2U6RXJyb3IoZSsiIiksdCxyLG4sbywhMCl9fWFzeW5jIGdldFJvdXRlSW5mbyhlKXtsZXR7cm91dGU6dCxwYXRobmFtZTpyLHF1ZXJ5Om4sYXM6byxyZXNvbHZlZEFzOmkscm91dGVQcm9wczp1LGxvY2FsZTpzLGhhc01pZGRsZXdhcmU6Zixpc1ByZXZpZXc6ZCx1bnN0YWJsZV9za2lwQ2xpZW50Q2FjaGU6cCxpc1F1ZXJ5VXBkYXRpbmc6aCxpc01pZGRsZXdhcmVSZXdyaXRlOm0saXNOb3RGb3VuZDpffT1lLHk9dDt0cnl7dmFyIGIsUCxFLFM7bGV0IGU9dGhpcy5jb21wb25lbnRzW3ldO2lmKHUuc2hhbGxvdyYmZSYmdGhpcy5yb3V0ZT09PXkpcmV0dXJuIGU7bGV0IHQ9eih7cm91dGU6eSxyb3V0ZXI6dGhpc30pO2YmJihlPXZvaWQgMCk7bGV0IGw9IWV8fCJpbml0aWFsImluIGU/dm9pZCAwOmUsTz17ZGF0YUhyZWY6dGhpcy5wYWdlTG9hZGVyLmdldERhdGFIcmVmKHtocmVmOigwLGcuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHtwYXRobmFtZTpyLHF1ZXJ5Om59KSxza2lwSW50ZXJwb2xhdGlvbjohMCxhc1BhdGg6Xz8iLzQwNCI6aSxsb2NhbGU6c30pLGhhc01pZGRsZXdhcmU6ITAsaXNTZXJ2ZXJSZW5kZXI6dGhpcy5pc1NzcixwYXJzZUpTT046ITAsaW5mbGlnaHRDYWNoZTpoP3RoaXMuc2JjOnRoaXMuc2RjLHBlcnNpc3RDYWNoZTohZCxpc1ByZWZldGNoOiExLHVuc3RhYmxlX3NraXBDbGllbnRDYWNoZTpwLGlzQmFja2dyb3VuZDpofSx3PWgmJiFtP251bGw6YXdhaXQgRih7ZmV0Y2hEYXRhOigpPT5XKE8pLGFzUGF0aDpfPyIvNDA0IjppLGxvY2FsZTpzLHJvdXRlcjp0aGlzfSkuY2F0Y2goZT0+e2lmKGgpcmV0dXJuIG51bGw7dGhyb3cgZX0pO2lmKHcmJigiL19lcnJvciI9PT1yfHwiLzQwNCI9PT1yKSYmKHcuZWZmZWN0PXZvaWQgMCksaCYmKHc/dy5qc29uPXNlbGYuX19ORVhUX0RBVEFfXy5wcm9wczp3PXtqc29uOnNlbGYuX19ORVhUX0RBVEFfXy5wcm9wc30pLHQoKSwobnVsbD09dz92b2lkIDA6bnVsbD09KGI9dy5lZmZlY3QpP3ZvaWQgMDpiLnR5cGUpPT09InJlZGlyZWN0LWludGVybmFsInx8KG51bGw9PXc/dm9pZCAwOm51bGw9PShQPXcuZWZmZWN0KT92b2lkIDA6UC50eXBlKT09PSJyZWRpcmVjdC1leHRlcm5hbCIpcmV0dXJuIHcuZWZmZWN0O2lmKChudWxsPT13P3ZvaWQgMDpudWxsPT0oRT13LmVmZmVjdCk/dm9pZCAwOkUudHlwZSk9PT0icmV3cml0ZSIpe2xldCB0PSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkody5lZmZlY3QucmVzb2x2ZWRIcmVmKSxvPWF3YWl0IHRoaXMucGFnZUxvYWRlci5nZXRQYWdlTGlzdCgpO2lmKCghaHx8by5pbmNsdWRlcyh0KSkmJih5PXQscj13LmVmZmVjdC5yZXNvbHZlZEhyZWYsbj17Li4ubiwuLi53LmVmZmVjdC5wYXJzZWRBcy5xdWVyeX0saT0oMCx2LnJlbW92ZUJhc2VQYXRoKSgoMCxjLm5vcm1hbGl6ZUxvY2FsZVBhdGgpKHcuZWZmZWN0LnBhcnNlZEFzLnBhdGhuYW1lLHRoaXMubG9jYWxlcykucGF0aG5hbWUpLGU9dGhpcy5jb21wb25lbnRzW3ldLHUuc2hhbGxvdyYmZSYmdGhpcy5yb3V0ZT09PXkmJiFmKSlyZXR1cm57Li4uZSxyb3V0ZTp5fX1pZigoMCxqLmlzQVBJUm91dGUpKHkpKXJldHVybiBHKHt1cmw6byxyb3V0ZXI6dGhpc30pLG5ldyBQcm9taXNlKCgpPT57fSk7bGV0IFI9bHx8YXdhaXQgdGhpcy5mZXRjaENvbXBvbmVudCh5KS50aGVuKGU9Pih7Q29tcG9uZW50OmUucGFnZSxzdHlsZVNoZWV0czplLnN0eWxlU2hlZXRzLF9fTl9TU0c6ZS5tb2QuX19OX1NTRyxfX05fU1NQOmUubW9kLl9fTl9TU1B9KSksVD1udWxsPT13P3ZvaWQgMDpudWxsPT0oUz13LnJlc3BvbnNlKT92b2lkIDA6Uy5oZWFkZXJzLmdldCgieC1taWRkbGV3YXJlLXNraXAiKSxNPVIuX19OX1NTR3x8Ui5fX05fU1NQO1QmJihudWxsPT13P3ZvaWQgMDp3LmRhdGFIcmVmKSYmZGVsZXRlIHRoaXMuc2RjW3cuZGF0YUhyZWZdO2xldHtwcm9wczp4LGNhY2hlS2V5Okl9PWF3YWl0IHRoaXMuX2dldERhdGEoYXN5bmMoKT0+e2lmKE0pe2lmKChudWxsPT13P3ZvaWQgMDp3Lmpzb24pJiYhVClyZXR1cm57Y2FjaGVLZXk6dy5jYWNoZUtleSxwcm9wczp3Lmpzb259O2xldCBlPShudWxsPT13P3ZvaWQgMDp3LmRhdGFIcmVmKT93LmRhdGFIcmVmOnRoaXMucGFnZUxvYWRlci5nZXREYXRhSHJlZih7aHJlZjooMCxnLmZvcm1hdFdpdGhWYWxpZGF0aW9uKSh7cGF0aG5hbWU6cixxdWVyeTpufSksYXNQYXRoOmksbG9jYWxlOnN9KSx0PWF3YWl0IFcoe2RhdGFIcmVmOmUsaXNTZXJ2ZXJSZW5kZXI6dGhpcy5pc1NzcixwYXJzZUpTT046ITAsaW5mbGlnaHRDYWNoZTpUP3t9OnRoaXMuc2RjLHBlcnNpc3RDYWNoZTohZCxpc1ByZWZldGNoOiExLHVuc3RhYmxlX3NraXBDbGllbnRDYWNoZTpwfSk7cmV0dXJue2NhY2hlS2V5OnQuY2FjaGVLZXkscHJvcHM6dC5qc29ufHx7fX19cmV0dXJue2hlYWRlcnM6e30scHJvcHM6YXdhaXQgdGhpcy5nZXRJbml0aWFsUHJvcHMoUi5Db21wb25lbnQse3BhdGhuYW1lOnIscXVlcnk6bixhc1BhdGg6byxsb2NhbGU6cyxsb2NhbGVzOnRoaXMubG9jYWxlcyxkZWZhdWx0TG9jYWxlOnRoaXMuZGVmYXVsdExvY2FsZX0pfX0pO3JldHVybiBSLl9fTl9TU1AmJk8uZGF0YUhyZWYmJkkmJmRlbGV0ZSB0aGlzLnNkY1tJXSx0aGlzLmlzUHJldmlld3x8IVIuX19OX1NTR3x8aHx8VyhPYmplY3QuYXNzaWduKHt9LE8se2lzQmFja2dyb3VuZDohMCxwZXJzaXN0Q2FjaGU6ITEsaW5mbGlnaHRDYWNoZTp0aGlzLnNiY30pKS5jYXRjaCgoKT0+e30pLHgucGFnZVByb3BzPU9iamVjdC5hc3NpZ24oe30seC5wYWdlUHJvcHMpLFIucHJvcHM9eCxSLnJvdXRlPXksUi5xdWVyeT1uLFIucmVzb2x2ZWRBcz1pLHRoaXMuY29tcG9uZW50c1t5XT1SLFJ9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuaGFuZGxlUm91dGVJbmZvRXJyb3IoKDAsbC5nZXRQcm9wZXJFcnJvcikoZSkscixuLG8sdSl9fXNldChlLHQscil7cmV0dXJuIHRoaXMuc3RhdGU9ZSx0aGlzLnN1Yih0LHRoaXMuY29tcG9uZW50c1siL19hcHAiXS5Db21wb25lbnQscil9YmVmb3JlUG9wU3RhdGUoZSl7dGhpcy5fYnBzPWV9b25seUFIYXNoQ2hhbmdlKGUpe2lmKCF0aGlzLmFzUGF0aClyZXR1cm4hMTtsZXRbdCxyXT10aGlzLmFzUGF0aC5zcGxpdCgiIyIsMiksW24sb109ZS5zcGxpdCgiIyIsMik7cmV0dXJuISFvJiZ0PT09biYmcj09PW98fHQ9PT1uJiZyIT09b31zY3JvbGxUb0hhc2goZSl7bGV0Wyx0PSIiXT1lLnNwbGl0KCIjIiwyKTsoMCxBLmhhbmRsZVNtb290aFNjcm9sbCkoKCk9PntpZigiIj09PXR8fCJ0b3AiPT09dCl7d2luZG93LnNjcm9sbFRvKDAsMCk7cmV0dXJufWxldCBlPWRlY29kZVVSSUNvbXBvbmVudCh0KSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpO2lmKHIpe3Iuc2Nyb2xsSW50b1ZpZXcoKTtyZXR1cm59bGV0IG49ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoZSlbMF07biYmbi5zY3JvbGxJbnRvVmlldygpfSx7b25seUhhc2hDaGFuZ2U6dGhpcy5vbmx5QUhhc2hDaGFuZ2UoZSl9KX11cmxJc05ldyhlKXtyZXR1cm4gdGhpcy5hc1BhdGghPT1lfWFzeW5jIHByZWZldGNoKGUsdCxyKXtpZih2b2lkIDA9PT10JiYodD1lKSx2b2lkIDA9PT1yJiYocj17fSksKDAseC5pc0JvdCkod2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQpKXJldHVybjtsZXQgbj0oMCxoLnBhcnNlUmVsYXRpdmVVcmwpKGUpLG89bi5wYXRobmFtZSx7cGF0aG5hbWU6aSxxdWVyeTp1fT1uLGw9aSxzPWF3YWl0IHRoaXMucGFnZUxvYWRlci5nZXRQYWdlTGlzdCgpLGM9dCxmPXZvaWQgMCE9PXIubG9jYWxlP3IubG9jYWxlfHx2b2lkIDA6dGhpcy5sb2NhbGUsZD1hd2FpdCBOKHthc1BhdGg6dCxsb2NhbGU6Zixyb3V0ZXI6dGhpc30pO24ucGF0aG5hbWU9VShuLnBhdGhuYW1lLHMpLCgwLHAuaXNEeW5hbWljUm91dGUpKG4ucGF0aG5hbWUpJiYoaT1uLnBhdGhuYW1lLG4ucGF0aG5hbWU9aSxPYmplY3QuYXNzaWduKHUsKDAsbS5nZXRSb3V0ZU1hdGNoZXIpKCgwLF8uZ2V0Um91dGVSZWdleCkobi5wYXRobmFtZSkpKCgwLHkucGFyc2VQYXRoKSh0KS5wYXRobmFtZSl8fHt9KSxkfHwoZT0oMCxnLmZvcm1hdFdpdGhWYWxpZGF0aW9uKShuKSkpO2xldCBiPWF3YWl0IEYoe2ZldGNoRGF0YTooKT0+Vyh7ZGF0YUhyZWY6dGhpcy5wYWdlTG9hZGVyLmdldERhdGFIcmVmKHtocmVmOigwLGcuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHtwYXRobmFtZTpsLHF1ZXJ5OnV9KSxza2lwSW50ZXJwb2xhdGlvbjohMCxhc1BhdGg6Yyxsb2NhbGU6Zn0pLGhhc01pZGRsZXdhcmU6ITAsaXNTZXJ2ZXJSZW5kZXI6ITEscGFyc2VKU09OOiEwLGluZmxpZ2h0Q2FjaGU6dGhpcy5zZGMscGVyc2lzdENhY2hlOiF0aGlzLmlzUHJldmlldyxpc1ByZWZldGNoOiEwfSksYXNQYXRoOnQsbG9jYWxlOmYscm91dGVyOnRoaXN9KTtpZigobnVsbD09Yj92b2lkIDA6Yi5lZmZlY3QudHlwZSk9PT0icmV3cml0ZSImJihuLnBhdGhuYW1lPWIuZWZmZWN0LnJlc29sdmVkSHJlZixpPWIuZWZmZWN0LnJlc29sdmVkSHJlZix1PXsuLi51LC4uLmIuZWZmZWN0LnBhcnNlZEFzLnF1ZXJ5fSxjPWIuZWZmZWN0LnBhcnNlZEFzLnBhdGhuYW1lLGU9KDAsZy5mb3JtYXRXaXRoVmFsaWRhdGlvbikobikpLChudWxsPT1iP3ZvaWQgMDpiLmVmZmVjdC50eXBlKT09PSJyZWRpcmVjdC1leHRlcm5hbCIpcmV0dXJuO2xldCBQPSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoaSk7YXdhaXQgdGhpcy5fYmZsKHQsYyxyLmxvY2FsZSwhMCkmJih0aGlzLmNvbXBvbmVudHNbb109e19fYXBwUm91dGVyOiEwfSksYXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMucGFnZUxvYWRlci5faXNTc2coUCkudGhlbih0PT4hIXQmJlcoe2RhdGFIcmVmOihudWxsPT1iP3ZvaWQgMDpiLmpzb24pP251bGw9PWI/dm9pZCAwOmIuZGF0YUhyZWY6dGhpcy5wYWdlTG9hZGVyLmdldERhdGFIcmVmKHtocmVmOmUsYXNQYXRoOmMsbG9jYWxlOmZ9KSxpc1NlcnZlclJlbmRlcjohMSxwYXJzZUpTT046ITAsaW5mbGlnaHRDYWNoZTp0aGlzLnNkYyxwZXJzaXN0Q2FjaGU6IXRoaXMuaXNQcmV2aWV3LGlzUHJlZmV0Y2g6ITAsdW5zdGFibGVfc2tpcENsaWVudENhY2hlOnIudW5zdGFibGVfc2tpcENsaWVudENhY2hlfHxyLnByaW9yaXR5JiYhMH0pLnRoZW4oKCk9PiExKS5jYXRjaCgoKT0+ITEpKSx0aGlzLnBhZ2VMb2FkZXJbci5wcmlvcml0eT8ibG9hZFBhZ2UiOiJwcmVmZXRjaCJdKFApXSl9YXN5bmMgZmV0Y2hDb21wb25lbnQoZSl7bGV0IHQ9eih7cm91dGU6ZSxyb3V0ZXI6dGhpc30pO3RyeXtsZXQgcj1hd2FpdCB0aGlzLnBhZ2VMb2FkZXIubG9hZFBhZ2UoZSk7cmV0dXJuIHQoKSxyfWNhdGNoKGUpe3Rocm93IHQoKSxlfX1fZ2V0RGF0YShlKXtsZXQgdD0hMSxyPSgpPT57dD0hMH07cmV0dXJuIHRoaXMuY2xjPXIsZSgpLnRoZW4oZT0+e2lmKHI9PT10aGlzLmNsYyYmKHRoaXMuY2xjPW51bGwpLHQpe2xldCBlPUVycm9yKCJMb2FkaW5nIGluaXRpYWwgcHJvcHMgY2FuY2VsbGVkIik7dGhyb3cgZS5jYW5jZWxsZWQ9ITAsZX1yZXR1cm4gZX0pfV9nZXRGbGlnaHREYXRhKGUpe3JldHVybiBXKHtkYXRhSHJlZjplLGlzU2VydmVyUmVuZGVyOiEwLHBhcnNlSlNPTjohMSxpbmZsaWdodENhY2hlOnRoaXMuc2RjLHBlcnNpc3RDYWNoZTohMSxpc1ByZWZldGNoOiExfSkudGhlbihlPT57bGV0e3RleHQ6dH09ZTtyZXR1cm57ZGF0YTp0fX0pfWdldEluaXRpYWxQcm9wcyhlLHQpe2xldHtDb21wb25lbnQ6cn09dGhpcy5jb21wb25lbnRzWyIvX2FwcCJdLG49dGhpcy5fd3JhcEFwcChyKTtyZXR1cm4gdC5BcHBUcmVlPW4sKDAsZC5sb2FkR2V0SW5pdGlhbFByb3BzKShyLHtBcHBUcmVlOm4sQ29tcG9uZW50OmUscm91dGVyOnRoaXMsY3R4OnR9KX1nZXQgcm91dGUoKXtyZXR1cm4gdGhpcy5zdGF0ZS5yb3V0ZX1nZXQgcGF0aG5hbWUoKXtyZXR1cm4gdGhpcy5zdGF0ZS5wYXRobmFtZX1nZXQgcXVlcnkoKXtyZXR1cm4gdGhpcy5zdGF0ZS5xdWVyeX1nZXQgYXNQYXRoKCl7cmV0dXJuIHRoaXMuc3RhdGUuYXNQYXRofWdldCBsb2NhbGUoKXtyZXR1cm4gdGhpcy5zdGF0ZS5sb2NhbGV9Z2V0IGlzRmFsbGJhY2soKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc0ZhbGxiYWNrfWdldCBpc1ByZXZpZXcoKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc1ByZXZpZXd9Y29uc3RydWN0b3IoZSx0LG4se2luaXRpYWxQcm9wczpvLHBhZ2VMb2FkZXI6aSxBcHA6dSx3cmFwQXBwOmwsQ29tcG9uZW50OnMsZXJyOmMsc3Vic2NyaXB0aW9uOmYsaXNGYWxsYmFjazptLGxvY2FsZTpfLGxvY2FsZXM6eSxkZWZhdWx0TG9jYWxlOmIsZG9tYWluTG9jYWxlczpQLGlzUHJldmlldzp2fSl7dGhpcy5zZGM9e30sdGhpcy5zYmM9e30sdGhpcy5pc0ZpcnN0UG9wU3RhdGVFdmVudD0hMCx0aGlzLl9rZXk9cSgpLHRoaXMub25Qb3BTdGF0ZT1lPT57bGV0IHQ7bGV0e2lzRmlyc3RQb3BTdGF0ZUV2ZW50OnJ9PXRoaXM7dGhpcy5pc0ZpcnN0UG9wU3RhdGVFdmVudD0hMTtsZXQgbj1lLnN0YXRlO2lmKCFuKXtsZXR7cGF0aG5hbWU6ZSxxdWVyeTp0fT10aGlzO3RoaXMuY2hhbmdlU3RhdGUoInJlcGxhY2VTdGF0ZSIsKDAsZy5mb3JtYXRXaXRoVmFsaWRhdGlvbikoe3BhdGhuYW1lOigwLEUuYWRkQmFzZVBhdGgpKGUpLHF1ZXJ5OnR9KSwoMCxkLmdldFVSTCkoKSk7cmV0dXJufWlmKG4uX19OQSl7d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1pZighbi5fX058fHImJnRoaXMubG9jYWxlPT09bi5vcHRpb25zLmxvY2FsZSYmbi5hcz09PXRoaXMuYXNQYXRoKXJldHVybjtsZXR7dXJsOm8sYXM6YSxvcHRpb25zOmksa2V5OnV9PW47dGhpcy5fa2V5PXU7bGV0e3BhdGhuYW1lOmx9PSgwLGgucGFyc2VSZWxhdGl2ZVVybCkobyk7KCF0aGlzLmlzU3NyfHxhIT09KDAsRS5hZGRCYXNlUGF0aCkodGhpcy5hc1BhdGgpfHxsIT09KDAsRS5hZGRCYXNlUGF0aCkodGhpcy5wYXRobmFtZSkpJiYoIXRoaXMuX2Jwc3x8dGhpcy5fYnBzKG4pKSYmdGhpcy5jaGFuZ2UoInJlcGxhY2VTdGF0ZSIsbyxhLE9iamVjdC5hc3NpZ24oe30saSx7c2hhbGxvdzppLnNoYWxsb3cmJnRoaXMuX3NoYWxsb3csbG9jYWxlOmkubG9jYWxlfHx0aGlzLmRlZmF1bHRMb2NhbGUsX2g6MH0pLHQpfTtsZXQgUz0oMCxhLnJlbW92ZVRyYWlsaW5nU2xhc2gpKGUpO3RoaXMuY29tcG9uZW50cz17fSwiL19lcnJvciIhPT1lJiYodGhpcy5jb21wb25lbnRzW1NdPXtDb21wb25lbnQ6cyxpbml0aWFsOiEwLHByb3BzOm8sZXJyOmMsX19OX1NTRzpvJiZvLl9fTl9TU0csX19OX1NTUDpvJiZvLl9fTl9TU1B9KSx0aGlzLmNvbXBvbmVudHNbIi9fYXBwIl09e0NvbXBvbmVudDp1LHN0eWxlU2hlZXRzOltdfTt7bGV0e0Jsb29tRmlsdGVyOmV9PXIoNDI5ODkpLHQ9e251bUl0ZW1zOjAsZXJyb3JSYXRlOjFlLTQsbnVtQml0czowLG51bUhhc2hlczpudWxsLGJpdEFycmF5OltdfSxuPXtudW1JdGVtczowLGVycm9yUmF0ZToxZS00LG51bUJpdHM6MCxudW1IYXNoZXM6bnVsbCxiaXRBcnJheTpbXX07KG51bGw9PXQ/dm9pZCAwOnQubnVtSGFzaGVzKSYmKHRoaXMuX2JmbF9zPW5ldyBlKHQubnVtSXRlbXMsdC5lcnJvclJhdGUpLHRoaXMuX2JmbF9zLmltcG9ydCh0KSksKG51bGw9PW4/dm9pZCAwOm4ubnVtSGFzaGVzKSYmKHRoaXMuX2JmbF9kPW5ldyBlKG4ubnVtSXRlbXMsbi5lcnJvclJhdGUpLHRoaXMuX2JmbF9kLmltcG9ydChuKSl9dGhpcy5ldmVudHM9Vi5ldmVudHMsdGhpcy5wYWdlTG9hZGVyPWk7bGV0IE89KDAscC5pc0R5bmFtaWNSb3V0ZSkoZSkmJnNlbGYuX19ORVhUX0RBVEFfXy5hdXRvRXhwb3J0O2lmKHRoaXMuYmFzZVBhdGg9IiIsdGhpcy5zdWI9Zix0aGlzLmNsYz1udWxsLHRoaXMuX3dyYXBBcHA9bCx0aGlzLmlzU3NyPSEwLHRoaXMuaXNMb2NhbGVEb21haW49ITEsdGhpcy5pc1JlYWR5PSEhKHNlbGYuX19ORVhUX0RBVEFfXy5nc3NwfHxzZWxmLl9fTkVYVF9EQVRBX18uZ2lwfHxzZWxmLl9fTkVYVF9EQVRBX18uaXNFeHBlcmltZW50YWxDb21waWxlfHxzZWxmLl9fTkVYVF9EQVRBX18uYXBwR2lwJiYhc2VsZi5fX05FWFRfREFUQV9fLmdzcHx8IU8mJiFzZWxmLmxvY2F0aW9uLnNlYXJjaCksdGhpcy5zdGF0ZT17cm91dGU6UyxwYXRobmFtZTplLHF1ZXJ5OnQsYXNQYXRoOk8/ZTpuLGlzUHJldmlldzohIXYsbG9jYWxlOnZvaWQgMCxpc0ZhbGxiYWNrOm19LHRoaXMuX2luaXRpYWxNYXRjaGVzTWlkZGxld2FyZVByb21pc2U9UHJvbWlzZS5yZXNvbHZlKCExKSwhbi5zdGFydHNXaXRoKCIvLyIpKXtsZXQgcj17bG9jYWxlOl99LG89KDAsZC5nZXRVUkwpKCk7dGhpcy5faW5pdGlhbE1hdGNoZXNNaWRkbGV3YXJlUHJvbWlzZT1OKHtyb3V0ZXI6dGhpcyxsb2NhbGU6Xyxhc1BhdGg6b30pLnRoZW4oYT0+KHIuX3Nob3VsZFJlc29sdmVIcmVmPW4hPT1lLHRoaXMuY2hhbmdlU3RhdGUoInJlcGxhY2VTdGF0ZSIsYT9vOigwLGcuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHtwYXRobmFtZTooMCxFLmFkZEJhc2VQYXRoKShlKSxxdWVyeTp0fSksbyxyKSxhKSl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLm9uUG9wU3RhdGUpfX1WLmV2ZW50cz0oMCxmLmRlZmF1bHQpKCl9LDM5MTM6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImFkZExvY2FsZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49cig0NjI4Niksbz1yKDY2Nzc3KTtmdW5jdGlvbiBhKGUsdCxyLGEpe2lmKCF0fHx0PT09cilyZXR1cm4gZTtsZXQgaT1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIWEmJigoMCxvLnBhdGhIYXNQcmVmaXgpKGksIi9hcGkiKXx8KDAsby5wYXRoSGFzUHJlZml4KShpLCIvIit0LnRvTG93ZXJDYXNlKCkpKT9lOigwLG4uYWRkUGF0aFByZWZpeCkoZSwiLyIrdCl9fSw0NjI4NjpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiYWRkUGF0aFByZWZpeCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49cig5MjEyMik7ZnVuY3Rpb24gbyhlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6byxoYXNoOmF9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4iIit0K3IrbythfX0sNTQ1NTE6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImFkZFBhdGhTdWZmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPXIoOTIxMjIpO2Z1bmN0aW9uIG8oZSx0KXtpZighZS5zdGFydHNXaXRoKCIvIil8fCF0KXJldHVybiBlO2xldHtwYXRobmFtZTpyLHF1ZXJ5Om8saGFzaDphfT0oMCxuLnBhcnNlUGF0aCkoZSk7cmV0dXJuIiIrcit0K28rYX19LDc2NTI1OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscix7ZW51bWVyYWJsZTohMCxnZXQ6dFtyXX0pfSh0LHtub3JtYWxpemVBcHBQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LG5vcm1hbGl6ZVJzY1VSTDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPXIoNjA0MzUpLG89cig2NjQwNik7ZnVuY3Rpb24gYShlKXtyZXR1cm4oMCxuLmVuc3VyZUxlYWRpbmdTbGFzaCkoZS5zcGxpdCgiLyIpLnJlZHVjZSgoZSx0LHIsbik9PiF0fHwoMCxvLmlzR3JvdXBTZWdtZW50KSh0KXx8IkAiPT09dFswXXx8KCJwYWdlIj09PXR8fCJyb3V0ZSI9PT10KSYmcj09PW4ubGVuZ3RoLTE/ZTplKyIvIit0LCIiKSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gZS5yZXBsYWNlKC9cLnJzYygkfFw/KS8sIiQxIil9fSw3NDY1NjpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBuZXcgVVJMKGUsImh0dHA6Ly9uIikuc2VhcmNoUGFyYW1zfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiYXNQYXRoVG9TZWFyY2hQYXJhbXMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pfSw3MjE5MjpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7bGV0IHI9T2JqZWN0LmtleXMoZSk7aWYoci5sZW5ndGghPT1PYmplY3Qua2V5cyh0KS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBuPXIubGVuZ3RoO24tLTspe2xldCBvPXJbbl07aWYoInF1ZXJ5Ij09PW8pe2xldCByPU9iamVjdC5rZXlzKGUucXVlcnkpO2lmKHIubGVuZ3RoIT09T2JqZWN0LmtleXModC5xdWVyeSkubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgbj1yLmxlbmd0aDtuLS07KXtsZXQgbz1yW25dO2lmKCF0LnF1ZXJ5Lmhhc093blByb3BlcnR5KG8pfHxlLnF1ZXJ5W29dIT09dC5xdWVyeVtvXSlyZXR1cm4hMX19ZWxzZSBpZighdC5oYXNPd25Qcm9wZXJ0eShvKXx8ZVtvXSE9PXRbb10pcmV0dXJuITF9cmV0dXJuITB9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJjb21wYXJlUm91dGVyU3RhdGVzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sODk0Njc6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImZvcm1hdE5leHRQYXRobmFtZUluZm8iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB1fX0pO2xldCBuPXIoMzI2NTcpLG89cig0NjI4NiksYT1yKDU0NTUxKSxpPXIoMzkxMyk7ZnVuY3Rpb24gdShlKXtsZXQgdD0oMCxpLmFkZExvY2FsZSkoZS5wYXRobmFtZSxlLmxvY2FsZSxlLmJ1aWxkSWQ/dm9pZCAwOmUuZGVmYXVsdExvY2FsZSxlLmlnbm9yZVByZWZpeCk7cmV0dXJuKGUuYnVpbGRJZHx8IWUudHJhaWxpbmdTbGFzaCkmJih0PSgwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCkpLGUuYnVpbGRJZCYmKHQ9KDAsYS5hZGRQYXRoU3VmZml4KSgoMCxvLmFkZFBhdGhQcmVmaXgpKHQsIi9fbmV4dC9kYXRhLyIrZS5idWlsZElkKSwiLyI9PT1lLnBhdGhuYW1lPyJpbmRleC5qc29uIjoiLmpzb24iKSksdD0oMCxvLmFkZFBhdGhQcmVmaXgpKHQsZS5iYXNlUGF0aCksIWUuYnVpbGRJZCYmZS50cmFpbGluZ1NsYXNoP3QuZW5kc1dpdGgoIi8iKT90OigwLGEuYWRkUGF0aFN1ZmZpeCkodCwiLyIpOigwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9fSw0ODA0MTpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7Zm9ybWF0VXJsOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGZvcm1hdFdpdGhWYWxpZGF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHVybE9iamVjdEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtsZXQgbj1yKDYxNzU3KS5fKHIoMTk3MzApKSxvPS9odHRwcz98ZnRwfGdvcGhlcnxmaWxlLztmdW5jdGlvbiBhKGUpe2xldHthdXRoOnQsaG9zdG5hbWU6cn09ZSxhPWUucHJvdG9jb2x8fCIiLGk9ZS5wYXRobmFtZXx8IiIsdT1lLmhhc2h8fCIiLGw9ZS5xdWVyeXx8IiIscz0hMTt0PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoLyUzQS9pLCI6IikrIkAiOiIiLGUuaG9zdD9zPXQrZS5ob3N0OnImJihzPXQrKH5yLmluZGV4T2YoIjoiKT8iWyIrcisiXSI6ciksZS5wb3J0JiYocys9IjoiK2UucG9ydCkpLGwmJiJvYmplY3QiPT10eXBlb2YgbCYmKGw9U3RyaW5nKG4udXJsUXVlcnlUb1NlYXJjaFBhcmFtcyhsKSkpO2xldCBjPWUuc2VhcmNofHxsJiYiPyIrbHx8IiI7cmV0dXJuIGEmJiFhLmVuZHNXaXRoKCI6IikmJihhKz0iOiIpLGUuc2xhc2hlc3x8KCFhfHxvLnRlc3QoYSkpJiYhMSE9PXM/KHM9Ii8vIisoc3x8IiIpLGkmJiIvIiE9PWlbMF0mJihpPSIvIitpKSk6c3x8KHM9IiIpLHUmJiIjIiE9PXVbMF0mJih1PSIjIit1KSxjJiYiPyIhPT1jWzBdJiYoYz0iPyIrYyksIiIrYStzKyhpPWkucmVwbGFjZSgvWz8jXS9nLGVuY29kZVVSSUNvbXBvbmVudCkpKyhjPWMucmVwbGFjZSgiIyIsIiUyMyIpKSt1fWxldCBpPVsiYXV0aCIsImhhc2giLCJob3N0IiwiaG9zdG5hbWUiLCJocmVmIiwicGF0aCIsInBhdGhuYW1lIiwicG9ydCIsInByb3RvY29sIiwicXVlcnkiLCJzZWFyY2giLCJzbGFzaGVzIl07ZnVuY3Rpb24gdShlKXtyZXR1cm4gYShlKX19LDM3ODIzOmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9IiIpLCgiLyI9PT1lPyIvaW5kZXgiOi9eXC9pbmRleChcL3wkKS8udGVzdChlKT8iL2luZGV4IitlOmUpK3R9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sNDY1MDQ6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldE5leHRQYXRobmFtZUluZm8iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPXIoNTQxNjUpLG89cig0MDQ5NyksYT1yKDY2Nzc3KTtmdW5jdGlvbiBpKGUsdCl7dmFyIHIsaTtsZXR7YmFzZVBhdGg6dSxpMThuOmwsdHJhaWxpbmdTbGFzaDpzfT1udWxsIT0ocj10Lm5leHRDb25maWcpP3I6e30sYz17cGF0aG5hbWU6ZSx0cmFpbGluZ1NsYXNoOiIvIiE9PWU/ZS5lbmRzV2l0aCgiLyIpOnN9O3UmJigwLGEucGF0aEhhc1ByZWZpeCkoYy5wYXRobmFtZSx1KSYmKGMucGF0aG5hbWU9KDAsby5yZW1vdmVQYXRoUHJlZml4KShjLnBhdGhuYW1lLHUpLGMuYmFzZVBhdGg9dSk7bGV0IGY9Yy5wYXRobmFtZTtpZihjLnBhdGhuYW1lLnN0YXJ0c1dpdGgoIi9fbmV4dC9kYXRhLyIpJiZjLnBhdGhuYW1lLmVuZHNXaXRoKCIuanNvbiIpKXtsZXQgZT1jLnBhdGhuYW1lLnJlcGxhY2UoL15cL19uZXh0XC9kYXRhXC8vLCIiKS5yZXBsYWNlKC9cLmpzb24kLywiIikuc3BsaXQoIi8iKSxyPWVbMF07Yy5idWlsZElkPXIsZj0iaW5kZXgiIT09ZVsxXT8iLyIrZS5zbGljZSgxKS5qb2luKCIvIik6Ii8iLCEwPT09dC5wYXJzZURhdGEmJihjLnBhdGhuYW1lPWYpfWlmKGwpe2xldCBlPXQuaTE4blByb3ZpZGVyP3QuaTE4blByb3ZpZGVyLmFuYWx5emUoYy5wYXRobmFtZSk6KDAsbi5ub3JtYWxpemVMb2NhbGVQYXRoKShjLnBhdGhuYW1lLGwubG9jYWxlcyk7Yy5sb2NhbGU9ZS5kZXRlY3RlZExvY2FsZSxjLnBhdGhuYW1lPW51bGwhPShpPWUucGF0aG5hbWUpP2k6Yy5wYXRobmFtZSwhZS5kZXRlY3RlZExvY2FsZSYmYy5idWlsZElkJiYoZT10LmkxOG5Qcm92aWRlcj90LmkxOG5Qcm92aWRlci5hbmFseXplKGYpOigwLG4ubm9ybWFsaXplTG9jYWxlUGF0aCkoZixsLmxvY2FsZXMpKS5kZXRlY3RlZExvY2FsZSYmKGMubG9jYWxlPWUuZGV0ZWN0ZWRMb2NhbGUpfXJldHVybiBjfX0sNTA2MzE6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe2lmKHZvaWQgMD09PXQmJih0PXt9KSx0Lm9ubHlIYXNoQ2hhbmdlKXtlKCk7cmV0dXJufWxldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuPXIuc3R5bGUuc2Nyb2xsQmVoYXZpb3I7ci5zdHlsZS5zY3JvbGxCZWhhdmlvcj0iYXV0byIsdC5kb250Rm9yY2VMYXlvdXR8fHIuZ2V0Q2xpZW50UmVjdHMoKSxlKCksci5zdHlsZS5zY3JvbGxCZWhhdmlvcj1ufU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaGFuZGxlU21vb3RoU2Nyb2xsIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sNzkwNjI6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2dldFNvcnRlZFJvdXRlczpmdW5jdGlvbigpe3JldHVybiBuLmdldFNvcnRlZFJvdXRlc30saXNEeW5hbWljUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gby5pc0R5bmFtaWNSb3V0ZX19KTtsZXQgbj1yKDQ3MzgwKSxvPXIoOTkzNil9LDkxNDE3OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJpbnRlcnBvbGF0ZUFzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1yKDM0NzE0KSxvPXIoNjgzMzApO2Z1bmN0aW9uIGEoZSx0LHIpe2xldCBhPSIiLGk9KDAsby5nZXRSb3V0ZVJlZ2V4KShlKSx1PWkuZ3JvdXBzLGw9KHQhPT1lPygwLG4uZ2V0Um91dGVNYXRjaGVyKShpKSh0KToiIil8fHI7YT1lO2xldCBzPU9iamVjdC5rZXlzKHUpO3JldHVybiBzLmV2ZXJ5KGU9PntsZXQgdD1sW2VdfHwiIix7cmVwZWF0OnIsb3B0aW9uYWw6bn09dVtlXSxvPSJbIisocj8iLi4uIjoiIikrZSsiXSI7cmV0dXJuIG4mJihvPSh0PyIiOiIvIikrIlsiK28rIl0iKSxyJiYhQXJyYXkuaXNBcnJheSh0KSYmKHQ9W3RdKSwobnx8ZSBpbiBsKSYmKGE9YS5yZXBsYWNlKG8scj90Lm1hcChlPT5lbmNvZGVVUklDb21wb25lbnQoZSkpLmpvaW4oIi8iKTplbmNvZGVVUklDb21wb25lbnQodCkpfHwiLyIpfSl8fChhPSIiKSx7cGFyYW1zOnMscmVzdWx0OmF9fX0sNjk4ODg6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4vR29vZ2xlYm90fE1lZGlhcGFydG5lcnMtR29vZ2xlfEFkc0JvdC1Hb29nbGV8Z29vZ2xld2VibGlnaHR8U3RvcmVib3QtR29vZ2xlfEdvb2dsZS1QYWdlUmVuZGVyZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xTbHVycHxEdWNrRHVja0JvdHxiYWlkdXNwaWRlcnx5YW5kZXh8c29nb3V8TGlua2VkSW5Cb3R8Yml0bHlib3R8dHVtYmxyfHZrU2hhcmV8cXVvcmEgbGluayBwcmV2aWV3fGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmFjZWJvb2tjYXRhbG9nfFR3aXR0ZXJib3R8YXBwbGVib3R8cmVkZGl0Ym90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fGlhX2FyY2hpdmVyL2kudGVzdChlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlzQm90Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sOTkzNjpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaXNEeW5hbWljUm91dGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPXIoOTI0MDcpLG89L1wvXFtbXi9dKz9cXSg/PVwvfCQpLztmdW5jdGlvbiBhKGUpe3JldHVybigwLG4uaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgpKGUpJiYoZT0oMCxuLmV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKShlKS5pbnRlcmNlcHRlZFJvdXRlKSxvLnRlc3QoZSl9fSw1Mzk1NTpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaXNMb2NhbFVSTCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49cig5OTkwMyksbz1yKDkxMTQ5KTtmdW5jdGlvbiBhKGUpe2lmKCEoMCxuLmlzQWJzb2x1dGVVcmwpKGUpKXJldHVybiEwO3RyeXtsZXQgdD0oMCxuLmdldExvY2F0aW9uT3JpZ2luKSgpLHI9bmV3IFVSTChlLHQpO3JldHVybiByLm9yaWdpbj09PXQmJigwLG8uaGFzQmFzZVBhdGgpKHIucGF0aG5hbWUpfWNhdGNoKGUpe3JldHVybiExfX19LDU3MDg1OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtsZXQgcj17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChuPT57dC5pbmNsdWRlcyhuKXx8KHJbbl09ZVtuXSl9KSxyfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwib21pdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSl9LDkyMTIyOmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7bGV0IHQ9ZS5pbmRleE9mKCIjIikscj1lLmluZGV4T2YoIj8iKSxuPXI+LTEmJih0PDB8fHI8dCk7cmV0dXJuIG58fHQ+LTE/e3BhdGhuYW1lOmUuc3Vic3RyaW5nKDAsbj9yOnQpLHF1ZXJ5Om4/ZS5zdWJzdHJpbmcocix0Pi0xP3Q6dm9pZCAwKToiIixoYXNoOnQ+LTE/ZS5zbGljZSh0KToiIn06e3BhdGhuYW1lOmUscXVlcnk6IiIsaGFzaDoiIn19T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwYXJzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pfSw1MjkxMzpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicGFyc2VSZWxhdGl2ZVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49cig5OTkwMyksbz1yKDE5NzMwKTtmdW5jdGlvbiBhKGUsdCl7bGV0IHI9bmV3IFVSTCgoMCxuLmdldExvY2F0aW9uT3JpZ2luKSgpKSxhPXQ/bmV3IFVSTCh0LHIpOmUuc3RhcnRzV2l0aCgiLiIpP25ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpOnIse3BhdGhuYW1lOmksc2VhcmNoUGFyYW1zOnUsc2VhcmNoOmwsaGFzaDpzLGhyZWY6YyxvcmlnaW46Zn09bmV3IFVSTChlLGEpO2lmKGYhPT1yLm9yaWdpbil0aHJvdyBFcnJvcigiaW52YXJpYW50OiBpbnZhbGlkIHJlbGF0aXZlIFVSTCwgcm91dGVyIHJlY2VpdmVkICIrZSk7cmV0dXJue3BhdGhuYW1lOmkscXVlcnk6KDAsby5zZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KSh1KSxzZWFyY2g6bCxoYXNoOnMsaHJlZjpjLnNsaWNlKHIub3JpZ2luLmxlbmd0aCl9fX0sNjY3Nzc6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInBhdGhIYXNQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPXIoOTIxMjIpO2Z1bmN0aW9uIG8oZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuITE7bGV0e3BhdGhuYW1lOnJ9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4gcj09PXR8fHIuc3RhcnRzV2l0aCh0KyIvIil9fSwxOTczMDpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe2xldCB0PXt9O3JldHVybiBlLmZvckVhY2goKGUscik9Pnt2b2lkIDA9PT10W3JdP3Rbcl09ZTpBcnJheS5pc0FycmF5KHRbcl0pP3Rbcl0ucHVzaChlKTp0W3JdPVt0W3JdLGVdfSksdH1mdW5jdGlvbiBuKGUpe3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKCJudW1iZXIiIT10eXBlb2YgZXx8aXNOYU4oZSkpJiYiYm9vbGVhbiIhPXR5cGVvZiBlPyIiOlN0cmluZyhlKX1mdW5jdGlvbiBvKGUpe2xldCB0PW5ldyBVUkxTZWFyY2hQYXJhbXM7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLmZvckVhY2goZT0+e2xldFtyLG9dPWU7QXJyYXkuaXNBcnJheShvKT9vLmZvckVhY2goZT0+dC5hcHBlbmQocixuKGUpKSk6dC5zZXQocixuKG8pKX0pLHR9ZnVuY3Rpb24gYShlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KHQ+MT90LTE6MCksbj0xO248dDtuKyspcltuLTFdPWFyZ3VtZW50c1tuXTtyZXR1cm4gci5mb3JFYWNoKHQ9PntBcnJheS5mcm9tKHQua2V5cygpKS5mb3JFYWNoKHQ9PmUuZGVsZXRlKHQpKSx0LmZvckVhY2goKHQscik9PmUuYXBwZW5kKHIsdCkpfSksZX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2Fzc2lnbjpmdW5jdGlvbigpe3JldHVybiBhfSxzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gb319KX0sNDA0OTc6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInJlbW92ZVBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPXIoNjY3NzcpO2Z1bmN0aW9uIG8oZSx0KXtpZighKDAsbi5wYXRoSGFzUHJlZml4KShlLHQpKXJldHVybiBlO2xldCByPWUuc2xpY2UodC5sZW5ndGgpO3JldHVybiByLnN0YXJ0c1dpdGgoIi8iKT9yOiIvIityfX0sMzI2NTc6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZS5yZXBsYWNlKC9cLyQvLCIiKXx8Ii8ifU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmVtb3ZlVHJhaWxpbmdTbGFzaCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSl9LDM0NzE0OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJnZXRSb3V0ZU1hdGNoZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPXIoOTk5MDMpO2Z1bmN0aW9uIG8oZSl7bGV0e3JlOnQsZ3JvdXBzOnJ9PWU7cmV0dXJuIGU9PntsZXQgbz10LmV4ZWMoZSk7aWYoIW8pcmV0dXJuITE7bGV0IGE9ZT0+e3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUpfWNhdGNoKGUpe3Rocm93IG5ldyBuLkRlY29kZUVycm9yKCJmYWlsZWQgdG8gZGVjb2RlIHBhcmFtIil9fSxpPXt9O3JldHVybiBPYmplY3Qua2V5cyhyKS5mb3JFYWNoKGU9PntsZXQgdD1yW2VdLG49b1t0LnBvc107dm9pZCAwIT09biYmKGlbZV09fm4uaW5kZXhPZigiLyIpP24uc3BsaXQoIi8iKS5tYXAoZT0+YShlKSk6dC5yZXBlYXQ/W2EobildOmEobikpfSksaX19fSw2ODMzMDpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7Z2V0TmFtZWRNaWRkbGV3YXJlUmVnZXg6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0TmFtZWRSb3V0ZVJlZ2V4OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LGdldFJvdXRlUmVnZXg6ZnVuY3Rpb24oKXtyZXR1cm4gbH0scGFyc2VQYXJhbWV0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtsZXQgbj1yKDkyNDA3KSxvPXIoNTE0MzUpLGE9cigzMjY1Nyk7ZnVuY3Rpb24gaShlKXtsZXQgdD1lLnN0YXJ0c1dpdGgoIlsiKSYmZS5lbmRzV2l0aCgiXSIpO3QmJihlPWUuc2xpY2UoMSwtMSkpO2xldCByPWUuc3RhcnRzV2l0aCgiLi4uIik7cmV0dXJuIHImJihlPWUuc2xpY2UoMykpLHtrZXk6ZSxyZXBlYXQ6cixvcHRpb25hbDp0fX1mdW5jdGlvbiB1KGUpe2xldCB0PSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZSkuc2xpY2UoMSkuc3BsaXQoIi8iKSxyPXt9LHU9MTtyZXR1cm57cGFyYW1ldGVyaXplZFJvdXRlOnQubWFwKGU9PntsZXQgdD1uLklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQodD0+ZS5zdGFydHNXaXRoKHQpKSxhPWUubWF0Y2goL1xbKCg/OlxbLipcXSl8LispXF0vKTtpZih0JiZhKXtsZXR7a2V5OmUsb3B0aW9uYWw6bixyZXBlYXQ6bH09aShhWzFdKTtyZXR1cm4gcltlXT17cG9zOnUrKyxyZXBlYXQ6bCxvcHRpb25hbDpufSwiLyIrKDAsby5lc2NhcGVTdHJpbmdSZWdleHApKHQpKyIoW14vXSs/KSJ9aWYoIWEpcmV0dXJuIi8iKygwLG8uZXNjYXBlU3RyaW5nUmVnZXhwKShlKTt7bGV0e2tleTplLHJlcGVhdDp0LG9wdGlvbmFsOm59PWkoYVsxXSk7cmV0dXJuIHJbZV09e3Bvczp1KysscmVwZWF0OnQsb3B0aW9uYWw6bn0sdD9uPyIoPzovKC4rPykpPyI6Ii8oLis/KSI6Ii8oW14vXSs/KSJ9fSkuam9pbigiIiksZ3JvdXBzOnJ9fWZ1bmN0aW9uIGwoZSl7bGV0e3BhcmFtZXRlcml6ZWRSb3V0ZTp0LGdyb3VwczpyfT11KGUpO3JldHVybntyZTpSZWdFeHAoIl4iK3QrIig/Oi8pPyQiKSxncm91cHM6cn19ZnVuY3Rpb24gcyhlKXtsZXR7aW50ZXJjZXB0aW9uTWFya2VyOnQsZ2V0U2FmZVJvdXRlS2V5OnIsc2VnbWVudDpuLHJvdXRlS2V5czphLGtleVByZWZpeDp1fT1lLHtrZXk6bCxvcHRpb25hbDpzLHJlcGVhdDpjfT1pKG4pLGY9bC5yZXBsYWNlKC9cVy9nLCIiKTt1JiYoZj0iIit1K2YpO2xldCBkPSExOygwPT09Zi5sZW5ndGh8fGYubGVuZ3RoPjMwKSYmKGQ9ITApLGlzTmFOKHBhcnNlSW50KGYuc2xpY2UoMCwxKSkpfHwoZD0hMCksZCYmKGY9cigpKSx1P2FbZl09IiIrdStsOmFbZl09bDtsZXQgcD10PygwLG8uZXNjYXBlU3RyaW5nUmVnZXhwKSh0KToiIjtyZXR1cm4gYz9zPyIoPzovIitwKyIoPzwiK2YrIj4uKz8pKT8iOiIvIitwKyIoPzwiK2YrIj4uKz8pIjoiLyIrcCsiKD88IitmKyI+W14vXSs/KSJ9ZnVuY3Rpb24gYyhlLHQpe2xldCByO2xldCBpPSgwLGEucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZSkuc2xpY2UoMSkuc3BsaXQoIi8iKSx1PShyPTAsKCk9PntsZXQgZT0iIix0PSsrcjtmb3IoO3Q+MDspZSs9U3RyaW5nLmZyb21DaGFyQ29kZSg5NysodC0xKSUyNiksdD1NYXRoLmZsb29yKCh0LTEpLzI2KTtyZXR1cm4gZX0pLGw9e307cmV0dXJue25hbWVkUGFyYW1ldGVyaXplZFJvdXRlOmkubWFwKGU9PntsZXQgcj1uLklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLnNvbWUodD0+ZS5zdGFydHNXaXRoKHQpKSxhPWUubWF0Y2goL1xbKCg/OlxbLipcXSl8LispXF0vKTtpZihyJiZhKXtsZXRbcl09ZS5zcGxpdChhWzBdKTtyZXR1cm4gcyh7Z2V0U2FmZVJvdXRlS2V5OnUsaW50ZXJjZXB0aW9uTWFya2VyOnIsc2VnbWVudDphWzFdLHJvdXRlS2V5czpsLGtleVByZWZpeDp0PyJueHRJIjp2b2lkIDB9KX1yZXR1cm4gYT9zKHtnZXRTYWZlUm91dGVLZXk6dSxzZWdtZW50OmFbMV0scm91dGVLZXlzOmwsa2V5UHJlZml4OnQ/Im54dFAiOnZvaWQgMH0pOiIvIisoMCxvLmVzY2FwZVN0cmluZ1JlZ2V4cCkoZSl9KS5qb2luKCIiKSxyb3V0ZUtleXM6bH19ZnVuY3Rpb24gZihlLHQpe2xldCByPWMoZSx0KTtyZXR1cm57Li4ubChlKSxuYW1lZFJlZ2V4OiJeIityLm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlKyIoPzovKT8kIixyb3V0ZUtleXM6ci5yb3V0ZUtleXN9fWZ1bmN0aW9uIGQoZSx0KXtsZXR7cGFyYW1ldGVyaXplZFJvdXRlOnJ9PXUoZSkse2NhdGNoQWxsOm49ITB9PXQ7aWYoIi8iPT09cilyZXR1cm57bmFtZWRSZWdleDoiXi8iKyhuPyIuKiI6IiIpKyIkIn07bGV0e25hbWVkUGFyYW1ldGVyaXplZFJvdXRlOm99PWMoZSwhMSk7cmV0dXJue25hbWVkUmVnZXg6Il4iK28rKG4/Iig/OigvLiopPykiOiIiKSsiJCJ9fX0sNDczODA6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJnZXRTb3J0ZWRSb3V0ZXMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2NsYXNzIHJ7aW5zZXJ0KGUpe3RoaXMuX2luc2VydChlLnNwbGl0KCIvIikuZmlsdGVyKEJvb2xlYW4pLFtdLCExKX1zbW9vc2goKXtyZXR1cm4gdGhpcy5fc21vb3NoKCl9X3Ntb29zaChlKXt2b2lkIDA9PT1lJiYoZT0iLyIpO2xldCB0PVsuLi50aGlzLmNoaWxkcmVuLmtleXMoKV0uc29ydCgpO251bGwhPT10aGlzLnNsdWdOYW1lJiZ0LnNwbGljZSh0LmluZGV4T2YoIltdIiksMSksbnVsbCE9PXRoaXMucmVzdFNsdWdOYW1lJiZ0LnNwbGljZSh0LmluZGV4T2YoIlsuLi5dIiksMSksbnVsbCE9PXRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUmJnQuc3BsaWNlKHQuaW5kZXhPZigiW1suLi5dXSIpLDEpO2xldCByPXQubWFwKHQ9PnRoaXMuY2hpbGRyZW4uZ2V0KHQpLl9zbW9vc2goIiIrZSt0KyIvIikpLnJlZHVjZSgoZSx0KT0+Wy4uLmUsLi4udF0sW10pO2lmKG51bGwhPT10aGlzLnNsdWdOYW1lJiZyLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoIltdIikuX3Ntb29zaChlKyJbIit0aGlzLnNsdWdOYW1lKyJdLyIpKSwhdGhpcy5wbGFjZWhvbGRlcil7bGV0IHQ9Ii8iPT09ZT8iLyI6ZS5zbGljZSgwLC0xKTtpZihudWxsIT10aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lKXRocm93IEVycm9yKCdZb3UgY2Fubm90IGRlZmluZSBhIHJvdXRlIHdpdGggdGhlIHNhbWUgc3BlY2lmaWNpdHkgYXMgYSBvcHRpb25hbCBjYXRjaC1hbGwgcm91dGUgKCInK3QrJyIgYW5kICInK3QrIltbLi4uIit0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lKyddXSIpLicpO3IudW5zaGlmdCh0KX1yZXR1cm4gbnVsbCE9PXRoaXMucmVzdFNsdWdOYW1lJiZyLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoIlsuLi5dIikuX3Ntb29zaChlKyJbLi4uIit0aGlzLnJlc3RTbHVnTmFtZSsiXS8iKSksbnVsbCE9PXRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUmJnIucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldCgiW1suLi5dXSIpLl9zbW9vc2goZSsiW1suLi4iK3RoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUrIl1dLyIpKSxyfV9pbnNlcnQoZSx0LG4pe2lmKDA9PT1lLmxlbmd0aCl7dGhpcy5wbGFjZWhvbGRlcj0hMTtyZXR1cm59aWYobil0aHJvdyBFcnJvcigiQ2F0Y2gtYWxsIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMLiIpO2xldCBvPWVbMF07aWYoby5zdGFydHNXaXRoKCJbIikmJm8uZW5kc1dpdGgoIl0iKSl7bGV0IHI9by5zbGljZSgxLC0xKSxpPSExO2lmKHIuc3RhcnRzV2l0aCgiWyIpJiZyLmVuZHNXaXRoKCJdIikmJihyPXIuc2xpY2UoMSwtMSksaT0hMCksci5zdGFydHNXaXRoKCIuLi4iKSYmKHI9ci5zdWJzdHJpbmcoMyksbj0hMCksci5zdGFydHNXaXRoKCJbIil8fHIuZW5kc1dpdGgoIl0iKSl0aHJvdyBFcnJvcigiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIGV4dHJhIGJyYWNrZXRzICgnIityKyInKS4iKTtpZihyLnN0YXJ0c1dpdGgoIi4iKSl0aHJvdyBFcnJvcigiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggZXJyb25lb3VzIHBlcmlvZHMgKCciK3IrIicpLiIpO2Z1bmN0aW9uIGEoZSxyKXtpZihudWxsIT09ZSYmZSE9PXIpdGhyb3cgRXJyb3IoIllvdSBjYW5ub3QgdXNlIGRpZmZlcmVudCBzbHVnIG5hbWVzIGZvciB0aGUgc2FtZSBkeW5hbWljIHBhdGggKCciK2UrIicgIT09ICciK3IrIicpLiIpO3QuZm9yRWFjaChlPT57aWYoZT09PXIpdGhyb3cgRXJyb3IoJ1lvdSBjYW5ub3QgaGF2ZSB0aGUgc2FtZSBzbHVnIG5hbWUgIicrcisnIiByZXBlYXQgd2l0aGluIGEgc2luZ2xlIGR5bmFtaWMgcGF0aCcpO2lmKGUucmVwbGFjZSgvXFcvZywiIik9PT1vLnJlcGxhY2UoL1xXL2csIiIpKXRocm93IEVycm9yKCdZb3UgY2Fubm90IGhhdmUgdGhlIHNsdWcgbmFtZXMgIicrZSsnIiBhbmQgIicrcisnIiBkaWZmZXIgb25seSBieSBub24td29yZCBzeW1ib2xzIHdpdGhpbiBhIHNpbmdsZSBkeW5hbWljIHBhdGgnKX0pLHQucHVzaChyKX1pZihuKXtpZihpKXtpZihudWxsIT10aGlzLnJlc3RTbHVnTmFtZSl0aHJvdyBFcnJvcignWW91IGNhbm5vdCB1c2UgYm90aCBhbiByZXF1aXJlZCBhbmQgb3B0aW9uYWwgY2F0Y2gtYWxsIHJvdXRlIGF0IHRoZSBzYW1lIGxldmVsICgiWy4uLicrdGhpcy5yZXN0U2x1Z05hbWUrJ10iIGFuZCAiJytlWzBdKyciICkuJyk7YSh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lLHIpLHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWU9cixvPSJbWy4uLl1dIn1lbHNle2lmKG51bGwhPXRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUpdGhyb3cgRXJyb3IoJ1lvdSBjYW5ub3QgdXNlIGJvdGggYW4gb3B0aW9uYWwgYW5kIHJlcXVpcmVkIGNhdGNoLWFsbCByb3V0ZSBhdCB0aGUgc2FtZSBsZXZlbCAoIltbLi4uJyt0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lKyddXSIgYW5kICInK2VbMF0rJyIpLicpO2EodGhpcy5yZXN0U2x1Z05hbWUsciksdGhpcy5yZXN0U2x1Z05hbWU9cixvPSJbLi4uXSJ9fWVsc2V7aWYoaSl0aHJvdyBFcnJvcignT3B0aW9uYWwgcm91dGUgcGFyYW1ldGVycyBhcmUgbm90IHlldCBzdXBwb3J0ZWQgKCInK2VbMF0rJyIpLicpO2EodGhpcy5zbHVnTmFtZSxyKSx0aGlzLnNsdWdOYW1lPXIsbz0iW10ifX10aGlzLmNoaWxkcmVuLmhhcyhvKXx8dGhpcy5jaGlsZHJlbi5zZXQobyxuZXcgciksdGhpcy5jaGlsZHJlbi5nZXQobykuX2luc2VydChlLnNsaWNlKDEpLHQsbil9Y29uc3RydWN0b3IoKXt0aGlzLnBsYWNlaG9sZGVyPSEwLHRoaXMuY2hpbGRyZW49bmV3IE1hcCx0aGlzLnNsdWdOYW1lPW51bGwsdGhpcy5yZXN0U2x1Z05hbWU9bnVsbCx0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lPW51bGx9fWZ1bmN0aW9uIG4oZSl7bGV0IHQ9bmV3IHI7cmV0dXJuIGUuZm9yRWFjaChlPT50Lmluc2VydChlKSksdC5zbW9vc2goKX19LDE3NTAwOmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7ZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBufSxzZXRDb25maWc6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj0oKT0+cjtmdW5jdGlvbiBvKGUpe3I9ZX19LDY2NDA2OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIigiPT09ZVswXSYmZS5lbmRzV2l0aCgiKSIpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7REVGQVVMVF9TRUdNRU5UX0tFWTpmdW5jdGlvbigpe3JldHVybiBvfSxQQUdFX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIG59LGlzR3JvdXBTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7bGV0IG49Il9fUEFHRV9fIixvPSJfX0RFRkFVTFRfXyJ9LDM1Mjc3OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTtsZXQgbj1yKDY3Mjk0KSxvPW4udXNlTGF5b3V0RWZmZWN0LGE9bi51c2VFZmZlY3Q7ZnVuY3Rpb24gaShlKXtsZXR7aGVhZE1hbmFnZXI6dCxyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZTpyfT1lO2Z1bmN0aW9uIGkoKXtpZih0JiZ0Lm1vdW50ZWRJbnN0YW5jZXMpe2xldCBvPW4uQ2hpbGRyZW4udG9BcnJheShBcnJheS5mcm9tKHQubW91bnRlZEluc3RhbmNlcykuZmlsdGVyKEJvb2xlYW4pKTt0LnVwZGF0ZUhlYWQocihvLGUpKX19cmV0dXJuIG8oKCk9Pnt2YXIgcjtyZXR1cm4gbnVsbD09dHx8bnVsbD09KHI9dC5tb3VudGVkSW5zdGFuY2VzKXx8ci5hZGQoZS5jaGlsZHJlbiksKCk9Pnt2YXIgcjtudWxsPT10fHxudWxsPT0ocj10Lm1vdW50ZWRJbnN0YW5jZXMpfHxyLmRlbGV0ZShlLmNoaWxkcmVuKX19KSxvKCgpPT4odCYmKHQuX3BlbmRpbmdVcGRhdGU9aSksKCk9Pnt0JiYodC5fcGVuZGluZ1VwZGF0ZT1pKX0pKSxhKCgpPT4odCYmdC5fcGVuZGluZ1VwZGF0ZSYmKHQuX3BlbmRpbmdVcGRhdGUoKSx0Ll9wZW5kaW5nVXBkYXRlPW51bGwpLCgpPT57dCYmdC5fcGVuZGluZ1VwZGF0ZSYmKHQuX3BlbmRpbmdVcGRhdGUoKSx0Ll9wZW5kaW5nVXBkYXRlPW51bGwpfSkpLG51bGx9fSw5OTkwMzpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse0RlY29kZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LE1pc3NpbmdTdGF0aWNQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LE5vcm1hbGl6ZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIG19LFBhZ2VOb3RGb3VuZEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIF99LFNQOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFNUOmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFdFQl9WSVRBTFM6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sZXhlY09uY2U6ZnVuY3Rpb24oKXtyZXR1cm4gbn0sZ2V0RGlzcGxheU5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sZ2V0TG9jYXRpb25PcmlnaW46ZnVuY3Rpb24oKXtyZXR1cm4gaX0sZ2V0VVJMOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGlzQWJzb2x1dGVVcmw6ZnVuY3Rpb24oKXtyZXR1cm4gYX0saXNSZXNTZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGxvYWRHZXRJbml0aWFsUHJvcHM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LHN0cmluZ2lmeUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fSk7bGV0IHI9WyJDTFMiLCJGQ1AiLCJGSUQiLCJJTlAiLCJMQ1AiLCJUVEZCIl07ZnVuY3Rpb24gbihlKXtsZXQgdCxyPSExO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoLG89QXJyYXkobiksYT0wO2E8bjthKyspb1thXT1hcmd1bWVudHNbYV07cmV0dXJuIHJ8fChyPSEwLHQ9ZSguLi5vKSksdH19bGV0IG89L15bYS16QS1aXVthLXpBLVpcZCtcLS5dKj86LyxhPWU9Pm8udGVzdChlKTtmdW5jdGlvbiBpKCl7bGV0e3Byb3RvY29sOmUsaG9zdG5hbWU6dCxwb3J0OnJ9PXdpbmRvdy5sb2NhdGlvbjtyZXR1cm4gZSsiLy8iK3QrKHI/IjoiK3I6IiIpfWZ1bmN0aW9uIHUoKXtsZXR7aHJlZjplfT13aW5kb3cubG9jYXRpb24sdD1pKCk7cmV0dXJuIGUuc3Vic3RyaW5nKHQubGVuZ3RoKX1mdW5jdGlvbiBsKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUuZGlzcGxheU5hbWV8fGUubmFtZXx8IlVua25vd24ifWZ1bmN0aW9uIHMoZSl7cmV0dXJuIGUuZmluaXNoZWR8fGUuaGVhZGVyc1NlbnR9ZnVuY3Rpb24gYyhlKXtsZXQgdD1lLnNwbGl0KCI/Iik7cmV0dXJuIHRbMF0ucmVwbGFjZSgvXFwvZywiLyIpLnJlcGxhY2UoL1wvXC8rL2csIi8iKSsodFsxXT8iPyIrdC5zbGljZSgxKS5qb2luKCI/Iik6IiIpfWFzeW5jIGZ1bmN0aW9uIGYoZSx0KXtsZXQgcj10LnJlc3x8dC5jdHgmJnQuY3R4LnJlcztpZighZS5nZXRJbml0aWFsUHJvcHMpcmV0dXJuIHQuY3R4JiZ0LkNvbXBvbmVudD97cGFnZVByb3BzOmF3YWl0IGYodC5Db21wb25lbnQsdC5jdHgpfTp7fTtsZXQgbj1hd2FpdCBlLmdldEluaXRpYWxQcm9wcyh0KTtpZihyJiZzKHIpKXJldHVybiBuO2lmKCFuKXRocm93IEVycm9yKCciJytsKGUpKycuZ2V0SW5pdGlhbFByb3BzKCkiIHNob3VsZCByZXNvbHZlIHRvIGFuIG9iamVjdC4gQnV0IGZvdW5kICInK24rJyIgaW5zdGVhZC4nKTtyZXR1cm4gbn1sZXQgZD0idW5kZWZpbmVkIiE9dHlwZW9mIHBlcmZvcm1hbmNlLHA9ZCYmWyJtYXJrIiwibWVhc3VyZSIsImdldEVudHJpZXNCeU5hbWUiXS5ldmVyeShlPT4iZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2VbZV0pO2NsYXNzIGggZXh0ZW5kcyBFcnJvcnt9Y2xhc3MgbSBleHRlbmRzIEVycm9ye31jbGFzcyBfIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoKSx0aGlzLmNvZGU9IkVOT0VOVCIsdGhpcy5uYW1lPSJQYWdlTm90Rm91bmRFcnJvciIsdGhpcy5tZXNzYWdlPSJDYW5ub3QgZmluZCBtb2R1bGUgZm9yIHBhZ2U6ICIrZX19Y2xhc3MgZyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKSx0aGlzLm1lc3NhZ2U9IkZhaWxlZCB0byBsb2FkIHN0YXRpYyBmaWxlIGZvciBwYWdlOiAiK2UrIiAiK3R9fWNsYXNzIHkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5jb2RlPSJFTk9FTlQiLHRoaXMubWVzc2FnZT0iQ2Fubm90IGZpbmQgdGhlIG1pZGRsZXdhcmUgbW9kdWxlIn19ZnVuY3Rpb24gYihlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoe21lc3NhZ2U6ZS5tZXNzYWdlLHN0YWNrOmUuc3RhY2t9KX19LDgzMTc5OmZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwid2Fybk9uY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPWU9Pnt9fSw3ODAxODpmdW5jdGlvbihlKXt2YXIgdCxyLG4sbyxhLGksdSxsLHMsYyxmLGQscCxoLG0sXyxnLHksYixQLHYsRSxTLE8saix3LFIsVCxNLHgsSSxDLEEsTCxOLEQsayxVLEYsQixILFcscSxHLHosVjsodD17fSkuZD1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbiBpbiByKXQubyhyLG4pJiYhdC5vKGUsbikmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2VudW1lcmFibGU6ITAsZ2V0OnJbbl19KX0sdC5vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfSx0LnI9ZnVuY3Rpb24oZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sdm9pZCAwIT09dCYmKHQuYWI9Ii8vIikscj17fSx0LnIociksdC5kKHIse2dldENMUzpmdW5jdGlvbigpe3JldHVybiBTfSxnZXRGQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gUH0sZ2V0RklEOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGdldElOUDpmdW5jdGlvbigpe3JldHVybiBXfSxnZXRMQ1A6ZnVuY3Rpb24oKXtyZXR1cm4gR30sZ2V0VFRGQjpmdW5jdGlvbigpe3JldHVybiBWfSxvbkNMUzpmdW5jdGlvbigpe3JldHVybiBTfSxvbkZDUDpmdW5jdGlvbigpe3JldHVybiBQfSxvbkZJRDpmdW5jdGlvbigpe3JldHVybiB4fSxvbklOUDpmdW5jdGlvbigpe3JldHVybiBXfSxvbkxDUDpmdW5jdGlvbigpe3JldHVybiBHfSxvblRURkI6ZnVuY3Rpb24oKXtyZXR1cm4gVn19KSxsPS0xLHM9ZnVuY3Rpb24oZSl7YWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGZ1bmN0aW9uKHQpe3QucGVyc2lzdGVkJiYobD10LnRpbWVTdGFtcCxlKHQpKX0sITApfSxjPWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSYmcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpWzBdfSxmPWZ1bmN0aW9uKCl7dmFyIGU9YygpO3JldHVybiBlJiZlLmFjdGl2YXRpb25TdGFydHx8MH0sZD1mdW5jdGlvbihlLHQpe3ZhciByPWMoKSxuPSJuYXZpZ2F0ZSI7cmV0dXJuIGw+PTA/bj0iYmFjay1mb3J3YXJkLWNhY2hlIjpyJiYobj1kb2N1bWVudC5wcmVyZW5kZXJpbmd8fGYoKT4wPyJwcmVyZW5kZXIiOnIudHlwZS5yZXBsYWNlKC9fL2csIi0iKSkse25hbWU6ZSx2YWx1ZTp2b2lkIDA9PT10Py0xOnQscmF0aW5nOiJnb29kIixkZWx0YTowLGVudHJpZXM6W10saWQ6InYzLSIuY29uY2F0KERhdGUubm93KCksIi0iKS5jb25jYXQoTWF0aC5mbG9vcig4OTk5OTk5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKzFlMTIpLG5hdmlnYXRpb25UeXBlOm59fSxwPWZ1bmN0aW9uKGUsdCxyKXt0cnl7aWYoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKGUpKXt2YXIgbj1uZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihmdW5jdGlvbihlKXt0KGUuZ2V0RW50cmllcygpKX0pO3JldHVybiBuLm9ic2VydmUoT2JqZWN0LmFzc2lnbih7dHlwZTplLGJ1ZmZlcmVkOiEwfSxyfHx7fSkpLG59fWNhdGNoKGUpe319LGg9ZnVuY3Rpb24oZSx0KXt2YXIgcj1mdW5jdGlvbiByKG4peyJwYWdlaGlkZSIhPT1uLnR5cGUmJiJoaWRkZW4iIT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlfHwoZShuKSx0JiYocmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsciwhMCkscmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLHIsITApKSl9O2FkZEV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHIsITApLGFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixyLCEwKX0sbT1mdW5jdGlvbihlLHQscixuKXt2YXIgbyxhO3JldHVybiBmdW5jdGlvbihpKXt2YXIgdTt0LnZhbHVlPj0wJiYoaXx8bikmJigoYT10LnZhbHVlLShvfHwwKSl8fHZvaWQgMD09PW8pJiYobz10LnZhbHVlLHQuZGVsdGE9YSx0LnJhdGluZz0odT10LnZhbHVlKT5yWzFdPyJwb29yIjp1PnJbMF0/Im5lZWRzLWltcHJvdmVtZW50IjoiZ29vZCIsZSh0KSl9fSxfPS0xLGc9ZnVuY3Rpb24oKXtyZXR1cm4iaGlkZGVuIiE9PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZXx8ZG9jdW1lbnQucHJlcmVuZGVyaW5nPzEvMDowfSx5PWZ1bmN0aW9uKCl7aChmdW5jdGlvbihlKXtfPWUudGltZVN0YW1wfSwhMCl9LGI9ZnVuY3Rpb24oKXtyZXR1cm4gXzwwJiYoXz1nKCkseSgpLHMoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Xz1nKCkseSgpfSwwKX0pKSx7Z2V0IGZpcnN0SGlkZGVuVGltZSgpe3JldHVybiBffX19LFA9ZnVuY3Rpb24oZSx0KXt0PXR8fHt9O3ZhciByLG49WzE4MDAsM2UzXSxvPWIoKSxhPWQoIkZDUCIpLGk9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpeyJmaXJzdC1jb250ZW50ZnVsLXBhaW50Ij09PWUubmFtZSYmKGwmJmwuZGlzY29ubmVjdCgpLGUuc3RhcnRUaW1lPG8uZmlyc3RIaWRkZW5UaW1lJiYoYS52YWx1ZT1lLnN0YXJ0VGltZS1mKCksYS5lbnRyaWVzLnB1c2goZSkscighMCkpKX0pfSx1PXdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCJmaXJzdC1jb250ZW50ZnVsLXBhaW50IilbMF0sbD11P251bGw6cCgicGFpbnQiLGkpOyh1fHxsKSYmKHI9bShlLGEsbix0LnJlcG9ydEFsbENoYW5nZXMpLHUmJmkoW3VdKSxzKGZ1bmN0aW9uKG8pe3I9bShlLGE9ZCgiRkNQIiksbix0LnJlcG9ydEFsbENoYW5nZXMpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2EudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktby50aW1lU3RhbXAscighMCl9KX0pfSkpfSx2PSExLEU9LTEsUz1mdW5jdGlvbihlLHQpe3Q9dHx8e307dmFyIHI9Wy4xLC4yNV07dnx8KFAoZnVuY3Rpb24oZSl7RT1lLnZhbHVlfSksdj0hMCk7dmFyIG4sbz1mdW5jdGlvbih0KXtFPi0xJiZlKHQpfSxhPWQoIkNMUyIsMCksaT0wLHU9W10sbD1mdW5jdGlvbihlKXtlLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoIWUuaGFkUmVjZW50SW5wdXQpe3ZhciB0PXVbMF0scj11W3UubGVuZ3RoLTFdO2kmJmUuc3RhcnRUaW1lLXIuc3RhcnRUaW1lPDFlMyYmZS5zdGFydFRpbWUtdC5zdGFydFRpbWU8NWUzPyhpKz1lLnZhbHVlLHUucHVzaChlKSk6KGk9ZS52YWx1ZSx1PVtlXSksaT5hLnZhbHVlJiYoYS52YWx1ZT1pLGEuZW50cmllcz11LG4oKSl9fSl9LGM9cCgibGF5b3V0LXNoaWZ0IixsKTtjJiYobj1tKG8sYSxyLHQucmVwb3J0QWxsQ2hhbmdlcyksaChmdW5jdGlvbigpe2woYy50YWtlUmVjb3JkcygpKSxuKCEwKX0pLHMoZnVuY3Rpb24oKXtpPTAsRT0tMSxuPW0obyxhPWQoIkNMUyIsMCkscix0LnJlcG9ydEFsbENoYW5nZXMpfSkpfSxPPXtwYXNzaXZlOiEwLGNhcHR1cmU6ITB9LGo9bmV3IERhdGUsdz1mdW5jdGlvbihlLHQpe258fChuPXQsbz1lLGE9bmV3IERhdGUsTShyZW1vdmVFdmVudExpc3RlbmVyKSxSKCkpfSxSPWZ1bmN0aW9uKCl7aWYobz49MCYmbzxhLWope3ZhciBlPXtlbnRyeVR5cGU6ImZpcnN0LWlucHV0IixuYW1lOm4udHlwZSx0YXJnZXQ6bi50YXJnZXQsY2FuY2VsYWJsZTpuLmNhbmNlbGFibGUsc3RhcnRUaW1lOm4udGltZVN0YW1wLHByb2Nlc3NpbmdTdGFydDpuLnRpbWVTdGFtcCtvfTtpLmZvckVhY2goZnVuY3Rpb24odCl7dChlKX0pLGk9W119fSxUPWZ1bmN0aW9uKGUpe2lmKGUuY2FuY2VsYWJsZSl7dmFyIHQscixuLG89KGUudGltZVN0YW1wPjFlMTI/bmV3IERhdGU6cGVyZm9ybWFuY2Uubm93KCkpLWUudGltZVN0YW1wOyJwb2ludGVyZG93biI9PWUudHlwZT8odD1mdW5jdGlvbigpe3cobyxlKSxuKCl9LHI9ZnVuY3Rpb24oKXtuKCl9LG49ZnVuY3Rpb24oKXtyZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHQsTykscmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIscixPKX0sYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0LE8pLGFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJjYW5jZWwiLHIsTykpOncobyxlKX19LE09ZnVuY3Rpb24oZSl7WyJtb3VzZWRvd24iLCJrZXlkb3duIiwidG91Y2hzdGFydCIsInBvaW50ZXJkb3duIl0uZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gZSh0LFQsTyl9KX0seD1mdW5jdGlvbihlLHQpe3Q9dHx8e307dmFyIHIsYT1bMTAwLDMwMF0sdT1iKCksbD1kKCJGSUQiKSxjPWZ1bmN0aW9uKGUpe2Uuc3RhcnRUaW1lPHUuZmlyc3RIaWRkZW5UaW1lJiYobC52YWx1ZT1lLnByb2Nlc3NpbmdTdGFydC1lLnN0YXJ0VGltZSxsLmVudHJpZXMucHVzaChlKSxyKCEwKSl9LGY9ZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKGMpfSxfPXAoImZpcnN0LWlucHV0IixmKTtyPW0oZSxsLGEsdC5yZXBvcnRBbGxDaGFuZ2VzKSxfJiZoKGZ1bmN0aW9uKCl7ZihfLnRha2VSZWNvcmRzKCkpLF8uZGlzY29ubmVjdCgpfSwhMCksXyYmcyhmdW5jdGlvbigpe3I9bShlLGw9ZCgiRklEIiksYSx0LnJlcG9ydEFsbENoYW5nZXMpLGk9W10sbz0tMSxuPW51bGwsTShhZGRFdmVudExpc3RlbmVyKSxpLnB1c2goYyksUigpfSl9LEk9MCxDPTEvMCxBPTAsTD1mdW5jdGlvbihlKXtlLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5pbnRlcmFjdGlvbklkJiYoQz1NYXRoLm1pbihDLGUuaW50ZXJhY3Rpb25JZCksST0oQT1NYXRoLm1heChBLGUuaW50ZXJhY3Rpb25JZCkpPyhBLUMpLzcrMTowKX0pfSxOPWZ1bmN0aW9uKCl7cmV0dXJuIHU/STpwZXJmb3JtYW5jZS5pbnRlcmFjdGlvbkNvdW50fHwwfSxEPWZ1bmN0aW9uKCl7ImludGVyYWN0aW9uQ291bnQiaW4gcGVyZm9ybWFuY2V8fHV8fCh1PXAoImV2ZW50IixMLHt0eXBlOiJldmVudCIsYnVmZmVyZWQ6ITAsZHVyYXRpb25UaHJlc2hvbGQ6MH0pKX0saz0wLFU9ZnVuY3Rpb24oKXtyZXR1cm4gTigpLWt9LEY9W10sQj17fSxIPWZ1bmN0aW9uKGUpe3ZhciB0PUZbRi5sZW5ndGgtMV0scj1CW2UuaW50ZXJhY3Rpb25JZF07aWYocnx8Ri5sZW5ndGg8MTB8fGUuZHVyYXRpb24+dC5sYXRlbmN5KXtpZihyKXIuZW50cmllcy5wdXNoKGUpLHIubGF0ZW5jeT1NYXRoLm1heChyLmxhdGVuY3ksZS5kdXJhdGlvbik7ZWxzZXt2YXIgbj17aWQ6ZS5pbnRlcmFjdGlvbklkLGxhdGVuY3k6ZS5kdXJhdGlvbixlbnRyaWVzOltlXX07QltuLmlkXT1uLEYucHVzaChuKX1GLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5sYXRlbmN5LWUubGF0ZW5jeX0pLEYuc3BsaWNlKDEwKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2RlbGV0ZSBCW2UuaWRdfSl9fSxXPWZ1bmN0aW9uKGUsdCl7dD10fHx7fTt2YXIgcj1bMjAwLDUwMF07RCgpO3ZhciBuLG89ZCgiSU5QIiksYT1mdW5jdGlvbihlKXtlLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5pbnRlcmFjdGlvbklkJiZIKGUpLCJmaXJzdC1pbnB1dCIhPT1lLmVudHJ5VHlwZXx8Ri5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiB0LmVudHJpZXMuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gZS5kdXJhdGlvbj09PXQuZHVyYXRpb24mJmUuc3RhcnRUaW1lPT09dC5zdGFydFRpbWV9KX0pfHxIKGUpfSk7dmFyIHQscj0odD1NYXRoLm1pbihGLmxlbmd0aC0xLE1hdGguZmxvb3IoVSgpLzUwKSksRlt0XSk7ciYmci5sYXRlbmN5IT09by52YWx1ZSYmKG8udmFsdWU9ci5sYXRlbmN5LG8uZW50cmllcz1yLmVudHJpZXMsbigpKX0saT1wKCJldmVudCIsYSx7ZHVyYXRpb25UaHJlc2hvbGQ6dC5kdXJhdGlvblRocmVzaG9sZHx8NDB9KTtuPW0oZSxvLHIsdC5yZXBvcnRBbGxDaGFuZ2VzKSxpJiYoaS5vYnNlcnZlKHt0eXBlOiJmaXJzdC1pbnB1dCIsYnVmZmVyZWQ6ITB9KSxoKGZ1bmN0aW9uKCl7YShpLnRha2VSZWNvcmRzKCkpLG8udmFsdWU8MCYmVSgpPjAmJihvLnZhbHVlPTAsby5lbnRyaWVzPVtdKSxuKCEwKX0pLHMoZnVuY3Rpb24oKXtGPVtdLGs9TigpLG49bShlLG89ZCgiSU5QIikscix0LnJlcG9ydEFsbENoYW5nZXMpfSkpfSxxPXt9LEc9ZnVuY3Rpb24oZSx0KXt0PXR8fHt9O3ZhciByLG49WzI1MDAsNGUzXSxvPWIoKSxhPWQoIkxDUCIpLGk9ZnVuY3Rpb24oZSl7dmFyIHQ9ZVtlLmxlbmd0aC0xXTtpZih0KXt2YXIgbj10LnN0YXJ0VGltZS1mKCk7bjxvLmZpcnN0SGlkZGVuVGltZSYmKGEudmFsdWU9bixhLmVudHJpZXM9W3RdLHIoKSl9fSx1PXAoImxhcmdlc3QtY29udGVudGZ1bC1wYWludCIsaSk7aWYodSl7cj1tKGUsYSxuLHQucmVwb3J0QWxsQ2hhbmdlcyk7dmFyIGw9ZnVuY3Rpb24oKXtxW2EuaWRdfHwoaSh1LnRha2VSZWNvcmRzKCkpLHUuZGlzY29ubmVjdCgpLHFbYS5pZF09ITAscighMCkpfTtbImtleWRvd24iLCJjbGljayJdLmZvckVhY2goZnVuY3Rpb24oZSl7YWRkRXZlbnRMaXN0ZW5lcihlLGwse29uY2U6ITAsY2FwdHVyZTohMH0pfSksaChsLCEwKSxzKGZ1bmN0aW9uKG8pe3I9bShlLGE9ZCgiTENQIiksbix0LnJlcG9ydEFsbENoYW5nZXMpLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3JlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe2EudmFsdWU9cGVyZm9ybWFuY2Uubm93KCktby50aW1lU3RhbXAscVthLmlkXT0hMCxyKCEwKX0pfSl9KX19LHo9ZnVuY3Rpb24gZSh0KXtkb2N1bWVudC5wcmVyZW5kZXJpbmc/YWRkRXZlbnRMaXN0ZW5lcigicHJlcmVuZGVyaW5nY2hhbmdlIixmdW5jdGlvbigpe3JldHVybiBlKHQpfSwhMCk6ImNvbXBsZXRlIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtyZXR1cm4gZSh0KX0sITApOnNldFRpbWVvdXQodCwwKX0sVj1mdW5jdGlvbihlLHQpe3Q9dHx8e307dmFyIHI9WzgwMCwxODAwXSxuPWQoIlRURkIiKSxvPW0oZSxuLHIsdC5yZXBvcnRBbGxDaGFuZ2VzKTt6KGZ1bmN0aW9uKCl7dmFyIGE9YygpO2lmKGEpe2lmKG4udmFsdWU9TWF0aC5tYXgoYS5yZXNwb25zZVN0YXJ0LWYoKSwwKSxuLnZhbHVlPDB8fG4udmFsdWU+cGVyZm9ybWFuY2Uubm93KCkpcmV0dXJuO24uZW50cmllcz1bYV0sbyghMCkscyhmdW5jdGlvbigpeyhvPW0oZSxuPWQoIlRURkIiLDApLHIsdC5yZXBvcnRBbGxDaGFuZ2VzKSkoITApfSl9fSl9LGUuZXhwb3J0cz1yfSw3OTQyMzpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiIvYXBpIj09PWV8fCEhKG51bGw9PWU/dm9pZCAwOmUuc3RhcnRzV2l0aCgiL2FwaS8iKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJpc0FQSVJvdXRlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sODA2NzY6ZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdClPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHtlbnVtZXJhYmxlOiEwLGdldDp0W3JdfSl9KHQse2RlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sZ2V0UHJvcGVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1yKDY1OTk3KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gYShlKXtyZXR1cm4gbyhlKT9lOkVycm9yKCgwLG4uaXNQbGFpbk9iamVjdCkoZSk/SlNPTi5zdHJpbmdpZnkoZSk6ZSsiIil9fSw5MjQwNzpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIse2VudW1lcmFibGU6ITAsZ2V0OnRbcl19KX0odCx7SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6ZnVuY3Rpb24oKXtyZXR1cm4gb30sZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gaX0saXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1yKDc2NTI1KSxvPVsiKC4uKSguLikiLCIoLikiLCIoLi4pIiwiKC4uLikiXTtmdW5jdGlvbiBhKGUpe3JldHVybiB2b2lkIDAhPT1lLnNwbGl0KCIvIikuZmluZChlPT5vLmZpbmQodD0+ZS5zdGFydHNXaXRoKHQpKSl9ZnVuY3Rpb24gaShlKXtsZXQgdCxyLGE7Zm9yKGxldCBuIG9mIGUuc3BsaXQoIi8iKSlpZihyPW8uZmluZChlPT5uLnN0YXJ0c1dpdGgoZSkpKXtbdCxhXT1lLnNwbGl0KHIsMik7YnJlYWt9aWYoIXR8fCFyfHwhYSl0aHJvdyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIE11c3QgYmUgaW4gdGhlIGZvcm1hdCAvPGludGVyY2VwdGluZyByb3V0ZT4vKC4ufC4uLnwuLikoLi4pLzxpbnRlcmNlcHRlZCByb3V0ZT5gKTtzd2l0Y2godD0oMCxuLm5vcm1hbGl6ZUFwcFBhdGgpKHQpLHIpe2Nhc2UiKC4pIjphPSIvIj09PXQ/YC8ke2F9YDp0KyIvIithO2JyZWFrO2Nhc2UiKC4uKSI6aWYoIi8iPT09dCl0aHJvdyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKTthPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQoYSkuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOmE9Ii8iK2E7YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGk9dC5zcGxpdCgiLyIpO2lmKGkubGVuZ3RoPD0yKXRocm93IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO2E9aS5zbGljZSgwLC0yKS5jb25jYXQoYSkuam9pbigiLyIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIkludmFyaWFudDogdW5leHBlY3RlZCBtYXJrZXIiKX1yZXR1cm57aW50ZXJjZXB0aW5nUm91dGU6dCxpbnRlcmNlcHRlZFJvdXRlOmF9fX0sNzI0MzE6ZnVuY3Rpb24oKXt9LDM4NzU0OmZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19ci5yKHQpLHIuZCh0LHtfOmZ1bmN0aW9uKCl7cmV0dXJuIG59LF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw2MTc1NzpmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4obj1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1mdW5jdGlvbiBvKGUsdCl7aWYoIXQmJmUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTtpZihudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm57ZGVmYXVsdDplfTt2YXIgcj1uKHQpO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbz17X19wcm90b19fOm51bGx9LGE9T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgdT1hP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO3UmJih1LmdldHx8dS5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGksdSk6b1tpXT1lW2ldfXJldHVybiBvLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG8pLG99ci5yKHQpLHIuZCh0LHtfOmZ1bmN0aW9uKCl7cmV0dXJuIG99LF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KX19LGZ1bmN0aW9uKGUpe2UuTygwLFs5Nzc0XSxmdW5jdGlvbigpe3JldHVybiBlKGUucz00MzEzNil9KSxfTl9FPWUuTygpfV0pOw=="}},"time_used":174,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":174,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/98ea7ec2-134c317fa6543ef5.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.431Z","timestamp":1785133562431,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/98ea7ec2-134c317fa6543ef5.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"98ea7ec2-134c317fa6543ef5.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"4cb6254fb9fdf4908e13fc1b9ce7b8ea\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/98ea7ec2-134c317fa6543ef5.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6nfwr-1785133562435-94b9a196e475\r\ncontent-length: 679\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":"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":3023,"size_decoded":1323,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3023), with no line terminators","md5":"8e173990094b029c2b1ecdb8e90a66d0","sha1":"b51ffd030e81105a167cf5cbd2b1cfbc79c1a466","sha256":"2b67d850ba0d5a269a750ef34e72cf59b7b88fae7aad4789ed7bcb1d44e75281","sha512":"f50b69fd3b204aa165e3f5949f61bc523f7e81d180a4676c2754afa21521df4c8f0778599c1778ef8ccfe8c197db48a2c45c3dfb27a70b440e6a4648b1be8ac4","ssdeep":"","tlshash":"01514d89628d243c7446d074b3927427a6bb1abf3847e0995f3884b9e792844e737dcf","first_seen":"2026-07-27T03:07:35.202087Z","last_seen":"2026-07-27T06:26:35.981944Z","times_seen":2,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua19OX0U9c2VsZi53ZWJwYWNrQ2h1bmtfTl9FfHxbXSkucHVzaChbWzk1NzBdLHs0Mzk4MjpmdW5jdGlvbih0LHIsbil7bi5kKHIse0lKNjpmdW5jdGlvbigpe3JldHVybiBzfSxXVVM6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sbnFjOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHM4eDpmdW5jdGlvbigpe3JldHVybiBjfSxzanc6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sdFUwOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHVUTzpmdW5jdGlvbigpe3JldHVybiBvfSx4Ymo6ZnVuY3Rpb24oKXtyZXR1cm4gZH19KTt2YXIgZT1uKDU2NzcxKTtmdW5jdGlvbiBvKHQpe3JldHVybigwLGUud18pKHt0YWc6InN2ZyIsYXR0cjp7dmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQifSxjaGlsZDpbe3RhZzoicGF0aCIsYXR0cjp7ZDoibTQgNiAzLTMgMyAzIn19LHt0YWc6InBhdGgiLGF0dHI6e2Q6Ik03IDE3VjMifX0se3RhZzoicGF0aCIsYXR0cjp7ZDoibTE0IDYgMy0zIDMgMyJ9fSx7dGFnOiJwYXRoIixhdHRyOntkOiJNMTcgMTdWMyJ9fSx7dGFnOiJwYXRoIixhdHRyOntkOiJNNCAyMWgxNiJ9fV19KSh0KX1mdW5jdGlvbiBhKHQpe3JldHVybigwLGUud18pKHt0YWc6InN2ZyIsYXR0cjp7dmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQifSxjaGlsZDpbe3RhZzoicGF0aCIsYXR0cjp7ZDoiTTMgM3YxOGgxOCJ9fSx7dGFnOiJwYXRoIixhdHRyOntkOiJNMTggMTdWOSJ9fSx7dGFnOiJwYXRoIixhdHRyOntkOiJNMTMgMTdWNSJ9fSx7dGFnOiJwYXRoIixhdHRyOntkOiJNOCAxN3YtMyJ9fV19KSh0KX1mdW5jdGlvbiBpKHQpe3JldHVybigwLGUud18pKHt0YWc6InN2ZyIsYXR0cjp7dmlld0JveDoiMCAwIDI0IDI0IixmaWxsOiJub25lIixzdHJva2U6ImN1cnJlbnRDb2xvciIsc3Ryb2tlV2lkdGg6IjIiLHN0cm9rZUxpbmVjYXA6InJvdW5kIixzdHJva2VMaW5lam9pbjoicm91bmQifSxjaGlsZDpbe3RhZzoicGF0aCIsYXR0cjp7ZDoiTTIxIDEyYTkgOSAwIDEgMS02LjIxOS04LjU2In19XX0pKHQpfWZ1bmN0aW9uIHUodCl7cmV0dXJuKDAsZS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGNoaWxkOlt7dGFnOiJsaW5lIixhdHRyOnt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiI2In19LHt0YWc6ImxpbmUiLGF0dHI6e3gxOiIxMiIseDI6IjEyIix5MToiMTgiLHkyOiIyMiJ9fSx7dGFnOiJsaW5lIixhdHRyOnt4MToiNC45MyIseDI6IjcuNzYiLHkxOiI0LjkzIix5MjoiNy43NiJ9fSx7dGFnOiJsaW5lIixhdHRyOnt4MToiMTYuMjQiLHgyOiIxOS4wNyIseTE6IjE2LjI0Iix5MjoiMTkuMDcifX0se3RhZzoibGluZSIsYXR0cjp7eDE6IjIiLHgyOiI2Iix5MToiMTIiLHkyOiIxMiJ9fSx7dGFnOiJsaW5lIixhdHRyOnt4MToiMTgiLHgyOiIyMiIseTE6IjEyIix5MjoiMTIifX0se3RhZzoibGluZSIsYXR0cjp7eDE6IjQuOTMiLHgyOiI3Ljc2Iix5MToiMTkuMDciLHkyOiIxNi4yNCJ9fSx7dGFnOiJsaW5lIixhdHRyOnt4MToiMTYuMjQiLHgyOiIxOS4wNyIseTE6IjcuNzYiLHkyOiI0LjkzIn19XX0pKHQpfWZ1bmN0aW9uIGModCl7cmV0dXJuKDAsZS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGNoaWxkOlt7dGFnOiJyZWN0IixhdHRyOnt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn19LHt0YWc6InBhdGgiLGF0dHI6e2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In19XX0pKHQpfWZ1bmN0aW9uIGQodCl7cmV0dXJuKDAsZS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGNoaWxkOlt7dGFnOiJjaXJjbGUiLGF0dHI6e2N4OiIxMiIsY3k6IjgiLHI6IjUifX0se3RhZzoicGF0aCIsYXR0cjp7ZDoiTTIwIDIxYTggOCAwIDEgMC0xNiAwIn19XX0pKHQpfWZ1bmN0aW9uIHModCl7cmV0dXJuKDAsZS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGNoaWxkOlt7dGFnOiJwYXRoIixhdHRyOntkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9fSx7dGFnOiJjaXJjbGUiLGF0dHI6e2N4OiI5IixjeToiNyIscjoiNCJ9fSx7dGFnOiJwb2x5bGluZSIsYXR0cjp7cG9pbnRzOiIxNiAxMSAxOCAxMyAyMiA5In19XX0pKHQpfWZ1bmN0aW9uIGwodCl7cmV0dXJuKDAsZS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIixzdHJva2VXaWR0aDoiMiIsc3Ryb2tlTGluZWNhcDoicm91bmQiLHN0cm9rZUxpbmVqb2luOiJyb3VuZCJ9LGNoaWxkOlt7dGFnOiJwYXRoIixhdHRyOntkOiJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiJ9fSx7dGFnOiJjaXJjbGUiLGF0dHI6e2N4OiIxMiIsY3k6IjciLHI6IjQifX1dfSkodCl9fX1dKTs="}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:12.974Z","timestamp":1785133572974,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/main-t6WxLABA.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:12 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-3f99\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k7jIP3BVB73ZxiVItXESKpygD6dMR1PXjJ/jI9Y6eDk1rp33kKSAkOLWlFfyVHxTnlw/roY\r\nx-77-nzt-ray: fdb54123124f25f504fa666a64dc173a\r\nx-77-cache: HIT\r\nx-77-age: 1720529\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":16281,"size_decoded":6837,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1DZ01DQWZvci5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+e3cobikmJnAoKS5ib2R5LmFwcGVuZENoaWxkKHcobikpfSksX2UoKCk9PntwKCkuZ2V0RWxlbWVudEJ5SWQocik/LnJlbW92ZSgpfSk7dmFyIGk9SmUoKTtSKGEoaSksKCk9PnQuY2hpbGRyZW4/P05lKSxGKGkpLEooaSxlPT5mKG4sZSksKCk9PncobikpLHYoKCk9PlcoaSxgaWRgLHIpKSxaKGUsaSksQigpfXZhciBYZT1kKGA8aWZyYW1lIGFsbG93ZnVsbHNjcmVlbj0iIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT5gKTtmdW5jdGlvbiBRKGUsdCl7Tih0LCEwKTtsZXQgbj0oKT0+TShjLGAkdGhlbWVDb2xvcmAsciksW3IsaV09TygpLGE9eCh2b2lkIDApLG89eChudWxsKSxsO0MoKCk9Pnt3KG8pJiZ1KHcobykpfSksQygoKT0+e3cobykmJmQobigpKX0pO2xldCB1PWFzeW5jIGU9PntsJiZhd2FpdCBzKGwpLGUmJnQuY29tcG9uZW50JiYobD1HZSh0LmNvbXBvbmVudCx7dGFyZ2V0OmUuYm9keX0pKX0sZD1lPT57dyhvKSYmbmUodyhvKSxlKX0scD1lPT57aWYoIXcobykpcmV0dXJuO2xldCB0PXcobykuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHcobykuaGVhZC5hcHBlbmRDaGlsZCh0KSx0fSxtPSgpPT57Zm9yKGxldCBlIG9mIHdpbmRvdy5kb2N1bWVudC5zdHlsZVNoZWV0cyl7bGV0IHQ9YGA7dHJ5e3Q9Wy4uLmUuY3NzUnVsZXNdLm1hcChlPT5lLmNzc1RleHQpLmpvaW4oYGApfWNhdGNoe2NvbnRpbnVlfWlmKCFwKHQpKXJldHVybn19LGg9KCk9PnshdyhhKXx8IXcoYSkuY29udGVudERvY3VtZW50fHwoZihvLHcoYSkuY29udGVudERvY3VtZW50LCEwKSxtKCkpfTtrKGFzeW5jKCk9Pnthd2FpdCBpZSgpLHcoYSk/LmNvbnRlbnREb2N1bWVudCYmdyhhKS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZT09PWBjb21wbGV0ZWAmJncoYSkuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3P2goKTp3KGEpPy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxoKX0pLF9lKGFzeW5jKCk9Pnt3KGEpJiZ3KGEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGxvYWRgLGgpLGwmJmF3YWl0IHMobCl9KTt2YXIgZz1YZSgpO0ooZyxlPT5mKGEsZSksKCk9PncoYSkpLHYoKCk9PntXKGcsYGlkYCx0LmlkKSxXKGcsYHRpdGxlYCx0LnRpdGxlKSxIKGcsdC5mcmFtZVN0eWxlKX0pLFooZSxnKSxCKCksaSgpfXZhciBaZT1sKGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0IDY0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxwYXRoIGQ9Ik02My4xMTMsMTguNTF2LS4xNkM2MC4zMjMsNy4wNSw0NC41ODIsMywzMS45NzIsM1MzLjU4Miw3LC43OTIsMTguNWE2Ni4yMiw2Ni4yMiwwLDAsMCwwLDIwLjQ2YzEuMTgsNC43NCw1LjA1LDguNjMsMTEuMzYsMTEuNDFsLTQsNUEzLjQ3LDMuNDcsMCwwLDAsMTAuODgyLDYxYTMuMzksMy4zOSwwLDAsMCwxLjQ0LS4zMUwyNi44NjIsNTRjMS43OS4xOCwzLjQ5LjI3LDUuMDcuMjcsMTEuMDQuMDQsMjguNDEtNC4wNCwzMS4xOC0xNS40M2E2MC4zMyw2MC4zMywwLDAsMCwwLTIwLjMzWiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFFlKGUsdCl7bGV0IG49dmUodCxgaWNvblNpemVgLDMsMTYpO3ZhciByPVplKCk7digoKT0+e1cocixgd2lkdGhgLG4oKSksVyhyLGBoZWlnaHRgLG4oKSl9KSxaKGUscil9ZnVuY3Rpb24gJGUoZSx0KXtOKHQsITApO2xldCBuPXgoITEpO2soKCk9PntmKG4sITApfSk7dmFyIHI9VCgpLGk9RChyKSxhPWU9Pnt2YXIgbj1UKCk7UihEKG4pLCgpPT50LmNoaWxkcmVuPz9OZSksWihlLG4pfTtQKGksZT0+e3cobikmJmUoYSl9KSxaKGUsciksQigpfXZhciBldD1kKGA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm0gdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExNSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gdHQoZSl7JGUoZSx7Y2hpbGRyZW46KGUsdCk9Pnt2YXIgbj1ldCgpO1FlKGEobikse2ljb25TaXplOjI0fSksRihuKSxLKDMsbiwoKT0+QmUsKCk9Pih7ZGVsYXk6MjAwLGR1cmF0aW9uOjMwMCxzdGFydDouNixvcGFjaXR5Oi44fSkpLFooZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX12YXIgbnQ9ZChgPGRpdiBjbGFzcz0icC0xIj48ZGl2IGNsYXNzPSJmbGV4LWNlbnRlciB3LTEyIGgtMTIgYmctd2hpdGUgYmctb3BhY2l0eS0xMCByb3VuZGVkLWZ1bGwiPjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIHJ0KGUpe3ZhciB0PW50KCksbj1hKHQpO3R0KGEobikse30pLEYobiksRih0KSxaKGUsdCl9dmFyIGl0PWQoYDxkaXYgY2xhc3M9ImZsZXgiPjxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHBsLTQgcHItMSI+IDwvZGl2PiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBhdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oaixgJHRgLHIpLFtyLGldPU8oKSxvPWZlKCk7aygoKT0+e2xldCBlPU1hdGguY2VpbCh3KG8pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtVZS5zZXQoZSl9KSxJKCk7dmFyIHM9aXQoKSxjPWEocyksbD1hKGMsITApO0YoYykscnQobShjLDIpLHt9KSxGKHMpLEoocyxlPT5mKG8sZSksKCk9PncobykpLHYoZT0+e1coYyxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0QnV0dG9uVGV4dCksbGUobCxlKX0sWygpPT5uKCkoYGJ1dHRvbi5ncmVldGluZ2ApXSksWihlLHMpLEIoKSxpKCl9dmFyIG90PWQoYDxkaXYgaWQ9IndpZGdldC1vbmxpbmUtYmFkZ2UiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgYm90dG9tLTAgdy0yIGgtMiBwLTEuNSBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZSI+PC9kaXY+YCk7ZnVuY3Rpb24gc3QoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGtlLGAkaXNXaWRnZXRPbmxpbmVgLHIpLFtyLGldPU8oKTtJKCk7dmFyIGE9VCgpLG89RChhKSxzPWU9Pnt2YXIgdD1vdCgpO3YoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0T25saW5lQmFkZ2UpKSxLKDMsdCwoKT0+QmUpLFooZSx0KX07UChvLGU9PntuKCkmJmUocyl9KSxaKGUsYSksQigpLGkoKX12YXIgY3Q9ZChgPGRpdiBpZD0id2lkZ2V0LXVucmVhZC1tZXNzYWdlcy1iYWRnZSIgY2xhc3M9ImFic29sdXRlIHJpZ2h0LTAgdG9wLTAgbWluLXctNSBoLTUgZmxleC1jZW50ZXIgcHgtMSB0ZXh0LXdoaXRlIGJnLXJlZC02MDAgdGV4dC14cyByb3VuZGVkLWZ1bGwgc2hhZG93Ij4gPC9kaXY+YCk7ZnVuY3Rpb24gbHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKGhlLGAkdW5yZWFkTWVzc2FnZXNDb3VudGAsciksW3IsaV09TygpLG89QSgoKT0+bigpPjApO3ZhciBzPVQoKSxjPUQocyksbD1lPT57dmFyIHQ9Y3QoKSxyPWEodCwhMCk7Rih0KSx2KCgpPT57Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRVbnJlYWRNZXNzYWdlc0JhZGdlKSxsZShyLG4oKT45OT9gOTkrYDpuKCkpfSksSygzLHQsKCk9PkJlKSxaKGUsdCl9O1AoYyxlPT57dyhvKSYmZShsKX0pLFooZSxzKSxCKCksaSgpfXZhciB1dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgdy1mdWxsIGZpeGVkIGZsZXgganVzdGlmeS1lbmQgYm9yZGVyLXJvdW5kZWQtZnVsbCI+PGRpdiByb2xlPSJidXR0b24iIGNsYXNzPSJncm91cCBmbGV4LWNlbnRlciB3LWZ1bGwgYmctcHJpbWFyeS1ncmFkaWVudCBiZy1wcmltYXJ5LWdyYWRpZW50LWhvdmVyIHRleHQtcHJpbWFyeS1jb250ZW50IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gY3Vyc29yLXBvaW50ZXIgY29udGVudC1mb2N1cy1zZWNvbmRhcnkiPjwhPiA8IT48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gZHQoZSxuKXtOKG4sITEpO2xldCBpPSgpPT5NKGosYCR0YCxzKSxvPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLFtzLGNdPU8oKTtJKCk7dmFyIGw9dXQoKSx1PWEobCk7Vyh1LGB0YWJpbmRleGAsMCk7dmFyIGQ9YSh1KSxmPWU9Pnt0dChlLHt9KX0scD1lPT57YXQoZSx7fSl9O1AoZCxlPT57bygpP2UoZik6ZShwLC0xKX0pLHN0KG0oZCwyKSx7fSksRih1KSxsdChtKHUsMikse30pLEYobCksdihlPT57Vyh1LGBhcmlhLWxhYmVsYCxlKSxXKHUsYGRhdGEtdGVzdGlkYCxHLndpZGdldEJ1dHRvbil9LFsoKT0+aSgpKGBhcmlhTGFiZWwub3BlbkNoYXRgKV0pLHQoYGNsaWNrYCx1LCgpPT5zZSgpKSxWKGBrZXlwcmVzc2AsdSxlPT5lLmtleT09PXIuRW50ZXImJnNlKCkpLFooZSxsKSxCKCksYygpfUFlKFtgY2xpY2tgXSk7dmFyIGZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gcHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKFNlLGAkYnV0dG9uRnJhbWVXaWR0aGAscykscj0oKT0+TSh0ZSxgJHNob3VsZFJlbmRlckJ1dHRvbkZyYW1lYCxzKSxpPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLG89KCk9Pk0oaixgJHRgLHMpLFtzLGNdPU8oKSxsPXgodm9pZCAwKSxkPWU9Pnt3KGwpJiYodyhsKS5zdHlsZS53aWR0aD1gJHtlfXB4YCl9LHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6cH09RS5nZXRPcHRpb25zKCk7QygoKT0+e3cobCkmJmQobigpKX0pO3ZhciBtPVQoKSxoPUQobSksZz1lPT57dmFyIHQ9ZnQoKTtsZXQgbjtxZShhKHQpLCgpPT5pKCl8fG8oKSxlPT57e2xldCB0PUEoWCk7UShlLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIGR0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRCdXR0b25GcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgYnV0dG9uYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KHQpfX0pfX0pLEYodCksSih0LGU9PmYobCxlKSwoKT0+dyhsKSksTCh0LGU9PktlPy4oZSkpLHYoZT0+e249SCh0LGBib3JkZXItcmFkaXVzOiA5OTk5cHg7IGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDYlKSAwcHggMXB4IDZweCwgcmdiKDAgMCAwIC8gJHtwPy5saW1pdFNoYWRvdz9gMjAlKSAwcHggMnB4IDEycHhgOmAxMiUpIDBweCAycHggMzJweGB9OyBjb2xvci1zY2hlbWU6IG5vcm1hbDtgLG4sZSksVyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRCdXR0b25GcmFtZSl9LFsoKT0+KHtoZWlnaHQ6dSg1Nil9KV0pLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZGVsYXk6MTUwLGR1cmF0aW9uOjMwMH0pKSxLKDIsdCwoKT0+YmUsKCk9Pih7ZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChoLGU9PntyKCkmJmUoZyl9KSxaKGUsbSksQigpLGMoKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkluaXRpYWxpemVkPTBdPWBJbml0aWFsaXplZGAsZVtlLkxvYWRpbmc9MV09YExvYWRpbmdgLGVbZS5TdWNjZXNzPTJdPWBTdWNjZXNzYCxlW2UuRXJyb3I9M109YEVycm9yYCxlfSh7fSksbXQ9bmV3IE1hcCxodD1hc3luYyBlPT57bGV0IHQ9KGF3YWl0IGUoKSkuZGVmYXVsdDtyZXR1cm4gbXQuc2V0KGUsdCksdH07ZnVuY3Rpb24gZ3QoZSx0KXtOKHQsITApO2xldCBuPXZlKHQsYGRlbGF5YCwzLDIwMCkscj14KGRlKCQuSW5pdGlhbGl6ZWQpKSxpPXgodm9pZCAwKSxhPXgodm9pZCAwKSxvPXgodm9pZCAwKSxzPUEoKCk9PncoaSkpLGM9KCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHcobykpfSxsPWFzeW5jKCk9PntjKCksZihhLHZvaWQgMCksZihpLHZvaWQgMCksbigpPjA/KGYociwkLkluaXRpYWxpemVkLCEwKSxmKG8sd2luZG93LnNldFRpbWVvdXQoKCk9PntmKHIsJC5Mb2FkaW5nLCEwKX0sbigpKSwhMCkpOmYociwkLkxvYWRpbmcsITApO3RyeXtmKGksYXdhaXQgaHQodC5sb2FkZXIpLCEwKSxmKHIsJC5TdWNjZXNzLCEwKX1jYXRjaChlKXtpZihmKHIsJC5FcnJvciwhMCksZSBpbnN0YW5jZW9mIEVycm9yKWYoYSxlLCEwKTtlbHNlIHRocm93IGV9YygpfTttdC5oYXModC5sb2FkZXIpPyhmKHIsJC5TdWNjZXNzLCEwKSxmKGksbXQuZ2V0KHQubG9hZGVyKSwhMCkpOmsoKCk9PntsKCl9KTt2YXIgdT1UKCksZD1EKHUpLHA9ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQuZXJyb3IsKCk9Pih7ZXJyb3I6dyhhKX0pKSxaKGUsbil9LG09ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQubG9hZGluZyksWihlLG4pfSxoPWU9Pnt2YXIgdD1UKCk7RmUoRCh0KSwoKT0+dyhzKSwoZSx0KT0+e3QoZSx7fSl9KSxaKGUsdCl9O1AoZCxlPT57dyhyKT09PSQuRXJyb3ImJnQuZXJyb3I/ZShwKTp3KHIpPT09JC5Mb2FkaW5nP2UobSwxKTp3KHIpPT09JC5TdWNjZXNzJiZlKGgsMil9KSxaKGUsdSksQigpfXZhciBfdD0oKT0+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+e3ZhciB0PUR0KCksbj1hKHQpO3Eobix7c2l6ZTo0NH0pO3ZhciByPW0obiwyKSxpPWEocik7eihpLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSk7dmFyIG89bShpLDIpO3oobyx7aGVpZ2h0OjIwLHdpZHRoOjI3MH0pLHoobShvLDIpLHtoZWlnaHQ6MjAsd2lkdGg6MTIyfSksRihyKSxGKHQpLFooZSx0KX0sRHQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSI+PCE+IDxkaXYgY2xhc3M9Im10LTQgc3BhY2UteS0yIj48IT4gPCE+IDwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIE90KGUpe2d0KGUse2dldCBsb2FkZXIoKXtyZXR1cm4gVHR9LGRlbGF5OjAsZ2V0IGxvYWRpbmcoKXtyZXR1cm4gRXR9fSl9dmFyIGt0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gQXQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKHllLGAkcG9wdXBGcmFtZUhlaWdodGAsbykscj0oKT0+TShFZSxgJGhhc1BvcHVwRnJhbWVIb3ZlcmAsbyksaT0oKT0+TShPZSxgJHNob3VsZFJlbmRlclBvcHVwRnJhbWVgLG8pLFtvLHNdPU8oKSxjPXgodm9pZCAwKSxsPWU9Pnt3KGMpJiYodyhjKS5zdHlsZS5tYXhIZWlnaHQ9YCR7ZX1weGApfSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOmR9PUUuZ2V0T3B0aW9ucygpO0MoKCk9Pnt3KGMpJiZsKG4oKSl9KTtsZXQgcD1BKCgpPT5yKCk/LjI4Oi4xNik7dmFyIG09VCgpLGg9RChtKSxnPWU9Pnt2YXIgdD1rdCgpO2xldCBuO3ZhciByPWEodCk7e2xldCBlPUEoWCk7UShyLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIE90fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRQb3B1cEZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBwb3B1cGAsZ2V0IGZyYW1lU3R5bGUoKXtyZXR1cm4gdyhlKX19KX1GKHQpLEoodCxlPT5mKGMsZSksKCk9PncoYykpLEwodCxlPT5jZT8uKGUpKSx2KGU9PntuPUgodCxgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBtYXgtaGVpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0YCxuLGUpLFcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0UG9wdXBGcmFtZSl9LFsoKT0+KHt3aWR0aDp1KDMwMCksImJvcmRlci1yYWRpdXMiOnUoMjApLG92ZXJmbG93OmBoaWRkZW5gLCJib3gtc2hhZG93IjpgcmdiYSgwLCAwLCAwLCAke2Q/LmxpbWl0U2hhZG93P2AwLjIpIDBweCAzcHggMTJweGA6YCR7dyhwKX0pIDBweCAzcHggMTZweGB9YH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246NDAwfSkpLFooZSx0KX07UChoLGU9PntpKCkmJmUoZyl9KSxaKGUsbSksQigpLHMoKX12YXIganQ9ZChgPGRpdiBjbGFzcz0iZmxleCBwLTIiPjxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj12ZSh0LGBzaXplYCwzLGBtZGApLHI9dmUodCxgY29sb3JgLDMsYGJsYWNrYCksaT1BKCgpPT50Lml0ZXJhdGlvbnM/P2BpbmZpbml0ZWApO3ZhciBvPWp0KCkscz1hKG8pO2xldCBjO3ZhciBsPW0ocywyKTtsZXQgdTt2YXIgZD1tKGwsMik7bGV0IGY7RihvKSx2KCgpPT57WShzLDEsYHR5cGluZy1pbmRpY2F0b3IgJHtuKCl9IGluZGljYXRvci1jb2xvci0ke3IoKX0gYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksYz1IKHMsYGAsYyx7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KSxZKGwsMSxgdHlwaW5nLWluZGljYXRvciAke24oKX0gaW5kaWNhdG9yLWNvbG9yLSR7cigpfSB0eXBpbmctaW5kaWNhdG9yLXNlY29uZCBhbmltYXRlLXR5cGluZ2AsYHN2ZWx0ZS1zNDB4Z2tgKSx1PUgobCxgYCx1LHsiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCI6dyhpKX0pLFkoZCwxLGB0eXBpbmctaW5kaWNhdG9yICR7bigpfSBpbmRpY2F0b3ItY29sb3ItJHtyKCl9IHR5cGluZy1pbmRpY2F0b3ItdGhpcmQgYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksZj1IKGQsYGAsZix7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KX0pLFooZSxvKX12YXIgTnQ9ZChgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgaC1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGciPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFB0KGUpe3ZhciB0PU50KCk7TXQoYSh0KSx7aXRlcmF0aW9uczoyfSksRih0KSxaKGUsdCl9dmFyIEZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSXQoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGVlLGAkc2hvdWxkUmVuZGVyVHlwaW5nRnJhbWVgLHIpLFtyLGldPU8oKSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnN9PUUuZ2V0T3B0aW9ucygpO0koKTt2YXIgYz1UKCksbD1EKGMpLGQ9ZT0+e3ZhciB0PUZ0KCk7bGV0IG47dmFyIHI9YSh0KTt7bGV0IGU9YihYKTtRKHIse2dldCBjb21wb25lbnQoKXtyZXR1cm4gUHR9LGdldCBpZCgpe3JldHVybiBHLndpZGdldFR5cGluZ0ZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCB0eXBpbmdgLGdldCBmcmFtZVN0eWxlKCl7cmV0dXJuIHcoZSl9fSl9Rih0KSxMKHQsZT0+bz8uKGUpKSx2KGU9PntuPUgodCxgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpICR7cz8ubGltaXRTaGFkb3c/YDBweCAzcHggMTJweGA6YDBweCAzcHggMTZweGB9OyBib3JkZXItcmFkaXVzOiAyNHB4O2AsbixlKSxXKHQsYGRhdGEtdGVzdGlkYCxHLndpZGdldFR5cGluZ0ZyYW1lKX0sWygpPT4oe2hlaWdodDp1KDQwKSx3aWR0aDp1KDcwKSxvdmVyZmxvdzpgaGlkZGVuYH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChsLGU9PntuKCkmJmUoZCl9KSxaKGUsYyksQigpLGkoKX12YXIgTHQ9TGUobnVsbCksUnQ9VGUoW0x0XSwoW2VdKT0+ISFlKSx6dD1kKGA8aW1nIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIHNlbGVjdC1ub25lIGJnLWJsYWNrIiB3aWR0aD0iYXV0byIgaGVpZ2h0PSJhdXRvIi8+YCksQnQ9ZChgPHZpZGVvIGNvbnRyb2xzPSIiIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIGJnLWJsYWNrIG9iamVjdC1jb250YWluIj48dHJhY2sga2luZD0iY2FwdGlvbnMiLz4gPHNvdXJjZS8+PC92aWRlbz5gLDIpLFZ0PWQoYDxkaXYgY2xhc3M9InctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCI+PGRpdiBjbGFzcz0iZmxleC1zaHJpbmsgZmxleCBmbGV4LXJvdyB3LWZ1bGwgYmctYmxhY2sgdGV4dC13aGl0ZSI+PGRpdiBjbGFzcz0iZmxleC1ncm93IGZsZXggaXRlbXMtY2VudGVyIHRleHQtbWQgcHgtNCBvdmVyZmxvdy1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiI+IDwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleC1zaHJpbmsiPjwhPjwvZGl2PjwvZGl2PiA8ZGl2PjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIEh0KGUsbil7TihuLCEwKTtsZXQgcj0oKT0+TShyZSxgJGlzRGVza3RvcGAscyksaT0oKT0+TShMdCxgJHByZXZpZXdlZE1lZGlhYCxzKSxvPSgpPT5NKGosYCR0YCxzKSxbcyxjXT1PKCksbD1BKHIpLHU9ZT0+e2U9PT1gb3ZlcmxheWAmJiF3KGwpfHxMdC5zZXQobnVsbCl9O3ZhciBkPVZ0KCksZj1hKGQpLHA9YShmKSxoPWEocCksZz1hKGgsITApO0YoaCksRihwKTt2YXIgXz1tKHAsMikseT1hKF8pO3tsZXQgZT1BKCgpPT5vKCkoYHRvb2x0aXAuY2xvc2VgKSk7VmUoeSx7b25DbGljazooKT0+dShgYnV0dG9uYCksZ2V0IGljb24oKXtyZXR1cm4gSWV9LGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gdyhlKX0saWNvblNjYWxlOiEwLHNpemU6YHhsYH0pfUYoXyksRihmKTt2YXIgYj1tKGYsMikseD1hKGIpLFM9ZT0+e3ZhciBuPXp0KCk7digoKT0+e1cobixgc3JjYCxpKCk/LmF0dGFjaG1lbnQudXJsKSxXKG4sYGFsdGAsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKX0pLHQoYGNsaWNrYCxuLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLFYoYGtleXByZXNzYCxuLCgpPT57fSksWihlLG4pfSxDPWU9Pnt2YXIgbj1CdCgpO24uYXV0b3BsYXk9ITAsbi5sb29wPSEwO3ZhciByPW0oYShuKSwyKTtGKG4pLHYoKCk9Plcocixgc3JjYCxpKCkuYXR0YWNobWVudC51cmwpKSx0KGBjbGlja2AsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxWKGBrZXlwcmVzc2AsbiwoKT0+e30pLFooZSxuKX07UCh4LGU9PntpKCk/LnR5cGU9PT13ZS5JbWFnZT9lKFMpOmkoKT8udHlwZT09PXdlLlZpZGVvJiZlKEMsMSl9KSxGKGIpLEYoZCksdigoKT0+e2xlKGcsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKSxZKGIsMSxDZShbYHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4LWdyb3cgZmxleCBpdGVtcy1jZW50ZXIgYmctYmxhY2svODAgei0xMGAscigpP2BwLThgOmBwLTRgXSkpfSksdChgY2xpY2tgLGIsKCk9PnUoYG92ZXJsYXlgKSksVihga2V5cHJlc3NgLGIsKCk9Pnt9KSxLKDEsZCwoKT0+VSwoKT0+KHt5OjIwLGRlbGF5OjMwMCxkdXJhdGlvbjo0MDB9KSksSygyLGQsKCk9PlUsKCk9Pih7eToxMCxkdXJhdGlvbjoyNTB9KSksWihlLGQpLEIoKSxjKCl9QWUoW2BjbGlja2BdKTt2YXIgVXQ9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBXdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oUnQsYCRzaG91bGRSZW5kZXJNZWRpYVByZXZpZXdgLHIpLFtyLGldPU8oKTtJKCk7dmFyIG89VCgpLHM9RChvKSxjPWU9Pnt2YXIgdD1VdCgpO0godCxgYCx7fSx7dHJhbnNpdGlvbjpgbWF4LWhlaWdodCAyNTBtcyBlYXNlLWluLW91dCwgd2lkdGggMjUwbXMgZWFzZS1pbi1vdXRgfSk7dmFyIG49YSh0KTt7bGV0IGU9YigoKT0+WChlPT57ZS5zdHlsZS5wb3NpdGlvbj1gZml4ZWRgfSkpO1Eobix7Z2V0IGNvbXBvbmVudCgpe3JldHVybiBIdH0sZ2V0IGlkKCl7cmV0dXJuIEcud2lkZ2V0SW1hZ2VQcmV2aWV3fSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBpbWFnZSBwcmV2aWV3YCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LGU9PldlPy4oZSkpLHYoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0SW1hZ2VQcmV2aWV3KSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheToxMDAsZHVyYXRpb246MjUwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChzLGU9PntuKCkmJmUoYyl9KSxaKGUsbyksQigpLGkoKX12YXIgR3Q9ZChgPCE+IDwhPiA8IT4gPCE+IDwhPmAsMSk7ZnVuY3Rpb24gS3QodCxyKXtOKHIsITApO2xldCBpPSgpPT5NKG1lLGAkbGFzdFVucmVhZE1lc3NhZ2VgLG8pLGE9KCk9Pk0oXyxgJGlzTWVzc2VuZ2VyRnJhbWVPcGVuYCxvKSxbbyxzXT1PKCk7aygoKT0+eyhhc3luYygpPT57YXdhaXQgemUoKSxhd2FpdCBwZS5pbml0Q2xpZW50KCl9KSgpfSksQygoKT0+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tdDZXeExBQkEuanMubWFw"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/framework-945b357d4a851f4b.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.423Z","timestamp":1785133562423,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/framework-945b357d4a851f4b.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"framework-945b357d4a851f4b.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"b03f4f197a61d1e206a92adaac65d7fe\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/framework-945b357d4a851f4b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6nfwr-1785133562428-f0dfd601e12a\r\ncontent-length: 46335\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":"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":140001,"size_decoded":46983,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"3e0be0c20d8ec72d51721fa067bcf007","sha1":"4a609e7d590673d77039b3819e940cd201dc26ea","sha256":"b051674b20e716839ceb594ff84b53cd3c9ffb3180efc7a30f23203c5303c364","sha512":"57489e972ea9682b4dda3b43547bc4f134b11e7f741c49643b88e49f47be8b525110741b1e17bdfcfbf225cb6289721ee4c431e1678cb0ac0b060b691a726952","ssdeep":"1536:M3ov1NH6ZMumbFHH4jeUn6SJk1SNoc7I6rRqQL:M4zb5e6Sa1SRBFhL","tlshash":"f8d309e83996f6516ab311a700ef2803737d1a1b280c4960e215fd9e75b842bb17bfdd","first_seen":"2024-09-16T14:21:19Z","last_seen":"2026-07-30T05:53:23.018859Z","times_seen":2928,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua19OX0U9c2VsZi53ZWJwYWNrQ2h1bmtfTl9FfHxbXSkucHVzaChbWzk3NzRdLHs2NDQ0ODpmdW5jdGlvbihlLG4sdCl7dmFyIHIsbCxhLHUsbyxpLHM9dCg2NzI5NCksYz10KDYzODQwKTtmdW5jdGlvbiBmKGUpe2Zvcih2YXIgbj0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKW4rPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1t0XSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIituKyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9dmFyIGQ9bmV3IFNldCxwPXt9O2Z1bmN0aW9uIG0oZSxuKXtoKGUsbiksaChlKyJDYXB0dXJlIixuKX1mdW5jdGlvbiBoKGUsbil7Zm9yKHBbZV09bixlPTA7ZTxuLmxlbmd0aDtlKyspZC5hZGQobltlXSl9dmFyIGc9ISgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvd3x8dm9pZCAwPT09d2luZG93LmRvY3VtZW50fHx2b2lkIDA9PT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksdj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHk9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxiPXt9LGs9e307ZnVuY3Rpb24gdyhlLG4sdCxyLGwsYSx1KXt0aGlzLmFjY2VwdHNCb29sZWFucz0yPT09bnx8Mz09PW58fDQ9PT1uLHRoaXMuYXR0cmlidXRlTmFtZT1yLHRoaXMuYXR0cmlidXRlTmFtZXNwYWNlPWwsdGhpcy5tdXN0VXNlUHJvcGVydHk9dCx0aGlzLnByb3BlcnR5TmFtZT1lLHRoaXMudHlwZT1uLHRoaXMuc2FuaXRpemVVUkw9YSx0aGlzLnJlbW92ZUVtcHR5U3RyaW5nPXV9dmFyIFM9e307ImNoaWxkcmVuIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIGRlZmF1bHRWYWx1ZSBkZWZhdWx0Q2hlY2tlZCBpbm5lckhUTUwgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyBzdHlsZSIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe1NbZV09bmV3IHcoZSwwLCExLGUsbnVsbCwhMSwhMSl9KSxbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImNsYXNzTmFtZSIsImNsYXNzIl0sWyJodG1sRm9yIiwiZm9yIl0sWyJodHRwRXF1aXYiLCJodHRwLWVxdWl2Il1dLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49ZVswXTtTW25dPW5ldyB3KG4sMSwhMSxlWzFdLG51bGwsITEsITEpfSksWyJjb250ZW50RWRpdGFibGUiLCJkcmFnZ2FibGUiLCJzcGVsbENoZWNrIiwidmFsdWUiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe1NbZV09bmV3IHcoZSwyLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pLFsiYXV0b1JldmVyc2UiLCJleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkIiwiZm9jdXNhYmxlIiwicHJlc2VydmVBbHBoYSJdLmZvckVhY2goZnVuY3Rpb24oZSl7U1tlXT1uZXcgdyhlLDIsITEsZSxudWxsLCExLCExKX0pLCJhbGxvd0Z1bGxTY3JlZW4gYXN5bmMgYXV0b0ZvY3VzIGF1dG9QbGF5IGNvbnRyb2xzIGRlZmF1bHQgZGVmZXIgZGlzYWJsZWQgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUgZGlzYWJsZVJlbW90ZVBsYXliYWNrIGZvcm1Ob1ZhbGlkYXRlIGhpZGRlbiBsb29wIG5vTW9kdWxlIG5vVmFsaWRhdGUgb3BlbiBwbGF5c0lubGluZSByZWFkT25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3MgaXRlbVNjb3BlIi5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oZSl7U1tlXT1uZXcgdyhlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSksWyJjaGVja2VkIiwibXVsdGlwbGUiLCJtdXRlZCIsInNlbGVjdGVkIl0uZm9yRWFjaChmdW5jdGlvbihlKXtTW2VdPW5ldyB3KGUsMywhMCxlLG51bGwsITEsITEpfSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe1NbZV09bmV3IHcoZSw0LCExLGUsbnVsbCwhMSwhMSl9KSxbImNvbHMiLCJyb3dzIiwic2l6ZSIsInNwYW4iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe1NbZV09bmV3IHcoZSw2LCExLGUsbnVsbCwhMSwhMSl9KSxbInJvd1NwYW4iLCJzdGFydCJdLmZvckVhY2goZnVuY3Rpb24oZSl7U1tlXT1uZXcgdyhlLDUsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEsITEpfSk7dmFyIHg9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIEUoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX1mdW5jdGlvbiBfKGUsbix0LHIpe3ZhciBsLGE9Uy5oYXNPd25Qcm9wZXJ0eShuKT9TW25dOm51bGw7KG51bGwhPT1hPzAhPT1hLnR5cGU6cnx8ISgyPG4ubGVuZ3RoKXx8Im8iIT09blswXSYmIk8iIT09blswXXx8Im4iIT09blsxXSYmIk4iIT09blsxXSkmJihmdW5jdGlvbihlLG4sdCxyKXtpZihudWxsPT1ufHxmdW5jdGlvbihlLG4sdCxyKXtpZihudWxsIT09dCYmMD09PXQudHlwZSlyZXR1cm4hMTtzd2l0Y2godHlwZW9mIG4pe2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpyZXR1cm4hMDtjYXNlImJvb2xlYW4iOmlmKHIpcmV0dXJuITE7aWYobnVsbCE9PXQpcmV0dXJuIXQuYWNjZXB0c0Jvb2xlYW5zO3JldHVybiJkYXRhLSIhPT0oZT1lLnRvTG93ZXJDYXNlKCkuc2xpY2UoMCw1KSkmJiJhcmlhLSIhPT1lO2RlZmF1bHQ6cmV0dXJuITF9fShlLG4sdCxyKSlyZXR1cm4hMDtpZihyKXJldHVybiExO2lmKG51bGwhPT10KXN3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4hbjtjYXNlIDQ6cmV0dXJuITE9PT1uO2Nhc2UgNTpyZXR1cm4gaXNOYU4obik7Y2FzZSA2OnJldHVybiBpc05hTihuKXx8MT5ufXJldHVybiExfShuLHQsYSxyKSYmKHQ9bnVsbCkscnx8bnVsbD09PWE/KGw9biwoISF2LmNhbGwoayxsKXx8IXYuY2FsbChiLGwpJiYoeS50ZXN0KGwpP2tbbF09ITA6KGJbbF09ITAsITEpKSkmJihudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLCIiK3QpKSk6YS5tdXN0VXNlUHJvcGVydHk/ZVthLnByb3BlcnR5TmFtZV09bnVsbD09PXQ/MyE9PWEudHlwZSYmIiI6dDoobj1hLmF0dHJpYnV0ZU5hbWUscj1hLmF0dHJpYnV0ZU5hbWVzcGFjZSxudWxsPT09dD9lLnJlbW92ZUF0dHJpYnV0ZShuKToodD0zPT09KGE9YS50eXBlKXx8ND09PWEmJiEwPT09dD8iIjoiIit0LHI/ZS5zZXRBdHRyaWJ1dGVOUyhyLG4sdCk6ZS5zZXRBdHRyaWJ1dGUobix0KSkpKX0iYWNjZW50LWhlaWdodCBhbGlnbm1lbnQtYmFzZWxpbmUgYXJhYmljLWZvcm0gYmFzZWxpbmUtc2hpZnQgY2FwLWhlaWdodCBjbGlwLXBhdGggY2xpcC1ydWxlIGNvbG9yLWludGVycG9sYXRpb24gY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIGNvbG9yLXByb2ZpbGUgY29sb3ItcmVuZGVyaW5nIGRvbWluYW50LWJhc2VsaW5lIGVuYWJsZS1iYWNrZ3JvdW5kIGZpbGwtb3BhY2l0eSBmaWxsLXJ1bGUgZmxvb2QtY29sb3IgZmxvb2Qtb3BhY2l0eSBmb250LWZhbWlseSBmb250LXNpemUgZm9udC1zaXplLWFkanVzdCBmb250LXN0cmV0Y2ggZm9udC1zdHlsZSBmb250LXZhcmlhbnQgZm9udC13ZWlnaHQgZ2x5cGgtbmFtZSBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIGhvcml6LWFkdi14IGhvcml6LW9yaWdpbi14IGltYWdlLXJlbmRlcmluZyBsZXR0ZXItc3BhY2luZyBsaWdodGluZy1jb2xvciBtYXJrZXItZW5kIG1hcmtlci1taWQgbWFya2VyLXN0YXJ0IG92ZXJsaW5lLXBvc2l0aW9uIG92ZXJsaW5lLXRoaWNrbmVzcyBwYWludC1vcmRlciBwYW5vc2UtMSBwb2ludGVyLWV2ZW50cyByZW5kZXJpbmctaW50ZW50IHNoYXBlLXJlbmRlcmluZyBzdG9wLWNvbG9yIHN0b3Atb3BhY2l0eSBzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIHN0cmlrZXRocm91Z2gtdGhpY2tuZXNzIHN0cm9rZS1kYXNoYXJyYXkgc3Ryb2tlLWRhc2hvZmZzZXQgc3Ryb2tlLWxpbmVjYXAgc3Ryb2tlLWxpbmVqb2luIHN0cm9rZS1taXRlcmxpbWl0IHN0cm9rZS1vcGFjaXR5IHN0cm9rZS13aWR0aCB0ZXh0LWFuY2hvciB0ZXh0LWRlY29yYXRpb24gdGV4dC1yZW5kZXJpbmcgdW5kZXJsaW5lLXBvc2l0aW9uIHVuZGVybGluZS10aGlja25lc3MgdW5pY29kZS1iaWRpIHVuaWNvZGUtcmFuZ2UgdW5pdHMtcGVyLWVtIHYtYWxwaGFiZXRpYyB2LWhhbmdpbmcgdi1pZGVvZ3JhcGhpYyB2LW1hdGhlbWF0aWNhbCB2ZWN0b3ItZWZmZWN0IHZlcnQtYWR2LXkgdmVydC1vcmlnaW4teCB2ZXJ0LW9yaWdpbi15IHdvcmQtc3BhY2luZyB3cml0aW5nLW1vZGUgeG1sbnM6eGxpbmsgeC1oZWlnaHQiLnNwbGl0KCIgIikuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2UoeCxFKTtTW25dPW5ldyB3KG4sMSwhMSxlLG51bGwsITEsITEpfSksInhsaW5rOmFjdHVhdGUgeGxpbms6YXJjcm9sZSB4bGluazpyb2xlIHhsaW5rOnNob3cgeGxpbms6dGl0bGUgeGxpbms6dHlwZSIuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVwbGFjZSh4LEUpO1Nbbl09bmV3IHcobiwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCExLCExKX0pLFsieG1sOmJhc2UiLCJ4bWw6bGFuZyIsInhtbDpzcGFjZSJdLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHgsRSk7U1tuXT1uZXcgdyhuLDEsITEsZSwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwhMSwhMSl9KSxbInRhYkluZGV4IiwiY3Jvc3NPcmlnaW4iXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe1NbZV09bmV3IHcoZSwxLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExLCExKX0pLFMueGxpbmtIcmVmPW5ldyB3KCJ4bGlua0hyZWYiLDEsITEsInhsaW5rOmhyZWYiLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwhMCwhMSksWyJzcmMiLCJocmVmIiwiYWN0aW9uIiwiZm9ybUFjdGlvbiJdLmZvckVhY2goZnVuY3Rpb24oZSl7U1tlXT1uZXcgdyhlLDEsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITAsITApfSk7dmFyIEM9cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCxQPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHo9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTD1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLFI9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxNPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxGPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEQ9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEk9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLFU9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIiksU3ltYm9sLmZvcigicmVhY3QuZGVidWdfdHJhY2VfbW9kZSIpO3ZhciBWPVN5bWJvbC5mb3IoInJlYWN0Lm9mZnNjcmVlbiIpO1N5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKSxTeW1ib2wuZm9yKCJyZWFjdC5jYWNoZSIpLFN5bWJvbC5mb3IoInJlYWN0LnRyYWNpbmdfbWFya2VyIik7dmFyICQ9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEEoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT0kJiZlWyRdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgaixCPU9iamVjdC5hc3NpZ247ZnVuY3Rpb24gSChlKXtpZih2b2lkIDA9PT1qKXRyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3ZhciBuPWUuc3RhY2sudHJpbSgpLm1hdGNoKC9cbiggKihhdCApPykvKTtqPW4mJm5bMV18fCIifXJldHVybiJcbiIraitlfXZhciBXPSExO2Z1bmN0aW9uIFEoZSxuKXtpZighZXx8VylyZXR1cm4iIjtXPSEwO3ZhciB0PUVycm9yLnByZXBhcmVTdGFja1RyYWNlO0Vycm9yLnByZXBhcmVTdGFja1RyYWNlPXZvaWQgMDt0cnl7aWYobil7aWYobj1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLCJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChuLFtdKX1jYXRjaChlKXt2YXIgcj1lfVJlZmxlY3QuY29uc3RydWN0KGUsW10sbil9ZWxzZXt0cnl7bi5jYWxsKCl9Y2F0Y2goZSl7cj1lfWUuY2FsbChuLnByb3RvdHlwZSl9fWVsc2V7dHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2goZSl7cj1lfWUoKX19Y2F0Y2gobil7aWYobiYmciYmInN0cmluZyI9PXR5cGVvZiBuLnN0YWNrKXtmb3IodmFyIGw9bi5zdGFjay5zcGxpdCgiXG4iKSxhPXIuc3RhY2suc3BsaXQoIlxuIiksdT1sLmxlbmd0aC0xLG89YS5sZW5ndGgtMTsxPD11JiYwPD1vJiZsW3VdIT09YVtvXTspby0tO2Zvcig7MTw9dSYmMDw9bzt1LS0sby0tKWlmKGxbdV0hPT1hW29dKXtpZigxIT09dXx8MSE9PW8pZG8gaWYodS0tLDA+LS1vfHxsW3VdIT09YVtvXSl7dmFyIGk9IlxuIitsW3VdLnJlcGxhY2UoIiBhdCBuZXcgIiwiIGF0ICIpO3JldHVybiBlLmRpc3BsYXlOYW1lJiZpLmluY2x1ZGVzKCI8YW5vbnltb3VzPiIpJiYoaT1pLnJlcGxhY2UoIjxhbm9ueW1vdXM+IixlLmRpc3BsYXlOYW1lKSksaX13aGlsZSgxPD11JiYwPD1vKTticmVha319fWZpbmFsbHl7Vz0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT10fXJldHVybihlPWU/ZS5kaXNwbGF5TmFtZXx8ZS5uYW1lOiIiKT9IKGUpOiIifWZ1bmN0aW9uIHEoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJvb2xlYW4iOmNhc2UibnVtYmVyIjpjYXNlInN0cmluZyI6Y2FzZSJ1bmRlZmluZWQiOmNhc2Uib2JqZWN0IjpyZXR1cm4gZTtkZWZhdWx0OnJldHVybiIifX1mdW5jdGlvbiBLKGUpe3ZhciBuPWUudHlwZTtyZXR1cm4oZT1lLm5vZGVOYW1lKSYmImlucHV0Ij09PWUudG9Mb3dlckNhc2UoKSYmKCJjaGVja2JveCI9PT1ufHwicmFkaW8iPT09bil9ZnVuY3Rpb24gWShlKXtlLl92YWx1ZVRyYWNrZXJ8fChlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSl7dmFyIG49SyhlKT8iY2hlY2tlZCI6InZhbHVlIix0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsbikscj0iIitlW25dO2lmKCFlLmhhc093blByb3BlcnR5KG4pJiZ2b2lkIDAhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5nZXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnNldCl7dmFyIGw9dC5nZXQsYT10LnNldDtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsLmNhbGwodGhpcyl9LHNldDpmdW5jdGlvbihlKXtyPSIiK2UsYS5jYWxsKHRoaXMsZSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7ZW51bWVyYWJsZTp0LmVudW1lcmFibGV9KSx7Z2V0VmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sc2V0VmFsdWU6ZnVuY3Rpb24oZSl7cj0iIitlfSxzdG9wVHJhY2tpbmc6ZnVuY3Rpb24oKXtlLl92YWx1ZVRyYWNrZXI9bnVsbCxkZWxldGUgZVtuXX19fX0oZSkpfWZ1bmN0aW9uIFgoZSl7aWYoIWUpcmV0dXJuITE7dmFyIG49ZS5fdmFsdWVUcmFja2VyO2lmKCFuKXJldHVybiEwO3ZhciB0PW4uZ2V0VmFsdWUoKSxyPSIiO3JldHVybiBlJiYocj1LKGUpP2UuY2hlY2tlZD8idHJ1ZSI6ImZhbHNlIjplLnZhbHVlKSwoZT1yKSE9PXQmJihuLnNldFZhbHVlKGUpLCEwKX1mdW5jdGlvbiBHKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2gobil7cmV0dXJuIGUuYm9keX19ZnVuY3Rpb24gWihlLG4pe3ZhciB0PW4uY2hlY2tlZDtyZXR1cm4gQih7fSxuLHtkZWZhdWx0Q2hlY2tlZDp2b2lkIDAsZGVmYXVsdFZhbHVlOnZvaWQgMCx2YWx1ZTp2b2lkIDAsY2hlY2tlZDpudWxsIT10P3Q6ZS5fd3JhcHBlclN0YXRlLmluaXRpYWxDaGVja2VkfSl9ZnVuY3Rpb24gSihlLG4pe3ZhciB0PW51bGw9PW4uZGVmYXVsdFZhbHVlPyIiOm4uZGVmYXVsdFZhbHVlLHI9bnVsbCE9bi5jaGVja2VkP24uY2hlY2tlZDpuLmRlZmF1bHRDaGVja2VkO3Q9cShudWxsIT1uLnZhbHVlP24udmFsdWU6dCksZS5fd3JhcHBlclN0YXRlPXtpbml0aWFsQ2hlY2tlZDpyLGluaXRpYWxWYWx1ZTp0LGNvbnRyb2xsZWQ6ImNoZWNrYm94Ij09PW4udHlwZXx8InJhZGlvIj09PW4udHlwZT9udWxsIT1uLmNoZWNrZWQ6bnVsbCE9bi52YWx1ZX19ZnVuY3Rpb24gZWUoZSxuKXtudWxsIT0obj1uLmNoZWNrZWQpJiZfKGUsImNoZWNrZWQiLG4sITEpfWZ1bmN0aW9uIGVuKGUsbil7ZWUoZSxuKTt2YXIgdD1xKG4udmFsdWUpLHI9bi50eXBlO2lmKG51bGwhPXQpIm51bWJlciI9PT1yPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdCk6ZS52YWx1ZSE9PSIiK3QmJihlLnZhbHVlPSIiK3QpO2Vsc2UgaWYoInN1Ym1pdCI9PT1yfHwicmVzZXQiPT09cil7ZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik7cmV0dXJufW4uaGFzT3duUHJvcGVydHkoInZhbHVlIik/ZXIoZSxuLnR5cGUsdCk6bi5oYXNPd25Qcm9wZXJ0eSgiZGVmYXVsdFZhbHVlIikmJmVyKGUsbi50eXBlLHEobi5kZWZhdWx0VmFsdWUpKSxudWxsPT1uLmNoZWNrZWQmJm51bGwhPW4uZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhbi5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gZXQoZSxuLHQpe2lmKG4uaGFzT3duUHJvcGVydHkoInZhbHVlIil8fG4uaGFzT3duUHJvcGVydHkoImRlZmF1bHRWYWx1ZSIpKXt2YXIgcj1uLnR5cGU7aWYoISgic3VibWl0IiE9PXImJiJyZXNldCIhPT1yfHx2b2lkIDAhPT1uLnZhbHVlJiZudWxsIT09bi52YWx1ZSkpcmV0dXJuO249IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSx0fHxuPT09ZS52YWx1ZXx8KGUudmFsdWU9biksZS5kZWZhdWx0VmFsdWU9bn0iIiE9PSh0PWUubmFtZSkmJihlLm5hbWU9IiIpLGUuZGVmYXVsdENoZWNrZWQ9ISFlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQsIiIhPT10JiYoZS5uYW1lPXQpfWZ1bmN0aW9uIGVyKGUsbix0KXsoIm51bWJlciIhPT1ufHxHKGUub3duZXJEb2N1bWVudCkhPT1lKSYmKG51bGw9PXQ/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK3QmJihlLmRlZmF1bHRWYWx1ZT0iIit0KSl9dmFyIGVsPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gZWEoZSxuLHQscil7aWYoZT1lLm9wdGlvbnMsbil7bj17fTtmb3IodmFyIGw9MDtsPHQubGVuZ3RoO2wrKyluWyIkIit0W2xdXT0hMDtmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKWw9bi5oYXNPd25Qcm9wZXJ0eSgiJCIrZVt0XS52YWx1ZSksZVt0XS5zZWxlY3RlZCE9PWwmJihlW3RdLnNlbGVjdGVkPWwpLGwmJnImJihlW3RdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLHQ9IiIrcSh0KSxuPW51bGw7bDxlLmxlbmd0aDtsKyspe2lmKGVbbF0udmFsdWU9PT10KXtlW2xdLnNlbGVjdGVkPSEwLHImJihlW2xdLmRlZmF1bHRTZWxlY3RlZD0hMCk7cmV0dXJufW51bGwhPT1ufHxlW2xdLmRpc2FibGVkfHwobj1lW2xdKX1udWxsIT09biYmKG4uc2VsZWN0ZWQ9ITApfX1mdW5jdGlvbiBldShlLG4pe2lmKG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpdGhyb3cgRXJyb3IoZig5MSkpO3JldHVybiBCKHt9LG4se3ZhbHVlOnZvaWQgMCxkZWZhdWx0VmFsdWU6dm9pZCAwLGNoaWxkcmVuOiIiK2UuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWV9KX1mdW5jdGlvbiBlbyhlLG4pe3ZhciB0PW4udmFsdWU7aWYobnVsbD09dCl7aWYodD1uLmNoaWxkcmVuLG49bi5kZWZhdWx0VmFsdWUsbnVsbCE9dCl7aWYobnVsbCE9bil0aHJvdyBFcnJvcihmKDkyKSk7aWYoZWwodCkpe2lmKDE8dC5sZW5ndGgpdGhyb3cgRXJyb3IoZig5MykpO3Q9dFswXX1uPXR9bnVsbD09biYmKG49IiIpLHQ9bn1lLl93cmFwcGVyU3RhdGU9e2luaXRpYWxWYWx1ZTpxKHQpfX1mdW5jdGlvbiBlaShlLG4pe3ZhciB0PXEobi52YWx1ZSkscj1xKG4uZGVmYXVsdFZhbHVlKTtudWxsIT10JiYoKHQ9IiIrdCkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uLmRlZmF1bHRWYWx1ZSYmZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCkpLG51bGwhPXImJihlLmRlZmF1bHRWYWx1ZT0iIityKX1mdW5jdGlvbiBlcyhlKXt2YXIgbj1lLnRleHRDb250ZW50O249PT1lLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlJiYiIiE9PW4mJm51bGwhPT1uJiYoZS52YWx1ZT1uKX1mdW5jdGlvbiBlYyhlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIGVmKGUsbil7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/ZWMobik6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PW4/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIGVkLGVwLGVtPShlZD1mdW5jdGlvbihlLG4pe2lmKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIhPT1lLm5hbWVzcGFjZVVSSXx8ImlubmVySFRNTCJpbiBlKWUuaW5uZXJIVE1MPW47ZWxzZXtmb3IoKGVwPWVwfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c3ZnPiIrbi52YWx1ZU9mKCkudG9TdHJpbmcoKSsiPC9zdmc+IixuPWVwLmZpcnN0Q2hpbGQ7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7Zm9yKDtuLmZpcnN0Q2hpbGQ7KWUuYXBwZW5kQ2hpbGQobi5maXJzdENoaWxkKX19LCJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKGUsbix0LHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uKCl7cmV0dXJuIGVkKGUsbix0LHIpfSl9OmVkKTtmdW5jdGlvbiBlaChlLG4pe2lmKG4pe3ZhciB0PWUuZmlyc3RDaGlsZDtpZih0JiZ0PT09ZS5sYXN0Q2hpbGQmJjM9PT10Lm5vZGVUeXBlKXt0Lm5vZGVWYWx1ZT1uO3JldHVybn19ZS50ZXh0Q29udGVudD1ufXZhciBlZz17YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsYXNwZWN0UmF0aW86ITAsYm9yZGVySW1hZ2VPdXRzZXQ6ITAsYm9yZGVySW1hZ2VTbGljZTohMCxib3JkZXJJbWFnZVdpZHRoOiEwLGJveEZsZXg6ITAsYm94RmxleEdyb3VwOiEwLGJveE9yZGluYWxHcm91cDohMCxjb2x1bW5Db3VudDohMCxjb2x1bW5zOiEwLGZsZXg6ITAsZmxleEdyb3c6ITAsZmxleFBvc2l0aXZlOiEwLGZsZXhTaHJpbms6ITAsZmxleE5lZ2F0aXZlOiEwLGZsZXhPcmRlcjohMCxncmlkQXJlYTohMCxncmlkUm93OiEwLGdyaWRSb3dFbmQ6ITAsZ3JpZFJvd1NwYW46ITAsZ3JpZFJvd1N0YXJ0OiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3BhbjohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZm9udFdlaWdodDohMCxsaW5lQ2xhbXA6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsdGFiU2l6ZTohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITAsZmlsbE9wYWNpdHk6ITAsZmxvb2RPcGFjaXR5OiEwLHN0b3BPcGFjaXR5OiEwLHN0cm9rZURhc2hhcnJheTohMCxzdHJva2VEYXNob2Zmc2V0OiEwLHN0cm9rZU1pdGVybGltaXQ6ITAsc3Ryb2tlT3BhY2l0eTohMCxzdHJva2VXaWR0aDohMH0sZXY9WyJXZWJraXQiLCJtcyIsIk1veiIsIk8iXTtmdW5jdGlvbiBleShlLG4sdCl7cmV0dXJuIG51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj8iIjp0fHwibnVtYmVyIiE9dHlwZW9mIG58fDA9PT1ufHxlZy5oYXNPd25Qcm9wZXJ0eShlKSYmZWdbZV0/KCIiK24pLnRyaW0oKTpuKyJweCJ9ZnVuY3Rpb24gZWIoZSxuKXtmb3IodmFyIHQgaW4gZT1lLnN0eWxlLG4paWYobi5oYXNPd25Qcm9wZXJ0eSh0KSl7dmFyIHI9MD09PXQuaW5kZXhPZigiLS0iKSxsPWV5KHQsblt0XSxyKTsiZmxvYXQiPT09dCYmKHQ9ImNzc0Zsb2F0Iikscj9lLnNldFByb3BlcnR5KHQsbCk6ZVt0XT1sfX1PYmplY3Qua2V5cyhlZykuZm9yRWFjaChmdW5jdGlvbihlKXtldi5mb3JFYWNoKGZ1bmN0aW9uKG4pe2VnW249bitlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyaW5nKDEpXT1lZ1tlXX0pfSk7dmFyIGVrPUIoe21lbnVpdGVtOiEwfSx7YXJlYTohMCxiYXNlOiEwLGJyOiEwLGNvbDohMCxlbWJlZDohMCxocjohMCxpbWc6ITAsaW5wdXQ6ITAsa2V5Z2VuOiEwLGxpbms6ITAsbWV0YTohMCxwYXJhbTohMCxzb3VyY2U6ITAsdHJhY2s6ITAsd2JyOiEwfSk7ZnVuY3Rpb24gZXcoZSxuKXtpZihuKXtpZihla1tlXSYmKG51bGwhPW4uY2hpbGRyZW58fG51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKGYoMTM3LGUpKTtpZihudWxsIT1uLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKXtpZihudWxsIT1uLmNoaWxkcmVuKXRocm93IEVycm9yKGYoNjApKTtpZigib2JqZWN0IiE9dHlwZW9mIG4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUx8fCEoIl9faHRtbCJpbiBuLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSl0aHJvdyBFcnJvcihmKDYxKSl9aWYobnVsbCE9bi5zdHlsZSYmIm9iamVjdCIhPXR5cGVvZiBuLnN0eWxlKXRocm93IEVycm9yKGYoNjIpKX19ZnVuY3Rpb24gZVMoZSxuKXtpZigtMT09PWUuaW5kZXhPZigiLSIpKXJldHVybiJzdHJpbmciPT10eXBlb2Ygbi5pcztzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgZXg9bnVsbDtmdW5jdGlvbiBlRShlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX12YXIgZV89bnVsbCxlQz1udWxsLGVQPW51bGw7ZnVuY3Rpb24gZU4oZSl7aWYoZT1yRChlKSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGVfKXRocm93IEVycm9yKGYoMjgwKSk7dmFyIG49ZS5zdGF0ZU5vZGU7biYmKG49clUobiksZV8oZS5zdGF0ZU5vZGUsZS50eXBlLG4pKX19ZnVuY3Rpb24gZXooZSl7ZUM/ZVA/ZVAucHVzaChlKTplUD1bZV06ZUM9ZX1mdW5jdGlvbiBlVCgpe2lmKGVDKXt2YXIgZT1lQyxuPWVQO2lmKGVQPWVDPW51bGwsZU4oZSksbilmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKWVOKG5bZV0pfX1mdW5jdGlvbiBlTChlLG4pe3JldHVybiBlKG4pfWZ1bmN0aW9uIGVSKCl7fXZhciBlTT0hMTtmdW5jdGlvbiBlRihlLG4sdCl7aWYoZU0pcmV0dXJuIGUobix0KTtlTT0hMDt0cnl7cmV0dXJuIGVMKGUsbix0KX1maW5hbGx5e2VNPSExLChudWxsIT09ZUN8fG51bGwhPT1lUCkmJihlUigpLGVUKCkpfX1mdW5jdGlvbiBlTyhlLG4pe3ZhciB0PWUuc3RhdGVOb2RlO2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciByPXJVKHQpO2lmKG51bGw9PT1yKXJldHVybiBudWxsO3N3aXRjaCh0PXJbbl0sbil7Y2FzZSJvbkNsaWNrIjpjYXNlIm9uQ2xpY2tDYXB0dXJlIjpjYXNlIm9uRG91YmxlQ2xpY2siOmNhc2Uib25Eb3VibGVDbGlja0NhcHR1cmUiOmNhc2Uib25Nb3VzZURvd24iOmNhc2Uib25Nb3VzZURvd25DYXB0dXJlIjpjYXNlIm9uTW91c2VNb3ZlIjpjYXNlIm9uTW91c2VNb3ZlQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlVXAiOmNhc2Uib25Nb3VzZVVwQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRW50ZXIiOihyPSFyLmRpc2FibGVkKXx8KHI9ISgiYnV0dG9uIj09PShlPWUudHlwZSl8fCJpbnB1dCI9PT1lfHwic2VsZWN0Ij09PWV8fCJ0ZXh0YXJlYSI9PT1lKSksZT0hcjticmVhaztkZWZhdWx0OmU9ITF9aWYoZSlyZXR1cm4gbnVsbDtpZih0JiYiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBFcnJvcihmKDIzMSxuLHR5cGVvZiB0KSk7cmV0dXJuIHR9dmFyIGVEPSExO2lmKGcpdHJ5e3ZhciBlST17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZUksInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtlRD0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsZUksZUkpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixlSSxlSSl9Y2F0Y2goZSl7ZUQ9ITF9ZnVuY3Rpb24gZVUoZSxuLHQscixsLGEsdSxvLGkpe3ZhciBzPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywzKTt0cnl7bi5hcHBseSh0LHMpfWNhdGNoKGUpe3RoaXMub25FcnJvcihlKX19dmFyIGVWPSExLGUkPW51bGwsZUE9ITEsZWo9bnVsbCxlQj17b25FcnJvcjpmdW5jdGlvbihlKXtlVj0hMCxlJD1lfX07ZnVuY3Rpb24gZUgoZSxuLHQscixsLGEsdSxvLGkpe2VWPSExLGUkPW51bGwsZVUuYXBwbHkoZUIsYXJndW1lbnRzKX1mdW5jdGlvbiBlVyhlKXt2YXIgbj1lLHQ9ZTtpZihlLmFsdGVybmF0ZSlmb3IoO24ucmV0dXJuOyluPW4ucmV0dXJuO2Vsc2V7ZT1uO2RvIDAhPSg0MDk4JihuPWUpLmZsYWdzKSYmKHQ9bi5yZXR1cm4pLGU9bi5yZXR1cm47d2hpbGUoZSl9cmV0dXJuIDM9PT1uLnRhZz90Om51bGx9ZnVuY3Rpb24gZVEoZSl7aWYoMTM9PT1lLnRhZyl7dmFyIG49ZS5tZW1vaXplZFN0YXRlO2lmKG51bGw9PT1uJiZudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYobj1lLm1lbW9pemVkU3RhdGUpLG51bGwhPT1uKXJldHVybiBuLmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZXEoZSl7aWYoZVcoZSkhPT1lKXRocm93IEVycm9yKGYoMTg4KSl9ZnVuY3Rpb24gZUsoZSl7cmV0dXJuIG51bGwhPT0oZT1mdW5jdGlvbihlKXt2YXIgbj1lLmFsdGVybmF0ZTtpZighbil7aWYobnVsbD09PShuPWVXKGUpKSl0aHJvdyBFcnJvcihmKDE4OCkpO3JldHVybiBuIT09ZT9udWxsOmV9Zm9yKHZhciB0PWUscj1uOzspe3ZhciBsPXQucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciBhPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1hKXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXt0PXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPWwuY2hpbGQ7YTspe2lmKGE9PT10KXJldHVybiBlcShsKSxlO2lmKGE9PT1yKXJldHVybiBlcShsKSxuO2E9YS5zaWJsaW5nfXRocm93IEVycm9yKGYoMTg4KSl9aWYodC5yZXR1cm4hPT1yLnJldHVybil0PWwscj1hO2Vsc2V7Zm9yKHZhciB1PSExLG89bC5jaGlsZDtvOyl7aWYobz09PXQpe3U9ITAsdD1sLHI9YTticmVha31pZihvPT09cil7dT0hMCxyPWwsdD1hO2JyZWFrfW89by5zaWJsaW5nfWlmKCF1KXtmb3Iobz1hLmNoaWxkO287KXtpZihvPT09dCl7dT0hMCx0PWEscj1sO2JyZWFrfWlmKG89PT1yKXt1PSEwLHI9YSx0PWw7YnJlYWt9bz1vLnNpYmxpbmd9aWYoIXUpdGhyb3cgRXJyb3IoZigxODkpKX19aWYodC5hbHRlcm5hdGUhPT1yKXRocm93IEVycm9yKGYoMTkwKSl9aWYoMyE9PXQudGFnKXRocm93IEVycm9yKGYoMTg4KSk7cmV0dXJuIHQuc3RhdGVOb2RlLmN1cnJlbnQ9PT10P2U6bn0oZSkpP2Z1bmN0aW9uIGUobil7aWYoNT09PW4udGFnfHw2PT09bi50YWcpcmV0dXJuIG47Zm9yKG49bi5jaGlsZDtudWxsIT09bjspe3ZhciB0PWUobik7aWYobnVsbCE9PXQpcmV0dXJuIHQ7bj1uLnNpYmxpbmd9cmV0dXJuIG51bGx9KGUpOm51bGx9dmFyIGVZPWMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxlWD1jLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrLGVHPWMudW5zdGFibGVfc2hvdWxkWWllbGQsZVo9Yy51bnN0YWJsZV9yZXF1ZXN0UGFpbnQsZUo9Yy51bnN0YWJsZV9ub3csZTA9Yy51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCxlMT1jLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5LGUyPWMudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksZTM9Yy51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxlND1jLnVuc3RhYmxlX0xvd1ByaW9yaXR5LGU4PWMudW5zdGFibGVfSWRsZVByaW9yaXR5LGU2PW51bGwsZTU9bnVsbCxlOT1NYXRoLmNsejMyP01hdGguY2x6MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIDA9PShlPj4+PTApPzMyOjMxLShlNyhlKS9uZXwwKXwwfSxlNz1NYXRoLmxvZyxuZT1NYXRoLkxOMixubj02NCxudD00MTk0MzA0O2Z1bmN0aW9uIG5yKGUpe3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpjYXNlIDEyODpjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpyZXR1cm4gNDE5NDI0MCZlO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmNhc2UgNjcxMDg4NjQ6cmV0dXJuIDEzMDAyMzQyNCZlO2Nhc2UgMTM0MjE3NzI4OnJldHVybiAxMzQyMTc3Mjg7Y2FzZSAyNjg0MzU0NTY6cmV0dXJuIDI2ODQzNTQ1NjtjYXNlIDUzNjg3MDkxMjpyZXR1cm4gNTM2ODcwOTEyO2Nhc2UgMTA3Mzc0MTgyNDpyZXR1cm4gMTA3Mzc0MTgyNDtkZWZhdWx0OnJldHVybiBlfX1mdW5jdGlvbiBubChlLG4pe3ZhciB0PWUucGVuZGluZ0xhbmVzO2lmKDA9PT10KXJldHVybiAwO3ZhciByPTAsbD1lLnN1c3BlbmRlZExhbmVzLGE9ZS5waW5nZWRMYW5lcyx1PTI2ODQzNTQ1NSZ0O2lmKDAhPT11KXt2YXIgbz11Jn5sOzAhPT1vP3I9bnIobyk6MCE9KGEmPXUpJiYocj1ucihhKSl9ZWxzZSAwIT0odT10Jn5sKT9yPW5yKHUpOjAhPT1hJiYocj1ucihhKSk7aWYoMD09PXIpcmV0dXJuIDA7aWYoMCE9PW4mJm4hPT1yJiYwPT0obiZsKSYmKChsPXImLXIpPj0oYT1uJi1uKXx8MTY9PT1sJiYwIT0oNDE5NDI0MCZhKSkpcmV0dXJuIG47aWYoMCE9KDQmcikmJihyfD0xNiZ0KSwwIT09KG49ZS5lbnRhbmdsZWRMYW5lcykpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLG4mPXI7MDxuOylsPTE8PCh0PTMxLWU5KG4pKSxyfD1lW3RdLG4mPX5sO3JldHVybiByfWZ1bmN0aW9uIG5hKGUpe3JldHVybiAwIT0oZT0tMTA3Mzc0MTgyNSZlLnBlbmRpbmdMYW5lcyk/ZToxMDczNzQxODI0JmU/MTA3Mzc0MTgyNDowfWZ1bmN0aW9uIG51KCl7dmFyIGU9bm47cmV0dXJuIDA9PSg0MTk0MjQwJihubjw8PTEpKSYmKG5uPTY0KSxlfWZ1bmN0aW9uIG5vKGUpe2Zvcih2YXIgbj1bXSx0PTA7MzE+dDt0Kyspbi5wdXNoKGUpO3JldHVybiBufWZ1bmN0aW9uIG5pKGUsbix0KXtlLnBlbmRpbmdMYW5lc3w9biw1MzY4NzA5MTIhPT1uJiYoZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCksKGU9ZS5ldmVudFRpbWVzKVtuPTMxLWU5KG4pXT10fWZ1bmN0aW9uIG5zKGUsbil7dmFyIHQ9ZS5lbnRhbmdsZWRMYW5lc3w9bjtmb3IoZT1lLmVudGFuZ2xlbWVudHM7dDspe3ZhciByPTMxLWU5KHQpLGw9MTw8cjtsJm58ZVtyXSZuJiYoZVtyXXw9biksdCY9fmx9fXZhciBuYz0wO2Z1bmN0aW9uIG5mKGUpe3JldHVybiAxPChlJj0tZSk/NDxlPzAhPSgyNjg0MzU0NTUmZSk/MTY6NTM2ODcwOTEyOjQ6MX12YXIgbmQsbnAsbm0sbmgsbmcsbnY9ITEsbnk9W10sbmI9bnVsbCxuaz1udWxsLG53PW51bGwsblM9bmV3IE1hcCxueD1uZXcgTWFwLG5FPVtdLG5fPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQgc3VibWl0Ii5zcGxpdCgiICIpO2Z1bmN0aW9uIG5DKGUsbil7c3dpdGNoKGUpe2Nhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6bmI9bnVsbDticmVhaztjYXNlImRyYWdlbnRlciI6Y2FzZSJkcmFnbGVhdmUiOm5rPW51bGw7YnJlYWs7Y2FzZSJtb3VzZW92ZXIiOmNhc2UibW91c2VvdXQiOm53PW51bGw7YnJlYWs7Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVyb3V0IjpuUy5kZWxldGUobi5wb2ludGVySWQpO2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpueC5kZWxldGUobi5wb2ludGVySWQpfX1mdW5jdGlvbiBuUChlLG4sdCxyLGwsYSl7cmV0dXJuIG51bGw9PT1lfHxlLm5hdGl2ZUV2ZW50IT09YT8oZT17YmxvY2tlZE9uOm4sZG9tRXZlbnROYW1lOnQsZXZlbnRTeXN0ZW1GbGFnczpyLG5hdGl2ZUV2ZW50OmEsdGFyZ2V0Q29udGFpbmVyczpbbF19LG51bGwhPT1uJiZudWxsIT09KG49ckQobikpJiZucChuKSk6KGUuZXZlbnRTeXN0ZW1GbGFnc3w9cixuPWUudGFyZ2V0Q29udGFpbmVycyxudWxsIT09bCYmLTE9PT1uLmluZGV4T2YobCkmJm4ucHVzaChsKSksZX1mdW5jdGlvbiBuTihlKXt2YXIgbj1yTyhlLnRhcmdldCk7aWYobnVsbCE9PW4pe3ZhciB0PWVXKG4pO2lmKG51bGwhPT10KXtpZigxMz09PShuPXQudGFnKSl7aWYobnVsbCE9PShuPWVRKHQpKSl7ZS5ibG9ja2VkT249bixuZyhlLnByaW9yaXR5LGZ1bmN0aW9uKCl7bm0odCl9KTtyZXR1cm59fWVsc2UgaWYoMz09PW4mJnQuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPTM9PT10LnRhZz90LnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBueihlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciBuPWUudGFyZ2V0Q29udGFpbmVyczswPG4ubGVuZ3RoOyl7dmFyIHQ9biQoZS5kb21FdmVudE5hbWUsZS5ldmVudFN5c3RlbUZsYWdzLG5bMF0sZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PXQpcmV0dXJuIG51bGwhPT0obj1yRCh0KSkmJm5wKG4pLGUuYmxvY2tlZE9uPXQsITE7dmFyIHI9bmV3KHQ9ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3IodC50eXBlLHQpO2V4PXIsdC50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSxleD1udWxsLG4uc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBuVChlLG4sdCl7bnooZSkmJnQuZGVsZXRlKG4pfWZ1bmN0aW9uIG5MKCl7bnY9ITEsbnVsbCE9PW5iJiZueihuYikmJihuYj1udWxsKSxudWxsIT09bmsmJm56KG5rKSYmKG5rPW51bGwpLG51bGwhPT1udyYmbnoobncpJiYobnc9bnVsbCksblMuZm9yRWFjaChuVCksbnguZm9yRWFjaChuVCl9ZnVuY3Rpb24gblIoZSxuKXtlLmJsb2NrZWRPbj09PW4mJihlLmJsb2NrZWRPbj1udWxsLG52fHwobnY9ITAsYy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksbkwpKSl9ZnVuY3Rpb24gbk0oZSl7ZnVuY3Rpb24gbihuKXtyZXR1cm4gblIobixlKX1pZigwPG55Lmxlbmd0aCl7blIobnlbMF0sZSk7Zm9yKHZhciB0PTE7dDxueS5sZW5ndGg7dCsrKXt2YXIgcj1ueVt0XTtyLmJsb2NrZWRPbj09PWUmJihyLmJsb2NrZWRPbj1udWxsKX19Zm9yKG51bGwhPT1uYiYmblIobmIsZSksbnVsbCE9PW5rJiZuUihuayxlKSxudWxsIT09bncmJm5SKG53LGUpLG5TLmZvckVhY2gobiksbnguZm9yRWFjaChuKSx0PTA7dDxuRS5sZW5ndGg7dCsrKShyPW5FW3RdKS5ibG9ja2VkT249PT1lJiYoci5ibG9ja2VkT249bnVsbCk7Zm9yKDswPG5FLmxlbmd0aCYmbnVsbD09PSh0PW5FWzBdKS5ibG9ja2VkT247KW5OKHQpLG51bGw9PT10LmJsb2NrZWRPbiYmbkUuc2hpZnQoKX12YXIgbkY9Qy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxuTz0hMDtmdW5jdGlvbiBuRChlLG4sdCxyKXt2YXIgbD1uYyxhPW5GLnRyYW5zaXRpb247bkYudHJhbnNpdGlvbj1udWxsO3RyeXtuYz0xLG5VKGUsbix0LHIpfWZpbmFsbHl7bmM9bCxuRi50cmFuc2l0aW9uPWF9fWZ1bmN0aW9uIG5JKGUsbix0LHIpe3ZhciBsPW5jLGE9bkYudHJhbnNpdGlvbjtuRi50cmFuc2l0aW9uPW51bGw7dHJ5e25jPTQsblUoZSxuLHQscil9ZmluYWxseXtuYz1sLG5GLnRyYW5zaXRpb249YX19ZnVuY3Rpb24gblUoZSxuLHQscil7aWYobk8pe3ZhciBsPW4kKGUsbix0LHIpO2lmKG51bGw9PT1sKXJvKGUsbixyLG5WLHQpLG5DKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLG4sdCxyLGwpe3N3aXRjaChuKXtjYXNlImZvY3VzaW4iOnJldHVybiBuYj1uUChuYixlLG4sdCxyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gbms9blAobmssZSxuLHQscixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIG53PW5QKG53LGUsbix0LHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIG5TLnNldChhLG5QKG5TLmdldChhKXx8bnVsbCxlLG4sdCxyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxueC5zZXQoYSxuUChueC5nZXQoYSl8fG51bGwsZSxuLHQscixsKSksITB9cmV0dXJuITF9KGwsZSxuLHQscikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKG5DKGUsciksNCZuJiYtMTxuXy5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9ckQobCk7aWYobnVsbCE9PWEmJm5kKGEpLG51bGw9PT0oYT1uJChlLG4sdCxyKSkmJnJvKGUsbixyLG5WLHQpLGE9PT1sKWJyZWFrO2w9YX1udWxsIT09bCYmci5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIHJvKGUsbixyLG51bGwsdCl9fXZhciBuVj1udWxsO2Z1bmN0aW9uIG4kKGUsbix0LHIpe2lmKG5WPW51bGwsbnVsbCE9PShlPXJPKGU9ZUUocikpKSl7aWYobnVsbD09PShuPWVXKGUpKSllPW51bGw7ZWxzZSBpZigxMz09PSh0PW4udGFnKSl7aWYobnVsbCE9PShlPWVRKG4pKSlyZXR1cm4gZTtlPW51bGx9ZWxzZSBpZigzPT09dCl7aWYobi5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gMz09PW4udGFnP24uc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtlPW51bGx9ZWxzZSBuIT09ZSYmKGU9bnVsbCl9cmV0dXJuIG5WPWUsbnVsbH1mdW5jdGlvbiBuQShlKXtzd2l0Y2goZSl7Y2FzZSJjYW5jZWwiOmNhc2UiY2xpY2siOmNhc2UiY2xvc2UiOmNhc2UiY29udGV4dG1lbnUiOmNhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6Y2FzZSJmb2N1c2luIjpjYXNlImZvY3Vzb3V0IjpjYXNlImlucHV0IjpjYXNlImludmFsaWQiOmNhc2Uia2V5ZG93biI6Y2FzZSJrZXlwcmVzcyI6Y2FzZSJrZXl1cCI6Y2FzZSJtb3VzZWRvd24iOmNhc2UibW91c2V1cCI6Y2FzZSJwYXN0ZSI6Y2FzZSJwYXVzZSI6Y2FzZSJwbGF5IjpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcnVwIjpjYXNlInJhdGVjaGFuZ2UiOmNhc2UicmVzZXQiOmNhc2UicmVzaXplIjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJ2b2x1bWVjaGFuZ2UiOmNhc2UiY2hhbmdlIjpjYXNlInNlbGVjdGlvbmNoYW5nZSI6Y2FzZSJ0ZXh0SW5wdXQiOmNhc2UiY29tcG9zaXRpb25zdGFydCI6Y2FzZSJjb21wb3NpdGlvbmVuZCI6Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6Y2FzZSJiZWZvcmVpbnB1dCI6Y2FzZSJibHVyIjpjYXNlImZ1bGxzY3JlZW5jaGFuZ2UiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAxO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJzY3JvbGwiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDQ7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goZTAoKSl7Y2FzZSBlMTpyZXR1cm4gMTtjYXNlIGUyOnJldHVybiA0O2Nhc2UgZTM6Y2FzZSBlNDpyZXR1cm4gMTY7Y2FzZSBlODpyZXR1cm4gNTM2ODcwOTEyO2RlZmF1bHQ6cmV0dXJuIDE2fWRlZmF1bHQ6cmV0dXJuIDE2fX12YXIgbmo9bnVsbCxuQj1udWxsLG5IPW51bGw7ZnVuY3Rpb24gblcoKXtpZihuSClyZXR1cm4gbkg7dmFyIGUsbix0PW5CLHI9dC5sZW5ndGgsbD0idmFsdWUiaW4gbmo/bmoudmFsdWU6bmoudGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmdFtlXT09PWxbZV07ZSsrKTt2YXIgdT1yLWU7Zm9yKG49MTtuPD11JiZ0W3Itbl09PT1sW2Etbl07bisrKTtyZXR1cm4gbkg9bC5zbGljZShlLDE8bj8xLW46dm9pZCAwKX1mdW5jdGlvbiBuUShlKXt2YXIgbj1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PW4mJihlPTEzKTplPW4sMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gbnEoKXtyZXR1cm4hMH1mdW5jdGlvbiBuSygpe3JldHVybiExfWZ1bmN0aW9uIG5ZKGUpe2Z1bmN0aW9uIG4obix0LHIsbCxhKXtmb3IodmFyIHUgaW4gdGhpcy5fcmVhY3ROYW1lPW4sdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT10LHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG49ZVt1XSx0aGlzW3VdPW4/bihsKTpsW3VdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT9ucTpuSyx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPW5LLHRoaXN9cmV0dXJuIEIobi5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1ucSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1ucSl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDpucX0pLG59dmFyIG5YLG5HLG5aLG5KPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LG4wPW5ZKG5KKSxuMT1CKHt9LG5KLHt2aWV3OjAsZGV0YWlsOjB9KSxuMj1uWShuMSksbjM9Qih7fSxuMSx7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTp0bCxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT1uWiYmKG5aJiYibW91c2Vtb3ZlIj09PWUudHlwZT8oblg9ZS5zY3JlZW5YLW5aLnNjcmVlblgsbkc9ZS5zY3JlZW5ZLW5aLnNjcmVlblkpOm5HPW5YPTAsblo9ZSksblgpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOm5HfX0pLG40PW5ZKG4zKSxuOD1uWShCKHt9LG4zLHtkYXRhVHJhbnNmZXI6MH0pKSxuNj1uWShCKHt9LG4xLHtyZWxhdGVkVGFyZ2V0OjB9KSksbjU9blkoQih7fSxuSix7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLG45PW5ZKEIoe30sbkose2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG43PW5ZKEIoe30sbkose2RhdGE6MH0pKSx0ZT17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0sdG49ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSx0dD17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIHRyKGUpe3ZhciBuPXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIG4uZ2V0TW9kaWZpZXJTdGF0ZT9uLmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT10dFtlXSkmJiEhbltlXX1mdW5jdGlvbiB0bCgpe3JldHVybiB0cn12YXIgdGE9blkoQih7fSxuMSx7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgbj10ZVtlLmtleV18fGUua2V5O2lmKCJVbmlkZW50aWZpZWQiIT09bilyZXR1cm4gbn1yZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlPzEzPT09KGU9blEoZSkpPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKToia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/dG5bZS5rZXlDb2RlXXx8IlVuaWRlbnRpZmllZCI6IiJ9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOnRsLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/blEoZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/blEoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfX0pKSx0dT1uWShCKHt9LG4zLHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSx0bz1uWShCKHt9LG4xLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6dGx9KSksdGk9blkoQih7fSxuSix7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksdHM9blkoQih7fSxuMyx7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSx0Yz1bOSwxMywyNywzMl0sdGY9ZyYmIkNvbXBvc2l0aW9uRXZlbnQiaW4gd2luZG93LHRkPW51bGw7ZyYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKHRkPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIHRwPWcmJiJUZXh0RXZlbnQiaW4gd2luZG93JiYhdGQsdG09ZyYmKCF0Znx8dGQmJjg8dGQmJjExPj10ZCksdGg9ITE7ZnVuY3Rpb24gdGcoZSxuKXtzd2l0Y2goZSl7Y2FzZSJrZXl1cCI6cmV0dXJuIC0xIT09dGMuaW5kZXhPZihuLmtleUNvZGUpO2Nhc2Uia2V5ZG93biI6cmV0dXJuIDIyOSE9PW4ua2V5Q29kZTtjYXNlImtleXByZXNzIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJmb2N1c291dCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gdHYoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZihlPWUuZGV0YWlsKSYmImRhdGEiaW4gZT9lLmRhdGE6bnVsbH12YXIgdHk9ITEsdGI9e2NvbG9yOiEwLGRhdGU6ITAsZGF0ZXRpbWU6ITAsImRhdGV0aW1lLWxvY2FsIjohMCxlbWFpbDohMCxtb250aDohMCxudW1iZXI6ITAscGFzc3dvcmQ6ITAscmFuZ2U6ITAsc2VhcmNoOiEwLHRlbDohMCx0ZXh0OiEwLHRpbWU6ITAsdXJsOiEwLHdlZWs6ITB9O2Z1bmN0aW9uIHRrKGUpe3ZhciBuPWUmJmUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09bj8hIXRiW2UudHlwZV06InRleHRhcmVhIj09PW59ZnVuY3Rpb24gdHcoZSxuLHQscil7ZXoociksMDwobj1ycyhuLCJvbkNoYW5nZSIpKS5sZW5ndGgmJih0PW5ldyBuMCgib25DaGFuZ2UiLCJjaGFuZ2UiLG51bGwsdCxyKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm59KSl9dmFyIHRTPW51bGwsdHg9bnVsbDtmdW5jdGlvbiB0RShlKXtybihlLDApfWZ1bmN0aW9uIHRfKGUpe2lmKFgockkoZSkpKXJldHVybiBlfWZ1bmN0aW9uIHRDKGUsbil7aWYoImNoYW5nZSI9PT1lKXJldHVybiBufXZhciB0UD0hMTtpZihnKXtpZihnKXt2YXIgdE49Im9uaW5wdXQiaW4gZG9jdW1lbnQ7aWYoIXROKXt2YXIgdHo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dHouc2V0QXR0cmlidXRlKCJvbmlucHV0IiwicmV0dXJuOyIpLHROPSJmdW5jdGlvbiI9PXR5cGVvZiB0ei5vbmlucHV0fXI9dE59ZWxzZSByPSExO3RQPXImJighZG9jdW1lbnQuZG9jdW1lbnRNb2RlfHw5PGRvY3VtZW50LmRvY3VtZW50TW9kZSl9ZnVuY3Rpb24gdFQoKXt0UyYmKHRTLmRldGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIix0TCksdHg9dFM9bnVsbCl9ZnVuY3Rpb24gdEwoZSl7aWYoInZhbHVlIj09PWUucHJvcGVydHlOYW1lJiZ0Xyh0eCkpe3ZhciBuPVtdO3R3KG4sdHgsZSxlRShlKSksZUYodEUsbil9fWZ1bmN0aW9uIHRSKGUsbix0KXsiZm9jdXNpbiI9PT1lPyh0VCgpLHRTPW4sdHg9dCx0Uy5hdHRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsdEwpKToiZm9jdXNvdXQiPT09ZSYmdFQoKX1mdW5jdGlvbiB0TShlKXtpZigic2VsZWN0aW9uY2hhbmdlIj09PWV8fCJrZXl1cCI9PT1lfHwia2V5ZG93biI9PT1lKXJldHVybiB0Xyh0eCl9ZnVuY3Rpb24gdEYoZSxuKXtpZigiY2xpY2siPT09ZSlyZXR1cm4gdF8obil9ZnVuY3Rpb24gdE8oZSxuKXtpZigiaW5wdXQiPT09ZXx8ImNoYW5nZSI9PT1lKXJldHVybiB0XyhuKX12YXIgdEQ9ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5pcz9PYmplY3QuaXM6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZT09PW4mJigwIT09ZXx8MS9lPT0xL24pfHxlIT1lJiZuIT1ufTtmdW5jdGlvbiB0SShlLG4pe2lmKHREKGUsbikpcmV0dXJuITA7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT09ZXx8Im9iamVjdCIhPXR5cGVvZiBufHxudWxsPT09bilyZXR1cm4hMTt2YXIgdD1PYmplY3Qua2V5cyhlKSxyPU9iamVjdC5rZXlzKG4pO2lmKHQubGVuZ3RoIT09ci5sZW5ndGgpcmV0dXJuITE7Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGw9dFtyXTtpZighdi5jYWxsKG4sbCl8fCF0RChlW2xdLG5bbF0pKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIHRVKGUpe2Zvcig7ZSYmZS5maXJzdENoaWxkOyllPWUuZmlyc3RDaGlsZDtyZXR1cm4gZX1mdW5jdGlvbiB0VihlLG4pe3ZhciB0LHI9dFUoZSk7Zm9yKGU9MDtyOyl7aWYoMz09PXIubm9kZVR5cGUpe2lmKHQ9ZStyLnRleHRDb250ZW50Lmxlbmd0aCxlPD1uJiZ0Pj1uKXJldHVybntub2RlOnIsb2Zmc2V0Om4tZX07ZT10fWU6e2Zvcig7cjspe2lmKHIubmV4dFNpYmxpbmcpe3I9ci5uZXh0U2libGluZzticmVhayBlfXI9ci5wYXJlbnROb2RlfXI9dm9pZCAwfXI9dFUocil9fWZ1bmN0aW9uIHQkKCl7Zm9yKHZhciBlPXdpbmRvdyxuPUcoKTtuIGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgdD0ic3RyaW5nIj09dHlwZW9mIG4uY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe3Q9ITF9aWYodCllPW4uY29udGVudFdpbmRvdztlbHNlIGJyZWFrO249RyhlLmRvY3VtZW50KX1yZXR1cm4gbn1mdW5jdGlvbiB0QShlKXt2YXIgbj1lJiZlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG4mJigiaW5wdXQiPT09biYmKCJ0ZXh0Ij09PWUudHlwZXx8InNlYXJjaCI9PT1lLnR5cGV8fCJ0ZWwiPT09ZS50eXBlfHwidXJsIj09PWUudHlwZXx8InBhc3N3b3JkIj09PWUudHlwZSl8fCJ0ZXh0YXJlYSI9PT1ufHwidHJ1ZSI9PT1lLmNvbnRlbnRFZGl0YWJsZSl9dmFyIHRqPWcmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsdEI9bnVsbCx0SD1udWxsLHRXPW51bGwsdFE9ITE7ZnVuY3Rpb24gdHEoZSxuLHQpe3ZhciByPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3RRfHxudWxsPT10Qnx8dEIhPT1HKHIpfHwocj0ic2VsZWN0aW9uU3RhcnQiaW4ocj10QikmJnRBKHIpP3tzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0sdFcmJnRJKHRXLHIpfHwodFc9ciwwPChyPXJzKHRILCJvblNlbGVjdCIpKS5sZW5ndGgmJihuPW5ldyBuMCgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsbix0KSxlLnB1c2goe2V2ZW50Om4sbGlzdGVuZXJzOnJ9KSxuLnRhcmdldD10QikpKX1mdW5jdGlvbiB0SyhlLG4pe3ZhciB0PXt9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09bi50b0xvd2VyQ2FzZSgpLHRbIldlYmtpdCIrZV09IndlYmtpdCIrbix0WyJNb3oiK2VdPSJtb3oiK24sdH12YXIgdFk9e2FuaW1hdGlvbmVuZDp0SygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOnRLKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDp0SygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9uZW5kOnRLKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx0WD17fSx0Rz17fTtmdW5jdGlvbiB0WihlKXtpZih0WFtlXSlyZXR1cm4gdFhbZV07aWYoIXRZW2VdKXJldHVybiBlO3ZhciBuLHQ9dFlbZV07Zm9yKG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZuIGluIHRHKXJldHVybiB0WFtlXT10W25dO3JldHVybiBlfWcmJih0Rz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHwoZGVsZXRlIHRZLmFuaW1hdGlvbmVuZC5hbmltYXRpb24sZGVsZXRlIHRZLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb24sZGVsZXRlIHRZLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbiksIlRyYW5zaXRpb25FdmVudCJpbiB3aW5kb3d8fGRlbGV0ZSB0WS50cmFuc2l0aW9uZW5kLnRyYW5zaXRpb24pO3ZhciB0Sj10WigiYW5pbWF0aW9uZW5kIiksdDA9dFooImFuaW1hdGlvbml0ZXJhdGlvbiIpLHQxPXRaKCJhbmltYXRpb25zdGFydCIpLHQyPXRaKCJ0cmFuc2l0aW9uZW5kIiksdDM9bmV3IE1hcCx0ND0iYWJvcnQgYXV4Q2xpY2sgY2FuY2VsIGNhblBsYXkgY2FuUGxheVRocm91Z2ggY2xpY2sgY2xvc2UgY29udGV4dE1lbnUgY29weSBjdXQgZHJhZyBkcmFnRW5kIGRyYWdFbnRlciBkcmFnRXhpdCBkcmFnTGVhdmUgZHJhZ092ZXIgZHJhZ1N0YXJ0IGRyb3AgZHVyYXRpb25DaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgZ290UG9pbnRlckNhcHR1cmUgaW5wdXQgaW52YWxpZCBrZXlEb3duIGtleVByZXNzIGtleVVwIGxvYWQgbG9hZGVkRGF0YSBsb2FkZWRNZXRhZGF0YSBsb2FkU3RhcnQgbG9zdFBvaW50ZXJDYXB0dXJlIG1vdXNlRG93biBtb3VzZU1vdmUgbW91c2VPdXQgbW91c2VPdmVyIG1vdXNlVXAgcGFzdGUgcGF1c2UgcGxheSBwbGF5aW5nIHBvaW50ZXJDYW5jZWwgcG9pbnRlckRvd24gcG9pbnRlck1vdmUgcG9pbnRlck91dCBwb2ludGVyT3ZlciBwb2ludGVyVXAgcHJvZ3Jlc3MgcmF0ZUNoYW5nZSByZXNldCByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdWJtaXQgc3VzcGVuZCB0aW1lVXBkYXRlIHRvdWNoQ2FuY2VsIHRvdWNoRW5kIHRvdWNoU3RhcnQgdm9sdW1lQ2hhbmdlIHNjcm9sbCB0b2dnbGUgdG91Y2hNb3ZlIHdhaXRpbmcgd2hlZWwiLnNwbGl0KCIgIik7ZnVuY3Rpb24gdDgoZSxuKXt0My5zZXQoZSxuKSxtKG4sW2VdKX1mb3IodmFyIHQ2PTA7dDY8dDQubGVuZ3RoO3Q2Kyspe3ZhciB0NT10NFt0Nl07dDgodDUudG9Mb3dlckNhc2UoKSwib24iKyh0NVswXS50b1VwcGVyQ2FzZSgpK3Q1LnNsaWNlKDEpKSl9dDgodEosIm9uQW5pbWF0aW9uRW5kIiksdDgodDAsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIiksdDgodDEsIm9uQW5pbWF0aW9uU3RhcnQiKSx0OCgiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIiksdDgoImZvY3VzaW4iLCJvbkZvY3VzIiksdDgoImZvY3Vzb3V0Iiwib25CbHVyIiksdDgodDIsIm9uVHJhbnNpdGlvbkVuZCIpLGgoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxoKCJvbk1vdXNlTGVhdmUiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSksaCgib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLGgoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxtKCJvbkNoYW5nZSIsImNoYW5nZSBjbGljayBmb2N1c2luIGZvY3Vzb3V0IGlucHV0IGtleWRvd24ga2V5dXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxtKCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksbSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksbSgib25Db21wb3NpdGlvbkVuZCIsImNvbXBvc2l0aW9uZW5kIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxtKCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSxtKCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciB0OT0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksdDc9bmV3IFNldCgiY2FuY2VsIGNsb3NlIGludmFsaWQgbG9hZCBzY3JvbGwgdG9nZ2xlIi5zcGxpdCgiICIpLmNvbmNhdCh0OSkpO2Z1bmN0aW9uIHJlKGUsbix0KXt2YXIgcj1lLnR5cGV8fCJ1bmtub3duLWV2ZW50IjtlLmN1cnJlbnRUYXJnZXQ9dCxmdW5jdGlvbihlLG4sdCxyLGwsYSx1LG8saSl7aWYoZUguYXBwbHkodGhpcyxhcmd1bWVudHMpLGVWKXtpZihlVil7dmFyIHM9ZSQ7ZVY9ITEsZSQ9bnVsbH1lbHNlIHRocm93IEVycm9yKGYoMTk4KSk7ZUF8fChlQT0hMCxlaj1zKX19KHIsbix2b2lkIDAsZSksZS5jdXJyZW50VGFyZ2V0PW51bGx9ZnVuY3Rpb24gcm4oZSxuKXtuPTAhPSg0Jm4pO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdLGw9ci5ldmVudDtyPXIubGlzdGVuZXJzO2U6e3ZhciBhPXZvaWQgMDtpZihuKWZvcih2YXIgdT1yLmxlbmd0aC0xOzA8PXU7dS0tKXt2YXIgbz1yW3VdLGk9by5pbnN0YW5jZSxzPW8uY3VycmVudFRhcmdldDtpZihvPW8ubGlzdGVuZXIsaSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO3JlKGwsbyxzKSxhPWl9ZWxzZSBmb3IodT0wO3U8ci5sZW5ndGg7dSsrKXtpZihpPShvPXJbdV0pLmluc3RhbmNlLHM9by5jdXJyZW50VGFyZ2V0LG89by5saXN0ZW5lcixpIT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7cmUobCxvLHMpLGE9aX19fWlmKGVBKXRocm93IGU9ZWosZUE9ITEsZWo9bnVsbCxlfWZ1bmN0aW9uIHJ0KGUsbil7dmFyIHQ9bltyUl07dm9pZCAwPT09dCYmKHQ9bltyUl09bmV3IFNldCk7dmFyIHI9ZSsiX19idWJibGUiO3QuaGFzKHIpfHwocnUobixlLDIsITEpLHQuYWRkKHIpKX1mdW5jdGlvbiBycihlLG4sdCl7dmFyIHI9MDtuJiYocnw9NCkscnUodCxlLHIsbil9dmFyIHJsPSJfcmVhY3RMaXN0ZW5pbmciK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO2Z1bmN0aW9uIHJhKGUpe2lmKCFlW3JsXSl7ZVtybF09ITAsZC5mb3JFYWNoKGZ1bmN0aW9uKG4peyJzZWxlY3Rpb25jaGFuZ2UiIT09biYmKHQ3LmhhcyhuKXx8cnIobiwhMSxlKSxycihuLCEwLGUpKX0pO3ZhciBuPTk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50O251bGw9PT1ufHxuW3JsXXx8KG5bcmxdPSEwLHJyKCJzZWxlY3Rpb25jaGFuZ2UiLCExLG4pKX19ZnVuY3Rpb24gcnUoZSxuLHQscil7c3dpdGNoKG5BKG4pKXtjYXNlIDE6dmFyIGw9bkQ7YnJlYWs7Y2FzZSA0Omw9bkk7YnJlYWs7ZGVmYXVsdDpsPW5VfXQ9bC5iaW5kKG51bGwsbix0LGUpLGw9dm9pZCAwLGVEJiYoInRvdWNoc3RhcnQiPT09bnx8InRvdWNobW92ZSI9PT1ufHwid2hlZWwiPT09bikmJihsPSEwKSxyP3ZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKG4sdCx7Y2FwdHVyZTohMCxwYXNzaXZlOmx9KTplLmFkZEV2ZW50TGlzdGVuZXIobix0LCEwKTp2b2lkIDAhPT1sP2UuYWRkRXZlbnRMaXN0ZW5lcihuLHQse3Bhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcihuLHQsITEpfWZ1bmN0aW9uIHJvKGUsbix0LHIsbCl7dmFyIGE9cjtpZigwPT0oMSZuKSYmMD09KDImbikmJm51bGwhPT1yKWU6Zm9yKDs7KXtpZihudWxsPT09cilyZXR1cm47dmFyIHU9ci50YWc7aWYoMz09PXV8fDQ9PT11KXt2YXIgbz1yLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO2lmKG89PT1sfHw4PT09by5ub2RlVHlwZSYmby5wYXJlbnROb2RlPT09bClicmVhaztpZig0PT09dSlmb3IodT1yLnJldHVybjtudWxsIT09dTspe3ZhciBpPXUudGFnO2lmKCgzPT09aXx8ND09PWkpJiYoKGk9dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk9PT1sfHw4PT09aS5ub2RlVHlwZSYmaS5wYXJlbnROb2RlPT09bCkpcmV0dXJuO3U9dS5yZXR1cm59Zm9yKDtudWxsIT09bzspe2lmKG51bGw9PT0odT1yTyhvKSkpcmV0dXJuO2lmKDU9PT0oaT11LnRhZyl8fDY9PT1pKXtyPWE9dTtjb250aW51ZSBlfW89by5wYXJlbnROb2RlfX1yPXIucmV0dXJufWVGKGZ1bmN0aW9uKCl7dmFyIHI9YSxsPWVFKHQpLHU9W107ZTp7dmFyIG89dDMuZ2V0KGUpO2lmKHZvaWQgMCE9PW8pe3ZhciBpPW4wLHM9ZTtzd2l0Y2goZSl7Y2FzZSJrZXlwcmVzcyI6aWYoMD09PW5RKHQpKWJyZWFrIGU7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjppPXRhO2JyZWFrO2Nhc2UiZm9jdXNpbiI6cz0iZm9jdXMiLGk9bjY7YnJlYWs7Y2FzZSJmb2N1c291dCI6cz0iYmx1ciIsaT1uNjticmVhaztjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjppPW42O2JyZWFrO2Nhc2UiY2xpY2siOmlmKDI9PT10LmJ1dHRvbilicmVhayBlO2Nhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZXVwIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJjb250ZXh0bWVudSI6aT1uNDticmVhaztjYXNlImRyYWciOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjppPW44O2JyZWFrO2Nhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2htb3ZlIjpjYXNlInRvdWNoc3RhcnQiOmk9dG87YnJlYWs7Y2FzZSB0SjpjYXNlIHQwOmNhc2UgdDE6aT1uNTticmVhaztjYXNlIHQyOmk9dGk7YnJlYWs7Y2FzZSJzY3JvbGwiOmk9bjI7YnJlYWs7Y2FzZSJ3aGVlbCI6aT10czticmVhaztjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlInBhc3RlIjppPW45O2JyZWFrO2Nhc2UiZ290cG9pbnRlcmNhcHR1cmUiOmNhc2UibG9zdHBvaW50ZXJjYXB0dXJlIjpjYXNlInBvaW50ZXJjYW5jZWwiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJwb2ludGVydXAiOmk9dHV9dmFyIGM9MCE9KDQmbiksZj0hYyYmInNjcm9sbCI9PT1lLGQ9Yz9udWxsIT09bz9vKyJDYXB0dXJlIjpudWxsOm87Yz1bXTtmb3IodmFyIHAsbT1yO251bGwhPT1tOyl7dmFyIGg9KHA9bSkuc3RhdGVOb2RlO2lmKDU9PT1wLnRhZyYmbnVsbCE9PWgmJihwPWgsbnVsbCE9PWQmJm51bGwhPShoPWVPKG0sZCkpJiZjLnB1c2gocmkobSxoLHApKSksZilicmVhazttPW0ucmV0dXJufTA8Yy5sZW5ndGgmJihvPW5ldyBpKG8scyxudWxsLHQsbCksdS5wdXNoKHtldmVudDpvLGxpc3RlbmVyczpjfSkpfX1pZigwPT0oNyZuKSl7aWYobz0ibW91c2VvdmVyIj09PWV8fCJwb2ludGVyb3ZlciI9PT1lLGk9Im1vdXNlb3V0Ij09PWV8fCJwb2ludGVyb3V0Ij09PWUsIShvJiZ0IT09ZXgmJihzPXQucmVsYXRlZFRhcmdldHx8dC5mcm9tRWxlbWVudCkmJihyTyhzKXx8c1tyTF0pKSYmKGl8fG8pJiYobz1sLndpbmRvdz09PWw/bDoobz1sLm93bmVyRG9jdW1lbnQpP28uZGVmYXVsdFZpZXd8fG8ucGFyZW50V2luZG93OndpbmRvdyxpPyhzPXQucmVsYXRlZFRhcmdldHx8dC50b0VsZW1lbnQsaT1yLG51bGwhPT0ocz1zP3JPKHMpOm51bGwpJiYoZj1lVyhzKSxzIT09Znx8NSE9PXMudGFnJiY2IT09cy50YWcpJiYocz1udWxsKSk6KGk9bnVsbCxzPXIpLGkhPT1zKSl7aWYoYz1uNCxoPSJvbk1vdXNlTGVhdmUiLGQ9Im9uTW91c2VFbnRlciIsbT0ibW91c2UiLCgicG9pbnRlcm91dCI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSkmJihjPXR1LGg9Im9uUG9pbnRlckxlYXZlIixkPSJvblBvaW50ZXJFbnRlciIsbT0icG9pbnRlciIpLGY9bnVsbD09aT9vOnJJKGkpLHA9bnVsbD09cz9vOnJJKHMpLChvPW5ldyBjKGgsbSsibGVhdmUiLGksdCxsKSkudGFyZ2V0PWYsby5yZWxhdGVkVGFyZ2V0PXAsaD1udWxsLHJPKGwpPT09ciYmKChjPW5ldyBjKGQsbSsiZW50ZXIiLHMsdCxsKSkudGFyZ2V0PXAsYy5yZWxhdGVkVGFyZ2V0PWYsaD1jKSxmPWgsaSYmcyluOntmb3IoYz1pLGQ9cyxtPTAscD1jO3A7cD1yYyhwKSltKys7Zm9yKHA9MCxoPWQ7aDtoPXJjKGgpKXArKztmb3IoOzA8bS1wOyljPXJjKGMpLG0tLTtmb3IoOzA8cC1tOylkPXJjKGQpLHAtLTtmb3IoO20tLTspe2lmKGM9PT1kfHxudWxsIT09ZCYmYz09PWQuYWx0ZXJuYXRlKWJyZWFrIG47Yz1yYyhjKSxkPXJjKGQpfWM9bnVsbH1lbHNlIGM9bnVsbDtudWxsIT09aSYmcmYodSxvLGksYywhMSksbnVsbCE9PXMmJm51bGwhPT1mJiZyZih1LGYscyxjLCEwKX1lOntpZigic2VsZWN0Ij09PShpPShvPXI/ckkocik6d2luZG93KS5ub2RlTmFtZSYmby5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXx8ImlucHV0Ij09PWkmJiJmaWxlIj09PW8udHlwZSl2YXIgZyx2PXRDO2Vsc2UgaWYodGsobykpe2lmKHRQKXY9dE87ZWxzZXt2PXRNO3ZhciB5PXRSfX1lbHNlKGk9by5ub2RlTmFtZSkmJiJpbnB1dCI9PT1pLnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09by50eXBlfHwicmFkaW8iPT09by50eXBlKSYmKHY9dEYpO2lmKHYmJih2PXYoZSxyKSkpe3R3KHUsdix0LGwpO2JyZWFrIGV9eSYmeShlLG8sciksImZvY3Vzb3V0Ij09PWUmJih5PW8uX3dyYXBwZXJTdGF0ZSkmJnkuY29udHJvbGxlZCYmIm51bWJlciI9PT1vLnR5cGUmJmVyKG8sIm51bWJlciIsby52YWx1ZSl9c3dpdGNoKHk9cj9ySShyKTp3aW5kb3csZSl7Y2FzZSJmb2N1c2luIjoodGsoeSl8fCJ0cnVlIj09PXkuY29udGVudEVkaXRhYmxlKSYmKHRCPXksdEg9cix0Vz1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp0Vz10SD10Qj1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjp0UT0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6dFE9ITEsdHEodSx0LGwpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZih0ailicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnRxKHUsdCxsKX1pZih0ZiluOntzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgYj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBuO2Nhc2UiY29tcG9zaXRpb25lbmQiOmI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIG47Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Yj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgbn1iPXZvaWQgMH1lbHNlIHR5P3RnKGUsdCkmJihiPSJvbkNvbXBvc2l0aW9uRW5kIik6ImtleWRvd24iPT09ZSYmMjI5PT09dC5rZXlDb2RlJiYoYj0ib25Db21wb3NpdGlvblN0YXJ0Iik7YiYmKHRtJiYia28iIT09dC5sb2NhbGUmJih0eXx8Im9uQ29tcG9zaXRpb25TdGFydCIhPT1iPyJvbkNvbXBvc2l0aW9uRW5kIj09PWImJnR5JiYoZz1uVygpKToobkI9InZhbHVlImluKG5qPWwpP25qLnZhbHVlOm5qLnRleHRDb250ZW50LHR5PSEwKSksMDwoeT1ycyhyLGIpKS5sZW5ndGgmJihiPW5ldyBuNyhiLGUsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6YixsaXN0ZW5lcnM6eX0pLGc/Yi5kYXRhPWc6bnVsbCE9PShnPXR2KHQpKSYmKGIuZGF0YT1nKSkpLChnPXRwP2Z1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiB0dihuKTtjYXNlImtleXByZXNzIjppZigzMiE9PW4ud2hpY2gpcmV0dXJuIG51bGw7cmV0dXJuIHRoPSEwLCIgIjtjYXNlInRleHRJbnB1dCI6cmV0dXJuIiAiPT09KGU9bi5kYXRhKSYmdGg/bnVsbDplO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLHQpOmZ1bmN0aW9uKGUsbil7aWYodHkpcmV0dXJuImNvbXBvc2l0aW9uZW5kIj09PWV8fCF0ZiYmdGcoZSxuKT8oZT1uVygpLG5IPW5CPW5qPW51bGwsdHk9ITEsZSk6bnVsbDtzd2l0Y2goZSl7Y2FzZSJwYXN0ZSI6ZGVmYXVsdDpyZXR1cm4gbnVsbDtjYXNlImtleXByZXNzIjppZighKG4uY3RybEtleXx8bi5hbHRLZXl8fG4ubWV0YUtleSl8fG4uY3RybEtleSYmbi5hbHRLZXkpe2lmKG4uY2hhciYmMTxuLmNoYXIubGVuZ3RoKXJldHVybiBuLmNoYXI7aWYobi53aGljaClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShuLndoaWNoKX1yZXR1cm4gbnVsbDtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gdG0mJiJrbyIhPT1uLmxvY2FsZT9udWxsOm4uZGF0YX19KGUsdCkpJiYwPChyPXJzKHIsIm9uQmVmb3JlSW5wdXQiKSkubGVuZ3RoJiYobD1uZXcgbjcoIm9uQmVmb3JlSW5wdXQiLCJiZWZvcmVpbnB1dCIsbnVsbCx0LGwpLHUucHVzaCh7ZXZlbnQ6bCxsaXN0ZW5lcnM6cn0pLGwuZGF0YT1nKX1ybih1LG4pfSl9ZnVuY3Rpb24gcmkoZSxuLHQpe3JldHVybntpbnN0YW5jZTplLGxpc3RlbmVyOm4sY3VycmVudFRhcmdldDp0fX1mdW5jdGlvbiBycyhlLG4pe2Zvcih2YXIgdD1uKyJDYXB0dXJlIixyPVtdO251bGwhPT1lOyl7dmFyIGw9ZSxhPWwuc3RhdGVOb2RlOzU9PT1sLnRhZyYmbnVsbCE9PWEmJihsPWEsbnVsbCE9KGE9ZU8oZSx0KSkmJnIudW5zaGlmdChyaShlLGEsbCkpLG51bGwhPShhPWVPKGUsbikpJiZyLnB1c2gocmkoZSxhLGwpKSksZT1lLnJldHVybn1yZXR1cm4gcn1mdW5jdGlvbiByYyhlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtkbyBlPWUucmV0dXJuO3doaWxlKGUmJjUhPT1lLnRhZyk7cmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gcmYoZSxuLHQscixsKXtmb3IodmFyIGE9bi5fcmVhY3ROYW1lLHU9W107bnVsbCE9PXQmJnQhPT1yOyl7dmFyIG89dCxpPW8uYWx0ZXJuYXRlLHM9by5zdGF0ZU5vZGU7aWYobnVsbCE9PWkmJmk9PT1yKWJyZWFrOzU9PT1vLnRhZyYmbnVsbCE9PXMmJihvPXMsbD9udWxsIT0oaT1lTyh0LGEpKSYmdS51bnNoaWZ0KHJpKHQsaSxvKSk6bHx8bnVsbCE9KGk9ZU8odCxhKSkmJnUucHVzaChyaSh0LGksbykpKSx0PXQucmV0dXJufTAhPT11Lmxlbmd0aCYmZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp1fSl9dmFyIHJkPS9cclxuPy9nLHJwPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gcm0oZSl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9lOiIiK2UpLnJlcGxhY2UocmQsIlxuIikucmVwbGFjZShycCwiIil9ZnVuY3Rpb24gcmgoZSxuLHQpe2lmKG49cm0obikscm0oZSkhPT1uJiZ0KXRocm93IEVycm9yKGYoNDI1KSl9ZnVuY3Rpb24gcmcoKXt9dmFyIHJ2PW51bGwscnk9bnVsbDtmdW5jdGlvbiByYihlLG4pe3JldHVybiJ0ZXh0YXJlYSI9PT1lfHwibm9zY3JpcHQiPT09ZXx8InN0cmluZyI9PXR5cGVvZiBuLmNoaWxkcmVufHwibnVtYmVyIj09dHlwZW9mIG4uY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2Ygbi5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPW4uZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciByaz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0OnZvaWQgMCxydz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDp2b2lkIDAsclM9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZTp2b2lkIDAscng9ImZ1bmN0aW9uIj09dHlwZW9mIHF1ZXVlTWljcm90YXNrP3F1ZXVlTWljcm90YXNrOnZvaWQgMCE9PXJTP2Z1bmN0aW9uKGUpe3JldHVybiByUy5yZXNvbHZlKG51bGwpLnRoZW4oZSkuY2F0Y2gockUpfTpyaztmdW5jdGlvbiByRShlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfWZ1bmN0aW9uIHJfKGUsbil7dmFyIHQ9bixyPTA7ZG97dmFyIGw9dC5uZXh0U2libGluZztpZihlLnJlbW92ZUNoaWxkKHQpLGwmJjg9PT1sLm5vZGVUeXBlKXtpZigiLyQiPT09KHQ9bC5kYXRhKSl7aWYoMD09PXIpe2UucmVtb3ZlQ2hpbGQobCksbk0obik7cmV0dXJufXItLX1lbHNlIiQiIT09dCYmIiQ/IiE9PXQmJiIkISIhPT10fHxyKyt9dD1sfXdoaWxlKHQpO25NKG4pfWZ1bmN0aW9uIHJDKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciBuPWUubm9kZVR5cGU7aWYoMT09PW58fDM9PT1uKWJyZWFrO2lmKDg9PT1uKXtpZigiJCI9PT0obj1lLmRhdGEpfHwiJCEiPT09bnx8IiQ/Ij09PW4pYnJlYWs7aWYoIi8kIj09PW4pcmV0dXJuIG51bGx9fXJldHVybiBlfWZ1bmN0aW9uIHJQKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciBuPTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgdD1lLmRhdGE7aWYoIiQiPT09dHx8IiQhIj09PXR8fCIkPyI9PT10KXtpZigwPT09bilyZXR1cm4gZTtuLS19ZWxzZSIvJCI9PT10JiZuKyt9ZT1lLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH12YXIgck49TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMikscno9Il9fcmVhY3RGaWJlciQiK3JOLHJUPSJfX3JlYWN0UHJvcHMkIityTixyTD0iX19yZWFjdENvbnRhaW5lciQiK3JOLHJSPSJfX3JlYWN0RXZlbnRzJCIrck4sck09Il9fcmVhY3RMaXN0ZW5lcnMkIityTixyRj0iX19yZWFjdEhhbmRsZXMkIityTjtmdW5jdGlvbiByTyhlKXt2YXIgbj1lW3J6XTtpZihuKXJldHVybiBuO2Zvcih2YXIgdD1lLnBhcmVudE5vZGU7dDspe2lmKG49dFtyTF18fHRbcnpdKXtpZih0PW4uYWx0ZXJuYXRlLG51bGwhPT1uLmNoaWxkfHxudWxsIT09dCYmbnVsbCE9PXQuY2hpbGQpZm9yKGU9clAoZSk7bnVsbCE9PWU7KXtpZih0PWVbcnpdKXJldHVybiB0O2U9clAoZSl9cmV0dXJuIG59dD0oZT10KS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIHJEKGUpe3JldHVybihlPWVbcnpdfHxlW3JMXSkmJig1PT09ZS50YWd8fDY9PT1lLnRhZ3x8MTM9PT1lLnRhZ3x8Mz09PWUudGFnKT9lOm51bGx9ZnVuY3Rpb24gckkoZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGUuc3RhdGVOb2RlO3Rocm93IEVycm9yKGYoMzMpKX1mdW5jdGlvbiByVShlKXtyZXR1cm4gZVtyVF18fG51bGx9dmFyIHJWPVtdLHIkPS0xO2Z1bmN0aW9uIHJBKGUpe3JldHVybntjdXJyZW50OmV9fWZ1bmN0aW9uIHJqKGUpezA+ciR8fChlLmN1cnJlbnQ9clZbciRdLHJWW3IkXT1udWxsLHIkLS0pfWZ1bmN0aW9uIHJCKGUsbil7clZbKytyJF09ZS5jdXJyZW50LGUuY3VycmVudD1ufXZhciBySD17fSxyVz1yQShySCksclE9ckEoITEpLHJxPXJIO2Z1bmN0aW9uIHJLKGUsbil7dmFyIHQ9ZS50eXBlLmNvbnRleHRUeXBlcztpZighdClyZXR1cm4gckg7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYociYmci5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PT09bilyZXR1cm4gci5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDt2YXIgbCxhPXt9O2ZvcihsIGluIHQpYVtsXT1uW2xdO3JldHVybiByJiYoKGU9ZS5zdGF0ZU5vZGUpLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9bixlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0PWEpLGF9ZnVuY3Rpb24gclkoZSl7cmV0dXJuIG51bGwhPShlPWUuY2hpbGRDb250ZXh0VHlwZXMpfWZ1bmN0aW9uIHJYKCl7cmooclEpLHJqKHJXKX1mdW5jdGlvbiByRyhlLG4sdCl7aWYoclcuY3VycmVudCE9PXJIKXRocm93IEVycm9yKGYoMTY4KSk7ckIoclcsbiksckIoclEsdCl9ZnVuY3Rpb24gclooZSxuLHQpe3ZhciByPWUuc3RhdGVOb2RlO2lmKG49bi5jaGlsZENvbnRleHRUeXBlcywiZnVuY3Rpb24iIT10eXBlb2Ygci5nZXRDaGlsZENvbnRleHQpcmV0dXJuIHQ7Zm9yKHZhciBsIGluIHI9ci5nZXRDaGlsZENvbnRleHQoKSlpZighKGwgaW4gbikpdGhyb3cgRXJyb3IoZigxMDgsZnVuY3Rpb24oZSl7dmFyIG49ZS50eXBlO3N3aXRjaChlLnRhZyl7Y2FzZSAyNDpyZXR1cm4iQ2FjaGUiO2Nhc2UgOTpyZXR1cm4obi5kaXNwbGF5TmFtZXx8IkNvbnRleHQiKSsiLkNvbnN1bWVyIjtjYXNlIDEwOnJldHVybihuLl9jb250ZXh0LmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuUHJvdmlkZXIiO2Nhc2UgMTg6cmV0dXJuIkRlaHlkcmF0ZWRGcmFnbWVudCI7Y2FzZSAxMTpyZXR1cm4gZT0oZT1uLnJlbmRlcikuZGlzcGxheU5hbWV8fGUubmFtZXx8IiIsbi5kaXNwbGF5TmFtZXx8KCIiIT09ZT8iRm9yd2FyZFJlZigiK2UrIikiOiJGb3J3YXJkUmVmIik7Y2FzZSA3OnJldHVybiJGcmFnbWVudCI7Y2FzZSA1OnJldHVybiBuO2Nhc2UgNDpyZXR1cm4iUG9ydGFsIjtjYXNlIDM6cmV0dXJuIlJvb3QiO2Nhc2UgNjpyZXR1cm4iVGV4dCI7Y2FzZSAxNjpyZXR1cm4gZnVuY3Rpb24gZShuKXtpZihudWxsPT1uKXJldHVybiBudWxsO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuKXJldHVybiBuO3N3aXRjaChuKXtjYXNlIHo6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE46cmV0dXJuIlBvcnRhbCI7Y2FzZSBMOnJldHVybiJQcm9maWxlciI7Y2FzZSBUOnJldHVybiJTdHJpY3RNb2RlIjtjYXNlIE86cmV0dXJuIlN1c3BlbnNlIjtjYXNlIEQ6cmV0dXJuIlN1c3BlbnNlTGlzdCJ9aWYoIm9iamVjdCI9PXR5cGVvZiBuKXN3aXRjaChuLiQkdHlwZW9mKXtjYXNlIE06cmV0dXJuKG4uZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnJldHVybihuLl9jb250ZXh0LmRpc3BsYXlOYW1lfHwiQ29udGV4dCIpKyIuUHJvdmlkZXIiO2Nhc2UgRjp2YXIgdD1uLnJlbmRlcjtyZXR1cm4obj1uLmRpc3BsYXlOYW1lKXx8KG49IiIhPT0obj10LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fCIiKT8iRm9yd2FyZFJlZigiK24rIikiOiJGb3J3YXJkUmVmIiksbjtjYXNlIEk6cmV0dXJuIG51bGwhPT0odD1uLmRpc3BsYXlOYW1lfHxudWxsKT90OmUobi50eXBlKXx8Ik1lbW8iO2Nhc2UgVTp0PW4uX3BheWxvYWQsbj1uLl9pbml0O3RyeXtyZXR1cm4gZShuKHQpKX1jYXRjaChlKXt9fXJldHVybiBudWxsfShuKTtjYXNlIDg6cmV0dXJuIG49PT1UPyJTdHJpY3RNb2RlIjoiTW9kZSI7Y2FzZSAyMjpyZXR1cm4iT2Zmc2NyZWVuIjtjYXNlIDEyOnJldHVybiJQcm9maWxlciI7Y2FzZSAyMTpyZXR1cm4iU2NvcGUiO2Nhc2UgMTM6cmV0dXJuIlN1c3BlbnNlIjtjYXNlIDE5OnJldHVybiJTdXNwZW5zZUxpc3QiO2Nhc2UgMjU6cmV0dXJuIlRyYWNpbmdNYXJrZXIiO2Nhc2UgMTpjYXNlIDA6Y2FzZSAxNzpjYXNlIDI6Y2FzZSAxNDpjYXNlIDE1OmlmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuKXJldHVybiBufXJldHVybiBudWxsfShlKXx8IlVua25vd24iLGwpKTtyZXR1cm4gQih7fSx0LHIpfWZ1bmN0aW9uIHJKKGUpe3JldHVybiBlPShlPWUuc3RhdGVOb2RlKSYmZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dHx8ckgscnE9clcuY3VycmVudCxyQihyVyxlKSxyQihyUSxyUS5jdXJyZW50KSwhMH1mdW5jdGlvbiByMChlLG4sdCl7dmFyIHI9ZS5zdGF0ZU5vZGU7aWYoIXIpdGhyb3cgRXJyb3IoZigxNjkpKTt0PyhlPXJaKGUsbixycSksci5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dD1lLHJqKHJRKSxyaihyVyksckIoclcsZSkpOnJqKHJRKSxyQihyUSx0KX12YXIgcjE9bnVsbCxyMj0hMSxyMz0hMTtmdW5jdGlvbiByNChlKXtudWxsPT09cjE/cjE9W2VdOnIxLnB1c2goZSl9ZnVuY3Rpb24gcjgoKXtpZighcjMmJm51bGwhPT1yMSl7cjM9ITA7dmFyIGU9MCxuPW5jO3RyeXt2YXIgdD1yMTtmb3IobmM9MTtlPHQubGVuZ3RoO2UrKyl7dmFyIHI9dFtlXTtkbyByPXIoITApO3doaWxlKG51bGwhPT1yKX1yMT1udWxsLHIyPSExfWNhdGNoKG4pe3Rocm93IG51bGwhPT1yMSYmKHIxPXIxLnNsaWNlKGUrMSkpLGVZKGUxLHI4KSxufWZpbmFsbHl7bmM9bixyMz0hMX19cmV0dXJuIG51bGx9dmFyIHI2PVtdLHI1PTAscjk9bnVsbCxyNz0wLGxlPVtdLGxuPTAsbHQ9bnVsbCxscj0xLGxsPSIiO2Z1bmN0aW9uIGxhKGUsbil7cjZbcjUrK109cjcscjZbcjUrK109cjkscjk9ZSxyNz1ufWZ1bmN0aW9uIGx1KGUsbix0KXtsZVtsbisrXT1scixsZVtsbisrXT1sbCxsZVtsbisrXT1sdCxsdD1lO3ZhciByPWxyO2U9bGw7dmFyIGw9MzItZTkociktMTtyJj1+KDE8PGwpLHQrPTE7dmFyIGE9MzItZTkobikrbDtpZigzMDxhKXt2YXIgdT1sLWwlNTthPShyJigxPDx1KS0xKS50b1N0cmluZygzMikscj4+PXUsbC09dSxscj0xPDwzMi1lOShuKStsfHQ8PGx8cixsbD1hK2V9ZWxzZSBscj0xPDxhfHQ8PGx8cixsbD1lfWZ1bmN0aW9uIGxvKGUpe251bGwhPT1lLnJldHVybiYmKGxhKGUsMSksbHUoZSwxLDApKX1mdW5jdGlvbiBsaShlKXtmb3IoO2U9PT1yOTspcjk9cjZbLS1yNV0scjZbcjVdPW51bGwscjc9cjZbLS1yNV0scjZbcjVdPW51bGw7Zm9yKDtlPT09bHQ7KWx0PWxlWy0tbG5dLGxlW2xuXT1udWxsLGxsPWxlWy0tbG5dLGxlW2xuXT1udWxsLGxyPWxlWy0tbG5dLGxlW2xuXT1udWxsfXZhciBscz1udWxsLGxjPW51bGwsbGY9ITEsbGQ9bnVsbDtmdW5jdGlvbiBscChlLG4pe3ZhciB0PW9RKDUsbnVsbCxudWxsLDApO3QuZWxlbWVudFR5cGU9IkRFTEVURUQiLHQuc3RhdGVOb2RlPW4sdC5yZXR1cm49ZSxudWxsPT09KG49ZS5kZWxldGlvbnMpPyhlLmRlbGV0aW9ucz1bdF0sZS5mbGFnc3w9MTYpOm4ucHVzaCh0KX1mdW5jdGlvbiBsbShlLG4pe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnZhciB0PWUudHlwZTtyZXR1cm4gbnVsbCE9PShuPTEhPT1uLm5vZGVUeXBlfHx0LnRvTG93ZXJDYXNlKCkhPT1uLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/bnVsbDpuKSYmKGUuc3RhdGVOb2RlPW4sbHM9ZSxsYz1yQyhuLmZpcnN0Q2hpbGQpLCEwKTtjYXNlIDY6cmV0dXJuIG51bGwhPT0obj0iIj09PWUucGVuZGluZ1Byb3BzfHwzIT09bi5ub2RlVHlwZT9udWxsOm4pJiYoZS5zdGF0ZU5vZGU9bixscz1lLGxjPW51bGwsITApO2Nhc2UgMTM6cmV0dXJuIG51bGwhPT0obj04IT09bi5ub2RlVHlwZT9udWxsOm4pJiYodD1udWxsIT09bHQ/e2lkOmxyLG92ZXJmbG93OmxsfTpudWxsLGUubWVtb2l6ZWRTdGF0ZT17ZGVoeWRyYXRlZDpuLHRyZWVDb250ZXh0OnQscmV0cnlMYW5lOjEwNzM3NDE4MjR9LCh0PW9RKDE4LG51bGwsbnVsbCwwKSkuc3RhdGVOb2RlPW4sdC5yZXR1cm49ZSxlLmNoaWxkPXQsbHM9ZSxsYz1udWxsLCEwKTtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBsaChlKXtyZXR1cm4gMCE9KDEmZS5tb2RlKSYmMD09KDEyOCZlLmZsYWdzKX1mdW5jdGlvbiBsZyhlKXtpZihsZil7dmFyIG49bGM7aWYobil7dmFyIHQ9bjtpZighbG0oZSxuKSl7aWYobGgoZSkpdGhyb3cgRXJyb3IoZig0MTgpKTtuPXJDKHQubmV4dFNpYmxpbmcpO3ZhciByPWxzO24mJmxtKGUsbik/bHAocix0KTooZS5mbGFncz0tNDA5NyZlLmZsYWdzfDIsbGY9ITEsbHM9ZSl9fWVsc2V7aWYobGgoZSkpdGhyb3cgRXJyb3IoZig0MTgpKTtlLmZsYWdzPS00MDk3JmUuZmxhZ3N8MixsZj0hMSxscz1lfX19ZnVuY3Rpb24gbHYoZSl7Zm9yKGU9ZS5yZXR1cm47bnVsbCE9PWUmJjUhPT1lLnRhZyYmMyE9PWUudGFnJiYxMyE9PWUudGFnOyllPWUucmV0dXJuO2xzPWV9ZnVuY3Rpb24gbHkoZSl7aWYoZSE9PWxzKXJldHVybiExO2lmKCFsZilyZXR1cm4gbHYoZSksbGY9ITAsITE7aWYoKG49MyE9PWUudGFnKSYmIShuPTUhPT1lLnRhZykmJihuPSJoZWFkIiE9PShuPWUudHlwZSkmJiJib2R5IiE9PW4mJiFyYihlLnR5cGUsZS5tZW1vaXplZFByb3BzKSksbiYmKG49bGMpKXtpZihsaChlKSl0aHJvdyBsYigpLEVycm9yKGYoNDE4KSk7Zm9yKDtuOylscChlLG4pLG49ckMobi5uZXh0U2libGluZyl9aWYobHYoZSksMTM9PT1lLnRhZyl7aWYoIShlPW51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpP2UuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcihmKDMxNykpO2U6e2ZvcihuPTAsZT1lLm5leHRTaWJsaW5nO2U7KXtpZig4PT09ZS5ub2RlVHlwZSl7dmFyIG4sdD1lLmRhdGE7aWYoIi8kIj09PXQpe2lmKDA9PT1uKXtsYz1yQyhlLm5leHRTaWJsaW5nKTticmVhayBlfW4tLX1lbHNlIiQiIT09dCYmIiQhIiE9PXQmJiIkPyIhPT10fHxuKyt9ZT1lLm5leHRTaWJsaW5nfWxjPW51bGx9fWVsc2UgbGM9bHM/ckMoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gbGIoKXtmb3IodmFyIGU9bGM7ZTspZT1yQyhlLm5leHRTaWJsaW5nKX1mdW5jdGlvbiBsaygpe2xjPWxzPW51bGwsbGY9ITF9ZnVuY3Rpb24gbHcoZSl7bnVsbD09PWxkP2xkPVtlXTpsZC5wdXNoKGUpfXZhciBsUz1DLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnO2Z1bmN0aW9uIGx4KGUsbix0KXtpZihudWxsIT09KGU9dC5yZWYpJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmIm9iamVjdCIhPXR5cGVvZiBlKXtpZih0Ll9vd25lcil7aWYodD10Ll9vd25lcil7aWYoMSE9PXQudGFnKXRocm93IEVycm9yKGYoMzA5KSk7dmFyIHI9dC5zdGF0ZU5vZGV9aWYoIXIpdGhyb3cgRXJyb3IoZigxNDcsZSkpO3ZhciBsPXIsYT0iIitlO3JldHVybiBudWxsIT09biYmbnVsbCE9PW4ucmVmJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5yZWYmJm4ucmVmLl9zdHJpbmdSZWY9PT1hP24ucmVmOigobj1mdW5jdGlvbihlKXt2YXIgbj1sLnJlZnM7bnVsbD09PWU/ZGVsZXRlIG5bYV06blthXT1lfSkuX3N0cmluZ1JlZj1hLG4pfWlmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBFcnJvcihmKDI4NCkpO2lmKCF0Ll9vd25lcil0aHJvdyBFcnJvcihmKDI5MCxlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gbEUoZSxuKXt0aHJvdyBFcnJvcihmKDMxLCJbb2JqZWN0IE9iamVjdF0iPT09KGU9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG4pKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjplKSl9ZnVuY3Rpb24gbF8oZSl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9ZnVuY3Rpb24gbEMoZSl7ZnVuY3Rpb24gbihuLHQpe2lmKGUpe3ZhciByPW4uZGVsZXRpb25zO251bGw9PT1yPyhuLmRlbGV0aW9ucz1bdF0sbi5mbGFnc3w9MTYpOnIucHVzaCh0KX19ZnVuY3Rpb24gdCh0LHIpe2lmKCFlKXJldHVybiBudWxsO2Zvcig7bnVsbCE9PXI7KW4odCxyKSxyPXIuc2libGluZztyZXR1cm4gbnVsbH1mdW5jdGlvbiByKGUsbil7Zm9yKGU9bmV3IE1hcDtudWxsIT09bjspbnVsbCE9PW4ua2V5P2Uuc2V0KG4ua2V5LG4pOmUuc2V0KG4uaW5kZXgsbiksbj1uLnNpYmxpbmc7cmV0dXJuIGV9ZnVuY3Rpb24gbChlLG4pe3JldHVybihlPW9LKGUsbikpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKG4sdCxyKXtyZXR1cm4obi5pbmRleD1yLGUpP251bGwhPT0ocj1uLmFsdGVybmF0ZSk/KHI9ci5pbmRleCk8dD8obi5mbGFnc3w9Mix0KTpyOihuLmZsYWdzfD0yLHQpOihuLmZsYWdzfD0xMDQ4NTc2LHQpfWZ1bmN0aW9uIHUobil7cmV0dXJuIGUmJm51bGw9PT1uLmFsdGVybmF0ZSYmKG4uZmxhZ3N8PTIpLG59ZnVuY3Rpb24gbyhlLG4sdCxyKXtyZXR1cm4gbnVsbD09PW58fDYhPT1uLnRhZz8obj1vWih0LGUubW9kZSxyKSkucmV0dXJuPWU6KG49bChuLHQpKS5yZXR1cm49ZSxufWZ1bmN0aW9uIGkoZSxuLHQscil7dmFyIGE9dC50eXBlO3JldHVybiBhPT09ej9jKGUsbix0LnByb3BzLmNoaWxkcmVuLHIsdC5rZXkpOihudWxsIT09biYmKG4uZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09VSYmbF8oYSk9PT1uLnR5cGUpPyhyPWwobix0LnByb3BzKSkucmVmPWx4KGUsbix0KToocj1vWSh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxyKSkucmVmPWx4KGUsbix0KSxyLnJldHVybj1lLHIpfWZ1bmN0aW9uIHMoZSxuLHQscil7cmV0dXJuIG51bGw9PT1ufHw0IT09bi50YWd8fG4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8hPT10LmNvbnRhaW5lckluZm98fG4uc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uIT09dC5pbXBsZW1lbnRhdGlvbj8obj1vSih0LGUubW9kZSxyKSkucmV0dXJuPWU6KG49bChuLHQuY2hpbGRyZW58fFtdKSkucmV0dXJuPWUsbn1mdW5jdGlvbiBjKGUsbix0LHIsYSl7cmV0dXJuIG51bGw9PT1ufHw3IT09bi50YWc/KG49b1godCxlLm1vZGUscixhKSkucmV0dXJuPWU6KG49bChuLHQpKS5yZXR1cm49ZSxufWZ1bmN0aW9uIGQoZSxuLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgbiYmIiIhPT1ufHwibnVtYmVyIj09dHlwZW9mIG4pcmV0dXJuKG49b1ooIiIrbixlLm1vZGUsdCkpLnJldHVybj1lLG47aWYoIm9iamVjdCI9PXR5cGVvZiBuJiZudWxsIT09bil7c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4odD1vWShuLnR5cGUsbi5rZXksbi5wcm9wcyxudWxsLGUubW9kZSx0KSkucmVmPWx4KGUsbnVsbCxuKSx0LnJldHVybj1lLHQ7Y2FzZSBOOnJldHVybihuPW9KKG4sZS5tb2RlLHQpKS5yZXR1cm49ZSxuO2Nhc2UgVTpyZXR1cm4gZChlLCgwLG4uX2luaXQpKG4uX3BheWxvYWQpLHQpfWlmKGVsKG4pfHxBKG4pKXJldHVybihuPW9YKG4sZS5tb2RlLHQsbnVsbCkpLnJldHVybj1lLG47bEUoZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsbix0LHIpe3ZhciBsPW51bGwhPT1uP24ua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gbnVsbCE9PWw/bnVsbDpvKGUsbiwiIit0LHIpO2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe3N3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIFA6cmV0dXJuIHQua2V5PT09bD9pKGUsbix0LHIpOm51bGw7Y2FzZSBOOnJldHVybiB0LmtleT09PWw/cyhlLG4sdCxyKTpudWxsO2Nhc2UgVTpyZXR1cm4gcChlLG4sKGw9dC5faW5pdCkodC5fcGF5bG9hZCkscil9aWYoZWwodCl8fEEodCkpcmV0dXJuIG51bGwhPT1sP251bGw6YyhlLG4sdCxyLG51bGwpO2xFKGUsdCl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLG4sdCxyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHIpcmV0dXJuIG8obixlPWUuZ2V0KHQpfHxudWxsLCIiK3IsbCk7aWYoIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09cil7c3dpdGNoKHIuJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gaShuLGU9ZS5nZXQobnVsbD09PXIua2V5P3Q6ci5rZXkpfHxudWxsLHIsbCk7Y2FzZSBOOnJldHVybiBzKG4sZT1lLmdldChudWxsPT09ci5rZXk/dDpyLmtleSl8fG51bGwscixsKTtjYXNlIFU6cmV0dXJuIG0oZSxuLHQsKDAsci5faW5pdCkoci5fcGF5bG9hZCksbCl9aWYoZWwocil8fEEocikpcmV0dXJuIGMobixlPWUuZ2V0KHQpfHxudWxsLHIsbCxudWxsKTtsRShuLHIpfXJldHVybiBudWxsfXJldHVybiBmdW5jdGlvbiBvKGkscyxjLGgpe2lmKCJvYmplY3QiPT10eXBlb2YgYyYmbnVsbCE9PWMmJmMudHlwZT09PXomJm51bGw9PT1jLmtleSYmKGM9Yy5wcm9wcy5jaGlsZHJlbiksIm9iamVjdCI9PXR5cGVvZiBjJiZudWxsIT09Yyl7c3dpdGNoKGMuJCR0eXBlb2Ype2Nhc2UgUDplOntmb3IodmFyIGc9Yy5rZXksdj1zO251bGwhPT12Oyl7aWYodi5rZXk9PT1nKXtpZigoZz1jLnR5cGUpPT09eil7aWYoNz09PXYudGFnKXt0KGksdi5zaWJsaW5nKSwocz1sKHYsYy5wcm9wcy5jaGlsZHJlbikpLnJldHVybj1pLGk9czticmVhayBlfX1lbHNlIGlmKHYuZWxlbWVudFR5cGU9PT1nfHwib2JqZWN0Ij09dHlwZW9mIGcmJm51bGwhPT1nJiZnLiQkdHlwZW9mPT09VSYmbF8oZyk9PT12LnR5cGUpe3QoaSx2LnNpYmxpbmcpLChzPWwodixjLnByb3BzKSkucmVmPWx4KGksdixjKSxzLnJldHVybj1pLGk9czticmVhayBlfXQoaSx2KTticmVha31uKGksdiksdj12LnNpYmxpbmd9Yy50eXBlPT09ej8oKHM9b1goYy5wcm9wcy5jaGlsZHJlbixpLm1vZGUsaCxjLmtleSkpLnJldHVybj1pLGk9cyk6KChoPW9ZKGMudHlwZSxjLmtleSxjLnByb3BzLG51bGwsaS5tb2RlLGgpKS5yZWY9bHgoaSxzLGMpLGgucmV0dXJuPWksaT1oKX1yZXR1cm4gdShpKTtjYXNlIE46ZTp7Zm9yKHY9Yy5rZXk7bnVsbCE9PXM7KXtpZihzLmtleT09PXYpe2lmKDQ9PT1zLnRhZyYmcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWMuY29udGFpbmVySW5mbyYmcy5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1jLmltcGxlbWVudGF0aW9uKXt0KGkscy5zaWJsaW5nKSwocz1sKHMsYy5jaGlsZHJlbnx8W10pKS5yZXR1cm49aSxpPXM7YnJlYWsgZX10KGkscyk7YnJlYWt9bihpLHMpLHM9cy5zaWJsaW5nfShzPW9KKGMsaS5tb2RlLGgpKS5yZXR1cm49aSxpPXN9cmV0dXJuIHUoaSk7Y2FzZSBVOnJldHVybiBvKGkscywodj1jLl9pbml0KShjLl9wYXlsb2FkKSxoKX1pZihlbChjKSlyZXR1cm4gZnVuY3Rpb24obCx1LG8saSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9dSxoPXU9MCxnPW51bGw7bnVsbCE9PWYmJmg8by5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLG9baF0saSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJm4obCxmKSx1PWEodix1LGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1vLmxlbmd0aClyZXR1cm4gdChsLGYpLGxmJiZsYShsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxvLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxvW2hdLGkpKSYmKHU9YShmLHUsaCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIGxmJiZsYShsLGgpLHN9Zm9yKGY9cihsLGYpO2g8by5sZW5ndGg7aCsrKW51bGwhPT0oZz1tKGYsbCxoLG9baF0saSkpJiYoZSYmbnVsbCE9PWcuYWx0ZXJuYXRlJiZmLmRlbGV0ZShudWxsPT09Zy5rZXk/aDpnLmtleSksdT1hKGcsdSxoKSxudWxsPT09Yz9zPWc6Yy5zaWJsaW5nPWcsYz1nKTtyZXR1cm4gZSYmZi5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBuKGwsZSl9KSxsZiYmbGEobCxoKSxzfShpLHMsYyxoKTtpZihBKGMpKXJldHVybiBmdW5jdGlvbihsLHUsbyxpKXt2YXIgcz1BKG8pO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBzKXRocm93IEVycm9yKGYoMTUwKSk7aWYobnVsbD09KG89cy5jYWxsKG8pKSl0aHJvdyBFcnJvcihmKDE1MSkpO2Zvcih2YXIgYz1zPW51bGwsaD11LGc9dT0wLHY9bnVsbCx5PW8ubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PW8ubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUsaSk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJm4obCxoKSx1PWEoYix1LGcpLG51bGw9PT1jP3M9YjpjLnNpYmxpbmc9YixjPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gdChsLGgpLGxmJiZsYShsLGcpLHM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1vLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUsaSkpJiYodT1hKHksdSxnKSxudWxsPT09Yz9zPXk6Yy5zaWJsaW5nPXksYz15KTtyZXR1cm4gbGYmJmxhKGwsZyksc31mb3IoaD1yKGwsaCk7IXkuZG9uZTtnKysseT1vLm5leHQoKSludWxsIT09KHk9bShoLGwsZyx5LnZhbHVlLGkpKSYmKGUmJm51bGwhPT15LmFsdGVybmF0ZSYmaC5kZWxldGUobnVsbD09PXkua2V5P2c6eS5rZXkpLHU9YSh5LHUsZyksbnVsbD09PWM/cz15OmMuc2libGluZz15LGM9eSk7cmV0dXJuIGUmJmguZm9yRWFjaChmdW5jdGlvbihlKXtyZXR1cm4gbihsLGUpfSksbGYmJmxhKGwsZyksc30oaSxzLGMsaCk7bEUoaSxjKX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGMmJiIiIT09Y3x8Im51bWJlciI9PXR5cGVvZiBjPyhjPSIiK2MsbnVsbCE9PXMmJjY9PT1zLnRhZz8odChpLHMuc2libGluZyksKHM9bChzLGMpKS5yZXR1cm49aSk6KHQoaSxzKSwocz1vWihjLGkubW9kZSxoKSkucmV0dXJuPWkpLHUoaT1zKSk6dChpLHMpfX12YXIgbFA9bEMoITApLGxOPWxDKCExKSxsej1yQShudWxsKSxsVD1udWxsLGxMPW51bGwsbFI9bnVsbDtmdW5jdGlvbiBsTSgpe2xSPWxMPWxUPW51bGx9ZnVuY3Rpb24gbEYoZSl7dmFyIG49bHouY3VycmVudDtyaihseiksZS5fY3VycmVudFZhbHVlPW59ZnVuY3Rpb24gbE8oZSxuLHQpe2Zvcig7bnVsbCE9PWU7KXt2YXIgcj1lLmFsdGVybmF0ZTtpZigoZS5jaGlsZExhbmVzJm4pIT09bj8oZS5jaGlsZExhbmVzfD1uLG51bGwhPT1yJiYoci5jaGlsZExhbmVzfD1uKSk6bnVsbCE9PXImJihyLmNoaWxkTGFuZXMmbikhPT1uJiYoci5jaGlsZExhbmVzfD1uKSxlPT09dClicmVhaztlPWUucmV0dXJufX1mdW5jdGlvbiBsRChlLG4pe2xUPWUsbFI9bEw9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJigwIT0oZS5sYW5lcyZuKSYmKHVhPSEwKSxlLmZpcnN0Q29udGV4dD1udWxsKX1mdW5jdGlvbiBsSShlKXt2YXIgbj1lLl9jdXJyZW50VmFsdWU7aWYobFIhPT1lKXtpZihlPXtjb250ZXh0OmUsbWVtb2l6ZWRWYWx1ZTpuLG5leHQ6bnVsbH0sbnVsbD09PWxMKXtpZihudWxsPT09bFQpdGhyb3cgRXJyb3IoZigzMDgpKTtsTD1lLGxULmRlcGVuZGVuY2llcz17bGFuZXM6MCxmaXJzdENvbnRleHQ6ZX19ZWxzZSBsTD1sTC5uZXh0PWV9cmV0dXJuIG59dmFyIGxVPW51bGw7ZnVuY3Rpb24gbFYoZSl7bnVsbD09PWxVP2xVPVtlXTpsVS5wdXNoKGUpfWZ1bmN0aW9uIGwkKGUsbix0LHIpe3ZhciBsPW4uaW50ZXJsZWF2ZWQ7cmV0dXJuIG51bGw9PT1sPyh0Lm5leHQ9dCxsVihuKSk6KHQubmV4dD1sLm5leHQsbC5uZXh0PXQpLG4uaW50ZXJsZWF2ZWQ9dCxsQShlLHIpfWZ1bmN0aW9uIGxBKGUsbil7ZS5sYW5lc3w9bjt2YXIgdD1lLmFsdGVybmF0ZTtmb3IobnVsbCE9PXQmJih0LmxhbmVzfD1uKSx0PWUsZT1lLnJldHVybjtudWxsIT09ZTspZS5jaGlsZExhbmVzfD1uLG51bGwhPT0odD1lLmFsdGVybmF0ZSkmJih0LmNoaWxkTGFuZXN8PW4pLHQ9ZSxlPWUucmV0dXJuO3JldHVybiAzPT09dC50YWc/dC5zdGF0ZU5vZGU6bnVsbH12YXIgbGo9ITE7ZnVuY3Rpb24gbEIoZSl7ZS51cGRhdGVRdWV1ZT17YmFzZVN0YXRlOmUubWVtb2l6ZWRTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bnVsbCxsYXN0QmFzZVVwZGF0ZTpudWxsLHNoYXJlZDp7cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MH0sZWZmZWN0czpudWxsfX1mdW5jdGlvbiBsSChlLG4pe2U9ZS51cGRhdGVRdWV1ZSxuLnVwZGF0ZVF1ZXVlPT09ZSYmKG4udXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZS5maXJzdEJhc2VVcGRhdGUsbGFzdEJhc2VVcGRhdGU6ZS5sYXN0QmFzZVVwZGF0ZSxzaGFyZWQ6ZS5zaGFyZWQsZWZmZWN0czplLmVmZmVjdHN9KX1mdW5jdGlvbiBsVyhlLG4pe3JldHVybntldmVudFRpbWU6ZSxsYW5lOm4sdGFnOjAscGF5bG9hZDpudWxsLGNhbGxiYWNrOm51bGwsbmV4dDpudWxsfX1mdW5jdGlvbiBsUShlLG4sdCl7dmFyIHI9ZS51cGRhdGVRdWV1ZTtpZihudWxsPT09cilyZXR1cm4gbnVsbDtpZihyPXIuc2hhcmVkLDAhPSgyJnUyKSl7dmFyIGw9ci5wZW5kaW5nO3JldHVybiBudWxsPT09bD9uLm5leHQ9bjoobi5uZXh0PWwubmV4dCxsLm5leHQ9biksci5wZW5kaW5nPW4sbEEoZSx0KX1yZXR1cm4gbnVsbD09PShsPXIuaW50ZXJsZWF2ZWQpPyhuLm5leHQ9bixsVihyKSk6KG4ubmV4dD1sLm5leHQsbC5uZXh0PW4pLHIuaW50ZXJsZWF2ZWQ9bixsQShlLHQpfWZ1bmN0aW9uIGxxKGUsbix0KXtpZihudWxsIT09KG49bi51cGRhdGVRdWV1ZSkmJihuPW4uc2hhcmVkLDAhPSg0MTk0MjQwJnQpKSl7dmFyIHI9bi5sYW5lcztyJj1lLnBlbmRpbmdMYW5lcyx0fD1yLG4ubGFuZXM9dCxucyhlLHQpfX1mdW5jdGlvbiBsSyhlLG4pe3ZhciB0PWUudXBkYXRlUXVldWUscj1lLmFsdGVybmF0ZTtpZihudWxsIT09ciYmdD09PShyPXIudXBkYXRlUXVldWUpKXt2YXIgbD1udWxsLGE9bnVsbDtpZihudWxsIT09KHQ9dC5maXJzdEJhc2VVcGRhdGUpKXtkb3t2YXIgdT17ZXZlbnRUaW1lOnQuZXZlbnRUaW1lLGxhbmU6dC5sYW5lLHRhZzp0LnRhZyxwYXlsb2FkOnQucGF5bG9hZCxjYWxsYmFjazp0LmNhbGxiYWNrLG5leHQ6bnVsbH07bnVsbD09PWE/bD1hPXU6YT1hLm5leHQ9dSx0PXQubmV4dH13aGlsZShudWxsIT09dCk7bnVsbD09PWE/bD1hPW46YT1hLm5leHQ9bn1lbHNlIGw9YT1uO3Q9e2Jhc2VTdGF0ZTpyLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6bCxsYXN0QmFzZVVwZGF0ZTphLHNoYXJlZDpyLnNoYXJlZCxlZmZlY3RzOnIuZWZmZWN0c30sZS51cGRhdGVRdWV1ZT10O3JldHVybn1udWxsPT09KGU9dC5sYXN0QmFzZVVwZGF0ZSk/dC5maXJzdEJhc2VVcGRhdGU9bjplLm5leHQ9bix0Lmxhc3RCYXNlVXBkYXRlPW59ZnVuY3Rpb24gbFkoZSxuLHQscil7dmFyIGw9ZS51cGRhdGVRdWV1ZTtsaj0hMTt2YXIgYT1sLmZpcnN0QmFzZVVwZGF0ZSx1PWwubGFzdEJhc2VVcGRhdGUsbz1sLnNoYXJlZC5wZW5kaW5nO2lmKG51bGwhPT1vKXtsLnNoYXJlZC5wZW5kaW5nPW51bGw7dmFyIGk9byxzPWkubmV4dDtpLm5leHQ9bnVsbCxudWxsPT09dT9hPXM6dS5uZXh0PXMsdT1pO3ZhciBjPWUuYWx0ZXJuYXRlO251bGwhPT1jJiYobz0oYz1jLnVwZGF0ZVF1ZXVlKS5sYXN0QmFzZVVwZGF0ZSkhPT11JiYobnVsbD09PW8/Yy5maXJzdEJhc2VVcGRhdGU9czpvLm5leHQ9cyxjLmxhc3RCYXNlVXBkYXRlPWkpfWlmKG51bGwhPT1hKXt2YXIgZj1sLmJhc2VTdGF0ZTtmb3IodT0wLGM9cz1pPW51bGwsbz1hOzspe3ZhciBkPW8ubGFuZSxwPW8uZXZlbnRUaW1lO2lmKChyJmQpPT09ZCl7bnVsbCE9PWMmJihjPWMubmV4dD17ZXZlbnRUaW1lOnAsbGFuZTowLHRhZzpvLnRhZyxwYXlsb2FkOm8ucGF5bG9hZCxjYWxsYmFjazpvLmNhbGxiYWNrLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1vO3N3aXRjaChkPW4scD10LGgudGFnKXtjYXNlIDE6aWYoImZ1bmN0aW9uIj09dHlwZW9mKG09aC5wYXlsb2FkKSl7Zj1tLmNhbGwocCxmLGQpO2JyZWFrIGV9Zj1tO2JyZWFrIGU7Y2FzZSAzOm0uZmxhZ3M9LTY1NTM3Jm0uZmxhZ3N8MTI4O2Nhc2UgMDppZihudWxsPT0oZD0iZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpP20uY2FsbChwLGYsZCk6bSkpYnJlYWsgZTtmPUIoe30sZixkKTticmVhayBlO2Nhc2UgMjpsaj0hMH19bnVsbCE9PW8uY2FsbGJhY2smJjAhPT1vLmxhbmUmJihlLmZsYWdzfD02NCxudWxsPT09KGQ9bC5lZmZlY3RzKT9sLmVmZmVjdHM9W29dOmQucHVzaChvKSl9ZWxzZSBwPXtldmVudFRpbWU6cCxsYW5lOmQsdGFnOm8udGFnLHBheWxvYWQ6by5wYXlsb2FkLGNhbGxiYWNrOm8uY2FsbGJhY2ssbmV4dDpudWxsfSxudWxsPT09Yz8ocz1jPXAsaT1mKTpjPWMubmV4dD1wLHV8PWQ7aWYobnVsbD09PShvPW8ubmV4dCkpe2lmKG51bGw9PT0obz1sLnNoYXJlZC5wZW5kaW5nKSlicmVhaztvPShkPW8pLm5leHQsZC5uZXh0PW51bGwsbC5sYXN0QmFzZVVwZGF0ZT1kLGwuc2hhcmVkLnBlbmRpbmc9bnVsbH19aWYobnVsbD09PWMmJihpPWYpLGwuYmFzZVN0YXRlPWksbC5maXJzdEJhc2VVcGRhdGU9cyxsLmxhc3RCYXNlVXBkYXRlPWMsbnVsbCE9PShuPWwuc2hhcmVkLmludGVybGVhdmVkKSl7bD1uO2RvIHV8PWwubGFuZSxsPWwubmV4dDt3aGlsZShsIT09bil9ZWxzZSBudWxsPT09YSYmKGwuc2hhcmVkLmxhbmVzPTApO29lfD11LGUubGFuZXM9dSxlLm1lbW9pemVkU3RhdGU9Zn19ZnVuY3Rpb24gbFgoZSxuLHQpe2lmKGU9bi5lZmZlY3RzLG4uZWZmZWN0cz1udWxsLG51bGwhPT1lKWZvcihuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl0sbD1yLmNhbGxiYWNrO2lmKG51bGwhPT1sKXtpZihyLmNhbGxiYWNrPW51bGwscj10LCJmdW5jdGlvbiIhPXR5cGVvZiBsKXRocm93IEVycm9yKGYoMTkxLGwpKTtsLmNhbGwocil9fX12YXIgbEc9e30sbFo9ckEobEcpLGxKPXJBKGxHKSxsMD1yQShsRyk7ZnVuY3Rpb24gbDEoZSl7aWYoZT09PWxHKXRocm93IEVycm9yKGYoMTc0KSk7cmV0dXJuIGV9ZnVuY3Rpb24gbDIoZSxuKXtzd2l0Y2gockIobDAsbiksckIobEosZSksckIobFosbEcpLGU9bi5ub2RlVHlwZSl7Y2FzZSA5OmNhc2UgMTE6bj0obj1uLmRvY3VtZW50RWxlbWVudCk/bi5uYW1lc3BhY2VVUkk6ZWYobnVsbCwiIik7YnJlYWs7ZGVmYXVsdDpuPWVmKG49KGU9OD09PWU/bi5wYXJlbnROb2RlOm4pLm5hbWVzcGFjZVVSSXx8bnVsbCxlPWUudGFnTmFtZSl9cmoobFopLHJCKGxaLG4pfWZ1bmN0aW9uIGwzKCl7cmoobFopLHJqKGxKKSxyaihsMCl9ZnVuY3Rpb24gbDQoZSl7bDEobDAuY3VycmVudCk7dmFyIG49bDEobFouY3VycmVudCksdD1lZihuLGUudHlwZSk7biE9PXQmJihyQihsSixlKSxyQihsWix0KSl9ZnVuY3Rpb24gbDgoZSl7bEouY3VycmVudD09PWUmJihyaihsWikscmoobEopKX12YXIgbDY9ckEoMCk7ZnVuY3Rpb24gbDUoZSl7Zm9yKHZhciBuPWU7bnVsbCE9PW47KXtpZigxMz09PW4udGFnKXt2YXIgdD1uLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXQmJihudWxsPT09KHQ9dC5kZWh5ZHJhdGVkKXx8IiQ/Ij09PXQuZGF0YXx8IiQhIj09PXQuZGF0YSkpcmV0dXJuIG59ZWxzZSBpZigxOT09PW4udGFnJiZ2b2lkIDAhPT1uLm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPSgxMjgmbi5mbGFncykpcmV0dXJuIG59ZWxzZSBpZihudWxsIT09bi5jaGlsZCl7bi5jaGlsZC5yZXR1cm49bixuPW4uY2hpbGQ7Y29udGludWV9aWYobj09PWUpYnJlYWs7Zm9yKDtudWxsPT09bi5zaWJsaW5nOyl7aWYobnVsbD09PW4ucmV0dXJufHxuLnJldHVybj09PWUpcmV0dXJuIG51bGw7bj1uLnJldHVybn1uLnNpYmxpbmcucmV0dXJuPW4ucmV0dXJuLG49bi5zaWJsaW5nfXJldHVybiBudWxsfXZhciBsOT1bXTtmdW5jdGlvbiBsNygpe2Zvcih2YXIgZT0wO2U8bDkubGVuZ3RoO2UrKylsOVtlXS5fd29ya0luUHJvZ3Jlc3NWZXJzaW9uUHJpbWFyeT1udWxsO2w5Lmxlbmd0aD0wfXZhciBhZT1DLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsYW49Qy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxhdD0wLGFyPW51bGwsYWw9bnVsbCxhYT1udWxsLGF1PSExLGFvPSExLGFpPTAsYXM9MDtmdW5jdGlvbiBhYygpe3Rocm93IEVycm9yKGYoMzIxKSl9ZnVuY3Rpb24gYWYoZSxuKXtpZihudWxsPT09bilyZXR1cm4hMTtmb3IodmFyIHQ9MDt0PG4ubGVuZ3RoJiZ0PGUubGVuZ3RoO3QrKylpZighdEQoZVt0XSxuW3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBhZChlLG4sdCxyLGwsYSl7aWYoYXQ9YSxhcj1uLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLG4udXBkYXRlUXVldWU9bnVsbCxuLmxhbmVzPTAsYWUuY3VycmVudD1udWxsPT09ZXx8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZT9hWTphWCxlPXQocixsKSxhbyl7YT0wO2Rve2lmKGFvPSExLGFpPTAsMjU8PWEpdGhyb3cgRXJyb3IoZigzMDEpKTthKz0xLGFhPWFsPW51bGwsbi51cGRhdGVRdWV1ZT1udWxsLGFlLmN1cnJlbnQ9YUcsZT10KHIsbCl9d2hpbGUoYW8pfWlmKGFlLmN1cnJlbnQ9YUssbj1udWxsIT09YWwmJm51bGwhPT1hbC5uZXh0LGF0PTAsYWE9YWw9YXI9bnVsbCxhdT0hMSxuKXRocm93IEVycm9yKGYoMzAwKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYXAoKXt2YXIgZT0wIT09YWk7cmV0dXJuIGFpPTAsZX1mdW5jdGlvbiBhbSgpe3ZhciBlPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBudWxsPT09YWE/YXIubWVtb2l6ZWRTdGF0ZT1hYT1lOmFhPWFhLm5leHQ9ZSxhYX1mdW5jdGlvbiBhaCgpe2lmKG51bGw9PT1hbCl7dmFyIGU9YXIuYWx0ZXJuYXRlO2U9bnVsbCE9PWU/ZS5tZW1vaXplZFN0YXRlOm51bGx9ZWxzZSBlPWFsLm5leHQ7dmFyIG49bnVsbD09PWFhP2FyLm1lbW9pemVkU3RhdGU6YWEubmV4dDtpZihudWxsIT09bilhYT1uLGFsPWU7ZWxzZXtpZihudWxsPT09ZSl0aHJvdyBFcnJvcihmKDMxMCkpO2U9e21lbW9pemVkU3RhdGU6KGFsPWUpLm1lbW9pemVkU3RhdGUsYmFzZVN0YXRlOmFsLmJhc2VTdGF0ZSxiYXNlUXVldWU6YWwuYmFzZVF1ZXVlLHF1ZXVlOmFsLnF1ZXVlLG5leHQ6bnVsbH0sbnVsbD09PWFhP2FyLm1lbW9pemVkU3RhdGU9YWE9ZTphYT1hYS5uZXh0PWV9cmV0dXJuIGFhfWZ1bmN0aW9uIGFnKGUsbil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIG4/bihlKTpufWZ1bmN0aW9uIGF2KGUpe3ZhciBuPWFoKCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGYoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9YWwsbD1yLmJhc2VRdWV1ZSxhPXQucGVuZGluZztpZihudWxsIT09YSl7aWYobnVsbCE9PWwpe3ZhciB1PWwubmV4dDtsLm5leHQ9YS5uZXh0LGEubmV4dD11fXIuYmFzZVF1ZXVlPWw9YSx0LnBlbmRpbmc9bnVsbH1pZihudWxsIT09bCl7YT1sLm5leHQscj1yLmJhc2VTdGF0ZTt2YXIgbz11PW51bGwsaT1udWxsLHM9YTtkb3t2YXIgYz1zLmxhbmU7aWYoKGF0JmMpPT09YyludWxsIT09aSYmKGk9aS5uZXh0PXtsYW5lOjAsYWN0aW9uOnMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6cy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6cy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLHI9cy5oYXNFYWdlclN0YXRlP3MuZWFnZXJTdGF0ZTplKHIscy5hY3Rpb24pO2Vsc2V7dmFyIGQ9e2xhbmU6YyxhY3Rpb246cy5hY3Rpb24saGFzRWFnZXJTdGF0ZTpzLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpzLmVhZ2VyU3RhdGUsbmV4dDpudWxsfTtudWxsPT09aT8obz1pPWQsdT1yKTppPWkubmV4dD1kLGFyLmxhbmVzfD1jLG9lfD1jfXM9cy5uZXh0fXdoaWxlKG51bGwhPT1zJiZzIT09YSk7bnVsbD09PWk/dT1yOmkubmV4dD1vLHREKHIsbi5tZW1vaXplZFN0YXRlKXx8KHVhPSEwKSxuLm1lbW9pemVkU3RhdGU9cixuLmJhc2VTdGF0ZT11LG4uYmFzZVF1ZXVlPWksdC5sYXN0UmVuZGVyZWRTdGF0ZT1yfWlmKG51bGwhPT0oZT10LmludGVybGVhdmVkKSl7bD1lO2RvIGE9bC5sYW5lLGFyLmxhbmVzfD1hLG9lfD1hLGw9bC5uZXh0O3doaWxlKGwhPT1lKX1lbHNlIG51bGw9PT1sJiYodC5sYW5lcz0wKTtyZXR1cm5bbi5tZW1vaXplZFN0YXRlLHQuZGlzcGF0Y2hdfWZ1bmN0aW9uIGF5KGUpe3ZhciBuPWFoKCksdD1uLnF1ZXVlO2lmKG51bGw9PT10KXRocm93IEVycm9yKGYoMzExKSk7dC5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9dC5kaXNwYXRjaCxsPXQucGVuZGluZyxhPW4ubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7dC5wZW5kaW5nPW51bGw7dmFyIHU9bD1sLm5leHQ7ZG8gYT1lKGEsdS5hY3Rpb24pLHU9dS5uZXh0O3doaWxlKHUhPT1sKTt0RChhLG4ubWVtb2l6ZWRTdGF0ZSl8fCh1YT0hMCksbi5tZW1vaXplZFN0YXRlPWEsbnVsbD09PW4uYmFzZVF1ZXVlJiYobi5iYXNlU3RhdGU9YSksdC5sYXN0UmVuZGVyZWRTdGF0ZT1hfXJldHVyblthLHJdfWZ1bmN0aW9uIGFiKCl7fWZ1bmN0aW9uIGFrKGUsbil7dmFyIHQ9YXIscj1haCgpLGw9bigpLGE9IXREKHIubWVtb2l6ZWRTdGF0ZSxsKTtpZihhJiYoci5tZW1vaXplZFN0YXRlPWwsdWE9ITApLHI9ci5xdWV1ZSxhUihheC5iaW5kKG51bGwsdCxyLGUpLFtlXSksci5nZXRTbmFwc2hvdCE9PW58fGF8fG51bGwhPT1hYSYmMSZhYS5tZW1vaXplZFN0YXRlLnRhZyl7aWYodC5mbGFnc3w9MjA0OCxhUCg5LGFTLmJpbmQobnVsbCx0LHIsbCxuKSx2b2lkIDAsbnVsbCksbnVsbD09PXUzKXRocm93IEVycm9yKGYoMzQ5KSk7MCE9KDMwJmF0KXx8YXcodCxuLGwpfXJldHVybiBsfWZ1bmN0aW9uIGF3KGUsbix0KXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDpuLHZhbHVlOnR9LG51bGw9PT0obj1hci51cGRhdGVRdWV1ZSk/KG49e2xhc3RFZmZlY3Q6bnVsbCxzdG9yZXM6bnVsbH0sYXIudXBkYXRlUXVldWU9bixuLnN0b3Jlcz1bZV0pOm51bGw9PT0odD1uLnN0b3Jlcyk/bi5zdG9yZXM9W2VdOnQucHVzaChlKX1mdW5jdGlvbiBhUyhlLG4sdCxyKXtuLnZhbHVlPXQsbi5nZXRTbmFwc2hvdD1yLGFFKG4pJiZhXyhlKX1mdW5jdGlvbiBheChlLG4sdCl7cmV0dXJuIHQoZnVuY3Rpb24oKXthRShuKSYmYV8oZSl9KX1mdW5jdGlvbiBhRShlKXt2YXIgbj1lLmdldFNuYXBzaG90O2U9ZS52YWx1ZTt0cnl7dmFyIHQ9bigpO3JldHVybiF0RChlLHQpfWNhdGNoKGUpe3JldHVybiEwfX1mdW5jdGlvbiBhXyhlKXt2YXIgbj1sQShlLDEpO251bGwhPT1uJiZvayhuLGUsMSwtMSl9ZnVuY3Rpb24gYUMoZSl7dmFyIG49YW0oKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZSgpKSxuLm1lbW9pemVkU3RhdGU9bi5iYXNlU3RhdGU9ZSxlPXtwZW5kaW5nOm51bGwsaW50ZXJsZWF2ZWQ6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphZyxsYXN0UmVuZGVyZWRTdGF0ZTplfSxuLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPWFILmJpbmQobnVsbCxhcixlKSxbbi5tZW1vaXplZFN0YXRlLGVdfWZ1bmN0aW9uIGFQKGUsbix0LHIpe3JldHVybiBlPXt0YWc6ZSxjcmVhdGU6bixkZXN0cm95OnQsZGVwczpyLG5leHQ6bnVsbH0sbnVsbD09PShuPWFyLnVwZGF0ZVF1ZXVlKT8obj17bGFzdEVmZmVjdDpudWxsLHN0b3JlczpudWxsfSxhci51cGRhdGVRdWV1ZT1uLG4ubGFzdEVmZmVjdD1lLm5leHQ9ZSk6bnVsbD09PSh0PW4ubGFzdEVmZmVjdCk/bi5sYXN0RWZmZWN0PWUubmV4dD1lOihyPXQubmV4dCx0Lm5leHQ9ZSxlLm5leHQ9cixuLmxhc3RFZmZlY3Q9ZSksZX1mdW5jdGlvbiBhTigpe3JldHVybiBhaCgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gYXooZSxuLHQscil7dmFyIGw9YW0oKTthci5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YVAoMXxuLHQsdm9pZCAwLHZvaWQgMD09PXI/bnVsbDpyKX1mdW5jdGlvbiBhVChlLG4sdCxyKXt2YXIgbD1haCgpO3I9dm9pZCAwPT09cj9udWxsOnI7dmFyIGE9dm9pZCAwO2lmKG51bGwhPT1hbCl7dmFyIHU9YWwubWVtb2l6ZWRTdGF0ZTtpZihhPXUuZGVzdHJveSxudWxsIT09ciYmYWYocix1LmRlcHMpKXtsLm1lbW9pemVkU3RhdGU9YVAobix0LGEscik7cmV0dXJufX1hci5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YVAoMXxuLHQsYSxyKX1mdW5jdGlvbiBhTChlLG4pe3JldHVybiBheig4MzkwNjU2LDgsZSxuKX1mdW5jdGlvbiBhUihlLG4pe3JldHVybiBhVCgyMDQ4LDgsZSxuKX1mdW5jdGlvbiBhTShlLG4pe3JldHVybiBhVCg0LDIsZSxuKX1mdW5jdGlvbiBhRihlLG4pe3JldHVybiBhVCg0LDQsZSxuKX1mdW5jdGlvbiBhTyhlLG4pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuPyhuKGU9ZSgpKSxmdW5jdGlvbigpe24obnVsbCl9KTpudWxsIT1uPyhlPWUoKSxuLmN1cnJlbnQ9ZSxmdW5jdGlvbigpe24uY3VycmVudD1udWxsfSk6dm9pZCAwfWZ1bmN0aW9uIGFEKGUsbix0KXtyZXR1cm4gdD1udWxsIT10P3QuY29uY2F0KFtlXSk6bnVsbCxhVCg0LDQsYU8uYmluZChudWxsLG4sZSksdCl9ZnVuY3Rpb24gYUkoKXt9ZnVuY3Rpb24gYVUoZSxuKXt2YXIgdD1haCgpO249dm9pZCAwPT09bj9udWxsOm47dmFyIHI9dC5tZW1vaXplZFN0YXRlO3JldHVybiBudWxsIT09ciYmbnVsbCE9PW4mJmFmKG4sclsxXSk/clswXToodC5tZW1vaXplZFN0YXRlPVtlLG5dLGUpfWZ1bmN0aW9uIGFWKGUsbil7dmFyIHQ9YWgoKTtuPXZvaWQgMD09PW4/bnVsbDpuO3ZhciByPXQubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXImJm51bGwhPT1uJiZhZihuLHJbMV0pP3JbMF06KGU9ZSgpLHQubWVtb2l6ZWRTdGF0ZT1bZSxuXSxlKX1mdW5jdGlvbiBhJChlLG4sdCl7cmV0dXJuIDA9PSgyMSZhdCk/KGUuYmFzZVN0YXRlJiYoZS5iYXNlU3RhdGU9ITEsdWE9ITApLGUubWVtb2l6ZWRTdGF0ZT10KToodEQodCxuKXx8KHQ9bnUoKSxhci5sYW5lc3w9dCxvZXw9dCxlLmJhc2VTdGF0ZT0hMCksbil9ZnVuY3Rpb24gYUEoZSxuKXt2YXIgdD1uYztuYz0wIT09dCYmND50P3Q6NCxlKCEwKTt2YXIgcj1hbi50cmFuc2l0aW9uO2FuLnRyYW5zaXRpb249e307dHJ5e2UoITEpLG4oKX1maW5hbGx5e25jPXQsYW4udHJhbnNpdGlvbj1yfX1mdW5jdGlvbiBhaigpe3JldHVybiBhaCgpLm1lbW9pemVkU3RhdGV9ZnVuY3Rpb24gYUIoZSxuLHQpe3ZhciByPW9iKGUpO3Q9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LGFXKGUpP2FRKG4sdCk6bnVsbCE9PSh0PWwkKGUsbix0LHIpKSYmKG9rKHQsZSxyLG95KCkpLGFxKHQsbixyKSl9ZnVuY3Rpb24gYUgoZSxuLHQpe3ZhciByPW9iKGUpLGw9e2xhbmU6cixhY3Rpb246dCxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKGFXKGUpKWFRKG4sbCk7ZWxzZXt2YXIgYT1lLmFsdGVybmF0ZTtpZigwPT09ZS5sYW5lcyYmKG51bGw9PT1hfHwwPT09YS5sYW5lcykmJm51bGwhPT0oYT1uLmxhc3RSZW5kZXJlZFJlZHVjZXIpKXRyeXt2YXIgdT1uLmxhc3RSZW5kZXJlZFN0YXRlLG89YSh1LHQpO2lmKGwuaGFzRWFnZXJTdGF0ZT0hMCxsLmVhZ2VyU3RhdGU9byx0RChvLHUpKXt2YXIgaT1uLmludGVybGVhdmVkO251bGw9PT1pPyhsLm5leHQ9bCxsVihuKSk6KGwubmV4dD1pLm5leHQsaS5uZXh0PWwpLG4uaW50ZXJsZWF2ZWQ9bDtyZXR1cm59fWNhdGNoKGUpe31maW5hbGx5e31udWxsIT09KHQ9bCQoZSxuLGwscikpJiYob2sodCxlLHIsbD1veSgpKSxhcSh0LG4scikpfX1mdW5jdGlvbiBhVyhlKXt2YXIgbj1lLmFsdGVybmF0ZTtyZXR1cm4gZT09PWFyfHxudWxsIT09biYmbj09PWFyfWZ1bmN0aW9uIGFRKGUsbil7YW89YXU9ITA7dmFyIHQ9ZS5wZW5kaW5nO251bGw9PT10P24ubmV4dD1uOihuLm5leHQ9dC5uZXh0LHQubmV4dD1uKSxlLnBlbmRpbmc9bn1mdW5jdGlvbiBhcShlLG4sdCl7aWYoMCE9KDQxOTQyNDAmdCkpe3ZhciByPW4ubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsdHw9cixuLmxhbmVzPXQsbnMoZSx0KX19dmFyIGFLPXtyZWFkQ29udGV4dDpsSSx1c2VDYWxsYmFjazphYyx1c2VDb250ZXh0OmFjLHVzZUVmZmVjdDphYyx1c2VJbXBlcmF0aXZlSGFuZGxlOmFjLHVzZUluc2VydGlvbkVmZmVjdDphYyx1c2VMYXlvdXRFZmZlY3Q6YWMsdXNlTWVtbzphYyx1c2VSZWR1Y2VyOmFjLHVzZVJlZjphYyx1c2VTdGF0ZTphYyx1c2VEZWJ1Z1ZhbHVlOmFjLHVzZURlZmVycmVkVmFsdWU6YWMsdXNlVHJhbnNpdGlvbjphYyx1c2VNdXRhYmxlU291cmNlOmFjLHVzZVN5bmNFeHRlcm5hbFN0b3JlOmFjLHVzZUlkOmFjLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0sYVk9e3JlYWRDb250ZXh0OmxJLHVzZUNhbGxiYWNrOmZ1bmN0aW9uKGUsbil7cmV0dXJuIGFtKCkubWVtb2l6ZWRTdGF0ZT1bZSx2b2lkIDA9PT1uP251bGw6bl0sZX0sdXNlQ29udGV4dDpsSSx1c2VFZmZlY3Q6YUwsdXNlSW1wZXJhdGl2ZUhhbmRsZTpmdW5jdGlvbihlLG4sdCl7cmV0dXJuIHQ9bnVsbCE9dD90LmNvbmNhdChbZV0pOm51bGwsYXooNDE5NDMwOCw0LGFPLmJpbmQobnVsbCxuLGUpLHQpfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gYXooNDE5NDMwOCw0LGUsbil9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLG4pe3JldHVybiBheig0LDIsZSxuKX0sdXNlTWVtbzpmdW5jdGlvbihlLG4pe3ZhciB0PWFtKCk7cmV0dXJuIG49dm9pZCAwPT09bj9udWxsOm4sZT1lKCksdC5tZW1vaXplZFN0YXRlPVtlLG5dLGV9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSxuLHQpe3ZhciByPWFtKCk7cmV0dXJuIG49dm9pZCAwIT09dD90KG4pOm4sci5tZW1vaXplZFN0YXRlPXIuYmFzZVN0YXRlPW4sZT17cGVuZGluZzpudWxsLGludGVybGVhdmVkOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6ZSxsYXN0UmVuZGVyZWRTdGF0ZTpufSxyLnF1ZXVlPWUsZT1lLmRpc3BhdGNoPWFCLmJpbmQobnVsbCxhcixlKSxbci5tZW1vaXplZFN0YXRlLGVdfSx1c2VSZWY6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9e2N1cnJlbnQ6ZX0sYW0oKS5tZW1vaXplZFN0YXRlPWV9LHVzZVN0YXRlOmFDLHVzZURlYnVnVmFsdWU6YUksdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYW0oKS5tZW1vaXplZFN0YXRlPWV9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hQyghMSksbj1lWzBdO3JldHVybiBlPWFBLmJpbmQobnVsbCxlWzFdKSxhbSgpLm1lbW9pemVkU3RhdGU9ZSxbbixlXX0sdXNlTXV0YWJsZVNvdXJjZTpmdW5jdGlvbigpe30sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSxuLHQpe3ZhciByPWFyLGw9YW0oKTtpZihsZil7aWYodm9pZCAwPT09dCl0aHJvdyBFcnJvcihmKDQwNykpO3Q9dCgpfWVsc2V7aWYodD1uKCksbnVsbD09PXUzKXRocm93IEVycm9yKGYoMzQ5KSk7MCE9KDMwJmF0KXx8YXcocixuLHQpfWwubWVtb2l6ZWRTdGF0ZT10O3ZhciBhPXt2YWx1ZTp0LGdldFNuYXBzaG90Om59O3JldHVybiBsLnF1ZXVlPWEsYUwoYXguYmluZChudWxsLHIsYSxlKSxbZV0pLHIuZmxhZ3N8PTIwNDgsYVAoOSxhUy5iaW5kKG51bGwscixhLHQsbiksdm9pZCAwLG51bGwpLHR9LHVzZUlkOmZ1bmN0aW9uKCl7dmFyIGU9YW0oKSxuPXUzLmlkZW50aWZpZXJQcmVmaXg7aWYobGYpe3ZhciB0PWxsLHI9bHI7bj0iOiIrbisiUiIrKHQ9KHImfigxPDwzMi1lOShyKS0xKSkudG9TdHJpbmcoMzIpK3QpLDA8KHQ9YWkrKykmJihuKz0iSCIrdC50b1N0cmluZygzMikpLG4rPSI6In1lbHNlIG49IjoiK24rInIiKyh0PWFzKyspLnRvU3RyaW5nKDMyKSsiOiI7cmV0dXJuIGUubWVtb2l6ZWRTdGF0ZT1ufSx1bnN0YWJsZV9pc05ld1JlY29uY2lsZXI6ITF9LGFYPXtyZWFkQ29udGV4dDpsSSx1c2VDYWxsYmFjazphVSx1c2VDb250ZXh0OmxJLHVzZUVmZmVjdDphUix1c2VJbXBlcmF0aXZlSGFuZGxlOmFELHVzZUluc2VydGlvbkVmZmVjdDphTSx1c2VMYXlvdXRFZmZlY3Q6YUYsdXNlTWVtbzphVix1c2VSZWR1Y2VyOmF2LHVzZVJlZjphTix1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhdihhZyl9LHVzZURlYnVnVmFsdWU6YUksdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYSQoYWgoKSxhbC5tZW1vaXplZFN0YXRlLGUpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuW2F2KGFnKVswXSxhaCgpLm1lbW9pemVkU3RhdGVdfSx1c2VNdXRhYmxlU291cmNlOmFiLHVzZVN5bmNFeHRlcm5hbFN0b3JlOmFrLHVzZUlkOmFqLHVuc3RhYmxlX2lzTmV3UmVjb25jaWxlcjohMX0sYUc9e3JlYWRDb250ZXh0OmxJLHVzZUNhbGxiYWNrOmFVLHVzZUNvbnRleHQ6bEksdXNlRWZmZWN0OmFSLHVzZUltcGVyYXRpdmVIYW5kbGU6YUQsdXNlSW5zZXJ0aW9uRWZmZWN0OmFNLHVzZUxheW91dEVmZmVjdDphRix1c2VNZW1vOmFWLHVzZVJlZHVjZXI6YXksdXNlUmVmOmFOLHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGF5KGFnKX0sdXNlRGVidWdWYWx1ZTphSSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUpe3ZhciBuPWFoKCk7cmV0dXJuIG51bGw9PT1hbD9uLm1lbW9pemVkU3RhdGU9ZTphJChuLGFsLm1lbW9pemVkU3RhdGUsZSl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm5bYXkoYWcpWzBdLGFoKCkubWVtb2l6ZWRTdGF0ZV19LHVzZU11dGFibGVTb3VyY2U6YWIsdXNlU3luY0V4dGVybmFsU3RvcmU6YWssdXNlSWQ6YWosdW5zdGFibGVfaXNOZXdSZWNvbmNpbGVyOiExfTtmdW5jdGlvbiBhWihlLG4pe2lmKGUmJmUuZGVmYXVsdFByb3BzKWZvcih2YXIgdCBpbiBuPUIoe30sbiksZT1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1uW3RdJiYoblt0XT1lW3RdKTtyZXR1cm4gbn1mdW5jdGlvbiBhSihlLG4sdCxyKXt0PW51bGw9PSh0PXQocixuPWUubWVtb2l6ZWRTdGF0ZSkpP246Qih7fSxuLHQpLGUubWVtb2l6ZWRTdGF0ZT10LDA9PT1lLmxhbmVzJiYoZS51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dCl9dmFyIGEwPXtpc01vdW50ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuISEoZT1lLl9yZWFjdEludGVybmFscykmJmVXKGUpPT09ZX0sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsbix0KXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPW95KCksbD1vYihlKSxhPWxXKHIsbCk7YS5wYXlsb2FkPW4sbnVsbCE9dCYmKGEuY2FsbGJhY2s9dCksbnVsbCE9PShuPWxRKGUsYSxsKSkmJihvayhuLGUsbCxyKSxscShuLGUsbCkpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsbix0KXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPW95KCksbD1vYihlKSxhPWxXKHIsbCk7YS50YWc9MSxhLnBheWxvYWQ9bixudWxsIT10JiYoYS5jYWxsYmFjaz10KSxudWxsIT09KG49bFEoZSxhLGwpKSYmKG9rKG4sZSxsLHIpLGxxKG4sZSxsKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLG4pe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIHQ9b3koKSxyPW9iKGUpLGw9bFcodCxyKTtsLnRhZz0yLG51bGwhPW4mJihsLmNhbGxiYWNrPW4pLG51bGwhPT0obj1sUShlLGwscikpJiYob2sobixlLHIsdCksbHEobixlLHIpKX19O2Z1bmN0aW9uIGExKGUsbix0LHIsbCxhLHUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUocixhLHUpOiFuLnByb3RvdHlwZXx8IW4ucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwhdEkodCxyKXx8IXRJKGwsYSl9ZnVuY3Rpb24gYTIoZSxuLHQpe3ZhciByPSExLGw9ckgsYT1uLmNvbnRleHRUeXBlO3JldHVybiJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1sSShhKToobD1yWShuKT9ycTpyVy5jdXJyZW50LGE9KHI9bnVsbCE9KHI9bi5jb250ZXh0VHlwZXMpKT9ySyhlLGwpOnJIKSxuPW5ldyBuKHQsYSksZS5tZW1vaXplZFN0YXRlPW51bGwhPT1uLnN0YXRlJiZ2b2lkIDAhPT1uLnN0YXRlP24uc3RhdGU6bnVsbCxuLnVwZGF0ZXI9YTAsZS5zdGF0ZU5vZGU9bixuLl9yZWFjdEludGVybmFscz1lLHImJigoZT1lLnN0YXRlTm9kZSkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dD1sLGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ9YSksbn1mdW5jdGlvbiBhMyhlLG4sdCxyKXtlPW4uc3RhdGUsImZ1bmN0aW9uIj09dHlwZW9mIG4uY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmbi5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHQsciksImZ1bmN0aW9uIj09dHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJm4uVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHModCxyKSxuLnN0YXRlIT09ZSYmYTAuZW5xdWV1ZVJlcGxhY2VTdGF0ZShuLG4uc3RhdGUsbnVsbCl9ZnVuY3Rpb24gYTQoZSxuLHQscil7dmFyIGw9ZS5zdGF0ZU5vZGU7bC5wcm9wcz10LGwuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLGwucmVmcz17fSxsQihlKTt2YXIgYT1uLmNvbnRleHRUeXBlOyJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/bC5jb250ZXh0PWxJKGEpOihhPXJZKG4pP3JxOnJXLmN1cnJlbnQsbC5jb250ZXh0PXJLKGUsYSkpLGwuc3RhdGU9ZS5tZW1vaXplZFN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZihhPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKSYmKGFKKGUsbixhLHQpLGwuc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSwiZnVuY3Rpb24iPT10eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHN8fCJmdW5jdGlvbiI9PXR5cGVvZiBsLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHwiZnVuY3Rpb24iIT10eXBlb2YgbC5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiYiZnVuY3Rpb24iIT10eXBlb2YgbC5jb21wb25lbnRXaWxsTW91bnR8fChuPWwuc3RhdGUsImZ1bmN0aW9uIj09dHlwZW9mIGwuY29tcG9uZW50V2lsbE1vdW50JiZsLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBsLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmwuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpLG4hPT1sLnN0YXRlJiZhMC5lbnF1ZXVlUmVwbGFjZVN0YXRlKGwsbC5zdGF0ZSxudWxsKSxsWShlLHQsbCxyKSxsLnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGwuY29tcG9uZW50RGlkTW91bnQmJihlLmZsYWdzfD00MTk0MzA4KX1mdW5jdGlvbiBhOChlLG4pe3RyeXt2YXIgdD0iIixyPW47ZG8gdCs9ZnVuY3Rpb24oZSl7c3dpdGNoKGUudGFnKXtjYXNlIDU6cmV0dXJuIEgoZS50eXBlKTtjYXNlIDE2OnJldHVybiBIKCJMYXp5Iik7Y2FzZSAxMzpyZXR1cm4gSCgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBIKCJTdXNwZW5zZUxpc3QiKTtjYXNlIDA6Y2FzZSAyOmNhc2UgMTU6cmV0dXJuIGU9UShlLnR5cGUsITEpO2Nhc2UgMTE6cmV0dXJuIGU9UShlLnR5cGUucmVuZGVyLCExKTtjYXNlIDE6cmV0dXJuIGU9UShlLnR5cGUsITApO2RlZmF1bHQ6cmV0dXJuIiJ9fShyKSxyPXIucmV0dXJuO3doaWxlKHIpO3ZhciBsPXR9Y2F0Y2goZSl7bD0iXG5FcnJvciBnZW5lcmF0aW5nIHN0YWNrOiAiK2UubWVzc2FnZSsiXG4iK2Uuc3RhY2t9cmV0dXJue3ZhbHVlOmUsc291cmNlOm4sc3RhY2s6bCxkaWdlc3Q6bnVsbH19ZnVuY3Rpb24gYTYoZSxuLHQpe3JldHVybnt2YWx1ZTplLHNvdXJjZTpudWxsLHN0YWNrOm51bGwhPXQ/dDpudWxsLGRpZ2VzdDpudWxsIT1uP246bnVsbH19ZnVuY3Rpb24gYTUoZSxuKXt0cnl7Y29uc29sZS5lcnJvcihuLnZhbHVlKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX12YXIgYTk9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gYTcoZSxuLHQpeyh0PWxXKC0xLHQpKS50YWc9Myx0LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH07dmFyIHI9bi52YWx1ZTtyZXR1cm4gdC5jYWxsYmFjaz1mdW5jdGlvbigpe29pfHwob2k9ITAsb3M9ciksYTUoZSxuKX0sdH1mdW5jdGlvbiB1ZShlLG4sdCl7KHQ9bFcoLTEsdCkpLnRhZz0zO3ZhciByPWUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBsPW4udmFsdWU7dC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIHIobCl9LHQuY2FsbGJhY2s9ZnVuY3Rpb24oKXthNShlLG4pfX12YXIgYT1lLnN0YXRlTm9kZTtyZXR1cm4gbnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYodC5jYWxsYmFjaz1mdW5jdGlvbigpe2E1KGUsbiksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihudWxsPT09b2M/b2M9bmV3IFNldChbdGhpc10pOm9jLmFkZCh0aGlzKSk7dmFyIHQ9bi5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKG4udmFsdWUse2NvbXBvbmVudFN0YWNrOm51bGwhPT10P3Q6IiJ9KX0pLHR9ZnVuY3Rpb24gdW4oZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyBhOTt2YXIgbD1uZXcgU2V0O3Iuc2V0KG4sbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldChuKSkmJihsPW5ldyBTZXQsci5zZXQobixsKSk7bC5oYXModCl8fChsLmFkZCh0KSxlPW9BLmJpbmQobnVsbCxlLG4sdCksbi50aGVuKGUsZSkpfWZ1bmN0aW9uIHV0KGUpe2Rve3ZhciBuO2lmKChuPTEzPT09ZS50YWcpJiYobj1udWxsPT09KG49ZS5tZW1vaXplZFN0YXRlKXx8bnVsbCE9PW4uZGVoeWRyYXRlZCksbilyZXR1cm4gZTtlPWUucmV0dXJufXdoaWxlKG51bGwhPT1lKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiB1cihlLG4sdCxyLGwpe3JldHVybiAwPT0oMSZlLm1vZGUpP2U9PT1uP2UuZmxhZ3N8PTY1NTM2OihlLmZsYWdzfD0xMjgsdC5mbGFnc3w9MTMxMDcyLHQuZmxhZ3MmPS01MjgwNSwxPT09dC50YWcmJihudWxsPT09dC5hbHRlcm5hdGU/dC50YWc9MTc6KChuPWxXKC0xLDEpKS50YWc9MixsUSh0LG4sMSkpKSx0LmxhbmVzfD0xKTooZS5mbGFnc3w9NjU1MzYsZS5sYW5lcz1sKSxlfXZhciB1bD1DLlJlYWN0Q3VycmVudE93bmVyLHVhPSExO2Z1bmN0aW9uIHV1KGUsbix0LHIpe24uY2hpbGQ9bnVsbD09PWU/bE4obixudWxsLHQscik6bFAobixlLmNoaWxkLHQscil9ZnVuY3Rpb24gdW8oZSxuLHQscixsKXt0PXQucmVuZGVyO3ZhciBhPW4ucmVmO3JldHVybihsRChuLGwpLHI9YWQoZSxuLHQscixhLGwpLHQ9YXAoKSxudWxsPT09ZXx8dWEpPyhsZiYmdCYmbG8obiksbi5mbGFnc3w9MSx1dShlLG4scixsKSxuLmNoaWxkKToobi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLG4uZmxhZ3MmPS0yMDUzLGUubGFuZXMmPX5sLHVDKGUsbixsKSl9ZnVuY3Rpb24gdWkoZSxuLHQscixsKXtpZihudWxsPT09ZSl7dmFyIGE9dC50eXBlO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBhfHxvcShhKXx8dm9pZCAwIT09YS5kZWZhdWx0UHJvcHN8fG51bGwhPT10LmNvbXBhcmV8fHZvaWQgMCE9PXQuZGVmYXVsdFByb3BzPygoZT1vWSh0LnR5cGUsbnVsbCxyLG4sbi5tb2RlLGwpKS5yZWY9bi5yZWYsZS5yZXR1cm49bixuLmNoaWxkPWUpOihuLnRhZz0xNSxuLnR5cGU9YSx1cyhlLG4sYSxyLGwpKX1pZihhPWUuY2hpbGQsMD09KGUubGFuZXMmbCkpe3ZhciB1PWEubWVtb2l6ZWRQcm9wcztpZigodD1udWxsIT09KHQ9dC5jb21wYXJlKT90OnRJKSh1LHIpJiZlLnJlZj09PW4ucmVmKXJldHVybiB1QyhlLG4sbCl9cmV0dXJuIG4uZmxhZ3N8PTEsKGU9b0soYSxyKSkucmVmPW4ucmVmLGUucmV0dXJuPW4sbi5jaGlsZD1lfWZ1bmN0aW9uIHVzKGUsbix0LHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZih0SShhLHIpJiZlLnJlZj09PW4ucmVmKXtpZih1YT0hMSxuLnBlbmRpbmdQcm9wcz1yPWEsMD09KGUubGFuZXMmbCkpcmV0dXJuIG4ubGFuZXM9ZS5sYW5lcyx1QyhlLG4sbCk7MCE9KDEzMTA3MiZlLmZsYWdzKSYmKHVhPSEwKX19cmV0dXJuIHVkKGUsbix0LHIsbCl9ZnVuY3Rpb24gdWMoZSxuLHQpe3ZhciByPW4ucGVuZGluZ1Byb3BzLGw9ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKCJoaWRkZW4iPT09ci5tb2RlKXtpZigwPT0oMSZuLm1vZGUpKW4ubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH0sckIodTUsdTYpLHU2fD10O2Vsc2V7aWYoMD09KDEwNzM3NDE4MjQmdCkpcmV0dXJuIGU9bnVsbCE9PWE/YS5iYXNlTGFuZXN8dDp0LG4ubGFuZXM9bi5jaGlsZExhbmVzPTEwNzM3NDE4MjQsbi5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfSxuLnVwZGF0ZVF1ZXVlPW51bGwsckIodTUsdTYpLHU2fD1lLG51bGw7bi5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbCx0cmFuc2l0aW9uczpudWxsfSxyPW51bGwhPT1hP2EuYmFzZUxhbmVzOnQsckIodTUsdTYpLHU2fD1yfX1lbHNlIG51bGwhPT1hPyhyPWEuYmFzZUxhbmVzfHQsbi5tZW1vaXplZFN0YXRlPW51bGwpOnI9dCxyQih1NSx1NiksdTZ8PXI7cmV0dXJuIHV1KGUsbixsLHQpLG4uY2hpbGR9ZnVuY3Rpb24gdWYoZSxuKXt2YXIgdD1uLnJlZjsobnVsbD09PWUmJm51bGwhPT10fHxudWxsIT09ZSYmZS5yZWYhPT10KSYmKG4uZmxhZ3N8PTUxMixuLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiB1ZChlLG4sdCxyLGwpe3ZhciBhPXJZKHQpP3JxOnJXLmN1cnJlbnQ7cmV0dXJuKGE9cksobixhKSxsRChuLGwpLHQ9YWQoZSxuLHQscixhLGwpLHI9YXAoKSxudWxsPT09ZXx8dWEpPyhsZiYmciYmbG8obiksbi5mbGFnc3w9MSx1dShlLG4sdCxsKSxuLmNoaWxkKToobi51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLG4uZmxhZ3MmPS0yMDUzLGUubGFuZXMmPX5sLHVDKGUsbixsKSl9ZnVuY3Rpb24gdXAoZSxuLHQscixsKXtpZihyWSh0KSl7dmFyIGE9ITA7ckoobil9ZWxzZSBhPSExO2lmKGxEKG4sbCksbnVsbD09PW4uc3RhdGVOb2RlKXVfKGUsbiksYTIobix0LHIpLGE0KG4sdCxyLGwpLHI9ITA7ZWxzZSBpZihudWxsPT09ZSl7dmFyIHU9bi5zdGF0ZU5vZGUsbz1uLm1lbW9pemVkUHJvcHM7dS5wcm9wcz1vO3ZhciBpPXUuY29udGV4dCxzPXQuY29udGV4dFR5cGU7cz0ib2JqZWN0Ij09dHlwZW9mIHMmJm51bGwhPT1zP2xJKHMpOnJLKG4scz1yWSh0KT9ycTpyVy5jdXJyZW50KTt2YXIgYz10LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyxmPSJmdW5jdGlvbiI9PXR5cGVvZiBjfHwiZnVuY3Rpb24iPT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtmfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1yfHxpIT09cykmJmEzKG4sdSxyLHMpLGxqPSExO3ZhciBkPW4ubWVtb2l6ZWRTdGF0ZTt1LnN0YXRlPWQsbFkobixyLHUsbCksaT1uLm1lbW9pemVkU3RhdGUsbyE9PXJ8fGQhPT1pfHxyUS5jdXJyZW50fHxsaj8oImZ1bmN0aW9uIj09dHlwZW9mIGMmJihhSihuLHQsYyxyKSxpPW4ubWVtb2l6ZWRTdGF0ZSksKG89bGp8fGExKG4sdCxvLHIsZCxpLHMpKT8oZnx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbE1vdW50JiZ1LmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJnUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5jb21wb25lbnREaWRNb3VudCYmKG4uZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkTW91bnQmJihuLmZsYWdzfD00MTk0MzA4KSxuLm1lbW9pemVkUHJvcHM9cixuLm1lbW9pemVkU3RhdGU9aSksdS5wcm9wcz1yLHUuc3RhdGU9aSx1LmNvbnRleHQ9cyxyPW8pOigiZnVuY3Rpb24iPT10eXBlb2YgdS5jb21wb25lbnREaWRNb3VudCYmKG4uZmxhZ3N8PTQxOTQzMDgpLHI9ITEpfWVsc2V7dT1uLnN0YXRlTm9kZSxsSChlLG4pLG89bi5tZW1vaXplZFByb3BzLHM9bi50eXBlPT09bi5lbGVtZW50VHlwZT9vOmFaKG4udHlwZSxvKSx1LnByb3BzPXMsZj1uLnBlbmRpbmdQcm9wcyxkPXUuY29udGV4dCxpPSJvYmplY3QiPT10eXBlb2YoaT10LmNvbnRleHRUeXBlKSYmbnVsbCE9PWk/bEkoaSk6cksobixpPXJZKHQpP3JxOnJXLmN1cnJlbnQpO3ZhciBwPXQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzOyhjPSJmdW5jdGlvbiI9PXR5cGVvZiBwfHwiZnVuY3Rpb24iPT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSl8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzfHwobyE9PWZ8fGQhPT1pKSYmYTMobix1LHIsaSksbGo9ITEsZD1uLm1lbW9pemVkU3RhdGUsdS5zdGF0ZT1kLGxZKG4scix1LGwpO3ZhciBtPW4ubWVtb2l6ZWRTdGF0ZTtvIT09Znx8ZCE9PW18fHJRLmN1cnJlbnR8fGxqPygiZnVuY3Rpb24iPT10eXBlb2YgcCYmKGFKKG4sdCxwLHIpLG09bi5tZW1vaXplZFN0YXRlKSwocz1sanx8YTEobix0LHMscixkLG0saSl8fCExKT8oY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlJiZ1LmNvbXBvbmVudFdpbGxVcGRhdGUocixtLGkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZ1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIsbSxpKSksImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50RGlkVXBkYXRlJiYobi5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJihuLmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KG4uZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9MTAyNCksbi5tZW1vaXplZFByb3BzPXIsbi5tZW1vaXplZFN0YXRlPW0pLHUucHJvcHM9cix1LnN0YXRlPW0sdS5jb250ZXh0PWkscj1zKTooImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwobi5mbGFnc3w9NCksImZ1bmN0aW9uIiE9dHlwZW9mIHUuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fChuLmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gdW0oZSxuLHQscixhLGwpfWZ1bmN0aW9uIHVtKGUsbix0LHIsbCxhKXt1ZihlLG4pO3ZhciB1PTAhPSgxMjgmbi5mbGFncyk7aWYoIXImJiF1KXJldHVybiBsJiZyMChuLHQsITEpLHVDKGUsbixhKTtyPW4uc3RhdGVOb2RlLHVsLmN1cnJlbnQ9bjt2YXIgbz11JiYiZnVuY3Rpb24iIT10eXBlb2YgdC5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDpyLnJlbmRlcigpO3JldHVybiBuLmZsYWdzfD0xLG51bGwhPT1lJiZ1PyhuLmNoaWxkPWxQKG4sZS5jaGlsZCxudWxsLGEpLG4uY2hpbGQ9bFAobixudWxsLG8sYSkpOnV1KGUsbixvLGEpLG4ubWVtb2l6ZWRTdGF0ZT1yLnN0YXRlLGwmJnIwKG4sdCwhMCksbi5jaGlsZH1mdW5jdGlvbiB1aChlKXt2YXIgbj1lLnN0YXRlTm9kZTtuLnBlbmRpbmdDb250ZXh0P3JHKGUsbi5wZW5kaW5nQ29udGV4dCxuLnBlbmRpbmdDb250ZXh0IT09bi5jb250ZXh0KTpuLmNvbnRleHQmJnJHKGUsbi5jb250ZXh0LCExKSxsMihlLG4uY29udGFpbmVySW5mbyl9ZnVuY3Rpb24gdWcoZSxuLHQscixsKXtyZXR1cm4gbGsoKSxsdyhsKSxuLmZsYWdzfD0yNTYsdXUoZSxuLHQsciksbi5jaGlsZH12YXIgdXY9e2RlaHlkcmF0ZWQ6bnVsbCx0cmVlQ29udGV4dDpudWxsLHJldHJ5TGFuZTowfTtmdW5jdGlvbiB1eShlKXtyZXR1cm57YmFzZUxhbmVzOmUsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6bnVsbH19ZnVuY3Rpb24gdWIoZSxuLHQpe3ZhciByLGw9bi5wZW5kaW5nUHJvcHMsYT1sNi5jdXJyZW50LHU9ITEsbz0wIT0oMTI4Jm4uZmxhZ3MpO2lmKChyPW8pfHwocj0obnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiYwIT0oMiZhKSkscj8odT0hMCxuLmZsYWdzJj0tMTI5KToobnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpJiYoYXw9MSksckIobDYsMSZhKSxudWxsPT09ZSlyZXR1cm4obGcobiksbnVsbCE9PShlPW4ubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKT8oMD09KDEmbi5tb2RlKT9uLmxhbmVzPTE6IiQhIj09PWUuZGF0YT9uLmxhbmVzPTg6bi5sYW5lcz0xMDczNzQxODI0LG51bGwpOihvPWwuY2hpbGRyZW4sZT1sLmZhbGxiYWNrLHU/KGw9bi5tb2RlLHU9bi5jaGlsZCxvPXttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOm99LDA9PSgxJmwpJiZudWxsIT09dT8odS5jaGlsZExhbmVzPTAsdS5wZW5kaW5nUHJvcHM9byk6dT1vRyhvLGwsMCxudWxsKSxlPW9YKGUsbCx0LG51bGwpLHUucmV0dXJuPW4sZS5yZXR1cm49bix1LnNpYmxpbmc9ZSxuLmNoaWxkPXUsbi5jaGlsZC5tZW1vaXplZFN0YXRlPXV5KHQpLG4ubWVtb2l6ZWRTdGF0ZT11dixlKTp1ayhuLG8pKTtpZihudWxsIT09KGE9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PShyPWEuZGVoeWRyYXRlZCkpcmV0dXJuIGZ1bmN0aW9uKGUsbix0LHIsbCxhLHUpe2lmKHQpcmV0dXJuIDI1NiZuLmZsYWdzPyhuLmZsYWdzJj0tMjU3LHV3KGUsbix1LHI9YTYoRXJyb3IoZig0MjIpKSkpKTpudWxsIT09bi5tZW1vaXplZFN0YXRlPyhuLmNoaWxkPWUuY2hpbGQsbi5mbGFnc3w9MTI4LG51bGwpOihhPXIuZmFsbGJhY2ssbD1uLm1vZGUscj1vRyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ci5jaGlsZHJlbn0sbCwwLG51bGwpLGE9b1goYSxsLHUsbnVsbCksYS5mbGFnc3w9MixyLnJldHVybj1uLGEucmV0dXJuPW4sci5zaWJsaW5nPWEsbi5jaGlsZD1yLDAhPSgxJm4ubW9kZSkmJmxQKG4sZS5jaGlsZCxudWxsLHUpLG4uY2hpbGQubWVtb2l6ZWRTdGF0ZT11eSh1KSxuLm1lbW9pemVkU3RhdGU9dXYsYSk7aWYoMD09KDEmbi5tb2RlKSlyZXR1cm4gdXcoZSxuLHUsbnVsbCk7aWYoIiQhIj09PWwuZGF0YSl7aWYocj1sLm5leHRTaWJsaW5nJiZsLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIG89ci5kZ3N0O3JldHVybiByPW8sdXcoZSxuLHUscj1hNihhPUVycm9yKGYoNDE5KSkscix2b2lkIDApKX1pZihvPTAhPSh1JmUuY2hpbGRMYW5lcyksdWF8fG8pe2lmKG51bGwhPT0ocj11Mykpe3N3aXRjaCh1Ji11KXtjYXNlIDQ6bD0yO2JyZWFrO2Nhc2UgMTY6bD04O2JyZWFrO2Nhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6Y2FzZSA2NzEwODg2NDpsPTMyO2JyZWFrO2Nhc2UgNTM2ODcwOTEyOmw9MjY4NDM1NDU2O2JyZWFrO2RlZmF1bHQ6bD0wfTAhPT0obD0wIT0obCYoci5zdXNwZW5kZWRMYW5lc3x1KSk/MDpsKSYmbCE9PWEucmV0cnlMYW5lJiYoYS5yZXRyeUxhbmU9bCxsQShlLGwpLG9rKHIsZSxsLC0xKSl9cmV0dXJuIG9NKCksdXcoZSxuLHUscj1hNihFcnJvcihmKDQyMSkpKSl9cmV0dXJuIiQ/Ij09PWwuZGF0YT8obi5mbGFnc3w9MTI4LG4uY2hpbGQ9ZS5jaGlsZCxuPW9CLmJpbmQobnVsbCxlKSxsLl9yZWFjdFJldHJ5PW4sbnVsbCk6KGU9YS50cmVlQ29udGV4dCxsYz1yQyhsLm5leHRTaWJsaW5nKSxscz1uLGxmPSEwLGxkPW51bGwsbnVsbCE9PWUmJihsZVtsbisrXT1scixsZVtsbisrXT1sbCxsZVtsbisrXT1sdCxscj1lLmlkLGxsPWUub3ZlcmZsb3csbHQ9biksbj11ayhuLHIuY2hpbGRyZW4pLG4uZmxhZ3N8PTQwOTYsbil9KGUsbixvLGwscixhLHQpO2lmKHUpe3U9bC5mYWxsYmFjayxvPW4ubW9kZSxyPShhPWUuY2hpbGQpLnNpYmxpbmc7dmFyIGk9e21vZGU6ImhpZGRlbiIsY2hpbGRyZW46bC5jaGlsZHJlbn07cmV0dXJuIDA9PSgxJm8pJiZuLmNoaWxkIT09YT8oKGw9bi5jaGlsZCkuY2hpbGRMYW5lcz0wLGwucGVuZGluZ1Byb3BzPWksbi5kZWxldGlvbnM9bnVsbCk6KGw9b0soYSxpKSkuc3VidHJlZUZsYWdzPTE0NjgwMDY0JmEuc3VidHJlZUZsYWdzLG51bGwhPT1yP3U9b0socix1KToodT1vWCh1LG8sdCxudWxsKSx1LmZsYWdzfD0yKSx1LnJldHVybj1uLGwucmV0dXJuPW4sbC5zaWJsaW5nPXUsbi5jaGlsZD1sLGw9dSx1PW4uY2hpbGQsbz1udWxsPT09KG89ZS5jaGlsZC5tZW1vaXplZFN0YXRlKT91eSh0KTp7YmFzZUxhbmVzOm8uYmFzZUxhbmVzfHQsY2FjaGVQb29sOm51bGwsdHJhbnNpdGlvbnM6by50cmFuc2l0aW9uc30sdS5tZW1vaXplZFN0YXRlPW8sdS5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyZ+dCxuLm1lbW9pemVkU3RhdGU9dXYsbH1yZXR1cm4gZT0odT1lLmNoaWxkKS5zaWJsaW5nLGw9b0sodSx7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bC5jaGlsZHJlbn0pLDA9PSgxJm4ubW9kZSkmJihsLmxhbmVzPXQpLGwucmV0dXJuPW4sbC5zaWJsaW5nPW51bGwsbnVsbCE9PWUmJihudWxsPT09KHQ9bi5kZWxldGlvbnMpPyhuLmRlbGV0aW9ucz1bZV0sbi5mbGFnc3w9MTYpOnQucHVzaChlKSksbi5jaGlsZD1sLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gdWsoZSxuKXtyZXR1cm4obj1vRyh7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46bn0sZS5tb2RlLDAsbnVsbCkpLnJldHVybj1lLGUuY2hpbGQ9bn1mdW5jdGlvbiB1dyhlLG4sdCxyKXtyZXR1cm4gbnVsbCE9PXImJmx3KHIpLGxQKG4sZS5jaGlsZCxudWxsLHQpLGU9dWsobixuLnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9MixuLm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIHVTKGUsbix0KXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9biksbE8oZS5yZXR1cm4sbix0KX1mdW5jdGlvbiB1eChlLG4sdCxyLGwpe3ZhciBhPWUubWVtb2l6ZWRTdGF0ZTtudWxsPT09YT9lLm1lbW9pemVkU3RhdGU9e2lzQmFja3dhcmRzOm4scmVuZGVyaW5nOm51bGwscmVuZGVyaW5nU3RhcnRUaW1lOjAsbGFzdDpyLHRhaWw6dCx0YWlsTW9kZTpsfTooYS5pc0JhY2t3YXJkcz1uLGEucmVuZGVyaW5nPW51bGwsYS5yZW5kZXJpbmdTdGFydFRpbWU9MCxhLmxhc3Q9cixhLnRhaWw9dCxhLnRhaWxNb2RlPWwpfWZ1bmN0aW9uIHVFKGUsbix0KXt2YXIgcj1uLnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7aWYodXUoZSxuLHIuY2hpbGRyZW4sdCksMCE9KDImKHI9bDYuY3VycmVudCkpKXI9MSZyfDIsbi5mbGFnc3w9MTI4O2Vsc2V7aWYobnVsbCE9PWUmJjAhPSgxMjgmZS5mbGFncykpZTpmb3IoZT1uLmNoaWxkO251bGwhPT1lOyl7aWYoMTM9PT1lLnRhZyludWxsIT09ZS5tZW1vaXplZFN0YXRlJiZ1UyhlLHQsbik7ZWxzZSBpZigxOT09PWUudGFnKXVTKGUsdCxuKTtlbHNlIGlmKG51bGwhPT1lLmNoaWxkKXtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZDtjb250aW51ZX1pZihlPT09bilicmVhaztmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fGUucmV0dXJuPT09bilicmVhayBlO2U9ZS5yZXR1cm59ZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZ31yJj0xfWlmKHJCKGw2LHIpLDA9PSgxJm4ubW9kZSkpbi5tZW1vaXplZFN0YXRlPW51bGw7ZWxzZSBzd2l0Y2gobCl7Y2FzZSJmb3J3YXJkcyI6Zm9yKGw9bnVsbCx0PW4uY2hpbGQ7bnVsbCE9PXQ7KW51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGw9PT1sNShlKSYmKGw9dCksdD10LnNpYmxpbmc7bnVsbD09PSh0PWwpPyhsPW4uY2hpbGQsbi5jaGlsZD1udWxsKToobD10LnNpYmxpbmcsdC5zaWJsaW5nPW51bGwpLHV4KG4sITEsbCx0LGEpO2JyZWFrO2Nhc2UiYmFja3dhcmRzIjpmb3IodD1udWxsLGw9bi5jaGlsZCxuLmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09bDUoZSkpe24uY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9dCx0PWwsbD1lfXV4KG4sITAsdCxudWxsLGEpO2JyZWFrO2Nhc2UidG9nZXRoZXIiOnV4KG4sITEsbnVsbCxudWxsLHZvaWQgMCk7YnJlYWs7ZGVmYXVsdDpuLm1lbW9pemVkU3RhdGU9bnVsbH1yZXR1cm4gbi5jaGlsZH1mdW5jdGlvbiB1XyhlLG4pezA9PSgxJm4ubW9kZSkmJm51bGwhPT1lJiYoZS5hbHRlcm5hdGU9bnVsbCxuLmFsdGVybmF0ZT1udWxsLG4uZmxhZ3N8PTIpfWZ1bmN0aW9uIHVDKGUsbix0KXtpZihudWxsIT09ZSYmKG4uZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSxvZXw9bi5sYW5lcywwPT0odCZuLmNoaWxkTGFuZXMpKXJldHVybiBudWxsO2lmKG51bGwhPT1lJiZuLmNoaWxkIT09ZS5jaGlsZCl0aHJvdyBFcnJvcihmKDE1MykpO2lmKG51bGwhPT1uLmNoaWxkKXtmb3IodD1vSyhlPW4uY2hpbGQsZS5wZW5kaW5nUHJvcHMpLG4uY2hpbGQ9dCx0LnJldHVybj1uO251bGwhPT1lLnNpYmxpbmc7KWU9ZS5zaWJsaW5nLCh0PXQuc2libGluZz1vSyhlLGUucGVuZGluZ1Byb3BzKSkucmV0dXJuPW47dC5zaWJsaW5nPW51bGx9cmV0dXJuIG4uY2hpbGR9ZnVuY3Rpb24gdVAoZSxuKXtpZighbGYpc3dpdGNoKGUudGFpbE1vZGUpe2Nhc2UiaGlkZGVuIjpuPWUudGFpbDtmb3IodmFyIHQ9bnVsbDtudWxsIT09bjspbnVsbCE9PW4uYWx0ZXJuYXRlJiYodD1uKSxuPW4uc2libGluZztudWxsPT09dD9lLnRhaWw9bnVsbDp0LnNpYmxpbmc9bnVsbDticmVhaztjYXNlImNvbGxhcHNlZCI6dD1lLnRhaWw7Zm9yKHZhciByPW51bGw7bnVsbCE9PXQ7KW51bGwhPT10LmFsdGVybmF0ZSYmKHI9dCksdD10LnNpYmxpbmc7bnVsbD09PXI/bnx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsfX1mdW5jdGlvbiB1TihlKXt2YXIgbj1udWxsIT09ZS5hbHRlcm5hdGUmJmUuYWx0ZXJuYXRlLmNoaWxkPT09ZS5jaGlsZCx0PTAscj0wO2lmKG4pZm9yKHZhciBsPWUuY2hpbGQ7bnVsbCE9PWw7KXR8PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PTE0NjgwMDY0Jmwuc3VidHJlZUZsYWdzLHJ8PTE0NjgwMDY0JmwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bnVsbCE9PWw7KXR8PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPXQsbn1sPWZ1bmN0aW9uKGUsbil7Zm9yKHZhciB0PW4uY2hpbGQ7bnVsbCE9PXQ7KXtpZig1PT09dC50YWd8fDY9PT10LnRhZyllLmFwcGVuZENoaWxkKHQuc3RhdGVOb2RlKTtlbHNlIGlmKDQhPT10LnRhZyYmbnVsbCE9PXQuY2hpbGQpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1uKWJyZWFrO2Zvcig7bnVsbD09PXQuc2libGluZzspe2lmKG51bGw9PT10LnJldHVybnx8dC5yZXR1cm49PT1uKXJldHVybjt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9fSxhPWZ1bmN0aW9uKCl7fSx1PWZ1bmN0aW9uKGUsbix0LHIpe3ZhciBsPWUubWVtb2l6ZWRQcm9wcztpZihsIT09cil7ZT1uLnN0YXRlTm9kZSxsMShsWi5jdXJyZW50KTt2YXIgYSx1PW51bGw7c3dpdGNoKHQpe2Nhc2UiaW5wdXQiOmw9WihlLGwpLHI9WihlLHIpLHU9W107YnJlYWs7Y2FzZSJzZWxlY3QiOmw9Qih7fSxsLHt2YWx1ZTp2b2lkIDB9KSxyPUIoe30scix7dmFsdWU6dm9pZCAwfSksdT1bXTticmVhaztjYXNlInRleHRhcmVhIjpsPWV1KGUsbCkscj1ldShlLHIpLHU9W107YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iIT10eXBlb2YgbC5vbkNsaWNrJiYiZnVuY3Rpb24iPT10eXBlb2Ygci5vbkNsaWNrJiYoZS5vbmNsaWNrPXJnKX1mb3IocyBpbiBldyh0LHIpLHQ9bnVsbCxsKWlmKCFyLmhhc093blByb3BlcnR5KHMpJiZsLmhhc093blByb3BlcnR5KHMpJiZudWxsIT1sW3NdKXtpZigic3R5bGUiPT09cyl7dmFyIG89bFtzXTtmb3IoYSBpbiBvKW8uaGFzT3duUHJvcGVydHkoYSkmJih0fHwodD17fSksdFthXT0iIil9ZWxzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCIhPT1zJiYiY2hpbGRyZW4iIT09cyYmInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1zJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PXMmJiJhdXRvRm9jdXMiIT09cyYmKHAuaGFzT3duUHJvcGVydHkocyk/dXx8KHU9W10pOih1PXV8fFtdKS5wdXNoKHMsbnVsbCkpfWZvcihzIGluIHIpe3ZhciBpPXJbc107aWYobz1udWxsIT1sP2xbc106dm9pZCAwLHIuaGFzT3duUHJvcGVydHkocykmJmkhPT1vJiYobnVsbCE9aXx8bnVsbCE9bykpe2lmKCJzdHlsZSI9PT1zKXtpZihvKXtmb3IoYSBpbiBvKSFvLmhhc093blByb3BlcnR5KGEpfHxpJiZpLmhhc093blByb3BlcnR5KGEpfHwodHx8KHQ9e30pLHRbYV09IiIpO2ZvcihhIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShhKSYmb1thXSE9PWlbYV0mJih0fHwodD17fSksdFthXT1pW2FdKX1lbHNlIHR8fCh1fHwodT1bXSksdS5wdXNoKHMsdCkpLHQ9aX1lbHNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PXM/KGk9aT9pLl9faHRtbDp2b2lkIDAsbz1vP28uX19odG1sOnZvaWQgMCxudWxsIT1pJiZvIT09aSYmKHU9dXx8W10pLnB1c2gocyxpKSk6ImNoaWxkcmVuIj09PXM/InN0cmluZyIhPXR5cGVvZiBpJiYibnVtYmVyIiE9dHlwZW9mIGl8fCh1PXV8fFtdKS5wdXNoKHMsIiIraSk6InN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1zJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PXMmJihwLmhhc093blByb3BlcnR5KHMpPyhudWxsIT1pJiYib25TY3JvbGwiPT09cyYmcnQoInNjcm9sbCIsZSksdXx8bz09PWl8fCh1PVtdKSk6KHU9dXx8W10pLnB1c2gocyxpKSl9fXQmJih1PXV8fFtdKS5wdXNoKCJzdHlsZSIsdCk7dmFyIHM9dTsobi51cGRhdGVRdWV1ZT1zKSYmKG4uZmxhZ3N8PTQpfX0sbz1mdW5jdGlvbihlLG4sdCxyKXt0IT09ciYmKG4uZmxhZ3N8PTQpfTt2YXIgdXo9ITEsdVQ9ITEsdUw9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsdVI9bnVsbDtmdW5jdGlvbiB1TShlLG4pe3ZhciB0PWUucmVmO2lmKG51bGwhPT10KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl0cnl7dChudWxsKX1jYXRjaCh0KXtvJChlLG4sdCl9ZWxzZSB0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gdUYoZSxuLHQpe3RyeXt0KCl9Y2F0Y2godCl7byQoZSxuLHQpfX12YXIgdU89ITE7ZnVuY3Rpb24gdUQoZSxuLHQpe3ZhciByPW4udXBkYXRlUXVldWU7aWYobnVsbCE9PShyPW51bGwhPT1yP3IubGFzdEVmZmVjdDpudWxsKSl7dmFyIGw9cj1yLm5leHQ7ZG97aWYoKGwudGFnJmUpPT09ZSl7dmFyIGE9bC5kZXN0cm95O2wuZGVzdHJveT12b2lkIDAsdm9pZCAwIT09YSYmdUYobix0LGEpfWw9bC5uZXh0fXdoaWxlKGwhPT1yKX19ZnVuY3Rpb24gdUkoZSxuKXtpZihudWxsIT09KG49bnVsbCE9PShuPW4udXBkYXRlUXVldWUpP24ubGFzdEVmZmVjdDpudWxsKSl7dmFyIHQ9bj1uLm5leHQ7ZG97aWYoKHQudGFnJmUpPT09ZSl7dmFyIHI9dC5jcmVhdGU7dC5kZXN0cm95PXIoKX10PXQubmV4dH13aGlsZSh0IT09bil9fWZ1bmN0aW9uIHVVKGUpe3ZhciBuPWUucmVmO2lmKG51bGwhPT1uKXt2YXIgdD1lLnN0YXRlTm9kZTtlLnRhZyxlPXQsImZ1bmN0aW9uIj09dHlwZW9mIG4/bihlKTpuLmN1cnJlbnQ9ZX19ZnVuY3Rpb24gdVYoZSl7cmV0dXJuIDU9PT1lLnRhZ3x8Mz09PWUudGFnfHw0PT09ZS50YWd9ZnVuY3Rpb24gdSQoZSl7ZTpmb3IoOzspe2Zvcig7bnVsbD09PWUuc2libGluZzspe2lmKG51bGw9PT1lLnJldHVybnx8dVYoZS5yZXR1cm4pKXJldHVybiBudWxsO2U9ZS5yZXR1cm59Zm9yKGUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmc7NSE9PWUudGFnJiY2IT09ZS50YWcmJjE4IT09ZS50YWc7KXtpZigyJmUuZmxhZ3N8fG51bGw9PT1lLmNoaWxkfHw0PT09ZS50YWcpY29udGludWUgZTtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZH1pZighKDImZS5mbGFncykpcmV0dXJuIGUuc3RhdGVOb2RlfX12YXIgdUE9bnVsbCx1aj0hMTtmdW5jdGlvbiB1QihlLG4sdCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdUgoZSxuLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHVIKGUsbix0KXtpZihlNSYmImZ1bmN0aW9uIj09dHlwZW9mIGU1Lm9uQ29tbWl0RmliZXJVbm1vdW50KXRyeXtlNS5vbkNvbW1pdEZpYmVyVW5tb3VudChlNix0KX1jYXRjaChlKXt9c3dpdGNoKHQudGFnKXtjYXNlIDU6dVR8fHVNKHQsbik7Y2FzZSA2OnZhciByPXVBLGw9dWo7dUE9bnVsbCx1QihlLG4sdCksdUE9cix1aj1sLG51bGwhPT11QSYmKHVqPyhlPXVBLHQ9dC5zdGF0ZU5vZGUsOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpOmUucmVtb3ZlQ2hpbGQodCkpOnVBLnJlbW92ZUNoaWxkKHQuc3RhdGVOb2RlKSk7YnJlYWs7Y2FzZSAxODpudWxsIT09dUEmJih1aj8oZT11QSx0PXQuc3RhdGVOb2RlLDg9PT1lLm5vZGVUeXBlP3JfKGUucGFyZW50Tm9kZSx0KToxPT09ZS5ub2RlVHlwZSYmcl8oZSx0KSxuTShlKSk6cl8odUEsdC5zdGF0ZU5vZGUpKTticmVhaztjYXNlIDQ6cj11QSxsPXVqLHVBPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sdWo9ITAsdUIoZSxuLHQpLHVBPXIsdWo9bDticmVhaztjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoIXVUJiZudWxsIT09KHI9dC51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1yLmxhc3RFZmZlY3QpKXtsPXI9ci5uZXh0O2Rve3ZhciBhPWwsdT1hLmRlc3Ryb3k7YT1hLnRhZyx2b2lkIDAhPT11JiYoMCE9KDImYSk/dUYodCxuLHUpOjAhPSg0JmEpJiZ1Rih0LG4sdSkpLGw9bC5uZXh0fXdoaWxlKGwhPT1yKX11QihlLG4sdCk7YnJlYWs7Y2FzZSAxOmlmKCF1VCYmKHVNKHQsbiksImZ1bmN0aW9uIj09dHlwZW9mKHI9dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50KSl0cnl7ci5wcm9wcz10Lm1lbW9pemVkUHJvcHMsci5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsci5jb21wb25lbnRXaWxsVW5tb3VudCgpfWNhdGNoKGUpe28kKHQsbixlKX11QihlLG4sdCk7YnJlYWs7Y2FzZSAyMTpkZWZhdWx0OnVCKGUsbix0KTticmVhaztjYXNlIDIyOjEmdC5tb2RlPyh1VD0ocj11VCl8fG51bGwhPT10Lm1lbW9pemVkU3RhdGUsdUIoZSxuLHQpLHVUPXIpOnVCKGUsbix0KX19ZnVuY3Rpb24gdVcoZSl7dmFyIG49ZS51cGRhdGVRdWV1ZTtpZihudWxsIT09bil7ZS51cGRhdGVRdWV1ZT1udWxsO3ZhciB0PWUuc3RhdGVOb2RlO251bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgdUwpLG4uZm9yRWFjaChmdW5jdGlvbihuKXt2YXIgcj1vSC5iaW5kKG51bGwsZSxuKTt0LmhhcyhuKXx8KHQuYWRkKG4pLG4udGhlbihyLHIpKX0pfX1mdW5jdGlvbiB1UShlLG4pe3ZhciB0PW4uZGVsZXRpb25zO2lmKG51bGwhPT10KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbD10W3JdO3RyeXt2YXIgYT1uLHU9YTtlOmZvcig7bnVsbCE9PXU7KXtzd2l0Y2godS50YWcpe2Nhc2UgNTp1QT11LnN0YXRlTm9kZSx1aj0hMTticmVhayBlO2Nhc2UgMzpjYXNlIDQ6dUE9dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyx1aj0hMDticmVhayBlfXU9dS5yZXR1cm59aWYobnVsbD09PXVBKXRocm93IEVycm9yKGYoMTYwKSk7dUgoZSxhLGwpLHVBPW51bGwsdWo9ITE7dmFyIG89bC5hbHRlcm5hdGU7bnVsbCE9PW8mJihvLnJldHVybj1udWxsKSxsLnJldHVybj1udWxsfWNhdGNoKGUpe28kKGwsbixlKX19aWYoMTI4NTQmbi5zdWJ0cmVlRmxhZ3MpZm9yKG49bi5jaGlsZDtudWxsIT09bjspdXEobixlKSxuPW4uc2libGluZ31mdW5jdGlvbiB1cShlLG4pe3ZhciB0PWUuYWx0ZXJuYXRlLHI9ZS5mbGFncztzd2l0Y2goZS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZih1UShuLGUpLHVLKGUpLDQmcil7dHJ5e3VEKDMsZSxlLnJldHVybiksdUkoMyxlKX1jYXRjaChuKXtvJChlLGUucmV0dXJuLG4pfXRyeXt1RCg1LGUsZS5yZXR1cm4pfWNhdGNoKG4pe28kKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMTp1UShuLGUpLHVLKGUpLDUxMiZyJiZudWxsIT09dCYmdU0odCx0LnJldHVybik7YnJlYWs7Y2FzZSA1OmlmKHVRKG4sZSksdUsoZSksNTEyJnImJm51bGwhPT10JiZ1TSh0LHQucmV0dXJuKSwzMiZlLmZsYWdzKXt2YXIgbD1lLnN0YXRlTm9kZTt0cnl7ZWgobCwiIil9Y2F0Y2gobil7byQoZSxlLnJldHVybixuKX19aWYoNCZyJiZudWxsIT0obD1lLnN0YXRlTm9kZSkpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcyx1PW51bGwhPT10P3QubWVtb2l6ZWRQcm9wczphLG89ZS50eXBlLGk9ZS51cGRhdGVRdWV1ZTtpZihlLnVwZGF0ZVF1ZXVlPW51bGwsbnVsbCE9PWkpdHJ5eyJpbnB1dCI9PT1vJiYicmFkaW8iPT09YS50eXBlJiZudWxsIT1hLm5hbWUmJmVlKGwsYSksZVMobyx1KTt2YXIgcz1lUyhvLGEpO2Zvcih1PTA7dTxpLmxlbmd0aDt1Kz0yKXt2YXIgYz1pW3VdLGQ9aVt1KzFdOyJzdHlsZSI9PT1jP2ViKGwsZCk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PWM/ZW0obCxkKToiY2hpbGRyZW4iPT09Yz9laChsLGQpOl8obCxjLGQscyl9c3dpdGNoKG8pe2Nhc2UiaW5wdXQiOmVuKGwsYSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6ZWkobCxhKTticmVhaztjYXNlInNlbGVjdCI6dmFyIHA9bC5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlO2wuX3dyYXBwZXJTdGF0ZS53YXNNdWx0aXBsZT0hIWEubXVsdGlwbGU7dmFyIG09YS52YWx1ZTtudWxsIT1tP2VhKGwsISFhLm11bHRpcGxlLG0sITEpOiEhYS5tdWx0aXBsZSE9PXAmJihudWxsIT1hLmRlZmF1bHRWYWx1ZT9lYShsLCEhYS5tdWx0aXBsZSxhLmRlZmF1bHRWYWx1ZSwhMCk6ZWEobCwhIWEubXVsdGlwbGUsYS5tdWx0aXBsZT9bXToiIiwhMSkpfWxbclRdPWF9Y2F0Y2gobil7byQoZSxlLnJldHVybixuKX19YnJlYWs7Y2FzZSA2OmlmKHVRKG4sZSksdUsoZSksNCZyKXtpZihudWxsPT09ZS5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IoZigxNjIpKTtsPWUuc3RhdGVOb2RlLGE9ZS5tZW1vaXplZFByb3BzO3RyeXtsLm5vZGVWYWx1ZT1hfWNhdGNoKG4pe28kKGUsZS5yZXR1cm4sbil9fWJyZWFrO2Nhc2UgMzppZih1UShuLGUpLHVLKGUpLDQmciYmbnVsbCE9PXQmJnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e25NKG4uY29udGFpbmVySW5mbyl9Y2F0Y2gobil7byQoZSxlLnJldHVybixuKX1icmVhaztjYXNlIDQ6ZGVmYXVsdDp1UShuLGUpLHVLKGUpO2JyZWFrO2Nhc2UgMTM6dVEobixlKSx1SyhlKSw4MTkyJihsPWUuY2hpbGQpLmZsYWdzJiYoYT1udWxsIT09bC5tZW1vaXplZFN0YXRlLGwuc3RhdGVOb2RlLmlzSGlkZGVuPWEsYSYmKG51bGw9PT1sLmFsdGVybmF0ZXx8bnVsbD09PWwuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUpJiYob2E9ZUooKSkpLDQmciYmdVcoZSk7YnJlYWs7Y2FzZSAyMjppZihjPW51bGwhPT10JiZudWxsIT09dC5tZW1vaXplZFN0YXRlLDEmZS5tb2RlPyh1VD0ocz11VCl8fGMsdVEobixlKSx1VD1zKTp1UShuLGUpLHVLKGUpLDgxOTImcil7aWYocz1udWxsIT09ZS5tZW1vaXplZFN0YXRlLChlLnN0YXRlTm9kZS5pc0hpZGRlbj1zKSYmIWMmJjAhPSgxJmUubW9kZSkpZm9yKHVSPWUsYz1lLmNoaWxkO251bGwhPT1jOyl7Zm9yKGQ9dVI9YztudWxsIT09dVI7KXtzd2l0Y2gobT0ocD11UikuY2hpbGQscC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTp1RCg0LHAscC5yZXR1cm4pO2JyZWFrO2Nhc2UgMTp1TShwLHAucmV0dXJuKTt2YXIgaD1wLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaC5jb21wb25lbnRXaWxsVW5tb3VudCl7cj1wLHQ9cC5yZXR1cm47dHJ5e249cixoLnByb3BzPW4ubWVtb2l6ZWRQcm9wcyxoLnN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxoLmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goZSl7byQocix0LGUpfX1icmVhaztjYXNlIDU6dU0ocCxwLnJldHVybik7YnJlYWs7Y2FzZSAyMjppZihudWxsIT09cC5tZW1vaXplZFN0YXRlKXt1WChkKTtjb250aW51ZX19bnVsbCE9PW0/KG0ucmV0dXJuPXAsdVI9bSk6dVgoZCl9Yz1jLnNpYmxpbmd9ZTpmb3IoYz1udWxsLGQ9ZTs7KXtpZig1PT09ZC50YWcpe2lmKG51bGw9PT1jKXtjPWQ7dHJ5e2w9ZC5zdGF0ZU5vZGUscz8oYT1sLnN0eWxlLCJmdW5jdGlvbiI9PXR5cGVvZiBhLnNldFByb3BlcnR5P2Euc2V0UHJvcGVydHkoImRpc3BsYXkiLCJub25lIiwiaW1wb3J0YW50Iik6YS5kaXNwbGF5PSJub25lIik6KG89ZC5zdGF0ZU5vZGUsdT1udWxsIT0oaT1kLm1lbW9pemVkUHJvcHMuc3R5bGUpJiZpLmhhc093blByb3BlcnR5KCJkaXNwbGF5Iik/aS5kaXNwbGF5Om51bGwsby5zdHlsZS5kaXNwbGF5PWV5KCJkaXNwbGF5Iix1KSl9Y2F0Y2gobil7byQoZSxlLnJldHVybixuKX19fWVsc2UgaWYoNj09PWQudGFnKXtpZihudWxsPT09Yyl0cnl7ZC5zdGF0ZU5vZGUubm9kZVZhbHVlPXM/IiI6ZC5tZW1vaXplZFByb3BzfWNhdGNoKG4pe28kKGUsZS5yZXR1cm4sbil9fWVsc2UgaWYoKDIyIT09ZC50YWcmJjIzIT09ZC50YWd8fG51bGw9PT1kLm1lbW9pemVkU3RhdGV8fGQ9PT1lKSYmbnVsbCE9PWQuY2hpbGQpe2QuY2hpbGQucmV0dXJuPWQsZD1kLmNoaWxkO2NvbnRpbnVlfWlmKGQ9PT1lKWJyZWFrO2Zvcig7bnVsbD09PWQuc2libGluZzspe2lmKG51bGw9PT1kLnJldHVybnx8ZC5yZXR1cm49PT1lKWJyZWFrIGU7Yz09PWQmJihjPW51bGwpLGQ9ZC5yZXR1cm59Yz09PWQmJihjPW51bGwpLGQuc2libGluZy5yZXR1cm49ZC5yZXR1cm4sZD1kLnNpYmxpbmd9fWJyZWFrO2Nhc2UgMTk6dVEobixlKSx1SyhlKSw0JnImJnVXKGUpO2Nhc2UgMjE6fX1mdW5jdGlvbiB1SyhlKXt2YXIgbj1lLmZsYWdzO2lmKDImbil7dHJ5e2U6e2Zvcih2YXIgdD1lLnJldHVybjtudWxsIT09dDspe2lmKHVWKHQpKXt2YXIgcj10O2JyZWFrIGV9dD10LnJldHVybn10aHJvdyBFcnJvcihmKDE2MCkpfXN3aXRjaChyLnRhZyl7Y2FzZSA1OnZhciBsPXIuc3RhdGVOb2RlOzMyJnIuZmxhZ3MmJihlaChsLCIiKSxyLmZsYWdzJj0tMzMpO3ZhciBhPXUkKGUpOyFmdW5jdGlvbiBlKG4sdCxyKXt2YXIgbD1uLnRhZztpZig1PT09bHx8Nj09PWwpbj1uLnN0YXRlTm9kZSx0P3IuaW5zZXJ0QmVmb3JlKG4sdCk6ci5hcHBlbmRDaGlsZChuKTtlbHNlIGlmKDQhPT1sJiZudWxsIT09KG49bi5jaGlsZCkpZm9yKGUobix0LHIpLG49bi5zaWJsaW5nO251bGwhPT1uOyllKG4sdCxyKSxuPW4uc2libGluZ30oZSxhLGwpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIHU9ci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxvPXUkKGUpOyFmdW5jdGlvbiBlKG4sdCxyKXt2YXIgbD1uLnRhZztpZig1PT09bHx8Nj09PWwpbj1uLnN0YXRlTm9kZSx0Pzg9PT1yLm5vZGVUeXBlP3IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobix0KTpyLmluc2VydEJlZm9yZShuLHQpOig4PT09ci5ub2RlVHlwZT8odD1yLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZShuLHIpOih0PXIpLmFwcGVuZENoaWxkKG4pLG51bGwhPShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT10Lm9uY2xpY2t8fCh0Lm9uY2xpY2s9cmcpKTtlbHNlIGlmKDQhPT1sJiZudWxsIT09KG49bi5jaGlsZCkpZm9yKGUobix0LHIpLG49bi5zaWJsaW5nO251bGwhPT1uOyllKG4sdCxyKSxuPW4uc2libGluZ30oZSxvLHUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoZigxNjEpKX19Y2F0Y2gobil7byQoZSxlLnJldHVybixuKX1lLmZsYWdzJj0tM300MDk2Jm4mJihlLmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24gdVkoZSl7Zm9yKDtudWxsIT09dVI7KXt2YXIgbj11UjtpZigwIT0oODc3MiZuLmZsYWdzKSl7dmFyIHQ9bi5hbHRlcm5hdGU7dHJ5e2lmKDAhPSg4NzcyJm4uZmxhZ3MpKXN3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1VHx8dUkoNSxuKTticmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoNCZuLmZsYWdzJiYhdVQpe2lmKG51bGw9PT10KXIuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBsPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOmFaKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3IuY29tcG9uZW50RGlkVXBkYXRlKGwsdC5tZW1vaXplZFN0YXRlLHIuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfX12YXIgYT1uLnVwZGF0ZVF1ZXVlO251bGwhPT1hJiZsWChuLGEscik7YnJlYWs7Y2FzZSAzOnZhciB1PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXUpe2lmKHQ9bnVsbCxudWxsIT09bi5jaGlsZClzd2l0Y2gobi5jaGlsZC50YWcpe2Nhc2UgNTpjYXNlIDE6dD1uLmNoaWxkLnN0YXRlTm9kZX1sWChuLHUsdCl9YnJlYWs7Y2FzZSA1OnZhciBvPW4uc3RhdGVOb2RlO2lmKG51bGw9PT10JiY0Jm4uZmxhZ3Mpe3Q9bzt2YXIgaT1uLm1lbW9pemVkUHJvcHM7c3dpdGNoKG4udHlwZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjppLmF1dG9Gb2N1cyYmdC5mb2N1cygpO2JyZWFrO2Nhc2UiaW1nIjppLnNyYyYmKHQuc3JjPWkuc3JjKX19YnJlYWs7Y2FzZSA2OmNhc2UgNDpjYXNlIDEyOmNhc2UgMTk6Y2FzZSAxNzpjYXNlIDIxOmNhc2UgMjI6Y2FzZSAyMzpjYXNlIDI1OmJyZWFrO2Nhc2UgMTM6aWYobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSl7dmFyIHM9bi5hbHRlcm5hdGU7aWYobnVsbCE9PXMpe3ZhciBjPXMubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09Yyl7dmFyIGQ9Yy5kZWh5ZHJhdGVkO251bGwhPT1kJiZuTShkKX19fWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoZigxNjMpKX11VHx8NTEyJm4uZmxhZ3MmJnVVKG4pfWNhdGNoKGUpe28kKG4sbi5yZXR1cm4sZSl9fWlmKG49PT1lKXt1Uj1udWxsO2JyZWFrfWlmKG51bGwhPT0odD1uLnNpYmxpbmcpKXt0LnJldHVybj1uLnJldHVybix1Uj10O2JyZWFrfXVSPW4ucmV0dXJufX1mdW5jdGlvbiB1WChlKXtmb3IoO251bGwhPT11Ujspe3ZhciBuPXVSO2lmKG49PT1lKXt1Uj1udWxsO2JyZWFrfXZhciB0PW4uc2libGluZztpZihudWxsIT09dCl7dC5yZXR1cm49bi5yZXR1cm4sdVI9dDticmVha311Uj1uLnJldHVybn19ZnVuY3Rpb24gdUcoZSl7Zm9yKDtudWxsIT09dVI7KXt2YXIgbj11Ujt0cnl7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnZhciB0PW4ucmV0dXJuO3RyeXt1SSg0LG4pfWNhdGNoKGUpe28kKG4sdCxlKX1icmVhaztjYXNlIDE6dmFyIHI9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkTW91bnQpe3ZhciBsPW4ucmV0dXJuO3RyeXtyLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7byQobixsLGUpfX12YXIgYT1uLnJldHVybjt0cnl7dVUobil9Y2F0Y2goZSl7byQobixhLGUpfWJyZWFrO2Nhc2UgNTp2YXIgdT1uLnJldHVybjt0cnl7dVUobil9Y2F0Y2goZSl7byQobix1LGUpfX19Y2F0Y2goZSl7byQobixuLnJldHVybixlKX1pZihuPT09ZSl7dVI9bnVsbDticmVha312YXIgbz1uLnNpYmxpbmc7aWYobnVsbCE9PW8pe28ucmV0dXJuPW4ucmV0dXJuLHVSPW87YnJlYWt9dVI9bi5yZXR1cm59fXZhciB1Wj1NYXRoLmNlaWwsdUo9Qy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLHUwPUMuUmVhY3RDdXJyZW50T3duZXIsdTE9Qy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyx1Mj0wLHUzPW51bGwsdTQ9bnVsbCx1OD0wLHU2PTAsdTU9ckEoMCksdTk9MCx1Nz1udWxsLG9lPTAsb249MCxvdD0wLG9yPW51bGwsb2w9bnVsbCxvYT0wLG91PTEvMCxvbz1udWxsLG9pPSExLG9zPW51bGwsb2M9bnVsbCxvZj0hMSxvZD1udWxsLG9wPTAsb209MCxvaD1udWxsLG9nPS0xLG92PTA7ZnVuY3Rpb24gb3koKXtyZXR1cm4gMCE9KDYmdTIpP2VKKCk6LTEhPT1vZz9vZzpvZz1lSigpfWZ1bmN0aW9uIG9iKGUpe3JldHVybiAwPT0oMSZlLm1vZGUpPzE6MCE9KDImdTIpJiYwIT09dTg/dTgmLXU4Om51bGwhPT1sUy50cmFuc2l0aW9uPygwPT09b3YmJihvdj1udSgpKSxvdik6MCE9PShlPW5jKT9lOmU9dm9pZCAwPT09KGU9d2luZG93LmV2ZW50KT8xNjpuQShlLnR5cGUpfWZ1bmN0aW9uIG9rKGUsbix0LHIpe2lmKDUwPG9tKXRocm93IG9tPTAsb2g9bnVsbCxFcnJvcihmKDE4NSkpO25pKGUsdCxyKSwoMD09KDImdTIpfHxlIT09dTMpJiYoZT09PXUzJiYoMD09KDImdTIpJiYob258PXQpLDQ9PT11OSYmb18oZSx1OCkpLG93KGUsciksMT09PXQmJjA9PT11MiYmMD09KDEmbi5tb2RlKSYmKG91PWVKKCkrNTAwLHIyJiZyOCgpKSl9ZnVuY3Rpb24gb3coZSxuKXt2YXIgdCxyPWUuY2FsbGJhY2tOb2RlOyFmdW5jdGlvbihlLG4pe2Zvcih2YXIgdD1lLnN1c3BlbmRlZExhbmVzLHI9ZS5waW5nZWRMYW5lcyxsPWUuZXhwaXJhdGlvblRpbWVzLGE9ZS5wZW5kaW5nTGFuZXM7MDxhOyl7dmFyIHU9MzEtZTkoYSksbz0xPDx1LGk9bFt1XTstMT09PWk/KDA9PShvJnQpfHwwIT0obyZyKSkmJihsW3VdPWZ1bmN0aW9uKGUsbil7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OnJldHVybiBuKzI1MDtjYXNlIDg6Y2FzZSAxNjpjYXNlIDMyOmNhc2UgNjQ6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIG4rNWUzO2RlZmF1bHQ6cmV0dXJuIC0xfX0obyxuKSk6aTw9biYmKGUuZXhwaXJlZExhbmVzfD1vKSxhJj1+b319KGUsbik7dmFyIGw9bmwoZSxlPT09dTM/dTg6MCk7aWYoMD09PWwpbnVsbCE9PXImJmVYKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7ZWxzZSBpZihuPWwmLWwsZS5jYWxsYmFja1ByaW9yaXR5IT09bil7aWYobnVsbCE9ciYmZVgociksMT09PW4pMD09PWUudGFnPyh0PW9DLmJpbmQobnVsbCxlKSxyMj0hMCxyNCh0KSk6cjQob0MuYmluZChudWxsLGUpKSxyeChmdW5jdGlvbigpezA9PSg2JnUyKSYmcjgoKX0pLHI9bnVsbDtlbHNle3N3aXRjaChuZihsKSl7Y2FzZSAxOnI9ZTE7YnJlYWs7Y2FzZSA0OnI9ZTI7YnJlYWs7Y2FzZSAxNjpkZWZhdWx0OnI9ZTM7YnJlYWs7Y2FzZSA1MzY4NzA5MTI6cj1lOH1yPWVZKHIsb1MuYmluZChudWxsLGUpKX1lLmNhbGxiYWNrUHJpb3JpdHk9bixlLmNhbGxiYWNrTm9kZT1yfX1mdW5jdGlvbiBvUyhlLG4pe2lmKG9nPS0xLG92PTAsMCE9KDYmdTIpKXRocm93IEVycm9yKGYoMzI3KSk7dmFyIHQ9ZS5jYWxsYmFja05vZGU7aWYob1UoKSYmZS5jYWxsYmFja05vZGUhPT10KXJldHVybiBudWxsO3ZhciByPW5sKGUsZT09PXUzP3U4OjApO2lmKDA9PT1yKXJldHVybiBudWxsO2lmKDAhPSgzMCZyKXx8MCE9KHImZS5leHBpcmVkTGFuZXMpfHxuKW49b0YoZSxyKTtlbHNle249cjt2YXIgbD11Mjt1Mnw9Mjt2YXIgYT1vUigpO2ZvcigodTMhPT1lfHx1OCE9PW4pJiYob289bnVsbCxvdT1lSigpKzUwMCxvVChlLG4pKTs7KXRyeXshZnVuY3Rpb24oKXtmb3IoO251bGwhPT11NCYmIWVHKCk7KW9PKHU0KX0oKTticmVha31jYXRjaChuKXtvTChlLG4pfWxNKCksdUouY3VycmVudD1hLHUyPWwsbnVsbCE9PXU0P249MDoodTM9bnVsbCx1OD0wLG49dTkpfWlmKDAhPT1uKXtpZigyPT09biYmMCE9PShsPW5hKGUpKSYmKHI9bCxuPW94KGUsbCkpLDE9PT1uKXRocm93IHQ9dTcsb1QoZSwwKSxvXyhlLHIpLG93KGUsZUooKSksdDtpZig2PT09bilvXyhlLHIpO2Vsc2V7aWYobD1lLmN1cnJlbnQuYWx0ZXJuYXRlLDA9PSgzMCZyKSYmIWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1lOzspe2lmKDE2Mzg0Jm4uZmxhZ3Mpe3ZhciB0PW4udXBkYXRlUXVldWU7aWYobnVsbCE9PXQmJm51bGwhPT0odD10LnN0b3JlcykpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBsPXRbcl0sYT1sLmdldFNuYXBzaG90O2w9bC52YWx1ZTt0cnl7aWYoIXREKGEoKSxsKSlyZXR1cm4hMX1jYXRjaChlKXtyZXR1cm4hMX19fWlmKHQ9bi5jaGlsZCwxNjM4NCZuLnN1YnRyZWVGbGFncyYmbnVsbCE9PXQpdC5yZXR1cm49bixuPXQ7ZWxzZXtpZihuPT09ZSlicmVhaztmb3IoO251bGw9PT1uLnNpYmxpbmc7KXtpZihudWxsPT09bi5yZXR1cm58fG4ucmV0dXJuPT09ZSlyZXR1cm4hMDtuPW4ucmV0dXJufW4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmd9fXJldHVybiEwfShsKSYmKDI9PT0obj1vRihlLHIpKSYmMCE9PShhPW5hKGUpKSYmKHI9YSxuPW94KGUsYSkpLDE9PT1uKSl0aHJvdyB0PXU3LG9UKGUsMCksb18oZSxyKSxvdyhlLGVKKCkpLHQ7c3dpdGNoKGUuZmluaXNoZWRXb3JrPWwsZS5maW5pc2hlZExhbmVzPXIsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihmKDM0NSkpO2Nhc2UgMjpjYXNlIDU6b0koZSxvbCxvbyk7YnJlYWs7Y2FzZSAzOmlmKG9fKGUsciksKDEzMDAyMzQyNCZyKT09PXImJjEwPChuPW9hKzUwMC1lSigpKSl7aWYoMCE9PW5sKGUsMCkpYnJlYWs7aWYoKChsPWUuc3VzcGVuZGVkTGFuZXMpJnIpIT09cil7b3koKSxlLnBpbmdlZExhbmVzfD1lLnN1c3BlbmRlZExhbmVzJmw7YnJlYWt9ZS50aW1lb3V0SGFuZGxlPXJrKG9JLmJpbmQobnVsbCxlLG9sLG9vKSxuKTticmVha31vSShlLG9sLG9vKTticmVhaztjYXNlIDQ6aWYob18oZSxyKSwoNDE5NDI0MCZyKT09PXIpYnJlYWs7Zm9yKGw9LTEsbj1lLmV2ZW50VGltZXM7MDxyOyl7dmFyIHU9MzEtZTkocik7YT0xPDx1LCh1PW5bdV0pPmwmJihsPXUpLHImPX5hfWlmKHI9bCwxMDwocj0oMTIwPihyPWVKKCktcik/MTIwOjQ4MD5yPzQ4MDoxMDgwPnI/MTA4MDoxOTIwPnI/MTkyMDozZTM+cj8zZTM6NDMyMD5yPzQzMjA6MTk2MCp1WihyLzE5NjApKS1yKSl7ZS50aW1lb3V0SGFuZGxlPXJrKG9JLmJpbmQobnVsbCxlLG9sLG9vKSxyKTticmVha31vSShlLG9sLG9vKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGYoMzI5KSl9fX1yZXR1cm4gb3coZSxlSigpKSxlLmNhbGxiYWNrTm9kZT09PXQ/b1MuYmluZChudWxsLGUpOm51bGx9ZnVuY3Rpb24gb3goZSxuKXt2YXIgdD1vcjtyZXR1cm4gZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYob1QoZSxuKS5mbGFnc3w9MjU2KSwyIT09KGU9b0YoZSxuKSkmJihuPW9sLG9sPXQsbnVsbCE9PW4mJm9FKG4pKSxlfWZ1bmN0aW9uIG9FKGUpe251bGw9PT1vbD9vbD1lOm9sLnB1c2guYXBwbHkob2wsZSl9ZnVuY3Rpb24gb18oZSxuKXtmb3IobiY9fm90LG4mPX5vbixlLnN1c3BlbmRlZExhbmVzfD1uLGUucGluZ2VkTGFuZXMmPX5uLGU9ZS5leHBpcmF0aW9uVGltZXM7MDxuOyl7dmFyIHQ9MzEtZTkobikscj0xPDx0O2VbdF09LTEsbiY9fnJ9fWZ1bmN0aW9uIG9DKGUpe2lmKDAhPSg2JnUyKSl0aHJvdyBFcnJvcihmKDMyNykpO29VKCk7dmFyIG49bmwoZSwwKTtpZigwPT0oMSZuKSlyZXR1cm4gb3coZSxlSigpKSxudWxsO3ZhciB0PW9GKGUsbik7aWYoMCE9PWUudGFnJiYyPT09dCl7dmFyIHI9bmEoZSk7MCE9PXImJihuPXIsdD1veChlLHIpKX1pZigxPT09dCl0aHJvdyB0PXU3LG9UKGUsMCksb18oZSxuKSxvdyhlLGVKKCkpLHQ7aWYoNj09PXQpdGhyb3cgRXJyb3IoZigzNDUpKTtyZXR1cm4gZS5maW5pc2hlZFdvcms9ZS5jdXJyZW50LmFsdGVybmF0ZSxlLmZpbmlzaGVkTGFuZXM9bixvSShlLG9sLG9vKSxvdyhlLGVKKCkpLG51bGx9ZnVuY3Rpb24gb1AoZSxuKXt2YXIgdD11Mjt1Mnw9MTt0cnl7cmV0dXJuIGUobil9ZmluYWxseXswPT09KHUyPXQpJiYob3U9ZUooKSs1MDAscjImJnI4KCkpfX1mdW5jdGlvbiBvTihlKXtudWxsIT09b2QmJjA9PT1vZC50YWcmJjA9PSg2JnUyKSYmb1UoKTt2YXIgbj11Mjt1Mnw9MTt2YXIgdD11MS50cmFuc2l0aW9uLHI9bmM7dHJ5e2lmKHUxLnRyYW5zaXRpb249bnVsbCxuYz0xLGUpcmV0dXJuIGUoKX1maW5hbGx5e25jPXIsdTEudHJhbnNpdGlvbj10LDA9PSg2Jih1Mj1uKSkmJnI4KCl9fWZ1bmN0aW9uIG96KCl7dTY9dTUuY3VycmVudCxyaih1NSl9ZnVuY3Rpb24gb1QoZSxuKXtlLmZpbmlzaGVkV29yaz1udWxsLGUuZmluaXNoZWRMYW5lcz0wO3ZhciB0PWUudGltZW91dEhhbmRsZTtpZigtMSE9PXQmJihlLnRpbWVvdXRIYW5kbGU9LTEscncodCkpLG51bGwhPT11NClmb3IodD11NC5yZXR1cm47bnVsbCE9PXQ7KXt2YXIgcj10O3N3aXRjaChsaShyKSxyLnRhZyl7Y2FzZSAxOm51bGwhPShyPXIudHlwZS5jaGlsZENvbnRleHRUeXBlcykmJnJYKCk7YnJlYWs7Y2FzZSAzOmwzKCkscmooclEpLHJqKHJXKSxsNygpO2JyZWFrO2Nhc2UgNTpsOChyKTticmVhaztjYXNlIDQ6bDMoKTticmVhaztjYXNlIDEzOmNhc2UgMTk6cmoobDYpO2JyZWFrO2Nhc2UgMTA6bEYoci50eXBlLl9jb250ZXh0KTticmVhaztjYXNlIDIyOmNhc2UgMjM6b3ooKX10PXQucmV0dXJufWlmKHUzPWUsdTQ9ZT1vSyhlLmN1cnJlbnQsbnVsbCksdTg9dTY9bix1OT0wLHU3PW51bGwsb3Q9b249b2U9MCxvbD1vcj1udWxsLG51bGwhPT1sVSl7Zm9yKG49MDtuPGxVLmxlbmd0aDtuKyspaWYobnVsbCE9PShyPSh0PWxVW25dKS5pbnRlcmxlYXZlZCkpe3QuaW50ZXJsZWF2ZWQ9bnVsbDt2YXIgbD1yLm5leHQsYT10LnBlbmRpbmc7aWYobnVsbCE9PWEpe3ZhciB1PWEubmV4dDthLm5leHQ9bCxyLm5leHQ9dX10LnBlbmRpbmc9cn1sVT1udWxsfXJldHVybiBlfWZ1bmN0aW9uIG9MKGUsbil7Zm9yKDs7KXt2YXIgdD11NDt0cnl7aWYobE0oKSxhZS5jdXJyZW50PWFLLGF1KXtmb3IodmFyIHI9YXIubWVtb2l6ZWRTdGF0ZTtudWxsIT09cjspe3ZhciBsPXIucXVldWU7bnVsbCE9PWwmJihsLnBlbmRpbmc9bnVsbCkscj1yLm5leHR9YXU9ITF9aWYoYXQ9MCxhYT1hbD1hcj1udWxsLGFvPSExLGFpPTAsdTAuY3VycmVudD1udWxsLG51bGw9PT10fHxudWxsPT09dC5yZXR1cm4pe3U5PTEsdTc9bix1ND1udWxsO2JyZWFrfWU6e3ZhciBhPWUsdT10LnJldHVybixvPXQsaT1uO2lmKG49dTgsby5mbGFnc3w9MzI3NjgsbnVsbCE9PWkmJiJvYmplY3QiPT10eXBlb2YgaSYmImZ1bmN0aW9uIj09dHlwZW9mIGkudGhlbil7dmFyIHM9aSxjPW8sZD1jLnRhZztpZigwPT0oMSZjLm1vZGUpJiYoMD09PWR8fDExPT09ZHx8MTU9PT1kKSl7dmFyIHA9Yy5hbHRlcm5hdGU7cD8oYy51cGRhdGVRdWV1ZT1wLnVwZGF0ZVF1ZXVlLGMubWVtb2l6ZWRTdGF0ZT1wLm1lbW9pemVkU3RhdGUsYy5sYW5lcz1wLmxhbmVzKTooYy51cGRhdGVRdWV1ZT1udWxsLGMubWVtb2l6ZWRTdGF0ZT1udWxsKX12YXIgbT11dCh1KTtpZihudWxsIT09bSl7bS5mbGFncyY9LTI1Nyx1cihtLHUsbyxhLG4pLDEmbS5tb2RlJiZ1bihhLHMsbiksbj1tLGk9czt2YXIgaD1uLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1oKXt2YXIgZz1uZXcgU2V0O2cuYWRkKGkpLG4udXBkYXRlUXVldWU9Z31lbHNlIGguYWRkKGkpO2JyZWFrIGV9aWYoMD09KDEmbikpe3VuKGEscyxuKSxvTSgpO2JyZWFrIGV9aT1FcnJvcihmKDQyNikpfWVsc2UgaWYobGYmJjEmby5tb2RlKXt2YXIgdj11dCh1KTtpZihudWxsIT09dil7MD09KDY1NTM2JnYuZmxhZ3MpJiYodi5mbGFnc3w9MjU2KSx1cih2LHUsbyxhLG4pLGx3KGE4KGksbykpO2JyZWFrIGV9fWE9aT1hOChpLG8pLDQhPT11OSYmKHU5PTIpLG51bGw9PT1vcj9vcj1bYV06b3IucHVzaChhKSxhPXU7ZG97c3dpdGNoKGEudGFnKXtjYXNlIDM6YS5mbGFnc3w9NjU1MzYsbiY9LW4sYS5sYW5lc3w9bjt2YXIgeT1hNyhhLGksbik7bEsoYSx5KTticmVhayBlO2Nhc2UgMTpvPWk7dmFyIGI9YS50eXBlLGs9YS5zdGF0ZU5vZGU7aWYoMD09KDEyOCZhLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBiLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWsmJiJmdW5jdGlvbiI9PXR5cGVvZiBrLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PW9jfHwhb2MuaGFzKGspKSkpe2EuZmxhZ3N8PTY1NTM2LG4mPS1uLGEubGFuZXN8PW47dmFyIHc9dWUoYSxvLG4pO2xLKGEsdyk7YnJlYWsgZX19YT1hLnJldHVybn13aGlsZShudWxsIT09YSl9b0QodCl9Y2F0Y2goZSl7bj1lLHU0PT09dCYmbnVsbCE9PXQmJih1ND10PXQucmV0dXJuKTtjb250aW51ZX1icmVha319ZnVuY3Rpb24gb1IoKXt2YXIgZT11Si5jdXJyZW50O3JldHVybiB1Si5jdXJyZW50PWFLLG51bGw9PT1lP2FLOmV9ZnVuY3Rpb24gb00oKXsoMD09PXU5fHwzPT09dTl8fDI9PT11OSkmJih1OT00KSxudWxsPT09dTN8fDA9PSgyNjg0MzU0NTUmb2UpJiYwPT0oMjY4NDM1NDU1Jm9uKXx8b18odTMsdTgpfWZ1bmN0aW9uIG9GKGUsbil7dmFyIHQ9dTI7dTJ8PTI7dmFyIHI9b1IoKTtmb3IoKHUzIT09ZXx8dTghPT1uKSYmKG9vPW51bGwsb1QoZSxuKSk7Oyl0cnl7IWZ1bmN0aW9uKCl7Zm9yKDtudWxsIT09dTQ7KW9PKHU0KX0oKTticmVha31jYXRjaChuKXtvTChlLG4pfWlmKGxNKCksdTI9dCx1Si5jdXJyZW50PXIsbnVsbCE9PXU0KXRocm93IEVycm9yKGYoMjYxKSk7cmV0dXJuIHUzPW51bGwsdTg9MCx1OX1mdW5jdGlvbiBvTyhlKXt2YXIgbj1pKGUuYWx0ZXJuYXRlLGUsdTYpO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09bj9vRChlKTp1ND1uLHUwLmN1cnJlbnQ9bnVsbH1mdW5jdGlvbiBvRChlKXt2YXIgbj1lO2Rve3ZhciB0PW4uYWx0ZXJuYXRlO2lmKGU9bi5yZXR1cm4sMD09KDMyNzY4Jm4uZmxhZ3MpKXtpZihudWxsIT09KHQ9ZnVuY3Rpb24oZSxuLHQpe3ZhciByPW4ucGVuZGluZ1Byb3BzO3N3aXRjaChsaShuKSxuLnRhZyl7Y2FzZSAyOmNhc2UgMTY6Y2FzZSAxNTpjYXNlIDA6Y2FzZSAxMTpjYXNlIDc6Y2FzZSA4OmNhc2UgMTI6Y2FzZSA5OmNhc2UgMTQ6cmV0dXJuIHVOKG4pLG51bGw7Y2FzZSAxOmNhc2UgMTc6cmV0dXJuIHJZKG4udHlwZSkmJnJYKCksdU4obiksbnVsbDtjYXNlIDM6cmV0dXJuIHI9bi5zdGF0ZU5vZGUsbDMoKSxyaihyUSkscmooclcpLGw3KCksci5wZW5kaW5nQ29udGV4dCYmKHIuY29udGV4dD1yLnBlbmRpbmdDb250ZXh0LHIucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihseShuKT9uLmZsYWdzfD00Om51bGw9PT1lfHxlLm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkJiYwPT0oMjU2Jm4uZmxhZ3MpfHwobi5mbGFnc3w9MTAyNCxudWxsIT09bGQmJihvRShsZCksbGQ9bnVsbCkpKSxhKGUsbiksdU4obiksbnVsbDtjYXNlIDU6bDgobik7dmFyIGk9bDEobDAuY3VycmVudCk7aWYodD1uLnR5cGUsbnVsbCE9PWUmJm51bGwhPW4uc3RhdGVOb2RlKXUoZSxuLHQscixpKSxlLnJlZiE9PW4ucmVmJiYobi5mbGFnc3w9NTEyLG4uZmxhZ3N8PTIwOTcxNTIpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT1uLnN0YXRlTm9kZSl0aHJvdyBFcnJvcihmKDE2NikpO3JldHVybiB1TihuKSxudWxsfWlmKGU9bDEobFouY3VycmVudCksbHkobikpe3I9bi5zdGF0ZU5vZGUsdD1uLnR5cGU7dmFyIHM9bi5tZW1vaXplZFByb3BzO3N3aXRjaChyW3J6XT1uLHJbclRdPXMsZT0wIT0oMSZuLm1vZGUpLHQpe2Nhc2UiZGlhbG9nIjpydCgiY2FuY2VsIixyKSxydCgiY2xvc2UiLHIpO2JyZWFrO2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6cnQoImxvYWQiLHIpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihpPTA7aTx0OS5sZW5ndGg7aSsrKXJ0KHQ5W2ldLHIpO2JyZWFrO2Nhc2Uic291cmNlIjpydCgiZXJyb3IiLHIpO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOnJ0KCJlcnJvciIscikscnQoImxvYWQiLHIpO2JyZWFrO2Nhc2UiZGV0YWlscyI6cnQoInRvZ2dsZSIscik7YnJlYWs7Y2FzZSJpbnB1dCI6SihyLHMpLHJ0KCJpbnZhbGlkIixyKTticmVhaztjYXNlInNlbGVjdCI6ci5fd3JhcHBlclN0YXRlPXt3YXNNdWx0aXBsZTohIXMubXVsdGlwbGV9LHJ0KCJpbnZhbGlkIixyKTticmVhaztjYXNlInRleHRhcmVhIjplbyhyLHMpLHJ0KCJpbnZhbGlkIixyKX1mb3IodmFyIGMgaW4gZXcodCxzKSxpPW51bGwscylpZihzLmhhc093blByb3BlcnR5KGMpKXt2YXIgZD1zW2NdOyJjaGlsZHJlbiI9PT1jPyJzdHJpbmciPT10eXBlb2YgZD9yLnRleHRDb250ZW50IT09ZCYmKCEwIT09cy5zdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcmJnJoKHIudGV4dENvbnRlbnQsZCxlKSxpPVsiY2hpbGRyZW4iLGRdKToibnVtYmVyIj09dHlwZW9mIGQmJnIudGV4dENvbnRlbnQhPT0iIitkJiYoITAhPT1zLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZyYmcmgoci50ZXh0Q29udGVudCxkLGUpLGk9WyJjaGlsZHJlbiIsIiIrZF0pOnAuaGFzT3duUHJvcGVydHkoYykmJm51bGwhPWQmJiJvblNjcm9sbCI9PT1jJiZydCgic2Nyb2xsIixyKX1zd2l0Y2godCl7Y2FzZSJpbnB1dCI6WShyKSxldChyLHMsITApO2JyZWFrO2Nhc2UidGV4dGFyZWEiOlkociksZXMocik7YnJlYWs7Y2FzZSJzZWxlY3QiOmNhc2Uib3B0aW9uIjpicmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBzLm9uQ2xpY2smJihyLm9uY2xpY2s9cmcpfXI9aSxuLnVwZGF0ZVF1ZXVlPXIsbnVsbCE9PXImJihuLmZsYWdzfD00KX1lbHNle2M9OT09PWkubm9kZVR5cGU/aTppLm93bmVyRG9jdW1lbnQsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPT09ZSYmKGU9ZWModCkpLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/InNjcmlwdCI9PT10PygoZT1jLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5pbm5lckhUTUw9IjxzY3JpcHQ+PC9zY3JpcHQ+IixlPWUucmVtb3ZlQ2hpbGQoZS5maXJzdENoaWxkKSk6InN0cmluZyI9PXR5cGVvZiByLmlzP2U9Yy5jcmVhdGVFbGVtZW50KHQse2lzOnIuaXN9KTooZT1jLmNyZWF0ZUVsZW1lbnQodCksInNlbGVjdCI9PT10JiYoYz1lLHIubXVsdGlwbGU/Yy5tdWx0aXBsZT0hMDpyLnNpemUmJihjLnNpemU9ci5zaXplKSkpOmU9Yy5jcmVhdGVFbGVtZW50TlMoZSx0KSxlW3J6XT1uLGVbclRdPXIsbChlLG4sITEsITEpLG4uc3RhdGVOb2RlPWU7ZTp7c3dpdGNoKGM9ZVModCxyKSx0KXtjYXNlImRpYWxvZyI6cnQoImNhbmNlbCIsZSkscnQoImNsb3NlIixlKSxpPXI7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpydCgibG9hZCIsZSksaT1yO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihpPTA7aTx0OS5sZW5ndGg7aSsrKXJ0KHQ5W2ldLGUpO2k9cjticmVhaztjYXNlInNvdXJjZSI6cnQoImVycm9yIixlKSxpPXI7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6cnQoImVycm9yIixlKSxydCgibG9hZCIsZSksaT1yO2JyZWFrO2Nhc2UiZGV0YWlscyI6cnQoInRvZ2dsZSIsZSksaT1yO2JyZWFrO2Nhc2UiaW5wdXQiOkooZSxyKSxpPVooZSxyKSxydCgiaW52YWxpZCIsZSk7YnJlYWs7Y2FzZSJvcHRpb24iOmRlZmF1bHQ6aT1yO2JyZWFrO2Nhc2Uic2VsZWN0IjplLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhci5tdWx0aXBsZX0saT1CKHt9LHIse3ZhbHVlOnZvaWQgMH0pLHJ0KCJpbnZhbGlkIixlKTticmVhaztjYXNlInRleHRhcmVhIjplbyhlLHIpLGk9ZXUoZSxyKSxydCgiaW52YWxpZCIsZSl9Zm9yKHMgaW4gZXcodCxpKSxkPWkpaWYoZC5oYXNPd25Qcm9wZXJ0eShzKSl7dmFyIG09ZFtzXTsic3R5bGUiPT09cz9lYihlLG0pOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1zP251bGwhPShtPW0/bS5fX2h0bWw6dm9pZCAwKSYmZW0oZSxtKToiY2hpbGRyZW4iPT09cz8ic3RyaW5nIj09dHlwZW9mIG0/KCJ0ZXh0YXJlYSIhPT10fHwiIiE9PW0pJiZlaChlLG0pOiJudW1iZXIiPT10eXBlb2YgbSYmZWgoZSwiIittKToic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PXMmJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09cyYmImF1dG9Gb2N1cyIhPT1zJiYocC5oYXNPd25Qcm9wZXJ0eShzKT9udWxsIT1tJiYib25TY3JvbGwiPT09cyYmcnQoInNjcm9sbCIsZSk6bnVsbCE9bSYmXyhlLHMsbSxjKSl9c3dpdGNoKHQpe2Nhc2UiaW5wdXQiOlkoZSksZXQoZSxyLCExKTticmVhaztjYXNlInRleHRhcmVhIjpZKGUpLGVzKGUpO2JyZWFrO2Nhc2Uib3B0aW9uIjpudWxsIT1yLnZhbHVlJiZlLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiK3Eoci52YWx1ZSkpO2JyZWFrO2Nhc2Uic2VsZWN0IjplLm11bHRpcGxlPSEhci5tdWx0aXBsZSxudWxsIT0ocz1yLnZhbHVlKT9lYShlLCEhci5tdWx0aXBsZSxzLCExKTpudWxsIT1yLmRlZmF1bHRWYWx1ZSYmZWEoZSwhIXIubXVsdGlwbGUsci5kZWZhdWx0VmFsdWUsITApO2JyZWFrO2RlZmF1bHQ6ImZ1bmN0aW9uIj09dHlwZW9mIGkub25DbGljayYmKGUub25jbGljaz1yZyl9c3dpdGNoKHQpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6cj0hIXIuYXV0b0ZvY3VzO2JyZWFrIGU7Y2FzZSJpbWciOnI9ITA7YnJlYWsgZTtkZWZhdWx0OnI9ITF9fXImJihuLmZsYWdzfD00KX1udWxsIT09bi5yZWYmJihuLmZsYWdzfD01MTIsbi5mbGFnc3w9MjA5NzE1Mil9cmV0dXJuIHVOKG4pLG51bGw7Y2FzZSA2OmlmKGUmJm51bGwhPW4uc3RhdGVOb2RlKW8oZSxuLGUubWVtb2l6ZWRQcm9wcyxyKTtlbHNle2lmKCJzdHJpbmciIT10eXBlb2YgciYmbnVsbD09PW4uc3RhdGVOb2RlKXRocm93IEVycm9yKGYoMTY2KSk7aWYodD1sMShsMC5jdXJyZW50KSxsMShsWi5jdXJyZW50KSxseShuKSl7aWYocj1uLnN0YXRlTm9kZSx0PW4ubWVtb2l6ZWRQcm9wcyxyW3J6XT1uLChzPXIubm9kZVZhbHVlIT09dCkmJm51bGwhPT0oZT1scykpc3dpdGNoKGUudGFnKXtjYXNlIDM6cmgoci5ub2RlVmFsdWUsdCwwIT0oMSZlLm1vZGUpKTticmVhaztjYXNlIDU6ITAhPT1lLm1lbW9pemVkUHJvcHMuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJiZyaChyLm5vZGVWYWx1ZSx0LDAhPSgxJmUubW9kZSkpfXMmJihuLmZsYWdzfD00KX1lbHNlKHI9KDk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50KS5jcmVhdGVUZXh0Tm9kZShyKSlbcnpdPW4sbi5zdGF0ZU5vZGU9cn1yZXR1cm4gdU4obiksbnVsbDtjYXNlIDEzOmlmKHJqKGw2KSxyPW4ubWVtb2l6ZWRTdGF0ZSxudWxsPT09ZXx8bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkKXtpZihsZiYmbnVsbCE9PWxjJiYwIT0oMSZuLm1vZGUpJiYwPT0oMTI4Jm4uZmxhZ3MpKWxiKCksbGsoKSxuLmZsYWdzfD05ODU2MCxzPSExO2Vsc2UgaWYocz1seShuKSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFzKXRocm93IEVycm9yKGYoMzE4KSk7aWYoIShzPW51bGwhPT0ocz1uLm1lbW9pemVkU3RhdGUpP3MuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcihmKDMxNykpO3NbcnpdPW59ZWxzZSBsaygpLDA9PSgxMjgmbi5mbGFncykmJihuLm1lbW9pemVkU3RhdGU9bnVsbCksbi5mbGFnc3w9NDt1TihuKSxzPSExfWVsc2UgbnVsbCE9PWxkJiYob0UobGQpLGxkPW51bGwpLHM9ITA7aWYoIXMpcmV0dXJuIDY1NTM2Jm4uZmxhZ3M/bjpudWxsfWlmKDAhPSgxMjgmbi5mbGFncykpcmV0dXJuIG4ubGFuZXM9dCxuO3JldHVybihyPW51bGwhPT1yKSE9KG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmciYmKG4uY2hpbGQuZmxhZ3N8PTgxOTIsMCE9KDEmbi5tb2RlKSYmKG51bGw9PT1lfHwwIT0oMSZsNi5jdXJyZW50KT8wPT09dTkmJih1OT0zKTpvTSgpKSksbnVsbCE9PW4udXBkYXRlUXVldWUmJihuLmZsYWdzfD00KSx1TihuKSxudWxsO2Nhc2UgNDpyZXR1cm4gbDMoKSxhKGUsbiksbnVsbD09PWUmJnJhKG4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVOKG4pLG51bGw7Y2FzZSAxMDpyZXR1cm4gbEYobi50eXBlLl9jb250ZXh0KSx1TihuKSxudWxsO2Nhc2UgMTk6aWYocmoobDYpLG51bGw9PT0ocz1uLm1lbW9pemVkU3RhdGUpKXJldHVybiB1TihuKSxudWxsO2lmKHI9MCE9KDEyOCZuLmZsYWdzKSxudWxsPT09KGM9cy5yZW5kZXJpbmcpKXtpZihyKXVQKHMsITEpO2Vsc2V7aWYoMCE9PXU5fHxudWxsIT09ZSYmMCE9KDEyOCZlLmZsYWdzKSlmb3IoZT1uLmNoaWxkO251bGwhPT1lOyl7aWYobnVsbCE9PShjPWw1KGUpKSl7Zm9yKG4uZmxhZ3N8PTEyOCx1UChzLCExKSxudWxsIT09KHI9Yy51cGRhdGVRdWV1ZSkmJihuLnVwZGF0ZVF1ZXVlPXIsbi5mbGFnc3w9NCksbi5zdWJ0cmVlRmxhZ3M9MCxyPXQsdD1uLmNoaWxkO251bGwhPT10OylzPXQsZT1yLHMuZmxhZ3MmPTE0NjgwMDY2LG51bGw9PT0oYz1zLmFsdGVybmF0ZSk/KHMuY2hpbGRMYW5lcz0wLHMubGFuZXM9ZSxzLmNoaWxkPW51bGwscy5zdWJ0cmVlRmxhZ3M9MCxzLm1lbW9pemVkUHJvcHM9bnVsbCxzLm1lbW9pemVkU3RhdGU9bnVsbCxzLnVwZGF0ZVF1ZXVlPW51bGwscy5kZXBlbmRlbmNpZXM9bnVsbCxzLnN0YXRlTm9kZT1udWxsKToocy5jaGlsZExhbmVzPWMuY2hpbGRMYW5lcyxzLmxhbmVzPWMubGFuZXMscy5jaGlsZD1jLmNoaWxkLHMuc3VidHJlZUZsYWdzPTAscy5kZWxldGlvbnM9bnVsbCxzLm1lbW9pemVkUHJvcHM9Yy5tZW1vaXplZFByb3BzLHMubWVtb2l6ZWRTdGF0ZT1jLm1lbW9pemVkU3RhdGUscy51cGRhdGVRdWV1ZT1jLnVwZGF0ZVF1ZXVlLHMudHlwZT1jLnR5cGUsZT1jLmRlcGVuZGVuY2llcyxzLmRlcGVuZGVuY2llcz1udWxsPT09ZT9udWxsOntsYW5lczplLmxhbmVzLGZpcnN0Q29udGV4dDplLmZpcnN0Q29udGV4dH0pLHQ9dC5zaWJsaW5nO3JldHVybiByQihsNiwxJmw2LmN1cnJlbnR8Miksbi5jaGlsZH1lPWUuc2libGluZ31udWxsIT09cy50YWlsJiZlSigpPm91JiYobi5mbGFnc3w9MTI4LHI9ITAsdVAocywhMSksbi5sYW5lcz00MTk0MzA0KX19ZWxzZXtpZighcil7aWYobnVsbCE9PShlPWw1KGMpKSl7aWYobi5mbGFnc3w9MTI4LHI9ITAsbnVsbCE9PSh0PWUudXBkYXRlUXVldWUpJiYobi51cGRhdGVRdWV1ZT10LG4uZmxhZ3N8PTQpLHVQKHMsITApLG51bGw9PT1zLnRhaWwmJiJoaWRkZW4iPT09cy50YWlsTW9kZSYmIWMuYWx0ZXJuYXRlJiYhbGYpcmV0dXJuIHVOKG4pLG51bGx9ZWxzZSAyKmVKKCktcy5yZW5kZXJpbmdTdGFydFRpbWU+b3UmJjEwNzM3NDE4MjQhPT10JiYobi5mbGFnc3w9MTI4LHI9ITAsdVAocywhMSksbi5sYW5lcz00MTk0MzA0KX1zLmlzQmFja3dhcmRzPyhjLnNpYmxpbmc9bi5jaGlsZCxuLmNoaWxkPWMpOihudWxsIT09KHQ9cy5sYXN0KT90LnNpYmxpbmc9YzpuLmNoaWxkPWMscy5sYXN0PWMpfWlmKG51bGwhPT1zLnRhaWwpcmV0dXJuIG49cy50YWlsLHMucmVuZGVyaW5nPW4scy50YWlsPW4uc2libGluZyxzLnJlbmRlcmluZ1N0YXJ0VGltZT1lSigpLG4uc2libGluZz1udWxsLHQ9bDYuY3VycmVudCxyQihsNixyPzEmdHwyOjEmdCksbjtyZXR1cm4gdU4obiksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIG96KCkscj1udWxsIT09bi5tZW1vaXplZFN0YXRlLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKG4uZmxhZ3N8PTgxOTIpLHImJjAhPSgxJm4ubW9kZSk/MCE9KDEwNzM3NDE4MjQmdTYpJiYodU4obiksNiZuLnN1YnRyZWVGbGFncyYmKG4uZmxhZ3N8PTgxOTIpKTp1TihuKSxudWxsO2Nhc2UgMjQ6Y2FzZSAyNTpyZXR1cm4gbnVsbH10aHJvdyBFcnJvcihmKDE1NixuLnRhZykpfSh0LG4sdTYpKSl7dTQ9dDtyZXR1cm59fWVsc2V7aWYobnVsbCE9PSh0PWZ1bmN0aW9uKGUsbil7c3dpdGNoKGxpKG4pLG4udGFnKXtjYXNlIDE6cmV0dXJuIHJZKG4udHlwZSkmJnJYKCksNjU1MzYmKGU9bi5mbGFncyk/KG4uZmxhZ3M9LTY1NTM3JmV8MTI4LG4pOm51bGw7Y2FzZSAzOnJldHVybiBsMygpLHJqKHJRKSxyaihyVyksbDcoKSwwIT0oNjU1MzYmKGU9bi5mbGFncykpJiYwPT0oMTI4JmUpPyhuLmZsYWdzPS02NTUzNyZlfDEyOCxuKTpudWxsO2Nhc2UgNTpyZXR1cm4gbDgobiksbnVsbDtjYXNlIDEzOmlmKHJqKGw2KSxudWxsIT09KGU9bi5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PW4uYWx0ZXJuYXRlKXRocm93IEVycm9yKGYoMzQwKSk7bGsoKX1yZXR1cm4gNjU1MzYmKGU9bi5mbGFncyk/KG4uZmxhZ3M9LTY1NTM3JmV8MTI4LG4pOm51bGw7Y2FzZSAxOTpyZXR1cm4gcmoobDYpLG51bGw7Y2FzZSA0OnJldHVybiBsMygpLG51bGw7Y2FzZSAxMDpyZXR1cm4gbEYobi50eXBlLl9jb250ZXh0KSxudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gb3ooKSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fSh0LG4pKSl7dC5mbGFncyY9MzI3NjcsdTQ9dDtyZXR1cm59aWYobnVsbCE9PWUpZS5mbGFnc3w9MzI3NjgsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsO2Vsc2V7dTk9Nix1ND1udWxsO3JldHVybn19aWYobnVsbCE9PShuPW4uc2libGluZykpe3U0PW47cmV0dXJufXU0PW49ZX13aGlsZShudWxsIT09bik7MD09PXU5JiYodTk9NSl9ZnVuY3Rpb24gb0koZSxuLHQpe3ZhciByPW5jLGw9dTEudHJhbnNpdGlvbjt0cnl7dTEudHJhbnNpdGlvbj1udWxsLG5jPTEsZnVuY3Rpb24oZSxuLHQscil7ZG8gb1UoKTt3aGlsZShudWxsIT09b2QpO2lmKDAhPSg2JnUyKSl0aHJvdyBFcnJvcihmKDMyNykpO3Q9ZS5maW5pc2hlZFdvcms7dmFyIGw9ZS5maW5pc2hlZExhbmVzO2lmKG51bGwhPT10KXtpZihlLmZpbmlzaGVkV29yaz1udWxsLGUuZmluaXNoZWRMYW5lcz0wLHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IoZigxNzcpKTtlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wO3ZhciBhPXQubGFuZXN8dC5jaGlsZExhbmVzO2lmKGZ1bmN0aW9uKGUsbil7dmFyIHQ9ZS5wZW5kaW5nTGFuZXMmfm47ZS5wZW5kaW5nTGFuZXM9bixlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUubXV0YWJsZVJlYWRMYW5lcyY9bixlLmVudGFuZ2xlZExhbmVzJj1uLG49ZS5lbnRhbmdsZW1lbnRzO3ZhciByPWUuZXZlbnRUaW1lcztmb3IoZT1lLmV4cGlyYXRpb25UaW1lczswPHQ7KXt2YXIgbD0zMS1lOSh0KSxhPTE8PGw7bltsXT0wLHJbbF09LTEsZVtsXT0tMSx0Jj1+YX19KGUsYSksZT09PXUzJiYodTQ9dTM9bnVsbCx1OD0wKSwwPT0oMjA2NCZ0LnN1YnRyZWVGbGFncykmJjA9PSgyMDY0JnQuZmxhZ3MpfHxvZnx8KG9mPSEwLHU9ZTMsbz1mdW5jdGlvbigpe3JldHVybiBvVSgpLG51bGx9LGVZKHUsbykpLGE9MCE9KDE1OTkwJnQuZmxhZ3MpLDAhPSgxNTk5MCZ0LnN1YnRyZWVGbGFncyl8fGEpe2E9dTEudHJhbnNpdGlvbix1MS50cmFuc2l0aW9uPW51bGw7dmFyIHUsbyxpLHMsYyxkPW5jO25jPTE7dmFyIHA9dTI7dTJ8PTQsdTAuY3VycmVudD1udWxsLGZ1bmN0aW9uKGUsbil7aWYocnY9bk8sdEEoZT10JCgpKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHQ9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3ZhciByPSh0PSh0PWUub3duZXJEb2N1bWVudCkmJnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiZ0LmdldFNlbGVjdGlvbigpO2lmKHImJjAhPT1yLnJhbmdlQ291bnQpe3Q9ci5hbmNob3JOb2RlO3ZhciBsLGE9ci5hbmNob3JPZmZzZXQsdT1yLmZvY3VzTm9kZTtyPXIuZm9jdXNPZmZzZXQ7dHJ5e3Qubm9kZVR5cGUsdS5ub2RlVHlwZX1jYXRjaChlKXt0PW51bGw7YnJlYWsgZX12YXIgbz0wLGk9LTEscz0tMSxjPTAsZD0wLHA9ZSxtPW51bGw7bjpmb3IoOzspe2Zvcig7cCE9PXR8fDAhPT1hJiYzIT09cC5ub2RlVHlwZXx8KGk9bythKSxwIT09dXx8MCE9PXImJjMhPT1wLm5vZGVUeXBlfHwocz1vK3IpLDM9PT1wLm5vZGVUeXBlJiYobys9cC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGw9cC5maXJzdENoaWxkKTspbT1wLHA9bDtmb3IoOzspe2lmKHA9PT1lKWJyZWFrIG47aWYobT09PXQmJisrYz09PWEmJihpPW8pLG09PT11JiYrK2Q9PT1yJiYocz1vKSxudWxsIT09KGw9cC5uZXh0U2libGluZykpYnJlYWs7bT0ocD1tKS5wYXJlbnROb2RlfXA9bH10PS0xPT09aXx8LTE9PT1zP251bGw6e3N0YXJ0OmksZW5kOnN9fWVsc2UgdD1udWxsfXQ9dHx8e3N0YXJ0OjAsZW5kOjB9fWVsc2UgdD1udWxsO2ZvcihyeT17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTp0fSxuTz0hMSx1Uj1uO251bGwhPT11UjspaWYoZT0obj11UikuY2hpbGQsMCE9KDEwMjgmbi5zdWJ0cmVlRmxhZ3MpJiZudWxsIT09ZSllLnJldHVybj1uLHVSPWU7ZWxzZSBmb3IoO251bGwhPT11Ujspe249dVI7dHJ5e3ZhciBoPW4uYWx0ZXJuYXRlO2lmKDAhPSgxMDI0Jm4uZmxhZ3MpKXN3aXRjaChuLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2Nhc2UgMTppZihudWxsIT09aCl7dmFyIGc9aC5tZW1vaXplZFByb3BzLHY9aC5tZW1vaXplZFN0YXRlLHk9bi5zdGF0ZU5vZGUsYj15LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG4uZWxlbWVudFR5cGU9PT1uLnR5cGU/ZzphWihuLnR5cGUsZyksdik7eS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ifWJyZWFrO2Nhc2UgMzp2YXIgaz1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOzE9PT1rLm5vZGVUeXBlP2sudGV4dENvbnRlbnQ9IiI6OT09PWsubm9kZVR5cGUmJmsuZG9jdW1lbnRFbGVtZW50JiZrLnJlbW92ZUNoaWxkKGsuZG9jdW1lbnRFbGVtZW50KTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGYoMTYzKSl9fWNhdGNoKGUpe28kKG4sbi5yZXR1cm4sZSl9aWYobnVsbCE9PShlPW4uc2libGluZykpe2UucmV0dXJuPW4ucmV0dXJuLHVSPWU7YnJlYWt9dVI9bi5yZXR1cm59aD11Tyx1Tz0hMX0oZSx0KSx1cSh0LGUpLGZ1bmN0aW9uKGUpe3ZhciBuPXQkKCksdD1lLmZvY3VzZWRFbGVtLHI9ZS5zZWxlY3Rpb25SYW5nZTtpZihuIT09dCYmdCYmdC5vd25lckRvY3VtZW50JiZmdW5jdGlvbiBlKG4sdCl7cmV0dXJuISFuJiYhIXQmJihuPT09dHx8KCFufHwzIT09bi5ub2RlVHlwZSkmJih0JiYzPT09dC5ub2RlVHlwZT9lKG4sdC5wYXJlbnROb2RlKToiY29udGFpbnMiaW4gbj9uLmNvbnRhaW5zKHQpOiEhbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmISEoMTYmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSkpKX0odC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0KSl7aWYobnVsbCE9PXImJnRBKHQpKXtpZihuPXIuc3RhcnQsdm9pZCAwPT09KGU9ci5lbmQpJiYoZT1uKSwic2VsZWN0aW9uU3RhcnQiaW4gdCl0LnNlbGVjdGlvblN0YXJ0PW4sdC5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oZSx0LnZhbHVlLmxlbmd0aCk7ZWxzZSBpZigoZT0obj10Lm93bmVyRG9jdW1lbnR8fGRvY3VtZW50KSYmbi5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24pe2U9ZS5nZXRTZWxlY3Rpb24oKTt2YXIgbD10LnRleHRDb250ZW50Lmxlbmd0aCxhPU1hdGgubWluKHIuc3RhcnQsbCk7cj12b2lkIDA9PT1yLmVuZD9hOk1hdGgubWluKHIuZW5kLGwpLCFlLmV4dGVuZCYmYT5yJiYobD1yLHI9YSxhPWwpLGw9dFYodCxhKTt2YXIgdT10Vih0LHIpO2wmJnUmJigxIT09ZS5yYW5nZUNvdW50fHxlLmFuY2hvck5vZGUhPT1sLm5vZGV8fGUuYW5jaG9yT2Zmc2V0IT09bC5vZmZzZXR8fGUuZm9jdXNOb2RlIT09dS5ub2RlfHxlLmZvY3VzT2Zmc2V0IT09dS5vZmZzZXQpJiYoKG49bi5jcmVhdGVSYW5nZSgpKS5zZXRTdGFydChsLm5vZGUsbC5vZmZzZXQpLGUucmVtb3ZlQWxsUmFuZ2VzKCksYT5yPyhlLmFkZFJhbmdlKG4pLGUuZXh0ZW5kKHUubm9kZSx1Lm9mZnNldCkpOihuLnNldEVuZCh1Lm5vZGUsdS5vZmZzZXQpLGUuYWRkUmFuZ2UobikpKX19Zm9yKG49W10sZT10O2U9ZS5wYXJlbnROb2RlOykxPT09ZS5ub2RlVHlwZSYmbi5wdXNoKHtlbGVtZW50OmUsbGVmdDplLnNjcm9sbExlZnQsdG9wOmUuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzJiZ0LmZvY3VzKCksdD0wO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pLmVsZW1lbnQuc2Nyb2xsTGVmdD1lLmxlZnQsZS5lbGVtZW50LnNjcm9sbFRvcD1lLnRvcH19KHJ5KSxuTz0hIXJ2LHJ5PXJ2PW51bGwsZS5jdXJyZW50PXQsaT10LHM9ZSxjPWwsdVI9aSxmdW5jdGlvbiBlKG4sdCxyKXtmb3IodmFyIGw9MCE9KDEmbi5tb2RlKTtudWxsIT09dVI7KXt2YXIgYT11Uix1PWEuY2hpbGQ7aWYoMjI9PT1hLnRhZyYmbCl7dmFyIG89bnVsbCE9PWEubWVtb2l6ZWRTdGF0ZXx8dXo7aWYoIW8pe3ZhciBpPWEuYWx0ZXJuYXRlLHM9bnVsbCE9PWkmJm51bGwhPT1pLm1lbW9pemVkU3RhdGV8fHVUO2k9dXo7dmFyIGM9dVQ7aWYodXo9bywodVQ9cykmJiFjKWZvcih1Uj1hO251bGwhPT11Ujspcz0obz11UikuY2hpbGQsMjI9PT1vLnRhZyYmbnVsbCE9PW8ubWVtb2l6ZWRTdGF0ZT91RyhhKTpudWxsIT09cz8ocy5yZXR1cm49byx1Uj1zKTp1RyhhKTtmb3IoO251bGwhPT11Oyl1Uj11LGUodSx0LHIpLHU9dS5zaWJsaW5nO3VSPWEsdXo9aSx1VD1jfXVZKG4sdCxyKX1lbHNlIDAhPSg4NzcyJmEuc3VidHJlZUZsYWdzKSYmbnVsbCE9PXU/KHUucmV0dXJuPWEsdVI9dSk6dVkobix0LHIpfX0oaSxzLGMpLGVaKCksdTI9cCxuYz1kLHUxLnRyYW5zaXRpb249YX1lbHNlIGUuY3VycmVudD10O2lmKG9mJiYob2Y9ITEsb2Q9ZSxvcD1sKSwwPT09KGE9ZS5wZW5kaW5nTGFuZXMpJiYob2M9bnVsbCksZnVuY3Rpb24oZSl7aWYoZTUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlNS5vbkNvbW1pdEZpYmVyUm9vdCl0cnl7ZTUub25Db21taXRGaWJlclJvb3QoZTYsZSx2b2lkIDAsMTI4PT0oMTI4JmUuY3VycmVudC5mbGFncykpfWNhdGNoKGUpe319KHQuc3RhdGVOb2RlLHIpLG93KGUsZUooKSksbnVsbCE9PW4pZm9yKHI9ZS5vblJlY292ZXJhYmxlRXJyb3IsdD0wO3Q8bi5sZW5ndGg7dCsrKXIoKGw9blt0XSkudmFsdWUse2NvbXBvbmVudFN0YWNrOmwuc3RhY2ssZGlnZXN0OmwuZGlnZXN0fSk7aWYob2kpdGhyb3cgb2k9ITEsZT1vcyxvcz1udWxsLGU7MCE9KDEmb3ApJiYwIT09ZS50YWcmJm9VKCksMCE9KDEmKGE9ZS5wZW5kaW5nTGFuZXMpKT9lPT09b2g/b20rKzoob209MCxvaD1lKTpvbT0wLHI4KCl9fShlLG4sdCxyKX1maW5hbGx5e3UxLnRyYW5zaXRpb249bCxuYz1yfXJldHVybiBudWxsfWZ1bmN0aW9uIG9VKCl7aWYobnVsbCE9PW9kKXt2YXIgZT1uZihvcCksbj11MS50cmFuc2l0aW9uLHQ9bmM7dHJ5e2lmKHUxLnRyYW5zaXRpb249bnVsbCxuYz0xNj5lPzE2OmUsbnVsbD09PW9kKXZhciByPSExO2Vsc2V7aWYoZT1vZCxvZD1udWxsLG9wPTAsMCE9KDYmdTIpKXRocm93IEVycm9yKGYoMzMxKSk7dmFyIGw9dTI7Zm9yKHUyfD00LHVSPWUuY3VycmVudDtudWxsIT09dVI7KXt2YXIgYT11Uix1PWEuY2hpbGQ7aWYoMCE9KDE2JnVSLmZsYWdzKSl7dmFyIG89YS5kZWxldGlvbnM7aWYobnVsbCE9PW8pe2Zvcih2YXIgaT0wO2k8by5sZW5ndGg7aSsrKXt2YXIgcz1vW2ldO2Zvcih1Uj1zO251bGwhPT11Ujspe3ZhciBjPXVSO3N3aXRjaChjLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1RCg4LGMsYSl9dmFyIGQ9Yy5jaGlsZDtpZihudWxsIT09ZClkLnJldHVybj1jLHVSPWQ7ZWxzZSBmb3IoO251bGwhPT11Ujspe3ZhciBwPShjPXVSKS5zaWJsaW5nLG09Yy5yZXR1cm47aWYoIWZ1bmN0aW9uIGUobil7dmFyIHQ9bi5hbHRlcm5hdGU7bnVsbCE9PXQmJihuLmFsdGVybmF0ZT1udWxsLGUodCkpLG4uY2hpbGQ9bnVsbCxuLmRlbGV0aW9ucz1udWxsLG4uc2libGluZz1udWxsLDU9PT1uLnRhZyYmbnVsbCE9PSh0PW4uc3RhdGVOb2RlKSYmKGRlbGV0ZSB0W3J6XSxkZWxldGUgdFtyVF0sZGVsZXRlIHRbclJdLGRlbGV0ZSB0W3JNXSxkZWxldGUgdFtyRl0pLG4uc3RhdGVOb2RlPW51bGwsbi5yZXR1cm49bnVsbCxuLmRlcGVuZGVuY2llcz1udWxsLG4ubWVtb2l6ZWRQcm9wcz1udWxsLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLG4ucGVuZGluZ1Byb3BzPW51bGwsbi5zdGF0ZU5vZGU9bnVsbCxuLnVwZGF0ZVF1ZXVlPW51bGx9KGMpLGM9PT1zKXt1Uj1udWxsO2JyZWFrfWlmKG51bGwhPT1wKXtwLnJldHVybj1tLHVSPXA7YnJlYWt9dVI9bX19fXZhciBoPWEuYWx0ZXJuYXRlO2lmKG51bGwhPT1oKXt2YXIgZz1oLmNoaWxkO2lmKG51bGwhPT1nKXtoLmNoaWxkPW51bGw7ZG97dmFyIHY9Zy5zaWJsaW5nO2cuc2libGluZz1udWxsLGc9dn13aGlsZShudWxsIT09Zyl9fXVSPWF9fWlmKDAhPSgyMDY0JmEuc3VidHJlZUZsYWdzKSYmbnVsbCE9PXUpdS5yZXR1cm49YSx1Uj11O2Vsc2UgZm9yKDtudWxsIT09dVI7KXtpZihhPXVSLDAhPSgyMDQ4JmEuZmxhZ3MpKXN3aXRjaChhLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTp1RCg5LGEsYS5yZXR1cm4pfXZhciB5PWEuc2libGluZztpZihudWxsIT09eSl7eS5yZXR1cm49YS5yZXR1cm4sdVI9eTticmVha311Uj1hLnJldHVybn19dmFyIGI9ZS5jdXJyZW50O2Zvcih1Uj1iO251bGwhPT11Ujspe3ZhciBrPSh1PXVSKS5jaGlsZDtpZigwIT0oMjA2NCZ1LnN1YnRyZWVGbGFncykmJm51bGwhPT1rKWsucmV0dXJuPXUsdVI9aztlbHNlIGZvcih1PWI7bnVsbCE9PXVSOyl7aWYobz11UiwwIT0oMjA0OCZvLmZsYWdzKSl0cnl7c3dpdGNoKG8udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVJKDksbyl9fWNhdGNoKGUpe28kKG8sby5yZXR1cm4sZSl9aWYobz09PXUpe3VSPW51bGw7YnJlYWt9dmFyIHc9by5zaWJsaW5nO2lmKG51bGwhPT13KXt3LnJldHVybj1vLnJldHVybix1Uj13O2JyZWFrfXVSPW8ucmV0dXJufX1pZih1Mj1sLHI4KCksZTUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlNS5vblBvc3RDb21taXRGaWJlclJvb3QpdHJ5e2U1Lm9uUG9zdENvbW1pdEZpYmVyUm9vdChlNixlKX1jYXRjaChlKXt9cj0hMH1yZXR1cm4gcn1maW5hbGx5e25jPXQsdTEudHJhbnNpdGlvbj1ufX1yZXR1cm4hMX1mdW5jdGlvbiBvVihlLG4sdCl7bj1hNyhlLG49YTgodCxuKSwxKSxlPWxRKGUsbiwxKSxuPW95KCksbnVsbCE9PWUmJihuaShlLDEsbiksb3coZSxuKSl9ZnVuY3Rpb24gbyQoZSxuLHQpe2lmKDM9PT1lLnRhZylvVihlLGUsdCk7ZWxzZSBmb3IoO251bGwhPT1uOyl7aWYoMz09PW4udGFnKXtvVihuLGUsdCk7YnJlYWt9aWYoMT09PW4udGFnKXt2YXIgcj1uLnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09b2N8fCFvYy5oYXMocikpKXtlPXVlKG4sZT1hOCh0LGUpLDEpLG49bFEobixlLDEpLGU9b3koKSxudWxsIT09biYmKG5pKG4sMSxlKSxvdyhuLGUpKTticmVha319bj1uLnJldHVybn19ZnVuY3Rpb24gb0EoZSxuLHQpe3ZhciByPWUucGluZ0NhY2hlO251bGwhPT1yJiZyLmRlbGV0ZShuKSxuPW95KCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZ0LHUzPT09ZSYmKHU4JnQpPT09dCYmKDQ9PT11OXx8Mz09PXU5JiYoMTMwMDIzNDI0JnU4KT09PXU4JiY1MDA+ZUooKS1vYT9vVChlLDApOm90fD10KSxvdyhlLG4pfWZ1bmN0aW9uIG9qKGUsbil7MD09PW4mJigwPT0oMSZlLm1vZGUpP249MToobj1udCwwPT0oMTMwMDIzNDI0JihudDw8PTEpKSYmKG50PTQxOTQzMDQpKSk7dmFyIHQ9b3koKTtudWxsIT09KGU9bEEoZSxuKSkmJihuaShlLG4sdCksb3coZSx0KSl9ZnVuY3Rpb24gb0IoZSl7dmFyIG49ZS5tZW1vaXplZFN0YXRlLHQ9MDtudWxsIT09biYmKHQ9bi5yZXRyeUxhbmUpLG9qKGUsdCl9ZnVuY3Rpb24gb0goZSxuKXt2YXIgdD0wO3N3aXRjaChlLnRhZyl7Y2FzZSAxMzp2YXIgcj1lLnN0YXRlTm9kZSxsPWUubWVtb2l6ZWRTdGF0ZTtudWxsIT09bCYmKHQ9bC5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6cj1lLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKGYoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKG4pLG9qKGUsdCl9ZnVuY3Rpb24gb1coZSxuLHQscil7dGhpcy50YWc9ZSx0aGlzLmtleT10LHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmPW51bGwsdGhpcy5wZW5kaW5nUHJvcHM9bix0aGlzLmRlcGVuZGVuY2llcz10aGlzLm1lbW9pemVkU3RhdGU9dGhpcy51cGRhdGVRdWV1ZT10aGlzLm1lbW9pemVkUHJvcHM9bnVsbCx0aGlzLm1vZGU9cix0aGlzLnN1YnRyZWVGbGFncz10aGlzLmZsYWdzPTAsdGhpcy5kZWxldGlvbnM9bnVsbCx0aGlzLmNoaWxkTGFuZXM9dGhpcy5sYW5lcz0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gb1EoZSxuLHQscil7cmV0dXJuIG5ldyBvVyhlLG4sdCxyKX1mdW5jdGlvbiBvcShlKXtyZXR1cm4hKCEoZT1lLnByb3RvdHlwZSl8fCFlLmlzUmVhY3RDb21wb25lbnQpfWZ1bmN0aW9uIG9LKGUsbil7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIG51bGw9PT10PygodD1vUShlLnRhZyxuLGUua2V5LGUubW9kZSkpLmVsZW1lbnRUeXBlPWUuZWxlbWVudFR5cGUsdC50eXBlPWUudHlwZSx0LnN0YXRlTm9kZT1lLnN0YXRlTm9kZSx0LmFsdGVybmF0ZT1lLGUuYWx0ZXJuYXRlPXQpOih0LnBlbmRpbmdQcm9wcz1uLHQudHlwZT1lLnR5cGUsdC5mbGFncz0wLHQuc3VidHJlZUZsYWdzPTAsdC5kZWxldGlvbnM9bnVsbCksdC5mbGFncz0xNDY4MDA2NCZlLmZsYWdzLHQuY2hpbGRMYW5lcz1lLmNoaWxkTGFuZXMsdC5sYW5lcz1lLmxhbmVzLHQuY2hpbGQ9ZS5jaGlsZCx0Lm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLHQubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsdC51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLG49ZS5kZXBlbmRlbmNpZXMsdC5kZXBlbmRlbmNpZXM9bnVsbD09PW4/bnVsbDp7bGFuZXM6bi5sYW5lcyxmaXJzdENvbnRleHQ6bi5maXJzdENvbnRleHR9LHQuc2libGluZz1lLnNpYmxpbmcsdC5pbmRleD1lLmluZGV4LHQucmVmPWUucmVmLHR9ZnVuY3Rpb24gb1koZSxuLHQscixsLGEpe3ZhciB1PTI7aWYocj1lLCJmdW5jdGlvbiI9PXR5cGVvZiBlKW9xKGUpJiYodT0xKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgZSl1PTU7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIHo6cmV0dXJuIG9YKHQuY2hpbGRyZW4sbCxhLG4pO2Nhc2UgVDp1PTgsbHw9ODticmVhaztjYXNlIEw6cmV0dXJuKGU9b1EoMTIsdCxuLDJ8bCkpLmVsZW1lbnRUeXBlPUwsZS5sYW5lcz1hLGU7Y2FzZSBPOnJldHVybihlPW9RKDEzLHQsbixsKSkuZWxlbWVudFR5cGU9TyxlLmxhbmVzPWEsZTtjYXNlIEQ6cmV0dXJuKGU9b1EoMTksdCxuLGwpKS5lbGVtZW50VHlwZT1ELGUubGFuZXM9YSxlO2Nhc2UgVjpyZXR1cm4gb0codCxsLGEsbik7ZGVmYXVsdDppZigib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXN3aXRjaChlLiQkdHlwZW9mKXtjYXNlIFI6dT0xMDticmVhayBlO2Nhc2UgTTp1PTk7YnJlYWsgZTtjYXNlIEY6dT0xMTticmVhayBlO2Nhc2UgSTp1PTE0O2JyZWFrIGU7Y2FzZSBVOnU9MTYscj1udWxsO2JyZWFrIGV9dGhyb3cgRXJyb3IoZigxMzAsbnVsbD09ZT9lOnR5cGVvZiBlLCIiKSl9cmV0dXJuKG49b1EodSx0LG4sbCkpLmVsZW1lbnRUeXBlPWUsbi50eXBlPXIsbi5sYW5lcz1hLG59ZnVuY3Rpb24gb1goZSxuLHQscil7cmV0dXJuKGU9b1EoNyxlLHIsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBvRyhlLG4sdCxyKXtyZXR1cm4oZT1vUSgyMixlLHIsbikpLmVsZW1lbnRUeXBlPVYsZS5sYW5lcz10LGUuc3RhdGVOb2RlPXtpc0hpZGRlbjohMX0sZX1mdW5jdGlvbiBvWihlLG4sdCl7cmV0dXJuKGU9b1EoNixlLG51bGwsbikpLmxhbmVzPXQsZX1mdW5jdGlvbiBvSihlLG4sdCl7cmV0dXJuKG49b1EoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LG4pKS5sYW5lcz10LG4uc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSxufWZ1bmN0aW9uIG8wKGUsbix0LHIsbCl7dGhpcy50YWc9bix0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLmZpbmlzaGVkV29yaz10aGlzLnBpbmdDYWNoZT10aGlzLmN1cnJlbnQ9dGhpcy5wZW5kaW5nQ2hpbGRyZW49bnVsbCx0aGlzLnRpbWVvdXRIYW5kbGU9LTEsdGhpcy5jYWxsYmFja05vZGU9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9MCx0aGlzLmV2ZW50VGltZXM9bm8oMCksdGhpcy5leHBpcmF0aW9uVGltZXM9bm8oLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5maW5pc2hlZExhbmVzPXRoaXMubXV0YWJsZVJlYWRMYW5lcz10aGlzLmV4cGlyZWRMYW5lcz10aGlzLnBpbmdlZExhbmVzPXRoaXMuc3VzcGVuZGVkTGFuZXM9dGhpcy5wZW5kaW5nTGFuZXM9MCx0aGlzLmVudGFuZ2xlbWVudHM9bm8oMCksdGhpcy5pZGVudGlmaWVyUHJlZml4PXIsdGhpcy5vblJlY292ZXJhYmxlRXJyb3I9bCx0aGlzLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGE9bnVsbH1mdW5jdGlvbiBvMShlLG4sdCxyLGwsYSx1LG8saSl7cmV0dXJuIGU9bmV3IG8wKGUsbix0LG8saSksMT09PW4/KG49MSwhMD09PWEmJihufD04KSk6bj0wLGE9b1EoMyxudWxsLG51bGwsbiksZS5jdXJyZW50PWEsYS5zdGF0ZU5vZGU9ZSxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6dCxjYWNoZTpudWxsLHRyYW5zaXRpb25zOm51bGwscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczpudWxsfSxsQihhKSxlfWZ1bmN0aW9uIG8yKGUpe2lmKCFlKXJldHVybiBySDtlPWUuX3JlYWN0SW50ZXJuYWxzO2U6e2lmKGVXKGUpIT09ZXx8MSE9PWUudGFnKXRocm93IEVycm9yKGYoMTcwKSk7dmFyIG49ZTtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpuPW4uc3RhdGVOb2RlLmNvbnRleHQ7YnJlYWsgZTtjYXNlIDE6aWYoclkobi50eXBlKSl7bj1uLnN0YXRlTm9kZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dDticmVhayBlfX1uPW4ucmV0dXJufXdoaWxlKG51bGwhPT1uKTt0aHJvdyBFcnJvcihmKDE3MSkpfWlmKDE9PT1lLnRhZyl7dmFyIHQ9ZS50eXBlO2lmKHJZKHQpKXJldHVybiByWihlLHQsbil9cmV0dXJuIG59ZnVuY3Rpb24gbzMoZSxuLHQscixsLGEsdSxvLGkpe3JldHVybihlPW8xKHQsciwhMCxlLGwsYSx1LG8saSkpLmNvbnRleHQ9bzIobnVsbCksdD1lLmN1cnJlbnQsKGE9bFcocj1veSgpLGw9b2IodCkpKS5jYWxsYmFjaz1udWxsIT1uP246bnVsbCxsUSh0LGEsbCksZS5jdXJyZW50LmxhbmVzPWwsbmkoZSxsLHIpLG93KGUsciksZX1mdW5jdGlvbiBvNChlLG4sdCxyKXt2YXIgbD1uLmN1cnJlbnQsYT1veSgpLHU9b2IobCk7cmV0dXJuIHQ9bzIodCksbnVsbD09PW4uY29udGV4dD9uLmNvbnRleHQ9dDpuLnBlbmRpbmdDb250ZXh0PXQsKG49bFcoYSx1KSkucGF5bG9hZD17ZWxlbWVudDplfSxudWxsIT09KHI9dm9pZCAwPT09cj9udWxsOnIpJiYobi5jYWxsYmFjaz1yKSxudWxsIT09KGU9bFEobCxuLHUpKSYmKG9rKGUsbCx1LGEpLGxxKGUsbCx1KSksdX1mdW5jdGlvbiBvOChlKXtyZXR1cm4oZT1lLmN1cnJlbnQpLmNoaWxkPyhlLmNoaWxkLnRhZyxlLmNoaWxkLnN0YXRlTm9kZSk6bnVsbH1mdW5jdGlvbiBvNihlLG4pe2lmKG51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkKXt2YXIgdD1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT0wIT09dCYmdDxuP3Q6bn19ZnVuY3Rpb24gbzUoZSxuKXtvNihlLG4pLChlPWUuYWx0ZXJuYXRlKSYmbzYoZSxuKX1pPWZ1bmN0aW9uKGUsbix0KXtpZihudWxsIT09ZSl7aWYoZS5tZW1vaXplZFByb3BzIT09bi5wZW5kaW5nUHJvcHN8fHJRLmN1cnJlbnQpdWE9ITA7ZWxzZXtpZigwPT0oZS5sYW5lcyZ0KSYmMD09KDEyOCZuLmZsYWdzKSlyZXR1cm4gdWE9ITEsZnVuY3Rpb24oZSxuLHQpe3N3aXRjaChuLnRhZyl7Y2FzZSAzOnVoKG4pLGxrKCk7YnJlYWs7Y2FzZSA1Omw0KG4pO2JyZWFrO2Nhc2UgMTpyWShuLnR5cGUpJiZySihuKTticmVhaztjYXNlIDQ6bDIobixuLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOnZhciByPW4udHlwZS5fY29udGV4dCxsPW4ubWVtb2l6ZWRQcm9wcy52YWx1ZTtyQihseixyLl9jdXJyZW50VmFsdWUpLHIuX2N1cnJlbnRWYWx1ZT1sO2JyZWFrO2Nhc2UgMTM6aWYobnVsbCE9PShyPW4ubWVtb2l6ZWRTdGF0ZSkpe2lmKG51bGwhPT1yLmRlaHlkcmF0ZWQpcmV0dXJuIHJCKGw2LDEmbDYuY3VycmVudCksbi5mbGFnc3w9MTI4LG51bGw7aWYoMCE9KHQmbi5jaGlsZC5jaGlsZExhbmVzKSlyZXR1cm4gdWIoZSxuLHQpO3JldHVybiByQihsNiwxJmw2LmN1cnJlbnQpLG51bGwhPT0oZT11QyhlLG4sdCkpP2Uuc2libGluZzpudWxsfXJCKGw2LDEmbDYuY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihyPTAhPSh0Jm4uY2hpbGRMYW5lcyksMCE9KDEyOCZlLmZsYWdzKSl7aWYocilyZXR1cm4gdUUoZSxuLHQpO24uZmxhZ3N8PTEyOH1pZihudWxsIT09KGw9bi5tZW1vaXplZFN0YXRlKSYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwsbC5sYXN0RWZmZWN0PW51bGwpLHJCKGw2LGw2LmN1cnJlbnQpLCFyKXJldHVybiBudWxsO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gbi5sYW5lcz0wLHVjKGUsbix0KX1yZXR1cm4gdUMoZSxuLHQpfShlLG4sdCk7dWE9MCE9KDEzMTA3MiZlLmZsYWdzKX19ZWxzZSB1YT0hMSxsZiYmMCE9KDEwNDg1NzYmbi5mbGFncykmJmx1KG4scjcsbi5pbmRleCk7c3dpdGNoKG4ubGFuZXM9MCxuLnRhZyl7Y2FzZSAyOnZhciByPW4udHlwZTt1XyhlLG4pLGU9bi5wZW5kaW5nUHJvcHM7dmFyIGw9cksobixyVy5jdXJyZW50KTtsRChuLHQpLGw9YWQobnVsbCxuLHIsZSxsLHQpO3ZhciBhPWFwKCk7cmV0dXJuIG4uZmxhZ3N8PTEsIm9iamVjdCI9PXR5cGVvZiBsJiZudWxsIT09bCYmImZ1bmN0aW9uIj09dHlwZW9mIGwucmVuZGVyJiZ2b2lkIDA9PT1sLiQkdHlwZW9mPyhuLnRhZz0xLG4ubWVtb2l6ZWRTdGF0ZT1udWxsLG4udXBkYXRlUXVldWU9bnVsbCxyWShyKT8oYT0hMCxySihuKSk6YT0hMSxuLm1lbW9pemVkU3RhdGU9bnVsbCE9PWwuc3RhdGUmJnZvaWQgMCE9PWwuc3RhdGU/bC5zdGF0ZTpudWxsLGxCKG4pLGwudXBkYXRlcj1hMCxuLnN0YXRlTm9kZT1sLGwuX3JlYWN0SW50ZXJuYWxzPW4sYTQobixyLGUsdCksbj11bShudWxsLG4sciwhMCxhLHQpKToobi50YWc9MCxsZiYmYSYmbG8obiksdXUobnVsbCxuLGwsdCksbj1uLmNoaWxkKSxuO2Nhc2UgMTY6cj1uLmVsZW1lbnRUeXBlO2U6e3N3aXRjaCh1XyhlLG4pLGU9bi5wZW5kaW5nUHJvcHMscj0obD1yLl9pbml0KShyLl9wYXlsb2FkKSxuLnR5cGU9cixsPW4udGFnPWZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKXJldHVybiBvcShlKT8xOjA7aWYobnVsbCE9ZSl7aWYoKGU9ZS4kJHR5cGVvZik9PT1GKXJldHVybiAxMTtpZihlPT09SSlyZXR1cm4gMTR9cmV0dXJuIDJ9KHIpLGU9YVoocixlKSxsKXtjYXNlIDA6bj11ZChudWxsLG4scixlLHQpO2JyZWFrIGU7Y2FzZSAxOm49dXAobnVsbCxuLHIsZSx0KTticmVhayBlO2Nhc2UgMTE6bj11byhudWxsLG4scixlLHQpO2JyZWFrIGU7Y2FzZSAxNDpuPXVpKG51bGwsbixyLGFaKHIudHlwZSxlKSx0KTticmVhayBlfXRocm93IEVycm9yKGYoMzA2LHIsIiIpKX1yZXR1cm4gbjtjYXNlIDA6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmFaKHIsbCksdWQoZSxuLHIsbCx0KTtjYXNlIDE6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmFaKHIsbCksdXAoZSxuLHIsbCx0KTtjYXNlIDM6ZTp7aWYodWgobiksbnVsbD09PWUpdGhyb3cgRXJyb3IoZigzODcpKTtyPW4ucGVuZGluZ1Byb3BzLGw9KGE9bi5tZW1vaXplZFN0YXRlKS5lbGVtZW50LGxIKGUsbiksbFkobixyLG51bGwsdCk7dmFyIHU9bi5tZW1vaXplZFN0YXRlO2lmKHI9dS5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKXtpZihhPXtlbGVtZW50OnIsaXNEZWh5ZHJhdGVkOiExLGNhY2hlOnUuY2FjaGUscGVuZGluZ1N1c3BlbnNlQm91bmRhcmllczp1LnBlbmRpbmdTdXNwZW5zZUJvdW5kYXJpZXMsdHJhbnNpdGlvbnM6dS50cmFuc2l0aW9uc30sbi51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSxuLm1lbW9pemVkU3RhdGU9YSwyNTYmbi5mbGFncyl7bD1hOChFcnJvcihmKDQyMykpLG4pLG49dWcoZSxuLHIsdCxsKTticmVhayBlfWlmKHIhPT1sKXtsPWE4KEVycm9yKGYoNDI0KSksbiksbj11ZyhlLG4scix0LGwpO2JyZWFrIGV9Zm9yKGxjPXJDKG4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8uZmlyc3RDaGlsZCksbHM9bixsZj0hMCxsZD1udWxsLHQ9bE4obixudWxsLHIsdCksbi5jaGlsZD10O3Q7KXQuZmxhZ3M9LTMmdC5mbGFnc3w0MDk2LHQ9dC5zaWJsaW5nfWVsc2V7aWYobGsoKSxyPT09bCl7bj11QyhlLG4sdCk7YnJlYWsgZX11dShlLG4scix0KX1uPW4uY2hpbGR9cmV0dXJuIG47Y2FzZSA1OnJldHVybiBsNChuKSxudWxsPT09ZSYmbGcobikscj1uLnR5cGUsbD1uLnBlbmRpbmdQcm9wcyxhPW51bGwhPT1lP2UubWVtb2l6ZWRQcm9wczpudWxsLHU9bC5jaGlsZHJlbixyYihyLGwpP3U9bnVsbDpudWxsIT09YSYmcmIocixhKSYmKG4uZmxhZ3N8PTMyKSx1ZihlLG4pLHV1KGUsbix1LHQpLG4uY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmbGcobiksbnVsbDtjYXNlIDEzOnJldHVybiB1YihlLG4sdCk7Y2FzZSA0OnJldHVybiBsMihuLG4uc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHI9bi5wZW5kaW5nUHJvcHMsbnVsbD09PWU/bi5jaGlsZD1sUChuLG51bGwscix0KTp1dShlLG4scix0KSxuLmNoaWxkO2Nhc2UgMTE6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmFaKHIsbCksdW8oZSxuLHIsbCx0KTtjYXNlIDc6cmV0dXJuIHV1KGUsbixuLnBlbmRpbmdQcm9wcyx0KSxuLmNoaWxkO2Nhc2UgODpjYXNlIDEyOnJldHVybiB1dShlLG4sbi5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdCksbi5jaGlsZDtjYXNlIDEwOmU6e2lmKHI9bi50eXBlLl9jb250ZXh0LGw9bi5wZW5kaW5nUHJvcHMsYT1uLm1lbW9pemVkUHJvcHMsdT1sLnZhbHVlLHJCKGx6LHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPXUsbnVsbCE9PWEpe2lmKHREKGEudmFsdWUsdSkpe2lmKGEuY2hpbGRyZW49PT1sLmNoaWxkcmVuJiYhclEuY3VycmVudCl7bj11QyhlLG4sdCk7YnJlYWsgZX19ZWxzZSBmb3IobnVsbCE9PShhPW4uY2hpbGQpJiYoYS5yZXR1cm49bik7bnVsbCE9PWE7KXt2YXIgbz1hLmRlcGVuZGVuY2llcztpZihudWxsIT09byl7dT1hLmNoaWxkO2Zvcih2YXIgaT1vLmZpcnN0Q29udGV4dDtudWxsIT09aTspe2lmKGkuY29udGV4dD09PXIpe2lmKDE9PT1hLnRhZyl7KGk9bFcoLTEsdCYtdCkpLnRhZz0yO3ZhciBzPWEudXBkYXRlUXVldWU7aWYobnVsbCE9PXMpe3ZhciBjPShzPXMuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1jP2kubmV4dD1pOihpLm5leHQ9Yy5uZXh0LGMubmV4dD1pKSxzLnBlbmRpbmc9aX19YS5sYW5lc3w9dCxudWxsIT09KGk9YS5hbHRlcm5hdGUpJiYoaS5sYW5lc3w9dCksbE8oYS5yZXR1cm4sdCxuKSxvLmxhbmVzfD10O2JyZWFrfWk9aS5uZXh0fX1lbHNlIGlmKDEwPT09YS50YWcpdT1hLnR5cGU9PT1uLnR5cGU/bnVsbDphLmNoaWxkO2Vsc2UgaWYoMTg9PT1hLnRhZyl7aWYobnVsbD09PSh1PWEucmV0dXJuKSl0aHJvdyBFcnJvcihmKDM0MSkpO3UubGFuZXN8PXQsbnVsbCE9PShvPXUuYWx0ZXJuYXRlKSYmKG8ubGFuZXN8PXQpLGxPKHUsdCxuKSx1PWEuc2libGluZ31lbHNlIHU9YS5jaGlsZDtpZihudWxsIT09dSl1LnJldHVybj1hO2Vsc2UgZm9yKHU9YTtudWxsIT09dTspe2lmKHU9PT1uKXt1PW51bGw7YnJlYWt9aWYobnVsbCE9PShhPXUuc2libGluZykpe2EucmV0dXJuPXUucmV0dXJuLHU9YTticmVha311PXUucmV0dXJufWE9dX19dXUoZSxuLGwuY2hpbGRyZW4sdCksbj1uLmNoaWxkfXJldHVybiBuO2Nhc2UgOTpyZXR1cm4gbD1uLnR5cGUscj1uLnBlbmRpbmdQcm9wcy5jaGlsZHJlbixsRChuLHQpLHI9cihsPWxJKGwpKSxuLmZsYWdzfD0xLHV1KGUsbixyLHQpLG4uY2hpbGQ7Y2FzZSAxNDpyZXR1cm4gbD1hWihyPW4udHlwZSxuLnBlbmRpbmdQcm9wcyksbD1hWihyLnR5cGUsbCksdWkoZSxuLHIsbCx0KTtjYXNlIDE1OnJldHVybiB1cyhlLG4sbi50eXBlLG4ucGVuZGluZ1Byb3BzLHQpO2Nhc2UgMTc6cmV0dXJuIHI9bi50eXBlLGw9bi5wZW5kaW5nUHJvcHMsbD1uLmVsZW1lbnRUeXBlPT09cj9sOmFaKHIsbCksdV8oZSxuKSxuLnRhZz0xLHJZKHIpPyhlPSEwLHJKKG4pKTplPSExLGxEKG4sdCksYTIobixyLGwpLGE0KG4scixsLHQpLHVtKG51bGwsbixyLCEwLGUsdCk7Y2FzZSAxOTpyZXR1cm4gdUUoZSxuLHQpO2Nhc2UgMjI6cmV0dXJuIHVjKGUsbix0KX10aHJvdyBFcnJvcihmKDE1NixuLnRhZykpfTt2YXIgbzk9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uIG83KGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIGllKGUpe3RoaXMuX2ludGVybmFsUm9vdD1lfWZ1bmN0aW9uIGl0KGUpe3JldHVybiEoIWV8fDEhPT1lLm5vZGVUeXBlJiY5IT09ZS5ub2RlVHlwZSYmMTEhPT1lLm5vZGVUeXBlKX1mdW5jdGlvbiBpcihlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSYmKDghPT1lLm5vZGVUeXBlfHwiIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICIhPT1lLm5vZGVWYWx1ZSkpfWZ1bmN0aW9uIGlsKCl7fWZ1bmN0aW9uIGlhKGUsbix0LHIsbCl7dmFyIGE9dC5fcmVhY3RSb290Q29udGFpbmVyO2lmKGEpe3ZhciB1PWE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGwpe3ZhciBvPWw7bD1mdW5jdGlvbigpe3ZhciBlPW84KHUpO28uY2FsbChlKX19bzQobix1LGUsbCl9ZWxzZSB1PWZ1bmN0aW9uKGUsbix0LHIsbCl7aWYobCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBhPXI7cj1mdW5jdGlvbigpe3ZhciBlPW84KHUpO2EuY2FsbChlKX19dmFyIHU9bzMobixyLGUsMCxudWxsLCExLCExLCIiLGlsKTtyZXR1cm4gZS5fcmVhY3RSb290Q29udGFpbmVyPXUsZVtyTF09dS5jdXJyZW50LHJhKDg9PT1lLm5vZGVUeXBlP2UucGFyZW50Tm9kZTplKSxvTigpLHV9Zm9yKDtsPWUubGFzdENoaWxkOyllLnJlbW92ZUNoaWxkKGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXt2YXIgbz1yO3I9ZnVuY3Rpb24oKXt2YXIgZT1vOChpKTtvLmNhbGwoZSl9fXZhciBpPW8xKGUsMCwhMSxudWxsLG51bGwsITEsITEsIiIsaWwpO3JldHVybiBlLl9yZWFjdFJvb3RDb250YWluZXI9aSxlW3JMXT1pLmN1cnJlbnQscmEoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLG9OKGZ1bmN0aW9uKCl7bzQobixpLHQscil9KSxpfSh0LG4sZSxsLHIpO3JldHVybiBvOCh1KX1pZS5wcm90b3R5cGUucmVuZGVyPW83LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGw9PT1uKXRocm93IEVycm9yKGYoNDA5KSk7bzQoZSxuLG51bGwsbnVsbCl9LGllLnByb3RvdHlwZS51bm1vdW50PW83LnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5faW50ZXJuYWxSb290O2lmKG51bGwhPT1lKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgbj1lLmNvbnRhaW5lckluZm87b04oZnVuY3Rpb24oKXtvNChudWxsLGUsbnVsbCxudWxsKX0pLG5bckxdPW51bGx9fSxpZS5wcm90b3R5cGUudW5zdGFibGVfc2NoZWR1bGVIeWRyYXRpb249ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIG49bmgoKTtlPXtibG9ja2VkT246bnVsbCx0YXJnZXQ6ZSxwcmlvcml0eTpufTtmb3IodmFyIHQ9MDt0PG5FLmxlbmd0aCYmMCE9PW4mJm48bkVbdF0ucHJpb3JpdHk7dCsrKTtuRS5zcGxpY2UodCwwLGUpLDA9PT10JiZuTihlKX19LG5kPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzOnZhciBuPWUuc3RhdGVOb2RlO2lmKG4uY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7dmFyIHQ9bnIobi5wZW5kaW5nTGFuZXMpOzAhPT10JiYobnMobiwxfHQpLG93KG4sZUooKSksMD09KDYmdTIpJiYob3U9ZUooKSs1MDAscjgoKSkpfWJyZWFrO2Nhc2UgMTM6b04oZnVuY3Rpb24oKXt2YXIgbj1sQShlLDEpO251bGwhPT1uJiZvayhuLGUsMSxveSgpKX0pLG81KGUsMSl9fSxucD1mdW5jdGlvbihlKXtpZigxMz09PWUudGFnKXt2YXIgbj1sQShlLDEzNDIxNzcyOCk7bnVsbCE9PW4mJm9rKG4sZSwxMzQyMTc3Mjgsb3koKSksbzUoZSwxMzQyMTc3MjgpfX0sbm09ZnVuY3Rpb24oZSl7aWYoMTM9PT1lLnRhZyl7dmFyIG49b2IoZSksdD1sQShlLG4pO251bGwhPT10JiZvayh0LGUsbixveSgpKSxvNShlLG4pfX0sbmg9ZnVuY3Rpb24oKXtyZXR1cm4gbmN9LG5nPWZ1bmN0aW9uKGUsbil7dmFyIHQ9bmM7dHJ5e3JldHVybiBuYz1lLG4oKX1maW5hbGx5e25jPXR9fSxlXz1mdW5jdGlvbihlLG4sdCl7c3dpdGNoKG4pe2Nhc2UiaW5wdXQiOmlmKGVuKGUsdCksbj10Lm5hbWUsInJhZGlvIj09PXQudHlwZSYmbnVsbCE9bil7Zm9yKHQ9ZTt0LnBhcmVudE5vZGU7KXQ9dC5wYXJlbnROb2RlO2Zvcih0PXQucXVlcnlTZWxlY3RvckFsbCgiaW5wdXRbbmFtZT0iK0pTT04uc3RyaW5naWZ5KCIiK24pKyddW3R5cGU9InJhZGlvIl0nKSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9clUocik7aWYoIWwpdGhyb3cgRXJyb3IoZig5MCkpO1gociksZW4ocixsKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOmVpKGUsdCk7YnJlYWs7Y2FzZSJzZWxlY3QiOm51bGwhPShuPXQudmFsdWUpJiZlYShlLCEhdC5tdWx0aXBsZSxuLCExKX19LGVMPW9QLGVSPW9OO3ZhciBpdT17ZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6ck8sYnVuZGxlVHlwZTowLHZlcnNpb246IjE4LjMuMSIscmVuZGVyZXJQYWNrYWdlTmFtZToicmVhY3QtZG9tIn0saW89e2J1bmRsZVR5cGU6aXUuYnVuZGxlVHlwZSx2ZXJzaW9uOml1LnZlcnNpb24scmVuZGVyZXJQYWNrYWdlTmFtZTppdS5yZW5kZXJlclBhY2thZ2VOYW1lLHJlbmRlcmVyQ29uZmlnOml1LnJlbmRlcmVyQ29uZmlnLG92ZXJyaWRlSG9va1N0YXRlOm51bGwsb3ZlcnJpZGVIb29rU3RhdGVEZWxldGVQYXRoOm51bGwsb3ZlcnJpZGVIb29rU3RhdGVSZW5hbWVQYXRoOm51bGwsb3ZlcnJpZGVQcm9wczpudWxsLG92ZXJyaWRlUHJvcHNEZWxldGVQYXRoOm51bGwsb3ZlcnJpZGVQcm9wc1JlbmFtZVBhdGg6bnVsbCxzZXRFcnJvckhhbmRsZXI6bnVsbCxzZXRTdXNwZW5zZUhhbmRsZXI6bnVsbCxzY2hlZHVsZVVwZGF0ZTpudWxsLGN1cnJlbnREaXNwYXRjaGVyUmVmOkMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PShlPWVLKGUpKT9udWxsOmUuc3RhdGVOb2RlfSxmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTppdS5maW5kRmliZXJCeUhvc3RJbnN0YW5jZXx8ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sZmluZEhvc3RJbnN0YW5jZXNGb3JSZWZyZXNoOm51bGwsc2NoZWR1bGVSZWZyZXNoOm51bGwsc2NoZWR1bGVSb290Om51bGwsc2V0UmVmcmVzaEhhbmRsZXI6bnVsbCxnZXRDdXJyZW50RmliZXI6bnVsbCxyZWNvbmNpbGVyVmVyc2lvbjoiMTguMy4xLW5leHQtZjEzMzhmODA4MC0yMDI0MDQyNiJ9O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fKXt2YXIgaWk9X19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fO2lmKCFpaS5pc0Rpc2FibGVkJiZpaS5zdXBwb3J0c0ZpYmVyKXRyeXtlNj1paS5pbmplY3QoaW8pLGU1PWlpfWNhdGNoKGUpe319bi5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD17dXNpbmdDbGllbnRFbnRyeVBvaW50OiExLEV2ZW50czpbckQsckksclUsZXosZVQsb1BdfSxuLmNyZWF0ZVBvcnRhbD1mdW5jdGlvbihlLG4pe3ZhciB0PTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpudWxsO2lmKCFpdChuKSl0aHJvdyBFcnJvcihmKDIwMCkpO3JldHVybiBmdW5jdGlvbihlLG4sdCl7dmFyIHI9Mzxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOm51bGw7cmV0dXJueyQkdHlwZW9mOk4sa2V5Om51bGw9PXI/bnVsbDoiIityLGNoaWxkcmVuOmUsY29udGFpbmVySW5mbzpuLGltcGxlbWVudGF0aW9uOnR9fShlLG4sbnVsbCx0KX0sbi5jcmVhdGVSb290PWZ1bmN0aW9uKGUsbil7aWYoIWl0KGUpKXRocm93IEVycm9yKGYoMjk5KSk7dmFyIHQ9ITEscj0iIixsPW85O3JldHVybiBudWxsIT1uJiYoITA9PT1uLnVuc3RhYmxlX3N0cmljdE1vZGUmJih0PSEwKSx2b2lkIDAhPT1uLmlkZW50aWZpZXJQcmVmaXgmJihyPW4uaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09bi5vblJlY292ZXJhYmxlRXJyb3ImJihsPW4ub25SZWNvdmVyYWJsZUVycm9yKSksbj1vMShlLDEsITEsbnVsbCxudWxsLHQsITEscixsKSxlW3JMXT1uLmN1cnJlbnQscmEoOD09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmUpLG5ldyBvNyhuKX0sbi5maW5kRE9NTm9kZT1mdW5jdGlvbihlKXtpZihudWxsPT1lKXJldHVybiBudWxsO2lmKDE9PT1lLm5vZGVUeXBlKXJldHVybiBlO3ZhciBuPWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PW4pe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcihmKDE4OCkpO3Rocm93IEVycm9yKGYoMjY4LGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpKSl9cmV0dXJuIGU9bnVsbD09PShlPWVLKG4pKT9udWxsOmUuc3RhdGVOb2RlfSxuLmZsdXNoU3luYz1mdW5jdGlvbihlKXtyZXR1cm4gb04oZSl9LG4uaHlkcmF0ZT1mdW5jdGlvbihlLG4sdCl7aWYoIWlyKG4pKXRocm93IEVycm9yKGYoMjAwKSk7cmV0dXJuIGlhKG51bGwsZSxuLCEwLHQpfSxuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGUsbix0KXtpZighaXQoZSkpdGhyb3cgRXJyb3IoZig0MDUpKTt2YXIgcj1udWxsIT10JiZ0Lmh5ZHJhdGVkU291cmNlc3x8bnVsbCxsPSExLGE9IiIsdT1vOTtpZihudWxsIT10JiYoITA9PT10LnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT10LmlkZW50aWZpZXJQcmVmaXgmJihhPXQuaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09dC5vblJlY292ZXJhYmxlRXJyb3ImJih1PXQub25SZWNvdmVyYWJsZUVycm9yKSksbj1vMyhuLG51bGwsZSwxLG51bGwhPXQ/dDpudWxsLGwsITEsYSx1KSxlW3JMXT1uLmN1cnJlbnQscmEoZSkscilmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKWw9KGw9KHQ9cltlXSkuX2dldFZlcnNpb24pKHQuX3NvdXJjZSksbnVsbD09bi5tdXRhYmxlU291cmNlRWFnZXJIeWRyYXRpb25EYXRhP24ubXV0YWJsZVNvdXJjZUVhZ2VySHlkcmF0aW9uRGF0YT1bdCxsXTpuLm11dGFibGVTb3VyY2VFYWdlckh5ZHJhdGlvbkRhdGEucHVzaCh0LGwpO3JldHVybiBuZXcgaWUobil9LG4ucmVuZGVyPWZ1bmN0aW9uKGUsbix0KXtpZighaXIobikpdGhyb3cgRXJyb3IoZigyMDApKTtyZXR1cm4gaWEobnVsbCxlLG4sITEsdCl9LG4udW5tb3VudENvbXBvbmVudEF0Tm9kZT1mdW5jdGlvbihlKXtpZighaXIoZSkpdGhyb3cgRXJyb3IoZig0MCkpO3JldHVybiEhZS5fcmVhY3RSb290Q29udGFpbmVyJiYob04oZnVuY3Rpb24oKXtpYShudWxsLG51bGwsZSwhMSxmdW5jdGlvbigpe2UuX3JlYWN0Um9vdENvbnRhaW5lcj1udWxsLGVbckxdPW51bGx9KX0pLCEwKX0sbi51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1vUCxuLnVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyPWZ1bmN0aW9uKGUsbix0LHIpe2lmKCFpcih0KSl0aHJvdyBFcnJvcihmKDIwMCkpO2lmKG51bGw9PWV8fHZvaWQgMD09PWUuX3JlYWN0SW50ZXJuYWxzKXRocm93IEVycm9yKGYoMzgpKTtyZXR1cm4gaWEoZSxuLHQsITEscil9LG4udmVyc2lvbj0iMTguMy4xLW5leHQtZjEzMzhmODA4MC0yMDI0MDQyNiJ9LDIwNzQ1OmZ1bmN0aW9uKGUsbix0KXt2YXIgcj10KDczOTM1KTtuLmNyZWF0ZVJvb3Q9ci5jcmVhdGVSb290LG4uaHlkcmF0ZVJvb3Q9ci5oeWRyYXRlUm9vdH0sNzM5MzU6ZnVuY3Rpb24oZSxuLHQpeyFmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSxlLmV4cG9ydHM9dCg2NDQ0OCl9LDc1MjUxOmZ1bmN0aW9uKGUsbix0KXt2YXIgcj10KDY3Mjk0KSxsPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxhPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG89ci5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRC5SZWFjdEN1cnJlbnRPd25lcixpPXtrZXk6ITAscmVmOiEwLF9fc2VsZjohMCxfX3NvdXJjZTohMH07ZnVuY3Rpb24gcyhlLG4sdCl7dmFyIHIsYT17fSxzPW51bGwsYz1udWxsO2ZvcihyIGluIHZvaWQgMCE9PXQmJihzPSIiK3QpLHZvaWQgMCE9PW4ua2V5JiYocz0iIituLmtleSksdm9pZCAwIT09bi5yZWYmJihjPW4ucmVmKSxuKXUuY2FsbChuLHIpJiYhaS5oYXNPd25Qcm9wZXJ0eShyKSYmKGFbcl09bltyXSk7aWYoZSYmZS5kZWZhdWx0UHJvcHMpZm9yKHIgaW4gbj1lLmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1hW3JdJiYoYVtyXT1uW3JdKTtyZXR1cm57JCR0eXBlb2Y6bCx0eXBlOmUsa2V5OnMscmVmOmMscHJvcHM6YSxfb3duZXI6by5jdXJyZW50fX1uLkZyYWdtZW50PWEsbi5qc3g9cyxuLmpzeHM9c30sNzI0MDg6ZnVuY3Rpb24oZSxuKXt2YXIgdD1TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iikscj1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxsPVN5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50IiksYT1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHU9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxvPVN5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0Iikscz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLGM9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxmPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKSxkPVN5bWJvbC5mb3IoInJlYWN0LmxhenkiKSxwPVN5bWJvbC5pdGVyYXRvcixtPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxoPU9iamVjdC5hc3NpZ24sZz17fTtmdW5jdGlvbiB2KGUsbix0KXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PW4sdGhpcy5yZWZzPWcsdGhpcy51cGRhdGVyPXR8fG19ZnVuY3Rpb24geSgpe31mdW5jdGlvbiBiKGUsbix0KXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PW4sdGhpcy5yZWZzPWcsdGhpcy51cGRhdGVyPXR8fG19di5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSx2LnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihlLG4pe2lmKCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJm51bGwhPWUpdGhyb3cgRXJyb3IoInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLiIpO3RoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcyxlLG4sInNldFN0YXRlIil9LHYucHJvdG90eXBlLmZvcmNlVXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcyxlLCJmb3JjZVVwZGF0ZSIpfSx5LnByb3RvdHlwZT12LnByb3RvdHlwZTt2YXIgaz1iLnByb3RvdHlwZT1uZXcgeTtrLmNvbnN0cnVjdG9yPWIsaChrLHYucHJvdG90eXBlKSxrLmlzUHVyZVJlYWN0Q29tcG9uZW50PSEwO3ZhciB3PUFycmF5LmlzQXJyYXksUz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHg9e2N1cnJlbnQ6bnVsbH0sRT17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O2Z1bmN0aW9uIF8oZSxuLHIpe3ZhciBsLGE9e30sdT1udWxsLG89bnVsbDtpZihudWxsIT1uKWZvcihsIGluIHZvaWQgMCE9PW4ucmVmJiYobz1uLnJlZiksdm9pZCAwIT09bi5rZXkmJih1PSIiK24ua2V5KSxuKVMuY2FsbChuLGwpJiYhRS5oYXNPd25Qcm9wZXJ0eShsKSYmKGFbbF09bltsXSk7dmFyIGk9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1pKWEuY2hpbGRyZW49cjtlbHNlIGlmKDE8aSl7Zm9yKHZhciBzPUFycmF5KGkpLGM9MDtjPGk7YysrKXNbY109YXJndW1lbnRzW2MrMl07YS5jaGlsZHJlbj1zfWlmKGUmJmUuZGVmYXVsdFByb3BzKWZvcihsIGluIGk9ZS5kZWZhdWx0UHJvcHMpdm9pZCAwPT09YVtsXSYmKGFbbF09aVtsXSk7cmV0dXJueyQkdHlwZW9mOnQsdHlwZTplLGtleTp1LHJlZjpvLHByb3BzOmEsX293bmVyOnguY3VycmVudH19ZnVuY3Rpb24gQyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09dH12YXIgUD0vXC8rL2c7ZnVuY3Rpb24gTihlLG4pe3ZhciB0LHI7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/KHQ9IiIrZS5rZXkscj17Ij0iOiI9MCIsIjoiOiI9MiJ9LCIkIit0LnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gcltlXX0pKTpuLnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB6KGUsbixsKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBhPVtdLHU9MDtyZXR1cm4hZnVuY3Rpb24gZShuLGwsYSx1LG8pe3ZhciBpLHMsYyxmPXR5cGVvZiBuOygidW5kZWZpbmVkIj09PWZ8fCJib29sZWFuIj09PWYpJiYobj1udWxsKTt2YXIgZD0hMTtpZihudWxsPT09bilkPSEwO2Vsc2Ugc3dpdGNoKGYpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6ZD0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgdDpjYXNlIHI6ZD0hMH19aWYoZClyZXR1cm4gbz1vKGQ9biksbj0iIj09PXU/Ii4iK04oZCwwKTp1LHcobyk/KGE9IiIsbnVsbCE9biYmKGE9bi5yZXBsYWNlKFAsIiQmLyIpKyIvIiksZShvLGwsYSwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1vJiYoQyhvKSYmKGk9byxzPWErKCFvLmtleXx8ZCYmZC5rZXk9PT1vLmtleT8iIjooIiIrby5rZXkpLnJlcGxhY2UoUCwiJCYvIikrIi8iKStuLG89eyQkdHlwZW9mOnQsdHlwZTppLnR5cGUsa2V5OnMscmVmOmkucmVmLHByb3BzOmkucHJvcHMsX293bmVyOmkuX293bmVyfSksbC5wdXNoKG8pKSwxO2lmKGQ9MCx1PSIiPT09dT8iLiI6dSsiOiIsdyhuKSlmb3IodmFyIG09MDttPG4ubGVuZ3RoO20rKyl7dmFyIGg9dStOKGY9blttXSxtKTtkKz1lKGYsbCxhLGgsbyl9ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YoaD1udWxsPT09KGM9bil8fCJvYmplY3QiIT10eXBlb2YgYz9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZihjPXAmJmNbcF18fGNbIkBAaXRlcmF0b3IiXSk/YzpudWxsKSlmb3Iobj1oLmNhbGwobiksbT0wOyEoZj1uLm5leHQoKSkuZG9uZTspaD11K04oZj1mLnZhbHVlLG0rKyksZCs9ZShmLGwsYSxoLG8pO2Vsc2UgaWYoIm9iamVjdCI9PT1mKXRocm93IEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09KGw9U3RyaW5nKG4pKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyhuKS5qb2luKCIsICIpKyJ9IjpsKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpO3JldHVybiBkfShlLGEsIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIG4uY2FsbChsLGUsdSsrKX0pLGF9ZnVuY3Rpb24gVChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIG49ZS5fcmVzdWx0OyhuPW4oKSkudGhlbihmdW5jdGlvbihuKXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PW4pfSxmdW5jdGlvbihuKXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PW4pfSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9bil9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBMPXtjdXJyZW50Om51bGx9LFI9e3RyYW5zaXRpb246bnVsbH07ZnVuY3Rpb24gTSgpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfW4uQ2hpbGRyZW49e21hcDp6LGZvckVhY2g6ZnVuY3Rpb24oZSxuLHQpe3ooZSxmdW5jdGlvbigpe24uYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0KX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIG49MDtyZXR1cm4geihlLGZ1bmN0aW9uKCl7bisrfSksbn0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4geihlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCFDKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LG4uQ29tcG9uZW50PXYsbi5GcmFnbWVudD1sLG4uUHJvZmlsZXI9dSxuLlB1cmVDb21wb25lbnQ9YixuLlN0cmljdE1vZGU9YSxuLlN1c3BlbnNlPWMsbi5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpMLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOlIsUmVhY3RDdXJyZW50T3duZXI6eH0sbi5hY3Q9TSxuLmNsb25lRWxlbWVudD1mdW5jdGlvbihlLG4scil7aWYobnVsbD09ZSl0aHJvdyBFcnJvcigiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgIitlKyIuIik7dmFyIGw9aCh7fSxlLnByb3BzKSxhPWUua2V5LHU9ZS5yZWYsbz1lLl9vd25lcjtpZihudWxsIT1uKXtpZih2b2lkIDAhPT1uLnJlZiYmKHU9bi5yZWYsbz14LmN1cnJlbnQpLHZvaWQgMCE9PW4ua2V5JiYoYT0iIituLmtleSksZS50eXBlJiZlLnR5cGUuZGVmYXVsdFByb3BzKXZhciBpPWUudHlwZS5kZWZhdWx0UHJvcHM7Zm9yKHMgaW4gbilTLmNhbGwobixzKSYmIUUuaGFzT3duUHJvcGVydHkocykmJihsW3NdPXZvaWQgMD09PW5bc10mJnZvaWQgMCE9PWk/aVtzXTpuW3NdKX12YXIgcz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PXMpbC5jaGlsZHJlbj1yO2Vsc2UgaWYoMTxzKXtpPUFycmF5KHMpO2Zvcih2YXIgYz0wO2M8cztjKyspaVtjXT1hcmd1bWVudHNbYysyXTtsLmNoaWxkcmVuPWl9cmV0dXJueyQkdHlwZW9mOnQsdHlwZTplLnR5cGUsa2V5OmEscmVmOnUscHJvcHM6bCxfb3duZXI6b319LG4uY3JlYXRlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4oZT17JCR0eXBlb2Y6aSxfY3VycmVudFZhbHVlOmUsX2N1cnJlbnRWYWx1ZTI6ZSxfdGhyZWFkQ291bnQ6MCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2RlZmF1bHRWYWx1ZTpudWxsLF9nbG9iYWxOYW1lOm51bGx9KS5Qcm92aWRlcj17JCR0eXBlb2Y6byxfY29udGV4dDplfSxlLkNvbnN1bWVyPWV9LG4uY3JlYXRlRWxlbWVudD1fLG4uY3JlYXRlRmFjdG9yeT1mdW5jdGlvbihlKXt2YXIgbj1fLmJpbmQobnVsbCxlKTtyZXR1cm4gbi50eXBlPWUsbn0sbi5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sbi5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpzLHJlbmRlcjplfX0sbi5pc1ZhbGlkRWxlbWVudD1DLG4ubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6ZCxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OlR9fSxuLm1lbW89ZnVuY3Rpb24oZSxuKXtyZXR1cm57JCR0eXBlb2Y6Zix0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT1uP251bGw6bn19LG4uc3RhcnRUcmFuc2l0aW9uPWZ1bmN0aW9uKGUpe3ZhciBuPVIudHJhbnNpdGlvbjtSLnRyYW5zaXRpb249e307dHJ5e2UoKX1maW5hbGx5e1IudHJhbnNpdGlvbj1ufX0sbi51bnN0YWJsZV9hY3Q9TSxuLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbil7cmV0dXJuIEwuY3VycmVudC51c2VDYWxsYmFjayhlLG4pfSxuLnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VDb250ZXh0KGUpfSxuLnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LG4udXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LG4udXNlRWZmZWN0PWZ1bmN0aW9uKGUsbil7cmV0dXJuIEwuY3VycmVudC51c2VFZmZlY3QoZSxuKX0sbi51c2VJZD1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlSWQoKX0sbi51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsbix0KXtyZXR1cm4gTC5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSxuLHQpfSxuLnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLG4pe3JldHVybiBMLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsbil9LG4udXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsbil7cmV0dXJuIEwuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSxuKX0sbi51c2VNZW1vPWZ1bmN0aW9uKGUsbil7cmV0dXJuIEwuY3VycmVudC51c2VNZW1vKGUsbil9LG4udXNlUmVkdWNlcj1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIEwuY3VycmVudC51c2VSZWR1Y2VyKGUsbix0KX0sbi51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VSZWYoZSl9LG4udXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VTdGF0ZShlKX0sbi51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLG4sdCl7cmV0dXJuIEwuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLG4sdCl9LG4udXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSxuLnZlcnNpb249IjE4LjMuMSJ9LDY3Mjk0OmZ1bmN0aW9uKGUsbix0KXtlLmV4cG9ydHM9dCg3MjQwOCl9LDg1ODkzOmZ1bmN0aW9uKGUsbix0KXtlLmV4cG9ydHM9dCg3NTI1MSl9LDYwMDUzOmZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gdChlLG4pe3ZhciB0PWUubGVuZ3RoO2ZvcihlLnB1c2gobik7MDx0Oyl7dmFyIHI9dC0xPj4+MSxsPWVbcl07aWYoMDxhKGwsbikpZVtyXT1uLGVbdF09bCx0PXI7ZWxzZSBicmVha319ZnVuY3Rpb24gcihlKXtyZXR1cm4gMD09PWUubGVuZ3RoP251bGw6ZVswXX1mdW5jdGlvbiBsKGUpe2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbnVsbDt2YXIgbj1lWzBdLHQ9ZS5wb3AoKTtpZih0IT09bil7ZVswXT10O2Zvcih2YXIgcj0wLGw9ZS5sZW5ndGgsdT1sPj4+MTtyPHU7KXt2YXIgbz0yKihyKzEpLTEsaT1lW29dLHM9bysxLGM9ZVtzXTtpZigwPmEoaSx0KSlzPGwmJjA+YShjLGkpPyhlW3JdPWMsZVtzXT10LHI9cyk6KGVbcl09aSxlW29dPXQscj1vKTtlbHNlIGlmKHM8bCYmMD5hKGMsdCkpZVtyXT1jLGVbc109dCxyPXM7ZWxzZSBicmVha319cmV0dXJuIG59ZnVuY3Rpb24gYShlLG4pe3ZhciB0PWUuc29ydEluZGV4LW4uc29ydEluZGV4O3JldHVybiAwIT09dD90OmUuaWQtbi5pZH1pZigib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2Uubm93KXt2YXIgdSxvPXBlcmZvcm1hbmNlO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIG8ubm93KCl9fWVsc2V7dmFyIGk9RGF0ZSxzPWkubm93KCk7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gaS5ub3coKS1zfX12YXIgYz1bXSxmPVtdLGQ9MSxwPW51bGwsbT0zLGg9ITEsZz0hMSx2PSExLHk9ImZ1bmN0aW9uIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpudWxsLGI9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6bnVsbCxrPSJ1bmRlZmluZWQiIT10eXBlb2Ygc2V0SW1tZWRpYXRlP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIHcoZSl7Zm9yKHZhciBuPXIoZik7bnVsbCE9PW47KXtpZihudWxsPT09bi5jYWxsYmFjaylsKGYpO2Vsc2UgaWYobi5zdGFydFRpbWU8PWUpbChmKSxuLnNvcnRJbmRleD1uLmV4cGlyYXRpb25UaW1lLHQoYyxuKTtlbHNlIGJyZWFrO249cihmKX19ZnVuY3Rpb24gUyhlKXtpZih2PSExLHcoZSksIWcpe2lmKG51bGwhPT1yKGMpKWc9ITAsTSh4KTtlbHNle3ZhciBuPXIoZik7bnVsbCE9PW4mJkYoUyxuLnN0YXJ0VGltZS1lKX19fWZ1bmN0aW9uIHgoZSx0KXtnPSExLHYmJih2PSExLGIoQyksQz0tMSksaD0hMDt2YXIgYT1tO3RyeXtmb3Iodyh0KSxwPXIoYyk7bnVsbCE9PXAmJighKHAuZXhwaXJhdGlvblRpbWU+dCl8fGUmJiF6KCkpOyl7dmFyIHU9cC5jYWxsYmFjaztpZigiZnVuY3Rpb24iPT10eXBlb2YgdSl7cC5jYWxsYmFjaz1udWxsLG09cC5wcmlvcml0eUxldmVsO3ZhciBvPXUocC5leHBpcmF0aW9uVGltZTw9dCk7dD1uLnVuc3RhYmxlX25vdygpLCJmdW5jdGlvbiI9PXR5cGVvZiBvP3AuY2FsbGJhY2s9bzpwPT09cihjKSYmbChjKSx3KHQpfWVsc2UgbChjKTtwPXIoYyl9aWYobnVsbCE9PXApdmFyIGk9ITA7ZWxzZXt2YXIgcz1yKGYpO251bGwhPT1zJiZGKFMscy5zdGFydFRpbWUtdCksaT0hMX1yZXR1cm4gaX1maW5hbGx5e3A9bnVsbCxtPWEsaD0hMX19InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3ImJnZvaWQgMCE9PW5hdmlnYXRvci5zY2hlZHVsaW5nJiZ2b2lkIDAhPT1uYXZpZ2F0b3Iuc2NoZWR1bGluZy5pc0lucHV0UGVuZGluZyYmbmF2aWdhdG9yLnNjaGVkdWxpbmcuaXNJbnB1dFBlbmRpbmcuYmluZChuYXZpZ2F0b3Iuc2NoZWR1bGluZyk7dmFyIEU9ITEsXz1udWxsLEM9LTEsUD01LE49LTE7ZnVuY3Rpb24geigpe3JldHVybiEobi51bnN0YWJsZV9ub3coKS1OPFApfWZ1bmN0aW9uIFQoKXtpZihudWxsIT09Xyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtOPWU7dmFyIHQ9ITA7dHJ5e3Q9XyghMCxlKX1maW5hbGx5e3Q/dSgpOihFPSExLF89bnVsbCl9fWVsc2UgRT0hMX1pZigiZnVuY3Rpb24iPT10eXBlb2Ygayl1PWZ1bmN0aW9uKCl7ayhUKX07ZWxzZSBpZigidW5kZWZpbmVkIiE9dHlwZW9mIE1lc3NhZ2VDaGFubmVsKXt2YXIgTD1uZXcgTWVzc2FnZUNoYW5uZWwsUj1MLnBvcnQyO0wucG9ydDEub25tZXNzYWdlPVQsdT1mdW5jdGlvbigpe1IucG9zdE1lc3NhZ2UobnVsbCl9fWVsc2UgdT1mdW5jdGlvbigpe3koVCwwKX07ZnVuY3Rpb24gTShlKXtfPWUsRXx8KEU9ITAsdSgpKX1mdW5jdGlvbiBGKGUsdCl7Qz15KGZ1bmN0aW9uKCl7ZShuLnVuc3RhYmxlX25vdygpKX0sdCl9bi51bnN0YWJsZV9JZGxlUHJpb3JpdHk9NSxuLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5PTEsbi51bnN0YWJsZV9Mb3dQcmlvcml0eT00LG4udW5zdGFibGVfTm9ybWFsUHJpb3JpdHk9MyxuLnVuc3RhYmxlX1Byb2ZpbGluZz1udWxsLG4udW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHk9MixuLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKGUpe2UuY2FsbGJhY2s9bnVsbH0sbi51bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbj1mdW5jdGlvbigpe2d8fGh8fChnPSEwLE0oeCkpfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6UD0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBtfSxuLnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHIoYyl9LG4udW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2gobSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIG49MzticmVhaztkZWZhdWx0Om49bX12YXIgdD1tO209bjt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e209dH19LG4udW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LG4udW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7fSxuLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eT1mdW5jdGlvbihlLG4pe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6Y2FzZSA1OmJyZWFrO2RlZmF1bHQ6ZT0zfXZhciB0PW07bT1lO3RyeXtyZXR1cm4gbigpfWZpbmFsbHl7bT10fX0sbi51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrPWZ1bmN0aW9uKGUsbCxhKXt2YXIgdT1uLnVuc3RhYmxlX25vdygpO3N3aXRjaChhPSJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWEmJiJudW1iZXIiPT10eXBlb2YoYT1hLmRlbGF5KSYmMDxhP3UrYTp1LGUpe2Nhc2UgMTp2YXIgbz0tMTticmVhaztjYXNlIDI6bz0yNTA7YnJlYWs7Y2FzZSA1Om89MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6bz0xZTQ7YnJlYWs7ZGVmYXVsdDpvPTVlM31yZXR1cm4gbz1hK28sZT17aWQ6ZCsrLGNhbGxiYWNrOmwscHJpb3JpdHlMZXZlbDplLHN0YXJ0VGltZTphLGV4cGlyYXRpb25UaW1lOm8sc29ydEluZGV4Oi0xfSxhPnU/KGUuc29ydEluZGV4PWEsdChmLGUpLG51bGw9PT1yKGMpJiZlPT09cihmKSYmKHY/KGIoQyksQz0tMSk6dj0hMCxGKFMsYS11KSkpOihlLnNvcnRJbmRleD1vLHQoYyxlKSxnfHxofHwoZz0hMCxNKHgpKSksZX0sbi51bnN0YWJsZV9zaG91bGRZaWVsZD16LG4udW5zdGFibGVfd3JhcENhbGxiYWNrPWZ1bmN0aW9uKGUpe3ZhciBuPW07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9bTttPW47dHJ5e3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e209dH19fX0sNjM4NDA6ZnVuY3Rpb24oZSxuLHQpe2UuZXhwb3J0cz10KDYwMDUzKX19XSk7"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":18,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/z43dh2jj8Bkw_patjmqE0/_buildManifest.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.617Z","timestamp":1785133562617,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/z43dh2jj8Bkw_patjmqE0/_buildManifest.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"_buildManifest.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"945215a71f2b4a3a19c861712a76897d\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/z43dh2jj8Bkw_patjmqE0/_buildManifest.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::slq4m-1785133562621-311e8b60651f\r\ncontent-length: 3445\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":"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":14371,"size_decoded":4083,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with very long lines (14371), with no line terminators","md5":"1b5f5b6eee0d36b154bda8e73e58b125","sha1":"91430462e10a1574aa64b9026aeadafe91841b9a","sha256":"fbaf04e1773b6f8a0e843e0ac84cd3598baa98af52d68eee311ee71c24ae73d7","sha512":"df53e6f86c3a7d14192d48a7f5a93f1afd3244356cd4310b49254c07c722309dd186a7424a26790bc2fff4ad9394c7d1668f6f8bcec4b83819c85bc8e65975f0","ssdeep":"384:Ey7GwOMMZ2rdN+PG8rKXVbSyH5yyLyKsRbc7qSloSbXgMES:EybOlZkn84VsSXAS","tlshash":"ae529e269459e1022dd0dc8c73362fe3cad1a5b19e768258677e0ea807c3576bf4e463","first_seen":"2026-07-27T03:07:35.30709Z","last_seen":"2026-07-27T06:26:35.985397Z","times_seen":2,"resource_available":true,"data":"c2VsZi5fX0JVSUxEX01BTklGRVNUPWZ1bmN0aW9uKHMsZSxhLHQsbixjLG8saSxwLG0sZCxyLHUsaCxnLGYsYixrLGoseSxsLFAsdil7cmV0dXJue19fcmV3cml0ZXM6e2FmdGVyRmlsZXM6W10sYmVmb3JlRmlsZXM6W10sZmFsbGJhY2s6W119LCIvIjpbcyx0LGUsYSx5LCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2luZGV4LWFkZTU5OTc5NDNjOWIzN2IuanMiXSwiLyhjb21wb25lbnRzKS9BZG1pbkZvb3RlciI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9BZG1pbkZvb3Rlci1iNGFhMjk3YTFhYmFjZGUzLmpzIl0sIi8oY29tcG9uZW50cykvQWRtaW5IZWFkZXIiOltwLGgsZiwic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvQWRtaW5IZWFkZXItMmExODM1YzlmM2U3NWY2OS5qcyJdLCIvKGNvbXBvbmVudHMpL0FkbWluU0lkZUJhciI6W24sbyxpLG0sZCxyLGUsYSwic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvQWRtaW5TSWRlQmFyLWI5ZGY0YjY5YjY5YzI3MWMuanMiXSwiLyhjb21wb25lbnRzKS9DaGFydHMiOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvQ2hhcnRzLWViMTAzZmRiN2VkNDM2ODQuanMiXSwiLyhjb21wb25lbnRzKS9EYXNoYm9hcmRIZWFkZXIiOltzLG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL0Rhc2hib2FyZEhlYWRlci0xYTU5ZmY4NjQyMTc5ZGZlLmpzIl0sIi8oY29tcG9uZW50cykvRXJyb3JCb3VuZGFyeSI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9FcnJvckJvdW5kYXJ5LTY0MzM3ZTUwOTcxZWIwYWEuanMiXSwiLyhjb21wb25lbnRzKS9Gb290ZXIiOltlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL0Zvb3Rlci01N2I2MzQ1Zjc0OWZiMDk5LmpzIl0sIi8oY29tcG9uZW50cykvSW52ZXN0bWVudHMvQ3J5cHRvU2VsZWN0IjpbbixvLCJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9JbnZlc3RtZW50cy9DcnlwdG9TZWxlY3QtZjQ0YjY3NmMxMWY0MDBiYS5qcyJdLCIvKGNvbXBvbmVudHMpL0ludmVzdG1lbnRzL0ludmVzdG1lbnRQbGFucyI6W3QsbixvLCJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9JbnZlc3RtZW50cy9JbnZlc3RtZW50UGxhbnMtNmYxZjBjMjI4MTk4OGE5Yy5qcyJdLCIvKGNvbXBvbmVudHMpL0ludmVzdG1lbnRzL0ludmVzdG1lbnRzQ29uZmlybSI6W3MsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL0ludmVzdG1lbnRzL0ludmVzdG1lbnRzQ29uZmlybS00NDk0NmVkNjY4NDEwN2NiLmpzIl0sIi8oY29tcG9uZW50cykvSW52ZXN0bWVudHMvW2lkXSI6W3QsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL0ludmVzdG1lbnRzL1tpZF0tYzVlM2I4Y2FhYTIyNjRlYy5qcyJdLCIvKGNvbXBvbmVudHMpL0xhdGVzdFRyYW5zYWN0aW9ucyI6W2wsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL0xhdGVzdFRyYW5zYWN0aW9ucy04ZDc4NmZiZDc1YWJjZWU5LmpzIl0sIi8oY29tcG9uZW50cykvTmF2YmFyIjpbZSxiLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL05hdmJhci03Mzc5NmEzOTgwYzhjOGRjLmpzIl0sIi8oY29tcG9uZW50cykvUGF5bWVudHMvQ29weVRvQ2xpcGJvYXJkQnV0dG9uIjpbbixjLCJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9QYXltZW50cy9Db3B5VG9DbGlwYm9hcmRCdXR0b24tOGQyNzJiNGJhMjc5MGZiYi5qcyJdLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXQiOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdC03ZWFkMTI3MzRhMGU1N2Q4LmpzIl0sIi8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdENvbmZpcm1CdGMiOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdENvbmZpcm1CdGMtM2JhOWQzOWM0NzM2MjRiOS5qcyJdLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRDb25maXJtU09MIjpbInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRDb25maXJtU09MLWJlMjM0Zjk0M2M5ZDA4ZDMuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0Q29uZmlybVVTRFQiOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdENvbmZpcm1VU0RULTgyNGIwMDhlNDI4NDhlNjIuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0Q29uZmlybVdpcmVUcmFuc2ZlciI6W3MsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRDb25maXJtV2lyZVRyYW5zZmVyLWFlMjk0YzMwNzhhNjdkZDMuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0RnVuZHNDcnlwdG8iOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdEZ1bmRzQ3J5cHRvLWRkNmYzMzYyNDc4MGI1NDEuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0RnVuZHNTT0wiOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdEZ1bmRzU09MLTdkYmQ1NDkxNGRmNTQxODAuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0RnVuZHNVU0RUIjpbInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRGdW5kc1VTRFQtMzY5OTE0ODhhYWEzZWUzNi5qcyJdLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRGdW5kc1dpcmVUcmFuc2ZlciI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0RnVuZHNXaXJlVHJhbnNmZXItNjk2M2QzMDA5MjExY2I0Mi5qcyJdLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL01ha2VQYXltZW50QnRjIjpbcyxuLGMsZSxhLCJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9QYXltZW50cy9NYWtlUGF5bWVudEJ0Yy01NmU1MjAwYmJmM2M2MTVkLmpzIl0sIi8oY29tcG9uZW50cykvUGF5bWVudHMvTWFrZVBheW1lbnRTT0wiOltzLG4sYyxlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL01ha2VQYXltZW50U09MLWM2NDk3MjBkYjBlODA1YTkuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9NYWtlUGF5bWVudFVTRFQiOltzLG4sYyxlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL01ha2VQYXltZW50VVNEVC02MDBiNGE2YmU1OWQzMDFlLmpzIl0sIi8oY29tcG9uZW50cykvUGF5bWVudHMvUGF5bWVudElucHV0IjpbInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL1BheW1lbnRJbnB1dC00NGM0MzU0NGIwNGU4NjczLmpzIl0sIi8oY29tcG9uZW50cykvUGF5bWVudHMvUmVxdWVzdE1vbmV5IjpbcyxuLGMsZixlLGEsUCwic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUGF5bWVudHMvUmVxdWVzdE1vbmV5LTAwMTA4NDFkMWRjN2RmZTcuanMiXSwiLyhjb21wb25lbnRzKS9QYXltZW50cy9XYWl0aW5nQXBwcm92YWwiOltzLGYsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL1dhaXRpbmdBcHByb3ZhbC01OGIxZDljOWU5ZTJmY2RmLmpzIl0sIi8oY29tcG9uZW50cykvUGF5bWVudHMvV2FpdGluZ0RlcG9zaXQiOltzLGYsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1BheW1lbnRzL1dhaXRpbmdEZXBvc2l0LTM2MjRkYjZmODBmZTMzNzkuanMiXSwiLyhjb21wb25lbnRzKS9SZXF1aXJlQWRtaW4iOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvUmVxdWlyZUFkbWluLWY5YjE3ZmQ4ODNlNTNkOWIuanMiXSwiLyhjb21wb25lbnRzKS9SZXF1aXJlQXV0aCI6W3QsInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1JlcXVpcmVBdXRoLTUxZWJmYmUwYmNmNjkxNTcuanMiXSwiLyhjb21wb25lbnRzKS9TaWRlQmFyIjpbcyxuLGMsbyxpLG0sdSxkLHIsZSxhLCJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9TaWRlQmFyLWRhODM0NzZjZTNlYWQyNzAuanMiXSwiLyhjb21wb25lbnRzKS9TcGxpbmUiOlsic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvU3BsaW5lLTdlNjAxMGYxOWY3YjRlMDYuanMiXSwiLyhjb21wb25lbnRzKS9TcGxpbmUyIjpbInN0YXRpYy9jaHVua3MvcGFnZXMvKGNvbXBvbmVudHMpL1NwbGluZTItOGZhMjBlOWVjY2FlZjk5Mi5qcyJdLCIvKGNvbXBvbmVudHMpL1RyYW5zYWN0aW9uVGFibGUiOlt0LCJzdGF0aWMvY2h1bmtzL3BhZ2VzLyhjb21wb25lbnRzKS9UcmFuc2FjdGlvblRhYmxlLTFkOGU4N2ZmYmM5NDdmN2UuanMiXSwiLyhjb21wb25lbnRzKS9Vc2Vyc0NvbXBzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsaywic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvVXNlcnNDb21wcy1lZThjMmUwMTMwYjIwNGRkLmpzIl0sIi8oY29tcG9uZW50cykvV2l0aGRyYXdhbHMvQmFua1dpdGhkcmF3YWwiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvV2l0aGRyYXdhbHMvQmFua1dpdGhkcmF3YWwtOTRkMDQ5OWZhZjQ0YWFhZS5qcyJdLCIvKGNvbXBvbmVudHMpL1dpdGhkcmF3YWxzL1dpdGhkcmF3TW9uZXkiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvV2l0aGRyYXdhbHMvV2l0aGRyYXdNb25leS0yMzIwZWMyZDdlMDlmZDExLmpzIl0sIi8oY29tcG9uZW50cykvV2l0aGRyYXdhbHMvV2l0aGRyYXdhbEZvcm0iOltzLHQsdiwic3RhdGljL2NodW5rcy9wYWdlcy8oY29tcG9uZW50cykvV2l0aGRyYXdhbHMvV2l0aGRyYXdhbEZvcm0tZGFjZDlhZjYwNzE0Zjk2My5qcyJdLCIvQ2hhcnRXaWRnZXQiOlsic3RhdGljL2NodW5rcy9wYWdlcy9DaGFydFdpZGdldC1hNTgyMmU2ZGQxNGEwMWU1LmpzIl0sIi9DaGFydG9uZSI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzL0NoYXJ0b25lLWE0Mjc2MWZhNTYwMTQ4NjQuanMiXSwiL0hvbWVQYWdlIjpbZSxiLCJzdGF0aWMvY3NzL2M5ZGRkYWNkN2UzZWZmMWQuY3NzIiwic3RhdGljL2NodW5rcy81OTgzLTcxZWRiNWY4ODEwMWEyNjQuanMiLGEsaixsLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL0hvbWVQYWdlLWU2YmFhYzEzYzQwOGE2ZDAuanMiXSwiL1RyYWRpbmdWaWV3V2lkZ2V0IjpbInN0YXRpYy9jaHVua3MvcGFnZXMvVHJhZGluZ1ZpZXdXaWRnZXQtN2E2Y2U3OTQ2YjI2N2U2MS5qcyJdLCIvX2Vycm9yIjpbInN0YXRpYy9jaHVua3MvcGFnZXMvX2Vycm9yLTZkZGZmNDQ5ZDE5OTU3MmMuanMiXSwiL2FjY291bnQiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy9hY2NvdW50LTIxYjNkY2ZmMTM5ZmI2MWQuanMiXSwiL2FjdGl2ZUludmVzdG1lbnRzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWN0aXZlSW52ZXN0bWVudHMtODI5MjcxYjU3ZjBhZDA3Yy5qcyJdLCIvYWRtaW4vYWN0aXZlLWludmVzdG1lbnRzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vYWN0aXZlLWludmVzdG1lbnRzLTkxOTgzZjE5MzFiOWVkOGUuanMiXSwiL2FkbWluL2NyZWF0ZS1wbGFuIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vY3JlYXRlLXBsYW4tZGE5NzcxNWMzNGM3Y2Q4MC5qcyJdLCIvYWRtaW4vZGFzaGJvYXJkIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsaywic3RhdGljL2NodW5rcy9wYWdlcy9hZG1pbi9kYXNoYm9hcmQtNTlmYWQ5ZjdlNTlhZjU1Ny5qcyJdLCIvYWRtaW4vZGVwb3NpdCI6W3MsdCxuLGMsbyxpLG0sdSxkLHIscCxoLGUsYSxnLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2FkbWluL2RlcG9zaXQtNWRkYTEzMDQxMWJkOGE0ZS5qcyJdLCIvYWRtaW4vZGVwb3NpdC1oaXN0b3J5Ijpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vZGVwb3NpdC1oaXN0b3J5LWUxZDE2ZDk0MmY1M2E0ZmIuanMiXSwiL2FkbWluL2Vhcm5pbmdzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vZWFybmluZ3MtNzIzNTJlOTIxMjBiYjcxZC5qcyJdLCIvYWRtaW4vZWRpdC1iYWxhbmNlIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vZWRpdC1iYWxhbmNlLWE2NjIwNmZiYjczYjM0ZTQuanMiXSwiL2FkbWluL2ludmVzdG1lbnRzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vaW52ZXN0bWVudHMtY2EwNGI5MGYwZDY5MjZmZS5qcyJdLCIvYWRtaW4vbG9naW4iOltzLHQsZSwic3RhdGljL2NodW5rcy83NzAtYTJiNjYyNjc4Zjk0NDBmYi5qcyIsYSwic3RhdGljL2NodW5rcy9wYWdlcy9hZG1pbi9sb2dpbi1hZGZlNjQyZGUxMzczMzdmLmpzIl0sIi9hZG1pbi9wZW5kaW5nLWRlcG9zaXRzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vcGVuZGluZy1kZXBvc2l0cy1kNjJlMzIwMzJlODBhMDgzLmpzIl0sIi9hZG1pbi9wZW5kaW5nLWludmVzdG1lbnRzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vcGVuZGluZy1pbnZlc3RtZW50cy02ZWJlZjYwNjk4NDdlNzE2LmpzIl0sIi9hZG1pbi9wZW5kaW5nLXdpdGhkcmF3YWxzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vcGVuZGluZy13aXRoZHJhd2Fscy1jZTg3ZjM1NDg4OGY3ZDBhLmpzIl0sIi9hZG1pbi9wbGFucyI6W3MsdCxuLGMsbyxpLG0sdSxkLHIscCxoLGUsYSxnLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2FkbWluL3BsYW5zLWYyNDNhYTk2NDA1YTIxM2MuanMiXSwiL2FkbWluL3Byb2ZpbGUiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy9hZG1pbi9wcm9maWxlLTljZmJmZGIzNWFkNDBkMGEuanMiXSwiL2FkbWluL3JlZmVycmFscyI6W3MsdCxuLGMsbyxpLG0sdSxkLHIscCxoLGUsYSxnLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2FkbWluL3JlZmVycmFscy1jNzcxOWYyNzk0N2U5NmEyLmpzIl0sIi9hZG1pbi9zdXBwb3J0IjpbInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vc3VwcG9ydC01ZTFiMmNlOGE0MmZjNmRmLmpzIl0sIi9hZG1pbi90b3AtZWFybmluZ3MiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy9hZG1pbi90b3AtZWFybmluZ3MtZWQ4NTA2YzVmMzExNTRjMi5qcyJdLCIvYWRtaW4vdXNlclBheW1lbnRzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvYWRtaW4vdXNlclBheW1lbnRzLTZhZmQ0ZjFjZDhmMmY0NDkuanMiXSwiL2FkbWluL3VzZXJzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsaywic3RhdGljL2NodW5rcy9wYWdlcy9hZG1pbi91c2Vycy01YWNhZjMwNDU5OTM4M2E4LmpzIl0sIi9hZG1pbi93aXRoZHJhd2FsLWhpc3RvcnkiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy9hZG1pbi93aXRoZHJhd2FsLWhpc3RvcnktNDE2NWYyMDhlZTU3MDQ3YS5qcyJdLCIvYXV0aC8oY29tcG9uZW50cykvTW9kYWwiOlsic3RhdGljL2NodW5rcy9wYWdlcy9hdXRoLyhjb21wb25lbnRzKS9Nb2RhbC0zNTY2Y2VhNzVlYzE5NDUxLmpzIl0sIi9hdXRoL2ZvcmdvdF9wYXNzd29yZCI6W3MsdCxlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvYXV0aC9mb3Jnb3RfcGFzc3dvcmQtMTIyOGY3OTFhYzMwYWNmZC5qcyJdLCIvYXV0aC9sb2dpbiI6W3MsdCxlLGEseSwic3RhdGljL2NodW5rcy9wYWdlcy9hdXRoL2xvZ2luLTViMWJmYjE2MmY1ZGE1ZTguanMiXSwiL2F1dGgvbG9naW4yMiI6W3MsdCxlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvYXV0aC9sb2dpbjIyLTgwMTU0NGM0OTFmZjI1NzUuanMiXSwiL2F1dGgvbG9naW50ZXN0IjpbInN0YXRpYy9jaHVua3MvcGFnZXMvYXV0aC9sb2dpbnRlc3QtMGVlNzMzZWIzM2VmZTA3NC5qcyJdLCIvYXV0aC9yZWdpc3RlciI6W3MsdCxlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvYXV0aC9yZWdpc3Rlci0yNTFjZTRhY2UxOGUyMjljLmpzIl0sIi9hdXRoL3JlZ2lzdGVyMjIiOltzLHQsZSxhLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2F1dGgvcmVnaXN0ZXIyMi1iOTJmYjMxN2I4ZjNlODNmLmpzIl0sIi9hdXRoL3Jlc2V0X3Bhc3N3b3JkIjpbcyx0LHUscCxlLGEsInN0YXRpYy9jaHVua3MvcGFnZXMvYXV0aC9yZXNldF9wYXNzd29yZC1kOTZmNzYwNTYyY2ZlOTQ3LmpzIl0sIi9hdXRoL3ZlcmlmaWNhdGlvbiI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzL2F1dGgvdmVyaWZpY2F0aW9uLTIxYTRiMzkwZjFhMWYwZGIuanMiXSwiL2Rhc2hib2FyZCI6W3MsdCxuLGMsbyxpLG0sdSxkLHIscCxoLCJzdGF0aWMvY2h1bmtzLzBiMzA4Y2ZiLThiYzEyMzU5NmQzNjJmODIuanMiLGUsYixhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvZGFzaGJvYXJkLWY4MWVkZmQ3NzYwNWY5NTYuanMiXSwiL2RlcG9zaXQiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxmLGUsYSxnLFAsInN0YXRpYy9jaHVua3MvcGFnZXMvZGVwb3NpdC0zZDBmZGFjNjAwZWMyYzJhLmpzIl0sIi9lYXJuaW5ncyI6W3MsdCxuLGMsbyxpLG0sdSxkLHIscCxoLGUsYSxnLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2Vhcm5pbmdzLTVlNjliNDAxNjBmMzY2NDYuanMiXSwiL2VtYWlsVmVyaWZpY2F0aW9uIjpbcywic3RhdGljL2NodW5rcy9wYWdlcy9lbWFpbFZlcmlmaWNhdGlvbi1mMDUxZWU4MGRmYTc0NjJiLmpzIl0sIi9mYXEiOltpLGUsYiwic3RhdGljL2NodW5rcy81MjI3LTAzNWJhN2UxOTc3MTlhMjkuanMiLGEsaiwic3RhdGljL2NodW5rcy9wYWdlcy9mYXEtMTllYzUxNTdkMWFkOTg4YS5qcyJdLCIvaW52ZXN0bWVudHMiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy9pbnZlc3RtZW50cy0xNDlkZGEyMzFkYTMyYmIwLmpzIl0sIi9sYXlvdXRzL0FkbWluTGF5b3V0Ijpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvbGF5b3V0cy9BZG1pbkxheW91dC0yNmIxMmIzMTg0MGFmODUyLmpzIl0sIi9sYXlvdXRzL0Rhc2hib2FyZExheW91dCI6W3MsdCxuLGMsbyxpLG0sdSxkLHIscCxoLGUsYSxnLCJzdGF0aWMvY2h1bmtzL3BhZ2VzL2xheW91dHMvRGFzaGJvYXJkTGF5b3V0LTFmMWFlZmQ1NjQ0ODI3MTYuanMiXSwiL2xheW91dHMvTWFpbkxheW91dCI6W2UsYixhLGosInN0YXRpYy9jaHVua3MvcGFnZXMvbGF5b3V0cy9NYWluTGF5b3V0LTg5ZjRkYjc4YWVlODhhMDkuanMiXSwiL2xpdmVDaGFydHMiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy9saXZlQ2hhcnRzLWFkOGNhODE2OWQ1ZTNkOGUuanMiXSwiL2xvZ2luZGVtbzEyMzQ1NiI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzL2xvZ2luZGVtbzEyMzQ1Ni0wYzkxZTI0NDEzNzQyZWQxLmpzIl0sIi9sb2dpbnBhZ2VkZW1vMTIzNDU2Nzg5MCI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzL2xvZ2lucGFnZWRlbW8xMjM0NTY3ODkwLTMwNWE3YTM0NGQ2YjVmNGMuanMiXSwiL3BsYW5zIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvcGxhbnMtMTNkZDgxOGJhZjk1ZjY2Yy5qcyJdLCIvcHJvZmlsZSI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzL3Byb2ZpbGUtN2VlNmMxZGEzNzM3OGJiYi5qcyJdLCIvcmVmZXJyYWxzIjpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvcmVmZXJyYWxzLWNkY2IxZGY5YTI5ZmM0YWQuanMiXSwiL3JlZ2lzdGVyZGVtb3czNDU0MzIiOlsic3RhdGljL2NodW5rcy9wYWdlcy9yZWdpc3RlcmRlbW93MzQ1NDMyLTA1MjM0YmI2MjhkZTA0ZjcuanMiXSwiL3JlZ2lzdGVycGFnZWRlbW8xMjM0NTY3ODkwIjpbInN0YXRpYy9jaHVua3MvcGFnZXMvcmVnaXN0ZXJwYWdlZGVtbzEyMzQ1Njc4OTAtM2JiMDBlMDE1MTNmMDk5Yy5qcyJdLCIvcmVxdWVzdFdpdGhkcmF3YWwiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxmLGUsYSxnLHYsInN0YXRpYy9jaHVua3MvcGFnZXMvcmVxdWVzdFdpdGhkcmF3YWwtNDg4OWJkYmNhZGQzZTI1Ny5qcyJdLCIvdHJhbnNhY3Rpb25IaXN0b3J5Ijpbcyx0LG4sYyxvLGksbSx1LGQscixwLGgsZSxhLGcsInN0YXRpYy9jaHVua3MvcGFnZXMvdHJhbnNhY3Rpb25IaXN0b3J5LTdkYmNmMzcxOTZhNThhODcuanMiXSwiL3ZlcmlmeS1lbWFpbCI6WyJzdGF0aWMvY2h1bmtzL3BhZ2VzL3ZlcmlmeS1lbWFpbC05NDgyN2M2NTk0MjkxNWVjLmpzIl0sIi93aXRoZHJhd0hpc3RvcnkiOltzLHQsbixjLG8saSxtLHUsZCxyLHAsaCxlLGEsZywic3RhdGljL2NodW5rcy9wYWdlcy93aXRoZHJhd0hpc3RvcnktYjg0YjY5NDlkYmJiOThlMy5qcyJdLHNvcnRlZFBhZ2VzOlsiLyIsIi8oY29tcG9uZW50cykvQWRtaW5Gb290ZXIiLCIvKGNvbXBvbmVudHMpL0FkbWluSGVhZGVyIiwiLyhjb21wb25lbnRzKS9BZG1pblNJZGVCYXIiLCIvKGNvbXBvbmVudHMpL0NoYXJ0cyIsIi8oY29tcG9uZW50cykvRGFzaGJvYXJkSGVhZGVyIiwiLyhjb21wb25lbnRzKS9FcnJvckJvdW5kYXJ5IiwiLyhjb21wb25lbnRzKS9Gb290ZXIiLCIvKGNvbXBvbmVudHMpL0ludmVzdG1lbnRzL0NyeXB0b1NlbGVjdCIsIi8oY29tcG9uZW50cykvSW52ZXN0bWVudHMvSW52ZXN0bWVudFBsYW5zIiwiLyhjb21wb25lbnRzKS9JbnZlc3RtZW50cy9JbnZlc3RtZW50c0NvbmZpcm0iLCIvKGNvbXBvbmVudHMpL0ludmVzdG1lbnRzL1tpZF0iLCIvKGNvbXBvbmVudHMpL0xhdGVzdFRyYW5zYWN0aW9ucyIsIi8oY29tcG9uZW50cykvTmF2YmFyIiwiLyhjb21wb25lbnRzKS9QYXltZW50cy9Db3B5VG9DbGlwYm9hcmRCdXR0b24iLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXQiLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRDb25maXJtQnRjIiwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0Q29uZmlybVNPTCIsIi8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdENvbmZpcm1VU0RUIiwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0Q29uZmlybVdpcmVUcmFuc2ZlciIsIi8oY29tcG9uZW50cykvUGF5bWVudHMvRGVwb3NpdEZ1bmRzQ3J5cHRvIiwiLyhjb21wb25lbnRzKS9QYXltZW50cy9EZXBvc2l0RnVuZHNTT0wiLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRGdW5kc1VTRFQiLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL0RlcG9zaXRGdW5kc1dpcmVUcmFuc2ZlciIsIi8oY29tcG9uZW50cykvUGF5bWVudHMvTWFrZVBheW1lbnRCdGMiLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL01ha2VQYXltZW50U09MIiwiLyhjb21wb25lbnRzKS9QYXltZW50cy9NYWtlUGF5bWVudFVTRFQiLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL1BheW1lbnRJbnB1dCIsIi8oY29tcG9uZW50cykvUGF5bWVudHMvUmVxdWVzdE1vbmV5IiwiLyhjb21wb25lbnRzKS9QYXltZW50cy9XYWl0aW5nQXBwcm92YWwiLCIvKGNvbXBvbmVudHMpL1BheW1lbnRzL1dhaXRpbmdEZXBvc2l0IiwiLyhjb21wb25lbnRzKS9SZXF1aXJlQWRtaW4iLCIvKGNvbXBvbmVudHMpL1JlcXVpcmVBdXRoIiwiLyhjb21wb25lbnRzKS9TaWRlQmFyIiwiLyhjb21wb25lbnRzKS9TcGxpbmUiLCIvKGNvbXBvbmVudHMpL1NwbGluZTIiLCIvKGNvbXBvbmVudHMpL1RyYW5zYWN0aW9uVGFibGUiLCIvKGNvbXBvbmVudHMpL1VzZXJzQ29tcHMiLCIvKGNvbXBvbmVudHMpL1dpdGhkcmF3YWxzL0JhbmtXaXRoZHJhd2FsIiwiLyhjb21wb25lbnRzKS9XaXRoZHJhd2Fscy9XaXRoZHJhd01vbmV5IiwiLyhjb21wb25lbnRzKS9XaXRoZHJhd2Fscy9XaXRoZHJhd2FsRm9ybSIsIi9DaGFydFdpZGdldCIsIi9DaGFydG9uZSIsIi9Ib21lUGFnZSIsIi9UcmFkaW5nVmlld1dpZGdldCIsIi9fYXBwIiwiL19lcnJvciIsIi9hY2NvdW50IiwiL2FjdGl2ZUludmVzdG1lbnRzIiwiL2FkbWluL2FjdGl2ZS1pbnZlc3RtZW50cyIsIi9hZG1pbi9jcmVhdGUtcGxhbiIsIi9hZG1pbi9kYXNoYm9hcmQiLCIvYWRtaW4vZGVwb3NpdCIsIi9hZG1pbi9kZXBvc2l0LWhpc3RvcnkiLCIvYWRtaW4vZWFybmluZ3MiLCIvYWRtaW4vZWRpdC1iYWxhbmNlIiwiL2FkbWluL2ludmVzdG1lbnRzIiwiL2FkbWluL2xvZ2luIiwiL2FkbWluL3BlbmRpbmctZGVwb3NpdHMiLCIvYWRtaW4vcGVuZGluZy1pbnZlc3RtZW50cyIsIi9hZG1pbi9wZW5kaW5nLXdpdGhkcmF3YWxzIiwiL2FkbWluL3BsYW5zIiwiL2FkbWluL3Byb2ZpbGUiLCIvYWRtaW4vcmVmZXJyYWxzIiwiL2FkbWluL3N1cHBvcnQiLCIvYWRtaW4vdG9wLWVhcm5pbmdzIiwiL2FkbWluL3VzZXJQYXltZW50cyIsIi9hZG1pbi91c2VycyIsIi9hZG1pbi93aXRoZHJhd2FsLWhpc3RvcnkiLCIvYXV0aC8oY29tcG9uZW50cykvTW9kYWwiLCIvYXV0aC9mb3Jnb3RfcGFzc3dvcmQiLCIvYXV0aC9sb2dpbiIsIi9hdXRoL2xvZ2luMjIiLCIvYXV0aC9sb2dpbnRlc3QiLCIvYXV0aC9yZWdpc3RlciIsIi9hdXRoL3JlZ2lzdGVyMjIiLCIvYXV0aC9yZXNldF9wYXNzd29yZCIsIi9hdXRoL3ZlcmlmaWNhdGlvbiIsIi9kYXNoYm9hcmQiLCIvZGVwb3NpdCIsIi9lYXJuaW5ncyIsIi9lbWFpbFZlcmlmaWNhdGlvbiIsIi9mYXEiLCIvaW52ZXN0bWVudHMiLCIvbGF5b3V0cy9BZG1pbkxheW91dCIsIi9sYXlvdXRzL0Rhc2hib2FyZExheW91dCIsIi9sYXlvdXRzL01haW5MYXlvdXQiLCIvbGl2ZUNoYXJ0cyIsIi9sb2dpbmRlbW8xMjM0NTYiLCIvbG9naW5wYWdlZGVtbzEyMzQ1Njc4OTAiLCIvcGxhbnMiLCIvcHJvZmlsZSIsIi9yZWZlcnJhbHMiLCIvcmVnaXN0ZXJkZW1vdzM0NTQzMiIsIi9yZWdpc3RlcnBhZ2VkZW1vMTIzNDU2Nzg5MCIsIi9yZXF1ZXN0V2l0aGRyYXdhbCIsIi90cmFuc2FjdGlvbkhpc3RvcnkiLCIvdmVyaWZ5LWVtYWlsIiwiL3dpdGhkcmF3SGlzdG9yeSJdfX0oInN0YXRpYy9jaHVua3MvOThlYTdlYzItMTM0YzMxN2ZhNjU0M2VmNS5qcyIsInN0YXRpYy9jaHVua3MvNTY3NS0zNGRlYzM1ZGU4NWIyYTJmLmpzIiwic3RhdGljL2NodW5rcy83MjcxLTFjNmExNmRkZTI4N2ZjMTEuanMiLCJzdGF0aWMvY2h1bmtzLzFhNDhjM2MxLTMzMjRmMTI1ZmQxNGNlOTQuanMiLCJzdGF0aWMvY2h1bmtzLzFiZmM5ODUwLTMxOGMzMzBiYjdhMzE4YjYuanMiLCJzdGF0aWMvY2h1bmtzLzk1YjY0YTZlLWQ3OTAxZjBhYzBkZjA2NTEuanMiLCJzdGF0aWMvY2h1bmtzL2QwYzE2MzMwLTFkYjdiMjMyODE3MzhiM2YuanMiLCJzdGF0aWMvY2h1bmtzL2M3NzczMzI5LWY2NDllYjI5M2JjZDM3NmIuanMiLCJzdGF0aWMvY2h1bmtzL2Q2NDY4NGQ4LTFhZWEzMGExZWI4YjE4YWIuanMiLCJzdGF0aWMvY2h1bmtzLzI1MmYzNjZlLTc1NzQxNGU5OTEzMjgxZGQuanMiLCJzdGF0aWMvY2h1bmtzL2Q3ZWVhYWM0LTA2OGU5ODJjNTgxNTM5NDguanMiLCJzdGF0aWMvY2h1bmtzLzgxNGM2Nzg0LWVmNjQxNjA0NGU5MTZlNjAuanMiLCJzdGF0aWMvY2h1bmtzLzBjNDI4YWUyLTJkY2E5NzYzZTRiYjE5ZGMuanMiLCJzdGF0aWMvY2h1bmtzLzU0NWYzNGU0LWQxNzA5ZDM0ZGIzYzNmNzguanMiLCJzdGF0aWMvY2h1bmtzLzIyMjgtMmFiYjliNTk5MTk5ZWNhOS5qcyIsInN0YXRpYy9jaHVua3MvYWU1MWJhNDgtODAwYjdkZDU2YjY5YWU1Ny5qcyIsInN0YXRpYy9jaHVua3MvNDI5LTg0NmRmNjQ0YmM5ODdmNzcuanMiLCJzdGF0aWMvY2h1bmtzLzc3MDEtOWU1MWZmYjUyNWRiMTdiNi5qcyIsInN0YXRpYy9jaHVua3MvMzgyNS1lNzIwY2I4YWNmMGM5MzVkLmpzIiwic3RhdGljL2NodW5rcy81NjQyLTdkMmE5MGI1MjhlYmM2NWIuanMiLCJzdGF0aWMvY2h1bmtzLzc0MTUtZWViODViZTAxODczOGQyZi5qcyIsInN0YXRpYy9jaHVua3MvNTI2Ni02MzU5NzdiNmVhNmQ3MGM4LmpzIiwic3RhdGljL2NodW5rcy80NTY3LWE0OGQ0NGFmY2M2OWI2N2UuanMiKSxzZWxmLl9fQlVJTERfTUFOSUZFU1RfQ0ImJnNlbGYuX19CVUlMRF9NQU5JRkVTVF9DQigpOw=="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/z43dh2jj8Bkw_patjmqE0/_ssgManifest.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.618Z","timestamp":1785133562618,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/z43dh2jj8Bkw_patjmqE0/_ssgManifest.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"_ssgManifest.js\"\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"b6652df95db52feb4daf4eca35380933\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/z43dh2jj8Bkw_patjmqE0/_ssgManifest.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::nwvr5-1785133562623-361e9cb2c287\r\ncontent-length: 77\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":"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":77,"size_decoded":687,"mime_type":"application/javascript; charset=utf-8","magic":"ASCII text, with no line terminators","md5":"b6652df95db52feb4daf4eca35380933","sha1":"65451d110137761b318c82d9071c042db80c4036","sha256":"6f5b4aa00d2f8d6aed9935b471806bf7acef464d0c1d390260e5fe27f800c67e","sha512":"3390c5663ef9081885df8cdbc719f6c2f1597a4e25168529598097e9472608a4a62ec7f7e0bc400d22aac81bf6ea926532886e4dc6e4e272d3b588490a090473","ssdeep":"","tlshash":"98a001e0943cdc60aa63dd1c136413128fa05122651d28938afd3044c0301510300d90","first_seen":"2023-03-07T01:03:02Z","last_seen":"2026-07-30T06:21:46.373699Z","times_seen":249508,"resource_available":true,"data":"c2VsZi5fX1NTR19NQU5JRkVTVD1uZXcgU2V0LHNlbGYuX19TU0dfTUFOSUZFU1RfQ0ImJnNlbGYuX19TU0dfTUFOSUZFU1RfQ0IoKTs="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/5b01725cc9f7f93d66b5b3db72703a608cd6997f.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:09.549Z","timestamp":1785133569549,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/5b01725cc9f7f93d66b5b3db72703a608cd6997f.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:09 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"518-gNXm8R5AkSbBRgpfpQ3yplkZVrE\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1304,"size_decoded":935,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"e21ac02e52597769b57d5783a174131b","sha1":"80d5e6f11e409126c1460a5fa50df2a6591956b1","sha256":"24d99ec5c4ac16dd71be5510a5ac0467ff3facb96761916c40e5c86c6eccd697","sha512":"e3bc368af822154d3a04abc88165b47a44c9dcd9beac5d3c8c0a4154112730b4021db6af544b2582a109b8f2506a0aec2b4e43690c3a0b4723724379be3b7e7f","ssdeep":"","tlshash":"de219a6d896822fd5289c7d6c504ba036fbddcb371007e7eea0d190d70db2e921764ab","first_seen":"2026-07-27T03:07:35.256635Z","last_seen":"2026-07-27T06:26:35.987968Z","times_seen":2,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6IiMyMjhmZmYiLCJjb2xvckdyYWRpZW50Ijp0cnVlLCJjb25zZW50TW9kZUVuYWJsZWQiOmZhbHNlLCJjcm9zc0RvbWFpbkVuYWJsZWQiOmZhbHNlLCJjdXN0b21CcmFuZGluZ0VuYWJsZWQiOmZhbHNlLCJjdXN0b21CcmFuZGluZ0xpbmsiOiIiLCJjdXN0b21CcmFuZGluZ1RleHQiOiIiLCJlbWFpbENvbnRyb2wiOnRydWUsImZlYXR1cmVzIjp7ImFwaSI6ZmFsc2UsImN1c3RvbWl6ZSI6ZmFsc2UsImdhIjpmYWxzZSwiZ3JvdXBzIjpmYWxzZSwicmF0aW5nIjpmYWxzZSwid2hpdGVMYWJlbCI6ZmFsc2V9LCJnb29nbGVBbmFseXRpY3NFbmFibGVkIjpmYWxzZSwiZ29vZ2xlQW5hbHl0aWNzTWFudWFsIjpmYWxzZSwiZ29vZ2xlQW5hbHl0aWNzTWVhc3VyZW1lbnRJZHMiOltdLCJncm91cFNlbGVjdEVuYWJsZWQiOmZhbHNlLCJoZWFkZXJTdHlsZSI6InN0YW5kYXJkIiwiaGlkZU9mZmxpbmVDaGF0IjpmYWxzZSwiaGlkZVdpZGdldCI6ZmFsc2UsImhvc3QiOiJ3ZWJzb2NrZXQtdmlzaXRvcnMuc21hcnRzdXBwLmNvbSIsImludGVybmFsQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImlzQmxvY2tlZCI6ZmFsc2UsImxhbmciOiJlbiIsIm1vYmlsZVBvcHVwc0VuYWJsZWQiOnRydWUsIm5hbWVDb250cm9sIjp0cnVlLCJudW1iZXJDb250cm9sIjpmYWxzZSwib3Blbk9uVHJpZ2dlciI6ZmFsc2UsIm9yaWVudGF0aW9uIjoicmlnaHQiLCJwYWNrYWdlTmFtZSI6ImZyZWUiLCJwb3B1cFRleHRhcmVhRW5hYmxlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VDaGVja1JlcXVpcmVkIjpmYWxzZSwicHJpdmFjeU5vdGljZUVuYWJsZWQiOnRydWUsInByaXZhY3lOb3RpY2VVcmwiOiIiLCJyYXRpbmdFbmFibGVkIjpmYWxzZSwicmVxdWlyZUxvZ2luIjpmYWxzZSwidHJhbnNsYXRlcyI6eyJlbiI6eyJzdGF0dXNCYXIub25saW5lVGV4dCI6IkhlcmUgdG8gaGVscCAiLCJ0b3BCYXIub25saW5lLmhlbGxvIjoiT2xpdmlhIn19LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":76,"timings":{"blocked":0,"dns":3,"connect":21,"send":0,"wait":25,"receive":0,"ssl":26},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/webpack-5bcdd8f7455b7410.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.422Z","timestamp":1785133562422,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/webpack-5bcdd8f7455b7410.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"webpack-5bcdd8f7455b7410.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"b0c0d99673acfc34ee2ce78da9b7dd22\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/webpack-5bcdd8f7455b7410.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::nwvr5-1785133562426-a912a697c42d\r\ncontent-length: 2115\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":"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":4288,"size_decoded":2758,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3849)","md5":"24368eff7c59d544581566d103beadb8","sha1":"d2a046c1a8e13a53f2cb11ec0ca85182e6f5ca7d","sha256":"4ef7742cfffb9c3ea27085c11aba6454e099734967bfc42271f5f6d34c2b5d1f","sha512":"ae9b9fe6992283dfc773c71bed6f698f3349a133ff28a1786b623fe913ccf4d283c683123f945a47cf81736a497d19d9c31cd167ad0c907c8e24738cc4e9ce7f","ssdeep":"96:cMyYE1q9WlR3zMka20VGL6VLW56l2WRZBLfYysP6pZxzq:cz1mWlNtajUmYyR7NsyLxzq","tlshash":"299195ed3161f879178360e1403fe556f23f28b2295ee4a0da1dd8f5fc74a498522fa8","first_seen":"2026-07-27T03:07:35.230203Z","last_seen":"2026-07-27T06:26:35.989671Z","times_seen":2,"resource_available":true,"data":"IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlLHQsbixyLG8sdSxpLGMsZixhPXt9LGw9e307ZnVuY3Rpb24gZChlKXt2YXIgdD1sW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgbj1sW2VdPXtleHBvcnRzOnt9fSxyPSEwO3RyeXthW2VdLmNhbGwobi5leHBvcnRzLG4sbi5leHBvcnRzLGQpLHI9ITF9ZmluYWxseXtyJiZkZWxldGUgbFtlXX1yZXR1cm4gbi5leHBvcnRzfWQubT1hLGU9W10sZC5PPWZ1bmN0aW9uKHQsbixyLG8pe2lmKG4pe289b3x8MDtmb3IodmFyIHU9ZS5sZW5ndGg7dT4wJiZlW3UtMV1bMl0+bzt1LS0pZVt1XT1lW3UtMV07ZVt1XT1bbixyLG9dO3JldHVybn1mb3IodmFyIGk9MS8wLHU9MDt1PGUubGVuZ3RoO3UrKyl7Zm9yKHZhciBuPWVbdV1bMF0scj1lW3VdWzFdLG89ZVt1XVsyXSxjPSEwLGY9MDtmPG4ubGVuZ3RoO2YrKylpPj1vJiZPYmplY3Qua2V5cyhkLk8pLmV2ZXJ5KGZ1bmN0aW9uKGUpe3JldHVybiBkLk9bZV0obltmXSl9KT9uLnNwbGljZShmLS0sMSk6KGM9ITEsbzxpJiYoaT1vKSk7aWYoYyl7ZS5zcGxpY2UodS0tLDEpO3ZhciBhPXIoKTt2b2lkIDAhPT1hJiYodD1hKX19cmV0dXJuIHR9LGQubj1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gZS5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiBlfTtyZXR1cm4gZC5kKHQse2E6dH0pLHR9LG49T2JqZWN0LmdldFByb3RvdHlwZU9mP2Z1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSl9OmZ1bmN0aW9uKGUpe3JldHVybiBlLl9fcHJvdG9fX30sZC50PWZ1bmN0aW9uKGUscil7aWYoMSZyJiYoZT10aGlzKGUpKSw4JnJ8fCJvYmplY3QiPT10eXBlb2YgZSYmZSYmKDQmciYmZS5fX2VzTW9kdWxlfHwxNiZyJiYiZnVuY3Rpb24iPT10eXBlb2YgZS50aGVuKSlyZXR1cm4gZTt2YXIgbz1PYmplY3QuY3JlYXRlKG51bGwpO2QucihvKTt2YXIgdT17fTt0PXR8fFtudWxsLG4oe30pLG4oW10pLG4obildO2Zvcih2YXIgaT0yJnImJmU7Im9iamVjdCI9PXR5cGVvZiBpJiYhfnQuaW5kZXhPZihpKTtpPW4oaSkpT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaSkuZm9yRWFjaChmdW5jdGlvbih0KXt1W3RdPWZ1bmN0aW9uKCl7cmV0dXJuIGVbdF19fSk7cmV0dXJuIHUuZGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBlfSxkLmQobyx1KSxvfSxkLmQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdClkLm8odCxuKSYmIWQubyhlLG4pJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOiEwLGdldDp0W25dfSl9LGQuZj17fSxkLmU9ZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKGQuZikucmVkdWNlKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGQuZltuXShlLHQpLHR9LFtdKSl9LGQudT1mdW5jdGlvbihlKXtyZXR1cm4ic3RhdGljL2NodW5rcy8iKyg5OTMyPT09ZT8iNTZkYTU4ZGMiOmUpKyIuIisoezI3MTE6ImE3MjQyM2I1ZWZmYTYzMzIiLDcyMjk6ImFmNzY5MTI5ZjAwMTZmNDEiLDk5MzI6IjM3YWJlOWM0ZGM0NjFhZmMifSlbZV0rIi5qcyJ9LGQubWluaUNzc0Y9ZnVuY3Rpb24oZSl7fSxkLmc9ZnVuY3Rpb24oKXtpZigib2JqZWN0Ij09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLGQubz1mdW5jdGlvbihlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX0scj17fSxvPSJfTl9FOiIsZC5sPWZ1bmN0aW9uKGUsdCxuLHUpe2lmKHJbZV0pe3JbZV0ucHVzaCh0KTtyZXR1cm59aWYodm9pZCAwIT09bilmb3IodmFyIGksYyxmPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSxhPTA7YTxmLmxlbmd0aDthKyspe3ZhciBsPWZbYV07aWYobC5nZXRBdHRyaWJ1dGUoInNyYyIpPT1lfHxsLmdldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIik9PW8rbil7aT1sO2JyZWFrfX1pfHwoYz0hMCwoaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSkuY2hhcnNldD0idXRmLTgiLGkudGltZW91dD0xMjAsZC5uYyYmaS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixkLm5jKSxpLnNldEF0dHJpYnV0ZSgiZGF0YS13ZWJwYWNrIixvK24pLGkuc3JjPWQudHUoZSkpLHJbZV09W3RdO3ZhciBzPWZ1bmN0aW9uKHQsbil7aS5vbmVycm9yPWkub25sb2FkPW51bGwsY2xlYXJUaW1lb3V0KHApO3ZhciBvPXJbZV07aWYoZGVsZXRlIHJbZV0saS5wYXJlbnROb2RlJiZpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksbyYmby5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKG4pfSksdClyZXR1cm4gdChuKX0scD1zZXRUaW1lb3V0KHMuYmluZChudWxsLHZvaWQgMCx7dHlwZToidGltZW91dCIsdGFyZ2V0Oml9KSwxMmU0KTtpLm9uZXJyb3I9cy5iaW5kKG51bGwsaS5vbmVycm9yKSxpLm9ubG9hZD1zLmJpbmQobnVsbCxpLm9ubG9hZCksYyYmZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpKX0sZC5yPWZ1bmN0aW9uKGUpeyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LGQudHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dSYmKHU9e2NyZWF0ZVNjcmlwdFVSTDpmdW5jdGlvbihlKXtyZXR1cm4gZX19LCJ1bmRlZmluZWQiIT10eXBlb2YgdHJ1c3RlZFR5cGVzJiZ0cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5JiYodT10cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KCJuZXh0anMjYnVuZGxlciIsdSkpKSx1fSxkLnR1PWZ1bmN0aW9uKGUpe3JldHVybiBkLnR0KCkuY3JlYXRlU2NyaXB0VVJMKGUpfSxkLnA9Ii9fbmV4dC8iLGk9ezIyNzI6MH0sZC5mLmo9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kLm8oaSxlKT9pW2VdOnZvaWQgMDtpZigwIT09bil7aWYobil0LnB1c2goblsyXSk7ZWxzZSBpZigyMjcyIT1lKXt2YXIgcj1uZXcgUHJvbWlzZShmdW5jdGlvbih0LHIpe249aVtlXT1bdCxyXX0pO3QucHVzaChuWzJdPXIpO3ZhciBvPWQucCtkLnUoZSksdT1FcnJvcigpO2QubChvLGZ1bmN0aW9uKHQpe2lmKGQubyhpLGUpJiYoMCE9PShuPWlbZV0pJiYoaVtlXT12b2lkIDApLG4pKXt2YXIgcj10JiYoImxvYWQiPT09dC50eXBlPyJtaXNzaW5nIjp0LnR5cGUpLG89dCYmdC50YXJnZXQmJnQudGFyZ2V0LnNyYzt1Lm1lc3NhZ2U9IkxvYWRpbmcgY2h1bmsgIitlKyIgZmFpbGVkLlxuKCIrcisiOiAiK28rIikiLHUubmFtZT0iQ2h1bmtMb2FkRXJyb3IiLHUudHlwZT1yLHUucmVxdWVzdD1vLG5bMV0odSl9fSwiY2h1bmstIitlLGUpfWVsc2UgaVtlXT0wfX0sZC5PLmo9ZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1pW2VdfSxjPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixvPXRbMF0sdT10WzFdLGM9dFsyXSxmPTA7aWYoby5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiAwIT09aVtlXX0pKXtmb3IobiBpbiB1KWQubyh1LG4pJiYoZC5tW25dPXVbbl0pO2lmKGMpdmFyIGE9YyhkKX1mb3IoZSYmZSh0KTtmPG8ubGVuZ3RoO2YrKylyPW9bZl0sZC5vKGkscikmJmlbcl0mJmlbcl1bMF0oKSxpW3JdPTA7cmV0dXJuIGQuTyhhKX0sKGY9c2VsZi53ZWJwYWNrQ2h1bmtfTl9FPXNlbGYud2VicGFja0NodW5rX05fRXx8W10pLmZvckVhY2goYy5iaW5kKG51bGwsMCkpLGYucHVzaD1jLmJpbmQobnVsbCxmLnB1c2guYmluZChmKSl9KCk7CjsoZnVuY3Rpb24oKXtpZih0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8IS8oPzpefDtccylfX3ZlcmNlbF90b29sYmFyPTEoPzo7fCQpLy50ZXN0KGRvY3VtZW50LmNvb2tpZSkpcmV0dXJuO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3Muc3JjPSdodHRwczovL3ZlcmNlbC5saXZlL19uZXh0LWxpdmUvZmVlZGJhY2svZmVlZGJhY2suanMnO3Muc2V0QXR0cmlidXRlKCJkYXRhLWV4cGxpY2l0LW9wdC1pbiIsInRydWUiKTtzLnNldEF0dHJpYnV0ZSgiZGF0YS1jb29raWUtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWRlcGxveW1lbnQtaWQiLCJkcGxfQ1g2TlJkSnRzWUJVVk1QQk5ZYm8xcnpNS0w0TiIpOygoZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChzKSl9KSgpOw=="}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/1a48c3c1-3324f125fd14ce94.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.433Z","timestamp":1785133562433,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/1a48c3c1-3324f125fd14ce94.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"1a48c3c1-3324f125fd14ce94.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"e901c81814f485667d763619ecc2f1f6\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/1a48c3c1-3324f125fd14ce94.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xpp6v-1785133562437-dc32ded5c9bb\r\ncontent-length: 895\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":"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":2345,"size_decoded":1539,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2345), with no line terminators","md5":"da76065e39cb78bfee31241b047bfbc0","sha1":"dfb8c1e0ac6d862107e1f58941e33ddb713c015d","sha256":"3a546cebff1dc3f388448b6fdf84e1161e205f0a3b2a077c991bc59b42c5e812","sha512":"3c3ff00751d3e1857ac5c733b3028d87a0992487a8df71f8e53bd3dc813be9c39f67ed902fdb71f22a32198736cba44d665f76bd6daccfac08faebcb965cca4c","ssdeep":"","tlshash":"d74121c362a8a50c45c62c70d797a417b35e2a7f374791581b2ecac980e3c69f413caf","first_seen":"2026-07-27T03:07:35.324964Z","last_seen":"2026-07-27T06:26:35.991592Z","times_seen":2,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua19OX0U9c2VsZi53ZWJwYWNrQ2h1bmtfTl9FfHxbXSkucHVzaChbWzM4NzRdLHs2NDc0OTpmdW5jdGlvbih0LGMscil7ci5kKGMse0E3djpmdW5jdGlvbigpe3JldHVybiB1fSxFJFE6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sRURqOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LFlpWDpmdW5jdGlvbigpe3JldHVybiBufSxuSjk6ZnVuY3Rpb24oKXtyZXR1cm4gaX19KTt2YXIgYT1yKDU2NzcxKTtmdW5jdGlvbiBuKHQpe3JldHVybigwLGEud18pKHt0YWc6InN2ZyIsYXR0cjp7dmlld0JveDoiMCAwIDI0IDI0In0sY2hpbGQ6W3t0YWc6InBhdGgiLGF0dHI6e2Q6Ik0yMSAxMUg2LjQxNGw1LjI5My01LjI5My0xLjQxNC0xLjQxNEwyLjU4NiAxMmw3LjcwNyA3LjcwNyAxLjQxNC0xLjQxNEw2LjQxNCAxM0gyMXoifX1dfSkodCl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4oMCxhLndfKSh7dGFnOiJzdmciLGF0dHI6e3ZpZXdCb3g6IjAgMCAyNCAyNCJ9LGNoaWxkOlt7dGFnOiJwYXRoIixhdHRyOntkOiJNMTIgMTljLjk0NiAwIDEuODEtLjEwMyAyLjU5OC0uMjgxbC0xLjc1Ny0xLjc1N2MtLjI3My4wMjEtLjU1LjAzOC0uODQxLjAzOC01LjM1MSAwLTcuNDI0LTMuODQ2LTcuOTI2LTVhOC42NDIgOC42NDIgMCAwIDEgMS41MDgtMi4yOTdMNC4xODQgOC4zMDVjLTEuNTM4IDEuNjY3LTIuMTIxIDMuMzQ2LTIuMTMyIDMuMzc5YS45OTQuOTk0IDAgMCAwIDAgLjYzM0MyLjA3MyAxMi4zODMgNC4zNjcgMTkgMTIgMTl6bTAtMTRjLTEuODM3IDAtMy4zNDYuMzk2LTQuNjA0Ljk4MUwzLjcwNyAyLjI5MyAyLjI5MyAzLjcwN2wxOCAxOCAxLjQxNC0xLjQxNC0zLjMxOS0zLjMxOWMyLjYxNC0xLjk1MSAzLjU0Ny00LjYxNSAzLjU2MS00LjY1N2EuOTk0Ljk5NCAwIDAgMCAwLS42MzNDMjEuOTI3IDExLjYxNyAxOS42MzMgNSAxMiA1em00Ljk3MiAxMC41NTgtMi4yOC0yLjI4Yy4xOS0uMzkuMzA4LS44MTkuMzA4LTEuMjc4IDAtMS42NDEtMS4zNTktMy0zLTMtLjQ1OSAwLS44ODguMTE4LTEuMjc3LjMwOUw4LjkxNSA3LjUwMUE5LjI2IDkuMjYgMCAwIDEgMTIgN2M1LjM1MSAwIDcuNDI0IDMuODQ2IDcuOTI2IDUtLjMwMi42OTItMS4xNjYgMi4zNDItMi45NTQgMy41NTh6In19XX0pKHQpfWZ1bmN0aW9uIGUodCl7cmV0dXJuKDAsYS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQifSxjaGlsZDpbe3RhZzoiY2lyY2xlIixhdHRyOntjeDoiMTIiLGN5OiIyMCIscjoiMiJ9fSx7dGFnOiJjaXJjbGUiLGF0dHI6e2N4OiIxMiIsY3k6IjQiLHI6IjIifX0se3RhZzoiY2lyY2xlIixhdHRyOntjeDoiNi4zNDMiLGN5OiIxNy42NTciLHI6IjIifX0se3RhZzoiY2lyY2xlIixhdHRyOntjeDoiMTcuNjU3IixjeToiNi4zNDMiLHI6IjIifX0se3RhZzoiY2lyY2xlIixhdHRyOntjeDoiNCIsY3k6IjEyIixyOiIyLjAwMSJ9fSx7dGFnOiJjaXJjbGUiLGF0dHI6e2N4OiIyMCIsY3k6IjEyIixyOiIyIn19LHt0YWc6ImNpcmNsZSIsYXR0cjp7Y3g6IjYuMzQzIixjeToiNi4zNDQiLHI6IjIifX0se3RhZzoiY2lyY2xlIixhdHRyOntjeDoiMTcuNjU3IixjeToiMTcuNjU4IixyOiIyIn19XX0pKHQpfWZ1bmN0aW9uIHUodCl7cmV0dXJuKDAsYS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQifSxjaGlsZDpbe3RhZzoicGF0aCIsYXR0cjp7ZDoiTTEyIDlhMy4wMiAzLjAyIDAgMCAwLTMgM2MwIDEuNjQyIDEuMzU4IDMgMyAzIDEuNjQxIDAgMy0xLjM1OCAzLTMgMC0xLjY0MS0xLjM1OS0zLTMtM3oifX0se3RhZzoicGF0aCIsYXR0cjp7ZDoiTTEyIDVjLTcuNjMzIDAtOS45MjcgNi42MTctOS45NDggNi42ODRMMS45NDYgMTJsLjEwNS4zMTZDMi4wNzMgMTIuMzgzIDQuMzY3IDE5IDEyIDE5czkuOTI3LTYuNjE3IDkuOTQ4LTYuNjg0bC4xMDYtLjMxNi0uMTA1LS4zMTZDMjEuOTI3IDExLjYxNyAxOS42MzMgNSAxMiA1em0wIDEyYy01LjM1MSAwLTcuNDI0LTMuODQ2LTcuOTI2LTVDNC41NzggMTAuODQyIDYuNjUyIDcgMTIgN2M1LjM1MSAwIDcuNDI0IDMuODQ2IDcuOTI2IDUtLjUwNCAxLjE1OC0yLjU3OCA1LTcuOTI2IDV6In19XX0pKHQpfWZ1bmN0aW9uIGcodCl7cmV0dXJuKDAsYS53Xykoe3RhZzoic3ZnIixhdHRyOnt2aWV3Qm94OiIwIDAgMjQgMjQifSxjaGlsZDpbe3RhZzoicGF0aCIsYXR0cjp7ZDoiTTEyIDJhNSA1IDAgMSAwIDUgNSA1IDUgMCAwIDAtNS01em0wIDhhMyAzIDAgMSAxIDMtMyAzIDMgMCAwIDEtMyAzem05IDExdi0xYTcgNyAwIDAgMC03LTdoLTRhNyA3IDAgMCAwLTcgN3YxaDJ2LTFhNSA1IDAgMCAxIDUtNWg0YTUgNSAwIDAgMSA1IDV2MXoifX1dfSkodCl9fX1dKTs="}},"time_used":16,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/chunks/5675-34dec35de85b2a2f.js","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.434Z","timestamp":1785133562434,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/chunks/5675-34dec35de85b2a2f.js HTTP/1.1\r\nHost: app.blockinv.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12167\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"5675-34dec35de85b2a2f.js\"\r\ncontent-encoding: br\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"a294fc16e597c903dbee6ea682bdd482\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:15 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/chunks/5675-34dec35de85b2a2f.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::pkj6c-1785133562438-d98151baddf7\r\ncontent-length: 4133\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":"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":9552,"size_decoded":4770,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (9552), with no line terminators","md5":"2324f109405610d89368ab107eff65fa","sha1":"3e6cbea95dc5bc0e4df451103971b0f42bf3d4e9","sha256":"f4bd36f1450c8c741ca70ce929ccc65826c8878e0c722b85eec853cf956a9e9c","sha512":"12f27d044ae2864ce4a5570721a87f2be4cf2eef13f86137a46344b0fef8b05ee91c51d03e71893d5c82dadbe1b970a16d6acd93bfbdac39687d6bd1c737dfed","ssdeep":"192:KPXKacUq+1OJKA/SVqF9L2BjBwjLjvFmKmmTy2a/97HRFdl8fQKY:OaaPq+oA0FGqLTy95yfY","tlshash":"bd12197736d9fcda230b81e4982f040ef7b919b1672af0407be489c49970954b162f7e","first_seen":"2025-02-27T14:50:10.134925Z","last_seen":"2026-07-27T06:26:35.993169Z","times_seen":154,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rX05fRT1zZWxmLndlYnBhY2tDaHVua19OX0V8fFtdKS5wdXNoKFtbNTY3NV0sezc0MDgwOmZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJJbWFnZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHd9fSk7bGV0IHI9aSgzODc1NCksbz1pKDYxNzU3KSxuPWkoODU4OTMpLHM9by5fKGkoNjcyOTQpKSxsPXIuXyhpKDczOTM1KSksYT1yLl8oaSgyMzg2NykpLHU9aSgzNTI4MyksZD1pKDk2NTk0KSxjPWkoMjM5NDUpO2koODMxNzkpO2xldCBmPWkoODE5MjgpLGc9ci5fKGkoMTM4NzIpKSxwPXtkZXZpY2VTaXplczpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSxpbWFnZVNpemVzOlsxNiwzMiw0OCw2NCw5NiwxMjgsMjU2LDM4NF0scGF0aDoiL19uZXh0L2ltYWdlIixsb2FkZXI6ImRlZmF1bHQiLGRhbmdlcm91c2x5QWxsb3dTVkc6ITEsdW5vcHRpbWl6ZWQ6ITF9O2Z1bmN0aW9uIG0oZSx0LGkscixvLG4scyl7bGV0IGw9bnVsbD09ZT92b2lkIDA6ZS5zcmM7ZSYmZVsiZGF0YS1sb2FkZWQtc3JjIl0hPT1sJiYoZVsiZGF0YS1sb2FkZWQtc3JjIl09bCwoImRlY29kZSJpbiBlP2UuZGVjb2RlKCk6UHJvbWlzZS5yZXNvbHZlKCkpLmNhdGNoKCgpPT57fSkudGhlbigoKT0+e2lmKGUucGFyZW50RWxlbWVudCYmZS5pc0Nvbm5lY3RlZCl7aWYoImVtcHR5IiE9PXQmJm8oITApLG51bGw9PWk/dm9pZCAwOmkuY3VycmVudCl7bGV0IHQ9bmV3IEV2ZW50KCJsb2FkIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInRhcmdldCIse3dyaXRhYmxlOiExLHZhbHVlOmV9KTtsZXQgcj0hMSxvPSExO2kuY3VycmVudCh7Li4udCxuYXRpdmVFdmVudDp0LGN1cnJlbnRUYXJnZXQ6ZSx0YXJnZXQ6ZSxpc0RlZmF1bHRQcmV2ZW50ZWQ6KCk9PnIsaXNQcm9wYWdhdGlvblN0b3BwZWQ6KCk9Pm8scGVyc2lzdDooKT0+e30scHJldmVudERlZmF1bHQ6KCk9PntyPSEwLHQucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOigpPT57bz0hMCx0LnN0b3BQcm9wYWdhdGlvbigpfX0pfShudWxsPT1yP3ZvaWQgMDpyLmN1cnJlbnQpJiZyLmN1cnJlbnQoZSl9fSkpfWZ1bmN0aW9uIGgoZSl7cmV0dXJuIHMudXNlP3tmZXRjaFByaW9yaXR5OmV9OntmZXRjaHByaW9yaXR5OmV9fWxldCB2PSgwLHMuZm9yd2FyZFJlZikoKGUsdCk9PntsZXR7c3JjOmksc3JjU2V0OnIsc2l6ZXM6byxoZWlnaHQ6bCx3aWR0aDphLGRlY29kaW5nOnUsY2xhc3NOYW1lOmQsc3R5bGU6YyxmZXRjaFByaW9yaXR5OmYscGxhY2Vob2xkZXI6Zyxsb2FkaW5nOnAsdW5vcHRpbWl6ZWQ6dixmaWxsOmIsb25Mb2FkUmVmOncsb25Mb2FkaW5nQ29tcGxldGVSZWY6eSxzZXRCbHVyQ29tcGxldGU6UyxzZXRTaG93QWx0VGV4dDpfLHNpemVzSW5wdXQ6aixvbkxvYWQ6eCxvbkVycm9yOkMsLi4uen09ZTtyZXR1cm4oMCxuLmpzeCkoImltZyIsey4uLnosLi4uaChmKSxsb2FkaW5nOnAsd2lkdGg6YSxoZWlnaHQ6bCxkZWNvZGluZzp1LCJkYXRhLW5pbWciOmI/ImZpbGwiOiIxIixjbGFzc05hbWU6ZCxzdHlsZTpjLHNpemVzOm8sc3JjU2V0OnIsc3JjOmkscmVmOigwLHMudXNlQ2FsbGJhY2spKGU9Pnt0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKToib2JqZWN0Ij09dHlwZW9mIHQmJih0LmN1cnJlbnQ9ZSkpLGUmJihDJiYoZS5zcmM9ZS5zcmMpLGUuY29tcGxldGUmJm0oZSxnLHcseSxTLHYsaikpfSxbaSxnLHcseSxTLEMsdixqLHRdKSxvbkxvYWQ6ZT0+e20oZS5jdXJyZW50VGFyZ2V0LGcsdyx5LFMsdixqKX0sb25FcnJvcjplPT57XyghMCksImVtcHR5IiE9PWcmJlMoITApLEMmJkMoZSl9fSl9KTtmdW5jdGlvbiBiKGUpe2xldHtpc0FwcFJvdXRlcjp0LGltZ0F0dHJpYnV0ZXM6aX09ZSxyPXthczoiaW1hZ2UiLGltYWdlU3JjU2V0Omkuc3JjU2V0LGltYWdlU2l6ZXM6aS5zaXplcyxjcm9zc09yaWdpbjppLmNyb3NzT3JpZ2luLHJlZmVycmVyUG9saWN5OmkucmVmZXJyZXJQb2xpY3ksLi4uaChpLmZldGNoUHJpb3JpdHkpfTtyZXR1cm4gdCYmbC5kZWZhdWx0LnByZWxvYWQ/KGwuZGVmYXVsdC5wcmVsb2FkKGkuc3JjLHIpLG51bGwpOigwLG4uanN4KShhLmRlZmF1bHQse2NoaWxkcmVuOigwLG4uanN4KSgibGluayIse3JlbDoicHJlbG9hZCIsaHJlZjppLnNyY1NldD92b2lkIDA6aS5zcmMsLi4ucn0sIl9fbmltZy0iK2kuc3JjK2kuc3JjU2V0K2kuc2l6ZXMpfSl9bGV0IHc9KDAscy5mb3J3YXJkUmVmKSgoZSx0KT0+e2xldCBpPSgwLHMudXNlQ29udGV4dCkoZi5Sb3V0ZXJDb250ZXh0KSxyPSgwLHMudXNlQ29udGV4dCkoYy5JbWFnZUNvbmZpZ0NvbnRleHQpLG89KDAscy51c2VNZW1vKSgoKT0+e3ZhciBlO2xldCB0PXB8fHJ8fGQuaW1hZ2VDb25maWdEZWZhdWx0LGk9Wy4uLnQuZGV2aWNlU2l6ZXMsLi4udC5pbWFnZVNpemVzXS5zb3J0KChlLHQpPT5lLXQpLG89dC5kZXZpY2VTaXplcy5zb3J0KChlLHQpPT5lLXQpLG49bnVsbD09KGU9dC5xdWFsaXRpZXMpP3ZvaWQgMDplLnNvcnQoKGUsdCk9PmUtdCk7cmV0dXJuey4uLnQsYWxsU2l6ZXM6aSxkZXZpY2VTaXplczpvLHF1YWxpdGllczpufX0sW3JdKSx7b25Mb2FkOmwsb25Mb2FkaW5nQ29tcGxldGU6YX09ZSxtPSgwLHMudXNlUmVmKShsKTsoMCxzLnVzZUVmZmVjdCkoKCk9PnttLmN1cnJlbnQ9bH0sW2xdKTtsZXQgaD0oMCxzLnVzZVJlZikoYSk7KDAscy51c2VFZmZlY3QpKCgpPT57aC5jdXJyZW50PWF9LFthXSk7bGV0W3cseV09KDAscy51c2VTdGF0ZSkoITEpLFtTLF9dPSgwLHMudXNlU3RhdGUpKCExKSx7cHJvcHM6aixtZXRhOnh9PSgwLHUuZ2V0SW1nUHJvcHMpKGUse2RlZmF1bHRMb2FkZXI6Zy5kZWZhdWx0LGltZ0NvbmY6byxibHVyQ29tcGxldGU6dyxzaG93QWx0VGV4dDpTfSk7cmV0dXJuKDAsbi5qc3hzKShuLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsbi5qc3gpKHYsey4uLmosdW5vcHRpbWl6ZWQ6eC51bm9wdGltaXplZCxwbGFjZWhvbGRlcjp4LnBsYWNlaG9sZGVyLGZpbGw6eC5maWxsLG9uTG9hZFJlZjptLG9uTG9hZGluZ0NvbXBsZXRlUmVmOmgsc2V0Qmx1ckNvbXBsZXRlOnksc2V0U2hvd0FsdFRleHQ6XyxzaXplc0lucHV0OmUuc2l6ZXMscmVmOnR9KSx4LnByaW9yaXR5PygwLG4uanN4KShiLHtpc0FwcFJvdXRlcjohaSxpbWdBdHRyaWJ1dGVzOmp9KTpudWxsXX0pfSk7KCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2YgdC5kZWZhdWx0JiZudWxsIT09dC5kZWZhdWx0KSYmdm9pZCAwPT09dC5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkodC5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHQuZGVmYXVsdCx0KSxlLmV4cG9ydHM9dC5kZWZhdWx0KX0sMzUyODM6ZnVuY3Rpb24oZSx0LGkpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldEltZ1Byb3BzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KSxpKDgzMTc5KTtsZXQgcj1pKDk2NjMwKSxvPWkoOTY1OTQpO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIHZvaWQgMCE9PWUuZGVmYXVsdH1mdW5jdGlvbiBzKGUpe3JldHVybiB2b2lkIDA9PT1lP2U6Im51bWJlciI9PXR5cGVvZiBlP051bWJlci5pc0Zpbml0ZShlKT9lOk5hTjoic3RyaW5nIj09dHlwZW9mIGUmJi9eWzAtOV0rJC8udGVzdChlKT9wYXJzZUludChlLDEwKTpOYU59ZnVuY3Rpb24gbChlLHQpe3ZhciBpLGw7bGV0IGEsdSxkLHtzcmM6YyxzaXplczpmLHVub3B0aW1pemVkOmc9ITEscHJpb3JpdHk6cD0hMSxsb2FkaW5nOm0sY2xhc3NOYW1lOmgscXVhbGl0eTp2LHdpZHRoOmIsaGVpZ2h0OncsZmlsbDp5PSExLHN0eWxlOlMsb3ZlcnJpZGVTcmM6XyxvbkxvYWQ6aixvbkxvYWRpbmdDb21wbGV0ZTp4LHBsYWNlaG9sZGVyOkM9ImVtcHR5IixibHVyRGF0YVVSTDp6LGZldGNoUHJpb3JpdHk6UCxkZWNvZGluZzpFPSJhc3luYyIsbGF5b3V0Ok8sb2JqZWN0Rml0Ok0sb2JqZWN0UG9zaXRpb246UixsYXp5Qm91bmRhcnk6SSxsYXp5Um9vdDprLC4uLk59PWUse2ltZ0NvbmY6QSxzaG93QWx0VGV4dDpELGJsdXJDb21wbGV0ZTpCLGRlZmF1bHRMb2FkZXI6Rn09dCxHPUF8fG8uaW1hZ2VDb25maWdEZWZhdWx0O2lmKCJhbGxTaXplcyJpbiBHKWE9RztlbHNle2xldCBlPVsuLi5HLmRldmljZVNpemVzLC4uLkcuaW1hZ2VTaXplc10uc29ydCgoZSx0KT0+ZS10KSx0PUcuZGV2aWNlU2l6ZXMuc29ydCgoZSx0KT0+ZS10KSxyPW51bGw9PShpPUcucXVhbGl0aWVzKT92b2lkIDA6aS5zb3J0KChlLHQpPT5lLXQpO2E9ey4uLkcsYWxsU2l6ZXM6ZSxkZXZpY2VTaXplczp0LHF1YWxpdGllczpyfX1pZih2b2lkIDA9PT1GKXRocm93IEVycm9yKCJpbWFnZXMubG9hZGVyRmlsZSBkZXRlY3RlZCBidXQgdGhlIGZpbGUgaXMgbWlzc2luZyBkZWZhdWx0IGV4cG9ydC5cblJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1pbWFnZXMtY29uZmlnIik7bGV0IEw9Ti5sb2FkZXJ8fEY7ZGVsZXRlIE4ubG9hZGVyLGRlbGV0ZSBOLnNyY1NldDtsZXQgcT0iX19uZXh0X2ltZ19kZWZhdWx0ImluIEw7aWYocSl7aWYoImN1c3RvbSI9PT1hLmxvYWRlcil0aHJvdyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgIicrYysnIiBpcyBtaXNzaW5nICJsb2FkZXIiIHByb3AuXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtbWlzc2luZy1sb2FkZXInKX1lbHNle2xldCBlPUw7TD10PT57bGV0e2NvbmZpZzppLC4uLnJ9PXQ7cmV0dXJuIGUocil9fWlmKE8peyJmaWxsIj09PU8mJih5PSEwKTtsZXQgZT17aW50cmluc2ljOnttYXhXaWR0aDoiMTAwJSIsaGVpZ2h0OiJhdXRvIn0scmVzcG9uc2l2ZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiYXV0byJ9fVtPXTtlJiYoUz17Li4uUywuLi5lfSk7bGV0IHQ9e3Jlc3BvbnNpdmU6IjEwMHZ3IixmaWxsOiIxMDB2dyJ9W09dO3QmJiFmJiYoZj10KX1sZXQgVz0iIixUPXMoYiksVT1zKHcpO2lmKCJvYmplY3QiPT10eXBlb2YobD1jKSYmKG4obCl8fHZvaWQgMCE9PWwuc3JjKSl7bGV0IGU9bihjKT9jLmRlZmF1bHQ6YztpZighZS5zcmMpdGhyb3cgRXJyb3IoIkFuIG9iamVjdCBzaG91bGQgb25seSBiZSBwYXNzZWQgdG8gdGhlIGltYWdlIGNvbXBvbmVudCBzcmMgcGFyYW1ldGVyIGlmIGl0IGNvbWVzIGZyb20gYSBzdGF0aWMgaW1hZ2UgaW1wb3J0LiBJdCBtdXN0IGluY2x1ZGUgc3JjLiBSZWNlaXZlZCAiK0pTT04uc3RyaW5naWZ5KGUpKTtpZighZS5oZWlnaHR8fCFlLndpZHRoKXRocm93IEVycm9yKCJBbiBvYmplY3Qgc2hvdWxkIG9ubHkgYmUgcGFzc2VkIHRvIHRoZSBpbWFnZSBjb21wb25lbnQgc3JjIHBhcmFtZXRlciBpZiBpdCBjb21lcyBmcm9tIGEgc3RhdGljIGltYWdlIGltcG9ydC4gSXQgbXVzdCBpbmNsdWRlIGhlaWdodCBhbmQgd2lkdGguIFJlY2VpdmVkICIrSlNPTi5zdHJpbmdpZnkoZSkpO2lmKHU9ZS5ibHVyV2lkdGgsZD1lLmJsdXJIZWlnaHQsej16fHxlLmJsdXJEYXRhVVJMLFc9ZS5zcmMsIXkpe2lmKFR8fFUpe2lmKFQmJiFVKXtsZXQgdD1UL2Uud2lkdGg7VT1NYXRoLnJvdW5kKGUuaGVpZ2h0KnQpfWVsc2UgaWYoIVQmJlUpe2xldCB0PVUvZS5oZWlnaHQ7VD1NYXRoLnJvdW5kKGUud2lkdGgqdCl9fWVsc2UgVD1lLndpZHRoLFU9ZS5oZWlnaHR9fWxldCBWPSFwJiYoImxhenkiPT09bXx8dm9pZCAwPT09bSk7KCEoYz0ic3RyaW5nIj09dHlwZW9mIGM/YzpXKXx8Yy5zdGFydHNXaXRoKCJkYXRhOiIpfHxjLnN0YXJ0c1dpdGgoImJsb2I6IikpJiYoZz0hMCxWPSExKSxhLnVub3B0aW1pemVkJiYoZz0hMCkscSYmYy5lbmRzV2l0aCgiLnN2ZyIpJiYhYS5kYW5nZXJvdXNseUFsbG93U1ZHJiYoZz0hMCkscCYmKFA9ImhpZ2giKTtsZXQgSj1zKHYpLFk9T2JqZWN0LmFzc2lnbih5P3twb3NpdGlvbjoiYWJzb2x1dGUiLGhlaWdodDoiMTAwJSIsd2lkdGg6IjEwMCUiLGxlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowLG9iamVjdEZpdDpNLG9iamVjdFBvc2l0aW9uOlJ9Ont9LEQ/e306e2NvbG9yOiJ0cmFuc3BhcmVudCJ9LFMpLEg9Qnx8ImVtcHR5Ij09PUM/bnVsbDoiYmx1ciI9PT1DPyd1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCcrKDAsci5nZXRJbWFnZUJsdXJTdmcpKHt3aWR0aEludDpULGhlaWdodEludDpVLGJsdXJXaWR0aDp1LGJsdXJIZWlnaHQ6ZCxibHVyRGF0YVVSTDp6fHwiIixvYmplY3RGaXQ6WS5vYmplY3RGaXR9KSsnIiknOid1cmwoIicrQysnIiknLCQ9SD97YmFja2dyb3VuZFNpemU6WS5vYmplY3RGaXR8fCJjb3ZlciIsYmFja2dyb3VuZFBvc2l0aW9uOlkub2JqZWN0UG9zaXRpb258fCI1MCUgNTAlIixiYWNrZ3JvdW5kUmVwZWF0OiJuby1yZXBlYXQiLGJhY2tncm91bmRJbWFnZTpIfTp7fSxLPWZ1bmN0aW9uKGUpe2xldHtjb25maWc6dCxzcmM6aSx1bm9wdGltaXplZDpyLHdpZHRoOm8scXVhbGl0eTpuLHNpemVzOnMsbG9hZGVyOmx9PWU7aWYocilyZXR1cm57c3JjOmksc3JjU2V0OnZvaWQgMCxzaXplczp2b2lkIDB9O2xldHt3aWR0aHM6YSxraW5kOnV9PWZ1bmN0aW9uKGUsdCxpKXtsZXR7ZGV2aWNlU2l6ZXM6cixhbGxTaXplczpvfT1lO2lmKGkpe2xldCBlPS8oXnxccykoMT9cZD9cZCl2dy9nLHQ9W107Zm9yKGxldCByO3I9ZS5leGVjKGkpO3IpdC5wdXNoKHBhcnNlSW50KHJbMl0pKTtpZih0Lmxlbmd0aCl7bGV0IGU9LjAxKk1hdGgubWluKC4uLnQpO3JldHVybnt3aWR0aHM6by5maWx0ZXIodD0+dD49clswXSplKSxraW5kOiJ3In19cmV0dXJue3dpZHRoczpvLGtpbmQ6IncifX1yZXR1cm4ibnVtYmVyIiE9dHlwZW9mIHQ/e3dpZHRoczpyLGtpbmQ6IncifTp7d2lkdGhzOlsuLi5uZXcgU2V0KFt0LDIqdF0ubWFwKGU9Pm8uZmluZCh0PT50Pj1lKXx8b1tvLmxlbmd0aC0xXSkpXSxraW5kOiJ4In19KHQsbyxzKSxkPWEubGVuZ3RoLTE7cmV0dXJue3NpemVzOnN8fCJ3IiE9PXU/czoiMTAwdnciLHNyY1NldDphLm1hcCgoZSxyKT0+bCh7Y29uZmlnOnQsc3JjOmkscXVhbGl0eTpuLHdpZHRoOmV9KSsiICIrKCJ3Ij09PXU/ZTpyKzEpK3UpLmpvaW4oIiwgIiksc3JjOmwoe2NvbmZpZzp0LHNyYzppLHF1YWxpdHk6bix3aWR0aDphW2RdfSl9fSh7Y29uZmlnOmEsc3JjOmMsdW5vcHRpbWl6ZWQ6Zyx3aWR0aDpULHF1YWxpdHk6SixzaXplczpmLGxvYWRlcjpMfSk7cmV0dXJue3Byb3BzOnsuLi5OLGxvYWRpbmc6Vj8ibGF6eSI6bSxmZXRjaFByaW9yaXR5OlAsd2lkdGg6VCxoZWlnaHQ6VSxkZWNvZGluZzpFLGNsYXNzTmFtZTpoLHN0eWxlOnsuLi5ZLC4uLiR9LHNpemVzOksuc2l6ZXMsc3JjU2V0Oksuc3JjU2V0LHNyYzpffHxLLnNyY30sbWV0YTp7dW5vcHRpbWl6ZWQ6Zyxwcmlvcml0eTpwLHBsYWNlaG9sZGVyOkMsZmlsbDp5fX19fSw5NjYzMDpmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGUpe2xldHt3aWR0aEludDp0LGhlaWdodEludDppLGJsdXJXaWR0aDpyLGJsdXJIZWlnaHQ6byxibHVyRGF0YVVSTDpuLG9iamVjdEZpdDpzfT1lLGw9cj80MCpyOnQsYT1vPzQwKm86aSx1PWwmJmE/InZpZXdCb3g9JzAgMCAiK2wrIiAiK2ErIiciOiIiO3JldHVybiIlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAiK3UrIiUzRSUzQ2ZpbHRlciBpZD0nYicgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSdzUkdCJyUzRSUzQ2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0nMjAnLyUzRSUzQ2ZlQ29sb3JNYXRyaXggdmFsdWVzPScxIDAgMCAwIDAgMCAxIDAgMCAwIDAgMCAxIDAgMCAwIDAgMCAxMDAgLTEnIHJlc3VsdD0ncycvJTNFJTNDZmVGbG9vZCB4PScwJyB5PScwJyB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScvJTNFJTNDZmVDb21wb3NpdGUgb3BlcmF0b3I9J291dCcgaW49J3MnLyUzRSUzQ2ZlQ29tcG9zaXRlIGluMj0nU291cmNlR3JhcGhpYycvJTNFJTNDZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPScyMCcvJTNFJTNDL2ZpbHRlciUzRSUzQ2ltYWdlIHdpZHRoPScxMDAlMjUnIGhlaWdodD0nMTAwJTI1JyB4PScwJyB5PScwJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSciKyh1PyJub25lIjoiY29udGFpbiI9PT1zPyJ4TWlkWU1pZCI6ImNvdmVyIj09PXM/InhNaWRZTWlkIHNsaWNlIjoibm9uZSIpKyInIHN0eWxlPSdmaWx0ZXI6IHVybCglMjNiKTsnIGhyZWY9JyIrbisiJy8lM0UlM0Mvc3ZnJTNFIn1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImdldEltYWdlQmx1clN2ZyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSl9LDc2MjEwOmZ1bmN0aW9uKGUsdCxpKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpIGluIHQpT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsaSx7ZW51bWVyYWJsZTohMCxnZXQ6dFtpXX0pfSh0LHtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGdldEltYWdlUHJvcHM6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1pKDM4NzU0KSxvPWkoMzUyODMpLG49aSg3NDA4MCkscz1yLl8oaSgxMzg3MikpO2Z1bmN0aW9uIGwoZSl7bGV0e3Byb3BzOnR9PSgwLG8uZ2V0SW1nUHJvcHMpKGUse2RlZmF1bHRMb2FkZXI6cy5kZWZhdWx0LGltZ0NvbmY6e2RldmljZVNpemVzOls2NDAsNzUwLDgyOCwxMDgwLDEyMDAsMTkyMCwyMDQ4LDM4NDBdLGltYWdlU2l6ZXM6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSxwYXRoOiIvX25leHQvaW1hZ2UiLGxvYWRlcjoiZGVmYXVsdCIsZGFuZ2Vyb3VzbHlBbGxvd1NWRzohMSx1bm9wdGltaXplZDohMX19KTtmb3IobGV0W2UsaV1vZiBPYmplY3QuZW50cmllcyh0KSl2b2lkIDA9PT1pJiZkZWxldGUgdFtlXTtyZXR1cm57cHJvcHM6dH19bGV0IGE9bi5JbWFnZX0sMTM4NzI6ZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlKXt2YXIgdDtsZXR7Y29uZmlnOmksc3JjOnIsd2lkdGg6byxxdWFsaXR5Om59PWUscz1ufHwobnVsbD09KHQ9aS5xdWFsaXRpZXMpP3ZvaWQgMDp0LnJlZHVjZSgoZSx0KT0+TWF0aC5hYnModC03NSk8TWF0aC5hYnMoZS03NSk/dDplKSl8fDc1O3JldHVybiBpLnBhdGgrIj91cmw9IitlbmNvZGVVUklDb21wb25lbnQocikrIiZ3PSIrbysiJnE9IitzfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSksaS5fX25leHRfaW1nX2RlZmF1bHQ9ITA7bGV0IHI9aX0sMjU2NzU6ZnVuY3Rpb24oZSx0LGkpe2UuZXhwb3J0cz1pKDc2MjEwKX19XSk7"}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700\u0026family=Montserrat:wght@100;200;300;400;500;600;700;800;900\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.664Z","timestamp":1785133562664,"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=Cormorant+Infant:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700\u0026family=Montserrat:wght@100;200;300;400;500;600;700;800;900\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.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 06:26:02 GMT\r\ndate: Mon, 27 Jul 2026 06:26:02 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":37233,"size_decoded":1867,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"10394e934d6b3c6a0210cc0d91f13b6d","sha1":"fad06c57743e9a375386517ccc2e7242b342654c","sha256":"d164e50ee5da3120b430df49206b6ccfdb34f5e471eaa0982173ca80811f48aa","sha512":"dd87324a44c80ce90ae995ece203a7e4295b2c232b91c309bb6b814f4ce6333d24f1983ef493b73582cbcd9417c16103e4f012c79c794c16fd6f7e65d1088b0f","ssdeep":"768:zHHy2roodp299IUV++zfgTTeK5lZeiRamxNcvb84HkQnjS5FyO9dCWQp:2","tlshash":"ecf2ca91006b9500ea431cc533df7e3a9e4e65657488c57aabfe1c98bdeec361360b2d","first_seen":"2026-07-27T03:07:35.253987Z","last_seen":"2026-07-27T06:26:35.993974Z","times_seen":2,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMWhNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsM3hNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5SlU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfSWwxQk1FZnE0LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMVJNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMnhNRS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDFoTUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDN4TUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMUJNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDFSTUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDJ4TUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5SlU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfSWwxaE1FZnE0LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5SlU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfSWwzeE1FZnE0LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDFCTUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5SlU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfSWwxUk1FZnE0LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5SlU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfSWwyeE1FLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMWhNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsM3hNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5SlU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfSWwxQk1FZnE0LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMVJNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMnhNRS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDFoTUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDN4TUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeUpVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X0lsMUJNRWZxNC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDFSTUVmcTQud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlKVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19JbDJ4TUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfb1YyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfTVYyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19nVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfa1YyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfY1YyUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19vVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19NVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeVBVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X2dWMlFzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19rVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19jVjJRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeVBVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X29WMlFzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeVBVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X01WMlFzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfZ1YyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeVBVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X2tWMlFzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeVBVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X2NWMlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfb1YyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfTVYyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19nVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfa1YyUXNBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgSW5mYW50JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2Nvcm1vcmFudGluZmFudC92MjIvSGh5UFU0NGc5dktpTTFzT1JZU2lXZUFzTE45OTdfY1YyUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19vVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19NVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEluZmFudCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9jb3Jtb3JhbnRpbmZhbnQvdjIyL0hoeVBVNDRnOXZLaU0xc09SWVNpV2VBc0xOOTk3X2dWMlFzQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19rVjJRc0Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0Nvcm1vcmFudCBJbmZhbnQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvY29ybW9yYW50aW5mYW50L3YyMi9IaHlQVTQ0Zzl2S2lNMXNPUllTaVdlQXNMTjk5N19jVjJRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXlUbjg5ZGRwUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDIwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl5VG44OWRkcFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdSaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXMWh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXWmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdkaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5eVRuODlkZHBRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXlUbjg5ZGRwUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl5VG44OWRkcFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdSaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXMWh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXWmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdkaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5eVRuODlkZHBRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXlUbjg5ZGRwUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MzEvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXlUbjg5ZGRwUk9pLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl5VG44OWRkcFEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdSaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXMWh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXWmh5eVRuODlkZHBST2kud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjMxL0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdkaHl5VG44OWRkcFJPaS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YzMS9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5eVRuODlkZHBRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":88,"timings":{"blocked":-1,"dns":4,"connect":15,"send":0,"wait":35,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.813Z","timestamp":1785133562813,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 37756\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 18:07:05 GMT\r\nexpires: Sat, 24 Jul 2027 18:07:05 GMT\r\ncache-control: public, max-age=31536000\r\nage: 217137\r\nlast-modified: Thu, 04 Sep 2025 17:09:21 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":37756,"size_decoded":38569,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 37756, version 1.0","md5":"8a6a885dd57e60ddd85f3190737fa209","sha1":"dbca56b7fe8ee5e4bfb648d639fc6a3bfc5c6e85","sha256":"b9b102f608e8252e3c1e7287309832b16af7dcc6e788651fa503a3faacd7fb2f","sha512":"2bd785869777dc57dbb5934d4c6915b66f89746dd79897820eb4bbd0d262b2612bafdfb07c1e092658ad819f582a97e6a196531f74187d8a0b0bbd07fcbba56a","ssdeep":"768:sqRKhgpCf9U72WeD4A/5IqtBr0ikGvEaQh38/LBu3Emdc043RpgZKMqjkEfO1m:jKgp+9U7Ve8A/7Ai9Et3EBKEUE3RqMMu","tlshash":"3e030130df5884edcc0ba371fdeea81fc7a332a594c0b3368297af1b80111499d99e49","first_seen":"2025-09-05T00:25:10.258656Z","last_seen":"2026-07-30T07:26:05.105111Z","times_seen":544409,"resource_available":false,"data":"d09GMgABAAAAAJN8ABcAAAABfiwAAJL/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoReG4KYVhyMRD9IVkFShycGYD9TVEFUgTgnMgCFTCsdCHwJnxQvfhEICoGKJO51C4UGADCB53gBNgIkA4oIBCAFiQIHj2UMgyhbZWxxYYzNYmIexjaAiLuvb4ODlrBdzYBuo0xdkJGcxgXsVmy3w03/wXmd8v//aUllDE3LngQAVJ1u/8FMUjRs1moaYoPcqdo8Zu/os2P12ji2VkfT9L6gemSEemRXdpY7MmyqgQmvlK3kfd1ojr4fvo3K/JO2nlaX6g0SxOS8sNYcaE3JcdjwclhRAokLkh5Bo6pg7JGbxLiBUdx3OyUIQiAUOW65UcSVfMMDs/Q3MDJn8sEKTmbhltR0Fh0/7H2HMxIHU7KQJcT5mnXzCyrZofDHIOKxlJwYRhuqLtMIIh/YM5xjjfA/TShhRjC7XvqbrAPsFvOLmZSyhMN5Ej3xV99HnrrdsyAwbyl/inVEuv3P7t2lXELqkQIhhAAhtCREBASEQBeQJl1sgI0nxY7YKN2G5fmwdGx8bOVpVMTSsGEvH0t9zYrwxa9VvYjMX9Q90wsA9lgBgEOw57FqUbnTCPaEZSOBc3jebT1ARXEXmpWZlpbtjXZ1w+q8Nbu9u9sR3uzmaN5qLMu1cAKKsgQZ88P+i89n/Q8fhsfp+pfW06QRbxNv6qnJtO1EgSF6CicGp9rS8c30TIU7Bn63MSZs85/vz+o0pKjggD+s9z7CH6lSgFpMj3bgSlh298zsjJWE+9M7Ld+QRmBZhhBu4JD4vwirdVr+wt/r7xFSc00WHHYs2+KRNHNpS3f3AI0sj7IKAGl8ZnoyBYguQJpJn6LHc4D65hPcDGB42ua/uXTl5LBWJlJ1Rx4IB0e3AtJpb26/2+3Hfkb5I9Mvp5+7lu0/o2edU1SusFQaBiTr95LeTHU8OKzT0BwMIGV4dvavg/3txk8ojm1rTWrXDu5bbEABBoC+39C9h3ByC1fhWHN2xbRAzJmYMGLOfBNGGKfPj9F28k92wNkQG/h/iP2EWoh4Msni/VqlBqrHualeFIdVzOK95xj8/++eb4sErRV3DvyLH6Qn2WhJonOftAaURmVqLaIbUIivtLrdL8PXx9bQXLsj7it4xUOFUs0rpUAlT0RfXO+3S1t6Z8Jzqp9RYDVb6t814T2gzatzQHocF12wzsyma1ZBuQxBxO/X9g5Tif4+IpaWqqHZcJGQLDUq1ZuJEKnXkwLAAGcvbTIZD/knapOTJaNnE9y5tfhzKQwPsFBaJgOaTbliAy+QzudbmtL9+z0qbrqR3Jqe3OUUdyq5yiw2QSkoTBrprBvNbfbsrlu3tlm3dlbaXZp86Mx8QQU1ZoCstFYBDcB55imVwwAelqC88M/3N+I3p4C+UBMI3mk84MAgTGBBcP3/VzNtB5wdKoVcqaVDiq0r98D97+MOgI8Z7iy59A4VQrbzwf8IBMCwpEgFrpxipW2dusZd6cplSY4rrasQW+nva5leu6V5496VoUemrw19Bb821OErENxyy+HY05pZ9fQIWuC4NWMlrTa1tPRnJNmtkTcVi0o7JskYoDVrA7QO4JvRbvx3ZGhJATkAXHdAPOEtlcPFcsK3U445hv9PZ9nOl1a3CmK1DlBFRXPHRXMpmtR5vebPyBqQbK3Wl7O0ZAgYDuyFvHhDlnb3wBsg7AgqOwgllnl9ypTUFH0IcBdKxzm3tbWWeJAHVG1tgdCTPfw7i9b3g/bgeihlDSUsYYhLkDnot31W98oLaSY3IkUjUjTSFI2IE1bcGD6X/bzv+x4WFMilkgPFdD7AIvzm+2oqP0hI9i0RjmGJukjqSrymx7B07Ouw9P9YzviTjMeZKb1pu5vl9cU8GllyU0QyjkgRh0NUpOQieCF7HTv33383PXqhMGJExREREREVZamIqIiIiAhLeJShPGY/v9nPYJv+vyA1o8aCWZCKEigrUNGpX85fFP7bHA+bkg9teo3Z1jBF63p6gp1YEMzALMBVwMdxYCIiCDbdDAiJiBIWbP4kQBFA5BAlT4i3GMgAmZBs4yDFyiHFhvWGNS8EmtU0YiaZZBRy5y2zjwr6KgiU6UgwDzCTVXHNvAvcwSgdAWStFE4U0iMZtdKZ8L/SFZAgZwA5ArAaMBcWBEPA1etbtqkNm1q8pT931rarJUABiY9m2fjd8skSeigwhfyNOLgQlq63Z/ehwBcQ0d4IiYiIRRU/SIImWIIniYSleBpMu2mUpmKvIEQv62ZBFmVZ5uRIHi2EzGSuisioclFFhBNTBEGwCDbBIb9nKnnkCbBYBCAkjIUA67xreeo0QXNIUA443qAi89CalbRiJUhWNIW0cs1tJZVcoVZabc2f2/6sWbfh0MD4T4SJKBGjZCpKJWmajtIWnWJkJsPm2BJX5HN8me8QOgKdga5gj9gr1uWPLStBNaoFjYiRNFKhaDQbH8kO5gaL05XxymJUMAdgAvRfmIeL0oMGMAH8/K2HUB1gQVsFBIN5/6g3xjL7VE3DogK52b1qDrpDj85PQnfk/NAE7I7rW5yGDgnonSDmB1DPdPLY1+an4ac+b2EctMdPTBk7ybCzVQZ5OwrLkxiYZt//4C73XXKn9Y+Hb3VQhTLxGYNFBKFhaKpE2qGJRfBJ6q6V68u/4ZUsNVeVMsWGShPHwk8cXV2BiJcnA6aBNU8CtPh5PDD8FSJaj79sN7wWrSkrhx860Sjl1x2/OOYqHmQD4wcI+eEv8jXEm3uUuPvp3QIi0RsOohCNhEgqhVRSSyMX6eUtg4wyyUfmfVpo2LR3V8botPt9ggJnH0lg+urVoTJ9bNbUd+WADh4BwdHkE76UQeO3w4fJsOA2ChYie91N5CW7AbcMfo9G4prfiGHTFhDSb1qLreo/tV0xzQPtR/51XiTw8jfPNeTYYeP21hkdfWybMQrVlW3u0jN2xwktr6W22BZCI0NTN6bRFJB/p/Fv05zqlGZ/7s22UV2ezaf+LHX8MCfkmByaacofzy8uLemXulSlJDlEb4QjEHaejy7kMRSdsT1Wx/yYFZOiYHbMibiwhF94rY6qkAQH9zqMeX73NBK73e1e7xY3uDfLk+6oxk85x8mOdrDN1tvzV1iASfS3AjJqXGI1a5NWapEaxuPP0iQVargylKBwBciwDneRnUR8u1gjPQsRFlUZSfWDcqA2c3CFu6GJh2EJ98EUa43p/FOZurdXZKV/qHfG3damfh632JzM5K5ugfjatKSZItkwjDWp6aJ6m8qbaqYM8JT+oF6mmvrt+je1pG/V23aKvfzBaFNbr1ok+VG6vum5GM7Ky7tTPqtMoIcrduKq+HB0cLRVvI01Jnc6RcIm2zNS2u0cj1waPVDeTVL0GFQhV9HgKV1O0NQlK8NJLemilZCkWMGZlp7k8qseIcdR9ScGy6pSKuFnq1eoil75oKNkI6USJp9ZUzoPaHU1msmz4yalmjoRL1NLOhbcT1HUj3B5je1zXBDjuhu0PF2CTNW9b3W0vEk10FOehBUfydIVWlPupJpaD02pJe0hFfsp6np80US0zWKk1l/Iu/GKLpF8HE9ZZ4ZX/EA8GIhdTuIFwmLFgyuEYMibgm9ALBzchEtiCXZigZoMPqeuj7LVoqB1yMVIi/zLdfglab38GLT4H33fuyFSqkhrUSjA1enzIv7m7dCmCfk3t0Lt8eXQ7nxtblZEI2EdQjhXF4uL3PVl6KfzL0xDMuI5/8j1kd2WSGtS8a1J5gn5rUIB8SkKKbzlOLTI3XzUD8UxmGDPirlqN9VY0OLbJO7ThPxWyNP4cHoKfWvG+IKY6y4aZdLzW6Pa330IaOrREd/yaC5oYxZLEU9kZQFGhuvh3ImTp1e9YZw1beW7nzbrKk/k4CArslvylXYaebCgWTzFePHNLyDmeflNR+Hpzsi2mQdbGwsgtmjUCMh5iJLWmFiQo/8aJnMHnhEX62O3TEWA4mWrd3WoAIqRtzJaLfPbsMES76OD6o7Gt26iApDegkkt0RBllyyOoZEYIZMbQh0CInFJ9z4aZqun3O/tbhWmXOIal7t06eHOSEbbz7ohMrOuFv0QIkhqPSTVG3qK7L+frUVVmqA8pSpcZumFdIU40Ou9coGT/8K5/yRYl4ygD/LI5itoyzQRGxKlwe2V2rWHZwCQTYDwJztvnR7g+HCNPTYWH9qFi/tMXlNOngUrXqacS2mBfAAEjT08VkrK3D5kx8XMtMapF91IYPLDQVDtmO+fWPENpKkFZ//R1UU5yo3lnBbWc1i4hMnhm4yy7NvP+SFQOIlJKR/gwt9r/9KuWKlQ1clwljWv35qzuRJiuRvCuwttmD5uPuz4WMXblbGsZ9/wQ3qHh9M2PMGOiVlgj4ilhe7hRa3+b9cUcPY2KAcod+fSvDTkhlfRaE1rP/sSgHicaMDNGsDsTi9CqB5MzZM9gxjub0MZYTBTqwUIsICZwW4mMErU3zPxAj6QAy4OtKliYG8Fz3c/IsECs4i/AZ48AJyvwP9iQjg3ICXNlhUThMVeBVcE1+SsBAsRn5SrU+i7r+8bFAshihS9SSPSARWWSSCYm+zomyEQ68cVOiNUYbT6QLmKTfkNTdO6IfelGYXiXmmdy42E1zP55YO5BJPwA1WZAKwtskWiut3RAla6R3HZF6fO97mOlI9T8flf8hLSR0i0noV3wdHjlaplH+wjPz0Mj/UdV6iDav5xGtWt6cGPVYVfYWXRgpsY93G8S+26TpTzGcI0X0mist9vqcuY150lDHff11T2rB8NhKPDfuWGJJducg6n6p6hrm2lL78QY7Wi9WM9KbHrwdZ//PYteK7L9nZqyy+MRlFAByr9HhnTNGbuwtQeRJVOBuDusk8xRaTffbXU4DZmbfDGeCUWsKvjc9N398g411JHRJDwNozZFutb0BIDwBpqmFEPco9dHFN7SyZ6TkkVZ7JfRgfswGoLqwNeTmq737WjHtesazstbs5Pl3BpwR56jmt1TXoI7wYEwwWBrXqp8BJACY8/fSAC7w3i6uoZpytfxsHDRZvZTp3CnqipPY6WxNQvRreUpGnmfJYVUijpDIY9xfgmBvqyyLtSuXvgiB5r/Hbg/QBKqNFYjF5PHU+vti9m54IdCzkq26u3tpFiafYQHtekfnqcEjzW1q4vkM+2JDOKA4cu7C8OxNgwMUYgO7wCw8NyRFpXIqSbu4h3V3yoHSuENtUIJUDGvs4KG5/rivq+z2zlp5haKC93MfFWXHrzlYUY8R79vuyQ/EGf0/UjYClHC64M8ikcq03eNYyVh6WUnVFNom79cJeRhII1pc9teeWygAlZeTwlVAWR8nqlRa26pWZ51C1L9MttN3wpFV68T8yGzWtnSpsWUtwOHFNWXAtXhb66IYvQZ6G8aJicVCtHmtJc9GzmDNA4+S8b8RSESZLAdPvcxCT1jCvwGp+oVRaxd4p1c+ykDx5oNz7NdGuYb70KHFEUjFIwQ3DgiLqX8SiwK5fTUNOvM7sTBsUkmey7bL4EL+zNpuc/XlLnIntKBWPRst2GGCZAPvIG6F0vq0+aRA5tkBuwAZEEOtsBCEt6hPb5Bpik9XN931XMVEwlNrAsASdXswry7r2BdxfilgE/D4ABkR2mD9Q5b22JrBYJeUprZyyqc3idWzvJaVCyGvVX5YHkhbzEvn9EboaRK98D5AgA3JcXaiOmQgGUE7oZOwFsubE96NkxsquWaKNYkZkHb7rBU1vqkCdIYj4xqIh2B1w4HJ7JryrrvJsQ3tfA3am2h2vlnrA/whxcrXMCD7cxFeYIMragnFLh4WyVJBVuw+owtrTqUyoAuQE8n2rwIV6Yi0lRHh2ofbgl4KzgaZVy5JTsoNpnh6QMzVQefwZh+nrLbXhoaor5G4Ka+kq9u5aqvOQg4BIMKs89916AI1ayzXKVLHJWRf3InotLMxPHrh2Pd8i4/4w2H+wqhILtUJB/nuCUcpfVkMyvZfMXzPxWpo4Cc3RjWomH9mogkMQyjlwkSFGxPSEQ0/2IpZRHO1IxG7gL8dTQqErIDjOLS3Gjd/XaUEDFLqqU3Hocc59cRf1kH5k5Cmm1V1f7ks4sFK8SsSklUJBimWToNOJlQ1OIUJYVregrPA06SOqIybbRi2tnXVE4rXijrqjVaAkYxXXokD044O9cTt+TzJQDl+d0ymDHTTBruBjBVjaVZxan2QeIO/HyXRu+y7hlkU39erRFBTzbJDwqNAL80IGm0xkyOKeLCi55QQM9PjoNn/1yBf75ryLCffNdZEIUQnQsCiMGFjEJUKIJu5jU/VUstEpqVdxUc1VDpZa9OrR6LhoINB452Gc/ygEHsf05UA6xc5iQldaRzDjqGKSDXCeuE5nntDOQc/TO07jAyUV8lyhcznxXXEXpxnGNres4brB1E3KLyG3InSxy1z0s92EPyDzk6FF29tgT2FM6z7LScy+w9CC9QnjNxhuEtyTecff+nuuDj5DPC/71ZXyD2PeSXoSJM3ODTNgDGxbMv3q2nOjpaDiy40rEFoGLoCbmnKJxHLwz30mnyLnT3owuywZsqBBoSjRlkrqTtIwNsUdygbhxwCZAEWKR8ohXK0yGJhjhNxAcmF4kcAATjOBYFq1jsnJe8OjRKxUDiD815hgGjI1GQ2wwEBkVRE0L8eQFMTBAYb7w/AuBIFwiSE+dof3TVvqjVUMC8N5/bEl+xsb5e5swP+j6uVxhvBvao+uWMqKjc0uz5fxm2Ot+irtTyX2jA3FtmGT2jfcT0F4Tm0Wz9HMVOtzt9x5KD1t9zhINeZ028su6U9jzW/ttyp6I2uyi2y2d2KODBCMknW5ICq18nd1Zv9K5KQ0uia0Zdu6oROJ3XYH2xmXuh3Qa3rTjG5SfHV/hfXfaxvoWldfLmMR3MePtKdVjzblTSqf95C/0bqGYFRfWo47cpuixkgUMu9HrvtzB1VP5M6MI/PC3ZgVX0oTuftAZMoPeu8JxFeE1RjuL3AHW7LbDzVDFfPhGZwU9dkVnp6AGT164M0VDfY36Lpkj5csPPBL8awtUdzq/Fbk5dCmwhURWzkfUbzDQcEoJRwDTREtnyjjpinJ51xREj0/9YLFbKYUJXoXISVfXhTPhQGxv7cjoJvQlB6p/GJwxhqJmS1UtNtGnfQ14zmrk5azwq8+ySSDz9lZmiGBoZePitnmpIolOgCk7ZgUmer7FGkm8/A6O5xtHXwACzWA2iC6O5C2QZYLKLkKTnzsTrRrbfVI3ab049PksYYAZt8Pi8dATcHlPj1eWiZHjB084Spa/ce8E+cME9fcTMOAFsfBdlWo1atWpd4jVOedd9sAjTz3zLjLAuFZ4XvGKrJaC14KINUMlmipiqCakBpdaHOoJOISNFZ9zJHAej8tIHsA8YsNTIniG4h3vPVmK/OuAOISPrc3X2gYRLhSTEP5vODD4wolBn4aJl6WJflEyCPtHQw8Zt7X6zT3XiaiJDvtnpPB4WPgvmeejVXDc1aEPnQ//HlMIM/BTc5R/ZQHE1Y5uY8a3dZvBnMPfvFIz83HF/oZJ3DBinBP2f/5sD1zzB8FifJdWNZHmi/P4W1OPOpDECUol77QyINB2j5D2ezYGRUkX+6ARD3AylJZZ1+AOY95Pdp15MZ2ynxQjahX9xgaLiwZ5jLH8uQ5Nnp1S3zvPzaDZphPPwEJ4gqOn98p5c/NESlTqaly7OgkTInHF25/eG8kmWaX6OlGlvCYedf/+bFh3dPjPsi459L7w9bPW0AJ5Hg2w2WT76ojkk1K+TBPuQVGWd3x+LKYPUE/bA8R9k66ujxvfcGpixujqSS3o6JM5asXt0mopBEbCXeCmifdmMMqNg2VxNHjIoaORhg2j0w0u/nbzTjHAEXtGOm8WTOjZCGPjyerfMZd+7VH6VNz9FSnwMWFA+gSsuMCDO2kGundJlaxCdnRiqMAFxL6O10cGqZx5pVethTnDmbvyJVde+SevJORPhGr/xgbSsRzV87w6sd9QTkiZZ42oyjc/RL43/lJ1rhNVcVoGYDLtuvJjivyVKn68wXlXbHL177eGYtwJXptyyQDzC5rCzsNuzIcjoD0if4UablW0OkO81BSL7d8IcyOpYF3uEB8k5fHJUUcRUX/FwUJKquMoYMpDAXq1Rzk9iALcF/fPZIHqd+6HOYFJ6IEoXj2lTlDODtrlaH94GnhY0OlBDiaTSBywWBG17WVtSdwAB0aYbFY0/i9VkJ3F3bqb6/9JmK+3kC+UP+YL1t92MKyXOvwuYSC6iNtj8vtReSS9hZ0CIKqGQfQxmXeCROcG3MNS17+nHHlkWbOGfhQ/1NSODW1ErrozpEMh8k+QI9eSIgKxM0/gBgwkwmf4At80aHTAQYcd0aHTCSedckGXS7pdc90NN9121z3PvdDjldfeeOu97+lBjLUxmAT/gUnEr8ISVOjaCZgaJrEm1PcqVIAEGtjQWBJtmsVhEHCEDDpQdOJworg9bFu4AGLoQnMJTTc218jhOjY3yOEmIbdLOJAi15ukh/B4/cm/p6VF8B44fC/dZxHsWEDltXUzW8f25K/C4dtOhf2/GUQz2s05wU0e7egPqiyzyTq0OldRtP2SEg583dofhZyDDxUjhE34oZfeDuU/Rlyp0DdvDxMqZuys79mx+EoNPZDXWqhJPt4xf29q/fpAdGerVnM/gfadYHgM7uSvffllA/0N51irLgosGzQsOzqxdnmVXgk4Q9Fw+1MaP1aj6Zri8873o2cfZstuUTSgSPLHNtRLvMnLwPv2LxSDnpE+T/9N+tBbvKRXWkvX5GQ4QTD5hS0/WogwM0sRhwaNvNaP6SVwX0d2VfQSq0lv7rkEopZ99rMlPX6JUj8Jxf7Yiu5asIbNUtBbCI4HPjCwv8nP6TqMrL8TPulimXNNaTbokooF7QNwhq3QUjuK/KWvZOd0/YQqFrU2cqdbu9b4x3oOC1ygGYKLANxt7h7mdyWgbaTy+WQscsQNcwEg7EATUnCMS3e3Q0WR+X7W4WMZKcBNI6vMIW0z5nunnokVPxP6shf72oHwO/dnWA8aQOWXF4KmhUYBk7EBnQ3Hp4BsiVioGPtbrCexjI5SJ/tNM2aryeT8c+nrzwy0vzDLlry8gfS9+eZxO0WPS1w7wfjmcz2kC2RIkuCjbUK1OQ9NxmcLvbWnoR6RgO+Fs8ZZnxtF0TDXavHgsX9sAVGCEkmrTQinWMCHwLG272z11GQxCt5qhWJeWefZFknJxbfSW0goVFvUMzpmehTM9qIJslL6dYXcHHiW9/TQHtEfHYOBxfZFmy+MeQKgkI4rVWpYx3fQaPb1uYwkFkxVsW20aKFYHbWjBV6iThp5xfYcy+HSG6YdRh2DfXyV8MsHoPQsHYj03cyBdhL8AIUVm5OzglKGdM30oaMH7PyR+S+iumIlB7BNP70hJ5c9S/CKjyWW4IVkE1Xwcj9V3Yr1zozKd9JCuenCJnHEcFJPMfVRfLeyzM4kjeUnMRGQ2ejeJtG2Y2atdatIQjALO6bKdFm7Qm4sjLQ25FVVFRuDVD1aY+QKGWill1KHeT3FPrLWV8LzFMetQZP+0R0uZJpWlDNbIXRoTmYtKNfJdq64dyS9aXkqN+lQyh0qyzAWMQrcqNKHpCJWxp02ohnIMkChbtaan7sL8q1xmbHbC/dNJ2e8qaMxZTBENrMfkCEboi00KH53HNAN2Y91s7DdQFyxSCsjKTKaJyaOjhZsFL5j6aBvTf7c2PaF4fEPgAZM5JjcT44GY0R4ib45K4Z+4HAlBiJy15dJ6sBpylAuMAH/KFmdSds0TApLXoiHtX/a4m6cGTIUMi6KNBzF6nkRWAxHwBMhoPQF49rgQG494toqJ+Fk0ZD/fyiOiaX5a2MCXcUsrnylHUy+gqELInO2Kk8hXgQTLSA36FjEjosd4acpgEZkTl36AXQvVNMYjjjNdV3nggN7DAM2nQgpvdUlEQp8nOc4IRZA56hC1K2+OB+us4UwFWJNV6gxRAJ3Bzf2nkD6ICD7m19kRyoGQp1MMt8jASUiq15HCIb97pAmpk5X1bNcBDBWJ5Q0c4RB4CD0ISo74ySAWFrQWopx99GwlZkwpZh+vzhQ8yHj1iEMGoDCfF571S/mGUWkephWJf/XYNPeCRx0MPH/DexT6v0CnMvW32rJk+GY6WrW05FF0DGoOi3LVjej5fzi0ttx8Me540mi3miHbu43BxmdSOT2zv73UymRDbRKrVqQZeJX7IGs/elc9qWsR0rI4KYPuEPtbS+POV3avEGo6amFhfUVJ8gS7TaAbAfm3rmeTYfkboDZb0sIwtFbgVljW9Ov3gBtFf6xklHezNOG1FpZZWU7P/XxRkoeFYesMFlGBz9OlYNQn39Jdc1TZQDfJc+OUUvfpZBZwggzDr0bdF//8ofq2a79ue44HmNGrtB693ev9tAVX57UmdLfFaSwZ6AnpfZVprMsUROGJT6PYClRY2pUdlRb+1HMdqfVmrTgohRkgL90MV/dIpOTHEEUP1b/TvcZAXAcMPmqerN6VeoPd34QeXopj0QykgSI1WC9Jw0CTEaKkyxO+AZ97ilyOiWWnUvJtEa3SKOSvwzOLKVXdeSnlIU20cQo0oHswhH0vM6sOwHIWUz99mxgkjbLmN4K0Wp6Cgtq6clP43UHu1Pb0ptQ1HDO5W6zd2Qr34XZyqE8RWuvtkUfQNs+elfihb3rVDrg71XaT682zsqTkfOpoxVZ61SXHsZKYmkvKhzOU6Fwj2KwwvdTl6yu8t+p88XV3C3c2bv/t2ImTJGszzvNEmfd1eIIrh3MFlprutoQy4fq38O44i6ou/VvpLdI6A10ihQiBWbnSfq7yGfgk2SGuHLHlVU5rryEdNOrRTezOnGzyz1XWeW5qhLEv6n20EM1Hnui1gcf1fvss0b/+k+Tb76ZCwyTQDFPAghCMjMWU6V9pQYbCFdiolgS9gKQOCr04yCYkhvhZF56VR2oTtpblNTyEShMApcGI9pRNAESfAZqjKyxoApqJjhmQKmAixxO+PrzoDdAn8lYMCgGZAsJ8vobhItTjnnn4SMqMg/beiVKMw8HrKrqzLszD0SZ5uFNCAaIkS3TEY+Pvtj8+BMIMNlGP4FkgrJUsAhckTspysBczXaQhIwlS0FK3SiDZAU5Ww6hwXLfhxiGMtxofS6EMhapEPYbyjgiRUjFR2IlJmKZZDLaFJPlpppGofyZMd0M4iLR8GitSghQJUy1UDX81Oqrjla9EA10Gsvfbsq+qLQcHaftHbJ8HebGKtiR8nao5usAH52cnLB341xsarwcrVQGheEmMAfVBFVkpwvNdKE9NTRQQwP51JNPPdWU0Mh+7E8JLexDNe2opGtV6V0tI7w3To5PPviJL/hVd9/R5Jn+qzDVqKEdXH0LhANwJRttbBgJplaAICTFpibEkGsFbWZR0hQsBXDcqKShLNy1BySbZ72GtVRRQTuyyKeE9hD54bAIuBR9/WgyMTBcr6kpykdiKZoLPxPXYEhHuYYLwHtGIY22AI5RrKU807ZeQFkKSUueGYbLNqOlmtFSykipY6S0MFqrG6nJjdTSxsHMpUr7xsFUlEKa+I/UdSo0jiO6BmZIggIk4W2N7he71iI1phgjTTREgOHNFKnmVGPVRCkXbzZdtkJvYWkYL6UDP4dlExLI6Tws/4VYe6IfwoHNcWU6SCBsWjeAqQf6ARBykGKWS4Guo5pGJjO7CoVOXq5mIAOpWyOFhksKI5VyUOYN0mYqEETL6C+UFCJwYzFpJEOToNmBAe2VlI5FU3dSE3hfgEPzf5BgNgMeE/Rv3KR2KUAGJZasH3hLx78Q3k7gyN6uQFfdAzy+XrAXsC+wH3A0cDwQ5+ghyLf0OgswAwQwNfB94MvAR614TTyBu3CFcw53joM4gDt9NwSMIbDI8qmfuW0LzqwyWuCiRw3a5vrOVREzBw1MB8qzu6x8BIMiH8voBcvcMK1t6T+pPLIXZLlc+WIVEKep4Raz5TNqHoPRgrPx04oOZmzKc09ZsGlm+IxteUfTDqqc/7XCe3K3TGzFHpHw/fMFvRuBwAhsHFw8tL8grAWhwqRHAiG0MVH+/mb5sVihDE4uKJYK4NhR1WgMLI7LpKKgPa4Uy4NqxzyTHSLFjUIVBEo/TgWuCc1qEdgmMWOYsPw93fMuw7ajkDzS5JML+ZGNmISUQ+SNoL2pJs6vaN1xf8T6s/tdsz8E/a0pifWjxshLaon44rWbvpivwhg5zHs3CMbOTonxsczwck1/W/oIkigH5LNb0W6V1aPH5SNNFoNkSI/CerqiQyMgEojhu5wNDpZYBQSosiVytc3I6VumVla9XJ29GExwFbWmd4XGUme7YLsTZFhYpQ0EAXIUFiTiWJoZwMZcCHEwfXNtlqTTKXZUlk6n3VkHCVXOMA16pKwXrnKggMM9MKVBWS+Rs1DwiTRMQXLKHPU+ZnK7+pRJpvy968vIkMCDCIEhwIkYHAKJwHozCxwKSCoyInQEgCNE/CB5zPcRMqyDQpLLtQa55lfUgaE66ujtwJK4UY1/heEiVnpjhGOarnqxp/6OjELujujm90sByevbV8pO9lLJQWo5SiMnaeUsF7lKJzfp5T5V6Lu42TicjQQJmZLuyFOPgHfABjHQmRSssuK0IwkhdAQ/HPhhwlEy9dl+podIga+Q3OrPglJPYH32DefR8H+qlPF6vA70Vvd8+J7bHAmHK2KVDCUkn8QlQBubi7LPnQ13TB/IhxIHkc2XSrK5+SSchSCnDBOlVtDSKh5JEQnjJIaOl7RQZPvJJgG6/jA4dLo3JSiSufsIpudDkV5lrgZVP7z6abaAmJQtO3058eTNxMCXlgH3i1CWkFRzIIS6NRLDA7AyNNNHamThombfPPPxhn0js2oYyUXK0QtB/4ssdQ4jWp0K/gBLYjOac9wvlRGXM3t9BanhCs+Frau/opGufHGmjTdxFvzn7p/rcGARYDbIvDASxNoUI5XKCLlobbXraFhP05qdu755G1jw0TZnQ4s30rKJZZtasZk5W1m2jZ07O7abc7vB/YOQ3VuIBgpIxB5C13+6snAe5YnMVB4JZWbshUs/m8Ll/+AsXym95TlMh6yPSUbJFJNhs2yOLXCrkEW+xFeEjkBXsBLsFnvEmsglUSaELCtKUAkpYTWoRrSYpuq8lRJ60khOTo8y4swkK8PK8qq8Gq/Ob8BNZFa4WM4AwWDev2vxFbKAoUopQIG6ylmAbd888xyAOX406CQ40l7H+CjYfTuugw6wyOz2s0UBw+46dQLQ7QA1wlbAQggIwoGB2dDAYvCZb4wuLgHw/7O8XZY4gDA0vASIlWa4ccrUQIBMCwVAcuD0cDY2I/KSG62I1WyoTco8Ylb9jQ6c3VlT55Q9cO7QYHjzRo1CIE8NQDP8TQr6AzoApkJOI4K7ywEQfvMEyO+N0tyf4bGxAL5fEoAFUEADZkNAwGzIOgjYigWFA0zPqJ9Z2v2KkY8G2erTNtocLIIkuIRzuJ/walaaPWpAlVVdDat5tUPt17Vri2jf1W7WZ9GZlTQwPQ2TQGttXxuc6sOTANEITmq3yqvisnNqteYTm4CdNJI9NU36/0+REzmG1/6/PzGoK222N+CH91pstzUKHoc+Er+fe1T4kBdU8JbBlm8GHKRnDK+/T2t5p3iPhEvFHRd3icb/Lc875K7jXvvugXvOu6DDB/udtk+nAw76x1/+ZnUfQuOxIcSwJSPnQM2RhhNnnrwZGJn48OMvQD9BLjnhsq/OZTPBIkWJMUCiJMlSZBss1xBDDTdGod+MU6zEJJNNMVW5Li9d9J+dDuvx1ivv/N+jbOKxmW764kl28My/ttkef7556GiCaTfLLW22+p8jWDASB4WNi09KRExCRcmOPQEtNy5cudP5RK8vsz58BfJSxKK/EOFChYkQbaA48RJkGiRNuljDFBghzyj5PhtpolLjTVBmrGk8jE6I+odH072Zfcf08iu6XXN1F98Iv0tA+AAWrBFBIIyNjU2yv/612i8hysoQ7YWg/w+7dqOYw+wB+LFS0pbFZJDSBoGQXxTLzQpIWH8NRZmcBZWtDC2G8879Y2l9XW1NdVVlxezFhfm52Zl2q9mo16qVcqlYyOeymXQqmYjHpqOR8NRkKBjw+7wet8tpt1ktZpPRoNdpNZTBUD1bCral61GY4OloaXs5uSmMOFze3j0/cxPxfpxMGBB9Qbp1SfmZ0toq1J2a2JwzN/ohn5IQdkkmy84baOuTWlfYuigIcl4haO/oazZXK26puKyyUBLE0m/K/qw54FEwmAIwxMBIBIFJNqcDWDyuaxWw66ud5EtOJoxFWTOokUYbPcGHuPvanZ43xaNSURNKIFbDtOyP3WFE0FOQiJWxrS/VgVgaS64i7JdvIeFS330KQFzG/jlxd4YrqOBTLgnDVdV3dCFYG8uDot6PRV0pB4KeIPHdVNDpu5mCYjVERr+bpa+ElLgTGzaUTp8IUxuEFHYbIpeMpCOXhl+xKuoVMzVsbeH6qYggMn3yaCOMkV/t0lA0AjRmm5oS2GO+n+pZm8A3qhc9AiFkeV6LAkTo646WHL2gF/UKVVBbQIH86ob+R4AA4UeMFTgkqXlZ+Yvp+saUiojBZQlSFFkpvR1L0G9R5CrugyPmpnLruYK+xVCBbS0aVSe1D6iU80DjBtPbkbIQdwnWnFV4kVgSbE30FZlUndLWh/bsDUyyChCO8l9rQ309X89DdfVpi5OLYsWxWFsaVueUM5x6GHNlzHZsj1jcGGDVJasoNnvZGJQHt+DE2hJttSCrcn9yKE+E0HgfYnFAm9MTiVy/kNw4C+XoRCJ5InP6yWTCcIk3I9iI/4/OMYfSA5/CPoDoc5qosfUiTgUd6MWWJ7efZUOP1raUbi9DHmDcnFXKrYuge+b8nnoEJ4BNL7RmlB/4zLIzrVCzwnNl75nVFbkNM52XLmrnltmV2G30oYdhpPdCbAaBGWxFRWHaeV0Qx6exDq+oHR5xvDzwStpWcW6AfeWsUk5PJDli9pByKUU7P+bB+LE0Cph22OfgJs0UDZwQchxPERE2e2UdE5s8jPkwiozwfBsruSQNQ5s6EUyeHmuU3hzrIBa7mePqo2wLqaPHJ+DsHDV+XlWZnBObNxkVKXBxJy0XlVy2RvHjvKRrwKIad7DJrECN1KTzkqSn/D6l3BVIO9C8JVBfaSu22lPgxHMcDT2Pj5OrxjYerQtxlrQQz6pD0klw1kvXJ1OhVgpOAmMfZ3j8+ufzSs4Lmn7seeaNCHI7qSreLM2UR6ibKHIqHgUca8PmpsBKr0CbMdJkeJrk6rUHxFHiqsYT8yuuG/QjESv9CgF0QNM+44SoDZWjthO0wJCiD2uRYK1ZOcVyNf9TSs6Iwxtca8RhXnyEUpYcwsHt0NluQwZVuOShV030h2qA0O6Ca9gBMyescQclV0wozTPPBaVrRkv76DcHgWmSSUXtkcQRN3oxNW1NoR9qOF3QIij3cEClsOG2iY60QqmD0CwR2GXVsBEoHhpzoGzN0Plxm5HrXrsNMyYB8cOrBs66q6S8WeUdI4SD56bECm5MBElBFICM4QSuO7F5VObXRZwIJkCiPTIdKpbFE9SIHALH4ii07xJ1WQ+aMzhxLG7sBwRlvIYR6cZMUkIdEtobO6rwmR3lLICH43QsizHkGZ5HmVmLP29Od/eRM+S8P9QP5g7yGGBwdB764q4jvKfPVFHPt3WBlnqQGcOn5uh/xtdvHhKYnI20HxNNJN9VhkaQRA6mdCURGfKkUNtjrcCvBOjLrRwJFgZCL8PGfakjW43NKfQlNzyzu89J4FDbXgL9ogISl1jdPaIWzdJs20wudZxe6Z5JZtZCSY9S93ZmwcNU+SpFptGnzIp20bCFxMYL+o+A8d0SX0cNFQB2KD0MtVDypxdquil225/yIJuCBO7siM0Rl4TS2kaNY7Ux7nwiIW+LJ3y4GCLxOBPB5Ai0z2O56JomFESXb5KXJ2S2oX+nOG2DR1yt5DE/Hcvp8TM97g8ksIoNrpRHwSRFQlpWVUa6u6oCd0MFy5v16Pjw93rhSzsgkCqiVTzzA0Tm7KEBY76mmbbZnITndiYW74S1qpYzLwz5yOQJnjIcQnNsopsAUu1HAJ3cZj4h5JjTkCemUp59CH6FzMCFgl4l3GgHFR3OdbdFK0wkSh5i8AalglhYtikOf/p/8tzf5hAwgXPciqVKS8BPPxUeznkHliJnrfPZ/FOu6RNiFv8XK2DSlGaUCiB6ZSt9zzVzy6s+RVm++Cq2Li/gwYudpDJacVAiVkHPObL9Lmaz2lX+An+eESWOWpd3yZ92VRBmkB5L0LbnGvdlo4NAbKbuym0ruBLLfvHUYuegqjFd1yxEtpFwVNQW06vyOsiuikaRY2fFVfK0QW8lY9RxGo0VMiNXi0o9mYkllkvsPWo95I9blRQ4WSkoI5zHtzokXRGW8J0edqEI8ZLSIwT+wthTy0bUSj5VlW6phVIEyS68PblPumZGOo5GDon/Bme4GsuXmtT9jz+He8gqcNEptn0OUy/CQos16C9Ck8qhDOSR3yW5Y+jmIudR45Tq6uqqOy6EiQCt4MCMxV8LEDATDGFw0e/5bBQgY7dLzhpEoGlhkumQzY34JMgMSNhwOSAzSdzwBiCzSHrRfwUym2yB2gvIHJITxk+XPKAtBHx9SfTRkflo2pWNAtkEoMQ/wHWBmZcGMFcAxssBw3oACu41T8LhacqCMgLkmyAgZCJuUMQeZWJGiYP8XheoDLwbTNb9hnKWySCrLmrHM4MZ96ZErGhQQxXecn25gdAAVoKx2dHe3TyLrjLHoNVV8B9y7kk5XqfqwEQR9Yz16WjDCbJxGlpSwWM7GxfjVLuvvnROAB4Ot4vf2jalo2exRc3qCMlylqI6HItKUmjVjPT0zbMIIW38P+SSdGPBqaF3/ggVsCnL3ecRq9QpapTj3Hf/Vox22D24d0iZFoHFytvVtqamK9zW46q83HezZ2r/aM9T1C7X2ZSrD+kglFrUeq5zjJreMDJ8Keez9x2FshY/8o/Ho+pSoSnQhwmD2BKaIZ4zlTpZmhzpn4nfubH1oNSKRVr4fKGMoaNIMzh6g+lFPJYLfQIBJgqVz1VR4YCd3GMbz9RRkCHpKAf4QpQqV9YcXwmcbwG6Tt9Wg7bpeeeoEWpDumLgzFJYqaiNTF6W76/rIZ0Q7OxksBW8Uz3UVBEap2UzQGOH7y/RH0KyX6wTtTfzFsfqAvmRNPtcEyxdTgJdSbaBBLKPs3LUs9mP8EpEmDrF4IImFBUr7s7kDZa6u91Sa7dCB9E6dvKAXOLkrdwTyGfBybl8nh4bn1B4PcNx0D/Qkk1STnggLlJ4IT3fAjBZJB2xRShpcF1kqsiyD8EXI1iRnvrnLxlu17B5sQfzdz4k7M+jXqMahHm1MUthiNvDF0S0mbtCarqfLjs6BbS414U2RcU1VQNiAe4L9ZTNHrvFWzXGSE6Yk4dyPBwbWqMnB+jySjYusVRs1iCboY7AL8wRrOmpRUsxc9tvEmAbw5iGfBitjoY+33Ifk0TpSZhhY2+6DdPSX3BWx61fAFDvbKOpImdkm82e6yOilQ+3yHP7Mx8oxmg+gp4ypqMZ70PNtjYwA+WNODYCuQKhz/9qPuPsnxF1fFrPzzldnNjlc9mWjnlFm2yM3DWZT7SXMLV1vIVtIb5+DS7R3cgYJa6SIAvdPkiKVsJvS9ljD8dNbFCBXGZ8yPHJRFoBS2P+1L7rUfHJ/kbpXtL9bUSS6/Lvugp3vwjP7CV8Z4cXIB+yWODKV7eDLHvwzxGx4QDFlP4jZSisJx7OGdnlUFsf37x5vtPoJO7adVABtRGPPnccNK+PSH3dmdHbcI8KN4l4aL0RFK8c1vSPwzctWd1wY+xhsvRtZKQruWSzMMUb71h/2OHQl8k+uhjoBkFGeDcKmhUgHa4s+kSXbW5/Ns9mrtbAG/NA+pVLq8CGLf/N6TTUW8/eegXbLc1Ru9m9pEpmb2nhaHg0GLsjA9fFA6QXQ03wGW3gl2c+2/lK7cjIcO/jzUW0welssG0YiWSAQy3MrghuOPVgDqWu3Tf5zaFha+C5uj8yLcrtgaLKZRiRHxdeOuv4hbcOOhqqRzUOpjqg45Mp2s7Jw+KowbhkqWP8HH9m1EO1QyFKyw7IwWd9/pth6Py0BcjDnkx6pyeUbnrQa6dT9JpojyY2xtEuqsdHcHrrcjZN30LAZ5vqD0NoCDObjBdOrh3fBFiYvPXOXfMeMOOYh+YFA3StytRS8faMldhpwIdEud1z1WZ+OPuFI61Faqk1dWNqxhuknd0NeMh46kfGEVtmelPG2426zhm5IdXEYyeHK2/Nw74UnwO8H3BmKyRsKbecAPC7SGxgPgTf9bGPrpd87gC9Mdl4aDONxW+ZvX1f1+yyJoEFHgNcSyBnVAvuENPIaSg0WQ45i3+UwQC0/sLG20iNC5pj1HAgGA5GECYYNlyTV2P9gW/wcvYarwYOU9DoBwYxK2K+TEQ6JNR0Jv76VYfKVAbSS6Sd2mskWvchb96D4nDs7SON7zJBMA1ZG8mQg0Y3Zx3QJ5MlXTeVK9IOALu6pEMn0KWZ7NjBZeDjSWLbi6iDCM/FwR+Lo5obu4jPCoIfFA/s7z1wLrhCpzXimxgOcup8szsy7syfXtBJ8a5jX9H6d3v1CuJnm0gb4+Vju/G+mTePM5EJ3Ew8xdHB5lb/VSjurblSdmQZ2sUvXT+3jfxvdm+ajy3z1p+r62PtnXOlTxR0dw+Z8Xja21rTLeHj9jR+sRHbsRC7MsQ6OoKW1Gz1zo248aqZFLbs64tQCcmKZHZe2osTbLcvcd60A7QuLpzByPJGQwflQCAbTuD+1Xi2uE2L4cNtNP3GhRUVm0cxNToziS8O5zCtg/Jlrm8C13RfZkaBeKGQ55oesyIlHiHas+/QIPsWAlmj1gBq6Na6t7HLY58UU5+BoZKaSonIC5rzjBbzF2lqOJO9vC6zSfOjdSw1NfJIdWZHaqeCjjNklM8VgnF7ZNwaPd4HbO9gju9Ild0P5hio6Qpki4ZDJN+YehjuVAy6lZ/cBmES4cUKC65nvFALwZeuI2TU5Mpx2CYqrC0FgF+8Pm+k6/dcqVpmuOtiyT+UUiNnO85jd4kT8NUPVnSwXxKwvXiXp1SBQoDqV8qfOyLXTFW+ZJxBH8+dXzVgmn7A9o3NW+nIL09NeIOXh0kcFzYh/5BM17SefSi50ZklMb1TlK72yKmlrLg7Xj7quqCck8BYyWHVx6OpoTKJq9jQl8sF+nv/vvdiVJATBJ3qe4ie9AVfs1nofPn0PYug897DttLeV25uL2u/SwOk6162noBuOPuotNMPHQPBUVbbcYs+n0RoipGUW+1ZCmKV+uan9hElA+W6xe2um8t7oc3xotViEUF8PViHzcvw8DCyZDIZXfUgzEB8jv7sfT8rJIVujhcM8NpaLemkUyidojL+733yOQY4ysotXRYIHkokSCes9As5nTvkdp8ZiUDHNrmfQe3QEuzMVSQODbkUWw7AI7zqqlMmUTtPXH+VhOnneSGddFqQHquTV+/vmmdc5R/+DwLnWBnruLjr/NCmq3zUWwdoMJoZO+GBGbEhUWnpuBOXMn/EFMs1Ze/Y+cTl/d0nFFHOKqyU35LgJoyE4PveecbB5p5z64sN0M6/pt3T4Mx99g++2iXG7n64cC/R+qOp/Y3vKA8dWy92xYsT8E4j3t0uXLNJI92qlXZeyN3Au5R3GdMeC8PR4P4Egm6Oi2WNTndyXB1YHri2+DJ/6FAiETp8WU7xAmhFZsXtOSsS8Zy5kpZxxVjBRN55ZgXKhF6nTOriPB8d+/XvY1xz+4vxxP7C3CfHwClNUqI60QV9ZFKt7/jm+LBNbNzfpC3tXfLiKT+cyQ/nKfoHPRLNqsyoOSEZRoON8R25f2FZIeOu7v854Gf++tcg3y3sDtPRQo93N8wjelOEytLQef9YRyZ7p/qs42yVkMWxJrkOUX4kdMPhkXvY+jCNqWHwo3VTvZP9r7VSwOJaM5znATz3kbNFynEfUP7oO9//+Tf+r9849uWRw+fiwPxBLwAkRfdw6/8Oe5N7wUDmfU+S/1I4fikBZhjMxLabgPwXQBhIDb1ss+0GYXr/SoPsXrlnmL1rj/tWl0FA8esh/WtzqPs9xuSo3KHfwJF+9L8sVp3LfBgUUQAc7pve/bjdabdJwuTBVSxDlQSmgn7nmx0S+yhNSSexrOP4C9CLPgMGS9xqszGiPnllYNoIfq8YtipJzFTsaeiZKv5sbyEcOBZ1+d6Qc52bMqBreK18z5hSPRoUrenAV6SPldXi3LRMoZA3qSinXqeVFXIyHA6RP18diNFEogTN4Bp8aB0mc0yRQQFrS5iiaTIr6lpCq61gyrrZpGwaruMzZqUTr4X3f9aFpWXSglYnzadRDCOdbJ021EcI4Hfoq5iyYTZbYVWpF0Wone/d9o/DqgyKJk0dghmZCvaT33ivM5IBnA43tGkyK+uW1j2tm02K5kwNoRxLoWg+WkjJKF33j+Nje4X4EgyopgWCmAoTRhIwrilhLaI1et6xVcn0mzLoBVem3xfGxYm0EIMilaw/VCmEp8pp/2SpyPxzeeeiZRB2GGsY1jSZZfU8plbnFfKacU0Hvi59atFnd2ki9iEK5grFChzdHSWs/r+osF8Y2/L71B+pCASwk5oZpna1WaAqy9lM7fILVliZWwvNxtGv6aoKrKI3YOXqhE5fnlCUDXpFpazQEdRpCZpR42hKiVqVkRBcjWbebaD2klgn9KpKFpciyOGFNVwiNxKN+dRRAX8aGwA1irge8B5VVwirg0KeXqghGsVy/JVHh52CqRMr/WHrZEG36kLB0rL+iY49Hzz3d/vyl8TPjvnEXvxbCmotw/oreDrBFitY7LaUbat1iKAp+zxyP4czioZTMTc2JeAdu9swPr5njPhwToeuvMzXKmM6XUXX46UFoxo2pcY4gUsnGOquMaK3S+7AvEydiHe5AQ25ITfW3P8E8X514bOXAJVlIDveqJX75UpmTSL55QY05EakAagsA9kalPLSQuZ+4hns/4+eQmBUaYOVuGYtHpJqpnrBl3iiQH7+gUP5FHnIOsEnBT4zbjN2fZNKHw3aSArO5O4nHuhx9jPcJiVnPPS5cZuh6+tkGnnFNQwqeHcq6Uhu3C2dpAqsInctGEShWDHswKM+b6CYL/5Nn7QI09OIUhFkcq185hC+TzMwfjyeYoo9chnqTbLB7/kncPFfxOPCrTA8uEqI/jMDRSCgwNhUauwsFgsqJwXcmHKAuNqQnMVMfEUzuL1R3ZuDLxj4YiyDvn/W81C0DlOHybRd8iGCEwZjG4WutxLDdx/NNkjZE2nfa0WBx9JOszxw+dKiLw3+sO/VheG7/1pzV/DT6CC5uemhmq/cFcK4y3A41O8HU28vbms/36Vt2GwQgtabdJ0NtoxPesxxqKbuJ0l/Fz5xKhK9Tx6xqZa7lv1f7BnWcNmX/5x5FKODp3cYB5CpGiaLirPFhijOYlI1/odyu0kma4xymWO7JlA9/sQ0Q5+7/sUg3DUq0MYkGaIe4Nja9mCHczno2mO1tSCphRAMRbvsrGRKdiaIQV+y26lkqOMjCdy/q/6I9My9QO9i8Z5lqv6SRmOesC5DDazmqkwTFqHxraJhNlu7SqLe8RQEOjqS9gm/PXu6jZjT2bDNlg/Xxro+N/WeAW2mxF3z7ZxXAnuTHMB8oeu4+/1+nkck0A0vvAjdQVwOtnUMtPJPrYWY8umERcyzt2jpg2NhMciXGmH6Z/OLHKFfLuIHknxgxMG2Gz2cbxouOCrRTzNu+6i5OWYbdfGcyzYpWZbbFtco5VMZrkKT5IqCcrkoGOcpCGiAyXeKXKX4tCLCRVwwg+uaFoC7A3fc3n3M78zaz7pE1wJBh73CRN1SMeqo0O32Kl3mEEtRd41pI1Tmg1azMJXyXNBsXXYpmSg5NLqqczpacWo1RWesy5CkIEZYILKkqBqtccQWwesAY4oCvsIDXbMmdjtlXzuW+YEn0zylpZwaPVRoGFYOFknLPVGBYQJoOQ4msW3Gozqcy4muU2yQEclY2S5X5WeWDRCHHuoUAIel947dXH/14z1wc8MZCESFEt63PLV4kMHShGlGPD9+wvPXTqAanGkO18oeCcPaLg7l8fcgYMSeg4uyYQ5xV3IRVVldP2buhLra3QOzs1AF3qykl5ySc/890K3/HnxYHO03UNPv/jiN7zZHeEwnF+ZY68zkCimsBMVTo0z/Kfl5HuKVCPihjBDMYd+8HVspe5kHnb4aU0Mydv3QLMa3kbwHjYYzS70brWekOhSqQI4t12T5aECGoqEUX0GQT7IRp0CIOCIs1USMJXYIqTxPQgw2OG64nVhatU9oE4Wwb4Y14RaJ5c5Zps8vogmnWKRwz7K8hLmDkyaT6Z6bW1YdJWeTpZZbjc+68/k2xA13cYejSBea+LDUVKKbLehDTTBfFGTBro7B7q/At+N9GyxHUoPqYJY9geecHURhB9MwJrjXBRV3QKqYvlKngMZzhzLJptiIQyhAnFEWeB1ZIpVIWFIW1Z0OxNyNe5J+vyeBGznxrk+CgOTkY+c11EsWnt1QKQF4+xO7D3TvJP2spWt628+cH7+Ta9PLGIO/f3m0bZNJAp5GQs+g6LAgcS+iVSFMphraoa7ztsuUBPr2H7Sv2GKdgEdgfA8YbW1/Q9H3Zv+RIKHVahMy0M/gqoOFMhg6bjjZ9/wPkn3tnnvbk7ht1/DICN+9ib9EvslcXM2fDHFkAyLaEvWNPkcqEt6Gxu1kPypjq/Z6xsa82N4HUY2ExZY3iVJqkbD7XvwBVtw6sz6qHSTEA9tfa4bXkMi6e3lYu9+6SyQ26GkjTqdbd+83O2A63XSbTXbVsUzji7iBM04xstQqA4tM1nNU2612EYvlFhtNHjEqOkTgGjRAFS+Jn+hzJqNTg2kw7pPJWeqhJI+Kuya5tXPMtnL/PYQ3xX9gX9816E6nBr3gb7/2JHkNGGPnKdMny7ZzYQ90z8g/+fIUW4R8muM0Bp1Te8DiRXt6ADO0+3X8XbN2qAAzeLu4n9B8T2rghZznuhvXDWQPzk+4KT9qte5/MOf5nsY5aLtPLzR6mgqDbfF7nuM+01HCT+igpztA1i0wZrczK1thecqaM4rvwC72Pd4qvWXr1j1BfDIAVy3cUD0/5RSf2nwsOCmldoSwoXYSK7UZBuyDw+n3EP3Ak69CaujRl6BVtddzARQjHrmekYOBzpo+gHnVm7eSLlT0UgsQ+L8PNyWfBZHiL4/DAfG3J8zp9xHeDInC8Besi66PBsQPdZtQQk/Fk/47OAD+3LrsSpizO907Co32pnZzEAU8AA1RAhQOsf3vo+QjvWVETtMfgkD/Q+PVVMPVt99C3mqjGKgDB2AFwtmdciKly8JKGBw8fmWVtHi5aNrYORXLVy5ve0AfkA1s5TqLoJTuTYTbRHefHXD6nbUqX3hnBhj6tiXnvEXBcXzNnzLoTwAquEw501JeGk9gl842r5goiF0uL29gl8Rdo/VvKNQheuI+6her9xDXM2sHtb69OUtk4oJ6+bB0eOQi2aTKxKFIWH6oVj0sH85I9RxVuSPXw3roEeU/M4hxm+eNj3p/J9WoGmbRvyWTRzdb5GqqhmZT/WemuLiPJDFWpaaZ7sm1hGn70ozMOhGlCY0weRR36LQ0jGwU/zqc+VIqV0/A/e+4empngQ/yN6J+MlfH5XG1/nH0JwNR+LQQvD+KpO9+kP/A3cMpQrMLlZHNd+sIOsIDOB1Rqv++cQOOImTrs7puLfS8ms543jY48tdKaQwqIFuf0RG00HNqGmvVPSQb+ic1cX94hNMvlTsKo2bASg04HxuXkHAEXjIYkCVF9iHxxn3w0DC8aFxkXySSWY6BoG3zgwHerEbLbfkDM1ytdoYXCPLaGo3Y/mDgm2elIWTVlstJV7GUaRm++Lsl7SAVcbDZHrEYOmyEGjpL310cmaBX33hq+uJ+f1qun+k+KF646OwYu1YmE0y7fDZcWWnRSAUCgyj2gytUa7qvOTtpmd0XQlXrn43d8nzsxmXJvMskQwmXnQQvLXKPJJNVNBp07aHSVJAO7WmkDXQXEu0IaTPNdYx+JPGae0B6S8ZIfZvZgpz6ocQpSO8m7UU4jKb+K3UcDPGWxKkmAz0qFNGnNRCnSaQJmtkQ2CLhSCckQY2RV1vtb7cXD9xqu/3mr2VWL0QCpr6p0pRxjabSVOu1wuEVDY6XR+76a96185eDjybPzVP1a6F28NOrvtwBAqGX0HPc400KzuK+GQ5P54VONL176YViZKeons9HXjuBC3EgtotwBwFwo2Xigj6fozcVZt/LcAt77Yrkb8L0cVQBbDurmWl+/T7pcggMg+jAxadWh4dXtw0jrgnR9K5HjsjpdKpbz8nHO5e9bcff3Dv3CMfnypZdLYNPNh/jaOQl3clnpZdRl7bgMLbjggcHqX/uIGlSJas7QJVg4MXV++qyuU+C6earl8m8uuFETiecfVML2kXTVUySSywWXXvoDAzSwd0sjvFbrbZFDE6Pp0MaSwEz/XbdsHDLwq5b5jtT5d4ykOm7+2+Y33VPBp6+UDHrqTugGUCX2QlIps4qUE4ogP8+FHDg4qEzhSFPdlXCG3BADwqMKATtVPBYbH4fbIbWmlBAc+06tt0/MHPeTvvzZgb62+deomncoz5hyPH4QXUbZAt71l29V6y4Za+0tzgEvesf2QqtWwRH5jAiIhi1Xfjtr0ruv53aw+W3At39wxO9e5lg16s96LbrD/G6B0/eY6cc2dFjgbbanxoZk4DZBPuhXqoI+kbX9I+9/UnPwCN7oY7pMeARd7622UXJVg6UhsCFUXtu0fXJYwD6GRM9xYUZPkkEoP7YGGUxZi6qdOxrkhZxdPvR/w4UlT2dTWE/U4PbPAz/FJfy/xRwF6fw85gauGXkxBb8rG188pZ7/1xQvjSX/QOYOgXjPF+b51vKhZc/gDhw9/N9UxpP9m3uWf5cCOF6a0LrXvAP4Qx1lHzv+LYbkLp3De2rB22wbtl2C/zmAQQA3IjBwfIjV9b3+M20dhoXzgCJJRGBIX7iu9BUEgT6+vZfRlQe+IsVB0vnSSXK4meCFAQxHC7L1F1Z/EyQEKRVK2bvdIwC/JkwykahjCLKUKp+B3lLWvtqkeUdIlsmhc6CIE41Tma6Rm9mK4Bl8ByQuYhkGjQ50Lf/JEdymBC8OLupT2LWZbvTwSt34Gaz7KOzj8rGgjjbDO9tPT2zPcMzezDGMngOyNwCIkSO3Ib2WdKDckAGu6dekDBTEaNORPRagMS9S0qNf/ZNNOjHJ+S2lCeXgMwvfhdLxR+iRSwTy8UKsdJeNRo3v3tbsj3t/pZWIuCLlvn+0VxKbMktlZFu7JPfgFUPrrW/ryUqPH0Ya2JVpszMFSSuqOJ1cZ03xA3eTty2lHfEHd6z722vMXR2ldk3Qj95bzYwnmUapQ8T4wZ+2L/3MdqTMWGzN+MRMpR1mSbHJ+aWUqYBxkPZCAP89/tzW+j3qo4HFtDuJm9b+L6nAcgEn5cRPi1T9wMQAUPlJr9fRQUVMkagC3JMGnjXTyBk7CpFCAuU4/VjzMtgGwtWlYJV3u9qvU9DsSNFNrmkKbRt426Mvq7rYMOrjrUP69jp9vHOYfwUPn4z0PrvUAdw6kKAOX264nV6dgc7BWBqUI9Hvu2uiM8rXrQ2yiaor3Czj8EMv+NvqGVZe0a+Gw8/D2QOQGFu3xn4T7WPA7wTM0/r1zORQ1e2Pp6jW+C8rNkR/9UVufHk06D2oiWMu5PKk+imDQMir+Mwfn2F3jub9YxLqq7g7jON84Hb6yzJIMMAX/8eeOnP1yVp8n31L+CpQ6qtB7Gy8yeCWvF/SoeVXdj6fRwtIiXfoQg1XZDYd8mL9aSC9O/MbchBPm8/3nssfexV56PkxEGFtqqALkW7Zz0WuOgmtAmUal90RaW9QT1cdaNpAygflwPae0WLbwr36XMSo0K/RL++1D1sSZTGmmr5FCYXB0L6W0bRCMH4DIP/+ExW7nwrT6S8GpafQHEplxVvUPT6U9LJz+qtt7UycRHHxN7dnqZgd81US/jSMbAJrdPvDR4sr8Fqw3YcveimKtbu0ApfFWNxHtQIp1Cf5y5JHUbRZUD/v8Cx3qKjzVFLxHNDS5Hn6cAmtObt8daxsf7RA5HP8vqkixG/0ILt6N+yqZHInINGxUnmgRZ+sBMHwudOvFdevRrzSp2no4Rq8T42VvSzfZFfwh6sx/7Hu1z3qCH40Fq/aa9PDMx98rV0d09NhRJRXpTXq/ZR9t8NAgKDukvhAHUfgKUESjBUqSpLbPImB7VNx4wwYz/HOsfjPMurgiJcIjAaY0Vsi2NxNXPJwEzNmtyWx5q6mVp4S2ujWllraq+69V1ZT7HT+q7eN1QPfkPskDOMG+YOHUNsrB79xpFj12gdgxPbecw+eB4+Ht7O3ey7xOvjVyF/5uP5kF1H59Dj0N+g6XLdf5f/Of/7/q8FpwTNgqFCCpvDbsC+Ep4R5VbWbN6++TZcUvRW0cGipWKsqhHPzaqSv6dy6vVt/6VX0xdt/zc9yH+F/yn/REmQWb/jq4yqZG/JiVKdLbOjO//OuudkuG9w/3PxslW7r9/9wtwNe5qB3JGvBMzzPaOn7ftv0FxeFO8VPQsuOXC8IiGv1/xQhhYik5u1Dy7cW7lBd586XvlG5d7KzyuXq3zTvGZqOa1XW68/R3+N/qvar9o/WrMmrnqx6sNlHfuHvUjRtxouMtxk+L4+vtg2c3nNB9Xo7EDtV0NtoSW8MPYhaStJQrKSoqQa6SjSXtKzccf4A+P3xn8lp8kY2U1Ok4+QH5F/ojgpoxQlxUUpUJXUN2jraHfSQ+hH6D0MBgNnZBgLjLMYH5kXMD9luVkXsR6yvmNvYu9hy9nHsNexO9kfc9ZzNJxJziLnZK49V86Nci/i7uR2cF/k/snDeMM8IU/PS/FO593k9/BJfISP8938FL/FP5a/jH+Z/x68C2bAKtgGR+AyvA+eB6+B2+Gj8E8ERfYgTESCGJAgkkcWkBOR1chO5JagV8AQYIIlwWmC0z7h3OI8zihnyt3lUddm19muy1w3u75ePlG+XB7calb+GYwKgBj0ScAAgJoAzSzxvlSABvAt7ANuYv2O+HwhOJrJLJUKvFYhvyaCXKo6lMG4TfQEw762ZvuPi8DVTGadWQsqbt3957ZWuIU7/0Uhfx4osOdH3QGu/tsDRHBFXF+N/BDCaKQA5QCddPUSSgfZmn7FAP+iWZv5eN76A7yWhDlnNqamOB8dk2W0Zje3eaetXftYyFGhMYVbSyNviWIKAWHkQ9MAvFza/H3+Q10C7Iv6yi79ACx8A//mNfg5S6hTdMptPVBx6zkQDMIzsxtu1QjG9jzLcOa+LTcglzUKgyGjJDKE7xRouY+1sarVRdtAWFviFOBzq3NjiSKLY8tn6py54tsgRmLGKFUT97amnRUVt95asn2AFZ1mNFaslatnalCIaW1Qssa31p83nfyp7dTKQbfaPsUWOYNU2rkhWqUeXsZTiMndcDDgrw6bB7sq1edt0P8rpCI0XxwJjMJ2rnmKiYd+RGEqETap70VTGpMdzCAKWhiXRF2LFAzKrhNNg0wCZhpNsVa+RSPWEeAcWIujSXWrW4golsA8EEvwYDQyBuNPaZN25lIZXvaiSt7ptQyaa0cOBmtACPTQfRkwy6aRXeM+ilWoomjO+bzwBCi9Cgg8wo7icLoG822iNg3lA9gwCxbUeWbfxnYYdjQGxacsewavigY9qVPa7QwOhZxx4UYYNwMOSZo1Il7r3gzegDwPC9PTAaXk8E1ULjXqLWs4OYrvKMzSIaXdBsrQjefbCfD6cSEFk8YGGNwiu1ECw60AAQ2CHwD0f29sDniEPShYO1G/L9ryrG6iStt2Us3JKN4E0JMeAiii9iajc+fkHJcj1cYBjuHAubJkwR+hu4LYyFLMFVZo906yGTKX15A6UKBaje20oM9d235Wh3XRC9rOsfQWMaGGprC0m/0ChN9bTtvHHhosB8tCk6lXEcGn/7e6kuWE+F9vHTPVULshTce32foJJKg5ln1uhqnkBHn7k+KPS/Yknaft2bMHLDJW8W33lK4IeQrUPiB3xkB2obDfKwcCrAW0KG1q7GWVbVfl4UTDVvtm8v7TEtzaNzbHqFr90rDd95cN8O6J3m47lz8u2w1EvsxhI4zhSUN2wdMtoLd1VIfIUdJmoArIfLJKtR0ycpAw+5xrgy/K5zqAuzTDINflq5OKWxGXnIWSorRlLwV8eAvaoJMka19bBbGIjktESg9llX23HvYVpcax/vmB731tGw8cl6AojJ4NfJSSEHqIbzmWBF3p6pZ9NcgVtqDh+ExSqLYAxmKVoLayZCEKJYQM9ibEnClQR6pS6cWoESTw0XSan9YXJcyB//xHyK7xCxGyNTjjuifnMt6kP9g5E3WY96tgMnbSzuS8UsxpG7K6nigbF9sBedozgAzxfOzo1PObur3H5zfb48yJWaAAEY+fhdJvNEGTJZP2Ixdefz0D5ZJbb70JChQ1V3/Bgl8HvQAPBTgphJhjk6zfvJoYU316RwChXJAs7yLwJhiE0u0jtNRs1uBbWkEkEsH3IQBi37aSOaReqD4+qpt9cEm1ClaEF1h7ett1KlVJOP7meV0iWm992vzKb72iV+w5vVJ57+HD+J+OfHRT2/+Glcd614yaeyYEJ8RiC2248pP+/eXlL5R1d4PFHbXvXVeFPq9vysn200q88OAnRz5co6IF3y7XQVa/uDX8OVaj9S0LxxmQLZMGQb+duiE+0Hb6lXRTJZiFH3JtPuKHiuMk7vYH/k9S68yUs7aYBKppTCbEJa3HWv5fXBdHeiSEENFQEyFyyObzsmVwDQpq2FjcFLHlEyLKla0+JucT3q9JruXXlFevIbl+OKaIbZdoHPbPgAcy7lM+uiCkuYrWXFx4snAzAznTOM4BJrOghB5Wumwk+0TkK4NB2OEbf4nIL4kySdXRnnVqIOgIv41WqmMxrTIUMugAp5WRYoCSXXQzjAQBTNHE1GqY50ckIxuQZf2R3IS1U/uhYy/WD2i/22WaX07fFuWolNEtwxyui4lDq1FIKyNBI6+2y3cPyeO3WMmrL+rexb0U5dp46XBa4y8ibSjCEB/Yt/FwQS4VcLjeTShHc8B2ZdzDgN+t5idJD3baJHlAriGop2rWOkThrXvLqiv9+UKITzZA4bW90v1SOGXDuI+9sgZqBrm0i2Ieq3asV1IGTh7O2//+aSFNwslx0K3UjGg2uowmaBrTNhzGuHywoznwNCMJT8g4vLzLb53WS/lILC7C7TmOHwP+95zzM0jb+mmThklvb3SnH9yvB0rW9u4VcT0t2uuq7oR3q3jNagUQcvMwXvO9F6cVJtteG0JpLMqkGb+ZMuuIi8UpbNeMLzc5b4SXYr62ZYuWrGfW2ectzYZZ9fjwpG4YUctSD3sOMnwSf1AoJuD0ZgDT9bTUW+gNSg0bM+Nxx1wM8xQd9k8P5+00vG5cb7qWT4gdNbE+K088yrIiAHG8ZgHE1ZJkEBdAjZLdECWDQhEL/A8mFGaqOhzOduKJb07Us+TCIPJeGXx8UUzzlwXSRSr3cBBJc0GlZS17ZKmNrG9z38PV6r6E2tzoaLvspXmTdGr1OiSFHVSwGlX1vRgqWRXdOcKoJGXaXHi0JeI+hbKWl4UmU2MddtRca3CQdkUBwsXKPDQrwqhmTHaPDw8xggslCNRxpioDMJK/UkglcZ0APBZN97a39w4jEGRMbTmsDrfPT4IGNfSXDncuR2LHAR2nqRLP+ZEQKQV4RVOsq8S+KzTMr2evdI2MXwyUFy6uG2iQdGM0CCymCtrQgg3vXDRkxUQjqOAgyX36IxJQjFi0802/vKIf6T8sU6pcadTCGt5PjSpXHi5h6/hRazri62PubEa2czH4qoksAunJumC6DlI1RtujwC9sGbjQgpc5hkKzNC+tIR6p+oD6w2yVdhFxBRqUFgj8kAvtNK35XFbBgatAm/0uztWEyJGYaWWdw/fsXeq8KbNbfTJaMBs9DLbZFlS+RRz8jtX9YstWil73VOUxBkQrSxYIEAq9W+T13mXXnuGr8IWyVllfgpTOOpwGX1FCXAc9vhksmzjkkdMuVwIaZJdCXBFXeOCwwQy198e/LExMoIOyVEsW24b+Xt/EmrTUYTekSj8ToMav2HVmmmuTpYvPYtg+gw2dpM6SW62TfE7GH2DumTfLAl8I/ei9gnfzkKdj/CNu4TR0p8mqfFMIValZZVyyIGOTvw2sTNfhKGiq5Lm92AJJJevdJX6X4epRGJpVpf6fyt6GciPxoOu7OwUJIrtD17zJzlXCSWhnZkBB03Vl/l6lOnSZXPMn7WNjscU67ANRrLcPShaKG/cMpqWV3Q8qd65Li0cztmVqS0HygPXgbJBak7HWDyKJvzZJiwl5U0SvAYYmZ89rzbyQM7hiIhVvFUJbQCUf/2tg6Jf8FzVkGsDqigrNDVpkdLQI2+AMN3EEWYohMeIre2HFgmXIcjJoayIM/xgqjQ+FaCHm3BavPwxjNGvJeOfbMahKXx4gMWgDLDHIbVYFCekjEreNHsQkXnYyDVksbgbTICxG/BjNwc68GfK1w6Ar48/m77ln1+siHNgdn0gtfIAfmbCDOs1aD+7opEPPXtm4xsTsX4B5ivhrupVEepmkRhvTT5WomfJTTlVbAsTYWlC/YpaFP8B/Dun1lMembp+3NOG1UuC941cTpyj1jkZmaCkZzgZaWuBMc2poeMrD9FslEzaMgij8zM0nPHm0s+leyMEMSm7o0sP9tfpqypmhr1i4V8la+pPDSgwnXvX3XdK5R1rWwcHQQHm0foOgvMxgcdcLeuGi4Sudj4Gvcvfdu17rP/m4eaGZDqtRgHP9fL7ve0YDfCRZbaBcvGLh5jo1p9wjP3s9uePUUwhZqbF3ZGOrIxRYJPbOrFNoBvB0Db1WIJKB9Ho3kCtPT+ZcdrRPmL7BoU6ljnyDhTP7m/r7btj2xqkUDrPDnoPPF6HB3NZ75/ybSB3qQVY7hFJcAusjO3NA1M0qV0BR7gwGKYc1XbuZanUZUYgZBZKqWF1lLRygrpBhwphzBgtFIBxJZhe1f5UUjDa4BHc4M6o7E+HCLVcl1ln1soxsyeYqPQMruQceuAkaLGFrO6H+QUiFG88fuhOz54hQiuLpEJDAKKqXOkbCVBwKYCSjdtVAu+DvIBCz/Pq1PLZ1ReExrsCF+UsZzPYBDZjwFX93GhJPOW6UCkdIhk13ryKcX8OYj20sGUBBYhhg3CzXOBIcHZeMQBcLKjp8SYRXYx0b8wad0MTJw68784xVMih4HJIaDxrIPt2RkylIYShKGli/YnrE/Mz3mi5KciPyabS++ZXjJbKJ2nyYPKAaDMJa2O5HXVXUa32kNKhgFMEKu+phdqZ/zqvTCrllMYC6ztZL5C5Vn80A544jhYkQnOQOfkkgiE1XmADR7S3JGEd0v+W+n47sS0UmZNBswxw9Nv7mN7/oPTmAPMvUZwQbCdkJ4/hUhFKLDJ1ZXwsEgOZM2AQ71sdsAvM15jDJ5TqrzbZQC9/eccjKkMTNVhpi/ayzIguCRBKJAjChjFAjCdm25crEFdPgnFkd1zlWR5jHDWTrbVZgWqRwfOOkgF2nv/+vvatzbzhdIMP3Q+mfvKn8wQYUJES35/2hui50hItEUmCabqbS8afzFephnt6XUq2+sI6J/nAr+dpX7kqa7mFQhjyz22ZC2NB6jnliga6YEzopRpIpnYj39CzO6H1sUuscM7jXYLCC3j8sA5mw9UC54fT4NeliVi2b9zIzcafrNbBaLDzjQrVwfs1A/b5eDt206478/0+yjOiYAhlVQkj5eHtaO07ckBUhRKYoMJ1+1fRFC4uwahqNGwtuoTrHxSe1hTARqwKNlSULOWjY3HWxnHA8mRLlcKLUQKAov0cPjIMcTb7Sx4Fy6y1xLyqbjnwMnizE3hVFKJm7YGhN3yhTSgOnZViw5Mab33+4B0tpck9d5lpQqu7uo1aVoEQeXxf4HcD/xUWS1oadMFmqeT0DO3kumntVlarTrciSDnlqmvJgJ1WYH1lZcWn6XGlc30W4TwOYa2aYKDipPypmZ9/Ia2CFk2iRRZ1ecmoCMYjkSW39eq5DYv0oC9DHSmo9W01mCo++1E/aI78Y9cyZJ2nzFOyxMR7Y51H2MEpP9WLvjx+jNxHyShV9EOThoKht75sSULREFIeNvwsCyPdUyL3SfH7qqoJqDrdigofZZ4Jq8OS0Vzh6VeGWV/G5fRwk1fqADPRafGDgY1Y0EDTikV6kMJvL9hQAzK3i8rsTeyZ84pCW4RRMo7EFaOBYHfMCmwd29CTixR6law5XZBcvZWThDPLYnV3cVeKyQs7tInuLkGbJ2fKJy76sa20x0O/tEjAegRszyyNwc7cOMBc0Ocf9JIt2r3hkoRPWIWJ2VJNSMZlwVrotrPypa1f3LHlagme2qxBBMEyWnDLILt0pzDmcXwKO46KMOAI/fUpUHO+V6xGzZ4HbOP1zc5mUi1EAEkDvJ8rpOu6Df88C2GiVF3ofi9BDcHz7DI28wzIPdkZW3BAnYqkDloE1EIqk5gK4K84p2wM9V8iR0mY3+RlGxAMQHBtYEsHzCTBXyS6Yh5qpB43PxHeAgdpB15RWGkVdPnZ4/pMGtmPj9Xwvs3MEPXA67t1U6E82QbLSSdurVz5cRw2M1zH2x4qu8eqAjPJZAPUCDgqwOSrkz34jWN96Ny1oGCoOAjokJ14SYAPsMmPfCLdVY1aYpwLKDI0XU9xf6Umq9DJDYelZz5dmzGdWwbSwWVTo9Hetn5kgpw0HK+baWwgMbHP/9kpUjCQ3lAVwXNCaaZATc1vfn48ft1npqiOlIDXqgIVPhUhxhUx1lYP644gXsqfjYzt5I/T+1gveekrdO9wV26pnpyKn0Fk3ej5uOFebvAp5vTYHnAP4QId4zQb1E4KAjUytNBXe+KIiqWNpSOOTJiYdKpUjFVmN9MvUEjBrpCO+1Uejro88AEIi6tnK4Pl6eeMQk3fp850/GNlJ6WMy1PC4X+0GII6bupTOzU+NymC6gnEF5EhBbCHoX+mykeSJyFUGP4J/Znv9tNjc17AhzWiHxhvewOvi2Y5jzoSZM3mCgsEtbehj4ltt28fsQTXSZOYRgMdHTfosRw5yYe+lVZW5fczkFELeCV16ta7EWaECMa+fJ2caoZ6yaAZuV8N7o1fLZa7LTF6OMJxjtpQkapePcxd23flO6vhT8NlEgPYp/+cKuB6YOxGOFcPdzxIqYUPbxUmcZden+S3QLwsF1zzk6U5LdP5kVMdPA8c5zyPje4WAJ4pI7onqgQock+1/b94G+xWtSqAOeYkvHDPpGbHgD3+5gHHRt7zXvaveVe8yZ3K6nI6OkA9vRwjI35qTyj0AGyleGJOXUfn7rbo+CvdI/YNgxLP+YZ7ih9fTEpqSYqhYvfJnqJMxj6/nD15VXIU3XDay9rMTupFd4VYEQeH/U8hzPQ177FN4T+IalH8gFKeyh7DCBSWCuG1l3AhCfD9yygZ0Ijtjw3c87K+/Hu2+1q4XBBsxdkDSxASZHp+dzKxvRQIwqpA9L5hQtAi2FWZyGcuKyAHr219SpXy1fEzYuefevh5swc/7FzI8fs746GhH0Heut5d6S1mq5+hMfj9VqlYN0qOOB7xb7PRsBWZ58Tw6pCjUcUsZm9OHEj6qBVWz0MGTglIdg4kozFcp4WESWCQYJumd0D0M3sy4Q9jrg4M+xkkoy7+kkIR3xxmvmSEtyKO4EMkV3FJwh5UxjvXBDEpVBrtrHuaAgfTE0ZCvd3g+CLaGODFBQfQfXWelIR84FydFeb6X50QgIDh1qMHftuiNDhgHfIo0af3lT6derjJayfaFFX82qcNxC1wIN6D5SB7HRjiScTYVMkHuszwVwblSj7SXwYGnpkY0ZjiRLaVicTaqARGBIfK8UIR6FMRTMHMDKx5Nh2aGdhk8BqQ+J7YCfpknNqhkGtzOaizZVQwFplu+BWMuFoS3fu5R5w1YyD4wIKNnSpGRsibuVmmrXujxKiq6r5pQhDjEgDHLwa3ere15/0QGbdi0IDkjnMII6saPFmMOpLgXJ7wWo2ZqYqJSlXkKlq4MklBx6Vj3ltK+gUJcE9MJ44YPVSAZxklQVKwy6KH+k0yx1x1Q7y+ze+EmI/DVk+NstDeR6O20F26KmtrSGN24IEWKuwDpiEj6d7niG+tFC8mN+xFpuSvtoZorMKtyVyRe13kcHnAihpEapjqWG3e8On+CukRS42IaTq1OPmwyHF2/uUs4dD1bsrTbfiMbGgY6HooqyposD09L8BEXi9tL95+6lj2v6U3Ca7PBic0G+sqSBQakEF4vdqXL3d2noivNzELnoMRmngVkgAXY64+J9+vgullIKabcCnlrOaPNXkApDPFOXeIhbBdXcdtlE3/Nza1BL9I5ShuRnsV1/dnEcmN14EG16IQAPr/BHlIzrNzmFecy8GdJnc45XKPY0arPQo3imaK5BTxkOLYPOfzhPYGeie9zcmsBv2EvOLjYB8Q3b67t+S3IaWnyN/GcXwmwx+8Zh/fiMPg+DDutKLucYccsgGGRq3+iQt6a0X79Zh9zsJVgUHRoOWk67jswmgjrJEyN7r6OfMh2PHalE3TB4is4sybUt2B7xohjzgxlKygHO7qNPrC62TijUoorTby37/29cHEBPAp+57c+M3CePgCwKE63kUV+DuTQmAiKr58YLmrk4QZnGtoXuYhJe3hjlaCrg3XbwZp2J968qJTv8oNIqW9ctDjEWiObM8CgmbN1SiotxL5ZOhSaiXmFaefvB8jzOLbh1MtrVrz5/NdZlyYYmMQbPFFEHOv7MIwvHQXrDbhZgFP3xqVt7XqwQX4zegA26YcEuLFr2FMsmAJhvbBChIq6GO7lFWS/v0CKHW2PeDUAYxEouW7U5HRWjaVWR5aLagVKxbFUGiytkzhCxhFUzvhijZhCMQpm9NMcWcWAfXYU9RunnaX0ZyYqG10h3OyMclSlcwGRSMjps0uuQ7sHi/y6NtCH2hhdWIj0DSGwkN8oOJpuzAuBXpPQzhi/FTqGGD8bW29NB2fRjKN9PJrY4gNpFnViKscOivPY/CGttigM0BKiBFGMW71upETXi6SKNNW6dctLk1qknfZ4Yuy2fe9cvjMfqC5WZW86GE/5qtM3KYsuj7+mhexQSGOjsYezgd+tyD33cdzotAln0t22Ev/o6yIjbtftO6au6LPzwz0X/jOutMXs7KndnN+lrOPgeEButyeEEGl6/tf12GXAIJzmax5aTsrkmtcaUBjWZ/hqMaMmDaWWmZtpAYlC03ECujFHj0ISE5fEbRh0JltEJ4PgHLWqSvJdHQgvqNEaf2wUNPqjXyPWOeLXJ/xBGQx7iIjxflACRpK9GIyy3QFlA+KQv9KmMF80wHu/CCmG+PzlATCG2eOE/QHchi3CV6FQ+/KW6/XQUjPGHrBP1MFKP9k1zYxeKG6ENbz8STVNqsmigQw2lj5K6P7BUJJQViK2NWbQAUdz3h7Br7rrqhZoVz+5qIVACdnzUHTlROo8TxCv/O2n46CTvPw5x9/QJaayE4O8VsP9XRzHwD/i0Gq0oykA1rYZ0B7lGTElMV+q2fWoI99C3HG77BbLg9xUSatAP6zFVGdD4qUyZV+ZjAjhfRH6ypXIDowPra8yk3SEmZCfp+l2YGvvKkkL1lNoi19v5oU5g8lhMYljVIiY3NqKd3lHyP7GcUKoyz6wXT4QOX59iUE9lo9lB6lUMIMGTpJcVLx2UoQd+/096r4zZhddqBcgcjVaHGJrPTysyp7cAlAg/NsRi6IfrjndbBh7XV7vnl4gA2nntFxzTPM18FrNl+x+/xdTGM5n7VqbfvSBsbE60NAzEAOdNwpda8bV+0Dlw5cbIjqBuOgFViJRjr3yiEyJgRPR+TAzltmXiEQTHC1EAQUMeuuQ2JjmhRHNO+34gvgcQSA4GJVbWXLXVnTby40WXIzkDvrvK1pyAfiGafd5A339nlm2DQyNB9c1StOdPzUtBHfqf7DVTZaui658EDg/8g0P5LwNO0JlJWAUKxwjiPl1QRKRlo6uhCwbMRiFdEeWKYrypI4Ry7s4EczQdNgNY9CkKn/y9g6tlYvMZS7KtnE4jaNc0mfLjoCnPQlqpQ0q3V+Fq/gFiIujdnRNHGZAclOmWj8SOrNEW6lkjVDgO5/MJXLdMjETcaBZO0JX1ieDoAKLFN4HJPhIctMVwAFqoYydTbFKVwbw7BbOHetnsE7vDpsUx/WgPyfPAA6+eiaHv3eaLQbCZPQ0BlwnEITIuwpp6byL1mf/og5KrEYuzUxLM28fHhaCQ03+kp9PHORgYYMg7uxn2DyDvjTBzjsoFM8D1aKTLukUcDV8za9684wsk1CkTzWpSCAbY8Sfl1pHjMiWlMB5yQnahjBBMkJDarKJKBTgKdO04vdtlhdlCYQrcbbciC9YQOhKtF+nOj1DL+UMWIa6z+vHwwKd9ZgIe36vKLYcPw7JxOqiWcvl80bxuXqawxs8WX6heATy/YL4Qj0twdpWl58jYkffruf203Nv1JO2GO8XtJugRJkkc4tWkrmiSYX25eTvT0cPfNEHEpJGTwd6fHvaUdB2O6/nuUmNHY4QlGeLhLBdM8m+6E2IcxbwcL0Mb8lFlFpyBSIBZREYZZOsnmBUrA9a0TJOwKXXU81m6EWOi0egNcyTi8pf6tR+Bgn6ArsEVtnSQWzI6+4YU/UinvDGa/l2IiecGi1ifPSjr0B+ODnRfdhBxN01GHogZI0NMGqtZXv91OD+NFyRYP4qPL8KJKuUBmPv2cCFheC5/3NPm1tA6YNfuUNVRmdzhyhacUBkcTD9eB9fj+n/EdICDMo/LwVntrsfCNdsUzcuwIZMUXmULMJbsnrM7w9WOA4/IOvcKSstD4ddxEKSuTSW05c4iCMTLWew4iJo7gyZvIofgvJcoZtMP3zctJrzWk2XQG78XNZHuXaQAikSRgDi4dQnini3e+s4K/i7/ZmNE/Xvrwg3lxwt4Tyi15P/+B5msbw4sbbGbDfriri6dt/lgTtBd+nWlwIZbOSl18jS9NhAcTmcSWixKR/Hb9RkEE3XNuR2su3m/OsctAiumEaorr03eOJGuAx22jC6os/u8fxP/yeXuHYU7Pza02klO/HCkGs2kxpo2aAicuzCq/W59gXtkbptOvhE2UrgBrlqr4fMVA8dDtutPHDrGpj8m4o35qhwbpDENJ+hfoU1Fs+GeuzlwbBPmII2gtmWrSyHvDAUXOguIhXuejz3WfnJzQjSEDu2p2e4mM+qsbq2gyT3Gt6XgKMpeuFVefm6cT1JvmOy2zcW2jvgsRcTyyIkki9mMJQNDbHY3//e0XHkcJXLwNP1e9RaMABbcOUpHm3as1Dum0b6KpLaw02olIWO60VMq08EoyYJmg473dPqcWY5WU9iuZhRgUA1eRFeBIfkA9Bs974WEc0fjTDDsZOp14Y25J0/r0E2FOtWR292nUEaFElumHVHJCBjsr03K/xM90VtY0YP0ratYju3/PxvZN3RfDee9vEJq/DcGp1bQDrLciTEkXRADsN6Uu+UmFH4GSdexZN4O0/TcRj5kdKgkN+4tQORojx4xjo/2sDhMTiq+bU+G++JzVxnjumkT1JeWVfmHdIzw+UdI/tlMdh1mQQdxuSbj9YOVNoLpd4BN9rJY9Jvl0AW5rcX4tNnisCRQM+YbYQkg27LjaTsDEbJTRSpGK/x7ds7JexQ51Srm96UElUogoKun0jjx/p/G78/iOtbbgAFAcxPDP6i52zZSOQHvAjPt2sjgOZ28uhLv9SklffknZqrqgENroSv+M2b0pHtMmQG1K5TH4ZvW4keRJpIA3i7nZhAuIHWg6XwNhMugJTq3QhpXPql5u/joJPy67a7njhJsWQ1HLO1TaVMKFud8nmRkCCGISLU8vpcVuaeDuNLIcdw8nDRje6frTrCF9H996M490OXB8tL1vY1dHcDVQvZcd+S9Mb09LQzjuCJZDLJ2xuX0pnJalY2m7U0Fs5MLKyZiYXl4Zhnd0epDlt2z/NTKos/wsz1sdBvUU3BTvi6mX8pqNOE/SBYVQy1YEQGGcw+DH7UigvEiW9IkQ0SEOnqJMx0kPO5WoeFZZ4P9NKxiIhAz0aWNL9vM/jphXEy/UvL1QzTtE3E+4a8iTRpG6FpHq9Xdtrmglzuke9FVCFY+0D73yf+G5TLhnrKyFFuoDx0tEDUri+d8UmH3ysqX36XZBm9UWjbSRL0s29NJvwb396MHPR3+aa6yqFv3Lmn1poplfvOuKGHe8RNQcv5y4XB7dSVoNM4wwmBrSmqH2ZgjQ2NRGz0Cg6q1XBJKsV484wUfuw4EKykQHMf6SghoTxJ/PDpr0QJMkPE3ObiKhi6bcAdd1NFBz78z4fbgfpoIUitEk+VDiPWR45EFE0qx3mwYdak7S2VSuUcli7t8Yx37Qrv9+8POnh+innkNOH1fzhz61GS4lCGMid8UmtWXbEA8AxIX4RyzV1ntyxTSfnLjYo5NYRHEE21IdqwoGoRiZDhdHpSwPGx6yzYZJoSBj8wETaeICcZv2ZMr63zBw2o7xz/X3qh2QRnv1CqjSPwxjN7g060gfylQy8T1iViUhQkX4SW/LToo6PuKs1jU275ZDIJd4RTkoA3dbm8KZVKx8Q44pah41zUXMDy7Dz2fVt9yYCJ+4Gt7wzpf+av2RxJlcRSXJuMxz3/zfEOiJX6XKrlP/cPJ8xp+SZt5CjSkegdlFaFawSd4NLCLOOz1rwYtkhH8RaELxhg94F9pUvMAmoy3RBOWAKBJ6VG48H4pSIv37I8mXwWPLtygR401KBWKL3Ftr0MBtFKGIEPHMHzUTwbcZq2U+mT+VRju98OnPm0hRF2oMnziIuYBrrGJDy0pmeheGvwzwpk6Tf0FbLj0s3rSiXDxJVcDcH1mpazLurQ00ptYYSOIXaIm8JBlnZuwelwupv8j7dFSaljQ0E313k9hjZqcgrhM+0K9ZE8oCGBlB2mEtzwSpJUKEpBqVTqfF+Wqy/QrTsRZupU5ftHaWcEiUSZbyzaTjLE16CuVE2r9GAVirBOR1vJO4aNuqSaVHAnyv+JKjW/CVP2t5PxeNzzpQ5F8r8/ntdM56MHlDb4gqhA454ifrFaB7elbA/jscXxYBAVSi0rrYWJxPGICU8bBlGpMItlN3eawtoWtSx+oPyFdw43PsHozrDGjh3FtiT3NWfr9Nz4h8BacDrPCGUTm4b0o2ZqmQ7DlHgsi+P1qSkgFObAAZWqNJ0+Sfo5RW06dTLFYNu2TSaT8+xCIEAP0PQJvzHGpkMpdSSEP6UA6MDGq2b8wsLvNZE31yRUEKukItgI7nj/h9NbLnE9/4dt3bMjtmWnM2ZJkmNyLp73BapvO/TJ+AV/GgzLR2qPTHdczQp95kvpHunzUAD5CK25qTRJWzNq9Sa/A4tEfoeGBXLXKIqRb6TOCGESFgO+Qul0Sg2/QLc8w1aSCaIkRw6UcY7yChnOwk09LpIwZRHMJhkiPBRX/632v0sTnZeskN1EvRTxH0glG168SHtc2Zltlhl8hU85paSmdZr8ZvzyUXe/FwkmxFVi5TJOtlaI2cBEq4cbo9VKDWxgS03i96om4AWv0Lnuq40CnC9nymQPd6LwaBwLHN0tF8XNL+3VGmBeLnYudwMFJzj9Jkm0t1Lr8cvdlq2qwiF1YmpAhriLjro2S7KCqTHMCIr4GGYoPdiHNmjil0TuXdgXhxV2Xyimczy/ANbMV3QfuV0u0ifIxu/48dx8JxCFMke+5gXdrXZni5lrb1j0Jo4D8OiWlXTY+s5Dprjiy6MNr3teJ9phRHnl4DBB+DBYgxN5/f/UEdtl6Dt+Ib7fHt/E9i0iiyLgGbabdoBNl4594typ0dQl2aLw7EW+N10EWNh1aY30de8lr0AY8gHi2rjfji86ShIVs0dkAgVQDLJ0iRmMd29G6I9zSyJIdR4GOxwJzXSTFw5tEKHFi/DdoBdgEM7GeerwzadEbBG2Ex9vNs9nIloLnT64LXjjINYs8PnAnV+oXLFah59wqTpx9vmrR87H2aO8JntqCtSfzOEPp89gNXWPSE7Dx0lzwha4PBA/8zgtBo0yKJIfzFSnozojRtJoc5WuhqLshNYJi030i1oAR3SpwjOkN/FNd0K7B5CY9sIwSBkgWnnMKAFEq5X31p74SZFyducuBnyyWTOzPVsmyZ87KgFDdWXm9utt75rHzu0Q4cQX6SdAWzyNNXM46N1U/Ce+8TLS3dW7X5QSDpPIbY9Xv9bRRhnd2WHPctVxt92oVavXZQsdPf2hYi1w4bNWa37U0kAQFpu2WITRdEYQU9doEfo2iJFhXFh8cjizQ3y7R5jCL+TEJqmVh3s2X/zvv8M9o0dkKLDixejep/TzkuvDC0bb579L1OzcztfOCgrQ4XBIGAIr6ZlzasrkxePc6DxdhhV2nAG5dyozJgS5WNTO5UyVmTMaI3aot70hNDRCRg/I794lvzzEcX2Xf97oXbQ7Im4L7L+OAzq6CdR8oAxV1zIjJSuS2c/HFApLVBeSJdQqeCKLQhTaEJvWZCR5wNiUDB/H8MX+QS8DWKxL1q9L29CiwoUF+0PbCwX8cJtZLZSg60OqeYBFqyeCnbjqRHBkgaV1NkSvZmVzIAdskI5OUL01eyFNtOBiGtvtDaUfjEoNoug0hucPms3wEh9WP35zRJWgwJz45fU+cN7sApYCN8/7/MfQXnl/1jKjBS+Oyfc/6wr948vfNPcGNNAqE3f4ysRsdId+BFuRmIvPhL6FLyvHUi6+J/J3LTb2imJn9E8NfB04lHh95sn+79A70ug8SToCt98xe+zWyDOigLc38DNx7NwgumVZCJK2dmcBqNPJbQEShILQHL3bwzeLo8UcYBSf202bQpqKAizcIuhAbLdt2fiMCBvO6FWwHJjPlUqJ/vL2zHYxn0tF7UdjygGcOyfWsVbHA9bKwTCbjdV1m1jblsr9GXXtltMWT9r1CbbglwyrtaB02vloYzxS8i/pBDxbefK6v+RxvgMf+RmwtSpgfPdzAAj8lyNYGz0m2j+jHI2pj0SylHNCcO5awLEAB6gQ68DWH473nb7dHeWG7egBCi0OC1SaDMfAKC2wxge2oh0Yr4MO0h99wzlIdDOQ0sxIYyBTrsOHATJ8spNo1Nnj8Us9ji3d9V5/GajLwjwD4rBrTytBf2B3dMrMDHWs8yRphmQV/vBLaBkJjvg2plKAVbQB6+Hq3lgOOVv1hlEcP+JoWLP6JDWZylOMopgaeMdOqs8QdKWVX1H6wGKKXM1oT0PH4rvK9w4sngVlCeZUbUudm+w7TzzXOIU8bwBBAt53srXnhyfTxga2sp3w7ni+xsbCh6aPMltpaI7OAqgWYf7uSx6+s7VSw6aIdM1Dxzz6K1Ku1niLCYVRE1aLnWIoodMeW18aZPQy75PqbDcGxMuq6k/eM4PPup3EEOWFg4oSDL/TsAWDk2nOFsn8PSztdGYJRBoP3Ntlg2P50HhVSHqnlMW2Wd7DEcSidtrkoZWjUd1hsLWmZxt37IijlNRzsLhTLCWR5yd00MfWo4+jiGmUY+e9NAxHEWQOy9RaEkPlL6CDP4gisUoPzO7sezWw537vOwPI3S/vrHYVm1BXzFmw9S4oweTFsmaqThksyyx1FdakyfRaB3TeXSoR72qOg+stWCqzomO2PeHb85veD9ay57r079YZgNW8VnOItlYHa0VyYxAhhVWLBdMjTRlpge5fl16TyPV+ynUN/HdiSXLNLMrehRcvb8YTHa3B5Md6Lw6U8ovdDSLVYR7M479fURFujeYCw3rUdRR8vHW18+PuMPC+EckX+OPtv0u71X5OL4hN9eTQNfYPyO0nBl0vee2/Ppy9yo33xVnz0ZmksymlldWimuiZcHcymgMB7GV1t0PtHXUvSNHkcB2HL2CdTVcPOUbkM5jdfyoKJ2RsQcFD9VHydF9NhbTQQxpQYRhby9oa0C/fE3UU9XPj8A68MQUUwEtfShRoVhwZhxRw3iQNBHfDm9leZ1WlKxDEknpKZadUDx2KXtLR2cmlMtLZO6OxwQmKjMVzflxEqPYJP8yhXSJMZMORz4m228p4guiwvJuRoyy6MCK008DmhtJ0rhCQaeyEpYxbJimQesKRrj6CbajWYG2iN3NrJzUaOwnWeCLnZ3OLSfE6n6dx0Bs6piAt4k5YnCm2wrFr8BK4GIpZqUaV5hWoG0LjQpImJWnGQPfi8J8SKmA1VnH7Gly6jJt6azQ9upgp1TrGBB1MA1fQwWpFfdERimG6u5WyC9qCy5Pct38QUhqG5A93ucUbJ704PiwCpxtKknGBVrKC+sJyrTTgkzSy35bVxKNvGx+dPAZbaqJOyK96NJeGPGlGmOj2u7p/i/mv834LRb3ZH7o0N4ziEXEGCIh4iD08fBMtlgdvuRjDaOkpDIS14Hr4Bdfp2iU8OEzU4kPFXqaSTlSGYuUC0SDpZeSiUUGd2dZlBPOgNEI4H+sSd1ZKBdBDNe1zunwBQlIEktxyGw02NI1QenUAVvTmBM4jyknmrgYCDAK+f9pQYEJChe4/qe0r+L/VoHITXFZae2yF6VyoXjxLAYaXGrIYbXu4J8ag+pmglkrQnbe18alDjjAom+ftgOLy6TJUKJwc1B9eC1h0yxxGMTKm1EAJw0vIXVpp29ZBC0tKji5KLfij7w3bM/i0eGFT4Wo5wZ50KptVDG3ROSlHvM5gwLSGMvlpdAvOaCzWwKigVL1j24jb8fWMmchcsH/Jyf7RKvKKU0oSfEUfzoOk/AksLra3O4QwtZcO4Ddt/3s8H9GRoByK8ke2Mg53AAsFtNubStaZ9s5yPm1tCFHWCpmv7SDBnoK8Igb1pMWRNB1BT4fxdxQzVjxjAf2Bjr4sCo7v+Er4VsqdBFsoHvKjAr8x46UoJSqKKPDP7SL9GR70FJgbgtxeP0qTMozzN4cHFpOrQRMmxdI4bJi0oagK+pIl3Y5yrFWma0g+Y3dvdMUuHJaXVQZo5Cc/WpwYlqn41/zvaGba+mVqk32XGL9c6O8etsfi1sa/6tIo+EaH9y4e7u3t7ccAXNO0sIXftLfd14B/4TAYTFark2L/aJcTeqTa29uRz0bQlLm26MTnjbKhIemUyhjmZSzH+WvD0V1fMJA1Ix7VgwI06jUlDEe+npOfCFgnhC6CL4e7MII0xon3fpfcMe1Qq2fsaAbtT6PdTjcCTj7XI9GZXM6YRfRqjhtWj+bOA/O42+Ghq4qLQk4LD5ZLxGIlNitTY+4CR7oAeo8Q0XRxv2n+6ZqGgpZqsaqvE/BANhzyBADu9p9WdWDW6hnCJ7YeyHj5XzO3qAWOCg1V+xRPBIWecawH4ZgxBOX5joEN+SaFPOqT/93Yz6p6mkc3nqfvAXNQBDEo39npiaL8CZWa7eqlRwJaJ01GkXAjfByIYjIyPanJtq19HZwRIUKvXDw0gniOgjBXxjOCOxv1vc7BCwY/HAdyDKAPllBo4S9pUq4QMvDj49ZZmV90jYUZnOPFkvv2hXprxm0drwioKc3IUZCAwB/woEO2jMP9ZHyLuM1WKz+V+vRECdjWvsTxTRNI9jlE+KQuCKyjA7V4/Meg61wgWRYIspu1NNJ2Xtgand2sEbIUisU3QctiNTj8Xjdbhxxl5hqjV3sbYNyzI7P5Jw32DYyOoht322i1To5VVjD8xlugM2vFYk2puXWl5boBRI8WWUuk7ON2GStUm1Il3NFyuRAuGQiQblX73ENRBywXmb2IOY1OnOY4IPwhRMi6p9P9MqQy49Q7s4WQcFQiwfOLRTQvelodAh12qytPGG9s9semgjawIK739uNbs5+v6u+EfG0UQutCdZwFD2RbRqhg7B4MTSkbK7PcYNm2NgOwG2jd+8o08gAF1PLKJ1usnpOTbBX5OozA5hNgVKB4CUyT+0eBglqF4uwDx1nYjG6d84+hhzufRyG3NpCzDztbL42e/es4mmF1kKERKKiqpeJivxPE9Oex/bQ3rQVe2Bi5JjPiB2zxRAgv61/S57T75FompwTLpGBZucR2yk0rWmkeNU3ziFm8Jrk27RPs2+OtCMZRjtC19p1i+EtRzkIIhaDHRhF5KCtDKP2Rd9eg0+4XGJStQR78wW+sB96HH1Tv/n8V/9m9NFM6WsqtUfX/P/JLOQajRSwoKNZ/6KH4+4NXaNEh68GKhM3g9UZ6W27+v87/48Dh3NYbF/4nsWSYPRvdTXLZsNvr57A+L/e6Hu0uHRb5HLZFLuOB5oxyKq4ozZGjboSnCAwPF0cLCKMOAcZd3xKDakEc4hKcQ6gRq57s+edw+0VeFJ9Lk2ArSwgm1HfIRPEVWxbXcb2MGo5j8d+H9zs41/LUfam2FpStu0ROVzi0mrI8eao16ZdgFN5oGR6lETahmpZKmyZak4zetRWfhRYqLfvyONDgM7/1JjVoqf5o7xaB3JwJLm/D03JxrygCohKrsC5XzGuiI8MSLOzG+k+U/YPY49vRDw/v4e6kncF1pZ8WqqjtoPh5Pw+cUXbxKpJt1ScgBRWLKa215krXvM1by9uhi40lthT2W+Vo2oVH2eCz9Mo6tIietXVDB0Fb4a7+sZRdnYDGZ24pGX8sx6db8GckuPe/pXthtAUgcOW16MakMEVY3QRIESRd8O12bcOJxQHHwIHq94Dj41e+bfQ5DnnlwIMgQxffStmKlK1os60BG2HfrsDLjmb2lRScayCAW5uTOKGNHeRtcPN+lnl87dXrx0AX7vOS+78///7+raOAHugJSO+xGQMtfCWMLeW3kiQCECBoqQ69NzJiRNO0yApqHEEQNh3uggvTtpYoc/EbU5p5qYSaaCxuJdYE6EqwbVx9cLLphj51oMiy/gah02XEJ06wg1PNjq9FQHf6bAA5dN/cl3UNOFu3P7XlN8bw4piNDsgAjWY+e8C9Kvx2FkEWaGrAjfwbsOoV6cOJS2O3Zc1sdPnLwBqXWJ8GSoNWI3RpFWB3H+p8TrOqMoEy3YbF42Wh64LYEMaHAtd6vPwiNGBmuFhmAfZpDcjCQymU4F3i1KiJ0eh0CPvLdZbwqBN0vygPAnBer9OsL3UiSE5Alc3Y8hWWnfOKUudLwaCZH6xUPoEyNUXXOG8EOR6oOEHX5/7k5HBrtXRYp+OU1FqyfARrs1byjwHeGq4O/G3km9hMwL5U8xGwP/q20Wd/KuEx/SFNeE1xhpoygYCG4dgLxsMZZFDx4tHPghfm0ZkXmc5yCXrJSi+gGk4kR9kga0wguBa+Gez+pE7sgLJwt0yQIXe5Sv0cBWYSRtg8xY5MmjpjJnOV3gZtr+RCKJnN1Yo4QxvabIZRuxqLgCLkitLMgXEKHNbhIYDO/Inq7NhlU4/R4NAIFFCZbYggrqj9s5zUby3jpwgyHqUSQhavEhMnuYW2Xj5ainul0fnjUUTaQjiq/+Dy6IEMHJ2X4eAEVPj5DJbT3kJRSQaMA8Ygi6dXZg6AT65ytp1A6pBJeGTggV+Qd4+DpSjQbnuV1vaq+SH6ZaOT9HtI9yH2/sGl7fsPqOSedW9o+u3/RnEqRKA9JDEa40P8m/q5ArnO8LGp0kw1dBHsYjW2ufSHP2zfTu6o99XumS8akAQoQMHlfMCTAHQ4QYRpj5Z4SFXVroj2I0jC5KPb8HCGSPRXnAXQ/0NYUuU0Inwi+YdInKkZc1lOp4v2Zde7jYWe1UnGw6S+PTPIczxOEqlcreLVMATIGl17QjhUqA27k4UZDBiIpLm3UTbd2UnbYOekP1+iB5G+LRrajunpjOT6my8n7kreT2yBr8XXsWv/XlI7uU1WGf86GflF7DOe/9LEC8fe5iALNxD3sx0EwhZQ/pVK99Fvu9PeubfOnQWzTfXq72kAQAE10v2pZXHmwPRKVvE8LaiYmHRf3NlY+Ey2Jaji8Ba0SFcDKqihm+ugxTyb8kCMotU63kYZxuJ5JVpT2Tu+QvQebm7bsnQpBh294WC0Fp6iBnO5ejYmTyu3iAyhmm49JNYfPFlgFUYSfpMivFOYgGFCw/oZrIgnQHW9ssRYpBbWSB8eonDYrNAgaAutqjLWMPLPZKjhRwlG4giuY76GPUVR3sz1J0Blq8k70s2luKkQPBWymSi1KR/anUHOAKb0f8ZAPENOCjKZz4dZ/EgkCHxpnKa2oYZCpq8qChIaepYPpVSOnOyhbVNYRHEPhSxxVdZKJhDwPgbpB0K9kZGoair7jA8ztucAmny5JpsY169r+XTaXQnNzrBuj1ty25Si48xXNd19u9wFAwEEfTK+Ht2GZEsC9VPB87Hud8UDhNgM5jSfuITQpugSBjM5qtQdkYRvBkhv/thd+KlzWszi8vuH9RHMFAZA7G0yviwmkyiGoLPXVg6LGPVgJAeOiOOoYJJ3IgJ4UchBDmNfcY8LDwdR0Ix+4NbgEl6W5L0NGUl2t4+N3/9iOV1gKLaNM0CCbLBep0Jht1mshrFq9K4J5bpCdwlBGzK322VbHE9BJDiFXgyZTgqCPeO2CAcA4wAJi9TyOHMiKsM9qJvRw307k1a/O4LTp+TOLrdKuAviVoCXHVODiXvACbQzcZc3ulPvxkNTeaawU/tK649lyhMlxAEx3rpgsNu70U4QlKLRaCQcFxs/5jcslytRUNhxnjloiKTIRYtYt3tBpFGITvwFB4UJ6nhl2OvoVJXmpO/p16/G42Dy++N73O18qtfLoJl3WU9tgU58zNKofUkxN9r+MkfWnrFmnwAQQXSbE6wugQGdq2XaPpstZopFrYwkNhHCk/9I5CA/prW1fT2HUX7HrrMV4I/0UMfxUp4k7WMjhJ0NGEkgiknTJgfDNKcMt6HcApboccqWLelMDYU0ztTUFcmUj2WY0KD/xY3XU6uyjZGaM0qM2picX7dPVyutKnRW/z+8Kfs0eourNg0r5H0ujRnbm1Xy0iSVZgVzLpr8sZwVYLnMnMnbHG5cK4xjS3KDQU9gWL5XJqXSEOvRHUqU1lxUxpPL01ZMr7Kb+jBsVnlVpXoOcjlkLbBUT9UI9kIc4h7plye+XwlmKvNIRf3DQYg2mchDOIYCIgf4gIvpWDx0K2cjWyKhRISLrqQpVzFNebpMwBgISba/lT1bKu4UZnYCnaGEkXKayEccKuLAaMsUeijKmEd/Gw7OUYkeZwnaKskP95xBAu8MnSVDJrLvhE1HtGPHXw9y1LCUUHa1a5i4k/OCcTn8FXcToNqmukaUAjkkwaL2MJ4EsuodmMeRTWE+nJc1ob+dbz/tm5YegFQ46AQumV1OZphvF/OCEM8Mns1Y+KzSsfWPmvlW86G53WxMsxwXyBeQORZZE6wr7uE1s69uBnYn5jrwXBbcnLI+tL+6wZqp9sIdHiYe0mzsViRolLN/ToGffxIIMDXYf+T1cM+m4N/8XKIH4Lt/1w74yRqLd/0/SWn7GlbAGAYIaJ8sChgv8L/Jv4mBr7/xH84mjkdfO+GKdnt3pXpLbR0h6JwWSO01M7WSWjJ5srHQKIkpjJor1HnKoiYPKHDu5uQBZO0rRCTHNKtl2q1Iguwh69w6Ta0DDdD1T2YTWC6QzY7Z9CW1GnoIwLuKUFYeDNfWbMwVQpjdrl2l1jCxnPCDNY1QgiueTHTFH3ltpHMlE32TD7OQDHzfyzunR0Ulv/pTFJVZdLAHL4wz7FYefvZgwFIuyn6ZbZfIZTQ19yOmBnm1UISh+QGrRcPPZ1RhbzlwWRhD+SD/2WnCJ3+gr9VMrLkEJQO6PFGVC9KqweCjNZVMUAXiUqX4q+laVpIVrCZIgTjIhQLIhPhGTrajxwO4gwuYwBe8wfUeMciXsLZnED9cQnjRum+A4PwAA/FrwiiE2GPKK/lsGM4pD5hLZ3soPXjUKOyrDed4FTJyEL5gOOQ8wvI30H4JQDllTabnAuNFWE4ZDbVKmTKVAECYl1zNZgKJvSN2EDcSSXGQIQMHgqqcgMq6MZFbaJoOwsL3kGklWMQIPkFo2N2YWHG74zuaANRVKLzDsfQNXks8QcW24nWUTczkX/GepsFcWZQr1wR8ELxEuUdAZsk9CtwFHZ6Dh+AJ/wvifT1G23ok+JYOvgzTDDw3LTMJ2XrU1nfgLP8BeDiyx/2/Rbq8XVl0bNgIv2A9XLZah3U7IkKvMMsdW8aGI+ileAkmEcr+Q2AiRstBNWE1JATMnzwIaOACeKFKmRmIulJhgopEMJfkJkUUu3zBos7dIOCX1gkBTJcW4AEnzY0fy2ADTGYQgEdSCYFOLBGa6Ju4YAYJLiFJ4fuCQesmW0ROk6GztsvhAAVq5ZRIjGGHnoU9ND8qNGQc4KO/VUMDuyhRZIRiA0wywjhj5RuoRLFJJhppgglG8MdbuHFGyPfb952BEaXMJDdRS+aroLceUUIH4XiQkYqMLXx/uElvoFewbbIiVmTIS10cbfKeVzLh+4EEY8toTOD3ctVwIN87kGZMeKJYppHAJvi8ZqmJAhmjEotGlumoiXLl0EPyAYMSrWB0GaYkGf1oYkD4mRr9GJhWWeePESRdgjBByrKVDTWRJGIfd04zYZ/frWFm4sMn/P2MpFFFycezSxQaKZ8vhplcE44dTVS7vrLxeqONDR45WR6D/DveM4or7I018sY36eXnb9zuDvvK4yr0e5jBnzqbABZzLmw4I882+bZr5kqngJtX9EY667wL3Hnw5BUCulx0yeUOHy9/FLMrrhrtmoV22KmPd3z1Dft4sdfdMMZN/QQKEuyN/iKNRRdOr8ha3y6UBK/FKn3NxvEGdOd49lsmmWJqSJgcCgaGFQQSlEk1bdTQt1dunZl2GeS9NOkyNMqUZZYKlWbLlmOwXG8dMkSH41ZZHTZI40QcRdzHtapwEHfQTxTxL8QCJEQiiSWRVIxsJZPcL+g6WP3tH/96Bv3rh4i7POQpL3kjJuRA7X9IG2itd0I9GywSoTHIiMhue4Tj4RtquBAWJ52y1z77HbBVm6OOodCccTWoM0eTuapjkg/D9KhxBDtmai1NHwQ++OggDSeOFhuh1b8tB1dAOLkI3Dy8fPwC2jFKGBU1nIaWjp6BkYmZhZWNnYOTi5uHl49fQFDIpClhEVHTYuISklLSMrJy8gqlJZXGmywMjKwZJWUV1VbeaqKZ2KGPxhr1RNjAypdieYtJ3Zkxe10O447MRShbs7ExGQ6PLyzb+Jhq41/cDqsnN5QmsVFtVP822TQ1czDjjeszq7QvzdaptbTVys7IajZn5FOLKSadTxFpFW+SqiCQbJZS0illIGlDCiU5KckNpBCh4xWQCgANJMAIAKhdEAlAgFFfup2DiUuPt4d/rJLT53Eq5hGsQ3XWbfp/IMP0/h6e09hvX1oF/+dQKV27hPjrO5sNv9dos+EP+xyv+/NxKPTbeVzEu6+zfa97b6tR7gT44zvLMt7OEW0BgdQ50ExuCptsFHb+c6WbiT/3s854nBHcmSgWv841TXmdnuCwys568nE9VV8QQfxhuK+syFma5qPT25Kd1kx4Cv6ObaNbykWnSx7u3Rrf+m8zGnmxN88TdvaIb+eLtvpCBbq+Ay8n5+1yu/Bw+4QstRkcTs4CM7hhEAiImwJH9S8fRjyKr6c0DZN0ct4up8ttEvyoyo1uLLPuNvCR7q4o7Uyi21mZrlCpJH7Qo3d1F8jjjAjC2RJotGm42TPKkD/Y3mdSTH19sceTw2weU3X2YAIZlapnrSEszKFUGXEXq7kxSJmvc7h9f5Ds0cVCxf/nYalbTI4fA0WIrCiHRSmZSNFcAJsbFFsosHMGlKyuZDQurf3ZU4ViKXZShp2Qt5VmyY5JG0qjqGiCogZSiioyq0icLPLBLmEl7ytXD1RxDrOnOWof/+4elG4md9+yGd99a/bm7A2b1+ltc6avszN7QzpmaA7L2XksHyVXuHk7faWe0nt1l67NpM+QfY2geRvT2V32CRZ63LEge0YoscBlj1A/AH0AWpBQw8y2BjW195Ae3k4fsp29wY4O9TDP9jE/Mnf/DsRGt69AB9X8weyy8Rf8d4ld4CY/cwE1fMC7/vL1zh0XWCyE9H0qpYsIzX/q0nkfwGGTeE7zzF6XCGhx5YsYRzwxpZAEt8kCPHlW0hWZRXgy8bIDnkT8LEsQU6H6dDzzSdIgDcIwi8PiAQAAAA=="}},"time_used":85,"timings":{"blocked":31,"dns":0,"connect":0,"send":0,"wait":34,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/sounds/blackberry2.mp3","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"media","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:31.205Z","timestamp":1785133591205,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/sounds/blackberry2.mp3 HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nRange: bytes=0-\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: audio\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nAccept-Encoding: identity\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 206 \r\ndate: Mon, 27 Jul 2026 06:26:31 GMT\r\ncontent-type: audio/mpeg\r\ncontent-length: 9135\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: \"69085dc8-23af\"\r\nexpires: Fri, 01 Jan 2027 12:08:38 GMT\r\nlast-modified: Mon, 03 Nov 2025 07:46:16 GMT\r\nx-77-nzt: k+BY1wGDXx+CbH/Y81PHwX7c7JOwpRhF209MFE6j5LflGjtUx7TEbeABVhKI1KaUUjc0lRE\r\nx-77-nzt-ray: fdb54123124f25f517fa666a4e53450c\r\nx-77-cache: HIT\r\nx-77-age: 17537736\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\ncontent-range: bytes 0-9134/9135\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"206","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":9135,"size_decoded":9694,"mime_type":"audio/mpeg","magic":"Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 64 kbps, 44.1 kHz, Stereo","md5":"50af11b446ad42a4c3501aa519e44455","sha1":"0cf0cb1c4ed614fe8969fb6cbaa0d630e8fd6574","sha256":"713a1269cbe341333f360d6767939d33c6dc04754fe9028b34deb6ac59e0fc1a","sha512":"d6c1e1acaf6f1af5d3c61e1ce7143cdcd387ee9f407d67ec5ffa4bce37cd7c4abd77f720a615bd9f1face7c9ddedf41e6bca53e483bf5a26bb52cb64451e6c74","ssdeep":"192:xrTX1A8Vcw60SNVGNVhxPI+BGCSt6RfrIJC0Yf0vJxoV9Ik7DrxTP+FlZxU:lcgSNVkpBGp8frIJC2joLN7BOU","tlshash":"20123986d324918dfca68fff22afea35c556562fceb0cc15415a5788847f1027bba12c","first_seen":"2023-04-09T23:40:20Z","last_seen":"2026-07-29T06:17:50.038583Z","times_seen":797,"resource_available":false,"data":"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"}},"time_used":8,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T06:26:02.123Z","timestamp":1785133562123,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: app.blockinv.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\naccess-control-allow-origin: *\r\nage: 13150\r\ncache-control: public, max-age=0, must-revalidate\r\ncontent-disposition: inline\r\ncontent-encoding: br\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: W/\"a54202399c0d3a8b4ae7ff6ee6c48c2a\"\r\nlast-modified: Mon, 27 Jul 2026 02:46:52 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::7w77g-1785133562187-c7f27c2c065f\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":"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":5240,"size_decoded":2753,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (4453)","md5":"a54202399c0d3a8b4ae7ff6ee6c48c2a","sha1":"9f3ff68e5e3d8b12f5822e3c239dedea4d56832a","sha256":"437d5013dcdc8c48c9c70cabf14b604338687018b4dd903ac3a09223a443e5d0","sha512":"9fade34a118d8abe8f13811ec7e853293cc2f3e15bb289a59928d20c8aee13599b5a2c89b8e0d66742e8c42cf09d72e6c55bf1bb35dbe55ec3a583beae2a8167","ssdeep":"96:T6V47uNQ+/uyAq76D/fEh/81kOV7VxrVPBtAskwkGjPd4JjaJXT:BuNd/HAq76D/fygxxBcgp","tlshash":"b1b197519d26ce5a4a338cc8f935a30f708bd53ad6a684047bdc8bad07f2dce9e15894","first_seen":"2026-07-27T03:07:35.199182Z","last_seen":"2026-07-27T06:26:35.996169Z","times_seen":2,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjxtZXRhIGNoYXJTZXQ9InV0Zi04Ii8+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCIvPjx0aXRsZT5CbG9ja0ludiB8fCBMb2dpbjwvdGl0bGU+PG1ldGEgbmFtZT0ibmV4dC1oZWFkLWNvdW50IiBjb250ZW50PSIzIi8+PGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIGhyZWY9Ii9hc3NldHMvZmF2aWNvbi5wbmciLz48c2NyaXB0PgogICAgICAgICAgICAgIHZhciBfc21hcnRzdXBwID0gX3NtYXJ0c3VwcCB8fCB7fTsKICAgICAgICAgICAgICBfc21hcnRzdXBwLmtleSA9ICc1YjAxNzI1Y2M5ZjdmOTNkNjZiNWIzZGI3MjcwM2E2MDhjZDY5OTdmJzsKICAgICAgICAgICAgICB3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogICAgICAgICAgICAgICAgdmFyIHMsYyxvPXNtYXJ0c3VwcD1mdW5jdGlvbigpeyBvLl8ucHVzaChhcmd1bWVudHMpfTtvLl89W107CiAgICAgICAgICAgICAgICBzPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdO2M9ZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgICAgICAgIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgICAgICAgICAgICAgICBjLnNyYz0naHR0cHM6Ly93d3cuc21hcnRzdXBwY2hhdC5jb20vbG9hZGVyLmpzPyc7cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLHMpOwogICAgICAgICAgICAgIH0pKGRvY3VtZW50KTsKICAgICAgICAgICAgPC9zY3JpcHQ+PGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvX25leHQvc3RhdGljL2Nzcy9jOWE3MzUwMjU1ZjNjYzUxLmNzcyIgYXM9InN0eWxlIi8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvX25leHQvc3RhdGljL2Nzcy9jOWE3MzUwMjU1ZjNjYzUxLmNzcyIgZGF0YS1uLWc9IiIvPjxub3NjcmlwdCBkYXRhLW4tY3NzPSIiPjwvbm9zY3JpcHQ+PHNjcmlwdCBkZWZlcj0iIiBub21vZHVsZT0iIiBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzL3BvbHlmaWxscy00MjM3MmVkMTMwNDMxYjBhLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3Mvd2VicGFjay01YmNkZDhmNzQ1NWI3NDEwLmpzIiBkZWZlcj0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvZnJhbWV3b3JrLTk0NWIzNTdkNGE4NTFmNGIuanMiIGRlZmVyPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9tYWluLTYzZTM4MjNiMWFmYTVhNGIuanMiIGRlZmVyPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9wYWdlcy9fYXBwLTg3N2U3ODVhM2I3YWI2NjIuanMiIGRlZmVyPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy85OGVhN2VjMi0xMzRjMzE3ZmE2NTQzZWY1LmpzIiBkZWZlcj0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMWE0OGMzYzEtMzMyNGYxMjVmZDE0Y2U5NC5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzU2NzUtMzRkZWMzNWRlODViMmEyZi5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzcyNzEtMWM2YTE2ZGRlMjg3ZmMxMS5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzU2NDItN2QyYTkwYjUyOGViYzY1Yi5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzL3BhZ2VzL2luZGV4LWFkZTU5OTc5NDNjOWIzN2IuanMiIGRlZmVyPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL3o0M2RoMmpqOEJrd19wYXRqbXFFMC9fYnVpbGRNYW5pZmVzdC5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvejQzZGgyamo4Qmt3X3BhdGptcUUwL19zc2dNYW5pZmVzdC5qcyIgZGVmZXI9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5PjxkaXYgaWQ9Il9fbmV4dCI+PGRpdiBjbGFzcz0iYXV0aF9wYWdlIHJlbGF0aXZlIj48ZGl2IGNsYXNzPSJhdXRoX3BhZ2VfaW5uZXIiPjxkaXYgY2xhc3M9ImF1dGhfcGFnZV9sZWZ0Ij48ZGl2IGNsYXNzPSJhdXRoX3BhZ2VfbGVmdF9pbm5lciBwLTQgbGc6cC04Ij48ZGl2IGNsYXNzPSJhdXRoX3BhZ2VfbGVmdF90b3AiPjxpbWcgYWx0PSJsb2dvIiBsb2FkaW5nPSJsYXp5IiB3aWR0aD0iMTQwIiBoZWlnaHQ9IjE0MCIgZGVjb2Rpbmc9ImFzeW5jIiBkYXRhLW5pbWc9IjEiIGNsYXNzPSJjdXJzb3ItcG9pbnRlciIgc3R5bGU9ImNvbG9yOnRyYW5zcGFyZW50IiBzcmNTZXQ9Ii9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRkJsb2Nrd2hpdGUuNmE4MWY5ODYucG5nJmFtcDt3PTI1NiZhbXA7cT03NSAxeCwgL19uZXh0L2ltYWdlP3VybD0lMkZfbmV4dCUyRnN0YXRpYyUyRm1lZGlhJTJGQmxvY2t3aGl0ZS42YTgxZjk4Ni5wbmcmYW1wO3c9Mzg0JmFtcDtxPTc1IDJ4IiBzcmM9Ii9fbmV4dC9pbWFnZT91cmw9JTJGX25leHQlMkZzdGF0aWMlMkZtZWRpYSUyRkJsb2Nrd2hpdGUuNmE4MWY5ODYucG5nJmFtcDt3PTM4NCZhbXA7cT03NSIvPjxkaXY+PHAgY2xhc3M9InRleHQtWyNjNWM1YzVdICB0ZXh0LVsxcmVtXSBsZzp0ZXh0LVsxLjFyZW1dIj5Eb24mI3gyNzt0IGhhdmUgYW4gYWNjb3VudD88L3A+PGJ1dHRvbj5yZWdpc3RlcjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImF1dGhfcGFnZV9sZWZ0X2JvdHRvbSI+PGRpdiBjbGFzcz0iYXV0aF9wYWdlX2xlZnRfYm90dG9tX2lubmVyIj48aDM+TG9naW4gWW91ciBBY2NvdW50PC9oMz48Zm9ybSBjbGFzcz0iZm9ybSIgYXV0b0NvbXBsZXRlPSJvZmYiPjxkaXYgY2xhc3M9ImZvcm1faW5uZXIiPjxkaXY+PGxhYmVsIGNsYXNzPSJyZWxhdGl2ZSIgZm9yPSJlbWFpbCI+PHNwYW4+ZW1haWwqPC9zcGFuPjxpbnB1dCB0eXBlPSJlbWFpbCIgcGxhY2Vob2xkZXI9ImVtYWlsIiByZXF1aXJlZD0iIiB2YWx1ZT0iIi8+PHNwYW4gY2xhc3M9ImN1cnNvci1wb2ludGVyIGFic29sdXRlIHRvcC1bMi43cmVtXSByaWdodC1bMXJlbV0gei01MCAiPjxzdmcgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMiIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGhlaWdodD0iMWVtIiB3aWR0aD0iMWVtIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgeD0iMiIgeT0iNCIgcng9IjIiPjwvcmVjdD48cGF0aCBkPSJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyI+PC9wYXRoPjwvc3ZnPjwvc3Bhbj4gPC9sYWJlbD48L2Rpdj48ZGl2PjxsYWJlbCBjbGFzcz0icmVsYXRpdmUiIGZvcj0icGFzc3dvcmQiPjxzcGFuPnBhc3N3b3JkKjwvc3Bhbj48aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJwYXNzd29yZCIgcmVxdWlyZWQ9IiIgdmFsdWU9IiIvPjxzcGFuIGNsYXNzPSJjdXJzb3ItcG9pbnRlciBhYnNvbHV0ZSB0b3AtWzIuN3JlbV0gcmlnaHQtWzFyZW1dIHotNTAgIj48c3ZnIHN0cm9rZT0iY3VycmVudENvbG9yIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMCIgdmlld0JveD0iMCAwIDI0IDI0IiBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIgMTljLjk0NiAwIDEuODEtLjEwMyAyLjU5OC0uMjgxbC0xLjc1Ny0xLjc1N2MtLjI3My4wMjEtLjU1LjAzOC0uODQxLjAzOC01LjM1MSAwLTcuNDI0LTMuODQ2LTcuOTI2LTVhOC42NDIgOC42NDIgMCAwIDEgMS41MDgtMi4yOTdMNC4xODQgOC4zMDVjLTEuNTM4IDEuNjY3LTIuMTIxIDMuMzQ2LTIuMTMyIDMuMzc5YS45OTQuOTk0IDAgMCAwIDAgLjYzM0MyLjA3MyAxMi4zODMgNC4zNjcgMTkgMTIgMTl6bTAtMTRjLTEuODM3IDAtMy4zNDYuMzk2LTQuNjA0Ljk4MUwzLjcwNyAyLjI5MyAyLjI5MyAzLjcwN2wxOCAxOCAxLjQxNC0xLjQxNC0zLjMxOS0zLjMxOWMyLjYxNC0xLjk1MSAzLjU0Ny00LjYxNSAzLjU2MS00LjY1N2EuOTk0Ljk5NCAwIDAgMCAwLS42MzNDMjEuOTI3IDExLjYxNyAxOS42MzMgNSAxMiA1em00Ljk3MiAxMC41NTgtMi4yOC0yLjI4Yy4xOS0uMzkuMzA4LS44MTkuMzA4LTEuMjc4IDAtMS42NDEtMS4zNTktMy0zLTMtLjQ1OSAwLS44ODguMTE4LTEuMjc3LjMwOUw4LjkxNSA3LjUwMUE5LjI2IDkuMjYgMCAwIDEgMTIgN2M1LjM1MSAwIDcuNDI0IDMuODQ2IDcuOTI2IDUtLjMwMi42OTItMS4xNjYgMi4zNDItMi45NTQgMy41NTh6Ij48L3BhdGg+PC9zdmc+PC9zcGFuPiA8L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9ImZvcmdldCBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIiPjxkaXY+PGlucHV0IHR5cGU9ImNoZWNrYm94Ii8+UmVtZW1iZXIgTWU8L2Rpdj48c3BhbiBjbGFzcz0idW5kZXJsaW5lIHAtMCBtLTAgbXQtMyBjdXJzb3ItcG9pbnRlciB0ZXh0LVsuOXJlbV0gaG92ZXI6Zm9udC1zZW1pYm9sZCB6LTUwIG1pbi13LWZpdCI+Rm9yZ2V0IHBhc3N3b3JkPzwvc3Bhbj48L2Rpdj48YnV0dG9uIGNsYXNzPSJ3LWZ1bGwgbXQtMTAiPiA8c3Bhbj5Mb2dpbjwvc3Bhbj48L2J1dHRvbj48L2Rpdj48L2Zvcm0+PC9kaXY+PC9kaXY+PC9kaXY+PHAgY2xhc3M9InRleHQtY2VudGVyIHRleHQtWyNjNWM1YzVjNV0gdGV4dC1bMXJlbV0gbXktNCI+Q29weXJpZ2h0IMKpIDIwMjQgQmxvY2tJbnYuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9wPjwvZGl2PjxkaXYgY2xhc3M9ImF1dGhfcGFnZV9yaWdodCI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iVG9hc3RpZnkiPjwvZGl2PjwvZGl2PjxzY3JpcHQgaWQ9Il9fTkVYVF9EQVRBX18iIHR5cGU9ImFwcGxpY2F0aW9uL2pzb24iPnsicHJvcHMiOnsicGFnZVByb3BzIjp7fX0sInBhZ2UiOiIvIiwicXVlcnkiOnt9LCJidWlsZElkIjoiejQzZGgyamo4Qmt3X3BhdGptcUUwIiwibmV4dEV4cG9ydCI6dHJ1ZSwiYXV0b0V4cG9ydCI6dHJ1ZSwiaXNGYWxsYmFjayI6ZmFsc2UsInNjcmlwdExvYWRlciI6W119PC9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4="}},"time_used":67,"timings":{"blocked":-1,"dns":21,"connect":1,"send":0,"wait":16,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.620Z","timestamp":1785133562620,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:09 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: kw7hPQ30U6Cb8iqJLig0Cg1hArB95JyF/alZKq0BrKlrI2b42c8p3g6kg0se6AAl4f7qiwk\r\nx-77-nzt-ray: e2f75420c121b0f001fa666a2236051f\r\nx-77-cache: HIT\r\nx-77-age: 22\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-07-30T06:08:39.271456Z","times_seen":7765,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":6909,"timings":{"blocked":-1,"dns":102,"connect":8,"send":0,"wait":8,"receive":0,"ssl":6791},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2FBlockwhite.6a81f986.png\u0026w=256\u0026q=75","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"lazy-imageset","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.826Z","timestamp":1785133562826,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/image?url=%2F_next%2Fstatic%2Fmedia%2FBlockwhite.6a81f986.png\u0026w=256\u0026q=75 HTTP/1.1\r\nHost: app.blockinv.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://app.blockinv.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\nage: 13177\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"Blockwhite.webp\"\r\ncontent-security-policy: script-src 'none'; frame-src 'none'; sandbox;\r\ncontent-type: image/webp\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\nlast-modified: Mon, 27 Jul 2026 02:46:24 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nvary: Accept\r\nx-matched-path: /_next/static/media/Blockwhite.6a81f986.png\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::nwvr5-1785133562832-9edf1defd3c8\r\ncontent-length: 5814\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":"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":5814,"size_decoded":6413,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"aff63b8d021bd50536f71892c9743566","sha1":"455446dbe460b656fb7e1167addaf71adb1c4597","sha256":"1b5bac36292df14c38e6b8a411e76202071c2d81c35c845742297adb00a7fd21","sha512":"45cbf9dd335f01369b5970530328451cd9699fd0f6727cba523392bf62485ee1aeed6ea169d484f399ad5db8fef5aee07780a45617b0132271bf3e4633bfc735","ssdeep":"96:lXyyy/6ORVhgcle9ZwnVJXc2HaA8tSPF4H1/fcT2wWNXjJlUfRjN:hyy7ORVhJlgZKXX8UPF4H1/OWNXdaH","tlshash":"6ac19f89a224c2fdde8d574a81fcb0315385ba603e56869c18d5ed432f90f2693ca911","first_seen":"2026-07-27T03:07:35.219758Z","last_seen":"2026-07-27T06:26:35.998136Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":19,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:12.977Z","timestamp":1785133572977,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/style-CliJwUTR.css HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:12 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-8d68\"\r\nexpires: Wed, 07 Jul 2027 08:30:01 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k7JPncX4kZEy3lG38rCsz0Mi17Id6Wm8b7PsRtejKslxPo1LcTX3CA1rfd6a7BXhmgvKS+A\r\nx-77-nzt-ray: fdb54123124f25f504fa666aadf8413a\r\nx-77-cache: HIT\r\nx-77-age: 1720529\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-07-30T06:08:39.263959Z","times_seen":2921,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/WidgetPopup-qeuwkcBn.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:31.198Z","timestamp":1785133591198,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/WidgetPopup-qeuwkcBn.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:31 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-1659\"\r\nexpires: Wed, 07 Jul 2027 08:30:16 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k+n0h9yTmKzCxZhf1/4Ofp8NLwr+htQbYyTttXa9P0sfUxSB3/OiCAlYNH8vLmOzgom5Ito\r\nx-77-nzt-ray: fdb54123124f25f517fa666afaaede0b\r\nx-77-cache: HIT\r\nx-77-age: 1720400\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":5721,"size_decoded":3198,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (5672)","md5":"1be094293b699930ca37ad532310be69","sha1":"3d311d30cb84d8aa8a82be20846164869dd1f43a","sha256":"d18f83a6bf57601c2bc7f06f6e4fe8e9debeef691c088547a13a101dd03a9a88","sha512":"de11f4905e9e85d9f19144ddb1f2c13c0bfeda8790b3c2ae4f29c8e6f3753f7f274a664d4e3495456bbdff45b25460af21e2c6bc9df09c532da907463504fc09","ssdeep":"96:+0xM59NRrF/5dtRHjbkkJ+p1YKpAqFTkOEBzBMvqn3ALbNIeZ3UmQXIt32zrTvc:jM59x5dtRHPEpqnqZkuvU3SbJ3kz/k","tlshash":"bec195b52151b03ef64eb444aa28e17fb22dd0c5da07413d594bed5833d8cc28dd7799","first_seen":"2026-07-09T10:36:52.128484Z","last_seen":"2026-07-27T07:19:42.432084Z","times_seen":48,"resource_available":true,"data":"aW1wb3J0eyR0IGFzIGUsQWkgYXMgdCxBdCBhcyBuLEJpIGFzIHIsRWkgYXMgaSxHaSBhcyBhLEhpIGFzIG8sSWkgYXMgcyxLaSBhcyBjLEtyIGFzIGwsTGkgYXMgdSxOaSBhcyBkLE5yIGFzIGYsT2kgYXMgcCxQaSBhcyBtLFIgYXMgaCxTaSBhcyBnLFNuIGFzIF8sVGkgYXMgdixVciBhcyB5LFZpIGFzIGIsVm4gYXMgeCxXdCBhcyBTLFhpIGFzIEMsWHIgYXMgdyxZaSBhcyBULFluIGFzIEUsWXIgYXMgRCxaaSBhcyBPLF8gYXMgZWUsX2kgYXMgayxhIGFzIEEsYWEgYXMgaixiaSBhcyBNLGNhIGFzIE4sZGkgYXMgdGUsZW4gYXMgUCxmIGFzIEYsZmkgYXMgSSxnaSBhcyBMLGlhIGFzIFIsamkgYXMgeixrIGFzIEIsa2kgYXMgVixuIGFzIEgsb2kgYXMgVSxvciBhcyBXLHBpIGFzIEcscXQgYXMgSyxzYSBhcyBxLHNyIGFzIEosdCBhcyBZLHRpIGFzIFgsdG4gYXMgbmUsdWkgYXMgWix3aSBhcyBRLHlpIGFzIHJlLHp0IGFzIGllfWZyb20iLi9zaGFyZWQtQ2dNQ0Fmb3IuanMiO2ltcG9ydHtfIGFzIGFlLGMgYXMgb2UsZCBhcyBzZSxpIGFzIGNlLGwgYXMgbGUsbiBhcyB1ZSxvIGFzIGRlLHAgYXMgZmUsciBhcyAkLHMgYXMgcGUsdCBhcyBtZSx1IGFzIGhlLHkgYXMgZ2V9ZnJvbSIuL1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIjt2YXIgX2U9SigpLHZlPWkoYDxkaXYgY2xhc3M9ImFic29sdXRlIGJvdHRvbS0wIHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy1ncmFkaWVudC10by10IGZyb20td2hpdGUvMTAwIGZyb20tMCUgdmlhLXdoaXRlLzUwIHZpYS03MCUgdG8tdHJhbnNwYXJlbnQiPjwhPjwvZGl2PmApLHllPWkoYDxkaXYgY2xhc3M9InJlbGF0aXZlIj48ZGl2IGNsYXNzPSJ0ZXh0LXNtIGxlYWRpbmctWzIycHhdIG92ZXJmbG93LWF1dG8gbWF4LWgtMTMycHggY29sb3Itc2xhdGUtODAwIj48IT48L2Rpdj4gPCE+PC9kaXY+YCksYmU9aShgPGRpdiBjbGFzcz0idy1mdWxsIGZsZXgtY2VudGVyIHB5LTIgb3ZlcmZsb3ctY2xpcCI+PGRpdj48IT48L2Rpdj48L2Rpdj5gKSx4ZT1pKGA8IT4gPCE+YCwxKTtmdW5jdGlvbiBTZSh0LG4pe2oobiwhMCk7bGV0IGk9KCk9Pk8oSyxgJHBvcHVwTWVzc2FnZWAscCksbD0oKT0+TyhFLGAkdGAscCksW3AsbV09QygpLGg9ZT0+ZS5maW5kKGU9PmUudHlwZT09PV9lLkF0dGFjaG1lbnRUeXBlLkNhcmRzKXx8bnVsbCxnPVQoKCk9PmkoKSYmaChpKCkuYXR0YWNobWVudHMpKSxfPVQoKCk9PmQoZyk/ZChnKS5pdGVtcy5sZW5ndGg9PT0xOiExKSx5PWModm9pZCAwKSx4PWMoITEpLFM9KCk9PntkKHkpJiZhKHgsZCh5KS5zY3JvbGxIZWlnaHQ+ZCh5KS5jbGllbnRIZWlnaHQmJmQoeSkuc2Nyb2xsVG9wK2QoeSkuY2xpZW50SGVpZ2h0PGQoeSkuc2Nyb2xsSGVpZ2h0LTEyLCEwKX0sRD1lPT57ZS5zdG9wUHJvcGFnYXRpb24oKSxkKHkpJiZkKHkpLnNjcm9sbEJ5KHt0b3A6MTEwLGJlaGF2aW9yOmBzbW9vdGhgfSl9O3coKCk9PntTKCl9KSx1KCgpPT57aSgpPy5jb250ZW50LnRleHQmJnNldFRpbWVvdXQoUywwKX0pO2xldCBlZT1lPT4oZS5hZGRFdmVudExpc3RlbmVyKGBzY3JvbGxgLFMpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGByZXNpemVgLFMpLHtkZXN0cm95KCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBzY3JvbGxgLFMpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGByZXNpemVgLFMpfX0pO3ZhciBGPXhlKCksej1iKEYpLEI9dD0+e3ZhciBuPXllKCksYz1yKG4pLHU9cihjKSxmPWU9PntwZShlLHtjaGlsZHJlbjooZSx0KT0+e3ZhciBuPXYoKTtMKGIobiksKCk9PmkoKS5jb250ZW50Lmh0bWwpLFEoZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX0scD1UKCgpPT5lKGkoKS5jb250ZW50KSksbT1lPT57ZGUoZSx7Y2hpbGRyZW46KGUsdCk9PntoZShlLHtnZXQgdGV4dCgpe3JldHVybiBpKCkuY29udGVudC50ZXh0fX0pfSwkJHNsb3RzOntkZWZhdWx0OiEwfX0pfSxoPVQoKCk9PlAoaSgpLmNvbnRlbnQpKTtNKHUsZT0+e2QocCk/ZShmKTpkKGgpJiZlKG0sMSl9KSxOKGMpLFgoYyxlPT5hKHksZSksKCk9PmQoeSkpLEkoYyxlPT5lZT8uKGUpKTt2YXIgZz1vKGMsMiksXz1lPT57dmFyIHQ9dmUoKSxuPXIodCk7e2xldCBlPVQoKCk9PmwoKShgYXJpYUxhYmVsLnNjcm9sbERvd25gKSk7WShuLHtnZXQgaWNvbigpe3JldHVybiAkfSxnZXQgaWNvbkRlc2NyaXB0aW9uKCl7cmV0dXJuIGQoZSl9LG9uQ2xpY2s6RCx2YXJpYW50OmBwcmltYXJ5YCxzaXplOmBzbWB9KX1OKHQpLEcoMyx0LCgpPT5BLCgpPT4oe2R1cmF0aW9uOjIwMH0pKSxRKGUsdCl9O00oZyxlPT57ZCh4KSYmZShfKX0pLE4obikscygoKT0+VShjLGBkYXRhLXRlc3RpZGAsVy5wb3B1cE1lc3NhZ2UpKSxRKHQsbil9LFY9VCgoKT0+aSgpJiYoZShpKCkuY29udGVudCl8fFAoaSgpLmNvbnRlbnQpKSk7TSh6LGU9PntkKFYpJiZlKEIpfSk7dmFyIEg9byh6LDIpLHE9ZT0+e3ZhciB0PXYoKTtyZShiKHQpLCgpPT5kKGcpLml0ZW1zLmxlbmd0aCxlPT57dmFyIHQ9YmUoKSxuPXIodCksaT1yKG4pO3tsZXQgZT1UKCgpPT4hZigpKTtsZShpLHtjb250cm9sc1RvcDpgNHJlbWAsZ2V0IGNvbnRyb2xzKCl7cmV0dXJuIGQoZSl9LGNoaWxkcmVuOihlLHQpPT57dmFyIG49digpO2soYihuKSwxNiwoKT0+ZChnKS5pdGVtcyxlPT5lLChlLHQpPT57b2UoZSx7Z2V0IGNhcmQoKXtyZXR1cm4gdH0saXNDb21wYWN0OiEwLGdldCBmdWxsV2lkdGgoKXtyZXR1cm4gZChfKX19KX0pLFEoZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX1OKG4pLE4odCkscygoKT0+WihuLDEsdGUoW2ByZWxhdGl2ZSB3LTU2YCxkKF8pJiZgdy1mdWxsYF0pKSksUShlLHQpfSksUShlLHQpfTtNKEgsZT0+e2QoZykmJmUocSl9KSxRKHQsRiksUigpLG0oKX12YXIgQ2U9aShgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiB3ZShlKXt2YXIgbj1DZSgpO21lKHIobikse30pLE4obiksdChgY2xpY2tgLG4sZT0+ZS5zdG9wUHJvcGFnYXRpb24oKSksdChga2V5ZG93bmAsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxRKGUsbil9VihbYGNsaWNrYCxga2V5ZG93bmBdKTt2YXIgVGU9aShgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgZmxleC1zaHJpbmstMCI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9Im1sLTMgbXItMTAgZm9udC1ib2xkIHRydW5jYXRlIGNvbG9yLXNsYXRlLTgwMCI+IDwvZGl2PmAsMSk7ZnVuY3Rpb24gRWUoZSx0KXtqKHQsITApO2xldCBuPSgpPT5PKGQobCksYCRhZ2VudGAsYSksaT0oKT0+TyhkKHUpLGAkaWRlbnRpdHlgLGEpLFthLGNdPUMoKSxsPVQoKCk9PngodC5hZ2VudElkPz9gYCkpLHU9VCgoKT0+c2UodC5pZGVudGl0eUlkfHxgYCkpO3ZhciBmPXYoKSxwPWIoZiksbT1lPT57dmFyIGE9VGUoKSxjPWIoYSksbD1yKGMpO3tsZXQgZT1UKCgpPT5pKCk/LmF2YXRhclVybHx8bigpPy5hdmF0YXIpLHI9VCgoKT0+ISF0LmlkZW50aXR5SWQpO2ZlKGwse2dldCBhdmF0YXIoKXtyZXR1cm4gZChlKX0sZ2V0IGlzQm90KCl7cmV0dXJuIGQocil9fSl9TihjKTt2YXIgdT1vKGMsMiksZj1yKHUsITApO04odSkscygoKT0+ZyhmLGkoKT8ubmFtZXx8bigpPy5mdWxsbmFtZSkpLFEoZSxhKX07TShwLGU9PnsobigpfHxpKCkpJiZlKG0pfSksUShlLGYpLFIoKSxjKCl9dmFyIERlPWkoYDwhPiA8ZGl2IHJvbGU9ImRpYWxvZyIgY2xhc3M9InJlbGF0aXZlIHAtNCBiZy13aGl0ZSByb3VuZGVkLXhsIGN1cnNvci1wb2ludGVyIGNvbnRlbnQtZm9jdXMiPjxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIG1iLTIiPjwhPjwvZGl2PiA8IT4gPGRpdiBjbGFzcz0ibXQtMyI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImFic29sdXRlIHRvcC0yIHJpZ2h0LTIgdGV4dC1ncmF5LTUwMCI+PCE+PC9kaXY+PC9kaXY+YCwxKSxPZT1pKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIGtlKGUsaSl7aihpLCEwKTtsZXQgZj0oKT0+TyhTLGAkbGFzdFVucmVhZE1lc3NhZ2VgLEEpLHY9KCk9Pk8oaWUsYCRoYXNDb250YWN0TWVzc2FnZWAsQSkseD0oKT0+TyhLLGAkcG9wdXBNZXNzYWdlYCxBKSxrPSgpPT5PKEUsYCR0YCxBKSxbQSx0ZV09QygpLFA9Yyh2b2lkIDApLHtwb3B1cFRleHRhcmVhRW5hYmxlZDpJLHdpZGdldEJsb2NraW5nT3B0aW9uczpMfT15LmdldE9wdGlvbnMoKSxWPUw/LmRpc2FibGVDbG9zZUJ1dHRvbixHPUw/LmRpc2FibGVPcGVuTWVzc2VuZ2VyLEo9KCk9PmQoUCkmJmVlLnNldChkKFApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCk7dygoKT0+e0ooKSxsKCkuYWRkRXZlbnRMaXN0ZW5lcihgdmlzaWJpbGl0eWNoYW5nZWAsSil9KSxEKCgpPT57bCgpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLEopfSk7bGV0IFo9KCk9PntHfHwoaCgpLF8oKSl9LHJlPSgpPT57QighMCl9LG9lPSgpPT57Ri5zZXQoITApfSxzZT0oKT0+e0Yuc2V0KCExKX0sbGU9YXN5bmMoKT0+e2F3YWl0IG0oKSxKKCl9O3UoKCk9PntmKCkmJmxlKCl9KTtsZXQgZGU9VCgoKT0+digpP2B0cmlnZ2VyLnJlcGx5QnV0dG9uYDpgdHJpZ2dlci5vcGVuQ2hhdEJ1dHRvbmApLGZlPVQoKCk9PkkmJngoKSYmIW5lKHgoKSkpO3ZhciAkPU9lKCkscGU9cigkKSxtZT1lPT57dmFyIGk9RGUoKSxjPWIoaSk7Z2UoYyx7fSk7dmFyIGw9byhjLDIpO1UobCxgYXJpYS1tb2RhbGAsITApLFUobCxgdGFiaW5kZXhgLDApO3ZhciB1PXIobCksZj1yKHUpLG09ZT0+e3tsZXQgdD1UKCgpPT54KCk/LnRyaWdnZXI/LmlkZW50aXR5SWQpO0VlKGUse2dldCBhZ2VudElkKCl7cmV0dXJuIHgoKS5hZ2VudElkfSxnZXQgaWRlbnRpdHlJZCgpe3JldHVybiBkKHQpfX0pfX0saD1lPT57Y2UoZSx7fSl9O00oZixlPT57eCgpLmFnZW50SWR8fHgoKT8udHJpZ2dlcj8uaWRlbnRpdHlJZD9lKG0pOmUoaCwtMSl9KSxOKHUpO3ZhciBfPW8odSwyKTtTZShfLHt9KTt2YXIgdj1vKF8sMikseT1yKHYpLFM9ZT0+e3dlKGUse30pfSxDPWU9PnthZShlLHtnZXQgaWNvbigpe3JldHVybiB1ZX0saXNCbG9jazohMCxnZXQgdGVzdElkKCl7cmV0dXJuIFcucG9wdXBCdXR0b259LGNoaWxkcmVuOihlLHQpPT57cSgpO3ZhciBuPXAoKTtzKGU9PmcobixlKSxbKCk9PmsoKShkKGRlKSldKSxRKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSl9O00oeSxlPT57ZChmZSk/ZShTKTplKEMsLTEpfSksTih2KTt2YXIgdz1vKHYsMiksRT1yKHcpO3tsZXQgZT1UKCgpPT5rKCkoYHRvb2x0aXAuY2xvc2VgKSk7WShFLHtzaXplOmBsZ2AsZ2V0IGljb24oKXtyZXR1cm4gSH0sZ2V0IGljb25EZXNjcmlwdGlvbigpe3JldHVybiBkKGUpfSxvbkNsaWNrOnJlLGdldCB0ZXN0SWQoKXtyZXR1cm4gVy5wb3B1cEJ1dHRvbkNsb3NlfSxnZXQgZGlzYWJsZWQoKXtyZXR1cm4gVn19KX1OKHcpLE4obCksWChsLGU9PmEoUCxlKSwoKT0+ZChQKSkscyhlPT5VKGwsYGFyaWEtbGFiZWxgLGUpLFsoKT0+aygpKGBhcmlhTGFiZWwucG9wdXBgKV0pLHQoYGNsaWNrYCxsLFopLHQoYGtleWRvd25gLGwsZT0+ZS5rZXk9PT1uLkVudGVyJiZaKCkpLHooYG1vdXNlZW50ZXJgLGwsb2UpLHooYG1vdXNlbGVhdmVgLGwsc2UpLFEoZSxpKX07TShwZSxlPT57eCgpJiZlKG1lKX0pLE4oJCkscygoKT0+VSgkLGBkYXRhLXRlc3RpZGAsVy5wb3B1cCkpLFEoZSwkKSxSKCksdGUoKX1WKFtgY2xpY2tgLGBrZXlkb3duYF0pO2V4cG9ydHtrZSBhcyBkZWZhdWx0fTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9V2lkZ2V0UG9wdXAtcWV1d2tjQm4uanMubWFw"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"app.blockinv.com/_next/static/media/auth_img2_main.1403feb6.jpg","fqdn":"app.blockinv.com","domain":"blockinv.com","tld":"com"},"ip":{"addr":"66.33.60.194","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:02.780Z","timestamp":1785133562780,"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":"app.blockinv.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Sun, 21 Jun 2026 06:35:58 GMT","end":"Sat, 19 Sep 2026 06:35:57 GMT"},"fingerprint":{"sha1":"16:06:CE:04:21:DA:26:4D:EA:81:DE:71:F6:F3:96:85:1F:6B:75:7B","sha256":"DF:2F:5A:4C:9A:9A:9D:2F:E0:58:7F:89:4F:F8:63:87:29:BB:81:C6:67:14:49:28:E6:B5:79:B1:E8:3E:E6:57"}}},"request":{"raw":"GET /_next/static/media/auth_img2_main.1403feb6.jpg HTTP/1.1\r\nHost: app.blockinv.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://app.blockinv.com/_next/static/css/c9a7350255f3cc51.css\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 12163\r\ncache-control: public,max-age=31536000,immutable\r\ncontent-disposition: inline; filename=\"auth_img2_main.1403feb6.jpg\"\r\ncontent-type: image/jpeg\r\ndate: Mon, 27 Jul 2026 06:26:02 GMT\r\netag: \"4037368bd9e9104c626514cbe8e6fd24\"\r\nlast-modified: Mon, 27 Jul 2026 03:03:19 GMT\r\nserver: Vercel\r\nstrict-transport-security: max-age=63072000\r\nx-matched-path: /_next/static/media/auth_img2_main.1403feb6.jpg\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::nwvr5-1785133562784-3ef9ade1ddf1\r\ncontent-length: 55380\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":"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":55380,"size_decoded":55974,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 720x1280, components 3","md5":"4037368bd9e9104c626514cbe8e6fd24","sha1":"a6d6b107f80300b86e2093830dfbbc9727280e31","sha256":"9fa54f2d06b5da52f95ad0686b27ab8d92c4f8412c1a90f4648f126d12864360","sha512":"ae638dab771eb6917bb7a4bfb8b640278936a96a3d7940f8f499d11a0e5519d0eb3a0edeb93bb8fef42f40af207192e0f8d6d6500d082500c915cd0c30b725ae","ssdeep":"1536:jxiZkt5hKd835CUcN7m8mU55zsy6awq8JYun:lilq5ZcNS8JTr8JR","tlshash":"fd43f13fba09a661e300bdf7ac9023107e757345114f4b39119a9a774448ab3d7d338b","first_seen":"2026-07-27T03:07:35.326897Z","last_seen":"2026-07-27T06:26:35.999656Z","times_seen":2,"resource_available":false,"data":"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AAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkglYCAAAAAAAAAAAAAAAAAAAAAAAACSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//2gAMAwEAAgADAAAAIfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe/fffffffffffffffffffffffffffffffffffffffffffV//AH333333333333333333333333333333333333333331f33333333333333333333333333333333333333333331f33333333333333333333333333333333333333333331f33333333333333333333333333333333333333333331f333333333333333333333333333333333333333333z5z7T3333333333333333333333333333333333333333WwyxX33333333333333333333333333333333333333z1XzzxX333333333333333333333333333333333333/1b1XzzxX333333333333333333333333333333333338a0i7/zzxX333333333333333333333333333333333339Xzy6zzzxX333333333333333333333333333333333339Xzyr3zzxX333333333333333333333333333333333339Xzyr3zzxX333333333333333333333333333333333339Xzy7zzzxX333333333333333333333333333333333339Xzzr3zzxX33333333333333333333333333333333333t3zyr3zzxX3333332z3333333333333333333333333339Xzyr3zzxX333333333333333333333333333333333339Xzyr3zzxV333333333333333333333333333333333339Xzyr/AM88V99999999999999999999999999999999999/d88qa888V1f999999999999999999999999999999999/d88q+888F899/9/wC9/fffffffbffffffffffffffffffa1PPKus88zsIJFvflHvffffffffffffffffffffffffbffWPPLv8A630jIL7/AF02119999991999999999999999999d5p88qf8Af/8AgIZjyzi3x3z3333tP33331b33333333333330TzSx/V+6XDM6HTBX33Hn3/+oP1X333xz333333333331W81Vz3veuuK+PT1urPTlz3324rr/wB995X999999999999999H51uNsRx6AtxbbceIxjo/9/u9999qh199999999999999GfffjcddckU4mvHCJrFAP19wy999vvz99999999999999Stv0mzjvj4C8iXhG8FoIGvfrsW38j6b/APffffffffffffRfpjWRrrZLCkKzj+/i1VBW2UNUivSkffffffffffffX/vbEnpNq7UYRVr+skyaIuawEv8Auj8BniB333333333333/AO99TR9f7oVzOV6q4hG7X+13YyCMjZzo+9999999d9999dtd9K7JXdRENlfKKBuzlc1zmCU50mld999999999999994N9dm3U7v4mBkkvEV74f592xameHze99999999999999999M96544h1sYaUPPdflf2jsCmguvdx999999999999999998TEuGVUhtiuIZ81VpqkaJ8CYke+99999999999999999xp7vYn7tNUt4KynyfaGUW+kermFFd999999999999999tt6m2OsozCUjZD79vquOvaBWGbqrV7299999999999999dt/WHWwPS0aq0WBpocTFlfYxU7vE1vy1999999999999t999/PGO6Y1KG1EdvWytmwmeNNM0qc9/O9999999999999+fPuZLD6gUwGFSh82wxhVrPn9XPxy9x+99999999999999d19owjXCKhNTK9u2upR2GduvWPub9D7999999999999999M99tFkXhIukjSr6mAJ5SNuLpFU5/d99999999999995999951Rpc5xrvY7AvL3VQeYim249q/8AffffffffffffffbfTffSX8jcpWz6671dvei/UoTuZfff/ffffffffffffffffffXvRgJVHfHOBfUjKRSL8evvdfefffffffffffffffffffffFDdbbwHYHDnBk6gvOaTpvfffffefffffffffffffffffbGWR0f3PNPbZrFPDCg9uK/fefffbffffffffffffffffeffvX/sDVefXfyqGu2urvmPZffPffffffffffffffdfffffbXcbSwbYoLdWSGnPnviCFX/fffffffffffffffffffffdfV/131V73dfRDyvPQN5nzfP/ffffffffffffffffffdffffRFGYQqyrefblDHQ7NfvvLvffffffffffffffffffffdPfeJAkX2A/wD6iFy30PhX7733XT3333333333333333333333j20z8Ab3oHD/AN1D9uuAM9989999999999999999999999t9x9pG8G168nkcj/8ATX+fdffffffffffffffffffffffffffffVbXfRjmTPSPffefXZPffffffffffffffffffffffXffffffffffffXfffX/AH3n3333333333333333333333332333333332333333333333133333333333333333333333333333333nj3333333333333333333333333n3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333/2gAMAwEAAgADAAAAEAwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyAwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww6QAwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww6Qgwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww6Qgwwwwwwwwwwwwwwwwwwwwww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"}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"app.blockinv.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:09.657Z","timestamp":1785133569657,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://app.blockinv.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://app.blockinv.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:12 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a4cb803-891\"\r\nexpires: Tue, 07 Jul 2026 08:35:15 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: kw0u19Y6OrbVegc4L+S0/cV3tV4QtgTzaRUeP84D7AookTGNJkkdkgNmCT/FfY/8/zUrb8o\r\nx-77-nzt-ray: fdb54123124f25f504fa666a1bb6b737\r\nx-77-cache: HIT\r\nx-77-age: 46\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1034,"mime_type":"application/json","magic":"JSON text data","md5":"88bd6816d4679ef7a63e1e6b61490804","sha1":"a592c82f8688d81c4ff12ddda0f42d842dbcf079","sha256":"1147d96bffe9abe8aa663c63cca281edbff049e2211f810da089a1dd90051df8","sha512":"e583bebb86335657d7cca5065967a4e281280f0b4ab1fe0457de1dee47f12f84922daf5fe938c39bfb8f03e086d706f2b0fd1d86a6e79c4cce053f0943dcb762","ssdeep":"","tlshash":"d9414593c0b80e5317cc262bb89545515d5083c7e88a3d0d366d9a7f2f4cea920e6b7e","first_seen":"2026-07-07T11:50:17.724469Z","last_seen":"2026-07-27T07:27:47.909394Z","times_seen":1802,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1DMFhIUHhldi5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1xZXV3a2NCbi5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tdDZXeExBQkEuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1DZ01DQWZvci5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":3285,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3267},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"files.smartsuppcdn.com/files/agents/avatars/1001615-nqPDedKKrQ.jpg?size=80","fqdn":"files.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://app.blockinv.com/","date":"2026-07-27T06:26:31.246Z","timestamp":1785133591246,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1407973393.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:05 GMT","end":"Tue, 01 Sep 2026 14:33:04 GMT"},"fingerprint":{"sha1":"D9:3B:AA:C5:D1:42:29:40:68:44:81:7B:12:96:56:50:FB:BF:33:43","sha256":"4D:9B:DC:BA:97:FE:35:DB:02:D9:F9:8A:87:B3:09:F9:9D:3B:52:AD:18:0B:6D:5D:57:17:4A:2A:15:84:FE:0A"}}},"request":{"raw":"GET /files/agents/avatars/1001615-nqPDedKKrQ.jpg?size=80 HTTP/1.1\r\nHost: files.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:26:31 GMT\r\ncontent-type: image/jpeg\r\ncontent-length: 6291\r\ncache-control: public, max-age=31557600\r\nexpires: Tue, 27 Jul 2027 06:03:06 GMT\r\nlast-modified: Mon, 29 Jul 2024 22:25:38 GMT\r\nx-request-id: d643e8f0-8980-11f1-b68d-33ffdc82e108\r\nx-version: f92ba74969309ec1d0aac9f4a7614a4c7b350943\r\nx-77-nzt: k5nEBri7GjIw1y1XR4B9GrxrwdYeVlityNm9sSXuxu4NDFKZL2v30mjIBifV\r\nx-77-nzt-ray: fdb54123d61b990e17fa666aaa7ff011\r\nx-77-cache: HIT\r\nx-77-age: 1405\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":6291,"size_decoded":6862,"mime_type":"image/jpeg","magic":"JPEG image data, baseline, precision 8, 80x80, components 3","md5":"46a4c66dc4034a2bcef500a41a934a2b","sha1":"53f3182ff1a5514d398dd87e57c3d89083e0ef0a","sha256":"91469770c2346f3e29f6b846a270aced9af4509f81e72b3a35f8f6040c949e8f","sha512":"f1904a5850c3496220136c55b6d74aa335fcaf31500de7254fb38feeac4c1fe1358b6fad25ad88eca972a31487c24be617025e242199ff1e3fd879453cb36bfc","ssdeep":"96:5BzYtSTBsKQUykWQfVBPcTG87YbuvAHXJJ9Bjh8Jcv0/TV:nzKSF3QUxWaBxHXJZh8G4","tlshash":"0fd1bf4aec851492ee6c2a760d02d2a0027f260565c7df580ccb39a3d9557f2203f1ae","first_seen":"2026-07-27T03:07:35.303054Z","last_seen":"2026-07-27T06:26:36.000667Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":98,"timings":{"blocked":0,"dns":30,"connect":8,"send":0,"wait":44,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
