{"report_id":"58e09ec4-3ec7-47be-bc0f-5b98dbec4f52","version":6,"status":"done","tags":[],"date":"2025-11-04T18:14:04Z","url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.ba/","fqdn":"ghkhkghkghkkghk.blogspot.ba","domain":"ghkhkghkghkkghk.blogspot.ba","tld":"blogspot.ba"},"ip":{"addr":"216.58.207.225","port":0,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"final":{"url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.com/","fqdn":"ghkhkghkghkkghk.blogspot.com","domain":"ghkhkghkghkkghk.blogspot.com","tld":"blogspot.com"},"title":"Finner ikke blogg","dom":{"size":113811,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (29483)","md5":"3db924326fe0ae98e62f1b9cab3dd2c3","sha1":"701fd97ad684e56ce225c32d04b639c0a5a38ca3","sha256":"d8dad97a2ca2b1e5545f3e005f1b92452f5492a1fd95830fc6d878c70cf31e64","sha512":"7cd4635fb5c74caa87b3e301d5ef610ae2b8ccbf8dc1fdda8aba74332cb57d0e5f6902c9077a37b74f368381fc8ce49ae8f0a5bbbea1299cd4d81723ef8867dd","ssdeep":"3072:r391OtmLPDLISO9tbHSAOPte2RgtWYI20h:r391OtIDLIh95S9e2RgtWYI20h","tlshash":"a8b3f7a4725130729e26f8e15067410bb17b946bf48c0dbcf29cdde2aef90a94576b3c","dom_hash":"domhash629ab09f81b72d6748edb77bee42f4f6","first_seen":"","last_seen":"","times_seen":0,"resource_available":false,"data":"PGh0bWwgZGlyPSJsdHIiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4gPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkJsb2dnZXIgbGV2ZXJlcyBhdiBHb29nbGUgb2cgZXIgZXQgYmxvZ2ctcHVibGlzZXJpbmdzdmVya3TDuHkgZGVyIGR1IGVua2VsdCBrYW4gZGVsZSB0YW5rZW5lIGRpbmUgbWVkIHJlc3RlbiBhdiB2ZXJkZW4uIE1lZCBCbG9nZ2VyIGVyIGRldCBlbmtlbHQgw6UgbGVnZ2UgdXQgdGVrc3QsIGJpbGRlciBvZyB2aWRlb2VyIHDDpSBkaW4gZWdlbiBibG9nZywgZWxsZXIgaSBlbiBncnVwcGVibG9nZy4iPiA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iYmxvZ2dlciwgYmxvZ3Nwb3QsIGJsb2dnLCBibG9nZ2VyLmNvbSwgYmxvZ3Nwb3QuY29tLCBwZXJzb25saWcgYmxvZ2csIHdlYmxvZywgb3BwcmV0dCBibG9nZywgbnkgYmxvZ2ciPgo8dGl0bGU+RmlubmVyIGlra2UgYmxvZ2c8L3RpdGxlPgo8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxsaW5rIGhyZWY9Ii8vd3d3Lmdvb2dsZS5jb20vY3NzL21haWEuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KPGxpbmsgaHJlZj0iaHR0cHM6Ly93d3cuYmxvZ2dlci5jb20vc3RhdGljL3YxL3YtY3NzLzIyMjMwNzE0ODEtc3RhdGljX3BhZ2VzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICBAZm9udC1mYWNle2ZvbnQtZmFtaWx5OidNYXRlcmlhbCBJY29ucyBFeHRlbmRlZCc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL21hdGVyaWFsaWNvbnNleHRlbmRlZC92MTU0L2tKRWpCdmdYN0JnbmtTclV3VDhVbkxWYzM4WWpZWS1vRV9Mdkoud29mZjIpZm9ybWF0KCd3b2ZmMicpO30KICA8L3N0eWxlPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgogICAgICAgICNnb29nLXdtLXNiIHsKICAgICAgICAgIG1hcmdpbjogLjRlbSAwIDAgMWVtOwogICAgICAgIH0KICAgICAgPC9zdHlsZT48c2NyaXB0IHNyYz0iaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20vXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2s9Z2FwaS5nYXBpLmVuLlVYRE5Ya2dDRHBFLk8vbT1nYXBpX2lmcmFtZXMsZ29vZ2xlYXBpc19jbGllbnQvcnQ9ai9zdj0xL2Q9MS9lZD0xL3JzPUFIcE9vb18zeWtqUlRydmxJQnY2dmZ1NDNSeDdDWVVRU0EvY2I9Z2FwaS5sb2FkZWRfMCIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBhc3luYz0iIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9IlVURi04IiBzcmM9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vanMvaz1vZy5xdG0uZW5fVVMuWEhGZWF1V1NINTAuMjAxOS5PL3J0PWovbT1xX2RucCxxX3BjLHFtZCxxY3dpZCxxYXBpZCxxYWRzLHFfZGcvZXhtPXFhYXcscWFicixxYWRkLHFhaWQscWFsbyxxZWJyLHFlaW4scWhhdyxxaGF3Z20zLHFoYmEscWhicixxaGJyZ20zLHFoY2gscWhjaGdtMyxxaGdhLHFoaWQscWhpZGdtMyxxaGluLHFobG8scWhsb2dtMyxxaG1uLHFocGMscWhzZixxaHNmZ20zLHFodHQvZD0xL2VkPTEvcnM9QUEyWXJUdFB4cjJtYTRDcGxidlhfSnMzeno1VkJpdU9hdyI+PC9zY3JpcHQ+PGxpbmsgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vc3Mvaz1vZy5xdG0uSU1LbER0d1ExOHMuTC5GNC5PL209cW1kLHFjd2lkL2V4Y209cWFhdyxxYWJyLHFhZGQscWFpZCxxYWxvLHFlYnIscWVpbixxaGF3LHFoYXdnbTMscWhiYSxxaGJyLHFoYnJnbTMscWhjaCxxaGNoZ20zLHFoZ2EscWhpZCxxaGlkZ20zLHFoaW4scWhsbyxxaGxvZ20zLHFobW4scWhwYyxxaHNmLHFoc2ZnbTMscWh0dC9kPTEvZWQ9MS9jdD16Z21zL3JzPUFBMllyVHZLXzRaTjBwTndnUVRmSXpsX2VvTkRPRXo4SHciIHJlbD0ic3R5bGVzaGVldCI+PC9oZWFkPgo8Ym9keSBjbGFzcz0ibGFuZ19ubyByYiI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAgICAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/bGFuZz1ubyZmYW1pbHk9UHJvZHVjdCtTYW5zfFJvYm90bzo0MDAsNzAwJyk7LmdiX3lie2ZvbnQ6MTNweC8yN3B4IFJvYm90byxBcmlhbCxzYW5zLXNlcmlmO3otaW5kZXg6OTg2fUBrZXlmcmFtZXMgZ2JfX2F7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjF9fWEuZ2JfUmF7Ym9yZGVyOm5vbmU7Y29sb3I6IzQyODVmNDtjdXJzb3I6ZGVmYXVsdDtmb250LXdlaWdodDpib2xkO291dGxpbmU6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfWEuZ2JfUmE6aG92ZXI6OmFmdGVyLGEuZ2JfUmE6Zm9jdXM6OmFmdGVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpO2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9YS5nYl9SYTpob3ZlcixhLmdiX1JhOmZvY3Vze3RleHQtZGVjb3JhdGlvbjpub25lfWEuZ2JfUmE6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgxNTMsMTUzLDE1MywuNCk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YS5nYl9TYXtiYWNrZ3JvdW5kLWNvbG9yOiM0Mjg1ZjQ7Y29sb3I6I2ZmZn1hLmdiX1NhOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDQzYjJ9LmdiX1Rhe2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE2KX0uZ2JfUmEsLmdiX1NhLC5nYl9VYSwuZ2JfVmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MjhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjJweH0uZ2JfVWEsLmdiX1Zhe2JhY2tncm91bmQ6I2Y4ZjhmODtib3JkZXI6MXB4IHNvbGlkICNjNmM2YzZ9LmdiX1VhLCNnYiBhLmdiX1VhLmdiX1VhLC5nYl9WYSwjZ2IgYS5nYl9WYXtjb2xvcjojNjY2O2N1cnNvcjpkZWZhdWx0O3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl9WYXtib3JkZXI6MXB4IHNvbGlkICM0Mjg1ZjQ7Zm9udC13ZWlnaHQ6Ym9sZDtvdXRsaW5lOm5vbmU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCM0Mzg3ZmQsIzQ2ODNlYSl9I2diIGEuZ2JfVmF7Y29sb3I6I2ZmZn0uZ2JfVmE6aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KX0uZ2JfVmE6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDAsMCwwLC4xNSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMzYzdhZTQsIzNmNzZkMyl9I2diIC5nYl9XYXtiYWNrZ3JvdW5kOiNmZmZmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGFkY2UwO2NvbG9yOiMxYTczZTg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmV9I2diIC5nYl9XYTpob3ZlcntiYWNrZ3JvdW5kOiNmOGZiZmY7Ym9yZGVyLWNvbG9yOiNkYWRjZTA7Y29sb3I6IzE3NGVhNn0jZ2IgLmdiX1dhOmZvY3Vze2JhY2tncm91bmQ6I2Y0ZjhmZjtjb2xvcjojMTc0ZWE2O291dGxpbmU6MXB4IHNvbGlkICMxNzRlYTZ9I2diIC5nYl9XYTphY3RpdmUsI2diIC5nYl9XYTpmb2N1czphY3RpdmV7YmFja2dyb3VuZDojZWNmM2ZlO2NvbG9yOiMxNzRlYTZ9I2diIC5nYl9XYS5nYl9Ie2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCAjNWY2MzY4O2NvbG9yOiM4YWI0Zjg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9I2diIC5nYl9XYS5nYl9IOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpO2NvbG9yOiNlOGVhZWR9I2diIC5nYl9XYS5nYl9IOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgyMzIsMjM0LDIzNywuMTIpO2NvbG9yOiNlOGVhZWQ7b3V0bGluZToxcHggc29saWQgI2U4ZWFlZH0jZ2IgLmdiX1dhLmdiX0g6YWN0aXZlLCNnYiAuZ2JfV2EuZ2JfSDpmb2N1czphY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDIzMiwyMzQsMjM3LC4xKTtjb2xvcjojZThlYWVkfS5nYl91ZHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjRweCA0cHggNHB4IDRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX3ZkIC5nYl9Se2JvdHRvbTotM3B4O3JpZ2h0Oi01cHh9LmdiX3VkOmZpcnN0LWNoaWxkLCNnYnNmdzpmaXJzdC1jaGlsZCsuZ2JfdWR7cGFkZGluZy1sZWZ0OjB9LmdiX0R7cG9zaXRpb246cmVsYXRpdmV9LmdiX0J7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3V0bGluZTpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItcmFkaXVzOjJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0uZ2JfQiwjZ2IjZ2IgYS5nYl9Ce2N1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl9CLGEuZ2JfQntjb2xvcjojMDAwfS5nYl93ZCwuZ2JfeGR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZjtib3JkZXItc3R5bGU6ZGFzaGVkIGRhc2hlZCBzb2xpZDtib3JkZXItd2lkdGg6MCA4LjVweCA4LjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo2LjVweDt0b3A6MzdweDt6LWluZGV4OjE7aGVpZ2h0OjA7d2lkdGg6MDthbmltYXRpb246Z2JfX2EgLjJzfS5nYl94ZHtib3JkZXItYm90dG9tLWNvbG9yOiNjY2M7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yKTt0b3A6MzJweH14Oi1vLXByZWZvY3VzLGRpdi5nYl94ZHtib3JkZXItYm90dG9tLWNvbG9yOiNjY2N9LmdiX21he2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjIpO2NvbG9yOiMwMDA7Ym94LXNoYWRvdzowIDJweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjhweDt0b3A6NjJweDthbmltYXRpb246Z2JfX2EgLjJzO2JvcmRlci1yYWRpdXM6MnB4Oy1tb3otdXNlci1zZWxlY3Q6dGV4dDt1c2VyLXNlbGVjdDp0ZXh0fS5nYl91ZC5nYl81YSAuZ2Jfd2QsLmdiX3VkLmdiXzVhIC5nYl94ZCwuZ2JfdWQuZ2JfNWEgLmdiX21hLC5nYl81YS5nYl9tYXtkaXNwbGF5OmJsb2NrfS5nYl91ZC5nYl81YS5nYl95ZCAuZ2Jfd2QsLmdiX3VkLmdiXzVhLmdiX3lkIC5nYl94ZHtkaXNwbGF5Om5vbmV9LmdiX3pke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjhweDt0b3A6NjJweDt6LWluZGV4Oi0xfS5nYl9wYiAuZ2Jfd2QsLmdiX3BiIC5nYl94ZCwuZ2JfcGIgLmdiX21he21hcmdpbi10b3A6LTEwcHh9LmdiX3VkOmZpcnN0LWNoaWxkLCNnYnNmdzpmaXJzdC1jaGlsZCsuZ2JfdWR7cGFkZGluZy1sZWZ0OjRweH0uZ2JfSGEuZ2JfQWQgLmdiX3VkOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5nYl9CZHtwb3NpdGlvbjpyZWxhdGl2ZX0uZ2JfaGQgLmdiX0JkLC5nYl9DZCAuZ2JfQmR7ZmxvYXQ6cmlnaHR9LmdiX0J7cGFkZGluZzo4cHg7Y3Vyc29yOnBvaW50ZXJ9LmdiX0I6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7Ym90dG9tOi00cHg7bGVmdDotNHB4O3JpZ2h0Oi00cHh9LmdiX0hhIC5nYl9EZDpub3QoLmdiX1JhKTpmb2N1cyBpbWd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtvdXRsaW5lOm5vbmU7Ym9yZGVyLXJhZGl1czo1MCV9LmdiX0VkIGJ1dHRvbiBzdmcsLmdiX0J7Ym9yZGVyLXJhZGl1czo1MCV9LmdiX0VkIGJ1dHRvbjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHN2ZywuZ2JfRWQgYnV0dG9uOmhvdmVyIHN2ZywuZ2JfRWQgYnV0dG9uOmFjdGl2ZSBzdmcsLmdiX0I6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSwuZ2JfQjpob3ZlciwuZ2JfQjphY3RpdmUsLmdiX0JbYXJpYS1leHBhbmRlZD10cnVlXXtvdXRsaW5lOm5vbmV9LmdiXzJjIC5nYl9FZC5nYl9GZCBidXR0b246Zm9jdXMtdmlzaWJsZSBzdmcsLmdiX0VkIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHN2ZywuZ2JfQjpmb2N1cy12aXNpYmxle291dGxpbmU6MXB4IHNvbGlkICMyMDIxMjR9LmdiXzJjIC5nYl9FZCBidXR0b246Zm9jdXMtdmlzaWJsZSBzdmcsLmdiXzJjIC5nYl9COmZvY3VzLXZpc2libGV7b3V0bGluZToxcHggc29saWQgI2YxZjNmNH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsuZ2JfMmMgLmdiX0VkLmdiX0ZkIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHN2ZywuZ2JfRWQgYnV0dG9uOmZvY3VzLXZpc2libGUgc3ZnLC5nYl8yYyAuZ2JfRWQgYnV0dG9uOmZvY3VzLXZpc2libGUgc3Zne291dGxpbmU6MXB4IHNvbGlkIGN1cnJlbnRjb2xvcn19LmdiXzJjIC5nYl9FZC5nYl9GZCBidXR0b246Zm9jdXMgc3ZnLC5nYl8yYyAuZ2JfRWQuZ2JfRmQgYnV0dG9uOmZvY3VzOmhvdmVyIHN2ZywuZ2JfRWQgYnV0dG9uOmZvY3VzIHN2ZywuZ2JfRWQgYnV0dG9uOmZvY3VzOmhvdmVyIHN2ZywuZ2JfQjpmb2N1cywuZ2JfQjpmb2N1czpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjAsNjQsNjcsLjEpfS5nYl8yYyAuZ2JfRWQuZ2JfRmQgYnV0dG9uOmFjdGl2ZSBzdmcsLmdiX0VkIGJ1dHRvbjphY3RpdmUgc3ZnLC5nYl9COmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjAsNjQsNjcsLjEyKX0uZ2JfMmMgLmdiX0VkLmdiX0ZkIGJ1dHRvbjpob3ZlciBzdmcsLmdiX0VkIGJ1dHRvbjpob3ZlciBzdmcsLmdiX0I6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDYwLDY0LDY3LC4wOCl9LmdiX1hhIC5nYl9CLmdiXzBhOmhvdmVye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmdiX0JbYXJpYS1leHBhbmRlZD10cnVlXSwuZ2JfQjpob3ZlclthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSg5NSw5OSwxMDQsLjI0KX0uZ2JfQlthcmlhLWV4cGFuZGVkPXRydWVdIC5nYl9Ge2ZpbGw6IzVmNjM2ODtvcGFjaXR5OjF9LmdiXzJjIC5nYl9FZCBidXR0b246aG92ZXIgc3ZnLC5nYl8yYyAuZ2JfQjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjMyLDIzNCwyMzcsLjA4KX0uZ2JfMmMgLmdiX0VkIGJ1dHRvbjpmb2N1cyBzdmcsLmdiXzJjIC5nYl9FZCBidXR0b246Zm9jdXM6aG92ZXIgc3ZnLC5nYl8yYyAuZ2JfQjpmb2N1cywuZ2JfMmMgLmdiX0I6Zm9jdXM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzMiwyMzQsMjM3LC4xKX0uZ2JfMmMgLmdiX0VkIGJ1dHRvbjphY3RpdmUgc3ZnLC5nYl8yYyAuZ2JfQjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzMiwyMzQsMjM3LC4xMil9LmdiXzJjIC5nYl9CW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0sLmdiXzJjIC5nYl9COmhvdmVyW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9LmdiXzJjIC5nYl9CW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLmdiX0Z7ZmlsbDojZmZmZmZmO29wYWNpdHk6MX0uZ2JfdWR7cGFkZGluZzo0cHh9LmdiX0hhLmdiX0FkIC5nYl91ZHtwYWRkaW5nOjRweCAycHh9LmdiX0hhLmdiX0FkIC5nYl96LmdiX3Vke3BhZGRpbmctbGVmdDo2cHh9LmdiX21he3otaW5kZXg6OTkxO2xpbmUtaGVpZ2h0Om5vcm1hbH0uZ2JfbWEuZ2JfSGR7bGVmdDowO3JpZ2h0OmF1dG99QG1lZGlhIChtYXgtd2lkdGg6MzUwcHgpey5nYl9tYS5nYl9IZHtsZWZ0OjB9fS5nYl9JZCAuZ2JfbWF7dG9wOjU2cHh9LmdiX1N7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZ2JfamJ7dmlzaWJpbGl0eTpoaWRkZW59LmdiX0ogLmdiX0J7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjlweDtvcGFjaXR5Oi41NX0uZ2JfbGEgLmdiX0ogLmdiX0J7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjlweH0uZ2JfMiAuZ2JfSiAuZ2JfQntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOXB4IC0yOXB4O29wYWNpdHk6MX0uZ2JfSiAuZ2JfQiwuZ2JfSiAuZ2JfQjpob3ZlciwuZ2JfSiAuZ2JfQjpmb2N1c3tvcGFjaXR5OjF9LmdiX0x7ZGlzcGxheTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MzE5cHgpey5nYl9KZDpub3QoLmdiX0tkKSAuZ2JfSntkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW59fS5nYl9Se2Rpc3BsYXk6bm9uZX0uZ2Jfb2R7Zm9udC1mYW1pbHk6R29vZ2xlIFNhbnMsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMjVweDtsaW5lLWhlaWdodDo0OHB4O21hcmdpbi1ib3R0b206MnB4O29wYWNpdHk6MTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dG9wOjJweDt3aGl0ZS1zcGFjZTpub3dyYXA7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG99LmdiX29kLmdiX3Bke2NvbG9yOiMzYzQwNDN9LmdiX0hhLmdiXzlhIC5nYl9vZHttYXJnaW4tYm90dG9tOjB9LmdiX3FkLmdiX3JkIC5nYl9vZHtwYWRkaW5nLWxlZnQ6NHB4fS5nYl9IYS5nYl85YSAuZ2Jfc2R7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0ycHh9LmdiX3Rke2Rpc3BsYXk6bm9uZX0uZ2JfSGF7Y29sb3I6YmxhY2s7bWluLXdpZHRoOjE2MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246Ym94LXNoYWRvdyAuMjVzfS5nYl9IYS5nYl85Y3ttaW4td2lkdGg6MTIwcHh9LmdiX0hhLmdiX1FkIC5nYl9SZHtkaXNwbGF5Om5vbmV9LmdiX0hhLmdiX1FkIC5nYl9KZHtoZWlnaHQ6NTZweH1oZWFkZXIuZ2JfSGF7ZGlzcGxheTpibG9ja30uZ2JfSGEgc3Zne2ZpbGw6Y3VycmVudENvbG9yfS5nYl9TZHtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5nYl9UZHtib3gtc2hhZG93OjAgNHB4IDVweCAwIHJnYmEoMCwwLDAsLjE0KSwwIDFweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpLDAgMnB4IDRweCAtMXB4IHJnYmEoMCwwLDAsLjIpfS5nYl9VZHtoZWlnaHQ6NjRweH0uZ2JfSmR7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21pbi13aWR0aDotbW96LW1pbi1jb250ZW50O21pbi13aWR0aDptaW4tY29udGVudH0uZ2JfSGE6bm90KC5nYl85YSkgLmdiX0pke3BhZGRpbmc6OHB4fS5nYl9IYS5nYl9XZCAuZ2JfSmR7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAwIGF1dG99LmdiX0hhIC5nYl9KZC5nYl9LZC5nYl9YZHttaW4td2lkdGg6MH0uZ2JfSGEuZ2JfOWEgLmdiX0pke3BhZGRpbmc6NHB4O3BhZGRpbmctbGVmdDo4cHg7bWluLXdpZHRoOjB9LmdiX1Jke2hlaWdodDo0OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZ2JfWmQ+LmdiX1Jke2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxMDAlfS5nYl9xZHtwYWRkaW5nLXJpZ2h0OjMwcHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LWZsZXg6MTtmbGV4OjEgMCBhdXRvfS5nYl9IYS5nYl85YSAuZ2JfcWR7cGFkZGluZy1yaWdodDoxNHB4fS5nYl8wZHstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgMTAwJX0uZ2JfMGQ+Om9ubHktY2hpbGR7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmdiXzFkLmdiX2lke3BhZGRpbmctbGVmdDo0cHh9LmdiXzFkLmdiXzJkLC5nYl9IYS5nYl9XZCAuZ2JfMWQsLmdiX0hhLmdiXzlhOm5vdCguZ2JfQ2QpIC5nYl8xZHtwYWRkaW5nLWxlZnQ6MH0uZ2JfSGEuZ2JfOWEgLmdiXzFkLmdiXzJke3BhZGRpbmctcmlnaHQ6MH0uZ2JfSGEuZ2JfOWEgLmdiXzFkLmdiXzJkIC5nYl9YYXttYXJnaW4tbGVmdDoxMHB4fS5nYl9pZHtkaXNwbGF5OmlubGluZX0uZ2JfSGEuZ2JfY2QgLmdiXzFkLmdiXzNkLC5nYl9IYS5nYl9DZCAuZ2JfMWQuZ2JfM2R7cGFkZGluZy1sZWZ0OjJweH0uZ2Jfb2R7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmdiXzFkey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDhweDtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZzowIDRweDtwYWRkaW5nLWxlZnQ6MzBweDstbW96LWJveC1mbGV4OjA7ZmxleDowIDAgYXV0bzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmdiX0Nke2hlaWdodDo0OHB4fS5nYl9IYS5nYl9DZHttaW4td2lkdGg6YXV0b30uZ2JfQ2QgLmdiXzFke2Zsb2F0OnJpZ2h0O3BhZGRpbmctbGVmdDozMnB4fS5nYl9DZCAuZ2JfMWQuZ2JfNGR7cGFkZGluZy1sZWZ0OjB9LmdiXzVke2ZvbnQtc2l6ZToxNHB4O21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEycHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7LW1vei11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LmdiX01ke3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuNHN9LmdiXzhke2NvbG9yOmJsYWNrfS5nYl8yY3tjb2xvcjp3aGl0ZX0uZ2JfSGEgYSwuZ2JfNmMgYXtjb2xvcjppbmhlcml0fS5nYl9jYXtjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9LmdiX0hhIHN2ZywuZ2JfNmMgc3ZnLC5nYl9xZCAuZ2JfUGQsLmdiX2hkIC5nYl9QZHtjb2xvcjojNWY2MzY4O29wYWNpdHk6MX0uZ2JfMmMgc3ZnLC5nYl82Yy5nYl9hZCBzdmd7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODcpfS5nYl8yYyAuZ2JfcWQgLmdiX1BkLC5nYl8yYyAuZ2JfcWQgLmdiXzFjLC5nYl8yYyAuZ2JfcWQgLmdiX3NkLC5nYl82Yy5nYl9hZCAuZ2JfUGR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODcpfS5nYl8yYyAuZ2JfcWQgLmdiXzBjOm5vdCguZ2JfOWQpe29wYWNpdHk6Ljg3fS5nYl9wZHtjb2xvcjppbmhlcml0O29wYWNpdHk6MTt0ZXh0LXJlbmRlcmluZzpvcHRpbWl6ZUxlZ2liaWxpdHk7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmdiXzJjIC5nYl9wZCwuZ2JfOGQgLmdiX3Bke29wYWNpdHk6MX0uZ2JfNmR7cG9zaXRpb246cmVsYXRpdmV9LmdiX017Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZy1yaWdodDoxNXB4fWEuZ2JfWixzcGFuLmdiX1p7Y29sb3I6cmdiYSgwLDAsMCwuODcpO3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl8yYyBhLmdiX1osLmdiXzJjIHNwYW4uZ2JfWntjb2xvcjp3aGl0ZX1hLmdiX1o6Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4fWEuZ2JfWjpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5nYl8we2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDoxNXB4fS5nYl8wIC5nYl9ae2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9OZHtmb250LWZhbWlseTpHb29nbGUgU2FucyxSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O2xldHRlci1zcGFjaW5nOi4yNXB4O2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6OHB4O21pbi13aWR0aDo5NnB4O3BhZGRpbmc6OXB4IDIzcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uZ2JfSGEuZ2JfQ2QgLmdiX05ke21hcmdpbi1sZWZ0OjhweH0jZ2IgYS5nYl9WYS5nYl9OZHtjdXJzb3I6cG9pbnRlcn0uZ2JfVmEuZ2JfTmQ6aG92ZXJ7YmFja2dyb3VuZDojMWI2NmM5O2JveC1zaGFkb3c6MCAxcHggM3B4IDFweCByZ2JhKDY2LDY0LDY3LC4xNSksMCAxcHggMnB4IDAgcmdiYSg2MCw2NCw2NywuMyl9LmdiX1ZhLmdiX05kOmZvY3VzLC5nYl9WYS5nYl9OZDpob3Zlcjpmb2N1c3tiYWNrZ3JvdW5kOiMxYzVmYmE7Ym94LXNoYWRvdzowIDFweCAzcHggMXB4IHJnYmEoNjYsNjQsNjcsLjE1KSwwIDFweCAycHggMCByZ2JhKDYwLDY0LDY3LC4zKX0uZ2JfVmEuZ2JfTmQ6YWN0aXZle2JhY2tncm91bmQ6IzFiNjNjMTtib3gtc2hhZG93OjAgMXB4IDNweCAxcHggcmdiYSg2Niw2NCw2NywuMTUpLDAgMXB4IDJweCAwIHJnYmEoNjAsNjQsNjcsLjMpfS5nYl9OZHtiYWNrZ3JvdW5kOiMxYTczZTg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH0uZ2JfSGEuZ2JfOWEgLmdiX05ke3BhZGRpbmc6OXB4IDE1cHg7bWluLXdpZHRoOjgwcHh9LmdiXzdke3RleHQtYWxpZ246bGVmdH0jZ2IgLmdiXzJjIGEuZ2JfTmQ6bm90KC5nYl9IKSwjZ2IuZ2JfMmMgYS5nYl9OZHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOiNkYWRjZTA7Ym94LXNoYWRvdzpub25lO2NvbG9yOiMxYTczZTh9I2diIGEuZ2JfVmEuZ2JfSC5nYl9OZHtiYWNrZ3JvdW5kOiM4YWI0Zjg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmU7Y29sb3I6IzIwMjEyNH0jZ2IgLmdiXzJjIGEuZ2JfTmQ6aG92ZXI6bm90KC5nYl9IKSwjZ2IuZ2JfMmMgYS5nYl9OZDpob3ZlcntiYWNrZ3JvdW5kOiNmOGZiZmY7Ym9yZGVyLWNvbG9yOiNjY2UwZmN9I2diIGEuZ2JfVmEuZ2JfSC5nYl9OZDpob3ZlcntiYWNrZ3JvdW5kOiM5M2JhZjk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCAxcHggM3B4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpfSNnYiAuZ2JfMmMgYS5nYl9OZDpmb2N1czpub3QoLmdiX0gpLCNnYiAuZ2JfMmMgYS5nYl9OZDpmb2N1czpob3Zlcjpub3QoLmdiX0gpLCNnYi5nYl8yYyBhLmdiX05kOmZvY3VzOm5vdCguZ2JfSCksI2diLmdiXzJjIGEuZ2JfTmQ6Zm9jdXM6aG92ZXI6bm90KC5nYl9IKXtiYWNrZ3JvdW5kOiNmNGY4ZmY7b3V0bGluZToxcHggc29saWQgI2M5ZGRmY30jZ2IgYS5nYl9WYS5nYl9ILmdiX05kOmZvY3VzLCNnYiBhLmdiX1ZhLmdiX0guZ2JfTmQ6Zm9jdXM6aG92ZXJ7YmFja2dyb3VuZDojYTZjNmZhO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9I2diIC5nYl8yYyBhLmdiX05kOmFjdGl2ZTpub3QoLmdiX0gpLCNnYi5nYl8yYyBhLmdiX05kOmFjdGl2ZXtiYWNrZ3JvdW5kOiNlY2YzZmV9I2diIGEuZ2JfVmEuZ2JfSC5nYl9OZDphY3RpdmV7YmFja2dyb3VuZDojYTFjM2Y5O2JveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoNjAsNjQsNjcsLjMpLDAgMnB4IDZweCAycHggcmdiYSg2MCw2NCw2NywuMTUpfS5nYl9Le2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMxOXB4KXsuZ2JfSmQgLmdiX0p7ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufX0uZ2JfWGF7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44OCk7Ym9yZGVyOjFweCBzb2xpZCAjZGFkY2UwOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtaGVpZ2h0OjQ4cHg7b3ZlcmZsb3c6aGlkZGVuO291dGxpbmU6bm9uZTtwYWRkaW5nOjA7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjEzNHB4O2JvcmRlci1yYWRpdXM6OHB4fS5nYl9YYS5nYl9Ie2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCAjNWY2MzY4fS5nYl80YXtkaXNwbGF5OmluaGVyaXR9LmdiX1hhLmdiX0ggLmdiXzRhe2JhY2tncm91bmQ6I2ZmZmZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5OmlubGluZS1ibG9jaztsZWZ0OjhweDttYXJnaW4tcmlnaHQ6NXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6M3B4O3RvcDotMXB4fS5nYl9YYTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkMmUzZmM7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0OCwyNTAsMjU1LC44OCl9LmdiX1hhLmdiX0g6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0MSwyNDMsMjQ0LC4wNCk7Ym9yZGVyOjFweCBzb2xpZCAjNWY2MzY4fS5nYl9YYTpmb2N1cy12aXNpYmxlLC5nYl9YYTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3V0bGluZToxcHggc29saWQgIzIwMjEyNDtib3gtc2hhZG93OjAgMXB4IDJweCAwIHJnYmEoNjAsNjQsNjcsLjMpLDAgMXB4IDNweCAxcHggcmdiYSg2MCw2NCw2NywuMTUpfS5nYl9YYS5nYl9IOmZvY3VzLXZpc2libGUsLmdiX1hhLmdiX0g6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0MSwyNDMsMjQ0LC4xMik7b3V0bGluZToxcHggc29saWQgI2YxZjNmNDtib3gtc2hhZG93OjAgMXB4IDNweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsLjMpfS5nYl9YYS5nYl9IOmFjdGl2ZSwuZ2JfWGEuZ2JfNWEuZ2JfSDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQxLDI0MywyNDQsLjEpO2JvcmRlcjoxcHggc29saWQgIzVmNjM2OH0uZ2JfNmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctbGVmdDo3cHg7cGFkZGluZy10b3A6MnB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfNmF7bGluZS1oZWlnaHQ6MzJweDt3aWR0aDo3OHB4fS5nYl9YYS5nYl9IIC5nYl82YXtsaW5lLWhlaWdodDoyNnB4O21hcmdpbi1sZWZ0OjA7cGFkZGluZy1ib3R0b206MDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXRvcDowO3dpZHRoOjcycHh9LmdiXzZhLmdiXzdhe2JhY2tncm91bmQtY29sb3I6I2YxZjNmNDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo4cHg7cGFkZGluZy1sZWZ0OjA7bGluZS1oZWlnaHQ6MzBweH0uZ2JfNmEuZ2JfN2EgLmdiXzhhe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfSGE6bm90KC5nYl85YSkgLmdiX1hhe21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjRweH0uZ2JfYWJ7bWF4LWhlaWdodDozMnB4O3dpZHRoOjc4cHh9LmdiX1hhLmdiX0ggLmdiX2Fie21heC1oZWlnaHQ6MjZweDt3aWR0aDo3MnB4fS5nYl9Re2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTpibG9jazttYXJnaW46MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozMnB4O3dpZHRoOjMycHg7ei1pbmRleDowfS5nYl9rYntiYWNrZ3JvdW5kLWNvbG9yOiNlOGYwZmU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDMyLDMzLDM2LC4wOCk7cG9zaXRpb246cmVsYXRpdmV9LmdiX2tiLmdiX1F7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweH0uZ2Jfa2IuZ2JfUTpob3ZlciwuZ2Jfa2IuZ2JfUTphY3RpdmV7Ym94LXNoYWRvdzpub25lfS5nYl9sYntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjJweDtib3gtc2hhZG93OjBweCAxcHggMnB4IDBweCByZ2JhKDYwLDY0LDY3LDAuMyksMHB4IDFweCAzcHggMXB4IHJnYmEoNjAsNjQsNjcsMC4xNSk7aGVpZ2h0OjE0cHg7bWFyZ2luOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3dpZHRoOjE0cHg7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6MX0uZ2JfbWJ7Y29sb3I6IzFmNzFlNztmb250OjQwMCAyMnB4LzMycHggR29vZ2xlIFNhbnMsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO3RleHQtYWxpZ246Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX1AbWVkaWEgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MS4yNSksKG1pbi1yZXNvbHV0aW9uOjEuMjVkcHB4KXsuZ2JfUTo6YmVmb3JlLC5nYl9uYjo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zZm9ybTpzY2FsZSguNSk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IDB9LmdiXzQgLmdiX25iOjpiZWZvcmV7dHJhbnNmb3JtOnNjYWxlKHNjYWxlKC40MTY2NjY2NjcpKX19LmdiX1E6aG92ZXIsLmdiX1E6Zm9jdXN7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjE1KX0uZ2JfUTphY3RpdmV7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMCwwLDAsLjE1KX0uZ2JfUTphY3RpdmU6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czo1MCU7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlfS5nYl9vYntjdXJzb3I6cG9pbnRlcjtsaW5lLWhlaWdodDo0MHB4O21pbi13aWR0aDozMHB4O29wYWNpdHk6Ljc1O292ZXJmbG93OmhpZGRlbjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uZ2JfQi5nYl9vYnt3aWR0aDphdXRvfS5nYl9vYjpob3ZlciwuZ2Jfb2I6Zm9jdXN7b3BhY2l0eTouODV9LmdiX3BiIC5nYl9vYiwuZ2JfcGIgLmdiX3Fie2xpbmUtaGVpZ2h0OjI2cHh9I2diI2diLmdiX3BiIGEuZ2Jfb2IsLmdiX3BiIC5nYl9xYntmb250LXNpemU6MTFweDtoZWlnaHQ6YXV0b30uZ2JfcmJ7Ym9yZGVyLXRvcDo0cHggc29saWQgIzAwMDtib3JkZXItbGVmdDo0cHggZGFzaGVkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo0cHggZGFzaGVkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjZweDtvcGFjaXR5Oi43NTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiXzBhOmhvdmVyIC5nYl9yYntvcGFjaXR5Oi44NX0uZ2JfWGE+LmdiX3p7cGFkZGluZzozcHggM3B4IDNweCA0cHh9LmdiX3NiLmdiX2pie2NvbG9yOiNmZmZ9LmdiXzIgLmdiX29iLC5nYl8yIC5nYl9yYntvcGFjaXR5OjF9I2diI2diLmdiXzIuZ2JfMiBhLmdiX29iLCNnYiNnYiAuZ2JfMi5nYl8yIGEuZ2Jfb2J7Y29sb3I6I2ZmZn0uZ2JfMi5nYl8yIC5nYl9yYntib3JkZXItdG9wLWNvbG9yOiNmZmY7b3BhY2l0eToxfS5nYl9sYSAuZ2JfUTpob3ZlciwuZ2JfMiAuZ2JfUTpob3ZlciwuZ2JfbGEgLmdiX1E6Zm9jdXMsLmdiXzIgLmdiX1E6Zm9jdXN7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4xNSksMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yKX0uZ2JfdGIgLmdiX3osLmdiX3ViIC5nYl96e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFweH0uZ2Jfei5nYl8xLC5nYl92Yi5nYl8xLC5nYl8wYS5nYl8xey1tb3otYm94LWZsZXg6MDtmbGV4OjAgMSBhdXRvfS5nYl93Yi5nYl94YiAuZ2Jfb2J7d2lkdGg6MzBweCFpbXBvcnRhbnR9LmdiX1B7aGVpZ2h0OjQwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTVweDt0b3A6LTVweDt3aWR0aDo0MHB4fS5nYl95YiAuZ2JfUCwuZ2JfemIgLmdiX1B7cmlnaHQ6MDt0b3A6MH0uZ2JfeiAuZ2JfQntwYWRkaW5nOjRweH0uZ2JfVHtkaXNwbGF5Om5vbmV9LmdiX1Rje2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjt0b3A6MnB4Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5nYl9jZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJX0uZ2JfZGUgLmdiX1Rje2Rpc3BsYXk6bm9uZX0uZ2JfSmQgLmdiX1Vje2xpbmUtaGVpZ2h0Om5vcm1hbDtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6MTZweH0uZ2JfcWQuZ2JfcmQgLmdiX1Vje3BhZGRpbmctbGVmdDowfS5nYl9xZCAuZ2JfVWN7cGFkZGluZy1sZWZ0OjEycHh9LmdiX1Zjey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3V0bGluZTpub25lO3RleHQtZGVjb3JhdGlvbjpub25lfS5nYl9WYy5nYl9lZXtkaXJlY3Rpb246bHRyfS5nYl9WYy5nYl9lZSAuZ2JfUGR7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjB9LmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2NvbnRlbnQ6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX2Nscl83NHgyNHB4LnN2Zyk7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6NzRweH0uZ2JfVmMgLmdiX2Zle2hlaWdodDoyNHB4O3dpZHRoOjc0cHh9LmdiX1ZjLC5nYl9WYyAuZ2JfZmV7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9WYyAuZ2JfZmV7b3V0bGluZTpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5nYl9WYy5nYl9nZTpmb2N1cy12aXNpYmxle291dGxpbmU6MXB4IHNvbGlkICMyMDIxMjQ7Ym9yZGVyLXJhZGl1czo0cHh9LmdiXzJjIC5nYl9WYy5nYl9nZTpmb2N1cy12aXNpYmxle291dGxpbmUtY29sb3I6I2YxZjNmNH0uZ2JfOGF7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9aY3tib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrO3Zpc2liaWxpdHk6aGlkZGVufWltZy5nYl8wY3tib3JkZXI6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX2FkIC5nYl9WYyAuZ2JfZmU6OmJlZm9yZSwuZ2JfMmMgLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2NvbnRlbnQ6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX2xpZ2h0X2Nscl83NHgyNHB4LnN2Zyl9LmdiXzhkIC5nYl9WYyAuZ2JfZmU6OmJlZm9yZXtjb250ZW50OnVybChodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby9zdmcvZ29vZ2xlbG9nb19kYXJrX2Nscl83NHgyNHB4LnN2Zyl9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmJsYWNrLW9uLXdoaXRlKXsuZ2JfMmMgLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2NvbnRlbnQ6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX2RhcmtfY2xyXzc0eDI0cHguc3ZnKX19QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OndoaXRlLW9uLWJsYWNrKXsuZ2JfOGQgLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2NvbnRlbnQ6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX2xpZ2h0X2Nscl83NHgyNHB4LnN2Zyl9fS5nYl84YXtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LmdiX1Bke2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6IlByb2R1Y3QgU2FucyIsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjJweDtsaW5lLWhlaWdodDo0OHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWxlZnQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7dG9wOi0xLjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiX3FkIC5nYl9QZHtwYWRkaW5nLWxlZnQ6NHB4fS5nYl9xZCAuZ2JfUGQuZ2JfaGV7cGFkZGluZy1sZWZ0OjB9LmdiXzBjLmdiXzlke3BhZGRpbmctcmlnaHQ6NHB4fS5nYl9hZCAuZ2JfcGQuZ2JfUGR7b3BhY2l0eToxfS5nYl9jZTpmb2N1cyAuZ2JfUGR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uZ2JfaWUgaW1nLmdiXzBje21hcmdpbi1ib3R0b206NHB4fS5nYl9qZXtkaXNwbGF5Om5vbmV9LmdiX1ZjLmdiX2dlOmZvY3VzLXZpc2libGV7b3V0bGluZToxcHggc29saWQgIzIwMjEyNDtib3JkZXItcmFkaXVzOjRweH0uZ2JfMmMgLmdiX1ZjLmdiX2dlOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjojZjFmM2Y0fS5nYl9UY3tkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47dG9wOjJweDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZ2JfY2V7bWF4LXdpZHRoOjEwMCV9LmdiX2RlIC5nYl9UY3tkaXNwbGF5Om5vbmV9LmdiX0pkIC5nYl9VY3tsaW5lLWhlaWdodDpub3JtYWw7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjE2cHh9LmdiX3FkLmdiX3JkIC5nYl9VY3twYWRkaW5nLWxlZnQ6MH0uZ2JfcWQgLmdiX1Vje3BhZGRpbmctbGVmdDoxMnB4fS5nYl9WY3stbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O291dGxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfVmMuZ2JfZWV7ZGlyZWN0aW9uOmx0cn0uZ2JfVmMuZ2JfZWUgLmdiX1Bke3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDowfS5nYl9lIC5nYl9WYyAuZ2JfZmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby9zdmcvZ29vZ2xlbG9nb19jbHJfNzR4MjRweC5zdmcpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyNHB4O3dpZHRoOjc0cHh9LmdiX1ZjIC5nYl9mZXtoZWlnaHQ6MjRweDt3aWR0aDo3NHB4fS5nYl9WYyAuZ2JfZmUsLmdiX1Zje3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfVmMgLmdiX2Zle2Rpc3BsYXk6aW5saW5lLWJsb2NrO291dGxpbmU6bm9uZX0uZ2JfOGF7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9aY3tib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrO3Zpc2liaWxpdHk6aGlkZGVufWltZy5nYl8wY3tib3JkZXI6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmdiXzNhOm5vdCguZ2JfSCkgLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX3N1cmZhY2VfZGFya183NHgyNHB4LnN2Zyl9LmdiXzJhOm5vdCguZ2JfSCkgLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX29uX3N1cmZhY2VfZGFya183NHgyNHB4LnN2Zyl9LmdiX2UuZ2JfYWQgLmdiX1ZjIC5nYl9mZTo6YmVmb3JlLC5nYl9lLmdiX0ggLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX2xpZ2h0X2Nscl83NHgyNHB4LnN2Zyl9LmdiXzJhLmdiX0ggLmdiX1ZjIC5nYl9mZTo6YmVmb3Jle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvL3N2Zy9nb29nbGVsb2dvX29uX3N1cmZhY2VfbGlnaHRfNzR4MjRweC5zdmcpfUBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDpibGFjay1vbi13aGl0ZSl7LmdiX2UgLmdiXzJjIC5nYl9WYyAuZ2JfZmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby9zdmcvZ29vZ2xlbG9nb19kYXJrX2Nscl83NHgyNHB4LnN2Zyl9fUBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDp3aGl0ZS1vbi1ibGFjayl7LmdiXzhkIC5nYl9WYyAuZ2JfZmU6OmJlZm9yZXtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby9zdmcvZ29vZ2xlbG9nb19saWdodF9jbHJfNzR4MjRweC5zdmcpfX0uZ2JfOGF7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS5nYl9QZHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OiJQcm9kdWN0IFNhbnMiLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIycHg7bGluZS1oZWlnaHQ6NDhweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjhweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RvcDotMS41cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nYl9xZCAuZ2JfUGR7cGFkZGluZy1sZWZ0OjRweH0uZ2JfcWQgLmdiX1BkLmdiX2hle3BhZGRpbmctbGVmdDowfS5nYl8wYy5nYl85ZHtwYWRkaW5nLXJpZ2h0OjRweH0uZ2JfYWQgLmdiX3BkLmdiX1Bke29wYWNpdHk6MX0uZ2JfY2U6Zm9jdXMgLmdiX1Bke3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmdiX2llIGltZy5nYl8wY3ttYXJnaW4tYm90dG9tOjRweH0uZ2JfamV7ZGlzcGxheTpub25lfS5nYl8xY3tib3JkZXItcmFkaXVzOjUwJTstbW96LW91dGxpbmUtcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCA0cHg7cGFkZGluZzoxMnB4O292ZXJmbG93OmhpZGRlbjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTstbW96LWJveC1mbGV4OjA7ZmxleDowIDAgYXV0b30uZ2JfOWEgLmdiXzFje21hcmdpbjowIDRweCAwIDB9LmdiXzFjOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS5nYl8xYzpmb2N1cy12aXNpYmxle291dGxpbmU6MXB4IHNvbGlkICMyMDIxMjQ7b3V0bGluZS1vZmZzZXQ6LTFweH0uZ2JfMmMgLmdiXzFjOmZvY3VzLXZpc2libGV7b3V0bGluZToxcHggc29saWQgI2YxZjNmNH0uZ2JfMWM6Zm9jdXM6Zm9jdXMtdmlzaWJsZSwuZ2JfMWM6Zm9jdXMtdmlzaWJsZSwuZ2JfMWM6Zm9jdXMsLmdiXzFjOmZvY3VzOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSg2MCw2NCw2NywuMSl9LmdiXzFjOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjAsNjQsNjcsLjEyKTtvdXRsaW5lOm5vbmV9LmdiXzFjOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSg2MCw2NCw2NywuMDgpO291dGxpbmU6bm9uZX0uZ2JfMmMgLmdiXzFjOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzIsMjM0LDIzNywuMDgpfS5nYl8yYyAuZ2JfMWM6Zm9jdXMsLmdiXzJjIC5nYl8xYzpmb2N1czpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjMyLDIzNCwyMzcsLjEpfS5nYl8yYyAuZ2JfMWM6YWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzIsMjM0LDIzNywuMTIpfS5nYl8zY3tkaXNwbGF5Om5vbmV9LmdiXzRje3RyYW5zZm9ybTpub25lfS5nYl81Y3tkaXNwbGF5Om5vbmV9LmdiXzZje2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3R0b206MDtjb2xvcjojMDAwO2hlaWdodDpjYWxjKDEwMHZoIC0gMTAwJSk7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO3otaW5kZXg6OTkwO3dpbGwtY2hhbmdlOnZpc2liaWxpdHk7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1c30uZ2JfNmMuZ2JfN2MuZ2JfOGMsLmdiXzZjLmdiXzdjLmdiXzhjOmhvdmVye292ZXJmbG93OnZpc2libGV9LmdiXzZjLmdiXzlhe3dpZHRoOjI2NHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yNjRweCl9LmdiXzZjOm5vdCguZ2JfOWEpe3dpZHRoOjI4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yODBweCl9LmdiXzljIC5nYl82Y3t3aWR0aDoxOTVweH0uZ2JfNmMuZ2JfNWF7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dmlzaWJpbGl0eTp2aXNpYmxlO2JveC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuMjgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHN9LmdiXzZjLmdiX2Fke2JhY2tncm91bmQtY29sb3I6cmdiKDMyLDMzLDM2KTtjb2xvcjojZThlYWVkfS5nYl9iZC5nYl9jZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCAwfS5nYl9iZC5nYl9jZD46bm90KC5nYl9kZCl7ZGlzcGxheTpub25lfS5nYl9kZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgYXV0bzstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmdiX2RkPi5nYl9lZHstbW96LWJveC1mbGV4OjE7ZmxleDoxIDAgYXV0b30uZ2JfZGQ+LmdiX2Zkey1tb3otYm94LWZsZXg6MDtmbGV4OjAgMCBhdXRvfS5nYl9nZHtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDtwYWRkaW5nOjhweCAwfS5nYl82Yzpub3QoLmdiX2JkKSAuZ2JfZ2Q6Zmlyc3QtY2hpbGR7cGFkZGluZzowIDAgOHB4IDB9LmdiX2dkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0uZ2JfYWQgLmdiX2dkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzVmNjM2OH0uZ2JfYWQgLmdiX2hkIC5nYl9pZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigzMiwzMywzNik7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzVmNjM2OH0uZ2JfamR7Y3Vyc29yOnBvaW50ZXJ9LmdiX2tkOmVtcHR5e2Rpc3BsYXk6bm9uZX0uZ2JfamQsLmdiX2tke2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo0MHB4O3BhZGRpbmctYm90dG9tOjRweDtwYWRkaW5nLXRvcDo0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uZ2JfYWQgLmdiX2pke2NvbG9yOiNlOGVhZWR9LmdiX2FkIC5nYl9rZHtjb2xvcjojOWFhMGE2fS5nYl82Yy5nYl85YSAuZ2JfamQsLmdiXzZjOm5vdCguZ2JfOWEpIC5nYl9rZHtwYWRkaW5nLWxlZnQ6MTZweH0uZ2JfNmM6bm90KC5nYl85YSkgLmdiX2pkLC5nYl82Yzpub3QoLmdiXzlhKSAuZ2Jfa2R7cGFkZGluZy1sZWZ0OjI0cHh9LmdiX2pkOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5nYl9hZCAuZ2JfamQ6aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDIzMiwyMzQsMjM3LC4wOCl9LmdiX2pkLmdiX2hie2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6cmdiYSgwLDAsMCwuODcpfS5nYl9hZCAuZ2JfamQuZ2JfaGJ7YmFja2dyb3VuZDpyZ2JhKDIzMiwyMzQsMjM3LC4xMik7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODcpfS5nYl9qZCAuZ2JfbGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJX0uZ2JfamQgLmdiX2xkOmZvY3Vze291dGxpbmU6bm9uZX0uZ2JfamQgLmdiX21kLC5nYl9rZHtwYWRkaW5nLWxlZnQ6MzJweDtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDo0MHB4O3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDoxNzZweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmdiXzljIC5nYl9qZCAuZ2JfbWQsLmdiXzljIC5nYl9rZHtwYWRkaW5nLWxlZnQ6MTZweDt3aWR0aDoxMzhweH0uZ2JfZGQuZ2JfZGEgLmdiX2xkOmZvY3VzIC5nYl9tZHt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5nYl9qZCAuZ2JfbmR7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtmbG9hdDpsZWZ0O21hcmdpbi10b3A6OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfaGQ+KntkaXNwbGF5OmJsb2NrO21pbi1oZWlnaHQ6NDhweH0uZ2JfSGEuZ2JfOWEgLmdiX2hkPip7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjRweDtwYWRkaW5nLWxlZnQ6MTZweH0uZ2JfSGE6bm90KC5nYl85YSkgLmdiX2hkPip7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweDtwYWRkaW5nLWxlZnQ6MjRweH0uZ2JfSGE6bm90KC5nYl85YSkgLmdiX3FkIC5nYl9UY3stbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5nYl9oZCAuZ2JfVGN7ZGlzcGxheTp0YWJsZS1jZWxsO2hlaWdodDo0OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfaGQgLmdiX2lke2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtkaXNwbGF5OmJsb2NrfS5nYl9oZCAuZ2JfaWQgLmdiX3Vke2Zsb2F0OnJpZ2h0fS5nYl9IYS5nYl85YSAuZ2JfaGQgLmdiX2lke3BhZGRpbmc6NHB4fS5nYl9IYTpub3QoLmdiXzlhKSAuZ2JfaGQgLmdiX2lke3BhZGRpbmc6OHB4fS5nYl9oZCAuZ2Jfb2J7d2lkdGg6NDBweH0uZ2JfaGQgLmdiX3Jie3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjUwJX0uZ2JfNmMuZ2Jfa2V7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmdiXzZjIC5nYl9jZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uZ2JfNmMgLmdiX1Bke2Rpc3BsYXk6aW5saW5lO3doaXRlLXNwYWNlOm5vcm1hbDt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Ym9keS5nYl9sZSBbZGF0YS1vZ3BjXXt0cmFuc2l0aW9uOm1hcmdpbi1sZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1c31ib2R5LmdiX2xlLmdiX21lIFtkYXRhLW9ncGNde3RyYW5zaXRpb246bWFyZ2luLWxlZnQgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx2aXNpYmlsaXR5IDBzIGxpbmVhciAwc31ib2R5IFtkYXRhLW9ncGNde21hcmdpbi1sZWZ0OjB9Ym9keS5nYl9tZSBbZGF0YS1vZ3BjXXttYXJnaW4tbGVmdDoyODBweH0uZ2JfbmV7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoxM3B4fS5nYl9vZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEpO2JveC1zaGFkb3c6aW5zZXQgMXB4IDFweCAzcHggcmdiYSgwLDAsMCwuMjQpO3dpZHRoOjM0cHg7aGVpZ2h0OjE3cHg7Ym9yZGVyLXJhZGl1czo4cHg7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIGVhc2UgLjE1c30uZ2JfbmVbYXJpYS1wcmVzc2VkPXRydWVdIC5nYl9vZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5nYl9wZXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyNXB4O2hlaWdodDoyNXB4O2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC4xMiksMCAycHggNHB4IHJnYmEoMCwwLDAsLjI0KTt0b3A6LTRweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTJweCk7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSBlYXNlIC4xNXN9LmdiX25lW2FyaWEtcHJlc3NlZD10cnVlXSAuZ2JfcGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9LmdiX3BlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46NXB4O3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHh9LmdiX3Fle2xpbmUtaGVpZ2h0OjA7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmdiXzBkPi5nYl9xZTpvbmx5LWNoaWxke2Zsb2F0OnJpZ2h0fS5nYl9xZSAuZ2JfcmV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmdiX3FlIC5nYl9EZHtjdXJzb3I6cG9pbnRlcn0uZ2JfcWUgLmdiX0RkIGltZ3tvcGFjaXR5Oi41NDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O3BhZGRpbmc6MTBweH0uZ2JfMmMgLmdiX3FlIC5nYl9EZCBpbWd7b3BhY2l0eToxfS5nYl9qe3RleHQtYWxpZ246cmlnaHR9LmdiX3Jle3RleHQtYWxpZ246aW5pdGlhbH0uZ2JfcWUgLmdiX3NlLC5nYl9xZSAuZ2JfdGV7ZGlzcGxheTp0YWJsZS1jZWxsO2hlaWdodDo0OHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZ2JfcWUgLmdiX3NlOm5vdCguZ2JfdWUpe292ZXJmbG93OmhpZGRlbn0uZ2JfdmV7cGFkZGluZy1sZWZ0OjE2cHh9LmdiX3ZlOm5vdCguZ2JfOWEpe3BhZGRpbmctbGVmdDoyNHB4fS5nYl93ZXtjb2xvcjpibGFjaztvcGFjaXR5Oi41NH0uZ2JfeGV7YmFja2dyb3VuZDp3aGl0ZTtib3gtc2hhZG93OjAgNXB4IDVweCAtM3B4IHJnYmEoMCwwLDAsLjIpLDAgOHB4IDEwcHggMXB4IHJnYmEoMCwwLDAsLjE0KSwwIDNweCAxNHB4IDJweCByZ2JhKDAsMCwwLC4xMik7b3ZlcmZsb3cteTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MjRweDt0b3A6NDhweH0uZ2JfRmUsLmdiX0hlLC5nYl9JZXtkaXNwbGF5Om5vbmV9LmdiX0ple2hlaWdodDo0OHB4O21heC13aWR0aDo3MjBweH0uZ2JfMGQuZ2JfS2U6bm90KC5nYl9MZSkgLmdiX0ple21heC13aWR0aDoxMDAlOy1tb3otYm94LWZsZXg6MTtmbGV4OjEgMSBhdXRvfS5nYl9aZD4uZ2JfUmQgLmdiX0ple2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwJX0uZ2JfMGQuZ2JfS2UgLmdiX0plIC5nYl9FZHttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5nYl9FZHtiYWNrZ3JvdW5kOiNmMWYzZjQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO21heC13aWR0aDo3MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGVhc2UtaW4sd2lkdGggLjFzIGVhc2Utb3V0fS5nYl9FZC5nYl9NZXtib3JkZXItcmFkaXVzOjhweCA4cHggMCAwfS5nYl8yYyAuZ2JfRWR7YmFja2dyb3VuZDpyZ2JhKDI0MSwyNDMsMjQ0LC4yNCl9LmdiX0VkIGJ1dHRvbntiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lO3BhZGRpbmc6MCA1cHg7bGluZS1oZWlnaHQ6MH0uZ2JfRWQ6bm90KC5nYl9MZSkgYnV0dG9ue3BhZGRpbmc6MCA1cHh9LmdiX0VkIGJ1dHRvbiBzdmcsLmdiX0VkIGJ1dHRvbiBpbWd7cGFkZGluZzo4cHg7bWFyZ2luOjNweH0uZ2JfRWQuZ2JfTGUgYnV0dG9uIHN2Z3ttYXJnaW4tbGVmdDoxcHg7bWFyZ2luLXJpZ2h0OjFweH0uZ2JfTmUuZ2JfT2UsLmdiX1BlLmdiX09le3BhZGRpbmctbGVmdDoycHg7cGFkZGluZy1yaWdodDoycHh9LmdiX1Ble2Rpc3BsYXk6bm9uZX0uZ2JfTmUsLmdiX1Ble2Zsb2F0OmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmdiX1Fle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7Y3Vyc29yOmRlZmF1bHQ7dmlzaWJpbGl0eTpoaWRkZW47dG9wOjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZS1vdXR9LmdiX1JlIC5nYl9RZXtyaWdodDo0NHB4fS5nYl9RZS5nYl9TZXt2aXNpYmlsaXR5OmluaGVyaXR9LmdiX1Rle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmdiX0Fle2hlaWdodDo0NnB4O3BhZGRpbmc6MDttYXJnaW4tbGVmdDo1NnB4O21hcmdpbi1yaWdodDo0OXB4O292ZXJmbG93OmhpZGRlbn0uZ2JfUmUgLmdiX0Fle21hcmdpbi1yaWdodDo5NnB4fS5nYl95ZXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2ZvbnQ6bm9ybWFsIDE2cHggR29vZ2xlIFNhbnMsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOy1tb3otZm9udC12YXJpYW50LWxpZ2F0dXJlczpub25lO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9uZTtoZWlnaHQ6NDZweDtvdXRsaW5lOm5vbmU7d2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmdiX09lLmdiX0FlIC5nYl95ZS5nYl96ZXtwYWRkaW5nLWxlZnQ6MnB4fS5nYl8yYyAuZ2JfeWV7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuODcpfS5nYl95ZTpub3QoLmdiX3plKXtwYWRkaW5nOjExcHggMH0uZ2JfeWUuZ2JfemV7cGFkZGluZzowfS5nYl96ZXtoZWlnaHQ6NDZweDtsaW5lLWhlaWdodDo0NnB4fS5nYl9FZDpub3QoLmdiX0ZkKSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDAsMCwwLC41NCl9LmdiXzJjIC5nYl9FZDpub3QoLmdiX0ZkKSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44Nyl9LmdiX0VkLmdiX0xlOm5vdCguZ2JfdGEpe2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZmxvYXQ6cmlnaHQ7Ym94LXNoYWRvdzpub25lfS5nYl9FZC5nYl9MZTpub3QoLmdiX3RhKSAuZ2JfQWUsLmdiX0VkLmdiX0xlOm5vdCguZ2JfdGEpIC5nYl9RZSwuZ2JfRWQuZ2JfTGU6bm90KC5nYl90YSkgLmdiX1Rle2Rpc3BsYXk6bm9uZX0uZ2JfRWQuZ2JfTGUuZ2JfdGF7bWFyZ2luLWxlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDphdXRvfS5nYl9FZC5nYl9MZS5nYl90YSAuZ2JfTmV7ZGlzcGxheTpub25lfS5nYl9FZC5nYl9MZSAuZ2JfTmV7cGFkZGluZzowO3Bvc2l0aW9uOnN0YXRpY30uZ2JfRWQuZ2JfTGUuZ2JfdGEgLmdiX1Ble2Rpc3BsYXk6YmxvY2t9LmdiX0hhLmdiX2NkIC5nYl9SZC5nYl9VZTpub3QoLmdiX0xlKSAuZ2JfSmUsLmdiX0hhLmdiX2NkIC5nYl9SZC5nYl9WZS5nYl9XZTpub3QoLmdiX0xlKSAuZ2JfSmUsLmdiX0hhLmdiX1dkIC5nYl9SZDpub3QoLmdiX1VlKTpub3QoLmdiX0xlKSAuZ2JfSmV7cGFkZGluZy1yaWdodDozMHB4fS5nYl9IYS5nYl9jZCAuZ2JfUmQuZ2JfV2U6bm90KC5nYl9MZSkgLmdiX0plLC5nYl9IYS5nYl9jZCAuZ2JfUmQuZ2JfVmUuZ2JfVWU6bm90KC5nYl9MZSkgLmdiX0ple3BhZGRpbmctbGVmdDozMHB4fS5nYl9SZDpub3QoLmdiX0xlKSAuZ2JfSmV7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3dpZHRoOjEwMCU7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG99LmdiX0plLmdiX2pie2Rpc3BsYXk6bm9uZX0uZ2JfMGQuZ2JfWGU+LmdiX3Fle21pbi13aWR0aDphdXRvIWltcG9ydGFudH0uZ2JfWmUsLmdiXzBlOm5vdCguZ2JfS2QpOm5vdCguZ2JfWGUpLmdiX0xlLC5nYl8wZTpub3QoLmdiX0tkKTpub3QoLmdiX1hlKS5nYl8xZXstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmdiXzBlOm5vdCguZ2JfS2QpOm5vdCguZ2JfWGUpey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmdiXzBlOm5vdCguZ2JfS2QpOm5vdCguZ2JfWGUpOm5vdCguZ2JfTGUpLmdiXzJlLC5nYl8wZTpub3QoLmdiX0tkKTpub3QoLmdiX1hlKTpub3QoLmdiX0xlKS5nYl9LZXstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5nYl8wZC5nYl9LZCwuZ2JfMGQuZ2JfWGV7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5nYl9IYS5nYl85YSAuZ2JfcWQsLmdiX0pkLmdiX0tkLmdiX1hkPi5nYl9xZHstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgYXV0bztvdmVyZmxvdzpoaWRkZW59LmdiX0hhLmdiXzlhIC5nYl8wZCwuZ2JfSmQuZ2JfS2QuZ2JfWGQ+LmdiXzBkey1tb3otYm94LWZsZXg6MDtmbGV4OjAgMCBhdXRvfXNlbnRpbmVse30KICAgICAgICBAZm9udC1mYWNle2ZvbnQtZmFtaWx5OidNYXRlcmlhbCBJY29ucyBFeHRlbmRlZCc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL21hdGVyaWFsaWNvbnNleHRlbmRlZC92MTU0L2tKRWpCdmdYN0JnbmtTclV3VDhVbkxWYzM4WXlkZWpZWS1vRV9Mdkoud29mZjIpZm9ybWF0KCd3b2ZmMicpO30KICAgICAgPC9zdHlsZT4KPGhlYWRlciBjbGFzcz0iZ2JfSGEgZ2JfeWIgZ2JfQWQgZ2JfT2QgZ2JfY2QiIG5nLW5vbi1iaW5kYWJsZT0iIiBpZD0iZ2IiIHJvbGU9ImJhbm5lciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMjQ1LDI0NSwxKSI+PGRpdiBjbGFzcz0iZ2JfNmQiPjxkaXYgY2xhc3M9ImdiXzhjIGdiXzZjIGdiX2NkIiBuZy1ub24tYmluZGFibGU9IiI+PGRpdiBjbGFzcz0iZ2JfaGQiPjxkaXYgY2xhc3M9ImdiX1RjIj48ZGl2IGNsYXNzPSJnYl9VYyI+PGEgY2xhc3M9ImdiX2NlIGdiX1ZjIGdiX2dlIiBhcmlhLWxhYmVsPSJCbG9nZ2VyIiBocmVmPSIvYmxvZ2dlci5nIj48c3BhbiBjbGFzcz0iZ2JfMGMgZ2JfZmUiIGFyaWEtaGlkZGVuPSJ0cnVlIiByb2xlPSJwcmVzZW50YXRpb24iPjwvc3Bhbj48L2E+PGRpdiBjbGFzcz0iZ2JfamUiPkJsb2dnZXI8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnYl9kZCI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfSmQgZ2JfTWQgZ2JfS2QiPjxkaXYgY2xhc3M9ImdiX1JkIGdiX3FkIj48ZGl2IGNsYXNzPSJnYl8xYyBnYl9TIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgYXJpYS1sYWJlbD0iSG92ZWRtZW55IiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48c3ZnIGZvY3VzYWJsZT0iZmFsc2UiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTMgMThoMTh2LTJIM3Yyem0wLTVoMTh2LTJIM3Yyem0wLTd2MmgxOFY2SDN6Ij48L3BhdGg+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfMWMgZ2JfNGMgZ2JfUyIgYXJpYS1sYWJlbD0iR8OlIHRpbGJha2UiIHRpdGxlPSJHw6UgdGlsYmFrZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0yMCAxMUg3LjgzbDUuNTktNS41OUwxMiA0bC04IDggOCA4IDEuNDEtMS40MUw3LjgzIDEzSDIwdi0yeiI+PC9wYXRoPjwvc3ZnPjwvZGl2PjxkaXYgY2xhc3M9ImdiXzFjIGdiX2sgZ2JfUyIgYXJpYS1sYWJlbD0iTHVrayIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ij48L3BhdGg+PC9zdmc+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfVGMiPjxkaXYgY2xhc3M9ImdiX1VjIj48YSBjbGFzcz0iZ2JfY2UgZ2JfVmMgZ2JfZ2UiIGFyaWEtbGFiZWw9IkJsb2dnZXIiIGhyZWY9Ii9ibG9nZ2VyLmciPjxpbWcgY2xhc3M9ImdiXzBjIiBzcmM9Ii9pbWcvYmxvZ2dlci1sb2dvdHlwZS1jb2xvci1ibGFjay0xeC5wbmciIHNyY3NldD0iL2ltZy9ibG9nZ2VyLWxvZ290eXBlLWNvbG9yLWJsYWNrLTF4LnBuZyAxeCwgL2ltZy9ibG9nZ2VyLWxvZ290eXBlLWNvbG9yLWJsYWNrLTJ4LnBuZyAyeCAiIGFsdD0iIiBhcmlhLWhpZGRlbj0idHJ1ZSIgcm9sZT0icHJlc2VudGF0aW9uIiBzdHlsZT0id2lkdGg6MTEycHg7aGVpZ2h0OjI3cHgiPjwvYT48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnYl9SZCBnYl9TIGdiX29kIGdiX3BkIj48c3BhbiBjbGFzcz0iZ2Jfc2QiIGFyaWEtbGV2ZWw9IjEiIHJvbGU9ImhlYWRpbmciPjwvc3Bhbj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnYl9SZCBnYl8wZCBnYl9LZCBnYl9LZSBnYl9XZSBnYl9VZSBnYl8wZSI+PGRpdiBjbGFzcz0iZ2JfaiBnYl9xZSI+PGRpdiBjbGFzcz0iZ2Jfc2UgZ2JfcmUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJ1JvYm90byc7IGNvbG9yOiBibGFjazsgZm9udC1zaXplOiAyMHB4OyBtYXJnaW4tcmlnaHQ6IDZweDsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOyBib3JkZXItbGVmdDogMXB4IHNvbGlkIGJsYWNrOyBwYWRkaW5nLWxlZnQ6IDMycHg7IiB0aXRsZT0iUGFnZSBUaXRsZSIgaWQ9Im9nYlBhZ2VUaXRsZSI+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImdiX3YgZ2JfcWUiPjxkaXYgY2xhc3M9ImdiX3NlIGdiX3JlIj48c3BhbiBzdHlsZT0iZGlzcGxheTogbm9uZTsiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfMWQgZ2Jfd2IgZ2JfUmQiIG5nLW5vbi1iaW5kYWJsZT0iIiBkYXRhLW9nc3ItdXA9IiI+PGRpdiBjbGFzcz0iZ2JfQmQiPjxkaXYgY2xhc3M9ImdiX2lkIj48ZGl2IGNsYXNzPSJnYl9KIGdiX3VkIGdiXzEiIGRhdGEtb2dzci1mYj0idHJ1ZSIgZGF0YS1vZ3NyLWFsdD0iIiBpZD0iZ2J3YSI+PGRpdiBjbGFzcz0iZ2JfRCI+PGEgY2xhc3M9ImdiX0IiIGFyaWEtbGFiZWw9Ikdvb2dsZS1hcHBlciIgaHJlZj0iaHR0cHM6Ly93d3cuZ29vZ2xlLm5vL2ludGwvbm8vYWJvdXQvcHJvZHVjdHM/dGFiPWpoIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgcm9sZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PHN2ZyBjbGFzcz0iZ2JfRiIgZm9jdXNhYmxlPSJmYWxzZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiw4YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xMiwyMGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNNiwyMGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNNiwxNGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnpNMTIsMTRjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTE2LDZjMCwxLjEgMC45LDIgMiwyczIsLTAuOSAyLC0yIC0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDJ6TTEyLDhjMS4xLDAgMiwtMC45IDIsLTJzLTAuOSwtMiAtMiwtMiAtMiwwLjkgLTIsMiAwLjksMiAyLDJ6TTE4LDE0YzEuMSwwIDIsLTAuOSAyLC0ycy0wLjksLTIgLTIsLTIgLTIsMC45IC0yLDIgMC45LDIgMiwyek0xOCwyMGMxLjEsMCAyLC0wLjkgMiwtMnMtMC45LC0yIC0yLC0yIC0yLDAuOSAtMiwyIDAuOSwyIDIsMnoiPjwvcGF0aD48aW1hZ2Ugc3JjPSJodHRwczovL3NzbC5nc3RhdGljLmNvbS9nYi9pbWFnZXMvYmFyL2FsLWljb24ucG5nIiBhbHQ9IiIgaGVpZ2h0PSIyNCIgd2lkdGg9IjI0IiBzdHlsZT0iYm9yZGVyOm5vbmU7ZGlzcGxheTpub25lIFw5Ij48L2ltYWdlPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj48L2Rpdj48YSBjbGFzcz0iZ2JfVmEgZ2JfVmQgZ2JfTmQgZ2JfRGQiIGFyaWEtbGFiZWw9IkxvZ2cgcMOlIiBocmVmPSJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2U9YmxvZ2dlciZhbXA7Y29udGludWU9aHR0cHM6Ly93d3cuYmxvZ2dlci5jb20vYmxvZ2dlci5nJmFtcDtlYz1HQVpBSGciIHRhcmdldD0iX3RvcCI+PHNwYW4gY2xhc3M9ImdiX2JlIj5Mb2dnIHDDpTwvc3Bhbj48L2E+PC9kaXY+PGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDBweDsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogMzcwcHg7IHotaW5kZXg6IDk5MTsgaGVpZ2h0OiAwcHg7IG1hcmdpbi10b3A6IDU3cHg7IHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2UtaW4tb3V0IDBzOyByaWdodDogMHB4OyBtYXJnaW4tcmlnaHQ6IDRweDsgbWF4LXdpZHRoOiBjYWxjKDEwMGR2dyAtIDIwcHgpOyI+PC9kaXY+PGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDBweDsgdmlzaWJpbGl0eTogaGlkZGVuOyB3aWR0aDogNDIwcHg7IHotaW5kZXg6IDk5MTsgaGVpZ2h0OiAyODBweDsgbWFyZ2luLXRvcDogNzBweDsgcmlnaHQ6IDBweDsgbWFyZ2luLXJpZ2h0OiAxMXB4OyI+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ2JfYSBnYl9NZCI+PC9kaXY+PC9oZWFkZXI+PGRpdiBuZy1ub24tYmluZGFibGU9IiI+PC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICA7dGhpcy5nYmFyXz17Q09ORklHOltbWzAsInd3dy5nc3RhdGljLmNvbSIsIm9nLnF0bS5lbl9VUy5YSEZlYXVXU0g1MC4yMDE5Lk8iLCJubyIsIm5vIiwiMzAiLDAsWzQsMiwiLjc2LiIsIiIsIiIsIjgyNzI2Nzg3OSIsIjAiXSxudWxsLCJWa0lLYWRlQUM4YTlrdlFQdGZuU2VBIixudWxsLDAsIm9nLnF0bS5JTUtsRHR3UTE4cy5MLkY0Lk8iLCJBQTJZclR0UHhyMm1hNENwbGJ2WF9KczN6ejVWQml1T2F3IiwiQUEyWXJUdktfNFpOMHBOd2dRVGZJemxfZW9ORE9FejhIdyIsIiIsMiwxLDIwMCwiTk9SIixudWxsLG51bGwsIjMwIiwiMzAiLDEsbnVsbCxudWxsLDk4NDIxNzQxLG51bGwsMCwwXSxudWxsLFsxLDAuMTAwMDAwMDAxNDkwMTE2MSwyLDFdLG51bGwsWzAsMCwwLG51bGwsIiIsIiIsIiIsIiIsMCwwLG51bGwsIiJdLFswLDEsIiIsMSwxLDAsMCwwLDAsMCxudWxsLDEsMSxudWxsLDAsMCxudWxsLG51bGwsMCwwLDAsIi9pbWcvYmxvZ2dlci1sb2dvdHlwZS1jb2xvci1ibGFjay0xeC5wbmciLCIiLCIiLCIvaW1nL2Jsb2dnZXItbG9nb3R5cGUtY29sb3ItYmxhY2stMngucG5nIiwiIiwiIixudWxsLDAsMCwwLDAsMCxudWxsLG51bGwsbnVsbCwicmdiYSgzMiwzMywzNiwxKSIsInJnYmEoMjQ1LDI0NSwyNDUsMSkiLDAsMCwxLG51bGwsbnVsbCxudWxsLDBdLG51bGwsbnVsbCxbIjEiLCJnY2lfOTFmMzA3NTVkNmE2Yjc4N2RjYzJhNDA2MmU2ZTk4MjQuanMiLCJnb29nbGVhcGlzLmNsaWVudDpnYXBpLmlmcmFtZXMiLCIiLCJubyJdLG51bGwsbnVsbCxudWxsLG51bGwsWyJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMvaz1nYXBpLmdhcGkuZW4uVVhETlhrZ0NEcEUuTy9kPTEvcnM9QUhwT29vXzN5a2pSVHJ2bElCdjZ2ZnU0M1J4N0NZVVFTQS9tPV9fZmVhdHVyZXNfXyIsImh0dHBzOi8vYXBpcy5nb29nbGUuY29tIiwiIiwiIiwiIiwiIixudWxsLDEsImVzX3BsdXNvbmVfZ2NfMjAyNTEwMDYuMF9wMSIsIm5vIixudWxsLDBdLFswLjAwOTk5OTk5OTc3NjQ4MjU4Miwibm8iLCIzMCIsW251bGwsIiIsIjAiLG51bGwsMSw1MTg0MDAwLG51bGwsbnVsbCwiIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMCxudWxsLDEsbnVsbCwxLDAsMCwwLG51bGwsbnVsbCwwLDAsbnVsbCwwLDAsMCwwLDBdLG51bGwsbnVsbCxudWxsLDBdLFsxLG51bGwsbnVsbCw0MDQwMCwzMCwiTk9SIiwibm8iLCI4MjcyNjc4NzkuMCIsNyxudWxsLDAsMCxudWxsLG51bGwsbnVsbCxudWxsLCIiLG51bGwsbnVsbCxudWxsLCJWa0lLYWRlQUM4YTlrdlFQdGZuU2VBIiwwLDAsMCxudWxsLDIsNSwidWciLDMyNiwwLDAsbnVsbCxudWxsLDEsOTg0MjE3NDEsMCwwXSxbW251bGwsbnVsbCxudWxsLCJodHRwczovL3d3dy5nc3RhdGljLmNvbS9vZy9fL2pzL2s9b2cucXRtLmVuX1VTLlhIRmVhdVdTSDUwLjIwMTkuTy9ydD1qL209cV9kbnAscV9wYyxxbWQscWN3aWQscWFwaWQscWFkcyxxX2RnL2V4bT1xYWF3LHFhYnIscWFkZCxxYWlkLHFhbG8scWVicixxZWluLHFoYXcscWhhd2dtMyxxaGJhLHFoYnIscWhicmdtMyxxaGNoLHFoY2hnbTMscWhnYSxxaGlkLHFoaWRnbTMscWhpbixxaGxvLHFobG9nbTMscWhtbixxaHBjLHFoc2YscWhzZmdtMyxxaHR0L2Q9MS9lZD0xL3JzPUFBMllyVHRQeHIybWE0Q3BsYnZYX0pzM3p6NVZCaXVPYXciXSxbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL29nL18vc3Mvaz1vZy5xdG0uSU1LbER0d1ExOHMuTC5GNC5PL209cW1kLHFjd2lkL2V4Y209cWFhdyxxYWJyLHFhZGQscWFpZCxxYWxvLHFlYnIscWVpbixxaGF3LHFoYXdnbTMscWhiYSxxaGJyLHFoYnJnbTMscWhjaCxxaGNoZ20zLHFoZ2EscWhpZCxxaGlkZ20zLHFoaW4scWhsbyxxaGxvZ20zLHFobW4scWhwYyxxaHNmLHFoc2ZnbTMscWh0dC9kPTEvZWQ9MS9jdD16Z21zL3JzPUFBMllyVHZLXzRaTjBwTndnUVRmSXpsX2VvTkRPRXo4SHciXV0sbnVsbCxudWxsLG51bGwsW1tbbnVsbCxudWxsLFtudWxsLG51bGwsbnVsbCwiaHR0cHM6Ly9vZ3MuZ29vZ2xlLmNvbS93aWRnZXQvYXBwL3NvP2F3d2Q9MVx1MDAyNmRwaT05ODQyMTc0MSJdLDAsNDcwLDM3MCw1Nyw0LDEsMCwwLDYzLDY0LDgwMDAsImh0dHBzOi8vd3d3Lmdvb2dsZS5uby9pbnRsL25vL2Fib3V0L3Byb2R1Y3RzP3RhYj1qaCIsNjcsMSw2OSxudWxsLDEsNzAsIkRldCBvcHBzdG8gZXQgcHJvYmxlbSB1bmRlciBpbm5sYXN0aW5nZW4gYXYgYXBwb3ZlcnNpa3Rlbi4gUHLDuHYgcMOlIG55dHQgb20gbm9lbiBtaW51dHRlciwgZWxsZXIgZ8OlIHRpbCBzaWRlbiBmb3IgJTEkc0dvb2dsZS1wcm9kdWt0ZXIlMiRzLiIsMywwLDAsNzQsMCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCIvd2lkZ2V0L2FwcC9zbyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMCxudWxsLDE0NCxudWxsLG51bGwsMywwLDAsMCwwLCIow6VwbmVzIGkgZW4gbnkgZmFuZSkiLG51bGwsMF0sW251bGwsbnVsbCxbbnVsbCxudWxsLG51bGwsImh0dHBzOi8vb2dzLmdvb2dsZS5jb20vd2lkZ2V0L2NhbGxvdXQ/ZGM9MSJdLG51bGwsMjgwLDQyMCw3MCwxMSwwLG51bGwsMCxudWxsLG51bGwsODAwMCxudWxsLDcxLDQsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLDc2LG51bGwsbnVsbCxudWxsLDEwNywxMDgsMTA5LCIiLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwwXV0sbnVsbCxudWxsLCIzMCIsIjMwIiwxLDAsbnVsbCwibm8iLDAsbnVsbCwwLDAsMCxbbnVsbCwiIixudWxsLG51bGwsbnVsbCwwLG51bGwsMCwwLCIiLCIiLCIiLCJodHRwczovL29nYWRzLXBhLmNsaWVudHM2Lmdvb2dsZS5jb20iLDAsMCwwLCIiLCIiLDAsMCxudWxsLDg2NDAwLG51bGwsMCxudWxsLG51bGwsMCxudWxsLDAsMCwiODU1OTI4NDQ3MCIsMywwLDBdLDAsbnVsbCxudWxsLG51bGwsMCwwLCIiLDBdXV0sfTt0aGlzLmdiYXJfPXRoaXMuZ2Jhcl98fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKXy5fRl90b2dnbGVzX2luaXRpYWxpemU9ZnVuY3Rpb24oYSl7KHR5cGVvZiBnbG9iYWxUaGlzIT09InVuZGVmaW5lZCI/Z2xvYmFsVGhpczp0eXBlb2Ygc2VsZiE9PSJ1bmRlZmluZWQiP3NlbGY6dGhpcykuX0ZfdG9nZ2xlc19nYmFyXz1hfHxbXX07KDAsXy5fRl90b2dnbGVzX2luaXRpYWxpemUpKFtdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGphLHBhLHFhLHVhLHdhLHhhLEZhLEdhLCRhLGNiLGViLGpiLGZiLGxiLHJiLERiLEViLEZiLEdiO18uYWE9ZnVuY3Rpb24oYSxiKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLF8uYWEpO2Vsc2V7Y29uc3QgYz1FcnJvcigpLnN0YWNrO2MmJih0aGlzLnN0YWNrPWMpfWEmJih0aGlzLm1lc3NhZ2U9U3RyaW5nKGEpKTtiIT09dm9pZCAwJiYodGhpcy5jYXVzZT1iKX07Xy5iYT1mdW5jdGlvbihhKXthLnlrPSEwO3JldHVybiBhfTtfLmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoZGEoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKGVhKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gZmE/QmlnSW50KGEpOmE9aGEoYSk/YT8iMSI6IjAiOmRhKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKamE9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2NvbnN0IGQ9YVtjXSxlPWJbY107aWYoZD5lKXJldHVybiExO2lmKGQ8ZSlyZXR1cm4hMH19O18ua2E9ZnVuY3Rpb24oYSl7Xy50LnNldFRpbWVvdXQoKCk9Pnt0aHJvdyBhO30sMCl9O18ubWE9ZnVuY3Rpb24oKXtyZXR1cm4gXy5sYSgpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigid2Via2l0IikhPS0xfTtfLmxhPWZ1bmN0aW9uKCl7dmFyIGE9Xy50Lm5hdmlnYXRvcjtyZXR1cm4gYSYmKGE9YS51c2VyQWdlbnQpP2E6IiJ9O3BhPWZ1bmN0aW9uKGEpe2lmKCFuYXx8IW9hKXJldHVybiExO2ZvcihsZXQgYj0wO2I8b2EuYnJhbmRzLmxlbmd0aDtiKyspe2NvbnN0IHticmFuZDpjfT1vYS5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07Cl8udT1mdW5jdGlvbihhKXtyZXR1cm4gXy5sYSgpLmluZGV4T2YoYSkhPS0xfTtxYT1mdW5jdGlvbigpe3JldHVybiBuYT8hIW9hJiZvYS5icmFuZHMubGVuZ3RoPjA6ITF9O18ucmE9ZnVuY3Rpb24oKXtyZXR1cm4gcWEoKT8hMTpfLnUoIk9wZXJhIil9O18uc2E9ZnVuY3Rpb24oKXtyZXR1cm4gcWEoKT8hMTpfLnUoIlRyaWRlbnQiKXx8Xy51KCJNU0lFIil9O18udGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KCJGaXJlZm94Iil8fF8udSgiRnhpT1MiKX07Xy52YT1mdW5jdGlvbigpe3JldHVybiBfLnUoIlNhZmFyaSIpJiYhKHVhKCl8fChxYSgpPzA6Xy51KCJDb2FzdCIpKXx8Xy5yYSgpfHwocWEoKT8wOl8udSgiRWRnZSIpKXx8KHFhKCk/cGEoIk1pY3Jvc29mdCBFZGdlIik6Xy51KCJFZGcvIikpfHwocWEoKT9wYSgiT3BlcmEiKTpfLnUoIk9QUiIpKXx8Xy50YSgpfHxfLnUoIlNpbGsiKXx8Xy51KCJBbmRyb2lkIikpfTsKdWE9ZnVuY3Rpb24oKXtyZXR1cm4gcWEoKT9wYSgiQ2hyb21pdW0iKTooXy51KCJDaHJvbWUiKXx8Xy51KCJDcmlPUyIpKSYmIShxYSgpPzA6Xy51KCJFZGdlIikpfHxfLnUoIlNpbGsiKX07d2E9ZnVuY3Rpb24oKXtyZXR1cm4gbmE/ISFvYSYmISFvYS5wbGF0Zm9ybTohMX07eGE9ZnVuY3Rpb24oKXtyZXR1cm4gXy51KCJpUGhvbmUiKSYmIV8udSgiaVBvZCIpJiYhXy51KCJpUGFkIil9O18ueWE9ZnVuY3Rpb24oKXtyZXR1cm4geGEoKXx8Xy51KCJpUGFkIil8fF8udSgiaVBvZCIpfTtfLnphPWZ1bmN0aW9uKCl7cmV0dXJuIHdhKCk/b2EucGxhdGZvcm09PT0ibWFjT1MiOl8udSgiTWFjaW50b3NoIil9O18uQmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5BYShhLGIpPj0wfTtfLkNhPWZ1bmN0aW9uKGEsYj0hMSl7cmV0dXJuIGImJlN5bWJvbC5mb3ImJmE/U3ltYm9sLmZvcihhKTphIT1udWxsP1N5bWJvbChhKTpTeW1ib2woKX07Cl8uRWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PXZvaWQgMD9hLmohPT1EYSYmISEoMiYoYS5mYVtfLnZdfDApKTohISgyJmIpJiZhLmohPT1EYX07RmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O0dhPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07Xy5IYT1mdW5jdGlvbihhKXthPUVycm9yKGEpO0dhKGEsIndhcm5pbmciKTtyZXR1cm4gYX07Xy5KYT1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUlhKSE9bnVsbD9jOklhPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLEdhKGEsImluY2lkZW50IiksXy5rYShhKSl9fTsKXy5MYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigia2AiK18uS2EoYSkrImAiK2EpO3JldHVybiBhfTtfLk1hPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTtfLk9hPWZ1bmN0aW9uKGEpe2lmKCEoMCxfLk5hKShhKSl0aHJvdyBfLkhhKCJlbnVtIik7cmV0dXJuIGF8MH07Xy5QYT1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD9hOigwLF8uTmEpKGEpP2F8MDp2b2lkIDB9O18uUWE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ibnVtYmVyIil0aHJvdyBfLkhhKCJpbnQzMiIpO2lmKCEoMCxfLk5hKShhKSl0aHJvdyBfLkhhKCJpbnQzMiIpO3JldHVybiBhfDB9O18uUmE9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbCYmdHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfTsKXy5TYT1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5WYT1mdW5jdGlvbihhLGIsYyl7aWYoYSE9bnVsbCYmYVtfLlRhXT09PV8uVWEpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGQ9YVtfLnZdfDA7Yz1kfGMmMzJ8YyYyO2MhPT1kJiYoYVtfLnZdPWMpO3JldHVybiBuZXcgYihhKX19O18uWWE9ZnVuY3Rpb24oYSl7Y29uc3QgYj1fLldhKF8uWGEpO3JldHVybiBiP2FbYl06dm9pZCAwfTskYT1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLkphKFphLDEpfTsKY2I9ZnVuY3Rpb24oYSxiLGMsZCl7Y29uc3QgZT1kIT09dm9pZCAwO2Q9ISFkO3ZhciBmPV8uV2EoXy5YYSksZzshZSYmZiYmKGc9YVtmXSkmJmcueGQoJGEpO2Y9W107dmFyIGg9YS5sZW5ndGg7bGV0IGs7Zz00Mjk0OTY3Mjk1O2xldCBsPSExO2NvbnN0IG09ISEoYiY2NCkscD1tP2ImMTI4PzA6LTE6dm9pZCAwO2lmKCEoYiYxfHwoaz1oJiZhW2gtMV0sayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oaC0tLGc9aCk6az12b2lkIDAsIW18fGImMTI4fHxlKSkpe2w9ITA7dmFyIHI7Zz0oKHI9YWIpIT1udWxsP3I6RmEpKGctcCxwLGEsayx2b2lkIDApK3B9Yj12b2lkIDA7Zm9yKHI9MDtyPGg7cisrKXtsZXQgdz1hW3JdO2lmKHchPW51bGwmJih3PWModyxkKSkhPW51bGwpaWYobSYmcj49Zyl7Y29uc3QgRT1yLXA7dmFyIHE9dm9pZCAwOygocT1iKSE9bnVsbD9xOmI9e30pW0VdPXd9ZWxzZSBmW3JdPXd9aWYoaylmb3IobGV0IHcgaW4gayl7cT0Ka1t3XTtpZihxPT1udWxsfHwocT1jKHEsZCkpPT1udWxsKWNvbnRpbnVlO2g9K3c7bGV0IEU7aWYobSYmIU51bWJlci5pc05hTihoKSYmKEU9aCtwKTxnKWZbRV09cTtlbHNle2xldCBNOygoTT1iKSE9bnVsbD9NOmI9e30pW3ddPXF9fWImJihsP2YucHVzaChiKTpmW2ddPWIpO2UmJl8uV2EoXy5YYSkmJihhPV8uWWEoYSkpJiYiZnVuY3Rpb24iPT10eXBlb2YgXy5iYiYmYSBpbnN0YW5jZW9mIF8uYmImJihmW18uWGFdPWEuaSgpKTtyZXR1cm4gZn07CmViPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAibnVtYmVyIjpyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGEpP2E6IiIrYTtjYXNlICJiaWdpbnQiOnJldHVybigwLF8uZGIpKGEpP051bWJlcihhKToiIithO2Nhc2UgImJvb2xlYW4iOnJldHVybiBhPzE6MDtjYXNlICJvYmplY3QiOmlmKEFycmF5LmlzQXJyYXkoYSkpe2NvbnN0IGI9YVtfLnZdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpjYihhLGIsZWIpfWlmKGEhPW51bGwmJmFbXy5UYV09PT1fLlVhKXJldHVybiBmYihhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5nYiYmYSBpbnN0YW5jZW9mIF8uZ2IpcmV0dXJuIGEuaigpO3JldHVybn1yZXR1cm4gYX07amI9ZnVuY3Rpb24oYSxiKXtpZihiKXthYj1iPT1udWxsfHxiPT09RmF8fGJbaGJdIT09aWI/RmE6Yjt0cnl7cmV0dXJuIGZiKGEpfWZpbmFsbHl7YWI9dm9pZCAwfX1yZXR1cm4gZmIoYSl9OwpmYj1mdW5jdGlvbihhKXthPWEuZmE7cmV0dXJuIGNiKGEsYVtfLnZdfDAsZWIpfTsKXy5tYj1mdW5jdGlvbihhLGIsYyxkPTApe2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImwiKTtlPWFbXy52XXwwO2lmKGtiJiYxJmUpdGhyb3cgRXJyb3IoIm0iKTsyMDQ4JmUmJiEoMiZlKSYmbGIoKTtpZihlJjI1Nil0aHJvdyBFcnJvcigibiIpO2lmKGUmNjQpcmV0dXJuKGV8ZCkhPT1lJiYoYVtfLnZdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigibyIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgZz1mLTE7Y29uc3Qgaz1jW2ddO2lmKGshPW51bGwmJnR5cGVvZiBrPT09Im9iamVjdCImJmsuY29uc3RydWN0b3I9PT1PYmplY3Qpe2I9ZSYxMjg/MDotMTtnLT1iO2lmKGc+PTEwMjQpdGhyb3cgRXJyb3IoInEiKTtmb3IodmFyIGggaW4gaylpZihmPStoLGY8ZyljW2YrCmJdPWtbaF0sZGVsZXRlIGtbaF07ZWxzZSBicmVhaztlPWUmLTE2NzYwODMzfChnJjEwMjMpPDwxNDticmVhayBhfX1pZihiKXtoPU1hdGgubWF4KGIsZi0oZSYxMjg/MDotMSkpO2lmKGg+MTAyNCl0aHJvdyBFcnJvcigiciIpO2U9ZSYtMTY3NjA4MzN8KGgmMTAyMyk8PDE0fX19YVtfLnZdPWV8NjR8ZDtyZXR1cm4gYX07bGI9ZnVuY3Rpb24oKXtpZihrYil0aHJvdyBFcnJvcigicCIpO18uSmEobmIsNSl9OwpyYj1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLnZdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8ub2IoYSxjLCExLGImJiEoYyYxNikpOihhW18udl18PTM0LGMmNCYmT2JqZWN0LmZyZWV6ZShhKSkpO3JldHVybiBhfWlmKGEhPW51bGwmJmFbXy5UYV09PT1fLlVhKXJldHVybiBiPWEuZmEsYz1iW18udl18MCxfLkVhKGEsYyk/YTpfLnBiKGEsYixjKT9fLnFiKGEsYik6Xy5vYihiLGMpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBfLmdiJiZhIGluc3RhbmNlb2YgXy5nYilyZXR1cm4gYX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7YT1uZXcgYS5jb25zdHJ1Y3RvcihiKTtjJiYoYS5qPURhKTthLm89RGE7cmV0dXJuIGF9OwpfLm9iPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPWNiKGEsYixyYixkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18udl09YjtyZXR1cm4gYX07Xy50Yj1mdW5jdGlvbihhKXtjb25zdCBiPWEuZmEsYz1iW18udl18MDtyZXR1cm4gXy5FYShhLGMpP18ucGIoYSxiLGMpP18ucWIoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLm9iKGIsYywhMSkpOmF9O18udWI9ZnVuY3Rpb24oYSl7aWYoYS5qIT09RGEpcmV0dXJuITE7dmFyIGI9YS5mYTtiPV8ub2IoYixiW18udl18MCk7YltfLnZdfD0yMDQ4O2EuZmE9YjthLmo9dm9pZCAwO2Eubz12b2lkIDA7cmV0dXJuITB9O18udmI9ZnVuY3Rpb24oYSl7aWYoIV8udWIoYSkmJl8uRWEoYSxhLmZhW18udl18MCkpdGhyb3cgRXJyb3IoKTt9O18ud2I9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18udl18MCk7YiYzMiYmIShiJjQwOTYpJiYoYVtfLnZdPWJ8NDA5Nil9OwpfLnBiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYyYyPyEwOmMmMzImJiEoYyY0MDk2KT8oYltfLnZdPWN8MixhLmo9RGEsITApOiExfTtfLnhiPWZ1bmN0aW9uKGEsYixjLGQsZSl7Y29uc3QgZj1jKyhlPzA6LTEpO3ZhciBnPWEubGVuZ3RoLTE7aWYoZz49MSsoZT8wOi0xKSYmZj49Zyl7Y29uc3QgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe2xldCBoO2c9KChoPWIpIT1udWxsP2g6Yj1hW18udl18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihhW2crKGU/MDotMSldPXtbY106ZH0pOmFbZl09ZH1yZXR1cm4gYn07Cl8uemI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtsZXQgZj0hMTtkPV8ueWIoYSxkLGUsZz0+e2NvbnN0IGg9Xy5WYShnLGMsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLkVhKGQpJiZfLndiKGEsYiksZH07Xy5BYj1mdW5jdGlvbigpe2NvbnN0IGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihhLGEucHJvdG90eXBlKTtyZXR1cm4gYX07Xy54PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPW51bGw/ISFhOiEhYn07Xy55PWZ1bmN0aW9uKGEsYil7Yj09dm9pZCAwJiYoYj0iIik7cmV0dXJuIGEhPW51bGw/YTpifTtfLkJiPWZ1bmN0aW9uKGEsYixjKXtmb3IoY29uc3QgZCBpbiBhKWIuY2FsbChjLGFbZF0sZCxhKX07Xy5DYj1mdW5jdGlvbihhKXtmb3IoY29uc3QgYiBpbiBhKXJldHVybiExO3JldHVybiEwfTtEYj1PYmplY3QuZGVmaW5lUHJvcGVydHk7CkViPWZ1bmN0aW9uKGEpe2E9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdO2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKXt2YXIgYz1hW2JdO2lmKGMmJmMuTWF0aD09TWF0aClyZXR1cm4gY310aHJvdyBFcnJvcigiYSIpO307RmI9RWIodGhpcyk7R2I9ZnVuY3Rpb24oYSxiKXtpZihiKWE6e3ZhciBjPUZiO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKWJyZWFrIGE7Yz1jW2VdfWE9YVthLmxlbmd0aC0xXTtkPWNbYV07Yj1iKGQpO2IhPWQmJmIhPW51bGwmJkRiKGMsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX19O0diKCJnbG9iYWxUaGlzIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8RmJ9KTsKR2IoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYiIpfSk7R2IoIlByb21pc2UucHJvdG90eXBlLmZpbmFsbHkiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihjKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGIoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBjfSl9LGZ1bmN0aW9uKGMpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYigpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgYzt9KX0pfX0pOwpHYigiQXJyYXkucHJvdG90eXBlLmZsYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYil7Yj1iPT09dm9pZCAwPzE6Yjt2YXIgYz1bXTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHRoaXMsZnVuY3Rpb24oZCl7QXJyYXkuaXNBcnJheShkKSYmYj4wPyhkPUFycmF5LnByb3RvdHlwZS5mbGF0LmNhbGwoZCxiLTEpLGMucHVzaC5hcHBseShjLGQpKTpjLnB1c2goZCl9KTtyZXR1cm4gY319KTt2YXIgSmIsS2IsTmI7Xy5IYj1fLkhifHx7fTtfLnQ9dGhpc3x8c2VsZjtKYj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uSWIoIldJWl9nbG9iYWxfZGF0YS5veE4zbmIiKTthPWMmJmNbYV07cmV0dXJuIGEhPW51bGw/YTpifTtLYj1fLnQuX0ZfdG9nZ2xlc19nYmFyX3x8W107Xy5JYj1mdW5jdGlvbihhLGIpe2E9YS5zcGxpdCgiLiIpO2I9Ynx8Xy50O2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGI9YlthW2NdXSxiPT1udWxsKXJldHVybiBudWxsO3JldHVybiBifTtfLkthPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiIT0ib2JqZWN0Ij9iOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmI6Im51bGwifTtfLkxiPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO3JldHVybiBiPT0ib2JqZWN0IiYmYSE9bnVsbHx8Yj09ImZ1bmN0aW9uIn07Xy5NYj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsKTmI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLmNhbGwuYXBwbHkoYS5iaW5kLGFyZ3VtZW50cyl9O18uej1mdW5jdGlvbihhLGIsYyl7Xy56PU5iO3JldHVybiBfLnouYXBwbHkobnVsbCxhcmd1bWVudHMpfTtfLk9iPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkE9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGM9Xy50LGQ7YS5sZW5ndGgmJihkPWEuc2hpZnQoKSk7KWEubGVuZ3RofHxiPT09dm9pZCAwP2NbZF0mJmNbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdP2M9Y1tkXTpjPWNbZF09e306Y1tkXT1ifTtfLldhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKXy5CPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYygpe31jLnByb3RvdHlwZT1iLnByb3RvdHlwZTthLlg9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLm1rPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGc9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0yKSxoPTI7aDxhcmd1bWVudHMubGVuZ3RoO2grKylnW2gtMl09YXJndW1lbnRzW2hdO3JldHVybiBiLnByb3RvdHlwZVtlXS5hcHBseShkLGcpfX07Xy5CKF8uYWEsRXJyb3IpO18uYWEucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgUGI9ISEoS2JbMF0+PjE3JjEpLFFiPSEhKEtiWzBdJjQwOTYpLFJiPSEhKEtiWzBdPj4xOCYxKSxTYj0hIShLYlswXSYyNTYpLFRiPSEhKEtiWzBdJjMyKTt2YXIgbmEsa2I7bmE9UGI/UmI6SmIoNjEwNDAxMzAxLCExKTtrYj1QYj9RYnx8IVNiOkpiKDc0ODQwMjE0NywhMCk7Xy5VYj1QYj9UYjpKYig4MjQ2NDg1NjcsITEpO18uVmI9Xy5iYShhPT5hIT09bnVsbCYmYSE9PXZvaWQgMCk7dmFyIGVhPV8uYmEoYT0+dHlwZW9mIGE9PT0ibnVtYmVyIiksZGE9Xy5iYShhPT50eXBlb2YgYT09PSJzdHJpbmciKSxoYT1fLmJhKGE9PnR5cGVvZiBhPT09ImJvb2xlYW4iKTt2YXIgZmE9dHlwZW9mIF8udC5CaWdJbnQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgXy50LkJpZ0ludCgwKT09PSJiaWdpbnQiO3ZhciBZYixXYixaYixYYjtfLmRiPV8uYmEoYT0+ZmE/YT49V2ImJmE8PVhiOmFbMF09PT0iLSI/amEoYSxZYik6amEoYSxaYikpO1liPU51bWJlci5NSU5fU0FGRV9JTlRFR0VSLnRvU3RyaW5nKCk7V2I9ZmE/QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKTp2b2lkIDA7WmI9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtYYj1mYT9CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpOnZvaWQgMDtfLiRiPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiO18uYWM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI7dmFyIG9hLGJjPV8udC5uYXZpZ2F0b3I7b2E9YmM/YmMudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO18uQWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Xy5jYz1mdW5jdGlvbihhLGIsYyl7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyl9O18uZGM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhLGIsdm9pZCAwKX07Xy5lYz1mdW5jdGlvbihhKXtfLmVjWyIgIl0oYSk7cmV0dXJuIGF9O18uZWNbIiAiXT1mdW5jdGlvbigpe307dmFyIHNjO18uZmM9Xy5yYSgpO18uaGM9Xy5zYSgpO18uaWM9Xy51KCJFZGdlIik7Xy5qYz1fLnUoIkdlY2tvIikmJiEoXy5tYSgpJiYhXy51KCJFZGdlIikpJiYhKF8udSgiVHJpZGVudCIpfHxfLnUoIk1TSUUiKSkmJiFfLnUoIkVkZ2UiKTtfLmtjPV8ubWEoKSYmIV8udSgiRWRnZSIpO18ubGM9Xy56YSgpO18ubWM9d2EoKT9vYS5wbGF0Zm9ybT09PSJXaW5kb3dzIjpfLnUoIldpbmRvd3MiKTtfLm5jPXdhKCk/b2EucGxhdGZvcm09PT0iQW5kcm9pZCI6Xy51KCJBbmRyb2lkIik7Xy5vYz14YSgpO18ucGM9Xy51KCJpUGFkIik7Xy5xYz1fLnUoImlQb2QiKTtfLnJjPV8ueWEoKTsKYTp7bGV0IGE9IiI7Y29uc3QgYj1mdW5jdGlvbigpe2NvbnN0IGM9Xy5sYSgpO2lmKF8uamMpcmV0dXJuL3J2OihbXlwpO10rKShcKXw7KS8uZXhlYyhjKTtpZihfLmljKXJldHVybi9FZGdlXC8oW1xkXC5dKykvLmV4ZWMoYyk7aWYoXy5oYylyZXR1cm4vXGIoPzpNU0lFfHJ2KVs6IF0oW15cKTtdKykoXCl8OykvLmV4ZWMoYyk7aWYoXy5rYylyZXR1cm4vV2ViS2l0XC8oXFMrKS8uZXhlYyhjKTtpZihfLmZjKXJldHVybi8oPzpWZXJzaW9uKVsgXC9dPyhcUyspLy5leGVjKGMpfSgpO2ImJihhPWI/YlsxXToiIik7aWYoXy5oYyl7dmFyIHRjO2NvbnN0IGM9Xy50LmRvY3VtZW50O3RjPWM/Yy5kb2N1bWVudE1vZGU6dm9pZCAwO2lmKHRjIT1udWxsJiZ0Yz5wYXJzZUZsb2F0KGEpKXtzYz1TdHJpbmcodGMpO2JyZWFrIGF9fXNjPWF9Xy51Yz1zYztfLnZjPV8udGEoKTtfLndjPXhhKCl8fF8udSgiaVBvZCIpO18ueGM9Xy51KCJpUGFkIik7Xy55Yz1fLnUoIkFuZHJvaWQiKSYmISh1YSgpfHxfLnRhKCl8fF8ucmEoKXx8Xy51KCJTaWxrIikpO18uemM9dWEoKTtfLkFjPV8udmEoKSYmIV8ueWEoKTt2YXIgWmEsbmIsaGI7Xy5YYT1fLkNhKCk7Xy5CYz1fLkNhKCk7WmE9Xy5DYSgpO18uQ2M9Xy5DYSgpO25iPV8uQ2EoKTtfLlRhPV8uQ2EoIm1fbSIsITApO2hiPV8uQ2EoKTtfLkRjPV8uQ2EoKTt2YXIgRmM7Xy52PV8uQ2EoImphcyIsITApO0ZjPVtdO0ZjW18udl09NztfLkVjPU9iamVjdC5mcmVlemUoRmMpO3ZhciBEYTtfLlVhPXt9O0RhPXt9O18uR2M9T2JqZWN0LmZyZWV6ZSh7fSk7dmFyIGliPXt9O3ZhciBJYT12b2lkIDA7Xy5IYz10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNJbnROOnZvaWQgMDtfLkljPU51bWJlci5pc1NhZmVJbnRlZ2VyO18uTmE9TnVtYmVyLmlzRmluaXRlO18uSmM9TWF0aC50cnVuYzt2YXIgYWI7Xy5LYz1fLmlhKDApO18uTGM9e307Xy5NYz1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Xy55YihhLmZhLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5vIT09RGEpcmV0dXJuIGJ9O18ueWI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO2NvbnN0IGU9YisoYz8wOi0xKSxmPWEubGVuZ3RoLTE7bGV0IGcsaDtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpaWYoZz1hW2ZdLGchPW51bGwmJnR5cGVvZiBnPT09Im9iamVjdCImJmcuY29uc3RydWN0b3I9PT1PYmplY3QpYz1nW2JdLGg9ITA7ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm47ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uTmM9ZnVuY3Rpb24oYSxiLGMsZCl7Xy52YihhKTtjb25zdCBlPWEuZmE7Xy54YihlLGVbXy52XXwwLGIsYyxkKTtyZXR1cm4gYX07Cl8uQz1mdW5jdGlvbihhLGIsYyxkKXtsZXQgZT1hLmZhLGY9ZVtfLnZdfDA7Yj1fLnpiKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy52XXwwO2lmKCFfLkVhKGEsZikpe2NvbnN0IGc9Xy50YihiKTtnIT09YiYmKF8udWIoYSkmJihlPWEuZmEsZj1lW18udl18MCksYj1nLGY9Xy54YihlLGYsYyxiLGQpLF8ud2IoZSxmKSl9cmV0dXJuIGJ9O18uRD1mdW5jdGlvbihhLGIsYyl7Yz09bnVsbCYmKGM9dm9pZCAwKTtfLk5jKGEsYixjKTtjJiYhXy5FYShjKSYmXy53YihhLmZhKTtyZXR1cm4gYX07Xy5PYz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5QYShfLk1jKGEsYixjLGQpKX07Xy5GPWZ1bmN0aW9uKGEsYixjPSExLGQpe2xldCBlO3JldHVybihlPV8uTWEoXy5NYyhhLGIsZCkpKSE9bnVsbD9lOmN9O18uRz1mdW5jdGlvbihhLGIsYz0iIixkKXtsZXQgZTtyZXR1cm4oZT1fLlNhKF8uTWMoYSxiLGQpKSkhPW51bGw/ZTpjfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5TYShfLk1jKGEsYixjLF8uTGMpKX07Xy5KPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBfLk5jKGEsYixjPT1udWxsP2M6Xy5MYShjKSxkKX07Xy5LPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5OYyhhLGIsYz09bnVsbD9jOl8uUWEoYykpfTtfLkw9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uTmMoYSxiLF8uUmEoYyksZCl9O18uTj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy5OYyhhLGIsYz09bnVsbD9jOl8uT2EoYyksZCl9O18uTz1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5mYT1fLm1iKGEsYixjLDIwNDgpfXRvSlNPTigpe3JldHVybiBqYih0aGlzKX13YShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoamIodGhpcyxhKSl9fTtfLk8ucHJvdG90eXBlW18uVGFdPV8uVWE7Xy5PLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZhLnRvU3RyaW5nKCl9O18uUWM9Xy5BYigpO18uUmM9Xy5BYigpO18uU2M9Xy5BYigpO18uVGM9U3ltYm9sKCk7dmFyIFVjPWNsYXNzIGV4dGVuZHMgXy5Pe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5WYz1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1EKGEpe3JldHVybiBfLksodGhpcywzLGEpfX07Xy5XYz1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O18uUD1mdW5jdGlvbigpe3RoaXMucWE9dGhpcy5xYTt0aGlzLlk9dGhpcy5ZfTtfLlAucHJvdG90eXBlLnFhPSExO18uUC5wcm90b3R5cGUuaXNEaXNwb3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnFhfTtfLlAucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXt0aGlzLnFhfHwodGhpcy5xYT0hMCx0aGlzLlIoKSl9O18uUC5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9O18uUC5wcm90b3R5cGUuUj1mdW5jdGlvbigpe2lmKHRoaXMuWSlmb3IoO3RoaXMuWS5sZW5ndGg7KXRoaXMuWS5zaGlmdCgpKCl9O3ZhciBYYz1jbGFzcyBleHRlbmRzIF8uUHtjb25zdHJ1Y3Rvcigpe3ZhciBhPXdpbmRvdztzdXBlcigpO3RoaXMubz1hO3RoaXMuaT1bXTt0aGlzLmo9e319cmVzb2x2ZShhKXtsZXQgYj10aGlzLm87YT1hLnNwbGl0KCIuIik7Y29uc3QgYz1hLmxlbmd0aDtmb3IobGV0IGQ9MDtkPGM7KytkKWlmKGJbYVtkXV0pYj1iW2FbZF1dO2Vsc2UgcmV0dXJuIG51bGw7cmV0dXJuIGIgaW5zdGFuY2VvZiBGdW5jdGlvbj9iOm51bGx9dWIoKXtjb25zdCBhPXRoaXMuaS5sZW5ndGgsYj10aGlzLmksYz1bXTtmb3IobGV0IGQ9MDtkPGE7KytkKXtjb25zdCBlPWJbZF0uaSgpLGY9dGhpcy5yZXNvbHZlKGUpO2lmKGYmJmYhPXRoaXMualtlXSl0cnl7YltkXS51YihmKX1jYXRjaChnKXt9ZWxzZSBjLnB1c2goYltkXSl9dGhpcy5pPWMuY29uY2F0KGIuc2xpY2UoYSkpfX07dmFyIFpjPWNsYXNzIGV4dGVuZHMgXy5Qe2NvbnN0cnVjdG9yKCl7dmFyIGE9Xy5ZYztzdXBlcigpO3RoaXMubz1hO3RoaXMuQT10aGlzLmk9bnVsbDt0aGlzLnY9MDt0aGlzLkI9e307dGhpcy5qPSExO2E9d2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQ7YS5pbmRleE9mKCJNU0lFIik+PTAmJmEuaW5kZXhPZigiVHJpZGVudCIpPj0wJiYoYT0vXGIoPzpNU0lFfHJ2KVs6IF0oW15cKTtdKykoXCl8OykvLmV4ZWMoYSkpJiZhWzFdJiZwYXJzZUZsb2F0KGFbMV0pPDkmJih0aGlzLmo9ITApfUMoYSxiKXt0aGlzLmk9Yjt0aGlzLkE9YTtiLnByZXZlbnREZWZhdWx0P2IucHJldmVudERlZmF1bHQoKTpiLnJldHVyblZhbHVlPSExfX07Xy4kYz1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBhZD1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBkZDtfLmJkPWZ1bmN0aW9uKGEsYixjPTk4LGQ9bmV3IF8uVmMpe2lmKGEuaSl7Y29uc3QgZT1uZXcgVWM7Xy5MKGUsMSxiLm1lc3NhZ2UpO18uTChlLDIsYi5zdGFjayk7Xy5LKGUsMyxiLmxpbmVOdW1iZXIpO18uTihlLDUsMSk7Xy5EKGQsNDAsZSk7YS5pLmxvZyhjLGQpfX07ZGQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1jZDt0aGlzLmk9bnVsbDtfLkYoYSw0LCEwKX1sb2coYSxiLGM9bmV3IF8uVmMpe18uYmQodGhpcyxhLDk4LGMpfX07dmFyIGVkLGZkO2VkPWZ1bmN0aW9uKGEpe2lmKGEuby5sZW5ndGg+MCl7dmFyIGI9YS5pIT09dm9pZCAwLGM9YS5qIT09dm9pZCAwO2lmKGJ8fGMpe2I9Yj9hLnY6YS5BO2M9YS5vO2Eubz1bXTt0cnl7Xy5jYyhjLGIsYSl9Y2F0Y2goZCl7Y29uc29sZS5lcnJvcihkKX19fX07Xy5nZD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YTt0aGlzLmo9dm9pZCAwO3RoaXMubz1bXX10aGVuKGEsYixjKXt0aGlzLm8ucHVzaChuZXcgZmQoYSxiLGMpKTtlZCh0aGlzKX1yZXNvbHZlKGEpe2lmKHRoaXMuaSE9PXZvaWQgMHx8dGhpcy5qIT09dm9pZCAwKXRocm93IEVycm9yKCJ2Iik7dGhpcy5pPWE7ZWQodGhpcyl9cmVqZWN0KGEpe2lmKHRoaXMuaSE9PXZvaWQgMHx8dGhpcy5qIT09dm9pZCAwKXRocm93IEVycm9yKCJ2Iik7dGhpcy5qPWE7ZWQodGhpcyl9dihhKXthLmomJmEuai5jYWxsKGEuaSx0aGlzLmkpfUEoYSl7YS5vJiZhLm8uY2FsbChhLmksdGhpcy5qKX19OwpmZD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy5pPWN9fTtfLmhkPWE9Pnt2YXIgYj0icmMiO2lmKGEucmMmJmEuaGFzT3duUHJvcGVydHkoYikpcmV0dXJuIGEucmM7Yj1uZXcgYTtyZXR1cm4gYS5yYz1ifTtfLlI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IF8uZ2Q7dGhpcy5pPW5ldyBfLmdkO3RoaXMuRD1uZXcgXy5nZDt0aGlzLkI9bmV3IF8uZ2Q7dGhpcy5DPW5ldyBfLmdkO3RoaXMuQT1uZXcgXy5nZDt0aGlzLm89bmV3IF8uZ2Q7dGhpcy5qPW5ldyBfLmdkO3RoaXMuRj1uZXcgXy5nZDt0aGlzLkc9bmV3IF8uZ2R9Sygpe3JldHVybiB0aGlzLnZ9cWEoKXtyZXR1cm4gdGhpcy5pfU8oKXtyZXR1cm4gdGhpcy5EfU0oKXtyZXR1cm4gdGhpcy5CfVAoKXtyZXR1cm4gdGhpcy5DfUwoKXtyZXR1cm4gdGhpcy5BfVkoKXtyZXR1cm4gdGhpcy5vfUooKXtyZXR1cm4gdGhpcy5qfU4oKXtyZXR1cm4gdGhpcy5GfXN0YXRpYyBpKCl7cmV0dXJuIF8uaGQoXy5SKX19O3ZhciBrZDtfLmpkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQyhfLmlkLF8uV2MsNSl9O2tkPWNsYXNzIGV4dGVuZHMgXy5Pe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGxkO3dpbmRvdy5nYmFyXyYmd2luZG93LmdiYXJfLkNPTkZJRz9sZD13aW5kb3cuZ2Jhcl8uQ09ORklHWzBdfHx7fTpsZD1bXTtfLmlkPW5ldyBrZChsZCk7dmFyIGNkO2NkPV8uQyhfLmlkLGFkLDMpfHxuZXcgYWQ7Xy5ZYz1uZXcgZGQ7Xy5BKCJnYmFyXy5fRHVtcEV4Y2VwdGlvbiIsZnVuY3Rpb24oYSl7Xy5ZYz9fLlljLmxvZyhhKTpjb25zb2xlLmVycm9yKGEpfSk7Xy5tZD1uZXcgWmM7dmFyIG9kO18ucGQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLm5kLmkoKTtpZihhIGluIGMuaSl7aWYoYy5pW2FdIT1iKXRocm93IG5ldyBvZDt9ZWxzZXtjLmlbYV09Yjtjb25zdCBoPWMualthXTtpZihoKWZvcihsZXQgaz0wLGw9aC5sZW5ndGg7azxsO2srKyl7Yj1oW2tdO3ZhciBkPWMuaTtkZWxldGUgYi5pW2FdO2lmKF8uQ2IoYi5pKSl7Zm9yKHZhciBlPWIuai5sZW5ndGgsZj1BcnJheShlKSxnPTA7ZzxlO2crKylmW2ddPWRbYi5qW2ddXTtiLm8uYXBwbHkoYi52LGYpfX1kZWxldGUgYy5qW2FdfX07Xy5uZD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaT17fTt0aGlzLmo9e319c3RhdGljIGkoKXtyZXR1cm4gXy5oZChfLm5kKX19O18ucWQ9Y2xhc3MgZXh0ZW5kcyBfLmFhe2NvbnN0cnVjdG9yKCl7c3VwZXIoKX19O29kPWNsYXNzIGV4dGVuZHMgXy5xZHt9O18uQSgiZ2Jhci5BIixfLmdkKTtfLmdkLnByb3RvdHlwZS5hYT1fLmdkLnByb3RvdHlwZS50aGVuO18uQSgiZ2Jhci5CIixfLlIpO18uUi5wcm90b3R5cGUuYmE9Xy5SLnByb3RvdHlwZS5xYTtfLlIucHJvdG90eXBlLmJiPV8uUi5wcm90b3R5cGUuTztfLlIucHJvdG90eXBlLmJkPV8uUi5wcm90b3R5cGUuUDtfLlIucHJvdG90eXBlLmJmPV8uUi5wcm90b3R5cGUuSztfLlIucHJvdG90eXBlLmJnPV8uUi5wcm90b3R5cGUuTTtfLlIucHJvdG90eXBlLmJoPV8uUi5wcm90b3R5cGUuTDtfLlIucHJvdG90eXBlLmJqPV8uUi5wcm90b3R5cGUuWTtfLlIucHJvdG90eXBlLmJrPV8uUi5wcm90b3R5cGUuSjtfLlIucHJvdG90eXBlLmJsPV8uUi5wcm90b3R5cGUuTjtfLkEoImdiYXIuYSIsXy5SLmkoKSk7d2luZG93LmdiYXImJndpbmRvdy5nYmFyLmFwJiZ3aW5kb3cuZ2Jhci5hcCh3aW5kb3cuZ2Jhci5hKTt2YXIgcmQ9bmV3IFhjO18ucGQoImFwaSIscmQpOwp2YXIgc2Q9Xy5qZCgpfHxuZXcgXy5XYyx0ZD13aW5kb3csdWQ9Xy55KF8uSShzZCw4KSk7dGQuX19QVlQ9dWQ7Xy5wZCgiZXEiLF8ubWQpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnZkPWNsYXNzIGV4dGVuZHMgXy5Pe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3ZD1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB4ZD1jbGFzcyBleHRlbmRzIF8uUHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5qPVtdO3RoaXMuaT1bXX1vKGEsYil7dGhpcy5qLnB1c2goe2ZlYXR1cmVzOmEsb3B0aW9uczpiIT1udWxsP2I6bnVsbH0pfWluaXQoYSxiLGMpe3dpbmRvdy5nYXBpPXt9O2NvbnN0IGQ9d2luZG93Ll9fX2pzbD17fTtkLmg9Xy55KF8uSShhLDEpKTtfLk1hKF8uTWMoYSwxMikpIT1udWxsJiYoZC5kcG89Xy54KF8uRihhLDEyKSkpO2QubXM9Xy55KF8uSShhLDIpKTtkLm09Xy55KF8uSShhLDMpKTtkLmw9W107Xy5HKGIsMSkmJihhPV8uSShiLDMpKSYmdGhpcy5pLnB1c2goYSk7Xy5HKGMsMSkmJihjPV8uSShjLDIpKSYmdGhpcy5pLnB1c2goYyk7Xy5BKCJnYXBpLmxvYWQiLCgwLF8ueikodGhpcy5vLHRoaXMpKTtyZXR1cm4gdGhpc319O3ZhciB5ZD1fLkMoXy5pZCxfLiRjLDE0KTtpZih5ZCl7dmFyIHpkPV8uQyhfLmlkLF8udmQsOSl8fG5ldyBfLnZkLEJkPW5ldyB3ZCxDZD1uZXcgeGQ7Q2QuaW5pdCh5ZCx6ZCxCZCk7Xy5wZCgiZ3MiLENkKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KSh0aGlzLmdiYXJfKTsKLy8gR29vZ2xlIEluYy4KdGhpcy5nYmFyXz10aGlzLmdiYXJffHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uRGQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmopaWYoYyBpbnN0YW5jZW9mIEFycmF5KWZvcih2YXIgZCBvZiBjKV8uRGQoYSxiLGQpO2Vsc2V7ZD0oMCxfLnopKGEuQyxhLGIpO2NvbnN0IGU9YS52K2M7YS52Kys7Yi5kYXRhc2V0LmVxaWQ9ZTthLkJbZV09ZDtiJiZiLmFkZEV2ZW50TGlzdGVuZXI/Yi5hZGRFdmVudExpc3RlbmVyKGMsZCwhMSk6YiYmYi5hdHRhY2hFdmVudD9iLmF0dGFjaEV2ZW50KCJvbiIrYyxkKTphLm8ubG9nKEVycm9yKCJ0YCIrYikpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBFZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZ2JfSiAuZ2JfQiIpLEZkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnYi5nYl85YyIpO0VkJiYhRmQmJl8uRGQoXy5tZCxFZCwiY2xpY2siKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5HZD10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBIZDtIZD1jbGFzcyBleHRlbmRzIF8ucWR7fTtfLklkPWZ1bmN0aW9uKGEsYil7aWYoYiBpbiBhLmkpcmV0dXJuIGEuaVtiXTt0aHJvdyBuZXcgSGQ7fTtfLkpkPWZ1bmN0aW9uKGEpe3JldHVybiBfLklkKF8ubmQuaSgpLGEpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIE1kO18uS2Q9ZnVuY3Rpb24oYSl7Y29uc3QgYj1hLmxlbmd0aDtpZihiPjApe2NvbnN0IGM9QXJyYXkoYik7Zm9yKGxldCBkPTA7ZDxiO2QrKyljW2RdPWFbZF07cmV0dXJuIGN9cmV0dXJuW119O01kPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5MZChiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uTmQ9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXM7Xy5PZD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9YX10b1N0cmluZygpe3JldHVybiB0aGlzLml9fTtfLlBkPW5ldyBfLk9kKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO18uTGQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5TaD1hfX07Xy5RZD1bTWQoImRhdGEiKSxNZCgiaHR0cCIpLE1kKCJodHRwcyIpLE1kKCJtYWlsdG8iKSxNZCgiZnRwIiksbmV3IF8uTGQoYT0+L15bXjpdKihbLz8jXXwkKS8udGVzdChhKSldO18uUmQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pKyIifX07Xy5TZD1uZXcgXy5SZChfLk5kP18uTmQuZW1wdHlIVE1MOiIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFdkLGdlLGplLFZkLFhkLGJlO18uVGQ9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLk5hKShhKT9hfDA6dm9pZCAwfTtfLlVkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubGFzdEluZGV4T2YoYiwwKT09MH07V2Q9ZnVuY3Rpb24oKXtsZXQgYT1udWxsO2lmKCFWZClyZXR1cm4gYTt0cnl7Y29uc3QgYj1jPT5jO2E9VmQuY3JlYXRlUG9saWN5KCJvZ2ItcXRtI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O18uWWQ9ZnVuY3Rpb24oKXtYZD09PXZvaWQgMCYmKFhkPVdkKCkpO3JldHVybiBYZH07Xy4kZD1mdW5jdGlvbihhKXtjb25zdCBiPV8uWWQoKTthPWI/Yi5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IF8uWmQoYSl9OwpfLmFlPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlpkKXJldHVybiBhLmk7dGhyb3cgRXJyb3IoIngiKTt9O18uY2U9ZnVuY3Rpb24oYSl7aWYoYmUudGVzdChhKSlyZXR1cm4gYX07Xy5kZT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5PZClpZihhIGluc3RhbmNlb2YgXy5PZClhPWEuaTtlbHNlIHRocm93IEVycm9yKCJ4Iik7ZWxzZSBhPV8uY2UoYSk7cmV0dXJuIGF9O18uZWU9ZnVuY3Rpb24oYSxiPWRvY3VtZW50KXtsZXQgYztjb25zdCBkPShjPWIucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOmMuY2FsbChiLGAke2F9W25vbmNlXWApO3JldHVybiBkPT1udWxsPyIiOmQubm9uY2V8fGQuZ2V0QXR0cmlidXRlKCJub25jZSIpfHwiIn07Xy5TPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5NYShfLk1jKGEsYixjLF8uTGMpKX07Xy5mZT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRkKF8uTWMoYSxiLHZvaWQgMCxfLkxjKSl9OwpnZT1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1YYihhKXtyZXR1cm4gXy5MKHRoaXMsMjQsYSl9fTtfLmhlPWZ1bmN0aW9uKCl7cmV0dXJuIF8uQyhfLmlkLGdlLDEpfTtfLmllPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoYSk7cmV0dXJuIGI9PSJhcnJheSJ8fGI9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIifTtWZD1fLk5kO18uWmQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5pPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5pKyIifX07YmU9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTt2YXIgcGUsdGUsa2U7Xy5tZT1mdW5jdGlvbihhKXtyZXR1cm4gYT9uZXcga2UoXy5sZShhKSk6amV8fChqZT1uZXcga2UpfTtfLm5lPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyI/YS5nZXRFbGVtZW50QnlJZChiKTpifTtfLlQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxkb2N1bWVudDtjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF06KGM9ZG9jdW1lbnQsYT1hPyhifHxjKS5xdWVyeVNlbGVjdG9yKGE/Ii4iK2E6IiIpOl8ub2UoYywiKiIsYSxiKVswXXx8bnVsbCk7cmV0dXJuIGF8fG51bGx9O18ub2U9ZnVuY3Rpb24oYSxiLGMsZCl7YT1kfHxhO3JldHVybihiPWImJmIhPSIqIj9TdHJpbmcoYikudG9VcHBlckNhc2UoKToiIil8fGM/YS5xdWVyeVNlbGVjdG9yQWxsKGIrKGM/Ii4iK2M6IiIpKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9OwpfLnFlPWZ1bmN0aW9uKGEsYil7Xy5CYihiLGZ1bmN0aW9uKGMsZCl7ZD09InN0eWxlIj9hLnN0eWxlLmNzc1RleHQ9YzpkPT0iY2xhc3MiP2EuY2xhc3NOYW1lPWM6ZD09ImZvciI/YS5odG1sRm9yPWM6cGUuaGFzT3duUHJvcGVydHkoZCk/YS5zZXRBdHRyaWJ1dGUocGVbZF0sYyk6Xy5VZChkLCJhcmlhLSIpfHxfLlVkKGQsImRhdGEtIik/YS5zZXRBdHRyaWJ1dGUoZCxjKTphW2RdPWN9KX07cGU9e2NlbGxwYWRkaW5nOiJjZWxsUGFkZGluZyIsY2VsbHNwYWNpbmc6ImNlbGxTcGFjaW5nIixjb2xzcGFuOiJjb2xTcGFuIixmcmFtZWJvcmRlcjoiZnJhbWVCb3JkZXIiLGhlaWdodDoiaGVpZ2h0IixtYXhsZW5ndGg6Im1heExlbmd0aCIsbm9uY2U6Im5vbmNlIixyb2xlOiJyb2xlIixyb3dzcGFuOiJyb3dTcGFuIix0eXBlOiJ0eXBlIix1c2VtYXA6InVzZU1hcCIsdmFsaWduOiJ2QWxpZ24iLHdpZHRoOiJ3aWR0aCJ9OwpfLnJlPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTtfLnVlPWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1iWzFdLGQ9Xy5zZShhLFN0cmluZyhiWzBdKSk7YyYmKHR5cGVvZiBjPT09InN0cmluZyI/ZC5jbGFzc05hbWU9YzpBcnJheS5pc0FycmF5KGMpP2QuY2xhc3NOYW1lPWMuam9pbigiICIpOl8ucWUoZCxjKSk7Yi5sZW5ndGg+MiYmdGUoYSxkLGIpO3JldHVybiBkfTt0ZT1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChlKXtlJiZiLmFwcGVuZENoaWxkKHR5cGVvZiBlPT09InN0cmluZyI/YS5jcmVhdGVUZXh0Tm9kZShlKTplKX1mb3IobGV0IGU9MjtlPGMubGVuZ3RoO2UrKyl7Y29uc3QgZj1jW2VdOyFfLmllKGYpfHxfLkxiKGYpJiZmLm5vZGVUeXBlPjA/ZChmKTpfLmNjKGYmJnR5cGVvZiBmLmxlbmd0aD09Im51bWJlciImJnR5cGVvZiBmLml0ZW09PSJmdW5jdGlvbiI/Xy5LZChmKTpmLGQpfX07Cl8udmU9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uc2UoZG9jdW1lbnQsYSl9O18uc2U9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy53ZT1mdW5jdGlvbihhKXtsZXQgYjtmb3IoO2I9YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGIpfTtfLnhlPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLnBhcmVudE5vZGU/YS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpOm51bGx9O18ueWU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSYmYj9hPT1ifHxhLmNvbnRhaW5zKGIpOiExfTtfLmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVUeXBlPT05P2E6YS5vd25lckRvY3VtZW50fHxhLmRvY3VtZW50fTtrZT1mdW5jdGlvbihhKXt0aGlzLmk9YXx8Xy50LmRvY3VtZW50fHxkb2N1bWVudH07Xy5uPWtlLnByb3RvdHlwZTsKXy5uLkg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubmUodGhpcy5pLGEpfTtfLm4uUWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnVlKHRoaXMuaSxhcmd1bWVudHMpfTtfLm4uYXBwZW5kQ2hpbGQ9ZnVuY3Rpb24oYSxiKXthLmFwcGVuZENoaWxkKGIpfTtfLm4uS2U9Xy53ZTtfLm4ubWc9Xy54ZTtfLm4ubGc9Xy55ZTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy56ZT1mdW5jdGlvbihhKXtyZXR1cm4gXy5MYihhKSYmYS5ub2RlVHlwZT09MX07Xy5BZT1mdW5jdGlvbihhLGIpe2lmKCJ0ZXh0Q29udGVudCJpbiBhKWEudGV4dENvbnRlbnQ9YjtlbHNlIGlmKGEubm9kZVR5cGU9PTMpYS5kYXRhPVN0cmluZyhiKTtlbHNlIGlmKGEuZmlyc3RDaGlsZCYmYS5maXJzdENoaWxkLm5vZGVUeXBlPT0zKXtmb3IoO2EubGFzdENoaWxkIT1hLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5sYXN0Q2hpbGQpO2EuZmlyc3RDaGlsZC5kYXRhPVN0cmluZyhiKX1lbHNlIF8ud2UoYSksYS5hcHBlbmRDaGlsZChfLmxlKGEpLmNyZWF0ZVRleHROb2RlKFN0cmluZyhiKSkpfTt2YXIgQmU7Xy5DZT1mdW5jdGlvbihhLGIsYyl7QXJyYXkuaXNBcnJheShjKSYmKGM9Yy5qb2luKCIgIikpO2NvbnN0IGQ9ImFyaWEtIitiO2M9PT0iInx8Yz09dm9pZCAwPyhCZXx8KEJlPXthdG9taWM6ITEsYXV0b2NvbXBsZXRlOiJub25lIixkcm9wZWZmZWN0OiJub25lIixoYXNwb3B1cDohMSxsaXZlOiJvZmYiLG11bHRpbGluZTohMSxtdWx0aXNlbGVjdGFibGU6ITEsb3JpZW50YXRpb246InZlcnRpY2FsIixyZWFkb25seTohMSxyZWxldmFudDoiYWRkaXRpb25zIHRleHQiLHJlcXVpcmVkOiExLHNvcnQ6Im5vbmUiLGJ1c3k6ITEsZGlzYWJsZWQ6ITEsaGlkZGVuOiExLGludmFsaWQ6ImZhbHNlIn0pLGM9QmUsYiBpbiBjP2Euc2V0QXR0cmlidXRlKGQsY1tiXSk6YS5yZW1vdmVBdHRyaWJ1dGUoZCkpOmEuc2V0QXR0cmlidXRlKGQsYyl9O3ZhciBHZTtfLkZlPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihfLmxjJiZlKXJldHVybiBfLkRlKGEpO2lmKGUmJiFkKXJldHVybiExO2lmKCFfLmpjKXt0eXBlb2YgYj09PSJudW1iZXIiJiYoYj1fLkVlKGIpKTtjb25zdCBnPWI9PTE3fHxiPT0xOHx8Xy5sYyYmYj09OTE7aWYoKCFjfHxfLmxjKSYmZ3x8Xy5sYyYmYj09MTYmJihkfHxmKSlyZXR1cm4hMX1pZihfLmtjJiZkJiZjKXN3aXRjaChhKXtjYXNlIDIyMDpjYXNlIDIxOTpjYXNlIDIyMTpjYXNlIDE5MjpjYXNlIDE4NjpjYXNlIDE4OTpjYXNlIDE4NzpjYXNlIDE4ODpjYXNlIDE5MDpjYXNlIDE5MTpjYXNlIDE5MjpjYXNlIDIyMjpyZXR1cm4hMX1zd2l0Y2goYSl7Y2FzZSAxMzpyZXR1cm4gXy5qYz9mfHxlPyExOiEoYyYmZCk6ITA7Y2FzZSAyNzpyZXR1cm4hXy5rYyYmIV8uamN9cmV0dXJuIF8uamMmJihkfHxlfHxmKT8hMTpfLkRlKGEpfTsKXy5EZT1mdW5jdGlvbihhKXtpZihhPj00OCYmYTw9NTd8fGE+PTk2JiZhPD0xMDZ8fGE+PTY1JiZhPD05MHx8Xy5rYyYmYT09MClyZXR1cm4hMDtzd2l0Y2goYSl7Y2FzZSAzMjpjYXNlIDQzOmNhc2UgNjM6Y2FzZSA2NDpjYXNlIDEwNzpjYXNlIDEwOTpjYXNlIDExMDpjYXNlIDExMTpjYXNlIDE4NjpjYXNlIDU5OmNhc2UgMTg5OmNhc2UgMTg3OmNhc2UgNjE6Y2FzZSAxODg6Y2FzZSAxOTA6Y2FzZSAxOTE6Y2FzZSAxOTI6Y2FzZSAyMjI6Y2FzZSAyMTk6Y2FzZSAyMjA6Y2FzZSAyMjE6Y2FzZSAxNjM6Y2FzZSA1ODpyZXR1cm4hMDtjYXNlIDE3MzpjYXNlIDE3MTpyZXR1cm4gXy5qYztkZWZhdWx0OnJldHVybiExfX07Xy5FZT1mdW5jdGlvbihhKXtpZihfLmpjKWE9R2UoYSk7ZWxzZSBpZihfLmxjJiZfLmtjKXN3aXRjaChhKXtjYXNlIDkzOmE9OTF9cmV0dXJuIGF9OwpHZT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSA2MTpyZXR1cm4gMTg3O2Nhc2UgNTk6cmV0dXJuIDE4NjtjYXNlIDE3MzpyZXR1cm4gMTg5O2Nhc2UgMjI0OnJldHVybiA5MTtjYXNlIDA6cmV0dXJuIDIyNDtkZWZhdWx0OnJldHVybiBhfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBIZSxJZSxKZTtIZT1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifTtJZT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3Q6SGUoYSkubWF0Y2goL1xTKy9nKXx8W119O0plPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZT1iOmEuc2V0QXR0cmlidXRlJiZhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGIpfTtfLlU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy5CYShJZShhKSxiKX07Xy5LZT1mdW5jdGlvbihhLGIpe2lmKGEuY2xhc3NMaXN0KWEuY2xhc3NMaXN0LmFkZChiKTtlbHNlIGlmKCFfLlUoYSxiKSl7Y29uc3QgYz1IZShhKTtKZShhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Cl8uTGU9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5LZShhLGQpfSk7ZWxzZXt2YXIgYz17fTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEllKGEpLGZ1bmN0aW9uKGQpe2NbZF09ITB9KTtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGIsZnVuY3Rpb24oZCl7Y1tkXT0hMH0pO2I9IiI7Zm9yKGNvbnN0IGQgaW4gYyliKz1iLmxlbmd0aD4wPyIgIitkOmQ7SmUoYSxiKX19O18uTWU9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTGlzdD9hLmNsYXNzTGlzdC5yZW1vdmUoYik6Xy5VKGEsYikmJkplKGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEllKGEpLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uTmU9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGIsZnVuY3Rpb24oYyl7Xy5NZShhLGMpfSk6SmUoYSxBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoSWUoYSksZnVuY3Rpb24oYyl7cmV0dXJuIV8uQmEoYixjKX0pLmpvaW4oIiAiKSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk9lPWNsYXNzIGV4dGVuZHMgXy5Pe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRZTtfLlBlPWZ1bmN0aW9uKGEsYil7Yj1fLkFhKGEsYik7bGV0IGM7KGM9Yj49MCkmJkFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChhLGIsMSk7cmV0dXJuIGN9O1FlPWZ1bmN0aW9uKGEsYil7Zm9yKGNvbnN0IGMgaW4gYSlpZihiLmNhbGwodm9pZCAwLGFbY10sYyxhKSlyZXR1cm4hMDtyZXR1cm4hMX07Xy5SZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMuaT17fTt0aGlzLmo9MH07Xy5UZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5TZSYmYSBpbnN0YW5jZW9mIF8uU2U/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMuaT0hMX07Xy5UZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5pPSEwfTtfLlRlLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Cl8uVWU9ZnVuY3Rpb24oYSxiKXtfLlRlLmNhbGwodGhpcyxhP2EudHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD10aGlzLm9mZnNldFk9dGhpcy5vZmZzZXRYPTA7dGhpcy5rZXk9IiI7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmFsdEtleT10aGlzLmN0cmxLZXk9ITE7dGhpcy5zdGF0ZT1udWxsO3RoaXMucG9pbnRlcklkPTA7dGhpcy5wb2ludGVyVHlwZT0iIjt0aGlzLnRpbWVTdGFtcD0wO3RoaXMuVGI9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Xy5CKF8uVWUsXy5UZSk7Cl8uVWUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXtjb25zdCBjPXRoaXMudHlwZT1hLnR5cGUsZD1hLmNoYW5nZWRUb3VjaGVzJiZhLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9hLmNoYW5nZWRUb3VjaGVzWzBdOm51bGw7dGhpcy50YXJnZXQ9YS50YXJnZXR8fGEuc3JjRWxlbWVudDt0aGlzLmN1cnJlbnRUYXJnZXQ9YjtiPWEucmVsYXRlZFRhcmdldDtifHwoYz09Im1vdXNlb3ZlciI/Yj1hLmZyb21FbGVtZW50OmM9PSJtb3VzZW91dCImJihiPWEudG9FbGVtZW50KSk7dGhpcy5yZWxhdGVkVGFyZ2V0PWI7ZD8odGhpcy5jbGllbnRYPWQuY2xpZW50WCE9PXZvaWQgMD9kLmNsaWVudFg6ZC5wYWdlWCx0aGlzLmNsaWVudFk9ZC5jbGllbnRZIT09dm9pZCAwP2QuY2xpZW50WTpkLnBhZ2VZLHRoaXMuc2NyZWVuWD1kLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWQuc2NyZWVuWXx8MCk6KHRoaXMub2Zmc2V0WD1fLmtjfHxhLm9mZnNldFghPT12b2lkIDA/YS5vZmZzZXRYOmEubGF5ZXJYLAp0aGlzLm9mZnNldFk9Xy5rY3x8YS5vZmZzZXRZIT09dm9pZCAwP2Eub2Zmc2V0WTphLmxheWVyWSx0aGlzLmNsaWVudFg9YS5jbGllbnRYIT09dm9pZCAwP2EuY2xpZW50WDphLnBhZ2VYLHRoaXMuY2xpZW50WT1hLmNsaWVudFkhPT12b2lkIDA/YS5jbGllbnRZOmEucGFnZVksdGhpcy5zY3JlZW5YPWEuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9YS5zY3JlZW5ZfHwwKTt0aGlzLmJ1dHRvbj1hLmJ1dHRvbjt0aGlzLmtleUNvZGU9YS5rZXlDb2RlfHwwO3RoaXMua2V5PWEua2V5fHwiIjt0aGlzLmNoYXJDb2RlPWEuY2hhckNvZGV8fChjPT0ia2V5cHJlc3MiP2Eua2V5Q29kZTowKTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuYWx0S2V5PWEuYWx0S2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMucG9pbnRlcklkPWEucG9pbnRlcklkfHwwO3RoaXMucG9pbnRlclR5cGU9YS5wb2ludGVyVHlwZTt0aGlzLnN0YXRlPWEuc3RhdGU7CnRoaXMudGltZVN0YW1wPWEudGltZVN0YW1wO3RoaXMuVGI9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJl8uVWUuWC5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpfTtfLlVlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtfLlVlLlguc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5UYi5zdG9wUHJvcGFnYXRpb24/dGhpcy5UYi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLlRiLmNhbmNlbEJ1YmJsZT0hMH07Xy5VZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtfLlVlLlgucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKTtjb25zdCBhPXRoaXMuVGI7YS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMX07Xy5VZS5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5UYn07Xy5WZT0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO18uV2U9ZnVuY3Rpb24oYSl7cmV0dXJuISghYXx8IWFbXy5WZV0pfTt2YXIgWGU9MDt2YXIgWWU7WWU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLmxpc3RlbmVyPWE7dGhpcy5wcm94eT1udWxsO3RoaXMuc3JjPWI7dGhpcy50eXBlPWM7dGhpcy5jYXB0dXJlPSEhZDt0aGlzLkVkPWU7dGhpcy5rZXk9KytYZTt0aGlzLmpkPXRoaXMudmQ9ITF9O18uWmU9ZnVuY3Rpb24oYSl7YS5qZD0hMDthLmxpc3RlbmVyPW51bGw7YS5wcm94eT1udWxsO2Euc3JjPW51bGw7YS5FZD1udWxsfTtfLlJlLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjb25zdCBmPWEudG9TdHJpbmcoKTthPXRoaXMuaVtmXTthfHwoYT10aGlzLmlbZl09W10sdGhpcy5qKyspO2NvbnN0IGc9JGUoYSxiLGQsZSk7Zz4tMT8oYj1hW2ddLGN8fChiLnZkPSExKSk6KGI9bmV3IFllKGIsdGhpcy5zcmMsZiwhIWQsZSksYi52ZD1jLGEucHVzaChiKSk7cmV0dXJuIGJ9O18uUmUucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhLGIsYyxkKXthPWEudG9TdHJpbmcoKTtpZighKGEgaW4gdGhpcy5pKSlyZXR1cm4hMTtjb25zdCBlPXRoaXMuaVthXTtiPSRlKGUsYixjLGQpO3JldHVybiBiPi0xPyhfLlplKGVbYl0pLEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChlLGIsMSksZS5sZW5ndGg9PTAmJihkZWxldGUgdGhpcy5pW2FdLHRoaXMuai0tKSwhMCk6ITF9OwpfLmFmPWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1iLnR5cGU7aWYoIShjIGluIGEuaSkpcmV0dXJuITE7Y29uc3QgZD1fLlBlKGEuaVtjXSxiKTtkJiYoXy5aZShiKSxhLmlbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEuaVtjXSxhLmotLSkpO3JldHVybiBkfTtfLlJlLnByb3RvdHlwZS5CZD1mdW5jdGlvbihhLGIpe2E9dGhpcy5pW2EudG9TdHJpbmcoKV07Y29uc3QgYz1bXTtpZihhKWZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7KytkKXtjb25zdCBlPWFbZF07ZS5jYXB0dXJlPT1iJiZjLnB1c2goZSl9cmV0dXJuIGN9O18uUmUucHJvdG90eXBlLldjPWZ1bmN0aW9uKGEsYixjLGQpe2E9dGhpcy5pW2EudG9TdHJpbmcoKV07bGV0IGU9LTE7YSYmKGU9JGUoYSxiLGMsZCkpO3JldHVybiBlPi0xP2FbZV06bnVsbH07Cl8uUmUucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7Y29uc3QgYz1hIT09dm9pZCAwLGQ9Yz9hLnRvU3RyaW5nKCk6IiIsZT1iIT09dm9pZCAwO3JldHVybiBRZSh0aGlzLmksZnVuY3Rpb24oZil7Zm9yKGxldCBnPTA7ZzxmLmxlbmd0aDsrK2cpaWYoIShjJiZmW2ddLnR5cGUhPWR8fGUmJmZbZ10uY2FwdHVyZSE9YikpcmV0dXJuITA7cmV0dXJuITF9KX07dmFyICRlPWZ1bmN0aW9uKGEsYixjLGQpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7KytlKXtjb25zdCBmPWFbZV07aWYoIWYuamQmJmYubGlzdGVuZXI9PWImJmYuY2FwdHVyZT09ISFjJiZmLkVkPT1kKXJldHVybiBlfXJldHVybi0xfTt2YXIgYmYsY2YsZGYsaGYsa2YsbGYsbWYscGY7YmY9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCk7Y2Y9e307ZGY9MDtfLmZmPWZ1bmN0aW9uKGEsYixjLGQsZSl7aWYoZCYmZC5vbmNlKXJldHVybiBfLmVmKGEsYixjLGQsZSk7aWYoQXJyYXkuaXNBcnJheShiKSl7Zm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5mZihhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9Xy5nZihjKTtyZXR1cm4gXy5XZShhKT9hLmxpc3RlbihiLGMsXy5MYihkKT8hIWQuY2FwdHVyZTohIWQsZSk6aGYoYSxiLGMsITEsZCxlKX07CmhmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighYil0aHJvdyBFcnJvcigiQSIpO2NvbnN0IGc9Xy5MYihlKT8hIWUuY2FwdHVyZTohIWU7bGV0IGg9Xy5qZihhKTtofHwoYVtiZl09aD1uZXcgXy5SZShhKSk7Yz1oLmFkZChiLGMsZCxnLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1rZigpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChsZihiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIkIiKTtkZisrO3JldHVybiBjfTtrZj1mdW5jdGlvbigpe2NvbnN0IGE9bWYsYj1mdW5jdGlvbihjKXtyZXR1cm4gYS5jYWxsKGIuc3JjLGIubGlzdGVuZXIsYyl9O3JldHVybiBifTsKXy5lZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8uZWYoYSxiW2ZdLGMsZCxlKTtyZXR1cm4gbnVsbH1jPV8uZ2YoYyk7cmV0dXJuIF8uV2UoYSk/YS5EYShiLGMsXy5MYihkKT8hIWQuY2FwdHVyZTohIWQsZSk6aGYoYSxiLGMsITAsZCxlKX07Xy5uZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5uZihhLGJbZl0sYyxkLGUpO2Vsc2UgZD1fLkxiKGQpPyEhZC5jYXB0dXJlOiEhZCxjPV8uZ2YoYyksXy5XZShhKT9hLkdhKGIsYyxkLGUpOmEmJihhPV8uamYoYSkpJiYoYj1hLldjKGIsYyxkLGUpKSYmXy5vZihiKX07Cl8ub2Y9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0ibnVtYmVyInx8IWF8fGEuamQpcmV0dXJuITE7Y29uc3QgYj1hLnNyYztpZihfLldlKGIpKXJldHVybiBiLlRkKGEpO3ZhciBjPWEudHlwZTtjb25zdCBkPWEucHJveHk7Yi5yZW1vdmVFdmVudExpc3RlbmVyP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcihjLGQsYS5jYXB0dXJlKTpiLmRldGFjaEV2ZW50P2IuZGV0YWNoRXZlbnQobGYoYyksZCk6Yi5hZGRMaXN0ZW5lciYmYi5yZW1vdmVMaXN0ZW5lciYmYi5yZW1vdmVMaXN0ZW5lcihkKTtkZi0tOyhjPV8uamYoYikpPyhfLmFmKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW2JmXT1udWxsKSk6Xy5aZShhKTtyZXR1cm4hMH07bGY9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gY2Y/Y2ZbYV06Y2ZbYV09Im9uIithfTsKbWY9ZnVuY3Rpb24oYSxiKXtpZihhLmpkKWE9ITA7ZWxzZXtiPW5ldyBfLlVlKGIsdGhpcyk7Y29uc3QgYz1hLmxpc3RlbmVyLGQ9YS5FZHx8YS5zcmM7YS52ZCYmXy5vZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTtfLmpmPWZ1bmN0aW9uKGEpe2E9YVtiZl07cmV0dXJuIGEgaW5zdGFuY2VvZiBfLlJlP2E6bnVsbH07cGY9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtfLmdmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIilyZXR1cm4gYTthW3BmXXx8KGFbcGZdPWZ1bmN0aW9uKGIpe3JldHVybiBhLmhhbmRsZUV2ZW50KGIpfSk7cmV0dXJuIGFbcGZdfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHRmO18ucWY9ZnVuY3Rpb24oYSl7cmV0dXJuL15bXHNceGEwXSokLy50ZXN0KGEpfTtfLnJmPWZ1bmN0aW9uKGEpe2EmJnR5cGVvZiBhLmRpc3Bvc2U9PSJmdW5jdGlvbiImJmEuZGlzcG9zZSgpfTtfLnNmPWZ1bmN0aW9uKGEsYil7Yj09dm9pZCAwJiYoYj0wKTtyZXR1cm4gYSE9bnVsbD9hOmJ9O18udWY9ZnVuY3Rpb24oYSxiKXtsZXQgYyxkO2ZvcihsZXQgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe2Q9YXJndW1lbnRzW2VdO2ZvcihjIGluIGQpYVtjXT1kW2NdO2ZvcihsZXQgZj0wO2Y8dGYubGVuZ3RoO2YrKyljPXRmW2ZdLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLGMpJiYoYVtjXT1kW2NdKX19O18udmY9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLk9jKGEsYixjLF8uTGMpfTtfLndmPWZ1bmN0aW9uKGEsYil7YS5xYT9iKCk6KGEuWXx8KGEuWT1bXSksYS5ZLnB1c2goYikpfTsKXy54Zj1mdW5jdGlvbihhLGIpe18ud2YoYSxfLk9iKF8ucmYsYikpfTtfLnlmPWZ1bmN0aW9uKGEpe2xldCBiPTA7Zm9yKGNvbnN0IGMgaW4gYS5pKXtjb25zdCBkPWEuaVtjXTtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKykrK2IsXy5aZShkW2VdKTtkZWxldGUgYS5pW2NdO2Euai0tfX07dGY9ImNvbnN0cnVjdG9yIGhhc093blByb3BlcnR5IGlzUHJvdG90eXBlT2YgcHJvcGVydHlJc0VudW1lcmFibGUgdG9Mb2NhbGVTdHJpbmcgdG9TdHJpbmcgdmFsdWVPZiIuc3BsaXQoIiAiKTtfLlY9ZnVuY3Rpb24oKXtfLlAuY2FsbCh0aGlzKTt0aGlzLlVhPW5ldyBfLlJlKHRoaXMpO3RoaXMuUGc9dGhpczt0aGlzLmhkPW51bGx9O18uQihfLlYsXy5QKTtfLlYucHJvdG90eXBlW18uVmVdPSEwO18ubj1fLlYucHJvdG90eXBlO18ubi5IaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhkfTtfLm4ueGM9ZnVuY3Rpb24oYSl7dGhpcy5oZD1hfTsKXy5uLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5mZih0aGlzLGEsYixjLGQpfTtfLm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhLGIsYyxkKXtfLm5mKHRoaXMsYSxiLGMsZCl9OwpfLm4uZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMuaGQ7aWYoYylmb3IoYj1bXTtjO2M9Yy5oZCliLnB1c2goYyk7Yz10aGlzLlBnO2NvbnN0IGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5UZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uVGUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uVGUoZCxjKTtfLnVmKGEsZSl9ZT0hMDtsZXQgZixnO2lmKGIpZm9yKGc9Yi5sZW5ndGgtMTshYS5pJiZnPj0wO2ctLSlmPWEuY3VycmVudFRhcmdldD1iW2ddLGU9emYoZixkLCEwLGEpJiZlO2EuaXx8KGY9YS5jdXJyZW50VGFyZ2V0PWMsZT16ZihmLGQsITAsYSkmJmUsYS5pfHwoZT16ZihmLGQsITEsYSkmJmUpKTtpZihiKWZvcihnPTA7IWEuaSYmZzxiLmxlbmd0aDtnKyspZj1hLmN1cnJlbnRUYXJnZXQ9YltnXSxlPXpmKGYsZCwhMSxhKSYmZTtyZXR1cm4gZX07Cl8ubi5SPWZ1bmN0aW9uKCl7Xy5WLlguUi5jYWxsKHRoaXMpO3RoaXMuVWEmJl8ueWYodGhpcy5VYSk7dGhpcy5oZD1udWxsfTtfLm4ubGlzdGVuPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLlVhLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLm4uRGE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuVWEuYWRkKFN0cmluZyhhKSxiLCEwLGMsZCl9O18ubi5HYT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLlVhLnJlbW92ZShTdHJpbmcoYSksYixjLGQpfTtfLm4uVGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYWYodGhpcy5VYSxhKX07CnZhciB6Zj1mdW5jdGlvbihhLGIsYyxkKXtiPWEuVWEuaVtTdHJpbmcoYildO2lmKCFiKXJldHVybiEwO2I9Yi5jb25jYXQoKTtsZXQgZT0hMDtmb3IobGV0IGY9MDtmPGIubGVuZ3RoOysrZil7Y29uc3QgZz1iW2ZdO2lmKGcmJiFnLmpkJiZnLmNhcHR1cmU9PWMpe2NvbnN0IGg9Zy5saXN0ZW5lcixrPWcuRWR8fGcuc3JjO2cudmQmJmEuVGQoZyk7ZT1oLmNhbGwoayxkKSE9PSExJiZlfX1yZXR1cm4gZSYmIWQuZGVmYXVsdFByZXZlbnRlZH07Xy5WLnByb3RvdHlwZS5CZD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLlVhLkJkKFN0cmluZyhhKSxiKX07Xy5WLnByb3RvdHlwZS5XYz1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5VYS5XYyhTdHJpbmcoYSksYixjLGQpfTtfLlYucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuVWEuaGFzTGlzdGVuZXIoYSE9PXZvaWQgMD9TdHJpbmcoYSk6dm9pZCAwLGIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5BZj1mdW5jdGlvbihhKXtfLlAuY2FsbCh0aGlzKTt0aGlzLkw9YTt0aGlzLks9e319O18uQihfLkFmLF8uUCk7dmFyIEJmPVtdO18uQWYucHJvdG90eXBlLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gQ2YodGhpcyxhLGIsYyxkKX07Xy5BZi5wcm90b3R5cGUubz1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBDZih0aGlzLGEsYixjLGQsZSl9O3ZhciBDZj1mdW5jdGlvbihhLGIsYyxkLGUsZil7QXJyYXkuaXNBcnJheShjKXx8KGMmJihCZlswXT1jLnRvU3RyaW5nKCkpLGM9QmYpO2ZvcihsZXQgZz0wO2c8Yy5sZW5ndGg7ZysrKXtjb25zdCBoPV8uZmYoYixjW2ddLGR8fGEuaGFuZGxlRXZlbnQsZXx8ITEsZnx8YS5MfHxhKTtpZighaClicmVhazthLktbaC5rZXldPWh9cmV0dXJuIGF9O18uQWYucHJvdG90eXBlLkRhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBEZih0aGlzLGEsYixjLGQpfTsKdmFyIERmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihBcnJheS5pc0FycmF5KGMpKWZvcihsZXQgZz0wO2c8Yy5sZW5ndGg7ZysrKURmKGEsYixjW2ddLGQsZSxmKTtlbHNle2I9Xy5lZihiLGMsZHx8YS5oYW5kbGVFdmVudCxlLGZ8fGEuTHx8YSk7aWYoIWIpcmV0dXJuIGE7YS5LW2Iua2V5XT1ifXJldHVybiBhfTtfLkFmLnByb3RvdHlwZS5HYT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspdGhpcy5HYShhLGJbZl0sYyxkLGUpO2Vsc2UgYz1jfHx0aGlzLmhhbmRsZUV2ZW50LGQ9Xy5MYihkKT8hIWQuY2FwdHVyZTohIWQsZT1lfHx0aGlzLkx8fHRoaXMsYz1fLmdmKGMpLGQ9ISFkLGI9Xy5XZShhKT9hLldjKGIsYyxkLGUpOmE/KGE9Xy5qZihhKSk/YS5XYyhiLGMsZCxlKTpudWxsOm51bGwsYiYmKF8ub2YoYiksZGVsZXRlIHRoaXMuS1tiLmtleV0pfTsKXy5FZj1mdW5jdGlvbihhKXtfLkJiKGEuSyxmdW5jdGlvbihiLGMpe3RoaXMuSy5oYXNPd25Qcm9wZXJ0eShjKSYmXy5vZihiKX0sYSk7YS5LPXt9fTtfLkFmLnByb3RvdHlwZS5SPWZ1bmN0aW9uKCl7Xy5BZi5YLlIuY2FsbCh0aGlzKTtfLkVmKHRoaXMpfTtfLkFmLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJDIik7fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEdmLE5mO18uRmY9ZnVuY3Rpb24oYSl7Y29uc3QgYj1hLnNwbGl0KC9bPyNdLyksYz0vWz9dLy50ZXN0KGEpPyI/IitiWzFdOiIiO3JldHVybntJZTpiWzBdLEtmOmMsVmM6L1sjXS8udGVzdChhKT8iIyIrKGM/YlsyXTpiWzFdKToiIn19O0dmPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoZyxoKXtnIT1udWxsJiYoQXJyYXkuaXNBcnJheShnKT9nLmZvckVhY2goaz0+ZShrLGgpKTooYis9ZitlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKSxmPSImIikpfWxldCBmPWIubGVuZ3RoPyImIjoiPyI7ZC5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQ9T2JqZWN0LmVudHJpZXMoZCkpO0FycmF5LmlzQXJyYXkoZCk/ZC5mb3JFYWNoKGc9PmUoZ1sxXSxnWzBdKSk6ZC5mb3JFYWNoKGUpO3JldHVybiBfLiRkKGErYitjKX07Cl8uSGY9ZnVuY3Rpb24oYSxiKXthPV8uRmYoXy5hZShhKS50b1N0cmluZygpKTtyZXR1cm4gR2YoYS5JZSxhLktmLGEuVmMsYil9O18uSWY9ZnVuY3Rpb24oKXtyZXR1cm4gXy5rYz8iV2Via2l0IjpfLmpjPyJNb3oiOm51bGx9O18uSmY9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07Xy5uPV8uSmYucHJvdG90eXBlO18ubi5hc3BlY3RSYXRpbz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoL3RoaXMuaGVpZ2h0fTtfLm4udWM9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMud2lkdGgqdGhpcy5oZWlnaHQpfTtfLm4uY2VpbD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5jZWlsKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguY2VpbCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18ubi5mbG9vcj1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Cl8ubi5yb3VuZD1mdW5jdGlvbigpe3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5LZj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uSmYoYS53aWR0aCxhLmhlaWdodCl9O18uTGY9ZnVuY3Rpb24oYSl7YT1hLmRvY3VtZW50O2E9YS5jb21wYXRNb2RlPT0iQ1NTMUNvbXBhdCI/YS5kb2N1bWVudEVsZW1lbnQ6YS5ib2R5O3JldHVybiBuZXcgXy5KZihhLmNsaWVudFdpZHRoLGEuY2xpZW50SGVpZ2h0KX07Xy5NZj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1iPyEwOmEmJmI/YS53aWR0aD09Yi53aWR0aCYmYS5oZWlnaHQ9PWIuaGVpZ2h0OiExfTtOZj1mdW5jdGlvbihhKXtyZXR1cm4gU3RyaW5nKGEpLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGMudG9VcHBlckNhc2UoKX0pfTsKXy5PZj1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKFJlZ0V4cCgiKF58W1xcc10rKShbYS16XSkiLCJnIiksZnVuY3Rpb24oYixjLGQpe3JldHVybiBjK2QudG9VcHBlckNhc2UoKX0pfTt2YXIgUWYsUGY7Xy5XPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKShiPVBmKGEsYikpJiYoYS5zdHlsZVtiXT1jKTtlbHNlIGZvcihjb25zdCBlIGluIGIpe2M9YTt2YXIgZD1iW2VdO2NvbnN0IGY9UGYoYyxlKTtmJiYoYy5zdHlsZVtmXT1kKX19O1FmPXt9O1BmPWZ1bmN0aW9uKGEsYil7bGV0IGM9UWZbYl07aWYoIWMpe3ZhciBkPU5mKGIpO2M9ZDthLnN0eWxlW2RdPT09dm9pZCAwJiYoZD1fLklmKCkrXy5PZihkKSxhLnN0eWxlW2RdIT09dm9pZCAwJiYoYz1kKSk7UWZbYl09Y31yZXR1cm4gY307Xy5SZj1mdW5jdGlvbihhLGIpe2NvbnN0IGM9YS5zdHlsZVtOZihiKV07cmV0dXJuIHR5cGVvZiBjIT09InVuZGVmaW5lZCI/YzphLnN0eWxlW1BmKGEsYildfHwiIn07Cl8uU2Y9ZnVuY3Rpb24oYSxiKXtjb25zdCBjPV8ubGUoYSk7cmV0dXJuIGMuZGVmYXVsdFZpZXcmJmMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKGE9Yy5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKGEsbnVsbCkpP2FbYl18fGEuZ2V0UHJvcGVydHlWYWx1ZShiKXx8IiI6IiJ9O18uVGY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5TZihhLGIpfHwoYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGVbYl06bnVsbCl8fGEuc3R5bGUmJmEuc3R5bGVbYl19O18uVWY9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWNhdGNoKGIpe3JldHVybntsZWZ0OjAsdG9wOjAscmlnaHQ6MCxib3R0b206MH19fTsKXy5XZj1mdW5jdGlvbihhKXt2YXIgYj1fLlZmO2lmKF8uVGYoYSwiZGlzcGxheSIpIT0ibm9uZSIpcmV0dXJuIGIoYSk7Y29uc3QgYz1hLnN0eWxlLGQ9Yy5kaXNwbGF5LGU9Yy52aXNpYmlsaXR5LGY9Yy5wb3NpdGlvbjtjLnZpc2liaWxpdHk9ImhpZGRlbiI7Yy5wb3NpdGlvbj0iYWJzb2x1dGUiO2MuZGlzcGxheT0iaW5saW5lIjthPWIoYSk7Yy5kaXNwbGF5PWQ7Yy5wb3NpdGlvbj1mO2MudmlzaWJpbGl0eT1lO3JldHVybiBhfTtfLlZmPWZ1bmN0aW9uKGEpe2NvbnN0IGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5rYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9Xy5VZihhKSxuZXcgXy5KZihhLnJpZ2h0LWEubGVmdCxhLmJvdHRvbS1hLnRvcCkpOm5ldyBfLkpmKGIsYyl9O18uWGY9ZnVuY3Rpb24oYSxiKXthLnN0eWxlLmRpc3BsYXk9Yj8iIjoibm9uZSJ9OwpfLllmPV8uamM/Ik1velVzZXJTZWxlY3QiOl8ua2N8fF8uaWM/IldlYmtpdFVzZXJTZWxlY3QiOm51bGw7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBaZixhZyxiZztaZj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCl7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShhLFpmKGFyZ3VtZW50cywxKSl9O2FnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEhPT1udWxsJiZiIGluIGE/YVtiXTp2b2lkIDB9O2JnPTA7Xy5jZz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5NYikmJmFbXy5NYl18fChhW18uTWJdPSsrYmcpfTtfLmRnPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsPyIiOlN0cmluZyhhKX07Xy5lZz1mdW5jdGlvbigpe307Xy5lZy5yYz12b2lkIDA7Xy5lZy5pPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZWcucmM/Xy5lZy5yYzpfLmVnLnJjPW5ldyBfLmVnfTsKXy5lZy5wcm90b3R5cGUuaT0wO18uZmc9ZnVuY3Rpb24oYSl7cmV0dXJuIjoiKyhhLmkrKykudG9TdHJpbmcoMzYpfTt2YXIgZ2c7Xy5oZz1mdW5jdGlvbihhKXtfLlYuY2FsbCh0aGlzKTt0aGlzLm89YXx8Xy5tZSgpO3RoaXMuWj1nZzt0aGlzLlQ9bnVsbDt0aGlzLnZhPSExO3RoaXMuaT1udWxsO3RoaXMuSj12b2lkIDA7dGhpcy5GPXRoaXMuQT10aGlzLmo9dGhpcy5CPW51bGw7dGhpcy5DYT0hMX07Xy5CKF8uaGcsXy5WKTtfLmhnLnByb3RvdHlwZS5WYT1fLmVnLmkoKTtnZz1udWxsO18uaWc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuVHx8KGEuVD1fLmZnKGEuVmEpKX07Xy5oZy5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiB0aGlzLml9O3ZhciBqZz1mdW5jdGlvbihhLGIpe2lmKGE9PWIpdGhyb3cgRXJyb3IoIkUiKTt2YXIgYztpZihjPWImJmEuaiYmYS5UKXtjPWEuajt2YXIgZD1hLlQ7Yz1jLkYmJmQ/YWcoYy5GLGQpfHxudWxsOm51bGx9aWYoYyYmYS5qIT1iKXRocm93IEVycm9yKCJFIik7YS5qPWI7Xy5oZy5YLnhjLmNhbGwoYSxiKX07Cl8uaGcucHJvdG90eXBlLnhjPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaiYmdGhpcy5qIT1hKXRocm93IEVycm9yKCJGIik7Xy5oZy5YLnhjLmNhbGwodGhpcyxhKX07Xy5oZy5wcm90b3R5cGUuWmI9ZnVuY3Rpb24oKXt0aGlzLmk9Xy5zZSh0aGlzLm8uaSwiRElWIil9O18uaGcucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihhKXtrZyh0aGlzLGEpfTt2YXIga2c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEudmEpdGhyb3cgRXJyb3IoIkciKTthLml8fGEuWmIoKTtiP2IuaW5zZXJ0QmVmb3JlKGEuaSxjfHxudWxsKTphLm8uaS5ib2R5LmFwcGVuZENoaWxkKGEuaSk7YS5qJiYhYS5qLnZhfHxhLkthKCl9O18ubj1fLmhnLnByb3RvdHlwZTtfLm4uVGM9ZnVuY3Rpb24oYSl7dGhpcy5pPWF9O18ubi5LYT1mdW5jdGlvbigpe3RoaXMudmE9ITA7Xy5sZyh0aGlzLGZ1bmN0aW9uKGEpeyFhLnZhJiZhLkgoKSYmYS5LYSgpfSl9OwpfLm4uZmI9ZnVuY3Rpb24oKXtfLmxnKHRoaXMsZnVuY3Rpb24oYSl7YS52YSYmYS5mYigpfSk7dGhpcy5KJiZfLkVmKHRoaXMuSik7dGhpcy52YT0hMX07Xy5uLlI9ZnVuY3Rpb24oKXt0aGlzLnZhJiZ0aGlzLmZiKCk7dGhpcy5KJiYodGhpcy5KLmRpc3Bvc2UoKSxkZWxldGUgdGhpcy5KKTtfLmxnKHRoaXMsZnVuY3Rpb24oYSl7YS5kaXNwb3NlKCl9KTshdGhpcy5DYSYmdGhpcy5pJiZfLnhlKHRoaXMuaSk7dGhpcy5qPXRoaXMuQj10aGlzLmk9dGhpcy5GPXRoaXMuQT1udWxsO18uaGcuWC5SLmNhbGwodGhpcyl9OwpfLm4uZmM9ZnVuY3Rpb24oYSxiLGMpe2lmKGEudmEmJihjfHwhdGhpcy52YSkpdGhyb3cgRXJyb3IoIkciKTtpZihiPDB8fGI+Xy5tZyh0aGlzKSl0aHJvdyBFcnJvcigiSSIpO3RoaXMuRiYmdGhpcy5BfHwodGhpcy5GPXt9LHRoaXMuQT1bXSk7aWYoYS5qPT10aGlzKXt2YXIgZD10aGlzLkYsZT1fLmlnKGEpO2RbZV09YTtfLlBlKHRoaXMuQSxhKX1lbHNle2Q9dGhpcy5GO2U9Xy5pZyhhKTtpZihkIT09bnVsbCYmZSBpbiBkKXRocm93IEVycm9yKCJ3YCIrZSk7ZFtlXT1hfWpnKGEsdGhpcyk7Xy4kZih0aGlzLkEsYiwwLGEpO2EudmEmJnRoaXMudmEmJmEuaj09dGhpcz8oYz10aGlzLmksKGMuY2hpbGROb2Rlc1tiXXx8bnVsbCkhPWEuSCgpJiYoYS5IKCkucGFyZW50RWxlbWVudD09YyYmYy5yZW1vdmVDaGlsZChhLkgoKSksYj1jLmNoaWxkTm9kZXNbYl18fG51bGwsYy5pbnNlcnRCZWZvcmUoYS5IKCksYikpKTpjPyh0aGlzLml8fHRoaXMuWmIoKSxiPV8ubmcodGhpcyxiKzEpLGtnKGEsCnRoaXMuaSxiP2IuaTpudWxsKSk6dGhpcy52YSYmIWEudmEmJmEuaSYmYS5pLnBhcmVudE5vZGUmJmEuaS5wYXJlbnROb2RlLm5vZGVUeXBlPT0xJiZhLkthKCl9O18ubWc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuQT9hLkEubGVuZ3RoOjB9O18ubmc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5BP2EuQVtiXXx8bnVsbDpudWxsfTtfLmxnPWZ1bmN0aW9uKGEsYixjKXthLkEmJmEuQS5mb3JFYWNoKGIsYyl9O18uaGcucHJvdG90eXBlLlBjPWZ1bmN0aW9uKGEsYil7aWYoYSl7Y29uc3QgZD10eXBlb2YgYT09PSJzdHJpbmciP2E6Xy5pZyhhKTthPXRoaXMuRiYmZD9hZyh0aGlzLkYsZCl8fG51bGw6bnVsbDtpZihkJiZhKXt2YXIgYz10aGlzLkY7ZCBpbiBjJiZkZWxldGUgY1tkXTtfLlBlKHRoaXMuQSxhKTtiJiYoYS5mYigpLGEuaSYmXy54ZShhLmkpKTtqZyhhLG51bGwpfX1pZighYSl0aHJvdyBFcnJvcigiSiIpO3JldHVybiBhfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHBnO18ub2c9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbigpe3RyeXtyZXR1cm4gYi5hcHBseShjLGFyZ3VtZW50cyl9Y2F0Y2goZCl7YS5sb2coZCl9fX07cGc9ZnVuY3Rpb24oYSxiLGMpe2lmKGEuailyZXR1cm4gbnVsbDtpZihjIGluc3RhbmNlb2YgQXJyYXkpe3ZhciBkPW51bGw7Zm9yKHZhciBlIG9mIGMpKGM9cGcoYSxiLGUpKSYmKGQ9Yyk7cmV0dXJuIGR9ZD1udWxsO2EuaSYmYS5pLnR5cGU9PWMmJmEuQT09YiYmKGQ9YS5pLGEuaT1udWxsKTtpZihlPWIuZGF0YXNldC5lcWlkKWRlbGV0ZSBiLmRhdGFzZXQuZXFpZCwoZT1hLkJbZV0pP2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxlLCExKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KCJvbiIrYyxlKTphLm8ubG9nKEVycm9yKCJ1YCIrYikpO3JldHVybiBkfTtfLnFnPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGEsYixjKX07Cl8ucmc9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ubmQuaSgpLmlbYV18fG51bGx9O18udGc9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Q9Xy5vZyhhLGQsZik7YT1fLmZmKGIsYyxkLGUsZik7Xy5zZyhiLGMpO3JldHVybiBhfTtfLnNnPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIEVsZW1lbnQpe3ZhciBjPV8ucmcoImVxIik7YyYmKGI9cGcoYyxhLGJ8fFtdKSkmJihfLmhjJiZiIGluc3RhbmNlb2YgTW91c2VFdmVudCYmYS5kaXNwYXRjaEV2ZW50PyhjPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50IiksYy5pbml0TW91c2VFdmVudChiLnR5cGUsITAsITAsYi52aWV3LGIuZGV0YWlsLGIuc2NyZWVuWCxiLnNjcmVlblksYi5jbGllbnRYLGIuY2xpZW50WSxiLmN0cmxLZXksYi5hbHRLZXksYi5zaGlmdEtleSxiLm1ldGFLZXksYi5idXR0b24sYi5yZWxhdGVkVGFyZ2V0KSxhLmRpc3BhdGNoRXZlbnQoYykpOmEuZGlzcGF0Y2hFdmVudCYmYS5kaXNwYXRjaEV2ZW50KGIpKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgdWc7dWc9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/Xy5xZyhhLHVnKTp0eXBlb2YgYT09PSJzdHJpbmciP2E6YT9hLnRvU3RyaW5nKCk6YX07Cl8udmc9Y2xhc3MgZXh0ZW5kcyBfLkFme2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5DPWE7dGhpcy5tYT1ifHx0aGlzfWxpc3RlbihhLGIsYyxkKXtpZihjKXtpZih0eXBlb2YgYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJLIik7Yz1fLm9nKHRoaXMuQyxjLHRoaXMubWEpO2M9c3VwZXIubGlzdGVuKGEsYixjLGQpO18uc2coYSx1ZyhiKSk7cmV0dXJuIGN9cmV0dXJuIHN1cGVyLmxpc3RlbihhLGIsYyxkKX1vKGEsYixjLGQsZSl7aWYoYyl7aWYodHlwZW9mIGMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiSyIpO2M9Xy5vZyh0aGlzLkMsYyxlfHx0aGlzLm1hKTtjPXN1cGVyLm8oYSxiLGMsZCxlKTtfLnNnKGEsdWcoYikpO3JldHVybiBjfXJldHVybiBzdXBlci5vKGEsYixjLGQsZSl9RGEoYSxiLGMsZCl7aWYoYyl7aWYodHlwZW9mIGMhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiSyIpO2M9Xy5vZyh0aGlzLkMsYyx0aGlzLm1hKTsKYz1zdXBlci5EYShhLGIsYyxkKTtfLnNnKGEsdWcoYikpO3JldHVybiBjfXJldHVybiBzdXBlci5EYShhLGIsYyxkKX19O18ud2c9Y2xhc3MgZXh0ZW5kcyBfLnZne2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5qPWF9SCgpe3JldHVybiB0aGlzLmp9Uigpe3RoaXMuaj1udWxsO3N1cGVyLlIoKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnhnPWNsYXNzIGV4dGVuZHMgXy53Z3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhLF8uWWMpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ueWc9ZnVuY3Rpb24oYSxiKXtiPV8uZGUoYik7YiE9PXZvaWQgMCYmKGEuaHJlZj1iKX07Xy5BZz1mdW5jdGlvbihhLGIsYyl7Xy56Zy5saXN0ZW4oYixjLHZvaWQgMCxhLkx8fGEsYSl9O18uQmc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYnx8ZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK2EpfTtfLkNnPWZ1bmN0aW9uKGEsYil7bGV0IGM9MDtmb3IoO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5EZz1mdW5jdGlvbihhLGIpe3JldHVybiBiP18uQ2coYSxmdW5jdGlvbihjKXtyZXR1cm4hYnx8dHlwZW9mIGMuY2xhc3NOYW1lPT09InN0cmluZyImJl8uQmEoYy5jbGFzc05hbWUuc3BsaXQoL1xzKy8pLGIpfSk6bnVsbH07dmFyIEVnLEZnO0VnPWZ1bmN0aW9uKCl7fTtfLnpnPW5ldyBFZztGZz1bImNsaWNrIiwia2V5ZG93biIsImtleXVwIl07RWcucHJvdG90eXBlLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkLGUpe2NvbnN0IGY9ZnVuY3Rpb24oZyl7Y29uc3QgaD1fLmdmKGIpLGs9Xy56ZShnLnRhcmdldCk/Zy50YXJnZXQuZ2V0QXR0cmlidXRlKCJyb2xlIil8fG51bGw6bnVsbDtnLnR5cGUhPSJjbGljayJ8fGcuVGIuYnV0dG9uIT0wfHxfLmxjJiZnLmN0cmxLZXk/Zy5rZXlDb2RlIT0xMyYmZy5rZXlDb2RlIT0zfHxnLnR5cGU9PSJrZXl1cCI/Zy5rZXlDb2RlIT0zMnx8ayE9ImJ1dHRvbiImJmshPSJ0YWIiJiZrIT0icmFkaW8ifHwoZy50eXBlPT0ia2V5dXAiJiZoLmNhbGwoZCxnKSxnLnByZXZlbnREZWZhdWx0KCkpOihnLnR5cGU9ImtleXByZXNzIixoLmNhbGwoZCxnKSk6aC5jYWxsKGQsZyl9O2YuYWI9YjtmLkRpPWQ7ZT9lLmxpc3RlbihhLEZnLGYsYyk6Xy5mZihhLEZnLGYsYyl9OwpFZy5wcm90b3R5cGUuR2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXtsZXQgZjtmb3IobGV0IGw9MDtmPUZnW2xdO2wrKyl7dmFyIGc9YTt2YXIgaD1mO3ZhciBrPSEhYztoPV8uV2UoZyk/Zy5CZChoLGspOmc/KGc9Xy5qZihnKSk/Zy5CZChoLGspOltdOltdO2ZvcihnPTA7az1oW2ddO2crKyl7Y29uc3QgbT1rLmxpc3RlbmVyO2lmKG0uYWI9PWImJm0uRGk9PWQpe2U/ZS5HYShhLGYsay5saXN0ZW5lcixjLGQpOl8ubmYoYSxmLGsubGlzdGVuZXIsYyxkKTticmVha319fX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZz1mdW5jdGlvbigpe2xldCBhO2Zvcig7YT1HZy5yZW1vdmUoKTspe3RyeXthLmkuY2FsbChhLnNjb3BlKX1jYXRjaChiKXtfLmthKGIpfUhnKElnLGEpfUpnPSExfSxIZz1mdW5jdGlvbihhLGIpe2EudihiKTthLmo8MTAwJiYoYS5qKyssYi5uZXh0PWEuaSxhLmk9Yil9LExnPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5qPTA7dGhpcy5pPW51bGx9Z2V0KCl7bGV0IGE7dGhpcy5qPjA/KHRoaXMuai0tLGE9dGhpcy5pLHRoaXMuaT1hLm5leHQsYS5uZXh0PW51bGwpOmE9dGhpcy5vKCk7cmV0dXJuIGF9fTt2YXIgTWc9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9dGhpcy5pPW51bGx9YWRkKGEsYil7Y29uc3QgYz1JZy5nZXQoKTtjLnNldChhLGIpO3RoaXMuaj90aGlzLmoubmV4dD1jOnRoaXMuaT1jO3RoaXMuaj1jfXJlbW92ZSgpe2xldCBhPW51bGw7dGhpcy5pJiYoYT10aGlzLmksdGhpcy5pPXRoaXMuaS5uZXh0LHRoaXMuaXx8KHRoaXMuaj1udWxsKSxhLm5leHQ9bnVsbCk7cmV0dXJuIGF9fSxJZz1uZXcgTGcoKCk9Pm5ldyBOZyxhPT5hLnJlc2V0KCkpLE5nPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5pPW51bGx9c2V0KGEsYil7dGhpcy5pPWE7dGhpcy5zY29wZT1iO3RoaXMubmV4dD1udWxsfXJlc2V0KCl7dGhpcy5uZXh0PXRoaXMuc2NvcGU9dGhpcy5pPW51bGx9fTt2YXIgT2csSmc9ITEsR2c9bmV3IE1nLFFnPShhLGIpPT57T2d8fFBnKCk7Smd8fChPZygpLEpnPSEwKTtHZy5hZGQoYSxiKX0sUGc9KCk9Pntjb25zdCBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO09nPSgpPT57YS50aGVuKEtnKX19O3ZhciBSZz1mdW5jdGlvbigpe307Xy5TZz1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt0cnl7cmV0dXJuISFhLiRnb29nX1RoZW5hYmxlfWNhdGNoKGIpe3JldHVybiExfX07dmFyIFZnLGJoLGdoLGZoLGhoO18uVWc9ZnVuY3Rpb24oYSl7dGhpcy5pPTA7dGhpcy5DPXZvaWQgMDt0aGlzLnY9dGhpcy5qPXRoaXMubz1udWxsO3RoaXMuQT10aGlzLkI9ITE7aWYoYSE9UmcpdHJ5e2NvbnN0IGI9dGhpczthLmNhbGwodm9pZCAwLGZ1bmN0aW9uKGMpe1RnKGIsMixjKX0sZnVuY3Rpb24oYyl7VGcoYiwzLGMpfSl9Y2F0Y2goYil7VGcodGhpcywzLGIpfX07Vmc9ZnVuY3Rpb24oKXt0aGlzLm5leHQ9dGhpcy5vPXRoaXMuaj10aGlzLnY9dGhpcy5pPW51bGw7dGhpcy5BPSExfTtWZy5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMudj10aGlzLmk9bnVsbDt0aGlzLkE9ITF9O3ZhciBXZz1uZXcgTGcoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFZnfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KSxYZz1mdW5jdGlvbihhLGIsYyl7Y29uc3QgZD1XZy5nZXQoKTtkLnY9YTtkLmo9YjtkLm89YztyZXR1cm4gZH07Cl8uVWcucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBZZyh0aGlzLCgwLF8uR2QpKHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hOm51bGwpLCgwLF8uR2QpKHR5cGVvZiBiPT09ImZ1bmN0aW9uIj9iOm51bGwpLGMpfTtfLlVnLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtfLlVnLnByb3RvdHlwZS5EPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFlnKHRoaXMsbnVsbCwoMCxfLkdkKShhKSxiKX07Xy5VZy5wcm90b3R5cGUuY2F0Y2g9Xy5VZy5wcm90b3R5cGUuRDtfLlVnLnByb3RvdHlwZS5jYW5jZWw9ZnVuY3Rpb24oYSl7aWYodGhpcy5pPT0wKXtjb25zdCBiPW5ldyBfLlpnKGEpO1FnKGZ1bmN0aW9uKCl7JGcodGhpcyxiKX0sdGhpcyl9fTsKdmFyICRnPWZ1bmN0aW9uKGEsYil7aWYoYS5pPT0wKWlmKGEubyl7dmFyIGM9YS5vO2lmKGMuail7dmFyIGQ9MCxlPW51bGwsZj1udWxsO2ZvcihsZXQgZz1jLmo7ZyYmKGcuQXx8KGQrKyxnLmk9PWEmJihlPWcpLCEoZSYmZD4xKSkpO2c9Zy5uZXh0KWV8fChmPWcpO2UmJihjLmk9PTAmJmQ9PTE/JGcoYyxiKTooZj8oZD1mLGQubmV4dD09Yy52JiYoYy52PWQpLGQubmV4dD1kLm5leHQubmV4dCk6YWgoYyksYmgoYyxlLDMsYikpKX1hLm89bnVsbH1lbHNlIFRnKGEsMyxiKX0sZGg9ZnVuY3Rpb24oYSxiKXthLmp8fGEuaSE9MiYmYS5pIT0zfHxjaChhKTthLnY/YS52Lm5leHQ9YjphLmo9YjthLnY9Yn0sWWc9ZnVuY3Rpb24oYSxiLGMsZCl7Y29uc3QgZT1YZyhudWxsLG51bGwsbnVsbCk7ZS5pPW5ldyBfLlVnKGZ1bmN0aW9uKGYsZyl7ZS52PWI/ZnVuY3Rpb24oaCl7dHJ5e2NvbnN0IGs9Yi5jYWxsKGQsaCk7ZihrKX1jYXRjaChrKXtnKGspfX06ZjtlLmo9Yz9mdW5jdGlvbihoKXt0cnl7Y29uc3Qgaz0KYy5jYWxsKGQsaCk7az09PXZvaWQgMCYmaCBpbnN0YW5jZW9mIF8uWmc/ZyhoKTpmKGspfWNhdGNoKGspe2coayl9fTpnfSk7ZS5pLm89YTtkaChhLGUpO3JldHVybiBlLml9O18uVWcucHJvdG90eXBlLkc9ZnVuY3Rpb24oYSl7dGhpcy5pPTA7VGcodGhpcywyLGEpfTtfLlVnLnByb3RvdHlwZS5KPWZ1bmN0aW9uKGEpe3RoaXMuaT0wO1RnKHRoaXMsMyxhKX07CnZhciBUZz1mdW5jdGlvbihhLGIsYyl7aWYoYS5pPT0wKXthPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIkwiKSk7YS5pPTE7YTp7dmFyIGQ9YyxlPWEuRyxmPWEuSjtpZihkIGluc3RhbmNlb2YgXy5VZyl7ZGgoZCxYZyhlfHxSZyxmfHxudWxsLGEpKTt2YXIgZz0hMH1lbHNlIGlmKF8uU2coZCkpZC50aGVuKGUsZixhKSxnPSEwO2Vsc2V7aWYoXy5MYihkKSl0cnl7Y29uc3QgaD1kLnRoZW47aWYodHlwZW9mIGg9PT0iZnVuY3Rpb24iKXtlaChkLGgsZSxmLGEpO2c9ITA7YnJlYWsgYX19Y2F0Y2goaCl7Zi5jYWxsKGEsaCk7Zz0hMDticmVhayBhfWc9ITF9fWd8fChhLkM9YyxhLmk9YixhLm89bnVsbCxjaChhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5aZ3x8ZmgoYSxjKSl9fSxlaD1mdW5jdGlvbihhLGIsYyxkLGUpe2xldCBmPSExO2NvbnN0IGc9ZnVuY3Rpb24oayl7Znx8KGY9ITAsYy5jYWxsKGUsaykpfSxoPWZ1bmN0aW9uKGspe2Z8fChmPSEwLGQuY2FsbChlLGspKX07dHJ5e2IuY2FsbChhLApnLGgpfWNhdGNoKGspe2goayl9fSxjaD1mdW5jdGlvbihhKXthLkJ8fChhLkI9ITAsUWcoYS5GLGEpKX0sYWg9ZnVuY3Rpb24oYSl7bGV0IGI9bnVsbDthLmomJihiPWEuaixhLmo9Yi5uZXh0LGIubmV4dD1udWxsKTthLmp8fChhLnY9bnVsbCk7cmV0dXJuIGJ9O18uVWcucHJvdG90eXBlLkY9ZnVuY3Rpb24oKXtsZXQgYTtmb3IoO2E9YWgodGhpcyk7KWJoKHRoaXMsYSx0aGlzLmksdGhpcy5DKTt0aGlzLkI9ITF9O2JoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGM9PTMmJmIuaiYmIWIuQSlmb3IoO2EmJmEuQTthPWEubylhLkE9ITE7aWYoYi5pKWIuaS5vPW51bGwsZ2goYixjLGQpO2Vsc2UgdHJ5e2IuQT9iLnYuY2FsbChiLm8pOmdoKGIsYyxkKX1jYXRjaChlKXtoaC5jYWxsKG51bGwsZSl9SGcoV2csYil9O2doPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Eudi5jYWxsKGEubyxjKTphLmomJmEuai5jYWxsKGEubyxjKX07CmZoPWZ1bmN0aW9uKGEsYil7YS5BPSEwO1FnKGZ1bmN0aW9uKCl7YS5BJiZoaC5jYWxsKG51bGwsYil9KX07aGg9Xy5rYTtfLlpnPWZ1bmN0aW9uKGEpe18uYWEuY2FsbCh0aGlzLGEpfTtfLkIoXy5aZyxfLmFhKTtfLlpnLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmloPWZ1bmN0aW9uKGEsYil7Xy5WLmNhbGwodGhpcyk7dGhpcy5qPWF8fDE7dGhpcy5pPWJ8fF8udDt0aGlzLm89KDAsXy56KSh0aGlzLk1pLHRoaXMpO3RoaXMudj1EYXRlLm5vdygpfTtfLkIoXy5paCxfLlYpO18ubj1fLmloLnByb3RvdHlwZTtfLm4uYmM9ITE7Xy5uLlhhPW51bGw7Xy5uLk1pPWZ1bmN0aW9uKCl7aWYodGhpcy5iYyl7Y29uc3QgYT1EYXRlLm5vdygpLXRoaXMudjthPjAmJmE8dGhpcy5qKi44P3RoaXMuWGE9dGhpcy5pLnNldFRpbWVvdXQodGhpcy5vLHRoaXMuai1hKToodGhpcy5YYSYmKHRoaXMuaS5jbGVhclRpbWVvdXQodGhpcy5YYSksdGhpcy5YYT1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmJjJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9fTtfLm4uc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLmJjPSEwO3RoaXMuWGF8fCh0aGlzLlhhPXRoaXMuaS5zZXRUaW1lb3V0KHRoaXMubyx0aGlzLmopLHRoaXMudj1EYXRlLm5vdygpKX07Cl8ubi5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5iYz0hMTt0aGlzLlhhJiYodGhpcy5pLmNsZWFyVGltZW91dCh0aGlzLlhhKSx0aGlzLlhhPW51bGwpfTtfLm4uUj1mdW5jdGlvbigpe18uaWguWC5SLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuaX07Xy5qaD1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKWMmJihhPSgwLF8ueikoYSxjKSk7ZWxzZSBpZihhJiZ0eXBlb2YgYS5oYW5kbGVFdmVudD09ImZ1bmN0aW9uIilhPSgwLF8ueikoYS5oYW5kbGVFdmVudCxhKTtlbHNlIHRocm93IEVycm9yKCJNIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udC5zZXRUaW1lb3V0KGEsYnx8MCl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtoPWZ1bmN0aW9uKGEpe2NvbnN0IGI9W107bGV0IGM9MDtmb3IoY29uc3QgZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtfLlg9ZnVuY3Rpb24oYSxiLGMpe2M/Xy5LZShhLGIpOl8uTWUoYSxiKX07Xy5saD1mdW5jdGlvbihhLGIpe2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLGIubmV4dFNpYmxpbmcpfTtfLm1oPSFfLmhjJiYhXy52YSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm5oPWZ1bmN0aW9uKGEpe2lmKGEudilyZXR1cm4gYS52O2Zvcihjb25zdCBiIGluIGEuaSlpZihhLmlbYl0uaGEoKSYmYS5pW2JdLkIoKSlyZXR1cm4gYS5pW2JdO3JldHVybiBudWxsfTtfLm9oPWZ1bmN0aW9uKGEsYil7YS5pW2IuSigpXT1ifTt2YXIgcGg9bmV3IGNsYXNzIGV4dGVuZHMgXy5Qe2NvbnN0cnVjdG9yKCl7dmFyIGE9Xy5ZYztzdXBlcigpO3RoaXMuQj1hO3RoaXMudj1udWxsO3RoaXMubz17fTt0aGlzLkM9e307dGhpcy5pPXt9O3RoaXMuaj1udWxsfUEoYSl7dGhpcy5pW2FdJiYoXy5uaCh0aGlzKSYmXy5uaCh0aGlzKS5KKCk9PWF8fHRoaXMuaVthXS5QKCEwKSl9U2EoYSl7dGhpcy5qPWE7Zm9yKGNvbnN0IGIgaW4gdGhpcy5pKXRoaXMuaVtiXS5oYSgpJiZ0aGlzLmlbYl0uU2EoYSl9bGMoYSl7cmV0dXJuIGEgaW4gdGhpcy5pP3RoaXMuaVthXTpudWxsfX07Xy5wZCgiZGQiLHBoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHFoLHNoLENoLERoLEVoLEdoLEloLEpoLHRoLEtoLHVoLHJoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLFdoLFhoLFloLFpoLCRoO3FoPWZ1bmN0aW9uKGEsYixjKXtfLlAuY2FsbCh0aGlzKTt0aGlzLmFiPWE7dGhpcy5vPWJ8fDA7dGhpcy5pPWM7dGhpcy5qPSgwLF8ueikodGhpcy5uZyx0aGlzKX07c2g9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2coYSxmdW5jdGlvbihiKXtyZXR1cm4gYi5ub2RlVHlwZT09MSYmcmgoYiwiaGlkZGVuIik9PSJ0cnVlIn0pIT1udWxsfTtfLnZoPWZ1bmN0aW9uKGEpe3JldHVybiBhP3RoKGEsZnVuY3Rpb24oYil7cmV0dXJuIGIubm9kZVR5cGU9PTEmJnVoKGIpJiYhc2goYil9KTpbXX07Xy53aD1mdW5jdGlvbihhLGIpe2EmJmImJl8ueWcoYSxhLmhyZWYucmVwbGFjZSgvKFs/Jl0oY29udGludWV8Zm9sbG93dXApPSlbXiZdKi9nLCIkMSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKSl9OwpfLkJoPWZ1bmN0aW9uKCl7Xy5BKCJnYmFyLkkiLF8ueGgpO18ueGgucHJvdG90eXBlLmlhPV8ueGgucHJvdG90eXBlLlQ7Xy54aC5wcm90b3R5cGUuaWI9Xy54aC5wcm90b3R5cGUuSDtfLnhoLnByb3RvdHlwZS5pYz1fLnhoLnByb3RvdHlwZS5BYTtfLkEoImdiYXIuSiIsXy55aCk7Xy55aC5wcm90b3R5cGUuamE9Xy55aC5wcm90b3R5cGUuVTtfLnloLnByb3RvdHlwZS5qYj1fLnloLnByb3RvdHlwZS5TO18uQSgiZ2Jhci5LIixfLnpoKTtfLkEoImdiYXIuTCIsXy5BaCk7Xy5BaC5wcm90b3R5cGUubGE9Xy5BaC5wcm90b3R5cGUuan07Q2g9ZnVuY3Rpb24oYSxiKXtiLnhhPWIudHlwZTtiLnhiPWIudGFyZ2V0O3JldHVybiBhLmNhbGwodGhpcyxiKX07RGg9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuaj1hO3RoaXMuaT17fTthPTA7Zm9yKHZhciBkPWIubGVuZ3RoO2E8ZDthKyspdGhpcy5pW2JbYV1dPSEwO3RoaXMubz1jO3RoaXMudj1fLnR9fTsKRWg9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5UKCJnYl8wYyIsYS5IKCkpO2lmKGIhPSIifHxjIT0iIilfLlUoYSwiZ2JfOGEiKT9fLlJmKGEsImJhY2tncm91bmQtaW1hZ2UiKSE9IiImJihiPWMhPSIiP2M6YixfLlcoYSwiYmFja2dyb3VuZC1pbWFnZSIsInVybCgnIitiKyInKSIpLGE9Xy5UKCJnYl9aYyIsYSksYSE9PW51bGwmJmEudGFnTmFtZT09IklNRyImJihhLnNyYz1iKSk6YS50YWdOYW1lPT0iSU1HIiYmKGEuc3JjPWIhPSIiP2I6YyxiIT1jJiYoYz1jIT0iIj9jKyIgMnggIjoiIixiIT0iIiYmKGM9YysoYz09IiI/IiI6IiwiKSsoYisiIDF4IikpLGEuc2V0QXR0cmlidXRlKCJzcmNzZXQiLGMpKSl9O18uQihxaCxfLlApO18ubj1xaC5wcm90b3R5cGU7Xy5uLlFjPTA7Xy5uLlI9ZnVuY3Rpb24oKXtxaC5YLlIuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5hYjtkZWxldGUgdGhpcy5pfTsKXy5uLnN0YXJ0PWZ1bmN0aW9uKGEpe3RoaXMuc3RvcCgpO3RoaXMuUWM9Xy5qaCh0aGlzLmosYSE9PXZvaWQgMD9hOnRoaXMubyl9O18ubi5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5pc0FjdGl2ZSgpJiZfLnQuY2xlYXJUaW1lb3V0KHRoaXMuUWMpO3RoaXMuUWM9MH07Xy5uLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUWMhPTB9O18ubi5uZz1mdW5jdGlvbigpe3RoaXMuUWM9MDt0aGlzLmFiJiZ0aGlzLmFiLmNhbGwodGhpcy5pKX07Xy5GaD1mdW5jdGlvbihhLGIpe2ImJl8ubmgoYSkmJmIhPV8ubmgoYSkmJl8ubmgoYSkuUCghMSk7YS52PWJ9OwpHaD1mdW5jdGlvbihhKXt2YXIgYj1fLm5kLmkoKSxjPVsiYXNsIl07aWYoYy5sZW5ndGghPWEubGVuZ3RoKXRocm93IG5ldyBfLmFhO3ZhciBkPVtdO2ZvcihsZXQgZj0wLGc9Yy5sZW5ndGg7ZjxnO2YrKyl7dmFyIGU9Y1tmXTtiLmlbZV18fGQucHVzaChlKX1pZihkLmxlbmd0aD09MCl7ZD1jLmxlbmd0aDtlPUFycmF5KGQpO2ZvcihsZXQgZj0wO2Y8ZDtmKyspZVtmXT1iLmlbY1tmXV07YS5hcHBseShfLnQsZSl9ZWxzZXthPW5ldyBEaChjLGQsYSk7Zm9yKGxldCBmPTAsZz1kLmxlbmd0aDtmPGc7ZisrKWM9ZFtmXSwoZT1iLmpbY10pfHwoYi5qW2NdPWU9W10pLGUucHVzaChhKX19O18uSGg9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCl9OwpJaD1mdW5jdGlvbihhLGIsYyxkKXtpZihhIT1udWxsKWZvcihhPWEuZmlyc3RDaGlsZDthOyl7aWYoYihhKSYmKGMucHVzaChhKSxkKXx8SWgoYSxiLGMsZCkpcmV0dXJuITA7YT1hLm5leHRTaWJsaW5nfXJldHVybiExfTtKaD1mdW5jdGlvbihhLGIpe2NvbnN0IGM9W107cmV0dXJuIEloKGEsYixjLCEwKT9jWzBdOnZvaWQgMH07dGg9ZnVuY3Rpb24oYSxiKXtjb25zdCBjPVtdO0loKGEsYixjLCExKTtyZXR1cm4gY307S2g9ZnVuY3Rpb24oYSl7YT1hLnRhYkluZGV4O3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiJiZhPj0wJiZhPDMyNzY4fTsKdWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudGFnTmFtZT09IkEiJiZhLmhhc0F0dHJpYnV0ZSgiaHJlZiIpfHxhLnRhZ05hbWU9PSJJTlBVVCJ8fGEudGFnTmFtZT09IlRFWFRBUkVBInx8YS50YWdOYW1lPT0iU0VMRUNUInx8YS50YWdOYW1lPT0iQlVUVE9OIj8hYS5kaXNhYmxlZCYmKCFhLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8S2goYSkpOmEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpJiZLaChhKX07cmg9ZnVuY3Rpb24oYSxiKXthPWEuZ2V0QXR0cmlidXRlKCJhcmlhLSIrYik7cmV0dXJuIGE9PW51bGx8fGE9PXZvaWQgMD8iIjpTdHJpbmcoYSl9O0xoPWZ1bmN0aW9uKGEpe2Euanx8KGEuaj1fLmZmKGEuaSwia2V5ZG93biIsYS5vLCExLGEpKX07TWg9ZnVuY3Rpb24oYSl7YS5qJiYoXy5vZihhLmopLGEuaj1udWxsKX07Tmg9ZnVuY3Rpb24oYSl7TWgoYSk7Xy5YKGEuaSwiZ2JfZGEiLCExKX07Ck9oPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaT1hO3RoaXMuaj1udWxsfW8oYSl7YS5rZXlDb2RlIT05fHxfLlUodGhpcy5pLCJnYl9kYSIpfHwoXy5YKHRoaXMuaSwiZ2JfZGEiLCEwKSxNaCh0aGlzKSl9fTtfLnhoPWNsYXNzIGV4dGVuZHMgXy5We2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLnY9YTtiJiYodGhpcy52LmlkPWIpfUgoKXtyZXR1cm4gdGhpcy52fVQoKXtyZXR1cm4gdGhpcy52LmlkfUFhKCl7bGV0IGE9dGhpcy52LmlkO2F8fChhPSJnYiQiK18uZmcoXy5lZy5pKCkpLHRoaXMudi5pZD1hKTtyZXR1cm4gYX1SKCl7Xy54ZSh0aGlzLnYpO3N1cGVyLlIoKX19O18ueGgucHJvdG90eXBlLks9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5IKCl9O1BoPWZ1bmN0aW9uKGEpe3JldHVybiBKaChhLGZ1bmN0aW9uKGIpe3JldHVybiBfLnplKGIpJiZ1aChiKX0pfTtRaD1mdW5jdGlvbihhKXsoYT1QaChhKSkmJmEuZm9jdXMoKX07ClJoPXtGajoiZ2JfOWEiLFdqOiJnYl9XZCIsZGo6ImdiX2NkIn07Xy55aD1jbGFzcyBleHRlbmRzIF8ueGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7dGhpcy5BPVtdO3RoaXMuRD17fX1VKGEpe2xldCBiPXRoaXMuRFthXTtpZihiKXJldHVybiBiO2NvbnN0IGM9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYSk7aWYoYylmb3IobGV0IGQ9MCxlPXRoaXMuQS5sZW5ndGg7ZDxlOysrZClpZihiPXRoaXMuQVtkXSxiLkgoKT09YylyZXR1cm4gdGhpcy5EW2FdPWI7cmV0dXJuIG51bGx9Uygpe2ZvcihsZXQgYT0wLGI9dGhpcy5BLmxlbmd0aDthPGI7YSsrKXRoaXMuQVthXS5kaXNwb3NlKCk7dGhpcy5EPXt9O3RoaXMuQT1bXX19OwpTaD1mdW5jdGlvbihhKXt2YXIgYjtpZihiPWEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCliPS8tW2Etel0vLnRlc3QoIm9nb2JtIik/ITE6Xy5taCYmYS5kYXRhc2V0PyJvZ29ibSJpbiBhLmRhdGFzZXQ6YS5oYXNBdHRyaWJ1dGU/YS5oYXNBdHRyaWJ1dGUoImRhdGEtIitfLkhoKCJvZ29ibSIpKTohIWEuZ2V0QXR0cmlidXRlKCJkYXRhLSIrXy5IaCgib2dvYm0iKSk7cmV0dXJuIGJ9O1RoPSJjbGljayBtb3VzZWRvd24gc2Nyb2xsIHRvdWNoc3RhcnQgd2hlZWwga2V5ZG93biIuc3BsaXQoIiAiKTtVaD1jbGFzc3t9OwpWaD1mdW5jdGlvbihhKXtfLkFnKGEuaixhLkgoKSxhLlopO2EuSCgpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGMpe2Mua2V5Q29kZT09MzImJmMucHJldmVudERlZmF1bHQoKX0pO2Euai5saXN0ZW4oYS5pLCJrZXlkb3duIixhLmVhKTthLmoubGlzdGVuKGEuaSwia2V5dXAiLGEub2EpO2NvbnN0IGI9bmV3IE1hcDtiLnNldCgiY2xvc2UiLCJjYmMiKTtiLnNldCgiYmFjayIsImJiYyIpO2IuZm9yRWFjaCgoYyxkKT0+e18uQWcoYS5qLGEuQy5nZXQoZCksZnVuY3Rpb24oKXt0aGlzLmRpc3BhdGNoRXZlbnQoYyl9KX0pO2lmKF8uVShhLmksImdiXzlhIil8fF8uVShhLmksImdiX1dkIikpYS5qLmxpc3Rlbih3aW5kb3csInJlc2l6ZSIsYS5OKSxhLk4oKTtfLlUoYS5pLCJnYl83YyIpfHxhLmouRGEod2luZG93LCJ0b3VjaHN0YXJ0IiwoKT0+e18uVyhhLmksIm92ZXJmbG93LXkiLCJhdXRvIil9KX07CldoPWZ1bmN0aW9uKGEpe2Euai5HYShkb2N1bWVudC5ib2R5LFRoLGEuTSwhMSxhKTthLmouR2EoZG9jdW1lbnQuYm9keSwiZm9jdXNpbiIsYS5MKX07WGg9ZnVuY3Rpb24oYSxiKXsoYT1hLkMuZ2V0KGIpKSYmXy5NZShhLCJnYl9TIil9O1loPWZ1bmN0aW9uKGEpe2EuQy5mb3JFYWNoKGI9PntfLktlKGIsImdiX1MiKX0pfTtaaD1mdW5jdGlvbihhKXtyZXR1cm4hXy5VKGEuaSwiZ2JfYmQiKXx8Xy5VKGEuaSwiZ2JfOWEiKXx8Xy5VKGEuaSwiZ2JfV2QiKX07CiRoPWNsYXNzIGV4dGVuZHMgXy55aHtjb25zdHJ1Y3RvcihhLGIsYyxkLGUpe2NvbnN0IGY9YS5nZXQoIm1lbnUiKTtzdXBlcihmKTt0aGlzLmk9Yjt0aGlzLk89Zjt0aGlzLkM9YTt0aGlzLlY9YS5nZXQoImJhY2siKTt0aGlzLkI9Xy5UKCJnYl8zYyIpO3RoaXMuRz1jO3RoaXMuRj1fLlQoImdiX2RkIix0aGlzLmkpO3RoaXMuSj1uZXcgT2godGhpcy5GKTt0aGlzLkNhPVtdO3RoaXMubWE9ZHx8ITE7dGhpcy5QPWV8fCExO3RoaXMuaj1uZXcgXy5BZih0aGlzKTtWaCh0aGlzKX1SKCl7c3VwZXIuUigpO1doKHRoaXMpfUsoKXtyZXR1cm4gdGhpcy5GfVcoKXtyZXR1cm4gXy5UKCJnYl9jZSIsdGhpcy5pKX1kYShhKXtfLlgodGhpcy5pLCJnYl9iZCIsYT09MSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJtc2MiKX1nZXRTdHlsZSgpe3JldHVybiBaaCh0aGlzKT8wOjF9RmEoYSl7dGhpcy5CfHwodGhpcy5CPV8uVCgiZ2JfM2MiKSk7dGhpcy5CJiZhJiZfLkFlKHRoaXMuQixhKX1pc1Zpc2libGUoYSl7cmV0dXJuKGE9CnRoaXMuQy5nZXQoYSkpPyFfLlUoYSwiZ2JfUyIpOiExfW9wZW4oYSl7dGhpcy5HfHwoYSYmXy5XKHRoaXMuaSwidHJhbnNpdGlvbiIsIm5vbmUiKSx0aGlzLmRpc3BhdGNoRXZlbnQoImJlZm9yZXNob3ciKSxfLktlKHRoaXMuaSwiZ2JfNWEiKSxfLkNlKHRoaXMuSCgpLCJleHBhbmRlZCIsITApLFFoKHRoaXMuRiksTGgodGhpcy5KKSx0aGlzLmRpc3BhdGNoRXZlbnQoIm9wZW4iKSx0aGlzLmoubyhkb2N1bWVudC5ib2R5LFRoLHRoaXMuTSwhMCx0aGlzKSx0aGlzLmoubGlzdGVuKGRvY3VtZW50LmJvZHksImZvY3VzaW4iLHRoaXMuTCksYSYmXy5qaChmdW5jdGlvbigpe18uVyh0aGlzLmksInRyYW5zaXRpb24iLCIiKX0sMCx0aGlzKSl9RWEoYSl7dGhpcy5HJiZfLkNlKHRoaXMuSCgpLCJleHBhbmRlZCIsYSl9Y2xvc2UoYSl7dGhpcy5HfHwoYSYmXy5XKHRoaXMuaSwidHJhbnNpdGlvbiIsIm5vbmUiKSxfLk1lKHRoaXMuaSwiZ2JfNWEiKSxfLkNlKHRoaXMuSCgpLCJleHBhbmRlZCIsCiExKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT10aGlzLkgoKSYmdGhpcy5IKCkuYmx1cigpLE5oKHRoaXMuSiksdGhpcy5kaXNwYXRjaEV2ZW50KCJjbG9zZSIpLFdoKHRoaXMpLGEmJl8uamgoZnVuY3Rpb24oKXtfLlcodGhpcy5pLCJ0cmFuc2l0aW9uIiwiIil9LDAsdGhpcykpfW8oKXtyZXR1cm4gXy5VKHRoaXMuaSwiZ2JfNWEiKX1OKCl7Y29uc3QgYT13aW5kb3cudmlzdWFsVmlld3BvcnQ/d2luZG93LnZpc3VhbFZpZXdwb3J0LmhlaWdodDp3aW5kb3cuaW5uZXJIZWlnaHQ7YSYmXy5XKHRoaXMuaSwiaGVpZ2h0IixgY2FsYygke2F9cHggLSAxMDAlKWApfVooKXt0aGlzLmRpc3BhdGNoRXZlbnQoIm1iYyIpO2lmKCF0aGlzLkcpe2lmKHRoaXMubygpKXt0aGlzLmNsb3NlKCk7dmFyIGE9ITB9ZWxzZSB0aGlzLm9wZW4oKSxhPSExO2EmJnRoaXMuSCgpLmZvY3VzKCl9fW9hKGEpe2Eua2V5Q29kZT09PTkmJnRoaXMubygpJiYoYT10aGlzLkosXy5YKGEuaSwiZ2JfZGEiLCEwKSxNaChhKSl9ZWEoYSl7YTp7aWYoYS5rZXlDb2RlPT0KMzZ8fGEua2V5Q29kZT09MzUpe3ZhciBiPV8udmgodGhpcy5pKTtpZihiLmxlbmd0aD4wKXt2YXIgYz1iW2IubGVuZ3RoLTFdO2Eua2V5Q29kZT09MzYmJihjPSFaaCh0aGlzKSYmYi5sZW5ndGg+MT9iWzFdOmJbMF0pO2MuZm9jdXMoKTthLnByZXZlbnREZWZhdWx0KCk7YnJlYWsgYX19YS5rZXlDb2RlIT0yN3x8dGhpcy5tYSYmIVpoKHRoaXMpfHwodGhpcy5jbG9zZSgpLHRoaXMuTyE9bnVsbCYmdGhpcy5PLmZvY3VzKCkpfWEua2V5Q29kZT09PTkmJnRoaXMubygpJiZaaCh0aGlzKSYmKGI9YS50YXJnZXQsYz1fLnZoKHRoaXMuaSksYy5sZW5ndGg+MCYmKGI9PWNbMF0mJmEuc2hpZnRLZXk/KGNbYy5sZW5ndGgtMV0uZm9jdXMoKSxhLnByZXZlbnREZWZhdWx0KCkpOmIhPWNbYy5sZW5ndGgtMV18fGEuc2hpZnRLZXl8fChjWzBdLmZvY3VzKCksYS5wcmV2ZW50RGVmYXVsdCgpKSkpfU0oYSl7dGhpcy5vKCkmJmEudGFyZ2V0IGluc3RhbmNlb2YgTm9kZSYmISghWmgodGhpcyl8fHRoaXMuUCYmCl8uQ2coYS50YXJnZXQsU2gpKSYmKGEudHlwZT09ImtleWRvd24iP2Eua2V5Q29kZT09MjcmJihhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNsb3NlKCksdGhpcy5IKCkuZm9jdXMoKSk6Xy5EZyhhLnRhcmdldCwiZ2JfbWEiKXx8Xy5EZyhhLnRhcmdldCwiZ2JfMWMiKXx8Xy55ZSh0aGlzLmksYS50YXJnZXQpfHwoYS50eXBlPT0idG91Y2hzdGFydCImJihhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSksdGhpcy5jbG9zZSgpKSl9TCgpe3RoaXMubygpJiYoIVpoKHRoaXMpfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWUhPSJJRlJBTUUiJiYodGhpcy5QJiZfLkNnKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsU2gpfHxfLkRnKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsImdiXzZjIil8fF8uRGcoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCwiZ2JfbWEiKXx8UWgodGhpcy5GKSkpfWhhKCl7dGhpcy5DYS5wdXNoKG5ldyBVaCl9fTsKXy56aD1jbGFzcyBleHRlbmRzIF8ueGh7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhKTtfLnpnLmxpc3RlbihhLHRoaXMuaiwhMSx0aGlzKTt0aGlzLmk9Yn1qKGEpe3RoaXMuaSYmdGhpcy5pKGEpfHx0aGlzLmRpc3BhdGNoRXZlbnQoImNsaWNrIil8fGEucHJldmVudERlZmF1bHQoKX19O3ZhciBhaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaT1udWxsfVljKCl7cmV0dXJuIHRoaXMuaX19O3ZhciBiaT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5pPWE7dGhpcy5qPWI7dGhpcy5vPWN8fF8udH19O3ZhciBjaT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmk9W107dGhpcy52PWF8fHRoaXN9aihhLGIsYyl7dGhpcy5BKGEsYixjKTt0aGlzLmkucHVzaChuZXcgYmkoYSxiLGMpKX1BKGEsYixjKXtjPWN8fF8udDtjb25zdCBkPXRoaXMuaS5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxkO2UrKyl7Y29uc3QgZj10aGlzLmlbZV07aWYoZi5pPT1hJiZmLmo9PWImJmYubz09Yyl7dGhpcy5pLnNwbGljZShlLDEpO2JyZWFrfX19byhhKXthLmk9dGhpcy52O2NvbnN0IGI9dGhpcy5pLmxlbmd0aDtmb3IobGV0IGM9MDtjPGI7YysrKXtjb25zdCBkPXRoaXMuaVtjXTtkLmk9PSJjYXRjIiYmZC5qLmNhbGwoZC5vLGEpfX19O3ZhciBlaT1mdW5jdGlvbihhLGIpe18uVi5jYWxsKHRoaXMpO3RoaXMuaT1hO3RoaXMubz1kaSh0aGlzLmkpO3RoaXMuQz1ifHwxMDA7dGhpcy52PV8uZmYoYSwicmVzaXplIix0aGlzLkEsITEsdGhpcyl9O18uQihlaSxfLlYpO2VpLnByb3RvdHlwZS5SPWZ1bmN0aW9uKCl7Xy5vZih0aGlzLnYpO2VpLlguUi5jYWxsKHRoaXMpfTtlaS5wcm90b3R5cGUuQT1mdW5jdGlvbigpe3RoaXMuanx8KHRoaXMuaj1uZXcgcWgodGhpcy5CLHRoaXMuQyx0aGlzKSxfLnhmKHRoaXMsdGhpcy5qKSk7dGhpcy5qLnN0YXJ0KCl9OwplaS5wcm90b3R5cGUuQj1mdW5jdGlvbigpe2lmKCF0aGlzLmkuaXNEaXNwb3NlZCgpKXt2YXIgYT10aGlzLm8sYj1kaSh0aGlzLmkpO3RoaXMubz1iO2lmKGEpe2xldCBjPSExO2Eud2lkdGghPWIud2lkdGgmJih0aGlzLmRpc3BhdGNoRXZlbnQoImIiKSxjPSEwKTthLmhlaWdodCE9Yi5oZWlnaHQmJih0aGlzLmRpc3BhdGNoRXZlbnQoImEiKSxjPSEwKTtjJiZ0aGlzLmRpc3BhdGNoRXZlbnQoInJlc2l6ZSIpfWVsc2UgdGhpcy5kaXNwYXRjaEV2ZW50KCJhIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJiIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJyZXNpemUiKX19O3ZhciBmaT1mdW5jdGlvbihhKXtfLlYuY2FsbCh0aGlzKTt0aGlzLmo9YXx8d2luZG93O3RoaXMubz1fLmZmKHRoaXMuaiwicmVzaXplIix0aGlzLnYsITEsdGhpcyk7dGhpcy5pPV8uTGYodGhpcy5qfHx3aW5kb3cpfTtfLkIoZmksXy5WKTt2YXIgaGk9ZnVuY3Rpb24oKXtjb25zdCBhPXdpbmRvdyxiPV8uY2coYSk7cmV0dXJuIGdpW2JdPWdpW2JdfHxuZXcgZmkoYSl9LGdpPXt9LGRpPWZ1bmN0aW9uKGEpe3JldHVybiBhLmk/Xy5LZihhLmkpOm51bGx9O2ZpLnByb3RvdHlwZS5SPWZ1bmN0aW9uKCl7ZmkuWC5SLmNhbGwodGhpcyk7dGhpcy5vJiYoXy5vZih0aGlzLm8pLHRoaXMubz1udWxsKTt0aGlzLmk9dGhpcy5qPW51bGx9O2ZpLnByb3RvdHlwZS52PWZ1bmN0aW9uKCl7Y29uc3QgYT1fLkxmKHRoaXMuanx8d2luZG93KTtfLk1mKGEsdGhpcy5pKXx8KHRoaXMuaT1hLHRoaXMuZGlzcGF0Y2hFdmVudCgicmVzaXplIikpfTt2YXIgaWk9ZnVuY3Rpb24oYSxiKXtsZXQgYz0wO2NvbnN0IGQ9Yi5sZW5ndGgtMTtsZXQgZT1iWzBdO2Zvcig7YzxkOyl7aWYoYTw9ZS5tYXgpcmV0dXJuIGUuaWQ7ZT1iWysrY119cmV0dXJuIGJbZF0uaWR9LGppPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy52PW5ldyBjaSh0aGlzKTt0aGlzLkQ9YTt0aGlzLkI9Yjt0aGlzLmk9aWkoYS5vZmZzZXRXaWR0aCx0aGlzLkIpO3RoaXMuRj1uZXcgZWkoaGkoKSwxMCk7Xy5mZih0aGlzLkYsImIiLGZ1bmN0aW9uKCl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgwLF8ueikodGhpcy5DLHRoaXMpKTp0aGlzLkMoKX0sITEsdGhpcyl9Qygpe2NvbnN0IGE9aWkodGhpcy5ELm9mZnNldFdpZHRoLHRoaXMuQik7YSE9dGhpcy5pJiYodGhpcy5pPWEsdGhpcy5vKG5ldyBhaSkpfWooYSxiLGMpe3RoaXMudi5qKGEsYixjKX1BKGEsYil7dGhpcy52LkEoYSxiKX1vKGEpe3RoaXMudi5vKGEpfX07Xy5BaD1jbGFzcyBleHRlbmRzIF8ueGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSk7Xy5mZihhLCJjbGljayIsdGhpcy5pLCExLHRoaXMpfWooKXtjb25zdCBhPXRoaXMuSCgpLmdldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIik7cmV0dXJuKGE9PW51bGw/YTp0eXBlb2YgYT09PSJib29sZWFuIj9hOmE9PSJ0cnVlIil8fCExfWkoYSl7YT1hLmN1cnJlbnRUYXJnZXQ7Y29uc3QgYj1yaChhLCJwcmVzc2VkIik7Xy5xZihfLmRnKGIpKXx8Yj09InRydWUifHxiPT0iZmFsc2UiP18uQ2UoYSwicHJlc3NlZCIsYj09InRydWUiPyJmYWxzZSI6InRydWUiKTphLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIik7dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGljayIpfX07dmFyIGtpLGxpLG1pLG5pLG9pLHZpLHNpLHdpLHhpLHRpLHBpLHFpLHJpLHVpLHppLEJpLEFpO2tpPWZ1bmN0aW9uKGEsYil7aWYoYS5oYSl7YS5vYSYmXy5YKGEub2EsImdiX1MiLGEuSyk7dmFyIGM9Yj9iLnRyaW0oKTpiO18uWChhLmhhLCJnYl9TIiwhYS5LfHwhYnx8IWMpO2MmJl8uQWUoYS5oYSxjKX19O2xpPWZ1bmN0aW9uKGEsYil7aWYoYT1fLlQoYj8iZ2JfaiI6ImdiX3YiLGEubykpe2xldCBjPWEub2Zmc2V0V2lkdGg7Xy5jYyhhLmNoaWxkcmVuLGZ1bmN0aW9uKGQpe18uVShkLCJnYl9TIikmJihjLT1kLm9mZnNldFdpZHRoKX0pO3JldHVybiBjfXJldHVybiAwfTttaT1mdW5jdGlvbihhLGIpe2Eudj09bnVsbD9hLk4ubG9nKEVycm9yKCJVIikpOmEuUz9hLk4ubG9nKEVycm9yKCJWIikpOmEuRWE9YjwwPzA6Yn07Cm5pPWZ1bmN0aW9uKGEsYixjKXtsZXQgZD0zMjA7dmFyIGU9Xy5zZihfLmZlKGEuaiwyOSksMCk7ZT4wJiYoZD1lKTtlPWQrMipNYXRoLm1heChiLGMpO2I9ZCtiK2M7cmV0dXJuIGUhPWImJmEuUz9be2lkOjEsbWF4OmJ9LHtpZDoyLG1heDplfSx7aWQ6M31dOlt7aWQ6MSxtYXg6Yn0se2lkOjN9XX07b2k9ZnVuY3Rpb24oYSl7Y29uc3QgYj1fLlIuaSgpO2EuQ3x8Yi5pLnJlamVjdChFcnJvcigiUCIpKTtfLngoXy5TKGEuaiw3KSl8fGIuRC5yZWplY3QoRXJyb3IoIlEiKSk7Xy54KF8uUyhhLmosMTIpKXx8Yi5CLnJlamVjdChFcnJvcigiUiIpKTtfLngoXy5TKGEuaiwxMykpfHxiLkMucmVqZWN0KEVycm9yKCJTIikpfTsKdmk9ZnVuY3Rpb24oYSxiKXshYS5pJiZhLkMmJnBpKGEpO2EuaSYmIWEuUCYmYS5GKCJkZWZhdWx0Iik7YS5pJiZhLkhiJiZhLkYoIm5vbmUiKTtxaShhKTtpZihhLkliKWEuTT0hMDtlbHNlIGlmKGEuZGEpYS5NPSEwO2Vsc2UgaWYoYS5LKWEuTT0hMTtlbHNle3ZhciBjPWI9PT0iZ2JfOWEiLGQ9Xy54KF8uUyhhLmosNSksITEpLGU9Xy54KF8uUyhhLmosNyksITEpO2EuTT0hKGMmJihkfHxlKSl9Yz1iPT0iZ2JfOWEiO2Q9Yj09ImdiX1dkIjthLkdiJiZhLlQmJl8uWChhLlQsImdiX1MiLGN8fGQpOyFhLmRhJiYhXy5GKGEuaiwxMCkmJnJpKGEpLmxlbmd0aD4xJiZhLlQmJmEuRCYmKF8uWChhLlQsImdiX1MiLGMpLF8uWChhLkQsImdiXzJkIixjKSk7aWYoYS5CJiYhYS5kYSl7ZT1hLkIuSCgpO3ZhciBmPSFhLks7Xy5YKGUsImdiX1MiLCFmKTtmJiZzaShhLGEuTSl9YS5pJiYoYS5pLmlzVmlzaWJsZSgibWVudSIpfHxhLmkuaXNWaXNpYmxlKCJiYWNrIikpJiYhWmgoYS5pKSYmKGEuQWE9CmEuaS5vKCkpO2U9Xy5raChSaCk7Xy5OZShhLm8sZSk7Xy5LZShhLm8sYik7Xy5TKGEuaiw3KTtpZihhLlMmJmEuQSE9bnVsbClpZihiIT0iZ2JfY2QiKV8uVyhhLkEsIm1pbi13aWR0aCIsIiIpLF8uVyhhLkQsIm1pbi13aWR0aCIsIiIpO2Vsc2V7Zj1fLldmKGEuQSkud2lkdGg7dmFyIGc9Xy5XZihhLkQpLndpZHRoO2Y9TWF0aC5tYXgoZixnKTtfLlcoYS5BLCJtaW4td2lkdGgiLGYrInB4Iik7Xy5XKGEuRCwibWluLXdpZHRoIixmKyJweCIpfWM/YS5PfHwoYS5PPSEwLHRpKGEsYS5PKSk6KGEuTz0hMSxhLmVhKCkpO2EudiE9bnVsbCYmKF8uWChhLnYsImdiXzBlIiwhYyYmIWQpLF8uWChhLnYsImdiX1plIixjfHxkKSk7YS5pJiYoYz1hLmkuaSxfLk5lKGMsZSksXy5LZShjLGIpLFpoKGEuaSk/Xy5UKCJnYl82ZCIpLmFwcGVuZENoaWxkKGMpOmEuby5hcHBlbmRDaGlsZChjKSxhLmkuaXNWaXNpYmxlKCJtZW51Iil8fGEuaS5pc1Zpc2libGUoImJhY2siKSkmJihiPSFaaChhLmkpLApjPWEuaS5vKCksYiYmIWMmJmEuQWE/YS5pLm9wZW4oKTohYiYmYyYmYS5pLmNsb3NlKCkpO3VpKGEpfTtzaT1mdW5jdGlvbihhLGIpe2NvbnN0IGM9Xy5UKCJnYl8wYyIsYS5CLkgoKSk7Xy5YKGMsImdiX1MiLCFiKTthPV8uVCgiZ2JfUGQiLGEuQi5IKCkpO2EhPW51bGwmJl8uWChhLCJnYl9oZSIsIWIpfTt3aT1mdW5jdGlvbihhKXthPWEuV1swXTtyZXR1cm4gYS5jbGFzc0xpc3QuY29udGFpbnMoImdiXzJjIik/MTphLmNsYXNzTGlzdC5jb250YWlucygiZ2JfOGQiKT8yOjB9O3hpPWZ1bmN0aW9uKGEsYil7aWYoYS5CKXtpZihiPT0yKXtiPV8ueShfLkkoYS5qLDI0KSwiIik7dmFyIGM9Xy55KF8uSShhLmosMjcpLCIiKX1lbHNlIGI9PTE/KGI9Xy55KF8uSShhLmosMjMpLCIiKSxjPV8ueShfLkkoYS5qLDI2KSwiIikpOihiPV8ueShfLkkoYS5qLDIyKSwiIiksYz1fLnkoXy5JKGEuaiwyNSksIiIpKTtiPT0iIiYmYz09IiJ8fEVoKGEuQixiLGMpfX07Cl8ueWk9ZnVuY3Rpb24oYSxiLGMpe2EuaSYmKFpoKGEuaSkmJihjPWI9ITEpLGE9ZG9jdW1lbnQuYm9keSxfLlgoYSwiZ2JfbWUiLGIpLF8uWChhLCJnYl9sZSIsYykpfTt0aT1mdW5jdGlvbihhLGIpe2lmKF8uRihhLmosNykmJighYS5PfHxiKSl7aWYoYS5TKXt2YXIgYz1fLlQoImdiX2oiLGEubyk7aWYoYyl7dmFyIGQ9Xy5UKCJnYl92IixhLm8pLGU9YS5KLmkhPSJnYl9jZCJ8fGI/IiI6YS5MYisicHgiO18uVyhjLCJtaW4td2lkdGgiLGUpO18uVyhkLCJtaW4td2lkdGgiLGUpfX1fLlUoYS52LCJnYl9MZSIpIT1iJiYoXy5YKGEudiwiZ2JfTGUiLGIpLGI/YS5kaXNwYXRjaEV2ZW50KCJzZmkiKTphLmRpc3BhdGNoRXZlbnQoInNmdSIpLF8uWChfLlQoImdiX0VkIixhLnYpLCJnYl9MZSIsYikpfX07CnBpPWZ1bmN0aW9uKGEpe2NvbnN0IGI9Xy5UKCJnYl82YyIpO2lmKGIpe3ZhciBjPW5ldyBNYXA7Yy5zZXQoIm1lbnUiLF8uVCgiZ2JfMWMiLGEubykpO2Muc2V0KCJiYWNrIixfLlQoImdiXzRjIikpO2Muc2V0KCJjbG9zZSIsXy5UKCJnYl9rIikpO3ZhciBkPSExO2MuZm9yRWFjaChlPT57ZXx8KGEuTi5sb2coRXJyb3IoIk4iKSksZD0hMCl9KTtpZighZCl7YS5pPW5ldyAkaChjLGIsXy54KF8uUyhhLmosMTYpLCExKSxfLngoXy5TKGEuaiw5KSwhMSksXy54KF8uUyhhLmosMzMpLCExKSk7YS5pLmxpc3Rlbigib3BlbiIsYS5FYiwhMSxhKTthLmkubGlzdGVuKCJjbG9zZSIsYS5EYiwhMSxhKTthLmkubGlzdGVuKCJtc2MiLGEuRmIsITEsYSk7c3dpdGNoKF8udmYoYS5qLDMyKSl7Y2FzZSAxOmEuRigiYmFjayIpO2JyZWFrO2Nhc2UgMjphLkYoImNsb3NlIik7YnJlYWs7Y2FzZSAzOmEuRigibm9uZSIpO2JyZWFrO2RlZmF1bHQ6YS5GKCJkZWZhdWx0Iil9Xy5CaCgpO18uQSgiZ2Jhci5DIiwKJGgpOyRoLnByb3RvdHlwZS5jYT0kaC5wcm90b3R5cGUuSzskaC5wcm90b3R5cGUuY2M9JGgucHJvdG90eXBlLmhhOyRoLnByb3RvdHlwZS5jZD0kaC5wcm90b3R5cGUuZGE7JGgucHJvdG90eXBlLmNmPSRoLnByb3RvdHlwZS5vcGVuOyRoLnByb3RvdHlwZS5jZz0kaC5wcm90b3R5cGUuY2xvc2U7JGgucHJvdG90eXBlLmNoPSRoLnByb3RvdHlwZS5nZXRTdHlsZTskaC5wcm90b3R5cGUuY2s9JGgucHJvdG90eXBlLm87JGgucHJvdG90eXBlLmNsPSRoLnByb3RvdHlwZS5FYTskaC5wcm90b3R5cGUuY209JGgucHJvdG90eXBlLlc7JGgucHJvdG90eXBlLmNuPSRoLnByb3RvdHlwZS5GYTtfLlIuaSgpLmkucmVzb2x2ZShhLmkpfX1lbHNlIGEuTi5sb2coRXJyb3IoIk8iKSl9O3FpPWZ1bmN0aW9uKGEpe2EuQSE9bnVsbCYmKGEuSi5pPT0iZ2JfOWEiP18uVyhhLkEsIm1pbi13aWR0aCIsIiIpOmEuRWEhPW51bGwmJl8uVyhhLkEsIm1pbi13aWR0aCIsYS5FYSsicHgiKSl9OwpyaT1mdW5jdGlvbihhKXtjb25zdCBiPV8uVCgiZ2JfaiIsYS5vKSxjPV8uVCgiZ2JfdiIsYS5vKSxkPVtdO2ImJl8uY2MoYi5jaGlsZHJlbixmdW5jdGlvbihlKXtkLnB1c2goZSl9KTtfLngoXy5TKGEuaiw3KSwhMSkmJihhPV8uVCgiZ2JfTGUiLGEudikpJiYoYT1fLlQoImdiX05lIixhKSxhLmo9ITAsZC5wdXNoKGEpKTtjJiZfLmNjKGMuY2hpbGRyZW4sZnVuY3Rpb24oZSl7ZC5wdXNoKGUpfSk7cmV0dXJuIGR9O3VpPWZ1bmN0aW9uKGEpe2NvbnN0IGI9YS5vLm9mZnNldEhlaWdodCsicHgiO2EuQ2EhPWImJihhLkNhPWIsYS5OYSYmKGEuTmEuc3R5bGUuaGVpZ2h0PWIpLGEuZGlzcGF0Y2hFdmVudCgicmVzaXplIikpfTt6aT1mdW5jdGlvbihhLGIpe18uTmUoYSxbImdiXzhkIiwiZ2JfMmMiXSk7Yj09MT9fLktlKGEsImdiXzJjIik6Yj09MiYmXy5LZShhLCJnYl84ZCIpfTsKQmk9Y2xhc3MgZXh0ZW5kcyBfLlZ7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLm89YTtfLk1lKHRoaXMubywiZ2JfUWQiKTt0aGlzLmo9Yjt0aGlzLk49Yzt0aGlzLkNhPSIiO3RoaXMuTmE9ZDt0aGlzLkI9dGhpcy5pPW51bGw7dGhpcy5BYT10aGlzLlA9dGhpcy5NPSExO3RoaXMuZGE9Xy54KF8uUyh0aGlzLmosMTYpLCExKTt0aGlzLlZhPW5ldyBfLkFmKHRoaXMpO3RoaXMuVj1fLlQoImdiX29kIix0aGlzLm8pO3RoaXMuaGE9Xy5UKCJnYl90ZCIsdGhpcy5vKTt0aGlzLm9hPV8uVCgiZ2JfamUiLHRoaXMubyk7dGhpcy5UPV8uVCgiZ2JfSiIsdGhpcy5vKTsodGhpcy5LPV8ueChfLlMoYiw2KSwhMSkpJiZ0aGlzLlYmJmtpKHRoaXMpO3RoaXMuTmI9Xy5UKCJnYl9zZCIsdGhpcy5WKTt0aGlzLkM9Xy5UKCJnYl9KZCIsdGhpcy5vKTt0aGlzLkw9Xy5UKCJnYl9hIix0aGlzLm8pO3RoaXMuRD1fLlQoImdiXzFkIix0aGlzLm8pO3RoaXMuQT1fLlQoImdiX3FkIix0aGlzLm8pOwp0aGlzLnY9Xy5UKCJnYl8wZCIsdGhpcy5vKTt0aGlzLlc9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoXy5CZygiZ2JfTWQiLHRoaXMubykpO3RoaXMuTz0hMTt0aGlzLkliPV8ueChfLlModGhpcy5qLDE5KSwhMSk7dGhpcy5IYj1fLngoXy5TKHRoaXMuaiwyMCksITEpO3RoaXMuR2I9Xy54KF8uUyh0aGlzLmosNDUpLCExKTthPWxpKHRoaXMsITApO2I9bGkodGhpcywhMSk7dGhpcy5MYj1NYXRoLm1heChhLGIpO3RoaXMuUz1fLlModGhpcy5qLDE1KTtjPV8uc2YoXy5mZSh0aGlzLmosMzApLDApO2MhPTAmJm1pKHRoaXMsYyk7YT1uaSh0aGlzLGEsYik7dGhpcy5KPW5ldyBqaShkb2N1bWVudC5ib2R5LEFpKTt0aGlzLnliPV8ueShfLkkodGhpcy5qLDM3KSk7dGhpcy5yYj1fLnkoXy5JKHRoaXMuaiwzOCkpO3RoaXMuUWI9Xy54KF8uUyh0aGlzLmosMzkpKTt0aGlzLktiPV8ueChfLlModGhpcy5qLDEpLCExKTt0aGlzLkpiPV8ueChfLlModGhpcy5qLDQwKSwhMSk7b2kodGhpcyk7CnZpKHRoaXMsdGhpcy5KLmkpO3RoaXMuSi5qKCJjYXRjIix0aGlzLkNiLHRoaXMpO18uRih0aGlzLmosOCkmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsKDAsXy56KShmdW5jdGlvbigpe18uWCh0aGlzLm8sImdiX1RkIix3aW5kb3cuc2Nyb2xsWT4wKX0sdGhpcykpO3RoaXMudiE9bnVsbCYmXy5GKHRoaXMuaiw3KSYmKHRoaXMuWj1uZXcgamkodGhpcy52LGEpLHRoaXMuWi5qKCJjYXRjIix0aGlzLmVhLHRoaXMpLHRoaXMuZWEoKSk7dGhpcy5HPW51bGw7aWYodGhpcy5VPV8uVCgiZ2JfWGEiLHRoaXMubykpdGhpcy5HPV8uVCgiZ2JfOGEiLHRoaXMuVSksdGhpcy5WYS5vKHRoaXMuRywiZXJyb3IiLHRoaXMuQmIsITEsdGhpcyl9QmIoKXt0aGlzLkchPW51bGwmJih0aGlzLkcuc3JjPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvaWNvbnMvbWF0ZXJpYWwvc3lzdGVtLzF4L2Jyb2tlbl9pbWFnZV9ncmV5NjAwXzE4ZHAucG5nIix0aGlzLkcuc3Jjc2V0PQoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC9icm9rZW5faW1hZ2VfZ3JleTYwMF8xOGRwLnBuZyAxeCwgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8yeC9icm9rZW5faW1hZ2VfZ3JleTYwMF8xOGRwLnBuZyAyeCIsXy5XKHRoaXMuRywid2lkdGgiLCJhdXRvIiksXy5LZSh0aGlzLkcucGFyZW50RWxlbWVudCwiZ2JfN2EiKSl9SCgpe3JldHVybiB0aGlzLm99Q2MoYSl7dGhpcy5CPWE7c2kodGhpcyx0aGlzLk0pO2E9d2kodGhpcyk7YSE9MCYmeGkodGhpcyxhKX1EYyhhLGIpe3RoaXMuQiYmRWgodGhpcy5CLGEsYil9U2EoYSl7dGhpcy5GYShhfHx0aGlzLlFiPzE6MCk7Xy5VKHRoaXMuSCgpLCJnYl9lIil8fHRoaXMubWEoYT90aGlzLnliOnRoaXMucmIpO18uWCh0aGlzLkgoKSwiZ2JfSCIsYSk7Y29uc3QgYj1fLlQoImdiX05kIik7YiE9bnVsbCYmXy5YKGIsImdiX0giLGEpO3RoaXMuaSYmCnRoaXMuSmImJl8uWCh0aGlzLmkuaSwiZ2JfYWQiLGEpO3RoaXMuVSYmXy5YKHRoaXMuVSwiZ2JfSCIsYSk7Xy5KZCgiZGQiKS5TYShhKX1TYyhhKXt0aGlzLlYmJihfLkFlKHRoaXMuTmIsYXx8IiIpLF8uWCh0aGlzLlYsImdiX1MiLCFhKSx0aGlzLks9ISFhLGtpKHRoaXMsYSksdmkodGhpcyx0aGlzLkouaSkpfXFiKCl7cmV0dXJuIF8uVCgiZ2JfY2UiLHRoaXMuQyl9ZWEoKXtpZih0aGlzLlohPW51bGwpe3ZhciBhPXRoaXMuWi5pO2E9PTM/dGkodGhpcywhMSk6YT09MT90aSh0aGlzLCEwKTp0aSh0aGlzLHRoaXMuSi5pPT0iZ2JfY2QiKX19Q2IoKXt2aSh0aGlzLHRoaXMuSi5pKTt0aGlzLmkmJl8ueWkodGhpcyx0aGlzLmkubygpLCExKTt0aGlzLmRpc3BhdGNoRXZlbnQoImZmYyIpfUViKCl7Xy55aSh0aGlzLCEwLCEwKX1EYigpe18ueWkodGhpcywhMSwhMCl9RmIoKXt2YXIgYT1aaCh0aGlzLmkpLGI9dGhpcy5pLmk7YT9fLlQoImdiXzZkIikuYXBwZW5kQ2hpbGQoYik6dGhpcy5vLmFwcGVuZENoaWxkKGIpfUYoYSl7bGV0IGI9CiExO3N3aXRjaChhKXtjYXNlICJiYWNrIjp0aGlzLlA9ITA7WWgodGhpcy5pKTtYaCh0aGlzLmksImJhY2siKTtiPSEwO2JyZWFrO2Nhc2UgImNsb3NlIjp0aGlzLlA9ITA7WWgodGhpcy5pKTtYaCh0aGlzLmksImNsb3NlIik7Yj0hMDticmVhaztjYXNlICJkZWZhdWx0Ijp0aGlzLlA9ITE7dGhpcy5LYj8odGhpcy5pJiYhdGhpcy5pLmlzVmlzaWJsZSgibWVudSIpJiYoWWgodGhpcy5pKSxYaCh0aGlzLmksIm1lbnUiKSksYj0hMCk6KHRoaXMuaSYmdGhpcy5pLmlzVmlzaWJsZSgiYmFjayIpJiZZaCh0aGlzLmkpLHRoaXMuaSYmdGhpcy5pLmlzVmlzaWJsZSgibWVudSIpPyhhPXRoaXMuaSxhLmNsb3NlKCksXy5LZShhLkgoKSwiZ2JfUyIpLCFfLlUoYS5WLCJnYl9TIikmJl8uTWUoYS5IKCksImdiXzVjIikpOihhPV8uVCgiZ2JfMWMiLHRoaXMubykpJiZfLktlKGEsImdiX1MiKSxiPSExKTticmVhaztjYXNlICJub25lIjp0aGlzLlA9ITAsWWgodGhpcy5pKSxiPSExfXRoaXMuQSE9bnVsbCYmCl8uWCh0aGlzLkEsImdiX3JkIixiKX1vYigpe3JldHVybiB0aGlzLm8ub2Zmc2V0SGVpZ2h0fU1iKCl7dGhpcy5MJiZ1aSh0aGlzKX1BYigpe2lmKCF0aGlzLkwpe2NvbnN0IGE9Xy52ZSgiRElWIik7Xy5MZShhLFsiZ2JfYSIsImdiX01kIl0pO3ppKGEsd2kodGhpcykpO2Euc3R5bGUuYmFja2dyb3VuZENvbG9yPXRoaXMuby5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I7dGhpcy5XLnB1c2goYSk7Xy5saChhLHRoaXMuQyk7dGhpcy5MPWF9cmV0dXJuIHRoaXMuTH1PYigpe18ueGUodGhpcy5MKTt0aGlzLkw9bnVsbDt1aSh0aGlzKX1GYShhKXthPT0yJiYoYT0wKTtmb3IobGV0IGI9MDtiPHRoaXMuVy5sZW5ndGg7YisrKXppKHRoaXMuV1tiXSxhKTt4aSh0aGlzLGEpfW1hKGEpe3RoaXMuby5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I9YX1uYigpe3JldHVybiB0aGlzLm8uc3R5bGUuYmFja2dyb3VuZENvbG9yfWViKCl7dmFyIGE9Xy5KZCgiZGQiKTtfLm5oKGEpJiZfLm5oKGEpLlAoITEpO18uRmgoYSwKbnVsbCl9QmMoYSl7bWkodGhpcyxhLTgtMTApO3FpKHRoaXMpfUVjKGEpe18uWChfLlQoImdiX1RjIix0aGlzLkMpLCJnYl9TIiwhYSl9TWMoKXtHaChhPT57YSYmYS5NYygpfSl9UGIoYSl7YSYmKF8ud2goXy5UKCJnYl9OZCIpLGEpLF8uUi5pKCkuai50aGVuKGI9PnZvaWQgYi5NZChhKSkpfX07QWk9W3tpZDoiZ2JfOWEiLG1heDo1OTl9LHtpZDoiZ2JfV2QiLG1heDoxMDIzfSx7aWQ6ImdiX2NkIn1dO3ZhciBDaTsKe18uVi5wcm90b3R5cGUuemE9Xy5PYihmdW5jdGlvbihiLGMsZCxlLGYpe3JldHVybiBiLmNhbGwodGhpcyxjLF8uT2IoQ2gsZCksZSxmKX0sXy5WLnByb3RvdHlwZS5saXN0ZW4pO18uVi5wcm90b3R5cGUuemI9Xy5WLnByb3RvdHlwZS5IaDtjb25zdCBhPV8uVCgiZ2JfSGEiKTtpZihhPT1udWxsKUNpPW51bGw7ZWxzZXt2YXIgRGk9Xy5DKF8uaWQsXy5PZSw2KXx8bmV3IF8uT2UsRWk9bmV3IEJpKGEsRGksXy5ZYyxfLlQoImdiX1VkIikpO18uQSgiZ2Jhci5QIixCaSk7QmkucHJvdG90eXBlLnBhPUJpLnByb3RvdHlwZS5vYjtCaS5wcm90b3R5cGUucGI9QmkucHJvdG90eXBlLlNjO0JpLnByb3RvdHlwZS5wYz1CaS5wcm90b3R5cGUuRmE7QmkucHJvdG90eXBlLnBkPUJpLnByb3RvdHlwZS5tYTtCaS5wcm90b3R5cGUucGU9QmkucHJvdG90eXBlLkFiO0JpLnByb3RvdHlwZS5wZj1CaS5wcm90b3R5cGUuTWI7QmkucHJvdG90eXBlLnBnPUJpLnByb3RvdHlwZS5PYjtCaS5wcm90b3R5cGUucGg9QmkucHJvdG90eXBlLnFiOwpCaS5wcm90b3R5cGUucGk9QmkucHJvdG90eXBlLmViO0JpLnByb3RvdHlwZS5waj1CaS5wcm90b3R5cGUuQmM7QmkucHJvdG90eXBlLnBrPUJpLnByb3RvdHlwZS5FYztCaS5wcm90b3R5cGUucGw9QmkucHJvdG90eXBlLlBiO0JpLnByb3RvdHlwZS5wbT1CaS5wcm90b3R5cGUuRjtCaS5wcm90b3R5cGUucG49QmkucHJvdG90eXBlLm5iO0JpLnByb3RvdHlwZS5wbz1CaS5wcm90b3R5cGUuRGM7QmkucHJvdG90eXBlLnBwPUJpLnByb3RvdHlwZS5TYTtCaS5wcm90b3R5cGUucHE9QmkucHJvdG90eXBlLk1jO18uUi5pKCkudi5yZXNvbHZlKEVpKTtDaT1FaX19Xy5GaT1DaTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5HaT1mdW5jdGlvbihhLGIpe3JldHVybiBfLkooYSwzNixiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBIaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuZ2JfeiAuZ2JfQiIpLElpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnYi5nYl85YyIpO0hpJiYhSWkmJl8uRGQoXy5tZCxIaSwiY2xpY2siKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5SLmkoKS52LnRoZW4oZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9Xy5UKCJnYl9UYyIsYS5DKTtiJiYoYj1uZXcgXy54ZyhiKSxhLkNjKGIpKX19KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9Cn0pKHRoaXMuZ2Jhcl8pOwovLyBHb29nbGUgSW5jLgp0aGlzLmdiYXJfPXRoaXMuZ2Jhcl98fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKaWYoXy5GaSl7dmFyIEppPV8uRmksTGk7aWYoTGk9Xy5JKEppLmosMykpe2NvbnN0IGE9Xy5CZyhMaSk7Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBNaT1hW2JdO2lmKF8ubWgmJk1pLmRhdGFzZXQpTWkuZGF0YXNldC5vZ3BjPSIiO2Vsc2V7aWYoLy1bYS16XS8udGVzdCgib2dwYyIpKXRocm93IEVycm9yKCJ4Iik7TWkuc2V0QXR0cmlidXRlKCJkYXRhLSIrXy5IaCgib2dwYyIpLCIiKX19fV8ueWkoSmksISFKaS5pJiZKaS5pLm8oKSwhMSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk5pPWZ1bmN0aW9uKGEpe2NvbnN0IGI9Xy5lZSgic2NyaXB0IixhLm93bmVyRG9jdW1lbnQpO2ImJmEuc2V0QXR0cmlidXRlKCJub25jZSIsYil9O18uT2k9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIG51bGw7YT1fLkkoYSw0KTt2YXIgYjthPT09bnVsbHx8YT09PXZvaWQgMD9iPW51bGw6Yj1fLiRkKGEpO3JldHVybiBifTtfLlBpPWZ1bmN0aW9uKGEsYixjKXthPWEuZmE7cmV0dXJuIF8uemIoYSxhW18udl18MCxiLGMpIT09dm9pZCAwfTtfLlFpPWNsYXNzIGV4dGVuZHMgXy5Pe2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5SaT1mdW5jdGlvbihhLGIpe3JldHVybihifHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGEpKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBUaT1mdW5jdGlvbihhLGIsYyl7YTxiP1NpKGErMSxiKTpfLlljLmxvZyhFcnJvcigiV2AiK2ErImAiK2IpLHt1cmw6Y30pfSxTaT1mdW5jdGlvbihhLGIpe2lmKFVpKXtjb25zdCBjPV8udmUoIlNDUklQVCIpO2MuYXN5bmM9ITA7Yy50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiO2MuY2hhcnNldD0iVVRGLTgiO2Muc3JjPV8uYWUoVWkpO18uTmkoYyk7Yy5vbmVycm9yPV8uT2IoVGksYSxiLGMuc3JjKTtfLlJpKCJIRUFEIilbMF0uYXBwZW5kQ2hpbGQoYyl9fSxWaT1jbGFzcyBleHRlbmRzIF8uT3tjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBXaT1fLkMoXy5pZCxWaSwxNyl8fG5ldyBWaSxYaSxVaT0oWGk9Xy5DKFdpLF8uUWksMSkpP18uT2koWGkpOm51bGwsWWksWmk9KFlpPV8uQyhXaSxfLlFpLDIpKT9fLk9pKFlpKTpudWxsLCRpPWZ1bmN0aW9uKCl7U2koMSwyKTtpZihaaSl7Y29uc3QgYT1fLnZlKCJMSU5LIik7YS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpO2EuaHJlZj1fLmFlKFppKS50b1N0cmluZygpO2EucmVsPSJzdHlsZXNoZWV0IjtsZXQgYj1fLmVlKCJzdHlsZSIsZG9jdW1lbnQpO2ImJmEuc2V0QXR0cmlidXRlKCJub25jZSIsYik7Xy5SaSgiSEVBRCIpWzBdLmFwcGVuZENoaWxkKGEpfX07KGZ1bmN0aW9uKCl7Y29uc3QgYT1fLmhlKCk7aWYoXy5TKGEsMTgpKSRpKCk7ZWxzZXtjb25zdCBiPV8uZmUoYSwxOSl8fDA7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57d2luZG93LnNldFRpbWVvdXQoJGksYil9KX19KSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkodGhpcy5nYmFyXyk7Ci8vIEdvb2dsZSBJbmMuCnZhciBkPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxnO2lmKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpZz1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZWxzZXt2YXIgaDthOnt2YXIgaz17YTohMH0sbD17fTt0cnl7bC5fX3Byb3RvX189aztoPWwuYTticmVhayBhfWNhdGNoKGEpe31oPSExfWc9aD9mdW5jdGlvbihhLGIpe2EuX19wcm90b19fPWI7aWYoYS5fX3Byb3RvX18hPT1iKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBleHRlbnNpYmxlIik7cmV0dXJuIGF9Om51bGx9CnZhciBtPWcsbj1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWQoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYobSltKGEsYik7ZWxzZSBmb3IodmFyIGMgaW4gYilpZihjIT0icHJvdG90eXBlIilpZihPYmplY3QuZGVmaW5lUHJvcGVydGllcyl7dmFyIGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihiLGMpO2UmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLGMsZSl9ZWxzZSBhW2NdPWJbY107YS52PWIucHJvdG90eXBlfTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgcD10aGlzfHxzZWxmLHI9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2Eudj1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EuTj1mdW5jdGlvbihlLGYsSSl7Zm9yKHZhciB6PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMikscT0yO3E8YXJndW1lbnRzLmxlbmd0aDtxKyspeltxLTJdPWFyZ3VtZW50c1txXTtyZXR1cm4gYi5wcm90b3R5cGVbZl0uYXBwbHkoZSx6KX19O3ZhciB0PWZ1bmN0aW9uKGEpe3RoaXMuZz1hfTtmdW5jdGlvbiB1KGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyx1KTtlbHNle3ZhciBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfXIodSxFcnJvcik7dS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO2Z1bmN0aW9uIHYoYSxiKXthPWEuc3BsaXQoIiVzIik7Zm9yKHZhciBjPSIiLGU9YS5sZW5ndGgtMSxmPTA7ZjxlO2YrKyljKz1hW2ZdKyhmPGIubGVuZ3RoP2JbZl06IiVzIik7dS5jYWxsKHRoaXMsYythW2VdKX1yKHYsdSk7di5wcm90b3R5cGUubmFtZT0iQXNzZXJ0aW9uRXJyb3IiO3ZhciB3PWZ1bmN0aW9uKGEsYixjKXtpZighYSl7dmFyIGU9IkFzc2VydGlvbiBmYWlsZWQiO2lmKGIpe2UrPSI6ICIrYjt2YXIgZj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMil9dGhyb3cgbmV3IHYoIiIrZSxmfHxbXSk7fX07dmFyIHg9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgeT1mdW5jdGlvbihhKXt0aGlzLmc9YX07bih5LHQpO3kucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTm90IGltcGxlbWVudGVkLiIpO307eS5wcm90b3R5cGUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTm90IGltcGxlbWVudGVkLiIpO307eS5wcm90b3R5cGVbeF09ITA7dmFyIEE9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9O24oQSx5KTtBLnByb3RvdHlwZS51PWZ1bmN0aW9uKGEpe3RoaXMuZy5wYihhKTtyZXR1cm4gdGhpc307dmFyIEI9ZnVuY3Rpb24oYSxiKXt0aGlzLmc9YTt0aGlzLkg9Ynx8bnVsbH07bihCLHQpO0IucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24oYSxiLGMpe3ZhciBlO2EmJihlPUModGhpcyxhKSk7dGhpcy5nLmFhKGUsYixjKX07dmFyIEM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkg7cmV0dXJuIGM/ZnVuY3Rpb24oZSl7Yi5jYWxsKHRoaXMsbmV3IGMoZSkpfTpifTt2YXIgRD1bXTt2YXIgRT1mdW5jdGlvbihhKXt0aGlzLmc9YXx8Z2Jhci5hO3RoaXMuaT1udWxsfTtuKEUsdCk7RS5wcm90b3R5cGUubD1mdW5jdGlvbigpe3RoaXMuaXx8KHRoaXMuaT1uZXcgQih0aGlzLmcuYmYoKSxBKSk7cmV0dXJuIHRoaXMuaX07RS5vPWZ1bmN0aW9uKCl7dyghT2JqZWN0LmlzU2VhbGVkKEUpLCJDYW5ub3QgdXNlIGdldEluc3RhbmNlKCkgd2l0aCBhIHNlYWxlZCBjb25zdHJ1Y3Rvci4iKTt2YXIgYT0iaiI7aWYoRS5qJiZFLmhhc093blByb3BlcnR5KGEpKWE9RS5qO2Vsc2V7RC5wdXNoKEUpO3ZhciBiPW5ldyBFO0Uuaj1iO3coRS5oYXNPd25Qcm9wZXJ0eShhKSwiQ291bGQgbm90IGluc3RhbnRpYXRlIHNpbmdsZXRvbi4iKTthPWJ9cmV0dXJuIGF9O2Zvcih2YXIgRj1bIm9uZWdvb2ciLCJBcGkiXSxHPXAsSDtGLmxlbmd0aCYmKEg9Ri5zaGlmdCgpKTspRi5sZW5ndGh8fEU9PT12b2lkIDA/Rz1HW0hdJiZHW0hdIT09T2JqZWN0LnByb3RvdHlwZVtIXT9HW0hdOkdbSF09e306R1tIXT1FO0UuZ2V0SW5zdGFuY2U9RS5vO0UucHJvdG90eXBlLmdldEJhcj1FLnByb3RvdHlwZS5sO0EucHJvdG90eXBlLnNldFBhZ2VUaXRsZT1BLnByb3RvdHlwZS51O0IucHJvdG90eXBlLnRoZW49Qi5wcm90b3R5cGUudGhlbjsKCiAgICAgIDwvc2NyaXB0Pgo8ZGl2IGlkPSJtYWlhLW1haW4iIHJvbGU9Im1haW4iPjxoMT5CbG9nZ2VuIGVyIHNsZXR0ZXQ8L2gxPgo8cD48c3Ryb25nPkJla2xhZ2VyLCBibG9nZ2VuIHDDpSAgZ2hraGtnaGtnaGtrZ2hrLmJsb2dzcG90LmNvbSAgZXIgZmplcm5ldC48L3N0cm9uZz5EZW5uZSBhZHJlc3NlbiBlciBpa2tlIHRpbGdqZW5nZWxpZyBmb3IgbnllIGJsb2dnZXIuPC9wPgo8cCBzdHlsZT0iZm9udC1zaXplOjkwJSI+Rm9ydmVudGV0IGR1IMOlIHNlIGJsb2dnZW4gZGluIGhlcj8gU2U6IDxhIGhyZWY9Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL2Jsb2dnZXIvYW5zd2VyLzg3MDY1Ij5JIGNhbid0IGZpbmQgbXkgYmxvZyBvbiB0aGUgV2ViLCB3aGVyZSBpcyBpdD8gKEplZyBmaW5uZXIgaWtrZSBibG9nZ2VuIG1pbiBww6UgbmV0dGV0LCBodm9yIGVyIGRlbj8pPC9hPjwvcD4KPC9kaXY+CjxkaXYgaWQ9Im1haWEtc2lnbmF0dXJlIj48L2Rpdj4KPGRpdiBjbGFzcz0iZ2JfdGQiIG5nLW5vbi1iaW5kYWJsZT0iIj48L2Rpdj48ZGl2IGNsYXNzPSJnYl9qZSIgbmctbm9uLWJpbmRhYmxlPSIiPkJsb2dnZXI8L2Rpdj48ZGl2IGNsYXNzPSJnYl8zYyIgbmctbm9uLWJpbmRhYmxlPSIiPkhvdmVkbWVueTwvZGl2PjxkaXYgY2xhc3M9ImdiX0wiIG5nLW5vbi1iaW5kYWJsZT0iIj5Hb29nbGUtYXBwZXI8L2Rpdj48ZGl2IGNsYXNzPSJtYWlhLWZvb3RlciIgaWQ9Im1haWEtZm9vdGVyIj48ZGl2IGlkPSJtYWlhLWZvb3Rlci1sb2NhbCI+PGRpdiBjbGFzcz0ibWFpYS1hdXgiPjxkaXYgY2xhc3M9Im1haWEtY29scyI+PGRpdiBjbGFzcz0ibWFpYS1jb2wtMiI+PGg1PkhqZWxwPC9oNT4KPHVsIGNsYXNzPSJmb290ZXItbGlua3MiPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9nby9oZWxwY2VudGVyIj5CcnVrZXJzdMO4dHRlPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9nby9kaXNjdXNzIj5IamVscGVmb3J1bTwvYT48L2xpPgo8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuYmxvZ2dlci5jb20vZ28vdHV0b3JpYWxzIj5WaWRlb3ZlaWxlZG5pbmdlcjwvYT48L2xpPjwvdWw+PC9kaXY+CjxkaXYgY2xhc3M9Im1haWEtY29sLTIiPjxoNT5GZWxsZXNza2FwPC9oNT4KPHVsIGNsYXNzPSJmb290ZXItbGlua3MiPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9nby9idXp6Ij5CbG9nZ2VyIEJ1eno8L2E+PC9saT48L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJtYWlhLWNvbC0yIj48aDU+VXR2aWtsZXJlPC9oNT4KPHVsIGNsYXNzPSJmb290ZXItbGlua3MiPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9nby9kZXZhcGkiPlByb2dyYW1tZXJpbmdzZ3JlbnNlc25pdHQgZm9yIEJsb2dnZXI8L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJsb2dnZXIuY29tL2dvL2RldmZvcnVtIj5VdHZpa2xlcmZvcnVtPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KPGRpdiBpZD0ibWFpYS1mb290ZXItZ2xvYmFsIj48ZGl2IGNsYXNzPSJtYWlhLWF1eCI+PGRpdiBpZD0iY29weXJpZ2h0Ij7CqSAxOTk5IOKAkyAyMDI1IEdvb2dsZTwvZGl2Pgo8dWw+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJsb2dnZXIuY29tL2dvL3Rlcm1zIj5WaWxrw6VyIGZvciBicnVrPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9nby9wcml2YWN5Ij5QZXJzb252ZXJuPC9hPjwvbGk+CjxsaT48YSBocmVmPSJodHRwczovL3d3dy5ibG9nZ2VyLmNvbS9nby9jb250ZW50cG9saWN5Ij5SZXRuaW5nc2xpbmplciBmb3IgaW5uaG9sZDwvYT48L2xpPgo8L3VsPjwvZGl2PjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+"}},"submit":{"url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.ba/","fqdn":"ghkhkghkghkkghk.blogspot.ba","domain":"ghkhkghkghkkghk.blogspot.ba","tld":"blogspot.ba"},"ip":{"addr":"216.58.207.225","port":0,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"tags":null,"meta":null,"user":{"country_code":"zz"}},"settings":{"access":"public","device_type":"desktop","expires_at":"2026-12-09T18:14:04Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"z0yflva4pidy47h"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":4}},"detection":{"ids":null,"analyzer":[{"sensor_name":"ultradns","sensor_type":"DNS","title":"DigiCert UltraDNS","description":"DigiCert UltraDNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.ba","verdict":"malicious","severity":"medium","comment":"","link":"https://vercara.digicert.com/ultra-dns-public","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.ba","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null},{"sensor_name":"cira_dns","sensor_type":"DNS","title":"CIRA Canadian Shield DNS","description":"CIRA Canadian Shield DNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.cira.ca/en/canadian-shield/","meta":null}],"urlquery":null},"summary":[{"fqdn":"www.google.com","ip":{"addr":"142.250.74.100","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2025-11-02T22:13:19.243005Z","alert_count":0,"request_count":1,"received_data":44137,"sent_data":361,"comment":"","tags":null,"fingerprints":null},{"fqdn":"ghkhkghkghkkghk.blogspot.com","ip":{"addr":"142.251.38.97","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2000-07-31","domain_rank":0,"first_seen":"2023-09-20T11:36:05Z","last_seen":"2025-10-06T19:22:34.582149Z","alert_count":8,"request_count":4,"received_data":353694,"sent_data":1700,"comment":"","tags":null,"fingerprints":[{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]},{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]}]},{"fqdn":"www.gstatic.com","ip":{"addr":"142.250.74.131","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":146047,"first_seen":"2012-05-29T15:36:17Z","last_seen":"2025-11-02T22:15:49.745695Z","alert_count":0,"request_count":3,"received_data":193944,"sent_data":1869,"comment":"","tags":null,"fingerprints":null},{"fqdn":"apis.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":1075,"first_seen":"2013-05-06T20:20:21Z","last_seen":"2025-11-02T22:25:25.705498Z","alert_count":0,"request_count":1,"received_data":119139,"sent_data":573,"comment":"","tags":null,"fingerprints":null},{"fqdn":"ogads-pa.clients6.google.com","ip":{"addr":"216.58.211.10","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":508,"first_seen":"2025-03-25T10:27:20.769449Z","last_seen":"2025-11-02T22:49:49.963982Z","alert_count":0,"request_count":1,"received_data":573,"sent_data":658,"comment":"","tags":null,"fingerprints":null},{"fqdn":"play.google.com","ip":{"addr":"142.250.74.174","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":48,"first_seen":"2013-05-30T23:24:35Z","last_seen":"2025-11-02T22:28:06.310717Z","alert_count":0,"request_count":4,"received_data":4175,"sent_data":2280,"comment":"","tags":null,"fingerprints":null},{"fqdn":"ghkhkghkghkkghk.blogspot.ba","ip":{"addr":"142.250.178.97","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2025-11-04T18:14:04.858557Z","last_seen":"2025-11-04T18:14:04.858557Z","alert_count":2,"request_count":1,"received_data":113003,"sent_data":496,"comment":"","tags":null,"fingerprints":[{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]},{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]}]},{"fqdn":"www.blogger.com","ip":{"addr":"142.250.178.73","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1999-06-22","domain_rank":9514,"first_seen":"2012-05-22T07:35:03Z","last_seen":"2025-11-02T22:55:37.153059Z","alert_count":0,"request_count":1,"received_data":4552,"sent_data":473,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.74.35","port":80,"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":"2025-11-02T22:12:55.494707Z","alert_count":0,"request_count":2,"received_data":60383,"sent_data":1074,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":80,"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":"2025-11-02T22:12:57.589972Z","alert_count":0,"request_count":2,"received_data":19493,"sent_data":860,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":[{"sensor_name":"suricata","description":"Suricata /w Emerging Threats Pro","alerts":null}],"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.com/","fqdn":"ghkhkghkghkkghk.blogspot.com","domain":"ghkhkghkghkkghk.blogspot.com","tld":"blogspot.com"},"ip":{"addr":"142.251.38.97","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f9b1a3eb2c48422f8602f845eae5f4f2","sha1":"1d3c77401131cf169f3ed5bc7b43c3a15bc9cac7","sha256":"4d87a16cb164270e9de44cb52889cbcab771c77a634b79d93c52c97358d7f46e","sha512":"6580b268aa9d1c57ea8dfa91ad1db2c56cd7e9c27c86ba287814478bab195b3aad8722953f8e44a63ac4991e1a4fa7aed1f0ca00e7bb5de9186e355063480336","ssdeep":"1536:2aMIoISFg9R2AbHSsQCs2cW3OPteBzIp3RGpiWfk7YIKBCW:YISO9tbHSAOPte2RgtWYI2L","tlshash":"0273a7d8726274729662f5e2412b010bb27e68abf44c4cacb28cdde26ef445541b7f7c","size":76040,"data":"","first_seen":"2025-11-04T18:14:09.786142Z","last_seen":"2025-11-04T18:14:09.786142Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/og/_/js/k=og.qtm.en_US.XHFeauWSH50.2019.O/rt=j/m=q_dnp,q_pc,qmd,qcwid,qapid,qads,q_dg/exm=qaaw,qabr,qadd,qaid,qalo,qebr,qein,qhaw,qhawgm3,qhba,qhbr,qhbrgm3,qhch,qhchgm3,qhga,qhid,qhidgm3,qhin,qhlo,qhlogm3,qhmn,qhpc,qhsf,qhsfgm3,qhtt/d=1/ed=1/rs=AA2YrTtPxr2ma4CplbvX_Js3zz5VBiuOaw","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.74.131","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"9c4d92d3a22c307f8ff43810bd648793","sha1":"57423019c0125e0e8dde353952f295234e01b368","sha256":"ec4a6d2f9739cf71a168ebbcb435d64160ee87ddf8423f7ef201f8f50934224f","sha512":"024aa1f02d59a5686027fd51ff525d90d8e956356a846145ae9afd4792ed8f0fef9d2b9d3b03397cc61edee15279d55abf42198b2c8f79b99e80196058726ada","ssdeep":"3072:1gkTdgSYbQBGeOchnZ6aCqIFlkYhawi5L8BOv3B98lWGnqiMXBaC86freQQVIYRf:1gkTdgS4QBGeOchnZ6aCqIFlkYpi5L8j","tlshash":"45043b9c7362306782a6f4d6017f0046716aa466f44d8cacb69cdee2aef4d8501f7f78","size":187101,"data":"","first_seen":"2025-11-04T09:01:21.531013Z","last_seen":"2025-11-11T07:11:43.87842Z","times_seen":1589,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.UXDNXkgCDpE.O/m=gapi_iframes,googleapis_client/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_3ykjRTrvlIBv6vfu43Rx7CYUQSA/cb=gapi.loaded_0","fqdn":"apis.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ca363193554f74b6cf98fd2bf75f9c92","sha1":"1ec3add2e5f81b060edfb45f54869332aa5e5539","sha256":"83a3dad0e2b07d3ec4ece31d37fad1e8156060b2ff3003342395e3d5edb689bb","sha512":"b3495d99663839723c90b6b3dd21655dadf5f59c6f1052b6c146cd95567e7df015b151bf1a7b1ad09fd09e7683a9351a6c48348a4ab557ce022e344126986daf","ssdeep":"3072:etyvOaxzvVNi/GKrGWH3J1FjWRqzXYPFEeUFgq:ety3VNwlxa2eUFgq","tlshash":"1ec3c4d9b6a2b0668363b0b4502f110eb2bf58a9f44c4da8f298c4e17df95494177fbc","size":118202,"data":"","first_seen":"2025-10-27T19:14:04.967643Z","last_seen":"2025-12-21T17:14:59.084554Z","times_seen":18678,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"play.google.com/log?format=json\u0026hasfast=true","fqdn":"play.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.74.174","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:57.564Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:37:33 GMT","end":"Mon, 05 Jan 2026 08:37:32 GMT"},"fingerprint":{"sha1":"17:9D:6B:F6:A8:18:29:EC:16:2C:3C:3D:F2:EA:93:19:C7:92:EE:AA","sha256":"AA:D4:E9:5C:D4:70:A7:86:45:DE:62:83:82:60:F9:B9:46:CF:40:73:19:FA:3B:01:A9:7E:9B:32:24:EE:57:EC"}}},"request":{"raw":"POST /log?format=json\u0026hasfast=true HTTP/1.1\r\nHost: play.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nContent-Type: application/x-www-form-urlencoded;charset=utf-8\r\nContent-Length: 774\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 200 OK\r\naccess-control-allow-origin: http://play.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\nset-cookie: __Secure-ENID=29.SE=dkU7K4fRT_sVyAFw8UHDNMkZfbIXP0PMBK8E41hCYy3uFge6LCUxL9OWSQEqXylNaTBq7Mpy8LH0vVDziDfrJZe1AXydIcKdotw4qdxiV2PJATZ96na0VAsXVUSmG6yGghTlRltdKvnQhCWgjTZl_MdvRn0IFVBhIlWiJcKci32pSoZTjgZx_KFZj8M4Hpnv06Ft1BGM48Cj0pOWpqWrTqJyioqJQYiqll1r6czErlIHDiqs; expires=Sat, 05-Dec-2026 10:32:15 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Tue, 04 Nov 2025 18:13:57 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nexpires: Tue, 04 Nov 2025 18:13:57 GMT\r\ncache-control: private\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":131,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-09-23T07:41:35.538095Z","times_seen":605253,"resource_available":true,"data":null}},"time_used":34,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":34,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ghkhkghkghkkghk.blogspot.ba/","fqdn":"ghkhkghkghkkghk.blogspot.ba","domain":"ghkhkghkghkkghk.blogspot.ba","tld":"blogspot.ba"},"ip":{"addr":"142.250.178.97","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2025-11-04T18:13:41.208Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"misc-sni.blogspot.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:38 GMT","end":"Mon, 05 Jan 2026 08:38:37 GMT"},"fingerprint":{"sha1":"46:EF:6C:91:83:9B:0E:3C:CA:CB:5C:72:04:47:5C:CF:09:D8:1F:8D","sha256":"D1:BA:77:02:03:94:1C:93:B0:C3:F5:CC:BD:52:36:29:DA:79:E0:AD:74:30:87:C2:11:4E:A7:7E:BA:66:50:75"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: ghkhkghkghkkghk.blogspot.ba\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,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\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 302 Found\r\nlocation: https://ghkhkghkghkkghk.blogspot.com/\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Tue, 04 Nov 2025 18:13:41 GMT\r\nexpires: Tue, 04 Nov 2025 18:13:41 GMT\r\ncache-control: private, max-age=0\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\ncontent-security-policy: frame-ancestors 'self'\r\nx-xss-protection: 1; mode=block\r\ncontent-length: 198\r\nserver: GSE\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":"302","status_text":"Found","fingerprints":[{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]},{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]}],"data":{"size":112503,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-09-23T07:48:26.111132Z","times_seen":18614504,"resource_available":true,"data":null}},"time_used":388,"timings":{"blocked":129,"dns":19,"connect":27,"send":0,"wait":130,"receive":1,"ssl":79},"alerts":{"ids":null,"analyzer":[{"sensor_name":"ultradns","sensor_type":"DNS","title":"DigiCert UltraDNS","description":"DigiCert UltraDNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.ba","verdict":"malicious","severity":"medium","comment":"","link":"https://vercara.digicert.com/ultra-dns-public","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.ba","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.blogger.com/static/v1/v-css/2223071481-static_pages.css","fqdn":"www.blogger.com","domain":"blogger.com","tld":"com"},"ip":{"addr":"142.250.178.73","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.421Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.blogger.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:37:25 GMT","end":"Mon, 05 Jan 2026 08:37:24 GMT"},"fingerprint":{"sha1":"C9:A0:57:1A:68:76:1B:C4:6F:35:97:DD:B7:35:9B:E0:B1:48:E7:C0","sha256":"95:95:34:E8:A5:A2:37:5D:BF:CA:10:63:D1:E1:E6:18:AE:66:2D:F7:CB:E3:86:3E:6F:B9:BA:F6:C0:E0:70:D7"}}},"request":{"raw":"GET /static/v1/v-css/2223071481-static_pages.css HTTP/1.1\r\nHost: www.blogger.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.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: style\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 OK\r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"blogger-tech\"\r\nreport-to: {\"group\":\"blogger-tech\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/blogger-tech\"}]}\r\ncontent-length: 1393\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 03 Nov 2025 10:22:52 GMT\r\nexpires: Tue, 03 Nov 2026 10:22:52 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 03 Nov 2025 02:50:04 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding\r\nage: 114650\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":"OK","fingerprints":null,"data":{"size":3842,"size_decoded":0,"mime_type":"text/css","magic":"ASCII text, with very long lines (3841)","md5":"abd7446453ccdc733ba0a08169aff6c9","sha1":"5c6954a63f01d55721edaa6236c5815087635333","sha256":"bc75b808f349e4fcec454de341b7f80ff44fccd902b0e1109e18d5b3a35b7de3","sha512":"767d651af1adb1a6db1b0d4cbd808c939b24cfbf316d48bdeff08b78e8fdf964520b203cccf3090045e55408e61d6163bddd299506bf9536671ea92dd1bb6053","ssdeep":"","tlshash":"4c81a972bb59300df13bcda771c19e3c35184d63d6139b7bda6676a9ca420d72283728","first_seen":"2023-07-14T03:04:43Z","last_seen":"2026-09-23T06:49:26.707845Z","times_seen":96868,"resource_available":true,"data":null}},"time_used":220,"timings":{"blocked":92,"dns":0,"connect":27,"send":0,"wait":28,"receive":0,"ssl":70},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"http","addr":"fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVI.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.74.35","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.687Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVI.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.5\r\nAccept-Encoding: identity\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://fonts.googleapis.com/\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\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: 18660\r\nX-Content-Type-Options: nosniff\r\nServer: sffe\r\nX-XSS-Protection: 0\r\nDate: Thu, 30 Oct 2025 09:39:22 GMT\r\nExpires: Fri, 30 Oct 2026 09:39:22 GMT\r\nCache-Control: public, max-age=31536000\r\nLast-Modified: Mon, 15 Sep 2025 16:29:39 GMT\r\nContent-Type: font/woff2\r\nAge: 462860\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":18660,"size_decoded":0,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 18660, version 1.0","md5":"963e5d0fdf9d5280f3483be5aff7dd22","sha1":"142e6a31ec4edecf4f7f905a8b919707d6ddb569","sha256":"803a03075b3ce057a52a75a67389c5ce1c0bfe0694f55929bcb8837bd7dc8f8a","sha512":"d0cd0fabf1b99d9ebf7c297d15df0b64cb86337d7c649860e5ddb684dca322ca4c62ceaa813fc0183e5ab6adaa30e1c25cf815407ff56ad32ef13c2cb2961f3c","ssdeep":"384:EDevxKlvFD/I8zAmWIiS5FYgbhk2Ur/e8DjWI/Og0Tha8E0Q3Xr+lrGeQ:Ytv1Iu8IJFFMHGI/Ts9E/rwHQ","tlshash":"6e82d0fe9a4f217a5b962772b5c356908bde308f190fc7961a10f339324107c7c2a8b2","first_seen":"2025-09-17T03:36:26.352303Z","last_seen":"2026-09-23T06:49:26.713758Z","times_seen":61986,"resource_available":false,"data":null}},"time_used":35,"timings":{"blocked":9,"dns":3,"connect":7,"send":0,"wait":8,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"play.google.com/log?format=json\u0026hasfast=true","fqdn":"play.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.74.174","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:49.972Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:37:33 GMT","end":"Mon, 05 Jan 2026 08:37:32 GMT"},"fingerprint":{"sha1":"17:9D:6B:F6:A8:18:29:EC:16:2C:3C:3D:F2:EA:93:19:C7:92:EE:AA","sha256":"AA:D4:E9:5C:D4:70:A7:86:45:DE:62:83:82:60:F9:B9:46:CF:40:73:19:FA:3B:01:A9:7E:9B:32:24:EE:57:EC"}}},"request":{"raw":"POST /log?format=json\u0026hasfast=true HTTP/1.1\r\nHost: play.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nContent-Type: application/x-www-form-urlencoded;charset=utf-8\r\nContent-Length: 774\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 200 OK\r\naccess-control-allow-origin: http://play.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\nset-cookie: __Secure-ENID=29.SE=Rj9XewjOYWggZpQA5v_Du9goOek0-nNnY2xVglN69KSUQYemFx0KNvk4PE-Tc3Gol8vMIP4MgIX2C97dW37L2bS14AnCBgCJ34HUCN0Q4HTQ1wthnkfZy1SHcDqB9hFIAQF5TSxQFhLPd4b8nnkqPnawsdLRelLJcuxWl7lJyZQIMTEgcxJLstjQY2Y0ErZERZLlFimJZpGF8ie79Tfm3F8mn56lMGgaEm_QFyQYH9GXa1ax; expires=Sat, 05-Dec-2026 10:32:07 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Tue, 04 Nov 2025 18:13:50 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nexpires: Tue, 04 Nov 2025 18:13:50 GMT\r\ncache-control: private\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":131,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-09-23T07:41:35.538095Z","times_seen":605253,"resource_available":true,"data":null}},"time_used":39,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":39,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"http","addr":"fonts.googleapis.com/css?family=Open+Sans:300","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.415Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /css?family=Open+Sans:300 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.5\r\nAccept-Encoding: gzip, deflate\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\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: \u003chttp://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nExpires: Tue, 04 Nov 2025 18:13:42 GMT\r\nDate: Tue, 04 Nov 2025 18:13:42 GMT\r\nCache-Control: private, max-age=86400\r\nCross-Origin-Resource-Policy: cross-origin\r\nCross-Origin-Opener-Policy: same-origin-allow-popups\r\nContent-Encoding: gzip\r\nTransfer-Encoding: chunked\r\nServer: ESF\r\nX-XSS-Protection: 0\r\nX-Frame-Options: SAMEORIGIN\r\nX-Content-Type-Options: nosniff\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":5963,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"e546eb41fa800acee6cd66dbdd6f8b05","sha1":"68c5bda48dbeacbaa1543960f9125eca1a0a9fdb","sha256":"f981721956dd49238dc3521924430936a651f62b487bc6ab408688ad84fa91d7","sha512":"d0e22e62b5e4d82e5368c1d29c0662ab3c98086786a46a980ce2727fa0ef7279b3039893c96362d2cc75b671f347080f31c01f0926c018d4c413e40d83be1f74","ssdeep":"96:ZO1MK8JO1MKHFZ8O1MKTO1MKQYO1MKmO1MKIy+aZjzBrWO1MKIubqGIFuV4UO1MU:NK8dKMK/KQ4KOKIqKKfbqGIwV4MKTKEh","tlshash":"ccc14f900417545867575ce233ce7e30ee0fa2a06040c07a6bfd8b5aeee7da9a37536d","first_seen":"2025-09-17T01:42:12.027395Z","last_seen":"2026-09-23T06:49:26.712732Z","times_seen":47790,"resource_available":true,"data":null}},"time_used":95,"timings":{"blocked":21,"dns":1,"connect":27,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"http","addr":"www.google.com/css/maia.css","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.74.100","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.419Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /css/maia.css HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 200 OK\r\nAccept-Ranges: bytes\r\nVary: Accept-Encoding\r\nContent-Encoding: gzip\r\nContent-Type: text/css\r\nCross-Origin-Resource-Policy: cross-origin\r\nCross-Origin-Opener-Policy-Report-Only: same-origin; report-to=\"static-on-bigtable\"\r\nReport-To: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\nContent-Length: 12181\r\nDate: Tue, 04 Nov 2025 18:13:42 GMT\r\nExpires: Tue, 04 Nov 2025 18:13:42 GMT\r\nCache-Control: private, max-age=0\r\nLast-Modified: Mon, 25 May 2020 08:30:00 GMT\r\nX-Content-Type-Options: nosniff\r\nServer: sffe\r\nX-XSS-Protection: 0\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":43502,"size_decoded":0,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (43499), with no line terminators","md5":"9e914fd11c5238c50eba741a873f0896","sha1":"950316ffef900ceecca4cf847c9a8c14231271da","sha256":"8684a32d1a10d050a26fc33192edf427a5f0c6874c590a68d77ae6e0d186bd8a","sha512":"362b96b27d3286396f53ece74b1685fa915fc9a73e83f28e782b3f6a2b9f851ba9e37d79d93bd97ab7b3dc3c2d9b66b5e8f81151c8b65a17f4483e1484428e5f","ssdeep":"768:xwAbmEw+jAJFnSCZ9vWdmIfhjQucISYsU8/F+:bAJFnSC3W1QXISYsU8t+","tlshash":"8513c77d6108212aba178daffee277482ed754f3b103466ef9a06b55c5c11db0823e36","first_seen":"2023-04-05T09:26:54Z","last_seen":"2026-09-23T06:49:26.707127Z","times_seen":97132,"resource_available":true,"data":null}},"time_used":64,"timings":{"blocked":12,"dns":0,"connect":21,"send":0,"wait":30,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.com/img/blogger-logotype-color-black-1x.png","fqdn":"ghkhkghkghkkghk.blogspot.com","domain":"ghkhkghkghkkghk.blogspot.com","tld":"blogspot.com"},"ip":{"addr":"142.251.38.97","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"imageset","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.423Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /img/blogger-logotype-color-black-1x.png HTTP/1.1\r\nHost: ghkhkghkghkkghk.blogspot.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,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 404 Not Found\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Encoding: gzip\r\nDate: Tue, 04 Nov 2025 18:13:42 GMT\r\nExpires: Tue, 04 Nov 2025 18:13:42 GMT\r\nCache-Control: private, max-age=0\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nContent-Security-Policy: frame-ancestors 'self'\r\nX-XSS-Protection: 1; mode=block\r\nContent-Length: 35085\r\nServer: GSE\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"Not Found","fingerprints":[{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]},{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]}],"data":{"size":14585,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text, with very long lines (13268)","md5":"6b5e96de5ee9a70385c44e16ec520f3d","sha1":"8fdf87abfbf1a0fef4935f4571a37df28b3b254c","sha256":"7ddab01a443844a30c3d30ddb5d7967b44a08a9b2271200d93a96cec3d74b671","sha512":"7ac26bbb6d199dd730e1f81e35eb4dce30a40c3b61a27a4c18e918a9a7f52f2e5046b13fc46e0a8fcb0cd3056dd9fe16c10c8b3588117d11da5aeb868b4a2d77","ssdeep":"192:eF/OQIh7hRuA3Sc991OYqwdynGKA0QSuIXIYr5OjNz8VrVZ2hzKgKs7o3jWVMVDK:e0lqA391O0OAUdZ2ySSk","tlshash":"356264328254212e7c2ac9396090e6ceb213005ed5ef1f7cbd796671efce0ed9a65319","first_seen":"2025-11-04T09:05:11.854301Z","last_seen":"2025-11-18T12:03:43.022583Z","times_seen":1098,"resource_available":false,"data":null}},"time_used":597,"timings":{"blocked":190,"dns":1,"connect":7,"send":0,"wait":170,"receive":38,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null},{"sensor_name":"cira_dns","sensor_type":"DNS","title":"CIRA Canadian Shield DNS","description":"CIRA Canadian Shield DNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.cira.ca/en/canadian-shield/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"play.google.com/log?format=json\u0026hasfast=true","fqdn":"play.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.74.174","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:46.219Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:37:33 GMT","end":"Mon, 05 Jan 2026 08:37:32 GMT"},"fingerprint":{"sha1":"17:9D:6B:F6:A8:18:29:EC:16:2C:3C:3D:F2:EA:93:19:C7:92:EE:AA","sha256":"AA:D4:E9:5C:D4:70:A7:86:45:DE:62:83:82:60:F9:B9:46:CF:40:73:19:FA:3B:01:A9:7E:9B:32:24:EE:57:EC"}}},"request":{"raw":"POST /log?format=json\u0026hasfast=true HTTP/1.1\r\nHost: play.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nContent-Type: application/x-www-form-urlencoded;charset=utf-8\r\nContent-Length: 774\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/3 200 OK\r\naccess-control-allow-origin: http://play.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\nset-cookie: __Secure-ENID=29.SE=HEoPX6murCz6Y2LEMs43fDaqeOjD3c0JFkACNwofyTJEWLwpxVSdTaL7cvu9PvbdczbthVXVmoUhcOt5dT8GKmRQRKEGE0rBbENw2CkodGIvGQt5YfwViSkXHLAAq1eC-mnOcBfoZlqmw9faPG81ChgpFD4164Aj4XnvjYwsK8-sdT7AzPGcDeEKB2b81xnrKuAUMZVG2c7dGCEsBZd3IlvPtVV1Ga79s3H5OI0bSvKMhd8; expires=Sat, 05-Dec-2026 10:32:04 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Tue, 04 Nov 2025 18:13:46 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nexpires: Tue, 04 Nov 2025 18:13:46 GMT\r\ncache-control: private\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":131,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-09-23T07:41:35.538095Z","times_seen":605253,"resource_available":true,"data":null}},"time_used":34,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":34,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?lang=no\u0026family=Product+Sans|Roboto:400,700","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.422Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","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, 13 Oct 2025 08:38:58 GMT","end":"Mon, 05 Jan 2026 08:38:57 GMT"},"fingerprint":{"sha1":"1E:BD:59:57:1D:85:DE:FA:02:4F:D0:E3:99:CD:8C:9B:62:9E:2A:D4","sha256":"E6:2C:01:FB:2E:B9:ED:F7:DF:AE:35:78:93:C6:BD:6B:FE:43:09:67:54:88:15:D5:34:D6:13:53:F1:93:4A:45"}}},"request":{"raw":"GET /css?lang=no\u0026family=Product+Sans|Roboto:400,700 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.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: style\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 OK\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: Tue, 04 Nov 2025 18:13:42 GMT\r\ndate: Tue, 04 Nov 2025 18:13:42 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","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":12251,"size_decoded":0,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"2d7c6666ad1933170297cd3fee1ff550","sha1":"675516cffee08bdbc32e4159b4088ecd4f816359","sha256":"20734887a7e550ccbbb6fe5eb861e30bc92e39f8a8e50c4cf3d6370875cfd305","sha512":"4dcf8620115ed4e57c3d6f5f4c4931cada3e99f725338c9446dda5f9fc17c5dfa66d85a69c20c777c1c1347df4af3df640c86e7dbf370466db352bb7a6bf82dd","ssdeep":"192:GZMrLTffNwfsNwNNwKNwfWNw/q5NwDbqGIwV4DNwlNwuyNwoNwf1NwENwPNwfLN9:GSwfawDwwwkwyfw/qY45wLwrwmwf7wCv","tlshash":"7f422ea10417404057835ce223cebe34fe4f92107145d0b5abfd9b6beddbca652693ad","first_seen":"2025-09-09T00:15:31.501211Z","last_seen":"2025-11-18T23:04:48.127937Z","times_seen":15658,"resource_available":false,"data":null}},"time_used":342,"timings":{"blocked":144,"dns":0,"connect":30,"send":0,"wait":46,"receive":0,"ssl":120},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/og/_/js/k=og.qtm.en_US.XHFeauWSH50.2019.O/rt=j/m=q_dnp,q_pc,qmd,qcwid,qapid,qads,q_dg/exm=qaaw,qabr,qadd,qaid,qalo,qebr,qein,qhaw,qhawgm3,qhba,qhbr,qhbrgm3,qhch,qhchgm3,qhga,qhid,qhidgm3,qhin,qhlo,qhlogm3,qhmn,qhpc,qhsf,qhsfgm3,qhtt/d=1/ed=1/rs=AA2YrTtPxr2ma4CplbvX_Js3zz5VBiuOaw","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.74.131","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.701Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:51 GMT","end":"Mon, 05 Jan 2026 08:38:50 GMT"},"fingerprint":{"sha1":"89:73:B0:EF:F1:BA:6A:DA:6C:2C:87:70:0D:17:11:82:30:E9:13:68","sha256":"96:8D:5D:62:3A:3A:D6:CD:06:9A:CE:52:F4:2D:91:F9:66:13:40:F4:5F:9B:88:3D:55:04:79:E3:14:96:51:FA"}}},"request":{"raw":"GET /og/_/js/k=og.qtm.en_US.XHFeauWSH50.2019.O/rt=j/m=q_dnp,q_pc,qmd,qcwid,qapid,qads,q_dg/exm=qaaw,qabr,qadd,qaid,qalo,qebr,qein,qhaw,qhawgm3,qhba,qhbr,qhbrgm3,qhch,qhchgm3,qhga,qhid,qhidgm3,qhin,qhlo,qhlogm3,qhmn,qhpc,qhsf,qhsfgm3,qhtt/d=1/ed=1/rs=AA2YrTtPxr2ma4CplbvX_Js3zz5VBiuOaw HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.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 OK\r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/one-google-eng\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"one-google-eng\"\r\nreport-to: {\"group\":\"one-google-eng\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/one-google-eng\"}]}\r\ncontent-length: 69389\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 04 Nov 2025 08:30:52 GMT\r\nexpires: Wed, 04 Nov 2026 08:30:52 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 03 Nov 2025 02:27:23 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding, Origin\r\nage: 34970\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":"OK","fingerprints":null,"data":{"size":187101,"size_decoded":0,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2473)","md5":"9c4d92d3a22c307f8ff43810bd648793","sha1":"57423019c0125e0e8dde353952f295234e01b368","sha256":"ec4a6d2f9739cf71a168ebbcb435d64160ee87ddf8423f7ef201f8f50934224f","sha512":"024aa1f02d59a5686027fd51ff525d90d8e956356a846145ae9afd4792ed8f0fef9d2b9d3b03397cc61edee15279d55abf42198b2c8f79b99e80196058726ada","ssdeep":"3072:1gkTdgSYbQBGeOchnZ6aCqIFlkYhawi5L8BOv3B98lWGnqiMXBaC86freQQVIYRf:1gkTdgS4QBGeOchnZ6aCqIFlkYpi5L8j","tlshash":"45043b9c7362306782a6f4d6017f0046716aa466f44d8cacb69cdee2aef4d8501f7f78","first_seen":"2025-11-04T09:01:21.531013Z","last_seen":"2025-11-11T07:11:43.87842Z","times_seen":1589,"resource_available":true,"data":null}},"time_used":138,"timings":{"blocked":59,"dns":1,"connect":21,"send":0,"wait":8,"receive":13,"ssl":34},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.UXDNXkgCDpE.O/m=gapi_iframes,googleapis_client/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_3ykjRTrvlIBv6vfu43Rx7CYUQSA/cb=gapi.loaded_0","fqdn":"apis.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.883Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.apis.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:39:52 GMT","end":"Mon, 05 Jan 2026 08:39:51 GMT"},"fingerprint":{"sha1":"65:D0:E8:7F:DF:B5:06:60:E6:28:A6:EA:55:0C:27:BA:4B:BE:B0:37","sha256":"CE:34:EC:86:26:AF:84:DE:4D:22:0D:5A:46:86:CB:BC:EA:37:FE:EF:7F:9A:E9:9E:74:26:58:01:3C:BD:16:3F"}}},"request":{"raw":"GET /_/scs/abc-static/_/js/k=gapi.gapi.en.UXDNXkgCDpE.O/m=gapi_iframes,googleapis_client/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_3ykjRTrvlIBv6vfu43Rx7CYUQSA/cb=gapi.loaded_0 HTTP/1.1\r\nHost: apis.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.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 OK\r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/social-frontend-mpm-access\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"social-frontend-mpm-access\"\r\nreport-to: {\"group\":\"social-frontend-mpm-access\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/social-frontend-mpm-access\"}]}\r\ncontent-length: 39361\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 03 Nov 2025 17:31:02 GMT\r\nexpires: Tue, 03 Nov 2026 17:31:02 GMT\r\ncache-control: public, max-age=31536000\r\nage: 88960\r\nlast-modified: Thu, 23 Oct 2025 22:32:18 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\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":"OK","fingerprints":null,"data":{"size":118202,"size_decoded":0,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (1621)","md5":"ca363193554f74b6cf98fd2bf75f9c92","sha1":"1ec3add2e5f81b060edfb45f54869332aa5e5539","sha256":"83a3dad0e2b07d3ec4ece31d37fad1e8156060b2ff3003342395e3d5edb689bb","sha512":"b3495d99663839723c90b6b3dd21655dadf5f59c6f1052b6c146cd95567e7df015b151bf1a7b1ad09fd09e7683a9351a6c48348a4ab557ce022e344126986daf","ssdeep":"3072:etyvOaxzvVNi/GKrGWH3J1FjWRqzXYPFEeUFgq:ety3VNwlxa2eUFgq","tlshash":"1ec3c4d9b6a2b0668363b0b4502f110eb2bf58a9f44c4da8f298c4e17df95494177fbc","first_seen":"2025-10-27T19:14:04.967643Z","last_seen":"2025-12-21T17:14:59.084554Z","times_seen":18678,"resource_available":true,"data":null}},"time_used":182,"timings":{"blocked":75,"dns":0,"connect":15,"send":0,"wait":15,"receive":17,"ssl":57},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ogads-pa.clients6.google.com/$rpc/google.internal.onegoogle.asyncdata.v1.AsyncDataService/GetAsyncData","fqdn":"ogads-pa.clients6.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"216.58.211.10","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.887Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.googleapis.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:37 GMT","end":"Mon, 05 Jan 2026 08:38:36 GMT"},"fingerprint":{"sha1":"BC:9F:FA:97:38:39:F2:4A:70:EE:51:DD:A4:71:FF:92:0D:B8:C0:5F","sha256":"09:C2:3A:2D:48:69:D8:B3:4B:FE:A3:20:58:E0:57:9C:63:57:69:F4:92:B8:FC:2C:96:7D:D8:DB:01:03:4A:50"}}},"request":{"raw":"OPTIONS /$rpc/google.internal.onegoogle.asyncdata.v1.AsyncDataService/GetAsyncData HTTP/1.1\r\nHost: ogads-pa.clients6.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key,x-user-agent\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 OK\r\naccess-control-allow-origin: http://ghkhkghkghkkghk.blogspot.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key,x-user-agent\r\naccess-control-max-age: 3600\r\ndate: Tue, 04 Nov 2025 18:13:42 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nserver-timing: gfet4t7; dur=8\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":"OK","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-09-23T07:48:26.111132Z","times_seen":18614504,"resource_available":true,"data":null}},"time_used":145,"timings":{"blocked":57,"dns":0,"connect":20,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"play.google.com/log?format=json\u0026hasfast=true","fqdn":"play.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.74.174","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:43.867Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:37:33 GMT","end":"Mon, 05 Jan 2026 08:37:32 GMT"},"fingerprint":{"sha1":"17:9D:6B:F6:A8:18:29:EC:16:2C:3C:3D:F2:EA:93:19:C7:92:EE:AA","sha256":"AA:D4:E9:5C:D4:70:A7:86:45:DE:62:83:82:60:F9:B9:46:CF:40:73:19:FA:3B:01:A9:7E:9B:32:24:EE:57:EC"}}},"request":{"raw":"POST /log?format=json\u0026hasfast=true HTTP/1.1\r\nHost: play.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nContent-Type: application/x-www-form-urlencoded;charset=utf-8\r\nContent-Length: 772\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST"},"response":{"raw":"HTTP/2 200 OK\r\naccess-control-allow-origin: http://play.google.com\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web\r\nset-cookie: __Secure-ENID=29.SE=b_AJvTa5WM2aiecDJrY0P4GnIVhDTZMAacEsOFcSVWRT9WWpp2nHBJwEtkYOstvBrybErPbnOJ1w0vlsP3OxUXNnCdg__rSRby6cJ5HjFEDbt6qwy8A2dY3-mgm9w81B3qojoZndgQ9jk5MnDvUwwm89ZrmXpfmuPULkoRFPu5oxx6eeJ7RMOk8qgIg6BX5_JuWfyoksvIioUyhEc9TyNJ_vT8XWIWE4eU403CIJqcU18PED; expires=Sat, 05-Dec-2026 10:32:01 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/plain; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Tue, 04 Nov 2025 18:13:43 GMT\r\nserver: Playlog\r\ncontent-length: 131\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nexpires: Tue, 04 Nov 2025 18:13:43 GMT\r\ncache-control: private\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"OK","fingerprints":null,"data":{"size":131,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"JSON text data","md5":"ca0b7e866005f6774d284b9f438ebfd2","sha1":"53644f5ee3640189bdb223473ba6a2d46606c556","sha256":"502e9680cfa78fa8be779cbf4f1947c8eaa3d43bf8c7464800ec772b2ddea358","sha512":"939c4526c623db033ad40bfdc6c8848a1dcd0ca797f17fbbd89fbec1b49dededc16e89084b3759e62fa0ffc8fe896980b10a1ff8daee22736a70b08f1ee13e2f","ssdeep":"","tlshash":"58c08c50330469e1080e82c8c0026858228c903b46708cf10bbd68125d3234a1004854","first_seen":"2023-04-05T03:14:56Z","last_seen":"2026-09-23T07:41:35.538095Z","times_seen":605253,"resource_available":true,"data":null}},"time_used":209,"timings":{"blocked":79,"dns":0,"connect":21,"send":0,"wait":51,"receive":0,"ssl":55},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"ghkhkghkghkkghk.blogspot.com/","fqdn":"ghkhkghkghkkghk.blogspot.com","domain":"ghkhkghkghkkghk.blogspot.com","tld":"blogspot.com"},"ip":{"addr":"142.251.38.97","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2025-11-04T18:13:41.472Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"misc-sni.blogspot.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:29 GMT","end":"Mon, 05 Jan 2026 08:38:28 GMT"},"fingerprint":{"sha1":"79:F8:25:D8:1E:20:D5:1D:56:DC:80:04:51:94:31:3C:7F:A0:40:C7","sha256":"55:F0:EF:6C:33:D9:38:EA:35:F7:A8:A3:FD:53:2A:B5:77:C2:CD:06:33:42:0F:95:EE:5D:3E:AE:F9:96:1B:C6"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: ghkhkghkghkkghk.blogspot.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,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\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 404 Not Found\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: gzip\r\ndate: Tue, 04 Nov 2025 18:13:41 GMT\r\nexpires: Tue, 04 Nov 2025 18:13:41 GMT\r\ncache-control: private, max-age=0\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\ncontent-security-policy: frame-ancestors 'self'\r\nx-xss-protection: 1; mode=block\r\ncontent-length: 35086\r\nserver: GSE\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":"404","status_text":"Not Found","fingerprints":[{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]},{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]}],"data":{"size":112503,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (29483)","md5":"209b43537534fa0d1d6cefc6a49f53ce","sha1":"75e6ed852029a935f6041af522acff41b9861559","sha256":"a994898feea201d143db5c7de6df70feb3ef6b9d99bd9e6e43f851bfc754c908","sha512":"194e823aec2e95946602b8d51492701c37d6ebe0768f0b9f51d68b815fbb5fa9163e03208e28d5600fbd234bafd9b5b347364111043bd83deadbc9f3c3bebb2f","ssdeep":"3072:1391OtmLgwlISO9tbHSAOPte2RgtWYI2X:1391OtXwlIh95S9e2RgtWYI2X","tlshash":"7bb3f7a4725130729e26f8f15067410bb17b546af48c0dbcf29cdee2aef90a94576b3c","first_seen":"2025-11-04T18:14:09.776047Z","last_seen":"2025-11-04T18:14:09.776047Z","times_seen":1,"resource_available":false,"data":null}},"time_used":594,"timings":{"blocked":128,"dns":34,"connect":7,"send":0,"wait":171,"receive":166,"ssl":85},"alerts":{"ids":null,"analyzer":[{"sensor_name":"cira_dns","sensor_type":"DNS","title":"CIRA Canadian Shield DNS","description":"CIRA Canadian Shield DNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.cira.ca/en/canadian-shield/","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null}},{"url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.com/","fqdn":"ghkhkghkghkkghk.blogspot.com","domain":"ghkhkghkghkkghk.blogspot.com","tld":"blogspot.com"},"ip":{"addr":"142.251.38.97","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2025-11-04T18:13:42.087Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET / HTTP/1.1\r\nHost: ghkhkghkghkkghk.blogspot.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,image/avif,image/webp,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\nDNT: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 404 Not Found\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Encoding: gzip\r\nDate: Tue, 04 Nov 2025 18:13:42 GMT\r\nExpires: Tue, 04 Nov 2025 18:13:42 GMT\r\nCache-Control: private, max-age=0\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nContent-Security-Policy: frame-ancestors 'self'\r\nX-XSS-Protection: 1; mode=block\r\nContent-Length: 35084\r\nServer: GSE\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"Not Found","fingerprints":[{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]},{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]}],"data":{"size":112501,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (29483)","md5":"23edc23b7ea25909cc009f0f5265b43e","sha1":"34e924e55d3e8d4c5f0cc594942a1b0eed13bf22","sha256":"3c2e059a4de003ed2b7baa697f3caeeaa0da037ec0897cb934182cd64d520e08","sha512":"f169973c1fd7f0a83e9ba1ccc4ff68747dca265cfe6acaec9bf55ee4b59777d3de64658b593c67d77ec7e6f747b76640c066e98448b46a33ceffb9e74c704d9c","ssdeep":"3072:1391OtmLgwgISO9tbHSAOPte2RgtWYI2X:1391OtXwgIh95S9e2RgtWYI2X","tlshash":"59b3f7a4725130729e26f8f15067410bb17b546af48c0dbcf29cdee2aef90a94576b3c","first_seen":"2025-11-04T18:14:09.778109Z","last_seen":"2025-11-04T18:14:09.778109Z","times_seen":1,"resource_available":false,"data":null}},"time_used":354,"timings":{"blocked":4,"dns":1,"connect":7,"send":0,"wait":172,"receive":170,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"cira_dns","sensor_type":"DNS","title":"CIRA Canadian Shield DNS","description":"CIRA Canadian Shield DNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.cira.ca/en/canadian-shield/","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/svg/googlelogo_clr_74x24px.svg","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.74.131","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.652Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:51 GMT","end":"Mon, 05 Jan 2026 08:38:50 GMT"},"fingerprint":{"sha1":"89:73:B0:EF:F1:BA:6A:DA:6C:2C:87:70:0D:17:11:82:30:E9:13:68","sha256":"96:8D:5D:62:3A:3A:D6:CD:06:9A:CE:52:F4:2D:91:F9:66:13:40:F4:5F:9B:88:3D:55:04:79:E3:14:96:51:FA"}}},"request":{"raw":"GET /images/branding/googlelogo/svg/googlelogo_clr_74x24px.svg HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: image\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 OK\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 663\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 30 Oct 2025 09:37:52 GMT\r\nexpires: Fri, 30 Oct 2026 09:37:52 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 30 Dec 2021 12:48:00 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding, Origin\r\nage: 462950\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":"OK","fingerprints":null,"data":{"size":1660,"size_decoded":0,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"554640f465eb3ed903b543dae0a1bcac","sha1":"e0e6e2c8939008217eb76a3b3282ca75f3dc401a","sha256":"99bf4aa403643a6d41c028e5db29c79c17cbc815b3e10cd5c6b8f90567a03e52","sha512":"462198e2b69f72f1dc9743d0ea5eed7974a035f24600aa1c2de0211d978ff0795370560cbf274ccc82c8ac97dc3706c753168d4b90b0b81ae84cc922c055cff0","ssdeep":"","tlshash":"3f31a0f34a20365a11374e708dbfb5a3351fa6f9b745a3dd71a1d330e012be9e441918","first_seen":"2023-04-05T23:50:35Z","last_seen":"2026-09-23T06:49:26.704482Z","times_seen":220234,"resource_available":false,"data":null}},"time_used":340,"timings":{"blocked":166,"dns":0,"connect":21,"send":0,"wait":8,"receive":0,"ssl":142},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.74.35","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.678Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:51 GMT","end":"Mon, 05 Jan 2026 08:38:50 GMT"},"fingerprint":{"sha1":"89:73:B0:EF:F1:BA:6A:DA:6C:2C:87:70:0D:17:11:82:30:E9:13:68","sha256":"96:8D:5D:62:3A:3A:D6:CD:06:9A:CE:52:F4:2D:91:F9:66:13:40:F4:5F:9B:88:3D:55:04:79:E3:14:96:51:FA"}}},"request":{"raw":"GET /s/roboto/v49/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: identity\r\nOrigin: http://ghkhkghkghkkghk.blogspot.com\r\nDNT: 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\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 OK\r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 30 Oct 2025 09:54:03 GMT\r\nexpires: Fri, 30 Oct 2026 09:54:03 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 08 Sep 2025 18:08:05 GMT\r\ncontent-type: font/woff2\r\nage: 461979\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":"OK","fingerprints":null,"data":{"size":40128,"size_decoded":0,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-09-23T07:50:11.356478Z","times_seen":997125,"resource_available":false,"data":null}},"time_used":129,"timings":{"blocked":56,"dns":1,"connect":7,"send":0,"wait":8,"receive":8,"ssl":46},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/og/_/ss/k=og.qtm.IMKlDtwQ18s.L.F4.O/m=qmd,qcwid/excm=qaaw,qabr,qadd,qaid,qalo,qebr,qein,qhaw,qhawgm3,qhba,qhbr,qhbrgm3,qhch,qhchgm3,qhga,qhid,qhidgm3,qhin,qhlo,qhlogm3,qhmn,qhpc,qhsf,qhsfgm3,qhtt/d=1/ed=1/ct=zgms/rs=AA2YrTvK_4ZN0pNwgQTfIzl_eoNDOEz8Hw","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.74.131","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.704Z","timestamp":0,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 13 Oct 2025 08:38:51 GMT","end":"Mon, 05 Jan 2026 08:38:50 GMT"},"fingerprint":{"sha1":"89:73:B0:EF:F1:BA:6A:DA:6C:2C:87:70:0D:17:11:82:30:E9:13:68","sha256":"96:8D:5D:62:3A:3A:D6:CD:06:9A:CE:52:F4:2D:91:F9:66:13:40:F4:5F:9B:88:3D:55:04:79:E3:14:96:51:FA"}}},"request":{"raw":"GET /og/_/ss/k=og.qtm.IMKlDtwQ18s.L.F4.O/m=qmd,qcwid/excm=qaaw,qabr,qadd,qaid,qalo,qebr,qein,qhaw,qhawgm3,qhba,qhbr,qhbrgm3,qhch,qhchgm3,qhga,qhid,qhidgm3,qhin,qhlo,qhlogm3,qhmn,qhpc,qhsf,qhsfgm3,qhtt/d=1/ed=1/ct=zgms/rs=AA2YrTvK_4ZN0pNwgQTfIzl_eoNDOEz8Hw HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nSec-Fetch-Dest: style\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 OK\r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/one-google-eng\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"one-google-eng\"\r\nreport-to: {\"group\":\"one-google-eng\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/one-google-eng\"}]}\r\ncontent-length: 1105\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 30 Oct 2025 09:42:56 GMT\r\nexpires: Fri, 30 Oct 2026 09:42:56 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 16 Oct 2025 01:34:01 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding, Origin\r\nage: 462646\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":"OK","fingerprints":null,"data":{"size":2722,"size_decoded":0,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (2722), with no line terminators","md5":"347aef061489cf71cd033135928d1d58","sha1":"edd74afedef9344f965e4fe0f44e9be80533719f","sha256":"e68a337f8f104ae5433ff5d7c10847e7c502b0f7928068919cb8bcb1afaf7e52","sha512":"2fee6e3b93cfdf2e3d7f212bc5204ba8a155957c0c9bb3b7d3d6044bcc01cb2d9400929079096a5723840448791631ebcfc676fac3f7f8b96bb833d2dca89099","ssdeep":"","tlshash":"a7514172a294202fbc76e82e27d0c5cd2233d199d89f4f5cbd683931ba455ba2a60652","first_seen":"2025-10-22T08:43:22.322225Z","last_seen":"2025-11-18T12:22:25.865107Z","times_seen":4258,"resource_available":false,"data":null}},"time_used":74,"timings":{"blocked":31,"dns":2,"connect":8,"send":0,"wait":9,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"http","addr":"ghkhkghkghkkghk.blogspot.com/favicon.ico","fqdn":"ghkhkghkghkkghk.blogspot.com","domain":"ghkhkghkghkkghk.blogspot.com","tld":"blogspot.com"},"ip":{"addr":"142.251.38.97","port":80,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"http://ghkhkghkghkkghk.blogspot.com/","date":"2025-11-04T18:13:42.833Z","timestamp":0,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: ghkhkghkghkkghk.blogspot.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,*/*\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\nDNT: 1\r\nConnection: keep-alive\r\nReferer: http://ghkhkghkghkkghk.blogspot.com/\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 404 Not Found\r\nContent-Type: text/html; charset=UTF-8\r\nContent-Encoding: gzip\r\nDate: Tue, 04 Nov 2025 18:13:42 GMT\r\nExpires: Tue, 04 Nov 2025 18:13:42 GMT\r\nCache-Control: private, max-age=0\r\nX-Content-Type-Options: nosniff\r\nX-Frame-Options: SAMEORIGIN\r\nContent-Security-Policy: frame-ancestors 'self'\r\nX-XSS-Protection: 1; mode=block\r\nContent-Length: 35087\r\nServer: GSE\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"Not Found","fingerprints":[{"name":"OpenGSE","description":"OpenGSE is a test suite used for testing servlet compliance. It is deployed by using WAR files that are deployed on the server engine.","website":"https://code.google.com/p/opengse","common_platform_enumeration":"","icon":"Google.svg","categories":["Web servers"]},{"name":"Java","description":"Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.","website":"https://java.com","common_platform_enumeration":"cpe:2.3:a:oracle:jre:*:*:*:*:*:*:*:*","icon":"Java.svg","categories":["Programming languages"]}],"data":{"size":112502,"size_decoded":0,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (29483)","md5":"16a36e9b2682f7b8b99ce94096e45ea1","sha1":"c553bb9478f63fa6b4901ac42f7cadf4a03e2907","sha256":"4509a7e948fc20158538c678543e9fe023d48bd668a50a17da2770e3a61c0ca4","sha512":"b1dd9d1c59e1aeba980f91f6bca30c71f5ea06b6ee54bdeca7b2b389b895877495127821ac73f95545bc9c9eaf33889b8aa70748c8b2b7540279b2b9b1feea54","ssdeep":"3072:1391OtmLgwOISO9tbHSAOPte2RgtWYI2X:1391OtXwOIh95S9e2RgtWYI2X","tlshash":"e0b3f7a4725130729e26f8f15067410bb17b546af48c0dbcf29cdee2aef90a94576b3c","first_seen":"2025-11-04T18:14:09.783422Z","last_seen":"2025-11-04T18:14:09.783422Z","times_seen":1,"resource_available":false,"data":null}},"time_used":288,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":169,"receive":119,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"cira_dns","sensor_type":"DNS","title":"CIRA Canadian Shield DNS","description":"CIRA Canadian Shield DNS","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.cira.ca/en/canadian-shield/","meta":null},{"sensor_name":"dns0","sensor_type":"DNS","title":"DNS0 Zero","description":"DNS0 Zero","scan_date":"2025-11-04","alert":"Sinkholed","trigger":"ghkhkghkghkkghk.blogspot.com","verdict":"malicious","severity":"medium","comment":"Sinkholed in DNS (SOA: negative-caching.dns0.eu)","link":"https://www.dns0.eu/zero","meta":null}],"urlquery":null}}]}
