html=atob("PCFET0NUWVBFIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPHN0eWxlPgogICAgICBib2R5IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgfQoKICAgICAgZm9ybSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjcXVlcnkgewogICAgICAgIHdpZHRoOiA4ZW07CiAgICAgIH0KCiAgICAgICNxdWVyeWRpc3BsYXkgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgIH0KCiAgICAgICNxdWVyeWRpc3BsYXkgLnRleHQgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICB9CgogICAgICAjaGVhZGVyIGEgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIG1hcmdpbi1yaWdodDogMC44ZW07CiAgICAgIH0KCiAgICAgICNoZWFkZXIgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDA7CiAgICAgICAgcGFkZGluZzogMC41ZW0gMCAwLjhlbSAwLjVlbTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgICNjb250cm9saW5mbyB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgcGFkZGluZzogMCAxZW07CiAgICAgIH0KCiAgICAgICNsaXZlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgICBwYWRkaW5nOiAwLjFlbSAwLjNlbTsKICAgICAgICBvcGFjaXR5OiAuNzsKICAgICAgfQoKICAgICAgI21lZGlhLWNvbnRhaW5lciB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwKTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgfQoKICAgICAgI21lZGlhLWNvbnRhaW5lciwgI3JlcyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB6LWluZGV4OiAzOwogICAgICB9CgogICAgICAjcGljIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3OwogICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoOwogICAgICB9CgogICAgICAjcGljcyBhIHsKICAgICAgICB3aWR0aDogMjV2dzsKICAgICAgICBoZWlnaHQ6IDI1dnc7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3JkZXI6IDAuM2VtIHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAuM2VtOwogICAgICAgIG1hcmdpbjogLTAuM2VtOwogICAgICB9CgogICAgICAjcGljcyBhID4gc3BhbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1zaXplOiAxLjN2dzsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDN2dzsKICAgICAgICBwYWRkaW5nOiAwIDF2dzsKICAgICAgfQoKICAgICAgI3BpY3MgaW1nIHsKICAgICAgICB3aWR0aDogMjV2dzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIH0KCiAgICAgICNwaWNzIGEuYWN0aXZlIHsKICAgICAgICBib3JkZXItY29sb3I6IGdyZWVuOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGRpdiBpZD0iaGVhZGVyIj4KICAgICAgPGEgaHJlZj0iaW1hZ2VzLmh0bWwiPmltYWdlcy5odG1sPC9hPgogICAgICA8Zm9ybSBhY3Rpb249IiMiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0icXVlcnkiIG5hbWU9InF1ZXJ5IiBpZD0iIiAvPiA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0ib2siLz4KICAgICAgPC9mb3JtPgogICAgICA8c3BhbiBpZD0icXVlcnlkaXNwbGF5Ij5xdWVyeTogPHNwYW4gY2xhc3M9InRleHQiPjwvc3Bhbj48L3NwYW4+CiAgICAgIDxzcGFuIGlkPSJjb250cm9saW5mbyI+YXJyb3dzICZsdDsgJmd0OyB0byBuYXZpZ2F0ZSwgZW50ZXIgdG8gdmlldywgYmFja3NwYWNlL2VzYyB0byByZXR1cm48L3NwYW4+CiAgICA8L2Rpdj4KICAgIDxjZW50ZXIgaWQ9Im1lZGlhLWNvbnRhaW5lciI+CiAgICAgIDxpbWcgaWQ9InBpYyIvPgogICAgICBMb2FkaW5nIC4uLgogICAgPC9jZW50ZXI+CiAgICA8ZGl2IGlkPSJwaWNzIj48L2Rpdj4KICAgIDxkaXYgaWQ9InJlcyI+PC9kaXY+CiAgICA8c2NyaXB0PgogICAgICBzZWFyY2hkYiA9ICIiCgogICAgICBsZXQgcGljdHVyZXMgPSBbXQogICAgICBsZXQgZG9tcGljcyA9IFtdCiAgICAgIGxldCBpZGNvdW50ZXIgPSAwCiAgICAgIGxldCBxdWVyeW1hdGNoID0gbG9jYXRpb24uaHJlZi5tYXRjaCgvcXVlcnk9KFteJiNdKykvKQogICAgICBsZXQgcXVlcnlzdHIgPSBxdWVyeW1hdGNoID09IG51bGwgPyAiIiA6IGRlY29kZVVSSUNvbXBvbmVudChxdWVyeW1hdGNoWzFdLnJlcGxhY2VBbGwoIisiLCAiICIpKQoKICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3F1ZXJ5ZGlzcGxheSAudGV4dCIpLmlubmVyVGV4dCA9IHF1ZXJ5c3RyCgogICAgICBmdW5jdGlvbiBpbml0KCl7CiAgICAgICAgbWVkaWFfY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lZGlhLWNvbnRhaW5lciIpCiAgICAgICAgcGljID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBpYyIpCiAgICAgIH0KCiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgZSA9PiB7CiAgICAgICAgaWYoZS5rZXkgPT0gIkVzY2FwZSIgfHwgZS5rZXkgPT0gIkJhY2tzcGFjZSIpewogICAgICAgICAgaGlkZW1lZGlhKCkKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYoZS5rZXkgPT0gIkVudGVyIil7CiAgICAgICAgICBldmFsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikuaHJlZikKICAgICAgICB9CgogICAgICAgIGlmKGUua2V5ID09ICJBcnJvd0xlZnQiKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpCiAgICAgICAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIiNwaWNzIGEuYWN0aXZlIikpLnBvcCgpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKGUua2V5ID09ICJBcnJvd1JpZ2h0Iil7CiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCkKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikubmV4dEVsZW1lbnRTaWJsaW5nLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpCiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpCiAgICAgICAgfQoKICAgICAgICBpZihlLmtleSA9PSAiQXJyb3dVcCIpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpCiAgICAgICAgICBjb25zdCBwID0gInByZXZpb3VzU2libGluZyIKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIilbcF1bcF1bcF1bcF0uY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikKICAgICAgICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiI3BpY3MgYS5hY3RpdmUiKSkucG9wKCkuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikKICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLm9mZnNldFRvcCkKICAgICAgICB9CgogICAgICAgIGlmKGUua2V5ID09ICJBcnJvd0Rvd24iKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKQogICAgICAgICAgY29uc3QgbiA9ICJuZXh0RWxlbWVudFNpYmxpbmciCiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpW25dW25dW25dW25dLmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpCiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpCiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5vZmZzZXRUb3ApCiAgICAgICAgfQogICAgICAgIAogICAgICAgIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNtZWRpYS1jb250YWluZXIiKS5zdHlsZS5kaXNwbGF5ID09ICJibG9jayIpewogICAgICAgICAgc2hvdyhkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhLmFjdGl2ZSIpLmlkKQogICAgICAgIH0KICAgICAgfSkKCiAgICAgIGFzeW5jIGZ1bmN0aW9uIHF1ZXJ5KHEpewogICAgICAgIGxldCBldmVudGRiID0gIiIKICAgICAgICAKICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewogICAgICAgICAgaWYocSA9PSAiIil7CiAgICAgICAgICAgIHI9J1siUkVRIiwiZXhwbG9yZV8zNzE2MDQ3NTE0Iix7ImNhY2hlIjpbImV4cGxvcmUiLHsidGltZWZyYW1lIjoibGF0ZXN0Iiwic2NvcGUiOiJnbG9iYWwiLCJsaW1pdCI6MTAwfV19XScKICAgICAgICAgIH1lbHNlewogICAgICAgICAgICByPSdbIlJFUSIsInNlYXJjaF9jb250ZW50XzM3MTYwNDc1MTQiLHsiY2FjaGUiOlsic2VhcmNoIix7InF1ZXJ5IjoiJytxKyciLCJsaW1pdCI6MTAwfV19XScKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgbGV0IHNvY2tldCA9IG5ldyBXZWJTb2NrZXQoIndzczovL2NhY2hlMy5wcmltYWwubmV0L2NhY2hlMTciKTsKICAgICAgICAgIAogICAgICAgICAgc29ja2V0Lm9ub3BlbiA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgc29ja2V0LnNlbmQocikKICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgc29ja2V0Lm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgIGV2ZW50ZGIgKz0gKGV2ZW50LmRhdGErIlxuIikKCiAgICAgICAgICAgIGlmKGV2ZW50LmRhdGEuaW5kZXhPZigiRU9TRSIpID09IDIpewogICAgICAgICAgICAgIHNvY2tldC5jbG9zZSgpCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgc29ja2V0Lm9uY2xvc2UgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHJlc29sdmUoZXZlbnRkYikKICAgICAgICAgIH0KICAgICAgICB9KQogICAgICB9CgogICAgICBmdW5jdGlvbiBzYXZlKHEpewogICAgICAgIGxldCBzZWFyY2hvYmogPSBKU09OLnBhcnNlKCJbIitzZWFyY2hkYi5zcGxpdCgiXG4iKS5zbGljZSg0KS5qb2luKCIsIikuc2xpY2UoMCwgLTEpKyJdIikKICAgICAgICBsZXQgcmVnZXg9L2h0dHAofHMpXDpcL1wvW14gXSo/XC4ocG5nfGpwZ3xqcGVnfHdlYnApL2dpCgogICAgICAgIGNvbnN0IGNvbnRlbnRzID0gc2VhcmNob2JqLmZpbHRlcihvID0+IHtyZXR1cm4gKHR5cGVvZiBvID09ICJvYmplY3QiICYmIG9bMl0gIT0gdW5kZWZpbmVkICYmIG9bMl0ua2luZCA9PSAxKX0pLm1hcChvID0+IHsKICAgICAgICAgIHJldHVybiBvWzJdLmNvbnRlbnQKICAgICAgICB9KS5qb2luKCJcbiIpCiAgICAgICAgCiAgICAgICAgbGV0IG5ld3BpY3MgPSBbXQogICAgICAgIAogICAgICAgIGZvcihsZXQgdXJsIG9mIGNvbnRlbnRzLm1hdGNoKHJlZ2V4KSl7CiAgICAgICAgICBpZighcGljdHVyZXMuaW5jbHVkZXModXJsKSl7CiAgICAgICAgICAgIHBpY3R1cmVzLnB1c2godXJsKQogICAgICAgICAgICBuZXdwaWNzLnB1c2godXJsKQogICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdXBkYXRlcGljcyhuZXdwaWNzKQogICAgICB9CgogICAgICBhc3luYyBmdW5jdGlvbiBzZWFyY2gocSl7CiAgICAgICAgd2hpbGUodHJ1ZSl7CiAgICAgICAgICBzZWFyY2hkYiA9IGF3YWl0IHF1ZXJ5KHEpCiAgICAgICAgICBzYXZlKHEpCiAgICAgICAgfQogICAgICB9CgogICAgICBmdW5jdGlvbiB1cGRhdGVwaWNzKHBpY3MpewogICAgICAgIHBpY3MuZm9yRWFjaChwaWMgPT4gewogICAgICAgICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQogICAgICAgICAgYS5pZCA9ICJwaWNfIiArICgrK2lkY291bnRlcikKICAgICAgICAgIGFbImRhdGEtbmFtZSJdID0gcGljCiAgICAgICAgICBhLmhyZWYgPSAnamF2YXNjcmlwdDpzaG93KCInICsgYS5pZCArICciKScKICAgICAgICAgIGEuaW5uZXJIVE1MID0gJzxzcGFuPicrcGljLnN1YnN0cigtMzApKwogICAgICAgICAgICAnPC9zcGFuPjxpbWcgb25sb2FkPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJycgKyBhLmlkICsgJ1wnKS5zdHlsZS5kaXNwbGF5PVwnYmxvY2tcJyIgc3JjPSInICsgcGljICsgJyIvPicKICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIikucHJlcGVuZChhKQogICAgICAgIH0pCgogICAgICAgIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikgPT0gbnVsbCl7CiAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGljcyBhIikuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGhpZGVtZWRpYSgpewogICAgICAgIGluaXQoKQogICAgICAgIG1lZGlhX2NvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gcGljLnN0eWxlLmRpc3BsYXkgPSAibm9uZSIKICAgICAgfQoKICAgICAgZnVuY3Rpb24gc2hvdyhpZCl7CiAgICAgICAgY29uc3QgdXJsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpWyJkYXRhLW5hbWUiXQogICAgICAgIGluaXQoKQogICAgICAgIAogICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwaWNzIGEuYWN0aXZlIikuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIikKICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuY2xhc3NMaXN0LmFkZCgiYWN0aXZlIikKICAgICAgICAKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BpY3MgYS5hY3RpdmUiKS5vZmZzZXRUb3ApCgogICAgICAgIHBpYy5vbmNsaWNrID0gbWVkaWFfY29udGFpbmVyLm9uY2xpY2sgPSBmdW5jdGlvbigpewogICAgICAgICAgaGlkZW1lZGlhKCkKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgbWVkaWFfY29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siCiAgICAgICAgCiAgICAgICAgcGljLnNyYyA9IHVybAogICAgICAgIHBpYy5vbmxvYWQgPSBmdW5jdGlvbigpewogICAgICAgICAgcGljLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siCiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsICgpID0+IHsKICAgICAgICBzZWFyY2gocXVlcnlzdHIpCiAgICAgIH0pCiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4=");document.open();document.write(html);document.close();

Reply to this note

Please Login to reply.

Discussion

No replies yet.