{"report_id":"b4161228-b17c-402f-ae62-e5003f0a2f64","version":0,"status":"done","tags":[],"date":"2026-07-27T13:56:35Z","url":{"schema":"https","addr":"www.forexbot.demotunde.com/","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":0,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"final":{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"title":"Home — AI-Powered Forex Trading","dom":{"size":73587,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (15756)","md5":"4d101ec08ca0d5d9d05c66450a1dc980","sha1":"db28020f731852bfe1244f6e050d8015c81e6a27","sha256":"6b355759574c36fb41fadb457c30f6a6b4858fa554b0776e1eb8bed814f7f539","sha512":"afc945a647b044d37877908def68b21f664a30bfa1d38c403a932c45a105b68de0c8241f0b8e5a77408f9a8a9dcc29606ba77f559989de7f1e15dbedf53f732e","ssdeep":"768:2QHlTh0NtJS+WbQ6F5G/K/Pwwx5O2Cxu+kFkfPwSpJWVdu/jvZLKZ/NZQcfZC+xW:pThi/+PJNzWOK","tlshash":"0173c42567f1107e846386e2b2a07f2ddb7e8287d52ba115b25d0b109fcbc9a7d13b1c","dom_hash":"domhash08e511eee04ab18776a44f0ea17acdc4","first_seen":"2026-07-27T13:56:41.841625Z","last_seen":"2026-07-27T13:56:41.841625Z","times_seen":1,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":0,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T13:56:35Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":6,"received_data":163185,"sent_data":3556,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.forexbot.demotunde.com","ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"domain_registered":"2026-03-05","domain_rank":0,"first_seen":"2026-07-27T07:45:14.322597Z","last_seen":"2026-07-27T07:45:14.322597Z","alert_count":0,"request_count":3,"received_data":66826,"sent_data":2928,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Alpine.js","description":"","website":"https://github.com/alpinejs/alpine","common_platform_enumeration":"","icon":"Alpine.js.png","categories":["JavaScript frameworks"]},{"name":"Tailwind CSS","description":"Tailwind is a utility-first CSS framework.","website":"https://tailwindcss.com/","common_platform_enumeration":"","icon":"tailwindcss.svg","categories":["UI frameworks"]},{"name":"jsDelivr","description":"JSDelivr is a free public CDN for open-source projects. It can serve web files directly from the npm registry and GitHub repositories without any configuration.","website":"https://www.jsdelivr.com/","common_platform_enumeration":"","icon":"jsdelivr-icon.svg","categories":["CDN"]},{"name":"PHP:8.4.23","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]}]},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":12701,"sent_data":595,"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":"cdn.jsdelivr.net","ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2012-05-16","domain_rank":1678,"first_seen":"2012-09-30T00:15:09Z","last_seen":"2026-07-26T23:00:42.445991Z","alert_count":0,"request_count":1,"received_data":47124,"sent_data":492,"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":"cdn.tailwindcss.com","ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-07-20","domain_rank":117330,"first_seen":"2018-07-09T05:46:13Z","last_seen":"2026-07-27T08:40:23.885085Z","alert_count":0,"request_count":2,"received_data":408698,"sent_data":958,"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"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"ce697fc7d7cb7c2f29e6d3b00e0b2f2a","sha1":"1fb6f511022d6ab92af5497143048000fe98d35d","sha256":"86ff484294ebc99a9276c0ba5a19175705b85cca6b59f16a771d28bb6f3091ab","sha512":"ce209ef739d065804350d999a0f6816001799dc5b2f98866994586373771c59691302a7740670fcbf5f3f7697569cd29d95e127171176ccab83037b020190291","ssdeep":"","tlshash":"5dc08ce4588a1900d7233484c03b903b612a2a32c6be94a52b3aa764e47712ae09dc6f","size":167,"data":"","first_seen":"2026-07-27T07:45:16.677434Z","last_seen":"2026-07-27T13:56:43.04122Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"3e0133200b163a76d2de796f1318cc42","sha1":"5f05a3893892388f4aefc7ee7cc43c9c233e4b42","sha256":"df7846a94b04452e44446e90a4245168182a3833b55b11f318846a5a2ecfe592","sha512":"b4acf88a50bda22a4a340bfce02c63dd249aa6a1315d52794facf621d0ff77893d7120a8c531201571c87735530d037ee0d13601147d798df40a31a9b0e08790","ssdeep":"","tlshash":"ecc09bc458ca5901c3173591c036543761381661917d84652a3db354d537116d15cc9e","size":133,"data":"","first_seen":"2023-08-02T16:33:10Z","last_seen":"2026-08-17T16:22:16.674013Z","times_seen":1722,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"b30d025c2535ae71b99ce714556d4ddc","sha1":"01aada84e2c9a8071bc7e42d8e5051c5f6da0cbd","sha256":"f35067b0072a28522732dc2cc95575a2dda4913c05f63aa2abf8c2117d1e92bc","sha512":"421032794673510fe2bae467ab7af4232b45218d4c3af3b17127c7ac12ef9b928fe19050fcd610a48193889aad28639a28d5052aca8ef5859dee6e6939ff457a","ssdeep":"","tlshash":"bfc02bc448c30900c2033cc0c037483f623c5b20c17e4466263ca3549033006d09ccfd","size":142,"data":"","first_seen":"2024-08-20T06:35:05.414875Z","last_seen":"2026-08-17T17:18:06.358491Z","times_seen":414,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/deriv/js/forexbot.js","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"70427bcf99407b096772ab99238ccfe4","sha1":"e0170d5e57353af73fe9521bac2f30307f410f11","sha256":"2975f12e7b50794468537a7b67e11584515f6f4ba6a2f8f98c08558b99c6a42d","sha512":"360b30fa668a86102456f415065fa6d41503c8fd98b8c6fbf990ce4bb590753300e9d21d3cf52f12506460242de5f9c1122cda5af1ae17e35fdfa425693db701","ssdeep":"96:VbGI8OYYSPaLRYUrP4myECfsaFyCohIMcYwJXAy974/1m:MINjSgRYUTo9+hUdX59c/1m","tlshash":"07c1958d705219650ab3a77aa7d74b0cfb25703394468199bdbc82442fb171076e3fec","size":5759,"data":"","first_seen":"2026-07-27T07:45:16.663598Z","last_seen":"2026-07-27T13:56:43.027317Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"35ba42f29ad36741637cad5d7e14aa61","sha1":"e5f69e672538d11a9a698d319e0ad96ec22ef5ee","sha256":"dc27983c902ce58a88c3633e0036eb6e07456e555bd27bf12ec2fc8cd488927e","sha512":"3b751bfdd9c0025b98b32887d678c6b6e700bf8c25db53d3fae742bcb9885494e61ba39d852e484c6e7030e177ac23520c12f624fab251d53dfb78b3eaa3839e","ssdeep":"","tlshash":"53d022888cca0a08d28738e6d235e83b33381221903c44762a289308a03312ac25dcde","size":198,"data":"","first_seen":"2026-07-27T07:45:16.704445Z","last_seen":"2026-07-27T13:56:43.039581Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"d8bc027a7bf4c91f68977f4adb649aeb","sha1":"82c3083c1796dc1f05f8f4e00e4c2158b4d56329","sha256":"48561bf772de82456babafb030cb14cbd36d1df838a537e1e849213ad93d3832","sha512":"07abaf6c4c6e00577cca7c3a1442146bcaf97a0213771d6bfa5adbbaed6c41537ba992fa4b80fbdbbfcb7c6e6ed54c06a0f4129cb438df3f91c21228f1baa35c","ssdeep":"","tlshash":"e8c09bc458cb5d00c31b3a95d1365c3b713c2661e1bd84691a3df3549577116d15dc5e","size":144,"data":"","first_seen":"2024-10-11T09:02:16.41319Z","last_seen":"2026-08-17T16:22:16.67162Z","times_seen":1719,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"3202cd46b61f7a4d03d8357318b88062","sha1":"3df331640f31c99b11003a9570b24255ed24b171","sha256":"971155d746b29ce0fdb7e870399d25debf0cb6d41affeeaf72b58e56c4126f5a","sha512":"aa861f2007655119a068f2b3beb4f3c87fe0f2b5d5ddf21438e1c3956dff4ca8eb493881cd0925dae4ae9abd538d427cb6d553c9abec396b72bcab982bb132ca","ssdeep":"","tlshash":"6cc09bc458ce5d01c31b3993d03a5c37613c1666917dc4652a3db358d537116d25dd9f","size":144,"data":"","first_seen":"2025-03-18T02:51:52.018202Z","last_seen":"2026-08-16T19:14:33.565151Z","times_seen":100,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.tailwindcss.com/","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7a614b9a197e532c00d09a23b0996b5f","sha1":"1ff1738a40f3716e30e9031b181b0955ae578955","sha256":"176e894661aa9cdc9a5cba6c720044cbbf7b8bd80d1c9a142a7c24b1b6c50d15","sha512":"a67bc26f52d938358471be5671ff4b79e11af4e68b486aaf73a35a4c9bf3777aab51101af81563b4e5b7ba4b04dd8971fcfa9ee2c41fb10a0c1ee5604a99abd6","ssdeep":"12288:fpgrZxSAoNbJb0Wie75aUXGuyQZhK4O0s:RCVoNB0Wie75aUWmnO0s","tlshash":"e8844aa57396702647eb51e850ea1042f2beaa38840c44bcf7edd4da39e5e4440fbf79","size":407279,"data":"","first_seen":"2025-07-28T16:58:08.903462Z","last_seen":"2026-08-18T00:30:47.966049Z","times_seen":49674,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"a48446658381619e9f26ea924e82be0a","sha1":"51ee88ff3854d37ce68be32870299ec75a83a673","sha256":"ccf68e2bc90cdbc1d76ac6b0a3e34c57f2367e9eecfc1d38041d08b83a1c9ada","sha512":"089d15b47a68edfb4f1619e5b186bf674dc0bb09307baa3a5b5236464b8014561a623b06c01d47582af5d67a42233bcb706ecdf1c3a54db0720deb1ee5bb6098","ssdeep":"","tlshash":"dfc02bc448c30900c3473490c035813731341262907d4869173ce360a03312ad01ccdd","size":143,"data":"","first_seen":"2023-07-21T22:23:55Z","last_seen":"2026-08-17T04:02:03.418544Z","times_seen":97,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"a402762565c00d01e20f91a71223118e","sha1":"b01a0c89159b35be82855f764f066ed872ad226e","sha256":"127aabfda7004a49dfd34b0efcee2899983e285f0f15688d55cbc1e2ec357804","sha512":"bcb0c184e2018788c2091577b3832d76f72fa7a9a6b6b6bf278d120a0fe54da1d77f42d36394af323c32ced983c1d6ef858ce35946cc40037ab1b19c1e60af0b","ssdeep":"","tlshash":"74c012b918d92e00c1023893b1269d76512c15b9c57d4458162993745573059d61ac59","size":181,"data":"","first_seen":"2026-02-17T19:05:52.268845Z","last_seen":"2026-07-31T21:00:09.197581Z","times_seen":9,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"a593a5836449f1e33b161f0764556bef","sha1":"74dc07dfa334fc6cf6087d98d3a1b60a7fee3f87","sha256":"bfb63d21718a5a07c7450e0a5fd6c4515395c699477fed52dc8f27efa1dd3a52","sha512":"79926d3c0ba301e0fde0d6960169bc0972e1ea192237f43cad29e177a056bd784fc5a632ad1ceade7cdd553c85c913c2c05d4337a16f17cd44984bbfafac5ab0","ssdeep":"","tlshash":"f1c08c8088830900c2073cc0d136483f222c9b28c17d44662638a3a88033106e0cccbd","size":148,"data":"","first_seen":"2023-05-28T02:08:41Z","last_seen":"2026-08-07T04:23:27.077118Z","times_seen":245,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"d7af56a147875d9d830a73e90bbff8a4","sha1":"c54eb9dc5291b9c60e111845df871dec48c470e8","sha256":"302a41926ff036c2b90edd46f9c7d525364d46802161a7660501b204c55914c2","sha512":"c67f1e8b965cc007e8341e886b0eaef2b5231b557ad7727b1815b6553a8b0693a64765a70f0d92fdef68a77670727af3c6368a119251313fe9b59c5c144b7aa2","ssdeep":"","tlshash":"75c02bc048c30900c30338c0c036543f22381724c07d4466263cb3a48033106e08ccbd","size":135,"data":"","first_seen":"2025-01-02T13:10:30.351943Z","last_seen":"2026-08-07T04:23:27.078412Z","times_seen":51,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"fbf3135122373345d9ceb71df3f52bfa","sha1":"d9d636e31367ad494b89a3f72010f56fe41f2955","sha256":"38a3bd88353cbf0ad11cc61074655354cd5364a990415e450eb1f0201b362690","sha512":"9bc3c6c2dc0f52e7a606dd9509c4d8ca475eb36589018d94c3b087d58bc28e5773992822d22ac6fd969983eac24610a48da427118d4dc8dbb415a5b51391f76b","ssdeep":"","tlshash":"5dc09bc458c75900c2173dd1d136543f623c5765d17d4465263db3a49533116d15ccbd","size":134,"data":"","first_seen":"2023-05-28T02:08:42Z","last_seen":"2026-08-17T17:18:06.360146Z","times_seen":540,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"73a129ae98be00bcb9b055cd667be911","sha1":"0966bada39dd202e4b80a63ea68b70d6130a3e0e","sha256":"dd022b28f739f6276710fb9d689dd4509097481df45bd7ee6f104d5388e4c306","sha512":"24c07be41994248c5c2a0a56adb736e699a2b13132a0e8f08735091eb6e53ba02b6aa8e4b75779bf7909d87400abb12a9c0a67d4017f681596ed6b6434e6ccf6","ssdeep":"","tlshash":"6c41daec8ef04613584702d0c5ee692b786c91a36e3a3ca9b6de068d0f4c98c13f8319","size":2197,"data":"","first_seen":"2026-07-27T07:45:16.692681Z","last_seen":"2026-07-27T13:56:43.033464Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"b641abfcade88aeebded36e53fde6c2d","sha1":"123aaadb55bf257e086aa3a48ae8068334db8339","sha256":"442242b413aba4e303bfb1bf8d230f016a10156356298ca8b80de0908dba0ed7","sha512":"93701324f306f5bc6266231ec9c7cdf07920d6dfff3572e1af4eed09f31a886c6778fc2a8b7d1853b8f5d9836d21db5090b6f729b2266ec4d46634c0e011a0de","ssdeep":"","tlshash":"d4f0204138b621bf25b3a222421b430a3b390003308ac966bf2c93660fc56382e90bda","size":540,"data":"","first_seen":"2026-07-27T07:45:16.696129Z","last_seen":"2026-07-27T13:56:43.034195Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"983f5cdf1140fbff38b45bd8746f9f6b","sha1":"c94145010e30e446e36604aa0e07ee19b5fdf9fe","sha256":"23bb52c261d95bcd7d7fd556dd603b83c0ddadd48253b382e86dc4413ebac23a","sha512":"0b913e5074f20b71f6a75b5283917bdcb9b69f1e8829989ced9bf18d366dbbee95f832f6f1c904d2638492e4f89e9407614481a27d79672037c42909bb98bcad","ssdeep":"","tlshash":"6ac08ca008820900c3773680c13a6236722a222291bd44a52b3ca768993322be25ccae","size":154,"data":"","first_seen":"2025-10-15T06:53:06.803837Z","last_seen":"2026-08-05T03:10:44.334514Z","times_seen":13,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"422c7d8cfa8b78375cc7a767d2ae5ca6","sha1":"7df3f287f769c205f1392de3532517d602cd1810","sha256":"57b37d7cae9a27d965fdae4adcc844245dfdc407e655aee85dcfff3a08036a3f","sha512":"0a30f697aff3d0fd675001e5fbf9724ba3705766e9da28de966d84aaa8394ee18cf3f49cf5688d12d51f2a6fc073b3a9a578ed8666404c53399e7abb3b210f61","ssdeep":"768:DBCz6escmy5dIOT2C3KBdoqCHL6POK/5IKXqLWoOAUORrST5GUGz++u3hBpShpJ0:FCueivEqCr6POQDXmWomUtzMBpShpJyn","tlshash":"c023f9e97396b13283ef01b190bb424af33d2994150e5464f669d8ee383948d51f3fba","size":46346,"data":"","first_seen":"2026-04-30T23:22:33.584041Z","last_seen":"2026-08-11T04:47:50.625975Z","times_seen":3139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"0a8209a99033b63fb8865462adb474ad","sha1":"735669bc52c407ee9faa53651132cc4b8abfb053","sha256":"2efab0d58db76835b1deb00daeb756fee75fbf236e5752b540cc60fb0697bf5e","sha512":"b386b6abc936e15f6b51e439b57844c2ec190d1c6f5266d57c6851cfbba27d1b0ad93ca4fb428c8ac55b6ab4393b5d02270707b929c53ae24dd9a7b342108ffc","ssdeep":"","tlshash":"ded02288448f5f00c21332e6f435d42626392120e17ca5b9a629bb14507321ed219eee","size":204,"data":"","first_seen":"2026-07-27T07:45:16.698673Z","last_seen":"2026-07-27T13:56:43.037973Z","times_seen":3,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"AsyncFunction","is_inline":false,"md5":"923f7f6110eda5beca012a3d31f98d3c","sha1":"77e8a6b30db7c2515cefc32b10a9775f82851c92","sha256":"ee85e0b54f6b3f926a2fe86648718511e2c512d8faf553bb57094c16ca8962ff","sha512":"daf513a3b5120d997638c46131ca3f0d30e2ea59c4f8700cbafaa6dcbfcc4b7dbee6599e8769cdcb40fd060a6d539e55d6bb5cb1dbc8b01d3d45f957391737da","ssdeep":"","tlshash":"ffc09bc458ca5900c2173992c0395c3761381665917d84651a3da3549537116d15dc9e","size":132,"data":"","first_seen":"2023-05-18T18:40:20Z","last_seen":"2026-08-17T16:22:16.673223Z","times_seen":2018,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"warn","text":"cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation","filename":"https://cdn.tailwindcss.com/","line_number":64,"column_number":1711}]},"http":[{"url":{"schema":"https","addr":"fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.071Z","timestamp":1785160569071,"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/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.forexbot.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 27236\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 07:42:15 GMT\r\nexpires: Fri, 23 Jul 2027 07:42:15 GMT\r\ncache-control: public, max-age=31536000\r\nage: 368034\r\nlast-modified: Tue, 09 Sep 2025 18:38:58 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":27236,"size_decoded":28049,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 27236, version 1.0","md5":"a8c28b27501f763423d96717c43243df","sha1":"e845ac57b3fee2c68ec6cdb95114ef3541fa3d11","sha256":"b6698c39332c51112c720e8a92608b4eeed502f654b63fc1693b8cccfc856d4d","sha512":"3e3af79fd415b3e4d3cbcd7f9bce2a7fa5c09b1ad5a38c6f2e971852c7973eae1b8ac85a4664f8c7af34f6c489f563cc35f82aecd32b1be8af70ce2612b0e3d3","ssdeep":"384:TOfiFJZpa1LuoEeC5s2xCWnEgdMqCF+FSe5LuxyrPyP2hbgBizhxCvw9k3kwA0y2:XW1l+s2xC8LSs2P2yitawWU50Z","tlshash":"f5c2e0676b05362dbcc47380135b8f262a5071b5566cca61787bef4e3a9b03a903cba5","first_seen":"2025-06-03T19:01:05.870661Z","last_seen":"2026-08-18T00:26:25.291449Z","times_seen":20502,"resource_available":false,"data":"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"}},"time_used":83,"timings":{"blocked":28,"dns":0,"connect":0,"send":0,"wait":31,"receive":24,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.073Z","timestamp":1785160569073,"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/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.forexbot.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 27236\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 07:42:15 GMT\r\nexpires: Fri, 23 Jul 2027 07:42:15 GMT\r\ncache-control: public, max-age=31536000\r\nage: 368034\r\nlast-modified: Tue, 09 Sep 2025 18:38:58 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":27236,"size_decoded":28049,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 27236, version 1.0","md5":"a8c28b27501f763423d96717c43243df","sha1":"e845ac57b3fee2c68ec6cdb95114ef3541fa3d11","sha256":"b6698c39332c51112c720e8a92608b4eeed502f654b63fc1693b8cccfc856d4d","sha512":"3e3af79fd415b3e4d3cbcd7f9bce2a7fa5c09b1ad5a38c6f2e971852c7973eae1b8ac85a4664f8c7af34f6c489f563cc35f82aecd32b1be8af70ce2612b0e3d3","ssdeep":"384:TOfiFJZpa1LuoEeC5s2xCWnEgdMqCF+FSe5LuxyrPyP2hbgBizhxCvw9k3kwA0y2:XW1l+s2xC8LSs2P2yitawWU50Z","tlshash":"f5c2e0676b05362dbcc47380135b8f262a5071b5566cca61787bef4e3a9b03a903cba5","first_seen":"2025-06-03T19:01:05.870661Z","last_seen":"2026-08-18T00:26:25.291449Z","times_seen":20502,"resource_available":false,"data":"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"}},"time_used":81,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":40,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.076Z","timestamp":1785160569076,"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/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.forexbot.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 27236\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 07:42:15 GMT\r\nexpires: Fri, 23 Jul 2027 07:42:15 GMT\r\ncache-control: public, max-age=31536000\r\nage: 368034\r\nlast-modified: Tue, 09 Sep 2025 18:38:58 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":27236,"size_decoded":28049,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 27236, version 1.0","md5":"a8c28b27501f763423d96717c43243df","sha1":"e845ac57b3fee2c68ec6cdb95114ef3541fa3d11","sha256":"b6698c39332c51112c720e8a92608b4eeed502f654b63fc1693b8cccfc856d4d","sha512":"3e3af79fd415b3e4d3cbcd7f9bce2a7fa5c09b1ad5a38c6f2e971852c7973eae1b8ac85a4664f8c7af34f6c489f563cc35f82aecd32b1be8af70ce2612b0e3d3","ssdeep":"384:TOfiFJZpa1LuoEeC5s2xCWnEgdMqCF+FSe5LuxyrPyP2hbgBizhxCvw9k3kwA0y2:XW1l+s2xC8LSs2P2yitawWU50Z","tlshash":"f5c2e0676b05362dbcc47380135b8f262a5071b5566cca61787bef4e3a9b03a903cba5","first_seen":"2025-06-03T19:01:05.870661Z","last_seen":"2026-08-18T00:26:25.291449Z","times_seen":20502,"resource_available":false,"data":"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"}},"time_used":82,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":46,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/instrumentserif/v5/jizHRFtNs2ka5fXjeivQ4LroWlx-6zAjjH7M.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.079Z","timestamp":1785160569079,"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/instrumentserif/v5/jizHRFtNs2ka5fXjeivQ4LroWlx-6zAjjH7M.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.forexbot.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 22128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 12:09:20 GMT\r\nexpires: Mon, 26 Jul 2027 12:09:20 GMT\r\ncache-control: public, max-age=31536000\r\nage: 92809\r\nlast-modified: Thu, 04 Sep 2025 17:19:45 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":22128,"size_decoded":22940,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 22128, version 1.0","md5":"bc891bdd08ad55f22a545508466f855b","sha1":"24e6c99ca08b1e5acc92cf106c586f491ed15151","sha256":"5a51946dfffa82972bc98745359c46761515641fda557c25116459a9f83da4a7","sha512":"50f56f74de747ac5e63de8000dad47fe758d14f77a6f196938ea075e836ce29e01f98884e37f278e0a36ce50a03874af239ebf36e4c7480b3e05021b1b70f9a8","ssdeep":"384:KgIqm88WU0pMFLBCqOeANVwepCcyQxODsiuRdjccBgqirziD/pOk5Tuc:dnm88WyFlJc7CcRxOArecGqVDRF6c","tlshash":"71a2e1d844d527e287e4b4b5e530b8a6ac7ed9da8e3b266330f3a999b8484827343410","first_seen":"2025-09-11T04:20:12.966234Z","last_seen":"2026-08-17T16:12:47.852835Z","times_seen":1967,"resource_available":false,"data":"d09GMgABAAAAAFZwABEAAAAAxtwAAFYNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFyG8BMHIQiBmAAhHIINAmcDBEICoKLMIHkdguDOgABNgIkA4ZwBCAFhSAHhR0MgScbvbAl4m1/hNvBeC3u/x4qYdOBzpe7FRMsFQWjENg4MDhD61f8/ynHhRzVTTXGwHuSSE4CST1KVvUumdcg2RBECsbujm4ckOVCmSNrPOHipGuBUQlXpYajPsd+b6LZi37KpVQ9j0uryAsXoWl07vhhsBtMIhUSDQRZ9uOXxarWllRe+n+T+H9BxUsyx4FSH7TDS81gFIZLvw6r/qA0bPVsWwTGLXzUnHqXaM7c/bcOPgdWRK2Iag3RFhGZChMFJjAxmFmRmUoHaG3C83H90cF/889/88Tz8EQrFSpKW4gVUxRrCdaihOkqWOjm1upm1DJ00fr/r7O89+H/km3ZWYe5IqpZ4wmQK0ehOUo1i6XyF7s65fL8xxjfzn3r1lySOclMSmCIoqWJTWdIJBLJQtu26f8LVYyhu/cBAJ2Ji5HRqWQWslMpCayv7Zm6So/t8ZdLVwUF5GhUVPFHPD58f/r/a+19oKROCgVsGp6APXGh1LlKfT84s2YTaPosfm3fIZMj3qikdtTZN4uoJvX/T6CAMTdprlgotDARCRH9el83r8TIvXvdUgZbLbAIg0bIKnyRa3bNdKUr714IJd1H3ue60utng7S25eeTLHySCwqWFo1ty+ag9hm0dHEpgP9BNwvOa4EQJIpFMGlp75y36ccf1h+GxefLzX5yTa6TTEqoYmsmEyYl/M+K9+3tm17hGkF2PXhNwGsOLSGYZkv7A0SWVr4HT1NlAgSH6pOmTFeh32tLg0UFpMBXJtXd2w2QYUNzlLDNmqDkW19Ru6jVVV8yBxGB7XZBYqltMIj8BQtSzK9ftux2NWT1HIViHesYhAKXHBiDkLt/45uGC/kTovqEqIa9lOzV+aRP2JDUFBJ5OQsL9I/LZvMzhJLQlqNZXFUiMh6lrrR91KYOSRcKu1aiEAYhz+/bTMsPQ1qVphWpCLMwBwt36V3nRSiWdqXGiqj4eBOhMryv09b3voT5ghQIVzBpcBWnk2ujS99yGXNbLePXe+9L/7//JVlfEkhfgIXkKrmIj+2ThYskRCIJzgGMU1rBaUUWpABukdMqud6n1ut2w3Lrelkz3TCOd1Mj/mvvN0uTLYVQV678RiD9YzYeZrN7LFEOMciQJRpnUixPJIAyOA1HciAPMAEJ0pmYk6H7dI8igjHC5vb1RXT27p67CRIkSHALCW4Qecz1vcvSZRa0W2UECDnf91y+b077FeACKa7qyFA+bXzdmwd/w2ZfNPRStzuztdqEALk4rseRBP3/swKCcQHIA7iLjaRHRYQFB6lUAwAhIT8v/DznMlGh3M2+h80QumdReTEFE9PwoU4EDg1M2WHHCQchePOFv2CECkW4WCRIRLJsiOQgTzFKlc5IVNjLYiNGefQDIg2EcRPCJZeJMMikBO67++4Kb8ZkIA3fcR0cDfJvPxYXgDwSAMhk9B/jmbeelxBr/VXnYeY7ud8xUD2LIsM/DBR3kku+s0sgGCqWMANacnXO+rPXwkahQ4SD1gQU8xwGgXkXivkc9vlxxTbzUHRJX8uSFbQkE9VmVt2xn47owp5EeVJ/1FsqvN6WV4dJLYTnTqplW9Nmc5pSY8my9KcnbWl6pAblKY7GE4w39pjSNJFFEFYogTCJ/h//08/3s976pde96FnfJe208z7vPocccKN9J7rMBfbYZkO2zyoHo4vtssUGq9LTFho1oFubBlVKjufJ4FkYoiMMf/3uZ+yb3reeuu+my8adyRofcgxKWd4HBaH/ZMcx86B4IBSLV89LpeBUlIREr3vlZOKC/3IVpyGIW4UD7mJmiuRBVf+cUTjVBF36zV/5VeshGRP5UgHKuOOLkhikeP0H3gAoXU4sKRjIs99q+exTNqPRXJ2al6tDs0jHJfQQKVtCWPXPWg1XsYUdVGog1VWUPBUvi0NM9erJS3WR2iTU+OaUUPJVTmrQf+id26ijKtTZNrXWWrhwTDzRQWwAQIUGGy4ydBhji0Plqgw3vPEljAjiFB8YJCt13sZmZgamZWqvU2WHPoZ65pnckYw3BbSMKPnDGB1eawYEr6ICCZgh/Pvxmu3xLbq6to+Liz5OFaBRfWKNTcI+hXsbroHzWNk43jO91lO2U/zVgxhgjqvUpe67DxSPw36NcjamcGFoL+FA+9buL7yXO9ekpoAd94QfG2PoIijWPVZFRuITnirVEJCSxpi/29MAiF6Wg6PGYTFDMR2GAa+NJF+Qq1N993ZexlXV4+RD6aV6AY54dAOn91/F3dnSLcaBTrpo6gKi8CpaBkCsxADu7CY4O301aCzca3Zturkt6J5fti9ELS6VwqMkbEhdhFc/TCMNU1PQDTuvwQzPMbBFm/UQM9+qOT2VD+XJcXPgBN+JPH3VrE30ip8O2TRUeKRtud4den5LYTyddEY5yEk8WGXSipH2tGQ6ph07Hg1/1NrmMm4vPI0FV4LJh/YXjX/MlvMCMrtafVcSGEB8oTK97LNmQc2TqJSMmK/F0ejOVZs8eMCfH4axMvYFvOz2/JRgB6wgQ9fbWFF02aRI9ZBsN+lhBNuxRAPt0+3EdJm16MnSGpuBjbUDXCQaMP0sXKvF2EVQMHDMJSAV5pRr7Zmw9g+H0tZFIf2i4hZytD1gFStwKnoVE8SoG4nnuelBG4Xa5aJRbXaO6hgAfxKhkdASMLBTbXOZKOZneVj4RFiJH3GuF+ASKZa8tQlvqhz/1ufjiHTrkWuuufKt0qfAZoOKDdml3KjDqvJKDczujFIxMWGsFZIcVYNkNpiK7/ZMwW2VItOiHWFET5MPeKbAMQPGfDuXhR3UQzuGRzlRz+ITRvC+hWUIYAsFS5gxbmd30sWJp76jpjEkSUGRigfhCxQCMAiBiECRA2W9YMvbPs0ixWhw2il5RaPYFETK3qlihzk0QKmKTOeWhg8UZnkQMz2EWR6OznTcMDVzQEaAjJo8TJFTB0/BwEgSxe7yCApUikiV70FqgoIQcqLDLLxBI4chhifN6ctToQKNTHIB4gXMFzMkbsZvFJQgK1NpMj0vaKkzVdTCXM2G8YAvEcBZplXwqoZSVTkPV3ygqZlQTVWwA6kpR2crR2er5gRGysM1oZgOCoULCWDwueFZyk6TIezXzPNCU6Yx0e3oarS/ZwdajAaQPqTFyUtUqjwCT/l58EZ4FK6CgykCdoBRUpwkGIlGQmIcnSD++aOU5gnzhBP9ZaiFsMMJSulWEk4xciwR7ibsyzez9ZIrCcP4P/Hv8V9XfDXtD38W/y7+BP4x/AH8bvxCfB3ejZfhH3flHMox4AI4SerIvpr9tiu5NxeKL2pz5drtEx7FfiWpaSBwlGUzkgUmRhlNwYvL1WtQqUmn6rFps281v9BmIdots45B+k5rQY/16LXR5kSKzsViI7pMViZtiUSoyr5NwqpkEs88Dgq6K4zn8dLdFAJxXiuplCKdMlMuo0KlqqqmoUatOp3/T2LbLvsK4pKmjrXUaGtbRy1n0DowECgMGQUVDR0DEwsbBxcPn5CIjJyCkoqahpaOnoExpjfmZFhALMWKNZsGK064eWYvBq8AYtQDSJYUfKIapeGlpUJwPQjmECigdUUOBSUVNQ0tAwsrm1x2Dk4ubp6qpqemhigbNpKXxvdxWp+h5fltIMTBMd100yd1WmB+2lGhpJrYVOuuX7XWaSuh6G5Dj5lrsy0zXWMwt3QRRj0AADBV0DwQWwNzc4eLIq1lkpzIqiyr0TetySOy+9Ycx3HdCc4HqOZeTtTefrzYWH+97lXmwFu9fdnSTerc8imxyIiW+BhffvwFCBQkWKo06TJkypKNd05o6CQ4CT4AOjsJzqqGCoZrV8lIs3Saidquo79Dg5pi+ZGHhNYgibv672iozMiCXXJG4acNzFBVwrljLsaVG3cePHHLu44PX378BQgUJFjIYmhRWEm4CJGiRIsRK068BImVVE+DxsWmWml10mXIlCUbL/ywd2KbiKhJj6WX5JF8shhL9FuawTGSVcqkPNVtaqjuWj3mfnoejt3s3F1p9dE31nFxLMgWqp+Bhx03W3N1RnYwxI5r1lD37MJ1HPtOnXI3RK3WbFu0LbKvVLIobpx5lO2uw1QdXToO9Ql+yjgKqRanWnZNyz6HJgAOF+RB/AShUAQjKFZc9qmIxIxEdk1SZMmXkaJoRqFUpUaTttLx6Z5OBeY1LNpnWaxYs/m1bSW7ttn3Aoc2OJ7h1CnnMS5w5cadB09c3nz48uMvQKAgwZ8OaV9ohbCicESITBSixYituGrxlVCUWEktSpaS1ChpSJchU5ZsvPDDEhQJI2p+nVMtt315bchvXoEUKlKsRClxSZpWpnxUVKhep4asqqxGX+2qNHJ9tOBoIJZaPeIVt1AAYLfIHahFuBBIFFQ09EVmPXBXIEGbYCCjoKKhY4QZYmHj4OLhExBuiWwNSYmmorWMHApKKmoa2uigj6Fh/BhTeX1BuFNbLsO5aS7GlRt3Hjxx4/2PD3z58RcgUJDghMYjqUYyUpKKNOkyZMpKNnjhE+FF9HRePYtqFUihIsVtFFul44hEypSnInhmba2NatzdrtWlb22V9f5tujiO0zikcbXCiA5Gywt0prC9H3Z1TNxFOFyfDjB7AQ+tpGY+ZnZ0YiM5a9Tb8dM4QS8fd+fKLsCGQKKgoqEfmGO6bTgXucCVG3cePHF58+HLj78AgYIE99BFByeky5ApSzYe4Sst79FP2cPUcUzD2RVkhI43khaht21ADXeaoE0wQ0ZBRUPHCFNhCTsc4eLhExK90j4UXRi9YiDGq5u3MknFGGOMkDfjqRK6eOFqyjIZyEthG54yff1DZWdOUus3hxvVfiqvg+i6DhuueGHzS2V5Cx2mYEMgUVDR0Cd8TWCSkVNQUlHT0DKUA5VKazochjy88Sh/OnRXUpKMlFeM5S2KZDSj/CsFpVCRYiVKiddX//K2R1Fvq3lFCFEUyR2j+uDoEDZ3RITycluo2h1U1/Xoq3jzlXy57rt1z704SC0sdoCaudE/MGiGDDefofLDQy/4v4xL4r2WurtjRdEoiCfzYniVMgOQbE/kCwWPXOJnQV1WMer1Oz4caLvpGe2lNTcjy4vv8kxUgg/z5faHI4NSNV86SKUx41LHpYxLjktQXMY/iiH/ob/0NL8Ikt8WCTIg9u3CrDwIf0kg3rjhcGzVuktQIHskGoFh/gRgmXTMtqfvRTJFm742eueU2UXk20Ks8VJAb9INn6gaFq4KIUSiylQVDkGlCED6EXWQuMdPRUQlL6B8CFkEC0oRDXKWAjAemQgdEYCu56WilG3hBSw1t2iNBfPnQNazTREGeSKHhyBFQh8GS+iHB8GC4aVIHA8MF/KJQ2a386AA/GniOxd0uWwi0oRejDwKDUCBNTCj/3MqKzTi7KXlXP0vAN6BdZIFCwEAWsyb5i1zAGCQRVVJiErxk/rO7EICT42Zx2obbDJoyB4HjJChIEszeSMXc3myCZKgcw4kPIlIIpOoJF7JI5pvGe32PwCHhde0TbbYYY99DjmqUVBemkUseey+hCMRjOtRwjwWzVSsJZsM9YCs/5sW/v87Ncb/Nf5lH2LQhx89FD2UPFR6sOSfIcSF0ngPS596G3rvs18BdH+f9EzQy3ZxVzvNM2SpUeftNmytdZY4pscq3Za9afp/vGecctoCuyBMLHIUqGJiYRMQEhGTkNExMDIxs3BwcnHzOmK5Tc5Z4xpnEd58+QsRKky4OAkSJUmWik9IJEeefCVKiUlUWO+QDc7qMt+II/a6ap9a2+x320F7LHJHne0WosJIdBQ0DGwqKKho+Di4eDCaVOQUNJTm6bOzssnlodfLXR6/EDdBXD6CBQgUJFakKNH8pMiUJl22DCdlKVagUJEyAuUMtRswaLOt+m1BovdQwPSIeb/bvAg+nVvrXGTefw13LBMZI27DxICvZ/BffqV2/SvQXWPyMS6Qbx8oPJ0bMizVXPac98SU6Mu4gsKoDQnu5ouGAuLFN5RAfyjnb1zQEZeIGLWI+ZGWWB8puHUAOmnJZ5R6KhcHVbRajMpQc8+bmlf/wsXtezibidYlnTP0J8Rl2Lca0JZboDSTwRUG5pwgwB92Rx168JsLKtmvmtQJTuYTarvBU7pt/A4zzV1+MF5eNERvV1jbXVB7NBQ0pZ5J4jnOxORpXg6+CcMC+W9FBVhi1OmugFq7TAVU3NFsYggKp8M5cRWIk0r0quCI2dZuH6ezeZnLNnGmSmnWJyPD7PYygG0FAxS1hiowARVPferTuRbYl5QGe5z3k4G8oSZ0jkEEi14q2qBZy24W6F+jmbubqPb8yB0n8u7XPzRKfsCpZOshrrm0YUHMG+hdB6ZOOvyIBmqogyaHFULZwAg3kwqIo0aiKBdk5abeW1UTmHK4n/MzRcpVBKtebi0dcXy8IQvVnBROdODNB9jx5iQ7rDwM6fqoeNQW5kiBXuQKNtSymLtr9MTmpnSbPObUGR8VO6NeiDYb4Efz2vpD37j07a4F78TbwDecQxGtXb6amxrOYxUA6hy/0DHm7qTWQ7fglTSvNbDAlVg0W4czRaocKbjAiPxoXEgqePMX8XUrFKUe22P6GjlouISv6+Hr5j2786tuqfoyCha5LSymWrJQLoTjaShcy9wnnI8kFwWUvjaMhKil4pr/Ztyb5ntepk03ZNcJCGOCz/OMc5wtHBp7CVSWjCKHLcBcGpMkOr9UPY3YCi4UiN2twMWkmNCflL5E5op4urp8UWbkmqiqHMBydrIoy8PBv8faI6PIAApWomGwYAhWGQHWGAnWGQVsMCrYZDSwxehgmzHADmM27kG0kJNa/nUrCFry1We4JTXTpjCg/xh3vzCu/7zIdnGBQyx2FlkcfyAUt8iHhXbDFrGoxSxuCUtaytIGeyALdGYLcprI1RyjkdCRYpEr0qzlRuTBXDDXC1UFALO2deqXtCThPflu1MkAFMm7v/gHd+2uPxZ6RdWFSXhqS5VKQmpHx4ALvJp+QxkXUAe7A6tkTKjtX+sR+E9o2neyVFxdWPBFUgE6zBbhJvqRW66mKtpbXcMaQRPJ+VRkHUXIoqMNKhHxmXmf89/20yuYEPYc9EYmrTXVhesDat4AEfgOXnbF33Brd3GkmtXmcD9nE9DlGkyg6UTLdA61pH1U8BFYIr3LcKjYVXNpMLu6agq3IYvIkX5umcaYkU5LI+SR1LQBhbEXqkz9JiiZ6BQa4S5hT08SeAbJZJqWnNDilMIzPNRaIxoqSJQ+jSrxqJ6ShG1VKtlYGBdlysNpzICCXdaWRET0XGqG3NItDRS2HbQ6CVNAvJEurZ0OeE5E3pxe4ya06MQ70wfF5CxKO7vmWtrnAoaosk2b53VGk+FbD76wDvgzjXlOwpmbFB30IGhlySU3HmRYcxsW0Flb8jo/tIzfffoNt9Zxj0HS/c5xH2wE3/AB2Iy8uyNL62WuETSjxpZ5Hxg6ELBSOZO/O9HZiADQZWlBh1aWBtGOUKx+V8KD27D/Lma2jBaGwOyMnSw5bzUub5MF40Y0QjbiocbtLi+YX5JZEPBIXnF+pcLPhWs6XbbSm5Tj5U9QwPlrrCrCqVGsZ01yZ38hsCtoMc2R4ppdnuOxvuBZ5dsFKrAX7NLTTSLFrrzW10Lb9zcduNtIsTuv3+9xCAjFHqCbJop9QN3HNUDtE3SfE8W+oPXMs+36xw65p0ixZ6/1i9AO/GsH7i1S7N2rvkZniccxXMMzfCMwQiOyzxhFwW1Uwl1QFtsohYmyS88EW8vb0JC4yGB0KXS0VV0o1EZNiIYwbgnW6qAh1MPQAGuNF4pUMRFhJsJChJUIGxF2IhwTjJMYFzFuYjzEeInxEb/87Pi1X9/+ntpaVVp9u0G882Y6pNGwGKlzU/GU/Q9NIRvqvwEAwF0AgH4D4AZQewNAe0dWFvEZgD8GjC5n4eAu+XMYjXaAfTrBIptVcjFFyskq3453Tc+TVMrVGEQLBsssVMS7o0D5lWJEmGXjESvdAwClzontCWVchXyvKvPPWeiGQGoqphXF0EpgFcU454xlvP/H2gWL1YXr8k3E9ByTHxV6uUbr6FQahQ+Hn0ZRwHCcqsJsmJcSRjxum2lJbdhspAaoqIKqdVAlVBlqCmNUP6JQxG/rh2U1+RRMAkEmDPWiEdRMNTlTFrc2v9KdrMaqsGhYT6FgNKbUHsqzSWh8BZUqJCMsFoIwtZKH6VY7kkUFAo2GxWIy6S9LK6c2qQtoDIaBwfDD9hIKgtiBMASWNiJNAkRgtcxkCqkYMsg8GaMyiw8qQYSVW9kr9sPoNsboFNSCrkCg2+yClBBqZoU+6oxVsG/ExQpAj2/1eJoxqi1licejo/3uQdRUP9I9qiLq/tTq7r6s5nYbSkw8xGMNZ5687bSWU7aBiYb2H548CjGgQr0VM3nYlkszbpFxZxXH4tjmaSYFmZKT0tbd0aP6JTXUOqnBgGZ1IeDvedFQEzCx8h+7sr2nSQ/calHaprFjTUv7MtamLmyLQSuw9ZxkfDeYQEM13AGaeAZo9vaLvQ2y/5ONZzagMc9vvCQehBNYJbTn4mGu3P6qln0gRCYqk112028IQUck8kwB0Z0l6qyOrmJ0Px41rjUO4yTZJVJCDCoO/h+UNOK6KuhYCbkWXB3rK+7sieAlaw6SjbqPLe8jC0BYC/MYKaexLDE34OzLyvA9I3I+o19Vl8vCzIpPfOhkgIG7SQFAVog8T47xUGf3nm2TGZkDdF6YBBXJh2P3Vs+dwWB7RWUn8tGNPMsOn9HgGYQhHmMZVODSuTzj1mGioBtYoFFjBaFfPYq4Wvyk+thUJGeXaSbCw10fNfgGylO4Hw1VA1SmRboB6aPbfpCQFL1JplcCa6lUVTWxT9a8hbHJFRZfBJFOW8dZQsWF230GojmHQXd+2/omHxbxcCTbm7EZxUDA9FWL3G3r06HCw4z5XeoRHXLR+GLlnR71LRSOkFakoyd6Zcd7WmfsBrTeR2oG3wUmls47AY6wpxQGBzMspJ6IYt+qxwk1blWA2W4Y484bUNl4OU9K1bFArpXJK9SIp2w7SPVbQU0xeLYNLxgPdkVR2PgICAOMdaTP1OZ8IFZix6UhF1c5TUMkyxgsp8m4hXJue3pIZ4rKA1uRzdaqNAx8nTk7w5wypqQ/Pp/GxPZhKrByq3GGrUnteJDg+esV6J8uDg1HZTlk7wEGtUfgJXL1y6JjzaxLsk3R6E94j7o5Z5TDRl43PXYPGyU26Q9So/rSoASFJpd1bBzFaB4Ztjq8AwzHNzsjDCr9/980qT24Z7Yj5AMJkPxmoC3Ig5bF3YQxmy+T4NwEjbakTZQLINmY291wHl9uB0b/CL3pOCw083iaWZtXuEsfNkv5zIRRzjdijoTUJxBztvsp/miRwor+qEZDfdRoHcEDnNZAqF9UFb5JgiS0EH9pbDFrk5oJVmWMSEqgZMtzHZHHzrccDmplQ0+oYZq69U6kWdjtXZWWjSYKG7zyHzDDOYbl2VISFAUveH5U0dptZAbSpuFgAQfQ1JpnfEYbGlKeCSbeU6EaGyEqujoGENw4T6rxOcB5C5kuCmBweCrCF4mdvuj6xhJxy+iXwiR1WrcH1e5VdUqW1/Qc7Ior4klaGq4nl0IRf0hWSmk+SYQYkFw0mIWMk8L33r4UTfQZoCl1BUUM4A1QQvrVEl3nMp8835yJUa+ex6poqAZSmkK0ptHwisoOHPo5YhjOE4i4xJtcqQ80xMbGDAr+E1Q3XTnlbozD5Wlg62lw1iEXRS51RY6OA2oSa3LCA5JGZOnLzciQVJxKRM7PqEPORlc6rShBmANr04x0CTyv67LYMY7xEX6jEslhNjEFDl5Z3LHpadDbxrPkw6Ydz3QUslzWI8e+NjGdDtLYtMgn36BFJJRRuv/cwXuhJvwx8TglzMd83ba8M42JkyfJbI0lxlJh02zKvCstPBhEZN/JufNyakcWhM7Fpy445EIPWex9RJuUZ9v77jmAOKrtjv5B44HBgjMfXMjMVwyoaGow60kKjoNPhbyOmAvmetxasUXryd3y38Dt5KglBIPOYaYpnVdVskUEPVDm7Gtfp4Oj1c8gYzuYdMjoW2c3+64YFaNHws5O3dCOIjhb3gJV/6fBXRXOOPMmwa+kozIqlKhpZu/MCAvr3lGrjl8ajgWLA3O12pyE67FfM0G8GLkYaZzOhh7QHGB6fX0aGDlbbrJ0zDqybZJoZSHLw0HJAGTibY1zyZZLF5kHMGOx66cGy4PQmCHlOCbwOkinwb0tRfk4NGT+3LhlQKPK6OBEsY44mtgsjJAhMCnTKPr2SfqKUYA3sjpsHg0nIOtVIyrhScQ4b0YtB13ubpcWJdOuhFkY0M1ht7rgSo/XBOEeyMGFZc89PsooN0mfWw76S0HGSD0WZZzQFgo0w4C8UU93Pp3fVBSrNmoqtwOQRL1nZMsYG7rcU8jILBjOvQ+kOEoQULHxRlx8kT/HMYqSt3UrydCMadCuU6Yy9GrfMUaO4vdEoXZh8PIEiqM1G45K7R7Umd+JjZmEnCTZgRInw/ZPNp0WQmdnKJ5HchOjslZJ+Ispl2hu0yjp3YQ6lg12du7eEarOnTQQkYE1tdYq8ZaKACGfQcA6wni1vx067oFHIG7P0hol2AZ7BTIkBxXZ9IiUMeaOM7gIbFir5nYpMKSYIqNp+wNmeWC0k0+VZjSBTFf+Lvx6EzttjzDmM1eoE1DwotcMyfKLdTunzjpNFQpe4jFZA5PVQdfFyhRgDRVSxlnTlkI+8McFNrMyl13BFkkCpSTFY7JOYcutstA6G2LBDMqLjSwZr/RwtQr1l95IANMM3dZ1rnJt2kTBI1IZ1cpFqq2GoXlWDUl5Usi6p8HlQdQV1pg7bYWtHgxa28YvYULQwppMvZq3SFjQ9uwcG1swiwj9REPfZ2lHMb1kgFdQdE7FvaXAvxJ9DPoZFHSioENnVfge5MMpwvauccizW4ctscJpAqGwcL6n3rmDuksc6/H7qJVSFt2/zxjaLvj7nTueCQtVuAQd0adDGfcLqRbXl19/nYgiPZsVSMjNDK4kbNEs0uMTHp1LTCY4bSRXklUjH9tUHcU+nXO74hGopFK8oqJkFs9ri6SgQm6nwk6LcfRAxdi1n2yaAsMfkYbpPOgIFXVMV7v7m1dmdzDwog8RkuNfuIWEdyt10fktqA8pLJjCoKtDVojGjeuSqU3kb525jP3gCCac6hbop8JFJfRf4MSmLQn5IMooeG8WLikr/C9iEeKNBpyd5ghBAT6ihJt2/chEM1NKI2d7wBVoozZwWjYJYdXXOD5pZVKV1iIR4c9s5HVBfwqedTD/Wz0PeaEzwB9wxqy0bu8IaGCuH0hHM0k2xOmLQ0u9FtMQYwXp4bxm7QDfaSDtzPYS+ahdlJEO5K6tZYTPnz9RGuIQ6p/uUp56HnEUgildgaMx6xGnFTRV3EVKl0+Ez8zeR2Y7pTNR5UK5fTH9pnVvqGqgQolBHN/k3M7rg47dbWVnVQPZsnOnLmF5V1WSBGRfDog/cXQxzq841zrqciglEuIBA2r9WGTSFjG6YU5Y7rhmJ/0WT6Q/t98Sb2X2xV0natxscwbonCXQWdIla8d1nRsczdr0OxWNq5PSaUuSZvIsFIYMAyOKHFKS29qn7YZcv7JXlaMZ89ji3X1C8+Sl5GwSYZDcUAVFDGylAuu0WTx6HEKWzqMEjXnGjkrHuloFYYfTjFdG1Knw/xrH1aKagPqRRR1o6w7v+DNgeN0om3cGQcY9OVVJ8flOkOqIcYpCGkJTVjkuw48ZqCmIFiGis1RWlEhDzL8pB9Az6ezYbO3aUCvOZxSQx9XJthGRtCF156mQjeG1enywqEdkIR/L8Vw3QYXhSG5Jqgsi3Z3f/z0p1/4HEQapu6ptc47Khnu3MFS7nE7aqPGQ2f02heaPMCHlrFxshg/3ytonpVhpPTU/C3pM4Prc+b3DsScSpucErg/2gxoGDDLuEYVbDG6KUl1zlaViY5Q+2ehaPxmQa4Wds0CdoiU4Glq66SK3cO9Jl89lipSiiai/oG2QprIrZXr/i+0XsDtaoCnVt/hhGnRbz/Wa8Fa7TItq2NPiDzG7r7Ug5mZdkW4JYN3dKZzHDSHDsmIJy4ohKCznTXudoGN7xqXKOIZpU+b0yFhFzxPfOKRPD174Kw/Sk1sOhevgR6+t1cy+NsdvVuhKDq8UhZyy3pSVXTsUOkKiGJy3eDQ3ouSTfu3SAH/CMyowiDy0+0Bv9/RTHeoCQHzXFHMjbhelrK+9ue44KwqgBP44zUM6+50BcOMjbodk5k9alsOyZ7yNk7ZsKlyFw2ZfcDvAOc0WML28y+dBBdSFcl/IPM1zV8YamxkpfcL9u9UDAqXv4OECkoPpycwmKR3TEAnIBxzARnM2s4HFVxEpcQBprQnowpscAm/dPPzuGV1/ci+e0A5BY/AJxfwcCFOPohBstWa/wsq+k8fv5b0Z3PDA6x/cgGBqCbOfSs2mENZSnLV24O8/aj8KEfcuvJk7rb3L/vnduRW7AYQ6zo0Lj0pQBGXkRFJ5Gmef82cjZjMEyvpAwig793pg5gNyFu6CbSUbPX8PXLPaym3C2NZimBy0zVZxmjAIvDWQQe35TCO6E+l+IWfzuRvXYZj+8VTcQxrDjD4CZ6L69h8cBsE2W/n/0U1FkXtzc+cBhPZSJJP0uUtbw6wgKWRzZNzhWN9wfjJ2p6HAqE+ZHYVm+ybd84vcignDu5WlNRANJD2BI84fydHAbeA7TRvG/cJ17pWlrW0+X/yO/UbhPjOCUIjZ5fqYVp0I+LtMq7njrjrn0qDqmCjcVARRwuq7AnOEv30TYjH7dtF7XgtvVrWtXtXgeaB57cqiaNLTminapTvZnA6V+oooBSPgpqxv0o/1iNwPcdlcyO+HWXgd367otV4rfLhNWb8T2ESKFxcdlaCYQBZ+MCFXA8wdXQwTuyqCCIIW2BaJDsXKRxp6Q7lt0RbDG0ZZaPjoAp1+RZ/ju4dWqU8tVFYRj+6rQXivtMiZbMUI5FOiu2zx4xBCfeU7oKp547iDN+5cXda1JD9uuFq03izcbyS/ARFcZUptKrTmZQztgm6sUboo2GeXMKatFyMLm+UvQwjtJArBN26UvxL1/M3L4d2xV9zLncBgmLqs/LbRbcTeQC67rOh9tvL3YYR+4qu7fQdJJNmezzCib5CN6LTvRB0ZOHQwR4fyZPRlXHNeYOQwxpm0j5LrUPp3mx7+ut/6bW/mj/RsTdG+P58gw/Avu8t+jgbI7A1Vn+IPOeUfgjDlYQxCfrZ+eoV199xLpT0LS9+Zicx5yqn3Y9BXGrXtuTSLPRuru/OpgOE1+07bwDSE0NQ88jpJ1nNmnii/Hf3fPJAvU5V67hHG1Mu6nrupehxIGILAZhLI3K3qfXtg9jiE0HeQ7xH5YMPdvftc0XsyuJsQizYqFBF+JjUof/kjxxtDIAg3kPkvOiCHAG5XFX6hCnTTTfPrd7J2K+Utng3pIQDNn8zgAcYwnv7+X+bpyDvJOt7LzNp8MvMaHrmZG1tFYIHErtfH/8Th29xoCc97fGs3j9/RFzMBV4FU3fjKQukO3/JUU53dou24etUHz1XGvYEO80be/tR06ys1quWy6tHeYE8psz6PRnj4rtxKF4C2DzS/JwCqVot/r6oPs0d97Lq0/ED7viiLw5yROHABSFeuWxLkb3GuKevozguJABk3wO1mMMQi4fpUcwNItvDuEgxBHzX4v1kldLHRN1kjK/DaCizTS766q91nKbF7a7X93CFksT5pL79tVmqZpaz1J9qrmeraaH6wZ1moxEcJun6M/bT2tzUgSsPvre1T2uJaQ5hRLHd5Im7/JqNN0LfuXO7JcrLlkoniouhmt1uIPtWxB8UHzL5t3H/W9rnQ89IHz7Z3U6iHu/dQOWzqwocGc6fAPbm+sTYlfdcpUUwFV1c2EJO8uufWwXsemn+TJ3zyZh6EStF4urLjK9V9B+yeBHRFhKzFlI8zSlapxXMz+tK6k+9DCOXsXD6Qz/hKtKqYzuGorPIK00D5iw5jh2uUCZzYN/w6gN39+ApbtcNZ73E7g9HgfvvnbwQfAQTftf0X1XL5d0tRhEHMzjiSfncyHTWYFzyusTTateritC2/+vxFB3/SBMMUfE5aUeHS3KrgCX/t4f7p6LT67HW1uaGQuf+R2GcL2LdWGx+my9JOceFvxQgWtJ6oooDH9kuuSb76kkiNi09IMFTAISStUSP9O+PW6ui7si+nIYTiuw44i2yiuos974SscAj+4IkwOdrIk1rkzuSFSjOUovZnTuWUfwART5J2oQ42Q/maHmTULVqkM3D//SB+KEZPe1I+SNYJDv8JNOu6eOrpcx982pQnozr74qUwz1HmAIiPHyReC88lDxqTQ3g6PuIUaVryBemzOAmLcBWcdZfd7aTGENzdcOfM/Dgf/I0oBNFmX5lgZW+E5tz+IQdnzeQ8CFObKBBsnX5/VXZ0vYsaRbKPgsddF09dRnO6VC7FYNjythl36/s9GxRMsAoP024ynzXe+cOKYZsHdea/Qrup5VIfpXG1OBvtl1zzhZxm++b3z+Hpe3O0XNpddB/35k1lm3/yyva6uI+RKJmRvQwjjMfJMCRz1aTabN8Q+u27brwPHp0HEbokgUHwjS9tAbvjO32OrijX8sqtpXMgTDuKQojFmqXiHQBY0/Hjv2qDLeEPIJiyCwNh3MwHz/e/RLzndL7rlv1RecenAEI7CtCxJdtPrEu4gTpj0iCLTDZAxC513jPebSBw8KD4CrZ6BwwVrwUWGwqVz2mq+kBCFxtQ/1oTrgEUq/I84mWuznhpyqSmix6vIRJrHv+EiBprVmNBObuEFtRBJB+b1pifNqolodNvsCaUzraK0nnOQXe9uVvQLPPreffaS3Vt3D67HKipAxT3sP1t4PEfIwqJebvKGKjpjxVRKnKIZJKnW6aKx8Y1IFHLElfX1Tod+eXFLJWi3uFsqy79lNe/IqT3WJub389EdZVanVQYiXgW1W0CZFFG4akl10M73v/wOp8z6+hHh0iIqW4zcanS2VWVUikfzfNIlrk7C0pLTW7evc6UvoXbZVX9z2ANeWqsncI2tT+wA3Al6hIR3ZqCrhq/0QJGGGzeWiMEi/BxYxFDsM/SIOj3ri5XBxK8Ii1M5Bj25WbilmW1gFKWfeL7PzGJ142nhx0dQtWH4aPP2txYWfLhO5Cm9l5A/76swqEXLHBkiuwm2/XIUmJvycFSzSARuH/PXw3Dtnur9dQ22UJ7Km5+ULNcVkduUdvUSb34W2mEWQIW8FyqqH4NINyrJWyaKOquy9crosc6nIz/B8gmQQ1tj6+XMikYRhP/lDhtq0nk6uXTQlYPlXnKvJ/GNlyhVxmwNN1vJFdD2p63dfDiho9LyzwauTOc1B01HZt9nFukn8KOPv6Q3GlvqPG42L89UY8vFDLb6fRqKvrmQZh12h2onrSbNRVx7wX6W40jX1/8p1I88KDaEoh1Kln/mh7gSnqkDTbbFE+8XFrPZ6kj3MelUugXFSv3j8aMWFlREgIUvv+Lpcd+wFgd3ibnsHHtFR2swwyTy1TyZ1PzA8SlSnVZovErnpKPFkl7n6MwKphJHQTo2bSIvvidwjMN9K10PpnJeIAhEHd1SI+fSubFusi0I7xkHkRuZkYtJWKm/LdrFCNiS4k3jYF90n38vhIorXZ5XMCsQOmnxaMYrH18OUrt49HLpzpfopUXN70kO0+SX48fyBWXO3ftJ5Mf2MsqvAsL6WC1fFjLavYGr+Yx66UhImpq2DbiUGK8TjYgtjY1F4tG93n2HLCT2aNAXADBOfiMve41jbtropzRvsCrEspqu5LJefe0WiLpHveMHersKS21ZjjdjY4R48SPU2lVv3HjOxjd6boDrgJtz013LOgmSI+f4vQSlyo9I40L1MrvrjDqamdQpsNNT6ly2jZGb1uLWZ0TVTrR9Ae5jW1MYw57mlwjhokb12KFB4FAoqMmpB2JNlY49cr27bW5T0nesbYLV+avCokvW95XXW3MRntNJeX1JGHa814XAHZ20xfMtZaYkJKV/C/y5Bd7f5aRW55n1wd5weUl/yT5Xk02b+jOqqaYEUb7rl3z/Leltvsn1qPsW+/+K2VN0dsoDP3ygZUktt7P3jw4xduw4QSJtG/uCsl6OsqkIS8Y+iQ3W5iFjZnqqHV1WWuz18pf/qVJuC72qGwPDUSohHxqi1+e8PpblCtCkTvdtuaWasZ1oo2WopteB8tpLt0tl99bpDLUltiG02fVhJUai1tZE0ppNK9kIU+ZyjS7x2KP0XAMe3Hq90Dbq1jQ5uhjVvawocof0fAf4XJX0SnX2sZBsrnIucZ2Hy2jgxcNANICuqkdZq4VQDAm5iiUkk807POX7+NjsvxUkZ9vJm/U8TcYQFBo9rUqJCvEUuc3G96T6hShc6F/gWnHFwzrmEtMCELL8l+lUe20qF58Lhzy6Zbfc8+YJpKvjwbIkXFjhNFN1vFengzhojWr+g9HJkkwjfV77yv2dNrsdAYdBvmeM2cmpcw1lVRxUCURRX8MtgOyyjPl3SayCkNJ+0kKtp3d41v/TucsNpE9VJTMdLKimUWx0xR2K7MgDyT5SmkRQ+LiyDJAyQt/mZKuHMfYphiqg7AIK1NYZ1SwQ3+WSmlRCcPhbnSNGNdhQR2swQyNk48JdMbVeRAxqeZVJBu1Bewu7mLWhNIz0tyS2QdYzclviiXvCpnb2BEfRKhheU5Uy0ZeTmkfNHCFQZenVt5r11GkDLXM0lOsn0qMVhU4NgPal86XGkn7yQQmbitaR382fgUc78ilUwuzkPpTllphr1338gcMtYxz1lGsmAqMpguMemP4PdaE8qlYSRgUvMtlL6JTfhq8D+a6e7mZEiZKWgH+ikwdRJIGCJPCUV0JmSnWyU2ENUp5Kpyv/GNoZAg7z0EapMlHjAQUmBRxyfRRuAswQgUiqpJrTOVqN76QCCj57s23R3jnVfsC8kfk1vIcujLhNXaYsQ5e1++lo+OktQ6Ju0varp//69ar3hzdXjO+sH2hdwhEyXT8vb9GEtGWExTe5wN04ZN5KILQYpISMU9YeZnJR3zHmGQKBYuVLv7UaK8a3jOZ9fMNZeEJJpKLPwh+RGPvnEI75OF5iVSqdgtrIDavpkMN3acM2PZbcal9yMds6RKrLfBk9+atUYnB15bis9J/XbSjjas3RMiRS7GPK02k6aJ4cB9+AWkbrJ1dqh+WK85eJEcM89yXX44+8oBKcYGS1BUsLz9YM5GJDCeeyxndfFdIpDduGtl44ZuY0q6hM/YXKueRvaYs17WUTCyBrcOBPNTmkMmO+p24YrJHAOlsqtZQWYlVLWU4iQTn1pN4WBuHnxfQt37LSBARCTmoUYgfvf8oYynDEAu7HqS+/r0qxgmx9TL+DmuRqM7EeeWj93qs7kSeUZxxhqMqpcUdvwEiI+HikdQhVrm+2s4jqsOsMn2N9Wkgmb9+sYe3wbo22pcJmt8K3IOHDkq3mJsVQ9wxpEdZrItr5Z9CCxXD3FGkV6nBQm6jnAwh1wfKzPbNZZa/f7nc34lHbTVBhOHYu9H+uPWz4xBCk9KpEPTz4ed+La6JthjarPqfTPq0lxsvgUn1miJ/PCFSxNLJgMPVXtXcWJ9ctGK0BO1XZxfr8gohcsjxtO4P2LkKMASVSkYMo76iK5Ky9SGrIc1qMviXmOkfv37kVRLpQoXngqtIJ7gqlM/MGxBy5Ep5fq7jkMaarqzUvRBipQ8B3kRdqVnbHM/U5RYMkCH4xhfl/9uEa0zkMxSEuKO79s1umAFoqtPH7sEOoXrj69qjbYMb2LZrRtSA6sf1iAEzCifsd9hoa6rwCM3WAfBuz69RnBTKB8sfnuXr/jCEWWW6kuL6MvpHDX3/F6J3UZEzJOqRk0l0Bi307y56tZZdtjJtlTUGi+uMnmOA8YSwzh3Rby9d17V4eWEIoZNJg0vruZvGzS3KqswbBCw/0V6hFi5wVZW4tSJIHmWXwoUCT4lKqlXgf5ShIqGryawlJZz9g/fRrlL0zwMA4jpcj6hREL9g5+L9hYjpGcBaqjMWWe2m8rI8arMmEpGWm8ymdIXFZYyoVCGNUZeMO18qA3P/0ZUb8hzNjV7D4ZO2KDMhMPxpM9Rs5VtkyQcqkYYNuS/zCuQuXarkrTfUvgJeSmHmjLpO0TBC5e5jpr4byqrMSkWgoK3SJq/PKyjW6QKxzgVx4470uu6+seSkTRdP6sbifl1IIerVFbIbc/3qiPoT5p0MXj6D8RCDl89D9g5eJ5H2vfq9gILDUVhnmOxHOBJF0huiguDwyVnTYcYYdQzrhVL5BU/TOZGefHaxtEsxIht+wmx7nt4RJfOko7LuKsF+WAlJi6xfukyYxUg0yJ6ibkU7I/zLqBp/Bt/JlRwtzE6di7lr/MJrbPUBVaxvzUxQOJz35McdbMWf6/WJgr5/cUumgpKVfv38AN0cOcO1HL0gD3I26EhybpnK5zX5YUI1l7fpcFAOT3Xg7ePUsAvsl4s7RepSsWhEpGkSE2ao3wYC3CWbmK1h+e/V595MB5Fzv33osfHTp/2u1595IPDulRsHnnn2+k15C0Hb0mgyrZfNDWTSLt5MiIZXPtPxBS7//EZo0+g897kHK9+58cCDz1TPbSZwMn35AxePW85KKMtFa6gh5ZHvYlBHH9K91+1oVV+cc+/v5NtgxfEJqJD72Xo3iEBe7i2555ytEyCYRW+BIQgE1/NAEQg24CCukQvfhAyNXEh864AhkKund/X0dbg/1WeHy2g/eZqVa4r6S17debDZIiWuYTMzCWP78sBW4fZQq2rXficeJN592TzGj54W5XjxgdxxsGWHHcGtuW+BV19Ijoi3kWMKCRlGKfLLpZF8keKwV6ohVPGL5GgkFgZ3mOlBLES+N3LkKJ/Z9eJnPl3v6WXf7yB5rFjMKD6F2wC/mZ2AW1kJ7nYtmrYA1h//Tw83vR4zZeKzFvcJpE1b2Y9xrJGGnvVzJNL6kR9oFCqOTn+YuuSvn5fIptMYD7FafzdARfsi+/pvr103MoAn6eUd2zuNigP4aiK4g/LrTOb4AvwIgKdgc2p6Q93M7iGZ+ug35PBCyCAV7uMz1AzOXcKPTLyCdNmGQOlwRUVo56KeLb6CSKvdtTCil3R6G1I+s8DPx3ZcULQo4uWFcuY2gVxUkZsJxWI6CXW2LoHHO1YhgMHVcwNfK5SfNZfz6lUtzQsb8tvMxencNm6XJRVo6TGGI7qBV1y+T47PzFHOGoxxaaw2spXBzrMlNGlOgk1vvQr463Nt9X6fqT2dNJ/32U2ZtMUmOSK9nFvxZJGsD5RyZVSv2CAN6Xz/3FBw8Dgq8Z7VqgcbSjvitrTVXJ6bKhQSqWTP3gCDNsXk/yFVnixkn/o8CPKQ2qfTNOoQS/inTJ/Z3SEJetvaPT1zE2RT80NGDElU1iX9wc7RYOVPKAjffHTwxwCW4/Uoj2yCIyh3B8LmJOAMRY8ae8a434dHuKw+AwwkScSkU66ii/misEQiL1NrZZFLAwsT9lC9wFeWCHYvKiQalPKikPQxGln0zLqbVSf0pgsEctm4iSPihS/vpMl2iq6zlr6MpTZ5Ojo8m1KphDs4JVPqZrYSZWzMXt+QOxaLEUccZYod/0BcOOyr9Vra/D5Hc53XLdG694C4TjoKRzp/2yCUz0irfXnKuhmJ5MhvnREYpeM6gb2u5JLBHxreG1UunaCEXrxHwCTvREdnw/3xHAjeAUHgmhs3DiDl6IEbs8dBCJ0MlPjMqt7nDx2p7u/5Z7WDAp7KrCeiV498IZFoDBKZgb1auvTR3SQCPm1b2g5mwVuUZxdw9UQimFMDAYSNzEXMfXgAyqkBiUQ9d8FDVAzOAp8vtaXxBFKw74ilZ1YgwF9Q7K5dRCKeFEUNlku4HJzrig6OEPFEwvR1KoADKycmyZjaOzM5UQmS/snh4MIE7RAe384NEHCSHOAmySrdcQTb1C9rQiplSK1WBkNKjfY3RVCtVoR+v8McCJlNgaDZkh80mfNDHsETbEAvIVFASHez2/uSLzmz6RN3VX5AMZLflgofZDaxARBUM+pxlce+abDs9ufSpF3HfDSMejbAZTZ+0jr7gE9bw+lKr6J7xsZMAdvy0OAyCtTJU4VxmfyBgUIg9Kdgj7pzqWcHq+NCnPS/Qa4i+txA9ebg24+w+UkVN2jII6SJmlsVq55RSku/iltzctzJdCcZaKjZOQ5DETjZqEWcyed80PcPwcFxdRaUV5qtoYfPeWliMnVhYWCUGXkS0DYmoeNnuu9DVwyc0rHzmAtPSx5Gb1NPI6Cc0gjM26Uaj/VbDo+zsn1PEnmwJk5xKu1WU2W1PY9eIL8dPcUW7TXBCAWkUpL7dSpCrzQgXXB8ItW8BQbkDKWy47+aPzS8Eg7l56JfKPR9FM4eiUKUeExvvgxfi2oyGe6LXOGDq8+Ny8TnB2sr8n7L+WmITWgasXy8guFx0+u4UJ/3bH95ySe0WmjNnqLY9PUccMZyvlrf+rbgmwOQVv/iXMuwOf1LXIgiXCbNRlJhth3SQvaG5jbSpjtbKW585fnKTc8eGNgXH356Q2zZvucODlc9wuXPHRzY735gY5wu8Jn9Q8TY51mL49+1IpM2zaDrN6chzEcMDbzuQTlxat9O4CZ4Ky15bzRXEgLa3ePrwut2aznMDaGFk3vw5eh2EwFGcztzR8Lem7rCIM4+MMPhPv1NL0CoVulbq0TZT8+wVd8KEnkxv+E8W789+O/dx67Eb5FUgCdYoeupjeOpQ+z5VSZ73Os1tMTzNGZ7zOMxtCX8Z1eREo7wM9UABiRiO9nvnZSYo/xej3wvR2KR9er2yo99fNfxmQcOztryWgNjOZ37H5MxxkhTH2K65b72kesHlLomsb14kIuVUzDNmcHFIyTwd9pMAavYA9/d8wSDIcfIsUu0I8m/xsbe2jl2EaNjy6vHauJdF3rK2fxwbixupKIwAnUYDDFVXT1IrFU31sRdWRbmtRopPiU2JzUSQuAtGV4pqpHK6Q54hitYtx74iMnXXKiHCNWqcFTDznngVQafowJiznK7Z3oFwjfxURjGa109gIwoy57+nKePWAzye9nodZTcop2jCyv7qakGT89vvDNWWEU2QCtggsTlvlzlBYHlJNdSKqAcF1FelNe6xM7BDnau6AAnZK+UnpD94BzI+AUyYSds66ZcVk62V0o7aI33/UQSEeknMq1mH5WT+KVUSTGuqg2kBQvDwUJlsNAaLPSeuK3pdL5zoMLdPcBkk9sy6Z5s/Eh28Y54aT3ReOUgBdnEmWxyMZOujuObKcsmbmWTv2XS37OxvXH8Txp0yftMU+MUssnbmXRJNr5Gl3C8SKFxJ2WTm5N0Zw/+4PGQVeM0bUuXZoG2XeNd3eKykub2oStYAP3x2sLR5uNh6KhOkzw82KOFNvoddgE50fPQ3z7jwLvu4RrM1RKgx7iwg9nnYd0xdjcZZ4JJLnKJy+7KVNw/+bhIbT8JO1XhRvl6XgVoKy3m9CcACre6D8Ah9lWtTfOIhu3AL7pGf+AF/T8Xjb/snWnsGwkJgzMT1P2f2QqmL8hudxC+5eUVfqdbJD4Ly6tuUzHT2EGZ0TxZaKybskyDGGSGHrAsAdmmqMpRFn4CyAW8lc9ReFs3L54GjOIBNvw7kxCN2Bw8sEE8YYJs20nSzYvtuFC+bA0Ka3XzZZy8IXmi+TbKeRdVNxxBVDiqO2HpJPGuGSrBVwnIOk/+RhtRwSS+AEBB5Z18SR89JMR+2N1Hejd6kJwHsedKjyVIBx/eqPzG5qJhU5/fbMxtbJRmhQ+wJq/dlTssnxSfyQk2jqdD+Zz24bo9T2kdj6tYtWosHarqmRi//5ts8dT4Ujb0tRHuJHftErKAGCBeAwfhOPD8zZYnhRSeQ4bNegUb1ivUHj9rwbUVctRokFD0AuD+ClWAAefFvI18bX40kkYHGzlmU3/s/BL8/y8u6LzIwr7/Y3P58N+lEjrHDf1OZ6ftzeMAfkycPvEkbwqvCqGu4k1FRsm2ltYxisUMU54Abs5A312bmZiZvhPCbjmcMr0U5JzSffV6h+I+HAZMdUw1XufV7S9SmrotQ6KBTpc/5F6IeHv+9PHu+ng86HVaj0tdGZkIEvnQmvGLX3/srE2dAtXEFcsNmjk05vkX8kraqFXGl+mlqeSgBuRaYYZaI1MtTqQEJ8/+gguehibi0TSOAuhYBRlmcoKUtNdylSJ6ZejNDRvRMCt5iVxrnWtxzKAtjZKkCWfQ9fQB7+bMDFZvoHLIcmns21o+qkeGXWBXwCFVNbDCujuyyqf7GrpkLQscelh+sFW6WVRnhgadda8N8xqdUKtdl3gqRgQbyrCvSec0vEXjELnWEQ9tvy+g+apA6LjC//Unr4RyFMe4+xDJLMJmiADScbMAAEn2xfOeUD7Ji82YKwiiee6pqXQe8+Oux6651chl8hSHnlvWYisyBQEVwi8u9NqgaNJjmKNRu9GUCUeudc2rFyk4Lr2wE/1TFWHY5IwBFKDW3iqoIrxmpDmggmeFwJNCoWstTlopDQ859eaItcDeSkeEEU5GispIFuMepRpDaV3qihteaysmISlUaVqI9aVmRCySiInRKSZZ+T9uAvKoUnFpmor3lQPD2fDkwMOGF1AJQQFbK9P94afeAtHtZBuVeQ4ueDECsGd0ANUtFcGYKZ5AVClfGJlCoInUkCFxfTjp9wVP7NJizo01L0PZ1sACF17aFcVyr/1qPA2ADDeO49/v/eWExJ844ZSnTnedYDroIZ+zkauPT3UpHOVgq5cpneCBYj/nMAvTqMzSlaycWrpajTDSS5e9tj2vnLD8L23E7qJrf8Lqh7M5rlZ48oePDBesD9eu4TpvwvYSFW7hy6XtC/bBV1NiPCLOT0d347tBt9W8LFNfl1qmgkQIArsrGHI4D+DNICBl3nhXNltAs2K+LhmmshijThdxxvWvXshIM5le67dUtNGszx/Hj0I55OgC80VKigfBNRnpFtdApnMBLGkL1KAIfiNTy3iRjXg2XE4qE59mGd7wtky9jeazjX63cdQ8qrjTEHPXrKizPptrG3TQnDMi9OTO8hCI9Pot6veI48PeWf+sXit1iDY6ukCmdOI0Nj3CnW5sIE5ZYKl0zzAWzobZS2kZc+jYFTXWXnLWNApBwW+WkWx1naSd4Aak20Rk0kZliaA4RPBgo8rKBCoTEVuQBMJU+F85kYxdvI6DAgsMd3dmXQSJmSCw4aG9/HKtP3nW0IqtYIbbaJhJQQU2dvj6/vp0PHYLNAI2eSuo7SCVgQbd7B4OrAfeq2on8EQKYrNlmTPEpjVIWdd6De06uWcwGaBtYpxFgYUPeT/NGSWRb3XphbOWBxAMihsyXGy6vVDKK4COmS7nIRMyZTjwga8GstyvryVuocVLWtMXXDhgt7XsoptklpbUKvDwTwjdrOy+jYrbvfVvKhecRL7n+IorZmnua4ErTWBRrD48TlgxF5/FWkVRiFd0DHHHk26zZg8686b342GnXPncLXZtVVDMPtBme2eMAEjFLRqV7bVezLqrzkg8ZCxqI5tRJ33iFMGtGdlgNfxfXGcicKOPZrqW0sffNW54sdSffOfoqbdEhEMxLzP3ZCaSTIp3nwCEpEXQsE3+lq2UB+20lm+VYSatVZZwirxHmUvXnwQhjvQ5kbGh3TFSiXTMxp12uKNdc5AmlqZr3bijnimq1/bHGQ43OkIMhTNIUEpViosbETXclpLSVaTQkmOtey8N4+JKk4qrTLAMqdXOTMM+M6jGMVwoxtyR4dkoZIgGOn7SkikgHiiHm1wSl4+Tx7OT0SCV0MUoCnOM5R/DTF1RTTKYMXfsGw6fCkQSMtkIc9AKq5TnsamiBkcQGFE0SC0KOIN8bk21bDI0YyF1csp4ak0Zf5oiZDIpMshhw8sS2gE6eZX49hnBvuJzAq7DqNXRfG+f2zkstdnj0vMRdDJ0gpafCCHQRY1SwuhhkuDzqeSguXpoY2Z6OY8Sejoy2SnyB4JP8vOPJT5VrrZgfIgnJAjqSZwt01N5OqlylDDiEZ4FtsV6pUasmcJLSZIsVqeRo7n1yStlwcRXuYAH5DNefGw5AjKS4Qom+SzJtFo3y5mWPsxoUK+e5tIkwnHCXhA9UKgUE1qlq5gaVLqauhxxg9qNge76+thxr+zgiPDeo29W5323SJI5mYZIr45+w6FwVOx0oxxlcukS/mZ9GqwpkIooMOjR97z3DbOOl6iSIwAVvDAIZcokfXUmBD84qpQUX9SYEDHEoRIzSFdKyo3+fA49gR27MN//asAVUGx0zHEI4X5kHRrfeXN0rbpJkTz+jt1LR6dLzdEoRuAGun6H28lKa9PybUhaQ3lqmraVzOQkiIiYTQh5uEVFSi6rMO7U9C/DS1WANEfGQ93nPiLrJkvIvkroguXgdJsWLhLpFSMTd4295f0G29d1DvvtZtdoKahVz5oy9JLW9hEBg+42Vj+c6Wxuw6BPnB73LwYXFbdvCx2L9eeYPVh4KLZJR8RUCC3AHUG0zdDUKsPH+OFZfoqhk/BhB/+tUHgEhLh6CCqFHqWg4FcagUVRiK06uMvhjkZo+0T+gJWwRCxPOQ3IrRCSKtuc5Nj4OwIDDk714y2zfPC3Qe+Jkia2Rxzz8UEeWIzS/a3Gctyw24Fz+s94Ziy5wiQFbpaNQ4roZVyQlqUoncLHA3NEE6R50u+b0fBJLRNOIx8CuzhyzL20vIQyKQkAkkzcDNuEGrZQtBxygywlKp+tSqOyOETgUO6vsjqX1kUIGsUatbWohH9tJIRD6NhaMGUftgNS8zgkvX8PGrmvVi0PncpjxsbbYQdtai4KJT//vLLsnOxUoFnL0NU0r8E7fatcMFR5cSPFIPAqGrFiEne3nerqmvBo2NAYie0ay+xQ248FgrE+lbDTq/bu0RrG0SvJE6mp0h2g8I8G3YMVIipcAoyEvv/5b3jjM38QZgyizLEEGr9Eq36acLzt9tjpnflsqYJRWZXVphdQLkRntAp1RpW3ygWdUrkgi0QtWAVGDzhUbLJGskvperKWiUA0b6/TeFyO06BlGjMSIBc4HQ55OENiAtUH6CG6uk2bK65XzXRlQpXtxTOUGlvaX1UKGacFv60RcZN9razzDk+H1E6/oUbDQ0y9vek98fjl/nX6epWI70T/oP10OU5trWUWMxx4jlMDd7xblJbm+9i60iEdq89NQeeYjjOobNfquiqqMs0yVMRpE6CcD3fE7PPdy8PL5MIguCvHZRn7tjIyFUGJA1BKb3nLy81aKeYvsJgsWayPazE2KnzweJShGqy5vD8Y++eeelvEQeuyTENbw7O57K/os+fsZ4LRql3FYi8GwbaRqtQb4eZ/VlYg1ebjOWPvovIFo/yfOuZfEaPicLufMiQLtSTa5A4FGMIyW7oYYMcr/qtBwSRYZcqSroMkPiSGzGs69bYyjQ232Dy3z3kqWBREgBo1kWZ6aanZjd5cQI5l11ELTBoYSe9wPp+tDc8go1m3IWSvgkbMpJyv6sDyjcQud3z7odsXznzZTKFilAeBgxKLyL4OJxeneba687IJydQ5v+TrTaOMbWjU+rYqVB6gg50Oj15SHT7nJ5WjQnUSkvMuonn4Zvn9uhDUGbLQZANZKvkD2fyZH9cgFPdECERUToAVeQssoHOWcchv1tZPk06mUzaRKLS3bENk1kACdQkqnA6FBW0OCJ7CmpsvtxWqKBdSTNRCIFETn47rVK750esMtwR1CG5OWkQFcaSYQB3eNLwxO9/e0lI0cWOaW/2J5wY74omspKAOuvpB8D7BrczClf7EHuDD/ALz31uuWwC2Z5OT5Z571mBAsDCLsvpGf9wkRXhAiWAQb9/Q1m2W88Le5cc4LRqqoqDs4DeL8jZXljWhqOmUlen0e6pPVhLJve5ef0I2pTRiTjpVABAYkK8MtkIqQcne3e6AMDW/gIc5msGymyDAowxmEpMGwUKFTgWkrjXULoNEiTSl1XvADffgSI6/zQpxnyj+yPTW1LNvrg9H4VAYeAQ9Cs/5DUWEKhcLflO56gQ28VWbkZuzeZ/o+6GXO+Ra+Lx++jh/WCWUCn3bVIVRWe7NXiYztJGSVlSDlCbeCtB0nWHDXDvHLualJxYC86tulnpBdki2OnW/tNdByxUw+Dfr+e7517u6W7l3CAr6o9JlglDxtmFybP25kBIFa/AxSiDBBCY2CFYDhFFaOKTp36tuqPViqyIxPBwiJF6qqgD2rZ4o6S6ZhhUusy0VKp71J0wfTvW0lQci36KFy/y9gPWrn9oIYs9lpRttAdjjPEsHYRelSWPaZKI0N/pTjlcCogq8lYzHeSL/syEoBsCfgHucE4GZsSEfV2l2HEHrzLtG6ApTMHfFqtbNDmtIPSKUUkJmFFCOuVTeNmFgcn1FfPpw9Xz9fHzodWrncahTeBDcGlROfOiX9WvYENXeglp/o5E6QtVUrGlzq96kF8/SVHiJBQ41zecnnk+IwJOlXE8KUmXsq3EojWkdHz7zs33ZUho0KMRvlqgC3HsGhIwhd3iHYcdJQ5yxeEUrRpB4/QS9hcmgR3EMPQAtBEK+DLlXGz8cHRJXl4fTo2mp0DZaOr6SGHNs2XBfXy9oVI6PuqsB0qkShxtoRq1oUmy2E63O1lk5UsnAt3F2Mh6WdrdkGsofqeudLb8Iip2JJS5tX8Bco98RxUpYG4bJLAmrZjf7WQ9PqR70a72jc3S28/0NfQm+9523H77/8Muni9N2Y+zLn6lXvgXPTfKervrC0pvfEcTLl6NWZbrSY3+j3+nXlswHS/P5vI4YyO5oGqJBUPFthWAP1Lsu/N51Lbz/G/e/p8e728vz8RA/KEVlNklVO9qzkmxfGbK34IrLIDONUVr2AzCcKJD/S1T6vulZz6qhWOBbwQ8hmTLHDoTbSKJyqZrZ24pGbTyIlbZdpfVNNfgBgvdQDCBs8rcH/ZmzvkZJeRUavyhmr2WcD0tLN5CPQIekpdAtd54GZQFN8RuSAX0x+rX+oMJs21f77vxgB8iPl0eH+Mffdip/bzb602f9mqW0j0ARgwJms41DcCWt8hA1W5SeXEOfI3Pa8r501/tvBnE46nnN+nKax7YpTZ5ucfBWquKc53NRP3750LOUug4DlaHhepdGKB3bCmqhdCoXAHyV6xkRY7fsM2W7XwRzxjfIKcfXt6fZw93kYjQon5GrKonINTUPGj7x05Fs7UMJk9bNh72wwQpAe6Ezwk87TUfenPkehV3Jfehhkdf6dohmDe4HmsLg4OFi+p9JedxcXZwdHw77zVpdlYXOKVZKC7viMz8hqVARQs5D4VOA0q8upPtd/Y7YSxYcuVqKKza4npEVhPonuE6VageshOKnAv6kuGrzoJkfQbfJoLl9v7b6NeDOFpZEIncf3IFXpgb2QaMjfa1u5fwVpnJSKSrnfUkvwt0QyfpI/uU9W6NSQcup8eqE4rVYaLWEOC4sDJvcTJgb2JkHjiC4Faf+uMMrM0f4aK7ebyNhlpTpDaD7mGKzVtrKz1Ji8rGufD/Ua00tOPATXqf2rT4s5utLc1E5r0QFNj7Wv5ADoHY9wLk3KZnvKZLYrwrTNzxnuCAHRZQaE25HhmhuTf+/JBhLcBvG25p9euWuKyOfaeMcEkNkCpp6Yk6Uuy9zme2BVXbOv8TKElh71sRgQu1W3h7WQh861gF2uNP+Ug63vkIJhUq1IbQyK6qJBKBGsE+hQV1i0Bm/EQKAQOjJM+VpCnn/6ArESwDgwep/PwIAHp6/IPt/ffEakT8XwagwAAAEUnHggxZRve9rXlg+7LtTg3zO926jZRR6+aAml7DvHE7NcHmDdxm6cGAz0tv5jfCnwtwyy707D7Y3oiqMJsBp3J3wB/acc8q5IKwdVDnIByAygfVwCWY5eYv42UEpTl3FEbhfXA8XchE5dnJqZCdqWYCCRBj7vgSVNMCGqAQfbZONexcyHDCUMWXRyKOQPkLnFTiHgWeUPlQpCcOs+Haf75n7emo/cilCPmZdONBqKIjyL1RU3o3KNBvdizGHGsUeG7uOFJXt89kbY4aYLIGfd7DwZyczVZOhumyFSHNt7oKTRajnJKz09ZuHwKzkDgWjQ9AXbEwNwx8pFaSh9U8+FumoI+hGE/R5hbaRYBic7FyAJiPKqjlAVP5i58x+Mti4iYRWaztBHKp1oS+U/fXD5laSZyBRVW+zwg0lZQabTKMTGCF0Z4ZZ4401sxytQUFlYIjJivJEEoh+Z5z6zLHMX8w7rGLrv94gPwqy/wm4DJ0MtoozeSzKvl2WxymeUpgAlsNG7VptsErP12fxye7loFGyJEN2biJNckRWisUDBOCuRlTtSJiBCr0A1q5nAwEBoOMjoKUMADiXZUwIJ+Vh7PhG4AYfycz5KMQyozLhTCjlQ8gCITEmi5RyYmY+QpYSIp3iSLPDi+QRl/QoMFlp6nMhQIHSc68SEvl4CohF4dkHPlNJlRnHikiWWKNTY6F5J4eViWU16SOJoeBDBgkKCZ3iCofGsJzuROy5LkYObfUtDPl04mfJQnlKJbEw0oMPtnFpjPJmTtWPc2lcPiWM7pgP5zO9hLm2CMwrQQ2r5KYEhBLaiLaXl6jQhXeN58F06QvloGUJLHQlTXi/rLS/7B2e6iSSeYnMg6125veu5K8Ai5lYt2iqm6L4DBrCAdkXsmTB9CzfencB6HgzODgr03ZZdphHl0obfd8w0O4cqTGGdPQM3jZh0oWkRW67VQcr77tE4Ir5dhpi7Qc26Yxs6KxrhK5z5A3N83zHVRRh7rblKJBvLR++Cvl5zV/RFbIUpxGy6WA3iJUpTw5IhASfBMlrM0KFSJWq1aiyTq1hUd6LFiNWpzjx6jRoVJ8uyW1565CUEBAV0RAdVuujkpQJSXbkYQOfQE4YoIRMncjDSBtoOeSkdnKolOUHQixQNGc3Lha2VOncBJ1y2h577bNfvwFHHEXBpA3UoU23Lj2apWlBCxtaLSHvg4+exiEl1swTPXJIHikgRanSpMuQKYs7eOl10z233HZ/eehJCa+Mx+i+yivMyouODKINfRBZWOW6CB0P+WmiTXseUYpEwIJZFiGLqan/WrK+8zGe4BR4eUbPGkV/+Rclf6MWVmmwtrh3urvAP2AsnfdvgIUYzU8l4ooXWGxU4LyQEGPwdV62TG/fqM2VVfQbzj0YP0w05/YQExzI8f4waDe+BpFltL3gm0NHzKJ4OZan3/grPUBYETD0GPIPEMD7+yg234of8joeWJDNJOsPGFBowPuJWcP6VdghowG01Fz7Ej2Olje2209F8ka/kezks9L7RVzaH9XspSzvOwAA"}},"time_used":48,"timings":{"blocked":22,"dns":0,"connect":0,"send":0,"wait":19,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/favicon.ico","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.203Z","timestamp":1785160569203,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.forexbot.demotunde.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 22:59:06 GMT","end":"Sun, 30 Aug 2026 22:59:05 GMT"},"fingerprint":{"sha1":"84:78:CD:27:C6:72:74:C3:DF:2E:38:3A:01:37:08:B5:3A:8D:2D:59","sha256":"C5:22:6C:D7:C0:6A:76:90:CF:77:37:EA:BF:88:3E:1D:13:1B:B9:F8:CC:D5:DD:DB:24:45:1B:8E:22:A3:81:73"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: www.forexbot.demotunde.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.forexbot.demotunde.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6IkxzbU8yVktCa0U2ZDNUVmdaS0t4UlE9PSIsInZhbHVlIjoibGVxSzRpczgraUxiTEZvQ1hxc0ZwUU1WV1VSdG9xQ1RwTVBVZ2ZTamRVOVF1Y1hsZlY3Qk8reHV4WXRCTC82dzZ2bTNHajBCWURCQlBIK0NYQTFHY3NzOE1nWGtReUIwWUZYemVObkNyU2YyMnYwUHYzTmNwTEZhZmtOQSs5aFgiLCJtYWMiOiI5Y2UwY2M5OTkxNDkxNTBkY2M2MzEzNGJlNjBlYTkyOTE1Mjg5Y2Q3MDUwZTZiNTYyMjQzNDYyNjJjNTZmNTZhIiwidGFnIjoiIn0%3D; forexbot-session=eyJpdiI6IkNXN2hMY0tjY2ZCQUhYMnRoTkFYc0E9PSIsInZhbHVlIjoiMGlmY2NFNjNuejZqMCtpdzZpNGZxVjdjNE1jVGlVM3UxQVhXQXBTU2N2THVEL09oSFdpNVFPMlRZQnVVTDZQVkQzRHVHSXlaMHZZbG1iSTRiYTN2eVNqak5pcERGdDlqdU5CRDVmVmxmcyszTFhpbjE4Q3JlRE4xOVp5eHd0UEkiLCJtYWMiOiI1NjRkMWFhYzZhZWVjMzVjNzdmMWRhN2E2YjZmOGNmYmMxMjIxYzliNmZiMDZiM2YxNzFkODY3ZjgwYThjZDYwIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 13:56:09 GMT\r\ncontent-type: image/x-icon\r\nlast-modified: Tue, 31 Mar 2026 20:42:11 GMT\r\naccept-ranges: bytes\r\ncontent-length: 0\r\ndate: Mon, 27 Jul 2026 13:56:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":265,"mime_type":"image/x-icon","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-18T00:37:19.234622Z","times_seen":17946405,"resource_available":true,"data":""}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T13:56:07.869Z","timestamp":1785160567869,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.forexbot.demotunde.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 22:59:06 GMT","end":"Sun, 30 Aug 2026 22:59:05 GMT"},"fingerprint":{"sha1":"84:78:CD:27:C6:72:74:C3:DF:2E:38:3A:01:37:08:B5:3A:8D:2D:59","sha256":"C5:22:6C:D7:C0:6A:76:90:CF:77:37:EA:BF:88:3E:1D:13:1B:B9:F8:CC:D5:DD:DB:24:45:1B:8E:22:A3:81:73"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: www.forexbot.demotunde.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nx-powered-by: PHP/8.4.23\r\ncontent-type: text/html; charset=utf-8\r\ncache-control: no-cache, private\r\nset-cookie: XSRF-TOKEN=eyJpdiI6IkxzbU8yVktCa0U2ZDNUVmdaS0t4UlE9PSIsInZhbHVlIjoibGVxSzRpczgraUxiTEZvQ1hxc0ZwUU1WV1VSdG9xQ1RwTVBVZ2ZTamRVOVF1Y1hsZlY3Qk8reHV4WXRCTC82dzZ2bTNHajBCWURCQlBIK0NYQTFHY3NzOE1nWGtReUIwWUZYemVObkNyU2YyMnYwUHYzTmNwTEZhZmtOQSs5aFgiLCJtYWMiOiI5Y2UwY2M5OTkxNDkxNTBkY2M2MzEzNGJlNjBlYTkyOTE1Mjg5Y2Q3MDUwZTZiNTYyMjQzNDYyNjJjNTZmNTZhIiwidGFnIjoiIn0%3D; expires=Mon, 27 Jul 2026 15:56:08 GMT; Max-Age=7200; path=/; secure; samesite=lax\nforexbot-session=eyJpdiI6IkNXN2hMY0tjY2ZCQUhYMnRoTkFYc0E9PSIsInZhbHVlIjoiMGlmY2NFNjNuejZqMCtpdzZpNGZxVjdjNE1jVGlVM3UxQVhXQXBTU2N2THVEL09oSFdpNVFPMlRZQnVVTDZQVkQzRHVHSXlaMHZZbG1iSTRiYTN2eVNqak5pcERGdDlqdU5CRDVmVmxmcyszTFhpbjE4Q3JlRE4xOVp5eHd0UEkiLCJtYWMiOiI1NjRkMWFhYzZhZWVjMzVjNzdmMWRhN2E2YjZmOGNmYmMxMjIxYzliNmZiMDZiM2YxNzFkODY3ZjgwYThjZDYwIiwidGFnIjoiIn0%3D; expires=Mon, 27 Jul 2026 15:56:08 GMT; Max-Age=7200; path=/; secure; httponly; samesite=lax\r\ncontent-length: 8446\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 13:56:08 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Alpine.js","description":"","website":"https://github.com/alpinejs/alpine","common_platform_enumeration":"","icon":"Alpine.js.png","categories":["JavaScript frameworks"]},{"name":"Tailwind CSS","description":"Tailwind is a utility-first CSS framework.","website":"https://tailwindcss.com/","common_platform_enumeration":"","icon":"tailwindcss.svg","categories":["UI frameworks"]},{"name":"jsDelivr","description":"JSDelivr is a free public CDN for open-source projects. It can serve web files directly from the npm registry and GitHub repositories without any configuration.","website":"https://www.jsdelivr.com/","common_platform_enumeration":"","icon":"jsdelivr-icon.svg","categories":["CDN"]},{"name":"PHP:8.4.23","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":59048,"size_decoded":9785,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (320), with CRLF, LF line terminators","md5":"564e248c94dc7b7956d76f622d97b2b9","sha1":"db31aa9c470758930a190c18dd6a8487ff93f3b3","sha256":"6e50ef1cc668c65a3afff96677141edef9039fe24371e90f41a46f886b73e241","sha512":"4f9df857096271a4b191412710b5ea1483725061721e008ea419b0f0603334873f3081c5ae81600bc2e9ab62378442bd209e9bc20a7f76b3f34f8a8f211500d7","ssdeep":"768:4DbUllYCPKPPSw55Q2cw2gkFkfzwipVWBd2xD1ZL9Z/gZQJfZCDxZh/ZMldVQWdI:aQWD464zHp1","tlshash":"3843642062f111b9809386b177a17f3acbbd8247d02be114b36d4b915f8bc9abd13b1c","first_seen":"2026-07-27T13:56:41.847097Z","last_seen":"2026-07-27T13:56:41.847097Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIiBjbGFzcz0ic2Nyb2xsLXNtb290aCIgeC1kYXRhPSJ7IGRhcmtNb2RlOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWUnKSAhPT0gJ2xpZ2h0JywgbW9iaWxlTWVudTogZmFsc2UgfSIgeC1pbml0PSIkd2F0Y2goJ2RhcmtNb2RlJywgdmFsID0+IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0aGVtZScsIHZhbCA/ICdkYXJrJyA6ICdsaWdodCcpKSIgOmNsYXNzPSJ7ICdkYXJrJzogZGFya01vZGUgfSI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KICAgIDxtZXRhIG5hbWU9ImNzcmYtdG9rZW4iIGNvbnRlbnQ9Ik5rcUlvejQycFNNYjdZYnQ1aHh4SFp3MGYwRHBYUTJZMUFRNHZ4SGgiPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkZvcmV4Qm90IOKAlCBBSS1wb3dlcmVkIGZvcmV4IHRyYWRpbmcuIEV4ZWN1dGUgaW50ZWxsaWdlbnQgdHJhZGVzIDI0LzcgYWNyb3NzIDUwKyBjdXJyZW5jeSBwYWlycy4gU3RhcnQgeW91ciBmcmVlIHRyaWFsIHRvZGF5LiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iZm9yZXggYm90LCBhdXRvbWF0ZWQgdHJhZGluZywgQUkgdHJhZGluZywgY3VycmVuY3kgdHJhZGluZywgZm9yZXggc2lnbmFscyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkhvbWUg4oCUIHwgQUkgRm9yZXggVHJhZGluZyI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkZvcmV4Qm90IOKAlCBBSS1wb3dlcmVkIGZvcmV4IHRyYWRpbmcuIEV4ZWN1dGUgaW50ZWxsaWdlbnQgdHJhZGVzIDI0LzcgYWNyb3NzIDUwKyBjdXJyZW5jeSBwYWlycy4gU3RhcnQgeW91ciBmcmVlIHRyaWFsIHRvZGF5LiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0idyI+CiAgICA8dGl0bGU+SG9tZSDigJQgQUktUG93ZXJlZCBGb3JleCBUcmFkaW5nPC90aXRsZT4KCiAgICAKICAgIDxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CiAgICA8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iIGNyb3Nzb3JpZ2luPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1QbHVzK0pha2FydGErU2Fuczp3Z2h0QDMwMDs0MDA7NTAwOzYwMDs3MDA7ODAwJmZhbWlseT1JbnN0cnVtZW50K1NlcmlmOml0YWxAMDsxJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4KCiAgICAKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgICB0YWlsd2luZC5jb25maWcgPSB7CiAgICAgICAgICAgIGRhcmtNb2RlOiAnY2xhc3MnLAogICAgICAgICAgICB0aGVtZTogewogICAgICAgICAgICAgICAgZXh0ZW5kOiB7CiAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogewogICAgICAgICAgICAgICAgICAgICAgICBzYW5zOiBbJ1BsdXMgSmFrYXJ0YSBTYW5zJywgJ3NhbnMtc2VyaWYnXSwKICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWY6IFsnSW5zdHJ1bWVudCBTZXJpZicsICdHZW9yZ2lhJywgJ3NlcmlmJ10sCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBjb2xvcnM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgYnJhbmQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFRkFVTFQ6ICcjQzhBOTZFJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0OiAgICcjRThDOThBJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGVkOiAgICdyZ2JhKDIwMCwxNjksMTEwLDAuMTApJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogICdyZ2JhKDIwMCwxNjksMTEwLDAuMjUpJywKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZGFyazogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgNTA6ICAnI0YwRjRGOCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDA6ICcjOEI5OEE5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDogJyM0QTU1NjgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwOiAnIzFBMjUzNScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDA6ICcjMTYyMDJDJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMDogJyMxMTE4MjAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiAnIzBDMTExOCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3MDA6ICcjMDYwOTBGJywKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgcHJvZml0OiB7IERFRkFVTFQ6ICcjMTBCOTgxJywgZGltOiAncmdiYSgxNiwxODUsMTI5LDAuMTApJyB9LAogICAgICAgICAgICAgICAgICAgICAgICBsb3NzOiAgIHsgREVGQVVMVDogJyNFRjQ0NDQnLCBkaW06ICdyZ2JhKDIzOSw2OCw2OCwwLjEwKScgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGluZm86ICAgeyBERUZBVUxUOiAnIzNCODJGNicsIGRpbTogJ3JnYmEoNTksMTMwLDI0NiwwLjEwKScgfSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogewogICAgICAgICAgICAgICAgICAgICAgICB0aWNrZXI6ICAndGlja2VyIDM1cyBsaW5lYXIgaW5maW5pdGUnLAogICAgICAgICAgICAgICAgICAgICAgICBibGluazogICAnYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGUnLAogICAgICAgICAgICAgICAgICAgICAgICBmYWRlSW46ICAnZmFkZUluIDAuNnMgZWFzZSBmb3J3YXJkcycsCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlVXA6ICdzbGlkZVVwIDAuNXMgZWFzZSBmb3J3YXJkcycsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBrZXlmcmFtZXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgdGlja2VyOiAgeyBmcm9tOiB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknIH0sIHRvOiB7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTUwJSknIH0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgYmxpbms6ICAgeyAnMCUsMTAwJSc6IHsgb3BhY2l0eTogJzEnIH0sICc1MCUnOiB7IG9wYWNpdHk6ICcwLjMnIH0gfSwKICAgICAgICAgICAgICAgICAgICAgICAgZmFkZUluOiAgeyBmcm9tOiB7IG9wYWNpdHk6ICcwJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMnB4KScgfSwgdG86IHsgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9IH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlVXA6IHsgZnJvbTogeyBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMjBweCknIH0sIHRvOiB7IG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSB9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICA8L3NjcmlwdD4KCiAgICAKICAgIDxzY3JpcHQgZGVmZXIgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2FscGluZWpzQDMueC54L2Rpc3QvY2RuLm1pbi5qcyI+PC9zY3JpcHQ+CgogICAgPHN0eWxlPgogICAgICAgICogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfQogICAgICAgIGJvZHkgeyBmb250LWZhbWlseTogJ1BsdXMgSmFrYXJ0YSBTYW5zJywgc2Fucy1zZXJpZjsgfQogICAgICAgIC5mb250LXNlcmlmLWl0YWxpYyB7IGZvbnQtZmFtaWx5OiAnSW5zdHJ1bWVudCBTZXJpZicsIHNlcmlmOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiA0MDA7IH0KICAgICAgICAvKiBzY3JvbGxiYXIgKi8KICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDRweDsgaGVpZ2h0OiA0cHg7IH0KICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0KICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogIzFBMjUzNTsgYm9yZGVyLXJhZGl1czogMnB4OyB9CiAgICAgICAgLyogdGlja2VyICovCiAgICAgICAgLnRpY2tlci10cmFjayB7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiBtYXgtY29udGVudDsgYW5pbWF0aW9uOiB0aWNrZXIgMzVzIGxpbmVhciBpbmZpbml0ZTsgfQogICAgICAgIEBrZXlmcmFtZXMgdGlja2VyIHsgZnJvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9CiAgICAgICAgLyogdGFiLW51bXMgKi8KICAgICAgICAudGFidWxhciB7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH0KICAgICAgICAvKiBzZWN0aW9uIGFuaW1hdGlvbiBvbiBzY3JvbGwgKi8KICAgICAgICAucmV2ZWFsIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI0cHgpOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZSwgdHJhbnNmb3JtIDAuNnMgZWFzZTsgfQogICAgICAgIC5yZXZlYWwudmlzaWJsZSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgICAgIC8qIG5hdiBhY3RpdmUgdW5kZXJsaW5lICovCiAgICAgICAgLm5hdi1hY3RpdmUgeyBjb2xvcjogI0M4QTk2RSAhaW1wb3J0YW50OyB9CiAgICAgICAgLyogbW9iaWxlIG1lbnUgc2xpZGUgKi8KICAgICAgICAubW9iaWxlLW5hdi1vcGVuIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApICFpbXBvcnRhbnQ7IH0KICAgIDwvc3R5bGU+CgogICAgPC9oZWFkPgoKPGJvZHkgY2xhc3M9ImJnLWRhcmstNzAwIHRleHQtZGFyay01MCBkYXJrOmJnLWRhcmstNzAwIGRhcms6dGV4dC1kYXJrLTUwIHRyYW5zaXRpb24tY29sb3JzIGR1cmF0aW9uLTMwMCIKICAgICAgeC1jbG9haz4KCgo8aGVhZGVyIGNsYXNzPSJzdGlja3kgdG9wLTAgei01MCBib3JkZXItYiBib3JkZXItZGFyay0zMDAgYmctZGFyay03MDAvOTUgYmFja2Ryb3AtYmx1ci14bCIKICAgICAgICB4LWRhdGE9Insgc2Nyb2xsZWQ6IGZhbHNlIH0iCiAgICAgICAgQHNjcm9sbC53aW5kb3c9InNjcm9sbGVkID0gd2luZG93LnNjcm9sbFkgPiAxMCIKICAgICAgICA6Y2xhc3M9InNjcm9sbGVkID8gJ3NoYWRvdy1sZyBzaGFkb3ctYmxhY2svMzAnIDogJyciPgoKICAgIDxkaXYgY2xhc3M9Im14LWF1dG8gbWF4LXctN3hsIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGgtMTYgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBnYXAtNCI+CgogICAgICAgICAgICAKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbSIgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgc2hyaW5rLTAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJnLWJyYW5kIj4KICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiMwNjA5MEYiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMiA3IDEzLjUgMTUuNSA4LjUgMTAuNSAyIDE3Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE2IDcgMjIgNyAyMiAxMyIvPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC1iYXNlIGZvbnQtZXh0cmFib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZGFyay01MCI+Rm9yZXhCb3Q8L3NwYW4+CiAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgIAogICAgICAgICAgICA8bmF2IGNsYXNzPSJoaWRkZW4gbGc6ZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbSIKICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icm91bmRlZC1tZCBweC0zLjUgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay00MDAgaG92ZXI6dGV4dC1kYXJrLTUwIG5hdi1hY3RpdmUgYmctZGFyay00MDAiPgogICAgICAgICAgICAgICAgICAgICAgICBIb21lCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL2ZlYXR1cmVzIgogICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJyb3VuZGVkLW1kIHB4LTMuNSBweS0yIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpiZy1kYXJrLTQwMCBob3Zlcjp0ZXh0LWRhcmstNTAgIj4KICAgICAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vcHJpY2luZyIKICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icm91bmRlZC1tZCBweC0zLjUgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay00MDAgaG92ZXI6dGV4dC1kYXJrLTUwICI+CiAgICAgICAgICAgICAgICAgICAgICAgIFByaWNpbmcKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vYWJvdXQiCiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InJvdW5kZWQtbWQgcHgtMy41IHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNDAwIGhvdmVyOnRleHQtZGFyay01MCAiPgogICAgICAgICAgICAgICAgICAgICAgICBBYm91dAogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9mYXEiCiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InJvdW5kZWQtbWQgcHgtMy41IHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNDAwIGhvdmVyOnRleHQtZGFyay01MCAiPgogICAgICAgICAgICAgICAgICAgICAgICBGQVEKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vY29udGFjdCIKICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icm91bmRlZC1tZCBweC0zLjUgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay00MDAgaG92ZXI6dGV4dC1kYXJrLTUwICI+CiAgICAgICAgICAgICAgICAgICAgICAgIENvbnRhY3QKICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25hdj4KCiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBzaHJpbmstMCI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJkYXJrTW9kZSA9ICFkYXJrTW9kZSIKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZsZXggaC05IHctOSBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWRhcmstMzAwIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6Ym9yZGVyLWJyYW5kIGhvdmVyOnRleHQtYnJhbmQiCiAgICAgICAgICAgICAgICAgICAgICAgIDphcmlhLWxhYmVsPSJkYXJrTW9kZSA/ICdTd2l0Y2ggdG8gbGlnaHQgbW9kZScgOiAnU3dpdGNoIHRvIGRhcmsgbW9kZSciPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeC1zaG93PSJkYXJrTW9kZSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjUiLz48bGluZSB4MT0iMTIiIHkxPSIxIiB4Mj0iMTIiIHkyPSIzIi8+PGxpbmUgeDE9IjEyIiB5MT0iMjEiIHgyPSIxMiIgeTI9IjIzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI0LjIyIiB5MT0iNC4yMiIgeDI9IjUuNjQiIHkyPSI1LjY0Ii8+PGxpbmUgeDE9IjE4LjM2IiB5MT0iMTguMzYiIHgyPSIxOS43OCIgeTI9IjE5Ljc4Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxIiB5MT0iMTIiIHgyPSIzIiB5Mj0iMTIiLz48bGluZSB4MT0iMjEiIHkxPSIxMiIgeDI9IjIzIiB5Mj0iMTIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjQuMjIiIHkxPSIxOS43OCIgeDI9IjUuNjQiIHkyPSIxOC4zNiIvPjxsaW5lIHgxPSIxOC4zNiIgeTE9IjUuNjQiIHgyPSIxOS43OCIgeTI9IjQuMjIiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8c3ZnIHgtc2hvdz0iIWRhcmtNb2RlIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDEyLjc5QTkgOSAwIDEgMSAxMS4yMSAzIDcgNyAwIDAgMCAyMSAxMi43OXoiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9sb2dpbiIKICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoaWRkZW4gc206aW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBweC00IHB5LTIgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6Ym9yZGVyLWJyYW5kIGhvdmVyOnRleHQtYnJhbmQiPgogICAgICAgICAgICAgICAgICAgIExvZyBpbgogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9yZWdpc3RlciIKICAgICAgICAgICAgICAgICAgIGNsYXNzPSJoaWRkZW4gc206aW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgYmctYnJhbmQgcHgtNCBweS0yIHRleHQtc20gZm9udC1ib2xkIHRleHQtZGFyay03MDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6YmctYnJhbmQtbGlnaHQgaG92ZXI6LXRyYW5zbGF0ZS15LXB4Ij4KICAgICAgICAgICAgICAgICAgICBPcGVuIEFjY291bnQKICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSJtb2JpbGVNZW51ID0gIW1vYmlsZU1lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmbGV4IGgtOSB3LTkgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tYWxsIGhvdmVyOmJvcmRlci1icmFuZCBob3Zlcjp0ZXh0LWJyYW5kIGxnOmhpZGRlbiIKICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iVG9nZ2xlIG1lbnUiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgeC1zaG93PSIhbW9iaWxlTWVudSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIzIiB5MT0iNiIgeDI9IjIxIiB5Mj0iNiIvPjxsaW5lIHgxPSIzIiB5MT0iMTIiIHgyPSIyMSIgeTI9IjEyIi8+PGxpbmUgeDE9IjMiIHkxPSIxOCIgeDI9IjIxIiB5Mj0iMTgiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8c3ZnIHgtc2hvdz0ibW9iaWxlTWVudSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiLz48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ii8+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICAKICAgIDxkaXYgeC1zaG93PSJtb2JpbGVNZW51IgogICAgICAgICB4LXRyYW5zaXRpb246ZW50ZXI9InRyYW5zaXRpb24gZWFzZS1vdXQgZHVyYXRpb24tMjAwIgogICAgICAgICB4LXRyYW5zaXRpb246ZW50ZXItc3RhcnQ9Im9wYWNpdHktMCAtdHJhbnNsYXRlLXktMiIKICAgICAgICAgeC10cmFuc2l0aW9uOmVudGVyLWVuZD0ib3BhY2l0eS0xMDAgdHJhbnNsYXRlLXktMCIKICAgICAgICAgeC10cmFuc2l0aW9uOmxlYXZlPSJ0cmFuc2l0aW9uIGVhc2UtaW4gZHVyYXRpb24tMTUwIgogICAgICAgICB4LXRyYW5zaXRpb246bGVhdmUtc3RhcnQ9Im9wYWNpdHktMTAwIHRyYW5zbGF0ZS15LTAiCiAgICAgICAgIHgtdHJhbnNpdGlvbjpsZWF2ZS1lbmQ9Im9wYWNpdHktMCAtdHJhbnNsYXRlLXktMiIKICAgICAgICAgY2xhc3M9ImJvcmRlci10IGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTYwMCBsZzpoaWRkZW4iPgogICAgICAgIDxkaXYgY2xhc3M9Im14LWF1dG8gbWF4LXctN3hsIHNwYWNlLXktMSBweC00IHB5LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbSIKICAgICAgICAgICAgICAgICAgIEBjbGljaz0ibW9iaWxlTWVudSA9IGZhbHNlIgogICAgICAgICAgICAgICAgICAgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgcHgtMyBweS0yLjUgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNDAwIGhvdmVyOnRleHQtZGFyay01MCBiZy1kYXJrLTQwMCB0ZXh0LWJyYW5kIj4KICAgICAgICAgICAgICAgICAgICBIb21lCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL2ZlYXR1cmVzIgogICAgICAgICAgICAgICAgICAgQGNsaWNrPSJtb2JpbGVNZW51ID0gZmFsc2UiCiAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcm91bmRlZC1tZCBweC0zIHB5LTIuNSB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay00MDAgaG92ZXI6dGV4dC1kYXJrLTUwICI+CiAgICAgICAgICAgICAgICAgICAgRmVhdHVyZXMKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vcHJpY2luZyIKICAgICAgICAgICAgICAgICAgIEBjbGljaz0ibW9iaWxlTWVudSA9IGZhbHNlIgogICAgICAgICAgICAgICAgICAgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgcHgtMyBweS0yLjUgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNDAwIGhvdmVyOnRleHQtZGFyay01MCAiPgogICAgICAgICAgICAgICAgICAgIFByaWNpbmcKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vYWJvdXQiCiAgICAgICAgICAgICAgICAgICBAY2xpY2s9Im1vYmlsZU1lbnUgPSBmYWxzZSIKICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLW1kIHB4LTMgcHktMi41IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpiZy1kYXJrLTQwMCBob3Zlcjp0ZXh0LWRhcmstNTAgIj4KICAgICAgICAgICAgICAgICAgICBBYm91dAogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9mYXEiCiAgICAgICAgICAgICAgICAgICBAY2xpY2s9Im1vYmlsZU1lbnUgPSBmYWxzZSIKICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLW1kIHB4LTMgcHktMi41IHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpiZy1kYXJrLTQwMCBob3Zlcjp0ZXh0LWRhcmstNTAgIj4KICAgICAgICAgICAgICAgICAgICBGQVEKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vY29udGFjdCIKICAgICAgICAgICAgICAgICAgIEBjbGljaz0ibW9iaWxlTWVudSA9IGZhbHNlIgogICAgICAgICAgICAgICAgICAgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHJvdW5kZWQtbWQgcHgtMyBweS0yLjUgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNDAwIGhvdmVyOnRleHQtZGFyay01MCAiPgogICAgICAgICAgICAgICAgICAgIENvbnRhY3QKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMyBmbGV4IGZsZXgtY29sIGdhcC0yIGJvcmRlci10IGJvcmRlci1kYXJrLTMwMCBwdC0zIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vbG9naW4iCiAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWRhcmstMzAwIHB4LTQgcHktMi41IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LWRhcmstMTAwIGhvdmVyOmJvcmRlci1icmFuZCBob3Zlcjp0ZXh0LWJyYW5kIj4KICAgICAgICAgICAgICAgICAgICBMb2cgaW4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vcmVnaXN0ZXIiCiAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBiZy1icmFuZCBweC00IHB5LTIuNSB0ZXh0LXNtIGZvbnQtYm9sZCB0ZXh0LWRhcmstNzAwIj4KICAgICAgICAgICAgICAgICAgICBPcGVuIEFjY291bnQKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9oZWFkZXI+CgoKPGRpdiBjbGFzcz0ib3ZlcmZsb3ctaGlkZGVuIGJvcmRlci1iIGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTYwMCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgPGRpdiBjbGFzcz0idGlja2VyLXRyYWNrIHB5LTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+RVVSL1VTRDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MS4wOTg0Mjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1wcm9maXQiPiswLjIzJTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBib3JkZXItciBib3JkZXItZGFyay0zMDAgcHgtNiBweS0wIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstNTAiPkdCUC9VU0Q8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIHRleHQtZGFyay0xMDAiPjEuMjY1NDA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtcHJvZml0Ij4rMC40MSU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5VU0QvSlBZPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4xNTEuMzIwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWxvc3MiPi0wLjE4JTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBib3JkZXItciBib3JkZXItZGFyay0zMDAgcHgtNiBweS0wIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstNTAiPkFVRC9VU0Q8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIHRleHQtZGFyay0xMDAiPjAuNjQzMjA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtcHJvZml0Ij4rMC4xMiU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5VU0QvQ0FEPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4xLjM2NDEwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWxvc3MiPi0wLjA4JTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBib3JkZXItciBib3JkZXItZGFyay0zMDAgcHgtNiBweS0wIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstNTAiPkVVUi9HQlA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIHRleHQtZGFyay0xMDAiPjAuODU3MTA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtcHJvZml0Ij4rMC4wNiU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5VU0QvQ0hGPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4wLjg5NjQwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXByb2ZpdCI+KzAuMzElPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+TlpEL1VTRDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MC41OTgyMDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1sb3NzIj4tMC4xNSU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5FVVIvSlBZPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4xNjYuMTQwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXByb2ZpdCI+KzAuMDclPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+R0JQL0pQWTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MTkxLjQ4MDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1wcm9maXQiPiswLjMwJTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBib3JkZXItciBib3JkZXItZGFyay0zMDAgcHgtNiBweS0wIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstNTAiPkVVUi9VU0Q8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIHRleHQtZGFyay0xMDAiPjEuMDk4NDI8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtcHJvZml0Ij4rMC4yMyU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5HQlAvVVNEPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4xLjI2NTQwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXByb2ZpdCI+KzAuNDElPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+VVNEL0pQWTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MTUxLjMyMDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1sb3NzIj4tMC4xOCU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5BVUQvVVNEPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4wLjY0MzIwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXByb2ZpdCI+KzAuMTIlPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+VVNEL0NBRDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MS4zNjQxMDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1sb3NzIj4tMC4wOCU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LWJvbGQgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTUwIj5FVVIvR0JQPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYnVsYXIgdGV4dC14cyB0ZXh0LWRhcmstMTAwIj4wLjg1NzEwPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXByb2ZpdCI+KzAuMDYlPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+VVNEL0NIRjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MC44OTY0MDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1wcm9maXQiPiswLjMxJTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBib3JkZXItciBib3JkZXItZGFyay0zMDAgcHgtNiBweS0wIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstNTAiPk5aRC9VU0Q8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIHRleHQtZGFyay0xMDAiPjAuNTk4MjA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtbG9zcyI+LTAuMTUlPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMi41IGJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgZm9udC1ib2xkIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay01MCI+RVVSL0pQWTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgdGV4dC1kYXJrLTEwMCI+MTY2LjE0MDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1wcm9maXQiPiswLjA3JTwvc3Bhbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSBib3JkZXItciBib3JkZXItZGFyay0zMDAgcHgtNiBweS0wIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstNTAiPkdCUC9KUFk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIHRleHQtZGFyay0xMDAiPjE5MS40ODA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtcHJvZml0Ij4rMC4zMCU8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CjwvZGl2PgoKCjxtYWluPgogICAgCgo8c2VjdGlvbiBjbGFzcz0iYm9yZGVyLWIgYm9yZGVyLWRhcmstMzAwIGJnLWRhcmstNzAwIj4KICAgIDxkaXYgY2xhc3M9Im14LWF1dG8gbWF4LXctN3hsIHB4LTQgcHktMTYgc206cHgtNiBzbTpweS0yMCBsZzpncmlkIGxnOmdyaWQtY29scy0yIGxnOmdhcC0xNiBsZzpweC04IGxnOnB5LTI4IGxnOml0ZW1zLWNlbnRlciI+CgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTYgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImlubGluZS1ibG9jayBoLTEuNSB3LTEuNSByb3VuZGVkLWZ1bGwgYmctcHJvZml0IGFuaW1hdGUtYmxpbmsiPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtZGFyay0xMDAiPkFJLVBvd2VyZWQgRm9yZXggVHJhZGluZyBQbGF0Zm9ybTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMSBjbGFzcz0idGV4dC00eGwgZm9udC1leHRyYWJvbGQgbGVhZGluZy1bMS4wOF0gdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTUwIHNtOnRleHQtNXhsIGxnOnRleHQtNnhsIj4KICAgICAgICAgICAgICAgIFRyYWRlIHdpdGg8YnI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9udC1zZXJpZi1pdGFsaWMgdGV4dC1icmFuZCI+aW5zdGl0dXRpb25hbDwvc3Bhbj48YnI+CiAgICAgICAgICAgICAgICBwcmVjaXNpb24uCiAgICAgICAgICAgIDwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJtdC01IHRleHQtYmFzZSBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1kYXJrLTEwMCBzbTp0ZXh0LWxnIGxnOm1heC13LW1kIj4KICAgICAgICAgICAgICAgIEZvcmV4Qm90J3MgQUkgZW5naW5lIGFuYWx5c2VzIDUwKyBjdXJyZW5jeSBwYWlycyBhcm91bmQgdGhlIGNsb2NrLCBleGVjdXRpbmcgaGlnaC1jb25maWRlbmNlIHRyYWRlcyB3aGlsZSB5b3UgZm9jdXMgb24gd2hhdCBtYXR0ZXJzIG1vc3QuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtOCBmbGV4IGZsZXgtd3JhcCBnYXAtMyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL3JlZ2lzdGVyIgogICAgICAgICAgICAgICAgICAgY2xhc3M9InJvdW5kZWQtbGcgYmctYnJhbmQgcHgtNiBweS0zLjUgdGV4dC1zbSBmb250LWJvbGQgdGV4dC1kYXJrLTcwMCB0cmFuc2l0aW9uLWFsbCBob3ZlcjpiZy1icmFuZC1saWdodCBob3ZlcjotdHJhbnNsYXRlLXktMC41IHNoYWRvdy1sZyBzaGFkb3ctYnJhbmQvMjAiPgogICAgICAgICAgICAgICAgICAgIFN0YXJ0IEZyZWUgVHJpYWwKICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vZmVhdHVyZXMiCiAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLWRhcmstMzAwIHB4LTYgcHktMy41IHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tYWxsIGhvdmVyOmJvcmRlci1kYXJrLTIwMCBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWdvbiBwb2ludHM9IjUgMyAxOSAxMiA1IDIxIDUgMyIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgIFdhdGNoIERlbW8KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMTAgZmxleCBmbGV4LXdyYXAgZ2FwLXgtOCBnYXAteS00IGJvcmRlci10IGJvcmRlci1kYXJrLTMwMCBwdC04Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFidWxhciB0ZXh0LXhsIGZvbnQtZXh0cmFib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZGFyay01MCBzbTp0ZXh0LTJ4bCI+JDIuNEI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMC41IHRleHQteHMgdGV4dC1kYXJrLTIwMCI+Vm9sdW1lIFRyYWRlZDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJ1bGFyIHRleHQteGwgZm9udC1leHRyYWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTUwIHNtOnRleHQtMnhsIj40NywwMDArPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTAuNSB0ZXh0LXhzIHRleHQtZGFyay0yMDAiPkFjdGl2ZSBUcmFkZXJzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYnVsYXIgdGV4dC14bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAgc206dGV4dC0yeGwiPjczLjQlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTAuNSB0ZXh0LXhzIHRleHQtZGFyay0yMDAiPldpbiBSYXRlPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIG10LTEyIGxnOm10LTAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWRhcmstMzAwIGJnLWRhcmstNjAwIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLWIgYm9yZGVyLWRhcmstMzAwIHB4LTUgcHktNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbSBmb250LWJvbGQgdGV4dC1kYXJrLTUwIj5FVVIgLyBVU0Q8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMC41IHRleHQteHMgdGV4dC1kYXJrLTIwMCI+RXVybyDCtyBVUyBEb2xsYXIgwrcgU3BvdDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LXByb2ZpdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtYmxvY2sgaC0xLjUgdy0xLjUgcm91bmRlZC1mdWxsIGJnLXByb2ZpdCBhbmltYXRlLWJsaW5rIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIExpdmUKICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1iYXNlbGluZSBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLWIgYm9yZGVyLWRhcmstMzAwIHB4LTUgcHktNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFidWxhciB0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAgc206dGV4dC00eGwiPjEuMDk4NDI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1iYXNlIGZvbnQtYm9sZCB0ZXh0LXByb2ZpdCI+KzAuMDAyNTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIHRleHQtZGFyay0yMDAiPiswLjIzJSB0b2RheTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB4LTUgcHQtNSI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgNTIwIDExMCIgZmlsbD0ibm9uZSIgY2xhc3M9InctZnVsbCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0iY2hhcnRHcmFkIiB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzEwQjk4MSIgc3RvcC1vcGFjaXR5PSIwLjE4Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMTBCOTgxIiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsOTAgQzE4LDg2IDI2LDcwIDQwLDczIEM1NCw3NiA2Miw2MCA3OCw1NSBDOTQsNTAgMTAyLDY2IDEyMCw1OSBDMTM4LDUyIDE0NiwzOCAxNjYsMzMgQzE4NiwyOCAxOTYsNDYgMjE0LDQwIEMyMzIsMzQgMjQyLDIwIDI2MiwxNiBDMjgyLDEyIDI5MiwyOCAzMTIsMjMgQzMzMiwxOCAzNDIsOCAzNjQsNiBDMzg2LDQgMzk2LDEyIDQxNiwxMCBDNDM2LDggNDQ4LDE0IDQ3MCwxMiBDNDkwLDEwIDUwMiwxNSA1MjAsMTMiIHN0cm9rZT0iIzEwQjk4MSIgc3Ryb2tlLXdpZHRoPSIxLjUiIGZpbGw9Im5vbmUiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTAsOTAgQzE4LDg2IDI2LDcwIDQwLDczIEM1NCw3NiA2Miw2MCA3OCw1NSBDOTQsNTAgMTAyLDY2IDEyMCw1OSBDMTM4LDUyIDE0NiwzOCAxNjYsMzMgQzE4NiwyOCAxOTYsNDYgMjE0LDQwIEMyMzIsMzQgMjQyLDIwIDI2MiwxNiBDMjgyLDEyIDI5MiwyOCAzMTIsMjMgQzMzMiwxOCAzNDIsOCAzNjQsNiBDMzg2LDQgMzk2LDEyIDQxNiwxMCBDNDM2LDggNDQ4LDE0IDQ3MCwxMiBDNDkwLDEwIDUwMiwxNSA1MjAsMTMgTDUyMCwxMTAgTDAsMTEwWiIgZmlsbD0idXJsKCNjaGFydEdyYWQpIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjUyMCIgY3k9IjEzIiByPSIzIiBmaWxsPSIjMTBCOTgxIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjUyMCIgY3k9IjEzIiByPSI2IiBmaWxsPSJub25lIiBzdHJva2U9IiMxMEI5ODEiIHN0cm9rZS1vcGFjaXR5PSIwLjMiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJteC01IG1iLTQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTUwMCBweC00IHB5LTIuNSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1kYXJrLTEwMCI+QUkgU2lnbmFsPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIGZvbnQtYm9sZCB0cmFja2luZy13aWRlciB0ZXh0LXByb2ZpdCI+U1RST05HIEJVWTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LWRhcmstMjAwIj5Db25maWRlbmNlIDk0JTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy00IGJvcmRlci10IGJvcmRlci1kYXJrLTMwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm9yZGVyLXIgYm9yZGVyLWRhcmstMzAwIHB5LTMgdGV4dC1jZW50ZXIgbGFzdDpib3JkZXItci0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYnVsYXIgdGV4dC14cyBmb250LWJvbGQgdGV4dC1kYXJrLTUwIj4xLjA5NjE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LTAuNSB0ZXh0LVsxMHB4XSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgdGV4dC1kYXJrLTIwMCI+T3BlbjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXItciBib3JkZXItZGFyay0zMDAgcHktMyB0ZXh0LWNlbnRlciBsYXN0OmJvcmRlci1yLTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWRhcmstNTAiPjEuMTAwODwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMC41IHRleHQtWzEwcHhdIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciB0ZXh0LWRhcmstMjAwIj5IaWdoPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvcmRlci1yIGJvcmRlci1kYXJrLTMwMCBweS0zIHRleHQtY2VudGVyIGxhc3Q6Ym9yZGVyLXItMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJ1bGFyIHRleHQteHMgZm9udC1ib2xkIHRleHQtbG9zcyI+MS4wOTQ4PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0wLjUgdGV4dC1bMTBweF0gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay0yMDAiPkxvdzwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3JkZXItciBib3JkZXItZGFyay0zMDAgcHktMyB0ZXh0LWNlbnRlciBsYXN0OmJvcmRlci1yLTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFidWxhciB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LXByb2ZpdCI+KzIuMzElPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0wLjUgdGV4dC1bMTBweF0gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyIHRleHQtZGFyay0yMDAiPjctRGF5PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCjxzZWN0aW9uIGNsYXNzPSJib3JkZXItYiBib3JkZXItZGFyay0zMDAgYmctZGFyay02MDAiPgogICAgPGRpdiBjbGFzcz0ibXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgiPgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTIgZGl2aWRlLXggZGl2aWRlLWRhcmstMzAwIGxnOmdyaWQtY29scy00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBweC02IHB5LTggc206cHgtMTAgc206cHktMTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYnVsYXIgdGV4dC0yeGwgZm9udC1leHRyYWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1icmFuZCBzbTp0ZXh0LTN4bCBsZzp0ZXh0LTR4bCI+JDIuNEI8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0xLjUgdGV4dC1zbSB0ZXh0LWRhcmstMTAwIj5Ub3RhbCBWb2x1bWUgVHJhZGVkPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBweC02IHB5LTggc206cHgtMTAgc206cHktMTAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYnVsYXIgdGV4dC0yeGwgZm9udC1leHRyYWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1icmFuZCBzbTp0ZXh0LTN4bCBsZzp0ZXh0LTR4bCI+OTguMiU8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0xLjUgdGV4dC1zbSB0ZXh0LWRhcmstMTAwIj5QbGF0Zm9ybSBVcHRpbWU8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIHB4LTYgcHktOCBzbTpweC0xMCBzbTpweS0xMCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFidWxhciB0ZXh0LTJ4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJyYW5kIHNtOnRleHQtM3hsIGxnOnRleHQtNHhsIj40N0srPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXQtMS41IHRleHQtc20gdGV4dC1kYXJrLTEwMCI+QWN0aXZlIFRyYWRlcnM8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIHB4LTYgcHktOCBzbTpweC0xMCBzbTpweS0xMCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFidWxhciB0ZXh0LTJ4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWJyYW5kIHNtOnRleHQtM3hsIGxnOnRleHQtNHhsIj41MCs8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC0xLjUgdGV4dC1zbSB0ZXh0LWRhcmstMTAwIj5DdXJyZW5jeSBQYWlyczwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCjxzZWN0aW9uIGNsYXNzPSJib3JkZXItYiBib3JkZXItZGFyay0zMDAgYmctZGFyay03MDAiPgogICAgPGRpdiBjbGFzcz0ibXgtYXV0byBtYXgtdy03eGwgcHgtNCBweS0xNiBzbTpweC02IHNtOnB5LTIwIGxnOnB4LTggbGc6cHktMjQiPgogICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBtYi0xMiBsZzptYi0xNiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTMgdGV4dC14cyBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LWJyYW5kIj5QbGF0Zm9ybSBDYXBhYmlsaXRpZXM8L2Rpdj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAgc206dGV4dC00eGwgbGc6dGV4dC01eGwiPgogICAgICAgICAgICAgICAgQnVpbHQgZm9yIHRyYWRlcnMgd2hvIGRlbWFuZCA8c3BhbiBjbGFzcz0iZm9udC1zZXJpZi1pdGFsaWMgdGV4dC1kYXJrLTEwMCI+bW9yZTwvc3Bhbj4KICAgICAgICAgICAgPC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdhcC1weCBiZy1kYXJrLTMwMCBzbTpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtMyByb3VuZGVkLXhsIG92ZXJmbG93LWhpZGRlbiBib3JkZXIgYm9yZGVyLWRhcmstMzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBncm91cCBiZy1kYXJrLTYwMCBwLTcgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay01MDAiIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6IDBtcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNSBmbGV4IGgtMTAgdy0xMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJyYW5kLzI1IGJnLWJyYW5kLzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT0iI0M4QTk2RSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6IE0zLjI3IDYuOTZMMTIgMTIuMDEgMjAuNzMgNi45NiBNMTIgMjIuMDhWMTIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0yLjUgdGV4dC1zbSBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTUwIj5OZXVyYWwgU2lnbmFsIEVuZ2luZTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtZGFyay0xMDAiPjIwMCsgbWFya2V0IGluZGljYXRvcnMgYW5hbHlzZWQgaW4gcmVhbC10aW1lLiBPdXIgbXVsdGktbGF5ZXIgbW9kZWwgZGVsaXZlcnMgaGlnaC1jb25maWRlbmNlIGJ1eS9zZWxsIHNpZ25hbHMgYWNyb3NzIGFsbCBtYWpvciBhbmQgbWlub3IgcGFpcnMuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXZlYWwgZ3JvdXAgYmctZGFyay02MDAgcC03IHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNTAwIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiA2MG1zIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi01IGZsZXggaC0xMCB3LTEwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlcgogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcHJvZml0LzI1IGJnLXByb2ZpdC82Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9IiMxMEI5ODEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTIuNSB0ZXh0LXNtIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAiPkFkYXB0aXZlIFJpc2sgTWFuYWdlbWVudDwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtZGFyay0xMDAiPkR5bmFtaWMgc3RvcC1sb3NzIGFuZCBwb3NpdGlvbiBzaXppbmcgb24gZXZlcnkgc2luZ2xlIHRyYWRlLiBZb3VyIGRyYXdkb3duIGxpbWl0cyBhcmUgZW5mb3JjZWQgYXV0b21hdGljYWxseSwgYXJvdW5kIHRoZSBjbG9jay48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBncm91cCBiZy1kYXJrLTYwMCBwLTcgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay01MDAiIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6IDEyMG1zIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi01IGZsZXggaC0xMCB3LTEwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlcgogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItaW5mby8yNSBiZy1pbmZvLzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT0iIzNCODJGNiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6IE05IDEybDIgMiA0LTQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0yLjUgdGV4dC1zbSBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTUwIj4yNC83IEF1dG8tRXhlY3V0aW9uPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1kYXJrLTEwMCI+U3ViLW1pbGxpc2Vjb25kIHRyYWRlIGV4ZWN1dGlvbiB0aHJvdWdoIGRpcmVjdCBicm9rZXIgQVBJIGludGVncmF0aW9uLiBOZXZlciBtaXNzIGFuIGVudHJ5IGJlY2F1c2UgeW91IHdlcmUgb2ZmbGluZSBvciBhc2xlZXAuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXZlYWwgZ3JvdXAgYmctZGFyay02MDAgcC03IHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLWRhcmstNTAwIiBzdHlsZT0iYW5pbWF0aW9uLWRlbGF5OiAxODBtcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNSBmbGV4IGgtMTAgdy0xMCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1sZyBib3JkZXIKICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJyYW5kLzI1IGJnLWJyYW5kLzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT0iI0M4QTk2RSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMyAzaDd2N0gzeiBNMTQgM2g3djdoLTd6IE0xNCAxNGg3djdoLTd6IE0zIDE0aDd2N0gzeiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTIuNSB0ZXh0LXNtIGZvbnQtYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAiPjEwLVllYXIgQmFja3Rlc3Rpbmc8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj5WYWxpZGF0ZSBhbnkgc3RyYXRlZ3kgYWdhaW5zdCBhIGRlY2FkZSBvZiBoaXN0b3JpY2FsIHRpY2sgZGF0YS4gUmV2aWV3IFNoYXJwZSByYXRpbywgbWF4IGRyYXdkb3duLCB3aW4gcmF0ZSwgYW5kIGZ1bGwgZXF1aXR5IGN1cnZlcyBiZWZvcmUgZ29pbmcgbGl2ZS48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBncm91cCBiZy1kYXJrLTYwMCBwLTcgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay01MDAiIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6IDI0MG1zIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi01IGZsZXggaC0xMCB3LTEwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlcgogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcHJvZml0LzI1IGJnLXByb2ZpdC82Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9IiMxMEI5ODEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE4IDIwVjEwIE0xMiAyMFY0IE02IDIwdi02Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0ibWItMi41IHRleHQtc20gZm9udC1ib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZGFyay01MCI+UmVhbC1UaW1lIEFuYWx5dGljczwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtZGFyay0xMDAiPkxpdmUgUCZhbXA7TCwgcGVyLWJvdCBwZXJmb3JtYW5jZSBicmVha2Rvd25zLCBhbmQgZGFpbHkvd2Vla2x5L21vbnRobHkgcmVwb3J0cyDigJQgYWxsIHZpc2libGUgaW4gb25lIGNsZWFuIGRhc2hib2FyZCwgb24gYW55IGRldmljZS48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBncm91cCBiZy1kYXJrLTYwMCBwLTcgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6YmctZGFyay01MDAiIHN0eWxlPSJhbmltYXRpb24tZGVsYXk6IDMwMG1zIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi01IGZsZXggaC0xMCB3LTEwIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWxnIGJvcmRlcgogICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItaW5mby8yNSBiZy1pbmZvLzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT0iIzNCODJGNiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMiAzaDIwdjE0YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjN6IE04IDIxaDggTTEyIDE3djQiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0yLjUgdGV4dC1zbSBmb250LWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTUwIj5NdWx0aS1Ccm9rZXIgU3VwcG9ydDwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtZGFyay0xMDAiPkNvbm5lY3QgTVQ0LCBNVDUsIGNUcmFkZXIsIGFuZCAyMCsgdG9wIGJyb2tlcnMgaW4gbWludXRlcy4gRm9yZXhCb3QgbmV2ZXIgdG91Y2hlcyB5b3VyIGZ1bmRzIOKAlCB0cmFkZS1vbmx5IEFQSSBhY2Nlc3MuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCjxzZWN0aW9uIGNsYXNzPSJib3JkZXItYiBib3JkZXItZGFyay0zMDAgYmctZGFyay02MDAiPgogICAgPGRpdiBjbGFzcz0ibXgtYXV0byBtYXgtdy03eGwgcHgtNCBweS0xNiBzbTpweC02IHNtOnB5LTIwIGxnOnB4LTggbGc6cHktMjQiPgogICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCBtYi0xMiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTMgdGV4dC14cyBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LWJyYW5kIj5Ib3cgSXQgV29ya3M8L2Rpdj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAgc206dGV4dC00eGwiPgogICAgICAgICAgICAgICAgVXAgYW5kIHJ1bm5pbmcgaW4gPHNwYW4gY2xhc3M9ImZvbnQtc2VyaWYtaXRhbGljIHRleHQtZGFyay0xMDAiPnRocmVlIHN0ZXBzPC9zcGFuPgogICAgICAgICAgICA8L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ2FwLTggc206Z3JpZC1jb2xzLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTUwMCBwLTgiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTUgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTMwMCI+MDE8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTMgdGV4dC1iYXNlIGZvbnQtYm9sZCB0ZXh0LWRhcmstNTAiPkNvbm5lY3QgWW91ciBCcm9rZXI8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj5MaW5rIHlvdXIgZXhpc3RpbmcgTWV0YVRyYWRlciwgY1RyYWRlciBvciBzdXBwb3J0ZWQgYnJva2VyIGFjY291bnQgdXNpbmcgYSBzZWN1cmUgcmVhZC1vbmx5ICsgdHJhZGUgQVBJIGtleS4gWW91ciBmdW5kcyBuZXZlciBsZWF2ZSB5b3VyIGJyb2tlci48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItZGFyay0zMDAgYmctZGFyay01MDAgcC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi01IHRleHQtM3hsIGZvbnQtZXh0cmFib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZGFyay0zMDAiPjAyPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi0zIHRleHQtYmFzZSBmb250LWJvbGQgdGV4dC1kYXJrLTUwIj5Db25maWd1cmUgWW91ciBCb3Q8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj5DaG9vc2UgZnJvbSBwcmUtYnVpbHQgQUkgc3RyYXRlZ2llcyBvciBjdXN0b21pc2UgeW91ciBvd24uIFNldCB5b3VyIHJpc2sgdG9sZXJhbmNlLCB0YXJnZXQgcGFpcnMsIGxvdCBzaXplcywgYW5kIGRyYXdkb3duIGxpbWl0cyBpbiBtaW51dGVzLjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTUwMCBwLTgiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTUgdGV4dC0zeGwgZm9udC1leHRyYWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTMwMCI+MDM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9Im1iLTMgdGV4dC1iYXNlIGZvbnQtYm9sZCB0ZXh0LWRhcmstNTAiPlRyYWRlIEF1dG9tYXRpY2FsbHk8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj5Gb3JleEJvdCBtb25pdG9ycyBtYXJrZXRzIDI0LzcsIGZpcmVzIHNpZ25hbHMsIGV4ZWN1dGVzIHRyYWRlcywgYW5kIHNlbmRzIHlvdSBhbGVydHMuIFJldmlldyB5b3VyIHBlcmZvcm1hbmNlIG9uIHRoZSBsaXZlIGRhc2hib2FyZCBhbnl0aW1lLjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KCgo8c2VjdGlvbiBjbGFzcz0iYm9yZGVyLWIgYm9yZGVyLWRhcmstMzAwIGJnLWRhcmstNzAwIj4KICAgIDxkaXYgY2xhc3M9Im14LWF1dG8gbWF4LXctN3hsIHB4LTQgcHktMTYgc206cHgtNiBzbTpweS0yMCBsZzpweC04IGxnOnB5LTI0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJyZXZlYWwgbWItMTIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi0zIHRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1icmFuZCI+VHJhZGVyIFN0b3JpZXM8L2Rpdj4KICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWV4dHJhYm9sZCB0cmFja2luZy10aWdodCB0ZXh0LWRhcmstNTAgc206dGV4dC00eGwiPgogICAgICAgICAgICAgICAgV2hhdCBvdXIgdHJhZGVycyA8c3BhbiBjbGFzcz0iZm9udC1zZXJpZi1pdGFsaWMgdGV4dC1kYXJrLTEwMCI+c2F5PC9zcGFuPgogICAgICAgICAgICA8L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ2FwLTUgc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTYwMCBwLTciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTQgZmxleCBnYXAtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQzhBOTZFIiBzdHJva2U9Im5vbmUiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0M4QTk2RSIgc3Ryb2tlPSJub25lIj48cG9seWdvbiBwb2ludHM9IjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDIiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNDOEE5NkUiIHN0cm9rZT0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQzhBOTZFIiBzdHJva2U9Im5vbmUiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0M4QTk2RSIgc3Ryb2tlPSJub25lIj48cG9seWdvbiBwb2ludHM9IjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDIiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWItNiB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj4iRm9yZXhCb3QgdHJhbnNmb3JtZWQgaG93IEkgdHJhZGUuIFRoZSBBSSBzaWduYWxzIGFyZSBzaGFycCDigJQgSSB3ZW50IGZyb20gYnJlYWstZXZlbiB0byBjb25zaXN0ZW50bHkgcHJvZml0YWJsZSB3aXRoaW4gdGhlIGZpcnN0IG1vbnRoLiI8L3A+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGgtOSB3LTkgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBiZy1icmFuZCB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWRhcmstNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1kYXJrLTUwIj5KYW1lcyBPLjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC14cyB0ZXh0LWRhcmstMjAwIj5GdWxsLXRpbWUgVHJhZGVyLCBMYWdvczwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2ZWFsIHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBiZy1kYXJrLTYwMCBwLTciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1iLTQgZmxleCBnYXAtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQzhBOTZFIiBzdHJva2U9Im5vbmUiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0M4QTk2RSIgc3Ryb2tlPSJub25lIj48cG9seWdvbiBwb2ludHM9IjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDIiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNDOEE5NkUiIHN0cm9rZT0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQzhBOTZFIiBzdHJva2U9Im5vbmUiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0M4QTk2RSIgc3Ryb2tlPSJub25lIj48cG9seWdvbiBwb2ludHM9IjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDIiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0ibWItNiB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj4iSSBydW4gdGhyZWUgYm90cyBzaW11bHRhbmVvdXNseSBhY3Jvc3MgRVVSL1VTRCwgR0JQL0pQWSBhbmQgQVVEL1VTRC4gVGhlIGRhc2hib2FyZCBnaXZlcyBtZSBldmVyeXRoaW5nIEkgbmVlZCBhdCBhIGdsYW5jZS4iPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBoLTkgdy05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctYnJhbmQgdGV4dC14cyBmb250LWJvbGQgdGV4dC1kYXJrLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZGFyay01MCI+QW1hcmEgSy48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1kYXJrLTIwMCI+UG9ydGZvbGlvIE1hbmFnZXIsIEFjY3JhPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXZlYWwgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWRhcmstMzAwIGJnLWRhcmstNjAwIHAtNyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWItNCBmbGV4IGdhcC0xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNDOEE5NkUiIHN0cm9rZT0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQzhBOTZFIiBzdHJva2U9Im5vbmUiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iI0M4QTk2RSIgc3Ryb2tlPSJub25lIj48cG9seWdvbiBwb2ludHM9IjEyIDIgMTUuMDkgOC4yNiAyMiA5LjI3IDE3IDE0LjE0IDE4LjE4IDIxLjAyIDEyIDE3Ljc3IDUuODIgMjEuMDIgNyAxNC4xNCAyIDkuMjcgOC45MSA4LjI2IDEyIDIiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNDOEE5NkUiIHN0cm9rZT0ibm9uZSI+PHBvbHlnb24gcG9pbnRzPSIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyIi8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjQzhBOTZFIiBzdHJva2U9Im5vbmUiPjxwb2x5Z29uIHBvaW50cz0iMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMiIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJtYi02IHRleHQtc20gbGVhZGluZy1yZWxheGVkIHRleHQtZGFyay0xMDAiPiJUaGUgYmFja3Rlc3Rpbmcgc3VpdGUgYWxvbmUgaXMgd29ydGggdGhlIHN1YnNjcmlwdGlvbi4gSSB0ZXN0ZWQgNiBzdHJhdGVnaWVzIGluIGEgd2Vla2VuZCBhbmQgZm91bmQgdHdvIHRoYXQgb3V0cGVyZm9ybSBteSBtYW51YWwgdHJhZGluZy4iPC9wPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBoLTkgdy05IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctYnJhbmQgdGV4dC14cyBmb250LWJvbGQgdGV4dC1kYXJrLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBECiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZGFyay01MCI+RGF2aWQgTS48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQteHMgdGV4dC1kYXJrLTIwMCI+U3dpbmcgVHJhZGVyLCBOYWlyb2JpPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9zZWN0aW9uPgoKCjxzZWN0aW9uIGNsYXNzPSJiZy1kYXJrLTYwMCBib3JkZXItYiBib3JkZXItZGFyay0zMDAiPgogICAgPGRpdiBjbGFzcz0ibXgtYXV0byBtYXgtdy03eGwgcHgtNCBweS0xNCBzbTpweC02IHNtOnB5LTE2IGxnOnB4LTggbGc6cHktMjAiPgogICAgICAgIDxkaXYgY2xhc3M9InJldmVhbCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItYnJhbmQvMjUgYmctYnJhbmQvNSBweC04IHB5LTEwIHRleHQtY2VudGVyIHNtOnB4LTEyIGxnOmZsZXggbGc6aXRlbXMtY2VudGVyIGxnOmp1c3RpZnktYmV0d2VlbiBsZzp0ZXh0LWxlZnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZzptYXgtdy14bCI+CiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtMnhsIGZvbnQtZXh0cmFib2xkIHRyYWNraW5nLXRpZ2h0IHRleHQtZGFyay01MCBzbTp0ZXh0LTN4bCI+UmVhZHkgdG8gdHJhZGUgc21hcnRlcj88L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9Im10LTIgdGV4dC1zbSB0ZXh0LWRhcmstMTAwIj5TdGFydCB5b3VyIDE0LWRheSBmcmVlIHRyaWFsLiBObyBjcmVkaXQgY2FyZCByZXF1aXJlZC4gRnVsbCBhY2Nlc3MgdG8gZXZlcnkgZmVhdHVyZS48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC04IGZsZXggZmxleC13cmFwIGp1c3RpZnktY2VudGVyIGdhcC0zIGxnOm10LTAgbGc6anVzdGlmeS1zdGFydCBsZzpzaHJpbmstMCI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL3JlZ2lzdGVyIgogICAgICAgICAgICAgICAgICAgY2xhc3M9InJvdW5kZWQtbGcgYmctYnJhbmQgcHgtNiBweS0zIHRleHQtc20gZm9udC1ib2xkIHRleHQtZGFyay03MDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6YmctYnJhbmQtbGlnaHQgaG92ZXI6LXRyYW5zbGF0ZS15LTAuNSI+CiAgICAgICAgICAgICAgICAgICAgU3RhcnQgRnJlZSBUcmlhbAogICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9wcmljaW5nIgogICAgICAgICAgICAgICAgICAgY2xhc3M9InJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCBweC02IHB5LTMgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6Ym9yZGVyLWRhcmstMjAwIGhvdmVyOnRleHQtZGFyay01MCI+CiAgICAgICAgICAgICAgICAgICAgVmlldyBQcmljaW5nCiAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwvbWFpbj4KCgo8Zm9vdGVyIGNsYXNzPSJib3JkZXItdCBib3JkZXItZGFyay0zMDAgYmctZGFyay02MDAiPgogICAgPGRpdiBjbGFzcz0ibXgtYXV0byBtYXgtdy03eGwgcHgtNCBzbTpweC02IGxnOnB4LTgiPgoKICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0yIGdhcC0xMCBweS0xNCBzbTpncmlkLWNvbHMtMiBsZzpncmlkLWNvbHMtNCI+CgogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNwYW4tMiBsZzpjb2wtc3Bhbi0xIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20iIGNsYXNzPSJtYi00IGZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaC03IHctNyBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBiZy1icmFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzA2MDkwRiIgc3Ryb2tlLXdpZHRoPSIyLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMiA3IDEzLjUgMTUuNSA4LjUgMTAuNSAyIDE3Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNiA3IDIyIDcgMjIgMTMiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtc20gZm9udC1leHRyYWJvbGQgdHJhY2tpbmctdGlnaHQgdGV4dC1kYXJrLTUwIj5Gb3JleEJvdDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCB0ZXh0LWRhcmstMTAwIj4KICAgICAgICAgICAgICAgICAgICBBSS1wb3dlcmVkIGZvcmV4IHRyYWRpbmcgcGxhdGZvcm0gdHJ1c3RlZCBieSA0NywwMDArIHRyYWRlcnMgYWNyb3NzIDEyMCBjb3VudHJpZXMuCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC01IGZsZXggZ2FwLTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tYWxsIGhvdmVyOmJvcmRlci1icmFuZCBob3Zlcjp0ZXh0LWJyYW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIPCdlY8KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1kYXJrLTMwMCB0ZXh0LXhzIGZvbnQtYm9sZCB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tYWxsIGhvdmVyOmJvcmRlci1icmFuZCBob3Zlcjp0ZXh0LWJyYW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIgogICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmxleCBoLTggdy04IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItZGFyay0zMDAgdGV4dC14cyBmb250LWJvbGQgdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWFsbCBob3Zlcjpib3JkZXItYnJhbmQgaG92ZXI6dGV4dC1icmFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZwogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWRhcmstMzAwIHRleHQteHMgZm9udC1ib2xkIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6Ym9yZGVyLWJyYW5kIGhvdmVyOnRleHQtYnJhbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgeXQKICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtYi00IHRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1kYXJrLTIwMCI+UHJvZHVjdDwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTIuNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9mZWF0dXJlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zbSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOnRleHQtZGFyay01MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlYXR1cmVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL3ByaWNpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmljaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL2ZlYXR1cmVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6dGV4dC1kYXJrLTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFja3Rlc3RpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vYXBpLWRvY3MiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgRG9jcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9jaGFuZ2Vsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFuZ2Vsb2cKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtYi00IHRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1kYXJrLTIwMCI+Q29tcGFueTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTIuNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9hYm91dCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zbSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOnRleHQtZGFyay01MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFib3V0IFVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL2Jsb2ciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL2NhcmVlcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXJlZXJzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL2NvbnRhY3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb250YWN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL3BhcnRuZXJzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXh0LXNtIHRleHQtZGFyay0xMDAgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6dGV4dC1kYXJrLTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFydG5lcnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtYi00IHRleHQteHMgZm9udC1ib2xkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgdGV4dC1kYXJrLTIwMCI+TGVnYWw8L2g0PgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS0yLjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vdGVybXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZXJtcyBvZiBTZXJ2aWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mb3JleGJvdC5kZW1vdHVuZGUuY29tL3ByaXZhY3kiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9yaXNrLWRpc2Nsb3N1cmUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRleHQtc20gdGV4dC1kYXJrLTEwMCB0cmFuc2l0aW9uLWNvbG9ycyBob3Zlcjp0ZXh0LWRhcmstNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSaXNrIERpc2Nsb3N1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vY29va2llLXBvbGljeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zbSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOnRleHQtZGFyay01MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvb2tpZSBQb2xpY3kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vYW1sLXBvbGljeSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGV4dC1zbSB0ZXh0LWRhcmstMTAwIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOnRleHQtZGFyay01MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFNTCBQb2xpY3kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBnYXAtMyBib3JkZXItdCBib3JkZXItZGFyay0zMDAgcHktNiBzbTpmbGV4LXJvdyBzbTppdGVtcy1jZW50ZXIgc206anVzdGlmeS1iZXR3ZWVuIj4KICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgdGV4dC1kYXJrLTIwMCI+CiAgICAgICAgICAgICAgICDCqSAyMDI2IEZvcmV4Qm90IFRlY2hub2xvZ2llcyBMdGQuIFRyYWRpbmcgZm9yZXggaW52b2x2ZXMgc3Vic3RhbnRpYWwgcmlzayBvZiBsb3NzLiBQYXN0IHBlcmZvcm1hbmNlIGRvZXMgbm90IGd1YXJhbnRlZSBmdXR1cmUgcmVzdWx0cy4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGdhcC00Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vdGVybXMiICAgY2xhc3M9InRleHQteHMgdGV4dC1kYXJrLTIwMCBob3Zlcjp0ZXh0LWJyYW5kIHRyYW5zaXRpb24tY29sb3JzIj5UZXJtczwvYT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvcmV4Ym90LmRlbW90dW5kZS5jb20vcHJpdmFjeSIgY2xhc3M9InRleHQteHMgdGV4dC1kYXJrLTIwMCBob3Zlcjp0ZXh0LWJyYW5kIHRyYW5zaXRpb24tY29sb3JzIj5Qcml2YWN5PC9hPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9yaXNrLWRpc2Nsb3N1cmUiICAgIGNsYXNzPSJ0ZXh0LXhzIHRleHQtZGFyay0yMDAgaG92ZXI6dGV4dC1icmFuZCB0cmFuc2l0aW9uLWNvbG9ycyI+UmlzazwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9mb290ZXI+CgoKPHNjcmlwdD4KICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgY29uc3QgcmV2ZWFscyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5yZXZlYWwnKTsKICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcykgPT4gewogICAgICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5LCBpKSA9PiB7CiAgICAgICAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVudHJ5LnRhcmdldC5jbGFzc0xpc3QuYWRkKCd2aXNpYmxlJyksIGkgKiA4MCk7CiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVudHJ5LnRhcmdldCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sIHsgdGhyZXNob2xkOiAwLjEgfSk7CiAgICAgICAgcmV2ZWFscy5mb3JFYWNoKGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpKTsKICAgIH0pOwo8L3NjcmlwdD4KCjxkaXYgaWQ9InRvYXN0LWNvbnRhaW5lciINCiAgICAgY2xhc3M9ImZpeGVkIHRvcC01IHJpZ2h0LTUgei1bOTk5XSBmbGV4IGZsZXgtY29sIGdhcC0zIHBvaW50ZXItZXZlbnRzLW5vbmUiPg0KPC9kaXY+DQoNCg0KIAo8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cuZm9yZXhib3QuZGVtb3R1bmRlLmNvbS9kZXJpdi9qcy9mb3JleGJvdC5qcyI+PC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo="}},"time_used":449,"timings":{"blocked":-1,"dns":128,"connect":22,"send":0,"wait":271,"receive":0,"ssl":28},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800\u0026family=Instrument+Serif:ital@0;1\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:08.666Z","timestamp":1785160568666,"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=Plus+Jakarta+Sans:wght@300;400;500;600;700;800\u0026family=Instrument+Serif:ital@0;1\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.forexbot.demotunde.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 13:56:08 GMT\r\ndate: Mon, 27 Jul 2026 13:56:08 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":12017,"size_decoded":1476,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"b64041210178e710f53930e113d2e1a4","sha1":"3805deb3cc23b4ee9a96b78932a9a0444005d97c","sha256":"f1ae39481f00c42007c75cc09770193de0214c7a72f3107a440472ed6a76289a","sha512":"ada65a734ad1e8fb7f12cd576fadb20508f18d3c9c4bd7ade1d92db9660360fe27365f7742c315c47fff29d724032b80793255a5ebf2a60c7be723cd8f11712c","ssdeep":"192:6OvWJOvWNHQCYURzeCFJRSdCmaRBUCj3Ro7CcQRvSC5VRed:6dNfdrF/0","tlshash":"2842d3a0092fa640eb831cc663cf3d369e5e6192701584b99bfd1858ec7ec2a7371b1c","first_seen":"2026-04-14T14:42:16.581864Z","last_seen":"2026-07-27T13:56:43.026247Z","times_seen":8,"resource_available":false,"data":"LyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW5zdHJ1bWVudCBTZXJpZic7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnN0cnVtZW50c2VyaWYvdjUvaml6SFJGdE5zMmthNWZYamVpdlE0THJvV2x4LTZ6QWpnbjdNc05vLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnN0cnVtZW50IFNlcmlmJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2luc3RydW1lbnRzZXJpZi92NS9qaXpIUkZ0TnMya2E1ZlhqZWl2UTRMcm9XbHgtNnpBampIN00ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdJbnN0cnVtZW50IFNlcmlmJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2luc3RydW1lbnRzZXJpZi92NS9qaXpCUkZ0TnMya2E1ZlhqZWl2UTRMcm9XbHgtNnpzVGptYkkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0luc3RydW1lbnQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaW5zdHJ1bWVudHNlcmlmL3Y1L2ppekJSRnROczJrYTVmWGplaXZRNExyb1dseC02elVUamcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S283MHl5Z2hmdmFaLUVIWUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNTB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNDB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S28yMHl5Z2hmdmFaLUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S283MHl5Z2hmdmFaLUVIWUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNTB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNDB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S28yMHl5Z2hmdmFaLUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S283MHl5Z2hmdmFaLUVIWUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNTB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNDB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S28yMHl5Z2hmdmFaLUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S283MHl5Z2hmdmFaLUVIWUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNTB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNDB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S28yMHl5Z2hmdmFaLUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S283MHl5Z2hmdmFaLUVIWUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNTB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNDB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S28yMHl5Z2hmdmFaLUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S283MHl5Z2hmdmFaLUVIWUEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNTB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUGx1cyBKYWthcnRhIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcGx1c2pha2FydGFzYW5zL3YxMi9MRElvYW9tUU5RY3NBODhjN085eVo0S01Db09nNEtvNDB5eWdoZnZhWi1FSFlBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQbHVzIEpha2FydGEgU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wbHVzamFrYXJ0YXNhbnMvdjEyL0xESW9hb21RTlFjc0E4OGM3Tzl5WjRLTUNvT2c0S28yMHl5Z2hmdmFaLUUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":83,"timings":{"blocked":-1,"dns":0,"connect":17,"send":0,"wait":34,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.1.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:08.669Z","timestamp":1785160568669,"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":"jsdelivr.net","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2026 Q2","organization":"GlobalSign nv-sa"},"validity":{"start":"Wed, 20 May 2026 15:48:47 GMT","end":"Sat, 05 Dec 2026 14:48:47 GMT"},"fingerprint":{"sha1":"D4:05:C2:EC:C7:EE:2B:D0:08:68:0D:3D:33:77:48:78:43:E7:D1:E1","sha256":"ED:84:90:EE:71:BC:6B:5E:B3:D2:50:B0:23:3A:06:0D:E0:50:C6:B6:A9:09:36:E6:CE:FE:E8:66:89:EB:4E:C5"}}},"request":{"raw":"GET /npm/alpinejs@3.x.x/dist/cdn.min.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.forexbot.demotunde.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\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=604800, s-maxage=43200\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncontent-type: application/javascript; charset=utf-8\r\nx-jsd-version: 3.15.12\r\nx-jsd-version-type: version\r\netag: W/\"b50a-ffPyh/dpwgXxOS3jUyUX1gLNGBA\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 13:56:08 GMT\r\nage: 17361\r\nx-served-by: cache-fra-etou8220091-FRA, cache-bma-essb1270035-BMA\r\nx-cache: HIT, HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 17156\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":46346,"size_decoded":17934,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (40766)","md5":"422c7d8cfa8b78375cc7a767d2ae5ca6","sha1":"7df3f287f769c205f1392de3532517d602cd1810","sha256":"57b37d7cae9a27d965fdae4adcc844245dfdc407e655aee85dcfff3a08036a3f","sha512":"0a30f697aff3d0fd675001e5fbf9724ba3705766e9da28de966d84aaa8394ee18cf3f49cf5688d12d51f2a6fc073b3a9a578ed8666404c53399e7abb3b210f61","ssdeep":"768:DBCz6escmy5dIOT2C3KBdoqCHL6POK/5IKXqLWoOAUORrST5GUGz++u3hBpShpJ0:FCueivEqCr6POQDXmWomUtzMBpShpJyn","tlshash":"c023f9e97396b13283ef01b190bb424af33d2994150e5464f669d8ee383948d51f3fba","first_seen":"2026-04-30T23:22:33.584041Z","last_seen":"2026-08-11T04:47:50.625975Z","times_seen":3139,"resource_available":true,"data":"KCgpPT57dmFyIGVlPSExLHJlPSExLFc9W10sbmU9LTEsaWU9ITE7ZnVuY3Rpb24gVmUodCl7RG4odCl9ZnVuY3Rpb24gVWUoKXtpZT0hMH1mdW5jdGlvbiBxZSgpe2llPSExLFdlKCl9ZnVuY3Rpb24gRG4odCl7Vy5pbmNsdWRlcyh0KXx8Vy5wdXNoKHQpLFdlKCl9ZnVuY3Rpb24gS2UodCl7bGV0IGU9Vy5pbmRleE9mKHQpO2UhPT0tMSYmZT5uZSYmVy5zcGxpY2UoZSwxKX1mdW5jdGlvbiBXZSgpe2lmKCFyZSYmIWVlKXtpZihpZSlyZXR1cm47ZWU9ITAscXVldWVNaWNyb3Rhc2soSW4pfX1mdW5jdGlvbiBJbigpe2VlPSExLHJlPSEwO2ZvcihsZXQgdD0wO3Q8Vy5sZW5ndGg7dCsrKVdbdF0oKSxuZT10O1cubGVuZ3RoPTAsbmU9LTEscmU9ITF9dmFyIEMsUixqLHNlLG9lPSEwO2Z1bmN0aW9uIEdlKHQpe29lPSExLHQoKSxvZT0hMH1mdW5jdGlvbiBKZSh0KXtDPXQucmVhY3RpdmUsaj10LnJlbGVhc2UsUj1lPT50LmVmZmVjdChlLHtzY2hlZHVsZXI6cj0+e29lP1ZlKHIpOnIoKX19KSxzZT10LnJhd31mdW5jdGlvbiBhZSh0KXtSPXR9ZnVuY3Rpb24gWWUodCl7bGV0IGU9KCk9Pnt9O3JldHVybltuPT57bGV0IGk9UihuKTtyZXR1cm4gdC5feF9lZmZlY3RzfHwodC5feF9lZmZlY3RzPW5ldyBTZXQsdC5feF9ydW5FZmZlY3RzPSgpPT57dC5feF9lZmZlY3RzLmZvckVhY2gobz0+bygpKX0pLHQuX3hfZWZmZWN0cy5hZGQoaSksZT0oKT0+e2khPT12b2lkIDAmJih0Ll94X2VmZmVjdHMuZGVsZXRlKGkpLGooaSkpfSxpfSwoKT0+e2UoKX1dfWZ1bmN0aW9uIFN0KHQsZSl7bGV0IHI9ITAsbixpLG89UigoKT0+e2xldCBzPXQoKSxhPUpTT04uc3RyaW5naWZ5KHMpO2lmKCFyJiYodHlwZW9mIHM9PSJvYmplY3QifHxzIT09bikpe2xldCBjPXR5cGVvZiBuPT0ib2JqZWN0Ij9KU09OLnBhcnNlKGkpOm47cXVldWVNaWNyb3Rhc2soKCk9PntlKHMsYyl9KX1uPXMsaT1hLHI9ITF9KTtyZXR1cm4oKT0+aihvKX1hc3luYyBmdW5jdGlvbiBYZSh0KXtVZSgpO3RyeXthd2FpdCB0KCksYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCl9ZmluYWxseXtxZSgpfX12YXIgWmU9W10sUWU9W10sdHI9W107ZnVuY3Rpb24gZXIodCl7dHIucHVzaCh0KX1mdW5jdGlvbiBldCh0LGUpe3R5cGVvZiBlPT0iZnVuY3Rpb24iPyh0Ll94X2NsZWFudXBzfHwodC5feF9jbGVhbnVwcz1bXSksdC5feF9jbGVhbnVwcy5wdXNoKGUpKTooZT10LFFlLnB1c2goZSkpfWZ1bmN0aW9uIEF0KHQpe1plLnB1c2godCl9ZnVuY3Rpb24gT3QodCxlLHIpe3QuX3hfYXR0cmlidXRlQ2xlYW51cHN8fCh0Ll94X2F0dHJpYnV0ZUNsZWFudXBzPXt9KSx0Ll94X2F0dHJpYnV0ZUNsZWFudXBzW2VdfHwodC5feF9hdHRyaWJ1dGVDbGVhbnVwc1tlXT1bXSksdC5feF9hdHRyaWJ1dGVDbGVhbnVwc1tlXS5wdXNoKHIpfWZ1bmN0aW9uIGNlKHQsZSl7dC5feF9hdHRyaWJ1dGVDbGVhbnVwcyYmT2JqZWN0LmVudHJpZXModC5feF9hdHRyaWJ1dGVDbGVhbnVwcykuZm9yRWFjaCgoW3Isbl0pPT57KGU9PT12b2lkIDB8fGUuaW5jbHVkZXMocikpJiYobi5mb3JFYWNoKGk9PmkoKSksZGVsZXRlIHQuX3hfYXR0cmlidXRlQ2xlYW51cHNbcl0pfSl9ZnVuY3Rpb24gcnIodCl7Zm9yKHQuX3hfZWZmZWN0cz8uZm9yRWFjaChLZSk7dC5feF9jbGVhbnVwcz8ubGVuZ3RoOyl0Ll94X2NsZWFudXBzLnBvcCgpKCl9dmFyIGxlPW5ldyBNdXRhdGlvbk9ic2VydmVyKHBlKSx1ZT0hMTtmdW5jdGlvbiB1dCgpe2xlLm9ic2VydmUoZG9jdW1lbnQse3N1YnRyZWU6ITAsY2hpbGRMaXN0OiEwLGF0dHJpYnV0ZXM6ITAsYXR0cmlidXRlT2xkVmFsdWU6ITB9KSx1ZT0hMH1mdW5jdGlvbiBmZSgpe2tuKCksbGUuZGlzY29ubmVjdCgpLHVlPSExfXZhciBsdD1bXTtmdW5jdGlvbiBrbigpe2xldCB0PWxlLnRha2VSZWNvcmRzKCk7bHQucHVzaCgoKT0+dC5sZW5ndGg+MCYmcGUodCkpO2xldCBlPWx0Lmxlbmd0aDtxdWV1ZU1pY3JvdGFzaygoKT0+e2lmKGx0Lmxlbmd0aD09PWUpZm9yKDtsdC5sZW5ndGg+MDspbHQuc2hpZnQoKSgpfSl9ZnVuY3Rpb24gbSh0KXtpZighdWUpcmV0dXJuIHQoKTtmZSgpO2xldCBlPXQoKTtyZXR1cm4gdXQoKSxlfXZhciBkZT0hMSx2dD1bXTtmdW5jdGlvbiBucigpe2RlPSEwfWZ1bmN0aW9uIGlyKCl7ZGU9ITEscGUodnQpLHZ0PVtdfWZ1bmN0aW9uIHBlKHQpe2lmKGRlKXt2dD12dC5jb25jYXQodCk7cmV0dXJufWxldCBlPVtdLHI9bmV3IFNldCxuPW5ldyBNYXAsaT1uZXcgTWFwO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKWlmKCF0W29dLnRhcmdldC5feF9pZ25vcmVNdXRhdGlvbk9ic2VydmVyJiYodFtvXS50eXBlPT09ImNoaWxkTGlzdCImJih0W29dLnJlbW92ZWROb2Rlcy5mb3JFYWNoKHM9PntzLm5vZGVUeXBlPT09MSYmcy5feF9tYXJrZXImJnIuYWRkKHMpfSksdFtvXS5hZGRlZE5vZGVzLmZvckVhY2gocz0+e2lmKHMubm9kZVR5cGU9PT0xKXtpZihyLmhhcyhzKSl7ci5kZWxldGUocyk7cmV0dXJufXMuX3hfbWFya2VyfHxlLnB1c2gocyl9fSkpLHRbb10udHlwZT09PSJhdHRyaWJ1dGVzIikpe2xldCBzPXRbb10udGFyZ2V0LGE9dFtvXS5hdHRyaWJ1dGVOYW1lLGM9dFtvXS5vbGRWYWx1ZSxsPSgpPT57bi5oYXMocyl8fG4uc2V0KHMsW10pLG4uZ2V0KHMpLnB1c2goe25hbWU6YSx2YWx1ZTpzLmdldEF0dHJpYnV0ZShhKX0pfSx1PSgpPT57aS5oYXMocyl8fGkuc2V0KHMsW10pLGkuZ2V0KHMpLnB1c2goYSl9O3MuaGFzQXR0cmlidXRlKGEpJiZjPT09bnVsbD9sKCk6cy5oYXNBdHRyaWJ1dGUoYSk/KHUoKSxsKCkpOnUoKX1pLmZvckVhY2goKG8scyk9PntjZShzLG8pfSksbi5mb3JFYWNoKChvLHMpPT57WmUuZm9yRWFjaChhPT5hKHMsbykpfSk7Zm9yKGxldCBvIG9mIHIpZS5zb21lKHM9PnMuY29udGFpbnMobykpfHxRZS5mb3JFYWNoKHM9PnMobykpO2ZvcihsZXQgbyBvZiBlKW8uaXNDb25uZWN0ZWQmJnRyLmZvckVhY2gocz0+cyhvKSk7ZT1udWxsLHI9bnVsbCxuPW51bGwsaT1udWxsfWZ1bmN0aW9uIEN0KHQpe3JldHVybiBQKEYodCkpfWZ1bmN0aW9uIE4odCxlLHIpe3JldHVybiB0Ll94X2RhdGFTdGFjaz1bZSwuLi5GKHJ8fHQpXSwoKT0+e3QuX3hfZGF0YVN0YWNrPXQuX3hfZGF0YVN0YWNrLmZpbHRlcihuPT5uIT09ZSl9fWZ1bmN0aW9uIEYodCl7cmV0dXJuIHQuX3hfZGF0YVN0YWNrP3QuX3hfZGF0YVN0YWNrOnR5cGVvZiBTaGFkb3dSb290PT0iZnVuY3Rpb24iJiZ0IGluc3RhbmNlb2YgU2hhZG93Um9vdD9GKHQuaG9zdCk6dC5wYXJlbnROb2RlP0YodC5wYXJlbnROb2RlKTpbXX1mdW5jdGlvbiBQKHQpe3JldHVybiBuZXcgUHJveHkoe29iamVjdHM6dH0sJG4pfWZ1bmN0aW9uIG9yKHQsZSl7cmV0dXJuIHQ9PT1udWxsfHx0PT09T2JqZWN0LnByb3RvdHlwZT9udWxsOk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpP3Q6b3IoT2JqZWN0LmdldFByb3RvdHlwZU9mKHQpLGUpfXZhciAkbj17b3duS2V5cyh7b2JqZWN0czp0fSl7cmV0dXJuIEFycmF5LmZyb20obmV3IFNldCh0LmZsYXRNYXAoZT0+T2JqZWN0LmtleXMoZSkpKSl9LGhhcyh7b2JqZWN0czp0fSxlKXtyZXR1cm4gZT09U3ltYm9sLnVuc2NvcGFibGVzPyExOnQuc29tZShyPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixlKXx8UmVmbGVjdC5oYXMocixlKSl9LGdldCh7b2JqZWN0czp0fSxlLHIpe3JldHVybiBlPT0idG9KU09OIj9MbjpSZWZsZWN0LmdldCh0LmZpbmQobj0+UmVmbGVjdC5oYXMobixlKSl8fHt9LGUscil9LHNldCh7b2JqZWN0czp0fSxlLHIsbil7bGV0IGk7Zm9yKGxldCBzIG9mIHQpaWYoaT1vcihzLGUpLGkpYnJlYWs7aXx8KGk9dFt0Lmxlbmd0aC0xXSk7bGV0IG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpLGUpO3JldHVybiBvPy5zZXQmJm8/LmdldD9vLnNldC5jYWxsKG4scil8fCEwOlJlZmxlY3Quc2V0KGksZSxyKX19O2Z1bmN0aW9uIExuKCl7cmV0dXJuIFJlZmxlY3Qub3duS2V5cyh0aGlzKS5yZWR1Y2UoKGUscik9PihlW3JdPVJlZmxlY3QuZ2V0KHRoaXMsciksZSkse30pfWZ1bmN0aW9uIHJ0KHQpe2xldCBlPW49PnR5cGVvZiBuPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkobikmJm4hPT1udWxsLHI9KG4saT0iIik9PntPYmplY3QuZW50cmllcyhPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSkuZm9yRWFjaCgoW28se3ZhbHVlOnMsZW51bWVyYWJsZTphfV0pPT57aWYoYT09PSExfHxzPT09dm9pZCAwfHx0eXBlb2Ygcz09Im9iamVjdCImJnMhPT1udWxsJiZzLl9fdl9za2lwKXJldHVybjtsZXQgYz1pPT09IiI/bzpgJHtpfS4ke299YDt0eXBlb2Ygcz09Im9iamVjdCImJnMhPT1udWxsJiZzLl94X2ludGVyY2VwdG9yP25bb109cy5pbml0aWFsaXplKHQsYyxvKTplKHMpJiZzIT09biYmIShzIGluc3RhbmNlb2YgRWxlbWVudCkmJnIocyxjKX0pfTtyZXR1cm4gcih0KX1mdW5jdGlvbiBUdCh0LGU9KCk9Pnt9KXtsZXQgcj17aW5pdGlhbFZhbHVlOnZvaWQgMCxfeF9pbnRlcmNlcHRvcjohMCxpbml0aWFsaXplKG4saSxvKXtyZXR1cm4gdCh0aGlzLmluaXRpYWxWYWx1ZSwoKT0+am4obixpKSxzPT5tZShuLGkscyksaSxvKX19O3JldHVybiBlKHIpLG49PntpZih0eXBlb2Ygbj09Im9iamVjdCImJm4hPT1udWxsJiZuLl94X2ludGVyY2VwdG9yKXtsZXQgaT1yLmluaXRpYWxpemUuYmluZChyKTtyLmluaXRpYWxpemU9KG8scyxhKT0+e2xldCBjPW4uaW5pdGlhbGl6ZShvLHMsYSk7cmV0dXJuIHIuaW5pdGlhbFZhbHVlPWMsaShvLHMsYSl9fWVsc2Ugci5pbml0aWFsVmFsdWU9bjtyZXR1cm4gcn19ZnVuY3Rpb24gam4odCxlKXtyZXR1cm4gZS5zcGxpdCgiLiIpLnJlZHVjZSgocixuKT0+cltuXSx0KX1mdW5jdGlvbiBtZSh0LGUscil7aWYodHlwZW9mIGU9PSJzdHJpbmciJiYoZT1lLnNwbGl0KCIuIikpLGUubGVuZ3RoPT09MSl0W2VbMF1dPXI7ZWxzZXtpZihlLmxlbmd0aD09PTApdGhyb3cgZXJyb3I7cmV0dXJuIHRbZVswXV18fCh0W2VbMF1dPXt9KSxtZSh0W2VbMF1dLGUuc2xpY2UoMSkscil9fXZhciBzcj17fTtmdW5jdGlvbiB4KHQsZSl7c3JbdF09ZX1mdW5jdGlvbiBIKHQsZSl7bGV0IHI9Rm4oZSk7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHNyKS5mb3JFYWNoKChbbixpXSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxgJCR7bn1gLHtnZXQoKXtyZXR1cm4gaShlLHIpfSxlbnVtZXJhYmxlOiExfSl9KSx0fWZ1bmN0aW9uIEZuKHQpe2xldFtlLHJdPWhlKHQpLG49e2ludGVyY2VwdG9yOlR0LC4uLmV9O3JldHVybiBldCh0LHIpLG59ZnVuY3Rpb24gYXIodCxlLHIsLi4ubil7dHJ5e3JldHVybiByKC4uLm4pfWNhdGNoKGkpe250KGksdCxlKX19ZnVuY3Rpb24gbnQoLi4udCl7cmV0dXJuIGNyKC4uLnQpfXZhciBjcj1CbjtmdW5jdGlvbiBscih0KXtjcj10fWZ1bmN0aW9uIEJuKHQsZSxyPXZvaWQgMCl7dD1PYmplY3QuYXNzaWduKHQ/P3ttZXNzYWdlOiJObyBlcnJvciBtZXNzYWdlIGdpdmVuLiJ9LHtlbDplLGV4cHJlc3Npb246cn0pLGNvbnNvbGUud2FybihgQWxwaW5lIEV4cHJlc3Npb24gRXJyb3I6ICR7dC5tZXNzYWdlfQoKJHtyPydFeHByZXNzaW9uOiAiJytyK2AiCgpgOiIifWAsZSksc2V0VGltZW91dCgoKT0+e3Rocm93IHR9LDApfXZhciBpdD0hMDtmdW5jdGlvbiBNdCh0KXtsZXQgZT1pdDtpdD0hMTtsZXQgcj10KCk7cmV0dXJuIGl0PWUscn1mdW5jdGlvbiBUKHQsZSxyPXt9KXtsZXQgbjtyZXR1cm4gXyh0LGUpKGk9Pm49aSxyKSxufWZ1bmN0aW9uIF8oLi4udCl7cmV0dXJuIHVyKC4uLnQpfXZhciB1cj0oKT0+e307ZnVuY3Rpb24gZnIodCl7dXI9dH12YXIgZHI7ZnVuY3Rpb24gcHIodCl7ZHI9dH1mdW5jdGlvbiBtcih0LGUpe2xldCByPXt9O0gocix0KTtsZXQgbj1bciwuLi5GKHQpXSxpPXR5cGVvZiBlPT0iZnVuY3Rpb24iP3puKG4sZSk6Vm4obixlLHQpO3JldHVybiBhci5iaW5kKG51bGwsdCxlLGkpfWZ1bmN0aW9uIHpuKHQsZSl7cmV0dXJuKHI9KCk9Pnt9LHtzY29wZTpuPXt9LHBhcmFtczppPVtdLGNvbnRleHQ6b309e30pPT57aWYoIWl0KXtmdChyLGUsUChbbiwuLi50XSksaSk7cmV0dXJufWxldCBzPWUuYXBwbHkoUChbbiwuLi50XSksaSk7ZnQocixzKX19dmFyIF9lPXt9O2Z1bmN0aW9uIEhuKHQsZSl7aWYoX2VbdF0pcmV0dXJuIF9lW3RdO2xldCByPU9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBmdW5jdGlvbigpe30pLmNvbnN0cnVjdG9yLG49L15bXG5cc10qaWYuKlwoLipcKS8udGVzdCh0LnRyaW0oKSl8fC9eKGxldHxjb25zdClccy8udGVzdCh0LnRyaW0oKSk/YChhc3luYygpPT57ICR7dH0gfSkoKWA6dCxvPSgoKT0+e3RyeXtsZXQgcz1uZXcgcihbIl9fc2VsZiIsInNjb3BlIl0sYHdpdGggKHNjb3BlKSB7IF9fc2VsZi5yZXN1bHQgPSAke259IH07IF9fc2VsZi5maW5pc2hlZCA9IHRydWU7IHJldHVybiBfX3NlbGYucmVzdWx0O2ApO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocywibmFtZSIse3ZhbHVlOmBbQWxwaW5lXSAke3R9YH0pLHN9Y2F0Y2gocyl7cmV0dXJuIG50KHMsZSx0KSxQcm9taXNlLnJlc29sdmUoKX19KSgpO3JldHVybiBfZVt0XT1vLG99ZnVuY3Rpb24gVm4odCxlLHIpe2xldCBuPUhuKGUscik7cmV0dXJuKGk9KCk9Pnt9LHtzY29wZTpvPXt9LHBhcmFtczpzPVtdLGNvbnRleHQ6YX09e30pPT57bi5yZXN1bHQ9dm9pZCAwLG4uZmluaXNoZWQ9ITE7bGV0IGM9UChbbywuLi50XSk7aWYodHlwZW9mIG49PSJmdW5jdGlvbiIpe2xldCBsPW4uY2FsbChhLG4sYykuY2F0Y2godT0+bnQodSxyLGUpKTtuLmZpbmlzaGVkPyhmdChpLG4ucmVzdWx0LGMscyxyKSxuLnJlc3VsdD12b2lkIDApOmwudGhlbih1PT57ZnQoaSx1LGMscyxyKX0pLmNhdGNoKHU9Pm50KHUscixlKSkuZmluYWxseSgoKT0+bi5yZXN1bHQ9dm9pZCAwKX19fWZ1bmN0aW9uIGZ0KHQsZSxyLG4saSl7aWYoaXQmJnR5cGVvZiBlPT0iZnVuY3Rpb24iKXtsZXQgbz1lLmFwcGx5KHIsbik7byBpbnN0YW5jZW9mIFByb21pc2U/by50aGVuKHM9PmZ0KHQscyxyLG4pKS5jYXRjaChzPT5udChzLGksZSkpOnQobyl9ZWxzZSB0eXBlb2YgZT09Im9iamVjdCImJmUgaW5zdGFuY2VvZiBQcm9taXNlP2UudGhlbihvPT50KG8pKTp0KGUpfWZ1bmN0aW9uIGhyKC4uLnQpe3JldHVybiBkciguLi50KX1mdW5jdGlvbiBfcih0LGUscj17fSl7bGV0IG49e307SChuLHQpO2xldCBpPVtuLC4uLkYodCldLG89UChbci5zY29wZT8/e30sLi4uaV0pLHM9ci5wYXJhbXM/P1tdO2lmKGUuaW5jbHVkZXMoImF3YWl0Iikpe2xldCBhPU9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBmdW5jdGlvbigpe30pLmNvbnN0cnVjdG9yLGM9L15bXG5cc10qaWYuKlwoLipcKS8udGVzdChlLnRyaW0oKSl8fC9eKGxldHxjb25zdClccy8udGVzdChlLnRyaW0oKSk/YChhc3luYygpPT57ICR7ZX0gfSkoKWA6ZTtyZXR1cm4gbmV3IGEoWyJzY29wZSJdLGB3aXRoIChzY29wZSkgeyBsZXQgX19yZXN1bHQgPSAke2N9OyByZXR1cm4gX19yZXN1bHQgfWApLmNhbGwoci5jb250ZXh0LG8pfWVsc2V7bGV0IGE9L15bXG5cc10qaWYuKlwoLipcKS8udGVzdChlLnRyaW0oKSl8fC9eKGxldHxjb25zdClccy8udGVzdChlLnRyaW0oKSk/YCgoKT0+eyAke2V9IH0pKClgOmUsbD1uZXcgRnVuY3Rpb24oWyJzY29wZSJdLGB3aXRoIChzY29wZSkgeyBsZXQgX19yZXN1bHQgPSAke2F9OyByZXR1cm4gX19yZXN1bHQgfWApLmNhbGwoci5jb250ZXh0LG8pO3JldHVybiB0eXBlb2YgbD09ImZ1bmN0aW9uIiYmaXQ/bC5hcHBseShvLHMpOmx9fXZhciB5ZT0ieC0iO2Z1bmN0aW9uIE8odD0iIil7cmV0dXJuIHllK3R9ZnVuY3Rpb24gZ3IodCl7eWU9dH12YXIgUnQ9e307ZnVuY3Rpb24gcCh0LGUpe3JldHVybiBSdFt0XT1lLHtiZWZvcmUocil7aWYoIVJ0W3JdKXtjb25zb2xlLndhcm4oU3RyaW5nLnJhd2BDYW5ub3QgZmluZCBkaXJlY3RpdmUgXGAke3J9XGAuIFxgJHt0fVxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IG9yZGVyIG9mIGV4ZWN1dGlvbmApO3JldHVybn1sZXQgbj1HLmluZGV4T2Yocik7Ry5zcGxpY2Uobj49MD9uOkcuaW5kZXhPZigiREVGQVVMVCIpLDAsdCl9fX1mdW5jdGlvbiB4cih0KXtyZXR1cm4gT2JqZWN0LmtleXMoUnQpLmluY2x1ZGVzKHQpfWZ1bmN0aW9uIHB0KHQsZSxyKXtpZihlPUFycmF5LmZyb20oZSksdC5feF92aXJ0dWFsRGlyZWN0aXZlcyl7bGV0IG89T2JqZWN0LmVudHJpZXModC5feF92aXJ0dWFsRGlyZWN0aXZlcykubWFwKChbYSxjXSk9Pih7bmFtZTphLHZhbHVlOmN9KSkscz1iZShvKTtvPW8ubWFwKGE9PnMuZmluZChjPT5jLm5hbWU9PT1hLm5hbWUpP3tuYW1lOmB4LWJpbmQ6JHthLm5hbWV9YCx2YWx1ZTpgIiR7YS52YWx1ZX0iYH06YSksZT1lLmNvbmNhdChvKX1sZXQgbj17fTtyZXR1cm4gZS5tYXAod3IoKG8scyk9Pm5bb109cykpLmZpbHRlcihTcikubWFwKHFuKG4scikpLnNvcnQoS24pLm1hcChvPT5Vbih0LG8pKX1mdW5jdGlvbiBiZSh0KXtyZXR1cm4gQXJyYXkuZnJvbSh0KS5tYXAod3IoKSkuZmlsdGVyKGU9PiFTcihlKSl9dmFyIGdlPSExLGR0PW5ldyBNYXAseXI9U3ltYm9sKCk7ZnVuY3Rpb24gYnIodCl7Z2U9ITA7bGV0IGU9U3ltYm9sKCk7eXI9ZSxkdC5zZXQoZSxbXSk7bGV0IHI9KCk9Pntmb3IoO2R0LmdldChlKS5sZW5ndGg7KWR0LmdldChlKS5zaGlmdCgpKCk7ZHQuZGVsZXRlKGUpfSxuPSgpPT57Z2U9ITEscigpfTt0KHIpLG4oKX1mdW5jdGlvbiBoZSh0KXtsZXQgZT1bXSxyPWE9PmUucHVzaChhKSxbbixpXT1ZZSh0KTtyZXR1cm4gZS5wdXNoKGkpLFt7QWxwaW5lOkIsZWZmZWN0Om4sY2xlYW51cDpyLGV2YWx1YXRlTGF0ZXI6Xy5iaW5kKF8sdCksZXZhbHVhdGU6VC5iaW5kKFQsdCl9LCgpPT5lLmZvckVhY2goYT0+YSgpKV19ZnVuY3Rpb24gVW4odCxlKXtsZXQgcj0oKT0+e30sbj1SdFtlLnR5cGVdfHxyLFtpLG9dPWhlKHQpO090KHQsZS5vcmlnaW5hbCxvKTtsZXQgcz0oKT0+e3QuX3hfaWdub3JlfHx0Ll94X2lnbm9yZVNlbGZ8fChuLmlubGluZSYmbi5pbmxpbmUodCxlLGkpLG49bi5iaW5kKG4sdCxlLGkpLGdlP2R0LmdldCh5cikucHVzaChuKTpuKCkpfTtyZXR1cm4gcy5ydW5DbGVhbnVwcz1vLHN9dmFyIE50PSh0LGUpPT4oe25hbWU6cix2YWx1ZTpufSk9PihyLnN0YXJ0c1dpdGgodCkmJihyPXIucmVwbGFjZSh0LGUpKSx7bmFtZTpyLHZhbHVlOm59KSxQdD10PT50O2Z1bmN0aW9uIHdyKHQ9KCk9Pnt9KXtyZXR1cm4oe25hbWU6ZSx2YWx1ZTpyfSk9PntsZXR7bmFtZTpuLHZhbHVlOml9PUVyLnJlZHVjZSgobyxzKT0+cyhvKSx7bmFtZTplLHZhbHVlOnJ9KTtyZXR1cm4gbiE9PWUmJnQobixlKSx7bmFtZTpuLHZhbHVlOml9fX12YXIgRXI9W107ZnVuY3Rpb24gb3QodCl7RXIucHVzaCh0KX1mdW5jdGlvbiBTcih7bmFtZTp0fSl7cmV0dXJuIHZyKCkudGVzdCh0KX12YXIgdnI9KCk9Pm5ldyBSZWdFeHAoYF4ke3llfShbXjpeLl0rKVxcYmApO2Z1bmN0aW9uIHFuKHQsZSl7cmV0dXJuKHtuYW1lOnIsdmFsdWU6bn0pPT57cj09PW4mJihuPSIiKTtsZXQgaT1yLm1hdGNoKHZyKCkpLG89ci5tYXRjaCgvOihbYS16QS1aMC05XC1fOl0rKS8pLHM9ci5tYXRjaCgvXC5bXi5cXV0rKD89W15cXV0qJCkvZyl8fFtdLGE9ZXx8dFtyXXx8cjtyZXR1cm57dHlwZTppP2lbMV06bnVsbCx2YWx1ZTpvP29bMV06bnVsbCxtb2RpZmllcnM6cy5tYXAoYz0+Yy5yZXBsYWNlKCIuIiwiIikpLGV4cHJlc3Npb246bixvcmlnaW5hbDphfX19dmFyIHhlPSJERUZBVUxUIixHPVsiaWdub3JlIiwicmVmIiwiaWQiLCJkYXRhIiwiYW5jaG9yIiwiYmluZCIsImluaXQiLCJmb3IiLCJtb2RlbCIsIm1vZGVsYWJsZSIsInRyYW5zaXRpb24iLCJzaG93IiwiaWYiLHhlLCJ0ZWxlcG9ydCJdO2Z1bmN0aW9uIEtuKHQsZSl7bGV0IHI9Ry5pbmRleE9mKHQudHlwZSk9PT0tMT94ZTp0LnR5cGUsbj1HLmluZGV4T2YoZS50eXBlKT09PS0xP3hlOmUudHlwZTtyZXR1cm4gRy5pbmRleE9mKHIpLUcuaW5kZXhPZihuKX1mdW5jdGlvbiBKKHQsZSxyPXt9LG49e30pe3JldHVybiB0LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2RldGFpbDpyLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITAsY2FuY2VsYWJsZTohMCwuLi5ufSkpfWZ1bmN0aW9uIEQodCxlKXtpZih0eXBlb2YgU2hhZG93Um9vdD09ImZ1bmN0aW9uIiYmdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Qpe0FycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaChpPT5EKGksZSkpO3JldHVybn1sZXQgcj0hMTtpZihlKHQsKCk9PnI9ITApLHIpcmV0dXJuO2xldCBuPXQuZmlyc3RFbGVtZW50Q2hpbGQ7Zm9yKDtuOylEKG4sZSwhMSksbj1uLm5leHRFbGVtZW50U2libGluZ31mdW5jdGlvbiBFKHQsLi4uZSl7Y29uc29sZS53YXJuKGBBbHBpbmUgV2FybmluZzogJHt0fWAsLi4uZSl9dmFyIEFyPSExO2Z1bmN0aW9uIE9yKCl7QXImJkUoIkFscGluZSBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkIG9uIHRoaXMgcGFnZS4gQ2FsbGluZyBBbHBpbmUuc3RhcnQoKSBtb3JlIHRoYW4gb25jZSBjYW4gY2F1c2UgcHJvYmxlbXMuIiksQXI9ITAsZG9jdW1lbnQuYm9keXx8RSgiVW5hYmxlIHRvIGluaXRpYWxpemUuIFRyeWluZyB0byBsb2FkIEFscGluZSBiZWZvcmUgYDxib2R5PmAgaXMgYXZhaWxhYmxlLiBEaWQgeW91IGZvcmdldCB0byBhZGQgYGRlZmVyYCBpbiBBbHBpbmUncyBgPHNjcmlwdD5gIHRhZz8iKSxKKGRvY3VtZW50LCJhbHBpbmU6aW5pdCIpLEooZG9jdW1lbnQsImFscGluZTppbml0aWFsaXppbmciKSx1dCgpLGVyKGU9PlMoZSxEKSksZXQoZT0+SShlKSksQXQoKGUscik9PntwdChlLHIpLmZvckVhY2gobj0+bigpKX0pO2xldCB0PWU9PiFZKGUucGFyZW50RWxlbWVudCwhMCk7QXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKE1yKCkuam9pbigiLCIpKSkuZmlsdGVyKHQpLmZvckVhY2goZT0+e1MoZSl9KSxKKGRvY3VtZW50LCJhbHBpbmU6aW5pdGlhbGl6ZWQiKSxzZXRUaW1lb3V0KCgpPT57R24oKX0pfXZhciB3ZT1bXSxDcj1bXTtmdW5jdGlvbiBUcigpe3JldHVybiB3ZS5tYXAodD0+dCgpKX1mdW5jdGlvbiBNcigpe3JldHVybiB3ZS5jb25jYXQoQ3IpLm1hcCh0PT50KCkpfWZ1bmN0aW9uIER0KHQpe3dlLnB1c2godCl9ZnVuY3Rpb24gSXQodCl7Q3IucHVzaCh0KX1mdW5jdGlvbiBZKHQsZT0hMSl7cmV0dXJuIEEodCxyPT57aWYoKGU/TXIoKTpUcigpKS5zb21lKGk9PnIubWF0Y2hlcyhpKSkpcmV0dXJuITB9KX1mdW5jdGlvbiBBKHQsZSl7aWYodCl7aWYoZSh0KSlyZXR1cm4gdDtpZih0Ll94X3RlbGVwb3J0QmFjaylyZXR1cm4gQSh0Ll94X3RlbGVwb3J0QmFjayxlKTtpZih0LnBhcmVudE5vZGUgaW5zdGFuY2VvZiBTaGFkb3dSb290KXJldHVybiBBKHQucGFyZW50Tm9kZS5ob3N0LGUpO2lmKHQucGFyZW50RWxlbWVudClyZXR1cm4gQSh0LnBhcmVudEVsZW1lbnQsZSl9fWZ1bmN0aW9uIFJyKHQpe3JldHVybiBUcigpLnNvbWUoZT0+dC5tYXRjaGVzKGUpKX12YXIgTnI9W107ZnVuY3Rpb24gUHIodCl7TnIucHVzaCh0KX12YXIgV249MTtmdW5jdGlvbiBTKHQsZT1ELHI9KCk9Pnt9KXtBKHQsbj0+bi5feF9pZ25vcmUpfHxicigoKT0+e2UodCwobixpKT0+e24uX3hfbWFya2VyfHwocihuLGkpLE5yLmZvckVhY2gobz0+byhuLGkpKSxwdChuLG4uYXR0cmlidXRlcykuZm9yRWFjaChvPT5vKCkpLG4uX3hfaWdub3JlfHwobi5feF9tYXJrZXI9V24rKyksbi5feF9pZ25vcmUmJmkoKSl9KX0pfWZ1bmN0aW9uIEkodCxlPUQpe2UodCxyPT57cnIociksY2UociksZGVsZXRlIHIuX3hfbWFya2VyfSl9ZnVuY3Rpb24gR24oKXtbWyJ1aSIsImRpYWxvZyIsWyJbeC1kaWFsb2ddLCBbeC1wb3BvdmVyXSJdXSxbImFuY2hvciIsImFuY2hvciIsWyJbeC1hbmNob3JdIl1dLFsic29ydCIsInNvcnQiLFsiW3gtc29ydF0iXV1dLmZvckVhY2goKFtlLHIsbl0pPT57eHIocil8fG4uc29tZShpPT57aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihpKSlyZXR1cm4gRShgZm91bmQgIiR7aX0iLCBidXQgbWlzc2luZyAke2V9IHBsdWdpbmApLCEwfSl9KX12YXIgRWU9W10sU2U9ITE7ZnVuY3Rpb24gc3QodD0oKT0+e30pe3JldHVybiBxdWV1ZU1pY3JvdGFzaygoKT0+e1NlfHxzZXRUaW1lb3V0KCgpPT57a3QoKX0pfSksbmV3IFByb21pc2UoZT0+e0VlLnB1c2goKCk9Pnt0KCksZSgpfSl9KX1mdW5jdGlvbiBrdCgpe2ZvcihTZT0hMTtFZS5sZW5ndGg7KUVlLnNoaWZ0KCkoKX1mdW5jdGlvbiBEcigpe1NlPSEwfWZ1bmN0aW9uIG10KHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/SXIodCxlLmpvaW4oIiAiKSk6dHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbD9Kbih0LGUpOnR5cGVvZiBlPT0iZnVuY3Rpb24iP210KHQsZSgpKTpJcih0LGUpfWZ1bmN0aW9uIHZlKHQpe3JldHVybiB0LnNwbGl0KC9ccy8pLmZpbHRlcihCb29sZWFuKX1mdW5jdGlvbiBJcih0LGUpe2xldCByPWk9PnZlKGkpLmZpbHRlcihvPT4hdC5jbGFzc0xpc3QuY29udGFpbnMobykpLmZpbHRlcihCb29sZWFuKSxuPWk9Pih0LmNsYXNzTGlzdC5hZGQoLi4uaSksKCk9Pnt0LmNsYXNzTGlzdC5yZW1vdmUoLi4uaSl9KTtyZXR1cm4gZT1lPT09ITA/ZT0iIjplfHwiIixuKHIoZSkpfWZ1bmN0aW9uIEpuKHQsZSl7bGV0IHI9T2JqZWN0LmVudHJpZXMoZSkuZmxhdE1hcCgoW3MsYV0pPT5hP3ZlKHMpOiExKS5maWx0ZXIoQm9vbGVhbiksbj1PYmplY3QuZW50cmllcyhlKS5mbGF0TWFwKChbcyxhXSk9PmE/ITE6dmUocykpLmZpbHRlcihCb29sZWFuKSxpPVtdLG89W107cmV0dXJuIG4uZm9yRWFjaChzPT57dC5jbGFzc0xpc3QuY29udGFpbnMocykmJih0LmNsYXNzTGlzdC5yZW1vdmUocyksby5wdXNoKHMpKX0pLHIuZm9yRWFjaChzPT57dC5jbGFzc0xpc3QuY29udGFpbnMocyl8fCh0LmNsYXNzTGlzdC5hZGQocyksaS5wdXNoKHMpKX0pLCgpPT57by5mb3JFYWNoKHM9PnQuY2xhc3NMaXN0LmFkZChzKSksaS5mb3JFYWNoKHM9PnQuY2xhc3NMaXN0LnJlbW92ZShzKSl9fWZ1bmN0aW9uIFgodCxlKXtyZXR1cm4gdHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbD9Zbih0LGUpOlhuKHQsZSl9ZnVuY3Rpb24gWW4odCxlKXtsZXQgcj17fTtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW24saV0pPT57cltuXT10LnN0eWxlW25dLG4uc3RhcnRzV2l0aCgiLS0iKXx8KG49Wm4obikpLHQuc3R5bGUuc2V0UHJvcGVydHkobixpKX0pLHNldFRpbWVvdXQoKCk9Pnt0LnN0eWxlLmxlbmd0aD09PTAmJnQucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpfSksKCk9PntYKHQscil9fWZ1bmN0aW9uIFhuKHQsZSl7bGV0IHI9dC5nZXRBdHRyaWJ1dGUoInN0eWxlIixlKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoInN0eWxlIixlKSwoKT0+e3Quc2V0QXR0cmlidXRlKCJzdHlsZSIscnx8IiIpfX1mdW5jdGlvbiBabih0KXtyZXR1cm4gdC5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gaHQodCxlPSgpPT57fSl7bGV0IHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7cj9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKToocj0hMCx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXAoInRyYW5zaXRpb24iLCh0LHt2YWx1ZTplLG1vZGlmaWVyczpyLGV4cHJlc3Npb246bn0se2V2YWx1YXRlOml9KT0+e3R5cGVvZiBuPT0iZnVuY3Rpb24iJiYobj1pKG4pKSxuIT09ITEmJighbnx8dHlwZW9mIG49PSJib29sZWFuIj90aSh0LHIsZSk6UW4odCxuLGUpKX0pO2Z1bmN0aW9uIFFuKHQsZSxyKXtrcih0LG10LCIiKSx7ZW50ZXI6aT0+e3QuX3hfdHJhbnNpdGlvbi5lbnRlci5kdXJpbmc9aX0sImVudGVyLXN0YXJ0IjppPT57dC5feF90cmFuc2l0aW9uLmVudGVyLnN0YXJ0PWl9LCJlbnRlci1lbmQiOmk9Pnt0Ll94X3RyYW5zaXRpb24uZW50ZXIuZW5kPWl9LGxlYXZlOmk9Pnt0Ll94X3RyYW5zaXRpb24ubGVhdmUuZHVyaW5nPWl9LCJsZWF2ZS1zdGFydCI6aT0+e3QuX3hfdHJhbnNpdGlvbi5sZWF2ZS5zdGFydD1pfSwibGVhdmUtZW5kIjppPT57dC5feF90cmFuc2l0aW9uLmxlYXZlLmVuZD1pfX1bcl0oZSl9ZnVuY3Rpb24gdGkodCxlLHIpe2tyKHQsWCk7bGV0IG49IWUuaW5jbHVkZXMoImluIikmJiFlLmluY2x1ZGVzKCJvdXQiKSYmIXIsaT1ufHxlLmluY2x1ZGVzKCJpbiIpfHxbImVudGVyIl0uaW5jbHVkZXMociksbz1ufHxlLmluY2x1ZGVzKCJvdXQiKXx8WyJsZWF2ZSJdLmluY2x1ZGVzKHIpO2UuaW5jbHVkZXMoImluIikmJiFuJiYoZT1lLmZpbHRlcigodyx0dCk9PnR0PGUuaW5kZXhPZigib3V0IikpKSxlLmluY2x1ZGVzKCJvdXQiKSYmIW4mJihlPWUuZmlsdGVyKCh3LHR0KT0+dHQ+ZS5pbmRleE9mKCJvdXQiKSkpO2xldCBzPSFlLmluY2x1ZGVzKCJvcGFjaXR5IikmJiFlLmluY2x1ZGVzKCJzY2FsZSIpLGE9c3x8ZS5pbmNsdWRlcygib3BhY2l0eSIpLGM9c3x8ZS5pbmNsdWRlcygic2NhbGUiKSxsPWE/MDoxLHU9Yz9fdChlLCJzY2FsZSIsOTUpLzEwMDoxLGY9X3QoZSwiZGVsYXkiLDApLzFlMyxiPV90KGUsIm9yaWdpbiIsImNlbnRlciIpLGc9Im9wYWNpdHksIHRyYW5zZm9ybSIsTD1fdChlLCJkdXJhdGlvbiIsMTUwKS8xZTMsZD1fdChlLCJkdXJhdGlvbiIsNzUpLzFlMyx5PSJjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkiO2kmJih0Ll94X3RyYW5zaXRpb24uZW50ZXIuZHVyaW5nPXt0cmFuc2Zvcm1PcmlnaW46Yix0cmFuc2l0aW9uRGVsYXk6YCR7Zn1zYCx0cmFuc2l0aW9uUHJvcGVydHk6Zyx0cmFuc2l0aW9uRHVyYXRpb246YCR7TH1zYCx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246eX0sdC5feF90cmFuc2l0aW9uLmVudGVyLnN0YXJ0PXtvcGFjaXR5OmwsdHJhbnNmb3JtOmBzY2FsZSgke3V9KWB9LHQuX3hfdHJhbnNpdGlvbi5lbnRlci5lbmQ9e29wYWNpdHk6MSx0cmFuc2Zvcm06InNjYWxlKDEpIn0pLG8mJih0Ll94X3RyYW5zaXRpb24ubGVhdmUuZHVyaW5nPXt0cmFuc2Zvcm1PcmlnaW46Yix0cmFuc2l0aW9uRGVsYXk6YCR7Zn1zYCx0cmFuc2l0aW9uUHJvcGVydHk6Zyx0cmFuc2l0aW9uRHVyYXRpb246YCR7ZH1zYCx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246eX0sdC5feF90cmFuc2l0aW9uLmxlYXZlLnN0YXJ0PXtvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9LHQuX3hfdHJhbnNpdGlvbi5sZWF2ZS5lbmQ9e29wYWNpdHk6bCx0cmFuc2Zvcm06YHNjYWxlKCR7dX0pYH0pfWZ1bmN0aW9uIGtyKHQsZSxyPXt9KXt0Ll94X3RyYW5zaXRpb258fCh0Ll94X3RyYW5zaXRpb249e2VudGVyOntkdXJpbmc6cixzdGFydDpyLGVuZDpyfSxsZWF2ZTp7ZHVyaW5nOnIsc3RhcnQ6cixlbmQ6cn0saW4obj0oKT0+e30saT0oKT0+e30peyR0KHQsZSx7ZHVyaW5nOnRoaXMuZW50ZXIuZHVyaW5nLHN0YXJ0OnRoaXMuZW50ZXIuc3RhcnQsZW5kOnRoaXMuZW50ZXIuZW5kfSxuLGkpfSxvdXQobj0oKT0+e30saT0oKT0+e30peyR0KHQsZSx7ZHVyaW5nOnRoaXMubGVhdmUuZHVyaW5nLHN0YXJ0OnRoaXMubGVhdmUuc3RhcnQsZW5kOnRoaXMubGVhdmUuZW5kfSxuLGkpfX0pfXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5feF90b2dnbGVBbmRDYXNjYWRlV2l0aFRyYW5zaXRpb25zPWZ1bmN0aW9uKHQsZSxyLG4pe2xldCBpPWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj9yZXF1ZXN0QW5pbWF0aW9uRnJhbWU6c2V0VGltZW91dCxvPSgpPT5pKHIpO2lmKGUpe3QuX3hfdHJhbnNpdGlvbiYmKHQuX3hfdHJhbnNpdGlvbi5lbnRlcnx8dC5feF90cmFuc2l0aW9uLmxlYXZlKT90Ll94X3RyYW5zaXRpb24uZW50ZXImJihPYmplY3QuZW50cmllcyh0Ll94X3RyYW5zaXRpb24uZW50ZXIuZHVyaW5nKS5sZW5ndGh8fE9iamVjdC5lbnRyaWVzKHQuX3hfdHJhbnNpdGlvbi5lbnRlci5zdGFydCkubGVuZ3RofHxPYmplY3QuZW50cmllcyh0Ll94X3RyYW5zaXRpb24uZW50ZXIuZW5kKS5sZW5ndGgpP3QuX3hfdHJhbnNpdGlvbi5pbihyKTpvKCk6dC5feF90cmFuc2l0aW9uP3QuX3hfdHJhbnNpdGlvbi5pbihyKTpvKCk7cmV0dXJufXQuX3hfaGlkZVByb21pc2U9dC5feF90cmFuc2l0aW9uP25ldyBQcm9taXNlKChzLGEpPT57dC5feF90cmFuc2l0aW9uLm91dCgoKT0+e30sKCk9PnMobikpLHQuX3hfdHJhbnNpdGlvbmluZyYmdC5feF90cmFuc2l0aW9uaW5nLmJlZm9yZUNhbmNlbCgoKT0+YSh7aXNGcm9tQ2FuY2VsbGVkVHJhbnNpdGlvbjohMH0pKX0pOlByb21pc2UucmVzb2x2ZShuKSxxdWV1ZU1pY3JvdGFzaygoKT0+e2xldCBzPSRyKHQpO3M/KHMuX3hfaGlkZUNoaWxkcmVufHwocy5feF9oaWRlQ2hpbGRyZW49W10pLHMuX3hfaGlkZUNoaWxkcmVuLnB1c2godCkpOmkoKCk9PntsZXQgYT1jPT57bGV0IGw9UHJvbWlzZS5hbGwoW2MuX3hfaGlkZVByb21pc2UsLi4uKGMuX3hfaGlkZUNoaWxkcmVufHxbXSkubWFwKGEpXSkudGhlbigoW3VdKT0+dT8uKCkpO3JldHVybiBkZWxldGUgYy5feF9oaWRlUHJvbWlzZSxkZWxldGUgYy5feF9oaWRlQ2hpbGRyZW4sbH07YSh0KS5jYXRjaChjPT57aWYoIWMuaXNGcm9tQ2FuY2VsbGVkVHJhbnNpdGlvbil0aHJvdyBjfSl9KX0pfTtmdW5jdGlvbiAkcih0KXtsZXQgZT10LnBhcmVudE5vZGU7aWYoZSlyZXR1cm4gZS5feF9oaWRlUHJvbWlzZT9lOiRyKGUpfWZ1bmN0aW9uICR0KHQsZSx7ZHVyaW5nOnIsc3RhcnQ6bixlbmQ6aX09e30sbz0oKT0+e30scz0oKT0+e30pe2lmKHQuX3hfdHJhbnNpdGlvbmluZyYmdC5feF90cmFuc2l0aW9uaW5nLmNhbmNlbCgpLE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTAmJk9iamVjdC5rZXlzKG4pLmxlbmd0aD09PTAmJk9iamVjdC5rZXlzKGkpLmxlbmd0aD09PTApe28oKSxzKCk7cmV0dXJufWxldCBhLGMsbDtlaSh0LHtzdGFydCgpe2E9ZSh0LG4pfSxkdXJpbmcoKXtjPWUodCxyKX0sYmVmb3JlOm8sZW5kKCl7YSgpLGw9ZSh0LGkpfSxhZnRlcjpzLGNsZWFudXAoKXtjKCksbCgpfX0pfWZ1bmN0aW9uIGVpKHQsZSl7bGV0IHIsbixpLG89aHQoKCk9PnttKCgpPT57cj0hMCxufHxlLmJlZm9yZSgpLGl8fChlLmVuZCgpLGt0KCkpLGUuYWZ0ZXIoKSx0LmlzQ29ubmVjdGVkJiZlLmNsZWFudXAoKSxkZWxldGUgdC5feF90cmFuc2l0aW9uaW5nfSl9KTt0Ll94X3RyYW5zaXRpb25pbmc9e2JlZm9yZUNhbmNlbHM6W10sYmVmb3JlQ2FuY2VsKHMpe3RoaXMuYmVmb3JlQ2FuY2Vscy5wdXNoKHMpfSxjYW5jZWw6aHQoZnVuY3Rpb24oKXtmb3IoO3RoaXMuYmVmb3JlQ2FuY2Vscy5sZW5ndGg7KXRoaXMuYmVmb3JlQ2FuY2Vscy5zaGlmdCgpKCk7bygpfSksZmluaXNoOm99LG0oKCk9PntlLnN0YXJ0KCksZS5kdXJpbmcoKX0pLERyKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57aWYocilyZXR1cm47bGV0IHM9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUodCkudHJhbnNpdGlvbkR1cmF0aW9uLnJlcGxhY2UoLywuKi8sIiIpLnJlcGxhY2UoInMiLCIiKSkqMWUzLGE9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUodCkudHJhbnNpdGlvbkRlbGF5LnJlcGxhY2UoLywuKi8sIiIpLnJlcGxhY2UoInMiLCIiKSkqMWUzO3M9PT0wJiYocz1OdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZSh0KS5hbmltYXRpb25EdXJhdGlvbi5yZXBsYWNlKCJzIiwiIikpKjFlMyksbSgoKT0+e2UuYmVmb3JlKCl9KSxuPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3J8fChtKCgpPT57ZS5lbmQoKX0pLGt0KCksc2V0VGltZW91dCh0Ll94X3RyYW5zaXRpb25pbmcuZmluaXNoLHMrYSksaT0hMCl9KX0pfWZ1bmN0aW9uIF90KHQsZSxyKXtpZih0LmluZGV4T2YoZSk9PT0tMSlyZXR1cm4gcjtsZXQgbj10W3QuaW5kZXhPZihlKSsxXTtpZighbnx8ZT09PSJzY2FsZSImJmlzTmFOKG4pKXJldHVybiByO2lmKGU9PT0iZHVyYXRpb24ifHxlPT09ImRlbGF5Iil7bGV0IGk9bi5tYXRjaCgvKFswLTldKyltcy8pO2lmKGkpcmV0dXJuIGlbMV19cmV0dXJuIGU9PT0ib3JpZ2luIiYmWyJ0b3AiLCJyaWdodCIsImxlZnQiLCJjZW50ZXIiLCJib3R0b20iXS5pbmNsdWRlcyh0W3QuaW5kZXhPZihlKSsyXSk/W24sdFt0LmluZGV4T2YoZSkrMl1dLmpvaW4oIiAiKTpufXZhciBrPSExO2Z1bmN0aW9uIHYodCxlPSgpPT57fSl7cmV0dXJuKC4uLnIpPT5rP2UoLi4ucik6dCguLi5yKX1mdW5jdGlvbiBMcih0KXtyZXR1cm4oLi4uZSk9PmsmJnQoLi4uZSl9dmFyIGpyPVtdO2Z1bmN0aW9uIFYodCl7anIucHVzaCh0KX1mdW5jdGlvbiBGcih0LGUpe2pyLmZvckVhY2gocj0+cih0LGUpKSxrPSEwLHpyKCgpPT57UyhlLChyLG4pPT57bihyLCgpPT57fSl9KX0pLGs9ITF9dmFyIEx0PSExO2Z1bmN0aW9uIEJyKHQsZSl7ZS5feF9kYXRhU3RhY2t8fChlLl94X2RhdGFTdGFjaz10Ll94X2RhdGFTdGFjayksaz0hMCxMdD0hMCx6cigoKT0+e3JpKGUpfSksaz0hMSxMdD0hMX1mdW5jdGlvbiByaSh0KXtsZXQgZT0hMTtTKHQsKG4saSk9PntEKG4sKG8scyk9PntpZihlJiZScihvKSlyZXR1cm4gcygpO2U9ITAsaShvLHMpfSl9KX1mdW5jdGlvbiB6cih0KXtsZXQgZT1SO2FlKChyLG4pPT57bGV0IGk9ZShyKTtyZXR1cm4gaihpKSwoKT0+e319KSx0KCksYWUoZSl9ZnVuY3Rpb24gZ3QodCxlLHIsbj1bXSl7c3dpdGNoKHQuX3hfYmluZGluZ3N8fCh0Ll94X2JpbmRpbmdzPUMoe30pKSx0Ll94X2JpbmRpbmdzW2VdPXIsZT1uLmluY2x1ZGVzKCJjYW1lbCIpP3VpKGUpOmUsZSl7Y2FzZSJ2YWx1ZSI6bmkodCxyKTticmVhaztjYXNlInN0eWxlIjpvaSh0LHIpO2JyZWFrO2Nhc2UiY2xhc3MiOmlpKHQscik7YnJlYWs7Y2FzZSJzZWxlY3RlZCI6Y2FzZSJjaGVja2VkIjpzaSh0LGUscik7YnJlYWs7ZGVmYXVsdDpIcih0LGUscik7YnJlYWt9fWZ1bmN0aW9uIG5pKHQsZSl7aWYoanQodCkpdC5hdHRyaWJ1dGVzLnZhbHVlPT09dm9pZCAwJiYodC52YWx1ZT1lKTtlbHNlIGlmKHl0KHQpKU51bWJlci5pc0ludGVnZXIoZSk/dC52YWx1ZT1lOiFBcnJheS5pc0FycmF5KGUpJiZ0eXBlb2YgZSE9ImJvb2xlYW4iJiYhW251bGwsdm9pZCAwXS5pbmNsdWRlcyhlKT90LnZhbHVlPVN0cmluZyhlKTpBcnJheS5pc0FycmF5KGUpP3QuY2hlY2tlZD1lLnNvbWUocj0+Zmkocix0LnZhbHVlKSk6dC5jaGVja2VkPSEhZTtlbHNlIGlmKHQudGFnTmFtZT09PSJTRUxFQ1QiKWxpKHQsZSk7ZWxzZXtpZih0LnZhbHVlPT09ZSlyZXR1cm47dC52YWx1ZT1lPT09dm9pZCAwPyIiOmV9fWZ1bmN0aW9uIGlpKHQsZSl7dC5feF91bmRvQWRkZWRDbGFzc2VzJiZ0Ll94X3VuZG9BZGRlZENsYXNzZXMoKSx0Ll94X3VuZG9BZGRlZENsYXNzZXM9bXQodCxlKX1mdW5jdGlvbiBvaSh0LGUpe3QuX3hfdW5kb0FkZGVkU3R5bGVzJiZ0Ll94X3VuZG9BZGRlZFN0eWxlcygpLHQuX3hfdW5kb0FkZGVkU3R5bGVzPVgodCxlKX1mdW5jdGlvbiBzaSh0LGUscil7SHIodCxlLHIpLGNpKHQsZSxyKX1mdW5jdGlvbiBIcih0LGUscil7W251bGwsdm9pZCAwLCExXS5pbmNsdWRlcyhyKSYmcGkoZSk/dC5yZW1vdmVBdHRyaWJ1dGUoZSk6KFZyKGUpJiYocj1lKSxhaSh0LGUscikpfWZ1bmN0aW9uIGFpKHQsZSxyKXt0LmdldEF0dHJpYnV0ZShlKSE9ciYmdC5zZXRBdHRyaWJ1dGUoZSxyKX1mdW5jdGlvbiBjaSh0LGUscil7dFtlXSE9PXImJih0W2VdPXIpfWZ1bmN0aW9uIGxpKHQsZSl7bGV0IHI9W10uY29uY2F0KGUpLm1hcChuPT5uKyIiKTtBcnJheS5mcm9tKHQub3B0aW9ucykuZm9yRWFjaChuPT57bi5zZWxlY3RlZD1yLmluY2x1ZGVzKG4udmFsdWUpfSl9ZnVuY3Rpb24gdWkodCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8tKFx3KS9nLChlLHIpPT5yLnRvVXBwZXJDYXNlKCkpfWZ1bmN0aW9uIGZpKHQsZSl7cmV0dXJuIHQ9PWV9ZnVuY3Rpb24geHQodCl7cmV0dXJuWzEsIjEiLCJ0cnVlIiwib24iLCJ5ZXMiLCEwXS5pbmNsdWRlcyh0KT8hMDpbMCwiMCIsImZhbHNlIiwib2ZmIiwibm8iLCExXS5pbmNsdWRlcyh0KT8hMTp0P0Jvb2xlYW4odCk6bnVsbH12YXIgZGk9bmV3IFNldChbImFsbG93ZnVsbHNjcmVlbiIsImFzeW5jIiwiYXV0b2ZvY3VzIiwiYXV0b3BsYXkiLCJjaGVja2VkIiwiY29udHJvbHMiLCJkZWZhdWx0IiwiZGVmZXIiLCJkaXNhYmxlZCIsImZvcm1ub3ZhbGlkYXRlIiwiaW5lcnQiLCJpc21hcCIsIml0ZW1zY29wZSIsImxvb3AiLCJtdWx0aXBsZSIsIm11dGVkIiwibm9tb2R1bGUiLCJub3ZhbGlkYXRlIiwib3BlbiIsInBsYXlzaW5saW5lIiwicmVhZG9ubHkiLCJyZXF1aXJlZCIsInJldmVyc2VkIiwic2VsZWN0ZWQiLCJzaGFkb3dyb290Y2xvbmFibGUiLCJzaGFkb3dyb290ZGVsZWdhdGVzZm9jdXMiLCJzaGFkb3dyb290c2VyaWFsaXphYmxlIl0pO2Z1bmN0aW9uIFZyKHQpe3JldHVybiBkaS5oYXModCl9ZnVuY3Rpb24gcGkodCl7cmV0dXJuIVsiYXJpYS1wcmVzc2VkIiwiYXJpYS1jaGVja2VkIiwiYXJpYS1leHBhbmRlZCIsImFyaWEtc2VsZWN0ZWQiXS5pbmNsdWRlcyh0KX1mdW5jdGlvbiBVcih0LGUscil7cmV0dXJuIHQuX3hfYmluZGluZ3MmJnQuX3hfYmluZGluZ3NbZV0hPT12b2lkIDA/dC5feF9iaW5kaW5nc1tlXTpLcih0LGUscil9ZnVuY3Rpb24gcXIodCxlLHIsbj0hMCl7aWYodC5feF9iaW5kaW5ncyYmdC5feF9iaW5kaW5nc1tlXSE9PXZvaWQgMClyZXR1cm4gdC5feF9iaW5kaW5nc1tlXTtpZih0Ll94X2lubGluZUJpbmRpbmdzJiZ0Ll94X2lubGluZUJpbmRpbmdzW2VdIT09dm9pZCAwKXtsZXQgaT10Ll94X2lubGluZUJpbmRpbmdzW2VdO3JldHVybiBpLmV4dHJhY3Q9bixNdCgoKT0+VCh0LGkuZXhwcmVzc2lvbikpfXJldHVybiBLcih0LGUscil9ZnVuY3Rpb24gS3IodCxlLHIpe2xldCBuPXQuZ2V0QXR0cmlidXRlKGUpO3JldHVybiBuPT09bnVsbD90eXBlb2Ygcj09ImZ1bmN0aW9uIj9yKCk6cjpuPT09IiI/ITA6VnIoZSk/ISFbZSwidHJ1ZSJdLmluY2x1ZGVzKG4pOm59ZnVuY3Rpb24geXQodCl7cmV0dXJuIHQudHlwZT09PSJjaGVja2JveCJ8fHQubG9jYWxOYW1lPT09InVpLWNoZWNrYm94Inx8dC5sb2NhbE5hbWU9PT0idWktc3dpdGNoIn1mdW5jdGlvbiBqdCh0KXtyZXR1cm4gdC50eXBlPT09InJhZGlvInx8dC5sb2NhbE5hbWU9PT0idWktcmFkaW8ifWZ1bmN0aW9uIEZ0KHQsZSl7bGV0IHI7cmV0dXJuIGZ1bmN0aW9uKCl7bGV0IG49dGhpcyxpPWFyZ3VtZW50cyxvPWZ1bmN0aW9uKCl7cj1udWxsLHQuYXBwbHkobixpKX07Y2xlYXJUaW1lb3V0KHIpLHI9c2V0VGltZW91dChvLGUpfX1mdW5jdGlvbiBCdCh0LGUpe2xldCByO3JldHVybiBmdW5jdGlvbigpe2xldCBuPXRoaXMsaT1hcmd1bWVudHM7cnx8KHQuYXBwbHkobixpKSxyPSEwLHNldFRpbWVvdXQoKCk9PnI9ITEsZSkpfX1mdW5jdGlvbiB6dCh7Z2V0OnQsc2V0OmV9LHtnZXQ6cixzZXQ6bn0pe2xldCBpPSEwLG8scyxhPVIoKCk9PntsZXQgYz10KCksbD1yKCk7aWYoaSluKEFlKGMpKSxpPSExO2Vsc2V7bGV0IHU9SlNPTi5zdHJpbmdpZnkoYyksZj1KU09OLnN0cmluZ2lmeShsKTt1IT09bz9uKEFlKGMpKTp1IT09ZiYmZShBZShsKSl9bz1KU09OLnN0cmluZ2lmeSh0KCkpLHM9SlNPTi5zdHJpbmdpZnkocigpKX0pO3JldHVybigpPT57aihhKX19ZnVuY3Rpb24gQWUodCl7cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0Ij9KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKTp0fWZ1bmN0aW9uIFdyKHQpeyhBcnJheS5pc0FycmF5KHQpP3Q6W3RdKS5mb3JFYWNoKHI9PnIoQikpfXZhciBaPXt9LEdyPSExO2Z1bmN0aW9uIEpyKHQsZSl7aWYoR3J8fChaPUMoWiksR3I9ITApLGU9PT12b2lkIDApcmV0dXJuIFpbdF07Wlt0XT1lLHJ0KFpbdF0pLHR5cGVvZiBlPT0ib2JqZWN0IiYmZSE9PW51bGwmJmUuaGFzT3duUHJvcGVydHkoImluaXQiKSYmdHlwZW9mIGUuaW5pdD09ImZ1bmN0aW9uIiYmWlt0XS5pbml0KCl9ZnVuY3Rpb24gWXIoKXtyZXR1cm4gWn12YXIgWHI9e307ZnVuY3Rpb24gWnIodCxlKXtsZXQgcj10eXBlb2YgZSE9ImZ1bmN0aW9uIj8oKT0+ZTplO3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD9PZSh0LHIoKSk6KFhyW3RdPXIsKCk9Pnt9KX1mdW5jdGlvbiBRcih0KXtyZXR1cm4gT2JqZWN0LmVudHJpZXMoWHIpLmZvckVhY2goKFtlLHJdKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2dldCgpe3JldHVybiguLi5uKT0+ciguLi5uKX19KX0pLHR9ZnVuY3Rpb24gT2UodCxlLHIpe2xldCBuPVtdO2Zvcig7bi5sZW5ndGg7KW4ucG9wKCkoKTtsZXQgaT1PYmplY3QuZW50cmllcyhlKS5tYXAoKFtzLGFdKT0+KHtuYW1lOnMsdmFsdWU6YX0pKSxvPWJlKGkpO3JldHVybiBpPWkubWFwKHM9Pm8uZmluZChhPT5hLm5hbWU9PT1zLm5hbWUpP3tuYW1lOmB4LWJpbmQ6JHtzLm5hbWV9YCx2YWx1ZTpgIiR7cy52YWx1ZX0iYH06cykscHQodCxpLHIpLm1hcChzPT57bi5wdXNoKHMucnVuQ2xlYW51cHMpLHMoKX0pLCgpPT57Zm9yKDtuLmxlbmd0aDspbi5wb3AoKSgpfX12YXIgdG49e307ZnVuY3Rpb24gZW4odCxlKXt0blt0XT1lfWZ1bmN0aW9uIHJuKHQsZSl7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHRuKS5mb3JFYWNoKChbcixuXSk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtnZXQoKXtyZXR1cm4oLi4uaSk9Pm4uYmluZChlKSguLi5pKX0sZW51bWVyYWJsZTohMX0pfSksdH12YXIgbWk9e2dldCByZWFjdGl2ZSgpe3JldHVybiBDfSxnZXQgcmVsZWFzZSgpe3JldHVybiBqfSxnZXQgZWZmZWN0KCl7cmV0dXJuIFJ9LGdldCByYXcoKXtyZXR1cm4gc2V9LGdldCB0cmFuc2FjdGlvbigpe3JldHVybiBYZX0sdmVyc2lvbjoiMy4xNS4xMiIsZmx1c2hBbmRTdG9wRGVmZXJyaW5nTXV0YXRpb25zOmlyLGRvbnRBdXRvRXZhbHVhdGVGdW5jdGlvbnM6TXQsZGlzYWJsZUVmZmVjdFNjaGVkdWxpbmc6R2Usc3RhcnRPYnNlcnZpbmdNdXRhdGlvbnM6dXQsc3RvcE9ic2VydmluZ011dGF0aW9uczpmZSxzZXRSZWFjdGl2aXR5RW5naW5lOkplLG9uQXR0cmlidXRlUmVtb3ZlZDpPdCxvbkF0dHJpYnV0ZXNBZGRlZDpBdCxjbG9zZXN0RGF0YVN0YWNrOkYsc2tpcER1cmluZ0Nsb25lOnYsb25seUR1cmluZ0Nsb25lOkxyLGFkZFJvb3RTZWxlY3RvcjpEdCxhZGRJbml0U2VsZWN0b3I6SXQsc2V0RXJyb3JIYW5kbGVyOmxyLGludGVyY2VwdENsb25lOlYsYWRkU2NvcGVUb05vZGU6TixkZWZlck11dGF0aW9uczpucixtYXBBdHRyaWJ1dGVzOm90LGV2YWx1YXRlTGF0ZXI6XyxpbnRlcmNlcHRJbml0OlByLGluaXRJbnRlcmNlcHRvcnM6cnQsaW5qZWN0TWFnaWNzOkgsc2V0RXZhbHVhdG9yOmZyLHNldFJhd0V2YWx1YXRvcjpwcixtZXJnZVByb3hpZXM6UCxleHRyYWN0UHJvcDpxcixmaW5kQ2xvc2VzdDpBLG9uRWxSZW1vdmVkOmV0LGNsb3Nlc3RSb290OlksZGVzdHJveVRyZWU6SSxpbnRlcmNlcHRvcjpUdCx0cmFuc2l0aW9uOiR0LHNldFN0eWxlczpYLG11dGF0ZURvbTptLGRpcmVjdGl2ZTpwLGVudGFuZ2xlOnp0LHRocm90dGxlOkJ0LGRlYm91bmNlOkZ0LGV2YWx1YXRlOlQsZXZhbHVhdGVSYXc6aHIsaW5pdFRyZWU6UyxuZXh0VGljazpzdCxwcmVmaXhlZDpPLHByZWZpeDpncixwbHVnaW46V3IsbWFnaWM6eCxzdG9yZTpKcixzdGFydDpPcixjbG9uZTpCcixjbG9uZU5vZGU6RnIsYm91bmQ6VXIsJGRhdGE6Q3Qsd2F0Y2g6U3Qsd2FsazpELGRhdGE6ZW4sYmluZDpacn0sQj1taTtmdW5jdGlvbiBDZSh0LGUpe2xldCByPU9iamVjdC5jcmVhdGUobnVsbCksbj10LnNwbGl0KCIsIik7Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDtpKyspcltuW2ldXT0hMDtyZXR1cm4gZT9pPT4hIXJbaS50b0xvd2VyQ2FzZSgpXTppPT4hIXJbaV19dmFyIGhpPSJpdGVtc2NvcGUsYWxsb3dmdWxsc2NyZWVuLGZvcm1ub3ZhbGlkYXRlLGlzbWFwLG5vbW9kdWxlLG5vdmFsaWRhdGUscmVhZG9ubHkiO3ZhciBxcz1DZShoaSsiLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjb250cm9scyxkZWZhdWx0LGRlZmVyLGRpc2FibGVkLGhpZGRlbixsb29wLG9wZW4scmVxdWlyZWQscmV2ZXJzZWQsc2NvcGVkLHNlYW1sZXNzLGNoZWNrZWQsbXV0ZWQsbXVsdGlwbGUsc2VsZWN0ZWQiKTt2YXIgbm49T2JqZWN0LmZyZWV6ZSh7fSksS3M9T2JqZWN0LmZyZWV6ZShbXSk7dmFyIF9pPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYnQ9KHQsZSk9Pl9pLmNhbGwodCxlKSxVPUFycmF5LmlzQXJyYXksYXQ9dD0+b24odCk9PT0iW29iamVjdCBNYXBdIjt2YXIgZ2k9dD0+dHlwZW9mIHQ9PSJzdHJpbmciLEh0PXQ9PnR5cGVvZiB0PT0ic3ltYm9sIix3dD10PT50IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiO3ZhciB4aT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLG9uPXQ9PnhpLmNhbGwodCksVGU9dD0+b24odCkuc2xpY2UoOCwtMSk7dmFyIFZ0PXQ9PmdpKHQpJiZ0IT09Ik5hTiImJnRbMF0hPT0iLSImJiIiK3BhcnNlSW50KHQsMTApPT09dDt2YXIgVXQ9dD0+e2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIHI9PmVbcl18fChlW3JdPXQocikpfSx5aT0vLShcdykvZyxXcz1VdCh0PT50LnJlcGxhY2UoeWksKGUscik9PnI/ci50b1VwcGVyQ2FzZSgpOiIiKSksYmk9L1xCKFtBLVpdKS9nLEdzPVV0KHQ9PnQucmVwbGFjZShiaSwiLSQxIikudG9Mb3dlckNhc2UoKSksTWU9VXQodD0+dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpKSxKcz1VdCh0PT50P2BvbiR7TWUodCl9YDoiIiksUmU9KHQsZSk9PnQhPT1lJiYodD09PXR8fGU9PT1lKTt2YXIgTmU9bmV3IFdlYWtNYXAsRXQ9W10sJCxRPVN5bWJvbCgiaXRlcmF0ZSIpLFBlPVN5bWJvbCgiTWFwIGtleSBpdGVyYXRlIik7ZnVuY3Rpb24gd2kodCl7cmV0dXJuIHQmJnQuX2lzRWZmZWN0PT09ITB9ZnVuY3Rpb24gZm4odCxlPW5uKXt3aSh0KSYmKHQ9dC5yYXcpO2xldCByPVNpKHQsZSk7cmV0dXJuIGUubGF6eXx8cigpLHJ9ZnVuY3Rpb24gZG4odCl7dC5hY3RpdmUmJihwbih0KSx0Lm9wdGlvbnMub25TdG9wJiZ0Lm9wdGlvbnMub25TdG9wKCksdC5hY3RpdmU9ITEpfXZhciBFaT0wO2Z1bmN0aW9uIFNpKHQsZSl7bGV0IHI9ZnVuY3Rpb24oKXtpZighci5hY3RpdmUpcmV0dXJuIHQoKTtpZighRXQuaW5jbHVkZXMocikpe3BuKHIpO3RyeXtyZXR1cm4gQWkoKSxFdC5wdXNoKHIpLCQ9cix0KCl9ZmluYWxseXtFdC5wb3AoKSxtbigpLCQ9RXRbRXQubGVuZ3RoLTFdfX19O3JldHVybiByLmlkPUVpKyssci5hbGxvd1JlY3Vyc2U9ISFlLmFsbG93UmVjdXJzZSxyLl9pc0VmZmVjdD0hMCxyLmFjdGl2ZT0hMCxyLnJhdz10LHIuZGVwcz1bXSxyLm9wdGlvbnM9ZSxyfWZ1bmN0aW9uIHBuKHQpe2xldHtkZXBzOmV9PXQ7aWYoZS5sZW5ndGgpe2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWVbcl0uZGVsZXRlKHQpO2UubGVuZ3RoPTB9fXZhciBjdD0hMCxJZT1bXTtmdW5jdGlvbiB2aSgpe0llLnB1c2goY3QpLGN0PSExfWZ1bmN0aW9uIEFpKCl7SWUucHVzaChjdCksY3Q9ITB9ZnVuY3Rpb24gbW4oKXtsZXQgdD1JZS5wb3AoKTtjdD10PT09dm9pZCAwPyEwOnR9ZnVuY3Rpb24gTSh0LGUscil7aWYoIWN0fHwkPT09dm9pZCAwKXJldHVybjtsZXQgbj1OZS5nZXQodCk7bnx8TmUuc2V0KHQsbj1uZXcgTWFwKTtsZXQgaT1uLmdldChyKTtpfHxuLnNldChyLGk9bmV3IFNldCksaS5oYXMoJCl8fChpLmFkZCgkKSwkLmRlcHMucHVzaChpKSwkLm9wdGlvbnMub25UcmFjayYmJC5vcHRpb25zLm9uVHJhY2soe2VmZmVjdDokLHRhcmdldDp0LHR5cGU6ZSxrZXk6cn0pKX1mdW5jdGlvbiBLKHQsZSxyLG4saSxvKXtsZXQgcz1OZS5nZXQodCk7aWYoIXMpcmV0dXJuO2xldCBhPW5ldyBTZXQsYz11PT57dSYmdS5mb3JFYWNoKGY9PnsoZiE9PSR8fGYuYWxsb3dSZWN1cnNlKSYmYS5hZGQoZil9KX07aWYoZT09PSJjbGVhciIpcy5mb3JFYWNoKGMpO2Vsc2UgaWYocj09PSJsZW5ndGgiJiZVKHQpKXMuZm9yRWFjaCgodSxmKT0+eyhmPT09Imxlbmd0aCJ8fGY+PW4pJiZjKHUpfSk7ZWxzZSBzd2l0Y2gociE9PXZvaWQgMCYmYyhzLmdldChyKSksZSl7Y2FzZSJhZGQiOlUodCk/VnQocikmJmMocy5nZXQoImxlbmd0aCIpKTooYyhzLmdldChRKSksYXQodCkmJmMocy5nZXQoUGUpKSk7YnJlYWs7Y2FzZSJkZWxldGUiOlUodCl8fChjKHMuZ2V0KFEpKSxhdCh0KSYmYyhzLmdldChQZSkpKTticmVhaztjYXNlInNldCI6YXQodCkmJmMocy5nZXQoUSkpO2JyZWFrfWxldCBsPXU9Pnt1Lm9wdGlvbnMub25UcmlnZ2VyJiZ1Lm9wdGlvbnMub25UcmlnZ2VyKHtlZmZlY3Q6dSx0YXJnZXQ6dCxrZXk6cix0eXBlOmUsbmV3VmFsdWU6bixvbGRWYWx1ZTppLG9sZFRhcmdldDpvfSksdS5vcHRpb25zLnNjaGVkdWxlcj91Lm9wdGlvbnMuc2NoZWR1bGVyKHUpOnUoKX07YS5mb3JFYWNoKGwpfXZhciBPaT1DZSgiX19wcm90b19fLF9fdl9pc1JlZixfX2lzVnVlIiksaG49bmV3IFNldChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhTeW1ib2wpLm1hcCh0PT5TeW1ib2xbdF0pLmZpbHRlcihIdCkpLENpPV9uKCk7dmFyIFRpPV9uKCEwKTt2YXIgc249TWkoKTtmdW5jdGlvbiBNaSgpe2xldCB0PXt9O3JldHVyblsiaW5jbHVkZXMiLCJpbmRleE9mIiwibGFzdEluZGV4T2YiXS5mb3JFYWNoKGU9Pnt0W2VdPWZ1bmN0aW9uKC4uLnIpe2xldCBuPWgodGhpcyk7Zm9yKGxldCBvPTAscz10aGlzLmxlbmd0aDtvPHM7bysrKU0obiwiZ2V0IixvKyIiKTtsZXQgaT1uW2VdKC4uLnIpO3JldHVybiBpPT09LTF8fGk9PT0hMT9uW2VdKC4uLnIubWFwKGgpKTppfX0pLFsicHVzaCIsInBvcCIsInNoaWZ0IiwidW5zaGlmdCIsInNwbGljZSJdLmZvckVhY2goZT0+e3RbZV09ZnVuY3Rpb24oLi4ucil7dmkoKTtsZXQgbj1oKHRoaXMpW2VdLmFwcGx5KHRoaXMscik7cmV0dXJuIG1uKCksbn19KSx0fWZ1bmN0aW9uIF9uKHQ9ITEsZT0hMSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxvKXtpZihpPT09Il9fdl9pc1JlYWN0aXZlIilyZXR1cm4hdDtpZihpPT09Il9fdl9pc1JlYWRvbmx5IilyZXR1cm4gdDtpZihpPT09Il9fdl9yYXciJiZvPT09KHQ/ZT9xaTpibjplP1VpOnluKS5nZXQobikpcmV0dXJuIG47bGV0IHM9VShuKTtpZighdCYmcyYmYnQoc24saSkpcmV0dXJuIFJlZmxlY3QuZ2V0KHNuLGksbyk7bGV0IGE9UmVmbGVjdC5nZXQobixpLG8pO3JldHVybihIdChpKT9obi5oYXMoaSk6T2koaSkpfHwodHx8TShuLCJnZXQiLGkpLGUpP2E6RGUoYSk/IXN8fCFWdChpKT9hLnZhbHVlOmE6d3QoYSk/dD93bihhKTpYdChhKTphfX12YXIgUmk9TmkoKTtmdW5jdGlvbiBOaSh0PSExKXtyZXR1cm4gZnVuY3Rpb24ocixuLGksbyl7bGV0IHM9cltuXTtpZighdCYmKGk9aChpKSxzPWgocyksIVUocikmJkRlKHMpJiYhRGUoaSkpKXJldHVybiBzLnZhbHVlPWksITA7bGV0IGE9VShyKSYmVnQobik/TnVtYmVyKG4pPHIubGVuZ3RoOmJ0KHIsbiksYz1SZWZsZWN0LnNldChyLG4saSxvKTtyZXR1cm4gcj09PWgobykmJihhP1JlKGkscykmJksociwic2V0IixuLGkscyk6SyhyLCJhZGQiLG4saSkpLGN9fWZ1bmN0aW9uIFBpKHQsZSl7bGV0IHI9YnQodCxlKSxuPXRbZV0saT1SZWZsZWN0LmRlbGV0ZVByb3BlcnR5KHQsZSk7cmV0dXJuIGkmJnImJksodCwiZGVsZXRlIixlLHZvaWQgMCxuKSxpfWZ1bmN0aW9uIERpKHQsZSl7bGV0IHI9UmVmbGVjdC5oYXModCxlKTtyZXR1cm4oIUh0KGUpfHwhaG4uaGFzKGUpKSYmTSh0LCJoYXMiLGUpLHJ9ZnVuY3Rpb24gSWkodCl7cmV0dXJuIE0odCwiaXRlcmF0ZSIsVSh0KT8ibGVuZ3RoIjpRKSxSZWZsZWN0Lm93bktleXModCl9dmFyIGtpPXtnZXQ6Q2ksc2V0OlJpLGRlbGV0ZVByb3BlcnR5OlBpLGhhczpEaSxvd25LZXlzOklpfSwkaT17Z2V0OlRpLHNldCh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oYFNldCBvcGVyYXRpb24gb24ga2V5ICIke1N0cmluZyhlKX0iIGZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LmAsdCksITB9LGRlbGV0ZVByb3BlcnR5KHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybihgRGVsZXRlIG9wZXJhdGlvbiBvbiBrZXkgIiR7U3RyaW5nKGUpfSIgZmFpbGVkOiB0YXJnZXQgaXMgcmVhZG9ubHkuYCx0KSwhMH19O3ZhciBrZT10PT53dCh0KT9YdCh0KTp0LCRlPXQ9Pnd0KHQpP3duKHQpOnQsTGU9dD0+dCxZdD10PT5SZWZsZWN0LmdldFByb3RvdHlwZU9mKHQpO2Z1bmN0aW9uIHF0KHQsZSxyPSExLG49ITEpe3Q9dC5fX3ZfcmF3O2xldCBpPWgodCksbz1oKGUpO2UhPT1vJiYhciYmTShpLCJnZXQiLGUpLCFyJiZNKGksImdldCIsbyk7bGV0e2hhczpzfT1ZdChpKSxhPW4/TGU6cj8kZTprZTtpZihzLmNhbGwoaSxlKSlyZXR1cm4gYSh0LmdldChlKSk7aWYocy5jYWxsKGksbykpcmV0dXJuIGEodC5nZXQobykpO3QhPT1pJiZ0LmdldChlKX1mdW5jdGlvbiBLdCh0LGU9ITEpe2xldCByPXRoaXMuX192X3JhdyxuPWgociksaT1oKHQpO3JldHVybiB0IT09aSYmIWUmJk0obiwiaGFzIix0KSwhZSYmTShuLCJoYXMiLGkpLHQ9PT1pP3IuaGFzKHQpOnIuaGFzKHQpfHxyLmhhcyhpKX1mdW5jdGlvbiBXdCh0LGU9ITEpe3JldHVybiB0PXQuX192X3JhdywhZSYmTShoKHQpLCJpdGVyYXRlIixRKSxSZWZsZWN0LmdldCh0LCJzaXplIix0KX1mdW5jdGlvbiBhbih0KXt0PWgodCk7bGV0IGU9aCh0aGlzKTtyZXR1cm4gWXQoZSkuaGFzLmNhbGwoZSx0KXx8KGUuYWRkKHQpLEsoZSwiYWRkIix0LHQpKSx0aGlzfWZ1bmN0aW9uIGNuKHQsZSl7ZT1oKGUpO2xldCByPWgodGhpcykse2hhczpuLGdldDppfT1ZdChyKSxvPW4uY2FsbChyLHQpO28/eG4ocixuLHQpOih0PWgodCksbz1uLmNhbGwocix0KSk7bGV0IHM9aS5jYWxsKHIsdCk7cmV0dXJuIHIuc2V0KHQsZSksbz9SZShlLHMpJiZLKHIsInNldCIsdCxlLHMpOksociwiYWRkIix0LGUpLHRoaXN9ZnVuY3Rpb24gbG4odCl7bGV0IGU9aCh0aGlzKSx7aGFzOnIsZ2V0Om59PVl0KGUpLGk9ci5jYWxsKGUsdCk7aT94bihlLHIsdCk6KHQ9aCh0KSxpPXIuY2FsbChlLHQpKTtsZXQgbz1uP24uY2FsbChlLHQpOnZvaWQgMCxzPWUuZGVsZXRlKHQpO3JldHVybiBpJiZLKGUsImRlbGV0ZSIsdCx2b2lkIDAsbyksc31mdW5jdGlvbiB1bigpe2xldCB0PWgodGhpcyksZT10LnNpemUhPT0wLHI9YXQodCk/bmV3IE1hcCh0KTpuZXcgU2V0KHQpLG49dC5jbGVhcigpO3JldHVybiBlJiZLKHQsImNsZWFyIix2b2lkIDAsdm9pZCAwLHIpLG59ZnVuY3Rpb24gR3QodCxlKXtyZXR1cm4gZnVuY3Rpb24obixpKXtsZXQgbz10aGlzLHM9by5fX3ZfcmF3LGE9aChzKSxjPWU/TGU6dD8kZTprZTtyZXR1cm4hdCYmTShhLCJpdGVyYXRlIixRKSxzLmZvckVhY2goKGwsdSk9Pm4uY2FsbChpLGMobCksYyh1KSxvKSl9fWZ1bmN0aW9uIEp0KHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24oLi4ubil7bGV0IGk9dGhpcy5fX3ZfcmF3LG89aChpKSxzPWF0KG8pLGE9dD09PSJlbnRyaWVzInx8dD09PVN5bWJvbC5pdGVyYXRvciYmcyxjPXQ9PT0ia2V5cyImJnMsbD1pW3RdKC4uLm4pLHU9cj9MZTplPyRlOmtlO3JldHVybiFlJiZNKG8sIml0ZXJhdGUiLGM/UGU6USkse25leHQoKXtsZXR7dmFsdWU6Zixkb25lOmJ9PWwubmV4dCgpO3JldHVybiBiP3t2YWx1ZTpmLGRvbmU6Yn06e3ZhbHVlOmE/W3UoZlswXSksdShmWzFdKV06dShmKSxkb25lOmJ9fSxbU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfX19fWZ1bmN0aW9uIHEodCl7cmV0dXJuIGZ1bmN0aW9uKC4uLmUpe3tsZXQgcj1lWzBdP2BvbiBrZXkgIiR7ZVswXX0iIGA6IiI7Y29uc29sZS53YXJuKGAke01lKHQpfSBvcGVyYXRpb24gJHtyfWZhaWxlZDogdGFyZ2V0IGlzIHJlYWRvbmx5LmAsaCh0aGlzKSl9cmV0dXJuIHQ9PT0iZGVsZXRlIj8hMTp0aGlzfX1mdW5jdGlvbiBMaSgpe2xldCB0PXtnZXQobyl7cmV0dXJuIHF0KHRoaXMsbyl9LGdldCBzaXplKCl7cmV0dXJuIFd0KHRoaXMpfSxoYXM6S3QsYWRkOmFuLHNldDpjbixkZWxldGU6bG4sY2xlYXI6dW4sZm9yRWFjaDpHdCghMSwhMSl9LGU9e2dldChvKXtyZXR1cm4gcXQodGhpcyxvLCExLCEwKX0sZ2V0IHNpemUoKXtyZXR1cm4gV3QodGhpcyl9LGhhczpLdCxhZGQ6YW4sc2V0OmNuLGRlbGV0ZTpsbixjbGVhcjp1bixmb3JFYWNoOkd0KCExLCEwKX0scj17Z2V0KG8pe3JldHVybiBxdCh0aGlzLG8sITApfSxnZXQgc2l6ZSgpe3JldHVybiBXdCh0aGlzLCEwKX0saGFzKG8pe3JldHVybiBLdC5jYWxsKHRoaXMsbywhMCl9LGFkZDpxKCJhZGQiKSxzZXQ6cSgic2V0IiksZGVsZXRlOnEoImRlbGV0ZSIpLGNsZWFyOnEoImNsZWFyIiksZm9yRWFjaDpHdCghMCwhMSl9LG49e2dldChvKXtyZXR1cm4gcXQodGhpcyxvLCEwLCEwKX0sZ2V0IHNpemUoKXtyZXR1cm4gV3QodGhpcywhMCl9LGhhcyhvKXtyZXR1cm4gS3QuY2FsbCh0aGlzLG8sITApfSxhZGQ6cSgiYWRkIiksc2V0OnEoInNldCIpLGRlbGV0ZTpxKCJkZWxldGUiKSxjbGVhcjpxKCJjbGVhciIpLGZvckVhY2g6R3QoITAsITApfTtyZXR1cm5bImtleXMiLCJ2YWx1ZXMiLCJlbnRyaWVzIixTeW1ib2wuaXRlcmF0b3JdLmZvckVhY2gobz0+e3Rbb109SnQobywhMSwhMSkscltvXT1KdChvLCEwLCExKSxlW29dPUp0KG8sITEsITApLG5bb109SnQobywhMCwhMCl9KSxbdCxyLGUsbl19dmFyW2ppLEZpLEJpLHppXT1MaSgpO2Z1bmN0aW9uIGduKHQsZSl7bGV0IHI9ZT90P3ppOkJpOnQ/Rmk6amk7cmV0dXJuKG4saSxvKT0+aT09PSJfX3ZfaXNSZWFjdGl2ZSI/IXQ6aT09PSJfX3ZfaXNSZWFkb25seSI/dDppPT09Il9fdl9yYXciP246UmVmbGVjdC5nZXQoYnQocixpKSYmaSBpbiBuP3I6bixpLG8pfXZhciBIaT17Z2V0OmduKCExLCExKX07dmFyIFZpPXtnZXQ6Z24oITAsITEpfTtmdW5jdGlvbiB4bih0LGUscil7bGV0IG49aChyKTtpZihuIT09ciYmZS5jYWxsKHQsbikpe2xldCBpPVRlKHQpO2NvbnNvbGUud2FybihgUmVhY3RpdmUgJHtpfSBjb250YWlucyBib3RoIHRoZSByYXcgYW5kIHJlYWN0aXZlIHZlcnNpb25zIG9mIHRoZSBzYW1lIG9iamVjdCR7aT09PSJNYXAiPyIgYXMga2V5cyI6IiJ9LCB3aGljaCBjYW4gbGVhZCB0byBpbmNvbnNpc3RlbmNpZXMuIEF2b2lkIGRpZmZlcmVudGlhdGluZyBiZXR3ZWVuIHRoZSByYXcgYW5kIHJlYWN0aXZlIHZlcnNpb25zIG9mIGFuIG9iamVjdCBhbmQgb25seSB1c2UgdGhlIHJlYWN0aXZlIHZlcnNpb24gaWYgcG9zc2libGUuYCl9fXZhciB5bj1uZXcgV2Vha01hcCxVaT1uZXcgV2Vha01hcCxibj1uZXcgV2Vha01hcCxxaT1uZXcgV2Vha01hcDtmdW5jdGlvbiBLaSh0KXtzd2l0Y2godCl7Y2FzZSJPYmplY3QiOmNhc2UiQXJyYXkiOnJldHVybiAxO2Nhc2UiTWFwIjpjYXNlIlNldCI6Y2FzZSJXZWFrTWFwIjpjYXNlIldlYWtTZXQiOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIFdpKHQpe3JldHVybiB0Ll9fdl9za2lwfHwhT2JqZWN0LmlzRXh0ZW5zaWJsZSh0KT8wOktpKFRlKHQpKX1mdW5jdGlvbiBYdCh0KXtyZXR1cm4gdCYmdC5fX3ZfaXNSZWFkb25seT90OkVuKHQsITEsa2ksSGkseW4pfWZ1bmN0aW9uIHduKHQpe3JldHVybiBFbih0LCEwLCRpLFZpLGJuKX1mdW5jdGlvbiBFbih0LGUscixuLGkpe2lmKCF3dCh0KSlyZXR1cm4gY29uc29sZS53YXJuKGB2YWx1ZSBjYW5ub3QgYmUgbWFkZSByZWFjdGl2ZTogJHtTdHJpbmcodCl9YCksdDtpZih0Ll9fdl9yYXcmJiEoZSYmdC5fX3ZfaXNSZWFjdGl2ZSkpcmV0dXJuIHQ7bGV0IG89aS5nZXQodCk7aWYobylyZXR1cm4gbztsZXQgcz1XaSh0KTtpZihzPT09MClyZXR1cm4gdDtsZXQgYT1uZXcgUHJveHkodCxzPT09Mj9uOnIpO3JldHVybiBpLnNldCh0LGEpLGF9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdCYmaCh0Ll9fdl9yYXcpfHx0fWZ1bmN0aW9uIERlKHQpe3JldHVybiBCb29sZWFuKHQmJnQuX192X2lzUmVmPT09ITApfXgoIm5leHRUaWNrIiwoKT0+c3QpO3goImRpc3BhdGNoIix0PT5KLmJpbmQoSix0KSk7eCgid2F0Y2giLCh0LHtldmFsdWF0ZUxhdGVyOmUsY2xlYW51cDpyfSk9PihuLGkpPT57bGV0IG89ZShuKSxhPVN0KCgpPT57bGV0IGM7cmV0dXJuIG8obD0+Yz1sKSxjfSxpKTtyKGEpfSk7eCgic3RvcmUiLFlyKTt4KCJkYXRhIix0PT5DdCh0KSk7eCgicm9vdCIsdD0+WSh0KSk7eCgicmVmcyIsdD0+KHQuX3hfcmVmc19wcm94eXx8KHQuX3hfcmVmc19wcm94eT1QKEdpKHQpKSksdC5feF9yZWZzX3Byb3h5KSk7ZnVuY3Rpb24gR2kodCl7bGV0IGU9W107cmV0dXJuIEEodCxyPT57ci5feF9yZWZzJiZlLnB1c2goci5feF9yZWZzKX0pLGV9dmFyIGplPXt9O2Z1bmN0aW9uIEZlKHQpe3JldHVybiBqZVt0XXx8KGplW3RdPTApLCsramVbdF19ZnVuY3Rpb24gU24odCxlKXtyZXR1cm4gQSh0LHI9PntpZihyLl94X2lkcyYmci5feF9pZHNbZV0pcmV0dXJuITB9KX1mdW5jdGlvbiB2bih0LGUpe3QuX3hfaWRzfHwodC5feF9pZHM9e30pLHQuX3hfaWRzW2VdfHwodC5feF9pZHNbZV09RmUoZSkpfXgoImlkIiwodCx7Y2xlYW51cDplfSk9PihyLG49bnVsbCk9PntsZXQgaT1gJHtyfSR7bj9gLSR7bn1gOiIifWA7cmV0dXJuIEppKHQsaSxlLCgpPT57bGV0IG89U24odCxyKSxzPW8/by5feF9pZHNbcl06RmUocik7cmV0dXJuIG4/YCR7cn0tJHtzfS0ke259YDpgJHtyfS0ke3N9YH0pfSk7VigodCxlKT0+e3QuX3hfaWQmJihlLl94X2lkPXQuX3hfaWQpfSk7ZnVuY3Rpb24gSmkodCxlLHIsbil7aWYodC5feF9pZHx8KHQuX3hfaWQ9e30pLHQuX3hfaWRbZV0pcmV0dXJuIHQuX3hfaWRbZV07bGV0IGk9bigpO3JldHVybiB0Ll94X2lkW2VdPWkscigoKT0+e2RlbGV0ZSB0Ll94X2lkW2VdfSksaX14KCJlbCIsdD0+dCk7QW4oIkZvY3VzIiwiZm9jdXMiLCJmb2N1cyIpO0FuKCJQZXJzaXN0IiwicGVyc2lzdCIsInBlcnNpc3QiKTtmdW5jdGlvbiBBbih0LGUscil7eChlLG49PkUoYFlvdSBjYW4ndCB1c2UgWyQke2V9XSB3aXRob3V0IGZpcnN0IGluc3RhbGxpbmcgdGhlICIke3R9IiBwbHVnaW4gaGVyZTogaHR0cHM6Ly9hbHBpbmVqcy5kZXYvcGx1Z2lucy8ke3J9YCxuKSl9cCgibW9kZWxhYmxlIiwodCx7ZXhwcmVzc2lvbjplfSx7ZWZmZWN0OnIsZXZhbHVhdGVMYXRlcjpuLGNsZWFudXA6aX0pPT57bGV0IG89bihlKSxzPSgpPT57bGV0IHU7cmV0dXJuIG8oZj0+dT1mKSx1fSxhPW4oYCR7ZX0gPSBfX3BsYWNlaG9sZGVyYCksYz11PT5hKCgpPT57fSx7c2NvcGU6e19fcGxhY2Vob2xkZXI6dX19KSxsPXMoKTtjKGwpLHF1ZXVlTWljcm90YXNrKCgpPT57aWYoIXQuX3hfbW9kZWwpcmV0dXJuO3QuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnMuZGVmYXVsdCgpO2xldCB1PXQuX3hfbW9kZWwuZ2V0LGY9dC5feF9tb2RlbC5zZXRXaXRoTW9kaWZpZXJzLGI9enQoe2dldCgpe3JldHVybiB1KCl9LHNldChnKXtmKGcpfX0se2dldCgpe3JldHVybiBzKCl9LHNldChnKXtjKGcpfX0pO2koYil9KX0pO3AoInRlbGVwb3J0IiwodCx7bW9kaWZpZXJzOmUsZXhwcmVzc2lvbjpyfSx7Y2xlYW51cDpufSk9Pnt0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSE9PSJ0ZW1wbGF0ZSImJkUoIngtdGVsZXBvcnQgY2FuIG9ubHkgYmUgdXNlZCBvbiBhIDx0ZW1wbGF0ZT4gdGFnIix0KTtsZXQgaT1PbihyKSxvPXQuY29udGVudC5jbG9uZU5vZGUoITApLmZpcnN0RWxlbWVudENoaWxkO3QuX3hfdGVsZXBvcnQ9byxvLl94X3RlbGVwb3J0QmFjaz10LHQuc2V0QXR0cmlidXRlKCJkYXRhLXRlbGVwb3J0LXRlbXBsYXRlIiwhMCksby5zZXRBdHRyaWJ1dGUoImRhdGEtdGVsZXBvcnQtdGFyZ2V0IiwhMCksdC5feF9mb3J3YXJkRXZlbnRzJiZ0Ll94X2ZvcndhcmRFdmVudHMuZm9yRWFjaChhPT57by5hZGRFdmVudExpc3RlbmVyKGEsYz0+e2Muc3RvcFByb3BhZ2F0aW9uKCksdC5kaXNwYXRjaEV2ZW50KG5ldyBjLmNvbnN0cnVjdG9yKGMudHlwZSxjKSl9KX0pLE4obyx7fSx0KTtsZXQgcz0oYSxjLGwpPT57bC5pbmNsdWRlcygicHJlcGVuZCIpP2MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxjKTpsLmluY2x1ZGVzKCJhcHBlbmQiKT9jLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsYy5uZXh0U2libGluZyk6Yy5hcHBlbmRDaGlsZChhKX07bSgoKT0+e3YoKCk9PntzKG8saSxlKSxTKG8pfSkoKX0pLHQuX3hfdGVsZXBvcnRQdXRCYWNrPSgpPT57bGV0IGE9T24ocik7bSgoKT0+e3ModC5feF90ZWxlcG9ydCxhLGUpfSl9LG4oKCk9Pm0oKCk9PntvLnJlbW92ZSgpLEkobyl9KSl9KTt2YXIgWWk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZnVuY3Rpb24gT24odCl7bGV0IGU9digoKT0+ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KSwoKT0+WWkpKCk7cmV0dXJuIGV8fEUoYENhbm5vdCBmaW5kIHgtdGVsZXBvcnQgZWxlbWVudCBmb3Igc2VsZWN0b3I6ICIke3R9ImApLGV9dmFyIENuPSgpPT57fTtDbi5pbmxpbmU9KHQse21vZGlmaWVyczplfSx7Y2xlYW51cDpyfSk9PntlLmluY2x1ZGVzKCJzZWxmIik/dC5feF9pZ25vcmVTZWxmPSEwOnQuX3hfaWdub3JlPSEwLHIoKCk9PntlLmluY2x1ZGVzKCJzZWxmIik/ZGVsZXRlIHQuX3hfaWdub3JlU2VsZjpkZWxldGUgdC5feF9pZ25vcmV9KX07cCgiaWdub3JlIixDbik7cCgiZWZmZWN0Iix2KCh0LHtleHByZXNzaW9uOmV9LHtlZmZlY3Q6cn0pPT57cihfKHQsZSkpfSkpO2Z1bmN0aW9uIHoodCxlLHIsbil7bGV0IGk9dCxvPWM9Pm4oYykscz17fSxhPShjLGwpPT51PT5sKGMsdSk7cmV0dXJuIHIuaW5jbHVkZXMoImRvdCIpJiYoZT1YaShlKSksci5pbmNsdWRlcygiY2FtZWwiKSYmKGU9WmkoZSkpLHIuaW5jbHVkZXMoImNhcHR1cmUiKSYmKHMuY2FwdHVyZT0hMCksci5pbmNsdWRlcygid2luZG93IikmJihpPXdpbmRvdyksci5pbmNsdWRlcygiZG9jdW1lbnQiKSYmKGk9ZG9jdW1lbnQpLHIuaW5jbHVkZXMoInBhc3NpdmUiKSYmKHMucGFzc2l2ZT1yW3IuaW5kZXhPZigicGFzc2l2ZSIpKzFdIT09ImZhbHNlIiksbz1CZShyLG8pLHIuaW5jbHVkZXMoInByZXZlbnQiKSYmKG89YShvLChjLGwpPT57bC5wcmV2ZW50RGVmYXVsdCgpLGMobCl9KSksci5pbmNsdWRlcygic3RvcCIpJiYobz1hKG8sKGMsbCk9PntsLnN0b3BQcm9wYWdhdGlvbigpLGMobCl9KSksci5pbmNsdWRlcygib25jZSIpJiYobz1hKG8sKGMsbCk9PntjKGwpLGkucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8scyl9KSksKHIuaW5jbHVkZXMoImF3YXkiKXx8ci5pbmNsdWRlcygib3V0c2lkZSIpKSYmKGk9ZG9jdW1lbnQsbz1hKG8sKGMsbCk9Pnt0LmNvbnRhaW5zKGwudGFyZ2V0KXx8bC50YXJnZXQuaXNDb25uZWN0ZWQhPT0hMSYmKHQub2Zmc2V0V2lkdGg8MSYmdC5vZmZzZXRIZWlnaHQ8MXx8dC5feF9pc1Nob3duIT09ITEmJmMobCkpfSkpLHIuaW5jbHVkZXMoInNlbGYiKSYmKG89YShvLChjLGwpPT57bC50YXJnZXQ9PT10JiZjKGwpfSkpLGU9PT0ic3VibWl0IiYmKG89YShvLChjLGwpPT57bC50YXJnZXQuX3hfcGVuZGluZ01vZGVsVXBkYXRlcyYmbC50YXJnZXQuX3hfcGVuZGluZ01vZGVsVXBkYXRlcy5mb3JFYWNoKHU9PnUoKSksYyhsKX0pKSwodG8oZSl8fE1uKGUpKSYmKG89YShvLChjLGwpPT57ZW8obCxyKXx8YyhsKX0pKSxpLmFkZEV2ZW50TGlzdGVuZXIoZSxvLHMpLCgpPT57aS5yZW1vdmVFdmVudExpc3RlbmVyKGUsbyxzKX19ZnVuY3Rpb24gQmUodCxlKXtpZih0LmluY2x1ZGVzKCJkZWJvdW5jZSIpKXtsZXQgcj10W3QuaW5kZXhPZigiZGVib3VuY2UiKSsxXXx8ImludmFsaWQtd2FpdCIsbj1adChyLnNwbGl0KCJtcyIpWzBdKT9OdW1iZXIoci5zcGxpdCgibXMiKVswXSk6MjUwO2U9RnQoZSxuKX1pZih0LmluY2x1ZGVzKCJ0aHJvdHRsZSIpKXtsZXQgcj10W3QuaW5kZXhPZigidGhyb3R0bGUiKSsxXXx8ImludmFsaWQtd2FpdCIsbj1adChyLnNwbGl0KCJtcyIpWzBdKT9OdW1iZXIoci5zcGxpdCgibXMiKVswXSk6MjUwO2U9QnQoZSxuKX1yZXR1cm4gZX1mdW5jdGlvbiBYaSh0KXtyZXR1cm4gdC5yZXBsYWNlKC8tL2csIi4iKX1mdW5jdGlvbiBaaSh0KXtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLy0oXHcpL2csKGUscik9PnIudG9VcHBlckNhc2UoKSl9ZnVuY3Rpb24gWnQodCl7cmV0dXJuIUFycmF5LmlzQXJyYXkodCkmJiFpc05hTih0KX1mdW5jdGlvbiBRaSh0KXtyZXR1cm5bIiAiLCJfIl0uaW5jbHVkZXModCk/dDp0LnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIiQxLSQyIikucmVwbGFjZSgvW19cc10vLCItIikudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiB0byh0KXtyZXR1cm5bImtleWRvd24iLCJrZXl1cCJdLmluY2x1ZGVzKHQpfWZ1bmN0aW9uIE1uKHQpe3JldHVyblsiY29udGV4dG1lbnUiLCJjbGljayIsIm1vdXNlIl0uc29tZShlPT50LmluY2x1ZGVzKGUpKX1mdW5jdGlvbiBlbyh0LGUpe2xldCByPWUuZmlsdGVyKG89PiFbIndpbmRvdyIsImRvY3VtZW50IiwicHJldmVudCIsInN0b3AiLCJvbmNlIiwiY2FwdHVyZSIsInNlbGYiLCJhd2F5Iiwib3V0c2lkZSIsInBhc3NpdmUiLCJwcmVzZXJ2ZS1zY3JvbGwiLCJibHVyIiwiY2hhbmdlIiwibGF6eSJdLmluY2x1ZGVzKG8pKTtpZihyLmluY2x1ZGVzKCJkZWJvdW5jZSIpKXtsZXQgbz1yLmluZGV4T2YoImRlYm91bmNlIik7ci5zcGxpY2UobyxadCgocltvKzFdfHwiaW52YWxpZC13YWl0Iikuc3BsaXQoIm1zIilbMF0pPzI6MSl9aWYoci5pbmNsdWRlcygidGhyb3R0bGUiKSl7bGV0IG89ci5pbmRleE9mKCJ0aHJvdHRsZSIpO3Iuc3BsaWNlKG8sWnQoKHJbbysxXXx8ImludmFsaWQtd2FpdCIpLnNwbGl0KCJtcyIpWzBdKT8yOjEpfWlmKHIubGVuZ3RoPT09MHx8ci5sZW5ndGg9PT0xJiZUbih0LmtleSkuaW5jbHVkZXMoclswXSkpcmV0dXJuITE7bGV0IGk9WyJjdHJsIiwic2hpZnQiLCJhbHQiLCJtZXRhIiwiY21kIiwic3VwZXIiXS5maWx0ZXIobz0+ci5pbmNsdWRlcyhvKSk7cmV0dXJuIHI9ci5maWx0ZXIobz0+IWkuaW5jbHVkZXMobykpLCEoaS5sZW5ndGg+MCYmaS5maWx0ZXIocz0+KChzPT09ImNtZCJ8fHM9PT0ic3VwZXIiKSYmKHM9Im1ldGEiKSx0W2Ake3N9S2V5YF0pKS5sZW5ndGg9PT1pLmxlbmd0aCYmKE1uKHQudHlwZSl8fFRuKHQua2V5KS5pbmNsdWRlcyhyWzBdKSkpfWZ1bmN0aW9uIFRuKHQpe2lmKCF0KXJldHVybltdO3Q9UWkodCk7bGV0IGU9e2N0cmw6ImNvbnRyb2wiLHNsYXNoOiIvIixzcGFjZToiICIsc3BhY2ViYXI6IiAiLGNtZDoibWV0YSIsZXNjOiJlc2NhcGUiLHVwOiJhcnJvdy11cCIsZG93bjoiYXJyb3ctZG93biIsbGVmdDoiYXJyb3ctbGVmdCIscmlnaHQ6ImFycm93LXJpZ2h0IixwZXJpb2Q6Ii4iLGNvbW1hOiIsIixlcXVhbDoiPSIsbWludXM6Ii0iLHVuZGVyc2NvcmU6Il8ifTtyZXR1cm4gZVt0XT10LE9iamVjdC5rZXlzKGUpLm1hcChyPT57aWYoZVtyXT09PXQpcmV0dXJuIHJ9KS5maWx0ZXIocj0+cil9cCgibW9kZWwiLCh0LHttb2RpZmllcnM6ZSxleHByZXNzaW9uOnJ9LHtlZmZlY3Q6bixjbGVhbnVwOml9KT0+e2xldCBvPXQ7ZS5pbmNsdWRlcygicGFyZW50IikmJihvPUEodCxkPT5kIT09dCkpO2xldCBzPV8obyxyKSxhO3R5cGVvZiByPT0ic3RyaW5nIj9hPV8obyxgJHtyfSA9IF9fcGxhY2Vob2xkZXJgKTp0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmdHlwZW9mIHIoKT09InN0cmluZyI/YT1fKG8sYCR7cigpfSA9IF9fcGxhY2Vob2xkZXJgKTphPSgpPT57fTtsZXQgYz0oKT0+e2xldCBkO3JldHVybiBzKHk9PmQ9eSksUm4oZCk/ZC5nZXQoKTpkfSxsPWQ9PntsZXQgeTtzKHc9Pnk9dyksUm4oeSk/eS5zZXQoZCk6YSgoKT0+e30se3Njb3BlOntfX3BsYWNlaG9sZGVyOmR9fSl9O3R5cGVvZiByPT0ic3RyaW5nIiYmdC50eXBlPT09InJhZGlvIiYmbSgoKT0+e3QuaGFzQXR0cmlidXRlKCJuYW1lIil8fHQuc2V0QXR0cmlidXRlKCJuYW1lIixyKX0pO2xldCB1PWUuaW5jbHVkZXMoImNoYW5nZSIpfHxlLmluY2x1ZGVzKCJsYXp5IiksZj1lLmluY2x1ZGVzKCJibHVyIiksYj1lLmluY2x1ZGVzKCJlbnRlciIpLGc9dXx8Znx8YixMO2lmKGspTD0oKT0+e307ZWxzZSBpZihnKXtsZXQgZD1bXSx5PXc9PmwoUXQodCxlLHcsYygpKSk7aWYodSYmZC5wdXNoKHoodCwiY2hhbmdlIixlLHkpKSxmJiYoZC5wdXNoKHoodCwiYmx1ciIsZSx5KSksdC5mb3JtKSl7bGV0IHc9dC5mb3JtLHR0PSgpPT55KHt0YXJnZXQ6dH0pO3cuX3hfcGVuZGluZ01vZGVsVXBkYXRlc3x8KHcuX3hfcGVuZGluZ01vZGVsVXBkYXRlcz1bXSksdy5feF9wZW5kaW5nTW9kZWxVcGRhdGVzLnB1c2godHQpLGkoKCk9Pnt3Ll94X3BlbmRpbmdNb2RlbFVwZGF0ZXMmJncuX3hfcGVuZGluZ01vZGVsVXBkYXRlcy5zcGxpY2Uody5feF9wZW5kaW5nTW9kZWxVcGRhdGVzLmluZGV4T2YodHQpLDEpfSl9YiYmZC5wdXNoKHoodCwia2V5ZG93biIsZSx3PT57dy5rZXk9PT0iRW50ZXIiJiZ5KHcpfSkpLEw9KCk9PmQuZm9yRWFjaCh3PT53KCkpfWVsc2V7bGV0IGQ9dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0Inx8WyJjaGVja2JveCIsInJhZGlvIl0uaW5jbHVkZXModC50eXBlKT8iY2hhbmdlIjoiaW5wdXQiO0w9eih0LGQsZSx5PT57bChRdCh0LGUseSxjKCkpKX0pfWlmKGUuaW5jbHVkZXMoImZpbGwiKSYmKFt2b2lkIDAsbnVsbCwiIl0uaW5jbHVkZXMoYygpKXx8eXQodCkmJkFycmF5LmlzQXJyYXkoYygpKXx8dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2VsZWN0IiYmdC5tdWx0aXBsZSkmJmwoUXQodCxlLHt0YXJnZXQ6dH0sYygpKSksdC5feF9yZW1vdmVNb2RlbExpc3RlbmVyc3x8KHQuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnM9e30pLHQuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnMuZGVmYXVsdD1MLGkoKCk9PnQuX3hfcmVtb3ZlTW9kZWxMaXN0ZW5lcnMuZGVmYXVsdCgpKSx0LmZvcm0pe2xldCBkPXoodC5mb3JtLCJyZXNldCIsW10seT0+e3N0KCgpPT50Ll94X21vZGVsJiZ0Ll94X21vZGVsLnNldChRdCh0LGUse3RhcmdldDp0fSxjKCkpKSl9KTtpKCgpPT5kKCkpfXQuX3hfbW9kZWw9e2dldCgpe3JldHVybiBjKCl9LHNldChkKXtsKGQpfSxzZXRXaXRoTW9kaWZpZXJzOkJlKGUsbCl9LHQuX3hfZm9yY2VNb2RlbFVwZGF0ZT1kPT57ZD09PXZvaWQgMCYmdHlwZW9mIHI9PSJzdHJpbmciJiZyLm1hdGNoKC9cLi8pJiYoZD0iIiksbSgoKT0+e3l0KHQpP0FycmF5LmlzQXJyYXkoZCk/dC5jaGVja2VkPWQuc29tZSh5PT55PT10LnZhbHVlKTp0LmNoZWNrZWQ9ISFkOmp0KHQpP3R5cGVvZiBkPT0iYm9vbGVhbiI/dC5jaGVja2VkPXh0KHQudmFsdWUpPT09ZDp0LmNoZWNrZWQ9dC52YWx1ZT09ZDpndCh0LCJ2YWx1ZSIsZCl9KX0sbigoKT0+e2xldCBkPWMoKTtlLmluY2x1ZGVzKCJ1bmludHJ1c2l2ZSIpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlzU2FtZU5vZGUodCl8fHQuX3hfZm9yY2VNb2RlbFVwZGF0ZShkKX0pfSk7ZnVuY3Rpb24gUXQodCxlLHIsbil7cmV0dXJuIG0oKCk9PntpZihyIGluc3RhbmNlb2YgQ3VzdG9tRXZlbnQmJnIuZGV0YWlsIT09dm9pZCAwKXJldHVybiByLmRldGFpbCE9PW51bGwmJnIuZGV0YWlsIT09dm9pZCAwP3IuZGV0YWlsOnIudGFyZ2V0LnZhbHVlO2lmKHl0KHQpKWlmKEFycmF5LmlzQXJyYXkobikpe2xldCBpPW51bGw7cmV0dXJuIGUuaW5jbHVkZXMoIm51bWJlciIpP2k9emUoci50YXJnZXQudmFsdWUpOmUuaW5jbHVkZXMoImJvb2xlYW4iKT9pPXh0KHIudGFyZ2V0LnZhbHVlKTppPXIudGFyZ2V0LnZhbHVlLHIudGFyZ2V0LmNoZWNrZWQ/bi5pbmNsdWRlcyhpKT9uOm4uY29uY2F0KFtpXSk6bi5maWx0ZXIobz0+IXJvKG8saSkpfWVsc2UgcmV0dXJuIHIudGFyZ2V0LmNoZWNrZWQ7ZWxzZXtpZih0LnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJzZWxlY3QiJiZ0Lm11bHRpcGxlKXJldHVybiBlLmluY2x1ZGVzKCJudW1iZXIiKT9BcnJheS5mcm9tKHIudGFyZ2V0LnNlbGVjdGVkT3B0aW9ucykubWFwKGk9PntsZXQgbz1pLnZhbHVlfHxpLnRleHQ7cmV0dXJuIHplKG8pfSk6ZS5pbmNsdWRlcygiYm9vbGVhbiIpP0FycmF5LmZyb20oci50YXJnZXQuc2VsZWN0ZWRPcHRpb25zKS5tYXAoaT0+e2xldCBvPWkudmFsdWV8fGkudGV4dDtyZXR1cm4geHQobyl9KTpBcnJheS5mcm9tKHIudGFyZ2V0LnNlbGVjdGVkT3B0aW9ucykubWFwKGk9PmkudmFsdWV8fGkudGV4dCk7e2xldCBpO3JldHVybiBqdCh0KT9yLnRhcmdldC5jaGVja2VkP2k9ci50YXJnZXQudmFsdWU6aT1uOmk9ci50YXJnZXQudmFsdWUsZS5pbmNsdWRlcygibnVtYmVyIik/emUoaSk6ZS5pbmNsdWRlcygiYm9vbGVhbiIpP3h0KGkpOmUuaW5jbHVkZXMoInRyaW0iKT9pLnRyaW0oKTppfX19KX1mdW5jdGlvbiB6ZSh0KXtsZXQgZT10P3BhcnNlRmxvYXQodCk6bnVsbDtyZXR1cm4gbm8oZSk/ZTp0fWZ1bmN0aW9uIHJvKHQsZSl7cmV0dXJuIHQ9PWV9ZnVuY3Rpb24gbm8odCl7cmV0dXJuIUFycmF5LmlzQXJyYXkodCkmJiFpc05hTih0KX1mdW5jdGlvbiBSbih0KXtyZXR1cm4gdCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHQuZ2V0PT0iZnVuY3Rpb24iJiZ0eXBlb2YgdC5zZXQ9PSJmdW5jdGlvbiJ9cCgiY2xvYWsiLHQ9PnF1ZXVlTWljcm90YXNrKCgpPT5tKCgpPT50LnJlbW92ZUF0dHJpYnV0ZShPKCJjbG9hayIpKSkpKTtJdCgoKT0+YFske08oImluaXQiKX1dYCk7cCgiaW5pdCIsdigodCx7ZXhwcmVzc2lvbjplfSx7ZXZhbHVhdGU6cn0pPT50eXBlb2YgZT09InN0cmluZyI/ISFlLnRyaW0oKSYmcihlLHt9LCExKTpyKGUse30sITEpKSk7cCgidGV4dCIsKHQse2V4cHJlc3Npb246ZX0se2VmZmVjdDpyLGV2YWx1YXRlTGF0ZXI6bn0pPT57bGV0IGk9bihlKTtyKCgpPT57aShvPT57bSgoKT0+e3QudGV4dENvbnRlbnQ9b30pfSl9KX0pO3AoImh0bWwiLCh0LHtleHByZXNzaW9uOmV9LHtlZmZlY3Q6cixldmFsdWF0ZUxhdGVyOm59KT0+e2xldCBpPW4oZSk7cigoKT0+e2kobz0+e20oKCk9Pnt0LmlubmVySFRNTD1vPz8iIix0Ll94X2lnbm9yZVNlbGY9ITAsUyh0KSxkZWxldGUgdC5feF9pZ25vcmVTZWxmfSl9KX0pfSk7b3QoTnQoIjoiLFB0KE8oImJpbmQ6IikpKSk7dmFyIE5uPSh0LHt2YWx1ZTplLG1vZGlmaWVyczpyLGV4cHJlc3Npb246bixvcmlnaW5hbDppfSx7ZWZmZWN0Om8sY2xlYW51cDpzfSk9PntpZighZSl7bGV0IGM9e307UXIoYyksXyh0LG4pKHU9PntPZSh0LHUsaSl9LHtzY29wZTpjfSk7cmV0dXJufWlmKGU9PT0ia2V5IilyZXR1cm4gaW8odCxuKTtpZih0Ll94X2lubGluZUJpbmRpbmdzJiZ0Ll94X2lubGluZUJpbmRpbmdzW2VdJiZ0Ll94X2lubGluZUJpbmRpbmdzW2VdLmV4dHJhY3QpcmV0dXJuO2xldCBhPV8odCxuKTtvKCgpPT5hKGM9PntjPT09dm9pZCAwJiZ0eXBlb2Ygbj09InN0cmluZyImJm4ubWF0Y2goL1wuLykmJihjPSIiKSxtKCgpPT5ndCh0LGUsYyxyKSl9KSkscygoKT0+e3QuX3hfdW5kb0FkZGVkQ2xhc3NlcyYmdC5feF91bmRvQWRkZWRDbGFzc2VzKCksdC5feF91bmRvQWRkZWRTdHlsZXMmJnQuX3hfdW5kb0FkZGVkU3R5bGVzKCl9KX07Tm4uaW5saW5lPSh0LHt2YWx1ZTplLG1vZGlmaWVyczpyLGV4cHJlc3Npb246bn0pPT57ZSYmKHQuX3hfaW5saW5lQmluZGluZ3N8fCh0Ll94X2lubGluZUJpbmRpbmdzPXt9KSx0Ll94X2lubGluZUJpbmRpbmdzW2VdPXtleHByZXNzaW9uOm4sZXh0cmFjdDohMX0pfTtwKCJiaW5kIixObik7ZnVuY3Rpb24gaW8odCxlKXt0Ll94X2tleUV4cHJlc3Npb249ZX1EdCgoKT0+YFske08oImRhdGEiKX1dYCk7cCgiZGF0YSIsKHQse2V4cHJlc3Npb246ZX0se2NsZWFudXA6cn0pPT57aWYob28odCkpcmV0dXJuO2U9ZT09PSIiPyJ7fSI6ZTtsZXQgbj17fTtIKG4sdCk7bGV0IGk9e307cm4oaSxuKTtsZXQgbz1UKHQsZSx7c2NvcGU6aX0pOyhvPT09dm9pZCAwfHxvPT09ITApJiYobz17fSksSChvLHQpO2xldCBzPUMobyk7cnQocyk7bGV0IGE9Tih0LHMpO3MuaW5pdCYmVCh0LHMuaW5pdCkscigoKT0+e3MuZGVzdHJveSYmVCh0LHMuZGVzdHJveSksYSgpfSl9KTtWKCh0LGUpPT57dC5feF9kYXRhU3RhY2smJihlLl94X2RhdGFTdGFjaz10Ll94X2RhdGFTdGFjayxlLnNldEF0dHJpYnV0ZSgiZGF0YS1oYXMtYWxwaW5lLXN0YXRlIiwhMCkpfSk7ZnVuY3Rpb24gb28odCl7cmV0dXJuIGs/THQ/ITA6dC5oYXNBdHRyaWJ1dGUoImRhdGEtaGFzLWFscGluZS1zdGF0ZSIpOiExfXAoInNob3ciLCh0LHttb2RpZmllcnM6ZSxleHByZXNzaW9uOnJ9LHtlZmZlY3Q6bn0pPT57bGV0IGk9Xyh0LHIpO3QuX3hfZG9IaWRlfHwodC5feF9kb0hpZGU9KCk9PnttKCgpPT57dC5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsIm5vbmUiLGUuaW5jbHVkZXMoImltcG9ydGFudCIpPyJpbXBvcnRhbnQiOnZvaWQgMCl9KX0pLHQuX3hfZG9TaG93fHwodC5feF9kb1Nob3c9KCk9PnttKCgpPT57dC5zdHlsZS5sZW5ndGg9PT0xJiZ0LnN0eWxlLmRpc3BsYXk9PT0ibm9uZSI/dC5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIik6dC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgiZGlzcGxheSIpfSl9KTtsZXQgbz0oKT0+e3QuX3hfZG9IaWRlKCksdC5feF9pc1Nob3duPSExfSxzPSgpPT57dC5feF9kb1Nob3coKSx0Ll94X2lzU2hvd249ITB9LGE9KCk9PnNldFRpbWVvdXQocyksYz1odChmPT5mP3MoKTpvKCksZj0+e3R5cGVvZiB0Ll94X3RvZ2dsZUFuZENhc2NhZGVXaXRoVHJhbnNpdGlvbnM9PSJmdW5jdGlvbiI/dC5feF90b2dnbGVBbmRDYXNjYWRlV2l0aFRyYW5zaXRpb25zKHQsZixzLG8pOmY/YSgpOm8oKX0pLGwsdT0hMDtuKCgpPT5pKGY9PnshdSYmZj09PWx8fChlLmluY2x1ZGVzKCJpbW1lZGlhdGUiKSYmKGY/YSgpOm8oKSksYyhmKSxsPWYsdT0hMSl9KSl9KTtwKCJmb3IiLCh0LHtleHByZXNzaW9uOmV9LHtlZmZlY3Q6cixjbGVhbnVwOm59KT0+e2xldCBpPWNvKGUpLG89Xyh0LGkuaXRlbXMpLHM9Xyh0LHQuX3hfa2V5RXhwcmVzc2lvbnx8ImluZGV4Iik7dC5feF9sb29rdXA9bmV3IE1hcCxyKCgpPT5hbyh0LGksbyxzKSksbigoKT0+e3QuX3hfbG9va3VwLmZvckVhY2goYT0+bSgoKT0+e0koYSksYS5yZW1vdmUoKX0pKSxkZWxldGUgdC5feF9sb29rdXB9KX0pO2Z1bmN0aW9uIHNvKHQpe3JldHVybiBlPT57T2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW3Isbl0pPT57dFtyXT1ufSl9fWZ1bmN0aW9uIGFvKHQsZSxyLG4pe3IoaT0+e3VvKGkpJiYoaT1BcnJheS5mcm9tKHtsZW5ndGg6aX0sKGwsdSk9PnUrMSkpLGk9PW51bGwmJihpPVtdKSxpIGluc3RhbmNlb2YgU2V0JiYoaT1BcnJheS5mcm9tKGkpKSxpIGluc3RhbmNlb2YgTWFwJiYoaT1BcnJheS5mcm9tKGkpKTtsZXQgbz10Ll94X2xvb2t1cCxzPW5ldyBNYXA7dC5feF9sb29rdXA9cztsZXQgYT1mbyhpKSxjPU9iamVjdC5lbnRyaWVzKGkpLm1hcCgoW2wsdV0pPT57YXx8KGw9cGFyc2VJbnQobCkpO2xldCBmPWxvKGUsdSxsLGkpLGI7cmV0dXJuIG4oZz0+e3R5cGVvZiBnPT0ib2JqZWN0IiYmRSgieC1mb3Iga2V5IGNhbm5vdCBiZSBhbiBvYmplY3QsIGl0IG11c3QgYmUgYSBzdHJpbmcgb3IgYW4gaW50ZWdlciIsdCksby5oYXMoZykmJihzLnNldChnLG8uZ2V0KGcpKSxvLmRlbGV0ZShnKSksYj1nfSx7c2NvcGU6e2luZGV4OmwsLi4uZn19KSxbYixmXX0pO20oKCk9PntvLmZvckVhY2goZj0+e0koZiksZi5yZW1vdmUoKX0pO2xldCBsPW5ldyBTZXQsdT10O2MuZm9yRWFjaCgoW2YsYl0pPT57aWYocy5oYXMoZikpe2xldCBkPXMuZ2V0KGYpO2QuX3hfcmVmcmVzaFhGb3JTY29wZShiKSx1Lm5leHRFbGVtZW50U2libGluZyE9PWQmJih1Lm5leHRFbGVtZW50U2libGluZyYmZC5yZXBsYWNlV2l0aCh1Lm5leHRFbGVtZW50U2libGluZyksdS5hZnRlcihkKSksdT1kLGQuX3hfY3VycmVudElmRWwmJihkLm5leHRFbGVtZW50U2libGluZyE9PWQuX3hfY3VycmVudElmRWwmJnUuYWZ0ZXIoZC5feF9jdXJyZW50SWZFbCksdT1kLl94X2N1cnJlbnRJZkVsKTtyZXR1cm59dC5jb250ZW50LmNoaWxkcmVuLmxlbmd0aD4xJiZFKCJ4LWZvciB0ZW1wbGF0ZXMgcmVxdWlyZSBhIHNpbmdsZSByb290IGVsZW1lbnQsIGFkZGl0aW9uYWwgZWxlbWVudHMgd2lsbCBiZSBpZ25vcmVkLiIsdCk7bGV0IGc9ZG9jdW1lbnQuaW1wb3J0Tm9kZSh0LmNvbnRlbnQsITApLmZpcnN0RWxlbWVudENoaWxkLEw9QyhiKTtOKGcsTCx0KSxnLl94X3JlZnJlc2hYRm9yU2NvcGU9c28oTCkscy5zZXQoZixnKSxsLmFkZChnKSx1LmFmdGVyKGcpLHU9Z30pLHYoKCk9PmwuZm9yRWFjaChmPT5TKGYpKSkoKX0pfSl9ZnVuY3Rpb24gY28odCl7bGV0IGU9LywoW14sXH1cXV0qKSg/OiwoW14sXH1cXV0qKSk/JC8scj0vXlxzKlwofFwpXHMqJC9nLG49LyhbXHNcU10qPylccysoPzppbnxvZilccysoW1xzXFNdKikvLGk9dC5tYXRjaChuKTtpZighaSlyZXR1cm47bGV0IG89e307by5pdGVtcz1pWzJdLnRyaW0oKTtsZXQgcz1pWzFdLnJlcGxhY2UociwiIikudHJpbSgpLGE9cy5tYXRjaChlKTtyZXR1cm4gYT8oby5pdGVtPXMucmVwbGFjZShlLCIiKS50cmltKCksby5pbmRleD1hWzFdLnRyaW0oKSxhWzJdJiYoby5jb2xsZWN0aW9uPWFbMl0udHJpbSgpKSk6by5pdGVtPXMsb31mdW5jdGlvbiBsbyh0LGUscixuKXtsZXQgaT17fTtyZXR1cm4vXlxbLipcXSQvLnRlc3QodC5pdGVtKSYmQXJyYXkuaXNBcnJheShlKT90Lml0ZW0ucmVwbGFjZSgiWyIsIiIpLnJlcGxhY2UoIl0iLCIiKS5zcGxpdCgiLCIpLm1hcChzPT5zLnRyaW0oKSkuZm9yRWFjaCgocyxhKT0+e2lbc109ZVthXX0pOi9eXHsuKlx9JC8udGVzdCh0Lml0ZW0pJiYhQXJyYXkuaXNBcnJheShlKSYmdHlwZW9mIGU9PSJvYmplY3QiP3QuaXRlbS5yZXBsYWNlKCJ7IiwiIikucmVwbGFjZSgifSIsIiIpLnNwbGl0KCIsIikubWFwKHM9PnMudHJpbSgpKS5mb3JFYWNoKHM9PntpW3NdPWVbc119KTppW3QuaXRlbV09ZSx0LmluZGV4JiYoaVt0LmluZGV4XT1yKSx0LmNvbGxlY3Rpb24mJihpW3QuY29sbGVjdGlvbl09biksaX1mdW5jdGlvbiB1byh0KXtyZXR1cm4gdHlwZW9mIHQhPSJvYmplY3QiJiYhaXNOYU4odCl9ZnVuY3Rpb24gZm8odCl7cmV0dXJuIHR5cGVvZiB0PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gUG4oKXt9UG4uaW5saW5lPSh0LHtleHByZXNzaW9uOmV9LHtjbGVhbnVwOnJ9KT0+e2xldCBuPVkodCk7biYmKG4uX3hfcmVmc3x8KG4uX3hfcmVmcz17fSksbi5feF9yZWZzW2VdPXQscigoKT0+ZGVsZXRlIG4uX3hfcmVmc1tlXSkpfTtwKCJyZWYiLFBuKTtwKCJpZiIsKHQse2V4cHJlc3Npb246ZX0se2VmZmVjdDpyLGNsZWFudXA6bn0pPT57dC50YWdOYW1lLnRvTG93ZXJDYXNlKCkhPT0idGVtcGxhdGUiJiZFKCJ4LWlmIGNhbiBvbmx5IGJlIHVzZWQgb24gYSA8dGVtcGxhdGU+IHRhZyIsdCk7bGV0IGk9Xyh0LGUpLG89KCk9PntpZih0Ll94X2N1cnJlbnRJZkVsKXJldHVybiB0Ll94X2N1cnJlbnRJZkVsO2xldCBhPXQuY29udGVudC5jbG9uZU5vZGUoITApLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBOKGEse30sdCksbSgoKT0+e3QuYWZ0ZXIoYSksdigoKT0+UyhhKSkoKX0pLHQuX3hfY3VycmVudElmRWw9YSx0Ll94X3VuZG9JZj0oKT0+e20oKCk9PntJKGEpLGEucmVtb3ZlKCl9KSxkZWxldGUgdC5feF9jdXJyZW50SWZFbH0sYX0scz0oKT0+e3QuX3hfdW5kb0lmJiYodC5feF91bmRvSWYoKSxkZWxldGUgdC5feF91bmRvSWYpfTtyKCgpPT5pKGE9PnthP28oKTpzKCl9KSksbigoKT0+dC5feF91bmRvSWYmJnQuX3hfdW5kb0lmKCkpfSk7cCgiaWQiLCh0LHtleHByZXNzaW9uOmV9LHtldmFsdWF0ZTpyfSk9PntyKGUpLmZvckVhY2goaT0+dm4odCxpKSl9KTtWKCh0LGUpPT57dC5feF9pZHMmJihlLl94X2lkcz10Ll94X2lkcyl9KTtvdChOdCgiQCIsUHQoTygib246IikpKSk7cCgib24iLHYoKHQse3ZhbHVlOmUsbW9kaWZpZXJzOnIsZXhwcmVzc2lvbjpufSx7Y2xlYW51cDppfSk9PntsZXQgbz1uP18odCxuKTooKT0+e307dC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0idGVtcGxhdGUiJiYodC5feF9mb3J3YXJkRXZlbnRzfHwodC5feF9mb3J3YXJkRXZlbnRzPVtdKSx0Ll94X2ZvcndhcmRFdmVudHMuaW5jbHVkZXMoZSl8fHQuX3hfZm9yd2FyZEV2ZW50cy5wdXNoKGUpKTtsZXQgcz16KHQsZSxyLGE9PntvKCgpPT57fSx7c2NvcGU6eyRldmVudDphfSxwYXJhbXM6W2FdfSl9KTtpKCgpPT5zKCkpfSkpO3RlKCJDb2xsYXBzZSIsImNvbGxhcHNlIiwiY29sbGFwc2UiKTt0ZSgiSW50ZXJzZWN0IiwiaW50ZXJzZWN0IiwiaW50ZXJzZWN0Iik7dGUoIkZvY3VzIiwidHJhcCIsImZvY3VzIik7dGUoIk1hc2siLCJtYXNrIiwibWFzayIpO2Z1bmN0aW9uIHRlKHQsZSxyKXtwKGUsbj0+RShgWW91IGNhbid0IHVzZSBbeC0ke2V9XSB3aXRob3V0IGZpcnN0IGluc3RhbGxpbmcgdGhlICIke3R9IiBwbHVnaW4gaGVyZTogaHR0cHM6Ly9hbHBpbmVqcy5kZXYvcGx1Z2lucy8ke3J9YCxuKSl9Qi5zZXRFdmFsdWF0b3IobXIpO0Iuc2V0UmF3RXZhbHVhdG9yKF9yKTtCLnNldFJlYWN0aXZpdHlFbmdpbmUoe3JlYWN0aXZlOlh0LGVmZmVjdDpmbixyZWxlYXNlOmRuLHJhdzpofSk7dmFyIEhlPUI7d2luZG93LkFscGluZT1IZTtxdWV1ZU1pY3JvdGFzaygoKT0+e0hlLnN0YXJ0KCl9KTt9KSgpOwo="}},"time_used":40,"timings":{"blocked":-1,"dns":3,"connect":9,"send":0,"wait":9,"receive":2,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.forexbot.demotunde.com/deriv/js/forexbot.js","fqdn":"www.forexbot.demotunde.com","domain":"demotunde.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:08.672Z","timestamp":1785160568672,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"www.forexbot.demotunde.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Mon, 01 Jun 2026 22:59:06 GMT","end":"Sun, 30 Aug 2026 22:59:05 GMT"},"fingerprint":{"sha1":"84:78:CD:27:C6:72:74:C3:DF:2E:38:3A:01:37:08:B5:3A:8D:2D:59","sha256":"C5:22:6C:D7:C0:6A:76:90:CF:77:37:EA:BF:88:3E:1D:13:1B:B9:F8:CC:D5:DD:DB:24:45:1B:8E:22:A3:81:73"}}},"request":{"raw":"GET /deriv/js/forexbot.js HTTP/1.1\r\nHost: www.forexbot.demotunde.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://www.forexbot.demotunde.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6IkxzbU8yVktCa0U2ZDNUVmdaS0t4UlE9PSIsInZhbHVlIjoibGVxSzRpczgraUxiTEZvQ1hxc0ZwUU1WV1VSdG9xQ1RwTVBVZ2ZTamRVOVF1Y1hsZlY3Qk8reHV4WXRCTC82dzZ2bTNHajBCWURCQlBIK0NYQTFHY3NzOE1nWGtReUIwWUZYemVObkNyU2YyMnYwUHYzTmNwTEZhZmtOQSs5aFgiLCJtYWMiOiI5Y2UwY2M5OTkxNDkxNTBkY2M2MzEzNGJlNjBlYTkyOTE1Mjg5Y2Q3MDUwZTZiNTYyMjQzNDYyNjJjNTZmNTZhIiwidGFnIjoiIn0%3D; forexbot-session=eyJpdiI6IkNXN2hMY0tjY2ZCQUhYMnRoTkFYc0E9PSIsInZhbHVlIjoiMGlmY2NFNjNuejZqMCtpdzZpNGZxVjdjNE1jVGlVM3UxQVhXQXBTU2N2THVEL09oSFdpNVFPMlRZQnVVTDZQVkQzRHVHSXlaMHZZbG1iSTRiYTN2eVNqak5pcERGdDlqdU5CRDVmVmxmcyszTFhpbjE4Q3JlRE4xOVp5eHd0UEkiLCJtYWMiOiI1NjRkMWFhYzZhZWVjMzVjNzdmMWRhN2E2YjZmOGNmYmMxMjIxYzliNmZiMDZiM2YxNzFkODY3ZjgwYThjZDYwIiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Thu, 02 Apr 2026 21:28:05 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1829\r\ndate: Mon, 27 Jul 2026 13:56:08 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5759,"size_decoded":2244,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with CRLF line terminators","md5":"70427bcf99407b096772ab99238ccfe4","sha1":"e0170d5e57353af73fe9521bac2f30307f410f11","sha256":"2975f12e7b50794468537a7b67e11584515f6f4ba6a2f8f98c08558b99c6a42d","sha512":"360b30fa668a86102456f415065fa6d41503c8fd98b8c6fbf990ce4bb590753300e9d21d3cf52f12506460242de5f9c1122cda5af1ae17e35fdfa425693db701","ssdeep":"96:VbGI8OYYSPaLRYUrP4myECfsaFyCohIMcYwJXAy974/1m:MINjSgRYUTo9+hUdX59c/1m","tlshash":"07c1958d705219650ab3a77aa7d74b0cfb25703394468199bdbc82442fb171076e3fec","first_seen":"2026-07-27T07:45:16.663598Z","last_seen":"2026-07-27T13:56:43.027317Z","times_seen":3,"resource_available":true,"data":"Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi8vIEZPUkVYQk9UIOKAlCBHbG9iYWwgQUpBWCBGb3JtIEhhbmRsZXINCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbiAoKSB7DQogICAgaW5pdEFqYXhGb3JtcygpOw0KfSk7DQoNCmZ1bmN0aW9uIGluaXRBamF4Rm9ybXMoKSB7DQogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZm9ybVtkYXRhLWFqYXg9InRydWUiXScpLmZvckVhY2goZm9ybSA9PiB7DQogICAgICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcignc3VibWl0JywgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgIHN1Ym1pdEFqYXhGb3JtKHRoaXMpOw0KICAgICAgICB9KTsNCiAgICB9KTsNCn0NCg0KZnVuY3Rpb24gc3VibWl0QWpheEZvcm0oZm9ybSkgew0KICAgIGNvbnN0IGJ0biAgICAgICAgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ1t0eXBlPSJzdWJtaXQiXScpOw0KICAgIGNvbnN0IG9yaWdpbmFsSFRNTCA9IGJ0biA/IGJ0bi5pbm5lckhUTUwgOiAnJzsNCiAgICBjb25zdCByZXN1bHRCb3ggID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9ybS5kYXRhc2V0LnJlc3VsdCB8fCAnZm9ybS1yZXN1bHQnKTsNCg0KICAgIC8vIFNob3cgbG9hZGluZw0KICAgIGlmIChidG4pIHsNCiAgICAgICAgYnRuLmRpc2FibGVkID0gdHJ1ZTsNCiAgICAgICAgYnRuLmlubmVySFRNTCA9IGANCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIiPg0KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImFuaW1hdGUtc3BpbiB3LTQgaC00IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiPg0KICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPSJvcGFjaXR5LTI1IiBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiDQogICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSI0Ij48L2NpcmNsZT4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggY2xhc3M9Im9wYWNpdHktNzUiIGZpbGw9ImN1cnJlbnRDb2xvciINCiAgICAgICAgICAgICAgICAgICAgICAgIGQ9Ik00IDEyYTggOCAwIDAxOC04djhINHoiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICAgICAgICBQcm9jZXNzaW5nLi4uDQogICAgICAgICAgICA8L3NwYW4+YDsNCiAgICB9DQoNCiAgICAvLyBDbGVhciBwcmV2aW91cyByZXN1bHQNCiAgICBpZiAocmVzdWx0Qm94KSB7DQogICAgICAgIHJlc3VsdEJveC5pbm5lckhUTUwgPSAnJzsNCiAgICAgICAgcmVzdWx0Qm94LmNsYXNzTmFtZSA9ICcnOw0KICAgIH0NCg0KICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKGZvcm0pOw0KDQogICAgZmV0Y2goZm9ybS5hY3Rpb24sIHsNCiAgICAgICAgbWV0aG9kOiBmb3JtLm1ldGhvZC50b1VwcGVyQ2FzZSgpIHx8ICdQT1NUJywNCiAgICAgICAgaGVhZGVyczogew0KICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT0iY3NyZi10b2tlbiJdJykuY29udGVudCwNCiAgICAgICAgICAgICdYLVJlcXVlc3RlZC1XaXRoJzogJ1hNTEh0dHBSZXF1ZXN0JywNCiAgICAgICAgICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbicsDQogICAgICAgIH0sDQogICAgICAgIGJvZHk6IGZvcm1EYXRhLA0KICAgIH0pDQogICAgLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpDQogICAgLnRoZW4oZGF0YSA9PiB7DQogICAgICAgIGlmIChidG4pIHsNCiAgICAgICAgICAgIGJ0bi5kaXNhYmxlZCA9IGZhbHNlOw0KICAgICAgICAgICAgYnRuLmlubmVySFRNTCA9IG9yaWdpbmFsSFRNTDsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChkYXRhLnN1Y2Nlc3MpIHsNCiAgICAgICAgICAgIHNob3dGb3JtUmVzdWx0KHJlc3VsdEJveCwgZGF0YS5tZXNzYWdlLCAnc3VjY2VzcycpOw0KICAgICAgICAgICAgaWYgKGRhdGEucmVkaXJlY3QpIHsNCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZGF0YS5yZWRpcmVjdCwgMTIwMCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoZGF0YS5yZWxvYWQpIHsNCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSwgMTIwMCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoZGF0YS5jYWxsYmFjayAmJiB0eXBlb2Ygd2luZG93W2RhdGEuY2FsbGJhY2tdID09PSAnZnVuY3Rpb24nKSB7DQogICAgICAgICAgICAgICAgd2luZG93W2RhdGEuY2FsbGJhY2tdKGRhdGEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGZvcm0uZGF0YXNldC5yZXNldCA9PT0gJ3RydWUnKSBmb3JtLnJlc2V0KCk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBjb25zdCBtc2cgPSBkYXRhLm1lc3NhZ2UgfHwgKGRhdGEuZXJyb3JzID8gT2JqZWN0LnZhbHVlcyhkYXRhLmVycm9ycylbMF1bMF0gOiAnU29tZXRoaW5nIHdlbnQgd3JvbmcuJyk7DQogICAgICAgICAgICBzaG93Rm9ybVJlc3VsdChyZXN1bHRCb3gsIG1zZywgJ2Vycm9yJyk7DQogICAgICAgIH0NCiAgICB9KQ0KICAgIC5jYXRjaChlcnIgPT4gew0KICAgICAgICBpZiAoYnRuKSB7DQogICAgICAgICAgICBidG4uZGlzYWJsZWQgPSBmYWxzZTsNCiAgICAgICAgICAgIGJ0bi5pbm5lckhUTUwgPSBvcmlnaW5hbEhUTUw7DQogICAgICAgIH0NCiAgICAgICAgc2hvd0Zvcm1SZXN1bHQocmVzdWx0Qm94LCAnQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgdHJ5IGFnYWluLicsICdlcnJvcicpOw0KICAgIH0pOw0KfQ0KDQpmdW5jdGlvbiBzaG93Rm9ybVJlc3VsdChib3gsIG1lc3NhZ2UsIHR5cGUpIHsNCiAgICBpZiAoIWJveCkgew0KICAgICAgICAvLyBGYWxsYmFjayB0b2FzdCBpZiBubyByZXN1bHQgYm94DQogICAgICAgIHNob3dUb2FzdChtZXNzYWdlLCB0eXBlKTsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCiAgICBib3guaW5uZXJIVE1MID0gbWVzc2FnZTsNCiAgICBib3guY2xhc3NOYW1lID0gdHlwZSA9PT0gJ3N1Y2Nlc3MnDQogICAgICAgID8gJ3AtNCBiZy1ncmVlbi05MDAvNDAgYm9yZGVyIGJvcmRlci1ncmVlbi03MDAgdGV4dC1ncmVlbi0zMDAgcm91bmRlZC14bCB0ZXh0LXNtIG1iLTQnDQogICAgICAgIDogJ3AtNCBiZy1yZWQtOTAwLzQwIGJvcmRlciBib3JkZXItcmVkLTcwMCB0ZXh0LXJlZC0zMDAgcm91bmRlZC14bCB0ZXh0LXNtIG1iLTQnOw0KfQ0KDQpmdW5jdGlvbiBzaG93VG9hc3QobWVzc2FnZSwgdHlwZSA9ICdzdWNjZXNzJykgew0KICAgIGNvbnN0IHRvYXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQogICAgdG9hc3QuY2xhc3NOYW1lID0gYGZpeGVkIHRvcC01IHJpZ2h0LTUgei01MCBweC01IHB5LTMgcm91bmRlZC14bCB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgc2hhZG93LWxnIHRyYW5zaXRpb24tYWxsDQogICAgICAgICR7dHlwZSA9PT0gJ3N1Y2Nlc3MnID8gJ2JnLWdyZWVuLTUwMCB0ZXh0LWJsYWNrJyA6ICdiZy1yZWQtNTAwIHRleHQtd2hpdGUnfWA7DQogICAgdG9hc3QudGV4dENvbnRlbnQgPSBtZXNzYWdlOw0KICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodG9hc3QpOw0KICAgIHNldFRpbWVvdXQoKCkgPT4gdG9hc3QucmVtb3ZlKCksIDM1MDApOw0KfQ0KDQovLyBGb3IgZmlsZSB1cGxvYWQgcHJldmlld3MNCmZ1bmN0aW9uIHByZXZpZXdGaWxlKGlucHV0LCBwcmV2aWV3SWQsIG5hbWVJZCkgew0KICAgIGNvbnN0IGZpbGUgPSBpbnB1dC5maWxlc1swXTsNCiAgICBpZiAoIWZpbGUpIHJldHVybjsNCiAgICBpZiAobmFtZUlkKSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChuYW1lSWQpLnRleHRDb250ZW50ID0gZmlsZS5uYW1lOw0KICAgIGlmIChwcmV2aWV3SWQgJiYgZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7DQogICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7DQogICAgICAgIHJlYWRlci5vbmxvYWQgPSBlID0+IHsNCiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHByZXZpZXdJZCkuc3JjID0gZS50YXJnZXQucmVzdWx0Ow0KICAgICAgICB9Ow0KICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTsNCiAgICB9DQp9DQoNCg0KZnVuY3Rpb24gc2hvd1RvYXN0KG1lc3NhZ2UsIHR5cGUgPSAnc3VjY2VzcycsIGR1cmF0aW9uID0gMzUwMCkgew0KICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2FzdC1jb250YWluZXInKTsNCiAgICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuOw0KDQogICAgY29uc3QgaWNvbnMgPSB7IHN1Y2Nlc3M6ICfinIUnLCBlcnJvcjogJ+KdjCcsIHdhcm5pbmc6ICfimqDvuI8nLCBpbmZvOiAn4oS577iPJyB9Ow0KICAgIGNvbnN0IGNvbG9ycyA9IHsNCiAgICAgICAgc3VjY2VzczogJ2JnLWdyZWVuLTUwMCB0ZXh0LWJsYWNrJywNCiAgICAgICAgZXJyb3I6ICAgJ2JnLXJlZC01MDAgdGV4dC13aGl0ZScsDQogICAgICAgIHdhcm5pbmc6ICdiZy15ZWxsb3ctNTAwIHRleHQtYmxhY2snLA0KICAgICAgICBpbmZvOiAgICAnYmctYmx1ZS01MDAgdGV4dC13aGl0ZScsDQogICAgfTsNCg0KICAgIGNvbnN0IHRvYXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQogICAgdG9hc3QuY2xhc3NOYW1lID0gYHBvaW50ZXItZXZlbnRzLWF1dG8gZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcHgtNSBweS0zIHJvdW5kZWQtMnhsDQogICAgICAgIHRleHQtc20gZm9udC1zZW1pYm9sZCBzaGFkb3ctMnhsIG1heC13LXNtDQogICAgICAgIHRyYW5zZm9ybSB0cmFuc2xhdGUteC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMCBlYXNlLW91dA0KICAgICAgICAke2NvbG9yc1t0eXBlXSB8fCBjb2xvcnMuaW5mb31gOw0KDQogICAgdG9hc3QuaW5uZXJIVE1MID0gYA0KICAgICAgICA8c3Bhbj4ke2ljb25zW3R5cGVdIHx8ICfihLnvuI8nfTwvc3Bhbj4NCiAgICAgICAgPHNwYW4gY2xhc3M9ImZsZXgtMSI+JHttZXNzYWdlfTwvc3Bhbj4NCiAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlKCkiIGNsYXNzPSJvcGFjaXR5LTYwIGhvdmVyOm9wYWNpdHktMTAwIHRleHQtbGcgbGVhZGluZy1ub25lIj7DlzwvYnV0dG9uPg0KICAgIGA7DQoNCiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodG9hc3QpOw0KDQogICAgLy8gU2xpZGUgaW4NCiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gew0KICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gew0KICAgICAgICAgICAgdG9hc3QuY2xhc3NMaXN0LnJlbW92ZSgndHJhbnNsYXRlLXgtZnVsbCcpOw0KICAgICAgICAgICAgdG9hc3QuY2xhc3NMaXN0LmFkZCgndHJhbnNsYXRlLXgtMCcpOw0KICAgICAgICB9KTsNCiAgICB9KTsNCg0KICAgIC8vIEF1dG8gZGlzbWlzcw0KICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICB0b2FzdC5jbGFzc0xpc3QuYWRkKCd0cmFuc2xhdGUteC1mdWxsJywgJ29wYWNpdHktMCcpOw0KICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRvYXN0LnJlbW92ZSgpLCAzMDApOw0KICAgIH0sIGR1cmF0aW9uKTsNCn0="}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.077Z","timestamp":1785160569077,"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/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.forexbot.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 27236\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 07:42:15 GMT\r\nexpires: Fri, 23 Jul 2027 07:42:15 GMT\r\ncache-control: public, max-age=31536000\r\nage: 368034\r\nlast-modified: Tue, 09 Sep 2025 18:38:58 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":27236,"size_decoded":28049,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 27236, version 1.0","md5":"a8c28b27501f763423d96717c43243df","sha1":"e845ac57b3fee2c68ec6cdb95114ef3541fa3d11","sha256":"b6698c39332c51112c720e8a92608b4eeed502f654b63fc1693b8cccfc856d4d","sha512":"3e3af79fd415b3e4d3cbcd7f9bce2a7fa5c09b1ad5a38c6f2e971852c7973eae1b8ac85a4664f8c7af34f6c489f563cc35f82aecd32b1be8af70ce2612b0e3d3","ssdeep":"384:TOfiFJZpa1LuoEeC5s2xCWnEgdMqCF+FSe5LuxyrPyP2hbgBizhxCvw9k3kwA0y2:XW1l+s2xC8LSs2P2yitawWU50Z","tlshash":"f5c2e0676b05362dbcc47380135b8f262a5071b5566cca61787bef4e3a9b03a903cba5","first_seen":"2025-06-03T19:01:05.870661Z","last_seen":"2026-08-18T00:26:25.291449Z","times_seen":20502,"resource_available":false,"data":"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"}},"time_used":80,"timings":{"blocked":22,"dns":0,"connect":0,"send":0,"wait":50,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.tailwindcss.com/","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:08.668Z","timestamp":1785160568668,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tailwindcss.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Jul 2026 20:38:38 GMT","end":"Thu, 15 Oct 2026 21:38:35 GMT"},"fingerprint":{"sha1":"AF:4F:AD:59:FA:ED:77:04:0D:32:56:48:B0:E5:1B:38:67:6D:7D:02","sha256":"E7:FC:CF:2D:6A:CC:F5:3C:4C:1E:9D:CD:21:8A:72:A3:DB:7C:B1:50:0F:83:D1:DC:E4:AD:25:90:8F:98:37:0F"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: cdn.tailwindcss.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.forexbot.demotunde.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 302 \r\ndate: Mon, 27 Jul 2026 13:56:08 GMT\r\ncache-control: max-age=14400\r\nlocation: /3.4.17\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: MISS\r\nx-vercel-id: fra1::iad1::9r422-1785160558114-631f3a456570\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nage: 10\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=n5GwUp5sLchFEuumrfdjH7tEZqL3M7Z8z3HaR0k2PTh3JEJmXzb%2FkIW6lo0Q8OF%2Bf83QgkFe9ZNx7hBpPE0dGIUfzwvVoHk%2BtdeBciY6VCvvC3qQriFnqFMgLMN%2FGhSQdZrL2FI%3D\"}]}\r\ncf-ray: a21c25524b6535a6-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"302","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"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/javascript","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-18T00:37:19.234622Z","times_seen":17946405,"resource_available":true,"data":null}},"time_used":24,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":5,"receive":0,"ssl":14},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.tailwindcss.com/3.4.17","fqdn":"cdn.tailwindcss.com","domain":"tailwindcss.com","tld":"com"},"ip":{"addr":"104.26.2.143","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:08.699Z","timestamp":1785160568699,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"tailwindcss.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 17 Jul 2026 20:38:38 GMT","end":"Thu, 15 Oct 2026 21:38:35 GMT"},"fingerprint":{"sha1":"AF:4F:AD:59:FA:ED:77:04:0D:32:56:48:B0:E5:1B:38:67:6D:7D:02","sha256":"E7:FC:CF:2D:6A:CC:F5:3C:4C:1E:9D:CD:21:8A:72:A3:DB:7C:B1:50:0F:83:D1:DC:E4:AD:25:90:8F:98:37:0F"}}},"request":{"raw":"GET /3.4.17 HTTP/1.1\r\nHost: cdn.tailwindcss.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.forexbot.demotunde.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 13:56:08 GMT\r\ncontent-type: text/javascript\r\ncache-control: max-age=31536000\r\ncontent-encoding: br\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000\r\nx-vercel-cache: MISS\r\nx-vercel-id: fra1::iad1::bj55r-1781146628084-40ce7f37f405\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\nage: 4013940\r\nlast-modified: Wed, 01 Jul 2026 01:49:34 GMT\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Fc1aDn4qgOQpcr97NzGzvhNEcKITeKtBJ9KHvE9IyZQMS6oZOMBGMk7BEKiz4SGvtXVdQAJ0nZVGRlnSTY3HFWgn4YcV%2FboENIApgcrFT7s36UaoPcVX2eA5bg9gwrEAAfre2w0%3D\"}]}\r\ncf-ray: a21c25526b9135a6-OSL\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":407279,"size_decoded":127116,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (52853)","md5":"7a614b9a197e532c00d09a23b0996b5f","sha1":"1ff1738a40f3716e30e9031b181b0955ae578955","sha256":"176e894661aa9cdc9a5cba6c720044cbbf7b8bd80d1c9a142a7c24b1b6c50d15","sha512":"a67bc26f52d938358471be5671ff4b79e11af4e68b486aaf73a35a4c9bf3777aab51101af81563b4e5b7ba4b04dd8971fcfa9ee2c41fb10a0c1ee5604a99abd6","ssdeep":"12288:fpgrZxSAoNbJb0Wie75aUXGuyQZhK4O0s:RCVoNB0Wie75aUWmnO0s","tlshash":"e8844aa57396702647eb51e850ea1042f2beaa38840c44bcf7edd4da39e5e4440fbf79","first_seen":"2025-07-28T16:58:08.903462Z","last_seen":"2026-08-18T00:30:47.966049Z","times_seen":49674,"resource_available":true,"data":"KCgpPT57dmFyIHF2PU9iamVjdC5jcmVhdGU7dmFyIEhpPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgJHY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgTHY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIE12PU9iamVjdC5nZXRQcm90b3R5cGVPZixOdj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBkZj1yPT5IaShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaGY9cj0+e2lmKHR5cGVvZiByZXF1aXJlIT0idW5kZWZpbmVkIilyZXR1cm4gcmVxdWlyZShyKTt0aHJvdyBuZXcgRXJyb3IoJ0R5bmFtaWMgcmVxdWlyZSBvZiAiJytyKyciIGlzIG5vdCBzdXBwb3J0ZWQnKX07dmFyIFA9KHIsZSk9PigpPT4ociYmKGU9cihyPTApKSxlKTt2YXIgeD0ocixlKT0+KCk9PihlfHxyKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLEdlPShyLGUpPT57ZGYocik7Zm9yKHZhciB0IGluIGUpSGkocix0LHtnZXQ6ZVt0XSxlbnVtZXJhYmxlOiEwfSl9LEJ2PShyLGUsdCk9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgaSBvZiBMdihlKSkhTnYuY2FsbChyLGkpJiZpIT09ImRlZmF1bHQiJiZIaShyLGkse2dldDooKT0+ZVtpXSxlbnVtZXJhYmxlOiEodD0kdihlLGkpKXx8dC5lbnVtZXJhYmxlfSk7cmV0dXJuIHJ9LHBlPXI9PkJ2KGRmKEhpKHIhPW51bGw/cXYoTXYocikpOnt9LCJkZWZhdWx0IixyJiZyLl9fZXNNb2R1bGUmJiJkZWZhdWx0ImluIHI/e2dldDooKT0+ci5kZWZhdWx0LGVudW1lcmFibGU6ITB9Ont2YWx1ZTpyLGVudW1lcmFibGU6ITB9KSkscik7dmFyIG0sdT1QKCgpPT57bT17cGxhdGZvcm06IiIsZW52Ont9LHZlcnNpb25zOntub2RlOiIxNC4xNy42In19fSk7dmFyIEZ2LGJlLGZ0PVAoKCk9Pnt1KCk7RnY9MCxiZT17cmVhZEZpbGVTeW5jOnI9PnNlbGZbcl18fCIiLHN0YXRTeW5jOigpPT4oe210aW1lTXM6RnYrK30pLHByb21pc2VzOntyZWFkRmlsZTpyPT5Qcm9taXNlLnJlc29sdmUoc2VsZltyXXx8IiIpfX19KTt2YXIgRnM9eCgob1AsZ2YpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgbWY9Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7aWYoIShlLm1heFNpemUmJmUubWF4U2l6ZT4wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4U2l6ZWAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIpO2lmKHR5cGVvZiBlLm1heEFnZT09Im51bWJlciImJmUubWF4QWdlPT09MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4QWdlYCBtdXN0IGJlIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIik7dGhpcy5tYXhTaXplPWUubWF4U2l6ZSx0aGlzLm1heEFnZT1lLm1heEFnZXx8MS8wLHRoaXMub25FdmljdGlvbj1lLm9uRXZpY3Rpb24sdGhpcy5jYWNoZT1uZXcgTWFwLHRoaXMub2xkQ2FjaGU9bmV3IE1hcCx0aGlzLl9zaXplPTB9X2VtaXRFdmljdGlvbnMoZSl7aWYodHlwZW9mIHRoaXMub25FdmljdGlvbj09ImZ1bmN0aW9uIilmb3IobGV0W3QsaV1vZiBlKXRoaXMub25FdmljdGlvbih0LGkudmFsdWUpfV9kZWxldGVJZkV4cGlyZWQoZSx0KXtyZXR1cm4gdHlwZW9mIHQuZXhwaXJ5PT0ibnVtYmVyIiYmdC5leHBpcnk8PURhdGUubm93KCk/KHR5cGVvZiB0aGlzLm9uRXZpY3Rpb249PSJmdW5jdGlvbiImJnRoaXMub25FdmljdGlvbihlLHQudmFsdWUpLHRoaXMuZGVsZXRlKGUpKTohMX1fZ2V0T3JEZWxldGVJZkV4cGlyZWQoZSx0KXtpZih0aGlzLl9kZWxldGVJZkV4cGlyZWQoZSx0KT09PSExKXJldHVybiB0LnZhbHVlfV9nZXRJdGVtVmFsdWUoZSx0KXtyZXR1cm4gdC5leHBpcnk/dGhpcy5fZ2V0T3JEZWxldGVJZkV4cGlyZWQoZSx0KTp0LnZhbHVlfV9wZWVrKGUsdCl7bGV0IGk9dC5nZXQoZSk7cmV0dXJuIHRoaXMuX2dldEl0ZW1WYWx1ZShlLGkpfV9zZXQoZSx0KXt0aGlzLmNhY2hlLnNldChlLHQpLHRoaXMuX3NpemUrKyx0aGlzLl9zaXplPj10aGlzLm1heFNpemUmJih0aGlzLl9zaXplPTAsdGhpcy5fZW1pdEV2aWN0aW9ucyh0aGlzLm9sZENhY2hlKSx0aGlzLm9sZENhY2hlPXRoaXMuY2FjaGUsdGhpcy5jYWNoZT1uZXcgTWFwKX1fbW92ZVRvUmVjZW50KGUsdCl7dGhpcy5vbGRDYWNoZS5kZWxldGUoZSksdGhpcy5fc2V0KGUsdCl9Kl9lbnRyaWVzQXNjZW5kaW5nKCl7Zm9yKGxldCBlIG9mIHRoaXMub2xkQ2FjaGUpe2xldFt0LGldPWU7dGhpcy5jYWNoZS5oYXModCl8fHRoaXMuX2RlbGV0ZUlmRXhwaXJlZCh0LGkpPT09ITEmJih5aWVsZCBlKX1mb3IobGV0IGUgb2YgdGhpcy5jYWNoZSl7bGV0W3QsaV09ZTt0aGlzLl9kZWxldGVJZkV4cGlyZWQodCxpKT09PSExJiYoeWllbGQgZSl9fWdldChlKXtpZih0aGlzLmNhY2hlLmhhcyhlKSl7bGV0IHQ9dGhpcy5jYWNoZS5nZXQoZSk7cmV0dXJuIHRoaXMuX2dldEl0ZW1WYWx1ZShlLHQpfWlmKHRoaXMub2xkQ2FjaGUuaGFzKGUpKXtsZXQgdD10aGlzLm9sZENhY2hlLmdldChlKTtpZih0aGlzLl9kZWxldGVJZkV4cGlyZWQoZSx0KT09PSExKXJldHVybiB0aGlzLl9tb3ZlVG9SZWNlbnQoZSx0KSx0LnZhbHVlfX1zZXQoZSx0LHttYXhBZ2U6aT10aGlzLm1heEFnZT09PTEvMD92b2lkIDA6RGF0ZS5ub3coKSt0aGlzLm1heEFnZX09e30pe3RoaXMuY2FjaGUuaGFzKGUpP3RoaXMuY2FjaGUuc2V0KGUse3ZhbHVlOnQsbWF4QWdlOml9KTp0aGlzLl9zZXQoZSx7dmFsdWU6dCxleHBpcnk6aX0pfWhhcyhlKXtyZXR1cm4gdGhpcy5jYWNoZS5oYXMoZSk/IXRoaXMuX2RlbGV0ZUlmRXhwaXJlZChlLHRoaXMuY2FjaGUuZ2V0KGUpKTp0aGlzLm9sZENhY2hlLmhhcyhlKT8hdGhpcy5fZGVsZXRlSWZFeHBpcmVkKGUsdGhpcy5vbGRDYWNoZS5nZXQoZSkpOiExfXBlZWsoZSl7aWYodGhpcy5jYWNoZS5oYXMoZSkpcmV0dXJuIHRoaXMuX3BlZWsoZSx0aGlzLmNhY2hlKTtpZih0aGlzLm9sZENhY2hlLmhhcyhlKSlyZXR1cm4gdGhpcy5fcGVlayhlLHRoaXMub2xkQ2FjaGUpfWRlbGV0ZShlKXtsZXQgdD10aGlzLmNhY2hlLmRlbGV0ZShlKTtyZXR1cm4gdCYmdGhpcy5fc2l6ZS0tLHRoaXMub2xkQ2FjaGUuZGVsZXRlKGUpfHx0fWNsZWFyKCl7dGhpcy5jYWNoZS5jbGVhcigpLHRoaXMub2xkQ2FjaGUuY2xlYXIoKSx0aGlzLl9zaXplPTB9cmVzaXplKGUpe2lmKCEoZSYmZT4wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJgbWF4U2l6ZWAgbXVzdCBiZSBhIG51bWJlciBncmVhdGVyIHRoYW4gMCIpO2xldCB0PVsuLi50aGlzLl9lbnRyaWVzQXNjZW5kaW5nKCldLGk9dC5sZW5ndGgtZTtpPDA/KHRoaXMuY2FjaGU9bmV3IE1hcCh0KSx0aGlzLm9sZENhY2hlPW5ldyBNYXAsdGhpcy5fc2l6ZT10Lmxlbmd0aCk6KGk+MCYmdGhpcy5fZW1pdEV2aWN0aW9ucyh0LnNsaWNlKDAsaSkpLHRoaXMub2xkQ2FjaGU9bmV3IE1hcCh0LnNsaWNlKGkpKSx0aGlzLmNhY2hlPW5ldyBNYXAsdGhpcy5fc2l6ZT0wKSx0aGlzLm1heFNpemU9ZX0qa2V5cygpe2ZvcihsZXRbZV1vZiB0aGlzKXlpZWxkIGV9KnZhbHVlcygpe2ZvcihsZXRbLGVdb2YgdGhpcyl5aWVsZCBlfSpbU3ltYm9sLml0ZXJhdG9yXSgpe2ZvcihsZXQgZSBvZiB0aGlzLmNhY2hlKXtsZXRbdCxpXT1lO3RoaXMuX2RlbGV0ZUlmRXhwaXJlZCh0LGkpPT09ITEmJih5aWVsZFt0LGkudmFsdWVdKX1mb3IobGV0IGUgb2YgdGhpcy5vbGRDYWNoZSl7bGV0W3QsaV09ZTt0aGlzLmNhY2hlLmhhcyh0KXx8dGhpcy5fZGVsZXRlSWZFeHBpcmVkKHQsaSk9PT0hMSYmKHlpZWxkW3QsaS52YWx1ZV0pfX0qZW50cmllc0Rlc2NlbmRpbmcoKXtsZXQgZT1bLi4udGhpcy5jYWNoZV07Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDstLXQpe2xldCBpPWVbdF0sW24sc109aTt0aGlzLl9kZWxldGVJZkV4cGlyZWQobixzKT09PSExJiYoeWllbGRbbixzLnZhbHVlXSl9ZT1bLi4udGhpcy5vbGRDYWNoZV07Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDstLXQpe2xldCBpPWVbdF0sW24sc109aTt0aGlzLmNhY2hlLmhhcyhuKXx8dGhpcy5fZGVsZXRlSWZFeHBpcmVkKG4scyk9PT0hMSYmKHlpZWxkW24scy52YWx1ZV0pfX0qZW50cmllc0FzY2VuZGluZygpe2ZvcihsZXRbZSx0XW9mIHRoaXMuX2VudHJpZXNBc2NlbmRpbmcoKSl5aWVsZFtlLHQudmFsdWVdfWdldCBzaXplKCl7aWYoIXRoaXMuX3NpemUpcmV0dXJuIHRoaXMub2xkQ2FjaGUuc2l6ZTtsZXQgZT0wO2ZvcihsZXQgdCBvZiB0aGlzLm9sZENhY2hlLmtleXMoKSl0aGlzLmNhY2hlLmhhcyh0KXx8ZSsrO3JldHVybiBNYXRoLm1pbih0aGlzLl9zaXplK2UsdGhpcy5tYXhTaXplKX19O2dmLmV4cG9ydHM9bWZ9KTt2YXIgeWYsYmY9UCgoKT0+e3UoKTt5Zj1yPT5yJiZyLl9oYXNofSk7ZnVuY3Rpb24gV2kocil7cmV0dXJuIHlmKHIse2lnbm9yZVVua25vd246ITB9KX12YXIgd2Y9UCgoKT0+e3UoKTtiZigpfSk7ZnVuY3Rpb24geHQocil7aWYocj1gJHtyfWAscj09PSIwIilyZXR1cm4iMCI7aWYoL15bKy1dPyhcZCt8XGQqXC5cZCspKGVbKy1dP1xkKyk/KCV8XHcrKT8kLy50ZXN0KHIpKXJldHVybiByLnJlcGxhY2UoL15bKy1dPy8sdD0+dD09PSItIj8iIjoiLSIpO2xldCBlPVsidmFyIiwiY2FsYyIsIm1pbiIsIm1heCIsImNsYW1wIl07Zm9yKGxldCB0IG9mIGUpaWYoci5pbmNsdWRlcyhgJHt0fShgKSlyZXR1cm5gY2FsYygke3J9ICogLTEpYH12YXIgR2k9UCgoKT0+e3UoKX0pO3ZhciB2Zix4Zj1QKCgpPT57dSgpO3ZmPVsicHJlZmxpZ2h0IiwiY29udGFpbmVyIiwiYWNjZXNzaWJpbGl0eSIsInBvaW50ZXJFdmVudHMiLCJ2aXNpYmlsaXR5IiwicG9zaXRpb24iLCJpbnNldCIsImlzb2xhdGlvbiIsInpJbmRleCIsIm9yZGVyIiwiZ3JpZENvbHVtbiIsImdyaWRDb2x1bW5TdGFydCIsImdyaWRDb2x1bW5FbmQiLCJncmlkUm93IiwiZ3JpZFJvd1N0YXJ0IiwiZ3JpZFJvd0VuZCIsImZsb2F0IiwiY2xlYXIiLCJtYXJnaW4iLCJib3hTaXppbmciLCJsaW5lQ2xhbXAiLCJkaXNwbGF5IiwiYXNwZWN0UmF0aW8iLCJzaXplIiwiaGVpZ2h0IiwibWF4SGVpZ2h0IiwibWluSGVpZ2h0Iiwid2lkdGgiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiZmxleCIsImZsZXhTaHJpbmsiLCJmbGV4R3JvdyIsImZsZXhCYXNpcyIsInRhYmxlTGF5b3V0IiwiY2FwdGlvblNpZGUiLCJib3JkZXJDb2xsYXBzZSIsImJvcmRlclNwYWNpbmciLCJ0cmFuc2Zvcm1PcmlnaW4iLCJ0cmFuc2xhdGUiLCJyb3RhdGUiLCJza2V3Iiwic2NhbGUiLCJ0cmFuc2Zvcm0iLCJhbmltYXRpb24iLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsInVzZXJTZWxlY3QiLCJyZXNpemUiLCJzY3JvbGxTbmFwVHlwZSIsInNjcm9sbFNuYXBBbGlnbiIsInNjcm9sbFNuYXBTdG9wIiwic2Nyb2xsTWFyZ2luIiwic2Nyb2xsUGFkZGluZyIsImxpc3RTdHlsZVBvc2l0aW9uIiwibGlzdFN0eWxlVHlwZSIsImxpc3RTdHlsZUltYWdlIiwiYXBwZWFyYW5jZSIsImNvbHVtbnMiLCJicmVha0JlZm9yZSIsImJyZWFrSW5zaWRlIiwiYnJlYWtBZnRlciIsImdyaWRBdXRvQ29sdW1ucyIsImdyaWRBdXRvRmxvdyIsImdyaWRBdXRvUm93cyIsImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJncmlkVGVtcGxhdGVSb3dzIiwiZmxleERpcmVjdGlvbiIsImZsZXhXcmFwIiwicGxhY2VDb250ZW50IiwicGxhY2VJdGVtcyIsImFsaWduQ29udGVudCIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImp1c3RpZnlJdGVtcyIsImdhcCIsInNwYWNlIiwiZGl2aWRlV2lkdGgiLCJkaXZpZGVTdHlsZSIsImRpdmlkZUNvbG9yIiwiZGl2aWRlT3BhY2l0eSIsInBsYWNlU2VsZiIsImFsaWduU2VsZiIsImp1c3RpZnlTZWxmIiwib3ZlcmZsb3ciLCJvdmVyc2Nyb2xsQmVoYXZpb3IiLCJzY3JvbGxCZWhhdmlvciIsInRleHRPdmVyZmxvdyIsImh5cGhlbnMiLCJ3aGl0ZXNwYWNlIiwidGV4dFdyYXAiLCJ3b3JkQnJlYWsiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJXaWR0aCIsImJvcmRlclN0eWxlIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJPcGFjaXR5IiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZE9wYWNpdHkiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJncmFkaWVudENvbG9yU3RvcHMiLCJib3hEZWNvcmF0aW9uQnJlYWsiLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRBdHRhY2htZW50IiwiYmFja2dyb3VuZENsaXAiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kUmVwZWF0IiwiYmFja2dyb3VuZE9yaWdpbiIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsIm9iamVjdEZpdCIsIm9iamVjdFBvc2l0aW9uIiwicGFkZGluZyIsInRleHRBbGlnbiIsInRleHRJbmRlbnQiLCJ2ZXJ0aWNhbEFsaWduIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInRleHRUcmFuc2Zvcm0iLCJmb250U3R5bGUiLCJmb250VmFyaWFudE51bWVyaWMiLCJsaW5lSGVpZ2h0IiwibGV0dGVyU3BhY2luZyIsInRleHRDb2xvciIsInRleHRPcGFjaXR5IiwidGV4dERlY29yYXRpb24iLCJ0ZXh0RGVjb3JhdGlvbkNvbG9yIiwidGV4dERlY29yYXRpb25TdHlsZSIsInRleHREZWNvcmF0aW9uVGhpY2tuZXNzIiwidGV4dFVuZGVybGluZU9mZnNldCIsImZvbnRTbW9vdGhpbmciLCJwbGFjZWhvbGRlckNvbG9yIiwicGxhY2Vob2xkZXJPcGFjaXR5IiwiY2FyZXRDb2xvciIsImFjY2VudENvbG9yIiwib3BhY2l0eSIsImJhY2tncm91bmRCbGVuZE1vZGUiLCJtaXhCbGVuZE1vZGUiLCJib3hTaGFkb3ciLCJib3hTaGFkb3dDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCIsIm91dGxpbmVPZmZzZXQiLCJvdXRsaW5lQ29sb3IiLCJyaW5nV2lkdGgiLCJyaW5nQ29sb3IiLCJyaW5nT3BhY2l0eSIsInJpbmdPZmZzZXRXaWR0aCIsInJpbmdPZmZzZXRDb2xvciIsImJsdXIiLCJicmlnaHRuZXNzIiwiY29udHJhc3QiLCJkcm9wU2hhZG93IiwiZ3JheXNjYWxlIiwiaHVlUm90YXRlIiwiaW52ZXJ0Iiwic2F0dXJhdGUiLCJzZXBpYSIsImZpbHRlciIsImJhY2tkcm9wQmx1ciIsImJhY2tkcm9wQnJpZ2h0bmVzcyIsImJhY2tkcm9wQ29udHJhc3QiLCJiYWNrZHJvcEdyYXlzY2FsZSIsImJhY2tkcm9wSHVlUm90YXRlIiwiYmFja2Ryb3BJbnZlcnQiLCJiYWNrZHJvcE9wYWNpdHkiLCJiYWNrZHJvcFNhdHVyYXRlIiwiYmFja2Ryb3BTZXBpYSIsImJhY2tkcm9wRmlsdGVyIiwidHJhbnNpdGlvblByb3BlcnR5IiwidHJhbnNpdGlvbkRlbGF5IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uIiwid2lsbENoYW5nZSIsImNvbnRhaW4iLCJjb250ZW50IiwiZm9yY2VkQ29sb3JBZGp1c3QiXX0pO2Z1bmN0aW9uIGtmKHIsZSl7cmV0dXJuIHI9PT12b2lkIDA/ZTpBcnJheS5pc0FycmF5KHIpP3I6Wy4uLm5ldyBTZXQoZS5maWx0ZXIoaT0+ciE9PSExJiZyW2ldIT09ITEpLmNvbmNhdChPYmplY3Qua2V5cyhyKS5maWx0ZXIoaT0+cltpXSE9PSExKSkpXX12YXIgU2Y9UCgoKT0+e3UoKX0pO3ZhciBBZj17fTtHZShBZix7ZGVmYXVsdDooKT0+UWV9KTt2YXIgUWUsUWk9UCgoKT0+e3UoKTtRZT1uZXcgUHJveHkoe30se2dldDooKT0+U3RyaW5nfSl9KTtmdW5jdGlvbiBqcyhyLGUsdCl7dHlwZW9mIG0hPSJ1bmRlZmluZWQiJiZtLmVudi5KRVNUX1dPUktFUl9JRHx8dCYmQ2YuaGFzKHQpfHwodCYmQ2YuYWRkKHQpLGNvbnNvbGUud2FybigiIiksZS5mb3JFYWNoKGk9PmNvbnNvbGUud2FybihyLCItIixpKSkpfWZ1bmN0aW9uIHpzKHIpe3JldHVybiBRZS5kaW0ocil9dmFyIENmLEcsQmU9UCgoKT0+e3UoKTtRaSgpO0NmPW5ldyBTZXQ7Rz17aW5mbyhyLGUpe2pzKFFlLmJvbGQoUWUuY3lhbigiaW5mbyIpKSwuLi5BcnJheS5pc0FycmF5KHIpP1tyXTpbZSxyXSl9LHdhcm4ocixlKXtbImNvbnRlbnQtcHJvYmxlbXMiXS5pbmNsdWRlcyhyKXx8anMoUWUuYm9sZChRZS55ZWxsb3coIndhcm4iKSksLi4uQXJyYXkuaXNBcnJheShyKT9bcl06W2Uscl0pfSxyaXNrKHIsZSl7anMoUWUuYm9sZChRZS5tYWdlbnRhKCJyaXNrIikpLC4uLkFycmF5LmlzQXJyYXkocik/W3JdOltlLHJdKX19fSk7dmFyIF9mPXt9O0dlKF9mLHtkZWZhdWx0OigpPT5Vc30pO2Z1bmN0aW9uIHFyKHt2ZXJzaW9uOnIsZnJvbTplLHRvOnR9KXtHLndhcm4oYCR7ZX0tY29sb3ItcmVuYW1lZGAsW2BBcyBvZiBUYWlsd2luZCBDU1MgJHtyfSwgXGAke2V9XGAgaGFzIGJlZW4gcmVuYW1lZCB0byBcYCR7dH1cYC5gLCJVcGRhdGUgeW91ciBjb25maWd1cmF0aW9uIGZpbGUgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcuIl0pfXZhciBVcyxWcz1QKCgpPT57dSgpO0JlKCk7VXM9e2luaGVyaXQ6ImluaGVyaXQiLGN1cnJlbnQ6ImN1cnJlbnRDb2xvciIsdHJhbnNwYXJlbnQ6InRyYW5zcGFyZW50IixibGFjazoiIzAwMCIsd2hpdGU6IiNmZmYiLHNsYXRlOns1MDoiI2Y4ZmFmYyIsMTAwOiIjZjFmNWY5IiwyMDA6IiNlMmU4ZjAiLDMwMDoiI2NiZDVlMSIsNDAwOiIjOTRhM2I4Iiw1MDA6IiM2NDc0OGIiLDYwMDoiIzQ3NTU2OSIsNzAwOiIjMzM0MTU1Iiw4MDA6IiMxZTI5M2IiLDkwMDoiIzBmMTcyYSIsOTUwOiIjMDIwNjE3In0sZ3JheTp7NTA6IiNmOWZhZmIiLDEwMDoiI2YzZjRmNiIsMjAwOiIjZTVlN2ViIiwzMDA6IiNkMWQ1ZGIiLDQwMDoiIzljYTNhZiIsNTAwOiIjNmI3MjgwIiw2MDA6IiM0YjU1NjMiLDcwMDoiIzM3NDE1MSIsODAwOiIjMWYyOTM3Iiw5MDA6IiMxMTE4MjciLDk1MDoiIzAzMDcxMiJ9LHppbmM6ezUwOiIjZmFmYWZhIiwxMDA6IiNmNGY0ZjUiLDIwMDoiI2U0ZTRlNyIsMzAwOiIjZDRkNGQ4Iiw0MDA6IiNhMWExYWEiLDUwMDoiIzcxNzE3YSIsNjAwOiIjNTI1MjViIiw3MDA6IiMzZjNmNDYiLDgwMDoiIzI3MjcyYSIsOTAwOiIjMTgxODFiIiw5NTA6IiMwOTA5MGIifSxuZXV0cmFsOns1MDoiI2ZhZmFmYSIsMTAwOiIjZjVmNWY1IiwyMDA6IiNlNWU1ZTUiLDMwMDoiI2Q0ZDRkNCIsNDAwOiIjYTNhM2EzIiw1MDA6IiM3MzczNzMiLDYwMDoiIzUyNTI1MiIsNzAwOiIjNDA0MDQwIiw4MDA6IiMyNjI2MjYiLDkwMDoiIzE3MTcxNyIsOTUwOiIjMGEwYTBhIn0sc3RvbmU6ezUwOiIjZmFmYWY5IiwxMDA6IiNmNWY1ZjQiLDIwMDoiI2U3ZTVlNCIsMzAwOiIjZDZkM2QxIiw0MDA6IiNhOGEyOWUiLDUwMDoiIzc4NzE2YyIsNjAwOiIjNTc1MzRlIiw3MDA6IiM0NDQwM2MiLDgwMDoiIzI5MjUyNCIsOTAwOiIjMWMxOTE3Iiw5NTA6IiMwYzBhMDkifSxyZWQ6ezUwOiIjZmVmMmYyIiwxMDA6IiNmZWUyZTIiLDIwMDoiI2ZlY2FjYSIsMzAwOiIjZmNhNWE1Iiw0MDA6IiNmODcxNzEiLDUwMDoiI2VmNDQ0NCIsNjAwOiIjZGMyNjI2Iiw3MDA6IiNiOTFjMWMiLDgwMDoiIzk5MWIxYiIsOTAwOiIjN2YxZDFkIiw5NTA6IiM0NTBhMGEifSxvcmFuZ2U6ezUwOiIjZmZmN2VkIiwxMDA6IiNmZmVkZDUiLDIwMDoiI2ZlZDdhYSIsMzAwOiIjZmRiYTc0Iiw0MDA6IiNmYjkyM2MiLDUwMDoiI2Y5NzMxNiIsNjAwOiIjZWE1ODBjIiw3MDA6IiNjMjQxMGMiLDgwMDoiIzlhMzQxMiIsOTAwOiIjN2MyZDEyIiw5NTA6IiM0MzE0MDcifSxhbWJlcjp7NTA6IiNmZmZiZWIiLDEwMDoiI2ZlZjNjNyIsMjAwOiIjZmRlNjhhIiwzMDA6IiNmY2QzNGQiLDQwMDoiI2ZiYmYyNCIsNTAwOiIjZjU5ZTBiIiw2MDA6IiNkOTc3MDYiLDcwMDoiI2I0NTMwOSIsODAwOiIjOTI0MDBlIiw5MDA6IiM3ODM1MGYiLDk1MDoiIzQ1MWEwMyJ9LHllbGxvdzp7NTA6IiNmZWZjZTgiLDEwMDoiI2ZlZjljMyIsMjAwOiIjZmVmMDhhIiwzMDA6IiNmZGUwNDciLDQwMDoiI2ZhY2MxNSIsNTAwOiIjZWFiMzA4Iiw2MDA6IiNjYThhMDQiLDcwMDoiI2ExNjIwNyIsODAwOiIjODU0ZDBlIiw5MDA6IiM3MTNmMTIiLDk1MDoiIzQyMjAwNiJ9LGxpbWU6ezUwOiIjZjdmZWU3IiwxMDA6IiNlY2ZjY2IiLDIwMDoiI2Q5Zjk5ZCIsMzAwOiIjYmVmMjY0Iiw0MDA6IiNhM2U2MzUiLDUwMDoiIzg0Y2MxNiIsNjAwOiIjNjVhMzBkIiw3MDA6IiM0ZDdjMGYiLDgwMDoiIzNmNjIxMiIsOTAwOiIjMzY1MzE0Iiw5NTA6IiMxYTJlMDUifSxncmVlbjp7NTA6IiNmMGZkZjQiLDEwMDoiI2RjZmNlNyIsMjAwOiIjYmJmN2QwIiwzMDA6IiM4NmVmYWMiLDQwMDoiIzRhZGU4MCIsNTAwOiIjMjJjNTVlIiw2MDA6IiMxNmEzNGEiLDcwMDoiIzE1ODAzZCIsODAwOiIjMTY2NTM0Iiw5MDA6IiMxNDUzMmQiLDk1MDoiIzA1MmUxNiJ9LGVtZXJhbGQ6ezUwOiIjZWNmZGY1IiwxMDA6IiNkMWZhZTUiLDIwMDoiI2E3ZjNkMCIsMzAwOiIjNmVlN2I3Iiw0MDA6IiMzNGQzOTkiLDUwMDoiIzEwYjk4MSIsNjAwOiIjMDU5NjY5Iiw3MDA6IiMwNDc4NTciLDgwMDoiIzA2NWY0NiIsOTAwOiIjMDY0ZTNiIiw5NTA6IiMwMjJjMjIifSx0ZWFsOns1MDoiI2YwZmRmYSIsMTAwOiIjY2NmYmYxIiwyMDA6IiM5OWY2ZTQiLDMwMDoiIzVlZWFkNCIsNDAwOiIjMmRkNGJmIiw1MDA6IiMxNGI4YTYiLDYwMDoiIzBkOTQ4OCIsNzAwOiIjMGY3NjZlIiw4MDA6IiMxMTVlNTkiLDkwMDoiIzEzNGU0YSIsOTUwOiIjMDQyZjJlIn0sY3lhbjp7NTA6IiNlY2ZlZmYiLDEwMDoiI2NmZmFmZSIsMjAwOiIjYTVmM2ZjIiwzMDA6IiM2N2U4ZjkiLDQwMDoiIzIyZDNlZSIsNTAwOiIjMDZiNmQ0Iiw2MDA6IiMwODkxYjIiLDcwMDoiIzBlNzQ5MCIsODAwOiIjMTU1ZTc1Iiw5MDA6IiMxNjRlNjMiLDk1MDoiIzA4MzM0NCJ9LHNreTp7NTA6IiNmMGY5ZmYiLDEwMDoiI2UwZjJmZSIsMjAwOiIjYmFlNmZkIiwzMDA6IiM3ZGQzZmMiLDQwMDoiIzM4YmRmOCIsNTAwOiIjMGVhNWU5Iiw2MDA6IiMwMjg0YzciLDcwMDoiIzAzNjlhMSIsODAwOiIjMDc1OTg1Iiw5MDA6IiMwYzRhNmUiLDk1MDoiIzA4MmY0OSJ9LGJsdWU6ezUwOiIjZWZmNmZmIiwxMDA6IiNkYmVhZmUiLDIwMDoiI2JmZGJmZSIsMzAwOiIjOTNjNWZkIiw0MDA6IiM2MGE1ZmEiLDUwMDoiIzNiODJmNiIsNjAwOiIjMjU2M2ViIiw3MDA6IiMxZDRlZDgiLDgwMDoiIzFlNDBhZiIsOTAwOiIjMWUzYThhIiw5NTA6IiMxNzI1NTQifSxpbmRpZ286ezUwOiIjZWVmMmZmIiwxMDA6IiNlMGU3ZmYiLDIwMDoiI2M3ZDJmZSIsMzAwOiIjYTViNGZjIiw0MDA6IiM4MThjZjgiLDUwMDoiIzYzNjZmMSIsNjAwOiIjNGY0NmU1Iiw3MDA6IiM0MzM4Y2EiLDgwMDoiIzM3MzBhMyIsOTAwOiIjMzEyZTgxIiw5NTA6IiMxZTFiNGIifSx2aW9sZXQ6ezUwOiIjZjVmM2ZmIiwxMDA6IiNlZGU5ZmUiLDIwMDoiI2RkZDZmZSIsMzAwOiIjYzRiNWZkIiw0MDA6IiNhNzhiZmEiLDUwMDoiIzhiNWNmNiIsNjAwOiIjN2MzYWVkIiw3MDA6IiM2ZDI4ZDkiLDgwMDoiIzViMjFiNiIsOTAwOiIjNGMxZDk1Iiw5NTA6IiMyZTEwNjUifSxwdXJwbGU6ezUwOiIjZmFmNWZmIiwxMDA6IiNmM2U4ZmYiLDIwMDoiI2U5ZDVmZiIsMzAwOiIjZDhiNGZlIiw0MDA6IiNjMDg0ZmMiLDUwMDoiI2E4NTVmNyIsNjAwOiIjOTMzM2VhIiw3MDA6IiM3ZTIyY2UiLDgwMDoiIzZiMjFhOCIsOTAwOiIjNTgxYzg3Iiw5NTA6IiMzYjA3NjQifSxmdWNoc2lhOns1MDoiI2ZkZjRmZiIsMTAwOiIjZmFlOGZmIiwyMDA6IiNmNWQwZmUiLDMwMDoiI2YwYWJmYyIsNDAwOiIjZTg3OWY5Iiw1MDA6IiNkOTQ2ZWYiLDYwMDoiI2MwMjZkMyIsNzAwOiIjYTIxY2FmIiw4MDA6IiM4NjE5OGYiLDkwMDoiIzcwMWE3NSIsOTUwOiIjNGEwNDRlIn0scGluazp7NTA6IiNmZGYyZjgiLDEwMDoiI2ZjZTdmMyIsMjAwOiIjZmJjZmU4IiwzMDA6IiNmOWE4ZDQiLDQwMDoiI2Y0NzJiNiIsNTAwOiIjZWM0ODk5Iiw2MDA6IiNkYjI3NzciLDcwMDoiI2JlMTg1ZCIsODAwOiIjOWQxNzRkIiw5MDA6IiM4MzE4NDMiLDk1MDoiIzUwMDcyNCJ9LHJvc2U6ezUwOiIjZmZmMWYyIiwxMDA6IiNmZmU0ZTYiLDIwMDoiI2ZlY2RkMyIsMzAwOiIjZmRhNGFmIiw0MDA6IiNmYjcxODUiLDUwMDoiI2Y0M2Y1ZSIsNjAwOiIjZTExZDQ4Iiw3MDA6IiNiZTEyM2MiLDgwMDoiIzlmMTIzOSIsOTAwOiIjODgxMzM3Iiw5NTA6IiM0YzA1MTkifSxnZXQgbGlnaHRCbHVlKCl7cmV0dXJuIHFyKHt2ZXJzaW9uOiJ2Mi4yIixmcm9tOiJsaWdodEJsdWUiLHRvOiJza3kifSksdGhpcy5za3l9LGdldCB3YXJtR3JheSgpe3JldHVybiBxcih7dmVyc2lvbjoidjMuMCIsZnJvbToid2FybUdyYXkiLHRvOiJzdG9uZSJ9KSx0aGlzLnN0b25lfSxnZXQgdHJ1ZUdyYXkoKXtyZXR1cm4gcXIoe3ZlcnNpb246InYzLjAiLGZyb206InRydWVHcmF5Iix0bzoibmV1dHJhbCJ9KSx0aGlzLm5ldXRyYWx9LGdldCBjb29sR3JheSgpe3JldHVybiBxcih7dmVyc2lvbjoidjMuMCIsZnJvbToiY29vbEdyYXkiLHRvOiJncmF5In0pLHRoaXMuZ3JheX0sZ2V0IGJsdWVHcmF5KCl7cmV0dXJuIHFyKHt2ZXJzaW9uOiJ2My4wIixmcm9tOiJibHVlR3JheSIsdG86InNsYXRlIn0pLHRoaXMuc2xhdGV9fX0pO2Z1bmN0aW9uIEhzKHIsLi4uZSl7Zm9yKGxldCB0IG9mIGUpe2ZvcihsZXQgaSBpbiB0KXI/Lmhhc093blByb3BlcnR5Py4oaSl8fChyW2ldPXRbaV0pO2ZvcihsZXQgaSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKXI/Lmhhc093blByb3BlcnR5Py4oaSl8fChyW2ldPXRbaV0pfXJldHVybiByfXZhciBFZj1QKCgpPT57dSgpfSk7ZnVuY3Rpb24ga3Qocil7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gcjtsZXQgZT1yLnNwbGl0KCJbIikubGVuZ3RoLTEsdD1yLnNwbGl0KCJdIikubGVuZ3RoLTE7aWYoZSE9PXQpdGhyb3cgbmV3IEVycm9yKGBQYXRoIGlzIGludmFsaWQuIEhhcyB1bmJhbGFuY2VkIGJyYWNrZXRzOiAke3J9YCk7cmV0dXJuIHIuc3BsaXQoL1wuKD8hW15cW10qXF0pfFtcW1xdXS9nKS5maWx0ZXIoQm9vbGVhbil9dmFyIFlpPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiB3ZShyLGUpe3JldHVybiBLaS5mdXR1cmUuaW5jbHVkZXMoZSk/ci5mdXR1cmU9PT0iYWxsInx8KHI/LmZ1dHVyZT8uW2VdPz9PZltlXT8/ITEpOktpLmV4cGVyaW1lbnRhbC5pbmNsdWRlcyhlKT9yLmV4cGVyaW1lbnRhbD09PSJhbGwifHwocj8uZXhwZXJpbWVudGFsPy5bZV0/P09mW2VdPz8hMSk6ITF9ZnVuY3Rpb24gVGYocil7cmV0dXJuIHIuZXhwZXJpbWVudGFsPT09ImFsbCI/S2kuZXhwZXJpbWVudGFsOk9iamVjdC5rZXlzKHI/LmV4cGVyaW1lbnRhbD8/e30pLmZpbHRlcihlPT5LaS5leHBlcmltZW50YWwuaW5jbHVkZXMoZSkmJnIuZXhwZXJpbWVudGFsW2VdKX1mdW5jdGlvbiBSZihyKXtpZihtLmVudi5KRVNUX1dPUktFUl9JRD09PXZvaWQgMCYmVGYocikubGVuZ3RoPjApe2xldCBlPVRmKHIpLm1hcCh0PT5RZS55ZWxsb3codCkpLmpvaW4oIiwgIik7Ry53YXJuKCJleHBlcmltZW50YWwtZmxhZ3MtZW5hYmxlZCIsW2BZb3UgaGF2ZSBlbmFibGVkIGV4cGVyaW1lbnRhbCBmZWF0dXJlczogJHtlfWAsIkV4cGVyaW1lbnRhbCBmZWF0dXJlcyBpbiBUYWlsd2luZCBDU1MgYXJlIG5vdCBjb3ZlcmVkIGJ5IHNlbXZlciwgbWF5IGludHJvZHVjZSBicmVha2luZyBjaGFuZ2VzLCBhbmQgY2FuIGNoYW5nZSBhdCBhbnkgdGltZS4iXSl9fXZhciBPZixLaSxjdD1QKCgpPT57dSgpO1FpKCk7QmUoKTtPZj17b3B0aW1pemVVbml2ZXJzYWxEZWZhdWx0czohMSxnZW5lcmFsaXplZE1vZGlmaWVyczohMCxkaXNhYmxlQ29sb3JPcGFjaXR5VXRpbGl0aWVzQnlEZWZhdWx0OiExLHJlbGF0aXZlQ29udGVudFBhdGhzQnlEZWZhdWx0OiExfSxLaT17ZnV0dXJlOlsiaG92ZXJPbmx5V2hlblN1cHBvcnRlZCIsInJlc3BlY3REZWZhdWx0UmluZ0NvbG9yT3BhY2l0eSIsImRpc2FibGVDb2xvck9wYWNpdHlVdGlsaXRpZXNCeURlZmF1bHQiLCJyZWxhdGl2ZUNvbnRlbnRQYXRoc0J5RGVmYXVsdCJdLGV4cGVyaW1lbnRhbDpbIm9wdGltaXplVW5pdmVyc2FsRGVmYXVsdHMiLCJnZW5lcmFsaXplZE1vZGlmaWVycyJdfX0pO2Z1bmN0aW9uIFBmKHIpeygoKT0+e2lmKHIucHVyZ2V8fCFyLmNvbnRlbnR8fCFBcnJheS5pc0FycmF5KHIuY29udGVudCkmJiEodHlwZW9mIHIuY29udGVudD09Im9iamVjdCImJnIuY29udGVudCE9PW51bGwpKXJldHVybiExO2lmKEFycmF5LmlzQXJyYXkoci5jb250ZW50KSlyZXR1cm4gci5jb250ZW50LmV2ZXJ5KHQ9PnR5cGVvZiB0PT0ic3RyaW5nIj8hMDohKHR5cGVvZiB0Py5yYXchPSJzdHJpbmcifHx0Py5leHRlbnNpb24mJnR5cGVvZiB0Py5leHRlbnNpb24hPSJzdHJpbmciKSk7aWYodHlwZW9mIHIuY29udGVudD09Im9iamVjdCImJnIuY29udGVudCE9PW51bGwpe2lmKE9iamVjdC5rZXlzKHIuY29udGVudCkuc29tZSh0PT4hWyJmaWxlcyIsInJlbGF0aXZlIiwiZXh0cmFjdCIsInRyYW5zZm9ybSJdLmluY2x1ZGVzKHQpKSlyZXR1cm4hMTtpZihBcnJheS5pc0FycmF5KHIuY29udGVudC5maWxlcykpe2lmKCFyLmNvbnRlbnQuZmlsZXMuZXZlcnkodD0+dHlwZW9mIHQ9PSJzdHJpbmciPyEwOiEodHlwZW9mIHQ/LnJhdyE9InN0cmluZyJ8fHQ/LmV4dGVuc2lvbiYmdHlwZW9mIHQ/LmV4dGVuc2lvbiE9InN0cmluZyIpKSlyZXR1cm4hMTtpZih0eXBlb2Ygci5jb250ZW50LmV4dHJhY3Q9PSJvYmplY3QiKXtmb3IobGV0IHQgb2YgT2JqZWN0LnZhbHVlcyhyLmNvbnRlbnQuZXh0cmFjdCkpaWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuITF9ZWxzZSBpZighKHIuY29udGVudC5leHRyYWN0PT09dm9pZCAwfHx0eXBlb2Ygci5jb250ZW50LmV4dHJhY3Q9PSJmdW5jdGlvbiIpKXJldHVybiExO2lmKHR5cGVvZiByLmNvbnRlbnQudHJhbnNmb3JtPT0ib2JqZWN0Iil7Zm9yKGxldCB0IG9mIE9iamVjdC52YWx1ZXMoci5jb250ZW50LnRyYW5zZm9ybSkpaWYodHlwZW9mIHQhPSJmdW5jdGlvbiIpcmV0dXJuITF9ZWxzZSBpZighKHIuY29udGVudC50cmFuc2Zvcm09PT12b2lkIDB8fHR5cGVvZiByLmNvbnRlbnQudHJhbnNmb3JtPT0iZnVuY3Rpb24iKSlyZXR1cm4hMTtpZih0eXBlb2Ygci5jb250ZW50LnJlbGF0aXZlIT0iYm9vbGVhbiImJnR5cGVvZiByLmNvbnRlbnQucmVsYXRpdmUhPSJ1bmRlZmluZWQiKXJldHVybiExfXJldHVybiEwfXJldHVybiExfSkoKXx8Ry53YXJuKCJwdXJnZS1kZXByZWNhdGlvbiIsWyJUaGUgYHB1cmdlYC9gY29udGVudGAgb3B0aW9ucyBoYXZlIGNoYW5nZWQgaW4gVGFpbHdpbmQgQ1NTIHYzLjAuIiwiVXBkYXRlIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlIHRvIGVsaW1pbmF0ZSB0aGlzIHdhcm5pbmcuIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91cGdyYWRlLWd1aWRlI2NvbmZpZ3VyZS1jb250ZW50LXNvdXJjZXMiXSksci5zYWZlbGlzdD0oKCk9PntsZXR7Y29udGVudDp0LHB1cmdlOmksc2FmZWxpc3Q6bn09cjtyZXR1cm4gQXJyYXkuaXNBcnJheShuKT9uOkFycmF5LmlzQXJyYXkodD8uc2FmZWxpc3QpP3Quc2FmZWxpc3Q6QXJyYXkuaXNBcnJheShpPy5zYWZlbGlzdCk/aS5zYWZlbGlzdDpBcnJheS5pc0FycmF5KGk/Lm9wdGlvbnM/LnNhZmVsaXN0KT9pLm9wdGlvbnMuc2FmZWxpc3Q6W119KSgpLHIuYmxvY2tsaXN0PSgoKT0+e2xldHtibG9ja2xpc3Q6dH09cjtpZihBcnJheS5pc0FycmF5KHQpKXtpZih0LmV2ZXJ5KGk9PnR5cGVvZiBpPT0ic3RyaW5nIikpcmV0dXJuIHQ7Ry53YXJuKCJibG9ja2xpc3QtaW52YWxpZCIsWyJUaGUgYGJsb2NrbGlzdGAgb3B0aW9uIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncy4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnQtY29uZmlndXJhdGlvbiNkaXNjYXJkaW5nLWNsYXNzZXMiXSl9cmV0dXJuW119KSgpLHR5cGVvZiByLnByZWZpeD09ImZ1bmN0aW9uIj8oRy53YXJuKCJwcmVmaXgtZnVuY3Rpb24iLFsiQXMgb2YgVGFpbHdpbmQgQ1NTIHYzLjAsIGBwcmVmaXhgIGNhbm5vdCBiZSBhIGZ1bmN0aW9uLiIsIlVwZGF0ZSBgcHJlZml4YCBpbiB5b3VyIGNvbmZpZ3VyYXRpb24gdG8gYmUgYSBzdHJpbmcgdG8gZWxpbWluYXRlIHRoaXMgd2FybmluZy4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3VwZ3JhZGUtZ3VpZGUjcHJlZml4LWNhbm5vdC1iZS1hLWZ1bmN0aW9uIl0pLHIucHJlZml4PSIiKTpyLnByZWZpeD1yLnByZWZpeD8/IiIsci5jb250ZW50PXtyZWxhdGl2ZTooKCk9PntsZXR7Y29udGVudDp0fT1yO3JldHVybiB0Py5yZWxhdGl2ZT90LnJlbGF0aXZlOndlKHIsInJlbGF0aXZlQ29udGVudFBhdGhzQnlEZWZhdWx0Iil9KSgpLGZpbGVzOigoKT0+e2xldHtjb250ZW50OnQscHVyZ2U6aX09cjtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT9pOkFycmF5LmlzQXJyYXkoaT8uY29udGVudCk/aS5jb250ZW50OkFycmF5LmlzQXJyYXkodCk/dDpBcnJheS5pc0FycmF5KHQ/LmNvbnRlbnQpP3QuY29udGVudDpBcnJheS5pc0FycmF5KHQ/LmZpbGVzKT90LmZpbGVzOltdfSkoKSxleHRyYWN0OigoKT0+e2xldCB0PSgoKT0+ci5wdXJnZT8uZXh0cmFjdD9yLnB1cmdlLmV4dHJhY3Q6ci5jb250ZW50Py5leHRyYWN0P3IuY29udGVudC5leHRyYWN0OnIucHVyZ2U/LmV4dHJhY3Q/LkRFRkFVTFQ/ci5wdXJnZS5leHRyYWN0LkRFRkFVTFQ6ci5jb250ZW50Py5leHRyYWN0Py5ERUZBVUxUP3IuY29udGVudC5leHRyYWN0LkRFRkFVTFQ6ci5wdXJnZT8ub3B0aW9ucz8uZXh0cmFjdG9ycz9yLnB1cmdlLm9wdGlvbnMuZXh0cmFjdG9yczpyLmNvbnRlbnQ/Lm9wdGlvbnM/LmV4dHJhY3RvcnM/ci5jb250ZW50Lm9wdGlvbnMuZXh0cmFjdG9yczp7fSkoKSxpPXt9LG49KCgpPT57aWYoci5wdXJnZT8ub3B0aW9ucz8uZGVmYXVsdEV4dHJhY3RvcilyZXR1cm4gci5wdXJnZS5vcHRpb25zLmRlZmF1bHRFeHRyYWN0b3I7aWYoci5jb250ZW50Py5vcHRpb25zPy5kZWZhdWx0RXh0cmFjdG9yKXJldHVybiByLmNvbnRlbnQub3B0aW9ucy5kZWZhdWx0RXh0cmFjdG9yfSkoKTtpZihuIT09dm9pZCAwJiYoaS5ERUZBVUxUPW4pLHR5cGVvZiB0PT0iZnVuY3Rpb24iKWkuREVGQVVMVD10O2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0e2V4dGVuc2lvbnM6cyxleHRyYWN0b3I6YX1vZiB0Pz9bXSlmb3IobGV0IG8gb2YgcylpW29dPWE7ZWxzZSB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZPYmplY3QuYXNzaWduKGksdCk7cmV0dXJuIGl9KSgpLHRyYW5zZm9ybTooKCk9PntsZXQgdD0oKCk9PnIucHVyZ2U/LnRyYW5zZm9ybT9yLnB1cmdlLnRyYW5zZm9ybTpyLmNvbnRlbnQ/LnRyYW5zZm9ybT9yLmNvbnRlbnQudHJhbnNmb3JtOnIucHVyZ2U/LnRyYW5zZm9ybT8uREVGQVVMVD9yLnB1cmdlLnRyYW5zZm9ybS5ERUZBVUxUOnIuY29udGVudD8udHJhbnNmb3JtPy5ERUZBVUxUP3IuY29udGVudC50cmFuc2Zvcm0uREVGQVVMVDp7fSkoKSxpPXt9O3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj9pLkRFRkFVTFQ9dDp0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsJiZPYmplY3QuYXNzaWduKGksdCksaX0pKCl9O2ZvcihsZXQgdCBvZiByLmNvbnRlbnQuZmlsZXMpaWYodHlwZW9mIHQ9PSJzdHJpbmciJiYveyhbXixdKj8pfS9nLnRlc3QodCkpe0cud2FybigiaW52YWxpZC1nbG9iLWJyYWNlcyIsW2BUaGUgZ2xvYiBwYXR0ZXJuICR7enModCl9IGluIHlvdXIgVGFpbHdpbmQgQ1NTIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZC5gLGBVcGRhdGUgaXQgdG8gJHt6cyh0LnJlcGxhY2UoL3soW14sXSo/KX0vZywiJDEiKSl9IHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLmBdKTticmVha31yZXR1cm4gcn12YXIgSWY9UCgoKT0+e3UoKTtjdCgpO0JlKCl9KTtmdW5jdGlvbiBrZShyKXtpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocikhPT0iW29iamVjdCBPYmplY3RdIilyZXR1cm4hMTtsZXQgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2Yocik7cmV0dXJuIGU9PT1udWxsfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsfXZhciBLdD1QKCgpPT57dSgpfSk7ZnVuY3Rpb24gU3Qocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5tYXAoZT0+U3QoZSkpOnR5cGVvZiByPT0ib2JqZWN0IiYmciE9PW51bGw/T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHIpLm1hcCgoW2UsdF0pPT5bZSxTdCh0KV0pKTpyfXZhciBYaT1QKCgpPT57dSgpfSk7ZnVuY3Rpb24ganQocil7cmV0dXJuIHIucmVwbGFjZSgvXFwsL2csIlxcMmMgIil9dmFyIFppPVAoKCk9Pnt1KCl9KTt2YXIgV3MsRGY9UCgoKT0+e3UoKTtXcz17YWxpY2VibHVlOlsyNDAsMjQ4LDI1NV0sYW50aXF1ZXdoaXRlOlsyNTAsMjM1LDIxNV0sYXF1YTpbMCwyNTUsMjU1XSxhcXVhbWFyaW5lOlsxMjcsMjU1LDIxMl0sYXp1cmU6WzI0MCwyNTUsMjU1XSxiZWlnZTpbMjQ1LDI0NSwyMjBdLGJpc3F1ZTpbMjU1LDIyOCwxOTZdLGJsYWNrOlswLDAsMF0sYmxhbmNoZWRhbG1vbmQ6WzI1NSwyMzUsMjA1XSxibHVlOlswLDAsMjU1XSxibHVldmlvbGV0OlsxMzgsNDMsMjI2XSxicm93bjpbMTY1LDQyLDQyXSxidXJseXdvb2Q6WzIyMiwxODQsMTM1XSxjYWRldGJsdWU6Wzk1LDE1OCwxNjBdLGNoYXJ0cmV1c2U6WzEyNywyNTUsMF0sY2hvY29sYXRlOlsyMTAsMTA1LDMwXSxjb3JhbDpbMjU1LDEyNyw4MF0sY29ybmZsb3dlcmJsdWU6WzEwMCwxNDksMjM3XSxjb3Juc2lsazpbMjU1LDI0OCwyMjBdLGNyaW1zb246WzIyMCwyMCw2MF0sY3lhbjpbMCwyNTUsMjU1XSxkYXJrYmx1ZTpbMCwwLDEzOV0sZGFya2N5YW46WzAsMTM5LDEzOV0sZGFya2dvbGRlbnJvZDpbMTg0LDEzNCwxMV0sZGFya2dyYXk6WzE2OSwxNjksMTY5XSxkYXJrZ3JlZW46WzAsMTAwLDBdLGRhcmtncmV5OlsxNjksMTY5LDE2OV0sZGFya2toYWtpOlsxODksMTgzLDEwN10sZGFya21hZ2VudGE6WzEzOSwwLDEzOV0sZGFya29saXZlZ3JlZW46Wzg1LDEwNyw0N10sZGFya29yYW5nZTpbMjU1LDE0MCwwXSxkYXJrb3JjaGlkOlsxNTMsNTAsMjA0XSxkYXJrcmVkOlsxMzksMCwwXSxkYXJrc2FsbW9uOlsyMzMsMTUwLDEyMl0sZGFya3NlYWdyZWVuOlsxNDMsMTg4LDE0M10sZGFya3NsYXRlYmx1ZTpbNzIsNjEsMTM5XSxkYXJrc2xhdGVncmF5Ols0Nyw3OSw3OV0sZGFya3NsYXRlZ3JleTpbNDcsNzksNzldLGRhcmt0dXJxdW9pc2U6WzAsMjA2LDIwOV0sZGFya3Zpb2xldDpbMTQ4LDAsMjExXSxkZWVwcGluazpbMjU1LDIwLDE0N10sZGVlcHNreWJsdWU6WzAsMTkxLDI1NV0sZGltZ3JheTpbMTA1LDEwNSwxMDVdLGRpbWdyZXk6WzEwNSwxMDUsMTA1XSxkb2RnZXJibHVlOlszMCwxNDQsMjU1XSxmaXJlYnJpY2s6WzE3OCwzNCwzNF0sZmxvcmFsd2hpdGU6WzI1NSwyNTAsMjQwXSxmb3Jlc3RncmVlbjpbMzQsMTM5LDM0XSxmdWNoc2lhOlsyNTUsMCwyNTVdLGdhaW5zYm9ybzpbMjIwLDIyMCwyMjBdLGdob3N0d2hpdGU6WzI0OCwyNDgsMjU1XSxnb2xkOlsyNTUsMjE1LDBdLGdvbGRlbnJvZDpbMjE4LDE2NSwzMl0sZ3JheTpbMTI4LDEyOCwxMjhdLGdyZWVuOlswLDEyOCwwXSxncmVlbnllbGxvdzpbMTczLDI1NSw0N10sZ3JleTpbMTI4LDEyOCwxMjhdLGhvbmV5ZGV3OlsyNDAsMjU1LDI0MF0saG90cGluazpbMjU1LDEwNSwxODBdLGluZGlhbnJlZDpbMjA1LDkyLDkyXSxpbmRpZ286Wzc1LDAsMTMwXSxpdm9yeTpbMjU1LDI1NSwyNDBdLGtoYWtpOlsyNDAsMjMwLDE0MF0sbGF2ZW5kZXI6WzIzMCwyMzAsMjUwXSxsYXZlbmRlcmJsdXNoOlsyNTUsMjQwLDI0NV0sbGF3bmdyZWVuOlsxMjQsMjUyLDBdLGxlbW9uY2hpZmZvbjpbMjU1LDI1MCwyMDVdLGxpZ2h0Ymx1ZTpbMTczLDIxNiwyMzBdLGxpZ2h0Y29yYWw6WzI0MCwxMjgsMTI4XSxsaWdodGN5YW46WzIyNCwyNTUsMjU1XSxsaWdodGdvbGRlbnJvZHllbGxvdzpbMjUwLDI1MCwyMTBdLGxpZ2h0Z3JheTpbMjExLDIxMSwyMTFdLGxpZ2h0Z3JlZW46WzE0NCwyMzgsMTQ0XSxsaWdodGdyZXk6WzIxMSwyMTEsMjExXSxsaWdodHBpbms6WzI1NSwxODIsMTkzXSxsaWdodHNhbG1vbjpbMjU1LDE2MCwxMjJdLGxpZ2h0c2VhZ3JlZW46WzMyLDE3OCwxNzBdLGxpZ2h0c2t5Ymx1ZTpbMTM1LDIwNiwyNTBdLGxpZ2h0c2xhdGVncmF5OlsxMTksMTM2LDE1M10sbGlnaHRzbGF0ZWdyZXk6WzExOSwxMzYsMTUzXSxsaWdodHN0ZWVsYmx1ZTpbMTc2LDE5NiwyMjJdLGxpZ2h0eWVsbG93OlsyNTUsMjU1LDIyNF0sbGltZTpbMCwyNTUsMF0sbGltZWdyZWVuOls1MCwyMDUsNTBdLGxpbmVuOlsyNTAsMjQwLDIzMF0sbWFnZW50YTpbMjU1LDAsMjU1XSxtYXJvb246WzEyOCwwLDBdLG1lZGl1bWFxdWFtYXJpbmU6WzEwMiwyMDUsMTcwXSxtZWRpdW1ibHVlOlswLDAsMjA1XSxtZWRpdW1vcmNoaWQ6WzE4Niw4NSwyMTFdLG1lZGl1bXB1cnBsZTpbMTQ3LDExMiwyMTldLG1lZGl1bXNlYWdyZWVuOls2MCwxNzksMTEzXSxtZWRpdW1zbGF0ZWJsdWU6WzEyMywxMDQsMjM4XSxtZWRpdW1zcHJpbmdncmVlbjpbMCwyNTAsMTU0XSxtZWRpdW10dXJxdW9pc2U6WzcyLDIwOSwyMDRdLG1lZGl1bXZpb2xldHJlZDpbMTk5LDIxLDEzM10sbWlkbmlnaHRibHVlOlsyNSwyNSwxMTJdLG1pbnRjcmVhbTpbMjQ1LDI1NSwyNTBdLG1pc3R5cm9zZTpbMjU1LDIyOCwyMjVdLG1vY2Nhc2luOlsyNTUsMjI4LDE4MV0sbmF2YWpvd2hpdGU6WzI1NSwyMjIsMTczXSxuYXZ5OlswLDAsMTI4XSxvbGRsYWNlOlsyNTMsMjQ1LDIzMF0sb2xpdmU6WzEyOCwxMjgsMF0sb2xpdmVkcmFiOlsxMDcsMTQyLDM1XSxvcmFuZ2U6WzI1NSwxNjUsMF0sb3JhbmdlcmVkOlsyNTUsNjksMF0sb3JjaGlkOlsyMTgsMTEyLDIxNF0scGFsZWdvbGRlbnJvZDpbMjM4LDIzMiwxNzBdLHBhbGVncmVlbjpbMTUyLDI1MSwxNTJdLHBhbGV0dXJxdW9pc2U6WzE3NSwyMzgsMjM4XSxwYWxldmlvbGV0cmVkOlsyMTksMTEyLDE0N10scGFwYXlhd2hpcDpbMjU1LDIzOSwyMTNdLHBlYWNocHVmZjpbMjU1LDIxOCwxODVdLHBlcnU6WzIwNSwxMzMsNjNdLHBpbms6WzI1NSwxOTIsMjAzXSxwbHVtOlsyMjEsMTYwLDIyMV0scG93ZGVyYmx1ZTpbMTc2LDIyNCwyMzBdLHB1cnBsZTpbMTI4LDAsMTI4XSxyZWJlY2NhcHVycGxlOlsxMDIsNTEsMTUzXSxyZWQ6WzI1NSwwLDBdLHJvc3licm93bjpbMTg4LDE0MywxNDNdLHJveWFsYmx1ZTpbNjUsMTA1LDIyNV0sc2FkZGxlYnJvd246WzEzOSw2OSwxOV0sc2FsbW9uOlsyNTAsMTI4LDExNF0sc2FuZHlicm93bjpbMjQ0LDE2NCw5Nl0sc2VhZ3JlZW46WzQ2LDEzOSw4N10sc2Vhc2hlbGw6WzI1NSwyNDUsMjM4XSxzaWVubmE6WzE2MCw4Miw0NV0sc2lsdmVyOlsxOTIsMTkyLDE5Ml0sc2t5Ymx1ZTpbMTM1LDIwNiwyMzVdLHNsYXRlYmx1ZTpbMTA2LDkwLDIwNV0sc2xhdGVncmF5OlsxMTIsMTI4LDE0NF0sc2xhdGVncmV5OlsxMTIsMTI4LDE0NF0sc25vdzpbMjU1LDI1MCwyNTBdLHNwcmluZ2dyZWVuOlswLDI1NSwxMjddLHN0ZWVsYmx1ZTpbNzAsMTMwLDE4MF0sdGFuOlsyMTAsMTgwLDE0MF0sdGVhbDpbMCwxMjgsMTI4XSx0aGlzdGxlOlsyMTYsMTkxLDIxNl0sdG9tYXRvOlsyNTUsOTksNzFdLHR1cnF1b2lzZTpbNjQsMjI0LDIwOF0sdmlvbGV0OlsyMzgsMTMwLDIzOF0sd2hlYXQ6WzI0NSwyMjIsMTc5XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLHdoaXRlc21va2U6WzI0NSwyNDUsMjQ1XSx5ZWxsb3c6WzI1NSwyNTUsMF0seWVsbG93Z3JlZW46WzE1NCwyMDUsNTBdfX0pO2Z1bmN0aW9uICRyKHIse2xvb3NlOmU9ITF9PXt9KXtpZih0eXBlb2YgciE9InN0cmluZyIpcmV0dXJuIG51bGw7aWYocj1yLnRyaW0oKSxyPT09InRyYW5zcGFyZW50IilyZXR1cm57bW9kZToicmdiIixjb2xvcjpbIjAiLCIwIiwiMCJdLGFscGhhOiIwIn07aWYociBpbiBXcylyZXR1cm57bW9kZToicmdiIixjb2xvcjpXc1tyXS5tYXAocz0+cy50b1N0cmluZygpKX07bGV0IHQ9ci5yZXBsYWNlKHp2LChzLGEsbyxsLGMpPT5bIiMiLGEsYSxvLG8sbCxsLGM/YytjOiIiXS5qb2luKCIiKSkubWF0Y2goanYpO2lmKHQhPT1udWxsKXJldHVybnttb2RlOiJyZ2IiLGNvbG9yOltwYXJzZUludCh0WzFdLDE2KSxwYXJzZUludCh0WzJdLDE2KSxwYXJzZUludCh0WzNdLDE2KV0ubWFwKHM9PnMudG9TdHJpbmcoKSksYWxwaGE6dFs0XT8ocGFyc2VJbnQodFs0XSwxNikvMjU1KS50b1N0cmluZygpOnZvaWQgMH07bGV0IGk9ci5tYXRjaChVdik/P3IubWF0Y2goVnYpO2lmKGk9PT1udWxsKXJldHVybiBudWxsO2xldCBuPVtpWzJdLGlbM10saVs0XV0uZmlsdGVyKEJvb2xlYW4pLm1hcChzPT5zLnRvU3RyaW5nKCkpO3JldHVybiBuLmxlbmd0aD09PTImJm5bMF0uc3RhcnRzV2l0aCgidmFyKCIpP3ttb2RlOmlbMV0sY29sb3I6W25bMF1dLGFscGhhOm5bMV19OiFlJiZuLmxlbmd0aCE9PTN8fG4ubGVuZ3RoPDMmJiFuLnNvbWUocz0+L152YXJcKC4qP1wpJC8udGVzdChzKSk/bnVsbDp7bW9kZTppWzFdLGNvbG9yOm4sYWxwaGE6aVs1XT8udG9TdHJpbmc/LigpfX1mdW5jdGlvbiBHcyh7bW9kZTpyLGNvbG9yOmUsYWxwaGE6dH0pe2xldCBpPXQhPT12b2lkIDA7cmV0dXJuIHI9PT0icmdiYSJ8fHI9PT0iaHNsYSI/YCR7cn0oJHtlLmpvaW4oIiwgIil9JHtpP2AsICR7dH1gOiIifSlgOmAke3J9KCR7ZS5qb2luKCIgIil9JHtpP2AgLyAke3R9YDoiIn0pYH12YXIganYsenYsQXQsSmkscWYsQ3QsVXYsVnYsUXM9UCgoKT0+e3UoKTtEZigpO2p2PS9eIyhbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KShbYS1mXGRdezJ9KT8kL2ksenY9L14jKFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pPyQvaSxBdD0vKD86XGQrfFxkKlwuXGQrKSU/LyxKaT0vKD86XHMqLFxzKnxccyspLyxxZj0vXHMqWywvXVxzKi8sQ3Q9L3ZhclwoLS0oPzpbXiApXSo/KSg/OiwoPzpbXiApXSo/fHZhclwoLS1bXiApXSo/XCkpKT9cKS8sVXY9bmV3IFJlZ0V4cChgXihyZ2JhPylcXChcXHMqKCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKD86JHtKaS5zb3VyY2V9KCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKT8oPzoke0ppLnNvdXJjZX0oJHtBdC5zb3VyY2V9fCR7Q3Quc291cmNlfSkpPyg/OiR7cWYuc291cmNlfSgke0F0LnNvdXJjZX18JHtDdC5zb3VyY2V9KSk/XFxzKlxcKSRgKSxWdj1uZXcgUmVnRXhwKGBeKGhzbGE/KVxcKFxccyooKD86JHtBdC5zb3VyY2V9KSg/OmRlZ3xyYWR8Z3JhZHx0dXJuKT98JHtDdC5zb3VyY2V9KSg/OiR7Smkuc291cmNlfSgke0F0LnNvdXJjZX18JHtDdC5zb3VyY2V9KSk/KD86JHtKaS5zb3VyY2V9KCR7QXQuc291cmNlfXwke0N0LnNvdXJjZX0pKT8oPzoke3FmLnNvdXJjZX0oJHtBdC5zb3VyY2V9fCR7Q3Quc291cmNlfSkpP1xccypcXCkkYCl9KTtmdW5jdGlvbiBKZShyLGUsdCl7aWYodHlwZW9mIHI9PSJmdW5jdGlvbiIpcmV0dXJuIHIoe29wYWNpdHlWYWx1ZTplfSk7bGV0IGk9JHIocix7bG9vc2U6ITB9KTtyZXR1cm4gaT09PW51bGw/dDpHcyh7Li4uaSxhbHBoYTplfSl9ZnVuY3Rpb24gQWUoe2NvbG9yOnIscHJvcGVydHk6ZSx2YXJpYWJsZTp0fSl7bGV0IGk9W10uY29uY2F0KGUpO2lmKHR5cGVvZiByPT0iZnVuY3Rpb24iKXJldHVybntbdF06IjEiLC4uLk9iamVjdC5mcm9tRW50cmllcyhpLm1hcChzPT5bcyxyKHtvcGFjaXR5VmFyaWFibGU6dCxvcGFjaXR5VmFsdWU6YHZhcigke3R9LCAxKWB9KV0pKX07bGV0IG49JHIocik7cmV0dXJuIG49PT1udWxsP09iamVjdC5mcm9tRW50cmllcyhpLm1hcChzPT5bcyxyXSkpOm4uYWxwaGEhPT12b2lkIDA/T2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKHM9PltzLHJdKSk6e1t0XToiMSIsLi4uT2JqZWN0LmZyb21FbnRyaWVzKGkubWFwKHM9PltzLEdzKHsuLi5uLGFscGhhOmB2YXIoJHt0fSwgMSlgfSldKSl9fXZhciBMcj1QKCgpPT57dSgpO1FzKCl9KTtmdW5jdGlvbiB2ZShyLGUpe2xldCB0PVtdLGk9W10sbj0wLHM9ITE7Zm9yKGxldCBhPTA7YTxyLmxlbmd0aDthKyspe2xldCBvPXJbYV07dC5sZW5ndGg9PT0wJiZvPT09ZVswXSYmIXMmJihlLmxlbmd0aD09PTF8fHIuc2xpY2UoYSxhK2UubGVuZ3RoKT09PWUpJiYoaS5wdXNoKHIuc2xpY2UobixhKSksbj1hK2UubGVuZ3RoKSxzPXM/ITE6bz09PSJcXCIsbz09PSIoInx8bz09PSJbInx8bz09PSJ7Ij90LnB1c2gobyk6KG89PT0iKSImJnRbdC5sZW5ndGgtMV09PT0iKCJ8fG89PT0iXSImJnRbdC5sZW5ndGgtMV09PT0iWyJ8fG89PT0ifSImJnRbdC5sZW5ndGgtMV09PT0ieyIpJiZ0LnBvcCgpfXJldHVybiBpLnB1c2goci5zbGljZShuKSksaX12YXIgenQ9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIGVuKHIpe3JldHVybiB2ZShyLCIsIikubWFwKHQ9PntsZXQgaT10LnRyaW0oKSxuPXtyYXc6aX0scz1pLnNwbGl0KFd2KSxhPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHMpJGYubGFzdEluZGV4PTAsIWEuaGFzKCJLRVlXT1JEIikmJkh2LmhhcyhvKT8obi5rZXl3b3JkPW8sYS5hZGQoIktFWVdPUkQiKSk6JGYudGVzdChvKT9hLmhhcygiWCIpP2EuaGFzKCJZIik/YS5oYXMoIkJMVVIiKT9hLmhhcygiU1BSRUFEIil8fChuLnNwcmVhZD1vLGEuYWRkKCJTUFJFQUQiKSk6KG4uYmx1cj1vLGEuYWRkKCJCTFVSIikpOihuLnk9byxhLmFkZCgiWSIpKToobi54PW8sYS5hZGQoIlgiKSk6bi5jb2xvcj8obi51bmtub3dufHwobi51bmtub3duPVtdKSxuLnVua25vd24ucHVzaChvKSk6bi5jb2xvcj1vO3JldHVybiBuLnZhbGlkPW4ueCE9PXZvaWQgMCYmbi55IT09dm9pZCAwLG59KX1mdW5jdGlvbiBMZihyKXtyZXR1cm4gci5tYXAoZT0+ZS52YWxpZD9bZS5rZXl3b3JkLGUueCxlLnksZS5ibHVyLGUuc3ByZWFkLGUuY29sb3JdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIik6ZS5yYXcpLmpvaW4oIiwgIil9dmFyIEh2LFd2LCRmLFlzPVAoKCk9Pnt1KCk7enQoKTtIdj1uZXcgU2V0KFsiaW5zZXQiLCJpbmhlcml0IiwiaW5pdGlhbCIsInJldmVydCIsInVuc2V0Il0pLFd2PS9cICsoPyFbXihdKlwpKS9nLCRmPS9eLT8oXGQrfFwuXGQrKSguKj8pJC9nfSk7ZnVuY3Rpb24gS3Mocil7cmV0dXJuIEd2LnNvbWUoZT0+bmV3IFJlZ0V4cChgXiR7ZX1cXCguKlxcKWApLnRlc3QocikpfWZ1bmN0aW9uIEsocixlPW51bGwsdD0hMCl7bGV0IGk9ZSYmUXYuaGFzKGUucHJvcGVydHkpO3JldHVybiByLnN0YXJ0c1dpdGgoIi0tIikmJiFpP2B2YXIoJHtyfSlgOnIuaW5jbHVkZXMoInVybCgiKT9yLnNwbGl0KC8odXJsXCguKj9cKSkvZykuZmlsdGVyKEJvb2xlYW4pLm1hcChuPT4vXnVybFwoLio/XCkkLy50ZXN0KG4pP246SyhuLGUsITEpKS5qb2luKCIiKToocj1yLnJlcGxhY2UoLyhbXlxcXSlfKy9nLChuLHMpPT5zKyIgIi5yZXBlYXQobi5sZW5ndGgtMSkpLnJlcGxhY2UoL15fL2csIiAiKS5yZXBsYWNlKC9cXF8vZywiXyIpLHQmJihyPXIudHJpbSgpKSxyPVl2KHIpLHIpfWZ1bmN0aW9uIFllKHIpe3JldHVybiByLmluY2x1ZGVzKCI9IikmJihyPXIucmVwbGFjZSgvKD0uKikvZywoZSx0KT0+e2lmKHRbMV09PT0iJyJ8fHRbMV09PT0nIicpcmV0dXJuIHQ7aWYodC5sZW5ndGg+Mil7bGV0IGk9dFt0Lmxlbmd0aC0xXTtpZih0W3QubGVuZ3RoLTJdPT09IiAiJiYoaT09PSJpInx8aT09PSJJInx8aT09PSJzInx8aT09PSJTIikpcmV0dXJuYD0iJHt0LnNsaWNlKDEsLTIpfSIgJHt0W3QubGVuZ3RoLTFdfWB9cmV0dXJuYD0iJHt0LnNsaWNlKDEpfSJgfSkpLHJ9ZnVuY3Rpb24gWXYocil7bGV0IGU9WyJ0aGVtZSJdLHQ9WyJtaW4tY29udGVudCIsIm1heC1jb250ZW50IiwiZml0LWNvbnRlbnQiLCJzYWZlLWFyZWEtaW5zZXQtdG9wIiwic2FmZS1hcmVhLWluc2V0LXJpZ2h0Iiwic2FmZS1hcmVhLWluc2V0LWJvdHRvbSIsInNhZmUtYXJlYS1pbnNldC1sZWZ0IiwidGl0bGViYXItYXJlYS14IiwidGl0bGViYXItYXJlYS15IiwidGl0bGViYXItYXJlYS13aWR0aCIsInRpdGxlYmFyLWFyZWEtaGVpZ2h0Iiwia2V5Ym9hcmQtaW5zZXQtdG9wIiwia2V5Ym9hcmQtaW5zZXQtcmlnaHQiLCJrZXlib2FyZC1pbnNldC1ib3R0b20iLCJrZXlib2FyZC1pbnNldC1sZWZ0Iiwia2V5Ym9hcmQtaW5zZXQtd2lkdGgiLCJrZXlib2FyZC1pbnNldC1oZWlnaHQiLCJyYWRpYWwtZ3JhZGllbnQiLCJsaW5lYXItZ3JhZGllbnQiLCJjb25pYy1ncmFkaWVudCIsInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQiLCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50IiwicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50IiwiYW5jaG9yLXNpemUiXTtyZXR1cm4gci5yZXBsYWNlKC8oY2FsY3xtaW58bWF4fGNsYW1wKVwoLitcKS9nLGk9PntsZXQgbj0iIjtmdW5jdGlvbiBzKCl7bGV0IGE9bi50cmltRW5kKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV19Zm9yKGxldCBhPTA7YTxpLmxlbmd0aDthKyspe2xldCBvPWZ1bmN0aW9uKGYpe3JldHVybiBmLnNwbGl0KCIiKS5ldmVyeSgoZCxwKT0+aVthK3BdPT09ZCl9LGw9ZnVuY3Rpb24oZil7bGV0IGQ9MS8wO2ZvcihsZXQgaCBvZiBmKXtsZXQgYj1pLmluZGV4T2YoaCxhKTtiIT09LTEmJmI8ZCYmKGQ9Yil9bGV0IHA9aS5zbGljZShhLGQpO3JldHVybiBhKz1wLmxlbmd0aC0xLHB9LGM9aVthXTtpZihvKCJ2YXIiKSluKz1sKFsiKSIsIiwiXSk7ZWxzZSBpZih0LnNvbWUoZj0+byhmKSkpe2xldCBmPXQuZmluZChkPT5vKGQpKTtuKz1mLGErPWYubGVuZ3RoLTF9ZWxzZSBlLnNvbWUoZj0+byhmKSk/bis9bChbIikiXSk6bygiWyIpP24rPWwoWyJdIl0pOlsiKyIsIi0iLCIqIiwiLyJdLmluY2x1ZGVzKGMpJiYhWyIoIiwiKyIsIi0iLCIqIiwiLyIsIiwiXS5pbmNsdWRlcyhzKCkpP24rPWAgJHtjfSBgOm4rPWN9cmV0dXJuIG4ucmVwbGFjZSgvXHMrL2csIiAiKX0pfWZ1bmN0aW9uIFhzKHIpe3JldHVybiByLnN0YXJ0c1dpdGgoInVybCgiKX1mdW5jdGlvbiBacyhyKXtyZXR1cm4haXNOYU4oTnVtYmVyKHIpKXx8S3Mocil9ZnVuY3Rpb24gTXIocil7cmV0dXJuIHIuZW5kc1dpdGgoIiUiKSYmWnMoci5zbGljZSgwLC0xKSl8fEtzKHIpfWZ1bmN0aW9uIE5yKHIpe3JldHVybiByPT09IjAifHxuZXcgUmVnRXhwKGBeWystXT9bMC05XSouP1swLTldKyg/OltlRV1bKy1dP1swLTldKyk/JHtYdn0kYCkudGVzdChyKXx8S3Mocil9ZnVuY3Rpb24gTWYocil7cmV0dXJuIFp2LmhhcyhyKX1mdW5jdGlvbiBOZihyKXtsZXQgZT1lbihLKHIpKTtmb3IobGV0IHQgb2YgZSlpZighdC52YWxpZClyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBCZihyKXtsZXQgZT0wO3JldHVybiB2ZShyLCJfIikuZXZlcnkoaT0+KGk9SyhpKSxpLnN0YXJ0c1dpdGgoInZhcigiKT8hMDokcihpLHtsb29zZTohMH0pIT09bnVsbD8oZSsrLCEwKTohMSkpP2U+MDohMX1mdW5jdGlvbiBGZihyKXtsZXQgZT0wO3JldHVybiB2ZShyLCIsIikuZXZlcnkoaT0+KGk9SyhpKSxpLnN0YXJ0c1dpdGgoInZhcigiKT8hMDpYcyhpKXx8ZXgoaSl8fFsiZWxlbWVudCgiLCJpbWFnZSgiLCJjcm9zcy1mYWRlKCIsImltYWdlLXNldCgiXS5zb21lKG49Pmkuc3RhcnRzV2l0aChuKSk/KGUrKywhMCk6ITEpKT9lPjA6ITF9ZnVuY3Rpb24gZXgocil7cj1LKHIpO2ZvcihsZXQgZSBvZiBKdilpZihyLnN0YXJ0c1dpdGgoYCR7ZX0oYCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gamYocil7bGV0IGU9MDtyZXR1cm4gdmUociwiXyIpLmV2ZXJ5KGk9PihpPUsoaSksaS5zdGFydHNXaXRoKCJ2YXIoIik/ITA6dHguaGFzKGkpfHxOcihpKXx8TXIoaSk/KGUrKywhMCk6ITEpKT9lPjA6ITF9ZnVuY3Rpb24gemYocil7bGV0IGU9MDtyZXR1cm4gdmUociwiLCIpLmV2ZXJ5KGk9PihpPUsoaSksaS5zdGFydHNXaXRoKCJ2YXIoIik/ITA6aS5pbmNsdWRlcygiICIpJiYhLyhbJyJdKShbXiInXSspXDEvZy50ZXN0KGkpfHwvXlxkL2cudGVzdChpKT8hMTooZSsrLCEwKSkpP2U+MDohMX1mdW5jdGlvbiBVZihyKXtyZXR1cm4gcnguaGFzKHIpfWZ1bmN0aW9uIFZmKHIpe3JldHVybiBpeC5oYXMocil9ZnVuY3Rpb24gSGYocil7cmV0dXJuIG54LmhhcyhyKX12YXIgR3YsUXYsS3YsWHYsWnYsSnYsdHgscngsaXgsbngsQnI9UCgoKT0+e3UoKTtRcygpO1lzKCk7enQoKTtHdj1bIm1pbiIsIm1heCIsImNsYW1wIiwiY2FsYyJdO1F2PW5ldyBTZXQoWyJzY3JvbGwtdGltZWxpbmUtbmFtZSIsInRpbWVsaW5lLXNjb3BlIiwidmlldy10aW1lbGluZS1uYW1lIiwiZm9udC1wYWxldHRlIiwiYW5jaG9yLW5hbWUiLCJhbmNob3Itc2NvcGUiLCJwb3NpdGlvbi1hbmNob3IiLCJwb3NpdGlvbi10cnktb3B0aW9ucyIsInNjcm9sbC10aW1lbGluZSIsImFuaW1hdGlvbi10aW1lbGluZSIsInZpZXctdGltZWxpbmUiLCJwb3NpdGlvbi10cnkiXSk7S3Y9WyJjbSIsIm1tIiwiUSIsImluIiwicGMiLCJwdCIsInB4IiwiZW0iLCJleCIsImNoIiwicmVtIiwibGgiLCJybGgiLCJ2dyIsInZoIiwidm1pbiIsInZtYXgiLCJ2YiIsInZpIiwic3Z3Iiwic3ZoIiwibHZ3IiwibHZoIiwiZHZ3IiwiZHZoIiwiY3F3IiwiY3FoIiwiY3FpIiwiY3FiIiwiY3FtaW4iLCJjcW1heCJdLFh2PWAoPzoke0t2LmpvaW4oInwiKX0pYDtadj1uZXcgU2V0KFsidGhpbiIsIm1lZGl1bSIsInRoaWNrIl0pO0p2PW5ldyBTZXQoWyJjb25pYy1ncmFkaWVudCIsImxpbmVhci1ncmFkaWVudCIsInJhZGlhbC1ncmFkaWVudCIsInJlcGVhdGluZy1jb25pYy1ncmFkaWVudCIsInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50Il0pO3R4PW5ldyBTZXQoWyJjZW50ZXIiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXSk7cng9bmV3IFNldChbInNlcmlmIiwic2Fucy1zZXJpZiIsIm1vbm9zcGFjZSIsImN1cnNpdmUiLCJmYW50YXN5Iiwic3lzdGVtLXVpIiwidWktc2VyaWYiLCJ1aS1zYW5zLXNlcmlmIiwidWktbW9ub3NwYWNlIiwidWktcm91bmRlZCIsIm1hdGgiLCJlbW9qaSIsImZhbmdzb25nIl0pO2l4PW5ldyBTZXQoWyJ4eC1zbWFsbCIsIngtc21hbGwiLCJzbWFsbCIsIm1lZGl1bSIsImxhcmdlIiwieC1sYXJnZSIsInh4LWxhcmdlIiwieHh4LWxhcmdlIl0pO254PW5ldyBTZXQoWyJsYXJnZXIiLCJzbWFsbGVyIl0pfSk7ZnVuY3Rpb24gV2Yocil7bGV0IGU9WyJjb3ZlciIsImNvbnRhaW4iXTtyZXR1cm4gdmUociwiLCIpLmV2ZXJ5KHQ9PntsZXQgaT12ZSh0LCJfIikuZmlsdGVyKEJvb2xlYW4pO3JldHVybiBpLmxlbmd0aD09PTEmJmUuaW5jbHVkZXMoaVswXSk/ITA6aS5sZW5ndGghPT0xJiZpLmxlbmd0aCE9PTI/ITE6aS5ldmVyeShuPT5OcihuKXx8TXIobil8fG49PT0iYXV0byIpfSl9dmFyIEdmPVAoKCk9Pnt1KCk7QnIoKTt6dCgpfSk7ZnVuY3Rpb24gUWYocixlKXtyLndhbGtDbGFzc2VzKHQ9Pnt0LnZhbHVlPWUodC52YWx1ZSksdC5yYXdzJiZ0LnJhd3MudmFsdWUmJih0LnJhd3MudmFsdWU9anQodC5yYXdzLnZhbHVlKSl9KX1mdW5jdGlvbiBZZihyLGUpe2lmKCFfdChyKSlyZXR1cm47bGV0IHQ9ci5zbGljZSgxLC0xKTtpZighIWUodCkpcmV0dXJuIEsodCl9ZnVuY3Rpb24gc3gocixlPXt9LHQpe2xldCBpPWVbcl07aWYoaSE9PXZvaWQgMClyZXR1cm4geHQoaSk7aWYoX3Qocikpe2xldCBuPVlmKHIsdCk7cmV0dXJuIG49PT12b2lkIDA/dm9pZCAwOnh0KG4pfX1mdW5jdGlvbiB0bihyLGU9e30se3ZhbGlkYXRlOnQ9KCk9PiEwfT17fSl7bGV0IGk9ZS52YWx1ZXM/LltyXTtyZXR1cm4gaSE9PXZvaWQgMD9pOmUuc3VwcG9ydHNOZWdhdGl2ZVZhbHVlcyYmci5zdGFydHNXaXRoKCItIik/c3goci5zbGljZSgxKSxlLnZhbHVlcyx0KTpZZihyLHQpfWZ1bmN0aW9uIF90KHIpe3JldHVybiByLnN0YXJ0c1dpdGgoIlsiKSYmci5lbmRzV2l0aCgiXSIpfWZ1bmN0aW9uIEtmKHIpe2xldCBlPXIubGFzdEluZGV4T2YoIi8iKSx0PXIubGFzdEluZGV4T2YoIlsiLGUpLGk9ci5pbmRleE9mKCJdIixlKTtyZXR1cm4gcltlLTFdPT09Il0ifHxyW2UrMV09PT0iWyJ8fHQhPT0tMSYmaSE9PS0xJiZ0PGUmJmU8aSYmKGU9ci5sYXN0SW5kZXhPZigiLyIsdCkpLGU9PT0tMXx8ZT09PXIubGVuZ3RoLTE/W3Isdm9pZCAwXTpfdChyKSYmIXIuaW5jbHVkZXMoIl0vWyIpP1tyLHZvaWQgMF06W3Iuc2xpY2UoMCxlKSxyLnNsaWNlKGUrMSldfWZ1bmN0aW9uIFh0KHIpe2lmKHR5cGVvZiByPT0ic3RyaW5nIiYmci5pbmNsdWRlcygiPGFscGhhLXZhbHVlPiIpKXtsZXQgZT1yO3JldHVybih7b3BhY2l0eVZhbHVlOnQ9MX0pPT5lLnJlcGxhY2UoLzxhbHBoYS12YWx1ZT4vZyx0KX1yZXR1cm4gcn1mdW5jdGlvbiBYZihyKXtyZXR1cm4gSyhyLnNsaWNlKDEsLTEpKX1mdW5jdGlvbiBheChyLGU9e30se3RhaWx3aW5kQ29uZmlnOnQ9e319PXt9KXtpZihlLnZhbHVlcz8uW3JdIT09dm9pZCAwKXJldHVybiBYdChlLnZhbHVlcz8uW3JdKTtsZXRbaSxuXT1LZihyKTtpZihuIT09dm9pZCAwKXtsZXQgcz1lLnZhbHVlcz8uW2ldPz8oX3QoaSk/aS5zbGljZSgxLC0xKTp2b2lkIDApO3JldHVybiBzPT09dm9pZCAwP3ZvaWQgMDoocz1YdChzKSxfdChuKT9KZShzLFhmKG4pKTp0LnRoZW1lPy5vcGFjaXR5Py5bbl09PT12b2lkIDA/dm9pZCAwOkplKHMsdC50aGVtZS5vcGFjaXR5W25dKSl9cmV0dXJuIHRuKHIsZSx7dmFsaWRhdGU6QmZ9KX1mdW5jdGlvbiBveChyLGU9e30pe3JldHVybiBlLnZhbHVlcz8uW3JdfWZ1bmN0aW9uIHFlKHIpe3JldHVybihlLHQpPT50bihlLHQse3ZhbGlkYXRlOnJ9KX1mdW5jdGlvbiBseChyLGUpe2xldCB0PXIuaW5kZXhPZihlKTtyZXR1cm4gdD09PS0xP1t2b2lkIDAscl06W3Iuc2xpY2UoMCx0KSxyLnNsaWNlKHQrMSldfWZ1bmN0aW9uIGVhKHIsZSx0LGkpe2lmKHQudmFsdWVzJiZlIGluIHQudmFsdWVzKWZvcihsZXR7dHlwZTpzfW9mIHI/P1tdKXtsZXQgYT1Kc1tzXShlLHQse3RhaWx3aW5kQ29uZmlnOml9KTtpZihhIT09dm9pZCAwKXJldHVyblthLHMsbnVsbF19aWYoX3QoZSkpe2xldCBzPWUuc2xpY2UoMSwtMSksW2Esb109bHgocywiOiIpO2lmKCEvXltcdy1fXSskL2cudGVzdChhKSlvPXM7ZWxzZSBpZihhIT09dm9pZCAwJiYhWmYuaW5jbHVkZXMoYSkpcmV0dXJuW107aWYoby5sZW5ndGg+MCYmWmYuaW5jbHVkZXMoYSkpcmV0dXJuW3RuKGBbJHtvfV1gLHQpLGEsbnVsbF19bGV0IG49dGEocixlLHQsaSk7Zm9yKGxldCBzIG9mIG4pcmV0dXJuIHM7cmV0dXJuW119ZnVuY3Rpb24qdGEocixlLHQsaSl7bGV0IG49d2UoaSwiZ2VuZXJhbGl6ZWRNb2RpZmllcnMiKSxbcyxhXT1LZihlKTtpZihuJiZ0Lm1vZGlmaWVycyE9bnVsbCYmKHQubW9kaWZpZXJzPT09ImFueSJ8fHR5cGVvZiB0Lm1vZGlmaWVycz09Im9iamVjdCImJihhJiZfdChhKXx8YSBpbiB0Lm1vZGlmaWVycykpfHwocz1lLGE9dm9pZCAwKSxhIT09dm9pZCAwJiZzPT09IiImJihzPSJERUZBVUxUIiksYSE9PXZvaWQgMCYmdHlwZW9mIHQubW9kaWZpZXJzPT0ib2JqZWN0Iil7bGV0IGw9dC5tb2RpZmllcnM/LlthXT8/bnVsbDtsIT09bnVsbD9hPWw6X3QoYSkmJihhPVhmKGEpKX1mb3IobGV0e3R5cGU6bH1vZiByPz9bXSl7bGV0IGM9SnNbbF0ocyx0LHt0YWlsd2luZENvbmZpZzppfSk7YyE9PXZvaWQgMCYmKHlpZWxkW2MsbCxhPz9udWxsXSl9fXZhciBKcyxaZixGcj1QKCgpPT57dSgpO1ppKCk7THIoKTtCcigpO0dpKCk7R2YoKTtjdCgpO0pzPXthbnk6dG4sY29sb3I6YXgsdXJsOnFlKFhzKSxpbWFnZTpxZShGZiksbGVuZ3RoOnFlKE5yKSxwZXJjZW50YWdlOnFlKE1yKSxwb3NpdGlvbjpxZShqZiksbG9va3VwOm94LCJnZW5lcmljLW5hbWUiOnFlKFVmKSwiZmFtaWx5LW5hbWUiOnFlKHpmKSxudW1iZXI6cWUoWnMpLCJsaW5lLXdpZHRoIjpxZShNZiksImFic29sdXRlLXNpemUiOnFlKFZmKSwicmVsYXRpdmUtc2l6ZSI6cWUoSGYpLHNoYWRvdzpxZShOZiksc2l6ZTpxZShXZil9LFpmPU9iamVjdC5rZXlzKEpzKX0pO2Z1bmN0aW9uIFgocil7cmV0dXJuIHR5cGVvZiByPT0iZnVuY3Rpb24iP3Ioe30pOnJ9dmFyIHJhPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBadChyKXtyZXR1cm4gdHlwZW9mIHI9PSJmdW5jdGlvbiJ9ZnVuY3Rpb24ganIociwuLi5lKXtsZXQgdD1lLnBvcCgpO2ZvcihsZXQgaSBvZiBlKWZvcihsZXQgbiBpbiBpKXtsZXQgcz10KHJbbl0saVtuXSk7cz09PXZvaWQgMD9rZShyW25dKSYma2UoaVtuXSk/cltuXT1qcih7fSxyW25dLGlbbl0sdCk6cltuXT1pW25dOnJbbl09c31yZXR1cm4gcn1mdW5jdGlvbiB1eChyLC4uLmUpe3JldHVybiBadChyKT9yKC4uLmUpOnJ9ZnVuY3Rpb24gZngocil7cmV0dXJuIHIucmVkdWNlKChlLHtleHRlbmQ6dH0pPT5qcihlLHQsKGksbik9Pmk9PT12b2lkIDA/W25dOkFycmF5LmlzQXJyYXkoaSk/W24sLi4uaV06W24saV0pLHt9KX1mdW5jdGlvbiBjeChyKXtyZXR1cm57Li4uci5yZWR1Y2UoKGUsdCk9PkhzKGUsdCkse30pLGV4dGVuZDpmeChyKX19ZnVuY3Rpb24gSmYocixlKXtpZihBcnJheS5pc0FycmF5KHIpJiZrZShyWzBdKSlyZXR1cm4gci5jb25jYXQoZSk7aWYoQXJyYXkuaXNBcnJheShlKSYma2UoZVswXSkmJmtlKHIpKXJldHVybltyLC4uLmVdO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGV9ZnVuY3Rpb24gcHgoe2V4dGVuZDpyLC4uLmV9KXtyZXR1cm4ganIoZSxyLCh0LGkpPT4hWnQodCkmJiFpLnNvbWUoWnQpP2pyKHt9LHQsLi4uaSxKZik6KG4scyk9PmpyKHt9LC4uLlt0LC4uLmldLm1hcChhPT51eChhLG4scykpLEpmKSl9ZnVuY3Rpb24qZHgocil7bGV0IGU9a3Qocik7aWYoZS5sZW5ndGg9PT0wfHwoeWllbGQgZSxBcnJheS5pc0FycmF5KHIpKSlyZXR1cm47bGV0IHQ9L14oLio/KVxzKlwvXHMqKFteL10rKSQvLGk9ci5tYXRjaCh0KTtpZihpIT09bnVsbCl7bGV0WyxuLHNdPWksYT1rdChuKTthLmFscGhhPXMseWllbGQgYX19ZnVuY3Rpb24gaHgocil7bGV0IGU9KHQsaSk9Pntmb3IobGV0IG4gb2YgZHgodCkpe2xldCBzPTAsYT1yO2Zvcig7YSE9bnVsbCYmczxuLmxlbmd0aDspYT1hW25bcysrXV0sYT1adChhKSYmKG4uYWxwaGE9PT12b2lkIDB8fHM8PW4ubGVuZ3RoLTEpP2EoZSxpYSk6YTtpZihhIT09dm9pZCAwKXtpZihuLmFscGhhIT09dm9pZCAwKXtsZXQgbz1YdChhKTtyZXR1cm4gSmUobyxuLmFscGhhLFgobykpfXJldHVybiBrZShhKT9TdChhKTphfX1yZXR1cm4gaX07cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx7dGhlbWU6ZSwuLi5pYX0pLE9iamVjdC5rZXlzKHIpLnJlZHVjZSgodCxpKT0+KHRbaV09WnQocltpXSk/cltpXShlLGlhKTpyW2ldLHQpLHt9KX1mdW5jdGlvbiBlYyhyKXtsZXQgZT1bXTtyZXR1cm4gci5mb3JFYWNoKHQ9PntlPVsuLi5lLHRdO2xldCBpPXQ/LnBsdWdpbnM/P1tdO2kubGVuZ3RoIT09MCYmaS5mb3JFYWNoKG49PntuLl9faXNPcHRpb25zRnVuY3Rpb24mJihuPW4oKSksZT1bLi4uZSwuLi5lYyhbbj8uY29uZmlnPz97fV0pXX0pfSksZX1mdW5jdGlvbiBteChyKXtyZXR1cm5bLi4ucl0ucmVkdWNlUmlnaHQoKHQsaSk9Plp0KGkpP2koe2NvcmVQbHVnaW5zOnR9KTprZihpLHQpLHZmKX1mdW5jdGlvbiBneChyKXtyZXR1cm5bLi4ucl0ucmVkdWNlUmlnaHQoKHQsaSk9PlsuLi50LC4uLmldLFtdKX1mdW5jdGlvbiBuYShyKXtsZXQgZT1bLi4uZWMocikse3ByZWZpeDoiIixpbXBvcnRhbnQ6ITEsc2VwYXJhdG9yOiI6In1dO3JldHVybiBQZihIcyh7dGhlbWU6aHgocHgoY3goZS5tYXAodD0+dD8udGhlbWU/P3t9KSkpKSxjb3JlUGx1Z2luczpteChlLm1hcCh0PT50LmNvcmVQbHVnaW5zKSkscGx1Z2luczpneChyLm1hcCh0PT50Py5wbHVnaW5zPz9bXSkpfSwuLi5lKSl9dmFyIGlhLHRjPVAoKCk9Pnt1KCk7R2koKTt4ZigpO1NmKCk7VnMoKTtFZigpO1lpKCk7SWYoKTtLdCgpO1hpKCk7RnIoKTtMcigpO3JhKCk7aWE9e2NvbG9yczpVcyxuZWdhdGl2ZShyKXtyZXR1cm4gT2JqZWN0LmtleXMocikuZmlsdGVyKGU9PnJbZV0hPT0iMCIpLnJlZHVjZSgoZSx0KT0+e2xldCBpPXh0KHJbdF0pO3JldHVybiBpIT09dm9pZCAwJiYoZVtgLSR7dH1gXT1pKSxlfSx7fSl9LGJyZWFrcG9pbnRzKHIpe3JldHVybiBPYmplY3Qua2V5cyhyKS5maWx0ZXIoZT0+dHlwZW9mIHJbZV09PSJzdHJpbmciKS5yZWR1Y2UoKGUsdCk9Pih7Li4uZSxbYHNjcmVlbi0ke3R9YF06clt0XX0pLHt9KX19fSk7dmFyIHJuPXgoKGYzLHJjKT0+e3UoKTtyYy5leHBvcnRzPXtjb250ZW50OltdLHByZXNldHM6W10sZGFya01vZGU6Im1lZGlhIix0aGVtZTp7YWNjZW50Q29sb3I6KHt0aGVtZTpyfSk9Pih7Li4ucigiY29sb3JzIiksYXV0bzoiYXV0byJ9KSxhbmltYXRpb246e25vbmU6Im5vbmUiLHNwaW46InNwaW4gMXMgbGluZWFyIGluZmluaXRlIixwaW5nOiJwaW5nIDFzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGluZmluaXRlIixwdWxzZToicHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZSIsYm91bmNlOiJib3VuY2UgMXMgaW5maW5pdGUifSxhcmlhOntidXN5OididXN5PSJ0cnVlIicsY2hlY2tlZDonY2hlY2tlZD0idHJ1ZSInLGRpc2FibGVkOidkaXNhYmxlZD0idHJ1ZSInLGV4cGFuZGVkOidleHBhbmRlZD0idHJ1ZSInLGhpZGRlbjonaGlkZGVuPSJ0cnVlIicscHJlc3NlZDoncHJlc3NlZD0idHJ1ZSInLHJlYWRvbmx5OidyZWFkb25seT0idHJ1ZSInLHJlcXVpcmVkOidyZXF1aXJlZD0idHJ1ZSInLHNlbGVjdGVkOidzZWxlY3RlZD0idHJ1ZSInfSxhc3BlY3RSYXRpbzp7YXV0bzoiYXV0byIsc3F1YXJlOiIxIC8gMSIsdmlkZW86IjE2IC8gOSJ9LGJhY2tkcm9wQmx1cjooe3RoZW1lOnJ9KT0+cigiYmx1ciIpLGJhY2tkcm9wQnJpZ2h0bmVzczooe3RoZW1lOnJ9KT0+cigiYnJpZ2h0bmVzcyIpLGJhY2tkcm9wQ29udHJhc3Q6KHt0aGVtZTpyfSk9PnIoImNvbnRyYXN0IiksYmFja2Ryb3BHcmF5c2NhbGU6KHt0aGVtZTpyfSk9PnIoImdyYXlzY2FsZSIpLGJhY2tkcm9wSHVlUm90YXRlOih7dGhlbWU6cn0pPT5yKCJodWVSb3RhdGUiKSxiYWNrZHJvcEludmVydDooe3RoZW1lOnJ9KT0+cigiaW52ZXJ0IiksYmFja2Ryb3BPcGFjaXR5Oih7dGhlbWU6cn0pPT5yKCJvcGFjaXR5IiksYmFja2Ryb3BTYXR1cmF0ZTooe3RoZW1lOnJ9KT0+cigic2F0dXJhdGUiKSxiYWNrZHJvcFNlcGlhOih7dGhlbWU6cn0pPT5yKCJzZXBpYSIpLGJhY2tncm91bmRDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIiksYmFja2dyb3VuZEltYWdlOntub25lOiJub25lIiwiZ3JhZGllbnQtdG8tdCI6ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by10ciI6ImxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by1yIjoibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIiwiZ3JhZGllbnQtdG8tYnIiOiJsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIiwiZ3JhZGllbnQtdG8tYiI6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSkiLCJncmFkaWVudC10by1ibCI6ImxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKSIsImdyYWRpZW50LXRvLWwiOiJsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKSIsImdyYWRpZW50LXRvLXRsIjoibGluZWFyLWdyYWRpZW50KHRvIHRvcCBsZWZ0LCB2YXIoLS10dy1ncmFkaWVudC1zdG9wcykpIn0sYmFja2dyb3VuZE9wYWNpdHk6KHt0aGVtZTpyfSk9PnIoIm9wYWNpdHkiKSxiYWNrZ3JvdW5kUG9zaXRpb246e2JvdHRvbToiYm90dG9tIixjZW50ZXI6ImNlbnRlciIsbGVmdDoibGVmdCIsImxlZnQtYm90dG9tIjoibGVmdCBib3R0b20iLCJsZWZ0LXRvcCI6ImxlZnQgdG9wIixyaWdodDoicmlnaHQiLCJyaWdodC1ib3R0b20iOiJyaWdodCBib3R0b20iLCJyaWdodC10b3AiOiJyaWdodCB0b3AiLHRvcDoidG9wIn0sYmFja2dyb3VuZFNpemU6e2F1dG86ImF1dG8iLGNvdmVyOiJjb3ZlciIsY29udGFpbjoiY29udGFpbiJ9LGJsdXI6ezA6IjAiLG5vbmU6IiIsc206IjRweCIsREVGQVVMVDoiOHB4IixtZDoiMTJweCIsbGc6IjE2cHgiLHhsOiIyNHB4IiwiMnhsIjoiNDBweCIsIjN4bCI6IjY0cHgifSxib3JkZXJDb2xvcjooe3RoZW1lOnJ9KT0+KHsuLi5yKCJjb2xvcnMiKSxERUZBVUxUOnIoImNvbG9ycy5ncmF5LjIwMCIsImN1cnJlbnRDb2xvciIpfSksYm9yZGVyT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigib3BhY2l0eSIpLGJvcmRlclJhZGl1czp7bm9uZToiMHB4IixzbToiMC4xMjVyZW0iLERFRkFVTFQ6IjAuMjVyZW0iLG1kOiIwLjM3NXJlbSIsbGc6IjAuNXJlbSIseGw6IjAuNzVyZW0iLCIyeGwiOiIxcmVtIiwiM3hsIjoiMS41cmVtIixmdWxsOiI5OTk5cHgifSxib3JkZXJTcGFjaW5nOih7dGhlbWU6cn0pPT4oey4uLnIoInNwYWNpbmciKX0pLGJvcmRlcldpZHRoOntERUZBVUxUOiIxcHgiLDA6IjBweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LGJveFNoYWRvdzp7c206IjAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpIixERUZBVUxUOiIwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLCAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpIixtZDoiMCA0cHggNnB4IC0xcHggcmdiKDAgMCAwIC8gMC4xKSwgMCAycHggNHB4IC0ycHggcmdiKDAgMCAwIC8gMC4xKSIsbGc6IjAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSwgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKSIseGw6IjAgMjBweCAyNXB4IC01cHggcmdiKDAgMCAwIC8gMC4xKSwgMCA4cHggMTBweCAtNnB4IHJnYigwIDAgMCAvIDAuMSkiLCIyeGwiOiIwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjI1KSIsaW5uZXI6Imluc2V0IDAgMnB4IDRweCAwIHJnYigwIDAgMCAvIDAuMDUpIixub25lOiJub25lIn0sYm94U2hhZG93Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGJyaWdodG5lc3M6ezA6IjAiLDUwOiIuNSIsNzU6Ii43NSIsOTA6Ii45Iiw5NToiLjk1IiwxMDA6IjEiLDEwNToiMS4wNSIsMTEwOiIxLjEiLDEyNToiMS4yNSIsMTUwOiIxLjUiLDIwMDoiMiJ9LGNhcmV0Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGNvbG9yczooe2NvbG9yczpyfSk9Pih7aW5oZXJpdDpyLmluaGVyaXQsY3VycmVudDpyLmN1cnJlbnQsdHJhbnNwYXJlbnQ6ci50cmFuc3BhcmVudCxibGFjazpyLmJsYWNrLHdoaXRlOnIud2hpdGUsc2xhdGU6ci5zbGF0ZSxncmF5OnIuZ3JheSx6aW5jOnIuemluYyxuZXV0cmFsOnIubmV1dHJhbCxzdG9uZTpyLnN0b25lLHJlZDpyLnJlZCxvcmFuZ2U6ci5vcmFuZ2UsYW1iZXI6ci5hbWJlcix5ZWxsb3c6ci55ZWxsb3csbGltZTpyLmxpbWUsZ3JlZW46ci5ncmVlbixlbWVyYWxkOnIuZW1lcmFsZCx0ZWFsOnIudGVhbCxjeWFuOnIuY3lhbixza3k6ci5za3ksYmx1ZTpyLmJsdWUsaW5kaWdvOnIuaW5kaWdvLHZpb2xldDpyLnZpb2xldCxwdXJwbGU6ci5wdXJwbGUsZnVjaHNpYTpyLmZ1Y2hzaWEscGluazpyLnBpbmsscm9zZTpyLnJvc2V9KSxjb2x1bW5zOnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwiM3hzIjoiMTZyZW0iLCIyeHMiOiIxOHJlbSIseHM6IjIwcmVtIixzbToiMjRyZW0iLG1kOiIyOHJlbSIsbGc6IjMycmVtIix4bDoiMzZyZW0iLCIyeGwiOiI0MnJlbSIsIjN4bCI6IjQ4cmVtIiwiNHhsIjoiNTZyZW0iLCI1eGwiOiI2NHJlbSIsIjZ4bCI6IjcycmVtIiwiN3hsIjoiODByZW0ifSxjb250YWluZXI6e30sY29udGVudDp7bm9uZToibm9uZSJ9LGNvbnRyYXN0OnswOiIwIiw1MDoiLjUiLDc1OiIuNzUiLDEwMDoiMSIsMTI1OiIxLjI1IiwxNTA6IjEuNSIsMjAwOiIyIn0sY3Vyc29yOnthdXRvOiJhdXRvIixkZWZhdWx0OiJkZWZhdWx0Iixwb2ludGVyOiJwb2ludGVyIix3YWl0OiJ3YWl0Iix0ZXh0OiJ0ZXh0Iixtb3ZlOiJtb3ZlIixoZWxwOiJoZWxwIiwibm90LWFsbG93ZWQiOiJub3QtYWxsb3dlZCIsbm9uZToibm9uZSIsImNvbnRleHQtbWVudSI6ImNvbnRleHQtbWVudSIscHJvZ3Jlc3M6InByb2dyZXNzIixjZWxsOiJjZWxsIixjcm9zc2hhaXI6ImNyb3NzaGFpciIsInZlcnRpY2FsLXRleHQiOiJ2ZXJ0aWNhbC10ZXh0IixhbGlhczoiYWxpYXMiLGNvcHk6ImNvcHkiLCJuby1kcm9wIjoibm8tZHJvcCIsZ3JhYjoiZ3JhYiIsZ3JhYmJpbmc6ImdyYWJiaW5nIiwiYWxsLXNjcm9sbCI6ImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIjoiY29sLXJlc2l6ZSIsInJvdy1yZXNpemUiOiJyb3ctcmVzaXplIiwibi1yZXNpemUiOiJuLXJlc2l6ZSIsImUtcmVzaXplIjoiZS1yZXNpemUiLCJzLXJlc2l6ZSI6InMtcmVzaXplIiwidy1yZXNpemUiOiJ3LXJlc2l6ZSIsIm5lLXJlc2l6ZSI6Im5lLXJlc2l6ZSIsIm53LXJlc2l6ZSI6Im53LXJlc2l6ZSIsInNlLXJlc2l6ZSI6InNlLXJlc2l6ZSIsInN3LXJlc2l6ZSI6InN3LXJlc2l6ZSIsImV3LXJlc2l6ZSI6ImV3LXJlc2l6ZSIsIm5zLXJlc2l6ZSI6Im5zLXJlc2l6ZSIsIm5lc3ctcmVzaXplIjoibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSI6Im53c2UtcmVzaXplIiwiem9vbS1pbiI6Inpvb20taW4iLCJ6b29tLW91dCI6Inpvb20tb3V0In0sZGl2aWRlQ29sb3I6KHt0aGVtZTpyfSk9PnIoImJvcmRlckNvbG9yIiksZGl2aWRlT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigiYm9yZGVyT3BhY2l0eSIpLGRpdmlkZVdpZHRoOih7dGhlbWU6cn0pPT5yKCJib3JkZXJXaWR0aCIpLGRyb3BTaGFkb3c6e3NtOiIwIDFweCAxcHggcmdiKDAgMCAwIC8gMC4wNSkiLERFRkFVTFQ6WyIwIDFweCAycHggcmdiKDAgMCAwIC8gMC4xKSIsIjAgMXB4IDFweCByZ2IoMCAwIDAgLyAwLjA2KSJdLG1kOlsiMCA0cHggM3B4IHJnYigwIDAgMCAvIDAuMDcpIiwiMCAycHggMnB4IHJnYigwIDAgMCAvIDAuMDYpIl0sbGc6WyIwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpIiwiMCA0cHggM3B4IHJnYigwIDAgMCAvIDAuMSkiXSx4bDpbIjAgMjBweCAxM3B4IHJnYigwIDAgMCAvIDAuMDMpIiwiMCA4cHggNXB4IHJnYigwIDAgMCAvIDAuMDgpIl0sIjJ4bCI6IjAgMjVweCAyNXB4IHJnYigwIDAgMCAvIDAuMTUpIixub25lOiIwIDAgIzAwMDAifSxmaWxsOih7dGhlbWU6cn0pPT4oe25vbmU6Im5vbmUiLC4uLnIoImNvbG9ycyIpfSksZmxleDp7MToiMSAxIDAlIixhdXRvOiIxIDEgYXV0byIsaW5pdGlhbDoiMCAxIGF1dG8iLG5vbmU6Im5vbmUifSxmbGV4QmFzaXM6KHt0aGVtZTpyfSk9Pih7YXV0bzoiYXV0byIsLi4ucigic3BhY2luZyIpLCIxLzIiOiI1MCUiLCIxLzMiOiIzMy4zMzMzMzMlIiwiMi8zIjoiNjYuNjY2NjY3JSIsIjEvNCI6IjI1JSIsIjIvNCI6IjUwJSIsIjMvNCI6Ijc1JSIsIjEvNSI6IjIwJSIsIjIvNSI6IjQwJSIsIjMvNSI6IjYwJSIsIjQvNSI6IjgwJSIsIjEvNiI6IjE2LjY2NjY2NyUiLCIyLzYiOiIzMy4zMzMzMzMlIiwiMy82IjoiNTAlIiwiNC82IjoiNjYuNjY2NjY3JSIsIjUvNiI6IjgzLjMzMzMzMyUiLCIxLzEyIjoiOC4zMzMzMzMlIiwiMi8xMiI6IjE2LjY2NjY2NyUiLCIzLzEyIjoiMjUlIiwiNC8xMiI6IjMzLjMzMzMzMyUiLCI1LzEyIjoiNDEuNjY2NjY3JSIsIjYvMTIiOiI1MCUiLCI3LzEyIjoiNTguMzMzMzMzJSIsIjgvMTIiOiI2Ni42NjY2NjclIiwiOS8xMiI6Ijc1JSIsIjEwLzEyIjoiODMuMzMzMzMzJSIsIjExLzEyIjoiOTEuNjY2NjY3JSIsZnVsbDoiMTAwJSJ9KSxmbGV4R3Jvdzp7MDoiMCIsREVGQVVMVDoiMSJ9LGZsZXhTaHJpbms6ezA6IjAiLERFRkFVTFQ6IjEifSxmb250RmFtaWx5OntzYW5zOlsidWktc2Fucy1zZXJpZiIsInN5c3RlbS11aSIsInNhbnMtc2VyaWYiLCciQXBwbGUgQ29sb3IgRW1vamkiJywnIlNlZ29lIFVJIEVtb2ppIicsJyJTZWdvZSBVSSBTeW1ib2wiJywnIk5vdG8gQ29sb3IgRW1vamkiJ10sc2VyaWY6WyJ1aS1zZXJpZiIsIkdlb3JnaWEiLCJDYW1icmlhIiwnIlRpbWVzIE5ldyBSb21hbiInLCJUaW1lcyIsInNlcmlmIl0sbW9ubzpbInVpLW1vbm9zcGFjZSIsIlNGTW9uby1SZWd1bGFyIiwiTWVubG8iLCJNb25hY28iLCJDb25zb2xhcyIsJyJMaWJlcmF0aW9uIE1vbm8iJywnIkNvdXJpZXIgTmV3IicsIm1vbm9zcGFjZSJdfSxmb250U2l6ZTp7eHM6WyIwLjc1cmVtIix7bGluZUhlaWdodDoiMXJlbSJ9XSxzbTpbIjAuODc1cmVtIix7bGluZUhlaWdodDoiMS4yNXJlbSJ9XSxiYXNlOlsiMXJlbSIse2xpbmVIZWlnaHQ6IjEuNXJlbSJ9XSxsZzpbIjEuMTI1cmVtIix7bGluZUhlaWdodDoiMS43NXJlbSJ9XSx4bDpbIjEuMjVyZW0iLHtsaW5lSGVpZ2h0OiIxLjc1cmVtIn1dLCIyeGwiOlsiMS41cmVtIix7bGluZUhlaWdodDoiMnJlbSJ9XSwiM3hsIjpbIjEuODc1cmVtIix7bGluZUhlaWdodDoiMi4yNXJlbSJ9XSwiNHhsIjpbIjIuMjVyZW0iLHtsaW5lSGVpZ2h0OiIyLjVyZW0ifV0sIjV4bCI6WyIzcmVtIix7bGluZUhlaWdodDoiMSJ9XSwiNnhsIjpbIjMuNzVyZW0iLHtsaW5lSGVpZ2h0OiIxIn1dLCI3eGwiOlsiNC41cmVtIix7bGluZUhlaWdodDoiMSJ9XSwiOHhsIjpbIjZyZW0iLHtsaW5lSGVpZ2h0OiIxIn1dLCI5eGwiOlsiOHJlbSIse2xpbmVIZWlnaHQ6IjEifV19LGZvbnRXZWlnaHQ6e3RoaW46IjEwMCIsZXh0cmFsaWdodDoiMjAwIixsaWdodDoiMzAwIixub3JtYWw6IjQwMCIsbWVkaXVtOiI1MDAiLHNlbWlib2xkOiI2MDAiLGJvbGQ6IjcwMCIsZXh0cmFib2xkOiI4MDAiLGJsYWNrOiI5MDAifSxnYXA6KHt0aGVtZTpyfSk9PnIoInNwYWNpbmciKSxncmFkaWVudENvbG9yU3RvcHM6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLGdyYWRpZW50Q29sb3JTdG9wUG9zaXRpb25zOnsiMCUiOiIwJSIsIjUlIjoiNSUiLCIxMCUiOiIxMCUiLCIxNSUiOiIxNSUiLCIyMCUiOiIyMCUiLCIyNSUiOiIyNSUiLCIzMCUiOiIzMCUiLCIzNSUiOiIzNSUiLCI0MCUiOiI0MCUiLCI0NSUiOiI0NSUiLCI1MCUiOiI1MCUiLCI1NSUiOiI1NSUiLCI2MCUiOiI2MCUiLCI2NSUiOiI2NSUiLCI3MCUiOiI3MCUiLCI3NSUiOiI3NSUiLCI4MCUiOiI4MCUiLCI4NSUiOiI4NSUiLCI5MCUiOiI5MCUiLCI5NSUiOiI5NSUiLCIxMDAlIjoiMTAwJSJ9LGdyYXlzY2FsZTp7MDoiMCIsREVGQVVMVDoiMTAwJSJ9LGdyaWRBdXRvQ29sdW1uczp7YXV0bzoiYXV0byIsbWluOiJtaW4tY29udGVudCIsbWF4OiJtYXgtY29udGVudCIsZnI6Im1pbm1heCgwLCAxZnIpIn0sZ3JpZEF1dG9Sb3dzOnthdXRvOiJhdXRvIixtaW46Im1pbi1jb250ZW50IixtYXg6Im1heC1jb250ZW50IixmcjoibWlubWF4KDAsIDFmcikifSxncmlkQ29sdW1uOnthdXRvOiJhdXRvIiwic3Bhbi0xIjoic3BhbiAxIC8gc3BhbiAxIiwic3Bhbi0yIjoic3BhbiAyIC8gc3BhbiAyIiwic3Bhbi0zIjoic3BhbiAzIC8gc3BhbiAzIiwic3Bhbi00Ijoic3BhbiA0IC8gc3BhbiA0Iiwic3Bhbi01Ijoic3BhbiA1IC8gc3BhbiA1Iiwic3Bhbi02Ijoic3BhbiA2IC8gc3BhbiA2Iiwic3Bhbi03Ijoic3BhbiA3IC8gc3BhbiA3Iiwic3Bhbi04Ijoic3BhbiA4IC8gc3BhbiA4Iiwic3Bhbi05Ijoic3BhbiA5IC8gc3BhbiA5Iiwic3Bhbi0xMCI6InNwYW4gMTAgLyBzcGFuIDEwIiwic3Bhbi0xMSI6InNwYW4gMTEgLyBzcGFuIDExIiwic3Bhbi0xMiI6InNwYW4gMTIgLyBzcGFuIDEyIiwic3Bhbi1mdWxsIjoiMSAvIC0xIn0sZ3JpZENvbHVtbkVuZDp7YXV0bzoiYXV0byIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiIsMTM6IjEzIn0sZ3JpZENvbHVtblN0YXJ0OnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwxMzoiMTMifSxncmlkUm93OnthdXRvOiJhdXRvIiwic3Bhbi0xIjoic3BhbiAxIC8gc3BhbiAxIiwic3Bhbi0yIjoic3BhbiAyIC8gc3BhbiAyIiwic3Bhbi0zIjoic3BhbiAzIC8gc3BhbiAzIiwic3Bhbi00Ijoic3BhbiA0IC8gc3BhbiA0Iiwic3Bhbi01Ijoic3BhbiA1IC8gc3BhbiA1Iiwic3Bhbi02Ijoic3BhbiA2IC8gc3BhbiA2Iiwic3Bhbi03Ijoic3BhbiA3IC8gc3BhbiA3Iiwic3Bhbi04Ijoic3BhbiA4IC8gc3BhbiA4Iiwic3Bhbi05Ijoic3BhbiA5IC8gc3BhbiA5Iiwic3Bhbi0xMCI6InNwYW4gMTAgLyBzcGFuIDEwIiwic3Bhbi0xMSI6InNwYW4gMTEgLyBzcGFuIDExIiwic3Bhbi0xMiI6InNwYW4gMTIgLyBzcGFuIDEyIiwic3Bhbi1mdWxsIjoiMSAvIC0xIn0sZ3JpZFJvd0VuZDp7YXV0bzoiYXV0byIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiIsMTM6IjEzIn0sZ3JpZFJvd1N0YXJ0OnthdXRvOiJhdXRvIiwxOiIxIiwyOiIyIiwzOiIzIiw0OiI0Iiw1OiI1Iiw2OiI2Iiw3OiI3Iiw4OiI4Iiw5OiI5IiwxMDoiMTAiLDExOiIxMSIsMTI6IjEyIiwxMzoiMTMifSxncmlkVGVtcGxhdGVDb2x1bW5zOntub25lOiJub25lIixzdWJncmlkOiJzdWJncmlkIiwxOiJyZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpIiwyOiJyZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpIiwzOiJyZXBlYXQoMywgbWlubWF4KDAsIDFmcikpIiw0OiJyZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpIiw1OiJyZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpIiw2OiJyZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpIiw3OiJyZXBlYXQoNywgbWlubWF4KDAsIDFmcikpIiw4OiJyZXBlYXQoOCwgbWlubWF4KDAsIDFmcikpIiw5OiJyZXBlYXQoOSwgbWlubWF4KDAsIDFmcikpIiwxMDoicmVwZWF0KDEwLCBtaW5tYXgoMCwgMWZyKSkiLDExOiJyZXBlYXQoMTEsIG1pbm1heCgwLCAxZnIpKSIsMTI6InJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpIn0sZ3JpZFRlbXBsYXRlUm93czp7bm9uZToibm9uZSIsc3ViZ3JpZDoic3ViZ3JpZCIsMToicmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKSIsMjoicmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSIsMzoicmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSIsNDoicmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKSIsNToicmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKSIsNjoicmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKSIsNzoicmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKSIsODoicmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKSIsOToicmVwZWF0KDksIG1pbm1heCgwLCAxZnIpKSIsMTA6InJlcGVhdCgxMCwgbWlubWF4KDAsIDFmcikpIiwxMToicmVwZWF0KDExLCBtaW5tYXgoMCwgMWZyKSkiLDEyOiJyZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKSJ9LGhlaWdodDooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIiwiMS81IjoiMjAlIiwiMi81IjoiNDAlIiwiMy81IjoiNjAlIiwiNC81IjoiODAlIiwiMS82IjoiMTYuNjY2NjY3JSIsIjIvNiI6IjMzLjMzMzMzMyUiLCIzLzYiOiI1MCUiLCI0LzYiOiI2Ni42NjY2NjclIiwiNS82IjoiODMuMzMzMzMzJSIsZnVsbDoiMTAwJSIsc2NyZWVuOiIxMDB2aCIsc3ZoOiIxMDBzdmgiLGx2aDoiMTAwbHZoIixkdmg6IjEwMGR2aCIsbWluOiJtaW4tY29udGVudCIsbWF4OiJtYXgtY29udGVudCIsZml0OiJmaXQtY29udGVudCJ9KSxodWVSb3RhdGU6ezA6IjBkZWciLDE1OiIxNWRlZyIsMzA6IjMwZGVnIiw2MDoiNjBkZWciLDkwOiI5MGRlZyIsMTgwOiIxODBkZWcifSxpbnNldDooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIixmdWxsOiIxMDAlIn0pLGludmVydDp7MDoiMCIsREVGQVVMVDoiMTAwJSJ9LGtleWZyYW1lczp7c3Bpbjp7dG86e3RyYW5zZm9ybToicm90YXRlKDM2MGRlZykifX0scGluZzp7Ijc1JSwgMTAwJSI6e3RyYW5zZm9ybToic2NhbGUoMikiLG9wYWNpdHk6IjAifX0scHVsc2U6eyI1MCUiOntvcGFjaXR5OiIuNSJ9fSxib3VuY2U6eyIwJSwgMTAwJSI6e3RyYW5zZm9ybToidHJhbnNsYXRlWSgtMjUlKSIsYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246ImN1YmljLWJlemllcigwLjgsMCwxLDEpIn0sIjUwJSI6e3RyYW5zZm9ybToibm9uZSIsYW5pbWF0aW9uVGltaW5nRnVuY3Rpb246ImN1YmljLWJlemllcigwLDAsMC4yLDEpIn19fSxsZXR0ZXJTcGFjaW5nOnt0aWdodGVyOiItMC4wNWVtIix0aWdodDoiLTAuMDI1ZW0iLG5vcm1hbDoiMGVtIix3aWRlOiIwLjAyNWVtIix3aWRlcjoiMC4wNWVtIix3aWRlc3Q6IjAuMWVtIn0sbGluZUhlaWdodDp7bm9uZToiMSIsdGlnaHQ6IjEuMjUiLHNudWc6IjEuMzc1Iixub3JtYWw6IjEuNSIscmVsYXhlZDoiMS42MjUiLGxvb3NlOiIyIiwzOiIuNzVyZW0iLDQ6IjFyZW0iLDU6IjEuMjVyZW0iLDY6IjEuNXJlbSIsNzoiMS43NXJlbSIsODoiMnJlbSIsOToiMi4yNXJlbSIsMTA6IjIuNXJlbSJ9LGxpc3RTdHlsZVR5cGU6e25vbmU6Im5vbmUiLGRpc2M6ImRpc2MiLGRlY2ltYWw6ImRlY2ltYWwifSxsaXN0U3R5bGVJbWFnZTp7bm9uZToibm9uZSJ9LG1hcmdpbjooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIil9KSxsaW5lQ2xhbXA6ezE6IjEiLDI6IjIiLDM6IjMiLDQ6IjQiLDU6IjUiLDY6IjYifSxtYXhIZWlnaHQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLG5vbmU6Im5vbmUiLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdmgiLHN2aDoiMTAwc3ZoIixsdmg6IjEwMGx2aCIsZHZoOiIxMDBkdmgiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksbWF4V2lkdGg6KHt0aGVtZTpyLGJyZWFrcG9pbnRzOmV9KT0+KHsuLi5yKCJzcGFjaW5nIiksbm9uZToibm9uZSIseHM6IjIwcmVtIixzbToiMjRyZW0iLG1kOiIyOHJlbSIsbGc6IjMycmVtIix4bDoiMzZyZW0iLCIyeGwiOiI0MnJlbSIsIjN4bCI6IjQ4cmVtIiwiNHhsIjoiNTZyZW0iLCI1eGwiOiI2NHJlbSIsIjZ4bCI6IjcycmVtIiwiN3hsIjoiODByZW0iLGZ1bGw6IjEwMCUiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQiLHByb3NlOiI2NWNoIiwuLi5lKHIoInNjcmVlbnMiKSl9KSxtaW5IZWlnaHQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdmgiLHN2aDoiMTAwc3ZoIixsdmg6IjEwMGx2aCIsZHZoOiIxMDBkdmgiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksbWluV2lkdGg6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpLGZ1bGw6IjEwMCUiLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksb2JqZWN0UG9zaXRpb246e2JvdHRvbToiYm90dG9tIixjZW50ZXI6ImNlbnRlciIsbGVmdDoibGVmdCIsImxlZnQtYm90dG9tIjoibGVmdCBib3R0b20iLCJsZWZ0LXRvcCI6ImxlZnQgdG9wIixyaWdodDoicmlnaHQiLCJyaWdodC1ib3R0b20iOiJyaWdodCBib3R0b20iLCJyaWdodC10b3AiOiJyaWdodCB0b3AiLHRvcDoidG9wIn0sb3BhY2l0eTp7MDoiMCIsNToiMC4wNSIsMTA6IjAuMSIsMTU6IjAuMTUiLDIwOiIwLjIiLDI1OiIwLjI1IiwzMDoiMC4zIiwzNToiMC4zNSIsNDA6IjAuNCIsNDU6IjAuNDUiLDUwOiIwLjUiLDU1OiIwLjU1Iiw2MDoiMC42Iiw2NToiMC42NSIsNzA6IjAuNyIsNzU6IjAuNzUiLDgwOiIwLjgiLDg1OiIwLjg1Iiw5MDoiMC45Iiw5NToiMC45NSIsMTAwOiIxIn0sb3JkZXI6e2ZpcnN0OiItOTk5OSIsbGFzdDoiOTk5OSIsbm9uZToiMCIsMToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiIsNzoiNyIsODoiOCIsOToiOSIsMTA6IjEwIiwxMToiMTEiLDEyOiIxMiJ9LG91dGxpbmVDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIiksb3V0bGluZU9mZnNldDp7MDoiMHB4IiwxOiIxcHgiLDI6IjJweCIsNDoiNHB4Iiw4OiI4cHgifSxvdXRsaW5lV2lkdGg6ezA6IjBweCIsMToiMXB4IiwyOiIycHgiLDQ6IjRweCIsODoiOHB4In0scGFkZGluZzooe3RoZW1lOnJ9KT0+cigic3BhY2luZyIpLHBsYWNlaG9sZGVyQ29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHBsYWNlaG9sZGVyT3BhY2l0eTooe3RoZW1lOnJ9KT0+cigib3BhY2l0eSIpLHJpbmdDb2xvcjooe3RoZW1lOnJ9KT0+KHtERUZBVUxUOnIoImNvbG9ycy5ibHVlLjUwMCIsIiMzYjgyZjYiKSwuLi5yKCJjb2xvcnMiKX0pLHJpbmdPZmZzZXRDb2xvcjooe3RoZW1lOnJ9KT0+cigiY29sb3JzIikscmluZ09mZnNldFdpZHRoOnswOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHJpbmdPcGFjaXR5Oih7dGhlbWU6cn0pPT4oe0RFRkFVTFQ6IjAuNSIsLi4ucigib3BhY2l0eSIpfSkscmluZ1dpZHRoOntERUZBVUxUOiIzcHgiLDA6IjBweCIsMToiMXB4IiwyOiIycHgiLDQ6IjRweCIsODoiOHB4In0scm90YXRlOnswOiIwZGVnIiwxOiIxZGVnIiwyOiIyZGVnIiwzOiIzZGVnIiw2OiI2ZGVnIiwxMjoiMTJkZWciLDQ1OiI0NWRlZyIsOTA6IjkwZGVnIiwxODA6IjE4MGRlZyJ9LHNhdHVyYXRlOnswOiIwIiw1MDoiLjUiLDEwMDoiMSIsMTUwOiIxLjUiLDIwMDoiMiJ9LHNjYWxlOnswOiIwIiw1MDoiLjUiLDc1OiIuNzUiLDkwOiIuOSIsOTU6Ii45NSIsMTAwOiIxIiwxMDU6IjEuMDUiLDExMDoiMS4xIiwxMjU6IjEuMjUiLDE1MDoiMS41In0sc2NyZWVuczp7c206IjY0MHB4IixtZDoiNzY4cHgiLGxnOiIxMDI0cHgiLHhsOiIxMjgwcHgiLCIyeGwiOiIxNTM2cHgifSxzY3JvbGxNYXJnaW46KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksc2Nyb2xsUGFkZGluZzooe3RoZW1lOnJ9KT0+cigic3BhY2luZyIpLHNlcGlhOnswOiIwIixERUZBVUxUOiIxMDAlIn0sc2tldzp7MDoiMGRlZyIsMToiMWRlZyIsMjoiMmRlZyIsMzoiM2RlZyIsNjoiNmRlZyIsMTI6IjEyZGVnIn0sc3BhY2U6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksc3BhY2luZzp7cHg6IjFweCIsMDoiMHB4IiwuNToiMC4xMjVyZW0iLDE6IjAuMjVyZW0iLDEuNToiMC4zNzVyZW0iLDI6IjAuNXJlbSIsMi41OiIwLjYyNXJlbSIsMzoiMC43NXJlbSIsMy41OiIwLjg3NXJlbSIsNDoiMXJlbSIsNToiMS4yNXJlbSIsNjoiMS41cmVtIiw3OiIxLjc1cmVtIiw4OiIycmVtIiw5OiIyLjI1cmVtIiwxMDoiMi41cmVtIiwxMToiMi43NXJlbSIsMTI6IjNyZW0iLDE0OiIzLjVyZW0iLDE2OiI0cmVtIiwyMDoiNXJlbSIsMjQ6IjZyZW0iLDI4OiI3cmVtIiwzMjoiOHJlbSIsMzY6IjlyZW0iLDQwOiIxMHJlbSIsNDQ6IjExcmVtIiw0ODoiMTJyZW0iLDUyOiIxM3JlbSIsNTY6IjE0cmVtIiw2MDoiMTVyZW0iLDY0OiIxNnJlbSIsNzI6IjE4cmVtIiw4MDoiMjByZW0iLDk2OiIyNHJlbSJ9LHN0cm9rZTooe3RoZW1lOnJ9KT0+KHtub25lOiJub25lIiwuLi5yKCJjb2xvcnMiKX0pLHN0cm9rZVdpZHRoOnswOiIwIiwxOiIxIiwyOiIyIn0sc3VwcG9ydHM6e30sZGF0YTp7fSx0ZXh0Q29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHRleHREZWNvcmF0aW9uQ29sb3I6KHt0aGVtZTpyfSk9PnIoImNvbG9ycyIpLHRleHREZWNvcmF0aW9uVGhpY2tuZXNzOnthdXRvOiJhdXRvIiwiZnJvbS1mb250IjoiZnJvbS1mb250IiwwOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHRleHRJbmRlbnQ6KHt0aGVtZTpyfSk9Pih7Li4ucigic3BhY2luZyIpfSksdGV4dE9wYWNpdHk6KHt0aGVtZTpyfSk9PnIoIm9wYWNpdHkiKSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OnthdXRvOiJhdXRvIiwwOiIwcHgiLDE6IjFweCIsMjoiMnB4Iiw0OiI0cHgiLDg6IjhweCJ9LHRyYW5zZm9ybU9yaWdpbjp7Y2VudGVyOiJjZW50ZXIiLHRvcDoidG9wIiwidG9wLXJpZ2h0IjoidG9wIHJpZ2h0IixyaWdodDoicmlnaHQiLCJib3R0b20tcmlnaHQiOiJib3R0b20gcmlnaHQiLGJvdHRvbToiYm90dG9tIiwiYm90dG9tLWxlZnQiOiJib3R0b20gbGVmdCIsbGVmdDoibGVmdCIsInRvcC1sZWZ0IjoidG9wIGxlZnQifSx0cmFuc2l0aW9uRGVsYXk6ezA6IjBzIiw3NToiNzVtcyIsMTAwOiIxMDBtcyIsMTUwOiIxNTBtcyIsMjAwOiIyMDBtcyIsMzAwOiIzMDBtcyIsNTAwOiI1MDBtcyIsNzAwOiI3MDBtcyIsMWUzOiIxMDAwbXMifSx0cmFuc2l0aW9uRHVyYXRpb246e0RFRkFVTFQ6IjE1MG1zIiwwOiIwcyIsNzU6Ijc1bXMiLDEwMDoiMTAwbXMiLDE1MDoiMTUwbXMiLDIwMDoiMjAwbXMiLDMwMDoiMzAwbXMiLDUwMDoiNTAwbXMiLDcwMDoiNzAwbXMiLDFlMzoiMTAwMG1zIn0sdHJhbnNpdGlvblByb3BlcnR5Ontub25lOiJub25lIixhbGw6ImFsbCIsREVGQVVMVDoiY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UsIG9wYWNpdHksIGJveC1zaGFkb3csIHRyYW5zZm9ybSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIiLGNvbG9yczoiY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yLCBmaWxsLCBzdHJva2UiLG9wYWNpdHk6Im9wYWNpdHkiLHNoYWRvdzoiYm94LXNoYWRvdyIsdHJhbnNmb3JtOiJ0cmFuc2Zvcm0ifSx0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246e0RFRkFVTFQ6ImN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLGxpbmVhcjoibGluZWFyIixpbjoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkiLG91dDoiY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLCJpbi1vdXQiOiJjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIn0sdHJhbnNsYXRlOih7dGhlbWU6cn0pPT4oey4uLnIoInNwYWNpbmciKSwiMS8yIjoiNTAlIiwiMS8zIjoiMzMuMzMzMzMzJSIsIjIvMyI6IjY2LjY2NjY2NyUiLCIxLzQiOiIyNSUiLCIyLzQiOiI1MCUiLCIzLzQiOiI3NSUiLGZ1bGw6IjEwMCUifSksc2l6ZTooe3RoZW1lOnJ9KT0+KHthdXRvOiJhdXRvIiwuLi5yKCJzcGFjaW5nIiksIjEvMiI6IjUwJSIsIjEvMyI6IjMzLjMzMzMzMyUiLCIyLzMiOiI2Ni42NjY2NjclIiwiMS80IjoiMjUlIiwiMi80IjoiNTAlIiwiMy80IjoiNzUlIiwiMS81IjoiMjAlIiwiMi81IjoiNDAlIiwiMy81IjoiNjAlIiwiNC81IjoiODAlIiwiMS82IjoiMTYuNjY2NjY3JSIsIjIvNiI6IjMzLjMzMzMzMyUiLCIzLzYiOiI1MCUiLCI0LzYiOiI2Ni42NjY2NjclIiwiNS82IjoiODMuMzMzMzMzJSIsIjEvMTIiOiI4LjMzMzMzMyUiLCIyLzEyIjoiMTYuNjY2NjY3JSIsIjMvMTIiOiIyNSUiLCI0LzEyIjoiMzMuMzMzMzMzJSIsIjUvMTIiOiI0MS42NjY2NjclIiwiNi8xMiI6IjUwJSIsIjcvMTIiOiI1OC4zMzMzMzMlIiwiOC8xMiI6IjY2LjY2NjY2NyUiLCI5LzEyIjoiNzUlIiwiMTAvMTIiOiI4My4zMzMzMzMlIiwiMTEvMTIiOiI5MS42NjY2NjclIixmdWxsOiIxMDAlIixtaW46Im1pbi1jb250ZW50IixtYXg6Im1heC1jb250ZW50IixmaXQ6ImZpdC1jb250ZW50In0pLHdpZHRoOih7dGhlbWU6cn0pPT4oe2F1dG86ImF1dG8iLC4uLnIoInNwYWNpbmciKSwiMS8yIjoiNTAlIiwiMS8zIjoiMzMuMzMzMzMzJSIsIjIvMyI6IjY2LjY2NjY2NyUiLCIxLzQiOiIyNSUiLCIyLzQiOiI1MCUiLCIzLzQiOiI3NSUiLCIxLzUiOiIyMCUiLCIyLzUiOiI0MCUiLCIzLzUiOiI2MCUiLCI0LzUiOiI4MCUiLCIxLzYiOiIxNi42NjY2NjclIiwiMi82IjoiMzMuMzMzMzMzJSIsIjMvNiI6IjUwJSIsIjQvNiI6IjY2LjY2NjY2NyUiLCI1LzYiOiI4My4zMzMzMzMlIiwiMS8xMiI6IjguMzMzMzMzJSIsIjIvMTIiOiIxNi42NjY2NjclIiwiMy8xMiI6IjI1JSIsIjQvMTIiOiIzMy4zMzMzMzMlIiwiNS8xMiI6IjQxLjY2NjY2NyUiLCI2LzEyIjoiNTAlIiwiNy8xMiI6IjU4LjMzMzMzMyUiLCI4LzEyIjoiNjYuNjY2NjY3JSIsIjkvMTIiOiI3NSUiLCIxMC8xMiI6IjgzLjMzMzMzMyUiLCIxMS8xMiI6IjkxLjY2NjY2NyUiLGZ1bGw6IjEwMCUiLHNjcmVlbjoiMTAwdnciLHN2dzoiMTAwc3Z3Iixsdnc6IjEwMGx2dyIsZHZ3OiIxMDBkdnciLG1pbjoibWluLWNvbnRlbnQiLG1heDoibWF4LWNvbnRlbnQiLGZpdDoiZml0LWNvbnRlbnQifSksd2lsbENoYW5nZTp7YXV0bzoiYXV0byIsc2Nyb2xsOiJzY3JvbGwtcG9zaXRpb24iLGNvbnRlbnRzOiJjb250ZW50cyIsdHJhbnNmb3JtOiJ0cmFuc2Zvcm0ifSx6SW5kZXg6e2F1dG86ImF1dG8iLDA6IjAiLDEwOiIxMCIsMjA6IjIwIiwzMDoiMzAiLDQwOiI0MCIsNTA6IjUwIn19LHBsdWdpbnM6W119fSk7ZnVuY3Rpb24gbm4ocil7bGV0IGU9KHI/LnByZXNldHM/P1tpYy5kZWZhdWx0XSkuc2xpY2UoKS5yZXZlcnNlKCkuZmxhdE1hcChuPT5ubihuIGluc3RhbmNlb2YgRnVuY3Rpb24/bigpOm4pKSx0PXtyZXNwZWN0RGVmYXVsdFJpbmdDb2xvck9wYWNpdHk6e3RoZW1lOntyaW5nQ29sb3I6KHt0aGVtZTpufSk9Pih7REVGQVVMVDoiIzNiODJmNjdmIiwuLi5uKCJjb2xvcnMiKX0pfX0sZGlzYWJsZUNvbG9yT3BhY2l0eVV0aWxpdGllc0J5RGVmYXVsdDp7Y29yZVBsdWdpbnM6e2JhY2tncm91bmRPcGFjaXR5OiExLGJvcmRlck9wYWNpdHk6ITEsZGl2aWRlT3BhY2l0eTohMSxwbGFjZWhvbGRlck9wYWNpdHk6ITEscmluZ09wYWNpdHk6ITEsdGV4dE9wYWNpdHk6ITF9fX0saT1PYmplY3Qua2V5cyh0KS5maWx0ZXIobj0+d2UocixuKSkubWFwKG49PnRbbl0pO3JldHVybltyLC4uLmksLi4uZV19dmFyIGljLG5jPVAoKCk9Pnt1KCk7aWM9cGUocm4oKSk7Y3QoKX0pO3ZhciBzYz17fTtHZShzYyx7ZGVmYXVsdDooKT0+enJ9KTtmdW5jdGlvbiB6ciguLi5yKXtsZXRbLC4uLmVdPW5uKHJbMF0pO3JldHVybiBuYShbLi4uciwuLi5lXSl9dmFyIHNhPVAoKCk9Pnt1KCk7dGMoKTtuYygpfSk7dmFyIFVyPXt9O0dlKFVyLHtkZWZhdWx0OigpPT5tZX0pO3ZhciBtZSxldD1QKCgpPT57dSgpO21lPXtyZXNvbHZlOnI9PnIsZXh0bmFtZTpyPT4iLiIrci5zcGxpdCgiLiIpLnBvcCgpfX0pO2Z1bmN0aW9uIHNuKHIpe3JldHVybiB0eXBlb2Ygcj09Im9iamVjdCImJnIhPT1udWxsfWZ1bmN0aW9uIGJ4KHIpe3JldHVybiBPYmplY3Qua2V5cyhyKS5sZW5ndGg9PT0wfWZ1bmN0aW9uIGFjKHIpe3JldHVybiB0eXBlb2Ygcj09InN0cmluZyJ8fHIgaW5zdGFuY2VvZiBTdHJpbmd9ZnVuY3Rpb24gYWEocil7cmV0dXJuIHNuKHIpJiZyLmNvbmZpZz09PXZvaWQgMCYmIWJ4KHIpP251bGw6c24ocikmJnIuY29uZmlnIT09dm9pZCAwJiZhYyhyLmNvbmZpZyk/bWUucmVzb2x2ZShyLmNvbmZpZyk6c24ocikmJnIuY29uZmlnIT09dm9pZCAwJiZzbihyLmNvbmZpZyk/bnVsbDphYyhyKT9tZS5yZXNvbHZlKHIpOnd4KCl9ZnVuY3Rpb24gd3goKXtmb3IobGV0IHIgb2YgeXgpdHJ5e2xldCBlPW1lLnJlc29sdmUocik7cmV0dXJuIGJlLmFjY2Vzc1N5bmMoZSksZX1jYXRjaChlKXt9cmV0dXJuIG51bGx9dmFyIHl4LG9jPVAoKCk9Pnt1KCk7ZnQoKTtldCgpO3l4PVsiLi90YWlsd2luZC5jb25maWcuanMiLCIuL3RhaWx3aW5kLmNvbmZpZy5janMiLCIuL3RhaWx3aW5kLmNvbmZpZy5tanMiLCIuL3RhaWx3aW5kLmNvbmZpZy50cyIsIi4vdGFpbHdpbmQuY29uZmlnLmN0cyIsIi4vdGFpbHdpbmQuY29uZmlnLm10cyJdfSk7dmFyIGxjPXt9O0dlKGxjLHtkZWZhdWx0OigpPT5vYX0pO3ZhciBvYSxsYT1QKCgpPT57dSgpO29hPXtwYXJzZTpyPT4oe2hyZWY6cn0pfX0pO3ZhciB1YT14KCgpPT57dSgpfSk7dmFyIGFuPXgoKHYzLGNjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHVjPShRaSgpLEFmKSxmYz11YSgpLEp0PWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0LGksbixzLGEpe3N1cGVyKGUpO3RoaXMubmFtZT0iQ3NzU3ludGF4RXJyb3IiLHRoaXMucmVhc29uPWUscyYmKHRoaXMuZmlsZT1zKSxuJiYodGhpcy5zb3VyY2U9biksYSYmKHRoaXMucGx1Z2luPWEpLHR5cGVvZiB0IT0idW5kZWZpbmVkIiYmdHlwZW9mIGkhPSJ1bmRlZmluZWQiJiYodHlwZW9mIHQ9PSJudW1iZXIiPyh0aGlzLmxpbmU9dCx0aGlzLmNvbHVtbj1pKToodGhpcy5saW5lPXQubGluZSx0aGlzLmNvbHVtbj10LmNvbHVtbix0aGlzLmVuZExpbmU9aS5saW5lLHRoaXMuZW5kQ29sdW1uPWkuY29sdW1uKSksdGhpcy5zZXRNZXNzYWdlKCksRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsSnQpfXNldE1lc3NhZ2UoKXt0aGlzLm1lc3NhZ2U9dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rIjogIjoiIix0aGlzLm1lc3NhZ2UrPXRoaXMuZmlsZT90aGlzLmZpbGU6Ijxjc3MgaW5wdXQ+Iix0eXBlb2YgdGhpcy5saW5lIT0idW5kZWZpbmVkIiYmKHRoaXMubWVzc2FnZSs9IjoiK3RoaXMubGluZSsiOiIrdGhpcy5jb2x1bW4pLHRoaXMubWVzc2FnZSs9IjogIit0aGlzLnJlYXNvbn1zaG93U291cmNlQ29kZShlKXtpZighdGhpcy5zb3VyY2UpcmV0dXJuIiI7bGV0IHQ9dGhpcy5zb3VyY2U7ZT09bnVsbCYmKGU9dWMuaXNDb2xvclN1cHBvcnRlZCk7bGV0IGk9Zj0+ZixuPWY9PmYscz1mPT5mO2lmKGUpe2xldHtib2xkOmYsZ3JheTpkLHJlZDpwfT11Yy5jcmVhdGVDb2xvcnMoITApO249aD0+ZihwKGgpKSxpPWg9PmQoaCksZmMmJihzPWg9PmZjKGgpKX1sZXQgYT10LnNwbGl0KC9ccj9cbi8pLG89TWF0aC5tYXgodGhpcy5saW5lLTMsMCksbD1NYXRoLm1pbih0aGlzLmxpbmUrMixhLmxlbmd0aCksYz1TdHJpbmcobCkubGVuZ3RoO3JldHVybiBhLnNsaWNlKG8sbCkubWFwKChmLGQpPT57bGV0IHA9bysxK2QsaD0iICIrKCIgIitwKS5zbGljZSgtYykrIiB8ICI7aWYocD09PXRoaXMubGluZSl7aWYoZi5sZW5ndGg+MTYwKXtsZXQgdj0yMCx5PU1hdGgubWF4KDAsdGhpcy5jb2x1bW4tdiksdz1NYXRoLm1heCh0aGlzLmNvbHVtbit2LHRoaXMuZW5kQ29sdW1uK3YpLGs9Zi5zbGljZSh5LHcpLFM9aShoLnJlcGxhY2UoL1xkL2csIiAiKSkrZi5zbGljZSgwLE1hdGgubWluKHRoaXMuY29sdW1uLTEsdi0xKSkucmVwbGFjZSgvW15cdF0vZywiICIpO3JldHVybiBuKCI+IikraShoKStzKGspK2AKIGArUytuKCJeIil9bGV0IGI9aShoLnJlcGxhY2UoL1xkL2csIiAiKSkrZi5zbGljZSgwLHRoaXMuY29sdW1uLTEpLnJlcGxhY2UoL1teXHRdL2csIiAiKTtyZXR1cm4gbigiPiIpK2koaCkrcyhmKStgCiBgK2IrbigiXiIpfXJldHVybiIgIitpKGgpK3MoZil9KS5qb2luKGAKYCl9dG9TdHJpbmcoKXtsZXQgZT10aGlzLnNob3dTb3VyY2VDb2RlKCk7cmV0dXJuIGUmJihlPWAKCmArZStgCmApLHRoaXMubmFtZSsiOiAiK3RoaXMubWVzc2FnZStlfX07Y2MuZXhwb3J0cz1KdDtKdC5kZWZhdWx0PUp0fSk7dmFyIGZhPXgoKHgzLGRjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHBjPXthZnRlcjpgCmAsYmVmb3JlQ2xvc2U6YApgLGJlZm9yZUNvbW1lbnQ6YApgLGJlZm9yZURlY2w6YApgLGJlZm9yZU9wZW46IiAiLGJlZm9yZVJ1bGU6YApgLGNvbG9uOiI6ICIsY29tbWVudExlZnQ6IiAiLGNvbW1lbnRSaWdodDoiICIsZW1wdHlCb2R5OiIiLGluZGVudDoiICAgICIsc2VtaWNvbG9uOiExfTtmdW5jdGlvbiB2eChyKXtyZXR1cm4gclswXS50b1VwcGVyQ2FzZSgpK3Iuc2xpY2UoMSl9dmFyIG9uPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuYnVpbGRlcj1lfWF0cnVsZShlLHQpe2xldCBpPSJAIitlLm5hbWUsbj1lLnBhcmFtcz90aGlzLnJhd1ZhbHVlKGUsInBhcmFtcyIpOiIiO2lmKHR5cGVvZiBlLnJhd3MuYWZ0ZXJOYW1lIT0idW5kZWZpbmVkIj9pKz1lLnJhd3MuYWZ0ZXJOYW1lOm4mJihpKz0iICIpLGUubm9kZXMpdGhpcy5ibG9jayhlLGkrbik7ZWxzZXtsZXQgcz0oZS5yYXdzLmJldHdlZW58fCIiKSsodD8iOyI6IiIpO3RoaXMuYnVpbGRlcihpK24rcyxlKX19YmVmb3JlQWZ0ZXIoZSx0KXtsZXQgaTtlLnR5cGU9PT0iZGVjbCI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZURlY2wiKTplLnR5cGU9PT0iY29tbWVudCI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZUNvbW1lbnQiKTp0PT09ImJlZm9yZSI/aT10aGlzLnJhdyhlLG51bGwsImJlZm9yZVJ1bGUiKTppPXRoaXMucmF3KGUsbnVsbCwiYmVmb3JlQ2xvc2UiKTtsZXQgbj1lLnBhcmVudCxzPTA7Zm9yKDtuJiZuLnR5cGUhPT0icm9vdCI7KXMrPTEsbj1uLnBhcmVudDtpZihpLmluY2x1ZGVzKGAKYCkpe2xldCBhPXRoaXMucmF3KGUsbnVsbCwiaW5kZW50Iik7aWYoYS5sZW5ndGgpZm9yKGxldCBvPTA7bzxzO28rKylpKz1hfXJldHVybiBpfWJsb2NrKGUsdCl7bGV0IGk9dGhpcy5yYXcoZSwiYmV0d2VlbiIsImJlZm9yZU9wZW4iKTt0aGlzLmJ1aWxkZXIodCtpKyJ7IixlLCJzdGFydCIpO2xldCBuO2Uubm9kZXMmJmUubm9kZXMubGVuZ3RoPyh0aGlzLmJvZHkoZSksbj10aGlzLnJhdyhlLCJhZnRlciIpKTpuPXRoaXMucmF3KGUsImFmdGVyIiwiZW1wdHlCb2R5IiksbiYmdGhpcy5idWlsZGVyKG4pLHRoaXMuYnVpbGRlcigifSIsZSwiZW5kIil9Ym9keShlKXtsZXQgdD1lLm5vZGVzLmxlbmd0aC0xO2Zvcig7dD4wJiZlLm5vZGVzW3RdLnR5cGU9PT0iY29tbWVudCI7KXQtPTE7bGV0IGk9dGhpcy5yYXcoZSwic2VtaWNvbG9uIik7Zm9yKGxldCBuPTA7bjxlLm5vZGVzLmxlbmd0aDtuKyspe2xldCBzPWUubm9kZXNbbl0sYT10aGlzLnJhdyhzLCJiZWZvcmUiKTthJiZ0aGlzLmJ1aWxkZXIoYSksdGhpcy5zdHJpbmdpZnkocyx0IT09bnx8aSl9fWNvbW1lbnQoZSl7bGV0IHQ9dGhpcy5yYXcoZSwibGVmdCIsImNvbW1lbnRMZWZ0IiksaT10aGlzLnJhdyhlLCJyaWdodCIsImNvbW1lbnRSaWdodCIpO3RoaXMuYnVpbGRlcigiLyoiK3QrZS50ZXh0K2krIiovIixlKX1kZWNsKGUsdCl7bGV0IGk9dGhpcy5yYXcoZSwiYmV0d2VlbiIsImNvbG9uIiksbj1lLnByb3AraSt0aGlzLnJhd1ZhbHVlKGUsInZhbHVlIik7ZS5pbXBvcnRhbnQmJihuKz1lLnJhd3MuaW1wb3J0YW50fHwiICFpbXBvcnRhbnQiKSx0JiYobis9IjsiKSx0aGlzLmJ1aWxkZXIobixlKX1kb2N1bWVudChlKXt0aGlzLmJvZHkoZSl9cmF3KGUsdCxpKXtsZXQgbjtpZihpfHwoaT10KSx0JiYobj1lLnJhd3NbdF0sdHlwZW9mIG4hPSJ1bmRlZmluZWQiKSlyZXR1cm4gbjtsZXQgcz1lLnBhcmVudDtpZihpPT09ImJlZm9yZSImJighc3x8cy50eXBlPT09InJvb3QiJiZzLmZpcnN0PT09ZXx8cyYmcy50eXBlPT09ImRvY3VtZW50IikpcmV0dXJuIiI7aWYoIXMpcmV0dXJuIHBjW2ldO2xldCBhPWUucm9vdCgpO2lmKGEucmF3Q2FjaGV8fChhLnJhd0NhY2hlPXt9KSx0eXBlb2YgYS5yYXdDYWNoZVtpXSE9InVuZGVmaW5lZCIpcmV0dXJuIGEucmF3Q2FjaGVbaV07aWYoaT09PSJiZWZvcmUifHxpPT09ImFmdGVyIilyZXR1cm4gdGhpcy5iZWZvcmVBZnRlcihlLGkpO3tsZXQgbz0icmF3Iit2eChpKTt0aGlzW29dP249dGhpc1tvXShhLGUpOmEud2FsayhsPT57aWYobj1sLnJhd3NbdF0sdHlwZW9mIG4hPSJ1bmRlZmluZWQiKXJldHVybiExfSl9cmV0dXJuIHR5cGVvZiBuPT0idW5kZWZpbmVkIiYmKG49cGNbaV0pLGEucmF3Q2FjaGVbaV09bixufXJhd0JlZm9yZUNsb3NlKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkubm9kZXMmJmkubm9kZXMubGVuZ3RoPjAmJnR5cGVvZiBpLnJhd3MuYWZ0ZXIhPSJ1bmRlZmluZWQiKXJldHVybiB0PWkucmF3cy5hZnRlcix0LmluY2x1ZGVzKGAKYCkmJih0PXQucmVwbGFjZSgvW15cbl0rJC8sIiIpKSwhMX0pLHQmJih0PXQucmVwbGFjZSgvXFMvZywiIikpLHR9cmF3QmVmb3JlQ29tbWVudChlLHQpe2xldCBpO3JldHVybiBlLndhbGtDb21tZW50cyhuPT57aWYodHlwZW9mIG4ucmF3cy5iZWZvcmUhPSJ1bmRlZmluZWQiKXJldHVybiBpPW4ucmF3cy5iZWZvcmUsaS5pbmNsdWRlcyhgCmApJiYoaT1pLnJlcGxhY2UoL1teXG5dKyQvLCIiKSksITF9KSx0eXBlb2YgaT09InVuZGVmaW5lZCI/aT10aGlzLnJhdyh0LG51bGwsImJlZm9yZURlY2wiKTppJiYoaT1pLnJlcGxhY2UoL1xTL2csIiIpKSxpfXJhd0JlZm9yZURlY2woZSx0KXtsZXQgaTtyZXR1cm4gZS53YWxrRGVjbHMobj0+e2lmKHR5cGVvZiBuLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIilyZXR1cm4gaT1uLnJhd3MuYmVmb3JlLGkuaW5jbHVkZXMoYApgKSYmKGk9aS5yZXBsYWNlKC9bXlxuXSskLywiIikpLCExfSksdHlwZW9mIGk9PSJ1bmRlZmluZWQiP2k9dGhpcy5yYXcodCxudWxsLCJiZWZvcmVSdWxlIik6aSYmKGk9aS5yZXBsYWNlKC9cUy9nLCIiKSksaX1yYXdCZWZvcmVPcGVuKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkudHlwZSE9PSJkZWNsIiYmKHQ9aS5yYXdzLmJldHdlZW4sdHlwZW9mIHQhPSJ1bmRlZmluZWQiKSlyZXR1cm4hMX0pLHR9cmF3QmVmb3JlUnVsZShlKXtsZXQgdDtyZXR1cm4gZS53YWxrKGk9PntpZihpLm5vZGVzJiYoaS5wYXJlbnQhPT1lfHxlLmZpcnN0IT09aSkmJnR5cGVvZiBpLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIilyZXR1cm4gdD1pLnJhd3MuYmVmb3JlLHQuaW5jbHVkZXMoYApgKSYmKHQ9dC5yZXBsYWNlKC9bXlxuXSskLywiIikpLCExfSksdCYmKHQ9dC5yZXBsYWNlKC9cUy9nLCIiKSksdH1yYXdDb2xvbihlKXtsZXQgdDtyZXR1cm4gZS53YWxrRGVjbHMoaT0+e2lmKHR5cGVvZiBpLnJhd3MuYmV0d2VlbiE9InVuZGVmaW5lZCIpcmV0dXJuIHQ9aS5yYXdzLmJldHdlZW4ucmVwbGFjZSgvW15cczpdL2csIiIpLCExfSksdH1yYXdFbXB0eUJvZHkoZSl7bGV0IHQ7cmV0dXJuIGUud2FsayhpPT57aWYoaS5ub2RlcyYmaS5ub2Rlcy5sZW5ndGg9PT0wJiYodD1pLnJhd3MuYWZ0ZXIsdHlwZW9mIHQhPSJ1bmRlZmluZWQiKSlyZXR1cm4hMX0pLHR9cmF3SW5kZW50KGUpe2lmKGUucmF3cy5pbmRlbnQpcmV0dXJuIGUucmF3cy5pbmRlbnQ7bGV0IHQ7cmV0dXJuIGUud2FsayhpPT57bGV0IG49aS5wYXJlbnQ7aWYobiYmbiE9PWUmJm4ucGFyZW50JiZuLnBhcmVudD09PWUmJnR5cGVvZiBpLnJhd3MuYmVmb3JlIT0idW5kZWZpbmVkIil7bGV0IHM9aS5yYXdzLmJlZm9yZS5zcGxpdChgCmApO3JldHVybiB0PXNbcy5sZW5ndGgtMV0sdD10LnJlcGxhY2UoL1xTL2csIiIpLCExfX0pLHR9cmF3U2VtaWNvbG9uKGUpe2xldCB0O3JldHVybiBlLndhbGsoaT0+e2lmKGkubm9kZXMmJmkubm9kZXMubGVuZ3RoJiZpLmxhc3QudHlwZT09PSJkZWNsIiYmKHQ9aS5yYXdzLnNlbWljb2xvbix0eXBlb2YgdCE9InVuZGVmaW5lZCIpKXJldHVybiExfSksdH1yYXdWYWx1ZShlLHQpe2xldCBpPWVbdF0sbj1lLnJhd3NbdF07cmV0dXJuIG4mJm4udmFsdWU9PT1pP24ucmF3Oml9cm9vdChlKXt0aGlzLmJvZHkoZSksZS5yYXdzLmFmdGVyJiZ0aGlzLmJ1aWxkZXIoZS5yYXdzLmFmdGVyKX1ydWxlKGUpe3RoaXMuYmxvY2soZSx0aGlzLnJhd1ZhbHVlKGUsInNlbGVjdG9yIikpLGUucmF3cy5vd25TZW1pY29sb24mJnRoaXMuYnVpbGRlcihlLnJhd3Mub3duU2VtaWNvbG9uLGUsImVuZCIpfXN0cmluZ2lmeShlLHQpe2lmKCF0aGlzW2UudHlwZV0pdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIEFTVCBub2RlIHR5cGUgIitlLnR5cGUrIi4gTWF5YmUgeW91IG5lZWQgdG8gY2hhbmdlIFBvc3RDU1Mgc3RyaW5naWZpZXIuIik7dGhpc1tlLnR5cGVdKGUsdCl9fTtkYy5leHBvcnRzPW9uO29uLmRlZmF1bHQ9b259KTt2YXIgVnI9eCgoazMsaGMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgeHg9ZmEoKTtmdW5jdGlvbiBjYShyLGUpe25ldyB4eChlKS5zdHJpbmdpZnkocil9aGMuZXhwb3J0cz1jYTtjYS5kZWZhdWx0PWNhfSk7dmFyIGxuPXgoKFMzLHBhKT0+e3UoKTsidXNlIHN0cmljdCI7cGEuZXhwb3J0cy5pc0NsZWFuPVN5bWJvbCgiaXNDbGVhbiIpO3BhLmV4cG9ydHMubXk9U3ltYm9sKCJteSIpfSk7dmFyIEdyPXgoKEEzLG1jKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIGt4PWFuKCksU3g9ZmEoKSxBeD1WcigpLHtpc0NsZWFuOkhyLG15OkN4fT1sbigpO2Z1bmN0aW9uIGRhKHIsZSl7bGV0IHQ9bmV3IHIuY29uc3RydWN0b3I7Zm9yKGxldCBpIGluIHIpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixpKXx8aT09PSJwcm94eUNhY2hlIiljb250aW51ZTtsZXQgbj1yW2ldLHM9dHlwZW9mIG47aT09PSJwYXJlbnQiJiZzPT09Im9iamVjdCI/ZSYmKHRbaV09ZSk6aT09PSJzb3VyY2UiP3RbaV09bjpBcnJheS5pc0FycmF5KG4pP3RbaV09bi5tYXAoYT0+ZGEoYSx0KSk6KHM9PT0ib2JqZWN0IiYmbiE9PW51bGwmJihuPWRhKG4pKSx0W2ldPW4pfXJldHVybiB0fWZ1bmN0aW9uIFdyKHIsZSl7aWYoZSYmdHlwZW9mIGUub2Zmc2V0IT0idW5kZWZpbmVkIilyZXR1cm4gZS5vZmZzZXQ7bGV0IHQ9MSxpPTEsbj0wO2ZvcihsZXQgcz0wO3M8ci5sZW5ndGg7cysrKXtpZihpPT09ZS5saW5lJiZ0PT09ZS5jb2x1bW4pe249czticmVha31yW3NdPT09YApgPyh0PTEsaSs9MSk6dCs9MX1yZXR1cm4gbn12YXIgdW49Y2xhc3N7Y29uc3RydWN0b3IoZT17fSl7dGhpcy5yYXdzPXt9LHRoaXNbSHJdPSExLHRoaXNbQ3hdPSEwO2ZvcihsZXQgdCBpbiBlKWlmKHQ9PT0ibm9kZXMiKXt0aGlzLm5vZGVzPVtdO2ZvcihsZXQgaSBvZiBlW3RdKXR5cGVvZiBpLmNsb25lPT0iZnVuY3Rpb24iP3RoaXMuYXBwZW5kKGkuY2xvbmUoKSk6dGhpcy5hcHBlbmQoaSl9ZWxzZSB0aGlzW3RdPWVbdF19YWRkVG9FcnJvcihlKXtpZihlLnBvc3Rjc3NOb2RlPXRoaXMsZS5zdGFjayYmdGhpcy5zb3VyY2UmJi9cblxzezR9YXQgLy50ZXN0KGUuc3RhY2spKXtsZXQgdD10aGlzLnNvdXJjZTtlLnN0YWNrPWUuc3RhY2sucmVwbGFjZSgvXG5cc3s0fWF0IC8sYCQmJHt0LmlucHV0LmZyb219OiR7dC5zdGFydC5saW5lfToke3Quc3RhcnQuY29sdW1ufSQmYCl9cmV0dXJuIGV9YWZ0ZXIoZSl7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEFmdGVyKHRoaXMsZSksdGhpc31hc3NpZ24oZT17fSl7Zm9yKGxldCB0IGluIGUpdGhpc1t0XT1lW3RdO3JldHVybiB0aGlzfWJlZm9yZShlKXtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMsZSksdGhpc31jbGVhblJhd3MoZSl7ZGVsZXRlIHRoaXMucmF3cy5iZWZvcmUsZGVsZXRlIHRoaXMucmF3cy5hZnRlcixlfHxkZWxldGUgdGhpcy5yYXdzLmJldHdlZW59Y2xvbmUoZT17fSl7bGV0IHQ9ZGEodGhpcyk7Zm9yKGxldCBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fWNsb25lQWZ0ZXIoZT17fSl7bGV0IHQ9dGhpcy5jbG9uZShlKTtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcyx0KSx0fWNsb25lQmVmb3JlKGU9e30pe2xldCB0PXRoaXMuY2xvbmUoZSk7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLHQpLHR9ZXJyb3IoZSx0PXt9KXtpZih0aGlzLnNvdXJjZSl7bGV0e2VuZDppLHN0YXJ0Om59PXRoaXMucmFuZ2VCeSh0KTtyZXR1cm4gdGhpcy5zb3VyY2UuaW5wdXQuZXJyb3IoZSx7Y29sdW1uOm4uY29sdW1uLGxpbmU6bi5saW5lfSx7Y29sdW1uOmkuY29sdW1uLGxpbmU6aS5saW5lfSx0KX1yZXR1cm4gbmV3IGt4KGUpfWdldFByb3h5UHJvY2Vzc29yKCl7cmV0dXJue2dldChlLHQpe3JldHVybiB0PT09InByb3h5T2YiP2U6dD09PSJyb290Ij8oKT0+ZS5yb290KCkudG9Qcm94eSgpOmVbdF19LHNldChlLHQsaSl7cmV0dXJuIGVbdF09PT1pfHwoZVt0XT1pLCh0PT09InByb3AifHx0PT09InZhbHVlInx8dD09PSJuYW1lInx8dD09PSJwYXJhbXMifHx0PT09ImltcG9ydGFudCJ8fHQ9PT0idGV4dCIpJiZlLm1hcmtEaXJ0eSgpKSwhMH19fW1hcmtDbGVhbigpe3RoaXNbSHJdPSEwfW1hcmtEaXJ0eSgpe2lmKHRoaXNbSHJdKXt0aGlzW0hyXT0hMTtsZXQgZT10aGlzO2Zvcig7ZT1lLnBhcmVudDspZVtIcl09ITF9fW5leHQoKXtpZighdGhpcy5wYXJlbnQpcmV0dXJuO2xldCBlPXRoaXMucGFyZW50LmluZGV4KHRoaXMpO3JldHVybiB0aGlzLnBhcmVudC5ub2Rlc1tlKzFdfXBvc2l0aW9uQnkoZSl7bGV0IHQ9dGhpcy5zb3VyY2Uuc3RhcnQ7aWYoZS5pbmRleCl0PXRoaXMucG9zaXRpb25JbnNpZGUoZS5pbmRleCk7ZWxzZSBpZihlLndvcmQpe2xldCBuPXRoaXMuc291cmNlLmlucHV0LmNzcy5zbGljZShXcih0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2Uuc3RhcnQpLFdyKHRoaXMuc291cmNlLmlucHV0LmNzcyx0aGlzLnNvdXJjZS5lbmQpKS5pbmRleE9mKGUud29yZCk7biE9PS0xJiYodD10aGlzLnBvc2l0aW9uSW5zaWRlKG4pKX1yZXR1cm4gdH1wb3NpdGlvbkluc2lkZShlKXtsZXQgdD10aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4saT10aGlzLnNvdXJjZS5zdGFydC5saW5lLG49V3IodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxzPW4rZTtmb3IobGV0IGE9bjthPHM7YSsrKXRoaXMuc291cmNlLmlucHV0LmNzc1thXT09PWAKYD8odD0xLGkrPTEpOnQrPTE7cmV0dXJue2NvbHVtbjp0LGxpbmU6aX19cHJldigpe2lmKCF0aGlzLnBhcmVudClyZXR1cm47bGV0IGU9dGhpcy5wYXJlbnQuaW5kZXgodGhpcyk7cmV0dXJuIHRoaXMucGFyZW50Lm5vZGVzW2UtMV19cmFuZ2VCeShlKXtsZXQgdD17Y29sdW1uOnRoaXMuc291cmNlLnN0YXJ0LmNvbHVtbixsaW5lOnRoaXMuc291cmNlLnN0YXJ0LmxpbmV9LGk9dGhpcy5zb3VyY2UuZW5kP3tjb2x1bW46dGhpcy5zb3VyY2UuZW5kLmNvbHVtbisxLGxpbmU6dGhpcy5zb3VyY2UuZW5kLmxpbmV9Ontjb2x1bW46dC5jb2x1bW4rMSxsaW5lOnQubGluZX07aWYoZS53b3JkKXtsZXQgcz10aGlzLnNvdXJjZS5pbnB1dC5jc3Muc2xpY2UoV3IodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxXcih0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2UuZW5kKSkuaW5kZXhPZihlLndvcmQpO3MhPT0tMSYmKHQ9dGhpcy5wb3NpdGlvbkluc2lkZShzKSxpPXRoaXMucG9zaXRpb25JbnNpZGUocytlLndvcmQubGVuZ3RoKSl9ZWxzZSBlLnN0YXJ0P3Q9e2NvbHVtbjplLnN0YXJ0LmNvbHVtbixsaW5lOmUuc3RhcnQubGluZX06ZS5pbmRleCYmKHQ9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KSksZS5lbmQ/aT17Y29sdW1uOmUuZW5kLmNvbHVtbixsaW5lOmUuZW5kLmxpbmV9OnR5cGVvZiBlLmVuZEluZGV4PT0ibnVtYmVyIj9pPXRoaXMucG9zaXRpb25JbnNpZGUoZS5lbmRJbmRleCk6ZS5pbmRleCYmKGk9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KzEpKTtyZXR1cm4oaS5saW5lPHQubGluZXx8aS5saW5lPT09dC5saW5lJiZpLmNvbHVtbjw9dC5jb2x1bW4pJiYoaT17Y29sdW1uOnQuY29sdW1uKzEsbGluZTp0LmxpbmV9KSx7ZW5kOmksc3RhcnQ6dH19cmF3KGUsdCl7cmV0dXJuIG5ldyBTeCgpLnJhdyh0aGlzLGUsdCl9cmVtb3ZlKCl7cmV0dXJuIHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLnBhcmVudD12b2lkIDAsdGhpc31yZXBsYWNlV2l0aCguLi5lKXtpZih0aGlzLnBhcmVudCl7bGV0IHQ9dGhpcyxpPSExO2ZvcihsZXQgbiBvZiBlKW49PT10aGlzP2k9ITA6aT8odGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodCxuKSx0PW4pOnRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0LG4pO2l8fHRoaXMucmVtb3ZlKCl9cmV0dXJuIHRoaXN9cm9vdCgpe2xldCBlPXRoaXM7Zm9yKDtlLnBhcmVudCYmZS5wYXJlbnQudHlwZSE9PSJkb2N1bWVudCI7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9dG9KU09OKGUsdCl7bGV0IGk9e30sbj10PT1udWxsO3Q9dHx8bmV3IE1hcDtsZXQgcz0wO2ZvcihsZXQgYSBpbiB0aGlzKXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMsYSl8fGE9PT0icGFyZW50Inx8YT09PSJwcm94eUNhY2hlIiljb250aW51ZTtsZXQgbz10aGlzW2FdO2lmKEFycmF5LmlzQXJyYXkobykpaVthXT1vLm1hcChsPT50eXBlb2YgbD09Im9iamVjdCImJmwudG9KU09OP2wudG9KU09OKG51bGwsdCk6bCk7ZWxzZSBpZih0eXBlb2Ygbz09Im9iamVjdCImJm8udG9KU09OKWlbYV09by50b0pTT04obnVsbCx0KTtlbHNlIGlmKGE9PT0ic291cmNlIil7bGV0IGw9dC5nZXQoby5pbnB1dCk7bD09bnVsbCYmKGw9cyx0LnNldChvLmlucHV0LHMpLHMrKyksaVthXT17ZW5kOm8uZW5kLGlucHV0SWQ6bCxzdGFydDpvLnN0YXJ0fX1lbHNlIGlbYV09b31yZXR1cm4gbiYmKGkuaW5wdXRzPVsuLi50LmtleXMoKV0ubWFwKGE9PmEudG9KU09OKCkpKSxpfXRvUHJveHkoKXtyZXR1cm4gdGhpcy5wcm94eUNhY2hlfHwodGhpcy5wcm94eUNhY2hlPW5ldyBQcm94eSh0aGlzLHRoaXMuZ2V0UHJveHlQcm9jZXNzb3IoKSkpLHRoaXMucHJveHlDYWNoZX10b1N0cmluZyhlPUF4KXtlLnN0cmluZ2lmeSYmKGU9ZS5zdHJpbmdpZnkpO2xldCB0PSIiO3JldHVybiBlKHRoaXMsaT0+e3QrPWl9KSx0fXdhcm4oZSx0LGkpe2xldCBuPXtub2RlOnRoaXN9O2ZvcihsZXQgcyBpbiBpKW5bc109aVtzXTtyZXR1cm4gZS53YXJuKHQsbil9Z2V0IHByb3h5T2YoKXtyZXR1cm4gdGhpc319O21jLmV4cG9ydHM9dW47dW4uZGVmYXVsdD11bn0pO3ZhciBRcj14KChDMyxnYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBfeD1HcigpLGZuPWNsYXNzIGV4dGVuZHMgX3h7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy50eXBlPSJjb21tZW50In19O2djLmV4cG9ydHM9Zm47Zm4uZGVmYXVsdD1mbn0pO3ZhciBZcj14KChfMyx5Yyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBFeD1HcigpLGNuPWNsYXNzIGV4dGVuZHMgRXh7Y29uc3RydWN0b3IoZSl7ZSYmdHlwZW9mIGUudmFsdWUhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgZS52YWx1ZSE9InN0cmluZyImJihlPXsuLi5lLHZhbHVlOlN0cmluZyhlLnZhbHVlKX0pO3N1cGVyKGUpO3RoaXMudHlwZT0iZGVjbCJ9Z2V0IHZhcmlhYmxlKCl7cmV0dXJuIHRoaXMucHJvcC5zdGFydHNXaXRoKCItLSIpfHx0aGlzLnByb3BbMF09PT0iJCJ9fTt5Yy5leHBvcnRzPWNuO2NuLmRlZmF1bHQ9Y259KTt2YXIgRXQ9eCgoRTMsX2MpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYmM9UXIoKSx3Yz1ZcigpLE94PUdyKCkse2lzQ2xlYW46dmMsbXk6eGN9PWxuKCksaGEsa2MsU2MsbWE7ZnVuY3Rpb24gQWMocil7cmV0dXJuIHIubWFwKGU9PihlLm5vZGVzJiYoZS5ub2Rlcz1BYyhlLm5vZGVzKSksZGVsZXRlIGUuc291cmNlLGUpKX1mdW5jdGlvbiBDYyhyKXtpZihyW3ZjXT0hMSxyLnByb3h5T2Yubm9kZXMpZm9yKGxldCBlIG9mIHIucHJveHlPZi5ub2RlcylDYyhlKX12YXIgRmU9Y2xhc3MgZXh0ZW5kcyBPeHthcHBlbmQoLi4uZSl7Zm9yKGxldCB0IG9mIGUpe2xldCBpPXRoaXMubm9ybWFsaXplKHQsdGhpcy5sYXN0KTtmb3IobGV0IG4gb2YgaSl0aGlzLnByb3h5T2Yubm9kZXMucHVzaChuKX1yZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfWNsZWFuUmF3cyhlKXtpZihzdXBlci5jbGVhblJhd3MoZSksdGhpcy5ub2Rlcylmb3IobGV0IHQgb2YgdGhpcy5ub2Rlcyl0LmNsZWFuUmF3cyhlKX1lYWNoKGUpe2lmKCF0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuO2xldCB0PXRoaXMuZ2V0SXRlcmF0b3IoKSxpLG47Zm9yKDt0aGlzLmluZGV4ZXNbdF08dGhpcy5wcm94eU9mLm5vZGVzLmxlbmd0aCYmKGk9dGhpcy5pbmRleGVzW3RdLG49ZSh0aGlzLnByb3h5T2Yubm9kZXNbaV0saSksbiE9PSExKTspdGhpcy5pbmRleGVzW3RdKz0xO3JldHVybiBkZWxldGUgdGhpcy5pbmRleGVzW3RdLG59ZXZlcnkoZSl7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkoZSl9Z2V0SXRlcmF0b3IoKXt0aGlzLmxhc3RFYWNofHwodGhpcy5sYXN0RWFjaD0wKSx0aGlzLmluZGV4ZXN8fCh0aGlzLmluZGV4ZXM9e30pLHRoaXMubGFzdEVhY2grPTE7bGV0IGU9dGhpcy5sYXN0RWFjaDtyZXR1cm4gdGhpcy5pbmRleGVzW2VdPTAsZX1nZXRQcm94eVByb2Nlc3Nvcigpe3JldHVybntnZXQoZSx0KXtyZXR1cm4gdD09PSJwcm94eU9mIj9lOmVbdF0/dD09PSJlYWNoInx8dHlwZW9mIHQ9PSJzdHJpbmciJiZ0LnN0YXJ0c1dpdGgoIndhbGsiKT8oLi4uaSk9PmVbdF0oLi4uaS5tYXAobj0+dHlwZW9mIG49PSJmdW5jdGlvbiI/KHMsYSk9Pm4ocy50b1Byb3h5KCksYSk6bikpOnQ9PT0iZXZlcnkifHx0PT09InNvbWUiP2k9PmVbdF0oKG4sLi4ucyk9Pmkobi50b1Byb3h5KCksLi4ucykpOnQ9PT0icm9vdCI/KCk9PmUucm9vdCgpLnRvUHJveHkoKTp0PT09Im5vZGVzIj9lLm5vZGVzLm1hcChpPT5pLnRvUHJveHkoKSk6dD09PSJmaXJzdCJ8fHQ9PT0ibGFzdCI/ZVt0XS50b1Byb3h5KCk6ZVt0XTplW3RdfSxzZXQoZSx0LGkpe3JldHVybiBlW3RdPT09aXx8KGVbdF09aSwodD09PSJuYW1lInx8dD09PSJwYXJhbXMifHx0PT09InNlbGVjdG9yIikmJmUubWFya0RpcnR5KCkpLCEwfX19aW5kZXgoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIj9lOihlLnByb3h5T2YmJihlPWUucHJveHlPZiksdGhpcy5wcm94eU9mLm5vZGVzLmluZGV4T2YoZSkpfWluc2VydEFmdGVyKGUsdCl7bGV0IGk9dGhpcy5pbmRleChlKSxuPXRoaXMubm9ybWFsaXplKHQsdGhpcy5wcm94eU9mLm5vZGVzW2ldKS5yZXZlcnNlKCk7aT10aGlzLmluZGV4KGUpO2ZvcihsZXQgYSBvZiBuKXRoaXMucHJveHlPZi5ub2Rlcy5zcGxpY2UoaSsxLDAsYSk7bGV0IHM7Zm9yKGxldCBhIGluIHRoaXMuaW5kZXhlcylzPXRoaXMuaW5kZXhlc1thXSxpPHMmJih0aGlzLmluZGV4ZXNbYV09cytuLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31pbnNlcnRCZWZvcmUoZSx0KXtsZXQgaT10aGlzLmluZGV4KGUpLG49aT09PTA/InByZXBlbmQiOiExLHM9dGhpcy5ub3JtYWxpemUodCx0aGlzLnByb3h5T2Yubm9kZXNbaV0sbikucmV2ZXJzZSgpO2k9dGhpcy5pbmRleChlKTtmb3IobGV0IG8gb2Ygcyl0aGlzLnByb3h5T2Yubm9kZXMuc3BsaWNlKGksMCxvKTtsZXQgYTtmb3IobGV0IG8gaW4gdGhpcy5pbmRleGVzKWE9dGhpcy5pbmRleGVzW29dLGk8PWEmJih0aGlzLmluZGV4ZXNbb109YStzLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31ub3JtYWxpemUoZSx0KXtpZih0eXBlb2YgZT09InN0cmluZyIpZT1BYyhrYyhlKS5ub2Rlcyk7ZWxzZSBpZih0eXBlb2YgZT09InVuZGVmaW5lZCIpZT1bXTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2U9ZS5zbGljZSgwKTtmb3IobGV0IG4gb2YgZSluLnBhcmVudCYmbi5wYXJlbnQucmVtb3ZlQ2hpbGQobiwiaWdub3JlIil9ZWxzZSBpZihlLnR5cGU9PT0icm9vdCImJnRoaXMudHlwZSE9PSJkb2N1bWVudCIpe2U9ZS5ub2Rlcy5zbGljZSgwKTtmb3IobGV0IG4gb2YgZSluLnBhcmVudCYmbi5wYXJlbnQucmVtb3ZlQ2hpbGQobiwiaWdub3JlIil9ZWxzZSBpZihlLnR5cGUpZT1bZV07ZWxzZSBpZihlLnByb3Ape2lmKHR5cGVvZiBlLnZhbHVlPT0idW5kZWZpbmVkIil0aHJvdyBuZXcgRXJyb3IoIlZhbHVlIGZpZWxkIGlzIG1pc3NlZCBpbiBub2RlIGNyZWF0aW9uIik7dHlwZW9mIGUudmFsdWUhPSJzdHJpbmciJiYoZS52YWx1ZT1TdHJpbmcoZS52YWx1ZSkpLGU9W25ldyB3YyhlKV19ZWxzZSBpZihlLnNlbGVjdG9yfHxlLnNlbGVjdG9ycyllPVtuZXcgbWEoZSldO2Vsc2UgaWYoZS5uYW1lKWU9W25ldyBoYShlKV07ZWxzZSBpZihlLnRleHQpZT1bbmV3IGJjKGUpXTtlbHNlIHRocm93IG5ldyBFcnJvcigiVW5rbm93biBub2RlIHR5cGUgaW4gbm9kZSBjcmVhdGlvbiIpO3JldHVybiBlLm1hcChuPT4oblt4Y118fEZlLnJlYnVpbGQobiksbj1uLnByb3h5T2Ysbi5wYXJlbnQmJm4ucGFyZW50LnJlbW92ZUNoaWxkKG4pLG5bdmNdJiZDYyhuKSxuLnJhd3N8fChuLnJhd3M9e30pLHR5cGVvZiBuLnJhd3MuYmVmb3JlPT0idW5kZWZpbmVkIiYmdCYmdHlwZW9mIHQucmF3cy5iZWZvcmUhPSJ1bmRlZmluZWQiJiYobi5yYXdzLmJlZm9yZT10LnJhd3MuYmVmb3JlLnJlcGxhY2UoL1xTL2csIiIpKSxuLnBhcmVudD10aGlzLnByb3h5T2YsbikpfXByZXBlbmQoLi4uZSl7ZT1lLnJldmVyc2UoKTtmb3IobGV0IHQgb2YgZSl7bGV0IGk9dGhpcy5ub3JtYWxpemUodCx0aGlzLmZpcnN0LCJwcmVwZW5kIikucmV2ZXJzZSgpO2ZvcihsZXQgbiBvZiBpKXRoaXMucHJveHlPZi5ub2Rlcy51bnNoaWZ0KG4pO2ZvcihsZXQgbiBpbiB0aGlzLmluZGV4ZXMpdGhpcy5pbmRleGVzW25dPXRoaXMuaW5kZXhlc1tuXStpLmxlbmd0aH1yZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfXB1c2goZSl7cmV0dXJuIGUucGFyZW50PXRoaXMsdGhpcy5wcm94eU9mLm5vZGVzLnB1c2goZSksdGhpc31yZW1vdmVBbGwoKXtmb3IobGV0IGUgb2YgdGhpcy5wcm94eU9mLm5vZGVzKWUucGFyZW50PXZvaWQgMDtyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzPVtdLHRoaXMubWFya0RpcnR5KCksdGhpc31yZW1vdmVDaGlsZChlKXtlPXRoaXMuaW5kZXgoZSksdGhpcy5wcm94eU9mLm5vZGVzW2VdLnBhcmVudD12b2lkIDAsdGhpcy5wcm94eU9mLm5vZGVzLnNwbGljZShlLDEpO2xldCB0O2ZvcihsZXQgaSBpbiB0aGlzLmluZGV4ZXMpdD10aGlzLmluZGV4ZXNbaV0sdD49ZSYmKHRoaXMuaW5kZXhlc1tpXT10LTEpO3JldHVybiB0aGlzLm1hcmtEaXJ0eSgpLHRoaXN9cmVwbGFjZVZhbHVlcyhlLHQsaSl7cmV0dXJuIGl8fChpPXQsdD17fSksdGhpcy53YWxrRGVjbHMobj0+e3QucHJvcHMmJiF0LnByb3BzLmluY2x1ZGVzKG4ucHJvcCl8fHQuZmFzdCYmIW4udmFsdWUuaW5jbHVkZXModC5mYXN0KXx8KG4udmFsdWU9bi52YWx1ZS5yZXBsYWNlKGUsaSkpfSksdGhpcy5tYXJrRGlydHkoKSx0aGlzfXNvbWUoZSl7cmV0dXJuIHRoaXMubm9kZXMuc29tZShlKX13YWxrKGUpe3JldHVybiB0aGlzLmVhY2goKHQsaSk9PntsZXQgbjt0cnl7bj1lKHQsaSl9Y2F0Y2gocyl7dGhyb3cgdC5hZGRUb0Vycm9yKHMpfXJldHVybiBuIT09ITEmJnQud2FsayYmKG49dC53YWxrKGUpKSxufSl9d2Fsa0F0UnVsZXMoZSx0KXtyZXR1cm4gdD9lIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMud2FsaygoaSxuKT0+e2lmKGkudHlwZT09PSJhdHJ1bGUiJiZlLnRlc3QoaS5uYW1lKSlyZXR1cm4gdChpLG4pfSk6dGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImF0cnVsZSImJmkubmFtZT09PWUpcmV0dXJuIHQoaSxuKX0pOih0PWUsdGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImF0cnVsZSIpcmV0dXJuIHQoaSxuKX0pKX13YWxrQ29tbWVudHMoZSl7cmV0dXJuIHRoaXMud2FsaygodCxpKT0+e2lmKHQudHlwZT09PSJjb21tZW50IilyZXR1cm4gZSh0LGkpfSl9d2Fsa0RlY2xzKGUsdCl7cmV0dXJuIHQ/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0iZGVjbCImJmUudGVzdChpLnByb3ApKXJldHVybiB0KGksbil9KTp0aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0iZGVjbCImJmkucHJvcD09PWUpcmV0dXJuIHQoaSxuKX0pOih0PWUsdGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09ImRlY2wiKXJldHVybiB0KGksbil9KSl9d2Fsa1J1bGVzKGUsdCl7cmV0dXJuIHQ/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0icnVsZSImJmUudGVzdChpLnNlbGVjdG9yKSlyZXR1cm4gdChpLG4pfSk6dGhpcy53YWxrKChpLG4pPT57aWYoaS50eXBlPT09InJ1bGUiJiZpLnNlbGVjdG9yPT09ZSlyZXR1cm4gdChpLG4pfSk6KHQ9ZSx0aGlzLndhbGsoKGksbik9PntpZihpLnR5cGU9PT0icnVsZSIpcmV0dXJuIHQoaSxuKX0pKX1nZXQgZmlyc3QoKXtpZighIXRoaXMucHJveHlPZi5ub2RlcylyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzWzBdfWdldCBsYXN0KCl7aWYoISF0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuIHRoaXMucHJveHlPZi5ub2Rlc1t0aGlzLnByb3h5T2Yubm9kZXMubGVuZ3RoLTFdfX07RmUucmVnaXN0ZXJQYXJzZT1yPT57a2M9cn07RmUucmVnaXN0ZXJSdWxlPXI9PnttYT1yfTtGZS5yZWdpc3RlckF0UnVsZT1yPT57aGE9cn07RmUucmVnaXN0ZXJSb290PXI9PntTYz1yfTtfYy5leHBvcnRzPUZlO0ZlLmRlZmF1bHQ9RmU7RmUucmVidWlsZD1yPT57ci50eXBlPT09ImF0cnVsZSI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsaGEucHJvdG90eXBlKTpyLnR5cGU9PT0icnVsZSI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsbWEucHJvdG90eXBlKTpyLnR5cGU9PT0iZGVjbCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsd2MucHJvdG90eXBlKTpyLnR5cGU9PT0iY29tbWVudCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHIsYmMucHJvdG90eXBlKTpyLnR5cGU9PT0icm9vdCImJk9iamVjdC5zZXRQcm90b3R5cGVPZihyLFNjLnByb3RvdHlwZSksclt4Y109ITAsci5ub2RlcyYmci5ub2Rlcy5mb3JFYWNoKGU9PntGZS5yZWJ1aWxkKGUpfSl9fSk7dmFyIHBuPXgoKE8zLE9jKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIEVjPUV0KCksS3I9Y2xhc3MgZXh0ZW5kcyBFY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnR5cGU9ImF0cnVsZSJ9YXBwZW5kKC4uLmUpe3JldHVybiB0aGlzLnByb3h5T2Yubm9kZXN8fCh0aGlzLm5vZGVzPVtdKSxzdXBlci5hcHBlbmQoLi4uZSl9cHJlcGVuZCguLi5lKXtyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSksc3VwZXIucHJlcGVuZCguLi5lKX19O09jLmV4cG9ydHM9S3I7S3IuZGVmYXVsdD1LcjtFYy5yZWdpc3RlckF0UnVsZShLcil9KTt2YXIgZG49eCgoVDMsUGMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgVHg9RXQoKSxUYyxSYyxlcj1jbGFzcyBleHRlbmRzIFR4e2NvbnN0cnVjdG9yKGUpe3N1cGVyKHt0eXBlOiJkb2N1bWVudCIsLi4uZX0pO3RoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX10b1Jlc3VsdChlPXt9KXtyZXR1cm4gbmV3IFRjKG5ldyBSYyx0aGlzLGUpLnN0cmluZ2lmeSgpfX07ZXIucmVnaXN0ZXJMYXp5UmVzdWx0PXI9PntUYz1yfTtlci5yZWdpc3RlclByb2Nlc3Nvcj1yPT57UmM9cn07UGMuZXhwb3J0cz1lcjtlci5kZWZhdWx0PWVyfSk7dmFyIERjPXgoKFIzLEljKT0+e3UoKTt2YXIgUng9InVzZWFuZG9tLTI2VDE5ODM0MFBYNzVweEpBQ0tWRVJZTUlOREJVU0hXT0xGX0dRWmJmZ2hqa2xxdnd5enJpY3QiLFB4PShyLGU9MjEpPT4odD1lKT0+e2xldCBpPSIiLG49dDtmb3IoO24tLTspaSs9cltNYXRoLnJhbmRvbSgpKnIubGVuZ3RofDBdO3JldHVybiBpfSxJeD0ocj0yMSk9PntsZXQgZT0iIix0PXI7Zm9yKDt0LS07KWUrPVJ4W01hdGgucmFuZG9tKCkqNjR8MF07cmV0dXJuIGV9O0ljLmV4cG9ydHM9e25hbm9pZDpJeCxjdXN0b21BbHBoYWJldDpQeH19KTt2YXIgcWM9eCgoKT0+e3UoKX0pO3ZhciBnYT14KChEMywkYyk9Pnt1KCk7JGMuZXhwb3J0cz17fX0pO3ZhciBtbj14KChxMyxCYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhcntuYW5vaWQ6RHh9PURjKCkse2lzQWJzb2x1dGU6eWEscmVzb2x2ZTpiYX09KGV0KCksVXIpLHtTb3VyY2VNYXBDb25zdW1lcjpxeCxTb3VyY2VNYXBHZW5lcmF0b3I6JHh9PXFjKCkse2ZpbGVVUkxUb1BhdGg6TGMscGF0aFRvRmlsZVVSTDpobn09KGxhKCksbGMpLE1jPWFuKCksTHg9Z2EoKSx3YT11YSgpLHZhPVN5bWJvbCgiZnJvbU9mZnNldENhY2hlIiksTXg9Qm9vbGVhbihxeCYmJHgpLE5jPUJvb2xlYW4oYmEmJnlhKSxYcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQ9e30pe2lmKGU9PT1udWxsfHx0eXBlb2YgZT09InVuZGVmaW5lZCJ8fHR5cGVvZiBlPT0ib2JqZWN0IiYmIWUudG9TdHJpbmcpdGhyb3cgbmV3IEVycm9yKGBQb3N0Q1NTIHJlY2VpdmVkICR7ZX0gaW5zdGVhZCBvZiBDU1Mgc3RyaW5nYCk7aWYodGhpcy5jc3M9ZS50b1N0cmluZygpLHRoaXMuY3NzWzBdPT09Ilx1RkVGRiJ8fHRoaXMuY3NzWzBdPT09Ilx1RkZGRSI/KHRoaXMuaGFzQk9NPSEwLHRoaXMuY3NzPXRoaXMuY3NzLnNsaWNlKDEpKTp0aGlzLmhhc0JPTT0hMSx0LmZyb20mJighTmN8fC9eXHcrOlwvXC8vLnRlc3QodC5mcm9tKXx8eWEodC5mcm9tKT90aGlzLmZpbGU9dC5mcm9tOnRoaXMuZmlsZT1iYSh0LmZyb20pKSxOYyYmTXgpe2xldCBpPW5ldyBMeCh0aGlzLmNzcyx0KTtpZihpLnRleHQpe3RoaXMubWFwPWk7bGV0IG49aS5jb25zdW1lcigpLmZpbGU7IXRoaXMuZmlsZSYmbiYmKHRoaXMuZmlsZT10aGlzLm1hcFJlc29sdmUobikpfX10aGlzLmZpbGV8fCh0aGlzLmlkPSI8aW5wdXQgY3NzICIrRHgoNikrIj4iKSx0aGlzLm1hcCYmKHRoaXMubWFwLmZpbGU9dGhpcy5mcm9tKX1lcnJvcihlLHQsaSxuPXt9KXtsZXQgcyxhLG87aWYodCYmdHlwZW9mIHQ9PSJvYmplY3QiKXtsZXQgYz10LGY9aTtpZih0eXBlb2YgYy5vZmZzZXQ9PSJudW1iZXIiKXtsZXQgZD10aGlzLmZyb21PZmZzZXQoYy5vZmZzZXQpO3Q9ZC5saW5lLGk9ZC5jb2x9ZWxzZSB0PWMubGluZSxpPWMuY29sdW1uO2lmKHR5cGVvZiBmLm9mZnNldD09Im51bWJlciIpe2xldCBkPXRoaXMuZnJvbU9mZnNldChmLm9mZnNldCk7YT1kLmxpbmUscz1kLmNvbH1lbHNlIGE9Zi5saW5lLHM9Zi5jb2x1bW59ZWxzZSBpZighaSl7bGV0IGM9dGhpcy5mcm9tT2Zmc2V0KHQpO3Q9Yy5saW5lLGk9Yy5jb2x9bGV0IGw9dGhpcy5vcmlnaW4odCxpLGEscyk7cmV0dXJuIGw/bz1uZXcgTWMoZSxsLmVuZExpbmU9PT12b2lkIDA/bC5saW5lOntjb2x1bW46bC5jb2x1bW4sbGluZTpsLmxpbmV9LGwuZW5kTGluZT09PXZvaWQgMD9sLmNvbHVtbjp7Y29sdW1uOmwuZW5kQ29sdW1uLGxpbmU6bC5lbmRMaW5lfSxsLnNvdXJjZSxsLmZpbGUsbi5wbHVnaW4pOm89bmV3IE1jKGUsYT09PXZvaWQgMD90Ontjb2x1bW46aSxsaW5lOnR9LGE9PT12b2lkIDA/aTp7Y29sdW1uOnMsbGluZTphfSx0aGlzLmNzcyx0aGlzLmZpbGUsbi5wbHVnaW4pLG8uaW5wdXQ9e2NvbHVtbjppLGVuZENvbHVtbjpzLGVuZExpbmU6YSxsaW5lOnQsc291cmNlOnRoaXMuY3NzfSx0aGlzLmZpbGUmJihobiYmKG8uaW5wdXQudXJsPWhuKHRoaXMuZmlsZSkudG9TdHJpbmcoKSksby5pbnB1dC5maWxlPXRoaXMuZmlsZSksb31mcm9tT2Zmc2V0KGUpe2xldCB0LGk7aWYodGhpc1t2YV0paT10aGlzW3ZhXTtlbHNle2xldCBzPXRoaXMuY3NzLnNwbGl0KGAKYCk7aT1uZXcgQXJyYXkocy5sZW5ndGgpO2xldCBhPTA7Zm9yKGxldCBvPTAsbD1zLmxlbmd0aDtvPGw7bysrKWlbb109YSxhKz1zW29dLmxlbmd0aCsxO3RoaXNbdmFdPWl9dD1pW2kubGVuZ3RoLTFdO2xldCBuPTA7aWYoZT49dCluPWkubGVuZ3RoLTE7ZWxzZXtsZXQgcz1pLmxlbmd0aC0yLGE7Zm9yKDtuPHM7KWlmKGE9bisocy1uPj4xKSxlPGlbYV0pcz1hLTE7ZWxzZSBpZihlPj1pW2ErMV0pbj1hKzE7ZWxzZXtuPWE7YnJlYWt9fXJldHVybntjb2w6ZS1pW25dKzEsbGluZTpuKzF9fW1hcFJlc29sdmUoZSl7cmV0dXJuL15cdys6XC9cLy8udGVzdChlKT9lOmJhKHRoaXMubWFwLmNvbnN1bWVyKCkuc291cmNlUm9vdHx8dGhpcy5tYXAucm9vdHx8Ii4iLGUpfW9yaWdpbihlLHQsaSxuKXtpZighdGhpcy5tYXApcmV0dXJuITE7bGV0IHM9dGhpcy5tYXAuY29uc3VtZXIoKSxhPXMub3JpZ2luYWxQb3NpdGlvbkZvcih7Y29sdW1uOnQsbGluZTplfSk7aWYoIWEuc291cmNlKXJldHVybiExO2xldCBvO3R5cGVvZiBpPT0ibnVtYmVyIiYmKG89cy5vcmlnaW5hbFBvc2l0aW9uRm9yKHtjb2x1bW46bixsaW5lOml9KSk7bGV0IGw7eWEoYS5zb3VyY2UpP2w9aG4oYS5zb3VyY2UpOmw9bmV3IFVSTChhLnNvdXJjZSx0aGlzLm1hcC5jb25zdW1lcigpLnNvdXJjZVJvb3R8fGhuKHRoaXMubWFwLm1hcEZpbGUpKTtsZXQgYz17Y29sdW1uOmEuY29sdW1uLGVuZENvbHVtbjpvJiZvLmNvbHVtbixlbmRMaW5lOm8mJm8ubGluZSxsaW5lOmEubGluZSx1cmw6bC50b1N0cmluZygpfTtpZihsLnByb3RvY29sPT09ImZpbGU6IilpZihMYyljLmZpbGU9TGMobCk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoImZpbGU6IHByb3RvY29sIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhpcyBQb3N0Q1NTIGJ1aWxkIik7bGV0IGY9cy5zb3VyY2VDb250ZW50Rm9yKGEuc291cmNlKTtyZXR1cm4gZiYmKGMuc291cmNlPWYpLGN9dG9KU09OKCl7bGV0IGU9e307Zm9yKGxldCB0IG9mWyJoYXNCT00iLCJjc3MiLCJmaWxlIiwiaWQiXSl0aGlzW3RdIT1udWxsJiYoZVt0XT10aGlzW3RdKTtyZXR1cm4gdGhpcy5tYXAmJihlLm1hcD17Li4udGhpcy5tYXB9LGUubWFwLmNvbnN1bWVyQ2FjaGUmJihlLm1hcC5jb25zdW1lckNhY2hlPXZvaWQgMCkpLGV9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy5maWxlfHx0aGlzLmlkfX07QmMuZXhwb3J0cz1YcjtYci5kZWZhdWx0PVhyO3dhJiZ3YS5yZWdpc3RlcklucHV0JiZ3YS5yZWdpc3RlcklucHV0KFhyKX0pO3ZhciB0cj14KCgkMyxVYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBGYz1FdCgpLGpjLHpjLFV0PWNsYXNzIGV4dGVuZHMgRmN7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy50eXBlPSJyb290Iix0aGlzLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSl9bm9ybWFsaXplKGUsdCxpKXtsZXQgbj1zdXBlci5ub3JtYWxpemUoZSk7aWYodCl7aWYoaT09PSJwcmVwZW5kIil0aGlzLm5vZGVzLmxlbmd0aD4xP3QucmF3cy5iZWZvcmU9dGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZTpkZWxldGUgdC5yYXdzLmJlZm9yZTtlbHNlIGlmKHRoaXMuZmlyc3QhPT10KWZvcihsZXQgcyBvZiBuKXMucmF3cy5iZWZvcmU9dC5yYXdzLmJlZm9yZX1yZXR1cm4gbn1yZW1vdmVDaGlsZChlLHQpe2xldCBpPXRoaXMuaW5kZXgoZSk7cmV0dXJuIXQmJmk9PT0wJiZ0aGlzLm5vZGVzLmxlbmd0aD4xJiYodGhpcy5ub2Rlc1sxXS5yYXdzLmJlZm9yZT10aGlzLm5vZGVzW2ldLnJhd3MuYmVmb3JlKSxzdXBlci5yZW1vdmVDaGlsZChlKX10b1Jlc3VsdChlPXt9KXtyZXR1cm4gbmV3IGpjKG5ldyB6Yyx0aGlzLGUpLnN0cmluZ2lmeSgpfX07VXQucmVnaXN0ZXJMYXp5UmVzdWx0PXI9PntqYz1yfTtVdC5yZWdpc3RlclByb2Nlc3Nvcj1yPT57emM9cn07VWMuZXhwb3J0cz1VdDtVdC5kZWZhdWx0PVV0O0ZjLnJlZ2lzdGVyUm9vdChVdCl9KTt2YXIgeGE9eCgoTDMsVmMpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgWnI9e2NvbW1hKHIpe3JldHVybiBaci5zcGxpdChyLFsiLCJdLCEwKX0sc3BhY2Uocil7bGV0IGU9WyIgIixgCmAsIgkiXTtyZXR1cm4gWnIuc3BsaXQocixlKX0sc3BsaXQocixlLHQpe2xldCBpPVtdLG49IiIscz0hMSxhPTAsbz0hMSxsPSIiLGM9ITE7Zm9yKGxldCBmIG9mIHIpYz9jPSExOmY9PT0iXFwiP2M9ITA6bz9mPT09bCYmKG89ITEpOmY9PT0nIid8fGY9PT0iJyI/KG89ITAsbD1mKTpmPT09IigiP2ErPTE6Zj09PSIpIj9hPjAmJihhLT0xKTphPT09MCYmZS5pbmNsdWRlcyhmKSYmKHM9ITApLHM/KG4hPT0iIiYmaS5wdXNoKG4udHJpbSgpKSxuPSIiLHM9ITEpOm4rPWY7cmV0dXJuKHR8fG4hPT0iIikmJmkucHVzaChuLnRyaW0oKSksaX19O1ZjLmV4cG9ydHM9WnI7WnIuZGVmYXVsdD1acn0pO3ZhciBnbj14KChNMyxXYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBIYz1FdCgpLE54PXhhKCksSnI9Y2xhc3MgZXh0ZW5kcyBIY3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnR5cGU9InJ1bGUiLHRoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX1nZXQgc2VsZWN0b3JzKCl7cmV0dXJuIE54LmNvbW1hKHRoaXMuc2VsZWN0b3IpfXNldCBzZWxlY3RvcnMoZSl7bGV0IHQ9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yLm1hdGNoKC8sXHMqLyk6bnVsbCxpPXQ/dFswXToiLCIrdGhpcy5yYXcoImJldHdlZW4iLCJiZWZvcmVPcGVuIik7dGhpcy5zZWxlY3Rvcj1lLmpvaW4oaSl9fTtXYy5leHBvcnRzPUpyO0pyLmRlZmF1bHQ9SnI7SGMucmVnaXN0ZXJSdWxlKEpyKX0pO3ZhciBRYz14KChOMyxHYyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBCeD1wbigpLEZ4PVFyKCksang9WXIoKSx6eD1tbigpLFV4PWdhKCksVng9dHIoKSxIeD1nbigpO2Z1bmN0aW9uIGVpKHIsZSl7aWYoQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gci5tYXAobj0+ZWkobikpO2xldHtpbnB1dHM6dCwuLi5pfT1yO2lmKHQpe2U9W107Zm9yKGxldCBuIG9mIHQpe2xldCBzPXsuLi5uLF9fcHJvdG9fXzp6eC5wcm90b3R5cGV9O3MubWFwJiYocy5tYXA9ey4uLnMubWFwLF9fcHJvdG9fXzpVeC5wcm90b3R5cGV9KSxlLnB1c2gocyl9fWlmKGkubm9kZXMmJihpLm5vZGVzPXIubm9kZXMubWFwKG49PmVpKG4sZSkpKSxpLnNvdXJjZSl7bGV0e2lucHV0SWQ6biwuLi5zfT1pLnNvdXJjZTtpLnNvdXJjZT1zLG4hPW51bGwmJihpLnNvdXJjZS5pbnB1dD1lW25dKX1pZihpLnR5cGU9PT0icm9vdCIpcmV0dXJuIG5ldyBWeChpKTtpZihpLnR5cGU9PT0iZGVjbCIpcmV0dXJuIG5ldyBqeChpKTtpZihpLnR5cGU9PT0icnVsZSIpcmV0dXJuIG5ldyBIeChpKTtpZihpLnR5cGU9PT0iY29tbWVudCIpcmV0dXJuIG5ldyBGeChpKTtpZihpLnR5cGU9PT0iYXRydWxlIilyZXR1cm4gbmV3IEJ4KGkpO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBub2RlIHR5cGU6ICIrci50eXBlKX1HYy5leHBvcnRzPWVpO2VpLmRlZmF1bHQ9ZWl9KTt2YXIga2E9eCgoQjMsWWMpPT57dSgpO1ljLmV4cG9ydHM9ZnVuY3Rpb24ocixlKXtyZXR1cm57Z2VuZXJhdGU6KCk9PntsZXQgdD0iIjtyZXR1cm4gcihlLGk9Pnt0Kz1pfSksW3RdfX19fSk7dmFyIGVwPXgoKEYzLEpjKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIFNhPSInIi5jaGFyQ29kZUF0KDApLEtjPSciJy5jaGFyQ29kZUF0KDApLHluPSJcXCIuY2hhckNvZGVBdCgwKSxYYz0iLyIuY2hhckNvZGVBdCgwKSxibj1gCmAuY2hhckNvZGVBdCgwKSx0aT0iICIuY2hhckNvZGVBdCgwKSx3bj0iXGYiLmNoYXJDb2RlQXQoMCksdm49IgkiLmNoYXJDb2RlQXQoMCkseG49IlxyIi5jaGFyQ29kZUF0KDApLFd4PSJbIi5jaGFyQ29kZUF0KDApLEd4PSJdIi5jaGFyQ29kZUF0KDApLFF4PSIoIi5jaGFyQ29kZUF0KDApLFl4PSIpIi5jaGFyQ29kZUF0KDApLEt4PSJ7Ii5jaGFyQ29kZUF0KDApLFh4PSJ9Ii5jaGFyQ29kZUF0KDApLFp4PSI7Ii5jaGFyQ29kZUF0KDApLEp4PSIqIi5jaGFyQ29kZUF0KDApLGUxPSI6Ii5jaGFyQ29kZUF0KDApLHQxPSJAIi5jaGFyQ29kZUF0KDApLGtuPS9bXHRcblxmXHIgIiMnKCkvO1tcXFxde31dL2csU249L1tcdFxuXGZcciAhIiMnKCk6O0BbXFxcXXt9XXxcLyg/PVwqKS9nLHIxPS8uW1xyXG4iJygvXFxdLyxaYz0vW1xkYS1mXS9pO0pjLmV4cG9ydHM9ZnVuY3Rpb24oZSx0PXt9KXtsZXQgaT1lLmNzcy52YWx1ZU9mKCksbj10Lmlnbm9yZUVycm9ycyxzLGEsbyxsLGMsZixkLHAsaCxiLHY9aS5sZW5ndGgseT0wLHc9W10saz1bXTtmdW5jdGlvbiBTKCl7cmV0dXJuIHl9ZnVuY3Rpb24gRShSKXt0aHJvdyBlLmVycm9yKCJVbmNsb3NlZCAiK1IseSl9ZnVuY3Rpb24gVCgpe3JldHVybiBrLmxlbmd0aD09PTAmJnk+PXZ9ZnVuY3Rpb24gQihSKXtpZihrLmxlbmd0aClyZXR1cm4gay5wb3AoKTtpZih5Pj12KXJldHVybjtsZXQgRj1SP1IuaWdub3JlVW5jbG9zZWQ6ITE7c3dpdGNoKHM9aS5jaGFyQ29kZUF0KHkpLHMpe2Nhc2UgYm46Y2FzZSB0aTpjYXNlIHZuOmNhc2UgeG46Y2FzZSB3bjp7bD15O2RvIGwrPTEscz1pLmNoYXJDb2RlQXQobCk7d2hpbGUocz09PXRpfHxzPT09Ym58fHM9PT12bnx8cz09PXhufHxzPT09d24pO2Y9WyJzcGFjZSIsaS5zbGljZSh5LGwpXSx5PWwtMTticmVha31jYXNlIFd4OmNhc2UgR3g6Y2FzZSBLeDpjYXNlIFh4OmNhc2UgZTE6Y2FzZSBaeDpjYXNlIFl4OntsZXQgWT1TdHJpbmcuZnJvbUNoYXJDb2RlKHMpO2Y9W1ksWSx5XTticmVha31jYXNlIFF4OntpZihiPXcubGVuZ3RoP3cucG9wKClbMV06IiIsaD1pLmNoYXJDb2RlQXQoeSsxKSxiPT09InVybCImJmghPT1TYSYmaCE9PUtjJiZoIT09dGkmJmghPT1ibiYmaCE9PXZuJiZoIT09d24mJmghPT14bil7bD15O2Rve2lmKGQ9ITEsbD1pLmluZGV4T2YoIikiLGwrMSksbD09PS0xKWlmKG58fEYpe2w9eTticmVha31lbHNlIEUoImJyYWNrZXQiKTtmb3IocD1sO2kuY2hhckNvZGVBdChwLTEpPT09eW47KXAtPTEsZD0hZH13aGlsZShkKTtmPVsiYnJhY2tldHMiLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sfWVsc2UgbD1pLmluZGV4T2YoIikiLHkrMSksYT1pLnNsaWNlKHksbCsxKSxsPT09LTF8fHIxLnRlc3QoYSk/Zj1bIigiLCIoIix5XTooZj1bImJyYWNrZXRzIixhLHksbF0seT1sKTticmVha31jYXNlIFNhOmNhc2UgS2M6e2M9cz09PVNhPyInIjonIicsbD15O2Rve2lmKGQ9ITEsbD1pLmluZGV4T2YoYyxsKzEpLGw9PT0tMSlpZihufHxGKXtsPXkrMTticmVha31lbHNlIEUoInN0cmluZyIpO2ZvcihwPWw7aS5jaGFyQ29kZUF0KHAtMSk9PT15bjspcC09MSxkPSFkfXdoaWxlKGQpO2Y9WyJzdHJpbmciLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sO2JyZWFrfWNhc2UgdDE6e2tuLmxhc3RJbmRleD15KzEsa24udGVzdChpKSxrbi5sYXN0SW5kZXg9PT0wP2w9aS5sZW5ndGgtMTpsPWtuLmxhc3RJbmRleC0yLGY9WyJhdC13b3JkIixpLnNsaWNlKHksbCsxKSx5LGxdLHk9bDticmVha31jYXNlIHluOntmb3IobD15LG89ITA7aS5jaGFyQ29kZUF0KGwrMSk9PT15bjspbCs9MSxvPSFvO2lmKHM9aS5jaGFyQ29kZUF0KGwrMSksbyYmcyE9PVhjJiZzIT09dGkmJnMhPT1ibiYmcyE9PXZuJiZzIT09eG4mJnMhPT13biYmKGwrPTEsWmMudGVzdChpLmNoYXJBdChsKSkpKXtmb3IoO1pjLnRlc3QoaS5jaGFyQXQobCsxKSk7KWwrPTE7aS5jaGFyQ29kZUF0KGwrMSk9PT10aSYmKGwrPTEpfWY9WyJ3b3JkIixpLnNsaWNlKHksbCsxKSx5LGxdLHk9bDticmVha31kZWZhdWx0OntzPT09WGMmJmkuY2hhckNvZGVBdCh5KzEpPT09Sng/KGw9aS5pbmRleE9mKCIqLyIseSsyKSsxLGw9PT0wJiYobnx8Rj9sPWkubGVuZ3RoOkUoImNvbW1lbnQiKSksZj1bImNvbW1lbnQiLGkuc2xpY2UoeSxsKzEpLHksbF0seT1sKTooU24ubGFzdEluZGV4PXkrMSxTbi50ZXN0KGkpLFNuLmxhc3RJbmRleD09PTA/bD1pLmxlbmd0aC0xOmw9U24ubGFzdEluZGV4LTIsZj1bIndvcmQiLGkuc2xpY2UoeSxsKzEpLHksbF0sdy5wdXNoKGYpLHk9bCk7YnJlYWt9fXJldHVybiB5KyssZn1mdW5jdGlvbiBOKFIpe2sucHVzaChSKX1yZXR1cm57YmFjazpOLGVuZE9mRmlsZTpULG5leHRUb2tlbjpCLHBvc2l0aW9uOlN9fX0pO3ZhciBzcD14KChqMyxucCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBpMT1wbigpLG4xPVFyKCksczE9WXIoKSxhMT10cigpLHRwPWduKCksbzE9ZXAoKSxycD17ZW1wdHk6ITAsc3BhY2U6ITB9O2Z1bmN0aW9uIGwxKHIpe2ZvcihsZXQgZT1yLmxlbmd0aC0xO2U+PTA7ZS0tKXtsZXQgdD1yW2VdLGk9dFszXXx8dFsyXTtpZihpKXJldHVybiBpfX12YXIgaXA9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5pbnB1dD1lLHRoaXMucm9vdD1uZXcgYTEsdGhpcy5jdXJyZW50PXRoaXMucm9vdCx0aGlzLnNwYWNlcz0iIix0aGlzLnNlbWljb2xvbj0hMSx0aGlzLmNyZWF0ZVRva2VuaXplcigpLHRoaXMucm9vdC5zb3VyY2U9e2lucHV0OmUsc3RhcnQ6e2NvbHVtbjoxLGxpbmU6MSxvZmZzZXQ6MH19fWF0cnVsZShlKXtsZXQgdD1uZXcgaTE7dC5uYW1lPWVbMV0uc2xpY2UoMSksdC5uYW1lPT09IiImJnRoaXMudW5uYW1lZEF0cnVsZSh0LGUpLHRoaXMuaW5pdCh0LGVbMl0pO2xldCBpLG4scyxhPSExLG89ITEsbD1bXSxjPVtdO2Zvcig7IXRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpOyl7aWYoZT10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKSxpPWVbMF0saT09PSIoInx8aT09PSJbIj9jLnB1c2goaT09PSIoIj8iKSI6Il0iKTppPT09InsiJiZjLmxlbmd0aD4wP2MucHVzaCgifSIpOmk9PT1jW2MubGVuZ3RoLTFdJiZjLnBvcCgpLGMubGVuZ3RoPT09MClpZihpPT09IjsiKXt0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihlWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyssdGhpcy5zZW1pY29sb249ITA7YnJlYWt9ZWxzZSBpZihpPT09InsiKXtvPSEwO2JyZWFrfWVsc2UgaWYoaT09PSJ9Iil7aWYobC5sZW5ndGg+MCl7Zm9yKHM9bC5sZW5ndGgtMSxuPWxbc107biYmblswXT09PSJzcGFjZSI7KW49bFstLXNdO24mJih0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihuWzNdfHxuWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyspfXRoaXMuZW5kKGUpO2JyZWFrfWVsc2UgbC5wdXNoKGUpO2Vsc2UgbC5wdXNoKGUpO2lmKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpKXthPSEwO2JyZWFrfX10LnJhd3MuYmV0d2Vlbj10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChsKSxsLmxlbmd0aD8odC5yYXdzLmFmdGVyTmFtZT10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGwpLHRoaXMucmF3KHQsInBhcmFtcyIsbCksYSYmKGU9bFtsLmxlbmd0aC0xXSx0LnNvdXJjZS5lbmQ9dGhpcy5nZXRQb3NpdGlvbihlWzNdfHxlWzJdKSx0LnNvdXJjZS5lbmQub2Zmc2V0KyssdGhpcy5zcGFjZXM9dC5yYXdzLmJldHdlZW4sdC5yYXdzLmJldHdlZW49IiIpKToodC5yYXdzLmFmdGVyTmFtZT0iIix0LnBhcmFtcz0iIiksbyYmKHQubm9kZXM9W10sdGhpcy5jdXJyZW50PXQpfWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpe2xldCB0PXRoaXMuY29sb24oZSk7aWYodD09PSExKXJldHVybjtsZXQgaT0wLG47Zm9yKGxldCBzPXQtMTtzPj0wJiYobj1lW3NdLCEoblswXSE9PSJzcGFjZSImJihpKz0xLGk9PT0yKSkpO3MtLSk7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiTWlzc2VkIHNlbWljb2xvbiIsblswXT09PSJ3b3JkIj9uWzNdKzE6blsyXSl9Y29sb24oZSl7bGV0IHQ9MCxpLG4scztmb3IobGV0W2Esb11vZiBlLmVudHJpZXMoKSl7aWYobj1vLHM9blswXSxzPT09IigiJiYodCs9MSkscz09PSIpIiYmKHQtPTEpLHQ9PT0wJiZzPT09IjoiKWlmKCFpKXRoaXMuZG91YmxlQ29sb24obik7ZWxzZXtpZihpWzBdPT09IndvcmQiJiZpWzFdPT09InByb2dpZCIpY29udGludWU7cmV0dXJuIGF9aT1ufXJldHVybiExfWNvbW1lbnQoZSl7bGV0IHQ9bmV3IG4xO3RoaXMuaW5pdCh0LGVbMl0pLHQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbM118fGVbMl0pLHQuc291cmNlLmVuZC5vZmZzZXQrKztsZXQgaT1lWzFdLnNsaWNlKDIsLTIpO2lmKC9eXHMqJC8udGVzdChpKSl0LnRleHQ9IiIsdC5yYXdzLmxlZnQ9aSx0LnJhd3MucmlnaHQ9IiI7ZWxzZXtsZXQgbj1pLm1hdGNoKC9eKFxzKikoW15dKlxTKShccyopJC8pO3QudGV4dD1uWzJdLHQucmF3cy5sZWZ0PW5bMV0sdC5yYXdzLnJpZ2h0PW5bM119fWNyZWF0ZVRva2VuaXplcigpe3RoaXMudG9rZW5pemVyPW8xKHRoaXMuaW5wdXQpfWRlY2woZSx0KXtsZXQgaT1uZXcgczE7dGhpcy5pbml0KGksZVswXVsyXSk7bGV0IG49ZVtlLmxlbmd0aC0xXTtmb3IoblswXT09PSI7IiYmKHRoaXMuc2VtaWNvbG9uPSEwLGUucG9wKCkpLGkuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKG5bM118fG5bMl18fGwxKGUpKSxpLnNvdXJjZS5lbmQub2Zmc2V0Kys7ZVswXVswXSE9PSJ3b3JkIjspZS5sZW5ndGg9PT0xJiZ0aGlzLnVua25vd25Xb3JkKGUpLGkucmF3cy5iZWZvcmUrPWUuc2hpZnQoKVsxXTtmb3IoaS5zb3VyY2Uuc3RhcnQ9dGhpcy5nZXRQb3NpdGlvbihlWzBdWzJdKSxpLnByb3A9IiI7ZS5sZW5ndGg7KXtsZXQgYz1lWzBdWzBdO2lmKGM9PT0iOiJ8fGM9PT0ic3BhY2UifHxjPT09ImNvbW1lbnQiKWJyZWFrO2kucHJvcCs9ZS5zaGlmdCgpWzFdfWkucmF3cy5iZXR3ZWVuPSIiO2xldCBzO2Zvcig7ZS5sZW5ndGg7KWlmKHM9ZS5zaGlmdCgpLHNbMF09PT0iOiIpe2kucmF3cy5iZXR3ZWVuKz1zWzFdO2JyZWFrfWVsc2Ugc1swXT09PSJ3b3JkIiYmL1x3Ly50ZXN0KHNbMV0pJiZ0aGlzLnVua25vd25Xb3JkKFtzXSksaS5yYXdzLmJldHdlZW4rPXNbMV07KGkucHJvcFswXT09PSJfInx8aS5wcm9wWzBdPT09IioiKSYmKGkucmF3cy5iZWZvcmUrPWkucHJvcFswXSxpLnByb3A9aS5wcm9wLnNsaWNlKDEpKTtsZXQgYT1bXSxvO2Zvcig7ZS5sZW5ndGgmJihvPWVbMF1bMF0sIShvIT09InNwYWNlIiYmbyE9PSJjb21tZW50IikpOylhLnB1c2goZS5zaGlmdCgpKTt0aGlzLnByZWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpO2ZvcihsZXQgYz1lLmxlbmd0aC0xO2M+PTA7Yy0tKXtpZihzPWVbY10sc1sxXS50b0xvd2VyQ2FzZSgpPT09IiFpbXBvcnRhbnQiKXtpLmltcG9ydGFudD0hMDtsZXQgZj10aGlzLnN0cmluZ0Zyb20oZSxjKTtmPXRoaXMuc3BhY2VzRnJvbUVuZChlKStmLGYhPT0iICFpbXBvcnRhbnQiJiYoaS5yYXdzLmltcG9ydGFudD1mKTticmVha31lbHNlIGlmKHNbMV0udG9Mb3dlckNhc2UoKT09PSJpbXBvcnRhbnQiKXtsZXQgZj1lLnNsaWNlKDApLGQ9IiI7Zm9yKGxldCBwPWM7cD4wO3AtLSl7bGV0IGg9ZltwXVswXTtpZihkLnRyaW0oKS5zdGFydHNXaXRoKCIhIikmJmghPT0ic3BhY2UiKWJyZWFrO2Q9Zi5wb3AoKVsxXStkfWQudHJpbSgpLnN0YXJ0c1dpdGgoIiEiKSYmKGkuaW1wb3J0YW50PSEwLGkucmF3cy5pbXBvcnRhbnQ9ZCxlPWYpfWlmKHNbMF0hPT0ic3BhY2UiJiZzWzBdIT09ImNvbW1lbnQiKWJyZWFrfWUuc29tZShjPT5jWzBdIT09InNwYWNlIiYmY1swXSE9PSJjb21tZW50IikmJihpLnJhd3MuYmV0d2Vlbis9YS5tYXAoYz0+Y1sxXSkuam9pbigiIiksYT1bXSksdGhpcy5yYXcoaSwidmFsdWUiLGEuY29uY2F0KGUpLHQpLGkudmFsdWUuaW5jbHVkZXMoIjoiKSYmIXQmJnRoaXMuY2hlY2tNaXNzZWRTZW1pY29sb24oZSl9ZG91YmxlQ29sb24oZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiRG91YmxlIGNvbG9uIix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXStlWzFdLmxlbmd0aH0pfWVtcHR5UnVsZShlKXtsZXQgdD1uZXcgdHA7dGhpcy5pbml0KHQsZVsyXSksdC5zZWxlY3Rvcj0iIix0LnJhd3MuYmV0d2Vlbj0iIix0aGlzLmN1cnJlbnQ9dH1lbmQoZSl7dGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLnNlbWljb2xvbj0hMSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fCIiKSt0aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIix0aGlzLmN1cnJlbnQucGFyZW50Pyh0aGlzLmN1cnJlbnQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbMl0pLHRoaXMuY3VycmVudC5zb3VyY2UuZW5kLm9mZnNldCsrLHRoaXMuY3VycmVudD10aGlzLmN1cnJlbnQucGFyZW50KTp0aGlzLnVuZXhwZWN0ZWRDbG9zZShlKX1lbmRGaWxlKCl7dGhpcy5jdXJyZW50LnBhcmVudCYmdGhpcy51bmNsb3NlZEJsb2NrKCksdGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fCIiKSt0aGlzLnNwYWNlcyx0aGlzLnJvb3Quc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKHRoaXMudG9rZW5pemVyLnBvc2l0aW9uKCkpfWZyZWVTZW1pY29sb24oZSl7aWYodGhpcy5zcGFjZXMrPWVbMV0sdGhpcy5jdXJyZW50Lm5vZGVzKXtsZXQgdD10aGlzLmN1cnJlbnQubm9kZXNbdGhpcy5jdXJyZW50Lm5vZGVzLmxlbmd0aC0xXTt0JiZ0LnR5cGU9PT0icnVsZSImJiF0LnJhd3Mub3duU2VtaWNvbG9uJiYodC5yYXdzLm93blNlbWljb2xvbj10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIil9fWdldFBvc2l0aW9uKGUpe2xldCB0PXRoaXMuaW5wdXQuZnJvbU9mZnNldChlKTtyZXR1cm57Y29sdW1uOnQuY29sLGxpbmU6dC5saW5lLG9mZnNldDplfX1pbml0KGUsdCl7dGhpcy5jdXJyZW50LnB1c2goZSksZS5zb3VyY2U9e2lucHV0OnRoaXMuaW5wdXQsc3RhcnQ6dGhpcy5nZXRQb3NpdGlvbih0KX0sZS5yYXdzLmJlZm9yZT10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz0iIixlLnR5cGUhPT0iY29tbWVudCImJih0aGlzLnNlbWljb2xvbj0hMSl9b3RoZXIoZSl7bGV0IHQ9ITEsaT1udWxsLG49ITEscz1udWxsLGE9W10sbz1lWzFdLnN0YXJ0c1dpdGgoIi0tIiksbD1bXSxjPWU7Zm9yKDtjOyl7aWYoaT1jWzBdLGwucHVzaChjKSxpPT09IigifHxpPT09IlsiKXN8fChzPWMpLGEucHVzaChpPT09IigiPyIpIjoiXSIpO2Vsc2UgaWYobyYmbiYmaT09PSJ7IilzfHwocz1jKSxhLnB1c2goIn0iKTtlbHNlIGlmKGEubGVuZ3RoPT09MClpZihpPT09IjsiKWlmKG4pe3RoaXMuZGVjbChsLG8pO3JldHVybn1lbHNlIGJyZWFrO2Vsc2UgaWYoaT09PSJ7Iil7dGhpcy5ydWxlKGwpO3JldHVybn1lbHNlIGlmKGk9PT0ifSIpe3RoaXMudG9rZW5pemVyLmJhY2sobC5wb3AoKSksdD0hMDticmVha31lbHNlIGk9PT0iOiImJihuPSEwKTtlbHNlIGk9PT1hW2EubGVuZ3RoLTFdJiYoYS5wb3AoKSxhLmxlbmd0aD09PTAmJihzPW51bGwpKTtjPXRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpfWlmKHRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpJiYodD0hMCksYS5sZW5ndGg+MCYmdGhpcy51bmNsb3NlZEJyYWNrZXQocyksdCYmbil7aWYoIW8pZm9yKDtsLmxlbmd0aCYmKGM9bFtsLmxlbmd0aC0xXVswXSwhKGMhPT0ic3BhY2UiJiZjIT09ImNvbW1lbnQiKSk7KXRoaXMudG9rZW5pemVyLmJhY2sobC5wb3AoKSk7dGhpcy5kZWNsKGwsbyl9ZWxzZSB0aGlzLnVua25vd25Xb3JkKGwpfXBhcnNlKCl7bGV0IGU7Zm9yKDshdGhpcy50b2tlbml6ZXIuZW5kT2ZGaWxlKCk7KXN3aXRjaChlPXRoaXMudG9rZW5pemVyLm5leHRUb2tlbigpLGVbMF0pe2Nhc2Uic3BhY2UiOnRoaXMuc3BhY2VzKz1lWzFdO2JyZWFrO2Nhc2UiOyI6dGhpcy5mcmVlU2VtaWNvbG9uKGUpO2JyZWFrO2Nhc2UifSI6dGhpcy5lbmQoZSk7YnJlYWs7Y2FzZSJjb21tZW50Ijp0aGlzLmNvbW1lbnQoZSk7YnJlYWs7Y2FzZSJhdC13b3JkIjp0aGlzLmF0cnVsZShlKTticmVhaztjYXNlInsiOnRoaXMuZW1wdHlSdWxlKGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5vdGhlcihlKTticmVha310aGlzLmVuZEZpbGUoKX1wcmVjaGVja01pc3NlZFNlbWljb2xvbigpe31yYXcoZSx0LGksbil7bGV0IHMsYSxvPWkubGVuZ3RoLGw9IiIsYz0hMCxmLGQ7Zm9yKGxldCBwPTA7cDxvO3ArPTEpcz1pW3BdLGE9c1swXSxhPT09InNwYWNlIiYmcD09PW8tMSYmIW4/Yz0hMTphPT09ImNvbW1lbnQiPyhkPWlbcC0xXT9pW3AtMV1bMF06ImVtcHR5IixmPWlbcCsxXT9pW3ArMV1bMF06ImVtcHR5IiwhcnBbZF0mJiFycFtmXT9sLnNsaWNlKC0xKT09PSIsIj9jPSExOmwrPXNbMV06Yz0hMSk6bCs9c1sxXTtpZighYyl7bGV0IHA9aS5yZWR1Y2UoKGgsYik9PmgrYlsxXSwiIik7ZS5yYXdzW3RdPXtyYXc6cCx2YWx1ZTpsfX1lW3RdPWx9cnVsZShlKXtlLnBvcCgpO2xldCB0PW5ldyB0cDt0aGlzLmluaXQodCxlWzBdWzJdKSx0LnJhd3MuYmV0d2Vlbj10aGlzLnNwYWNlc0FuZENvbW1lbnRzRnJvbUVuZChlKSx0aGlzLnJhdyh0LCJzZWxlY3RvciIsZSksdGhpcy5jdXJyZW50PXR9c3BhY2VzQW5kQ29tbWVudHNGcm9tRW5kKGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVtlLmxlbmd0aC0xXVswXSwhKHQhPT0ic3BhY2UiJiZ0IT09ImNvbW1lbnQiKSk7KWk9ZS5wb3AoKVsxXStpO3JldHVybiBpfXNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVswXVswXSwhKHQhPT0ic3BhY2UiJiZ0IT09ImNvbW1lbnQiKSk7KWkrPWUuc2hpZnQoKVsxXTtyZXR1cm4gaX1zcGFjZXNGcm9tRW5kKGUpe2xldCB0LGk9IiI7Zm9yKDtlLmxlbmd0aCYmKHQ9ZVtlLmxlbmd0aC0xXVswXSx0PT09InNwYWNlIik7KWk9ZS5wb3AoKVsxXStpO3JldHVybiBpfXN0cmluZ0Zyb20oZSx0KXtsZXQgaT0iIjtmb3IobGV0IG49dDtuPGUubGVuZ3RoO24rKylpKz1lW25dWzFdO3JldHVybiBlLnNwbGljZSh0LGUubGVuZ3RoLXQpLGl9dW5jbG9zZWRCbG9jaygpe2xldCBlPXRoaXMuY3VycmVudC5zb3VyY2Uuc3RhcnQ7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5jbG9zZWQgYmxvY2siLGUubGluZSxlLmNvbHVtbil9dW5jbG9zZWRCcmFja2V0KGUpe3Rocm93IHRoaXMuaW5wdXQuZXJyb3IoIlVuY2xvc2VkIGJyYWNrZXQiLHtvZmZzZXQ6ZVsyXX0se29mZnNldDplWzJdKzF9KX11bmV4cGVjdGVkQ2xvc2UoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5leHBlY3RlZCB9Iix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXSsxfSl9dW5rbm93bldvcmQoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcigiVW5rbm93biB3b3JkIix7b2Zmc2V0OmVbMF1bMl19LHtvZmZzZXQ6ZVswXVsyXStlWzBdWzFdLmxlbmd0aH0pfXVubmFtZWRBdHJ1bGUoZSx0KXt0aHJvdyB0aGlzLmlucHV0LmVycm9yKCJBdC1ydWxlIHdpdGhvdXQgbmFtZSIse29mZnNldDp0WzJdfSx7b2Zmc2V0OnRbMl0rdFsxXS5sZW5ndGh9KX19O25wLmV4cG9ydHM9aXB9KTt2YXIgQ249eCgoejMsYXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgdTE9RXQoKSxmMT1tbigpLGMxPXNwKCk7ZnVuY3Rpb24gQW4ocixlKXtsZXQgdD1uZXcgZjEocixlKSxpPW5ldyBjMSh0KTt0cnl7aS5wYXJzZSgpfWNhdGNoKG4pe3Rocm93IG59cmV0dXJuIGkucm9vdH1hcC5leHBvcnRzPUFuO0FuLmRlZmF1bHQ9QW47dTEucmVnaXN0ZXJQYXJzZShBbil9KTt2YXIgQWE9eCgoVTMsb3ApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgX249Y2xhc3N7Y29uc3RydWN0b3IoZSx0PXt9KXtpZih0aGlzLnR5cGU9Indhcm5pbmciLHRoaXMudGV4dD1lLHQubm9kZSYmdC5ub2RlLnNvdXJjZSl7bGV0IGk9dC5ub2RlLnJhbmdlQnkodCk7dGhpcy5saW5lPWkuc3RhcnQubGluZSx0aGlzLmNvbHVtbj1pLnN0YXJ0LmNvbHVtbix0aGlzLmVuZExpbmU9aS5lbmQubGluZSx0aGlzLmVuZENvbHVtbj1pLmVuZC5jb2x1bW59Zm9yKGxldCBpIGluIHQpdGhpc1tpXT10W2ldfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubm9kZT90aGlzLm5vZGUuZXJyb3IodGhpcy50ZXh0LHtpbmRleDp0aGlzLmluZGV4LHBsdWdpbjp0aGlzLnBsdWdpbix3b3JkOnRoaXMud29yZH0pLm1lc3NhZ2U6dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rIjogIit0aGlzLnRleHQ6dGhpcy50ZXh0fX07b3AuZXhwb3J0cz1fbjtfbi5kZWZhdWx0PV9ufSk7dmFyIE9uPXgoKFYzLGxwKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIHAxPUFhKCksRW49Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucHJvY2Vzc29yPWUsdGhpcy5tZXNzYWdlcz1bXSx0aGlzLnJvb3Q9dCx0aGlzLm9wdHM9aSx0aGlzLmNzcz12b2lkIDAsdGhpcy5tYXA9dm9pZCAwfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzfXdhcm4oZSx0PXt9KXt0LnBsdWdpbnx8dGhpcy5sYXN0UGx1Z2luJiZ0aGlzLmxhc3RQbHVnaW4ucG9zdGNzc1BsdWdpbiYmKHQucGx1Z2luPXRoaXMubGFzdFBsdWdpbi5wb3N0Y3NzUGx1Z2luKTtsZXQgaT1uZXcgcDEoZSx0KTtyZXR1cm4gdGhpcy5tZXNzYWdlcy5wdXNoKGkpLGl9d2FybmluZ3MoKXtyZXR1cm4gdGhpcy5tZXNzYWdlcy5maWx0ZXIoZT0+ZS50eXBlPT09Indhcm5pbmciKX1nZXQgY29udGVudCgpe3JldHVybiB0aGlzLmNzc319O2xwLmV4cG9ydHM9RW47RW4uZGVmYXVsdD1Fbn0pO3ZhciBDYT14KChIMyxmcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciB1cD17fTtmcC5leHBvcnRzPWZ1bmN0aW9uKGUpe3VwW2VdfHwodXBbZV09ITAsdHlwZW9mIGNvbnNvbGUhPSJ1bmRlZmluZWQiJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybihlKSl9fSk7dmFyIE9hPXgoKEczLGhwKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIGQxPUV0KCksaDE9ZG4oKSxtMT1rYSgpLGcxPUNuKCksY3A9T24oKSx5MT10cigpLGIxPVZyKCkse2lzQ2xlYW46dHQsbXk6dzF9PWxuKCksVzM9Q2EoKSx2MT17YXRydWxlOiJBdFJ1bGUiLGNvbW1lbnQ6IkNvbW1lbnQiLGRlY2w6IkRlY2xhcmF0aW9uIixkb2N1bWVudDoiRG9jdW1lbnQiLHJvb3Q6IlJvb3QiLHJ1bGU6IlJ1bGUifSx4MT17QXRSdWxlOiEwLEF0UnVsZUV4aXQ6ITAsQ29tbWVudDohMCxDb21tZW50RXhpdDohMCxEZWNsYXJhdGlvbjohMCxEZWNsYXJhdGlvbkV4aXQ6ITAsRG9jdW1lbnQ6ITAsRG9jdW1lbnRFeGl0OiEwLE9uY2U6ITAsT25jZUV4aXQ6ITAscG9zdGNzc1BsdWdpbjohMCxwcmVwYXJlOiEwLFJvb3Q6ITAsUm9vdEV4aXQ6ITAsUnVsZTohMCxSdWxlRXhpdDohMH0sazE9e09uY2U6ITAscG9zdGNzc1BsdWdpbjohMCxwcmVwYXJlOiEwfSxycj0wO2Z1bmN0aW9uIHJpKHIpe3JldHVybiB0eXBlb2Ygcj09Im9iamVjdCImJnR5cGVvZiByLnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gcHAocil7bGV0IGU9ITEsdD12MVtyLnR5cGVdO3JldHVybiByLnR5cGU9PT0iZGVjbCI/ZT1yLnByb3AudG9Mb3dlckNhc2UoKTpyLnR5cGU9PT0iYXRydWxlIiYmKGU9ci5uYW1lLnRvTG93ZXJDYXNlKCkpLGUmJnIuYXBwZW5kP1t0LHQrIi0iK2UscnIsdCsiRXhpdCIsdCsiRXhpdC0iK2VdOmU/W3QsdCsiLSIrZSx0KyJFeGl0Iix0KyJFeGl0LSIrZV06ci5hcHBlbmQ/W3QscnIsdCsiRXhpdCJdOlt0LHQrIkV4aXQiXX1mdW5jdGlvbiBkcChyKXtsZXQgZTtyZXR1cm4gci50eXBlPT09ImRvY3VtZW50Ij9lPVsiRG9jdW1lbnQiLHJyLCJEb2N1bWVudEV4aXQiXTpyLnR5cGU9PT0icm9vdCI/ZT1bIlJvb3QiLHJyLCJSb290RXhpdCJdOmU9cHAocikse2V2ZW50SW5kZXg6MCxldmVudHM6ZSxpdGVyYXRvcjowLG5vZGU6cix2aXNpdG9ySW5kZXg6MCx2aXNpdG9yczpbXX19ZnVuY3Rpb24gX2Eocil7cmV0dXJuIHJbdHRdPSExLHIubm9kZXMmJnIubm9kZXMuZm9yRWFjaChlPT5fYShlKSkscn12YXIgRWE9e30scHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuc3RyaW5naWZpZWQ9ITEsdGhpcy5wcm9jZXNzZWQ9ITE7bGV0IG47aWYodHlwZW9mIHQ9PSJvYmplY3QiJiZ0IT09bnVsbCYmKHQudHlwZT09PSJyb290Inx8dC50eXBlPT09ImRvY3VtZW50Iikpbj1fYSh0KTtlbHNlIGlmKHQgaW5zdGFuY2VvZiBwdHx8dCBpbnN0YW5jZW9mIGNwKW49X2EodC5yb290KSx0Lm1hcCYmKHR5cGVvZiBpLm1hcD09InVuZGVmaW5lZCImJihpLm1hcD17fSksaS5tYXAuaW5saW5lfHwoaS5tYXAuaW5saW5lPSExKSxpLm1hcC5wcmV2PXQubWFwKTtlbHNle2xldCBzPWcxO2kuc3ludGF4JiYocz1pLnN5bnRheC5wYXJzZSksaS5wYXJzZXImJihzPWkucGFyc2VyKSxzLnBhcnNlJiYocz1zLnBhcnNlKTt0cnl7bj1zKHQsaSl9Y2F0Y2goYSl7dGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5lcnJvcj1hfW4mJiFuW3cxXSYmZDEucmVidWlsZChuKX10aGlzLnJlc3VsdD1uZXcgY3AoZSxuLGkpLHRoaXMuaGVscGVycz17Li4uRWEscG9zdGNzczpFYSxyZXN1bHQ6dGhpcy5yZXN1bHR9LHRoaXMucGx1Z2lucz10aGlzLnByb2Nlc3Nvci5wbHVnaW5zLm1hcChzPT50eXBlb2Ygcz09Im9iamVjdCImJnMucHJlcGFyZT97Li4ucywuLi5zLnByZXBhcmUodGhpcy5yZXN1bHQpfTpzKX1hc3luYygpe3JldHVybiB0aGlzLmVycm9yP1Byb21pc2UucmVqZWN0KHRoaXMuZXJyb3IpOnRoaXMucHJvY2Vzc2VkP1Byb21pc2UucmVzb2x2ZSh0aGlzLnJlc3VsdCk6KHRoaXMucHJvY2Vzc2luZ3x8KHRoaXMucHJvY2Vzc2luZz10aGlzLnJ1bkFzeW5jKCkpLHRoaXMucHJvY2Vzc2luZyl9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS5jYXRjaChlKX1maW5hbGx5KGUpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLGUpfWdldEFzeW5jRXJyb3IoKXt0aHJvdyBuZXcgRXJyb3IoIlVzZSBwcm9jZXNzKGNzcykudGhlbihjYikgdG8gd29yayB3aXRoIGFzeW5jIHBsdWdpbnMiKX1oYW5kbGVFcnJvcihlLHQpe2xldCBpPXRoaXMucmVzdWx0Lmxhc3RQbHVnaW47dHJ5e3QmJnQuYWRkVG9FcnJvcihlKSx0aGlzLmVycm9yPWUsZS5uYW1lPT09IkNzc1N5bnRheEVycm9yIiYmIWUucGx1Z2luPyhlLnBsdWdpbj1pLnBvc3Rjc3NQbHVnaW4sZS5zZXRNZXNzYWdlKCkpOmkucG9zdGNzc1ZlcnNpb259Y2F0Y2gobil7Y29uc29sZSYmY29uc29sZS5lcnJvciYmY29uc29sZS5lcnJvcihuKX1yZXR1cm4gZX1wcmVwYXJlVmlzaXRvcnMoKXt0aGlzLmxpc3RlbmVycz17fTtsZXQgZT0odCxpLG4pPT57dGhpcy5saXN0ZW5lcnNbaV18fCh0aGlzLmxpc3RlbmVyc1tpXT1bXSksdGhpcy5saXN0ZW5lcnNbaV0ucHVzaChbdCxuXSl9O2ZvcihsZXQgdCBvZiB0aGlzLnBsdWdpbnMpaWYodHlwZW9mIHQ9PSJvYmplY3QiKWZvcihsZXQgaSBpbiB0KXtpZigheDFbaV0mJi9eW0EtWl0vLnRlc3QoaSkpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGV2ZW50ICR7aX0gaW4gJHt0LnBvc3Rjc3NQbHVnaW59LiBUcnkgdG8gdXBkYXRlIFBvc3RDU1MgKCR7dGhpcy5wcm9jZXNzb3IudmVyc2lvbn0gbm93KS5gKTtpZighazFbaV0paWYodHlwZW9mIHRbaV09PSJvYmplY3QiKWZvcihsZXQgbiBpbiB0W2ldKW49PT0iKiI/ZSh0LGksdFtpXVtuXSk6ZSh0LGkrIi0iK24udG9Mb3dlckNhc2UoKSx0W2ldW25dKTtlbHNlIHR5cGVvZiB0W2ldPT0iZnVuY3Rpb24iJiZlKHQsaSx0W2ldKX10aGlzLmhhc0xpc3RlbmVyPU9iamVjdC5rZXlzKHRoaXMubGlzdGVuZXJzKS5sZW5ndGg+MH1hc3luYyBydW5Bc3luYygpe3RoaXMucGx1Z2luPTA7Zm9yKGxldCBlPTA7ZTx0aGlzLnBsdWdpbnMubGVuZ3RoO2UrKyl7bGV0IHQ9dGhpcy5wbHVnaW5zW2VdLGk9dGhpcy5ydW5PblJvb3QodCk7aWYocmkoaSkpdHJ5e2F3YWl0IGl9Y2F0Y2gobil7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuKX19aWYodGhpcy5wcmVwYXJlVmlzaXRvcnMoKSx0aGlzLmhhc0xpc3RlbmVyKXtsZXQgZT10aGlzLnJlc3VsdC5yb290O2Zvcig7IWVbdHRdOyl7ZVt0dF09ITA7bGV0IHQ9W2RwKGUpXTtmb3IoO3QubGVuZ3RoPjA7KXtsZXQgaT10aGlzLnZpc2l0VGljayh0KTtpZihyaShpKSl0cnl7YXdhaXQgaX1jYXRjaChuKXtsZXQgcz10W3QubGVuZ3RoLTFdLm5vZGU7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuLHMpfX19aWYodGhpcy5saXN0ZW5lcnMuT25jZUV4aXQpZm9yKGxldFt0LGldb2YgdGhpcy5saXN0ZW5lcnMuT25jZUV4aXQpe3RoaXMucmVzdWx0Lmxhc3RQbHVnaW49dDt0cnl7aWYoZS50eXBlPT09ImRvY3VtZW50Iil7bGV0IG49ZS5ub2Rlcy5tYXAocz0+aShzLHRoaXMuaGVscGVycykpO2F3YWl0IFByb21pc2UuYWxsKG4pfWVsc2UgYXdhaXQgaShlLHRoaXMuaGVscGVycyl9Y2F0Y2gobil7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihuKX19fXJldHVybiB0aGlzLnByb2Nlc3NlZD0hMCx0aGlzLnN0cmluZ2lmeSgpfXJ1bk9uUm9vdChlKXt0aGlzLnJlc3VsdC5sYXN0UGx1Z2luPWU7dHJ5e2lmKHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5PbmNlKXtpZih0aGlzLnJlc3VsdC5yb290LnR5cGU9PT0iZG9jdW1lbnQiKXtsZXQgdD10aGlzLnJlc3VsdC5yb290Lm5vZGVzLm1hcChpPT5lLk9uY2UoaSx0aGlzLmhlbHBlcnMpKTtyZXR1cm4gcmkodFswXSk/UHJvbWlzZS5hbGwodCk6dH1yZXR1cm4gZS5PbmNlKHRoaXMucmVzdWx0LnJvb3QsdGhpcy5oZWxwZXJzKX1lbHNlIGlmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKXJldHVybiBlKHRoaXMucmVzdWx0LnJvb3QsdGhpcy5yZXN1bHQpfWNhdGNoKHQpe3Rocm93IHRoaXMuaGFuZGxlRXJyb3IodCl9fXN0cmluZ2lmeSgpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLnN0cmluZ2lmaWVkKXJldHVybiB0aGlzLnJlc3VsdDt0aGlzLnN0cmluZ2lmaWVkPSEwLHRoaXMuc3luYygpO2xldCBlPXRoaXMucmVzdWx0Lm9wdHMsdD1iMTtlLnN5bnRheCYmKHQ9ZS5zeW50YXguc3RyaW5naWZ5KSxlLnN0cmluZ2lmaWVyJiYodD1lLnN0cmluZ2lmaWVyKSx0LnN0cmluZ2lmeSYmKHQ9dC5zdHJpbmdpZnkpO2xldCBuPW5ldyBtMSh0LHRoaXMucmVzdWx0LnJvb3QsdGhpcy5yZXN1bHQub3B0cykuZ2VuZXJhdGUoKTtyZXR1cm4gdGhpcy5yZXN1bHQuY3NzPW5bMF0sdGhpcy5yZXN1bHQubWFwPW5bMV0sdGhpcy5yZXN1bHR9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLnByb2Nlc3NlZClyZXR1cm4gdGhpcy5yZXN1bHQ7aWYodGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5wcm9jZXNzaW5nKXRocm93IHRoaXMuZ2V0QXN5bmNFcnJvcigpO2ZvcihsZXQgZSBvZiB0aGlzLnBsdWdpbnMpe2xldCB0PXRoaXMucnVuT25Sb290KGUpO2lmKHJpKHQpKXRocm93IHRoaXMuZ2V0QXN5bmNFcnJvcigpfWlmKHRoaXMucHJlcGFyZVZpc2l0b3JzKCksdGhpcy5oYXNMaXN0ZW5lcil7bGV0IGU9dGhpcy5yZXN1bHQucm9vdDtmb3IoOyFlW3R0XTspZVt0dF09ITAsdGhpcy53YWxrU3luYyhlKTtpZih0aGlzLmxpc3RlbmVycy5PbmNlRXhpdClpZihlLnR5cGU9PT0iZG9jdW1lbnQiKWZvcihsZXQgdCBvZiBlLm5vZGVzKXRoaXMudmlzaXRTeW5jKHRoaXMubGlzdGVuZXJzLk9uY2VFeGl0LHQpO2Vsc2UgdGhpcy52aXNpdFN5bmModGhpcy5saXN0ZW5lcnMuT25jZUV4aXQsZSl9cmV0dXJuIHRoaXMucmVzdWx0fXRoZW4oZSx0KXtyZXR1cm4gdGhpcy5hc3luYygpLnRoZW4oZSx0KX10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc312aXNpdFN5bmMoZSx0KXtmb3IobGV0W2ksbl1vZiBlKXt0aGlzLnJlc3VsdC5sYXN0UGx1Z2luPWk7bGV0IHM7dHJ5e3M9bih0LHRoaXMuaGVscGVycyl9Y2F0Y2goYSl7dGhyb3cgdGhpcy5oYW5kbGVFcnJvcihhLHQucHJveHlPZil9aWYodC50eXBlIT09InJvb3QiJiZ0LnR5cGUhPT0iZG9jdW1lbnQiJiYhdC5wYXJlbnQpcmV0dXJuITA7aWYocmkocykpdGhyb3cgdGhpcy5nZXRBc3luY0Vycm9yKCl9fXZpc2l0VGljayhlKXtsZXQgdD1lW2UubGVuZ3RoLTFdLHtub2RlOmksdmlzaXRvcnM6bn09dDtpZihpLnR5cGUhPT0icm9vdCImJmkudHlwZSE9PSJkb2N1bWVudCImJiFpLnBhcmVudCl7ZS5wb3AoKTtyZXR1cm59aWYobi5sZW5ndGg+MCYmdC52aXNpdG9ySW5kZXg8bi5sZW5ndGgpe2xldFthLG9dPW5bdC52aXNpdG9ySW5kZXhdO3QudmlzaXRvckluZGV4Kz0xLHQudmlzaXRvckluZGV4PT09bi5sZW5ndGgmJih0LnZpc2l0b3JzPVtdLHQudmlzaXRvckluZGV4PTApLHRoaXMucmVzdWx0Lmxhc3RQbHVnaW49YTt0cnl7cmV0dXJuIG8oaS50b1Byb3h5KCksdGhpcy5oZWxwZXJzKX1jYXRjaChsKXt0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGwsaSl9fWlmKHQuaXRlcmF0b3IhPT0wKXtsZXQgYT10Lml0ZXJhdG9yLG87Zm9yKDtvPWkubm9kZXNbaS5pbmRleGVzW2FdXTspaWYoaS5pbmRleGVzW2FdKz0xLCFvW3R0XSl7b1t0dF09ITAsZS5wdXNoKGRwKG8pKTtyZXR1cm59dC5pdGVyYXRvcj0wLGRlbGV0ZSBpLmluZGV4ZXNbYV19bGV0IHM9dC5ldmVudHM7Zm9yKDt0LmV2ZW50SW5kZXg8cy5sZW5ndGg7KXtsZXQgYT1zW3QuZXZlbnRJbmRleF07aWYodC5ldmVudEluZGV4Kz0xLGE9PT1ycil7aS5ub2RlcyYmaS5ub2Rlcy5sZW5ndGgmJihpW3R0XT0hMCx0Lml0ZXJhdG9yPWkuZ2V0SXRlcmF0b3IoKSk7cmV0dXJufWVsc2UgaWYodGhpcy5saXN0ZW5lcnNbYV0pe3QudmlzaXRvcnM9dGhpcy5saXN0ZW5lcnNbYV07cmV0dXJufX1lLnBvcCgpfXdhbGtTeW5jKGUpe2VbdHRdPSEwO2xldCB0PXBwKGUpO2ZvcihsZXQgaSBvZiB0KWlmKGk9PT1ycillLm5vZGVzJiZlLmVhY2gobj0+e25bdHRdfHx0aGlzLndhbGtTeW5jKG4pfSk7ZWxzZXtsZXQgbj10aGlzLmxpc3RlbmVyc1tpXTtpZihuJiZ0aGlzLnZpc2l0U3luYyhuLGUudG9Qcm94eSgpKSlyZXR1cm59fXdhcm5pbmdzKCl7cmV0dXJuIHRoaXMuc3luYygpLndhcm5pbmdzKCl9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jb250ZW50fWdldCBjc3MoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5jc3N9Z2V0IG1hcCgpe3JldHVybiB0aGlzLnN0cmluZ2lmeSgpLm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm4gdGhpcy5zeW5jKCkubWVzc2FnZXN9Z2V0IG9wdHMoKXtyZXR1cm4gdGhpcy5yZXN1bHQub3B0c31nZXQgcHJvY2Vzc29yKCl7cmV0dXJuIHRoaXMucmVzdWx0LnByb2Nlc3Nvcn1nZXQgcm9vdCgpe3JldHVybiB0aGlzLnN5bmMoKS5yb290fWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuIkxhenlSZXN1bHQifX07cHQucmVnaXN0ZXJQb3N0Y3NzPXI9PntFYT1yfTtocC5leHBvcnRzPXB0O3B0LmRlZmF1bHQ9cHQ7eTEucmVnaXN0ZXJMYXp5UmVzdWx0KHB0KTtoMS5yZWdpc3RlckxhenlSZXN1bHQocHQpfSk7dmFyIGdwPXgoKFkzLG1wKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIFMxPWthKCksQTE9Q24oKSxDMT1PbigpLF8xPVZyKCksUTM9Q2EoKSxUbj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsaSl7dD10LnRvU3RyaW5nKCksdGhpcy5zdHJpbmdpZmllZD0hMSx0aGlzLl9wcm9jZXNzb3I9ZSx0aGlzLl9jc3M9dCx0aGlzLl9vcHRzPWksdGhpcy5fbWFwPXZvaWQgMDtsZXQgbixzPV8xO3RoaXMucmVzdWx0PW5ldyBDMSh0aGlzLl9wcm9jZXNzb3Isbix0aGlzLl9vcHRzKSx0aGlzLnJlc3VsdC5jc3M9dDtsZXQgYT10aGlzO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnJlc3VsdCwicm9vdCIse2dldCgpe3JldHVybiBhLnJvb3R9fSk7bGV0IG89bmV3IFMxKHMsbix0aGlzLl9vcHRzLHQpO2lmKG8uaXNNYXAoKSl7bGV0W2wsY109by5nZW5lcmF0ZSgpO2wmJih0aGlzLnJlc3VsdC5jc3M9bCksYyYmKHRoaXMucmVzdWx0Lm1hcD1jKX1lbHNlIG8uY2xlYXJBbm5vdGF0aW9uKCksdGhpcy5yZXN1bHQuY3NzPW8uY3NzfWFzeW5jKCl7cmV0dXJuIHRoaXMuZXJyb3I/UHJvbWlzZS5yZWplY3QodGhpcy5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzdWx0KX1jYXRjaChlKXtyZXR1cm4gdGhpcy5hc3luYygpLmNhdGNoKGUpfWZpbmFsbHkoZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKGUsZSl9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtyZXR1cm4gdGhpcy5yZXN1bHR9dGhlbihlLHQpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLHQpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX2Nzc313YXJuaW5ncygpe3JldHVybltdfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgY3NzKCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgbWFwKCl7cmV0dXJuIHRoaXMucmVzdWx0Lm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm5bXX1nZXQgb3B0cygpe3JldHVybiB0aGlzLnJlc3VsdC5vcHRzfWdldCBwcm9jZXNzb3IoKXtyZXR1cm4gdGhpcy5yZXN1bHQucHJvY2Vzc29yfWdldCByb290KCl7aWYodGhpcy5fcm9vdClyZXR1cm4gdGhpcy5fcm9vdDtsZXQgZSx0PUExO3RyeXtlPXQodGhpcy5fY3NzLHRoaXMuX29wdHMpfWNhdGNoKGkpe3RoaXMuZXJyb3I9aX1pZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7cmV0dXJuIHRoaXMuX3Jvb3Q9ZSxlfWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuIk5vV29ya1Jlc3VsdCJ9fTttcC5leHBvcnRzPVRuO1RuLmRlZmF1bHQ9VG59KTt2YXIgYnA9eCgoSzMseXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgRTE9ZG4oKSxPMT1PYSgpLFQxPWdwKCksUjE9dHIoKSxpcj1jbGFzc3tjb25zdHJ1Y3RvcihlPVtdKXt0aGlzLnZlcnNpb249IjguNC40OSIsdGhpcy5wbHVnaW5zPXRoaXMubm9ybWFsaXplKGUpfW5vcm1hbGl6ZShlKXtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSlpZihpLnBvc3Rjc3M9PT0hMD9pPWkoKTppLnBvc3Rjc3MmJihpPWkucG9zdGNzcyksdHlwZW9mIGk9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGkucGx1Z2lucykpdD10LmNvbmNhdChpLnBsdWdpbnMpO2Vsc2UgaWYodHlwZW9mIGk9PSJvYmplY3QiJiZpLnBvc3Rjc3NQbHVnaW4pdC5wdXNoKGkpO2Vsc2UgaWYodHlwZW9mIGk9PSJmdW5jdGlvbiIpdC5wdXNoKGkpO2Vsc2UgaWYoISh0eXBlb2YgaT09Im9iamVjdCImJihpLnBhcnNlfHxpLnN0cmluZ2lmeSkpKXRocm93IG5ldyBFcnJvcihpKyIgaXMgbm90IGEgUG9zdENTUyBwbHVnaW4iKTtyZXR1cm4gdH1wcm9jZXNzKGUsdD17fSl7cmV0dXJuIXRoaXMucGx1Z2lucy5sZW5ndGgmJiF0LnBhcnNlciYmIXQuc3RyaW5naWZpZXImJiF0LnN5bnRheD9uZXcgVDEodGhpcyxlLHQpOm5ldyBPMSh0aGlzLGUsdCl9dXNlKGUpe3JldHVybiB0aGlzLnBsdWdpbnM9dGhpcy5wbHVnaW5zLmNvbmNhdCh0aGlzLm5vcm1hbGl6ZShbZV0pKSx0aGlzfX07eXAuZXhwb3J0cz1pcjtpci5kZWZhdWx0PWlyO1IxLnJlZ2lzdGVyUHJvY2Vzc29yKGlyKTtFMS5yZWdpc3RlclByb2Nlc3Nvcihpcil9KTt2YXIgJGU9eCgoWDMsQ3ApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgd3A9cG4oKSx2cD1RcigpLFAxPUV0KCksSTE9YW4oKSx4cD1ZcigpLGtwPWRuKCksRDE9UWMoKSxxMT1tbigpLCQxPU9hKCksTDE9eGEoKSxNMT1HcigpLE4xPUNuKCksVGE9YnAoKSxCMT1PbigpLFNwPXRyKCksQXA9Z24oKSxGMT1WcigpLGoxPUFhKCk7ZnVuY3Rpb24gSiguLi5yKXtyZXR1cm4gci5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KHJbMF0pJiYocj1yWzBdKSxuZXcgVGEocil9Si5wbHVnaW49ZnVuY3Rpb24oZSx0KXtsZXQgaT0hMTtmdW5jdGlvbiBuKC4uLmEpe2NvbnNvbGUmJmNvbnNvbGUud2FybiYmIWkmJihpPSEwLGNvbnNvbGUud2FybihlK2A6IHBvc3Rjc3MucGx1Z2luIHdhcyBkZXByZWNhdGVkLiBNaWdyYXRpb24gZ3VpZGU6Cmh0dHBzOi8vZXZpbG1hcnRpYW5zLmNvbS9jaHJvbmljbGVzL3Bvc3Rjc3MtOC1wbHVnaW4tbWlncmF0aW9uYCksbS5lbnYuTEFORyYmbS5lbnYuTEFORy5zdGFydHNXaXRoKCJjbiIpJiZjb25zb2xlLndhcm4oZStgOiBcdTkxQ0NcdTk3NjIgcG9zdGNzcy5wbHVnaW4gXHU4OEFCXHU1RjAzXHU3NTI4LiBcdThGQzFcdTc5RkJcdTYzMDdcdTUzNTc6Cmh0dHBzOi8vd3d3LnczY3RlY2guY29tL3RvcGljLzIyMjZgKSk7bGV0IG89dCguLi5hKTtyZXR1cm4gby5wb3N0Y3NzUGx1Z2luPWUsby5wb3N0Y3NzVmVyc2lvbj1uZXcgVGEoKS52ZXJzaW9uLG99bGV0IHM7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJwb3N0Y3NzIix7Z2V0KCl7cmV0dXJuIHN8fChzPW4oKSksc319KSxuLnByb2Nlc3M9ZnVuY3Rpb24oYSxvLGwpe3JldHVybiBKKFtuKGwpXSkucHJvY2VzcyhhLG8pfSxufTtKLnN0cmluZ2lmeT1GMTtKLnBhcnNlPU4xO0ouZnJvbUpTT049RDE7Si5saXN0PUwxO0ouY29tbWVudD1yPT5uZXcgdnAocik7Si5hdFJ1bGU9cj0+bmV3IHdwKHIpO0ouZGVjbD1yPT5uZXcgeHAocik7Si5ydWxlPXI9Pm5ldyBBcChyKTtKLnJvb3Q9cj0+bmV3IFNwKHIpO0ouZG9jdW1lbnQ9cj0+bmV3IGtwKHIpO0ouQ3NzU3ludGF4RXJyb3I9STE7Si5EZWNsYXJhdGlvbj14cDtKLkNvbnRhaW5lcj1QMTtKLlByb2Nlc3Nvcj1UYTtKLkRvY3VtZW50PWtwO0ouQ29tbWVudD12cDtKLldhcm5pbmc9ajE7Si5BdFJ1bGU9d3A7Si5SZXN1bHQ9QjE7Si5JbnB1dD1xMTtKLlJ1bGU9QXA7Si5Sb290PVNwO0ouTm9kZT1NMTskMS5yZWdpc3RlclBvc3Rjc3MoSik7Q3AuZXhwb3J0cz1KO0ouZGVmYXVsdD1KfSk7dmFyIHJlLGVlLFozLEozLGVJLHRJLHJJLGlJLG5JLHNJLGFJLG9JLGxJLHVJLGZJLGNJLHBJLGRJLGhJLG1JLGdJLHlJLGJJLHdJLHZJLHhJLE90PVAoKCk9Pnt1KCk7cmU9cGUoJGUoKSksZWU9cmUuZGVmYXVsdCxaMz1yZS5kZWZhdWx0LnN0cmluZ2lmeSxKMz1yZS5kZWZhdWx0LmZyb21KU09OLGVJPXJlLmRlZmF1bHQucGx1Z2luLHRJPXJlLmRlZmF1bHQucGFyc2Usckk9cmUuZGVmYXVsdC5saXN0LGlJPXJlLmRlZmF1bHQuZG9jdW1lbnQsbkk9cmUuZGVmYXVsdC5jb21tZW50LHNJPXJlLmRlZmF1bHQuYXRSdWxlLGFJPXJlLmRlZmF1bHQucnVsZSxvST1yZS5kZWZhdWx0LmRlY2wsbEk9cmUuZGVmYXVsdC5yb290LHVJPXJlLmRlZmF1bHQuQ3NzU3ludGF4RXJyb3IsZkk9cmUuZGVmYXVsdC5EZWNsYXJhdGlvbixjST1yZS5kZWZhdWx0LkNvbnRhaW5lcixwST1yZS5kZWZhdWx0LlByb2Nlc3NvcixkST1yZS5kZWZhdWx0LkRvY3VtZW50LGhJPXJlLmRlZmF1bHQuQ29tbWVudCxtST1yZS5kZWZhdWx0Lldhcm5pbmcsZ0k9cmUuZGVmYXVsdC5BdFJ1bGUseUk9cmUuZGVmYXVsdC5SZXN1bHQsYkk9cmUuZGVmYXVsdC5JbnB1dCx3ST1yZS5kZWZhdWx0LlJ1bGUsdkk9cmUuZGVmYXVsdC5Sb290LHhJPXJlLmRlZmF1bHQuTm9kZX0pO3ZhciBSYT14KChTSSxfcCk9Pnt1KCk7X3AuZXhwb3J0cz1mdW5jdGlvbihyLGUsdCxpLG4pe2ZvcihlPWUuc3BsaXQ/ZS5zcGxpdCgiLiIpOmUsaT0wO2k8ZS5sZW5ndGg7aSsrKXI9cj9yW2VbaV1dOm47cmV0dXJuIHI9PT1uP3Q6cn19KTt2YXIgUG49eCgoUm4sRXApPT57dSgpOyJ1c2Ugc3RyaWN0IjtSbi5fX2VzTW9kdWxlPSEwO1JuLmRlZmF1bHQ9VjE7ZnVuY3Rpb24gejEocil7Zm9yKHZhciBlPXIudG9Mb3dlckNhc2UoKSx0PSIiLGk9ITEsbj0wO248NiYmZVtuXSE9PXZvaWQgMDtuKyspe3ZhciBzPWUuY2hhckNvZGVBdChuKSxhPXM+PTk3JiZzPD0xMDJ8fHM+PTQ4JiZzPD01NztpZihpPXM9PT0zMiwhYSlicmVhazt0Kz1lW25dfWlmKHQubGVuZ3RoIT09MCl7dmFyIG89cGFyc2VJbnQodCwxNiksbD1vPj01NTI5NiYmbzw9NTczNDM7cmV0dXJuIGx8fG89PT0wfHxvPjExMTQxMTE/WyJcdUZGRkQiLHQubGVuZ3RoKyhpPzE6MCldOltTdHJpbmcuZnJvbUNvZGVQb2ludChvKSx0Lmxlbmd0aCsoaT8xOjApXX19dmFyIFUxPS9cXC87ZnVuY3Rpb24gVjEocil7dmFyIGU9VTEudGVzdChyKTtpZighZSlyZXR1cm4gcjtmb3IodmFyIHQ9IiIsaT0wO2k8ci5sZW5ndGg7aSsrKXtpZihyW2ldPT09IlxcIil7dmFyIG49ejEoci5zbGljZShpKzEsaSs3KSk7aWYobiE9PXZvaWQgMCl7dCs9blswXSxpKz1uWzFdO2NvbnRpbnVlfWlmKHJbaSsxXT09PSJcXCIpe3QrPSJcXCIsaSsrO2NvbnRpbnVlfXIubGVuZ3RoPT09aSsxJiYodCs9cltpXSk7Y29udGludWV9dCs9cltpXX1yZXR1cm4gdH1FcC5leHBvcnRzPVJuLmRlZmF1bHR9KTt2YXIgVHA9eCgoSW4sT3ApPT57dSgpOyJ1c2Ugc3RyaWN0IjtJbi5fX2VzTW9kdWxlPSEwO0luLmRlZmF1bHQ9SDE7ZnVuY3Rpb24gSDEocil7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsdD1uZXcgQXJyYXkoZT4xP2UtMTowKSxpPTE7aTxlO2krKyl0W2ktMV09YXJndW1lbnRzW2ldO2Zvcig7dC5sZW5ndGg+MDspe3ZhciBuPXQuc2hpZnQoKTtpZighcltuXSlyZXR1cm47cj1yW25dfXJldHVybiByfU9wLmV4cG9ydHM9SW4uZGVmYXVsdH0pO3ZhciBQcD14KChEbixScCk9Pnt1KCk7InVzZSBzdHJpY3QiO0RuLl9fZXNNb2R1bGU9ITA7RG4uZGVmYXVsdD1XMTtmdW5jdGlvbiBXMShyKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlPjE/ZS0xOjApLGk9MTtpPGU7aSsrKXRbaS0xXT1hcmd1bWVudHNbaV07Zm9yKDt0Lmxlbmd0aD4wOyl7dmFyIG49dC5zaGlmdCgpO3Jbbl18fChyW25dPXt9KSxyPXJbbl19fVJwLmV4cG9ydHM9RG4uZGVmYXVsdH0pO3ZhciBEcD14KChxbixJcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3FuLl9fZXNNb2R1bGU9ITA7cW4uZGVmYXVsdD1HMTtmdW5jdGlvbiBHMShyKXtmb3IodmFyIGU9IiIsdD1yLmluZGV4T2YoIi8qIiksaT0wO3Q+PTA7KXtlPWUrci5zbGljZShpLHQpO3ZhciBuPXIuaW5kZXhPZigiKi8iLHQrMik7aWYobjwwKXJldHVybiBlO2k9bisyLHQ9ci5pbmRleE9mKCIvKiIsaSl9cmV0dXJuIGU9ZStyLnNsaWNlKGkpLGV9SXAuZXhwb3J0cz1xbi5kZWZhdWx0fSk7dmFyIGlpPXgocnQ9Pnt1KCk7InVzZSBzdHJpY3QiO3J0Ll9fZXNNb2R1bGU9ITA7cnQudW5lc2M9cnQuc3RyaXBDb21tZW50cz1ydC5nZXRQcm9wPXJ0LmVuc3VyZU9iamVjdD12b2lkIDA7dmFyIFExPSRuKFBuKCkpO3J0LnVuZXNjPVExLmRlZmF1bHQ7dmFyIFkxPSRuKFRwKCkpO3J0LmdldFByb3A9WTEuZGVmYXVsdDt2YXIgSzE9JG4oUHAoKSk7cnQuZW5zdXJlT2JqZWN0PUsxLmRlZmF1bHQ7dmFyIFgxPSRuKERwKCkpO3J0LnN0cmlwQ29tbWVudHM9WDEuZGVmYXVsdDtmdW5jdGlvbiAkbihyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19fSk7dmFyIGR0PXgoKG5pLExwKT0+e3UoKTsidXNlIHN0cmljdCI7bmkuX19lc01vZHVsZT0hMDtuaS5kZWZhdWx0PXZvaWQgMDt2YXIgcXA9aWkoKTtmdW5jdGlvbiAkcChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIFoxKHIsZSx0KXtyZXR1cm4gZSYmJHAoci5wcm90b3R5cGUsZSksdCYmJHAocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfXZhciBKMT1mdW5jdGlvbiByKGUsdCl7aWYodHlwZW9mIGUhPSJvYmplY3QifHxlPT09bnVsbClyZXR1cm4gZTt2YXIgaT1uZXcgZS5jb25zdHJ1Y3Rvcjtmb3IodmFyIG4gaW4gZSlpZighIWUuaGFzT3duUHJvcGVydHkobikpe3ZhciBzPWVbbl0sYT10eXBlb2YgcztuPT09InBhcmVudCImJmE9PT0ib2JqZWN0Ij90JiYoaVtuXT10KTpzIGluc3RhbmNlb2YgQXJyYXk/aVtuXT1zLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gcihvLGkpfSk6aVtuXT1yKHMsaSl9cmV0dXJuIGl9LGVrPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0KXt0PT09dm9pZCAwJiYodD17fSksT2JqZWN0LmFzc2lnbih0aGlzLHQpLHRoaXMuc3BhY2VzPXRoaXMuc3BhY2VzfHx7fSx0aGlzLnNwYWNlcy5iZWZvcmU9dGhpcy5zcGFjZXMuYmVmb3JlfHwiIix0aGlzLnNwYWNlcy5hZnRlcj10aGlzLnNwYWNlcy5hZnRlcnx8IiJ9dmFyIGU9ci5wcm90b3R5cGU7cmV0dXJuIGUucmVtb3ZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLnBhcmVudD12b2lkIDAsdGhpc30sZS5yZXBsYWNlV2l0aD1mdW5jdGlvbigpe2lmKHRoaXMucGFyZW50KXtmb3IodmFyIGkgaW4gYXJndW1lbnRzKXRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLGFyZ3VtZW50c1tpXSk7dGhpcy5yZW1vdmUoKX1yZXR1cm4gdGhpc30sZS5uZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50LmF0KHRoaXMucGFyZW50LmluZGV4KHRoaXMpKzEpfSxlLnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQuYXQodGhpcy5wYXJlbnQuaW5kZXgodGhpcyktMSl9LGUuY2xvbmU9ZnVuY3Rpb24oaSl7aT09PXZvaWQgMCYmKGk9e30pO3ZhciBuPUoxKHRoaXMpO2Zvcih2YXIgcyBpbiBpKW5bc109aVtzXTtyZXR1cm4gbn0sZS5hcHBlbmRUb1Byb3BlcnR5QW5kRXNjYXBlPWZ1bmN0aW9uKGksbixzKXt0aGlzLnJhd3N8fCh0aGlzLnJhd3M9e30pO3ZhciBhPXRoaXNbaV0sbz10aGlzLnJhd3NbaV07dGhpc1tpXT1hK24sb3x8cyE9PW4/dGhpcy5yYXdzW2ldPShvfHxhKStzOmRlbGV0ZSB0aGlzLnJhd3NbaV19LGUuc2V0UHJvcGVydHlBbmRFc2NhcGU9ZnVuY3Rpb24oaSxuLHMpe3RoaXMucmF3c3x8KHRoaXMucmF3cz17fSksdGhpc1tpXT1uLHRoaXMucmF3c1tpXT1zfSxlLnNldFByb3BlcnR5V2l0aG91dEVzY2FwZT1mdW5jdGlvbihpLG4pe3RoaXNbaV09bix0aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3NbaV19LGUuaXNBdFBvc2l0aW9uPWZ1bmN0aW9uKGksbil7aWYodGhpcy5zb3VyY2UmJnRoaXMuc291cmNlLnN0YXJ0JiZ0aGlzLnNvdXJjZS5lbmQpcmV0dXJuISh0aGlzLnNvdXJjZS5zdGFydC5saW5lPml8fHRoaXMuc291cmNlLmVuZC5saW5lPGl8fHRoaXMuc291cmNlLnN0YXJ0LmxpbmU9PT1pJiZ0aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4+bnx8dGhpcy5zb3VyY2UuZW5kLmxpbmU9PT1pJiZ0aGlzLnNvdXJjZS5lbmQuY29sdW1uPG4pfSxlLnN0cmluZ2lmeVByb3BlcnR5PWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLnJhd3MmJnRoaXMucmF3c1tpXXx8dGhpc1tpXX0sZS52YWx1ZVRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLnN0cmluZ2lmeVByb3BlcnR5KCJ2YWx1ZSIpKX0sZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblt0aGlzLnJhd1NwYWNlQmVmb3JlLHRoaXMudmFsdWVUb1N0cmluZygpLHRoaXMucmF3U3BhY2VBZnRlcl0uam9pbigiIil9LFoxKHIsW3trZXk6InJhd1NwYWNlQmVmb3JlIixnZXQ6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnJhd3MmJnRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXMuYmVmb3JlO3JldHVybiBpPT09dm9pZCAwJiYoaT10aGlzLnNwYWNlcyYmdGhpcy5zcGFjZXMuYmVmb3JlKSxpfHwiIn0sc2V0OmZ1bmN0aW9uKGkpeygwLHFwLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIsInNwYWNlcyIpLHRoaXMucmF3cy5zcGFjZXMuYmVmb3JlPWl9fSx7a2V5OiJyYXdTcGFjZUFmdGVyIixnZXQ6ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnJhd3MmJnRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXMuYWZ0ZXI7cmV0dXJuIGk9PT12b2lkIDAmJihpPXRoaXMuc3BhY2VzLmFmdGVyKSxpfHwiIn0sc2V0OmZ1bmN0aW9uKGkpeygwLHFwLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIsInNwYWNlcyIpLHRoaXMucmF3cy5zcGFjZXMuYWZ0ZXI9aX19XSkscn0oKTtuaS5kZWZhdWx0PWVrO0xwLmV4cG9ydHM9bmkuZGVmYXVsdH0pO3ZhciBTZT14KGllPT57dSgpOyJ1c2Ugc3RyaWN0IjtpZS5fX2VzTW9kdWxlPSEwO2llLlVOSVZFUlNBTD1pZS5UQUc9aWUuU1RSSU5HPWllLlNFTEVDVE9SPWllLlJPT1Q9aWUuUFNFVURPPWllLk5FU1RJTkc9aWUuSUQ9aWUuQ09NTUVOVD1pZS5DT01CSU5BVE9SPWllLkNMQVNTPWllLkFUVFJJQlVURT12b2lkIDA7dmFyIHRrPSJ0YWciO2llLlRBRz10azt2YXIgcms9InN0cmluZyI7aWUuU1RSSU5HPXJrO3ZhciBpaz0ic2VsZWN0b3IiO2llLlNFTEVDVE9SPWlrO3ZhciBuaz0icm9vdCI7aWUuUk9PVD1uazt2YXIgc2s9InBzZXVkbyI7aWUuUFNFVURPPXNrO3ZhciBhaz0ibmVzdGluZyI7aWUuTkVTVElORz1hazt2YXIgb2s9ImlkIjtpZS5JRD1vazt2YXIgbGs9ImNvbW1lbnQiO2llLkNPTU1FTlQ9bGs7dmFyIHVrPSJjb21iaW5hdG9yIjtpZS5DT01CSU5BVE9SPXVrO3ZhciBmaz0iY2xhc3MiO2llLkNMQVNTPWZrO3ZhciBjaz0iYXR0cmlidXRlIjtpZS5BVFRSSUJVVEU9Y2s7dmFyIHBrPSJ1bml2ZXJzYWwiO2llLlVOSVZFUlNBTD1wa30pO3ZhciBMbj14KChzaSxGcCk9Pnt1KCk7InVzZSBzdHJpY3QiO3NpLl9fZXNNb2R1bGU9ITA7c2kuZGVmYXVsdD12b2lkIDA7dmFyIGRrPW1rKGR0KCkpLGh0PWhrKFNlKCkpO2Z1bmN0aW9uIE1wKHIpe2lmKHR5cGVvZiBXZWFrTWFwIT0iZnVuY3Rpb24iKXJldHVybiBudWxsO3ZhciBlPW5ldyBXZWFrTWFwLHQ9bmV3IFdlYWtNYXA7cmV0dXJuKE1wPWZ1bmN0aW9uKG4pe3JldHVybiBuP3Q6ZX0pKHIpfWZ1bmN0aW9uIGhrKHIsZSl7aWYoIWUmJnImJnIuX19lc01vZHVsZSlyZXR1cm4gcjtpZihyPT09bnVsbHx8dHlwZW9mIHIhPSJvYmplY3QiJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIilyZXR1cm57ZGVmYXVsdDpyfTt2YXIgdD1NcChlKTtpZih0JiZ0LmhhcyhyKSlyZXR1cm4gdC5nZXQocik7dmFyIGk9e30sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBzIGluIHIpaWYocyE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykpe3ZhciBhPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHMpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyxhKTppW3NdPXJbc119cmV0dXJuIGkuZGVmYXVsdD1yLHQmJnQuc2V0KHIsaSksaX1mdW5jdGlvbiBtayhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24gZ2socixlKXt2YXIgdD10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmcltTeW1ib2wuaXRlcmF0b3JdfHxyWyJAQGl0ZXJhdG9yIl07aWYodClyZXR1cm4odD10LmNhbGwocikpLm5leHQuYmluZCh0KTtpZihBcnJheS5pc0FycmF5KHIpfHwodD15ayhyKSl8fGUmJnImJnR5cGVvZiByLmxlbmd0aD09Im51bWJlciIpe3QmJihyPXQpO3ZhciBpPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGk+PXIubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTpyW2krK119fX10aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5gKX1mdW5jdGlvbiB5ayhyLGUpe2lmKCEhcil7aWYodHlwZW9mIHI9PSJzdHJpbmciKXJldHVybiBOcChyLGUpO3ZhciB0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKS5zbGljZSg4LC0xKTtpZih0PT09Ik9iamVjdCImJnIuY29uc3RydWN0b3ImJih0PXIuY29uc3RydWN0b3IubmFtZSksdD09PSJNYXAifHx0PT09IlNldCIpcmV0dXJuIEFycmF5LmZyb20ocik7aWYodD09PSJBcmd1bWVudHMifHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdCh0KSlyZXR1cm4gTnAocixlKX19ZnVuY3Rpb24gTnAocixlKXsoZT09bnVsbHx8ZT5yLmxlbmd0aCkmJihlPXIubGVuZ3RoKTtmb3IodmFyIHQ9MCxpPW5ldyBBcnJheShlKTt0PGU7dCsrKWlbdF09clt0XTtyZXR1cm4gaX1mdW5jdGlvbiBCcChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIGJrKHIsZSx0KXtyZXR1cm4gZSYmQnAoci5wcm90b3R5cGUsZSksdCYmQnAocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfWZ1bmN0aW9uIHdrKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixQYShyLGUpfWZ1bmN0aW9uIFBhKHIsZSl7cmV0dXJuIFBhPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sUGEocixlKX12YXIgdms9ZnVuY3Rpb24ocil7d2soZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4ubm9kZXN8fChuLm5vZGVzPVtdKSxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmFwcGVuZD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wYXJlbnQ9dGhpcyx0aGlzLm5vZGVzLnB1c2gobiksdGhpc30sdC5wcmVwZW5kPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBhcmVudD10aGlzLHRoaXMubm9kZXMudW5zaGlmdChuKSx0aGlzfSx0LmF0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLm5vZGVzW25dfSx0LmluZGV4PWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbj09Im51bWJlciI/bjp0aGlzLm5vZGVzLmluZGV4T2Yobil9LHQucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24obil7bj10aGlzLmluZGV4KG4pLHRoaXMuYXQobikucGFyZW50PXZvaWQgMCx0aGlzLm5vZGVzLnNwbGljZShuLDEpO3ZhciBzO2Zvcih2YXIgYSBpbiB0aGlzLmluZGV4ZXMpcz10aGlzLmluZGV4ZXNbYV0scz49biYmKHRoaXMuaW5kZXhlc1thXT1zLTEpO3JldHVybiB0aGlzfSx0LnJlbW92ZUFsbD1mdW5jdGlvbigpe2Zvcih2YXIgbj1nayh0aGlzLm5vZGVzKSxzOyEocz1uKCkpLmRvbmU7KXt2YXIgYT1zLnZhbHVlO2EucGFyZW50PXZvaWQgMH1yZXR1cm4gdGhpcy5ub2Rlcz1bXSx0aGlzfSx0LmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVtb3ZlQWxsKCl9LHQuaW5zZXJ0QWZ0ZXI9ZnVuY3Rpb24obixzKXtzLnBhcmVudD10aGlzO3ZhciBhPXRoaXMuaW5kZXgobik7dGhpcy5ub2Rlcy5zcGxpY2UoYSsxLDAscykscy5wYXJlbnQ9dGhpczt2YXIgbztmb3IodmFyIGwgaW4gdGhpcy5pbmRleGVzKW89dGhpcy5pbmRleGVzW2xdLGE8PW8mJih0aGlzLmluZGV4ZXNbbF09bysxKTtyZXR1cm4gdGhpc30sdC5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24obixzKXtzLnBhcmVudD10aGlzO3ZhciBhPXRoaXMuaW5kZXgobik7dGhpcy5ub2Rlcy5zcGxpY2UoYSwwLHMpLHMucGFyZW50PXRoaXM7dmFyIG87Zm9yKHZhciBsIGluIHRoaXMuaW5kZXhlcylvPXRoaXMuaW5kZXhlc1tsXSxvPD1hJiYodGhpcy5pbmRleGVzW2xdPW8rMSk7cmV0dXJuIHRoaXN9LHQuX2ZpbmRDaGlsZEF0UG9zaXRpb249ZnVuY3Rpb24obixzKXt2YXIgYT12b2lkIDA7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihvKXtpZihvLmF0UG9zaXRpb24pe3ZhciBsPW8uYXRQb3NpdGlvbihuLHMpO2lmKGwpcmV0dXJuIGE9bCwhMX1lbHNlIGlmKG8uaXNBdFBvc2l0aW9uKG4scykpcmV0dXJuIGE9bywhMX0pLGF9LHQuYXRQb3NpdGlvbj1mdW5jdGlvbihuLHMpe2lmKHRoaXMuaXNBdFBvc2l0aW9uKG4scykpcmV0dXJuIHRoaXMuX2ZpbmRDaGlsZEF0UG9zaXRpb24obixzKXx8dGhpc30sdC5faW5mZXJFbmRQb3NpdGlvbj1mdW5jdGlvbigpe3RoaXMubGFzdCYmdGhpcy5sYXN0LnNvdXJjZSYmdGhpcy5sYXN0LnNvdXJjZS5lbmQmJih0aGlzLnNvdXJjZT10aGlzLnNvdXJjZXx8e30sdGhpcy5zb3VyY2UuZW5kPXRoaXMuc291cmNlLmVuZHx8e30sT2JqZWN0LmFzc2lnbih0aGlzLnNvdXJjZS5lbmQsdGhpcy5sYXN0LnNvdXJjZS5lbmQpKX0sdC5lYWNoPWZ1bmN0aW9uKG4pe3RoaXMubGFzdEVhY2h8fCh0aGlzLmxhc3RFYWNoPTApLHRoaXMuaW5kZXhlc3x8KHRoaXMuaW5kZXhlcz17fSksdGhpcy5sYXN0RWFjaCsrO3ZhciBzPXRoaXMubGFzdEVhY2g7aWYodGhpcy5pbmRleGVzW3NdPTAsISF0aGlzLmxlbmd0aCl7Zm9yKHZhciBhLG87dGhpcy5pbmRleGVzW3NdPHRoaXMubGVuZ3RoJiYoYT10aGlzLmluZGV4ZXNbc10sbz1uKHRoaXMuYXQoYSksYSksbyE9PSExKTspdGhpcy5pbmRleGVzW3NdKz0xO2lmKGRlbGV0ZSB0aGlzLmluZGV4ZXNbc10sbz09PSExKXJldHVybiExfX0sdC53YWxrPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24ocyxhKXt2YXIgbz1uKHMsYSk7aWYobyE9PSExJiZzLmxlbmd0aCYmKG89cy53YWxrKG4pKSxvPT09ITEpcmV0dXJuITF9KX0sdC53YWxrQXR0cmlidXRlcz1mdW5jdGlvbihuKXt2YXIgcz10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oYSl7aWYoYS50eXBlPT09aHQuQVRUUklCVVRFKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtDbGFzc2VzPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5DTEFTUylyZXR1cm4gbi5jYWxsKHMsYSl9KX0sdC53YWxrQ29tYmluYXRvcnM9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LkNPTUJJTkFUT1IpcmV0dXJuIG4uY2FsbChzLGEpfSl9LHQud2Fsa0NvbW1lbnRzPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5DT01NRU5UKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtJZHM9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LklEKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtOZXN0aW5nPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5ORVNUSU5HKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LndhbGtQc2V1ZG9zPWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihhKXtpZihhLnR5cGU9PT1odC5QU0VVRE8pcmV0dXJuIG4uY2FsbChzLGEpfSl9LHQud2Fsa1RhZ3M9ZnVuY3Rpb24obil7dmFyIHM9dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGEpe2lmKGEudHlwZT09PWh0LlRBRylyZXR1cm4gbi5jYWxsKHMsYSl9KX0sdC53YWxrVW5pdmVyc2Fscz1mdW5jdGlvbihuKXt2YXIgcz10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oYSl7aWYoYS50eXBlPT09aHQuVU5JVkVSU0FMKXJldHVybiBuLmNhbGwocyxhKX0pfSx0LnNwbGl0PWZ1bmN0aW9uKG4pe3ZhciBzPXRoaXMsYT1bXTtyZXR1cm4gdGhpcy5yZWR1Y2UoZnVuY3Rpb24obyxsLGMpe3ZhciBmPW4uY2FsbChzLGwpO3JldHVybiBhLnB1c2gobCksZj8oby5wdXNoKGEpLGE9W10pOmM9PT1zLmxlbmd0aC0xJiZvLnB1c2goYSksb30sW10pfSx0Lm1hcD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5tYXAobil9LHQucmVkdWNlPWZ1bmN0aW9uKG4scyl7cmV0dXJuIHRoaXMubm9kZXMucmVkdWNlKG4scyl9LHQuZXZlcnk9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkobil9LHQuc29tZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb21lKG4pfSx0LmZpbHRlcj1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIobil9LHQuc29ydD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb3J0KG4pfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKFN0cmluZykuam9pbigiIil9LGJrKGUsW3trZXk6ImZpcnN0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdCgwKX19LHtrZXk6Imxhc3QiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0KHRoaXMubGVuZ3RoLTEpfX0se2tleToibGVuZ3RoIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2Rlcy5sZW5ndGh9fV0pLGV9KGRrLmRlZmF1bHQpO3NpLmRlZmF1bHQ9dms7RnAuZXhwb3J0cz1zaS5kZWZhdWx0fSk7dmFyIERhPXgoKGFpLHpwKT0+e3UoKTsidXNlIHN0cmljdCI7YWkuX19lc01vZHVsZT0hMDthaS5kZWZhdWx0PXZvaWQgMDt2YXIgeGs9U2soTG4oKSksa2s9U2UoKTtmdW5jdGlvbiBTayhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24ganAocixlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIGk9ZVt0XTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGkua2V5LGkpfX1mdW5jdGlvbiBBayhyLGUsdCl7cmV0dXJuIGUmJmpwKHIucHJvdG90eXBlLGUpLHQmJmpwKHIsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSkscn1mdW5jdGlvbiBDayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsSWEocixlKX1mdW5jdGlvbiBJYShyLGUpe3JldHVybiBJYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LElhKHIsZSl9dmFyIF9rPWZ1bmN0aW9uKHIpe0NrKGUscik7ZnVuY3Rpb24gZShpKXt2YXIgbjtyZXR1cm4gbj1yLmNhbGwodGhpcyxpKXx8dGhpcyxuLnR5cGU9a2suUk9PVCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5yZWR1Y2UoZnVuY3Rpb24ocyxhKXtyZXR1cm4gcy5wdXNoKFN0cmluZyhhKSksc30sW10pLmpvaW4oIiwiKTtyZXR1cm4gdGhpcy50cmFpbGluZ0NvbW1hP24rIiwiOm59LHQuZXJyb3I9ZnVuY3Rpb24obixzKXtyZXR1cm4gdGhpcy5fZXJyb3I/dGhpcy5fZXJyb3IobixzKTpuZXcgRXJyb3Iobil9LEFrKGUsW3trZXk6ImVycm9yR2VuZXJhdG9yIixzZXQ6ZnVuY3Rpb24obil7dGhpcy5fZXJyb3I9bn19XSksZX0oeGsuZGVmYXVsdCk7YWkuZGVmYXVsdD1fazt6cC5leHBvcnRzPWFpLmRlZmF1bHR9KTt2YXIgJGE9eCgob2ksVXApPT57dSgpOyJ1c2Ugc3RyaWN0IjtvaS5fX2VzTW9kdWxlPSEwO29pLmRlZmF1bHQ9dm9pZCAwO3ZhciBFaz1UayhMbigpKSxPaz1TZSgpO2Z1bmN0aW9uIFRrKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBSayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIscWEocixlKX1mdW5jdGlvbiBxYShyLGUpe3JldHVybiBxYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LHFhKHIsZSl9dmFyIFBrPWZ1bmN0aW9uKHIpe1JrKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9T2suU0VMRUNUT1IsaX1yZXR1cm4gZX0oRWsuZGVmYXVsdCk7b2kuZGVmYXVsdD1QaztVcC5leHBvcnRzPW9pLmRlZmF1bHR9KTt2YXIgTW49eCgoX0ksVnApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgSWs9e30sRGs9SWsuaGFzT3duUHJvcGVydHkscWs9ZnVuY3Rpb24oZSx0KXtpZighZSlyZXR1cm4gdDt2YXIgaT17fTtmb3IodmFyIG4gaW4gdClpW25dPURrLmNhbGwoZSxuKT9lW25dOnRbbl07cmV0dXJuIGl9LCRrPS9bIC0sXC5cLzotQFxbLVxeYFx7LX5dLyxMaz0vWyAtLFwuXC86LUBcW1xdXF5gXHstfl0vLE1rPS8oXnxcXCspPyhcXFtBLUYwLTldezEsNn0pXHgyMCg/IVthLWZBLUYwLTlceDIwXSkvZyxMYT1mdW5jdGlvbiByKGUsdCl7dD1xayh0LHIub3B0aW9ucyksdC5xdW90ZXMhPSJzaW5nbGUiJiZ0LnF1b3RlcyE9ImRvdWJsZSImJih0LnF1b3Rlcz0ic2luZ2xlIik7Zm9yKHZhciBpPXQucXVvdGVzPT0iZG91YmxlIj8nIic6IiciLG49dC5pc0lkZW50aWZpZXIscz1lLmNoYXJBdCgwKSxhPSIiLG89MCxsPWUubGVuZ3RoO288bDspe3ZhciBjPWUuY2hhckF0KG8rKyksZj1jLmNoYXJDb2RlQXQoKSxkPXZvaWQgMDtpZihmPDMyfHxmPjEyNil7aWYoZj49NTUyOTYmJmY8PTU2MzE5JiZvPGwpe3ZhciBwPWUuY2hhckNvZGVBdChvKyspOyhwJjY0NTEyKT09NTYzMjA/Zj0oKGYmMTAyMyk8PDEwKSsocCYxMDIzKSs2NTUzNjpvLS19ZD0iXFwiK2YudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiAifWVsc2UgdC5lc2NhcGVFdmVyeXRoaW5nPyRrLnRlc3QoYyk/ZD0iXFwiK2M6ZD0iXFwiK2YudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIiAiOi9bXHRcblxmXHJceDBCXS8udGVzdChjKT9kPSJcXCIrZi50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiICI6Yz09IlxcInx8IW4mJihjPT0nIicmJmk9PWN8fGM9PSInIiYmaT09Yyl8fG4mJkxrLnRlc3QoYyk/ZD0iXFwiK2M6ZD1jO2ErPWR9cmV0dXJuIG4mJigvXi1bLVxkXS8udGVzdChhKT9hPSJcXC0iK2Euc2xpY2UoMSk6L1xkLy50ZXN0KHMpJiYoYT0iXFwzIitzKyIgIithLnNsaWNlKDEpKSksYT1hLnJlcGxhY2UoTWssZnVuY3Rpb24oaCxiLHYpe3JldHVybiBiJiZiLmxlbmd0aCUyP2g6KGJ8fCIiKSt2fSksIW4mJnQud3JhcD9pK2EraTphfTtMYS5vcHRpb25zPXtlc2NhcGVFdmVyeXRoaW5nOiExLGlzSWRlbnRpZmllcjohMSxxdW90ZXM6InNpbmdsZSIsd3JhcDohMX07TGEudmVyc2lvbj0iMy4wLjAiO1ZwLmV4cG9ydHM9TGF9KTt2YXIgTmE9eCgobGksR3ApPT57dSgpOyJ1c2Ugc3RyaWN0IjtsaS5fX2VzTW9kdWxlPSEwO2xpLmRlZmF1bHQ9dm9pZCAwO3ZhciBOaz1IcChNbigpKSxCaz1paSgpLEZrPUhwKGR0KCkpLGprPVNlKCk7ZnVuY3Rpb24gSHAocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFdwKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gemsocixlLHQpe3JldHVybiBlJiZXcChyLnByb3RvdHlwZSxlKSx0JiZXcChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gVWsocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLE1hKHIsZSl9ZnVuY3Rpb24gTWEocixlKXtyZXR1cm4gTWE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxNYShyLGUpfXZhciBWaz1mdW5jdGlvbihyKXtVayhlLHIpO2Z1bmN0aW9uIGUoaSl7dmFyIG47cmV0dXJuIG49ci5jYWxsKHRoaXMsaSl8fHRoaXMsbi50eXBlPWprLkNMQVNTLG4uX2NvbnN0cnVjdGVkPSEwLG59dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQudmFsdWVUb1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIuIityLnByb3RvdHlwZS52YWx1ZVRvU3RyaW5nLmNhbGwodGhpcyl9LHprKGUsW3trZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWV9LHNldDpmdW5jdGlvbihuKXtpZih0aGlzLl9jb25zdHJ1Y3RlZCl7dmFyIHM9KDAsTmsuZGVmYXVsdCkobix7aXNJZGVudGlmaWVyOiEwfSk7cyE9PW4/KCgwLEJrLmVuc3VyZU9iamVjdCkodGhpcywicmF3cyIpLHRoaXMucmF3cy52YWx1ZT1zKTp0aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3MudmFsdWV9dGhpcy5fdmFsdWU9bn19XSksZX0oRmsuZGVmYXVsdCk7bGkuZGVmYXVsdD1WaztHcC5leHBvcnRzPWxpLmRlZmF1bHR9KTt2YXIgRmE9eCgodWksUXApPT57dSgpOyJ1c2Ugc3RyaWN0Ijt1aS5fX2VzTW9kdWxlPSEwO3VpLmRlZmF1bHQ9dm9pZCAwO3ZhciBIaz1HayhkdCgpKSxXaz1TZSgpO2Z1bmN0aW9uIEdrKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBRayhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsQmEocixlKX1mdW5jdGlvbiBCYShyLGUpe3JldHVybiBCYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LEJhKHIsZSl9dmFyIFlrPWZ1bmN0aW9uKHIpe1FrKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9V2suQ09NTUVOVCxpfXJldHVybiBlfShIay5kZWZhdWx0KTt1aS5kZWZhdWx0PVlrO1FwLmV4cG9ydHM9dWkuZGVmYXVsdH0pO3ZhciB6YT14KChmaSxZcCk9Pnt1KCk7InVzZSBzdHJpY3QiO2ZpLl9fZXNNb2R1bGU9ITA7ZmkuZGVmYXVsdD12b2lkIDA7dmFyIEtrPVprKGR0KCkpLFhrPVNlKCk7ZnVuY3Rpb24gWmsocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIEprKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixqYShyLGUpfWZ1bmN0aW9uIGphKHIsZSl7cmV0dXJuIGphPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0samEocixlKX12YXIgZVM9ZnVuY3Rpb24ocil7SmsoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4udHlwZT1Yay5JRCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnZhbHVlVG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIyIrci5wcm90b3R5cGUudmFsdWVUb1N0cmluZy5jYWxsKHRoaXMpfSxlfShLay5kZWZhdWx0KTtmaS5kZWZhdWx0PWVTO1lwLmV4cG9ydHM9ZmkuZGVmYXVsdH0pO3ZhciBObj14KChjaSxacCk9Pnt1KCk7InVzZSBzdHJpY3QiO2NpLl9fZXNNb2R1bGU9ITA7Y2kuZGVmYXVsdD12b2lkIDA7dmFyIHRTPUtwKE1uKCkpLHJTPWlpKCksaVM9S3AoZHQoKSk7ZnVuY3Rpb24gS3Aocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFhwKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gblMocixlLHQpe3JldHVybiBlJiZYcChyLnByb3RvdHlwZSxlKSx0JiZYcChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gc1MocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFVhKHIsZSl9ZnVuY3Rpb24gVWEocixlKXtyZXR1cm4gVWE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxVYShyLGUpfXZhciBhUz1mdW5jdGlvbihyKXtzUyhlLHIpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gci5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQucXVhbGlmaWVkTmFtZT1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5uYW1lc3BhY2U/dGhpcy5uYW1lc3BhY2VTdHJpbmcrInwiK246bn0sdC52YWx1ZVRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVhbGlmaWVkTmFtZShyLnByb3RvdHlwZS52YWx1ZVRvU3RyaW5nLmNhbGwodGhpcykpfSxuUyhlLFt7a2V5OiJuYW1lc3BhY2UiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uYW1lc3BhY2V9LHNldDpmdW5jdGlvbihuKXtpZihuPT09ITB8fG49PT0iKiJ8fG49PT0iJiIpe3RoaXMuX25hbWVzcGFjZT1uLHRoaXMucmF3cyYmZGVsZXRlIHRoaXMucmF3cy5uYW1lc3BhY2U7cmV0dXJufXZhciBzPSgwLHRTLmRlZmF1bHQpKG4se2lzSWRlbnRpZmllcjohMH0pO3RoaXMuX25hbWVzcGFjZT1uLHMhPT1uPygoMCxyUy5lbnN1cmVPYmplY3QpKHRoaXMsInJhd3MiKSx0aGlzLnJhd3MubmFtZXNwYWNlPXMpOnRoaXMucmF3cyYmZGVsZXRlIHRoaXMucmF3cy5uYW1lc3BhY2V9fSx7a2V5OiJucyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25hbWVzcGFjZX0sc2V0OmZ1bmN0aW9uKG4pe3RoaXMubmFtZXNwYWNlPW59fSx7a2V5OiJuYW1lc3BhY2VTdHJpbmciLGdldDpmdW5jdGlvbigpe2lmKHRoaXMubmFtZXNwYWNlKXt2YXIgbj10aGlzLnN0cmluZ2lmeVByb3BlcnR5KCJuYW1lc3BhY2UiKTtyZXR1cm4gbj09PSEwPyIiOm59ZWxzZSByZXR1cm4iIn19XSksZX0oaVMuZGVmYXVsdCk7Y2kuZGVmYXVsdD1hUztacC5leHBvcnRzPWNpLmRlZmF1bHR9KTt2YXIgSGE9eCgocGksSnApPT57dSgpOyJ1c2Ugc3RyaWN0IjtwaS5fX2VzTW9kdWxlPSEwO3BpLmRlZmF1bHQ9dm9pZCAwO3ZhciBvUz11UyhObigpKSxsUz1TZSgpO2Z1bmN0aW9uIHVTKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBmUyhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsVmEocixlKX1mdW5jdGlvbiBWYShyLGUpe3JldHVybiBWYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LFZhKHIsZSl9dmFyIGNTPWZ1bmN0aW9uKHIpe2ZTKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9bFMuVEFHLGl9cmV0dXJuIGV9KG9TLmRlZmF1bHQpO3BpLmRlZmF1bHQ9Y1M7SnAuZXhwb3J0cz1waS5kZWZhdWx0fSk7dmFyIEdhPXgoKGRpLGVkKT0+e3UoKTsidXNlIHN0cmljdCI7ZGkuX19lc01vZHVsZT0hMDtkaS5kZWZhdWx0PXZvaWQgMDt2YXIgcFM9aFMoZHQoKSksZFM9U2UoKTtmdW5jdGlvbiBoUyhyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19ZnVuY3Rpb24gbVMocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFdhKHIsZSl9ZnVuY3Rpb24gV2EocixlKXtyZXR1cm4gV2E9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxXYShyLGUpfXZhciBnUz1mdW5jdGlvbihyKXttUyhlLHIpO2Z1bmN0aW9uIGUodCl7dmFyIGk7cmV0dXJuIGk9ci5jYWxsKHRoaXMsdCl8fHRoaXMsaS50eXBlPWRTLlNUUklORyxpfXJldHVybiBlfShwUy5kZWZhdWx0KTtkaS5kZWZhdWx0PWdTO2VkLmV4cG9ydHM9ZGkuZGVmYXVsdH0pO3ZhciBZYT14KChoaSx0ZCk9Pnt1KCk7InVzZSBzdHJpY3QiO2hpLl9fZXNNb2R1bGU9ITA7aGkuZGVmYXVsdD12b2lkIDA7dmFyIHlTPXdTKExuKCkpLGJTPVNlKCk7ZnVuY3Rpb24gd1Mocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIHZTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixRYShyLGUpfWZ1bmN0aW9uIFFhKHIsZSl7cmV0dXJuIFFhPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sUWEocixlKX12YXIgeFM9ZnVuY3Rpb24ocil7dlMoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBuPXIuY2FsbCh0aGlzLGkpfHx0aGlzLG4udHlwZT1iUy5QU0VVRE8sbn12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC50b1N0cmluZz1mdW5jdGlvbigpe3ZhciBuPXRoaXMubGVuZ3RoPyIoIit0aGlzLm1hcChTdHJpbmcpLmpvaW4oIiwiKSsiKSI6IiI7cmV0dXJuW3RoaXMucmF3U3BhY2VCZWZvcmUsdGhpcy5zdHJpbmdpZnlQcm9wZXJ0eSgidmFsdWUiKSxuLHRoaXMucmF3U3BhY2VBZnRlcl0uam9pbigiIil9LGV9KHlTLmRlZmF1bHQpO2hpLmRlZmF1bHQ9eFM7dGQuZXhwb3J0cz1oaS5kZWZhdWx0fSk7dmFyIEJuPXt9O0dlKEJuLHtkZXByZWNhdGU6KCk9PmtTfSk7ZnVuY3Rpb24ga1Mocil7cmV0dXJuIHJ9dmFyIEZuPVAoKCk9Pnt1KCl9KTt2YXIgaWQ9eCgoRUkscmQpPT57dSgpO3JkLmV4cG9ydHM9KEZuKCksQm4pLmRlcHJlY2F0ZX0pO3ZhciB0bz14KHlpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt5aS5fX2VzTW9kdWxlPSEwO3lpLmRlZmF1bHQ9dm9pZCAwO3lpLnVuZXNjYXBlVmFsdWU9SmE7dmFyIG1pPVhhKE1uKCkpLFNTPVhhKFBuKCkpLEFTPVhhKE5uKCkpLENTPVNlKCksS2E7ZnVuY3Rpb24gWGEocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIG5kKHIsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBpPWVbdF07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLmtleSxpKX19ZnVuY3Rpb24gX1MocixlLHQpe3JldHVybiBlJiZuZChyLnByb3RvdHlwZSxlKSx0JiZuZChyLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHJ9ZnVuY3Rpb24gRVMocixlKXtyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLFphKHIsZSl9ZnVuY3Rpb24gWmEocixlKXtyZXR1cm4gWmE9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24oaSxuKXtyZXR1cm4gaS5fX3Byb3RvX189bixpfSxaYShyLGUpfXZhciBnaT1pZCgpLE9TPS9eKCd8IikoW15dKilcMSQvLFRTPWdpKGZ1bmN0aW9uKCl7fSwiQXNzaWduaW5nIGFuIGF0dHJpYnV0ZSBhIHZhbHVlIGNvbnRhaW5pbmcgY2hhcmFjdGVycyB0aGF0IG1pZ2h0IG5lZWQgdG8gYmUgZXNjYXBlZCBpcyBkZXByZWNhdGVkLiBDYWxsIGF0dHJpYnV0ZS5zZXRWYWx1ZSgpIGluc3RlYWQuIiksUlM9Z2koZnVuY3Rpb24oKXt9LCJBc3NpZ25pbmcgYXR0ci5xdW90ZWQgaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIGVmZmVjdC4gQXNzaWduIHRvIGF0dHIucXVvdGVNYXJrIGluc3RlYWQuIiksUFM9Z2koZnVuY3Rpb24oKXt9LCJDb25zdHJ1Y3RpbmcgYW4gQXR0cmlidXRlIHNlbGVjdG9yIHdpdGggYSB2YWx1ZSB3aXRob3V0IHNwZWNpZnlpbmcgcXVvdGVNYXJrIGlzIGRlcHJlY2F0ZWQuIE5vdGU6IFRoZSB2YWx1ZSBzaG91bGQgYmUgdW5lc2NhcGVkIG5vdy4iKTtmdW5jdGlvbiBKYShyKXt2YXIgZT0hMSx0PW51bGwsaT1yLG49aS5tYXRjaChPUyk7cmV0dXJuIG4mJih0PW5bMV0saT1uWzJdKSxpPSgwLFNTLmRlZmF1bHQpKGkpLGkhPT1yJiYoZT0hMCkse2RlcHJlY2F0ZWRVc2FnZTplLHVuZXNjYXBlZDppLHF1b3RlTWFyazp0fX1mdW5jdGlvbiBJUyhyKXtpZihyLnF1b3RlTWFyayE9PXZvaWQgMHx8ci52YWx1ZT09PXZvaWQgMClyZXR1cm4gcjtQUygpO3ZhciBlPUphKHIudmFsdWUpLHQ9ZS5xdW90ZU1hcmssaT1lLnVuZXNjYXBlZDtyZXR1cm4gci5yYXdzfHwoci5yYXdzPXt9KSxyLnJhd3MudmFsdWU9PT12b2lkIDAmJihyLnJhd3MudmFsdWU9ci52YWx1ZSksci52YWx1ZT1pLHIucXVvdGVNYXJrPXQscn12YXIgam49ZnVuY3Rpb24ocil7RVMoZSxyKTtmdW5jdGlvbiBlKGkpe3ZhciBuO3JldHVybiBpPT09dm9pZCAwJiYoaT17fSksbj1yLmNhbGwodGhpcyxJUyhpKSl8fHRoaXMsbi50eXBlPUNTLkFUVFJJQlVURSxuLnJhd3M9bi5yYXdzfHx7fSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5yYXdzLCJ1bnF1b3RlZCIse2dldDpnaShmdW5jdGlvbigpe3JldHVybiBuLnZhbHVlfSwiYXR0ci5yYXdzLnVucXVvdGVkIGlzIGRlcHJlY2F0ZWQuIENhbGwgYXR0ci52YWx1ZSBpbnN0ZWFkLiIpLHNldDpnaShmdW5jdGlvbigpe3JldHVybiBuLnZhbHVlfSwiU2V0dGluZyBhdHRyLnJhd3MudW5xdW90ZWQgaXMgZGVwcmVjYXRlZCBhbmQgaGFzIG5vIGVmZmVjdC4gYXR0ci52YWx1ZSBpcyB1bmVzY2FwZWQgYnkgZGVmYXVsdCBub3cuIil9KSxuLl9jb25zdHJ1Y3RlZD0hMCxufXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LmdldFF1b3RlZFZhbHVlPWZ1bmN0aW9uKG4pe249PT12b2lkIDAmJihuPXt9KTt2YXIgcz10aGlzLl9kZXRlcm1pbmVRdW90ZU1hcmsobiksYT1lb1tzXSxvPSgwLG1pLmRlZmF1bHQpKHRoaXMuX3ZhbHVlLGEpO3JldHVybiBvfSx0Ll9kZXRlcm1pbmVRdW90ZU1hcms9ZnVuY3Rpb24obil7cmV0dXJuIG4uc21hcnQ/dGhpcy5zbWFydFF1b3RlTWFyayhuKTp0aGlzLnByZWZlcnJlZFF1b3RlTWFyayhuKX0sdC5zZXRWYWx1ZT1mdW5jdGlvbihuLHMpe3M9PT12b2lkIDAmJihzPXt9KSx0aGlzLl92YWx1ZT1uLHRoaXMuX3F1b3RlTWFyaz10aGlzLl9kZXRlcm1pbmVRdW90ZU1hcmsocyksdGhpcy5fc3luY1Jhd1ZhbHVlKCl9LHQuc21hcnRRdW90ZU1hcms9ZnVuY3Rpb24obil7dmFyIHM9dGhpcy52YWx1ZSxhPXMucmVwbGFjZSgvW14nXS9nLCIiKS5sZW5ndGgsbz1zLnJlcGxhY2UoL1teIl0vZywiIikubGVuZ3RoO2lmKGErbz09PTApe3ZhciBsPSgwLG1pLmRlZmF1bHQpKHMse2lzSWRlbnRpZmllcjohMH0pO2lmKGw9PT1zKXJldHVybiBlLk5PX1FVT1RFO3ZhciBjPXRoaXMucHJlZmVycmVkUXVvdGVNYXJrKG4pO2lmKGM9PT1lLk5PX1FVT1RFKXt2YXIgZj10aGlzLnF1b3RlTWFya3x8bi5xdW90ZU1hcmt8fGUuRE9VQkxFX1FVT1RFLGQ9ZW9bZl0scD0oMCxtaS5kZWZhdWx0KShzLGQpO2lmKHAubGVuZ3RoPGwubGVuZ3RoKXJldHVybiBmfXJldHVybiBjfWVsc2UgcmV0dXJuIG89PT1hP3RoaXMucHJlZmVycmVkUXVvdGVNYXJrKG4pOm88YT9lLkRPVUJMRV9RVU9URTplLlNJTkdMRV9RVU9URX0sdC5wcmVmZXJyZWRRdW90ZU1hcms9ZnVuY3Rpb24obil7dmFyIHM9bi5wcmVmZXJDdXJyZW50UXVvdGVNYXJrP3RoaXMucXVvdGVNYXJrOm4ucXVvdGVNYXJrO3JldHVybiBzPT09dm9pZCAwJiYocz1uLnByZWZlckN1cnJlbnRRdW90ZU1hcms/bi5xdW90ZU1hcms6dGhpcy5xdW90ZU1hcmspLHM9PT12b2lkIDAmJihzPWUuRE9VQkxFX1FVT1RFKSxzfSx0Ll9zeW5jUmF3VmFsdWU9ZnVuY3Rpb24oKXt2YXIgbj0oMCxtaS5kZWZhdWx0KSh0aGlzLl92YWx1ZSxlb1t0aGlzLnF1b3RlTWFya10pO249PT10aGlzLl92YWx1ZT90aGlzLnJhd3MmJmRlbGV0ZSB0aGlzLnJhd3MudmFsdWU6dGhpcy5yYXdzLnZhbHVlPW59LHQuX2hhbmRsZUVzY2FwZXM9ZnVuY3Rpb24obixzKXtpZih0aGlzLl9jb25zdHJ1Y3RlZCl7dmFyIGE9KDAsbWkuZGVmYXVsdCkocyx7aXNJZGVudGlmaWVyOiEwfSk7YSE9PXM/dGhpcy5yYXdzW25dPWE6ZGVsZXRlIHRoaXMucmF3c1tuXX19LHQuX3NwYWNlc0Zvcj1mdW5jdGlvbihuKXt2YXIgcz17YmVmb3JlOiIiLGFmdGVyOiIifSxhPXRoaXMuc3BhY2VzW25dfHx7fSxvPXRoaXMucmF3cy5zcGFjZXMmJnRoaXMucmF3cy5zcGFjZXNbbl18fHt9O3JldHVybiBPYmplY3QuYXNzaWduKHMsYSxvKX0sdC5fc3RyaW5nRm9yPWZ1bmN0aW9uKG4scyxhKXtzPT09dm9pZCAwJiYocz1uKSxhPT09dm9pZCAwJiYoYT1zZCk7dmFyIG89dGhpcy5fc3BhY2VzRm9yKHMpO3JldHVybiBhKHRoaXMuc3RyaW5naWZ5UHJvcGVydHkobiksbyl9LHQub2Zmc2V0T2Y9ZnVuY3Rpb24obil7dmFyIHM9MSxhPXRoaXMuX3NwYWNlc0ZvcigiYXR0cmlidXRlIik7aWYocys9YS5iZWZvcmUubGVuZ3RoLG49PT0ibmFtZXNwYWNlInx8bj09PSJucyIpcmV0dXJuIHRoaXMubmFtZXNwYWNlP3M6LTE7aWYobj09PSJhdHRyaWJ1dGVOUyJ8fChzKz10aGlzLm5hbWVzcGFjZVN0cmluZy5sZW5ndGgsdGhpcy5uYW1lc3BhY2UmJihzKz0xKSxuPT09ImF0dHJpYnV0ZSIpKXJldHVybiBzO3MrPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoImF0dHJpYnV0ZSIpLmxlbmd0aCxzKz1hLmFmdGVyLmxlbmd0aDt2YXIgbz10aGlzLl9zcGFjZXNGb3IoIm9wZXJhdG9yIik7cys9by5iZWZvcmUubGVuZ3RoO3ZhciBsPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoIm9wZXJhdG9yIik7aWYobj09PSJvcGVyYXRvciIpcmV0dXJuIGw/czotMTtzKz1sLmxlbmd0aCxzKz1vLmFmdGVyLmxlbmd0aDt2YXIgYz10aGlzLl9zcGFjZXNGb3IoInZhbHVlIik7cys9Yy5iZWZvcmUubGVuZ3RoO3ZhciBmPXRoaXMuc3RyaW5naWZ5UHJvcGVydHkoInZhbHVlIik7aWYobj09PSJ2YWx1ZSIpcmV0dXJuIGY/czotMTtzKz1mLmxlbmd0aCxzKz1jLmFmdGVyLmxlbmd0aDt2YXIgZD10aGlzLl9zcGFjZXNGb3IoImluc2Vuc2l0aXZlIik7cmV0dXJuIHMrPWQuYmVmb3JlLmxlbmd0aCxuPT09Imluc2Vuc2l0aXZlIiYmdGhpcy5pbnNlbnNpdGl2ZT9zOi0xfSx0LnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIG49dGhpcyxzPVt0aGlzLnJhd1NwYWNlQmVmb3JlLCJbIl07cmV0dXJuIHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoInF1YWxpZmllZEF0dHJpYnV0ZSIsImF0dHJpYnV0ZSIpKSx0aGlzLm9wZXJhdG9yJiYodGhpcy52YWx1ZXx8dGhpcy52YWx1ZT09PSIiKSYmKHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoIm9wZXJhdG9yIikpLHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoInZhbHVlIikpLHMucHVzaCh0aGlzLl9zdHJpbmdGb3IoImluc2Vuc2l0aXZlRmxhZyIsImluc2Vuc2l0aXZlIixmdW5jdGlvbihhLG8pe3JldHVybiBhLmxlbmd0aD4wJiYhbi5xdW90ZWQmJm8uYmVmb3JlLmxlbmd0aD09PTAmJiEobi5zcGFjZXMudmFsdWUmJm4uc3BhY2VzLnZhbHVlLmFmdGVyKSYmKG8uYmVmb3JlPSIgIiksc2QoYSxvKX0pKSkscy5wdXNoKCJdIikscy5wdXNoKHRoaXMucmF3U3BhY2VBZnRlcikscy5qb2luKCIiKX0sX1MoZSxbe2tleToicXVvdGVkIixnZXQ6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLnF1b3RlTWFyaztyZXR1cm4gbj09PSInInx8bj09PSciJ30sc2V0OmZ1bmN0aW9uKG4pe1JTKCl9fSx7a2V5OiJxdW90ZU1hcmsiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9xdW90ZU1hcmt9LHNldDpmdW5jdGlvbihuKXtpZighdGhpcy5fY29uc3RydWN0ZWQpe3RoaXMuX3F1b3RlTWFyaz1uO3JldHVybn10aGlzLl9xdW90ZU1hcmshPT1uJiYodGhpcy5fcXVvdGVNYXJrPW4sdGhpcy5fc3luY1Jhd1ZhbHVlKCkpfX0se2tleToicXVhbGlmaWVkQXR0cmlidXRlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWFsaWZpZWROYW1lKHRoaXMucmF3cy5hdHRyaWJ1dGV8fHRoaXMuYXR0cmlidXRlKX19LHtrZXk6Imluc2Vuc2l0aXZlRmxhZyIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZW5zaXRpdmU/ImkiOiIifX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl92YWx1ZX0sc2V0OmZ1bmN0aW9uKG4pe2lmKHRoaXMuX2NvbnN0cnVjdGVkKXt2YXIgcz1KYShuKSxhPXMuZGVwcmVjYXRlZFVzYWdlLG89cy51bmVzY2FwZWQsbD1zLnF1b3RlTWFyaztpZihhJiZUUygpLG89PT10aGlzLl92YWx1ZSYmbD09PXRoaXMuX3F1b3RlTWFyaylyZXR1cm47dGhpcy5fdmFsdWU9byx0aGlzLl9xdW90ZU1hcms9bCx0aGlzLl9zeW5jUmF3VmFsdWUoKX1lbHNlIHRoaXMuX3ZhbHVlPW59fSx7a2V5OiJpbnNlbnNpdGl2ZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2luc2Vuc2l0aXZlfSxzZXQ6ZnVuY3Rpb24obil7bnx8KHRoaXMuX2luc2Vuc2l0aXZlPSExLHRoaXMucmF3cyYmKHRoaXMucmF3cy5pbnNlbnNpdGl2ZUZsYWc9PT0iSSJ8fHRoaXMucmF3cy5pbnNlbnNpdGl2ZUZsYWc9PT0iaSIpJiYodGhpcy5yYXdzLmluc2Vuc2l0aXZlRmxhZz12b2lkIDApKSx0aGlzLl9pbnNlbnNpdGl2ZT1ufX0se2tleToiYXR0cmlidXRlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXR0cmlidXRlfSxzZXQ6ZnVuY3Rpb24obil7dGhpcy5faGFuZGxlRXNjYXBlcygiYXR0cmlidXRlIixuKSx0aGlzLl9hdHRyaWJ1dGU9bn19XSksZX0oQVMuZGVmYXVsdCk7eWkuZGVmYXVsdD1qbjtqbi5OT19RVU9URT1udWxsO2puLlNJTkdMRV9RVU9URT0iJyI7am4uRE9VQkxFX1FVT1RFPSciJzt2YXIgZW89KEthPXsiJyI6e3F1b3Rlczoic2luZ2xlIix3cmFwOiEwfSwnIic6e3F1b3RlczoiZG91YmxlIix3cmFwOiEwfX0sS2FbbnVsbF09e2lzSWRlbnRpZmllcjohMH0sS2EpO2Z1bmN0aW9uIHNkKHIsZSl7cmV0dXJuIiIrZS5iZWZvcmUrcitlLmFmdGVyfX0pO3ZhciBpbz14KChiaSxhZCk9Pnt1KCk7InVzZSBzdHJpY3QiO2JpLl9fZXNNb2R1bGU9ITA7YmkuZGVmYXVsdD12b2lkIDA7dmFyIERTPSRTKE5uKCkpLHFTPVNlKCk7ZnVuY3Rpb24gJFMocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIExTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixybyhyLGUpfWZ1bmN0aW9uIHJvKHIsZSl7cmV0dXJuIHJvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0scm8ocixlKX12YXIgTVM9ZnVuY3Rpb24ocil7TFMoZSxyKTtmdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiBpPXIuY2FsbCh0aGlzLHQpfHx0aGlzLGkudHlwZT1xUy5VTklWRVJTQUwsaS52YWx1ZT0iKiIsaX1yZXR1cm4gZX0oRFMuZGVmYXVsdCk7YmkuZGVmYXVsdD1NUzthZC5leHBvcnRzPWJpLmRlZmF1bHR9KTt2YXIgc289eCgod2ksb2QpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt3aS5fX2VzTW9kdWxlPSEwO3dpLmRlZmF1bHQ9dm9pZCAwO3ZhciBOUz1GUyhkdCgpKSxCUz1TZSgpO2Z1bmN0aW9uIEZTKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBqUyhyLGUpe3IucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUpLHIucHJvdG90eXBlLmNvbnN0cnVjdG9yPXIsbm8ocixlKX1mdW5jdGlvbiBubyhyLGUpe3JldHVybiBubz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbihpLG4pe3JldHVybiBpLl9fcHJvdG9fXz1uLGl9LG5vKHIsZSl9dmFyIHpTPWZ1bmN0aW9uKHIpe2pTKGUscik7ZnVuY3Rpb24gZSh0KXt2YXIgaTtyZXR1cm4gaT1yLmNhbGwodGhpcyx0KXx8dGhpcyxpLnR5cGU9QlMuQ09NQklOQVRPUixpfXJldHVybiBlfShOUy5kZWZhdWx0KTt3aS5kZWZhdWx0PXpTO29kLmV4cG9ydHM9d2kuZGVmYXVsdH0pO3ZhciBvbz14KCh2aSxsZCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZpLl9fZXNNb2R1bGU9ITA7dmkuZGVmYXVsdD12b2lkIDA7dmFyIFVTPUhTKGR0KCkpLFZTPVNlKCk7ZnVuY3Rpb24gSFMocil7cmV0dXJuIHImJnIuX19lc01vZHVsZT9yOntkZWZhdWx0OnJ9fWZ1bmN0aW9uIFdTKHIsZSl7ci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixhbyhyLGUpfWZ1bmN0aW9uIGFvKHIsZSl7cmV0dXJuIGFvPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGksbil7cmV0dXJuIGkuX19wcm90b19fPW4saX0sYW8ocixlKX12YXIgR1M9ZnVuY3Rpb24ocil7V1MoZSxyKTtmdW5jdGlvbiBlKHQpe3ZhciBpO3JldHVybiBpPXIuY2FsbCh0aGlzLHQpfHx0aGlzLGkudHlwZT1WUy5ORVNUSU5HLGkudmFsdWU9IiYiLGl9cmV0dXJuIGV9KFVTLmRlZmF1bHQpO3ZpLmRlZmF1bHQ9R1M7bGQuZXhwb3J0cz12aS5kZWZhdWx0fSk7dmFyIGZkPXgoKHpuLHVkKT0+e3UoKTsidXNlIHN0cmljdCI7em4uX19lc01vZHVsZT0hMDt6bi5kZWZhdWx0PVFTO2Z1bmN0aW9uIFFTKHIpe3JldHVybiByLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS10fSl9dWQuZXhwb3J0cz16bi5kZWZhdWx0fSk7dmFyIGxvPXgoTT0+e3UoKTsidXNlIHN0cmljdCI7TS5fX2VzTW9kdWxlPSEwO00ud29yZD1NLnRpbGRlPU0udGFiPU0uc3RyPU0uc3BhY2U9TS5zbGFzaD1NLnNpbmdsZVF1b3RlPU0uc2VtaWNvbG9uPU0ucGx1cz1NLnBpcGU9TS5vcGVuU3F1YXJlPU0ub3BlblBhcmVudGhlc2lzPU0ubmV3bGluZT1NLmdyZWF0ZXJUaGFuPU0uZmVlZD1NLmVxdWFscz1NLmRvdWJsZVF1b3RlPU0uZG9sbGFyPU0uY3I9TS5jb21tZW50PU0uY29tbWE9TS5jb21iaW5hdG9yPU0uY29sb249TS5jbG9zZVNxdWFyZT1NLmNsb3NlUGFyZW50aGVzaXM9TS5jYXJldD1NLmJhbmc9TS5iYWNrc2xhc2g9TS5hdD1NLmFzdGVyaXNrPU0uYW1wZXJzYW5kPXZvaWQgMDt2YXIgWVM9Mzg7TS5hbXBlcnNhbmQ9WVM7dmFyIEtTPTQyO00uYXN0ZXJpc2s9S1M7dmFyIFhTPTY0O00uYXQ9WFM7dmFyIFpTPTQ0O00uY29tbWE9WlM7dmFyIEpTPTU4O00uY29sb249SlM7dmFyIGVBPTU5O00uc2VtaWNvbG9uPWVBO3ZhciB0QT00MDtNLm9wZW5QYXJlbnRoZXNpcz10QTt2YXIgckE9NDE7TS5jbG9zZVBhcmVudGhlc2lzPXJBO3ZhciBpQT05MTtNLm9wZW5TcXVhcmU9aUE7dmFyIG5BPTkzO00uY2xvc2VTcXVhcmU9bkE7dmFyIHNBPTM2O00uZG9sbGFyPXNBO3ZhciBhQT0xMjY7TS50aWxkZT1hQTt2YXIgb0E9OTQ7TS5jYXJldD1vQTt2YXIgbEE9NDM7TS5wbHVzPWxBO3ZhciB1QT02MTtNLmVxdWFscz11QTt2YXIgZkE9MTI0O00ucGlwZT1mQTt2YXIgY0E9NjI7TS5ncmVhdGVyVGhhbj1jQTt2YXIgcEE9MzI7TS5zcGFjZT1wQTt2YXIgY2Q9Mzk7TS5zaW5nbGVRdW90ZT1jZDt2YXIgZEE9MzQ7TS5kb3VibGVRdW90ZT1kQTt2YXIgaEE9NDc7TS5zbGFzaD1oQTt2YXIgbUE9MzM7TS5iYW5nPW1BO3ZhciBnQT05MjtNLmJhY2tzbGFzaD1nQTt2YXIgeUE9MTM7TS5jcj15QTt2YXIgYkE9MTI7TS5mZWVkPWJBO3ZhciB3QT0xMDtNLm5ld2xpbmU9d0E7dmFyIHZBPTk7TS50YWI9dkE7dmFyIHhBPWNkO00uc3RyPXhBO3ZhciBrQT0tMTtNLmNvbW1lbnQ9a0E7dmFyIFNBPS0yO00ud29yZD1TQTt2YXIgQUE9LTM7TS5jb21iaW5hdG9yPUFBfSk7dmFyIGhkPXgoeGk9Pnt1KCk7InVzZSBzdHJpY3QiO3hpLl9fZXNNb2R1bGU9ITA7eGkuRklFTERTPXZvaWQgMDt4aS5kZWZhdWx0PVBBO3ZhciBEPUNBKGxvKCkpLG5yLHRlO2Z1bmN0aW9uIHBkKHIpe2lmKHR5cGVvZiBXZWFrTWFwIT0iZnVuY3Rpb24iKXJldHVybiBudWxsO3ZhciBlPW5ldyBXZWFrTWFwLHQ9bmV3IFdlYWtNYXA7cmV0dXJuKHBkPWZ1bmN0aW9uKG4pe3JldHVybiBuP3Q6ZX0pKHIpfWZ1bmN0aW9uIENBKHIsZSl7aWYoIWUmJnImJnIuX19lc01vZHVsZSlyZXR1cm4gcjtpZihyPT09bnVsbHx8dHlwZW9mIHIhPSJvYmplY3QiJiZ0eXBlb2YgciE9ImZ1bmN0aW9uIilyZXR1cm57ZGVmYXVsdDpyfTt2YXIgdD1wZChlKTtpZih0JiZ0LmhhcyhyKSlyZXR1cm4gdC5nZXQocik7dmFyIGk9e30sbj1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBzIGluIHIpaWYocyE9PSJkZWZhdWx0IiYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIscykpe3ZhciBhPW4/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLHMpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGkscyxhKTppW3NdPXJbc119cmV0dXJuIGkuZGVmYXVsdD1yLHQmJnQuc2V0KHIsaSksaX12YXIgX0E9KG5yPXt9LG5yW0QudGFiXT0hMCxucltELm5ld2xpbmVdPSEwLG5yW0QuY3JdPSEwLG5yW0QuZmVlZF09ITAsbnIpLEVBPSh0ZT17fSx0ZVtELnNwYWNlXT0hMCx0ZVtELnRhYl09ITAsdGVbRC5uZXdsaW5lXT0hMCx0ZVtELmNyXT0hMCx0ZVtELmZlZWRdPSEwLHRlW0QuYW1wZXJzYW5kXT0hMCx0ZVtELmFzdGVyaXNrXT0hMCx0ZVtELmJhbmddPSEwLHRlW0QuY29tbWFdPSEwLHRlW0QuY29sb25dPSEwLHRlW0Quc2VtaWNvbG9uXT0hMCx0ZVtELm9wZW5QYXJlbnRoZXNpc109ITAsdGVbRC5jbG9zZVBhcmVudGhlc2lzXT0hMCx0ZVtELm9wZW5TcXVhcmVdPSEwLHRlW0QuY2xvc2VTcXVhcmVdPSEwLHRlW0Quc2luZ2xlUXVvdGVdPSEwLHRlW0QuZG91YmxlUXVvdGVdPSEwLHRlW0QucGx1c109ITAsdGVbRC5waXBlXT0hMCx0ZVtELnRpbGRlXT0hMCx0ZVtELmdyZWF0ZXJUaGFuXT0hMCx0ZVtELmVxdWFsc109ITAsdGVbRC5kb2xsYXJdPSEwLHRlW0QuY2FyZXRdPSEwLHRlW0Quc2xhc2hdPSEwLHRlKSx1bz17fSxkZD0iMDEyMzQ1Njc4OWFiY2RlZkFCQ0RFRiI7Zm9yKFVuPTA7VW48ZGQubGVuZ3RoO1VuKyspdW9bZGQuY2hhckNvZGVBdChVbildPSEwO3ZhciBVbjtmdW5jdGlvbiBPQShyLGUpe3ZhciB0PWUsaTtkb3tpZihpPXIuY2hhckNvZGVBdCh0KSxFQVtpXSlyZXR1cm4gdC0xO2k9PT1ELmJhY2tzbGFzaD90PVRBKHIsdCkrMTp0Kyt9d2hpbGUodDxyLmxlbmd0aCk7cmV0dXJuIHQtMX1mdW5jdGlvbiBUQShyLGUpe3ZhciB0PWUsaT1yLmNoYXJDb2RlQXQodCsxKTtpZighX0FbaV0paWYodW9baV0pe3ZhciBuPTA7ZG8gdCsrLG4rKyxpPXIuY2hhckNvZGVBdCh0KzEpO3doaWxlKHVvW2ldJiZuPDYpO248NiYmaT09PUQuc3BhY2UmJnQrK31lbHNlIHQrKztyZXR1cm4gdH12YXIgUkE9e1RZUEU6MCxTVEFSVF9MSU5FOjEsU1RBUlRfQ09MOjIsRU5EX0xJTkU6MyxFTkRfQ09MOjQsU1RBUlRfUE9TOjUsRU5EX1BPUzo2fTt4aS5GSUVMRFM9UkE7ZnVuY3Rpb24gUEEocil7dmFyIGU9W10sdD1yLmNzcy52YWx1ZU9mKCksaT10LG49aS5sZW5ndGgscz0tMSxhPTEsbz0wLGw9MCxjLGYsZCxwLGgsYix2LHksdyxrLFMsRSxUO2Z1bmN0aW9uIEIoTixSKXtpZihyLnNhZmUpdCs9Uix3PXQubGVuZ3RoLTE7ZWxzZSB0aHJvdyByLmVycm9yKCJVbmNsb3NlZCAiK04sYSxvLXMsbyl9Zm9yKDtvPG47KXtzd2l0Y2goYz10LmNoYXJDb2RlQXQobyksYz09PUQubmV3bGluZSYmKHM9byxhKz0xKSxjKXtjYXNlIEQuc3BhY2U6Y2FzZSBELnRhYjpjYXNlIEQubmV3bGluZTpjYXNlIEQuY3I6Y2FzZSBELmZlZWQ6dz1vO2RvIHcrPTEsYz10LmNoYXJDb2RlQXQodyksYz09PUQubmV3bGluZSYmKHM9dyxhKz0xKTt3aGlsZShjPT09RC5zcGFjZXx8Yz09PUQubmV3bGluZXx8Yz09PUQudGFifHxjPT09RC5jcnx8Yz09PUQuZmVlZCk7VD1ELnNwYWNlLHA9YSxkPXctcy0xLGw9dzticmVhaztjYXNlIEQucGx1czpjYXNlIEQuZ3JlYXRlclRoYW46Y2FzZSBELnRpbGRlOmNhc2UgRC5waXBlOnc9bztkbyB3Kz0xLGM9dC5jaGFyQ29kZUF0KHcpO3doaWxlKGM9PT1ELnBsdXN8fGM9PT1ELmdyZWF0ZXJUaGFufHxjPT09RC50aWxkZXx8Yz09PUQucGlwZSk7VD1ELmNvbWJpbmF0b3IscD1hLGQ9by1zLGw9dzticmVhaztjYXNlIEQuYXN0ZXJpc2s6Y2FzZSBELmFtcGVyc2FuZDpjYXNlIEQuYmFuZzpjYXNlIEQuY29tbWE6Y2FzZSBELmVxdWFsczpjYXNlIEQuZG9sbGFyOmNhc2UgRC5jYXJldDpjYXNlIEQub3BlblNxdWFyZTpjYXNlIEQuY2xvc2VTcXVhcmU6Y2FzZSBELmNvbG9uOmNhc2UgRC5zZW1pY29sb246Y2FzZSBELm9wZW5QYXJlbnRoZXNpczpjYXNlIEQuY2xvc2VQYXJlbnRoZXNpczp3PW8sVD1jLHA9YSxkPW8tcyxsPXcrMTticmVhaztjYXNlIEQuc2luZ2xlUXVvdGU6Y2FzZSBELmRvdWJsZVF1b3RlOkU9Yz09PUQuc2luZ2xlUXVvdGU/IiciOiciJyx3PW87ZG8gZm9yKGg9ITEsdz10LmluZGV4T2YoRSx3KzEpLHc9PT0tMSYmQigicXVvdGUiLEUpLGI9dzt0LmNoYXJDb2RlQXQoYi0xKT09PUQuYmFja3NsYXNoOyliLT0xLGg9IWg7d2hpbGUoaCk7VD1ELnN0cixwPWEsZD1vLXMsbD13KzE7YnJlYWs7ZGVmYXVsdDpjPT09RC5zbGFzaCYmdC5jaGFyQ29kZUF0KG8rMSk9PT1ELmFzdGVyaXNrPyh3PXQuaW5kZXhPZigiKi8iLG8rMikrMSx3PT09MCYmQigiY29tbWVudCIsIiovIiksZj10LnNsaWNlKG8sdysxKSx5PWYuc3BsaXQoYApgKSx2PXkubGVuZ3RoLTEsdj4wPyhrPWErdixTPXcteVt2XS5sZW5ndGgpOihrPWEsUz1zKSxUPUQuY29tbWVudCxhPWsscD1rLGQ9dy1TKTpjPT09RC5zbGFzaD8odz1vLFQ9YyxwPWEsZD1vLXMsbD13KzEpOih3PU9BKHQsbyksVD1ELndvcmQscD1hLGQ9dy1zKSxsPXcrMTticmVha31lLnB1c2goW1QsYSxvLXMscCxkLG8sbF0pLFMmJihzPVMsUz1udWxsKSxvPWx9cmV0dXJuIGV9fSk7dmFyIGtkPXgoKGtpLHhkKT0+e3UoKTsidXNlIHN0cmljdCI7a2kuX19lc01vZHVsZT0hMDtraS5kZWZhdWx0PXZvaWQgMDt2YXIgSUE9amUoRGEoKSksZm89amUoJGEoKSksREE9amUoTmEoKSksbWQ9amUoRmEoKSkscUE9amUoemEoKSksJEE9amUoSGEoKSksY289amUoR2EoKSksTEE9amUoWWEoKSksZ2Q9Vm4odG8oKSksTUE9amUoaW8oKSkscG89amUoc28oKSksTkE9amUob28oKSksQkE9amUoZmQoKSksTz1WbihoZCgpKSxxPVZuKGxvKCkpLEZBPVZuKFNlKCkpLHVlPWlpKCksVnQsaG87ZnVuY3Rpb24geWQocil7aWYodHlwZW9mIFdlYWtNYXAhPSJmdW5jdGlvbiIpcmV0dXJuIG51bGw7dmFyIGU9bmV3IFdlYWtNYXAsdD1uZXcgV2Vha01hcDtyZXR1cm4oeWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/dDplfSkocil9ZnVuY3Rpb24gVm4ocixlKXtpZighZSYmciYmci5fX2VzTW9kdWxlKXJldHVybiByO2lmKHI9PT1udWxsfHx0eXBlb2YgciE9Im9iamVjdCImJnR5cGVvZiByIT0iZnVuY3Rpb24iKXJldHVybntkZWZhdWx0OnJ9O3ZhciB0PXlkKGUpO2lmKHQmJnQuaGFzKHIpKXJldHVybiB0LmdldChyKTt2YXIgaT17fSxuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtmb3IodmFyIHMgaW4gcilpZihzIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSl7dmFyIGE9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIscyk6bnVsbDthJiYoYS5nZXR8fGEuc2V0KT9PYmplY3QuZGVmaW5lUHJvcGVydHkoaSxzLGEpOmlbc109cltzXX1yZXR1cm4gaS5kZWZhdWx0PXIsdCYmdC5zZXQocixpKSxpfWZ1bmN0aW9uIGplKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1mdW5jdGlvbiBiZChyLGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsaS5rZXksaSl9fWZ1bmN0aW9uIGpBKHIsZSx0KXtyZXR1cm4gZSYmYmQoci5wcm90b3R5cGUsZSksdCYmYmQocix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxyfXZhciBtbz0oVnQ9e30sVnRbcS5zcGFjZV09ITAsVnRbcS5jcl09ITAsVnRbcS5mZWVkXT0hMCxWdFtxLm5ld2xpbmVdPSEwLFZ0W3EudGFiXT0hMCxWdCksekE9T2JqZWN0LmFzc2lnbih7fSxtbywoaG89e30saG9bcS5jb21tZW50XT0hMCxobykpO2Z1bmN0aW9uIHdkKHIpe3JldHVybntsaW5lOnJbTy5GSUVMRFMuU1RBUlRfTElORV0sY29sdW1uOnJbTy5GSUVMRFMuU1RBUlRfQ09MXX19ZnVuY3Rpb24gdmQocil7cmV0dXJue2xpbmU6cltPLkZJRUxEUy5FTkRfTElORV0sY29sdW1uOnJbTy5GSUVMRFMuRU5EX0NPTF19fWZ1bmN0aW9uIEh0KHIsZSx0LGkpe3JldHVybntzdGFydDp7bGluZTpyLGNvbHVtbjplfSxlbmQ6e2xpbmU6dCxjb2x1bW46aX19fWZ1bmN0aW9uIHNyKHIpe3JldHVybiBIdChyW08uRklFTERTLlNUQVJUX0xJTkVdLHJbTy5GSUVMRFMuU1RBUlRfQ09MXSxyW08uRklFTERTLkVORF9MSU5FXSxyW08uRklFTERTLkVORF9DT0xdKX1mdW5jdGlvbiBnbyhyLGUpe2lmKCEhcilyZXR1cm4gSHQocltPLkZJRUxEUy5TVEFSVF9MSU5FXSxyW08uRklFTERTLlNUQVJUX0NPTF0sZVtPLkZJRUxEUy5FTkRfTElORV0sZVtPLkZJRUxEUy5FTkRfQ09MXSl9ZnVuY3Rpb24gYXIocixlKXt2YXIgdD1yW2VdO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm4gdC5pbmRleE9mKCJcXCIpIT09LTEmJigoMCx1ZS5lbnN1cmVPYmplY3QpKHIsInJhd3MiKSxyW2VdPSgwLHVlLnVuZXNjKSh0KSxyLnJhd3NbZV09PT12b2lkIDAmJihyLnJhd3NbZV09dCkpLHJ9ZnVuY3Rpb24geW8ocixlKXtmb3IodmFyIHQ9LTEsaT1bXTsodD1yLmluZGV4T2YoZSx0KzEpKSE9PS0xOylpLnB1c2godCk7cmV0dXJuIGl9ZnVuY3Rpb24gVUEoKXt2YXIgcj1BcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGFyZ3VtZW50cyk7cmV0dXJuIHIuZmlsdGVyKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9PT1yLmluZGV4T2YoZSl9KX12YXIgVkE9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKHQsaSl7aT09PXZvaWQgMCYmKGk9e30pLHRoaXMucnVsZT10LHRoaXMub3B0aW9ucz1PYmplY3QuYXNzaWduKHtsb3NzeTohMSxzYWZlOiExfSxpKSx0aGlzLnBvc2l0aW9uPTAsdGhpcy5jc3M9dHlwZW9mIHRoaXMucnVsZT09InN0cmluZyI/dGhpcy5ydWxlOnRoaXMucnVsZS5zZWxlY3Rvcix0aGlzLnRva2Vucz0oMCxPLmRlZmF1bHQpKHtjc3M6dGhpcy5jc3MsZXJyb3I6dGhpcy5fZXJyb3JHZW5lcmF0b3IoKSxzYWZlOnRoaXMub3B0aW9ucy5zYWZlfSk7dmFyIG49Z28odGhpcy50b2tlbnNbMF0sdGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoLTFdKTt0aGlzLnJvb3Q9bmV3IElBLmRlZmF1bHQoe3NvdXJjZTpufSksdGhpcy5yb290LmVycm9yR2VuZXJhdG9yPXRoaXMuX2Vycm9yR2VuZXJhdG9yKCk7dmFyIHM9bmV3IGZvLmRlZmF1bHQoe3NvdXJjZTp7c3RhcnQ6e2xpbmU6MSxjb2x1bW46MX19LHNvdXJjZUluZGV4OjB9KTt0aGlzLnJvb3QuYXBwZW5kKHMpLHRoaXMuY3VycmVudD1zLHRoaXMubG9vcCgpfXZhciBlPXIucHJvdG90eXBlO3JldHVybiBlLl9lcnJvckdlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKG4scyl7cmV0dXJuIHR5cGVvZiBpLnJ1bGU9PSJzdHJpbmciP25ldyBFcnJvcihuKTppLnJ1bGUuZXJyb3IobixzKX19LGUuYXR0cmlidXRlPWZ1bmN0aW9uKCl7dmFyIGk9W10sbj10aGlzLmN1cnJUb2tlbjtmb3IodGhpcy5wb3NpdGlvbisrO3RoaXMucG9zaXRpb248dGhpcy50b2tlbnMubGVuZ3RoJiZ0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXSE9PXEuY2xvc2VTcXVhcmU7KWkucHVzaCh0aGlzLmN1cnJUb2tlbiksdGhpcy5wb3NpdGlvbisrO2lmKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdIT09cS5jbG9zZVNxdWFyZSlyZXR1cm4gdGhpcy5leHBlY3RlZCgiY2xvc2luZyBzcXVhcmUgYnJhY2tldCIsdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSk7dmFyIHM9aS5sZW5ndGgsYT17c291cmNlOkh0KG5bMV0sblsyXSx0aGlzLmN1cnJUb2tlblszXSx0aGlzLmN1cnJUb2tlbls0XSksc291cmNlSW5kZXg6bltPLkZJRUxEUy5TVEFSVF9QT1NdfTtpZihzPT09MSYmIX5bcS53b3JkXS5pbmRleE9mKGlbMF1bTy5GSUVMRFMuVFlQRV0pKXJldHVybiB0aGlzLmV4cGVjdGVkKCJhdHRyaWJ1dGUiLGlbMF1bTy5GSUVMRFMuU1RBUlRfUE9TXSk7Zm9yKHZhciBvPTAsbD0iIixjPSIiLGY9bnVsbCxkPSExO288czspe3ZhciBwPWlbb10saD10aGlzLmNvbnRlbnQocCksYj1pW28rMV07c3dpdGNoKHBbTy5GSUVMRFMuVFlQRV0pe2Nhc2UgcS5zcGFjZTppZihkPSEwLHRoaXMub3B0aW9ucy5sb3NzeSlicmVhaztpZihmKXsoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInNwYWNlcyIsZik7dmFyIHY9YS5zcGFjZXNbZl0uYWZ0ZXJ8fCIiO2Euc3BhY2VzW2ZdLmFmdGVyPXYraDt2YXIgeT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwic3BhY2VzIixmLCJhZnRlciIpfHxudWxsO3kmJihhLnJhd3Muc3BhY2VzW2ZdLmFmdGVyPXkraCl9ZWxzZSBsPWwraCxjPWMraDticmVhaztjYXNlIHEuYXN0ZXJpc2s6aWYoYltPLkZJRUxEUy5UWVBFXT09PXEuZXF1YWxzKWEub3BlcmF0b3I9aCxmPSJvcGVyYXRvciI7ZWxzZSBpZigoIWEubmFtZXNwYWNlfHxmPT09Im5hbWVzcGFjZSImJiFkKSYmYil7bCYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwic3BhY2VzIiwiYXR0cmlidXRlIiksYS5zcGFjZXMuYXR0cmlidXRlLmJlZm9yZT1sLGw9IiIpLGMmJigoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiLCJzcGFjZXMiLCJhdHRyaWJ1dGUiKSxhLnJhd3Muc3BhY2VzLmF0dHJpYnV0ZS5iZWZvcmU9bCxjPSIiKSxhLm5hbWVzcGFjZT0oYS5uYW1lc3BhY2V8fCIiKStoO3ZhciB3PSgwLHVlLmdldFByb3ApKGEsInJhd3MiLCJuYW1lc3BhY2UiKXx8bnVsbDt3JiYoYS5yYXdzLm5hbWVzcGFjZSs9aCksZj0ibmFtZXNwYWNlIn1kPSExO2JyZWFrO2Nhc2UgcS5kb2xsYXI6aWYoZj09PSJ2YWx1ZSIpe3ZhciBrPSgwLHVlLmdldFByb3ApKGEsInJhd3MiLCJ2YWx1ZSIpO2EudmFsdWUrPSIkIixrJiYoYS5yYXdzLnZhbHVlPWsrIiQiKTticmVha31jYXNlIHEuY2FyZXQ6YltPLkZJRUxEUy5UWVBFXT09PXEuZXF1YWxzJiYoYS5vcGVyYXRvcj1oLGY9Im9wZXJhdG9yIiksZD0hMTticmVhaztjYXNlIHEuY29tYmluYXRvcjppZihoPT09In4iJiZiW08uRklFTERTLlRZUEVdPT09cS5lcXVhbHMmJihhLm9wZXJhdG9yPWgsZj0ib3BlcmF0b3IiKSxoIT09InwiKXtkPSExO2JyZWFrfWJbTy5GSUVMRFMuVFlQRV09PT1xLmVxdWFscz8oYS5vcGVyYXRvcj1oLGY9Im9wZXJhdG9yIik6IWEubmFtZXNwYWNlJiYhYS5hdHRyaWJ1dGUmJihhLm5hbWVzcGFjZT0hMCksZD0hMTticmVhaztjYXNlIHEud29yZDppZihiJiZ0aGlzLmNvbnRlbnQoYik9PT0ifCImJmlbbysyXSYmaVtvKzJdW08uRklFTERTLlRZUEVdIT09cS5lcXVhbHMmJiFhLm9wZXJhdG9yJiYhYS5uYW1lc3BhY2UpYS5uYW1lc3BhY2U9aCxmPSJuYW1lc3BhY2UiO2Vsc2UgaWYoIWEuYXR0cmlidXRlfHxmPT09ImF0dHJpYnV0ZSImJiFkKXtsJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJzcGFjZXMiLCJhdHRyaWJ1dGUiKSxhLnNwYWNlcy5hdHRyaWJ1dGUuYmVmb3JlPWwsbD0iIiksYyYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwicmF3cyIsInNwYWNlcyIsImF0dHJpYnV0ZSIpLGEucmF3cy5zcGFjZXMuYXR0cmlidXRlLmJlZm9yZT1jLGM9IiIpLGEuYXR0cmlidXRlPShhLmF0dHJpYnV0ZXx8IiIpK2g7dmFyIFM9KDAsdWUuZ2V0UHJvcCkoYSwicmF3cyIsImF0dHJpYnV0ZSIpfHxudWxsO1MmJihhLnJhd3MuYXR0cmlidXRlKz1oKSxmPSJhdHRyaWJ1dGUifWVsc2UgaWYoIWEudmFsdWUmJmEudmFsdWUhPT0iInx8Zj09PSJ2YWx1ZSImJiEoZHx8YS5xdW90ZU1hcmspKXt2YXIgRT0oMCx1ZS51bmVzYykoaCksVD0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwidmFsdWUiKXx8IiIsQj1hLnZhbHVlfHwiIjthLnZhbHVlPUIrRSxhLnF1b3RlTWFyaz1udWxsLChFIT09aHx8VCkmJigoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3MudmFsdWU9KFR8fEIpK2gpLGY9InZhbHVlIn1lbHNle3ZhciBOPWg9PT0iaSJ8fGg9PT0iSSI7KGEudmFsdWV8fGEudmFsdWU9PT0iIikmJihhLnF1b3RlTWFya3x8ZCk/KGEuaW5zZW5zaXRpdmU9TiwoIU58fGg9PT0iSSIpJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJyYXdzIiksYS5yYXdzLmluc2Vuc2l0aXZlRmxhZz1oKSxmPSJpbnNlbnNpdGl2ZSIsbCYmKCgwLHVlLmVuc3VyZU9iamVjdCkoYSwic3BhY2VzIiwiaW5zZW5zaXRpdmUiKSxhLnNwYWNlcy5pbnNlbnNpdGl2ZS5iZWZvcmU9bCxsPSIiKSxjJiYoKDAsdWUuZW5zdXJlT2JqZWN0KShhLCJyYXdzIiwic3BhY2VzIiwiaW5zZW5zaXRpdmUiKSxhLnJhd3Muc3BhY2VzLmluc2Vuc2l0aXZlLmJlZm9yZT1jLGM9IiIpKTooYS52YWx1ZXx8YS52YWx1ZT09PSIiKSYmKGY9InZhbHVlIixhLnZhbHVlKz1oLGEucmF3cy52YWx1ZSYmKGEucmF3cy52YWx1ZSs9aCkpfWQ9ITE7YnJlYWs7Y2FzZSBxLnN0cjppZighYS5hdHRyaWJ1dGV8fCFhLm9wZXJhdG9yKXJldHVybiB0aGlzLmVycm9yKCJFeHBlY3RlZCBhbiBhdHRyaWJ1dGUgZm9sbG93ZWQgYnkgYW4gb3BlcmF0b3IgcHJlY2VkaW5nIHRoZSBzdHJpbmcuIix7aW5kZXg6cFtPLkZJRUxEUy5TVEFSVF9QT1NdfSk7dmFyIFI9KDAsZ2QudW5lc2NhcGVWYWx1ZSkoaCksRj1SLnVuZXNjYXBlZCxZPVIucXVvdGVNYXJrO2EudmFsdWU9RixhLnF1b3RlTWFyaz1ZLGY9InZhbHVlIiwoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3MudmFsdWU9aCxkPSExO2JyZWFrO2Nhc2UgcS5lcXVhbHM6aWYoIWEuYXR0cmlidXRlKXJldHVybiB0aGlzLmV4cGVjdGVkKCJhdHRyaWJ1dGUiLHBbTy5GSUVMRFMuU1RBUlRfUE9TXSxoKTtpZihhLnZhbHVlKXJldHVybiB0aGlzLmVycm9yKCdVbmV4cGVjdGVkICI9IiBmb3VuZDsgYW4gb3BlcmF0b3Igd2FzIGFscmVhZHkgZGVmaW5lZC4nLHtpbmRleDpwW08uRklFTERTLlNUQVJUX1BPU119KTthLm9wZXJhdG9yPWEub3BlcmF0b3I/YS5vcGVyYXRvcitoOmgsZj0ib3BlcmF0b3IiLGQ9ITE7YnJlYWs7Y2FzZSBxLmNvbW1lbnQ6aWYoZilpZihkfHxiJiZiW08uRklFTERTLlRZUEVdPT09cS5zcGFjZXx8Zj09PSJpbnNlbnNpdGl2ZSIpe3ZhciBfPSgwLHVlLmdldFByb3ApKGEsInNwYWNlcyIsZiwiYWZ0ZXIiKXx8IiIsUT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIiwic3BhY2VzIixmLCJhZnRlciIpfHxfOygwLHVlLmVuc3VyZU9iamVjdCkoYSwicmF3cyIsInNwYWNlcyIsZiksYS5yYXdzLnNwYWNlc1tmXS5hZnRlcj1RK2h9ZWxzZXt2YXIgVT1hW2ZdfHwiIixsZT0oMCx1ZS5nZXRQcm9wKShhLCJyYXdzIixmKXx8VTsoMCx1ZS5lbnN1cmVPYmplY3QpKGEsInJhd3MiKSxhLnJhd3NbZl09bGUraH1lbHNlIGM9YytoO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHRoaXMuZXJyb3IoJ1VuZXhwZWN0ZWQgIicraCsnIiBmb3VuZC4nLHtpbmRleDpwW08uRklFTERTLlNUQVJUX1BPU119KX1vKyt9YXIoYSwiYXR0cmlidXRlIiksYXIoYSwibmFtZXNwYWNlIiksdGhpcy5uZXdOb2RlKG5ldyBnZC5kZWZhdWx0KGEpKSx0aGlzLnBvc2l0aW9uKyt9LGUucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2Vucz1mdW5jdGlvbihpKXtpPDAmJihpPXRoaXMudG9rZW5zLmxlbmd0aCk7dmFyIG49dGhpcy5wb3NpdGlvbixzPVtdLGE9IiIsbz12b2lkIDA7ZG8gaWYobW9bdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV1dKXRoaXMub3B0aW9ucy5sb3NzeXx8KGErPXRoaXMuY29udGVudCgpKTtlbHNlIGlmKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb21tZW50KXt2YXIgbD17fTthJiYobC5iZWZvcmU9YSxhPSIiKSxvPW5ldyBtZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IodGhpcy5jdXJyVG9rZW4pLHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX1BPU10sc3BhY2VzOmx9KSxzLnB1c2gobyl9d2hpbGUoKyt0aGlzLnBvc2l0aW9uPGkpO2lmKGEpe2lmKG8pby5zcGFjZXMuYWZ0ZXI9YTtlbHNlIGlmKCF0aGlzLm9wdGlvbnMubG9zc3kpe3ZhciBjPXRoaXMudG9rZW5zW25dLGY9dGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbi0xXTtzLnB1c2gobmV3IGNvLmRlZmF1bHQoe3ZhbHVlOiIiLHNvdXJjZTpIdChjW08uRklFTERTLlNUQVJUX0xJTkVdLGNbTy5GSUVMRFMuU1RBUlRfQ09MXSxmW08uRklFTERTLkVORF9MSU5FXSxmW08uRklFTERTLkVORF9DT0xdKSxzb3VyY2VJbmRleDpjW08uRklFTERTLlNUQVJUX1BPU10sc3BhY2VzOntiZWZvcmU6YSxhZnRlcjoiIn19KSl9fXJldHVybiBzfSxlLmNvbnZlcnRXaGl0ZXNwYWNlTm9kZXNUb1NwYWNlPWZ1bmN0aW9uKGksbil7dmFyIHM9dGhpcztuPT09dm9pZCAwJiYobj0hMSk7dmFyIGE9IiIsbz0iIjtpLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGY9cy5sb3NzeVNwYWNlKGMuc3BhY2VzLmJlZm9yZSxuKSxkPXMubG9zc3lTcGFjZShjLnJhd1NwYWNlQmVmb3JlLG4pO2ErPWYrcy5sb3NzeVNwYWNlKGMuc3BhY2VzLmFmdGVyLG4mJmYubGVuZ3RoPT09MCksbys9ZitjLnZhbHVlK3MubG9zc3lTcGFjZShjLnJhd1NwYWNlQWZ0ZXIsbiYmZC5sZW5ndGg9PT0wKX0pLG89PT1hJiYobz12b2lkIDApO3ZhciBsPXtzcGFjZTphLHJhd1NwYWNlOm99O3JldHVybiBsfSxlLmlzTmFtZWRDb21iaW5hdG9yPWZ1bmN0aW9uKGkpe3JldHVybiBpPT09dm9pZCAwJiYoaT10aGlzLnBvc2l0aW9uKSx0aGlzLnRva2Vuc1tpKzBdJiZ0aGlzLnRva2Vuc1tpKzBdW08uRklFTERTLlRZUEVdPT09cS5zbGFzaCYmdGhpcy50b2tlbnNbaSsxXSYmdGhpcy50b2tlbnNbaSsxXVtPLkZJRUxEUy5UWVBFXT09PXEud29yZCYmdGhpcy50b2tlbnNbaSsyXSYmdGhpcy50b2tlbnNbaSsyXVtPLkZJRUxEUy5UWVBFXT09PXEuc2xhc2h9LGUubmFtZWRDb21iaW5hdG9yPWZ1bmN0aW9uKCl7aWYodGhpcy5pc05hbWVkQ29tYmluYXRvcigpKXt2YXIgaT10aGlzLmNvbnRlbnQodGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXSksbj0oMCx1ZS51bmVzYykoaSkudG9Mb3dlckNhc2UoKSxzPXt9O24hPT1pJiYocy52YWx1ZT0iLyIraSsiLyIpO3ZhciBhPW5ldyBwby5kZWZhdWx0KHt2YWx1ZToiLyIrbisiLyIsc291cmNlOkh0KHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX0xJTkVdLHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX0NPTF0sdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisyXVtPLkZJRUxEUy5FTkRfTElORV0sdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisyXVtPLkZJRUxEUy5FTkRfQ09MXSksc291cmNlSW5kZXg6dGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSxyYXdzOnN9KTtyZXR1cm4gdGhpcy5wb3NpdGlvbj10aGlzLnBvc2l0aW9uKzMsYX1lbHNlIHRoaXMudW5leHBlY3RlZCgpfSxlLmNvbWJpbmF0b3I9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO2lmKHRoaXMuY29udGVudCgpPT09InwiKXJldHVybiB0aGlzLm5hbWVzcGFjZSgpO3ZhciBuPXRoaXMubG9jYXRlTmV4dE1lYW5pbmdmdWxUb2tlbih0aGlzLnBvc2l0aW9uKTtpZihuPDB8fHRoaXMudG9rZW5zW25dW08uRklFTERTLlRZUEVdPT09cS5jb21tYXx8dGhpcy50b2tlbnNbbl1bTy5GSUVMRFMuVFlQRV09PT1xLmNsb3NlUGFyZW50aGVzaXMpe3ZhciBzPXRoaXMucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2VucyhuKTtpZihzLmxlbmd0aD4wKXt2YXIgYT10aGlzLmN1cnJlbnQubGFzdDtpZihhKXt2YXIgbz10aGlzLmNvbnZlcnRXaGl0ZXNwYWNlTm9kZXNUb1NwYWNlKHMpLGw9by5zcGFjZSxjPW8ucmF3U3BhY2U7YyE9PXZvaWQgMCYmKGEucmF3U3BhY2VBZnRlcis9YyksYS5zcGFjZXMuYWZ0ZXIrPWx9ZWxzZSBzLmZvckVhY2goZnVuY3Rpb24oVCl7cmV0dXJuIGkubmV3Tm9kZShUKX0pfXJldHVybn12YXIgZj10aGlzLmN1cnJUb2tlbixkPXZvaWQgMDtuPnRoaXMucG9zaXRpb24mJihkPXRoaXMucGFyc2VXaGl0ZXNwYWNlRXF1aXZhbGVudFRva2VucyhuKSk7dmFyIHA7aWYodGhpcy5pc05hbWVkQ29tYmluYXRvcigpP3A9dGhpcy5uYW1lZENvbWJpbmF0b3IoKTp0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEuY29tYmluYXRvcj8ocD1uZXcgcG8uZGVmYXVsdCh7dmFsdWU6dGhpcy5jb250ZW50KCksc291cmNlOnNyKHRoaXMuY3VyclRva2VuKSxzb3VyY2VJbmRleDp0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdfSksdGhpcy5wb3NpdGlvbisrKTptb1t0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXV18fGR8fHRoaXMudW5leHBlY3RlZCgpLHApe2lmKGQpe3ZhciBoPXRoaXMuY29udmVydFdoaXRlc3BhY2VOb2Rlc1RvU3BhY2UoZCksYj1oLnNwYWNlLHY9aC5yYXdTcGFjZTtwLnNwYWNlcy5iZWZvcmU9YixwLnJhd1NwYWNlQmVmb3JlPXZ9fWVsc2V7dmFyIHk9dGhpcy5jb252ZXJ0V2hpdGVzcGFjZU5vZGVzVG9TcGFjZShkLCEwKSx3PXkuc3BhY2Usaz15LnJhd1NwYWNlO2t8fChrPXcpO3ZhciBTPXt9LEU9e3NwYWNlczp7fX07dy5lbmRzV2l0aCgiICIpJiZrLmVuZHNXaXRoKCIgIik/KFMuYmVmb3JlPXcuc2xpY2UoMCx3Lmxlbmd0aC0xKSxFLnNwYWNlcy5iZWZvcmU9ay5zbGljZSgwLGsubGVuZ3RoLTEpKTp3LnN0YXJ0c1dpdGgoIiAiKSYmay5zdGFydHNXaXRoKCIgIik/KFMuYWZ0ZXI9dy5zbGljZSgxKSxFLnNwYWNlcy5hZnRlcj1rLnNsaWNlKDEpKTpFLnZhbHVlPWsscD1uZXcgcG8uZGVmYXVsdCh7dmFsdWU6IiAiLHNvdXJjZTpnbyhmLHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV0pLHNvdXJjZUluZGV4OmZbTy5GSUVMRFMuU1RBUlRfUE9TXSxzcGFjZXM6UyxyYXdzOkV9KX1yZXR1cm4gdGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5zcGFjZSYmKHAuc3BhY2VzLmFmdGVyPXRoaXMub3B0aW9uYWxTcGFjZSh0aGlzLmNvbnRlbnQoKSksdGhpcy5wb3NpdGlvbisrKSx0aGlzLm5ld05vZGUocCl9LGUuY29tbWE9ZnVuY3Rpb24oKXtpZih0aGlzLnBvc2l0aW9uPT09dGhpcy50b2tlbnMubGVuZ3RoLTEpe3RoaXMucm9vdC50cmFpbGluZ0NvbW1hPSEwLHRoaXMucG9zaXRpb24rKztyZXR1cm59dGhpcy5jdXJyZW50Ll9pbmZlckVuZFBvc2l0aW9uKCk7dmFyIGk9bmV3IGZvLmRlZmF1bHQoe3NvdXJjZTp7c3RhcnQ6d2QodGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXSl9LHNvdXJjZUluZGV4OnRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24rMV1bTy5GSUVMRFMuU1RBUlRfUE9TXX0pO3RoaXMuY3VycmVudC5wYXJlbnQuYXBwZW5kKGkpLHRoaXMuY3VycmVudD1pLHRoaXMucG9zaXRpb24rK30sZS5jb21tZW50PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyVG9rZW47dGhpcy5uZXdOb2RlKG5ldyBtZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IoaSksc291cmNlSW5kZXg6aVtPLkZJRUxEUy5TVEFSVF9QT1NdfSkpLHRoaXMucG9zaXRpb24rK30sZS5lcnJvcj1mdW5jdGlvbihpLG4pe3Rocm93IHRoaXMucm9vdC5lcnJvcihpLG4pfSxlLm1pc3NpbmdCYWNrc2xhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcigiRXhwZWN0ZWQgYSBiYWNrc2xhc2ggcHJlY2VkaW5nIHRoZSBzZW1pY29sb24uIix7aW5kZXg6dGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXX0pfSxlLm1pc3NpbmdQYXJlbnRoZXNpcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV4cGVjdGVkKCJvcGVuaW5nIHBhcmVudGhlc2lzIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5taXNzaW5nU3F1YXJlQnJhY2tldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmV4cGVjdGVkKCJvcGVuaW5nIHNxdWFyZSBicmFja2V0Iix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS51bmV4cGVjdGVkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3IoIlVuZXhwZWN0ZWQgJyIrdGhpcy5jb250ZW50KCkrIicuIEVzY2FwaW5nIHNwZWNpYWwgY2hhcmFjdGVycyB3aXRoIFxcIG1heSBoZWxwLiIsdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuU1RBUlRfUE9TXSl9LGUudW5leHBlY3RlZFBpcGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcigiVW5leHBlY3RlZCAnfCcuIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5uYW1lc3BhY2U9ZnVuY3Rpb24oKXt2YXIgaT10aGlzLnByZXZUb2tlbiYmdGhpcy5jb250ZW50KHRoaXMucHJldlRva2VuKXx8ITA7aWYodGhpcy5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLndvcmQpcmV0dXJuIHRoaXMucG9zaXRpb24rKyx0aGlzLndvcmQoaSk7aWYodGhpcy5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLmFzdGVyaXNrKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy51bml2ZXJzYWwoaSk7dGhpcy51bmV4cGVjdGVkUGlwZSgpfSxlLm5lc3Rpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLm5leHRUb2tlbil7dmFyIGk9dGhpcy5jb250ZW50KHRoaXMubmV4dFRva2VuKTtpZihpPT09InwiKXt0aGlzLnBvc2l0aW9uKys7cmV0dXJufX12YXIgbj10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IE5BLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY29udGVudCgpLHNvdXJjZTpzcihuKSxzb3VyY2VJbmRleDpuW08uRklFTERTLlNUQVJUX1BPU119KSksdGhpcy5wb3NpdGlvbisrfSxlLnBhcmVudGhlc2VzPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyZW50Lmxhc3Qsbj0xO2lmKHRoaXMucG9zaXRpb24rKyxpJiZpLnR5cGU9PT1GQS5QU0VVRE8pe3ZhciBzPW5ldyBmby5kZWZhdWx0KHtzb3VyY2U6e3N0YXJ0OndkKHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dKX0sc291cmNlSW5kZXg6dGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbl1bTy5GSUVMRFMuU1RBUlRfUE9TXX0pLGE9dGhpcy5jdXJyZW50O2ZvcihpLmFwcGVuZChzKSx0aGlzLmN1cnJlbnQ9czt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmbjspdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmbisrLHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzJiZuLS0sbj90aGlzLnBhcnNlKCk6KHRoaXMuY3VycmVudC5zb3VyY2UuZW5kPXZkKHRoaXMuY3VyclRva2VuKSx0aGlzLmN1cnJlbnQucGFyZW50LnNvdXJjZS5lbmQ9dmQodGhpcy5jdXJyVG9rZW4pLHRoaXMucG9zaXRpb24rKyk7dGhpcy5jdXJyZW50PWF9ZWxzZXtmb3IodmFyIG89dGhpcy5jdXJyVG9rZW4sbD0iKCIsYzt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmbjspdGhpcy5jdXJyVG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmbisrLHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzJiZuLS0sYz10aGlzLmN1cnJUb2tlbixsKz10aGlzLnBhcnNlUGFyZW50aGVzaXNUb2tlbih0aGlzLmN1cnJUb2tlbiksdGhpcy5wb3NpdGlvbisrO2k/aS5hcHBlbmRUb1Byb3BlcnR5QW5kRXNjYXBlKCJ2YWx1ZSIsbCxsKTp0aGlzLm5ld05vZGUobmV3IGNvLmRlZmF1bHQoe3ZhbHVlOmwsc291cmNlOkh0KG9bTy5GSUVMRFMuU1RBUlRfTElORV0sb1tPLkZJRUxEUy5TVEFSVF9DT0xdLGNbTy5GSUVMRFMuRU5EX0xJTkVdLGNbTy5GSUVMRFMuRU5EX0NPTF0pLHNvdXJjZUluZGV4Om9bTy5GSUVMRFMuU1RBUlRfUE9TXX0pKX1pZihuKXJldHVybiB0aGlzLmV4cGVjdGVkKCJjbG9zaW5nIHBhcmVudGhlc2lzIix0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5TVEFSVF9QT1NdKX0sZS5wc2V1ZG89ZnVuY3Rpb24oKXtmb3IodmFyIGk9dGhpcyxuPSIiLHM9dGhpcy5jdXJyVG9rZW47dGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb2xvbjspbis9dGhpcy5jb250ZW50KCksdGhpcy5wb3NpdGlvbisrO2lmKCF0aGlzLmN1cnJUb2tlbilyZXR1cm4gdGhpcy5leHBlY3RlZChbInBzZXVkby1jbGFzcyIsInBzZXVkby1lbGVtZW50Il0sdGhpcy5wb3NpdGlvbi0xKTtpZih0aGlzLmN1cnJUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEud29yZCl0aGlzLnNwbGl0V29yZCghMSxmdW5jdGlvbihhLG8pe24rPWEsaS5uZXdOb2RlKG5ldyBMQS5kZWZhdWx0KHt2YWx1ZTpuLHNvdXJjZTpnbyhzLGkuY3VyclRva2VuKSxzb3VyY2VJbmRleDpzW08uRklFTERTLlNUQVJUX1BPU119KSksbz4xJiZpLm5leHRUb2tlbiYmaS5uZXh0VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpcyYmaS5lcnJvcigiTWlzcGxhY2VkIHBhcmVudGhlc2lzLiIse2luZGV4OmkubmV4dFRva2VuW08uRklFTERTLlNUQVJUX1BPU119KX0pO2Vsc2UgcmV0dXJuIHRoaXMuZXhwZWN0ZWQoWyJwc2V1ZG8tY2xhc3MiLCJwc2V1ZG8tZWxlbWVudCJdLHRoaXMuY3VyclRva2VuW08uRklFTERTLlNUQVJUX1BPU10pfSxlLnNwYWNlPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jb250ZW50KCk7dGhpcy5wb3NpdGlvbj09PTB8fHRoaXMucHJldlRva2VuW08uRklFTERTLlRZUEVdPT09cS5jb21tYXx8dGhpcy5wcmV2VG9rZW5bTy5GSUVMRFMuVFlQRV09PT1xLm9wZW5QYXJlbnRoZXNpc3x8dGhpcy5jdXJyZW50Lm5vZGVzLmV2ZXJ5KGZ1bmN0aW9uKG4pe3JldHVybiBuLnR5cGU9PT0iY29tbWVudCJ9KT8odGhpcy5zcGFjZXM9dGhpcy5vcHRpb25hbFNwYWNlKGkpLHRoaXMucG9zaXRpb24rKyk6dGhpcy5wb3NpdGlvbj09PXRoaXMudG9rZW5zLmxlbmd0aC0xfHx0aGlzLm5leHRUb2tlbltPLkZJRUxEUy5UWVBFXT09PXEuY29tbWF8fHRoaXMubmV4dFRva2VuW08uRklFTERTLlRZUEVdPT09cS5jbG9zZVBhcmVudGhlc2lzPyh0aGlzLmN1cnJlbnQubGFzdC5zcGFjZXMuYWZ0ZXI9dGhpcy5vcHRpb25hbFNwYWNlKGkpLHRoaXMucG9zaXRpb24rKyk6dGhpcy5jb21iaW5hdG9yKCl9LGUuc3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5jdXJyVG9rZW47dGhpcy5uZXdOb2RlKG5ldyBjby5kZWZhdWx0KHt2YWx1ZTp0aGlzLmNvbnRlbnQoKSxzb3VyY2U6c3IoaSksc291cmNlSW5kZXg6aVtPLkZJRUxEUy5TVEFSVF9QT1NdfSkpLHRoaXMucG9zaXRpb24rK30sZS51bml2ZXJzYWw9ZnVuY3Rpb24oaSl7dmFyIG49dGhpcy5uZXh0VG9rZW47aWYobiYmdGhpcy5jb250ZW50KG4pPT09InwiKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKTt2YXIgcz10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IE1BLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY29udGVudCgpLHNvdXJjZTpzcihzKSxzb3VyY2VJbmRleDpzW08uRklFTERTLlNUQVJUX1BPU119KSxpKSx0aGlzLnBvc2l0aW9uKyt9LGUuc3BsaXRXb3JkPWZ1bmN0aW9uKGksbil7Zm9yKHZhciBzPXRoaXMsYT10aGlzLm5leHRUb2tlbixvPXRoaXMuY29udGVudCgpO2EmJn5bcS5kb2xsYXIscS5jYXJldCxxLmVxdWFscyxxLndvcmRdLmluZGV4T2YoYVtPLkZJRUxEUy5UWVBFXSk7KXt0aGlzLnBvc2l0aW9uKys7dmFyIGw9dGhpcy5jb250ZW50KCk7aWYobys9bCxsLmxhc3RJbmRleE9mKCJcXCIpPT09bC5sZW5ndGgtMSl7dmFyIGM9dGhpcy5uZXh0VG9rZW47YyYmY1tPLkZJRUxEUy5UWVBFXT09PXEuc3BhY2UmJihvKz10aGlzLnJlcXVpcmVkU3BhY2UodGhpcy5jb250ZW50KGMpKSx0aGlzLnBvc2l0aW9uKyspfWE9dGhpcy5uZXh0VG9rZW59dmFyIGY9eW8obywiLiIpLmZpbHRlcihmdW5jdGlvbihiKXt2YXIgdj1vW2ItMV09PT0iXFwiLHk9L15cZCtcLlxkKyUkLy50ZXN0KG8pO3JldHVybiF2JiYheX0pLGQ9eW8obywiIyIpLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gb1tiLTFdIT09IlxcIn0pLHA9eW8obywiI3siKTtwLmxlbmd0aCYmKGQ9ZC5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIX5wLmluZGV4T2YoYil9KSk7dmFyIGg9KDAsQkEuZGVmYXVsdCkoVUEoWzBdLmNvbmNhdChmLGQpKSk7aC5mb3JFYWNoKGZ1bmN0aW9uKGIsdil7dmFyIHk9aFt2KzFdfHxvLmxlbmd0aCx3PW8uc2xpY2UoYix5KTtpZih2PT09MCYmbilyZXR1cm4gbi5jYWxsKHMsdyxoLmxlbmd0aCk7dmFyIGssUz1zLmN1cnJUb2tlbixFPVNbTy5GSUVMRFMuU1RBUlRfUE9TXStoW3ZdLFQ9SHQoU1sxXSxTWzJdK2IsU1szXSxTWzJdKyh5LTEpKTtpZih+Zi5pbmRleE9mKGIpKXt2YXIgQj17dmFsdWU6dy5zbGljZSgxKSxzb3VyY2U6VCxzb3VyY2VJbmRleDpFfTtrPW5ldyBEQS5kZWZhdWx0KGFyKEIsInZhbHVlIikpfWVsc2UgaWYofmQuaW5kZXhPZihiKSl7dmFyIE49e3ZhbHVlOncuc2xpY2UoMSksc291cmNlOlQsc291cmNlSW5kZXg6RX07az1uZXcgcUEuZGVmYXVsdChhcihOLCJ2YWx1ZSIpKX1lbHNle3ZhciBSPXt2YWx1ZTp3LHNvdXJjZTpULHNvdXJjZUluZGV4OkV9O2FyKFIsInZhbHVlIiksaz1uZXcgJEEuZGVmYXVsdChSKX1zLm5ld05vZGUoayxpKSxpPW51bGx9KSx0aGlzLnBvc2l0aW9uKyt9LGUud29yZD1mdW5jdGlvbihpKXt2YXIgbj10aGlzLm5leHRUb2tlbjtyZXR1cm4gbiYmdGhpcy5jb250ZW50KG4pPT09InwiPyh0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKSk6dGhpcy5zcGxpdFdvcmQoaSl9LGUubG9vcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5wb3NpdGlvbjx0aGlzLnRva2Vucy5sZW5ndGg7KXRoaXMucGFyc2UoITApO3JldHVybiB0aGlzLmN1cnJlbnQuX2luZmVyRW5kUG9zaXRpb24oKSx0aGlzLnJvb3R9LGUucGFyc2U9ZnVuY3Rpb24oaSl7c3dpdGNoKHRoaXMuY3VyclRva2VuW08uRklFTERTLlRZUEVdKXtjYXNlIHEuc3BhY2U6dGhpcy5zcGFjZSgpO2JyZWFrO2Nhc2UgcS5jb21tZW50OnRoaXMuY29tbWVudCgpO2JyZWFrO2Nhc2UgcS5vcGVuUGFyZW50aGVzaXM6dGhpcy5wYXJlbnRoZXNlcygpO2JyZWFrO2Nhc2UgcS5jbG9zZVBhcmVudGhlc2lzOmkmJnRoaXMubWlzc2luZ1BhcmVudGhlc2lzKCk7YnJlYWs7Y2FzZSBxLm9wZW5TcXVhcmU6dGhpcy5hdHRyaWJ1dGUoKTticmVhaztjYXNlIHEuZG9sbGFyOmNhc2UgcS5jYXJldDpjYXNlIHEuZXF1YWxzOmNhc2UgcS53b3JkOnRoaXMud29yZCgpO2JyZWFrO2Nhc2UgcS5jb2xvbjp0aGlzLnBzZXVkbygpO2JyZWFrO2Nhc2UgcS5jb21tYTp0aGlzLmNvbW1hKCk7YnJlYWs7Y2FzZSBxLmFzdGVyaXNrOnRoaXMudW5pdmVyc2FsKCk7YnJlYWs7Y2FzZSBxLmFtcGVyc2FuZDp0aGlzLm5lc3RpbmcoKTticmVhaztjYXNlIHEuc2xhc2g6Y2FzZSBxLmNvbWJpbmF0b3I6dGhpcy5jb21iaW5hdG9yKCk7YnJlYWs7Y2FzZSBxLnN0cjp0aGlzLnN0cmluZygpO2JyZWFrO2Nhc2UgcS5jbG9zZVNxdWFyZTp0aGlzLm1pc3NpbmdTcXVhcmVCcmFja2V0KCk7Y2FzZSBxLnNlbWljb2xvbjp0aGlzLm1pc3NpbmdCYWNrc2xhc2goKTtkZWZhdWx0OnRoaXMudW5leHBlY3RlZCgpfX0sZS5leHBlY3RlZD1mdW5jdGlvbihpLG4scyl7aWYoQXJyYXkuaXNBcnJheShpKSl7dmFyIGE9aS5wb3AoKTtpPWkuam9pbigiLCAiKSsiIG9yICIrYX12YXIgbz0vXlthZWlvdV0vLnRlc3QoaVswXSk/ImFuIjoiYSI7cmV0dXJuIHM/dGhpcy5lcnJvcigiRXhwZWN0ZWQgIitvKyIgIitpKycsIGZvdW5kICInK3MrJyIgaW5zdGVhZC4nLHtpbmRleDpufSk6dGhpcy5lcnJvcigiRXhwZWN0ZWQgIitvKyIgIitpKyIuIix7aW5kZXg6bn0pfSxlLnJlcXVpcmVkU3BhY2U9ZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMub3B0aW9ucy5sb3NzeT8iICI6aX0sZS5vcHRpb25hbFNwYWNlPWZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLm9wdGlvbnMubG9zc3k/IiI6aX0sZS5sb3NzeVNwYWNlPWZ1bmN0aW9uKGksbil7cmV0dXJuIHRoaXMub3B0aW9ucy5sb3NzeT9uPyIgIjoiIjppfSxlLnBhcnNlUGFyZW50aGVzaXNUb2tlbj1mdW5jdGlvbihpKXt2YXIgbj10aGlzLmNvbnRlbnQoaSk7cmV0dXJuIGlbTy5GSUVMRFMuVFlQRV09PT1xLnNwYWNlP3RoaXMucmVxdWlyZWRTcGFjZShuKTpufSxlLm5ld05vZGU9ZnVuY3Rpb24oaSxuKXtyZXR1cm4gbiYmKC9eICskLy50ZXN0KG4pJiYodGhpcy5vcHRpb25zLmxvc3N5fHwodGhpcy5zcGFjZXM9KHRoaXMuc3BhY2VzfHwiIikrbiksbj0hMCksaS5uYW1lc3BhY2U9bixhcihpLCJuYW1lc3BhY2UiKSksdGhpcy5zcGFjZXMmJihpLnNwYWNlcy5iZWZvcmU9dGhpcy5zcGFjZXMsdGhpcy5zcGFjZXM9IiIpLHRoaXMuY3VycmVudC5hcHBlbmQoaSl9LGUuY29udGVudD1mdW5jdGlvbihpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9dGhpcy5jdXJyVG9rZW4pLHRoaXMuY3NzLnNsaWNlKGlbTy5GSUVMRFMuU1RBUlRfUE9TXSxpW08uRklFTERTLkVORF9QT1NdKX0sZS5sb2NhdGVOZXh0TWVhbmluZ2Z1bFRva2VuPWZ1bmN0aW9uKGkpe2k9PT12b2lkIDAmJihpPXRoaXMucG9zaXRpb24rMSk7Zm9yKHZhciBuPWk7bjx0aGlzLnRva2Vucy5sZW5ndGg7KWlmKHpBW3RoaXMudG9rZW5zW25dW08uRklFTERTLlRZUEVdXSl7bisrO2NvbnRpbnVlfWVsc2UgcmV0dXJuIG47cmV0dXJuLTF9LGpBKHIsW3trZXk6ImN1cnJUb2tlbiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dfX0se2tleToibmV4dFRva2VuIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXX19LHtrZXk6InByZXZUb2tlbiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV19fV0pLHJ9KCk7a2kuZGVmYXVsdD1WQTt4ZC5leHBvcnRzPWtpLmRlZmF1bHR9KTt2YXIgQWQ9eCgoU2ksU2QpPT57dSgpOyJ1c2Ugc3RyaWN0IjtTaS5fX2VzTW9kdWxlPSEwO1NpLmRlZmF1bHQ9dm9pZCAwO3ZhciBIQT1XQShrZCgpKTtmdW5jdGlvbiBXQShyKXtyZXR1cm4gciYmci5fX2VzTW9kdWxlP3I6e2RlZmF1bHQ6cn19dmFyIEdBPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcih0LGkpe3RoaXMuZnVuYz10fHxmdW5jdGlvbigpe30sdGhpcy5mdW5jUmVzPW51bGwsdGhpcy5vcHRpb25zPWl9dmFyIGU9ci5wcm90b3R5cGU7cmV0dXJuIGUuX3Nob3VsZFVwZGF0ZVNlbGVjdG9yPWZ1bmN0aW9uKGksbil7bj09PXZvaWQgMCYmKG49e30pO3ZhciBzPU9iamVjdC5hc3NpZ24oe30sdGhpcy5vcHRpb25zLG4pO3JldHVybiBzLnVwZGF0ZVNlbGVjdG9yPT09ITE/ITE6dHlwZW9mIGkhPSJzdHJpbmcifSxlLl9pc0xvc3N5PWZ1bmN0aW9uKGkpe2k9PT12b2lkIDAmJihpPXt9KTt2YXIgbj1PYmplY3QuYXNzaWduKHt9LHRoaXMub3B0aW9ucyxpKTtyZXR1cm4gbi5sb3NzbGVzcz09PSExfSxlLl9yb290PWZ1bmN0aW9uKGksbil7bj09PXZvaWQgMCYmKG49e30pO3ZhciBzPW5ldyBIQS5kZWZhdWx0KGksdGhpcy5fcGFyc2VPcHRpb25zKG4pKTtyZXR1cm4gcy5yb290fSxlLl9wYXJzZU9wdGlvbnM9ZnVuY3Rpb24oaSl7cmV0dXJue2xvc3N5OnRoaXMuX2lzTG9zc3koaSl9fSxlLl9ydW49ZnVuY3Rpb24oaSxuKXt2YXIgcz10aGlzO3JldHVybiBuPT09dm9pZCAwJiYobj17fSksbmV3IFByb21pc2UoZnVuY3Rpb24oYSxvKXt0cnl7dmFyIGw9cy5fcm9vdChpLG4pO1Byb21pc2UucmVzb2x2ZShzLmZ1bmMobCkpLnRoZW4oZnVuY3Rpb24oYyl7dmFyIGY9dm9pZCAwO3JldHVybiBzLl9zaG91bGRVcGRhdGVTZWxlY3RvcihpLG4pJiYoZj1sLnRvU3RyaW5nKCksaS5zZWxlY3Rvcj1mKSx7dHJhbnNmb3JtOmMscm9vdDpsLHN0cmluZzpmfX0pLnRoZW4oYSxvKX1jYXRjaChjKXtvKGMpO3JldHVybn19KX0sZS5fcnVuU3luYz1mdW5jdGlvbihpLG4pe249PT12b2lkIDAmJihuPXt9KTt2YXIgcz10aGlzLl9yb290KGksbiksYT10aGlzLmZ1bmMocyk7aWYoYSYmdHlwZW9mIGEudGhlbj09ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoIlNlbGVjdG9yIHByb2Nlc3NvciByZXR1cm5lZCBhIHByb21pc2UgdG8gYSBzeW5jaHJvbm91cyBjYWxsLiIpO3ZhciBvPXZvaWQgMDtyZXR1cm4gbi51cGRhdGVTZWxlY3RvciYmdHlwZW9mIGkhPSJzdHJpbmciJiYobz1zLnRvU3RyaW5nKCksaS5zZWxlY3Rvcj1vKSx7dHJhbnNmb3JtOmEscm9vdDpzLHN0cmluZzpvfX0sZS5hc3Q9ZnVuY3Rpb24oaSxuKXtyZXR1cm4gdGhpcy5fcnVuKGksbikudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy5yb290fSl9LGUuYXN0U3luYz1mdW5jdGlvbihpLG4pe3JldHVybiB0aGlzLl9ydW5TeW5jKGksbikucm9vdH0sZS50cmFuc2Zvcm09ZnVuY3Rpb24oaSxuKXtyZXR1cm4gdGhpcy5fcnVuKGksbikudGhlbihmdW5jdGlvbihzKXtyZXR1cm4gcy50cmFuc2Zvcm19KX0sZS50cmFuc2Zvcm1TeW5jPWZ1bmN0aW9uKGksbil7cmV0dXJuIHRoaXMuX3J1blN5bmMoaSxuKS50cmFuc2Zvcm19LGUucHJvY2Vzcz1mdW5jdGlvbihpLG4pe3JldHVybiB0aGlzLl9ydW4oaSxuKS50aGVuKGZ1bmN0aW9uKHMpe3JldHVybiBzLnN0cmluZ3x8cy5yb290LnRvU3RyaW5nKCl9KX0sZS5wcm9jZXNzU3luYz1mdW5jdGlvbihpLG4pe3ZhciBzPXRoaXMuX3J1blN5bmMoaSxuKTtyZXR1cm4gcy5zdHJpbmd8fHMucm9vdC50b1N0cmluZygpfSxyfSgpO1NpLmRlZmF1bHQ9R0E7U2QuZXhwb3J0cz1TaS5kZWZhdWx0fSk7dmFyIENkPXgobmU9Pnt1KCk7InVzZSBzdHJpY3QiO25lLl9fZXNNb2R1bGU9ITA7bmUudW5pdmVyc2FsPW5lLnRhZz1uZS5zdHJpbmc9bmUuc2VsZWN0b3I9bmUucm9vdD1uZS5wc2V1ZG89bmUubmVzdGluZz1uZS5pZD1uZS5jb21tZW50PW5lLmNvbWJpbmF0b3I9bmUuY2xhc3NOYW1lPW5lLmF0dHJpYnV0ZT12b2lkIDA7dmFyIFFBPXplKHRvKCkpLFlBPXplKE5hKCkpLEtBPXplKHNvKCkpLFhBPXplKEZhKCkpLFpBPXplKHphKCkpLEpBPXplKG9vKCkpLGVDPXplKFlhKCkpLHRDPXplKERhKCkpLHJDPXplKCRhKCkpLGlDPXplKEdhKCkpLG5DPXplKEhhKCkpLHNDPXplKGlvKCkpO2Z1bmN0aW9uIHplKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX12YXIgYUM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBRQS5kZWZhdWx0KGUpfTtuZS5hdHRyaWJ1dGU9YUM7dmFyIG9DPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgWUEuZGVmYXVsdChlKX07bmUuY2xhc3NOYW1lPW9DO3ZhciBsQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEtBLmRlZmF1bHQoZSl9O25lLmNvbWJpbmF0b3I9bEM7dmFyIHVDPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgWEEuZGVmYXVsdChlKX07bmUuY29tbWVudD11Qzt2YXIgZkM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBaQS5kZWZhdWx0KGUpfTtuZS5pZD1mQzt2YXIgY0M9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBKQS5kZWZhdWx0KGUpfTtuZS5uZXN0aW5nPWNDO3ZhciBwQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGVDLmRlZmF1bHQoZSl9O25lLnBzZXVkbz1wQzt2YXIgZEM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0Qy5kZWZhdWx0KGUpfTtuZS5yb290PWRDO3ZhciBoQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHJDLmRlZmF1bHQoZSl9O25lLnNlbGVjdG9yPWhDO3ZhciBtQz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGlDLmRlZmF1bHQoZSl9O25lLnN0cmluZz1tQzt2YXIgZ0M9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBuQy5kZWZhdWx0KGUpfTtuZS50YWc9Z0M7dmFyIHlDPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgc0MuZGVmYXVsdChlKX07bmUudW5pdmVyc2FsPXlDfSk7dmFyIFRkPXgoWj0+e3UoKTsidXNlIHN0cmljdCI7Wi5fX2VzTW9kdWxlPSEwO1ouaXNDb21tZW50PVouaXNDb21iaW5hdG9yPVouaXNDbGFzc05hbWU9Wi5pc0F0dHJpYnV0ZT12b2lkIDA7Wi5pc0NvbnRhaW5lcj1UQztaLmlzSWRlbnRpZmllcj12b2lkIDA7Wi5pc05hbWVzcGFjZT1SQztaLmlzTmVzdGluZz12b2lkIDA7Wi5pc05vZGU9Ym87Wi5pc1BzZXVkbz12b2lkIDA7Wi5pc1BzZXVkb0NsYXNzPU9DO1ouaXNQc2V1ZG9FbGVtZW50PU9kO1ouaXNVbml2ZXJzYWw9Wi5pc1RhZz1aLmlzU3RyaW5nPVouaXNTZWxlY3Rvcj1aLmlzUm9vdD12b2lkIDA7dmFyIGZlPVNlKCksT2UsYkM9KE9lPXt9LE9lW2ZlLkFUVFJJQlVURV09ITAsT2VbZmUuQ0xBU1NdPSEwLE9lW2ZlLkNPTUJJTkFUT1JdPSEwLE9lW2ZlLkNPTU1FTlRdPSEwLE9lW2ZlLklEXT0hMCxPZVtmZS5ORVNUSU5HXT0hMCxPZVtmZS5QU0VVRE9dPSEwLE9lW2ZlLlJPT1RdPSEwLE9lW2ZlLlNFTEVDVE9SXT0hMCxPZVtmZS5TVFJJTkddPSEwLE9lW2ZlLlRBR109ITAsT2VbZmUuVU5JVkVSU0FMXT0hMCxPZSk7ZnVuY3Rpb24gYm8ocil7cmV0dXJuIHR5cGVvZiByPT0ib2JqZWN0IiYmYkNbci50eXBlXX1mdW5jdGlvbiBVZShyLGUpe3JldHVybiBibyhlKSYmZS50eXBlPT09cn12YXIgX2Q9VWUuYmluZChudWxsLGZlLkFUVFJJQlVURSk7Wi5pc0F0dHJpYnV0ZT1fZDt2YXIgd0M9VWUuYmluZChudWxsLGZlLkNMQVNTKTtaLmlzQ2xhc3NOYW1lPXdDO3ZhciB2Qz1VZS5iaW5kKG51bGwsZmUuQ09NQklOQVRPUik7Wi5pc0NvbWJpbmF0b3I9dkM7dmFyIHhDPVVlLmJpbmQobnVsbCxmZS5DT01NRU5UKTtaLmlzQ29tbWVudD14Qzt2YXIga0M9VWUuYmluZChudWxsLGZlLklEKTtaLmlzSWRlbnRpZmllcj1rQzt2YXIgU0M9VWUuYmluZChudWxsLGZlLk5FU1RJTkcpO1ouaXNOZXN0aW5nPVNDO3ZhciB3bz1VZS5iaW5kKG51bGwsZmUuUFNFVURPKTtaLmlzUHNldWRvPXdvO3ZhciBBQz1VZS5iaW5kKG51bGwsZmUuUk9PVCk7Wi5pc1Jvb3Q9QUM7dmFyIENDPVVlLmJpbmQobnVsbCxmZS5TRUxFQ1RPUik7Wi5pc1NlbGVjdG9yPUNDO3ZhciBfQz1VZS5iaW5kKG51bGwsZmUuU1RSSU5HKTtaLmlzU3RyaW5nPV9DO3ZhciBFZD1VZS5iaW5kKG51bGwsZmUuVEFHKTtaLmlzVGFnPUVkO3ZhciBFQz1VZS5iaW5kKG51bGwsZmUuVU5JVkVSU0FMKTtaLmlzVW5pdmVyc2FsPUVDO2Z1bmN0aW9uIE9kKHIpe3JldHVybiB3byhyKSYmci52YWx1ZSYmKHIudmFsdWUuc3RhcnRzV2l0aCgiOjoiKXx8ci52YWx1ZS50b0xvd2VyQ2FzZSgpPT09IjpiZWZvcmUifHxyLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT0iOmFmdGVyInx8ci52YWx1ZS50b0xvd2VyQ2FzZSgpPT09IjpmaXJzdC1sZXR0ZXIifHxyLnZhbHVlLnRvTG93ZXJDYXNlKCk9PT0iOmZpcnN0LWxpbmUiKX1mdW5jdGlvbiBPQyhyKXtyZXR1cm4gd28ocikmJiFPZChyKX1mdW5jdGlvbiBUQyhyKXtyZXR1cm4hIShibyhyKSYmci53YWxrKX1mdW5jdGlvbiBSQyhyKXtyZXR1cm4gX2Qocil8fEVkKHIpfX0pO3ZhciBSZD14KEtlPT57dSgpOyJ1c2Ugc3RyaWN0IjtLZS5fX2VzTW9kdWxlPSEwO3ZhciB2bz1TZSgpO09iamVjdC5rZXlzKHZvKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3I9PT0iZGVmYXVsdCJ8fHI9PT0iX19lc01vZHVsZSJ8fHIgaW4gS2UmJktlW3JdPT09dm9bcl18fChLZVtyXT12b1tyXSl9KTt2YXIgeG89Q2QoKTtPYmplY3Qua2V5cyh4bykuZm9yRWFjaChmdW5jdGlvbihyKXtyPT09ImRlZmF1bHQifHxyPT09Il9fZXNNb2R1bGUifHxyIGluIEtlJiZLZVtyXT09PXhvW3JdfHwoS2Vbcl09eG9bcl0pfSk7dmFyIGtvPVRkKCk7T2JqZWN0LmtleXMoa28pLmZvckVhY2goZnVuY3Rpb24ocil7cj09PSJkZWZhdWx0Inx8cj09PSJfX2VzTW9kdWxlInx8ciBpbiBLZSYmS2Vbcl09PT1rb1tyXXx8KEtlW3JdPWtvW3JdKX0pfSk7dmFyIGl0PXgoKEFpLElkKT0+e3UoKTsidXNlIHN0cmljdCI7QWkuX19lc01vZHVsZT0hMDtBaS5kZWZhdWx0PXZvaWQgMDt2YXIgUEM9cUMoQWQoKSksSUM9REMoUmQoKSk7ZnVuY3Rpb24gUGQocil7aWYodHlwZW9mIFdlYWtNYXAhPSJmdW5jdGlvbiIpcmV0dXJuIG51bGw7dmFyIGU9bmV3IFdlYWtNYXAsdD1uZXcgV2Vha01hcDtyZXR1cm4oUGQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/dDplfSkocil9ZnVuY3Rpb24gREMocixlKXtpZighZSYmciYmci5fX2VzTW9kdWxlKXJldHVybiByO2lmKHI9PT1udWxsfHx0eXBlb2YgciE9Im9iamVjdCImJnR5cGVvZiByIT0iZnVuY3Rpb24iKXJldHVybntkZWZhdWx0OnJ9O3ZhciB0PVBkKGUpO2lmKHQmJnQuaGFzKHIpKXJldHVybiB0LmdldChyKTt2YXIgaT17fSxuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtmb3IodmFyIHMgaW4gcilpZihzIT09ImRlZmF1bHQiJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSl7dmFyIGE9bj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIscyk6bnVsbDthJiYoYS5nZXR8fGEuc2V0KT9PYmplY3QuZGVmaW5lUHJvcGVydHkoaSxzLGEpOmlbc109cltzXX1yZXR1cm4gaS5kZWZhdWx0PXIsdCYmdC5zZXQocixpKSxpfWZ1bmN0aW9uIHFDKHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX12YXIgU289ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQQy5kZWZhdWx0KGUpfTtPYmplY3QuYXNzaWduKFNvLElDKTtkZWxldGUgU28uX19lc01vZHVsZTt2YXIgJEM9U287QWkuZGVmYXVsdD0kQztJZC5leHBvcnRzPUFpLmRlZmF1bHR9KTtmdW5jdGlvbiBtdChyKXtyZXR1cm5bImZvbnRTaXplIiwib3V0bGluZSJdLmluY2x1ZGVzKHIpP2U9Pih0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9ZSh7fSkpLEFycmF5LmlzQXJyYXkoZSkmJihlPWVbMF0pLGUpOnI9PT0iZm9udEZhbWlseSI/ZT0+e3R5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHt9KSk7bGV0IHQ9QXJyYXkuaXNBcnJheShlKSYma2UoZVsxXSk/ZVswXTplO3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Quam9pbigiLCAiKTp0fTpbImJveFNoYWRvdyIsInRyYW5zaXRpb25Qcm9wZXJ0eSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInRyYW5zaXRpb25EZWxheSIsInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiIsImJhY2tncm91bmRJbWFnZSIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZENvbG9yIiwiY3Vyc29yIiwiYW5pbWF0aW9uIl0uaW5jbHVkZXMocik/ZT0+KHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHt9KSksQXJyYXkuaXNBcnJheShlKSYmKGU9ZS5qb2luKCIsICIpKSxlKTpbImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJncmlkVGVtcGxhdGVSb3dzIiwib2JqZWN0UG9zaXRpb24iXS5pbmNsdWRlcyhyKT9lPT4odHlwZW9mIGU9PSJmdW5jdGlvbiImJihlPWUoe30pKSx0eXBlb2YgZT09InN0cmluZyImJihlPWVlLmxpc3QuY29tbWEoZSkuam9pbigiICIpKSxlKTooZSx0PXt9KT0+KHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT1lKHQpKSxlKX12YXIgQ2k9UCgoKT0+e3UoKTtPdCgpO0t0KCl9KTt2YXIgQmQ9eCgoTUksT28pPT57dSgpO3ZhcntBdFJ1bGU6TEMsUnVsZTpEZH09JGUoKSxxZD1pdCgpO2Z1bmN0aW9uIEFvKHIsZSl7bGV0IHQ7dHJ5e3FkKGk9Pnt0PWl9KS5wcm9jZXNzU3luYyhyKX1jYXRjaChpKXt0aHJvdyByLmluY2x1ZGVzKCI6Iik/ZT9lLmVycm9yKCJNaXNzZWQgc2VtaWNvbG9uIik6aTplP2UuZXJyb3IoaS5tZXNzYWdlKTppfXJldHVybiB0LmF0KDApfWZ1bmN0aW9uICRkKHIsZSl7bGV0IHQ9ITE7cmV0dXJuIHIuZWFjaChpPT57aWYoaS50eXBlPT09Im5lc3RpbmciKXtsZXQgbj1lLmNsb25lKHt9KTtpLnZhbHVlIT09IiYiP2kucmVwbGFjZVdpdGgoQW8oaS52YWx1ZS5yZXBsYWNlKCImIixuLnRvU3RyaW5nKCkpKSk6aS5yZXBsYWNlV2l0aChuKSx0PSEwfWVsc2Uibm9kZXMiaW4gaSYmaS5ub2RlcyYmJGQoaSxlKSYmKHQ9ITApfSksdH1mdW5jdGlvbiBMZChyLGUpe2xldCB0PVtdO3JldHVybiByLnNlbGVjdG9ycy5mb3JFYWNoKGk9PntsZXQgbj1BbyhpLHIpO2Uuc2VsZWN0b3JzLmZvckVhY2gocz0+e2lmKCFzKXJldHVybjtsZXQgYT1BbyhzLGUpOyRkKGEsbil8fChhLnByZXBlbmQocWQuY29tYmluYXRvcih7dmFsdWU6IiAifSkpLGEucHJlcGVuZChuLmNsb25lKHt9KSkpLHQucHVzaChhLnRvU3RyaW5nKCkpfSl9KSx0fWZ1bmN0aW9uIEhuKHIsZSl7bGV0IHQ9ci5wcmV2KCk7Zm9yKGUuYWZ0ZXIocik7dCYmdC50eXBlPT09ImNvbW1lbnQiOyl7bGV0IGk9dC5wcmV2KCk7ZS5hZnRlcih0KSx0PWl9cmV0dXJuIHJ9ZnVuY3Rpb24gTUMocil7cmV0dXJuIGZ1bmN0aW9uIGUodCxpLG4scz1uKXtsZXQgYT1bXTtpZihpLmVhY2gobz0+e28udHlwZT09PSJydWxlIiYmbj9zJiYoby5zZWxlY3RvcnM9TGQodCxvKSk6by50eXBlPT09ImF0cnVsZSImJm8ubm9kZXM/cltvLm5hbWVdP2UodCxvLHMpOmlbX29dIT09ITEmJmEucHVzaChvKTphLnB1c2gobyl9KSxuJiZhLmxlbmd0aCl7bGV0IG89dC5jbG9uZSh7bm9kZXM6W119KTtmb3IobGV0IGwgb2YgYSlvLmFwcGVuZChsKTtpLnByZXBlbmQobyl9fX1mdW5jdGlvbiBDbyhyLGUsdCl7bGV0IGk9bmV3IERkKHtub2RlczpbXSxzZWxlY3RvcjpyfSk7cmV0dXJuIGkuYXBwZW5kKGUpLHQuYWZ0ZXIoaSksaX1mdW5jdGlvbiBNZChyLGUpe2xldCB0PXt9O2ZvcihsZXQgaSBvZiByKXRbaV09ITA7aWYoZSlmb3IobGV0IGkgb2YgZSl0W2kucmVwbGFjZSgvXkAvLCIiKV09ITA7cmV0dXJuIHR9ZnVuY3Rpb24gTkMocil7cj1yLnRyaW0oKTtsZXQgZT1yLm1hdGNoKC9eXCgoLiopXCkkLyk7aWYoIWUpcmV0dXJue3NlbGVjdG9yOnIsdHlwZToiYmFzaWMifTtsZXQgdD1lWzFdLm1hdGNoKC9eKHdpdGgoPzpvdXQpPyk6KC4rKSQvKTtpZih0KXtsZXQgaT10WzFdPT09IndpdGgiLG49T2JqZWN0LmZyb21FbnRyaWVzKHRbMl0udHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoYT0+W2EsITBdKSk7aWYoaSYmbi5hbGwpcmV0dXJue3R5cGU6Im5vb3AifTtsZXQgcz1hPT4hIW5bYV07cmV0dXJuIG4uYWxsP3M9KCk9PiEwOmkmJihzPWE9PmE9PT0iYWxsIj8hMTohblthXSkse2VzY2FwZXM6cyx0eXBlOiJ3aXRocnVsZXMifX1yZXR1cm57dHlwZToidW5rbm93biJ9fWZ1bmN0aW9uIEJDKHIpe2xldCBlPVtdLHQ9ci5wYXJlbnQ7Zm9yKDt0JiZ0IGluc3RhbmNlb2YgTEM7KWUucHVzaCh0KSx0PXQucGFyZW50O3JldHVybiBlfWZ1bmN0aW9uIEZDKHIpe2xldCBlPXJbTmRdO2lmKCFlKXIuYWZ0ZXIoci5ub2Rlcyk7ZWxzZXtsZXQgdD1yLm5vZGVzLGksbj0tMSxzLGEsbyxsPUJDKHIpO2lmKGwuZm9yRWFjaCgoYyxmKT0+e2lmKGUoYy5uYW1lKSlpPWMsbj1mLGE9bztlbHNle2xldCBkPW87bz1jLmNsb25lKHtub2RlczpbXX0pLGQmJm8uYXBwZW5kKGQpLHM9c3x8b319KSxpP2E/KHMuYXBwZW5kKHQpLGkuYWZ0ZXIoYSkpOmkuYWZ0ZXIodCk6ci5hZnRlcih0KSxyLm5leHQoKSYmaSl7bGV0IGM7bC5zbGljZSgwLG4rMSkuZm9yRWFjaCgoZixkLHApPT57bGV0IGg9YztjPWYuY2xvbmUoe25vZGVzOltdfSksaCYmYy5hcHBlbmQoaCk7bGV0IGI9W10seT0ocFtkLTFdfHxyKS5uZXh0KCk7Zm9yKDt5OyliLnB1c2goeSkseT15Lm5leHQoKTtjLmFwcGVuZChiKX0pLGMmJihhfHx0W3QubGVuZ3RoLTFdKS5hZnRlcihjKX19ci5yZW1vdmUoKX12YXIgX289U3ltYm9sKCJyb290UnVsZU1lcmdlU2VsIiksTmQ9U3ltYm9sKCJyb290UnVsZUVzY2FwZXMiKTtmdW5jdGlvbiBqQyhyKXtsZXR7cGFyYW1zOmV9PXIse2VzY2FwZXM6dCxzZWxlY3RvcjppLHR5cGU6bn09TkMoZSk7aWYobj09PSJ1bmtub3duIil0aHJvdyByLmVycm9yKGBVbmtub3duIEAke3IubmFtZX0gcGFyYW1ldGVyICR7SlNPTi5zdHJpbmdpZnkoZSl9YCk7aWYobj09PSJiYXNpYyImJmkpe2xldCBzPW5ldyBEZCh7bm9kZXM6ci5ub2RlcyxzZWxlY3RvcjppfSk7ci5yZW1vdmVBbGwoKSxyLmFwcGVuZChzKX1yW05kXT10LHJbX29dPXQ/IXQoImFsbCIpOm49PT0ibm9vcCJ9dmFyIEVvPVN5bWJvbCgiaGFzUm9vdFJ1bGUiKTtPby5leHBvcnRzPShyPXt9KT0+e2xldCBlPU1kKFsibWVkaWEiLCJzdXBwb3J0cyIsImxheWVyIiwiY29udGFpbmVyIiwic3RhcnRpbmctc3R5bGUiXSxyLmJ1YmJsZSksdD1NQyhlKSxpPU1kKFsiZG9jdW1lbnQiLCJmb250LWZhY2UiLCJrZXlmcmFtZXMiLCItd2Via2l0LWtleWZyYW1lcyIsIi1tb3ota2V5ZnJhbWVzIl0sci51bndyYXApLG49KHIucm9vdFJ1bGVOYW1lfHwiYXQtcm9vdCIpLnJlcGxhY2UoL15ALywiIikscz1yLnByZXNlcnZlRW1wdHk7cmV0dXJue09uY2UoYSl7YS53YWxrQXRSdWxlcyhuLG89PntqQyhvKSxhW0VvXT0hMH0pfSxwb3N0Y3NzUGx1Z2luOiJwb3N0Y3NzLW5lc3RlZCIsUm9vdEV4aXQoYSl7YVtFb10mJihhLndhbGtBdFJ1bGVzKG4sRkMpLGFbRW9dPSExKX0sUnVsZShhKXtsZXQgbz0hMSxsPWEsYz0hMSxmPVtdO2EuZWFjaChkPT57ZC50eXBlPT09InJ1bGUiPyhmLmxlbmd0aCYmKGw9Q28oYS5zZWxlY3RvcixmLGwpLGY9W10pLGM9ITAsbz0hMCxkLnNlbGVjdG9ycz1MZChhLGQpLGw9SG4oZCxsKSk6ZC50eXBlPT09ImF0cnVsZSI/KGYubGVuZ3RoJiYobD1DbyhhLnNlbGVjdG9yLGYsbCksZj1bXSksZC5uYW1lPT09bj8obz0hMCx0KGEsZCwhMCxkW19vXSksbD1IbihkLGwpKTplW2QubmFtZV0/KGM9ITAsbz0hMCx0KGEsZCwhMCksbD1IbihkLGwpKTppW2QubmFtZV0/KGM9ITAsbz0hMCx0KGEsZCwhMSksbD1IbihkLGwpKTpjJiZmLnB1c2goZCkpOmQudHlwZT09PSJkZWNsIiYmYyYmZi5wdXNoKGQpfSksZi5sZW5ndGgmJihsPUNvKGEuc2VsZWN0b3IsZixsKSksbyYmcyE9PSEwJiYoYS5yYXdzLnNlbWljb2xvbj0hMCxhLm5vZGVzLmxlbmd0aD09PTAmJmEucmVtb3ZlKCkpfX19O09vLmV4cG9ydHMucG9zdGNzcz0hMH0pO3ZhciBVZD14KChOSSx6ZCk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBGZD0vLShcd3wkKS9nLGpkPShyLGUpPT5lLnRvVXBwZXJDYXNlKCksekM9cj0+KHI9ci50b0xvd2VyQ2FzZSgpLHI9PT0iZmxvYXQiPyJjc3NGbG9hdCI6ci5zdGFydHNXaXRoKCItbXMtIik/ci5zdWJzdHIoMSkucmVwbGFjZShGZCxqZCk6ci5yZXBsYWNlKEZkLGpkKSk7emQuZXhwb3J0cz16Q30pO3ZhciBQbz14KChCSSxWZCk9Pnt1KCk7dmFyIFVDPVVkKCksVkM9e2JveEZsZXg6ITAsYm94RmxleEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGZsZXg6ITAsZmxleEdyb3c6ITAsZmxleFBvc2l0aXZlOiEwLGZsZXhTaHJpbms6ITAsZmxleE5lZ2F0aXZlOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUNsYW1wOiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHRhYlNpemU6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwLGZpbGxPcGFjaXR5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlT3BhY2l0eTohMCxzdHJva2VXaWR0aDohMH07ZnVuY3Rpb24gVG8ocil7cmV0dXJuIHR5cGVvZiByLm5vZGVzPT0idW5kZWZpbmVkIj8hMDpSbyhyKX1mdW5jdGlvbiBSbyhyKXtsZXQgZSx0PXt9O3JldHVybiByLmVhY2goaT0+e2lmKGkudHlwZT09PSJhdHJ1bGUiKWU9IkAiK2kubmFtZSxpLnBhcmFtcyYmKGUrPSIgIitpLnBhcmFtcyksdHlwZW9mIHRbZV09PSJ1bmRlZmluZWQiP3RbZV09VG8oaSk6QXJyYXkuaXNBcnJheSh0W2VdKT90W2VdLnB1c2goVG8oaSkpOnRbZV09W3RbZV0sVG8oaSldO2Vsc2UgaWYoaS50eXBlPT09InJ1bGUiKXtsZXQgbj1SbyhpKTtpZih0W2kuc2VsZWN0b3JdKWZvcihsZXQgcyBpbiBuKXRbaS5zZWxlY3Rvcl1bc109bltzXTtlbHNlIHRbaS5zZWxlY3Rvcl09bn1lbHNlIGlmKGkudHlwZT09PSJkZWNsIil7aS5wcm9wWzBdPT09Ii0iJiZpLnByb3BbMV09PT0iLSJ8fGkucGFyZW50JiZpLnBhcmVudC5zZWxlY3Rvcj09PSI6ZXhwb3J0Ij9lPWkucHJvcDplPVVDKGkucHJvcCk7bGV0IG49aS52YWx1ZTshaXNOYU4oaS52YWx1ZSkmJlZDW2VdJiYobj1wYXJzZUZsb2F0KGkudmFsdWUpKSxpLmltcG9ydGFudCYmKG4rPSIgIWltcG9ydGFudCIpLHR5cGVvZiB0W2VdPT0idW5kZWZpbmVkIj90W2VdPW46QXJyYXkuaXNBcnJheSh0W2VdKT90W2VdLnB1c2gobik6dFtlXT1bdFtlXSxuXX19KSx0fVZkLmV4cG9ydHM9Um99KTt2YXIgV249eCgoRkksUWQpPT57dSgpO3ZhciBfaT0kZSgpLEhkPS9ccyohaW1wb3J0YW50XHMqJC9pLEhDPXsiYm94LWZsZXgiOiEwLCJib3gtZmxleC1ncm91cCI6ITAsImNvbHVtbi1jb3VudCI6ITAsZmxleDohMCwiZmxleC1ncm93IjohMCwiZmxleC1wb3NpdGl2ZSI6ITAsImZsZXgtc2hyaW5rIjohMCwiZmxleC1uZWdhdGl2ZSI6ITAsImZvbnQtd2VpZ2h0IjohMCwibGluZS1jbGFtcCI6ITAsImxpbmUtaGVpZ2h0IjohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsInRhYi1zaXplIjohMCx3aWRvd3M6ITAsInotaW5kZXgiOiEwLHpvb206ITAsImZpbGwtb3BhY2l0eSI6ITAsInN0cm9rZS1kYXNob2Zmc2V0IjohMCwic3Ryb2tlLW9wYWNpdHkiOiEwLCJzdHJva2Utd2lkdGgiOiEwfTtmdW5jdGlvbiBXQyhyKXtyZXR1cm4gci5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnJlcGxhY2UoL15tcy0vLCItbXMtIikudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBXZChyLGUsdCl7dD09PSExfHx0PT09bnVsbHx8KGUuc3RhcnRzV2l0aCgiLS0iKXx8KGU9V0MoZSkpLHR5cGVvZiB0PT0ibnVtYmVyIiYmKHQ9PT0wfHxIQ1tlXT90PXQudG9TdHJpbmcoKTp0Kz0icHgiKSxlPT09ImNzcy1mbG9hdCImJihlPSJmbG9hdCIpLEhkLnRlc3QodCk/KHQ9dC5yZXBsYWNlKEhkLCIiKSxyLnB1c2goX2kuZGVjbCh7cHJvcDplLHZhbHVlOnQsaW1wb3J0YW50OiEwfSkpKTpyLnB1c2goX2kuZGVjbCh7cHJvcDplLHZhbHVlOnR9KSkpfWZ1bmN0aW9uIEdkKHIsZSx0KXtsZXQgaT1faS5hdFJ1bGUoe25hbWU6ZVsxXSxwYXJhbXM6ZVszXXx8IiJ9KTt0eXBlb2YgdD09Im9iamVjdCImJihpLm5vZGVzPVtdLElvKHQsaSkpLHIucHVzaChpKX1mdW5jdGlvbiBJbyhyLGUpe2xldCB0LGksbjtmb3IodCBpbiByKWlmKGk9clt0XSwhKGk9PT1udWxsfHx0eXBlb2YgaT09InVuZGVmaW5lZCIpKWlmKHRbMF09PT0iQCIpe2xldCBzPXQubWF0Y2goL0AoXFMrKShccysoW1xXXHddKilccyopPy8pO2lmKEFycmF5LmlzQXJyYXkoaSkpZm9yKGxldCBhIG9mIGkpR2QoZSxzLGEpO2Vsc2UgR2QoZSxzLGkpfWVsc2UgaWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IHMgb2YgaSlXZChlLHQscyk7ZWxzZSB0eXBlb2YgaT09Im9iamVjdCI/KG49X2kucnVsZSh7c2VsZWN0b3I6dH0pLElvKGksbiksZS5wdXNoKG4pKTpXZChlLHQsaSl9UWQuZXhwb3J0cz1mdW5jdGlvbihyKXtsZXQgZT1faS5yb290KCk7cmV0dXJuIElvKHIsZSksZX19KTt2YXIgRG89eCgoakksWWQpPT57dSgpO3ZhciBHQz1QbygpO1lkLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGNvbnNvbGUmJmNvbnNvbGUud2FybiYmZS53YXJuaW5ncygpLmZvckVhY2godD0+e2xldCBpPXQucGx1Z2lufHwiUG9zdENTUyI7Y29uc29sZS53YXJuKGkrIjogIit0LnRleHQpfSksR0MoZS5yb290KX19KTt2YXIgWGQ9eCgoekksS2QpPT57dSgpO3ZhciBRQz0kZSgpLFlDPURvKCksS0M9V24oKTtLZC5leHBvcnRzPWZ1bmN0aW9uKGUpe2xldCB0PVFDKGUpO3JldHVybiBhc3luYyBpPT57bGV0IG49YXdhaXQgdC5wcm9jZXNzKGkse3BhcnNlcjpLQyxmcm9tOnZvaWQgMH0pO3JldHVybiBZQyhuKX19fSk7dmFyIEpkPXgoKFVJLFpkKT0+e3UoKTt2YXIgWEM9JGUoKSxaQz1EbygpLEpDPVduKCk7WmQuZXhwb3J0cz1mdW5jdGlvbihyKXtsZXQgZT1YQyhyKTtyZXR1cm4gdD0+e2xldCBpPWUucHJvY2Vzcyh0LHtwYXJzZXI6SkMsZnJvbTp2b2lkIDB9KTtyZXR1cm4gWkMoaSl9fX0pO3ZhciB0aD14KChWSSxlaCk9Pnt1KCk7dmFyIGVfPVBvKCksdF89V24oKSxyXz1YZCgpLGlfPUpkKCk7ZWguZXhwb3J0cz17b2JqZWN0aWZ5OmVfLHBhcnNlOnRfLGFzeW5jOnJfLHN5bmM6aV99fSk7dmFyIG9yLHJoLEhJLFdJLEdJLFFJLGloPVAoKCk9Pnt1KCk7b3I9cGUodGgoKSkscmg9b3IuZGVmYXVsdCxIST1vci5kZWZhdWx0Lm9iamVjdGlmeSxXST1vci5kZWZhdWx0LnBhcnNlLEdJPW9yLmRlZmF1bHQuYXN5bmMsUUk9b3IuZGVmYXVsdC5zeW5jfSk7ZnVuY3Rpb24gbHIocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5mbGF0TWFwKGU9PmVlKFsoMCxuaC5kZWZhdWx0KSh7YnViYmxlOlsic2NyZWVuIl19KV0pLnByb2Nlc3MoZSx7cGFyc2VyOnJofSkucm9vdC5ub2Rlcyk6bHIoW3JdKX12YXIgbmgscW89UCgoKT0+e3UoKTtPdCgpO25oPXBlKEJkKCkpO2loKCl9KTtmdW5jdGlvbiB1cihyLGUsdD0hMSl7aWYocj09PSIiKXJldHVybiBlO2xldCBpPXR5cGVvZiBlPT0ic3RyaW5nIj8oMCxzaC5kZWZhdWx0KSgpLmFzdFN5bmMoZSk6ZTtyZXR1cm4gaS53YWxrQ2xhc3NlcyhuPT57bGV0IHM9bi52YWx1ZSxhPXQmJnMuc3RhcnRzV2l0aCgiLSIpO24udmFsdWU9YT9gLSR7cn0ke3Muc2xpY2UoMSl9YDpgJHtyfSR7c31gfSksdHlwZW9mIGU9PSJzdHJpbmciP2kudG9TdHJpbmcoKTppfXZhciBzaCxHbj1QKCgpPT57dSgpO3NoPXBlKGl0KCkpfSk7ZnVuY3Rpb24gVGUocil7bGV0IGU9YWguZGVmYXVsdC5jbGFzc05hbWUoKTtyZXR1cm4gZS52YWx1ZT1yLGp0KGU/LnJhd3M/LnZhbHVlPz9lLnZhbHVlKX12YXIgYWgsZnI9UCgoKT0+e3UoKTthaD1wZShpdCgpKTtaaSgpfSk7ZnVuY3Rpb24gJG8ocil7cmV0dXJuIGp0KGAuJHtUZShyKX1gKX1mdW5jdGlvbiBRbihyLGUpe3JldHVybiAkbyhFaShyLGUpKX1mdW5jdGlvbiBFaShyLGUpe3JldHVybiBlPT09IkRFRkFVTFQiP3I6ZT09PSItInx8ZT09PSItREVGQVVMVCI/YC0ke3J9YDplLnN0YXJ0c1dpdGgoIi0iKT9gLSR7cn0ke2V9YDplLnN0YXJ0c1dpdGgoIi8iKT9gJHtyfSR7ZX1gOmAke3J9LSR7ZX1gfXZhciBMbz1QKCgpPT57dSgpO2ZyKCk7WmkoKX0pO2Z1bmN0aW9uIEwocixlPVtbcixbcl1dXSx7ZmlsdGVyRGVmYXVsdDp0PSExLC4uLml9PXt9KXtsZXQgbj1tdChyKTtyZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnMsdGhlbWU6YX0pe2ZvcihsZXQgbyBvZiBlKXtsZXQgbD1BcnJheS5pc0FycmF5KG9bMF0pP286W29dO3MobC5yZWR1Y2UoKGMsW2YsZF0pPT5PYmplY3QuYXNzaWduKGMse1tmXTpwPT5kLnJlZHVjZSgoaCxiKT0+QXJyYXkuaXNBcnJheShiKT9PYmplY3QuYXNzaWduKGgse1tiWzBdXTpiWzFdfSk6T2JqZWN0LmFzc2lnbihoLHtbYl06bihwKX0pLHt9KX0pLHt9KSx7Li4uaSx2YWx1ZXM6dD9PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYShyKT8/e30pLmZpbHRlcigoW2NdKT0+YyE9PSJERUZBVUxUIikpOmEocil9KX19fXZhciBvaD1QKCgpPT57dSgpO0NpKCl9KTtmdW5jdGlvbiBUdChyKXtyZXR1cm4gcj1BcnJheS5pc0FycmF5KHIpP3I6W3JdLHIubWFwKGU9PntsZXQgdD1lLnZhbHVlcy5tYXAoaT0+aS5yYXchPT12b2lkIDA/aS5yYXc6W2kubWluJiZgKG1pbi13aWR0aDogJHtpLm1pbn0pYCxpLm1heCYmYChtYXgtd2lkdGg6ICR7aS5tYXh9KWBdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgYW5kICIpKTtyZXR1cm4gZS5ub3Q/YG5vdCBhbGwgYW5kICR7dH1gOnR9KS5qb2luKCIsICIpfXZhciBZbj1QKCgpPT57dSgpfSk7ZnVuY3Rpb24gTW8ocil7cmV0dXJuIHIuc3BsaXQoZl8pLm1hcCh0PT57bGV0IGk9dC50cmltKCksbj17dmFsdWU6aX0scz1pLnNwbGl0KGNfKSxhPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHMpIWEuaGFzKCJESVJFQ1RJT05TIikmJm5fLmhhcyhvKT8obi5kaXJlY3Rpb249byxhLmFkZCgiRElSRUNUSU9OUyIpKTohYS5oYXMoIlBMQVlfU1RBVEVTIikmJnNfLmhhcyhvKT8obi5wbGF5U3RhdGU9byxhLmFkZCgiUExBWV9TVEFURVMiKSk6IWEuaGFzKCJGSUxMX01PREVTIikmJmFfLmhhcyhvKT8obi5maWxsTW9kZT1vLGEuYWRkKCJGSUxMX01PREVTIikpOiFhLmhhcygiSVRFUkFUSU9OX0NPVU5UUyIpJiYob18uaGFzKG8pfHxwXy50ZXN0KG8pKT8obi5pdGVyYXRpb25Db3VudD1vLGEuYWRkKCJJVEVSQVRJT05fQ09VTlRTIikpOiFhLmhhcygiVElNSU5HX0ZVTkNUSU9OIikmJmxfLmhhcyhvKXx8IWEuaGFzKCJUSU1JTkdfRlVOQ1RJT04iKSYmdV8uc29tZShsPT5vLnN0YXJ0c1dpdGgoYCR7bH0oYCkpPyhuLnRpbWluZ0Z1bmN0aW9uPW8sYS5hZGQoIlRJTUlOR19GVU5DVElPTiIpKTohYS5oYXMoIkRVUkFUSU9OIikmJmxoLnRlc3Qobyk/KG4uZHVyYXRpb249byxhLmFkZCgiRFVSQVRJT04iKSk6IWEuaGFzKCJERUxBWSIpJiZsaC50ZXN0KG8pPyhuLmRlbGF5PW8sYS5hZGQoIkRFTEFZIikpOmEuaGFzKCJOQU1FIik/KG4udW5rbm93bnx8KG4udW5rbm93bj1bXSksbi51bmtub3duLnB1c2gobykpOihuLm5hbWU9byxhLmFkZCgiTkFNRSIpKTtyZXR1cm4gbn0pfXZhciBuXyxzXyxhXyxvXyxsXyx1XyxmXyxjXyxsaCxwXyx1aD1QKCgpPT57dSgpO25fPW5ldyBTZXQoWyJub3JtYWwiLCJyZXZlcnNlIiwiYWx0ZXJuYXRlIiwiYWx0ZXJuYXRlLXJldmVyc2UiXSksc189bmV3IFNldChbInJ1bm5pbmciLCJwYXVzZWQiXSksYV89bmV3IFNldChbIm5vbmUiLCJmb3J3YXJkcyIsImJhY2t3YXJkcyIsImJvdGgiXSksb189bmV3IFNldChbImluZmluaXRlIl0pLGxfPW5ldyBTZXQoWyJsaW5lYXIiLCJlYXNlIiwiZWFzZS1pbiIsImVhc2Utb3V0IiwiZWFzZS1pbi1vdXQiLCJzdGVwLXN0YXJ0Iiwic3RlcC1lbmQiXSksdV89WyJjdWJpYy1iZXppZXIiLCJzdGVwcyJdLGZfPS9cLCg/IVteKF0qXCkpL2csY189L1wgKyg/IVteKF0qXCkpL2csbGg9L14oLT9bXGQuXSttP3MpJC8scF89L14oXGQrKSQvfSk7dmFyIGZoLHhlLGNoPVAoKCk9Pnt1KCk7Zmg9cj0+T2JqZWN0LmFzc2lnbih7fSwuLi5PYmplY3QuZW50cmllcyhyPz97fSkuZmxhdE1hcCgoW2UsdF0pPT50eXBlb2YgdD09Im9iamVjdCI/T2JqZWN0LmVudHJpZXMoZmgodCkpLm1hcCgoW2ksbl0pPT4oe1tlKyhpPT09IkRFRkFVTFQiPyIiOmAtJHtpfWApXTpufSkpOlt7W2Ake2V9YF06dH1dKSkseGU9Zmh9KTt2YXIgZGgscGg9UCgoKT0+e2RoPSIzLjQuMTcifSk7ZnVuY3Rpb24gUnQocixlPSEwKXtyZXR1cm4gQXJyYXkuaXNBcnJheShyKT9yLm1hcCh0PT57aWYoZSYmQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgRXJyb3IoIlRoZSB0dXBsZSBzeW50YXggaXMgbm90IHN1cHBvcnRlZCBmb3IgYHNjcmVlbnNgLiIpO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm57bmFtZTp0LnRvU3RyaW5nKCksbm90OiExLHZhbHVlczpbe21pbjp0LG1heDp2b2lkIDB9XX07bGV0W2ksbl09dDtyZXR1cm4gaT1pLnRvU3RyaW5nKCksdHlwZW9mIG49PSJzdHJpbmciP3tuYW1lOmksbm90OiExLHZhbHVlczpbe21pbjpuLG1heDp2b2lkIDB9XX06QXJyYXkuaXNBcnJheShuKT97bmFtZTppLG5vdDohMSx2YWx1ZXM6bi5tYXAocz0+bWgocykpfTp7bmFtZTppLG5vdDohMSx2YWx1ZXM6W21oKG4pXX19KTpSdChPYmplY3QuZW50cmllcyhyPz97fSksITEpfWZ1bmN0aW9uIEtuKHIpe3JldHVybiByLnZhbHVlcy5sZW5ndGghPT0xP3tyZXN1bHQ6ITEscmVhc29uOiJtdWx0aXBsZS12YWx1ZXMifTpyLnZhbHVlc1swXS5yYXchPT12b2lkIDA/e3Jlc3VsdDohMSxyZWFzb246InJhdy12YWx1ZXMifTpyLnZhbHVlc1swXS5taW4hPT12b2lkIDAmJnIudmFsdWVzWzBdLm1heCE9PXZvaWQgMD97cmVzdWx0OiExLHJlYXNvbjoibWluLWFuZC1tYXgifTp7cmVzdWx0OiEwLHJlYXNvbjpudWxsfX1mdW5jdGlvbiBoaChyLGUsdCl7bGV0IGk9WG4oZSxyKSxuPVhuKHQscikscz1LbihpKSxhPUtuKG4pO2lmKHMucmVhc29uPT09Im11bHRpcGxlLXZhbHVlcyJ8fGEucmVhc29uPT09Im11bHRpcGxlLXZhbHVlcyIpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gc29ydCBhIHNjcmVlbiB3aXRoIG11bHRpcGxlIHZhbHVlcy4gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiBQbGVhc2Ugb3BlbiBhIGJ1ZyByZXBvcnQuIik7aWYocy5yZWFzb249PT0icmF3LXZhbHVlcyJ8fGEucmVhc29uPT09InJhdy12YWx1ZXMiKXRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGVkIHRvIHNvcnQgYSBzY3JlZW4gd2l0aCByYXcgdmFsdWVzLiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIFBsZWFzZSBvcGVuIGEgYnVnIHJlcG9ydC4iKTtpZihzLnJlYXNvbj09PSJtaW4tYW5kLW1heCJ8fGEucmVhc29uPT09Im1pbi1hbmQtbWF4Iil0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRlZCB0byBzb3J0IGEgc2NyZWVuIHdpdGggYm90aCBtaW4gYW5kIG1heCB2YWx1ZXMuIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4gUGxlYXNlIG9wZW4gYSBidWcgcmVwb3J0LiIpO2xldHttaW46byxtYXg6bH09aS52YWx1ZXNbMF0se21pbjpjLG1heDpmfT1uLnZhbHVlc1swXTtlLm5vdCYmKFtvLGxdPVtsLG9dKSx0Lm5vdCYmKFtjLGZdPVtmLGNdKSxvPW89PT12b2lkIDA/bzpwYXJzZUZsb2F0KG8pLGw9bD09PXZvaWQgMD9sOnBhcnNlRmxvYXQobCksYz1jPT09dm9pZCAwP2M6cGFyc2VGbG9hdChjKSxmPWY9PT12b2lkIDA/ZjpwYXJzZUZsb2F0KGYpO2xldFtkLHBdPXI9PT0ibWluIj9bbyxjXTpbZixsXTtyZXR1cm4gZC1wfWZ1bmN0aW9uIFhuKHIsZSl7cmV0dXJuIHR5cGVvZiByPT0ib2JqZWN0Ij9yOntuYW1lOiJhcmJpdHJhcnktc2NyZWVuIix2YWx1ZXM6W3tbZV06cn1dfX1mdW5jdGlvbiBtaCh7Im1pbi13aWR0aCI6cixtaW46ZT1yLG1heDp0LHJhdzppfT17fSl7cmV0dXJue21pbjplLG1heDp0LHJhdzppfX12YXIgWm49UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIEpuKHIsZSl7ci53YWxrRGVjbHModD0+e2lmKGUuaW5jbHVkZXModC5wcm9wKSl7dC5yZW1vdmUoKTtyZXR1cm59Zm9yKGxldCBpIG9mIGUpdC52YWx1ZS5pbmNsdWRlcyhgLyB2YXIoJHtpfSlgKT90LnZhbHVlPXQudmFsdWUucmVwbGFjZShgLyB2YXIoJHtpfSlgLCIiKTp0LnZhbHVlLmluY2x1ZGVzKGAvIHZhcigke2l9LCAxKWApJiYodC52YWx1ZT10LnZhbHVlLnJlcGxhY2UoYC8gdmFyKCR7aX0sIDEpYCwiIikpfSl9dmFyIGdoPVAoKCk9Pnt1KCl9KTt2YXIgc2UsWGUsbnQsZ2UseWgsYmg9UCgoKT0+e3UoKTtmdCgpO2V0KCk7T3QoKTtvaCgpO1luKCk7ZnIoKTt1aCgpO2NoKCk7THIoKTtyYSgpO0t0KCk7Q2koKTtwaCgpO0JlKCk7Wm4oKTtZcygpO2doKCk7Y3QoKTtCcigpO09pKCk7c2U9e2NoaWxkVmFyaWFudDooe2FkZFZhcmlhbnQ6cn0pPT57cigiKiIsIiYgPiAqIil9LHBzZXVkb0VsZW1lbnRWYXJpYW50czooe2FkZFZhcmlhbnQ6cn0pPT57cigiZmlyc3QtbGV0dGVyIiwiJjo6Zmlyc3QtbGV0dGVyIikscigiZmlyc3QtbGluZSIsIiY6OmZpcnN0LWxpbmUiKSxyKCJtYXJrZXIiLFsoe2NvbnRhaW5lcjplfSk9PihKbihlLFsiLS10dy10ZXh0LW9wYWNpdHkiXSksIiYgKjo6bWFya2VyIiksKHtjb250YWluZXI6ZX0pPT4oSm4oZSxbIi0tdHctdGV4dC1vcGFjaXR5Il0pLCImOjptYXJrZXIiKV0pLHIoInNlbGVjdGlvbiIsWyImICo6OnNlbGVjdGlvbiIsIiY6OnNlbGVjdGlvbiJdKSxyKCJmaWxlIiwiJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24iKSxyKCJwbGFjZWhvbGRlciIsIiY6OnBsYWNlaG9sZGVyIikscigiYmFja2Ryb3AiLCImOjpiYWNrZHJvcCIpLHIoImJlZm9yZSIsKHtjb250YWluZXI6ZX0pPT4oZS53YWxrUnVsZXModD0+e2xldCBpPSExO3Qud2Fsa0RlY2xzKCJjb250ZW50IiwoKT0+e2k9ITB9KSxpfHx0LnByZXBlbmQoZWUuZGVjbCh7cHJvcDoiY29udGVudCIsdmFsdWU6InZhcigtLXR3LWNvbnRlbnQpIn0pKX0pLCImOjpiZWZvcmUiKSkscigiYWZ0ZXIiLCh7Y29udGFpbmVyOmV9KT0+KGUud2Fsa1J1bGVzKHQ9PntsZXQgaT0hMTt0LndhbGtEZWNscygiY29udGVudCIsKCk9PntpPSEwfSksaXx8dC5wcmVwZW5kKGVlLmRlY2woe3Byb3A6ImNvbnRlbnQiLHZhbHVlOiJ2YXIoLS10dy1jb250ZW50KSJ9KSl9KSwiJjo6YWZ0ZXIiKSl9LHBzZXVkb0NsYXNzVmFyaWFudHM6KHthZGRWYXJpYW50OnIsbWF0Y2hWYXJpYW50OmUsY29uZmlnOnQscHJlZml4Oml9KT0+e2xldCBuPVtbImZpcnN0IiwiJjpmaXJzdC1jaGlsZCJdLFsibGFzdCIsIiY6bGFzdC1jaGlsZCJdLFsib25seSIsIiY6b25seS1jaGlsZCJdLFsib2RkIiwiJjpudGgtY2hpbGQob2RkKSJdLFsiZXZlbiIsIiY6bnRoLWNoaWxkKGV2ZW4pIl0sImZpcnN0LW9mLXR5cGUiLCJsYXN0LW9mLXR5cGUiLCJvbmx5LW9mLXR5cGUiLFsidmlzaXRlZCIsKHtjb250YWluZXI6YX0pPT4oSm4oYSxbIi0tdHctdGV4dC1vcGFjaXR5IiwiLS10dy1ib3JkZXItb3BhY2l0eSIsIi0tdHctYmctb3BhY2l0eSJdKSwiJjp2aXNpdGVkIildLCJ0YXJnZXQiLFsib3BlbiIsIiZbb3Blbl0iXSwiZGVmYXVsdCIsImNoZWNrZWQiLCJpbmRldGVybWluYXRlIiwicGxhY2Vob2xkZXItc2hvd24iLCJhdXRvZmlsbCIsIm9wdGlvbmFsIiwicmVxdWlyZWQiLCJ2YWxpZCIsImludmFsaWQiLCJpbi1yYW5nZSIsIm91dC1vZi1yYW5nZSIsInJlYWQtb25seSIsImVtcHR5IiwiZm9jdXMtd2l0aGluIixbImhvdmVyIix3ZSh0KCksImhvdmVyT25seVdoZW5TdXBwb3J0ZWQiKT8iQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkgeyAmOmhvdmVyIH0iOiImOmhvdmVyIl0sImZvY3VzIiwiZm9jdXMtdmlzaWJsZSIsImFjdGl2ZSIsImVuYWJsZWQiLCJkaXNhYmxlZCJdLm1hcChhPT5BcnJheS5pc0FycmF5KGEpP2E6W2EsYCY6JHthfWBdKTtmb3IobGV0W2Esb11vZiBuKXIoYSxsPT50eXBlb2Ygbz09ImZ1bmN0aW9uIj9vKGwpOm8pO2xldCBzPXtncm91cDooYSx7bW9kaWZpZXI6b30pPT5vP1tgOm1lcmdlKCR7aSgiLmdyb3VwIil9XFwvJHtUZShvKX0pYCwiICYiXTpbYDptZXJnZSgke2koIi5ncm91cCIpfSlgLCIgJiJdLHBlZXI6KGEse21vZGlmaWVyOm99KT0+bz9bYDptZXJnZSgke2koIi5wZWVyIil9XFwvJHtUZShvKX0pYCwiIH4gJiJdOltgOm1lcmdlKCR7aSgiLnBlZXIiKX0pYCwiIH4gJiJdfTtmb3IobGV0W2Esb11vZiBPYmplY3QuZW50cmllcyhzKSllKGEsKGw9IiIsYyk9PntsZXQgZj1LKHR5cGVvZiBsPT0iZnVuY3Rpb24iP2woYyk6bCk7Zi5pbmNsdWRlcygiJiIpfHwoZj0iJiIrZik7bGV0W2QscF09bygiIixjKSxoPW51bGwsYj1udWxsLHY9MDtmb3IobGV0IHk9MDt5PGYubGVuZ3RoOysreSl7bGV0IHc9Zlt5XTt3PT09IiYiP2g9eTp3PT09IicifHx3PT09JyInP3YrPTE6aCE9PW51bGwmJnc9PT0iICImJiF2JiYoYj15KX1yZXR1cm4gaCE9PW51bGwmJmI9PT1udWxsJiYoYj1mLmxlbmd0aCksZi5zbGljZSgwLGgpK2QrZi5zbGljZShoKzEsYikrcCtmLnNsaWNlKGIpfSx7dmFsdWVzOk9iamVjdC5mcm9tRW50cmllcyhuKSxbUHRdOntyZXNwZWN0UHJlZml4OiExfX0pfSxkaXJlY3Rpb25WYXJpYW50czooe2FkZFZhcmlhbnQ6cn0pPT57cigibHRyIiwnJjp3aGVyZShbZGlyPSJsdHIiXSwgW2Rpcj0ibHRyIl0gKiknKSxyKCJydGwiLCcmOndoZXJlKFtkaXI9InJ0bCJdLCBbZGlyPSJydGwiXSAqKScpfSxyZWR1Y2VkTW90aW9uVmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoIm1vdGlvbi1zYWZlIiwiQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSIpLHIoIm1vdGlvbi1yZWR1Y2UiLCJAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKX0sZGFya1ZhcmlhbnRzOih7Y29uZmlnOnIsYWRkVmFyaWFudDplfSk9PntsZXRbdCxpPSIuZGFyayJdPVtdLmNvbmNhdChyKCJkYXJrTW9kZSIsIm1lZGlhIikpO2lmKHQ9PT0hMSYmKHQ9Im1lZGlhIixHLndhcm4oImRhcmttb2RlLWZhbHNlIixbIlRoZSBgZGFya01vZGVgIG9wdGlvbiBpbiB5b3VyIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uIGlzIHNldCB0byBgZmFsc2VgLCB3aGljaCBub3cgYmVoYXZlcyB0aGUgc2FtZSBhcyBgbWVkaWFgLiIsIkNoYW5nZSBgZGFya01vZGVgIHRvIGBtZWRpYWAgb3IgcmVtb3ZlIGl0IGVudGlyZWx5LiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdXBncmFkZS1ndWlkZSNyZW1vdmUtZGFyay1tb2RlLWNvbmZpZ3VyYXRpb24iXSkpLHQ9PT0idmFyaWFudCIpe2xldCBuO2lmKEFycmF5LmlzQXJyYXkoaSl8fHR5cGVvZiBpPT0iZnVuY3Rpb24iP249aTp0eXBlb2YgaT09InN0cmluZyImJihuPVtpXSksQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IHMgb2YgbilzPT09Ii5kYXJrIj8odD0hMSxHLndhcm4oImRhcmttb2RlLXZhcmlhbnQtd2l0aG91dC1zZWxlY3RvciIsWyJXaGVuIHVzaW5nIGB2YXJpYW50YCBmb3IgYGRhcmtNb2RlYCwgeW91IG11c3QgcHJvdmlkZSBhIHNlbGVjdG9yLiIsJ0V4YW1wbGU6IGBkYXJrTW9kZTogWyJ2YXJpYW50IiwgIi55b3VyLXNlbGVjdG9yICYiXWAnXSkpOnMuaW5jbHVkZXMoIiYiKXx8KHQ9ITEsRy53YXJuKCJkYXJrbW9kZS12YXJpYW50LXdpdGhvdXQtYW1wZXJzYW5kIixbIldoZW4gdXNpbmcgYHZhcmlhbnRgIGZvciBgZGFya01vZGVgLCB5b3VyIHNlbGVjdG9yIG11c3QgY29udGFpbiBgJmAuIiwnRXhhbXBsZSBgZGFya01vZGU6IFsidmFyaWFudCIsICIueW91ci1zZWxlY3RvciAmIl1gJ10pKTtpPW59dD09PSJzZWxlY3RvciI/ZSgiZGFyayIsYCY6d2hlcmUoJHtpfSwgJHtpfSAqKWApOnQ9PT0ibWVkaWEiP2UoImRhcmsiLCJAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpOnQ9PT0idmFyaWFudCI/ZSgiZGFyayIsaSk6dD09PSJjbGFzcyImJmUoImRhcmsiLGAmOmlzKCR7aX0gKilgKX0scHJpbnRWYXJpYW50Oih7YWRkVmFyaWFudDpyfSk9PntyKCJwcmludCIsIkBtZWRpYSBwcmludCIpfSxzY3JlZW5WYXJpYW50czooe3RoZW1lOnIsYWRkVmFyaWFudDplLG1hdGNoVmFyaWFudDp0fSk9PntsZXQgaT1yKCJzY3JlZW5zIik/P3t9LG49T2JqZWN0LnZhbHVlcyhpKS5ldmVyeSh3PT50eXBlb2Ygdz09InN0cmluZyIpLHM9UnQocigic2NyZWVucyIpKSxhPW5ldyBTZXQoW10pO2Z1bmN0aW9uIG8odyl7cmV0dXJuIHcubWF0Y2goLyhcRCspJC8pPy5bMV0/PyIobm9uZSkifWZ1bmN0aW9uIGwodyl7dyE9PXZvaWQgMCYmYS5hZGQobyh3KSl9ZnVuY3Rpb24gYyh3KXtyZXR1cm4gbCh3KSxhLnNpemU9PT0xfWZvcihsZXQgdyBvZiBzKWZvcihsZXQgayBvZiB3LnZhbHVlcylsKGsubWluKSxsKGsubWF4KTtsZXQgZj1hLnNpemU8PTE7ZnVuY3Rpb24gZCh3KXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHMuZmlsdGVyKGs9PktuKGspLnJlc3VsdCkubWFwKGs9PntsZXR7bWluOlMsbWF4OkV9PWsudmFsdWVzWzBdO2lmKHc9PT0ibWluIiYmUyE9PXZvaWQgMClyZXR1cm4gaztpZih3PT09Im1pbiImJkUhPT12b2lkIDApcmV0dXJuey4uLmssbm90OiFrLm5vdH07aWYodz09PSJtYXgiJiZFIT09dm9pZCAwKXJldHVybiBrO2lmKHc9PT0ibWF4IiYmUyE9PXZvaWQgMClyZXR1cm57Li4uayxub3Q6IWsubm90fX0pLm1hcChrPT5bay5uYW1lLGtdKSl9ZnVuY3Rpb24gcCh3KXtyZXR1cm4oayxTKT0+aGgodyxrLnZhbHVlLFMudmFsdWUpfWxldCBoPXAoIm1heCIpLGI9cCgibWluIik7ZnVuY3Rpb24gdih3KXtyZXR1cm4gaz0+e2lmKG4paWYoZil7aWYodHlwZW9mIGs9PSJzdHJpbmciJiYhYyhrKSlyZXR1cm4gRy53YXJuKCJtaW5tYXgtaGF2ZS1taXhlZC11bml0cyIsWyJUaGUgYG1pbi0qYCBhbmQgYG1heC0qYCB2YXJpYW50cyBhcmUgbm90IHN1cHBvcnRlZCB3aXRoIGEgYHNjcmVlbnNgIGNvbmZpZ3VyYXRpb24gY29udGFpbmluZyBtaXhlZCB1bml0cy4iXSksW119ZWxzZSByZXR1cm4gRy53YXJuKCJtaXhlZC1zY3JlZW4tdW5pdHMiLFsiVGhlIGBtaW4tKmAgYW5kIGBtYXgtKmAgdmFyaWFudHMgYXJlIG5vdCBzdXBwb3J0ZWQgd2l0aCBhIGBzY3JlZW5zYCBjb25maWd1cmF0aW9uIGNvbnRhaW5pbmcgbWl4ZWQgdW5pdHMuIl0pLFtdO2Vsc2UgcmV0dXJuIEcud2FybigiY29tcGxleC1zY3JlZW4tY29uZmlnIixbIlRoZSBgbWluLSpgIGFuZCBgbWF4LSpgIHZhcmlhbnRzIGFyZSBub3Qgc3VwcG9ydGVkIHdpdGggYSBgc2NyZWVuc2AgY29uZmlndXJhdGlvbiBjb250YWluaW5nIG9iamVjdHMuIl0pLFtdO3JldHVybltgQG1lZGlhICR7VHQoWG4oayx3KSl9YF19fXQoIm1heCIsdigibWF4Iikse3NvcnQ6aCx2YWx1ZXM6bj9kKCJtYXgiKTp7fX0pO2xldCB5PSJtaW4tc2NyZWVucyI7Zm9yKGxldCB3IG9mIHMpZSh3Lm5hbWUsYEBtZWRpYSAke1R0KHcpfWAse2lkOnksc29ydDpuJiZmP2I6dm9pZCAwLHZhbHVlOnd9KTt0KCJtaW4iLHYoIm1pbiIpLHtpZDp5LHNvcnQ6Yn0pfSxzdXBwb3J0c1ZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIsdGhlbWU6ZX0pPT57cigic3VwcG9ydHMiLCh0PSIiKT0+e2xldCBpPUsodCksbj0vXlx3KlxzKlwoLy50ZXN0KGkpO3JldHVybiBpPW4/aS5yZXBsYWNlKC9cYihhbmR8b3J8bm90KVxiL2csIiAkMSAiKTppLG4/YEBzdXBwb3J0cyAke2l9YDooaS5pbmNsdWRlcygiOiIpfHwoaT1gJHtpfTogdmFyKC0tdHcpYCksaS5zdGFydHNXaXRoKCIoIikmJmkuZW5kc1dpdGgoIikiKXx8KGk9YCgke2l9KWApLGBAc3VwcG9ydHMgJHtpfWApfSx7dmFsdWVzOmUoInN1cHBvcnRzIik/P3t9fSl9LGhhc1ZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIscHJlZml4OmV9KT0+e3IoImhhcyIsdD0+YCY6aGFzKCR7Syh0KX0pYCx7dmFsdWVzOnt9LFtQdF06e3Jlc3BlY3RQcmVmaXg6ITF9fSkscigiZ3JvdXAtaGFzIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoJHtlKCIuZ3JvdXAiKX1cXC8ke2l9KTpoYXMoJHtLKHQpfSkgJmA6YDptZXJnZSgke2UoIi5ncm91cCIpfSk6aGFzKCR7Syh0KX0pICZgLHt2YWx1ZXM6e30sW1B0XTp7cmVzcGVjdFByZWZpeDohMX19KSxyKCJwZWVyLWhhcyIsKHQse21vZGlmaWVyOml9KT0+aT9gOm1lcmdlKCR7ZSgiLnBlZXIiKX1cXC8ke2l9KTpoYXMoJHtLKHQpfSkgfiAmYDpgOm1lcmdlKCR7ZSgiLnBlZXIiKX0pOmhhcygke0sodCl9KSB+ICZgLHt2YWx1ZXM6e30sW1B0XTp7cmVzcGVjdFByZWZpeDohMX19KX0sYXJpYVZhcmlhbnRzOih7bWF0Y2hWYXJpYW50OnIsdGhlbWU6ZX0pPT57cigiYXJpYSIsdD0+YCZbYXJpYS0ke1llKEsodCkpfV1gLHt2YWx1ZXM6ZSgiYXJpYSIpPz97fX0pLHIoImdyb3VwLWFyaWEiLCh0LHttb2RpZmllcjppfSk9Pmk/YDptZXJnZSguZ3JvdXBcXC8ke2l9KVthcmlhLSR7WWUoSyh0KSl9XSAmYDpgOm1lcmdlKC5ncm91cClbYXJpYS0ke1llKEsodCkpfV0gJmAse3ZhbHVlczplKCJhcmlhIik/P3t9fSkscigicGVlci1hcmlhIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoLnBlZXJcXC8ke2l9KVthcmlhLSR7WWUoSyh0KSl9XSB+ICZgOmA6bWVyZ2UoLnBlZXIpW2FyaWEtJHtZZShLKHQpKX1dIH4gJmAse3ZhbHVlczplKCJhcmlhIik/P3t9fSl9LGRhdGFWYXJpYW50czooe21hdGNoVmFyaWFudDpyLHRoZW1lOmV9KT0+e3IoImRhdGEiLHQ9PmAmW2RhdGEtJHtZZShLKHQpKX1dYCx7dmFsdWVzOmUoImRhdGEiKT8/e319KSxyKCJncm91cC1kYXRhIiwodCx7bW9kaWZpZXI6aX0pPT5pP2A6bWVyZ2UoLmdyb3VwXFwvJHtpfSlbZGF0YS0ke1llKEsodCkpfV0gJmA6YDptZXJnZSguZ3JvdXApW2RhdGEtJHtZZShLKHQpKX1dICZgLHt2YWx1ZXM6ZSgiZGF0YSIpPz97fX0pLHIoInBlZXItZGF0YSIsKHQse21vZGlmaWVyOml9KT0+aT9gOm1lcmdlKC5wZWVyXFwvJHtpfSlbZGF0YS0ke1llKEsodCkpfV0gfiAmYDpgOm1lcmdlKC5wZWVyKVtkYXRhLSR7WWUoSyh0KSl9XSB+ICZgLHt2YWx1ZXM6ZSgiZGF0YSIpPz97fX0pfSxvcmllbnRhdGlvblZhcmlhbnRzOih7YWRkVmFyaWFudDpyfSk9PntyKCJwb3J0cmFpdCIsIkBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSIpLHIoImxhbmRzY2FwZSIsIkBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKX0scHJlZmVyc0NvbnRyYXN0VmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoImNvbnRyYXN0LW1vcmUiLCJAbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIikscigiY29udHJhc3QtbGVzcyIsIkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogbGVzcykiKX0sZm9yY2VkQ29sb3JzVmFyaWFudHM6KHthZGRWYXJpYW50OnJ9KT0+e3IoImZvcmNlZC1jb2xvcnMiLCJAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkiKX19LFhlPVsidHJhbnNsYXRlKHZhcigtLXR3LXRyYW5zbGF0ZS14KSwgdmFyKC0tdHctdHJhbnNsYXRlLXkpKSIsInJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSIsInNrZXdYKHZhcigtLXR3LXNrZXcteCkpIiwic2tld1kodmFyKC0tdHctc2tldy15KSkiLCJzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIiwic2NhbGVZKHZhcigtLXR3LXNjYWxlLXkpKSJdLmpvaW4oIiAiKSxudD1bInZhcigtLXR3LWJsdXIpIiwidmFyKC0tdHctYnJpZ2h0bmVzcykiLCJ2YXIoLS10dy1jb250cmFzdCkiLCJ2YXIoLS10dy1ncmF5c2NhbGUpIiwidmFyKC0tdHctaHVlLXJvdGF0ZSkiLCJ2YXIoLS10dy1pbnZlcnQpIiwidmFyKC0tdHctc2F0dXJhdGUpIiwidmFyKC0tdHctc2VwaWEpIiwidmFyKC0tdHctZHJvcC1zaGFkb3cpIl0uam9pbigiICIpLGdlPVsidmFyKC0tdHctYmFja2Ryb3AtYmx1cikiLCJ2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzKSIsInZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSIsInZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSkiLCJ2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlKSIsInZhcigtLXR3LWJhY2tkcm9wLWludmVydCkiLCJ2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5KSIsInZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlKSIsInZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKSJdLmpvaW4oIiAiKSx5aD17cHJlZmxpZ2h0Oih7YWRkQmFzZTpyfSk9PntsZXQgZT1lZS5wYXJzZShgKiw6OmFmdGVyLDo6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItd2lkdGg6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRoZW1lKCdib3JkZXJDb2xvci5ERUZBVUxUJywgY3VycmVudENvbG9yKX06OmFmdGVyLDo6YmVmb3Jley0tdHctY29udGVudDonJ306aG9zdCxodG1se2xpbmUtaGVpZ2h0OjEuNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRhYi1zaXplOjQ7dGFiLXNpemU6NDtmb250LWZhbWlseTp0aGVtZSgnZm9udEZhbWlseS5zYW5zJywgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiU2Vnb2UgVUkgRW1vamkiLCAiU2Vnb2UgVUkgU3ltYm9sIiwgIk5vdG8gQ29sb3IgRW1vamkiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dGhlbWUoJ2ZvbnRGYW1pbHkuc2Fuc1sxXS5mb250RmVhdHVyZVNldHRpbmdzJywgbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp0aGVtZSgnZm9udEZhbWlseS5zYW5zWzFdLmZvbnRWYXJpYXRpb25TZXR0aW5ncycsIG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWJvZHl7bWFyZ2luOjA7bGluZS1oZWlnaHQ6aW5oZXJpdH1ocntoZWlnaHQ6MDtjb2xvcjppbmhlcml0O2JvcmRlci10b3Atd2lkdGg6MXB4fWFiYnI6d2hlcmUoW3RpdGxlXSl7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5OnRoZW1lKCdmb250RmFtaWx5Lm1vbm8nLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgIkxpYmVyYXRpb24gTW9ubyIsICJDb3VyaWVyIE5ldyIsIG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnRoZW1lKCdmb250RmFtaWx5Lm1vbm9bMV0uZm9udEZlYXR1cmVTZXR0aW5ncycsIG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dGhlbWUoJ2ZvbnRGYW1pbHkubW9ub1sxXS5mb250VmFyaWF0aW9uU2V0dGluZ3MnLCBub3JtYWwpO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7bWFyZ2luOjA7cGFkZGluZzowfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSksaW5wdXQ6d2hlcmUoW3R5cGU9cmVzZXRdKSxpbnB1dDp3aGVyZShbdHlwZT1zdWJtaXRdKXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lfTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOmF1dG99Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31bdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGQ7b3V0bGluZS1vZmZzZXQ6LTJweH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9uO2ZvbnQ6aW5oZXJpdH1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfWJsb2NrcXVvdGUsZGQsZGwsZmlndXJlLGgxLGgyLGgzLGg0LGg1LGg2LGhyLHAscHJle21hcmdpbjowfWZpZWxkc2V0e21hcmdpbjowO3BhZGRpbmc6MH1sZWdlbmR7cGFkZGluZzowfW1lbnUsb2wsdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MH1kaWFsb2d7cGFkZGluZzowfXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH1pbnB1dDo6cGxhY2Vob2xkZXIsdGV4dGFyZWE6OnBsYWNlaG9sZGVye29wYWNpdHk6MTtjb2xvcjp0aGVtZSgnY29sb3JzLmdyYXkuNCcsICM5Y2EzYWYpfVtyb2xlPWJ1dHRvbl0sYnV0dG9ue2N1cnNvcjpwb2ludGVyfTpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH1hdWRpbyxjYW52YXMsZW1iZWQsaWZyYW1lLGltZyxvYmplY3Qsc3ZnLHZpZGVve2Rpc3BsYXk6YmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfWltZyx2aWRlb3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b31baGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49dW50aWwtZm91bmRdKSl7ZGlzcGxheTpub25lfWApO3IoW2VlLmNvbW1lbnQoe3RleHQ6YCEgdGFpbHdpbmRjc3MgdiR7ZGh9IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbWB9KSwuLi5lLm5vZGVzXSl9LGNvbnRhaW5lcjooKCk9PntmdW5jdGlvbiByKHQ9W10pe3JldHVybiB0LmZsYXRNYXAoaT0+aS52YWx1ZXMubWFwKG49Pm4ubWluKSkuZmlsdGVyKGk9PmkhPT12b2lkIDApfWZ1bmN0aW9uIGUodCxpLG4pe2lmKHR5cGVvZiBuPT0idW5kZWZpbmVkIilyZXR1cm5bXTtpZighKHR5cGVvZiBuPT0ib2JqZWN0IiYmbiE9PW51bGwpKXJldHVyblt7c2NyZWVuOiJERUZBVUxUIixtaW5XaWR0aDowLHBhZGRpbmc6bn1dO2xldCBzPVtdO24uREVGQVVMVCYmcy5wdXNoKHtzY3JlZW46IkRFRkFVTFQiLG1pbldpZHRoOjAscGFkZGluZzpuLkRFRkFVTFR9KTtmb3IobGV0IGEgb2YgdClmb3IobGV0IG8gb2YgaSlmb3IobGV0e21pbjpsfW9mIG8udmFsdWVzKWw9PT1hJiZzLnB1c2goe21pbldpZHRoOmEscGFkZGluZzpuW28ubmFtZV19KTtyZXR1cm4gc31yZXR1cm4gZnVuY3Rpb24oe2FkZENvbXBvbmVudHM6dCx0aGVtZTppfSl7bGV0IG49UnQoaSgiY29udGFpbmVyLnNjcmVlbnMiLGkoInNjcmVlbnMiKSkpLHM9cihuKSxhPWUocyxuLGkoImNvbnRhaW5lci5wYWRkaW5nIikpLG89Yz0+e2xldCBmPWEuZmluZChkPT5kLm1pbldpZHRoPT09Yyk7cmV0dXJuIGY/e3BhZGRpbmdSaWdodDpmLnBhZGRpbmcscGFkZGluZ0xlZnQ6Zi5wYWRkaW5nfTp7fX0sbD1BcnJheS5mcm9tKG5ldyBTZXQocy5zbGljZSgpLnNvcnQoKGMsZik9PnBhcnNlSW50KGMpLXBhcnNlSW50KGYpKSkpLm1hcChjPT4oe1tgQG1lZGlhIChtaW4td2lkdGg6ICR7Y30pYF06eyIuY29udGFpbmVyIjp7Im1heC13aWR0aCI6YywuLi5vKGMpfX19KSk7dChbeyIuY29udGFpbmVyIjpPYmplY3QuYXNzaWduKHt3aWR0aDoiMTAwJSJ9LGkoImNvbnRhaW5lci5jZW50ZXIiLCExKT97bWFyZ2luUmlnaHQ6ImF1dG8iLG1hcmdpbkxlZnQ6ImF1dG8ifTp7fSxvKDApKX0sLi4ubF0pfX0pKCksYWNjZXNzaWJpbGl0eTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnNyLW9ubHkiOntwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwYWRkaW5nOiIwIixtYXJnaW46Ii0xcHgiLG92ZXJmbG93OiJoaWRkZW4iLGNsaXA6InJlY3QoMCwgMCwgMCwgMCkiLHdoaXRlU3BhY2U6Im5vd3JhcCIsYm9yZGVyV2lkdGg6IjAifSwiLm5vdC1zci1vbmx5Ijp7cG9zaXRpb246InN0YXRpYyIsd2lkdGg6ImF1dG8iLGhlaWdodDoiYXV0byIscGFkZGluZzoiMCIsbWFyZ2luOiIwIixvdmVyZmxvdzoidmlzaWJsZSIsY2xpcDoiYXV0byIsd2hpdGVTcGFjZToibm9ybWFsIn19KX0scG9pbnRlckV2ZW50czooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnBvaW50ZXItZXZlbnRzLW5vbmUiOnsicG9pbnRlci1ldmVudHMiOiJub25lIn0sIi5wb2ludGVyLWV2ZW50cy1hdXRvIjp7InBvaW50ZXItZXZlbnRzIjoiYXV0byJ9fSl9LHZpc2liaWxpdHk6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii52aXNpYmxlIjp7dmlzaWJpbGl0eToidmlzaWJsZSJ9LCIuaW52aXNpYmxlIjp7dmlzaWJpbGl0eToiaGlkZGVuIn0sIi5jb2xsYXBzZSI6e3Zpc2liaWxpdHk6ImNvbGxhcHNlIn19KX0scG9zaXRpb246KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zdGF0aWMiOntwb3NpdGlvbjoic3RhdGljIn0sIi5maXhlZCI6e3Bvc2l0aW9uOiJmaXhlZCJ9LCIuYWJzb2x1dGUiOntwb3NpdGlvbjoiYWJzb2x1dGUifSwiLnJlbGF0aXZlIjp7cG9zaXRpb246InJlbGF0aXZlIn0sIi5zdGlja3kiOntwb3NpdGlvbjoic3RpY2t5In19KX0saW5zZXQ6TCgiaW5zZXQiLFtbImluc2V0IixbImluc2V0Il1dLFtbImluc2V0LXgiLFsibGVmdCIsInJpZ2h0Il1dLFsiaW5zZXQteSIsWyJ0b3AiLCJib3R0b20iXV1dLFtbInN0YXJ0IixbImluc2V0LWlubGluZS1zdGFydCJdXSxbImVuZCIsWyJpbnNldC1pbmxpbmUtZW5kIl1dLFsidG9wIixbInRvcCJdXSxbInJpZ2h0IixbInJpZ2h0Il1dLFsiYm90dG9tIixbImJvdHRvbSJdXSxbImxlZnQiLFsibGVmdCJdXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksaXNvbGF0aW9uOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaXNvbGF0ZSI6e2lzb2xhdGlvbjoiaXNvbGF0ZSJ9LCIuaXNvbGF0aW9uLWF1dG8iOntpc29sYXRpb246ImF1dG8ifX0pfSx6SW5kZXg6TCgiekluZGV4IixbWyJ6IixbInpJbmRleCJdXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxvcmRlcjpMKCJvcmRlciIsdm9pZCAwLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZENvbHVtbjpMKCJncmlkQ29sdW1uIixbWyJjb2wiLFsiZ3JpZENvbHVtbiJdXV0pLGdyaWRDb2x1bW5TdGFydDpMKCJncmlkQ29sdW1uU3RhcnQiLFtbImNvbC1zdGFydCIsWyJncmlkQ29sdW1uU3RhcnQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZENvbHVtbkVuZDpMKCJncmlkQ29sdW1uRW5kIixbWyJjb2wtZW5kIixbImdyaWRDb2x1bW5FbmQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZFJvdzpMKCJncmlkUm93IixbWyJyb3ciLFsiZ3JpZFJvdyJdXV0pLGdyaWRSb3dTdGFydDpMKCJncmlkUm93U3RhcnQiLFtbInJvdy1zdGFydCIsWyJncmlkUm93U3RhcnQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZ3JpZFJvd0VuZDpMKCJncmlkUm93RW5kIixbWyJyb3ctZW5kIixbImdyaWRSb3dFbmQiXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZmxvYXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5mbG9hdC1zdGFydCI6e2Zsb2F0OiJpbmxpbmUtc3RhcnQifSwiLmZsb2F0LWVuZCI6e2Zsb2F0OiJpbmxpbmUtZW5kIn0sIi5mbG9hdC1yaWdodCI6e2Zsb2F0OiJyaWdodCJ9LCIuZmxvYXQtbGVmdCI6e2Zsb2F0OiJsZWZ0In0sIi5mbG9hdC1ub25lIjp7ZmxvYXQ6Im5vbmUifX0pfSxjbGVhcjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmNsZWFyLXN0YXJ0Ijp7Y2xlYXI6ImlubGluZS1zdGFydCJ9LCIuY2xlYXItZW5kIjp7Y2xlYXI6ImlubGluZS1lbmQifSwiLmNsZWFyLWxlZnQiOntjbGVhcjoibGVmdCJ9LCIuY2xlYXItcmlnaHQiOntjbGVhcjoicmlnaHQifSwiLmNsZWFyLWJvdGgiOntjbGVhcjoiYm90aCJ9LCIuY2xlYXItbm9uZSI6e2NsZWFyOiJub25lIn19KX0sbWFyZ2luOkwoIm1hcmdpbiIsW1sibSIsWyJtYXJnaW4iXV0sW1sibXgiLFsibWFyZ2luLWxlZnQiLCJtYXJnaW4tcmlnaHQiXV0sWyJteSIsWyJtYXJnaW4tdG9wIiwibWFyZ2luLWJvdHRvbSJdXV0sW1sibXMiLFsibWFyZ2luLWlubGluZS1zdGFydCJdXSxbIm1lIixbIm1hcmdpbi1pbmxpbmUtZW5kIl1dLFsibXQiLFsibWFyZ2luLXRvcCJdXSxbIm1yIixbIm1hcmdpbi1yaWdodCJdXSxbIm1iIixbIm1hcmdpbi1ib3R0b20iXV0sWyJtbCIsWyJtYXJnaW4tbGVmdCJdXV1dLHtzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksYm94U2l6aW5nOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYm94LWJvcmRlciI6eyJib3gtc2l6aW5nIjoiYm9yZGVyLWJveCJ9LCIuYm94LWNvbnRlbnQiOnsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94In19KX0sbGluZUNsYW1wOih7bWF0Y2hVdGlsaXRpZXM6cixhZGRVdGlsaXRpZXM6ZSx0aGVtZTp0fSk9PntyKHsibGluZS1jbGFtcCI6aT0+KHtvdmVyZmxvdzoiaGlkZGVuIixkaXNwbGF5OiItd2Via2l0LWJveCIsIi13ZWJraXQtYm94LW9yaWVudCI6InZlcnRpY2FsIiwiLXdlYmtpdC1saW5lLWNsYW1wIjpgJHtpfWB9KX0se3ZhbHVlczp0KCJsaW5lQ2xhbXAiKX0pLGUoeyIubGluZS1jbGFtcC1ub25lIjp7b3ZlcmZsb3c6InZpc2libGUiLGRpc3BsYXk6ImJsb2NrIiwiLXdlYmtpdC1ib3gtb3JpZW50IjoiaG9yaXpvbnRhbCIsIi13ZWJraXQtbGluZS1jbGFtcCI6Im5vbmUifX0pfSxkaXNwbGF5Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYmxvY2siOntkaXNwbGF5OiJibG9jayJ9LCIuaW5saW5lLWJsb2NrIjp7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sIi5pbmxpbmUiOntkaXNwbGF5OiJpbmxpbmUifSwiLmZsZXgiOntkaXNwbGF5OiJmbGV4In0sIi5pbmxpbmUtZmxleCI6e2Rpc3BsYXk6ImlubGluZS1mbGV4In0sIi50YWJsZSI6e2Rpc3BsYXk6InRhYmxlIn0sIi5pbmxpbmUtdGFibGUiOntkaXNwbGF5OiJpbmxpbmUtdGFibGUifSwiLnRhYmxlLWNhcHRpb24iOntkaXNwbGF5OiJ0YWJsZS1jYXB0aW9uIn0sIi50YWJsZS1jZWxsIjp7ZGlzcGxheToidGFibGUtY2VsbCJ9LCIudGFibGUtY29sdW1uIjp7ZGlzcGxheToidGFibGUtY29sdW1uIn0sIi50YWJsZS1jb2x1bW4tZ3JvdXAiOntkaXNwbGF5OiJ0YWJsZS1jb2x1bW4tZ3JvdXAifSwiLnRhYmxlLWZvb3Rlci1ncm91cCI6e2Rpc3BsYXk6InRhYmxlLWZvb3Rlci1ncm91cCJ9LCIudGFibGUtaGVhZGVyLWdyb3VwIjp7ZGlzcGxheToidGFibGUtaGVhZGVyLWdyb3VwIn0sIi50YWJsZS1yb3ctZ3JvdXAiOntkaXNwbGF5OiJ0YWJsZS1yb3ctZ3JvdXAifSwiLnRhYmxlLXJvdyI6e2Rpc3BsYXk6InRhYmxlLXJvdyJ9LCIuZmxvdy1yb290Ijp7ZGlzcGxheToiZmxvdy1yb290In0sIi5ncmlkIjp7ZGlzcGxheToiZ3JpZCJ9LCIuaW5saW5lLWdyaWQiOntkaXNwbGF5OiJpbmxpbmUtZ3JpZCJ9LCIuY29udGVudHMiOntkaXNwbGF5OiJjb250ZW50cyJ9LCIubGlzdC1pdGVtIjp7ZGlzcGxheToibGlzdC1pdGVtIn0sIi5oaWRkZW4iOntkaXNwbGF5OiJub25lIn19KX0sYXNwZWN0UmF0aW86TCgiYXNwZWN0UmF0aW8iLFtbImFzcGVjdCIsWyJhc3BlY3QtcmF0aW8iXV1dKSxzaXplOkwoInNpemUiLFtbInNpemUiLFsid2lkdGgiLCJoZWlnaHQiXV1dKSxoZWlnaHQ6TCgiaGVpZ2h0IixbWyJoIixbImhlaWdodCJdXV0pLG1heEhlaWdodDpMKCJtYXhIZWlnaHQiLFtbIm1heC1oIixbIm1heEhlaWdodCJdXV0pLG1pbkhlaWdodDpMKCJtaW5IZWlnaHQiLFtbIm1pbi1oIixbIm1pbkhlaWdodCJdXV0pLHdpZHRoOkwoIndpZHRoIixbWyJ3IixbIndpZHRoIl1dXSksbWluV2lkdGg6TCgibWluV2lkdGgiLFtbIm1pbi13IixbIm1pbldpZHRoIl1dXSksbWF4V2lkdGg6TCgibWF4V2lkdGgiLFtbIm1heC13IixbIm1heFdpZHRoIl1dXSksZmxleDpMKCJmbGV4IiksZmxleFNocmluazpMKCJmbGV4U2hyaW5rIixbWyJmbGV4LXNocmluayIsWyJmbGV4LXNocmluayJdXSxbInNocmluayIsWyJmbGV4LXNocmluayJdXV0pLGZsZXhHcm93OkwoImZsZXhHcm93IixbWyJmbGV4LWdyb3ciLFsiZmxleC1ncm93Il1dLFsiZ3JvdyIsWyJmbGV4LWdyb3ciXV1dKSxmbGV4QmFzaXM6TCgiZmxleEJhc2lzIixbWyJiYXNpcyIsWyJmbGV4LWJhc2lzIl1dXSksdGFibGVMYXlvdXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii50YWJsZS1hdXRvIjp7InRhYmxlLWxheW91dCI6ImF1dG8ifSwiLnRhYmxlLWZpeGVkIjp7InRhYmxlLWxheW91dCI6ImZpeGVkIn19KX0sY2FwdGlvblNpZGU6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5jYXB0aW9uLXRvcCI6eyJjYXB0aW9uLXNpZGUiOiJ0b3AifSwiLmNhcHRpb24tYm90dG9tIjp7ImNhcHRpb24tc2lkZSI6ImJvdHRvbSJ9fSl9LGJvcmRlckNvbGxhcHNlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYm9yZGVyLWNvbGxhcHNlIjp7ImJvcmRlci1jb2xsYXBzZSI6ImNvbGxhcHNlIn0sIi5ib3JkZXItc2VwYXJhdGUiOnsiYm9yZGVyLWNvbGxhcHNlIjoic2VwYXJhdGUifX0pfSxib3JkZXJTcGFjaW5nOih7YWRkRGVmYXVsdHM6cixtYXRjaFV0aWxpdGllczplLHRoZW1lOnR9KT0+e3IoImJvcmRlci1zcGFjaW5nIix7Ii0tdHctYm9yZGVyLXNwYWNpbmcteCI6MCwiLS10dy1ib3JkZXItc3BhY2luZy15IjowfSksZSh7ImJvcmRlci1zcGFjaW5nIjppPT4oeyItLXR3LWJvcmRlci1zcGFjaW5nLXgiOmksIi0tdHctYm9yZGVyLXNwYWNpbmcteSI6aSwiQGRlZmF1bHRzIGJvcmRlci1zcGFjaW5nIjp7fSwiYm9yZGVyLXNwYWNpbmciOiJ2YXIoLS10dy1ib3JkZXItc3BhY2luZy14KSB2YXIoLS10dy1ib3JkZXItc3BhY2luZy15KSJ9KSwiYm9yZGVyLXNwYWNpbmcteCI6aT0+KHsiLS10dy1ib3JkZXItc3BhY2luZy14IjppLCJAZGVmYXVsdHMgYm9yZGVyLXNwYWNpbmciOnt9LCJib3JkZXItc3BhY2luZyI6InZhcigtLXR3LWJvcmRlci1zcGFjaW5nLXgpIHZhcigtLXR3LWJvcmRlci1zcGFjaW5nLXkpIn0pLCJib3JkZXItc3BhY2luZy15IjppPT4oeyItLXR3LWJvcmRlci1zcGFjaW5nLXkiOmksIkBkZWZhdWx0cyBib3JkZXItc3BhY2luZyI6e30sImJvcmRlci1zcGFjaW5nIjoidmFyKC0tdHctYm9yZGVyLXNwYWNpbmcteCkgdmFyKC0tdHctYm9yZGVyLXNwYWNpbmcteSkifSl9LHt2YWx1ZXM6dCgiYm9yZGVyU3BhY2luZyIpfSl9LHRyYW5zZm9ybU9yaWdpbjpMKCJ0cmFuc2Zvcm1PcmlnaW4iLFtbIm9yaWdpbiIsWyJ0cmFuc2Zvcm1PcmlnaW4iXV1dKSx0cmFuc2xhdGU6TCgidHJhbnNsYXRlIixbW1sidHJhbnNsYXRlLXgiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy10cmFuc2xhdGUteCIsWyJ0cmFuc2Zvcm0iLFhlXV1dLFsidHJhbnNsYXRlLXkiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy10cmFuc2xhdGUteSIsWyJ0cmFuc2Zvcm0iLFhlXV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxyb3RhdGU6TCgicm90YXRlIixbWyJyb3RhdGUiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1yb3RhdGUiLFsidHJhbnNmb3JtIixYZV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxza2V3OkwoInNrZXciLFtbWyJza2V3LXgiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1za2V3LXgiLFsidHJhbnNmb3JtIixYZV1dXSxbInNrZXcteSIsW1siQGRlZmF1bHRzIHRyYW5zZm9ybSIse31dLCItLXR3LXNrZXcteSIsWyJ0cmFuc2Zvcm0iLFhlXV1dXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSxzY2FsZTpMKCJzY2FsZSIsW1sic2NhbGUiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1zY2FsZS14IiwiLS10dy1zY2FsZS15IixbInRyYW5zZm9ybSIsWGVdXV0sW1sic2NhbGUteCIsW1siQGRlZmF1bHRzIHRyYW5zZm9ybSIse31dLCItLXR3LXNjYWxlLXgiLFsidHJhbnNmb3JtIixYZV1dXSxbInNjYWxlLXkiLFtbIkBkZWZhdWx0cyB0cmFuc2Zvcm0iLHt9XSwiLS10dy1zY2FsZS15IixbInRyYW5zZm9ybSIsWGVdXV1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHRyYW5zZm9ybTooe2FkZERlZmF1bHRzOnIsYWRkVXRpbGl0aWVzOmV9KT0+e3IoInRyYW5zZm9ybSIseyItLXR3LXRyYW5zbGF0ZS14IjoiMCIsIi0tdHctdHJhbnNsYXRlLXkiOiIwIiwiLS10dy1yb3RhdGUiOiIwIiwiLS10dy1za2V3LXgiOiIwIiwiLS10dy1za2V3LXkiOiIwIiwiLS10dy1zY2FsZS14IjoiMSIsIi0tdHctc2NhbGUteSI6IjEifSksZSh7Ii50cmFuc2Zvcm0iOnsiQGRlZmF1bHRzIHRyYW5zZm9ybSI6e30sdHJhbnNmb3JtOlhlfSwiLnRyYW5zZm9ybS1jcHUiOnt0cmFuc2Zvcm06WGV9LCIudHJhbnNmb3JtLWdwdSI6e3RyYW5zZm9ybTpYZS5yZXBsYWNlKCJ0cmFuc2xhdGUodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSkpIiwidHJhbnNsYXRlM2QodmFyKC0tdHctdHJhbnNsYXRlLXgpLCB2YXIoLS10dy10cmFuc2xhdGUteSksIDApIil9LCIudHJhbnNmb3JtLW5vbmUiOnt0cmFuc2Zvcm06Im5vbmUifX0pfSxhbmltYXRpb246KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29uZmlnOnR9KT0+e2xldCBpPXM9PlRlKHQoInByZWZpeCIpK3MpLG49T2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGUoImtleWZyYW1lcyIpPz97fSkubWFwKChbcyxhXSk9PltzLHtbYEBrZXlmcmFtZXMgJHtpKHMpfWBdOmF9XSkpO3Ioe2FuaW1hdGU6cz0+e2xldCBhPU1vKHMpO3JldHVyblsuLi5hLmZsYXRNYXAobz0+bltvLm5hbWVdKSx7YW5pbWF0aW9uOmEubWFwKCh7bmFtZTpvLHZhbHVlOmx9KT0+bz09PXZvaWQgMHx8bltvXT09PXZvaWQgMD9sOmwucmVwbGFjZShvLGkobykpKS5qb2luKCIsICIpfV19fSx7dmFsdWVzOmUoImFuaW1hdGlvbiIpfSl9LGN1cnNvcjpMKCJjdXJzb3IiKSx0b3VjaEFjdGlvbjooe2FkZERlZmF1bHRzOnIsYWRkVXRpbGl0aWVzOmV9KT0+e3IoInRvdWNoLWFjdGlvbiIseyItLXR3LXBhbi14IjoiICIsIi0tdHctcGFuLXkiOiIgIiwiLS10dy1waW5jaC16b29tIjoiICJ9KTtsZXQgdD0idmFyKC0tdHctcGFuLXgpIHZhcigtLXR3LXBhbi15KSB2YXIoLS10dy1waW5jaC16b29tKSI7ZSh7Ii50b3VjaC1hdXRvIjp7InRvdWNoLWFjdGlvbiI6ImF1dG8ifSwiLnRvdWNoLW5vbmUiOnsidG91Y2gtYWN0aW9uIjoibm9uZSJ9LCIudG91Y2gtcGFuLXgiOnsiQGRlZmF1bHRzIHRvdWNoLWFjdGlvbiI6e30sIi0tdHctcGFuLXgiOiJwYW4teCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4tbGVmdCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teCI6InBhbi1sZWZ0IiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBhbi1yaWdodCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teCI6InBhbi1yaWdodCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4teSI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi15IiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBhbi11cCI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi11cCIsInRvdWNoLWFjdGlvbiI6dH0sIi50b3VjaC1wYW4tZG93biI6eyJAZGVmYXVsdHMgdG91Y2gtYWN0aW9uIjp7fSwiLS10dy1wYW4teSI6InBhbi1kb3duIiwidG91Y2gtYWN0aW9uIjp0fSwiLnRvdWNoLXBpbmNoLXpvb20iOnsiQGRlZmF1bHRzIHRvdWNoLWFjdGlvbiI6e30sIi0tdHctcGluY2gtem9vbSI6InBpbmNoLXpvb20iLCJ0b3VjaC1hY3Rpb24iOnR9LCIudG91Y2gtbWFuaXB1bGF0aW9uIjp7InRvdWNoLWFjdGlvbiI6Im1hbmlwdWxhdGlvbiJ9fSl9LHVzZXJTZWxlY3Q6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zZWxlY3Qtbm9uZSI6eyJ1c2VyLXNlbGVjdCI6Im5vbmUifSwiLnNlbGVjdC10ZXh0Ijp7InVzZXItc2VsZWN0IjoidGV4dCJ9LCIuc2VsZWN0LWFsbCI6eyJ1c2VyLXNlbGVjdCI6ImFsbCJ9LCIuc2VsZWN0LWF1dG8iOnsidXNlci1zZWxlY3QiOiJhdXRvIn19KX0scmVzaXplOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIucmVzaXplLW5vbmUiOntyZXNpemU6Im5vbmUifSwiLnJlc2l6ZS15Ijp7cmVzaXplOiJ2ZXJ0aWNhbCJ9LCIucmVzaXplLXgiOntyZXNpemU6Imhvcml6b250YWwifSwiLnJlc2l6ZSI6e3Jlc2l6ZToiYm90aCJ9fSl9LHNjcm9sbFNuYXBUeXBlOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57cigic2Nyb2xsLXNuYXAtdHlwZSIseyItLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3MiOiJwcm94aW1pdHkifSksZSh7Ii5zbmFwLW5vbmUiOnsic2Nyb2xsLXNuYXAtdHlwZSI6Im5vbmUifSwiLnNuYXAteCI6eyJAZGVmYXVsdHMgc2Nyb2xsLXNuYXAtdHlwZSI6e30sInNjcm9sbC1zbmFwLXR5cGUiOiJ4IHZhcigtLXR3LXNjcm9sbC1zbmFwLXN0cmljdG5lc3MpIn0sIi5zbmFwLXkiOnsiQGRlZmF1bHRzIHNjcm9sbC1zbmFwLXR5cGUiOnt9LCJzY3JvbGwtc25hcC10eXBlIjoieSB2YXIoLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzKSJ9LCIuc25hcC1ib3RoIjp7IkBkZWZhdWx0cyBzY3JvbGwtc25hcC10eXBlIjp7fSwic2Nyb2xsLXNuYXAtdHlwZSI6ImJvdGggdmFyKC0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcykifSwiLnNuYXAtbWFuZGF0b3J5Ijp7Ii0tdHctc2Nyb2xsLXNuYXAtc3RyaWN0bmVzcyI6Im1hbmRhdG9yeSJ9LCIuc25hcC1wcm94aW1pdHkiOnsiLS10dy1zY3JvbGwtc25hcC1zdHJpY3RuZXNzIjoicHJveGltaXR5In19KX0sc2Nyb2xsU25hcEFsaWduOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuc25hcC1zdGFydCI6eyJzY3JvbGwtc25hcC1hbGlnbiI6InN0YXJ0In0sIi5zbmFwLWVuZCI6eyJzY3JvbGwtc25hcC1hbGlnbiI6ImVuZCJ9LCIuc25hcC1jZW50ZXIiOnsic2Nyb2xsLXNuYXAtYWxpZ24iOiJjZW50ZXIifSwiLnNuYXAtYWxpZ24tbm9uZSI6eyJzY3JvbGwtc25hcC1hbGlnbiI6Im5vbmUifX0pfSxzY3JvbGxTbmFwU3RvcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnNuYXAtbm9ybWFsIjp7InNjcm9sbC1zbmFwLXN0b3AiOiJub3JtYWwifSwiLnNuYXAtYWx3YXlzIjp7InNjcm9sbC1zbmFwLXN0b3AiOiJhbHdheXMifX0pfSxzY3JvbGxNYXJnaW46TCgic2Nyb2xsTWFyZ2luIixbWyJzY3JvbGwtbSIsWyJzY3JvbGwtbWFyZ2luIl1dLFtbInNjcm9sbC1teCIsWyJzY3JvbGwtbWFyZ2luLWxlZnQiLCJzY3JvbGwtbWFyZ2luLXJpZ2h0Il1dLFsic2Nyb2xsLW15IixbInNjcm9sbC1tYXJnaW4tdG9wIiwic2Nyb2xsLW1hcmdpbi1ib3R0b20iXV1dLFtbInNjcm9sbC1tcyIsWyJzY3JvbGwtbWFyZ2luLWlubGluZS1zdGFydCJdXSxbInNjcm9sbC1tZSIsWyJzY3JvbGwtbWFyZ2luLWlubGluZS1lbmQiXV0sWyJzY3JvbGwtbXQiLFsic2Nyb2xsLW1hcmdpbi10b3AiXV0sWyJzY3JvbGwtbXIiLFsic2Nyb2xsLW1hcmdpbi1yaWdodCJdXSxbInNjcm9sbC1tYiIsWyJzY3JvbGwtbWFyZ2luLWJvdHRvbSJdXSxbInNjcm9sbC1tbCIsWyJzY3JvbGwtbWFyZ2luLWxlZnQiXV1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHNjcm9sbFBhZGRpbmc6TCgic2Nyb2xsUGFkZGluZyIsW1sic2Nyb2xsLXAiLFsic2Nyb2xsLXBhZGRpbmciXV0sW1sic2Nyb2xsLXB4IixbInNjcm9sbC1wYWRkaW5nLWxlZnQiLCJzY3JvbGwtcGFkZGluZy1yaWdodCJdXSxbInNjcm9sbC1weSIsWyJzY3JvbGwtcGFkZGluZy10b3AiLCJzY3JvbGwtcGFkZGluZy1ib3R0b20iXV1dLFtbInNjcm9sbC1wcyIsWyJzY3JvbGwtcGFkZGluZy1pbmxpbmUtc3RhcnQiXV0sWyJzY3JvbGwtcGUiLFsic2Nyb2xsLXBhZGRpbmctaW5saW5lLWVuZCJdXSxbInNjcm9sbC1wdCIsWyJzY3JvbGwtcGFkZGluZy10b3AiXV0sWyJzY3JvbGwtcHIiLFsic2Nyb2xsLXBhZGRpbmctcmlnaHQiXV0sWyJzY3JvbGwtcGIiLFsic2Nyb2xsLXBhZGRpbmctYm90dG9tIl1dLFsic2Nyb2xsLXBsIixbInNjcm9sbC1wYWRkaW5nLWxlZnQiXV1dXSksbGlzdFN0eWxlUG9zaXRpb246KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5saXN0LWluc2lkZSI6eyJsaXN0LXN0eWxlLXBvc2l0aW9uIjoiaW5zaWRlIn0sIi5saXN0LW91dHNpZGUiOnsibGlzdC1zdHlsZS1wb3NpdGlvbiI6Im91dHNpZGUifX0pfSxsaXN0U3R5bGVUeXBlOkwoImxpc3RTdHlsZVR5cGUiLFtbImxpc3QiLFsibGlzdFN0eWxlVHlwZSJdXV0pLGxpc3RTdHlsZUltYWdlOkwoImxpc3RTdHlsZUltYWdlIixbWyJsaXN0LWltYWdlIixbImxpc3RTdHlsZUltYWdlIl1dXSksYXBwZWFyYW5jZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmFwcGVhcmFuY2Utbm9uZSI6e2FwcGVhcmFuY2U6Im5vbmUifSwiLmFwcGVhcmFuY2UtYXV0byI6e2FwcGVhcmFuY2U6ImF1dG8ifX0pfSxjb2x1bW5zOkwoImNvbHVtbnMiLFtbImNvbHVtbnMiLFsiY29sdW1ucyJdXV0pLGJyZWFrQmVmb3JlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstYmVmb3JlLWF1dG8iOnsiYnJlYWstYmVmb3JlIjoiYXV0byJ9LCIuYnJlYWstYmVmb3JlLWF2b2lkIjp7ImJyZWFrLWJlZm9yZSI6ImF2b2lkIn0sIi5icmVhay1iZWZvcmUtYWxsIjp7ImJyZWFrLWJlZm9yZSI6ImFsbCJ9LCIuYnJlYWstYmVmb3JlLWF2b2lkLXBhZ2UiOnsiYnJlYWstYmVmb3JlIjoiYXZvaWQtcGFnZSJ9LCIuYnJlYWstYmVmb3JlLXBhZ2UiOnsiYnJlYWstYmVmb3JlIjoicGFnZSJ9LCIuYnJlYWstYmVmb3JlLWxlZnQiOnsiYnJlYWstYmVmb3JlIjoibGVmdCJ9LCIuYnJlYWstYmVmb3JlLXJpZ2h0Ijp7ImJyZWFrLWJlZm9yZSI6InJpZ2h0In0sIi5icmVhay1iZWZvcmUtY29sdW1uIjp7ImJyZWFrLWJlZm9yZSI6ImNvbHVtbiJ9fSl9LGJyZWFrSW5zaWRlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstaW5zaWRlLWF1dG8iOnsiYnJlYWstaW5zaWRlIjoiYXV0byJ9LCIuYnJlYWstaW5zaWRlLWF2b2lkIjp7ImJyZWFrLWluc2lkZSI6ImF2b2lkIn0sIi5icmVhay1pbnNpZGUtYXZvaWQtcGFnZSI6eyJicmVhay1pbnNpZGUiOiJhdm9pZC1wYWdlIn0sIi5icmVhay1pbnNpZGUtYXZvaWQtY29sdW1uIjp7ImJyZWFrLWluc2lkZSI6ImF2b2lkLWNvbHVtbiJ9fSl9LGJyZWFrQWZ0ZXI6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5icmVhay1hZnRlci1hdXRvIjp7ImJyZWFrLWFmdGVyIjoiYXV0byJ9LCIuYnJlYWstYWZ0ZXItYXZvaWQiOnsiYnJlYWstYWZ0ZXIiOiJhdm9pZCJ9LCIuYnJlYWstYWZ0ZXItYWxsIjp7ImJyZWFrLWFmdGVyIjoiYWxsIn0sIi5icmVhay1hZnRlci1hdm9pZC1wYWdlIjp7ImJyZWFrLWFmdGVyIjoiYXZvaWQtcGFnZSJ9LCIuYnJlYWstYWZ0ZXItcGFnZSI6eyJicmVhay1hZnRlciI6InBhZ2UifSwiLmJyZWFrLWFmdGVyLWxlZnQiOnsiYnJlYWstYWZ0ZXIiOiJsZWZ0In0sIi5icmVhay1hZnRlci1yaWdodCI6eyJicmVhay1hZnRlciI6InJpZ2h0In0sIi5icmVhay1hZnRlci1jb2x1bW4iOnsiYnJlYWstYWZ0ZXIiOiJjb2x1bW4ifX0pfSxncmlkQXV0b0NvbHVtbnM6TCgiZ3JpZEF1dG9Db2x1bW5zIixbWyJhdXRvLWNvbHMiLFsiZ3JpZEF1dG9Db2x1bW5zIl1dXSksZ3JpZEF1dG9GbG93Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuZ3JpZC1mbG93LXJvdyI6e2dyaWRBdXRvRmxvdzoicm93In0sIi5ncmlkLWZsb3ctY29sIjp7Z3JpZEF1dG9GbG93OiJjb2x1bW4ifSwiLmdyaWQtZmxvdy1kZW5zZSI6e2dyaWRBdXRvRmxvdzoiZGVuc2UifSwiLmdyaWQtZmxvdy1yb3ctZGVuc2UiOntncmlkQXV0b0Zsb3c6InJvdyBkZW5zZSJ9LCIuZ3JpZC1mbG93LWNvbC1kZW5zZSI6e2dyaWRBdXRvRmxvdzoiY29sdW1uIGRlbnNlIn19KX0sZ3JpZEF1dG9Sb3dzOkwoImdyaWRBdXRvUm93cyIsW1siYXV0by1yb3dzIixbImdyaWRBdXRvUm93cyJdXV0pLGdyaWRUZW1wbGF0ZUNvbHVtbnM6TCgiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsW1siZ3JpZC1jb2xzIixbImdyaWRUZW1wbGF0ZUNvbHVtbnMiXV1dKSxncmlkVGVtcGxhdGVSb3dzOkwoImdyaWRUZW1wbGF0ZVJvd3MiLFtbImdyaWQtcm93cyIsWyJncmlkVGVtcGxhdGVSb3dzIl1dXSksZmxleERpcmVjdGlvbjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmZsZXgtcm93Ijp7ImZsZXgtZGlyZWN0aW9uIjoicm93In0sIi5mbGV4LXJvdy1yZXZlcnNlIjp7ImZsZXgtZGlyZWN0aW9uIjoicm93LXJldmVyc2UifSwiLmZsZXgtY29sIjp7ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIn0sIi5mbGV4LWNvbC1yZXZlcnNlIjp7ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uLXJldmVyc2UifX0pfSxmbGV4V3JhcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmZsZXgtd3JhcCI6eyJmbGV4LXdyYXAiOiJ3cmFwIn0sIi5mbGV4LXdyYXAtcmV2ZXJzZSI6eyJmbGV4LXdyYXAiOiJ3cmFwLXJldmVyc2UifSwiLmZsZXgtbm93cmFwIjp7ImZsZXgtd3JhcCI6Im5vd3JhcCJ9fSl9LHBsYWNlQ29udGVudDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnBsYWNlLWNvbnRlbnQtY2VudGVyIjp7InBsYWNlLWNvbnRlbnQiOiJjZW50ZXIifSwiLnBsYWNlLWNvbnRlbnQtc3RhcnQiOnsicGxhY2UtY29udGVudCI6InN0YXJ0In0sIi5wbGFjZS1jb250ZW50LWVuZCI6eyJwbGFjZS1jb250ZW50IjoiZW5kIn0sIi5wbGFjZS1jb250ZW50LWJldHdlZW4iOnsicGxhY2UtY29udGVudCI6InNwYWNlLWJldHdlZW4ifSwiLnBsYWNlLWNvbnRlbnQtYXJvdW5kIjp7InBsYWNlLWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLnBsYWNlLWNvbnRlbnQtZXZlbmx5Ijp7InBsYWNlLWNvbnRlbnQiOiJzcGFjZS1ldmVubHkifSwiLnBsYWNlLWNvbnRlbnQtYmFzZWxpbmUiOnsicGxhY2UtY29udGVudCI6ImJhc2VsaW5lIn0sIi5wbGFjZS1jb250ZW50LXN0cmV0Y2giOnsicGxhY2UtY29udGVudCI6InN0cmV0Y2gifX0pfSxwbGFjZUl0ZW1zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIucGxhY2UtaXRlbXMtc3RhcnQiOnsicGxhY2UtaXRlbXMiOiJzdGFydCJ9LCIucGxhY2UtaXRlbXMtZW5kIjp7InBsYWNlLWl0ZW1zIjoiZW5kIn0sIi5wbGFjZS1pdGVtcy1jZW50ZXIiOnsicGxhY2UtaXRlbXMiOiJjZW50ZXIifSwiLnBsYWNlLWl0ZW1zLWJhc2VsaW5lIjp7InBsYWNlLWl0ZW1zIjoiYmFzZWxpbmUifSwiLnBsYWNlLWl0ZW1zLXN0cmV0Y2giOnsicGxhY2UtaXRlbXMiOiJzdHJldGNoIn19KX0sYWxpZ25Db250ZW50Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuY29udGVudC1ub3JtYWwiOnsiYWxpZ24tY29udGVudCI6Im5vcm1hbCJ9LCIuY29udGVudC1jZW50ZXIiOnsiYWxpZ24tY29udGVudCI6ImNlbnRlciJ9LCIuY29udGVudC1zdGFydCI6eyJhbGlnbi1jb250ZW50IjoiZmxleC1zdGFydCJ9LCIuY29udGVudC1lbmQiOnsiYWxpZ24tY29udGVudCI6ImZsZXgtZW5kIn0sIi5jb250ZW50LWJldHdlZW4iOnsiYWxpZ24tY29udGVudCI6InNwYWNlLWJldHdlZW4ifSwiLmNvbnRlbnQtYXJvdW5kIjp7ImFsaWduLWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLmNvbnRlbnQtZXZlbmx5Ijp7ImFsaWduLWNvbnRlbnQiOiJzcGFjZS1ldmVubHkifSwiLmNvbnRlbnQtYmFzZWxpbmUiOnsiYWxpZ24tY29udGVudCI6ImJhc2VsaW5lIn0sIi5jb250ZW50LXN0cmV0Y2giOnsiYWxpZ24tY29udGVudCI6InN0cmV0Y2gifX0pfSxhbGlnbkl0ZW1zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaXRlbXMtc3RhcnQiOnsiYWxpZ24taXRlbXMiOiJmbGV4LXN0YXJ0In0sIi5pdGVtcy1lbmQiOnsiYWxpZ24taXRlbXMiOiJmbGV4LWVuZCJ9LCIuaXRlbXMtY2VudGVyIjp7ImFsaWduLWl0ZW1zIjoiY2VudGVyIn0sIi5pdGVtcy1iYXNlbGluZSI6eyJhbGlnbi1pdGVtcyI6ImJhc2VsaW5lIn0sIi5pdGVtcy1zdHJldGNoIjp7ImFsaWduLWl0ZW1zIjoic3RyZXRjaCJ9fSl9LGp1c3RpZnlDb250ZW50Oih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuanVzdGlmeS1ub3JtYWwiOnsianVzdGlmeS1jb250ZW50Ijoibm9ybWFsIn0sIi5qdXN0aWZ5LXN0YXJ0Ijp7Imp1c3RpZnktY29udGVudCI6ImZsZXgtc3RhcnQifSwiLmp1c3RpZnktZW5kIjp7Imp1c3RpZnktY29udGVudCI6ImZsZXgtZW5kIn0sIi5qdXN0aWZ5LWNlbnRlciI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJjZW50ZXIifSwiLmp1c3RpZnktYmV0d2VlbiI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1iZXR3ZWVuIn0sIi5qdXN0aWZ5LWFyb3VuZCI6eyJqdXN0aWZ5LWNvbnRlbnQiOiJzcGFjZS1hcm91bmQifSwiLmp1c3RpZnktZXZlbmx5Ijp7Imp1c3RpZnktY29udGVudCI6InNwYWNlLWV2ZW5seSJ9LCIuanVzdGlmeS1zdHJldGNoIjp7Imp1c3RpZnktY29udGVudCI6InN0cmV0Y2gifX0pfSxqdXN0aWZ5SXRlbXM6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5qdXN0aWZ5LWl0ZW1zLXN0YXJ0Ijp7Imp1c3RpZnktaXRlbXMiOiJzdGFydCJ9LCIuanVzdGlmeS1pdGVtcy1lbmQiOnsianVzdGlmeS1pdGVtcyI6ImVuZCJ9LCIuanVzdGlmeS1pdGVtcy1jZW50ZXIiOnsianVzdGlmeS1pdGVtcyI6ImNlbnRlciJ9LCIuanVzdGlmeS1pdGVtcy1zdHJldGNoIjp7Imp1c3RpZnktaXRlbXMiOiJzdHJldGNoIn19KX0sZ2FwOkwoImdhcCIsW1siZ2FwIixbImdhcCJdXSxbWyJnYXAteCIsWyJjb2x1bW5HYXAiXV0sWyJnYXAteSIsWyJyb3dHYXAiXV1dXSksc3BhY2U6KHttYXRjaFV0aWxpdGllczpyLGFkZFV0aWxpdGllczplLHRoZW1lOnR9KT0+e3IoeyJzcGFjZS14IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyItLXR3LXNwYWNlLXgtcmV2ZXJzZSI6IjAiLCJtYXJnaW4tcmlnaHQiOmBjYWxjKCR7aX0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKWAsIm1hcmdpbi1sZWZ0IjpgY2FsYygke2l9ICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpYH19KSwic3BhY2UteSI6aT0+KGk9aT09PSIwIj8iMHB4IjppLHsiJiA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiLS10dy1zcGFjZS15LXJldmVyc2UiOiIwIiwibWFyZ2luLXRvcCI6YGNhbGMoJHtpfSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKWAsIm1hcmdpbi1ib3R0b20iOmBjYWxjKCR7aX0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKWB9fSl9LHt2YWx1ZXM6dCgic3BhY2UiKSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksZSh7Ii5zcGFjZS15LXJldmVyc2UgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIjp7Ii0tdHctc3BhY2UteS1yZXZlcnNlIjoiMSJ9LCIuc3BhY2UteC1yZXZlcnNlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyItLXR3LXNwYWNlLXgtcmV2ZXJzZSI6IjEifX0pfSxkaXZpZGVXaWR0aDooe21hdGNoVXRpbGl0aWVzOnIsYWRkVXRpbGl0aWVzOmUsdGhlbWU6dH0pPT57cih7ImRpdmlkZS14IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteC1yZXZlcnNlIjoiMCIsImJvcmRlci1yaWdodC13aWR0aCI6YGNhbGMoJHtpfSAqIHZhcigtLXR3LWRpdmlkZS14LXJldmVyc2UpKWAsImJvcmRlci1sZWZ0LXdpZHRoIjpgY2FsYygke2l9ICogY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXgtcmV2ZXJzZSkpKWB9fSksImRpdmlkZS15IjppPT4oaT1pPT09IjAiPyIwcHgiOmkseyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteS1yZXZlcnNlIjoiMCIsImJvcmRlci10b3Atd2lkdGgiOmBjYWxjKCR7aX0gKiBjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpYCwiYm9yZGVyLWJvdHRvbS13aWR0aCI6YGNhbGMoJHtpfSAqIHZhcigtLXR3LWRpdmlkZS15LXJldmVyc2UpKWB9fSl9LHt2YWx1ZXM6dCgiZGl2aWRlV2lkdGgiKSx0eXBlOlsibGluZS13aWR0aCIsImxlbmd0aCIsImFueSJdfSksZSh7Ii5kaXZpZGUteS1yZXZlcnNlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIjp7fSwiLS10dy1kaXZpZGUteS1yZXZlcnNlIjoiMSJ9LCIuZGl2aWRlLXgtcmV2ZXJzZSA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiQGRlZmF1bHRzIGJvcmRlci13aWR0aCI6e30sIi0tdHctZGl2aWRlLXgtcmV2ZXJzZSI6IjEifX0pfSxkaXZpZGVTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRpdmlkZS1zb2xpZCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiYm9yZGVyLXN0eWxlIjoic29saWQifSwiLmRpdmlkZS1kYXNoZWQgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIjp7ImJvcmRlci1zdHlsZSI6ImRhc2hlZCJ9LCIuZGl2aWRlLWRvdHRlZCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSkiOnsiYm9yZGVyLXN0eWxlIjoiZG90dGVkIn0sIi5kaXZpZGUtZG91YmxlID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJib3JkZXItc3R5bGUiOiJkb3VibGUifSwiLmRpdmlkZS1ub25lID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSI6eyJib3JkZXItc3R5bGUiOiJub25lIn19KX0sZGl2aWRlQ29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7ZGl2aWRlOmk9PnQoImRpdmlkZU9wYWNpdHkiKT97WyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSJdOkFlKHtjb2xvcjppLHByb3BlcnR5OiJib3JkZXItY29sb3IiLHZhcmlhYmxlOiItLXR3LWRpdmlkZS1vcGFjaXR5In0pfTp7WyImID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSJdOnsiYm9yZGVyLWNvbG9yIjpYKGkpfX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiZGl2aWRlQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LGRpdmlkZU9wYWNpdHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJkaXZpZGUtb3BhY2l0eSI6dD0+KHtbIiYgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pIl06eyItLXR3LWRpdmlkZS1vcGFjaXR5Ijp0fX0pfSx7dmFsdWVzOmUoImRpdmlkZU9wYWNpdHkiKX0pfSxwbGFjZVNlbGY6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5wbGFjZS1zZWxmLWF1dG8iOnsicGxhY2Utc2VsZiI6ImF1dG8ifSwiLnBsYWNlLXNlbGYtc3RhcnQiOnsicGxhY2Utc2VsZiI6InN0YXJ0In0sIi5wbGFjZS1zZWxmLWVuZCI6eyJwbGFjZS1zZWxmIjoiZW5kIn0sIi5wbGFjZS1zZWxmLWNlbnRlciI6eyJwbGFjZS1zZWxmIjoiY2VudGVyIn0sIi5wbGFjZS1zZWxmLXN0cmV0Y2giOnsicGxhY2Utc2VsZiI6InN0cmV0Y2gifX0pfSxhbGlnblNlbGY6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zZWxmLWF1dG8iOnsiYWxpZ24tc2VsZiI6ImF1dG8ifSwiLnNlbGYtc3RhcnQiOnsiYWxpZ24tc2VsZiI6ImZsZXgtc3RhcnQifSwiLnNlbGYtZW5kIjp7ImFsaWduLXNlbGYiOiJmbGV4LWVuZCJ9LCIuc2VsZi1jZW50ZXIiOnsiYWxpZ24tc2VsZiI6ImNlbnRlciJ9LCIuc2VsZi1zdHJldGNoIjp7ImFsaWduLXNlbGYiOiJzdHJldGNoIn0sIi5zZWxmLWJhc2VsaW5lIjp7ImFsaWduLXNlbGYiOiJiYXNlbGluZSJ9fSl9LGp1c3RpZnlTZWxmOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuanVzdGlmeS1zZWxmLWF1dG8iOnsianVzdGlmeS1zZWxmIjoiYXV0byJ9LCIuanVzdGlmeS1zZWxmLXN0YXJ0Ijp7Imp1c3RpZnktc2VsZiI6InN0YXJ0In0sIi5qdXN0aWZ5LXNlbGYtZW5kIjp7Imp1c3RpZnktc2VsZiI6ImVuZCJ9LCIuanVzdGlmeS1zZWxmLWNlbnRlciI6eyJqdXN0aWZ5LXNlbGYiOiJjZW50ZXIifSwiLmp1c3RpZnktc2VsZi1zdHJldGNoIjp7Imp1c3RpZnktc2VsZiI6InN0cmV0Y2gifX0pfSxvdmVyZmxvdzooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLm92ZXJmbG93LWF1dG8iOntvdmVyZmxvdzoiYXV0byJ9LCIub3ZlcmZsb3ctaGlkZGVuIjp7b3ZlcmZsb3c6ImhpZGRlbiJ9LCIub3ZlcmZsb3ctY2xpcCI6e292ZXJmbG93OiJjbGlwIn0sIi5vdmVyZmxvdy12aXNpYmxlIjp7b3ZlcmZsb3c6InZpc2libGUifSwiLm92ZXJmbG93LXNjcm9sbCI6e292ZXJmbG93OiJzY3JvbGwifSwiLm92ZXJmbG93LXgtYXV0byI6eyJvdmVyZmxvdy14IjoiYXV0byJ9LCIub3ZlcmZsb3cteS1hdXRvIjp7Im92ZXJmbG93LXkiOiJhdXRvIn0sIi5vdmVyZmxvdy14LWhpZGRlbiI6eyJvdmVyZmxvdy14IjoiaGlkZGVuIn0sIi5vdmVyZmxvdy15LWhpZGRlbiI6eyJvdmVyZmxvdy15IjoiaGlkZGVuIn0sIi5vdmVyZmxvdy14LWNsaXAiOnsib3ZlcmZsb3cteCI6ImNsaXAifSwiLm92ZXJmbG93LXktY2xpcCI6eyJvdmVyZmxvdy15IjoiY2xpcCJ9LCIub3ZlcmZsb3cteC12aXNpYmxlIjp7Im92ZXJmbG93LXgiOiJ2aXNpYmxlIn0sIi5vdmVyZmxvdy15LXZpc2libGUiOnsib3ZlcmZsb3cteSI6InZpc2libGUifSwiLm92ZXJmbG93LXgtc2Nyb2xsIjp7Im92ZXJmbG93LXgiOiJzY3JvbGwifSwiLm92ZXJmbG93LXktc2Nyb2xsIjp7Im92ZXJmbG93LXkiOiJzY3JvbGwifX0pfSxvdmVyc2Nyb2xsQmVoYXZpb3I6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5vdmVyc2Nyb2xsLWF1dG8iOnsib3ZlcnNjcm9sbC1iZWhhdmlvciI6ImF1dG8ifSwiLm92ZXJzY3JvbGwtY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yIjoiY29udGFpbiJ9LCIub3ZlcnNjcm9sbC1ub25lIjp7Im92ZXJzY3JvbGwtYmVoYXZpb3IiOiJub25lIn0sIi5vdmVyc2Nyb2xsLXktYXV0byI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJhdXRvIn0sIi5vdmVyc2Nyb2xsLXktY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJjb250YWluIn0sIi5vdmVyc2Nyb2xsLXktbm9uZSI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXkiOiJub25lIn0sIi5vdmVyc2Nyb2xsLXgtYXV0byI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJhdXRvIn0sIi5vdmVyc2Nyb2xsLXgtY29udGFpbiI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJjb250YWluIn0sIi5vdmVyc2Nyb2xsLXgtbm9uZSI6eyJvdmVyc2Nyb2xsLWJlaGF2aW9yLXgiOiJub25lIn19KX0sc2Nyb2xsQmVoYXZpb3I6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5zY3JvbGwtYXV0byI6eyJzY3JvbGwtYmVoYXZpb3IiOiJhdXRvIn0sIi5zY3JvbGwtc21vb3RoIjp7InNjcm9sbC1iZWhhdmlvciI6InNtb290aCJ9fSl9LHRleHRPdmVyZmxvdzooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLnRydW5jYXRlIjp7b3ZlcmZsb3c6ImhpZGRlbiIsInRleHQtb3ZlcmZsb3ciOiJlbGxpcHNpcyIsIndoaXRlLXNwYWNlIjoibm93cmFwIn0sIi5vdmVyZmxvdy1lbGxpcHNpcyI6eyJ0ZXh0LW92ZXJmbG93IjoiZWxsaXBzaXMifSwiLnRleHQtZWxsaXBzaXMiOnsidGV4dC1vdmVyZmxvdyI6ImVsbGlwc2lzIn0sIi50ZXh0LWNsaXAiOnsidGV4dC1vdmVyZmxvdyI6ImNsaXAifX0pfSxoeXBoZW5zOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuaHlwaGVucy1ub25lIjp7aHlwaGVuczoibm9uZSJ9LCIuaHlwaGVucy1tYW51YWwiOntoeXBoZW5zOiJtYW51YWwifSwiLmh5cGhlbnMtYXV0byI6e2h5cGhlbnM6ImF1dG8ifX0pfSx3aGl0ZXNwYWNlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIud2hpdGVzcGFjZS1ub3JtYWwiOnsid2hpdGUtc3BhY2UiOiJub3JtYWwifSwiLndoaXRlc3BhY2Utbm93cmFwIjp7IndoaXRlLXNwYWNlIjoibm93cmFwIn0sIi53aGl0ZXNwYWNlLXByZSI6eyJ3aGl0ZS1zcGFjZSI6InByZSJ9LCIud2hpdGVzcGFjZS1wcmUtbGluZSI6eyJ3aGl0ZS1zcGFjZSI6InByZS1saW5lIn0sIi53aGl0ZXNwYWNlLXByZS13cmFwIjp7IndoaXRlLXNwYWNlIjoicHJlLXdyYXAifSwiLndoaXRlc3BhY2UtYnJlYWstc3BhY2VzIjp7IndoaXRlLXNwYWNlIjoiYnJlYWstc3BhY2VzIn19KX0sdGV4dFdyYXA6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii50ZXh0LXdyYXAiOnsidGV4dC13cmFwIjoid3JhcCJ9LCIudGV4dC1ub3dyYXAiOnsidGV4dC13cmFwIjoibm93cmFwIn0sIi50ZXh0LWJhbGFuY2UiOnsidGV4dC13cmFwIjoiYmFsYW5jZSJ9LCIudGV4dC1wcmV0dHkiOnsidGV4dC13cmFwIjoicHJldHR5In19KX0sd29yZEJyZWFrOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIuYnJlYWstbm9ybWFsIjp7Im92ZXJmbG93LXdyYXAiOiJub3JtYWwiLCJ3b3JkLWJyZWFrIjoibm9ybWFsIn0sIi5icmVhay13b3JkcyI6eyJvdmVyZmxvdy13cmFwIjoiYnJlYWstd29yZCJ9LCIuYnJlYWstYWxsIjp7IndvcmQtYnJlYWsiOiJicmVhay1hbGwifSwiLmJyZWFrLWtlZXAiOnsid29yZC1icmVhayI6ImtlZXAtYWxsIn19KX0sYm9yZGVyUmFkaXVzOkwoImJvcmRlclJhZGl1cyIsW1sicm91bmRlZCIsWyJib3JkZXItcmFkaXVzIl1dLFtbInJvdW5kZWQtcyIsWyJib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzIiwiYm9yZGVyLWVuZC1zdGFydC1yYWRpdXMiXV0sWyJyb3VuZGVkLWUiLFsiYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXMiLCJib3JkZXItZW5kLWVuZC1yYWRpdXMiXV0sWyJyb3VuZGVkLXQiLFsiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIl1dLFsicm91bmRlZC1yIixbImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiXV0sWyJyb3VuZGVkLWIiLFsiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiLCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIl1dLFsicm91bmRlZC1sIixbImJvcmRlci10b3AtbGVmdC1yYWRpdXMiLCJib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIl1dXSxbWyJyb3VuZGVkLXNzIixbImJvcmRlci1zdGFydC1zdGFydC1yYWRpdXMiXV0sWyJyb3VuZGVkLXNlIixbImJvcmRlci1zdGFydC1lbmQtcmFkaXVzIl1dLFsicm91bmRlZC1lZSIsWyJib3JkZXItZW5kLWVuZC1yYWRpdXMiXV0sWyJyb3VuZGVkLWVzIixbImJvcmRlci1lbmQtc3RhcnQtcmFkaXVzIl1dLFsicm91bmRlZC10bCIsWyJib3JkZXItdG9wLWxlZnQtcmFkaXVzIl1dLFsicm91bmRlZC10ciIsWyJib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyJdXSxbInJvdW5kZWQtYnIiLFsiYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMiXV0sWyJyb3VuZGVkLWJsIixbImJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMiXV1dXSksYm9yZGVyV2lkdGg6TCgiYm9yZGVyV2lkdGgiLFtbImJvcmRlciIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItd2lkdGgiXV0sW1siYm9yZGVyLXgiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLWxlZnQtd2lkdGgiLCJib3JkZXItcmlnaHQtd2lkdGgiXV0sWyJib3JkZXIteSIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItdG9wLXdpZHRoIiwiYm9yZGVyLWJvdHRvbS13aWR0aCJdXV0sW1siYm9yZGVyLXMiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLWlubGluZS1zdGFydC13aWR0aCJdXSxbImJvcmRlci1lIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1pbmxpbmUtZW5kLXdpZHRoIl1dLFsiYm9yZGVyLXQiLFtbIkBkZWZhdWx0cyBib3JkZXItd2lkdGgiLHt9XSwiYm9yZGVyLXRvcC13aWR0aCJdXSxbImJvcmRlci1yIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1yaWdodC13aWR0aCJdXSxbImJvcmRlci1iIixbWyJAZGVmYXVsdHMgYm9yZGVyLXdpZHRoIix7fV0sImJvcmRlci1ib3R0b20td2lkdGgiXV0sWyJib3JkZXItbCIsW1siQGRlZmF1bHRzIGJvcmRlci13aWR0aCIse31dLCJib3JkZXItbGVmdC13aWR0aCJdXV1dLHt0eXBlOlsibGluZS13aWR0aCIsImxlbmd0aCJdfSksYm9yZGVyU3R5bGU6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5ib3JkZXItc29saWQiOnsiYm9yZGVyLXN0eWxlIjoic29saWQifSwiLmJvcmRlci1kYXNoZWQiOnsiYm9yZGVyLXN0eWxlIjoiZGFzaGVkIn0sIi5ib3JkZXItZG90dGVkIjp7ImJvcmRlci1zdHlsZSI6ImRvdHRlZCJ9LCIuYm9yZGVyLWRvdWJsZSI6eyJib3JkZXItc3R5bGUiOiJkb3VibGUifSwiLmJvcmRlci1oaWRkZW4iOnsiYm9yZGVyLXN0eWxlIjoiaGlkZGVuIn0sIi5ib3JkZXItbm9uZSI6eyJib3JkZXItc3R5bGUiOiJub25lIn19KX0sYm9yZGVyQ29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7Ym9yZGVyOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1jb2xvciI6WChpKX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiYm9yZGVyQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSkscih7ImJvcmRlci14IjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6WyJib3JkZXItbGVmdC1jb2xvciIsImJvcmRlci1yaWdodC1jb2xvciJdLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWxlZnQtY29sb3IiOlgoaSksImJvcmRlci1yaWdodC1jb2xvciI6WChpKX0sImJvcmRlci15IjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6WyJib3JkZXItdG9wLWNvbG9yIiwiYm9yZGVyLWJvdHRvbS1jb2xvciJdLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLXRvcC1jb2xvciI6WChpKSwiYm9yZGVyLWJvdHRvbS1jb2xvciI6WChpKX19LHt2YWx1ZXM6KCh7REVGQVVMVDppLC4uLm59KT0+bikoeGUoZSgiYm9yZGVyQ29sb3IiKSkpLHR5cGU6WyJjb2xvciIsImFueSJdfSkscih7ImJvcmRlci1zIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3IiLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWlubGluZS1zdGFydC1jb2xvciI6WChpKX0sImJvcmRlci1lIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1pbmxpbmUtZW5kLWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1pbmxpbmUtZW5kLWNvbG9yIjpYKGkpfSwiYm9yZGVyLXQiOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLXRvcC1jb2xvciIsdmFyaWFibGU6Ii0tdHctYm9yZGVyLW9wYWNpdHkifSk6eyJib3JkZXItdG9wLWNvbG9yIjpYKGkpfSwiYm9yZGVyLXIiOmk9PnQoImJvcmRlck9wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiYm9yZGVyLXJpZ2h0LWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1yaWdodC1jb2xvciI6WChpKX0sImJvcmRlci1iIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1ib3R0b20tY29sb3IiLHZhcmlhYmxlOiItLXR3LWJvcmRlci1vcGFjaXR5In0pOnsiYm9yZGVyLWJvdHRvbS1jb2xvciI6WChpKX0sImJvcmRlci1sIjppPT50KCJib3JkZXJPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJvcmRlci1sZWZ0LWNvbG9yIix2YXJpYWJsZToiLS10dy1ib3JkZXItb3BhY2l0eSJ9KTp7ImJvcmRlci1sZWZ0LWNvbG9yIjpYKGkpfX0se3ZhbHVlczooKHtERUZBVUxUOmksLi4ubn0pPT5uKSh4ZShlKCJib3JkZXJDb2xvciIpKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYm9yZGVyT3BhY2l0eTpMKCJib3JkZXJPcGFjaXR5IixbWyJib3JkZXItb3BhY2l0eSIsWyItLXR3LWJvcmRlci1vcGFjaXR5Il1dXSksYmFja2dyb3VuZENvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe2JnOmk9PnQoImJhY2tncm91bmRPcGFjaXR5Iik/QWUoe2NvbG9yOmkscHJvcGVydHk6ImJhY2tncm91bmQtY29sb3IiLHZhcmlhYmxlOiItLXR3LWJnLW9wYWNpdHkifSk6eyJiYWNrZ3JvdW5kLWNvbG9yIjpYKGkpfX0se3ZhbHVlczp4ZShlKCJiYWNrZ3JvdW5kQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYmFja2dyb3VuZE9wYWNpdHk6TCgiYmFja2dyb3VuZE9wYWNpdHkiLFtbImJnLW9wYWNpdHkiLFsiLS10dy1iZy1vcGFjaXR5Il1dXSksYmFja2dyb3VuZEltYWdlOkwoImJhY2tncm91bmRJbWFnZSIsW1siYmciLFsiYmFja2dyb3VuZC1pbWFnZSJdXV0se3R5cGU6WyJsb29rdXAiLCJpbWFnZSIsInVybCJdfSksZ3JhZGllbnRDb2xvclN0b3BzOigoKT0+e2Z1bmN0aW9uIHIoZSl7cmV0dXJuIEplKGUsMCwicmdiKDI1NSAyNTUgMjU1IC8gMCkiKX1yZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOmUsdGhlbWU6dCxhZGREZWZhdWx0czppfSl7aSgiZ3JhZGllbnQtY29sb3Itc3RvcHMiLHsiLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uIjoiICIsIi0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uIjoiICIsIi0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24iOiIgIn0pO2xldCBuPXt2YWx1ZXM6eGUodCgiZ3JhZGllbnRDb2xvclN0b3BzIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSxzPXt2YWx1ZXM6dCgiZ3JhZGllbnRDb2xvclN0b3BQb3NpdGlvbnMiKSx0eXBlOlsibGVuZ3RoIiwicGVyY2VudGFnZSJdfTtlKHtmcm9tOmE9PntsZXQgbz1yKGEpO3JldHVybnsiQGRlZmF1bHRzIGdyYWRpZW50LWNvbG9yLXN0b3BzIjp7fSwiLS10dy1ncmFkaWVudC1mcm9tIjpgJHtYKGEpfSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKWAsIi0tdHctZ3JhZGllbnQtdG8iOmAke299IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKWAsIi0tdHctZ3JhZGllbnQtc3RvcHMiOiJ2YXIoLS10dy1ncmFkaWVudC1mcm9tKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIn19fSxuKSxlKHtmcm9tOmE9Pih7Ii0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiI6YX0pfSxzKSxlKHt2aWE6YT0+e2xldCBvPXIoYSk7cmV0dXJueyJAZGVmYXVsdHMgZ3JhZGllbnQtY29sb3Itc3RvcHMiOnt9LCItLXR3LWdyYWRpZW50LXRvIjpgJHtvfSAgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pYCwiLS10dy1ncmFkaWVudC1zdG9wcyI6YHZhcigtLXR3LWdyYWRpZW50LWZyb20pLCAke1goYSl9IHZhcigtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKWB9fX0sbiksZSh7dmlhOmE9Pih7Ii0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uIjphfSl9LHMpLGUoe3RvOmE9Pih7IkBkZWZhdWx0cyBncmFkaWVudC1jb2xvci1zdG9wcyI6e30sIi0tdHctZ3JhZGllbnQtdG8iOmAke1goYSl9IHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKWB9KX0sbiksZSh7dG86YT0+KHsiLS10dy1ncmFkaWVudC10by1wb3NpdGlvbiI6YX0pfSxzKX19KSgpLGJveERlY29yYXRpb25CcmVhazooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRlY29yYXRpb24tc2xpY2UiOnsiYm94LWRlY29yYXRpb24tYnJlYWsiOiJzbGljZSJ9LCIuZGVjb3JhdGlvbi1jbG9uZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6ImNsb25lIn0sIi5ib3gtZGVjb3JhdGlvbi1zbGljZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6InNsaWNlIn0sIi5ib3gtZGVjb3JhdGlvbi1jbG9uZSI6eyJib3gtZGVjb3JhdGlvbi1icmVhayI6ImNsb25lIn19KX0sYmFja2dyb3VuZFNpemU6TCgiYmFja2dyb3VuZFNpemUiLFtbImJnIixbImJhY2tncm91bmQtc2l6ZSJdXV0se3R5cGU6WyJsb29rdXAiLCJsZW5ndGgiLCJwZXJjZW50YWdlIiwic2l6ZSJdfSksYmFja2dyb3VuZEF0dGFjaG1lbnQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5iZy1maXhlZCI6eyJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiOiJmaXhlZCJ9LCIuYmctbG9jYWwiOnsiYmFja2dyb3VuZC1hdHRhY2htZW50IjoibG9jYWwifSwiLmJnLXNjcm9sbCI6eyJiYWNrZ3JvdW5kLWF0dGFjaG1lbnQiOiJzY3JvbGwifX0pfSxiYWNrZ3JvdW5kQ2xpcDooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLWNsaXAtYm9yZGVyIjp7ImJhY2tncm91bmQtY2xpcCI6ImJvcmRlci1ib3gifSwiLmJnLWNsaXAtcGFkZGluZyI6eyJiYWNrZ3JvdW5kLWNsaXAiOiJwYWRkaW5nLWJveCJ9LCIuYmctY2xpcC1jb250ZW50Ijp7ImJhY2tncm91bmQtY2xpcCI6ImNvbnRlbnQtYm94In0sIi5iZy1jbGlwLXRleHQiOnsiYmFja2dyb3VuZC1jbGlwIjoidGV4dCJ9fSl9LGJhY2tncm91bmRQb3NpdGlvbjpMKCJiYWNrZ3JvdW5kUG9zaXRpb24iLFtbImJnIixbImJhY2tncm91bmQtcG9zaXRpb24iXV1dLHt0eXBlOlsibG9va3VwIixbInBvc2l0aW9uIix7cHJlZmVyT25Db25mbGljdDohMH1dXX0pLGJhY2tncm91bmRSZXBlYXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5iZy1yZXBlYXQiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQifSwiLmJnLW5vLXJlcGVhdCI6eyJiYWNrZ3JvdW5kLXJlcGVhdCI6Im5vLXJlcGVhdCJ9LCIuYmctcmVwZWF0LXgiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQteCJ9LCIuYmctcmVwZWF0LXkiOnsiYmFja2dyb3VuZC1yZXBlYXQiOiJyZXBlYXQteSJ9LCIuYmctcmVwZWF0LXJvdW5kIjp7ImJhY2tncm91bmQtcmVwZWF0Ijoicm91bmQifSwiLmJnLXJlcGVhdC1zcGFjZSI6eyJiYWNrZ3JvdW5kLXJlcGVhdCI6InNwYWNlIn19KX0sYmFja2dyb3VuZE9yaWdpbjooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLW9yaWdpbi1ib3JkZXIiOnsiYmFja2dyb3VuZC1vcmlnaW4iOiJib3JkZXItYm94In0sIi5iZy1vcmlnaW4tcGFkZGluZyI6eyJiYWNrZ3JvdW5kLW9yaWdpbiI6InBhZGRpbmctYm94In0sIi5iZy1vcmlnaW4tY29udGVudCI6eyJiYWNrZ3JvdW5kLW9yaWdpbiI6ImNvbnRlbnQtYm94In19KX0sZmlsbDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ZmlsbDp0PT4oe2ZpbGw6WCh0KX0pfSx7dmFsdWVzOnhlKGUoImZpbGwiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sc3Ryb2tlOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtzdHJva2U6dD0+KHtzdHJva2U6WCh0KX0pfSx7dmFsdWVzOnhlKGUoInN0cm9rZSIpKSx0eXBlOlsiY29sb3IiLCJ1cmwiLCJhbnkiXX0pfSxzdHJva2VXaWR0aDpMKCJzdHJva2VXaWR0aCIsW1sic3Ryb2tlIixbInN0cm9rZS13aWR0aCJdXV0se3R5cGU6WyJsZW5ndGgiLCJudW1iZXIiLCJwZXJjZW50YWdlIl19KSxvYmplY3RGaXQ6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5vYmplY3QtY29udGFpbiI6eyJvYmplY3QtZml0IjoiY29udGFpbiJ9LCIub2JqZWN0LWNvdmVyIjp7Im9iamVjdC1maXQiOiJjb3ZlciJ9LCIub2JqZWN0LWZpbGwiOnsib2JqZWN0LWZpdCI6ImZpbGwifSwiLm9iamVjdC1ub25lIjp7Im9iamVjdC1maXQiOiJub25lIn0sIi5vYmplY3Qtc2NhbGUtZG93biI6eyJvYmplY3QtZml0Ijoic2NhbGUtZG93biJ9fSl9LG9iamVjdFBvc2l0aW9uOkwoIm9iamVjdFBvc2l0aW9uIixbWyJvYmplY3QiLFsib2JqZWN0LXBvc2l0aW9uIl1dXSkscGFkZGluZzpMKCJwYWRkaW5nIixbWyJwIixbInBhZGRpbmciXV0sW1sicHgiLFsicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCJdXSxbInB5IixbInBhZGRpbmctdG9wIiwicGFkZGluZy1ib3R0b20iXV1dLFtbInBzIixbInBhZGRpbmctaW5saW5lLXN0YXJ0Il1dLFsicGUiLFsicGFkZGluZy1pbmxpbmUtZW5kIl1dLFsicHQiLFsicGFkZGluZy10b3AiXV0sWyJwciIsWyJwYWRkaW5nLXJpZ2h0Il1dLFsicGIiLFsicGFkZGluZy1ib3R0b20iXV0sWyJwbCIsWyJwYWRkaW5nLWxlZnQiXV1dXSksdGV4dEFsaWduOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIudGV4dC1sZWZ0Ijp7InRleHQtYWxpZ24iOiJsZWZ0In0sIi50ZXh0LWNlbnRlciI6eyJ0ZXh0LWFsaWduIjoiY2VudGVyIn0sIi50ZXh0LXJpZ2h0Ijp7InRleHQtYWxpZ24iOiJyaWdodCJ9LCIudGV4dC1qdXN0aWZ5Ijp7InRleHQtYWxpZ24iOiJqdXN0aWZ5In0sIi50ZXh0LXN0YXJ0Ijp7InRleHQtYWxpZ24iOiJzdGFydCJ9LCIudGV4dC1lbmQiOnsidGV4dC1hbGlnbiI6ImVuZCJ9fSl9LHRleHRJbmRlbnQ6TCgidGV4dEluZGVudCIsW1siaW5kZW50IixbInRleHQtaW5kZW50Il1dXSx7c3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pLHZlcnRpY2FsQWxpZ246KHthZGRVdGlsaXRpZXM6cixtYXRjaFV0aWxpdGllczplfSk9PntyKHsiLmFsaWduLWJhc2VsaW5lIjp7InZlcnRpY2FsLWFsaWduIjoiYmFzZWxpbmUifSwiLmFsaWduLXRvcCI6eyJ2ZXJ0aWNhbC1hbGlnbiI6InRvcCJ9LCIuYWxpZ24tbWlkZGxlIjp7InZlcnRpY2FsLWFsaWduIjoibWlkZGxlIn0sIi5hbGlnbi1ib3R0b20iOnsidmVydGljYWwtYWxpZ24iOiJib3R0b20ifSwiLmFsaWduLXRleHQtdG9wIjp7InZlcnRpY2FsLWFsaWduIjoidGV4dC10b3AifSwiLmFsaWduLXRleHQtYm90dG9tIjp7InZlcnRpY2FsLWFsaWduIjoidGV4dC1ib3R0b20ifSwiLmFsaWduLXN1YiI6eyJ2ZXJ0aWNhbC1hbGlnbiI6InN1YiJ9LCIuYWxpZ24tc3VwZXIiOnsidmVydGljYWwtYWxpZ24iOiJzdXBlciJ9fSksZSh7YWxpZ246dD0+KHsidmVydGljYWwtYWxpZ24iOnR9KX0pfSxmb250RmFtaWx5Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtmb250OnQ9PntsZXRbaSxuPXt9XT1BcnJheS5pc0FycmF5KHQpJiZrZSh0WzFdKT90Olt0XSx7Zm9udEZlYXR1cmVTZXR0aW5nczpzLGZvbnRWYXJpYXRpb25TZXR0aW5nczphfT1uO3JldHVybnsiZm9udC1mYW1pbHkiOkFycmF5LmlzQXJyYXkoaSk/aS5qb2luKCIsICIpOmksLi4ucz09PXZvaWQgMD97fTp7ImZvbnQtZmVhdHVyZS1zZXR0aW5ncyI6c30sLi4uYT09PXZvaWQgMD97fTp7ImZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIjphfX19fSx7dmFsdWVzOmUoImZvbnRGYW1pbHkiKSx0eXBlOlsibG9va3VwIiwiZ2VuZXJpYy1uYW1lIiwiZmFtaWx5LW5hbWUiXX0pfSxmb250U2l6ZTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7dGV4dDoodCx7bW9kaWZpZXI6aX0pPT57bGV0W24sc109QXJyYXkuaXNBcnJheSh0KT90Olt0XTtpZihpKXJldHVybnsiZm9udC1zaXplIjpuLCJsaW5lLWhlaWdodCI6aX07bGV0e2xpbmVIZWlnaHQ6YSxsZXR0ZXJTcGFjaW5nOm8sZm9udFdlaWdodDpsfT1rZShzKT9zOntsaW5lSGVpZ2h0OnN9O3JldHVybnsiZm9udC1zaXplIjpuLC4uLmE9PT12b2lkIDA/e306eyJsaW5lLWhlaWdodCI6YX0sLi4ubz09PXZvaWQgMD97fTp7ImxldHRlci1zcGFjaW5nIjpvfSwuLi5sPT09dm9pZCAwP3t9OnsiZm9udC13ZWlnaHQiOmx9fX19LHt2YWx1ZXM6ZSgiZm9udFNpemUiKSxtb2RpZmllcnM6ZSgibGluZUhlaWdodCIpLHR5cGU6WyJhYnNvbHV0ZS1zaXplIiwicmVsYXRpdmUtc2l6ZSIsImxlbmd0aCIsInBlcmNlbnRhZ2UiXX0pfSxmb250V2VpZ2h0OkwoImZvbnRXZWlnaHQiLFtbImZvbnQiLFsiZm9udFdlaWdodCJdXV0se3R5cGU6WyJsb29rdXAiLCJudW1iZXIiLCJhbnkiXX0pLHRleHRUcmFuc2Zvcm06KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii51cHBlcmNhc2UiOnsidGV4dC10cmFuc2Zvcm0iOiJ1cHBlcmNhc2UifSwiLmxvd2VyY2FzZSI6eyJ0ZXh0LXRyYW5zZm9ybSI6Imxvd2VyY2FzZSJ9LCIuY2FwaXRhbGl6ZSI6eyJ0ZXh0LXRyYW5zZm9ybSI6ImNhcGl0YWxpemUifSwiLm5vcm1hbC1jYXNlIjp7InRleHQtdHJhbnNmb3JtIjoibm9uZSJ9fSl9LGZvbnRTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLml0YWxpYyI6eyJmb250LXN0eWxlIjoiaXRhbGljIn0sIi5ub3QtaXRhbGljIjp7ImZvbnQtc3R5bGUiOiJub3JtYWwifX0pfSxmb250VmFyaWFudE51bWVyaWM6KHthZGREZWZhdWx0czpyLGFkZFV0aWxpdGllczplfSk9PntsZXQgdD0idmFyKC0tdHctb3JkaW5hbCkgdmFyKC0tdHctc2xhc2hlZC16ZXJvKSB2YXIoLS10dy1udW1lcmljLWZpZ3VyZSkgdmFyKC0tdHctbnVtZXJpYy1zcGFjaW5nKSB2YXIoLS10dy1udW1lcmljLWZyYWN0aW9uKSI7cigiZm9udC12YXJpYW50LW51bWVyaWMiLHsiLS10dy1vcmRpbmFsIjoiICIsIi0tdHctc2xhc2hlZC16ZXJvIjoiICIsIi0tdHctbnVtZXJpYy1maWd1cmUiOiIgIiwiLS10dy1udW1lcmljLXNwYWNpbmciOiIgIiwiLS10dy1udW1lcmljLWZyYWN0aW9uIjoiICJ9KSxlKHsiLm5vcm1hbC1udW1zIjp7ImZvbnQtdmFyaWFudC1udW1lcmljIjoibm9ybWFsIn0sIi5vcmRpbmFsIjp7IkBkZWZhdWx0cyBmb250LXZhcmlhbnQtbnVtZXJpYyI6e30sIi0tdHctb3JkaW5hbCI6Im9yZGluYWwiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5zbGFzaGVkLXplcm8iOnsiQGRlZmF1bHRzIGZvbnQtdmFyaWFudC1udW1lcmljIjp7fSwiLS10dy1zbGFzaGVkLXplcm8iOiJzbGFzaGVkLXplcm8iLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5saW5pbmctbnVtcyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZmlndXJlIjoibGluaW5nLW51bXMiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5vbGRzdHlsZS1udW1zIjp7IkBkZWZhdWx0cyBmb250LXZhcmlhbnQtbnVtZXJpYyI6e30sIi0tdHctbnVtZXJpYy1maWd1cmUiOiJvbGRzdHlsZS1udW1zIiwiZm9udC12YXJpYW50LW51bWVyaWMiOnR9LCIucHJvcG9ydGlvbmFsLW51bXMiOnsiQGRlZmF1bHRzIGZvbnQtdmFyaWFudC1udW1lcmljIjp7fSwiLS10dy1udW1lcmljLXNwYWNpbmciOiJwcm9wb3J0aW9uYWwtbnVtcyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fSwiLnRhYnVsYXItbnVtcyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtc3BhY2luZyI6InRhYnVsYXItbnVtcyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fSwiLmRpYWdvbmFsLWZyYWN0aW9ucyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZnJhY3Rpb24iOiJkaWFnb25hbC1mcmFjdGlvbnMiLCJmb250LXZhcmlhbnQtbnVtZXJpYyI6dH0sIi5zdGFja2VkLWZyYWN0aW9ucyI6eyJAZGVmYXVsdHMgZm9udC12YXJpYW50LW51bWVyaWMiOnt9LCItLXR3LW51bWVyaWMtZnJhY3Rpb24iOiJzdGFja2VkLWZyYWN0aW9ucyIsImZvbnQtdmFyaWFudC1udW1lcmljIjp0fX0pfSxsaW5lSGVpZ2h0OkwoImxpbmVIZWlnaHQiLFtbImxlYWRpbmciLFsibGluZUhlaWdodCJdXV0pLGxldHRlclNwYWNpbmc6TCgibGV0dGVyU3BhY2luZyIsW1sidHJhY2tpbmciLFsibGV0dGVyU3BhY2luZyJdXV0se3N1cHBvcnRzTmVnYXRpdmVWYWx1ZXM6ITB9KSx0ZXh0Q29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmUsY29yZVBsdWdpbnM6dH0pPT57cih7dGV4dDppPT50KCJ0ZXh0T3BhY2l0eSIpP0FlKHtjb2xvcjppLHByb3BlcnR5OiJjb2xvciIsdmFyaWFibGU6Ii0tdHctdGV4dC1vcGFjaXR5In0pOntjb2xvcjpYKGkpfX0se3ZhbHVlczp4ZShlKCJ0ZXh0Q29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sdGV4dE9wYWNpdHk6TCgidGV4dE9wYWNpdHkiLFtbInRleHQtb3BhY2l0eSIsWyItLXR3LXRleHQtb3BhY2l0eSJdXV0pLHRleHREZWNvcmF0aW9uOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIudW5kZXJsaW5lIjp7InRleHQtZGVjb3JhdGlvbi1saW5lIjoidW5kZXJsaW5lIn0sIi5vdmVybGluZSI6eyJ0ZXh0LWRlY29yYXRpb24tbGluZSI6Im92ZXJsaW5lIn0sIi5saW5lLXRocm91Z2giOnsidGV4dC1kZWNvcmF0aW9uLWxpbmUiOiJsaW5lLXRocm91Z2gifSwiLm5vLXVuZGVybGluZSI6eyJ0ZXh0LWRlY29yYXRpb24tbGluZSI6Im5vbmUifX0pfSx0ZXh0RGVjb3JhdGlvbkNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtkZWNvcmF0aW9uOnQ9Pih7InRleHQtZGVjb3JhdGlvbi1jb2xvciI6WCh0KX0pfSx7dmFsdWVzOnhlKGUoInRleHREZWNvcmF0aW9uQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sdGV4dERlY29yYXRpb25TdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmRlY29yYXRpb24tc29saWQiOnsidGV4dC1kZWNvcmF0aW9uLXN0eWxlIjoic29saWQifSwiLmRlY29yYXRpb24tZG91YmxlIjp7InRleHQtZGVjb3JhdGlvbi1zdHlsZSI6ImRvdWJsZSJ9LCIuZGVjb3JhdGlvbi1kb3R0ZWQiOnsidGV4dC1kZWNvcmF0aW9uLXN0eWxlIjoiZG90dGVkIn0sIi5kZWNvcmF0aW9uLWRhc2hlZCI6eyJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOiJkYXNoZWQifSwiLmRlY29yYXRpb24td2F2eSI6eyJ0ZXh0LWRlY29yYXRpb24tc3R5bGUiOiJ3YXZ5In19KX0sdGV4dERlY29yYXRpb25UaGlja25lc3M6TCgidGV4dERlY29yYXRpb25UaGlja25lc3MiLFtbImRlY29yYXRpb24iLFsidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyJdXV0se3R5cGU6WyJsZW5ndGgiLCJwZXJjZW50YWdlIl19KSx0ZXh0VW5kZXJsaW5lT2Zmc2V0OkwoInRleHRVbmRlcmxpbmVPZmZzZXQiLFtbInVuZGVybGluZS1vZmZzZXQiLFsidGV4dC11bmRlcmxpbmUtb2Zmc2V0Il1dXSx7dHlwZTpbImxlbmd0aCIsInBlcmNlbnRhZ2UiLCJhbnkiXX0pLGZvbnRTbW9vdGhpbmc6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5hbnRpYWxpYXNlZCI6eyItd2Via2l0LWZvbnQtc21vb3RoaW5nIjoiYW50aWFsaWFzZWQiLCItbW96LW9zeC1mb250LXNtb290aGluZyI6ImdyYXlzY2FsZSJ9LCIuc3VicGl4ZWwtYW50aWFsaWFzZWQiOnsiLXdlYmtpdC1mb250LXNtb290aGluZyI6ImF1dG8iLCItbW96LW9zeC1mb250LXNtb290aGluZyI6ImF1dG8ifX0pfSxwbGFjZWhvbGRlckNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe3BsYWNlaG9sZGVyOmk9PnQoInBsYWNlaG9sZGVyT3BhY2l0eSIpP3siJjo6cGxhY2Vob2xkZXIiOkFlKHtjb2xvcjppLHByb3BlcnR5OiJjb2xvciIsdmFyaWFibGU6Ii0tdHctcGxhY2Vob2xkZXItb3BhY2l0eSJ9KX06eyImOjpwbGFjZWhvbGRlciI6e2NvbG9yOlgoaSl9fX0se3ZhbHVlczp4ZShlKCJwbGFjZWhvbGRlckNvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LHBsYWNlaG9sZGVyT3BhY2l0eTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7InBsYWNlaG9sZGVyLW9wYWNpdHkiOnQ9Pih7WyImOjpwbGFjZWhvbGRlciJdOnsiLS10dy1wbGFjZWhvbGRlci1vcGFjaXR5Ijp0fX0pfSx7dmFsdWVzOmUoInBsYWNlaG9sZGVyT3BhY2l0eSIpfSl9LGNhcmV0Q29sb3I6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2NhcmV0OnQ9Pih7ImNhcmV0LWNvbG9yIjpYKHQpfSl9LHt2YWx1ZXM6eGUoZSgiY2FyZXRDb2xvciIpKSx0eXBlOlsiY29sb3IiLCJhbnkiXX0pfSxhY2NlbnRDb2xvcjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7YWNjZW50OnQ9Pih7ImFjY2VudC1jb2xvciI6WCh0KX0pfSx7dmFsdWVzOnhlKGUoImFjY2VudENvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LG9wYWNpdHk6TCgib3BhY2l0eSIsW1sib3BhY2l0eSIsWyJvcGFjaXR5Il1dXSksYmFja2dyb3VuZEJsZW5kTW9kZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLmJnLWJsZW5kLW5vcm1hbCI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJub3JtYWwifSwiLmJnLWJsZW5kLW11bHRpcGx5Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Im11bHRpcGx5In0sIi5iZy1ibGVuZC1zY3JlZW4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoic2NyZWVuIn0sIi5iZy1ibGVuZC1vdmVybGF5Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Im92ZXJsYXkifSwiLmJnLWJsZW5kLWRhcmtlbiI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJkYXJrZW4ifSwiLmJnLWJsZW5kLWxpZ2h0ZW4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoibGlnaHRlbiJ9LCIuYmctYmxlbmQtY29sb3ItZG9kZ2UiOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiY29sb3ItZG9kZ2UifSwiLmJnLWJsZW5kLWNvbG9yLWJ1cm4iOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiY29sb3ItYnVybiJ9LCIuYmctYmxlbmQtaGFyZC1saWdodCI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJoYXJkLWxpZ2h0In0sIi5iZy1ibGVuZC1zb2Z0LWxpZ2h0Ijp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6InNvZnQtbGlnaHQifSwiLmJnLWJsZW5kLWRpZmZlcmVuY2UiOnsiYmFja2dyb3VuZC1ibGVuZC1tb2RlIjoiZGlmZmVyZW5jZSJ9LCIuYmctYmxlbmQtZXhjbHVzaW9uIjp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6ImV4Y2x1c2lvbiJ9LCIuYmctYmxlbmQtaHVlIjp7ImJhY2tncm91bmQtYmxlbmQtbW9kZSI6Imh1ZSJ9LCIuYmctYmxlbmQtc2F0dXJhdGlvbiI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJzYXR1cmF0aW9uIn0sIi5iZy1ibGVuZC1jb2xvciI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJjb2xvciJ9LCIuYmctYmxlbmQtbHVtaW5vc2l0eSI6eyJiYWNrZ3JvdW5kLWJsZW5kLW1vZGUiOiJsdW1pbm9zaXR5In19KX0sbWl4QmxlbmRNb2RlOih7YWRkVXRpbGl0aWVzOnJ9KT0+e3IoeyIubWl4LWJsZW5kLW5vcm1hbCI6eyJtaXgtYmxlbmQtbW9kZSI6Im5vcm1hbCJ9LCIubWl4LWJsZW5kLW11bHRpcGx5Ijp7Im1peC1ibGVuZC1tb2RlIjoibXVsdGlwbHkifSwiLm1peC1ibGVuZC1zY3JlZW4iOnsibWl4LWJsZW5kLW1vZGUiOiJzY3JlZW4ifSwiLm1peC1ibGVuZC1vdmVybGF5Ijp7Im1peC1ibGVuZC1tb2RlIjoib3ZlcmxheSJ9LCIubWl4LWJsZW5kLWRhcmtlbiI6eyJtaXgtYmxlbmQtbW9kZSI6ImRhcmtlbiJ9LCIubWl4LWJsZW5kLWxpZ2h0ZW4iOnsibWl4LWJsZW5kLW1vZGUiOiJsaWdodGVuIn0sIi5taXgtYmxlbmQtY29sb3ItZG9kZ2UiOnsibWl4LWJsZW5kLW1vZGUiOiJjb2xvci1kb2RnZSJ9LCIubWl4LWJsZW5kLWNvbG9yLWJ1cm4iOnsibWl4LWJsZW5kLW1vZGUiOiJjb2xvci1idXJuIn0sIi5taXgtYmxlbmQtaGFyZC1saWdodCI6eyJtaXgtYmxlbmQtbW9kZSI6ImhhcmQtbGlnaHQifSwiLm1peC1ibGVuZC1zb2Z0LWxpZ2h0Ijp7Im1peC1ibGVuZC1tb2RlIjoic29mdC1saWdodCJ9LCIubWl4LWJsZW5kLWRpZmZlcmVuY2UiOnsibWl4LWJsZW5kLW1vZGUiOiJkaWZmZXJlbmNlIn0sIi5taXgtYmxlbmQtZXhjbHVzaW9uIjp7Im1peC1ibGVuZC1tb2RlIjoiZXhjbHVzaW9uIn0sIi5taXgtYmxlbmQtaHVlIjp7Im1peC1ibGVuZC1tb2RlIjoiaHVlIn0sIi5taXgtYmxlbmQtc2F0dXJhdGlvbiI6eyJtaXgtYmxlbmQtbW9kZSI6InNhdHVyYXRpb24ifSwiLm1peC1ibGVuZC1jb2xvciI6eyJtaXgtYmxlbmQtbW9kZSI6ImNvbG9yIn0sIi5taXgtYmxlbmQtbHVtaW5vc2l0eSI6eyJtaXgtYmxlbmQtbW9kZSI6Imx1bWlub3NpdHkifSwiLm1peC1ibGVuZC1wbHVzLWRhcmtlciI6eyJtaXgtYmxlbmQtbW9kZSI6InBsdXMtZGFya2VyIn0sIi5taXgtYmxlbmQtcGx1cy1saWdodGVyIjp7Im1peC1ibGVuZC1tb2RlIjoicGx1cy1saWdodGVyIn19KX0sYm94U2hhZG93OigoKT0+e2xldCByPW10KCJib3hTaGFkb3ciKSxlPVsidmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApIiwidmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCkiLCJ2YXIoLS10dy1zaGFkb3cpIl0uam9pbigiLCAiKTtyZXR1cm4gZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnQsYWRkRGVmYXVsdHM6aSx0aGVtZTpufSl7aSgiYm94LXNoYWRvdyIseyItLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctcmluZy1zaGFkb3ciOiIwIDAgIzAwMDAiLCItLXR3LXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctc2hhZG93LWNvbG9yZWQiOiIwIDAgIzAwMDAifSksdCh7c2hhZG93OnM9PntzPXIocyk7bGV0IGE9ZW4ocyk7Zm9yKGxldCBvIG9mIGEpIW8udmFsaWR8fChvLmNvbG9yPSJ2YXIoLS10dy1zaGFkb3ctY29sb3IpIik7cmV0dXJueyJAZGVmYXVsdHMgYm94LXNoYWRvdyI6e30sIi0tdHctc2hhZG93IjpzPT09Im5vbmUiPyIwIDAgIzAwMDAiOnMsIi0tdHctc2hhZG93LWNvbG9yZWQiOnM9PT0ibm9uZSI/IjAgMCAjMDAwMCI6TGYoYSksImJveC1zaGFkb3ciOmV9fX0se3ZhbHVlczpuKCJib3hTaGFkb3ciKSx0eXBlOlsic2hhZG93Il19KX19KSgpLGJveFNoYWRvd0NvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtzaGFkb3c6dD0+KHsiLS10dy1zaGFkb3ctY29sb3IiOlgodCksIi0tdHctc2hhZG93IjoidmFyKC0tdHctc2hhZG93LWNvbG9yZWQpIn0pfSx7dmFsdWVzOnhlKGUoImJveFNoYWRvd0NvbG9yIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LG91dGxpbmVTdHlsZTooe2FkZFV0aWxpdGllczpyfSk9PntyKHsiLm91dGxpbmUtbm9uZSI6e291dGxpbmU6IjJweCBzb2xpZCB0cmFuc3BhcmVudCIsIm91dGxpbmUtb2Zmc2V0IjoiMnB4In0sIi5vdXRsaW5lIjp7Im91dGxpbmUtc3R5bGUiOiJzb2xpZCJ9LCIub3V0bGluZS1kYXNoZWQiOnsib3V0bGluZS1zdHlsZSI6ImRhc2hlZCJ9LCIub3V0bGluZS1kb3R0ZWQiOnsib3V0bGluZS1zdHlsZSI6ImRvdHRlZCJ9LCIub3V0bGluZS1kb3VibGUiOnsib3V0bGluZS1zdHlsZSI6ImRvdWJsZSJ9fSl9LG91dGxpbmVXaWR0aDpMKCJvdXRsaW5lV2lkdGgiLFtbIm91dGxpbmUiLFsib3V0bGluZS13aWR0aCJdXV0se3R5cGU6WyJsZW5ndGgiLCJudW1iZXIiLCJwZXJjZW50YWdlIl19KSxvdXRsaW5lT2Zmc2V0OkwoIm91dGxpbmVPZmZzZXQiLFtbIm91dGxpbmUtb2Zmc2V0IixbIm91dGxpbmUtb2Zmc2V0Il1dXSx7dHlwZTpbImxlbmd0aCIsIm51bWJlciIsInBlcmNlbnRhZ2UiLCJhbnkiXSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSksb3V0bGluZUNvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHtvdXRsaW5lOnQ9Pih7Im91dGxpbmUtY29sb3IiOlgodCl9KX0se3ZhbHVlczp4ZShlKCJvdXRsaW5lQ29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0scmluZ1dpZHRoOih7bWF0Y2hVdGlsaXRpZXM6cixhZGREZWZhdWx0czplLGFkZFV0aWxpdGllczp0LHRoZW1lOmksY29uZmlnOm59KT0+e2xldCBzPSgoKT0+e2lmKHdlKG4oKSwicmVzcGVjdERlZmF1bHRSaW5nQ29sb3JPcGFjaXR5IikpcmV0dXJuIGkoInJpbmdDb2xvci5ERUZBVUxUIik7bGV0IGE9aSgicmluZ09wYWNpdHkuREVGQVVMVCIsIjAuNSIpO3JldHVybiBpKCJyaW5nQ29sb3IiKT8uREVGQVVMVD9KZShpKCJyaW5nQ29sb3IiKT8uREVGQVVMVCxhLGByZ2IoMTQ3IDE5NyAyNTMgLyAke2F9KWApOmByZ2IoMTQ3IDE5NyAyNTMgLyAke2F9KWB9KSgpO2UoInJpbmctd2lkdGgiLHsiLS10dy1yaW5nLWluc2V0IjoiICIsIi0tdHctcmluZy1vZmZzZXQtd2lkdGgiOmkoInJpbmdPZmZzZXRXaWR0aC5ERUZBVUxUIiwiMHB4IiksIi0tdHctcmluZy1vZmZzZXQtY29sb3IiOmkoInJpbmdPZmZzZXRDb2xvci5ERUZBVUxUIiwiI2ZmZiIpLCItLXR3LXJpbmctY29sb3IiOnMsIi0tdHctcmluZy1vZmZzZXQtc2hhZG93IjoiMCAwICMwMDAwIiwiLS10dy1yaW5nLXNoYWRvdyI6IjAgMCAjMDAwMCIsIi0tdHctc2hhZG93IjoiMCAwICMwMDAwIiwiLS10dy1zaGFkb3ctY29sb3JlZCI6IjAgMCAjMDAwMCJ9KSxyKHtyaW5nOmE9Pih7IkBkZWZhdWx0cyByaW5nLXdpZHRoIjp7fSwiLS10dy1yaW5nLW9mZnNldC1zaGFkb3ciOiJ2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpIiwiLS10dy1yaW5nLXNoYWRvdyI6YHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoJHthfSArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvcilgLCJib3gtc2hhZG93IjpbInZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdykiLCJ2YXIoLS10dy1yaW5nLXNoYWRvdykiLCJ2YXIoLS10dy1zaGFkb3csIDAgMCAjMDAwMCkiXS5qb2luKCIsICIpfSl9LHt2YWx1ZXM6aSgicmluZ1dpZHRoIiksdHlwZToibGVuZ3RoIn0pLHQoeyIucmluZy1pbnNldCI6eyJAZGVmYXVsdHMgcmluZy13aWR0aCI6e30sIi0tdHctcmluZy1pbnNldCI6Imluc2V0In19KX0scmluZ0NvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplLGNvcmVQbHVnaW5zOnR9KT0+e3Ioe3Jpbmc6aT0+dCgicmluZ09wYWNpdHkiKT9BZSh7Y29sb3I6aSxwcm9wZXJ0eToiLS10dy1yaW5nLWNvbG9yIix2YXJpYWJsZToiLS10dy1yaW5nLW9wYWNpdHkifSk6eyItLXR3LXJpbmctY29sb3IiOlgoaSl9fSx7dmFsdWVzOk9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh4ZShlKCJyaW5nQ29sb3IiKSkpLmZpbHRlcigoW2ldKT0+aSE9PSJERUZBVUxUIikpLHR5cGU6WyJjb2xvciIsImFueSJdfSl9LHJpbmdPcGFjaXR5OnI9PntsZXR7Y29uZmlnOmV9PXI7cmV0dXJuIEwoInJpbmdPcGFjaXR5IixbWyJyaW5nLW9wYWNpdHkiLFsiLS10dy1yaW5nLW9wYWNpdHkiXV1dLHtmaWx0ZXJEZWZhdWx0OiF3ZShlKCksInJlc3BlY3REZWZhdWx0UmluZ0NvbG9yT3BhY2l0eSIpfSkocil9LHJpbmdPZmZzZXRXaWR0aDpMKCJyaW5nT2Zmc2V0V2lkdGgiLFtbInJpbmctb2Zmc2V0IixbIi0tdHctcmluZy1vZmZzZXQtd2lkdGgiXV1dLHt0eXBlOiJsZW5ndGgifSkscmluZ09mZnNldENvbG9yOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsicmluZy1vZmZzZXQiOnQ9Pih7Ii0tdHctcmluZy1vZmZzZXQtY29sb3IiOlgodCl9KX0se3ZhbHVlczp4ZShlKCJyaW5nT2Zmc2V0Q29sb3IiKSksdHlwZTpbImNvbG9yIiwiYW55Il19KX0sYmx1cjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Ymx1cjp0PT4oeyItLXR3LWJsdXIiOnQudHJpbSgpPT09IiI/IiAiOmBibHVyKCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiYmx1ciIpfSl9LGJyaWdodG5lc3M6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2JyaWdodG5lc3M6dD0+KHsiLS10dy1icmlnaHRuZXNzIjpgYnJpZ2h0bmVzcygke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImJyaWdodG5lc3MiKX0pfSxjb250cmFzdDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Y29udHJhc3Q6dD0+KHsiLS10dy1jb250cmFzdCI6YGNvbnRyYXN0KCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiY29udHJhc3QiKX0pfSxkcm9wU2hhZG93Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiZHJvcC1zaGFkb3ciOnQ9Pih7Ii0tdHctZHJvcC1zaGFkb3ciOkFycmF5LmlzQXJyYXkodCk/dC5tYXAoaT0+YGRyb3Atc2hhZG93KCR7aX0pYCkuam9pbigiICIpOmBkcm9wLXNoYWRvdygke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImRyb3BTaGFkb3ciKX0pfSxncmF5c2NhbGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe2dyYXlzY2FsZTp0PT4oeyItLXR3LWdyYXlzY2FsZSI6YGdyYXlzY2FsZSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoImdyYXlzY2FsZSIpfSl9LGh1ZVJvdGF0ZTooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7Imh1ZS1yb3RhdGUiOnQ9Pih7Ii0tdHctaHVlLXJvdGF0ZSI6YGh1ZS1yb3RhdGUoJHt0fSlgLCJAZGVmYXVsdHMgZmlsdGVyIjp7fSxmaWx0ZXI6bnR9KX0se3ZhbHVlczplKCJodWVSb3RhdGUiKSxzdXBwb3J0c05lZ2F0aXZlVmFsdWVzOiEwfSl9LGludmVydDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7aW52ZXJ0OnQ9Pih7Ii0tdHctaW52ZXJ0IjpgaW52ZXJ0KCR7dH0pYCwiQGRlZmF1bHRzIGZpbHRlciI6e30sZmlsdGVyOm50fSl9LHt2YWx1ZXM6ZSgiaW52ZXJ0Iil9KX0sc2F0dXJhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe3NhdHVyYXRlOnQ9Pih7Ii0tdHctc2F0dXJhdGUiOmBzYXR1cmF0ZSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoInNhdHVyYXRlIil9KX0sc2VwaWE6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3Ioe3NlcGlhOnQ9Pih7Ii0tdHctc2VwaWEiOmBzZXBpYSgke3R9KWAsIkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0pfSx7dmFsdWVzOmUoInNlcGlhIil9KX0sZmlsdGVyOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57cigiZmlsdGVyIix7Ii0tdHctYmx1ciI6IiAiLCItLXR3LWJyaWdodG5lc3MiOiIgIiwiLS10dy1jb250cmFzdCI6IiAiLCItLXR3LWdyYXlzY2FsZSI6IiAiLCItLXR3LWh1ZS1yb3RhdGUiOiIgIiwiLS10dy1pbnZlcnQiOiIgIiwiLS10dy1zYXR1cmF0ZSI6IiAiLCItLXR3LXNlcGlhIjoiICIsIi0tdHctZHJvcC1zaGFkb3ciOiIgIn0pLGUoeyIuZmlsdGVyIjp7IkBkZWZhdWx0cyBmaWx0ZXIiOnt9LGZpbHRlcjpudH0sIi5maWx0ZXItbm9uZSI6e2ZpbHRlcjoibm9uZSJ9fSl9LGJhY2tkcm9wQmx1cjooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ImJhY2tkcm9wLWJsdXIiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtYmx1ciI6dC50cmltKCk9PT0iIj8iICI6YGJsdXIoJHt0fSlgLCJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSl9LHt2YWx1ZXM6ZSgiYmFja2Ryb3BCbHVyIil9KX0sYmFja2Ryb3BCcmlnaHRuZXNzOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3AtYnJpZ2h0bmVzcyI6dD0+KHsiLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzIjpgYnJpZ2h0bmVzcygke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcEJyaWdodG5lc3MiKX0pfSxiYWNrZHJvcENvbnRyYXN0Oih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3AtY29udHJhc3QiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtY29udHJhc3QiOmBjb250cmFzdCgke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcENvbnRyYXN0Iil9KX0sYmFja2Ryb3BHcmF5c2NhbGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1ncmF5c2NhbGUiOnQ9Pih7Ii0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIjpgZ3JheXNjYWxlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wR3JheXNjYWxlIil9KX0sYmFja2Ryb3BIdWVSb3RhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1odWUtcm90YXRlIjp0PT4oeyItLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUiOmBodWUtcm90YXRlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wSHVlUm90YXRlIiksc3VwcG9ydHNOZWdhdGl2ZVZhbHVlczohMH0pfSxiYWNrZHJvcEludmVydDooe21hdGNoVXRpbGl0aWVzOnIsdGhlbWU6ZX0pPT57cih7ImJhY2tkcm9wLWludmVydCI6dD0+KHsiLS10dy1iYWNrZHJvcC1pbnZlcnQiOmBpbnZlcnQoJHt0fSlgLCJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSl9LHt2YWx1ZXM6ZSgiYmFja2Ryb3BJbnZlcnQiKX0pfSxiYWNrZHJvcE9wYWNpdHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1vcGFjaXR5Ijp0PT4oeyItLXR3LWJhY2tkcm9wLW9wYWNpdHkiOmBvcGFjaXR5KCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wT3BhY2l0eSIpfSl9LGJhY2tkcm9wU2F0dXJhdGU6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e3IoeyJiYWNrZHJvcC1zYXR1cmF0ZSI6dD0+KHsiLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSI6YHNhdHVyYXRlKCR7dH0pYCwiQGRlZmF1bHRzIGJhY2tkcm9wLWZpbHRlciI6e30sIi13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjpnZSwiYmFja2Ryb3AtZmlsdGVyIjpnZX0pfSx7dmFsdWVzOmUoImJhY2tkcm9wU2F0dXJhdGUiKX0pfSxiYWNrZHJvcFNlcGlhOih7bWF0Y2hVdGlsaXRpZXM6cix0aGVtZTplfSk9PntyKHsiYmFja2Ryb3Atc2VwaWEiOnQ9Pih7Ii0tdHctYmFja2Ryb3Atc2VwaWEiOmBzZXBpYSgke3R9KWAsIkBkZWZhdWx0cyBiYWNrZHJvcC1maWx0ZXIiOnt9LCItd2Via2l0LWJhY2tkcm9wLWZpbHRlciI6Z2UsImJhY2tkcm9wLWZpbHRlciI6Z2V9KX0se3ZhbHVlczplKCJiYWNrZHJvcFNlcGlhIil9KX0sYmFja2Ryb3BGaWx0ZXI6KHthZGREZWZhdWx0czpyLGFkZFV0aWxpdGllczplfSk9PntyKCJiYWNrZHJvcC1maWx0ZXIiLHsiLS10dy1iYWNrZHJvcC1ibHVyIjoiICIsIi0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcyI6IiAiLCItLXR3LWJhY2tkcm9wLWNvbnRyYXN0IjoiICIsIi0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIjoiICIsIi0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSI6IiAiLCItLXR3LWJhY2tkcm9wLWludmVydCI6IiAiLCItLXR3LWJhY2tkcm9wLW9wYWNpdHkiOiIgIiwiLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSI6IiAiLCItLXR3LWJhY2tkcm9wLXNlcGlhIjoiICJ9KSxlKHsiLmJhY2tkcm9wLWZpbHRlciI6eyJAZGVmYXVsdHMgYmFja2Ryb3AtZmlsdGVyIjp7fSwiLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIiOmdlLCJiYWNrZHJvcC1maWx0ZXIiOmdlfSwiLmJhY2tkcm9wLWZpbHRlci1ub25lIjp7Ii13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIjoibm9uZSIsImJhY2tkcm9wLWZpbHRlciI6Im5vbmUifX0pfSx0cmFuc2l0aW9uUHJvcGVydHk6KHttYXRjaFV0aWxpdGllczpyLHRoZW1lOmV9KT0+e2xldCB0PWUoInRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbi5ERUZBVUxUIiksaT1lKCJ0cmFuc2l0aW9uRHVyYXRpb24uREVGQVVMVCIpO3Ioe3RyYW5zaXRpb246bj0+KHsidHJhbnNpdGlvbi1wcm9wZXJ0eSI6biwuLi5uPT09Im5vbmUiP3t9OnsidHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iOnQsInRyYW5zaXRpb24tZHVyYXRpb24iOml9fSl9LHt2YWx1ZXM6ZSgidHJhbnNpdGlvblByb3BlcnR5Iil9KX0sdHJhbnNpdGlvbkRlbGF5OkwoInRyYW5zaXRpb25EZWxheSIsW1siZGVsYXkiLFsidHJhbnNpdGlvbkRlbGF5Il1dXSksdHJhbnNpdGlvbkR1cmF0aW9uOkwoInRyYW5zaXRpb25EdXJhdGlvbiIsW1siZHVyYXRpb24iLFsidHJhbnNpdGlvbkR1cmF0aW9uIl1dXSx7ZmlsdGVyRGVmYXVsdDohMH0pLHRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbjpMKCJ0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb24iLFtbImVhc2UiLFsidHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uIl1dXSx7ZmlsdGVyRGVmYXVsdDohMH0pLHdpbGxDaGFuZ2U6TCgid2lsbENoYW5nZSIsW1sid2lsbC1jaGFuZ2UiLFsid2lsbC1jaGFuZ2UiXV1dKSxjb250YWluOih7YWRkRGVmYXVsdHM6cixhZGRVdGlsaXRpZXM6ZX0pPT57bGV0IHQ9InZhcigtLXR3LWNvbnRhaW4tc2l6ZSkgdmFyKC0tdHctY29udGFpbi1sYXlvdXQpIHZhcigtLXR3LWNvbnRhaW4tcGFpbnQpIHZhcigtLXR3LWNvbnRhaW4tc3R5bGUpIjtyKCJjb250YWluIix7Ii0tdHctY29udGFpbi1zaXplIjoiICIsIi0tdHctY29udGFpbi1sYXlvdXQiOiIgIiwiLS10dy1jb250YWluLXBhaW50IjoiICIsIi0tdHctY29udGFpbi1zdHlsZSI6IiAifSksZSh7Ii5jb250YWluLW5vbmUiOntjb250YWluOiJub25lIn0sIi5jb250YWluLWNvbnRlbnQiOntjb250YWluOiJjb250ZW50In0sIi5jb250YWluLXN0cmljdCI6e2NvbnRhaW46InN0cmljdCJ9LCIuY29udGFpbi1zaXplIjp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXNpemUiOiJzaXplIixjb250YWluOnR9LCIuY29udGFpbi1pbmxpbmUtc2l6ZSI6eyJAZGVmYXVsdHMgY29udGFpbiI6e30sIi0tdHctY29udGFpbi1zaXplIjoiaW5saW5lLXNpemUiLGNvbnRhaW46dH0sIi5jb250YWluLWxheW91dCI6eyJAZGVmYXVsdHMgY29udGFpbiI6e30sIi0tdHctY29udGFpbi1sYXlvdXQiOiJsYXlvdXQiLGNvbnRhaW46dH0sIi5jb250YWluLXBhaW50Ijp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXBhaW50IjoicGFpbnQiLGNvbnRhaW46dH0sIi5jb250YWluLXN0eWxlIjp7IkBkZWZhdWx0cyBjb250YWluIjp7fSwiLS10dy1jb250YWluLXN0eWxlIjoic3R5bGUiLGNvbnRhaW46dH19KX0sY29udGVudDpMKCJjb250ZW50IixbWyJjb250ZW50IixbIi0tdHctY29udGVudCIsWyJjb250ZW50IiwidmFyKC0tdHctY29udGVudCkiXV1dXSksZm9yY2VkQ29sb3JBZGp1c3Q6KHthZGRVdGlsaXRpZXM6cn0pPT57cih7Ii5mb3JjZWQtY29sb3ItYWRqdXN0LWF1dG8iOnsiZm9yY2VkLWNvbG9yLWFkanVzdCI6ImF1dG8ifSwiLmZvcmNlZC1jb2xvci1hZGp1c3Qtbm9uZSI6eyJmb3JjZWQtY29sb3ItYWRqdXN0Ijoibm9uZSJ9fSl9fX0pO2Z1bmN0aW9uIGhfKHIpe2lmKHI9PT12b2lkIDApcmV0dXJuITE7aWYocj09PSJ0cnVlInx8cj09PSIxIilyZXR1cm4hMDtpZihyPT09ImZhbHNlInx8cj09PSIwIilyZXR1cm4hMTtpZihyPT09IioiKXJldHVybiEwO2xldCBlPXIuc3BsaXQoIiwiKS5tYXAodD0+dC5zcGxpdCgiOiIpWzBdKTtyZXR1cm4gZS5pbmNsdWRlcygiLXRhaWx3aW5kY3NzIik/ITE6ISFlLmluY2x1ZGVzKCJ0YWlsd2luZGNzcyIpfXZhciBaZSx3aCx2aCxlcyxObyxndCxUaSxJdD1QKCgpPT57dSgpO1plPXR5cGVvZiBtIT0idW5kZWZpbmVkIj97Tk9ERV9FTlY6InByb2R1Y3Rpb24iLERFQlVHOmhfKG0uZW52LkRFQlVHKX06e05PREVfRU5WOiJwcm9kdWN0aW9uIixERUJVRzohMX0sd2g9bmV3IE1hcCx2aD1uZXcgTWFwLGVzPW5ldyBNYXAsTm89bmV3IE1hcCxndD1uZXcgU3RyaW5nKCIqIiksVGk9U3ltYm9sKCJfX05PTkVfXyIpfSk7ZnVuY3Rpb24gY3Iocil7bGV0IGU9W10sdD0hMTtmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl7bGV0IG49cltpXTtpZihuPT09IjoiJiYhdCYmZS5sZW5ndGg9PT0wKXJldHVybiExO2lmKG1fLmhhcyhuKSYmcltpLTFdIT09IlxcIiYmKHQ9IXQpLCF0JiZyW2ktMV0hPT0iXFwiKXtpZih4aC5oYXMobikpZS5wdXNoKG4pO2Vsc2UgaWYoa2guaGFzKG4pKXtsZXQgcz1raC5nZXQobik7aWYoZS5sZW5ndGg8PTB8fGUucG9wKCkhPT1zKXJldHVybiExfX19cmV0dXJuIShlLmxlbmd0aD4wKX12YXIgeGgsa2gsbV8sQm89UCgoKT0+e3UoKTt4aD1uZXcgTWFwKFtbInsiLCJ9Il0sWyJbIiwiXSJdLFsiKCIsIikiXV0pLGtoPW5ldyBNYXAoQXJyYXkuZnJvbSh4aC5lbnRyaWVzKCkpLm1hcCgoW3IsZV0pPT5bZSxyXSkpLG1fPW5ldyBTZXQoWyciJywiJyIsImAiXSl9KTtmdW5jdGlvbiBwcihyKXtsZXRbZV09U2gocik7cmV0dXJuIGUuZm9yRWFjaCgoW3QsaV0pPT50LnJlbW92ZUNoaWxkKGkpKSxyLm5vZGVzLnB1c2goLi4uZS5tYXAoKFssdF0pPT50KSkscn1mdW5jdGlvbiBTaChyKXtsZXQgZT1bXSx0PW51bGw7Zm9yKGxldCBpIG9mIHIubm9kZXMpaWYoaS50eXBlPT09ImNvbWJpbmF0b3IiKWU9ZS5maWx0ZXIoKFssbl0pPT5qbyhuKS5pbmNsdWRlcygianVtcGFibGUiKSksdD1udWxsO2Vsc2UgaWYoaS50eXBlPT09InBzZXVkbyIpe2dfKGkpPyh0PWksZS5wdXNoKFtyLGksbnVsbF0pKTp0JiZ5XyhpLHQpP2UucHVzaChbcixpLHRdKTp0PW51bGw7Zm9yKGxldCBuIG9mIGkubm9kZXM/P1tdKXtsZXRbcyxhXT1TaChuKTt0PWF8fHQsZS5wdXNoKC4uLnMpfX1yZXR1cm5bZSx0XX1mdW5jdGlvbiBBaChyKXtyZXR1cm4gci52YWx1ZS5zdGFydHNXaXRoKCI6OiIpfHxGb1tyLnZhbHVlXSE9PXZvaWQgMH1mdW5jdGlvbiBnXyhyKXtyZXR1cm4gQWgocikmJmpvKHIpLmluY2x1ZGVzKCJ0ZXJtaW5hbCIpfWZ1bmN0aW9uIHlfKHIsZSl7cmV0dXJuIHIudHlwZSE9PSJwc2V1ZG8ifHxBaChyKT8hMTpqbyhlKS5pbmNsdWRlcygiYWN0aW9uYWJsZSIpfWZ1bmN0aW9uIGpvKHIpe3JldHVybiBGb1tyLnZhbHVlXT8/Rm8uX19kZWZhdWx0X199dmFyIEZvLHRzPVAoKCk9Pnt1KCk7Rm89eyI6OmFmdGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpiYWNrZHJvcCI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjo6YmVmb3JlIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpjdWUiOlsidGVybWluYWwiXSwiOjpjdWUtcmVnaW9uIjpbInRlcm1pbmFsIl0sIjo6Zmlyc3QtbGV0dGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpmaXJzdC1saW5lIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpncmFtbWFyLWVycm9yIjpbInRlcm1pbmFsIl0sIjo6bWFya2VyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpwYXJ0IjpbInRlcm1pbmFsIiwiYWN0aW9uYWJsZSJdLCI6OnBsYWNlaG9sZGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOjpzZWxlY3Rpb24iOlsidGVybWluYWwiLCJqdW1wYWJsZSJdLCI6OnNsb3R0ZWQiOlsidGVybWluYWwiXSwiOjpzcGVsbGluZy1lcnJvciI6WyJ0ZXJtaW5hbCJdLCI6OnRhcmdldC10ZXh0IjpbInRlcm1pbmFsIl0sIjo6ZmlsZS1zZWxlY3Rvci1idXR0b24iOlsidGVybWluYWwiLCJhY3Rpb25hYmxlIl0sIjo6ZGVlcCI6WyJhY3Rpb25hYmxlIl0sIjo6di1kZWVwIjpbImFjdGlvbmFibGUiXSwiOjpuZy1kZWVwIjpbImFjdGlvbmFibGUiXSwiOmFmdGVyIjpbInRlcm1pbmFsIiwianVtcGFibGUiXSwiOmJlZm9yZSI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjpmaXJzdC1sZXR0ZXIiOlsidGVybWluYWwiLCJqdW1wYWJsZSJdLCI6Zmlyc3QtbGluZSI6WyJ0ZXJtaW5hbCIsImp1bXBhYmxlIl0sIjp3aGVyZSI6W10sIjppcyI6W10sIjpoYXMiOltdLF9fZGVmYXVsdF9fOlsidGVybWluYWwiLCJhY3Rpb25hYmxlIl19fSk7ZnVuY3Rpb24gZHIocix7Y29udGV4dDplLGNhbmRpZGF0ZTp0fSl7bGV0IGk9ZT8udGFpbHdpbmRDb25maWcucHJlZml4Pz8iIixuPXIubWFwKGE9PntsZXQgbz0oMCxzdC5kZWZhdWx0KSgpLmFzdFN5bmMoYS5mb3JtYXQpO3JldHVybnsuLi5hLGFzdDphLnJlc3BlY3RQcmVmaXg/dXIoaSxvKTpvfX0pLHM9c3QuZGVmYXVsdC5yb290KHtub2Rlczpbc3QuZGVmYXVsdC5zZWxlY3Rvcih7bm9kZXM6W3N0LmRlZmF1bHQuY2xhc3NOYW1lKHt2YWx1ZTpUZSh0KX0pXX0pXX0pO2ZvcihsZXR7YXN0OmF9b2YgbilbcyxhXT13XyhzLGEpLGEud2Fsa05lc3Rpbmcobz0+by5yZXBsYWNlV2l0aCguLi5zLm5vZGVzWzBdLm5vZGVzKSkscz1hO3JldHVybiBzfWZ1bmN0aW9uIF9oKHIpe2xldCBlPVtdO2Zvcig7ci5wcmV2KCkmJnIucHJldigpLnR5cGUhPT0iY29tYmluYXRvciI7KXI9ci5wcmV2KCk7Zm9yKDtyJiZyLnR5cGUhPT0iY29tYmluYXRvciI7KWUucHVzaChyKSxyPXIubmV4dCgpO3JldHVybiBlfWZ1bmN0aW9uIGJfKHIpe3JldHVybiByLnNvcnQoKGUsdCk9PmUudHlwZT09PSJ0YWciJiZ0LnR5cGU9PT0iY2xhc3MiPy0xOmUudHlwZT09PSJjbGFzcyImJnQudHlwZT09PSJ0YWciPzE6ZS50eXBlPT09ImNsYXNzIiYmdC50eXBlPT09InBzZXVkbyImJnQudmFsdWUuc3RhcnRzV2l0aCgiOjoiKT8tMTplLnR5cGU9PT0icHNldWRvIiYmZS52YWx1ZS5zdGFydHNXaXRoKCI6OiIpJiZ0LnR5cGU9PT0iY2xhc3MiPzE6ci5pbmRleChlKS1yLmluZGV4KHQpKSxyfWZ1bmN0aW9uIFVvKHIsZSl7bGV0IHQ9ITE7ci53YWxrKGk9PntpZihpLnR5cGU9PT0iY2xhc3MiJiZpLnZhbHVlPT09ZSlyZXR1cm4gdD0hMCwhMX0pLHR8fHIucmVtb3ZlKCl9ZnVuY3Rpb24gcnMocixlLHtjb250ZXh0OnQsY2FuZGlkYXRlOmksYmFzZTpufSl7bGV0IHM9dD8udGFpbHdpbmRDb25maWc/LnNlcGFyYXRvcj8/IjoiO249bj8/dmUoaSxzKS5wb3AoKTtsZXQgYT0oMCxzdC5kZWZhdWx0KSgpLmFzdFN5bmMocik7aWYoYS53YWxrQ2xhc3NlcyhmPT57Zi5yYXdzJiZmLnZhbHVlLmluY2x1ZGVzKG4pJiYoZi5yYXdzLnZhbHVlPVRlKCgwLENoLmRlZmF1bHQpKGYucmF3cy52YWx1ZSkpKX0pLGEuZWFjaChmPT5VbyhmLG4pKSxhLmxlbmd0aD09PTApcmV0dXJuIG51bGw7bGV0IG89QXJyYXkuaXNBcnJheShlKT9kcihlLHtjb250ZXh0OnQsY2FuZGlkYXRlOml9KTplO2lmKG89PT1udWxsKXJldHVybiBhLnRvU3RyaW5nKCk7bGV0IGw9c3QuZGVmYXVsdC5jb21tZW50KHt2YWx1ZToiLypfX3NpbXBsZV9fKi8ifSksYz1zdC5kZWZhdWx0LmNvbW1lbnQoe3ZhbHVlOiIvKl9fc2ltcGxlX18qLyJ9KTtyZXR1cm4gYS53YWxrQ2xhc3NlcyhmPT57aWYoZi52YWx1ZSE9PW4pcmV0dXJuO2xldCBkPWYucGFyZW50LHA9by5ub2Rlc1swXS5ub2RlcztpZihkLm5vZGVzLmxlbmd0aD09PTEpe2YucmVwbGFjZVdpdGgoLi4ucCk7cmV0dXJufWxldCBoPV9oKGYpO2QuaW5zZXJ0QmVmb3JlKGhbMF0sbCksZC5pbnNlcnRBZnRlcihoW2gubGVuZ3RoLTFdLGMpO2ZvcihsZXQgdiBvZiBwKWQuaW5zZXJ0QmVmb3JlKGhbMF0sdi5jbG9uZSgpKTtmLnJlbW92ZSgpLGg9X2gobCk7bGV0IGI9ZC5pbmRleChsKTtkLm5vZGVzLnNwbGljZShiLGgubGVuZ3RoLC4uLmJfKHN0LmRlZmF1bHQuc2VsZWN0b3Ioe25vZGVzOmh9KSkubm9kZXMpLGwucmVtb3ZlKCksYy5yZW1vdmUoKX0pLGEud2Fsa1BzZXVkb3MoZj0+e2YudmFsdWU9PT16byYmZi5yZXBsYWNlV2l0aChmLm5vZGVzKX0pLGEuZWFjaChmPT5wcihmKSksYS50b1N0cmluZygpfWZ1bmN0aW9uIHdfKHIsZSl7bGV0IHQ9W107cmV0dXJuIHIud2Fsa1BzZXVkb3MoaT0+e2kudmFsdWU9PT16byYmdC5wdXNoKHtwc2V1ZG86aSx2YWx1ZTppLm5vZGVzWzBdLnRvU3RyaW5nKCl9KX0pLGUud2Fsa1BzZXVkb3MoaT0+e2lmKGkudmFsdWUhPT16bylyZXR1cm47bGV0IG49aS5ub2Rlc1swXS50b1N0cmluZygpLHM9dC5maW5kKGM9PmMudmFsdWU9PT1uKTtpZighcylyZXR1cm47bGV0IGE9W10sbz1pLm5leHQoKTtmb3IoO28mJm8udHlwZSE9PSJjb21iaW5hdG9yIjspYS5wdXNoKG8pLG89by5uZXh0KCk7bGV0IGw9bztzLnBzZXVkby5wYXJlbnQuaW5zZXJ0QWZ0ZXIocy5wc2V1ZG8sc3QuZGVmYXVsdC5zZWxlY3Rvcih7bm9kZXM6YS5tYXAoYz0+Yy5jbG9uZSgpKX0pKSxpLnJlbW92ZSgpLGEuZm9yRWFjaChjPT5jLnJlbW92ZSgpKSxsJiZsLnR5cGU9PT0iY29tYmluYXRvciImJmwucmVtb3ZlKCl9KSxbcixlXX12YXIgc3QsQ2gsem8sVm89UCgoKT0+e3UoKTtzdD1wZShpdCgpKSxDaD1wZShQbigpKTtmcigpO0duKCk7dHMoKTt6dCgpO3pvPSI6bWVyZ2UifSk7ZnVuY3Rpb24gaXMocixlKXtsZXQgdD0oMCxIby5kZWZhdWx0KSgpLmFzdFN5bmMocik7cmV0dXJuIHQuZWFjaChpPT57aS5ub2Rlcy5zb21lKHM9PnMudHlwZT09PSJjb21iaW5hdG9yIikmJihpLm5vZGVzPVtIby5kZWZhdWx0LnBzZXVkbyh7dmFsdWU6IjppcyIsbm9kZXM6W2kuY2xvbmUoKV19KV0pLHByKGkpfSksYCR7ZX0gJHt0LnRvU3RyaW5nKCl9YH12YXIgSG8sV289UCgoKT0+e3UoKTtIbz1wZShpdCgpKTt0cygpfSk7ZnVuY3Rpb24gR28ocil7cmV0dXJuIHZfLnRyYW5zZm9ybVN5bmMocil9ZnVuY3Rpb24qeF8ocil7bGV0IGU9MS8wO2Zvcig7ZT49MDspe2xldCB0LGk9ITE7aWYoZT09PTEvMCYmci5lbmRzV2l0aCgiXSIpKXtsZXQgYT1yLmluZGV4T2YoIlsiKTtyW2EtMV09PT0iLSI/dD1hLTE6clthLTFdPT09Ii8iPyh0PWEtMSxpPSEwKTp0PS0xfWVsc2UgZT09PTEvMCYmci5pbmNsdWRlcygiLyIpPyh0PXIubGFzdEluZGV4T2YoIi8iKSxpPSEwKTp0PXIubGFzdEluZGV4T2YoIi0iLGUpO2lmKHQ8MClicmVhaztsZXQgbj1yLnNsaWNlKDAsdCkscz1yLnNsaWNlKGk/dDp0KzEpO2U9dC0xLCEobj09PSIifHxzPT09Ii8iKSYmKHlpZWxkW24sc10pfX1mdW5jdGlvbiBrXyhyLGUpe2lmKHIubGVuZ3RoPT09MHx8ZS50YWlsd2luZENvbmZpZy5wcmVmaXg9PT0iIilyZXR1cm4gcjtmb3IobGV0IHQgb2Ygcil7bGV0W2ldPXQ7aWYoaS5vcHRpb25zLnJlc3BlY3RQcmVmaXgpe2xldCBuPWVlLnJvb3Qoe25vZGVzOlt0WzFdLmNsb25lKCldfSkscz10WzFdLnJhd3MudGFpbHdpbmQuY2xhc3NDYW5kaWRhdGU7bi53YWxrUnVsZXMoYT0+e2xldCBvPXMuc3RhcnRzV2l0aCgiLSIpO2Euc2VsZWN0b3I9dXIoZS50YWlsd2luZENvbmZpZy5wcmVmaXgsYS5zZWxlY3RvcixvKX0pLHRbMV09bi5ub2Rlc1swXX19cmV0dXJuIHJ9ZnVuY3Rpb24gU18ocixlKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHI7bGV0IHQ9W107ZnVuY3Rpb24gaShuKXtyZXR1cm4gbi5wYXJlbnQmJm4ucGFyZW50LnR5cGU9PT0iYXRydWxlIiYmbi5wYXJlbnQubmFtZT09PSJrZXlmcmFtZXMifWZvcihsZXRbbixzXW9mIHIpe2xldCBhPWVlLnJvb3Qoe25vZGVzOltzLmNsb25lKCldfSk7YS53YWxrUnVsZXMobz0+e2lmKGkobykpcmV0dXJuO2xldCBsPSgwLG5zLmRlZmF1bHQpKCkuYXN0U3luYyhvLnNlbGVjdG9yKTtsLmVhY2goYz0+VW8oYyxlKSksUWYobCxjPT5jPT09ZT9gISR7Y31gOmMpLG8uc2VsZWN0b3I9bC50b1N0cmluZygpLG8ud2Fsa0RlY2xzKGM9PmMuaW1wb3J0YW50PSEwKX0pLHQucHVzaChbey4uLm4saW1wb3J0YW50OiEwfSxhLm5vZGVzWzBdXSl9cmV0dXJuIHR9ZnVuY3Rpb24gQV8ocixlLHQpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgaT17bW9kaWZpZXI6bnVsbCx2YWx1ZTpUaX07e2xldFtuLC4uLnNdPXZlKHIsIi8iKTtpZihzLmxlbmd0aD4xJiYobj1uKyIvIitzLnNsaWNlKDAsLTEpLmpvaW4oIi8iKSxzPXMuc2xpY2UoLTEpKSxzLmxlbmd0aCYmIXQudmFyaWFudE1hcC5oYXMocikmJihyPW4saS5tb2RpZmllcj1zWzBdLCF3ZSh0LnRhaWx3aW5kQ29uZmlnLCJnZW5lcmFsaXplZE1vZGlmaWVycyIpKSlyZXR1cm5bXX1pZihyLmVuZHNXaXRoKCJdIikmJiFyLnN0YXJ0c1dpdGgoIlsiKSl7bGV0IG49LyguKSgtPylcWyguKilcXS9nLmV4ZWMocik7aWYobil7bGV0WyxzLGEsb109bjtpZihzPT09IkAiJiZhPT09Ii0iKXJldHVybltdO2lmKHMhPT0iQCImJmE9PT0iIilyZXR1cm5bXTtyPXIucmVwbGFjZShgJHthfVske299XWAsIiIpLGkudmFsdWU9b319aWYoS28ocikmJiF0LnZhcmlhbnRNYXAuaGFzKHIpKXtsZXQgbj10Lm9mZnNldHMucmVjb3JkVmFyaWFudChyKSxzPUsoci5zbGljZSgxLC0xKSksYT12ZShzLCIsIik7aWYoYS5sZW5ndGg+MSlyZXR1cm5bXTtpZighYS5ldmVyeShscykpcmV0dXJuW107bGV0IG89YS5tYXAoKGwsYyk9Plt0Lm9mZnNldHMuYXBwbHlQYXJhbGxlbE9mZnNldChuLGMpLFJpKGwudHJpbSgpKV0pO3QudmFyaWFudE1hcC5zZXQocixvKX1pZih0LnZhcmlhbnRNYXAuaGFzKHIpKXtsZXQgbj1LbyhyKSxzPXQudmFyaWFudE9wdGlvbnMuZ2V0KHIpPy5bUHRdPz97fSxhPXQudmFyaWFudE1hcC5nZXQocikuc2xpY2UoKSxvPVtdLGw9KCgpPT4hKG58fHMucmVzcGVjdFByZWZpeD09PSExKSkoKTtmb3IobGV0W2MsZl1vZiBlKXtpZihjLmxheWVyPT09InVzZXIiKWNvbnRpbnVlO2xldCBkPWVlLnJvb3Qoe25vZGVzOltmLmNsb25lKCldfSk7Zm9yKGxldFtwLGgsYl1vZiBhKXtsZXQgdz1mdW5jdGlvbigpe3YucmF3cy5uZWVkZWRCYWNrdXB8fCh2LnJhd3MubmVlZGVkQmFja3VwPSEwLHYud2Fsa1J1bGVzKFQ9PlQucmF3cy5vcmlnaW5hbFNlbGVjdG9yPVQuc2VsZWN0b3IpKX0saz1mdW5jdGlvbihUKXtyZXR1cm4gdygpLHYuZWFjaChCPT57Qi50eXBlPT09InJ1bGUiJiYoQi5zZWxlY3RvcnM9Qi5zZWxlY3RvcnMubWFwKE49PlQoe2dldCBjbGFzc05hbWUoKXtyZXR1cm4gR28oTil9LHNlbGVjdG9yOk59KSkpfSksdn0sdj0oYj8/ZCkuY2xvbmUoKSx5PVtdLFM9aCh7Z2V0IGNvbnRhaW5lcigpe3JldHVybiB3KCksdn0sc2VwYXJhdG9yOnQudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLG1vZGlmeVNlbGVjdG9yczprLHdyYXAoVCl7bGV0IEI9di5ub2Rlczt2LnJlbW92ZUFsbCgpLFQuYXBwZW5kKEIpLHYuYXBwZW5kKFQpfSxmb3JtYXQoVCl7eS5wdXNoKHtmb3JtYXQ6VCxyZXNwZWN0UHJlZml4Omx9KX0sYXJnczppfSk7aWYoQXJyYXkuaXNBcnJheShTKSl7Zm9yKGxldFtULEJdb2YgUy5lbnRyaWVzKCkpYS5wdXNoKFt0Lm9mZnNldHMuYXBwbHlQYXJhbGxlbE9mZnNldChwLFQpLEIsdi5jbG9uZSgpXSk7Y29udGludWV9aWYodHlwZW9mIFM9PSJzdHJpbmciJiZ5LnB1c2goe2Zvcm1hdDpTLHJlc3BlY3RQcmVmaXg6bH0pLFM9PT1udWxsKWNvbnRpbnVlO3YucmF3cy5uZWVkZWRCYWNrdXAmJihkZWxldGUgdi5yYXdzLm5lZWRlZEJhY2t1cCx2LndhbGtSdWxlcyhUPT57bGV0IEI9VC5yYXdzLm9yaWdpbmFsU2VsZWN0b3I7aWYoIUJ8fChkZWxldGUgVC5yYXdzLm9yaWdpbmFsU2VsZWN0b3IsQj09PVQuc2VsZWN0b3IpKXJldHVybjtsZXQgTj1ULnNlbGVjdG9yLFI9KDAsbnMuZGVmYXVsdCkoRj0+e0Yud2Fsa0NsYXNzZXMoWT0+e1kudmFsdWU9YCR7cn0ke3QudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yfSR7WS52YWx1ZX1gfSl9KS5wcm9jZXNzU3luYyhCKTt5LnB1c2goe2Zvcm1hdDpOLnJlcGxhY2UoUiwiJiIpLHJlc3BlY3RQcmVmaXg6bH0pLFQuc2VsZWN0b3I9Qn0pKSx2Lm5vZGVzWzBdLnJhd3MudGFpbHdpbmQ9ey4uLnYubm9kZXNbMF0ucmF3cy50YWlsd2luZCxwYXJlbnRMYXllcjpjLmxheWVyfTtsZXQgRT1bey4uLmMsc29ydDp0Lm9mZnNldHMuYXBwbHlWYXJpYW50T2Zmc2V0KGMuc29ydCxwLE9iamVjdC5hc3NpZ24oaSx0LnZhcmlhbnRPcHRpb25zLmdldChyKSkpLGNvbGxlY3RlZEZvcm1hdHM6KGMuY29sbGVjdGVkRm9ybWF0cz8/W10pLmNvbmNhdCh5KX0sdi5ub2Rlc1swXV07by5wdXNoKEUpfX1yZXR1cm4gb31yZXR1cm5bXX1mdW5jdGlvbiBRbyhyLGUsdD17fSl7cmV0dXJuIWtlKHIpJiYhQXJyYXkuaXNBcnJheShyKT9bW3JdLHRdOkFycmF5LmlzQXJyYXkocik/UW8oclswXSxlLHJbMV0pOihlLmhhcyhyKXx8ZS5zZXQocixscihyKSksW2UuZ2V0KHIpLHRdKX1mdW5jdGlvbiBfXyhyKXtyZXR1cm4gQ18udGVzdChyKX1mdW5jdGlvbiBFXyhyKXtpZighci5pbmNsdWRlcygiOi8vIikpcmV0dXJuITE7dHJ5e2xldCBlPW5ldyBVUkwocik7cmV0dXJuIGUuc2NoZW1lIT09IiImJmUuaG9zdCE9PSIifWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBFaChyKXtsZXQgZT0hMDtyZXR1cm4gci53YWxrRGVjbHModD0+e2lmKCFPaCh0LnByb3AsdC52YWx1ZSkpcmV0dXJuIGU9ITEsITF9KSxlfWZ1bmN0aW9uIE9oKHIsZSl7aWYoRV8oYCR7cn06JHtlfWApKXJldHVybiExO3RyeXtyZXR1cm4gZWUucGFyc2UoYGF7JHtyfToke2V9fWApLnRvUmVzdWx0KCksITB9Y2F0Y2godCl7cmV0dXJuITF9fWZ1bmN0aW9uIE9fKHIsZSl7bGV0Wyx0LGldPXIubWF0Y2goL15cWyhbYS16QS1aMC05LV9dKyk6KFxTKylcXSQvKT8/W107aWYoaT09PXZvaWQgMHx8IV9fKHQpfHwhY3IoaSkpcmV0dXJuIG51bGw7bGV0IG49SyhpLHtwcm9wZXJ0eTp0fSk7cmV0dXJuIE9oKHQsbik/W1t7c29ydDplLm9mZnNldHMuYXJiaXRyYXJ5UHJvcGVydHkociksbGF5ZXI6InV0aWxpdGllcyIsb3B0aW9uczp7cmVzcGVjdEltcG9ydGFudDohMH19LCgpPT4oe1skbyhyKV06e1t0XTpufX0pXV06bnVsbH1mdW5jdGlvbipUXyhyLGUpe2UuY2FuZGlkYXRlUnVsZU1hcC5oYXMocikmJih5aWVsZFtlLmNhbmRpZGF0ZVJ1bGVNYXAuZ2V0KHIpLCJERUZBVUxUIl0pLHlpZWxkKmZ1bmN0aW9uKihvKXtvIT09bnVsbCYmKHlpZWxkW28sIkRFRkFVTFQiXSl9KE9fKHIsZSkpO2xldCB0PXIsaT0hMSxuPWUudGFpbHdpbmRDb25maWcucHJlZml4LHM9bi5sZW5ndGgsYT10LnN0YXJ0c1dpdGgobil8fHQuc3RhcnRzV2l0aChgLSR7bn1gKTt0W3NdPT09Ii0iJiZhJiYoaT0hMCx0PW4rdC5zbGljZShzKzEpKSxpJiZlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHQpJiYoeWllbGRbZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh0KSwiLURFRkFVTFQiXSk7Zm9yKGxldFtvLGxdb2YgeF8odCkpZS5jYW5kaWRhdGVSdWxlTWFwLmhhcyhvKSYmKHlpZWxkW2UuY2FuZGlkYXRlUnVsZU1hcC5nZXQobyksaT9gLSR7bH1gOmxdKX1mdW5jdGlvbiBSXyhyLGUpe3JldHVybiByPT09Z3Q/W2d0XTp2ZShyLGUpfWZ1bmN0aW9uKlBfKHIsZSl7Zm9yKGxldCB0IG9mIHIpdFsxXS5yYXdzLnRhaWx3aW5kPXsuLi50WzFdLnJhd3MudGFpbHdpbmQsY2xhc3NDYW5kaWRhdGU6ZSxwcmVzZXJ2ZVNvdXJjZTp0WzBdLm9wdGlvbnM/LnByZXNlcnZlU291cmNlPz8hMX0seWllbGQgdH1mdW5jdGlvbipZbyhyLGUpe2xldCB0PWUudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLFtpLC4uLm5dPVJfKHIsdCkucmV2ZXJzZSgpLHM9ITE7aS5zdGFydHNXaXRoKCIhIikmJihzPSEwLGk9aS5zbGljZSgxKSk7Zm9yKGxldCBhIG9mIFRfKGksZSkpe2xldCBvPVtdLGw9bmV3IE1hcCxbYyxmXT1hLGQ9Yy5sZW5ndGg9PT0xO2ZvcihsZXRbcCxoXW9mIGMpe2xldCBiPVtdO2lmKHR5cGVvZiBoPT0iZnVuY3Rpb24iKWZvcihsZXQgdiBvZltdLmNvbmNhdChoKGYse2lzT25seVBsdWdpbjpkfSkpKXtsZXRbeSx3XT1Rbyh2LGUucG9zdENzc05vZGVDYWNoZSk7Zm9yKGxldCBrIG9mIHkpYi5wdXNoKFt7Li4ucCxvcHRpb25zOnsuLi5wLm9wdGlvbnMsLi4ud319LGtdKX1lbHNlIGlmKGY9PT0iREVGQVVMVCJ8fGY9PT0iLURFRkFVTFQiKXtsZXQgdj1oLFt5LHddPVFvKHYsZS5wb3N0Q3NzTm9kZUNhY2hlKTtmb3IobGV0IGsgb2YgeSliLnB1c2goW3suLi5wLG9wdGlvbnM6ey4uLnAub3B0aW9ucywuLi53fX0sa10pfWlmKGIubGVuZ3RoPjApe2xldCB2PUFycmF5LmZyb20odGEocC5vcHRpb25zPy50eXBlcz8/W10sZixwLm9wdGlvbnM/P3t9LGUudGFpbHdpbmRDb25maWcpKS5tYXAoKFt5LHddKT0+dyk7di5sZW5ndGg+MCYmbC5zZXQoYix2KSxvLnB1c2goYil9fWlmKEtvKGYpKXtpZihvLmxlbmd0aD4xKXtsZXQgYj1mdW5jdGlvbih5KXtyZXR1cm4geS5sZW5ndGg9PT0xP3lbMF06eS5maW5kKHc9PntsZXQgaz1sLmdldCh3KTtyZXR1cm4gdy5zb21lKChbe29wdGlvbnM6U30sRV0pPT5FaChFKT9TLnR5cGVzLnNvbWUoKHt0eXBlOlQscHJlZmVyT25Db25mbGljdDpCfSk9PmsuaW5jbHVkZXMoVCkmJkIpOiExKX0pfSxbcCxoXT1vLnJlZHVjZSgoeSx3KT0+KHcuc29tZSgoW3tvcHRpb25zOlN9XSk9PlMudHlwZXMuc29tZSgoe3R5cGU6RX0pPT5FPT09ImFueSIpKT95WzBdLnB1c2godyk6eVsxXS5wdXNoKHcpLHkpLFtbXSxbXV0pLHY9YihoKT8/YihwKTtpZih2KW89W3ZdO2Vsc2V7bGV0IHk9by5tYXAoaz0+bmV3IFNldChbLi4ubC5nZXQoayk/P1tdXSkpO2ZvcihsZXQgayBvZiB5KWZvcihsZXQgUyBvZiBrKXtsZXQgRT0hMTtmb3IobGV0IFQgb2YgeSlrIT09VCYmVC5oYXMoUykmJihULmRlbGV0ZShTKSxFPSEwKTtFJiZrLmRlbGV0ZShTKX1sZXQgdz1bXTtmb3IobGV0W2ssU11vZiB5LmVudHJpZXMoKSlmb3IobGV0IEUgb2YgUyl7bGV0IFQ9b1trXS5tYXAoKFssQl0pPT5CKS5mbGF0KCkubWFwKEI9PkIudG9TdHJpbmcoKS5zcGxpdChgCmApLnNsaWNlKDEsLTEpLm1hcChOPT5OLnRyaW0oKSkubWFwKE49PmAgICAgICAke059YCkuam9pbihgCmApKS5qb2luKGAKCmApO3cucHVzaChgICBVc2UgXGAke3IucmVwbGFjZSgiWyIsYFske0V9OmApfVxgIGZvciBcYCR7VC50cmltKCl9XGBgKTticmVha31HLndhcm4oW2BUaGUgY2xhc3MgXGAke3J9XGAgaXMgYW1iaWd1b3VzIGFuZCBtYXRjaGVzIG11bHRpcGxlIHV0aWxpdGllcy5gLC4uLncsYElmIHRoaXMgaXMgY29udGVudCBhbmQgbm90IGEgY2xhc3MsIHJlcGxhY2UgaXQgd2l0aCBcYCR7ci5yZXBsYWNlKCJbIiwiJmxzcWI7IikucmVwbGFjZSgiXSIsIiZyc3FiOyIpfVxgIHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nLmBdKTtjb250aW51ZX19bz1vLm1hcChwPT5wLmZpbHRlcihoPT5FaChoWzFdKSkpfW89by5mbGF0KCksbz1BcnJheS5mcm9tKFBfKG8saSkpLG89a18obyxlKSxzJiYobz1TXyhvLGkpKTtmb3IobGV0IHAgb2YgbilvPUFfKHAsbyxlKTtmb3IobGV0IHAgb2YgbylwWzFdLnJhd3MudGFpbHdpbmQ9ey4uLnBbMV0ucmF3cy50YWlsd2luZCxjYW5kaWRhdGU6cn0scD1JXyhwLHtjb250ZXh0OmUsY2FuZGlkYXRlOnJ9KSxwIT09bnVsbCYmKHlpZWxkIHApfX1mdW5jdGlvbiBJXyhyLHtjb250ZXh0OmUsY2FuZGlkYXRlOnR9KXtpZighclswXS5jb2xsZWN0ZWRGb3JtYXRzKXJldHVybiByO2xldCBpPSEwLG47dHJ5e249ZHIoclswXS5jb2xsZWN0ZWRGb3JtYXRzLHtjb250ZXh0OmUsY2FuZGlkYXRlOnR9KX1jYXRjaHtyZXR1cm4gbnVsbH1sZXQgcz1lZS5yb290KHtub2RlczpbclsxXS5jbG9uZSgpXX0pO3JldHVybiBzLndhbGtSdWxlcyhhPT57aWYoIXNzKGEpKXRyeXtsZXQgbz1ycyhhLnNlbGVjdG9yLG4se2NhbmRpZGF0ZTp0LGNvbnRleHQ6ZX0pO2lmKG89PT1udWxsKXthLnJlbW92ZSgpO3JldHVybn1hLnNlbGVjdG9yPW99Y2F0Y2h7cmV0dXJuIGk9ITEsITF9fSksIWl8fHMubm9kZXMubGVuZ3RoPT09MD9udWxsOihyWzFdPXMubm9kZXNbMF0scil9ZnVuY3Rpb24gc3Mocil7cmV0dXJuIHIucGFyZW50JiZyLnBhcmVudC50eXBlPT09ImF0cnVsZSImJnIucGFyZW50Lm5hbWU9PT0ia2V5ZnJhbWVzIn1mdW5jdGlvbiBEXyhyKXtpZihyPT09ITApcmV0dXJuIGU9PntzcyhlKXx8ZS53YWxrRGVjbHModD0+e3QucGFyZW50LnR5cGU9PT0icnVsZSImJiFzcyh0LnBhcmVudCkmJih0LmltcG9ydGFudD0hMCl9KX07aWYodHlwZW9mIHI9PSJzdHJpbmciKXJldHVybiBlPT57c3MoZSl8fChlLnNlbGVjdG9ycz1lLnNlbGVjdG9ycy5tYXAodD0+aXModCxyKSkpfX1mdW5jdGlvbiBhcyhyLGUsdD0hMSl7bGV0IGk9W10sbj1EXyhlLnRhaWx3aW5kQ29uZmlnLmltcG9ydGFudCk7Zm9yKGxldCBzIG9mIHIpe2lmKGUubm90Q2xhc3NDYWNoZS5oYXMocykpY29udGludWU7aWYoZS5jYW5kaWRhdGVSdWxlQ2FjaGUuaGFzKHMpKXtpPWkuY29uY2F0KEFycmF5LmZyb20oZS5jYW5kaWRhdGVSdWxlQ2FjaGUuZ2V0KHMpKSk7Y29udGludWV9bGV0IGE9QXJyYXkuZnJvbShZbyhzLGUpKTtpZihhLmxlbmd0aD09PTApe2Uubm90Q2xhc3NDYWNoZS5hZGQocyk7Y29udGludWV9ZS5jbGFzc0NhY2hlLnNldChzLGEpO2xldCBvPWUuY2FuZGlkYXRlUnVsZUNhY2hlLmdldChzKT8/bmV3IFNldDtlLmNhbmRpZGF0ZVJ1bGVDYWNoZS5zZXQocyxvKTtmb3IobGV0IGwgb2YgYSl7bGV0W3tzb3J0OmMsb3B0aW9uczpmfSxkXT1sO2lmKGYucmVzcGVjdEltcG9ydGFudCYmbil7bGV0IGg9ZWUucm9vdCh7bm9kZXM6W2QuY2xvbmUoKV19KTtoLndhbGtSdWxlcyhuKSxkPWgubm9kZXNbMF19bGV0IHA9W2MsdD9kLmNsb25lKCk6ZF07by5hZGQocCksZS5ydWxlQ2FjaGUuYWRkKHApLGkucHVzaChwKX19cmV0dXJuIGl9ZnVuY3Rpb24gS28ocil7cmV0dXJuIHIuc3RhcnRzV2l0aCgiWyIpJiZyLmVuZHNXaXRoKCJdIil9dmFyIG5zLHZfLENfLG9zPVAoKCk9Pnt1KCk7T3QoKTtucz1wZShpdCgpKTtxbygpO0t0KCk7R24oKTtGcigpO0JlKCk7SXQoKTtWbygpO0xvKCk7QnIoKTtPaSgpO0JvKCk7enQoKTtjdCgpO1dvKCk7dl89KDAsbnMuZGVmYXVsdCkocj0+ci5maXJzdC5maWx0ZXIoKHt0eXBlOmV9KT0+ZT09PSJjbGFzcyIpLnBvcCgpLnZhbHVlKTtDXz0vXlthLXpfLV0vfSk7dmFyIFRoLFJoPVAoKCk9Pnt1KCk7VGg9e319KTtmdW5jdGlvbiBxXyhyKXt0cnl7cmV0dXJuIFRoLmNyZWF0ZUhhc2goIm1kNSIpLnVwZGF0ZShyLCJ1dGYtOCIpLmRpZ2VzdCgiYmluYXJ5Iil9Y2F0Y2goZSl7cmV0dXJuIiJ9fWZ1bmN0aW9uIFBoKHIsZSl7bGV0IHQ9ZS50b1N0cmluZygpO2lmKCF0LmluY2x1ZGVzKCJAdGFpbHdpbmQiKSlyZXR1cm4hMTtsZXQgaT1Oby5nZXQociksbj1xXyh0KSxzPWkhPT1uO3JldHVybiBOby5zZXQocixuKSxzfXZhciBJaD1QKCgpPT57dSgpO1JoKCk7SXQoKX0pO2Z1bmN0aW9uIHVzKHIpe3JldHVybihyPjBuKS0ocjwwbil9dmFyIERoPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBxaChyLGUpe2xldCB0PTBuLGk9MG47Zm9yKGxldFtuLHNdb2YgZSlyJm4mJih0PXR8bixpPWl8cyk7cmV0dXJuIHImfnR8aX12YXIgJGg9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIExoKHIpe2xldCBlPW51bGw7Zm9yKGxldCB0IG9mIHIpZT1lPz90LGU9ZT50P2U6dDtyZXR1cm4gZX1mdW5jdGlvbiAkXyhyLGUpe2xldCB0PXIubGVuZ3RoLGk9ZS5sZW5ndGgsbj10PGk/dDppO2ZvcihsZXQgcz0wO3M8bjtzKyspe2xldCBhPXIuY2hhckNvZGVBdChzKS1lLmNoYXJDb2RlQXQocyk7aWYoYSE9PTApcmV0dXJuIGF9cmV0dXJuIHQtaX12YXIgWG8sTWg9UCgoKT0+e3UoKTtEaCgpOyRoKCk7WG89Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm9mZnNldHM9e2RlZmF1bHRzOjBuLGJhc2U6MG4sY29tcG9uZW50czowbix1dGlsaXRpZXM6MG4sdmFyaWFudHM6MG4sdXNlcjowbn0sdGhpcy5sYXllclBvc2l0aW9ucz17ZGVmYXVsdHM6MG4sYmFzZToxbixjb21wb25lbnRzOjJuLHV0aWxpdGllczozbix1c2VyOjRuLHZhcmlhbnRzOjVufSx0aGlzLnJlc2VydmVkVmFyaWFudEJpdHM9MG4sdGhpcy52YXJpYW50T2Zmc2V0cz1uZXcgTWFwfWNyZWF0ZShlKXtyZXR1cm57bGF5ZXI6ZSxwYXJlbnRMYXllcjplLGFyYml0cmFyeTowbix2YXJpYW50czowbixwYXJhbGxlbEluZGV4OjBuLGluZGV4OnRoaXMub2Zmc2V0c1tlXSsrLHByb3BlcnR5T2Zmc2V0OjBuLHByb3BlcnR5OiIiLG9wdGlvbnM6W119fWFyYml0cmFyeVByb3BlcnR5KGUpe3JldHVybnsuLi50aGlzLmNyZWF0ZSgidXRpbGl0aWVzIiksYXJiaXRyYXJ5OjFuLHByb3BlcnR5OmV9fWZvclZhcmlhbnQoZSx0PTApe2xldCBpPXRoaXMudmFyaWFudE9mZnNldHMuZ2V0KGUpO2lmKGk9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBvZmZzZXQgZm9yIHVua25vd24gdmFyaWFudCAke2V9YCk7cmV0dXJuey4uLnRoaXMuY3JlYXRlKCJ2YXJpYW50cyIpLHZhcmlhbnRzOmk8PEJpZ0ludCh0KX19YXBwbHlWYXJpYW50T2Zmc2V0KGUsdCxpKXtyZXR1cm4gaS52YXJpYW50PXQudmFyaWFudHMsey4uLmUsbGF5ZXI6InZhcmlhbnRzIixwYXJlbnRMYXllcjplLmxheWVyPT09InZhcmlhbnRzIj9lLnBhcmVudExheWVyOmUubGF5ZXIsdmFyaWFudHM6ZS52YXJpYW50c3x0LnZhcmlhbnRzLG9wdGlvbnM6aS5zb3J0P1tdLmNvbmNhdChpLGUub3B0aW9ucyk6ZS5vcHRpb25zLHBhcmFsbGVsSW5kZXg6TGgoW2UucGFyYWxsZWxJbmRleCx0LnBhcmFsbGVsSW5kZXhdKX19YXBwbHlQYXJhbGxlbE9mZnNldChlLHQpe3JldHVybnsuLi5lLHBhcmFsbGVsSW5kZXg6QmlnSW50KHQpfX1yZWNvcmRWYXJpYW50cyhlLHQpe2ZvcihsZXQgaSBvZiBlKXRoaXMucmVjb3JkVmFyaWFudChpLHQoaSkpfXJlY29yZFZhcmlhbnQoZSx0PTEpe3JldHVybiB0aGlzLnZhcmlhbnRPZmZzZXRzLnNldChlLDFuPDx0aGlzLnJlc2VydmVkVmFyaWFudEJpdHMpLHRoaXMucmVzZXJ2ZWRWYXJpYW50Qml0cys9QmlnSW50KHQpLHsuLi50aGlzLmNyZWF0ZSgidmFyaWFudHMiKSx2YXJpYW50czp0aGlzLnZhcmlhbnRPZmZzZXRzLmdldChlKX19Y29tcGFyZShlLHQpe2lmKGUubGF5ZXIhPT10LmxheWVyKXJldHVybiB0aGlzLmxheWVyUG9zaXRpb25zW2UubGF5ZXJdLXRoaXMubGF5ZXJQb3NpdGlvbnNbdC5sYXllcl07aWYoZS5wYXJlbnRMYXllciE9PXQucGFyZW50TGF5ZXIpcmV0dXJuIHRoaXMubGF5ZXJQb3NpdGlvbnNbZS5wYXJlbnRMYXllcl0tdGhpcy5sYXllclBvc2l0aW9uc1t0LnBhcmVudExheWVyXTtmb3IobGV0IGkgb2YgZS5vcHRpb25zKWZvcihsZXQgbiBvZiB0Lm9wdGlvbnMpe2lmKGkuaWQhPT1uLmlkfHwhaS5zb3J0fHwhbi5zb3J0KWNvbnRpbnVlO2xldCBzPUxoKFtpLnZhcmlhbnQsbi52YXJpYW50XSk/PzBuLGE9fihzfHMtMW4pLG89ZS52YXJpYW50cyZhLGw9dC52YXJpYW50cyZhO2lmKG8hPT1sKWNvbnRpbnVlO2xldCBjPWkuc29ydCh7dmFsdWU6aS52YWx1ZSxtb2RpZmllcjppLm1vZGlmaWVyfSx7dmFsdWU6bi52YWx1ZSxtb2RpZmllcjpuLm1vZGlmaWVyfSk7aWYoYyE9PTApcmV0dXJuIGN9cmV0dXJuIGUudmFyaWFudHMhPT10LnZhcmlhbnRzP2UudmFyaWFudHMtdC52YXJpYW50czplLnBhcmFsbGVsSW5kZXghPT10LnBhcmFsbGVsSW5kZXg/ZS5wYXJhbGxlbEluZGV4LXQucGFyYWxsZWxJbmRleDplLmFyYml0cmFyeSE9PXQuYXJiaXRyYXJ5P2UuYXJiaXRyYXJ5LXQuYXJiaXRyYXJ5OmUucHJvcGVydHlPZmZzZXQhPT10LnByb3BlcnR5T2Zmc2V0P2UucHJvcGVydHlPZmZzZXQtdC5wcm9wZXJ0eU9mZnNldDplLmluZGV4LXQuaW5kZXh9cmVjYWxjdWxhdGVWYXJpYW50T2Zmc2V0cygpe2xldCBlPUFycmF5LmZyb20odGhpcy52YXJpYW50T2Zmc2V0cy5lbnRyaWVzKCkpLmZpbHRlcigoW25dKT0+bi5zdGFydHNXaXRoKCJbIikpLnNvcnQoKFtuXSxbc10pPT4kXyhuLHMpKSx0PWUubWFwKChbLG5dKT0+bikuc29ydCgobixzKT0+dXMobi1zKSk7cmV0dXJuIGUubWFwKChbLG5dLHMpPT5bbix0W3NdXSkuZmlsdGVyKChbbixzXSk9Pm4hPT1zKX1yZW1hcEFyYml0cmFyeVZhcmlhbnRPZmZzZXRzKGUpe2xldCB0PXRoaXMucmVjYWxjdWxhdGVWYXJpYW50T2Zmc2V0cygpO3JldHVybiB0Lmxlbmd0aD09PTA/ZTplLm1hcChpPT57bGV0W24sc109aTtyZXR1cm4gbj17Li4ubix2YXJpYW50czpxaChuLnZhcmlhbnRzLHQpfSxbbixzXX0pfXNvcnRBcmJpdHJhcnlQcm9wZXJ0aWVzKGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldFthXW9mIGUpYS5hcmJpdHJhcnk9PT0xbiYmdC5hZGQoYS5wcm9wZXJ0eSk7aWYodC5zaXplPT09MClyZXR1cm4gZTtsZXQgaT1BcnJheS5mcm9tKHQpLnNvcnQoKSxuPW5ldyBNYXAscz0xbjtmb3IobGV0IGEgb2YgaSluLnNldChhLHMrKyk7cmV0dXJuIGUubWFwKGE9PntsZXRbbyxsXT1hO3JldHVybiBvPXsuLi5vLHByb3BlcnR5T2Zmc2V0Om4uZ2V0KG8ucHJvcGVydHkpPz8wbn0sW28sbF19KX1zb3J0KGUpe3JldHVybiBlPXRoaXMucmVtYXBBcmJpdHJhcnlWYXJpYW50T2Zmc2V0cyhlKSxlPXRoaXMuc29ydEFyYml0cmFyeVByb3BlcnRpZXMoZSksZS5zb3J0KChbdF0sW2ldKT0+dXModGhpcy5jb21wYXJlKHQsaSkpKX19fSk7ZnVuY3Rpb24gdGwocixlKXtsZXQgdD1yLnRhaWx3aW5kQ29uZmlnLnByZWZpeDtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0K2V9ZnVuY3Rpb24gQmgoe3R5cGU6cj0iYW55IiwuLi5lfSl7bGV0IHQ9W10uY29uY2F0KHIpO3JldHVybnsuLi5lLHR5cGVzOnQubWFwKGk9PkFycmF5LmlzQXJyYXkoaSk/e3R5cGU6aVswXSwuLi5pWzFdfTp7dHlwZTppLHByZWZlck9uQ29uZmxpY3Q6ITF9KX19ZnVuY3Rpb24gTF8ocil7bGV0IGU9W10sdD0iIixpPTA7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspe2xldCBzPXJbbl07aWYocz09PSJcXCIpdCs9IlxcIityWysrbl07ZWxzZSBpZihzPT09InsiKSsraSxlLnB1c2godC50cmltKCkpLHQ9IiI7ZWxzZSBpZihzPT09In0iKXtpZigtLWk8MCl0aHJvdyBuZXcgRXJyb3IoIllvdXIgeyBhbmQgfSBhcmUgdW5iYWxhbmNlZC4iKTtlLnB1c2godC50cmltKCkpLHQ9IiJ9ZWxzZSB0Kz1zfXJldHVybiB0Lmxlbmd0aD4wJiZlLnB1c2godC50cmltKCkpLGU9ZS5maWx0ZXIobj0+biE9PSIiKSxlfWZ1bmN0aW9uIE1fKHIsZSx7YmVmb3JlOnQ9W119PXt9KXtpZih0PVtdLmNvbmNhdCh0KSx0Lmxlbmd0aDw9MCl7ci5wdXNoKGUpO3JldHVybn1sZXQgaT1yLmxlbmd0aC0xO2ZvcihsZXQgbiBvZiB0KXtsZXQgcz1yLmluZGV4T2Yobik7cyE9PS0xJiYoaT1NYXRoLm1pbihpLHMpKX1yLnNwbGljZShpLDAsZSl9ZnVuY3Rpb24gRmgocil7cmV0dXJuIEFycmF5LmlzQXJyYXkocik/ci5mbGF0TWFwKGU9PiFBcnJheS5pc0FycmF5KGUpJiYha2UoZSk/ZTpscihlKSk6RmgoW3JdKX1mdW5jdGlvbiBOXyhyLGUpe3JldHVybigwLFpvLmRlZmF1bHQpKGk9PntsZXQgbj1bXTtyZXR1cm4gZSYmZShpKSxpLndhbGtDbGFzc2VzKHM9PntuLnB1c2gocy52YWx1ZSl9KSxufSkudHJhbnNmb3JtU3luYyhyKX1mdW5jdGlvbiBCXyhyKXtyLndhbGtQc2V1ZG9zKGU9PntlLnZhbHVlPT09Ijpub3QiJiZlLnJlbW92ZSgpfSl9ZnVuY3Rpb24gRl8ocixlPXtjb250YWluc05vbk9uRGVtYW5kYWJsZTohMX0sdD0wKXtsZXQgaT1bXSxuPVtdO3IudHlwZT09PSJydWxlIj9uLnB1c2goLi4uci5zZWxlY3RvcnMpOnIudHlwZT09PSJhdHJ1bGUiJiZyLndhbGtSdWxlcyhzPT5uLnB1c2goLi4ucy5zZWxlY3RvcnMpKTtmb3IobGV0IHMgb2Ygbil7bGV0IGE9Tl8ocyxCXyk7YS5sZW5ndGg9PT0wJiYoZS5jb250YWluc05vbk9uRGVtYW5kYWJsZT0hMCk7Zm9yKGxldCBvIG9mIGEpaS5wdXNoKG8pfXJldHVybiB0PT09MD9bZS5jb250YWluc05vbk9uRGVtYW5kYWJsZXx8aS5sZW5ndGg9PT0wLGldOml9ZnVuY3Rpb24gZnMocil7cmV0dXJuIEZoKHIpLmZsYXRNYXAoZT0+e2xldCB0PW5ldyBNYXAsW2ksbl09Rl8oZSk7cmV0dXJuIGkmJm4udW5zaGlmdChndCksbi5tYXAocz0+KHQuaGFzKGUpfHx0LnNldChlLGUpLFtzLHQuZ2V0KGUpXSkpfSl9ZnVuY3Rpb24gbHMocil7cmV0dXJuIHIuc3RhcnRzV2l0aCgiQCIpfHxyLmluY2x1ZGVzKCImIil9ZnVuY3Rpb24gUmkocil7cj1yLnJlcGxhY2UoL1xuKy9nLCIiKS5yZXBsYWNlKC9cc3sxLH0vZywiICIpLnRyaW0oKTtsZXQgZT1MXyhyKS5tYXAodD0+e2lmKCF0LnN0YXJ0c1dpdGgoIkAiKSlyZXR1cm4oe2Zvcm1hdDpzfSk9PnModCk7bGV0WyxpLG5dPS9AKFxTKikoIC4rfFsoe10uKik/L2cuZXhlYyh0KTtyZXR1cm4oe3dyYXA6c30pPT5zKGVlLmF0UnVsZSh7bmFtZTppLHBhcmFtczpuPy50cmltKCk/PyIifSkpfSkucmV2ZXJzZSgpO3JldHVybiB0PT57Zm9yKGxldCBpIG9mIGUpaSh0KX19ZnVuY3Rpb24gal8ocixlLHt2YXJpYW50TGlzdDp0LHZhcmlhbnRNYXA6aSxvZmZzZXRzOm4sY2xhc3NMaXN0OnN9KXtmdW5jdGlvbiBhKHAsaCl7cmV0dXJuIHA/KDAsTmguZGVmYXVsdCkocixwLGgpOnJ9ZnVuY3Rpb24gbyhwKXtyZXR1cm4gdXIoci5wcmVmaXgscCl9ZnVuY3Rpb24gbChwLGgpe3JldHVybiBwPT09Z3Q/Z3Q6aC5yZXNwZWN0UHJlZml4P2UudGFpbHdpbmRDb25maWcucHJlZml4K3A6cH1mdW5jdGlvbiBjKHAsaCxiPXt9KXtsZXQgdj1rdChwKSx5PWEoWyJ0aGVtZSIsLi4udl0saCk7cmV0dXJuIG10KHZbMF0pKHksYil9bGV0IGY9MCxkPXtwb3N0Y3NzOmVlLHByZWZpeDpvLGU6VGUsY29uZmlnOmEsdGhlbWU6Yyxjb3JlUGx1Z2luczpwPT5BcnJheS5pc0FycmF5KHIuY29yZVBsdWdpbnMpP3IuY29yZVBsdWdpbnMuaW5jbHVkZXMocCk6YShbImNvcmVQbHVnaW5zIixwXSwhMCksdmFyaWFudHM6KCk9PltdLGFkZEJhc2UocCl7Zm9yKGxldFtoLGJdb2YgZnMocCkpe2xldCB2PWwoaCx7fSkseT1uLmNyZWF0ZSgiYmFzZSIpO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModil8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodixbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh2KS5wdXNoKFt7c29ydDp5LGxheWVyOiJiYXNlIn0sYl0pfX0sYWRkRGVmYXVsdHMocCxoKXtsZXQgYj17W2BAZGVmYXVsdHMgJHtwfWBdOmh9O2ZvcihsZXRbdix5XW9mIGZzKGIpKXtsZXQgdz1sKHYse30pO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKFt7c29ydDpuLmNyZWF0ZSgiZGVmYXVsdHMiKSxsYXllcjoiZGVmYXVsdHMifSx5XSl9fSxhZGRDb21wb25lbnRzKHAsaCl7aD1PYmplY3QuYXNzaWduKHt9LHtwcmVzZXJ2ZVNvdXJjZTohMSxyZXNwZWN0UHJlZml4OiEwLHJlc3BlY3RJbXBvcnRhbnQ6ITF9LEFycmF5LmlzQXJyYXkoaCk/e306aCk7Zm9yKGxldFt2LHldb2YgZnMocCkpe2xldCB3PWwodixoKTtzLmFkZCh3KSxlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHcpfHxlLmNhbmRpZGF0ZVJ1bGVNYXAuc2V0KHcsW10pLGUuY2FuZGlkYXRlUnVsZU1hcC5nZXQodykucHVzaChbe3NvcnQ6bi5jcmVhdGUoImNvbXBvbmVudHMiKSxsYXllcjoiY29tcG9uZW50cyIsb3B0aW9uczpofSx5XSl9fSxhZGRVdGlsaXRpZXMocCxoKXtoPU9iamVjdC5hc3NpZ24oe30se3ByZXNlcnZlU291cmNlOiExLHJlc3BlY3RQcmVmaXg6ITAscmVzcGVjdEltcG9ydGFudDohMH0sQXJyYXkuaXNBcnJheShoKT97fTpoKTtmb3IobGV0W3YseV1vZiBmcyhwKSl7bGV0IHc9bCh2LGgpO3MuYWRkKHcpLGUuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKFt7c29ydDpuLmNyZWF0ZSgidXRpbGl0aWVzIiksbGF5ZXI6InV0aWxpdGllcyIsb3B0aW9uczpofSx5XSl9fSxtYXRjaFV0aWxpdGllczpmdW5jdGlvbihwLGgpe2g9Qmgoey4uLntyZXNwZWN0UHJlZml4OiEwLHJlc3BlY3RJbXBvcnRhbnQ6ITAsbW9kaWZpZXJzOiExfSwuLi5ofSk7bGV0IHY9bi5jcmVhdGUoInV0aWxpdGllcyIpO2ZvcihsZXQgeSBpbiBwKXtsZXQgUz1mdW5jdGlvbihULHtpc09ubHlQbHVnaW46Qn0pe2xldFtOLFIsRl09ZWEoaC50eXBlcyxULGgscik7aWYoTj09PXZvaWQgMClyZXR1cm5bXTtpZighaC50eXBlcy5zb21lKCh7dHlwZTpVfSk9PlU9PT1SKSlpZihCKUcud2FybihbYFVubmVjZXNzYXJ5IHR5cGVoaW50IFxgJHtSfVxgIGluIFxgJHt5fS0ke1R9XGAuYCxgWW91IGNhbiBzYWZlbHkgdXBkYXRlIGl0IHRvIFxgJHt5fS0ke1QucmVwbGFjZShSKyI6IiwiIil9XGAuYF0pO2Vsc2UgcmV0dXJuW107aWYoIWNyKE4pKXJldHVybltdO2xldCBZPXtnZXQgbW9kaWZpZXIoKXtyZXR1cm4gaC5tb2RpZmllcnN8fEcud2FybihgbW9kaWZpZXItdXNlZC13aXRob3V0LW9wdGlvbnMtZm9yLSR7eX1gLFsiWW91ciBwbHVnaW4gbXVzdCBzZXQgYG1vZGlmaWVyczogdHJ1ZWAgaW4gaXRzIG9wdGlvbnMgdG8gc3VwcG9ydCBtb2RpZmllcnMuIl0pLEZ9fSxfPXdlKHIsImdlbmVyYWxpemVkTW9kaWZpZXJzIik7cmV0dXJuW10uY29uY2F0KF8/ayhOLFkpOmsoTikpLmZpbHRlcihCb29sZWFuKS5tYXAoVT0+KHtbUW4oeSxUKV06VX0pKX0sdz1sKHksaCksaz1wW3ldO3MuYWRkKFt3LGhdKTtsZXQgRT1be3NvcnQ6dixsYXllcjoidXRpbGl0aWVzIixvcHRpb25zOmh9LFNdO2UuY2FuZGlkYXRlUnVsZU1hcC5oYXModyl8fGUuY2FuZGlkYXRlUnVsZU1hcC5zZXQodyxbXSksZS5jYW5kaWRhdGVSdWxlTWFwLmdldCh3KS5wdXNoKEUpfX0sbWF0Y2hDb21wb25lbnRzOmZ1bmN0aW9uKHAsaCl7aD1CaCh7Li4ue3Jlc3BlY3RQcmVmaXg6ITAscmVzcGVjdEltcG9ydGFudDohMSxtb2RpZmllcnM6ITF9LC4uLmh9KTtsZXQgdj1uLmNyZWF0ZSgiY29tcG9uZW50cyIpO2ZvcihsZXQgeSBpbiBwKXtsZXQgUz1mdW5jdGlvbihULHtpc09ubHlQbHVnaW46Qn0pe2xldFtOLFIsRl09ZWEoaC50eXBlcyxULGgscik7aWYoTj09PXZvaWQgMClyZXR1cm5bXTtpZighaC50eXBlcy5zb21lKCh7dHlwZTpVfSk9PlU9PT1SKSlpZihCKUcud2FybihbYFVubmVjZXNzYXJ5IHR5cGVoaW50IFxgJHtSfVxgIGluIFxgJHt5fS0ke1R9XGAuYCxgWW91IGNhbiBzYWZlbHkgdXBkYXRlIGl0IHRvIFxgJHt5fS0ke1QucmVwbGFjZShSKyI6IiwiIil9XGAuYF0pO2Vsc2UgcmV0dXJuW107aWYoIWNyKE4pKXJldHVybltdO2xldCBZPXtnZXQgbW9kaWZpZXIoKXtyZXR1cm4gaC5tb2RpZmllcnN8fEcud2FybihgbW9kaWZpZXItdXNlZC13aXRob3V0LW9wdGlvbnMtZm9yLSR7eX1gLFsiWW91ciBwbHVnaW4gbXVzdCBzZXQgYG1vZGlmaWVyczogdHJ1ZWAgaW4gaXRzIG9wdGlvbnMgdG8gc3VwcG9ydCBtb2RpZmllcnMuIl0pLEZ9fSxfPXdlKHIsImdlbmVyYWxpemVkTW9kaWZpZXJzIik7cmV0dXJuW10uY29uY2F0KF8/ayhOLFkpOmsoTikpLmZpbHRlcihCb29sZWFuKS5tYXAoVT0+KHtbUW4oeSxUKV06VX0pKX0sdz1sKHksaCksaz1wW3ldO3MuYWRkKFt3LGhdKTtsZXQgRT1be3NvcnQ6dixsYXllcjoiY29tcG9uZW50cyIsb3B0aW9uczpofSxTXTtlLmNhbmRpZGF0ZVJ1bGVNYXAuaGFzKHcpfHxlLmNhbmRpZGF0ZVJ1bGVNYXAuc2V0KHcsW10pLGUuY2FuZGlkYXRlUnVsZU1hcC5nZXQodykucHVzaChFKX19LGFkZFZhcmlhbnQocCxoLGI9e30pe2g9W10uY29uY2F0KGgpLm1hcCh2PT57aWYodHlwZW9mIHYhPSJzdHJpbmciKXJldHVybih5PXt9KT0+e2xldHthcmdzOncsbW9kaWZ5U2VsZWN0b3JzOmssY29udGFpbmVyOlMsc2VwYXJhdG9yOkUsd3JhcDpULGZvcm1hdDpCfT15LE49dihPYmplY3QuYXNzaWduKHttb2RpZnlTZWxlY3RvcnM6ayxjb250YWluZXI6UyxzZXBhcmF0b3I6RX0sYi50eXBlPT09Sm8uTWF0Y2hWYXJpYW50JiZ7YXJnczp3LHdyYXA6VCxmb3JtYXQ6Qn0pKTtpZih0eXBlb2YgTj09InN0cmluZyImJiFscyhOKSl0aHJvdyBuZXcgRXJyb3IoYFlvdXIgY3VzdG9tIHZhcmlhbnQgXGAke3B9XGAgaGFzIGFuIGludmFsaWQgZm9ybWF0IHN0cmluZy4gTWFrZSBzdXJlIGl0J3MgYW4gYXQtcnVsZSBvciBjb250YWlucyBhIFxgJlxgIHBsYWNlaG9sZGVyLmApO3JldHVybiBBcnJheS5pc0FycmF5KE4pP04uZmlsdGVyKFI9PnR5cGVvZiBSPT0ic3RyaW5nIikubWFwKFI9PlJpKFIpKTpOJiZ0eXBlb2YgTj09InN0cmluZyImJlJpKE4pKHkpfTtpZighbHModikpdGhyb3cgbmV3IEVycm9yKGBZb3VyIGN1c3RvbSB2YXJpYW50IFxgJHtwfVxgIGhhcyBhbiBpbnZhbGlkIGZvcm1hdCBzdHJpbmcuIE1ha2Ugc3VyZSBpdCdzIGFuIGF0LXJ1bGUgb3IgY29udGFpbnMgYSBcYCZcYCBwbGFjZWhvbGRlci5gKTtyZXR1cm4gUmkodil9KSxNXyh0LHAsYiksaS5zZXQocCxoKSxlLnZhcmlhbnRPcHRpb25zLnNldChwLGIpfSxtYXRjaFZhcmlhbnQocCxoLGIpe2xldCB2PWI/LmlkPz8rK2YseT1wPT09IkAiLHc9d2UociwiZ2VuZXJhbGl6ZWRNb2RpZmllcnMiKTtmb3IobGV0W1MsRV1vZiBPYmplY3QuZW50cmllcyhiPy52YWx1ZXM/P3t9KSlTIT09IkRFRkFVTFQiJiZkLmFkZFZhcmlhbnQoeT9gJHtwfSR7U31gOmAke3B9LSR7U31gLCh7YXJnczpULGNvbnRhaW5lcjpCfSk9PmgoRSx3P3ttb2RpZmllcjpUPy5tb2RpZmllcixjb250YWluZXI6Qn06e2NvbnRhaW5lcjpCfSksey4uLmIsdmFsdWU6RSxpZDp2LHR5cGU6Sm8uTWF0Y2hWYXJpYW50LHZhcmlhbnRJbmZvOmVsLkJhc2V9KTtsZXQgaz0iREVGQVVMVCJpbihiPy52YWx1ZXM/P3t9KTtkLmFkZFZhcmlhbnQocCwoe2FyZ3M6Uyxjb250YWluZXI6RX0pPT5TPy52YWx1ZT09PVRpJiYhaz9udWxsOmgoUz8udmFsdWU9PT1UaT9iLnZhbHVlcy5ERUZBVUxUOlM/LnZhbHVlPz8odHlwZW9mIFM9PSJzdHJpbmciP1M6IiIpLHc/e21vZGlmaWVyOlM/Lm1vZGlmaWVyLGNvbnRhaW5lcjpFfTp7Y29udGFpbmVyOkV9KSx7Li4uYixpZDp2LHR5cGU6Sm8uTWF0Y2hWYXJpYW50LHZhcmlhbnRJbmZvOmVsLkR5bmFtaWN9KX19O3JldHVybiBkfWZ1bmN0aW9uIGNzKHIpe3JldHVybiBybC5oYXMocil8fHJsLnNldChyLG5ldyBNYXApLHJsLmdldChyKX1mdW5jdGlvbiBqaChyLGUpe2xldCB0PSExLGk9bmV3IE1hcDtmb3IobGV0IG4gb2Ygcil7aWYoIW4pY29udGludWU7bGV0IHM9b2EucGFyc2UobiksYT1zLmhhc2g/cy5ocmVmLnJlcGxhY2Uocy5oYXNoLCIiKTpzLmhyZWY7YT1zLnNlYXJjaD9hLnJlcGxhY2Uocy5zZWFyY2gsIiIpOmE7bGV0IG89YmUuc3RhdFN5bmMoZGVjb2RlVVJJQ29tcG9uZW50KGEpLHt0aHJvd0lmTm9FbnRyeTohMX0pPy5tdGltZU1zOyFvfHwoKCFlLmhhcyhuKXx8bz5lLmdldChuKSkmJih0PSEwKSxpLnNldChuLG8pKX1yZXR1cm5bdCxpXX1mdW5jdGlvbiB6aChyKXtyLndhbGtBdFJ1bGVzKGU9PntbInJlc3BvbnNpdmUiLCJ2YXJpYW50cyJdLmluY2x1ZGVzKGUubmFtZSkmJih6aChlKSxlLmJlZm9yZShlLm5vZGVzKSxlLnJlbW92ZSgpKX0pfWZ1bmN0aW9uIHpfKHIpe2xldCBlPVtdO3JldHVybiByLmVhY2godD0+e3QudHlwZT09PSJhdHJ1bGUiJiZbInJlc3BvbnNpdmUiLCJ2YXJpYW50cyJdLmluY2x1ZGVzKHQubmFtZSkmJih0Lm5hbWU9ImxheWVyIix0LnBhcmFtcz0idXRpbGl0aWVzIil9KSxyLndhbGtBdFJ1bGVzKCJsYXllciIsdD0+e2lmKHpoKHQpLHQucGFyYW1zPT09ImJhc2UiKXtmb3IobGV0IGkgb2YgdC5ub2RlcyllLnB1c2goZnVuY3Rpb24oe2FkZEJhc2U6bn0pe24oaSx7cmVzcGVjdFByZWZpeDohMX0pfSk7dC5yZW1vdmUoKX1lbHNlIGlmKHQucGFyYW1zPT09ImNvbXBvbmVudHMiKXtmb3IobGV0IGkgb2YgdC5ub2RlcyllLnB1c2goZnVuY3Rpb24oe2FkZENvbXBvbmVudHM6bn0pe24oaSx7cmVzcGVjdFByZWZpeDohMSxwcmVzZXJ2ZVNvdXJjZTohMH0pfSk7dC5yZW1vdmUoKX1lbHNlIGlmKHQucGFyYW1zPT09InV0aWxpdGllcyIpe2ZvcihsZXQgaSBvZiB0Lm5vZGVzKWUucHVzaChmdW5jdGlvbih7YWRkVXRpbGl0aWVzOm59KXtuKGkse3Jlc3BlY3RQcmVmaXg6ITEscHJlc2VydmVTb3VyY2U6ITB9KX0pO3QucmVtb3ZlKCl9fSksZX1mdW5jdGlvbiBVXyhyLGUpe2xldCB0PU9iamVjdC5lbnRyaWVzKHsuLi5zZSwuLi55aH0pLm1hcCgoW2wsY10pPT5yLnRhaWx3aW5kQ29uZmlnLmNvcmVQbHVnaW5zLmluY2x1ZGVzKGwpP2M6bnVsbCkuZmlsdGVyKEJvb2xlYW4pLGk9ci50YWlsd2luZENvbmZpZy5wbHVnaW5zLm1hcChsPT4obC5fX2lzT3B0aW9uc0Z1bmN0aW9uJiYobD1sKCkpLHR5cGVvZiBsPT0iZnVuY3Rpb24iP2w6bC5oYW5kbGVyKSksbj16XyhlKSxzPVtzZS5jaGlsZFZhcmlhbnQsc2UucHNldWRvRWxlbWVudFZhcmlhbnRzLHNlLnBzZXVkb0NsYXNzVmFyaWFudHMsc2UuaGFzVmFyaWFudHMsc2UuYXJpYVZhcmlhbnRzLHNlLmRhdGFWYXJpYW50c10sYT1bc2Uuc3VwcG9ydHNWYXJpYW50cyxzZS5yZWR1Y2VkTW90aW9uVmFyaWFudHMsc2UucHJlZmVyc0NvbnRyYXN0VmFyaWFudHMsc2Uuc2NyZWVuVmFyaWFudHMsc2Uub3JpZW50YXRpb25WYXJpYW50cyxzZS5kaXJlY3Rpb25WYXJpYW50cyxzZS5kYXJrVmFyaWFudHMsc2UuZm9yY2VkQ29sb3JzVmFyaWFudHMsc2UucHJpbnRWYXJpYW50XTtyZXR1cm4oci50YWlsd2luZENvbmZpZy5kYXJrTW9kZT09PSJjbGFzcyJ8fEFycmF5LmlzQXJyYXkoci50YWlsd2luZENvbmZpZy5kYXJrTW9kZSkmJnIudGFpbHdpbmRDb25maWcuZGFya01vZGVbMF09PT0iY2xhc3MiKSYmKGE9W3NlLnN1cHBvcnRzVmFyaWFudHMsc2UucmVkdWNlZE1vdGlvblZhcmlhbnRzLHNlLnByZWZlcnNDb250cmFzdFZhcmlhbnRzLHNlLmRhcmtWYXJpYW50cyxzZS5zY3JlZW5WYXJpYW50cyxzZS5vcmllbnRhdGlvblZhcmlhbnRzLHNlLmRpcmVjdGlvblZhcmlhbnRzLHNlLmZvcmNlZENvbG9yc1ZhcmlhbnRzLHNlLnByaW50VmFyaWFudF0pLFsuLi50LC4uLnMsLi4uaSwuLi5hLC4uLm5dfWZ1bmN0aW9uIFZfKHIsZSl7bGV0IHQ9W10saT1uZXcgTWFwO2UudmFyaWFudE1hcD1pO2xldCBuPW5ldyBYbztlLm9mZnNldHM9bjtsZXQgcz1uZXcgU2V0LGE9al8oZS50YWlsd2luZENvbmZpZyxlLHt2YXJpYW50TGlzdDp0LHZhcmlhbnRNYXA6aSxvZmZzZXRzOm4sY2xhc3NMaXN0OnN9KTtmb3IobGV0IGYgb2YgcilpZihBcnJheS5pc0FycmF5KGYpKWZvcihsZXQgZCBvZiBmKWQoYSk7ZWxzZSBmPy4oYSk7bi5yZWNvcmRWYXJpYW50cyh0LGY9PmkuZ2V0KGYpLmxlbmd0aCk7Zm9yKGxldFtmLGRdb2YgaS5lbnRyaWVzKCkpZS52YXJpYW50TWFwLnNldChmLGQubWFwKChwLGgpPT5bbi5mb3JWYXJpYW50KGYsaCkscF0pKTtsZXQgbz0oZS50YWlsd2luZENvbmZpZy5zYWZlbGlzdD8/W10pLmZpbHRlcihCb29sZWFuKTtpZihvLmxlbmd0aD4wKXtsZXQgZj1bXTtmb3IobGV0IGQgb2Ygbyl7aWYodHlwZW9mIGQ9PSJzdHJpbmciKXtlLmNoYW5nZWRDb250ZW50LnB1c2goe2NvbnRlbnQ6ZCxleHRlbnNpb246Imh0bWwifSk7Y29udGludWV9aWYoZCBpbnN0YW5jZW9mIFJlZ0V4cCl7Ry53YXJuKCJyb290LXJlZ2V4IixbIlJlZ3VsYXIgZXhwcmVzc2lvbnMgaW4gYHNhZmVsaXN0YCB3b3JrIGRpZmZlcmVudGx5IGluIFRhaWx3aW5kIENTUyB2My4wLiIsIlVwZGF0ZSB5b3VyIGBzYWZlbGlzdGAgY29uZmlndXJhdGlvbiB0byBlbGltaW5hdGUgdGhpcyB3YXJuaW5nLiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvY29udGVudC1jb25maWd1cmF0aW9uI3NhZmVsaXN0aW5nLWNsYXNzZXMiXSk7Y29udGludWV9Zi5wdXNoKGQpfWlmKGYubGVuZ3RoPjApe2xldCBkPW5ldyBNYXAscD1lLnRhaWx3aW5kQ29uZmlnLnByZWZpeC5sZW5ndGgsaD1mLnNvbWUoYj0+Yi5wYXR0ZXJuLnNvdXJjZS5pbmNsdWRlcygiISIpKTtmb3IobGV0IGIgb2Ygcyl7bGV0IHY9QXJyYXkuaXNBcnJheShiKT8oKCk9PntsZXRbeSx3XT1iLFM9T2JqZWN0LmtleXModz8udmFsdWVzPz97fSkubWFwKEU9PkVpKHksRSkpO3JldHVybiB3Py5zdXBwb3J0c05lZ2F0aXZlVmFsdWVzJiYoUz1bLi4uUywuLi5TLm1hcChFPT4iLSIrRSldLFM9Wy4uLlMsLi4uUy5tYXAoRT0+RS5zbGljZSgwLHApKyItIitFLnNsaWNlKHApKV0pLHcudHlwZXMuc29tZSgoe3R5cGU6RX0pPT5FPT09ImNvbG9yIikmJihTPVsuLi5TLC4uLlMuZmxhdE1hcChFPT5PYmplY3Qua2V5cyhlLnRhaWx3aW5kQ29uZmlnLnRoZW1lLm9wYWNpdHkpLm1hcChUPT5gJHtFfS8ke1R9YCkpXSksaCYmdz8ucmVzcGVjdEltcG9ydGFudCYmKFM9Wy4uLlMsLi4uUy5tYXAoRT0+IiEiK0UpXSksU30pKCk6W2JdO2ZvcihsZXQgeSBvZiB2KWZvcihsZXR7cGF0dGVybjp3LHZhcmlhbnRzOms9W119b2YgZilpZih3Lmxhc3RJbmRleD0wLGQuaGFzKHcpfHxkLnNldCh3LDApLCEhdy50ZXN0KHkpKXtkLnNldCh3LGQuZ2V0KHcpKzEpLGUuY2hhbmdlZENvbnRlbnQucHVzaCh7Y29udGVudDp5LGV4dGVuc2lvbjoiaHRtbCJ9KTtmb3IobGV0IFMgb2YgayllLmNoYW5nZWRDb250ZW50LnB1c2goe2NvbnRlbnQ6UytlLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcit5LGV4dGVuc2lvbjoiaHRtbCJ9KX19Zm9yKGxldFtiLHZdb2YgZC5lbnRyaWVzKCkpdj09PTAmJkcud2FybihbYFRoZSBzYWZlbGlzdCBwYXR0ZXJuIFxgJHtifVxgIGRvZXNuJ3QgbWF0Y2ggYW55IFRhaWx3aW5kIENTUyBjbGFzc2VzLmAsIkZpeCB0aGlzIHBhdHRlcm4gb3IgcmVtb3ZlIGl0IGZyb20geW91ciBgc2FmZWxpc3RgIGNvbmZpZ3VyYXRpb24uIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb250ZW50LWNvbmZpZ3VyYXRpb24jc2FmZWxpc3RpbmctY2xhc3NlcyJdKX19bGV0IGw9W10uY29uY2F0KGUudGFpbHdpbmRDb25maWcuZGFya01vZGU/PyJtZWRpYSIpWzFdPz8iZGFyayIsYz1bdGwoZSxsKSx0bChlLCJncm91cCIpLHRsKGUsInBlZXIiKV07ZS5nZXRDbGFzc09yZGVyPWZ1bmN0aW9uKGQpe2xldCBwPVsuLi5kXS5zb3J0KCh5LHcpPT55PT09dz8wOnk8dz8tMToxKSxoPW5ldyBNYXAocC5tYXAoeT0+W3ksbnVsbF0pKSxiPWFzKG5ldyBTZXQocCksZSwhMCk7Yj1lLm9mZnNldHMuc29ydChiKTtsZXQgdj1CaWdJbnQoYy5sZW5ndGgpO2ZvcihsZXRbLHldb2YgYil7bGV0IHc9eS5yYXdzLnRhaWx3aW5kLmNhbmRpZGF0ZTtoLnNldCh3LGguZ2V0KHcpPz92KyspfXJldHVybiBkLm1hcCh5PT57bGV0IHc9aC5nZXQoeSk/P251bGwsaz1jLmluZGV4T2YoeSk7cmV0dXJuIHc9PT1udWxsJiZrIT09LTEmJih3PUJpZ0ludChrKSksW3ksd119KX0sZS5nZXRDbGFzc0xpc3Q9ZnVuY3Rpb24oZD17fSl7bGV0IHA9W107Zm9yKGxldCBoIG9mIHMpaWYoQXJyYXkuaXNBcnJheShoKSl7bGV0W2Isdl09aCx5PVtdLHc9T2JqZWN0LmtleXModj8ubW9kaWZpZXJzPz97fSk7dj8udHlwZXM/LnNvbWUoKHt0eXBlOkV9KT0+RT09PSJjb2xvciIpJiZ3LnB1c2goLi4uT2JqZWN0LmtleXMoZS50YWlsd2luZENvbmZpZy50aGVtZS5vcGFjaXR5Pz97fSkpO2xldCBrPXttb2RpZmllcnM6d30sUz1kLmluY2x1ZGVNZXRhZGF0YSYmdy5sZW5ndGg+MDtmb3IobGV0W0UsVF1vZiBPYmplY3QuZW50cmllcyh2Py52YWx1ZXM/P3t9KSl7aWYoVD09bnVsbCljb250aW51ZTtsZXQgQj1FaShiLEUpO2lmKHAucHVzaChTP1tCLGtdOkIpLHY/LnN1cHBvcnRzTmVnYXRpdmVWYWx1ZXMmJnh0KFQpKXtsZXQgTj1FaShiLGAtJHtFfWApO3kucHVzaChTP1tOLGtdOk4pfX1wLnB1c2goLi4ueSl9ZWxzZSBwLnB1c2goaCk7cmV0dXJuIHB9LGUuZ2V0VmFyaWFudHM9ZnVuY3Rpb24oKXtsZXQgZD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoNykudG9VcHBlckNhc2UoKSxwPVtdO2ZvcihsZXRbaCxiXW9mIGUudmFyaWFudE9wdGlvbnMuZW50cmllcygpKWIudmFyaWFudEluZm8hPT1lbC5CYXNlJiZwLnB1c2goe25hbWU6aCxpc0FyYml0cmFyeTpiLnR5cGU9PT1TeW1ib2wuZm9yKCJNQVRDSF9WQVJJQU5UIiksdmFsdWVzOk9iamVjdC5rZXlzKGIudmFsdWVzPz97fSksaGFzRGFzaDpoIT09IkAiLHNlbGVjdG9ycyh7bW9kaWZpZXI6dix2YWx1ZTp5fT17fSl7bGV0IHc9YFRBSUxXSU5EUExBQ0VIT0xERVIke2R9YCxrPWVlLnJ1bGUoe3NlbGVjdG9yOmAuJHt3fWB9KSxTPWVlLnJvb3Qoe25vZGVzOltrLmNsb25lKCldfSksRT1TLnRvU3RyaW5nKCksVD0oZS52YXJpYW50TWFwLmdldChoKT8/W10pLmZsYXRNYXAoKFtsZSxBXSk9PkEpLEI9W107Zm9yKGxldCBsZSBvZiBUKXtsZXQgQT1bXSxDPXthcmdzOnttb2RpZmllcjp2LHZhbHVlOmIudmFsdWVzPy5beV0/P3l9LHNlcGFyYXRvcjplLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcixtb2RpZnlTZWxlY3RvcnMoVil7cmV0dXJuIFMuZWFjaChFZT0+e0VlLnR5cGU9PT0icnVsZSImJihFZS5zZWxlY3RvcnM9RWUuc2VsZWN0b3JzLm1hcChJZT0+Vih7Z2V0IGNsYXNzTmFtZSgpe3JldHVybiBHbyhJZSl9LHNlbGVjdG9yOkllfSkpKX0pLFN9LGZvcm1hdChWKXtBLnB1c2goVil9LHdyYXAoVil7QS5wdXNoKGBAJHtWLm5hbWV9ICR7Vi5wYXJhbXN9IHsgJiB9YCl9LGNvbnRhaW5lcjpTfSxoZT1sZShDKTtpZihBLmxlbmd0aD4wJiZCLnB1c2goQSksQXJyYXkuaXNBcnJheShoZSkpZm9yKGxldCBWIG9mIGhlKUE9W10sVihDKSxCLnB1c2goQSl9bGV0IE49W10sUj1TLnRvU3RyaW5nKCk7RSE9PVImJihTLndhbGtSdWxlcyhsZT0+e2xldCBBPWxlLnNlbGVjdG9yLEM9KDAsWm8uZGVmYXVsdCkoaGU9PntoZS53YWxrQ2xhc3NlcyhWPT57Vi52YWx1ZT1gJHtofSR7ZS50YWlsd2luZENvbmZpZy5zZXBhcmF0b3J9JHtWLnZhbHVlfWB9KX0pLnByb2Nlc3NTeW5jKEEpO04ucHVzaChBLnJlcGxhY2UoQywiJiIpLnJlcGxhY2UodywiJiIpKX0pLFMud2Fsa0F0UnVsZXMobGU9PntOLnB1c2goYEAke2xlLm5hbWV9ICgke2xlLnBhcmFtc30pIHsgJiB9YCl9KSk7bGV0IEY9ISh5IGluKGIudmFsdWVzPz97fSkpLFk9YltQdF0/P3t9LF89KCgpPT4hKEZ8fFkucmVzcGVjdFByZWZpeD09PSExKSkoKTtCPUIubWFwKGxlPT5sZS5tYXAoQT0+KHtmb3JtYXQ6QSxyZXNwZWN0UHJlZml4Ol99KSkpLE49Ti5tYXAobGU9Pih7Zm9ybWF0OmxlLHJlc3BlY3RQcmVmaXg6X30pKTtsZXQgUT17Y2FuZGlkYXRlOncsY29udGV4dDplfSxVPUIubWFwKGxlPT5ycyhgLiR7d31gLGRyKGxlLFEpLFEpLnJlcGxhY2UoYC4ke3d9YCwiJiIpLnJlcGxhY2UoInsgJiB9IiwiIikudHJpbSgpKTtyZXR1cm4gTi5sZW5ndGg+MCYmVS5wdXNoKGRyKE4sUSkudG9TdHJpbmcoKS5yZXBsYWNlKGAuJHt3fWAsIiYiKSksVX19KTtyZXR1cm4gcH19ZnVuY3Rpb24gVWgocixlKXshci5jbGFzc0NhY2hlLmhhcyhlKXx8KHIubm90Q2xhc3NDYWNoZS5hZGQoZSksci5jbGFzc0NhY2hlLmRlbGV0ZShlKSxyLmFwcGx5Q2xhc3NDYWNoZS5kZWxldGUoZSksci5jYW5kaWRhdGVSdWxlTWFwLmRlbGV0ZShlKSxyLmNhbmRpZGF0ZVJ1bGVDYWNoZS5kZWxldGUoZSksci5zdHlsZXNoZWV0Q2FjaGU9bnVsbCl9ZnVuY3Rpb24gSF8ocixlKXtsZXQgdD1lLnJhd3MudGFpbHdpbmQuY2FuZGlkYXRlO2lmKCEhdCl7Zm9yKGxldCBpIG9mIHIucnVsZUNhY2hlKWlbMV0ucmF3cy50YWlsd2luZC5jYW5kaWRhdGU9PT10JiZyLnJ1bGVDYWNoZS5kZWxldGUoaSk7VWgocix0KX19ZnVuY3Rpb24gaWwocixlPVtdLHQ9ZWUucm9vdCgpKXtsZXQgaT17ZGlzcG9zYWJsZXM6W10scnVsZUNhY2hlOm5ldyBTZXQsY2FuZGlkYXRlUnVsZUNhY2hlOm5ldyBNYXAsY2xhc3NDYWNoZTpuZXcgTWFwLGFwcGx5Q2xhc3NDYWNoZTpuZXcgTWFwLG5vdENsYXNzQ2FjaGU6bmV3IFNldChyLmJsb2NrbGlzdD8/W10pLHBvc3RDc3NOb2RlQ2FjaGU6bmV3IE1hcCxjYW5kaWRhdGVSdWxlTWFwOm5ldyBNYXAsdGFpbHdpbmRDb25maWc6cixjaGFuZ2VkQ29udGVudDplLHZhcmlhbnRNYXA6bmV3IE1hcCxzdHlsZXNoZWV0Q2FjaGU6bnVsbCx2YXJpYW50T3B0aW9uczpuZXcgTWFwLG1hcmtJbnZhbGlkVXRpbGl0eUNhbmRpZGF0ZTpzPT5VaChpLHMpLG1hcmtJbnZhbGlkVXRpbGl0eU5vZGU6cz0+SF8oaSxzKX0sbj1VXyhpLHQpO3JldHVybiBWXyhuLGkpLGl9ZnVuY3Rpb24gVmgocixlLHQsaSxuLHMpe2xldCBhPWUub3B0cy5mcm9tLG89aSE9PW51bGw7WmUuREVCVUcmJmNvbnNvbGUubG9nKCJTb3VyY2UgcGF0aDoiLGEpO2xldCBsO2lmKG8mJmhyLmhhcyhhKSlsPWhyLmdldChhKTtlbHNlIGlmKFBpLmhhcyhuKSl7bGV0IHA9UGkuZ2V0KG4pO0R0LmdldChwKS5hZGQoYSksaHIuc2V0KGEscCksbD1wfWxldCBjPVBoKGEscik7aWYobCl7bGV0W3AsaF09amgoWy4uLnNdLGNzKGwpKTtpZighcCYmIWMpcmV0dXJuW2wsITEsaF19aWYoaHIuaGFzKGEpKXtsZXQgcD1oci5nZXQoYSk7aWYoRHQuaGFzKHApJiYoRHQuZ2V0KHApLmRlbGV0ZShhKSxEdC5nZXQocCkuc2l6ZT09PTApKXtEdC5kZWxldGUocCk7Zm9yKGxldFtoLGJdb2YgUGkpYj09PXAmJlBpLmRlbGV0ZShoKTtmb3IobGV0IGggb2YgcC5kaXNwb3NhYmxlcy5zcGxpY2UoMCkpaChwKX19WmUuREVCVUcmJmNvbnNvbGUubG9nKCJTZXR0aW5nIHVwIG5ldyBjb250ZXh0Li4uIik7bGV0IGY9aWwodCxbXSxyKTtPYmplY3QuYXNzaWduKGYse3VzZXJDb25maWdQYXRoOml9KTtsZXRbLGRdPWpoKFsuLi5zXSxjcyhmKSk7cmV0dXJuIFBpLnNldChuLGYpLGhyLnNldChhLGYpLER0LmhhcyhmKXx8RHQuc2V0KGYsbmV3IFNldCksRHQuZ2V0KGYpLmFkZChhKSxbZiwhMCxkXX12YXIgTmgsWm8sUHQsSm8sZWwscmwsaHIsUGksRHQsT2k9UCgoKT0+e3UoKTtmdCgpO2xhKCk7T3QoKTtOaD1wZShSYSgpKSxabz1wZShpdCgpKTtDaSgpO3FvKCk7R24oKTtLdCgpO2ZyKCk7TG8oKTtGcigpO2JoKCk7SXQoKTtJdCgpO1lpKCk7QmUoKTtHaSgpO0JvKCk7b3MoKTtJaCgpO01oKCk7Y3QoKTtWbygpO1B0PVN5bWJvbCgpLEpvPXtBZGRWYXJpYW50OlN5bWJvbC5mb3IoIkFERF9WQVJJQU5UIiksTWF0Y2hWYXJpYW50OlN5bWJvbC5mb3IoIk1BVENIX1ZBUklBTlQiKX0sZWw9e0Jhc2U6MTw8MCxEeW5hbWljOjE8PDF9O3JsPW5ldyBXZWFrTWFwO2hyPXdoLFBpPXZoLER0PWVzfSk7ZnVuY3Rpb24gbmwocil7cmV0dXJuIHIuaWdub3JlP1tdOnIuZ2xvYj9tLmVudi5ST0xMVVBfV0FUQ0g9PT0idHJ1ZSI/W3t0eXBlOiJkZXBlbmRlbmN5IixmaWxlOnIuYmFzZX1dOlt7dHlwZToiZGlyLWRlcGVuZGVuY3kiLGRpcjpyLmJhc2UsZ2xvYjpyLmdsb2J9XTpbe3R5cGU6ImRlcGVuZGVuY3kiLGZpbGU6ci5iYXNlfV19dmFyIEhoPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBXaChyLGUpe3JldHVybntoYW5kbGVyOnIsY29uZmlnOmV9fXZhciBHaCxRaD1QKCgpPT57dSgpO1doLndpdGhPcHRpb25zPWZ1bmN0aW9uKHIsZT0oKT0+KHt9KSl7bGV0IHQ9ZnVuY3Rpb24oaSl7cmV0dXJue19fb3B0aW9uczppLGhhbmRsZXI6cihpKSxjb25maWc6ZShpKX19O3JldHVybiB0Ll9faXNPcHRpb25zRnVuY3Rpb249ITAsdC5fX3BsdWdpbkZ1bmN0aW9uPXIsdC5fX2NvbmZpZ0Z1bmN0aW9uPWUsdH07R2g9V2h9KTt2YXIgc2w9e307R2Uoc2wse2RlZmF1bHQ6KCk9PldffSk7dmFyIFdfLGFsPVAoKCk9Pnt1KCk7UWgoKTtXXz1HaH0pO3ZhciBLaD14KCh6NCxZaCk9Pnt1KCk7dmFyIEdfPShhbCgpLHNsKS5kZWZhdWx0LFFfPXtvdmVyZmxvdzoiaGlkZGVuIixkaXNwbGF5OiItd2Via2l0LWJveCIsIi13ZWJraXQtYm94LW9yaWVudCI6InZlcnRpY2FsIn0sWV89R18oZnVuY3Rpb24oe21hdGNoVXRpbGl0aWVzOnIsYWRkVXRpbGl0aWVzOmUsdGhlbWU6dCx2YXJpYW50czppfSl7bGV0IG49dCgibGluZUNsYW1wIik7cih7ImxpbmUtY2xhbXAiOnM9Pih7Li4uUV8sIi13ZWJraXQtbGluZS1jbGFtcCI6YCR7c31gfSl9LHt2YWx1ZXM6bn0pLGUoW3siLmxpbmUtY2xhbXAtbm9uZSI6eyItd2Via2l0LWxpbmUtY2xhbXAiOiJ1bnNldCJ9fV0saSgibGluZUNsYW1wIikpfSx7dGhlbWU6e2xpbmVDbGFtcDp7MToiMSIsMjoiMiIsMzoiMyIsNDoiNCIsNToiNSIsNjoiNiJ9fSx2YXJpYW50czp7bGluZUNsYW1wOlsicmVzcG9uc2l2ZSJdfX0pO1loLmV4cG9ydHM9WV99KTtmdW5jdGlvbiBvbChyKXtyLmNvbnRlbnQuZmlsZXMubGVuZ3RoPT09MCYmRy53YXJuKCJjb250ZW50LXByb2JsZW1zIixbIlRoZSBgY29udGVudGAgb3B0aW9uIGluIHlvdXIgVGFpbHdpbmQgQ1NTIGNvbmZpZ3VyYXRpb24gaXMgbWlzc2luZyBvciBlbXB0eS4iLCJDb25maWd1cmUgeW91ciBjb250ZW50IHNvdXJjZXMgb3IgeW91ciBnZW5lcmF0ZWQgQ1NTIHdpbGwgYmUgbWlzc2luZyBzdHlsZXMuIiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb250ZW50LWNvbmZpZ3VyYXRpb24iXSk7dHJ5e2xldCBlPUtoKCk7ci5wbHVnaW5zLmluY2x1ZGVzKGUpJiYoRy53YXJuKCJsaW5lLWNsYW1wLWluLWNvcmUiLFsiQXMgb2YgVGFpbHdpbmQgQ1NTIHYzLjMsIHRoZSBgQHRhaWx3aW5kY3NzL2xpbmUtY2xhbXBgIHBsdWdpbiBpcyBub3cgaW5jbHVkZWQgYnkgZGVmYXVsdC4iLCJSZW1vdmUgaXQgZnJvbSB0aGUgYHBsdWdpbnNgIGFycmF5IGluIHlvdXIgY29uZmlndXJhdGlvbiB0byBlbGltaW5hdGUgdGhpcyB3YXJuaW5nLiJdKSxyLnBsdWdpbnM9ci5wbHVnaW5zLmZpbHRlcih0PT50IT09ZSkpfWNhdGNoe31yZXR1cm4gcn12YXIgWGg9UCgoKT0+e3UoKTtCZSgpfSk7dmFyIFpoLEpoPVAoKCk9Pnt1KCk7Wmg9KCk9PiExfSk7dmFyIHBzLGVtPVAoKCk9Pnt1KCk7cHM9e3N5bmM6cj0+W10uY29uY2F0KHIpLGdlbmVyYXRlVGFza3M6cj0+W3tkeW5hbWljOiExLGJhc2U6Ii4iLG5lZ2F0aXZlOltdLHBvc2l0aXZlOltdLmNvbmNhdChyKSxwYXR0ZXJuczpbXS5jb25jYXQocil9XSxlc2NhcGVQYXRoOnI9PnJ9fSk7dmFyIGxsLHRtPVAoKCk9Pnt1KCk7bGw9cj0+cn0pO3ZhciBybSxpbT1QKCgpPT57dSgpO3JtPSgpPT4iIn0pO2Z1bmN0aW9uIG5tKHIpe2xldCBlPXIsdD1ybShyKTtyZXR1cm4gdCE9PSIuIiYmKGU9ci5zdWJzdHIodC5sZW5ndGgpLGUuY2hhckF0KDApPT09Ii8iJiYoZT1lLnN1YnN0cigxKSkpLGUuc3Vic3RyKDAsMik9PT0iLi8iP2U9ZS5zdWJzdHIoMik6ZS5jaGFyQXQoMCk9PT0iLyImJihlPWUuc3Vic3RyKDEpKSx7YmFzZTp0LGdsb2I6ZX19dmFyIHNtPVAoKCk9Pnt1KCk7aW0oKX0pO3ZhciBkcz14KFZlPT57dSgpOyJ1c2Ugc3RyaWN0IjtWZS5pc0ludGVnZXI9cj0+dHlwZW9mIHI9PSJudW1iZXIiP051bWJlci5pc0ludGVnZXIocik6dHlwZW9mIHI9PSJzdHJpbmciJiZyLnRyaW0oKSE9PSIiP051bWJlci5pc0ludGVnZXIoTnVtYmVyKHIpKTohMTtWZS5maW5kPShyLGUpPT5yLm5vZGVzLmZpbmQodD0+dC50eXBlPT09ZSk7VmUuZXhjZWVkc0xpbWl0PShyLGUsdD0xLGkpPT5pPT09ITF8fCFWZS5pc0ludGVnZXIocil8fCFWZS5pc0ludGVnZXIoZSk/ITE6KE51bWJlcihlKS1OdW1iZXIocikpL051bWJlcih0KT49aTtWZS5lc2NhcGVOb2RlPShyLGU9MCx0KT0+e2xldCBpPXIubm9kZXNbZV07IWl8fCh0JiZpLnR5cGU9PT10fHxpLnR5cGU9PT0ib3BlbiJ8fGkudHlwZT09PSJjbG9zZSIpJiZpLmVzY2FwZWQhPT0hMCYmKGkudmFsdWU9IlxcIitpLnZhbHVlLGkuZXNjYXBlZD0hMCl9O1ZlLmVuY2xvc2VCcmFjZT1yPT5yLnR5cGUhPT0iYnJhY2UiPyExOnIuY29tbWFzPj4wK3IucmFuZ2VzPj4wPT0wPyhyLmludmFsaWQ9ITAsITApOiExO1ZlLmlzSW52YWxpZEJyYWNlPXI9PnIudHlwZSE9PSJicmFjZSI/ITE6ci5pbnZhbGlkPT09ITB8fHIuZG9sbGFyPyEwOnIuY29tbWFzPj4wK3IucmFuZ2VzPj4wPT0wfHxyLm9wZW4hPT0hMHx8ci5jbG9zZSE9PSEwPyhyLmludmFsaWQ9ITAsITApOiExO1ZlLmlzT3Blbk9yQ2xvc2U9cj0+ci50eXBlPT09Im9wZW4ifHxyLnR5cGU9PT0iY2xvc2UiPyEwOnIub3Blbj09PSEwfHxyLmNsb3NlPT09ITA7VmUucmVkdWNlPXI9PnIucmVkdWNlKChlLHQpPT4odC50eXBlPT09InRleHQiJiZlLnB1c2godC52YWx1ZSksdC50eXBlPT09InJhbmdlIiYmKHQudHlwZT0idGV4dCIpLGUpLFtdKTtWZS5mbGF0dGVuPSguLi5yKT0+e2xldCBlPVtdLHQ9aT0+e2ZvcihsZXQgbj0wO248aS5sZW5ndGg7bisrKXtsZXQgcz1pW25dO2lmKEFycmF5LmlzQXJyYXkocykpe3Qocyk7Y29udGludWV9cyE9PXZvaWQgMCYmZS5wdXNoKHMpfXJldHVybiBlfTtyZXR1cm4gdChyKSxlfX0pO3ZhciBocz14KChaNCxvbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBhbT1kcygpO29tLmV4cG9ydHM9KHIsZT17fSk9PntsZXQgdD0oaSxuPXt9KT0+e2xldCBzPWUuZXNjYXBlSW52YWxpZCYmYW0uaXNJbnZhbGlkQnJhY2UobiksYT1pLmludmFsaWQ9PT0hMCYmZS5lc2NhcGVJbnZhbGlkPT09ITAsbz0iIjtpZihpLnZhbHVlKXJldHVybihzfHxhKSYmYW0uaXNPcGVuT3JDbG9zZShpKT8iXFwiK2kudmFsdWU6aS52YWx1ZTtpZihpLnZhbHVlKXJldHVybiBpLnZhbHVlO2lmKGkubm9kZXMpZm9yKGxldCBsIG9mIGkubm9kZXMpbys9dChsKTtyZXR1cm4gb307cmV0dXJuIHQocil9fSk7dmFyIHVtPXgoKEo0LGxtKT0+e3UoKTsidXNlIHN0cmljdCI7bG0uZXhwb3J0cz1mdW5jdGlvbihyKXtyZXR1cm4gdHlwZW9mIHI9PSJudW1iZXIiP3Itcj09MDp0eXBlb2Ygcj09InN0cmluZyImJnIudHJpbSgpIT09IiI/TnVtYmVyLmlzRmluaXRlP051bWJlci5pc0Zpbml0ZSgrcik6aXNGaW5pdGUoK3IpOiExfX0pO3ZhciBibT14KChlNix5bSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBmbT11bSgpLFd0PShyLGUsdCk9PntpZihmbShyKT09PSExKXRocm93IG5ldyBUeXBlRXJyb3IoInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIGJlIGEgbnVtYmVyIik7aWYoZT09PXZvaWQgMHx8cj09PWUpcmV0dXJuIFN0cmluZyhyKTtpZihmbShlKT09PSExKXRocm93IG5ldyBUeXBlRXJyb3IoInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIG51bWJlci4iKTtsZXQgaT17cmVsYXhaZXJvczohMCwuLi50fTt0eXBlb2YgaS5zdHJpY3RaZXJvcz09ImJvb2xlYW4iJiYoaS5yZWxheFplcm9zPWkuc3RyaWN0WmVyb3M9PT0hMSk7bGV0IG49U3RyaW5nKGkucmVsYXhaZXJvcykscz1TdHJpbmcoaS5zaG9ydGhhbmQpLGE9U3RyaW5nKGkuY2FwdHVyZSksbz1TdHJpbmcoaS53cmFwKSxsPXIrIjoiK2UrIj0iK24rcythK287aWYoV3QuY2FjaGUuaGFzT3duUHJvcGVydHkobCkpcmV0dXJuIFd0LmNhY2hlW2xdLnJlc3VsdDtsZXQgYz1NYXRoLm1pbihyLGUpLGY9TWF0aC5tYXgocixlKTtpZihNYXRoLmFicyhjLWYpPT09MSl7bGV0IHY9cisifCIrZTtyZXR1cm4gaS5jYXB0dXJlP2AoJHt2fSlgOmkud3JhcD09PSExP3Y6YCg/OiR7dn0pYH1sZXQgZD1nbShyKXx8Z20oZSkscD17bWluOnIsbWF4OmUsYTpjLGI6Zn0saD1bXSxiPVtdO2lmKGQmJihwLmlzUGFkZGVkPWQscC5tYXhMZW49U3RyaW5nKHAubWF4KS5sZW5ndGgpLGM8MCl7bGV0IHY9ZjwwP01hdGguYWJzKGYpOjE7Yj1jbSh2LE1hdGguYWJzKGMpLHAsaSksYz1wLmE9MH1yZXR1cm4gZj49MCYmKGg9Y20oYyxmLHAsaSkpLHAubmVnYXRpdmVzPWIscC5wb3NpdGl2ZXM9aCxwLnJlc3VsdD1LXyhiLGgsaSksaS5jYXB0dXJlPT09ITA/cC5yZXN1bHQ9YCgke3AucmVzdWx0fSlgOmkud3JhcCE9PSExJiZoLmxlbmd0aCtiLmxlbmd0aD4xJiYocC5yZXN1bHQ9YCg/OiR7cC5yZXN1bHR9KWApLFd0LmNhY2hlW2xdPXAscC5yZXN1bHR9O2Z1bmN0aW9uIEtfKHIsZSx0KXtsZXQgaT11bChyLGUsIi0iLCExLHQpfHxbXSxuPXVsKGUsciwiIiwhMSx0KXx8W10scz11bChyLGUsIi0/IiwhMCx0KXx8W107cmV0dXJuIGkuY29uY2F0KHMpLmNvbmNhdChuKS5qb2luKCJ8Iil9ZnVuY3Rpb24gWF8ocixlKXtsZXQgdD0xLGk9MSxuPWRtKHIsdCkscz1uZXcgU2V0KFtlXSk7Zm9yKDtyPD1uJiZuPD1lOylzLmFkZChuKSx0Kz0xLG49ZG0ocix0KTtmb3Iobj1obShlKzEsaSktMTtyPG4mJm48PWU7KXMuYWRkKG4pLGkrPTEsbj1obShlKzEsaSktMTtyZXR1cm4gcz1bLi4uc10scy5zb3J0KGVFKSxzfWZ1bmN0aW9uIFpfKHIsZSx0KXtpZihyPT09ZSlyZXR1cm57cGF0dGVybjpyLGNvdW50OltdLGRpZ2l0czowfTtsZXQgaT1KXyhyLGUpLG49aS5sZW5ndGgscz0iIixhPTA7Zm9yKGxldCBvPTA7bzxuO28rKyl7bGV0W2wsY109aVtvXTtsPT09Yz9zKz1sOmwhPT0iMCJ8fGMhPT0iOSI/cys9dEUobCxjLHQpOmErK31yZXR1cm4gYSYmKHMrPXQuc2hvcnRoYW5kPT09ITA/IlxcZCI6IlswLTldIikse3BhdHRlcm46cyxjb3VudDpbYV0sZGlnaXRzOm59fWZ1bmN0aW9uIGNtKHIsZSx0LGkpe2xldCBuPVhfKHIsZSkscz1bXSxhPXIsbztmb3IobGV0IGw9MDtsPG4ubGVuZ3RoO2wrKyl7bGV0IGM9bltsXSxmPVpfKFN0cmluZyhhKSxTdHJpbmcoYyksaSksZD0iIjtpZighdC5pc1BhZGRlZCYmbyYmby5wYXR0ZXJuPT09Zi5wYXR0ZXJuKXtvLmNvdW50Lmxlbmd0aD4xJiZvLmNvdW50LnBvcCgpLG8uY291bnQucHVzaChmLmNvdW50WzBdKSxvLnN0cmluZz1vLnBhdHRlcm4rbW0oby5jb3VudCksYT1jKzE7Y29udGludWV9dC5pc1BhZGRlZCYmKGQ9ckUoYyx0LGkpKSxmLnN0cmluZz1kK2YucGF0dGVybittbShmLmNvdW50KSxzLnB1c2goZiksYT1jKzEsbz1mfXJldHVybiBzfWZ1bmN0aW9uIHVsKHIsZSx0LGksbil7bGV0IHM9W107Zm9yKGxldCBhIG9mIHIpe2xldHtzdHJpbmc6b309YTshaSYmIXBtKGUsInN0cmluZyIsbykmJnMucHVzaCh0K28pLGkmJnBtKGUsInN0cmluZyIsbykmJnMucHVzaCh0K28pfXJldHVybiBzfWZ1bmN0aW9uIEpfKHIsZSl7bGV0IHQ9W107Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspdC5wdXNoKFtyW2ldLGVbaV1dKTtyZXR1cm4gdH1mdW5jdGlvbiBlRShyLGUpe3JldHVybiByPmU/MTplPnI/LTE6MH1mdW5jdGlvbiBwbShyLGUsdCl7cmV0dXJuIHIuc29tZShpPT5pW2VdPT09dCl9ZnVuY3Rpb24gZG0ocixlKXtyZXR1cm4gTnVtYmVyKFN0cmluZyhyKS5zbGljZSgwLC1lKSsiOSIucmVwZWF0KGUpKX1mdW5jdGlvbiBobShyLGUpe3JldHVybiByLXIlTWF0aC5wb3coMTAsZSl9ZnVuY3Rpb24gbW0ocil7bGV0W2U9MCx0PSIiXT1yO3JldHVybiB0fHxlPjE/YHske2UrKHQ/IiwiK3Q6IiIpfX1gOiIifWZ1bmN0aW9uIHRFKHIsZSx0KXtyZXR1cm5gWyR7cn0ke2Utcj09MT8iIjoiLSJ9JHtlfV1gfWZ1bmN0aW9uIGdtKHIpe3JldHVybi9eLT8oMCspXGQvLnRlc3Qocil9ZnVuY3Rpb24gckUocixlLHQpe2lmKCFlLmlzUGFkZGVkKXJldHVybiByO2xldCBpPU1hdGguYWJzKGUubWF4TGVuLVN0cmluZyhyKS5sZW5ndGgpLG49dC5yZWxheFplcm9zIT09ITE7c3dpdGNoKGkpe2Nhc2UgMDpyZXR1cm4iIjtjYXNlIDE6cmV0dXJuIG4/IjA/IjoiMCI7Y2FzZSAyOnJldHVybiBuPyIwezAsMn0iOiIwMCI7ZGVmYXVsdDpyZXR1cm4gbj9gMHswLCR7aX19YDpgMHske2l9fWB9fVd0LmNhY2hlPXt9O1d0LmNsZWFyQ2FjaGU9KCk9Pld0LmNhY2hlPXt9O3ltLmV4cG9ydHM9V3R9KTt2YXIgcGw9eCgodDYsQ20pPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgaUU9KEZuKCksQm4pLHdtPWJtKCksdm09cj0+ciE9PW51bGwmJnR5cGVvZiByPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkociksbkU9cj0+ZT0+cj09PSEwP051bWJlcihlKTpTdHJpbmcoZSksZmw9cj0+dHlwZW9mIHI9PSJudW1iZXIifHx0eXBlb2Ygcj09InN0cmluZyImJnIhPT0iIixJaT1yPT5OdW1iZXIuaXNJbnRlZ2VyKCtyKSxjbD1yPT57bGV0IGU9YCR7cn1gLHQ9LTE7aWYoZVswXT09PSItIiYmKGU9ZS5zbGljZSgxKSksZT09PSIwIilyZXR1cm4hMTtmb3IoO2VbKyt0XT09PSIwIjspO3JldHVybiB0PjB9LHNFPShyLGUsdCk9PnR5cGVvZiByPT0ic3RyaW5nInx8dHlwZW9mIGU9PSJzdHJpbmciPyEwOnQuc3RyaW5naWZ5PT09ITAsYUU9KHIsZSx0KT0+e2lmKGU+MCl7bGV0IGk9clswXT09PSItIj8iLSI6IiI7aSYmKHI9ci5zbGljZSgxKSkscj1pK3IucGFkU3RhcnQoaT9lLTE6ZSwiMCIpfXJldHVybiB0PT09ITE/U3RyaW5nKHIpOnJ9LG1zPShyLGUpPT57bGV0IHQ9clswXT09PSItIj8iLSI6IiI7Zm9yKHQmJihyPXIuc2xpY2UoMSksZS0tKTtyLmxlbmd0aDxlOylyPSIwIityO3JldHVybiB0PyItIityOnJ9LG9FPShyLGUsdCk9PntyLm5lZ2F0aXZlcy5zb3J0KChvLGwpPT5vPGw/LTE6bz5sPzE6MCksci5wb3NpdGl2ZXMuc29ydCgobyxsKT0+bzxsPy0xOm8+bD8xOjApO2xldCBpPWUuY2FwdHVyZT8iIjoiPzoiLG49IiIscz0iIixhO3JldHVybiByLnBvc2l0aXZlcy5sZW5ndGgmJihuPXIucG9zaXRpdmVzLm1hcChvPT5tcyhTdHJpbmcobyksdCkpLmpvaW4oInwiKSksci5uZWdhdGl2ZXMubGVuZ3RoJiYocz1gLSgke2l9JHtyLm5lZ2F0aXZlcy5tYXAobz0+bXMoU3RyaW5nKG8pLHQpKS5qb2luKCJ8Iil9KWApLG4mJnM/YT1gJHtufXwke3N9YDphPW58fHMsZS53cmFwP2AoJHtpfSR7YX0pYDphfSx4bT0ocixlLHQsaSk9PntpZih0KXJldHVybiB3bShyLGUse3dyYXA6ITEsLi4uaX0pO2xldCBuPVN0cmluZy5mcm9tQ2hhckNvZGUocik7aWYocj09PWUpcmV0dXJuIG47bGV0IHM9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm5gWyR7bn0tJHtzfV1gfSxrbT0ocixlLHQpPT57aWYoQXJyYXkuaXNBcnJheShyKSl7bGV0IGk9dC53cmFwPT09ITAsbj10LmNhcHR1cmU/IiI6Ij86IjtyZXR1cm4gaT9gKCR7bn0ke3Iuam9pbigifCIpfSlgOnIuam9pbigifCIpfXJldHVybiB3bShyLGUsdCl9LFNtPSguLi5yKT0+bmV3IFJhbmdlRXJyb3IoIkludmFsaWQgcmFuZ2UgYXJndW1lbnRzOiAiK2lFLmluc3BlY3QoLi4ucikpLEFtPShyLGUsdCk9PntpZih0LnN0cmljdFJhbmdlcz09PSEwKXRocm93IFNtKFtyLGVdKTtyZXR1cm5bXX0sbEU9KHIsZSk9PntpZihlLnN0cmljdFJhbmdlcz09PSEwKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIHN0ZXAgIiR7cn0iIHRvIGJlIGEgbnVtYmVyYCk7cmV0dXJuW119LHVFPShyLGUsdD0xLGk9e30pPT57bGV0IG49TnVtYmVyKHIpLHM9TnVtYmVyKGUpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHwhTnVtYmVyLmlzSW50ZWdlcihzKSl7aWYoaS5zdHJpY3RSYW5nZXM9PT0hMCl0aHJvdyBTbShbcixlXSk7cmV0dXJuW119bj09PTAmJihuPTApLHM9PT0wJiYocz0wKTtsZXQgYT1uPnMsbz1TdHJpbmcociksbD1TdHJpbmcoZSksYz1TdHJpbmcodCk7dD1NYXRoLm1heChNYXRoLmFicyh0KSwxKTtsZXQgZj1jbChvKXx8Y2wobCl8fGNsKGMpLGQ9Zj9NYXRoLm1heChvLmxlbmd0aCxsLmxlbmd0aCxjLmxlbmd0aCk6MCxwPWY9PT0hMSYmc0UocixlLGkpPT09ITEsaD1pLnRyYW5zZm9ybXx8bkUocCk7aWYoaS50b1JlZ2V4JiZ0PT09MSlyZXR1cm4geG0obXMocixkKSxtcyhlLGQpLCEwLGkpO2xldCBiPXtuZWdhdGl2ZXM6W10scG9zaXRpdmVzOltdfSx2PWs9PmJbazwwPyJuZWdhdGl2ZXMiOiJwb3NpdGl2ZXMiXS5wdXNoKE1hdGguYWJzKGspKSx5PVtdLHc9MDtmb3IoO2E/bj49czpuPD1zOylpLnRvUmVnZXg9PT0hMCYmdD4xP3Yobik6eS5wdXNoKGFFKGgobix3KSxkLHApKSxuPWE/bi10Om4rdCx3Kys7cmV0dXJuIGkudG9SZWdleD09PSEwP3Q+MT9vRShiLGksZCk6a20oeSxudWxsLHt3cmFwOiExLC4uLml9KTp5fSxmRT0ocixlLHQ9MSxpPXt9KT0+e2lmKCFJaShyKSYmci5sZW5ndGg+MXx8IUlpKGUpJiZlLmxlbmd0aD4xKXJldHVybiBBbShyLGUsaSk7bGV0IG49aS50cmFuc2Zvcm18fChwPT5TdHJpbmcuZnJvbUNoYXJDb2RlKHApKSxzPWAke3J9YC5jaGFyQ29kZUF0KDApLGE9YCR7ZX1gLmNoYXJDb2RlQXQoMCksbz1zPmEsbD1NYXRoLm1pbihzLGEpLGM9TWF0aC5tYXgocyxhKTtpZihpLnRvUmVnZXgmJnQ9PT0xKXJldHVybiB4bShsLGMsITEsaSk7bGV0IGY9W10sZD0wO2Zvcig7bz9zPj1hOnM8PWE7KWYucHVzaChuKHMsZCkpLHM9bz9zLXQ6cyt0LGQrKztyZXR1cm4gaS50b1JlZ2V4PT09ITA/a20oZixudWxsLHt3cmFwOiExLG9wdGlvbnM6aX0pOmZ9LGdzPShyLGUsdCxpPXt9KT0+e2lmKGU9PW51bGwmJmZsKHIpKXJldHVybltyXTtpZighZmwocil8fCFmbChlKSlyZXR1cm4gQW0ocixlLGkpO2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXJldHVybiBncyhyLGUsMSx7dHJhbnNmb3JtOnR9KTtpZih2bSh0KSlyZXR1cm4gZ3MocixlLDAsdCk7bGV0IG49ey4uLml9O3JldHVybiBuLmNhcHR1cmU9PT0hMCYmKG4ud3JhcD0hMCksdD10fHxuLnN0ZXB8fDEsSWkodCk/SWkocikmJklpKGUpP3VFKHIsZSx0LG4pOmZFKHIsZSxNYXRoLm1heChNYXRoLmFicyh0KSwxKSxuKTp0IT1udWxsJiYhdm0odCk/bEUodCxuKTpncyhyLGUsMSx0KX07Q20uZXhwb3J0cz1nc30pO3ZhciBPbT14KChyNixFbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBjRT1wbCgpLF9tPWRzKCkscEU9KHIsZT17fSk9PntsZXQgdD0oaSxuPXt9KT0+e2xldCBzPV9tLmlzSW52YWxpZEJyYWNlKG4pLGE9aS5pbnZhbGlkPT09ITAmJmUuZXNjYXBlSW52YWxpZD09PSEwLG89cz09PSEwfHxhPT09ITAsbD1lLmVzY2FwZUludmFsaWQ9PT0hMD8iXFwiOiIiLGM9IiI7aWYoaS5pc09wZW49PT0hMClyZXR1cm4gbCtpLnZhbHVlO2lmKGkuaXNDbG9zZT09PSEwKXJldHVybiBjb25zb2xlLmxvZygibm9kZS5pc0Nsb3NlIixsLGkudmFsdWUpLGwraS52YWx1ZTtpZihpLnR5cGU9PT0ib3BlbiIpcmV0dXJuIG8/bCtpLnZhbHVlOiIoIjtpZihpLnR5cGU9PT0iY2xvc2UiKXJldHVybiBvP2wraS52YWx1ZToiKSI7aWYoaS50eXBlPT09ImNvbW1hIilyZXR1cm4gaS5wcmV2LnR5cGU9PT0iY29tbWEiPyIiOm8/aS52YWx1ZToifCI7aWYoaS52YWx1ZSlyZXR1cm4gaS52YWx1ZTtpZihpLm5vZGVzJiZpLnJhbmdlcz4wKXtsZXQgZj1fbS5yZWR1Y2UoaS5ub2RlcyksZD1jRSguLi5mLHsuLi5lLHdyYXA6ITEsdG9SZWdleDohMCxzdHJpY3RaZXJvczohMH0pO2lmKGQubGVuZ3RoIT09MClyZXR1cm4gZi5sZW5ndGg+MSYmZC5sZW5ndGg+MT9gKCR7ZH0pYDpkfWlmKGkubm9kZXMpZm9yKGxldCBmIG9mIGkubm9kZXMpYys9dChmLGkpO3JldHVybiBjfTtyZXR1cm4gdChyKX07RW0uZXhwb3J0cz1wRX0pO3ZhciBQbT14KChpNixSbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBkRT1wbCgpLFRtPWhzKCksbXI9ZHMoKSxHdD0ocj0iIixlPSIiLHQ9ITEpPT57bGV0IGk9W107aWYocj1bXS5jb25jYXQociksZT1bXS5jb25jYXQoZSksIWUubGVuZ3RoKXJldHVybiByO2lmKCFyLmxlbmd0aClyZXR1cm4gdD9tci5mbGF0dGVuKGUpLm1hcChuPT5geyR7bn19YCk6ZTtmb3IobGV0IG4gb2YgcilpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgcyBvZiBuKWkucHVzaChHdChzLGUsdCkpO2Vsc2UgZm9yKGxldCBzIG9mIGUpdD09PSEwJiZ0eXBlb2Ygcz09InN0cmluZyImJihzPWB7JHtzfX1gKSxpLnB1c2goQXJyYXkuaXNBcnJheShzKT9HdChuLHMsdCk6bitzKTtyZXR1cm4gbXIuZmxhdHRlbihpKX0saEU9KHIsZT17fSk9PntsZXQgdD1lLnJhbmdlTGltaXQ9PT12b2lkIDA/MWUzOmUucmFuZ2VMaW1pdCxpPShuLHM9e30pPT57bi5xdWV1ZT1bXTtsZXQgYT1zLG89cy5xdWV1ZTtmb3IoO2EudHlwZSE9PSJicmFjZSImJmEudHlwZSE9PSJyb290IiYmYS5wYXJlbnQ7KWE9YS5wYXJlbnQsbz1hLnF1ZXVlO2lmKG4uaW52YWxpZHx8bi5kb2xsYXIpe28ucHVzaChHdChvLnBvcCgpLFRtKG4sZSkpKTtyZXR1cm59aWYobi50eXBlPT09ImJyYWNlIiYmbi5pbnZhbGlkIT09ITAmJm4ubm9kZXMubGVuZ3RoPT09Mil7by5wdXNoKEd0KG8ucG9wKCksWyJ7fSJdKSk7cmV0dXJufWlmKG4ubm9kZXMmJm4ucmFuZ2VzPjApe2xldCBkPW1yLnJlZHVjZShuLm5vZGVzKTtpZihtci5leGNlZWRzTGltaXQoLi4uZCxlLnN0ZXAsdCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoImV4cGFuZGVkIGFycmF5IGxlbmd0aCBleGNlZWRzIHJhbmdlIGxpbWl0LiBVc2Ugb3B0aW9ucy5yYW5nZUxpbWl0IHRvIGluY3JlYXNlIG9yIGRpc2FibGUgdGhlIGxpbWl0LiIpO2xldCBwPWRFKC4uLmQsZSk7cC5sZW5ndGg9PT0wJiYocD1UbShuLGUpKSxvLnB1c2goR3Qoby5wb3AoKSxwKSksbi5ub2Rlcz1bXTtyZXR1cm59bGV0IGw9bXIuZW5jbG9zZUJyYWNlKG4pLGM9bi5xdWV1ZSxmPW47Zm9yKDtmLnR5cGUhPT0iYnJhY2UiJiZmLnR5cGUhPT0icm9vdCImJmYucGFyZW50OylmPWYucGFyZW50LGM9Zi5xdWV1ZTtmb3IobGV0IGQ9MDtkPG4ubm9kZXMubGVuZ3RoO2QrKyl7bGV0IHA9bi5ub2Rlc1tkXTtpZihwLnR5cGU9PT0iY29tbWEiJiZuLnR5cGU9PT0iYnJhY2UiKXtkPT09MSYmYy5wdXNoKCIiKSxjLnB1c2goIiIpO2NvbnRpbnVlfWlmKHAudHlwZT09PSJjbG9zZSIpe28ucHVzaChHdChvLnBvcCgpLGMsbCkpO2NvbnRpbnVlfWlmKHAudmFsdWUmJnAudHlwZSE9PSJvcGVuIil7Yy5wdXNoKEd0KGMucG9wKCkscC52YWx1ZSkpO2NvbnRpbnVlfXAubm9kZXMmJmkocCxuKX1yZXR1cm4gY307cmV0dXJuIG1yLmZsYXR0ZW4oaShyKSl9O1JtLmV4cG9ydHM9aEV9KTt2YXIgRG09eCgobjYsSW0pPT57dSgpOyJ1c2Ugc3RyaWN0IjtJbS5leHBvcnRzPXtNQVhfTEVOR1RIOjFlNCxDSEFSXzA6IjAiLENIQVJfOToiOSIsQ0hBUl9VUFBFUkNBU0VfQToiQSIsQ0hBUl9MT1dFUkNBU0VfQToiYSIsQ0hBUl9VUFBFUkNBU0VfWjoiWiIsQ0hBUl9MT1dFUkNBU0VfWjoieiIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOiIoIixDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOiIpIixDSEFSX0FTVEVSSVNLOiIqIixDSEFSX0FNUEVSU0FORDoiJiIsQ0hBUl9BVDoiQCIsQ0hBUl9CQUNLU0xBU0g6IlxcIixDSEFSX0JBQ0tUSUNLOiJgIixDSEFSX0NBUlJJQUdFX1JFVFVSTjoiXHIiLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6Il4iLENIQVJfQ09MT046IjoiLENIQVJfQ09NTUE6IiwiLENIQVJfRE9MTEFSOiIkIixDSEFSX0RPVDoiLiIsQ0hBUl9ET1VCTEVfUVVPVEU6JyInLENIQVJfRVFVQUw6Ij0iLENIQVJfRVhDTEFNQVRJT05fTUFSSzoiISIsQ0hBUl9GT1JNX0ZFRUQ6IlxmIixDSEFSX0ZPUldBUkRfU0xBU0g6Ii8iLENIQVJfSEFTSDoiIyIsQ0hBUl9IWVBIRU5fTUlOVVM6Ii0iLENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOiI8IixDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6InsiLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDoiWyIsQ0hBUl9MSU5FX0ZFRUQ6YApgLENIQVJfTk9fQlJFQUtfU1BBQ0U6Ilx4QTAiLENIQVJfUEVSQ0VOVDoiJSIsQ0hBUl9QTFVTOiIrIixDSEFSX1FVRVNUSU9OX01BUks6Ij8iLENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDoiPiIsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRToifSIsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDoiXSIsQ0hBUl9TRU1JQ09MT046IjsiLENIQVJfU0lOR0xFX1FVT1RFOiInIixDSEFSX1NQQUNFOiIgIixDSEFSX1RBQjoiCSIsQ0hBUl9VTkRFUlNDT1JFOiJfIixDSEFSX1ZFUlRJQ0FMX0xJTkU6InwiLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOiJcdUZFRkYifX0pO3ZhciBObT14KChzNixNbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBtRT1ocygpLHtNQVhfTEVOR1RIOnFtLENIQVJfQkFDS1NMQVNIOmRsLENIQVJfQkFDS1RJQ0s6Z0UsQ0hBUl9DT01NQTp5RSxDSEFSX0RPVDpiRSxDSEFSX0xFRlRfUEFSRU5USEVTRVM6d0UsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzp2RSxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6eEUsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRTprRSxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6JG0sQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpMbSxDSEFSX0RPVUJMRV9RVU9URTpTRSxDSEFSX1NJTkdMRV9RVU9URTpBRSxDSEFSX05PX0JSRUFLX1NQQUNFOkNFLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOl9FfT1EbSgpLEVFPShyLGU9e30pPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7bGV0IHQ9ZXx8e30saT10eXBlb2YgdC5tYXhMZW5ndGg9PSJudW1iZXIiP01hdGgubWluKHFtLHQubWF4TGVuZ3RoKTpxbTtpZihyLmxlbmd0aD5pKXRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoICgke3IubGVuZ3RofSksIGV4Y2VlZHMgbWF4IGNoYXJhY3RlcnMgKCR7aX0pYCk7bGV0IG49e3R5cGU6InJvb3QiLGlucHV0OnIsbm9kZXM6W119LHM9W25dLGE9bixvPW4sbD0wLGM9ci5sZW5ndGgsZj0wLGQ9MCxwLGg9KCk9PnJbZisrXSxiPXY9PntpZih2LnR5cGU9PT0idGV4dCImJm8udHlwZT09PSJkb3QiJiYoby50eXBlPSJ0ZXh0IiksbyYmby50eXBlPT09InRleHQiJiZ2LnR5cGU9PT0idGV4dCIpe28udmFsdWUrPXYudmFsdWU7cmV0dXJufXJldHVybiBhLm5vZGVzLnB1c2godiksdi5wYXJlbnQ9YSx2LnByZXY9byxvPXYsdn07Zm9yKGIoe3R5cGU6ImJvcyJ9KTtmPGM7KWlmKGE9c1tzLmxlbmd0aC0xXSxwPWgoKSwhKHA9PT1fRXx8cD09PUNFKSl7aWYocD09PWRsKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTooZS5rZWVwRXNjYXBpbmc/cDoiIikraCgpfSk7Y29udGludWV9aWYocD09PUxtKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZToiXFwiK3B9KTtjb250aW51ZX1pZihwPT09JG0pe2wrKztsZXQgdjtmb3IoO2Y8YyYmKHY9aCgpKTspe2lmKHArPXYsdj09PSRtKXtsKys7Y29udGludWV9aWYodj09PWRsKXtwKz1oKCk7Y29udGludWV9aWYodj09PUxtJiYobC0tLGw9PT0wKSlicmVha31iKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXdFKXthPWIoe3R5cGU6InBhcmVuIixub2RlczpbXX0pLHMucHVzaChhKSxiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXZFKXtpZihhLnR5cGUhPT0icGFyZW4iKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9YT1zLnBvcCgpLGIoe3R5cGU6InRleHQiLHZhbHVlOnB9KSxhPXNbcy5sZW5ndGgtMV07Y29udGludWV9aWYocD09PVNFfHxwPT09QUV8fHA9PT1nRSl7bGV0IHY9cCx5O2ZvcihlLmtlZXBRdW90ZXMhPT0hMCYmKHA9IiIpO2Y8YyYmKHk9aCgpKTspe2lmKHk9PT1kbCl7cCs9eStoKCk7Y29udGludWV9aWYoeT09PXYpe2Uua2VlcFF1b3Rlcz09PSEwJiYocCs9eSk7YnJlYWt9cCs9eX1iKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYocD09PXhFKXtkKys7bGV0IHY9by52YWx1ZSYmby52YWx1ZS5zbGljZSgtMSk9PT0iJCJ8fGEuZG9sbGFyPT09ITA7YT1iKHt0eXBlOiJicmFjZSIsb3BlbjohMCxjbG9zZTohMSxkb2xsYXI6dixkZXB0aDpkLGNvbW1hczowLHJhbmdlczowLG5vZGVzOltdfSkscy5wdXNoKGEpLGIoe3R5cGU6Im9wZW4iLHZhbHVlOnB9KTtjb250aW51ZX1pZihwPT09a0Upe2lmKGEudHlwZSE9PSJicmFjZSIpe2Ioe3R5cGU6InRleHQiLHZhbHVlOnB9KTtjb250aW51ZX1sZXQgdj0iY2xvc2UiO2E9cy5wb3AoKSxhLmNsb3NlPSEwLGIoe3R5cGU6dix2YWx1ZTpwfSksZC0tLGE9c1tzLmxlbmd0aC0xXTtjb250aW51ZX1pZihwPT09eUUmJmQ+MCl7aWYoYS5yYW5nZXM+MCl7YS5yYW5nZXM9MDtsZXQgdj1hLm5vZGVzLnNoaWZ0KCk7YS5ub2Rlcz1bdix7dHlwZToidGV4dCIsdmFsdWU6bUUoYSl9XX1iKHt0eXBlOiJjb21tYSIsdmFsdWU6cH0pLGEuY29tbWFzKys7Y29udGludWV9aWYocD09PWJFJiZkPjAmJmEuY29tbWFzPT09MCl7bGV0IHY9YS5ub2RlcztpZihkPT09MHx8di5sZW5ndGg9PT0wKXtiKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpwfSk7Y29udGludWV9aWYoby50eXBlPT09ImRvdCIpe2lmKGEucmFuZ2U9W10sby52YWx1ZSs9cCxvLnR5cGU9InJhbmdlIixhLm5vZGVzLmxlbmd0aCE9PTMmJmEubm9kZXMubGVuZ3RoIT09NSl7YS5pbnZhbGlkPSEwLGEucmFuZ2VzPTAsby50eXBlPSJ0ZXh0Ijtjb250aW51ZX1hLnJhbmdlcysrLGEuYXJncz1bXTtjb250aW51ZX1pZihvLnR5cGU9PT0icmFuZ2UiKXt2LnBvcCgpO2xldCB5PXZbdi5sZW5ndGgtMV07eS52YWx1ZSs9by52YWx1ZStwLG89eSxhLnJhbmdlcy0tO2NvbnRpbnVlfWIoe3R5cGU6ImRvdCIsdmFsdWU6cH0pO2NvbnRpbnVlfWIoe3R5cGU6InRleHQiLHZhbHVlOnB9KX1kbyBpZihhPXMucG9wKCksYS50eXBlIT09InJvb3QiKXthLm5vZGVzLmZvckVhY2godz0+e3cubm9kZXN8fCh3LnR5cGU9PT0ib3BlbiImJih3LmlzT3Blbj0hMCksdy50eXBlPT09ImNsb3NlIiYmKHcuaXNDbG9zZT0hMCksdy5ub2Rlc3x8KHcudHlwZT0idGV4dCIpLHcuaW52YWxpZD0hMCl9KTtsZXQgdj1zW3MubGVuZ3RoLTFdLHk9di5ub2Rlcy5pbmRleE9mKGEpO3Yubm9kZXMuc3BsaWNlKHksMSwuLi5hLm5vZGVzKX13aGlsZShzLmxlbmd0aD4wKTtyZXR1cm4gYih7dHlwZToiZW9zIn0pLG59O01tLmV4cG9ydHM9RUV9KTt2YXIgam09eCgoYTYsRm0pPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgQm09aHMoKSxPRT1PbSgpLFRFPVBtKCksUkU9Tm0oKSxMZT0ocixlPXt9KT0+e2xldCB0PVtdO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBpIG9mIHIpe2xldCBuPUxlLmNyZWF0ZShpLGUpO0FycmF5LmlzQXJyYXkobik/dC5wdXNoKC4uLm4pOnQucHVzaChuKX1lbHNlIHQ9W10uY29uY2F0KExlLmNyZWF0ZShyLGUpKTtyZXR1cm4gZSYmZS5leHBhbmQ9PT0hMCYmZS5ub2R1cGVzPT09ITAmJih0PVsuLi5uZXcgU2V0KHQpXSksdH07TGUucGFyc2U9KHIsZT17fSk9PlJFKHIsZSk7TGUuc3RyaW5naWZ5PShyLGU9e30pPT50eXBlb2Ygcj09InN0cmluZyI/Qm0oTGUucGFyc2UocixlKSxlKTpCbShyLGUpO0xlLmNvbXBpbGU9KHIsZT17fSk9Pih0eXBlb2Ygcj09InN0cmluZyImJihyPUxlLnBhcnNlKHIsZSkpLE9FKHIsZSkpO0xlLmV4cGFuZD0ocixlPXt9KT0+e3R5cGVvZiByPT0ic3RyaW5nIiYmKHI9TGUucGFyc2UocixlKSk7bGV0IHQ9VEUocixlKTtyZXR1cm4gZS5ub2VtcHR5PT09ITAmJih0PXQuZmlsdGVyKEJvb2xlYW4pKSxlLm5vZHVwZXM9PT0hMCYmKHQ9Wy4uLm5ldyBTZXQodCldKSx0fTtMZS5jcmVhdGU9KHIsZT17fSk9PnI9PT0iInx8ci5sZW5ndGg8Mz9bcl06ZS5leHBhbmQhPT0hMD9MZS5jb21waWxlKHIsZSk6TGUuZXhwYW5kKHIsZSk7Rm0uZXhwb3J0cz1MZX0pO3ZhciBEaT14KChvNixXbSk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBQRT0oZXQoKSxVciksYXQ9IlxcXFwvIix6bT1gW14ke2F0fV1gLHl0PSJcXC4iLElFPSJcXCsiLERFPSJcXD8iLHlzPSJcXC8iLHFFPSIoPz0uKSIsVW09IlteL10iLGhsPWAoPzoke3lzfXwkKWAsVm09YCg/Ol58JHt5c30pYCxtbD1gJHt5dH17MSwyfSR7aGx9YCwkRT1gKD8hJHt5dH0pYCxMRT1gKD8hJHtWbX0ke21sfSlgLE1FPWAoPyEke3l0fXswLDF9JHtobH0pYCxORT1gKD8hJHttbH0pYCxCRT1gW14uJHt5c31dYCxGRT1gJHtVbX0qP2AsSG09e0RPVF9MSVRFUkFMOnl0LFBMVVNfTElURVJBTDpJRSxRTUFSS19MSVRFUkFMOkRFLFNMQVNIX0xJVEVSQUw6eXMsT05FX0NIQVI6cUUsUU1BUks6VW0sRU5EX0FOQ0hPUjpobCxET1RTX1NMQVNIOm1sLE5PX0RPVDokRSxOT19ET1RTOkxFLE5PX0RPVF9TTEFTSDpNRSxOT19ET1RTX1NMQVNIOk5FLFFNQVJLX05PX0RPVDpCRSxTVEFSOkZFLFNUQVJUX0FOQ0hPUjpWbX0sakU9ey4uLkhtLFNMQVNIX0xJVEVSQUw6YFske2F0fV1gLFFNQVJLOnptLFNUQVI6YCR7em19Kj9gLERPVFNfU0xBU0g6YCR7eXR9ezEsMn0oPzpbJHthdH1dfCQpYCxOT19ET1Q6YCg/ISR7eXR9KWAsTk9fRE9UUzpgKD8hKD86XnxbJHthdH1dKSR7eXR9ezEsMn0oPzpbJHthdH1dfCQpKWAsTk9fRE9UX1NMQVNIOmAoPyEke3l0fXswLDF9KD86WyR7YXR9XXwkKSlgLE5PX0RPVFNfU0xBU0g6YCg/ISR7eXR9ezEsMn0oPzpbJHthdH1dfCQpKWAsUU1BUktfTk9fRE9UOmBbXi4ke2F0fV1gLFNUQVJUX0FOQ0hPUjpgKD86XnxbJHthdH1dKWAsRU5EX0FOQ0hPUjpgKD86WyR7YXR9XXwkKWB9LHpFPXthbG51bToiYS16QS1aMC05IixhbHBoYToiYS16QS1aIixhc2NpaToiXFx4MDAtXFx4N0YiLGJsYW5rOiIgXFx0IixjbnRybDoiXFx4MDAtXFx4MUZcXHg3RiIsZGlnaXQ6IjAtOSIsZ3JhcGg6IlxceDIxLVxceDdFIixsb3dlcjoiYS16IixwcmludDoiXFx4MjAtXFx4N0UgIixwdW5jdDoiXFwtIVwiIyQlJicoKVxcKissLi86Ozw9Pj9AW1xcXV5fYHt8fX4iLHNwYWNlOiIgXFx0XFxyXFxuXFx2XFxmIix1cHBlcjoiQS1aIix3b3JkOiJBLVphLXowLTlfIix4ZGlnaXQ6IkEtRmEtZjAtOSJ9O1dtLmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6ekUsUkVHRVhfQkFDS1NMQVNIOi9cXCg/IVsqKz9eJHt9KHwpW1xdXSkvZyxSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzovXlteQCFbXF0uLCQqKz9ee30oKXxcXC9dKy8sUkVHRVhfU1BFQ0lBTF9DSEFSUzovWy0qKz8uXiR7fSh8KVtcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcPykoKFxXKShcMyopKS9nLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOi8oWy0qKz8uXiR7fSh8KVtcXV0pL2csUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSDovKD86XFsuKj9bXlxcXVxdfFxcKD89LikpL2csUkVQTEFDRU1FTlRTOnsiKioqIjoiKiIsIioqLyoqIjoiKioiLCIqKi8qKi8qKiI6IioqIn0sQ0hBUl8wOjQ4LENIQVJfOTo1NyxDSEFSX1VQUEVSQ0FTRV9BOjY1LENIQVJfTE9XRVJDQVNFX0E6OTcsQ0hBUl9VUFBFUkNBU0VfWjo5MCxDSEFSX0xPV0VSQ0FTRV9aOjEyMixDSEFSX0xFRlRfUEFSRU5USEVTRVM6NDAsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzo0MSxDSEFSX0FTVEVSSVNLOjQyLENIQVJfQU1QRVJTQU5EOjM4LENIQVJfQVQ6NjQsQ0hBUl9CQUNLV0FSRF9TTEFTSDo5MixDSEFSX0NBUlJJQUdFX1JFVFVSTjoxMyxDSEFSX0NJUkNVTUZMRVhfQUNDRU5UOjk0LENIQVJfQ09MT046NTgsQ0hBUl9DT01NQTo0NCxDSEFSX0RPVDo0NixDSEFSX0RPVUJMRV9RVU9URTozNCxDSEFSX0VRVUFMOjYxLENIQVJfRVhDTEFNQVRJT05fTUFSSzozMyxDSEFSX0ZPUk1fRkVFRDoxMixDSEFSX0ZPUldBUkRfU0xBU0g6NDcsQ0hBUl9HUkFWRV9BQ0NFTlQ6OTYsQ0hBUl9IQVNIOjM1LENIQVJfSFlQSEVOX01JTlVTOjQ1LENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOjYwLENIQVJfTEVGVF9DVVJMWV9CUkFDRToxMjMsQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUOjkxLENIQVJfTElORV9GRUVEOjEwLENIQVJfTk9fQlJFQUtfU1BBQ0U6MTYwLENIQVJfUEVSQ0VOVDozNyxDSEFSX1BMVVM6NDMsQ0hBUl9RVUVTVElPTl9NQVJLOjYzLENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDo2MixDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOjEyNSxDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUOjkzLENIQVJfU0VNSUNPTE9OOjU5LENIQVJfU0lOR0xFX1FVT1RFOjM5LENIQVJfU1BBQ0U6MzIsQ0hBUl9UQUI6OSxDSEFSX1VOREVSU0NPUkU6OTUsQ0hBUl9WRVJUSUNBTF9MSU5FOjEyNCxDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRTo2NTI3OSxTRVA6UEUuc2VwLGV4dGdsb2JDaGFycyhyKXtyZXR1cm57IiEiOnt0eXBlOiJuZWdhdGUiLG9wZW46Iig/Oig/ISg/OiIsY2xvc2U6YCkpJHtyLlNUQVJ9KWB9LCI/Ijp7dHlwZToicW1hcmsiLG9wZW46Iig/OiIsY2xvc2U6Iik/In0sIisiOnt0eXBlOiJwbHVzIixvcGVuOiIoPzoiLGNsb3NlOiIpKyJ9LCIqIjp7dHlwZToic3RhciIsb3BlbjoiKD86IixjbG9zZToiKSoifSwiQCI6e3R5cGU6ImF0IixvcGVuOiIoPzoiLGNsb3NlOiIpIn19fSxnbG9iQ2hhcnMocil7cmV0dXJuIHI9PT0hMD9qRTpIbX19fSk7dmFyIHFpPXgoUmU9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBVRT0oZXQoKSxVciksVkU9bS5wbGF0Zm9ybT09PSJ3aW4zMiIse1JFR0VYX0JBQ0tTTEFTSDpIRSxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOldFLFJFR0VYX1NQRUNJQUxfQ0hBUlM6R0UsUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUw6UUV9PURpKCk7UmUuaXNPYmplY3Q9cj0+ciE9PW51bGwmJnR5cGVvZiByPT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkocik7UmUuaGFzUmVnZXhDaGFycz1yPT5HRS50ZXN0KHIpO1JlLmlzUmVnZXhDaGFyPXI9PnIubGVuZ3RoPT09MSYmUmUuaGFzUmVnZXhDaGFycyhyKTtSZS5lc2NhcGVSZWdleD1yPT5yLnJlcGxhY2UoUUUsIlxcJDEiKTtSZS50b1Bvc2l4U2xhc2hlcz1yPT5yLnJlcGxhY2UoSEUsIi8iKTtSZS5yZW1vdmVCYWNrc2xhc2hlcz1yPT5yLnJlcGxhY2UoV0UsZT0+ZT09PSJcXCI/IiI6ZSk7UmUuc3VwcG9ydHNMb29rYmVoaW5kcz0oKT0+e2xldCByPW0udmVyc2lvbi5zbGljZSgxKS5zcGxpdCgiLiIpLm1hcChOdW1iZXIpO3JldHVybiByLmxlbmd0aD09PTMmJnJbMF0+PTl8fHJbMF09PT04JiZyWzFdPj0xMH07UmUuaXNXaW5kb3dzPXI9PnImJnR5cGVvZiByLndpbmRvd3M9PSJib29sZWFuIj9yLndpbmRvd3M6VkU9PT0hMHx8VUUuc2VwPT09IlxcIjtSZS5lc2NhcGVMYXN0PShyLGUsdCk9PntsZXQgaT1yLmxhc3RJbmRleE9mKGUsdCk7cmV0dXJuIGk9PT0tMT9yOnJbaS0xXT09PSJcXCI/UmUuZXNjYXBlTGFzdChyLGUsaS0xKTpgJHtyLnNsaWNlKDAsaSl9XFwke3Iuc2xpY2UoaSl9YH07UmUucmVtb3ZlUHJlZml4PShyLGU9e30pPT57bGV0IHQ9cjtyZXR1cm4gdC5zdGFydHNXaXRoKCIuLyIpJiYodD10LnNsaWNlKDIpLGUucHJlZml4PSIuLyIpLHR9O1JlLndyYXBPdXRwdXQ9KHIsZT17fSx0PXt9KT0+e2xldCBpPXQuY29udGFpbnM/IiI6Il4iLG49dC5jb250YWlucz8iIjoiJCIscz1gJHtpfSg/OiR7cn0pJHtufWA7cmV0dXJuIGUubmVnYXRlZD09PSEwJiYocz1gKD86Xig/ISR7c30pLiokKWApLHN9fSk7dmFyIGVnPXgoKHU2LEptKT0+e3UoKTsidXNlIHN0cmljdCI7dmFyIEdtPXFpKCkse0NIQVJfQVNURVJJU0s6Z2wsQ0hBUl9BVDpZRSxDSEFSX0JBQ0tXQVJEX1NMQVNIOiRpLENIQVJfQ09NTUE6S0UsQ0hBUl9ET1Q6eWwsQ0hBUl9FWENMQU1BVElPTl9NQVJLOmJsLENIQVJfRk9SV0FSRF9TTEFTSDpRbSxDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6d2wsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOnZsLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpYRSxDSEFSX1BMVVM6WkUsQ0hBUl9RVUVTVElPTl9NQVJLOlltLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6SkUsQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzpLbSxDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUOmUyfT1EaSgpLFhtPXI9PnI9PT1RbXx8cj09PSRpLFptPXI9PntyLmlzUHJlZml4IT09ITAmJihyLmRlcHRoPXIuaXNHbG9ic3Rhcj8xLzA6MSl9LHQyPShyLGUpPT57bGV0IHQ9ZXx8e30saT1yLmxlbmd0aC0xLG49dC5wYXJ0cz09PSEwfHx0LnNjYW5Ub0VuZD09PSEwLHM9W10sYT1bXSxvPVtdLGw9cixjPS0xLGY9MCxkPTAscD0hMSxoPSExLGI9ITEsdj0hMSx5PSExLHc9ITEsaz0hMSxTPSExLEU9ITEsVD0hMSxCPTAsTixSLEY9e3ZhbHVlOiIiLGRlcHRoOjAsaXNHbG9iOiExfSxZPSgpPT5jPj1pLF89KCk9PmwuY2hhckNvZGVBdChjKzEpLFE9KCk9PihOPVIsbC5jaGFyQ29kZUF0KCsrYykpO2Zvcig7YzxpOyl7Uj1RKCk7bGV0IGhlO2lmKFI9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFI9USgpLFI9PT13bCYmKHc9ITApO2NvbnRpbnVlfWlmKHc9PT0hMHx8Uj09PXdsKXtmb3IoQisrO1koKSE9PSEwJiYoUj1RKCkpOyl7aWYoUj09PSRpKXtrPUYuYmFja3NsYXNoZXM9ITAsUSgpO2NvbnRpbnVlfWlmKFI9PT13bCl7QisrO2NvbnRpbnVlfWlmKHchPT0hMCYmUj09PXlsJiYoUj1RKCkpPT09eWwpe2lmKHA9Ri5pc0JyYWNlPSEwLGI9Ri5pc0dsb2I9ITAsVD0hMCxuPT09ITApY29udGludWU7YnJlYWt9aWYodyE9PSEwJiZSPT09S0Upe2lmKHA9Ri5pc0JyYWNlPSEwLGI9Ri5pc0dsb2I9ITAsVD0hMCxuPT09ITApY29udGludWU7YnJlYWt9aWYoUj09PUpFJiYoQi0tLEI9PT0wKSl7dz0hMSxwPUYuaXNCcmFjZT0hMCxUPSEwO2JyZWFrfX1pZihuPT09ITApY29udGludWU7YnJlYWt9aWYoUj09PVFtKXtpZihzLnB1c2goYyksYS5wdXNoKEYpLEY9e3ZhbHVlOiIiLGRlcHRoOjAsaXNHbG9iOiExfSxUPT09ITApY29udGludWU7aWYoTj09PXlsJiZjPT09ZisxKXtmKz0yO2NvbnRpbnVlfWQ9YysxO2NvbnRpbnVlfWlmKHQubm9leHQhPT0hMCYmKFI9PT1aRXx8Uj09PVlFfHxSPT09Z2x8fFI9PT1ZbXx8Uj09PWJsKT09PSEwJiZfKCk9PT12bCl7aWYoYj1GLmlzR2xvYj0hMCx2PUYuaXNFeHRnbG9iPSEwLFQ9ITAsUj09PWJsJiZjPT09ZiYmKEU9ITApLG49PT0hMCl7Zm9yKDtZKCkhPT0hMCYmKFI9USgpKTspe2lmKFI9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFI9USgpO2NvbnRpbnVlfWlmKFI9PT1LbSl7Yj1GLmlzR2xvYj0hMCxUPSEwO2JyZWFrfX1jb250aW51ZX1icmVha31pZihSPT09Z2wpe2lmKE49PT1nbCYmKHk9Ri5pc0dsb2JzdGFyPSEwKSxiPUYuaXNHbG9iPSEwLFQ9ITAsbj09PSEwKWNvbnRpbnVlO2JyZWFrfWlmKFI9PT1ZbSl7aWYoYj1GLmlzR2xvYj0hMCxUPSEwLG49PT0hMCljb250aW51ZTticmVha31pZihSPT09WEUpe2Zvcig7WSgpIT09ITAmJihoZT1RKCkpOyl7aWYoaGU9PT0kaSl7az1GLmJhY2tzbGFzaGVzPSEwLFEoKTtjb250aW51ZX1pZihoZT09PWUyKXtoPUYuaXNCcmFja2V0PSEwLGI9Ri5pc0dsb2I9ITAsVD0hMDticmVha319aWYobj09PSEwKWNvbnRpbnVlO2JyZWFrfWlmKHQubm9uZWdhdGUhPT0hMCYmUj09PWJsJiZjPT09Zil7Uz1GLm5lZ2F0ZWQ9ITAsZisrO2NvbnRpbnVlfWlmKHQubm9wYXJlbiE9PSEwJiZSPT09dmwpe2lmKGI9Ri5pc0dsb2I9ITAsbj09PSEwKXtmb3IoO1koKSE9PSEwJiYoUj1RKCkpOyl7aWYoUj09PXZsKXtrPUYuYmFja3NsYXNoZXM9ITAsUj1RKCk7Y29udGludWV9aWYoUj09PUttKXtUPSEwO2JyZWFrfX1jb250aW51ZX1icmVha31pZihiPT09ITApe2lmKFQ9ITAsbj09PSEwKWNvbnRpbnVlO2JyZWFrfX10Lm5vZXh0PT09ITAmJih2PSExLGI9ITEpO2xldCBVPWwsbGU9IiIsQT0iIjtmPjAmJihsZT1sLnNsaWNlKDAsZiksbD1sLnNsaWNlKGYpLGQtPWYpLFUmJmI9PT0hMCYmZD4wPyhVPWwuc2xpY2UoMCxkKSxBPWwuc2xpY2UoZCkpOmI9PT0hMD8oVT0iIixBPWwpOlU9bCxVJiZVIT09IiImJlUhPT0iLyImJlUhPT1sJiZYbShVLmNoYXJDb2RlQXQoVS5sZW5ndGgtMSkpJiYoVT1VLnNsaWNlKDAsLTEpKSx0LnVuZXNjYXBlPT09ITAmJihBJiYoQT1HbS5yZW1vdmVCYWNrc2xhc2hlcyhBKSksVSYmaz09PSEwJiYoVT1HbS5yZW1vdmVCYWNrc2xhc2hlcyhVKSkpO2xldCBDPXtwcmVmaXg6bGUsaW5wdXQ6cixzdGFydDpmLGJhc2U6VSxnbG9iOkEsaXNCcmFjZTpwLGlzQnJhY2tldDpoLGlzR2xvYjpiLGlzRXh0Z2xvYjp2LGlzR2xvYnN0YXI6eSxuZWdhdGVkOlMsbmVnYXRlZEV4dGdsb2I6RX07aWYodC50b2tlbnM9PT0hMCYmKEMubWF4RGVwdGg9MCxYbShSKXx8YS5wdXNoKEYpLEMudG9rZW5zPWEpLHQucGFydHM9PT0hMHx8dC50b2tlbnM9PT0hMCl7bGV0IGhlO2ZvcihsZXQgVj0wO1Y8cy5sZW5ndGg7VisrKXtsZXQgRWU9aGU/aGUrMTpmLEllPXNbVl0sRGU9ci5zbGljZShFZSxJZSk7dC50b2tlbnMmJihWPT09MCYmZiE9PTA/KGFbVl0uaXNQcmVmaXg9ITAsYVtWXS52YWx1ZT1sZSk6YVtWXS52YWx1ZT1EZSxabShhW1ZdKSxDLm1heERlcHRoKz1hW1ZdLmRlcHRoKSwoViE9PTB8fERlIT09IiIpJiZvLnB1c2goRGUpLGhlPUllfWlmKGhlJiZoZSsxPHIubGVuZ3RoKXtsZXQgVj1yLnNsaWNlKGhlKzEpO28ucHVzaChWKSx0LnRva2VucyYmKGFbYS5sZW5ndGgtMV0udmFsdWU9VixabShhW2EubGVuZ3RoLTFdKSxDLm1heERlcHRoKz1hW2EubGVuZ3RoLTFdLmRlcHRoKX1DLnNsYXNoZXM9cyxDLnBhcnRzPW99cmV0dXJuIEN9O0ptLmV4cG9ydHM9dDJ9KTt2YXIgaWc9eCgoZjYscmcpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYnM9RGkoKSxNZT1xaSgpLHtNQVhfTEVOR1RIOndzLFBPU0lYX1JFR0VYX1NPVVJDRTpyMixSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzppMixSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUY6bjIsUkVQTEFDRU1FTlRTOnRnfT1icyxzMj0ocixlKT0+e2lmKHR5cGVvZiBlLmV4cGFuZFJhbmdlPT0iZnVuY3Rpb24iKXJldHVybiBlLmV4cGFuZFJhbmdlKC4uLnIsZSk7ci5zb3J0KCk7bGV0IHQ9YFske3Iuam9pbigiLSIpfV1gO3RyeXtuZXcgUmVnRXhwKHQpfWNhdGNoKGkpe3JldHVybiByLm1hcChuPT5NZS5lc2NhcGVSZWdleChuKSkuam9pbigiLi4iKX1yZXR1cm4gdH0sZ3I9KHIsZSk9PmBNaXNzaW5nICR7cn06ICIke2V9IiAtIHVzZSAiXFxcXCR7ZX0iIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2AseGw9KHIsZSk9PntpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBzdHJpbmciKTtyPXRnW3JdfHxyO2xldCB0PXsuLi5lfSxpPXR5cGVvZiB0Lm1heExlbmd0aD09Im51bWJlciI/TWF0aC5taW4od3MsdC5tYXhMZW5ndGgpOndzLG49ci5sZW5ndGg7aWYobj5pKXRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke259LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7aX1gKTtsZXQgcz17dHlwZToiYm9zIix2YWx1ZToiIixvdXRwdXQ6dC5wcmVwZW5kfHwiIn0sYT1bc10sbz10LmNhcHR1cmU/IiI6Ij86IixsPU1lLmlzV2luZG93cyhlKSxjPWJzLmdsb2JDaGFycyhsKSxmPWJzLmV4dGdsb2JDaGFycyhjKSx7RE9UX0xJVEVSQUw6ZCxQTFVTX0xJVEVSQUw6cCxTTEFTSF9MSVRFUkFMOmgsT05FX0NIQVI6YixET1RTX1NMQVNIOnYsTk9fRE9UOnksTk9fRE9UX1NMQVNIOncsTk9fRE9UU19TTEFTSDprLFFNQVJLOlMsUU1BUktfTk9fRE9UOkUsU1RBUjpULFNUQVJUX0FOQ0hPUjpCfT1jLE49JD0+YCgke299KD86KD8hJHtCfSR7JC5kb3Q/djpkfSkuKSo/KWAsUj10LmRvdD8iIjp5LEY9dC5kb3Q/UzpFLFk9dC5iYXNoPT09ITA/Tih0KTpUO3QuY2FwdHVyZSYmKFk9YCgke1l9KWApLHR5cGVvZiB0Lm5vZXh0PT0iYm9vbGVhbiImJih0Lm5vZXh0Z2xvYj10Lm5vZXh0KTtsZXQgXz17aW5wdXQ6cixpbmRleDotMSxzdGFydDowLGRvdDp0LmRvdD09PSEwLGNvbnN1bWVkOiIiLG91dHB1dDoiIixwcmVmaXg6IiIsYmFja3RyYWNrOiExLG5lZ2F0ZWQ6ITEsYnJhY2tldHM6MCxicmFjZXM6MCxwYXJlbnM6MCxxdW90ZXM6MCxnbG9ic3RhcjohMSx0b2tlbnM6YX07cj1NZS5yZW1vdmVQcmVmaXgocixfKSxuPXIubGVuZ3RoO2xldCBRPVtdLFU9W10sbGU9W10sQT1zLEMsaGU9KCk9Pl8uaW5kZXg9PT1uLTEsVj1fLnBlZWs9KCQ9MSk9PnJbXy5pbmRleCskXSxFZT1fLmFkdmFuY2U9KCk9PnJbKytfLmluZGV4XXx8IiIsSWU9KCk9PnIuc2xpY2UoXy5pbmRleCsxKSxEZT0oJD0iIixhZT0wKT0+e18uY29uc3VtZWQrPSQsXy5pbmRleCs9YWV9LGppPSQ9PntfLm91dHB1dCs9JC5vdXRwdXQhPW51bGw/JC5vdXRwdXQ6JC52YWx1ZSxEZSgkLnZhbHVlKX0sSXY9KCk9PntsZXQgJD0xO2Zvcig7VigpPT09IiEiJiYoVigyKSE9PSIoInx8VigzKT09PSI/Iik7KUVlKCksXy5zdGFydCsrLCQrKztyZXR1cm4gJCUyPT0wPyExOihfLm5lZ2F0ZWQ9ITAsXy5zdGFydCsrLCEwKX0semk9JD0+e19bJF0rKyxsZS5wdXNoKCQpfSxGdD0kPT57X1skXS0tLGxlLnBvcCgpfSxXPSQ9PntpZihBLnR5cGU9PT0iZ2xvYnN0YXIiKXtsZXQgYWU9Xy5icmFjZXM+MCYmKCQudHlwZT09PSJjb21tYSJ8fCQudHlwZT09PSJicmFjZSIpLEk9JC5leHRnbG9iPT09ITB8fFEubGVuZ3RoJiYoJC50eXBlPT09InBpcGUifHwkLnR5cGU9PT0icGFyZW4iKTskLnR5cGUhPT0ic2xhc2giJiYkLnR5cGUhPT0icGFyZW4iJiYhYWUmJiFJJiYoXy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtQS5vdXRwdXQubGVuZ3RoKSxBLnR5cGU9InN0YXIiLEEudmFsdWU9IioiLEEub3V0cHV0PVksXy5vdXRwdXQrPUEub3V0cHV0KX1pZihRLmxlbmd0aCYmJC50eXBlIT09InBhcmVuIiYmKFFbUS5sZW5ndGgtMV0uaW5uZXIrPSQudmFsdWUpLCgkLnZhbHVlfHwkLm91dHB1dCkmJmppKCQpLEEmJkEudHlwZT09PSJ0ZXh0IiYmJC50eXBlPT09InRleHQiKXtBLnZhbHVlKz0kLnZhbHVlLEEub3V0cHV0PShBLm91dHB1dHx8IiIpKyQudmFsdWU7cmV0dXJufSQucHJldj1BLGEucHVzaCgkKSxBPSR9LFVpPSgkLGFlKT0+e2xldCBJPXsuLi5mW2FlXSxjb25kaXRpb25zOjEsaW5uZXI6IiJ9O0kucHJldj1BLEkucGFyZW5zPV8ucGFyZW5zLEkub3V0cHV0PV8ub3V0cHV0O2xldCBIPSh0LmNhcHR1cmU/IigiOiIiKStJLm9wZW47emkoInBhcmVucyIpLFcoe3R5cGU6JCx2YWx1ZTphZSxvdXRwdXQ6Xy5vdXRwdXQ/IiI6Yn0pLFcoe3R5cGU6InBhcmVuIixleHRnbG9iOiEwLHZhbHVlOkVlKCksb3V0cHV0Okh9KSxRLnB1c2goSSl9LER2PSQ9PntsZXQgYWU9JC5jbG9zZSsodC5jYXB0dXJlPyIpIjoiIiksSTtpZigkLnR5cGU9PT0ibmVnYXRlIil7bGV0IEg9WTtpZigkLmlubmVyJiYkLmlubmVyLmxlbmd0aD4xJiYkLmlubmVyLmluY2x1ZGVzKCIvIikmJihIPU4odCkpLChIIT09WXx8aGUoKXx8L15cKSskLy50ZXN0KEllKCkpKSYmKGFlPSQuY2xvc2U9YCkkKSkke0h9YCksJC5pbm5lci5pbmNsdWRlcygiKiIpJiYoST1JZSgpKSYmL15cLlteXFwvLl0rJC8udGVzdChJKSl7bGV0IGNlPXhsKEksey4uLmUsZmFzdHBhdGhzOiExfSkub3V0cHV0O2FlPSQuY2xvc2U9YCkke2NlfSkke0h9KWB9JC5wcmV2LnR5cGU9PT0iYm9zIiYmKF8ubmVnYXRlZEV4dGdsb2I9ITApfVcoe3R5cGU6InBhcmVuIixleHRnbG9iOiEwLHZhbHVlOkMsb3V0cHV0OmFlfSksRnQoInBhcmVucyIpfTtpZih0LmZhc3RwYXRocyE9PSExJiYhLyheWyohXXxbLygpW1xde30iXSkvLnRlc3Qocikpe2xldCAkPSExLGFlPXIucmVwbGFjZShuMiwoSSxILGNlLENlLHllLEJzKT0+Q2U9PT0iXFwiPygkPSEwLEkpOkNlPT09Ij8iP0g/SCtDZSsoeWU/Uy5yZXBlYXQoeWUubGVuZ3RoKToiIik6QnM9PT0wP0YrKHllP1MucmVwZWF0KHllLmxlbmd0aCk6IiIpOlMucmVwZWF0KGNlLmxlbmd0aCk6Q2U9PT0iLiI/ZC5yZXBlYXQoY2UubGVuZ3RoKTpDZT09PSIqIj9IP0grQ2UrKHllP1k6IiIpOlk6SD9JOmBcXCR7SX1gKTtyZXR1cm4gJD09PSEwJiYodC51bmVzY2FwZT09PSEwP2FlPWFlLnJlcGxhY2UoL1xcL2csIiIpOmFlPWFlLnJlcGxhY2UoL1xcKy9nLEk9PkkubGVuZ3RoJTI9PTA/IlxcXFwiOkk/IlxcIjoiIikpLGFlPT09ciYmdC5jb250YWlucz09PSEwPyhfLm91dHB1dD1yLF8pOihfLm91dHB1dD1NZS53cmFwT3V0cHV0KGFlLF8sZSksXyl9Zm9yKDshaGUoKTspe2lmKEM9RWUoKSxDPT09IlwwIiljb250aW51ZTtpZihDPT09IlxcIil7bGV0IEk9VigpO2lmKEk9PT0iLyImJnQuYmFzaCE9PSEwfHxJPT09Ii4ifHxJPT09IjsiKWNvbnRpbnVlO2lmKCFJKXtDKz0iXFwiLFcoe3R5cGU6InRleHQiLHZhbHVlOkN9KTtjb250aW51ZX1sZXQgSD0vXlxcKy8uZXhlYyhJZSgpKSxjZT0wO2lmKEgmJkhbMF0ubGVuZ3RoPjImJihjZT1IWzBdLmxlbmd0aCxfLmluZGV4Kz1jZSxjZSUyIT0wJiYoQys9IlxcIikpLHQudW5lc2NhcGU9PT0hMD9DPUVlKCk6Qys9RWUoKSxfLmJyYWNrZXRzPT09MCl7Vyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfX1pZihfLmJyYWNrZXRzPjAmJihDIT09Il0ifHxBLnZhbHVlPT09IlsifHxBLnZhbHVlPT09IlteIikpe2lmKHQucG9zaXghPT0hMSYmQz09PSI6Iil7bGV0IEk9QS52YWx1ZS5zbGljZSgxKTtpZihJLmluY2x1ZGVzKCJbIikmJihBLnBvc2l4PSEwLEkuaW5jbHVkZXMoIjoiKSkpe2xldCBIPUEudmFsdWUubGFzdEluZGV4T2YoIlsiKSxjZT1BLnZhbHVlLnNsaWNlKDAsSCksQ2U9QS52YWx1ZS5zbGljZShIKzIpLHllPXIyW0NlXTtpZih5ZSl7QS52YWx1ZT1jZSt5ZSxfLmJhY2t0cmFjaz0hMCxFZSgpLCFzLm91dHB1dCYmYS5pbmRleE9mKEEpPT09MSYmKHMub3V0cHV0PWIpO2NvbnRpbnVlfX19KEM9PT0iWyImJlYoKSE9PSI6Inx8Qz09PSItIiYmVigpPT09Il0iKSYmKEM9YFxcJHtDfWApLEM9PT0iXSImJihBLnZhbHVlPT09IlsifHxBLnZhbHVlPT09IlteIikmJihDPWBcXCR7Q31gKSx0LnBvc2l4PT09ITAmJkM9PT0iISImJkEudmFsdWU9PT0iWyImJihDPSJeIiksQS52YWx1ZSs9QyxqaSh7dmFsdWU6Q30pO2NvbnRpbnVlfWlmKF8ucXVvdGVzPT09MSYmQyE9PSciJyl7Qz1NZS5lc2NhcGVSZWdleChDKSxBLnZhbHVlKz1DLGppKHt2YWx1ZTpDfSk7Y29udGludWV9aWYoQz09PSciJyl7Xy5xdW90ZXM9Xy5xdW90ZXM9PT0xPzA6MSx0LmtlZXBRdW90ZXM9PT0hMCYmVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iKCIpe3ppKCJwYXJlbnMiKSxXKHt0eXBlOiJwYXJlbiIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iKSIpe2lmKF8ucGFyZW5zPT09MCYmdC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigib3BlbmluZyIsIigiKSk7bGV0IEk9UVtRLmxlbmd0aC0xXTtpZihJJiZfLnBhcmVucz09PUkucGFyZW5zKzEpe0R2KFEucG9wKCkpO2NvbnRpbnVlfVcoe3R5cGU6InBhcmVuIix2YWx1ZTpDLG91dHB1dDpfLnBhcmVucz8iKSI6IlxcKSJ9KSxGdCgicGFyZW5zIik7Y29udGludWV9aWYoQz09PSJbIil7aWYodC5ub2JyYWNrZXQ9PT0hMHx8IUllKCkuaW5jbHVkZXMoIl0iKSl7aWYodC5ub2JyYWNrZXQhPT0hMCYmdC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigiY2xvc2luZyIsIl0iKSk7Qz1gXFwke0N9YH1lbHNlIHppKCJicmFja2V0cyIpO1coe3R5cGU6ImJyYWNrZXQiLHZhbHVlOkN9KTtjb250aW51ZX1pZihDPT09Il0iKXtpZih0Lm5vYnJhY2tldD09PSEwfHxBJiZBLnR5cGU9PT0iYnJhY2tldCImJkEudmFsdWUubGVuZ3RoPT09MSl7Vyh7dHlwZToidGV4dCIsdmFsdWU6QyxvdXRwdXQ6YFxcJHtDfWB9KTtjb250aW51ZX1pZihfLmJyYWNrZXRzPT09MCl7aWYodC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigib3BlbmluZyIsIlsiKSk7Vyh7dHlwZToidGV4dCIsdmFsdWU6QyxvdXRwdXQ6YFxcJHtDfWB9KTtjb250aW51ZX1GdCgiYnJhY2tldHMiKTtsZXQgST1BLnZhbHVlLnNsaWNlKDEpO2lmKEEucG9zaXghPT0hMCYmSVswXT09PSJeIiYmIUkuaW5jbHVkZXMoIi8iKSYmKEM9YC8ke0N9YCksQS52YWx1ZSs9QyxqaSh7dmFsdWU6Q30pLHQubGl0ZXJhbEJyYWNrZXRzPT09ITF8fE1lLmhhc1JlZ2V4Q2hhcnMoSSkpY29udGludWU7bGV0IEg9TWUuZXNjYXBlUmVnZXgoQS52YWx1ZSk7aWYoXy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtQS52YWx1ZS5sZW5ndGgpLHQubGl0ZXJhbEJyYWNrZXRzPT09ITApe18ub3V0cHV0Kz1ILEEudmFsdWU9SDtjb250aW51ZX1BLnZhbHVlPWAoJHtvfSR7SH18JHtBLnZhbHVlfSlgLF8ub3V0cHV0Kz1BLnZhbHVlO2NvbnRpbnVlfWlmKEM9PT0ieyImJnQubm9icmFjZSE9PSEwKXt6aSgiYnJhY2VzIik7bGV0IEk9e3R5cGU6ImJyYWNlIix2YWx1ZTpDLG91dHB1dDoiKCIsb3V0cHV0SW5kZXg6Xy5vdXRwdXQubGVuZ3RoLHRva2Vuc0luZGV4Ol8udG9rZW5zLmxlbmd0aH07VS5wdXNoKEkpLFcoSSk7Y29udGludWV9aWYoQz09PSJ9Iil7bGV0IEk9VVtVLmxlbmd0aC0xXTtpZih0Lm5vYnJhY2U9PT0hMHx8IUkpe1coe3R5cGU6InRleHQiLHZhbHVlOkMsb3V0cHV0OkN9KTtjb250aW51ZX1sZXQgSD0iKSI7aWYoSS5kb3RzPT09ITApe2xldCBjZT1hLnNsaWNlKCksQ2U9W107Zm9yKGxldCB5ZT1jZS5sZW5ndGgtMTt5ZT49MCYmKGEucG9wKCksY2VbeWVdLnR5cGUhPT0iYnJhY2UiKTt5ZS0tKWNlW3llXS50eXBlIT09ImRvdHMiJiZDZS51bnNoaWZ0KGNlW3llXS52YWx1ZSk7SD1zMihDZSx0KSxfLmJhY2t0cmFjaz0hMH1pZihJLmNvbW1hIT09ITAmJkkuZG90cyE9PSEwKXtsZXQgY2U9Xy5vdXRwdXQuc2xpY2UoMCxJLm91dHB1dEluZGV4KSxDZT1fLnRva2Vucy5zbGljZShJLnRva2Vuc0luZGV4KTtJLnZhbHVlPUkub3V0cHV0PSJcXHsiLEM9SD0iXFx9IixfLm91dHB1dD1jZTtmb3IobGV0IHllIG9mIENlKV8ub3V0cHV0Kz15ZS5vdXRwdXR8fHllLnZhbHVlfVcoe3R5cGU6ImJyYWNlIix2YWx1ZTpDLG91dHB1dDpIfSksRnQoImJyYWNlcyIpLFUucG9wKCk7Y29udGludWV9aWYoQz09PSJ8Iil7US5sZW5ndGg+MCYmUVtRLmxlbmd0aC0xXS5jb25kaXRpb25zKyssVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEM9PT0iLCIpe2xldCBJPUMsSD1VW1UubGVuZ3RoLTFdO0gmJmxlW2xlLmxlbmd0aC0xXT09PSJicmFjZXMiJiYoSC5jb21tYT0hMCxJPSJ8IiksVyh7dHlwZToiY29tbWEiLHZhbHVlOkMsb3V0cHV0Okl9KTtjb250aW51ZX1pZihDPT09Ii8iKXtpZihBLnR5cGU9PT0iZG90IiYmXy5pbmRleD09PV8uc3RhcnQrMSl7Xy5zdGFydD1fLmluZGV4KzEsXy5jb25zdW1lZD0iIixfLm91dHB1dD0iIixhLnBvcCgpLEE9cztjb250aW51ZX1XKHt0eXBlOiJzbGFzaCIsdmFsdWU6QyxvdXRwdXQ6aH0pO2NvbnRpbnVlfWlmKEM9PT0iLiIpe2lmKF8uYnJhY2VzPjAmJkEudHlwZT09PSJkb3QiKXtBLnZhbHVlPT09Ii4iJiYoQS5vdXRwdXQ9ZCk7bGV0IEk9VVtVLmxlbmd0aC0xXTtBLnR5cGU9ImRvdHMiLEEub3V0cHV0Kz1DLEEudmFsdWUrPUMsSS5kb3RzPSEwO2NvbnRpbnVlfWlmKF8uYnJhY2VzK18ucGFyZW5zPT09MCYmQS50eXBlIT09ImJvcyImJkEudHlwZSE9PSJzbGFzaCIpe1coe3R5cGU6InRleHQiLHZhbHVlOkMsb3V0cHV0OmR9KTtjb250aW51ZX1XKHt0eXBlOiJkb3QiLHZhbHVlOkMsb3V0cHV0OmR9KTtjb250aW51ZX1pZihDPT09Ij8iKXtpZighKEEmJkEudmFsdWU9PT0iKCIpJiZ0Lm5vZXh0Z2xvYiE9PSEwJiZWKCk9PT0iKCImJlYoMikhPT0iPyIpe1VpKCJxbWFyayIsQyk7Y29udGludWV9aWYoQSYmQS50eXBlPT09InBhcmVuIil7bGV0IEg9VigpLGNlPUM7aWYoSD09PSI8IiYmIU1lLnN1cHBvcnRzTG9va2JlaGluZHMoKSl0aHJvdyBuZXcgRXJyb3IoIk5vZGUuanMgdjEwIG9yIGhpZ2hlciBpcyByZXF1aXJlZCBmb3IgcmVnZXggbG9va2JlaGluZHMiKTsoQS52YWx1ZT09PSIoIiYmIS9bIT08Ol0vLnRlc3QoSCl8fEg9PT0iPCImJiEvPChbIT1dfFx3Kz4pLy50ZXN0KEllKCkpKSYmKGNlPWBcXCR7Q31gKSxXKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpDLG91dHB1dDpjZX0pO2NvbnRpbnVlfWlmKHQuZG90IT09ITAmJihBLnR5cGU9PT0ic2xhc2gifHxBLnR5cGU9PT0iYm9zIikpe1coe3R5cGU6InFtYXJrIix2YWx1ZTpDLG91dHB1dDpFfSk7Y29udGludWV9Vyh7dHlwZToicW1hcmsiLHZhbHVlOkMsb3V0cHV0OlN9KTtjb250aW51ZX1pZihDPT09IiEiKXtpZih0Lm5vZXh0Z2xvYiE9PSEwJiZWKCk9PT0iKCImJihWKDIpIT09Ij8ifHwhL1shPTw6XS8udGVzdChWKDMpKSkpe1VpKCJuZWdhdGUiLEMpO2NvbnRpbnVlfWlmKHQubm9uZWdhdGUhPT0hMCYmXy5pbmRleD09PTApe0l2KCk7Y29udGludWV9fWlmKEM9PT0iKyIpe2lmKHQubm9leHRnbG9iIT09ITAmJlYoKT09PSIoIiYmVigyKSE9PSI/Iil7VWkoInBsdXMiLEMpO2NvbnRpbnVlfWlmKEEmJkEudmFsdWU9PT0iKCJ8fHQucmVnZXg9PT0hMSl7Vyh7dHlwZToicGx1cyIsdmFsdWU6QyxvdXRwdXQ6cH0pO2NvbnRpbnVlfWlmKEEmJihBLnR5cGU9PT0iYnJhY2tldCJ8fEEudHlwZT09PSJwYXJlbiJ8fEEudHlwZT09PSJicmFjZSIpfHxfLnBhcmVucz4wKXtXKHt0eXBlOiJwbHVzIix2YWx1ZTpDfSk7Y29udGludWV9Vyh7dHlwZToicGx1cyIsdmFsdWU6cH0pO2NvbnRpbnVlfWlmKEM9PT0iQCIpe2lmKHQubm9leHRnbG9iIT09ITAmJlYoKT09PSIoIiYmVigyKSE9PSI/Iil7Vyh7dHlwZToiYXQiLGV4dGdsb2I6ITAsdmFsdWU6QyxvdXRwdXQ6IiJ9KTtjb250aW51ZX1XKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpDfSk7Y29udGludWV9aWYoQyE9PSIqIil7KEM9PT0iJCJ8fEM9PT0iXiIpJiYoQz1gXFwke0N9YCk7bGV0IEk9aTIuZXhlYyhJZSgpKTtJJiYoQys9SVswXSxfLmluZGV4Kz1JWzBdLmxlbmd0aCksVyh7dHlwZToidGV4dCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEEmJihBLnR5cGU9PT0iZ2xvYnN0YXIifHxBLnN0YXI9PT0hMCkpe0EudHlwZT0ic3RhciIsQS5zdGFyPSEwLEEudmFsdWUrPUMsQS5vdXRwdXQ9WSxfLmJhY2t0cmFjaz0hMCxfLmdsb2JzdGFyPSEwLERlKEMpO2NvbnRpbnVlfWxldCAkPUllKCk7aWYodC5ub2V4dGdsb2IhPT0hMCYmL15cKFteP10vLnRlc3QoJCkpe1VpKCJzdGFyIixDKTtjb250aW51ZX1pZihBLnR5cGU9PT0ic3RhciIpe2lmKHQubm9nbG9ic3Rhcj09PSEwKXtEZShDKTtjb250aW51ZX1sZXQgST1BLnByZXYsSD1JLnByZXYsY2U9SS50eXBlPT09InNsYXNoInx8SS50eXBlPT09ImJvcyIsQ2U9SCYmKEgudHlwZT09PSJzdGFyInx8SC50eXBlPT09Imdsb2JzdGFyIik7aWYodC5iYXNoPT09ITAmJighY2V8fCRbMF0mJiRbMF0hPT0iLyIpKXtXKHt0eXBlOiJzdGFyIix2YWx1ZTpDLG91dHB1dDoiIn0pO2NvbnRpbnVlfWxldCB5ZT1fLmJyYWNlcz4wJiYoSS50eXBlPT09ImNvbW1hInx8SS50eXBlPT09ImJyYWNlIiksQnM9US5sZW5ndGgmJihJLnR5cGU9PT0icGlwZSJ8fEkudHlwZT09PSJwYXJlbiIpO2lmKCFjZSYmSS50eXBlIT09InBhcmVuIiYmIXllJiYhQnMpe1coe3R5cGU6InN0YXIiLHZhbHVlOkMsb3V0cHV0OiIifSk7Y29udGludWV9Zm9yKDskLnNsaWNlKDAsMyk9PT0iLyoqIjspe2xldCBWaT1yW18uaW5kZXgrNF07aWYoVmkmJlZpIT09Ii8iKWJyZWFrOyQ9JC5zbGljZSgzKSxEZSgiLyoqIiwzKX1pZihJLnR5cGU9PT0iYm9zIiYmaGUoKSl7QS50eXBlPSJnbG9ic3RhciIsQS52YWx1ZSs9QyxBLm91dHB1dD1OKHQpLF8ub3V0cHV0PUEub3V0cHV0LF8uZ2xvYnN0YXI9ITAsRGUoQyk7Y29udGludWV9aWYoSS50eXBlPT09InNsYXNoIiYmSS5wcmV2LnR5cGUhPT0iYm9zIiYmIUNlJiZoZSgpKXtfLm91dHB1dD1fLm91dHB1dC5zbGljZSgwLC0oSS5vdXRwdXQrQS5vdXRwdXQpLmxlbmd0aCksSS5vdXRwdXQ9YCg/OiR7SS5vdXRwdXR9YCxBLnR5cGU9Imdsb2JzdGFyIixBLm91dHB1dD1OKHQpKyh0LnN0cmljdFNsYXNoZXM/IikiOiJ8JCkiKSxBLnZhbHVlKz1DLF8uZ2xvYnN0YXI9ITAsXy5vdXRwdXQrPUkub3V0cHV0K0Eub3V0cHV0LERlKEMpO2NvbnRpbnVlfWlmKEkudHlwZT09PSJzbGFzaCImJkkucHJldi50eXBlIT09ImJvcyImJiRbMF09PT0iLyIpe2xldCBWaT0kWzFdIT09dm9pZCAwPyJ8JCI6IiI7Xy5vdXRwdXQ9Xy5vdXRwdXQuc2xpY2UoMCwtKEkub3V0cHV0K0Eub3V0cHV0KS5sZW5ndGgpLEkub3V0cHV0PWAoPzoke0kub3V0cHV0fWAsQS50eXBlPSJnbG9ic3RhciIsQS5vdXRwdXQ9YCR7Tih0KX0ke2h9fCR7aH0ke1ZpfSlgLEEudmFsdWUrPUMsXy5vdXRwdXQrPUkub3V0cHV0K0Eub3V0cHV0LF8uZ2xvYnN0YXI9ITAsRGUoQytFZSgpKSxXKHt0eXBlOiJzbGFzaCIsdmFsdWU6Ii8iLG91dHB1dDoiIn0pO2NvbnRpbnVlfWlmKEkudHlwZT09PSJib3MiJiYkWzBdPT09Ii8iKXtBLnR5cGU9Imdsb2JzdGFyIixBLnZhbHVlKz1DLEEub3V0cHV0PWAoPzpefCR7aH18JHtOKHQpfSR7aH0pYCxfLm91dHB1dD1BLm91dHB1dCxfLmdsb2JzdGFyPSEwLERlKEMrRWUoKSksVyh7dHlwZToic2xhc2giLHZhbHVlOiIvIixvdXRwdXQ6IiJ9KTtjb250aW51ZX1fLm91dHB1dD1fLm91dHB1dC5zbGljZSgwLC1BLm91dHB1dC5sZW5ndGgpLEEudHlwZT0iZ2xvYnN0YXIiLEEub3V0cHV0PU4odCksQS52YWx1ZSs9QyxfLm91dHB1dCs9QS5vdXRwdXQsXy5nbG9ic3Rhcj0hMCxEZShDKTtjb250aW51ZX1sZXQgYWU9e3R5cGU6InN0YXIiLHZhbHVlOkMsb3V0cHV0Oll9O2lmKHQuYmFzaD09PSEwKXthZS5vdXRwdXQ9Ii4qPyIsKEEudHlwZT09PSJib3MifHxBLnR5cGU9PT0ic2xhc2giKSYmKGFlLm91dHB1dD1SK2FlLm91dHB1dCksVyhhZSk7Y29udGludWV9aWYoQSYmKEEudHlwZT09PSJicmFja2V0Inx8QS50eXBlPT09InBhcmVuIikmJnQucmVnZXg9PT0hMCl7YWUub3V0cHV0PUMsVyhhZSk7Y29udGludWV9KF8uaW5kZXg9PT1fLnN0YXJ0fHxBLnR5cGU9PT0ic2xhc2gifHxBLnR5cGU9PT0iZG90IikmJihBLnR5cGU9PT0iZG90Ij8oXy5vdXRwdXQrPXcsQS5vdXRwdXQrPXcpOnQuZG90PT09ITA/KF8ub3V0cHV0Kz1rLEEub3V0cHV0Kz1rKTooXy5vdXRwdXQrPVIsQS5vdXRwdXQrPVIpLFYoKSE9PSIqIiYmKF8ub3V0cHV0Kz1iLEEub3V0cHV0Kz1iKSksVyhhZSl9Zm9yKDtfLmJyYWNrZXRzPjA7KXtpZih0LnN0cmljdEJyYWNrZXRzPT09ITApdGhyb3cgbmV3IFN5bnRheEVycm9yKGdyKCJjbG9zaW5nIiwiXSIpKTtfLm91dHB1dD1NZS5lc2NhcGVMYXN0KF8ub3V0cHV0LCJbIiksRnQoImJyYWNrZXRzIil9Zm9yKDtfLnBhcmVucz4wOyl7aWYodC5zdHJpY3RCcmFja2V0cz09PSEwKXRocm93IG5ldyBTeW50YXhFcnJvcihncigiY2xvc2luZyIsIikiKSk7Xy5vdXRwdXQ9TWUuZXNjYXBlTGFzdChfLm91dHB1dCwiKCIpLEZ0KCJwYXJlbnMiKX1mb3IoO18uYnJhY2VzPjA7KXtpZih0LnN0cmljdEJyYWNrZXRzPT09ITApdGhyb3cgbmV3IFN5bnRheEVycm9yKGdyKCJjbG9zaW5nIiwifSIpKTtfLm91dHB1dD1NZS5lc2NhcGVMYXN0KF8ub3V0cHV0LCJ7IiksRnQoImJyYWNlcyIpfWlmKHQuc3RyaWN0U2xhc2hlcyE9PSEwJiYoQS50eXBlPT09InN0YXIifHxBLnR5cGU9PT0iYnJhY2tldCIpJiZXKHt0eXBlOiJtYXliZV9zbGFzaCIsdmFsdWU6IiIsb3V0cHV0OmAke2h9P2B9KSxfLmJhY2t0cmFjaz09PSEwKXtfLm91dHB1dD0iIjtmb3IobGV0ICQgb2YgXy50b2tlbnMpXy5vdXRwdXQrPSQub3V0cHV0IT1udWxsPyQub3V0cHV0OiQudmFsdWUsJC5zdWZmaXgmJihfLm91dHB1dCs9JC5zdWZmaXgpfXJldHVybiBffTt4bC5mYXN0cGF0aHM9KHIsZSk9PntsZXQgdD17Li4uZX0saT10eXBlb2YgdC5tYXhMZW5ndGg9PSJudW1iZXIiP01hdGgubWluKHdzLHQubWF4TGVuZ3RoKTp3cyxuPXIubGVuZ3RoO2lmKG4+aSl0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtufSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke2l9YCk7cj10Z1tyXXx8cjtsZXQgcz1NZS5pc1dpbmRvd3MoZSkse0RPVF9MSVRFUkFMOmEsU0xBU0hfTElURVJBTDpvLE9ORV9DSEFSOmwsRE9UU19TTEFTSDpjLE5PX0RPVDpmLE5PX0RPVFM6ZCxOT19ET1RTX1NMQVNIOnAsU1RBUjpoLFNUQVJUX0FOQ0hPUjpifT1icy5nbG9iQ2hhcnMocyksdj10LmRvdD9kOmYseT10LmRvdD9wOmYsdz10LmNhcHR1cmU/IiI6Ij86IixrPXtuZWdhdGVkOiExLHByZWZpeDoiIn0sUz10LmJhc2g9PT0hMD8iLio/IjpoO3QuY2FwdHVyZSYmKFM9YCgke1N9KWApO2xldCBFPVI9PlIubm9nbG9ic3Rhcj09PSEwP1M6YCgke3d9KD86KD8hJHtifSR7Ui5kb3Q/YzphfSkuKSo/KWAsVD1SPT57c3dpdGNoKFIpe2Nhc2UiKiI6cmV0dXJuYCR7dn0ke2x9JHtTfWA7Y2FzZSIuKiI6cmV0dXJuYCR7YX0ke2x9JHtTfWA7Y2FzZSIqLioiOnJldHVybmAke3Z9JHtTfSR7YX0ke2x9JHtTfWA7Y2FzZSIqLyoiOnJldHVybmAke3Z9JHtTfSR7b30ke2x9JHt5fSR7U31gO2Nhc2UiKioiOnJldHVybiB2K0UodCk7Y2FzZSIqKi8qIjpyZXR1cm5gKD86JHt2fSR7RSh0KX0ke299KT8ke3l9JHtsfSR7U31gO2Nhc2UiKiovKi4qIjpyZXR1cm5gKD86JHt2fSR7RSh0KX0ke299KT8ke3l9JHtTfSR7YX0ke2x9JHtTfWA7Y2FzZSIqKi8uKiI6cmV0dXJuYCg/OiR7dn0ke0UodCl9JHtvfSk/JHthfSR7bH0ke1N9YDtkZWZhdWx0OntsZXQgRj0vXiguKj8pXC4oXHcrKSQvLmV4ZWMoUik7aWYoIUYpcmV0dXJuO2xldCBZPVQoRlsxXSk7cmV0dXJuIFk/WSthK0ZbMl06dm9pZCAwfX19LEI9TWUucmVtb3ZlUHJlZml4KHIsayksTj1UKEIpO3JldHVybiBOJiZ0LnN0cmljdFNsYXNoZXMhPT0hMCYmKE4rPWAke299P2ApLE59O3JnLmV4cG9ydHM9eGx9KTt2YXIgc2c9eCgoYzYsbmcpPT57dSgpOyJ1c2Ugc3RyaWN0Ijt2YXIgYTI9KGV0KCksVXIpLG8yPWVnKCksa2w9aWcoKSxTbD1xaSgpLGwyPURpKCksdTI9cj0+ciYmdHlwZW9mIHI9PSJvYmplY3QiJiYhQXJyYXkuaXNBcnJheShyKSxkZT0ocixlLHQ9ITEpPT57aWYoQXJyYXkuaXNBcnJheShyKSl7bGV0IGY9ci5tYXAocD0+ZGUocCxlLHQpKTtyZXR1cm4gcD0+e2ZvcihsZXQgaCBvZiBmKXtsZXQgYj1oKHApO2lmKGIpcmV0dXJuIGJ9cmV0dXJuITF9fWxldCBpPXUyKHIpJiZyLnRva2VucyYmci5pbnB1dDtpZihyPT09IiJ8fHR5cGVvZiByIT0ic3RyaW5nIiYmIWkpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgcGF0dGVybiB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKTtsZXQgbj1lfHx7fSxzPVNsLmlzV2luZG93cyhlKSxhPWk/ZGUuY29tcGlsZVJlKHIsZSk6ZGUubWFrZVJlKHIsZSwhMSwhMCksbz1hLnN0YXRlO2RlbGV0ZSBhLnN0YXRlO2xldCBsPSgpPT4hMTtpZihuLmlnbm9yZSl7bGV0IGY9ey4uLmUsaWdub3JlOm51bGwsb25NYXRjaDpudWxsLG9uUmVzdWx0Om51bGx9O2w9ZGUobi5pZ25vcmUsZix0KX1sZXQgYz0oZixkPSExKT0+e2xldHtpc01hdGNoOnAsbWF0Y2g6aCxvdXRwdXQ6Yn09ZGUudGVzdChmLGEsZSx7Z2xvYjpyLHBvc2l4OnN9KSx2PXtnbG9iOnIsc3RhdGU6byxyZWdleDphLHBvc2l4OnMsaW5wdXQ6ZixvdXRwdXQ6YixtYXRjaDpoLGlzTWF0Y2g6cH07cmV0dXJuIHR5cGVvZiBuLm9uUmVzdWx0PT0iZnVuY3Rpb24iJiZuLm9uUmVzdWx0KHYpLHA9PT0hMT8odi5pc01hdGNoPSExLGQ/djohMSk6bChmKT8odHlwZW9mIG4ub25JZ25vcmU9PSJmdW5jdGlvbiImJm4ub25JZ25vcmUodiksdi5pc01hdGNoPSExLGQ/djohMSk6KHR5cGVvZiBuLm9uTWF0Y2g9PSJmdW5jdGlvbiImJm4ub25NYXRjaCh2KSxkP3Y6ITApfTtyZXR1cm4gdCYmKGMuc3RhdGU9byksY307ZGUudGVzdD0ocixlLHQse2dsb2I6aSxwb3NpeDpufT17fSk9PntpZih0eXBlb2YgciE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmciKTtpZihyPT09IiIpcmV0dXJue2lzTWF0Y2g6ITEsb3V0cHV0OiIifTtsZXQgcz10fHx7fSxhPXMuZm9ybWF0fHwobj9TbC50b1Bvc2l4U2xhc2hlczpudWxsKSxvPXI9PT1pLGw9byYmYT9hKHIpOnI7cmV0dXJuIG89PT0hMSYmKGw9YT9hKHIpOnIsbz1sPT09aSksKG89PT0hMXx8cy5jYXB0dXJlPT09ITApJiYocy5tYXRjaEJhc2U9PT0hMHx8cy5iYXNlbmFtZT09PSEwP289ZGUubWF0Y2hCYXNlKHIsZSx0LG4pOm89ZS5leGVjKGwpKSx7aXNNYXRjaDpCb29sZWFuKG8pLG1hdGNoOm8sb3V0cHV0Omx9fTtkZS5tYXRjaEJhc2U9KHIsZSx0LGk9U2wuaXNXaW5kb3dzKHQpKT0+KGUgaW5zdGFuY2VvZiBSZWdFeHA/ZTpkZS5tYWtlUmUoZSx0KSkudGVzdChhMi5iYXNlbmFtZShyKSk7ZGUuaXNNYXRjaD0ocixlLHQpPT5kZShlLHQpKHIpO2RlLnBhcnNlPShyLGUpPT5BcnJheS5pc0FycmF5KHIpP3IubWFwKHQ9PmRlLnBhcnNlKHQsZSkpOmtsKHIsey4uLmUsZmFzdHBhdGhzOiExfSk7ZGUuc2Nhbj0ocixlKT0+bzIocixlKTtkZS5jb21waWxlUmU9KHIsZSx0PSExLGk9ITEpPT57aWYodD09PSEwKXJldHVybiByLm91dHB1dDtsZXQgbj1lfHx7fSxzPW4uY29udGFpbnM/IiI6Il4iLGE9bi5jb250YWlucz8iIjoiJCIsbz1gJHtzfSg/OiR7ci5vdXRwdXR9KSR7YX1gO3ImJnIubmVnYXRlZD09PSEwJiYobz1gXig/ISR7b30pLiokYCk7bGV0IGw9ZGUudG9SZWdleChvLGUpO3JldHVybiBpPT09ITAmJihsLnN0YXRlPXIpLGx9O2RlLm1ha2VSZT0ocixlPXt9LHQ9ITEsaT0hMSk9PntpZighcnx8dHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZyIpO2xldCBuPXtuZWdhdGVkOiExLGZhc3RwYXRoczohMH07cmV0dXJuIGUuZmFzdHBhdGhzIT09ITEmJihyWzBdPT09Ii4ifHxyWzBdPT09IioiKSYmKG4ub3V0cHV0PWtsLmZhc3RwYXRocyhyLGUpKSxuLm91dHB1dHx8KG49a2wocixlKSksZGUuY29tcGlsZVJlKG4sZSx0LGkpfTtkZS50b1JlZ2V4PShyLGUpPT57dHJ5e2xldCB0PWV8fHt9O3JldHVybiBuZXcgUmVnRXhwKHIsdC5mbGFnc3x8KHQubm9jYXNlPyJpIjoiIikpfWNhdGNoKHQpe2lmKGUmJmUuZGVidWc9PT0hMCl0aHJvdyB0O3JldHVybi8kXi99fTtkZS5jb25zdGFudHM9bDI7bmcuZXhwb3J0cz1kZX0pO3ZhciBvZz14KChwNixhZyk9Pnt1KCk7InVzZSBzdHJpY3QiO2FnLmV4cG9ydHM9c2coKX0pO3ZhciBkZz14KChkNixwZyk9Pnt1KCk7InVzZSBzdHJpY3QiO3ZhciBsZz0oRm4oKSxCbiksdWc9am0oKSxvdD1vZygpLEFsPXFpKCksZmc9cj0+cj09PSIifHxyPT09Ii4vIixjZz1yPT57bGV0IGU9ci5pbmRleE9mKCJ7Iik7cmV0dXJuIGU+LTEmJnIuaW5kZXhPZigifSIsZSk+LTF9LG9lPShyLGUsdCk9PntlPVtdLmNvbmNhdChlKSxyPVtdLmNvbmNhdChyKTtsZXQgaT1uZXcgU2V0LG49bmV3IFNldCxzPW5ldyBTZXQsYT0wLG89Zj0+e3MuYWRkKGYub3V0cHV0KSx0JiZ0Lm9uUmVzdWx0JiZ0Lm9uUmVzdWx0KGYpfTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyl7bGV0IGQ9b3QoU3RyaW5nKGVbZl0pLHsuLi50LG9uUmVzdWx0Om99LCEwKSxwPWQuc3RhdGUubmVnYXRlZHx8ZC5zdGF0ZS5uZWdhdGVkRXh0Z2xvYjtwJiZhKys7Zm9yKGxldCBoIG9mIHIpe2xldCBiPWQoaCwhMCk7IShwPyFiLmlzTWF0Y2g6Yi5pc01hdGNoKXx8KHA/aS5hZGQoYi5vdXRwdXQpOihpLmRlbGV0ZShiLm91dHB1dCksbi5hZGQoYi5vdXRwdXQpKSl9fWxldCBjPShhPT09ZS5sZW5ndGg/Wy4uLnNdOlsuLi5uXSkuZmlsdGVyKGY9PiFpLmhhcyhmKSk7aWYodCYmYy5sZW5ndGg9PT0wKXtpZih0LmZhaWxnbG9iPT09ITApdGhyb3cgbmV3IEVycm9yKGBObyBtYXRjaGVzIGZvdW5kIGZvciAiJHtlLmpvaW4oIiwgIil9ImApO2lmKHQubm9udWxsPT09ITB8fHQubnVsbGdsb2I9PT0hMClyZXR1cm4gdC51bmVzY2FwZT9lLm1hcChmPT5mLnJlcGxhY2UoL1xcL2csIiIpKTplfXJldHVybiBjfTtvZS5tYXRjaD1vZTtvZS5tYXRjaGVyPShyLGUpPT5vdChyLGUpO29lLmlzTWF0Y2g9KHIsZSx0KT0+b3QoZSx0KShyKTtvZS5hbnk9b2UuaXNNYXRjaDtvZS5ub3Q9KHIsZSx0PXt9KT0+e2U9W10uY29uY2F0KGUpLm1hcChTdHJpbmcpO2xldCBpPW5ldyBTZXQsbj1bXSxzPW89Pnt0Lm9uUmVzdWx0JiZ0Lm9uUmVzdWx0KG8pLG4ucHVzaChvLm91dHB1dCl9LGE9bmV3IFNldChvZShyLGUsey4uLnQsb25SZXN1bHQ6c30pKTtmb3IobGV0IG8gb2YgbilhLmhhcyhvKXx8aS5hZGQobyk7cmV0dXJuWy4uLmldfTtvZS5jb250YWlucz0ocixlLHQpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGEgc3RyaW5nOiAiJHtsZy5pbnNwZWN0KHIpfSJgKTtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLnNvbWUoaT0+b2UuY29udGFpbnMocixpLHQpKTtpZih0eXBlb2YgZT09InN0cmluZyIpe2lmKGZnKHIpfHxmZyhlKSlyZXR1cm4hMTtpZihyLmluY2x1ZGVzKGUpfHxyLnN0YXJ0c1dpdGgoIi4vIikmJnIuc2xpY2UoMikuaW5jbHVkZXMoZSkpcmV0dXJuITB9cmV0dXJuIG9lLmlzTWF0Y2gocixlLHsuLi50LGNvbnRhaW5zOiEwfSl9O29lLm1hdGNoS2V5cz0ocixlLHQpPT57aWYoIUFsLmlzT2JqZWN0KHIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHRoZSBmaXJzdCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QiKTtsZXQgaT1vZShPYmplY3Qua2V5cyhyKSxlLHQpLG49e307Zm9yKGxldCBzIG9mIGkpbltzXT1yW3NdO3JldHVybiBufTtvZS5zb21lPShyLGUsdCk9PntsZXQgaT1bXS5jb25jYXQocik7Zm9yKGxldCBuIG9mW10uY29uY2F0KGUpKXtsZXQgcz1vdChTdHJpbmcobiksdCk7aWYoaS5zb21lKGE9PnMoYSkpKXJldHVybiEwfXJldHVybiExfTtvZS5ldmVyeT0ocixlLHQpPT57bGV0IGk9W10uY29uY2F0KHIpO2ZvcihsZXQgbiBvZltdLmNvbmNhdChlKSl7bGV0IHM9b3QoU3RyaW5nKG4pLHQpO2lmKCFpLmV2ZXJ5KGE9PnMoYSkpKXJldHVybiExfXJldHVybiEwfTtvZS5hbGw9KHIsZSx0KT0+e2lmKHR5cGVvZiByIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIHN0cmluZzogIiR7bGcuaW5zcGVjdChyKX0iYCk7cmV0dXJuW10uY29uY2F0KGUpLmV2ZXJ5KGk9Pm90KGksdCkocikpfTtvZS5jYXB0dXJlPShyLGUsdCk9PntsZXQgaT1BbC5pc1dpbmRvd3ModCkscz1vdC5tYWtlUmUoU3RyaW5nKHIpLHsuLi50LGNhcHR1cmU6ITB9KS5leGVjKGk/QWwudG9Qb3NpeFNsYXNoZXMoZSk6ZSk7aWYocylyZXR1cm4gcy5zbGljZSgxKS5tYXAoYT0+YT09PXZvaWQgMD8iIjphKX07b2UubWFrZVJlPSguLi5yKT0+b3QubWFrZVJlKC4uLnIpO29lLnNjYW49KC4uLnIpPT5vdC5zY2FuKC4uLnIpO29lLnBhcnNlPShyLGUpPT57bGV0IHQ9W107Zm9yKGxldCBpIG9mW10uY29uY2F0KHJ8fFtdKSlmb3IobGV0IG4gb2YgdWcoU3RyaW5nKGkpLGUpKXQucHVzaChvdC5wYXJzZShuLGUpKTtyZXR1cm4gdH07b2UuYnJhY2VzPShyLGUpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGUmJmUubm9icmFjZT09PSEwfHwhY2cocik/W3JdOnVnKHIsZSl9O29lLmJyYWNlRXhwYW5kPShyLGUpPT57aWYodHlwZW9mIHIhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIG9lLmJyYWNlcyhyLHsuLi5lLGV4cGFuZDohMH0pfTtvZS5oYXNCcmFjZXM9Y2c7cGcuZXhwb3J0cz1vZX0pO2Z1bmN0aW9uIG1nKHIsZSl7bGV0IHQ9ZS5jb250ZW50LmZpbGVzO3Q9dC5maWx0ZXIobz0+dHlwZW9mIG89PSJzdHJpbmciKSx0PXQubWFwKGxsKTtsZXQgaT1wcy5nZW5lcmF0ZVRhc2tzKHQpLG49W10scz1bXTtmb3IobGV0IG8gb2YgaSluLnB1c2goLi4uby5wb3NpdGl2ZS5tYXAobD0+Z2cobCwhMSkpKSxzLnB1c2goLi4uby5uZWdhdGl2ZS5tYXAobD0+Z2cobCwhMCkpKTtsZXQgYT1bLi4ubiwuLi5zXTtyZXR1cm4gYT1jMihyLGEpLGE9YS5mbGF0TWFwKHAyKSxhPWEubWFwKGYyKSxhfWZ1bmN0aW9uIGdnKHIsZSl7bGV0IHQ9e29yaWdpbmFsOnIsYmFzZTpyLGlnbm9yZTplLHBhdHRlcm46cixnbG9iOm51bGx9O3JldHVybiBaaChyKSYmT2JqZWN0LmFzc2lnbih0LG5tKHIpKSx0fWZ1bmN0aW9uIGYyKHIpe2xldCBlPWxsKHIuYmFzZSk7cmV0dXJuIGU9cHMuZXNjYXBlUGF0aChlKSxyLnBhdHRlcm49ci5nbG9iP2Ake2V9LyR7ci5nbG9ifWA6ZSxyLnBhdHRlcm49ci5pZ25vcmU/YCEke3IucGF0dGVybn1gOnIucGF0dGVybixyfWZ1bmN0aW9uIGMyKHIsZSl7bGV0IHQ9W107cmV0dXJuIHIudXNlckNvbmZpZ1BhdGgmJnIudGFpbHdpbmRDb25maWcuY29udGVudC5yZWxhdGl2ZSYmKHQ9W21lLmRpcm5hbWUoci51c2VyQ29uZmlnUGF0aCldKSxlLm1hcChpPT4oaS5iYXNlPW1lLnJlc29sdmUoLi4udCxpLmJhc2UpLGkpKX1mdW5jdGlvbiBwMihyKXtsZXQgZT1bcl07dHJ5e2xldCB0PWJlLnJlYWxwYXRoU3luYyhyLmJhc2UpO3QhPT1yLmJhc2UmJmUucHVzaCh7Li4ucixiYXNlOnR9KX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24geWcocixlLHQpe2xldCBpPXIudGFpbHdpbmRDb25maWcuY29udGVudC5maWxlcy5maWx0ZXIoYT0+dHlwZW9mIGEucmF3PT0ic3RyaW5nIikubWFwKCh7cmF3OmEsZXh0ZW5zaW9uOm89Imh0bWwifSk9Pih7Y29udGVudDphLGV4dGVuc2lvbjpvfSkpLFtuLHNdPWgyKGUsdCk7Zm9yKGxldCBhIG9mIG4pe2xldCBvPW1lLmV4dG5hbWUoYSkuc2xpY2UoMSk7aS5wdXNoKHtmaWxlOmEsZXh0ZW5zaW9uOm99KX1yZXR1cm5baSxzXX1mdW5jdGlvbiBkMihyKXtpZighci5zb21lKHM9PnMuaW5jbHVkZXMoIioqIikmJiF3Zy50ZXN0KHMpKSlyZXR1cm4oKT0+e307bGV0IHQ9W10saT1bXTtmb3IobGV0IHMgb2Ygcil7bGV0IGE9aGcuZGVmYXVsdC5tYXRjaGVyKHMpO3dnLnRlc3QocykmJmkucHVzaChhKSx0LnB1c2goYSl9bGV0IG49ITE7cmV0dXJuIHM9PntpZihufHxpLnNvbWUoZj0+ZihzKSkpcmV0dXJuO2xldCBhPXQuZmluZEluZGV4KGY9PmYocykpO2lmKGE9PT0tMSlyZXR1cm47bGV0IG89clthXSxsPW1lLnJlbGF0aXZlKG0uY3dkKCksbyk7bFswXSE9PSIuIiYmKGw9YC4vJHtsfWApO2xldCBjPWJnLmZpbmQoZj0+cy5pbmNsdWRlcyhmKSk7YyYmKG49ITAsRy53YXJuKCJicm9hZC1jb250ZW50LWdsb2ItcGF0dGVybiIsW2BZb3VyIFxgY29udGVudFxgIGNvbmZpZ3VyYXRpb24gaW5jbHVkZXMgYSBwYXR0ZXJuIHdoaWNoIGxvb2tzIGxpa2UgaXQncyBhY2NpZGVudGFsbHkgbWF0Y2hpbmcgYWxsIG9mIFxgJHtjfVxgIGFuZCBjYW4gY2F1c2Ugc2VyaW91cyBwZXJmb3JtYW5jZSBpc3N1ZXMuYCxgUGF0dGVybjogXGAke2x9XGBgLCJTZWUgb3VyIGRvY3VtZW50YXRpb24gZm9yIHJlY29tbWVuZGF0aW9uczoiLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnQtY29uZmlndXJhdGlvbiNwYXR0ZXJuLXJlY29tbWVuZGF0aW9ucyJdKSl9fWZ1bmN0aW9uIGgyKHIsZSl7bGV0IHQ9ci5tYXAobz0+by5wYXR0ZXJuKSxpPW5ldyBNYXAsbj1kMih0KSxzPW5ldyBTZXQ7WmUuREVCVUcmJmNvbnNvbGUudGltZSgiRmluZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IGE9cHMuc3luYyh0LHthYnNvbHV0ZTohMH0pO2ZvcihsZXQgbyBvZiBhKXtuKG8pO2xldCBsPWUuZ2V0KG8pfHwtMS8wLGM9YmUuc3RhdFN5bmMobykubXRpbWVNcztjPmwmJihzLmFkZChvKSxpLnNldChvLGMpKX1yZXR1cm4gWmUuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiRmluZGluZyBjaGFuZ2VkIGZpbGVzIiksW3MsaV19dmFyIGhnLGJnLHdnLHZnPVAoKCk9Pnt1KCk7ZnQoKTtldCgpO0poKCk7ZW0oKTt0bSgpO3NtKCk7SXQoKTtCZSgpO2hnPXBlKGRnKCkpO2JnPVsibm9kZV9tb2R1bGVzIl0sd2c9bmV3IFJlZ0V4cChgKCR7YmcubWFwKHI9PlN0cmluZy5yYXdgXGIke3J9XGJgKS5qb2luKCJ8Iil9KWApfSk7ZnVuY3Rpb24geGcoKXt9dmFyIGtnPVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBiMihyLGUpe2ZvcihsZXQgdCBvZiBlKXtsZXQgaT1gJHtyfSR7dH1gO2lmKGJlLmV4aXN0c1N5bmMoaSkmJmJlLnN0YXRTeW5jKGkpLmlzRmlsZSgpKXJldHVybiBpfWZvcihsZXQgdCBvZiBlKXtsZXQgaT1gJHtyfS9pbmRleCR7dH1gO2lmKGJlLmV4aXN0c1N5bmMoaSkpcmV0dXJuIGl9cmV0dXJuIG51bGx9ZnVuY3Rpb24qU2cocixlLHQsaT1tZS5leHRuYW1lKHIpKXtsZXQgbj1iMihtZS5yZXNvbHZlKGUsciksbTIuaW5jbHVkZXMoaSk/ZzI6eTIpO2lmKG49PT1udWxsfHx0LmhhcyhuKSlyZXR1cm47dC5hZGQobikseWllbGQgbixlPW1lLmRpcm5hbWUobiksaT1tZS5leHRuYW1lKG4pO2xldCBzPWJlLnJlYWRGaWxlU3luYyhuLCJ1dGYtOCIpO2ZvcihsZXQgYSBvZlsuLi5zLm1hdGNoQWxsKC9pbXBvcnRbXHNcU10qP1snIl0oLnszLH0/KVsnIl0vZ2kpLC4uLnMubWF0Y2hBbGwoL2ltcG9ydFtcc1xTXSpmcm9tW1xzXFNdKj9bJyJdKC57Myx9PylbJyJdL2dpKSwuLi5zLm1hdGNoQWxsKC9yZXF1aXJlXChbJyJgXSguKylbJyJgXVwpL2dpKV0pIWFbMV0uc3RhcnRzV2l0aCgiLiIpfHwoeWllbGQqU2coYVsxXSxlLHQsaSkpfWZ1bmN0aW9uIENsKHIpe3JldHVybiByPT09bnVsbD9uZXcgU2V0Om5ldyBTZXQoU2cocixtZS5kaXJuYW1lKHIpLG5ldyBTZXQpKX12YXIgbTIsZzIseTIsQWc9UCgoKT0+e3UoKTtmdCgpO2V0KCk7bTI9WyIuanMiLCIuY2pzIiwiLm1qcyJdLGcyPVsiIiwiLmpzIiwiLmNqcyIsIi5tanMiLCIudHMiLCIuY3RzIiwiLm10cyIsIi5qc3giLCIudHN4Il0seTI9WyIiLCIudHMiLCIuY3RzIiwiLm10cyIsIi50c3giLCIuanMiLCIuY2pzIiwiLm1qcyIsIi5qc3giXX0pO2Z1bmN0aW9uIHcyKHIsZSl7aWYoX2wuaGFzKHIpKXJldHVybiBfbC5nZXQocik7bGV0IHQ9bWcocixlKTtyZXR1cm4gX2wuc2V0KHIsdCkuZ2V0KHIpfWZ1bmN0aW9uIHYyKHIpe2xldCBlPWFhKHIpO2lmKGUhPT1udWxsKXtsZXRbaSxuLHMsYV09X2cuZ2V0KGUpfHxbXSxvPUNsKGUpLGw9ITEsYz1uZXcgTWFwO2ZvcihsZXQgcCBvZiBvKXtsZXQgaD1iZS5zdGF0U3luYyhwKS5tdGltZU1zO2Muc2V0KHAsaCksKCFhfHwhYS5oYXMocCl8fGg+YS5nZXQocCkpJiYobD0hMCl9aWYoIWwpcmV0dXJuW2ksZSxuLHNdO2ZvcihsZXQgcCBvZiBvKWRlbGV0ZSBoZi5jYWNoZVtwXTtsZXQgZj1vbCh6cih4ZyhlKSkpLGQ9V2koZik7cmV0dXJuIF9nLnNldChlLFtmLGQsbyxjXSksW2YsZSxkLG9dfWxldCB0PXpyKHI/LmNvbmZpZz8/cj8/e30pO3JldHVybiB0PW9sKHQpLFt0LG51bGwsV2kodCksW11dfWZ1bmN0aW9uIEVsKHIpe3JldHVybih7dGFpbHdpbmREaXJlY3RpdmVzOmUscmVnaXN0ZXJEZXBlbmRlbmN5OnR9KT0+KGksbik9PntsZXRbcyxhLG8sbF09djIociksYz1uZXcgU2V0KGwpO2lmKGUuc2l6ZT4wKXtjLmFkZChuLm9wdHMuZnJvbSk7Zm9yKGxldCBiIG9mIG4ubWVzc2FnZXMpYi50eXBlPT09ImRlcGVuZGVuY3kiJiZjLmFkZChiLmZpbGUpfWxldFtmLCxkXT1WaChpLG4scyxhLG8sYykscD1jcyhmKSxoPXcyKGYscyk7aWYoZS5zaXplPjApe2ZvcihsZXQgeSBvZiBoKWZvcihsZXQgdyBvZiBubCh5KSl0KHcpO2xldFtiLHZdPXlnKGYsaCxwKTtmb3IobGV0IHkgb2YgYilmLmNoYW5nZWRDb250ZW50LnB1c2goeSk7Zm9yKGxldFt5LHddb2Ygdi5lbnRyaWVzKCkpZC5zZXQoeSx3KX1mb3IobGV0IGIgb2YgbCl0KHt0eXBlOiJkZXBlbmRlbmN5IixmaWxlOmJ9KTtmb3IobGV0W2Isdl1vZiBkLmVudHJpZXMoKSlwLnNldChiLHYpO3JldHVybiBmfX12YXIgQ2csX2csX2wsRWc9UCgoKT0+e3UoKTtmdCgpO0NnPXBlKEZzKCkpO3dmKCk7c2EoKTtvYygpO09pKCk7SGgoKTtYaCgpO3ZnKCk7a2coKTtBZygpO19nPW5ldyBDZy5kZWZhdWx0KHttYXhTaXplOjEwMH0pLF9sPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24gT2wocil7bGV0IGU9bmV3IFNldCx0PW5ldyBTZXQsaT1uZXcgU2V0O2lmKHIud2Fsa0F0UnVsZXMobj0+e24ubmFtZT09PSJhcHBseSImJmkuYWRkKG4pLG4ubmFtZT09PSJpbXBvcnQiJiYobi5wYXJhbXM9PT0nInRhaWx3aW5kY3NzL2Jhc2UiJ3x8bi5wYXJhbXM9PT0iJ3RhaWx3aW5kY3NzL2Jhc2UnIj8obi5uYW1lPSJ0YWlsd2luZCIsbi5wYXJhbXM9ImJhc2UiKTpuLnBhcmFtcz09PScidGFpbHdpbmRjc3MvY29tcG9uZW50cyInfHxuLnBhcmFtcz09PSIndGFpbHdpbmRjc3MvY29tcG9uZW50cyciPyhuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0iY29tcG9uZW50cyIpOm4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy91dGlsaXRpZXMiJ3x8bi5wYXJhbXM9PT0iJ3RhaWx3aW5kY3NzL3V0aWxpdGllcyciPyhuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0idXRpbGl0aWVzIik6KG4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy9zY3JlZW5zIid8fG4ucGFyYW1zPT09Iid0YWlsd2luZGNzcy9zY3JlZW5zJyJ8fG4ucGFyYW1zPT09JyJ0YWlsd2luZGNzcy92YXJpYW50cyInfHxuLnBhcmFtcz09PSIndGFpbHdpbmRjc3MvdmFyaWFudHMnIikmJihuLm5hbWU9InRhaWx3aW5kIixuLnBhcmFtcz0idmFyaWFudHMiKSksbi5uYW1lPT09InRhaWx3aW5kIiYmKG4ucGFyYW1zPT09InNjcmVlbnMiJiYobi5wYXJhbXM9InZhcmlhbnRzIiksZS5hZGQobi5wYXJhbXMpKSxbImxheWVyIiwicmVzcG9uc2l2ZSIsInZhcmlhbnRzIl0uaW5jbHVkZXMobi5uYW1lKSYmKFsicmVzcG9uc2l2ZSIsInZhcmlhbnRzIl0uaW5jbHVkZXMobi5uYW1lKSYmRy53YXJuKGAke24ubmFtZX0tYXQtcnVsZS1kZXByZWNhdGVkYCxbYFRoZSBcYEAke24ubmFtZX1cYCBkaXJlY3RpdmUgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBUYWlsd2luZCBDU1MgdjMuMC5gLCJVc2UgYEBsYXllciB1dGlsaXRpZXNgIG9yIGBAbGF5ZXIgY29tcG9uZW50c2AgaW5zdGVhZC4iLCJodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3VwZ3JhZGUtZ3VpZGUjcmVwbGFjZS12YXJpYW50cy13aXRoLWxheWVyIl0pLHQuYWRkKG4pKX0pLCFlLmhhcygiYmFzZSIpfHwhZS5oYXMoImNvbXBvbmVudHMiKXx8IWUuaGFzKCJ1dGlsaXRpZXMiKSl7Zm9yKGxldCBuIG9mIHQpaWYobi5uYW1lPT09ImxheWVyIiYmWyJiYXNlIiwiY29tcG9uZW50cyIsInV0aWxpdGllcyJdLmluY2x1ZGVzKG4ucGFyYW1zKSl7aWYoIWUuaGFzKG4ucGFyYW1zKSl0aHJvdyBuLmVycm9yKGBcYEBsYXllciAke24ucGFyYW1zfVxgIGlzIHVzZWQgYnV0IG5vIG1hdGNoaW5nIFxgQHRhaWx3aW5kICR7bi5wYXJhbXN9XGAgZGlyZWN0aXZlIGlzIHByZXNlbnQuYCl9ZWxzZSBpZihuLm5hbWU9PT0icmVzcG9uc2l2ZSIpe2lmKCFlLmhhcygidXRpbGl0aWVzIikpdGhyb3cgbi5lcnJvcigiYEByZXNwb25zaXZlYCBpcyB1c2VkIGJ1dCBgQHRhaWx3aW5kIHV0aWxpdGllc2AgaXMgbWlzc2luZy4iKX1lbHNlIGlmKG4ubmFtZT09PSJ2YXJpYW50cyImJiFlLmhhcygidXRpbGl0aWVzIikpdGhyb3cgbi5lcnJvcigiYEB2YXJpYW50c2AgaXMgdXNlZCBidXQgYEB0YWlsd2luZCB1dGlsaXRpZXNgIGlzIG1pc3NpbmcuIil9cmV0dXJue3RhaWx3aW5kRGlyZWN0aXZlczplLGFwcGx5RGlyZWN0aXZlczppfX12YXIgT2c9UCgoKT0+e3UoKTtCZSgpfSk7ZnVuY3Rpb24gUXQocixlPXZvaWQgMCx0PXZvaWQgMCl7cmV0dXJuIHIubWFwKGk9PntsZXQgbj1pLmNsb25lKCk7cmV0dXJuIHQhPT12b2lkIDAmJihuLnJhd3MudGFpbHdpbmQ9ey4uLm4ucmF3cy50YWlsd2luZCwuLi50fSksZSE9PXZvaWQgMCYmVGcobixzPT57aWYocy5yYXdzLnRhaWx3aW5kPy5wcmVzZXJ2ZVNvdXJjZT09PSEwJiZzLnNvdXJjZSlyZXR1cm4hMTtzLnNvdXJjZT1lfSksbn0pfWZ1bmN0aW9uIFRnKHIsZSl7ZShyKSE9PSExJiZyLmVhY2g/Lih0PT5UZyh0LGUpKX12YXIgUmc9UCgoKT0+e3UoKX0pO2Z1bmN0aW9uIFRsKHIpe3JldHVybiByPUFycmF5LmlzQXJyYXkocik/cjpbcl0scj1yLm1hcChlPT5lIGluc3RhbmNlb2YgUmVnRXhwP2Uuc291cmNlOmUpLHIuam9pbigiIil9ZnVuY3Rpb24gTmUocil7cmV0dXJuIG5ldyBSZWdFeHAoVGwociksImciKX1mdW5jdGlvbiBxdChyKXtyZXR1cm5gKD86JHtyLm1hcChUbCkuam9pbigifCIpfSlgfWZ1bmN0aW9uIFJsKHIpe3JldHVybmAoPzoke1RsKHIpfSk/YH1mdW5jdGlvbiBJZyhyKXtyZXR1cm4gciYmeDIudGVzdChyKT9yLnJlcGxhY2UoUGcsIlxcJCYiKTpyfHwiIn12YXIgUGcseDIsRGc9UCgoKT0+e3UoKTtQZz0vW1xcXiQuKis/KClbXF17fXxdL2cseDI9UmVnRXhwKFBnLnNvdXJjZSl9KTtmdW5jdGlvbiBxZyhyKXtsZXQgZT1BcnJheS5mcm9tKGsyKHIpKTtyZXR1cm4gdD0+e2xldCBpPVtdO2ZvcihsZXQgbiBvZiBlKWZvcihsZXQgcyBvZiB0Lm1hdGNoKG4pPz9bXSlpLnB1c2goQzIocykpO2ZvcihsZXQgbiBvZiBpLnNsaWNlKCkpe2xldCBzPXZlKG4sIi4iKTtmb3IobGV0IGE9MDthPHMubGVuZ3RoO2ErKyl7bGV0IG89c1thXTtpZihhPj1zLmxlbmd0aC0xKXtpLnB1c2gobyk7Y29udGludWV9bGV0IGw9TnVtYmVyKHNbYSsxXSk7aXNOYU4obCk/aS5wdXNoKG8pOmErK319cmV0dXJuIGl9fWZ1bmN0aW9uKmsyKHIpe2xldCBlPXIudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yLHQ9ci50YWlsd2luZENvbmZpZy5wcmVmaXghPT0iIj9SbChOZShbLy0/LyxJZyhyLnRhaWx3aW5kQ29uZmlnLnByZWZpeCldKSk6IiIsaT1xdChbL1xbW15cczonImBdKzpbXlxzXFtcXV0rXF0vLC9cW1teXHM6JyJgXF1dKzpbXlxzXSs/XFtbXlxzXStcXVteXHNdKz9cXS8sTmUoW3F0KFsvLT8oPzpcdyspLywvQCg/Olx3KykvXSksUmwocXQoW05lKFtxdChbLy0oPzpcdystKSpcWydbXlxzXSsnXF0vLC8tKD86XHcrLSkqXFsiW15cc10rIlxdLywvLSg/Olx3Ky0pKlxbYFteXHNdK2BcXS8sLy0oPzpcdystKSpcWyg/OlteXHNcW1xdXStcW1teXHNcW1xdXStcXSkqW15cczpcW1xdXStcXS9dKSwvKD8hW3soW11dKS8sLyg/OlwvW15ccyciYFxcPjwkXSopPy9dKSxOZShbcXQoWy8tKD86XHcrLSkqXFsnW15cc10rJ1xdLywvLSg/Olx3Ky0pKlxbIlteXHNdKyJcXS8sLy0oPzpcdystKSpcW2BbXlxzXStgXF0vLC8tKD86XHcrLSkqXFsoPzpbXlxzXFtcXV0rXFtbXlxzXFtcXV0rXF0pKlteXHNcW1xdXStcXS9dKSwvKD8hW3soW11dKS8sLyg/OlwvW15ccyciYFxcJF0qKT8vXSksL1stXC9dW15ccyciYFxcJD17PjxdKi9dKSldKV0pLG49W3F0KFtOZShbL0BcW1teXHMiJ2BdK1xdKFwvW15ccyInYF0rKT8vLGVdKSxOZShbLyhbXlxzIidgXFtcXF0rLSk/XFtbXlxzIidgXStcXVwvW1x3Xy1dKy8sZV0pLE5lKFsvKFteXHMiJ2BcW1xcXSstKT9cW1teXHMiJ2BdK1xdLyxlXSksTmUoWy9bXlxzIidgXFtcXF0rLyxlXSldKSxxdChbTmUoWy8oW15ccyInYFxbXFxdKy0pP1xbW15cc2BdK1xdXC9bXHdfLV0rLyxlXSksTmUoWy8oW15ccyInYFxbXFxdKy0pP1xbW15cc2BdK1xdLyxlXSksTmUoWy9bXlxzYFxbXFxdKy8sZV0pXSldO2ZvcihsZXQgcyBvZiBuKXlpZWxkIE5lKFsiKCg/PSgoIixzLCIpKykpXFwyKT8iLC8hPy8sdCxpXSk7eWllbGQvW148PiInYFxzLigpe31bXF0jPSUkXVtePD4iJ2Bccygpe31bXF0jPSUkXSpbXjw+IidgXHMuKCl7fVtcXSM9JTokXS9nfWZ1bmN0aW9uIEMyKHIpe2lmKCFyLmluY2x1ZGVzKCItWyIpKXJldHVybiByO2xldCBlPTAsdD1bXSxpPXIubWF0Y2hBbGwoUzIpO2k9QXJyYXkuZnJvbShpKS5mbGF0TWFwKG49PntsZXRbLC4uLnNdPW47cmV0dXJuIHMubWFwKChhLG8pPT5PYmplY3QuYXNzaWduKFtdLG4se2luZGV4Om4uaW5kZXgrbywwOmF9KSl9KTtmb3IobGV0IG4gb2YgaSl7bGV0IHM9blswXSxhPXRbdC5sZW5ndGgtMV07aWYocz09PWE/dC5wb3AoKToocz09PSInInx8cz09PSciJ3x8cz09PSJgIikmJnQucHVzaChzKSwhYSl7aWYocz09PSJbIil7ZSsrO2NvbnRpbnVlfWVsc2UgaWYocz09PSJdIil7ZS0tO2NvbnRpbnVlfWlmKGU8MClyZXR1cm4gci5zdWJzdHJpbmcoMCxuLmluZGV4LTEpO2lmKGU9PT0wJiYhQTIudGVzdChzKSlyZXR1cm4gci5zdWJzdHJpbmcoMCxuLmluZGV4KX19cmV0dXJuIHJ9dmFyIFMyLEEyLCRnPVAoKCk9Pnt1KCk7RGcoKTt6dCgpO1MyPS8oW1xbXF0nImBdKShbXlxbXF0nImBdKT8vZyxBMj0vW14iJ2Bcczw+XF1dKy99KTtmdW5jdGlvbiBfMihyLGUpe2xldCB0PXIudGFpbHdpbmRDb25maWcuY29udGVudC5leHRyYWN0O3JldHVybiB0W2VdfHx0LkRFRkFVTFR8fE1nW2VdfHxNZy5ERUZBVUxUKHIpfWZ1bmN0aW9uIEUyKHIsZSl7bGV0IHQ9ci5jb250ZW50LnRyYW5zZm9ybTtyZXR1cm4gdFtlXXx8dC5ERUZBVUxUfHxOZ1tlXXx8TmcuREVGQVVMVH1mdW5jdGlvbiBPMihyLGUsdCxpKXtMaS5oYXMoZSl8fExpLnNldChlLG5ldyBMZy5kZWZhdWx0KHttYXhTaXplOjI1ZTN9KSk7Zm9yKGxldCBuIG9mIHIuc3BsaXQoYApgKSlpZihuPW4udHJpbSgpLCFpLmhhcyhuKSlpZihpLmFkZChuKSxMaS5nZXQoZSkuaGFzKG4pKWZvcihsZXQgcyBvZiBMaS5nZXQoZSkuZ2V0KG4pKXQuYWRkKHMpO2Vsc2V7bGV0IHM9ZShuKS5maWx0ZXIobz0+byE9PSIhKiIpLGE9bmV3IFNldChzKTtmb3IobGV0IG8gb2YgYSl0LmFkZChvKTtMaS5nZXQoZSkuc2V0KG4sYSl9fWZ1bmN0aW9uIFQyKHIsZSl7bGV0IHQ9ZS5vZmZzZXRzLnNvcnQociksaT17YmFzZTpuZXcgU2V0LGRlZmF1bHRzOm5ldyBTZXQsY29tcG9uZW50czpuZXcgU2V0LHV0aWxpdGllczpuZXcgU2V0LHZhcmlhbnRzOm5ldyBTZXR9O2ZvcihsZXRbbixzXW9mIHQpaVtuLmxheWVyXS5hZGQocyk7cmV0dXJuIGl9ZnVuY3Rpb24gUGwocil7cmV0dXJuIGFzeW5jIGU9PntsZXQgdD17YmFzZTpudWxsLGNvbXBvbmVudHM6bnVsbCx1dGlsaXRpZXM6bnVsbCx2YXJpYW50czpudWxsfTtpZihlLndhbGtBdFJ1bGVzKHk9Pnt5Lm5hbWU9PT0idGFpbHdpbmQiJiZPYmplY3Qua2V5cyh0KS5pbmNsdWRlcyh5LnBhcmFtcykmJih0W3kucGFyYW1zXT15KX0pLE9iamVjdC52YWx1ZXModCkuZXZlcnkoeT0+eT09PW51bGwpKXJldHVybiBlO2xldCBpPW5ldyBTZXQoWy4uLnIuY2FuZGlkYXRlcz8/W10sZ3RdKSxuPW5ldyBTZXQ7YnQuREVCVUcmJmNvbnNvbGUudGltZSgiUmVhZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IHM9W107Zm9yKGxldCB5IG9mIHIuY2hhbmdlZENvbnRlbnQpe2xldCB3PUUyKHIudGFpbHdpbmRDb25maWcseS5leHRlbnNpb24pLGs9XzIocix5LmV4dGVuc2lvbik7cy5wdXNoKFt5LHt0cmFuc2Zvcm1lcjp3LGV4dHJhY3RvcjprfV0pfWxldCBhPTUwMDtmb3IobGV0IHk9MDt5PHMubGVuZ3RoO3krPWEpe2xldCB3PXMuc2xpY2UoeSx5K2EpO2F3YWl0IFByb21pc2UuYWxsKHcubWFwKGFzeW5jKFt7ZmlsZTprLGNvbnRlbnQ6U30se3RyYW5zZm9ybWVyOkUsZXh0cmFjdG9yOlR9XSk9PntTPWs/YXdhaXQgYmUucHJvbWlzZXMucmVhZEZpbGUoaywidXRmOCIpOlMsTzIoRShTKSxULGksbil9KSl9YnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiUmVhZGluZyBjaGFuZ2VkIGZpbGVzIik7bGV0IG89ci5jbGFzc0NhY2hlLnNpemU7YnQuREVCVUcmJmNvbnNvbGUudGltZSgiR2VuZXJhdGUgcnVsZXMiKSxidC5ERUJVRyYmY29uc29sZS50aW1lKCJTb3J0aW5nIGNhbmRpZGF0ZXMiKTtsZXQgbD1uZXcgU2V0KFsuLi5pXS5zb3J0KCh5LHcpPT55PT09dz8wOnk8dz8tMToxKSk7YnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiU29ydGluZyBjYW5kaWRhdGVzIiksYXMobCxyKSxidC5ERUJVRyYmY29uc29sZS50aW1lRW5kKCJHZW5lcmF0ZSBydWxlcyIpLGJ0LkRFQlVHJiZjb25zb2xlLnRpbWUoIkJ1aWxkIHN0eWxlc2hlZXQiKSwoci5zdHlsZXNoZWV0Q2FjaGU9PT1udWxsfHxyLmNsYXNzQ2FjaGUuc2l6ZSE9PW8pJiYoci5zdHlsZXNoZWV0Q2FjaGU9VDIoWy4uLnIucnVsZUNhY2hlXSxyKSksYnQuREVCVUcmJmNvbnNvbGUudGltZUVuZCgiQnVpbGQgc3R5bGVzaGVldCIpO2xldHtkZWZhdWx0czpjLGJhc2U6Zixjb21wb25lbnRzOmQsdXRpbGl0aWVzOnAsdmFyaWFudHM6aH09ci5zdHlsZXNoZWV0Q2FjaGU7dC5iYXNlJiYodC5iYXNlLmJlZm9yZShRdChbLi4uYywuLi5mXSx0LmJhc2Uuc291cmNlLHtsYXllcjoiYmFzZSJ9KSksdC5iYXNlLnJlbW92ZSgpKSx0LmNvbXBvbmVudHMmJih0LmNvbXBvbmVudHMuYmVmb3JlKFF0KFsuLi5kXSx0LmNvbXBvbmVudHMuc291cmNlLHtsYXllcjoiY29tcG9uZW50cyJ9KSksdC5jb21wb25lbnRzLnJlbW92ZSgpKSx0LnV0aWxpdGllcyYmKHQudXRpbGl0aWVzLmJlZm9yZShRdChbLi4ucF0sdC51dGlsaXRpZXMuc291cmNlLHtsYXllcjoidXRpbGl0aWVzIn0pKSx0LnV0aWxpdGllcy5yZW1vdmUoKSk7bGV0IGI9QXJyYXkuZnJvbShoKS5maWx0ZXIoeT0+e2xldCB3PXkucmF3cy50YWlsd2luZD8ucGFyZW50TGF5ZXI7cmV0dXJuIHc9PT0iY29tcG9uZW50cyI/dC5jb21wb25lbnRzIT09bnVsbDp3PT09InV0aWxpdGllcyI/dC51dGlsaXRpZXMhPT1udWxsOiEwfSk7dC52YXJpYW50cz8odC52YXJpYW50cy5iZWZvcmUoUXQoYix0LnZhcmlhbnRzLnNvdXJjZSx7bGF5ZXI6InZhcmlhbnRzIn0pKSx0LnZhcmlhbnRzLnJlbW92ZSgpKTpiLmxlbmd0aD4wJiZlLmFwcGVuZChRdChiLGUuc291cmNlLHtsYXllcjoidmFyaWFudHMifSkpLGUuc291cmNlLmVuZD1lLnNvdXJjZS5lbmQ/P2Uuc291cmNlLnN0YXJ0O2xldCB2PWIuc29tZSh5PT55LnJhd3MudGFpbHdpbmQ/LnBhcmVudExheWVyPT09InV0aWxpdGllcyIpO3QudXRpbGl0aWVzJiZwLnNpemU9PT0wJiYhdiYmRy53YXJuKCJjb250ZW50LXByb2JsZW1zIixbIk5vIHV0aWxpdHkgY2xhc3NlcyB3ZXJlIGRldGVjdGVkIGluIHlvdXIgc291cmNlIGZpbGVzLiBJZiB0aGlzIGlzIHVuZXhwZWN0ZWQsIGRvdWJsZS1jaGVjayB0aGUgYGNvbnRlbnRgIG9wdGlvbiBpbiB5b3VyIFRhaWx3aW5kIENTUyBjb25maWd1cmF0aW9uLiIsImh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvY29udGVudC1jb25maWd1cmF0aW9uIl0pLGJ0LkRFQlVHJiYoY29uc29sZS5sb2coIlBvdGVudGlhbCBjbGFzc2VzOiAiLGkuc2l6ZSksY29uc29sZS5sb2coIkFjdGl2ZSBjb250ZXh0czogIixlcy5zaXplKSksci5jaGFuZ2VkQ29udGVudD1bXSxlLndhbGtBdFJ1bGVzKCJsYXllciIseT0+e09iamVjdC5rZXlzKHQpLmluY2x1ZGVzKHkucGFyYW1zKSYmeS5yZW1vdmUoKX0pfX12YXIgTGcsYnQsTWcsTmcsTGksQmc9UCgoKT0+e3UoKTtmdCgpO0xnPXBlKEZzKCkpO0l0KCk7b3MoKTtCZSgpO1JnKCk7JGcoKTtidD1aZSxNZz17REVGQVVMVDpxZ30sTmc9e0RFRkFVTFQ6cj0+cixzdmVsdGU6cj0+ci5yZXBsYWNlKC8oPzpefFxzKWNsYXNzOi9nLCIgIil9O0xpPW5ldyBXZWFrTWFwfSk7ZnVuY3Rpb24geHMocil7bGV0IGU9bmV3IE1hcDtlZS5yb290KHtub2Rlczpbci5jbG9uZSgpXX0pLndhbGtSdWxlcyhzPT57KDAsdnMuZGVmYXVsdCkoYT0+e2Eud2Fsa0NsYXNzZXMobz0+e2xldCBsPW8ucGFyZW50LnRvU3RyaW5nKCksYz1lLmdldChsKTtjfHxlLnNldChsLGM9bmV3IFNldCksYy5hZGQoby52YWx1ZSl9KX0pLnByb2Nlc3NTeW5jKHMuc2VsZWN0b3IpfSk7bGV0IGk9QXJyYXkuZnJvbShlLnZhbHVlcygpLHM9PkFycmF5LmZyb20ocykpLG49aS5mbGF0KCk7cmV0dXJuIE9iamVjdC5hc3NpZ24obix7Z3JvdXBzOml9KX1mdW5jdGlvbiBJbChyKXtyZXR1cm4gUjIuYXN0U3luYyhyKX1mdW5jdGlvbiBGZyhyLGUpe2xldCB0PW5ldyBTZXQ7Zm9yKGxldCBpIG9mIHIpdC5hZGQoaS5zcGxpdChlKS5wb3AoKSk7cmV0dXJuIEFycmF5LmZyb20odCl9ZnVuY3Rpb24gamcocixlKXtsZXQgdD1yLnRhaWx3aW5kQ29uZmlnLnByZWZpeDtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChlKTp0K2V9ZnVuY3Rpb24qemcocil7Zm9yKHlpZWxkIHI7ci5wYXJlbnQ7KXlpZWxkIHIucGFyZW50LHI9ci5wYXJlbnR9ZnVuY3Rpb24gUDIocixlPXt9KXtsZXQgdD1yLm5vZGVzO3Iubm9kZXM9W107bGV0IGk9ci5jbG9uZShlKTtyZXR1cm4gci5ub2Rlcz10LGl9ZnVuY3Rpb24gSTIocil7Zm9yKGxldCBlIG9mIHpnKHIpKWlmKHIhPT1lKXtpZihlLnR5cGU9PT0icm9vdCIpYnJlYWs7cj1QMihlLHtub2Rlczpbcl19KX1yZXR1cm4gcn1mdW5jdGlvbiBEMihyLGUpe2xldCB0PW5ldyBNYXA7cmV0dXJuIHIud2Fsa1J1bGVzKGk9Pntmb3IobGV0IGEgb2YgemcoaSkpaWYoYS5yYXdzLnRhaWx3aW5kPy5sYXllciE9PXZvaWQgMClyZXR1cm47bGV0IG49STIoaSkscz1lLm9mZnNldHMuY3JlYXRlKCJ1c2VyIik7Zm9yKGxldCBhIG9mIHhzKGkpKXtsZXQgbz10LmdldChhKXx8W107dC5zZXQoYSxvKSxvLnB1c2goW3tsYXllcjoidXNlciIsc29ydDpzLGltcG9ydGFudDohMX0sbl0pfX0pLHR9ZnVuY3Rpb24gcTIocixlKXtmb3IobGV0IHQgb2Ygcil7aWYoZS5ub3RDbGFzc0NhY2hlLmhhcyh0KXx8ZS5hcHBseUNsYXNzQ2FjaGUuaGFzKHQpKWNvbnRpbnVlO2lmKGUuY2xhc3NDYWNoZS5oYXModCkpe2UuYXBwbHlDbGFzc0NhY2hlLnNldCh0LGUuY2xhc3NDYWNoZS5nZXQodCkubWFwKChbbixzXSk9PltuLHMuY2xvbmUoKV0pKTtjb250aW51ZX1sZXQgaT1BcnJheS5mcm9tKFlvKHQsZSkpO2lmKGkubGVuZ3RoPT09MCl7ZS5ub3RDbGFzc0NhY2hlLmFkZCh0KTtjb250aW51ZX1lLmFwcGx5Q2xhc3NDYWNoZS5zZXQodCxpKX1yZXR1cm4gZS5hcHBseUNsYXNzQ2FjaGV9ZnVuY3Rpb24gJDIocil7bGV0IGU9bnVsbDtyZXR1cm57Z2V0OnQ9PihlPWV8fHIoKSxlLmdldCh0KSksaGFzOnQ9PihlPWV8fHIoKSxlLmhhcyh0KSl9fWZ1bmN0aW9uIEwyKHIpe3JldHVybntnZXQ6ZT0+ci5mbGF0TWFwKHQ9PnQuZ2V0KGUpfHxbXSksaGFzOmU9PnIuc29tZSh0PT50LmhhcyhlKSl9fWZ1bmN0aW9uIFVnKHIpe2xldCBlPXIuc3BsaXQoL1tcc1x0XG5dKy9nKTtyZXR1cm4gZVtlLmxlbmd0aC0xXT09PSIhaW1wb3J0YW50Ij9bZS5zbGljZSgwLC0xKSwhMF06W2UsITFdfWZ1bmN0aW9uIFZnKHIsZSx0KXtsZXQgaT1uZXcgU2V0LG49W107aWYoci53YWxrQXRSdWxlcygiYXBwbHkiLGw9PntsZXRbY109VWcobC5wYXJhbXMpO2ZvcihsZXQgZiBvZiBjKWkuYWRkKGYpO24ucHVzaChsKX0pLG4ubGVuZ3RoPT09MClyZXR1cm47bGV0IHM9TDIoW3QscTIoaSxlKV0pO2Z1bmN0aW9uIGEobCxjLGYpe2xldCBkPUlsKGwpLHA9SWwoYyksYj1JbChgLiR7VGUoZil9YCkubm9kZXNbMF0ubm9kZXNbMF07cmV0dXJuIGQuZWFjaCh2PT57bGV0IHk9bmV3IFNldDtwLmVhY2godz0+e2xldCBrPSExO3c9dy5jbG9uZSgpLHcud2Fsa0NsYXNzZXMoUz0+e1MudmFsdWU9PT1iLnZhbHVlJiYoa3x8KFMucmVwbGFjZVdpdGgoLi4udi5ub2Rlcy5tYXAoRT0+RS5jbG9uZSgpKSkseS5hZGQodyksaz0hMCkpfSl9KTtmb3IobGV0IHcgb2YgeSl7bGV0IGs9W1tdXTtmb3IobGV0IFMgb2Ygdy5ub2RlcylTLnR5cGU9PT0iY29tYmluYXRvciI/KGsucHVzaChTKSxrLnB1c2goW10pKTprW2subGVuZ3RoLTFdLnB1c2goUyk7dy5ub2Rlcz1bXTtmb3IobGV0IFMgb2YgaylBcnJheS5pc0FycmF5KFMpJiZTLnNvcnQoKEUsVCk9PkUudHlwZT09PSJ0YWciJiZULnR5cGU9PT0iY2xhc3MiPy0xOkUudHlwZT09PSJjbGFzcyImJlQudHlwZT09PSJ0YWciPzE6RS50eXBlPT09ImNsYXNzIiYmVC50eXBlPT09InBzZXVkbyImJlQudmFsdWUuc3RhcnRzV2l0aCgiOjoiKT8tMTpFLnR5cGU9PT0icHNldWRvIiYmRS52YWx1ZS5zdGFydHNXaXRoKCI6OiIpJiZULnR5cGU9PT0iY2xhc3MiPzE6MCksdy5ub2Rlcz13Lm5vZGVzLmNvbmNhdChTKX12LnJlcGxhY2VXaXRoKC4uLnkpfSksZC50b1N0cmluZygpfWxldCBvPW5ldyBNYXA7Zm9yKGxldCBsIG9mIG4pe2xldFtjXT1vLmdldChsLnBhcmVudCl8fFtbXSxsLnNvdXJjZV07by5zZXQobC5wYXJlbnQsW2MsbC5zb3VyY2VdKTtsZXRbZixkXT1VZyhsLnBhcmFtcyk7aWYobC5wYXJlbnQudHlwZT09PSJhdHJ1bGUiKXtpZihsLnBhcmVudC5uYW1lPT09InNjcmVlbiIpe2xldCBwPWwucGFyZW50LnBhcmFtczt0aHJvdyBsLmVycm9yKGBAYXBwbHkgaXMgbm90IHN1cHBvcnRlZCB3aXRoaW4gbmVzdGVkIGF0LXJ1bGVzIGxpa2UgQHNjcmVlbi4gV2Ugc3VnZ2VzdCB5b3Ugd3JpdGUgdGhpcyBhcyBAYXBwbHkgJHtmLm1hcChoPT5gJHtwfToke2h9YCkuam9pbigiICIpfSBpbnN0ZWFkLmApfXRocm93IGwuZXJyb3IoYEBhcHBseSBpcyBub3Qgc3VwcG9ydGVkIHdpdGhpbiBuZXN0ZWQgYXQtcnVsZXMgbGlrZSBAJHtsLnBhcmVudC5uYW1lfS4gWW91IGNhbiBmaXggdGhpcyBieSB1bi1uZXN0aW5nIEAke2wucGFyZW50Lm5hbWV9LmApfWZvcihsZXQgcCBvZiBmKXtpZihbamcoZSwiZ3JvdXAiKSxqZyhlLCJwZWVyIildLmluY2x1ZGVzKHApKXRocm93IGwuZXJyb3IoYEBhcHBseSBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCB0aGUgJyR7cH0nIHV0aWxpdHlgKTtpZighcy5oYXMocCkpdGhyb3cgbC5lcnJvcihgVGhlIFxgJHtwfVxgIGNsYXNzIGRvZXMgbm90IGV4aXN0LiBJZiBcYCR7cH1cYCBpcyBhIGN1c3RvbSBjbGFzcywgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgd2l0aGluIGEgXGBAbGF5ZXJcYCBkaXJlY3RpdmUuYCk7bGV0IGg9cy5nZXQocCk7Zm9yKGxldFssYl1vZiBoKWIudHlwZSE9PSJhdHJ1bGUiJiZiLndhbGtSdWxlcygoKT0+e3Rocm93IGwuZXJyb3IoW2BUaGUgXGAke3B9XGAgY2xhc3MgY2Fubm90IGJlIHVzZWQgd2l0aCBcYEBhcHBseVxgIGJlY2F1c2UgXGBAYXBwbHlcYCBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCBuZXN0ZWQgQ1NTLmAsIlJld3JpdGUgdGhlIHNlbGVjdG9yIHdpdGhvdXQgbmVzdGluZyBvciBjb25maWd1cmUgdGhlIGB0YWlsd2luZGNzcy9uZXN0aW5nYCBwbHVnaW46IiwiaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91c2luZy13aXRoLXByZXByb2Nlc3NvcnMjbmVzdGluZyJdLmpvaW4oYApgKSl9KTtjLnB1c2goW3AsZCxoXSl9fWZvcihsZXRbbCxbYyxmXV1vZiBvKXtsZXQgZD1bXTtmb3IobGV0W2gsYix2XW9mIGMpe2xldCB5PVtoLC4uLkZnKFtoXSxlLnRhaWx3aW5kQ29uZmlnLnNlcGFyYXRvcildO2ZvcihsZXRbdyxrXW9mIHYpe2xldCBTPXhzKGwpLEU9eHMoayk7aWYoRT1FLmdyb3Vwcy5maWx0ZXIoUj0+Ui5zb21lKEY9PnkuaW5jbHVkZXMoRikpKS5mbGF0KCksRT1FLmNvbmNhdChGZyhFLGUudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yKSksUy5zb21lKFI9PkUuaW5jbHVkZXMoUikpKXRocm93IGsuZXJyb3IoYFlvdSBjYW5ub3QgXGBAYXBwbHlcYCB0aGUgXGAke2h9XGAgdXRpbGl0eSBoZXJlIGJlY2F1c2UgaXQgY3JlYXRlcyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuYCk7bGV0IEI9ZWUucm9vdCh7bm9kZXM6W2suY2xvbmUoKV19KTtCLndhbGsoUj0+e1Iuc291cmNlPWZ9KSwoay50eXBlIT09ImF0cnVsZSJ8fGsudHlwZT09PSJhdHJ1bGUiJiZrLm5hbWUhPT0ia2V5ZnJhbWVzIikmJkIud2Fsa1J1bGVzKFI9PntpZigheHMoUikuc29tZShVPT5VPT09aCkpe1IucmVtb3ZlKCk7cmV0dXJufWxldCBGPXR5cGVvZiBlLnRhaWx3aW5kQ29uZmlnLmltcG9ydGFudD09InN0cmluZyI/ZS50YWlsd2luZENvbmZpZy5pbXBvcnRhbnQ6bnVsbCxfPWwucmF3cy50YWlsd2luZCE9PXZvaWQgMCYmRiYmbC5zZWxlY3Rvci5pbmRleE9mKEYpPT09MD9sLnNlbGVjdG9yLnNsaWNlKEYubGVuZ3RoKTpsLnNlbGVjdG9yO189PT0iIiYmKF89bC5zZWxlY3RvciksUi5zZWxlY3Rvcj1hKF8sUi5zZWxlY3RvcixoKSxGJiZfIT09bC5zZWxlY3RvciYmKFIuc2VsZWN0b3I9aXMoUi5zZWxlY3RvcixGKSksUi53YWxrRGVjbHMoVT0+e1UuaW1wb3J0YW50PXcuaW1wb3J0YW50fHxifSk7bGV0IFE9KDAsdnMuZGVmYXVsdCkoKS5hc3RTeW5jKFIuc2VsZWN0b3IpO1EuZWFjaChVPT5wcihVKSksUi5zZWxlY3Rvcj1RLnRvU3RyaW5nKCl9KSwhIUIubm9kZXNbMF0mJmQucHVzaChbdy5zb3J0LEIubm9kZXNbMF1dKX19bGV0IHA9ZS5vZmZzZXRzLnNvcnQoZCkubWFwKGg9PmhbMV0pO2wuYWZ0ZXIocCl9Zm9yKGxldCBsIG9mIG4pbC5wYXJlbnQubm9kZXMubGVuZ3RoPjE/bC5yZW1vdmUoKTpsLnBhcmVudC5yZW1vdmUoKTtWZyhyLGUsdCl9ZnVuY3Rpb24gRGwocil7cmV0dXJuIGU9PntsZXQgdD0kMigoKT0+RDIoZSxyKSk7VmcoZSxyLHQpfX12YXIgdnMsUjIsSGc9UCgoKT0+e3UoKTtPdCgpO3ZzPXBlKGl0KCkpO29zKCk7ZnIoKTtXbygpO3RzKCk7UjI9KDAsdnMuZGVmYXVsdCkoKX0pO3ZhciBXZz14KChucSxrcyk9Pnt1KCk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoaSxuLHMpe2lmKCFpKXJldHVybiBudWxsO3IuY2FzZVNlbnNpdGl2ZXx8KGk9aS50b0xvd2VyQ2FzZSgpKTt2YXIgYT1yLnRocmVzaG9sZD09PW51bGw/bnVsbDpyLnRocmVzaG9sZCppLmxlbmd0aCxvPXIudGhyZXNob2xkQWJzb2x1dGUsbDthIT09bnVsbCYmbyE9PW51bGw/bD1NYXRoLm1pbihhLG8pOmEhPT1udWxsP2w9YTpvIT09bnVsbD9sPW86bD1udWxsO3ZhciBjLGYsZCxwLGgsYj1uLmxlbmd0aDtmb3IoaD0wO2g8YjtoKyspaWYoZj1uW2hdLHMmJihmPWZbc10pLCEhZiYmKHIuY2FzZVNlbnNpdGl2ZT9kPWY6ZD1mLnRvTG93ZXJDYXNlKCkscD10KGksZCxsKSwobD09PW51bGx8fHA8bCkmJihsPXAscyYmci5yZXR1cm5XaW5uaW5nT2JqZWN0P2M9bltoXTpjPWYsci5yZXR1cm5GaXJzdE1hdGNoKSkpcmV0dXJuIGM7cmV0dXJuIGN8fHIubnVsbFJlc3VsdFZhbHVlfXIudGhyZXNob2xkPS40LHIudGhyZXNob2xkQWJzb2x1dGU9MjAsci5jYXNlU2Vuc2l0aXZlPSExLHIubnVsbFJlc3VsdFZhbHVlPW51bGwsci5yZXR1cm5XaW5uaW5nT2JqZWN0PW51bGwsci5yZXR1cm5GaXJzdE1hdGNoPSExLHR5cGVvZiBrcyE9InVuZGVmaW5lZCImJmtzLmV4cG9ydHM/a3MuZXhwb3J0cz1yOndpbmRvdy5kaWRZb3VNZWFuPXI7dmFyIGU9TWF0aC5wb3coMiwzMiktMTtmdW5jdGlvbiB0KGksbixzKXtzPXN8fHM9PT0wP3M6ZTt2YXIgYT1pLmxlbmd0aCxvPW4ubGVuZ3RoO2lmKGE9PT0wKXJldHVybiBNYXRoLm1pbihzKzEsbyk7aWYobz09PTApcmV0dXJuIE1hdGgubWluKHMrMSxhKTtpZihNYXRoLmFicyhhLW8pPnMpcmV0dXJuIHMrMTt2YXIgbD1bXSxjLGYsZCxwLGg7Zm9yKGM9MDtjPD1vO2MrKylsW2NdPVtjXTtmb3IoZj0wO2Y8PWE7ZisrKWxbMF1bZl09Zjtmb3IoYz0xO2M8PW87YysrKXtmb3IoZD1lLHA9MSxjPnMmJihwPWMtcyksaD1vKzEsaD5zK2MmJihoPXMrYyksZj0xO2Y8PWE7ZisrKWY8cHx8Zj5oP2xbY11bZl09cysxOm4uY2hhckF0KGMtMSk9PT1pLmNoYXJBdChmLTEpP2xbY11bZl09bFtjLTFdW2YtMV06bFtjXVtmXT1NYXRoLm1pbihsW2MtMV1bZi0xXSsxLE1hdGgubWluKGxbY11bZi0xXSsxLGxbYy0xXVtmXSsxKSksbFtjXVtmXTxkJiYoZD1sW2NdW2ZdKTtpZihkPnMpcmV0dXJuIHMrMX1yZXR1cm4gbFtvXVthXX19KSgpfSk7dmFyIFFnPXgoKHNxLEdnKT0+e3UoKTt2YXIgcWw9IigiLmNoYXJDb2RlQXQoMCksJGw9IikiLmNoYXJDb2RlQXQoMCksU3M9IiciLmNoYXJDb2RlQXQoMCksTGw9JyInLmNoYXJDb2RlQXQoMCksTWw9IlxcIi5jaGFyQ29kZUF0KDApLHlyPSIvIi5jaGFyQ29kZUF0KDApLE5sPSIsIi5jaGFyQ29kZUF0KDApLEJsPSI6Ii5jaGFyQ29kZUF0KDApLEFzPSIqIi5jaGFyQ29kZUF0KDApLE0yPSJ1Ii5jaGFyQ29kZUF0KDApLE4yPSJVIi5jaGFyQ29kZUF0KDApLEIyPSIrIi5jaGFyQ29kZUF0KDApLEYyPS9eW2EtZjAtOT8tXSskL2k7R2cuZXhwb3J0cz1mdW5jdGlvbihyKXtmb3IodmFyIGU9W10sdD1yLGksbixzLGEsbyxsLGMsZixkPTAscD10LmNoYXJDb2RlQXQoZCksaD10Lmxlbmd0aCxiPVt7bm9kZXM6ZX1dLHY9MCx5LHc9IiIsaz0iIixTPSIiO2Q8aDspaWYocDw9MzIpe2k9ZDtkbyBpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKHA8PTMyKTthPXQuc2xpY2UoZCxpKSxzPWVbZS5sZW5ndGgtMV0scD09PSRsJiZ2P1M9YTpzJiZzLnR5cGU9PT0iZGl2Ij8ocy5hZnRlcj1hLHMuc291cmNlRW5kSW5kZXgrPWEubGVuZ3RoKTpwPT09Tmx8fHA9PT1CbHx8cD09PXlyJiZ0LmNoYXJDb2RlQXQoaSsxKSE9PUFzJiYoIXl8fHkmJnkudHlwZT09PSJmdW5jdGlvbiImJiExKT9rPWE6ZS5wdXNoKHt0eXBlOiJzcGFjZSIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppLHZhbHVlOmF9KSxkPWl9ZWxzZSBpZihwPT09U3N8fHA9PT1MbCl7aT1kLG49cD09PVNzPyInIjonIicsYT17dHlwZToic3RyaW5nIixzb3VyY2VJbmRleDpkLHF1b3RlOm59O2RvIGlmKG89ITEsaT10LmluZGV4T2YobixpKzEpLH5pKWZvcihsPWk7dC5jaGFyQ29kZUF0KGwtMSk9PT1NbDspbC09MSxvPSFvO2Vsc2UgdCs9bixpPXQubGVuZ3RoLTEsYS51bmNsb3NlZD0hMDt3aGlsZShvKTthLnZhbHVlPXQuc2xpY2UoZCsxLGkpLGEuc291cmNlRW5kSW5kZXg9YS51bmNsb3NlZD9pOmkrMSxlLnB1c2goYSksZD1pKzEscD10LmNoYXJDb2RlQXQoZCl9ZWxzZSBpZihwPT09eXImJnQuY2hhckNvZGVBdChkKzEpPT09QXMpaT10LmluZGV4T2YoIiovIixkKSxhPXt0eXBlOiJjb21tZW50Iixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmkrMn0saT09PS0xJiYoYS51bmNsb3NlZD0hMCxpPXQubGVuZ3RoLGEuc291cmNlRW5kSW5kZXg9aSksYS52YWx1ZT10LnNsaWNlKGQrMixpKSxlLnB1c2goYSksZD1pKzIscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZigocD09PXlyfHxwPT09QXMpJiZ5JiZ5LnR5cGU9PT0iZnVuY3Rpb24iKWE9dFtkXSxlLnB1c2goe3R5cGU6IndvcmQiLHNvdXJjZUluZGV4OmQtay5sZW5ndGgsc291cmNlRW5kSW5kZXg6ZCthLmxlbmd0aCx2YWx1ZTphfSksZCs9MSxwPXQuY2hhckNvZGVBdChkKTtlbHNlIGlmKHA9PT15cnx8cD09PU5sfHxwPT09QmwpYT10W2RdLGUucHVzaCh7dHlwZToiZGl2Iixzb3VyY2VJbmRleDpkLWsubGVuZ3RoLHNvdXJjZUVuZEluZGV4OmQrYS5sZW5ndGgsdmFsdWU6YSxiZWZvcmU6ayxhZnRlcjoiIn0pLGs9IiIsZCs9MSxwPXQuY2hhckNvZGVBdChkKTtlbHNlIGlmKHFsPT09cCl7aT1kO2RvIGkrPTEscD10LmNoYXJDb2RlQXQoaSk7d2hpbGUocDw9MzIpO2lmKGY9ZCxhPXt0eXBlOiJmdW5jdGlvbiIsc291cmNlSW5kZXg6ZC13Lmxlbmd0aCx2YWx1ZTp3LGJlZm9yZTp0LnNsaWNlKGYrMSxpKX0sZD1pLHc9PT0idXJsIiYmcCE9PVNzJiZwIT09TGwpe2ktPTE7ZG8gaWYobz0hMSxpPXQuaW5kZXhPZigiKSIsaSsxKSx+aSlmb3IobD1pO3QuY2hhckNvZGVBdChsLTEpPT09TWw7KWwtPTEsbz0hbztlbHNlIHQrPSIpIixpPXQubGVuZ3RoLTEsYS51bmNsb3NlZD0hMDt3aGlsZShvKTtjPWk7ZG8gYy09MSxwPXQuY2hhckNvZGVBdChjKTt3aGlsZShwPD0zMik7ZjxjPyhkIT09YysxP2Eubm9kZXM9W3t0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmMrMSx2YWx1ZTp0LnNsaWNlKGQsYysxKX1dOmEubm9kZXM9W10sYS51bmNsb3NlZCYmYysxIT09aT8oYS5hZnRlcj0iIixhLm5vZGVzLnB1c2goe3R5cGU6InNwYWNlIixzb3VyY2VJbmRleDpjKzEsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTp0LnNsaWNlKGMrMSxpKX0pKTooYS5hZnRlcj10LnNsaWNlKGMrMSxpKSxhLnNvdXJjZUVuZEluZGV4PWkpKTooYS5hZnRlcj0iIixhLm5vZGVzPVtdKSxkPWkrMSxhLnNvdXJjZUVuZEluZGV4PWEudW5jbG9zZWQ/aTpkLHA9dC5jaGFyQ29kZUF0KGQpLGUucHVzaChhKX1lbHNlIHYrPTEsYS5hZnRlcj0iIixhLnNvdXJjZUVuZEluZGV4PWQrMSxlLnB1c2goYSksYi5wdXNoKGEpLGU9YS5ub2Rlcz1bXSx5PWE7dz0iIn1lbHNlIGlmKCRsPT09cCYmdilkKz0xLHA9dC5jaGFyQ29kZUF0KGQpLHkuYWZ0ZXI9Uyx5LnNvdXJjZUVuZEluZGV4Kz1TLmxlbmd0aCxTPSIiLHYtPTEsYltiLmxlbmd0aC0xXS5zb3VyY2VFbmRJbmRleD1kLGIucG9wKCkseT1iW3ZdLGU9eS5ub2RlcztlbHNle2k9ZDtkbyBwPT09TWwmJihpKz0xKSxpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKGk8aCYmIShwPD0zMnx8cD09PVNzfHxwPT09TGx8fHA9PT1ObHx8cD09PUJsfHxwPT09eXJ8fHA9PT1xbHx8cD09PUFzJiZ5JiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiYhMHx8cD09PXlyJiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiYhMHx8cD09PSRsJiZ2KSk7YT10LnNsaWNlKGQsaSkscWw9PT1wP3c9YTooTTI9PT1hLmNoYXJDb2RlQXQoMCl8fE4yPT09YS5jaGFyQ29kZUF0KDApKSYmQjI9PT1hLmNoYXJDb2RlQXQoMSkmJkYyLnRlc3QoYS5zbGljZSgyKSk/ZS5wdXNoKHt0eXBlOiJ1bmljb2RlLXJhbmdlIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6YX0pOmUucHVzaCh7dHlwZToid29yZCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppLHZhbHVlOmF9KSxkPWl9Zm9yKGQ9Yi5sZW5ndGgtMTtkO2QtPTEpYltkXS51bmNsb3NlZD0hMCxiW2RdLnNvdXJjZUVuZEluZGV4PXQubGVuZ3RoO3JldHVybiBiWzBdLm5vZGVzfX0pO3ZhciBLZz14KChhcSxZZyk9Pnt1KCk7WWcuZXhwb3J0cz1mdW5jdGlvbiByKGUsdCxpKXt2YXIgbixzLGEsbztmb3Iobj0wLHM9ZS5sZW5ndGg7bjxzO24rPTEpYT1lW25dLGl8fChvPXQoYSxuLGUpKSxvIT09ITEmJmEudHlwZT09PSJmdW5jdGlvbiImJkFycmF5LmlzQXJyYXkoYS5ub2RlcykmJnIoYS5ub2Rlcyx0LGkpLGkmJnQoYSxuLGUpfX0pO3ZhciBleT14KChvcSxKZyk9Pnt1KCk7ZnVuY3Rpb24gWGcocixlKXt2YXIgdD1yLnR5cGUsaT1yLnZhbHVlLG4scztyZXR1cm4gZSYmKHM9ZShyKSkhPT12b2lkIDA/czp0PT09IndvcmQifHx0PT09InNwYWNlIj9pOnQ9PT0ic3RyaW5nIj8obj1yLnF1b3RlfHwiIixuK2krKHIudW5jbG9zZWQ/IiI6bikpOnQ9PT0iY29tbWVudCI/Ii8qIitpKyhyLnVuY2xvc2VkPyIiOiIqLyIpOnQ9PT0iZGl2Ij8oci5iZWZvcmV8fCIiKStpKyhyLmFmdGVyfHwiIik6QXJyYXkuaXNBcnJheShyLm5vZGVzKT8obj1aZyhyLm5vZGVzLGUpLHQhPT0iZnVuY3Rpb24iP246aSsiKCIrKHIuYmVmb3JlfHwiIikrbisoci5hZnRlcnx8IiIpKyhyLnVuY2xvc2VkPyIiOiIpIikpOml9ZnVuY3Rpb24gWmcocixlKXt2YXIgdCxpO2lmKEFycmF5LmlzQXJyYXkocikpe2Zvcih0PSIiLGk9ci5sZW5ndGgtMTt+aTtpLT0xKXQ9WGcocltpXSxlKSt0O3JldHVybiB0fXJldHVybiBYZyhyLGUpfUpnLmV4cG9ydHM9Wmd9KTt2YXIgcnk9eCgobHEsdHkpPT57dSgpO3ZhciBDcz0iLSIuY2hhckNvZGVBdCgwKSxfcz0iKyIuY2hhckNvZGVBdCgwKSxGbD0iLiIuY2hhckNvZGVBdCgwKSxqMj0iZSIuY2hhckNvZGVBdCgwKSx6Mj0iRSIuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBVMihyKXt2YXIgZT1yLmNoYXJDb2RlQXQoMCksdDtpZihlPT09X3N8fGU9PT1Dcyl7aWYodD1yLmNoYXJDb2RlQXQoMSksdD49NDgmJnQ8PTU3KXJldHVybiEwO3ZhciBpPXIuY2hhckNvZGVBdCgyKTtyZXR1cm4gdD09PUZsJiZpPj00OCYmaTw9NTd9cmV0dXJuIGU9PT1GbD8odD1yLmNoYXJDb2RlQXQoMSksdD49NDgmJnQ8PTU3KTplPj00OCYmZTw9NTd9dHkuZXhwb3J0cz1mdW5jdGlvbihyKXt2YXIgZT0wLHQ9ci5sZW5ndGgsaSxuLHM7aWYodD09PTB8fCFVMihyKSlyZXR1cm4hMTtmb3IoaT1yLmNoYXJDb2RlQXQoZSksKGk9PT1fc3x8aT09PUNzKSYmZSsrO2U8dCYmKGk9ci5jaGFyQ29kZUF0KGUpLCEoaTw0OHx8aT41NykpOyllKz0xO2lmKGk9ci5jaGFyQ29kZUF0KGUpLG49ci5jaGFyQ29kZUF0KGUrMSksaT09PUZsJiZuPj00OCYmbjw9NTcpZm9yKGUrPTI7ZTx0JiYoaT1yLmNoYXJDb2RlQXQoZSksIShpPDQ4fHxpPjU3KSk7KWUrPTE7aWYoaT1yLmNoYXJDb2RlQXQoZSksbj1yLmNoYXJDb2RlQXQoZSsxKSxzPXIuY2hhckNvZGVBdChlKzIpLChpPT09ajJ8fGk9PT16MikmJihuPj00OCYmbjw9NTd8fChuPT09X3N8fG49PT1DcykmJnM+PTQ4JiZzPD01NykpZm9yKGUrPW49PT1fc3x8bj09PUNzPzM6MjtlPHQmJihpPXIuY2hhckNvZGVBdChlKSwhKGk8NDh8fGk+NTcpKTspZSs9MTtyZXR1cm57bnVtYmVyOnIuc2xpY2UoMCxlKSx1bml0OnIuc2xpY2UoZSl9fX0pO3ZhciBheT14KCh1cSxzeSk9Pnt1KCk7dmFyIFYyPVFnKCksaXk9S2coKSxueT1leSgpO2Z1bmN0aW9uICR0KHIpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgJHQ/KHRoaXMubm9kZXM9VjIociksdGhpcyk6bmV3ICR0KHIpfSR0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBBcnJheS5pc0FycmF5KHRoaXMubm9kZXMpP255KHRoaXMubm9kZXMpOiIifTskdC5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbihyLGUpe3JldHVybiBpeSh0aGlzLm5vZGVzLHIsZSksdGhpc307JHQudW5pdD1yeSgpOyR0LndhbGs9aXk7JHQuc3RyaW5naWZ5PW55O3N5LmV4cG9ydHM9JHR9KTtmdW5jdGlvbiB6bChyKXtyZXR1cm4gdHlwZW9mIHI9PSJvYmplY3QiJiZyIT09bnVsbH1mdW5jdGlvbiBIMihyLGUpe2xldCB0PWt0KGUpO2RvIGlmKHQucG9wKCksKDAsTWkuZGVmYXVsdCkocix0KSE9PXZvaWQgMClicmVhazt3aGlsZSh0Lmxlbmd0aCk7cmV0dXJuIHQubGVuZ3RoP3Q6dm9pZCAwfWZ1bmN0aW9uIGJyKHIpe3JldHVybiB0eXBlb2Ygcj09InN0cmluZyI/cjpyLnJlZHVjZSgoZSx0LGkpPT50LmluY2x1ZGVzKCIuIik/YCR7ZX1bJHt0fV1gOmk9PT0wP3Q6YCR7ZX0uJHt0fWAsIiIpfWZ1bmN0aW9uIGx5KHIpe3JldHVybiByLm1hcChlPT5gJyR7ZX0nYCkuam9pbigiLCAiKX1mdW5jdGlvbiB1eShyKXtyZXR1cm4gbHkoT2JqZWN0LmtleXMocikpfWZ1bmN0aW9uIFVsKHIsZSx0LGk9e30pe2xldCBuPUFycmF5LmlzQXJyYXkoZSk/YnIoZSk6ZS5yZXBsYWNlKC9eWyciXSt8WyciXSskL2csIiIpLHM9QXJyYXkuaXNBcnJheShlKT9lOmt0KG4pLGE9KDAsTWkuZGVmYXVsdCkoci50aGVtZSxzLHQpO2lmKGE9PT12b2lkIDApe2xldCBsPWAnJHtufScgZG9lcyBub3QgZXhpc3QgaW4geW91ciB0aGVtZSBjb25maWcuYCxjPXMuc2xpY2UoMCwtMSksZj0oMCxNaS5kZWZhdWx0KShyLnRoZW1lLGMpO2lmKHpsKGYpKXtsZXQgZD1PYmplY3Qua2V5cyhmKS5maWx0ZXIoaD0+VWwocixbLi4uYyxoXSkuaXNWYWxpZCkscD0oMCxveS5kZWZhdWx0KShzW3MubGVuZ3RoLTFdLGQpO3A/bCs9YCBEaWQgeW91IG1lYW4gJyR7YnIoWy4uLmMscF0pfSc/YDpkLmxlbmd0aD4wJiYobCs9YCAnJHticihjKX0nIGhhcyB0aGUgZm9sbG93aW5nIHZhbGlkIGtleXM6ICR7bHkoZCl9YCl9ZWxzZXtsZXQgZD1IMihyLnRoZW1lLG4pO2lmKGQpe2xldCBwPSgwLE1pLmRlZmF1bHQpKHIudGhlbWUsZCk7emwocCk/bCs9YCAnJHticihkKX0nIGhhcyB0aGUgZm9sbG93aW5nIGtleXM6ICR7dXkocCl9YDpsKz1gICcke2JyKGQpfScgaXMgbm90IGFuIG9iamVjdC5gfWVsc2UgbCs9YCBZb3VyIHRoZW1lIGhhcyB0aGUgZm9sbG93aW5nIHRvcC1sZXZlbCBrZXlzOiAke3V5KHIudGhlbWUpfWB9cmV0dXJue2lzVmFsaWQ6ITEsZXJyb3I6bH19aWYoISh0eXBlb2YgYT09InN0cmluZyJ8fHR5cGVvZiBhPT0ibnVtYmVyInx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fGEgaW5zdGFuY2VvZiBTdHJpbmd8fGEgaW5zdGFuY2VvZiBOdW1iZXJ8fEFycmF5LmlzQXJyYXkoYSkpKXtsZXQgbD1gJyR7bn0nIHdhcyBmb3VuZCBidXQgZG9lcyBub3QgcmVzb2x2ZSB0byBhIHN0cmluZy5gO2lmKHpsKGEpKXtsZXQgYz1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+VWwocixbLi4ucyxmXSkuaXNWYWxpZCk7Yy5sZW5ndGgmJihsKz1gIERpZCB5b3UgbWVhbiBzb21ldGhpbmcgbGlrZSAnJHticihbLi4ucyxjWzBdXSl9Jz9gKX1yZXR1cm57aXNWYWxpZDohMSxlcnJvcjpsfX1sZXRbb109cztyZXR1cm57aXNWYWxpZDohMCx2YWx1ZTptdChvKShhLGkpfX1mdW5jdGlvbiBXMihyLGUsdCl7ZT1lLm1hcChuPT5meShyLG4sdCkpO2xldCBpPVsiIl07Zm9yKGxldCBuIG9mIGUpbi50eXBlPT09ImRpdiImJm4udmFsdWU9PT0iLCI/aS5wdXNoKCIiKTppW2kubGVuZ3RoLTFdKz1qbC5kZWZhdWx0LnN0cmluZ2lmeShuKTtyZXR1cm4gaX1mdW5jdGlvbiBmeShyLGUsdCl7aWYoZS50eXBlPT09ImZ1bmN0aW9uIiYmdFtlLnZhbHVlXSE9PXZvaWQgMCl7bGV0IGk9VzIocixlLm5vZGVzLHQpO2UudHlwZT0id29yZCIsZS52YWx1ZT10W2UudmFsdWVdKHIsLi4uaSl9cmV0dXJuIGV9ZnVuY3Rpb24gRzIocixlLHQpe3JldHVybiBPYmplY3Qua2V5cyh0KS5zb21lKG49PmUuaW5jbHVkZXMoYCR7bn0oYCkpPygwLGpsLmRlZmF1bHQpKGUpLndhbGsobj0+e2Z5KHIsbix0KX0pLnRvU3RyaW5nKCk6ZX1mdW5jdGlvbipZMihyKXtyPXIucmVwbGFjZSgvXlsnIl0rfFsnIl0rJC9nLCIiKTtsZXQgZT1yLm1hdGNoKC9eKFteXHNdKykoPyFbXlxbXSpcXSkoPzpccypcL1xzKihbXlwvXHNdKykpJC8pLHQ7eWllbGRbcix2b2lkIDBdLGUmJihyPWVbMV0sdD1lWzJdLHlpZWxkW3IsdF0pfWZ1bmN0aW9uIEsyKHIsZSx0KXtsZXQgaT1BcnJheS5mcm9tKFkyKGUpKS5tYXAoKFtuLHNdKT0+T2JqZWN0LmFzc2lnbihVbChyLG4sdCx7b3BhY2l0eVZhbHVlOnN9KSx7cmVzb2x2ZWRQYXRoOm4sYWxwaGE6c30pKTtyZXR1cm4gaS5maW5kKG49Pm4uaXNWYWxpZCk/P2lbMF19ZnVuY3Rpb24gY3kocil7bGV0IGU9ci50YWlsd2luZENvbmZpZyx0PXt0aGVtZTooaSxuLC4uLnMpPT57bGV0e2lzVmFsaWQ6YSx2YWx1ZTpvLGVycm9yOmwsYWxwaGE6Y309SzIoZSxuLHMubGVuZ3RoP3M6dm9pZCAwKTtpZighYSl7bGV0IHA9aS5wYXJlbnQsaD1wPy5yYXdzLnRhaWx3aW5kPy5jYW5kaWRhdGU7aWYocCYmaCE9PXZvaWQgMCl7ci5tYXJrSW52YWxpZFV0aWxpdHlOb2RlKHApLHAucmVtb3ZlKCksRy53YXJuKCJpbnZhbGlkLXRoZW1lLWtleS1pbi1jbGFzcyIsW2BUaGUgdXRpbGl0eSBcYCR7aH1cYCBjb250YWlucyBhbiBpbnZhbGlkIHRoZW1lIHZhbHVlIGFuZCB3YXMgbm90IGdlbmVyYXRlZC5gXSk7cmV0dXJufXRocm93IGkuZXJyb3IobCl9bGV0IGY9WHQobyksZD1mIT09dm9pZCAwJiZ0eXBlb2YgZj09ImZ1bmN0aW9uIjtyZXR1cm4oYyE9PXZvaWQgMHx8ZCkmJihjPT09dm9pZCAwJiYoYz0xKSxvPUplKGYsYyxmKSksb30sc2NyZWVuOihpLG4pPT57bj1uLnJlcGxhY2UoL15bJyJdKy9nLCIiKS5yZXBsYWNlKC9bJyJdKyQvZywiIik7bGV0IGE9UnQoZS50aGVtZS5zY3JlZW5zKS5maW5kKCh7bmFtZTpvfSk9Pm89PT1uKTtpZighYSl0aHJvdyBpLmVycm9yKGBUaGUgJyR7bn0nIHNjcmVlbiBkb2VzIG5vdCBleGlzdCBpbiB5b3VyIHRoZW1lLmApO3JldHVybiBUdChhKX19O3JldHVybiBpPT57aS53YWxrKG49PntsZXQgcz1RMltuLnR5cGVdO3MhPT12b2lkIDAmJihuW3NdPUcyKG4sbltzXSx0KSl9KX19dmFyIE1pLG95LGpsLFEyLHB5PVAoKCk9Pnt1KCk7TWk9cGUoUmEoKSksb3k9cGUoV2coKSk7Q2koKTtqbD1wZShheSgpKTtabigpO1luKCk7WWkoKTtMcigpO0ZyKCk7QmUoKTtRMj17YXRydWxlOiJwYXJhbXMiLGRlY2w6InZhbHVlIn19KTtmdW5jdGlvbiBkeSh7dGFpbHdpbmRDb25maWc6e3RoZW1lOnJ9fSl7cmV0dXJuIGZ1bmN0aW9uKGUpe2Uud2Fsa0F0UnVsZXMoInNjcmVlbiIsdD0+e2xldCBpPXQucGFyYW1zLHM9UnQoci5zY3JlZW5zKS5maW5kKCh7bmFtZTphfSk9PmE9PT1pKTtpZighcyl0aHJvdyB0LmVycm9yKGBObyBcYCR7aX1cYCBzY3JlZW4gZm91bmQuYCk7dC5uYW1lPSJtZWRpYSIsdC5wYXJhbXM9VHQocyl9KX19dmFyIGh5PVAoKCk9Pnt1KCk7Wm4oKTtZbigpfSk7ZnVuY3Rpb24gWDIocil7bGV0IGU9ci5maWx0ZXIobz0+by50eXBlIT09InBzZXVkbyJ8fG8ubm9kZXMubGVuZ3RoPjA/ITA6by52YWx1ZS5zdGFydHNXaXRoKCI6OiIpfHxbIjpiZWZvcmUiLCI6YWZ0ZXIiLCI6Zmlyc3QtbGluZSIsIjpmaXJzdC1sZXR0ZXIiXS5pbmNsdWRlcyhvLnZhbHVlKSkucmV2ZXJzZSgpLHQ9bmV3IFNldChbInRhZyIsImNsYXNzIiwiaWQiLCJhdHRyaWJ1dGUiXSksaT1lLmZpbmRJbmRleChvPT50LmhhcyhvLnR5cGUpKTtpZihpPT09LTEpcmV0dXJuIGUucmV2ZXJzZSgpLmpvaW4oIiIpLnRyaW0oKTtsZXQgbj1lW2ldLHM9bXlbbi50eXBlXT9teVtuLnR5cGVdKG4pOm47ZT1lLnNsaWNlKDAsaSk7bGV0IGE9ZS5maW5kSW5kZXgobz0+by50eXBlPT09ImNvbWJpbmF0b3IiJiZvLnZhbHVlPT09Ij4iKTtyZXR1cm4gYSE9PS0xJiYoZS5zcGxpY2UoMCxhKSxlLnVuc2hpZnQoRXMuZGVmYXVsdC51bml2ZXJzYWwoKSkpLFtzLC4uLmUucmV2ZXJzZSgpXS5qb2luKCIiKS50cmltKCl9ZnVuY3Rpb24gSjIocil7cmV0dXJuIFZsLmhhcyhyKXx8Vmwuc2V0KHIsWjIudHJhbnNmb3JtU3luYyhyKSksVmwuZ2V0KHIpfWZ1bmN0aW9uIEhsKHt0YWlsd2luZENvbmZpZzpyfSl7cmV0dXJuIGU9PntsZXQgdD1uZXcgTWFwLGk9bmV3IFNldDtpZihlLndhbGtBdFJ1bGVzKCJkZWZhdWx0cyIsbj0+e2lmKG4ubm9kZXMmJm4ubm9kZXMubGVuZ3RoPjApe2kuYWRkKG4pO3JldHVybn1sZXQgcz1uLnBhcmFtczt0LmhhcyhzKXx8dC5zZXQocyxuZXcgU2V0KSx0LmdldChzKS5hZGQobi5wYXJlbnQpLG4ucmVtb3ZlKCl9KSx3ZShyLCJvcHRpbWl6ZVVuaXZlcnNhbERlZmF1bHRzIikpZm9yKGxldCBuIG9mIGkpe2xldCBzPW5ldyBNYXAsYT10LmdldChuLnBhcmFtcyk/P1tdO2ZvcihsZXQgbyBvZiBhKWZvcihsZXQgbCBvZiBKMihvLnNlbGVjdG9yKSl7bGV0IGM9bC5pbmNsdWRlcygiOi0iKXx8bC5pbmNsdWRlcygiOjotIil8fGwuaW5jbHVkZXMoIjpoYXMiKT9sOiJfX0RFRkFVTFRfXyIsZj1zLmdldChjKT8/bmV3IFNldDtzLnNldChjLGYpLGYuYWRkKGwpfWlmKHMuc2l6ZT09PTApe24ucmVtb3ZlKCk7Y29udGludWV9Zm9yKGxldFssb11vZiBzKXtsZXQgbD1lZS5ydWxlKHtzb3VyY2U6bi5zb3VyY2V9KTtsLnNlbGVjdG9ycz1bLi4ub10sbC5hcHBlbmQobi5ub2Rlcy5tYXAoYz0+Yy5jbG9uZSgpKSksbi5iZWZvcmUobCl9bi5yZW1vdmUoKX1lbHNlIGlmKGkuc2l6ZSl7bGV0IG49ZWUucnVsZSh7c2VsZWN0b3JzOlsiKiIsIjo6YmVmb3JlIiwiOjphZnRlciJdfSk7Zm9yKGxldCBhIG9mIGkpbi5hcHBlbmQoYS5ub2Rlcyksbi5wYXJlbnR8fGEuYmVmb3JlKG4pLG4uc291cmNlfHwobi5zb3VyY2U9YS5zb3VyY2UpLGEucmVtb3ZlKCk7bGV0IHM9bi5jbG9uZSh7c2VsZWN0b3JzOlsiOjpiYWNrZHJvcCJdfSk7bi5hZnRlcihzKX19fXZhciBFcyxteSxaMixWbCxneT1QKCgpPT57dSgpO090KCk7RXM9cGUoaXQoKSk7Y3QoKTtteT17aWQocil7cmV0dXJuIEVzLmRlZmF1bHQuYXR0cmlidXRlKHthdHRyaWJ1dGU6ImlkIixvcGVyYXRvcjoiPSIsdmFsdWU6ci52YWx1ZSxxdW90ZU1hcms6JyInfSl9fTtaMj0oMCxFcy5kZWZhdWx0KShyPT5yLm1hcChlPT57bGV0IHQ9ZS5zcGxpdChpPT5pLnR5cGU9PT0iY29tYmluYXRvciImJmkudmFsdWU9PT0iICIpLnBvcCgpO3JldHVybiBYMih0KX0pKSxWbD1uZXcgTWFwfSk7ZnVuY3Rpb24gV2woKXtmdW5jdGlvbiByKGUpe2xldCB0PW51bGw7ZS5lYWNoKGk9PntpZighZU8uaGFzKGkudHlwZSkpe3Q9bnVsbDtyZXR1cm59aWYodD09PW51bGwpe3Q9aTtyZXR1cm59bGV0IG49eXlbaS50eXBlXTtpLnR5cGU9PT0iYXRydWxlIiYmaS5uYW1lPT09ImZvbnQtZmFjZSI/dD1pOm4uZXZlcnkocz0+KGlbc10/PyIiKS5yZXBsYWNlKC9ccysvZywiICIpPT09KHRbc10/PyIiKS5yZXBsYWNlKC9ccysvZywiICIpKT8oaS5ub2RlcyYmdC5hcHBlbmQoaS5ub2RlcyksaS5yZW1vdmUoKSk6dD1pfSksZS5lYWNoKGk9PntpLnR5cGU9PT0iYXRydWxlIiYmcihpKX0pfXJldHVybiBlPT57cihlKX19dmFyIHl5LGVPLGJ5PVAoKCk9Pnt1KCk7eXk9e2F0cnVsZTpbIm5hbWUiLCJwYXJhbXMiXSxydWxlOlsic2VsZWN0b3IiXX0sZU89bmV3IFNldChPYmplY3Qua2V5cyh5eSkpfSk7ZnVuY3Rpb24gR2woKXtyZXR1cm4gcj0+e3Iud2Fsa1J1bGVzKGU9PntsZXQgdD1uZXcgTWFwLGk9bmV3IFNldChbXSksbj1uZXcgTWFwO2Uud2Fsa0RlY2xzKHM9PntpZihzLnBhcmVudD09PWUpe2lmKHQuaGFzKHMucHJvcCkpe2lmKHQuZ2V0KHMucHJvcCkudmFsdWU9PT1zLnZhbHVlKXtpLmFkZCh0LmdldChzLnByb3ApKSx0LnNldChzLnByb3Ascyk7cmV0dXJufW4uaGFzKHMucHJvcCl8fG4uc2V0KHMucHJvcCxuZXcgU2V0KSxuLmdldChzLnByb3ApLmFkZCh0LmdldChzLnByb3ApKSxuLmdldChzLnByb3ApLmFkZChzKX10LnNldChzLnByb3Ascyl9fSk7Zm9yKGxldCBzIG9mIGkpcy5yZW1vdmUoKTtmb3IobGV0IHMgb2Ygbi52YWx1ZXMoKSl7bGV0IGE9bmV3IE1hcDtmb3IobGV0IG8gb2Ygcyl7bGV0IGw9ck8oby52YWx1ZSk7bCE9PW51bGwmJihhLmhhcyhsKXx8YS5zZXQobCxuZXcgU2V0KSxhLmdldChsKS5hZGQobykpfWZvcihsZXQgbyBvZiBhLnZhbHVlcygpKXtsZXQgbD1BcnJheS5mcm9tKG8pLnNsaWNlKDAsLTEpO2ZvcihsZXQgYyBvZiBsKWMucmVtb3ZlKCl9fX0pfX1mdW5jdGlvbiByTyhyKXtsZXQgZT0vXi0/XGQqLj9cZCsoW1x3JV0rKT8kL2cuZXhlYyhyKTtyZXR1cm4gZT9lWzFdPz90TzpudWxsfXZhciB0Tyx3eT1QKCgpPT57dSgpO3RPPVN5bWJvbCgidW5pdGxlc3MtbnVtYmVyIil9KTtmdW5jdGlvbiBpTyhyKXtpZighci53YWxrQXRSdWxlcylyZXR1cm47bGV0IGU9bmV3IFNldDtpZihyLndhbGtBdFJ1bGVzKCJhcHBseSIsdD0+e2UuYWRkKHQucGFyZW50KX0pLGUuc2l6ZSE9PTApZm9yKGxldCB0IG9mIGUpe2xldCBpPVtdLG49W107Zm9yKGxldCBzIG9mIHQubm9kZXMpcy50eXBlPT09ImF0cnVsZSImJnMubmFtZT09PSJhcHBseSI/KG4ubGVuZ3RoPjAmJihpLnB1c2gobiksbj1bXSksaS5wdXNoKFtzXSkpOm4ucHVzaChzKTtpZihuLmxlbmd0aD4wJiZpLnB1c2gobiksaS5sZW5ndGghPT0xKXtmb3IobGV0IHMgb2ZbLi4uaV0ucmV2ZXJzZSgpKXtsZXQgYT10LmNsb25lKHtub2RlczpbXX0pO2EuYXBwZW5kKHMpLHQuYWZ0ZXIoYSl9dC5yZW1vdmUoKX19fWZ1bmN0aW9uIE9zKCl7cmV0dXJuIHI9PntpTyhyKX19dmFyIHZ5PVAoKCk9Pnt1KCl9KTtmdW5jdGlvbiBUcyhyKXtyZXR1cm4gYXN5bmMgZnVuY3Rpb24oZSx0KXtsZXR7dGFpbHdpbmREaXJlY3RpdmVzOmksYXBwbHlEaXJlY3RpdmVzOm59PU9sKGUpO09zKCkoZSx0KTtsZXQgcz1yKHt0YWlsd2luZERpcmVjdGl2ZXM6aSxhcHBseURpcmVjdGl2ZXM6bixyZWdpc3RlckRlcGVuZGVuY3koYSl7dC5tZXNzYWdlcy5wdXNoKHtwbHVnaW46InRhaWx3aW5kY3NzIixwYXJlbnQ6dC5vcHRzLmZyb20sLi4uYX0pfSxjcmVhdGVDb250ZXh0KGEsbyl7cmV0dXJuIGlsKGEsbyxlKX19KShlLHQpO2lmKHMudGFpbHdpbmRDb25maWcuc2VwYXJhdG9yPT09Ii0iKXRocm93IG5ldyBFcnJvcigiVGhlICctJyBjaGFyYWN0ZXIgY2Fubm90IGJlIHVzZWQgYXMgYSBjdXN0b20gc2VwYXJhdG9yIGluIEpJVCBtb2RlIGR1ZSB0byBwYXJzaW5nIGFtYmlndWl0eS4gUGxlYXNlIHVzZSBhbm90aGVyIGNoYXJhY3RlciBsaWtlICdfJyBpbnN0ZWFkLiIpO1JmKHMudGFpbHdpbmRDb25maWcpLGF3YWl0IFBsKHMpKGUsdCksT3MoKShlLHQpLERsKHMpKGUsdCksY3kocykoZSx0KSxkeShzKShlLHQpLEhsKHMpKGUsdCksV2wocykoZSx0KSxHbChzKShlLHQpfX12YXIgeHk9UCgoKT0+e3UoKTtPZygpO0JnKCk7SGcoKTtweSgpO2h5KCk7Z3koKTtieSgpO3d5KCk7dnkoKTtPaSgpO2N0KCl9KTtmdW5jdGlvbiBreShyLGUpe2xldCB0PW51bGwsaT1udWxsO3JldHVybiByLndhbGtBdFJ1bGVzKCJjb25maWciLG49PntpZihpPW4uc291cmNlPy5pbnB1dC5maWxlPz9lLm9wdHMuZnJvbT8/bnVsbCxpPT09bnVsbCl0aHJvdyBuLmVycm9yKCJUaGUgYEBjb25maWdgIGRpcmVjdGl2ZSBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IHNldHRpbmcgYGZyb21gIGluIHlvdXIgUG9zdENTUyBjb25maWcuIik7aWYodCl0aHJvdyBuLmVycm9yKCJPbmx5IG9uZSBgQGNvbmZpZ2AgZGlyZWN0aXZlIGlzIGFsbG93ZWQgcGVyIGZpbGUuIik7bGV0IHM9bi5wYXJhbXMubWF0Y2goLyhbJyJdKSguKj8pXDEvKTtpZighcyl0aHJvdyBuLmVycm9yKCJBIHBhdGggaXMgcmVxdWlyZWQgd2hlbiB1c2luZyB0aGUgYEBjb25maWdgIGRpcmVjdGl2ZS4iKTtsZXQgYT1zWzJdO2lmKG1lLmlzQWJzb2x1dGUoYSkpdGhyb3cgbi5lcnJvcigiVGhlIGBAY29uZmlnYCBkaXJlY3RpdmUgY2Fubm90IGJlIHVzZWQgd2l0aCBhbiBhYnNvbHV0ZSBwYXRoLiIpO2lmKHQ9bWUucmVzb2x2ZShtZS5kaXJuYW1lKGkpLGEpLCFiZS5leGlzdHNTeW5jKHQpKXRocm93IG4uZXJyb3IoYFRoZSBjb25maWcgZmlsZSBhdCAiJHthfSIgZG9lcyBub3QgZXhpc3QuIE1ha2Ugc3VyZSB0aGUgcGF0aCBpcyBjb3JyZWN0IGFuZCB0aGUgZmlsZSBleGlzdHMuYCk7bi5yZW1vdmUoKX0pLHR8fG51bGx9dmFyIFN5PVAoKCk9Pnt1KCk7ZnQoKTtldCgpfSk7dmFyIEF5PXgoKFdxLFFsKT0+e3UoKTtFZygpO3h5KCk7SXQoKTtTeSgpO1FsLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJue3Bvc3Rjc3NQbHVnaW46InRhaWx3aW5kY3NzIixwbHVnaW5zOltaZS5ERUJVRyYmZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUubG9nKGAKYCksY29uc29sZS50aW1lKCJKSVQgVE9UQUwiKSx0fSxhc3luYyBmdW5jdGlvbih0LGkpe2U9a3kodCxpKT8/ZTtsZXQgbj1FbChlKTtpZih0LnR5cGU9PT0iZG9jdW1lbnQiKXtsZXQgcz10Lm5vZGVzLmZpbHRlcihhPT5hLnR5cGU9PT0icm9vdCIpO2ZvcihsZXQgYSBvZiBzKWEudHlwZT09PSJyb290IiYmYXdhaXQgVHMobikoYSxpKTtyZXR1cm59YXdhaXQgVHMobikodCxpKX0sWmUuREVCVUcmJmZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLnRpbWVFbmQoIkpJVCBUT1RBTCIpLGNvbnNvbGUubG9nKGAKYCksdH1dLmZpbHRlcihCb29sZWFuKX19O1FsLmV4cG9ydHMucG9zdGNzcz0hMH0pO3ZhciBfeT14KChHcSxDeSk9Pnt1KCk7Q3kuZXhwb3J0cz1BeSgpfSk7dmFyIFlsPXgoKFFxLEV5KT0+e3UoKTtFeS5leHBvcnRzPSgpPT5bImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTE0IiwiY2hyb21lIDExMyIsImNocm9tZSAxMDkiLCJlZGdlIDExNCIsImZpcmVmb3ggMTE0IiwiaW9zX3NhZiAxNi41IiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi4xIiwib3BlcmEgOTkiLCJzYWZhcmkgMTYuNSIsInNhbXN1bmcgMjEiXX0pO3ZhciBScz17fTtHZShScyx7YWdlbnRzOigpPT5uTyxmZWF0dXJlOigpPT5zT30pO2Z1bmN0aW9uIHNPKCl7cmV0dXJue3N0YXR1czoiY3IiLHRpdGxlOiJDU1MgRmVhdHVyZSBRdWVyaWVzIixzdGF0czp7aWU6eyI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoibiIsIjEwIjoibiIsIjExIjoibiIsIjUuNSI6Im4ifSxlZGdlOnsiMTIiOiJ5IiwiMTMiOiJ5IiwiMTQiOiJ5IiwiMTUiOiJ5IiwiMTYiOiJ5IiwiMTciOiJ5IiwiMTgiOiJ5IiwiNzkiOiJ5IiwiODAiOiJ5IiwiODEiOiJ5IiwiODMiOiJ5IiwiODQiOiJ5IiwiODUiOiJ5IiwiODYiOiJ5IiwiODciOiJ5IiwiODgiOiJ5IiwiODkiOiJ5IiwiOTAiOiJ5IiwiOTEiOiJ5IiwiOTIiOiJ5IiwiOTMiOiJ5IiwiOTQiOiJ5IiwiOTUiOiJ5IiwiOTYiOiJ5IiwiOTciOiJ5IiwiOTgiOiJ5IiwiOTkiOiJ5IiwiMTAwIjoieSIsIjEwMSI6InkiLCIxMDIiOiJ5IiwiMTAzIjoieSIsIjEwNCI6InkiLCIxMDUiOiJ5IiwiMTA2IjoieSIsIjEwNyI6InkiLCIxMDgiOiJ5IiwiMTA5IjoieSIsIjExMCI6InkiLCIxMTEiOiJ5IiwiMTEyIjoieSIsIjExMyI6InkiLCIxMTQiOiJ5In0sZmlyZWZveDp7IjIiOiJuIiwiMyI6Im4iLCI0IjoibiIsIjUiOiJuIiwiNiI6Im4iLCI3IjoibiIsIjgiOiJuIiwiOSI6Im4iLCIxMCI6Im4iLCIxMSI6Im4iLCIxMiI6Im4iLCIxMyI6Im4iLCIxNCI6Im4iLCIxNSI6Im4iLCIxNiI6Im4iLCIxNyI6Im4iLCIxOCI6Im4iLCIxOSI6Im4iLCIyMCI6Im4iLCIyMSI6Im4iLCIyMiI6InkiLCIyMyI6InkiLCIyNCI6InkiLCIyNSI6InkiLCIyNiI6InkiLCIyNyI6InkiLCIyOCI6InkiLCIyOSI6InkiLCIzMCI6InkiLCIzMSI6InkiLCIzMiI6InkiLCIzMyI6InkiLCIzNCI6InkiLCIzNSI6InkiLCIzNiI6InkiLCIzNyI6InkiLCIzOCI6InkiLCIzOSI6InkiLCI0MCI6InkiLCI0MSI6InkiLCI0MiI6InkiLCI0MyI6InkiLCI0NCI6InkiLCI0NSI6InkiLCI0NiI6InkiLCI0NyI6InkiLCI0OCI6InkiLCI0OSI6InkiLCI1MCI6InkiLCI1MSI6InkiLCI1MiI6InkiLCI1MyI6InkiLCI1NCI6InkiLCI1NSI6InkiLCI1NiI6InkiLCI1NyI6InkiLCI1OCI6InkiLCI1OSI6InkiLCI2MCI6InkiLCI2MSI6InkiLCI2MiI6InkiLCI2MyI6InkiLCI2NCI6InkiLCI2NSI6InkiLCI2NiI6InkiLCI2NyI6InkiLCI2OCI6InkiLCI2OSI6InkiLCI3MCI6InkiLCI3MSI6InkiLCI3MiI6InkiLCI3MyI6InkiLCI3NCI6InkiLCI3NSI6InkiLCI3NiI6InkiLCI3NyI6InkiLCI3OCI6InkiLCI3OSI6InkiLCI4MCI6InkiLCI4MSI6InkiLCI4MiI6InkiLCI4MyI6InkiLCI4NCI6InkiLCI4NSI6InkiLCI4NiI6InkiLCI4NyI6InkiLCI4OCI6InkiLCI4OSI6InkiLCI5MCI6InkiLCI5MSI6InkiLCI5MiI6InkiLCI5MyI6InkiLCI5NCI6InkiLCI5NSI6InkiLCI5NiI6InkiLCI5NyI6InkiLCI5OCI6InkiLCI5OSI6InkiLCIxMDAiOiJ5IiwiMTAxIjoieSIsIjEwMiI6InkiLCIxMDMiOiJ5IiwiMTA0IjoieSIsIjEwNSI6InkiLCIxMDYiOiJ5IiwiMTA3IjoieSIsIjEwOCI6InkiLCIxMDkiOiJ5IiwiMTEwIjoieSIsIjExMSI6InkiLCIxMTIiOiJ5IiwiMTEzIjoieSIsIjExNCI6InkiLCIxMTUiOiJ5IiwiMTE2IjoieSIsIjExNyI6InkiLCIzLjUiOiJuIiwiMy42IjoibiJ9LGNocm9tZTp7IjQiOiJuIiwiNSI6Im4iLCI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoibiIsIjEwIjoibiIsIjExIjoibiIsIjEyIjoibiIsIjEzIjoibiIsIjE0IjoibiIsIjE1IjoibiIsIjE2IjoibiIsIjE3IjoibiIsIjE4IjoibiIsIjE5IjoibiIsIjIwIjoibiIsIjIxIjoibiIsIjIyIjoibiIsIjIzIjoibiIsIjI0IjoibiIsIjI1IjoibiIsIjI2IjoibiIsIjI3IjoibiIsIjI4IjoieSIsIjI5IjoieSIsIjMwIjoieSIsIjMxIjoieSIsIjMyIjoieSIsIjMzIjoieSIsIjM0IjoieSIsIjM1IjoieSIsIjM2IjoieSIsIjM3IjoieSIsIjM4IjoieSIsIjM5IjoieSIsIjQwIjoieSIsIjQxIjoieSIsIjQyIjoieSIsIjQzIjoieSIsIjQ0IjoieSIsIjQ1IjoieSIsIjQ2IjoieSIsIjQ3IjoieSIsIjQ4IjoieSIsIjQ5IjoieSIsIjUwIjoieSIsIjUxIjoieSIsIjUyIjoieSIsIjUzIjoieSIsIjU0IjoieSIsIjU1IjoieSIsIjU2IjoieSIsIjU3IjoieSIsIjU4IjoieSIsIjU5IjoieSIsIjYwIjoieSIsIjYxIjoieSIsIjYyIjoieSIsIjYzIjoieSIsIjY0IjoieSIsIjY1IjoieSIsIjY2IjoieSIsIjY3IjoieSIsIjY4IjoieSIsIjY5IjoieSIsIjcwIjoieSIsIjcxIjoieSIsIjcyIjoieSIsIjczIjoieSIsIjc0IjoieSIsIjc1IjoieSIsIjc2IjoieSIsIjc3IjoieSIsIjc4IjoieSIsIjc5IjoieSIsIjgwIjoieSIsIjgxIjoieSIsIjgzIjoieSIsIjg0IjoieSIsIjg1IjoieSIsIjg2IjoieSIsIjg3IjoieSIsIjg4IjoieSIsIjg5IjoieSIsIjkwIjoieSIsIjkxIjoieSIsIjkyIjoieSIsIjkzIjoieSIsIjk0IjoieSIsIjk1IjoieSIsIjk2IjoieSIsIjk3IjoieSIsIjk4IjoieSIsIjk5IjoieSIsIjEwMCI6InkiLCIxMDEiOiJ5IiwiMTAyIjoieSIsIjEwMyI6InkiLCIxMDQiOiJ5IiwiMTA1IjoieSIsIjEwNiI6InkiLCIxMDciOiJ5IiwiMTA4IjoieSIsIjEwOSI6InkiLCIxMTAiOiJ5IiwiMTExIjoieSIsIjExMiI6InkiLCIxMTMiOiJ5IiwiMTE0IjoieSIsIjExNSI6InkiLCIxMTYiOiJ5IiwiMTE3IjoieSJ9LHNhZmFyaTp7IjQiOiJuIiwiNSI6Im4iLCI2IjoibiIsIjciOiJuIiwiOCI6Im4iLCI5IjoieSIsIjEwIjoieSIsIjExIjoieSIsIjEyIjoieSIsIjEzIjoieSIsIjE0IjoieSIsIjE1IjoieSIsIjE3IjoieSIsIjkuMSI6InkiLCIxMC4xIjoieSIsIjExLjEiOiJ5IiwiMTIuMSI6InkiLCIxMy4xIjoieSIsIjE0LjEiOiJ5IiwiMTUuMSI6InkiLCIxNS4yLTE1LjMiOiJ5IiwiMTUuNCI6InkiLCIxNS41IjoieSIsIjE1LjYiOiJ5IiwiMTYuMCI6InkiLCIxNi4xIjoieSIsIjE2LjIiOiJ5IiwiMTYuMyI6InkiLCIxNi40IjoieSIsIjE2LjUiOiJ5IiwiMTYuNiI6InkiLFRQOiJ5IiwiMy4xIjoibiIsIjMuMiI6Im4iLCI1LjEiOiJuIiwiNi4xIjoibiIsIjcuMSI6Im4ifSxvcGVyYTp7IjkiOiJuIiwiMTEiOiJuIiwiMTIiOiJuIiwiMTUiOiJ5IiwiMTYiOiJ5IiwiMTciOiJ5IiwiMTgiOiJ5IiwiMTkiOiJ5IiwiMjAiOiJ5IiwiMjEiOiJ5IiwiMjIiOiJ5IiwiMjMiOiJ5IiwiMjQiOiJ5IiwiMjUiOiJ5IiwiMjYiOiJ5IiwiMjciOiJ5IiwiMjgiOiJ5IiwiMjkiOiJ5IiwiMzAiOiJ5IiwiMzEiOiJ5IiwiMzIiOiJ5IiwiMzMiOiJ5IiwiMzQiOiJ5IiwiMzUiOiJ5IiwiMzYiOiJ5IiwiMzciOiJ5IiwiMzgiOiJ5IiwiMzkiOiJ5IiwiNDAiOiJ5IiwiNDEiOiJ5IiwiNDIiOiJ5IiwiNDMiOiJ5IiwiNDQiOiJ5IiwiNDUiOiJ5IiwiNDYiOiJ5IiwiNDciOiJ5IiwiNDgiOiJ5IiwiNDkiOiJ5IiwiNTAiOiJ5IiwiNTEiOiJ5IiwiNTIiOiJ5IiwiNTMiOiJ5IiwiNTQiOiJ5IiwiNTUiOiJ5IiwiNTYiOiJ5IiwiNTciOiJ5IiwiNTgiOiJ5IiwiNjAiOiJ5IiwiNjIiOiJ5IiwiNjMiOiJ5IiwiNjQiOiJ5IiwiNjUiOiJ5IiwiNjYiOiJ5IiwiNjciOiJ5IiwiNjgiOiJ5IiwiNjkiOiJ5IiwiNzAiOiJ5IiwiNzEiOiJ5IiwiNzIiOiJ5IiwiNzMiOiJ5IiwiNzQiOiJ5IiwiNzUiOiJ5IiwiNzYiOiJ5IiwiNzciOiJ5IiwiNzgiOiJ5IiwiNzkiOiJ5IiwiODAiOiJ5IiwiODEiOiJ5IiwiODIiOiJ5IiwiODMiOiJ5IiwiODQiOiJ5IiwiODUiOiJ5IiwiODYiOiJ5IiwiODciOiJ5IiwiODgiOiJ5IiwiODkiOiJ5IiwiOTAiOiJ5IiwiOTEiOiJ5IiwiOTIiOiJ5IiwiOTMiOiJ5IiwiOTQiOiJ5IiwiOTUiOiJ5IiwiOTYiOiJ5IiwiOTciOiJ5IiwiOTgiOiJ5IiwiOTkiOiJ5IiwiMTAwIjoieSIsIjEyLjEiOiJ5IiwiOS41LTkuNiI6Im4iLCIxMC4wLTEwLjEiOiJuIiwiMTAuNSI6Im4iLCIxMC42IjoibiIsIjExLjEiOiJuIiwiMTEuNSI6Im4iLCIxMS42IjoibiJ9LGlvc19zYWY6eyI4IjoibiIsIjE3IjoieSIsIjkuMC05LjIiOiJ5IiwiOS4zIjoieSIsIjEwLjAtMTAuMiI6InkiLCIxMC4zIjoieSIsIjExLjAtMTEuMiI6InkiLCIxMS4zLTExLjQiOiJ5IiwiMTIuMC0xMi4xIjoieSIsIjEyLjItMTIuNSI6InkiLCIxMy4wLTEzLjEiOiJ5IiwiMTMuMiI6InkiLCIxMy4zIjoieSIsIjEzLjQtMTMuNyI6InkiLCIxNC4wLTE0LjQiOiJ5IiwiMTQuNS0xNC44IjoieSIsIjE1LjAtMTUuMSI6InkiLCIxNS4yLTE1LjMiOiJ5IiwiMTUuNCI6InkiLCIxNS41IjoieSIsIjE1LjYiOiJ5IiwiMTYuMCI6InkiLCIxNi4xIjoieSIsIjE2LjIiOiJ5IiwiMTYuMyI6InkiLCIxNi40IjoieSIsIjE2LjUiOiJ5IiwiMTYuNiI6InkiLCIzLjIiOiJuIiwiNC4wLTQuMSI6Im4iLCI0LjItNC4zIjoibiIsIjUuMC01LjEiOiJuIiwiNi4wLTYuMSI6Im4iLCI3LjAtNy4xIjoibiIsIjguMS04LjQiOiJuIn0sb3BfbWluaTp7YWxsOiJ5In0sYW5kcm9pZDp7IjMiOiJuIiwiNCI6Im4iLCIxMTQiOiJ5IiwiNC40IjoieSIsIjQuNC4zLTQuNC40IjoieSIsIjIuMSI6Im4iLCIyLjIiOiJuIiwiMi4zIjoibiIsIjQuMSI6Im4iLCI0LjItNC4zIjoibiJ9LGJiOnsiNyI6Im4iLCIxMCI6Im4ifSxvcF9tb2I6eyIxMCI6Im4iLCIxMSI6Im4iLCIxMiI6Im4iLCI3MyI6InkiLCIxMS4xIjoibiIsIjExLjUiOiJuIiwiMTIuMSI6Im4ifSxhbmRfY2hyOnsiMTE0IjoieSJ9LGFuZF9mZjp7IjExNSI6InkifSxpZV9tb2I6eyIxMCI6Im4iLCIxMSI6Im4ifSxhbmRfdWM6eyIxNS41IjoieSJ9LHNhbXN1bmc6eyI0IjoieSIsIjIwIjoieSIsIjIxIjoieSIsIjUuMC01LjQiOiJ5IiwiNi4yLTYuNCI6InkiLCI3LjItNy40IjoieSIsIjguMiI6InkiLCI5LjIiOiJ5IiwiMTAuMSI6InkiLCIxMS4xLTExLjIiOiJ5IiwiMTIuMCI6InkiLCIxMy4wIjoieSIsIjE0LjAiOiJ5IiwiMTUuMCI6InkiLCIxNi4wIjoieSIsIjE3LjAiOiJ5IiwiMTguMCI6InkiLCIxOS4wIjoieSJ9LGFuZF9xcTp7IjEzLjEiOiJ5In0sYmFpZHU6eyIxMy4xOCI6InkifSxrYWlvczp7IjIuNSI6InkiLCIzLjAtMy4xIjoieSJ9fX19dmFyIG5PLFBzPVAoKCk9Pnt1KCk7bk89e2llOntwcmVmaXg6Im1zIn0sZWRnZTp7cHJlZml4OiJ3ZWJraXQiLHByZWZpeF9leGNlcHRpb25zOnsiMTIiOiJtcyIsIjEzIjoibXMiLCIxNCI6Im1zIiwiMTUiOiJtcyIsIjE2IjoibXMiLCIxNyI6Im1zIiwiMTgiOiJtcyJ9fSxmaXJlZm94OntwcmVmaXg6Im1veiJ9LGNocm9tZTp7cHJlZml4OiJ3ZWJraXQifSxzYWZhcmk6e3ByZWZpeDoid2Via2l0In0sb3BlcmE6e3ByZWZpeDoid2Via2l0IixwcmVmaXhfZXhjZXB0aW9uczp7IjkiOiJvIiwiMTEiOiJvIiwiMTIiOiJvIiwiOS41LTkuNiI6Im8iLCIxMC4wLTEwLjEiOiJvIiwiMTAuNSI6Im8iLCIxMC42IjoibyIsIjExLjEiOiJvIiwiMTEuNSI6Im8iLCIxMS42IjoibyIsIjEyLjEiOiJvIn19LGlvc19zYWY6e3ByZWZpeDoid2Via2l0In0sb3BfbWluaTp7cHJlZml4OiJvIn0sYW5kcm9pZDp7cHJlZml4OiJ3ZWJraXQifSxiYjp7cHJlZml4OiJ3ZWJraXQifSxvcF9tb2I6e3ByZWZpeDoibyIscHJlZml4X2V4Y2VwdGlvbnM6eyI3MyI6IndlYmtpdCJ9fSxhbmRfY2hyOntwcmVmaXg6IndlYmtpdCJ9LGFuZF9mZjp7cHJlZml4OiJtb3oifSxpZV9tb2I6e3ByZWZpeDoibXMifSxhbmRfdWM6e3ByZWZpeDoid2Via2l0IixwcmVmaXhfZXhjZXB0aW9uczp7IjE1LjUiOiJ3ZWJraXQifX0sc2Ftc3VuZzp7cHJlZml4OiJ3ZWJraXQifSxhbmRfcXE6e3ByZWZpeDoid2Via2l0In0sYmFpZHU6e3ByZWZpeDoid2Via2l0In0sa2Fpb3M6e3ByZWZpeDoibW96In19fSk7dmFyIE95PXgoKCk9Pnt1KCl9KTt2YXIgX2U9eCgoWHEsTHQpPT57dSgpO3ZhcntsaXN0OktsfT0kZSgpO0x0LmV4cG9ydHMuZXJyb3I9ZnVuY3Rpb24ocil7bGV0IGU9bmV3IEVycm9yKHIpO3Rocm93IGUuYXV0b3ByZWZpeGVyPSEwLGV9O0x0LmV4cG9ydHMudW5pcT1mdW5jdGlvbihyKXtyZXR1cm5bLi4ubmV3IFNldChyKV19O0x0LmV4cG9ydHMucmVtb3ZlTm90ZT1mdW5jdGlvbihyKXtyZXR1cm4gci5pbmNsdWRlcygiICIpP3Iuc3BsaXQoIiAiKVswXTpyfTtMdC5leHBvcnRzLmVzY2FwZVJlZ2V4cD1mdW5jdGlvbihyKXtyZXR1cm4gci5yZXBsYWNlKC9bJCgpKistLj9bXFxcXV57fH1dL2csIlxcJCYiKX07THQuZXhwb3J0cy5yZWdleHA9ZnVuY3Rpb24ocixlPSEwKXtyZXR1cm4gZSYmKHI9dGhpcy5lc2NhcGVSZWdleHAocikpLG5ldyBSZWdFeHAoYChefFtcXHMsKF0pKCR7cn0oJHxbXFxzKCxdKSlgLCJnaSIpfTtMdC5leHBvcnRzLmVkaXRMaXN0PWZ1bmN0aW9uKHIsZSl7bGV0IHQ9S2wuY29tbWEociksaT1lKHQsW10pO2lmKHQ9PT1pKXJldHVybiByO2xldCBuPXIubWF0Y2goLyxccyovKTtyZXR1cm4gbj1uP25bMF06IiwgIixpLmpvaW4obil9O0x0LmV4cG9ydHMuc3BsaXRTZWxlY3Rvcj1mdW5jdGlvbihyKXtyZXR1cm4gS2wuY29tbWEocikubWFwKGU9PktsLnNwYWNlKGUpLm1hcCh0PT50LnNwbGl0KC8oPz1cLnwjKS9nKSkpfX0pO3ZhciBNdD14KChacSxQeSk9Pnt1KCk7dmFyIGFPPVlsKCksVHk9KFBzKCksUnMpLmFnZW50cyxvTz1fZSgpLFJ5PWNsYXNze3N0YXRpYyBwcmVmaXhlcygpe2lmKHRoaXMucHJlZml4ZXNDYWNoZSlyZXR1cm4gdGhpcy5wcmVmaXhlc0NhY2hlO3RoaXMucHJlZml4ZXNDYWNoZT1bXTtmb3IobGV0IGUgaW4gVHkpdGhpcy5wcmVmaXhlc0NhY2hlLnB1c2goYC0ke1R5W2VdLnByZWZpeH0tYCk7cmV0dXJuIHRoaXMucHJlZml4ZXNDYWNoZT1vTy51bmlxKHRoaXMucHJlZml4ZXNDYWNoZSkuc29ydCgoZSx0KT0+dC5sZW5ndGgtZS5sZW5ndGgpLHRoaXMucHJlZml4ZXNDYWNoZX1zdGF0aWMgd2l0aFByZWZpeChlKXtyZXR1cm4gdGhpcy5wcmVmaXhlc1JlZ2V4cHx8KHRoaXMucHJlZml4ZXNSZWdleHA9bmV3IFJlZ0V4cCh0aGlzLnByZWZpeGVzKCkuam9pbigifCIpKSksdGhpcy5wcmVmaXhlc1JlZ2V4cC50ZXN0KGUpfWNvbnN0cnVjdG9yKGUsdCxpLG4pe3RoaXMuZGF0YT1lLHRoaXMub3B0aW9ucz1pfHx7fSx0aGlzLmJyb3dzZXJzbGlzdE9wdHM9bnx8e30sdGhpcy5zZWxlY3RlZD10aGlzLnBhcnNlKHQpfXBhcnNlKGUpe2xldCB0PXt9O2ZvcihsZXQgaSBpbiB0aGlzLmJyb3dzZXJzbGlzdE9wdHMpdFtpXT10aGlzLmJyb3dzZXJzbGlzdE9wdHNbaV07cmV0dXJuIHQucGF0aD10aGlzLm9wdGlvbnMuZnJvbSxhTyhlLHQpfXByZWZpeChlKXtsZXRbdCxpXT1lLnNwbGl0KCIgIiksbj10aGlzLmRhdGFbdF0scz1uLnByZWZpeF9leGNlcHRpb25zJiZuLnByZWZpeF9leGNlcHRpb25zW2ldO3JldHVybiBzfHwocz1uLnByZWZpeCksYC0ke3N9LWB9aXNTZWxlY3RlZChlKXtyZXR1cm4gdGhpcy5zZWxlY3RlZC5pbmNsdWRlcyhlKX19O1B5LmV4cG9ydHM9Unl9KTt2YXIgTmk9eCgoSnEsSXkpPT57dSgpO0l5LmV4cG9ydHM9e3ByZWZpeChyKXtsZXQgZT1yLm1hdGNoKC9eKC1cdystKS8pO3JldHVybiBlP2VbMF06IiJ9LHVucHJlZml4ZWQocil7cmV0dXJuIHIucmVwbGFjZSgvXi1cdystLywiIil9fX0pO3ZhciB3cj14KChlJCxxeSk9Pnt1KCk7dmFyIGxPPU10KCksRHk9TmkoKSx1Tz1fZSgpO2Z1bmN0aW9uIFhsKHIsZSl7bGV0IHQ9bmV3IHIuY29uc3RydWN0b3I7Zm9yKGxldCBpIG9mIE9iamVjdC5rZXlzKHJ8fHt9KSl7bGV0IG49cltpXTtpPT09InBhcmVudCImJnR5cGVvZiBuPT0ib2JqZWN0Ij9lJiYodFtpXT1lKTppPT09InNvdXJjZSJ8fGk9PT1udWxsP3RbaV09bjpBcnJheS5pc0FycmF5KG4pP3RbaV09bi5tYXAocz0+WGwocyx0KSk6aSE9PSJfYXV0b3ByZWZpeGVyUHJlZml4IiYmaSE9PSJfYXV0b3ByZWZpeGVyVmFsdWVzIiYmaSE9PSJwcm94eUNhY2hlIiYmKHR5cGVvZiBuPT0ib2JqZWN0IiYmbiE9PW51bGwmJihuPVhsKG4sdCkpLHRbaV09bil9cmV0dXJuIHR9dmFyIElzPWNsYXNze3N0YXRpYyBoYWNrKGUpe3JldHVybiB0aGlzLmhhY2tzfHwodGhpcy5oYWNrcz17fSksZS5uYW1lcy5tYXAodD0+KHRoaXMuaGFja3NbdF09ZSx0aGlzLmhhY2tzW3RdKSl9c3RhdGljIGxvYWQoZSx0LGkpe2xldCBuPXRoaXMuaGFja3MmJnRoaXMuaGFja3NbZV07cmV0dXJuIG4/bmV3IG4oZSx0LGkpOm5ldyB0aGlzKGUsdCxpKX1zdGF0aWMgY2xvbmUoZSx0KXtsZXQgaT1YbChlKTtmb3IobGV0IG4gaW4gdClpW25dPXRbbl07cmV0dXJuIGl9Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucHJlZml4ZXM9dCx0aGlzLm5hbWU9ZSx0aGlzLmFsbD1pfXBhcmVudFByZWZpeChlKXtsZXQgdDtyZXR1cm4gdHlwZW9mIGUuX2F1dG9wcmVmaXhlclByZWZpeCE9InVuZGVmaW5lZCI/dD1lLl9hdXRvcHJlZml4ZXJQcmVmaXg6ZS50eXBlPT09ImRlY2wiJiZlLnByb3BbMF09PT0iLSI/dD1EeS5wcmVmaXgoZS5wcm9wKTplLnR5cGU9PT0icm9vdCI/dD0hMTplLnR5cGU9PT0icnVsZSImJmUuc2VsZWN0b3IuaW5jbHVkZXMoIjotIikmJi86KC1cdystKS8udGVzdChlLnNlbGVjdG9yKT90PWUuc2VsZWN0b3IubWF0Y2goLzooLVx3Ky0pLylbMV06ZS50eXBlPT09ImF0cnVsZSImJmUubmFtZVswXT09PSItIj90PUR5LnByZWZpeChlLm5hbWUpOnQ9dGhpcy5wYXJlbnRQcmVmaXgoZS5wYXJlbnQpLGxPLnByZWZpeGVzKCkuaW5jbHVkZXModCl8fCh0PSExKSxlLl9hdXRvcHJlZml4ZXJQcmVmaXg9dCxlLl9hdXRvcHJlZml4ZXJQcmVmaXh9cHJvY2VzcyhlLHQpe2lmKCF0aGlzLmNoZWNrKGUpKXJldHVybjtsZXQgaT10aGlzLnBhcmVudFByZWZpeChlKSxuPXRoaXMucHJlZml4ZXMuZmlsdGVyKGE9PiFpfHxpPT09dU8ucmVtb3ZlTm90ZShhKSkscz1bXTtmb3IobGV0IGEgb2Ygbil0aGlzLmFkZChlLGEscy5jb25jYXQoW2FdKSx0KSYmcy5wdXNoKGEpO3JldHVybiBzfWNsb25lKGUsdCl7cmV0dXJuIElzLmNsb25lKGUsdCl9fTtxeS5leHBvcnRzPUlzfSk7dmFyIGo9eCgodCQsTXkpPT57dSgpO3ZhciBmTz13cigpLGNPPU10KCksJHk9X2UoKSxMeT1jbGFzcyBleHRlbmRzIGZPe2NoZWNrKCl7cmV0dXJuITB9cHJlZml4ZWQoZSx0KXtyZXR1cm4gdCtlfW5vcm1hbGl6ZShlKXtyZXR1cm4gZX1vdGhlclByZWZpeGVzKGUsdCl7Zm9yKGxldCBpIG9mIGNPLnByZWZpeGVzKCkpaWYoaSE9PXQmJmUuaW5jbHVkZXMoaSkpcmV0dXJuITA7cmV0dXJuITF9c2V0KGUsdCl7cmV0dXJuIGUucHJvcD10aGlzLnByZWZpeGVkKGUucHJvcCx0KSxlfW5lZWRDYXNjYWRlKGUpe3JldHVybiBlLl9hdXRvcHJlZml4ZXJDYXNjYWRlfHwoZS5fYXV0b3ByZWZpeGVyQ2FzY2FkZT10aGlzLmFsbC5vcHRpb25zLmNhc2NhZGUhPT0hMSYmZS5yYXcoImJlZm9yZSIpLmluY2x1ZGVzKGAKYCkpLGUuX2F1dG9wcmVmaXhlckNhc2NhZGV9bWF4UHJlZml4ZWQoZSx0KXtpZih0Ll9hdXRvcHJlZml4ZXJNYXgpcmV0dXJuIHQuX2F1dG9wcmVmaXhlck1heDtsZXQgaT0wO2ZvcihsZXQgbiBvZiBlKW49JHkucmVtb3ZlTm90ZShuKSxuLmxlbmd0aD5pJiYoaT1uLmxlbmd0aCk7cmV0dXJuIHQuX2F1dG9wcmVmaXhlck1heD1pLHQuX2F1dG9wcmVmaXhlck1heH1jYWxjQmVmb3JlKGUsdCxpPSIiKXtsZXQgcz10aGlzLm1heFByZWZpeGVkKGUsdCktJHkucmVtb3ZlTm90ZShpKS5sZW5ndGgsYT10LnJhdygiYmVmb3JlIik7cmV0dXJuIHM+MCYmKGErPUFycmF5KHMpLmZpbGwoIiAiKS5qb2luKCIiKSksYX1yZXN0b3JlQmVmb3JlKGUpe2xldCB0PWUucmF3KCJiZWZvcmUiKS5zcGxpdChgCmApLGk9dFt0Lmxlbmd0aC0xXTt0aGlzLmFsbC5ncm91cChlKS51cChuPT57bGV0IHM9bi5yYXcoImJlZm9yZSIpLnNwbGl0KGAKYCksYT1zW3MubGVuZ3RoLTFdO2EubGVuZ3RoPGkubGVuZ3RoJiYoaT1hKX0pLHRbdC5sZW5ndGgtMV09aSxlLnJhd3MuYmVmb3JlPXQuam9pbihgCmApfWluc2VydChlLHQsaSl7bGV0IG49dGhpcy5zZXQodGhpcy5jbG9uZShlKSx0KTtpZighKCFufHxlLnBhcmVudC5zb21lKGE9PmEucHJvcD09PW4ucHJvcCYmYS52YWx1ZT09PW4udmFsdWUpKSlyZXR1cm4gdGhpcy5uZWVkQ2FzY2FkZShlKSYmKG4ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9aXNBbHJlYWR5KGUsdCl7bGV0IGk9dGhpcy5hbGwuZ3JvdXAoZSkudXAobj0+bi5wcm9wPT09dCk7cmV0dXJuIGl8fChpPXRoaXMuYWxsLmdyb3VwKGUpLmRvd24obj0+bi5wcm9wPT09dCkpLGl9YWRkKGUsdCxpLG4pe2xldCBzPXRoaXMucHJlZml4ZWQoZS5wcm9wLHQpO2lmKCEodGhpcy5pc0FscmVhZHkoZSxzKXx8dGhpcy5vdGhlclByZWZpeGVzKGUudmFsdWUsdCkpKXJldHVybiB0aGlzLmluc2VydChlLHQsaSxuKX1wcm9jZXNzKGUsdCl7aWYoIXRoaXMubmVlZENhc2NhZGUoZSkpe3N1cGVyLnByb2Nlc3MoZSx0KTtyZXR1cm59bGV0IGk9c3VwZXIucHJvY2VzcyhlLHQpOyFpfHwhaS5sZW5ndGh8fCh0aGlzLnJlc3RvcmVCZWZvcmUoZSksZS5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlKSl9b2xkKGUsdCl7cmV0dXJuW3RoaXMucHJlZml4ZWQoZSx0KV19fTtNeS5leHBvcnRzPUx5fSk7dmFyIEJ5PXgoKHIkLE55KT0+e3UoKTtOeS5leHBvcnRzPWZ1bmN0aW9uIHIoZSl7cmV0dXJue211bDp0PT5uZXcgcihlKnQpLGRpdjp0PT5uZXcgcihlL3QpLHNpbXBsaWZ5OigpPT5uZXcgcihlKSx0b1N0cmluZzooKT0+ZS50b1N0cmluZygpfX19KTt2YXIgenk9eCgoaSQsankpPT57dSgpO3ZhciBwTz1CeSgpLGRPPXdyKCksWmw9X2UoKSxoTz0vKG1pbnxtYXgpLXJlc29sdXRpb25ccyo6XHMqXGQqXC4/XGQrKGRwcHh8ZHBjbXxkcGl8eCkvZ2ksbU89LyhtaW58bWF4KS1yZXNvbHV0aW9uKFxzKjpccyopKFxkKlwuP1xkKykoZHBweHxkcGNtfGRwaXx4KS9pLEZ5PWNsYXNzIGV4dGVuZHMgZE97cHJlZml4TmFtZShlLHQpe3JldHVybiBlPT09Ii1tb3otIj90KyItLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW8iOmUrdCsiLWRldmljZS1waXhlbC1yYXRpbyJ9cHJlZml4UXVlcnkoZSx0LGksbixzKXtyZXR1cm4gbj1uZXcgcE8obikscz09PSJkcGkiP249bi5kaXYoOTYpOnM9PT0iZHBjbSImJihuPW4ubXVsKDIuNTQpLmRpdig5NikpLG49bi5zaW1wbGlmeSgpLGU9PT0iLW8tIiYmKG49bi5uKyIvIituLmQpLHRoaXMucHJlZml4TmFtZShlLHQpK2krbn1jbGVhbihlKXtpZighdGhpcy5iYWQpe3RoaXMuYmFkPVtdO2ZvcihsZXQgdCBvZiB0aGlzLnByZWZpeGVzKXRoaXMuYmFkLnB1c2godGhpcy5wcmVmaXhOYW1lKHQsIm1pbiIpKSx0aGlzLmJhZC5wdXNoKHRoaXMucHJlZml4TmFtZSh0LCJtYXgiKSl9ZS5wYXJhbXM9WmwuZWRpdExpc3QoZS5wYXJhbXMsdD0+dC5maWx0ZXIoaT0+dGhpcy5iYWQuZXZlcnkobj0+IWkuaW5jbHVkZXMobikpKSl9cHJvY2VzcyhlKXtsZXQgdD10aGlzLnBhcmVudFByZWZpeChlKSxpPXQ/W3RdOnRoaXMucHJlZml4ZXM7ZS5wYXJhbXM9WmwuZWRpdExpc3QoZS5wYXJhbXMsKG4scyk9Pntmb3IobGV0IGEgb2Ygbil7aWYoIWEuaW5jbHVkZXMoIm1pbi1yZXNvbHV0aW9uIikmJiFhLmluY2x1ZGVzKCJtYXgtcmVzb2x1dGlvbiIpKXtzLnB1c2goYSk7Y29udGludWV9Zm9yKGxldCBvIG9mIGkpe2xldCBsPWEucmVwbGFjZShoTyxjPT57bGV0IGY9Yy5tYXRjaChtTyk7cmV0dXJuIHRoaXMucHJlZml4UXVlcnkobyxmWzFdLGZbMl0sZlszXSxmWzRdKX0pO3MucHVzaChsKX1zLnB1c2goYSl9cmV0dXJuIFpsLnVuaXEocyl9KX19O2p5LmV4cG9ydHM9Rnl9KTt2YXIgVnk9eCgobiQsVXkpPT57dSgpO3ZhciBKbD0iKCIuY2hhckNvZGVBdCgwKSxldT0iKSIuY2hhckNvZGVBdCgwKSxEcz0iJyIuY2hhckNvZGVBdCgwKSx0dT0nIicuY2hhckNvZGVBdCgwKSxydT0iXFwiLmNoYXJDb2RlQXQoMCksdnI9Ii8iLmNoYXJDb2RlQXQoMCksaXU9IiwiLmNoYXJDb2RlQXQoMCksbnU9IjoiLmNoYXJDb2RlQXQoMCkscXM9IioiLmNoYXJDb2RlQXQoMCksZ089InUiLmNoYXJDb2RlQXQoMCkseU89IlUiLmNoYXJDb2RlQXQoMCksYk89IisiLmNoYXJDb2RlQXQoMCksd089L15bYS1mMC05Py1dKyQvaTtVeS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Zvcih2YXIgZT1bXSx0PXIsaSxuLHMsYSxvLGwsYyxmLGQ9MCxwPXQuY2hhckNvZGVBdChkKSxoPXQubGVuZ3RoLGI9W3tub2RlczplfV0sdj0wLHksdz0iIixrPSIiLFM9IiI7ZDxoOylpZihwPD0zMil7aT1kO2RvIGkrPTEscD10LmNoYXJDb2RlQXQoaSk7d2hpbGUocDw9MzIpO2E9dC5zbGljZShkLGkpLHM9ZVtlLmxlbmd0aC0xXSxwPT09ZXUmJnY/Uz1hOnMmJnMudHlwZT09PSJkaXYiPyhzLmFmdGVyPWEscy5zb3VyY2VFbmRJbmRleCs9YS5sZW5ndGgpOnA9PT1pdXx8cD09PW51fHxwPT09dnImJnQuY2hhckNvZGVBdChpKzEpIT09cXMmJigheXx8eSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZSE9PSJjYWxjIik/az1hOmUucHVzaCh7dHlwZToic3BhY2UiLHNvdXJjZUluZGV4OmQsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTphfSksZD1pfWVsc2UgaWYocD09PURzfHxwPT09dHUpe2k9ZCxuPXA9PT1Ecz8iJyI6JyInLGE9e3R5cGU6InN0cmluZyIsc291cmNlSW5kZXg6ZCxxdW90ZTpufTtkbyBpZihvPSExLGk9dC5pbmRleE9mKG4saSsxKSx+aSlmb3IobD1pO3QuY2hhckNvZGVBdChsLTEpPT09cnU7KWwtPTEsbz0hbztlbHNlIHQrPW4saT10Lmxlbmd0aC0xLGEudW5jbG9zZWQ9ITA7d2hpbGUobyk7YS52YWx1ZT10LnNsaWNlKGQrMSxpKSxhLnNvdXJjZUVuZEluZGV4PWEudW5jbG9zZWQ/aTppKzEsZS5wdXNoKGEpLGQ9aSsxLHA9dC5jaGFyQ29kZUF0KGQpfWVsc2UgaWYocD09PXZyJiZ0LmNoYXJDb2RlQXQoZCsxKT09PXFzKWk9dC5pbmRleE9mKCIqLyIsZCksYT17dHlwZToiY29tbWVudCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDppKzJ9LGk9PT0tMSYmKGEudW5jbG9zZWQ9ITAsaT10Lmxlbmd0aCxhLnNvdXJjZUVuZEluZGV4PWkpLGEudmFsdWU9dC5zbGljZShkKzIsaSksZS5wdXNoKGEpLGQ9aSsyLHA9dC5jaGFyQ29kZUF0KGQpO2Vsc2UgaWYoKHA9PT12cnx8cD09PXFzKSYmeSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJjYWxjIilhPXRbZF0sZS5wdXNoKHt0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLWsubGVuZ3RoLHNvdXJjZUVuZEluZGV4OmQrYS5sZW5ndGgsdmFsdWU6YX0pLGQrPTEscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZihwPT09dnJ8fHA9PT1pdXx8cD09PW51KWE9dFtkXSxlLnB1c2goe3R5cGU6ImRpdiIsc291cmNlSW5kZXg6ZC1rLmxlbmd0aCxzb3VyY2VFbmRJbmRleDpkK2EubGVuZ3RoLHZhbHVlOmEsYmVmb3JlOmssYWZ0ZXI6IiJ9KSxrPSIiLGQrPTEscD10LmNoYXJDb2RlQXQoZCk7ZWxzZSBpZihKbD09PXApe2k9ZDtkbyBpKz0xLHA9dC5jaGFyQ29kZUF0KGkpO3doaWxlKHA8PTMyKTtpZihmPWQsYT17dHlwZToiZnVuY3Rpb24iLHNvdXJjZUluZGV4OmQtdy5sZW5ndGgsdmFsdWU6dyxiZWZvcmU6dC5zbGljZShmKzEsaSl9LGQ9aSx3PT09InVybCImJnAhPT1EcyYmcCE9PXR1KXtpLT0xO2RvIGlmKG89ITEsaT10LmluZGV4T2YoIikiLGkrMSksfmkpZm9yKGw9aTt0LmNoYXJDb2RlQXQobC0xKT09PXJ1OylsLT0xLG89IW87ZWxzZSB0Kz0iKSIsaT10Lmxlbmd0aC0xLGEudW5jbG9zZWQ9ITA7d2hpbGUobyk7Yz1pO2RvIGMtPTEscD10LmNoYXJDb2RlQXQoYyk7d2hpbGUocDw9MzIpO2Y8Yz8oZCE9PWMrMT9hLm5vZGVzPVt7dHlwZToid29yZCIsc291cmNlSW5kZXg6ZCxzb3VyY2VFbmRJbmRleDpjKzEsdmFsdWU6dC5zbGljZShkLGMrMSl9XTphLm5vZGVzPVtdLGEudW5jbG9zZWQmJmMrMSE9PWk/KGEuYWZ0ZXI9IiIsYS5ub2Rlcy5wdXNoKHt0eXBlOiJzcGFjZSIsc291cmNlSW5kZXg6YysxLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6dC5zbGljZShjKzEsaSl9KSk6KGEuYWZ0ZXI9dC5zbGljZShjKzEsaSksYS5zb3VyY2VFbmRJbmRleD1pKSk6KGEuYWZ0ZXI9IiIsYS5ub2Rlcz1bXSksZD1pKzEsYS5zb3VyY2VFbmRJbmRleD1hLnVuY2xvc2VkP2k6ZCxwPXQuY2hhckNvZGVBdChkKSxlLnB1c2goYSl9ZWxzZSB2Kz0xLGEuYWZ0ZXI9IiIsYS5zb3VyY2VFbmRJbmRleD1kKzEsZS5wdXNoKGEpLGIucHVzaChhKSxlPWEubm9kZXM9W10seT1hO3c9IiJ9ZWxzZSBpZihldT09PXAmJnYpZCs9MSxwPXQuY2hhckNvZGVBdChkKSx5LmFmdGVyPVMseS5zb3VyY2VFbmRJbmRleCs9Uy5sZW5ndGgsUz0iIix2LT0xLGJbYi5sZW5ndGgtMV0uc291cmNlRW5kSW5kZXg9ZCxiLnBvcCgpLHk9Ylt2XSxlPXkubm9kZXM7ZWxzZXtpPWQ7ZG8gcD09PXJ1JiYoaSs9MSksaSs9MSxwPXQuY2hhckNvZGVBdChpKTt3aGlsZShpPGgmJiEocDw9MzJ8fHA9PT1Ec3x8cD09PXR1fHxwPT09aXV8fHA9PT1udXx8cD09PXZyfHxwPT09Smx8fHA9PT1xcyYmeSYmeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJjYWxjInx8cD09PXZyJiZ5LnR5cGU9PT0iZnVuY3Rpb24iJiZ5LnZhbHVlPT09ImNhbGMifHxwPT09ZXUmJnYpKTthPXQuc2xpY2UoZCxpKSxKbD09PXA/dz1hOihnTz09PWEuY2hhckNvZGVBdCgwKXx8eU89PT1hLmNoYXJDb2RlQXQoMCkpJiZiTz09PWEuY2hhckNvZGVBdCgxKSYmd08udGVzdChhLnNsaWNlKDIpKT9lLnB1c2goe3R5cGU6InVuaWNvZGUtcmFuZ2UiLHNvdXJjZUluZGV4OmQsc291cmNlRW5kSW5kZXg6aSx2YWx1ZTphfSk6ZS5wdXNoKHt0eXBlOiJ3b3JkIixzb3VyY2VJbmRleDpkLHNvdXJjZUVuZEluZGV4OmksdmFsdWU6YX0pLGQ9aX1mb3IoZD1iLmxlbmd0aC0xO2Q7ZC09MSliW2RdLnVuY2xvc2VkPSEwLGJbZF0uc291cmNlRW5kSW5kZXg9dC5sZW5ndGg7cmV0dXJuIGJbMF0ubm9kZXN9fSk7dmFyIFd5PXgoKHMkLEh5KT0+e3UoKTtIeS5leHBvcnRzPWZ1bmN0aW9uIHIoZSx0LGkpe3ZhciBuLHMsYSxvO2ZvcihuPTAscz1lLmxlbmd0aDtuPHM7bis9MSlhPWVbbl0saXx8KG89dChhLG4sZSkpLG8hPT0hMSYmYS50eXBlPT09ImZ1bmN0aW9uIiYmQXJyYXkuaXNBcnJheShhLm5vZGVzKSYmcihhLm5vZGVzLHQsaSksaSYmdChhLG4sZSl9fSk7dmFyIEt5PXgoKGEkLFl5KT0+e3UoKTtmdW5jdGlvbiBHeShyLGUpe3ZhciB0PXIudHlwZSxpPXIudmFsdWUsbixzO3JldHVybiBlJiYocz1lKHIpKSE9PXZvaWQgMD9zOnQ9PT0id29yZCJ8fHQ9PT0ic3BhY2UiP2k6dD09PSJzdHJpbmciPyhuPXIucXVvdGV8fCIiLG4raSsoci51bmNsb3NlZD8iIjpuKSk6dD09PSJjb21tZW50Ij8iLyoiK2krKHIudW5jbG9zZWQ/IiI6IiovIik6dD09PSJkaXYiPyhyLmJlZm9yZXx8IiIpK2krKHIuYWZ0ZXJ8fCIiKTpBcnJheS5pc0FycmF5KHIubm9kZXMpPyhuPVF5KHIubm9kZXMsZSksdCE9PSJmdW5jdGlvbiI/bjppKyIoIisoci5iZWZvcmV8fCIiKStuKyhyLmFmdGVyfHwiIikrKHIudW5jbG9zZWQ/IiI6IikiKSk6aX1mdW5jdGlvbiBReShyLGUpe3ZhciB0LGk7aWYoQXJyYXkuaXNBcnJheShyKSl7Zm9yKHQ9IiIsaT1yLmxlbmd0aC0xO35pO2ktPTEpdD1HeShyW2ldLGUpK3Q7cmV0dXJuIHR9cmV0dXJuIEd5KHIsZSl9WXkuZXhwb3J0cz1ReX0pO3ZhciBaeT14KChvJCxYeSk9Pnt1KCk7dmFyICRzPSItIi5jaGFyQ29kZUF0KDApLExzPSIrIi5jaGFyQ29kZUF0KDApLHN1PSIuIi5jaGFyQ29kZUF0KDApLHZPPSJlIi5jaGFyQ29kZUF0KDApLHhPPSJFIi5jaGFyQ29kZUF0KDApO2Z1bmN0aW9uIGtPKHIpe3ZhciBlPXIuY2hhckNvZGVBdCgwKSx0O2lmKGU9PT1Mc3x8ZT09PSRzKXtpZih0PXIuY2hhckNvZGVBdCgxKSx0Pj00OCYmdDw9NTcpcmV0dXJuITA7dmFyIGk9ci5jaGFyQ29kZUF0KDIpO3JldHVybiB0PT09c3UmJmk+PTQ4JiZpPD01N31yZXR1cm4gZT09PXN1Pyh0PXIuY2hhckNvZGVBdCgxKSx0Pj00OCYmdDw9NTcpOmU+PTQ4JiZlPD01N31YeS5leHBvcnRzPWZ1bmN0aW9uKHIpe3ZhciBlPTAsdD1yLmxlbmd0aCxpLG4scztpZih0PT09MHx8IWtPKHIpKXJldHVybiExO2ZvcihpPXIuY2hhckNvZGVBdChlKSwoaT09PUxzfHxpPT09JHMpJiZlKys7ZTx0JiYoaT1yLmNoYXJDb2RlQXQoZSksIShpPDQ4fHxpPjU3KSk7KWUrPTE7aWYoaT1yLmNoYXJDb2RlQXQoZSksbj1yLmNoYXJDb2RlQXQoZSsxKSxpPT09c3UmJm4+PTQ4JiZuPD01Nylmb3IoZSs9MjtlPHQmJihpPXIuY2hhckNvZGVBdChlKSwhKGk8NDh8fGk+NTcpKTspZSs9MTtpZihpPXIuY2hhckNvZGVBdChlKSxuPXIuY2hhckNvZGVBdChlKzEpLHM9ci5jaGFyQ29kZUF0KGUrMiksKGk9PT12T3x8aT09PXhPKSYmKG4+PTQ4JiZuPD01N3x8KG49PT1Mc3x8bj09PSRzKSYmcz49NDgmJnM8PTU3KSlmb3IoZSs9bj09PUxzfHxuPT09JHM/MzoyO2U8dCYmKGk9ci5jaGFyQ29kZUF0KGUpLCEoaTw0OHx8aT41NykpOyllKz0xO3JldHVybntudW1iZXI6ci5zbGljZSgwLGUpLHVuaXQ6ci5zbGljZShlKX19fSk7dmFyIE1zPXgoKGwkLHRiKT0+e3UoKTt2YXIgU089VnkoKSxKeT1XeSgpLGViPUt5KCk7ZnVuY3Rpb24gTnQocil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBOdD8odGhpcy5ub2Rlcz1TTyhyKSx0aGlzKTpuZXcgTnQocil9TnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5ub2Rlcyk/ZWIodGhpcy5ub2Rlcyk6IiJ9O050LnByb3RvdHlwZS53YWxrPWZ1bmN0aW9uKHIsZSl7cmV0dXJuIEp5KHRoaXMubm9kZXMscixlKSx0aGlzfTtOdC51bml0PVp5KCk7TnQud2Fsaz1KeTtOdC5zdHJpbmdpZnk9ZWI7dGIuZXhwb3J0cz1OdH0pO3ZhciBhYj14KCh1JCxzYik9Pnt1KCk7dmFye2xpc3Q6QU99PSRlKCkscmI9TXMoKSxDTz1NdCgpLGliPU5pKCksbmI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5wcm9wcz1bInRyYW5zaXRpb24iLCJ0cmFuc2l0aW9uLXByb3BlcnR5Il0sdGhpcy5wcmVmaXhlcz1lfWFkZChlLHQpe2xldCBpLG4scz10aGlzLnByZWZpeGVzLmFkZFtlLnByb3BdLGE9dGhpcy5ydWxlVmVuZG9yUHJlZml4ZXMoZSksbz1hfHxzJiZzLnByZWZpeGVzfHxbXSxsPXRoaXMucGFyc2UoZS52YWx1ZSksYz1sLm1hcChoPT50aGlzLmZpbmRQcm9wKGgpKSxmPVtdO2lmKGMuc29tZShoPT5oWzBdPT09Ii0iKSlyZXR1cm47Zm9yKGxldCBoIG9mIGwpe2lmKG49dGhpcy5maW5kUHJvcChoKSxuWzBdPT09Ii0iKWNvbnRpbnVlO2xldCBiPXRoaXMucHJlZml4ZXMuYWRkW25dO2lmKCEoIWJ8fCFiLnByZWZpeGVzKSlmb3IoaSBvZiBiLnByZWZpeGVzKXtpZihhJiYhYS5zb21lKHk9PmkuaW5jbHVkZXMoeSkpKWNvbnRpbnVlO2xldCB2PXRoaXMucHJlZml4ZXMucHJlZml4ZWQobixpKTt2IT09Ii1tcy10cmFuc2Zvcm0iJiYhYy5pbmNsdWRlcyh2KSYmKHRoaXMuZGlzYWJsZWQobixpKXx8Zi5wdXNoKHRoaXMuY2xvbmUobix2LGgpKSl9fWw9bC5jb25jYXQoZik7bGV0IGQ9dGhpcy5zdHJpbmdpZnkobCkscD10aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuRnJvbVVucHJlZml4ZWQobCwiLXdlYmtpdC0iKSk7aWYoby5pbmNsdWRlcygiLXdlYmtpdC0iKSYmdGhpcy5jbG9uZUJlZm9yZShlLGAtd2Via2l0LSR7ZS5wcm9wfWAscCksdGhpcy5jbG9uZUJlZm9yZShlLGUucHJvcCxwKSxvLmluY2x1ZGVzKCItby0iKSl7bGV0IGg9dGhpcy5zdHJpbmdpZnkodGhpcy5jbGVhbkZyb21VbnByZWZpeGVkKGwsIi1vLSIpKTt0aGlzLmNsb25lQmVmb3JlKGUsYC1vLSR7ZS5wcm9wfWAsaCl9Zm9yKGkgb2YgbylpZihpIT09Ii13ZWJraXQtIiYmaSE9PSItby0iKXtsZXQgaD10aGlzLnN0cmluZ2lmeSh0aGlzLmNsZWFuT3RoZXJQcmVmaXhlcyhsLGkpKTt0aGlzLmNsb25lQmVmb3JlKGUsaStlLnByb3AsaCl9ZCE9PWUudmFsdWUmJiF0aGlzLmFscmVhZHkoZSxlLnByb3AsZCkmJih0aGlzLmNoZWNrRm9yV2FybmluZyh0LGUpLGUuY2xvbmVCZWZvcmUoKSxlLnZhbHVlPWQpfWZpbmRQcm9wKGUpe2xldCB0PWVbMF0udmFsdWU7aWYoL15cZC8udGVzdCh0KSl7Zm9yKGxldFtpLG5db2YgZS5lbnRyaWVzKCkpaWYoaSE9PTAmJm4udHlwZT09PSJ3b3JkIilyZXR1cm4gbi52YWx1ZX1yZXR1cm4gdH1hbHJlYWR5KGUsdCxpKXtyZXR1cm4gZS5wYXJlbnQuc29tZShuPT5uLnByb3A9PT10JiZuLnZhbHVlPT09aSl9Y2xvbmVCZWZvcmUoZSx0LGkpe3RoaXMuYWxyZWFkeShlLHQsaSl8fGUuY2xvbmVCZWZvcmUoe3Byb3A6dCx2YWx1ZTppfSl9Y2hlY2tGb3JXYXJuaW5nKGUsdCl7aWYodC5wcm9wIT09InRyYW5zaXRpb24tcHJvcGVydHkiKXJldHVybjtsZXQgaT0hMSxuPSExO3QucGFyZW50LmVhY2gocz0+e2lmKHMudHlwZSE9PSJkZWNsInx8cy5wcm9wLmluZGV4T2YoInRyYW5zaXRpb24tIikhPT0wKXJldHVybjtsZXQgYT1BTy5jb21tYShzLnZhbHVlKTtpZihzLnByb3A9PT0idHJhbnNpdGlvbi1wcm9wZXJ0eSIpe2EuZm9yRWFjaChvPT57bGV0IGw9dGhpcy5wcmVmaXhlcy5hZGRbb107bCYmbC5wcmVmaXhlcyYmbC5wcmVmaXhlcy5sZW5ndGg+MCYmKGk9ITApfSk7cmV0dXJufXJldHVybiBuPW58fGEubGVuZ3RoPjEsITF9KSxpJiZuJiZ0Lndhcm4oZSwiUmVwbGFjZSB0cmFuc2l0aW9uLXByb3BlcnR5IHRvIHRyYW5zaXRpb24sIGJlY2F1c2UgQXV0b3ByZWZpeGVyIGNvdWxkIG5vdCBzdXBwb3J0IGFueSBjYXNlcyBvZiB0cmFuc2l0aW9uLXByb3BlcnR5IGFuZCBvdGhlciB0cmFuc2l0aW9uLSoiKX1yZW1vdmUoZSl7bGV0IHQ9dGhpcy5wYXJzZShlLnZhbHVlKTt0PXQuZmlsdGVyKGE9PntsZXQgbz10aGlzLnByZWZpeGVzLnJlbW92ZVt0aGlzLmZpbmRQcm9wKGEpXTtyZXR1cm4hb3x8IW8ucmVtb3ZlfSk7bGV0IGk9dGhpcy5zdHJpbmdpZnkodCk7aWYoZS52YWx1ZT09PWkpcmV0dXJuO2lmKHQubGVuZ3RoPT09MCl7ZS5yZW1vdmUoKTtyZXR1cm59bGV0IG49ZS5wYXJlbnQuc29tZShhPT5hLnByb3A9PT1lLnByb3AmJmEudmFsdWU9PT1pKSxzPWUucGFyZW50LnNvbWUoYT0+YSE9PWUmJmEucHJvcD09PWUucHJvcCYmYS52YWx1ZS5sZW5ndGg+aS5sZW5ndGgpO2lmKG58fHMpe2UucmVtb3ZlKCk7cmV0dXJufWUudmFsdWU9aX1wYXJzZShlKXtsZXQgdD1yYihlKSxpPVtdLG49W107Zm9yKGxldCBzIG9mIHQubm9kZXMpbi5wdXNoKHMpLHMudHlwZT09PSJkaXYiJiZzLnZhbHVlPT09IiwiJiYoaS5wdXNoKG4pLG49W10pO3JldHVybiBpLnB1c2gobiksaS5maWx0ZXIocz0+cy5sZW5ndGg+MCl9c3RyaW5naWZ5KGUpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iIjtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSlpW2kubGVuZ3RoLTFdLnR5cGUhPT0iZGl2IiYmaS5wdXNoKHRoaXMuZGl2KGUpKSx0PXQuY29uY2F0KGkpO3JldHVybiB0WzBdLnR5cGU9PT0iZGl2IiYmKHQ9dC5zbGljZSgxKSksdFt0Lmxlbmd0aC0xXS50eXBlPT09ImRpdiImJih0PXQuc2xpY2UoMCwtMisxfHx2b2lkIDApKSxyYi5zdHJpbmdpZnkoe25vZGVzOnR9KX1jbG9uZShlLHQsaSl7bGV0IG49W10scz0hMTtmb3IobGV0IGEgb2YgaSkhcyYmYS50eXBlPT09IndvcmQiJiZhLnZhbHVlPT09ZT8obi5wdXNoKHt0eXBlOiJ3b3JkIix2YWx1ZTp0fSkscz0hMCk6bi5wdXNoKGEpO3JldHVybiBufWRpdihlKXtmb3IobGV0IHQgb2YgZSlmb3IobGV0IGkgb2YgdClpZihpLnR5cGU9PT0iZGl2IiYmaS52YWx1ZT09PSIsIilyZXR1cm4gaTtyZXR1cm57dHlwZToiZGl2Iix2YWx1ZToiLCIsYWZ0ZXI6IiAifX1jbGVhbk90aGVyUHJlZml4ZXMoZSx0KXtyZXR1cm4gZS5maWx0ZXIoaT0+e2xldCBuPWliLnByZWZpeCh0aGlzLmZpbmRQcm9wKGkpKTtyZXR1cm4gbj09PSIifHxuPT09dH0pfWNsZWFuRnJvbVVucHJlZml4ZWQoZSx0KXtsZXQgaT1lLm1hcChzPT50aGlzLmZpbmRQcm9wKHMpKS5maWx0ZXIocz0+cy5zbGljZSgwLHQubGVuZ3RoKT09PXQpLm1hcChzPT50aGlzLnByZWZpeGVzLnVucHJlZml4ZWQocykpLG49W107Zm9yKGxldCBzIG9mIGUpe2xldCBhPXRoaXMuZmluZFByb3Aocyksbz1pYi5wcmVmaXgoYSk7IWkuaW5jbHVkZXMoYSkmJihvPT09dHx8bz09PSIiKSYmbi5wdXNoKHMpfXJldHVybiBufWRpc2FibGVkKGUsdCl7bGV0IGk9WyJvcmRlciIsImp1c3RpZnktY29udGVudCIsImFsaWduLXNlbGYiLCJhbGlnbi1jb250ZW50Il07aWYoZS5pbmNsdWRlcygiZmxleCIpfHxpLmluY2x1ZGVzKGUpKXtpZih0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveD09PSExKXJldHVybiEwO2lmKHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94PT09Im5vLTIwMDkiKXJldHVybiB0LmluY2x1ZGVzKCIyMDA5Iil9fXJ1bGVWZW5kb3JQcmVmaXhlcyhlKXtsZXR7cGFyZW50OnR9PWU7aWYodC50eXBlIT09InJ1bGUiKXJldHVybiExO2lmKCF0LnNlbGVjdG9yLmluY2x1ZGVzKCI6LSIpKXJldHVybiExO2xldCBpPUNPLnByZWZpeGVzKCkuZmlsdGVyKG49PnQuc2VsZWN0b3IuaW5jbHVkZXMoIjoiK24pKTtyZXR1cm4gaS5sZW5ndGg+MD9pOiExfX07c2IuZXhwb3J0cz1uYn0pO3ZhciB4cj14KChmJCxsYik9Pnt1KCk7dmFyIF9PPV9lKCksb2I9Y2xhc3N7Y29uc3RydWN0b3IoZSx0LGksbil7dGhpcy51bnByZWZpeGVkPWUsdGhpcy5wcmVmaXhlZD10LHRoaXMuc3RyaW5nPWl8fHQsdGhpcy5yZWdleHA9bnx8X08ucmVnZXhwKHQpfWNoZWNrKGUpe3JldHVybiBlLmluY2x1ZGVzKHRoaXMuc3RyaW5nKT8hIWUubWF0Y2godGhpcy5yZWdleHApOiExfX07bGIuZXhwb3J0cz1vYn0pO3ZhciBIZT14KChjJCxmYik9Pnt1KCk7dmFyIEVPPXdyKCksT089eHIoKSxUTz1OaSgpLFJPPV9lKCksdWI9Y2xhc3MgZXh0ZW5kcyBFT3tzdGF0aWMgc2F2ZShlLHQpe2xldCBpPXQucHJvcCxuPVtdO2ZvcihsZXQgcyBpbiB0Ll9hdXRvcHJlZml4ZXJWYWx1ZXMpe2xldCBhPXQuX2F1dG9wcmVmaXhlclZhbHVlc1tzXTtpZihhPT09dC52YWx1ZSljb250aW51ZTtsZXQgbyxsPVRPLnByZWZpeChpKTtpZihsPT09Ii1waWUtIiljb250aW51ZTtpZihsPT09cyl7bz10LnZhbHVlPWEsbi5wdXNoKG8pO2NvbnRpbnVlfWxldCBjPWUucHJlZml4ZWQoaSxzKSxmPXQucGFyZW50O2lmKCFmLmV2ZXJ5KGI9PmIucHJvcCE9PWMpKXtuLnB1c2gobyk7Y29udGludWV9bGV0IGQ9YS5yZXBsYWNlKC9ccysvLCIgIik7aWYoZi5zb21lKGI9PmIucHJvcD09PXQucHJvcCYmYi52YWx1ZS5yZXBsYWNlKC9ccysvLCIgIik9PT1kKSl7bi5wdXNoKG8pO2NvbnRpbnVlfWxldCBoPXRoaXMuY2xvbmUodCx7dmFsdWU6YX0pO289dC5wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsaCksbi5wdXNoKG8pfXJldHVybiBufWNoZWNrKGUpe2xldCB0PWUudmFsdWU7cmV0dXJuIHQuaW5jbHVkZXModGhpcy5uYW1lKT8hIXQubWF0Y2godGhpcy5yZWdleHAoKSk6ITF9cmVnZXhwKCl7cmV0dXJuIHRoaXMucmVnZXhwQ2FjaGV8fCh0aGlzLnJlZ2V4cENhY2hlPVJPLnJlZ2V4cCh0aGlzLm5hbWUpKX1yZXBsYWNlKGUsdCl7cmV0dXJuIGUucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLGAkMSR7dH0kMmApfXZhbHVlKGUpe3JldHVybiBlLnJhd3MudmFsdWUmJmUucmF3cy52YWx1ZS52YWx1ZT09PWUudmFsdWU/ZS5yYXdzLnZhbHVlLnJhdzplLnZhbHVlfWFkZChlLHQpe2UuX2F1dG9wcmVmaXhlclZhbHVlc3x8KGUuX2F1dG9wcmVmaXhlclZhbHVlcz17fSk7bGV0IGk9ZS5fYXV0b3ByZWZpeGVyVmFsdWVzW3RdfHx0aGlzLnZhbHVlKGUpLG47ZG8gaWYobj1pLGk9dGhpcy5yZXBsYWNlKGksdCksaT09PSExKXJldHVybjt3aGlsZShpIT09bik7ZS5fYXV0b3ByZWZpeGVyVmFsdWVzW3RdPWl9b2xkKGUpe3JldHVybiBuZXcgT08odGhpcy5uYW1lLGUrdGhpcy5uYW1lKX19O2ZiLmV4cG9ydHM9dWJ9KTt2YXIgQnQ9eCgocCQsY2IpPT57dSgpO2NiLmV4cG9ydHM9e319KTt2YXIgb3U9eCgoZCQsaGIpPT57dSgpO3ZhciBwYj1NcygpLFBPPUhlKCksSU89QnQoKS5pbnNlcnRBcmVhcyxETz0vKF58W14tXSlsaW5lYXItZ3JhZGllbnRcKFxzKih0b3B8bGVmdHxyaWdodHxib3R0b20pL2kscU89LyhefFteLV0pcmFkaWFsLWdyYWRpZW50XChccypcZCsoXHcqfCUpXHMrXGQrKFx3KnwlKVxzKiwvaSwkTz0vKCFccyopP2F1dG9wcmVmaXhlcjpccyppZ25vcmVccytuZXh0L2ksTE89LyghXHMqKT9hdXRvcHJlZml4ZXJccypncmlkOlxzKihvbnxvZmZ8KG5vLSk/YXV0b3BsYWNlKS9pLE1PPVsid2lkdGgiLCJoZWlnaHQiLCJtaW4td2lkdGgiLCJtYXgtd2lkdGgiLCJtaW4taGVpZ2h0IiwibWF4LWhlaWdodCIsImlubGluZS1zaXplIiwibWluLWlubGluZS1zaXplIiwibWF4LWlubGluZS1zaXplIiwiYmxvY2stc2l6ZSIsIm1pbi1ibG9jay1zaXplIiwibWF4LWJsb2NrLXNpemUiXTtmdW5jdGlvbiBhdShyKXtyZXR1cm4gci5wYXJlbnQuc29tZShlPT5lLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZSJ8fGUucHJvcD09PSJncmlkLXRlbXBsYXRlLWFyZWFzIil9ZnVuY3Rpb24gTk8ocil7bGV0IGU9ci5wYXJlbnQuc29tZShpPT5pLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1yb3dzIiksdD1yLnBhcmVudC5zb21lKGk9PmkucHJvcD09PSJncmlkLXRlbXBsYXRlLWNvbHVtbnMiKTtyZXR1cm4gZSYmdH12YXIgZGI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5wcmVmaXhlcz1lfWFkZChlLHQpe2xldCBpPXRoaXMucHJlZml4ZXMuYWRkWyJAcmVzb2x1dGlvbiJdLG49dGhpcy5wcmVmaXhlcy5hZGRbIkBrZXlmcmFtZXMiXSxzPXRoaXMucHJlZml4ZXMuYWRkWyJAdmlld3BvcnQiXSxhPXRoaXMucHJlZml4ZXMuYWRkWyJAc3VwcG9ydHMiXTtlLndhbGtBdFJ1bGVzKGY9PntpZihmLm5hbWU9PT0ia2V5ZnJhbWVzIil7aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gbiYmbi5wcm9jZXNzKGYpfWVsc2UgaWYoZi5uYW1lPT09InZpZXdwb3J0Iil7aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gcyYmcy5wcm9jZXNzKGYpfWVsc2UgaWYoZi5uYW1lPT09InN1cHBvcnRzIil7aWYodGhpcy5wcmVmaXhlcy5vcHRpb25zLnN1cHBvcnRzIT09ITEmJiF0aGlzLmRpc2FibGVkKGYsdCkpcmV0dXJuIGEucHJvY2VzcyhmKX1lbHNlIGlmKGYubmFtZT09PSJtZWRpYSImJmYucGFyYW1zLmluY2x1ZGVzKCItcmVzb2x1dGlvbiIpJiYhdGhpcy5kaXNhYmxlZChmLHQpKXJldHVybiBpJiZpLnByb2Nlc3MoZil9KSxlLndhbGtSdWxlcyhmPT57aWYoIXRoaXMuZGlzYWJsZWQoZix0KSlyZXR1cm4gdGhpcy5wcmVmaXhlcy5hZGQuc2VsZWN0b3JzLm1hcChkPT5kLnByb2Nlc3MoZix0KSl9KTtmdW5jdGlvbiBvKGYpe3JldHVybiBmLnBhcmVudC5ub2Rlcy5zb21lKGQ9PntpZihkLnR5cGUhPT0iZGVjbCIpcmV0dXJuITE7bGV0IHA9ZC5wcm9wPT09ImRpc3BsYXkiJiYvKGlubGluZS0pP2dyaWQvLnRlc3QoZC52YWx1ZSksaD1kLnByb3Auc3RhcnRzV2l0aCgiZ3JpZC10ZW1wbGF0ZSIpLGI9L15ncmlkLShbQS16XSstKT9nYXAvLnRlc3QoZC5wcm9wKTtyZXR1cm4gcHx8aHx8Yn0pfWZ1bmN0aW9uIGwoZil7cmV0dXJuIGYucGFyZW50LnNvbWUoZD0+ZC5wcm9wPT09ImRpc3BsYXkiJiYvKGlubGluZS0pP2ZsZXgvLnRlc3QoZC52YWx1ZSkpfWxldCBjPXRoaXMuZ3JpZFN0YXR1cyhlLHQpJiZ0aGlzLnByZWZpeGVzLmFkZFsiZ3JpZC1hcmVhIl0mJnRoaXMucHJlZml4ZXMuYWRkWyJncmlkLWFyZWEiXS5wcmVmaXhlcztyZXR1cm4gZS53YWxrRGVjbHMoZj0+e2lmKHRoaXMuZGlzYWJsZWREZWNsKGYsdCkpcmV0dXJuO2xldCBkPWYucGFyZW50LHA9Zi5wcm9wLGg9Zi52YWx1ZTtpZihwPT09ImdyaWQtcm93LXNwYW4iKXt0Lndhcm4oImdyaWQtcm93LXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLXJvdy4iLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImdyaWQtY29sdW1uLXNwYW4iKXt0Lndhcm4oImdyaWQtY29sdW1uLXNwYW4gaXMgbm90IHBhcnQgb2YgZmluYWwgR3JpZCBMYXlvdXQuIFVzZSBncmlkLWNvbHVtbi4iLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImRpc3BsYXkiJiZoPT09ImJveCIpe3Qud2FybigiWW91IHNob3VsZCB3cml0ZSBkaXNwbGF5OiBmbGV4IGJ5IGZpbmFsIHNwZWMgaW5zdGVhZCBvZiBkaXNwbGF5OiBib3giLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09InRleHQtZW1waGFzaXMtcG9zaXRpb24iKShoPT09InVuZGVyInx8aD09PSJvdmVyIikmJnQud2FybigiWW91IHNob3VsZCB1c2UgMiB2YWx1ZXMgZm9yIHRleHQtZW1waGFzaXMtcG9zaXRpb24gRm9yIGV4YW1wbGUsIGB1bmRlciBsZWZ0YCBpbnN0ZWFkIG9mIGp1c3QgYHVuZGVyYC4iLHtub2RlOmZ9KTtlbHNlIGlmKC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLShpdGVtc3xjb250ZW50KSQvLnRlc3QocCkmJmwoZikpKGg9PT0ic3RhcnQifHxoPT09ImVuZCIpJiZ0Lndhcm4oYCR7aH0gdmFsdWUgaGFzIG1peGVkIHN1cHBvcnQsIGNvbnNpZGVyIHVzaW5nIGZsZXgtJHtofSBpbnN0ZWFkYCx7bm9kZTpmfSk7ZWxzZSBpZihwPT09InRleHQtZGVjb3JhdGlvbi1za2lwIiYmaD09PSJpbmsiKXQud2FybigiUmVwbGFjZSB0ZXh0LWRlY29yYXRpb24tc2tpcDogaW5rIHRvIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bywgYmVjYXVzZSBzcGVjIGhhZCBiZWVuIGNoYW5nZWQiLHtub2RlOmZ9KTtlbHNle2lmKGMmJnRoaXMuZ3JpZFN0YXR1cyhmLHQpKWlmKGYudmFsdWU9PT0ic3ViZ3JpZCImJnQud2FybigiSUUgZG9lcyBub3Qgc3VwcG9ydCBzdWJncmlkIix7bm9kZTpmfSksL14oYWxpZ258anVzdGlmeXxwbGFjZSktaXRlbXMkLy50ZXN0KHApJiZvKGYpKXtsZXQgdj1wLnJlcGxhY2UoIi1pdGVtcyIsIi1zZWxmIik7dC53YXJuKGBJRSBkb2VzIG5vdCBzdXBwb3J0ICR7cH0gb24gZ3JpZCBjb250YWluZXJzLiBUcnkgdXNpbmcgJHt2fSBvbiBjaGlsZCBlbGVtZW50cyBpbnN0ZWFkOiAke2YucGFyZW50LnNlbGVjdG9yfSA+ICogeyAke3Z9OiAke2YudmFsdWV9IH1gLHtub2RlOmZ9KX1lbHNlIGlmKC9eKGFsaWdufGp1c3RpZnl8cGxhY2UpLWNvbnRlbnQkLy50ZXN0KHApJiZvKGYpKXQud2FybihgSUUgZG9lcyBub3Qgc3VwcG9ydCAke2YucHJvcH0gb24gZ3JpZCBjb250YWluZXJzYCx7bm9kZTpmfSk7ZWxzZSBpZihwPT09ImRpc3BsYXkiJiZmLnZhbHVlPT09ImNvbnRlbnRzIil7dC53YXJuKCJQbGVhc2UgZG8gbm90IHVzZSBkaXNwbGF5OiBjb250ZW50czsgaWYgeW91IGhhdmUgZ3JpZCBzZXR0aW5nIGVuYWJsZWQiLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihmLnByb3A9PT0iZ3JpZC1nYXAiKXtsZXQgdj10aGlzLmdyaWRTdGF0dXMoZix0KTt2PT09ImF1dG9wbGFjZSImJiFOTyhmKSYmIWF1KGYpP3Qud2FybigiZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCBvciBib3RoIHJvd3MgYW5kIGNvbHVtbnMgaGF2ZSBiZWVuIGRlY2xhcmVkIGFuZCBjZWxscyBoYXZlIG5vdCBiZWVuIG1hbnVhbGx5IHBsYWNlZCBpbnNpZGUgdGhlIGV4cGxpY2l0IGdyaWQiLHtub2RlOmZ9KToodj09PSEwfHx2PT09Im5vLWF1dG9wbGFjZSIpJiYhYXUoZikmJnQud2FybigiZ3JpZC1nYXAgb25seSB3b3JrcyBpZiBncmlkLXRlbXBsYXRlKC1hcmVhcykgaXMgYmVpbmcgdXNlZCIse25vZGU6Zn0pfWVsc2UgaWYocD09PSJncmlkLWF1dG8tY29sdW1ucyIpe3Qud2FybigiZ3JpZC1hdXRvLWNvbHVtbnMgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zn0pO3JldHVybn1lbHNlIGlmKHA9PT0iZ3JpZC1hdXRvLXJvd3MiKXt0Lndhcm4oImdyaWQtYXV0by1yb3dzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSUUiLHtub2RlOmZ9KTtyZXR1cm59ZWxzZSBpZihwPT09ImdyaWQtYXV0by1mbG93Iil7bGV0IHY9ZC5zb21lKHc9PncucHJvcD09PSJncmlkLXRlbXBsYXRlLXJvd3MiKSx5PWQuc29tZSh3PT53LnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIik7YXUoZik/dC53YXJuKCJncmlkLWF1dG8tZmxvdyBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFIix7bm9kZTpmfSk6aC5pbmNsdWRlcygiZGVuc2UiKT90Lndhcm4oImdyaWQtYXV0by1mbG93OiBkZW5zZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFIix7bm9kZTpmfSk6IXYmJiF5JiZ0Lndhcm4oImdyaWQtYXV0by1mbG93IHdvcmtzIG9ubHkgaWYgZ3JpZC10ZW1wbGF0ZS1yb3dzIGFuZCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgYXJlIHByZXNlbnQgaW4gdGhlIHNhbWUgcnVsZSIse25vZGU6Zn0pO3JldHVybn1lbHNlIGlmKGguaW5jbHVkZXMoImF1dG8tZml0Iikpe3Qud2FybigiYXV0by1maXQgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zix3b3JkOiJhdXRvLWZpdCJ9KTtyZXR1cm59ZWxzZSBpZihoLmluY2x1ZGVzKCJhdXRvLWZpbGwiKSl7dC53YXJuKCJhdXRvLWZpbGwgdmFsdWUgaXMgbm90IHN1cHBvcnRlZCBieSBJRSIse25vZGU6Zix3b3JkOiJhdXRvLWZpbGwifSk7cmV0dXJufWVsc2UgcC5zdGFydHNXaXRoKCJncmlkLXRlbXBsYXRlIikmJmguaW5jbHVkZXMoIlsiKSYmdC53YXJuKCJBdXRvcHJlZml4ZXIgY3VycmVudGx5IGRvZXMgbm90IHN1cHBvcnQgbGluZSBuYW1lcy4gVHJ5IHVzaW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMgaW5zdGVhZC4iLHtub2RlOmYsd29yZDoiWyJ9KTtpZihoLmluY2x1ZGVzKCJyYWRpYWwtZ3JhZGllbnQiKSlpZihxTy50ZXN0KGYudmFsdWUpKXQud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIE5ldyBzeW50YXggaXMgbGlrZSBgY2xvc2VzdC1zaWRlIGF0IDAgMGAgaW5zdGVhZCBvZiBgMCAwLCBjbG9zZXN0LXNpZGVgLiIse25vZGU6Zn0pO2Vsc2V7bGV0IHY9cGIoaCk7Zm9yKGxldCB5IG9mIHYubm9kZXMpaWYoeS50eXBlPT09ImZ1bmN0aW9uIiYmeS52YWx1ZT09PSJyYWRpYWwtZ3JhZGllbnQiKWZvcihsZXQgdyBvZiB5Lm5vZGVzKXcudHlwZT09PSJ3b3JkIiYmKHcudmFsdWU9PT0iY292ZXIiP3Qud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIFJlcGxhY2UgYGNvdmVyYCB0byBgZmFydGhlc3QtY29ybmVyYC4iLHtub2RlOmZ9KTp3LnZhbHVlPT09ImNvbnRhaW4iJiZ0Lndhcm4oIkdyYWRpZW50IGhhcyBvdXRkYXRlZCBkaXJlY3Rpb24gc3ludGF4LiBSZXBsYWNlIGBjb250YWluYCB0byBgY2xvc2VzdC1zaWRlYC4iLHtub2RlOmZ9KSl9aC5pbmNsdWRlcygibGluZWFyLWdyYWRpZW50IikmJkRPLnRlc3QoaCkmJnQud2FybigiR3JhZGllbnQgaGFzIG91dGRhdGVkIGRpcmVjdGlvbiBzeW50YXguIE5ldyBzeW50YXggaXMgbGlrZSBgdG8gbGVmdGAgaW5zdGVhZCBvZiBgcmlnaHRgLiIse25vZGU6Zn0pfU1PLmluY2x1ZGVzKGYucHJvcCkmJihmLnZhbHVlLmluY2x1ZGVzKCItZmlsbC1hdmFpbGFibGUiKXx8KGYudmFsdWUuaW5jbHVkZXMoImZpbGwtYXZhaWxhYmxlIik/dC53YXJuKCJSZXBsYWNlIGZpbGwtYXZhaWxhYmxlIHRvIHN0cmV0Y2gsIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkIix7bm9kZTpmfSk6Zi52YWx1ZS5pbmNsdWRlcygiZmlsbCIpJiZwYihoKS5ub2Rlcy5zb21lKHk9PnkudHlwZT09PSJ3b3JkIiYmeS52YWx1ZT09PSJmaWxsIikmJnQud2FybigiUmVwbGFjZSBmaWxsIHRvIHN0cmV0Y2gsIGJlY2F1c2Ugc3BlYyBoYWQgYmVlbiBjaGFuZ2VkIix7bm9kZTpmfSkpKTtsZXQgYjtpZihmLnByb3A9PT0idHJhbnNpdGlvbiJ8fGYucHJvcD09PSJ0cmFuc2l0aW9uLXByb3BlcnR5IilyZXR1cm4gdGhpcy5wcmVmaXhlcy50cmFuc2l0aW9uLmFkZChmLHQpO2lmKGYucHJvcD09PSJhbGlnbi1zZWxmIil7aWYodGhpcy5kaXNwbGF5VHlwZShmKSE9PSJncmlkIiYmdGhpcy5wcmVmaXhlcy5vcHRpb25zLmZsZXhib3ghPT0hMSYmKGI9dGhpcy5wcmVmaXhlcy5hZGRbImFsaWduLXNlbGYiXSxiJiZiLnByZWZpeGVzJiZiLnByb2Nlc3MoZikpLHRoaXMuZ3JpZFN0YXR1cyhmLHQpIT09ITEmJihiPXRoaXMucHJlZml4ZXMuYWRkWyJncmlkLXJvdy1hbGlnbiJdLGImJmIucHJlZml4ZXMpKXJldHVybiBiLnByb2Nlc3MoZix0KX1lbHNlIGlmKGYucHJvcD09PSJqdXN0aWZ5LXNlbGYiKXtpZih0aGlzLmdyaWRTdGF0dXMoZix0KSE9PSExJiYoYj10aGlzLnByZWZpeGVzLmFkZFsiZ3JpZC1jb2x1bW4tYWxpZ24iXSxiJiZiLnByZWZpeGVzKSlyZXR1cm4gYi5wcm9jZXNzKGYsdCl9ZWxzZSBpZihmLnByb3A9PT0icGxhY2Utc2VsZiIpe2lmKGI9dGhpcy5wcmVmaXhlcy5hZGRbInBsYWNlLXNlbGYiXSxiJiZiLnByZWZpeGVzJiZ0aGlzLmdyaWRTdGF0dXMoZix0KSE9PSExKXJldHVybiBiLnByb2Nlc3MoZix0KX1lbHNlIGlmKGI9dGhpcy5wcmVmaXhlcy5hZGRbZi5wcm9wXSxiJiZiLnByZWZpeGVzKXJldHVybiBiLnByb2Nlc3MoZix0KX0pLHRoaXMuZ3JpZFN0YXR1cyhlLHQpJiZJTyhlLHRoaXMuZGlzYWJsZWQpLGUud2Fsa0RlY2xzKGY9PntpZih0aGlzLmRpc2FibGVkVmFsdWUoZix0KSlyZXR1cm47bGV0IGQ9dGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKGYucHJvcCkscD10aGlzLnByZWZpeGVzLnZhbHVlcygiYWRkIixkKTtpZihBcnJheS5pc0FycmF5KHApKWZvcihsZXQgaCBvZiBwKWgucHJvY2VzcyYmaC5wcm9jZXNzKGYsdCk7UE8uc2F2ZSh0aGlzLnByZWZpeGVzLGYpfSl9cmVtb3ZlKGUsdCl7bGV0IGk9dGhpcy5wcmVmaXhlcy5yZW1vdmVbIkByZXNvbHV0aW9uIl07ZS53YWxrQXRSdWxlcygobixzKT0+e3RoaXMucHJlZml4ZXMucmVtb3ZlW2BAJHtuLm5hbWV9YF0/dGhpcy5kaXNhYmxlZChuLHQpfHxuLnBhcmVudC5yZW1vdmVDaGlsZChzKTpuLm5hbWU9PT0ibWVkaWEiJiZuLnBhcmFtcy5pbmNsdWRlcygiLXJlc29sdXRpb24iKSYmaSYmaS5jbGVhbihuKX0pO2ZvcihsZXQgbiBvZiB0aGlzLnByZWZpeGVzLnJlbW92ZS5zZWxlY3RvcnMpZS53YWxrUnVsZXMoKHMsYSk9PntuLmNoZWNrKHMpJiYodGhpcy5kaXNhYmxlZChzLHQpfHxzLnBhcmVudC5yZW1vdmVDaGlsZChhKSl9KTtyZXR1cm4gZS53YWxrRGVjbHMoKG4scyk9PntpZih0aGlzLmRpc2FibGVkKG4sdCkpcmV0dXJuO2xldCBhPW4ucGFyZW50LG89dGhpcy5wcmVmaXhlcy51bnByZWZpeGVkKG4ucHJvcCk7aWYoKG4ucHJvcD09PSJ0cmFuc2l0aW9uInx8bi5wcm9wPT09InRyYW5zaXRpb24tcHJvcGVydHkiKSYmdGhpcy5wcmVmaXhlcy50cmFuc2l0aW9uLnJlbW92ZShuKSx0aGlzLnByZWZpeGVzLnJlbW92ZVtuLnByb3BdJiZ0aGlzLnByZWZpeGVzLnJlbW92ZVtuLnByb3BdLnJlbW92ZSl7bGV0IGw9dGhpcy5wcmVmaXhlcy5ncm91cChuKS5kb3duKGM9PnRoaXMucHJlZml4ZXMubm9ybWFsaXplKGMucHJvcCk9PT1vKTtpZihvPT09ImZsZXgtZmxvdyImJihsPSEwKSxuLnByb3A9PT0iLXdlYmtpdC1ib3gtb3JpZW50Iil7bGV0IGM9eyJmbGV4LWRpcmVjdGlvbiI6ITAsImZsZXgtZmxvdyI6ITB9O2lmKCFuLnBhcmVudC5zb21lKGY9PmNbZi5wcm9wXSkpcmV0dXJufWlmKGwmJiF0aGlzLndpdGhIYWNrVmFsdWUobikpe24ucmF3KCJiZWZvcmUiKS5pbmNsdWRlcyhgCmApJiZ0aGlzLnJlZHVjZVNwYWNlcyhuKSxhLnJlbW92ZUNoaWxkKHMpO3JldHVybn19Zm9yKGxldCBsIG9mIHRoaXMucHJlZml4ZXMudmFsdWVzKCJyZW1vdmUiLG8pKXtpZighbC5jaGVja3x8IWwuY2hlY2sobi52YWx1ZSkpY29udGludWU7aWYobz1sLnVucHJlZml4ZWQsdGhpcy5wcmVmaXhlcy5ncm91cChuKS5kb3duKGY9PmYudmFsdWUuaW5jbHVkZXMobykpKXthLnJlbW92ZUNoaWxkKHMpO3JldHVybn19fSl9d2l0aEhhY2tWYWx1ZShlKXtyZXR1cm4gZS5wcm9wPT09Ii13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiYmZS52YWx1ZT09PSJ0ZXh0In1kaXNhYmxlZFZhbHVlKGUsdCl7cmV0dXJuIHRoaXMuZ3JpZFN0YXR1cyhlLHQpPT09ITEmJmUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImRpc3BsYXkiJiZlLnZhbHVlLmluY2x1ZGVzKCJncmlkIil8fHRoaXMucHJlZml4ZXMub3B0aW9ucy5mbGV4Ym94PT09ITEmJmUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImRpc3BsYXkiJiZlLnZhbHVlLmluY2x1ZGVzKCJmbGV4Iil8fGUudHlwZT09PSJkZWNsIiYmZS5wcm9wPT09ImNvbnRlbnQiPyEwOnRoaXMuZGlzYWJsZWQoZSx0KX1kaXNhYmxlZERlY2woZSx0KXtpZih0aGlzLmdyaWRTdGF0dXMoZSx0KT09PSExJiZlLnR5cGU9PT0iZGVjbCImJihlLnByb3AuaW5jbHVkZXMoImdyaWQiKXx8ZS5wcm9wPT09Imp1c3RpZnktaXRlbXMiKSlyZXR1cm4hMDtpZih0aGlzLnByZWZpeGVzLm9wdGlvbnMuZmxleGJveD09PSExJiZlLnR5cGU9PT0iZGVjbCIpe2xldCBpPVsib3JkZXIiLCJqdXN0aWZ5LWNvbnRlbnQiLCJhbGlnbi1pdGVtcyIsImFsaWduLWNvbnRlbnQiXTtpZihlLnByb3AuaW5jbHVkZXMoImZsZXgiKXx8aS5pbmNsdWRlcyhlLnByb3ApKXJldHVybiEwfXJldHVybiB0aGlzLmRpc2FibGVkKGUsdCl9ZGlzYWJsZWQoZSx0KXtpZighZSlyZXR1cm4hMTtpZihlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZCE9PXZvaWQgMClyZXR1cm4gZS5fYXV0b3ByZWZpeGVyRGlzYWJsZWQ7aWYoZS5wYXJlbnQpe2xldCBuPWUucHJldigpO2lmKG4mJm4udHlwZT09PSJjb21tZW50IiYmJE8udGVzdChuLnRleHQpKXJldHVybiBlLl9hdXRvcHJlZml4ZXJEaXNhYmxlZD0hMCxlLl9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQ9ITAsITB9bGV0IGk9bnVsbDtpZihlLm5vZGVzKXtsZXQgbjtlLmVhY2gocz0+e3MudHlwZT09PSJjb21tZW50IiYmLyghXHMqKT9hdXRvcHJlZml4ZXI6XHMqKG9mZnxvbikvaS50ZXN0KHMudGV4dCkmJih0eXBlb2YgbiE9InVuZGVmaW5lZCI/dC53YXJuKCJTZWNvbmQgQXV0b3ByZWZpeGVyIGNvbnRyb2wgY29tbWVudCB3YXMgaWdub3JlZC4gQXV0b3ByZWZpeGVyIGFwcGxpZXMgY29udHJvbCBjb21tZW50IHRvIHdob2xlIGJsb2NrLCBub3QgdG8gbmV4dCBydWxlcy4iLHtub2RlOnN9KTpuPS9vbi9pLnRlc3Qocy50ZXh0KSl9KSxuIT09dm9pZCAwJiYoaT0hbil9aWYoIWUubm9kZXN8fGk9PT1udWxsKWlmKGUucGFyZW50KXtsZXQgbj10aGlzLmRpc2FibGVkKGUucGFyZW50LHQpO2UucGFyZW50Ll9hdXRvcHJlZml4ZXJTZWxmRGlzYWJsZWQ9PT0hMD9pPSExOmk9bn1lbHNlIGk9ITE7cmV0dXJuIGUuX2F1dG9wcmVmaXhlckRpc2FibGVkPWksaX1yZWR1Y2VTcGFjZXMoZSl7bGV0IHQ9ITE7aWYodGhpcy5wcmVmaXhlcy5ncm91cChlKS51cCgoKT0+KHQ9ITAsITApKSx0KXJldHVybjtsZXQgaT1lLnJhdygiYmVmb3JlIikuc3BsaXQoYApgKSxuPWlbaS5sZW5ndGgtMV0ubGVuZ3RoLHM9ITE7dGhpcy5wcmVmaXhlcy5ncm91cChlKS5kb3duKGE9PntpPWEucmF3KCJiZWZvcmUiKS5zcGxpdChgCmApO2xldCBvPWkubGVuZ3RoLTE7aVtvXS5sZW5ndGg+biYmKHM9PT0hMSYmKHM9aVtvXS5sZW5ndGgtbiksaVtvXT1pW29dLnNsaWNlKDAsLXMpLGEucmF3cy5iZWZvcmU9aS5qb2luKGAKYCkpfSl9ZGlzcGxheVR5cGUoZSl7Zm9yKGxldCB0IG9mIGUucGFyZW50Lm5vZGVzKWlmKHQucHJvcD09PSJkaXNwbGF5Iil7aWYodC52YWx1ZS5pbmNsdWRlcygiZmxleCIpKXJldHVybiJmbGV4IjtpZih0LnZhbHVlLmluY2x1ZGVzKCJncmlkIikpcmV0dXJuImdyaWQifXJldHVybiExfWdyaWRTdGF0dXMoZSx0KXtpZighZSlyZXR1cm4hMTtpZihlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzIT09dm9pZCAwKXJldHVybiBlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzO2xldCBpPW51bGw7aWYoZS5ub2Rlcyl7bGV0IG47ZS5lYWNoKHM9PntpZihzLnR5cGU9PT0iY29tbWVudCImJkxPLnRlc3Qocy50ZXh0KSl7bGV0IGE9LzpccyphdXRvcGxhY2UvaS50ZXN0KHMudGV4dCksbz0vbm8tYXV0b3BsYWNlL2kudGVzdChzLnRleHQpO3R5cGVvZiBuIT0idW5kZWZpbmVkIj90Lndhcm4oIlNlY29uZCBBdXRvcHJlZml4ZXIgZ3JpZCBjb250cm9sIGNvbW1lbnQgd2FzIGlnbm9yZWQuIEF1dG9wcmVmaXhlciBhcHBsaWVzIGNvbnRyb2wgY29tbWVudHMgdG8gdGhlIHdob2xlIGJsb2NrLCBub3QgdG8gdGhlIG5leHQgcnVsZXMuIix7bm9kZTpzfSk6YT9uPSJhdXRvcGxhY2UiOm8/bj0hMDpuPS9vbi9pLnRlc3Qocy50ZXh0KX19KSxuIT09dm9pZCAwJiYoaT1uKX1pZihlLnR5cGU9PT0iYXRydWxlIiYmZS5uYW1lPT09InN1cHBvcnRzIil7bGV0IG49ZS5wYXJhbXM7bi5pbmNsdWRlcygiZ3JpZCIpJiZuLmluY2x1ZGVzKCJhdXRvIikmJihpPSExKX1pZighZS5ub2Rlc3x8aT09PW51bGwpaWYoZS5wYXJlbnQpe2xldCBuPXRoaXMuZ3JpZFN0YXR1cyhlLnBhcmVudCx0KTtlLnBhcmVudC5fYXV0b3ByZWZpeGVyU2VsZkRpc2FibGVkPT09ITA/aT0hMTppPW59ZWxzZSB0eXBlb2YgdGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQhPSJ1bmRlZmluZWQiP2k9dGhpcy5wcmVmaXhlcy5vcHRpb25zLmdyaWQ6dHlwZW9mIG0uZW52LkFVVE9QUkVGSVhFUl9HUklEIT0idW5kZWZpbmVkIj9tLmVudi5BVVRPUFJFRklYRVJfR1JJRD09PSJhdXRvcGxhY2UiP2k9ImF1dG9wbGFjZSI6aT0hMDppPSExO3JldHVybiBlLl9hdXRvcHJlZml4ZXJHcmlkU3RhdHVzPWksaX19O2hiLmV4cG9ydHM9ZGJ9KTt2YXIgZ2I9eCgoaCQsbWIpPT57dSgpO21iLmV4cG9ydHM9e0E6e0E6eyIyIjoiSyBFIEYgRyBBIEIgSkMifSxCOnsiMSI6IkMgTCBNIEggTiBEIE8gUCBRIFIgUyBUIFUgViBXIFggWSBaIGEgYiBjIGQgZSBmIGcgaCBpIGogbiBvIHAgcSByIHMgdCB1IHYgdyB4IHkgeiBJIn0sQzp7IjEiOiIyIDMgNCA1IDYgNyA4IDkgQUIgQkIgQ0IgREIgRUIgRkIgR0IgSEIgSUIgSkIgS0IgTEIgTUIgTkIgT0IgUEIgUUIgUkIgU0IgVEIgVUIgVkIgV0IgWEIgWUIgWkIgYUIgYkIgY0IgMEIgZEIgMUIgZUIgZkIgZ0IgaEIgaUIgakIga0IgbEIgbUIgbkIgb0IgbSBwQiBxQiByQiBzQiB0QiBQIFEgUiAyQiBTIFQgVSBWIFcgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiBuIG8gcCBxIHIgcyB0IHUgdiB3IHggeSB6IEkgdUIgM0IgNEIiLCIyIjoiMCAxIEtDIHpCIEogSyBFIEYgRyBBIEIgQyBMIE0gSCBOIEQgTyBrIGwgTEMgTUMifSxEOnsiMSI6IjggOSBBQiBCQiBDQiBEQiBFQiBGQiBHQiBIQiBJQiBKQiBLQiBMQiBNQiBOQiBPQiBQQiBRQiBSQiBTQiBUQiBVQiBWQiBXQiBYQiBZQiBaQiBhQiBiQiBjQiAwQiBkQiAxQiBlQiBmQiBnQiBoQiBpQiBqQiBrQiBsQiBtQiBuQiBvQiBtIHBCIHFCIHJCIHNCIHRCIFAgUSBSIFMgVCBVIFYgVyBYIFkgWiBhIGIgYyBkIGUgZiBnIGggaSBqIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHogSSB1QiAzQiA0QiIsIjIiOiIwIDEgMiAzIDQgNSA2IDcgSiBLIEUgRiBHIEEgQiBDIEwgTSBIIE4gRCBPIGsgbCJ9LEU6eyIxIjoiRyBBIEIgQyBMIE0gSCBEIFJDIDZCIHZCIHdCIDdCIFNDIFRDIDhCIDlCIHhCIEFDIHlCIEJDIENDIERDIEVDIEZDIEdDIFVDIiwiMiI6IjAgSiBLIEUgRiBOQyA1QiBPQyBQQyBRQyJ9LEY6eyIxIjoiMSAyIDMgNCA1IDYgNyA4IDkgSCBOIEQgTyBrIGwgQUIgQkIgQ0IgREIgRUIgRkIgR0IgSEIgSUIgSkIgS0IgTEIgTUIgTkIgT0IgUEIgUUIgUkIgU0IgVEIgVUIgVkIgV0IgWEIgWUIgWkIgYUIgYkIgY0IgZEIgZUIgZkIgZ0IgaEIgaUIgakIga0IgbEIgbUIgbkIgb0IgbSBwQiBxQiByQiBzQiB0QiBQIFEgUiAyQiBTIFQgVSBWIFcgWCBZIFogYSBiIGMgZCBlIGYgZyBoIGkgaiB3QiIsIjIiOiJHIEIgQyBWQyBXQyBYQyBZQyB2QiBIQyBaQyJ9LEc6eyIxIjoiRCBmQyBnQyBoQyBpQyBqQyBrQyBsQyBtQyBuQyBvQyBwQyBxQyByQyBzQyB0QyA4QiA5QiB4QiBBQyB5QiBCQyBDQyBEQyBFQyBGQyBHQyIsIjIiOiJGIDVCIGFDIElDIGJDIGNDIGRDIGVDIn0sSDp7IjEiOiJ1QyJ9LEk6eyIxIjoiSSB6QyAwQyIsIjIiOiJ6QiBKIHZDIHdDIHhDIHlDIElDIn0sSjp7IjIiOiJFIEEifSxLOnsiMSI6Im0iLCIyIjoiQSBCIEMgdkIgSEMgd0IifSxMOnsiMSI6IkkifSxNOnsiMSI6InVCIn0sTjp7IjIiOiJBIEIifSxPOnsiMSI6InhCIn0sUDp7IjEiOiJKIGsgbCAxQyAyQyAzQyA0QyA1QyA2QiA2QyA3QyA4QyA5QyBBRCB5QiBCRCBDRCBERCJ9LFE6eyIxIjoiN0IifSxSOnsiMSI6IkVEIn0sUzp7IjEiOiJGRCBHRCJ9fSxCOjQsQzoiQ1NTIEZlYXR1cmUgUXVlcmllcyJ9fSk7dmFyIHZiPXgoKG0kLHdiKT0+e3UoKTtmdW5jdGlvbiB5YihyKXtyZXR1cm4gcltyLmxlbmd0aC0xXX12YXIgYmI9e3BhcnNlKHIpe2xldCBlPVsiIl0sdD1bZV07Zm9yKGxldCBpIG9mIHIpe2lmKGk9PT0iKCIpe2U9WyIiXSx5Yih0KS5wdXNoKGUpLHQucHVzaChlKTtjb250aW51ZX1pZihpPT09IikiKXt0LnBvcCgpLGU9eWIodCksZS5wdXNoKCIiKTtjb250aW51ZX1lW2UubGVuZ3RoLTFdKz1pfXJldHVybiB0WzBdfSxzdHJpbmdpZnkocil7bGV0IGU9IiI7Zm9yKGxldCB0IG9mIHIpe2lmKHR5cGVvZiB0PT0ib2JqZWN0Iil7ZSs9YCgke2JiLnN0cmluZ2lmeSh0KX0pYDtjb250aW51ZX1lKz10fXJldHVybiBlfX07d2IuZXhwb3J0cz1iYn0pO3ZhciBDYj14KChnJCxBYik9Pnt1KCk7dmFyIEJPPWdiKCkse2ZlYXR1cmU6Rk99PShQcygpLFJzKSx7cGFyc2U6ak99PSRlKCksek89TXQoKSxsdT12YigpLFVPPUhlKCksVk89X2UoKSx4Yj1GTyhCTyksa2I9W107Zm9yKGxldCByIGluIHhiLnN0YXRzKXtsZXQgZT14Yi5zdGF0c1tyXTtmb3IobGV0IHQgaW4gZSl7bGV0IGk9ZVt0XTsveS8udGVzdChpKSYma2IucHVzaChyKyIgIit0KX19dmFyIFNiPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5QcmVmaXhlcz1lLHRoaXMuYWxsPXR9cHJlZml4ZXIoKXtpZih0aGlzLnByZWZpeGVyQ2FjaGUpcmV0dXJuIHRoaXMucHJlZml4ZXJDYWNoZTtsZXQgZT10aGlzLmFsbC5icm93c2Vycy5zZWxlY3RlZC5maWx0ZXIoaT0+a2IuaW5jbHVkZXMoaSkpLHQ9bmV3IHpPKHRoaXMuYWxsLmJyb3dzZXJzLmRhdGEsZSx0aGlzLmFsbC5vcHRpb25zKTtyZXR1cm4gdGhpcy5wcmVmaXhlckNhY2hlPW5ldyB0aGlzLlByZWZpeGVzKHRoaXMuYWxsLmRhdGEsdCx0aGlzLmFsbC5vcHRpb25zKSx0aGlzLnByZWZpeGVyQ2FjaGV9cGFyc2UoZSl7bGV0IHQ9ZS5zcGxpdCgiOiIpLGk9dFswXSxuPXRbMV07cmV0dXJuIG58fChuPSIiKSxbaS50cmltKCksbi50cmltKCldfXZpcnR1YWwoZSl7bGV0W3QsaV09dGhpcy5wYXJzZShlKSxuPWpPKCJhe30iKS5maXJzdDtyZXR1cm4gbi5hcHBlbmQoe3Byb3A6dCx2YWx1ZTppLHJhd3M6e2JlZm9yZToiIn19KSxufXByZWZpeGVkKGUpe2xldCB0PXRoaXMudmlydHVhbChlKTtpZih0aGlzLmRpc2FibGVkKHQuZmlyc3QpKXJldHVybiB0Lm5vZGVzO2xldCBpPXt3YXJuOigpPT5udWxsfSxuPXRoaXMucHJlZml4ZXIoKS5hZGRbdC5maXJzdC5wcm9wXTtuJiZuLnByb2Nlc3MmJm4ucHJvY2Vzcyh0LmZpcnN0LGkpO2ZvcihsZXQgcyBvZiB0Lm5vZGVzKXtmb3IobGV0IGEgb2YgdGhpcy5wcmVmaXhlcigpLnZhbHVlcygiYWRkIix0LmZpcnN0LnByb3ApKWEucHJvY2VzcyhzKTtVTy5zYXZlKHRoaXMuYWxsLHMpfXJldHVybiB0Lm5vZGVzfWlzTm90KGUpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJi9ub3RccyovaS50ZXN0KGUpfWlzT3IoZSl7cmV0dXJuIHR5cGVvZiBlPT0ic3RyaW5nIiYmL1xzKm9yXHMqL2kudGVzdChlKX1pc1Byb3AoZSl7cmV0dXJuIHR5cGVvZiBlPT0ib2JqZWN0IiYmZS5sZW5ndGg9PT0xJiZ0eXBlb2YgZVswXT09InN0cmluZyJ9aXNIYWNrKGUsdCl7cmV0dXJuIW5ldyBSZWdFeHAoYChcXCh8XFxzKSR7Vk8uZXNjYXBlUmVnZXhwKHQpfTpgKS50ZXN0KGUpfXRvUmVtb3ZlKGUsdCl7bGV0W2ksbl09dGhpcy5wYXJzZShlKSxzPXRoaXMuYWxsLnVucHJlZml4ZWQoaSksYT10aGlzLmFsbC5jbGVhbmVyKCk7aWYoYS5yZW1vdmVbaV0mJmEucmVtb3ZlW2ldLnJlbW92ZSYmIXRoaXMuaXNIYWNrKHQscykpcmV0dXJuITA7Zm9yKGxldCBvIG9mIGEudmFsdWVzKCJyZW1vdmUiLHMpKWlmKG8uY2hlY2sobikpcmV0dXJuITA7cmV0dXJuITF9cmVtb3ZlKGUsdCl7bGV0IGk9MDtmb3IoO2k8ZS5sZW5ndGg7KXtpZighdGhpcy5pc05vdChlW2ktMV0pJiZ0aGlzLmlzUHJvcChlW2ldKSYmdGhpcy5pc09yKGVbaSsxXSkpe2lmKHRoaXMudG9SZW1vdmUoZVtpXVswXSx0KSl7ZS5zcGxpY2UoaSwyKTtjb250aW51ZX1pKz0yO2NvbnRpbnVlfXR5cGVvZiBlW2ldPT0ib2JqZWN0IiYmKGVbaV09dGhpcy5yZW1vdmUoZVtpXSx0KSksaSs9MX1yZXR1cm4gZX1jbGVhbkJyYWNrZXRzKGUpe3JldHVybiBlLm1hcCh0PT50eXBlb2YgdCE9Im9iamVjdCI/dDp0Lmxlbmd0aD09PTEmJnR5cGVvZiB0WzBdPT0ib2JqZWN0Ij90aGlzLmNsZWFuQnJhY2tldHModFswXSk6dGhpcy5jbGVhbkJyYWNrZXRzKHQpKX1jb252ZXJ0KGUpe2xldCB0PVsiIl07Zm9yKGxldCBpIG9mIGUpdC5wdXNoKFtgJHtpLnByb3B9OiAke2kudmFsdWV9YF0pLHQucHVzaCgiIG9yICIpO3JldHVybiB0W3QubGVuZ3RoLTFdPSIiLHR9bm9ybWFsaXplKGUpe2lmKHR5cGVvZiBlIT0ib2JqZWN0IilyZXR1cm4gZTtpZihlPWUuZmlsdGVyKHQ9PnQhPT0iIiksdHlwZW9mIGVbMF09PSJzdHJpbmciKXtsZXQgdD1lWzBdLnRyaW0oKTtpZih0LmluY2x1ZGVzKCI6Iil8fHQ9PT0ic2VsZWN0b3IifHx0PT09Im5vdCBzZWxlY3RvciIpcmV0dXJuW2x1LnN0cmluZ2lmeShlKV19cmV0dXJuIGUubWFwKHQ9PnRoaXMubm9ybWFsaXplKHQpKX1hZGQoZSx0KXtyZXR1cm4gZS5tYXAoaT0+e2lmKHRoaXMuaXNQcm9wKGkpKXtsZXQgbj10aGlzLnByZWZpeGVkKGlbMF0pO3JldHVybiBuLmxlbmd0aD4xP3RoaXMuY29udmVydChuKTppfXJldHVybiB0eXBlb2YgaT09Im9iamVjdCI/dGhpcy5hZGQoaSx0KTppfSl9cHJvY2VzcyhlKXtsZXQgdD1sdS5wYXJzZShlLnBhcmFtcyk7dD10aGlzLm5vcm1hbGl6ZSh0KSx0PXRoaXMucmVtb3ZlKHQsZS5wYXJhbXMpLHQ9dGhpcy5hZGQodCxlLnBhcmFtcyksdD10aGlzLmNsZWFuQnJhY2tldHModCksZS5wYXJhbXM9bHUuc3RyaW5naWZ5KHQpfWRpc2FibGVkKGUpe2lmKCF0aGlzLmFsbC5vcHRpb25zLmdyaWQmJihlLnByb3A9PT0iZGlzcGxheSImJmUudmFsdWUuaW5jbHVkZXMoImdyaWQiKXx8ZS5wcm9wLmluY2x1ZGVzKCJncmlkIil8fGUucHJvcD09PSJqdXN0aWZ5LWl0ZW1zIikpcmV0dXJuITA7aWYodGhpcy5hbGwub3B0aW9ucy5mbGV4Ym94PT09ITEpe2lmKGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZS5pbmNsdWRlcygiZmxleCIpKXJldHVybiEwO2xldCB0PVsib3JkZXIiLCJqdXN0aWZ5LWNvbnRlbnQiLCJhbGlnbi1pdGVtcyIsImFsaWduLWNvbnRlbnQiXTtpZihlLnByb3AuaW5jbHVkZXMoImZsZXgiKXx8dC5pbmNsdWRlcyhlLnByb3ApKXJldHVybiEwfXJldHVybiExfX07QWIuZXhwb3J0cz1TYn0pO3ZhciBPYj14KCh5JCxFYik9Pnt1KCk7dmFyIF9iPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wcmVmaXg9dCx0aGlzLnByZWZpeGVkPWUucHJlZml4ZWQodGhpcy5wcmVmaXgpLHRoaXMucmVnZXhwPWUucmVnZXhwKHRoaXMucHJlZml4KSx0aGlzLnByZWZpeGVkcz1lLnBvc3NpYmxlKCkubWFwKGk9PltlLnByZWZpeGVkKGkpLGUucmVnZXhwKGkpXSksdGhpcy51bnByZWZpeGVkPWUubmFtZSx0aGlzLm5hbWVSZWdleHA9ZS5yZWdleHAoKX1pc0hhY2soZSl7bGV0IHQ9ZS5wYXJlbnQuaW5kZXgoZSkrMSxpPWUucGFyZW50Lm5vZGVzO2Zvcig7dDxpLmxlbmd0aDspe2xldCBuPWlbdF0uc2VsZWN0b3I7aWYoIW4pcmV0dXJuITA7aWYobi5pbmNsdWRlcyh0aGlzLnVucHJlZml4ZWQpJiZuLm1hdGNoKHRoaXMubmFtZVJlZ2V4cCkpcmV0dXJuITE7bGV0IHM9ITE7Zm9yKGxldFthLG9db2YgdGhpcy5wcmVmaXhlZHMpaWYobi5pbmNsdWRlcyhhKSYmbi5tYXRjaChvKSl7cz0hMDticmVha31pZighcylyZXR1cm4hMDt0Kz0xfXJldHVybiEwfWNoZWNrKGUpe3JldHVybiEoIWUuc2VsZWN0b3IuaW5jbHVkZXModGhpcy5wcmVmaXhlZCl8fCFlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKXx8dGhpcy5pc0hhY2soZSkpfX07RWIuZXhwb3J0cz1fYn0pO3ZhciBrcj14KChiJCxSYik9Pnt1KCk7dmFye2xpc3Q6SE99PSRlKCksV089T2IoKSxHTz13cigpLFFPPU10KCksWU89X2UoKSxUYj1jbGFzcyBleHRlbmRzIEdPe2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSk7dGhpcy5yZWdleHBDYWNoZT1uZXcgTWFwfWNoZWNrKGUpe3JldHVybiBlLnNlbGVjdG9yLmluY2x1ZGVzKHRoaXMubmFtZSk/ISFlLnNlbGVjdG9yLm1hdGNoKHRoaXMucmVnZXhwKCkpOiExfXByZWZpeGVkKGUpe3JldHVybiB0aGlzLm5hbWUucmVwbGFjZSgvXihcVyopLyxgJDEke2V9YCl9cmVnZXhwKGUpe2lmKCF0aGlzLnJlZ2V4cENhY2hlLmhhcyhlKSl7bGV0IHQ9ZT90aGlzLnByZWZpeGVkKGUpOnRoaXMubmFtZTt0aGlzLnJlZ2V4cENhY2hlLnNldChlLG5ldyBSZWdFeHAoYChefFteOiInPV0pJHtZTy5lc2NhcGVSZWdleHAodCl9YCwiZ2kiKSl9cmV0dXJuIHRoaXMucmVnZXhwQ2FjaGUuZ2V0KGUpfXBvc3NpYmxlKCl7cmV0dXJuIFFPLnByZWZpeGVzKCl9cHJlZml4ZWRzKGUpe2lmKGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcyl7aWYoZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzW3RoaXMubmFtZV0pcmV0dXJuIGUuX2F1dG9wcmVmaXhlclByZWZpeGVkc31lbHNlIGUuX2F1dG9wcmVmaXhlclByZWZpeGVkcz17fTtsZXQgdD17fTtpZihlLnNlbGVjdG9yLmluY2x1ZGVzKCIsIikpe2xldCBuPUhPLmNvbW1hKGUuc2VsZWN0b3IpLmZpbHRlcihzPT5zLmluY2x1ZGVzKHRoaXMubmFtZSkpO2ZvcihsZXQgcyBvZiB0aGlzLnBvc3NpYmxlKCkpdFtzXT1uLm1hcChhPT50aGlzLnJlcGxhY2UoYSxzKSkuam9pbigiLCAiKX1lbHNlIGZvcihsZXQgaSBvZiB0aGlzLnBvc3NpYmxlKCkpdFtpXT10aGlzLnJlcGxhY2UoZS5zZWxlY3RvcixpKTtyZXR1cm4gZS5fYXV0b3ByZWZpeGVyUHJlZml4ZWRzW3RoaXMubmFtZV09dCxlLl9hdXRvcHJlZml4ZXJQcmVmaXhlZHN9YWxyZWFkeShlLHQsaSl7bGV0IG49ZS5wYXJlbnQuaW5kZXgoZSktMTtmb3IoO24+PTA7KXtsZXQgcz1lLnBhcmVudC5ub2Rlc1tuXTtpZihzLnR5cGUhPT0icnVsZSIpcmV0dXJuITE7bGV0IGE9ITE7Zm9yKGxldCBvIGluIHRbdGhpcy5uYW1lXSl7bGV0IGw9dFt0aGlzLm5hbWVdW29dO2lmKHMuc2VsZWN0b3I9PT1sKXtpZihpPT09bylyZXR1cm4hMDthPSEwO2JyZWFrfX1pZighYSlyZXR1cm4hMTtuLT0xfXJldHVybiExfXJlcGxhY2UoZSx0KXtyZXR1cm4gZS5yZXBsYWNlKHRoaXMucmVnZXhwKCksYCQxJHt0aGlzLnByZWZpeGVkKHQpfWApfWFkZChlLHQpe2xldCBpPXRoaXMucHJlZml4ZWRzKGUpO2lmKHRoaXMuYWxyZWFkeShlLGksdCkpcmV0dXJuO2xldCBuPXRoaXMuY2xvbmUoZSx7c2VsZWN0b3I6aVt0aGlzLm5hbWVdW3RdfSk7ZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9b2xkKGUpe3JldHVybiBuZXcgV08odGhpcyxlKX19O1JiLmV4cG9ydHM9VGJ9KTt2YXIgRGI9eCgodyQsSWIpPT57dSgpO3ZhciBLTz13cigpLFBiPWNsYXNzIGV4dGVuZHMgS097YWRkKGUsdCl7bGV0IGk9dCtlLm5hbWU7aWYoZS5wYXJlbnQuc29tZShhPT5hLm5hbWU9PT1pJiZhLnBhcmFtcz09PWUucGFyYW1zKSlyZXR1cm47bGV0IHM9dGhpcy5jbG9uZShlLHtuYW1lOml9KTtyZXR1cm4gZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUscyl9cHJvY2VzcyhlKXtsZXQgdD10aGlzLnBhcmVudFByZWZpeChlKTtmb3IobGV0IGkgb2YgdGhpcy5wcmVmaXhlcykoIXR8fHQ9PT1pKSYmdGhpcy5hZGQoZSxpKX19O0liLmV4cG9ydHM9UGJ9KTt2YXIgJGI9eCgodiQscWIpPT57dSgpO3ZhciBYTz1rcigpLHV1PWNsYXNzIGV4dGVuZHMgWE97cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLXdlYmtpdC0iPyI6LXdlYmtpdC1mdWxsLXNjcmVlbiI6ZT09PSItbW96LSI/IjotbW96LWZ1bGwtc2NyZWVuIjpgOiR7ZX1mdWxsc2NyZWVuYH19O3V1Lm5hbWVzPVsiOmZ1bGxzY3JlZW4iXTtxYi5leHBvcnRzPXV1fSk7dmFyIE1iPXgoKHgkLExiKT0+e3UoKTt2YXIgWk89a3IoKSxmdT1jbGFzcyBleHRlbmRzIFpPe3Bvc3NpYmxlKCl7cmV0dXJuIHN1cGVyLnBvc3NpYmxlKCkuY29uY2F0KFsiLW1vei0gb2xkIiwiLW1zLSBvbGQiXSl9cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLXdlYmtpdC0iPyI6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIiOmU9PT0iLW1zLSI/Ijo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIjplPT09Ii1tcy0gb2xkIj8iOi1tcy1pbnB1dC1wbGFjZWhvbGRlciI6ZT09PSItbW96LSBvbGQiPyI6LW1vei1wbGFjZWhvbGRlciI6YDo6JHtlfXBsYWNlaG9sZGVyYH19O2Z1Lm5hbWVzPVsiOjpwbGFjZWhvbGRlciJdO0xiLmV4cG9ydHM9ZnV9KTt2YXIgQmI9eCgoayQsTmIpPT57dSgpO3ZhciBKTz1rcigpLGN1PWNsYXNzIGV4dGVuZHMgSk97cHJlZml4ZWQoZSl7cmV0dXJuIGU9PT0iLW1zLSI/IjotbXMtaW5wdXQtcGxhY2Vob2xkZXIiOmA6JHtlfXBsYWNlaG9sZGVyLXNob3duYH19O2N1Lm5hbWVzPVsiOnBsYWNlaG9sZGVyLXNob3duIl07TmIuZXhwb3J0cz1jdX0pO3ZhciBqYj14KChTJCxGYik9Pnt1KCk7dmFyIGVUPWtyKCksdFQ9X2UoKSxwdT1jbGFzcyBleHRlbmRzIGVUe2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlLHQsaSk7dGhpcy5wcmVmaXhlcyYmKHRoaXMucHJlZml4ZXM9dFQudW5pcSh0aGlzLnByZWZpeGVzLm1hcChuPT4iLXdlYmtpdC0iKSkpfXByZWZpeGVkKGUpe3JldHVybiBlPT09Ii13ZWJraXQtIj8iOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiI6YDo6JHtlfWZpbGUtc2VsZWN0b3ItYnV0dG9uYH19O3B1Lm5hbWVzPVsiOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiJdO0ZiLmV4cG9ydHM9cHV9KTt2YXIgUGU9eCgoQSQsemIpPT57dSgpO3piLmV4cG9ydHM9ZnVuY3Rpb24ocil7bGV0IGU7cmV0dXJuIHI9PT0iLXdlYmtpdC0gMjAwOSJ8fHI9PT0iLW1vei0iP2U9MjAwOTpyPT09Ii1tcy0iP2U9MjAxMjpyPT09Ii13ZWJraXQtIiYmKGU9ImZpbmFsIikscj09PSItd2Via2l0LSAyMDA5IiYmKHI9Ii13ZWJraXQtIiksW2Uscl19fSk7dmFyIFdiPXgoKEMkLEhiKT0+e3UoKTt2YXIgVWI9JGUoKS5saXN0LFZiPVBlKCksclQ9aigpLFNyPWNsYXNzIGV4dGVuZHMgclR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1WYih0KSxpPT09MjAwOT90KyJib3gtZmxleCI6c3VwZXIucHJlZml4ZWQoZSx0KX1ub3JtYWxpemUoKXtyZXR1cm4iZmxleCJ9c2V0KGUsdCl7bGV0IGk9VmIodClbMF07aWYoaT09PTIwMDkpcmV0dXJuIGUudmFsdWU9VWIuc3BhY2UoZS52YWx1ZSlbMF0sZS52YWx1ZT1Tci5vbGRWYWx1ZXNbZS52YWx1ZV18fGUudmFsdWUsc3VwZXIuc2V0KGUsdCk7aWYoaT09PTIwMTIpe2xldCBuPVViLnNwYWNlKGUudmFsdWUpO24ubGVuZ3RoPT09MyYmblsyXT09PSIwIiYmKGUudmFsdWU9bi5zbGljZSgwLDIpLmNvbmNhdCgiMHB4Iikuam9pbigiICIpKX1yZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtTci5uYW1lcz1bImZsZXgiLCJib3gtZmxleCJdO1NyLm9sZFZhbHVlcz17YXV0bzoiMSIsbm9uZToiMCJ9O0hiLmV4cG9ydHM9U3J9KTt2YXIgWWI9eCgoXyQsUWIpPT57dSgpO3ZhciBHYj1QZSgpLGlUPWooKSxkdT1jbGFzcyBleHRlbmRzIGlUe3ByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09R2IodCksaT09PTIwMDk/dCsiYm94LW9yZGluYWwtZ3JvdXAiOmk9PT0yMDEyP3QrImZsZXgtb3JkZXIiOnN1cGVyLnByZWZpeGVkKGUsdCl9bm9ybWFsaXplKCl7cmV0dXJuIm9yZGVyIn1zZXQoZSx0KXtyZXR1cm4gR2IodClbMF09PT0yMDA5JiYvXGQvLnRlc3QoZS52YWx1ZSk/KGUudmFsdWU9KHBhcnNlSW50KGUudmFsdWUpKzEpLnRvU3RyaW5nKCksc3VwZXIuc2V0KGUsdCkpOnN1cGVyLnNldChlLHQpfX07ZHUubmFtZXM9WyJvcmRlciIsImZsZXgtb3JkZXIiLCJib3gtb3JkaW5hbC1ncm91cCJdO1FiLmV4cG9ydHM9ZHV9KTt2YXIgWGI9eCgoRSQsS2IpPT57dSgpO3ZhciBuVD1qKCksaHU9Y2xhc3MgZXh0ZW5kcyBuVHtjaGVjayhlKXtsZXQgdD1lLnZhbHVlO3JldHVybiF0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImFscGhhKCIpJiYhdC5pbmNsdWRlcygiRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQiKSYmIXQuaW5jbHVkZXMoImRhdGE6aW1hZ2Uvc3ZnK3htbCIpfX07aHUubmFtZXM9WyJmaWx0ZXIiXTtLYi5leHBvcnRzPWh1fSk7dmFyIEpiPXgoKE8kLFpiKT0+e3UoKTt2YXIgc1Q9aigpLG11PWNsYXNzIGV4dGVuZHMgc1R7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9dGhpcy5jbG9uZShlKSxhPWUucHJvcC5yZXBsYWNlKC9lbmQkLywic3RhcnQiKSxvPXQrZS5wcm9wLnJlcGxhY2UoL2VuZCQvLCJzcGFuIik7aWYoIWUucGFyZW50LnNvbWUobD0+bC5wcm9wPT09bykpe2lmKHMucHJvcD1vLGUudmFsdWUuaW5jbHVkZXMoInNwYW4iKSlzLnZhbHVlPWUudmFsdWUucmVwbGFjZSgvc3BhblxzL2ksIiIpO2Vsc2V7bGV0IGw7aWYoZS5wYXJlbnQud2Fsa0RlY2xzKGEsYz0+e2w9Y30pLGwpe2xldCBjPU51bWJlcihlLnZhbHVlKS1OdW1iZXIobC52YWx1ZSkrIiI7cy52YWx1ZT1jfWVsc2UgZS53YXJuKG4sYENhbiBub3QgcHJlZml4ICR7ZS5wcm9wfSAoJHthfSBpcyBub3QgZm91bmQpYCl9ZS5jbG9uZUJlZm9yZShzKX19fTttdS5uYW1lcz1bImdyaWQtcm93LWVuZCIsImdyaWQtY29sdW1uLWVuZCJdO1piLmV4cG9ydHM9bXV9KTt2YXIgdHc9eCgoVCQsZXcpPT57dSgpO3ZhciBhVD1qKCksZ3U9Y2xhc3MgZXh0ZW5kcyBhVHtjaGVjayhlKXtyZXR1cm4hZS52YWx1ZS5zcGxpdCgvXHMrLykuc29tZSh0PT57bGV0IGk9dC50b0xvd2VyQ2FzZSgpO3JldHVybiBpPT09InJldmVyc2UifHxpPT09ImFsdGVybmF0ZS1yZXZlcnNlIn0pfX07Z3UubmFtZXM9WyJhbmltYXRpb24iLCJhbmltYXRpb24tZGlyZWN0aW9uIl07ZXcuZXhwb3J0cz1ndX0pO3ZhciBpdz14KChSJCxydyk9Pnt1KCk7dmFyIG9UPVBlKCksbFQ9aigpLHl1PWNsYXNzIGV4dGVuZHMgbFR7aW5zZXJ0KGUsdCxpKXtsZXQgbjtpZihbbix0XT1vVCh0KSxuIT09MjAwOSlyZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKTtsZXQgcz1lLnZhbHVlLnNwbGl0KC9ccysvKS5maWx0ZXIoZD0+ZCE9PSJ3cmFwIiYmZCE9PSJub3dyYXAiJiYid3JhcC1yZXZlcnNlIik7aWYocy5sZW5ndGg9PT0wfHxlLnBhcmVudC5zb21lKGQ9PmQucHJvcD09PXQrImJveC1vcmllbnQifHxkLnByb3A9PT10KyJib3gtZGlyZWN0aW9uIikpcmV0dXJuO2xldCBvPXNbMF0sbD1vLmluY2x1ZGVzKCJyb3ciKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIixjPW8uaW5jbHVkZXMoInJldmVyc2UiKT8icmV2ZXJzZSI6Im5vcm1hbCIsZj10aGlzLmNsb25lKGUpO3JldHVybiBmLnByb3A9dCsiYm94LW9yaWVudCIsZi52YWx1ZT1sLHRoaXMubmVlZENhc2NhZGUoZSkmJihmLnJhd3MuYmVmb3JlPXRoaXMuY2FsY0JlZm9yZShpLGUsdCkpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLGYpLGY9dGhpcy5jbG9uZShlKSxmLnByb3A9dCsiYm94LWRpcmVjdGlvbiIsZi52YWx1ZT1jLHRoaXMubmVlZENhc2NhZGUoZSkmJihmLnJhd3MuYmVmb3JlPXRoaXMuY2FsY0JlZm9yZShpLGUsdCkpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLGYpfX07eXUubmFtZXM9WyJmbGV4LWZsb3ciLCJib3gtZGlyZWN0aW9uIiwiYm94LW9yaWVudCJdO3J3LmV4cG9ydHM9eXV9KTt2YXIgc3c9eCgoUCQsbncpPT57dSgpO3ZhciB1VD1QZSgpLGZUPWooKSxidT1jbGFzcyBleHRlbmRzIGZUe25vcm1hbGl6ZSgpe3JldHVybiJmbGV4In1wcmVmaXhlZChlLHQpe2xldCBpO3JldHVybltpLHRdPXVUKHQpLGk9PT0yMDA5P3QrImJveC1mbGV4IjppPT09MjAxMj90KyJmbGV4LXBvc2l0aXZlIjpzdXBlci5wcmVmaXhlZChlLHQpfX07YnUubmFtZXM9WyJmbGV4LWdyb3ciLCJmbGV4LXBvc2l0aXZlIl07bncuZXhwb3J0cz1idX0pO3ZhciBvdz14KChJJCxhdyk9Pnt1KCk7dmFyIGNUPVBlKCkscFQ9aigpLHd1PWNsYXNzIGV4dGVuZHMgcFR7c2V0KGUsdCl7aWYoY1QodClbMF0hPT0yMDA5KXJldHVybiBzdXBlci5zZXQoZSx0KX19O3d1Lm5hbWVzPVsiZmxleC13cmFwIl07YXcuZXhwb3J0cz13dX0pO3ZhciB1dz14KChEJCxsdyk9Pnt1KCk7dmFyIGRUPWooKSxBcj1CdCgpLHZ1PWNsYXNzIGV4dGVuZHMgZFR7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9QXIucGFyc2UoZSksW2Esb109QXIudHJhbnNsYXRlKHMsMCwyKSxbbCxjXT1Bci50cmFuc2xhdGUocywxLDMpO1tbImdyaWQtcm93IixhXSxbImdyaWQtcm93LXNwYW4iLG9dLFsiZ3JpZC1jb2x1bW4iLGxdLFsiZ3JpZC1jb2x1bW4tc3BhbiIsY11dLmZvckVhY2goKFtmLGRdKT0+e0FyLmluc2VydERlY2woZSxmLGQpfSksQXIud2FyblRlbXBsYXRlU2VsZWN0b3JOb3RGb3VuZChlLG4pLEFyLndhcm5JZkdyaWRSb3dDb2x1bW5FeGlzdHMoZSxuKX19O3Z1Lm5hbWVzPVsiZ3JpZC1hcmVhIl07bHcuZXhwb3J0cz12dX0pO3ZhciBjdz14KChxJCxmdyk9Pnt1KCk7dmFyIGhUPWooKSxCaT1CdCgpLHh1PWNsYXNzIGV4dGVuZHMgaFR7aW5zZXJ0KGUsdCxpKXtpZih0IT09Ii1tcy0iKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2lmKGUucGFyZW50LnNvbWUoYT0+YS5wcm9wPT09Ii1tcy1ncmlkLXJvdy1hbGlnbiIpKXJldHVybjtsZXRbW24sc11dPUJpLnBhcnNlKGUpO3M/KEJpLmluc2VydERlY2woZSwiZ3JpZC1yb3ctYWxpZ24iLG4pLEJpLmluc2VydERlY2woZSwiZ3JpZC1jb2x1bW4tYWxpZ24iLHMpKTooQmkuaW5zZXJ0RGVjbChlLCJncmlkLXJvdy1hbGlnbiIsbiksQmkuaW5zZXJ0RGVjbChlLCJncmlkLWNvbHVtbi1hbGlnbiIsbikpfX07eHUubmFtZXM9WyJwbGFjZS1zZWxmIl07ZncuZXhwb3J0cz14dX0pO3ZhciBkdz14KCgkJCxwdyk9Pnt1KCk7dmFyIG1UPWooKSxrdT1jbGFzcyBleHRlbmRzIG1Ue2NoZWNrKGUpe2xldCB0PWUudmFsdWU7cmV0dXJuIXQuaW5jbHVkZXMoIi8iKXx8dC5pbmNsdWRlcygic3BhbiIpfW5vcm1hbGl6ZShlKXtyZXR1cm4gZS5yZXBsYWNlKCItc3RhcnQiLCIiKX1wcmVmaXhlZChlLHQpe2xldCBpPXN1cGVyLnByZWZpeGVkKGUsdCk7cmV0dXJuIHQ9PT0iLW1zLSImJihpPWkucmVwbGFjZSgiLXN0YXJ0IiwiIikpLGl9fTtrdS5uYW1lcz1bImdyaWQtcm93LXN0YXJ0IiwiZ3JpZC1jb2x1bW4tc3RhcnQiXTtwdy5leHBvcnRzPWt1fSk7dmFyIGd3PXgoKEwkLG13KT0+e3UoKTt2YXIgaHc9UGUoKSxnVD1qKCksQ3I9Y2xhc3MgZXh0ZW5kcyBnVHtjaGVjayhlKXtyZXR1cm4gZS5wYXJlbnQmJiFlLnBhcmVudC5zb21lKHQ9PnQucHJvcCYmdC5wcm9wLnN0YXJ0c1dpdGgoImdyaWQtIikpfXByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09aHcodCksaT09PTIwMTI/dCsiZmxleC1pdGVtLWFsaWduIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJhbGlnbi1zZWxmIn1zZXQoZSx0KXtsZXQgaT1odyh0KVswXTtpZihpPT09MjAxMilyZXR1cm4gZS52YWx1ZT1Dci5vbGRWYWx1ZXNbZS52YWx1ZV18fGUudmFsdWUsc3VwZXIuc2V0KGUsdCk7aWYoaT09PSJmaW5hbCIpcmV0dXJuIHN1cGVyLnNldChlLHQpfX07Q3IubmFtZXM9WyJhbGlnbi1zZWxmIiwiZmxleC1pdGVtLWFsaWduIl07Q3Iub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQifTttdy5leHBvcnRzPUNyfSk7dmFyIGJ3PXgoKE0kLHl3KT0+e3UoKTt2YXIgeVQ9aigpLGJUPV9lKCksU3U9Y2xhc3MgZXh0ZW5kcyB5VHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpO3RoaXMucHJlZml4ZXMmJih0aGlzLnByZWZpeGVzPWJULnVuaXEodGhpcy5wcmVmaXhlcy5tYXAobj0+bj09PSItbXMtIj8iLXdlYmtpdC0iOm4pKSl9fTtTdS5uYW1lcz1bImFwcGVhcmFuY2UiXTt5dy5leHBvcnRzPVN1fSk7dmFyIHh3PXgoKE4kLHZ3KT0+e3UoKTt2YXIgd3c9UGUoKSx3VD1qKCksQXU9Y2xhc3MgZXh0ZW5kcyB3VHtub3JtYWxpemUoKXtyZXR1cm4iZmxleC1iYXNpcyJ9cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT13dyh0KSxpPT09MjAxMj90KyJmbGV4LXByZWZlcnJlZC1zaXplIjpzdXBlci5wcmVmaXhlZChlLHQpfXNldChlLHQpe2xldCBpO2lmKFtpLHRdPXd3KHQpLGk9PT0yMDEyfHxpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtBdS5uYW1lcz1bImZsZXgtYmFzaXMiLCJmbGV4LXByZWZlcnJlZC1zaXplIl07dncuZXhwb3J0cz1BdX0pO3ZhciBTdz14KChCJCxrdyk9Pnt1KCk7dmFyIHZUPWooKSxDdT1jbGFzcyBleHRlbmRzIHZUe25vcm1hbGl6ZSgpe3JldHVybiB0aGlzLm5hbWUucmVwbGFjZSgiYm94LWltYWdlIiwiYm9yZGVyIil9cHJlZml4ZWQoZSx0KXtsZXQgaT1zdXBlci5wcmVmaXhlZChlLHQpO3JldHVybiB0PT09Ii13ZWJraXQtIiYmKGk9aS5yZXBsYWNlKCJib3JkZXIiLCJib3gtaW1hZ2UiKSksaX19O0N1Lm5hbWVzPVsibWFzay1ib3JkZXIiLCJtYXNrLWJvcmRlci1zb3VyY2UiLCJtYXNrLWJvcmRlci1zbGljZSIsIm1hc2stYm9yZGVyLXdpZHRoIiwibWFzay1ib3JkZXItb3V0c2V0IiwibWFzay1ib3JkZXItcmVwZWF0IiwibWFzay1ib3gtaW1hZ2UiLCJtYXNrLWJveC1pbWFnZS1zb3VyY2UiLCJtYXNrLWJveC1pbWFnZS1zbGljZSIsIm1hc2stYm94LWltYWdlLXdpZHRoIiwibWFzay1ib3gtaW1hZ2Utb3V0c2V0IiwibWFzay1ib3gtaW1hZ2UtcmVwZWF0Il07a3cuZXhwb3J0cz1DdX0pO3ZhciBDdz14KChGJCxBdyk9Pnt1KCk7dmFyIHhUPWooKSxsdD1jbGFzcyBleHRlbmRzIHhUe2luc2VydChlLHQsaSl7bGV0IG49ZS5wcm9wPT09Im1hc2stY29tcG9zaXRlIixzO24/cz1lLnZhbHVlLnNwbGl0KCIsIik6cz1lLnZhbHVlLm1hdGNoKGx0LnJlZ2V4cCl8fFtdLHM9cy5tYXAoYz0+Yy50cmltKCkpLmZpbHRlcihjPT5jKTtsZXQgYT1zLmxlbmd0aCxvO2lmKGEmJihvPXRoaXMuY2xvbmUoZSksby52YWx1ZT1zLm1hcChjPT5sdC5vbGRWYWx1ZXNbY118fGMpLmpvaW4oIiwgIikscy5pbmNsdWRlcygiaW50ZXJzZWN0IikmJihvLnZhbHVlKz0iLCB4b3IiKSxvLnByb3A9dCsibWFzay1jb21wb3NpdGUiKSxuKXJldHVybiBhPyh0aGlzLm5lZWRDYXNjYWRlKGUpJiYoby5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxvKSk6dm9pZCAwO2xldCBsPXRoaXMuY2xvbmUoZSk7cmV0dXJuIGwucHJvcD10K2wucHJvcCxhJiYobC52YWx1ZT1sLnZhbHVlLnJlcGxhY2UobHQucmVnZXhwLCIiKSksdGhpcy5uZWVkQ2FzY2FkZShlKSYmKGwucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbCksYT8odGhpcy5uZWVkQ2FzY2FkZShlKSYmKG8ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSksZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbykpOmV9fTtsdC5uYW1lcz1bIm1hc2siLCJtYXNrLWNvbXBvc2l0ZSJdO2x0Lm9sZFZhbHVlcz17YWRkOiJzb3VyY2Utb3ZlciIsc3VidHJhY3Q6InNvdXJjZS1vdXQiLGludGVyc2VjdDoic291cmNlLWluIixleGNsdWRlOiJ4b3IifTtsdC5yZWdleHA9bmV3IFJlZ0V4cChgXFxzKygke09iamVjdC5rZXlzKGx0Lm9sZFZhbHVlcykuam9pbigifCIpfSlcXGIoPyFcXCkpXFxzKig/PVssXSlgLCJpZyIpO0F3LmV4cG9ydHM9bHR9KTt2YXIgT3c9eCgoaiQsRXcpPT57dSgpO3ZhciBfdz1QZSgpLGtUPWooKSxfcj1jbGFzcyBleHRlbmRzIGtUe3ByZWZpeGVkKGUsdCl7bGV0IGk7cmV0dXJuW2ksdF09X3codCksaT09PTIwMDk/dCsiYm94LWFsaWduIjppPT09MjAxMj90KyJmbGV4LWFsaWduIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJhbGlnbi1pdGVtcyJ9c2V0KGUsdCl7bGV0IGk9X3codClbMF07cmV0dXJuKGk9PT0yMDA5fHxpPT09MjAxMikmJihlLnZhbHVlPV9yLm9sZFZhbHVlc1tlLnZhbHVlXXx8ZS52YWx1ZSksc3VwZXIuc2V0KGUsdCl9fTtfci5uYW1lcz1bImFsaWduLWl0ZW1zIiwiZmxleC1hbGlnbiIsImJveC1hbGlnbiJdO19yLm9sZFZhbHVlcz17ImZsZXgtZW5kIjoiZW5kIiwiZmxleC1zdGFydCI6InN0YXJ0In07RXcuZXhwb3J0cz1fcn0pO3ZhciBSdz14KCh6JCxUdyk9Pnt1KCk7dmFyIFNUPWooKSxfdT1jbGFzcyBleHRlbmRzIFNUe3NldChlLHQpe3JldHVybiB0PT09Ii1tcy0iJiZlLnZhbHVlPT09ImNvbnRhaW4iJiYoZS52YWx1ZT0iZWxlbWVudCIpLHN1cGVyLnNldChlLHQpfWluc2VydChlLHQsaSl7aWYoIShlLnZhbHVlPT09ImFsbCImJnQ9PT0iLW1zLSIpKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpfX07X3UubmFtZXM9WyJ1c2VyLXNlbGVjdCJdO1R3LmV4cG9ydHM9X3V9KTt2YXIgRHc9eCgoVSQsSXcpPT57dSgpO3ZhciBQdz1QZSgpLEFUPWooKSxFdT1jbGFzcyBleHRlbmRzIEFUe25vcm1hbGl6ZSgpe3JldHVybiJmbGV4LXNocmluayJ9cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1Qdyh0KSxpPT09MjAxMj90KyJmbGV4LW5lZ2F0aXZlIjpzdXBlci5wcmVmaXhlZChlLHQpfXNldChlLHQpe2xldCBpO2lmKFtpLHRdPVB3KHQpLGk9PT0yMDEyfHxpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtFdS5uYW1lcz1bImZsZXgtc2hyaW5rIiwiZmxleC1uZWdhdGl2ZSJdO0l3LmV4cG9ydHM9RXV9KTt2YXIgJHc9eCgoViQscXcpPT57dSgpO3ZhciBDVD1qKCksT3U9Y2xhc3MgZXh0ZW5kcyBDVHtwcmVmaXhlZChlLHQpe3JldHVybmAke3R9Y29sdW1uLSR7ZX1gfW5vcm1hbGl6ZShlKXtyZXR1cm4gZS5pbmNsdWRlcygiaW5zaWRlIik/ImJyZWFrLWluc2lkZSI6ZS5pbmNsdWRlcygiYmVmb3JlIik/ImJyZWFrLWJlZm9yZSI6ImJyZWFrLWFmdGVyIn1zZXQoZSx0KXtyZXR1cm4oZS5wcm9wPT09ImJyZWFrLWluc2lkZSImJmUudmFsdWU9PT0iYXZvaWQtY29sdW1uInx8ZS52YWx1ZT09PSJhdm9pZC1wYWdlIikmJihlLnZhbHVlPSJhdm9pZCIpLHN1cGVyLnNldChlLHQpfWluc2VydChlLHQsaSl7aWYoZS5wcm9wIT09ImJyZWFrLWluc2lkZSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7aWYoISgvcmVnaW9uL2kudGVzdChlLnZhbHVlKXx8L3BhZ2UvaS50ZXN0KGUudmFsdWUpKSlyZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKX19O091Lm5hbWVzPVsiYnJlYWstaW5zaWRlIiwicGFnZS1icmVhay1pbnNpZGUiLCJjb2x1bW4tYnJlYWstaW5zaWRlIiwiYnJlYWstYmVmb3JlIiwicGFnZS1icmVhay1iZWZvcmUiLCJjb2x1bW4tYnJlYWstYmVmb3JlIiwiYnJlYWstYWZ0ZXIiLCJwYWdlLWJyZWFrLWFmdGVyIiwiY29sdW1uLWJyZWFrLWFmdGVyIl07cXcuZXhwb3J0cz1PdX0pO3ZhciBNdz14KChIJCxMdyk9Pnt1KCk7dmFyIF9UPWooKSxUdT1jbGFzcyBleHRlbmRzIF9Ue3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQrInByaW50LWNvbG9yLWFkanVzdCJ9bm9ybWFsaXplKCl7cmV0dXJuImNvbG9yLWFkanVzdCJ9fTtUdS5uYW1lcz1bImNvbG9yLWFkanVzdCIsInByaW50LWNvbG9yLWFkanVzdCJdO0x3LmV4cG9ydHM9VHV9KTt2YXIgQnc9eCgoVyQsTncpPT57dSgpO3ZhciBFVD1qKCksRXI9Y2xhc3MgZXh0ZW5kcyBFVHtpbnNlcnQoZSx0LGkpe2lmKHQ9PT0iLW1zLSIpe2xldCBuPXRoaXMuc2V0KHRoaXMuY2xvbmUoZSksdCk7dGhpcy5uZWVkQ2FzY2FkZShlKSYmKG4ucmF3cy5iZWZvcmU9dGhpcy5jYWxjQmVmb3JlKGksZSx0KSk7bGV0IHM9Imx0ciI7cmV0dXJuIGUucGFyZW50Lm5vZGVzLmZvckVhY2goYT0+e2EucHJvcD09PSJkaXJlY3Rpb24iJiYoYS52YWx1ZT09PSJydGwifHxhLnZhbHVlPT09Imx0ciIpJiYocz1hLnZhbHVlKX0pLG4udmFsdWU9RXIubXNWYWx1ZXNbc11bZS52YWx1ZV18fGUudmFsdWUsZS5wYXJlbnQuaW5zZXJ0QmVmb3JlKGUsbil9cmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSl9fTtFci5uYW1lcz1bIndyaXRpbmctbW9kZSJdO0VyLm1zVmFsdWVzPXtsdHI6eyJob3Jpem9udGFsLXRiIjoibHItdGIiLCJ2ZXJ0aWNhbC1ybCI6InRiLXJsIiwidmVydGljYWwtbHIiOiJ0Yi1sciJ9LHJ0bDp7Imhvcml6b250YWwtdGIiOiJybC10YiIsInZlcnRpY2FsLXJsIjoiYnQtcmwiLCJ2ZXJ0aWNhbC1sciI6ImJ0LWxyIn19O053LmV4cG9ydHM9RXJ9KTt2YXIganc9eCgoRyQsRncpPT57dSgpO3ZhciBPVD1qKCksUnU9Y2xhc3MgZXh0ZW5kcyBPVHtzZXQoZSx0KXtyZXR1cm4gZS52YWx1ZT1lLnZhbHVlLnJlcGxhY2UoL1xzK2ZpbGwoXHMpLywiJDEiKSxzdXBlci5zZXQoZSx0KX19O1J1Lm5hbWVzPVsiYm9yZGVyLWltYWdlIl07RncuZXhwb3J0cz1SdX0pO3ZhciBWdz14KChRJCxVdyk9Pnt1KCk7dmFyIHp3PVBlKCksVFQ9aigpLE9yPWNsYXNzIGV4dGVuZHMgVFR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT16dyh0KSxpPT09MjAxMj90KyJmbGV4LWxpbmUtcGFjayI6c3VwZXIucHJlZml4ZWQoZSx0KX1ub3JtYWxpemUoKXtyZXR1cm4iYWxpZ24tY29udGVudCJ9c2V0KGUsdCl7bGV0IGk9encodClbMF07aWYoaT09PTIwMTIpcmV0dXJuIGUudmFsdWU9T3Iub2xkVmFsdWVzW2UudmFsdWVdfHxlLnZhbHVlLHN1cGVyLnNldChlLHQpO2lmKGk9PT0iZmluYWwiKXJldHVybiBzdXBlci5zZXQoZSx0KX19O09yLm5hbWVzPVsiYWxpZ24tY29udGVudCIsImZsZXgtbGluZS1wYWNrIl07T3Iub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQiLCJzcGFjZS1iZXR3ZWVuIjoianVzdGlmeSIsInNwYWNlLWFyb3VuZCI6ImRpc3RyaWJ1dGUifTtVdy5leHBvcnRzPU9yfSk7dmFyIFd3PXgoKFkkLEh3KT0+e3UoKTt2YXIgUlQ9aigpLFdlPWNsYXNzIGV4dGVuZHMgUlR7cHJlZml4ZWQoZSx0KXtyZXR1cm4gdD09PSItbW96LSI/dCsoV2UudG9Nb3ppbGxhW2VdfHxlKTpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZShlKXtyZXR1cm4gV2UudG9Ob3JtYWxbZV18fGV9fTtXZS5uYW1lcz1bImJvcmRlci1yYWRpdXMiXTtXZS50b01vemlsbGE9e307V2UudG9Ob3JtYWw9e307Zm9yKGxldCByIG9mWyJ0b3AiLCJib3R0b20iXSlmb3IobGV0IGUgb2ZbImxlZnQiLCJyaWdodCJdKXtsZXQgdD1gYm9yZGVyLSR7cn0tJHtlfS1yYWRpdXNgLGk9YGJvcmRlci1yYWRpdXMtJHtyfSR7ZX1gO1dlLm5hbWVzLnB1c2godCksV2UubmFtZXMucHVzaChpKSxXZS50b01vemlsbGFbdF09aSxXZS50b05vcm1hbFtpXT10fUh3LmV4cG9ydHM9V2V9KTt2YXIgUXc9eCgoSyQsR3cpPT57dSgpO3ZhciBQVD1qKCksUHU9Y2xhc3MgZXh0ZW5kcyBQVHtwcmVmaXhlZChlLHQpe3JldHVybiBlLmluY2x1ZGVzKCItc3RhcnQiKT90K2UucmVwbGFjZSgiLWJsb2NrLXN0YXJ0IiwiLWJlZm9yZSIpOnQrZS5yZXBsYWNlKCItYmxvY2stZW5kIiwiLWFmdGVyIil9bm9ybWFsaXplKGUpe3JldHVybiBlLmluY2x1ZGVzKCItYmVmb3JlIik/ZS5yZXBsYWNlKCItYmVmb3JlIiwiLWJsb2NrLXN0YXJ0Iik6ZS5yZXBsYWNlKCItYWZ0ZXIiLCItYmxvY2stZW5kIil9fTtQdS5uYW1lcz1bImJvcmRlci1ibG9jay1zdGFydCIsImJvcmRlci1ibG9jay1lbmQiLCJtYXJnaW4tYmxvY2stc3RhcnQiLCJtYXJnaW4tYmxvY2stZW5kIiwicGFkZGluZy1ibG9jay1zdGFydCIsInBhZGRpbmctYmxvY2stZW5kIiwiYm9yZGVyLWJlZm9yZSIsImJvcmRlci1hZnRlciIsIm1hcmdpbi1iZWZvcmUiLCJtYXJnaW4tYWZ0ZXIiLCJwYWRkaW5nLWJlZm9yZSIsInBhZGRpbmctYWZ0ZXIiXTtHdy5leHBvcnRzPVB1fSk7dmFyIEt3PXgoKFgkLFl3KT0+e3UoKTt2YXIgSVQ9aigpLHtwYXJzZVRlbXBsYXRlOkRULHdhcm5NaXNzZWRBcmVhczpxVCxnZXRHcmlkR2FwOiRULHdhcm5HcmlkR2FwOkxULGluaGVyaXRHcmlkR2FwOk1UfT1CdCgpLEl1PWNsYXNzIGV4dGVuZHMgSVR7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7aWYoZS5wYXJlbnQuc29tZShoPT5oLnByb3A9PT0iLW1zLWdyaWQtcm93cyIpKXJldHVybjtsZXQgcz0kVChlKSxhPU1UKGUscykse3Jvd3M6byxjb2x1bW5zOmwsYXJlYXM6Y309RFQoe2RlY2w6ZSxnYXA6YXx8c30pLGY9T2JqZWN0LmtleXMoYykubGVuZ3RoPjAsZD1Cb29sZWFuKG8pLHA9Qm9vbGVhbihsKTtyZXR1cm4gTFQoe2dhcDpzLGhhc0NvbHVtbnM6cCxkZWNsOmUscmVzdWx0Om59KSxxVChjLGUsbiksKGQmJnB8fGYpJiZlLmNsb25lQmVmb3JlKHtwcm9wOiItbXMtZ3JpZC1yb3dzIix2YWx1ZTpvLHJhd3M6e319KSxwJiZlLmNsb25lQmVmb3JlKHtwcm9wOiItbXMtZ3JpZC1jb2x1bW5zIix2YWx1ZTpsLHJhd3M6e319KSxlfX07SXUubmFtZXM9WyJncmlkLXRlbXBsYXRlIl07WXcuZXhwb3J0cz1JdX0pO3ZhciBadz14KChaJCxYdyk9Pnt1KCk7dmFyIE5UPWooKSxEdT1jbGFzcyBleHRlbmRzIE5Ue3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQrZS5yZXBsYWNlKCItaW5saW5lIiwiIil9bm9ybWFsaXplKGUpe3JldHVybiBlLnJlcGxhY2UoLyhtYXJnaW58cGFkZGluZ3xib3JkZXIpLShzdGFydHxlbmQpLywiJDEtaW5saW5lLSQyIil9fTtEdS5uYW1lcz1bImJvcmRlci1pbmxpbmUtc3RhcnQiLCJib3JkZXItaW5saW5lLWVuZCIsIm1hcmdpbi1pbmxpbmUtc3RhcnQiLCJtYXJnaW4taW5saW5lLWVuZCIsInBhZGRpbmctaW5saW5lLXN0YXJ0IiwicGFkZGluZy1pbmxpbmUtZW5kIiwiYm9yZGVyLXN0YXJ0IiwiYm9yZGVyLWVuZCIsIm1hcmdpbi1zdGFydCIsIm1hcmdpbi1lbmQiLCJwYWRkaW5nLXN0YXJ0IiwicGFkZGluZy1lbmQiXTtYdy5leHBvcnRzPUR1fSk7dmFyIGUwPXgoKEokLEp3KT0+e3UoKTt2YXIgQlQ9aigpLHF1PWNsYXNzIGV4dGVuZHMgQlR7Y2hlY2soZSl7cmV0dXJuIWUudmFsdWUuaW5jbHVkZXMoImZsZXgtIikmJmUudmFsdWUhPT0iYmFzZWxpbmUifXByZWZpeGVkKGUsdCl7cmV0dXJuIHQrImdyaWQtcm93LWFsaWduIn1ub3JtYWxpemUoKXtyZXR1cm4iYWxpZ24tc2VsZiJ9fTtxdS5uYW1lcz1bImdyaWQtcm93LWFsaWduIl07SncuZXhwb3J0cz1xdX0pO3ZhciByMD14KChlTCx0MCk9Pnt1KCk7dmFyIEZUPWooKSxUcj1jbGFzcyBleHRlbmRzIEZUe2tleWZyYW1lUGFyZW50cyhlKXtsZXR7cGFyZW50OnR9PWU7Zm9yKDt0Oyl7aWYodC50eXBlPT09ImF0cnVsZSImJnQubmFtZT09PSJrZXlmcmFtZXMiKXJldHVybiEwOyh7cGFyZW50OnR9PXQpfXJldHVybiExfWNvbnRhaW4zZChlKXtpZihlLnByb3A9PT0idHJhbnNmb3JtLW9yaWdpbiIpcmV0dXJuITE7Zm9yKGxldCB0IG9mIFRyLmZ1bmN0aW9uczNkKWlmKGUudmFsdWUuaW5jbHVkZXMoYCR7dH0oYCkpcmV0dXJuITA7cmV0dXJuITF9c2V0KGUsdCl7cmV0dXJuIGU9c3VwZXIuc2V0KGUsdCksdD09PSItbXMtIiYmKGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlKC9yb3RhdGV6L2dpLCJyb3RhdGUiKSksZX1pbnNlcnQoZSx0LGkpe2lmKHQ9PT0iLW1zLSIpe2lmKCF0aGlzLmNvbnRhaW4zZChlKSYmIXRoaXMua2V5ZnJhbWVQYXJlbnRzKGUpKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpfWVsc2UgaWYodD09PSItby0iKXtpZighdGhpcy5jb250YWluM2QoZSkpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSl9ZWxzZSByZXR1cm4gc3VwZXIuaW5zZXJ0KGUsdCxpKX19O1RyLm5hbWVzPVsidHJhbnNmb3JtIiwidHJhbnNmb3JtLW9yaWdpbiJdO1RyLmZ1bmN0aW9uczNkPVsibWF0cml4M2QiLCJ0cmFuc2xhdGUzZCIsInRyYW5zbGF0ZVoiLCJzY2FsZTNkIiwic2NhbGVaIiwicm90YXRlM2QiLCJyb3RhdGVYIiwicm90YXRlWSIsInBlcnNwZWN0aXZlIl07dDAuZXhwb3J0cz1Ucn0pO3ZhciBzMD14KCh0TCxuMCk9Pnt1KCk7dmFyIGkwPVBlKCksalQ9aigpLCR1PWNsYXNzIGV4dGVuZHMgalR7bm9ybWFsaXplKCl7cmV0dXJuImZsZXgtZGlyZWN0aW9uIn1pbnNlcnQoZSx0LGkpe2xldCBuO2lmKFtuLHRdPWkwKHQpLG4hPT0yMDA5KXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2lmKGUucGFyZW50LnNvbWUoZj0+Zi5wcm9wPT09dCsiYm94LW9yaWVudCJ8fGYucHJvcD09PXQrImJveC1kaXJlY3Rpb24iKSlyZXR1cm47bGV0IGE9ZS52YWx1ZSxvLGw7YT09PSJpbmhlcml0Inx8YT09PSJpbml0aWFsInx8YT09PSJ1bnNldCI/KG89YSxsPWEpOihvPWEuaW5jbHVkZXMoInJvdyIpPyJob3Jpem9udGFsIjoidmVydGljYWwiLGw9YS5pbmNsdWRlcygicmV2ZXJzZSIpPyJyZXZlcnNlIjoibm9ybWFsIik7bGV0IGM9dGhpcy5jbG9uZShlKTtyZXR1cm4gYy5wcm9wPXQrImJveC1vcmllbnQiLGMudmFsdWU9byx0aGlzLm5lZWRDYXNjYWRlKGUpJiYoYy5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxjKSxjPXRoaXMuY2xvbmUoZSksYy5wcm9wPXQrImJveC1kaXJlY3Rpb24iLGMudmFsdWU9bCx0aGlzLm5lZWRDYXNjYWRlKGUpJiYoYy5yYXdzLmJlZm9yZT10aGlzLmNhbGNCZWZvcmUoaSxlLHQpKSxlLnBhcmVudC5pbnNlcnRCZWZvcmUoZSxjKX1vbGQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1pMCh0KSxpPT09MjAwOT9bdCsiYm94LW9yaWVudCIsdCsiYm94LWRpcmVjdGlvbiJdOnN1cGVyLm9sZChlLHQpfX07JHUubmFtZXM9WyJmbGV4LWRpcmVjdGlvbiIsImJveC1kaXJlY3Rpb24iLCJib3gtb3JpZW50Il07bjAuZXhwb3J0cz0kdX0pO3ZhciBvMD14KChyTCxhMCk9Pnt1KCk7dmFyIHpUPWooKSxMdT1jbGFzcyBleHRlbmRzIHpUe2NoZWNrKGUpe3JldHVybiBlLnZhbHVlPT09InBpeGVsYXRlZCJ9cHJlZml4ZWQoZSx0KXtyZXR1cm4gdD09PSItbXMtIj8iLW1zLWludGVycG9sYXRpb24tbW9kZSI6c3VwZXIucHJlZml4ZWQoZSx0KX1zZXQoZSx0KXtyZXR1cm4gdCE9PSItbXMtIj9zdXBlci5zZXQoZSx0KTooZS5wcm9wPSItbXMtaW50ZXJwb2xhdGlvbi1tb2RlIixlLnZhbHVlPSJuZWFyZXN0LW5laWdoYm9yIixlKX1ub3JtYWxpemUoKXtyZXR1cm4iaW1hZ2UtcmVuZGVyaW5nIn1wcm9jZXNzKGUsdCl7cmV0dXJuIHN1cGVyLnByb2Nlc3MoZSx0KX19O0x1Lm5hbWVzPVsiaW1hZ2UtcmVuZGVyaW5nIiwiaW50ZXJwb2xhdGlvbi1tb2RlIl07YTAuZXhwb3J0cz1MdX0pO3ZhciB1MD14KChpTCxsMCk9Pnt1KCk7dmFyIFVUPWooKSxWVD1fZSgpLE11PWNsYXNzIGV4dGVuZHMgVVR7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKGUsdCxpKTt0aGlzLnByZWZpeGVzJiYodGhpcy5wcmVmaXhlcz1WVC51bmlxKHRoaXMucHJlZml4ZXMubWFwKG49Pm49PT0iLW1zLSI/Ii13ZWJraXQtIjpuKSkpfX07TXUubmFtZXM9WyJiYWNrZHJvcC1maWx0ZXIiXTtsMC5leHBvcnRzPU11fSk7dmFyIGMwPXgoKG5MLGYwKT0+e3UoKTt2YXIgSFQ9aigpLFdUPV9lKCksTnU9Y2xhc3MgZXh0ZW5kcyBIVHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0LGkpO3RoaXMucHJlZml4ZXMmJih0aGlzLnByZWZpeGVzPVdULnVuaXEodGhpcy5wcmVmaXhlcy5tYXAobj0+bj09PSItbXMtIj8iLXdlYmtpdC0iOm4pKSl9Y2hlY2soZSl7cmV0dXJuIGUudmFsdWUudG9Mb3dlckNhc2UoKT09PSJ0ZXh0In19O051Lm5hbWVzPVsiYmFja2dyb3VuZC1jbGlwIl07ZjAuZXhwb3J0cz1OdX0pO3ZhciBkMD14KChzTCxwMCk9Pnt1KCk7dmFyIEdUPWooKSxRVD1bIm5vbmUiLCJ1bmRlcmxpbmUiLCJvdmVybGluZSIsImxpbmUtdGhyb3VnaCIsImJsaW5rIiwiaW5oZXJpdCIsImluaXRpYWwiLCJ1bnNldCJdLEJ1PWNsYXNzIGV4dGVuZHMgR1R7Y2hlY2soZSl7cmV0dXJuIGUudmFsdWUuc3BsaXQoL1xzKy8pLnNvbWUodD0+IVFULmluY2x1ZGVzKHQpKX19O0J1Lm5hbWVzPVsidGV4dC1kZWNvcmF0aW9uIl07cDAuZXhwb3J0cz1CdX0pO3ZhciBnMD14KChhTCxtMCk9Pnt1KCk7dmFyIGgwPVBlKCksWVQ9aigpLFJyPWNsYXNzIGV4dGVuZHMgWVR7cHJlZml4ZWQoZSx0KXtsZXQgaTtyZXR1cm5baSx0XT1oMCh0KSxpPT09MjAwOT90KyJib3gtcGFjayI6aT09PTIwMTI/dCsiZmxleC1wYWNrIjpzdXBlci5wcmVmaXhlZChlLHQpfW5vcm1hbGl6ZSgpe3JldHVybiJqdXN0aWZ5LWNvbnRlbnQifXNldChlLHQpe2xldCBpPWgwKHQpWzBdO2lmKGk9PT0yMDA5fHxpPT09MjAxMil7bGV0IG49UnIub2xkVmFsdWVzW2UudmFsdWVdfHxlLnZhbHVlO2lmKGUudmFsdWU9bixpIT09MjAwOXx8biE9PSJkaXN0cmlidXRlIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9ZWxzZSBpZihpPT09ImZpbmFsIilyZXR1cm4gc3VwZXIuc2V0KGUsdCl9fTtSci5uYW1lcz1bImp1c3RpZnktY29udGVudCIsImZsZXgtcGFjayIsImJveC1wYWNrIl07UnIub2xkVmFsdWVzPXsiZmxleC1lbmQiOiJlbmQiLCJmbGV4LXN0YXJ0Ijoic3RhcnQiLCJzcGFjZS1iZXR3ZWVuIjoianVzdGlmeSIsInNwYWNlLWFyb3VuZCI6ImRpc3RyaWJ1dGUifTttMC5leHBvcnRzPVJyfSk7dmFyIGIwPXgoKG9MLHkwKT0+e3UoKTt2YXIgS1Q9aigpLEZ1PWNsYXNzIGV4dGVuZHMgS1R7c2V0KGUsdCl7bGV0IGk9ZS52YWx1ZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09Ii13ZWJraXQtIiYmIWkuaW5jbHVkZXMoIiAiKSYmaSE9PSJjb250YWluIiYmaSE9PSJjb3ZlciImJihlLnZhbHVlPWUudmFsdWUrIiAiK2UudmFsdWUpLHN1cGVyLnNldChlLHQpfX07RnUubmFtZXM9WyJiYWNrZ3JvdW5kLXNpemUiXTt5MC5leHBvcnRzPUZ1fSk7dmFyIHYwPXgoKGxMLHcwKT0+e3UoKTt2YXIgWFQ9aigpLGp1PUJ0KCksenU9Y2xhc3MgZXh0ZW5kcyBYVHtpbnNlcnQoZSx0LGkpe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IG49anUucGFyc2UoZSksW3MsYV09anUudHJhbnNsYXRlKG4sMCwxKTtuWzBdJiZuWzBdLmluY2x1ZGVzKCJzcGFuIikmJihhPW5bMF0uam9pbigiIikucmVwbGFjZSgvXEQvZywiIikpLFtbZS5wcm9wLHNdLFtgJHtlLnByb3B9LXNwYW5gLGFdXS5mb3JFYWNoKChbbCxjXSk9PntqdS5pbnNlcnREZWNsKGUsbCxjKX0pfX07enUubmFtZXM9WyJncmlkLXJvdyIsImdyaWQtY29sdW1uIl07dzAuZXhwb3J0cz16dX0pO3ZhciBTMD14KCh1TCxrMCk9Pnt1KCk7dmFyIFpUPWooKSx7cHJlZml4VHJhY2tQcm9wOngwLHByZWZpeFRyYWNrVmFsdWU6SlQsYXV0b3BsYWNlR3JpZEl0ZW1zOmVSLGdldEdyaWRHYXA6dFIsaW5oZXJpdEdyaWRHYXA6clJ9PUJ0KCksaVI9b3UoKSxVdT1jbGFzcyBleHRlbmRzIFpUe3ByZWZpeGVkKGUsdCl7cmV0dXJuIHQ9PT0iLW1zLSI/eDAoe3Byb3A6ZSxwcmVmaXg6dH0pOnN1cGVyLnByZWZpeGVkKGUsdCl9bm9ybWFsaXplKGUpe3JldHVybiBlLnJlcGxhY2UoL15ncmlkLShyb3dzfGNvbHVtbnMpLywiZ3JpZC10ZW1wbGF0ZS0kMSIpfWluc2VydChlLHQsaSxuKXtpZih0IT09Ii1tcy0iKXJldHVybiBzdXBlci5pbnNlcnQoZSx0LGkpO2xldHtwYXJlbnQ6cyxwcm9wOmEsdmFsdWU6b309ZSxsPWEuaW5jbHVkZXMoInJvd3MiKSxjPWEuaW5jbHVkZXMoImNvbHVtbnMiKSxmPXMuc29tZShrPT5rLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZSJ8fGsucHJvcD09PSJncmlkLXRlbXBsYXRlLWFyZWFzIik7aWYoZiYmbClyZXR1cm4hMTtsZXQgZD1uZXcgaVIoe29wdGlvbnM6e319KSxwPWQuZ3JpZFN0YXR1cyhzLG4pLGg9dFIoZSk7aD1yUihlLGgpfHxoO2xldCBiPWw/aC5yb3c6aC5jb2x1bW47KHA9PT0ibm8tYXV0b3BsYWNlInx8cD09PSEwKSYmIWYmJihiPW51bGwpO2xldCB2PUpUKHt2YWx1ZTpvLGdhcDpifSk7ZS5jbG9uZUJlZm9yZSh7cHJvcDp4MCh7cHJvcDphLHByZWZpeDp0fSksdmFsdWU6dn0pO2xldCB5PXMubm9kZXMuZmluZChrPT5rLnByb3A9PT0iZ3JpZC1hdXRvLWZsb3ciKSx3PSJyb3ciO2lmKHkmJiFkLmRpc2FibGVkKHksbikmJih3PXkudmFsdWUudHJpbSgpKSxwPT09ImF1dG9wbGFjZSIpe2xldCBrPXMubm9kZXMuZmluZChFPT5FLnByb3A9PT0iZ3JpZC10ZW1wbGF0ZS1yb3dzIik7aWYoIWsmJmYpcmV0dXJuO2lmKCFrJiYhZil7ZS53YXJuKG4sIkF1dG9wbGFjZW1lbnQgZG9lcyBub3Qgd29yayB3aXRob3V0IGdyaWQtdGVtcGxhdGUtcm93cyBwcm9wZXJ0eSIpO3JldHVybn0hcy5ub2Rlcy5maW5kKEU9PkUucHJvcD09PSJncmlkLXRlbXBsYXRlLWNvbHVtbnMiKSYmIWYmJmUud2FybihuLCJBdXRvcGxhY2VtZW50IGRvZXMgbm90IHdvcmsgd2l0aG91dCBncmlkLXRlbXBsYXRlLWNvbHVtbnMgcHJvcGVydHkiKSxjJiYhZiYmZVIoZSxuLGgsdyl9fX07VXUubmFtZXM9WyJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLXJvd3MiLCJncmlkLWNvbHVtbnMiXTtrMC5leHBvcnRzPVV1fSk7dmFyIEMwPXgoKGZMLEEwKT0+e3UoKTt2YXIgblI9aigpLFZ1PWNsYXNzIGV4dGVuZHMgblJ7Y2hlY2soZSl7cmV0dXJuIWUudmFsdWUuaW5jbHVkZXMoImZsZXgtIikmJmUudmFsdWUhPT0iYmFzZWxpbmUifXByZWZpeGVkKGUsdCl7cmV0dXJuIHQrImdyaWQtY29sdW1uLWFsaWduIn1ub3JtYWxpemUoKXtyZXR1cm4ianVzdGlmeS1zZWxmIn19O1Z1Lm5hbWVzPVsiZ3JpZC1jb2x1bW4tYWxpZ24iXTtBMC5leHBvcnRzPVZ1fSk7dmFyIEUwPXgoKGNMLF8wKT0+e3UoKTt2YXIgc1I9aigpLEh1PWNsYXNzIGV4dGVuZHMgc1J7cHJlZml4ZWQoZSx0KXtyZXR1cm4gdCsic2Nyb2xsLWNoYWluaW5nIn1ub3JtYWxpemUoKXtyZXR1cm4ib3ZlcnNjcm9sbC1iZWhhdmlvciJ9c2V0KGUsdCl7cmV0dXJuIGUudmFsdWU9PT0iYXV0byI/ZS52YWx1ZT0iY2hhaW5lZCI6KGUudmFsdWU9PT0ibm9uZSJ8fGUudmFsdWU9PT0iY29udGFpbiIpJiYoZS52YWx1ZT0ibm9uZSIpLHN1cGVyLnNldChlLHQpfX07SHUubmFtZXM9WyJvdmVyc2Nyb2xsLWJlaGF2aW9yIiwic2Nyb2xsLWNoYWluaW5nIl07XzAuZXhwb3J0cz1IdX0pO3ZhciBSMD14KChwTCxUMCk9Pnt1KCk7dmFyIGFSPWooKSx7cGFyc2VHcmlkQXJlYXM6b1Isd2Fybk1pc3NlZEFyZWFzOmxSLHByZWZpeFRyYWNrUHJvcDp1UixwcmVmaXhUcmFja1ZhbHVlOk8wLGdldEdyaWRHYXA6ZlIsd2FybkdyaWRHYXA6Y1IsaW5oZXJpdEdyaWRHYXA6cFJ9PUJ0KCk7ZnVuY3Rpb24gZFIocil7cmV0dXJuIHIudHJpbSgpLnNsaWNlKDEsLTEpLnNwbGl0KC9bIiddXHMqWyInXT8vZyl9dmFyIFd1PWNsYXNzIGV4dGVuZHMgYVJ7aW5zZXJ0KGUsdCxpLG4pe2lmKHQhPT0iLW1zLSIpcmV0dXJuIHN1cGVyLmluc2VydChlLHQsaSk7bGV0IHM9ITEsYT0hMSxvPWUucGFyZW50LGw9ZlIoZSk7bD1wUihlLGwpfHxsLG8ud2Fsa0RlY2xzKC8tbXMtZ3JpZC1yb3dzLyxkPT5kLnJlbW92ZSgpKSxvLndhbGtEZWNscygvZ3JpZC10ZW1wbGF0ZS0ocm93c3xjb2x1bW5zKS8sZD0+e2lmKGQucHJvcD09PSJncmlkLXRlbXBsYXRlLXJvd3MiKXthPSEwO2xldHtwcm9wOnAsdmFsdWU6aH09ZDtkLmNsb25lQmVmb3JlKHtwcm9wOnVSKHtwcm9wOnAscHJlZml4OnR9KSx2YWx1ZTpPMCh7dmFsdWU6aCxnYXA6bC5yb3d9KX0pfWVsc2Ugcz0hMH0pO2xldCBjPWRSKGUudmFsdWUpO3MmJiFhJiZsLnJvdyYmYy5sZW5ndGg+MSYmZS5jbG9uZUJlZm9yZSh7cHJvcDoiLW1zLWdyaWQtcm93cyIsdmFsdWU6TzAoe3ZhbHVlOmByZXBlYXQoJHtjLmxlbmd0aH0sIGF1dG8pYCxnYXA6bC5yb3d9KSxyYXdzOnt9fSksY1Ioe2dhcDpsLGhhc0NvbHVtbnM6cyxkZWNsOmUscmVzdWx0Om59KTtsZXQgZj1vUih7cm93czpjLGdhcDpsfSk7cmV0dXJuIGxSKGYsZSxuKSxlfX07V3UubmFtZXM9WyJncmlkLXRlbXBsYXRlLWFyZWFzIl07VDAuZXhwb3J0cz1XdX0pO3ZhciBJMD14KChkTCxQMCk9Pnt1KCk7dmFyIGhSPWooKSxHdT1jbGFzcyBleHRlbmRzIGhSe3NldChlLHQpe3JldHVybiB0PT09Ii13ZWJraXQtIiYmKGUudmFsdWU9ZS52YWx1ZS5yZXBsYWNlKC9ccyoocmlnaHR8bGVmdClccyovaSwiIikpLHN1cGVyLnNldChlLHQpfX07R3UubmFtZXM9WyJ0ZXh0LWVtcGhhc2lzLXBvc2l0aW9uIl07UDAuZXhwb3J0cz1HdX0pO3ZhciBxMD14KChoTCxEMCk9Pnt1KCk7dmFyIG1SPWooKSxRdT1jbGFzcyBleHRlbmRzIG1Se3NldChlLHQpe3JldHVybiBlLnByb3A9PT0idGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rIiYmZS52YWx1ZT09PSJhdXRvIj8oZS5wcm9wPXQrInRleHQtZGVjb3JhdGlvbi1za2lwIixlLnZhbHVlPSJpbmsiLGUpOnN1cGVyLnNldChlLHQpfX07UXUubmFtZXM9WyJ0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsiLCJ0ZXh0LWRlY29yYXRpb24tc2tpcCJdO0QwLmV4cG9ydHM9UXV9KTt2YXIgRjA9eCgobUwsQjApPT57dSgpOyJ1c2Ugc3RyaWN0IjtCMC5leHBvcnRzPXt3cmFwOiQwLGxpbWl0OkwwLHZhbGlkYXRlOk0wLHRlc3Q6WXUsY3Vycnk6Z1IsbmFtZTpOMH07ZnVuY3Rpb24gJDAocixlLHQpe3ZhciBpPWUtcjtyZXR1cm4oKHQtciklaStpKSVpK3J9ZnVuY3Rpb24gTDAocixlLHQpe3JldHVybiBNYXRoLm1heChyLE1hdGgubWluKGUsdCkpfWZ1bmN0aW9uIE0wKHIsZSx0LGksbil7aWYoIVl1KHIsZSx0LGksbikpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBvdXRzaWRlIG9mIHJhbmdlIFsiK3IrIiwiK2UrIikiKTtyZXR1cm4gdH1mdW5jdGlvbiBZdShyLGUsdCxpLG4pe3JldHVybiEodDxyfHx0PmV8fG4mJnQ9PT1lfHxpJiZ0PT09cil9ZnVuY3Rpb24gTjAocixlLHQsaSl7cmV0dXJuKHQ/IigiOiJbIikrcisiLCIrZSsoaT8iKSI6Il0iKX1mdW5jdGlvbiBnUihyLGUsdCxpKXt2YXIgbj1OMC5iaW5kKG51bGwscixlLHQsaSk7cmV0dXJue3dyYXA6JDAuYmluZChudWxsLHIsZSksbGltaXQ6TDAuYmluZChudWxsLHIsZSksdmFsaWRhdGU6ZnVuY3Rpb24ocyl7cmV0dXJuIE0wKHIsZSxzLHQsaSl9LHRlc3Q6ZnVuY3Rpb24ocyl7cmV0dXJuIFl1KHIsZSxzLHQsaSl9LHRvU3RyaW5nOm4sbmFtZTpufX19KTt2YXIgVTA9eCgoZ0wsejApPT57dSgpO3ZhciBLdT1NcygpLHlSPUYwKCksYlI9eHIoKSx3Uj1IZSgpLHZSPV9lKCksajA9L3RvcHxsZWZ0fHJpZ2h0fGJvdHRvbS9naSx3dD1jbGFzcyBleHRlbmRzIHdSe3JlcGxhY2UoZSx0KXtsZXQgaT1LdShlKTtmb3IobGV0IG4gb2YgaS5ub2RlcylpZihuLnR5cGU9PT0iZnVuY3Rpb24iJiZuLnZhbHVlPT09dGhpcy5uYW1lKWlmKG4ubm9kZXM9dGhpcy5uZXdEaXJlY3Rpb24obi5ub2Rlcyksbi5ub2Rlcz10aGlzLm5vcm1hbGl6ZShuLm5vZGVzKSx0PT09Ii13ZWJraXQtIG9sZCIpe2lmKCF0aGlzLm9sZFdlYmtpdChuKSlyZXR1cm4hMX1lbHNlIG4ubm9kZXM9dGhpcy5jb252ZXJ0RGlyZWN0aW9uKG4ubm9kZXMpLG4udmFsdWU9dCtuLnZhbHVlO3JldHVybiBpLnRvU3RyaW5nKCl9cmVwbGFjZUZpcnN0KGUsLi4udCl7cmV0dXJuIHQubWFwKG49Pm49PT0iICI/e3R5cGU6InNwYWNlIix2YWx1ZTpufTp7dHlwZToid29yZCIsdmFsdWU6bn0pLmNvbmNhdChlLnNsaWNlKDEpKX1ub3JtYWxpemVVbml0KGUsdCl7cmV0dXJuYCR7cGFyc2VGbG9hdChlKS90KjM2MH1kZWdgfW5vcm1hbGl6ZShlKXtpZighZVswXSlyZXR1cm4gZTtpZigvLT9cZCsoLlxkKyk/Z3JhZC8udGVzdChlWzBdLnZhbHVlKSllWzBdLnZhbHVlPXRoaXMubm9ybWFsaXplVW5pdChlWzBdLnZhbHVlLDQwMCk7ZWxzZSBpZigvLT9cZCsoLlxkKyk/cmFkLy50ZXN0KGVbMF0udmFsdWUpKWVbMF0udmFsdWU9dGhpcy5ub3JtYWxpemVVbml0KGVbMF0udmFsdWUsMipNYXRoLlBJKTtlbHNlIGlmKC8tP1xkKyguXGQrKT90dXJuLy50ZXN0KGVbMF0udmFsdWUpKWVbMF0udmFsdWU9dGhpcy5ub3JtYWxpemVVbml0KGVbMF0udmFsdWUsMSk7ZWxzZSBpZihlWzBdLnZhbHVlLmluY2x1ZGVzKCJkZWciKSl7bGV0IHQ9cGFyc2VGbG9hdChlWzBdLnZhbHVlKTt0PXlSLndyYXAoMCwzNjAsdCksZVswXS52YWx1ZT1gJHt0fWRlZ2B9cmV0dXJuIGVbMF0udmFsdWU9PT0iMGRlZyI/ZT10aGlzLnJlcGxhY2VGaXJzdChlLCJ0byIsIiAiLCJ0b3AiKTplWzBdLnZhbHVlPT09IjkwZGVnIj9lPXRoaXMucmVwbGFjZUZpcnN0KGUsInRvIiwiICIsInJpZ2h0Iik6ZVswXS52YWx1ZT09PSIxODBkZWciP2U9dGhpcy5yZXBsYWNlRmlyc3QoZSwidG8iLCIgIiwiYm90dG9tIik6ZVswXS52YWx1ZT09PSIyNzBkZWciJiYoZT10aGlzLnJlcGxhY2VGaXJzdChlLCJ0byIsIiAiLCJsZWZ0IikpLGV9bmV3RGlyZWN0aW9uKGUpe2lmKGVbMF0udmFsdWU9PT0idG8ifHwoajAubGFzdEluZGV4PTAsIWowLnRlc3QoZVswXS52YWx1ZSkpKXJldHVybiBlO2UudW5zaGlmdCh7dHlwZToid29yZCIsdmFsdWU6InRvIn0se3R5cGU6InNwYWNlIix2YWx1ZToiICJ9KTtmb3IobGV0IHQ9Mjt0PGUubGVuZ3RoJiZlW3RdLnR5cGUhPT0iZGl2Ijt0KyspZVt0XS50eXBlPT09IndvcmQiJiYoZVt0XS52YWx1ZT10aGlzLnJldmVydERpcmVjdGlvbihlW3RdLnZhbHVlKSk7cmV0dXJuIGV9aXNSYWRpYWwoZSl7bGV0IHQ9ImJlZm9yZSI7Zm9yKGxldCBpIG9mIGUpaWYodD09PSJiZWZvcmUiJiZpLnR5cGU9PT0ic3BhY2UiKXQ9ImF0IjtlbHNlIGlmKHQ9PT0iYXQiJiZpLnZhbHVlPT09ImF0Iil0PSJhZnRlciI7ZWxzZXtpZih0PT09ImFmdGVyIiYmaS50eXBlPT09InNwYWNlIilyZXR1cm4hMDtpZihpLnR5cGU9PT0iZGl2IilicmVhazt0PSJiZWZvcmUifXJldHVybiExfWNvbnZlcnREaXJlY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoPjAmJihlWzBdLnZhbHVlPT09InRvIj90aGlzLmZpeERpcmVjdGlvbihlKTplWzBdLnZhbHVlLmluY2x1ZGVzKCJkZWciKT90aGlzLmZpeEFuZ2xlKGUpOnRoaXMuaXNSYWRpYWwoZSkmJnRoaXMuZml4UmFkaWFsKGUpKSxlfWZpeERpcmVjdGlvbihlKXtlLnNwbGljZSgwLDIpO2ZvcihsZXQgdCBvZiBlKXtpZih0LnR5cGU9PT0iZGl2IilicmVhazt0LnR5cGU9PT0id29yZCImJih0LnZhbHVlPXRoaXMucmV2ZXJ0RGlyZWN0aW9uKHQudmFsdWUpKX19Zml4QW5nbGUoZSl7bGV0IHQ9ZVswXS52YWx1ZTt0PXBhcnNlRmxvYXQodCksdD1NYXRoLmFicyg0NTAtdCklMzYwLHQ9dGhpcy5yb3VuZEZsb2F0KHQsMyksZVswXS52YWx1ZT1gJHt0fWRlZ2B9Zml4UmFkaWFsKGUpe2xldCB0PVtdLGk9W10sbixzLGEsbyxsO2ZvcihvPTA7bzxlLmxlbmd0aC0yO28rKylpZihuPWVbb10scz1lW28rMV0sYT1lW28rMl0sbi50eXBlPT09InNwYWNlIiYmcy52YWx1ZT09PSJhdCImJmEudHlwZT09PSJzcGFjZSIpe2w9byszO2JyZWFrfWVsc2UgdC5wdXNoKG4pO2xldCBjO2ZvcihvPWw7bzxlLmxlbmd0aDtvKyspaWYoZVtvXS50eXBlPT09ImRpdiIpe2M9ZVtvXTticmVha31lbHNlIGkucHVzaChlW29dKTtlLnNwbGljZSgwLG8sLi4uaSxjLC4uLnQpfXJldmVydERpcmVjdGlvbihlKXtyZXR1cm4gd3QuZGlyZWN0aW9uc1tlLnRvTG93ZXJDYXNlKCldfHxlfXJvdW5kRmxvYXQoZSx0KXtyZXR1cm4gcGFyc2VGbG9hdChlLnRvRml4ZWQodCkpfW9sZFdlYmtpdChlKXtsZXR7bm9kZXM6dH09ZSxpPUt1LnN0cmluZ2lmeShlLm5vZGVzKTtpZih0aGlzLm5hbWUhPT0ibGluZWFyLWdyYWRpZW50Inx8dFswXSYmdFswXS52YWx1ZS5pbmNsdWRlcygiZGVnIil8fGkuaW5jbHVkZXMoInB4Iil8fGkuaW5jbHVkZXMoIi1jb3JuZXIiKXx8aS5pbmNsdWRlcygiLXNpZGUiKSlyZXR1cm4hMTtsZXQgbj1bW11dO2ZvcihsZXQgcyBvZiB0KW5bbi5sZW5ndGgtMV0ucHVzaChzKSxzLnR5cGU9PT0iZGl2IiYmcy52YWx1ZT09PSIsIiYmbi5wdXNoKFtdKTt0aGlzLm9sZERpcmVjdGlvbihuKSx0aGlzLmNvbG9yU3RvcHMobiksZS5ub2Rlcz1bXTtmb3IobGV0IHMgb2YgbillLm5vZGVzPWUubm9kZXMuY29uY2F0KHMpO3JldHVybiBlLm5vZGVzLnVuc2hpZnQoe3R5cGU6IndvcmQiLHZhbHVlOiJsaW5lYXIifSx0aGlzLmNsb25lRGl2KGUubm9kZXMpKSxlLnZhbHVlPSItd2Via2l0LWdyYWRpZW50IiwhMH1vbGREaXJlY3Rpb24oZSl7bGV0IHQ9dGhpcy5jbG9uZURpdihlWzBdKTtpZihlWzBdWzBdLnZhbHVlIT09InRvIilyZXR1cm4gZS51bnNoaWZ0KFt7dHlwZToid29yZCIsdmFsdWU6d3Qub2xkRGlyZWN0aW9ucy5ib3R0b219LHRdKTt7bGV0IGk9W107Zm9yKGxldCBzIG9mIGVbMF0uc2xpY2UoMikpcy50eXBlPT09IndvcmQiJiZpLnB1c2gocy52YWx1ZS50b0xvd2VyQ2FzZSgpKTtpPWkuam9pbigiICIpO2xldCBuPXd0Lm9sZERpcmVjdGlvbnNbaV18fGk7cmV0dXJuIGVbMF09W3t0eXBlOiJ3b3JkIix2YWx1ZTpufSx0XSxlWzBdfX1jbG9uZURpdihlKXtmb3IobGV0IHQgb2YgZSlpZih0LnR5cGU9PT0iZGl2IiYmdC52YWx1ZT09PSIsIilyZXR1cm4gdDtyZXR1cm57dHlwZToiZGl2Iix2YWx1ZToiLCIsYWZ0ZXI6IiAifX1jb2xvclN0b3BzKGUpe2xldCB0PVtdO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbixzPWVbaV0sYTtpZihpPT09MCljb250aW51ZTtsZXQgbz1LdS5zdHJpbmdpZnkoc1swXSk7c1sxXSYmc1sxXS50eXBlPT09IndvcmQiP249c1sxXS52YWx1ZTpzWzJdJiZzWzJdLnR5cGU9PT0id29yZCImJihuPXNbMl0udmFsdWUpO2xldCBsO2k9PT0xJiYoIW58fG49PT0iMCUiKT9sPWBmcm9tKCR7b30pYDppPT09ZS5sZW5ndGgtMSYmKCFufHxuPT09IjEwMCUiKT9sPWB0bygke299KWA6bj9sPWBjb2xvci1zdG9wKCR7bn0sICR7b30pYDpsPWBjb2xvci1zdG9wKCR7b30pYDtsZXQgYz1zW3MubGVuZ3RoLTFdO2VbaV09W3t0eXBlOiJ3b3JkIix2YWx1ZTpsfV0sYy50eXBlPT09ImRpdiImJmMudmFsdWU9PT0iLCImJihhPWVbaV0ucHVzaChjKSksdC5wdXNoKGEpfXJldHVybiB0fW9sZChlKXtpZihlPT09Ii13ZWJraXQtIil7bGV0IHQ9dGhpcy5uYW1lPT09ImxpbmVhci1ncmFkaWVudCI/ImxpbmVhciI6InJhZGlhbCIsaT0iLWdyYWRpZW50IixuPXZSLnJlZ2V4cChgLXdlYmtpdC0oJHt0fS1ncmFkaWVudHxncmFkaWVudFxcKFxccyoke3R9KWAsITEpO3JldHVybiBuZXcgYlIodGhpcy5uYW1lLGUrdGhpcy5uYW1lLGksbil9ZWxzZSByZXR1cm4gc3VwZXIub2xkKGUpfWFkZChlLHQpe2xldCBpPWUucHJvcDtpZihpLmluY2x1ZGVzKCJtYXNrIikpe2lmKHQ9PT0iLXdlYmtpdC0ifHx0PT09Ii13ZWJraXQtIG9sZCIpcmV0dXJuIHN1cGVyLmFkZChlLHQpfWVsc2UgaWYoaT09PSJsaXN0LXN0eWxlInx8aT09PSJsaXN0LXN0eWxlLWltYWdlInx8aT09PSJjb250ZW50Iil7aWYodD09PSItd2Via2l0LSJ8fHQ9PT0iLXdlYmtpdC0gb2xkIilyZXR1cm4gc3VwZXIuYWRkKGUsdCl9ZWxzZSByZXR1cm4gc3VwZXIuYWRkKGUsdCl9fTt3dC5uYW1lcz1bImxpbmVhci1ncmFkaWVudCIsInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLCJyYWRpYWwtZ3JhZGllbnQiLCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50Il07d3QuZGlyZWN0aW9ucz17dG9wOiJib3R0b20iLGxlZnQ6InJpZ2h0Iixib3R0b206InRvcCIscmlnaHQ6ImxlZnQifTt3dC5vbGREaXJlY3Rpb25zPXt0b3A6ImxlZnQgYm90dG9tLCBsZWZ0IHRvcCIsbGVmdDoicmlnaHQgdG9wLCBsZWZ0IHRvcCIsYm90dG9tOiJsZWZ0IHRvcCwgbGVmdCBib3R0b20iLHJpZ2h0OiJsZWZ0IHRvcCwgcmlnaHQgdG9wIiwidG9wIHJpZ2h0IjoibGVmdCBib3R0b20sIHJpZ2h0IHRvcCIsInRvcCBsZWZ0IjoicmlnaHQgYm90dG9tLCBsZWZ0IHRvcCIsInJpZ2h0IHRvcCI6ImxlZnQgYm90dG9tLCByaWdodCB0b3AiLCJyaWdodCBib3R0b20iOiJsZWZ0IHRvcCwgcmlnaHQgYm90dG9tIiwiYm90dG9tIHJpZ2h0IjoibGVmdCB0b3AsIHJpZ2h0IGJvdHRvbSIsImJvdHRvbSBsZWZ0IjoicmlnaHQgdG9wLCBsZWZ0IGJvdHRvbSIsImxlZnQgdG9wIjoicmlnaHQgYm90dG9tLCBsZWZ0IHRvcCIsImxlZnQgYm90dG9tIjoicmlnaHQgdG9wLCBsZWZ0IGJvdHRvbSJ9O3owLmV4cG9ydHM9d3R9KTt2YXIgVzA9eCgoeUwsSDApPT57dSgpO3ZhciB4Uj14cigpLGtSPUhlKCk7ZnVuY3Rpb24gVjAocil7cmV0dXJuIG5ldyBSZWdFeHAoYChefFtcXHMsKF0pKCR7cn0oJHxbXFxzKSxdKSlgLCJnaSIpfXZhciBYdT1jbGFzcyBleHRlbmRzIGtSe3JlZ2V4cCgpe3JldHVybiB0aGlzLnJlZ2V4cENhY2hlfHwodGhpcy5yZWdleHBDYWNoZT1WMCh0aGlzLm5hbWUpKSx0aGlzLnJlZ2V4cENhY2hlfWlzU3RyZXRjaCgpe3JldHVybiB0aGlzLm5hbWU9PT0ic3RyZXRjaCJ8fHRoaXMubmFtZT09PSJmaWxsInx8dGhpcy5uYW1lPT09ImZpbGwtYXZhaWxhYmxlIn1yZXBsYWNlKGUsdCl7cmV0dXJuIHQ9PT0iLW1vei0iJiZ0aGlzLmlzU3RyZXRjaCgpP2UucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCIkMS1tb3otYXZhaWxhYmxlJDMiKTp0PT09Ii13ZWJraXQtIiYmdGhpcy5pc1N0cmV0Y2goKT9lLnJlcGxhY2UodGhpcy5yZWdleHAoKSwiJDEtd2Via2l0LWZpbGwtYXZhaWxhYmxlJDMiKTpzdXBlci5yZXBsYWNlKGUsdCl9b2xkKGUpe2xldCB0PWUrdGhpcy5uYW1lO3JldHVybiB0aGlzLmlzU3RyZXRjaCgpJiYoZT09PSItbW96LSI/dD0iLW1vei1hdmFpbGFibGUiOmU9PT0iLXdlYmtpdC0iJiYodD0iLXdlYmtpdC1maWxsLWF2YWlsYWJsZSIpKSxuZXcgeFIodGhpcy5uYW1lLHQsdCxWMCh0KSl9YWRkKGUsdCl7aWYoIShlLnByb3AuaW5jbHVkZXMoImdyaWQiKSYmdCE9PSItd2Via2l0LSIpKXJldHVybiBzdXBlci5hZGQoZSx0KX19O1h1Lm5hbWVzPVsibWF4LWNvbnRlbnQiLCJtaW4tY29udGVudCIsImZpdC1jb250ZW50IiwiZmlsbCIsImZpbGwtYXZhaWxhYmxlIiwic3RyZXRjaCJdO0gwLmV4cG9ydHM9WHV9KTt2YXIgWTA9eCgoYkwsUTApPT57dSgpO3ZhciBHMD14cigpLFNSPUhlKCksWnU9Y2xhc3MgZXh0ZW5kcyBTUntyZXBsYWNlKGUsdCl7cmV0dXJuIHQ9PT0iLXdlYmtpdC0iP2UucmVwbGFjZSh0aGlzLnJlZ2V4cCgpLCIkMS13ZWJraXQtb3B0aW1pemUtY29udHJhc3QiKTp0PT09Ii1tb3otIj9lLnJlcGxhY2UodGhpcy5yZWdleHAoKSwiJDEtbW96LWNyaXNwLWVkZ2VzIik6c3VwZXIucmVwbGFjZShlLHQpfW9sZChlKXtyZXR1cm4gZT09PSItd2Via2l0LSI/bmV3IEcwKHRoaXMubmFtZSwiLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdCIpOmU9PT0iLW1vei0iP25ldyBHMCh0aGlzLm5hbWUsIi1tb3otY3Jpc3AtZWRnZXMiKTpzdXBlci5vbGQoZSl9fTtadS5uYW1lcz1bInBpeGVsYXRlZCJdO1EwLmV4cG9ydHM9WnV9KTt2YXIgWDA9eCgod0wsSzApPT57dSgpO3ZhciBBUj1IZSgpLEp1PWNsYXNzIGV4dGVuZHMgQVJ7cmVwbGFjZShlLHQpe2xldCBpPXN1cGVyLnJlcGxhY2UoZSx0KTtyZXR1cm4gdD09PSItd2Via2l0LSImJihpPWkucmVwbGFjZSgvKCJbXiJdKyJ8J1teJ10rJykoXHMrXGQrXHcpL2dpLCJ1cmwoJDEpJDIiKSksaX19O0p1Lm5hbWVzPVsiaW1hZ2Utc2V0Il07SzAuZXhwb3J0cz1KdX0pO3ZhciBKMD14KCh2TCxaMCk9Pnt1KCk7dmFyIENSPSRlKCkubGlzdCxfUj1IZSgpLGVmPWNsYXNzIGV4dGVuZHMgX1J7cmVwbGFjZShlLHQpe3JldHVybiBDUi5zcGFjZShlKS5tYXAoaT0+e2lmKGkuc2xpY2UoMCwrdGhpcy5uYW1lLmxlbmd0aCsxKSE9PXRoaXMubmFtZSsiKCIpcmV0dXJuIGk7bGV0IG49aS5sYXN0SW5kZXhPZigiKSIpLHM9aS5zbGljZShuKzEpLGE9aS5zbGljZSh0aGlzLm5hbWUubGVuZ3RoKzEsbik7aWYodD09PSItd2Via2l0LSIpe2xldCBvPWEubWF0Y2goL1xkKi4/XGQrJT8vKTtvPyhhPWEuc2xpY2Uob1swXS5sZW5ndGgpLnRyaW0oKSxhKz1gLCAke29bMF19YCk6YSs9IiwgMC41In1yZXR1cm4gdCt0aGlzLm5hbWUrIigiK2ErIikiK3N9KS5qb2luKCIgIil9fTtlZi5uYW1lcz1bImNyb3NzLWZhZGUiXTtaMC5leHBvcnRzPWVmfSk7dmFyIHR2PXgoKHhMLGV2KT0+e3UoKTt2YXIgRVI9UGUoKSxPUj14cigpLFRSPUhlKCksdGY9Y2xhc3MgZXh0ZW5kcyBUUntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCk7ZT09PSJkaXNwbGF5LWZsZXgiJiYodGhpcy5uYW1lPSJmbGV4Iil9Y2hlY2soZSl7cmV0dXJuIGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZT09PXRoaXMubmFtZX1wcmVmaXhlZChlKXtsZXQgdCxpO3JldHVyblt0LGVdPUVSKGUpLHQ9PT0yMDA5P3RoaXMubmFtZT09PSJmbGV4Ij9pPSJib3giOmk9ImlubGluZS1ib3giOnQ9PT0yMDEyP3RoaXMubmFtZT09PSJmbGV4Ij9pPSJmbGV4Ym94IjppPSJpbmxpbmUtZmxleGJveCI6dD09PSJmaW5hbCImJihpPXRoaXMubmFtZSksZStpfXJlcGxhY2UoZSx0KXtyZXR1cm4gdGhpcy5wcmVmaXhlZCh0KX1vbGQoZSl7bGV0IHQ9dGhpcy5wcmVmaXhlZChlKTtpZighIXQpcmV0dXJuIG5ldyBPUih0aGlzLm5hbWUsdCl9fTt0Zi5uYW1lcz1bImRpc3BsYXktZmxleCIsImlubGluZS1mbGV4Il07ZXYuZXhwb3J0cz10Zn0pO3ZhciBpdj14KChrTCxydik9Pnt1KCk7dmFyIFJSPUhlKCkscmY9Y2xhc3MgZXh0ZW5kcyBSUntjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCk7ZT09PSJkaXNwbGF5LWdyaWQiJiYodGhpcy5uYW1lPSJncmlkIil9Y2hlY2soZSl7cmV0dXJuIGUucHJvcD09PSJkaXNwbGF5IiYmZS52YWx1ZT09PXRoaXMubmFtZX19O3JmLm5hbWVzPVsiZGlzcGxheS1ncmlkIiwiaW5saW5lLWdyaWQiXTtydi5leHBvcnRzPXJmfSk7dmFyIHN2PXgoKFNMLG52KT0+e3UoKTt2YXIgUFI9SGUoKSxuZj1jbGFzcyBleHRlbmRzIFBSe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0KTtlPT09ImZpbHRlci1mdW5jdGlvbiImJih0aGlzLm5hbWU9ImZpbHRlciIpfX07bmYubmFtZXM9WyJmaWx0ZXIiLCJmaWx0ZXItZnVuY3Rpb24iXTtudi5leHBvcnRzPW5mfSk7dmFyIHV2PXgoKEFMLGx2KT0+e3UoKTt2YXIgYXY9TmkoKSx6PWooKSxvdj16eSgpLElSPWFiKCksRFI9b3UoKSxxUj1DYigpLHNmPU10KCksUHI9a3IoKSwkUj1EYigpLHV0PUhlKCksSXI9X2UoKSxMUj0kYigpLE1SPU1iKCksTlI9QmIoKSxCUj1qYigpLEZSPVdiKCksalI9WWIoKSx6Uj1YYigpLFVSPUpiKCksVlI9dHcoKSxIUj1pdygpLFdSPXN3KCksR1I9b3coKSxRUj11dygpLFlSPWN3KCksS1I9ZHcoKSxYUj1ndygpLFpSPWJ3KCksSlI9eHcoKSxlNT1TdygpLHQ1PUN3KCkscjU9T3coKSxpNT1SdygpLG41PUR3KCksczU9JHcoKSxhNT1NdygpLG81PUJ3KCksbDU9ancoKSx1NT1WdygpLGY1PVd3KCksYzU9UXcoKSxwNT1LdygpLGQ1PVp3KCksaDU9ZTAoKSxtNT1yMCgpLGc1PXMwKCkseTU9bzAoKSxiNT11MCgpLHc1PWMwKCksdjU9ZDAoKSx4NT1nMCgpLGs1PWIwKCksUzU9djAoKSxBNT1TMCgpLEM1PUMwKCksXzU9RTAoKSxFNT1SMCgpLE81PUkwKCksVDU9cTAoKSxSNT1VMCgpLFA1PVcwKCksSTU9WTAoKSxENT1YMCgpLHE1PUowKCksJDU9dHYoKSxMNT1pdigpLE01PXN2KCk7UHIuaGFjayhMUik7UHIuaGFjayhNUik7UHIuaGFjayhOUik7UHIuaGFjayhCUik7ei5oYWNrKEZSKTt6LmhhY2soalIpO3ouaGFjayh6Uik7ei5oYWNrKFVSKTt6LmhhY2soVlIpO3ouaGFjayhIUik7ei5oYWNrKFdSKTt6LmhhY2soR1IpO3ouaGFjayhRUik7ei5oYWNrKFlSKTt6LmhhY2soS1IpO3ouaGFjayhYUik7ei5oYWNrKFpSKTt6LmhhY2soSlIpO3ouaGFjayhlNSk7ei5oYWNrKHQ1KTt6LmhhY2socjUpO3ouaGFjayhpNSk7ei5oYWNrKG41KTt6LmhhY2soczUpO3ouaGFjayhhNSk7ei5oYWNrKG81KTt6LmhhY2sobDUpO3ouaGFjayh1NSk7ei5oYWNrKGY1KTt6LmhhY2soYzUpO3ouaGFjayhwNSk7ei5oYWNrKGQ1KTt6LmhhY2soaDUpO3ouaGFjayhtNSk7ei5oYWNrKGc1KTt6LmhhY2soeTUpO3ouaGFjayhiNSk7ei5oYWNrKHc1KTt6LmhhY2sodjUpO3ouaGFjayh4NSk7ei5oYWNrKGs1KTt6LmhhY2soUzUpO3ouaGFjayhBNSk7ei5oYWNrKEM1KTt6LmhhY2soXzUpO3ouaGFjayhFNSk7ei5oYWNrKE81KTt6LmhhY2soVDUpO3V0LmhhY2soUjUpO3V0LmhhY2soUDUpO3V0LmhhY2soSTUpO3V0LmhhY2soRDUpO3V0LmhhY2socTUpO3V0LmhhY2soJDUpO3V0LmhhY2soTDUpO3V0LmhhY2soTTUpO3ZhciBhZj1uZXcgTWFwLEZpPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxpPXt9KXt0aGlzLmRhdGE9ZSx0aGlzLmJyb3dzZXJzPXQsdGhpcy5vcHRpb25zPWksW3RoaXMuYWRkLHRoaXMucmVtb3ZlXT10aGlzLnByZXByb2Nlc3ModGhpcy5zZWxlY3QodGhpcy5kYXRhKSksdGhpcy50cmFuc2l0aW9uPW5ldyBJUih0aGlzKSx0aGlzLnByb2Nlc3Nvcj1uZXcgRFIodGhpcyl9Y2xlYW5lcigpe2lmKHRoaXMuY2xlYW5lckNhY2hlKXJldHVybiB0aGlzLmNsZWFuZXJDYWNoZTtpZih0aGlzLmJyb3dzZXJzLnNlbGVjdGVkLmxlbmd0aCl7bGV0IGU9bmV3IHNmKHRoaXMuYnJvd3NlcnMuZGF0YSxbXSk7dGhpcy5jbGVhbmVyQ2FjaGU9bmV3IEZpKHRoaXMuZGF0YSxlLHRoaXMub3B0aW9ucyl9ZWxzZSByZXR1cm4gdGhpcztyZXR1cm4gdGhpcy5jbGVhbmVyQ2FjaGV9c2VsZWN0KGUpe2xldCB0PXthZGQ6e30scmVtb3ZlOnt9fTtmb3IobGV0IGkgaW4gZSl7bGV0IG49ZVtpXSxzPW4uYnJvd3NlcnMubWFwKGw9PntsZXQgYz1sLnNwbGl0KCIgIik7cmV0dXJue2Jyb3dzZXI6YCR7Y1swXX0gJHtjWzFdfWAsbm90ZTpjWzJdfX0pLGE9cy5maWx0ZXIobD0+bC5ub3RlKS5tYXAobD0+YCR7dGhpcy5icm93c2Vycy5wcmVmaXgobC5icm93c2VyKX0gJHtsLm5vdGV9YCk7YT1Jci51bmlxKGEpLHM9cy5maWx0ZXIobD0+dGhpcy5icm93c2Vycy5pc1NlbGVjdGVkKGwuYnJvd3NlcikpLm1hcChsPT57bGV0IGM9dGhpcy5icm93c2Vycy5wcmVmaXgobC5icm93c2VyKTtyZXR1cm4gbC5ub3RlP2Ake2N9ICR7bC5ub3RlfWA6Y30pLHM9dGhpcy5zb3J0KElyLnVuaXEocykpLHRoaXMub3B0aW9ucy5mbGV4Ym94PT09Im5vLTIwMDkiJiYocz1zLmZpbHRlcihsPT4hbC5pbmNsdWRlcygiMjAwOSIpKSk7bGV0IG89bi5icm93c2Vycy5tYXAobD0+dGhpcy5icm93c2Vycy5wcmVmaXgobCkpO24ubWlzdGFrZXMmJihvPW8uY29uY2F0KG4ubWlzdGFrZXMpKSxvPW8uY29uY2F0KGEpLG89SXIudW5pcShvKSxzLmxlbmd0aD8odC5hZGRbaV09cyxzLmxlbmd0aDxvLmxlbmd0aCYmKHQucmVtb3ZlW2ldPW8uZmlsdGVyKGw9PiFzLmluY2x1ZGVzKGwpKSkpOnQucmVtb3ZlW2ldPW99cmV0dXJuIHR9c29ydChlKXtyZXR1cm4gZS5zb3J0KCh0LGkpPT57bGV0IG49SXIucmVtb3ZlTm90ZSh0KS5sZW5ndGgscz1Jci5yZW1vdmVOb3RlKGkpLmxlbmd0aDtyZXR1cm4gbj09PXM/aS5sZW5ndGgtdC5sZW5ndGg6cy1ufSl9cHJlcHJvY2VzcyhlKXtsZXQgdD17c2VsZWN0b3JzOltdLCJAc3VwcG9ydHMiOm5ldyBxUihGaSx0aGlzKX07Zm9yKGxldCBuIGluIGUuYWRkKXtsZXQgcz1lLmFkZFtuXTtpZihuPT09IkBrZXlmcmFtZXMifHxuPT09IkB2aWV3cG9ydCIpdFtuXT1uZXcgJFIobixzLHRoaXMpO2Vsc2UgaWYobj09PSJAcmVzb2x1dGlvbiIpdFtuXT1uZXcgb3YobixzLHRoaXMpO2Vsc2UgaWYodGhpcy5kYXRhW25dLnNlbGVjdG9yKXQuc2VsZWN0b3JzLnB1c2goUHIubG9hZChuLHMsdGhpcykpO2Vsc2V7bGV0IGE9dGhpcy5kYXRhW25dLnByb3BzO2lmKGEpe2xldCBvPXV0LmxvYWQobixzLHRoaXMpO2ZvcihsZXQgbCBvZiBhKXRbbF18fCh0W2xdPXt2YWx1ZXM6W119KSx0W2xdLnZhbHVlcy5wdXNoKG8pfWVsc2V7bGV0IG89dFtuXSYmdFtuXS52YWx1ZXN8fFtdO3Rbbl09ei5sb2FkKG4scyx0aGlzKSx0W25dLnZhbHVlcz1vfX19bGV0IGk9e3NlbGVjdG9yczpbXX07Zm9yKGxldCBuIGluIGUucmVtb3ZlKXtsZXQgcz1lLnJlbW92ZVtuXTtpZih0aGlzLmRhdGFbbl0uc2VsZWN0b3Ipe2xldCBhPVByLmxvYWQobixzKTtmb3IobGV0IG8gb2YgcylpLnNlbGVjdG9ycy5wdXNoKGEub2xkKG8pKX1lbHNlIGlmKG49PT0iQGtleWZyYW1lcyJ8fG49PT0iQHZpZXdwb3J0Iilmb3IobGV0IGEgb2Ygcyl7bGV0IG89YEAke2F9JHtuLnNsaWNlKDEpfWA7aVtvXT17cmVtb3ZlOiEwfX1lbHNlIGlmKG49PT0iQHJlc29sdXRpb24iKWlbbl09bmV3IG92KG4scyx0aGlzKTtlbHNle2xldCBhPXRoaXMuZGF0YVtuXS5wcm9wcztpZihhKXtsZXQgbz11dC5sb2FkKG4sW10sdGhpcyk7Zm9yKGxldCBsIG9mIHMpe2xldCBjPW8ub2xkKGwpO2lmKGMpZm9yKGxldCBmIG9mIGEpaVtmXXx8KGlbZl09e30pLGlbZl0udmFsdWVzfHwoaVtmXS52YWx1ZXM9W10pLGlbZl0udmFsdWVzLnB1c2goYyl9fWVsc2UgZm9yKGxldCBvIG9mIHMpe2xldCBsPXRoaXMuZGVjbChuKS5vbGQobixvKTtpZihuPT09ImFsaWduLXNlbGYiKXtsZXQgYz10W25dJiZ0W25dLnByZWZpeGVzO2lmKGMpe2lmKG89PT0iLXdlYmtpdC0gMjAwOSImJmMuaW5jbHVkZXMoIi13ZWJraXQtIikpY29udGludWU7aWYobz09PSItd2Via2l0LSImJmMuaW5jbHVkZXMoIi13ZWJraXQtIDIwMDkiKSljb250aW51ZX19Zm9yKGxldCBjIG9mIGwpaVtjXXx8KGlbY109e30pLGlbY10ucmVtb3ZlPSEwfX19cmV0dXJuW3QsaV19ZGVjbChlKXtyZXR1cm4gYWYuaGFzKGUpfHxhZi5zZXQoZSx6LmxvYWQoZSkpLGFmLmdldChlKX11bnByZWZpeGVkKGUpe2xldCB0PXRoaXMubm9ybWFsaXplKGF2LnVucHJlZml4ZWQoZSkpO3JldHVybiB0PT09ImZsZXgtZGlyZWN0aW9uIiYmKHQ9ImZsZXgtZmxvdyIpLHR9bm9ybWFsaXplKGUpe3JldHVybiB0aGlzLmRlY2woZSkubm9ybWFsaXplKGUpfXByZWZpeGVkKGUsdCl7cmV0dXJuIGU9YXYudW5wcmVmaXhlZChlKSx0aGlzLmRlY2woZSkucHJlZml4ZWQoZSx0KX12YWx1ZXMoZSx0KXtsZXQgaT10aGlzW2VdLG49aVsiKiJdJiZpWyIqIl0udmFsdWVzLHM9aVt0XSYmaVt0XS52YWx1ZXM7cmV0dXJuIG4mJnM/SXIudW5pcShuLmNvbmNhdChzKSk6bnx8c3x8W119Z3JvdXAoZSl7bGV0IHQ9ZS5wYXJlbnQsaT10LmluZGV4KGUpLHtsZW5ndGg6bn09dC5ub2RlcyxzPXRoaXMudW5wcmVmaXhlZChlLnByb3ApLGE9KG8sbCk9Pntmb3IoaSs9bztpPj0wJiZpPG47KXtsZXQgYz10Lm5vZGVzW2ldO2lmKGMudHlwZT09PSJkZWNsIil7aWYobz09PS0xJiZjLnByb3A9PT1zJiYhc2Yud2l0aFByZWZpeChjLnZhbHVlKXx8dGhpcy51bnByZWZpeGVkKGMucHJvcCkhPT1zKWJyZWFrO2lmKGwoYyk9PT0hMClyZXR1cm4hMDtpZihvPT09MSYmYy5wcm9wPT09cyYmIXNmLndpdGhQcmVmaXgoYy52YWx1ZSkpYnJlYWt9aSs9b31yZXR1cm4hMX07cmV0dXJue3VwKG8pe3JldHVybiBhKC0xLG8pfSxkb3duKG8pe3JldHVybiBhKDEsbyl9fX19O2x2LmV4cG9ydHM9Rml9KTt2YXIgY3Y9eCgoQ0wsZnYpPT57dSgpO2Z2LmV4cG9ydHM9eyJiYWNrZHJvcC1maWx0ZXIiOntmZWF0dXJlOiJjc3MtYmFja2Ryb3AtZmlsdGVyIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSIsInNhZmFyaSAxNi41Il19LGVsZW1lbnQ6e3Byb3BzOlsiYmFja2dyb3VuZCIsImJhY2tncm91bmQtaW1hZ2UiLCJib3JkZXItaW1hZ2UiLCJtYXNrIiwibGlzdC1zdHlsZSIsImxpc3Qtc3R5bGUtaW1hZ2UiLCJjb250ZW50IiwibWFzay1pbWFnZSJdLGZlYXR1cmU6ImNzcy1lbGVtZW50LWZ1bmN0aW9uIixicm93c2VyczpbImZpcmVmb3ggMTE0Il19LCJ1c2VyLXNlbGVjdCI6e21pc3Rha2VzOlsiLWtodG1sLSJdLGZlYXR1cmU6InVzZXItc2VsZWN0LW5vbmUiLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Iiwic2FmYXJpIDE2LjUiXX0sImJhY2tncm91bmQtY2xpcCI6e2ZlYXR1cmU6ImJhY2tncm91bmQtY2xpcC10ZXh0Iixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSxoeXBoZW5zOntmZWF0dXJlOiJjc3MtaHlwaGVucyIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiLCJzYWZhcmkgMTYuNSJdfSxmaWxsOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwiZmlsbC1hdmFpbGFibGUiOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSxzdHJldGNoOntwcm9wczpbIndpZHRoIiwibWluLXdpZHRoIiwibWF4LXdpZHRoIiwiaGVpZ2h0IiwibWluLWhlaWdodCIsIm1heC1oZWlnaHQiLCJpbmxpbmUtc2l6ZSIsIm1pbi1pbmxpbmUtc2l6ZSIsIm1heC1pbmxpbmUtc2l6ZSIsImJsb2NrLXNpemUiLCJtaW4tYmxvY2stc2l6ZSIsIm1heC1ibG9jay1zaXplIiwiZ3JpZCIsImdyaWQtdGVtcGxhdGUiLCJncmlkLXRlbXBsYXRlLXJvd3MiLCJncmlkLXRlbXBsYXRlLWNvbHVtbnMiLCJncmlkLWF1dG8tY29sdW1ucyIsImdyaWQtYXV0by1yb3dzIl0sZmVhdHVyZToiaW50cmluc2ljLXdpZHRoIixicm93c2VyczpbImZpcmVmb3ggMTE0Il19LCJmaXQtY29udGVudCI6e3Byb3BzOlsid2lkdGgiLCJtaW4td2lkdGgiLCJtYXgtd2lkdGgiLCJoZWlnaHQiLCJtaW4taGVpZ2h0IiwibWF4LWhlaWdodCIsImlubGluZS1zaXplIiwibWluLWlubGluZS1zaXplIiwibWF4LWlubGluZS1zaXplIiwiYmxvY2stc2l6ZSIsIm1pbi1ibG9jay1zaXplIiwibWF4LWJsb2NrLXNpemUiLCJncmlkIiwiZ3JpZC10ZW1wbGF0ZSIsImdyaWQtdGVtcGxhdGUtcm93cyIsImdyaWQtdGVtcGxhdGUtY29sdW1ucyIsImdyaWQtYXV0by1jb2x1bW5zIiwiZ3JpZC1hdXRvLXJvd3MiXSxmZWF0dXJlOiJpbnRyaW5zaWMtd2lkdGgiLGJyb3dzZXJzOlsiZmlyZWZveCAxMTQiXX0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6e2ZlYXR1cmU6InRleHQtZGVjb3JhdGlvbiIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6e2ZlYXR1cmU6InRleHQtZGVjb3JhdGlvbiIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sInRleHQtZGVjb3JhdGlvbi1saW5lIjp7ZmVhdHVyZToidGV4dC1kZWNvcmF0aW9uIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSJdfSwidGV4dC1kZWNvcmF0aW9uIjp7ZmVhdHVyZToidGV4dC1kZWNvcmF0aW9uIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSJdfSwidGV4dC1kZWNvcmF0aW9uLXNraXAiOntmZWF0dXJlOiJ0ZXh0LWRlY29yYXRpb24iLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Il19LCJ0ZXh0LWRlY29yYXRpb24tc2tpcC1pbmsiOntmZWF0dXJlOiJ0ZXh0LWRlY29yYXRpb24iLGJyb3dzZXJzOlsiaW9zX3NhZiAxNi4xIiwiaW9zX3NhZiAxNi4zIiwiaW9zX3NhZiAxNi40IiwiaW9zX3NhZiAxNi41Il19LCJ0ZXh0LXNpemUtYWRqdXN0Ijp7ZmVhdHVyZToidGV4dC1zaXplLWFkanVzdCIsYnJvd3NlcnM6WyJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiXX0sIm1hc2stY2xpcCI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stY29tcG9zaXRlIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1pbWFnZSI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stb3JpZ2luIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1yZXBlYXQiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlci1yZXBlYXQiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlci1zb3VyY2UiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LG1hc2s6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stcG9zaXRpb24iOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLXNpemUiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJtYXNrLWJvcmRlciI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stYm9yZGVyLW91dHNldCI6e2ZlYXR1cmU6ImNzcy1tYXNrcyIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0sIm1hc2stYm9yZGVyLXdpZHRoIjp7ZmVhdHVyZToiY3NzLW1hc2tzIixicm93c2VyczpbImFuZF9jaHIgMTE0IiwiYW5kX3VjIDE1LjUiLCJjaHJvbWUgMTA5IiwiY2hyb21lIDExMyIsImNocm9tZSAxMTQiLCJlZGdlIDExNCIsIm9wZXJhIDk5Iiwic2Ftc3VuZyAyMSJdfSwibWFzay1ib3JkZXItc2xpY2UiOntmZWF0dXJlOiJjc3MtbWFza3MiLGJyb3dzZXJzOlsiYW5kX2NociAxMTQiLCJhbmRfdWMgMTUuNSIsImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiLCJzYW1zdW5nIDIxIl19LCJjbGlwLXBhdGgiOntmZWF0dXJlOiJjc3MtY2xpcC1wYXRoIixicm93c2VyczpbInNhbXN1bmcgMjEiXX0sImJveC1kZWNvcmF0aW9uLWJyZWFrIjp7ZmVhdHVyZToiY3NzLWJveGRlY29yYXRpb25icmVhayIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJpb3Nfc2FmIDE2LjEiLCJpb3Nfc2FmIDE2LjMiLCJpb3Nfc2FmIDE2LjQiLCJpb3Nfc2FmIDE2LjUiLCJvcGVyYSA5OSIsInNhZmFyaSAxNi41Iiwic2Ftc3VuZyAyMSJdfSxhcHBlYXJhbmNlOntmZWF0dXJlOiJjc3MtYXBwZWFyYW5jZSIsYnJvd3NlcnM6WyJzYW1zdW5nIDIxIl19LCJpbWFnZS1zZXQiOntwcm9wczpbImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kLWltYWdlIiwiYm9yZGVyLWltYWdlIiwiY3Vyc29yIiwibWFzayIsIm1hc2staW1hZ2UiLCJsaXN0LXN0eWxlIiwibGlzdC1zdHlsZS1pbWFnZSIsImNvbnRlbnQiXSxmZWF0dXJlOiJjc3MtaW1hZ2Utc2V0Iixicm93c2VyczpbImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsInNhbXN1bmcgMjEiXX0sImNyb3NzLWZhZGUiOntwcm9wczpbImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kLWltYWdlIiwiYm9yZGVyLWltYWdlIiwibWFzayIsImxpc3Qtc3R5bGUiLCJsaXN0LXN0eWxlLWltYWdlIiwiY29udGVudCIsIm1hc2staW1hZ2UiXSxmZWF0dXJlOiJjc3MtY3Jvc3MtZmFkZSIsYnJvd3NlcnM6WyJhbmRfY2hyIDExNCIsImFuZF91YyAxNS41IiwiY2hyb21lIDEwOSIsImNocm9tZSAxMTMiLCJjaHJvbWUgMTE0IiwiZWRnZSAxMTQiLCJvcGVyYSA5OSIsInNhbXN1bmcgMjEiXX0saXNvbGF0ZTp7cHJvcHM6WyJ1bmljb2RlLWJpZGkiXSxmZWF0dXJlOiJjc3MtdW5pY29kZS1iaWRpIixicm93c2VyczpbImlvc19zYWYgMTYuMSIsImlvc19zYWYgMTYuMyIsImlvc19zYWYgMTYuNCIsImlvc19zYWYgMTYuNSIsInNhZmFyaSAxNi41Il19LCJjb2xvci1hZGp1c3QiOntmZWF0dXJlOiJjc3MtY29sb3ItYWRqdXN0Iixicm93c2VyczpbImNocm9tZSAxMDkiLCJjaHJvbWUgMTEzIiwiY2hyb21lIDExNCIsImVkZ2UgMTE0Iiwib3BlcmEgOTkiXX19fSk7dmFyIGR2PXgoKF9MLHB2KT0+e3UoKTtwdi5leHBvcnRzPXt9fSk7dmFyIHl2PXgoKEVMLGd2KT0+e3UoKTt2YXIgTjU9WWwoKSx7YWdlbnRzOkI1fT0oUHMoKSxScyksb2Y9T3koKSxGNT1NdCgpLGo1PXV2KCksejU9Y3YoKSxVNT1kdigpLGh2PXticm93c2VyczpCNSxwcmVmaXhlczp6NX0sbXY9YAogIFJlcGxhY2UgQXV0b3ByZWZpeGVyIFxgYnJvd3NlcnNcYCBvcHRpb24gdG8gQnJvd3NlcnNsaXN0IGNvbmZpZy4KICBVc2UgXGBicm93c2Vyc2xpc3RcYCBrZXkgaW4gXGBwYWNrYWdlLmpzb25cYCBvciBcYC5icm93c2Vyc2xpc3RyY1xgIGZpbGUuCgogIFVzaW5nIFxgYnJvd3NlcnNcYCBvcHRpb24gY2FuIGNhdXNlIGVycm9ycy4gQnJvd3NlcnNsaXN0IGNvbmZpZyBjYW4KICBiZSB1c2VkIGZvciBCYWJlbCwgQXV0b3ByZWZpeGVyLCBwb3N0Y3NzLW5vcm1hbGl6ZSBhbmQgb3RoZXIgdG9vbHMuCgogIElmIHlvdSByZWFsbHkgbmVlZCB0byB1c2Ugb3B0aW9uLCByZW5hbWUgaXQgdG8gXGBvdmVycmlkZUJyb3dzZXJzbGlzdFxgLgoKICBMZWFybiBtb3JlIGF0OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9icm93c2Vyc2xpc3QvYnJvd3NlcnNsaXN0I3JlYWRtZQogIGh0dHBzOi8vdHdpdHRlci5jb20vYnJvd3NlcnNsaXN0CgpgO2Z1bmN0aW9uIFY1KHIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KHIpPT09IltvYmplY3QgT2JqZWN0XSJ9dmFyIGxmPW5ldyBNYXA7ZnVuY3Rpb24gSDUocixlKXtlLmJyb3dzZXJzLnNlbGVjdGVkLmxlbmd0aCE9PTAmJihlLmFkZC5zZWxlY3RvcnMubGVuZ3RoPjB8fE9iamVjdC5rZXlzKGUuYWRkKS5sZW5ndGg+Mnx8ci53YXJuKGBBdXRvcHJlZml4ZXIgdGFyZ2V0IGJyb3dzZXJzIGRvIG5vdCBuZWVkIGFueSBwcmVmaXhlcy5Zb3UgZG8gbm90IG5lZWQgQXV0b3ByZWZpeGVyIGFueW1vcmUuCkNoZWNrIHlvdXIgQnJvd3NlcnNsaXN0IGNvbmZpZyB0byBiZSBzdXJlIHRoYXQgeW91ciB0YXJnZXRzIGFyZSBzZXQgdXAgY29ycmVjdGx5LgoKICBMZWFybiBtb3JlIGF0OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3N0Y3NzL2F1dG9wcmVmaXhlciNyZWFkbWUKICBodHRwczovL2dpdGh1Yi5jb20vYnJvd3NlcnNsaXN0L2Jyb3dzZXJzbGlzdCNyZWFkbWUKCmApKX1ndi5leHBvcnRzPURyO2Z1bmN0aW9uIERyKC4uLnIpe2xldCBlO2lmKHIubGVuZ3RoPT09MSYmVjUoclswXSk/KGU9clswXSxyPXZvaWQgMCk6ci5sZW5ndGg9PT0wfHxyLmxlbmd0aD09PTEmJiFyWzBdP3I9dm9pZCAwOnIubGVuZ3RoPD0yJiYoQXJyYXkuaXNBcnJheShyWzBdKXx8IXJbMF0pPyhlPXJbMV0scj1yWzBdKTp0eXBlb2YgcltyLmxlbmd0aC0xXT09Im9iamVjdCImJihlPXIucG9wKCkpLGV8fChlPXt9KSxlLmJyb3dzZXIpdGhyb3cgbmV3IEVycm9yKCJDaGFuZ2UgYGJyb3dzZXJgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlciIpO2lmKGUuYnJvd3NlcnNsaXN0KXRocm93IG5ldyBFcnJvcigiQ2hhbmdlIGBicm93c2Vyc2xpc3RgIG9wdGlvbiB0byBgb3ZlcnJpZGVCcm93c2Vyc2xpc3RgIGluIEF1dG9wcmVmaXhlciIpO2Uub3ZlcnJpZGVCcm93c2Vyc2xpc3Q/cj1lLm92ZXJyaWRlQnJvd3NlcnNsaXN0OmUuYnJvd3NlcnMmJih0eXBlb2YgY29uc29sZSE9InVuZGVmaW5lZCImJmNvbnNvbGUud2FybiYmKG9mLnJlZD9jb25zb2xlLndhcm4ob2YucmVkKG12LnJlcGxhY2UoL2BbXmBdK2AvZyxuPT5vZi55ZWxsb3cobi5zbGljZSgxLC0xKSkpKSk6Y29uc29sZS53YXJuKG12KSkscj1lLmJyb3dzZXJzKTtsZXQgdD17aWdub3JlVW5rbm93blZlcnNpb25zOmUuaWdub3JlVW5rbm93blZlcnNpb25zLHN0YXRzOmUuc3RhdHMsZW52OmUuZW52fTtmdW5jdGlvbiBpKG4pe2xldCBzPWh2LGE9bmV3IEY1KHMuYnJvd3NlcnMscixuLHQpLG89YS5zZWxlY3RlZC5qb2luKCIsICIpK0pTT04uc3RyaW5naWZ5KGUpO3JldHVybiBsZi5oYXMobyl8fGxmLnNldChvLG5ldyBqNShzLnByZWZpeGVzLGEsZSkpLGxmLmdldChvKX1yZXR1cm57cG9zdGNzc1BsdWdpbjoiYXV0b3ByZWZpeGVyIixwcmVwYXJlKG4pe2xldCBzPWkoe2Zyb206bi5vcHRzLmZyb20sZW52OmUuZW52fSk7cmV0dXJue09uY2VFeGl0KGEpe0g1KG4scyksZS5yZW1vdmUhPT0hMSYmcy5wcm9jZXNzb3IucmVtb3ZlKGEsbiksZS5hZGQhPT0hMSYmcy5wcm9jZXNzb3IuYWRkKGEsbil9fX0saW5mbyhuKXtyZXR1cm4gbj1ufHx7fSxuLmZyb209bi5mcm9tfHxtLmN3ZCgpLFU1KGkobikpfSxvcHRpb25zOmUsYnJvd3NlcnM6cn19RHIucG9zdGNzcz0hMDtEci5kYXRhPWh2O0RyLmRlZmF1bHRzPU41LmRlZmF1bHRzO0RyLmluZm89KCk9PkRyKCkuaW5mbygpfSk7dmFyIGJ2PXt9O0dlKGJ2LHtkZWZhdWx0OigpPT5XNX0pO3ZhciBXNSx3dj1QKCgpPT57dSgpO1c1PVtdfSk7dmFyIHh2PXt9O0dlKHh2LHtkZWZhdWx0OigpPT5HNX0pO3ZhciB2dixHNSxrdj1QKCgpPT57dSgpO1hpKCk7dnY9cGUocm4oKSksRzU9U3QodnYuZGVmYXVsdC50aGVtZSl9KTt2YXIgQXY9e307R2UoQXYse2RlZmF1bHQ6KCk9PlE1fSk7dmFyIFN2LFE1LEN2PVAoKCk9Pnt1KCk7WGkoKTtTdj1wZShybigpKSxRNT1TdChTdi5kZWZhdWx0KX0pO3UoKTsidXNlIHN0cmljdCI7dmFyIFk1PXZ0KF95KCkpLEs1PXZ0KCRlKCkpLFg1PXZ0KHl2KCkpLFo1PXZ0KCh3digpLGJ2KSksSjU9dnQoKGt2KCkseHYpKSxlUD12dCgoQ3YoKSxBdikpLHRQPXZ0KChWcygpLF9mKSksclA9dnQoKGFsKCksc2wpKSxpUD12dCgoc2EoKSxzYykpO2Z1bmN0aW9uIHZ0KHIpe3JldHVybiByJiZyLl9fZXNNb2R1bGU/cjp7ZGVmYXVsdDpyfX1jb25zb2xlLndhcm4oImNkbi50YWlsd2luZGNzcy5jb20gc2hvdWxkIG5vdCBiZSB1c2VkIGluIHByb2R1Y3Rpb24uIFRvIHVzZSBUYWlsd2luZCBDU1MgaW4gcHJvZHVjdGlvbiwgaW5zdGFsbCBpdCBhcyBhIFBvc3RDU1MgcGx1Z2luIG9yIHVzZSB0aGUgVGFpbHdpbmQgQ0xJOiBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2luc3RhbGxhdGlvbiIpO3ZhciBOcz0idGFpbHdpbmQiLHVmPSJ0ZXh0L3RhaWx3aW5kY3NzIixfdj0iL3RlbXBsYXRlLmh0bWwiLFl0LEV2PSEwLE92PTAsZmY9bmV3IFNldCxjZixUdj0iIixSdj0ocj0hMSk9Pih7Z2V0KGUsdCl7cmV0dXJuKCFyfHx0PT09ImNvbmZpZyIpJiZ0eXBlb2YgZVt0XT09Im9iamVjdCImJmVbdF0hPT1udWxsP25ldyBQcm94eShlW3RdLFJ2KCkpOmVbdF19LHNldChlLHQsaSl7cmV0dXJuIGVbdF09aSwoIXJ8fHQ9PT0iY29uZmlnIikmJnBmKCEwKSwhMH19KTt3aW5kb3dbTnNdPW5ldyBQcm94eSh7Y29uZmlnOnt9LGRlZmF1bHRUaGVtZTpKNS5kZWZhdWx0LGRlZmF1bHRDb25maWc6ZVAuZGVmYXVsdCxjb2xvcnM6dFAuZGVmYXVsdCxwbHVnaW46clAuZGVmYXVsdCxyZXNvbHZlQ29uZmlnOmlQLmRlZmF1bHR9LFJ2KCEwKSk7ZnVuY3Rpb24gUHYocil7Y2Yub2JzZXJ2ZShyLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInR5cGUiXSxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITAsY2hpbGRMaXN0OiEwfSl9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMgcj0+e2xldCBlPSExO2lmKCFjZil7Y2Y9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoYXN5bmMoKT0+YXdhaXQgcGYoITApKTtmb3IobGV0IHQgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc3R5bGVbdHlwZT0iJHt1Zn0iXWApKVB2KHQpfWZvcihsZXQgdCBvZiByKWZvcihsZXQgaSBvZiB0LmFkZGVkTm9kZXMpaS5ub2RlVHlwZT09PTEmJmkudGFnTmFtZT09PSJTVFlMRSImJmkuZ2V0QXR0cmlidXRlKCJ0eXBlIik9PT11ZiYmKFB2KGkpLGU9ITApO2F3YWl0IHBmKGUpfSkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsiY2xhc3MiXSxjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pO2FzeW5jIGZ1bmN0aW9uIHBmKHI9ITEpe3ImJihPdisrLGZmLmNsZWFyKCkpO2xldCBlPSIiO2ZvcihsZXQgaSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGBzdHlsZVt0eXBlPSIke3VmfSJdYCkpZSs9aS50ZXh0Q29udGVudDtsZXQgdD1uZXcgU2V0O2ZvcihsZXQgaSBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbY2xhc3NdIikpZm9yKGxldCBuIG9mIGkuY2xhc3NMaXN0KWZmLmhhcyhuKXx8dC5hZGQobik7aWYoZG9jdW1lbnQuYm9keSYmKEV2fHx0LnNpemU+MHx8ZSE9PVR2fHwhWXR8fCFZdC5pc0Nvbm5lY3RlZCkpe2ZvcihsZXQgbiBvZiB0KWZmLmFkZChuKTtFdj0hMSxUdj1lLHNlbGZbX3ZdPUFycmF5LmZyb20odCkuam9pbigiICIpO2xldHtjc3M6aX09YXdhaXQoMCxLNS5kZWZhdWx0KShbKDAsWTUuZGVmYXVsdCkoey4uLndpbmRvd1tOc10uY29uZmlnLF9oYXNoOk92LGNvbnRlbnQ6e2ZpbGVzOltfdl0sZXh0cmFjdDp7aHRtbDpuPT5uLnNwbGl0KCIgIil9fSxwbHVnaW5zOlsuLi5aNS5kZWZhdWx0LC4uLkFycmF5LmlzQXJyYXkod2luZG93W05zXS5jb25maWcucGx1Z2lucyk/d2luZG93W05zXS5jb25maWcucGx1Z2luczpbXV19KSwoMCxYNS5kZWZhdWx0KSh7cmVtb3ZlOiExfSldKS5wcm9jZXNzKGBAdGFpbHdpbmQgYmFzZTtAdGFpbHdpbmQgY29tcG9uZW50cztAdGFpbHdpbmQgdXRpbGl0aWVzOyR7ZX1gKTsoIVl0fHwhWXQuaXNDb25uZWN0ZWQpJiYoWXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxkb2N1bWVudC5oZWFkLmFwcGVuZChZdCkpLFl0LnRleHRDb250ZW50PWl9fX0pKCk7Ci8qIQogKiBmaWxsLXJhbmdlIDxodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9maWxsLXJhbmdlPgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCi8qIQogKiBpcy1udW1iZXIgPGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L2lzLW51bWJlcj4KICoKICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEpvbiBTY2hsaW5rZXJ0LgogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiAqLwovKiEKICogdG8tcmVnZXgtcmFuZ2UgPGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb21hdGNoL3RvLXJlZ2V4LXJhbmdlPgogKgogKiBDb3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCi8qISBodHRwczovL210aHMuYmUvY3NzZXNjIHYzLjAuMCBieSBAbWF0aGlhcyAqLwo="}},"time_used":5,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.forexbot.demotunde.com/","date":"2026-07-27T13:56:09.069Z","timestamp":1785160569069,"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/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yyghfvaZ-E.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.forexbot.demotunde.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 27236\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 07:42:15 GMT\r\nexpires: Fri, 23 Jul 2027 07:42:15 GMT\r\ncache-control: public, max-age=31536000\r\nage: 368034\r\nlast-modified: Tue, 09 Sep 2025 18:38:58 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":27236,"size_decoded":28049,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 27236, version 1.0","md5":"a8c28b27501f763423d96717c43243df","sha1":"e845ac57b3fee2c68ec6cdb95114ef3541fa3d11","sha256":"b6698c39332c51112c720e8a92608b4eeed502f654b63fc1693b8cccfc856d4d","sha512":"3e3af79fd415b3e4d3cbcd7f9bce2a7fa5c09b1ad5a38c6f2e971852c7973eae1b8ac85a4664f8c7af34f6c489f563cc35f82aecd32b1be8af70ce2612b0e3d3","ssdeep":"384:TOfiFJZpa1LuoEeC5s2xCWnEgdMqCF+FSe5LuxyrPyP2hbgBizhxCvw9k3kwA0y2:XW1l+s2xC8LSs2P2yitawWU50Z","tlshash":"f5c2e0676b05362dbcc47380135b8f262a5071b5566cca61787bef4e3a9b03a903cba5","first_seen":"2025-06-03T19:01:05.870661Z","last_seen":"2026-08-18T00:26:25.291449Z","times_seen":20502,"resource_available":false,"data":"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"}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":31,"send":0,"wait":26,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
