this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Re-export stylus + tampermonkey configs

+301 -1049
+255 -136
.config/stylus/settings.json
··· 3 3 "settings": { 4 4 "openEditInWindow": false, 5 5 "openEditInWindow.popup": false, 6 - "windowPosition": {}, 6 + "windowPosition": { 7 + "left": 312, 8 + "top": 38, 9 + "width": 1200, 10 + "height": 869 11 + }, 7 12 "show-badge": true, 8 13 "disableAll": false, 9 14 "exposeIframes": false, 10 15 "exposeStyleName": false, 11 16 "newStyleAsUsercss": true, 17 + "styleViaASS": false, 12 18 "styleViaXhr": false, 13 19 "patchCsp": true, 20 + "urlInstaller": true, 14 21 "config.autosave": true, 15 22 "schemeSwitcher.enabled": "system", 16 23 "schemeSwitcher.nightStart": "18:00", 17 24 "schemeSwitcher.nightEnd": "06:00", 18 - "popup.breadcrumbs": true, 19 - "popup.breadcrumbs.usePath": false, 20 25 "popup.enabledFirst": true, 21 26 "popup.stylesFirst": true, 22 27 "popup.autoResort": false, 23 28 "popup.borders": false, 24 - "popup.findSort": "u", 29 + "popup.findSort": "t", 25 30 "manage.onlyEnabled": false, 26 31 "manage.onlyLocal": false, 27 32 "manage.onlyUsercss": false, ··· 31 36 "manage.actions.expanded": true, 32 37 "manage.backup.expanded": true, 33 38 "manage.filters.expanded": true, 39 + "manage.minColumnWidth": 9999, 34 40 "manage.newUI": true, 35 41 "manage.newUI.favicons": false, 36 42 "manage.newUI.faviconsGray": true, 37 43 "manage.newUI.targets": 3, 38 44 "manage.newUI.sort": "title,asc", 45 + "manage.searchMode": "meta", 39 46 "editor.options": {}, 40 47 "editor.toc.expanded": true, 41 48 "editor.options.expanded": true, 42 - "editor.lint.expanded": true, 49 + "editor.lint.expanded": false, 43 50 "editor.publish.expanded": true, 44 51 "editor.lineWrapping": true, 45 52 "editor.smartIndent": true, 46 53 "editor.indentWithTabs": false, 47 - "editor.tabSize": 4, 54 + "editor.tabSize": 2, 48 55 "editor.keyMap": "vim", 49 56 "editor.theme": "monokai", 50 57 "editor.beautify": { ··· 64 71 "editor.lintReportDelay": 500, 65 72 "editor.matchHighlight": "token", 66 73 "editor.autoCloseBrackets": true, 67 - "editor.autocompleteOnTyping": false, 74 + "editor.autocompleteOnTyping": true, 68 75 "editor.contextDelete": false, 69 76 "editor.selectByTokens": true, 77 + "editor.arrowKeysTraverse": true, 70 78 "editor.appliesToLineWidget": true, 71 79 "editor.autosaveDraft": 10, 72 80 "editor.livePreview": true, 81 + "editor.targetsFirst": true, 73 82 "editor.colorpicker": true, 74 83 "editor.colorpicker.hexUppercase": false, 75 84 "editor.colorpicker.hotkey": "", ··· 79 88 "hotkey.openManage": "", 80 89 "hotkey.styleDisableAll": "", 81 90 "sync.enabled": "none", 82 - "iconset": 0, 91 + "iconset": -1, 83 92 "badgeDisabled": "#8b0000", 84 93 "badgeNormal": "#006666", 85 94 "headerWidth.edit": 280, 86 95 "headerWidth.install": 280, 87 96 "headerWidth.manage": 280, 97 + "popup.search.globals": false, 88 98 "popupWidth": 246, 89 - "updateInterval": 24 99 + "popupWidthMax": 280, 100 + "updateInterval": 24, 101 + "updateOnlyEnabled": false, 102 + "popup.breadcrumbs": true, 103 + "popup.breadcrumbs.usePath": false 90 104 }, 91 105 "order": { 92 106 "main": [], ··· 98 112 "updateUrl": "https://stylishthemes.github.io/GitHub-Dark/github-dark.user.css", 99 113 "url": "https://github.com/StylishThemes/GitHub-Dark", 100 114 "installDate": 1568492195052, 101 - "sourceCode": "/* ==UserStyle==\n@name GitHub Dark\n@namespace StylishThemes\n@version 5.2.0\n@homepageURL https://github.com/StylishThemes/GitHub-Dark\n@updateURL https://stylishthemes.github.io/GitHub-Dark/github-dark.user.css\n@license BSD-2-Clause\n@author StylishThemes\n@advanced color base-color \"Base color\" #4f8cc9\n@advanced color bg-color \"Background Color\" #202020\n@advanced dropdown bg-choice \"Background\" {\n crosshatch \"Cross-Hatch\" <<<EOT\n url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAAAAABURb1YAAAFoUlEQVR4AWXWCY7kMJcDYd9DiCD4jLr/EWezJOT8vbMXy8ZngpVPlLUWbWABJFVRZyqqdqIq9O9V1gJS14KFfYzASvgS1UTF1jSqE9qgNjYVoNxLfIhCBFKhOTdPNR11KpmKk4W2LhowESMPKHHBItCg2tqoGm0VbWnXAmxIAFALPIAtCxY4VVX7jqrSGRVlJnwqfRsAIG+BZ0EmHy7Jm3NMo6KzdWXGc8ycY2zyHdOrW3hHhcQ0+uvcYlz3LQgQVyrPp2t+dUncjzHVTNFNuvhwK2Jgkfh856/INm05pjEVtWEKC6IfrmmtfPnpYZkRVTPjFztVUDsDLLCvR2WmX6RPXV/KRBQ7E0GZN5w+5+rKd2J7Ev1sFtVGlYY2oq2tgtN1SakCTkwiaxkebLZuJtjCd/OvyY1OQXXrGnAKfE67xbGq/NzemNviTWC2LjHjl6ruFucdUTTT4/wO7tQtkPd0LtO1ncs+ZrVvUXXeHue3Xt1zTD1vJlkbt8rigWhH3EUJ6HT31JYE1lp15XY1BSDaFh4asRNt0U5gqraB+UyFZJNagXh/qTxV1TY90VSVSLMX0W7dGA/4SfEZj+R7l6Hs9O6Orx5ne51Tj3Oev5E9MFWReefovrI73lzdnTziy8mTRjU1jZ99GtT52We2bmVfvqvKovqYqZ6N2GlGbRZYWM3CRKzX2bVQoMqjnbSopmlBTe3vMix227dzvqRJVR9+dT0LfJZhTyzbeaffIg6qz+muKJ2KoJ249yD3ku5kI/sJm31Mj41TrIoNVlgrolc33nTK06qPrdpRW6UTnZwnj6BuXdy6EMCqtPqcPUhS9OoC6mnYr+7p7tY10zyfLv7ovrMxfLs2y9trusGZMyW+80zU7z9Wz5D//8YusxMkP845i/Qk21Sru3W3u+aI5OtbWK3bpVVtk8c0OnuLpYVlXWQrYgFui0nAouTMy6OZtKKk5+EN9+GPs6e7aOpuewv6eL++gfnrIbiNdX7+bu0+j4rCvKo+aKdVxenV7dGtO3F1aRrP00R9sN26TNa+JsLpKYmLtZ1ZWJxGSc1UfDy7q/1Ms9ZdbuICFXJ1I5puXRt8WlXTpAsWhrrb4v7K7e3N7a5pZ4f0ed3mfy8L1iLzr3PmpDllv0nnfaaeZcj185/d/U3qj662fWwFpnsSqYvb3eN1+ky0Vclom50eTncXxA9x2cDu/F6GZcSAGrWqCe698be7qTv529jjXEVtT9GSGbktZp3G7nScj+4CTnflfXN1VXzU1uyLG88KnBSPblVBnUZFm91inYBsXW/zbG4SltE0YKtp1I5po4/tbWxYZ83PFldYiWcZCpkvaUc11Weu7iYwhltZfu3VnlGhnRHUmT6zABb+mv4u8Np/p1xTVd9XYG9x3RNybm39cWYnGkXTO9kn0fG5y7BWXKexp7v085JOxI62OyWN0pEHE/yEEgx7LSyf7rJbklTVakak3e18wHicTVlrRzeV9WzjiGrP7NqZAmt/Lv5nd518uitvVNH56W5Qwfd1AQ+YxP/UjXqfJgpm2tyhUpE0suBZFqzHNFm7uzl/l7sHnajtdf68Fs/ZWMm4gHpb/OliqjfRUf2bmBGYLJ66u5vJrpqRf5cORdupKvl7D2n06VdiMl3/sbvrdBfnL6ri+yX07933pfP801huIiaoOLm6J82c2xkfb2NPAs1Zhmva6XWuOm/W1P0+Hmz4XRnXTWpGs/cgN2nvZwsiPEBSd3Ud2XFjJNPtPCd1Zlys2zmef3Z3rU8tomK3rs5N73v3+ZXd4uY6E2GB9SzD7MbaprkJYN1rn1/dSCJrWc1U6GjbLZIp2nFZf67g4e6ucbH40Y1WwebsbrbuUjCfxGdzG/uldlA1naJI5p3j/FaARdxvZtKHfz49dIKizl9hL3Cvruf/3Sum/w07RUTLccAlwgAAAABJRU5ErkJggg==) EOT;\n uniform \"Uniform Tile\" <<<EOT\n url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAABlBMVEUfHx8aGhrh02scAAAAH0lEQVR4AWMQRAICeHn/kcAH8vSN6hvVN6pvVN+oPgAPQ4LItqOMdQAAAABJRU5ErkJggg==) EOT;\n random \"Random Tile\" <<<EOT\n url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAgMAAAANjH3HAAAACVBMVEUaGhohISElJSUh9lebAAABwElEQVR4AY3Vua3gOBgGQQXZhgKYgwHJYAA0Ksu9CAh6hxbTbvFzfx6rNEGlHY6z5KvMw4s43mN2Z5fqYLzKyrfyXhXKnKBdD9n58UWW3Vlb3mOCmWoHHZbdV5lv8t7Ver6ldsfqumVAdbblxxcZVcd7QWq2Y6VsadS4ZTzFDbFa5XivqlxVUFG1Jd6k66u8x0RIOw0cXAiNW2z58bJ5r1LTQtVVuy1x2jK+yLTlxy3v5RogszEXSB0ZF4iYWLbMMUBGPDbvpRQUVUV9kvGU6ynrIe9FOqssJcQ4oqurCjV6ytmqco4SwvGeNCoJaphwSHoK13cyuuU9ZaQI0lB1qB8zT3GL2XjKueU9pR+gH0OlqvGUzHWLQ81O0Dg95L3Uj9qxKx0pr3LdYrnlvQKlUEnV/8v4Xt6bThZROwaO5QfTUyY4GCBWu8Wf/nO4ULtj/li3mE9Z47zlx/WU94Iq7RD5XuZ6ynjIGn9yr1VhFaq2NH9s4bP4Rt5j2NFO5MBXGVsmsD5v3gslYORsd8R1i1rrIUoLKLXlvVhgKH7ApToyhk21TJhbLDvdN151vEetJtKdOtYo4SmnOvhGpjpe+xuj3X723ghdygAAAABJRU5ErkJggg==) EOT;\n custom \"Custom\" <<<EOT\n var(--ghd-bg-custom) EOT;\n none \"None\" <<<EOT\n none EOT;\n}\n@advanced text bg-custom \"Custom Background\" url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAAAAABURb1YAAAFnklEQVR4AWWXCY4cwXbE6h4JMhCvMPc/ov+3Ox9QsLCGpKlFHILd+UQ559AGDkBSFXWmomonqkL/XuUcIPUcONjHCJyE36KaqNiaRnVCG9TGpgIU9hIfohCBVGj24ammo04lU3Fy0NZDAyZi5AElHjgEGlRbG1WjraIt7TmADQkAaoEHsOXAAaeqat9RVTqjosyEH5W+DQCQt8BzIJMfXJI3e5tGRefSlRn3NrO3scnvNl26FN5RITGNfjm3GM/+FhQgnlQeImC+dEm8rzHVTNGL9EADVsTAIfGJBziRy7RlmcZU1IYpHIj+4JrWym8/XSwzompmFNVOFdTOAAfs61KZ6eXcp57fykQUOxNBmTesz2HpCnCg3UV/bA7VRpWGNqKtrYLTs0ilCjgxiZxjeLC5dDPBFn4Pn2ja6BRUL10DTgET4Focq8rn8casxV4E5tIlZvytqtfivCOKZrqc38G7egnkXecyPZdzubc57VtUnbfL+a0u3b1N3d9Mci7cKocHoh3xihLQ6fXUlgTOOfVkXSUFINoWHhqxE23RTmCqtoEJaITkIrUCkU9fnqpqm+40VSXS3CLaSzfGBb4rPuOSfN0ylLve6/jpcrbL2dTlnOdv5AamKjLvLN1XruMNS/cul/hx8twKpKYRaE2DOp8+c+lW7uVXVQ7Vx0x1G3HXjNocsHCac7NbWc6egwJVHu2kRTVNC2pqv2U4XNsv5/yWJlV9+NJ1C7xluInlcr7rK+Kg+qy7onQqgnbi7UHcS3qXjdw3bO5tumycYlVssMI5EXXpRnatPK362KodtVU60cm+eQT10sVLFwJYlVaf7UGSoi5dQF3DvnTX3UvXTPO8quKH7jsXhm/PxfKWZXqBM5sS33kmKtC31Q05fI095i5IPpyzRXqSy1Sr17p1F7NE8vMtnNbLpVVtk8c0OrfF0sKxHnIpYgHW4puMomTz8mgmrSjpvrxhX97l7LqLpl7bW9BH9/MNzF8XwRqL8/m7c30eFYV5VX3QTquK06XbLt16F4ks+8Z9m6gPtpcuk3OvibCekng4lzMHi9MoqZmKj9tdbQCbc7bcEA+oEJduRNNL1waf1tuI9MDBUK8t3k9uFz3rrqadO9Ln9TL/ezlwDvky3TW7ZmXfpc77TN0yhOXnP939LvVDV9s+tgLTm0TqYd1lea3PRFuVjLa562HdPbCfascGrvO3DMeIATVqVRO8vfHrbupdfo1dzlXUdkVLZsS1mLPG3rWcl+4B1l1537h0VXzU1tyLG7cCu+LSrSqo06hocy3WCcil65qHDbuEYzQN2HpT3jFt9LEFvHTP1nxbXOEkbhkKmd+6BTfVZ/I143z/Fyz6Za92o0I7I6gzfeYAHPwy/Rb43L9TLtMt8CtwW1xvQvbR1g9n7qJRNN1kdxcdH7cM58Szxq679MdLOhE72t6VNEpHHkzwRyjBcGth+dE99pIkVbWaEWmvnQ8Yl7Mp59zpRWXdNo6odrO754Zzvxf/010nP7onb1TR+bgbVPB9PcADJvH/043Kvk0UzLRxQ6UiaeTAcyxYl2lyrrvZv8v2wE7U1uVcST0821jJeIDKWuyxiqnuko7q3+zJYXJ46nV3D67EyL+lQ9F2qkr+3kUafQpwYE8T329p6y7OX1TF97fQv/c+l87zj7Hsgpig4qRLd9fMPs74rLGyCzRbhmVqpy7nqvPmTD1gvKe7b2U8u1QzmtuDuEtbgT3c8QBJveo6cueFkUwv59nVmfFw1jl4/unuOT9qERV76ers8n23z/c8/Xy7a4lwwLplmGusbRp33Up13+ZDN3KPxNVMhY62vUQyRTse6+cKHtZYjIfDh260Cjbb3Vy6R8H8SMBzqSwrsB1UTacoknlnOb8V4JD9Njfpwz/fHjpBUeevcAtcl65sqXPX9D87RUTLc/dfOgAAAABJRU5ErkJggg==)\n@advanced dropdown bg-options \"Background image type\" {\n Tiled \"Tiled\" <<<EOT\n background-repeat: repeat !important;\n background-size: auto !important;\n background-position: left top !important; EOT;\n Fit window size \"Fit window size\" <<<EOT\n background-repeat: no-repeat !important;\n background-size: cover !important;\n background-position: center top !important; EOT;\n}\n@advanced dropdown bg-attachment \"Background image attachment\" {\n Scroll \"Scroll\" <<<EOT\n scroll EOT;\n Fixed \"Fixed\" <<<EOT\n fixed EOT;\n}\n@advanced dropdown syntax-theme \"Github syntax theme\" {\n Twilight \"Twilight\" <<<EOT\n /*! GitHub: Twilight *\\/:root{--ghd-code-background:#141414;--ghd-code-color:#ccc}.pl-c,.pl-c span{color:#5f5a60!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#cf6a4c!important}.pl-cos{color:#8f9d6a!important}.pl-e,.pl-ef,.pl-en{color:#ac885b!important}.pl-enc{color:#cf6a4c!important}.pl-enf,.pl-enm{color:#ac885b!important}.pl-ens{color:#cf6a4c!important}.pl-ent{color:#cda869!important}.pl-entc,.pl-enti{color:#ac885b!important}.pl-entm{color:#7587a6!important}.pl-eoa{color:#cda869!important}.pl-eoac,.pl-eoac .pl-pde{color:#7587a6!important}.pl-eoai,.pl-eoai .pl-pde{color:#cda869!important}.pl-eoi{color:#ac885b!important}.pl-k{color:#cf6a4c!important}.pl-ko,.pl-kolp{color:#cda869!important}.pl-kos,.pl-kou{color:#cf6a4c!important}.pl-mai .pl-sf{color:#7587a6!important}.pl-mb{color:#8f9d6a!important}.pl-mc{color:#cda869!important}.pl-mh,.pl-mh .pl-pdh{color:#cf6a4c!important}.pl-mi{color:#cda869!important}.pl-ml{color:#8f9d6a!important}.pl-mm{color:#7587a6!important}.pl-mp{color:#c5af75!important}.pl-mp1 .pl-sf{color:#dad085!important}.pl-mq{color:#cf6a4c!important}.pl-mr,.pl-ms{color:#cda869!important}.pl-pdb{color:#8f9d6a!important}.pl-pdc{color:#5f5a60!important}.pl-pdc1,.pl-pde{color:#cf6a4c!important}.pl-pdi{color:#cda869!important}.pl-pds{color:#8f9d6a!important}.pl-pdv{color:#7587a6!important}.pl-pse,.pl-pse .pl-s2{color:#cf6a4c!important}.pl-s{color:#f9ee98!important}.pl-s1,.pl-s2{color:#ccc!important}.pl-mp .pl-s3{color:#cda869!important}.pl-s3,.pl-sc{color:#dad085!important}.pl-scp{color:#cf6a4c!important}.pl-sf{color:#dad085!important}.pl-smc{color:#ac885b!important}.pl-smi,.pl-smp{color:#ccc!important}.pl-sok{color:#cda869!important}.pl-sol{color:#8f9d6a!important}.pl-som,.pl-sr{color:#7587a6!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#cda869!important}.pl-stj{color:#7587a6!important}.pl-stp,.pl-sv,.pl-v{color:#9b859d!important}.pl-vi{color:#cf6a4c!important}.pl-vo{color:#ac885b!important}.pl-vpf{color:#7587a6!important}.pl-mdht,.pl-mi1{background:#020!important;color:#55a532!important}.pl-md,.pl-mdhf{background:#200!important;color:#bd2c00!important}.pl-mdr{color:#cf6a4c!important}.pl-mdh,.pl-mdi{color:#7587a6!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#df5000!important;color:#fff!important}.pl-mo{color:#969896!important}.pl-mri{color:teal!important}.pl-ms1{background-color:#f5f5f5!important}.pl-va,.pl-vpu{color:teal!important}.pl-entl{color:#ccc!important}.highlight .pl-corl span.x,.pl-corl{color:#f9ee98!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#ac885b!important;color:#ccc!important} EOT;\n Ambiance \"Ambiance\" <<<EOT\n /*! GitHub: Ambiance *\\/:root{--ghd-code-background:#202020;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#555!important;font-style:italic!important}.pl-c1{color:#cf7ea9!important}.pl-e,.pl-en,.pl-ent{color:#aac6e3!important}.pl-k{color:#fa8d6a!important}.pl-mb{color:#cf7ea9!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#cda869!important}.pl-mh,.pl-mh .pl-en{color:#9b859d!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#cda869!important}.pl-mq{color:#555!important}.pl-mr,.pl-ms{color:#cda869!important}.pl-pds{color:#8f9d6a!important}.pl-s{color:#aac6e3!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#8f9d6a!important}.pl-s1 .pl-s2{color:#99c!important}.pl-s1 .pl-v,.pl-s3{color:#cda869!important}.pl-sc{color:#9b859d!important}.pl-smi,.pl-smp{color:#99c!important}.pl-sr .pl-cce{color:#9b859d!important}.pl-sr,.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#dad085!important}.pl-st{color:#aac6e3!important}.pl-stj{color:#99c!important}.pl-sv{color:#cf7ea9!important}.pl-v{color:#aac6e3!important}.pl-vo,.pl-vpf{color:#99c!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#f8f8f8!important}.pl-bu,.pl-ii,.pl-md,.pl-mdhf{background:rgba(86,45,86,.75)!important;color:#f8f8f8!important}.highlight .pl-corl span.x,.pl-corl{color:#aac6e3!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#fa8d6a!important;color:#e6e1dc!important} EOT;\n Ayu Mirage \"Ayu Mirage\" <<<EOT\n /*! GitHub: Ayu Mirage *\\/:root{--ghd-code-background:#1f2430;--ghd-code-color:#cbccc6}.pl-c,.pl-c span{color:#5c6773!important;font-style:italic!important}.pl-c1{color:#ffa759!important}.pl-cce{color:#95e6cb!important}.pl-cn{color:#fc6!important}.pl-coc,.pl-cos{color:#bae67e!important}.pl-e,.pl-ef,.pl-en{color:#ffd580!important}.pl-enc{color:#5ccfe6!important}.pl-enf,.pl-enm{color:#ffd580!important}.pl-ens{color:#cbccc6!important}.pl-ent,.pl-entc,.pl-enti{color:#5ccfe6!important}.pl-enti{font-weight:700!important}.pl-entm{color:#bae67e!important}.pl-eoa{color:#ffd580!important}.pl-eoac{color:#5ccfe6!important}.pl-eoac .pl-pde{color:#5ccfe680!important}.pl-eoai{color:#ffd580!important}.pl-eoai .pl-pde{color:#cbccc6!important}.pl-eoi{color:#5ccfe6!important}.pl-k{color:#ffa759!important}.pl-ko{color:#f29e74!important}.pl-kolp{color:#cbccc6b3!important}.pl-kos{color:#cbccc6!important}.pl-kou{color:#95e6cb!important}.pl-mai .pl-sf,.pl-mb{color:#f28779!important}.pl-mb{font-weight:700!important}.pl-mc{color:#77a8d9!important}.pl-mh .pl-pdh{color:#bae67e!important}.pl-mi{color:#f28779!important;font-style:italic!important}.pl-ml{color:#ffd580!important}.pl-mm{color:#ffe6b3!important}.pl-mp{color:#5ccfe6!important}.pl-mp1 .pl-sf{color:#f28779!important}.pl-mq{color:#95e6cb!important}.pl-mr{color:#ffd580!important}.pl-ms{color:#f29e74!important}.pl-pdb{color:#bae67e!important;font-weight:700!important}.pl-pdc{color:#5c6773!important;font-style:italic!important}.pl-pdc1{color:#bae67e!important}.pl-pde{color:#5ccfe680!important}.pl-pdi{color:#f28779!important;font-style:italic!important}.pl-pds{color:#bae67e!important}.pl-pdv,.pl-pse,.pl-pse .pl-s2{color:#cbccc6!important}.pl-s{color:#bae67e!important}.pl-s1{color:#cbccc6!important}.pl-s2{color:#73d0ff!important}.pl-mp .pl-s3,.pl-s3{color:#f28779!important}.pl-sc{color:#5ccfe6!important}.pl-scp{color:#bae67e!important}.pl-sf{color:#ffa759!important}.pl-smc{color:#73d0ff!important}.pl-smi{color:#5ccfe6!important}.pl-smp{color:#bae67e!important}.pl-sok{color:#ffa759!important}.pl-sol{color:#5ccfe6!important}.pl-som{color:#bae67e!important}.pl-sr,.pl-sra,.pl-src,.pl-sre{color:#95e6cb!important}.pl-st,.pl-stj{color:#73d0ff!important}.pl-stp{color:#5ccfe6!important}.pl-sv,.pl-v,.pl-vi{color:#cbccc6!important}.pl-vo{color:#5ccfe6!important}.pl-vpf{color:#d4bfff!important}.pl-mi1{color:#a6cc70!important}.pl-mdht,.pl-mi1{background:#bae67e26!important}.pl-mdht{color:#c594c5!important}.pl-md{color:#f27983!important}.pl-md,.pl-mdhf{background:#f29e7426!important}.pl-mdhf{color:#c594c5!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c594c5!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{color:#f33!important}.pl-mo{color:#d4bfff!important}.pl-mri{color:#cbccc605!important}.pl-ms1{background-color:#cbccc60f!important;color:#5c6773!important;font-weight:700!important}.pl-va{color:#ffd580!important}.pl-vpu{color:#5ccfe6!important}.pl-entl{color:#707a8c!important}.highlight .pl-corl span.x,.pl-corl{color:#5ccfe6!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#232834!important;color:#fc6!important} EOT;\n Chaos \"Chaos\" <<<EOT\n /*! GitHub: Chaos *\\/:root{--ghd-code-background:#161616;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#555!important;font-style:italic!important}.pl-c1{color:#fdc251!important}.pl-e,.pl-en,.pl-ent{color:#974!important}.pl-k{color:#00698f!important}.pl-mb{color:#1edafb!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#00698f!important}.pl-mh,.pl-mh .pl-en{color:#fdc251!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#00698f!important}.pl-mq{color:#555!important}.pl-mr,.pl-ms{color:#00698f!important}.pl-pds{color:#58c554!important}.pl-s{color:#974!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#58c554!important}.pl-s1 .pl-s2{color:#1edafb!important}.pl-s1 .pl-v,.pl-s3{color:#00698f!important}.pl-sc{color:#999!important}.pl-smi,.pl-smp{color:#be53e6!important}.pl-sr{color:#ff308f!important}.pl-sr .pl-cce{color:#fdc251!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#ff308f!important}.pl-st{color:#e6e1dc!important}.pl-stj{color:#be53e6!important}.pl-sv{color:#1edafb!important}.pl-v{color:#974!important}.pl-vo{color:#be53e6!important}.pl-vpf{color:#974!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#fff!important}.pl-md,.pl-mdhf{background:#900!important;color:#fff!important}.pl-bu,.pl-ii{background:#900!important;color:#999!important}.highlight .pl-corl span.x,.pl-corl{color:#974!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#974!important;color:#e6e1dc!important} EOT;\n Clouds_Midnight \"Clouds_Midnight\" <<<EOT\n /*! GitHub: Clouds_Midnight *\\/:root{--ghd-code-background:#191919;--ghd-code-color:#929292}.pl-c,.pl-c span{color:#3c403b!important;font-style:italic!important}.pl-c1{color:#39946a!important}.pl-e,.pl-en,.pl-ent{color:#929292!important}.pl-k{color:#927c5d!important}.pl-mb{color:#39946a!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#927c5d!important}.pl-mh,.pl-mh .pl-en{color:#366f1a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#927c5d!important}.pl-mq{color:#3c403b!important}.pl-mr,.pl-ms{color:#927c5d!important}.pl-pds{color:#5d90cd!important}.pl-s{color:#e92e2e!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#5d90cd!important}.pl-s1 .pl-s2{color:#606060!important}.pl-s1 .pl-v,.pl-s3{color:#927c5d!important}.pl-sc{color:#366f1a!important}.pl-smi,.pl-smp{color:#606060!important}.pl-sr{color:#e92e2e!important}.pl-sr .pl-cce{color:#366f1a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-st{color:#e92e2e!important}.pl-stj{color:#606060!important}.pl-sv{color:#39946a!important}.pl-v{color:#5d90cd!important}.pl-vo,.pl-vpf{color:#606060!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#fff!important}.pl-md,.pl-mdhf{background:#e92e2e!important;color:#fff!important}.pl-bu,.pl-ii{background:#e92e2e!important;color:#ddd!important}.highlight .pl-corl span.x,.pl-corl{color:#e92e2e!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#929292!important;color:#191919!important} EOT;\n Cobalt \"Cobalt\" <<<EOT\n /*! GitHub: Cobalt *\\/:root{--ghd-code-background:#002240;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#08f!important;font-style:italic!important}.pl-c1{color:#ff628c!important}.pl-e,.pl-en{color:#ff9d00!important}.pl-ent{color:#fd0!important}.pl-k{color:#eb939a!important}.pl-mb{color:#ff628c!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#ff9d00!important}.pl-mh,.pl-mh .pl-en{color:#eb939a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#ff9d00!important}.pl-mq{color:#08f!important}.pl-mr,.pl-ms{color:#ff9d00!important}.pl-pds,.pl-s,.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#3ad900!important}.pl-s1 .pl-s2{color:#ccc!important}.pl-s1 .pl-v{color:#3ad900!important}.pl-s3,.pl-sc{color:#ffb054!important}.pl-smi,.pl-smp{color:#ccc!important}.pl-sr{color:#80ffc2!important}.pl-sr .pl-cce{color:#eb939a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#80ffc2!important}.pl-st{color:#ff9d00!important}.pl-stj{color:#ccc!important}.pl-sv{color:#ff628c!important}.pl-v{color:#fd0!important}.pl-vo,.pl-vpf{color:#ccc!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#f8f8f8!important}.pl-md,.pl-mdhf{background:#800f00!important;color:#f8f8f8!important}.pl-bu,.pl-ii{background:#800f00!important;color:#ff628c!important}.highlight .pl-corl span.x,.pl-corl{color:#3ad900!important;text-decoration:underline!important}.highlight-source-js .pl-st{color:#ffee80!important}.highlight-source-css .pl-s3{color:#80ffbb!important}.highlight-text-html-basic .pl-ent{color:#9effff!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#002240!important} EOT;\n Dracula \"Dracula\" <<<EOT\n /*! GitHub: Dracula *\\/:root{--ghd-code-background:#282a36;--ghd-code-color:#f8f8f2}.pl-c,.pl-c span{color:#6272a4!important}.pl-c1{color:#bd93f9!important}.pl-cce{color:#ff79c6!important}.pl-cn,.pl-coc{color:#bd93f9!important}.pl-cos{color:#f1fa8c!important}.pl-e,.pl-ef,.pl-en{color:#50fa7b!important}.pl-enc{color:#8be9fd!important}.pl-enf,.pl-enm{color:#50fa7b!important}.pl-ens{color:#8be9fd!important}.pl-ent,.pl-entc{color:#ff79c6!important}.pl-entc{font-style:italic!important}.pl-enti{font-weight:italic!important}.pl-enti,.pl-entm{color:#8be9fd!important}.pl-eoa,.pl-eoac,.pl-eoac .pl-pde,.pl-eoai,.pl-eoai .pl-pde{color:#50fa7b!important}.pl-eoi{color:#8be9fd!important;font-style:italic}.pl-k,.pl-ko,.pl-kolp{color:#ff79c6!important}.pl-kos,.pl-kou,.pl-mai .pl-sf{color:#8be9fd!important}.pl-mb{color:#ffb86c!important;font-weight:700!important}.pl-mc{color:#e6db74!important}.pl-mh .pl-pdh{color:#8be9fd!important}.pl-mi{color:#ffb86c!important;font-style:italic!important}.pl-ml,.pl-mm{color:#ff79c6!important}.pl-mp,.pl-mp1 .pl-sf{color:#8be9fd!important}.pl-mq{color:#6272a4!important;font-style:italic}.pl-mr,.pl-ms{color:#ff79c6!important}.pl-pdb{color:#ffb86c!important;font-weight:700!important}.pl-pdc{color:#6272a4!important;font-style:italic!important}.pl-pdc1{color:#bd93f9!important}.pl-pde{color:#8be9fd!important}.pl-pdi{color:#ffb86c!important;font-style:italic!important}.pl-pds,.pl-pdv{color:#f8f8f2!important}.pl-pse,.pl-pse .pl-s2{color:#ff79c6!important}.pl-s{color:#f1fa8c!important}.pl-s1{color:#f8f8f2!important}.pl-mp .pl-s3,.pl-s3,.pl-sc,.pl-scp{color:#66d9ef!important;font-style:italic!important}.pl-sf{color:#8be9fd!important}.pl-smc{color:#ff79c6!important}.pl-smi{color:#f8f8f2!important}.pl-smp,.pl-sok{color:#ff79c6!important}.pl-sol{color:#effb7b!important}.pl-som{color:#50fa7b!important}.pl-sr,.pl-sra,.pl-src,.pl-sre{color:#f55!important}.pl-st{color:#66d9ef!important}.pl-st,.pl-stj{font-style:italic!important}.pl-stj,.pl-stp,.pl-sv{color:#f8f8f2!important}.pl-v{color:#bd93f9!important}.pl-vi{color:#ff79c6!important}.pl-vo{color:#fff!important}.pl-vpf{color:#ffb86c!important;font-style:italic!important}.pl-mdht,.pl-mi1{background:rgba(80,250,123,.25)!important;color:#50fa7b!important}.pl-md,.pl-mdhf{background:rgba(255,121,198,.25)!important;color:#ff79c6!important}.pl-mdh,.pl-mdi,.pl-mdr{color:#6272a4!important;font-weight:400!important}.pl-bu{background-color:#bd93f9!important;color:#f8f8f2!important}.pl-ii,.pl-ii .pl-cce{background-color:#ff79c6!important;color:#f8f8f2!important}.pl-mo{color:#ffb86c!important}.pl-mri{color:#50fa7b!important}.pl-ms1{color:#6272a4!important}.pl-va,.pl-vpu{color:#66d9ef!important}.pl-entl{color:#ffb86c!important}.highlight .pl-corl span.x,.pl-corl{color:#effb7b!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#50fa7b!important;color:#282a36!important} EOT;\n GitHub Dark \"GitHub Dark\" <<<EOT\n /*! GitHub: GitHub Dark *\\/:root{--ghd-code-background:#141414;--ghd-code-color:#ccc}/*!\n * GitHub Dark v0.5.0\n * Copyright (c) 2012 - 2017 GitHub, Inc.\n * Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE)\n *\\/.pl-c{color:#959da5}.pl-c1,.pl-s .pl-v{color:#c8e1ff}.pl-e,.pl-en{color:#b392f0}.pl-s .pl-s1,.pl-smi{color:#f6f8fa}.pl-ent{color:#7bcc72}.pl-k{color:#ea4a5a}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:#79b8ff}.pl-ml,.pl-v{color:#fb8532}.pl-bu{color:#d73a49}.pl-c2,.pl-ii{background-color:#d73a49;color:#fafbfc}.pl-c2:before{content:\"^M\"}.pl-sr .pl-cce{color:#7bcc72;font-weight:700}.pl-mh,.pl-mh .pl-en,.pl-ms{color:#0366d6;font-weight:700}.pl-mi{color:#f6f8fa;font-style:italic}.pl-mb{color:#f6f8fa;font-weight:700}.pl-md{background-color:#300;color:#d73a49}.pl-mi1{background-color:#121;color:#7bcc72}.pl-mc{background-color:#261d08;color:#b08800}.pl-mi2{background-color:#959da5;color:#2f363d}.pl-mdr{color:#b392f0;font-weight:700}.pl-mo{color:#0366d6}.pl-ba{color:#ffeef0}.pl-sg{color:#6a737d}.pl-corl{color:#79b8ff;text-decoration:underline}.pl-token.active,.pl-token:hover{background:#b392f0;color:#141414} EOT;\n Idle Fingers \"Idle Fingers\" <<<EOT\n /*! GitHub: Idle Fingers *\\/:root{--ghd-code-background:#323232;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#bc9458!important;font-style:italic!important}.pl-c1{color:#6c99bb!important}.pl-cce,.pl-cn,.pl-coc{color:#cc7833!important}.pl-cos{color:#a5c261!important}.pl-e{color:#ffc66d!important}.pl-ef{color:#b83426!important}.pl-en{color:#ffc66d!important}.pl-enc{color:#cc7833!important}.pl-enf,.pl-enm{color:#b83426!important}.pl-ens{color:#cc7833!important}.pl-ent{color:#ffe5bb!important}.pl-entc,.pl-enti{color:#b83426!important}.pl-enti{font-weight:700!important}.pl-entm{color:#b83426!important}.pl-eoa{color:#ffe5bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#b83426!important}.pl-eoai,.pl-eoai .pl-pde{color:#ffe5bb!important}.pl-eoi{color:#b83426!important}.pl-k{color:#cc7833!important}.pl-ko,.pl-kolp{color:#ffe5bb!important}.pl-kos,.pl-kou{color:#cc7833!important}.pl-mai .pl-sf{color:#b83426!important}.pl-mb{color:#a5c261!important;font-weight:700!important}.pl-mc{color:#ffe5bb!important}.pl-mh .pl-pdh{color:#cc7833!important}.pl-mi{color:#ffe5bb!important;font-style:italic!important}.pl-ml{color:#a5c261!important}.pl-mm{color:#b83426!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#cc7833!important}.pl-mr,.pl-ms{color:#ffe5bb!important}.pl-pdb{color:#a5c261!important;font-weight:700!important}.pl-pdc{color:#bc9458!important;font-style:italic!important}.pl-pdc1{color:#6c99bb!important}.pl-pde{color:#cc7833!important}.pl-pdi{color:#ffe5bb!important;font-style:italic!important}.pl-pds{color:#a5c261!important}.pl-pdv{color:#b83426!important}.pl-pse,.pl-pse .pl-s2,.pl-s{color:#cc7833!important}.pl-s1{color:#a5c261!important}.pl-s2{color:#fff!important}.pl-mp .pl-s3{color:#cc7833!important}.pl-s3{color:#ffe5bb!important}.pl-sc{color:#ffc66d!important}.pl-scp{color:#6c99bb!important}.pl-sf{color:#ffc66d!important}.pl-smc{color:#b83426!important}.pl-smi,.pl-smp{color:#ffc66d!important}.pl-sok{color:#ffe5bb!important}.pl-sol{color:#a5c261!important}.pl-som,.pl-sr{color:#b83426!important}.pl-sra,.pl-src,.pl-sre{color:#cc3!important}.pl-st{color:#cc7833!important}.pl-stj{color:#fff!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#cc7833!important}.pl-vo{color:#fff!important}.pl-vpf{color:#cc7833!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#a5c261!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#b83426!important}.pl-mdr{color:#cc7833!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#ffc66d!important;font-weight:400!important}.pl-bu,.pl-ii{background-color:#b83426!important;color:#fff!important}.pl-mo{color:#ffc66d!important}.pl-mri{color:#cc7833!important}.pl-ms1{background-color:#ffc66d!important}.pl-va,.pl-vpu{color:#cc7833!important}.pl-entl{color:#ffc66d!important}.highlight .pl-corl span.x,.pl-corl{color:#cc7833!important;text-decoration:underline!important}.highlight-text-html-basic .pl-ent{color:#cc7833!important}.pl-token.active,.pl-token:hover{background:#ffc66f!important;color:#323232!important} EOT;\n KR theme \"KR theme\" <<<EOT\n /*! GitHub: KR theme *\\/:root{--ghd-code-background:#0b0a09;--ghd-code-color:#fcffe0}.pl-c,.pl-c span{color:#706d5b!important;font-style:italic!important}.pl-c1{color:rgba(210,117,24,.76)!important}.pl-e,.pl-en{color:#fcffe0!important}.pl-ent{color:#babd9c!important}.pl-k{color:#949c8b!important}.pl-mb{color:rgba(210,117,24,.76)!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#949c8b!important}.pl-mh,.pl-mh .pl-en{color:#9fc28a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#949c8b!important}.pl-mq{color:#706d5b!important}.pl-mr,.pl-ms{color:#949c8b!important}.pl-pds{color:rgba(164,161,181,.8)!important}.pl-s{color:#949c8b!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:rgba(164,161,181,.8)!important}.pl-s1 .pl-s2{color:#babd9c!important}.pl-s1 .pl-v{color:#949c8b!important}.pl-s3{color:#85873a!important}.pl-sc{color:#fcffe0!important}.pl-smi,.pl-smp{color:#babd9c!important}.pl-sr{color:rgba(125,255,192,.65)!important}.pl-sr .pl-cce{color:#9fc28a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:rgba(125,255,192,.65)!important}.pl-st{color:#949c8b!important}.pl-stj{color:#babd9c!important}.pl-sv{color:rgba(210,117,24,.76)!important}.pl-v{color:#fcffe0!important}.pl-vo,.pl-vpf{color:#d1a796!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#f8f8f8!important}.pl-md,.pl-mdhf{background:#a41300!important;color:#f8f8f8!important}.pl-bu,.pl-ii{background:#a41300!important;color:#d1a796!important}.highlight .pl-corl span.x,.pl-corl{color:#949c8b!important;text-decoration:underline!important}.highlight-source-js .pl-s3,.highlight-source-js .pl-v{color:#ff80e1!important}.highlight-source-js .pl-st{color:#ffee80!important}.pl-token.active,.pl-token:hover{background:#fcffe0!important;color:#0b0a09!important} EOT;\n Merbivore Soft \"Merbivore Soft\" <<<EOT\n /*! GitHub: Merbivore Soft *\\/:root{--ghd-code-background:#1c1c1c;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#ad2ea4!important;font-style:italic!important}.pl-c1{color:#b3e5b4!important}.pl-e,.pl-en{color:#e1c582!important}.pl-ent{font-style:italic!important}.pl-ent,.pl-k{color:#fc6f09!important}.pl-mb{color:#8ec65f!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#fc6f09!important}.pl-mh,.pl-mh .pl-en{color:#8ec65f!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#fc6f09!important}.pl-mq{color:#ad2ea4!important}.pl-mr,.pl-ms{color:#fc6f09!important}.pl-pds{color:#8ec65f!important}.pl-s{color:#fc6f09!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#8ec65f!important}.pl-s1 .pl-s2,.pl-s1 .pl-v{color:#fc6f09!important}.pl-s3{color:#e6e1dc!important}.pl-sc{color:#68c1d8!important}.pl-smi,.pl-smp,.pl-sr{color:#fc6f09!important}.pl-sr .pl-cce{color:#b3e5b4!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#e1c582!important}.pl-st,.pl-stj{color:#fc6f09!important}.pl-sv{color:#8ec65f!important}.pl-v{color:#fc6f09!important}.pl-vo,.pl-vpf{color:#e6e1dc!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#e6e1dc!important}.pl-md,.pl-mdhf{background:#fe3838!important;color:#e6e1dc!important}.pl-bu,.pl-ii{background:#fe3838!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#fc6f09!important;text-decoration:underline!important}.highlight-source-css .pl-e{color:#e6e1dc!important}.highlight-source-js .pl-c1{color:#e1c582!important}.highlight-source-js .pl-sc{color:#e6e1dc!important}.highlight-text-html-php .pl-s3{color:#fc6f09!important}.highlight-source-css .pl-s3{color:#68c1d8!important}.highlight-source-python .pl-c1{color:#e1c582!important}.pl-token.active,.pl-token:hover{background:#fc6f09!important;color:#e6e1dc!important} EOT;\n Merbivore \"Merbivore\" <<<EOT\n /*! GitHub: Merbivore *\\/:root{--ghd-code-background:#161616;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#ad2ea4!important;font-style:italic!important}.pl-c1{color:#519f50!important}.pl-e,.pl-en{color:#fdc251!important}.pl-ent,.pl-k{color:#fc6f09!important}.pl-mb{color:#8dff0a!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#fc6f09!important}.pl-mh,.pl-mh .pl-en{color:#8dff0a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#fc6f09!important}.pl-mq{color:#ad2ea4!important}.pl-mr,.pl-ms{color:#fc6f09!important}.pl-pds{color:#8dff0a!important}.pl-s{color:#fc6f09!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#8dff0a!important}.pl-s1 .pl-s2,.pl-s1 .pl-v{color:#fc6f09!important}.pl-s3{color:#e6e1dc!important}.pl-sc{color:#1edafb!important}.pl-smi,.pl-smp,.pl-sr{color:#fc6f09!important}.pl-sr .pl-cce{color:#519f50!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#fdc251!important}.pl-st,.pl-stj{color:#fc6f09!important}.pl-sv{color:#8dff0a!important}.pl-v{color:#fc6f09!important}.pl-vo,.pl-vpf{color:#e6e1dc!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#e6e1dc!important}.pl-md,.pl-mdhf{background:#900!important;color:#e6e1dc!important}.pl-bu,.pl-ii{background:#900!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#fc6f09!important;text-decoration:underline!important}.highlight-source-css .pl-e{color:#e6e1dc!important}.highlight-source-js .pl-c1{color:#fdc251!important}.highlight-source-js .pl-sc{color:#e6e1dc!important}.highlight-text-html-php .pl-s3{color:#fc6f09!important}.highlight-source-css .pl-s3{color:#1edafb!important}.highlight-source-python .pl-c1{color:#fdc251!important}.pl-token.active,.pl-token:hover{background:#fc6f09!important;color:#e6e1dc!important} EOT;\n Mono Industrial clear \"Mono Industrial clear\" <<<EOT\n /*! GitHub: Mono Industrial clear *\\/:root{--ghd-code-background:#222c28;--ghd-code-color:#fff}.pl-c,.pl-c span{background-color:#304830!important;color:#666c68!important}.pl-c1{color:#e98800!important}.pl-e,.pl-en{color:#a8b3ab!important}.pl-ent,.pl-k{color:#a39e64!important}.pl-mb{color:#e98800!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#a39e64!important}.pl-mh,.pl-mh .pl-en{color:#5778b6!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#a39e64!important}.pl-mq{color:#666c68!important}.pl-mr,.pl-ms{color:#a39e64!important}.pl-pds{color:#fff!important}.pl-s{color:#c23b00!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#fff!important}.pl-s1 .pl-s2{color:#c23b00!important}.pl-s1 .pl-v{color:#a39e64!important}.pl-s3{color:#5778b6!important}.pl-sc{color:#fff!important}.pl-smi,.pl-smp{color:#c23b00!important}.pl-sr{background-color:#151c19!important;color:#fff!important}.pl-sr .pl-cce{color:#5778b6!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-st,.pl-stj{color:#c23b00!important}.pl-sv{color:#e98800!important}.pl-v{color:#5778b6!important}.pl-vo{color:#a8b3ab!important}.pl-vpf{color:#5778b6!important}.pl-mi1{background:rgba(0,150,0,.68)!important}.pl-mdht,.pl-mi1{color:#fff!important}.pl-mdht{background:rgba(0,153,0,.68)!important}.pl-md,.pl-mdhf{background:rgba(153,0,0,.68)!important;color:#fff!important}.pl-bu,.pl-ii{background:#c23b00!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#c23b00!important;text-decoration:underline!important}.highlight-source-css .pl-ent{color:#e98800!important}.highlight-text-html-php .pl-s,.highlight-text-html-php .pl-st{color:#a39e64!important}.highlight-text-html-php .pl-s3{color:#588e60!important}.highlight-source-python .pl-st{color:#a39e64!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#222c28!important} EOT;\n Mono Industrial \"Mono Industrial\" <<<EOT\n /*! GitHub: Mono Industrial *\\/:root{--ghd-code-background:#222c28;--ghd-code-color:#fff}.pl-c,.pl-c span{background-color:#151c19!important;color:#666c68!important}.pl-c1{color:#e98800!important}.pl-e,.pl-en{color:#a8b3ab!important}.pl-ent,.pl-k{color:#a39e64!important}.pl-mb{color:#e98800!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#a39e64!important}.pl-mh,.pl-mh .pl-en{color:#5778b6!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#a39e64!important}.pl-mq{color:#666c68!important}.pl-mr,.pl-ms{color:#a39e64!important}.pl-pds{color:#fff!important}.pl-s{color:#c23b00!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#fff!important}.pl-s1 .pl-s2{color:#c23b00!important}.pl-s1 .pl-v{color:#a39e64!important}.pl-s3{color:#5778b6!important}.pl-sc{color:#fff!important}.pl-smi,.pl-smp{color:#c23b00!important}.pl-sr{background-color:#151c19!important;color:#fff!important}.pl-sr .pl-cce{color:#5778b6!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-st,.pl-stj{color:#c23b00!important}.pl-sv{color:#e98800!important}.pl-v{color:#5778b6!important}.pl-vo{color:#a8b3ab!important}.pl-vpf{color:#5778b6!important}.pl-mdht,.pl-mi1{background:rgba(0,153,0,.68)!important;color:#fff!important}.pl-md,.pl-mdhf{background:rgba(153,0,0,.68)!important;color:#fff!important}.pl-bu,.pl-ii{background:#c23b00!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#c23b00!important;text-decoration:underline!important}.highlight-source-css .pl-ent{color:#e98800!important}.highlight-text-html-php .pl-s,.highlight-text-html-php .pl-st{color:#a39e64!important}.highlight-text-html-php .pl-s3{color:#588e60!important}.highlight-source-python .pl-st{color:#a39e64!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#222c28!important} EOT;\n Monokai - Spacegray Eighties \"Monokai - Spacegray Eighties\" <<<EOT\n /*! GitHub: Monokai - Spacegray Eighties *\\/:root{--ghd-code-background:#1c1c1c;--ghd-code-color:#f8f8f8}.pl-c,.pl-c span{color:grey!important}.pl-c1,.pl-cce{color:#66d9ef!important}.pl-cn,.pl-coc{color:#ae81ff!important}.pl-cos{color:#e6db74!important}.pl-e{color:#f92672!important}.pl-ef{color:#a6e22e!important}.pl-en{color:#f92672!important}.pl-enc{color:#66d9ef!important}.pl-enf,.pl-enm{color:#a6e22e!important}.pl-ens{color:#66d9ef!important}.pl-ent{color:#f92672!important}.pl-entc,.pl-enti{color:#a6e22e!important}.pl-enti{font-weight:700!important}.pl-entm{color:#a6e22e!important}.pl-eoa{color:#f92672!important}.pl-eoac,.pl-eoac .pl-pde{color:#a6e22e!important}.pl-eoai,.pl-eoai .pl-pde{color:#f92672!important}.pl-eoi,.pl-k{color:#a6e22e!important}.pl-ko,.pl-kolp{color:#f92672!important}.pl-kos,.pl-kou{color:#66d9ef!important}.pl-mai .pl-sf{color:#a6e22e!important}.pl-mb{color:#e6db74!important;font-weight:700!important}.pl-mc{color:#f92672!important}.pl-mh .pl-pdh{color:#66d9ef!important}.pl-mi{color:#f92672!important;font-style:italic!important}.pl-ml{color:#e6db74!important}.pl-mm{color:#a6e22e!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#66d9ef!important}.pl-mr,.pl-ms{color:#f92672!important}.pl-pdb{color:#e6db74!important;font-weight:700!important}.pl-pdc{color:#75715e!important;font-style:italic!important}.pl-pdc1{color:#ae81ff!important}.pl-pde{color:#66d9ef!important}.pl-pdi{color:#f92672!important;font-style:italic!important}.pl-pds{color:#f8f8f8!important}.pl-pdv{color:#a6e22e!important}.pl-pse,.pl-pse .pl-s2{color:#66d9ef!important}.pl-s,.pl-s1{color:#e6db74!important}.pl-s2{color:#f8f8f8!important}.pl-mp .pl-s3{color:#66d9ef!important}.pl-s3{color:#f92672!important}.pl-sc{color:#fd971f!important}.pl-scp{color:#ae81ff!important}.pl-sf{color:#fd971f!important}.pl-smc{color:#f92672!important}.pl-smi{color:#fd971f!important}.pl-smp,.pl-sok{color:#f92672!important}.pl-sol{color:#e6db74!important}.pl-som,.pl-sr{color:#a6e22e!important}.pl-sra,.pl-src,.pl-sre{color:#f92672!important}.pl-st{color:#66d9ef!important}.pl-stj{color:#f8f8f8!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#f92672!important}.pl-vo{color:#a6e22e!important}.pl-vpf{color:#f92672!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#a6e22e!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#f92672!important}.pl-mdr{color:#66d9ef!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#a6e22e!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#f92672!important;color:#272822!important}.pl-mo{color:#fd971f!important}.pl-mri{color:#66d9ef!important}.pl-ms1{background-color:#fd971f!important}.pl-va,.pl-vpu{color:#66d9ef!important}.pl-entl{color:#fd971f!important}.highlight .pl-corl span.x,.pl-corl{color:#e6db74!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#a6e22e!important;color:#1c1c1c!important} EOT;\n Monokai \"Monokai\" <<<EOT\n /*! GitHub: Monokai *\\/:root{--ghd-code-background:#272822;--ghd-code-color:#f8f8f2}.pl-c,.pl-c span{color:#75715e!important;font-style:italic!important}.pl-c1{color:#ae81ff!important}.pl-cce,.pl-cn,.pl-coc{color:#66d9ef!important}.pl-cos{color:#e6db74!important}.pl-e,.pl-ef,.pl-en{color:#a6e22e!important}.pl-enc{color:#66d9ef!important}.pl-enf,.pl-enm{color:#a6e22e!important}.pl-ens{color:#66d9ef!important}.pl-ent{color:#f92672!important}.pl-entc,.pl-enti{color:#a6e22e!important}.pl-enti{font-weight:700!important}.pl-entm{color:#a6e22e!important}.pl-eoa{color:#f92672!important}.pl-eoac,.pl-eoac .pl-pde{color:#a6e22e!important}.pl-eoai,.pl-eoai .pl-pde{color:#f92672!important}.pl-eoi{color:#a6e22e!important}.pl-k,.pl-ko,.pl-kolp{color:#f92672!important}.pl-kos,.pl-kou{color:#66d9ef!important}.pl-mai .pl-sf{color:#a6e22e!important}.pl-mb{color:#e6db74!important;font-weight:700!important}.pl-mc{color:#f92672!important}.pl-mh .pl-pdh{color:#66d9ef!important}.pl-mi{color:#f92672!important;font-style:italic!important}.pl-ml{color:#e6db74!important}.pl-mm{color:#a6e22e!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#66d9ef!important}.pl-mr,.pl-ms{color:#f92672!important}.pl-pdb{color:#e6db74!important;font-weight:700!important}.pl-pdc{color:#75715e!important;font-style:italic!important}.pl-pdc1{color:#ae81ff!important}.pl-pde{color:#66d9ef!important}.pl-pdi{color:#f92672!important;font-style:italic!important}.pl-pds{color:#e6db74!important}.pl-pdv{color:#a6e22e!important}.pl-pse,.pl-pse .pl-s2{color:#66d9ef!important}.pl-s,.pl-s1{color:#e6db74!important}.pl-s2{color:#f8f8f2!important}.pl-mp .pl-s3{color:#66d9ef!important}.pl-s3{color:#f92672!important}.pl-sc{color:#fd971f!important}.pl-scp{color:#ae81ff!important}.pl-sf{color:#fd971f!important}.pl-smc{color:#f92672!important}.pl-smi{color:#66d9ef!important}.pl-smp,.pl-sok{color:#f92672!important}.pl-sol{color:#e6db74!important}.pl-som,.pl-sr{color:#a6e22e!important}.pl-sra,.pl-src,.pl-sre{color:#f92672!important}.pl-st{color:#66d9ef!important}.pl-stj{color:#f8f8f2!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#66d9ef!important}.pl-vo{color:#a6e22e!important}.pl-vpf{color:#66d9ef!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#a6e22e!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#f92672!important}.pl-mdr{color:#66d9ef!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#a6e22e!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#a6e22e!important;color:#272822!important}.pl-mo{color:#fd971f!important}.pl-mri{color:#66d9ef!important}.pl-ms1{background-color:#fd971f!important}.pl-va,.pl-vpu{color:#66d9ef!important}.pl-entl{color:#fd971f!important}.highlight .pl-corl span.x,.pl-corl{color:#e6db74!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#a6e22e!important;color:#272822!important} EOT;\n Obsidian \"Obsidian\" <<<EOT\n /*! GitHub: Obsidian *\\/:root{--ghd-code-background:#293134;--ghd-code-color:#e0e2e4}.pl-c,.pl-c span{color:#66747b!important;font-style:italic!important}.pl-c1{color:#ffcd22!important}.pl-e,.pl-en{color:#93c763!important}.pl-ent,.pl-k{color:#e0e2e4!important}.pl-mb{color:#ec7600!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#93c763!important}.pl-mh,.pl-mh .pl-en{color:#66747b!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#93c763!important}.pl-mq{color:#66747b!important}.pl-mr,.pl-ms{color:#93c763!important}.pl-pds,.pl-s{color:#ec7600!important}.pl-s1{color:#e0e2e4!important}.pl-s1 .pl-pse .pl-s2{color:#ec7600!important}.pl-s1 .pl-s2{color:#e0e2e4!important}.pl-s1 .pl-v,.pl-s3{color:#93c763!important}.pl-sc{color:#96989a!important}.pl-smi,.pl-smp{color:#e0e2e4!important}.pl-sr{color:#d39745!important}.pl-sr .pl-cce{color:#ffcd22!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#d39745!important}.pl-st{color:#da4236!important}.pl-stj{color:#e0e2e4!important}.pl-sv{color:#ec7600!important}.pl-v{color:#678cb1!important}.pl-vo,.pl-vpf{color:#e0e2e4!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#e0e2e4!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#e0e2e4!important}.pl-bu,.pl-ii{background:#400000!important;color:#da4236!important}.highlight .pl-corl span.x,.pl-corl{color:#ec7600!important;text-decoration:underline!important}.pl-c1>.pl-c1{color:#678cb1!important}.pl-token.active,.pl-token:hover{background:#678cb1!important;color:#e0e2e4!important} EOT;\n One Dark \"One Dark\" <<<EOT\n /*! GitHub: One Dark *\\/:root{--ghd-code-background:#141414;--ghd-code-color:#abb2bf}.pl-c,.pl-c span{color:#5c6370!important;font-style:italic!important}.pl-c1{color:#d19a66!important}.pl-sr .pl-cce{color:#56b6c2!important;font-weight:400!important}.pl-cn,.pl-e{color:#d19a66!important}.pl-ef{color:#61afef!important}.pl-en{color:#d19a66!important}.pl-enc{color:#e5c07b!important}.pl-enf{color:#61afef!important}.pl-enm{color:#abb2bf!important}.pl-ens{color:#be5046!important}.pl-ent{color:#e06c75!important}.pl-entc{color:#e5c07b!important}.pl-enti{color:#56b6c2!important}.pl-entm{color:#e06c75!important}.pl-eoa,.pl-eoac,.pl-eoac .pl-pde{color:#d19a66!important}.pl-eoai{color:#61afef!important}.pl-eoi{color:#98c379!important}.pl-k{color:#c678dd!important}.pl-ko{color:#abb2bf!important}.pl-kolp{color:#c678dd!important}.pl-kos{color:#61afef!important}.pl-kou{color:#d19a66!important}.pl-mai .pl-sf{color:#56b6c2!important}.pl-mb{color:#d19a66!important;font-weight:700!important}.pl-mc{color:#c678dd!important}.pl-mh{color:#e06c75!important}.pl-mh .pl-pdh{color:#61afef!important}.pl-mi{color:#c678dd!important;font-style:italic!important}.pl-ml{color:#56b6c2!important}.pl-mm{color:#d19a66!important}.pl-mp{color:#828997!important}.pl-mp1 .pl-sf{color:#abb2bf!important}.pl-mq{color:#d19a66!important}.pl-mr{color:#61afef!important}.pl-ms{color:#abb2bf!important}.pl-pdb{color:#e5c07b!important;font-weight:700!important}.pl-pdc{color:#5c6370!important;font-style:italic!important}.pl-pdc1{color:#abb2bf!important}.pl-pde,.pl-pdi{color:#c678dd!important}.pl-pdi{font-style:italic!important}.pl-pds{color:#98c379!important}.pl-pdv{color:#e06c75!important}.pl-pse .pl-s1{color:#98c379!important}.pl-pse .pl-s2{color:#e5c07b!important}.pl-s,.pl-s1{color:#98c379!important}.pl-s2{color:#e5c07b!important}.pl-mp .pl-s3,.pl-s3{color:#d19a66!important}.pl-sc{color:#e5c07b!important}.pl-scp{color:#abb2bf!important}.pl-sf{color:#56b6c2!important}.pl-smc{color:#abb2bf!important}.pl-smi{color:#e06c75!important}.pl-smp{color:#e5c07b!important}.pl-sok{color:#d19a66!important}.pl-sol{color:#e06c75!important}.pl-som{color:#abb2bf!important}.pl-sr,.pl-sr .pl-sra,.pl-src{color:#56b6c2!important}.pl-sr .pl-sre{color:#e5c07b!important}.pl-st{color:#56b6c2!important}.pl-stj{color:#e5c07b!important}.pl-stp{color:#828997!important}.pl-sv{color:#d19a66!important}.pl-v{color:#e5c07b!important}.pl-vi{color:#be5046!important}.pl-vo{color:#56b6c2!important}.pl-vpf{color:#abb2bf!important}.pl-mdht,.pl-mi1{background:#020!important;color:#98c379!important}.pl-md,.pl-mdhf{background:#200!important;color:#e06c75!important}.pl-mdr{color:#abb2bf!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#e06c75!important;font-weight:400!important}.pl-corl{color:#e06c75!important;text-decoration:underline!important}.pl-ib{background-color:#e06c75!important}.pl-bu,.pl-ii{background-color:#e05252!important}.pl-mo{color:#abb2bf!important}.pl-mri{color:#98c379!important}.pl-ms1{background-color:#373b41!important}.pl-ms1,.pl-va,.pl-vpu{color:#abb2bf!important}.pl-entl{color:#e06c75!important}.pl-token.active,.pl-token:hover{background:#61afef!important;color:#141414!important} EOT;\n Pastel on Dark \"Pastel on Dark\" <<<EOT\n /*! GitHub: Pastel on Dark *\\/:root{--ghd-code-background:#2c2828;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#a6c6ff!important;font-style:italic!important}.pl-c1{color:#a5c261!important}.pl-cce{color:#afa472!important}.pl-cn{color:#ccc!important}.pl-coc{color:#757ad8!important}.pl-cos{color:#66a968!important}.pl-e{color:#e6e1dc!important}.pl-ef{color:#aeb2f8!important}.pl-en{color:#e6e1dc!important}.pl-enc{color:#757ad8!important}.pl-enf,.pl-enm{color:#aeb2f8!important}.pl-ens{color:#757ad8!important}.pl-ent{color:#6782d3!important}.pl-entc,.pl-enti{color:#aeb2f8!important}.pl-enti{font-weight:700!important}.pl-entm{color:#aeb2f8!important}.pl-eoa{color:#e6e1dc!important}.pl-eoac,.pl-eoac .pl-pde{color:#aeb2f8!important}.pl-eoai,.pl-eoai .pl-pde{color:#e6e1dc!important}.pl-eoi{color:#aeb2f8!important}.pl-k{color:#757ad8!important}.pl-ko,.pl-kolp{color:#e6e1dc!important}.pl-kos,.pl-kou{color:#757ad8!important}.pl-mai .pl-sf{color:#aeb2f8!important}.pl-mb{color:#66a968!important;font-weight:700!important}.pl-mc{color:#e6e1dc!important}.pl-mh .pl-pdh{color:#757ad8!important}.pl-mi{color:#e6e1dc!important;font-style:italic!important}.pl-ml{color:#66a968!important}.pl-mm{color:#aeb2f8!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#757ad8!important}.pl-mr,.pl-ms{color:#e6e1dc!important}.pl-pdb{color:#66a968!important;font-weight:700!important}.pl-pdc{color:#a6c6ff!important;font-style:italic!important}.pl-pdc1{color:#4fb7c5!important}.pl-pde{color:#757ad8!important}.pl-pdi{color:#e6e1dc!important;font-style:italic!important}.pl-pds{color:#ad9361!important}.pl-pdv{color:#aeb2f8!important}.pl-pse,.pl-pse .pl-s2,.pl-s{color:#757ad8!important}.pl-s1{color:#ad9361!important}.pl-s2{color:#8f938f!important}.pl-mp .pl-s3{color:#757ad8!important}.pl-s3{color:#e6e1dc!important}.pl-sc{color:#757ad8!important}.pl-scp{color:#4fb7c5!important}.pl-sf{color:#bebf55!important}.pl-smc{color:#aeb2f8!important}.pl-smi,.pl-smp{color:#bebf55!important}.pl-sok{color:#e6e1dc!important}.pl-sol{color:#66a968!important}.pl-som,.pl-sr{color:#aeb2f8!important}.pl-sra{color:#797878!important}.pl-src,.pl-sre{color:#e9c062!important}.pl-st{color:#a5c261!important}.pl-stj{color:#8f938f!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#757ad8!important}.pl-vo{color:#a5c261!important}.pl-vpf{color:#757ad8!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#66a968!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#aeb2f8!important}.pl-mdr{color:#757ad8!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#bebf55!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#aeb2f8!important;color:#fff!important}.pl-mo{color:#bebf55!important}.pl-mri{color:#757ad8!important}.pl-ms1{background-color:#bebf55!important}.pl-va,.pl-vpu{color:#757ad8!important}.pl-entl{color:#bebf55!important}.highlight .pl-corl span.x,.pl-corl{color:#757ad8!important;text-decoration:underline!important}.highlight-source-css .pl-v{color:#ad9361!important}.highlight-text-html-basic .pl-e{color:#6782d3!important}.highlight-text-tex .pl-s3{color:#757ad8!important}.pl-token.active,.pl-token:hover{background:#757ad8!important;color:#e6e1dc!important} EOT;\n Railscasts \"Railscasts\" <<<EOT\n /*! GitHub: Railscasts *\\/:root{--ghd-code-background:#282828;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#bc9458!important;font-style:italic!important}.pl-c1{color:#6d9cbe!important}.pl-sr .pl-cce{font-weight:400!important}.pl-cn,.pl-sr .pl-cce{color:#a5c261!important}.pl-coc{color:#6d9cbe!important}.pl-cos{color:#cc7833!important}.pl-e,.pl-ef,.pl-en{color:#ffc66d!important}.pl-enc{color:#fff!important}.pl-enf,.pl-enm{color:#ffc66d!important}.pl-ens,.pl-ent{color:#fff!important}.pl-entc,.pl-enti{color:#ffc66d!important}.pl-enti{font-weight:700!important}.pl-entm{color:#ffc66d!important}.pl-eoa{color:#fff!important}.pl-eoac,.pl-eoac .pl-pde{color:#ffc66d!important}.pl-eoai,.pl-eoai .pl-pde{color:#fff!important}.pl-eoi{color:#ffc66d!important}.pl-k,.pl-ko,.pl-kolp{color:#cc7833!important}.pl-kos,.pl-kou{color:#6d9cbe!important}.pl-mai .pl-sf{color:#ffc66d!important}.pl-mb{color:#cc7833!important;font-weight:700!important}.pl-mc,.pl-mh{color:#fff!important}.pl-mh{font-weight:400!important}.pl-mh .pl-pdh{color:#fff!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml{color:#cc7833!important}.pl-mm{color:#ffc66d!important}.pl-mp{color:#fff!important}.pl-mp1 .pl-sf{color:#ffc66d!important}.pl-mq{color:#fff!important}.pl-mr,.pl-ms,.pl-pdb{color:#cc7833!important}.pl-pdb{font-weight:700!important}.pl-pdc{color:#bc9458!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#fff!important}.pl-pdi{font-style:italic!important}.pl-pdi,.pl-pds{color:#cc7833!important}.pl-pdv{color:#ffc66d!important}.pl-pse,.pl-pse .pl-s1{color:#a5c261!important}.pl-pse .pl-s2{color:#e6e1dc!important}.pl-s{color:#a5c261!important}.pl-s1{color:#cc7833!important}.pl-s2{color:#ccc!important}.pl-mp .pl-s3,.pl-s3,.pl-sc{color:#cc7833!important}.pl-scp{color:#fff!important}.pl-sf{color:#cc7833!important}.pl-smc{color:#da4939!important}.pl-smi{color:#d0d0ff!important}.pl-smp{color:#ccc!important}.pl-sok{color:#da4939!important}.pl-sol{color:#cc7833!important}.pl-som,.pl-sr{color:#ffc66d!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#da4939!important}.pl-st{color:#cc7833!important}.pl-stj{color:#ccc!important}.pl-stp,.pl-sv{color:#cc7833!important}.pl-v{color:#d0d0ff!important}.pl-vi{color:#cc7833!important}.pl-vo{color:#ffc66d!important}.pl-vpf{color:#cc7833!important}.pl-mi1{background:#200!important;color:#a6e22e!important}.pl-mdht{background:#2f33ab!important;color:#e6e1dc!important}.pl-md{background:#200!important;color:#f92672!important}.pl-mdhf{background:#2f33ab!important;color:#e6e1dc!important}.pl-mdr{color:#fff!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#ffc66d!important;font-weight:400!important}.pl-corl{text-decoration:underline!important}.pl-bu,.pl-ii{background-color:#900!important;color:#fff!important}.pl-mo{color:#969896!important}.pl-mri{color:teal!important}.pl-ms1{background-color:#f5f5f5!important}.pl-va,.pl-vpu{color:teal!important}.pl-entl{color:#ccc!important}.highlight .pl-corl span.x,.pl-corl{color:#a5c261!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#ffc66d!important;color:#282828!important} EOT;\n Solarized Dark \"Solarized Dark\" <<<EOT\n /*! GitHub: Solarized Dark *\\/:root{--ghd-code-background:#002b36;--ghd-code-color:#839496}.pl-c,.pl-c span{color:#586e75!important;font-style:italic!important}.pl-c1{color:#2aa198!important}.pl-e,.pl-en,.pl-ent{color:#268bd2!important}.pl-k{color:#859900!important}.pl-mb{color:#2aa198!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#859900!important}.pl-mh,.pl-mh .pl-en{color:#cb4b16!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#859900!important}.pl-mq{color:#586e75!important}.pl-mr,.pl-ms{color:#859900!important}.pl-pds{color:#2aa198!important}.pl-s{color:#268bd2!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#2aa198!important}.pl-s1 .pl-s2{color:#839496!important}.pl-s1 .pl-v,.pl-s3{color:#859900!important}.pl-sc{color:#cb4b16!important}.pl-smi,.pl-smp{color:#839496!important}.pl-sr{color:#d30102!important}.pl-sr .pl-cce{color:#cb4b16!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#d30102!important}.pl-st{color:#dc322f!important}.pl-stj{color:#839496!important}.pl-sv{color:#2aa198!important}.pl-v{color:#268bd2!important}.pl-vo,.pl-vpf{color:#839496!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#839496!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#839496!important}.pl-bu,.pl-ii{background:#400000!important;color:#839496!important}.highlight .pl-corl span.x,.pl-corl{color:#268bd2!important;text-decoration:underline!important}.highlight-source-css .pl-k{color:#586e75!important}.highlight-source-c\\+\\+ .pl-s{color:#dc322f!important}.pl-token.active,.pl-token:hover{background:#268bd2!important;color:#002b36!important} EOT;\n Terminal \"Terminal\" <<<EOT\n /*! GitHub: Terminal *\\/:root{--ghd-code-background:#000;--ghd-code-color:#dedede}.pl-c,.pl-c span{color:#ff4500!important;font-style:italic!important}.pl-c1{color:#e78c45!important}.pl-e,.pl-en{color:#d54e53!important}.pl-ent,.pl-k{color:tomato!important}.pl-mb{color:#e78c45!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:tomato!important}.pl-mh,.pl-mh .pl-en{color:#b9ca4a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:tomato!important}.pl-mq{color:#ff4500!important}.pl-mr,.pl-ms{color:tomato!important}.pl-pds{color:#b9ca4a!important}.pl-s{color:tomato!important}.pl-s1{color:#b9ca4a!important}.pl-s1 .pl-pse .pl-s2{color:#e78c45!important}.pl-s1 .pl-s2{color:#7aa6da!important}.pl-s1 .pl-v{color:tomato!important}.pl-s3{color:#d54e53!important}.pl-sc{color:#dedede!important}.pl-smi,.pl-smp{color:#7aa6da!important}.pl-sr{color:#d54e53!important}.pl-sr .pl-cce{color:#b9ca4a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#d54e53!important}.pl-st{color:tomato!important}.pl-stj{color:#7aa6da!important}.pl-sv{color:#e78c45!important}.pl-v{color:#d54e53!important}.pl-vo{color:#7aa6da!important}.pl-vpf{color:#e78c45!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#dedede!important}.pl-md,.pl-mdhf{background:red!important;color:#dedede!important}.pl-bu,.pl-ii{background:#900!important;color:tomato!important}.highlight .pl-corl span.x,.pl-corl{color:tomato!important;text-decoration:underline!important}.highlight-source-css .pl-k{color:#dedede!important}.highlight-source-css .pl-s3,.highlight-source-css .pl-sc{color:#e7c547!important}.highlight-source-css .pl-ent{color:#dedede!important}.highlight-text-html-basic .pl-ent{color:#d54e53!important}.highlight-source-js .pl-k{color:#ff1493!important}.highlight-text-html-php .pl-s3{color:#7aa6da!important}.highlight-text-html-php .pl-vo{color:#d54e53!important}.highlight-source-python .pl-s3{color:#7aa6da!important}.pl-token.active,.pl-token:hover{background:#dedede!important;color:tomato!important} EOT;\n Tomorrow Night Blue \"Tomorrow Night Blue\" <<<EOT\n /*! GitHub: Tomorrow Night Blue *\\/:root{--ghd-code-background:#002451;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#000!important} EOT;\n Tomorrow Night Bright \"Tomorrow Night Bright\" <<<EOT\n /*! GitHub: Tomorrow Night Bright *\\/:root{--ghd-code-background:#000;--ghd-code-color:#dedede}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#000!important} EOT;\n Tomorrow Night Eighties \"Tomorrow Night Eighties\" <<<EOT\n /*! GitHub: Tomorrow Night Eighties *\\/:root{--ghd-code-background:#000;--ghd-code-color:#ccc}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#000!important} EOT;\n Tomorrow Night \"Tomorrow Night\" <<<EOT\n /*! GitHub: Tomorrow Night *\\/:root{--ghd-code-background:#1d1f21;--ghd-code-color:#c5c8c6}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#1d1f21!important} EOT;\n Vibrant Ink \"Vibrant Ink\" <<<EOT\n /*! GitHub: Vibrant Ink *\\/:root{--ghd-code-background:#0f0f0f;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#93c!important;font-style:italic!important}.pl-c1{color:#399!important}.pl-e,.pl-en{color:#f60!important}.pl-ent{color:#fc0!important}.pl-k{color:#9c9!important}.pl-mb{color:#6f0!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#f60!important}.pl-mh,.pl-mh .pl-en{color:#9c9!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#f60!important}.pl-mq{color:#93c!important}.pl-mr,.pl-ms{color:#f60!important}.pl-pds{color:#6f0!important}.pl-s{color:#fc0!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#6f0!important}.pl-s1 .pl-s2{color:#399!important}.pl-s1 .pl-v{color:#f60!important}.pl-s3{color:#fc0!important}.pl-sc{color:#fff!important}.pl-smi,.pl-smp{color:#399!important}.pl-sr{color:#44b4cc!important}.pl-sr .pl-cce{color:#9c9!important}.pl-sr .pl-sra,.pl-sr .pl-sre{color:#44b4cc!important}.pl-src{color:#6f0!important}.pl-st{color:#f60!important}.pl-stj{color:#399!important}.pl-sv{color:#6f0!important}.pl-v{color:#fc0!important}.pl-vo{color:#399!important}.pl-vpf{color:#fff!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#fff!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#fff!important}.pl-bu,.pl-ii{background:#400000!important;color:#f60!important}.highlight .pl-corl span.x,.pl-corl{color:#fc0!important;text-decoration:underline!important}.highlight-source-css .pl-c1{color:#9c9!important}.highlight-source-css .pl-ent{color:#399!important}.highlight-source-css .pl-s3{color:#fff!important}.highlight-source-css .pl-sc{color:#399!important}.highlight-text-html-basic .pl-ent{color:#f60!important}.highlight-text-html-basic .pl-e{color:#9c9!important}.highlight-source-js .pl-vpf{color:#fc0!important}.highlight-text-html-php .pl-s,.highlight-text-html-php .pl-s3{color:#f60!important}.highlight-text-html-php .pl-vo{color:#fc0!important}.highlight-source-c\\+\\+ .pl-s3{color:#fff!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#f60!important} EOT;\n}\n@advanced dropdown syntax-codemirror \"CodeMirror syntax theme\" {\n Twilight \"Twilight\" <<<EOT\n /*! CodeMirror: Twilight *\\/.CodeMirror-gutters{background:#222!important;border-right:1px solid #484848!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#aaa!important}.CodeMirror-cursor{border-left:1px solid #fff!important}.CodeMirror-activeline-background{background:#27282e!important}.CodeMirror-matchingbracket{color:#fff!important;outline:1px solid grey!important}.cm-keyword{color:#f9ee98!important}.cm-atom{color:#fc0!important}.cm-number{color:#ca7841!important}.cm-def{color:#8da6ce!important}.cm-variable-2,.cm-variable-3,span.cm-def,span.cm-tag{color:#607392!important}.cm-operator{color:#cda869!important}.cm-comment{color:#777!important;font-style:italic!important;font-weight:400!important}.cm-string{color:#8f9d6a!important}.cm-string-2{color:#bd6b18!important}.cm-meta{background-color:#141414!important;color:#f7f7f7!important}.cm-builtin{color:#cda869!important}.cm-tag{color:#997643!important}.cm-attribute{color:#d6bb6d!important}.cm-header{color:#ff6400!important}.cm-hr{color:#aeaeae!important}.cm-link{color:#ad9361!important;font-style:italic!important;text-decoration:none!important}.cm-error{border-bottom:1px solid red!important} EOT;\n Ambiance \"Ambiance\" <<<EOT\n /*! CodeMirror: Ambiance *\\/.cm-header{color:blue!important}.cm-quote{color:#24c2c7!important}.cm-keyword{color:#cda869!important}.cm-atom{color:#cf7ea9!important}.cm-number{color:#78cf8a!important}.cm-def{color:#aac6e3!important}.cm-variable{color:#ffb795!important}.cm-variable-2{color:#eed1b3!important}.cm-variable-3{color:#faded3!important}.cm-property{color:#eed1b3!important}.cm-operator{color:#fa8d6a!important}.cm-comment{color:#555!important;font-style:italic!important}.cm-string{color:#8f9d6a!important}.cm-string-2{color:#9d937c!important}.cm-meta{color:#d2a8a1!important}.cm-qualifier{color:#ff0!important}.cm-builtin{color:#99c!important}.cm-bracket{color:#24c2c7!important}.cm-tag{color:#fee4ff!important}.cm-attribute{color:#9b859d!important}.cm-hr{color:pink!important}.cm-link{color:#f4c20b!important}.cm-special{color:#ff9d00!important}.cm-error{color:#af2018!important}.CodeMirror-matchingbracket{color:#0f0!important}.CodeMirror-nonmatchingbracket{color:#f22!important}.CodeMirror-selected{background:hsla(0,0%,100%,.15)!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror{background-color:#202020!important;-webkit-box-shadow:inset 0 0 10px #000!important;-moz-box-shadow:inset 0 0 10px #000!important;box-shadow:inset 0 0 10px #000!important;color:#e6e1dc!important;line-height:1.4em!important}.CodeMirror-gutters{background:#3d3d3d!important;border-right:1px solid #4d4d4d!important;box-shadow:0 10px 20px #000!important}.CodeMirror-linenumber{color:#111!important;padding:0 5px!important;text-shadow:0 1px 1px #4d4d4d!important}.CodeMirror-guttermarker{color:#aaa!important}.CodeMirror-guttermarker-subtle{color:#111!important}.CodeMirror-cursor{border-left:1px solid #7991e8!important}.CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)!important} EOT;\n Base16 Ocean Dark \"Base16 Ocean Dark\" <<<EOT\n /*! CodeMirror: Base16 Ocean Dark *\\/.CodeMirror{background:#2b303b!important;color:#dfe1e8!important}div.CodeMirror-selected{background:#343d46!important}.CodeMirror-gutters{background:#2b303b!important;border-right:0!important}.CodeMirror-linenumber{color:#65737e!important}.CodeMirror-cursor{border-left:1px solid #a7adba!important}span.cm-comment{color:#ab7967!important}span.cm-atom,span.cm-number{color:#b48ead!important}span.cm-attribute,span.cm-property{color:#a3be8c!important}span.cm-keyword{color:#bf616a!important}span.cm-string{color:#ebcb8b!important}span.cm-variable{color:#a3be8c!important}span.cm-variable-2{color:#8fa1b3!important}span.cm-def{color:#d08770!important}span.cm-error{background:#bf616a!important;color:#a7adba!important}span.cm-bracket{color:#dfe1e8!important}span.cm-tag{color:#bf616a!important}span.cm-link{color:#b48ead!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Cobalt \"Cobalt\" <<<EOT\n /*! CodeMirror: Cobalt *\\/.CodeMirror{background:#002240!important;color:#fff!important}div.CodeMirror-selected{background:#b36539!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)!important}.CodeMirror-gutters{background:#002240!important;border-right:1px solid #aaa!important}.CodeMirror-guttermarker{color:#ffee80!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#d0d0d0!important}.CodeMirror-cursor{border-left:1px solid #fff!important}.cm-comment{color:#08f!important}.cm-atom{color:#845dc4!important}.cm-number,span.cm-attribute{color:#ff80e1!important}.cm-keyword{color:#ffee80!important}.cm-string{color:#3ad900!important}.cm-meta{color:#ff9d00!important}.cm-variable-2,span.cm-tag{color:#9effff!important}.cm-variable-3,span.cm-def{color:#fff!important}.cm-bracket{color:#d8d8d8!important}.cm-builtin,span.cm-special{color:#ff9e59!important}.cm-link{color:#845dc4!important}.cm-error{color:#9d1e15!important}.CodeMirror-activeline-background{background:#002d57!important}.CodeMirror-matchingbracket{color:#fff!important;outline:1px solid grey!important} EOT;\n Dracula \"Dracula\" <<<EOT\n /*! CodeMirror: Dracula *\\/.CodeMirror,.CodeMirror-gutters{background-color:#282a36!important;border:none!important;color:#f8f8f2!important}.CodeMirror-gutters{color:#282a36!important}.CodeMirror-cursor{border-left:thin solid #f8f8f0!important}.CodeMirror-linenumber{color:#6d8a88!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}span.cm-comment{color:#6272a4!important}span.cm-string,span.cm-string-2{color:#f1fa8c!important}span.cm-number{color:#bd93f9!important}span.cm-variable{color:#50fa7b!important}span.cm-variable-2{color:#fff!important}span.cm-def{color:#ffb86c!important}span.cm-keyword,span.cm-operator{color:#ff79c6!important}span.cm-atom{color:#bd93f9!important}span.cm-meta{color:#f8f8f2!important}span.cm-tag{color:#ff79c6!important}span.cm-attribute,span.cm-qualifier{color:#50fa7b!important}span.cm-property{color:#66d9ef!important}span.cm-builtin,span.cm-variable-3{color:#50fa7b!important}.CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Material \"Material\" <<<EOT\n /*! CodeMirror: Material *\\/.CodeMirror{background-color:#263238!important;color:#e9eded!important}.CodeMirror-gutters{background:#263238!important;border:none!important}.CodeMirror-guttermarker,.CodeMirror-guttermarker-subtle,.CodeMirror-gutters,.CodeMirror-linenumber{color:#537f7e!important}.CodeMirror-cursor{border-left:1px solid #f8f8f0!important}div.CodeMirror-selected{background:hsla(0,0%,100%,.15)!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-activeline-background{background:transparent!important}.cm-keyword{color:#c792ea!important}.cm-operator{color:#e9eded!important}.cm-variable-2{color:#80cbc4!important}.cm-type,.cm-variable-3{color:#82b1ff!important}.cm-builtin{color:#decb6b!important}.cm-atom,.cm-number{color:#f77669!important}.cm-def{color:#e9eded!important}.cm-string{color:#c3e88d!important}.cm-string-2{color:#80cbc4!important}.cm-comment{color:#546e7a!important}.cm-variable{color:#82b1ff!important}.cm-meta,.cm-tag{color:#80cbc4!important}.cm-attribute{color:#ffcb6b!important}.cm-property{color:#80cbae!important}.cm-qualifier,.cm-type,.cm-variable-3{color:#decb6b!important}.cm-tag{color:#ff5370!important}.cm-error{background-color:#ec5f67!important;color:#fff!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Monokai - Spacegray Eighties \"Monokai - Spacegray Eighties\" <<<EOT\n /*! CodeMirror: Monokai - Spacegray Eighties *\\/.CodeMirror{background:#1c1c1c!important;color:#f8f8f8!important}.CodeMirror-selected{background:#3c3c3c!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(44,44,44,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(44,44,44,.99)!important}.CodeMirror-gutters{background:#1c1c1c!important;border-right:0!important}.CodeMirror-guttermarker{color:#b9b9b9!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#8a8a8a!important}.CodeMirror-cursor{border-left:1px solid #f8f8f0!important}.cm-comment{color:grey!important}.cm-atom,.cm-number{color:#ae81ff!important}.cm-property,span.cm-attribute{color:#a6e22e!important}.cm-keyword{color:#66d9ef!important;font-style:italic!important}.cm-builtin{color:#f8f8f8!important}.cm-string{color:#e6db74!important}.cm-variable{color:#f8f8f8!important}.cm-variable-2{color:#9effff!important}.cm-variable-3{color:#ae81ff!important}.cm-def{color:#66d9ef!important;font-style:italic!important}.cm-bracket{color:#f8f8f8!important}.cm-tag{color:#f92672!important}.cm-header,.cm-link{color:#ae81ff!important}.cm-error{background:#1e0010!important;color:#960050!important}.CodeMirror-activeline-background{background:#2c2c2c!important}.CodeMirror-matchingbracket{color:#f8f8f8!important;text-decoration:underline!important} EOT;\n Monokai \"Monokai\" <<<EOT\n /*! CodeMirror: Monokai *\\/.CodeMirror{background:#272822!important;color:#f8f8f2!important}.CodeMirror-selected{background:#49483e!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(73,72,62,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(73,72,62,.99)!important}.CodeMirror-gutters{background:#272822!important;border-right:0!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#d0d0d0!important}.CodeMirror-cursor{border-left:1px solid #f8f8f0!important}.cm-comment{color:#75715e!important}.cm-atom,.cm-number{color:#ae81ff!important}.cm-property,span.cm-attribute{color:#a6e22e!important}.cm-keyword{color:#f92672!important}.cm-builtin{color:#66d9ef!important}.cm-string{color:#e6db74!important}.cm-variable{color:#f8f8f2!important}.cm-variable-2{color:#9effff!important}.cm-variable-3{color:#66d9ef!important}.cm-def{color:#fd971f!important}.cm-bracket{color:#f8f8f2!important}.cm-tag{color:#f92672!important}.cm-header,.cm-link{color:#ae81ff!important}.cm-error{background:#f92672!important;color:#f8f8f0!important}.CodeMirror-activeline-background{background:#373831!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n One Dark \"One Dark\" <<<EOT\n /*! CodeMirror: One Dark *\\/.CodeMirror,.CodeMirror-scroll{background-color:#141414!important;color:#abb2bf!important;font-weight:300}.CodeMirror-matchingbracket{background-color:rgba(204,217,255,.09)!important;border-bottom:1px solid #528bff!important;color:#abb2bf!important}.CodeMirror-selected{background:rgba(204,217,255,.05)!important}.CodeMirror-focused .CodeMirror-selected{background:rgba(204,217,255,.09)!important}.CodeMirror-lines{padding:4px 0!important}.CodeMirror pre{padding:0 4px!important}.CodeMirror-gutter,.CodeMirror-gutters{background:transparent!important;border:none!important;white-space:nowrap!important}.CodeMirror-linenumber{color:#393e46!important;min-width:20px!important;padding:0 30px!important;text-align:right!important;white-space:nowrap!important}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#ccc!important}.CodeMirror-cursor{border-left:2px solid #528bff!important}.CodeMirror-activeline{color:#5c6370!important}.CodeMirror-overwrite .CodeMirror-cursor{border-bottom:1px solid #abb2bf!important;border-left:none!important}.cm-header{color:#e06c75!important}.cm-header .cm-em{color:#c678dd!important;font-style:italic!important}.cm-header .cm-strong{color:#d19a66!important;font-weight:700!important}.cm-quote{color:#d19a66!important;font-style:italic!important}.cm-keyword{color:#c678dd!important}.cm-atom,.cm-number{color:#d19a66!important}.cm-def{color:#e06c75!important}.cm-variable{color:#e5c07b!important}.cm-variable-2{color:#d19a66!important}.cm-variable-3{color:#56b6c2!important}.cm-property{color:#d19a66!important}.cm-operator{color:#abb2bf!important}.cm-comment{color:#5c6370!important;font-style:italic!important}.cm-string,.cm-string-2{color:#98c379!important}.cm-meta,.cm-qualifier{color:#d19a66!important}.cm-builtin{color:#61afef!important}.cm-bracket{color:#abb2bf!important}.cm-tag{color:#e06c75!important}.cm-attribute{color:#d19a66!important}.cm-link{border-bottom:1px solid #e06c75!important;color:#e06c75!important;cursor:pointer!important}.cm-em{color:#c678dd!important;font-style:italic}.cm-strong{color:#e5c07b!important;font-weight:700}.cm-punctuation{color:#5c6370!important}.cm-positive{color:#98c379!important}.cm-negative{color:#e06c75!important} EOT;\n Pastel on Dark \"Pastel on Dark\" <<<EOT\n /*! CodeMirror: Pastel on Dark *\\/.CodeMirror-selected{background:rgba(221,240,255,.2)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)!important}.CodeMirror-gutters{background:#34302f!important;border-right:0!important;padding:0 3px!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#8f938f!important}.CodeMirror-cursor{border-left:1px solid #a7a7a7!important}.cm-comment{color:#a6c6ff!important}.cm-atom{color:#de8e30!important}.cm-number{color:#ccc!important}.cm-property{color:#8f938f!important}.cm-attribute{color:#a6e22e!important}.cm-keyword{color:#aeb2f8!important}.cm-string{color:#66a968!important}.cm-variable{color:#aeb2f8!important}.cm-variable-2{color:#bebf55!important}.cm-variable-3{color:#de8e30!important}.cm-def{color:#757ad8!important}.cm-bracket{color:#f8f8f2!important}.cm-tag{color:#c1c144!important}.cm-link{color:#ae81ff!important}.cm-qualifier,span.cm-builtin{color:#c1c144!important}.cm-error{background:#757ad8!important;color:#f8f8f0!important}.CodeMirror-activeline-background{background:hsla(0,0%,100%,.031)!important}.CodeMirror-matchingbracket{border:1px solid hsla(0,0%,100%,.25)!important;color:#8f938f!important;margin:-1px -1px 0!important} EOT;\n Railscasts \"Railscasts\" <<<EOT\n /*! CodeMirror: Railscasts *\\/.CodeMirror{background:#2b2b2b!important;color:#f4f1ed!important}.CodeMirror-selected{background:#272935!important}.CodeMirror-gutters{background:#2b2b2b!important;border-right:0!important}.CodeMirror-linenumber{color:#5a647e!important}.CodeMirror-cursor{border-left:1px solid #d4cfc9!important}.cm-comment{color:#bc9458!important}.cm-atom,.cm-number{color:#b6b3eb!important}.cm-attribute,.cm-property{color:#a5c261!important}.cm-keyword{color:#da4939!important}.cm-string{color:#ffc66d!important}.cm-variable{color:#a5c261!important}.cm-variable-2{color:#6d9cbe!important}.cm-def{color:#cc7833!important}.cm-error{background:#da4939!important;color:#d4cfc9!important}.cm-bracket{color:#f4f1ed!important}.cm-tag{color:#da4939!important}.cm-link{color:#b6b3eb!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important}.CodeMirror-activeline-background{background:#303040!important} EOT;\n Solarized Dark \"Solarized Dark\" <<<EOT\n /*! CodeMirror: Solarized Dark *\\/.CodeMirror-widget{text-shadow:none!important}.cm-header{color:#586e75!important}.cm-quote{color:#93a1a1!important}.cm-keyword{color:#cb4b16!important}.cm-atom,.cm-number{color:#d33682!important}.cm-def{color:#2aa198!important}.cm-variable{color:#839496!important}.cm-variable-2{color:#b58900!important}.cm-variable-3{color:#6c71c4!important}.cm-property{color:#2aa198!important}.cm-operator{color:#6c71c4!important}.cm-comment{color:#586e75!important;font-style:italic!important}.cm-string{color:#859900!important}.cm-string-2{color:#b58900!important}.cm-meta{color:#859900!important}.cm-qualifier{color:#b58900!important}.cm-builtin{color:#d33682!important}.cm-bracket{color:#cb4b16!important}.CodeMirror-matchingbracket{color:#859900!important}.CodeMirror-nonmatchingbracket{color:#dc322f!important}.cm-tag{color:#93a1a1!important}.cm-attribute{color:#2aa198!important}.cm-hr{border-top:1px solid #586e75!important;color:transparent!important;display:block!important}.cm-link{color:#93a1a1!important;cursor:pointer!important}.cm-special{color:#6c71c4!important}.cm-em{color:#999!important;text-decoration:underline!important;text-decoration-style:dotted!important}.cm-strong{color:#eee!important}.cm-error,.cm-invalidchar{border-bottom:1px dotted #dc322f!important;color:#586e75!important}.CodeMirror-selected{background:#073642!important}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(7,54,66,.99)!important}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000!important;-webkit-box-shadow:inset 7px 0 12px -6px #000!important;box-shadow:inset 7px 0 12px -6px #000!important}.CodeMirror-gutters{background-color:#073642!important;border-right:0!important}.CodeMirror-linenumber{padding:0 5px!important;text-shadow:#021014 0 -1px!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#586e75!important}.CodeMirror-guttermarker{color:#ddd!important}.CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75!important}.CodeMirror-cursor{border-left:1px solid #819090!important}.CodeMirror-activeline-background{background:hsla(0,0%,100%,.06)!important} EOT;\n Tomorrow Night Bright \"Tomorrow Night Bright\" <<<EOT\n /*! CodeMirror: Tomorrow Night Bright *\\/.CodeMirror-selected{background:#424242!important}.CodeMirror-gutters{background:#000!important;border-right:0!important}.CodeMirror-guttermarker{color:#e78c45!important}.CodeMirror-guttermarker-subtle{color:#777!important}.CodeMirror-linenumber{color:#424242!important}.CodeMirror-cursor{border-left:1px solid #6a6a6a!important}.cm-comment{color:#d27b53!important}.cm-atom,.cm-number{color:#a16a94!important}.cm-property,span.cm-attribute{color:#9c9!important}.cm-keyword{color:#d54e53!important}.cm-string{color:#e7c547!important}.cm-variable{color:#b9ca4a!important}.cm-variable-2{color:#7aa6da!important}.cm-def{color:#e78c45!important}.cm-bracket{color:#eaeaea!important}.cm-tag{color:#d54e53!important}.cm-link{color:#a16a94!important}.cm-error{background:#d54e53!important;color:#6a6a6a!important}.CodeMirror-activeline-background{background:#2a2a2a!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Tomorrow Night Eighties \"Tomorrow Night Eighties\" <<<EOT\n /*! CodeMirror: Tomorrow Night Eighties *\\/.CodeMirror-selected{background:#2d2d2d!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(45,45,45,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(45,45,45,.99)!important}.CodeMirror-gutters{background:#000!important;border-right:0!important}.CodeMirror-guttermarker{color:#f2777a!important}.CodeMirror-guttermarker-subtle{color:#777!important}.CodeMirror-linenumber{color:#515151!important}.CodeMirror-cursor{border-left:1px solid #6a6a6a!important}.cm-comment{color:#d27b53!important}.cm-atom,.cm-number{color:#a16a94!important}.cm-property,span.cm-attribute{color:#9c9!important}.cm-keyword{color:#f2777a!important}.cm-string{color:#fc6!important}.cm-variable{color:#9c9!important}.cm-variable-2{color:#69c!important}.cm-def{color:#f99157!important}.cm-bracket{color:#ccc!important}.cm-tag{color:#f2777a!important}.cm-link{color:#a16a94!important}.cm-error{background:#f2777a!important;color:#6a6a6a!important}.CodeMirror-activeline-background{background:#343600!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Vibrant Ink \"Vibrant Ink\" <<<EOT\n /*! CodeMirror: Vibrant Ink *\\/.CodeMirror-selected{background:#35493c!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(53,73,60,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(53,73,60,.99)!important}.CodeMirror-gutters{background:#002240!important;border-right:1px solid #aaa!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#d0d0d0!important}.CodeMirror-cursor{border-left:1px solid #fff!important}.cm-keyword{color:#cc7832!important}.cm-atom{color:#fc0!important}.cm-number{color:#ffee98!important}.cm-def{color:#8da6ce!important}.cm-s-vibrant span.cm-def,.cm-s-vibrant span.cm-tag,.cm-variable-2,.cm-variable-3{color:#ffc66d!important}.cm-operator{color:#888!important}.cm-comment{color:gray!important;font-weight:700!important}.cm-string{color:#a5c25c!important}.cm-string-2{color:red!important}.cm-meta{color:#d8fa3c!important}.cm-attribute,.cm-builtin,.cm-tag{color:#8da6ce!important}.cm-header{color:#ff6400!important}.cm-hr{color:#aeaeae!important}.cm-link{color:blue!important}.cm-error{border-bottom:1px solid red!important}.CodeMirror-activeline-background{background:#27282e!important}.CodeMirror-matchingbracket{color:#fff!important;outline:1px solid grey!important} EOT;\n}\n@advanced dropdown syntax-jupyter \"Jupyter syntax theme\" {\n Twilight \"Twilight\" <<<EOT\n /*! Jupyter: Twilight *\\/#notebook div.output_stderr{background:#420e09!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#141414!important;color:#ccc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {border:#b22518!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#5f5a60!important;font-style:italic!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#cda869!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#141414!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#5f5a60!important;font-style:italic!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#5f5a60!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#5f5a60!important;font-style:italic!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#5f5a60!important;font-style:italic!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {background:#420e09!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {background:#b22518!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:navy!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background:#253b22!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:purple!important;font-weight:700!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#e9df8f!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#9b703f!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#f9ee98!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#cda869!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#9b859d!important;font-weight:700!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#9b859d!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#7587a6!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#cf6a4c!important;font-weight:700!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#9b703f!important;font-weight:700!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#9b859d!important;font-weight:700!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#cda869!important;font-weight:700!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#7587a6!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#a2f!important;font-weight:700!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#cf6a4c!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#cf6a4c!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#cf6a4c!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#cf6a4c!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#8f9d6a!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#8f9d6a!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#8f9d6a!important;font-style:italic!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#8f9d6a!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#f9ee98!important;font-weight:700!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#8f9d6a!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#daefa3!important;font-weight:700!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#8f9d6a!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#e9c062!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#8f9d6a!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#cf6a4c!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#0aa!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#7587a6!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#7587a6!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#7587a6!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#099!important} EOT;\n Base16 Ocean Dark \"Base16 Ocean Dark\" <<<EOT\n /*! Jupyter: Base16 Ocean Dark *\\/#notebook div.output_stderr{background:#bf616a!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2b303b!important;color:#eff1f5!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#4f5b66!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#bf616a!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#65737e!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#b48ead!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#d08770!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#d08770!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#eff1f5!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#96b5b4!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#eff1f5!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#a3be8c!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#eff1f5!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#65737e!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#65737e!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#65737e!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#65737e!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#bf616a!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#eff1f5!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#a3be8c!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#65737e!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#96b5b4!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#b48ead!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#b48ead!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#96b5b4!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#b48ead!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#b48ead!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#ebcb8b!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#a3be8c!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#8fa1b3!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#eff1f5!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#ebcb8b!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#bf616a!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#96b5b4!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#eff1f5!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#bf616a!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#8fa1b3!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#eff1f5!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#ebcb8b!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#8fa1b3!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#eff1f5!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#96b5b4!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#bf616a!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#96b5b4!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#d08770!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#d08770!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#d08770!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#d08770!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#a3be8c!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#eff1f5!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#65737e!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#a3be8c!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#d08770!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#a3be8c!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#d08770!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#a3be8c!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#a3be8c!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#a3be8c!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#a3be8c!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#eff1f5!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#bf616a!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#bf616a!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#bf616a!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#d08770!important} EOT;\n Dracula theme \"Dracula theme\" <<<EOT\n /*! Jupyter: Dracula theme *\\/#notebook div.output_stderr{background:#8b080b!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#282a36!important;color:#f8f8f2!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#f8f8f2!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#6272a4!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#f8f8f2!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#ff79c6!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#f8f8f2!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#bd93f9!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#f8f8f2!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#f8f8f2!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#f8f8f2!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#f8f8f2!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#f1fa8c!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#f8f8f2!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#f8f8f2!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#6272a4!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#ff79c6!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#6272a4!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#6272a4!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#8b080b!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#f8f8f2!important;text-decoration:underline!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#f8f8f2!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#f8f8f2!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background-color:#468410!important;color:#f8f8f2!important;font-weight:700!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {background-color:#32343f!important;color:#3b3a32!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#f8f8f2!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#f8f8f2!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#f8f8f2!important;font-weight:700!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {background-color:#ff79c6!important;color:#f8f8f0!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#ff79c6!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#ff79c6!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#ff79c6!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#ff79c6!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#ff79c6!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#f8f8f2!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#f8f8f2!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#50fa7b!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#f8f8f2!important}.highlight code .nb,#notebook .highlight .nc, body.api .highlight .nc {color:#f8f8f2!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#f8f8f2!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#f8f8f2!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#f8f8f2!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#f8f8f2!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#50fa7b!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#f1fa8c!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f8f8f2!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#f8f8f2!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#f8f8f2!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#ff79c6!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#8be9fd!important;font-style:italic!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#ff79c6!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#bd93f9!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#bd93f9!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#bd93f9!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#bd93f9!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#f1fa8c!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#f1fa8c!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#f1fa8c!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#f1fa8c!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#f1fa8c!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#f1fa8c!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#f1fa8c!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#f1fa8c!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#f1fa8c!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#f1fa8c!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#f1fa8c!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#f8f8f2!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#8be9fd!important;font-style:italic!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#8be9fd!important;font-style:italic!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#8be9fd!important;font-style:italic!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#bd93f9!important} EOT;\n Github Dark (Native mod) theme \"Github Dark (Native mod) theme\" <<<EOT\n /*! Jupyter: Github Dark (Native mod) theme *\\/#notebook div.output_stderr{background:#a61717!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#111!important;color:#d0d0d0!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#404040!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#311!important;color:#a61717!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#3677a9!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#d0d0d0!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#ccc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#ccc!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#d0d0d0!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#cd2828!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#ccc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#777!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e9b96e!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#d2691e!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#666!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#d0d0d0!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#3677a9!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#d2691e!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#3677a9!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {background-color:#520000!important;color:#e50808!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#d22323!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#d0d0d0!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#d22323!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#589819!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#ccc!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#aaa!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#d0d0d0!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#d22323!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#6ab825!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#6ab825!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#6ab825!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#6ab825!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#6ab825!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#6ab825!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#d0d0d0!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#bbb!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#24909d!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#447fcf!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#4ca!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:orange!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#d0d0d0!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#bbb!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#098!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#d0d0d0!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#447fcf!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#d0d0d0!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#d0d0d0!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#6ab825!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#4ca!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#6ab825!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#cd2828!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#cd2828!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#cd2828!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#cd2828!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#d2691e!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#d2691e!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#d2691e!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#d2691e!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#d2691e!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#d2691e!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#d2691e!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:orange!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#cd2828!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#d2691e!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#d2691e!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#24909d!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#4ca!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#4ca!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#4ca!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#cd2828!important} EOT;\n Idle Fingers \"Idle Fingers\" <<<EOT\n /*! Jupyter: Idle Fingers *\\/#notebook div.output_stderr{background:#cc7833!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#323232!important;color:#fff!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#fff!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#bc9458!important;font-style:italic!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#fff!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#fff!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#cc7833!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#fff!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#6c99bb!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#fff!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#fff!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#fff!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#a5c261!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#fff!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#fff!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#bc9458!important;font-style:italic!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#cc7833!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#bc9458!important;font-style:italic!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#bc9458!important;font-style:italic!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#fff!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#fff!important;text-decoration:underline!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#fff!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#fff!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {background:#353637!important;color:#404040!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#fff!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#fff!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important;font-weight:700!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {background:red!important;color:#fff!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#cc7833!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#cc7833!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#cc7833!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#cc7833!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#cc7833!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#ffc66d!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#fff!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#ffc66d!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#fff!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#fff!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#6c99bb!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#fff!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#fff!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#fff!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#ffc66d!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#a5c261!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#fff!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#fff!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#fff!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#cc7833!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#fff!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#cc7833!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#6c99bb!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#6c99bb!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#6c99bb!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#6c99bb!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#a5c261!important}.highlight code .sb,#notebook .highlight .sc, body.api .highlight .sc {color:#a5c261!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#a5c261!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#a5c261!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#a5c261!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#a5c261!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#a5c261!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#a5c261!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#a5c261!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#a5c261!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#a5c261!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#fff!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#fff!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#fff!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#fff!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#6c99bb!important} EOT;\n Monokai - Spacegray Eighties \"Monokai - Spacegray Eighties\" <<<EOT\n /*! Jupyter: Monokai - Spacegray Eighties *\\/#notebook div.output_stderr{background:#960050!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background-color:#1c1c1c!important;color:#f8f8f8!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#2c2c2c!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#1e0010!important;color:#960050!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:grey!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#f8f8f8!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#66d9ef!important;font-style:italic!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#ae81ff!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ae81ff!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#f8f8f8!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#f92672!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#f8f8f8!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#e6db74!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#f8f8f8!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:grey!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:grey!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:grey!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:grey!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#ae81ff!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#66d9ef!important;font-style:italic!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#f92672!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#ae81ff!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#ae81ff!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#66d9ef!important;font-style:italic!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6db74!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#a6e22e!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#f8f8f8!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#a6e22e!important;font-style:italic!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#ae81ff!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#a6e22e!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#f92672!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#a6e22e!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#a6e22e!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#f8f8f8!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f8f8f8!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#f8f8f8!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#f92672!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#f92672!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#f92672!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#f92672!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ae81ff!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ae81ff!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ae81ff!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ae81ff!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#e6db74!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#e6db74!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#e6db74!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#e6db74!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ae81ff!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#e6db74!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#e6db74!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#e6db74!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#e6db74!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#e6db74!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#e6db74!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#f92672!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#f92672!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#f92672!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#f92672!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ae81ff!important} EOT;\n Monokai \"Monokai\" <<<EOT\n /*! Jupyter: Monokai *\\/#notebook div.output_stderr{background:#960050!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#272822!important;color:#f8f8f2!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#49483e!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#1e0010!important;color:#960050!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#75715e!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#f8f8f2!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#66d9ef!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#ae81ff!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ae81ff!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#f8f8f2!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#f92672!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#f8f8f2!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#e6db74!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#f8f8f2!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#75715e!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#75715e!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#75715e!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#75715e!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#66d9ef!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#66d9ef!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#f92672!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#66d9ef!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#66d9ef!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#66d9ef!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6db74!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#a6e22e!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#f8f8f2!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#a6e22e!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#66d9ef!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#a6e22e!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#f8f8f2!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#a6e22e!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#a6e22e!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#f8f8f2!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f8f8f2!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#a6e22e!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#f8f8f2!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#f92672!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#f8f8f2!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#f92672!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ae81ff!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ae81ff!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ae81ff!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ae81ff!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#e6db74!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#e6db74!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#e6db74!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#e6db74!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ae81ff!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#e6db74!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#e6db74!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#e6db74!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#e6db74!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#e6db74!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#e6db74!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#f8f8f2!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#f8f8f2!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#f8f8f2!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#f8f8f2!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ae81ff!important} EOT;\n Obsidian \"Obsidian\" <<<EOT\n /*! Jupyter: Obsidian *\\/#notebook div.output_stderr{background:#da4236!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background-color:#293134!important;color:#e0e2e4!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#da4236!important;color:#e0e2e4!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#66747b!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#e0e2e4!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#e0e2e4!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#93c763!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e0e2e4!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ec7600!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#e0e2e4!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#93c763!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e0e2e4!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#ec7600!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#96989a!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#e0e2e4!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#66747b!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#93c763!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#66747b!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#93c763!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#ec7600!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#e0e2e4!important;font-style:italic!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#da4236!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#66747b!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#93c763!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#e0e2e4!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#e0e2e4!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#e0e2e4!important;font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#66747b!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#e0e2e4!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#96989a!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#678cb1!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#93c763!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#93c763!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#678cb1!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#da4236!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e0e2e4!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#e0e2e4!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#93c763!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#678cb1!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#96989a!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#678cb1!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#96989a!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#96989a!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#678cb1!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#e0e2e4!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e0e2e4!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#e0e2e4!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#e0e2e4!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#678cb1!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#678cb1!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#93c763!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ec7600!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ec7600!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ec7600!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ec7600!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#66747b!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#ec7600!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#e0e2e4!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#ec7600!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#96989a!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#e0e2e4!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#ec7600!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#ec7600!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#d39745!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#ec7600!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#ec7600!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#678cb1!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#678cb1!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#678cb1!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#678cb1!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ec7600!important} EOT;\n Pastel on Dark \"Pastel on Dark\" <<<EOT\n /*! Jupyter: Pastel on Dark *\\/#notebook div.output_stderr{background:#600!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2b2b2b!important;color:#e6e1dc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#e6e1dc!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#555!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#e6e1dc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#4d74d0!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e6e1dc!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#a5c261!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#e6e1dc!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#e6e1dc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#e6e1dc!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e6e1dc!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#ad9361!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#e6e1dc!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#e6e1dc!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#555!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#e6e1dc!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#555!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#555!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {background:#600!important;color:#e6e1dc!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#e6e1dc!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {background:#900!important;color:#ffc66d!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background:#519f50!important;color:#e6e1dc!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#e6e1dc!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#e6e1dc!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#e6e1dc!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#e6e1dc!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#4d74d0!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#4d74d0!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#4d74d0!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#4d74d0!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#4d74d0!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#c1c144!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6e1dc!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#6782d3!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#e6e1dc!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#e6e1dc!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#a1a1ff!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#e6e1dc!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#47b8d6!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#e6e1dc!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#6782d3!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#e6e1dc!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e6e1dc!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#e6e1dc!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#e6e1dc!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#4d74d0!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#c1c144!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#e6e1dc!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#a5c261!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#a5c261!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#a5c261!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#a5c261!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#ad9361!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#ad9361!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#ad9361!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#ad9361!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ad9361!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#ad9361!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#ad9361!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#ad9361!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#ad9361!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#ad9361!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#ad9361!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#e6e1dc!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#c1c144!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#c1c144!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#c1c144!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#a5c261!important} EOT;\n Railscasts \"Railscasts\" <<<EOT\n /*! Jupyter: Railscasts *\\/#notebook div.output_stderr{background:#600!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2b2b2b!important;color:#e6e1dc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#ffc!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#bc9458!important;font-style:italic!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#e6e1dc!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#e6e1dc!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#e6e1dc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#cc7833!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e6e1dc!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#a5c261!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#e6e1dc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#e6e1dc!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e6e1dc!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#a5c261!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#e6e1dc!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#e6e1dc!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#bc9458!important;font-style:italic!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#cc7833!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#bc9458!important;font-style:italic!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#bc9458!important;font-style:italic!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {background-color:#600!important;color:#e6e1dc!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#e6e1dc!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {background-color:#900!important;color:#fff!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background-color:#144212!important;color:#e6e1dc!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#e6e1dc!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#e6e1dc!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#e6e1dc!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#e6e1dc!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#cc7833!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#cc7833!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#cc7833!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#cc7833!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#cc7833!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#da4939!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6e1dc!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#ffc66d!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#e6e1dc!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#e6e1dc!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#6d9cbe!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#e6e1dc!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#e6e1dc!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#e6e1dc!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#ffc66d!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#e6e1dc!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e6e1dc!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#e6e1dc!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#e6e1dc!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#cc7833!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#d0d0ff!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#e6e1dc!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#a5c261!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#a5c261!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#a5c261!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#a5c261!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#a5c261!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#a5c261!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#a5c261!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#a5c261!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#a5c261!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#a5c261!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#a5c261!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#a5c261!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#a5c261!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#a5c261!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#a5c261!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#e6e1dc!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#d0d0ff!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#d0d0ff!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#d0d0ff!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#a5c261!important} EOT;\n Solarized Dark \"Solarized Dark\" <<<EOT\n /*! Jupyter: Solarized Dark *\\/#notebook div.output_stderr{background:#dc322f!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background-color:#002b36!important;color:#839496!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#49483e!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#fdf6e3!important;color:#dc322f!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#586e75!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#839496!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#839496!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#859900!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#839496!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#2aa198!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#839496!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#859900!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#839496!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#2aa198!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#839496!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#cb4b16!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#586e75!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#859900!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#586e75!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#859900!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#2aa198!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#839496!important;font-style:italic!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#dc322f!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#cb4b16!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#859900!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#839496!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#839496!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#839496!important;font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#cb4b16!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#839496!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#cb4b16!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#268bd2!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#859900!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#859900!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#268bd2!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#dc322f!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#839496!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#839496!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#b58900!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#268bd2!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#cb4b16!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#268bd2!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#cb4b16!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#cb4b16!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#268bd2!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#839496!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#839496!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#839496!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#839496!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#268bd2!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#268bd2!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#859900!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#2aa198!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#2aa198!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#2aa198!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#2aa198!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#586e75!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#2aa198!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#839496!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#2aa198!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#cb4b16!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#839496!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#2aa198!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#2aa198!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#dc322f!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#2aa198!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#2aa198!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#268bd2!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#268bd2!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#268bd2!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#268bd2!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#2aa198!important} EOT;\n Tomorrow Night Blue \"Tomorrow Night Blue\" <<<EOT\n /*! Jupyter: Tomorrow Night Blue *\\/#notebook div.output_stderr{background:#002451!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#002451!important;color:#fff!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#003f8e!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#ff9da4!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#7285b7!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#fff!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#ebbbff!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#ffc58f!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ffc58f!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#fff!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#9ff!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#fff!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#d1f1a9!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#fff!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#7285b7!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#7285b7!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#7285b7!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#7285b7!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#ff9da4!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#d1f1a9!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#7285b7!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#9ff!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#ebbbff!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#ebbbff!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#9ff!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#ebbbff!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#ebbbff!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#ffeead!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#d1f1a9!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#bbdaff!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#fff!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#ffeead!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#ff9da4!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#9ff!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#fff!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#ff9da4!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#bbdaff!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#fff!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#ffeead!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#bbdaff!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#fff!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#9ff!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#ff9da4!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#9ff!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ffc58f!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ffc58f!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ffc58f!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ffc58f!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#d1f1a9!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#fff!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#7285b7!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#d1f1a9!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ffc58f!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#d1f1a9!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#ffc58f!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#d1f1a9!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#d1f1a9!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#d1f1a9!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#d1f1a9!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#fff!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#ff9da4!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#ff9da4!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#ff9da4!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ffc58f!important} EOT;\n Tomorrow Night Bright \"Tomorrow Night Bright\" <<<EOT\n /*! Jupyter: Tomorrow Night Bright *\\/#notebook div.output_stderr{background:#d54e53!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#000!important;color:#eaeaea!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#424242!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#d54e53!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#969896!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#eaeaea!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#c397d8!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e78c45!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#e78c45!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#eaeaea!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#70c0b1!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#eaeaea!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#b9ca4a!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#969896!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#969896!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#969896!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#969896!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#d54e53!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#eaeaea!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#b9ca4a!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#969896!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#70c0b1!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#c397d8!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#c397d8!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#70c0b1!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#c397d8!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#c397d8!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#e7c547!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#b9ca4a!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#7aa6da!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#eaeaea!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#e7c547!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#d54e53!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#70c0b1!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#eaeaea!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#d54e53!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#7aa6da!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#eaeaea!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e7c547!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#7aa6da!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#eaeaea!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#70c0b1!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#d54e53!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#70c0b1!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#eaeaea!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#e78c45!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#e78c45!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#e78c45!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#e78c45!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#b9ca4a!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#eaeaea!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#969896!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#b9ca4a!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#e78c45!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#b9ca4a!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#e78c45!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#b9ca4a!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#b9ca4a!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#b9ca4a!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#b9ca4a!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#eaeaea!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#d54e53!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#d54e53!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#d54e53!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#e78c45!important} EOT;\n Tomorrow Night Eighties \"Tomorrow Night Eighties\" <<<EOT\n /*! Jupyter: Tomorrow Night Eighties *\\/#notebook div.output_stderr{background:#f2777a!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2d2d2d!important;color:#ccc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#515151!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#f2777a!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#999!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#ccc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#c9c!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#f99157!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#f99157!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#ccc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#6cc!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#ccc!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#9c9!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#ccc!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#999!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#999!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#999!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#999!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#f2777a!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#ccc!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#9c9!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#999!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#6cc!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#c9c!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#c9c!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#6cc!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#c9c!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#c9c!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#fc6!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#9c9!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#69c!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#ccc!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#fc6!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#f2777a!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#6cc!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#ccc!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#f2777a!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#69c!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#ccc!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#fc6!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#69c!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#ccc!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#6cc!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#f2777a!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#6cc!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#f99157!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#f99157!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#f99157!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#f99157!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#9c9!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#ccc!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#999!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#9c9!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#f99157!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#9c9!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#f99157!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#9c9!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#9c9!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#9c9!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#9c9!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#ccc!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#f2777a!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#f2777a!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#f2777a!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#f99157!important} EOT;\n Tomorrow Night \"Tomorrow Night\" <<<EOT\n /*! Jupyter: Tomorrow Night *\\/#notebook div.output_stderr{background:#c66!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#1d1f21!important;color:#c5c8c6!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#373b41!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#c66!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#969896!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#c5c8c6!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#b294bb!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#de935f!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#de935f!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#c5c8c6!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#8abeb7!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#c5c8c6!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#969896!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#969896!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#969896!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#969896!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#c66!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#c5c8c6!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#b5bd68!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#969896!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#8abeb7!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#b294bb!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#b294bb!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#8abeb7!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#b294bb!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#b294bb!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#f0c674!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#b5bd68!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#81a2be!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#c5c8c6!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#f0c674!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#c66!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#8abeb7!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#c5c8c6!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#c66!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#81a2be!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#c5c8c6!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f0c674!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#81a2be!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#c5c8c6!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#8abeb7!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#c66!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#8abeb7!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#de935f!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#de935f!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#de935f!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#de935f!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#b5bd68!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#c5c8c6!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#969896!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#b5bd68!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#de935f!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#b5bd68!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#de935f!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#b5bd68!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#b5bd68!important}.highlight code .s2,#notebook .highlight .s1, body.api .highlight .s1 {color:#b5bd68!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#b5bd68!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#c5c8c6!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#c66!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#c66!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#c66!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#de935f!important} EOT;\n}\n@advanced dropdown tab-size \"Code Tab size\" {\n 2 \"2\" <<<EOT\n pre, .highlight, .diff-table, .tab-size {\n tab-size: 2 !important;\n -moz-tab-size: 2 !important;\n } EOT;\n 4 \"4\" <<<EOT\n pre, .highlight, .diff-table, .tab-size {\n tab-size: 4 !important;\n -moz-tab-size: 4 !important;\n } EOT;\n 8 \"8\" <<<EOT\n pre, .highlight, .diff-table, .tab-size {\n tab-size: 8 !important;\n -moz-tab-size: 8 !important;\n } EOT;\n}\n==/UserStyle== */\n@-moz-document regexp(\"^https?://((education|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\") {\n button {\n color: #b5b5b5;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/968 */\n input, textarea {\n color: #c6c6c6;\n }\n svg[fill=\"none\"] {\n fill: none;\n }\n a[href^=\"https://apps.apple.com\"] svg {\n fill: #000;\n }\n .alert {\n background: #182030;\n border-color: #246;\n }\n .CircleBadge {\n background: #181818;\n }\n body[class=\"page-responsive\"] .list-options .list-item > .octicon {\n color: #181818;\n }\n /* generated github-mobile rules */\n /* begin github.com rules */\n :root, [data-color-mode=dark][data-dark-theme=light],\n [data-color-mode=light][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark],\n [data-color-mode=light][data-light-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) {\n .ActionList-item[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .ActionList-content {\n background-color: transparent;\n }\n .ActionList-content:focus {\n box-shadow: none;\n }\n .ActionList-content:focus-visible {\n box-shadow: none;\n }\n @media (hover: hover) {\n .ActionList-content[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=true], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button {\n background-color: transparent;\n }\n .close-button:active {\n box-shadow: none;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .filter-list.pjax-active .filter-item {\n background-color: transparent;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem {\n background-color: transparent;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .color-bg-transparent {\n background-color: transparent !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab, .markdown-body .emoji,\n .markdown-body pre > code, .markdown-body pre code, .markdown-body pre tt,\n .markdown-body table img {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .ActionListItem {\n background-color: initial;\n }\n @media (hover: hover) {\n .ActionListItem[aria-disabled=true]:hover {\n background-color: initial;\n }\n }\n .ActionListContent {\n background-color: initial;\n }\n @media (hover: hover) {\n .ActionListContent[aria-disabled=true]:hover {\n background-color: initial;\n }\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .Overlay-backdrop--anchor, .Overlay-closeButton {\n background-color: initial;\n }\n @media (max-width: 767px) {\n .Overlay-backdrop--anchor-whenNarrow {\n background-color: initial;\n }\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .tabnav-tab {\n background-color: initial;\n }\n .FormControl-input-wrap .FormControl-input-trailingAction {\n background-color: transparent;\n }\n input.FormControl-checkbox[type=checkbox]:focus-visible {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio]:focus-visible {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15), transparent) !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, #34b75926, transparent), #373 !important;\n }\n .btn-signup-mktg::before {\n background: linear-gradient(180deg, #34b75926, transparent) !important;\n }\n .ToggleSwitch-track[aria-disabled=true] .ToggleSwitch-knob {\n box-shadow: none;\n }\n .SegmentedControl-item.SegmentedControl-item--selected .Button:hover,\n .UnderlineNav-item {\n background-color: initial;\n }\n .AvatarStack-body .avatar {\n box-shadow: none;\n }\n .Button {\n background-color: initial;\n }\n .Button:disabled, .Button[aria-disabled=true] {\n box-shadow: none;\n }\n .Button--primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Button--link:disabled, .Button--link[aria-disabled=true] {\n background-color: initial;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .border-white-fade {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n @keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n body.intent-mouse [role=button]:focus,\n body.intent-mouse [role=tabpanel][tabindex=\"0\"]:focus,\n body.intent-mouse a:focus, body.intent-mouse button:focus,\n body.intent-mouse summary:focus {\n box-shadow: none;\n }\n .auth-form-header, .auth-form-header h1 a {\n color: #fff;\n }\n .auth-form-header .octicon {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .1);\n }\n .session-authentication .auth-form-header,\n .session-authentication .header-logged-out,\n .session-authentication.enterprise .header-logged-out,\n .session-authentication.hosted .header-logged-out {\n background-color: transparent;\n }\n .Header-old {\n color: #fff;\n }\n .HeaderMenu--logged-out {\n --header-menu-shadow: 0 5px 30px rgba(220, 220, 220, .1), 0 0 1px rgba(27, 31, 35, .4), 0 1px 2px rgba(220, 220, 220, .15);\n }\n @media (prefers-color-scheme: dark) {\n .HeaderMenu--logged-out {\n --header-menu-shadow: 0 0 1px #767676;\n }\n }\n @media (min-width: 1012px) {\n .HeaderMenu--logged-out .header-menu-wrapper {\n background-color: transparent;\n box-shadow: none;\n }\n }\n .HeaderMenu--logged-out .dropdown-menu {\n box-shadow: none;\n }\n .HeaderMenu-link {\n background-color: transparent;\n }\n @media (min-width: 1012px) {\n .HeaderMenu-link, .HeaderMenu-link:hover {\n color: #fff;\n }\n }\n @media (max-width: 1011px) {\n .HeaderMenu-item .HeaderMenu-dropdown {\n background-color: transparent;\n }\n }\n .header-logo-invertocat, .header-logo-invertocat:hover {\n color: #fff;\n }\n .notification-indicator .discussion-status,\n .notification-indicator .mail-status, .unread-indicator {\n color: #fff;\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .header-search-wrapper, .header-search-wrapper.focus {\n box-shadow: none;\n }\n .header-search-input {\n background: none;\n box-shadow: none;\n }\n .header-search-input:focus {\n box-shadow: none;\n }\n .header-search-button {\n background: none;\n }\n .header-search-button.input-button:focus-visible {\n box-shadow: none;\n }\n .header-search-scope {\n color: hsla(0, 0%, 0%, .7);\n }\n .jump-to-suggestions-path mark {\n background-color: transparent;\n }\n .search-suggestions .clear-blackbird-search-button,\n .search-suggestions .close-blackbird-search-button {\n background-color: transparent;\n box-shadow: none;\n }\n .autosize-text-input .input, .select-menu-tabs .select-menu-tab-nav,\n .select-menu-tabs a {\n background-color: transparent;\n }\n .select-menu.label-select-menu .select-menu-item:active {\n background-color: transparent !important;\n }\n .select-menu-item:focus .Label, .select-menu-item:hover .Label {\n border-color: currentcolor;\n }\n .collapsible-sidebar-widget-button, .comment-body .highlight {\n background-color: transparent;\n }\n .locked-conversation .preview-tab, .locked-conversation .write-tab {\n color: #767676;\n }\n .signed-commit-badge {\n background: none;\n }\n .table-of-contents .toc-diff-stats .octicon {\n color: #767676;\n }\n .blob-wrapper table tr:nth-child(2n) {\n background-color: transparent;\n }\n .add-line-comment.octicon-check {\n background-color: #c6c6c6;\n }\n .inline-comment-form {\n border-color: #343434;\n }\n button.discussion-sidebar-toggle {\n background: none;\n }\n @media (min-width: 1012px) {\n .page-responsive .previewable-comment-form .comment-form-head.tabnav .toolbar-commenting {\n background-color: transparent;\n }\n }\n .previewable-comment-form .comment-body {\n background-color: transparent;\n }\n :target .timeline-comment-group .timeline-comment .timeline-comment-group .timeline-comment {\n box-shadow: none !important;\n }\n .notifications-component-dialog:not([hidden]) + .notifications-component-dialog-overlay,\n .reponav-wrapper .reponav-item.selected {\n background-color: transparent;\n }\n @media (max-width: 768px) {\n .PageLayout--responsive-separateRegions.PageLayout--responsive-primary-pane .ActionList-item.ActionList-item--navActive:not(.ActionList-item--danger) {\n background-color: transparent;\n }\n }\n .steps {\n border-color: #343434;\n box-shadow: 0 1px 3px rgba(220, 220, 220, .05);\n }\n .steps li {\n color: #767676;\n border-left-color: #343434;\n }\n .social-reaction-summary-item {\n background-color: transparent;\n border-color: var(--color-border-default, #246);\n }\n .new-reactions-dropdown .dropdown-menu-reactions::after,\n .new-reactions-dropdown .dropdown-menu-reactions::before {\n background-color: transparent;\n }\n .render-container.is-render-ready.is-render-requested:not(.is-render-failed) {\n background: none;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-context .AppHeader-context-compact .AppHeader-context-compact-trigger {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-kbd {\n background-color: transparent;\n box-shadow: none;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-searchButton {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search input[type=search]:placeholder-shown {\n background-color: transparent;\n }\n .AppHeader .AppHeader-button,\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-action--trailing {\n background-color: transparent;\n }\n .AnimatedImagePlayer-images {\n background: none;\n }\n .emoji-picker-tab .btn-outline:not(:hover) {\n background-color: transparent;\n }\n @media (max-width: 767px) {\n .notifications-v2 .AvatarStack-body .avatar {\n border-right-color: var(--ghd-bg-color) !important;\n }\n }\n .notifications-v2 .thread-subscription-status {\n background-color: transparent !important;\n }\n .progress-pjax-loader {\n background-color: transparent;\n }\n .progress-pjax-loader > .progress-pjax-loader-bar {\n background-color: /*[[base-color]]*/;\n }\n .tag-input-container .focus {\n box-shadow: none !important;\n }\n .tag-input input {\n background: none;\n box-shadow: none;\n }\n .tag-input input:focus {\n box-shadow: none;\n }\n .toolbar-commenting .dropdown-item {\n background: none;\n }\n .topic-tag-outline {\n box-shadow: inset 0 0 0 1px #246;\n }\n .is-auto-complete-loading :not(input).form-control,\n .topic-input-container .tag-input .tag-input-inner {\n background-image: none;\n }\n .CommentBox .dragover .CommentBox-input,\n .CommentBox .dragover .CommentBox-input:focus,\n .CommentBox-input.CommentBox-input.CommentBox-input:focus {\n box-shadow: none;\n }\n .QueryBuilder-Input {\n background-color: transparent;\n }\n .QueryBuilder-Input:focus {\n box-shadow: none !important;\n }\n .hx_flex-avatar-stack-item .avatar {\n box-shadow: none;\n }\n .AvatarStack-body:not(:hover) {\n background-color: transparent;\n }\n .hx_badge-search-container .hx_badge-input {\n box-shadow: none;\n }\n .hx_badge-search-container .hx_badge-input:focus {\n box-shadow: none !important;\n }\n .dropdown-item.btn-link:disabled, .dropdown-item.btn-link:disabled:hover,\n .dropdown-item.btn-link[aria-disabled=true],\n .dropdown-item.btn-link[aria-disabled=true]:hover {\n background-color: transparent;\n }\n [data-color-mode=dark][data-dark-theme*=dark],\n [data-color-mode=light][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n }\n }\n .Header-button:active, .Header-button:focus, .Header-button:hover {\n background-color: transparent;\n }\n .Box--responsive .Box-row--unread, .Header-button:active .octicon,\n .Header-button:focus .octicon, .Header-button:hover .octicon, .hx_kbd {\n box-shadow: none;\n }\n .Box--responsive .Box-row--unread::before {\n color: #fff;\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .autocomplete-item, .topic-tag-outline {\n background-color: transparent;\n }\n .pagehead-tabs-item.selected, .reponav-item.selected {\n border-top-color: #fff;\n }\n .hx_disabled-input .form-control[contenteditable=false],\n .hx_disabled-input input[disabled], .hx_disabled-input select[disabled] {\n background-color: transparent;\n box-shadow: none;\n }\n .hx_disabled-input .form-select {\n background-image: none !important;\n }\n .intgrs-dir-intro .directory-header-back,\n .intgrs-dir-intro .directory-tag-line {\n color: #fff;\n }\n .intgrs-lstng-item-description::after {\n background-image: linear-gradient(to right, transparent, #181818 80%);\n }\n .intgr-admin-link.draft-tag .octicon,\n .intgr-admin-link.draft-tag:hover .octicon {\n color: #fff;\n }\n .intgr-admin-link.draft-tag:hover {\n background-color: #f0f0f0;\n }\n .integrations-breadcrumb-link:hover,\n .intgr-feat-header .intgr-admin-link:hover .octicon, .intgr-feat-header h2 {\n color: #fff;\n }\n .integrations-install-target .flash,\n .integrations-install-target .flash-error {\n background-color: transparent;\n }\n .not-found-octocat-wrapper::after {\n box-shadow: 0 4px 0 var(--ghd-bg-color), 0 8px 0 var(--ghd-bg-color), 0 12px 0 var(--ghd-bg-color), 0 16px 0 var(--ghd-bg-color), 0 20px 0 var(--ghd-bg-color);\n }\n .usage-bar {\n background-color: #2c2c2c;\n }\n .blob-code-content .error-highlight::before,\n .diff-table .error-highlight::before {\n background: linear-gradient(135deg, transparent, transparent 45%, var(--color-danger-fg), transparent 55%, transparent 100%), linear-gradient(45deg, transparent, transparent 45%, var(--color-danger-fg), transparent 55%, transparent 100%);\n }\n .status-meta-file-name {\n background-color: rgba(220, 220, 220, .05);\n }\n .code-frequency .addition {\n fill: #373;\n }\n .search-form-fluid .search-page-input {\n background: none;\n box-shadow: none;\n }\n .search-form-fluid .search-page-input:focus {\n box-shadow: none;\n }\n .codespaces-storage-utilization-button:hover {\n background-color: transparent !important;\n }\n .suggest-icon path, .suggest-icon svg {\n fill: #181818;\n }\n .dashboards-overview-cards .blankslate {\n box-shadow: none;\n }\n .dashboards-overview-cards .dots.metric-1 circle,\n .dashboards-overview-cards .metric-0 circle {\n stroke: #181818;\n }\n development-menu .development-menu-component-dialog:not([hidden]) + .development-menu-component-dialog-overlay,\n development-menu .form-control[is-loading] {\n background-color: transparent;\n }\n .file {\n border-color: var(--color-border-default, #343434);\n }\n .file .image {\n background-color: #343434;\n }\n .file .image canvas, .file .image img {\n background-color: #2c2c2c;\n border-color: var(--ghd-bg-color);\n }\n .file .image .view canvas, .file .image .view img {\n background-color: #2c2c2c;\n }\n .file .empty {\n background: none;\n }\n .team-discussions .previewable-comment-form .toolbar-commenting.toolbar-commenting.toolbar-commenting {\n background-color: transparent;\n }\n .integrations-select-repos::-webkit-scrollbar-thumb {\n box-shadow: 0 0 1px hsla(0, 0%, 0%, .5);\n }\n .integrations-select-repos::-webkit-scrollbar-track-piece {\n background-color: transparent;\n }\n .milestone-title-link a {\n color: var(--color-fg-default, #c6c6c6);\n }\n .task-progress .octicon {\n color: var(--color-fg-muted, #767676);\n }\n .issue-meta-section .octicon {\n color: var(--color-fg-muted, #5a5a5a);\n }\n .label-select-menu .selected:active,\n .label-select-menu [aria-checked=mixed]:active,\n .label-select-menu [aria-checked=true]:active {\n background-color: transparent !important;\n }\n .repository-lang-stats ol.repository-lang-stats-numbers li a:hover {\n background-color: transparent;\n }\n .map-background {\n fill: /*[[base-color]]*/;\n }\n .map-graticule, .map-legend .map-legend-circle {\n stroke: #181818;\n }\n .map-legend .map-legend-text {\n fill: #181818;\n }\n .map-legend .map-legend-link {\n stroke: #181818;\n }\n .map-point, .map-point:hover {\n fill: #fb8532;\n }\n .MarketplaceEdit-body .CircleIcon {\n background-color: #444;\n }\n .ClipboardButton.ClipboardButton--success,\n .ClipboardButton.ClipboardButton--success:focus {\n box-shadow: 0 0 0 .2em #3737;\n }\n .MarketplaceAnnouncement {\n color: #fff;\n background: linear-gradient(90deg, #4f8cc9, #2426ca);\n }\n .merge-branch-manually {\n background-color: transparent;\n }\n .news .alert {\n border-top-color: #242424;\n }\n .oauth-permissions-details.open a.btn-sm {\n background-image: none;\n }\n .trial-banner-notice {\n background-image: linear-gradient(180deg, /*[[base-color]]*/ 0%, #4f8cc9 100%);\n }\n @media print {\n .State, .btn:not(.btn-outline) {\n background: none;\n }\n .State--open {\n border-color: #373;\n }\n }\n .pending-cards-status {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .timeout {\n background-color: transparent;\n }\n .prereceive-feedback {\n border-color: #343434;\n }\n .avatar-upload .flash {\n box-shadow: none;\n }\n .access-token.new-token {\n background-color: #6cc64450;\n }\n .session-device .session-state-indicator.not-recent {\n background-image: linear-gradient(#aaa, #5a5a5a);\n box-shadow: 0 1px 0 var(--ghd-bg-color);\n }\n .form-hr {\n border-bottom-color: var(--color-border-default, #343434);\n }\n .listgroup {\n border-color: var(--color-border-default, #343434);\n }\n .listgroup-item + .listgroup-item {\n border-top-color: var(--color-border-default, #343434);\n }\n .listgroup-header {\n border-bottom-color: var(--color-border-default, #343434);\n }\n .listgroup-overflow {\n background-color: var(--color-canvas-subtle, #222);\n }\n @keyframes toggle-color {\n 0% {\n background-color: transparent;\n }\n 100% {\n background-color: transparent;\n }\n }\n .user-identification-questions.redesign .topic-input-container .tag-input {\n border-bottom-color: #f0f0f0;\n }\n .draft-tag {\n color: #2c2c2c;\n }\n .showcase-page-pattern::after {\n background-image: linear-gradient(180deg, hsla(0, 0%, 0%, .85), #181818);\n }\n .sponsors-goal-progress-bar {\n background-color: #c49;\n }\n @media (prefers-reduced-motion: no-preference) {\n .sponsors-goal-progress-bar:hover {\n background: linear-gradient(90deg, #cb4 0%, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff 100%);\n }\n }\n .sponsors-goal-completed-bar {\n background: linear-gradient(90deg, #cb4 0%, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff 100%);\n }\n .bulk-sponsorship-import-csv:focus + label,\n .tasklist-omnibar-input-wrapper:not([open]) .Overlay,\n .tasklist-textarea-container > textarea, .team-label-ldap {\n box-shadow: none;\n }\n .WorkflowJob-deployment-progress .Progress {\n background: none;\n }\n .discussion-nested-comment-paging-form::before {\n background-color: transparent;\n }\n :target .discussion-nested-comment-group .timeline-comment,\n :target .nested-discussion-timeline-comment {\n box-shadow: none !important;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg, .btn-subtle-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n color: #fff;\n background: linear-gradient(180deg, rgba(52, 183, 89, .15) 0%, rgba(46, 164, 79, 0) 100%), #373 !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n .box-shadow-active-border-light-mktg {\n box-shadow: 0 0 0 1px hsla(0, 0%, 0%, .1), 0 2px 2px rgba(0, 0, 0, .03), 0 4px 4px rgba(0, 0, 0, .04), 0 10px 8px rgba(0, 0, 0, .05), 0 15px 15px rgba(0, 0, 0, .06), 0 30px 30px rgba(0, 0, 0, .07), 0 70px 65px rgba(0, 0, 0, .09) !important;\n }\n .box-shadow-card-border-light-mktg {\n box-shadow: 0 0 0 1px hsla(0, 0%, 0%, .1), 0 3px 2px rgba(0, 0, 0, .04), 0 7px 5px rgba(0, 0, 0, .02), 0 13px 10px rgba(0, 0, 0, .02), 0 22px 17px rgba(0, 0, 0, .02) !important;\n }\n .box-shadow-card-dark-mktg {\n box-shadow: 0 0 0 1px #f0f0f0, 0 30px 30px rgba(0, 0, 0, .07), 0 15px 15px rgba(0, 0, 0, .06), 0 10px 8px rgba(0, 0, 0, .05), 0 4px 4px rgba(0, 0, 0, .04), 0 2px 2px rgba(0, 0, 0, .03);\n }\n .box-shadow-card-dark-mktg::after {\n box-shadow: inset 0 1px 1px hsla(0, 0%, 0%, .1);\n }\n .text-white-fade {\n color: hsla(0, 0%, 0%, .7) !important;\n }\n .code-pink {\n color: #c49;\n }\n .bg-blue-dark {\n background-color: #182030 !important;\n }\n .bg-radial-white {\n background: radial-gradient(145.3% 145.3% at 65.91% 0%, #181818 0%, #f0f0f0 100%);\n }\n .text-gradient-blue-green {\n background: -webkit-linear-gradient(-70deg, #4f8cc9 0%, #01a49e 100%);\n }\n .text-gradient-blue-purple {\n background: -webkit-linear-gradient(-70deg, #4f8cc9 0%, #804eda 100%);\n }\n .text-gradient-pink-blue {\n background: -webkit-linear-gradient(-70deg, #db469f 0%, #4f8cc9 100%);\n }\n .font-mktg [data-color-mode=dark] {\n --color-fg-default: #181818 !important;\n }\n .header-white .Header, .header-white .header-logged-out {\n background-color: #181818 !important;\n }\n .header-white .notification-indicator .mail-status {\n border-color: var(--ghd-bg-color) !important;\n }\n .header-white-transparent .Header,\n .header-white-transparent .header-logged-out {\n background-color: transparent !important;\n }\n .header-black .AppHeader, .header-black .Header, .header-black .Header-old {\n --AppHeader-bg: #f0f0f0;\n }\n .header-overlay .Header:not(.open), .header-overlay .header-logged-out {\n background-color: transparent;\n }\n .header-black .AppHeader, .header-black .AppHeader .AppHeader-button,\n .header-black .AppHeader .form-control, .header-dark .AppHeader,\n .header-dark .AppHeader .AppHeader-button,\n .header-dark .AppHeader .form-control, .header-overlay .AppHeader,\n .header-overlay .AppHeader .AppHeader-button,\n .header-overlay .AppHeader .form-control {\n box-shadow: none;\n }\n .header-black .AppHeader, .header-black .AppHeader .AppHeader-button,\n .header-black .AppHeader .AppHeader-logo > *, .header-dark .AppHeader,\n .header-dark .AppHeader .AppHeader-button,\n .header-dark .AppHeader .AppHeader-logo > *, .header-overlay .AppHeader,\n .header-overlay .AppHeader .AppHeader-button,\n .header-overlay .AppHeader .AppHeader-logo > * {\n color: #fff !important;\n }\n .testimonial-avatar {\n border-color: var(--ghd-bg-color);\n }\n .subnav-link.selected {\n border-bottom-color: /*[[base-color]]*/;\n }\n @media (min-width: 768px) {\n .subnav-primary.selected {\n border-bottom-color: /*[[base-color]]*/;\n }\n }\n .fade-img-to-white-bg::before {\n background: linear-gradient(to bottom, #181818 0%, transparent 100%);\n }\n .fade-img-to-white-bg::after {\n background: linear-gradient(to top, #181818 0%, transparent 100%);\n }\n .before-after-toggle-knob {\n background-color: #181818;\n }\n .before-after-slider {\n background: linear-gradient(90deg, transparent 80%, rgba(179, 146, 240, .3) 100%), linear-gradient(90deg, transparent 0%, rgba(9, 105, 218, .3) 100%);\n }\n .home-git-log-light .home-git-icon > circle,\n .home-git-log-light .home-git-icon > rect {\n fill: #181818;\n }\n .home-repo-editor, .package-registry {\n box-shadow: 0 0 0 1px hsla(0, 0%, 0%, .1), 0 34px 65px #040d21, 0 2.75px 2.21px rgba(0, 0, 0, .07), 0 6.65px 5.32px rgba(0, 0, 0, .043), 0 12.5px 10px rgba(0, 0, 0, .03), 0 22px 18px rgba(0, 0, 0, .03), 0 42px 33.4px rgba(0, 0, 0, .02), 0 100px 80px rgba(0, 0, 0, .017);\n }\n .build-in-animate .home-codeql-step-1, .home-secret-alert,\n .home-secret-comp.build-in-animate .home-secret-alert {\n box-shadow: 0 0 65px rgba(237, 78, 80, .4), 0 0 0 1px hsla(0, 0%, 0%, .1), 0 2px 2px rgba(0, 0, 0, .03), 0 4px 4px rgba(0, 0, 0, .04), 0 10px 8px rgba(0, 0, 0, .05), 0 15px 15px rgba(0, 0, 0, .06), 0 30px 30px rgba(0, 0, 0, .07), 0 70px 65px rgba(0, 0, 0, .09);\n }\n .home-discussions-comp.build-in-animate .home-discussions-answer {\n box-shadow: 0 0 0 2px #484;\n }\n .home-discussions-check-0 {\n border-color: var(--ghd-bg-color);\n }\n .password-validity-pill.password-validity-pill-close {\n background-color: #cb4;\n }\n .password-validity-summary.password-validity-summary-close {\n color: #cb4;\n }\n .home-campaign-signup-button {\n background: linear-gradient(180deg, rgba(183, 52, 179, .15) 0%, rgba(164, 46, 156, 0) 100%), #8348af !important;\n }\n /* end github.com rules */\n body, body.bg-gray {\n color: var(--ghd-body-color);\n background-color: var(--ghd-bg-color) !important;\n background-image: var(--ghd-bg-img) !important;\n background-clip: border-box !important;\n background-origin: padding-box !important;\n background-attachment: /*[[bg-attachment]]*/ !important;\n /*[[bg-options]]*/\n }\n .application-main > .color-bg-canvas-inset {\n background: transparent !important;\n }\n /* Base link colors */\n .markdown-body a strong, .markdown-format a strong,\n .notifications.list-group a:hover, a.octolinker-link[href], .commit-id:hover,\n .timeline-comment-action:hover, .Header-link[data-ga-click]:focus,\n .Header-link[data-ga-click]:hover, .btn-link .octicon-kebab-horizontal:hover,\n .Header-link:hover, .Header-link:focus {\n color: /*[[base-color]]*/;\n }\n .text-gray-light.btn-octicon:hover .octicon-kebab-horizontal,\n [aria-labelledby=\"files\"] .Link--primary,\n [aria-labelledby=\"files\"] .Link--secondary {\n color: /*[[base-color]]*/ !important;\n }\n #notebook a:hover, #notebook a:focus {\n color: /*[[base-color]]*/;\n opacity: .8;\n }\n body.api li a code {\n color: rgba(/*[[base-color-rgb]]*/, .9) !important;\n }\n body.api li a:active code, body.api li a:hover code {\n color: rgba(/*[[base-color-rgb]]*/, 1) !important;\n }\n .hidden-text-expander .hx_bg-black-fade-15 {\n background: #343434;\n }\n /* Base color panel */\n option:hover, .listings-layout .nav li a:hover,\n #fork-select .target:not(.disabled):hover, table.upgrades tr:hover td,\n .dashboard-tabs a:hover, .documentation-results a:hover,\n .hidden-text-expander a:hover, .example-nav li a.selected,\n .issues-reset-query:hover .octicon-x, .segmented-nav li.active,\n .diff-expander:hover, .owner-select-target:hover,\n .release-timeline-tags .expander-text:hover .expander-dots,\n .search-result-item.navigation-focus, .pull-request-link:hover,\n .issues-reset-query:hover .issues-reset-query-block, .result.selected,\n .result:hover, .CommunityTemplate-highlight, .version-picker a:hover,\n .discussion-item-changes-marker.is-unread .discussion-item-icon {\n background: /*[[base-color]]*/ !important;\n }\n .diff-table button.add-line-comment, .add-line-comment,\n .email-format .email-hidden-toggle a:hover {\n background: /*[[base-color]]*/;\n }\n .context-button::after {\n border-color: /*[[base-color]]*/ transparent transparent !important;\n }\n .timeline-progressive-disclosure-button:hover,\n .release-timeline-tags .expander-text:hover .expander-dots,\n .review-comment[aria-selected=true],\n .timeline-comment[aria-selected=true] .review-summary .comment-body {\n border-color: /*[[base-color]]*/ !important;\n }\n /* pjax loader */\n [style*=\"background-color: rgb(121, 184, 255)\"] {\n background: /*[[base-color]]*/ !important;\n }\n @keyframes autofill {\n to {\n background-color: #181818;\n background-image: none;\n color: #ddd;\n }\n }\n input:-webkit-autofill, input:-webkit-autofill:hover,\n input:-webkit-autofill:focus, textarea:-webkit-autofill,\n textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus,\n select:-webkit-autofill, select:-webkit-autofill:hover,\n select:-webkit-autofill:focus {\n animation-name: autofill !important;\n animation-fill-mode: both !important;\n }\n #com #header .top-nav .dropdown-button:hover .dropdown-caret,\n .header-nav-link:hover .dropdown-caret, .header-nav-link:focus .dropdown-caret,\n .header-navlink:hover .dropdown-caret, .header-navlink:focus .dropdown-caret,\n .HeaderNavlink:hover .dropdown-caret, .HeaderNavlink:focus .dropdown-caret {\n border-top-color: /*[[base-color]]*/ !important;\n }\n .table-list .table-list-item.unread .table-list-cell-checkbox,\n .Box-row--unread, .Box-row.unread {\n border-left-color: /*[[base-color]]*/ !important;\n box-shadow: 2px 0 0 /*[[base-color]]*/ inset !important;\n }\n /* notification icon - \"transparent\" border */\n .notification-indicator .mail-status {\n border-color: #181818;\n }\n /* text selection */\n ::selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n ::-moz-selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n /* placeholder */\n ::-webkit-input-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::-moz-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n .select-menu-text-filter input::-webkit-input-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::-moz-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::placeholder {\n color: #555 !important;\n }\n ::-webkit-calendar-picker-indicator {\n background-color: #181818;\n color: #c9c9c9;\n }\n ::-webkit-calendar-picker-indicator:hover {\n color: #666;\n }\n /* Remove dotted borders on already otherwise higlighted elements (Firefox) */\n .dropdown-item:focus, .details-dialog:focus {\n outline: none;\n }\n /* commit tease */\n .commit-tease, .commit-tease-sha, .commit-tease .commit-author {\n color: #c6c6c6 !important;\n }\n .tree-browser-result mark {\n color: #c6c6c6;\n }\n /* people panel org page issue #1041 */\n .auto-search-group input[type=\"text\"][aria-label] {\n background: #181818;\n }\n /* add border to site search field */\n .radio-group input[type=radio] {\n position: relative !important;\n }\n .dragover textarea, .dragover .drag-and-drop {\n box-shadow: 0 0 1px 1px /*[[base-color]]*/ !important;\n }\n /* remove background on frontpage */\n .application-main > .color-bg-inset {\n background: none !important;\n }\n .starred .starred-button-icon {\n color: var(--color-fg-muted);\n }\n /* below style is workaround for Firefox. */\n /* see: https://bugzilla.mozilla.org/show_bug.cgi?id=1394491 */\n optgroup::before {\n color: #888 !important;\n background-color: #181818 !important;\n }\n optgroup {\n background-color: #191919 !important;\n }\n /* custom checkboxes and radios */\n input[type=\"checkbox\"], input[type=\"checkbox\"]:focus, input[type=\"radio\"],\n input[type=\"radio\"]:focus, input[type=\"checkbox\"]:hover:active,\n input[type=\"radio\"]:hover:active, input[type=\"checkbox\"]:disabled,\n input[type=\"checkbox\"]:hover:disabled,\n input[type=\"checkbox\"]:hover:active:disabled {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: #181818;\n border: 1px solid #484848;\n color: #eee;\n height: 14px;\n width: 14px;\n }\n input[type=\"radio\"] {\n border-radius: 100% !important;\n }\n input[type=\"checkbox\"]:disabled, input[type=\"checkbox\"]:hover:disabled,\n input[type=\"checkbox\"]:hover:active:disabled, input[type=\"radio\"]:disabled {\n background-color: #282828 !important;\n color: #555 !important;\n }\n input[type=\"checkbox\"]:checked {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 0h512v512H0z\"/><path fill=\"%23ddd\" d=\"M99 213l-1 89 104 102 205-201v-91L203 315 99 213z\"/></svg>') !important;\n background-size: cover !important;\n }\n input[type=\"checkbox\"]:checked:disabled {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 0h512v512H0z\" fill=\"%23282828\"/><path fill=\"%23aaa\" d=\"M99 213l-1 89 104 102 205-201v-91L203 315 99 213z\"/></svg>') !important;\n }\n input[type=\"checkbox\"]:indeterminate {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23000\"/><rect x=\"64\" y=\"192\" width=\"384\" height=\"128\" fill=\"%23ddd\"/></svg>') !important;\n background-size: cover !important;\n }\n input[type=\"checkbox\"]:indeterminate:disabled {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23282828\"/><rect x=\"64\" y=\"192\" width=\"384\" height=\"128\" fill=\"%23aaa\"/></svg>') !important;\n }\n input[type=\"radio\"]:checked {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23000\"/><circle cx=\"256\" cy=\"256\" r=\"96\" fill=\"%23ddd\"/></svg>') !important;\n background-size: cover !important;\n }\n input[type=\"radio\"]:checked:disabled {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23282828\"/><circle cx=\"256\" cy=\"256\" r=\"96\" fill=\"%23aaa\"/></svg>') !important;\n }\n /*[[tab-size]]*/\n /* User time line firsts */\n img[src$=\"profile-joined-github.png\"] {\n padding-bottom: 20px !important;\n }\n table.pricing-table td:first-child {\n text-indent: 9px;\n }\n /* HACK: Label colors */\n [class*=\"IssueLabel\"][style*=\" color: #f\"], .IssueLabel a[style*=\"color: #f\"],\n .issue-card-label[style*=\" color: #f\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #e\"], .IssueLabel a[style*=\"color: #e\"],\n .issue-card-label[style*=\" color: #e\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #d\"], .IssueLabel a[style*=\"color: #d\"],\n .issue-card-label[style*=\" color: #d\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #c\"], .IssueLabel a[style*=\"color: #c\"],\n .issue-card-label[style*=\" color: #c\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #3\"], .IssueLabel a[style*=\"color: 3\"],\n .issue-card-label[style*=\" color: #3\"] {\n color: #181818 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #2\"], .IssueLabel a[style*=\"color: #2\"],\n .issue-card-label[style*=\" color: #2\"] {\n color: #181818 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #1\"], .IssueLabel a[style*=\"color: #1\"],\n .issue-card-label[style*=\" color: #1\"] {\n color: #181818 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #0\"], .IssueLabel a[style*=\"color: #0\"],\n .issue-card-label[style*=\" color: #0\"] {\n color: #181818 !important;\n }\n /* Fix GitHub's weird dark mode labels by reverting them to light mode values */\n .hx_IssueLabel {\n --lightness-threshold: .453 !important;\n --border-threshold: .96 !important;\n --border-alpha: max(0, min(calc((var(--perceived-lightness) - var(--border-threshold)) * 100), 1)) !important;\n background: rgb(var(--label-r), var(--label-g), var(--label-b)) !important;\n color: hsl(0, 0%, calc(var(--lightness-switch) * 100%)) !important;\n border-color: hsla(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) - 25) * 1%), var(--border-alpha)) !important;\n }\n /* Tooltip on contribution calendar */\n .svg-tip {\n color: #949494;\n }\n .svg-tip strong {\n color: #dcdcdc;\n }\n .Label--gray-darker {\n border-color: #484848 !important;\n }\n .project-card .highlight pre {\n padding: 1em;\n overflow: auto;\n white-space: pre;\n word-wrap: initial;\n }\n .project-card code {\n padding: .2em .4em;\n }\n .markdown-title code {\n background: #2d2d2d;\n }\n .intgrs-lstng-item-description::after {\n background-image: linear-gradient(to right, rgba(24, 24, 24, 0), #181818 80%) !important;\n }\n .marketplace-product-callout-bg {\n background-image: linear-gradient(to right, rgba(24, 24, 24, 0), #181818) !important;\n }\n .CircleBadge--github::after {\n background-color: #fff;\n }\n div[style*=\"background: linear-gradient(to bottom, rgba(246,248,250,0.5) 0%,rgba(246,248,250,1) 100%);\"] {\n background: linear-gradient(to bottom, rgba(32, 32, 32, .5) 0%, #202020 100%) !important;\n }\n .profile-timeline-month-heading {\n padding: 2px 5px !important;\n }\n input.tree-finder-input, input.tree-finder-input:focus {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n }\n .dropdown-menu, .word-upload-callout, .select-menu-modal {\n box-shadow: 0 3px 12px rgba(0, 0, 0, .4);\n }\n .dropdown-menu-dark::after {\n border-bottom-color: #343434 !important;\n }\n .exploregrid-item {\n border-color: rgba(255, 255, 255, .075) !important;\n box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 5px 10px rgba(0, 0, 0, .05) !important;\n }\n .exploregrid-item:hover {\n border-color: rgba(255, 255, 255, .15) !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, .15), 0 8px 15px rgba(0, 0, 0, .3) !important;\n }\n .box-shadow-large, html[class*=\"ghh-\"] .tooltipster-box {\n box-shadow: 0 1px 15px #000 !important;\n }\n img[src*=\"images/modules/checks\"].box-shadow-large {\n box-shadow: 0 1px 15px #fff !important;\n }\n /* add rounded borders on bottom */\n body[data-render-url], .render-viewer, .comment-content, .more-repos,\n .comment table {\n border-radius: 0 0 3px 3px !important;\n }\n .dashboard-tabs a, .search-filters {\n border-radius: 0 !important;\n }\n /* repo labels, private repo lists */\n .repo-label span, .private .repo-list-item, .hook-delivery-guid {\n background: #222 !important;\n color: #777 !important;\n }\n .private .mini-repo-list-item .repo-icon {\n color: #777 !important;\n }\n .private .mini-repo-list-item {\n background: #221 !important;\n }\n .section-nav .active a, .js-current .standalone a, .sidebar-module .disable>a {\n border-radius: 0 !important;\n border-left: 2px solid #eee !important;\n }\n .dropdown-arrow {\n border-top-color: #eee !important;\n transition: none !important;\n }\n #com #header .top-nav .dropdown-caret {\n border-top-color: #ccc !important;\n }\n .js-menu-target:hover .dropdown-arrow {\n border-top-color: /*[[base-color]]*/ !important;\n }\n .bg-gray-dark, .CheckRun {\n background: #181818 !important;\n }\n /* Add border-top to PR checks results blank slate */\n aside.border-top + section.bg-gray-dark:not([class*=\"js-\"]) {\n border-top: 1px solid #343434;\n }\n /* Make it more apparent that <details> is clickable */\n .markdown-body details summary:not([aria-haspopup]):hover {\n background: #282828;\n box-shadow: 0 0 0 2px #282828;\n cursor: pointer;\n }\n /* https://github.com/about/diversity dots fix */\n .bg-hero-dots-gray::after {\n filter: brightness(50%);\n }\n /* GitHub Bug: Center discussion close icon vertically */\n .discussion-item-closed .octicon {\n position: relative !important;\n top: -1px;\n }\n /* GitHub Bug: Center counters vertically on the line */\n .boxed-group .counter, .reponav-item .counter, .boxed-group .Counter,\n .reponav-item .Counter {\n position: relative !important;\n top: -1px !important;\n }\n /* GitHub Bug: Fix image swipe handle misalignment */\n .swipe .swipe-frame .swipe-bar .top-handle,\n .swipe .swipe-frame .swipe-bar .bottom-handle {\n left: -6px !important;\n }\n /* GitHub Bug: Stop commit message field from resizing horizontally */\n #commit-description-textarea {\n resize: vertical !important;\n }\n /* GitHub Bug: Fix cut-off 'g' letters in box headers like on https://github.com/notifications */\n .boxed-group .heading, .boxed-group > h3 {\n padding: 7px 10px 8px;\n line-height: inherit;\n }\n /* GitHub Bug: Fix cut-off 'g' letters on user page timeline repo names */\n .profile-timeline .lh-condensed {\n line-height: 1.35rem !important;\n }\n /* GitHub Bug: Fix cut-off 'g' letters on action workflow list */\n [id^=\"check_suite\"] .lh-condensed {\n line-height: 1.35rem !important;\n }\n /* GitHub Bug: fix disabled dropdown entries bg hover see https://git.io/Jfjul */\n .btn-link:disabled:hover {\n background: none;\n }\n /* GitHub Bug: Fix .branch-action-state ::after border right color */\n .branch-action-state-clean .timeline-comment--caret::after,\n .branch-action-state-dirty .timeline-comment--caret::after,\n .branch-action-state-unknown .branch-action-body::after,\n .branch-action-state-unstable .branch-action-body::after {\n border-right-color: #181818;\n }\n /* GitHub Bug: Vertically center ... expander in box headers */\n .Box-header .Details .ellipsis-expander {\n position: relative;\n top: -1.5px;\n }\n /* GitHub Bug: Vertically center counters on issue list \"Labels\" button */\n .subnav-item .Counter {\n position: relative;\n top: -1.25px;\n }\n /* GitHub Bug: Make review comment file table full width */\n .comment-body .blob-wrapper > table {\n width: 100%;\n }\n /* GitHub Bug: Vertically center labels on issue lists and add some margin */\n .Box-row .labels {\n vertical-align: middle;\n margin-left: .25rem;\n }\n /* GitHub Bug: Remove vertical padding on code suggestions diffs */\n .js-comment-body .blob-code-inner.py-1 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n /* GitHub Bug: Fix cut-off actions sidebar */\n .js-check-suites-sidebar {\n height: auto !important;\n }\n /* GitHub Bug: Fix link color in markdown comments */\n .reorderable-task-lists .markdown-body .issue-link {\n color: var(--color-text-link);\n font-weight: inherit;\n }\n /* GitHub Bug: Ensure body covers viewport height */\n body {\n min-height: 100vh;\n }\n /* GitHub Bug: Fix margin imbalance in issue comments */\n .edit-comment-hide > .mb-2 {\n margin-bottom: 0 !important;\n }\n .edit-comment-hide > .mb-2 .comment-reactions {\n margin-bottom: 8px !important;\n }\n /* Opinionated: Remove excessive box padding and adjust avatars to match */\n .Box-row, .Box-header, .Box-body {\n padding: 8px 12px;\n }\n .file-header {\n padding: 4px 6px;\n }\n .js-code-editor .file-header {\n padding: 5px 10px;\n }\n /* https://github.com/vednoc/userstyles.world */\n /* https://github.com/vednoc/userstyles.world/blob/main/themes */\n /* https://github.com/vednoc/userstyles.world/blob/main/themes/.gitkeep */\n .avatar[width=\"24\"], .avatar-user[width=\"24\"] {\n width: 20px;\n height: 20px;\n }\n .AvatarStack .avatar {\n width: 20px !important;\n height: 20px !important;\n overflow: visible !important;\n }\n .Box-header .avatar[width=\"24\"], .Box-header .avatar-user[width=\"24\"] {\n position: relative;\n top: 2px;\n left: 2px;\n }\n .Box-header a[rel] .avatar[width=\"24\"],\n .Box-header a[rel] .avatar-user[width=\"24\"] {\n top: -1px;\n left: 2px;\n margin-right: 4px;\n }\n .Box-header .ml-n1 {\n margin-left: 0 !important;\n margin-right: -8px !important;\n }\n /* fix close icon when .m-0 class is applied */\n .Box-btn-octicon.btn-octicon.m-0 {\n margin: -8px !important;\n }\n /* Repo files table: Make first border blue */\n .repository-content .Box.mb-3 .Details .sr-only + .Box-row {\n border-top-color: #246 !important;\n }\n /* Various tweaks to own comments in discussion */\n .discussion-comment.current-user div.clearfix {\n border-radius: 3px 3px 0 0;\n }\n .discussion-comment .js-inline-comments-container,\n .discussion-comment .js-resolvable-timeline-thread-container {\n background: none;\n }\n .discussion-comment .review-thread-reply {\n border-radius: 0 0 5px 5px;\n }\n .discussion-comment.current-user .review-thread-reply {\n background: #182030;\n border-color: #246;\n }\n /* Monochrome Issue progress icon */\n tracked-issues-progress circle[stroke] {\n --color-accent-fg: #ccc;\n }\n /* \"Code\" button on repo */\n .btn-primary .octicon {\n color: inherit;\n }\n .btn-primary.disabled, .btn-primary:disabled,\n .btn-primary[aria-disabled=\"true\"], .btn.disabled, .btn:disabled,\n .btn[aria-disabled=\"true\"] {\n color: var(--color-icon-tertiary);\n }\n /* topic tags */\n .topic-tag {\n box-shadow: inset 0 0 0 1px #246 !important;\n }\n .topic-tag.topic-tag-outline {\n box-shadow: inset 0 0 0 1px #6d7c9c !important;\n }\n /* user page sticky header */\n main > div.position-sticky.d-md-block.width-full {\n position: relative;\n }\n main > div.position-sticky.d-md-block.width-full:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: -24px;\n height: 24px;\n background: #181818;\n }\n /* Add bottom border on subnav - https://github.com/topics */\n .site-subnav {\n box-shadow: 0 1px 0 #343434 !important;\n }\n @media screen and (min-width: 1024px) {\n .site-subnav .subnav-primary.selected, .site-subnav .subnav-primary:hover {\n border-bottom-color: #eee !important;\n }\n }\n @media screen and (max-width: 768px) {\n body .p-responsive .subnav-btn {\n background: transparent !important;\n }\n body .p-responsive .subnav-link[href=\"https://enterprise.github.com/contact\"] {\n border-bottom-color: transparent !important;\n color: #8e8e8e !important;\n }\n body .p-responsive .subnav-link[href=\"https://enterprise.github.com/contact\"]:hover {\n border-bottom-color: transparent !important;\n color: #c6c6c6 !important;\n }\n }\n /* invisible border */\n @media screen and (max-width: 768px) {\n body.page-responsive .site-subnav .subnav-primary.selected,\n body.page-responsive .site-subnav .subnav-primary:hover {\n border-bottom-color: transparent !important;\n color: #c6c6c6 !important;\n }\n }\n .avatar-stack .avatar, .tabs > a, .header .divider-vertical, .about-menu-link {\n border-color: transparent !important;\n }\n /* darken border */\n .wiki-wrapper .wiki-empty-box:hover, .about-menu-link:hover,\n .about-menu-link.selected, .pricing-table {\n border-color: #777 !important;\n }\n /* brighten border */\n .filter-item.selected .Label--outline-white {\n border-color: #fff;\n }\n .filter-tab.selected {\n border: 1px solid #444 !important;\n border-bottom: 1px solid #343434 !important;\n }\n .follow-list .follow-list-item {\n border-bottom: 1px solid #343434 !important;\n }\n .branch-action-body::after {\n border-right-color: #181818 !important;\n }\n .branch-action-state-closed-dirty .branch-action-icon,\n .branch-action-state-dirty .branch-action-icon,\n .is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-icon,\n .State[title*=\"draft\" i] {\n background: #484848;\n }\n /* https://github.com/mobile/ */\n .mobile-gradient-bg {\n display: none;\n }\n svg.mobile-hero {\n filter: invert(100%) hue-rotate(180deg);\n }\n /* discussion timeline tweaks */\n .closed-banner {\n display: none !important;\n }\n /* background image on https://github.com/stylishThemes/github-dark/actions/new */\n .repo-actions-hero {\n filter: invert(1) hue-rotate(180deg);\n mix-blend-mode: exclusion;\n }\n .release .markdown-body img {\n background: none;\n }\n .js-profile-timeline-year-list {\n background: none !important;\n }\n .contribution-activity-listing .Progress {\n background: none !important;\n }\n .contribution-activity-listing .Progress-item {\n background: /*[[base-color]]*/ !important;\n }\n .discussion-timeline-actions {\n border-top: 2px solid #383838 !important;\n background: none !important;\n }\n .discussion-timeline::before {\n margin-top: 2px !important;\n background: #383838 !important;\n height: calc(100% - 259px) !important;\n }\n .profile-timeline.discussion-timeline::before {\n height: 100% !important;\n }\n .listings div.listing {\n border-left: 2px solid #333 !important;\n border-right: 2px solid #333 !important;\n }\n #org-members .member-listing {\n border-left: 1px solid #333 !important;\n border-right: 1px solid #333 !important;\n }\n .MarketplaceSideNav, .plans-card-text:first-child {\n border-right-color: #484848 !important;\n }\n /* fix commit form bg color */\n .commit-form {\n background-color: var(--ghd-bg-color);\n }\n .Popover-message.Box {\n background-color: var(--ghd-bg-color);\n }\n .Popover-message.box-shadow-large {\n box-shadow: 0 8px 24px rgba(24, 24, 24, .8) !important;\n }\n .Popover-message--top-left::after {\n border-bottom-color: #181818 !important;\n }\n .word-upload-callout::before, .word-upload-callout::after,\n .select-menu-modal-arrow::after, .Popover-message--top-left::before {\n border-bottom-color: #343434 !important;\n }\n .repo-filterer .repo-filter:hover, .review-summary::before {\n border-bottom-color: #484848 !important;\n }\n .issue-head {\n border-bottom-width: 1px !important;\n }\n .context-button:hover::after, .switcher > span::before {\n border-color: #eee transparent transparent !important;\n }\n /* repo tab tweaks */\n .reponav-item {\n border-top-width: 1px !important;\n }\n .reponav-item.selected {\n border-color: #343434;\n }\n .pagehead-tabs-item {\n border-top-width: 1px !important;\n }\n .Header .header-search-wrapper, .Header .header-search-wrapper input {\n background: #202020 !important;\n }\n .file-header {\n background: #202020 !important;\n }\n .js-new-comment-form .previewable-comment-form .tabnav-tab.selected,\n .js-new-comment-form .previewable-comment-form .tabnav-tab[aria-current]:not([aria-current=\"false\"]),\n .js-new-comment-form .previewable-comment-form .tabnav-tab[aria-selected=\"true\"],\n .timeline-new-comment .timeline-comment,\n .timeline-new-comment .tabnav-tab.selected,\n .timeline-new-comment .tabnav-tab[aria-current]:not([aria-current=\"false\"]),\n .timeline-new-comment .tabnav-tab[aria-selected=\"true\"],\n .previewable-comment-form .comment-form-head.tabnav,\n .timeline-comment.current-user.is-comment-editing {\n background: #1b1b1b !important;\n }\n .new-discussion-timeline .composer .comment-form-head.tabnav {\n background: #202020;\n }\n .pagehead-tabs-item.selected, .reponav-item.selected, .tabnav-tab.selected,\n .tabnav-tab.selected, .tabnav-tab[aria-selected=\"true\"],\n .tabnav-tab[aria-current]:not([aria-current=\"false\"]) {\n background: #202020;\n border-bottom-color: #202020 !important;\n }\n .branches .branch-summary + .branch-summary {\n border-top-color: #333 !important;\n }\n /* code */\n .linkable-line-number {\n border-right: 1px solid #484848 !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/620 */\n .timeline-comment-header .css-truncate-target {\n max-width: 250px !important;\n }\n /* fix background on \"new issue\" form */\n .timeline-comment > div.p-0.mb-md-0 {\n background: var(--ghd-bg-color);\n border-radius: 3px 3px 0 0;\n }\n /* tooltip - tooltipped */\n .octotip {\n background-color: #003 !important;\n border-color: #006 !important;\n }\n .tooltipped::after {\n background: #343434 !important;\n }\n .tooltipped-n::before, .tooltipped-ne::before, .tooltipped-nw::before {\n border-top-color: #343434 !important;\n }\n .tooltipped-s::before, .tooltipped-se::before, .tooltipped-sw::before {\n border-bottom-color: #343434 !important;\n }\n .tooltipped-e::before {\n border-right-color: #343434 !important;\n }\n .tooltipped-w::before {\n border-left-color: #343434 !important;\n }\n .review-comment[aria-selected=true],\n .timeline-comment[aria-selected=true] .review-summary {\n background-color: #181818 !important;\n box-shadow: 0 0 0 .2em rgba(/*[[base-color-rgb]]*/, .3) !important;\n }\n .timeline-comment-group[aria-selected=true] .timeline-comment::before {\n border-right-color: /*[[base-color]]*/ !important;\n left: -17px !important;\n filter: none !important;\n }\n .timeline-comment:target .review-summary::after {\n top: -16px !important;\n filter: none !important;\n }\n .timeline-comment[aria-selected=true] .review-summary::before {\n border-bottom-color: rgba(/*[[base-color-rgb]]*/, .3) !important;\n top: -19.75px !important;\n filter: none !important;\n }\n /* fix .discussion-topic-header in first PR bg color match the arrow */\n .timeline-comment .discussion-topic-header {\n background-color: var(--ghd-bg-color);\n }\n /* search - language sidebar - https://github.com/StylishThemes/GitHub-Dark/search?q=markdown */\n div.container-lg > div.float-left.px-md-2 > .border.rounded-1.d-none.d-md-block {\n background: #181818;\n border-color: #484848 !important;\n }\n .dashboard-sidebar, .tint-box, .capped-card-content, .table-list-item,\n .pinned-issue-item, .line-comments, .js-notice > .border:not(.bg-blue-light),\n .js-notice.border, #projects-results, .pr-toolbar.is-stuck, .pinned-issue-item,\n .pinned-item-list-item, article.border.rounded-1, #search-member,\n .sidebar-progress-bar > .d-flex,\n .pagination-loader-container .discussion-item-header .border,\n #wiki-footer .border-dashed, #wiki-rightbar .border-dashed,\n .profile-timeline-card, .avatar-before-user-status,\n .graph-before-activity-overview, .access-form-wrapper,\n .border-right.border-bottom.border-left, .news .issues_labeled .border,\n table.pricing-table, .two-factor-steps, .project-column,\n .branch-action-item.js-transitionable, .prose-diff, .listgroup,\n .repository-og-image:not([style*=\"background-image\"]),\n .thread-subscription-status {\n background: #181818;\n }\n /* Expandable review boxes, rendered and loading */\n .js-inline-comments-container, .js-resolvable-timeline-thread-container {\n background: #181818;\n border-radius: 3px;\n }\n .js-diff-load-container, .file .data.empty {\n background-color: var(--ghd-code-background) !important;\n border-radius: 0 0 5px 5px !important;\n }\n /* unread notifications are darker bg than read issue #1095 */\n .blame-hunk .blame-commit, .notifications-list-item.notification-unread {\n background: #181818;\n }\n /* read notifications are lighter bg than read issue #1095 */\n .notifications-list .list-style-none.bg-gray {\n background: #1e1e1e !important;\n }\n .blame-hunk, .blame-hunk .blob-num, .render-container, .blob-wrapper {\n background-color: var(--ghd-code-background) !important;\n }\n .radio-label, [style*=\"background-color: #2f363d\"],\n .project-full-screen .project-header {\n background-color: #181818 !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/811 */\n .application-main > main .container-sm > .pt-4.bg-white.text-center {\n background: none !important;\n }\n /* Labels/Milestone links https://github.com/StylishThemes/Github-Dark/issues */\n .subnav-links {\n background: #181818;\n }\n /* blankslates */\n /* bordered: https://github.com/StylishThemes/GitHub-Dark/actions/runs/42585904 */\n /* bordered: https://github.com/StylishThemes/GitHub-Dark/network/alerts */\n /* unbordered: https://github.com/StylishThemes/GitHub-Dark/pull/1069/files/d0801046a22eaf88d9081de9c7d415825cb1f9fa..291b428577d344d54039de9aa0d8ed3a8fcfaebc */\n .blankslate {\n background: none !important;\n }\n .blankslate.border, .blankslate.border-gray-light,\n .js-updatable-content > .border.rounded-1 {\n background: #181818 !important;\n }\n /* add background to pagination active states and remove transitions */\n .pagination a:active, .pagination a:focus, .pagination a:hover,\n .pagination em:active, .pagination em:focus, .pagination em:hover,\n .pagination span:active, .pagination span:focus, .pagination span:hover {\n background: #181818;\n transition: none !important;\n }\n .pagination a, .pagination em, .pagination span {\n transition: none !important;\n }\n /* add background to discussions sidebar box */\n .repository-content > .js-check-all-container .d-none.d-lg-block > .border {\n background: #181818;\n }\n /* add background to packages page */\n /* https://github.com/yarnpkg/berry/packages/19319 */\n .repository-content .border.rounded-1.px-3.py-4.mb-6 {\n background: #181818;\n }\n button.bg-white.subnav-link, main [style=\"background-color: #fcfdfd;\"],\n .repository-content > .bg-white:not(.card-filter-autocomplete-dropdown) {\n background-color: transparent !important;\n }\n .sidebar-module, div.search-form input, #search > input[name=\"q\"],\n .ais-SearchBox-input {\n background-color: #181818;\n border-color: #343434;\n }\n .blob-num-context, #user-content-toc td {\n background: #141414 !important;\n }\n .action-card::after, .action-card::before {\n background-color: #202020 !important;\n box-shadow: 0 0 0 1px #555 !important;\n }\n /* pseudo-transparent effects */\n .conversation-list-heading .inner, .profile-timeline-month-heading {\n background-color: var(--ghd-bg-color) !important;\n }\n /* Navigation focus */\n .list-browser-item.navigation-focus, .js-details-container.navigation-focus,\n .js-details-container.navigation-focus:nth-child(2n), .team-grid .team-members,\n .tree-browser tr.navigation-focus td,\n .issues-listing .table-list-issues .selectable:hover,\n .issues-listing .table-list-issues .navigation-focus, .setup-plans tr.selected,\n .notifications .navigation-focus, .sidebar-module ul ul li a:hover,\n .no-results, #gollum-editor-help-list, .owner-select-target,\n .divider .blob-code div.highlight,\n .oauth-org-access-details .boxed-group-list > li.on:hover, pre div:hover,\n .summary-stats li a:hover, .pinned-repos-selection-list-item.selected,\n .Box-body-row--highlight.navigation-focus, .Box-body-row--highlight:hover,\n .js-current .standalone a, .Box-row--focus-gray.navigation-focus,\n .team-listing .is-open.root-team, .Box-row--hover-gray:hover,\n .label-select-menu .select-menu-item.navigation-focus,\n .label-select-menu .select-menu-item:focus,\n .label-select-menu .select-menu-item:hover {\n background: #222 !important;\n }\n .search-result-group {\n background: #282828 !important;\n border-color: rgba(68, 68, 68, .5) !important;\n color: #555 !important;\n }\n .blame-commit-next .blame-commit-info, .blame-commit-next + .blame-line,\n .ScreenshotCarousel-nav {\n box-shadow: inset 0 1px 0 #343434 !important;\n }\n /* semi-transparent */\n .context-loader.large-format-loader, #graphs .loader, .org-header,\n .illflow-item:not(.selected):hover, .orghead, .dropdown-toggle:hover,\n .dropdown-toggle.selected {\n background: rgba(20, 20, 20, .4) !important;\n }\n /* repo/page header */\n .page-responsive .repohead, .page-responsive .pagehead,\n .repohead.bg-gray-light, .pagehead.bg-gray-light, main > .bg-gray-light,\n .application-main > .bg-gray-light {\n background: rgba(20, 20, 20, .4) !important;\n }\n main > .bg-gray-light nav.bg-gray-light {\n background: none !important;\n }\n .explore-signup-entice-inner {\n background: rgba(20, 20, 20, .9) !important;\n }\n .starred-repo.navigation-focus, .marketing-section-stripe,\n .blob-expanded .blob-num, .blob-expanded .blob-code, .migration-section-grey {\n background: rgba(50, 50, 50, .5) !important;\n }\n .details-expanded-dark[open] > summary::before,\n .details-overlay-dark[open] > summary::before,\n body.status .details-overlay-dark[open] > summary::before,\n body[class=\"page-responsive\"] .details-overlay-dark[open] > summary::before,\n .SelectMenu::before {\n background: rgba(0, 0, 0, .5) !important;\n }\n .svg-tip {\n background: rgba(12, 12, 12, .8) !important;\n }\n .svg-tip::after {\n border-top-color: rgba(12, 12, 12, .9) !important;\n }\n .shelf {\n background-color: rgba(0, 0, 0, .2) !important;\n background-image: none !important;\n }\n /* page overlay */\n .select-menu-loading-overlay, .slow-loading-overlay,\n .branches .loading-overlay {\n background-color: rgba(24, 24, 24, .6) !important;\n }\n /* remove background */\n body > pre, .textographic a.repo, .stars-browser .filter-bar,\n .highlight .file-diff-line:hover pre, .gravatar, .topsearch span.search-input,\n p.meta, #facebox, .profilecols .filter-bar, .btn-group,\n div.content-header .search-form, .file-code, .org-header .edit-org:hover,\n #wrapper, .gravatar img, .commit-comments-header-sha, pre.headers code,\n .audit-search-form, .columns.equacols.bordered, .commits li img,\n a.minibutton code, .keyboard-mappings th, .api #header-wrapper .nav,\n .marketing-nav a.selected, #graph_data .tabs, .org-nav-item.selected,\n .edit-team-member:hover, tr.commit, .release-timeline .js-details-container,\n .section-heading-title a.js-selected-navigation-item,\n .featured-callout .screenshot, .timeline-commits .commit-meta .status,\n .theme-picker-spinner, .timeline-commits .commit-meta .octicon,\n .file .meta-divider, .avatar-stack.multiple-avatars::before, #feedHandler,\n .discussion-sidebar-item .thread-subscription-status,\n .boxed-group.application-show-group .logo-upload, .diagram-icon-small,\n #readme .highlight, .ace-github, .theme-picker, .avatar-stack .avatar,\n .boxed-group, .header .divider-vertical, .ace-github-base16,\n .markdown-body pre code, .markdown-body pre tt, #readme .plain pre,\n .uploaded-files, .input_area, #notebook .highlight, #notebook .highlight pre,\n .output_area pre, .delete-owners-button:hover, .avatar-child,\n .session-authentication .header-logged-out,\n .session-authentication .auth-form-header,\n .timeline-progressive-disclosure-items, #com #footer, .shade-gradient,\n #categories .list, .main-content, .showcase-page-header,\n .showcase-page-pattern::after, .description-inline, .result-group a,\n .border-wrap, a.feed-icon, .session-device,\n .boxed-group-list > li.session-device:hover,\n .merge-status-item .merge-status-icon, .project-columns, .project-header,\n .user-profile-nav, .profile-timeline-year-list.bg-white,\n .discussion-item-review .timeline-comment, .libraries-jumbotron,\n .bg-shade-gradient, .dev-hero,\n .render-container.is-render-ready.is-render-requested:not(.is-render-failed),\n .user-list li em, .api table, .dashboard-notice .coupon, .release-label,\n .oauth-org-access-details .oauth-org-item.on, .MarketplaceSideNav,\n .timeline-inline-comments, .AvatarStack-body, .team-discussions-container,\n .Collection ~ div[style*=\"linear-grad\"],\n .application-main > div[style*=\"background\"], .AvatarStack-body .avatar,\n .dropdown-toggle, ul.add-member-team-list.table-list, .gh-header,\n .enterprise-prompt, .enterprise-prompt *, .diffbar, .footer .bg-gray-light,\n .application-main [style*=\"background: linear-gradient(#ffffff, #fcfcfc)\"],\n section[style=\"background-color: #fafbfc;\"], div[style=\"background:#fafbfc;\"],\n .team-left-column, .render-container.js-actions-page,\n .deployments-timeline-icon, .TimelineItem--condensed .TimelineItem-badge,\n .notification-navigation, .check-annotation code pre,\n .merge-status-item > [style*=\"#fff\"], .pagehead, .pagehead nav {\n background: none !important;\n }\n @media (min-width: 1012px) {\n .file-commit-form--full {\n background: none !important;\n }\n }\n body[class=\"page-responsive\"] .repo-list .private {\n background-color: initial;\n }\n .TimelineItem-badge {\n border-color: var(--ghd-bg-color);\n }\n /* org page graphs - https://github.com/StylishThemes */\n rect[style*=\"#gradient-\"] {\n fill: /*[[base-color]]*/ !important;\n }\n /* contribution progress bars on user page */\n .contribution-activity-listing .progress-bar[style*=\"7bc96f\"],\n .facebox-close:hover {\n opacity: 1 !important;\n }\n .contribution-activity-listing .progress-bar[style*=\"c6e48b\"], .facebox-close {\n opacity: .75 !important;\n }\n .notifications .read .avatar img {\n opacity: .7;\n }\n /* contribution calendar */\n .contribution-activity-listing .progress-bar[style*=\"background-color\"] {\n background-color: /*[[base-color]]*/ !important;\n fill: /*[[base-color]]*/ !important;\n }\n .contrib-legend .legend li {\n box-shadow: none !important;\n }\n .contrib-legend [style*=\"#ebedf0\"], .calendar-graph [fill=\"#ebedf0\"] {\n background: var(--color-calendar-graph-day-bg) !important;\n fill: var(--color-calendar-graph-day-bg) !important;\n }\n .contrib-legend [style*=\"#9be9a8\"], .calendar-graph [fill=\"#9be9a8\"] {\n background: var(--color-calendar-graph-day-L1-bg) !important;\n fill: var(--color-calendar-graph-day-L1-bg) !important;\n }\n .contrib-legend [style*=\"#40c463\"], .calendar-graph [fill=\"#40c463\"] {\n background: var(--color-calendar-graph-day-L2-bg) !important;\n fill: var(--color-calendar-graph-day-L2-bg) !important;\n }\n .contrib-legend [style*=\"#30a14e\"], .calendar-graph [fill=\"#30a14e\"] {\n background: var(--color-calendar-graph-day-L3-bg) !important;\n fill: var(--color-calendar-graph-day-L3-bg) !important;\n }\n .contrib-legend [style*=\"#216e39\"], .calendar-graph [fill=\"#216e39\"] {\n background: var(--color-calendar-graph-day-L4-bg) !important;\n fill: var(--color-calendar-graph-day-L4-bg) !important;\n }\n .calendar-graph .days-selected rect.day.active {\n stroke: #ddd !important;\n }\n .calendar-graph rect.day:hover {\n stroke: #fff !important;\n }\n .calendar-graph rect.day {\n outline: none !important;\n }\n .contrib-person path {\n fill-opacity: .6;\n }\n .progress-bar.anim-grow-x, .dev-hero, .header-search-key-slash,\n input[src$=\"with-facebook.png\"], #parallax_field, #parallax_illustration,\n figure .callout-permalink-big-image, figure .callout-permalink-stacked-image {\n filter: brightness(75%) !important;\n }\n img#parallax_error_text, div img[alt*=\"404\"] {\n filter: invert(100%) hue-rotate(180deg) brightness(120%) !important;\n }\n img[src*=\"data:image/jpeg;base64,/9j/4AAQSkZJRgA\"] {\n filter: brightness(90%);\n }\n img[src*=\"//render.githubusercontent.com/render/math\"] {\n filter: invert(90%);\n background-color: transparent;\n }\n .header-search-key-slash {\n filter: grayscale(100%) contrast(1.5) !important;\n }\n /* Activity Overview on userpage */\n .activity-overview-axis, .activity-overview-point {\n stroke: /*[[base-color]]*/ !important;\n }\n #user-activity-overview .js-highlight-blob {\n stroke: /*[[base-color]]*/ !important;\n fill: /*[[base-color]]*/ !important;\n opacity: .4 !important;\n }\n /* invert (rgb) */\n #header .logo, img[src=\"/images/logo@2x.png\"], .site-logo a,\n .github-jobs-promotion a.jobs-logo strong, iframe[src*=\"polldaddy.com\"],\n .swipe .swipe-frame .swipe-bar .top-handle,\n .swipe .swipe-frame .swipe-bar .bottom-handle,\n .onion-skin .controls .transparent, .onion-skin .controls .opaque,\n .onion-skin .controls .slider .slider-track,\n .onion-skin .controls .slider .slider-track .dragger,\n img[src$=\"favicons.githubusercontent.com/github.com\"],\n img[src$=\"invertocat.png\"], .ghd-invert, #footer .github img,\n #com span.octicon:not(.octicon-comment-discussion),\n .developer-thanks-image img, img[alt=\"GitHub Support\"] {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n .code-navigation-banner .code-navigation-banner-illo {\n filter: invert(900%) hue-rotate(180deg) contrast(70%) brightness(110%) !important;\n }\n /* code coverage */\n /* example: https://github.com/go-gitea/gitea/pull/6969 */\n img[data-canonical-src^=\"https://codecov.io\"][alt=\"Impacted file tree graph\"] {\n filter: invert(92%) hue-rotate(180deg) saturate(250%) !important;\n }\n /* marketplace + help + feature img invert */\n img[src*=\"marketplace-illustration-01.svg\"],\n img[src*=\"marketplace-illustration-02.svg\"],\n svg [data-name=\"Layer 2\"] #Layer_5[data-name=\"Layer 5\"],\n .illoTeam svg [data-name=\"Layer 2\"], .illoIndiv #Layer_2[data-name=\"Layer 2\"],\n svg [data-name=\"Layer 2\"] g[data-name=\"octocat header\"],\n svg[viewBox=\"0 0 1461.5 677.84\"][width=\"700\"],\n .feature-preview-dialog svg[fill=\"none\"],\n div[data-url*=\"/notifications/beta\"] img[src*=\"-zero.svg\"],\n div[data-url*=\"/notifications/beta\"] img[src*=\"saved-blank.svg\"] {\n filter: invert(85%) hue-rotate(-180deg) brightness(125%) contrast(85%) !important;\n }\n .action-logo::after {\n filter: invert(100%) hue-rotate(180deg) brightness(350%) !important;\n }\n img[alt=\"FOSSA Status\"], img[data-canonical-src*=\"prod/timeseries/\"],\n a[href$=\"vote\"] img[data-canonical-src*=\"/poll/\"], #parallax_error_text:not(p),\n img[data-canonical-src*=\"img.shields.io\"][data-canonical-src*=\"style=social\"],\n img[alt=\"Mona Lisa\"] {\n filter: invert(90%) hue-rotate(180deg) !important;\n }\n /* prevent background color inverting to bright color on opaque images */\n /* example: social buttons on https://github.com/facebook/jest#readme */\n img[alt=\"FOSSA Status\"],\n img[data-canonical-src*=\"img.shields.io\"][data-canonical-src*=\"style=social\"] {\n background: none !important;\n }\n .container-xl[id] img {\n z-index: 100 !important;\n }\n /* GeoJSON maps */\n /* https://github.com/benbalter/dc-maps/blob/master/maps/embassies.geojson */\n /* https://github.com/colemanm/hurricanes/blob/master/fl_2004_hurricanes.geojson */\n .leaflet-tile-container img {\n filter: invert(100%) hue-rotate(180deg) brightness(150%) !important;\n }\n .leaflet-marker-pane img:not(.leaflet-marker-icon), .gundamcat {\n filter: brightness(.8) !important;\n }\n .leaflet-popup-content-wrapper, .map-legends, .map-tooltip {\n background: var(--color-bg-secondary);\n }\n .leaflet-container {\n color: var(--color-text-secondary);\n }\n .leaflet-popup-tip {\n border-top-color: var(--color-bg-secondary);\n }\n .marker-properties tr:nth-child(2n) th, .marker-properties tr:nth-child(2n) td {\n background-color: var(--color-bg-tertiary);\n }\n .marker-properties, .marker-properties th, .marker-properties td {\n border: 1px solid var(--color-border-primary);\n }\n /* invert #fff to #181818 */\n /* https://github.com/sujitpal/statlearning-notebooks/blob/master/src/chapter2.ipynb */\n .project-preview-img img, img[src$=\"bg-callout.svg\"],\n img[data-canonical-src*=\"saucelabs.com/browser-matrix\"],\n img[src*=\"images/modules/checks\"], img[src$=\"profile-first-pr.png\"],\n img[src$=\"profile-joined-github.png\"], img[src$=\"profile-first-repo.png\"],\n img[src$=\"profile-first-issue.png\"], .github-jobs-logo strong, .leaflet-bar,\n .leaflet-control-attribution {\n filter: invert(90.5%) hue-rotate(180deg) saturate(200%) !important;\n }\n /* workaround filter creating a stacking context */\n .contribution-first-issue, .contribution-first-pull-request,\n .contribution-first-repository {\n opacity: .999 !important;\n }\n /* brighten language colors */\n .language-color, .repo-language-color {\n filter: brightness(125%) !important;\n }\n /* soft badges */\n .box-title-count {\n background-color: #484848 !important;\n color: #ccc !important;\n }\n /* Unicorn page - https://github.com/azadkuh/sqlite-amalgamation/blame/master/sqlite3.c */\n body > .container > p {\n color: #ccc;\n }\n /* change foreground color of yellow boxes */\n .Toast--warning .Toast-icon {\n color: #222;\n }\n /* change forground color of disabled things */\n .btn-primary.disabled, .btn-primary:disabled,\n .btn-primary[aria-disabled=\"true\"], .btn.disabled, .btn:disabled,\n .btn[aria-disabled=\"true\"] {\n color: hsla(0, 0%, 100%, .3);\n }\n /* svg styling */\n line, rect, path {\n shape-rendering: geometricPrecision !important;\n }\n .js-graph-punchcard svg.viz {\n background: transparent !important;\n border: none !important;\n }\n .reorderable-task-lists .markdown-body .task-list-item .drag-handle {\n fill: #c0c0c0 !important;\n }\n /* Firefox: Exclude text inside an svg loaded through an img, as seen in svg badges */\n *:not(img) text, circle.day {\n fill: #ccc !important;\n }\n circle.day:hover {\n fill: #fff !important;\n }\n path.js-diff-placeholder {\n fill: #282828 !important;\n }\n .prose-diff .changed .added, .prose-diff .changed ins,\n .prose-diff .changed ins code, .prose-diff .changed ins pre {\n background: #002800;\n border-bottom: 1px solid #373;\n }\n #contributors-master svg.viz {\n display: block !important;\n }\n g.dots circle {\n stroke: #222 !important;\n }\n .traffic-graph g.axis:not(.views):not(.unique) g.tick:not(:nth-child(15)):not(:first-of-type) line,\n g.axis path, line.axis, svg:not(.vis) g.axis line {\n stroke: #444 !important;\n }\n svg .path:not(.total):not(.unique):not(.views) {\n stroke: #aaa !important;\n }\n .workflow-string--crossover svg path[stroke=\"#D1D5DA\"] {\n stroke: #404040 !important;\n }\n #commit-activity-detail path.path,\n .traffic-graph g.x.axis g.tick:first-of-type line {\n stroke: #1db34f !important;\n }\n [style*=\"stroke: #dbab09\"], [stroke=\"#dbab0a\"] {\n stroke: #cb4 !important;\n }\n .traffic-graph g.x.axis g.tick:nth-child(15) line {\n stroke: #1d7fb3 !important;\n }\n svg.tick {\n fill: #444 !important;\n }\n svg.arrow[stroke=\"#1277eb\"], svg path[stroke=\"#1074E7\"] {\n stroke: /*[[base-color]]*/ !important;\n }\n .features-branch-diagram path[stroke=\"#c6d9ed\"],\n .features-branch-diagram path[stroke=\"#4182C4\"],\n .features-branch-diagram div:not(.active) .mega-octicon {\n stroke: /*[[base-color]]*/ !important;\n color: /*[[base-color]]*/ !important;\n }\n .features-branch-diagram circle[fill=\"#4183c4\"],\n .repo-list-stats a.issues:hover svg {\n fill: /*[[base-color]]*/ !important;\n }\n .features-branch-diagram circle[stroke=\"#ffffff\"] {\n stroke: #222 !important;\n }\n rect.map-background, .audit-log-map {\n fill: #1e4062 !important;\n background: #1e4062 !important;\n }\n path.land {\n stroke: #17334f !important;\n }\n circle.audit-point {\n fill: #742d14 !important;\n stroke: #57210f !important;\n }\n .graphs .selection .selection {\n fill: #888 !important;\n stroke: #888 !important;\n }\n /* monochrome backgrounds */\n .label-select-menu div.labelstyle-000000.selected {\n background: #282828 !important;\n }\n div#common-issues ul li a:hover, .rss-subscribe:hover {\n background-color: #282828 !important;\n }\n .jumbotron-codelines {\n background-color: #222 !important;\n }\n .community-checklist .progress-bar .progress {\n background-color: #333;\n }\n .profile-timeline.discussion-timeline::before,\n .profile-timeline.discussion-timeline .profile-timeline-month-heading::after,\n div[style*=\"background-color: #eaecef\"] {\n background: #343434 !important;\n }\n .oauth-permissions-details .permission-summary em.highlight {\n background: rgba(68, 68, 68, .5);\n color: #c6c6c6;\n }\n .labels .label-neutral, li.ssh-key .ssh-key-state-indicator.not-recent {\n background: #666 !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/search?q=test&unscoped_q=test */\n .Counter--gray {\n background: #999;\n color: #000;\n }\n .diverge-widget .separator {\n background: #ccc !important;\n }\n .menu-item.selected::before {\n background: #eee !important;\n }\n .qr-code-table, .qr-code-table .white {\n background: #fff !important;\n }\n /* actions in issues - this style needs to be after .bubble */\n .action-bubble .bubble,\n /* https://github.com/StylishThemes/GitHub-Dark/community/license/new?branch=master&template=mit */\n body .CommunityTemplate-header,\n [data-url$=\"recently_touched_branches_list\"],\n .merge-status-list .status-actions:hover, body > .application-main > .bg-gray {\n background: transparent !important;\n }\n .btn-mktg {\n background-color: rgba(/*[[base-color-rgb]]*/, .8);\n border-color: /*[[base-color]]*/;\n }\n .btn-mktg:hover {\n background-color: rgba(/*[[base-color-rgb]]*/, 1);\n border-color: /*[[base-color]]*/;\n }\n .btn-outline-mktg {\n background-color: transparent;\n border-color: rgba(/*[[base-color-rgb]]*/, .9);\n color: rgba(/*[[base-color-rgb]]*/, .9);\n }\n .btn-outline-mktg:hover {\n background-color: transparent;\n border-color: rgba(/*[[base-color-rgb]]*/, 1);\n color: rgba(/*[[base-color-rgb]]*/, 1);\n }\n .MarketplaceAnnouncement .btn-outline-mktg {\n background-color: transparent;\n border-color: #eee;\n color: #eee;\n }\n .MarketplaceAnnouncement .btn-outline-mktg:hover {\n color: #fff;\n border-color: #fff;\n }\n .MarketplaceAnnouncement {\n color: #fff;\n }\n .full-commit p.commit-title {\n color: #c6c6c6;\n }\n .subnav-item.selected, .subnav-item[aria-current]:not([aria-current=false]),\n .subnav-item[aria-selected=true] {\n border-color: /*[[base-color]]*/;\n }\n /* blue box */\n .github-jobs-promotion p, .octotip, .bootcamp h1, .bootcamp-body,\n .owners-notice, .blob-history, .new-user-avatar-cta, .jstree-wholerow-clicked,\n .file-history-tease, .feature-banner, .hook-delivery-guid, .RecentBranches,\n .signup-prompt-bg, ul.search-results li .label,\n div[style*=\"background-color: #044d6e\"],\n body[class=\"page-responsive\"] .bg-blue-light,\n .timeline-comment.current-user .previewable-comment-form .comment-form-head.tabnav,\n .hx_commit-tease, .full-commit {\n background: #182030 !important;\n }\n .topic-tag-contrast, .topic-tag-contrast .delete-topic-link, .topic-tag {\n background: #182030;\n }\n .commit-ref, .branch-name {\n background: #182030;\n color: #9daccc;\n border: 1px solid #246;\n }\n aside [style*=\"background-color: #4764f1\"] .text-white {\n background-color: #182030 !important;\n }\n .repo-file-upload-progress .repo-file-upload-meter, .topic-tag-link:hover,\n .delete-topic-button:hover, .topic-tag-contrast .delete-topic-link:hover {\n background: #273045;\n }\n /* repo page last commit */\n .Box-header--blue, .repository-content .Box-header.position-relative {\n background-color: var(--color-bg-info);\n border-color: var(--color-box-blue-border);\n }\n /* commit page latest commit */\n .repository-content .Box-header.Details {\n background-color: var(--color-bg-info);\n }\n .repository-content .Box-header.Details,\n .repository-content .Box.d-flex.flex-column.flex-shrink-0.mb-3 {\n border-color: var(--color-box-blue-border);\n }\n .new-user-avatar-cta, .blob-history, .feature-banner,\n .recently-touched-branches, .recently-touched-branches li,\n .project-updated-message, .timeline-comment-label.collaborator-comment,\n .hook-delivery-guid .octicon, .hook-delivery-guid a, a.topic-tag,\n .RecentBranches, .RecentBranches-item-link, ul.search-results li .label,\n .markdown-format table th, div[style*=\"background-color: #044d6e\"],\n .subset-files-tab .stale-files-tab-link,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header .link-gray,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header .text-gray,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header .Link--secondary,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header-text code a,\n .timeline-comment.current-user:not(.is-internal) .color-text-secondary,\n .timeline-comment.current-user:not(.is-internal) .btn-link[aria-haspopup] {\n color: #9daccc !important;\n }\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-action,\n .commit-ref a, a.branch-name {\n color: #9daccc;\n }\n .RecentBranches-item, .commit-ref .user {\n color: #6d7c9c;\n }\n .github-jobs-promotion p, .octotip, .bootcamp .bootcamp-body, .bootcamp h1,\n .owners-notice, .new-user-avatar-cta, .file-history-tease, .feature-banner,\n .recently-touched-branches, .timeline-progressive-disclosure-items button,\n .RecentBranches, .js-tag-input-tag, ul.search-results li .label,\n .topic-tag-action {\n border: 1px solid #246 !important;\n }\n .repo-file-upload-progress, .project-updated-message,\n .topic-tag-action .add-topic-button, .topic-tag-action .remove-topic-button,\n .commit-desc + .commit-branches,\n .pricing-matrix-table .pricing-matrix-table-dark,\n .repository-content > .Box--condensed:not(#readme):not(.file-holder),\n .border-blue, body[class=\"page-responsive\"] .border-blue,\n .timeline-comment.current-user .tabnav-tab.selected, .hx_commit-tease,\n .full-commit {\n border-color: #246 !important;\n }\n .topic-tag-contrast .delete-topic-link, .full-commit,\n .full-commit .commit-meta {\n border-color: #246;\n }\n .blob-history, .recently-touched-branches li {\n border-bottom-color: #246 !important;\n }\n .blob-history, .file-history-tease .participation {\n border-top: 1px solid #246 !important;\n }\n #new_hook .fields {\n border-width: 0 !important;\n }\n .commit-icon .octicon {\n border-radius: 100% !important;\n }\n /* original colors */\n .discussion-item-integrations-callout .discussion-item-icon {\n background: #4095c6 !important;\n }\n /* notebooks */\n .input_prompt {\n color: hsla(234, 100%, 65%, 1) !important;\n }\n .output_prompt {\n color: hsla(0, 100%, 65%, 1) !important;\n }\n /* gradient */\n /* file drag&drop overlay */\n .repo-file-upload-tree-target {\n background: radial-gradient(ellipse at center, #000 0%, rgba(0, 0, 0, .6) 65%, rgba(0, 0, 0, .6) 100%) !important;\n }\n .TimelineItem-break {\n background: linear-gradient(to bottom, var(--color-bg-canvas) 30%, transparent 80%) !important;\n }\n /* light grey gradient */\n .signup-button:hover, a.signin:hover, .hero .textographic,\n .hero .screenographic, .box-action:active,\n .clone-url-button.selected > .clone-url-link:hover, ul#bootcamp li a:hover h4 {\n background: linear-gradient(#303030, #282828) !important;\n border-color: #484848 !important;\n }\n .clone-url-button > .clone-url-link {\n border-color: #383838;\n }\n .project-issue-body-blur {\n background: linear-gradient(to top, #181818, rgba(0, 0, 0, 0)) !important;\n }\n .bg-custom-gradient {\n background-image: linear-gradient(180deg, #1c1c1c, rgba(0, 0, 0, 0)) !important;\n }\n .billing-per-seat-callout::after {\n box-shadow: 1px -1px 0 0 #343434 !important;\n }\n main [style=\"background: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0));\"] {\n background: linear-gradient(to top, #181818, transparent) !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1205 */\n [style*=\"background: #DBEDFF\"] {\n background: rgba(255, 255, 255, .1) !important;\n }\n .ScreenshotCarousel-navitem.selected {\n box-shadow: inset 0 0 10px rgba(255, 255, 255, .05) !important;\n }\n /* commits page - committer icon */\n .commits-list-item .committer-avatar {\n box-shadow: -2px -2px 0 rgba(0, 0, 0, .4) !important;\n }\n .Header .header-search-wrapper.focus {\n box-shadow: none !important;\n }\n .box-shadow {\n box-shadow: none !important;\n }\n /* box shadow below attach box - https://github.com/StylishThemes/GitHub-Dark/releases/new */\n /* + remove box shadowns on buttons and the like */\n .upload-progress, .social-count, .btn, .btn-outline.disabled,\n .btn-outline:disabled, .btn-outline[aria-disabled=\"true\"], .btn:active,\n .btn-blue:active {\n box-shadow: none;\n }\n /* https://github.com/team inline HTML fixes */\n .bg-white[style*=\"box-shadow: 0 0 20px 20px #ffffff\"] {\n box-shadow: 0 0 20px 20px #181818 !important;\n }\n [href=\"#organizations\"][style*=\"background-color: #fff\"] {\n background-color: transparent !important;\n }\n .Box-header[style*=\"background-color: #FFF3FA\"] {\n background-color: #222 !important;\n }\n .Box-header[style*=\"border-color: #F9B3DD\"] {\n border-color: #343434 !important;\n }\n .Header-link {\n color: #c6c6c6;\n }\n .full-commit div.commit-title {\n color: #c6c6c6;\n }\n .issues-reset-query-icon {\n color: #181818;\n background: #949494;\n }\n .donut-chart [style*=\"fill: none\"], .workflow-string svg,\n .workflow-success circle, .workflow-success path {\n fill: none !important;\n }\n /* Alerts and activity, remove background gradient */\n .metabox .editable-text:hover, #inbox .list .item .title span,\n .Subhead.border-bottom-0 {\n background-color: transparent !important;\n border: none !important;\n }\n /* Panels */\n #posts #rss, .signup-button, .hero h1, .plan.personal, .caption,\n .centered-graphic, .login_form h1 {\n background-color: /*[[base-color]]*/ !important;\n border-color: /*[[base-color]]*/ !important;\n }\n /* Red panel */\n .majorproblem .pageheader_wrap, .error_box, .btn-close-issue, .closed-issues,\n .topic-tag-action .remove-topic-button:hover,\n .menu-item-danger.navigation-focus, .menu-item-danger.selected:hover,\n .menu-item-danger.selected.navigation-focus {\n background-color: #d82828 !important;\n border-color: #383838 !important;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=\"true\"] {\n background: #181818;\n color: rgba(216, 40, 40, .4);\n box-shadow: none;\n }\n .btn-close-issue:hover, .minibutton.danger:hover, .remove-topic-button:hover {\n background: #d82828;\n border-color: #b00;\n }\n .deprecation-banner {\n background: #200;\n border-color: #d82828;\n }\n .mergeable-dirty .bubble, .mergeable-dirty .merge-status-icon,\n .dangerzone > h3 {\n background: #d82828 !important;\n }\n .block-diff-deleted, .text-diff-deleted .block-diff-neutral {\n background: #b22 !important;\n }\n /* pink */\n /* https://github.com/StylishThemes/GitHub-Dark/issues/949 */\n /* Github uses !important inline styles on some of these elements which are\n impossible to overrides via userstyle */\n [style*=\"border-bottom: 1px solid #f9b3dd\"] {\n border-bottom: 1px solid #c49 !important;\n }\n [style*=\"border: 1px solid #f9b3dd\"], [style*=\"border: 1px solid #ec6cb9\"] {\n border: 1px solid #c49 !important;\n }\n [style*=\"border: 1px solid #f9b3dd\"] .text-gray-dark {\n color: #333 !important;\n }\n [style*=\"background: #ffeef8\"], [style*=\"background-color: #ffeef8\"] {\n background-color: #170711 !important;\n }\n /* brown */\n #feedHeaderContainer, .feedBackground, .infotip, .form-actions .tip,\n .mini-callout, .snippet em, #message .sent, .notification, .callout, .ejector,\n #issues_search .results em, .bootcamp-help ul li, .btn-download,\n .feature-tabs .tab-button, .plan.free, #message.minor, .chzn-results li em,\n #missing-readme, .page-notice, .facebox-alert, .deprecation-warning,\n .branch-status.status-pending .discussion-item-icon,\n .discussion-event-status-renamed .discussion-item-icon,\n .discussion-topic .branch-status.status-pending,\n .discussion-item-review.is-pending .file-header,\n .discussion-item-review.is-pending .comment-form-head.tabnav,\n .timeline-comment.unread-item .timeline-comment-header, .Label.bg-yellow,\n .code-list-item-private .blob-num {\n background-color: #261d08 !important;\n border-color: #542 !important;\n color: #ddd !important;\n }\n .discussion-item-review.is-pending .file, .timeline-comment.unread-item,\n .timeline-comment.unread-item .timeline-comment-label,\n .review-comment .pending-batched-suggestion-label,\n .is-pending .review-summary-form-wrapper, .code-list-item-private .file-box {\n border-color: #542 !important;\n }\n .timeline-comment-wrapper .timeline-comment.unread-item::before {\n border-right-color: #542 !important;\n }\n .timeline-comment-wrapper .timeline-comment.unread-item::after {\n border-right-color: #261d08 !important;\n }\n .timeline-comment-wrapper {\n border-top-color: transparent;\n border-bottom-color: transparent;\n }\n #toc .octicon-diff-modified, .secret .repo-label span, .api .s2 {\n color: #b74 !important;\n }\n .deprecation-warning a {\n color: #c97 !important;\n }\n .code-list-item-private .divider .blob-code,\n .code-list-item-private .divider .blob-num,\n .js-notification-search-autocomplete-results .bg-yellow-light,\n .card-filter-autocomplete-dropdown .bg-yellow-light {\n background-color: #261d08 !important;\n }\n /* semi-transparent brown */\n .compare-pr-placeholder, .compare-cutoff, .diff-cutoff,\n .markdown-body li.added.moved, .repo-private-label, .label-private,\n .signed-out-comment, .commits-list-item em, .unsupported-browser,\n .prereceive-feedback, .code-list em, .issue-list em, .user-list em,\n .wiki-list em, .blob-code .bg-yellow-light,\n .codesearch-results #code_search_results .bg-yellow-light {\n background: rgba(51, 34, 17, .4) !important;\n border: 1px solid #542 !important;\n color: #ddd !important;\n }\n .stale-files-tab {\n background-color: #261d08;\n border: 1px solid #542;\n }\n /* yellow text */\n /* inline style, note this does not work when color is not first */\n /* https://github.com/StylishThemes/GitHub-Dark/issues/952#issuecomment-501451675 */\n [style^=\"color: #d3ac3b\"] {\n color: #cb4 !important;\n }\n /* .bg-pending might be a GitHub bug as it sets the fg */\n .text-pending, .text-renamed, .bg-pending, .page-new-repo .octicon-lock,\n body[class=\"page-responsive\"] .repo-list .private .octicon-lock,\n .menu a .octicon.color-yellow-7 {\n color: #cb4;\n }\n .archived-project-cards-pane .project-card .archived-header {\n color: #fbca04;\n }\n /* yellow background */\n .Label--outline.bg-yellow-light,\n .review-comment .pending-batched-suggestion-label {\n background: #302808 !important;\n }\n .border-bottom.bg-yellow-light {\n background: #302808 !important;\n border-color: #542 !important;\n }\n /* green */\n /* labels */\n #forkqueue .legend .clean, #revisions ul li.current, .excerpt, .plan.business,\n .popout, #statusbar, .clean td, #download_button, .status-box.good a,\n .new-issues, .new-pulls, .mergeable-clean .merge-status-icon,\n .settings-email .default, .repo-owner-comment .comment-header-tag,\n .mergeable-clean .bubble, .gh-header-status.open,\n .branch-status.status-success .discussion-item-icon, .boxed-group-success,\n #message.good, .add-topic-button:hover,\n .topic-tag-action .add-topic-button:hover {\n background: #163 !important;\n border-color: #041 !important;\n }\n main .note.bg-green-light {\n background: #002800 !important;\n border-color: #060 !important;\n }\n /* Green border */\n .billing-confirmation-box {\n border-color: #083 !important;\n }\n .border.border-green {\n border-color: #060 !important;\n }\n /* Green text */\n /* inline style, note this does not work when color is not first */\n /* https://github.com/StylishThemes/GitHub-Dark/issues/952#issuecomment-501451675 */\n [style^=\"color: #28a745\"] {\n color: #6cc644 !important;\n }\n .text-open, .text-success, .insertions, .cadd, .gi .diff-line-num,\n .authors-and-code .insertions, ul.summary-stats li .octicon-git-branch-create,\n ul.summary-stats li .octicon-issue-opened, #toc .octicon-diff-added,\n .setup-info-module .features-list .octicon, .setup-form-container .secure,\n .highlight .gi, .type-icon-state-open, .release-label.latest a,\n .release .Label--latest a, .menu a .octicon.text-green {\n color: #6cc644 !important;\n }\n /* bright green background */\n .block-diff-added, .text-diff-added .block-diff-neutral {\n background: #6cc644 !important;\n }\n .noproblems .pageheader_wrap, a.new-repo:hover {\n background: #373 !important;\n }\n /* New additions */\n .repo-owner-tag .tag {\n background: #070 !important;\n color: #ddd !important;\n }\n /* orange */\n #user-links .unread_count, .minorproblem .pageheader_wrap {\n background: rgba(203, 108, 0, .8) !important;\n }\n .text-orange, .release-label.prerelease, .release .Label--prerelease {\n color: #f3582c !important;\n }\n .release-label.prerelease, .release .Label--prerelease {\n border-color: #f66a0a !important;\n }\n /* pjax loading */\n .pjax-loader-bar .progress {\n background: /*[[base-color]]*/ !important;\n box-shadow: 0 0 10px /*[[base-color]]*/ !important;\n }\n ul.view-modes-menu {\n background-image: url(\"data:image/gif;base64,R0lGODlhBwAEAIAAACIiIv///yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==\") !important;\n }\n .mini-icon-windows::before {\n background-position: -18px 0 !important;\n }\n /* Repo list (https://github.com/{user}?tab=repositories) */\n .repo-list-item p, .repo-list-item .repo-list-stats {\n position: relative !important;\n z-index: 1 !important;\n }\n /* GitHub Enterprise (GHE) stuff */\n body.enterprise .repohead.experiment-repo-nav {\n background: rgba(24, 24, 24, .4);\n }\n body.enterprise .timeline-comment-wrapper .timeline-comment.current-user::before {\n border-right-color: #246;\n }\n body.enterprise .timeline-comment-wrapper .timeline-comment.current-user::after {\n border-right-color: #182030;\n }\n body.enterprise .timeline-new-comment .timeline-comment::before {\n border-right-color: #404040;\n }\n body.enterprise .timeline-new-comment .timeline-comment::after {\n border-right-color: var(--ghd-bg-color);\n }\n body.enterprise .commit-tease {\n background-color: #182030;\n border-color: #246;\n }\n /* HACK: Fix review comment timeline */\n /* https://github.com/nodejs/node/pull/8519#r78637092 */\n .review-comment-contents::after, .review-comment.is-comment-editing::after {\n z-index: 0 !important;\n }\n .review-comment .avatar {\n position: relative !important;\n z-index: 1 !important;\n background: #181818 !important;\n box-shadow: 0 0 0 4px #181818 !important;\n }\n /* center the dot icon inside green discussion timeline icons */\n .discussion-item-reopened .discussion-item-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .flash-error {\n color: #d82828;\n }\n /* Make text selection work over file path separators because in Firefox */\n /* a text selection can not start over a pseudo element. The precise values */\n /* are to match the rendering of GitHub's single-space pseudo contents */\n .breadcrumb .separator {\n margin-left: .283em;\n margin-right: .283em;\n }\n .breadcrumb .separator::after, .breadcrumb .separator::before {\n content: none;\n }\n /* Hack to add a background to the sticky toolbar on the pr files tab when using unified diffs */\n body:not(.full-width) .pr-toolbar.is-stuck + .toolbar-shadow::before {\n content: \"\";\n position: absolute;\n top: -60px;\n left: 0;\n right: 0;\n height: 60px;\n background: #181818;\n box-shadow: 0 0 .75rem rgba(0, 0, 0, .7);\n }\n .gh-header-shadow {\n border: none !important;\n box-shadow: 0 0 .75rem rgba(0, 0, 0, .7) !important;\n }\n .participation-graph svg {\n background: transparent !important;\n opacity: .1 !important;\n z-index: 0 !important;\n }\n .inbox-zero-octocat, .network-graph-container, img.TenYears-hero {\n opacity: .6 !important;\n }\n .search .minibutton span {\n background-position: center -95px !important;\n }\n /* history expand buttons */\n .commit .minibutton.expander-minibutton span {\n background-position: 50% -45px !important;\n }\n .commit.open .minibutton.expander-minibutton span {\n background-position: 50% -145px !important;\n }\n /* pull request avatar bubble */\n .avatar-bubble::before, .discussion-bubble-content::before {\n border-color: transparent #333 transparent transparent !important;\n }\n /* octocat spinners */\n img[src*=\"octocat-spinner\"], img[src=\"/images/spinner.gif\"],\n .profile-picture-spinner {\n width: 0 !important;\n height: 0 !important;\n }\n img[src*=\"octocat-spinner\"], img[src=\"/images/spinner.gif\"], .facebox-loading,\n .branch-action-body .spinner, .status-indicator-loading,\n .ajax-pagination-form.loading .ajax-pagination-btn::after,\n .profile-picture-spinner, .more-repos-link.is-loading,\n auto-check .is-autocheck-loading {\n background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><style>.a{fill:%23333;}</style><path d=\"M364 29C421 57 460 94 485 151l-31 15c-20-41-63-84-105-104\" class=\"a\"><animate attributeName=\"fill\" begin=\"0s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m494 169c20 60 21 114-1 172l-33-11c15-43 15-104 0-148\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.125s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m485 359c-28 57-66 96-122 121l-15-31c41-20 84-63 105-105\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.250s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m345 489c-60 20-114 21-172-1l11-33c43 15 104 15 148 0\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.375s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m154 483c-57-28-95-66-121-122l31-15c20 41 63 84 105 105\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.500s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m24 343c-20-60-21-114 1-172l33 11c-15 44-15 104 0 148\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.625s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"M32 151C60 94 98 55 154 30l15 31c-41 20-84 63-105 105\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.750s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m173 21c60-20 114-21 172 1l-11 33c-43-15-104-15-148 0\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.875s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m197 459v-48s-4-4-33-1c-28 3-62-66-65-69 24-10 43 26 65 38h31s3-44 20-37c17 6-72 1-97-61s19-126 20-115c0 9-17-35-10-46 20-24 50 11 69 15 5 0 18-8 59-7 41 0 55 8 60 6 22-10 51-32 65-17 10 12-1 61-1 49s43 81 6 132c-29 46-95 43-84 46 21 15 14 91 14 115l-22 4v-74c0-9-9-10-9-9v85l-21 1v-86h-10v86l-20-1v-83s-8-1-8 10v72\" fill=\"%23eee\"/></svg>') !important;\n background-size: contain !important;\n background-repeat: no-repeat !important;\n background-position: 50% 50% !important;\n }\n .more-repos-link.is-loading {\n background-repeat: no-repeat !important;\n background-position: 50% 50% !important;\n background-size: 16px 16px !important;\n }\n auto-check .is-autocheck-loading {\n background-size: 16px 16px !important;\n background-position: 97% 50% !important;\n }\n /* Timeline Load More squiggly line */\n /* https://github.com/go-gitea/gitea/pull/8346#issuecomment-638578779 */\n /* https://github.com/swagger-api/swagger-ui/pull/6030#issuecomment-638412978 */\n .pagination-loader-container {\n background: transparent url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NHB4IiBoZWlnaHQ9IjM0cHgiIHZpZXdCb3g9IjAgMCA0NCAzNCI+PHBvbHlsaW5lIGZpbGw9IiM0NDQiIHBvaW50cz0iMCwyMSAyMiw4IDQ0LDIxIDQ0LDI2IDIyLDEzIDAsMjYiLz48L3N2Zz4NCg==\") repeat-x left center/22px 17px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"128\"] {\n padding: 64px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"64\"],\n .profile-picture-spinner\n img[src=\"/images/spinner.gif\"] {\n padding: 32px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"32\"] {\n padding: 16px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"16\"] {\n padding: 8px !important;\n }\n .sponsors-questions::after {\n opacity: .35;\n }\n /* remove code view padding */\n .Box-body.blob-wrapper {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n /* remove actions editor padding */\n form[action*=\"/.github/workflows/\"] .commit-create {\n padding-top: 0 !important;\n }\n #searchfield {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAM1BMVEUAAABKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkrmvr7+AAAAEXRSTlMAmEgOJpKQimpgRHVzVk8fFp8jXkwAAABRSURBVAjXVY1JDsAwCAMxhGxNl/+/toVEKpmLNcLCRJRqKTXRhOGwS4KyCCv8eoBnY1hkiIUgb6ah2THWly7SFS0uAKfZWm+mP59eUfNNgYdehjcBh7PIFcgAAAAASUVORK5CYII=\") !important;\n background-repeat: no-repeat !important;\n background-position: 8px center !important;\n }\n /* front page: 'more' spinner */\n .ajax-pagination-form.loading .ajax-pagination-btn {\n position: relative !important;\n border-color: #343434 !important;\n background: #181818 !important;\n }\n .ajax-pagination-form.loading .ajax-pagination-btn::after {\n content: \"\" !important;\n position: absolute !important;\n width: 16px !important;\n height: 16px !important;\n left: 50% !important;\n top: 50% !important;\n transform: translate(-50%, -50%) !important;\n }\n .branch-action-body .spinner, div.facebox-loading, .status-indicator-loading {\n background-position: center center !important;\n width: 100% !important;\n background-repeat: no-repeat !important;\n }\n /* <select> dropdown arrows */\n /* https://github.com/account/upgrade */\n .form-select {\n background: #181818 url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAQAAAAua3X8AAAARklEQVR4AWNABWcazjQg8zGl/wNhA15piBL80gglmNKYSjClMZUgpDGVwKXxKBl4QNiRBLxJIKAIBzXhyCIc3YQTDMEkBwBplPJRxEMa4wAAAABJRU5ErkJggg==\") no-repeat right 8px center !important;\n background-size: 8px 10px !important;\n }\n .form-select:disabled {\n background-color: #282828 !important;\n color: #555 !important;\n }\n /* .coupon-form-body remove bg-img + tweak border color; issue #1199 */\n .coupons .coupon-form-body {\n background-image: none;\n border-color: #343434;\n }\n /* no border */\n .multiple-avatars, .multiple-avatars::before,\n .simple-conversation-list>li:first-child, .gobutton.with-comments .sha,\n .usage-bar dd, .setup-form-container .fieldgroup .fields,\n .inline-comments .line-comments, #adv_code_search .search-page-input,\n .fullscreen-overlay textarea, .file .image .border-wrap,\n .site-search .chromeless-input, .profile-timeline-card-wrapper,\n .AvatarStack--right .avatar, .AvatarStack-body .avatar,\n .sidebar-notifications .thread-subscription-status,\n .repository-lang-stats-graph .language-color:not(:first-child) {\n border: none !important;\n }\n .dashboard-tabs a {\n border-left: 0 !important;\n border-right: 0 !important;\n }\n .js-details-container.navigation-focus .gobutton {\n background: linear-gradient(#444, #222) !important;\n }\n /* add border */\n .issues-list, .pulls-list-group, .branch-infobar,\n .pagehead.repohead h1 .repo-label span, .api pre, .coupon-icon {\n border: 1px solid #484848;\n }\n #graph-shots li > p, .logo-box, .branch-infobar,\n .discussion-item-body .outdated-comment .file-header,\n .repository-content > .Box--condensed > .Box-body.bg-blue-light {\n border-bottom: none !important;\n }\n .pull-info, .branch-link, .milestone-list .progress-bar {\n border: 1px solid #444 !important;\n }\n .more-repos {\n border-top: #484848 1px solid !important;\n }\n .pull-head, .capped-box {\n border-bottom: #484848 1px solid !important;\n }\n .tutorial-e::after, .file-commit-form .commit-form::before,\n .merge-branch-form .commit-form::before {\n border-right-color: #343434 !important;\n border-bottom-color: transparent !important;\n }\n .ScreenshotCarousel-navitem,\n .new-discussion-timeline .composer .timeline-comment::after {\n border-right-color: var(--ghd-bg-color);\n }\n /* toc in markdown, reset border-collapse so border-radius works */\n /* https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki */\n #user-content-toc {\n border-collapse: separate !important;\n }\n #facebox pre, #contributors-master svg.viz, #com .dropdown-menu {\n border: 1px solid #343434 !important;\n }\n /* orange rss icon */\n .dashboard-feed-icon.octicon-rss, .nav-rss a .octicon-rss, .feed-icon,\n #dashboard .octicon-rss {\n color: #f93 !important;\n }\n .featured-label {\n background: #f5b987 !important;\n border: none !important;\n padding: 6px !important;\n color: #ed7c21 !important;\n }\n .featured-label .octicon,\n .page-new-repo div.form-checkbox .octicon-lock::before {\n color: #ed7c21 !important;\n }\n /* diff highlighting (no syntax highlight) */\n /* main diff text color */\n .diff-line-pre {\n color: #ccc !important;\n }\n .diff-table .line-comments {\n border-top: 1px solid #333 !important;\n border-bottom: 1px solid #333 !important;\n }\n #header-wrapper, .menu li + li {\n border-bottom: 1px solid #333 !important;\n }\n .comment-reactions button.btn-link.user-has-reacted {\n background-color: rgba(/*[[base-color-rgb]]*/, .2);\n }\n .review-comment .comment-reactions {\n border-top: 0 !important;\n }\n .review-comment .reaction-summary-item:not(.add-reaction-btn) {\n border-color: rgba(/*[[base-color-rgb]]*/, .2);\n }\n /* light grey - breaks in diff (with line numbers) */\n .highlight .expandable-line-num, .highlight .diff-line-num-hunk,\n .highlight .diff-line-code-hunk, .highlight .expandable-line-code {\n background: #222 !important;\n color: #888 !important;\n }\n /* git diff line additions (dark green) */\n .blob-code-addition {\n background-color: #002800 !important;\n border-color: #060 !important;\n }\n .blob-num-addition {\n background-color: #0a320a !important;\n }\n /* git diff line deletions (dark red) */\n .blob-code-deletion, .conflict-gutter-marker {\n background-color: #380000 !important;\n border-color: #600 !important;\n }\n .blob-num-deletion {\n background-color: #420a0a !important;\n }\n /* code splitter in diffs */\n .blob-num-expandable, .blob-num-hunk {\n background: #2b2b2b;\n }\n .blob-code-hunk {\n background: #202020;\n }\n /* link target lines */\n .blob-code-inner.highlighted {\n background: rgba(255, 255, 255, .075) !important;\n }\n .selected-line::after {\n mix-blend-mode: normal !important;\n pointer-events: none;\n }\n /* custom hover highlight */\n .diff-table > tbody > tr[data-hunk]:hover > td,\n .highlight > tbody > tr:hover > td {\n position: relative;\n }\n .diff-table > tbody > tr[data-hunk]:hover > td::after,\n .highlight > tbody > tr:hover > td::after {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, .075);\n pointer-events: none;\n }\n .diff-table > tbody > tr[data-hunk]:hover > td.selected-line::after,\n .highlight > tbody > tr:hover > td.blob-code-inner.highlighted::after {\n background: rgba(255, 255, 255, .15) !important;\n }\n /* custom hover highlight end */\n .blob-code-addition .x, .highlight .blob-code-addition .x {\n background: #252 !important;\n color: #eee !important;\n }\n .blob-code-deletion .x, .highlight .blob-code-deletion .x {\n background: #622 !important;\n color: #eee !important;\n }\n /* git diff line numbers (med green) */\n .gi .diff-line-num, .gi .diff-line-code, .gi .diff-line-pre {\n background: #020 !important;\n border-color: #040 !important;\n }\n /* git diff line deletions (med red) */\n .gd .diff-line-num, .highlight .err, .gd .diff-line-code, .gd .diff-line-pre {\n background: #300 !important;\n border-color: #500 !important;\n }\n textarea {\n cursor: auto !important;\n }\n /* rules for the new responsive layout */\n @media (min-width: 768px) {\n .release-main-section {\n border-left: 2px solid #343434 !important;\n }\n .release-entry {\n border-bottom: 0 !important;\n }\n }\n @media (max-width: 1012px) {\n .reponav-wrapper {\n background: #181818 !important;\n }\n }\n .Header, .Header-old {\n border-bottom: 1px solid #343434 !important;\n background: #181818 !important;\n }\n /* rules for help pages */\n .search-result-title .ais-Highlight-highlighted {\n color: /*[[base-color]]*/ !important;\n }\n .search-result-intro .ais-Highlight-highlighted {\n border-color: /*[[base-color]]*/ !important;\n }\n .ais-SearchBox-resetIcon, .octicon-logo-github {\n fill: #c0c0c0 !important;\n }\n /* Actions */\n .project-card code {\n background: #333 !important;\n }\n .commit-create .CodeMirror {\n padding-top: 0 !important;\n }\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\") {\n /*[[syntax-theme]]*//*[[syntax-jupyter]]*/\n /* inline code - big blocks */\n .highlight {\n background-color: var(--ghd-code-background) !important;\n color: var(--ghd-code-color);\n }\n .markdown-format pre, .markdown-body pre, .highlight pre, .markdown-body pre,\n #facebox pre, .blob-expanded, .terminal, .copyable-terminal,\n #notebook .input_area, .blob-code-context, .markdown-format code, .api pre,\n .api li:not(a) code, .hook-delivery-details pre, .hook-delivery-container pre,\n .code-list .file-box, .highlight.bg-gray, .markdown-body table.highlight tr,\n .markdown-body table.highlight td {\n background-color: var(--ghd-code-background) !important;\n color: var(--ghd-code-color) !important;\n }\n .markdown-body pre code, .markdown-body pre tt {\n border: none !important;\n }\n .flash p code {\n background-color: inherit !important;\n }\n .blob-code, .blob-code-inner {\n color: var(--ghd-code-color) !important;\n }\n /* inline code*/\n .markdown-body code, .markdown-body tt {\n border-radius: 4px;\n }\n .markdown-body code::before, .markdown-body code::after,\n .markdown-body tt::before, .markdown-body tt::after,\n .markdown-body pre code::before, .markdown-body pre code::after,\n .markdown-body pre tt::before, .markdown-body pre tt::after {\n display: none !important;\n }\n /* GitHub Bug: Center color preview in inline code tags */\n .markdown-body code .v-align-middle {\n position: relative;\n top: -1px;\n }\n .markdown-body code, .markdown-body tt, .markdown-format p > code,\n .markdown-format pre, .markdown-body pre, .markdown-format .highlight pre,\n .markdown-body .highlight pre, #user-content-toc td, .copyable-terminal,\n .project-card .highlight pre, .project-card code, .rgh-parse-backticks,\n .protip code, .content dl code, .content ul code,\n .content .sectionbody .dlist dt, .content p > tt, .commit-sha,\n .commit-preview .message pre, .rendered_html pre, .rendered_html code, p code {\n border: 1px solid rgba(255, 255, 255, .1) !important;\n }\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\") {\n .CodeMirror {\n background-color: var(--ghd-code-background) !important;\n color: var(--ghd-code-color) !important;\n }\n .CodeMirror-selected {\n background: rgba(255, 255, 255, .12) !important;\n }\n .CodeMirror ::selection {\n background: rgba(255, 255, 255, .12) !important;\n }\n .CodeMirror ::-moz-selection {\n background: rgba(255, 255, 255, .12) !important;\n }\n .CodeMirror-lines {\n background: none !important;\n }\n /* remove margin above codemirror */\n .file-header.mb-2 {\n margin-bottom: 0 !important;\n }\n .CodeMirror-linebackground.conflict-background,\n .conflict-background + .CodeMirror-gutter-wrapper .CodeMirror-linenumber {\n background-color: #380000 !important;\n border-color: #600 !important;\n }\n .CodeMirror-scrollbar-filler {\n background: #1d1d1d !important;\n }\n /* Styles auto-complete popups in the actions workflow editor */\n .CodeMirror-hints {\n background: #181818;\n border-color: #404040;\n box-shadow: 0 1px 5px #000;\n }\n .CodeMirror-hint {\n color: #d2d2d2;\n }\n .CodeMirror-hint-active {\n color: #f0f0f0;\n background-color: /*[[base-color]]*/;\n }\n .CodeMirror-hint-active .CodeMirror-hint-description {\n color: #f0f0f0 !important;\n }\n /*[[syntax-codemirror]]*/\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"gist.github.com\") {\n /* begin refined-github rules */\n html.refined-github {\n --rgh-background: var(--color-canvas-default, #181818);\n }\n html.refined-github .footer > div:nth-last-child(2) a {\n color: var(--color-text-disabled, #9b9b9b);\n }\n html.refined-github .rgh-no-navigation-highlight .Box-row.navigation-focus,\n html.refined-github .rgh-no-navigation-highlight .list-group-item.navigation-focus,\n html.refined-github .rgh-no-navigation-highlight .navigation-focus td {\n background: none !important;\n }\n html.refined-github .js-expandable-line:hover .blob-num:not(:hover) + .blob-code,\n html.refined-github .js-expandable-line:hover .blob-num:not(:hover) .directional-expander:first-child {\n color: var(--color-state-hover-primary-text, #181818);\n background: var(--color-state-hover-primary-bg, /*[[base-color]]*/);\n border-color: var(--color-state-hover-primary-border, /*[[base-color]]*/);\n }\n html.refined-github .rgh-private-org svg {\n fill: #c6c6c6;\n stroke: #181818;\n }\n html.refined-github [data-rgh-heat=\"1\"] {\n color: #f3582c !important;\n }\n html.refined-github [data-rgh-heat=\"10\"] {\n color: #9b9b9b !important;\n }\n html.refined-github [data-color-mode=\"light\"] .rgh-conflict-marker svg {\n color: #5a5a5a;\n }\n html.refined-github .rgh-clean-conversation-headers-non-default-branch {\n background-color: var(--color-state-hover-primary-bg, /*[[base-color]]*/);\n }\n html.refined-github .rgh-clean-conversation-headers-non-default-branch a {\n color: var(--color-state-hover-primary-text, #181818);\n }\n html.refined-github .rgh-table-input:hover .selected div {\n border-color: /*[[base-color]]*/;\n background-color: var(--color-diff-blob-hunk-num-bg, #182030);\n }\n html.refined-github .rgh-tic:hover div,\n html.refined-github .rgh-tic:is(:nth-child(5n + 1)):has( ~ :hover:nth-child(5n + 1)) div,\n html.refined-github .rgh-tic:is(:nth-child(5n + 1), html.refined-github :nth-child(5n + 2)):has( ~ :hover:nth-child(5n + 2)) div,\n html.refined-github .rgh-tic:is(:nth-child(5n + 1), html.refined-github :nth-child(5n + 2), html.refined-github :nth-child(5n + 3)):has( ~ :hover:nth-child(5n + 3)) div,\n html.refined-github .rgh-tic:is(:nth-child(5n + 1), html.refined-github :nth-child(5n + 2), html.refined-github :nth-child(5n + 3), html.refined-github :nth-child(5n + 4)):has( ~ :hover:nth-child(5n + 4)) div,\n html.refined-github .rgh-tic:is(:nth-child(5n + 1), html.refined-github :nth-child(5n + 2), html.refined-github :nth-child(5n + 3), html.refined-github :nth-child(5n + 4), html.refined-github :nth-child(5n + 5)):has( ~ :hover:nth-child(5n + 5)) div {\n border-color: /*[[base-color]]*/;\n background-color: var(--color-diff-blob-hunk-num-bg, #182030);\n }\n /* end refined-github rules */\n /* begin zenhub rules */\n html[class*=\"zh-\"] #new_issue .discussion-sidebar h3 {\n border-top-color: #2c2c2c;\n }\n html[class*=\"zh-\"] .zh-estimate-create-item {\n border-top-color: #343434;\n }\n html[class*=\"zh-\"] .zh-board-menu-itemgroup .zh-select-menu-item.navigation-focus,\n html[class*=\"zh-\"] .zh-board-menu-itemgroup .zh-select-menu-item.navigation-focus.selected {\n background-color: #242424;\n }\n html[class*=\"zh-\"] .zh-connect-repository-container {\n background-color: #222;\n }\n html[class*=\"zh-\"] .zh-connect-repository-container a {\n color: #c6c6c6;\n text-shadow: 0 1px 0 #181818;\n }\n html[class*=\"zh-\"] .zh-toggle-button {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-toggle-button.selected:active,\n html[class*=\"zh-\"] .zh-toggle-button:active {\n box-shadow: inset 0 1px 3px rgba(255, 255, 255, .7);\n }\n html[class*=\"zh-\"] .horizontal-scrollbar::-webkit-scrollbar-track {\n background-color: #242424;\n }\n html[class*=\"zh-\"] .horizontal-scrollbar::-webkit-scrollbar-thumb {\n background-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline {\n background-color: #222;\n border-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-heading-container {\n background-color: #242424;\n border-bottom-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-heading-edit {\n box-shadow: none !important;\n }\n html[class*=\"zh-\"] .zh-pipeline-options .zh-pipeline-button:focus {\n outline: 0 none #f0f0f0;\n }\n html[class*=\"zh-\"] .zh-power .zh-pipeline-options {\n color: #c6c6c6;\n }\n html[class*=\"zh-\"] .zh-pipeline-issues::-webkit-scrollbar {\n background-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-issues::-webkit-scrollbar-track {\n background-color: #222;\n }\n html[class*=\"zh-\"] .zh-pipeline-issues::-webkit-scrollbar-thumb {\n background-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-issue {\n background-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-issue-content {\n border-color: #343434;\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-pipeline-issue-toggler {\n color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-issue-toggler:hover {\n color: /*[[base-color]]*/ !important;\n }\n html[class*=\"zh-\"] .zh-pipeline-issue-heading {\n border-bottom-color: #202020;\n }\n html[class*=\"zh-\"] .zh-issue-placeholder,\n html[class*=\"zh-\"] .zh-pipeline-placeholder {\n background-color: #202020;\n }\n html[class*=\"zh-\"] .zh-issue-meta {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zh-issue-label.dark {\n color: #fff;\n text-shadow: 0 1px 0 rgba(255, 255, 255, .7);\n }\n html[class*=\"zh-\"] .zh-issue-estimate-badge {\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-overlay {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-overlay-body {\n color: #f0f0f0;\n }\n html[class*=\"zh-\"] .new-pipeline-column {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-board-menu-item .btn {\n background: linear-gradient(#1d1d1d, #2c2c2c);\n color: #c6c6c6;\n }\n html[class*=\"zh-\"] .zh-board-menu-item .btn.disabled,\n html[class*=\"zh-\"] .zh-board-menu-item .btn.disabled:hover {\n background-color: #181818;\n background-image: none;\n }\n html[class*=\"zh-\"] .zh-pipeline-collapsed .zh-pipeline-heading-container {\n border-right-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-collapsed .zh-pipeline-options.zh-pipeline-icon {\n border-bottom-color: #343434;\n }\n html[class*=\"zh-\"] .zh-pipeline-expanded .zh-issue-meta {\n background-image: linear-gradient(to right, transparent 90%, #181818 99%);\n }\n html[class*=\"zh-\"] .zh-overlay-loading-board {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-board-loading-message {\n background-color: #181818;\n border-color: #343434;\n }\n html[class*=\"zh-\"] .zh-board-readonly-banner {\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-markdown-body {\n color: #767676;\n }\n html[class*=\"zh-\"] .zh-milestone-dates {\n border-color: #343434;\n background-color: #202020;\n }\n html[class*=\"zh-\"] .zh-milestone-dates .milestone-start-calendar-container {\n border-color: #343434;\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-burndown-chart-container {\n border-left-color: #343434;\n border-right-color: #343434;\n }\n html[class*=\"zh-\"] .burndown-chart-tip {\n color: #9b9b9b;\n }\n html[class*=\"zh-\"] .zh-issue-list .table-list-title {\n border-color: #343434;\n }\n html[class*=\"zh-\"] .zh-issue-list .table-list-header {\n color: #9b9b9b;\n }\n html[class*=\"zh-\"] .zh-burndown-repo-selector {\n border-color: #343434;\n }\n html[class*=\"zh-\"] .horizonal-grid-line {\n stroke: #2c2c2c;\n }\n html[class*=\"zh-\"] .zh-repo-switcher .zh-repo-switcher-btn,\n html[class*=\"zh-\"] .zh-repo-switcher .zh-repo-switcher-btn:hover {\n background-color: transparent;\n background-image: none;\n }\n html[class*=\"zh-\"] .zh-repo-switcher .zh-repo-switcher-btn.selected,\n html[class*=\"zh-\"] .zh-repo-switcher .zh-repo-switcher-btn:hover {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zh-state {\n background-color: #767676;\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-timeline-comment {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-timeline-comment-header {\n color: #afafaf;\n background-color: #202020;\n border-color: #343434 #343434 #2c2c2c;\n }\n html[class*=\"zh-\"] .zh-timeline-comment-header-text {\n color: #afafaf;\n }\n html[class*=\"zh-\"] .zh-issuecard-container {\n border-color: #343434;\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-issuecard-placeholder {\n background-color: #202020;\n }\n html[class*=\"zh-\"] .zh-issuecard-avatar-container .zh-issuecard-assignees {\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-pipeline-action,\n html[class*=\"zh-\"] .zh-pipeline-issue-action {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-pipeline-action:hover,\n html[class*=\"zh-\"] .zh-pipeline-issue-action:hover {\n background-color: #2c2c2c;\n }\n html[class*=\"zh-\"] .zh-issuecard-meta {\n border-top-color: #343434;\n }\n html[class*=\"zh-\"] .zh-issuecard-label.dark {\n color: #fff;\n text-shadow: 0 1px 0 rgba(255, 255, 255, .7);\n }\n html[class*=\"zh-\"] .zh-top-banner, html[class*=\"zh-\"] .zh-top-banner a {\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-merge-repository-body {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zh-merge-repository-body .zh-open-cross-organization-btn {\n color: #767676;\n }\n html[class*=\"zh-\"] .zh-merge-repository-body .zh-open-cross-organization-btn:hover {\n color: /*[[base-color]]*/ !important;\n }\n html[class*=\"zh-\"] .zh-mergetool-pipelines-dialog {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-mergetool-pipelines-dialog .zh-mergetool-info {\n background-color: #222;\n color: #c6c6c6;\n }\n html[class*=\"zh-\"] .zh-mergetool-pipelines-dialog .zh-miniboard-wrapper .zh-miniboard-pipeline {\n background-color: #181818;\n color: #c6c6c6;\n }\n html[class*=\"zh-\"] .zh-mergetool-pipelines-dialog .zh-miniboard-wrapper .zh-miniboard-pipeline-target {\n background-color: #222;\n }\n html[class*=\"zh-\"] .zh-mergetool-pipelines-dialog .zh-miniboard-source-pipeline-placeholder,\n html[class*=\"zh-\"] .zh-mergetool-pipelines-dialog .zh-miniboard-wrapper .zh-miniboard-pipeline-target.zh-miniboard-new-pipeline {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .btn.zh-multi-repo-show-all-btn,\n html[class*=\"zh-\"] .btn.zh-multi-repo-show-one-btn {\n background-image: none;\n }\n html[class*=\"zh-\"] .btn.zh-multi-repo-show-all-btn:hover,\n html[class*=\"zh-\"] .btn.zh-multi-repo-show-one-btn:hover {\n background-color: #181818;\n background-image: none;\n }\n html[class*=\"zh-\"] .zh-onboarding-modal {\n background-color: #181818;\n color: #9b9b9b;\n }\n html[class*=\"zh-\"] .zh-onboarding-modal__title {\n color: #c6c6c6;\n }\n html[class*=\"zh-\"] .zh-onboarding-modal__buttons .btn.btn--onboarding-cta {\n background-image: none;\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-select-menu-item.navigation-focus,\n html[class*=\"zh-\"] .zh-select-menu-item:hover {\n background-color: /*[[base-color]]*/;\n }\n html[class*=\"zh-\"] .zh-discussion-sidebar-toggle {\n background: none;\n }\n html[class*=\"zh-\"] .gh-2019-ui .zh-discussion-sidebar-toggle .zhc-svg-icon--gear-github {\n color: #767676;\n }\n html[class*=\"zh-\"] .zh-reload-update-prompt-container {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-reload-update-prompt-content {\n color: #afafaf;\n }\n html[class*=\"zh-\"] .zh-issue-counter {\n background-color: #343434;\n }\n html[class*=\"zh-\"] .zh-progress-bar__background.zh-progress-bar__background--secondary {\n background-color: #767676;\n }\n html[class*=\"zh-\"] .zh-progress-bar__completed {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zh-chart .marker {\n stroke: #181818;\n }\n html[class*=\"zh-\"] .zh-tooltip {\n background-color: #f0f0f0;\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-tooltip-filter-n::before {\n border-top-color: #f0f0f0;\n }\n html[class*=\"zh-\"] .zh-tooltip-help-w::before {\n border-right-color: #f0f0f0;\n }\n html[class*=\"zh-\"] .zh-d3-tooltip .zh-tooltip-content {\n background-color: #c6c6c6;\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-d3-tooltip .zh-tooltip-triangle {\n border-top-color: #c6c6c6;\n }\n html[class*=\"zh-\"] .PresetDateRangePicker_button__selected {\n color: #fff;\n }\n html[class*=\"zh-\"] .SingleDatePickerInput,\n html[class*=\"zh-\"] .SingleDatePicker_picker,\n html[class*=\"zh-\"] .SingleDatePicker_picker__fullScreenPortal {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DayPickerKeyboardShortcuts_showSpan {\n color: #fff;\n }\n html[class*=\"zh-\"] .DayPickerKeyboardShortcuts_panel {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .CalendarDay__default {\n color: #afafaf;\n background-color: #181818;\n }\n html[class*=\"zh-\"] .CalendarDay__hovered_offset {\n background-color: #242424;\n }\n html[class*=\"zh-\"] .CalendarDay__outside {\n background-color: #181818;\n color: #afafaf;\n }\n html[class*=\"zh-\"] .CalendarDay__blocked_minimum_nights,\n html[class*=\"zh-\"] .CalendarDay__blocked_minimum_nights:active,\n html[class*=\"zh-\"] .CalendarDay__blocked_minimum_nights:hover {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .CalendarDay__highlighted_calendar,\n html[class*=\"zh-\"] .CalendarDay__highlighted_calendar:active,\n html[class*=\"zh-\"] .CalendarDay__highlighted_calendar:hover {\n color: #afafaf;\n }\n html[class*=\"zh-\"] .CalendarDay__selected,\n html[class*=\"zh-\"] .CalendarDay__selected:active,\n html[class*=\"zh-\"] .CalendarDay__selected:hover,\n html[class*=\"zh-\"] .CalendarDay__selected_span,\n html[class*=\"zh-\"] .CalendarDay__selected_span:active,\n html[class*=\"zh-\"] .CalendarDay__selected_span:hover {\n color: #fff;\n }\n html[class*=\"zh-\"] .CalendarDay__blocked_out_of_range,\n html[class*=\"zh-\"] .CalendarDay__blocked_out_of_range:active,\n html[class*=\"zh-\"] .CalendarDay__blocked_out_of_range:hover,\n html[class*=\"zh-\"] .CalendarMonth {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .CalendarMonth_caption {\n color: #afafaf;\n }\n html[class*=\"zh-\"] .CalendarMonthGrid,\n html[class*=\"zh-\"] .DayPickerNavigation_button__default,\n html[class*=\"zh-\"] .DayPickerNavigation_button__verticalDefault {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DayPickerNavigation_svg__vertical {\n fill: #afafaf;\n }\n html[class*=\"zh-\"] .DayPicker, html[class*=\"zh-\"] .DayPicker__horizontal {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DayPicker_portal__horizontal {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .DateInput,\n html[class*=\"zh-\"] .DayPicker_weekHeader__verticalScrollable {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DateInput_input {\n color: #afafaf;\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DateInput_input__focused {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DateInput_fangShape {\n fill: #181818;\n }\n html[class*=\"zh-\"] .DateRangePickerInput {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .DateRangePickerInput_arrow {\n color: #afafaf;\n }\n html[class*=\"zh-\"] .DateRangePickerInput_arrow_svg {\n fill: #afafaf;\n }\n html[class*=\"zh-\"] .DateRangePicker_picker,\n html[class*=\"zh-\"] .DateRangePicker_picker__fullScreenPortal {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zhc-btn--danger {\n background-image: none !important;\n }\n html[class*=\"zh-\"] .zhc-btn--danger-bordered {\n background-color: transparent;\n background-image: none !important;\n }\n html[class*=\"zh-\"] .zhc-btn--danger-bordered.zhc-btn--is-active,\n html[class*=\"zh-\"] .zhc-btn--danger-bordered.zhc-btn--is-disabled,\n html[class*=\"zh-\"] .zhc-btn--danger-bordered:active,\n html[class*=\"zh-\"] .zhc-btn--danger-bordered:focus,\n html[class*=\"zh-\"] .zhc-btn--danger-bordered:hover,\n html[class*=\"zh-\"] .zhc-btn--danger-bordered[disabled] {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-btn--minimal {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-btn--minimal.zhc-btn--disabled,\n html[class*=\"zh-\"] .zhc-btn--minimal.zhc-btn--disabled.zhc-btn--is-active,\n html[class*=\"zh-\"] .zhc-btn--minimal.zhc-btn--disabled:active,\n html[class*=\"zh-\"] .zhc-btn--minimal.zhc-btn--disabled:focus,\n html[class*=\"zh-\"] .zhc-btn--minimal.zhc-btn--disabled:hover,\n html[class*=\"zh-\"] .zhc-btn--minimal.zhc-btn--is-active,\n html[class*=\"zh-\"] .zhc-btn--minimal:active,\n html[class*=\"zh-\"] .zhc-btn--minimal:focus,\n html[class*=\"zh-\"] .zhc-btn--minimal:hover,\n html[class*=\"zh-\"] .zhc-btn--minimal[disabled],\n html[class*=\"zh-\"] .zhc-btn--minimal[disabled].zhc-btn--is-active,\n html[class*=\"zh-\"] .zhc-btn--minimal[disabled]:active,\n html[class*=\"zh-\"] .zhc-btn--minimal[disabled]:focus,\n html[class*=\"zh-\"] .zhc-btn--minimal[disabled]:hover,\n html[class*=\"zh-\"] .zhc-btn--primary-bordered,\n html[class*=\"zh-\"] .zhc-btn--primary-bordered.zhc-btn--is-active,\n html[class*=\"zh-\"] .zhc-btn--primary-bordered:active,\n html[class*=\"zh-\"] .zhc-btn--primary-bordered:focus,\n html[class*=\"zh-\"] .zhc-btn--primary-bordered:hover,\n html[class*=\"zh-\"] .zhc-btn--secondary-bordered,\n html[class*=\"zh-\"] .zhc-btn--secondary-bordered.zhc-btn--is-active,\n html[class*=\"zh-\"] .zhc-btn--secondary-bordered:active,\n html[class*=\"zh-\"] .zhc-btn--secondary-bordered:focus,\n html[class*=\"zh-\"] .zhc-btn--secondary-bordered:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-btn--text {\n background-color: transparent !important;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-input--error:focus,\n html[class*=\"zh-\"] .zhu-checkbox:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhu-text-grey-dark {\n color: #767676 !important;\n }\n html[class*=\"zh-\"] .zhc-billing-invoice__content__title {\n border-bottom-color: #f0f0f0;\n }\n html[class*=\"zh-\"] .zhc-remove-licenses__quantity {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-board-loading__message {\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n html[class*=\"zh-\"] .zhc-board-loading__message .zhc-spinner-outline {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-breadcrumbs--extension-topbar .zhc-breadcrumbs__button.zhc-breadcrumbs__button--untitled-workspace:hover,\n html[class*=\"zh-\"] .zhc-breadcrumbs--workspace-phase-3-off.zhc-breadcrumbs--extension-topbar .zhc-breadcrumbs__button:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-burndown-chart__placeholder__message {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-button[disabled],\n html[class*=\"zh-\"] .zhc-button[disabled]:active,\n html[class*=\"zh-\"] .zhc-button[disabled]:focus,\n html[class*=\"zh-\"] .zhc-button[disabled]:hover {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-text {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-text:active,\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-text:focus,\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-text:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-icon-only {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-icon-only:active,\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-icon-only:focus,\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-icon-only:hover,\n html[class*=\"zh-\"] .zhc-button.zhc-button--variant-icon-only[disabled] {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-button--color-primary[disabled],\n html[class*=\"zh-\"] .zhc-button--color-primary[disabled]:active,\n html[class*=\"zh-\"] .zhc-button--color-primary[disabled]:focus,\n html[class*=\"zh-\"] .zhc-button--color-primary[disabled]:hover {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-text {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-outlined,\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-outlined:active,\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-outlined:focus,\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-outlined:hover,\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-text:active,\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-text:focus,\n html[class*=\"zh-\"] .zhc-button--color-primary.zhc-button--variant-text:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-button--color-secondary[disabled],\n html[class*=\"zh-\"] .zhc-button--color-secondary[disabled]:active,\n html[class*=\"zh-\"] .zhc-button--color-secondary[disabled]:focus,\n html[class*=\"zh-\"] .zhc-button--color-secondary[disabled]:hover {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-text {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-outlined,\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-outlined:active,\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-outlined:focus,\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-outlined:hover,\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-text:active,\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-text:focus,\n html[class*=\"zh-\"] .zhc-button--color-secondary.zhc-button--variant-text:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-button--color-action[disabled],\n html[class*=\"zh-\"] .zhc-button--color-action[disabled]:active,\n html[class*=\"zh-\"] .zhc-button--color-action[disabled]:focus,\n html[class*=\"zh-\"] .zhc-button--color-action[disabled]:hover {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-text {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-outlined,\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-outlined:active,\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-outlined:focus,\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-outlined:hover,\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-text:active,\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-text:focus,\n html[class*=\"zh-\"] .zhc-button--color-action.zhc-button--variant-text:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-button--color-danger[disabled],\n html[class*=\"zh-\"] .zhc-button--color-danger[disabled]:active,\n html[class*=\"zh-\"] .zhc-button--color-danger[disabled]:focus,\n html[class*=\"zh-\"] .zhc-button--color-danger[disabled]:hover {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-text {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-outlined,\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-outlined:active,\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-outlined:focus,\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-outlined:hover,\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-text:active,\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-text:focus,\n html[class*=\"zh-\"] .zhc-button--color-danger.zhc-button--variant-text:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-button--spinner,\n html[class*=\"zh-\"] .zhc-button-group > * {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-calendar {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-calendar .DateRangePicker .DateRangePicker_picker .DayPicker.DayPicker__horizontal {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-release-report-chart__completion .zhc-chart-linechart__path {\n stroke: #c6c6c6;\n }\n html[class*=\"zh-\"] .zhc-checkable {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-checkbox-custom input:focus {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-checkout-box__input input:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-collapsible-control--button {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-consent-form__checkbox input:focus {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .DateInput,\n html[class*=\"zh-\"] .DateInput .DateInput_input {\n background: none;\n }\n html[class*=\"zh-\"] .DayPickerNavigation_button__horizontalDefault .DayPickerNavigation_svg__horizontal {\n fill: #c6c6c6;\n stroke: #c6c6c6;\n }\n html[class*=\"zh-\"] .zhc-dropdown__clear-filter {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-dropdown__clear-filter:hover {\n background-image: none;\n }\n html[class*=\"zh-\"] .zhc-filter-tag__text {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-filter-tags .zhc-svg-icon--estimate mask {\n fill: #181818;\n }\n html[class*=\"zh-\"] .zhc-integration-repo-selector__repos__container {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-integrations-section .zhc-integrations-section__form--error input:focus,\n html[class*=\"zh-\"] .zhc-invitees-list input:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-invitee-input::placeholder {\n color: #5a5a5a;\n }\n html[class*=\"zh-\"] .zhc-issue-card__action-notification .zhc-icon--has-notification::after,\n html[class*=\"zh-\"] .zhc-issue-card__action-notification .zhc-icon--notification::after,\n html[class*=\"zh-\"] .zhc-issue-card__action-notification .zhc-issue-card__action-notification__has-notification::after,\n html[class*=\"zh-\"] .zhc-issue-card__actions .zhc-icon--has-notification::after {\n border-color: var(--ghd-bg-color);\n }\n html[class*=\"zh-\"] .zhc-issue-card__epic-filter__btn.zhc-button--variant-outlined:disabled {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-issue-cards:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-sidebar-assignee-selector .zhc-sidebar-assignee-selector_active_assignees,\n html[class*=\"zh-\"] .zhc-sidebar-pipeline-selector__button,\n html[class*=\"zh-\"] .zhc-sidebar-selector {\n background: none;\n }\n html[class*=\"zh-\"] .zhc-sidebar-pipeline-selector__high-priority {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-sidebar-selector-button {\n background: none;\n }\n html[class*=\"zh-\"] [data-theme=\"night\"] .zhc-label-item__color {\n border-color: hsla(0, 0%, 0%, .1);\n }\n html[class*=\"zh-\"] .zhc-merge-repo-finder__container {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-merge-repo-finder__cancel {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-milestone-modal__connected-repos__select-repos {\n color: /*[[base-color]]*/;\n }\n html[class*=\"zh-\"] .zhc-app-notification:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-repo-notifications--single-repo .zhc-repo-notifications__header {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-page-container--signup {\n background-image: none;\n }\n html[class*=\"zh-\"] .zhc-page-container--signup .zhc-page-container__page-section {\n background-color: transparent;\n }\n @media (min-width: 760px) {\n html[class*=\"zh-\"] .zhc-page-container__page-section {\n background-color: transparent;\n }\n }\n html[class*=\"zh-\"] .zhc-pipeline--add-placeholder .zhc-pipeline-header__main {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-pipeline--is-collapsed .zhc-pipeline-header__info:hover {\n background: none;\n }\n html[class*=\"zh-\"] .zhc-pipeline__button {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-pipeline-header--is-closed .zhc-pipeline-header__info:hover,\n html[class*=\"zh-\"] .zhc-pipeline-header--is-collapsed .zhc-pipeline-header__info:hover {\n background: none;\n }\n html[class*=\"zh-\"] .zhc-pipeline-header__expand-btn-container,\n html[class*=\"zh-\"] .zhc-pipeline-header__form__edit {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhu-radio-button__container:hover input {\n background-color: #5a5a5a;\n }\n html[class*=\"zh-\"] .zhu-radio-button__container input:checked {\n box-shadow: inset 0 0 0 1px var(--ghd-bg-color), inset 0 0 0 8px var(--zh-theme-color-brand-blue-primary);\n }\n html[class*=\"zh-\"] .zhu-radio-button__container input:focus {\n box-shadow: inset 0 0 0 1px var(--ghd-bg-color), inset 0 0 0 8px var(--zh-theme-color-brand-blue-primary), 0 0 5px 2px #5e9ed6 !important;\n }\n html[class*=\"zh-\"] .zhc-release-chart-desired-velocity .zhc-chart-scatterchart-plot,\n html[class*=\"zh-\"] .zhc-release-chart-predicted-velocity .zhc-chart-scatterchart-plot {\n stroke: #181818;\n }\n html[class*=\"zh-\"] .zhc-selection-button--active-filter,\n html[class*=\"zh-\"] .zhc-selection-button--active-filter.zhc-selection-button--active-filter {\n border-color: currentcolor;\n }\n html[class*=\"zh-\"] .zhc-selection-button__container .zhc-svg-icon--estimate mask {\n fill: #181818;\n }\n html[class*=\"zh-\"] .zhc-selection-item--is-disabled,\n html[class*=\"zh-\"] .zhc-selection-item--is-disabled.zhc-selection-item--is-active,\n html[class*=\"zh-\"] .zhc-selection-item--is-disabled:hover,\n html[class*=\"zh-\"] .zhc-selection-item:disabled,\n html[class*=\"zh-\"] .zhc-selection-item:disabled.zhc-selection-item--is-active,\n html[class*=\"zh-\"] .zhc-selection-item:disabled:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-selection-list__footer {\n border-top-color: #f0f0f0;\n }\n html[class*=\"zh-\"] .zhc-selection-list__tab-item {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-selection-list-deprecated__header--light {\n background-color: initial;\n }\n html[class*=\"zh-\"] .zhc-selection-list-deprecated__cancel,\n html[class*=\"zh-\"] .zhc-selection-list-deprecated__list .zhc-selection-list-deprecated__header {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-shortcuts-guide__nav-item:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-collapse-toggle--is-active {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .user-has-feelings .zhc-sidebar-nav-item:not(.zhc-sidebar-nav-item--is-active):hover {\n background-color: initial;\n }\n html[class*=\"zh-\"] .zhc-sidebar-nav-item__link {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-sidebar-profile__item:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-tutorial-tooltip {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-sidebar a:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-sidebar__overlay {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-spinner:not(.zhc-spinner--no-outline) {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-spinner--no-color-change,\n html[class*=\"zh-\"] .zhc-spinner--purple {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-status-tag button {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-sub-item-button {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-sub-item-button:active {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-team-members__searchbar input:focus {\n box-shadow: none;\n }\n @media (min-width: 1020px) {\n html[class*=\"zh-\"] .zhc-chart-velocity__left-axis {\n box-shadow: none;\n }\n }\n html[class*=\"zh-\"] .zhc-workspace-import {\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n html[class*=\"zh-\"] .zhc-workspace-import__valid-icon .zhc-svg-icon {\n color: #fff;\n }\n html[class*=\"zh-\"] .zhc-workspace-switcher-search__input:focus {\n box-shadow: none;\n }\n @media (min-width: 1020px) {\n html[class*=\"zh-\"] .zhc-control-chart .zhc-control-chart__left-axis {\n box-shadow: none;\n }\n }\n html[class*=\"zh-\"] .zhc-control-chart-report .zhc-dropdown--ccr-pipelines .zhc-selection-item--is-disabled {\n background-color: transparent;\n }\n @media (min-width: 1020px) {\n html[class*=\"zh-\"] .zhc-cumulative-chart__left-axis {\n box-shadow: none;\n }\n }\n html[class*=\"zh-\"] .zhc-cumulative-chart__chart__dot {\n stroke: #181818;\n }\n html[class*=\"zh-\"] .zhc-seated-user-options-list,\n html[class*=\"zh-\"] border 1px solid color-border {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-discussion-events__icon--grey {\n background-color: #444;\n }\n html[class*=\"zh-\"] .zhc-discussion-events__icon--grey-darker {\n background-color: #181818;\n }\n html[class*=\"zh-\"] .zhc-discussion-events__icon--purple,\n html[class*=\"zh-\"] .zhc-issue-badge--pr-merged {\n background-color: #8348af;\n }\n html[class*=\"zh-\"] .issue-page-skeleton hr,\n html[class*=\"zh-\"] .zhc-onboarding-tutorials > .zhc-onboarding-tutorials__header.zhc-onboarding-tutorials__header--is-minimized,\n html[class*=\"zh-\"] .zhc-onboarding-tutorials__launch-button {\n background: none;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .zhc-body__roadmap-item--complete {\n --predicted-end-date-color: #222;\n }\n html[class*=\"zh-\"] .zhc-body__roadmap-item {\n box-shadow: 0 1px 1px 0 rgba(255, 255, 255, .7);\n }\n html[class*=\"zh-\"] .zhc-roadmap-temp-project__item {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-sidebar-expand-toggle {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .zhc-roadmap-date-strip__debug i,\n html[class*=\"zh-\"] .zhc-roadmap-date-strip__debug i::before {\n border-left-color: #5a5a5a;\n }\n html[class*=\"zh-\"] .zhc-roadmap-track::after {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-sprint-calendar .DayPicker__withBorder {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zh-CalendarDay_container__selected--end.zh-CalendarDay_container__highlighted--start,\n html[class*=\"zh-\"] .zhc-sprint-calendar .CalendarDay__selected,\n html[class*=\"zh-\"] .zhc-sprint-calendar .CalendarDay__selected_end::after,\n html[class*=\"zh-\"] .zhc-sprint-calendar .CalendarDay__selected_start::after,\n html[class*=\"zh-\"] .zhc-sprint-calendar .zh-CalendarDay_container__selected--end::after,\n html[class*=\"zh-\"] .zhc-sprint-calendar .zh-CalendarDay_container__selected--start::after {\n color: #fff;\n }\n html[class*=\"zh-\"] .zhc-sprint-suffix-input__button {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-workflows-connection-bar .zhc-button--variant-contained {\n background: none;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-workspace-creator {\n box-shadow: 0 3px 12px #000;\n }\n html[class*=\"zh-\"] .zhc-workspace-filter-label-picker__remove-label {\n background: none;\n }\n html[class*=\"zh-\"] .zhc-toast--no-background {\n background: none;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zhc-toast--no-border,\n html[class*=\"zh-\"] .zhc-tutorial-progress-footer__action-buttons {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .zh-form-control,\n html[class*=\"zh-\"] .zh-form-control-small {\n color: #c6c6c6;\n border-color: #343434;\n }\n html[class*=\"zh-\"] .zh-form-control-small:focus,\n html[class*=\"zh-\"] .zh-form-control:focus {\n background-color: #181818;\n }\n @media only screen and (max-width: 768px) {\n html[class*=\"zh-\"] .zh-logo {\n color: #fff;\n }\n }\n html[class*=\"zh-\"] .zh-logo.short {\n color: #fff;\n }\n html[class*=\"zh-\"] .zh-boxie-modal {\n background-color: #242424 !important;\n }\n html[class*=\"zh-\"] .zh-text-muted {\n color: #afafaf !important;\n }\n html[class*=\"zh-\"] .zh-menu-header {\n background-color: #181818;\n color: #fff;\n }\n html[class*=\"zh-\"] .disabled {\n background-color: #343434;\n }\n html[class*=\"zh-\"] .zh-menu-content__item {\n color: #9b9b9b;\n }\n html[class*=\"zh-\"] .zh-menu-content__item:hover {\n background-color: #242424;\n border-color: #343434;\n }\n html[class*=\"zh-\"] .zh-menu-content__item--disabled:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] {\n --zh-box-shadow: 0 3px 12px rgba(220, 220, 220, .15);\n }\n html[class*=\"zh-\"] [data-scale=\"light\"] {\n --zh-scale-white: #181818;\n --zh-scale-grey-0: #181818;\n --zh-scale-gh-green: #484;\n --zh-scale-gh-red: #d82828;\n --zh-scale-gh-purple: #8348af;\n --zh-scale-gh-yellow: #cb4;\n --zh-scale-gh-draft: #9b9b9b;\n }\n html[class*=\"zh-\"] [data-scale=\"dark\"] {\n --zh-scale-white: #181818;\n --zh-scale-gh-draft: #9b9b9b;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] {\n --zh-color-grey-light: #343434;\n --zh-theme-shadows-scroll-indicator-top: linear-gradient(#181818 30%, transparent), linear-gradient(transparent, #181818 70%) 0 100%, radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, .15), rgba(0, 0, 0, 0)), radial-gradient(50% 100%, farthest-side, rgba(0, 0, 0, .15), rgba(0, 0, 0, 0)) 0 100%;\n --zh-theme-shadows-scroll-indicator-bottom: linear-gradient(#181818 30%, transparent), linear-gradient(transparent, #181818 70%) 0 100%, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, .15), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, .15), rgba(0, 0, 0, 0)) 0 100%;\n }\n html[class*=\"zh-\"] [data-theme=\"night\"] {\n --zh-color-grey-light: #343434;\n }\n html[class*=\"zh-\"] .LGbSKIQWYTI8vzkG7qH7 {\n background: none;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .A4ihrkQXykGa95da64FN {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .fKGYGUC2JlNtku62HMaQ {\n background: none;\n }\n html[class*=\"zh-\"] .w05Yo5gs2oIknnXoaFv2 {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .h1vj6ZfCp9iguJKqNuim {\n background: none;\n }\n html[class*=\"zh-\"] .hBEqqa58ejgcG16tdrTO {\n background-image: none;\n }\n html[class*=\"zh-\"] .sNtOHDfndl_Rfn9iHuPS {\n background: none;\n }\n html[class*=\"zh-\"] .DlNHMcikOfye8DwrV6FV,\n html[class*=\"zh-\"] .ECDOgxI_rYry8RuNZMvH,\n html[class*=\"zh-\"] .MWNN7DVRMty6UcmNPXkQ,\n html[class*=\"zh-\"] .NChLTqtdAOSricK8Y0ji,\n html[class*=\"zh-\"] .NChLTqtdAOSricK8Y0ji:hover,\n html[class*=\"zh-\"] .Os7TelSWiJUaICO33HNb.tJvto8ZUmx0X2wgxqGG1,\n html[class*=\"zh-\"] .Os7TelSWiJUaICO33HNb:hover,\n html[class*=\"zh-\"] .SjGWHnvw80ozqGY3_lIp.tJvto8ZUmx0X2wgxqGG1,\n html[class*=\"zh-\"] .SjGWHnvw80ozqGY3_lIp:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .EBNNkXQwvPrQEgs9jPZ3 {\n background: none;\n }\n html[class*=\"zh-\"] .BclqqKAvchhTyN_rbz5g {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .PctEv5yjB6Ysd0E4j4BA:focus:not(:focus-visible) + .GZ_qGaseN_z566PqKnqX {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .Z8c0CLZOo0LRTpDwpbd9,\n html[class*=\"zh-\"] .dQ9G9vrAd9TgB1dU3hK4 .DayPicker__withBorder {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .z7lAIAW2mrN0yTGOO1tA {\n background: none;\n }\n html[class*=\"zh-\"] .BD8gHqDCZi8y56mxqw4N,\n html[class*=\"zh-\"] .ZX4GfvwgkVNv89ZQKZKg,\n html[class*=\"zh-\"] .cPbgC0L6RI26ODofZkni,\n html[class*=\"zh-\"] .xY6B6__M4qVWmDUPqaxf {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .FtRY5GrLcEpHvDFayZGv {\n background: none;\n }\n html[class*=\"zh-\"] .AplvrL2rqnyK1fjkQSP_ {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .d0JUMwJ_lyUYKSzMZTms {\n background: none;\n }\n html[class*=\"zh-\"] .aGMJmkNbQ_krtH9citya {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .c7TEfHGWkNRdpQcp1xcP {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .LFJNsP7b2h9s7Wxab9LD,\n html[class*=\"zh-\"] ._yHSoqNECaQ4aUYBNBDX {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .et4cZJjDmL_vFUKsw8PW:first-of-type {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .bPIcUPWuQ2toePuBg2SR {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .qhhcSlQgTs8MX_dVIwsi {\n background: none;\n }\n html[class*=\"zh-\"] .EWUolrjedSNA4nnLsIRy,\n html[class*=\"zh-\"] .EWUolrjedSNA4nnLsIRy:focus,\n html[class*=\"zh-\"] .EWUolrjedSNA4nnLsIRy:hover {\n border-color: currentcolor;\n }\n html[class*=\"zh-\"] .gbRknkKf4n5TD7aHEaWb,\n html[class*=\"zh-\"] .pkS0VZ0j_BOgUz3zlHYg {\n background: none;\n }\n html[class*=\"zh-\"] .UXMaCNsZEMSNMmtDo0Qd {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .ouAlnhKLL9FZ2D6LgZrx,\n html[class*=\"zh-\"] .sBNV4cGK8ma6SoSPP0KJ {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .p0i4VaHv6fKpTusHbNL5:disabled {\n background-color: transparent !important;\n }\n html[class*=\"zh-\"] .TMT3vHBbHLglINivwPZU:focus {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .hjMwQ169DThlfPgH1q2T {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .fWXi2KOkuns7DFewH2xX,\n html[class*=\"zh-\"] .mXtUVXl1U88dRJumbe1Y {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .fWXi2KOkuns7DFewH2xX:focus,\n html[class*=\"zh-\"] .fWXi2KOkuns7DFewH2xX:hover,\n html[class*=\"zh-\"] .mXtUVXl1U88dRJumbe1Y:focus,\n html[class*=\"zh-\"] .mXtUVXl1U88dRJumbe1Y:hover {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .dcYJTP79oK1dUXIKGbqg {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .EiZDi3OYbm81YUXoZVBd {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .QkXKCq5VkSWF1u95ACog {\n background: none;\n }\n html[class*=\"zh-\"] .TKbbEKPsc7ElNGQtwzr8 {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .clyZnccyVn1iwf03y6Qt {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .IQa5z05Ut841f_UH5rCi {\n background: none;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .IyR107QElISianVsBtjA {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .ItIsX_ot0PUi82Ft97Lx,\n html[class*=\"zh-\"] .ZGLeuREcnEY3m3FXlMsK {\n background: none;\n }\n html[class*=\"zh-\"] .csKq1JjfdsFrpdjO23CI {\n background-color: transparent;\n box-shadow: none;\n }\n html[class*=\"zh-\"] .M4RnBiodO57_yP2ULIjF:active,\n html[class*=\"zh-\"] .M4RnBiodO57_yP2ULIjF:focus,\n html[class*=\"zh-\"] .M4RnBiodO57_yP2ULIjF:hover,\n html[class*=\"zh-\"] .csKq1JjfdsFrpdjO23CI:focus {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .L0d2kEtPGTe0dkcMzuPX {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .sv_CAjywRhsEz0sJXcKr {\n background-color: transparent;\n }\n html[class*=\"zh-\"] .JxEUKrvkeLEJxkq5Bfvc {\n background: none;\n }\n html[class*=\"zh-\"] .BlaTvyHYJCSaCuQ91FeQ,\n html[class*=\"zh-\"] .ewSyfoMwlTgfn9sllOLT,\n html[class*=\"zh-\"] .ioaEGizZ4KBNizajFiow,\n html[class*=\"zh-\"] .t6zr7zZp_c0StOnwCezn,\n html[class*=\"zh-\"] .xsxrRMnRdYb8ZhLS9l67 {\n box-shadow: none;\n }\n html[class*=\"zh-\"] .bCotYvHGAmRQbCzKzyO5,\n html[class*=\"zh-\"] .vNmh9WTyDWbzzBzhcFuy {\n background: none;\n }\n html[class*=\"zh-\"] .EEUo5t_bKLFZlWFlYwxN {\n box-shadow: none;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs {\n color: rgb(210, 210, 210) !important;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-doctag,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-keyword,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-meta .ThmGMWhUdQPeuyz2S5DR,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-template-tag,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-template-variable,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-type,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-variable.language_ {\n color: #d82828;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-title,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-title.class_,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-title.class_.inherited__,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-title.function_ {\n color: #8348af;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-attr,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-attribute,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-literal,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-meta,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-number,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-operator,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-selector-attr,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-selector-class,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-selector-id,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-variable {\n color: #4f8cc9;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-meta .Lpn5q56kQlmpUJTGF5Mn,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-regexp,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-string {\n color: #9daccc;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-built_in,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-symbol {\n color: #fb8532;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-code,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-comment,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-formula {\n color: #9b9b9b;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-name,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-quote,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-selector-pseudo,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-selector-tag {\n color: #6cc644;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-subst {\n color: rgb(210, 210, 210) !important;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-section {\n color: #4f8cc9;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-bullet {\n color: #bba257;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-emphasis,\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-strong {\n color: rgb(210, 210, 210) !important;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-addition {\n background-color: #002800;\n color: #6cc644;\n }\n html[class*=\"zh-\"] [data-theme=\"day\"] .hljs-deletion {\n background-color: #300;\n color: #d82828;\n }\n html[class*=\"zh-\"] .f4SCOPEz29ymWKvvzx6M pre code {\n background-color: transparent;\n }\n /* end zenhub rules */\n /* generated github-hovercard rules */\n /* begin gitako rules */\n body.gitako-ready #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=dark] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=dark] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=dark] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=dark] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=dark_high_contrast] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=dark_high_contrast] #gitako-root {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=dark_high_contrast] #gitako-root {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=dark_high_contrast] #gitako-root {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=light_colorblind] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=light_colorblind] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=light_colorblind] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=light_colorblind] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=dark_colorblind] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=dark_colorblind] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=dark_colorblind] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=dark_colorblind] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=dark_tritanopia] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=dark_tritanopia] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=dark_tritanopia] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=dark_tritanopia] #gitako-root {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=light_high_contrast] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=light_high_contrast] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=light_high_contrast] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=light_high_contrast] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=dark_dimmed] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=dark_dimmed] #gitako-root {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=dark_dimmed] #gitako-root {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=dark_dimmed] #gitako-root {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=light] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=light] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=light] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=light] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n body.gitako-ready :root[data-color-mode=dark][data-dark-theme=light_tritanopia] #gitako-root,\n body.gitako-ready :root[data-color-mode=light][data-light-theme=light_tritanopia] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n body.gitako-ready :root[data-color-mode=auto][data-light-theme=light_tritanopia] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n body.gitako-ready :root[data-color-mode=auto][data-dark-theme=light_tritanopia] #gitako-root {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n body.gitako-ready .gitako-side-bar .gitako-side-bar-body .gitako-side-bar-content .file-explorer .node-item .actions .find-in-folder-button,\n body.gitako-ready .gitako-side-bar .gitako-side-bar-body .gitako-side-bar-content .file-explorer .node-item .actions .go-to-button,\n body.gitako-ready .gitako-toggle-show-button-wrapper .gitako-toggle-show-button,\n body.gitako-ready .gitako-toggle-show-button-wrapper .gitako-toggle-show-button:active,\n body.gitako-ready .gitako-toggle-show-button-wrapper .gitako-toggle-show-button:focus,\n body.gitako-ready .gitako-toggle-show-button-wrapper .gitako-toggle-show-button:hover {\n background-color: transparent;\n }\n /* end gitako rules */\n /* generated npmhub rules */\n /* begin notifications-preview rules */\n html:root .NPG-dropdown {\n color: rgb(210, 210, 210) !important;\n }\n html:root .participating .js-notifications-browser::before {\n background-color: #444;\n }\n html:root .mark-all-as-read-confirmed label {\n background-color: initial;\n }\n html:root .NPG-dropdown .notifications-list-item:hover .notification-list-item-actions .btn {\n background-color: #343434 !important;\n }\n /* end notifications-preview rules */\n /* begin octotree rules */\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]):root {\n --ghd-code-color: #5a5a5a;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) a[href^=\"https://apps.apple.com\"] svg {\n fill: #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .repository-content #readme:not(.blob) .Box-header {\n background-color: transparent !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .js-issue-row [aria-label=\"Open draft pull request\"] svg {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .rgh-recently-pushed-branches .Header .RecentBranches,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .rgh-recently-pushed-branches [data-url$=recently_touched_branches_list] .Box {\n border-color: currentcolor !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .rgh-recently-pushed-branches .Header .RecentBranches-item-link,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .rgh-recently-pushed-branches [data-url$=recently_touched_branches_list] .btn-link,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .rgh-recently-pushed-branches [data-url$=recently_touched_branches_list] .link-gray-dark {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .js-expandable-line:hover .blob-num:not(:hover) + .blob-code,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .js-expandable-line:hover .blob-num:not(:hover) .directional-expander:first-child,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]).refined-github .rgh-clean-conversation-headers-non-default-branch a {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) a {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .rule,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) hr {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn[aria-selected=true] {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn[aria-disabled=true] {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary {\n color: #fff;\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary[aria-disabled=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-danger {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-danger {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-outline {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-outline {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-blue {\n background-image: none;\n box-shadow: inset 0 .15em .3em #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue[aria-disabled=true] {\n background-image: none;\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-link {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible {\n background-color: initial;\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible.zeroclipboard-is-active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible.zeroclipboard-is-hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible[aria-selected=true] {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-octicon {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-octicon.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-octicon.disabled:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-octicon[aria-disabled=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-octicon[aria-disabled=true]:hover {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .close-button {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .ellipsis-expander:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hidden-text-expander a:active {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-control,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-select {\n box-shadow: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-control[disabled],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-select[disabled] {\n color: #767676 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .input-dark {\n color: #fff;\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .inline-form .btn-plain {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .previewable-comment-form .comment {\n border-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) p.explain .octicon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item.selected::before,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item[aria-current]:not([aria-current=false])::before,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item[aria-selected=true]::before {\n background-color: #181818;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item .octicon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tabnav-tab {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tabnav-tab .octicon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-list.pjax-active .filter-item {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-item.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-item[aria-current]:not([aria-current=false]),\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-item[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-list.pjax-active .filter-item.pjax-active {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SideNav-item {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SideNav-item[aria-current]:not([aria-current=false])::before,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SideNav-item[aria-selected=true]::before {\n background-color: #181818;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SideNav-subItem {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-item.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-item[aria-current]:not([aria-current=false]),\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-item[aria-selected=true] {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-search-icon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .UnderlineNav-item {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .UnderlineNav-item.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .UnderlineNav-item[aria-current]:not([aria-current=false]),\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .UnderlineNav-item[role=tab][aria-selected=true] {\n border-bottom-color: var(--ghd-bg-color);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .UnderlineNav-octicon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pagination .current,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pagination .current:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pagination [aria-current]:not([aria-current=false]),\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tooltipped::after {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .box-shadow-none {\n box-shadow: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .color-gray-4 {\n color: #767676 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .bg-gray-5 {\n background-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .color-orange-4,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .color-orange-6 {\n color: #fb8532 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .bg-orange-4,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .bg-orange-6 {\n background-color: #fb8532 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .text-orange-light {\n color: #fb8532 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .text-white {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n @keyframes blink {\n 50% {\n background-color: initial;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.intent-mouse [role=button]:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.intent-mouse [role=tabpanel][tabindex=\"0\"]:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.intent-mouse a:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.intent-mouse button:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.intent-mouse summary:focus {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-group:hover .form-field-hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .placeholder-box {\n border-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .auth-form-header,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .auth-form-header h1 a {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .session-authentication .auth-form-header,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .session-authentication .header-logged-out,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .session-authentication.enterprise .header-logged-out,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .session-authentication.hosted .header-logged-out {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .HeaderMenu--logged-out .dropdown-menu {\n box-shadow: 0 3px 12px #f0f0f0, 0 0 1px rgba(220, 220, 220, .2);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu--logged-out {\n box-shadow: 0 10px 50px #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu--logged-out .dropdown-menu {\n box-shadow: none;\n }\n @media (min-width:1012px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu--logged-out {\n background-color: initial;\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu--logged-out .dropdown-menu {\n box-shadow: 0 3px 12px #f0f0f0, 0 0 1px rgba(220, 220, 220, .2);\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu-link {\n background-color: transparent;\n }\n @media (min-width:1012px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu-link,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu-link:hover {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .HeaderMenu-link .icon-chevon-down-mktg {\n background-color: transparent;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .HeaderMenu-link {\n color: #fff;\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .HeaderMenu-link:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .feature-preview-indicator,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-logo-invertocat,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-logo-invertocat:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notification-indicator .mail-status {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-global-search .clear-button {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-form-control {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .gist-global-search .global-search-form-control,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .state-asleep .global-search-form-control {\n background-color: rgba(220, 220, 220, .125);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-global-search-input {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .gist-global-search .header-global-search-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:focus .global-search-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:focus .jump-to-anchor,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:focus .qualifier-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:hover .global-search-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:hover .jump-to-anchor,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option:hover .qualifier-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option[aria-selected=true] .global-search-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option[aria-selected=true] .jump-to-anchor,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .global-search-li-option[aria-selected=true] .qualifier-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .state-asleep .header-global-search-input {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .header-search-wrapper {\n color: #fff;\n background-color: rgba(220, 220, 220, .125);\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .header-search-wrapper.focus {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .header-search-wrapper.focus .header-search-scope {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .header-search-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .header-search-input:focus {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .header-search-scope:hover {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-path mark {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-results-container .navigation-focus .jump-to-octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-results-container .navigation-focus .jump-to-suggestions-path,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-results-container .navigation-focus mark,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-results-container [aria-selected=true] .jump-to-octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-results-container [aria-selected=true] .jump-to-suggestions-path,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-current .jump-to-suggestions-results-container [aria-selected=true] mark {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .header-search-wrapper {\n color: #fff;\n background-color: rgba(220, 220, 220, .125);\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .header-search-wrapper:focus-within {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .header-search-wrapper:focus-within .header-search-scope {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .header-search-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .header-search-input:focus {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .header-search-scope:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .site-search-close-button .site-search-close-x {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-path mark {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .autocomplete-item.navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .autocomplete-item.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .autocomplete-item:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .autocomplete-item[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-results-container .navigation-focus .jump-to-octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-results-container .navigation-focus .jump-to-suggestions-path,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-results-container .navigation-focus mark,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-results-container [aria-selected=true] .jump-to-octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-results-container [aria-selected=true] .jump-to-suggestions-path,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-search-prototype .jump-to-suggestions-results-container [aria-selected=true] mark,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .suggester li.navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .suggester li.navigation-focus small,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .suggester li:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .suggester li:hover small,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .suggester li[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .suggester li[aria-selected=true] small {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .blankslate-icon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dropdown-item:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dropdown-item:hover {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dropdown-menu-dark {\n color: #fff;\n box-shadow: 0 8px 24px rgba(0, 0, 0, .4);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Label,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .label {\n background-color: initial !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .State,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .state {\n color: #fff;\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Counter--gray {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body .emoji,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body table img {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body pre > code {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body pre code,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body pre tt {\n background-color: initial;\n }\n @media (min-width:544px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-modal {\n box-shadow: 0 8px 24px rgba(0, 0, 0, .4);\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-closeButton {\n color: #767676;\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-tab {\n background-color: initial;\n }\n @media (min-width:544px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .TimelineItem--condensed .TimelineItem-badge {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Toast-icon {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Toast-dismissButton {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Toast-dismissButton:active {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .boxed-group .Counter,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .boxed-group.dangerzone > h3 {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .reverse-progress-container {\n background-image: linear-gradient(90deg, #484, #4f8cc9, #9378ba, #d82828, #fb8532);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-button::after {\n border-color: currentcolor transparent transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-text-filter input:-ms-input-placeholder {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-text-filter input::-ms-input-placeholder {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-tabs .select-menu-tab-nav,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-tabs a {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description-inline,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description-inline .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description-inline .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description-inline .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description-inline > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.select-menu-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.select-menu-action .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.select-menu-action .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.select-menu-action .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.select-menu-action > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.selected .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.selected .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.selected .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus.selected > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus[aria-checked=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus[aria-checked=true] .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus[aria-checked=true] .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus[aria-checked=true] .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item.navigation-focus[aria-checked=true] > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description-inline,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description-inline .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description-inline .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description-inline .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description-inline > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.select-menu-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.select-menu-action .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.select-menu-action .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.select-menu-action .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.select-menu-action > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.selected .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.selected .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.selected .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:focus.selected > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description-inline,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description-inline .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description-inline .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description-inline .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description-inline > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.select-menu-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.select-menu-action .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.select-menu-action .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.select-menu-action .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.select-menu-action > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.selected .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.selected .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.selected .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover.selected > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:focus .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:focus .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:focus .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:focus > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:hover .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:hover .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:hover .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-checked=true]:hover > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true] .description-inline,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true] .description-inline .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true] .description-inline .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true] .description-inline .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true] .description-inline > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true].select-menu-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true].select-menu-action .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true].select-menu-action .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true].select-menu-action .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true].select-menu-action > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:focus .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:focus .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:focus .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:focus > .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:hover .description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:hover .description-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:hover .select-menu-item-heading-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item[aria-selected=true]:hover > .octicon {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu.label-select-menu .select-menu-item:active {\n background-color: initial !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Box--overlay {\n box-shadow: 0 0 18px #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .comment-body .highlight {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .email-format .email-hidden-toggle a:active {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branches-tag-list li .ellipsis-expander:hover {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .signed-commit-header .octicon-unverified {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .diffstat,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .octicon-diff-added,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .octicon-diff-modified,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .octicon-diff-removed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .octicon-diff-renamed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .select-menu-item-heading,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .select-menu-item-text,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .text-gray-light,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .text-green,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select .navigation-focus .text-red,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .diffstat,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .octicon-diff-added,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .octicon-diff-modified,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .octicon-diff-removed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .octicon-diff-renamed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .select-menu-item-heading,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .select-menu-item-text,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .text-gray-light,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .text-green,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:focus .text-red,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .diffstat,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .octicon-diff-added,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .octicon-diff-modified,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .octicon-diff-removed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .octicon-diff-renamed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .select-menu-item-heading,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .select-menu-item-text,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .text-gray-light,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .text-green,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select [role^=menuitem]:hover .text-red,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .diffstat,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .octicon-diff-added,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .octicon-diff-modified,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .octicon-diff-removed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .octicon-diff-renamed,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .select-menu-item-heading,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .select-menu-item-text,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .text-gray-light,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .text-green,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toc-select[aria-selected=true] .text-red {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .blob-num-expandable .diff-expander:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .blob-num-expandable .directional-expander:hover {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .add-line-comment {\n color: #fff;\n box-shadow: 0 1px 4px #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-sidebar-item .muted-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-sidebar-toggle .octicon {\n color: #767676;\n }\n @media (min-width:1012px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-responsive .previewable-comment-form .comment-form-head.tabnav .toolbar-commenting {\n background-color: transparent;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .previewable-comment-form .comment-body {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .footer-octicon:hover {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pagehead-tabs-item.selected {\n border-color: #fb8532 #343434 transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .reponav-wrapper .reponav-item.selected {\n color: #fff;\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .max--md .content-attachment-content--gradient {\n background: linear-gradient(180deg, transparent, #181818 calc(100% - 28px));\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple {\n color: #fff;\n background-color: #4550c2;\n background-image: linear-gradient(-180deg, #4550c2, #4550c2 90%);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-blurple {\n background-image: none;\n box-shadow: inset 0 .15em .3em #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blurple[aria-disabled=true] {\n background-image: none;\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .integrations-breadcrumb-link:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intgr-admin-link.draft-tag .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intgr-admin-link.draft-tag:hover .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intgr-feat-header .intgr-admin-link:hover .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intgr-feat-header h2,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intgrs-dir-intro .directory-header-back,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intgrs-dir-intro .directory-tag-line {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .integrations-install-target .flash,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .integrations-install-target .flash-error {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .link-small {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .alert-label,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .billing-plans .coupon td {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .credit-card.normal .signature {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan-choice--experiment.open,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan-choice--experiment.selected {\n box-shadow: 0 8px 24px rgba(0, 0, 0, .4);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan-choice--experiment.open .plan-choice-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan-choice--experiment.selected .plan-choice-icon {\n box-shadow: 0 1px 0 #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-action-icon {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-action-state-closed-dirty .branch-action-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-action-state-dirty .branch-action-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-icon {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .completeness-indicator-error,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .completeness-indicator-success {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .completeness-indicator-problem {\n color: #fff;\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-a-b-count .count-half:last-child {\n border-left-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-a-b-count .meter.zero {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .checks-list-item.selected .selected-color-white {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep-header,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .neutral-check {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep-header-dropdown-menu-next {\n box-shadow: 0 8px 24px hsla(0, 0%, 0%, .7) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-search .btn {\n color: #fff;\n background-color: rgba(220, 220, 220, .125);\n background-image: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-search .btn[disabled] {\n background-image: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-header-next .btn-link:hover:not([disabled]),\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-header-next .btn.btn-link:hover:not([disabled]) .octicon {\n background-color: rgba(220, 220, 220, .125);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-header-timestamp {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-search-input:-ms-input-placeholder {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-search-input::-ms-input-placeholder {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-search-input::placeholder {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-header-counter,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckRun-search-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep-line .CheckStep-line-timestamp {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep-line .dt-fm.select {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep .ansifg-gr,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep .log-line-info,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep .log-line-info a,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep .log-line-verbose,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CheckStep .log-line-verbose a {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .search-form-fluid .search-page-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .search-form-fluid .search-page-input:focus {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) g.mini {\n fill: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CommunityTemplate-highlight--focus {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .community-checklist .progress-bar {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .contrib-legend .legend li {\n box-shadow: inset 0 0 0 1px #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .contrib-person path,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .map-point:hover {\n fill: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dashboard-notice .dismiss {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dashboards-overview-cards .blankslate,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) :target .discussion-nested-comment-group .timeline-comment,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) :target .nested-discussion-timeline-comment {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .icon-discussion-white {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussions-activity-indicator {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .emoji-tab[role=tab][aria-selected=true] {\n border-bottom-color: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .emoji-picker-tab .btn-outline:not(:hover) {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .newsletter-frequency-choice:hover h3 {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .newsletter-frequency-choice.selected {\n box-shadow: 0 0 5px hsla(0, 0%, 0%, .7);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .ghpi-bootstrap-complete-step,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .newsletter-frequency-choice.selected h3,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .topic-tag-action .add-topic-button:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .topic-tag-action .remove-topic-button:hover {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .topic-input-container .tag-input .tag-input-inner {\n background-image: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-discussion-new-post .review-thread-reply-button:disabled {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-project-suggestion-number {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hook-deliveries-list .hook-delivery-item:hover {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hook-delivery-container h4.remote-call-header {\n border-bottom-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hook-delivery-response-status {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .integrations-select-repos::-webkit-scrollbar-track-piece {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .issues-reset-query-icon {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .label-select-menu .selected:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .label-select-menu [aria-checked=mixed]:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .label-select-menu [aria-checked=true]:active {\n background-color: initial !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .issue-keyword {\n border-bottom-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repository-lang-stats ol.repository-lang-stats-numbers li a:hover {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceFeature-link:hover .CircleBadge--feature {\n box-shadow: 0 3px 8px 0 hsla(0, 0%, 0%, .7);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-item.selected .Label--gray,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .selected .marketplace-plan-emphasis {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceEdit-body .CircleIcon {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .BarChart-bar--orange {\n background-color: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .muted-link.filter-item.selected {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceAnnouncement .btn-outline-mktg {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .merge-branch-manually {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .navigation-focus.disabled .unavailable-merge-method,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [aria-selected=true].disabled .unavailable-merge-method {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .news .alert .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .news .alert .time,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .news .alert .title .subtle,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-new-repo .octicon-repo {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notifications-list .mark-all-as-read {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notifications-v2 .thread-subscription-status {\n background-color: initial !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notifications-list-item:hover .notification-list-item-actions .btn {\n background-color: transparent !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .oauth-permissions-details.open a.btn-sm {\n background-image: none;\n box-shadow: inset 0 2px 4px #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .org-insights-card-legend .metric-2 {\n color: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .org-insights-graph-canvas .metric-2 circle,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .org-insights-graph-canvas path.metric-2,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .org-insights-svg-tip .metric-2 .legend {\n stroke: #fb8532;\n background-color: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .org-insights-cards .org-insights-card-legend {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .saml-settings-form .test-status-indicator-error,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .saml-settings-form .test-status-indicator-success {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-member-list .invite-icon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item-danger.navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item-danger.selected.navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item-danger.selected:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item-danger.selected[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item-danger:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item-danger[aria-selected=true] {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-member-list-avatar .octicon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .progress-pjax-loader {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .project-full-screen .project-header .project-header-link:hover {\n color: #fff !important;\n }\n @media (min-width:544px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .project-full-screen .card-filter-input {\n color: #fff;\n background-color: rgba(220, 220, 220, .125);\n box-shadow: none;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .new-project-column {\n border-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .project-pane .redacted-activity {\n border-bottom-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .card-filter-autocomplete-dropdown .navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .card-filter-autocomplete-dropdown .navigation-focus .autocomplete-text-qualifier,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .card-filter-autocomplete-dropdown [aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .card-filter-autocomplete-dropdown [aria-selected=true] .autocomplete-text-qualifier {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .projects-reset-query-icon {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-profile-nav {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .toolbar-shadow {\n background: linear-gradient(rgba(0, 0, 0, .075), transparent) repeat-x;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diffbar [role^=menuitem]:focus:not(.is-range-selected) .text-emphasized,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diffbar [role^=menuitem]:hover:not(.is-range-selected) .text-emphasized {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .uploaded-files.not-populated + .drop-target .drop-target-label {\n border-top-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .timeout {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .avatar-upload .flash {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .application-show-group .drag-and-drop,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .saved-reply-form .comment-body {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .two-factor-toggle .two-factor-on,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-already-added::after {\n color: #fff;\n }\n @keyframes toggle-color {\n 0%, to {\n background-color: initial;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repository-merge-features .form-group.errored .error {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repository-settings-actions [role=tab][aria-selected=true] {\n border-bottom-color: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .shelf-dismiss {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .intro-shelf {\n background-image: linear-gradient(180deg, transparent 60%, #181818), linear-gradient(70deg, #182030 32%, #ebfff0);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .signup-plan-card:hover {\n box-shadow: 0 8px 24px rgba(0, 0, 0, .4);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan-category-tab[aria-selected=true] {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan-category-tab[aria-selected=true] .tab-title {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .showcase-page-pattern::after {\n background-image: linear-gradient(180deg, hsla(0, 0%, 0%, .85), #181818);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .sponsors-goal-completed-bar,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .sponsors-goal-progress-bar:hover {\n background: linear-gradient(90deg, #cb4, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tag-input input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tag-input input:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-label-ldap {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .token-scanning-reset-query-icon {\n background-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .svg-tip .date {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tree-finder-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .tree-finder-input:focus {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion.navigation-focus .already-member-note,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion.navigation-focus .member-email,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion.navigation-focus .member-name,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion.navigation-focus .non-member-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion.navigation-focus .non-member-note,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion.navigation-focus .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion:hover .already-member-note,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion:hover .member-email,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion:hover .member-name,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion:hover .non-member-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion:hover .non-member-note,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion:hover .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion[aria-selected=true] .already-member-note,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion[aria-selected=true] .member-email,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion[aria-selected=true] .member-name,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion[aria-selected=true] .non-member-action,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion[aria-selected=true] .non-member-note,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .member-suggestion[aria-selected=true] .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-suggestion.navigation-focus .team-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-suggestion.navigation-focus .team-size,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-suggestion[aria-selected=true] .team-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .team-suggestion[aria-selected=true] .team-size,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .typeahead-result.navigation-focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .typeahead-result.navigation-focus .octicon-plus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .typeahead-result:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .typeahead-result:hover .octicon-plus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .typeahead-result[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .typeahead-result[aria-selected=true] .octicon-plus {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .email-suggestion .octicon-mail {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .follow-list .flagged-banner,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-access-add-team.navigation-focus .team-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-access-add-team.navigation-focus .team-size,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-access-add-team[aria-selected=true] .team-description,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-access-add-team[aria-selected=true] .team-size,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-status-org-button.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-status-org-button.selected .user-status-org-detail,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-status-org-button:focus .user-status-org-detail,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-status-org-button:hover .user-status-org-detail {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-status-circle-badge {\n box-shadow: 0 1px 0 #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hx_badge-search-container .hx_badge-input {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hx_badge-search-container .hx_badge-input:focus {\n box-shadow: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hx_badge[aria-pressed=true] {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Box--responsive .Box-row--unread,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notification-list-item-actions .btn {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-item:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-item[aria-disabled=true] {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Box--responsive .Box-row--unread::before {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .autocomplete-item {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .radio-label .octicon {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-item:hover .Label {\n border-color: currentcolor;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pagehead-tabs-item.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .reponav-item.selected {\n border-top-color: var(--ghd-bg-color);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-mktg {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline-mktg,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline-mktg:hover {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-transparent {\n color: #fff;\n background-color: initial;\n background-image: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-transparent:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-transparent:hover {\n background-image: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-black-mktg-fluid,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-green-mktg-fluid,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-lg-mktg-fluid,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-mktg-fluid,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-purple-mktg-fluid,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-white-outline-mktg-fluid,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-white-outline-mktg-fluid.hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-white-outline-mktg-fluid.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-white-outline-mktg-fluid:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-white-outline-mktg-fluid:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-white-outline-mktg-fluid[aria-selected=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [open] > .btn-white-outline-mktg-fluid {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible-mktg-fluid.focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible-mktg-fluid.text-underline,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-invisible-mktg-fluid:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-lg-invisible-mktg-fluid.focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-lg-invisible-mktg-fluid.text-underline,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-lg-invisible-mktg-fluid:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .section-codespaces-develop-night .codespaces-sun {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .customer-story-overlay {\n background-image: linear-gradient(180deg, #f0f0f0 -5%, transparent 50%);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .bg-orange {\n background-color: #fb8532 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .text-gray-light-ultra {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .underline-dashed {\n background-image: linear-gradient(90deg, #404040 50%, transparent 0);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .link-white-mktg {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .particle-circle-orange,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .particle-circle-orange-2 {\n background-color: #fb8532;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-btn {\n background-color: transparent;\n }\n @media (min-width:768px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-btn {\n color: #fff;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-btn:hover {\n background-color: transparent;\n }\n @media (min-width:768px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .subnav-btn:hover {\n color: #fff;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .fade-img-to-white-bg::before {\n background: linear-gradient(180deg, #181818 0, transparent);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .fade-img-to-white-bg::after {\n background: linear-gradient(0deg, #181818 0, transparent);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pricing-plan-tab {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pricing-matrix-row-button,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pricing-testimonial-logo {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .codespaces-subtitle {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .section-codespaces-develop-night .codespaces-develop-header {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .section-codespaces-develop-night .codespaces-develop-text {\n color: hsla(0, 0%, 0%, .2) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .jumbotron-link {\n border-bottom-color: rgba(220, 220, 220, .125);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .home-hero-signup .form-control-note .notice-highlight {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .customer-story-card {\n box-shadow: 0 2px 4px #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .card-mktg {\n box-shadow: 0 1px 15px #f0f0f0, 0 0 1px rgba(106, 115, 125, .35);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .border-orange {\n border-color: #fb8532 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .actions-event-token,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .actions-template-repo {\n color: #767676;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .insights-hero-text::after {\n background-image: linear-gradient(hsla(0, 0%, 0%, .85), transparent);\n }\n @media (min-width:1012px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .insights-hero-text {\n background-color: initial;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-white .Header .HeaderMenu-link.border,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-white .Header a.border,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-white .Header-old .HeaderMenu-link.border,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-white .Header-old a.border,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-white .header-search-wrapper .text-white {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .features-btn-clear-bg,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .features-btn-clear-bg::before {\n background-image: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .features-category--dark .features--color-title {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .features-category--apps-illo1-inner2 {\n background: linear-gradient(167.44deg, hsla(0, 0%, 0%, .7) 38.78%, transparent 125.06%);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-project #js-flash-container .flash,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-project #js-flash-container .octicon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--blue,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--blue:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--blue:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--green,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--green:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--green:hover {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .gpr-cli-tab {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--blue span {\n background-image: linear-gradient(180deg, transparent 98.5%, #3e74f9 0);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-underline--green span {\n background-image: linear-gradient(180deg, transparent 98.5%, #6ddb90 0);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-project .Header,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-project .Header-old {\n background-color: initial !important;\n background-image: linear-gradient(0deg, transparent, rgba(0, 0, 0, .7)) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-btn-outline {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-social-link:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-social-link:hover {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [name=user-content-code-link]::after {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .readme-textarea {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .phone-background {\n box-shadow: 0 2px 30px #f0f0f0, inset 30px 0 20px 20px rgba(0, 0, 0, .01);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .mobile-particle-circle-orange,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .mobile-particle-square-orange {\n background-color: #fb8532;\n }\n @media (min-width:544px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .summarylink:active .summarylink-btn,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .summarylink:hover .summarylink-btn {\n box-shadow: 0 8px 24px rgba(0, 0, 0, .4);\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .apps-cluster .CircleBadge.tooltipped:hover {\n box-shadow: 0 3px 8px 0 hsla(0, 0%, 0%, .7);\n }\n @media (min-width:768px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .DeveloperVideo-data {\n background-image: linear-gradient(transparent, rgba(27, 31, 35, .95));\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .signup-prompt-bg {\n background-image: linear-gradient(180deg, transparent 50%, #181818), linear-gradient(70deg, #182030 32%, #f6fff8);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-overlay .header-logged-in,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .header-overlay .header-logged-out {\n background-color: initial;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .choose-team-lp .hero-form .tooltipped {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .choose-team-lp .customer-quote {\n box-shadow: 0 4px 12px #f0f0f0;\n }\n @keyframes autofill {\n to {\n background-image: none;\n color: #343434;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ::selection {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ::-moz-selection {\n color: #fff !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ::-webkit-input-placeholder {\n color: #9b9b9b !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ::-moz-placeholder {\n color: #9b9b9b !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ::placeholder {\n color: #9b9b9b !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-text-filter input::-webkit-input-placeholder {\n color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-text-filter input::-moz-placeholder {\n color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-text-filter input::placeholder {\n color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ::-webkit-calendar-picker-indicator:hover {\n color: #9b9b9b;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:hover:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:hover:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=radio],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=radio]:focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=radio]:hover:active {\n border-color: #afafaf;\n color: #2c2c2c;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=checkbox]:hover:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input[type=radio]:disabled {\n color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .CircleBadge--github::after {\n background-color: #181818;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input.tree-finder-input,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) input.tree-finder-input:focus {\n box-shadow: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dropdown-menu,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .select-menu-modal,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .word-upload-callout {\n box-shadow: 0 3px 12px #000;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .exploregrid-item:hover {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .box-shadow-large,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) html[class*=ghh-] .tooltipster-box {\n box-shadow: 0 1px 15px #f0f0f0 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) img[src*=\"images/modules/checks\"].box-shadow-large {\n box-shadow: 0 1px 15px var(--ghd-bg-color) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .js-current .standalone a,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .section-nav .active a,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .sidebar-module .disable > a {\n border-left-color: #2c2c2c !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .dropdown-arrow {\n border-top-color: #2c2c2c !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #com #header .top-nav .dropdown-caret {\n border-top-color: #5a5a5a !important;\n }\n @media screen and (min-width:1024px) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .site-subnav .subnav-primary.selected,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .site-subnav .subnav-primary:hover {\n border-bottom-color: #2c2c2c !important;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-item.selected .Label--outline-white {\n border-color: var(--ghd-bg-color);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .filter-tab.selected {\n border-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #org-members .member-listing,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .listings div.listing {\n border-left-color: #c6c6c6 !important;\n border-right-color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceSideNav,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-action-body::before,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plans-card-text:first-child {\n border-right-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-filterer .repo-filter:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .review-summary::before {\n border-bottom-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .context-button:hover::after,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .switcher > span::before {\n border-color: #2c2c2c transparent transparent !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branches .branch-summary + .branch-summary {\n border-top-color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .linkable-line-number {\n border-right-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) div.container-lg > div.float-left.px-md-2 > .border.rounded-1.d-none.d-md-block {\n border-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repository-content > .bg-white:not(.card-filter-autocomplete-dropdown),\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) button.bg-white.subnav-link,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) main [style=\"background-color: #fcfdfd;\"] {\n background-color: transparent !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .action-card::after,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .action-card::before {\n box-shadow: 0 0 0 1px #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .gist-quicksearch-result-group,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .search-result-group {\n color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .shelf {\n background-image: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body[class=page-responsive] .repo-list .private {\n background-color: initial;\n }\n @media (hover:hover) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-item[aria-checked=true]:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-item[aria-checked=true]:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body:not(.intent-mouse) .SelectMenu-item[aria-checked=true]:focus {\n color: #343434;\n }\n }\n @media (hover:none) {\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-item:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .SelectMenu-item:focus {\n color: #fff;\n }\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .calendar-graph .days-selected rect.day.active {\n stroke: #343434 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .calendar-graph rect.day:hover {\n stroke: #181818 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .box-title-count {\n background-color: #afafaf !important;\n color: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body > .container > p {\n color: #5a5a5a;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-primary[aria-disabled=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn[aria-disabled=true] {\n color: hsla(0, 0%, 0%, .3);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) :not(img) text,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) circle.day {\n fill: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) circle.day:hover {\n fill: #181818 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .traffic-graph g.axis:not(.views):not(.unique) g.tick:not(:nth-child(15)):not(:first-of-type) line,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) g.axis path,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) line.axis,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) svg:not(.vis) g.axis line {\n stroke: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) svg.tick {\n fill: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .community-checklist .progress-bar .progress {\n background-color: #c6c6c6;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .labels .label-neutral,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) li.ssh-key .ssh-key-state-indicator.not-recent {\n background-color: #9b9b9b !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Counter--gray {\n background-color: #767676;\n color: #f0f0f0;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diverge-widget .separator {\n background-color: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu-item.selected::before {\n background-color: #2c2c2c !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #network canvas {\n background-color: #181818 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline-mktg,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline-mktg:hover {\n background-color: transparent;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceAnnouncement .btn-outline-mktg {\n border-color: #2c2c2c;\n color: #2c2c2c;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceAnnouncement .btn-outline-mktg:hover {\n color: #fff;\n border-color: var(--ghd-bg-color);\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .MarketplaceAnnouncement {\n color: #fff;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-file-upload-tree-target {\n background: radial-gradient(ellipse at center, #f0f0f0 0, rgba(0, 0, 0, .6) 65%, rgba(0, 0, 0, .6) 100%) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .TimelineItem-break {\n background: linear-gradient(to bottom, rgba(25, 25, 25, .8) 1%, transparent 80%) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .box-action:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .clone-url-button.selected > .clone-url-link:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hero .screenographic,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .hero .textographic,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .signup-button:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) a.signin:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) ul#bootcamp li a:hover h4 {\n border-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) main [style=\"background: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0));\"] {\n background: linear-gradient(to top, #181818, transparent) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [style*=\"background: #DBEDFF\"] {\n background-color: hsla(0, 0%, 0%, .1) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .ScreenshotCarousel-navitem.selected {\n box-shadow: inset 0 0 10px hsla(0, 0%, 0%, .05) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .commits-list-item .committer-avatar {\n box-shadow: -2px -2px 0 #000 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Header .header-search-wrapper.focus,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .box-shadow {\n box-shadow: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-blue:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-outline[aria-disabled=true],\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn:active,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .social-count,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .upload-progress {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #inbox .list .item .title span,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Subhead.border-bottom-0,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .metabox .editable-text:hover,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [href=\"#organizations\"][style*=\"background-color: #fff\"] {\n background-color: transparent !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger.disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger:disabled,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-danger[aria-disabled=true] {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) [style*=\"border: 1px solid #f9b3dd\"] .text-gray-dark {\n color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #feedHeaderContainer,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #issues_search .results em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #message .sent,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #message.minor,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #missing-readme,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .Label.bg-yellow,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .blob-code .bg-yellow-light,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .bootcamp-help ul li,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-status.status-pending .discussion-item-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .btn-download,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .callout,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .chzn-results li em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .code-list em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .code-list-item-private .blob-num,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .codesearch-results #code_search_results .bg-yellow-light,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .commits-list-item em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .compare-cutoff,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .compare-pr-placeholder,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .deprecation-warning,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diff-cutoff,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-event-status-renamed .discussion-item-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-item-review.is-pending .comment-form-head.tabnav,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-item-review.is-pending .file-header,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-topic .branch-status.status-pending,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .ejector,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .facebox-alert,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .feature-tabs .tab-button,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .feedBackground,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-actions .tip,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .gist-owner-tag .tag,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .gist-secret-label,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .infotip,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .issue-list em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .label-private,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body li.added.moved,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .mini-callout,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notification,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .page-notice,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .plan.free,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .prereceive-feedback,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-owner-tag .tag,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .repo-private-label,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .signed-out-comment,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .snippet em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .timeline-comment.unread-item .timeline-comment-header,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .unsupported-browser,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .user-list em,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .wiki-list em {\n color: #343434 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .release .Label--prerelease,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .release-label.prerelease {\n border-color: #fb8532 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .avatar-bubble::before,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .discussion-bubble-content::before {\n border-color: transparent #c6c6c6 transparent transparent !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .form-select:disabled {\n color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .coupons .coupon-form-body {\n background-image: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .js-details-container.navigation-focus .gobutton {\n background: linear-gradient(#afafaf, #222) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .api pre,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-infobar,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .coupon-icon,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .issues-list,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pagehead.repohead h1 .repo-label span,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pulls-list-group {\n border-color: #afafaf;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .branch-link,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .milestone-list .progress-bar,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pull-info {\n border-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .more-repos {\n border-top-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .capped-box,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .pull-head {\n border-bottom-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #user-content-toc td,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .copyable-terminal,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body .highlight pre,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body code,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body pre,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-body tt,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-format .highlight pre,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-format p > code,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .markdown-format pre,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .project-card .highlight pre,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .project-card code,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .rgh-parse-backticks {\n border-color: hsla(0, 0%, 0%, .1) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diff-line-pre {\n color: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diff-table .line-comments {\n border-top-color: #c6c6c6 !important;\n border-bottom-color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) #header-wrapper,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .menu li + li {\n border-bottom-color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .diff-table > tbody > tr[data-hunk]:hover > td.selected-line::after,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .highlight > tbody > tr:hover > td.blob-code-inner.highlighted::after {\n background-color: hsla(0, 0%, 0%, .15) !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .blob-code-addition .x,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .blob-code-deletion .x,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .highlight .blob-code-addition .x,\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .highlight .blob-code-deletion .x {\n color: #2c2c2c !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .project-card code {\n background-color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .refined-github .reaction-summary-item a {\n box-shadow: none;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.zh_logged_in .zh-login-status {\n border-color: #afafaf !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) body.zh_logged_in .zhc-workspace-switcher__header {\n box-shadow: none !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme]:not([data-octotree-theme=sidebar]) .notifications-dropdown-arrow {\n border-bottom-color: #c6c6c6 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=cobalt]:root {\n --ghd-code-color: #181818 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=github-dark]:root {\n --base-color: #d82828 !important;\n --ghd-code-color: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=idle-fingers]:root {\n --ghd-code-color: #181818 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=monokai-spacegray-eighties]:root {\n --ghd-code-color: #1d1d1d !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=terminal]:root {\n --ghd-code-background: #f0f0f0 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=tomorrow-night-blue]:root {\n --ghd-code-color: #181818 !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=tomorrow-night-eighties]:root {\n --ghd-code-background: #f0f0f0 !important;\n --ghd-code-color: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=twilight]:root {\n --ghd-code-color: #5a5a5a !important;\n }\n .octotree-sidebar html.octotree-gh-legacy[data-octotree-theme=vibrant-ink]:root {\n --ghd-code-color: #181818 !important;\n }\n .octotree-sidebar .theme-colour-check {\n background-color: #181818;\n }\n .octotree-sidebar .vakata-context, .octotree-sidebar .vakata-context ul {\n background-color: #222;\n box-shadow: 2px 2px 2px #767676;\n }\n .octotree-sidebar .vakata-context li > a {\n color: #f0f0f0;\n text-shadow: 1px 1px 0 #181818;\n }\n .octotree-sidebar .vakata-context .vakata-context-separator > a,\n .octotree-sidebar .vakata-context .vakata-context-separator > a:hover {\n background-color: #181818;\n border-left-color: #343434;\n }\n .octotree-sidebar .vakata-context .vakata-contextmenu-disabled a,\n .octotree-sidebar .vakata-context .vakata-contextmenu-disabled a:hover {\n background-color: transparent;\n }\n .octotree-sidebar .vakata-context li > a .vakata-contextmenu-sep {\n background-color: #181818;\n }\n .octotree-sidebar .vakata-context-rtl li > a .vakata-contextmenu-sep {\n border-left-color: var(--ghd-bg-color);\n }\n .octotree-sidebar .jstree-default .jstree-icon,\n .octotree-sidebar .jstree-default .jstree-node {\n background-color: transparent;\n }\n .octotree-sidebar .jstree-default .jstree-context,\n .octotree-sidebar .jstree-default .jstree-hovered {\n box-shadow: inset 0 0 1px #5a5a5a;\n }\n .octotree-sidebar .jstree-default .jstree-clicked {\n box-shadow: inset 0 0 1px #767676;\n }\n .octotree-sidebar .jstree-default .jstree-disabled {\n color: #9b9b9b;\n }\n .octotree-sidebar .jstree-default .jstree-disabled.jstree-hovered,\n .octotree-sidebar .jstree-default > .jstree-wholerow-ul .jstree-clicked,\n .octotree-sidebar .jstree-default > .jstree-wholerow-ul .jstree-hovered,\n .octotree-sidebar .jstree-default.jstree-checkbox-no-clicked .jstree-clicked {\n box-shadow: none;\n }\n .octotree-sidebar .jstree-default .jstree-disabled.jstree-clicked {\n background-color: #202020;\n }\n .octotree-sidebar .jstree-default .jstree-themeicon-custom {\n background-color: transparent;\n background-image: none;\n }\n .octotree-sidebar #jstree-dnd.jstree-default .jstree-er,\n .octotree-sidebar #jstree-dnd.jstree-default .jstree-ok {\n background-color: transparent;\n }\n .octotree-sidebar .jstree-default-small .jstree-disabled.jstree-clicked {\n background-color: #202020;\n }\n .octotree-sidebar .jstree-default-small .jstree-themeicon-custom {\n background-color: transparent;\n background-image: none;\n }\n .octotree-sidebar #jstree-dnd.jstree-default-small .jstree-er,\n .octotree-sidebar #jstree-dnd.jstree-default-small .jstree-ok {\n background-color: transparent;\n }\n .octotree-sidebar .jstree-default-large .jstree-disabled.jstree-clicked {\n background-color: #202020;\n }\n .octotree-sidebar .jstree-default-large .jstree-themeicon-custom {\n background-color: transparent;\n background-image: none;\n }\n .octotree-sidebar #jstree-dnd.jstree-default-large .jstree-er,\n .octotree-sidebar #jstree-dnd.jstree-default-large .jstree-ok {\n background-color: transparent;\n }\n @media (max-width:768px) {\n .octotree-sidebar #jstree-dnd.jstree-dnd-responsive,\n .octotree-sidebar .jstree-default-responsive .jstree-anchor {\n text-shadow: 1px 1px #181818;\n }\n .octotree-sidebar .jstree-default-responsive .jstree-wholerow {\n border-top-color: hsla(0, 0%, 0%, .7);\n }\n .octotree-sidebar .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow {\n box-shadow: inset 0 -6px 3px -5px #9b9b9b;\n }\n .octotree-sidebar .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow {\n box-shadow: inset 0 6px 3px -5px #9b9b9b;\n }\n .octotree-sidebar .jstree-default-responsive .jstree-children .jstree-open + .jstree-open {\n box-shadow: none;\n }\n .octotree-sidebar .jstree-default-responsive .jstree-themeicon-custom {\n background-color: transparent;\n background-image: none;\n }\n }\n .octotree-sidebar .octotree-announcement {\n background-color: #261d08;\n color: rgb(210, 210, 210) !important;\n border-bottom-color: rgba(220, 220, 220, .15);\n }\n .octotree-sidebar .octotree-announcement-popover .octotree-announcement__features-list li:not(:last-child) {\n border-bottom-color: #2c2c2c;\n }\n .octotree-sidebar .octotree-author-fork i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar .octotree-author-fork i:hover::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark-toggle i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark-toggle i:hover::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark-toggle.selected i::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__filter-toggler i::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__search__icon i::before {\n color: #9b9b9b;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__filter-toggler.active,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__filter-toggler:hover {\n background-color: #343434;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__search__icon i::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__icon.icon-file i::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__icon.icon-issue i::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__icon.icon-pr i::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__icon.icon-repo i::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__remove i::before {\n color: #9b9b9b;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__filter-toggler.active i::before,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__filter-toggler:hover i::before,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__anchor > div {\n color: #fff;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__filters {\n border-bottom-color: #afafaf;\n }\n .octotree-sidebar .octotree-branches__header,\n .octotree-sidebar .octotree-pr-list__header {\n border-bottom: 1px solid var(--color-border-default, var(--color-border-primary, #343434));\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item:hover {\n background-color: #c6c6c6;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__name {\n color: #fff;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__icon i::before,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__remove i::before {\n color: #9b9b9b !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-bookmark__item__remove:hover i::before {\n color: #fff !important;\n }\n .octotree-sidebar .octotree-branches-activator:hover .octotree-branches-activator__icon i::before {\n color: #fff;\n }\n .octotree-sidebar .octotree-branches-activator__icon i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar .octotree-branches__loading i {\n border-color: #9b9b9b;\n }\n .octotree-sidebar .octotree-reload-cache i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar .octotree-reload-cache i:hover::before,\n .octotree-sidebar .octotree-storage-exceeds {\n color: #fff;\n }\n .octotree-sidebar .octotree-storage-exceeds a {\n color: #fff !important;\n }\n .octotree-sidebar .octotree-storage-exceeds i.octotree-icon-x-error::before {\n color: #fff;\n }\n .octotree-sidebar .octotree-collapse-tree i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar .octotree-collapse-tree i:hover::before {\n color: #fff;\n }\n .octotree-sidebar .octotree-collapse-tree.is-collapsed i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar .octotree-collapse-tree.is-collapsed i:hover::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-toggle-dock-button .octotree-icon-dock:hover::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar .octotree-dock-right .octotree-sidebar.octotree-github-sidebar .octotree-views {\n border-left: 1px solid var(--color-border-default, var(--color-border-primary, #343434));\n }\n .octotree-sidebar .octotree-dock-right .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view .octotree-view-header {\n border-left: 1px solid /*[[base-color]]*/;\n }\n .octotree-sidebar .octotree-diff-popup__close::before {\n color: #9b9b9b;\n }\n .octotree-sidebar .octotree-lazyload-toggle i::before,\n .octotree-sidebar .octotree-pr-list-activator i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar .octotree-diff-popup__loading i {\n border-color: #9b9b9b;\n }\n .octotree-sidebar .octotree-lazyload-toggle i:hover::before,\n .octotree-sidebar .octotree-lazyload-toggle.octotree-lazyload-active i::before {\n color: #fff;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-settings-view .octotree-view-body .octotree-ma .octotree-ma-add:hover::before {\n color: #202020;\n }\n .octotree-sidebar .octotree-tabs-nav__bar .octotree-tabs-nav__item.active::before {\n background-color: #fff;\n }\n .octotree-sidebar .octotree-tabs-nav__bar .octotree-tabs-nav__item__close i::before {\n color: #9b9b9b;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-tabs-nav__bar::before {\n background-color: #c6c6c6;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-tabs-nav__bar .octotree-tabs-nav__item.active {\n border-top-color: #c6c6c6;\n border-right-color: #c6c6c6;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-tabs-nav__bar .octotree-tabs-nav__item::after {\n background-color: #c6c6c6;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-tabs-nav__bar .octotree-tabs-nav__item__close:hover i::before {\n color: #fff !important;\n }\n .octotree-sidebar .octotree-pr-list-activator i:hover::before {\n color: #fff;\n }\n .octotree-sidebar .octotree-pr-list__status--draft i::before {\n color: #9b9b9b;\n }\n .octotree-sidebar .octotree-pr-list__label,\n .octotree-sidebar .octotree-pr-list__loading i {\n border-color: #9b9b9b;\n }\n .octotree-sidebar .octotree-pr-list-filter__options li:not(:last-child) {\n border-bottom: 1px solid var(--color-border-default, var(--color-border-primary, #343434));\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-pr-tree__promo {\n background-color: #261d08;\n color: rgb(210, 210, 210) !important !important;\n border-color: rgba(220, 220, 220, .15);\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-pr-tree__promo a {\n color: rgb(210, 210, 210) !important !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-pr-tree__promo__close i::before {\n color: rgb(210, 210, 210) !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-icons-container .octotree-comment-icon:hover,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-icons-container .octotree-comment-icon:hover::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-viewed-container .octotree-comment-icon:hover,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-viewed-container .octotree-comment-icon:hover::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-comment-thread .octotree-highlight,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-comment-thread a {\n color: /*[[base-color]]*/ !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-icons-container .octotree-comment-icon:hover,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-viewed-container .octotree-comment-icon:hover {\n color: #202020;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar ul.octotree-threads-container li.octotree-comment-thread {\n border-color: #afafaf;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar ul.octotree-threads-container li.octotree-comment-thread:hover {\n background-color: #c6c6c6 !important;\n }\n .octotree-sidebar .octotree-promotion {\n border-bottom-color: rgba(220, 220, 220, .15);\n background-color: #261d08;\n }\n .octotree-sidebar .octotree-promotion .octotree-promotion-subtext,\n .octotree-sidebar .octotree-promotion .octotree-promotion-text {\n color: rgb(210, 210, 210) !important;\n }\n .octotree-sidebar.octotree-sidebar li[role].jstree-node .jstree-anchor .octotree-search-match {\n background-color: #651 !important;\n }\n .octotree-sidebar.octotree-sidebar .octotree-search i::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar.octotree-sidebar .octotree-search i:hover::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-sidebar .octotree-search-bar input {\n box-shadow: none;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar .octotree-close-search i:hover::before {\n color: #fff !important;\n }\n .octotree-sidebar .searchGitHubDarkStyles .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html[data-octotree-theme] .octotree-views .octotree-tree-view .jstree-default .jstree-search {\n color: #343434 !important;\n }\n @media (prefers-color-scheme:dark) {\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-anchor .octotree-search-match {\n color: #343434 !important;\n }\n }\n .octotree-sidebar html[data-octotree-theme].octotree-pinned main > .hide-full-screen > nav,\n .octotree-sidebar html[data-octotree-theme][data-octotree-shrinked] main > .hide-full-screen > nav {\n box-shadow: none;\n }\n .octotree-sidebar html[data-octotree-theme] .btn {\n background-image: none;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-themes .octotree-darkmode-button .octotree-icon-darkmode:hover::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar html[data-octotree-tree-icons=classic] .octotree-sidebar.octotree-github-sidebar .octotree-views,\n .octotree-sidebar html[data-octotree-tree-icons=vscode] .octotree-sidebar.octotree-github-sidebar .octotree-views,\n .octotree-sidebar html[data-octotree-tree-icons=vscodemat] .octotree-sidebar.octotree-github-sidebar .octotree-views {\n background-color: #181818;\n }\n .octotree-sidebar .octotree-toast-warn {\n color: #bba257;\n background-color: #261d08;\n }\n .octotree-sidebar .octotree-toast-info {\n background-color: #182030;\n border-color: #246;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb {\n background-color: #343434;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views {\n border-right: 1px solid var(--color-border-default, var(--color-border-primary, #343434));\n background-color: #181818;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view .octotree-view-header {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n --toggler-color-bg: #181818;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar a.octotree-pin .octotree-icon-pin::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar a.octotree-pin .octotree-icon-pin:hover::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar a.octotree-settings .octotree-icon-settings::before {\n color: hsla(0, 0%, 0%, .5);\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar a.octotree-settings .octotree-icon-settings:hover::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar a.octotree-settings.selected .octotree-icon-settings::before {\n color: #fff;\n }\n .octotree-sidebar .octotree-show .octotree-sidebar.octotree-github-sidebar .octotree-spin .octotree-spin--loader {\n border-color: #9b9b9b;\n }\n .octotree-sidebar html.octotree-pinned .octotree-sidebar.octotree-github-sidebar a.octotree-pin .octotree-icon-pin::before {\n color: #fff;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar {\n color: #343434 !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb {\n box-shadow: 0 1px 1px hsla(0, 0%, 0%, .5) !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n --toggler-color-text: #181818;\n box-shadow: none;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-footer-user-profile i:hover::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-footer-user-profile .octotree-footer-user-profile__email {\n color: #343434;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-footer-user-profile .octotree-footer-user-profile__email a {\n color: #343434 !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-footer-user-profile .octotree-footer-user-profile__email a:hover {\n color: /*[[base-color]]*/ !important;\n }\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb {\n box-shadow: none !important;\n }\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar select {\n box-shadow: none !important;\n }\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled {\n color: #2c2c2c;\n border-color: #afafaf;\n }\n .octotree-sidebar .apply-sidebar-theme-for-github-dark .octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n --toggler-color-text: #181818;\n box-shadow: none;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb {\n box-shadow: none !important;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar select {\n box-shadow: none !important;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled {\n color: #2c2c2c;\n border-color: #afafaf;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n --toggler-color-text: #181818;\n box-shadow: none;\n }\n @media (prefers-color-scheme:dark) {\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar ::-webkit-scrollbar-thumb {\n box-shadow: none !important;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar select,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=text],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar select {\n box-shadow: none !important;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox],\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:focus,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:active:disabled,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar input[type=checkbox]:hover:disabled {\n color: #2c2c2c;\n border-color: #afafaf;\n }\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar .octotree-toggle,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n --toggler-color-text: #181818;\n box-shadow: none;\n }\n }\n .octotree-sidebar .octotree-icon-file-directory::before,\n .octotree-sidebar .octotree-icon-file-submodule::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header .octotree-header-repo,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header .octotree-header-repo .octotree-icon-repo::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header .octotree-header-repo a,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header .octotree-header-repo a:hover {\n color: #fff !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header .octotree-header-branch,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header .octotree-header-branch .octotree-icon-branch::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-anchor > span {\n color: /*[[base-color]]*/ !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-default .jstree-no-dots .jstree-closed > .jstree-ocl::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-default .jstree-no-dots .jstree-open > .jstree-ocl::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-node.jstree-leaf:hover .jstree-icon.blob::before {\n background-image: none;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header i::before {\n color: #343434 !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header a,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .octotree-view-header a:hover {\n color: #202020 !important;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-wholerow-hovered {\n background-color: #c6c6c6 !important;\n }\n .octotree-sidebar .treeViewGitHubDarkStyles .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-light-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=dark] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view li[role].jstree-node .jstree-ocl::before {\n color: #343434 !important;\n }\n @media (prefers-color-scheme:dark) {\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto]:not([data-dark-theme]) .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_colorblind] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_dimmed] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_high_contrast] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_protanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before,\n .octotree-sidebar html:not([data-octotree-theme])[data-color-mode=auto][data-dark-theme=dark_tritanopia] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-tree-view .jstree-ocl::before {\n color: #343434 !important;\n }\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-settings-view > form label {\n color: rgb(210, 210, 210) !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-settings-view > form label.disabled {\n color: #343434;\n }\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-settings-view .octotree-icon-help:hover::before,\n .octotree-sidebar html[data-octotree-theme] .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view.octotree-settings-view .octotree-icon-key:hover::before {\n color: #202020;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-help-popup:hover {\n color: #f0f0f0;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-ads {\n background-color: /*[[base-color]]*/;\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-ads a {\n color: #fff !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-trial-expired-ads {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-trial-expired-ads__align_left_text a,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-trial-expired-ads__downgrade,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-trial-expired-ads__text a {\n color: #fff !important;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-auth-view .octotree-auth-view-login form .octotree-auth-view-login__submit .octotree-icon-back::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-auth-view__github-btn i::before {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-footer {\n background-color: #202020;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-trial-info__logout i:hover::before,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile i:hover::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-trial-info__logout i::before,\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile i::before {\n color: #343434;\n }\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-trial-info__logout i:hover::before,\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile i:hover::before {\n color: /*[[base-color]]*/;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile .octotree-footer-user-profile__email a:hover {\n color: /*[[base-color]]*/ !important;\n }\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile .octotree-footer-user-profile__email a {\n color: #343434 !important;\n }\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile .octotree-footer-user-profile__email a:hover {\n color: /*[[base-color]]*/ !important;\n }\n .octotree-sidebar .octotree-dark .octotree-sidebar.octotree-github-sidebar .octotree-footer .octotree-footer-user-profile {\n color: #343434;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-ghe-error {\n color: #fff;\n }\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-ghe-error__align_left_text a,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-ghe-error__downgrade,\n .octotree-sidebar.octotree-github-sidebar.octotree-sidebar.octotree-github-sidebar .octotree-ghe-error__text a {\n color: #fff !important;\n }\n /* end octotree rules */\n /* Refined GitHub - https://github.com/sindresorhus/refined-github\n * See #540\n * See #881 */\n .refined-github-diff-signs .blob-code-addition::before,\n .refined-github-diff-signs .blob-code-deletion::before {\n color: #7b7b7b !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1035 */\n .refined-github .reaction-summary-item.user-has-reacted {\n --background: transparent !important;\n }\n .refined-github .reaction-summary-item a {\n box-shadow: none;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1271 */\n .refined-github [data-rgh-whitespace=\"tab\"] {\n background-image: url('data:image/svg+xml,%3Csvg preserveAspectRatio=\"xMinYMid meet\" viewBox=\"0 0 12 24\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M9.5 10.44L6.62 8.12L7.32 7.26L12.04 11V11.44L7.28 14.9L6.62 13.9L9.48 11.78H0V10.44H9.5Z\" fill=\"rgba(95,90,96,60%)\"/%3E%3C/svg%3E');\n }\n .refined-github [data-rgh-whitespace=\"space\"] {\n background-image: url('data:image/svg+xml,%3Csvg preserveAspectRatio=\"xMinYMid meet\" viewBox=\"0 0 12 24\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M4.5 11C4.5 10.1716 5.17157 9.5 6 9.5C6.82843 9.5 7.5 10.1716 7.5 11C7.5 11.8284 6.82843 12.5 6 12.5C5.17157 12.5 4.5 11.8284 4.5 11Z\" fill=\"rgba(95,90,96,60%)\"/%3E%3C/svg%3E');\n }\n /* https://github.com/musically-ut/lovely-forks */\n .lovely-forks-addon {\n color: #808080 !important;\n }\n /* https://github.com/npmhub/npmhub */\n .npmhub-deps > li {\n border-color: #343434 !important;\n }\n /* ZenHub */\n body.zh_logged_in .zh-login-status {\n background: #181818 !important;\n border-color: #484848 !important;\n color: #bebebe !important;\n }\n body.zh_logged_in [style*=\"background-color: rgb(244, 244, 244)\"] {\n background: #222 !important;\n }\n /* zenhub gradients */\n body.zh_logged_in .zhc-sidebar__navigation {\n background: none !important;\n }\n body.zh_logged_in .zhc-workspace-switcher__header {\n box-shadow: none !important;\n }\n body.zh_logged_in .zhc-btn--minimal {\n background: none !important;\n border: none !important;\n }\n body.zh_logged_in .zh-icon-circled-bolt, body.zh_logged_in .zh-icon-bolt,\n body.zh_logged_in .zh-octicon-x {\n filter: invert(40%) brightness(120%) !important;\n }\n body.zh_logged_in a.zh-topbar-item.selected .zh-icon-zenhub {\n filter: invert(40%) brightness(169%) !important;\n }\n body.zh_logged_in a.zh-topbar-item .zh-icon-zenhub {\n filter: brightness(64%) !important;\n }\n body.zh_logged_in .zhc-icon:not([class$=\"-red\"]):not([class$=\"-white\"]):not([class$=\"-light\"]):not([class$=\"-purple\"]),\n body.zh_logged_in [class*=\"zh-octicon\"],\n body.zh_logged_in .zh-epic-creator-tab-icon,\n body.zh_logged_in .zhc-burndown-chart__placeholder,\n body.zh_logged_in .zhc-selection-button__container::after,\n body.zh_logged_in .zhc-icon--grey-light {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n body.zh_logged_in .zhc-selection-item:hover .zhc-icon:not([class$=\"-red\"]):not([class$=\"-white\"]):not([class$=\"-light\"]):not([class$=\"-purple\"]),\n body.zh_logged_in [class*=\"zhc-image--placeholder\"] {\n filter: invert(100%) brightness(1.4) !important;\n }\n body.zh_logged_in .zhc-info-alert img {\n filter: invert(96%) hue-rotate(180deg);\n }\n /* move expanded zenhub board toolbar when octotree exists\n * see https://github.com/buunguyen/octotree/issues/242 */\n html.octotree:not(.octotree-show) .zhc-board--is-fullscreen .zhc-menu-bar {\n margin-left: 30px;\n margin-top: -8px;\n }\n /* octotree */\n .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view .octotree-view-header {\n background: #181818 !important;\n border-right-color: #343434 !important;\n border-bottom: 1px solid #343434 !important;\n }\n .octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n box-shadow: none !important;\n }\n /* Github User Info userscript - see #481 */\n .GithubUserInfo, .GithubUserInfo > div {\n background: #202020 !important;\n border-color: #343434 !important;\n }\n /* GitHub Notifications Dropdown userscript - see #478 */\n .notifications-dropdown {\n background: #202020 !important;\n border: 1px solid #343434 !important;\n }\n a.notifications-dropdown-see-all {\n background: #242424 !important;\n color: /*[[base-color]]*/ !important;\n }\n a.notifications-dropdown-see-all:hover, .top-nav .dropdown-menu a:hover {\n background: /*[[base-color]]*/ !important;\n color: #e2e2e2 !important;\n }\n .notifications-dropdown-arrow {\n border-bottom-color: #333 !important;\n }\n /* Notification-preview */\n .NPG-dropdown .notifications-list-item {\n background: #181818 !important;\n }\n .NPG-dropdown .notification-list-item-link {\n color: inherit;\n }\n .NPG-dropdown .notifications-list-item:hover {\n background: var(--color-accent-subtle) !important;\n }\n :root:root .NPG-dropdown .notifications-list-item:hover .notification-list-item-actions .btn:hover {\n background: /*[[base-color]]*/ !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1198 */\n .overall-summary {\n background: #181818;\n }\n /* Sourcegraph - CodeLine Hover Color In Blob */\n table > tbody > tr > td[style=\"background-color: khaki;\"] {\n background-color: #ffcc0050 !important;\n }\n}\n@-moz-document domain(\"gist.github.com\") {\n /* begin gist.github.com rules */\n :root, [data-color-mode=dark][data-dark-theme=light],\n [data-color-mode=light][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark],\n [data-color-mode=light][data-light-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) {\n .ActionList-item[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .ActionList-content {\n background-color: transparent;\n }\n .ActionList-content:focus {\n box-shadow: none;\n }\n .ActionList-content:focus-visible {\n box-shadow: none;\n }\n @media (hover: hover) {\n .ActionList-content[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=true], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button {\n background-color: transparent;\n }\n .close-button:active {\n box-shadow: none;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .filter-list.pjax-active .filter-item {\n background-color: transparent;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem {\n background-color: transparent;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .color-bg-transparent {\n background-color: transparent !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab, .markdown-body .emoji,\n .markdown-body pre > code, .markdown-body pre code, .markdown-body pre tt,\n .markdown-body table img {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .ActionListItem {\n background-color: initial;\n }\n @media (hover: hover) {\n .ActionListItem[aria-disabled=true]:hover {\n background-color: initial;\n }\n }\n .ActionListContent {\n background-color: initial;\n }\n @media (hover: hover) {\n .ActionListContent[aria-disabled=true]:hover {\n background-color: initial;\n }\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .Overlay-backdrop--anchor, .Overlay-closeButton {\n background-color: initial;\n }\n @media (max-width: 767px) {\n .Overlay-backdrop--anchor-whenNarrow {\n background-color: initial;\n }\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .tabnav-tab {\n background-color: initial;\n }\n .FormControl-input-wrap .FormControl-input-trailingAction {\n background-color: transparent;\n }\n input.FormControl-checkbox[type=checkbox]:focus-visible {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio]:focus-visible {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15), transparent) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, #34b75926, transparent), #373 !important;\n color: #fff;\n }\n .btn-signup-mktg::before {\n background: linear-gradient(180deg, #34b75926, transparent) !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n .ToggleSwitch-track[aria-disabled=true] .ToggleSwitch-knob {\n box-shadow: none;\n }\n .SegmentedControl-item.SegmentedControl-item--selected .Button:hover,\n .UnderlineNav-item {\n background-color: initial;\n }\n .AvatarStack-body .avatar {\n box-shadow: none;\n }\n .Button {\n background-color: initial;\n }\n .Button:disabled, .Button[aria-disabled=true] {\n box-shadow: none;\n }\n .Button--primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Button--link:disabled, .Button--link[aria-disabled=true] {\n background-color: initial;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .border-white-fade {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n @keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n body.intent-mouse [role=button]:focus,\n body.intent-mouse [role=tabpanel][tabindex=\"0\"]:focus,\n body.intent-mouse a:focus, body.intent-mouse button:focus,\n body.intent-mouse summary:focus {\n box-shadow: none;\n }\n .auth-form-header, .auth-form-header h1 a {\n color: #fff;\n }\n .auth-form-header .octicon {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .1);\n }\n .session-authentication .auth-form-header,\n .session-authentication .header-logged-out,\n .session-authentication.enterprise .header-logged-out,\n .session-authentication.hosted .header-logged-out {\n background-color: transparent;\n }\n .Header-old {\n color: #fff;\n }\n .HeaderMenu--logged-out {\n --header-menu-shadow: 0 5px 30px rgba(220, 220, 220, .1), 0 0 1px rgba(27, 31, 35, .4), 0 1px 2px rgba(220, 220, 220, .15);\n }\n @media (prefers-color-scheme: dark) {\n .HeaderMenu--logged-out {\n --header-menu-shadow: 0 0 1px #767676;\n }\n }\n @media (min-width: 1012px) {\n .HeaderMenu--logged-out .header-menu-wrapper {\n background-color: transparent;\n box-shadow: none;\n }\n }\n .HeaderMenu--logged-out .dropdown-menu {\n box-shadow: none;\n }\n .HeaderMenu-link {\n background-color: transparent;\n }\n @media (min-width: 1012px) {\n .HeaderMenu-link, .HeaderMenu-link:hover {\n color: #fff;\n }\n }\n @media (max-width: 1011px) {\n .HeaderMenu-item .HeaderMenu-dropdown {\n background-color: transparent;\n }\n }\n .header-logo-invertocat, .header-logo-invertocat:hover {\n color: #fff;\n }\n .notification-indicator .discussion-status,\n .notification-indicator .mail-status, .unread-indicator {\n color: #fff;\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .header-search-wrapper, .header-search-wrapper.focus {\n box-shadow: none;\n }\n .header-search-input {\n background: none;\n box-shadow: none;\n }\n .header-search-input:focus {\n box-shadow: none;\n }\n .header-search-button {\n background: none;\n }\n .header-search-button.input-button:focus-visible {\n box-shadow: none;\n }\n .header-search-scope {\n color: hsla(0, 0%, 0%, .7);\n }\n .jump-to-suggestions-path mark {\n background-color: transparent;\n }\n .search-suggestions .clear-blackbird-search-button,\n .search-suggestions .close-blackbird-search-button {\n background-color: transparent;\n box-shadow: none;\n }\n .autosize-text-input .input, .select-menu-tabs .select-menu-tab-nav,\n .select-menu-tabs a {\n background-color: transparent;\n }\n .select-menu.label-select-menu .select-menu-item:active {\n background-color: transparent !important;\n }\n .select-menu-item:focus .Label, .select-menu-item:hover .Label {\n border-color: currentcolor;\n }\n .collapsible-sidebar-widget-button, .comment-body .highlight {\n background-color: transparent;\n }\n .locked-conversation .preview-tab, .locked-conversation .write-tab {\n color: #767676;\n }\n .signed-commit-badge {\n background: none;\n }\n .table-of-contents .toc-diff-stats .octicon {\n color: #767676;\n }\n .blob-wrapper table tr:nth-child(2n) {\n background-color: transparent;\n }\n .add-line-comment.octicon-check {\n background-color: #c6c6c6;\n }\n .inline-comment-form {\n border-color: #343434;\n }\n button.discussion-sidebar-toggle {\n background: none;\n }\n @media (min-width: 1012px) {\n .page-responsive .previewable-comment-form .comment-form-head.tabnav .toolbar-commenting {\n background-color: transparent;\n }\n }\n .previewable-comment-form .comment-body {\n background-color: transparent;\n }\n :target .timeline-comment-group .timeline-comment .timeline-comment-group .timeline-comment {\n box-shadow: none !important;\n }\n .notifications-component-dialog:not([hidden]) + .notifications-component-dialog-overlay,\n .reponav-wrapper .reponav-item.selected {\n background-color: transparent;\n }\n @media (max-width: 768px) {\n .PageLayout--responsive-separateRegions.PageLayout--responsive-primary-pane .ActionList-item.ActionList-item--navActive:not(.ActionList-item--danger) {\n background-color: transparent;\n }\n }\n .steps {\n border-color: #343434;\n box-shadow: 0 1px 3px rgba(220, 220, 220, .05);\n }\n .steps li {\n color: #767676;\n border-left-color: #343434;\n }\n .social-reaction-summary-item {\n background-color: transparent;\n border-color: var(--color-border-default, #246);\n }\n .new-reactions-dropdown .dropdown-menu-reactions::after,\n .new-reactions-dropdown .dropdown-menu-reactions::before {\n background-color: transparent;\n }\n .render-container.is-render-ready.is-render-requested:not(.is-render-failed) {\n background: none;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-context .AppHeader-context-compact .AppHeader-context-compact-trigger {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-kbd {\n background-color: transparent;\n box-shadow: none;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-searchButton {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search input[type=search]:placeholder-shown {\n background-color: transparent;\n }\n .AppHeader .AppHeader-button,\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-action--trailing {\n background-color: transparent;\n }\n .AnimatedImagePlayer-images {\n background: none;\n }\n .emoji-picker-tab .btn-outline:not(:hover) {\n background-color: transparent;\n }\n @media (max-width: 767px) {\n .notifications-v2 .AvatarStack-body .avatar {\n border-right-color: var(--ghd-bg-color) !important;\n }\n }\n .notifications-v2 .thread-subscription-status {\n background-color: transparent !important;\n }\n .progress-pjax-loader {\n background-color: transparent;\n }\n .progress-pjax-loader > .progress-pjax-loader-bar {\n background-color: /*[[base-color]]*/;\n }\n .tag-input-container .focus {\n box-shadow: none !important;\n }\n .tag-input input {\n background: none;\n box-shadow: none;\n }\n .tag-input input:focus {\n box-shadow: none;\n }\n .toolbar-commenting .dropdown-item {\n background: none;\n }\n .topic-tag-outline {\n box-shadow: inset 0 0 0 1px #246;\n }\n .is-auto-complete-loading :not(input).form-control,\n .topic-input-container .tag-input .tag-input-inner {\n background-image: none;\n }\n .CommentBox .dragover .CommentBox-input,\n .CommentBox .dragover .CommentBox-input:focus,\n .CommentBox-input.CommentBox-input.CommentBox-input:focus {\n box-shadow: none;\n }\n .QueryBuilder-Input {\n background-color: transparent;\n }\n .QueryBuilder-Input:focus {\n box-shadow: none !important;\n }\n .hx_flex-avatar-stack-item .avatar {\n box-shadow: none;\n }\n .AvatarStack-body:not(:hover) {\n background-color: transparent;\n }\n .hx_badge-search-container .hx_badge-input {\n box-shadow: none;\n }\n .hx_badge-search-container .hx_badge-input:focus {\n box-shadow: none !important;\n }\n .dropdown-item.btn-link:disabled, .dropdown-item.btn-link:disabled:hover,\n .dropdown-item.btn-link[aria-disabled=true],\n .dropdown-item.btn-link[aria-disabled=true]:hover {\n background-color: transparent;\n }\n [data-color-mode=dark][data-dark-theme*=dark],\n [data-color-mode=light][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n }\n }\n .Header-button:active, .Header-button:focus, .Header-button:hover {\n background-color: transparent;\n }\n .Box--responsive .Box-row--unread, .Header-button:active .octicon,\n .Header-button:focus .octicon, .Header-button:hover .octicon, .hx_kbd {\n box-shadow: none;\n }\n .Box--responsive .Box-row--unread::before {\n color: #fff;\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .autocomplete-item, .topic-tag-outline {\n background-color: transparent;\n }\n .pagehead-tabs-item.selected, .reponav-item.selected {\n border-top-color: #fff;\n }\n .hx_disabled-input .form-control[contenteditable=false],\n .hx_disabled-input input[disabled], .hx_disabled-input select[disabled] {\n background-color: transparent;\n box-shadow: none;\n }\n .hx_disabled-input .form-select {\n background-image: none !important;\n }\n .intgrs-dir-intro .directory-header-back,\n .intgrs-dir-intro .directory-tag-line {\n color: #fff;\n }\n .intgrs-lstng-item-description::after {\n background-image: linear-gradient(to right, transparent, #181818 80%);\n }\n .intgr-admin-link.draft-tag .octicon,\n .intgr-admin-link.draft-tag:hover .octicon {\n color: #fff;\n }\n .intgr-admin-link.draft-tag:hover {\n background-color: #f0f0f0;\n }\n .integrations-breadcrumb-link:hover,\n .intgr-feat-header .intgr-admin-link:hover .octicon, .intgr-feat-header h2 {\n color: #fff;\n }\n .integrations-install-target .flash,\n .integrations-install-target .flash-error {\n background-color: transparent;\n }\n .not-found-octocat-wrapper::after {\n box-shadow: 0 4px 0 var(--ghd-bg-color), 0 8px 0 var(--ghd-bg-color), 0 12px 0 var(--ghd-bg-color), 0 16px 0 var(--ghd-bg-color), 0 20px 0 var(--ghd-bg-color);\n }\n .usage-bar {\n background-color: #2c2c2c;\n }\n .blob-code-content .error-highlight::before,\n .diff-table .error-highlight::before {\n background: linear-gradient(135deg, transparent, transparent 45%, var(--color-danger-fg), transparent 55%, transparent 100%), linear-gradient(45deg, transparent, transparent 45%, var(--color-danger-fg), transparent 55%, transparent 100%);\n }\n .status-meta-file-name {\n background-color: rgba(220, 220, 220, .05);\n }\n .code-frequency .addition {\n fill: #373;\n }\n .search-form-fluid .search-page-input {\n background: none;\n box-shadow: none;\n }\n .search-form-fluid .search-page-input:focus {\n box-shadow: none;\n }\n .codespaces-storage-utilization-button:hover {\n background-color: transparent !important;\n }\n .suggest-icon path, .suggest-icon svg {\n fill: #181818;\n }\n .dashboards-overview-cards .blankslate {\n box-shadow: none;\n }\n .dashboards-overview-cards .dots.metric-1 circle,\n .dashboards-overview-cards .metric-0 circle {\n stroke: #181818;\n }\n development-menu .development-menu-component-dialog:not([hidden]) + .development-menu-component-dialog-overlay,\n development-menu .form-control[is-loading] {\n background-color: transparent;\n }\n .file {\n border-color: var(--color-border-default, #343434);\n }\n .file .image {\n background-color: #343434;\n }\n .file .image canvas, .file .image img {\n background-color: #2c2c2c;\n border-color: var(--ghd-bg-color);\n }\n .file .image .view canvas, .file .image .view img {\n background-color: #2c2c2c;\n }\n .file .empty {\n background: none;\n }\n .team-discussions .previewable-comment-form .toolbar-commenting.toolbar-commenting.toolbar-commenting {\n background-color: transparent;\n }\n .integrations-select-repos::-webkit-scrollbar-thumb {\n box-shadow: 0 0 1px hsla(0, 0%, 0%, .5);\n }\n .integrations-select-repos::-webkit-scrollbar-track-piece {\n background-color: transparent;\n }\n .milestone-title-link a {\n color: var(--color-fg-default, #c6c6c6);\n }\n .task-progress .octicon {\n color: var(--color-fg-muted, #767676);\n }\n .issue-meta-section .octicon {\n color: var(--color-fg-muted, #5a5a5a);\n }\n .label-select-menu .selected:active,\n .label-select-menu [aria-checked=mixed]:active,\n .label-select-menu [aria-checked=true]:active {\n background-color: transparent !important;\n }\n .repository-lang-stats ol.repository-lang-stats-numbers li a:hover {\n background-color: transparent;\n }\n .map-background {\n fill: /*[[base-color]]*/;\n }\n .map-graticule, .map-legend .map-legend-circle {\n stroke: #181818;\n }\n .map-legend .map-legend-text {\n fill: #181818;\n }\n .map-legend .map-legend-link {\n stroke: #181818;\n }\n .map-point, .map-point:hover {\n fill: #fb8532;\n }\n .MarketplaceEdit-body .CircleIcon {\n background-color: #444;\n }\n .ClipboardButton.ClipboardButton--success,\n .ClipboardButton.ClipboardButton--success:focus {\n box-shadow: 0 0 0 .2em #3737;\n }\n .MarketplaceAnnouncement {\n color: #fff;\n background: linear-gradient(90deg, #4f8cc9, #2426ca);\n }\n .merge-branch-manually {\n background-color: transparent;\n }\n .news .alert {\n border-top-color: #242424;\n }\n .oauth-permissions-details.open a.btn-sm {\n background-image: none;\n }\n .trial-banner-notice {\n background-image: linear-gradient(180deg, /*[[base-color]]*/ 0%, #4f8cc9 100%);\n }\n @media print {\n .State, .btn:not(.btn-outline) {\n background: none;\n }\n .State--open {\n border-color: #373;\n }\n }\n .pending-cards-status {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .timeout {\n background-color: transparent;\n }\n .prereceive-feedback {\n border-color: #343434;\n }\n .avatar-upload .flash {\n box-shadow: none;\n }\n .access-token.new-token {\n background-color: #6cc64450;\n }\n .session-device .session-state-indicator.not-recent {\n background-image: linear-gradient(#aaa, #5a5a5a);\n box-shadow: 0 1px 0 var(--ghd-bg-color);\n }\n .form-hr {\n border-bottom-color: var(--color-border-default, #343434);\n }\n .listgroup {\n border-color: var(--color-border-default, #343434);\n }\n .listgroup-item + .listgroup-item {\n border-top-color: var(--color-border-default, #343434);\n }\n .listgroup-header {\n border-bottom-color: var(--color-border-default, #343434);\n }\n .listgroup-overflow {\n background-color: var(--color-canvas-subtle, #222);\n }\n @keyframes toggle-color {\n 0% {\n background-color: transparent;\n }\n 100% {\n background-color: transparent;\n }\n }\n .user-identification-questions.redesign .topic-input-container .tag-input {\n border-bottom-color: #f0f0f0;\n }\n .draft-tag {\n color: #2c2c2c;\n }\n .showcase-page-pattern::after {\n background-image: linear-gradient(180deg, hsla(0, 0%, 0%, .85), #181818);\n }\n .sponsors-goal-progress-bar {\n background-color: #c49;\n }\n @media (prefers-reduced-motion: no-preference) {\n .sponsors-goal-progress-bar:hover {\n background: linear-gradient(90deg, #cb4 0%, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff 100%);\n }\n }\n .sponsors-goal-completed-bar {\n background: linear-gradient(90deg, #cb4 0%, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff 100%);\n }\n .bulk-sponsorship-import-csv:focus + label,\n .tasklist-omnibar-input-wrapper:not([open]) .Overlay,\n .tasklist-textarea-container > textarea, .team-label-ldap {\n box-shadow: none;\n }\n .WorkflowJob-deployment-progress .Progress {\n background: none;\n }\n .page-gist-edit .octicon-gist {\n color: #767676;\n }\n .gist-dropzone-pill {\n color: #fff;\n }\n .gist-banner {\n border-bottom-color: var(--ghd-bg-color);\n }\n /* end gist.github.com rules */\n body {\n background-color: var(--ghd-bg-color) !important;\n background-image: var(--ghd-bg-img) !important;\n background-clip: border-box !important;\n background-origin: padding-box !important;\n background-attachment: /*[[bg-attachment]]*/ !important;\n /*[[bg-options]]*/\n }\n /* text selection */\n ::selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n ::-moz-selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n /* placeholder */\n ::-webkit-input-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::-moz-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n .select-menu-text-filter input::-webkit-input-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::-moz-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::placeholder {\n color: #555 !important;\n }\n ::-webkit-calendar-picker-indicator {\n background-color: #181818;\n color: #c9c9c9;\n }\n ::-webkit-calendar-picker-indicator:hover {\n color: #666;\n }\n .Header, .Header-old {\n border-bottom: 1px solid #343434 !important;\n background: #181818 !important;\n }\n .Header-link {\n color: #c6c6c6;\n }\n .Header-link[data-ga-click]:focus, .Header-link[data-ga-click]:hover,\n .btn-link .octicon-kebab-horizontal:hover {\n color: /*[[base-color]]*/;\n }\n .gisthead {\n background: rgba(20, 20, 20, .4) !important;\n }\n .discussion-timeline-actions {\n background: none !important;\n }\n .notification-indicator .mail-status {\n border-color: #181818;\n }\n .social-count {\n box-shadow: none;\n }\n .gist-content .file-box {\n background: #181818;\n }\n .gist-quicksearch-result-group {\n background: #282828 !important;\n border-color: rgba(68, 68, 68, .5) !important;\n color: #555 !important;\n }\n img[src$=\"favicons.githubusercontent.com/gist.github.com\"] {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n .gist-secret-label {\n background: rgba(51, 34, 17, .4) !important;\n border: 1px solid #542 !important;\n color: #ddd !important;\n }\n .gist-owner-tag .tag {\n background: #070 !important;\n color: #ddd !important;\n }\n .btn {\n box-shadow: none !important;\n }\n .gist-banner {\n background: rgba(20, 20, 20, .4) !important;\n }\n}\n@-moz-document domain(\"graphql.github.com\") {\n /* begin graphql.github.com rules */\n .graphiql-container, .graphiql-container button, .graphiql-container input {\n color: #dcdcdc;\n }\n .graphiql-container .topBar {\n background-color: #222;\n border-bottom-color: #343434;\n }\n .graphiql-container .docExplorerShow, .graphiql-container .historyShow {\n background-color: #222;\n border-bottom-color: #343434;\n color: /*[[base-color]]*/;\n }\n .graphiql-container .docExplorerShow {\n border-left-color: rgba(255, 255, 255, .7);\n }\n .graphiql-container .historyShow {\n border-right-color: rgba(255, 255, 255, .7);\n }\n .graphiql-container .docExplorerShow::before {\n border-left: 2px solid /*[[base-color]]*/;\n border-top: 2px solid /*[[base-color]]*/;\n }\n .graphiql-container .resultWrap {\n border-left-color: #343434;\n }\n .graphiql-container .docExplorerWrap, .graphiql-container .historyPaneWrap {\n background-color: #181818;\n }\n .graphiql-container .secondary-editor-title {\n background-color: #2c2c2c;\n border-bottom-color: #343434;\n border-top-color: #343434;\n }\n .graphiql-container .footer {\n border-left-color: #343434;\n border-top-color: #343434;\n }\n .graphiql-container .footer::before {\n background-color: #2c2c2c;\n }\n .graphiql-container .toolbar-button {\n background-color: #181818;\n background: linear-gradient(#303030, #282828);\n box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7), 0 1px 0 hsla(0, 0%, 0%, .7), inset 0 1px var(--ghd-bg-color);\n color: #afafaf;\n }\n .graphiql-container .toolbar-button:active {\n background: linear-gradient(#404040, #383838);\n box-shadow: 0 0 0 1px #484848;\n }\n .graphiql-container .execute-button {\n background: linear-gradient(#303030, #282828);\n box-shadow: 0 1px 0 var(--ghd-bg-color);\n fill: #afafaf;\n }\n .graphiql-container .execute-button:active {\n background: linear-gradient(#404040, #383838);\n box-shadow: 0 1px 0 var(--ghd-bg-color), inset 0 0 2px rgba(255, 255, 255, .7), inset 0 0 6px rgba(0, 0, 0, .1);\n }\n .graphiql-container .execute-options,\n .graphiql-container .toolbar-menu-items,\n .graphiql-container .toolbar-select-options {\n background-color: #181818;\n }\n .graphiql-container .execute-options > li.selected,\n .graphiql-container .history-contents > li:active,\n .graphiql-container .history-contents > li:hover,\n .graphiql-container .toolbar-menu-items > li.hover,\n .graphiql-container .toolbar-menu-items > li:active,\n .graphiql-container .toolbar-menu-items > li:hover,\n .graphiql-container .toolbar-select-options > li.hover,\n .graphiql-container .toolbar-select-options > li:active,\n .graphiql-container .toolbar-select-options > li:hover {\n color: #fff;\n }\n .graphiql-container .toolbar-select-options > li > svg {\n fill: #9b9b9b;\n }\n .graphiql-container .toolbar-select-options > li.hover > svg,\n .graphiql-container .toolbar-select-options > li:active > svg,\n .graphiql-container .toolbar-select-options > li:hover > svg {\n fill: #181818;\n }\n @keyframes insertionFade {\n from, to {\n background-color: transparent;\n border-color: transparent;\n }\n }\n @keyframes blink {\n 50% {\n background: none;\n }\n }\n .graphiql-container .doc-explorer {\n background-color: #181818;\n }\n .graphiql-container .doc-explorer-back {\n color: /*[[base-color]]*/;\n }\n .graphiql-container .doc-explorer-back::before {\n border-left: 2px solid /*[[base-color]]*/;\n border-top: 2px solid /*[[base-color]]*/;\n }\n .graphiql-container .doc-explorer-contents,\n .graphiql-container .history-contents {\n background-color: #181818;\n border-top-color: #343434;\n }\n .graphiql-container .doc-category code,\n .graphiql-container .doc-type-description code {\n background-color: #181818;\n }\n .graphiql-container .doc-category-title {\n border-bottom-color: #343434;\n }\n .graphiql-container .doc-category-item {\n color: #afafaf;\n }\n .graphiql-container .keyword {\n color: #d82828;\n }\n .graphiql-container .type-name {\n color: #cb4;\n }\n .graphiql-container .field-name {\n color: /*[[base-color]]*/;\n }\n .graphiql-container .field-short-description {\n color: #9b9b9b;\n }\n .graphiql-container .arg-name {\n color: #53387a;\n }\n .graphiql-container .show-btn {\n border-color: #5a5a5a;\n color: #afafaf;\n }\n .graphiql-container .search-box {\n border-bottom-color: #343434;\n }\n .graphiql-container .search-box .search-box-clear {\n background-color: #343434;\n color: #fff;\n }\n .graphiql-container .history-contents li {\n border-bottom-color: #343434;\n }\n :root, [data-color-mode=\"dark\"][data-dark-theme=\"light\"],\n [data-color-mode=\"light\"][data-light-theme=\"light\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"light\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"light\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=\"dark\"][data-dark-theme=\"light_colorblind\"],\n [data-color-mode=\"light\"][data-light-theme=\"light_colorblind\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"light_colorblind\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"light_colorblind\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=\"dark\"][data-dark-theme=\"light_high_contrast\"],\n [data-color-mode=\"light\"][data-light-theme=\"light_high_contrast\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"light_high_contrast\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"light_high_contrast\"] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n [data-color-mode=\"dark\"][data-dark-theme=\"dark\"],\n [data-color-mode=\"light\"][data-light-theme=\"dark\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-done-emphasis: #53387a;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"dark\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-done-emphasis: #53387a;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"dark\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-done-emphasis: #53387a;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n [data-color-mode=\"dark\"][data-dark-theme=\"dark_dimmed\"],\n [data-color-mode=\"light\"][data-light-theme=\"dark_dimmed\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"dark_dimmed\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"dark_dimmed\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n [data-color-mode=\"dark\"][data-dark-theme=\"dark_high_contrast\"],\n [data-color-mode=\"light\"][data-light-theme=\"dark_high_contrast\"] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"dark_high_contrast\"] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"dark_high_contrast\"] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n [data-color-mode=\"dark\"][data-dark-theme=\"dark_colorblind\"],\n [data-color-mode=\"light\"][data-light-theme=\"dark_colorblind\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-done-emphasis: #53387a;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=\"auto\"][data-light-theme=\"dark_colorblind\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-done-emphasis: #53387a;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"dark_colorblind\"] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-done-emphasis: #53387a;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) and (pointer: fine) {\n .ActionList-item[aria-disabled=\"true\"]:hover {\n background-color: transparent;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n .btn-danger.disabled, .btn-danger:disabled,\n .btn-danger[aria-disabled=\"true\"], .btn-outline.disabled,\n .btn-outline:disabled, .btn-outline[aria-disabled=\"true\"] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=\"true\"], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button, .inline-form .btn-plain {\n background-color: transparent;\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem, .UnderlineNav-item,\n .filter-list.pjax-active .filter-item, .tabnav-tab {\n background-color: transparent;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .flash-close {\n background: none;\n }\n .dropdown-item:focus > .Label, .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab, .markdown-body .emoji,\n .markdown-body pre > code, .markdown-body pre code, .markdown-body pre tt,\n .markdown-body table img {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=\"true\"] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%) !important;\n }\n .btn-mktg.focus:disabled, .btn-mktg:focus:disabled, .btn-mktg:hover:disabled {\n box-shadow: none !important;\n }\n .btn-muted-mktg, .btn-subtle-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n color: #fff;\n background: linear-gradient(180deg, rgba(52, 183, 89, .15) 0%, rgba(46, 164, 79, 0) 100%), #373 !important;\n }\n .graphiql-ide {\n border-top-color: #343434;\n }\n .graphiql-ide.signed-out::after {\n background-color: #343434;\n }\n /* end graphql.github.com rules */\n /* manual overrides */\n .btn.hover, .btn:hover {\n background-color: #282828;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n }\n .graphiql-container .show-btn {\n border: solid 1px #343434;\n background: #222;\n color: #c6c6c6;\n }\n .graphiql-container .doc-deprecation {\n box-shadow: inset 0 0 1px #cb4;\n background: #261d08;\n color: #ddd;\n }\n .graphiql-container .doc-deprecation::before {\n color: #cb4;\n }\n .graphiql-container .docExplorerShow, .graphiql-container .historyShow,\n .graphiql-container .topBar {\n background: #222;\n }\n .graphiql-container .docExplorerShow {\n border-left: 1px solid #444;\n }\n .graphiql-container .toolbar-button, .graphiql-container .execute-button {\n box-shadow: none;\n }\n .graphiql-container .toolbar-button:hover,\n .graphiql-container .execute-button:hover {\n background: #343434;\n }\n .graphiql-explorer-root input[style*=\"color: rgb(210, 5, 78)\"] {\n border-color: currentcolor currentcolor #999 !important;\n background-color: #181818;\n }\n .graphiql-container .search-box input {\n background-color: #181818;\n }\n .graphiql-explorer-node span[style*=\"color: rgb(31, 97, 160)\"] {\n color: /*[[base-color]]*/ !important;\n }\n .graphiql-explorer-node span[style*=\"color: rgb(139, 43, 185)\"] {\n color: #9a6cdf !important;\n }\n #graphiql svg path[d*=\"2V16H2V2H16ZM16\"][fill=\"#CCC\"] {\n fill: #444;\n }\n #graphiql svg path[d*=\"0H2C0.9\"][fill=\"#666\"] {\n fill: #777;\n }\n .graphiql-ide.signed-out::after {\n background: #333;\n }\n .graphiql-container .CodeMirror-foldmarker {\n background: /*[[base-color]]*/ !important;\n }\n .graphiql-container .execute-button svg {\n fill: currentColor !important;\n }\n .graphiql-container div[style*=\"color: rgb(177, 26, 4)\"] {\n color: rgb(215, 38, 13) !important;\n }\n .graphiql-explorer-root input[style*=\"border-color: currentcolor currentcolor rgb(136, 136, 136)\"] {\n border-color: currentcolor currentcolor #999 !important;\n background-color: #000 !important;\n }\n .graphiql-container select[style*=\"background-color: white;\"] {\n background-color: #181818 !important;\n border-color: #444;\n }\n}\n@-moz-document regexp(\"^https?://github\\.com/features/(security|actions)\") {\n img[src*=\"security-vulnerability.svg\"],\n img[src*=\"security-vulnerability-alert.svg\"], img[src*=\"security-policy.svg\"],\n img[src*=\"security-workspace-bg.svg\"],\n img[src*=\"security-workspace-comment-1.svg\"],\n img[src*=\"security-workspace-comment-2.svg\"],\n img[src*=\"security-workspace-changes.svg\"],\n img[src*=\"security-workspace-merge.svg\"], .section-security-alerts svg,\n img[src*=\"security-dependabot.svg\"], img.security-pr-merge,\n .section-security-patches-graph, img[src*=\"security-token-scanning.svg\"],\n img[src*=\"security-lgtm-vulnerability.svg\"],\n img[src*=\"security-lgtm-alert.svg\"], .actions-pr-checks {\n filter: invert(90%) hue-rotate(-180deg) !important;\n }\n .section-actions-hero .actions-hero-bg, .section-actions-hero .actions-hero {\n filter: invert(1) contrast(70%) brightness(80%);\n }\n .section-security-alerts-graph svg, .section-security-patches-graph {\n filter: none !important;\n }\n [style=\"background: #fff; box-shadow: 0 10px 50px 30px #fff;\"] {\n background: none !important;\n box-shadow: none !important;\n }\n [stroke=\"#E1E4E8\"] {\n stroke: #484848;\n }\n [stroke=\"#B08800\"] {\n stroke: #652;\n }\n [fill=\"#FFFDEF\"] {\n fill: #321;\n }\n [fill=\"#6A737D\"] {\n fill: #444;\n }\n [fill=\"white\"]:not([d*=\"M279.27\"]) {\n fill: #111;\n }\n [fill=\"black\"] {\n fill: #eee;\n }\n svg.security-hero, .actions-hero {\n filter: brightness(200%) contrast(80%);\n }\n .section-actions-workflow-logs::before, .actions-pricing-private::before {\n filter: brightness(60%);\n }\n}\n@-moz-document regexp(\"^https?://github\\.com/(features|security).*\") {\n img[src*=\"img-\"], img[src*=\"security\"] {\n filter: invert(90%) hue-rotate(-180deg) !important;\n }\n img[src*=\"img-share-achievements.png\"] {\n filter: invert(100%) hue-rotate(-85deg) !important;\n }\n .jumbotron-codelines {\n color: #dcdcdc;\n }\n}\n@-moz-document domain(\"resources.github.com\") {\n h1, h2, h3, h4, h5, h6 {\n color: #c6c6c6;\n }\n .bg-dots-gray {\n opacity: .2;\n }\n}\n@-moz-document domain(\"guides.github.com\") {\n header img[src*=\"logo\"] {\n opacity: .7;\n }\n article h2 {\n color: #c6c6c6;\n }\n ol.toc > li a.active {\n color: #aaa;\n }\n}\n@-moz-document domain(\"stylishthemes.github.io\") {\n * {\n box-sizing: border-box;\n }\n body {\n color: #e0e0e0;\n background-color: #202020;\n background-image: var(--ghd-bg-img);\n background-clip: border-box;\n background-origin: padding-box;\n background-attachment: /*[[bg-attachment]]*/;\n /*[[bg-options]]*/\n }\n .markdown-body img {\n background-color: #181818;\n background: none;\n }\n a {\n color: /*[[base-color]]*/;\n background-color: transparent;\n }\n .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4,\n .markdown-body h5, .markdown-body h6 {\n border-bottom: 1px solid #444;\n }\n .border-gray-light, hr {\n border-color: #444 !important;\n }\n .markdown-body table th, .markdown-body table td {\n border: 1px solid #444;\n }\n .text-gray {\n color: #aaa !important;\n }\n .markdown-body table tr {\n background-color: #181818;\n border-top: 1px solid #444;\n }\n .markdown-body table tr:nth-child(2n) {\n background-color: #202020;\n }\n /* style 404 page e.g. http://stylishthemes.github.io/ */\n p {\n color: #bebebe;\n }\n #suggestions a {\n color: #9e9e9e;\n }\n}\n@-moz-document url-prefix(\"https?://github.com/personal\") {\n .bg-blue-4, .illflow-blue .selected {\n background: #182030 !important;\n }\n}\n@-moz-document regexp(\"^https?://(education|lab)\\.github\\.com\") {\n .btn-blue {\n background-image: linear-gradient(-180deg, rgba(/*[[base-color-rgb]]*/, 1), rgba(/*[[base-color-rgb]]*/, .9) 90%) !important;\n }\n .btn-blue.hover, .btn.btn-blue:hover {\n background-image: linear-gradient(-180deg, rgba(/*[[base-color-rgb]]*/, .9), rgba(/*[[base-color-rgb]]*/, .8) 90%) !important;\n border-color: rgba(/*[[base-color-rgb]]*/, .3) !important;\n }\n}\n@-moz-document regexp(\"^https?://(render)\\.githubusercontent\\.com\\/render\\/math.*\") {\n svg {\n background: var(--ghd-code-background);\n }\n svg #surface1 g[style*=\"fill\"] {\n fill: var(--ghd-code-color) !important;\n }\n}\n@-moz-document domain(\"camo.githubusercontent.com\") {\n svg {\n background: var(--ghd-code-background);\n }\n}\n@-moz-document regexp(\"^https?://www\\.zuora\\.com.*github\\.com.*\") {\n /* Styles the payment form iframe */\n body, label {\n background: transparent !important;\n color: #bebebe !important;\n }\n input, select {\n background: #181818 !important;\n color: #bebebe !important;\n border-color: #343434 !important;\n }\n select {\n background: #181818 url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAQAAAAua3X8AAAARklEQVR4AWNABWcazjQg8zGl/wNhA15piBL80gglmNKYSjClMZUgpDGVwKXxKBl4QNiRBLxJIKAIBzXhyCIc3YQTDMEkBwBplPJRxEMa4wAAAABJRU5ErkJggg==\") no-repeat right 8px center !important;\n background-size: 8px 10px !important;\n }\n input:focus, select:focus {\n border-color: /*[[base-color]]*/ !important;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 2px /*[[base-color]]*/ !important;\n outline-color: /*[[base-color]]*/ !important;\n }\n .btn-submit {\n background-color: #373;\n background-image: none;\n border-color: rgba(220, 220, 220, .15);\n }\n .btn-submit:hover {\n background-color: #484;\n background-image: none;\n }\n .popup, #z_hppm_iframe {\n background-color: var(--ghd-bg-color);\n }\n /* fix top white line */\n .whitespace {\n margin: -1px !important;\n }\n}\n@-moz-document domain(\"render.githubusercontent.com\"), domain(\"notebooks.githubusercontent.com\"), domain(\"viewscreen.githubusercontent.com\") {\n :root {\n --jp-content-font-color1: #ccc;\n --jp-content-font-color2: #bbb;\n --jp-content-font-color3: #aaa;\n --jp-content-font-color4: #999;\n }\n /* generated render.githubusercontent.com rules */\n body, .render-shell {\n background: var(--ghd-code-background) !important;\n }\n .render-shell .mermaid {\n background: var(--color-canvas-default) !important;\n }\n .render-shell img.math {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n .render-shell .output_area .output_png img {\n filter: invert(90.5%) hue-rotate(180deg) saturate(200%) brightness(85%) !important;\n }\n .render-shell .output_area .output_png:hover img {\n filter: none !important;\n }\n .render-shell .added-frame, .render-shell .deleted-frame {\n box-sizing: border-box !important;\n }\n .render-shell .swipe-frame .deleted-frame {\n margin-left: 2px !important;\n }\n .render-shell:not([data-document-path]) img, .render-shell canvas {\n border: none !important;\n background-image: url(\"data:image/gif;base64,R0lGODlhCgAKAIAAABoaGgAAACwAAAAACgAKAAACEYQdmYcaDNxjEspKndVZbc8UADs=\") !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1209 */\n .render-shell:not([data-document-path]) img:not([src$=\".svg\" i]):not(.leaflet-tile):not(.leaflet-marker-icon) {\n width: 100% !important;\n height: 100% !important;\n }\n img.leaflet-marker-icon, img.leaflet-marker-icon:hover {\n background: none !important;\n }\n .render-shell:not([data-document-path]) img:not(.leaflet-tile):not(.leaflet-marker-icon):hover,\n .render-shell:not([data-document-path]) canvas:hover {\n background-image: url(\"data:image/gif;base64,R0lGODlhCgAKAIAAAOXl5f///yH5BAAAAAAALAAAAAAKAAoAAAIRhB2ZhxoM3GMSykqd1VltzxQAOw==\") !important;\n }\n}\n@-moz-document domain(\"githubstatus.com\") {\n /* begin githubstatus.com rules */\n ._2NFgh0Z6tkGorUToiId47k [class^=Content__ChildWrapper] > [class^=Content],\n ._3c5eahGieigDTmRHO-d7l3 [class^=Content__ChildWrapper] > [class^=Content] {\n border-color: #767676;\n background-color: #181818;\n }\n ._2NFgh0Z6tkGorUToiId47k .status-dropdown__option::before,\n ._3c5eahGieigDTmRHO-d7l3 .status-dropdown__option::before {\n background-color: #181818;\n }\n ._3DswDMo3rPhwmGGm-RnGoI td[aria-selected=true] div {\n color: #fff;\n }\n ._2-I6T1F9kpUp2j9G31LMYN {\n border-color: #343434;\n }\n ._2wOD5aJH3F-IjQcHIh8Udc {\n background-color: #181818;\n }\n ._3qy5Vy5niTA5YAR6-x9PZ0 {\n color: #fff;\n }\n ._1JN3aEKlPD7X5jqB1dXYzx input, ._34-pLs8rXfQ3pFVMFFpFqG {\n border-color: #767676;\n }\n ._2dv0LNfUzjAAPh-wPACjXb {\n background-color: #181818;\n }\n .wPHh9nW_2p42Vk16HDf2n {\n color: #fff;\n }\n .ak-editor-wrapper pre, .markdown-display pre {\n background-color: #222;\n }\n .ak-editor-wrapper table, .markdown-display table {\n border-color: #343434;\n }\n .ak-editor-wrapper table td, .markdown-display table td {\n border-top-color: #343434;\n }\n .ak-editor-wrapper table td + td, .ak-editor-wrapper table th + th,\n .markdown-display table td + td, .markdown-display table th + th {\n border-left-color: #343434;\n }\n abbr, address, article, aside, audio, b, blockquote, body, canvas, caption,\n cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption,\n figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i,\n iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p,\n pre, q, samp, section, small, span, strong, sub, summary, sup, time, ul, var,\n video {\n background-color: transparent;\n }\n body {\n color: #c6c6c6;\n }\n textarea::placeholder {\n color: #767676;\n }\n .caret {\n border-top-color: #f0f0f0;\n }\n .well {\n border-color: #343434;\n }\n abbr {\n border-bottom-color: #343434;\n }\n pre.code-display {\n background-color: #222;\n }\n pre.code-display code {\n background-color: transparent;\n }\n input::-webkit-input-placeholder {\n color: #767676;\n }\n input:-moz-placeholder {\n color: #767676;\n }\n .chzn-container-single .chzn-single, input[type=\"email\"],\n input[type=\"number\"], input[type=\"password\"], input[type=\"text\"], select,\n textarea {\n border-color: #767676;\n }\n .chzn-container-single .chzn-single, input[type=\"email\"],\n input[type=\"password\"], input[type=\"text\"], textarea {\n color: #9b9b9b;\n }\n input[disabled], select[disabled], select[readonly], textarea[disabled] {\n background-color: #222;\n border-color: #343434;\n }\n input[disabled]:hover, select[disabled]:hover, select[readonly]:hover,\n textarea[disabled]:hover {\n border-color: #343434;\n }\n .controls.append label, .controls.prepend label {\n box-shadow: 0 1px 0 var(--ghd-bg-color) inset;\n -moz-box-shadow: 0 1px 0 #181818 inset;\n -webkit-box-shadow: 0 1px 0 #181818 inset;\n background-color: #242424;\n color: #9b9b9b;\n }\n .controls.append label.prepender, .controls.prepend label.prepender {\n border-right-color: #5a5a5a;\n }\n .controls.append label.appender, .controls.prepend label.appender {\n border-left-color: #5a5a5a;\n }\n .form-bordered .control-group {\n border-bottom-color: #343434;\n }\n .form-bordered .control-group.first-border {\n border-top-color: #343434;\n }\n .fa-border {\n border-color: #2c2c2c;\n }\n .fa-inverse {\n color: #fff;\n }\n .tooltipster-sidetip .tooltipster-box {\n border-color: #f0f0f0;\n }\n .tooltipster-sidetip .tooltipster-content {\n color: #fff;\n }\n .tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border {\n border-bottom-color: #f0f0f0;\n }\n .tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border {\n border-left-color: #f0f0f0;\n }\n .tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border {\n border-right-color: #f0f0f0;\n }\n .tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border {\n border-top-color: #f0f0f0;\n }\n .cpt-admin-callout.uptime-edit .label.set {\n color: #fff;\n }\n .cpt-admin-simple-search-form button {\n border-color: #767676;\n }\n .carousel-control {\n color: #fff;\n border-color: var(--ghd-bg-color);\n }\n .carousel-control:hover {\n color: #fff;\n }\n .carousel-caption {\n background-color: #c6c6c6;\n }\n .carousel-caption h4, .carousel-caption p {\n color: #fff;\n }\n .component-statuses .component-status-container .component-dropdown-selector.dropdown-open .component-status-display {\n background-color: #202020;\n }\n .component-statuses .component-status-container .component-dropdown-selector .status-dropdown {\n border-color: #343434;\n background-color: #181818;\n }\n .component-statuses .component-status-container .component-dropdown-selector .status-dropdown .status-option:hover,\n .datepicker {\n background-color: #181818;\n }\n .datepicker {\n box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n border-color: rgba(255, 255, 255, .7);\n }\n .datepicker::before {\n border-bottom-color: #5a5a5a;\n border-bottom-color: rgba(255, 255, 255, .7);\n }\n .datepicker::after {\n border-bottom-color: var(--ghd-bg-color);\n }\n .datepicker td.day:hover {\n background-color: #2c2c2c;\n }\n .datepicker td.active, .datepicker td.active:hover {\n color: #fff;\n }\n .datepicker td span:hover {\n background-color: #2c2c2c;\n }\n .datepicker td span.active {\n color: #fff;\n }\n .datepicker thead tr:first-child th:hover {\n background-color: #2c2c2c;\n }\n .dropdown .dropdown-menu {\n box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n background-color: #181818;\n border-color: rgba(255, 255, 255, .7);\n }\n .dropdown .dropdown-menu li:hover {\n background-color: #202020;\n }\n .dropdown .dropdown-menu li a {\n color: #c6c6c6;\n }\n .dropdown .dropdown-menu li.divider {\n background-color: #343434;\n }\n .search-bar i.fa-times, .search-bar i.mag-glass {\n color: #5a5a5a;\n }\n .es-menu {\n background-color: #181818;\n }\n .es-menu .item div .fa, .es-menu .item div i.component-status {\n color: #c6c6c6;\n }\n .es-highlight {\n color: #9b9b9b;\n }\n #es-search-field {\n box-shadow: none !important;\n }\n .grouped-items-selector {\n border-color: #767676;\n }\n .grouped-items-selector.inline {\n box-shadow: none;\n }\n .grouped-items-selector.inline .border-color {\n border-color: #343434;\n }\n .grouped-items-selector.inline .grouped-item.active {\n color: #c6c6c6;\n }\n .grouped-items-selector .body .grouped-items .grouped-item,\n .grouped-items-selector .body .grouped-items .grouped-item.open {\n border-color: #343434;\n }\n .grouped-items-selector .footer .close-button {\n background-color: #343434;\n }\n .loader-overlay {\n background-color: hsla(0, 0%, 0%, .8);\n }\n .sk-fading-circle .sk-circle::before {\n background-color: #c6c6c6;\n }\n .modal {\n background-color: #181818;\n border-color: #767676;\n }\n .modal hr {\n background-color: #343434;\n }\n .modal .headless-close {\n color: #f0f0f0;\n text-shadow: 0 1px 0 #181818;\n }\n .modal .headless-close:hover {\n color: #f0f0f0;\n }\n .modal .modal-header {\n border-bottom-color: #343434;\n }\n .modal .modal-header .close {\n color: #f0f0f0;\n text-shadow: 0 1px 0 #181818;\n }\n .modal .modal-header .close:hover {\n color: #f0f0f0;\n }\n .modal .modal-footer {\n background-color: #222;\n border-top-color: #343434;\n }\n .modal-backdrop {\n background-image: -moz-radial-gradient(50% 50%, circle closest-corner, rgba(0, 0, 0, .7), #f0f0f0 100%);\n background-image: -webkit-radial-gradient(50% 50%, circle closest-corner, rgba(0, 0, 0, .7), #f0f0f0 100%);\n background-image: -o-radial-gradient(50% 50%, circle closest-corner, rgba(0, 0, 0, .7), #f0f0f0 100%);\n }\n .cpt-notification {\n color: #fff;\n }\n .cpt-notification .close {\n color: hsla(0, 0%, 100%, .2);\n }\n .cpt-notification .close:hover, .cpt-notification a:not(.close),\n .cpt-notification a:not(.close):hover {\n color: #fff;\n }\n .cpt-notification.dotted, .cpt-notification.dotted a,\n .cpt-notification.dotted a:hover {\n color: #767676;\n }\n .panel {\n background-color: #181818;\n }\n .panel.panel-default {\n border-color: #343434;\n }\n .panel.panel-default .panel-heading {\n color: #c6c6c6;\n background-color: #222;\n border-color: #343434;\n }\n .popover {\n box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n background-color: #181818;\n border-color: rgba(255, 255, 255, .7);\n }\n .popover.top .arrow {\n border-top-color: #767676;\n }\n .popover.top .arrow::after {\n border-top-color: var(--ghd-bg-color);\n }\n .popover.right .arrow {\n border-right-color: #767676;\n }\n .popover.right .arrow::after {\n border-right-color: var(--ghd-bg-color);\n }\n .popover.bottom .arrow {\n border-bottom-color: #767676;\n }\n .popover.bottom .arrow::after {\n border-bottom-color: var(--ghd-bg-color);\n }\n .popover.left .arrow {\n border-left-color: #767676;\n }\n .popover.left .arrow::after {\n border-left-color: var(--ghd-bg-color);\n }\n .popover .popover-title {\n background-color: #222;\n border-bottom-color: #2c2c2c;\n }\n .cpt-progress {\n background-color: #202020;\n }\n .cpt-progress .bar {\n color: #fff;\n }\n .cpt-table .content {\n background-color: #181818;\n }\n .cpt-table .content .table-row.blank-state {\n border-color: #343434 !important;\n }\n .cpt-tabular-table {\n border-color: #343434;\n }\n .cpt-tabular-table td {\n border-top-color: #343434;\n }\n .cpt-tabular-table td + td, .cpt-tabular-table th + th {\n border-left-color: #343434;\n }\n .cpt-tabular-table .table-striped tbody tr:nth-child(odd) th,\n .cpt-tabular-table.striped tbody tr:nth-child(odd) td {\n background-color: #181818;\n }\n .cpt-tabs:not(.unstyled) {\n border-bottom-color: #343434;\n }\n .cpt-tabs:not(.unstyled) li:not(.active) a:hover {\n background-color: #2c2c2c;\n color: #9b9b9b;\n }\n .cpt-tabs:not(.unstyled) li:not(.active) a:hover.disabled {\n background-color: transparent;\n }\n .cpt-tabs:not(.unstyled) li.active a {\n color: #c6c6c6;\n background-color: #181818;\n border-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile {\n border-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile::after {\n color: #5a5a5a;\n }\n .cpt-tabs:not(.unstyled).mobile.open li:last-of-type {\n border-bottom-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile.open li a {\n border-left-color: #343434;\n border-right-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile li a,\n .cpt-tabs:not(.unstyled).mobile li.active a,\n .cpt-tabs:not(.unstyled).mobile li:not(.active) a:hover {\n background-color: #181818;\n }\n .cpt-toggle {\n box-shadow: none;\n background: none;\n background-color: #343434;\n }\n .cpt-toggle .bubble {\n background-color: #181818;\n }\n .cpt-toggle.on .text {\n color: #fff;\n }\n .tooltip-base {\n color: #9b9b9b;\n border-color: #343434;\n }\n .tooltip-base:hover {\n color: #9b9b9b;\n }\n .tooltip.top .tooltip-arrow {\n border-top-color: #f0f0f0;\n }\n .tooltip.right .tooltip-arrow {\n border-right-color: #f0f0f0;\n }\n .tooltip.bottom .tooltip-arrow {\n border-bottom-color: #f0f0f0;\n }\n .tooltip.left .tooltip-arrow {\n border-left-color: #f0f0f0;\n }\n .tooltip .tooltip-inner {\n color: #fff;\n }\n .cpt-button {\n color: #fff;\n color: #fff !important;\n }\n .cpt-button:hover {\n color: #fff;\n }\n .cpt-button .caret {\n border-top-color: var(--ghd-bg-color);\n }\n .cpt-button.style-outline {\n box-shadow: none;\n background-color: transparent;\n border-color: hsla(0, 0%, 0%, .8);\n }\n .cpt-button.style-outline:hover {\n border-color: var(--ghd-bg-color);\n }\n .cpt-button.style-outline.color-grey {\n border-color: #767676;\n }\n .cpt-button.disabled {\n box-shadow: none;\n }\n .cpt-button.pressed, .cpt-button:active {\n box-shadow: inset 0 0 5px rgba(255, 255, 255, .7);\n -moz-box-shadow: inset 0 0 5px rgba(255, 255, 255, .7);\n -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, .7);\n }\n .domain-helper .domain-content.domain-unset {\n border-color: #5a5a5a;\n }\n .domain-helper .domain-header.domain-unset {\n background-color: #5a5a5a;\n }\n .domain-helper .domain-header.domain-deprecated,\n .domain-helper .domain-header.domain-invalid,\n .domain-helper .domain-header.domain-valid {\n color: #fff;\n }\n .domain-helper .dns-records {\n border-bottom-color: #2c2c2c;\n }\n .domain-helper .dns-records .dns-records-header {\n background-color: #2c2c2c;\n }\n .domain-helper .dns-records .dns-records-row {\n border-color: #2c2c2c;\n }\n .cpt-pill-group button.pill {\n background-color: #181818;\n }\n .cpt-pill-group button.pill.active {\n border-color: #343434;\n color: #c6c6c6;\n }\n .updates-dropdown-container .updates-dropdown {\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav {\n border-color: rgba(255, 255, 255, .7);\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav a,\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav button {\n background-color: #202020;\n border-right-color: #343434;\n border-bottom-color: #343434;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav a:last-of-type,\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav button:last-of-type {\n color: #9b9b9b !important;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav a.active,\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav button.active {\n background-color: #9b9b9b;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section {\n border-color: rgba(255, 255, 255, .7);\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section.phone .externalities-sms-container select {\n background-color: transparent;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section.phone .externalities-sms-container .phone-country-wrapper {\n background-color: #181818;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section.phone .externalities-sms-container .phone-country-wrapper::before {\n border-right-color: #f0f0f0;\n border-bottom-color: #f0f0f0;\n }\n .activate-page-prompt, .activate-page-prompt a, .flat-button,\n .flat-button:hover,\n .layout-content.status .masthead-container .updates-dropdown-container .show-updates-dropdown,\n .layout-content.status .masthead-container .updates-dropdown-container .show-updates-dropdown:hover,\n .layout-content.status .masthead-container.premium .masthead .text-container .page-name,\n .layout-content.status .masthead-container.premium .masthead .text-container .page-name a,\n .pau-preview {\n color: #fff;\n }\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident.impact-none .incident-title {\n background-color: #c6c6c6;\n }\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident.impact-none .updates {\n border-color: #5a5a5a;\n }\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident .incident-title {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .7);\n }\n .layout-content.status.status-index .page-status .status,\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident .incident-title a,\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident .incident-title a:hover {\n color: #fff;\n }\n .layout-content.status.status-index .page-status .last-updated-stamp {\n color: hsla(0, 0%, 100%, .2);\n }\n .layout-content.status.status-full-history .show-filter.open {\n color: #fff;\n }\n .layout-content.status.status-full-history .uptime-calendar #uptime-tooltip {\n background-color: #181818;\n border-color: rgba(255, 255, 255, .7);\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n .layout-content.status.status-full-history .uptime-calendar #uptime-tooltip #box-arrow {\n background-color: #181818;\n border-left-color: rgba(255, 255, 255, .7);\n border-top-color: rgba(255, 255, 255, .7);\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n .layout-content.status.status-full-history .uptime-calendar #uptime-tooltip .tooltip-box {\n box-shadow: none;\n }\n .layout-content.status-internal {\n border-color: #343434;\n color: #c6c6c6;\n }\n .layout-content.status-internal .message-container {\n box-shadow: 0 0 25px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 0 25px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 0 25px rgba(255, 255, 255, .7);\n background-color: #181818;\n }\n .layout-content.status-internal .powered-by-container,\n .layout-content.status-internal .powered-by-container a,\n .layout-content.status-internal .powered-by-container a:hover {\n color: #fff;\n color: hsla(0, 0%, 0%, .85);\n }\n #uptime-tooltip .pointer-smaller {\n border-bottom-color: var(--ghd-bg-color);\n }\n #uptime-tooltip .tooltip-box {\n border-color: rgba(255, 255, 255, .7);\n background-color: #181818;\n }\n #uptime-tooltip .tooltip-close i {\n color: #5a5a5a;\n }\n #uptime-tooltip .outage-field {\n border-color: transparent;\n }\n #uptime-tooltip .related-events .related-event .related-event-link {\n color: #c6c6c6;\n }\n .modal-body .phone-country-dropdown {\n background-color: transparent;\n }\n .modal-body .phone-country-wrapper {\n background-color: #181818;\n }\n .modal-body .phone-country-wrapper::before {\n border-right-color: #f0f0f0;\n border-bottom-color: #f0f0f0;\n }\n .page-deleted {\n box-shadow: none;\n }\n a {\n background-color: transparent;\n color: /*[[base-color]]*/;\n }\n mark {\n color: #f0f0f0;\n }\n body {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n }\n .rule {\n border-bottom-color: #343434;\n }\n .border {\n border-color: #343434 !important;\n }\n .border-y {\n border-top-color: #343434 !important;\n border-bottom-color: #343434 !important;\n }\n .border-blue {\n border-color: /*[[base-color]]*/ !important;\n }\n .border-blue-light {\n border-color: #246 !important;\n }\n .border-green {\n border-color: #373 !important;\n }\n .border-green-light {\n border-color: #040 !important;\n }\n .border-red, .border-red-light {\n border-color: #d82828 !important;\n }\n .border-purple {\n border-color: #8348af !important;\n }\n .border-yellow {\n border-color: #cb4 !important;\n }\n .border-gray-light {\n border-color: #2c2c2c !important;\n }\n .border-gray-dark {\n border-color: #343434 !important;\n }\n .border-black-fade {\n border-color: rgba(220, 220, 220, .15) !important;\n }\n .border-top {\n border-top-color: #343434 !important;\n }\n .border-right {\n border-right-color: #343434 !important;\n }\n .border-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-left {\n border-left-color: #343434 !important;\n }\n .box-shadow {\n box-shadow: 0 1px 1px #000 !important;\n }\n .box-shadow-medium {\n box-shadow: 0 1px 5px #000 !important;\n }\n .box-shadow-large {\n box-shadow: 0 1px 15px #000 !important;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .bg-white {\n background-color: #181818 !important;\n }\n .bg-blue {\n background-color: /*[[base-color]]*/ !important;\n }\n .bg-blue-light {\n background-color: #182030 !important;\n }\n .bg-gray {\n background-color: #222 !important;\n }\n .bg-gray-light {\n background-color: #181818 !important;\n }\n .bg-green {\n background-color: #484 !important;\n }\n .bg-green-light {\n background-color: #002800 !important;\n }\n .bg-red {\n background-color: #d82828 !important;\n }\n .bg-red-light {\n background-color: #300 !important;\n }\n .bg-yellow {\n background-color: #cb4 !important;\n }\n .bg-yellow-light {\n background-color: #651 !important;\n }\n .bg-purple {\n background-color: #8348af !important;\n }\n .bg-purple-light {\n background-color: #213 !important;\n }\n .text-blue {\n color: /*[[base-color]]*/ !important;\n }\n .text-red {\n color: #d82828 !important;\n }\n .text-gray-light {\n color: #9b9b9b !important;\n }\n .text-gray {\n color: #afafaf !important;\n }\n .text-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .text-green {\n color: #484 !important;\n }\n .text-orange {\n color: #f3582c !important;\n }\n .text-orange-light {\n color: #fb8532 !important;\n }\n .text-purple {\n color: #8348af !important;\n }\n .text-white {\n color: #fff !important;\n }\n .bg-pending, .text-pending {\n color: #cb4 !important;\n }\n .link-gray {\n color: #afafaf !important;\n }\n .link-gray:hover {\n color: /*[[base-color]]*/ !important;\n }\n .link-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .link-gray-dark:hover, .link-hover-blue:hover {\n color: /*[[base-color]]*/ !important;\n }\n .muted-link {\n color: #afafaf !important;\n }\n .muted-link:hover {\n color: /*[[base-color]]*/ !important;\n }\n .details-overlay-dark[open] > summary::before {\n background-color: rgba(220, 220, 220, .5);\n }\n .lead {\n color: #afafaf;\n }\n .text-emphasized {\n color: rgb(210, 210, 210) !important;\n }\n .text-shadow-dark {\n text-shadow: 0 1px 1px rgba(220, 220, 220, .25), 0 1px 25px rgba(27, 31, 35, .75);\n }\n .text-shadow-light {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .5);\n }\n body {\n background-color: #222;\n }\n .component-container, .components-container {\n background-color: #181818;\n }\n .component-container .status-msg {\n color: #9b9b9b;\n }\n .incident-title + .updates {\n background-color: #181818;\n }\n .page-footer {\n border-top-color: #343434 !important;\n }\n body.history .history-backpage {\n background-color: #181818;\n }\n .component-items-selector .grouped-item:hover {\n background-color: #222;\n }\n .component-items-selector .active, .component-items-selector .active:hover {\n color: #fff;\n background-color: /*[[base-color]]*/;\n }\n .incident-list::before, .status-day::before {\n background-color: #444;\n }\n .status-day > .date::before {\n background-color: #181818;\n }\n .month-title {\n border-bottom-color: #343434 !important;\n }\n .incident-container::before {\n background-color: #444;\n }\n .incident-container .incident-title::before {\n background-color: #444;\n border-color: #202020;\n }\n .update.investigating > strong {\n color: #cb4;\n }\n .update.resolved > strong {\n color: #484;\n }\n .flat-button, .history-header .show-filter {\n background-color: #242424 !important;\n background-image: linear-gradient(-180deg, #202020 0%, #181818 90%) !important;\n border-color: rgba(220, 220, 220, .2) !important;\n color: rgb(210, 210, 210) !important !important;\n }\n .updates-dropdown-container .updates-dropdown {\n background-color: #181818;\n }\n .updates-dropdown-container .updates-dropdown-nav::before {\n color: rgb(210, 210, 210) !important;\n }\n .updates-dropdown-container #updates-dropdown-close-btn {\n background-color: transparent;\n }\n #uptime-tooltip .tooltip-box, .grouped-items-selector,\n .layout-content.status.status-api .section .example-container .example-opener .color-secondary,\n .layout-content.status.status-full-history .history-nav a.current, body,\n div[id^=\"subscribe-modal\"], div[id^=\"subscribe-modal\"] .modal-footer,\n div[id^=\"updates-dropdown\"] .updates-dropdown-section {\n background-color: #181818;\n }\n #uptime-tooltip .pointer-container .pointer-smaller {\n border-bottom-color: var(--ghd-bg-color);\n }\n #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link,\n .color-primary, .color-primary:hover, .grouped-item-label,\n .incident-history .impact-none,\n .layout-content.status .grouped-items-selector.inline .grouped-item.active,\n .layout-content.status-full-history .month .incident-container .impact-none,\n .layout-content.status-index .status-day .update-title.impact-none a,\n .layout-content.status-index .status-day .update-title.impact-none a:hover,\n .layout-content.status-index .timeframes-container .timeframe.active,\n .layout-content.status.status-full-history .history-nav a.current,\n .layout-content.status.status-full-history .history-nav a:not(.current):hover,\n .layout-content.status.status-index .components-statuses .component-container .name,\n .layout-content.status.status-index .incidents-list .incident-title.impact-none a,\n body.status, div[id^=\"subscribe-modal\"] .modal-header .close {\n color: rgb(210, 210, 210) !important;\n }\n #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header,\n .color-secondary,\n .layout-content.status .grouped-items-selector.inline .grouped-item,\n .layout-content.status .table-row .date,\n .layout-content.status.status-full-history .history-footer .pagination a.disabled,\n .layout-content.status.status-full-history .history-nav a, small {\n color: #9b9b9b;\n }\n #uptime-tooltip .tooltip-box, .markdown-display table, .tooltip-base,\n body.status .layout-content.status .border-color, div[id^=\"subscribe-modal\"] {\n border-color: #343434;\n }\n .markdown-display table td, div[id^=\"subscribe-modal\"] .modal-footer {\n border-top-color: #343434;\n }\n .markdown-display table td + td, .markdown-display table th + th {\n border-left-color: #343434;\n }\n #uptime-tooltip .pointer-container .pointer-larger,\n div[id^=\"subscribe-modal\"] .modal-header {\n border-bottom-color: #343434;\n }\n #uptime-tooltip .tooltip-box .outage-field {\n background-color: #282828;\n }\n .layout-content.status.status-index .page-status.status-major,\n .layout-content.status.status-index .status-day .update-title.impact-major a,\n .layout-content.status.status-index .status-day .update-title.impact-major a:hover,\n .layout-content.status.status-index .unresolved-incident.impact-major .incident-title {\n background-color: #fb8532;\n }\n .components-container .component-inner-container.status-orange .component-status,\n .components-container .component-inner-container.status-orange .icon-indicator,\n .incident-history .impact-major,\n .layout-content.status-full-history .month .incident-container .impact-major,\n .layout-content.status-incident .incident-name.impact-major,\n .layout-content.status-index .components-statuses .component-container.status-orange::after,\n .layout-content.status.status-index .incidents-list .incident-title.impact-major a,\n .status-orange .icon-indicator {\n color: #fb8532;\n }\n .layout-content.status.status-index .unresolved-incident.impact-major .updates {\n border-color: #fb8532;\n }\n .layout-content.status.status-index .page-status.status-minor,\n .layout-content.status.status-index .scheduled-incidents-container .tab,\n .layout-content.status.status-index .status-day .update-title.impact-minor a,\n .layout-content.status.status-index .status-day .update-title.impact-minor a:hover,\n .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title {\n background-color: #cb4;\n }\n .components-container .component-inner-container.status-yellow .component-status,\n .components-container .component-inner-container.status-yellow .icon-indicator,\n .incident-history .impact-minor,\n .layout-content.status-full-history .month .incident-container .impact-minor,\n .layout-content.status-incident .incident-name.impact-minor,\n .layout-content.status-index .components-statuses .component-container.status-yellow::after,\n .layout-content.status.manage-subscriptions .confirmation-infobox .fa,\n .layout-content.status.status-index .incidents-list .incident-title.impact-minor a,\n .status-yellow .icon-indicator {\n color: #cb4;\n }\n .layout-content.status.status-index .scheduled-incidents-container,\n .layout-content.status.status-index .unresolved-incident.impact-minor .updates {\n border-color: #cb4;\n }\n .layout-content.status.status-index .page-status.status-maintenance,\n .layout-content.status.status-index .scheduled-incidents-container .tab,\n .layout-content.status.status-index .status-day .update-title.impact-maintenance a,\n .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover,\n .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title {\n background-color: /*[[base-color]]*/;\n }\n .components-container .component-inner-container.status-blue .component-status,\n .components-container .component-inner-container.status-blue .icon-indicator,\n .incident-history .impact-maintenance,\n .layout-content.status-full-history .month .incident-container .impact-maintenance,\n .layout-content.status-incident .incident-name.impact-maintenance,\n .layout-content.status-index .components-statuses .component-container.status-blue::after,\n .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a,\n .status-blue .icon-indicator {\n color: /*[[base-color]]*/;\n }\n .layout-content.status.status-index .scheduled-incidents-container,\n .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates {\n border-color: /*[[base-color]]*/;\n }\n .layout-content.status.status-index .page-status.status-none {\n background-color: #484;\n }\n .components-container .component-inner-container.status-green .component-status,\n .components-container .component-inner-container.status-green .icon-indicator,\n .layout-content.status-index .components-statuses .component-container.status-green::after,\n .status-green .icon-indicator {\n color: #484;\n }\n .layout-content.status-incident .subheader a:hover,\n .layout-content.status-index .page-footer span a:hover,\n .layout-content.status-index .timeframes-container .timeframe:not(.active):hover,\n a, a:hover {\n color: /*[[base-color]]*/;\n }\n .flat-button, .layout-content.status-full-history .show-filter.open,\n .masthead .updates-dropdown-container .show-updates-dropdown {\n background-color: /*[[base-color]]*/;\n }\n .components-section .components-uptime-link,\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item,\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light {\n color: #9b9b9b;\n }\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer {\n background-color: #444;\n }\n /* end githubstatus.com rules */\n .illo-desktop-header {\n filter: invert(90%) hue-rotate(-180deg) !important;\n }\n .status-day > .date::before {\n background-color: #444 !important;\n }\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light {\n opacity: .7;\n }\n .page-title .impact-minor::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.89307 1.50072C8.70961 1.19027 8.37325 1 8.00632 1C7.63938 1 7.30302 1.19027 7.11956 1.50072L0.137601 13.4979C-0.0458669 13.8083 -0.0458669 14.1888 0.137601 14.4993C0.331261 14.8097 0.667618 15 1.02436 15H14.9883C15.3552 15 15.6916 14.8097 15.8648 14.4993C16.0381 14.1888 16.0483 13.8083 15.875 13.4979L8.89307 1.50072ZM9.02558 12.9971H6.98705V10.9943H9.02558V12.9971ZM9.02558 9.99285H6.98705V5.98712H9.02558V9.99285Z' fill='%23cb4'/%3E%3C/svg%3e\");\n }\n .page-title .impact-major::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.89307 1.50072C8.70961 1.19027 8.37325 1 8.00632 1C7.63938 1 7.30302 1.19027 7.11956 1.50072L0.137601 13.4979C-0.0458669 13.8083 -0.0458669 14.1888 0.137601 14.4993C0.331261 14.8097 0.667618 15 1.02436 15H14.9883C15.3552 15 15.6916 14.8097 15.8648 14.4993C16.0381 14.1888 16.0483 13.8083 15.875 13.4979L8.89307 1.50072ZM9.02558 12.9971H6.98705V10.9943H9.02558V12.9971ZM9.02558 9.99285H6.98705V5.98712H9.02558V9.99285Z' fill='%23f3582c'/%3E%3C/svg%3e\");\n }\n .page-title .impact-critical::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.89307 1.50072C8.70961 1.19027 8.37325 1 8.00632 1C7.63938 1 7.30302 1.19027 7.11956 1.50072L0.137601 13.4979C-0.0458669 13.8083 -0.0458669 14.1888 0.137601 14.4993C0.331261 14.8097 0.667618 15 1.02436 15H14.9883C15.3552 15 15.6916 14.8097 15.8648 14.4993C16.0381 14.1888 16.0483 13.8083 15.875 13.4979L8.89307 1.50072ZM9.02558 12.9971H6.98705V10.9943H9.02558V12.9971ZM9.02558 9.99285H6.98705V5.98712H9.02558V9.99285Z' fill='%23f44'/%3E%3C/svg%3e\");\n }\n .page-title .impact-maintenance::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.48 7.27001C4.74 7.53001 5.76 8.60001 5.76 8.60001L6.32 8.02001L5.44 7.11001L7.13 5.31001C7.13 5.31001 6.37 4.57001 6.7 4.86001C7.02 3.67001 6.73 2.35001 5.83 1.42001C4.93 0.500006 3.66 0.200006 2.52 0.510006L4.45 2.51001L3.94 4.47001L2.05 4.99001L0.12 2.99001C-0.19 4.17001 0.1 5.48001 1 6.40001C1.94 7.38001 3.29 7.66001 4.48 7.27001ZM10.92 9.21001L8.59 11.51L12.43 15.49C12.74 15.82 13.16 15.98 13.57 15.98C13.98 15.98 14.39 15.82 14.71 15.49C15.34 14.84 15.34 13.79 14.71 13.14L10.92 9.21001ZM16 2.53L13.55 0L6.33 7.46L7.21 8.37L2.9 12.83L1.91 13.36L0.519998 15.63L0.869998 16L3.07 14.56L3.58 13.54L7.9 9.08L8.78 9.99L16 2.53Z' fill='rgb(/*[[base-color-rgb]]*/)'/%3E%3C/svg%3e\");\n }\n .page-footer > a:first-child::before {\n background: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='8' height='16' viewBox='0 0 8 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.5 3L7 4.5L3.25 8L7 11.5L5.5 13L0.5 8L5.5 3Z' fill='rgb(/*[[base-color-rgb]]*/)'/%3E%3C/svg%3e\") no-repeat center center !important;\n }\n .incident-container .incident-title::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='14' height='16' viewBox='0 0 14 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.99999 2.3C10.14 2.3 12.7 4.86 12.7 8C12.7 11.14 10.14 13.7 6.99999 13.7C3.85999 13.7 1.29999 11.14 1.29999 8C1.29999 4.86 3.85999 2.3 6.99999 2.3ZM7 1C3.14 1 0 4.14 0 8C0 11.86 3.14 15 7 15C10.86 15 14 11.86 14 8C14 4.14 10.86 1 7 1ZM8 4H6V9H8V4ZM8 10H6V12H8V10Z' fill='%23bebebe'/%3E%3C/svg%3e\");\n }\n .select-input__control[class*=\"css-\"] {\n background-color: #181818;\n border-color: #333;\n }\n .select-input__single-value[class*=\"css-\"] {\n color: #bebebe;\n }\n body.status div[class*=\"css-\"] {\n background-color: #181818;\n }\n .layout-content.status.status-full-history .history-nav a.current.border-color {\n margin-top: 1px;\n border-bottom: 1px solid transparent !important;\n }\n .layout-content.status.status-full-history .history-nav a.button.border-color:not(.current) {\n border-bottom: 1px solid #333 !important;\n margin-top: 1px;\n }\n .select-input__option:not(.select-input__option--is-selected):hover {\n background-color: #282828;\n color: #eee;\n }\n .select-input__option--is-selected[class*=\"css-\"] {\n background-color: #182030 !important;\n }\n svg [fill=\"#EAEAEA\"] {\n fill: #555;\n }\n .pagination .current, .pagination .current:hover {\n background-color: initial;\n }\n}\n@-moz-document domain(\"support.github.com\") {\n /* begin support.github.com rules */\n :root, [data-color-mode=dark][data-dark-theme=light],\n [data-color-mode=light][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-hover-bg: #484;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=light_colorblind],\n [data-color-mode=light][data-light-theme=light_colorblind] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light_colorblind] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light_colorblind] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=light_high_contrast],\n [data-color-mode=light][data-light-theme=light_high_contrast] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light_high_contrast] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light_high_contrast] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n [data-color-mode=dark][data-dark-theme=light_tritanopia],\n [data-color-mode=light][data-light-theme=light_tritanopia] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light_tritanopia] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light_tritanopia] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-focus-bg: #202020;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark],\n [data-color-mode=light][data-light-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_dimmed],\n [data-color-mode=light][data-light-theme=dark_dimmed] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_dimmed] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_dimmed] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_high_contrast],\n [data-color-mode=light][data-light-theme=dark_high_contrast] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_high_contrast] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_high_contrast] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-underlinenav-icon: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_colorblind],\n [data-color-mode=light][data-light-theme=dark_colorblind] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_colorblind] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_colorblind] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_tritanopia],\n [data-color-mode=light][data-light-theme=dark_tritanopia] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_tritanopia] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_tritanopia] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-primary-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) {\n .ActionList-item[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .ActionList-content {\n background-color: transparent;\n }\n .ActionList-content:focus {\n box-shadow: none;\n }\n .ActionList-content:focus-visible {\n box-shadow: none;\n }\n @media (hover: hover) {\n .ActionList-content[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=true], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button {\n background-color: transparent;\n }\n .close-button:active {\n box-shadow: none;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .FormControl-input-wrap .FormControl-input-trailingAction {\n background-color: transparent;\n }\n input[type=checkbox].FormControl-checkbox:focus-visible {\n box-shadow: none;\n }\n input[type=radio].FormControl-radio:focus-visible {\n box-shadow: none;\n }\n .filter-list.pjax-active .filter-item, .tabnav-tab {\n background-color: transparent;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem {\n background-color: transparent;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Overlay-backdrop--anchor, .Overlay-closeButton, .UnderlineNav-item {\n background-color: transparent;\n }\n @media (max-width: 767.98px) {\n .Overlay-backdrop--anchor-whenNarrow {\n background-color: transparent;\n }\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .color-bg-transparent {\n background-color: transparent !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .AvatarStack-body .avatar {\n box-shadow: none;\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .ToggleSwitch-track[aria-disabled=true] .ToggleSwitch-knob {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg, .btn-subtle-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n color: #fff;\n background: linear-gradient(180deg, rgba(52, 183, 89, .15) 0%, rgba(46, 164, 79, 0) 100%), #373 !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n .markdown-body .emoji, .markdown-body pre > code, .markdown-body pre code,\n .markdown-body pre tt, .markdown-body table img {\n background-color: transparent;\n }\n #support-logo svg {\n fill: #181818;\n }\n .progress-bar-processing .Progress-item {\n background-image: linear-gradient(45deg, hsla(0, 0%, 0%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 0%, .15) 50%, hsla(0, 0%, 0%, .15) 75%, transparent 75%, transparent);\n }\n .notification-indicator .unviewed-status {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .toolbar-item {\n background: none;\n }\n .toolbar-item:disabled {\n color: #343434;\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-placeholder-gradient: #242424;\n --color-placeholder-gradient-from: #343434;\n --color-placeholder-gradient-to: #242424;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-placeholder-gradient: #242424;\n --color-placeholder-gradient-from: #343434;\n --color-placeholder-gradient-to: #242424;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-placeholder-gradient: #242424;\n --color-placeholder-gradient-from: #343434;\n --color-placeholder-gradient-to: #242424;\n }\n }\n .taggle_list .taggle .close {\n color: #5a5a5a;\n background: none;\n }\n .taggle_list .taggle:hover {\n background-color: #5a5a5a;\n }\n .taggle_placeholder {\n color: #5a5a5a;\n }\n .taggle_input {\n background: none;\n }\n #ticket-comments .attachment-name a, .attachment-name a:hover,\n .attachment-upload-preview .link, .link:hover {\n color: #c6c6c6;\n }\n .not-found-octocat-wrapper::after {\n box-shadow: 0 4px 0 var(--ghd-bg-color), 0 8px 0 var(--ghd-bg-color), 0 12px 0 var(--ghd-bg-color), 0 16px 0 var(--ghd-bg-color), 0 20px 0 var(--ghd-bg-color);\n }\n /* end support.github.com rules */\n .input-block #query {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M15.7 13.3l-3.8-3.8C12.6 8.5 13 7.2 13 6c0-3.3-2.7-6-6-6C3.7 0 1 2.7 1 6c0 3.3 2.7 6 6 6 1.3 0 2.5-0.4 3.5-1.1L14.3 14.7c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.4 0.4-1 0-1.4 0 0 0 0 0 0V13.3zM7 10.7c-2.6 0-4.7-2.1-4.7-4.7S4.4 1.3 7 1.3s4.7 2.1 4.7 4.7S9.6 10.7 7 10.7z\" fill=\"%23DDDDDD\"/></svg>') no-repeat 6px;\n }\n}\n@-moz-document domain(\"vscode-auth.github.com\") {\n /* begin vscode-auth.github.com rules */\n a {\n background-color: transparent;\n }\n mark {\n color: #f0f0f0;\n }\n body {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n }\n a {\n color: /*[[base-color]]*/;\n }\n .rule {\n background-color: transparent;\n border-bottom-color: #343434;\n }\n .Box {\n background-color: #181818;\n }\n .Box, .Box-header {\n border-color: #343434;\n }\n .Box-header {\n background-color: #222;\n }\n .Box-body {\n border-bottom-color: #343434;\n }\n .Box-row {\n border-top-color: #343434;\n }\n .Box-row.Box-row--unread, .Box-row.unread {\n box-shadow: 2px 0 0 /*[[base-color]]*/ inset;\n }\n .Box-row.navigation-focus .Box-row--drag-button {\n color: /*[[base-color]]*/;\n }\n .Box-row.navigation-focus.sortable-chosen {\n background-color: #181818;\n }\n .Box-row--focus-gray.navigation-focus,\n .Box-row.navigation-focus.sortable-ghost {\n background-color: #222;\n }\n .Box-row--focus-blue.navigation-focus {\n background-color: #182030;\n }\n .Box-row--hover-gray:hover {\n background-color: #222;\n }\n .Box-row--hover-blue:hover {\n background-color: #182030;\n }\n @media (min-width: 768px) {\n .Box-row-link {\n color: rgb(210, 210, 210) !important;\n }\n .Box-row-link:hover {\n color: /*[[base-color]]*/;\n }\n }\n .Box-footer {\n border-top-color: #343434;\n }\n .Box--blue {\n border-color: #246;\n }\n .Box--blue .Box-header {\n background-color: #182030;\n border-color: #246;\n }\n .Box--blue .Box-body, .Box--blue .Box-footer, .Box--blue .Box-row {\n border-color: #246;\n }\n .Box--danger, .Box--danger .Box-body:last-of-type,\n .Box--danger .Box-row:first-of-type {\n border-color: #d82828;\n }\n .Box-header--blue {\n background-color: #182030;\n border-color: #246;\n }\n .Box-row--yellow {\n background-color: #261d08;\n }\n .Box-row--blue {\n background-color: #182030;\n }\n .Box-row--gray {\n background-color: #222;\n }\n .breadcrumb-item::after {\n color: #343434;\n }\n .btn {\n border-color: rgba(220, 220, 220, .2);\n }\n .btn .Counter {\n color: #afafaf;\n background-color: rgba(220, 220, 220, .1);\n }\n .btn.selected, .btn:active {\n background-image: none;\n }\n .btn {\n color: rgb(210, 210, 210) !important;\n background-color: #242424;\n background-image: linear-gradient(-180deg, #202020 0%, #181818 90%);\n }\n .btn.focus, .btn:focus {\n box-shadow: 0 0 0 .2em rgba(/*[[base-color-rgb]]*/, .5);\n }\n .btn.hover, .btn:hover {\n background-color: #444;\n background-image: linear-gradient(-180deg, #242424 0%, #444 90%);\n border-color: rgba(220, 220, 220, .35);\n }\n .btn.selected, .btn:active, [open] > .btn {\n background-color: #404040;\n background-image: none;\n border-color: rgba(220, 220, 220, .35);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn.disabled, .btn:disabled {\n color: rgba(210, 210, 210, .4);\n background-color: #242424;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-primary {\n color: #fff;\n background-color: #484;\n background-image: linear-gradient(-180deg, #373 0%, #484 90%);\n }\n .btn-primary.focus, .btn-primary:focus {\n box-shadow: 0 0 0 .2em #3737;\n }\n .btn-primary.hover, .btn-primary:hover {\n background-color: #595;\n background-image: linear-gradient(-180deg, #373 0%, #595 90%);\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-primary.selected, .btn-primary:active, [open] > .btn-primary {\n background-color: #595;\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-primary.disabled, .btn-primary:disabled {\n background-color: #040;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-primary .Counter {\n background-color: #181818;\n }\n .btn-purple {\n color: #fff;\n }\n .btn-purple.hover, .btn-purple:hover {\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-purple.selected, .btn-purple:active, [open] > .btn-purple {\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-purple.disabled, .btn-purple:disabled {\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-purple .Counter {\n background-color: #181818;\n }\n .btn-blue {\n color: #fff;\n background-color: /*[[base-color]]*/;\n background-image: linear-gradient(-180deg, /*[[base-color]]*/ 0%, /*[[base-color]]*/ 90%);\n }\n .btn-blue.hover, .btn-blue:hover {\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-blue.selected, .btn-blue:active, [open] > .btn-blue {\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-blue.disabled, .btn-blue:disabled {\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-blue .Counter {\n color: /*[[base-color]]*/;\n background-color: #181818;\n }\n .btn-danger {\n color: #d82828;\n background-color: #181818;\n background-image: linear-gradient(-180deg, #202020 0%, #181818 90%);\n }\n .btn-danger:focus {\n box-shadow: 0 0 0 .2em rgba(255, 68, 68, .4);\n }\n .btn-danger:hover {\n color: #fff;\n background-color: #d82828;\n background-image: linear-gradient(-180deg, #de4450 0%, #d82828 90%);\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-danger:hover .Counter {\n color: #fff;\n }\n .btn-danger.selected, .btn-danger:active, [open] > .btn-danger {\n color: #fff;\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-danger.disabled, .btn-danger:disabled {\n color: rgba(255, 68, 68, .4);\n background-color: #242424;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-outline {\n color: /*[[base-color]]*/;\n background-color: #181818;\n background-image: none;\n }\n .btn-outline.selected, .btn-outline:active, .btn-outline:hover,\n [open] > .btn-outline {\n color: #fff;\n background-color: /*[[base-color]]*/;\n background-image: none;\n border-color: /*[[base-color]]*/;\n }\n .btn-outline.selected .Counter, .btn-outline:active .Counter,\n .btn-outline:hover .Counter, [open] > .btn-outline .Counter {\n color: /*[[base-color]]*/;\n background-color: #181818;\n }\n .btn-outline:focus {\n border-color: /*[[base-color]]*/;\n }\n .btn-outline.disabled, .btn-outline:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .ellipsis-expander, .hidden-text-expander a {\n color: #afafaf;\n background-color: #343434;\n }\n .ellipsis-expander:hover, .hidden-text-expander a:hover {\n background-color: #767676;\n }\n .ellipsis-expander:active, .hidden-text-expander a:active {\n color: #fff;\n background-color: #4f8cc9;\n }\n .social-count {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n border-color: rgba(220, 220, 220, .2);\n }\n .btn-link, .social-count:hover {\n color: /*[[base-color]]*/;\n }\n .btn-link {\n background-color: transparent;\n }\n .btn-link:disabled, .btn-link:disabled:hover {\n color: rgba(148, 148, 148, .5);\n }\n .form-control, .form-select {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n border-color: #343434;\n }\n .form-control.focus, .form-control:focus, .form-select.focus,\n .form-select:focus {\n border-color: #4f8cc9;\n box-shadow: 0 0 0 2px rgba(/*[[base-color-rgb]]*/, .3);\n }\n .input-contrast, .input-contrast:focus {\n background-color: #181818;\n }\n :-ms-input-placeholder {\n color: #9b9b9b;\n }\n ::placeholder {\n color: #9b9b9b;\n }\n .form-checkbox label em.highlight {\n background-color: #261d08;\n }\n .form-checkbox .note, .hfields .form-group dt label {\n color: #afafaf;\n }\n .form-warning {\n color: #bba257;\n background-color: #261d08;\n border-color: #cb4;\n }\n .form-select {\n background-image: none \\9;\n }\n .form-group .form-control, .form-group .form-control:focus, .form-select {\n background-color: #181818;\n }\n .form-group dd h4.is-error {\n color: #d82828;\n }\n .form-group dd h4.is-success {\n color: #484;\n }\n .form-group.required dt label::after {\n color: #d82828;\n }\n .form-group.successful .success {\n color: #484;\n }\n .form-group.warn .warning {\n color: #bba257;\n background-color: #261d08;\n border-color: #cb4;\n }\n .form-group.warn .warning::after {\n border-bottom-color: #261d08;\n }\n .form-group.warn .warning::before {\n border-bottom-color: #cb4;\n }\n .form-group.errored label {\n color: #d82828;\n }\n .form-group.errored .error {\n color: #f84848;\n background-color: #300;\n border-color: #d82828;\n }\n .form-group.errored .error::after {\n border-bottom-color: #300;\n }\n .form-group.errored .error::before {\n border-bottom-color: #d82828;\n }\n .note {\n color: #afafaf;\n }\n .status-indicator-success .octicon-check {\n color: #484;\n fill: #484;\n }\n .status-indicator-failed .octicon-x {\n color: #d82828;\n fill: #d82828;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .drag-and-drop {\n color: #afafaf;\n background-color: #181818;\n border-color: #484848;\n }\n .drag-and-drop .error {\n color: #d82828;\n }\n .drag-and-drop-error-info {\n color: #afafaf;\n }\n .drag-and-drop-error-info a {\n color: /*[[base-color]]*/;\n }\n .upload-enabled textarea {\n border-bottom-color: #343434;\n }\n .upload-enabled.focused {\n box-shadow: 0 0 0 2px rgba(/*[[base-color-rgb]]*/, .3);\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .upload-enabled.focused .drag-and-drop {\n border-color: /*[[base-color]]*/;\n }\n .previewable-comment-form .comment {\n border-color: #484848;\n }\n h2.account, p.explain {\n color: #afafaf;\n }\n p.explain strong {\n color: rgb(210, 210, 210) !important;\n }\n p.explain .octicon {\n color: #767676;\n }\n .menu {\n background-color: #181818;\n border-color: #343434;\n }\n .menu-item {\n border-bottom-color: #343434;\n }\n .menu-item:hover {\n background-color: #222;\n }\n .menu-item.selected {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n }\n .menu-item.selected::before {\n background-color: #fb8532;\n }\n .menu-item .octicon {\n color: rgb(210, 210, 210) !important;\n }\n .menu-item .menu-warning {\n color: #f84848;\n }\n .menu-item.alert .Counter {\n color: #d82828;\n }\n .menu-heading {\n color: #afafaf;\n }\n .menu-heading, .tabnav {\n border-bottom-color: #343434;\n }\n .tabnav-tab {\n color: #afafaf;\n background-color: transparent;\n }\n .tabnav-tab.selected {\n background-color: #181818;\n border-color: #343434;\n }\n .tabnav-tab.selected, .tabnav-tab:focus, .tabnav-tab:hover {\n color: rgb(210, 210, 210) !important;\n }\n .tabnav-extra {\n color: #afafaf;\n }\n a.tabnav-extra:hover {\n color: /*[[base-color]]*/;\n }\n .filter-list.pjax-active .filter-item {\n color: #afafaf;\n background-color: transparent;\n }\n .filter-list.pjax-active .filter-item.pjax-active {\n color: #fff;\n background-color: /*[[base-color]]*/;\n }\n .filter-item {\n color: #afafaf;\n }\n .filter-item:hover {\n background-color: #2c2c2c;\n }\n .filter-item.selected {\n color: #fff;\n background-color: /*[[base-color]]*/;\n }\n .filter-item .bar {\n background-color: #242424;\n }\n .subnav-bordered {\n border-bottom-color: #2c2c2c;\n }\n .subnav-item {\n color: #afafaf;\n border-color: #343434;\n }\n .subnav-item:focus, .subnav-item:hover {\n background-color: #222;\n }\n .subnav-item.selected, .subnav-item.selected:focus,\n .subnav-item.selected:hover {\n color: #fff;\n background-color: /*[[base-color]]*/;\n border-color: /*[[base-color]]*/;\n }\n .subnav-search-input {\n color: #afafaf;\n }\n .subnav-search-icon {\n color: #767676;\n }\n .subnav-search-context .btn {\n color: #afafaf;\n }\n .UnderlineNav {\n border-bottom-color: #343434;\n }\n .UnderlineNav-item {\n color: #afafaf;\n }\n .UnderlineNav-item:focus, .UnderlineNav-item:hover {\n color: rgb(210, 210, 210) !important;\n border-bottom-color: #343434;\n }\n .UnderlineNav-item:focus .UnderlineNav-octicon,\n .UnderlineNav-item:hover .UnderlineNav-octicon {\n color: #9b9b9b;\n }\n .UnderlineNav-item.selected {\n color: rgb(210, 210, 210) !important;\n border-bottom-color: #fb8532;\n }\n .UnderlineNav-item.selected .UnderlineNav-octicon {\n color: #9b9b9b;\n }\n .UnderlineNav-octicon {\n color: #767676;\n }\n .pagination a, .pagination em, .pagination span {\n color: /*[[base-color]]*/;\n background-color: #181818;\n border-color: #343434;\n }\n .pagination a:focus, .pagination a:hover, .pagination em:focus,\n .pagination em:hover, .pagination span:focus, .pagination span:hover {\n background-color: #242424;\n border-color: #343434;\n }\n .pagination .current, .pagination .current:hover {\n color: #fff;\n background-color: /*[[base-color]]*/;\n border-color: /*[[base-color]]*/;\n }\n .pagination .disabled, .pagination .disabled:hover, .pagination .gap,\n .pagination .gap:hover {\n color: #343434;\n background-color: #181818;\n }\n .tooltipped::after {\n color: #fff;\n background-color: #dcdcdc;\n }\n .tooltipped::before {\n color: #dcdcdc;\n }\n .tooltipped-s::before, .tooltipped-se::before, .tooltipped-sw::before {\n border-bottom-color: #dcdcdc;\n }\n .tooltipped-n::before, .tooltipped-ne::before, .tooltipped-nw::before {\n border-top-color: #dcdcdc;\n }\n .tooltipped-w::before {\n border-left-color: #dcdcdc;\n }\n .tooltipped-e::before {\n border-right-color: #dcdcdc;\n }\n .border {\n border-color: #343434 !important;\n }\n .border-y {\n border-top-color: #343434 !important;\n border-bottom-color: #343434 !important;\n }\n .border-blue {\n border-color: /*[[base-color]]*/ !important;\n }\n .border-blue-light {\n border-color: #246 !important;\n }\n .border-green {\n border-color: #373 !important;\n }\n .border-green-light {\n border-color: #040 !important;\n }\n .border-red, .border-red-light {\n border-color: #d82828 !important;\n }\n .border-purple {\n border-color: #8348af !important;\n }\n .border-yellow {\n border-color: #cb4 !important;\n }\n .border-gray-light {\n border-color: #2c2c2c !important;\n }\n .border-gray-dark {\n border-color: #343434 !important;\n }\n .border-black-fade {\n border-color: rgba(220, 220, 220, .15) !important;\n }\n .border-top {\n border-top-color: #343434 !important;\n }\n .border-right {\n border-right-color: #343434 !important;\n }\n .border-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-left {\n border-left-color: #343434 !important;\n }\n @media (min-width: 544px) {\n .border-sm-top {\n border-top-color: #343434 !important;\n }\n .border-sm-right {\n border-right-color: #343434 !important;\n }\n .border-sm-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-sm-left {\n border-left-color: #343434 !important;\n }\n }\n @media (min-width: 768px) {\n .border-md-top {\n border-top-color: #343434 !important;\n }\n .border-md-right {\n border-right-color: #343434 !important;\n }\n .border-md-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-md-left {\n border-left-color: #343434 !important;\n }\n }\n @media (min-width: 1012px) {\n .border-lg-top {\n border-top-color: #343434 !important;\n }\n .border-lg-right {\n border-right-color: #343434 !important;\n }\n .border-lg-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-lg-left {\n border-left-color: #343434 !important;\n }\n }\n @media (min-width: 1280px) {\n .border-xl-top {\n border-top-color: #343434 !important;\n }\n .border-xl-right {\n border-right-color: #343434 !important;\n }\n .border-xl-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-xl-left {\n border-left-color: #343434 !important;\n }\n }\n .box-shadow {\n box-shadow: 0 1px 1px #000 !important;\n }\n .box-shadow-medium {\n box-shadow: 0 1px 5px #000 !important;\n }\n .box-shadow-large {\n box-shadow: 0 1px 15px #000 !important;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .bg-white {\n background-color: #181818 !important;\n }\n .bg-blue {\n background-color: /*[[base-color]]*/ !important;\n }\n .bg-blue-light {\n background-color: #182030 !important;\n }\n .bg-gray {\n background-color: #222 !important;\n }\n .bg-gray-light {\n background-color: #181818 !important;\n }\n .bg-green {\n background-color: #484 !important;\n }\n .bg-green-light {\n background-color: #002800 !important;\n }\n .bg-red {\n background-color: #d82828 !important;\n }\n .bg-red-light {\n background-color: #300 !important;\n }\n .bg-yellow {\n background-color: #cb4 !important;\n }\n .bg-yellow-light {\n background-color: #651 !important;\n }\n .bg-purple {\n background-color: #8348af !important;\n }\n .bg-purple-light {\n background-color: #213 !important;\n }\n .text-blue {\n color: /*[[base-color]]*/ !important;\n }\n .text-red {\n color: #d82828 !important;\n }\n .text-gray-light {\n color: #9b9b9b !important;\n }\n .text-gray {\n color: #afafaf !important;\n }\n .text-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .text-green {\n color: #484 !important;\n }\n .text-orange {\n color: #f3582c !important;\n }\n .text-orange-light {\n color: #fb8532 !important;\n }\n .text-purple {\n color: #8348af !important;\n }\n .text-white {\n color: #fff !important;\n }\n .bg-pending, .text-pending {\n color: #cb4 !important;\n }\n .link-gray {\n color: #afafaf !important;\n }\n .link-gray:hover {\n color: /*[[base-color]]*/ !important;\n }\n .link-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .link-gray-dark:hover, .link-hover-blue:hover {\n color: /*[[base-color]]*/ !important;\n }\n .muted-link {\n color: #afafaf !important;\n }\n .muted-link:hover {\n color: /*[[base-color]]*/ !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-overlay-dark[open] > summary::before {\n background-color: rgba(220, 220, 220, .5);\n }\n .lead {\n color: #afafaf;\n }\n .text-emphasized {\n color: rgb(210, 210, 210) !important;\n }\n .text-shadow-dark {\n text-shadow: 0 1px 1px rgba(220, 220, 220, .25), 0 1px 25px rgba(27, 31, 35, .75);\n }\n .text-shadow-light {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .5);\n }\n .flash {\n color: #9daccc;\n background-color: #182030;\n border-color: rgba(220, 220, 220, .15);\n }\n .flash-close {\n background: none;\n }\n .flash-warn {\n color: #bba257;\n background-color: #261d08;\n }\n .flash-error, .flash-warn {\n border-color: rgba(220, 220, 220, .15);\n }\n .flash-error {\n color: #f84848;\n background-color: #300;\n }\n .flash-success {\n color: #6cc644;\n background-color: #002800;\n border-color: rgba(220, 220, 220, .15);\n }\n .warning {\n background-color: #261d08;\n }\n .avatar-child {\n background-color: #181818;\n box-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n }\n .avatar-stack .avatar {\n background-color: #181818;\n border-right-color: var(--ghd-bg-color);\n }\n .avatar-stack .avatar:only-child {\n background-color: transparent;\n }\n .AvatarStack-body {\n background-color: #181818;\n }\n .AvatarStack-body .avatar {\n background-color: #181818;\n border-right-color: var(--ghd-bg-color);\n }\n .avatar.avatar-more {\n background-color: #222;\n }\n .avatar.avatar-more::after, .avatar.avatar-more::before {\n outline: 1px solid #181818;\n }\n .AvatarStack--right .avatar.avatar-more, .avatar.avatar-more::after,\n .avatar.avatar-more::before {\n background-color: #343434;\n }\n .AvatarStack--right .avatar.avatar-more::after {\n background-color: #222;\n }\n .AvatarStack--right .avatar {\n border-left-color: var(--ghd-bg-color);\n }\n .DashedConnection::before {\n border-bottom-color: #343434;\n }\n .blankslate {\n background-color: #181818;\n border-color: #343434;\n box-shadow: inset 0 0 10px rgba(220, 220, 220, .05);\n }\n .blankslate code {\n background-color: #181818;\n border-color: #2c2c2c;\n }\n .blankslate-icon {\n color: #767676;\n }\n .blankslate-clean-background {\n background: none;\n box-shadow: none;\n }\n .branch-name {\n color: rgba(230, 230, 230, .6);\n background-color: #182030;\n }\n .branch-name .octicon {\n color: #767676;\n }\n a.branch-name {\n color: /*[[base-color]]*/;\n }\n .Label, .label {\n color: #fff;\n }\n .Label--gray {\n color: #afafaf;\n background-color: #2c2c2c;\n }\n .Label--outline {\n color: #afafaf;\n background-color: transparent;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .Label--outline-green {\n color: #484;\n border-color: #373;\n }\n .Label--gray-darker {\n background-color: #444;\n }\n .Label--orange {\n background-color: #f3582c;\n }\n .State, .state {\n color: #fff;\n background-color: #444;\n }\n .State--green {\n background-color: #373;\n }\n .State--purple {\n background-color: #8348af;\n }\n .State--red {\n background-color: #d82828;\n }\n .Counter {\n color: #afafaf;\n }\n .Counter, .Counter--gray-light {\n background-color: rgba(220, 220, 220, .15);\n }\n .Counter--gray-light {\n color: rgb(210, 210, 210) !important;\n }\n .Counter--gray {\n color: #fff;\n background-color: #444;\n }\n .markdown-body .absent {\n color: #d82828;\n }\n .markdown-body hr {\n background-color: #343434;\n }\n .markdown-body blockquote {\n color: #9b9b9b;\n border-left-color: #343434;\n }\n .markdown-body kbd {\n color: #afafaf;\n background-color: #181818;\n border-color: #767676 #767676 #484848;\n box-shadow: inset 0 -2px 0 #383838;\n }\n .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link,\n .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link,\n .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link {\n color: #dcdcdc;\n }\n .markdown-body h1, .markdown-body h2 {\n border-bottom-color: #2c2c2c;\n }\n .markdown-body h6 {\n color: #9b9b9b;\n }\n .markdown-body table td, .markdown-body table th {\n border-color: #343434;\n }\n .markdown-body table tr {\n background-color: #181818;\n border-top-color: #767676;\n }\n .markdown-body table tr:nth-child(2n) {\n background-color: #222;\n }\n .markdown-body table img {\n background-color: transparent;\n }\n .markdown-body img {\n background-color: #181818;\n }\n .markdown-body .emoji {\n background-color: transparent;\n }\n .markdown-body span.frame > span {\n border-color: #343434;\n }\n .markdown-body span.frame span span {\n color: rgb(210, 210, 210) !important;\n }\n .markdown-body code, .markdown-body tt {\n background-color: rgba(220, 220, 220, .05);\n }\n .markdown-body pre > code {\n background-color: transparent;\n }\n .markdown-body .highlight pre, .markdown-body pre {\n background-color: #222;\n }\n .markdown-body pre code, .markdown-body pre tt {\n background-color: transparent;\n }\n .markdown-body .csv-data .blob-num {\n background-color: #181818;\n }\n .markdown-body .csv-data th {\n background-color: #222;\n }\n .Popover-message::before {\n border-bottom-color: rgba(220, 220, 220, .15);\n }\n .Popover-message::after {\n border-bottom-color: var(--ghd-bg-color);\n }\n .Popover-message--bottom-left::before,\n .Popover-message--bottom-right::before, .Popover-message--bottom::before {\n border-top-color: rgba(220, 220, 220, .15);\n }\n .Popover-message--bottom-left::after, .Popover-message--bottom-right::after,\n .Popover-message--bottom::after {\n border-top-color: var(--ghd-bg-color);\n }\n .Popover-message--right-bottom::before, .Popover-message--right-top::before,\n .Popover-message--right::before {\n border-left-color: rgba(220, 220, 220, .15);\n }\n .Popover-message--right-bottom::after, .Popover-message--right-top::after,\n .Popover-message--right::after {\n border-left-color: var(--ghd-bg-color);\n }\n .Popover-message--left-bottom::before, .Popover-message--left-top::before,\n .Popover-message--left::before {\n border-right-color: rgba(220, 220, 220, .15);\n }\n .Popover-message--left-bottom::after, .Popover-message--left-top::after,\n .Popover-message--left::after {\n border-right-color: var(--ghd-bg-color);\n }\n .Progress {\n background-color: #343434;\n }\n .Subhead {\n border-bottom-color: #343434;\n }\n .Subhead-heading--danger {\n color: #d82828;\n }\n .Subhead-description, .pullquote {\n color: #afafaf;\n }\n .pullquote {\n border-left-color: #343434;\n }\n .btn-orange {\n color: #fff;\n }\n .btn-orange.hover, .btn-orange:hover {\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-orange.selected, .btn-orange:active, [open] > .btn-orange {\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-orange.disabled, .btn-orange:disabled {\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-orange .Counter, .btn-outline-purple {\n background-color: #181818;\n }\n .btn-outline-purple {\n color: #8348af;\n background-image: none;\n }\n .btn-outline-purple.selected, .btn-outline-purple:active,\n .btn-outline-purple:hover, [open] > .btn-outline-purple {\n color: #fff;\n background-color: #8348af;\n background-image: none;\n border-color: #8348af;\n }\n .btn-outline-purple.selected .Counter, .btn-outline-purple:active .Counter,\n .btn-outline-purple:hover .Counter, [open] > .btn-outline-purple .Counter {\n color: #8348af;\n background-color: #181818;\n }\n .btn-outline-purple:focus {\n border-color: #8348af;\n }\n .btn-outline-purple.disabled, .btn-outline-purple:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .btn-outline-orange {\n color: #fb8532;\n background-color: #181818;\n background-image: none;\n }\n .btn-outline-orange.selected, .btn-outline-orange:active,\n .btn-outline-orange:hover, [open] > .btn-outline-orange {\n color: #fff;\n background-color: #fb8532;\n background-image: none;\n border-color: #fb8532;\n }\n .btn-outline-orange.selected .Counter, .btn-outline-orange:active .Counter,\n .btn-outline-orange:hover .Counter, [open] > .btn-outline-orange .Counter {\n color: #fb8532;\n background-color: #181818;\n }\n .btn-outline-orange:focus {\n border-color: #fb8532;\n }\n .btn-outline-orange.disabled, .btn-outline-orange:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .btn-outline-green {\n color: #484;\n background-color: #181818;\n background-image: none;\n }\n .btn-outline-green.selected, .btn-outline-green:active,\n .btn-outline-green:hover, [open] > .btn-outline-green {\n color: #fff;\n background-color: #484;\n background-image: none;\n border-color: #484;\n }\n .btn-outline-green.selected .Counter, .btn-outline-green:active .Counter,\n .btn-outline-green:hover .Counter, [open] > .btn-outline-green .Counter {\n color: #484;\n background-color: #181818;\n }\n .btn-outline-green:focus {\n border-color: #484;\n }\n .btn-outline-green.disabled, .btn-outline-green:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .btn-transparent {\n color: #fff;\n background-color: transparent;\n background-image: none;\n border-color: hsla(0, 0%, 0%, .5);\n }\n .btn-transparent:active, .btn-transparent:hover {\n color: #c6c6c6;\n background-color: #181818;\n background-image: none;\n border-color: var(--ghd-bg-color);\n }\n .jumbotron-shadow::after {\n background-color: transparent;\n }\n .jumbotron-photo {\n background-color: #181818;\n }\n .data-table {\n border-color: #343434;\n box-shadow: 0 1px 1px rgba(220, 220, 220, .05);\n }\n .data-table td, .data-table th {\n border-right-color: #343434;\n border-bottom-color: #343434;\n }\n .data-table tbody td, .data-table tbody th,\n .data-table tbody tr:last-child td, .data-table tbody tr:last-child th {\n border-bottom-color: #343434;\n }\n .border-white-fade {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n .footer {\n background-color: #222;\n }\n #token {\n color: #fff;\n }\n .token-did-copy {\n background-color: #181818;\n }\n /* end vscode-auth.github.com rules */\n .footer {\n background: #202020;\n }\n #token {\n background: #182030;\n border-color: #343434;\n }\n .token-did-copy {\n background: #181818;\n }\n .failed {\n border-color: #343434;\n }\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), regexp(\"^https?://www\\.zuora\\.com.*github\\.com.*\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\"), domain(\"stylishthemes.github.io\") {\n :root:root {\n /* github dark vars */\n --ghd-bg-custom: /*[[bg-custom]]*/;\n --ghd-bg-img: /*[[bg-choice]]*/;\n --ghd-bg-color: /*[[bg-color]]*/;\n --ghd-code-background: #141414;\n --ghd-main-background: #181818;\n --ghd-border-color: #343434;\n --ghd-code-color: #ccc;\n --ghd-body-color: #ccc;\n /* github vars */\n --color-accent-emphasis: /*[[base-color]]*/;\n --color-accent-fg: /*[[base-color]]*/;\n --color-accent-muted: rgba(/*[[base-color-rgb]]*/, .3);\n --color-accent-subtle: #182030;\n --color-alert-error-bg: #341414;\n --color-alert-info-bg: #182030;\n --color-alert-info-border: #246;\n --color-alert-info-icon: #9daccc;\n --color-alert-info-text: #9daccc;\n --color-alert-warn-bg: #241c10;\n --color-alert-warn-icon: #f5b987;\n --color-alert-warn-text: #f5b987;\n --color-ansi-black-bright: #282828;\n --color-ansi-black: #181818;\n --color-ansi-blue-bright: #c8e1ff;\n --color-ansi-blue: #79b8ff;\n --color-ansi-cyan-bright: #b3f0ff;\n --color-ansi-cyan: #76e3ea;\n --color-ansi-gray: #959da5;\n --color-ansi-green-bright: #bef5cb;\n --color-ansi-green: #85e89d;\n --color-ansi-magenta-bright: #d1bcf9;\n --color-ansi-magenta: #b392f0;\n --color-ansi-red-bright: #fdaeb7;\n --color-ansi-red: #f97583;\n --color-ansi-white-bright: #e1e4e8;\n --color-ansi-white: #e1e4e8;\n --color-ansi-yellow-bright: #fff5b1;\n --color-ansi-yellow: #ffea7f;\n --color-attention-emphasis: #cb4;\n --color-auto-blue-2: rgba(/*[[base-color-rgb]]*/, .25);\n --color-auto-blue-3: rgba(/*[[base-color-rgb]]*/, .5);\n --color-auto-blue-4: /*[[base-color]]*/;\n --color-auto-blue-5: /*[[base-color]]*/;\n --color-auto-blue-9: #9daccc;\n --color-auto-gray-1: #212121;\n --color-auto-gray-2: #282828;\n --color-auto-gray-3: #343434;\n --color-auto-gray-4: #606060;\n --color-auto-gray-5: #767676;\n --color-auto-gray-6: #9b9b9b;\n --color-auto-gray-7: #afafaf;\n --color-auto-purple-2: #8348af;\n --color-auto-purple-3: #8348af;\n --color-auto-purple-4: #8348af;\n --color-auto-white: #181818;\n --color-autocomplete-bg: #181818;\n --color-autocomplete-border: #343434;\n --color-autocomplete-row-border: #181818;\n --color-avatar-bg: none;\n --color-avatar-border: none;\n --color-bg-canvas-default: var(--ghd-bg-color);\n --color-bg-canvas-inset: #181818;\n --color-bg-canvas-inverse: #c6c6c6;\n --color-bg-canvas-mobile: var(--ghd-bg-color);\n --color-bg-canvas: var(--ghd-bg-color);\n --color-bg-discussions-row-emoji-box: #343434;\n --color-bg-info-inverse: /*[[base-color]]*/;\n --color-bg-info: #182030;\n --color-bg-overlay: var(--color-canvas-overlay);\n --color-bg-primary: #181818;\n --color-bg-secondary: #222;\n --color-bg-tertiary: #282828;\n --color-blankslate-icon: #afafaf;\n --color-border-default: #343434;\n --color-border-info: /*[[base-color]]*/;\n --color-border-inverse: #343434;\n --color-border-muted: #343434;\n --color-border-overlay: #343434;\n --color-border-primary: #343434;\n --color-border-secondary: #343434;\n --color-border-subtle: #ffffff10;\n --color-border-tertiary: #484848;\n --color-box-bg-info: #182030;\n --color-box-blue-border: #246;\n --color-box-border-info: #246;\n --color-box-header-blue-bg: #182030;\n --color-box-header-blue-border: #246;\n --color-branch-name-link-bg: #182030;\n --color-btn-active-bg: #343434;\n --color-btn-active-border: #606060;\n --color-btn-bg-hover: #222;\n --color-btn-bg: #181818;\n --color-btn-border: #343434;\n --color-btn-counter-bg: transparent;\n --color-btn-danger-hover-text: #fff;\n --color-btn-danger-selected-text: #fff;\n --color-btn-danger-shadow: none;\n --color-btn-focus-border: #484848;\n --color-btn-focus-shadow: none;\n --color-btn-hover-bg: #242424;\n --color-btn-hover-border: #484848;\n --color-btn-inverse-on-hover-shadow-inset: none;\n --color-btn-outline-disabled-bg: #242424;\n --color-btn-outline-focus-border: /*[[base-color]]*/;\n --color-btn-outline-focus-shadow: none;\n --color-btn-outline-hover-bg: #222;\n --color-btn-outline-hover-border: /*[[base-color]]*/;\n --color-btn-outline-hover-inset-shadow: none;\n --color-btn-outline-hover-shadow: none;\n --color-btn-outline-hover-text: /*[[base-color]]*/;\n --color-btn-outline-selected-bg: /*[[base-color]]*/;\n --color-btn-outline-selected-border: /*[[base-color]]*/;\n --color-btn-outline-selected-text: #fff;\n --color-btn-outline-shadow-focus: none;\n --color-btn-outline-shadow: none;\n --color-btn-outline-text: /*[[base-color]]*/;\n --color-btn-primary-disabled-shadow: none;\n --color-btn-primary-shadow-highlight: none;\n --color-btn-primary-shadow-selected: none;\n --color-btn-primary-text: #fff;\n --color-btn-selected-bg: #282828;\n --color-btn-shadow-input-focus: none;\n --color-btn-text: #c6c6c6;\n --color-calendar-graph-day-bg: #282828;\n --color-calendar-graph-day-L1-bg: rgba(/*[[base-color-rgb]]*/, .25);\n --color-calendar-graph-day-L2-bg: rgba(/*[[base-color-rgb]]*/, .5);\n --color-calendar-graph-day-L3-bg: rgba(/*[[base-color-rgb]]*/, .75);\n --color-calendar-graph-day-L4-bg: /*[[base-color]]*/;\n --color-calendar-halloween-graph-day-L1-bg: var(--color-calendar-graph-day-L1-bg);\n --color-calendar-halloween-graph-day-L2-bg: var(--color-calendar-graph-day-L2-bg);\n --color-calendar-halloween-graph-day-L3-bg: var(--color-calendar-graph-day-L3-bg);\n --color-calendar-halloween-graph-day-L4-bg: var(--color-calendar-graph-day-L4-bg);\n --color-calendar-winter-graph-day-L1-bg: var(--color-calendar-graph-day-L1-bg);\n --color-calendar-winter-graph-day-L2-bg: var(--color-calendar-graph-day-L2-bg);\n --color-calendar-winter-graph-day-L3-bg: var(--color-calendar-graph-day-L3-bg);\n --color-calendar-winter-graph-day-L4-bg: var(--color-calendar-graph-day-L4-bg);\n --color-canvas-default: #181818;\n --color-canvas-inset: #181818;\n --color-canvas-overlay: #1c1c1c;\n --color-canvas-subtle: #222;\n --color-checks-bg: #181818;\n --color-checks-btn-hover-bg: #343434;\n --color-checks-btn-hover-icon: #afafaf;\n --color-checks-btn-icon: #606060;\n --color-checks-dropdown-bg: #343434;\n --color-checks-dropdown-border: #484848;\n --color-checks-dropdown-btn-hover-bg: #282828;\n --color-checks-dropdown-btn-hover-text: #c6c6c6;\n --color-checks-dropdown-hover-bg: /*[[base-color]]*/;\n --color-checks-dropdown-hover-text: #fff;\n --color-checks-dropdown-text: #afafaf;\n --color-checks-gate-text: #767676;\n --color-checks-header-border: #343434;\n --color-checks-header-icon: #606060;\n --color-checks-header-label-open-text: #afafaf;\n --color-checks-header-label-text: #afafaf;\n --color-checks-input-bg: #282828;\n --color-checks-input-focus-text: #afafaf;\n --color-checks-input-placeholder-text: #565656;\n --color-checks-input-shadow: none;\n --color-checks-input-text: #767676;\n --color-checks-line-dt-fm-text: #222;\n --color-checks-line-hover-bg: #242424;\n --color-checks-line-num-text: #606060;\n --color-checks-line-selected-bg: #242424;\n --color-checks-line-text: #9b9b9b;\n --color-checks-line-timestamp-text: #767676;\n --color-checks-logline-error-num-text: #767676;\n --color-checks-logline-error-text: #767676;\n --color-checks-logline-num-text: #767676;\n --color-checks-logline-text: #606060;\n --color-checks-logline-warning-text: #767676;\n --color-checks-scrollbar-thumb-bg: #484848;\n --color-checks-step-header-open-bg: #282828;\n --color-checks-text-link: /*[[base-color]]*/;\n --color-checks-text-primary: #afafaf;\n --color-checks-text-secondary: #767676;\n --color-counter-bg: #343434;\n --color-counter-primary-bg: #484848;\n --color-counter-primary-text: #bfbfbf;\n --color-counter-secondary-text: #9b9b9b;\n --color-counter-text: #afafaf;\n --color-current-user-tip-bg: #182030;\n --color-current-user-tip-border: #246;\n --color-diff-blob-addition-line-bg: #002800;\n --color-diff-blob-addition-num-bg: #0a320a;\n --color-diff-blob-addition-num-hover-text: #e6e6e6;\n --color-diff-blob-addition-num-text: #939393;\n --color-diff-blob-addition-word-bg: #252;\n --color-diff-blob-comment-button-icon: #fff;\n --color-diff-blob-deletion-line-bg: #380000;\n --color-diff-blob-deletion-num-bg: #420a0a;\n --color-diff-blob-deletion-num-hover-text: #e6e6e6;\n --color-diff-blob-deletion-num-text: #939393;\n --color-diff-blob-deletion-word-bg: #622;\n --color-diff-blob-empty-block-bg: #282828;\n --color-diff-blob-expander-hover-bg: /*[[base-color]]*/;\n --color-diff-blob-expander-hover-icon: #fff;\n --color-diff-blob-expander-icon: #9b9b9b;\n --color-diff-blob-hunk-line-bg: #202020;\n --color-diff-blob-hunk-num-bg: #2b2b2b;\n --color-diff-blob-hunk-text: #9b9b9b;\n --color-diff-blob-num-hover-text: #c6c6c6;\n --color-diff-blob-num-text: #767676;\n --color-diffstat-addition-bg: #6cc644;\n --color-diffstat-addition-border: #6cc644;\n --color-diffstat-deletion-bg: #d82828;\n --color-diffstat-deletion-border: #d82828;\n --color-diffstat-neutral-bg: #484848;\n --color-diffstat-neutral-border: #484848;\n --color-done-fg: #8348af;\n --color-fg-default: var(--ghd-body-color);\n --color-fg-muted: #afafaf;\n --color-fg-on-emphasis: #eee;\n --color-fg-subtle: #606060;\n --color-files-explorer-icon: /*[[base-color]]*/;\n --color-footer-invertocat-octicon: #484848;\n --color-global-nav-icon: none;\n --color-global-nav-logo: none;\n --color-global-nav-text: none;\n --color-header-search-bg: #202020;\n --color-header-search-border: #343434;\n --color-header-text: #c6c6c6;\n --color-hidden-text-expander-bg-hover: #484848;\n --color-hidden-text-expander-bg: #343434;\n --color-icon-directory: /*[[base-color]]*/;\n --color-icon-primary: #c6c6c6;\n --color-icon-secondary: #afafaf;\n --color-icon-tertiary: #767676;\n --color-input-bg: #181818;\n --color-input-border: #343434;\n --color-input-contrast-bg: #181818;\n --color-input-disabled-bg: #343434;\n --color-input-disabled-border: #484848;\n --color-input-shadow-focus: none;\n --color-input-shadow: none;\n --color-label-primary-border: #484848;\n --color-label-primary-text: #afafaf;\n --color-label-secondary-border: #343434;\n --color-label-secondary-text: #9b9b9b;\n --color-markdown-blockquote-border: #343434;\n --color-markdown-code-bg: #222;\n --color-markdown-table-border: #343434;\n --color-menu-bg-active: #242424;\n --color-menu-border-active: #eee;\n --color-menu-heading-text: #767676;\n --color-merge-box-error-icon-bg: #d82828;\n --color-merge-box-error-icon-border: #d82828;\n --color-merge-box-error-icon-text: #fff;\n --color-merge-box-merged-box-border: #8348af;\n --color-merge-box-merged-icon-bg: #8348af;\n --color-merge-box-merged-icon-border: #8348af;\n --color-merge-box-merged-icon-text: #fff;\n --color-merge-box-neutral-icon-border: transparent;\n --color-merge-box-neutral-icon-text: #fff;\n --color-merge-box-neutral-indicator-bg: #484848;\n --color-merge-box-success-icon-bg: #484;\n --color-merge-box-success-icon-border: #484;\n --color-merge-box-success-icon-text: #fff;\n --color-merge-box-success-indicator-bg: #484;\n --color-merge-box-success-indicator-border: #585;\n --color-merge-box-warning-icon-text: #fff;\n --color-mktg-btn-text: #fff;\n --color-neutral-emphasis-plus: #9b9b9b;\n --color-neutral-emphasis: #606060;\n --color-neutral-muted: #2c2c2c;\n --color-neutral-subtle: #242424;\n --color-notifications-row-bg: #181818;\n --color-page-header-bg: rgba(20, 20, 20, .4);\n --color-pr-state-closed-bg: #d82828;\n --color-pr-state-closed-border: transparent;\n --color-pr-state-closed-text: #fff;\n --color-pr-state-draft-bg: #484848;\n --color-pr-state-draft-border: transparent;\n --color-pr-state-draft-text: #fff;\n --color-pr-state-merged-bg: #8348af;\n --color-pr-state-merged-border: transparent;\n --color-pr-state-merged-text: #fff;\n --color-pr-state-open-bg: #484;\n --color-pr-state-open-border: transparent;\n --color-pr-state-open-text: #fff;\n --color-primer-border-active: #eee;\n --color-primer-shadow-focus: 0 0 0 2.25px rgba(/*[[base-color-rgb]]*/, .3);\n --color-project-card-bg: #202020;\n --color-project-sidebar-bg: #202020;\n --color-scale-gray-0: #c6c6c6;\n --color-scale-gray-1: #afafaf;\n --color-scale-gray-2: #9b9b9b;\n --color-scale-gray-3: #767676;\n --color-scale-gray-4: #606060;\n --color-scale-gray-5: #545454;\n --color-scale-gray-6: #424242;\n --color-scale-gray-7: #343434;\n --color-scale-gray-8: #2d2d2d;\n --color-scale-gray-9: #202020;\n --color-scale-purple-0: #9378ba;\n --color-scale-purple-1: #9378ba;\n --color-scale-purple-2: #8348af;\n --color-scale-purple-3: #8348af;\n --color-scale-purple-4: #8348af;\n --color-scale-purple-5: #8348af;\n --color-scale-purple-6: #8348af;\n --color-scale-purple-7: #53387a;\n --color-scale-purple-8: #53387a;\n --color-scale-purple-9: #213;\n --color-scale-white: #eee;\n --color-search-hover-hl: #242424;\n --color-select-menu-backdrop-border: #343434;\n --color-select-menu-border-secondary: #343434;\n --color-select-menu-shadow: none;\n --color-shadow-highlight: none;\n --color-shadow-inset: none;\n --color-shadow-large: none;\n --color-shadow-medium: none;\n --color-shadow-small: none;\n --color-sidenav-border-active: #eee;\n --color-sidenav-selected-bg: #282828;\n --color-social-count-bg: #181818;\n --color-social-reaction-bg-hover: #343434;\n --color-state-focus-border: /*[[base-color]]*/;\n --color-state-focus-shadow: 0 0 0 2.25px rgba(/*[[base-color-rgb]]*/, .3);\n --color-state-hover-primary-bg: /*[[base-color]]*/;\n --color-state-hover-primary-icon: #fff;\n --color-state-hover-primary-text: #fff;\n --color-state-hover-secondary-bg: #242424;\n --color-state-selected-primary-bg: /*[[base-color]]*/;\n --color-state-selected-primary-icon: #fff;\n --color-state-selected-primary-text: #fff;\n --color-success-fg: #6cc644;\n --color-text-danger: #f84848;\n --color-text-disabled: #707070;\n --color-text-inverse: #000;\n --color-text-link: /*[[base-color]]*/;\n --color-text-primary: #c6c6c6;\n --color-text-secondary: #afafaf;\n --color-text-success: #6cc644;\n --color-text-tertiary: #9b9b9b;\n --color-text-white: #fff;\n --color-timeline-badge-bg: #383838;\n --color-timeline-text: #c6c6c6;\n --color-tooltip-bg: #282828;\n --color-tooltip-text: #c6c6c6;\n --color-underlinenav-border-active: #eee;\n --color-underlinenav-counter-bg: #343434;\n --color-underlinenav-counter-text: #c6c6c6;\n --color-underlinenav-icon-active: #c6c6c6;\n --color-underlinenav-icon: #767676;\n --color-underlinenav-text-active: #c6c6c6;\n --color-underlinenav-text-hover: #c6c6c6;\n --color-underlinenav-text: #9b9b9b;\n --color-upload-enabled-border: #343434;\n --color-verified-badge-bg: #181818;\n --color-verified-badge-border: #343434;\n --color-verified-badge-text: #6cc644;\n --color-workflow-card-bg: #303030;\n }\n}\n", 115 + "sourceCode": "/* ==UserStyle==\n@name GitHub Dark\n@namespace StylishThemes\n@version 6.0.261\n@homepageURL https://github.com/StylishThemes/GitHub-Dark\n@updateURL https://stylishthemes.github.io/GitHub-Dark/github-dark.user.css\n@license BSD-2-Clause\n@author StylishThemes\n@advanced color base-color \"Base color\" #4f8cc9\n@advanced color bg-color \"Background Color\" #202020\n@advanced dropdown bg-choice \"Background\" {\n crosshatch \"Cross-Hatch\" <<<EOT\n url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAAAAABURb1YAAAFoUlEQVR4AWXWCY7kMJcDYd9DiCD4jLr/EWezJOT8vbMXy8ZngpVPlLUWbWABJFVRZyqqdqIq9O9V1gJS14KFfYzASvgS1UTF1jSqE9qgNjYVoNxLfIhCBFKhOTdPNR11KpmKk4W2LhowESMPKHHBItCg2tqoGm0VbWnXAmxIAFALPIAtCxY4VVX7jqrSGRVlJnwqfRsAIG+BZ0EmHy7Jm3NMo6KzdWXGc8ycY2zyHdOrW3hHhcQ0+uvcYlz3LQgQVyrPp2t+dUncjzHVTNFNuvhwK2Jgkfh856/INm05pjEVtWEKC6IfrmmtfPnpYZkRVTPjFztVUDsDLLCvR2WmX6RPXV/KRBQ7E0GZN5w+5+rKd2J7Ev1sFtVGlYY2oq2tgtN1SakCTkwiaxkebLZuJtjCd/OvyY1OQXXrGnAKfE67xbGq/NzemNviTWC2LjHjl6ruFucdUTTT4/wO7tQtkPd0LtO1ncs+ZrVvUXXeHue3Xt1zTD1vJlkbt8rigWhH3EUJ6HT31JYE1lp15XY1BSDaFh4asRNt0U5gqraB+UyFZJNagXh/qTxV1TY90VSVSLMX0W7dGA/4SfEZj+R7l6Hs9O6Orx5ne51Tj3Oev5E9MFWReefovrI73lzdnTziy8mTRjU1jZ99GtT52We2bmVfvqvKovqYqZ6N2GlGbRZYWM3CRKzX2bVQoMqjnbSopmlBTe3vMix227dzvqRJVR9+dT0LfJZhTyzbeaffIg6qz+muKJ2KoJ249yD3ku5kI/sJm31Mj41TrIoNVlgrolc33nTK06qPrdpRW6UTnZwnj6BuXdy6EMCqtPqcPUhS9OoC6mnYr+7p7tY10zyfLv7ovrMxfLs2y9trusGZMyW+80zU7z9Wz5D//8YusxMkP845i/Qk21Sru3W3u+aI5OtbWK3bpVVtk8c0OnuLpYVlXWQrYgFui0nAouTMy6OZtKKk5+EN9+GPs6e7aOpuewv6eL++gfnrIbiNdX7+bu0+j4rCvKo+aKdVxenV7dGtO3F1aRrP00R9sN26TNa+JsLpKYmLtZ1ZWJxGSc1UfDy7q/1Ms9ZdbuICFXJ1I5puXRt8WlXTpAsWhrrb4v7K7e3N7a5pZ4f0ed3mfy8L1iLzr3PmpDllv0nnfaaeZcj185/d/U3qj662fWwFpnsSqYvb3eN1+ky0Vclom50eTncXxA9x2cDu/F6GZcSAGrWqCe698be7qTv529jjXEVtT9GSGbktZp3G7nScj+4CTnflfXN1VXzU1uyLG88KnBSPblVBnUZFm91inYBsXW/zbG4SltE0YKtp1I5po4/tbWxYZ83PFldYiWcZCpkvaUc11Weu7iYwhltZfu3VnlGhnRHUmT6zABb+mv4u8Np/p1xTVd9XYG9x3RNybm39cWYnGkXTO9kn0fG5y7BWXKexp7v085JOxI62OyWN0pEHE/yEEgx7LSyf7rJbklTVakak3e18wHicTVlrRzeV9WzjiGrP7NqZAmt/Lv5nd518uitvVNH56W5Qwfd1AQ+YxP/UjXqfJgpm2tyhUpE0suBZFqzHNFm7uzl/l7sHnajtdf68Fs/ZWMm4gHpb/OliqjfRUf2bmBGYLJ66u5vJrpqRf5cORdupKvl7D2n06VdiMl3/sbvrdBfnL6ri+yX07933pfP801huIiaoOLm6J82c2xkfb2NPAs1Zhmva6XWuOm/W1P0+Hmz4XRnXTWpGs/cgN2nvZwsiPEBSd3Ud2XFjJNPtPCd1Zlys2zmef3Z3rU8tomK3rs5N73v3+ZXd4uY6E2GB9SzD7MbaprkJYN1rn1/dSCJrWc1U6GjbLZIp2nFZf67g4e6ucbH40Y1WwebsbrbuUjCfxGdzG/uldlA1naJI5p3j/FaARdxvZtKHfz49dIKizl9hL3Cvruf/3Sum/w07RUTLccAlwgAAAABJRU5ErkJggg==) EOT;\n uniform \"Uniform Tile\" <<<EOT\n url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAQMAAABKLAcXAAAABlBMVEUfHx8aGhrh02scAAAAH0lEQVR4AWMQRAICeHn/kcAH8vSN6hvVN6pvVN+oPgAPQ4LItqOMdQAAAABJRU5ErkJggg==) EOT;\n random \"Random Tile\" <<<EOT\n url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkAgMAAAANjH3HAAAACVBMVEUaGhohISElJSUh9lebAAABwElEQVR4AY3Vua3gOBgGQQXZhgKYgwHJYAA0Ksu9CAh6hxbTbvFzfx6rNEGlHY6z5KvMw4s43mN2Z5fqYLzKyrfyXhXKnKBdD9n58UWW3Vlb3mOCmWoHHZbdV5lv8t7Ver6ldsfqumVAdbblxxcZVcd7QWq2Y6VsadS4ZTzFDbFa5XivqlxVUFG1Jd6k66u8x0RIOw0cXAiNW2z58bJ5r1LTQtVVuy1x2jK+yLTlxy3v5RogszEXSB0ZF4iYWLbMMUBGPDbvpRQUVUV9kvGU6ynrIe9FOqssJcQ4oqurCjV6ytmqco4SwvGeNCoJaphwSHoK13cyuuU9ZaQI0lB1qB8zT3GL2XjKueU9pR+gH0OlqvGUzHWLQ81O0Dg95L3Uj9qxKx0pr3LdYrnlvQKlUEnV/8v4Xt6bThZROwaO5QfTUyY4GCBWu8Wf/nO4ULtj/li3mE9Z47zlx/WU94Iq7RD5XuZ6ynjIGn9yr1VhFaq2NH9s4bP4Rt5j2NFO5MBXGVsmsD5v3gslYORsd8R1i1rrIUoLKLXlvVhgKH7ApToyhk21TJhbLDvdN151vEetJtKdOtYo4SmnOvhGpjpe+xuj3X723ghdygAAAABJRU5ErkJggg==) EOT;\n custom \"Custom\" <<<EOT\n var(--ghd-bg-custom) EOT;\n none \"None\" <<<EOT\n none EOT;\n}\n@advanced text bg-custom \"Custom Background\" url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAAAAABURb1YAAAFnklEQVR4AWWXCY4cwXbE6h4JMhCvMPc/ov+3Ox9QsLCGpKlFHILd+UQ559AGDkBSFXWmomonqkL/XuUcIPUcONjHCJyE36KaqNiaRnVCG9TGpgIU9hIfohCBVGj24ammo04lU3Fy0NZDAyZi5AElHjgEGlRbG1WjraIt7TmADQkAaoEHsOXAAaeqat9RVTqjosyEH5W+DQCQt8BzIJMfXJI3e5tGRefSlRn3NrO3scnvNl26FN5RITGNfjm3GM/+FhQgnlQeImC+dEm8rzHVTNGL9EADVsTAIfGJBziRy7RlmcZU1IYpHIj+4JrWym8/XSwzompmFNVOFdTOAAfs61KZ6eXcp57fykQUOxNBmTesz2HpCnCg3UV/bA7VRpWGNqKtrYLTs0ilCjgxiZxjeLC5dDPBFn4Pn2ja6BRUL10DTgET4Focq8rn8casxV4E5tIlZvytqtfivCOKZrqc38G7egnkXecyPZdzubc57VtUnbfL+a0u3b1N3d9Mci7cKocHoh3xihLQ6fXUlgTOOfVkXSUFINoWHhqxE23RTmCqtoEJaITkIrUCkU9fnqpqm+40VSXS3CLaSzfGBb4rPuOSfN0ylLve6/jpcrbL2dTlnOdv5AamKjLvLN1XruMNS/cul/hx8twKpKYRaE2DOp8+c+lW7uVXVQ7Vx0x1G3HXjNocsHCac7NbWc6egwJVHu2kRTVNC2pqv2U4XNsv5/yWJlV9+NJ1C7xluInlcr7rK+Kg+qy7onQqgnbi7UHcS3qXjdw3bO5tumycYlVssMI5EXXpRnatPK362KodtVU60cm+eQT10sVLFwJYlVaf7UGSoi5dQF3DvnTX3UvXTPO8quKH7jsXhm/PxfKWZXqBM5sS33kmKtC31Q05fI095i5IPpyzRXqSy1Sr17p1F7NE8vMtnNbLpVVtk8c0OrfF0sKxHnIpYgHW4puMomTz8mgmrSjpvrxhX97l7LqLpl7bW9BH9/MNzF8XwRqL8/m7c30eFYV5VX3QTquK06XbLt16F4ks+8Z9m6gPtpcuk3OvibCekng4lzMHi9MoqZmKj9tdbQCbc7bcEA+oEJduRNNL1waf1tuI9MDBUK8t3k9uFz3rrqadO9Ln9TL/ezlwDvky3TW7ZmXfpc77TN0yhOXnP939LvVDV9s+tgLTm0TqYd1lea3PRFuVjLa562HdPbCfascGrvO3DMeIATVqVRO8vfHrbupdfo1dzlXUdkVLZsS1mLPG3rWcl+4B1l1537h0VXzU1tyLG7cCu+LSrSqo06hocy3WCcil65qHDbuEYzQN2HpT3jFt9LEFvHTP1nxbXOEkbhkKmd+6BTfVZ/I143z/Fyz6Za92o0I7I6gzfeYAHPwy/Rb43L9TLtMt8CtwW1xvQvbR1g9n7qJRNN1kdxcdH7cM58Szxq679MdLOhE72t6VNEpHHkzwRyjBcGth+dE99pIkVbWaEWmvnQ8Yl7Mp59zpRWXdNo6odrO754Zzvxf/010nP7onb1TR+bgbVPB9PcADJvH/043Kvk0UzLRxQ6UiaeTAcyxYl2lyrrvZv8v2wE7U1uVcST0821jJeIDKWuyxiqnuko7q3+zJYXJ46nV3D67EyL+lQ9F2qkr+3kUafQpwYE8T329p6y7OX1TF97fQv/c+l87zj7Hsgpig4qRLd9fMPs74rLGyCzRbhmVqpy7nqvPmTD1gvKe7b2U8u1QzmtuDuEtbgT3c8QBJveo6cueFkUwv59nVmfFw1jl4/unuOT9qERV76ers8n23z/c8/Xy7a4lwwLplmGusbRp33Up13+ZDN3KPxNVMhY62vUQyRTse6+cKHtZYjIfDh260Cjbb3Vy6R8H8SMBzqSwrsB1UTacoknlnOb8V4JD9Njfpwz/fHjpBUeevcAtcl65sqXPX9D87RUTLc/dfOgAAAABJRU5ErkJggg==)\n@advanced dropdown bg-options \"Background image type\" {\n Tiled \"Tiled\" <<<EOT\n background-repeat: repeat !important;\n background-size: auto !important;\n background-position: left top !important; EOT;\n Fit window size \"Fit window size\" <<<EOT\n background-repeat: no-repeat !important;\n background-size: cover !important;\n background-position: center top !important; EOT;\n}\n@advanced dropdown bg-attachment \"Background image attachment\" {\n Scroll \"Scroll\" <<<EOT\n scroll EOT;\n Fixed \"Fixed\" <<<EOT\n fixed EOT;\n}\n@advanced dropdown syntax-theme \"Github syntax theme\" {\n Twilight \"Twilight\" <<<EOT\n /*! GitHub: Twilight *\\/:root{--ghd-code-background:#141414;--ghd-code-color:#ccc}.pl-c,.pl-c span{color:#5f5a60!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#cf6a4c!important}.pl-cos{color:#8f9d6a!important}.pl-e,.pl-ef,.pl-en{color:#ac885b!important}.pl-enc{color:#cf6a4c!important}.pl-enf,.pl-enm{color:#ac885b!important}.pl-ens{color:#cf6a4c!important}.pl-ent{color:#cda869!important}.pl-entc,.pl-enti{color:#ac885b!important}.pl-entm{color:#7587a6!important}.pl-eoa{color:#cda869!important}.pl-eoac,.pl-eoac .pl-pde{color:#7587a6!important}.pl-eoai,.pl-eoai .pl-pde{color:#cda869!important}.pl-eoi{color:#ac885b!important}.pl-k{color:#cf6a4c!important}.pl-ko,.pl-kolp{color:#cda869!important}.pl-kos,.pl-kou{color:#cf6a4c!important}.pl-mai .pl-sf{color:#7587a6!important}.pl-mb{color:#8f9d6a!important}.pl-mc{color:#cda869!important}.pl-mh,.pl-mh .pl-pdh{color:#cf6a4c!important}.pl-mi{color:#cda869!important}.pl-ml{color:#8f9d6a!important}.pl-mm{color:#7587a6!important}.pl-mp{color:#c5af75!important}.pl-mp1 .pl-sf{color:#dad085!important}.pl-mq{color:#cf6a4c!important}.pl-mr,.pl-ms{color:#cda869!important}.pl-pdb{color:#8f9d6a!important}.pl-pdc{color:#5f5a60!important}.pl-pdc1,.pl-pde{color:#cf6a4c!important}.pl-pdi{color:#cda869!important}.pl-pds{color:#8f9d6a!important}.pl-pdv{color:#7587a6!important}.pl-pse,.pl-pse .pl-s2{color:#cf6a4c!important}.pl-s{color:#f9ee98!important}.pl-s1,.pl-s2{color:#ccc!important}.pl-mp .pl-s3{color:#cda869!important}.pl-s3,.pl-sc{color:#dad085!important}.pl-scp{color:#cf6a4c!important}.pl-sf{color:#dad085!important}.pl-smc{color:#ac885b!important}.pl-smi,.pl-smp{color:#ccc!important}.pl-sok{color:#cda869!important}.pl-sol{color:#8f9d6a!important}.pl-som,.pl-sr{color:#7587a6!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#cda869!important}.pl-stj{color:#7587a6!important}.pl-stp,.pl-sv,.pl-v{color:#9b859d!important}.pl-vi{color:#cf6a4c!important}.pl-vo{color:#ac885b!important}.pl-vpf{color:#7587a6!important}.pl-mdht,.pl-mi1{background:#020!important;color:#55a532!important}.pl-md,.pl-mdhf{background:#200!important;color:#bd2c00!important}.pl-mdr{color:#cf6a4c!important}.pl-mdh,.pl-mdi{color:#7587a6!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#df5000!important;color:#fff!important}.pl-mo{color:#969896!important}.pl-mri{color:teal!important}.pl-ms1{background-color:#f5f5f5!important}.pl-va,.pl-vpu{color:teal!important}.pl-entl{color:#ccc!important}.highlight .pl-corl span.x,.pl-corl{color:#f9ee98!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#ac885b!important;color:#ccc!important} EOT;\n Ambiance \"Ambiance\" <<<EOT\n /*! GitHub: Ambiance *\\/:root{--ghd-code-background:#202020;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#555!important;font-style:italic!important}.pl-c1{color:#cf7ea9!important}.pl-e,.pl-en,.pl-ent{color:#aac6e3!important}.pl-k{color:#fa8d6a!important}.pl-mb{color:#cf7ea9!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#cda869!important}.pl-mh,.pl-mh .pl-en{color:#9b859d!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#cda869!important}.pl-mq{color:#555!important}.pl-mr,.pl-ms{color:#cda869!important}.pl-pds{color:#8f9d6a!important}.pl-s{color:#aac6e3!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#8f9d6a!important}.pl-s1 .pl-s2{color:#99c!important}.pl-s1 .pl-v,.pl-s3{color:#cda869!important}.pl-sc{color:#9b859d!important}.pl-smi,.pl-smp{color:#99c!important}.pl-sr .pl-cce{color:#9b859d!important}.pl-sr,.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#dad085!important}.pl-st{color:#aac6e3!important}.pl-stj{color:#99c!important}.pl-sv{color:#cf7ea9!important}.pl-v{color:#aac6e3!important}.pl-vo,.pl-vpf{color:#99c!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#f8f8f8!important}.pl-bu,.pl-ii,.pl-md,.pl-mdhf{background:rgba(86,45,86,.75)!important;color:#f8f8f8!important}.highlight .pl-corl span.x,.pl-corl{color:#aac6e3!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#fa8d6a!important;color:#e6e1dc!important} EOT;\n Ayu Mirage \"Ayu Mirage\" <<<EOT\n /*! GitHub: Ayu Mirage *\\/:root{--ghd-code-background:#1f2430;--ghd-code-color:#cbccc6}.pl-c,.pl-c span{color:#5c6773!important;font-style:italic!important}.pl-c1{color:#ffa759!important}.pl-cce{color:#95e6cb!important}.pl-cn{color:#fc6!important}.pl-coc,.pl-cos{color:#bae67e!important}.pl-e,.pl-ef,.pl-en{color:#ffd580!important}.pl-enc{color:#5ccfe6!important}.pl-enf,.pl-enm{color:#ffd580!important}.pl-ens{color:#cbccc6!important}.pl-ent,.pl-entc,.pl-enti{color:#5ccfe6!important}.pl-enti{font-weight:700!important}.pl-entm{color:#bae67e!important}.pl-eoa{color:#ffd580!important}.pl-eoac{color:#5ccfe6!important}.pl-eoac .pl-pde{color:#5ccfe680!important}.pl-eoai{color:#ffd580!important}.pl-eoai .pl-pde{color:#cbccc6!important}.pl-eoi{color:#5ccfe6!important}.pl-k{color:#ffa759!important}.pl-ko{color:#f29e74!important}.pl-kolp{color:#cbccc6b3!important}.pl-kos{color:#cbccc6!important}.pl-kou{color:#95e6cb!important}.pl-mai .pl-sf,.pl-mb{color:#f28779!important}.pl-mb{font-weight:700!important}.pl-mc{color:#77a8d9!important}.pl-mh .pl-pdh{color:#bae67e!important}.pl-mi{color:#f28779!important;font-style:italic!important}.pl-ml{color:#ffd580!important}.pl-mm{color:#ffe6b3!important}.pl-mp{color:#5ccfe6!important}.pl-mp1 .pl-sf{color:#f28779!important}.pl-mq{color:#95e6cb!important}.pl-mr{color:#ffd580!important}.pl-ms{color:#f29e74!important}.pl-pdb{color:#bae67e!important;font-weight:700!important}.pl-pdc{color:#5c6773!important;font-style:italic!important}.pl-pdc1{color:#bae67e!important}.pl-pde{color:#5ccfe680!important}.pl-pdi{color:#f28779!important;font-style:italic!important}.pl-pds{color:#bae67e!important}.pl-pdv,.pl-pse,.pl-pse .pl-s2{color:#cbccc6!important}.pl-s{color:#bae67e!important}.pl-s1{color:#cbccc6!important}.pl-s2{color:#73d0ff!important}.pl-mp .pl-s3,.pl-s3{color:#f28779!important}.pl-sc{color:#5ccfe6!important}.pl-scp{color:#bae67e!important}.pl-sf{color:#ffa759!important}.pl-smc{color:#73d0ff!important}.pl-smi{color:#5ccfe6!important}.pl-smp{color:#bae67e!important}.pl-sok{color:#ffa759!important}.pl-sol{color:#5ccfe6!important}.pl-som{color:#bae67e!important}.pl-sr,.pl-sra,.pl-src,.pl-sre{color:#95e6cb!important}.pl-st,.pl-stj{color:#73d0ff!important}.pl-stp{color:#5ccfe6!important}.pl-sv,.pl-v,.pl-vi{color:#cbccc6!important}.pl-vo{color:#5ccfe6!important}.pl-vpf{color:#d4bfff!important}.pl-mi1{color:#a6cc70!important}.pl-mdht,.pl-mi1{background:#bae67e26!important}.pl-mdht{color:#c594c5!important}.pl-md{color:#f27983!important}.pl-md,.pl-mdhf{background:#f29e7426!important}.pl-mdhf{color:#c594c5!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c594c5!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{color:#f33!important}.pl-mo{color:#d4bfff!important}.pl-mri{color:#cbccc605!important}.pl-ms1{background-color:#cbccc60f!important;color:#5c6773!important;font-weight:700!important}.pl-va{color:#ffd580!important}.pl-vpu{color:#5ccfe6!important}.pl-entl{color:#707a8c!important}.highlight .pl-corl span.x,.pl-corl{color:#5ccfe6!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#232834!important;color:#fc6!important} EOT;\n Chaos \"Chaos\" <<<EOT\n /*! GitHub: Chaos *\\/:root{--ghd-code-background:#161616;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#555!important;font-style:italic!important}.pl-c1{color:#fdc251!important}.pl-e,.pl-en,.pl-ent{color:#974!important}.pl-k{color:#00698f!important}.pl-mb{color:#1edafb!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#00698f!important}.pl-mh,.pl-mh .pl-en{color:#fdc251!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#00698f!important}.pl-mq{color:#555!important}.pl-mr,.pl-ms{color:#00698f!important}.pl-pds{color:#58c554!important}.pl-s{color:#974!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#58c554!important}.pl-s1 .pl-s2{color:#1edafb!important}.pl-s1 .pl-v,.pl-s3{color:#00698f!important}.pl-sc{color:#999!important}.pl-smi,.pl-smp{color:#be53e6!important}.pl-sr{color:#ff308f!important}.pl-sr .pl-cce{color:#fdc251!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#ff308f!important}.pl-st{color:#e6e1dc!important}.pl-stj{color:#be53e6!important}.pl-sv{color:#1edafb!important}.pl-v{color:#974!important}.pl-vo{color:#be53e6!important}.pl-vpf{color:#974!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#fff!important}.pl-md,.pl-mdhf{background:#900!important;color:#fff!important}.pl-bu,.pl-ii{background:#900!important;color:#999!important}.highlight .pl-corl span.x,.pl-corl{color:#974!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#974!important;color:#e6e1dc!important} EOT;\n Clouds_Midnight \"Clouds_Midnight\" <<<EOT\n /*! GitHub: Clouds_Midnight *\\/:root{--ghd-code-background:#191919;--ghd-code-color:#929292}.pl-c,.pl-c span{color:#3c403b!important;font-style:italic!important}.pl-c1{color:#39946a!important}.pl-e,.pl-en,.pl-ent{color:#929292!important}.pl-k{color:#927c5d!important}.pl-mb{color:#39946a!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#927c5d!important}.pl-mh,.pl-mh .pl-en{color:#366f1a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#927c5d!important}.pl-mq{color:#3c403b!important}.pl-mr,.pl-ms{color:#927c5d!important}.pl-pds{color:#5d90cd!important}.pl-s{color:#e92e2e!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#5d90cd!important}.pl-s1 .pl-s2{color:#606060!important}.pl-s1 .pl-v,.pl-s3{color:#927c5d!important}.pl-sc{color:#366f1a!important}.pl-smi,.pl-smp{color:#606060!important}.pl-sr{color:#e92e2e!important}.pl-sr .pl-cce{color:#366f1a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-st{color:#e92e2e!important}.pl-stj{color:#606060!important}.pl-sv{color:#39946a!important}.pl-v{color:#5d90cd!important}.pl-vo,.pl-vpf{color:#606060!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#fff!important}.pl-md,.pl-mdhf{background:#e92e2e!important;color:#fff!important}.pl-bu,.pl-ii{background:#e92e2e!important;color:#ddd!important}.highlight .pl-corl span.x,.pl-corl{color:#e92e2e!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#929292!important;color:#191919!important} EOT;\n Cobalt \"Cobalt\" <<<EOT\n /*! GitHub: Cobalt *\\/:root{--ghd-code-background:#002240;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#08f!important;font-style:italic!important}.pl-c1{color:#ff628c!important}.pl-e,.pl-en{color:#ff9d00!important}.pl-ent{color:#fd0!important}.pl-k{color:#eb939a!important}.pl-mb{color:#ff628c!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#ff9d00!important}.pl-mh,.pl-mh .pl-en{color:#eb939a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#ff9d00!important}.pl-mq{color:#08f!important}.pl-mr,.pl-ms{color:#ff9d00!important}.pl-pds,.pl-s,.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#3ad900!important}.pl-s1 .pl-s2{color:#ccc!important}.pl-s1 .pl-v{color:#3ad900!important}.pl-s3,.pl-sc{color:#ffb054!important}.pl-smi,.pl-smp{color:#ccc!important}.pl-sr{color:#80ffc2!important}.pl-sr .pl-cce{color:#eb939a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#80ffc2!important}.pl-st{color:#ff9d00!important}.pl-stj{color:#ccc!important}.pl-sv{color:#ff628c!important}.pl-v{color:#fd0!important}.pl-vo,.pl-vpf{color:#ccc!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#f8f8f8!important}.pl-md,.pl-mdhf{background:#800f00!important;color:#f8f8f8!important}.pl-bu,.pl-ii{background:#800f00!important;color:#ff628c!important}.highlight .pl-corl span.x,.pl-corl{color:#3ad900!important;text-decoration:underline!important}.highlight-source-js .pl-st{color:#ffee80!important}.highlight-source-css .pl-s3{color:#80ffbb!important}.highlight-text-html-basic .pl-ent{color:#9effff!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#002240!important} EOT;\n Dracula \"Dracula\" <<<EOT\n /*! GitHub: Dracula *\\/:root{--ghd-code-background:#282a36;--ghd-code-color:#f8f8f2}.pl-c,.pl-c span{color:#6272a4!important}.pl-c1{color:#bd93f9!important}.pl-cce{color:#ff79c6!important}.pl-cn,.pl-coc{color:#bd93f9!important}.pl-cos{color:#f1fa8c!important}.pl-e,.pl-ef,.pl-en{color:#50fa7b!important}.pl-enc{color:#8be9fd!important}.pl-enf,.pl-enm{color:#50fa7b!important}.pl-ens{color:#8be9fd!important}.pl-ent,.pl-entc{color:#ff79c6!important}.pl-entc{font-style:italic!important}.pl-enti{font-weight:italic!important}.pl-enti,.pl-entm{color:#8be9fd!important}.pl-eoa,.pl-eoac,.pl-eoac .pl-pde,.pl-eoai,.pl-eoai .pl-pde{color:#50fa7b!important}.pl-eoi{color:#8be9fd!important;font-style:italic}.pl-k,.pl-ko,.pl-kolp{color:#ff79c6!important}.pl-kos,.pl-kou,.pl-mai .pl-sf{color:#8be9fd!important}.pl-mb{color:#ffb86c!important;font-weight:700!important}.pl-mc{color:#e6db74!important}.pl-mh .pl-pdh{color:#8be9fd!important}.pl-mi{color:#ffb86c!important;font-style:italic!important}.pl-ml,.pl-mm{color:#ff79c6!important}.pl-mp,.pl-mp1 .pl-sf{color:#8be9fd!important}.pl-mq{color:#6272a4!important;font-style:italic}.pl-mr,.pl-ms{color:#ff79c6!important}.pl-pdb{color:#ffb86c!important;font-weight:700!important}.pl-pdc{color:#6272a4!important;font-style:italic!important}.pl-pdc1{color:#bd93f9!important}.pl-pde{color:#8be9fd!important}.pl-pdi{color:#ffb86c!important;font-style:italic!important}.pl-pds,.pl-pdv{color:#f8f8f2!important}.pl-pse,.pl-pse .pl-s2{color:#ff79c6!important}.pl-s{color:#f1fa8c!important}.pl-s1{color:#f8f8f2!important}.pl-mp .pl-s3,.pl-s3,.pl-sc,.pl-scp{color:#66d9ef!important;font-style:italic!important}.pl-sf{color:#8be9fd!important}.pl-smc{color:#ff79c6!important}.pl-smi{color:#f8f8f2!important}.pl-smp,.pl-sok{color:#ff79c6!important}.pl-sol{color:#effb7b!important}.pl-som{color:#50fa7b!important}.pl-sr,.pl-sra,.pl-src,.pl-sre{color:#f55!important}.pl-st{color:#66d9ef!important}.pl-st,.pl-stj{font-style:italic!important}.pl-stj,.pl-stp,.pl-sv{color:#f8f8f2!important}.pl-v{color:#bd93f9!important}.pl-vi{color:#ff79c6!important}.pl-vo{color:#fff!important}.pl-vpf{color:#ffb86c!important;font-style:italic!important}.pl-mdht,.pl-mi1{background:rgba(80,250,123,.25)!important;color:#50fa7b!important}.pl-md,.pl-mdhf{background:rgba(255,121,198,.25)!important;color:#ff79c6!important}.pl-mdh,.pl-mdi,.pl-mdr{color:#6272a4!important;font-weight:400!important}.pl-bu{background-color:#bd93f9!important;color:#f8f8f2!important}.pl-ii,.pl-ii .pl-cce{background-color:#ff79c6!important;color:#f8f8f2!important}.pl-mo{color:#ffb86c!important}.pl-mri{color:#50fa7b!important}.pl-ms1{color:#6272a4!important}.pl-va,.pl-vpu{color:#66d9ef!important}.pl-entl{color:#ffb86c!important}.highlight .pl-corl span.x,.pl-corl{color:#effb7b!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#50fa7b!important;color:#282a36!important} EOT;\n GitHub Dark \"GitHub Dark\" <<<EOT\n /*! GitHub: GitHub Dark *\\/:root{--ghd-code-background:#141414;--ghd-code-color:#ccc}/*!\n * GitHub Dark v0.5.0\n * Copyright (c) 2012 - 2017 GitHub, Inc.\n * Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE)\n *\\/.pl-c{color:#959da5}.pl-c1,.pl-s .pl-v{color:#c8e1ff}.pl-e,.pl-en{color:#b392f0}.pl-s .pl-s1,.pl-smi{color:#f6f8fa}.pl-ent{color:#7bcc72}.pl-k{color:#ea4a5a}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:#79b8ff}.pl-ml,.pl-v{color:#fb8532}.pl-bu{color:#d73a49}.pl-c2,.pl-ii{background-color:#d73a49;color:#fafbfc}.pl-c2:before{content:\"^M\"}.pl-sr .pl-cce{color:#7bcc72;font-weight:700}.pl-mh,.pl-mh .pl-en,.pl-ms{color:#0366d6;font-weight:700}.pl-mi{color:#f6f8fa;font-style:italic}.pl-mb{color:#f6f8fa;font-weight:700}.pl-md{background-color:#300;color:#d73a49}.pl-mi1{background-color:#121;color:#7bcc72}.pl-mc{background-color:#261d08;color:#b08800}.pl-mi2{background-color:#959da5;color:#2f363d}.pl-mdr{color:#b392f0;font-weight:700}.pl-mo{color:#0366d6}.pl-ba{color:#ffeef0}.pl-sg{color:#6a737d}.pl-corl{color:#79b8ff;text-decoration:underline}.pl-token.active,.pl-token:hover{background:#b392f0;color:#141414} EOT;\n Idle Fingers \"Idle Fingers\" <<<EOT\n /*! GitHub: Idle Fingers *\\/:root{--ghd-code-background:#323232;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#bc9458!important;font-style:italic!important}.pl-c1{color:#6c99bb!important}.pl-cce,.pl-cn,.pl-coc{color:#cc7833!important}.pl-cos{color:#a5c261!important}.pl-e{color:#ffc66d!important}.pl-ef{color:#b83426!important}.pl-en{color:#ffc66d!important}.pl-enc{color:#cc7833!important}.pl-enf,.pl-enm{color:#b83426!important}.pl-ens{color:#cc7833!important}.pl-ent{color:#ffe5bb!important}.pl-entc,.pl-enti{color:#b83426!important}.pl-enti{font-weight:700!important}.pl-entm{color:#b83426!important}.pl-eoa{color:#ffe5bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#b83426!important}.pl-eoai,.pl-eoai .pl-pde{color:#ffe5bb!important}.pl-eoi{color:#b83426!important}.pl-k{color:#cc7833!important}.pl-ko,.pl-kolp{color:#ffe5bb!important}.pl-kos,.pl-kou{color:#cc7833!important}.pl-mai .pl-sf{color:#b83426!important}.pl-mb{color:#a5c261!important;font-weight:700!important}.pl-mc{color:#ffe5bb!important}.pl-mh .pl-pdh{color:#cc7833!important}.pl-mi{color:#ffe5bb!important;font-style:italic!important}.pl-ml{color:#a5c261!important}.pl-mm{color:#b83426!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#cc7833!important}.pl-mr,.pl-ms{color:#ffe5bb!important}.pl-pdb{color:#a5c261!important;font-weight:700!important}.pl-pdc{color:#bc9458!important;font-style:italic!important}.pl-pdc1{color:#6c99bb!important}.pl-pde{color:#cc7833!important}.pl-pdi{color:#ffe5bb!important;font-style:italic!important}.pl-pds{color:#a5c261!important}.pl-pdv{color:#b83426!important}.pl-pse,.pl-pse .pl-s2,.pl-s{color:#cc7833!important}.pl-s1{color:#a5c261!important}.pl-s2{color:#fff!important}.pl-mp .pl-s3{color:#cc7833!important}.pl-s3{color:#ffe5bb!important}.pl-sc{color:#ffc66d!important}.pl-scp{color:#6c99bb!important}.pl-sf{color:#ffc66d!important}.pl-smc{color:#b83426!important}.pl-smi,.pl-smp{color:#ffc66d!important}.pl-sok{color:#ffe5bb!important}.pl-sol{color:#a5c261!important}.pl-som,.pl-sr{color:#b83426!important}.pl-sra,.pl-src,.pl-sre{color:#cc3!important}.pl-st{color:#cc7833!important}.pl-stj{color:#fff!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#cc7833!important}.pl-vo{color:#fff!important}.pl-vpf{color:#cc7833!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#a5c261!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#b83426!important}.pl-mdr{color:#cc7833!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#ffc66d!important;font-weight:400!important}.pl-bu,.pl-ii{background-color:#b83426!important;color:#fff!important}.pl-mo{color:#ffc66d!important}.pl-mri{color:#cc7833!important}.pl-ms1{background-color:#ffc66d!important}.pl-va,.pl-vpu{color:#cc7833!important}.pl-entl{color:#ffc66d!important}.highlight .pl-corl span.x,.pl-corl{color:#cc7833!important;text-decoration:underline!important}.highlight-text-html-basic .pl-ent{color:#cc7833!important}.pl-token.active,.pl-token:hover{background:#ffc66f!important;color:#323232!important} EOT;\n KR theme \"KR theme\" <<<EOT\n /*! GitHub: KR theme *\\/:root{--ghd-code-background:#0b0a09;--ghd-code-color:#fcffe0}.pl-c,.pl-c span{color:#706d5b!important;font-style:italic!important}.pl-c1{color:rgba(210,117,24,.76)!important}.pl-e,.pl-en{color:#fcffe0!important}.pl-ent{color:#babd9c!important}.pl-k{color:#949c8b!important}.pl-mb{color:rgba(210,117,24,.76)!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#949c8b!important}.pl-mh,.pl-mh .pl-en{color:#9fc28a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#949c8b!important}.pl-mq{color:#706d5b!important}.pl-mr,.pl-ms{color:#949c8b!important}.pl-pds{color:rgba(164,161,181,.8)!important}.pl-s{color:#949c8b!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:rgba(164,161,181,.8)!important}.pl-s1 .pl-s2{color:#babd9c!important}.pl-s1 .pl-v{color:#949c8b!important}.pl-s3{color:#85873a!important}.pl-sc{color:#fcffe0!important}.pl-smi,.pl-smp{color:#babd9c!important}.pl-sr{color:rgba(125,255,192,.65)!important}.pl-sr .pl-cce{color:#9fc28a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:rgba(125,255,192,.65)!important}.pl-st{color:#949c8b!important}.pl-stj{color:#babd9c!important}.pl-sv{color:rgba(210,117,24,.76)!important}.pl-v{color:#fcffe0!important}.pl-vo,.pl-vpf{color:#d1a796!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#f8f8f8!important}.pl-md,.pl-mdhf{background:#a41300!important;color:#f8f8f8!important}.pl-bu,.pl-ii{background:#a41300!important;color:#d1a796!important}.highlight .pl-corl span.x,.pl-corl{color:#949c8b!important;text-decoration:underline!important}.highlight-source-js .pl-s3,.highlight-source-js .pl-v{color:#ff80e1!important}.highlight-source-js .pl-st{color:#ffee80!important}.pl-token.active,.pl-token:hover{background:#fcffe0!important;color:#0b0a09!important} EOT;\n Merbivore Soft \"Merbivore Soft\" <<<EOT\n /*! GitHub: Merbivore Soft *\\/:root{--ghd-code-background:#1c1c1c;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#ad2ea4!important;font-style:italic!important}.pl-c1{color:#b3e5b4!important}.pl-e,.pl-en{color:#e1c582!important}.pl-ent{font-style:italic!important}.pl-ent,.pl-k{color:#fc6f09!important}.pl-mb{color:#8ec65f!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#fc6f09!important}.pl-mh,.pl-mh .pl-en{color:#8ec65f!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#fc6f09!important}.pl-mq{color:#ad2ea4!important}.pl-mr,.pl-ms{color:#fc6f09!important}.pl-pds{color:#8ec65f!important}.pl-s{color:#fc6f09!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#8ec65f!important}.pl-s1 .pl-s2,.pl-s1 .pl-v{color:#fc6f09!important}.pl-s3{color:#e6e1dc!important}.pl-sc{color:#68c1d8!important}.pl-smi,.pl-smp,.pl-sr{color:#fc6f09!important}.pl-sr .pl-cce{color:#b3e5b4!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#e1c582!important}.pl-st,.pl-stj{color:#fc6f09!important}.pl-sv{color:#8ec65f!important}.pl-v{color:#fc6f09!important}.pl-vo,.pl-vpf{color:#e6e1dc!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#e6e1dc!important}.pl-md,.pl-mdhf{background:#fe3838!important;color:#e6e1dc!important}.pl-bu,.pl-ii{background:#fe3838!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#fc6f09!important;text-decoration:underline!important}.highlight-source-css .pl-e{color:#e6e1dc!important}.highlight-source-js .pl-c1{color:#e1c582!important}.highlight-source-js .pl-sc{color:#e6e1dc!important}.highlight-text-html-php .pl-s3{color:#fc6f09!important}.highlight-source-css .pl-s3{color:#68c1d8!important}.highlight-source-python .pl-c1{color:#e1c582!important}.pl-token.active,.pl-token:hover{background:#fc6f09!important;color:#e6e1dc!important} EOT;\n Merbivore \"Merbivore\" <<<EOT\n /*! GitHub: Merbivore *\\/:root{--ghd-code-background:#161616;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#ad2ea4!important;font-style:italic!important}.pl-c1{color:#519f50!important}.pl-e,.pl-en{color:#fdc251!important}.pl-ent,.pl-k{color:#fc6f09!important}.pl-mb{color:#8dff0a!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#fc6f09!important}.pl-mh,.pl-mh .pl-en{color:#8dff0a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#fc6f09!important}.pl-mq{color:#ad2ea4!important}.pl-mr,.pl-ms{color:#fc6f09!important}.pl-pds{color:#8dff0a!important}.pl-s{color:#fc6f09!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#8dff0a!important}.pl-s1 .pl-s2,.pl-s1 .pl-v{color:#fc6f09!important}.pl-s3{color:#e6e1dc!important}.pl-sc{color:#1edafb!important}.pl-smi,.pl-smp,.pl-sr{color:#fc6f09!important}.pl-sr .pl-cce{color:#519f50!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#fdc251!important}.pl-st,.pl-stj{color:#fc6f09!important}.pl-sv{color:#8dff0a!important}.pl-v{color:#fc6f09!important}.pl-vo,.pl-vpf{color:#e6e1dc!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#e6e1dc!important}.pl-md,.pl-mdhf{background:#900!important;color:#e6e1dc!important}.pl-bu,.pl-ii{background:#900!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#fc6f09!important;text-decoration:underline!important}.highlight-source-css .pl-e{color:#e6e1dc!important}.highlight-source-js .pl-c1{color:#fdc251!important}.highlight-source-js .pl-sc{color:#e6e1dc!important}.highlight-text-html-php .pl-s3{color:#fc6f09!important}.highlight-source-css .pl-s3{color:#1edafb!important}.highlight-source-python .pl-c1{color:#fdc251!important}.pl-token.active,.pl-token:hover{background:#fc6f09!important;color:#e6e1dc!important} EOT;\n Mono Industrial clear \"Mono Industrial clear\" <<<EOT\n /*! GitHub: Mono Industrial clear *\\/:root{--ghd-code-background:#222c28;--ghd-code-color:#fff}.pl-c,.pl-c span{background-color:#304830!important;color:#666c68!important}.pl-c1{color:#e98800!important}.pl-e,.pl-en{color:#a8b3ab!important}.pl-ent,.pl-k{color:#a39e64!important}.pl-mb{color:#e98800!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#a39e64!important}.pl-mh,.pl-mh .pl-en{color:#5778b6!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#a39e64!important}.pl-mq{color:#666c68!important}.pl-mr,.pl-ms{color:#a39e64!important}.pl-pds{color:#fff!important}.pl-s{color:#c23b00!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#fff!important}.pl-s1 .pl-s2{color:#c23b00!important}.pl-s1 .pl-v{color:#a39e64!important}.pl-s3{color:#5778b6!important}.pl-sc{color:#fff!important}.pl-smi,.pl-smp{color:#c23b00!important}.pl-sr{background-color:#151c19!important;color:#fff!important}.pl-sr .pl-cce{color:#5778b6!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-st,.pl-stj{color:#c23b00!important}.pl-sv{color:#e98800!important}.pl-v{color:#5778b6!important}.pl-vo{color:#a8b3ab!important}.pl-vpf{color:#5778b6!important}.pl-mi1{background:rgba(0,150,0,.68)!important}.pl-mdht,.pl-mi1{color:#fff!important}.pl-mdht{background:rgba(0,153,0,.68)!important}.pl-md,.pl-mdhf{background:rgba(153,0,0,.68)!important;color:#fff!important}.pl-bu,.pl-ii{background:#c23b00!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#c23b00!important;text-decoration:underline!important}.highlight-source-css .pl-ent{color:#e98800!important}.highlight-text-html-php .pl-s,.highlight-text-html-php .pl-st{color:#a39e64!important}.highlight-text-html-php .pl-s3{color:#588e60!important}.highlight-source-python .pl-st{color:#a39e64!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#222c28!important} EOT;\n Mono Industrial \"Mono Industrial\" <<<EOT\n /*! GitHub: Mono Industrial *\\/:root{--ghd-code-background:#222c28;--ghd-code-color:#fff}.pl-c,.pl-c span{background-color:#151c19!important;color:#666c68!important}.pl-c1{color:#e98800!important}.pl-e,.pl-en{color:#a8b3ab!important}.pl-ent,.pl-k{color:#a39e64!important}.pl-mb{color:#e98800!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#a39e64!important}.pl-mh,.pl-mh .pl-en{color:#5778b6!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#a39e64!important}.pl-mq{color:#666c68!important}.pl-mr,.pl-ms{color:#a39e64!important}.pl-pds{color:#fff!important}.pl-s{color:#c23b00!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#fff!important}.pl-s1 .pl-s2{color:#c23b00!important}.pl-s1 .pl-v{color:#a39e64!important}.pl-s3{color:#5778b6!important}.pl-sc{color:#fff!important}.pl-smi,.pl-smp{color:#c23b00!important}.pl-sr{background-color:#151c19!important;color:#fff!important}.pl-sr .pl-cce{color:#5778b6!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-st,.pl-stj{color:#c23b00!important}.pl-sv{color:#e98800!important}.pl-v{color:#5778b6!important}.pl-vo{color:#a8b3ab!important}.pl-vpf{color:#5778b6!important}.pl-mdht,.pl-mi1{background:rgba(0,153,0,.68)!important;color:#fff!important}.pl-md,.pl-mdhf{background:rgba(153,0,0,.68)!important;color:#fff!important}.pl-bu,.pl-ii{background:#c23b00!important;color:#fff!important}.highlight .pl-corl span.x,.pl-corl{color:#c23b00!important;text-decoration:underline!important}.highlight-source-css .pl-ent{color:#e98800!important}.highlight-text-html-php .pl-s,.highlight-text-html-php .pl-st{color:#a39e64!important}.highlight-text-html-php .pl-s3{color:#588e60!important}.highlight-source-python .pl-st{color:#a39e64!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#222c28!important} EOT;\n Monokai - Spacegray Eighties \"Monokai - Spacegray Eighties\" <<<EOT\n /*! GitHub: Monokai - Spacegray Eighties *\\/:root{--ghd-code-background:#1c1c1c;--ghd-code-color:#f8f8f8}.pl-c,.pl-c span{color:grey!important}.pl-c1,.pl-cce{color:#66d9ef!important}.pl-cn,.pl-coc{color:#ae81ff!important}.pl-cos{color:#e6db74!important}.pl-e{color:#f92672!important}.pl-ef{color:#a6e22e!important}.pl-en{color:#f92672!important}.pl-enc{color:#66d9ef!important}.pl-enf,.pl-enm{color:#a6e22e!important}.pl-ens{color:#66d9ef!important}.pl-ent{color:#f92672!important}.pl-entc,.pl-enti{color:#a6e22e!important}.pl-enti{font-weight:700!important}.pl-entm{color:#a6e22e!important}.pl-eoa{color:#f92672!important}.pl-eoac,.pl-eoac .pl-pde{color:#a6e22e!important}.pl-eoai,.pl-eoai .pl-pde{color:#f92672!important}.pl-eoi,.pl-k{color:#a6e22e!important}.pl-ko,.pl-kolp{color:#f92672!important}.pl-kos,.pl-kou{color:#66d9ef!important}.pl-mai .pl-sf{color:#a6e22e!important}.pl-mb{color:#e6db74!important;font-weight:700!important}.pl-mc{color:#f92672!important}.pl-mh .pl-pdh{color:#66d9ef!important}.pl-mi{color:#f92672!important;font-style:italic!important}.pl-ml{color:#e6db74!important}.pl-mm{color:#a6e22e!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#66d9ef!important}.pl-mr,.pl-ms{color:#f92672!important}.pl-pdb{color:#e6db74!important;font-weight:700!important}.pl-pdc{color:#75715e!important;font-style:italic!important}.pl-pdc1{color:#ae81ff!important}.pl-pde{color:#66d9ef!important}.pl-pdi{color:#f92672!important;font-style:italic!important}.pl-pds{color:#f8f8f8!important}.pl-pdv{color:#a6e22e!important}.pl-pse,.pl-pse .pl-s2{color:#66d9ef!important}.pl-s,.pl-s1{color:#e6db74!important}.pl-s2{color:#f8f8f8!important}.pl-mp .pl-s3{color:#66d9ef!important}.pl-s3{color:#f92672!important}.pl-sc{color:#fd971f!important}.pl-scp{color:#ae81ff!important}.pl-sf{color:#fd971f!important}.pl-smc{color:#f92672!important}.pl-smi{color:#fd971f!important}.pl-smp,.pl-sok{color:#f92672!important}.pl-sol{color:#e6db74!important}.pl-som,.pl-sr{color:#a6e22e!important}.pl-sra,.pl-src,.pl-sre{color:#f92672!important}.pl-st{color:#66d9ef!important}.pl-stj{color:#f8f8f8!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#f92672!important}.pl-vo{color:#a6e22e!important}.pl-vpf{color:#f92672!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#a6e22e!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#f92672!important}.pl-mdr{color:#66d9ef!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#a6e22e!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#f92672!important;color:#272822!important}.pl-mo{color:#fd971f!important}.pl-mri{color:#66d9ef!important}.pl-ms1{background-color:#fd971f!important}.pl-va,.pl-vpu{color:#66d9ef!important}.pl-entl{color:#fd971f!important}.highlight .pl-corl span.x,.pl-corl{color:#e6db74!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#a6e22e!important;color:#1c1c1c!important} EOT;\n Monokai \"Monokai\" <<<EOT\n /*! GitHub: Monokai *\\/:root{--ghd-code-background:#272822;--ghd-code-color:#f8f8f2}.pl-c,.pl-c span{color:#75715e!important;font-style:italic!important}.pl-c1{color:#ae81ff!important}.pl-cce,.pl-cn,.pl-coc{color:#66d9ef!important}.pl-cos{color:#e6db74!important}.pl-e,.pl-ef,.pl-en{color:#a6e22e!important}.pl-enc{color:#66d9ef!important}.pl-enf,.pl-enm{color:#a6e22e!important}.pl-ens{color:#66d9ef!important}.pl-ent{color:#f92672!important}.pl-entc,.pl-enti{color:#a6e22e!important}.pl-enti{font-weight:700!important}.pl-entm{color:#a6e22e!important}.pl-eoa{color:#f92672!important}.pl-eoac,.pl-eoac .pl-pde{color:#a6e22e!important}.pl-eoai,.pl-eoai .pl-pde{color:#f92672!important}.pl-eoi{color:#a6e22e!important}.pl-k,.pl-ko,.pl-kolp{color:#f92672!important}.pl-kos,.pl-kou{color:#66d9ef!important}.pl-mai .pl-sf{color:#a6e22e!important}.pl-mb{color:#e6db74!important;font-weight:700!important}.pl-mc{color:#f92672!important}.pl-mh .pl-pdh{color:#66d9ef!important}.pl-mi{color:#f92672!important;font-style:italic!important}.pl-ml{color:#e6db74!important}.pl-mm{color:#a6e22e!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#66d9ef!important}.pl-mr,.pl-ms{color:#f92672!important}.pl-pdb{color:#e6db74!important;font-weight:700!important}.pl-pdc{color:#75715e!important;font-style:italic!important}.pl-pdc1{color:#ae81ff!important}.pl-pde{color:#66d9ef!important}.pl-pdi{color:#f92672!important;font-style:italic!important}.pl-pds{color:#e6db74!important}.pl-pdv{color:#a6e22e!important}.pl-pse,.pl-pse .pl-s2{color:#66d9ef!important}.pl-s,.pl-s1{color:#e6db74!important}.pl-s2{color:#f8f8f2!important}.pl-mp .pl-s3{color:#66d9ef!important}.pl-s3{color:#f92672!important}.pl-sc{color:#fd971f!important}.pl-scp{color:#ae81ff!important}.pl-sf{color:#fd971f!important}.pl-smc{color:#f92672!important}.pl-smi{color:#66d9ef!important}.pl-smp,.pl-sok{color:#f92672!important}.pl-sol{color:#e6db74!important}.pl-som,.pl-sr{color:#a6e22e!important}.pl-sra,.pl-src,.pl-sre{color:#f92672!important}.pl-st{color:#66d9ef!important}.pl-stj{color:#f8f8f2!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#66d9ef!important}.pl-vo{color:#a6e22e!important}.pl-vpf{color:#66d9ef!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#a6e22e!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#f92672!important}.pl-mdr{color:#66d9ef!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#a6e22e!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#a6e22e!important;color:#272822!important}.pl-mo{color:#fd971f!important}.pl-mri{color:#66d9ef!important}.pl-ms1{background-color:#fd971f!important}.pl-va,.pl-vpu{color:#66d9ef!important}.pl-entl{color:#fd971f!important}.highlight .pl-corl span.x,.pl-corl{color:#e6db74!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#a6e22e!important;color:#272822!important} EOT;\n Obsidian \"Obsidian\" <<<EOT\n /*! GitHub: Obsidian *\\/:root{--ghd-code-background:#293134;--ghd-code-color:#e0e2e4}.pl-c,.pl-c span{color:#66747b!important;font-style:italic!important}.pl-c1{color:#ffcd22!important}.pl-e,.pl-en{color:#93c763!important}.pl-ent,.pl-k{color:#e0e2e4!important}.pl-mb{color:#ec7600!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#93c763!important}.pl-mh,.pl-mh .pl-en{color:#66747b!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#93c763!important}.pl-mq{color:#66747b!important}.pl-mr,.pl-ms{color:#93c763!important}.pl-pds,.pl-s{color:#ec7600!important}.pl-s1{color:#e0e2e4!important}.pl-s1 .pl-pse .pl-s2{color:#ec7600!important}.pl-s1 .pl-s2{color:#e0e2e4!important}.pl-s1 .pl-v,.pl-s3{color:#93c763!important}.pl-sc{color:#96989a!important}.pl-smi,.pl-smp{color:#e0e2e4!important}.pl-sr{color:#d39745!important}.pl-sr .pl-cce{color:#ffcd22!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#d39745!important}.pl-st{color:#da4236!important}.pl-stj{color:#e0e2e4!important}.pl-sv{color:#ec7600!important}.pl-v{color:#678cb1!important}.pl-vo,.pl-vpf{color:#e0e2e4!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#e0e2e4!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#e0e2e4!important}.pl-bu,.pl-ii{background:#400000!important;color:#da4236!important}.highlight .pl-corl span.x,.pl-corl{color:#ec7600!important;text-decoration:underline!important}.pl-c1>.pl-c1{color:#678cb1!important}.pl-token.active,.pl-token:hover{background:#678cb1!important;color:#e0e2e4!important} EOT;\n One Dark \"One Dark\" <<<EOT\n /*! GitHub: One Dark *\\/:root{--ghd-code-background:#141414;--ghd-code-color:#abb2bf}.pl-c,.pl-c span{color:#5c6370!important;font-style:italic!important}.pl-c1{color:#d19a66!important}.pl-sr .pl-cce{color:#56b6c2!important;font-weight:400!important}.pl-cn,.pl-e{color:#d19a66!important}.pl-ef{color:#61afef!important}.pl-en{color:#d19a66!important}.pl-enc{color:#e5c07b!important}.pl-enf{color:#61afef!important}.pl-enm{color:#abb2bf!important}.pl-ens{color:#be5046!important}.pl-ent{color:#e06c75!important}.pl-entc{color:#e5c07b!important}.pl-enti{color:#56b6c2!important}.pl-entm{color:#e06c75!important}.pl-eoa,.pl-eoac,.pl-eoac .pl-pde{color:#d19a66!important}.pl-eoai{color:#61afef!important}.pl-eoi{color:#98c379!important}.pl-k{color:#c678dd!important}.pl-ko{color:#abb2bf!important}.pl-kolp{color:#c678dd!important}.pl-kos{color:#61afef!important}.pl-kou{color:#d19a66!important}.pl-mai .pl-sf{color:#56b6c2!important}.pl-mb{color:#d19a66!important;font-weight:700!important}.pl-mc{color:#c678dd!important}.pl-mh{color:#e06c75!important}.pl-mh .pl-pdh{color:#61afef!important}.pl-mi{color:#c678dd!important;font-style:italic!important}.pl-ml{color:#56b6c2!important}.pl-mm{color:#d19a66!important}.pl-mp{color:#828997!important}.pl-mp1 .pl-sf{color:#abb2bf!important}.pl-mq{color:#d19a66!important}.pl-mr{color:#61afef!important}.pl-ms{color:#abb2bf!important}.pl-pdb{color:#e5c07b!important;font-weight:700!important}.pl-pdc{color:#5c6370!important;font-style:italic!important}.pl-pdc1{color:#abb2bf!important}.pl-pde,.pl-pdi{color:#c678dd!important}.pl-pdi{font-style:italic!important}.pl-pds{color:#98c379!important}.pl-pdv{color:#e06c75!important}.pl-pse .pl-s1{color:#98c379!important}.pl-pse .pl-s2{color:#e5c07b!important}.pl-s,.pl-s1{color:#98c379!important}.pl-s2{color:#e5c07b!important}.pl-mp .pl-s3,.pl-s3{color:#d19a66!important}.pl-sc{color:#e5c07b!important}.pl-scp{color:#abb2bf!important}.pl-sf{color:#56b6c2!important}.pl-smc{color:#abb2bf!important}.pl-smi{color:#e06c75!important}.pl-smp{color:#e5c07b!important}.pl-sok{color:#d19a66!important}.pl-sol{color:#e06c75!important}.pl-som{color:#abb2bf!important}.pl-sr,.pl-sr .pl-sra,.pl-src{color:#56b6c2!important}.pl-sr .pl-sre{color:#e5c07b!important}.pl-st{color:#56b6c2!important}.pl-stj{color:#e5c07b!important}.pl-stp{color:#828997!important}.pl-sv{color:#d19a66!important}.pl-v{color:#e5c07b!important}.pl-vi{color:#be5046!important}.pl-vo{color:#56b6c2!important}.pl-vpf{color:#abb2bf!important}.pl-mdht,.pl-mi1{background:#020!important;color:#98c379!important}.pl-md,.pl-mdhf{background:#200!important;color:#e06c75!important}.pl-mdr{color:#abb2bf!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#e06c75!important;font-weight:400!important}.pl-corl{color:#e06c75!important;text-decoration:underline!important}.pl-ib{background-color:#e06c75!important}.pl-bu,.pl-ii{background-color:#e05252!important}.pl-mo{color:#abb2bf!important}.pl-mri{color:#98c379!important}.pl-ms1{background-color:#373b41!important}.pl-ms1,.pl-va,.pl-vpu{color:#abb2bf!important}.pl-entl{color:#e06c75!important}.pl-token.active,.pl-token:hover{background:#61afef!important;color:#141414!important} EOT;\n Pastel on Dark \"Pastel on Dark\" <<<EOT\n /*! GitHub: Pastel on Dark *\\/:root{--ghd-code-background:#2c2828;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#a6c6ff!important;font-style:italic!important}.pl-c1{color:#a5c261!important}.pl-cce{color:#afa472!important}.pl-cn{color:#ccc!important}.pl-coc{color:#757ad8!important}.pl-cos{color:#66a968!important}.pl-e{color:#e6e1dc!important}.pl-ef{color:#aeb2f8!important}.pl-en{color:#e6e1dc!important}.pl-enc{color:#757ad8!important}.pl-enf,.pl-enm{color:#aeb2f8!important}.pl-ens{color:#757ad8!important}.pl-ent{color:#6782d3!important}.pl-entc,.pl-enti{color:#aeb2f8!important}.pl-enti{font-weight:700!important}.pl-entm{color:#aeb2f8!important}.pl-eoa{color:#e6e1dc!important}.pl-eoac,.pl-eoac .pl-pde{color:#aeb2f8!important}.pl-eoai,.pl-eoai .pl-pde{color:#e6e1dc!important}.pl-eoi{color:#aeb2f8!important}.pl-k{color:#757ad8!important}.pl-ko,.pl-kolp{color:#e6e1dc!important}.pl-kos,.pl-kou{color:#757ad8!important}.pl-mai .pl-sf{color:#aeb2f8!important}.pl-mb{color:#66a968!important;font-weight:700!important}.pl-mc{color:#e6e1dc!important}.pl-mh .pl-pdh{color:#757ad8!important}.pl-mi{color:#e6e1dc!important;font-style:italic!important}.pl-ml{color:#66a968!important}.pl-mm{color:#aeb2f8!important}.pl-mp,.pl-mp1 .pl-sf,.pl-mq{color:#757ad8!important}.pl-mr,.pl-ms{color:#e6e1dc!important}.pl-pdb{color:#66a968!important;font-weight:700!important}.pl-pdc{color:#a6c6ff!important;font-style:italic!important}.pl-pdc1{color:#4fb7c5!important}.pl-pde{color:#757ad8!important}.pl-pdi{color:#e6e1dc!important;font-style:italic!important}.pl-pds{color:#ad9361!important}.pl-pdv{color:#aeb2f8!important}.pl-pse,.pl-pse .pl-s2,.pl-s{color:#757ad8!important}.pl-s1{color:#ad9361!important}.pl-s2{color:#8f938f!important}.pl-mp .pl-s3{color:#757ad8!important}.pl-s3{color:#e6e1dc!important}.pl-sc{color:#757ad8!important}.pl-scp{color:#4fb7c5!important}.pl-sf{color:#bebf55!important}.pl-smc{color:#aeb2f8!important}.pl-smi,.pl-smp{color:#bebf55!important}.pl-sok{color:#e6e1dc!important}.pl-sol{color:#66a968!important}.pl-som,.pl-sr{color:#aeb2f8!important}.pl-sra{color:#797878!important}.pl-src,.pl-sre{color:#e9c062!important}.pl-st{color:#a5c261!important}.pl-stj{color:#8f938f!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#757ad8!important}.pl-vo{color:#a5c261!important}.pl-vpf{color:#757ad8!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#66a968!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#aeb2f8!important}.pl-mdr{color:#757ad8!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#bebf55!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#aeb2f8!important;color:#fff!important}.pl-mo{color:#bebf55!important}.pl-mri{color:#757ad8!important}.pl-ms1{background-color:#bebf55!important}.pl-va,.pl-vpu{color:#757ad8!important}.pl-entl{color:#bebf55!important}.highlight .pl-corl span.x,.pl-corl{color:#757ad8!important;text-decoration:underline!important}.highlight-source-css .pl-v{color:#ad9361!important}.highlight-text-html-basic .pl-e{color:#6782d3!important}.highlight-text-tex .pl-s3{color:#757ad8!important}.pl-token.active,.pl-token:hover{background:#757ad8!important;color:#e6e1dc!important} EOT;\n Railscasts \"Railscasts\" <<<EOT\n /*! GitHub: Railscasts *\\/:root{--ghd-code-background:#282828;--ghd-code-color:#e6e1dc}.pl-c,.pl-c span{color:#bc9458!important;font-style:italic!important}.pl-c1{color:#6d9cbe!important}.pl-sr .pl-cce{font-weight:400!important}.pl-cn,.pl-sr .pl-cce{color:#a5c261!important}.pl-coc{color:#6d9cbe!important}.pl-cos{color:#cc7833!important}.pl-e,.pl-ef,.pl-en{color:#ffc66d!important}.pl-enc{color:#fff!important}.pl-enf,.pl-enm{color:#ffc66d!important}.pl-ens,.pl-ent{color:#fff!important}.pl-entc,.pl-enti{color:#ffc66d!important}.pl-enti{font-weight:700!important}.pl-entm{color:#ffc66d!important}.pl-eoa{color:#fff!important}.pl-eoac,.pl-eoac .pl-pde{color:#ffc66d!important}.pl-eoai,.pl-eoai .pl-pde{color:#fff!important}.pl-eoi{color:#ffc66d!important}.pl-k,.pl-ko,.pl-kolp{color:#cc7833!important}.pl-kos,.pl-kou{color:#6d9cbe!important}.pl-mai .pl-sf{color:#ffc66d!important}.pl-mb{color:#cc7833!important;font-weight:700!important}.pl-mc,.pl-mh{color:#fff!important}.pl-mh{font-weight:400!important}.pl-mh .pl-pdh{color:#fff!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml{color:#cc7833!important}.pl-mm{color:#ffc66d!important}.pl-mp{color:#fff!important}.pl-mp1 .pl-sf{color:#ffc66d!important}.pl-mq{color:#fff!important}.pl-mr,.pl-ms,.pl-pdb{color:#cc7833!important}.pl-pdb{font-weight:700!important}.pl-pdc{color:#bc9458!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#fff!important}.pl-pdi{font-style:italic!important}.pl-pdi,.pl-pds{color:#cc7833!important}.pl-pdv{color:#ffc66d!important}.pl-pse,.pl-pse .pl-s1{color:#a5c261!important}.pl-pse .pl-s2{color:#e6e1dc!important}.pl-s{color:#a5c261!important}.pl-s1{color:#cc7833!important}.pl-s2{color:#ccc!important}.pl-mp .pl-s3,.pl-s3,.pl-sc{color:#cc7833!important}.pl-scp{color:#fff!important}.pl-sf{color:#cc7833!important}.pl-smc{color:#da4939!important}.pl-smi{color:#d0d0ff!important}.pl-smp{color:#ccc!important}.pl-sok{color:#da4939!important}.pl-sol{color:#cc7833!important}.pl-som,.pl-sr{color:#ffc66d!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#da4939!important}.pl-st{color:#cc7833!important}.pl-stj{color:#ccc!important}.pl-stp,.pl-sv{color:#cc7833!important}.pl-v{color:#d0d0ff!important}.pl-vi{color:#cc7833!important}.pl-vo{color:#ffc66d!important}.pl-vpf{color:#cc7833!important}.pl-mi1{background:#200!important;color:#a6e22e!important}.pl-mdht{background:#2f33ab!important;color:#e6e1dc!important}.pl-md{background:#200!important;color:#f92672!important}.pl-mdhf{background:#2f33ab!important;color:#e6e1dc!important}.pl-mdr{color:#fff!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#ffc66d!important;font-weight:400!important}.pl-corl{text-decoration:underline!important}.pl-bu,.pl-ii{background-color:#900!important;color:#fff!important}.pl-mo{color:#969896!important}.pl-mri{color:teal!important}.pl-ms1{background-color:#f5f5f5!important}.pl-va,.pl-vpu{color:teal!important}.pl-entl{color:#ccc!important}.highlight .pl-corl span.x,.pl-corl{color:#a5c261!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#ffc66d!important;color:#282828!important} EOT;\n Solarized Dark \"Solarized Dark\" <<<EOT\n /*! GitHub: Solarized Dark *\\/:root{--ghd-code-background:#002b36;--ghd-code-color:#839496}.pl-c,.pl-c span{color:#586e75!important;font-style:italic!important}.pl-c1{color:#2aa198!important}.pl-e,.pl-en,.pl-ent{color:#268bd2!important}.pl-k{color:#859900!important}.pl-mb{color:#2aa198!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#859900!important}.pl-mh,.pl-mh .pl-en{color:#cb4b16!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#859900!important}.pl-mq{color:#586e75!important}.pl-mr,.pl-ms{color:#859900!important}.pl-pds{color:#2aa198!important}.pl-s{color:#268bd2!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#2aa198!important}.pl-s1 .pl-s2{color:#839496!important}.pl-s1 .pl-v,.pl-s3{color:#859900!important}.pl-sc{color:#cb4b16!important}.pl-smi,.pl-smp{color:#839496!important}.pl-sr{color:#d30102!important}.pl-sr .pl-cce{color:#cb4b16!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#d30102!important}.pl-st{color:#dc322f!important}.pl-stj{color:#839496!important}.pl-sv{color:#2aa198!important}.pl-v{color:#268bd2!important}.pl-vo,.pl-vpf{color:#839496!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#839496!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#839496!important}.pl-bu,.pl-ii{background:#400000!important;color:#839496!important}.highlight .pl-corl span.x,.pl-corl{color:#268bd2!important;text-decoration:underline!important}.highlight-source-css .pl-k{color:#586e75!important}.highlight-source-c\\+\\+ .pl-s{color:#dc322f!important}.pl-token.active,.pl-token:hover{background:#268bd2!important;color:#002b36!important} EOT;\n Terminal \"Terminal\" <<<EOT\n /*! GitHub: Terminal *\\/:root{--ghd-code-background:#000;--ghd-code-color:#dedede}.pl-c,.pl-c span{color:#ff4500!important;font-style:italic!important}.pl-c1{color:#e78c45!important}.pl-e,.pl-en{color:#d54e53!important}.pl-ent,.pl-k{color:tomato!important}.pl-mb{color:#e78c45!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:tomato!important}.pl-mh,.pl-mh .pl-en{color:#b9ca4a!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:tomato!important}.pl-mq{color:#ff4500!important}.pl-mr,.pl-ms{color:tomato!important}.pl-pds{color:#b9ca4a!important}.pl-s{color:tomato!important}.pl-s1{color:#b9ca4a!important}.pl-s1 .pl-pse .pl-s2{color:#e78c45!important}.pl-s1 .pl-s2{color:#7aa6da!important}.pl-s1 .pl-v{color:tomato!important}.pl-s3{color:#d54e53!important}.pl-sc{color:#dedede!important}.pl-smi,.pl-smp{color:#7aa6da!important}.pl-sr{color:#d54e53!important}.pl-sr .pl-cce{color:#b9ca4a!important}.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src{color:#d54e53!important}.pl-st{color:tomato!important}.pl-stj{color:#7aa6da!important}.pl-sv{color:#e78c45!important}.pl-v{color:#d54e53!important}.pl-vo{color:#7aa6da!important}.pl-vpf{color:#e78c45!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#dedede!important}.pl-md,.pl-mdhf{background:red!important;color:#dedede!important}.pl-bu,.pl-ii{background:#900!important;color:tomato!important}.highlight .pl-corl span.x,.pl-corl{color:tomato!important;text-decoration:underline!important}.highlight-source-css .pl-k{color:#dedede!important}.highlight-source-css .pl-s3,.highlight-source-css .pl-sc{color:#e7c547!important}.highlight-source-css .pl-ent{color:#dedede!important}.highlight-text-html-basic .pl-ent{color:#d54e53!important}.highlight-source-js .pl-k{color:#ff1493!important}.highlight-text-html-php .pl-s3{color:#7aa6da!important}.highlight-text-html-php .pl-vo{color:#d54e53!important}.highlight-source-python .pl-s3{color:#7aa6da!important}.pl-token.active,.pl-token:hover{background:#dedede!important;color:tomato!important} EOT;\n Tomorrow Night Blue \"Tomorrow Night Blue\" <<<EOT\n /*! GitHub: Tomorrow Night Blue *\\/:root{--ghd-code-background:#002451;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#000!important} EOT;\n Tomorrow Night Bright \"Tomorrow Night Bright\" <<<EOT\n /*! GitHub: Tomorrow Night Bright *\\/:root{--ghd-code-background:#000;--ghd-code-color:#dedede}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#000!important} EOT;\n Tomorrow Night Eighties \"Tomorrow Night Eighties\" <<<EOT\n /*! GitHub: Tomorrow Night Eighties *\\/:root{--ghd-code-background:#000;--ghd-code-color:#ccc}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#000!important} EOT;\n Tomorrow Night \"Tomorrow Night\" <<<EOT\n /*! GitHub: Tomorrow Night *\\/:root{--ghd-code-background:#1d1f21;--ghd-code-color:#c5c8c6}.pl-c,.pl-c span{color:#969896!important;font-style:italic!important}.pl-c1,.pl-cce,.pl-cn,.pl-coc{color:#de935f!important}.pl-cos{color:#b5bd68!important}.pl-e,.pl-ef,.pl-en{color:#f0c674!important}.pl-enc{color:#de935f!important}.pl-enf,.pl-enm{color:#f0c674!important}.pl-ens{color:#de935f!important}.pl-ent{color:#b294bb!important}.pl-entc,.pl-enti{color:#f0c674!important}.pl-enti{font-weight:700!important}.pl-entm{color:#c66!important}.pl-eoa{color:#b294bb!important}.pl-eoac,.pl-eoac .pl-pde{color:#c66!important}.pl-eoai,.pl-eoai .pl-pde{color:#b294bb!important}.pl-eoi{color:#f0c674!important}.pl-k,.pl-ko,.pl-kolp{color:#b294bb!important}.pl-kos,.pl-kou{color:#de935f!important}.pl-mai .pl-sf{color:#c66!important}.pl-mb{color:#b5bd68!important;font-weight:700!important}.pl-mc{color:#b294bb!important}.pl-mh .pl-pdh{color:#de935f!important}.pl-mi{color:#b294bb!important;font-style:italic!important}.pl-ml{color:#b5bd68!important}.pl-mm{color:#c66!important}.pl-mp,.pl-mp1 .pl-sf{color:#81a2be!important}.pl-mq{color:#de935f!important}.pl-mr,.pl-ms{color:#b294bb!important}.pl-pdb{color:#b5bd68!important;font-weight:700!important}.pl-pdc{color:#969896!important;font-style:italic!important}.pl-pdc1,.pl-pde{color:#de935f!important}.pl-pdi{color:#b294bb!important;font-style:italic!important}.pl-pds{color:#b5bd68!important}.pl-pdv{color:#c66!important}.pl-pse,.pl-pse .pl-s2{color:#de935f!important}.pl-s{color:#b294bb!important}.pl-s1{color:#b5bd68!important}.pl-s2{color:#c5c8c6!important}.pl-mp .pl-s3{color:#b294bb!important}.pl-s3{color:#81a2be!important}.pl-sc{color:#c5c8c6!important}.pl-scp{color:#de935f!important}.pl-sf{color:#dad085!important}.pl-smc{color:#f0c674!important}.pl-smi,.pl-smp{color:#c5c8c6!important}.pl-sok{color:#b294bb!important}.pl-sol{color:#b5bd68!important}.pl-som,.pl-sr{color:#c66!important}.pl-sra,.pl-src,.pl-sre,.pl-st{color:#b294bb!important}.pl-stj{color:#c5c8c6!important}.pl-stp,.pl-sv,.pl-v,.pl-vi{color:#de935f!important}.pl-vo{color:#c66!important}.pl-vpf{color:#de935f!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#8f9d6a!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#c66!important}.pl-mdr{color:#de935f!important;font-weight:400!important}.pl-mdh,.pl-mdi{color:#c66!important;font-weight:400!important}.pl-bu,.pl-ii,.pl-ii .pl-cce{background-color:#c66!important;color:#fff!important}.pl-mo{color:#c5c8c6!important}.pl-mri{color:#de935f!important}.pl-ms1{background-color:#c5c8c6!important}.pl-va,.pl-vpu{color:#de935f!important}.pl-entl{color:#c5c8c6!important}.highlight .pl-corl span.x,.pl-corl{color:#b294bb!important;text-decoration:underline!important}.pl-token.active,.pl-token:hover{background:#f0c674!important;color:#1d1f21!important} EOT;\n Vibrant Ink \"Vibrant Ink\" <<<EOT\n /*! GitHub: Vibrant Ink *\\/:root{--ghd-code-background:#0f0f0f;--ghd-code-color:#fff}.pl-c,.pl-c span{color:#93c!important;font-style:italic!important}.pl-c1{color:#399!important}.pl-e,.pl-en{color:#f60!important}.pl-ent{color:#fc0!important}.pl-k{color:#9c9!important}.pl-mb{color:#6f0!important;font-weight:700!important}.pl-mdh,.pl-mdr{color:#f60!important}.pl-mh,.pl-mh .pl-en{color:#9c9!important}.pl-mh .pl-en{font-weight:700!important}.pl-mi{font-style:italic!important}.pl-mi,.pl-ml,.pl-mm,.pl-mo,.pl-mp{color:#f60!important}.pl-mq{color:#93c!important}.pl-mr,.pl-ms{color:#f60!important}.pl-pds{color:#6f0!important}.pl-s{color:#fc0!important}.pl-s1,.pl-s1 .pl-pse .pl-s2{color:#6f0!important}.pl-s1 .pl-s2{color:#399!important}.pl-s1 .pl-v{color:#f60!important}.pl-s3{color:#fc0!important}.pl-sc{color:#fff!important}.pl-smi,.pl-smp{color:#399!important}.pl-sr{color:#44b4cc!important}.pl-sr .pl-cce{color:#9c9!important}.pl-sr .pl-sra,.pl-sr .pl-sre{color:#44b4cc!important}.pl-src{color:#6f0!important}.pl-st{color:#f60!important}.pl-stj{color:#399!important}.pl-sv{color:#6f0!important}.pl-v{color:#fc0!important}.pl-vo{color:#399!important}.pl-vpf{color:#fff!important}.pl-mdht,.pl-mi1{background:rgba(0,64,0,.5)!important;color:#fff!important}.pl-md,.pl-mdhf{background:rgba(64,0,0,.5)!important;color:#fff!important}.pl-bu,.pl-ii{background:#400000!important;color:#f60!important}.highlight .pl-corl span.x,.pl-corl{color:#fc0!important;text-decoration:underline!important}.highlight-source-css .pl-c1{color:#9c9!important}.highlight-source-css .pl-ent{color:#399!important}.highlight-source-css .pl-s3{color:#fff!important}.highlight-source-css .pl-sc{color:#399!important}.highlight-text-html-basic .pl-ent{color:#f60!important}.highlight-text-html-basic .pl-e{color:#9c9!important}.highlight-source-js .pl-vpf{color:#fc0!important}.highlight-text-html-php .pl-s,.highlight-text-html-php .pl-s3{color:#f60!important}.highlight-text-html-php .pl-vo{color:#fc0!important}.highlight-source-c\\+\\+ .pl-s3{color:#fff!important}.pl-token.active,.pl-token:hover{background:#fff!important;color:#f60!important} EOT;\n}\n@advanced dropdown syntax-codemirror \"CodeMirror syntax theme\" {\n Twilight \"Twilight\" <<<EOT\n /*! CodeMirror: Twilight *\\/.CodeMirror-gutters{background:#222!important;border-right:1px solid #484848!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#aaa!important}.CodeMirror-cursor{border-left:1px solid #fff!important}.CodeMirror-activeline-background{background:#27282e!important}.CodeMirror-matchingbracket{color:#fff!important;outline:1px solid grey!important}.cm-keyword{color:#f9ee98!important}.cm-atom{color:#fc0!important}.cm-number{color:#ca7841!important}.cm-def{color:#8da6ce!important}.cm-variable-2,.cm-variable-3,span.cm-def,span.cm-tag{color:#607392!important}.cm-operator{color:#cda869!important}.cm-comment{color:#777!important;font-style:italic!important;font-weight:400!important}.cm-string{color:#8f9d6a!important}.cm-string-2{color:#bd6b18!important}.cm-meta{background-color:#141414!important;color:#f7f7f7!important}.cm-builtin{color:#cda869!important}.cm-tag{color:#997643!important}.cm-attribute{color:#d6bb6d!important}.cm-header{color:#ff6400!important}.cm-hr{color:#aeaeae!important}.cm-link{color:#ad9361!important;font-style:italic!important;text-decoration:none!important}.cm-error{border-bottom:1px solid red!important} EOT;\n Ambiance \"Ambiance\" <<<EOT\n /*! CodeMirror: Ambiance *\\/.cm-header{color:blue!important}.cm-quote{color:#24c2c7!important}.cm-keyword{color:#cda869!important}.cm-atom{color:#cf7ea9!important}.cm-number{color:#78cf8a!important}.cm-def{color:#aac6e3!important}.cm-variable{color:#ffb795!important}.cm-variable-2{color:#eed1b3!important}.cm-variable-3{color:#faded3!important}.cm-property{color:#eed1b3!important}.cm-operator{color:#fa8d6a!important}.cm-comment{color:#555!important;font-style:italic!important}.cm-string{color:#8f9d6a!important}.cm-string-2{color:#9d937c!important}.cm-meta{color:#d2a8a1!important}.cm-qualifier{color:#ff0!important}.cm-builtin{color:#99c!important}.cm-bracket{color:#24c2c7!important}.cm-tag{color:#fee4ff!important}.cm-attribute{color:#9b859d!important}.cm-hr{color:pink!important}.cm-link{color:#f4c20b!important}.cm-special{color:#ff9d00!important}.cm-error{color:#af2018!important}.CodeMirror-matchingbracket{color:#0f0!important}.CodeMirror-nonmatchingbracket{color:#f22!important}.CodeMirror-selected{background:hsla(0,0%,100%,.15)!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror{background-color:#202020!important;-webkit-box-shadow:inset 0 0 10px #000!important;-moz-box-shadow:inset 0 0 10px #000!important;box-shadow:inset 0 0 10px #000!important;color:#e6e1dc!important;line-height:1.4!important}.CodeMirror-gutters{background:#3d3d3d!important;border-right:1px solid #4d4d4d!important;box-shadow:0 10px 20px #000!important}.CodeMirror-linenumber{color:#111!important;padding:0 5px!important;text-shadow:0 1px 1px #4d4d4d!important}.CodeMirror-guttermarker{color:#aaa!important}.CodeMirror-guttermarker-subtle{color:#111!important}.CodeMirror-cursor{border-left:1px solid #7991e8!important}.CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)!important} EOT;\n Base16 Ocean Dark \"Base16 Ocean Dark\" <<<EOT\n /*! CodeMirror: Base16 Ocean Dark *\\/.CodeMirror{background:#2b303b!important;color:#dfe1e8!important}div.CodeMirror-selected{background:#343d46!important}.CodeMirror-gutters{background:#2b303b!important;border-right:0!important}.CodeMirror-linenumber{color:#65737e!important}.CodeMirror-cursor{border-left:1px solid #a7adba!important}span.cm-comment{color:#ab7967!important}span.cm-atom,span.cm-number{color:#b48ead!important}span.cm-attribute,span.cm-property{color:#a3be8c!important}span.cm-keyword{color:#bf616a!important}span.cm-string{color:#ebcb8b!important}span.cm-variable{color:#a3be8c!important}span.cm-variable-2{color:#8fa1b3!important}span.cm-def{color:#d08770!important}span.cm-error{background:#bf616a!important;color:#a7adba!important}span.cm-bracket{color:#dfe1e8!important}span.cm-tag{color:#bf616a!important}span.cm-link{color:#b48ead!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Cobalt \"Cobalt\" <<<EOT\n /*! CodeMirror: Cobalt *\\/.CodeMirror{background:#002240!important;color:#fff!important}div.CodeMirror-selected{background:#b36539!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)!important}.CodeMirror-gutters{background:#002240!important;border-right:1px solid #aaa!important}.CodeMirror-guttermarker{color:#ffee80!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#d0d0d0!important}.CodeMirror-cursor{border-left:1px solid #fff!important}.cm-comment{color:#08f!important}.cm-atom{color:#845dc4!important}.cm-number,span.cm-attribute{color:#ff80e1!important}.cm-keyword{color:#ffee80!important}.cm-string{color:#3ad900!important}.cm-meta{color:#ff9d00!important}.cm-variable-2,span.cm-tag{color:#9effff!important}.cm-variable-3,span.cm-def{color:#fff!important}.cm-bracket{color:#d8d8d8!important}.cm-builtin,span.cm-special{color:#ff9e59!important}.cm-link{color:#845dc4!important}.cm-error{color:#9d1e15!important}.CodeMirror-activeline-background{background:#002d57!important}.CodeMirror-matchingbracket{color:#fff!important;outline:1px solid grey!important} EOT;\n Dracula \"Dracula\" <<<EOT\n /*! CodeMirror: Dracula *\\/.CodeMirror,.CodeMirror-gutters{background-color:#282a36!important;border:none!important;color:#f8f8f2!important}.CodeMirror-gutters{color:#282a36!important}.CodeMirror-cursor{border-left:thin solid #f8f8f0!important}.CodeMirror-linenumber{color:#6d8a88!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}span.cm-comment{color:#6272a4!important}span.cm-string,span.cm-string-2{color:#f1fa8c!important}span.cm-number{color:#bd93f9!important}span.cm-variable{color:#50fa7b!important}span.cm-variable-2{color:#fff!important}span.cm-def{color:#ffb86c!important}span.cm-keyword,span.cm-operator{color:#ff79c6!important}span.cm-atom{color:#bd93f9!important}span.cm-meta{color:#f8f8f2!important}span.cm-tag{color:#ff79c6!important}span.cm-attribute,span.cm-qualifier{color:#50fa7b!important}span.cm-property{color:#66d9ef!important}span.cm-builtin,span.cm-variable-3{color:#50fa7b!important}.CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Material \"Material\" <<<EOT\n /*! CodeMirror: Material *\\/.CodeMirror{background-color:#263238!important;color:#e9eded!important}.CodeMirror-gutters{background:#263238!important;border:none!important}.CodeMirror-guttermarker,.CodeMirror-guttermarker-subtle,.CodeMirror-gutters,.CodeMirror-linenumber{color:#537f7e!important}.CodeMirror-cursor{border-left:1px solid #f8f8f0!important}div.CodeMirror-selected{background:hsla(0,0%,100%,.15)!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-activeline-background{background:transparent!important}.cm-keyword{color:#c792ea!important}.cm-operator{color:#e9eded!important}.cm-variable-2{color:#80cbc4!important}.cm-type,.cm-variable-3{color:#82b1ff!important}.cm-builtin{color:#decb6b!important}.cm-atom,.cm-number{color:#f77669!important}.cm-def{color:#e9eded!important}.cm-string{color:#c3e88d!important}.cm-string-2{color:#80cbc4!important}.cm-comment{color:#546e7a!important}.cm-variable{color:#82b1ff!important}.cm-meta,.cm-tag{color:#80cbc4!important}.cm-attribute{color:#ffcb6b!important}.cm-property{color:#80cbae!important}.cm-qualifier,.cm-type,.cm-variable-3{color:#decb6b!important}.cm-tag{color:#ff5370!important}.cm-error{background-color:#ec5f67!important;color:#fff!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Monokai - Spacegray Eighties \"Monokai - Spacegray Eighties\" <<<EOT\n /*! CodeMirror: Monokai - Spacegray Eighties *\\/.CodeMirror{background:#1c1c1c!important;color:#f8f8f8!important}.CodeMirror-selected{background:#3c3c3c!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(44,44,44,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(44,44,44,.99)!important}.CodeMirror-gutters{background:#1c1c1c!important;border-right:0!important}.CodeMirror-guttermarker{color:#b9b9b9!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#8a8a8a!important}.CodeMirror-cursor{border-left:1px solid #f8f8f0!important}.cm-comment{color:grey!important}.cm-atom,.cm-number{color:#ae81ff!important}.cm-property,span.cm-attribute{color:#a6e22e!important}.cm-keyword{color:#66d9ef!important;font-style:italic!important}.cm-builtin{color:#f8f8f8!important}.cm-string{color:#e6db74!important}.cm-variable{color:#f8f8f8!important}.cm-variable-2{color:#9effff!important}.cm-variable-3{color:#ae81ff!important}.cm-def{color:#66d9ef!important;font-style:italic!important}.cm-bracket{color:#f8f8f8!important}.cm-tag{color:#f92672!important}.cm-header,.cm-link{color:#ae81ff!important}.cm-error{background:#1e0010!important;color:#960050!important}.CodeMirror-activeline-background{background:#2c2c2c!important}.CodeMirror-matchingbracket{color:#f8f8f8!important;text-decoration:underline!important} EOT;\n Monokai \"Monokai\" <<<EOT\n /*! CodeMirror: Monokai *\\/.CodeMirror{background:#272822!important;color:#f8f8f2!important}.CodeMirror-selected{background:#49483e!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(73,72,62,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(73,72,62,.99)!important}.CodeMirror-gutters{background:#272822!important;border-right:0!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#d0d0d0!important}.CodeMirror-cursor{border-left:1px solid #f8f8f0!important}.cm-comment{color:#75715e!important}.cm-atom,.cm-number{color:#ae81ff!important}.cm-property,span.cm-attribute{color:#a6e22e!important}.cm-keyword{color:#f92672!important}.cm-builtin{color:#66d9ef!important}.cm-string{color:#e6db74!important}.cm-variable{color:#f8f8f2!important}.cm-variable-2{color:#9effff!important}.cm-variable-3{color:#66d9ef!important}.cm-def{color:#fd971f!important}.cm-bracket{color:#f8f8f2!important}.cm-tag{color:#f92672!important}.cm-header,.cm-link{color:#ae81ff!important}.cm-error{background:#f92672!important;color:#f8f8f0!important}.CodeMirror-activeline-background{background:#373831!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n One Dark \"One Dark\" <<<EOT\n /*! CodeMirror: One Dark *\\/.CodeMirror,.CodeMirror-scroll{background-color:#141414!important;color:#abb2bf!important;font-weight:300}.CodeMirror-matchingbracket{background-color:rgba(204,217,255,.09)!important;border-bottom:1px solid #528bff!important;color:#abb2bf!important}.CodeMirror-selected{background:rgba(204,217,255,.05)!important}.CodeMirror-focused .CodeMirror-selected{background:rgba(204,217,255,.09)!important}.CodeMirror-lines{padding:4px 0!important}.CodeMirror pre{padding:0 4px!important}.CodeMirror-gutter,.CodeMirror-gutters{background:transparent!important;border:none!important;white-space:nowrap!important}.CodeMirror-linenumber{color:#393e46!important;min-width:20px!important;padding:0 30px!important;text-align:right!important;white-space:nowrap!important}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#ccc!important}.CodeMirror-cursor{border-left:2px solid #528bff!important}.CodeMirror-activeline{color:#5c6370!important}.CodeMirror-overwrite .CodeMirror-cursor{border-bottom:1px solid #abb2bf!important;border-left:none!important}.cm-header{color:#e06c75!important}.cm-header .cm-em{color:#c678dd!important;font-style:italic!important}.cm-header .cm-strong{color:#d19a66!important;font-weight:700!important}.cm-quote{color:#d19a66!important;font-style:italic!important}.cm-keyword{color:#c678dd!important}.cm-atom,.cm-number{color:#d19a66!important}.cm-def{color:#e06c75!important}.cm-variable{color:#e5c07b!important}.cm-variable-2{color:#d19a66!important}.cm-variable-3{color:#56b6c2!important}.cm-property{color:#d19a66!important}.cm-operator{color:#abb2bf!important}.cm-comment{color:#5c6370!important;font-style:italic!important}.cm-string,.cm-string-2{color:#98c379!important}.cm-meta,.cm-qualifier{color:#d19a66!important}.cm-builtin{color:#61afef!important}.cm-bracket{color:#abb2bf!important}.cm-tag{color:#e06c75!important}.cm-attribute{color:#d19a66!important}.cm-link{border-bottom:1px solid #e06c75!important;color:#e06c75!important;cursor:pointer!important}.cm-em{color:#c678dd!important;font-style:italic}.cm-strong{color:#e5c07b!important;font-weight:700}.cm-punctuation{color:#5c6370!important}.cm-positive{color:#98c379!important}.cm-negative{color:#e06c75!important} EOT;\n Pastel on Dark \"Pastel on Dark\" <<<EOT\n /*! CodeMirror: Pastel on Dark *\\/.CodeMirror-selected{background:rgba(221,240,255,.2)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)!important}.CodeMirror-gutters{background:#34302f!important;border-right:0!important;padding:0 3px!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#8f938f!important}.CodeMirror-cursor{border-left:1px solid #a7a7a7!important}.cm-comment{color:#a6c6ff!important}.cm-atom{color:#de8e30!important}.cm-number{color:#ccc!important}.cm-property{color:#8f938f!important}.cm-attribute{color:#a6e22e!important}.cm-keyword{color:#aeb2f8!important}.cm-string{color:#66a968!important}.cm-variable{color:#aeb2f8!important}.cm-variable-2{color:#bebf55!important}.cm-variable-3{color:#de8e30!important}.cm-def{color:#757ad8!important}.cm-bracket{color:#f8f8f2!important}.cm-tag{color:#c1c144!important}.cm-link{color:#ae81ff!important}.cm-qualifier,span.cm-builtin{color:#c1c144!important}.cm-error{background:#757ad8!important;color:#f8f8f0!important}.CodeMirror-activeline-background{background:hsla(0,0%,100%,.031)!important}.CodeMirror-matchingbracket{border:1px solid hsla(0,0%,100%,.25)!important;color:#8f938f!important;margin:-1px -1px 0!important} EOT;\n Railscasts \"Railscasts\" <<<EOT\n /*! CodeMirror: Railscasts *\\/.CodeMirror{background:#2b2b2b!important;color:#f4f1ed!important}.CodeMirror-selected{background:#272935!important}.CodeMirror-gutters{background:#2b2b2b!important;border-right:0!important}.CodeMirror-linenumber{color:#5a647e!important}.CodeMirror-cursor{border-left:1px solid #d4cfc9!important}.cm-comment{color:#bc9458!important}.cm-atom,.cm-number{color:#b6b3eb!important}.cm-attribute,.cm-property{color:#a5c261!important}.cm-keyword{color:#da4939!important}.cm-string{color:#ffc66d!important}.cm-variable{color:#a5c261!important}.cm-variable-2{color:#6d9cbe!important}.cm-def{color:#cc7833!important}.cm-error{background:#da4939!important;color:#d4cfc9!important}.cm-bracket{color:#f4f1ed!important}.cm-tag{color:#da4939!important}.cm-link{color:#b6b3eb!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important}.CodeMirror-activeline-background{background:#303040!important} EOT;\n Solarized Dark \"Solarized Dark\" <<<EOT\n /*! CodeMirror: Solarized Dark *\\/.CodeMirror-widget{text-shadow:none!important}.cm-header{color:#586e75!important}.cm-quote{color:#93a1a1!important}.cm-keyword{color:#cb4b16!important}.cm-atom,.cm-number{color:#d33682!important}.cm-def{color:#2aa198!important}.cm-variable{color:#839496!important}.cm-variable-2{color:#b58900!important}.cm-variable-3{color:#6c71c4!important}.cm-property{color:#2aa198!important}.cm-operator{color:#6c71c4!important}.cm-comment{color:#586e75!important;font-style:italic!important}.cm-string{color:#859900!important}.cm-string-2{color:#b58900!important}.cm-meta{color:#859900!important}.cm-qualifier{color:#b58900!important}.cm-builtin{color:#d33682!important}.cm-bracket{color:#cb4b16!important}.CodeMirror-matchingbracket{color:#859900!important}.CodeMirror-nonmatchingbracket{color:#dc322f!important}.cm-tag{color:#93a1a1!important}.cm-attribute{color:#2aa198!important}.cm-hr{border-top:1px solid #586e75!important;color:transparent!important;display:block!important}.cm-link{color:#93a1a1!important;cursor:pointer!important}.cm-special{color:#6c71c4!important}.cm-em{color:#999!important;text-decoration:underline!important;text-decoration-style:dotted!important}.cm-strong{color:#eee!important}.cm-error,.cm-invalidchar{border-bottom:1px dotted #dc322f!important;color:#586e75!important}.CodeMirror-selected{background:#073642!important}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(7,54,66,.99)!important}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000!important;-webkit-box-shadow:inset 7px 0 12px -6px #000!important;box-shadow:inset 7px 0 12px -6px #000!important}.CodeMirror-gutters{background-color:#073642!important;border-right:0!important}.CodeMirror-linenumber{padding:0 5px!important;text-shadow:#021014 0 -1px!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#586e75!important}.CodeMirror-guttermarker{color:#ddd!important}.CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75!important}.CodeMirror-cursor{border-left:1px solid #819090!important}.CodeMirror-activeline-background{background:hsla(0,0%,100%,.06)!important} EOT;\n Tomorrow Night Bright \"Tomorrow Night Bright\" <<<EOT\n /*! CodeMirror: Tomorrow Night Bright *\\/.CodeMirror-selected{background:#424242!important}.CodeMirror-gutters{background:#000!important;border-right:0!important}.CodeMirror-guttermarker{color:#e78c45!important}.CodeMirror-guttermarker-subtle{color:#777!important}.CodeMirror-linenumber{color:#424242!important}.CodeMirror-cursor{border-left:1px solid #6a6a6a!important}.cm-comment{color:#d27b53!important}.cm-atom,.cm-number{color:#a16a94!important}.cm-property,span.cm-attribute{color:#9c9!important}.cm-keyword{color:#d54e53!important}.cm-string{color:#e7c547!important}.cm-variable{color:#b9ca4a!important}.cm-variable-2{color:#7aa6da!important}.cm-def{color:#e78c45!important}.cm-bracket{color:#eaeaea!important}.cm-tag{color:#d54e53!important}.cm-link{color:#a16a94!important}.cm-error{background:#d54e53!important;color:#6a6a6a!important}.CodeMirror-activeline-background{background:#2a2a2a!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Tomorrow Night Eighties \"Tomorrow Night Eighties\" <<<EOT\n /*! CodeMirror: Tomorrow Night Eighties *\\/.CodeMirror-selected{background:#2d2d2d!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(45,45,45,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(45,45,45,.99)!important}.CodeMirror-gutters{background:#000!important;border-right:0!important}.CodeMirror-guttermarker{color:#f2777a!important}.CodeMirror-guttermarker-subtle{color:#777!important}.CodeMirror-linenumber{color:#515151!important}.CodeMirror-cursor{border-left:1px solid #6a6a6a!important}.cm-comment{color:#d27b53!important}.cm-atom,.cm-number{color:#a16a94!important}.cm-property,span.cm-attribute{color:#9c9!important}.cm-keyword{color:#f2777a!important}.cm-string{color:#fc6!important}.cm-variable{color:#9c9!important}.cm-variable-2{color:#69c!important}.cm-def{color:#f99157!important}.cm-bracket{color:#ccc!important}.cm-tag{color:#f2777a!important}.cm-link{color:#a16a94!important}.cm-error{background:#f2777a!important;color:#6a6a6a!important}.CodeMirror-activeline-background{background:#343600!important}.CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline!important} EOT;\n Vibrant Ink \"Vibrant Ink\" <<<EOT\n /*! CodeMirror: Vibrant Ink *\\/.CodeMirror-selected{background:#35493c!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:rgba(53,73,60,.99)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:rgba(53,73,60,.99)!important}.CodeMirror-gutters{background:#002240!important;border-right:1px solid #aaa!important}.CodeMirror-guttermarker{color:#fff!important}.CodeMirror-guttermarker-subtle,.CodeMirror-linenumber{color:#d0d0d0!important}.CodeMirror-cursor{border-left:1px solid #fff!important}.cm-keyword{color:#cc7832!important}.cm-atom{color:#fc0!important}.cm-number{color:#ffee98!important}.cm-def{color:#8da6ce!important}.cm-s-vibrant span.cm-def,.cm-s-vibrant span.cm-tag,.cm-variable-2,.cm-variable-3{color:#ffc66d!important}.cm-operator{color:#888!important}.cm-comment{color:gray!important;font-weight:700!important}.cm-string{color:#a5c25c!important}.cm-string-2{color:red!important}.cm-meta{color:#d8fa3c!important}.cm-attribute,.cm-builtin,.cm-tag{color:#8da6ce!important}.cm-header{color:#ff6400!important}.cm-hr{color:#aeaeae!important}.cm-link{color:blue!important}.cm-error{border-bottom:1px solid red!important}.CodeMirror-activeline-background{background:#27282e!important}.CodeMirror-matchingbracket{color:#fff!important;outline:1px solid grey!important} EOT;\n}\n@advanced dropdown syntax-jupyter \"Jupyter syntax theme\" {\n Twilight \"Twilight\" <<<EOT\n /*! Jupyter: Twilight *\\/#notebook div.output_stderr{background:#420e09!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#141414!important;color:#ccc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {border:#b22518!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#5f5a60!important;font-style:italic!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#cda869!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#141414!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#5f5a60!important;font-style:italic!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#5f5a60!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#5f5a60!important;font-style:italic!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#5f5a60!important;font-style:italic!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {background:#420e09!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {background:#b22518!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:navy!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background:#253b22!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:purple!important;font-weight:700!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#e9df8f!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#9b703f!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#f9ee98!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#cda869!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#9b859d!important;font-weight:700!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#9b859d!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#7587a6!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#cf6a4c!important;font-weight:700!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#9b703f!important;font-weight:700!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#9b859d!important;font-weight:700!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#cda869!important;font-weight:700!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#7587a6!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#a2f!important;font-weight:700!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#cf6a4c!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#cf6a4c!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#cf6a4c!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#cf6a4c!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#8f9d6a!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#8f9d6a!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#8f9d6a!important;font-style:italic!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#8f9d6a!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#f9ee98!important;font-weight:700!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#8f9d6a!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#daefa3!important;font-weight:700!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#8f9d6a!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#e9c062!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#8f9d6a!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#cf6a4c!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#0aa!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#7587a6!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#7587a6!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#7587a6!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#099!important} EOT;\n Base16 Ocean Dark \"Base16 Ocean Dark\" <<<EOT\n /*! Jupyter: Base16 Ocean Dark *\\/#notebook div.output_stderr{background:#bf616a!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2b303b!important;color:#eff1f5!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#4f5b66!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#bf616a!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#65737e!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#b48ead!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#d08770!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#d08770!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#eff1f5!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#96b5b4!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#eff1f5!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#a3be8c!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#eff1f5!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#65737e!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#65737e!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#65737e!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#65737e!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#bf616a!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#eff1f5!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#a3be8c!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#65737e!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#96b5b4!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#b48ead!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#b48ead!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#96b5b4!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#b48ead!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#b48ead!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#ebcb8b!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#a3be8c!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#8fa1b3!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#eff1f5!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#ebcb8b!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#bf616a!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#96b5b4!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#eff1f5!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#bf616a!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#8fa1b3!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#eff1f5!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#ebcb8b!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#8fa1b3!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#eff1f5!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#96b5b4!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#bf616a!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#96b5b4!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#d08770!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#d08770!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#d08770!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#d08770!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#a3be8c!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#eff1f5!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#65737e!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#a3be8c!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#d08770!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#a3be8c!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#d08770!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#a3be8c!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#a3be8c!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#a3be8c!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#a3be8c!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#eff1f5!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#bf616a!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#bf616a!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#bf616a!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#d08770!important} EOT;\n Dracula theme \"Dracula theme\" <<<EOT\n /*! Jupyter: Dracula theme *\\/#notebook div.output_stderr{background:#8b080b!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#282a36!important;color:#f8f8f2!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#f8f8f2!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#6272a4!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#f8f8f2!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#ff79c6!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#f8f8f2!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#bd93f9!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#f8f8f2!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#f8f8f2!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#f8f8f2!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#f8f8f2!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#f1fa8c!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#f8f8f2!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#f8f8f2!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#6272a4!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#ff79c6!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#6272a4!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#6272a4!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#8b080b!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#f8f8f2!important;text-decoration:underline!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#f8f8f2!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#f8f8f2!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background-color:#468410!important;color:#f8f8f2!important;font-weight:700!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {background-color:#32343f!important;color:#3b3a32!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#f8f8f2!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#f8f8f2!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#f8f8f2!important;font-weight:700!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {background-color:#ff79c6!important;color:#f8f8f0!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#ff79c6!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#ff79c6!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#ff79c6!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#ff79c6!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#ff79c6!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#f8f8f2!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#f8f8f2!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#50fa7b!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#f8f8f2!important}.highlight code .nb,#notebook .highlight .nc, body.api .highlight .nc {color:#f8f8f2!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#f8f8f2!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#f8f8f2!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#f8f8f2!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#f8f8f2!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#50fa7b!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#f1fa8c!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f8f8f2!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#f8f8f2!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#f8f8f2!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#ff79c6!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#8be9fd!important;font-style:italic!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#ff79c6!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#bd93f9!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#bd93f9!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#bd93f9!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#bd93f9!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#f1fa8c!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#f1fa8c!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#f1fa8c!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#f1fa8c!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#f1fa8c!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#f1fa8c!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#f1fa8c!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#f1fa8c!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#f1fa8c!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#f1fa8c!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#f1fa8c!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#f8f8f2!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#8be9fd!important;font-style:italic!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#8be9fd!important;font-style:italic!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#8be9fd!important;font-style:italic!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#bd93f9!important} EOT;\n Github Dark (Native mod) theme \"Github Dark (Native mod) theme\" <<<EOT\n /*! Jupyter: Github Dark (Native mod) theme *\\/#notebook div.output_stderr{background:#a61717!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#111!important;color:#d0d0d0!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#404040!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#311!important;color:#a61717!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#3677a9!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#d0d0d0!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#ccc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#ccc!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#d0d0d0!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#cd2828!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#ccc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#777!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e9b96e!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#d2691e!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#666!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#d0d0d0!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#3677a9!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#d2691e!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#3677a9!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {background-color:#520000!important;color:#e50808!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#d22323!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#d0d0d0!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#d22323!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#589819!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#ccc!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#aaa!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#d0d0d0!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#d22323!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#6ab825!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#6ab825!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#6ab825!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#6ab825!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#6ab825!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#6ab825!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#d0d0d0!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#bbb!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#24909d!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#447fcf!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#4ca!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:orange!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#d0d0d0!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#bbb!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#098!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#d0d0d0!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#447fcf!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#d0d0d0!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#d0d0d0!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#6ab825!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#4ca!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#6ab825!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#cd2828!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#cd2828!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#cd2828!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#cd2828!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#d2691e!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#d2691e!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#d2691e!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#d2691e!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#d2691e!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#d2691e!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#d2691e!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:orange!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#cd2828!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#d2691e!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#d2691e!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#24909d!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#4ca!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#4ca!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#4ca!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#cd2828!important} EOT;\n Idle Fingers \"Idle Fingers\" <<<EOT\n /*! Jupyter: Idle Fingers *\\/#notebook div.output_stderr{background:#cc7833!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#323232!important;color:#fff!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#fff!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#bc9458!important;font-style:italic!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#fff!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#fff!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#cc7833!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#fff!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#6c99bb!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#fff!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#fff!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#fff!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#a5c261!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#fff!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#fff!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#bc9458!important;font-style:italic!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#cc7833!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#bc9458!important;font-style:italic!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#bc9458!important;font-style:italic!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#fff!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#fff!important;text-decoration:underline!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#fff!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#fff!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {background:#353637!important;color:#404040!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#fff!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#fff!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important;font-weight:700!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {background:red!important;color:#fff!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#cc7833!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#cc7833!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#cc7833!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#cc7833!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#cc7833!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#ffc66d!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#fff!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#ffc66d!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#fff!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#fff!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#6c99bb!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#fff!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#fff!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#fff!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#ffc66d!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#a5c261!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#fff!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#fff!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#fff!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#cc7833!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#fff!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#cc7833!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#6c99bb!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#6c99bb!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#6c99bb!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#6c99bb!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#a5c261!important}.highlight code .sb,#notebook .highlight .sc, body.api .highlight .sc {color:#a5c261!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#a5c261!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#a5c261!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#a5c261!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#a5c261!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#a5c261!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#a5c261!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#a5c261!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#a5c261!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#a5c261!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#fff!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#fff!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#fff!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#fff!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#6c99bb!important} EOT;\n Monokai - Spacegray Eighties \"Monokai - Spacegray Eighties\" <<<EOT\n /*! Jupyter: Monokai - Spacegray Eighties *\\/#notebook div.output_stderr{background:#960050!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background-color:#1c1c1c!important;color:#f8f8f8!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#2c2c2c!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#1e0010!important;color:#960050!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:grey!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#f8f8f8!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#66d9ef!important;font-style:italic!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#ae81ff!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ae81ff!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#f8f8f8!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#f92672!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#f8f8f8!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#e6db74!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#f8f8f8!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:grey!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:grey!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:grey!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:grey!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#ae81ff!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#66d9ef!important;font-style:italic!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#f92672!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#ae81ff!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#ae81ff!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#66d9ef!important;font-style:italic!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6db74!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#a6e22e!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#f8f8f8!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#a6e22e!important;font-style:italic!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#ae81ff!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#a6e22e!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#f92672!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#a6e22e!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#a6e22e!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#f8f8f8!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f8f8f8!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#f8f8f8!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#f92672!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#f92672!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#f92672!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#f92672!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ae81ff!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ae81ff!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ae81ff!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ae81ff!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#e6db74!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#e6db74!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#e6db74!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#e6db74!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ae81ff!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#e6db74!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#e6db74!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#e6db74!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#e6db74!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#e6db74!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#e6db74!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#f92672!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#f92672!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#f92672!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#f92672!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ae81ff!important} EOT;\n Monokai \"Monokai\" <<<EOT\n /*! Jupyter: Monokai *\\/#notebook div.output_stderr{background:#960050!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#272822!important;color:#f8f8f2!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#49483e!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#1e0010!important;color:#960050!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#75715e!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#f8f8f2!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#66d9ef!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#ae81ff!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ae81ff!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#f8f8f2!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#f92672!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#f8f8f2!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#e6db74!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#f8f8f2!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#75715e!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#75715e!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#75715e!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#75715e!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#66d9ef!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#66d9ef!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#f92672!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#66d9ef!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#66d9ef!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#66d9ef!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6db74!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#a6e22e!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#f8f8f2!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#a6e22e!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#66d9ef!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#a6e22e!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#f8f8f2!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#a6e22e!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#a6e22e!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#f8f8f2!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f8f8f2!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#a6e22e!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#f8f8f2!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#f92672!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#f8f8f2!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#f92672!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ae81ff!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ae81ff!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ae81ff!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ae81ff!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#e6db74!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#e6db74!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#e6db74!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#e6db74!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ae81ff!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#e6db74!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#e6db74!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#e6db74!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#e6db74!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#e6db74!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#e6db74!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#f8f8f2!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#f8f8f2!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#f8f8f2!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#f8f8f2!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ae81ff!important} EOT;\n Obsidian \"Obsidian\" <<<EOT\n /*! Jupyter: Obsidian *\\/#notebook div.output_stderr{background:#da4236!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background-color:#293134!important;color:#e0e2e4!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#da4236!important;color:#e0e2e4!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#66747b!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#e0e2e4!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#e0e2e4!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#93c763!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e0e2e4!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ec7600!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#e0e2e4!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#93c763!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e0e2e4!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#ec7600!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#96989a!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#e0e2e4!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#66747b!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#93c763!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#66747b!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#93c763!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#ec7600!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#e0e2e4!important;font-style:italic!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#da4236!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#66747b!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#93c763!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#e0e2e4!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#e0e2e4!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#e0e2e4!important;font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#66747b!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#e0e2e4!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#96989a!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#678cb1!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#93c763!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#93c763!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#678cb1!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#da4236!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e0e2e4!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#e0e2e4!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#93c763!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#678cb1!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#96989a!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#678cb1!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#96989a!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#96989a!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#678cb1!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#e0e2e4!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e0e2e4!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#e0e2e4!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#e0e2e4!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#678cb1!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#678cb1!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#93c763!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ec7600!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ec7600!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ec7600!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ec7600!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#66747b!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#ec7600!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#e0e2e4!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#ec7600!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#96989a!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#e0e2e4!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#ec7600!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#ec7600!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#d39745!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#ec7600!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#ec7600!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#678cb1!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#678cb1!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#678cb1!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#678cb1!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ec7600!important} EOT;\n Pastel on Dark \"Pastel on Dark\" <<<EOT\n /*! Jupyter: Pastel on Dark *\\/#notebook div.output_stderr{background:#600!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2b2b2b!important;color:#e6e1dc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background:#ffc!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#e6e1dc!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#555!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#e6e1dc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#4d74d0!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e6e1dc!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#a5c261!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#e6e1dc!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#e6e1dc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#e6e1dc!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e6e1dc!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#ad9361!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#e6e1dc!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#e6e1dc!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#555!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#e6e1dc!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#555!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#555!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {background:#600!important;color:#e6e1dc!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#e6e1dc!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {background:#900!important;color:#ffc66d!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background:#519f50!important;color:#e6e1dc!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#e6e1dc!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#e6e1dc!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#e6e1dc!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#e6e1dc!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#4d74d0!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#4d74d0!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#4d74d0!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#4d74d0!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#4d74d0!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#c1c144!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6e1dc!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#6782d3!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#e6e1dc!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#e6e1dc!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#a1a1ff!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#e6e1dc!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#47b8d6!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#e6e1dc!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#6782d3!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#e6e1dc!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e6e1dc!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#e6e1dc!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#e6e1dc!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#4d74d0!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#c1c144!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#e6e1dc!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#a5c261!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#a5c261!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#a5c261!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#a5c261!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#ad9361!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#ad9361!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#ad9361!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#ad9361!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ad9361!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#ad9361!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#ad9361!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#ad9361!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#ad9361!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#ad9361!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#ad9361!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#e6e1dc!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#c1c144!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#c1c144!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#c1c144!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#a5c261!important} EOT;\n Railscasts \"Railscasts\" <<<EOT\n /*! Jupyter: Railscasts *\\/#notebook div.output_stderr{background:#600!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2b2b2b!important;color:#e6e1dc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#ffc!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#bc9458!important;font-style:italic!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#e6e1dc!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#e6e1dc!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#e6e1dc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#cc7833!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e6e1dc!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#a5c261!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#e6e1dc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#e6e1dc!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#e6e1dc!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#a5c261!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#e6e1dc!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#e6e1dc!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#bc9458!important;font-style:italic!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#cc7833!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#bc9458!important;font-style:italic!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#bc9458!important;font-style:italic!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {background-color:#600!important;color:#e6e1dc!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#e6e1dc!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {background-color:#900!important;color:#fff!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {background-color:#144212!important;color:#e6e1dc!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#e6e1dc!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#e6e1dc!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#e6e1dc!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#fff!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#e6e1dc!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#cc7833!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#cc7833!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#cc7833!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#cc7833!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#cc7833!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#da4939!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#e6e1dc!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#ffc66d!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#e6e1dc!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#e6e1dc!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#6d9cbe!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#e6e1dc!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#e6e1dc!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#e6e1dc!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#ffc66d!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#e6e1dc!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e6e1dc!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#e6e1dc!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#e6e1dc!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#cc7833!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#d0d0ff!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#e6e1dc!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#a5c261!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#a5c261!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#a5c261!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#a5c261!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#a5c261!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#a5c261!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#a5c261!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#a5c261!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#a5c261!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#a5c261!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#a5c261!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#a5c261!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#a5c261!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#a5c261!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#a5c261!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#e6e1dc!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#d0d0ff!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#d0d0ff!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#d0d0ff!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#a5c261!important} EOT;\n Solarized Dark \"Solarized Dark\" <<<EOT\n /*! Jupyter: Solarized Dark *\\/#notebook div.output_stderr{background:#dc322f!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background-color:#002b36!important;color:#839496!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#49483e!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {background-color:#fdf6e3!important;color:#dc322f!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#586e75!important}.highlight code .g,#notebook .highlight .g, body.api .highlight .g {color:#839496!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#839496!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#859900!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#839496!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#2aa198!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#839496!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#859900!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#839496!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#2aa198!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#839496!important}.highlight code .x,#notebook .highlight .x, body.api .highlight .x {color:#cb4b16!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#586e75!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#859900!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#586e75!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#859900!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#2aa198!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {color:#839496!important;font-style:italic!important}.highlight code .gr,#notebook .highlight .gr, body.api .highlight .gr {color:#dc322f!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#cb4b16!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#859900!important}.highlight code .go,#notebook .highlight .go, body.api .highlight .go {color:#839496!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#839496!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {color:#839496!important;font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#cb4b16!important}.highlight code .gt,#notebook .highlight .gt, body.api .highlight .gt {color:#839496!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#cb4b16!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#268bd2!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#859900!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#859900!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#268bd2!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#dc322f!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#839496!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#839496!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#b58900!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#268bd2!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#cb4b16!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#268bd2!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#cb4b16!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#cb4b16!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#268bd2!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#839496!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#839496!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#839496!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#839496!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#268bd2!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#268bd2!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#859900!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#2aa198!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#2aa198!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#2aa198!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#2aa198!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#586e75!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#2aa198!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#839496!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#2aa198!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#cb4b16!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#839496!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#2aa198!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#2aa198!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#dc322f!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#2aa198!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#2aa198!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#268bd2!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#268bd2!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#268bd2!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#268bd2!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#2aa198!important} EOT;\n Tomorrow Night Blue \"Tomorrow Night Blue\" <<<EOT\n /*! Jupyter: Tomorrow Night Blue *\\/#notebook div.output_stderr{background:#002451!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#002451!important;color:#fff!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#003f8e!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#ff9da4!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#7285b7!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#fff!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#ebbbff!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#ffc58f!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#ffc58f!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#fff!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#9ff!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#fff!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#d1f1a9!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#fff!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#7285b7!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#7285b7!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#7285b7!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#7285b7!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#ff9da4!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#fff!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#d1f1a9!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#7285b7!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#9ff!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#ebbbff!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#ebbbff!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#9ff!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#ebbbff!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#ebbbff!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#ffeead!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#d1f1a9!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#bbdaff!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#fff!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#ffeead!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#ff9da4!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#9ff!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#fff!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#ff9da4!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#bbdaff!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#fff!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#ffeead!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#bbdaff!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#fff!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#9ff!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#ff9da4!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#9ff!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#ffc58f!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#ffc58f!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#ffc58f!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#ffc58f!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#d1f1a9!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#fff!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#7285b7!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#d1f1a9!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#ffc58f!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#d1f1a9!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#ffc58f!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#d1f1a9!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#d1f1a9!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#d1f1a9!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#d1f1a9!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#fff!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#ff9da4!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#ff9da4!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#ff9da4!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#ffc58f!important} EOT;\n Tomorrow Night Bright \"Tomorrow Night Bright\" <<<EOT\n /*! Jupyter: Tomorrow Night Bright *\\/#notebook div.output_stderr{background:#d54e53!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#000!important;color:#eaeaea!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#424242!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#d54e53!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#969896!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#eaeaea!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#c397d8!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#e78c45!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#e78c45!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#eaeaea!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#70c0b1!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#eaeaea!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#b9ca4a!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#969896!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#969896!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#969896!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#969896!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#d54e53!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#eaeaea!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#b9ca4a!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#969896!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#70c0b1!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#c397d8!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#c397d8!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#70c0b1!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#c397d8!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#c397d8!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#e7c547!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#b9ca4a!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#7aa6da!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#eaeaea!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#e7c547!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#d54e53!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#70c0b1!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#eaeaea!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#d54e53!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#7aa6da!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#eaeaea!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#e7c547!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#7aa6da!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#eaeaea!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#70c0b1!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#d54e53!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#70c0b1!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#eaeaea!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#e78c45!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#e78c45!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#e78c45!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#e78c45!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#b9ca4a!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#eaeaea!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#969896!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#b9ca4a!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#e78c45!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#b9ca4a!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#e78c45!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#b9ca4a!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#b9ca4a!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#b9ca4a!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#b9ca4a!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#eaeaea!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#d54e53!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#d54e53!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#d54e53!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#e78c45!important} EOT;\n Tomorrow Night Eighties \"Tomorrow Night Eighties\" <<<EOT\n /*! Jupyter: Tomorrow Night Eighties *\\/#notebook div.output_stderr{background:#f2777a!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#2d2d2d!important;color:#ccc!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#515151!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#f2777a!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#999!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#ccc!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#c9c!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#f99157!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#f99157!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#ccc!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#6cc!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#ccc!important}.highlight code .s,#notebook .highlight .s, body.api .highlight .s {color:#9c9!important}.highlight code .w,#notebook .highlight .w, body.api .highlight .w {color:#ccc!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#999!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#999!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#999!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#999!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#f2777a!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#ccc!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#9c9!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#999!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#6cc!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#c9c!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#c9c!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#6cc!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#c9c!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#c9c!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#fc6!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#9c9!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#69c!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#ccc!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#fc6!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#f2777a!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#6cc!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#ccc!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#f2777a!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#69c!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#ccc!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#fc6!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#69c!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#ccc!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#6cc!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#f2777a!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#6cc!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#f99157!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#f99157!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#f99157!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#f99157!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#9c9!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#ccc!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#999!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#9c9!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#f99157!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#9c9!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#f99157!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#9c9!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#9c9!important}.highlight code .s1,#notebook .highlight .s1, body.api .highlight .s1 {color:#9c9!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#9c9!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#ccc!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#f2777a!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#f2777a!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#f2777a!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#f99157!important} EOT;\n Tomorrow Night \"Tomorrow Night\" <<<EOT\n /*! Jupyter: Tomorrow Night *\\/#notebook div.output_stderr{background:#c66!important}#notebook .input_area:not(.highlight),#notebook .highlight, body.api .highlight, #notebook .highlight pre, body.api .highlight pre, #notebook .highlight table, body.api .highlight table, body.api pre{background:#1d1f21!important;color:#c5c8c6!important}.highlight code .hll,#notebook .highlight .hll, body.api .highlight .hll {background-color:#373b41!important}.highlight code .err,#notebook .highlight .err, body.api .highlight .err {color:#c66!important}.highlight code .c,#notebook .highlight .c, body.api .highlight .c {color:#969896!important}.highlight code .h,#notebook .highlight .h, body.api .highlight .h {color:#c5c8c6!important}.highlight code .k,#notebook .highlight .k, body.api .highlight .k {color:#b294bb!important}.highlight code .l,#notebook .highlight .l, body.api .highlight .l {color:#de935f!important}.highlight code .m,#notebook .highlight .m, body.api .highlight .m {color:#de935f!important}.highlight code .n,#notebook .highlight .n, body.api .highlight .n {color:#c5c8c6!important}.highlight code .o,#notebook .highlight .o, body.api .highlight .o {color:#8abeb7!important}.highlight code .p,#notebook .highlight .p, body.api .highlight .p {color:#c5c8c6!important}.highlight code .cm,#notebook .highlight .cm, body.api .highlight .cm {color:#969896!important}.highlight code .cp,#notebook .highlight .cp, body.api .highlight .cp {color:#969896!important}.highlight code .c1,#notebook .highlight .c1, body.api .highlight .c1 {color:#969896!important}.highlight code .cs,#notebook .highlight .cs, body.api .highlight .cs {color:#969896!important}.highlight code .gd,#notebook .highlight .gd, body.api .highlight .gd {color:#c66!important}.highlight code .ge,#notebook .highlight .ge, body.api .highlight .ge {font-style:italic!important}.highlight code .gh,#notebook .highlight .gh, body.api .highlight .gh {color:#c5c8c6!important;font-weight:700!important}.highlight code .gi,#notebook .highlight .gi, body.api .highlight .gi {color:#b5bd68!important}.highlight code .gp,#notebook .highlight .gp, body.api .highlight .gp {color:#969896!important;font-weight:700!important}.highlight code .gs,#notebook .highlight .gs, body.api .highlight .gs {font-weight:700!important}.highlight code .gu,#notebook .highlight .gu, body.api .highlight .gu {color:#8abeb7!important;font-weight:700!important}.highlight code .kc,#notebook .highlight .kc, body.api .highlight .kc {color:#b294bb!important}.highlight code .kd,#notebook .highlight .kd, body.api .highlight .kd {color:#b294bb!important}.highlight code .kn,#notebook .highlight .kn, body.api .highlight .kn {color:#8abeb7!important}.highlight code .kp,#notebook .highlight .kp, body.api .highlight .kp {color:#b294bb!important}.highlight code .kr,#notebook .highlight .kr, body.api .highlight .kr {color:#b294bb!important}.highlight code .kt,#notebook .highlight .kt, body.api .highlight .kt {color:#f0c674!important}.highlight code .ld,#notebook .highlight .ld, body.api .highlight .ld {color:#b5bd68!important}.highlight code .na,#notebook .highlight .na, body.api .highlight .na {color:#81a2be!important}.highlight code .nb,#notebook .highlight .nb, body.api .highlight .nb {color:#c5c8c6!important}.highlight code .nc,#notebook .highlight .nc, body.api .highlight .nc {color:#f0c674!important}.highlight code .no,#notebook .highlight .no, body.api .highlight .no {color:#c66!important}.highlight code .nd,#notebook .highlight .nd, body.api .highlight .nd {color:#8abeb7!important}.highlight code .ni,#notebook .highlight .ni, body.api .highlight .ni {color:#c5c8c6!important}.highlight code .ne,#notebook .highlight .ne, body.api .highlight .ne {color:#c66!important}.highlight code .nf,#notebook .highlight .nf, body.api .highlight .nf {color:#81a2be!important}.highlight code .nl,#notebook .highlight .nl, body.api .highlight .nl {color:#c5c8c6!important}.highlight code .nn,#notebook .highlight .nn, body.api .highlight .nn {color:#f0c674!important}.highlight code .nx,#notebook .highlight .nx, body.api .highlight .nx {color:#81a2be!important}.highlight code .py,#notebook .highlight .py, body.api .highlight .py {color:#c5c8c6!important}.highlight code .nt,#notebook .highlight .nt, body.api .highlight .nt {color:#8abeb7!important}.highlight code .nv,#notebook .highlight .nv, body.api .highlight .nv {color:#c66!important}.highlight code .ow,#notebook .highlight .ow, body.api .highlight .ow {color:#8abeb7!important}.highlight code .mf,#notebook .highlight .mf, body.api .highlight .mf {color:#de935f!important}.highlight code .mh,#notebook .highlight .mh, body.api .highlight .mh {color:#de935f!important}.highlight code .mi,#notebook .highlight .mi, body.api .highlight .mi {color:#de935f!important}.highlight code .mo,#notebook .highlight .mo, body.api .highlight .mo {color:#de935f!important}.highlight code .sb,#notebook .highlight .sb, body.api .highlight .sb {color:#b5bd68!important}.highlight code .sc,#notebook .highlight .sc, body.api .highlight .sc {color:#c5c8c6!important}.highlight code .sd,#notebook .highlight .sd, body.api .highlight .sd {color:#969896!important}.highlight code .s2,#notebook .highlight .s2, body.api .highlight .s2 {color:#b5bd68!important}.highlight code .se,#notebook .highlight .se, body.api .highlight .se {color:#de935f!important}.highlight code .sh,#notebook .highlight .sh, body.api .highlight .sh {color:#b5bd68!important}.highlight code .si,#notebook .highlight .si, body.api .highlight .si {color:#de935f!important}.highlight code .sx,#notebook .highlight .sx, body.api .highlight .sx {color:#b5bd68!important}.highlight code .sr,#notebook .highlight .sr, body.api .highlight .sr {color:#b5bd68!important}.highlight code .s2,#notebook .highlight .s1, body.api .highlight .s1 {color:#b5bd68!important}.highlight code .ss,#notebook .highlight .ss, body.api .highlight .ss {color:#b5bd68!important}.highlight code .bp,#notebook .highlight .bp, body.api .highlight .bp {color:#c5c8c6!important}.highlight code .vc,#notebook .highlight .vc, body.api .highlight .vc {color:#c66!important}.highlight code .vg,#notebook .highlight .vg, body.api .highlight .vg {color:#c66!important}.highlight code .vi,#notebook .highlight .vi, body.api .highlight .vi {color:#c66!important}.highlight code .il,#notebook .highlight .il, body.api .highlight .il {color:#de935f!important} EOT;\n}\n@advanced dropdown tab-size \"Code Tab size\" {\n 2 \"2\" <<<EOT\n pre, .highlight, .diff-table, .tab-size {\n tab-size: 2 !important;\n -moz-tab-size: 2 !important;\n } EOT;\n 4 \"4\" <<<EOT\n pre, .highlight, .diff-table, .tab-size {\n tab-size: 4 !important;\n -moz-tab-size: 4 !important;\n } EOT;\n 8 \"8\" <<<EOT\n pre, .highlight, .diff-table, .tab-size {\n tab-size: 8 !important;\n -moz-tab-size: 8 !important;\n } EOT;\n}\n==/UserStyle== */\n@-moz-document regexp(\"^https?://((education|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\") {\n button {\n color: #b5b5b5;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/968 */\n input, textarea {\n color: #c6c6c6;\n }\n /* fix lower half of notifications page being opaque */\n html {\n background: transparent;\n }\n svg[fill=\"none\"] {\n fill: none;\n }\n a[href^=\"https://apps.apple.com\"] svg {\n fill: #000;\n }\n .alert {\n background: #182030;\n border-color: #246;\n }\n .CircleBadge, check-steps, [id*=\"-list-view-node-\"] {\n background: #181818 !important;\n }\n .brJRqk, .sGlDF, .sGlDF > td {\n background: #202020 !important;\n }\n .brFBoI {\n border-color: #343434;\n }\n /* repo page */\n .js-snippet-clipboard-copy-unpositioned {\n background: #181818;\n }\n /* commits list */\n .listviewitem {\n background: #181818;\n }\n .cPEOjV {\n background: none !important;\n }\n .jMdYTc, .cPEOjV, .eYedVD {\n background: #202020 !important;\n }\n .icPbzT, .bJOEVt {\n color: #aaa !important;\n }\n .cWpRkn, .eeKhJr {\n background-color: #202020 !important;\n border-color: #202020 !important;\n }\n /* frontpage background */\n .application-main > div > .color-bg-inset {\n background: transparent !important;\n }\n [data-component=\"IconButton\"] {\n color: #aaa !important;\n }\n .kbjJSF, .kpTqBE {\n border-color: #383838 !important;\n background: #202020 !important;\n }\n .lhyFLG, .bqFowW, .dXveNa, .jepClM, .ddNLNa, .kdEavw, .gATYcR, .giEfVQ {\n background: #202020 !important;\n border-color: #343434 !important;\n }\n .cwSUxL, .fWVgeN, .gATYcR svg, .bqFowW, .kpTqBE {\n color: #ccc !important;\n }\n .bESQXL {\n background: #222 !important;\n }\n button[aria-current=\"true\"] > .segmentedControl-content {\n border-color: #484848 !important;\n background: #222 !important;\n color: #ccc !important;\n }\n [data-component=\"leadingVisual\"] {\n color: #ccc !important;\n }\n body[class=\"page-responsive\"] .list-options .list-item > .octicon {\n color: #181818;\n }\n .text-mono, .kKFNhh, .Link--secondary {\n color: #aaa !important;\n }\n /* remove frontpage background */\n .application-main > .color-bg-default, .feed-background {\n background: transparent !important;\n }\n /* remove feed item sub-background */\n .feed-item-content .color-bg-subtle {\n background: transparent !important;\n }\n /* generated github-mobile rules */\n /* begin github.com rules */\n .new-feed-onboarding-notice {\n background: var(--light-grad-pink-blue, radial-gradient(ellipse at 40% 0%, #bf398910 0, transparent 75%), radial-gradient(ellipse at 60% 0%, #096bde10 0, transparent 75%));\n }\n .discover-people-gradient {\n background: radial-gradient(ellipse at 40% -8%, var(--bgColor-accent-muted, var(--color-accent-muted)) 0, transparent 48%), radial-gradient(ellipse at 60% -8%, var(--bgColor-done-muted, var(--color-done-muted)) 0, transparent 48%);\n }\n .discussion-nested-comment-paging-form::before {\n background-color: transparent;\n }\n :target .discussion-nested-comment-group .timeline-comment,\n :target .nested-discussion-timeline-comment {\n box-shadow: none !important;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%) !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, rgba(52, 183, 89, .15) 0%, rgba(46, 164, 79, 0) 100%), #373 !important;\n }\n [data-color-mode=dark] .box-shadow-card-border-mktg {\n box-shadow: 0 0 0 1px hsla(0, 0%, 0%, .1) !important;\n }\n .box-shadow-card-border-light-mktg {\n box-shadow: 0 0 0 1px hsla(0, 0%, 0%, .1), 0 3px 2px rgba(0, 0, 0, .04), 0 7px 5px rgba(0, 0, 0, .02), 0 13px 10px rgba(0, 0, 0, .02), 0 22px 17px rgba(0, 0, 0, .02) !important;\n }\n .box-shadow-card-dark-mktg {\n box-shadow: 0 0 0 1px #f0f0f0, 0 30px 30px rgba(0, 0, 0, .07), 0 15px 15px rgba(0, 0, 0, .06), 0 10px 8px rgba(0, 0, 0, .05), 0 4px 4px rgba(0, 0, 0, .04), 0 2px 2px rgba(0, 0, 0, .03);\n }\n .box-shadow-card-dark-mktg::after {\n box-shadow: inset 0 1px 1px hsla(0, 0%, 0%, .1);\n }\n .text-white-fade {\n color: hsla(0, 0%, 0%, .7) !important;\n }\n .code-pink {\n color: #c49;\n }\n .bg-radial-white {\n background: radial-gradient(145.3% 145.3% at 65.91% 0%, #181818 0%, #f0f0f0 100%);\n }\n .text-gradient-blue-purple {\n background: -webkit-linear-gradient(-70deg, #4f8cc9 0%, #804eda 100%);\n }\n .font-mktg [data-color-mode=dark] {\n --color-fg-default: #181818 !important;\n }\n .header-overlay .Header:not(.open), .header-overlay .header-logged-out {\n background-color: transparent;\n }\n .header-dark .AppHeader, .header-dark .AppHeader .AppHeader-button,\n .header-dark .AppHeader .form-control, .header-overlay .AppHeader,\n .header-overlay .AppHeader .AppHeader-button,\n .header-overlay .AppHeader .form-control {\n box-shadow: none;\n }\n .testimonial-avatar {\n border: var(--borderWidth-thicker) solid var(--ghd-bg-color);\n }\n .subnav-link.selected {\n border-bottom-color: /*[[base-color]]*/;\n }\n @media (min-width: 768px) {\n .subnav-primary.selected {\n border-bottom-color: /*[[base-color]]*/;\n }\n }\n .animation-pause-toggle {\n background-color: transparent;\n }\n .fade-img-to-white-bg::before {\n background: linear-gradient(to bottom, #181818 0%, transparent 100%);\n }\n .fade-img-to-white-bg::after {\n background: linear-gradient(to top, #181818 0%, transparent 100%);\n }\n .password-validity-pill.password-validity-pill-close {\n background-color: #cb4;\n }\n .password-validity-summary.password-validity-summary-close {\n color: #cb4;\n }\n [data-color-mode=dark][data-dark-theme*=dark],\n [data-color-mode=light][data-light-theme*=dark] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=dark] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=dark] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n }\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-mktg-btn-bg: #dcdcdc;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-mktg-btn-bg: #dcdcdc;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-mktg-btn-bg: #dcdcdc;\n }\n }\n .home-campaign-signup-button {\n background: linear-gradient(180deg, rgba(183, 52, 179, .15) 0%, rgba(164, 46, 156, 0) 100%), #8348af !important;\n }\n .home-globe-scene {\n -webkit-mask-image: linear-gradient(to bottom, #f0f0f0 60%, transparent 75%);\n mask-image: linear-gradient(to bottom, #f0f0f0 60%, transparent 75%);\n }\n .fjdBNx {\n background-color: transparent;\n }\n .gXEGvh, .jmggSN th, .jpIAs:hover {\n background-color: var(--bgColor-muted, var(--color-canvas-subtle, #222));\n }\n .bzrqMq {\n background-color: transparent;\n }\n .bzrqMq, .bzrqMq:focus:not(:disabled) {\n box-shadow: none;\n }\n .bzrqMq:focus-visible:not(:disabled) {\n box-shadow: none;\n }\n .bzrqMq:disabled {\n box-shadow: none;\n }\n .bzrqMq[data-inactive]:not([disabled]):focus-visible {\n box-shadow: none;\n }\n .bObMPx {\n background-color: transparent;\n }\n .bObMPx, .bObMPx:focus:not(:disabled) {\n box-shadow: none;\n }\n .bObMPx:focus-visible:not(:disabled) {\n box-shadow: none;\n }\n .bObMPx:disabled {\n box-shadow: none;\n }\n .bObMPx[data-inactive]:not([disabled]):focus-visible {\n box-shadow: none;\n }\n .fPqezr {\n background-color: var(--button-default-bgColor-rest, var(--color-btn-bg, #222));\n }\n .fPqezr:focus:not(:disabled) {\n box-shadow: none;\n }\n .fPqezr:focus-visible:not(:disabled) {\n box-shadow: none;\n }\n .fPqezr:disabled {\n box-shadow: none;\n }\n .fPqezr[data-inactive]:not([disabled]):focus-visible {\n box-shadow: none;\n }\n .fPqezr:hover:not([disabled]):not([data-inactive]) {\n background-color: var(--button-default-bgColor-hover, var(--color-btn-hover-bg, #242424));\n }\n .jTAxWY {\n background-color: transparent;\n }\n .jTAxWY, .jTAxWY:focus:not(:disabled) {\n box-shadow: none;\n }\n .jTAxWY:focus-visible:not(:disabled) {\n box-shadow: none;\n }\n .jTAxWY:disabled {\n box-shadow: none;\n }\n .jTAxWY[data-inactive]:not([disabled]):focus-visible {\n box-shadow: none;\n }\n .ifFWTh {\n background-color: var(--button-default-bgColor-rest, var(--color-btn-bg, #222));\n }\n .ifFWTh:focus:not(:disabled) {\n box-shadow: none;\n }\n .ifFWTh:focus-visible:not(:disabled) {\n box-shadow: none;\n }\n .ifFWTh:disabled {\n box-shadow: none;\n }\n .ifFWTh[data-inactive]:not([disabled]):focus-visible {\n box-shadow: none;\n }\n .ifFWTh:hover:not([disabled]):not([data-inactive]) {\n background-color: var(--button-default-bgColor-hover, var(--color-btn-hover-bg, #242424));\n }\n .kaFZev {\n background-color: transparent;\n }\n .kaFZev, .kaFZev:focus:not(:disabled) {\n box-shadow: none;\n }\n .kaFZev:focus-visible:not(:disabled) {\n box-shadow: none;\n }\n .kaFZev:disabled {\n box-shadow: none;\n }\n .kaFZev[data-inactive]:not([disabled]):focus-visible {\n box-shadow: none;\n }\n .ipyMWB:is(button) {\n background-color: transparent;\n }\n .dheQRw:is(button) {\n background-color: transparent;\n }\n .GsMkW:is(button) {\n background-color: transparent;\n }\n .gNgnVl::after {\n color: var(--fgColor-onEmphasis, var(--color-fg-on-emphasis, #181818));\n }\n .cXNreu {\n background-color: var(--bgColor-default, var(--color-canvas-default, #181818));\n }\n .cDLBls {\n background-color: transparent;\n }\n [data-color-mode=\"auto\"][data-light-theme=\"light\"],\n [data-color-mode=\"auto\"][data-light-theme=\"light\"] ::backdrop,\n [data-color-mode=\"light\"][data-light-theme=\"light\"],\n [data-color-mode=\"light\"][data-light-theme=\"light\"] ::backdrop {\n --page-header-bgColor: #202020;\n --codeMirror-bgColor: #181818;\n --codeMirror-gutters-bgColor: #181818;\n --codeMirror-gutterMarker-fgColor-default: #181818;\n --codeMirror-lines-bgColor: #181818;\n --header-fgColor-logo: #181818;\n --avatar-bgColor: #181818;\n --avatar-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --control-bgColor-rest: #202020;\n --control-bgColor-selected: #202020;\n --control-borderColor-selected: #202020;\n --control-checked-fgColor-rest: #181818;\n --control-checked-fgColor-disabled: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-rest: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-bgColor-rest: #202020;\n --button-primary-fgColor-rest: #181818;\n --button-primary-fgColor-disabled: hsla(0, 0%, 0%, .8);\n --button-primary-iconColor-rest: hsla(0, 0%, 0%, .8);\n --button-outline-fgColor-hover: #181818;\n --button-outline-fgColor-active: #181818;\n --button-outline-bgColor-rest: #202020;\n --button-outline-bgColor-disabled: #202020;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-bgColor-rest: #202020;\n --buttonCounter-outline-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-outline-fgColor-hover: #181818;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --overlay-bgColor: #181818;\n --sideNav-bgColor-selected: #181818;\n --skeletonLoader-bgColor: #202020;\n --card-bgColor: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-default: #181818;\n --bgColor-muted: #202020;\n --bgColor-inset: #202020;\n --bgColor-white: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"light\"],\n [data-color-mode=\"auto\"][data-dark-theme=\"light\"] ::backdrop {\n --page-header-bgColor: #202020;\n --codeMirror-bgColor: #181818;\n --codeMirror-gutters-bgColor: #181818;\n --codeMirror-gutterMarker-fgColor-default: #181818;\n --codeMirror-lines-bgColor: #181818;\n --header-fgColor-logo: #181818;\n --avatar-bgColor: #181818;\n --avatar-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --control-bgColor-rest: #202020;\n --control-bgColor-selected: #202020;\n --control-borderColor-selected: #202020;\n --control-checked-fgColor-rest: #181818;\n --control-checked-fgColor-disabled: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-rest: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-bgColor-rest: #202020;\n --button-primary-fgColor-rest: #181818;\n --button-primary-fgColor-disabled: hsla(0, 0%, 0%, .8);\n --button-primary-iconColor-rest: hsla(0, 0%, 0%, .8);\n --button-outline-fgColor-hover: #181818;\n --button-outline-fgColor-active: #181818;\n --button-outline-bgColor-rest: #202020;\n --button-outline-bgColor-disabled: #202020;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-bgColor-rest: #202020;\n --buttonCounter-outline-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-outline-fgColor-hover: #181818;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --overlay-bgColor: #181818;\n --sideNav-bgColor-selected: #181818;\n --skeletonLoader-bgColor: #202020;\n --card-bgColor: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-default: #181818;\n --bgColor-muted: #202020;\n --bgColor-inset: #202020;\n --bgColor-white: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n }\n }\n [data-color-mode=\"auto\"][data-light-theme=\"dark\"],\n [data-color-mode=\"auto\"][data-light-theme=\"dark\"] ::backdrop,\n [data-color-mode=\"dark\"][data-dark-theme=\"dark\"],\n [data-color-mode=\"dark\"][data-dark-theme=\"dark\"] ::backdrop {\n --avatar-borderColor: hsla(0, 0%, 0%, .15);\n --control-checked-fgColor-rest: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-shadow-resting: 0 0 0 0 #f0f0f0;\n --button-primary-fgColor-rest: #181818;\n --button-primary-iconColor-rest: #181818;\n --button-primary-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-outline-fgColor-active: #181818;\n --button-outline-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-shadow-selected: 0 0 0 0 #f0f0f0;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-inverse: #181818;\n --bgColor-white: #181818;\n --bgColor-done-emphasis: #53387a;\n --bgColor-upsell-emphasis: #53387a;\n --borderColor-translucent: hsla(0, 0%, 0%, .15);\n --borderColor-done-emphasis: #53387a;\n --borderColor-upsell-emphasis: #53387a;\n --color-ansi-white-bright: #181818;\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"dark\"],\n [data-color-mode=\"auto\"][data-dark-theme=\"dark\"] ::backdrop {\n --avatar-borderColor: hsla(0, 0%, 0%, .15);\n --control-checked-fgColor-rest: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-shadow-resting: 0 0 0 0 #f0f0f0;\n --button-primary-fgColor-rest: #181818;\n --button-primary-iconColor-rest: #181818;\n --button-primary-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-outline-fgColor-active: #181818;\n --button-outline-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-shadow-selected: 0 0 0 0 #f0f0f0;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-inverse: #181818;\n --bgColor-white: #181818;\n --bgColor-done-emphasis: #53387a;\n --bgColor-upsell-emphasis: #53387a;\n --borderColor-translucent: hsla(0, 0%, 0%, .15);\n --borderColor-done-emphasis: #53387a;\n --borderColor-upsell-emphasis: #53387a;\n --color-ansi-white-bright: #181818;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=true], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button {\n background-color: transparent;\n }\n .close-button:active {\n box-shadow: none;\n }\n .filter-list.pjax-active .filter-item {\n background-color: transparent;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem {\n background-color: transparent;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .bgColor-transparent, .color-bg-transparent {\n background-color: transparent !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab, .markdown-body .emoji,\n .markdown-body pre > code, .markdown-body pre code, .markdown-body pre tt,\n .markdown-body table img {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .FormControl-input[disabled], .FormControl-select[disabled],\n .FormControl-textarea[disabled] {\n box-shadow: none;\n }\n .FormControl-input-wrap .FormControl-input-trailingAction {\n background-color: transparent;\n }\n input.FormControl-checkbox[type=checkbox][disabled] {\n box-shadow: none;\n }\n input.FormControl-checkbox[type=checkbox]:focus-visible {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio][disabled] {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio]:focus-visible {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15), transparent) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, #34b75926, transparent), #373 !important;\n color: #fff;\n }\n .btn-signup-mktg::before {\n background: linear-gradient(180deg, #34b75926, transparent) !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n .AvatarStack-body .avatar, .ToggleSwitch-track[disabled] .ToggleSwitch-knob {\n box-shadow: none;\n }\n anchored-position:not(.Overlay) {\n background: none;\n }\n .Button:disabled, .Button[aria-disabled=true] {\n box-shadow: none;\n }\n .Button--primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .border-white-fade {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n @keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n body [role=button]:focus:not(:focus-visible),\n body [role=tabpanel][tabindex=\"0\"]:focus:not(:focus-visible),\n body a:focus:not(:focus-visible), body button:focus:not(:focus-visible),\n body summary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .auth-form-header, .auth-form-header h1 a {\n color: #fff;\n }\n .auth-form-header .octicon {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .1);\n }\n .session-authentication .auth-form-header,\n .session-authentication .header-logged-out,\n .session-authentication.enterprise .header-logged-out,\n .session-authentication.hosted .header-logged-out,\n .switch-account-popover-row {\n background-color: transparent;\n }\n @media (min-width: 1012px) {\n .HeaderMenu .HeaderMenu-wrapper {\n background-color: transparent;\n box-shadow: none;\n }\n }\n .HeaderMenu .dropdown-menu {\n box-shadow: none;\n }\n .HeaderMenu-link {\n background-color: transparent;\n }\n @media (max-width: 1011px) {\n .HeaderMenu-item .HeaderMenu-dropdown {\n background-color: transparent;\n }\n }\n .HeaderMenu .search-input .Overlay {\n box-shadow: none;\n }\n .notification-indicator .mail-status, .unread-indicator {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .header-search-wrapper, .header-search-wrapper.focus {\n box-shadow: none;\n }\n .header-search-input {\n background: none;\n box-shadow: none;\n }\n .header-search-input:focus {\n box-shadow: none;\n }\n .header-search-button {\n background: none;\n }\n .header-search-button.input-button:focus-visible {\n box-shadow: none;\n }\n .header-search-scope {\n color: hsla(0, 0%, 0%, .7);\n }\n .jump-to-suggestions-path mark {\n background-color: transparent;\n }\n .app-banner-icon {\n color: #fff;\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) {\n .ActionList-item[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .ActionList-content {\n background-color: transparent;\n }\n .ActionList-content:focus {\n box-shadow: none;\n }\n .ActionList-content:focus-visible {\n box-shadow: none;\n }\n @media (hover: hover) {\n .ActionList-content[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .select-menu-tabs .select-menu-tab-nav, .select-menu-tabs a {\n background-color: transparent;\n }\n .select-menu.label-select-menu .select-menu-item:active {\n background-color: transparent !important;\n }\n .select-menu-item:focus .Label, .select-menu-item:hover .Label {\n border-color: currentcolor;\n }\n .collapsible-sidebar-widget-button, .comment-body .highlight {\n background-color: transparent;\n }\n .locked-conversation .preview-tab, .locked-conversation .write-tab {\n color: #767676;\n }\n .signed-commit-badge {\n background: none;\n }\n .blob-wrapper table tr:nth-child(2n) {\n background-color: transparent;\n }\n .add-line-comment.octicon-check {\n background-color: #c6c6c6;\n }\n .inline-comment-form {\n border-color: var(--borderWidth-thin);\n }\n button.discussion-sidebar-toggle {\n background: none;\n }\n .previewable-comment-form .comment-body {\n background-color: transparent;\n }\n :target .timeline-comment-group .timeline-comment .timeline-comment-group .timeline-comment {\n box-shadow: none !important;\n }\n .notifications-component-dialog:not([hidden]) + .notifications-component-dialog-overlay,\n .reponav-wrapper .reponav-item.selected {\n background-color: transparent;\n }\n @media (max-width: 768px) {\n .PageLayout--responsive-separateRegions.PageLayout--responsive-primary-pane .ActionList-item.ActionList-item--navActive:not(.ActionList-item--danger) {\n background-color: transparent;\n }\n }\n .steps {\n border-color: var(--borderWidth-thin);\n box-shadow: 0 1px 3px rgba(220, 220, 220, .05);\n }\n .steps li {\n color: #767676;\n border-left-color: var(--borderWidth-thin);\n }\n .prose-diff.no-level-zero-box-shadow .rich-diff-level-zero.added,\n .prose-diff.no-level-zero-box-shadow .rich-diff-level-zero.changed,\n .prose-diff.no-level-zero-box-shadow .rich-diff-level-zero.removed {\n box-shadow: none;\n }\n .social-reaction-summary-item {\n background-color: transparent;\n border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #246));\n }\n .new-reactions-dropdown .dropdown-menu-reactions::after,\n .new-reactions-dropdown .dropdown-menu-reactions::before {\n background-color: transparent;\n }\n .render-container.is-render-ready.is-render-requested:not(.is-render-failed) {\n background: none;\n }\n @media (prefers-reduced-motion: no-preference) {\n .Skeleton {\n -webkit-mask-image: linear-gradient(75deg, #f0f0f0 30%, rgba(0, 0, 0, .65) 80%);\n mask-image: linear-gradient(75deg, #f0f0f0 30%, rgba(0, 0, 0, .65) 80%);\n }\n }\n .AppHeader .AppHeader-globalBar .AppHeader-context .AppHeader-context-compact .AppHeader-context-compact-trigger {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-kbd {\n background-color: var(--bgColor-transparent, transparent);\n box-shadow: none;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-searchButton {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search input[type=search]:placeholder-shown {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-action--trailing {\n background-color: var(--bgColor-transparent, transparent);\n }\n .AppHeader .AppHeader-button {\n background-color: transparent;\n }\n .AnimatedImagePlayer-images {\n background: none;\n }\n @media (max-width: 767px) {\n .notifications-v2 .AvatarStack-body .avatar {\n border-right: var(--borderWidth-thin) solid var(--ghd-bg-color) !important;\n }\n }\n .notifications-v2 .thread-subscription-status {\n background-color: transparent !important;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .progress-pjax-loader {\n background-color: transparent;\n }\n .progress-pjax-loader > .progress-pjax-loader-bar {\n background-color: /*[[base-color]]*/;\n }\n .tag-input-container .focus {\n box-shadow: none !important;\n }\n .tag-input input {\n background: none;\n box-shadow: none;\n }\n .tag-input input:focus {\n box-shadow: none;\n }\n .topic-tag-outline {\n box-shadow: inset 0 0 0 1px #246;\n }\n .is-auto-complete-loading :not(input).form-control,\n .topic-input-container .tag-input .tag-input-inner {\n background-image: none;\n }\n .CommentBox-container.CommentBox-container:focus-within {\n box-shadow: none;\n }\n .CommentBox-input {\n background: none;\n }\n .CommentBox-input.CommentBox-input:focus,\n .CommentBox-input.CommentBox-input:focus-visible {\n box-shadow: none;\n }\n .CommentBox .dragover .CommentBox-input,\n .CommentBox .dragover .CommentBox-input:focus {\n box-shadow: none;\n }\n .CommentBox-comment.CommentBox-comment:focus,\n .CommentBox-comment.CommentBox-comment:focus-visible {\n box-shadow: none;\n }\n .QueryBuilder-Input {\n background-color: transparent;\n }\n .QueryBuilder-Input:focus {\n box-shadow: none !important;\n }\n .AvatarStack-body:not(:hover) {\n background-color: transparent;\n }\n .hx_badge-search-container .hx_badge-input {\n box-shadow: none;\n }\n .hx_badge-search-container .hx_badge-input:focus {\n box-shadow: none !important;\n }\n .dropdown-item.btn-link:disabled, .dropdown-item.btn-link:disabled:hover,\n .dropdown-item.btn-link[aria-disabled=true],\n .dropdown-item.btn-link[aria-disabled=true]:hover {\n background-color: transparent;\n }\n [data-color-mode=dark][data-dark-theme*=dark],\n [data-color-mode=light][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n --color-project-gradient-out: transparent;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n --color-project-gradient-out: transparent;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n --color-project-gradient-out: transparent;\n }\n }\n .Header-button:active, .Header-button:focus, .Header-button:hover {\n background-color: transparent;\n }\n .Header-button:active .octicon, .Header-button:focus .octicon,\n .Header-button:hover .octicon, .hx_kbd {\n box-shadow: none;\n }\n select-panel dialog::backdrop {\n background: none;\n }\n .Box--responsive .Box-row--unread {\n box-shadow: none;\n }\n .Box--responsive .Box-row--unread::before {\n color: #fff;\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .autocomplete-item, .topic-tag-outline {\n background-color: transparent;\n }\n .pagehead-tabs-item.selected, .reponav-item.selected {\n border-top-color: #fff;\n }\n .hx_disabled-input .form-control[contenteditable=false],\n .hx_disabled-input input[disabled], .hx_disabled-input select[disabled] {\n background-color: transparent;\n box-shadow: none;\n }\n .hx_disabled-input .form-select {\n background-image: none !important;\n }\n .integrations-install-target .flash,\n .integrations-install-target .flash-error {\n background-color: transparent;\n }\n .usage-bar {\n background-color: #2c2c2c;\n }\n .blob-code-content .error-highlight::before,\n .diff-table .error-highlight::before {\n background: linear-gradient(135deg, transparent, transparent 45%, var(--fgColor-danger, var(--color-danger-fg)), transparent 55%, transparent 100%), linear-gradient(45deg, transparent, transparent 45%, var(--fgColor-danger, var(--color-danger-fg)), transparent 55%, transparent 100%);\n }\n .code-frequency .addition {\n fill: #373;\n }\n .search-form-fluid .search-page-input {\n background: none;\n box-shadow: none;\n }\n .search-form-fluid .search-page-input:focus {\n box-shadow: none;\n }\n .suggest-icon path, .suggest-icon svg {\n fill: #181818;\n }\n development-menu .development-menu-component-dialog:not([hidden]) + .development-menu-component-dialog-overlay,\n development-menu .form-control[is-loading] {\n background-color: transparent;\n }\n .file {\n border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .file .image {\n background-color: #343434;\n }\n .file .image canvas, .file .image img {\n background-color: #2c2c2c;\n border: var(--borderWidth-thin) solid var(--ghd-bg-color);\n }\n .file .image .view canvas, .file .image .view img {\n background-color: #2c2c2c;\n }\n .file .empty {\n background: none;\n }\n .integrations-select-repos::-webkit-scrollbar-thumb {\n box-shadow: 0 0 1px hsla(0, 0%, 0%, .5);\n }\n .integrations-select-repos::-webkit-scrollbar-track-piece {\n background-color: transparent;\n }\n .task-progress .octicon {\n color: var(--fgColor-muted, var(--color-fg-muted), #767676);\n }\n .issue-meta-section .octicon {\n color: var(--fgColor-muted, var(--color-fg-muted), #5a5a5a);\n }\n .label-select-menu .selected:active,\n .label-select-menu [aria-checked=mixed]:active,\n .label-select-menu [aria-checked=true]:active {\n background-color: transparent !important;\n }\n .map-background {\n fill: /*[[base-color]]*/;\n }\n .map-graticule, .map-legend .map-legend-circle {\n stroke: #181818;\n }\n .map-legend .map-legend-text {\n fill: #181818;\n }\n .map-legend .map-legend-link {\n stroke: #181818;\n }\n .map-point, .map-point:hover {\n fill: #fb8532;\n }\n .MarketplaceEdit-body .CircleIcon {\n background-color: #444;\n }\n .ClipboardButton.ClipboardButton--success,\n .ClipboardButton.ClipboardButton--success:focus {\n box-shadow: 0 0 0 .2em #3737;\n }\n .news .alert {\n border-top-color: var(--borderWidth-thin);\n }\n .trial-banner-notice {\n background-image: linear-gradient(180deg, /*[[base-color]]*/ 0%, #4f8cc9 100%);\n }\n @media print {\n .State {\n background: none;\n }\n .State--open {\n border-color: var(--borderWidth-thin);\n }\n }\n .pending-cards-status {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .timeout {\n background-color: transparent;\n }\n .prereceive-feedback, .revert-error {\n border-color: var(--borderWidth-thin);\n }\n .access-token.new-token {\n background-color: #44884450;\n }\n .form-hr {\n border-bottom-color: var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup {\n border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup-item + .listgroup-item {\n border-top: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup-header {\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup-overflow {\n background-color: var(--bgColor-muted, var(--color-canvas-subtle, #222));\n }\n .draft-tag {\n color: #2c2c2c;\n }\n .showcase-page-pattern::after {\n background-image: linear-gradient(180deg, hsla(0, 0%, 0%, .85), #181818);\n }\n .sponsors-goal-progress-bar {\n background-color: #c49;\n }\n @media (prefers-reduced-motion: no-preference) {\n .sponsors-goal-progress-bar:hover {\n background: linear-gradient(90deg, #cb4 0%, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff 100%);\n }\n }\n .hx_status-indicator.status-indicator-loading {\n background-image: none;\n }\n .team-label-ldap {\n box-shadow: none;\n }\n .TrackingBlock .Button--invisible:disabled {\n background-color: transparent;\n }\n .tasklist-omnibar-input-wrapper:not([open]) .Overlay,\n .tasklist-textarea-container > textarea {\n box-shadow: none;\n }\n .convert-to-issue-button {\n background-color: transparent;\n }\n .WorkflowJob-deployment-progress .Progress {\n background: none;\n }\n .hx_flex-avatar-stack-item .avatar {\n box-shadow: none;\n }\n .hx_merge_queue_entry_status_icon {\n background-color: transparent;\n }\n @keyframes toggle-color {\n 0% {\n background-color: transparent;\n }\n 100% {\n background-color: transparent;\n }\n }\n .merge-branch-manually {\n background-color: transparent;\n }\n .status-meta-file-name {\n background-color: rgba(220, 220, 220, .05);\n }\n .milestone-title-link a {\n color: var(--fgColor-default, var(--color-fg-default), #c6c6c6);\n }\n .table-of-contents .toc-diff-stats .octicon {\n color: #767676;\n }\n .blame-commit[data-heat=\"1\"] {\n border-right-color: var(--borderWidth-thick);\n }\n .heat[data-heat=\"1\"] {\n background-color: #fb8532;\n }\n .blame-commit-date[data-heat=\"1\"] {\n color: #f3582c;\n }\n .blame-commit-date[data-heat=\"10\"] {\n color: #9b9b9b;\n }\n .branch-a-b-count .meter.zero {\n background-color: transparent;\n }\n .branch-a-b-count .bar-ahead.even, .branch-a-b-count .bar-behind.even {\n background-color: #2c2c2c;\n }\n .focusable-grid-cell:focus {\n box-shadow: none;\n }\n .diff-line-number .diff-line-number-button:focus-visible {\n box-shadow: none;\n }\n .expand-row-ellipsis, .react-code-line-contents .expand-row-ellipsis {\n background-color: transparent;\n }\n @media (forced-colors: active) {\n .code-navigation-cursor {\n background-color: #181818 !important;\n }\n }\n .tree-finder-input, .tree-finder-input:focus {\n box-shadow: none;\n }\n .tree-browser-result mark {\n background: none;\n }\n .DiffSquares-module__deletion--hKV3q {\n background: repeating-linear-gradient(to right bottom, hsla(0, 0%, 0%, .6), hsla(0, 0%, 0%, .6) .11rem, var(--bgColor-danger-emphasis) .11rem, var(--bgColor-danger-emphasis) .22rem);\n }\n /* end github.com rules */\n body, body.bg-gray {\n color: var(--ghd-body-color);\n background-color: var(--ghd-bg-color) !important;\n background-image: var(--ghd-bg-img) !important;\n background-clip: border-box !important;\n background-origin: padding-box !important;\n background-attachment: /*[[bg-attachment]]*/ !important;\n /*[[bg-options]]*/\n }\n .application-main > .color-bg-canvas-inset {\n background: transparent !important;\n }\n /* Base link colors */\n .markdown-body a strong, .markdown-format a strong,\n .notifications.list-group a:hover, a.octolinker-link[href], .commit-id:hover,\n .timeline-comment-action:hover, .Header-link[data-ga-click]:focus,\n .Header-link[data-ga-click]:hover, .btn-link .octicon-kebab-horizontal:hover,\n .Header-link:hover, .Header-link:focus, .bJroUH, .ztywJ {\n color: /*[[base-color]]*/;\n }\n .text-gray-light.btn-octicon:hover .octicon-kebab-horizontal,\n [aria-labelledby=\"files\"] .Link--primary,\n [aria-labelledby=\"files\"] .Link--secondary {\n color: /*[[base-color]]*/ !important;\n }\n #notebook a:hover, #notebook a:focus {\n color: /*[[base-color]]*/;\n opacity: .8;\n }\n body.api li a code {\n color: rgba(/*[[base-color-rgb]]*/, .9) !important;\n }\n body.api li a:active code, body.api li a:hover code {\n color: rgba(/*[[base-color-rgb]]*/, 1) !important;\n }\n .hidden-text-expander .hx_bg-black-fade-15 {\n background: #343434;\n }\n /* Base color panel */\n option:hover, .listings-layout .nav li a:hover,\n #fork-select .target:not(.disabled):hover, table.upgrades tr:hover td,\n .dashboard-tabs a:hover, .documentation-results a:hover,\n .hidden-text-expander a:hover, .example-nav li a.selected,\n .issues-reset-query:hover .octicon-x, .segmented-nav li.active,\n .diff-expander:hover, .owner-select-target:hover,\n .release-timeline-tags .expander-text:hover .expander-dots,\n .search-result-item.navigation-focus, .pull-request-link:hover,\n .issues-reset-query:hover .issues-reset-query-block, .result.selected,\n .result:hover, .CommunityTemplate-highlight, .version-picker a:hover,\n .discussion-item-changes-marker.is-unread .discussion-item-icon {\n background: /*[[base-color]]*/ !important;\n }\n .diff-table button.add-line-comment, .add-line-comment,\n .email-format .email-hidden-toggle a:hover {\n background: /*[[base-color]]*/;\n }\n .context-button::after {\n border-color: /*[[base-color]]*/ transparent !important;\n }\n .timeline-progressive-disclosure-button:hover,\n .release-timeline-tags .expander-text:hover .expander-dots,\n .review-comment[aria-selected=true],\n .timeline-comment[aria-selected=true] .review-summary .comment-body {\n border-color: /*[[base-color]]*/ !important;\n }\n /* pjax loader */\n [style*=\"background-color: rgb(121, 184, 255)\"] {\n background: /*[[base-color]]*/ !important;\n }\n @keyframes autofill {\n to {\n background-color: #181818;\n background-image: none;\n color: #ddd;\n }\n }\n input:-webkit-autofill, input:-webkit-autofill:hover,\n input:-webkit-autofill:focus, textarea:-webkit-autofill,\n textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus,\n select:-webkit-autofill, select:-webkit-autofill:hover,\n select:-webkit-autofill:focus {\n animation-name: autofill !important;\n animation-fill-mode: both !important;\n }\n #com #header .top-nav .dropdown-button:hover .dropdown-caret,\n .header-nav-link:hover .dropdown-caret, .header-nav-link:focus .dropdown-caret,\n .header-navlink:hover .dropdown-caret, .header-navlink:focus .dropdown-caret,\n .HeaderNavlink:hover .dropdown-caret, .HeaderNavlink:focus .dropdown-caret {\n border-top-color: /*[[base-color]]*/ !important;\n }\n .table-list .table-list-item.unread .table-list-cell-checkbox,\n .Box-row--unread, .Box-row.unread {\n border-left-color: /*[[base-color]]*/ !important;\n box-shadow: 2px 0 0 /*[[base-color]]*/ inset !important;\n }\n /* notification icon - \"transparent\" border */\n .notification-indicator .mail-status {\n border-color: #181818;\n }\n /* text selection */\n ::selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n ::-moz-selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n /* placeholder */\n ::-webkit-input-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::-moz-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n .select-menu-text-filter input::-webkit-input-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::-moz-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::placeholder {\n color: #555 !important;\n }\n ::-webkit-calendar-picker-indicator {\n background-color: #181818;\n color: #c9c9c9;\n }\n ::-webkit-calendar-picker-indicator:hover {\n color: #666;\n }\n /* Remove dotted borders on already otherwise higlighted elements (Firefox) */\n .dropdown-item:focus, .details-dialog:focus {\n outline: none;\n }\n /* commit tease */\n .commit-tease, .commit-tease-sha, .commit-tease .commit-author {\n color: #c6c6c6 !important;\n }\n .tree-browser-result mark {\n color: #c6c6c6;\n }\n /* people panel org page issue #1041 */\n .auto-search-group input[type=\"text\"][aria-label] {\n background: #181818;\n }\n .input-contrast {\n background: #181818;\n }\n /* add border to site search field */\n .radio-group input[type=radio] {\n position: relative !important;\n }\n .dragover textarea, .dragover .drag-and-drop {\n box-shadow: 0 0 1px 1px /*[[base-color]]*/ !important;\n }\n /* remove background on frontpage */\n .application-main > .color-bg-inset {\n background: none !important;\n }\n .starred .starred-button-icon {\n color: var(--color-fg-muted);\n }\n /* below style is workaround for Firefox. */\n /* see: https://bugzilla.mozilla.org/show_bug.cgi?id=1394491 */\n optgroup::before {\n color: #888 !important;\n background-color: #181818 !important;\n }\n optgroup {\n background-color: #191919 !important;\n }\n /* custom checkboxes and radios */\n input[type=\"checkbox\"], input[type=\"checkbox\"]:focus, input[type=\"radio\"],\n input[type=\"radio\"]:focus, input[type=\"checkbox\"]:hover:active,\n input[type=\"radio\"]:hover:active, input[type=\"checkbox\"]:disabled,\n input[type=\"checkbox\"]:hover:disabled,\n input[type=\"checkbox\"]:hover:active:disabled {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background-color: #181818;\n border: 1px solid #484848;\n color: #eee;\n height: 14px;\n width: 14px;\n padding: 0 !important;\n border-radius: 0 !important;\n }\n input[type=\"radio\"] {\n border-radius: 100% !important;\n }\n input[type=\"checkbox\"]:disabled, input[type=\"checkbox\"]:hover:disabled,\n input[type=\"checkbox\"]:hover:active:disabled, input[type=\"radio\"]:disabled {\n background-color: #282828 !important;\n color: #555 !important;\n }\n input[type=\"checkbox\"]:checked {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 0h512v512H0z\"/><path fill=\"%23ddd\" d=\"M99 213l-1 89 104 102 205-201v-91L203 315 99 213z\"/></svg>') !important;\n background-size: cover !important;\n }\n input[type=\"checkbox\"]:checked:disabled {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M0 0h512v512H0z\" fill=\"%23282828\"/><path fill=\"%23aaa\" d=\"M99 213l-1 89 104 102 205-201v-91L203 315 99 213z\"/></svg>') !important;\n }\n input[type=\"checkbox\"]:indeterminate {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23000\"/><rect x=\"64\" y=\"192\" width=\"384\" height=\"128\" fill=\"%23ddd\"/></svg>') !important;\n background-size: cover !important;\n }\n input[type=\"checkbox\"]:indeterminate:disabled {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23282828\"/><rect x=\"64\" y=\"192\" width=\"384\" height=\"128\" fill=\"%23aaa\"/></svg>') !important;\n }\n input[type=\"radio\"]:checked {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23000\"/><circle cx=\"256\" cy=\"256\" r=\"96\" fill=\"%23ddd\"/></svg>') !important;\n background-size: cover !important;\n }\n input[type=\"radio\"]:checked:disabled {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><rect width=\"512\" height=\"512\" fill=\"%23282828\"/><circle cx=\"256\" cy=\"256\" r=\"96\" fill=\"%23aaa\"/></svg>') !important;\n }\n /*[[tab-size]]*/\n /* User time line firsts */\n img[src$=\"profile-joined-github.png\"] {\n padding-bottom: 20px !important;\n }\n table.pricing-table td:first-child {\n text-indent: 9px;\n }\n /* HACK: Label colors */\n [class*=\"IssueLabel\"][style*=\" color: #f\"], .IssueLabel a[style*=\"color: #f\"],\n .issue-card-label[style*=\" color: #f\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #e\"], .IssueLabel a[style*=\"color: #e\"],\n .issue-card-label[style*=\" color: #e\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #d\"], .IssueLabel a[style*=\"color: #d\"],\n .issue-card-label[style*=\" color: #d\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #c\"], .IssueLabel a[style*=\"color: #c\"],\n .issue-card-label[style*=\" color: #c\"] {\n color: #e8e8e8 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #3\"], .IssueLabel a[style*=\"color: 3\"],\n .issue-card-label[style*=\" color: #3\"] {\n color: #181818 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #2\"], .IssueLabel a[style*=\"color: #2\"],\n .issue-card-label[style*=\" color: #2\"] {\n color: #181818 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #1\"], .IssueLabel a[style*=\"color: #1\"],\n .issue-card-label[style*=\" color: #1\"] {\n color: #181818 !important;\n }\n [class*=\"IssueLabel\"][style*=\" color: #0\"], .IssueLabel a[style*=\"color: #0\"],\n .issue-card-label[style*=\" color: #0\"] {\n color: #181818 !important;\n }\n /* Fix GitHub's weird dark mode labels by reverting them to light mode values */\n .hx_IssueLabel {\n --lightness-threshold: .453 !important;\n --border-threshold: .96 !important;\n --border-alpha: max(0, min(calc((var(--perceived-lightness) - var(--border-threshold)) * 100), 1)) !important;\n background: rgb(var(--label-r), var(--label-g), var(--label-b)) !important;\n color: hsl(0, 0%, calc(var(--lightness-switch) * 100%)) !important;\n border-color: hsla(var(--label-h), calc(var(--label-s) * 1%), calc((var(--label-l) - 25) * 1%), var(--border-alpha)) !important;\n }\n /* Tooltip on contribution calendar */\n .svg-tip {\n color: #949494;\n background: rgba(12, 12, 12, .8) !important;\n }\n .svg-tip::after {\n border-top-color: rgba(12, 12, 12, .9) !important;\n }\n .svg-tip strong {\n color: #dcdcdc;\n }\n .Label--gray-darker {\n border-color: #484848 !important;\n }\n .project-card .highlight pre {\n padding: 1em;\n overflow: auto;\n white-space: pre;\n word-wrap: initial;\n }\n .project-card code {\n padding: .2em .4em;\n background: #333 !important;\n }\n .intgrs-lstng-item-description::after {\n background-image: linear-gradient(to right, rgba(24, 24, 24, 0), #181818 80%) !important;\n }\n .marketplace-product-callout-bg {\n background-image: linear-gradient(to right, rgba(24, 24, 24, 0), #181818) !important;\n }\n .CircleBadge--github::after {\n background-color: #fff;\n }\n div[style*=\"background: linear-gradient(to bottom, rgba(246,248,250,0.5) 0%,rgba(246,248,250,1) 100%);\"] {\n background: linear-gradient(to bottom, rgba(32, 32, 32, .5) 0%, #202020 100%) !important;\n }\n .profile-timeline-month-heading {\n padding: 2px 5px !important;\n }\n input.tree-finder-input, input.tree-finder-input:focus {\n background: transparent !important;\n border: none !important;\n box-shadow: none !important;\n }\n .dropdown-menu, .word-upload-callout, .select-menu-modal {\n box-shadow: 0 3px 12px rgba(0, 0, 0, .4);\n }\n .dropdown-menu-dark::after {\n border-bottom-color: #343434 !important;\n }\n .exploregrid-item {\n border-color: rgba(255, 255, 255, .075) !important;\n box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 5px 10px rgba(0, 0, 0, .05) !important;\n }\n .exploregrid-item:hover {\n border-color: rgba(255, 255, 255, .15) !important;\n box-shadow: 0 1px 3px rgba(0, 0, 0, .15), 0 8px 15px rgba(0, 0, 0, .3) !important;\n }\n .box-shadow-large, html[class*=\"ghh-\"] .tooltipster-box {\n box-shadow: 0 1px 15px #000 !important;\n }\n img[src*=\"images/modules/checks\"].box-shadow-large {\n box-shadow: 0 1px 15px #fff !important;\n }\n /* add rounded borders on bottom */\n body[data-render-url], .render-viewer, .comment-content, .more-repos,\n .comment table {\n border-radius: 0 0 3px 3px !important;\n }\n .dashboard-tabs a, .search-filters {\n border-radius: 0 !important;\n }\n /* repo labels, private repo lists */\n .repo-label span, .private .repo-list-item, .hook-delivery-guid {\n background: #222 !important;\n color: #777 !important;\n }\n .private .mini-repo-list-item .repo-icon {\n color: #777 !important;\n }\n .private .mini-repo-list-item {\n background: #221 !important;\n }\n .section-nav .active a, .js-current .standalone a, .sidebar-module .disable>a {\n border-radius: 0 !important;\n border-left: 2px solid #eee !important;\n }\n .dropdown-arrow {\n border-top-color: #eee !important;\n transition: none !important;\n }\n #com #header .top-nav .dropdown-caret {\n border-top-color: #ccc !important;\n }\n .js-menu-target:hover .dropdown-arrow {\n border-top-color: /*[[base-color]]*/ !important;\n }\n .bg-gray-dark, .CheckRun {\n background: #181818 !important;\n }\n table[aria-labelledby=\"folders-and-files\"] th {\n background: var(--color-canvas-subtle) !important;\n }\n table[aria-labelledby=\"folders-and-files\"] thead tr {\n color: var(--color-fg-muted) !important;\n }\n table[aria-labelledby=\"folders-and-files\"] tbody {\n background: var(--color-canvas-default) !important;\n }\n #repos-sticky-header > div > div > div {\n background: var(--color-canvas-subtle) !important;\n }\n #readme {\n background: var(--color-canvas-default) !important;\n }\n #readme > div:first-child {\n background: var(--color-canvas-subtle) !important;\n }\n /* Add border-top to PR checks results blank slate */\n aside.border-top + section.bg-gray-dark:not([class*=\"js-\"]) {\n border-top: 1px solid #343434;\n }\n /* Make it more apparent that <details> is clickable */\n .markdown-body details summary:not([aria-haspopup]):hover {\n background: #282828;\n box-shadow: 0 0 0 2px #282828;\n cursor: pointer;\n }\n /* https://github.com/about/diversity dots fix */\n .bg-hero-dots-gray::after {\n filter: brightness(50%);\n }\n /* GitHub Bug: Center discussion close icon vertically */\n .discussion-item-closed .octicon {\n position: relative !important;\n top: -1px;\n }\n /* GitHub Bug: Center counters vertically on the line */\n .boxed-group .counter, .reponav-item .counter, .boxed-group .Counter,\n .reponav-item .Counter {\n position: relative !important;\n top: -1px !important;\n }\n /* GitHub Bug: Fix image swipe handle misalignment */\n .swipe .swipe-frame .swipe-bar .top-handle,\n .swipe .swipe-frame .swipe-bar .bottom-handle {\n left: -6px !important;\n }\n /* GitHub Bug: Stop commit message field from resizing horizontally */\n #commit-description-textarea {\n resize: vertical !important;\n }\n /* GitHub Bug: Fix cut-off 'g' letters in box headers like on https://github.com/notifications */\n .boxed-group .heading, .boxed-group > h3 {\n padding: 7px 10px 8px;\n line-height: inherit;\n }\n /* GitHub Bug: Fix cut-off 'g' letters on user page timeline repo names */\n .profile-timeline .lh-condensed {\n line-height: 1.35rem !important;\n }\n /* GitHub Bug: Fix cut-off 'g' letters on action workflow list */\n [id^=\"check_suite\"] .lh-condensed {\n line-height: 1.35rem !important;\n }\n /* GitHub Bug: fix disabled dropdown entries bg hover see https://git.io/Jfjul */\n .btn-link:disabled:hover {\n background: none;\n }\n /* GitHub Bug: Fix .branch-action-state ::after border right color */\n .branch-action-state-clean .timeline-comment--caret::after,\n .branch-action-state-dirty .timeline-comment--caret::after,\n .branch-action-state-unknown .branch-action-body::after,\n .branch-action-state-unstable .branch-action-body::after {\n border-right-color: #181818;\n }\n /* GitHub Bug: Vertically center ... expander in box headers */\n .Box-header .Details .ellipsis-expander {\n position: relative;\n top: -1.5px;\n }\n /* GitHub Bug: Vertically center counters on issue list \"Labels\" button */\n .subnav-item .Counter {\n position: relative;\n top: -1.25px;\n }\n /* GitHub Bug: Make review comment file table full width */\n .comment-body .blob-wrapper > table {\n width: 100%;\n }\n /* GitHub Bug: Vertically center labels on issue lists and add some margin */\n .Box-row .labels {\n vertical-align: middle;\n margin-left: .25rem;\n }\n /* GitHub Bug: Remove vertical padding on code suggestions diffs */\n .js-comment-body .blob-code-inner.py-1 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n /* GitHub Bug: Fix cut-off actions sidebar */\n .js-check-suites-sidebar {\n height: auto !important;\n }\n /* GitHub Bug: Fix link color in markdown comments */\n .reorderable-task-lists .markdown-body .issue-link {\n color: var(--color-text-link);\n font-weight: inherit;\n }\n /* GitHub Bug: Ensure body covers viewport height */\n body {\n min-height: 100vh;\n }\n /* GitHub Bug: Fix margin imbalance in issue comments */\n .edit-comment-hide > .mb-2 {\n margin-bottom: 0 !important;\n }\n .edit-comment-hide > .mb-2 .comment-reactions {\n margin-bottom: 8px !important;\n }\n /* Opinionated: Remove excessive box padding and adjust avatars to match */\n .Box-row, .Box-header, .Box-body {\n padding: 8px 12px;\n }\n .file-header {\n padding: 4px 6px;\n background: #202020 !important;\n }\n .js-code-editor .file-header {\n padding: 5px 10px;\n }\n /* https://github.com/vednoc/userstyles.world */\n /* https://github.com/vednoc/userstyles.world/blob/main/themes */\n /* https://github.com/vednoc/userstyles.world/blob/main/themes/.gitkeep */\n .avatar[width=\"24\"], .avatar-user[width=\"24\"] {\n width: 20px;\n height: 20px;\n }\n .AvatarStack .avatar {\n width: 20px !important;\n height: 20px !important;\n overflow: visible !important;\n }\n .orghead > div > div {\n margin-bottom: 0 !important;\n }\n .Box-header .avatar[width=\"24\"], .Box-header .avatar-user[width=\"24\"] {\n position: relative;\n top: 2px;\n left: 2px;\n }\n .Box-header a[rel] .avatar[width=\"24\"],\n .Box-header a[rel] .avatar-user[width=\"24\"] {\n top: -1px;\n left: 2px;\n margin-right: 4px;\n }\n .Box-header .ml-n1 {\n margin-left: 0 !important;\n margin-right: -8px !important;\n }\n /* fix close icon when .m-0 class is applied */\n .Box-btn-octicon.btn-octicon.m-0 {\n margin: -8px !important;\n }\n /* Repo files table: Make first border blue */\n .repository-content .Box.mb-3 .Details .sr-only + .Box-row {\n border-top-color: #246 !important;\n }\n /* Various tweaks to own comments in discussion */\n .discussion-comment.current-user div.clearfix {\n border-radius: 3px 3px 0 0;\n }\n .discussion-comment .js-inline-comments-container,\n .discussion-comment .js-resolvable-timeline-thread-container {\n background: none;\n }\n .discussion-comment .review-thread-reply {\n border-radius: 0 0 5px 5px;\n }\n .discussion-comment.current-user .review-thread-reply {\n background: #182030;\n border-color: #246;\n }\n /* Monochrome Issue progress icon */\n tracked-issues-progress circle[stroke] {\n --color-accent-fg: #ccc;\n }\n /* \"Code\" button on repo */\n .btn-primary .octicon {\n color: inherit;\n }\n .btn-primary.disabled, .btn-primary:disabled,\n .btn-primary[aria-disabled=\"true\"], .btn.disabled, .btn:disabled,\n .btn[aria-disabled=\"true\"] {\n color: var(--color-icon-tertiary);\n }\n /* topic tags */\n .topic-tag {\n box-shadow: inset 0 0 0 1px #246 !important;\n }\n .topic-tag.topic-tag-outline {\n box-shadow: inset 0 0 0 1px #6d7c9c !important;\n }\n /* user page sticky header */\n main > div.position-sticky.d-md-block.width-full {\n position: relative;\n }\n main > div.position-sticky.d-md-block.width-full:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: -24px;\n height: 24px;\n background: #181818;\n }\n /* Add bottom border on subnav - https://github.com/topics */\n .site-subnav {\n box-shadow: 0 1px 0 #343434 !important;\n }\n @media screen and (min-width: 1024px) {\n .site-subnav .subnav-primary.selected, .site-subnav .subnav-primary:hover {\n border-bottom-color: #eee !important;\n }\n }\n @media screen and (max-width: 768px) {\n body .p-responsive .subnav-btn {\n background: transparent !important;\n }\n body .p-responsive .subnav-link[href=\"https://enterprise.github.com/contact\"] {\n border-bottom-color: transparent !important;\n color: #8e8e8e !important;\n }\n body .p-responsive .subnav-link[href=\"https://enterprise.github.com/contact\"]:hover {\n border-bottom-color: transparent !important;\n color: #c6c6c6 !important;\n }\n }\n /* invisible border */\n @media screen and (max-width: 768px) {\n body.page-responsive .site-subnav .subnav-primary.selected,\n body.page-responsive .site-subnav .subnav-primary:hover {\n border-bottom-color: transparent !important;\n color: #c6c6c6 !important;\n }\n }\n .avatar-stack .avatar, .tabs > a, .header .divider-vertical, .about-menu-link {\n border-color: transparent !important;\n }\n /* darken border */\n .wiki-wrapper .wiki-empty-box:hover, .about-menu-link:hover,\n .about-menu-link.selected, .pricing-table {\n border-color: #777 !important;\n }\n /* brighten border */\n .filter-item.selected .Label--outline-white {\n border-color: #fff;\n }\n .filter-tab.selected {\n border: 1px solid #444 !important;\n border-bottom: 1px solid #343434 !important;\n }\n .follow-list .follow-list-item {\n border-bottom: 1px solid #343434 !important;\n }\n .branch-action-body::after {\n border-right-color: #181818 !important;\n }\n .branch-action-state-closed-dirty .branch-action-icon,\n .branch-action-state-dirty .branch-action-icon,\n .is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-icon,\n .State[title*=\"draft\" i] {\n background: #484848;\n }\n /* https://github.com/mobile/ */\n .mobile-gradient-bg {\n display: none;\n }\n svg.mobile-hero {\n filter: invert(100%) hue-rotate(180deg);\n }\n /* discussion timeline tweaks */\n .closed-banner {\n display: none !important;\n }\n /* background image on https://github.com/stylishThemes/github-dark/actions/new */\n .repo-actions-hero {\n filter: invert(1) hue-rotate(180deg);\n mix-blend-mode: exclusion;\n }\n .release .markdown-body img {\n background: none;\n }\n .js-profile-timeline-year-list {\n background: none !important;\n }\n .contribution-activity-listing .Progress {\n background: none !important;\n }\n .contribution-activity-listing .Progress-item {\n background: /*[[base-color]]*/ !important;\n }\n .discussion-timeline-actions {\n border-top: 2px solid #383838 !important;\n background: none !important;\n }\n .discussion-timeline::before {\n margin-top: 2px !important;\n background: #383838 !important;\n height: calc(100% - 259px) !important;\n }\n .profile-timeline.discussion-timeline::before {\n height: 100% !important;\n }\n .listings div.listing {\n border-left: 2px solid #333 !important;\n border-right: 2px solid #333 !important;\n }\n #org-members .member-listing {\n border-left: 1px solid #333 !important;\n border-right: 1px solid #333 !important;\n }\n .MarketplaceSideNav, .plans-card-text:first-child {\n border-right-color: #484848 !important;\n }\n /* fix commit form bg color */\n .commit-form {\n background-color: var(--ghd-bg-color);\n }\n .Popover-message.Box {\n background-color: var(--ghd-bg-color);\n }\n .Popover-message.box-shadow-large {\n box-shadow: 0 8px 24px rgba(24, 24, 24, .8) !important;\n }\n .Popover-message--top-left::after {\n border-bottom-color: #181818 !important;\n }\n .word-upload-callout::before, .word-upload-callout::after,\n .select-menu-modal-arrow::after, .Popover-message--top-left::before {\n border-bottom-color: #343434 !important;\n }\n .repo-filterer .repo-filter:hover, .review-summary::before {\n border-bottom-color: #484848 !important;\n }\n .issue-head {\n border-bottom-width: 1px !important;\n }\n .context-button:hover::after, .switcher > span::before {\n border-color: #eee transparent transparent !important;\n }\n /* repo tab tweaks */\n .reponav-item {\n border-top-width: 1px !important;\n }\n .reponav-item.selected {\n border-color: #343434;\n }\n .pagehead-tabs-item {\n border-top-width: 1px !important;\n }\n .Header .header-search-wrapper, .Header .header-search-wrapper input {\n background: #202020 !important;\n }\n .js-new-comment-form .previewable-comment-form .tabnav-tab.selected,\n .js-new-comment-form .previewable-comment-form .tabnav-tab[aria-current]:not([aria-current=\"false\"]),\n .js-new-comment-form .previewable-comment-form .tabnav-tab[aria-selected=\"true\"],\n .timeline-new-comment .timeline-comment,\n .timeline-new-comment .tabnav-tab.selected,\n .timeline-new-comment .tabnav-tab[aria-current]:not([aria-current=\"false\"]),\n .timeline-new-comment .tabnav-tab[aria-selected=\"true\"],\n .previewable-comment-form .comment-form-head.tabnav,\n .timeline-comment.current-user.is-comment-editing {\n background: #1b1b1b !important;\n }\n .new-discussion-timeline .composer .comment-form-head.tabnav {\n background: #202020;\n }\n .pagehead-tabs-item.selected, .reponav-item.selected, .tabnav-tab.selected,\n .tabnav-tab[aria-selected=\"true\"],\n .tabnav-tab[aria-current]:not([aria-current=\"false\"]) {\n background: #202020;\n border-bottom-color: #202020 !important;\n }\n .branches .branch-summary + .branch-summary {\n border-top-color: #333 !important;\n }\n /* code */\n .linkable-line-number {\n border-right: 1px solid #484848 !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/620 */\n .timeline-comment-header .css-truncate-target {\n max-width: 250px !important;\n }\n /* fix background on \"new issue\" form */\n .timeline-comment > div.p-0.mb-md-0 {\n background: var(--ghd-bg-color);\n border-radius: 3px 3px 0 0;\n }\n /* tooltip - tooltipped */\n .octotip {\n background-color: #003 !important;\n border-color: #006 !important;\n }\n .tooltipped::after {\n background: #343434 !important;\n }\n .tooltipped-n::before, .tooltipped-ne::before, .tooltipped-nw::before {\n border-top-color: #343434 !important;\n }\n .tooltipped-s::before, .tooltipped-se::before, .tooltipped-sw::before {\n border-bottom-color: #343434 !important;\n }\n .tooltipped-e::before {\n border-right-color: #343434 !important;\n }\n .tooltipped-w::before {\n border-left-color: #343434 !important;\n }\n .review-comment[aria-selected=true],\n .timeline-comment[aria-selected=true] .review-summary {\n background-color: #181818 !important;\n box-shadow: 0 0 0 .2em rgba(/*[[base-color-rgb]]*/, .3) !important;\n }\n .timeline-comment-group[aria-selected=true] .timeline-comment::before {\n border-right-color: /*[[base-color]]*/ !important;\n left: -17px !important;\n filter: none !important;\n }\n .timeline-comment:target .review-summary::after {\n top: -16px !important;\n filter: none !important;\n }\n .timeline-comment[aria-selected=true] .review-summary::before {\n border-bottom-color: rgba(/*[[base-color-rgb]]*/, .3) !important;\n top: -19.75px !important;\n filter: none !important;\n }\n /* fix .discussion-topic-header in first PR bg color match the arrow */\n .timeline-comment .discussion-topic-header {\n background-color: var(--ghd-bg-color);\n }\n /* search - language sidebar - https://github.com/StylishThemes/GitHub-Dark/search?q=markdown */\n div.container-lg > div.float-left.px-md-2 > .border.rounded-1.d-none.d-md-block {\n background: #181818;\n border-color: #484848 !important;\n }\n .dashboard-sidebar, .tint-box, .capped-card-content, .table-list-item,\n .pinned-issue-item, .line-comments, .js-notice > .border:not(.bg-blue-light),\n .js-notice.border, #projects-results, .pr-toolbar.is-stuck,\n article.border.rounded-1, #search-member, .sidebar-progress-bar > .d-flex,\n .pagination-loader-container .discussion-item-header .border,\n #wiki-footer .border-dashed, #wiki-rightbar .border-dashed,\n .profile-timeline-card, .avatar-before-user-status,\n .graph-before-activity-overview, .access-form-wrapper,\n .border-right.border-bottom.border-left, .news .issues_labeled .border,\n table.pricing-table, .two-factor-steps, .project-column,\n .branch-action-item.js-transitionable, .prose-diff, .listgroup,\n .repository-og-image:not([style*=\"background-image\"]),\n .thread-subscription-status {\n background: #181818;\n }\n /* Expandable review boxes, rendered and loading */\n .js-inline-comments-container, .js-resolvable-timeline-thread-container {\n background: #181818;\n border-radius: 3px;\n }\n .js-diff-load-container, .file .data.empty {\n background-color: var(--ghd-code-background) !important;\n border-radius: 0 0 5px 5px !important;\n }\n /* unread notifications are darker bg than read issue #1095 */\n .blame-hunk .blame-commit, .notifications-list-item.notification-unread {\n background: #181818;\n }\n /* read notifications are lighter bg than read issue #1095 */\n .notifications-list .list-style-none.bg-gray {\n background: #1e1e1e !important;\n }\n .blame-hunk, .blame-hunk .blob-num, .render-container, .blob-wrapper {\n background-color: var(--ghd-code-background) !important;\n }\n .radio-label, [style*=\"background-color: #2f363d\"],\n .project-full-screen .project-header {\n background-color: #181818 !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/811 */\n .application-main > main .container-sm > .pt-4.bg-white.text-center {\n background: none !important;\n }\n /* Labels/Milestone links https://github.com/StylishThemes/Github-Dark/issues */\n .subnav-links {\n background: #181818;\n }\n /* blankslates */\n /* bordered: https://github.com/StylishThemes/GitHub-Dark/actions/runs/42585904 */\n /* bordered: https://github.com/StylishThemes/GitHub-Dark/network/alerts */\n /* unbordered: https://github.com/StylishThemes/GitHub-Dark/pull/1069/files/d0801046a22eaf88d9081de9c7d415825cb1f9fa..291b428577d344d54039de9aa0d8ed3a8fcfaebc */\n .blankslate {\n background: none !important;\n }\n .blankslate.border, .blankslate.border-gray-light,\n .js-updatable-content > .border.rounded-1, .actions-workflow-stats,\n .actions-fullwidth-module {\n background: #181818 !important;\n }\n /* add background to pagination active states and remove transitions */\n .pagination a:active, .pagination a:focus, .pagination a:hover,\n .pagination em:active, .pagination em:focus, .pagination em:hover,\n .pagination span:active, .pagination span:focus, .pagination span:hover {\n background: #181818;\n transition: none !important;\n }\n .pagination a, .pagination em, .pagination span {\n transition: none !important;\n }\n /* add background to discussions sidebar box */\n .repository-content > .js-check-all-container .d-none.d-lg-block > .border {\n background: #181818;\n }\n /* add background to packages page */\n /* https://github.com/yarnpkg/berry/packages/19319 */\n .repository-content .border.rounded-1.px-3.py-4.mb-6 {\n background: #181818;\n }\n button.bg-white.subnav-link, main [style=\"background-color: #fcfdfd;\"],\n .repository-content > .bg-white:not(.card-filter-autocomplete-dropdown),\n [data-color-mode] {\n background-color: transparent !important;\n }\n .sidebar-module, div.search-form input, #search > input[name=\"q\"],\n .ais-SearchBox-input {\n background-color: #181818;\n border-color: #343434;\n }\n .blob-num-context, #user-content-toc td {\n background: #141414 !important;\n }\n .action-card::after, .action-card::before {\n background-color: #202020 !important;\n box-shadow: 0 0 0 1px #555 !important;\n }\n /* pseudo-transparent effects */\n .conversation-list-heading .inner, .profile-timeline-month-heading {\n background-color: var(--ghd-bg-color) !important;\n }\n /* Navigation focus */\n .list-browser-item.navigation-focus, .js-details-container.navigation-focus,\n .js-details-container.navigation-focus:nth-child(2n), .team-grid .team-members,\n .tree-browser tr.navigation-focus td,\n .issues-listing .table-list-issues .selectable:hover,\n .issues-listing .table-list-issues .navigation-focus, .setup-plans tr.selected,\n .notifications .navigation-focus, .sidebar-module ul ul li a:hover,\n .no-results, #gollum-editor-help-list, .owner-select-target,\n .divider .blob-code div.highlight,\n .oauth-org-access-details .boxed-group-list > li.on:hover, pre div:hover,\n .summary-stats li a:hover, .pinned-repos-selection-list-item.selected,\n .Box-body-row--highlight.navigation-focus, .Box-body-row--highlight:hover,\n .js-current .standalone a, .Box-row--focus-gray.navigation-focus,\n .team-listing .is-open.root-team, .Box-row--hover-gray:hover,\n .label-select-menu .select-menu-item.navigation-focus,\n .label-select-menu .select-menu-item:focus,\n .label-select-menu .select-menu-item:hover, .hRRzix:hover {\n background: #222 !important;\n }\n .search-result-group {\n background: #282828 !important;\n border-color: rgba(68, 68, 68, .5) !important;\n color: #555 !important;\n }\n .blame-commit-next .blame-commit-info, .blame-commit-next + .blame-line,\n .ScreenshotCarousel-nav {\n box-shadow: inset 0 1px 0 #343434 !important;\n }\n /* semi-transparent */\n .context-loader.large-format-loader, #graphs .loader, .org-header,\n .illflow-item:not(.selected):hover, .orghead, .dropdown-toggle:hover,\n .dropdown-toggle.selected {\n background: rgba(20, 20, 20, .4) !important;\n }\n /* repo/page header */\n .page-responsive .repohead, .page-responsive .pagehead,\n .repohead.bg-gray-light, .pagehead.bg-gray-light, main > .bg-gray-light,\n .application-main > .bg-gray-light {\n background: rgba(20, 20, 20, .4) !important;\n }\n main > .bg-gray-light nav.bg-gray-light {\n background: none !important;\n }\n .explore-signup-entice-inner {\n background: rgba(20, 20, 20, .9) !important;\n }\n .starred-repo.navigation-focus, .marketing-section-stripe,\n .blob-expanded .blob-num, .blob-expanded .blob-code, .migration-section-grey {\n background: rgba(50, 50, 50, .5) !important;\n }\n .details-expanded-dark[open] > summary::before,\n .details-overlay-dark[open] > summary::before,\n body.status .details-overlay-dark[open] > summary::before,\n body[class=\"page-responsive\"] .details-overlay-dark[open] > summary::before,\n .SelectMenu::before {\n background: rgba(0, 0, 0, .5) !important;\n }\n .shelf {\n background-color: rgba(0, 0, 0, .2) !important;\n background-image: none !important;\n }\n /* page overlay */\n .select-menu-loading-overlay, .slow-loading-overlay,\n .branches .loading-overlay {\n background-color: rgba(24, 24, 24, .6) !important;\n }\n /* remove background */\n body > pre, .textographic a.repo, .stars-browser .filter-bar,\n .highlight .file-diff-line:hover pre, .gravatar, .topsearch span.search-input,\n p.meta, #facebox, .profilecols .filter-bar, .btn-group,\n div.content-header .search-form, .file-code, .org-header .edit-org:hover,\n #wrapper, .gravatar img, .commit-comments-header-sha, pre.headers code,\n .audit-search-form, .columns.equacols.bordered, .commits li img,\n a.minibutton code, .keyboard-mappings th, .api #header-wrapper .nav,\n .marketing-nav a.selected, #graph_data .tabs, .org-nav-item.selected,\n .edit-team-member:hover, tr.commit, .release-timeline .js-details-container,\n .section-heading-title a.js-selected-navigation-item,\n .featured-callout .screenshot, .timeline-commits .commit-meta .status,\n .theme-picker-spinner, .timeline-commits .commit-meta .octicon,\n .file .meta-divider, .avatar-stack.multiple-avatars::before, #feedHandler,\n .discussion-sidebar-item .thread-subscription-status,\n .boxed-group.application-show-group .logo-upload, .diagram-icon-small,\n #readme .highlight, .ace-github, .theme-picker, .avatar-stack .avatar,\n .boxed-group, .header .divider-vertical, .ace-github-base16,\n .markdown-body pre code, .markdown-body pre tt, #readme .plain pre,\n .uploaded-files, .input_area, #notebook .highlight, #notebook .highlight pre,\n .output_area pre, .delete-owners-button:hover, .avatar-child,\n .session-authentication .header-logged-out,\n .session-authentication .auth-form-header,\n .timeline-progressive-disclosure-items, #com #footer, .shade-gradient,\n #categories .list, .main-content, .showcase-page-header,\n .showcase-page-pattern::after, .description-inline, .result-group a,\n .border-wrap, a.feed-icon, .session-device,\n .boxed-group-list > li.session-device:hover,\n .merge-status-item .merge-status-icon, .project-columns, .project-header,\n .user-profile-nav, .profile-timeline-year-list.bg-white,\n .discussion-item-review .timeline-comment, .libraries-jumbotron,\n .bg-shade-gradient, .dev-hero,\n .render-container.is-render-ready.is-render-requested:not(.is-render-failed),\n .user-list li em, .api table, .dashboard-notice .coupon, .release-label,\n .oauth-org-access-details .oauth-org-item.on, .MarketplaceSideNav,\n .timeline-inline-comments, .AvatarStack-body, .team-discussions-container,\n .Collection ~ div[style*=\"linear-grad\"],\n .application-main > div[style*=\"background\"], .AvatarStack-body .avatar,\n .dropdown-toggle, ul.add-member-team-list.table-list, .gh-header,\n .enterprise-prompt, .enterprise-prompt *, .diffbar, .footer .bg-gray-light,\n .application-main [style*=\"background: linear-gradient(#ffffff, #fcfcfc)\"],\n section[style=\"background-color: #fafbfc;\"], div[style=\"background:#fafbfc;\"],\n .team-left-column, .render-container.js-actions-page,\n .deployments-timeline-icon, .TimelineItem--condensed .TimelineItem-badge,\n .notification-navigation, .check-annotation code pre,\n .merge-status-item > [style*=\"#fff\"], .pagehead, .pagehead nav {\n background: none !important;\n }\n @media (min-width: 1012px) {\n .file-commit-form--full {\n background: none !important;\n }\n }\n body[class=\"page-responsive\"] .repo-list .private {\n background-color: initial;\n }\n .TimelineItem-badge {\n border-color: var(--ghd-bg-color);\n }\n /* org page graphs - https://github.com/StylishThemes */\n rect[style*=\"#gradient-\"] {\n fill: /*[[base-color]]*/ !important;\n }\n /* contribution progress bars on user page */\n .contribution-activity-listing .progress-bar[style*=\"7bc96f\"],\n .facebox-close:hover {\n opacity: 1 !important;\n }\n .contribution-activity-listing .progress-bar[style*=\"c6e48b\"], .facebox-close {\n opacity: .75 !important;\n }\n .notifications .read .avatar img {\n opacity: .7;\n }\n /* contribution calendar */\n .contribution-activity-listing .progress-bar[style*=\"background-color\"] {\n background-color: /*[[base-color]]*/ !important;\n fill: /*[[base-color]]*/ !important;\n }\n .contrib-legend .legend li {\n box-shadow: none !important;\n }\n .contrib-legend [style*=\"#ebedf0\"], .calendar-graph [fill=\"#ebedf0\"] {\n background: var(--color-calendar-graph-day-bg) !important;\n fill: var(--color-calendar-graph-day-bg) !important;\n }\n .contrib-legend [style*=\"#9be9a8\"], .calendar-graph [fill=\"#9be9a8\"] {\n background: var(--color-calendar-graph-day-L1-bg) !important;\n fill: var(--color-calendar-graph-day-L1-bg) !important;\n }\n .contrib-legend [style*=\"#40c463\"], .calendar-graph [fill=\"#40c463\"] {\n background: var(--color-calendar-graph-day-L2-bg) !important;\n fill: var(--color-calendar-graph-day-L2-bg) !important;\n }\n .contrib-legend [style*=\"#30a14e\"], .calendar-graph [fill=\"#30a14e\"] {\n background: var(--color-calendar-graph-day-L3-bg) !important;\n fill: var(--color-calendar-graph-day-L3-bg) !important;\n }\n .contrib-legend [style*=\"#216e39\"], .calendar-graph [fill=\"#216e39\"] {\n background: var(--color-calendar-graph-day-L4-bg) !important;\n fill: var(--color-calendar-graph-day-L4-bg) !important;\n }\n .calendar-graph .days-selected rect.day.active {\n stroke: #ddd !important;\n }\n .calendar-graph rect.day:hover {\n stroke: #fff !important;\n }\n .calendar-graph rect.day {\n outline: none !important;\n }\n .contrib-person path {\n fill-opacity: .6;\n }\n .progress-bar.anim-grow-x, .dev-hero, .header-search-key-slash,\n input[src$=\"with-facebook.png\"], #parallax_field, #parallax_illustration,\n figure .callout-permalink-big-image, figure .callout-permalink-stacked-image {\n filter: brightness(75%) !important;\n }\n img#parallax_error_text {\n filter: invert(100%) hue-rotate(180deg) brightness(120%) !important;\n }\n img[src*=\"data:image/jpeg;base64,/9j/4AAQSkZJRgA\"] {\n filter: brightness(90%);\n }\n img[src*=\"//render.githubusercontent.com/render/math\"] {\n filter: invert(90%);\n background-color: transparent;\n }\n .header-search-key-slash {\n filter: grayscale(100%) contrast(1.5) !important;\n }\n /* Activity Overview on userpage */\n .activity-overview-axis, .activity-overview-point {\n stroke: /*[[base-color]]*/ !important;\n }\n #user-activity-overview .js-highlight-blob {\n stroke: /*[[base-color]]*/ !important;\n fill: /*[[base-color]]*/ !important;\n opacity: .4 !important;\n }\n /* invert (rgb) */\n #header .logo, img[src=\"/images/logo@2x.png\"], .site-logo a,\n .github-jobs-promotion a.jobs-logo strong, iframe[src*=\"polldaddy.com\"],\n .swipe .swipe-frame .swipe-bar .top-handle,\n .swipe .swipe-frame .swipe-bar .bottom-handle,\n .onion-skin .controls .transparent, .onion-skin .controls .opaque,\n .onion-skin .controls .slider .slider-track,\n .onion-skin .controls .slider .slider-track .dragger,\n img[src$=\"favicons.githubusercontent.com/github.com\"],\n img[src$=\"invertocat.png\"], .ghd-invert, #footer .github img,\n #com span.octicon:not(.octicon-comment-discussion),\n .developer-thanks-image img, img[alt=\"GitHub Support\"] {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n .code-navigation-banner .code-navigation-banner-illo {\n filter: invert(900%) hue-rotate(180deg) contrast(70%) brightness(110%) !important;\n }\n /* code coverage */\n /* example: https://github.com/go-gitea/gitea/pull/6969 */\n img[data-canonical-src^=\"https://codecov.io\"][alt=\"Impacted file tree graph\"] {\n filter: invert(92%) hue-rotate(180deg) saturate(250%) !important;\n }\n /* marketplace + help + feature img invert */\n img[src*=\"marketplace-illustration-01.svg\"],\n img[src*=\"marketplace-illustration-02.svg\"],\n svg [data-name=\"Layer 2\"] #Layer_5[data-name=\"Layer 5\"],\n .illoTeam svg [data-name=\"Layer 2\"], .illoIndiv #Layer_2[data-name=\"Layer 2\"],\n svg [data-name=\"Layer 2\"] g[data-name=\"octocat header\"],\n svg[viewBox=\"0 0 1461.5 677.84\"][width=\"700\"],\n .feature-preview-dialog svg[fill=\"none\"],\n div[data-url*=\"/notifications/beta\"] img[src*=\"-zero.svg\"],\n div[data-url*=\"/notifications/beta\"] img[src*=\"saved-blank.svg\"] {\n filter: invert(85%) hue-rotate(-180deg) brightness(125%) contrast(85%) !important;\n }\n .action-logo::after {\n filter: invert(100%) hue-rotate(180deg) brightness(350%) !important;\n }\n img[alt=\"FOSSA Status\"], img[data-canonical-src*=\"prod/timeseries/\"],\n a[href$=\"vote\"] img[data-canonical-src*=\"/poll/\"], #parallax_error_text:not(p),\n img[data-canonical-src*=\"img.shields.io\"][data-canonical-src*=\"style=social\"],\n img[alt=\"Mona Lisa\"] {\n filter: invert(90%) hue-rotate(180deg) !important;\n }\n /* prevent background color inverting to bright color on opaque images */\n /* example: social buttons on https://github.com/facebook/jest#readme */\n img[alt=\"FOSSA Status\"],\n img[data-canonical-src*=\"img.shields.io\"][data-canonical-src*=\"style=social\"] {\n background: none !important;\n }\n .container-xl[id] img {\n z-index: 100 !important;\n }\n /* GeoJSON maps */\n /* https://github.com/benbalter/dc-maps/blob/master/maps/embassies.geojson */\n /* https://github.com/colemanm/hurricanes/blob/master/fl_2004_hurricanes.geojson */\n .leaflet-tile-container img {\n filter: invert(100%) hue-rotate(180deg) brightness(150%) !important;\n }\n .leaflet-marker-pane img:not(.leaflet-marker-icon), .gundamcat {\n filter: brightness(.8) !important;\n }\n .leaflet-popup-content-wrapper, .map-legends, .map-tooltip {\n background: var(--color-bg-secondary);\n }\n .leaflet-container {\n color: var(--color-text-secondary);\n }\n .leaflet-popup-tip {\n border-top-color: var(--color-bg-secondary);\n }\n .marker-properties tr:nth-child(2n) th, .marker-properties tr:nth-child(2n) td {\n background-color: var(--color-bg-tertiary);\n }\n .marker-properties, .marker-properties th, .marker-properties td {\n border: 1px solid var(--color-border-primary);\n }\n /* invert #fff to #181818 */\n /* https://github.com/sujitpal/statlearning-notebooks/blob/master/src/chapter2.ipynb */\n .project-preview-img img, img[src$=\"bg-callout.svg\"],\n img[data-canonical-src*=\"saucelabs.com/browser-matrix\"],\n img[src*=\"images/modules/checks\"], img[src$=\"profile-first-pr.png\"],\n img[src$=\"profile-joined-github.png\"], img[src$=\"profile-first-repo.png\"],\n img[src$=\"profile-first-issue.png\"], .github-jobs-logo strong, .leaflet-bar,\n .leaflet-control-attribution {\n filter: invert(90.5%) hue-rotate(180deg) saturate(200%) !important;\n }\n /* workaround filter creating a stacking context */\n .contribution-first-issue, .contribution-first-pull-request,\n .contribution-first-repository {\n opacity: .999 !important;\n }\n /* brighten language colors */\n .language-color, .repo-language-color {\n filter: brightness(125%) !important;\n }\n /* soft badges */\n .box-title-count {\n background-color: #484848 !important;\n color: #ccc !important;\n }\n /* Unicorn page - https://github.com/azadkuh/sqlite-amalgamation/blame/master/sqlite3.c */\n body > .container > p {\n color: #ccc;\n }\n /* change foreground color of yellow boxes */\n .Toast--warning .Toast-icon {\n color: #222;\n }\n /* svg styling */\n line, rect, path {\n shape-rendering: geometricPrecision !important;\n }\n .js-graph-punchcard svg.viz {\n background: transparent !important;\n border: none !important;\n }\n .reorderable-task-lists .markdown-body .task-list-item .drag-handle {\n fill: #c0c0c0 !important;\n }\n /* Firefox: Exclude text inside an svg loaded through an img, as seen in svg badges */\n *:not(img) text, circle.day {\n fill: #ccc !important;\n }\n circle.day:hover {\n fill: #fff !important;\n }\n path.js-diff-placeholder {\n fill: #282828 !important;\n }\n .prose-diff .changed .added, .prose-diff .changed ins,\n .prose-diff .changed ins code, .prose-diff .changed ins pre {\n background: #002800;\n border-bottom: 1px solid #373;\n }\n #contributors-master svg.viz {\n display: block !important;\n }\n g.dots circle {\n stroke: #222 !important;\n }\n .traffic-graph g.axis:not(.views):not(.unique) g.tick:not(:nth-child(15)):not(:first-of-type) line,\n g.axis path, line.axis, svg:not(.vis) g.axis line {\n stroke: #444 !important;\n }\n svg .path:not(.total):not(.unique):not(.views) {\n stroke: #aaa !important;\n }\n .workflow-string--crossover svg path[stroke=\"#D1D5DA\"] {\n stroke: #404040 !important;\n }\n #commit-activity-detail path.path,\n .traffic-graph g.x.axis g.tick:first-of-type line {\n stroke: #1db34f !important;\n }\n [style*=\"stroke: #dbab09\"], [stroke=\"#dbab0a\"] {\n stroke: #cb4 !important;\n }\n .traffic-graph g.x.axis g.tick:nth-child(15) line {\n stroke: #1d7fb3 !important;\n }\n svg.tick {\n fill: #444 !important;\n }\n svg.arrow[stroke=\"#1277eb\"], svg path[stroke=\"#1074E7\"] {\n stroke: /*[[base-color]]*/ !important;\n }\n .features-branch-diagram path[stroke=\"#c6d9ed\"],\n .features-branch-diagram path[stroke=\"#4182C4\"],\n .features-branch-diagram div:not(.active) .mega-octicon {\n stroke: /*[[base-color]]*/ !important;\n color: /*[[base-color]]*/ !important;\n }\n .features-branch-diagram circle[fill=\"#4183c4\"],\n .repo-list-stats a.issues:hover svg {\n fill: /*[[base-color]]*/ !important;\n }\n .features-branch-diagram circle[stroke=\"#ffffff\"] {\n stroke: #222 !important;\n }\n rect.map-background, .audit-log-map {\n fill: #1e4062 !important;\n background: #1e4062 !important;\n }\n path.land {\n stroke: #17334f !important;\n }\n circle.audit-point {\n fill: #742d14 !important;\n stroke: #57210f !important;\n }\n .graphs .selection .selection {\n fill: #888 !important;\n stroke: #888 !important;\n }\n /* monochrome backgrounds */\n .label-select-menu div.labelstyle-000000.selected {\n background: #282828 !important;\n }\n div#common-issues ul li a:hover, .rss-subscribe:hover {\n background-color: #282828 !important;\n }\n .jumbotron-codelines {\n background-color: #222 !important;\n }\n .community-checklist .progress-bar .progress {\n background-color: #333;\n }\n .profile-timeline.discussion-timeline::before,\n .profile-timeline.discussion-timeline .profile-timeline-month-heading::after,\n div[style*=\"background-color: #eaecef\"] {\n background: #343434 !important;\n }\n .oauth-permissions-details .permission-summary em.highlight {\n background: rgba(68, 68, 68, .5);\n color: #c6c6c6;\n }\n .labels .label-neutral, li.ssh-key .ssh-key-state-indicator.not-recent {\n background: #666 !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/search?q=test&unscoped_q=test */\n .Counter--gray {\n background: #999;\n color: #000;\n }\n .diverge-widget .separator {\n background: #ccc !important;\n }\n .menu-item.selected::before {\n background: #eee !important;\n }\n .qr-code-table, .qr-code-table .white {\n background: #fff !important;\n }\n /* actions in issues - this style needs to be after .bubble */\n .action-bubble .bubble,\n /* https://github.com/StylishThemes/GitHub-Dark/community/license/new?branch=master&template=mit */\n body .CommunityTemplate-header,\n [data-url$=\"recently_touched_branches_list\"],\n .merge-status-list .status-actions:hover, body > .application-main > .bg-gray {\n background: transparent !important;\n }\n .btn-mktg {\n background-color: rgba(/*[[base-color-rgb]]*/, .8);\n border-color: /*[[base-color]]*/;\n }\n .btn-mktg:hover {\n background-color: rgba(/*[[base-color-rgb]]*/, 1);\n border-color: /*[[base-color]]*/;\n }\n .btn-outline-mktg {\n background-color: transparent;\n border-color: rgba(/*[[base-color-rgb]]*/, .9);\n color: rgba(/*[[base-color-rgb]]*/, .9);\n }\n .btn-outline-mktg:hover {\n background-color: transparent;\n border-color: rgba(/*[[base-color-rgb]]*/, 1);\n color: rgba(/*[[base-color-rgb]]*/, 1);\n }\n .MarketplaceAnnouncement .btn-outline-mktg {\n background-color: transparent;\n border-color: #eee;\n color: #eee;\n }\n .MarketplaceAnnouncement .btn-outline-mktg:hover {\n color: #fff;\n border-color: #fff;\n }\n .MarketplaceAnnouncement {\n color: #fff;\n }\n .full-commit p.commit-title {\n color: #c6c6c6;\n }\n .subnav-item.selected, .subnav-item[aria-current]:not([aria-current=false]),\n .subnav-item[aria-selected=true] {\n border-color: /*[[base-color]]*/;\n }\n /* blue box */\n .github-jobs-promotion p, .octotip, .bootcamp h1, .bootcamp-body,\n .owners-notice, .blob-history, .new-user-avatar-cta, .jstree-wholerow-clicked,\n .file-history-tease, .feature-banner, .hook-delivery-guid, .RecentBranches,\n .signup-prompt-bg, ul.search-results li .label,\n div[style*=\"background-color: #044d6e\"],\n body[class=\"page-responsive\"] .bg-blue-light,\n .timeline-comment.current-user .previewable-comment-form .comment-form-head.tabnav,\n .hx_commit-tease, .full-commit {\n background: #182030 !important;\n }\n .topic-tag-contrast, .topic-tag-contrast .delete-topic-link, .topic-tag {\n background: #182030;\n }\n .commit-ref, .branch-name {\n background: #182030;\n color: #9daccc;\n border: 1px solid #246;\n }\n aside [style*=\"background-color: #4764f1\"] .text-white {\n background-color: #182030 !important;\n }\n .repo-file-upload-progress .repo-file-upload-meter, .topic-tag-link:hover,\n .delete-topic-button:hover, .topic-tag-contrast .delete-topic-link:hover {\n background: #273045;\n }\n /* repo page last commit */\n .Box-header--blue, .repository-content .Box-header.position-relative {\n background-color: var(--color-bg-info);\n border-color: var(--color-box-blue-border);\n }\n /* commit page latest commit */\n .repository-content .Box-header.Details {\n background-color: var(--color-bg-info);\n }\n .repository-content .Box-header.Details,\n .repository-content .Box.d-flex.flex-column.flex-shrink-0.mb-3 {\n border-color: var(--color-box-blue-border);\n }\n .new-user-avatar-cta, .blob-history, .feature-banner,\n .recently-touched-branches, .recently-touched-branches li,\n .project-updated-message, .timeline-comment-label.collaborator-comment,\n .hook-delivery-guid .octicon, .hook-delivery-guid a, a.topic-tag,\n .RecentBranches, .RecentBranches-item-link, ul.search-results li .label,\n .markdown-format table th, div[style*=\"background-color: #044d6e\"],\n .subset-files-tab .stale-files-tab-link,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header .link-gray,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header .text-gray,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header .Link--secondary,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header-text code a,\n .timeline-comment.current-user:not(.is-internal) .color-text-secondary,\n .timeline-comment.current-user:not(.is-internal) .btn-link[aria-haspopup] {\n color: #9daccc !important;\n }\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-header,\n .timeline-comment.current-user:not(.is-internal) .timeline-comment-action,\n .commit-ref a, a.branch-name {\n color: #9daccc;\n }\n .RecentBranches-item, .commit-ref .user {\n color: #6d7c9c;\n }\n .github-jobs-promotion p, .octotip, .bootcamp .bootcamp-body, .bootcamp h1,\n .owners-notice, .new-user-avatar-cta, .file-history-tease, .feature-banner,\n .recently-touched-branches, .timeline-progressive-disclosure-items button,\n .RecentBranches, .js-tag-input-tag, ul.search-results li .label,\n .topic-tag-action {\n border: 1px solid #246 !important;\n }\n .repo-file-upload-progress, .project-updated-message,\n .topic-tag-action .add-topic-button, .topic-tag-action .remove-topic-button,\n .commit-desc + .commit-branches,\n .pricing-matrix-table .pricing-matrix-table-dark,\n .repository-content > .Box--condensed:not(#readme):not(.file-holder),\n .border-blue, body[class=\"page-responsive\"] .border-blue,\n .timeline-comment.current-user .tabnav-tab.selected, .hx_commit-tease,\n .full-commit {\n border-color: #246 !important;\n }\n .topic-tag-contrast .delete-topic-link, .full-commit,\n .full-commit .commit-meta {\n border-color: #246;\n }\n .blob-history, .recently-touched-branches li {\n border-bottom-color: #246 !important;\n }\n .blob-history, .file-history-tease .participation {\n border-top: 1px solid #246 !important;\n }\n #new_hook .fields {\n border-width: 0 !important;\n }\n .commit-icon .octicon {\n border-radius: 100% !important;\n }\n /* original colors */\n .discussion-item-integrations-callout .discussion-item-icon {\n background: #4095c6 !important;\n }\n /* notebooks */\n .input_prompt {\n color: hsla(234, 100%, 65%, 1) !important;\n }\n .output_prompt {\n color: hsla(0, 100%, 65%, 1) !important;\n }\n /* gradient */\n /* file drag&drop overlay */\n .repo-file-upload-tree-target {\n background: radial-gradient(ellipse at center, #000 0%, rgba(0, 0, 0, .6) 65%, rgba(0, 0, 0, .6) 100%) !important;\n }\n .TimelineItem-break {\n background: linear-gradient(to bottom, var(--color-bg-canvas) 30%, transparent 80%) !important;\n }\n /* light grey gradient */\n .signup-button:hover, a.signin:hover, .hero .textographic,\n .hero .screenographic, .box-action:active,\n .clone-url-button.selected > .clone-url-link:hover, ul#bootcamp li a:hover h4 {\n background: linear-gradient(#303030, #282828) !important;\n border-color: #484848 !important;\n }\n .clone-url-button > .clone-url-link {\n border-color: #383838;\n }\n .project-issue-body-blur {\n background: linear-gradient(to top, #181818, rgba(0, 0, 0, 0)) !important;\n }\n .bg-custom-gradient {\n background-image: linear-gradient(180deg, #1c1c1c, rgba(0, 0, 0, 0)) !important;\n }\n .billing-per-seat-callout::after {\n box-shadow: 1px -1px 0 0 #343434 !important;\n }\n main [style=\"background: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0));\"] {\n background: linear-gradient(to top, #181818, transparent) !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1205 */\n [style*=\"background: #DBEDFF\"] {\n background: rgba(255, 255, 255, .1) !important;\n }\n .ScreenshotCarousel-navitem.selected {\n box-shadow: inset 0 0 10px rgba(255, 255, 255, .05) !important;\n }\n /* commits page - committer icon */\n .commits-list-item .committer-avatar {\n box-shadow: -2px -2px 0 rgba(0, 0, 0, .4) !important;\n }\n .Header .header-search-wrapper.focus {\n box-shadow: none !important;\n }\n .box-shadow {\n box-shadow: none !important;\n }\n /* box shadow below attach box - https://github.com/StylishThemes/GitHub-Dark/releases/new */\n /* + remove box shadowns on buttons and the like */\n .upload-progress, .social-count, .btn, .btn-outline.disabled,\n .btn-outline:disabled, .btn-outline[aria-disabled=\"true\"], .btn:active,\n .btn-blue:active {\n box-shadow: none;\n }\n /* https://github.com/team inline HTML fixes */\n .bg-white[style*=\"box-shadow: 0 0 20px 20px #ffffff\"] {\n box-shadow: 0 0 20px 20px #181818 !important;\n }\n [href=\"#organizations\"][style*=\"background-color: #fff\"] {\n background-color: transparent !important;\n }\n .Box-header[style*=\"background-color: #FFF3FA\"] {\n background-color: #222 !important;\n }\n .Box-header[style*=\"border-color: #F9B3DD\"] {\n border-color: #343434 !important;\n }\n .Header-link {\n color: #c6c6c6;\n }\n .full-commit div.commit-title {\n color: #c6c6c6;\n }\n .issues-reset-query-icon {\n color: #181818;\n background: #949494;\n }\n .donut-chart [style*=\"fill: none\"], .workflow-string svg,\n .workflow-success circle, .workflow-success path {\n fill: none !important;\n }\n /* Alerts and activity, remove background gradient */\n .metabox .editable-text:hover, #inbox .list .item .title span,\n .Subhead.border-bottom-0 {\n background-color: transparent !important;\n border: none !important;\n }\n /* Panels */\n #posts #rss, .signup-button, .hero h1, .plan.personal, .caption,\n .centered-graphic, .login_form h1 {\n background-color: /*[[base-color]]*/ !important;\n border-color: /*[[base-color]]*/ !important;\n }\n /* Red panel */\n .majorproblem .pageheader_wrap, .error_box, .btn-close-issue, .closed-issues,\n .topic-tag-action .remove-topic-button:hover,\n .menu-item-danger.navigation-focus, .menu-item-danger.selected:hover,\n .menu-item-danger.selected.navigation-focus {\n background-color: #d82828 !important;\n border-color: #383838 !important;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=\"true\"] {\n background: #181818;\n color: rgba(216, 40, 40, .4);\n box-shadow: none;\n }\n .btn-close-issue:hover, .minibutton.danger:hover, .remove-topic-button:hover {\n background: #d82828;\n border-color: #b00;\n }\n .deprecation-banner {\n background: #200;\n border-color: #d82828;\n }\n .mergeable-dirty .bubble, .mergeable-dirty .merge-status-icon,\n .dangerzone > h3 {\n background: #d82828 !important;\n }\n .block-diff-deleted, .text-diff-deleted .block-diff-neutral {\n background: #b22 !important;\n }\n /* pink */\n /* https://github.com/StylishThemes/GitHub-Dark/issues/949 */\n /* Github uses !important inline styles on some of these elements which are\n impossible to overrides via userstyle */\n [style*=\"border-bottom: 1px solid #f9b3dd\"] {\n border-bottom: 1px solid #c49 !important;\n }\n [style*=\"border: 1px solid #f9b3dd\"], [style*=\"border: 1px solid #ec6cb9\"] {\n border: 1px solid #c49 !important;\n }\n [style*=\"border: 1px solid #f9b3dd\"] .text-gray-dark {\n color: #333 !important;\n }\n [style*=\"background: #ffeef8\"], [style*=\"background-color: #ffeef8\"] {\n background-color: #170711 !important;\n }\n /* brown */\n #feedHeaderContainer, .feedBackground, .infotip, .form-actions .tip,\n .mini-callout, .snippet em, #message .sent, .notification, .callout, .ejector,\n #issues_search .results em, .bootcamp-help ul li, .btn-download,\n .feature-tabs .tab-button, .plan.free, #message.minor, .chzn-results li em,\n #missing-readme, .page-notice, .facebox-alert, .deprecation-warning,\n .branch-status.status-pending .discussion-item-icon,\n .discussion-event-status-renamed .discussion-item-icon,\n .discussion-topic .branch-status.status-pending,\n .discussion-item-review.is-pending .file-header,\n .discussion-item-review.is-pending .comment-form-head.tabnav,\n .timeline-comment.unread-item .timeline-comment-header, .Label.bg-yellow,\n .code-list-item-private .blob-num {\n background-color: #261d08 !important;\n border-color: #542 !important;\n color: #ddd !important;\n }\n .discussion-item-review.is-pending .file, .timeline-comment.unread-item,\n .timeline-comment.unread-item .timeline-comment-label,\n .review-comment .pending-batched-suggestion-label,\n .is-pending .review-summary-form-wrapper, .code-list-item-private .file-box {\n border-color: #542 !important;\n }\n .timeline-comment-wrapper .timeline-comment.unread-item::before {\n border-right-color: #542 !important;\n }\n .timeline-comment-wrapper .timeline-comment.unread-item::after {\n border-right-color: #261d08 !important;\n }\n .timeline-comment-wrapper {\n border-top-color: transparent;\n border-bottom-color: transparent;\n }\n #toc .octicon-diff-modified, .secret .repo-label span, .api .s2 {\n color: #b74 !important;\n }\n .deprecation-warning a {\n color: #c97 !important;\n }\n .code-list-item-private .divider .blob-code,\n .code-list-item-private .divider .blob-num,\n .js-notification-search-autocomplete-results .bg-yellow-light,\n .card-filter-autocomplete-dropdown .bg-yellow-light {\n background-color: #261d08 !important;\n }\n /* semi-transparent brown */\n .compare-pr-placeholder, .compare-cutoff, .diff-cutoff,\n .markdown-body li.added.moved, .repo-private-label, .label-private,\n .signed-out-comment, .commits-list-item em, .unsupported-browser,\n .prereceive-feedback, .code-list em, .issue-list em, .user-list em,\n .wiki-list em, .blob-code .bg-yellow-light,\n .codesearch-results #code_search_results .bg-yellow-light {\n background: rgba(51, 34, 17, .4) !important;\n border: 1px solid #542 !important;\n color: #ddd !important;\n }\n .stale-files-tab {\n background-color: #261d08;\n border: 1px solid #542;\n }\n /* yellow text */\n /* inline style, note this does not work when color is not first */\n /* https://github.com/StylishThemes/GitHub-Dark/issues/952#issuecomment-501451675 */\n [style^=\"color: #d3ac3b\"] {\n color: #cb4 !important;\n }\n /* .bg-pending might be a GitHub bug as it sets the fg */\n .text-pending, .text-renamed, .bg-pending, .page-new-repo .octicon-lock,\n body[class=\"page-responsive\"] .repo-list .private .octicon-lock,\n .menu a .octicon.color-yellow-7 {\n color: #cb4;\n }\n .archived-project-cards-pane .project-card .archived-header {\n color: #fbca04;\n }\n /* yellow background */\n .Label--outline.bg-yellow-light,\n .review-comment .pending-batched-suggestion-label {\n background: #302808 !important;\n }\n .border-bottom.bg-yellow-light {\n background: #302808 !important;\n border-color: #542 !important;\n }\n /* green */\n /* labels */\n #forkqueue .legend .clean, #revisions ul li.current, .excerpt, .plan.business,\n .popout, #statusbar, .clean td, #download_button, .status-box.good a,\n .new-issues, .new-pulls, .mergeable-clean .merge-status-icon,\n .settings-email .default, .repo-owner-comment .comment-header-tag,\n .mergeable-clean .bubble, .gh-header-status.open,\n .branch-status.status-success .discussion-item-icon, .boxed-group-success,\n #message.good, .add-topic-button:hover,\n .topic-tag-action .add-topic-button:hover {\n background: #163 !important;\n border-color: #041 !important;\n }\n main .note.bg-green-light {\n background: #002800 !important;\n border-color: #060 !important;\n }\n /* Green border */\n .billing-confirmation-box {\n border-color: #083 !important;\n }\n .border.border-green {\n border-color: #060 !important;\n }\n /* Green text */\n /* inline style, note this does not work when color is not first */\n /* https://github.com/StylishThemes/GitHub-Dark/issues/952#issuecomment-501451675 */\n [style^=\"color: #28a745\"] {\n color: #484 !important;\n }\n .text-open, .text-success, .insertions, .cadd, .gi .diff-line-num,\n .authors-and-code .insertions, ul.summary-stats li .octicon-git-branch-create,\n ul.summary-stats li .octicon-issue-opened, #toc .octicon-diff-added,\n .setup-info-module .features-list .octicon, .setup-form-container .secure,\n .highlight .gi, .type-icon-state-open, .release-label.latest a,\n .release .Label--latest a, .menu a .octicon.text-green {\n color: #484 !important;\n }\n /* bright green background */\n .block-diff-added, .text-diff-added .block-diff-neutral {\n background: #484 !important;\n }\n .noproblems .pageheader_wrap, a.new-repo:hover {\n background: #373 !important;\n }\n /* New additions */\n .repo-owner-tag .tag {\n background: #070 !important;\n color: #ddd !important;\n }\n /* orange */\n #user-links .unread_count, .minorproblem .pageheader_wrap {\n background: rgba(203, 108, 0, .8) !important;\n }\n .text-orange, .release-label.prerelease, .release .Label--prerelease {\n color: #f3582c !important;\n }\n .release-label.prerelease, .release .Label--prerelease {\n border-color: #f66a0a !important;\n }\n /* pjax loading */\n .pjax-loader-bar .progress {\n background: /*[[base-color]]*/ !important;\n box-shadow: 0 0 10px /*[[base-color]]*/ !important;\n }\n ul.view-modes-menu {\n background-image: url(\"data:image/gif;base64,R0lGODlhBwAEAIAAACIiIv///yH5BAEAAAEALAAAAAAHAAQAAAIIhA+BGWoNWSgAOw==\") !important;\n }\n .mini-icon-windows::before {\n background-position: -18px 0 !important;\n }\n /* Repo list (https://github.com/{user}?tab=repositories) */\n .repo-list-item p, .repo-list-item .repo-list-stats {\n position: relative !important;\n z-index: 1 !important;\n }\n /* GitHub Enterprise (GHE) stuff */\n body.enterprise .repohead.experiment-repo-nav {\n background: rgba(24, 24, 24, .4);\n }\n body.enterprise .timeline-comment-wrapper .timeline-comment.current-user::before {\n border-right-color: #246;\n }\n body.enterprise .timeline-comment-wrapper .timeline-comment.current-user::after {\n border-right-color: #182030;\n }\n body.enterprise .timeline-new-comment .timeline-comment::before {\n border-right-color: #404040;\n }\n body.enterprise .timeline-new-comment .timeline-comment::after {\n border-right-color: var(--ghd-bg-color);\n }\n body.enterprise .commit-tease {\n background-color: #182030;\n border-color: #246;\n }\n /* HACK: Fix review comment timeline */\n /* https://github.com/nodejs/node/pull/8519#r78637092 */\n .review-comment-contents::after, .review-comment.is-comment-editing::after {\n z-index: 0 !important;\n }\n .review-comment .avatar {\n position: relative !important;\n z-index: 1 !important;\n background: #181818 !important;\n box-shadow: 0 0 0 4px #181818 !important;\n }\n /* center the dot icon inside green discussion timeline icons */\n .discussion-item-reopened .discussion-item-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .flash-error {\n color: #d82828;\n }\n /* Make text selection work over file path separators because in Firefox */\n /* a text selection can not start over a pseudo element. The precise values */\n /* are to match the rendering of GitHub's single-space pseudo contents */\n .breadcrumb .separator {\n margin-left: .283em;\n margin-right: .283em;\n }\n .breadcrumb .separator::after, .breadcrumb .separator::before {\n content: none;\n }\n /* Hack to add a background to the sticky toolbar on the pr files tab when using unified diffs */\n body:not(.full-width) .pr-toolbar.is-stuck + .toolbar-shadow::before {\n content: \"\";\n position: absolute;\n top: -60px;\n left: 0;\n right: 0;\n height: 60px;\n background: #181818;\n box-shadow: 0 0 .75rem rgba(0, 0, 0, .7);\n }\n .gh-header-shadow {\n border: none !important;\n box-shadow: 0 0 .75rem rgba(0, 0, 0, .7) !important;\n }\n .participation-graph svg {\n background: transparent !important;\n opacity: .1 !important;\n z-index: 0 !important;\n }\n .inbox-zero-octocat, .network-graph-container, img.TenYears-hero {\n opacity: .6 !important;\n }\n .search .minibutton span {\n background-position: center -95px !important;\n }\n /* history expand buttons */\n .commit .minibutton.expander-minibutton span {\n background-position: 50% -45px !important;\n }\n .commit.open .minibutton.expander-minibutton span {\n background-position: 50% -145px !important;\n }\n /* pull request avatar bubble */\n .avatar-bubble::before, .discussion-bubble-content::before {\n border-color: transparent #333 transparent transparent !important;\n }\n /* octocat spinners */\n img[src*=\"octocat-spinner\"], img[src=\"/images/spinner.gif\"],\n .profile-picture-spinner {\n width: 0 !important;\n height: 0 !important;\n }\n img[src*=\"octocat-spinner\"], img[src=\"/images/spinner.gif\"], .facebox-loading,\n .branch-action-body .spinner, .status-indicator-loading,\n .ajax-pagination-form.loading .ajax-pagination-btn::after,\n .profile-picture-spinner, .more-repos-link.is-loading,\n auto-check .is-autocheck-loading {\n background-image: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><style>.a{fill:%23333;}</style><path d=\"M364 29C421 57 460 94 485 151l-31 15c-20-41-63-84-105-104\" class=\"a\"><animate attributeName=\"fill\" begin=\"0s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m494 169c20 60 21 114-1 172l-33-11c15-43 15-104 0-148\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.125s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m485 359c-28 57-66 96-122 121l-15-31c41-20 84-63 105-105\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.250s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m345 489c-60 20-114 21-172-1l11-33c43 15 104 15 148 0\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.375s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m154 483c-57-28-95-66-121-122l31-15c20 41 63 84 105 105\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.500s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m24 343c-20-60-21-114 1-172l33 11c-15 44-15 104 0 148\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.625s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"M32 151C60 94 98 55 154 30l15 31c-41 20-84 63-105 105\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.750s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m173 21c60-20 114-21 172 1l-11 33c-43-15-104-15-148 0\" class=\"a\"><animate attributeName=\"fill\" begin=\"0.875s\" dur=\"1s\" repeatCount=\"indefinite\" values=\"%23333;%23eee;%23333;%23333\"/></path><path d=\"m197 459v-48s-4-4-33-1c-28 3-62-66-65-69 24-10 43 26 65 38h31s3-44 20-37c17 6-72 1-97-61s19-126 20-115c0 9-17-35-10-46 20-24 50 11 69 15 5 0 18-8 59-7 41 0 55 8 60 6 22-10 51-32 65-17 10 12-1 61-1 49s43 81 6 132c-29 46-95 43-84 46 21 15 14 91 14 115l-22 4v-74c0-9-9-10-9-9v85l-21 1v-86h-10v86l-20-1v-83s-8-1-8 10v72\" fill=\"%23eee\"/></svg>') !important;\n background-size: contain !important;\n background-repeat: no-repeat !important;\n background-position: 50% 50% !important;\n }\n .more-repos-link.is-loading {\n background-repeat: no-repeat !important;\n background-position: 50% 50% !important;\n background-size: 16px 16px !important;\n }\n auto-check .is-autocheck-loading {\n background-size: 16px 16px !important;\n background-position: 97% 50% !important;\n }\n /* Timeline Load More squiggly line */\n /* https://github.com/go-gitea/gitea/pull/8346#issuecomment-638578779 */\n /* https://github.com/swagger-api/swagger-ui/pull/6030#issuecomment-638412978 */\n .pagination-loader-container {\n background: transparent url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NHB4IiBoZWlnaHQ9IjM0cHgiIHZpZXdCb3g9IjAgMCA0NCAzNCI+PHBvbHlsaW5lIGZpbGw9IiM0NDQiIHBvaW50cz0iMCwyMSAyMiw4IDQ0LDIxIDQ0LDI2IDIyLDEzIDAsMjYiLz48L3N2Zz4NCg==\") repeat-x left center/22px 17px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"128\"] {\n padding: 64px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"64\"], .profile-picture-spinner,\n img[src=\"/images/spinner.gif\"] {\n padding: 32px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"32\"] {\n padding: 16px !important;\n }\n img[src*=\"octocat-spinner\"][width=\"16\"] {\n padding: 8px !important;\n }\n .sponsors-questions::after {\n opacity: .35;\n }\n /* remove code view padding */\n .Box-body.blob-wrapper {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n /* remove actions editor padding */\n form[action*=\"/.github/workflows/\"] .commit-create {\n padding-top: 0 !important;\n }\n #searchfield {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAM1BMVEUAAABKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkrmvr7+AAAAEXRSTlMAmEgOJpKQimpgRHVzVk8fFp8jXkwAAABRSURBVAjXVY1JDsAwCAMxhGxNl/+/toVEKpmLNcLCRJRqKTXRhOGwS4KyCCv8eoBnY1hkiIUgb6ah2THWly7SFS0uAKfZWm+mP59eUfNNgYdehjcBh7PIFcgAAAAASUVORK5CYII=\") !important;\n background-repeat: no-repeat !important;\n background-position: 8px center !important;\n }\n /* front page: 'more' spinner */\n .ajax-pagination-form.loading .ajax-pagination-btn {\n position: relative !important;\n border-color: #343434 !important;\n background: #181818 !important;\n }\n .ajax-pagination-form.loading .ajax-pagination-btn::after {\n content: \"\" !important;\n position: absolute !important;\n width: 16px !important;\n height: 16px !important;\n left: 50% !important;\n top: 50% !important;\n transform: translate(-50%, -50%) !important;\n }\n .branch-action-body .spinner, div.facebox-loading, .status-indicator-loading {\n background-position: center center !important;\n width: 100% !important;\n background-repeat: no-repeat !important;\n }\n /* <select> dropdown arrows */\n /* https://github.com/account/upgrade */\n .form-select {\n background: #181818 url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAQAAAAua3X8AAAARklEQVR4AWNABWcazjQg8zGl/wNhA15piBL80gglmNKYSjClMZUgpDGVwKXxKBl4QNiRBLxJIKAIBzXhyCIc3YQTDMEkBwBplPJRxEMa4wAAAABJRU5ErkJggg==\") no-repeat right 8px center !important;\n background-size: 8px 10px !important;\n }\n .form-select:disabled {\n background-color: #282828 !important;\n color: #555 !important;\n }\n /* .coupon-form-body remove bg-img + tweak border color; issue #1199 */\n .coupons .coupon-form-body {\n background-image: none;\n border-color: #343434;\n }\n /* no border */\n .multiple-avatars, .multiple-avatars::before,\n .simple-conversation-list>li:first-child, .gobutton.with-comments .sha,\n .usage-bar dd, .setup-form-container .fieldgroup .fields,\n .inline-comments .line-comments, #adv_code_search .search-page-input,\n .fullscreen-overlay textarea, .file .image .border-wrap,\n .site-search .chromeless-input, .profile-timeline-card-wrapper,\n .AvatarStack--right .avatar, .AvatarStack-body .avatar,\n .sidebar-notifications .thread-subscription-status,\n .repository-lang-stats-graph .language-color:not(:first-child) {\n border: none !important;\n }\n .dashboard-tabs a {\n border-left: 0 !important;\n border-right: 0 !important;\n }\n .js-details-container.navigation-focus .gobutton {\n background: linear-gradient(#444, #222) !important;\n }\n /* add border */\n .issues-list, .pulls-list-group, .branch-infobar,\n .pagehead.repohead h1 .repo-label span, .api pre, .coupon-icon {\n border: 1px solid #484848;\n }\n #graph-shots li > p, .logo-box, .branch-infobar,\n .discussion-item-body .outdated-comment .file-header,\n .repository-content > .Box--condensed > .Box-body.bg-blue-light {\n border-bottom: none !important;\n }\n .pull-info, .branch-link, .milestone-list .progress-bar {\n border: 1px solid #444 !important;\n }\n .more-repos {\n border-top: #484848 1px solid !important;\n }\n .pull-head, .capped-box {\n border-bottom: #484848 1px solid !important;\n }\n .tutorial-e::after, .file-commit-form .commit-form::before,\n .merge-branch-form .commit-form::before {\n border-right-color: #343434 !important;\n border-bottom-color: transparent !important;\n }\n .ScreenshotCarousel-navitem,\n .new-discussion-timeline .composer .timeline-comment::after {\n border-right-color: var(--ghd-bg-color);\n }\n /* toc in markdown, reset border-collapse so border-radius works */\n /* https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki */\n #user-content-toc {\n border-collapse: separate !important;\n }\n #facebox pre, #contributors-master svg.viz, #com .dropdown-menu {\n border: 1px solid #343434 !important;\n }\n /* orange rss icon */\n .dashboard-feed-icon.octicon-rss, .nav-rss a .octicon-rss, .feed-icon,\n #dashboard .octicon-rss {\n color: #f93 !important;\n }\n .featured-label {\n background: #f5b987 !important;\n border: none !important;\n padding: 6px !important;\n color: #ed7c21 !important;\n }\n .featured-label .octicon,\n .page-new-repo div.form-checkbox .octicon-lock::before {\n color: #ed7c21 !important;\n }\n /* diff highlighting (no syntax highlight) */\n /* main diff text color */\n .diff-line-pre {\n color: #ccc !important;\n }\n .diff-table .line-comments {\n border-top: 1px solid #333 !important;\n border-bottom: 1px solid #333 !important;\n }\n #header-wrapper, .menu li + li {\n border-bottom: 1px solid #333 !important;\n }\n .comment-reactions button.btn-link.user-has-reacted {\n background-color: rgba(/*[[base-color-rgb]]*/, .2);\n }\n .review-comment .comment-reactions {\n border-top: 0 !important;\n }\n .review-comment .reaction-summary-item:not(.add-reaction-btn) {\n border-color: rgba(/*[[base-color-rgb]]*/, .2);\n }\n /* light grey - breaks in diff (with line numbers) */\n .highlight .expandable-line-num, .highlight .diff-line-num-hunk,\n .highlight .diff-line-code-hunk, .highlight .expandable-line-code {\n background: #222 !important;\n color: #888 !important;\n }\n /* git diff line additions (dark green) */\n .blob-code-addition {\n background-color: #002800 !important;\n border-color: #060 !important;\n }\n .blob-num-addition {\n background-color: #0a320a !important;\n }\n /* git diff line deletions (dark red) */\n .blob-code-deletion, .conflict-gutter-marker {\n background-color: #380000 !important;\n border-color: #600 !important;\n }\n .blob-num-deletion {\n background-color: #420a0a !important;\n }\n /* code splitter in diffs */\n .blob-num-expandable, .blob-num-hunk {\n background: #2b2b2b;\n }\n .blob-code-hunk {\n background: #202020;\n }\n /* link target lines */\n .blob-code-inner.highlighted {\n background: rgba(255, 255, 255, .075) !important;\n }\n .selected-line::after {\n mix-blend-mode: normal !important;\n pointer-events: none;\n }\n /* custom hover highlight */\n .diff-table > tbody > tr[data-hunk]:hover > td,\n .highlight > tbody > tr:hover > td {\n position: relative;\n }\n .diff-table > tbody > tr[data-hunk]:hover > td::after,\n .highlight > tbody > tr:hover > td::after {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: rgba(255, 255, 255, .075);\n pointer-events: none;\n }\n .diff-table > tbody > tr[data-hunk]:hover > td.selected-line::after,\n .highlight > tbody > tr:hover > td.blob-code-inner.highlighted::after {\n background: rgba(255, 255, 255, .15) !important;\n }\n /* custom hover highlight end */\n .blob-code-addition .x, .highlight .blob-code-addition .x {\n background: #252 !important;\n color: #eee !important;\n }\n .blob-code-deletion .x, .highlight .blob-code-deletion .x {\n background: #622 !important;\n color: #eee !important;\n }\n /* git diff line numbers (med green) */\n .gi .diff-line-num, .gi .diff-line-code, .gi .diff-line-pre {\n background: #020 !important;\n border-color: #040 !important;\n }\n /* git diff line deletions (med red) */\n .gd .diff-line-num, .highlight .err, .gd .diff-line-code, .gd .diff-line-pre {\n background: #300 !important;\n border-color: #500 !important;\n }\n textarea {\n cursor: auto !important;\n }\n /* rules for the new responsive layout */\n @media (min-width: 768px) {\n .release-main-section {\n border-left: 2px solid #343434 !important;\n }\n .release-entry {\n border-bottom: 0 !important;\n }\n }\n @media (max-width: 1012px) {\n .reponav-wrapper {\n background: #181818 !important;\n }\n }\n .Header, .Header-old {\n border-bottom: 1px solid #343434 !important;\n background: #181818 !important;\n }\n /* rules for help pages */\n .search-result-title .ais-Highlight-highlighted {\n color: /*[[base-color]]*/ !important;\n }\n .search-result-intro .ais-Highlight-highlighted {\n border-color: /*[[base-color]]*/ !important;\n }\n .ais-SearchBox-resetIcon, .octicon-logo-github {\n fill: #c0c0c0 !important;\n }\n .commit-create .CodeMirror {\n padding-top: 0 !important;\n }\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\") {\n /*[[syntax-theme]]*//*[[syntax-jupyter]]*/\n /* inline code - big blocks */\n .highlight {\n background-color: var(--ghd-code-background) !important;\n color: var(--ghd-code-color);\n }\n .markdown-format pre, .markdown-body pre, .highlight pre, #facebox pre,\n .blob-expanded, .terminal, .copyable-terminal, #notebook .input_area,\n .blob-code-context, .markdown-format code, .api pre, .api li:not(a) code,\n .hook-delivery-details pre, .hook-delivery-container pre, .code-list .file-box,\n .highlight.bg-gray, .markdown-body table.highlight tr,\n .markdown-body table.highlight td {\n background-color: var(--ghd-code-background) !important;\n color: var(--ghd-code-color) !important;\n }\n .markdown-body pre code, .markdown-body pre tt {\n border: none !important;\n }\n .flash p code {\n background-color: inherit !important;\n }\n .blob-code, .blob-code-inner {\n color: var(--ghd-code-color) !important;\n }\n /* inline code */\n .markdown-body code, .markdown-body tt,\n .markdown-body .snippet-clipboard-content {\n border-radius: 4px;\n }\n .markdown-body code::before, .markdown-body code::after,\n .markdown-body tt::before, .markdown-body tt::after,\n .markdown-body pre code::before, .markdown-body pre code::after,\n .markdown-body pre tt::before, .markdown-body pre tt::after {\n display: none !important;\n }\n /* GitHub Bug: Center color preview in inline code tags */\n .markdown-body code .v-align-middle {\n position: relative;\n top: -1px;\n }\n .markdown-body code, .markdown-body tt, .markdown-format p > code,\n #user-content-toc td, .copyable-terminal, .project-card .highlight pre,\n .project-card code, .rgh-parse-backticks, .protip code, .content dl code,\n .content ul code, .content .sectionbody .dlist dt, .content p > tt,\n .commit-sha, .commit-preview .message pre, .rendered_html pre,\n .rendered_html code, .markdown-body .highlight {\n border: 1px solid rgba(255, 255, 255, .1) !important;\n }\n .markdown-title code, p code {\n background: #383838;\n }\n .js-commits-list-item p code {\n padding: 1px 2px;\n }\n .js-snippet-clipboard-copy-unpositioned .markdown-body .snippet-clipboard-content,\n .js-snippet-clipboard-copy-unpositioned .markdown-body .highlight,\n .js-comment-body .snippet-clipboard-content pre {\n background: var(--ghd-code-background) !important;\n border: 1px solid rgba(255, 255, 255, .1) !important;\n }\n .js-snippet-clipboard-copy-unpositioned .markdown-body .snippet-clipboard-content pre,\n .js-snippet-clipboard-copy-unpositioned .markdown-body .highlight pre {\n background: transparent !important;\n }\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\") {\n .CodeMirror {\n background-color: var(--ghd-code-background) !important;\n color: var(--ghd-code-color) !important;\n }\n .CodeMirror-selected {\n background: rgba(255, 255, 255, .12) !important;\n }\n .CodeMirror ::selection {\n background: rgba(255, 255, 255, .12) !important;\n }\n .CodeMirror ::-moz-selection {\n background: rgba(255, 255, 255, .12) !important;\n }\n .CodeMirror-lines {\n background: none !important;\n }\n /* remove margin above codemirror */\n .file-header.mb-2 {\n margin-bottom: 0 !important;\n }\n .CodeMirror-linebackground.conflict-background,\n .conflict-background + .CodeMirror-gutter-wrapper .CodeMirror-linenumber {\n background-color: #380000 !important;\n border-color: #600 !important;\n }\n .CodeMirror-scrollbar-filler {\n background: #1d1d1d !important;\n }\n /* Styles auto-complete popups in the actions workflow editor */\n .CodeMirror-hints {\n background: #181818;\n border-color: #404040;\n box-shadow: 0 1px 5px #000;\n }\n .CodeMirror-hint {\n color: #d2d2d2;\n }\n .CodeMirror-hint-active {\n color: #f0f0f0;\n background-color: /*[[base-color]]*/;\n }\n .CodeMirror-hint-active .CodeMirror-hint-description {\n color: #f0f0f0 !important;\n }\n /*[[syntax-codemirror]]*/\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), domain(\"gist.github.com\") {\n /* generated refined-github rules */\n /* generated github-hovercard rules */\n /* generated gitako rules */\n /* generated npmhub rules */\n /* generated notifications-preview rules */\n /* generated octotree rules */\n /* Refined GitHub - https://github.com/sindresorhus/refined-github\n * See #540\n * See #881 */\n .refined-github-diff-signs .blob-code-addition::before,\n .refined-github-diff-signs .blob-code-deletion::before {\n color: #7b7b7b !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1035 */\n .refined-github .reaction-summary-item.user-has-reacted {\n --background: transparent !important;\n }\n .refined-github .reaction-summary-item a {\n box-shadow: none;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1271 */\n .refined-github [data-rgh-whitespace=\"tab\"] {\n background-image: url('data:image/svg+xml,%3Csvg preserveAspectRatio=\"xMinYMid meet\" viewBox=\"0 0 12 24\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M9.5 10.44L6.62 8.12L7.32 7.26L12.04 11V11.44L7.28 14.9L6.62 13.9L9.48 11.78H0V10.44H9.5Z\" fill=\"rgba(95,90,96,60%)\"/%3E%3C/svg%3E');\n }\n .refined-github [data-rgh-whitespace=\"space\"] {\n background-image: url('data:image/svg+xml,%3Csvg preserveAspectRatio=\"xMinYMid meet\" viewBox=\"0 0 12 24\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath d=\"M4.5 11C4.5 10.1716 5.17157 9.5 6 9.5C6.82843 9.5 7.5 10.1716 7.5 11C7.5 11.8284 6.82843 12.5 6 12.5C5.17157 12.5 4.5 11.8284 4.5 11Z\" fill=\"rgba(95,90,96,60%)\"/%3E%3C/svg%3E');\n }\n /* https://github.com/musically-ut/lovely-forks */\n .lovely-forks-addon {\n color: #808080 !important;\n }\n /* https://github.com/npmhub/npmhub */\n .npmhub-deps > li {\n border-color: #343434 !important;\n }\n /* octotree */\n .octotree-sidebar.octotree-github-sidebar .octotree-views .octotree-view .octotree-view-header {\n background: #181818 !important;\n border-right-color: #343434 !important;\n border-bottom: 1px solid #343434 !important;\n }\n .octotree-sidebar.octotree-github-sidebar .octotree-toggle {\n box-shadow: none !important;\n }\n /* Github User Info userscript - see #481 */\n .GithubUserInfo, .GithubUserInfo > div {\n background: #202020 !important;\n border-color: #343434 !important;\n }\n /* GitHub Notifications Dropdown userscript - see #478 */\n .notifications-dropdown {\n background: #202020 !important;\n border: 1px solid #343434 !important;\n }\n a.notifications-dropdown-see-all {\n background: #242424 !important;\n color: /*[[base-color]]*/ !important;\n }\n a.notifications-dropdown-see-all:hover, .top-nav .dropdown-menu a:hover {\n background: /*[[base-color]]*/ !important;\n color: #e2e2e2 !important;\n }\n .notifications-dropdown-arrow {\n border-bottom-color: #333 !important;\n }\n /* Notification-preview */\n .NPG-dropdown .notifications-list-item {\n background: #181818 !important;\n }\n .NPG-dropdown .notification-list-item-link {\n color: inherit;\n }\n .NPG-dropdown .notifications-list-item:hover {\n background: var(--color-accent-subtle) !important;\n }\n :root:root .NPG-dropdown .notifications-list-item:hover .notification-list-item-actions .btn:hover {\n background: /*[[base-color]]*/ !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1198 */\n .overall-summary {\n background: #181818;\n }\n /* Sourcegraph - CodeLine Hover Color In Blob */\n table > tbody > tr > td[style=\"background-color: khaki;\"] {\n background-color: #ffcc0050 !important;\n }\n}\n@-moz-document domain(\"gist.github.com\") {\n /* begin gist.github.com rules */\n [data-color-mode=\"auto\"][data-light-theme=\"light\"],\n [data-color-mode=\"auto\"][data-light-theme=\"light\"] ::backdrop,\n [data-color-mode=\"light\"][data-light-theme=\"light\"],\n [data-color-mode=\"light\"][data-light-theme=\"light\"] ::backdrop {\n --page-header-bgColor: #202020;\n --codeMirror-bgColor: #181818;\n --codeMirror-gutters-bgColor: #181818;\n --codeMirror-gutterMarker-fgColor-default: #181818;\n --codeMirror-lines-bgColor: #181818;\n --header-fgColor-logo: #181818;\n --avatar-bgColor: #181818;\n --avatar-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --control-bgColor-rest: #202020;\n --control-bgColor-selected: #202020;\n --control-borderColor-selected: #202020;\n --control-checked-fgColor-rest: #181818;\n --control-checked-fgColor-disabled: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-rest: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-bgColor-rest: #202020;\n --button-primary-fgColor-rest: #181818;\n --button-primary-fgColor-disabled: hsla(0, 0%, 0%, .8);\n --button-primary-iconColor-rest: hsla(0, 0%, 0%, .8);\n --button-outline-fgColor-hover: #181818;\n --button-outline-fgColor-active: #181818;\n --button-outline-bgColor-rest: #202020;\n --button-outline-bgColor-disabled: #202020;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-bgColor-rest: #202020;\n --buttonCounter-outline-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-outline-fgColor-hover: #181818;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --overlay-bgColor: #181818;\n --sideNav-bgColor-selected: #181818;\n --skeletonLoader-bgColor: #202020;\n --card-bgColor: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-default: #181818;\n --bgColor-muted: #202020;\n --bgColor-inset: #202020;\n --bgColor-white: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"light\"],\n [data-color-mode=\"auto\"][data-dark-theme=\"light\"] ::backdrop {\n --page-header-bgColor: #202020;\n --codeMirror-bgColor: #181818;\n --codeMirror-gutters-bgColor: #181818;\n --codeMirror-gutterMarker-fgColor-default: #181818;\n --codeMirror-lines-bgColor: #181818;\n --header-fgColor-logo: #181818;\n --avatar-bgColor: #181818;\n --avatar-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --control-bgColor-rest: #202020;\n --control-bgColor-selected: #202020;\n --control-borderColor-selected: #202020;\n --control-checked-fgColor-rest: #181818;\n --control-checked-fgColor-disabled: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-rest: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-bgColor-rest: #202020;\n --button-primary-fgColor-rest: #181818;\n --button-primary-fgColor-disabled: hsla(0, 0%, 0%, .8);\n --button-primary-iconColor-rest: hsla(0, 0%, 0%, .8);\n --button-outline-fgColor-hover: #181818;\n --button-outline-fgColor-active: #181818;\n --button-outline-bgColor-rest: #202020;\n --button-outline-bgColor-disabled: #202020;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-bgColor-rest: #202020;\n --buttonCounter-outline-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-outline-fgColor-hover: #181818;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --overlay-bgColor: #181818;\n --sideNav-bgColor-selected: #181818;\n --skeletonLoader-bgColor: #202020;\n --card-bgColor: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-default: #181818;\n --bgColor-muted: #202020;\n --bgColor-inset: #202020;\n --bgColor-white: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n }\n }\n [data-color-mode=\"auto\"][data-light-theme=\"dark\"],\n [data-color-mode=\"auto\"][data-light-theme=\"dark\"] ::backdrop,\n [data-color-mode=\"dark\"][data-dark-theme=\"dark\"],\n [data-color-mode=\"dark\"][data-dark-theme=\"dark\"] ::backdrop {\n --avatar-borderColor: hsla(0, 0%, 0%, .15);\n --control-checked-fgColor-rest: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-shadow-resting: 0 0 0 0 #f0f0f0;\n --button-primary-fgColor-rest: #181818;\n --button-primary-iconColor-rest: #181818;\n --button-primary-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-outline-fgColor-active: #181818;\n --button-outline-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-shadow-selected: 0 0 0 0 #f0f0f0;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-inverse: #181818;\n --bgColor-white: #181818;\n --bgColor-done-emphasis: #53387a;\n --bgColor-upsell-emphasis: #53387a;\n --borderColor-translucent: hsla(0, 0%, 0%, .15);\n --borderColor-done-emphasis: #53387a;\n --borderColor-upsell-emphasis: #53387a;\n --color-ansi-white-bright: #181818;\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=\"auto\"][data-dark-theme=\"dark\"],\n [data-color-mode=\"auto\"][data-dark-theme=\"dark\"] ::backdrop {\n --avatar-borderColor: hsla(0, 0%, 0%, .15);\n --control-checked-fgColor-rest: #181818;\n --controlTrack-fgColor-disabled: #181818;\n --controlKnob-bgColor-checked: #181818;\n --button-default-shadow-resting: 0 0 0 0 #f0f0f0;\n --button-primary-fgColor-rest: #181818;\n --button-primary-iconColor-rest: #181818;\n --button-primary-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-outline-fgColor-active: #181818;\n --button-outline-shadow-selected: 0 0 0 0 #f0f0f0;\n --button-danger-fgColor-hover: #181818;\n --button-danger-fgColor-active: #181818;\n --button-danger-iconColor-hover: #181818;\n --button-danger-shadow-selected: 0 0 0 0 #f0f0f0;\n --buttonCounter-danger-bgColor-hover: hsla(0, 0%, 0%, .2);\n --buttonCounter-danger-fgColor-hover: #181818;\n --fgColor-onEmphasis: #181818;\n --fgColor-white: #181818;\n --bgColor-inverse: #181818;\n --bgColor-white: #181818;\n --bgColor-done-emphasis: #53387a;\n --bgColor-upsell-emphasis: #53387a;\n --borderColor-translucent: hsla(0, 0%, 0%, .15);\n --borderColor-done-emphasis: #53387a;\n --borderColor-upsell-emphasis: #53387a;\n --color-ansi-white-bright: #181818;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=true], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button {\n background-color: transparent;\n }\n .close-button:active {\n box-shadow: none;\n }\n .filter-list.pjax-active .filter-item {\n background-color: transparent;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem {\n background-color: transparent;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .bgColor-transparent, .color-bg-transparent {\n background-color: transparent !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab, .markdown-body .emoji,\n .markdown-body pre > code, .markdown-body pre code, .markdown-body pre tt,\n .markdown-body table img {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .FormControl-input[disabled], .FormControl-select[disabled],\n .FormControl-textarea[disabled] {\n box-shadow: none;\n }\n .FormControl-input-wrap .FormControl-input-trailingAction {\n background-color: transparent;\n }\n input.FormControl-checkbox[type=checkbox][disabled] {\n box-shadow: none;\n }\n input.FormControl-checkbox[type=checkbox]:focus-visible {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio][disabled] {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio]:focus-visible {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15), transparent) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, #34b75926, transparent), #373 !important;\n color: #fff;\n }\n .btn-signup-mktg::before {\n background: linear-gradient(180deg, #34b75926, transparent) !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n .AvatarStack-body .avatar, .ToggleSwitch-track[disabled] .ToggleSwitch-knob {\n box-shadow: none;\n }\n anchored-position:not(.Overlay) {\n background: none;\n }\n .Button:disabled, .Button[aria-disabled=true] {\n box-shadow: none;\n }\n .Button--primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .border-white-fade {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n @keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n body [role=button]:focus:not(:focus-visible),\n body [role=tabpanel][tabindex=\"0\"]:focus:not(:focus-visible),\n body a:focus:not(:focus-visible), body button:focus:not(:focus-visible),\n body summary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .auth-form-header, .auth-form-header h1 a {\n color: #fff;\n }\n .auth-form-header .octicon {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .1);\n }\n .session-authentication .auth-form-header,\n .session-authentication .header-logged-out,\n .session-authentication.enterprise .header-logged-out,\n .session-authentication.hosted .header-logged-out,\n .switch-account-popover-row {\n background-color: transparent;\n }\n @media (min-width: 1012px) {\n .HeaderMenu .HeaderMenu-wrapper {\n background-color: transparent;\n box-shadow: none;\n }\n }\n .HeaderMenu .dropdown-menu {\n box-shadow: none;\n }\n .HeaderMenu-link {\n background-color: transparent;\n }\n @media (max-width: 1011px) {\n .HeaderMenu-item .HeaderMenu-dropdown {\n background-color: transparent;\n }\n }\n .HeaderMenu .search-input .Overlay {\n box-shadow: none;\n }\n .notification-indicator .mail-status, .unread-indicator {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .header-search-wrapper, .header-search-wrapper.focus {\n box-shadow: none;\n }\n .header-search-input {\n background: none;\n box-shadow: none;\n }\n .header-search-input:focus {\n box-shadow: none;\n }\n .header-search-button {\n background: none;\n }\n .header-search-button.input-button:focus-visible {\n box-shadow: none;\n }\n .header-search-scope {\n color: hsla(0, 0%, 0%, .7);\n }\n .jump-to-suggestions-path mark {\n background-color: transparent;\n }\n .app-banner-icon {\n color: #fff;\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) {\n .ActionList-item[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .ActionList-content {\n background-color: transparent;\n }\n .ActionList-content:focus {\n box-shadow: none;\n }\n .ActionList-content:focus-visible {\n box-shadow: none;\n }\n @media (hover: hover) {\n .ActionList-content[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .select-menu-tabs .select-menu-tab-nav, .select-menu-tabs a {\n background-color: transparent;\n }\n .select-menu.label-select-menu .select-menu-item:active {\n background-color: transparent !important;\n }\n .select-menu-item:focus .Label, .select-menu-item:hover .Label {\n border-color: currentcolor;\n }\n .collapsible-sidebar-widget-button, .comment-body .highlight {\n background-color: transparent;\n }\n .locked-conversation .preview-tab, .locked-conversation .write-tab {\n color: #767676;\n }\n .signed-commit-badge {\n background: none;\n }\n .blob-wrapper table tr:nth-child(2n) {\n background-color: transparent;\n }\n .add-line-comment.octicon-check {\n background-color: #c6c6c6;\n }\n .inline-comment-form {\n border-color: var(--borderWidth-thin);\n }\n button.discussion-sidebar-toggle {\n background: none;\n }\n .previewable-comment-form .comment-body {\n background-color: transparent;\n }\n :target .timeline-comment-group .timeline-comment .timeline-comment-group .timeline-comment {\n box-shadow: none !important;\n }\n .notifications-component-dialog:not([hidden]) + .notifications-component-dialog-overlay,\n .reponav-wrapper .reponav-item.selected {\n background-color: transparent;\n }\n @media (max-width: 768px) {\n .PageLayout--responsive-separateRegions.PageLayout--responsive-primary-pane .ActionList-item.ActionList-item--navActive:not(.ActionList-item--danger) {\n background-color: transparent;\n }\n }\n .steps {\n border-color: var(--borderWidth-thin);\n box-shadow: 0 1px 3px rgba(220, 220, 220, .05);\n }\n .steps li {\n color: #767676;\n border-left-color: var(--borderWidth-thin);\n }\n .prose-diff.no-level-zero-box-shadow .rich-diff-level-zero.added,\n .prose-diff.no-level-zero-box-shadow .rich-diff-level-zero.changed,\n .prose-diff.no-level-zero-box-shadow .rich-diff-level-zero.removed {\n box-shadow: none;\n }\n .social-reaction-summary-item {\n background-color: transparent;\n border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #246));\n }\n .new-reactions-dropdown .dropdown-menu-reactions::after,\n .new-reactions-dropdown .dropdown-menu-reactions::before {\n background-color: transparent;\n }\n .render-container.is-render-ready.is-render-requested:not(.is-render-failed) {\n background: none;\n }\n @media (prefers-reduced-motion: no-preference) {\n .Skeleton {\n -webkit-mask-image: linear-gradient(75deg, #f0f0f0 30%, rgba(0, 0, 0, .65) 80%);\n mask-image: linear-gradient(75deg, #f0f0f0 30%, rgba(0, 0, 0, .65) 80%);\n }\n }\n .AppHeader .AppHeader-globalBar .AppHeader-context .AppHeader-context-compact .AppHeader-context-compact-trigger {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-kbd {\n background-color: var(--bgColor-transparent, transparent);\n box-shadow: none;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-searchButton {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search input[type=search]:placeholder-shown {\n background-color: transparent;\n }\n .AppHeader .AppHeader-globalBar .AppHeader-search .AppHeader-search-action--trailing {\n background-color: var(--bgColor-transparent, transparent);\n }\n .AppHeader .AppHeader-button {\n background-color: transparent;\n }\n .AnimatedImagePlayer-images {\n background: none;\n }\n @media (max-width: 767px) {\n .notifications-v2 .AvatarStack-body .avatar {\n border-right: var(--borderWidth-thin) solid var(--ghd-bg-color) !important;\n }\n }\n .notifications-v2 .thread-subscription-status {\n background-color: transparent !important;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .progress-pjax-loader {\n background-color: transparent;\n }\n .progress-pjax-loader > .progress-pjax-loader-bar {\n background-color: /*[[base-color]]*/;\n }\n .tag-input-container .focus {\n box-shadow: none !important;\n }\n .tag-input input {\n background: none;\n box-shadow: none;\n }\n .tag-input input:focus {\n box-shadow: none;\n }\n .topic-tag-outline {\n box-shadow: inset 0 0 0 1px #246;\n }\n .is-auto-complete-loading :not(input).form-control,\n .topic-input-container .tag-input .tag-input-inner {\n background-image: none;\n }\n .CommentBox-container.CommentBox-container:focus-within {\n box-shadow: none;\n }\n .CommentBox-input {\n background: none;\n }\n .CommentBox-input.CommentBox-input:focus,\n .CommentBox-input.CommentBox-input:focus-visible {\n box-shadow: none;\n }\n .CommentBox .dragover .CommentBox-input,\n .CommentBox .dragover .CommentBox-input:focus {\n box-shadow: none;\n }\n .CommentBox-comment.CommentBox-comment:focus,\n .CommentBox-comment.CommentBox-comment:focus-visible {\n box-shadow: none;\n }\n .QueryBuilder-Input {\n background-color: transparent;\n }\n .QueryBuilder-Input:focus {\n box-shadow: none !important;\n }\n .AvatarStack-body:not(:hover) {\n background-color: transparent;\n }\n .hx_badge-search-container .hx_badge-input {\n box-shadow: none;\n }\n .hx_badge-search-container .hx_badge-input:focus {\n box-shadow: none !important;\n }\n .dropdown-item.btn-link:disabled, .dropdown-item.btn-link:disabled:hover,\n .dropdown-item.btn-link[aria-disabled=true],\n .dropdown-item.btn-link[aria-disabled=true]:hover {\n background-color: transparent;\n }\n [data-color-mode=dark][data-dark-theme*=dark],\n [data-color-mode=light][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=dark] {\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L2-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L3-border: hsla(0, 0%, 0%, .05);\n --color-calendar-graph-day-L4-border: hsla(0, 0%, 0%, .05);\n }\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n --color-project-gradient-out: transparent;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n --color-project-gradient-out: transparent;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-bg-discussions-row-emoji-box: rgba(90, 90, 90, .5);\n --color-calendar-graph-day-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L1-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L2-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L3-border: rgba(220, 220, 220, .06);\n --color-calendar-graph-day-L4-border: rgba(220, 220, 220, .06);\n --color-project-gradient-out: transparent;\n }\n }\n .Header-button:active, .Header-button:focus, .Header-button:hover {\n background-color: transparent;\n }\n .Header-button:active .octicon, .Header-button:focus .octicon,\n .Header-button:hover .octicon, .hx_kbd {\n box-shadow: none;\n }\n select-panel dialog::backdrop {\n background: none;\n }\n .Box--responsive .Box-row--unread {\n box-shadow: none;\n }\n .Box--responsive .Box-row--unread::before {\n color: #fff;\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .autocomplete-item, .topic-tag-outline {\n background-color: transparent;\n }\n .pagehead-tabs-item.selected, .reponav-item.selected {\n border-top-color: #fff;\n }\n .hx_disabled-input .form-control[contenteditable=false],\n .hx_disabled-input input[disabled], .hx_disabled-input select[disabled] {\n background-color: transparent;\n box-shadow: none;\n }\n .hx_disabled-input .form-select {\n background-image: none !important;\n }\n .integrations-install-target .flash,\n .integrations-install-target .flash-error {\n background-color: transparent;\n }\n .usage-bar {\n background-color: #2c2c2c;\n }\n .blob-code-content .error-highlight::before,\n .diff-table .error-highlight::before {\n background: linear-gradient(135deg, transparent, transparent 45%, var(--fgColor-danger, var(--color-danger-fg)), transparent 55%, transparent 100%), linear-gradient(45deg, transparent, transparent 45%, var(--fgColor-danger, var(--color-danger-fg)), transparent 55%, transparent 100%);\n }\n .code-frequency .addition {\n fill: #373;\n }\n .search-form-fluid .search-page-input {\n background: none;\n box-shadow: none;\n }\n .search-form-fluid .search-page-input:focus {\n box-shadow: none;\n }\n .suggest-icon path, .suggest-icon svg {\n fill: #181818;\n }\n development-menu .development-menu-component-dialog:not([hidden]) + .development-menu-component-dialog-overlay,\n development-menu .form-control[is-loading] {\n background-color: transparent;\n }\n .file {\n border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .file .image {\n background-color: #343434;\n }\n .file .image canvas, .file .image img {\n background-color: #2c2c2c;\n border: var(--borderWidth-thin) solid var(--ghd-bg-color);\n }\n .file .image .view canvas, .file .image .view img {\n background-color: #2c2c2c;\n }\n .file .empty {\n background: none;\n }\n .integrations-select-repos::-webkit-scrollbar-thumb {\n box-shadow: 0 0 1px hsla(0, 0%, 0%, .5);\n }\n .integrations-select-repos::-webkit-scrollbar-track-piece {\n background-color: transparent;\n }\n .task-progress .octicon {\n color: var(--fgColor-muted, var(--color-fg-muted), #767676);\n }\n .issue-meta-section .octicon {\n color: var(--fgColor-muted, var(--color-fg-muted), #5a5a5a);\n }\n .label-select-menu .selected:active,\n .label-select-menu [aria-checked=mixed]:active,\n .label-select-menu [aria-checked=true]:active {\n background-color: transparent !important;\n }\n .map-background {\n fill: /*[[base-color]]*/;\n }\n .map-graticule, .map-legend .map-legend-circle {\n stroke: #181818;\n }\n .map-legend .map-legend-text {\n fill: #181818;\n }\n .map-legend .map-legend-link {\n stroke: #181818;\n }\n .map-point, .map-point:hover {\n fill: #fb8532;\n }\n .MarketplaceEdit-body .CircleIcon {\n background-color: #444;\n }\n .ClipboardButton.ClipboardButton--success,\n .ClipboardButton.ClipboardButton--success:focus {\n box-shadow: 0 0 0 .2em #3737;\n }\n .news .alert {\n border-top-color: var(--borderWidth-thin);\n }\n .trial-banner-notice {\n background-image: linear-gradient(180deg, /*[[base-color]]*/ 0%, #4f8cc9 100%);\n }\n @media print {\n .State {\n background: none;\n }\n .State--open {\n border-color: var(--borderWidth-thin);\n }\n }\n .pending-cards-status {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .timeout {\n background-color: transparent;\n }\n .prereceive-feedback, .revert-error {\n border-color: var(--borderWidth-thin);\n }\n .access-token.new-token {\n background-color: #44884450;\n }\n .form-hr {\n border-bottom-color: var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup {\n border: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup-item + .listgroup-item {\n border-top: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup-header {\n border-bottom: var(--borderWidth-thin) solid var(--borderColor-default, var(--color-border-default, #343434));\n }\n .listgroup-overflow {\n background-color: var(--bgColor-muted, var(--color-canvas-subtle, #222));\n }\n .draft-tag {\n color: #2c2c2c;\n }\n .showcase-page-pattern::after {\n background-image: linear-gradient(180deg, hsla(0, 0%, 0%, .85), #181818);\n }\n .sponsors-goal-progress-bar {\n background-color: #c49;\n }\n @media (prefers-reduced-motion: no-preference) {\n .sponsors-goal-progress-bar:hover {\n background: linear-gradient(90deg, #cb4 0%, #c49 17%, #b34bff 34%, #01feff 51%, #cb4 68%, #c49 85%, #b34bff 100%);\n }\n }\n .hx_status-indicator.status-indicator-loading {\n background-image: none;\n }\n .team-label-ldap {\n box-shadow: none;\n }\n .TrackingBlock .Button--invisible:disabled {\n background-color: transparent;\n }\n .tasklist-omnibar-input-wrapper:not([open]) .Overlay,\n .tasklist-textarea-container > textarea {\n box-shadow: none;\n }\n .convert-to-issue-button {\n background-color: transparent;\n }\n .page-gist-edit .octicon-gist {\n color: #767676;\n }\n .gist-dropzone-pill {\n color: #fff;\n }\n .gist-banner {\n border-bottom-color: var(--ghd-bg-color);\n }\n /* end gist.github.com rules */\n body {\n background-color: var(--ghd-bg-color) !important;\n background-image: var(--ghd-bg-img) !important;\n background-clip: border-box !important;\n background-origin: padding-box !important;\n background-attachment: /*[[bg-attachment]]*/ !important;\n /*[[bg-options]]*/\n }\n /* text selection */\n ::selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n ::-moz-selection {\n background-color: /*[[base-color]]*/ !important;\n color: #fff !important;\n }\n /* placeholder */\n ::-webkit-input-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::-moz-placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n ::placeholder {\n color: #666 !important;\n opacity: 1 !important;\n }\n .select-menu-text-filter input::-webkit-input-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::-moz-placeholder {\n color: #555 !important;\n }\n .select-menu-text-filter input::placeholder {\n color: #555 !important;\n }\n ::-webkit-calendar-picker-indicator {\n background-color: #181818;\n color: #c9c9c9;\n }\n ::-webkit-calendar-picker-indicator:hover {\n color: #666;\n }\n .Header, .Header-old {\n border-bottom: 1px solid #343434 !important;\n background: #181818 !important;\n }\n .Header-link {\n color: #c6c6c6;\n }\n .Header-link[data-ga-click]:focus, .Header-link[data-ga-click]:hover,\n .btn-link .octicon-kebab-horizontal:hover {\n color: /*[[base-color]]*/;\n }\n .gisthead {\n background: rgba(20, 20, 20, .4) !important;\n }\n .discussion-timeline-actions {\n background: none !important;\n }\n .notification-indicator .mail-status {\n border-color: #181818;\n }\n .social-count {\n box-shadow: none;\n }\n .gist-content .file-box {\n background: #181818;\n }\n .gist-quicksearch-result-group {\n background: #282828 !important;\n border-color: rgba(68, 68, 68, .5) !important;\n color: #555 !important;\n }\n img[src$=\"favicons.githubusercontent.com/gist.github.com\"] {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n .gist-secret-label {\n background: rgba(51, 34, 17, .4) !important;\n border: 1px solid #542 !important;\n color: #ddd !important;\n }\n .gist-owner-tag .tag {\n background: #070 !important;\n color: #ddd !important;\n }\n .btn {\n box-shadow: none !important;\n }\n .gist-banner {\n background: rgba(20, 20, 20, .4) !important;\n }\n .Box-row, .Box-header, .Box-body {\n padding: 8px 12px;\n }\n .Box-body {\n background: #181818;\n }\n}\n@-moz-document domain(\"graphql.github.com\") {\n /* begin graphql.github.com rules */\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover,\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .FormControl-input[disabled], .FormControl-select[disabled],\n .FormControl-textarea[disabled], .btn-octicon, .close-button:active,\n input.FormControl-checkbox[type=checkbox][disabled] {\n box-shadow: none;\n }\n input.FormControl-checkbox[type=checkbox]:focus-visible {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio][disabled] {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio]:focus-visible {\n box-shadow: none;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .AvatarStack-body .avatar {\n box-shadow: none;\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .Header-input {\n box-shadow: none;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .ToggleSwitch-track[disabled] .ToggleSwitch-knob {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg, .btn-subtle-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n color: #fff;\n background: linear-gradient(180deg, rgba(52, 183, 89, .15) 0%, rgba(46, 164, 79, 0) 100%), #373 !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n [data-color-mode=dark][data-dark-theme*=dark],\n [data-color-mode=light][data-light-theme*=dark] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=dark] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=dark] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n }\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-mktg-btn-bg: #dcdcdc;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-mktg-btn-bg: #dcdcdc;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-mktg-btn-bg: #dcdcdc;\n }\n }\n .graphiql-ide {\n border-top-color: #343434;\n }\n .graphiql-ide.signed-out::after {\n background-color: #343434;\n }\n .graphiql-button-group > button.graphiql-button,\n .graphiql-doc-explorer-search [role=combobox],\n .graphiql-history-item.editable > input {\n background-color: transparent;\n }\n @-moz-keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n @-webkit-keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n @keyframes blink {\n 50% {\n background-color: transparent;\n }\n }\n button.graphiql-execute-button > svg {\n color: #fff;\n }\n .graphiql-editor-tool, .graphiql-editor-tools, .graphiql-editors,\n .graphiql-horizontal-drag-bar, .graphiql-query-editor, div#graphiql-session {\n background-color: #181818;\n }\n /* end graphql.github.com rules */\n /* manual overrides */\n .btn.hover, .btn:hover {\n background-color: #282828;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n }\n .graphiql-container .show-btn {\n border: solid 1px #343434;\n background: #222;\n color: #c6c6c6;\n }\n .graphiql-container .doc-deprecation {\n box-shadow: inset 0 0 1px #cb4;\n background: #261d08;\n color: #ddd;\n }\n .graphiql-container .doc-deprecation::before {\n color: #cb4;\n }\n .graphiql-container .docExplorerShow, .graphiql-container .historyShow,\n .graphiql-container .topBar {\n background: #222;\n }\n .graphiql-container .docExplorerShow {\n border-left: 1px solid #444;\n }\n .graphiql-container .toolbar-button, .graphiql-container .execute-button {\n box-shadow: none;\n }\n .graphiql-container .toolbar-button:hover,\n .graphiql-container .execute-button:hover {\n background: #343434;\n }\n .graphiql-explorer-root input[style*=\"color: rgb(210, 5, 78)\"] {\n border-color: currentcolor currentcolor #999 !important;\n background-color: #181818;\n }\n .graphiql-container .search-box input {\n background-color: #181818;\n }\n .graphiql-explorer-node span[style*=\"color: rgb(31, 97, 160)\"] {\n color: /*[[base-color]]*/ !important;\n }\n .graphiql-explorer-node span[style*=\"color: rgb(139, 43, 185)\"] {\n color: #9a6cdf !important;\n }\n #graphiql svg path[d*=\"2V16H2V2H16ZM16\"][fill=\"#CCC\"] {\n fill: #444;\n }\n #graphiql svg path[d*=\"0H2C0.9\"][fill=\"#666\"] {\n fill: #777;\n }\n .graphiql-ide.signed-out::after {\n background: #333;\n }\n .graphiql-container .CodeMirror-foldmarker {\n background: /*[[base-color]]*/ !important;\n }\n .graphiql-container .execute-button svg {\n fill: currentColor !important;\n }\n .graphiql-container div[style*=\"color: rgb(177, 26, 4)\"] {\n color: rgb(215, 38, 13) !important;\n }\n .graphiql-explorer-root input[style*=\"border-color: currentcolor currentcolor rgb(136, 136, 136)\"] {\n border-color: currentcolor currentcolor #999 !important;\n background-color: #000 !important;\n }\n .graphiql-container select[style*=\"background-color: white;\"] {\n background-color: #181818 !important;\n border-color: #444;\n }\n}\n@-moz-document regexp(\"^https?://github\\.com/features/(security|actions)\") {\n img[src*=\"security-vulnerability.svg\"],\n img[src*=\"security-vulnerability-alert.svg\"], img[src*=\"security-policy.svg\"],\n img[src*=\"security-workspace-bg.svg\"],\n img[src*=\"security-workspace-comment-1.svg\"],\n img[src*=\"security-workspace-comment-2.svg\"],\n img[src*=\"security-workspace-changes.svg\"],\n img[src*=\"security-workspace-merge.svg\"], .section-security-alerts svg,\n img[src*=\"security-dependabot.svg\"], img.security-pr-merge,\n .section-security-patches-graph, img[src*=\"security-token-scanning.svg\"],\n img[src*=\"security-lgtm-vulnerability.svg\"],\n img[src*=\"security-lgtm-alert.svg\"], .actions-pr-checks {\n filter: invert(90%) hue-rotate(-180deg) !important;\n }\n .section-actions-hero .actions-hero-bg, .section-actions-hero .actions-hero {\n filter: invert(1) contrast(70%) brightness(80%);\n }\n .section-security-alerts-graph svg, .section-security-patches-graph {\n filter: none !important;\n }\n [style=\"background: #fff; box-shadow: 0 10px 50px 30px #fff;\"] {\n background: none !important;\n box-shadow: none !important;\n }\n [stroke=\"#E1E4E8\"] {\n stroke: #484848;\n }\n [stroke=\"#B08800\"] {\n stroke: #652;\n }\n [fill=\"#FFFDEF\"] {\n fill: #321;\n }\n [fill=\"#6A737D\"] {\n fill: #444;\n }\n [fill=\"white\"]:not([d*=\"M279.27\"]) {\n fill: #111;\n }\n [fill=\"black\"] {\n fill: #eee;\n }\n svg.security-hero, .actions-hero {\n filter: brightness(200%) contrast(80%);\n }\n .section-actions-workflow-logs::before, .actions-pricing-private::before {\n filter: brightness(60%);\n }\n}\n@-moz-document regexp(\"^https?://github\\.com/(features|security).*\") {\n img[src*=\"img-\"], img[src*=\"security\"] {\n filter: invert(90%) hue-rotate(-180deg) !important;\n }\n img[src*=\"img-share-achievements.png\"] {\n filter: invert(100%) hue-rotate(-85deg) !important;\n }\n .jumbotron-codelines {\n color: #dcdcdc;\n }\n}\n@-moz-document domain(\"resources.github.com\") {\n h1, h2, h3, h4, h5, h6 {\n color: #c6c6c6;\n }\n .bg-dots-gray {\n opacity: .2;\n }\n}\n@-moz-document domain(\"guides.github.com\") {\n header img[src*=\"logo\"] {\n opacity: .7;\n }\n article h2 {\n color: #c6c6c6;\n }\n ol.toc > li a.active {\n color: #aaa;\n }\n}\n@-moz-document domain(\"stylishthemes.github.io\") {\n * {\n box-sizing: border-box;\n }\n body {\n color: #e0e0e0;\n background-color: #202020;\n background-image: var(--ghd-bg-img);\n background-clip: border-box;\n background-origin: padding-box;\n background-attachment: /*[[bg-attachment]]*/;\n /*[[bg-options]]*/\n }\n .markdown-body img {\n background: none;\n }\n a {\n color: /*[[base-color]]*/;\n background-color: transparent;\n }\n .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4,\n .markdown-body h5, .markdown-body h6 {\n border-bottom: 1px solid #444;\n }\n .border-gray-light, hr {\n border-color: #444 !important;\n }\n .markdown-body table th, .markdown-body table td {\n border: 1px solid #444;\n }\n .text-gray {\n color: #aaa !important;\n }\n .markdown-body table tr {\n background-color: #181818;\n border-top: 1px solid #444;\n }\n .markdown-body table tr:nth-child(2n) {\n background-color: #202020;\n }\n /* style 404 page e.g. http://stylishthemes.github.io/ */\n p {\n color: #bebebe;\n }\n #suggestions a {\n color: #9e9e9e;\n }\n}\n@-moz-document url-prefix(\"https?://github.com/personal\") {\n .bg-blue-4, .illflow-blue .selected {\n background: #182030 !important;\n }\n}\n@-moz-document regexp(\"^https?://(education|lab)\\.github\\.com\") {\n .btn-blue {\n background-image: linear-gradient(-180deg, rgba(/*[[base-color-rgb]]*/, 1), rgba(/*[[base-color-rgb]]*/, .9) 90%) !important;\n }\n .btn-blue.hover, .btn.btn-blue:hover {\n background-image: linear-gradient(-180deg, rgba(/*[[base-color-rgb]]*/, .9), rgba(/*[[base-color-rgb]]*/, .8) 90%) !important;\n border-color: rgba(/*[[base-color-rgb]]*/, .3) !important;\n }\n}\n@-moz-document regexp(\"^https?://(render)\\.githubusercontent\\.com\\/render\\/math.*\") {\n svg {\n background: var(--ghd-code-background);\n }\n svg #surface1 g[style*=\"fill\"] {\n fill: var(--ghd-code-color) !important;\n }\n}\n@-moz-document domain(\"camo.githubusercontent.com\") {\n svg {\n background: var(--ghd-code-background);\n }\n}\n@-moz-document regexp(\"^https?://www\\.zuora\\.com.*github\\.com.*\") {\n /* Styles the payment form iframe */\n body, label {\n background: transparent !important;\n color: #bebebe !important;\n }\n input, select {\n background: #181818 !important;\n color: #bebebe !important;\n border-color: #343434 !important;\n }\n select {\n background: #181818 url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAQAAAAua3X8AAAARklEQVR4AWNABWcazjQg8zGl/wNhA15piBL80gglmNKYSjClMZUgpDGVwKXxKBl4QNiRBLxJIKAIBzXhyCIc3YQTDMEkBwBplPJRxEMa4wAAAABJRU5ErkJggg==\") no-repeat right 8px center !important;\n background-size: 8px 10px !important;\n }\n input:focus, select:focus {\n border-color: /*[[base-color]]*/ !important;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075), 0 0 2px /*[[base-color]]*/ !important;\n outline-color: /*[[base-color]]*/ !important;\n }\n .btn-submit {\n background-color: #373;\n background-image: none;\n border-color: rgba(220, 220, 220, .15);\n }\n .btn-submit:hover {\n background-color: #484;\n background-image: none;\n }\n .popup, #z_hppm_iframe {\n background-color: var(--ghd-bg-color);\n }\n /* fix top white line */\n .whitespace {\n margin: -1px !important;\n }\n}\n@-moz-document domain(\"render.githubusercontent.com\"), domain(\"notebooks.githubusercontent.com\"), domain(\"viewscreen.githubusercontent.com\") {\n :root {\n --jp-content-font-color1: #ccc;\n --jp-content-font-color2: #bbb;\n --jp-content-font-color3: #aaa;\n --jp-content-font-color4: #999;\n }\n /* generated render.githubusercontent.com rules */\n body, .render-shell {\n background: var(--ghd-code-background) !important;\n }\n .render-shell .mermaid {\n background: var(--color-canvas-default) !important;\n }\n .render-shell img.math {\n filter: invert(100%) hue-rotate(180deg) !important;\n }\n .render-shell .output_area .output_png img {\n filter: invert(90.5%) hue-rotate(180deg) saturate(200%) brightness(85%) !important;\n }\n .render-shell .output_area .output_png:hover img {\n filter: none !important;\n }\n .render-shell .added-frame, .render-shell .deleted-frame {\n box-sizing: border-box !important;\n }\n .render-shell .swipe-frame .deleted-frame {\n margin-left: 2px !important;\n }\n .render-shell:not([data-document-path]) img, .render-shell canvas {\n border: none !important;\n background-image: url(\"data:image/gif;base64,R0lGODlhCgAKAIAAABoaGgAAACwAAAAACgAKAAACEYQdmYcaDNxjEspKndVZbc8UADs=\") !important;\n }\n /* https://github.com/StylishThemes/GitHub-Dark/issues/1209 */\n .render-shell:not([data-document-path]) img:not([src$=\".svg\" i]):not(.leaflet-tile):not(.leaflet-marker-icon) {\n width: 100% !important;\n height: 100% !important;\n }\n img.leaflet-marker-icon, img.leaflet-marker-icon:hover {\n background: none !important;\n }\n .render-shell:not([data-document-path]) img:not(.leaflet-tile):not(.leaflet-marker-icon):hover,\n .render-shell:not([data-document-path]) canvas:hover {\n background-image: url(\"data:image/gif;base64,R0lGODlhCgAKAIAAAOXl5f///yH5BAAAAAAALAAAAAAKAAoAAAIRhB2ZhxoM3GMSykqd1VltzxQAOw==\") !important;\n }\n}\n@-moz-document domain(\"githubstatus.com\") {\n /* begin githubstatus.com rules */\n ._2NFgh0Z6tkGorUToiId47k [class^=Content__ChildWrapper] > [class^=Content],\n ._3c5eahGieigDTmRHO-d7l3 [class^=Content__ChildWrapper] > [class^=Content] {\n border-color: #767676;\n background-color: #181818;\n }\n ._2NFgh0Z6tkGorUToiId47k .status-dropdown__option::before,\n ._3c5eahGieigDTmRHO-d7l3 .status-dropdown__option::before {\n background-color: #181818;\n }\n ._3DswDMo3rPhwmGGm-RnGoI td[aria-selected=true] div {\n color: #fff;\n }\n ._2-I6T1F9kpUp2j9G31LMYN {\n border-color: #343434;\n }\n ._2wOD5aJH3F-IjQcHIh8Udc {\n background-color: #181818;\n }\n ._3qy5Vy5niTA5YAR6-x9PZ0 {\n color: #fff;\n }\n ._1JN3aEKlPD7X5jqB1dXYzx input, ._34-pLs8rXfQ3pFVMFFpFqG {\n border-color: #767676;\n }\n ._2dv0LNfUzjAAPh-wPACjXb {\n background-color: #181818;\n }\n .wPHh9nW_2p42Vk16HDf2n {\n color: #fff;\n }\n .ak-editor-wrapper pre, .markdown-display pre {\n background-color: #222;\n }\n .ak-editor-wrapper table, .markdown-display table {\n border-color: #343434;\n }\n .ak-editor-wrapper table td, .markdown-display table td {\n border-top-color: #343434;\n }\n .ak-editor-wrapper table td + td, .ak-editor-wrapper table th + th,\n .markdown-display table td + td, .markdown-display table th + th {\n border-left-color: #343434;\n }\n abbr, address, article, aside, audio, b, blockquote, body, canvas, caption,\n cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption,\n figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i,\n iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p,\n pre, q, samp, section, small, span, strong, sub, summary, sup, time, ul, var,\n video {\n background-color: transparent;\n }\n body {\n color: #c6c6c6;\n }\n textarea::placeholder {\n color: #767676;\n }\n .caret {\n border-top-color: #f0f0f0;\n }\n .well {\n border-color: #343434;\n }\n abbr {\n border-bottom-color: #343434;\n }\n pre.code-display {\n background-color: #222;\n }\n pre.code-display code {\n background-color: transparent;\n }\n input::-webkit-input-placeholder {\n color: #767676;\n }\n input:-moz-placeholder {\n color: #767676;\n }\n button:focus, input[type=\"button\"]:focus, input[type=\"reset\"]:focus,\n input[type=\"submit\"]:focus {\n box-shadow: none !important;\n }\n .chzn-container-single .chzn-single, input[type=\"email\"],\n input[type=\"number\"], input[type=\"password\"], input[type=\"text\"], select,\n textarea {\n border-color: #767676;\n }\n .chzn-container-single .chzn-single, input[type=\"email\"],\n input[type=\"password\"], input[type=\"text\"], textarea {\n color: #9b9b9b;\n }\n input[disabled], select[disabled], select[readonly], textarea[disabled] {\n background-color: #222;\n border-color: #343434;\n }\n input[disabled]:hover, select[disabled]:hover, select[readonly]:hover,\n textarea[disabled]:hover {\n border-color: #343434;\n }\n .controls.append label, .controls.prepend label {\n box-shadow: 0 1px 0 var(--ghd-bg-color) inset;\n -moz-box-shadow: 0 1px 0 #181818 inset;\n -webkit-box-shadow: 0 1px 0 #181818 inset;\n background-color: #242424;\n color: #9b9b9b;\n }\n .controls.append label.prepender, .controls.prepend label.prepender {\n border-right-color: #5a5a5a;\n }\n .controls.append label.appender, .controls.prepend label.appender {\n border-left-color: #5a5a5a;\n }\n .form-bordered .control-group {\n border-bottom-color: #343434;\n }\n .form-bordered .control-group.first-border {\n border-top-color: #343434;\n }\n .fa-border {\n border-color: #2c2c2c;\n }\n .fa-inverse {\n color: #fff;\n }\n .tooltipster-sidetip .tooltipster-box {\n border-color: #f0f0f0;\n }\n .tooltipster-sidetip .tooltipster-content {\n color: #fff;\n }\n .tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-border {\n border-bottom-color: #f0f0f0;\n }\n .tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border {\n border-left-color: #f0f0f0;\n }\n .tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border {\n border-right-color: #f0f0f0;\n }\n .tooltipster-sidetip.tooltipster-top .tooltipster-arrow-border {\n border-top-color: #f0f0f0;\n }\n .cpt-admin-callout.uptime-edit .label.set {\n color: #fff;\n }\n .cpt-admin-simple-search-form button {\n border-color: #767676;\n }\n .carousel-control {\n color: #fff;\n border-color: var(--ghd-bg-color);\n }\n .carousel-control:hover {\n color: #fff;\n }\n .carousel-caption {\n background-color: #c6c6c6;\n }\n .carousel-caption h4, .carousel-caption p {\n color: #fff;\n }\n .component-statuses .component-status-container .component-dropdown-selector.dropdown-open .component-status-display {\n background-color: #1d1d1d;\n }\n .component-statuses .component-status-container .component-dropdown-selector .status-dropdown {\n border-color: #343434;\n background-color: #181818;\n }\n .component-statuses .component-status-container .component-dropdown-selector .status-dropdown .status-option:hover,\n .datepicker {\n background-color: #181818;\n }\n .datepicker {\n box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n border-color: rgba(255, 255, 255, .7);\n }\n .datepicker::before {\n border-bottom-color: #5a5a5a;\n border-bottom-color: rgba(255, 255, 255, .7);\n }\n .datepicker::after {\n border-bottom-color: var(--ghd-bg-color);\n }\n .datepicker td.day:hover {\n background-color: #2c2c2c;\n }\n .datepicker td.active, .datepicker td.active:hover {\n color: #fff;\n }\n .datepicker td span:hover {\n background-color: #2c2c2c;\n }\n .datepicker td span.active {\n color: #fff;\n }\n .datepicker thead tr:first-child th:hover {\n background-color: #2c2c2c;\n }\n .dropdown .dropdown-menu {\n box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n background-color: #181818;\n border-color: rgba(255, 255, 255, .7);\n }\n .dropdown .dropdown-menu li:hover {\n background-color: #1d1d1d;\n }\n .dropdown .dropdown-menu li a {\n color: #c6c6c6;\n }\n .dropdown .dropdown-menu li.divider {\n background-color: #343434;\n }\n .search-bar i.fa-times, .search-bar i.mag-glass {\n color: #5a5a5a;\n }\n .es-menu {\n background-color: #181818;\n }\n .es-menu .item div .fa, .es-menu .item div i.component-status {\n color: #c6c6c6;\n }\n .es-highlight {\n color: #9b9b9b;\n }\n #es-search-field {\n box-shadow: none !important;\n }\n .grouped-items-selector {\n border-color: #767676;\n }\n .grouped-items-selector.inline {\n box-shadow: none;\n }\n .grouped-items-selector.inline .border-color {\n border-color: #343434;\n }\n .grouped-items-selector.inline .grouped-item.active {\n color: #c6c6c6;\n }\n .grouped-items-selector .body .grouped-items .grouped-item,\n .grouped-items-selector .body .grouped-items .grouped-item.open {\n border-color: #343434;\n }\n .grouped-items-selector .footer .close-button {\n background-color: #343434;\n }\n .loader-overlay {\n background-color: hsla(0, 0%, 0%, .8);\n }\n .sk-fading-circle .sk-circle::before {\n background-color: #c6c6c6;\n }\n .modal {\n background-color: #181818;\n border-color: #767676;\n }\n .modal hr {\n background-color: #343434;\n }\n .modal .headless-close {\n color: #f0f0f0;\n text-shadow: 0 1px 0 #181818;\n }\n .modal .headless-close:hover {\n color: #f0f0f0;\n }\n .modal .modal-header {\n border-bottom-color: #343434;\n }\n .modal .modal-header .close {\n color: #f0f0f0;\n text-shadow: 0 1px 0 #181818;\n }\n .modal .modal-header .close:hover {\n color: #f0f0f0;\n }\n .modal .modal-footer {\n background-color: #222;\n border-top-color: #343434;\n }\n .modal-backdrop {\n background-image: -moz-radial-gradient(50% 50%, circle closest-corner, rgba(0, 0, 0, .7), #f0f0f0 100%);\n background-image: -webkit-radial-gradient(50% 50%, circle closest-corner, rgba(0, 0, 0, .7), #f0f0f0 100%);\n background-image: -o-radial-gradient(50% 50%, circle closest-corner, rgba(0, 0, 0, .7), #f0f0f0 100%);\n }\n .cpt-notification {\n color: #fff;\n }\n .cpt-notification .close {\n color: hsla(0, 0%, 100%, .2);\n }\n .cpt-notification .close:hover, .cpt-notification a:not(.close),\n .cpt-notification a:not(.close):hover {\n color: #fff;\n }\n .cpt-notification.dotted, .cpt-notification.dotted a,\n .cpt-notification.dotted a:hover {\n color: #767676;\n }\n .panel {\n background-color: #181818;\n }\n .panel.panel-default {\n border-color: #343434;\n }\n .panel.panel-default .panel-heading {\n color: #c6c6c6;\n background-color: #222;\n border-color: #343434;\n }\n .popover {\n box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 5px 10px rgba(255, 255, 255, .7);\n background-color: #181818;\n border-color: rgba(255, 255, 255, .7);\n }\n .popover.top .arrow {\n border-top-color: #767676;\n }\n .popover.top .arrow::after {\n border-top-color: var(--ghd-bg-color);\n }\n .popover.right .arrow {\n border-right-color: #767676;\n }\n .popover.right .arrow::after {\n border-right-color: var(--ghd-bg-color);\n }\n .popover.bottom .arrow {\n border-bottom-color: #767676;\n }\n .popover.bottom .arrow::after {\n border-bottom-color: var(--ghd-bg-color);\n }\n .popover.left .arrow {\n border-left-color: #767676;\n }\n .popover.left .arrow::after {\n border-left-color: var(--ghd-bg-color);\n }\n .popover .popover-title {\n background-color: #222;\n border-bottom-color: #2c2c2c;\n }\n .cpt-progress {\n background-color: #202020;\n }\n .cpt-progress .bar {\n color: #fff;\n }\n .cpt-table .content {\n background-color: #181818;\n }\n .cpt-table .content .table-row.blank-state {\n border-color: #343434 !important;\n }\n .cpt-tabular-table {\n border-color: #343434;\n }\n .cpt-tabular-table td {\n border-top-color: #343434;\n }\n .cpt-tabular-table td + td, .cpt-tabular-table th + th {\n border-left-color: #343434;\n }\n .cpt-tabular-table .table-striped tbody tr:nth-child(odd) th,\n .cpt-tabular-table.striped tbody tr:nth-child(odd) td {\n background-color: #181818;\n }\n .cpt-tabs:not(.unstyled) {\n border-bottom-color: #343434;\n }\n .cpt-tabs:not(.unstyled) li:not(.active) a:hover {\n background-color: #2c2c2c;\n color: #9b9b9b;\n }\n .cpt-tabs:not(.unstyled) li:not(.active) a:hover.disabled {\n background-color: transparent;\n }\n .cpt-tabs:not(.unstyled) li.active a {\n color: #c6c6c6;\n background-color: #181818;\n border-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile {\n border-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile::after {\n color: #5a5a5a;\n }\n .cpt-tabs:not(.unstyled).mobile.open li:last-of-type {\n border-bottom-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile.open li a {\n border-left-color: #343434;\n border-right-color: #343434;\n }\n .cpt-tabs:not(.unstyled).mobile li a,\n .cpt-tabs:not(.unstyled).mobile li.active a,\n .cpt-tabs:not(.unstyled).mobile li:not(.active) a:hover {\n background-color: #181818;\n }\n .cpt-toggle {\n box-shadow: none;\n background: none;\n background-color: #343434;\n }\n .cpt-toggle .bubble {\n background-color: #181818;\n }\n .cpt-toggle.on .text {\n color: #fff;\n }\n .tooltip-base {\n color: #9b9b9b;\n border-color: #343434;\n }\n .tooltip-base:hover {\n color: #9b9b9b;\n }\n .tooltip.top .tooltip-arrow {\n border-top-color: #f0f0f0;\n }\n .tooltip.right .tooltip-arrow {\n border-right-color: #f0f0f0;\n }\n .tooltip.bottom .tooltip-arrow {\n border-bottom-color: #f0f0f0;\n }\n .tooltip.left .tooltip-arrow {\n border-left-color: #f0f0f0;\n }\n .tooltip .tooltip-inner {\n color: #fff;\n }\n .cpt-button {\n color: #fff;\n color: #fff !important;\n }\n .cpt-button:hover {\n color: #fff;\n }\n .cpt-button .caret {\n border-top-color: var(--ghd-bg-color);\n }\n .cpt-button:focus {\n box-shadow: none !important;\n }\n .cpt-button.style-outline {\n box-shadow: none;\n background-color: transparent;\n border-color: hsla(0, 0%, 0%, .8);\n }\n .cpt-button.style-outline:hover {\n border-color: var(--ghd-bg-color);\n }\n .cpt-button.style-outline.color-grey {\n border-color: #767676;\n }\n .cpt-button.disabled {\n box-shadow: none;\n }\n .cpt-button.pressed, .cpt-button:active {\n box-shadow: inset 0 0 5px rgba(255, 255, 255, .7);\n -moz-box-shadow: inset 0 0 5px rgba(255, 255, 255, .7);\n -webkit-box-shadow: inset 0 0 5px rgba(255, 255, 255, .7);\n }\n .domain-helper .domain-content.domain-unset {\n border-color: #5a5a5a;\n }\n .domain-helper .domain-header.domain-unset {\n background-color: #5a5a5a;\n }\n .domain-helper .domain-header.domain-deprecated,\n .domain-helper .domain-header.domain-invalid,\n .domain-helper .domain-header.domain-valid {\n color: #fff;\n }\n .domain-helper .dns-records {\n border-bottom-color: #2c2c2c;\n }\n .domain-helper .dns-records .dns-records-header {\n background-color: #2c2c2c;\n }\n .domain-helper .dns-records .dns-records-row {\n border-color: #2c2c2c;\n }\n .cpt-pill-group button.pill {\n background-color: #181818;\n }\n .cpt-pill-group button.pill.active {\n border-color: #343434;\n color: #c6c6c6;\n }\n .updates-dropdown-container .updates-dropdown {\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav {\n border-color: rgba(255, 255, 255, .7);\n background-color: #1d1d1d;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav a,\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav button {\n border-right-color: #343434;\n border-bottom-color: #343434;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav a:last-of-type,\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav button:last-of-type {\n color: #9b9b9b !important;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav a.active,\n .updates-dropdown-container .updates-dropdown .updates-dropdown-nav button.active {\n background-color: #9b9b9b;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section {\n border-color: rgba(255, 255, 255, .7);\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section.phone .externalities-sms-container select {\n background-color: transparent;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section.phone .externalities-sms-container .phone-country-wrapper {\n background-color: #181818;\n }\n .updates-dropdown-container .updates-dropdown .updates-dropdown-section.phone .externalities-sms-container .phone-country-wrapper::before {\n border-right-color: #f0f0f0;\n border-bottom-color: #f0f0f0;\n }\n .activate-page-prompt, .activate-page-prompt a, .flat-button,\n .flat-button:hover,\n .layout-content.status .masthead-container .updates-dropdown-container .show-updates-dropdown,\n .layout-content.status .masthead-container .updates-dropdown-container .show-updates-dropdown:hover,\n .pau-preview {\n color: #fff;\n }\n .flat-button:focus,\n .layout-content.status .masthead-container .updates-dropdown-container .show-updates-dropdown:focus {\n box-shadow: none !important;\n }\n .layout-content.status .masthead-container.premium .masthead .text-container .page-name,\n .layout-content.status .masthead-container.premium .masthead .text-container .page-name a {\n color: #fff;\n }\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident.impact-none .incident-title {\n background-color: #c6c6c6;\n }\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident.impact-none .updates {\n border-color: #5a5a5a;\n }\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident .incident-title {\n text-shadow: 0 1px 0 rgba(255, 255, 255, .7);\n }\n .layout-content.status.status-index .page-status .status,\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident .incident-title a,\n .layout-content.status.status-index .unresolved-incidents .unresolved-incident .incident-title a:hover {\n color: #fff;\n }\n .layout-content.status.status-index .page-status .last-updated-stamp {\n color: hsla(0, 0%, 100%, .2);\n }\n .layout-content.status.status-full-history .show-filter.open {\n color: #fff;\n }\n .layout-content.status.status-full-history .uptime-calendar #uptime-tooltip {\n background-color: #181818;\n border-color: rgba(255, 255, 255, .7);\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n .layout-content.status.status-full-history .uptime-calendar #uptime-tooltip #box-arrow {\n background-color: #181818;\n border-left-color: rgba(255, 255, 255, .7);\n border-top-color: rgba(255, 255, 255, .7);\n box-shadow: 0 0 10px rgba(255, 255, 255, .7);\n }\n .layout-content.status.status-full-history .uptime-calendar #uptime-tooltip .tooltip-box {\n box-shadow: none;\n }\n .layout-content.status-internal {\n border-color: #343434;\n color: #c6c6c6;\n }\n .layout-content.status-internal .message-container {\n box-shadow: 0 0 25px rgba(255, 255, 255, .7);\n -moz-box-shadow: 0 0 25px rgba(255, 255, 255, .7);\n -webkit-box-shadow: 0 0 25px rgba(255, 255, 255, .7);\n background-color: #181818;\n }\n .layout-content.status-internal .powered-by-container,\n .layout-content.status-internal .powered-by-container a,\n .layout-content.status-internal .powered-by-container a:hover {\n color: #fff;\n color: hsla(0, 0%, 0%, .85);\n }\n #uptime-tooltip .pointer-smaller {\n border-bottom-color: var(--ghd-bg-color);\n }\n #uptime-tooltip .tooltip-box {\n border-color: rgba(255, 255, 255, .7);\n background-color: #181818;\n }\n #uptime-tooltip .tooltip-close i {\n color: #5a5a5a;\n }\n #uptime-tooltip .outage-field {\n border-color: transparent;\n }\n #uptime-tooltip .related-events .related-event .related-event-link {\n color: #c6c6c6;\n }\n .modal-body .phone-country-dropdown {\n background-color: transparent;\n }\n .modal-body .phone-country-wrapper {\n background-color: #181818;\n }\n .modal-body .phone-country-wrapper::before {\n border-right-color: #f0f0f0;\n border-bottom-color: #f0f0f0;\n }\n .page-deleted {\n box-shadow: none;\n }\n a {\n background-color: transparent;\n color: /*[[base-color]]*/;\n }\n mark {\n color: #f0f0f0;\n }\n body {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n }\n .rule {\n border-bottom-color: #343434;\n }\n .border {\n border-color: #343434 !important;\n }\n .border-y {\n border-top-color: #343434 !important;\n border-bottom-color: #343434 !important;\n }\n .border-blue {\n border-color: /*[[base-color]]*/ !important;\n }\n .border-blue-light {\n border-color: #246 !important;\n }\n .border-green {\n border-color: #373 !important;\n }\n .border-green-light {\n border-color: #040 !important;\n }\n .border-red, .border-red-light {\n border-color: #d82828 !important;\n }\n .border-purple {\n border-color: #8348af !important;\n }\n .border-yellow {\n border-color: #cb4 !important;\n }\n .border-gray-light {\n border-color: #2c2c2c !important;\n }\n .border-gray-dark {\n border-color: #343434 !important;\n }\n .border-black-fade {\n border-color: rgba(220, 220, 220, .15) !important;\n }\n .border-top {\n border-top-color: #343434 !important;\n }\n .border-right {\n border-right-color: #343434 !important;\n }\n .border-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-left {\n border-left-color: #343434 !important;\n }\n .box-shadow {\n box-shadow: 0 1px 1px #000 !important;\n }\n .box-shadow-medium {\n box-shadow: 0 1px 5px #000 !important;\n }\n .box-shadow-large {\n box-shadow: 0 1px 15px #000 !important;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .bg-white {\n background-color: #181818 !important;\n }\n .bg-blue {\n background-color: /*[[base-color]]*/ !important;\n }\n .bg-blue-light {\n background-color: #182030 !important;\n }\n .bg-gray {\n background-color: #222 !important;\n }\n .bg-gray-light {\n background-color: #181818 !important;\n }\n .bg-green {\n background-color: #484 !important;\n }\n .bg-green-light {\n background-color: #002800 !important;\n }\n .bg-red {\n background-color: #d82828 !important;\n }\n .bg-red-light {\n background-color: #300 !important;\n }\n .bg-yellow {\n background-color: #cb4 !important;\n }\n .bg-yellow-light {\n background-color: #651 !important;\n }\n .bg-purple {\n background-color: #8348af !important;\n }\n .bg-purple-light {\n background-color: #213 !important;\n }\n .text-blue {\n color: /*[[base-color]]*/ !important;\n }\n .text-red {\n color: #d82828 !important;\n }\n .text-gray-light {\n color: #9b9b9b !important;\n }\n .text-gray {\n color: #afafaf !important;\n }\n .text-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .text-green {\n color: #484 !important;\n }\n .text-orange {\n color: #f3582c !important;\n }\n .text-orange-light {\n color: #fb8532 !important;\n }\n .text-purple {\n color: #8348af !important;\n }\n .text-white {\n color: #fff !important;\n }\n .bg-pending, .text-pending {\n color: #cb4 !important;\n }\n .link-gray {\n color: #afafaf !important;\n }\n .link-gray:hover {\n color: /*[[base-color]]*/ !important;\n }\n .link-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .link-gray-dark:hover, .link-hover-blue:hover {\n color: /*[[base-color]]*/ !important;\n }\n .muted-link {\n color: #afafaf !important;\n }\n .muted-link:hover {\n color: /*[[base-color]]*/ !important;\n }\n .details-overlay-dark[open] > summary::before {\n background-color: rgba(220, 220, 220, .5);\n }\n .lead {\n color: #afafaf;\n }\n .text-emphasized {\n color: rgb(210, 210, 210) !important;\n }\n .text-shadow-dark {\n text-shadow: 0 1px 1px rgba(220, 220, 220, .25), 0 1px 25px rgba(27, 31, 35, .75);\n }\n .text-shadow-light {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .5);\n }\n body {\n background-color: #222;\n }\n .component-container, .components-container {\n background-color: #181818;\n }\n .component-container .status-msg {\n color: #9b9b9b;\n }\n .incident-title + .updates {\n background-color: #181818;\n }\n .page-footer {\n border-top-color: #343434 !important;\n }\n body.history .history-backpage {\n background-color: #181818;\n }\n .component-items-selector .grouped-item:hover {\n background-color: #222;\n }\n .component-items-selector .active, .component-items-selector .active:hover {\n color: #fff;\n background-color: /*[[base-color]]*/;\n }\n .incident-list::before, .status-day::before {\n background-color: #444;\n }\n .status-day > .date::before {\n background-color: #181818;\n }\n .month-title {\n border-bottom-color: #343434 !important;\n }\n .incident-container::before {\n background-color: #444;\n }\n .incident-container .incident-title::before {\n background-color: #444;\n border-color: #202020;\n }\n .update.investigating > strong {\n color: #cb4;\n }\n .update.resolved > strong {\n color: #484;\n }\n .flat-button, .history-header .show-filter {\n background-color: #242424 !important;\n background-image: linear-gradient(-180deg, #202020 0%, #181818 90%) !important;\n border-color: rgba(220, 220, 220, .2) !important;\n color: rgb(210, 210, 210) !important !important;\n }\n .updates-dropdown-container .updates-dropdown {\n background-color: #181818;\n }\n .updates-dropdown-container .updates-dropdown-nav::before {\n color: rgb(210, 210, 210) !important;\n }\n .updates-dropdown-container #updates-dropdown-close-btn {\n background-color: transparent;\n }\n #uptime-tooltip .tooltip-box, .grouped-items-selector,\n .layout-content.status.status-api .section .example-container .example-opener .color-secondary,\n .layout-content.status.status-full-history .history-nav a.current, body,\n div[id^=\"subscribe-modal\"], div[id^=\"subscribe-modal\"] .modal-footer,\n div[id^=\"updates-dropdown\"] .updates-dropdown-section {\n background-color: #181818;\n }\n #uptime-tooltip .pointer-container .pointer-smaller {\n border-bottom-color: var(--ghd-bg-color);\n }\n #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link,\n .color-primary, .color-primary:hover, .grouped-item-label,\n .incident-history .impact-none,\n .layout-content.status .grouped-items-selector.inline .grouped-item.active,\n .layout-content.status-full-history .month .incident-container .impact-none,\n .layout-content.status-index .status-day .update-title.impact-none a,\n .layout-content.status-index .status-day .update-title.impact-none a:hover,\n .layout-content.status-index .timeframes-container .timeframe.active,\n .layout-content.status.status-full-history .history-nav a.current,\n .layout-content.status.status-full-history .history-nav a:not(.current):hover,\n .layout-content.status.status-index .components-statuses .component-container .name,\n .layout-content.status.status-index .incidents-list .incident-title.impact-none a,\n body.status, div[id^=\"subscribe-modal\"] .modal-header .close {\n color: rgb(210, 210, 210) !important;\n }\n #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header,\n .color-secondary,\n .layout-content.status .grouped-items-selector.inline .grouped-item,\n .layout-content.status .table-row .date,\n .layout-content.status.status-full-history .history-footer .pagination a.disabled,\n .layout-content.status.status-full-history .history-nav a, small {\n color: #9b9b9b;\n }\n #uptime-tooltip .tooltip-box, .markdown-display table, .tooltip-base,\n body.status .layout-content.status .border-color, div[id^=\"subscribe-modal\"] {\n border-color: #343434;\n }\n .markdown-display table td, div[id^=\"subscribe-modal\"] .modal-footer {\n border-top-color: #343434;\n }\n .markdown-display table td + td, .markdown-display table th + th {\n border-left-color: #343434;\n }\n #uptime-tooltip .pointer-container .pointer-larger,\n div[id^=\"subscribe-modal\"] .modal-header {\n border-bottom-color: #343434;\n }\n #uptime-tooltip .tooltip-box .outage-field {\n background-color: #282828;\n }\n .layout-content.status.status-index .page-status.status-major,\n .layout-content.status.status-index .status-day .update-title.impact-major a,\n .layout-content.status.status-index .status-day .update-title.impact-major a:hover,\n .layout-content.status.status-index .unresolved-incident.impact-major .incident-title {\n background-color: #fb8532;\n }\n .components-container .component-inner-container.status-orange .component-status,\n .components-container .component-inner-container.status-orange .icon-indicator,\n .incident-history .impact-major,\n .layout-content.status-full-history .month .incident-container .impact-major,\n .layout-content.status-incident .incident-name.impact-major,\n .layout-content.status-index .components-statuses .component-container.status-orange::after,\n .layout-content.status.status-index .incidents-list .incident-title.impact-major a,\n .status-orange .icon-indicator {\n color: #fb8532;\n }\n .layout-content.status.status-index .unresolved-incident.impact-major .updates {\n border-color: #fb8532;\n }\n .layout-content.status.status-index .page-status.status-minor,\n .layout-content.status.status-index .scheduled-incidents-container .tab,\n .layout-content.status.status-index .status-day .update-title.impact-minor a,\n .layout-content.status.status-index .status-day .update-title.impact-minor a:hover,\n .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title {\n background-color: #cb4;\n }\n .components-container .component-inner-container.status-yellow .component-status,\n .components-container .component-inner-container.status-yellow .icon-indicator,\n .incident-history .impact-minor,\n .layout-content.status-full-history .month .incident-container .impact-minor,\n .layout-content.status-incident .incident-name.impact-minor,\n .layout-content.status-index .components-statuses .component-container.status-yellow::after,\n .layout-content.status.manage-subscriptions .confirmation-infobox .fa,\n .layout-content.status.status-index .incidents-list .incident-title.impact-minor a,\n .status-yellow .icon-indicator {\n color: #cb4;\n }\n .layout-content.status.status-index .scheduled-incidents-container,\n .layout-content.status.status-index .unresolved-incident.impact-minor .updates {\n border-color: #cb4;\n }\n .layout-content.status.status-index .page-status.status-maintenance,\n .layout-content.status.status-index .scheduled-incidents-container .tab,\n .layout-content.status.status-index .status-day .update-title.impact-maintenance a,\n .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover,\n .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title {\n background-color: /*[[base-color]]*/;\n }\n .components-container .component-inner-container.status-blue .component-status,\n .components-container .component-inner-container.status-blue .icon-indicator,\n .incident-history .impact-maintenance,\n .layout-content.status-full-history .month .incident-container .impact-maintenance,\n .layout-content.status-incident .incident-name.impact-maintenance,\n .layout-content.status-index .components-statuses .component-container.status-blue::after,\n .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a,\n .status-blue .icon-indicator {\n color: /*[[base-color]]*/;\n }\n .layout-content.status.status-index .scheduled-incidents-container,\n .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates {\n border-color: /*[[base-color]]*/;\n }\n .layout-content.status.status-index .page-status.status-none {\n background-color: #484;\n }\n .components-container .component-inner-container.status-green .component-status,\n .components-container .component-inner-container.status-green .icon-indicator,\n .layout-content.status-index .components-statuses .component-container.status-green::after,\n .status-green .icon-indicator {\n color: #484;\n }\n .layout-content.status-incident .subheader a:hover,\n .layout-content.status-index .page-footer span a:hover,\n .layout-content.status-index .timeframes-container .timeframe:not(.active):hover,\n a, a:hover {\n color: /*[[base-color]]*/;\n }\n .flat-button, .layout-content.status-full-history .show-filter.open,\n .masthead .updates-dropdown-container .show-updates-dropdown {\n background-color: /*[[base-color]]*/;\n }\n .components-section .components-uptime-link,\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item,\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light {\n color: #9b9b9b;\n }\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer {\n background-color: #444;\n }\n /* end githubstatus.com rules */\n .illo-desktop-header {\n filter: invert(90%) hue-rotate(-180deg) !important;\n }\n .status-day > .date::before {\n background-color: #444 !important;\n }\n .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light {\n opacity: .7;\n }\n .page-title .impact-minor::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.89307 1.50072C8.70961 1.19027 8.37325 1 8.00632 1C7.63938 1 7.30302 1.19027 7.11956 1.50072L0.137601 13.4979C-0.0458669 13.8083 -0.0458669 14.1888 0.137601 14.4993C0.331261 14.8097 0.667618 15 1.02436 15H14.9883C15.3552 15 15.6916 14.8097 15.8648 14.4993C16.0381 14.1888 16.0483 13.8083 15.875 13.4979L8.89307 1.50072ZM9.02558 12.9971H6.98705V10.9943H9.02558V12.9971ZM9.02558 9.99285H6.98705V5.98712H9.02558V9.99285Z' fill='%23cb4'/%3E%3C/svg%3e\");\n }\n .page-title .impact-major::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.89307 1.50072C8.70961 1.19027 8.37325 1 8.00632 1C7.63938 1 7.30302 1.19027 7.11956 1.50072L0.137601 13.4979C-0.0458669 13.8083 -0.0458669 14.1888 0.137601 14.4993C0.331261 14.8097 0.667618 15 1.02436 15H14.9883C15.3552 15 15.6916 14.8097 15.8648 14.4993C16.0381 14.1888 16.0483 13.8083 15.875 13.4979L8.89307 1.50072ZM9.02558 12.9971H6.98705V10.9943H9.02558V12.9971ZM9.02558 9.99285H6.98705V5.98712H9.02558V9.99285Z' fill='%23f3582c'/%3E%3C/svg%3e\");\n }\n .page-title .impact-critical::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.89307 1.50072C8.70961 1.19027 8.37325 1 8.00632 1C7.63938 1 7.30302 1.19027 7.11956 1.50072L0.137601 13.4979C-0.0458669 13.8083 -0.0458669 14.1888 0.137601 14.4993C0.331261 14.8097 0.667618 15 1.02436 15H14.9883C15.3552 15 15.6916 14.8097 15.8648 14.4993C16.0381 14.1888 16.0483 13.8083 15.875 13.4979L8.89307 1.50072ZM9.02558 12.9971H6.98705V10.9943H9.02558V12.9971ZM9.02558 9.99285H6.98705V5.98712H9.02558V9.99285Z' fill='%23f44'/%3E%3C/svg%3e\");\n }\n .page-title .impact-maintenance::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.48 7.27001C4.74 7.53001 5.76 8.60001 5.76 8.60001L6.32 8.02001L5.44 7.11001L7.13 5.31001C7.13 5.31001 6.37 4.57001 6.7 4.86001C7.02 3.67001 6.73 2.35001 5.83 1.42001C4.93 0.500006 3.66 0.200006 2.52 0.510006L4.45 2.51001L3.94 4.47001L2.05 4.99001L0.12 2.99001C-0.19 4.17001 0.1 5.48001 1 6.40001C1.94 7.38001 3.29 7.66001 4.48 7.27001ZM10.92 9.21001L8.59 11.51L12.43 15.49C12.74 15.82 13.16 15.98 13.57 15.98C13.98 15.98 14.39 15.82 14.71 15.49C15.34 14.84 15.34 13.79 14.71 13.14L10.92 9.21001ZM16 2.53L13.55 0L6.33 7.46L7.21 8.37L2.9 12.83L1.91 13.36L0.519998 15.63L0.869998 16L3.07 14.56L3.58 13.54L7.9 9.08L8.78 9.99L16 2.53Z' fill='rgb(/*[[base-color-rgb]]*/)'/%3E%3C/svg%3e\");\n }\n .page-footer > a:first-child::before {\n background: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='8' height='16' viewBox='0 0 8 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.5 3L7 4.5L3.25 8L7 11.5L5.5 13L0.5 8L5.5 3Z' fill='rgb(/*[[base-color-rgb]]*/)'/%3E%3C/svg%3e\") no-repeat center center !important;\n }\n .incident-container .incident-title::before {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg width='14' height='16' viewBox='0 0 14 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.99999 2.3C10.14 2.3 12.7 4.86 12.7 8C12.7 11.14 10.14 13.7 6.99999 13.7C3.85999 13.7 1.29999 11.14 1.29999 8C1.29999 4.86 3.85999 2.3 6.99999 2.3ZM7 1C3.14 1 0 4.14 0 8C0 11.86 3.14 15 7 15C10.86 15 14 11.86 14 8C14 4.14 10.86 1 7 1ZM8 4H6V9H8V4ZM8 10H6V12H8V10Z' fill='%23bebebe'/%3E%3C/svg%3e\");\n }\n .select-input__control[class*=\"css-\"] {\n background-color: #181818;\n border-color: #333;\n }\n .select-input__single-value[class*=\"css-\"] {\n color: #bebebe;\n }\n body.status div[class*=\"css-\"] {\n background-color: #181818;\n }\n .layout-content.status.status-full-history .history-nav a.current.border-color {\n margin-top: 1px;\n border-bottom: 1px solid transparent !important;\n }\n .layout-content.status.status-full-history .history-nav a.button.border-color:not(.current) {\n border-bottom: 1px solid #333 !important;\n margin-top: 1px;\n }\n .select-input__option:not(.select-input__option--is-selected):hover {\n background-color: #282828;\n color: #eee;\n }\n .select-input__option--is-selected[class*=\"css-\"] {\n background-color: #182030 !important;\n }\n svg [fill=\"#EAEAEA\"] {\n fill: #555;\n }\n .pagination .current, .pagination .current:hover {\n background-color: initial;\n }\n}\n@-moz-document domain(\"support.github.com\") {\n /* begin support.github.com rules */\n :root, [data-color-mode=dark][data-dark-theme=light],\n [data-color-mode=light][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=light_colorblind],\n [data-color-mode=light][data-light-theme=light_colorblind] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light_colorblind] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light_colorblind] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=light_high_contrast],\n [data-color-mode=light][data-light-theme=light_high_contrast] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-checked-bg: #181818;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light_high_contrast] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-checked-bg: #181818;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light_high_contrast] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #181818;\n --color-diff-blob-addition-fg: #181818;\n --color-diff-blob-deletion-fg: #181818;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #181818;\n --color-checks-btn-hover-icon: #181818;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #181818;\n --color-checks-dropdown-btn-hover-text: #181818;\n --color-checks-header-label-open-text: #181818;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-disabled-bg: #040;\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-action-list-item-danger-hover-text: #181818;\n --color-switch-track-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-checked-bg: #181818;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #181818;\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n }\n }\n [data-color-mode=dark][data-dark-theme=light_tritanopia],\n [data-color-mode=light][data-light-theme=light_tritanopia] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=light_tritanopia] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=light_tritanopia] {\n --color-canvas-default-transparent: transparent;\n --color-page-header-bg: #202020;\n --color-prettylights-syntax-invalid-illegal-text: #202020;\n --color-prettylights-syntax-carriage-return-text: #202020;\n --color-codemirror-bg: #181818;\n --color-codemirror-gutters-bg: #181818;\n --color-codemirror-guttermarker-text: #181818;\n --color-codemirror-lines-bg: #181818;\n --color-checks-text-primary: #202020;\n --color-checks-btn-hover-icon: #202020;\n --color-checks-btn-hover-bg: hsla(0, 0%, 0%, .125);\n --color-checks-dropdown-hover-text: #202020;\n --color-checks-dropdown-btn-hover-text: #202020;\n --color-checks-header-label-open-text: #202020;\n --color-project-sidebar-bg: #181818;\n --color-project-gradient-in: #181818;\n --color-project-gradient-out: transparent;\n --color-mktg-btn-bg: #dcdcdc;\n --color-avatar-bg: #181818;\n --color-avatar-child-shadow: 0 0 0 2px hsla(0, 0%, 0%, .8);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-sidenav-selected-bg: #181818;\n --color-btn-bg: #202020;\n --color-btn-hover-bg: #242424;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .8);\n --color-btn-primary-icon: hsla(0, 0%, 0%, .8);\n --color-btn-outline-hover-text: #181818;\n --color-btn-outline-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-outline-selected-text: #181818;\n --color-btn-outline-disabled-bg: #202020;\n --color-btn-outline-hover-counter-fg: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-disabled-bg: #202020;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-disabled-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-switch-track-checked-disabled-fg: #181818;\n --color-switch-knob-bg: #181818;\n --color-switch-knob-disabled-bg: #202020;\n --color-switch-knob-checked-bg: #181818;\n --color-switch-knob-checked-disabled-bg: #202020;\n --color-segmented-control-button-bg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-canvas-default: #181818;\n --color-canvas-overlay: #181818;\n --color-canvas-inset: #202020;\n --color-canvas-subtle: #202020;\n --color-closed-subtle: #202020;\n --color-scale-white: #181818;\n --color-scale-gray-0: #202020;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark],\n [data-color-mode=light][data-light-theme=dark] {\n --color-checks-text-link: /*[[base-color]]*/;\n --color-checks-line-selected-num-text: /*[[base-color]]*/;\n --color-checks-line-dt-fm-text: #181818;\n --color-checks-logline-command-text: /*[[base-color]]*/;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-accent-fg: /*[[base-color]]*/;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark] {\n --color-checks-text-link: /*[[base-color]]*/;\n --color-checks-line-selected-num-text: /*[[base-color]]*/;\n --color-checks-line-dt-fm-text: #181818;\n --color-checks-logline-command-text: /*[[base-color]]*/;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-accent-fg: /*[[base-color]]*/;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark] {\n --color-checks-text-link: /*[[base-color]]*/;\n --color-checks-line-selected-num-text: /*[[base-color]]*/;\n --color-checks-line-dt-fm-text: #181818;\n --color-checks-logline-command-text: /*[[base-color]]*/;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-accent-fg: /*[[base-color]]*/;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_dimmed],\n [data-color-mode=light][data-light-theme=dark_dimmed] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_dimmed] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_dimmed] {\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-btn-primary-text: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_high_contrast],\n [data-color-mode=light][data-light-theme=dark_high_contrast] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-btn-inactive-text: #242424;\n --color-underlinenav-icon: #242424;\n --color-tree-view-item-directory-fill: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_high_contrast] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-btn-inactive-text: #242424;\n --color-underlinenav-icon: #242424;\n --color-tree-view-item-directory-fill: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_high_contrast] {\n --color-diff-blob-addition-num-text: #242424;\n --color-diff-blob-deletion-num-text: #242424;\n --color-diff-blob-expander-icon: #242424;\n --color-prettylights-syntax-storage-modifier-import: #242424;\n --color-prettylights-syntax-invalid-illegal-text: #181818;\n --color-prettylights-syntax-carriage-return-text: #181818;\n --color-prettylights-syntax-markup-italic: #242424;\n --color-prettylights-syntax-markup-bold: #242424;\n --color-prettylights-syntax-markup-ignored-text: #242424;\n --color-codemirror-text: #242424;\n --color-codemirror-linenumber-text: #242424;\n --color-codemirror-cursor: #242424;\n --color-codemirror-matchingbracket-text: #242424;\n --color-checks-text-primary: #242424;\n --color-checks-text-secondary: #242424;\n --color-checks-btn-icon: #242424;\n --color-checks-btn-hover-icon: #242424;\n --color-checks-input-text: #242424;\n --color-checks-input-focus-text: #242424;\n --color-checks-dropdown-text: #242424;\n --color-checks-dropdown-hover-text: #242424;\n --color-checks-dropdown-btn-hover-text: #242424;\n --color-checks-header-label-text: #242424;\n --color-checks-header-label-open-text: #242424;\n --color-checks-header-icon: #242424;\n --color-checks-line-text: #242424;\n --color-checks-gate-text: #242424;\n --color-checks-logline-text: #242424;\n --color-checks-logline-error-text: #242424;\n --color-checks-logline-warning-text: #242424;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-header-logo: #181818;\n --color-ansi-white-bright: #181818;\n --color-btn-text: #242424;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-btn-inactive-text: #242424;\n --color-underlinenav-icon: #242424;\n --color-tree-view-item-directory-fill: #242424;\n --color-fg-default: #242424;\n --color-fg-muted: #242424;\n --color-neutral-emphasis-plus: #181818;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-gray-0: #181818;\n --color-scale-gray-1: #242424;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_colorblind],\n [data-color-mode=light][data-light-theme=dark_colorblind] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_colorblind] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_colorblind] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n [data-color-mode=dark][data-dark-theme=dark_tritanopia],\n [data-color-mode=light][data-light-theme=dark_tritanopia] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme=dark_tritanopia] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme=dark_tritanopia] {\n --color-checks-line-dt-fm-text: #181818;\n --color-mktg-btn-bg: #202020;\n --color-mktg-btn-shadow-hover-muted: #181818 0 0 0 2px inset;\n --color-avatar-bg: hsla(0, 0%, 0%, .1);\n --color-header-text: hsla(0, 0%, 0%, .7);\n --color-ansi-white-bright: #181818;\n --color-btn-primary-text: #181818;\n --color-btn-primary-disabled-text: hsla(0, 0%, 0%, .5);\n --color-btn-primary-icon: #181818;\n --color-btn-outline-selected-text: #181818;\n --color-btn-danger-hover-text: #181818;\n --color-btn-danger-hover-icon: #181818;\n --color-btn-danger-hover-counter-bg: hsla(0, 0%, 0%, .2);\n --color-btn-danger-selected-text: #181818;\n --color-btn-danger-hover-counter-fg: #181818;\n --color-switch-track-checked-fg: #181818;\n --color-fg-on-emphasis: #181818;\n --color-done-emphasis: #53387a;\n --color-primer-border-contrast: hsla(0, 0%, 0%, .2);\n --color-scale-white: #181818;\n --color-scale-purple-5: #53387a;\n --color-scale-purple-6: #8348af;\n }\n }\n .ActionList-item {\n background-color: transparent;\n }\n @media (hover: hover) {\n .ActionList-item[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .ActionList-content {\n background-color: transparent;\n }\n .ActionList-content:focus {\n box-shadow: none;\n }\n .ActionList-content:focus-visible {\n box-shadow: none;\n }\n @media (hover: hover) {\n .ActionList-content[aria-disabled=true]:hover {\n background-color: transparent;\n }\n }\n .rule, a {\n background-color: transparent;\n }\n [role=button]:focus, a:focus, button:focus, input[type=checkbox]:focus,\n input[type=radio]:focus {\n box-shadow: none;\n }\n [role=button]:focus-visible, a:focus-visible, button:focus-visible,\n input[type=checkbox]:focus-visible, input[type=radio]:focus-visible {\n box-shadow: none;\n }\n .Box--overlay {\n box-shadow: 0 0 18px #000;\n }\n .btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n a.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-outline.selected:focus:not(:focus-visible),\n .btn-outline:active:focus:not(:focus-visible),\n .btn-outline[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-danger.disabled, .btn-danger:disabled, .btn-danger[aria-disabled=true],\n .btn-outline.disabled, .btn-outline:disabled,\n .btn-outline[aria-disabled=true] {\n box-shadow: none;\n }\n .btn-invisible, .btn-link {\n background-color: transparent;\n }\n .btn-invisible, .btn-invisible.zeroclipboard-is-hover, .btn-invisible:hover {\n box-shadow: none;\n }\n .btn-invisible.selected, .btn-invisible.zeroclipboard-is-active,\n .btn-invisible:active, .btn-invisible[aria-selected=true] {\n background: none;\n box-shadow: none;\n }\n .btn-invisible.disabled, .btn-invisible:disabled,\n .btn-invisible[aria-disabled=true], .btn-octicon {\n background-color: transparent;\n }\n .btn-octicon {\n box-shadow: none;\n }\n .close-button {\n background-color: transparent;\n }\n .close-button:active {\n box-shadow: none;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .FormControl-input[disabled], .FormControl-select[disabled],\n .FormControl-textarea[disabled], .upload-enabled.focused .form-control,\n input.FormControl-checkbox[type=checkbox][disabled],\n input.FormControl-radio[type=radio][disabled] {\n box-shadow: none;\n }\n .filter-list.pjax-active .filter-item {\n background-color: transparent;\n }\n .filter-item.selected:focus:not(:focus-visible),\n .filter-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .filter-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .SideNav-item, .SideNav-subItem {\n background-color: transparent;\n }\n .subnav-item.selected:focus:not(:focus-visible),\n .subnav-item[aria-current]:not([aria-current=false]):focus:not(:focus-visible),\n .subnav-item[aria-selected=true]:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .color-bg-transparent {\n background-color: transparent !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-reset > summary:focus {\n box-shadow: none;\n }\n .details-reset > summary:focus-visible {\n box-shadow: none;\n }\n .details-reset > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .details-overlay > summary:focus {\n box-shadow: none;\n }\n .details-overlay > summary:focus-visible {\n box-shadow: none;\n }\n .details-overlay > summary.btn-primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .Header-input {\n box-shadow: none;\n }\n .SelectMenu-closeButton, .SelectMenu-tab {\n background-color: transparent;\n }\n @media (min-width: 544px) {\n .SelectMenu-tab[aria-selected=true] {\n box-shadow: none;\n }\n }\n .Toast-dismissButton {\n background-color: transparent;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0%, transparent 100%) !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, rgba(52, 183, 89, .15) 0%, rgba(46, 164, 79, 0) 100%), #373 !important;\n }\n @supports not (background-color: canvas) {\n [popover] {\n background-color: #181818;\n color: #f0f0f0;\n }\n }\n .ActionListItem {\n background-color: var(--control-transparent-bgColor-rest, transparent);\n }\n .autocomplete-embedded-icon-wrap .form-control,\n .autocomplete-embedded-icon-wrap .form-control:focus {\n box-shadow: none;\n }\n .autocomplete-embedded-icon-wrap .form-control:focus-visible {\n box-shadow: none;\n }\n .dropdown-item:hover > .Label {\n border-color: currentcolor;\n }\n .dropdown-signout {\n background: none;\n }\n .FormControl-input-wrap .FormControl-input-trailingAction {\n background-color: transparent;\n }\n input.FormControl-checkbox[type=checkbox]:focus-visible {\n box-shadow: none;\n }\n input.FormControl-radio[type=radio]:focus-visible {\n box-shadow: none;\n }\n .btn-mktg {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15) 0, transparent 100%), var(--color-mktg-btn-bg) !important;\n }\n .btn-mktg::before {\n background: linear-gradient(180deg, hsla(0, 0%, 0%, .15), transparent) !important;\n }\n .btn-mktg:focus {\n box-shadow: none;\n }\n .btn-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-mktg:focus-visible {\n box-shadow: none;\n }\n .btn-muted-mktg {\n background: none !important;\n }\n .btn-subtle-mktg {\n box-shadow: none !important;\n }\n .btn-subtle-mktg, .btn-subtle-mktg::before {\n background: none !important;\n }\n .btn-signup-mktg {\n background: linear-gradient(180deg, #34b75926, transparent), #373 !important;\n color: #fff;\n }\n .btn-signup-mktg::before {\n background: linear-gradient(180deg, #34b75926, transparent) !important;\n }\n .btn-signup-mktg:focus {\n box-shadow: none;\n }\n .btn-signup-mktg:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .btn-signup-mktg:focus-visible {\n box-shadow: none;\n }\n .AvatarStack-body .avatar, .Button:disabled, .Button[aria-disabled=true],\n .ToggleSwitch-track[disabled] .ToggleSwitch-knob {\n box-shadow: none;\n }\n .Button--primary:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .flash-close:not(.Banner-close) {\n background: none;\n }\n .markdown-body .emoji, .markdown-body pre > code, .markdown-body pre code,\n .markdown-body pre tt, .markdown-body table img {\n background-color: transparent;\n }\n .progress-bar-processing .Progress-item {\n background-image: linear-gradient(45deg, hsla(0, 0%, 0%, .15) 25%, transparent 25%, transparent 50%, hsla(0, 0%, 0%, .15) 50%, hsla(0, 0%, 0%, .15) 75%, transparent 75%, transparent);\n }\n .notification-indicator .unviewed-status {\n background-image: linear-gradient(/*[[base-color]]*/, /*[[base-color]]*/);\n }\n .file-uploader:focus-within .file-uploader-status {\n box-shadow: none;\n }\n .toolbar-item {\n background: none;\n }\n .toolbar-item:disabled {\n color: #343434;\n }\n .copilot-x-border-wrap {\n background: linear-gradient(90deg, #f0f0f0 -56%, #553098 -30.39%, #a371f7 1.91%, #a5d6ff 46.33%, #aff5b4 63.53%, #dafbe1 86.41%, #181818 100%);\n }\n :root, [data-color-mode=dark][data-dark-theme*=light],\n [data-color-mode=light][data-light-theme*=light] {\n --color-placeholder-gradient: #242424;\n --color-placeholder-gradient-from: #343434;\n --color-placeholder-gradient-to: #242424;\n }\n @media (prefers-color-scheme: light) {\n [data-color-mode=auto][data-light-theme*=light] {\n --color-placeholder-gradient: #242424;\n --color-placeholder-gradient-from: #343434;\n --color-placeholder-gradient-to: #242424;\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-color-mode=auto][data-dark-theme*=light] {\n --color-placeholder-gradient: #242424;\n --color-placeholder-gradient-from: #343434;\n --color-placeholder-gradient-to: #242424;\n }\n }\n .taggle_list .taggle .close {\n color: #5a5a5a;\n background: none;\n }\n .taggle_list .taggle:hover {\n background-color: #5a5a5a;\n }\n .taggle_placeholder {\n color: #5a5a5a;\n }\n .taggle_input {\n background: none;\n }\n #ticket-comments .attachment-name a, .attachment-name a:hover,\n .attachment-upload-preview .link, .link:hover {\n color: #c6c6c6;\n }\n .not-found-octocat-wrapper::after {\n box-shadow: 0 4px 0 var(--ghd-bg-color), 0 8px 0 var(--ghd-bg-color), 0 12px 0 var(--ghd-bg-color), 0 16px 0 var(--ghd-bg-color), 0 20px 0 var(--ghd-bg-color);\n }\n :root, [data-color-mode=light] {\n --base-color-scale-transparent: transparent;\n --base-color-scale-white-0: #181818;\n --base-color-scale-gray-0: #202020;\n }\n [data-color-mode=dark] {\n --base-color-scale-white-0: #181818;\n --base-color-scale-purple-5: #53387a;\n --base-color-scale-purple-6: #8348af;\n }\n .Primer_Brand__Button-module__Button___lDruK,\n .Primer_Brand__Label-module__Label___TW0HL {\n background: none;\n }\n @media screen and (min-width: 48rem) {\n .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-more-link___GR7D2 {\n background-color: transparent;\n }\n }\n .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-menu-button___hMy4J,\n .Primer_Brand__SubdomainNavBar-module__SubdomainNavBar-search-button___Nzz4R {\n background-color: transparent;\n }\n :root, [data-color-mode=light] {\n --brand-SubdomainNavBar-canvas-default: hsla(0, 0%, 0%, .5);\n }\n .Primer_Brand__FAQ-module__FAQ___R3vLU.Primer_Brand__FAQ-module__details__summary___zIBcp {\n background: none;\n }\n .Primer_Brand__VideoPlayer-module__VideoPlayer__playButton___qff0F {\n background-color: transparent;\n }\n .Primer_Brand__VideoPlayer-module__VideoPlayer__iconControl___Tw7A4 {\n background: none;\n }\n .Primer_Brand__VideoPlayer-module__VideoPlayer__ccOff___svmJL,\n .Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl {\n background-color: transparent;\n }\n .Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl::-moz-range-track,\n .Primer_Brand__VideoPlayer-module__VideoPlayer__rangeInput____wivl::-webkit-slider-runnable-track {\n background-color: transparent;\n }\n .Primer_Brand__VideoPlayer-module__VideoPlayer__tooltipContent___BoAqV {\n background-color: #181818;\n }\n .Primer_Brand__LogoSuite-module__LogoSuite__logobar-marquee___Q0YOr {\n -webkit-mask-image: linear-gradient(to right, hsla(0, 0%, 0%, 0), #f0f0f0 20%, #f0f0f0 80%, hsla(0, 0%, 0%, 0));\n mask-image: linear-gradient(to right, hsla(0, 0%, 0%, 0), #f0f0f0 20%, #f0f0f0 80%, hsla(0, 0%, 0%, 0));\n }\n :root, [data-color-mode=light] {\n --brand-Eyebrowbanner-bgColor-rest: hsla(0, 0%, 0%, .6);\n }\n @media screen and (max-width: 63.24rem) {\n .Primer_Brand__SubNav-module__SubNav__overlay-toggle___GY93X {\n background-color: transparent;\n }\n }\n :root, [data-color-mode=light] {\n --brand-IDE-glass-bgColor-rest: hsla(0, 0%, 0%, .85);\n --brand-IDE-glass-editor-tab-bgColor-rest: hsla(0, 0%, 0%, .1);\n }\n .Primer_Brand__IDE-module__IDE--glass___uVNlv .Primer_Brand__IDE-module__IDE__Editor-tab___lY6lZ,\n .Primer_Brand__Pagination-module__Pagination__item___PmxA5[aria-disabled],\n .Primer_Brand__Pagination-module__Pagination__item___PmxA5[aria-disabled]:hover,\n .Primer_Brand__Pagination-module__Pagination__item___PmxA5[role=presentation],\n .Primer_Brand__Pagination-module__Pagination__item___PmxA5[role=presentation]:hover {\n background-color: transparent;\n }\n /* end support.github.com rules */\n .input-block #query {\n background: url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M15.7 13.3l-3.8-3.8C12.6 8.5 13 7.2 13 6c0-3.3-2.7-6-6-6C3.7 0 1 2.7 1 6c0 3.3 2.7 6 6 6 1.3 0 2.5-0.4 3.5-1.1L14.3 14.7c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.4 0.4-1 0-1.4 0 0 0 0 0 0V13.3zM7 10.7c-2.6 0-4.7-2.1-4.7-4.7S4.4 1.3 7 1.3s4.7 2.1 4.7 4.7S9.6 10.7 7 10.7z\" fill=\"%23DDDDDD\"/></svg>') no-repeat 6px;\n }\n}\n@-moz-document domain(\"vscode-auth.github.com\") {\n /* begin vscode-auth.github.com rules */\n a {\n background-color: transparent;\n }\n mark {\n color: #f0f0f0;\n }\n body {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n }\n a {\n color: /*[[base-color]]*/;\n }\n .rule {\n background-color: transparent;\n border-bottom-color: #343434;\n }\n .Box {\n background-color: #181818;\n }\n .Box, .Box-header {\n border-color: #343434;\n }\n .Box-header {\n background-color: #222;\n }\n .Box-body {\n border-bottom-color: #343434;\n }\n .Box-row {\n border-top-color: #343434;\n }\n .Box-row.Box-row--unread, .Box-row.unread {\n box-shadow: 2px 0 0 /*[[base-color]]*/ inset;\n }\n .Box-row.navigation-focus .Box-row--drag-button {\n color: /*[[base-color]]*/;\n }\n .Box-row.navigation-focus.sortable-chosen {\n background-color: #181818;\n }\n .Box-row--focus-gray.navigation-focus,\n .Box-row.navigation-focus.sortable-ghost {\n background-color: #222;\n }\n .Box-row--focus-blue.navigation-focus {\n background-color: #182030;\n }\n .Box-row--hover-gray:hover {\n background-color: #222;\n }\n .Box-row--hover-blue:hover {\n background-color: #182030;\n }\n @media (min-width: 768px) {\n .Box-row-link {\n color: rgb(210, 210, 210) !important;\n }\n .Box-row-link:hover {\n color: /*[[base-color]]*/;\n }\n }\n .Box-footer {\n border-top-color: #343434;\n }\n .Box--blue {\n border-color: #246;\n }\n .Box--blue .Box-header {\n background-color: #182030;\n border-color: #246;\n }\n .Box--blue .Box-body, .Box--blue .Box-footer, .Box--blue .Box-row {\n border-color: #246;\n }\n .Box--danger, .Box--danger .Box-body:last-of-type,\n .Box--danger .Box-row:first-of-type {\n border-color: #d82828;\n }\n .Box-header--blue {\n background-color: #182030;\n border-color: #246;\n }\n .Box-row--yellow {\n background-color: #261d08;\n }\n .Box-row--blue {\n background-color: #182030;\n }\n .Box-row--gray {\n background-color: #222;\n }\n .breadcrumb-item::after {\n color: #343434;\n }\n .btn {\n border-color: rgba(220, 220, 220, .2);\n }\n .btn .Counter {\n color: #afafaf;\n background-color: rgba(220, 220, 220, .1);\n }\n .btn.selected, .btn:active {\n background-image: none;\n }\n .btn {\n color: rgb(210, 210, 210) !important;\n background-color: #242424;\n background-image: linear-gradient(-180deg, #202020 0%, #181818 90%);\n }\n .btn.focus, .btn:focus {\n box-shadow: 0 0 0 .2em rgba(/*[[base-color-rgb]]*/, .5);\n }\n .btn.hover, .btn:hover {\n background-color: #444;\n background-image: linear-gradient(-180deg, #242424 0%, #444 90%);\n border-color: rgba(220, 220, 220, .35);\n }\n .btn.selected, .btn:active, [open] > .btn {\n background-color: #404040;\n background-image: none;\n border-color: rgba(220, 220, 220, .35);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn.disabled, .btn:disabled {\n color: rgba(210, 210, 210, .4);\n background-color: #242424;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-primary {\n color: #fff;\n background-color: #484;\n background-image: linear-gradient(-180deg, #373 0%, #484 90%);\n }\n .btn-primary.focus, .btn-primary:focus {\n box-shadow: 0 0 0 .2em #3737;\n }\n .btn-primary.hover, .btn-primary:hover {\n background-color: #595;\n background-image: linear-gradient(-180deg, #373 0%, #595 90%);\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-primary.selected, .btn-primary:active, [open] > .btn-primary {\n background-color: #595;\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-primary.disabled, .btn-primary:disabled {\n background-color: #040;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-primary .Counter {\n background-color: #181818;\n }\n .btn-purple {\n color: #fff;\n }\n .btn-purple.hover, .btn-purple:hover {\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-purple.selected, .btn-purple:active, [open] > .btn-purple {\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-purple.disabled, .btn-purple:disabled {\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-purple .Counter {\n background-color: #181818;\n }\n .btn-blue {\n color: #fff;\n background-color: /*[[base-color]]*/;\n background-image: linear-gradient(-180deg, /*[[base-color]]*/ 0%, /*[[base-color]]*/ 90%);\n }\n .btn-blue.hover, .btn-blue:hover {\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-blue.selected, .btn-blue:active, [open] > .btn-blue {\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-blue.disabled, .btn-blue:disabled {\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-blue .Counter {\n color: /*[[base-color]]*/;\n background-color: #181818;\n }\n .btn-danger {\n color: #d82828;\n background-color: #181818;\n background-image: linear-gradient(-180deg, #202020 0%, #181818 90%);\n }\n .btn-danger:focus {\n box-shadow: 0 0 0 .2em rgba(255, 68, 68, .4);\n }\n .btn-danger:hover {\n color: #fff;\n background-color: #d82828;\n background-image: linear-gradient(-180deg, #de4450 0%, #d82828 90%);\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-danger:hover .Counter {\n color: #fff;\n }\n .btn-danger.selected, .btn-danger:active, [open] > .btn-danger {\n color: #fff;\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-danger.disabled, .btn-danger:disabled {\n color: rgba(255, 68, 68, .4);\n background-color: #242424;\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-outline {\n color: /*[[base-color]]*/;\n background-color: #181818;\n background-image: none;\n }\n .btn-outline.selected, .btn-outline:active, .btn-outline:hover,\n [open] > .btn-outline {\n color: #fff;\n background-color: /*[[base-color]]*/;\n background-image: none;\n border-color: /*[[base-color]]*/;\n }\n .btn-outline.selected .Counter, .btn-outline:active .Counter,\n .btn-outline:hover .Counter, [open] > .btn-outline .Counter {\n color: /*[[base-color]]*/;\n background-color: #181818;\n }\n .btn-outline:focus {\n border-color: /*[[base-color]]*/;\n }\n .btn-outline.disabled, .btn-outline:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .ellipsis-expander, .hidden-text-expander a {\n color: #afafaf;\n background-color: #343434;\n }\n .ellipsis-expander:hover, .hidden-text-expander a:hover {\n background-color: #767676;\n }\n .ellipsis-expander:active, .hidden-text-expander a:active {\n color: #fff;\n background-color: #4f8cc9;\n }\n .social-count {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n border-color: rgba(220, 220, 220, .2);\n }\n .btn-link, .social-count:hover {\n color: /*[[base-color]]*/;\n }\n .btn-link {\n background-color: transparent;\n }\n .btn-link:disabled, .btn-link:disabled:hover {\n color: rgba(148, 148, 148, .5);\n }\n .form-control, .form-select {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n border-color: #343434;\n }\n .form-control.focus, .form-control:focus, .form-select.focus,\n .form-select:focus {\n border-color: #4f8cc9;\n box-shadow: 0 0 0 2px rgba(/*[[base-color-rgb]]*/, .3);\n }\n .input-contrast, .input-contrast:focus {\n background-color: #181818;\n }\n :-ms-input-placeholder {\n color: #9b9b9b;\n }\n ::placeholder {\n color: #9b9b9b;\n }\n .form-checkbox label em.highlight {\n background-color: #261d08;\n }\n .form-checkbox .note, .hfields .form-group dt label {\n color: #afafaf;\n }\n .form-warning {\n color: #bba257;\n background-color: #261d08;\n border-color: #cb4;\n }\n .form-select {\n background-image: none \\9;\n }\n .form-group .form-control, .form-group .form-control:focus, .form-select {\n background-color: #181818;\n }\n .form-group dd h4.is-error {\n color: #d82828;\n }\n .form-group dd h4.is-success {\n color: #484;\n }\n .form-group.required dt label::after {\n color: #d82828;\n }\n .form-group.successful .success {\n color: #484;\n }\n .form-group.warn .warning {\n color: #bba257;\n background-color: #261d08;\n border-color: #cb4;\n }\n .form-group.warn .warning::after {\n border-bottom-color: #261d08;\n }\n .form-group.warn .warning::before {\n border-bottom-color: #cb4;\n }\n .form-group.errored label {\n color: #d82828;\n }\n .form-group.errored .error {\n color: #f84848;\n background-color: #300;\n border-color: #d82828;\n }\n .form-group.errored .error::after {\n border-bottom-color: #300;\n }\n .form-group.errored .error::before {\n border-bottom-color: #d82828;\n }\n .note {\n color: #afafaf;\n }\n .status-indicator-success .octicon-check {\n color: #484;\n fill: #484;\n }\n .status-indicator-failed .octicon-x {\n color: #d82828;\n fill: #d82828;\n }\n .inline-form .btn-plain {\n background-color: transparent;\n }\n .drag-and-drop {\n color: #afafaf;\n background-color: #181818;\n border-color: #484848;\n }\n .drag-and-drop .error {\n color: #d82828;\n }\n .drag-and-drop-error-info {\n color: #afafaf;\n }\n .drag-and-drop-error-info a {\n color: /*[[base-color]]*/;\n }\n .upload-enabled textarea {\n border-bottom-color: #343434;\n }\n .upload-enabled.focused {\n box-shadow: 0 0 0 2px rgba(/*[[base-color-rgb]]*/, .3);\n }\n .upload-enabled.focused .form-control {\n box-shadow: none;\n }\n .upload-enabled.focused .drag-and-drop {\n border-color: /*[[base-color]]*/;\n }\n .previewable-comment-form .comment {\n border-color: #484848;\n }\n h2.account, p.explain {\n color: #afafaf;\n }\n p.explain strong {\n color: rgb(210, 210, 210) !important;\n }\n p.explain .octicon {\n color: #767676;\n }\n .menu {\n background-color: #181818;\n border-color: #343434;\n }\n .menu-item {\n border-bottom-color: #343434;\n }\n .menu-item:hover {\n background-color: #222;\n }\n .menu-item.selected {\n color: rgb(210, 210, 210) !important;\n background-color: #181818;\n }\n .menu-item.selected::before {\n background-color: #fb8532;\n }\n .menu-item .octicon {\n color: rgb(210, 210, 210) !important;\n }\n .menu-item .menu-warning {\n color: #f84848;\n }\n .menu-item.alert .Counter {\n color: #d82828;\n }\n .menu-heading {\n color: #afafaf;\n }\n .menu-heading, .tabnav {\n border-bottom-color: #343434;\n }\n .tabnav-tab {\n color: #afafaf;\n background-color: transparent;\n }\n .tabnav-tab.selected {\n background-color: #181818;\n border-color: #343434;\n }\n .tabnav-tab.selected, .tabnav-tab:focus, .tabnav-tab:hover {\n color: rgb(210, 210, 210) !important;\n }\n .tabnav-extra {\n color: #afafaf;\n }\n a.tabnav-extra:hover {\n color: /*[[base-color]]*/;\n }\n .filter-list.pjax-active .filter-item {\n color: #afafaf;\n background-color: transparent;\n }\n .filter-list.pjax-active .filter-item.pjax-active {\n color: #fff;\n background-color: /*[[base-color]]*/;\n }\n .filter-item {\n color: #afafaf;\n }\n .filter-item:hover {\n background-color: #2c2c2c;\n }\n .filter-item.selected {\n color: #fff;\n background-color: /*[[base-color]]*/;\n }\n .filter-item .bar {\n background-color: #242424;\n }\n .subnav-bordered {\n border-bottom-color: #2c2c2c;\n }\n .subnav-item {\n color: #afafaf;\n border-color: #343434;\n }\n .subnav-item:focus, .subnav-item:hover {\n background-color: #222;\n }\n .subnav-item.selected, .subnav-item.selected:focus,\n .subnav-item.selected:hover {\n color: #fff;\n background-color: /*[[base-color]]*/;\n border-color: /*[[base-color]]*/;\n }\n .subnav-search-input {\n color: #afafaf;\n }\n .subnav-search-icon {\n color: #767676;\n }\n .subnav-search-context .btn {\n color: #afafaf;\n }\n .UnderlineNav {\n border-bottom-color: #343434;\n }\n .UnderlineNav-item {\n color: #afafaf;\n }\n .UnderlineNav-item:focus, .UnderlineNav-item:hover {\n color: rgb(210, 210, 210) !important;\n border-bottom-color: #343434;\n }\n .UnderlineNav-item:focus .UnderlineNav-octicon,\n .UnderlineNav-item:hover .UnderlineNav-octicon {\n color: #9b9b9b;\n }\n .UnderlineNav-item.selected {\n color: rgb(210, 210, 210) !important;\n border-bottom-color: #fb8532;\n }\n .UnderlineNav-item.selected .UnderlineNav-octicon {\n color: #9b9b9b;\n }\n .UnderlineNav-octicon {\n color: #767676;\n }\n .pagination a, .pagination em, .pagination span {\n color: /*[[base-color]]*/;\n background-color: #181818;\n border-color: #343434;\n }\n .pagination a:focus, .pagination a:hover, .pagination em:focus,\n .pagination em:hover, .pagination span:focus, .pagination span:hover {\n background-color: #242424;\n border-color: #343434;\n }\n .pagination .current, .pagination .current:hover {\n color: #fff;\n background-color: /*[[base-color]]*/;\n border-color: /*[[base-color]]*/;\n }\n .pagination .disabled, .pagination .disabled:hover, .pagination .gap,\n .pagination .gap:hover {\n color: #343434;\n background-color: #181818;\n }\n .tooltipped::after {\n color: #fff;\n background-color: #dcdcdc;\n }\n .tooltipped::before {\n color: #dcdcdc;\n }\n .tooltipped-s::before, .tooltipped-se::before, .tooltipped-sw::before {\n border-bottom-color: #dcdcdc;\n }\n .tooltipped-n::before, .tooltipped-ne::before, .tooltipped-nw::before {\n border-top-color: #dcdcdc;\n }\n .tooltipped-w::before {\n border-left-color: #dcdcdc;\n }\n .tooltipped-e::before {\n border-right-color: #dcdcdc;\n }\n .border {\n border-color: #343434 !important;\n }\n .border-y {\n border-top-color: #343434 !important;\n border-bottom-color: #343434 !important;\n }\n .border-blue {\n border-color: /*[[base-color]]*/ !important;\n }\n .border-blue-light {\n border-color: #246 !important;\n }\n .border-green {\n border-color: #373 !important;\n }\n .border-green-light {\n border-color: #040 !important;\n }\n .border-red, .border-red-light {\n border-color: #d82828 !important;\n }\n .border-purple {\n border-color: #8348af !important;\n }\n .border-yellow {\n border-color: #cb4 !important;\n }\n .border-gray-light {\n border-color: #2c2c2c !important;\n }\n .border-gray-dark {\n border-color: #343434 !important;\n }\n .border-black-fade {\n border-color: rgba(220, 220, 220, .15) !important;\n }\n .border-top {\n border-top-color: #343434 !important;\n }\n .border-right {\n border-right-color: #343434 !important;\n }\n .border-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-left {\n border-left-color: #343434 !important;\n }\n @media (min-width: 544px) {\n .border-sm-top {\n border-top-color: #343434 !important;\n }\n .border-sm-right {\n border-right-color: #343434 !important;\n }\n .border-sm-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-sm-left {\n border-left-color: #343434 !important;\n }\n }\n @media (min-width: 768px) {\n .border-md-top {\n border-top-color: #343434 !important;\n }\n .border-md-right {\n border-right-color: #343434 !important;\n }\n .border-md-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-md-left {\n border-left-color: #343434 !important;\n }\n }\n @media (min-width: 1012px) {\n .border-lg-top {\n border-top-color: #343434 !important;\n }\n .border-lg-right {\n border-right-color: #343434 !important;\n }\n .border-lg-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-lg-left {\n border-left-color: #343434 !important;\n }\n }\n @media (min-width: 1280px) {\n .border-xl-top {\n border-top-color: #343434 !important;\n }\n .border-xl-right {\n border-right-color: #343434 !important;\n }\n .border-xl-bottom {\n border-bottom-color: #343434 !important;\n }\n .border-xl-left {\n border-left-color: #343434 !important;\n }\n }\n .box-shadow {\n box-shadow: 0 1px 1px #000 !important;\n }\n .box-shadow-medium {\n box-shadow: 0 1px 5px #000 !important;\n }\n .box-shadow-large {\n box-shadow: 0 1px 15px #000 !important;\n }\n .box-shadow-none {\n box-shadow: none !important;\n }\n .bg-white {\n background-color: #181818 !important;\n }\n .bg-blue {\n background-color: /*[[base-color]]*/ !important;\n }\n .bg-blue-light {\n background-color: #182030 !important;\n }\n .bg-gray {\n background-color: #222 !important;\n }\n .bg-gray-light {\n background-color: #181818 !important;\n }\n .bg-green {\n background-color: #484 !important;\n }\n .bg-green-light {\n background-color: #002800 !important;\n }\n .bg-red {\n background-color: #d82828 !important;\n }\n .bg-red-light {\n background-color: #300 !important;\n }\n .bg-yellow {\n background-color: #cb4 !important;\n }\n .bg-yellow-light {\n background-color: #651 !important;\n }\n .bg-purple {\n background-color: #8348af !important;\n }\n .bg-purple-light {\n background-color: #213 !important;\n }\n .text-blue {\n color: /*[[base-color]]*/ !important;\n }\n .text-red {\n color: #d82828 !important;\n }\n .text-gray-light {\n color: #9b9b9b !important;\n }\n .text-gray {\n color: #afafaf !important;\n }\n .text-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .text-green {\n color: #484 !important;\n }\n .text-orange {\n color: #f3582c !important;\n }\n .text-orange-light {\n color: #fb8532 !important;\n }\n .text-purple {\n color: #8348af !important;\n }\n .text-white {\n color: #fff !important;\n }\n .bg-pending, .text-pending {\n color: #cb4 !important;\n }\n .link-gray {\n color: #afafaf !important;\n }\n .link-gray:hover {\n color: /*[[base-color]]*/ !important;\n }\n .link-gray-dark {\n color: rgb(210, 210, 210) !important !important;\n }\n .link-gray-dark:hover, .link-hover-blue:hover {\n color: /*[[base-color]]*/ !important;\n }\n .muted-link {\n color: #afafaf !important;\n }\n .muted-link:hover {\n color: /*[[base-color]]*/ !important;\n }\n .details-overlay[open] > summary::before {\n background-color: transparent;\n }\n .details-overlay-dark[open] > summary::before {\n background-color: rgba(220, 220, 220, .5);\n }\n .lead {\n color: #afafaf;\n }\n .text-emphasized {\n color: rgb(210, 210, 210) !important;\n }\n .text-shadow-dark {\n text-shadow: 0 1px 1px rgba(220, 220, 220, .25), 0 1px 25px rgba(27, 31, 35, .75);\n }\n .text-shadow-light {\n text-shadow: 0 1px 0 hsla(0, 0%, 0%, .5);\n }\n .flash {\n color: #9daccc;\n background-color: #182030;\n border-color: rgba(220, 220, 220, .15);\n }\n .flash-close {\n background: none;\n }\n .flash-warn {\n color: #bba257;\n background-color: #261d08;\n }\n .flash-error, .flash-warn {\n border-color: rgba(220, 220, 220, .15);\n }\n .flash-error {\n color: #f84848;\n background-color: #300;\n }\n .flash-success {\n color: #484;\n background-color: #002800;\n border-color: rgba(220, 220, 220, .15);\n }\n .warning {\n background-color: #261d08;\n }\n .avatar-child {\n background-color: #181818;\n box-shadow: -2px -2px 0 hsla(0, 0%, 0%, .8);\n }\n .avatar-stack .avatar {\n background-color: #181818;\n border-right-color: var(--ghd-bg-color);\n }\n .avatar-stack .avatar:only-child {\n background-color: transparent;\n }\n .AvatarStack-body {\n background-color: #181818;\n }\n .AvatarStack-body .avatar {\n background-color: #181818;\n border-right-color: var(--ghd-bg-color);\n }\n .avatar.avatar-more {\n background-color: #222;\n }\n .avatar.avatar-more::after, .avatar.avatar-more::before {\n outline: 1px solid #181818;\n }\n .AvatarStack--right .avatar.avatar-more, .avatar.avatar-more::after,\n .avatar.avatar-more::before {\n background-color: #343434;\n }\n .AvatarStack--right .avatar.avatar-more::after {\n background-color: #222;\n }\n .AvatarStack--right .avatar {\n border-left-color: var(--ghd-bg-color);\n }\n .DashedConnection::before {\n border-bottom-color: #343434;\n }\n .blankslate {\n background-color: #181818;\n border-color: #343434;\n box-shadow: inset 0 0 10px rgba(220, 220, 220, .05);\n }\n .blankslate code {\n background-color: #181818;\n border-color: #2c2c2c;\n }\n .blankslate-icon {\n color: #767676;\n }\n .blankslate-clean-background {\n background: none;\n box-shadow: none;\n }\n .branch-name {\n color: rgba(230, 230, 230, .6);\n background-color: #182030;\n }\n .branch-name .octicon {\n color: #767676;\n }\n a.branch-name {\n color: /*[[base-color]]*/;\n }\n .Label, .label {\n color: #fff;\n }\n .Label--gray {\n color: #afafaf;\n background-color: #2c2c2c;\n }\n .Label--outline {\n color: #afafaf;\n background-color: transparent;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .Label--outline-green {\n color: #484;\n border-color: #373;\n }\n .Label--gray-darker {\n background-color: #444;\n }\n .Label--orange {\n background-color: #f3582c;\n }\n .State, .state {\n color: #fff;\n background-color: #444;\n }\n .State--green {\n background-color: #373;\n }\n .State--purple {\n background-color: #8348af;\n }\n .State--red {\n background-color: #d82828;\n }\n .Counter {\n color: #afafaf;\n }\n .Counter, .Counter--gray-light {\n background-color: rgba(220, 220, 220, .15);\n }\n .Counter--gray-light {\n color: rgb(210, 210, 210) !important;\n }\n .Counter--gray {\n color: #fff;\n background-color: #444;\n }\n .markdown-body .absent {\n color: #d82828;\n }\n .markdown-body hr {\n background-color: #343434;\n }\n .markdown-body blockquote {\n color: #9b9b9b;\n border-left-color: #343434;\n }\n .markdown-body kbd {\n color: #afafaf;\n background-color: #181818;\n border-color: #767676 #767676 #484848;\n box-shadow: inset 0 -2px 0 #383838;\n }\n .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link,\n .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link,\n .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link {\n color: #dcdcdc;\n }\n .markdown-body h1, .markdown-body h2 {\n border-bottom-color: #2c2c2c;\n }\n .markdown-body h6 {\n color: #9b9b9b;\n }\n .markdown-body table td, .markdown-body table th {\n border-color: #343434;\n }\n .markdown-body table tr {\n background-color: #181818;\n border-top-color: #767676;\n }\n .markdown-body table tr:nth-child(2n) {\n background-color: #222;\n }\n .markdown-body table img {\n background-color: transparent;\n }\n .markdown-body img {\n background-color: #181818;\n }\n .markdown-body .emoji {\n background-color: transparent;\n }\n .markdown-body span.frame > span {\n border-color: #343434;\n }\n .markdown-body span.frame span span {\n color: rgb(210, 210, 210) !important;\n }\n .markdown-body code, .markdown-body tt {\n background-color: rgba(220, 220, 220, .05);\n }\n .markdown-body pre > code {\n background-color: transparent;\n }\n .markdown-body .highlight pre, .markdown-body pre {\n background-color: #222;\n }\n .markdown-body pre code, .markdown-body pre tt {\n background-color: transparent;\n }\n .markdown-body .csv-data .blob-num {\n background-color: #181818;\n }\n .markdown-body .csv-data th {\n background-color: #222;\n }\n .Popover-message::before {\n border-bottom-color: rgba(220, 220, 220, .15);\n }\n .Popover-message::after {\n border-bottom-color: var(--ghd-bg-color);\n }\n .Popover-message--bottom-left::before,\n .Popover-message--bottom-right::before, .Popover-message--bottom::before {\n border-top-color: rgba(220, 220, 220, .15);\n }\n .Popover-message--bottom-left::after, .Popover-message--bottom-right::after,\n .Popover-message--bottom::after {\n border-top-color: var(--ghd-bg-color);\n }\n .Popover-message--right-bottom::before, .Popover-message--right-top::before,\n .Popover-message--right::before {\n border-left-color: rgba(220, 220, 220, .15);\n }\n .Popover-message--right-bottom::after, .Popover-message--right-top::after,\n .Popover-message--right::after {\n border-left-color: var(--ghd-bg-color);\n }\n .Popover-message--left-bottom::before, .Popover-message--left-top::before,\n .Popover-message--left::before {\n border-right-color: rgba(220, 220, 220, .15);\n }\n .Popover-message--left-bottom::after, .Popover-message--left-top::after,\n .Popover-message--left::after {\n border-right-color: var(--ghd-bg-color);\n }\n .Progress {\n background-color: #343434;\n }\n .Subhead {\n border-bottom-color: #343434;\n }\n .Subhead-heading--danger {\n color: #d82828;\n }\n .Subhead-description, .pullquote {\n color: #afafaf;\n }\n .pullquote {\n border-left-color: #343434;\n }\n .btn-orange {\n color: #fff;\n }\n .btn-orange.hover, .btn-orange:hover {\n border-color: rgba(220, 220, 220, .5);\n }\n .btn-orange.selected, .btn-orange:active, [open] > .btn-orange {\n background-image: none;\n border-color: rgba(220, 220, 220, .5);\n box-shadow: inset 0 .15em .3em #000;\n }\n .btn-orange.disabled, .btn-orange:disabled {\n background-image: none;\n border-color: rgba(220, 220, 220, .2);\n box-shadow: none;\n }\n .btn-orange .Counter, .btn-outline-purple {\n background-color: #181818;\n }\n .btn-outline-purple {\n color: #8348af;\n background-image: none;\n }\n .btn-outline-purple.selected, .btn-outline-purple:active,\n .btn-outline-purple:hover, [open] > .btn-outline-purple {\n color: #fff;\n background-color: #8348af;\n background-image: none;\n border-color: #8348af;\n }\n .btn-outline-purple.selected .Counter, .btn-outline-purple:active .Counter,\n .btn-outline-purple:hover .Counter, [open] > .btn-outline-purple .Counter {\n color: #8348af;\n background-color: #181818;\n }\n .btn-outline-purple:focus {\n border-color: #8348af;\n }\n .btn-outline-purple.disabled, .btn-outline-purple:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .btn-outline-orange {\n color: #fb8532;\n background-color: #181818;\n background-image: none;\n }\n .btn-outline-orange.selected, .btn-outline-orange:active,\n .btn-outline-orange:hover, [open] > .btn-outline-orange {\n color: #fff;\n background-color: #fb8532;\n background-image: none;\n border-color: #fb8532;\n }\n .btn-outline-orange.selected .Counter, .btn-outline-orange:active .Counter,\n .btn-outline-orange:hover .Counter, [open] > .btn-outline-orange .Counter {\n color: #fb8532;\n background-color: #181818;\n }\n .btn-outline-orange:focus {\n border-color: #fb8532;\n }\n .btn-outline-orange.disabled, .btn-outline-orange:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .btn-outline-green {\n color: #484;\n background-color: #181818;\n background-image: none;\n }\n .btn-outline-green.selected, .btn-outline-green:active,\n .btn-outline-green:hover, [open] > .btn-outline-green {\n color: #fff;\n background-color: #484;\n background-image: none;\n border-color: #484;\n }\n .btn-outline-green.selected .Counter, .btn-outline-green:active .Counter,\n .btn-outline-green:hover .Counter, [open] > .btn-outline-green .Counter {\n color: #484;\n background-color: #181818;\n }\n .btn-outline-green:focus {\n border-color: #484;\n }\n .btn-outline-green.disabled, .btn-outline-green:disabled {\n color: rgba(230, 230, 230, .3);\n background-color: #181818;\n border-color: rgba(220, 220, 220, .15);\n box-shadow: none;\n }\n .btn-transparent {\n color: #fff;\n background-color: transparent;\n background-image: none;\n border-color: hsla(0, 0%, 0%, .5);\n }\n .btn-transparent:active, .btn-transparent:hover {\n color: #c6c6c6;\n background-color: #181818;\n background-image: none;\n border-color: var(--ghd-bg-color);\n }\n .jumbotron-shadow::after {\n background-color: transparent;\n }\n .jumbotron-photo {\n background-color: #181818;\n }\n .data-table {\n border-color: #343434;\n box-shadow: 0 1px 1px rgba(220, 220, 220, .05);\n }\n .data-table td, .data-table th {\n border-right-color: #343434;\n border-bottom-color: #343434;\n }\n .data-table tbody td, .data-table tbody th,\n .data-table tbody tr:last-child td, .data-table tbody tr:last-child th {\n border-bottom-color: #343434;\n }\n .border-white-fade {\n border-color: hsla(0, 0%, 0%, .15) !important;\n }\n .footer {\n background-color: #222;\n }\n #token {\n color: #fff;\n }\n .token-did-copy {\n background-color: #181818;\n }\n /* end vscode-auth.github.com rules */\n .footer {\n background: #202020;\n }\n #token {\n background: #182030;\n border-color: #343434;\n }\n .token-did-copy {\n background: #181818;\n }\n .failed {\n border-color: #343434;\n }\n}\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|support|vscode-auth)\\\\.)?github\\\\.com((?!(/(sponsors|readme)$)).)*$\"), regexp(\"^https?://www\\.zuora\\.com.*github\\.com.*\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\"), domain(\"stylishthemes.github.io\") {\n :root:root, :root:root body,\n [data-color-mode=\"light\"][data-light-theme*=\"dark\"],\n [data-color-mode=\"dark\"][data-dark-theme*=\"dark\"] {\n /* github dark vars */\n --ghd-bg-custom: /*[[bg-custom]]*/;\n --ghd-bg-img: /*[[bg-choice]]*/;\n --ghd-bg-color: /*[[bg-color]]*/;\n --ghd-code-background: #141414;\n --ghd-main-background: #181818;\n --ghd-border-color: #343434;\n --ghd-code-color: #ccc;\n --ghd-body-color: #ccc;\n /* github new vars */\n --avatar-bgColor: transparent;\n --avatar-borderColor: transparent;\n --bgColor-accent-emphasis: /*[[base-color]]*/;\n --bgColor-default: #181818;\n --bgColor-emphasis: #343434;\n --bgColor-inset: #181818;\n --bgColor-muted: #222;\n --bgColor-neutral-emphasis: #606060;\n --bgColor-neutral-muted: #343434;\n --borderColor-accent-emphasis: /*[[base-color]]*/;\n --borderColor-default: #343434;\n --borderColor-muted: #343434;\n --button-danger-bgColor-disabled: #181818;\n --button-danger-bgColor-rest: #181818;\n --button-danger-fgColor-hover: #fff;\n --button-danger-fgColor-active: #fff;\n --button-default-bgColor-disabled: #181818;\n --button-default-bgColor-hover: #242424;\n --button-default-bgColor-rest: #181818;\n --button-default-bgColor-selected: #282828;\n --button-default-borderColor-disabled: #343434;\n --button-default-borderColor-hover: #484848;\n --button-default-borderColor-rest: #343434;\n --button-default-fgColor-rest: #c6c6c6;\n --button-invisible-iconColor-rest: #afafaf;\n --button-primary-fgColor-rest: #fff;\n --buttonCounter-default-bgColor-rest: transparent;\n --control-bgColor-active: #343434;\n --control-checked-borderColor-rest: /*[[base-color]]*/;\n --control-fgColor-disabled: #555;\n --control-transparent-bgColor-hover: #afafaf1f;\n --controlKnob-bgColor-rest: #181818;\n --controlKnob-borderColor-rest: #343434;\n --controlTrack-bgColor-hover: #242424;\n --controlTrack-bgColor-rest: #222;\n --fgColor-accent: /*[[base-color]]*/;\n --fgColor-default: var(--ghd-body-color);\n --fgColor-link: /*[[base-color]]*/;\n --fgColor-muted: #afafaf;\n --fgColor-onEmphasis: #eee;\n --fgColor-white: #eee;\n --focus-outlineColor: /*[[base-color]]*/;\n --headerSearch-bgColor: #181818;\n --headerSearch-borderColor: #343434;\n --menu-bgColor-active: #242424;\n --overlay-bgColor: #1c1c1c;\n --selectMenu-borderColor: #343434;\n --shadow-floating-small: 0 0 0 1px #343434, 0 6px 12px -3px #05050566, 0 6px 18px 0 #05050566;\n --shadow-inset: 0 1px 0 0 #0000003d;\n --shadow-resting-small: none;\n --timelineBadge-bgColor: #383838;\n --treeViewItem-leadingVisual-iconColor-rest: /*[[base-color]]*/;\n --underlineNav-borderColor-active: #eee;\n /* github vars */\n --color-accent-emphasis: /*[[base-color]]*/;\n --color-accent-fg: /*[[base-color]]*/;\n --color-accent-muted: rgba(/*[[base-color-rgb]]*/, .3);\n --color-accent-subtle: #182030;\n --color-alert-error-bg: #341414;\n --color-alert-info-bg: #182030;\n --color-alert-info-border: #246;\n --color-alert-info-icon: #9daccc;\n --color-alert-info-text: #9daccc;\n --color-alert-warn-bg: #241c10;\n --color-alert-warn-icon: #f5b987;\n --color-alert-warn-text: #f5b987;\n --color-ansi-black-bright: #282828;\n --color-ansi-black: #181818;\n --color-ansi-blue-bright: #c8e1ff;\n --color-ansi-blue: #79b8ff;\n --color-ansi-cyan-bright: #b3f0ff;\n --color-ansi-cyan: #76e3ea;\n --color-ansi-gray: #959da5;\n --color-ansi-green-bright: #bef5cb;\n --color-ansi-green: #85e89d;\n --color-ansi-magenta-bright: #d1bcf9;\n --color-ansi-magenta: #b392f0;\n --color-ansi-red-bright: #fdaeb7;\n --color-ansi-red: #f97583;\n --color-ansi-white-bright: #e1e4e8;\n --color-ansi-white: #e1e4e8;\n --color-ansi-yellow-bright: #fff5b1;\n --color-ansi-yellow: #ffea7f;\n --color-attention-emphasis: #cb4;\n --color-auto-blue-2: rgba(/*[[base-color-rgb]]*/, .25);\n --color-auto-blue-3: rgba(/*[[base-color-rgb]]*/, .5);\n --color-auto-blue-4: /*[[base-color]]*/;\n --color-auto-blue-5: /*[[base-color]]*/;\n --color-auto-blue-9: #9daccc;\n --color-auto-gray-1: #212121;\n --color-auto-gray-2: #282828;\n --color-auto-gray-3: #343434;\n --color-auto-gray-4: #606060;\n --color-auto-gray-5: #767676;\n --color-auto-gray-6: #9b9b9b;\n --color-auto-gray-7: #afafaf;\n --color-auto-purple-2: #8348af;\n --color-auto-purple-3: #8348af;\n --color-auto-purple-4: #8348af;\n --color-auto-white: #181818;\n --color-autocomplete-bg: #181818;\n --color-autocomplete-border: #343434;\n --color-autocomplete-row-border: #181818;\n --color-avatar-bg: none;\n --color-avatar-border: none;\n --color-bg-canvas-default: var(--ghd-bg-color);\n --color-bg-canvas-inset: #181818;\n --color-bg-canvas-inverse: #c6c6c6;\n --color-bg-canvas-mobile: var(--ghd-bg-color);\n --color-bg-canvas: var(--ghd-bg-color);\n --color-bg-discussions-row-emoji-box: #343434;\n --color-bg-info-inverse: /*[[base-color]]*/;\n --color-bg-info: #182030;\n --color-bg-overlay: var(--color-canvas-overlay);\n --color-bg-primary: #181818;\n --color-bg-secondary: #222;\n --color-bg-tertiary: #282828;\n --color-blankslate-icon: #afafaf;\n --color-border-default: #343434;\n --control-borderColor-rest: var(--color-border-default);\n --color-border-info: /*[[base-color]]*/;\n --color-border-inverse: #343434;\n --color-border-muted: #343434;\n --color-border-overlay: #343434;\n --color-border-primary: #343434;\n --color-border-secondary: #343434;\n --color-border-subtle: #ffffff10;\n --color-border-tertiary: #484848;\n --color-box-bg-info: #182030;\n --color-box-blue-border: #246;\n --color-box-border-info: #246;\n --color-box-header-blue-bg: #182030;\n --color-box-header-blue-border: #246;\n --color-branch-name-link-bg: #182030;\n --color-btn-active-bg: #343434;\n --color-btn-active-border: #606060;\n --color-btn-bg-hover: #222;\n --color-btn-bg: #181818;\n --color-btn-border: #343434;\n --color-btn-counter-bg: transparent;\n --color-btn-danger-hover-text: #fff;\n --color-btn-danger-selected-text: #fff;\n --color-btn-danger-shadow: none;\n --color-btn-focus-border: #484848;\n --color-btn-focus-shadow: none;\n --color-btn-hover-bg: #242424;\n --color-btn-hover-border: #484848;\n --color-btn-inverse-on-hover-shadow-inset: none;\n --color-btn-outline-disabled-bg: #242424;\n --color-btn-outline-focus-border: /*[[base-color]]*/;\n --color-btn-outline-focus-shadow: none;\n --color-btn-outline-hover-bg: #222;\n --color-btn-outline-hover-border: /*[[base-color]]*/;\n --color-btn-outline-hover-inset-shadow: none;\n --color-btn-outline-hover-shadow: none;\n --color-btn-outline-hover-text: /*[[base-color]]*/;\n --color-btn-outline-selected-bg: /*[[base-color]]*/;\n --color-btn-outline-selected-border: /*[[base-color]]*/;\n --color-btn-outline-selected-text: #fff;\n --color-btn-outline-shadow-focus: none;\n --color-btn-outline-shadow: none;\n --color-btn-outline-text: /*[[base-color]]*/;\n --color-btn-primary-disabled-shadow: none;\n --color-btn-primary-shadow-highlight: none;\n --color-btn-primary-shadow-selected: none;\n --color-btn-primary-text: #fff;\n --color-btn-selected-bg: #282828;\n --color-btn-shadow-input-focus: none;\n --color-btn-text: #c6c6c6;\n --color-calendar-graph-day-bg: #282828;\n --color-calendar-graph-day-L1-bg: rgba(/*[[base-color-rgb]]*/, .25);\n --color-calendar-graph-day-L2-bg: rgba(/*[[base-color-rgb]]*/, .5);\n --color-calendar-graph-day-L3-bg: rgba(/*[[base-color-rgb]]*/, .75);\n --color-calendar-graph-day-L4-bg: /*[[base-color]]*/;\n --color-calendar-halloween-graph-day-L1-bg: var(--color-calendar-graph-day-L1-bg);\n --color-calendar-halloween-graph-day-L2-bg: var(--color-calendar-graph-day-L2-bg);\n --color-calendar-halloween-graph-day-L3-bg: var(--color-calendar-graph-day-L3-bg);\n --color-calendar-halloween-graph-day-L4-bg: var(--color-calendar-graph-day-L4-bg);\n --color-calendar-winter-graph-day-L1-bg: var(--color-calendar-graph-day-L1-bg);\n --color-calendar-winter-graph-day-L2-bg: var(--color-calendar-graph-day-L2-bg);\n --color-calendar-winter-graph-day-L3-bg: var(--color-calendar-graph-day-L3-bg);\n --color-calendar-winter-graph-day-L4-bg: var(--color-calendar-graph-day-L4-bg);\n --color-canvas-default: #181818;\n --color-canvas-inset: #181818;\n --color-canvas-overlay: #1c1c1c;\n --color-canvas-subtle: #222;\n --color-checks-bg: #181818;\n --color-checks-btn-hover-bg: #343434;\n --color-checks-btn-hover-icon: #afafaf;\n --color-checks-btn-icon: #606060;\n --color-checks-dropdown-bg: #343434;\n --color-checks-dropdown-border: #484848;\n --color-checks-dropdown-btn-hover-bg: #282828;\n --color-checks-dropdown-btn-hover-text: #c6c6c6;\n --color-checks-dropdown-hover-bg: /*[[base-color]]*/;\n --color-checks-dropdown-hover-text: #fff;\n --color-checks-dropdown-text: #afafaf;\n --color-checks-gate-text: #767676;\n --color-checks-header-border: #343434;\n --color-checks-header-icon: #606060;\n --color-checks-header-label-open-text: #afafaf;\n --color-checks-header-label-text: #afafaf;\n --color-checks-input-bg: #282828;\n --color-checks-input-focus-text: #afafaf;\n --color-checks-input-placeholder-text: #565656;\n --color-checks-input-shadow: none;\n --color-checks-input-text: #767676;\n --color-checks-line-dt-fm-text: #222;\n --color-checks-line-hover-bg: #242424;\n --color-checks-line-num-text: #606060;\n --color-checks-line-selected-bg: #242424;\n --color-checks-line-text: #9b9b9b;\n --color-checks-line-timestamp-text: #767676;\n --color-checks-logline-error-num-text: #767676;\n --color-checks-logline-error-text: #767676;\n --color-checks-logline-num-text: #767676;\n --color-checks-logline-text: #606060;\n --color-checks-logline-warning-text: #767676;\n --color-checks-scrollbar-thumb-bg: #484848;\n --color-checks-step-header-open-bg: #282828;\n --color-checks-text-link: /*[[base-color]]*/;\n --color-checks-text-primary: #afafaf;\n --color-checks-text-secondary: #767676;\n --color-counter-bg: #343434;\n --color-counter-primary-bg: #484848;\n --color-counter-primary-text: #bfbfbf;\n --color-counter-secondary-text: #9b9b9b;\n --color-counter-text: #afafaf;\n --color-current-user-tip-bg: #182030;\n --color-current-user-tip-border: #246;\n --color-danger-fg: #d82828;\n --color-danger-emphasis: #ba1613;\n --color-diff-blob-addition-line-bg: #002800;\n --color-diff-blob-addition-num-bg: #0a320a;\n --color-diff-blob-addition-num-hover-text: #e6e6e6;\n --color-diff-blob-addition-num-text: #939393;\n --color-diff-blob-addition-word-bg: #252;\n --color-diff-blob-comment-button-icon: #fff;\n --color-diff-blob-deletion-line-bg: #380000;\n --color-diff-blob-deletion-num-bg: #420a0a;\n --color-diff-blob-deletion-num-hover-text: #e6e6e6;\n --color-diff-blob-deletion-num-text: #939393;\n --color-diff-blob-deletion-word-bg: #622;\n --color-diff-blob-empty-block-bg: #282828;\n --color-diff-blob-expander-hover-bg: /*[[base-color]]*/;\n --color-diff-blob-expander-hover-icon: #fff;\n --color-diff-blob-expander-icon: #9b9b9b;\n --color-diff-blob-hunk-line-bg: #202020;\n --color-diff-blob-hunk-num-bg: #2b2b2b;\n --color-diff-blob-hunk-text: #9b9b9b;\n --color-diff-blob-num-hover-text: #c6c6c6;\n --color-diff-blob-num-text: #767676;\n --color-diffstat-addition-bg: #484;\n --color-diffstat-addition-border: #484;\n --color-diffstat-deletion-bg: #d82828;\n --color-diffstat-deletion-border: #d82828;\n --color-diffstat-neutral-bg: #484848;\n --color-diffstat-neutral-border: #484848;\n --color-done-fg: #8348af;\n --color-fg-default: var(--ghd-body-color);\n --color-fg-muted: #afafaf;\n --color-fg-on-emphasis: #eee;\n --color-fg-subtle: #606060;\n --color-files-explorer-icon: /*[[base-color]]*/;\n --color-footer-invertocat-octicon: #484848;\n --color-global-nav-icon: none;\n --color-global-nav-logo: none;\n --color-global-nav-text: none;\n --color-header-bg: #181818;\n --color-header-search-bg: #181818;\n --color-header-search-border: #343434;\n --color-header-text: #c6c6c6;\n --color-hidden-text-expander-bg-hover: #484848;\n --color-hidden-text-expander-bg: #343434;\n --color-icon-directory: /*[[base-color]]*/;\n --color-icon-primary: #c6c6c6;\n --color-icon-secondary: #afafaf;\n --color-icon-tertiary: #767676;\n --color-input-bg: #181818;\n --color-input-border: #343434;\n --color-input-contrast-bg: #181818;\n --color-input-disabled-bg: #343434;\n --color-input-disabled-border: #484848;\n --color-input-shadow-focus: none;\n --color-input-shadow: none;\n --color-label-primary-border: #484848;\n --color-label-primary-text: #afafaf;\n --color-label-secondary-border: #343434;\n --color-label-secondary-text: #9b9b9b;\n --color-markdown-blockquote-border: #343434;\n --color-markdown-code-bg: #222;\n --color-markdown-table-border: #343434;\n --color-menu-bg-active: #242424;\n --color-menu-border-active: #eee;\n --color-menu-heading-text: #767676;\n --color-merge-box-error-icon-bg: #d82828;\n --color-merge-box-error-icon-border: #d82828;\n --color-merge-box-error-icon-text: #fff;\n --color-merge-box-merged-box-border: #8348af;\n --color-merge-box-merged-icon-bg: #8348af;\n --color-merge-box-merged-icon-border: #8348af;\n --color-merge-box-merged-icon-text: #fff;\n --color-merge-box-neutral-icon-border: transparent;\n --color-merge-box-neutral-icon-text: #fff;\n --color-merge-box-neutral-indicator-bg: #484848;\n --color-merge-box-success-icon-bg: #484;\n --color-merge-box-success-icon-border: #484;\n --color-merge-box-success-icon-text: #fff;\n --color-merge-box-success-indicator-bg: #484;\n --color-merge-box-success-indicator-border: #585;\n --color-merge-box-warning-icon-text: #fff;\n --color-mktg-btn-text: #fff;\n --color-neutral-emphasis-plus: #9b9b9b;\n --color-neutral-emphasis: #606060;\n --color-neutral-muted: #40404066;\n --color-neutral-subtle: #40404016;\n --color-notifications-row-bg: #181818;\n --color-page-header-bg: rgba(20, 20, 20, .4);\n --color-pr-state-closed-bg: #d82828;\n --color-pr-state-closed-border: transparent;\n --color-pr-state-closed-text: #fff;\n --color-pr-state-draft-bg: #484848;\n --color-pr-state-draft-border: transparent;\n --color-pr-state-draft-text: #fff;\n --color-pr-state-merged-bg: #8348af;\n --color-pr-state-merged-border: transparent;\n --color-pr-state-merged-text: #fff;\n --color-pr-state-open-bg: #484;\n --color-pr-state-open-border: transparent;\n --color-pr-state-open-text: #fff;\n --color-primer-border-active: #eee;\n --color-primer-shadow-focus: 0 0 0 2.25px rgba(/*[[base-color-rgb]]*/, .3);\n --color-primer-fg-disabled: #555;\n --color-project-card-bg: #202020;\n --color-project-sidebar-bg: #202020;\n --color-scale-gray-0: #c6c6c6;\n --color-scale-gray-1: #afafaf;\n --color-scale-gray-2: #9b9b9b;\n --color-scale-gray-3: #767676;\n --color-scale-gray-4: #606060;\n --color-scale-gray-5: #545454;\n --color-scale-gray-6: #424242;\n --color-scale-gray-7: #343434;\n --color-scale-gray-8: #2d2d2d;\n --color-scale-gray-9: #202020;\n --color-scale-purple-0: #9378ba;\n --color-scale-purple-1: #9378ba;\n --color-scale-purple-2: #8348af;\n --color-scale-purple-3: #8348af;\n --color-scale-purple-4: #8348af;\n --color-scale-purple-5: #8348af;\n --color-scale-purple-6: #8348af;\n --color-scale-purple-7: #53387a;\n --color-scale-purple-8: #53387a;\n --color-scale-purple-9: #213;\n --color-scale-white: #eee;\n --color-search-hover-hl: #242424;\n --color-select-menu-backdrop-border: #343434;\n --color-select-menu-border-secondary: #343434;\n --color-select-menu-shadow: none;\n --color-shadow-highlight: none;\n --color-shadow-inset: none;\n --color-shadow-large: none;\n --color-shadow-medium: none;\n --color-shadow-small: none;\n --color-sidenav-border-active: #eee;\n --color-sidenav-selected-bg: #282828;\n --color-social-count-bg: #181818;\n --color-social-reaction-bg-hover: #343434;\n --color-state-focus-border: /*[[base-color]]*/;\n --color-state-focus-shadow: 0 0 0 2.25px rgba(/*[[base-color-rgb]]*/, .3);\n --color-state-hover-primary-bg: /*[[base-color]]*/;\n --color-state-hover-primary-icon: #fff;\n --color-state-hover-primary-text: #fff;\n --color-state-hover-secondary-bg: #242424;\n --color-state-selected-primary-bg: /*[[base-color]]*/;\n --color-state-selected-primary-icon: #fff;\n --color-state-selected-primary-text: #fff;\n --color-success-fg: #484;\n --color-text-danger: #f84848;\n --color-text-disabled: #707070;\n --color-text-inverse: #000;\n --color-text-link: /*[[base-color]]*/;\n --color-text-primary: #c6c6c6;\n --color-text-secondary: #afafaf;\n --color-text-success: #484;\n --color-text-tertiary: #9b9b9b;\n --color-text-white: #fff;\n --color-timeline-badge-bg: #383838;\n --color-timeline-text: #c6c6c6;\n --color-tooltip-bg: #282828;\n --color-tooltip-text: #c6c6c6;\n --color-underlinenav-border-active: #eee;\n --color-underlinenav-counter-bg: #343434;\n --color-underlinenav-counter-text: #c6c6c6;\n --color-underlinenav-icon-active: #c6c6c6;\n --color-underlinenav-icon: #767676;\n --color-underlinenav-text-active: #c6c6c6;\n --color-underlinenav-text-hover: #c6c6c6;\n --color-underlinenav-text: #9b9b9b;\n --color-upload-enabled-border: #343434;\n --color-verified-badge-bg: #181818;\n --color-verified-badge-border: #343434;\n --color-verified-badge-text: #484;\n --color-workflow-card-bg: #303030;\n }\n}\n", 102 116 "sections": [ 103 117 { 104 118 "code": "" ··· 107 121 "usercssData": { 108 122 "name": "GitHub Dark", 109 123 "namespace": "StylishThemes", 110 - "version": "5.2.0", 124 + "version": "6.0.261", 111 125 "homepageURL": "https://github.com/StylishThemes/GitHub-Dark", 112 126 "updateURL": "https://stylishthemes.github.io/GitHub-Dark/github-dark.user.css", 113 127 "license": "BSD-2-Clause", ··· 368 382 { 369 383 "name": "Ambiance", 370 384 "label": "Ambiance", 371 - "value": "/*! CodeMirror: Ambiance */.cm-header{color:blue!important}.cm-quote{color:#24c2c7!important}.cm-keyword{color:#cda869!important}.cm-atom{color:#cf7ea9!important}.cm-number{color:#78cf8a!important}.cm-def{color:#aac6e3!important}.cm-variable{color:#ffb795!important}.cm-variable-2{color:#eed1b3!important}.cm-variable-3{color:#faded3!important}.cm-property{color:#eed1b3!important}.cm-operator{color:#fa8d6a!important}.cm-comment{color:#555!important;font-style:italic!important}.cm-string{color:#8f9d6a!important}.cm-string-2{color:#9d937c!important}.cm-meta{color:#d2a8a1!important}.cm-qualifier{color:#ff0!important}.cm-builtin{color:#99c!important}.cm-bracket{color:#24c2c7!important}.cm-tag{color:#fee4ff!important}.cm-attribute{color:#9b859d!important}.cm-hr{color:pink!important}.cm-link{color:#f4c20b!important}.cm-special{color:#ff9d00!important}.cm-error{color:#af2018!important}.CodeMirror-matchingbracket{color:#0f0!important}.CodeMirror-nonmatchingbracket{color:#f22!important}.CodeMirror-selected{background:hsla(0,0%,100%,.15)!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror{background-color:#202020!important;-webkit-box-shadow:inset 0 0 10px #000!important;-moz-box-shadow:inset 0 0 10px #000!important;box-shadow:inset 0 0 10px #000!important;color:#e6e1dc!important;line-height:1.4em!important}.CodeMirror-gutters{background:#3d3d3d!important;border-right:1px solid #4d4d4d!important;box-shadow:0 10px 20px #000!important}.CodeMirror-linenumber{color:#111!important;padding:0 5px!important;text-shadow:0 1px 1px #4d4d4d!important}.CodeMirror-guttermarker{color:#aaa!important}.CodeMirror-guttermarker-subtle{color:#111!important}.CodeMirror-cursor{border-left:1px solid #7991e8!important}.CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)!important}" 385 + "value": "/*! CodeMirror: Ambiance */.cm-header{color:blue!important}.cm-quote{color:#24c2c7!important}.cm-keyword{color:#cda869!important}.cm-atom{color:#cf7ea9!important}.cm-number{color:#78cf8a!important}.cm-def{color:#aac6e3!important}.cm-variable{color:#ffb795!important}.cm-variable-2{color:#eed1b3!important}.cm-variable-3{color:#faded3!important}.cm-property{color:#eed1b3!important}.cm-operator{color:#fa8d6a!important}.cm-comment{color:#555!important;font-style:italic!important}.cm-string{color:#8f9d6a!important}.cm-string-2{color:#9d937c!important}.cm-meta{color:#d2a8a1!important}.cm-qualifier{color:#ff0!important}.cm-builtin{color:#99c!important}.cm-bracket{color:#24c2c7!important}.cm-tag{color:#fee4ff!important}.cm-attribute{color:#9b859d!important}.cm-hr{color:pink!important}.cm-link{color:#f4c20b!important}.cm-special{color:#ff9d00!important}.cm-error{color:#af2018!important}.CodeMirror-matchingbracket{color:#0f0!important}.CodeMirror-nonmatchingbracket{color:#f22!important}.CodeMirror-selected{background:hsla(0,0%,100%,.15)!important}.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)!important}.CodeMirror{background-color:#202020!important;-webkit-box-shadow:inset 0 0 10px #000!important;-moz-box-shadow:inset 0 0 10px #000!important;box-shadow:inset 0 0 10px #000!important;color:#e6e1dc!important;line-height:1.4!important}.CodeMirror-gutters{background:#3d3d3d!important;border-right:1px solid #4d4d4d!important;box-shadow:0 10px 20px #000!important}.CodeMirror-linenumber{color:#111!important;padding:0 5px!important;text-shadow:0 1px 1px #4d4d4d!important}.CodeMirror-guttermarker{color:#aaa!important}.CodeMirror-guttermarker-subtle{color:#111!important}.CodeMirror-cursor{border-left:1px solid #7991e8!important}.CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)!important}" 372 386 }, 373 387 { 374 388 "name": "Base16-Ocean-Dark", ··· 550 564 }, 551 565 "author": "StylishThemes", 552 566 "name": "GitHub Dark", 553 - "originalDigest": "e6673a292b0994c757c24cae38f9550cf176fe79", 554 - "updateDate": 1672345316339, 567 + "originalDigest": "18564a70f2432d04196af127436183fb40b86f5a", 568 + "updateDate": 1721857230470, 555 569 "_id": "bedf1b52-b768-407b-ab54-4d2d4d21af9a", 556 - "_rev": 1672413432359, 557 - "etag": "W/\"63a46218-cec6e\"", 558 - "id": 1 570 + "_rev": 1721857230517, 571 + "etag": "W/\"66a16057-7f5ff\"", 572 + "id": 1, 573 + "preferScheme": "dark" 559 574 }, 560 575 { 561 576 "enabled": true, ··· 567 582 "code": "" 568 583 } 569 584 ], 570 - "sourceCode": "/* ==UserStyle==\n@name WaniKani Breeze Dark\n@version 1.3.18\n@namespace valeth.info\n@license GPL-3.0\n@description Dark theme for the WaniKani kanji learning website.\n@author Valeth\n@homepageURL https://valeth.info\n@supportURL https://gitlab.com/valeth/wanikani-breeze-dark/issues\n\n@var color radicals-color \"Radicals Color\" #3DAEE9\n@var color kanji-color \"Kanji Color\" #FDBC4B\n@var color vocab-color \"Vocabulary Color\" #2ECC71\n@var color burned-color \"Burned Color\" #DA4453\n@var color review-reading-bg \"Review Reading Background\" #4D4D4D\n@var color review-meaning-bg \"Review Meaning Background\" #31363B\n@advanced dropdown footer-image \"Footer Image\" {\n footer-image-dark \"Dark\" <<<EOT\n background-image: url(\"https://i.imgur.com/MRVqVnw.png\") !important;\n EOT;\n footer-image-default \"Original\" <<<EOT\n EOT;\n footer-image-none \"None\" <<<EOT\n background-image: unset !important;\n EOT;\n}\n@advanced dropdown review-char-bg \"Review Character Background\" {\n review-char-bg-dark \"Dark, like my soul\" <<<EOT\n EOT;\n review-char-bg-colored \"Colorful, Rainbows, Rainbows EVERYWHERE!\" <<<EOT\n #main-info.vocabulary, #reviews #character.vocabulary {\n background-color: /*[[vocab-color]]*\\/ !important;\n color: #232629 !important;\n }\n #main-info.kanji, #reviews #character.kanji {\n background-color: /*[[kanji-color]]*\\/ !important;\n color: #232629 !important;\n }\n #main-info.radical, #reviews #character.radical {\n background-color: /*[[radicals-color]]*\\/ !important;\n color: #232629 !important;\n }\n #main-info.vocabulary #character, #main-info.kanji #character,\n #main-info.radical #character, #main-info #meaning,\n #reviews #character, #stats, #summary-button, #header-buttons {\n color: #232629 !important;\n }\n EOT;\n}\n==/UserStyle== */\n\n@charset \"UTF-8\";\n/*\nThis file was compiled with SCSS.\nTo view the sources of this file visit https://gitlab.com/valeth/wanikani-breeze-dark\n*/\n@-moz-document domain(www.wanikani.com) {\n [class*=character-grid] [class|=\"radical\"]:not(i), .legend ul span.all, .sitemap__expandable-chunk[class*=\"radical\"], .popover.srs .popover-content li:nth-child(1), [class*=radical] .progress > .bar, .radical-icon, [class*=\"highlight-radical\"],\n [class*=\"radical-highlight\"], .kotoba-table-list table [class^=\"radical\"], [id*=\"summary\"] ul > [class^=\"radical\"], #supplement-info [class^=radical],\n #batch-items [class^=radical], #reviews #last-items [class*=\"radical\"] [lang=\"ja\"]:first-child, #related-items a > [class^=radical], #lessons .ui ul item.radical,\n #reviews .ui ul item.radical, #timeline .review_info .rad, #ss_quiz[data-itype=\"radical\"] .qwrap, #keisei_section [id^=radical], .dropdown.open.radicals, .legend ul span.radicals {\n background-color: /*[[radicals-color]]*/ !important;\n color: #232629 !important; }\n\n #main-info.radical, #reviews #character.radical, #ss_quiz.radical .question {\n background-color: #232629 !important;\n color: /*[[radicals-color]]*/ !important; }\n\n [class*=character-grid] [class|=\"kanji\"]:not(i), .dropdown.open.kanji, .legend ul span.kanji, .sitemap__expandable-chunk[class*=\"kanji\"], .popover.srs .popover-content li:nth-child(2), [class*=kanji] .progress > .bar, .kanji-icon, [class*=\"highlight-kanji\"],\n [class*=\"kanji-highlight\"], .dashboard-progress .progress-bar__progress, .kotoba-table-list table [class^=\"kanji\"], [id*=\"summary\"] ul > [class^=\"kanji\"], #supplement-info [class^=kanji],\n #batch-items [class^=kanji], #reviews #last-items [class*=\"kanji\"] [lang=\"ja\"]:first-child, #related-items a > [class^=kanji], #lessons .ui ul item.kanji,\n #reviews .ui ul item.kanji, #timeline .review_info .kan, #ss_quiz[data-itype=\"kanji\"] .qwrap, #keisei_section [id^=kanji] {\n background-color: /*[[kanji-color]]*/ !important;\n color: #232629 !important; }\n\n #main-info.kanji, #reviews #character.kanji, #ss_quiz.kanji .question {\n background-color: #232629 !important;\n color: /*[[kanji-color]]*/ !important; }\n\n [class*=character-grid] [class|=\"vocabulary\"]:not(i), .dropdown.open.vocabulary, .legend ul span.vocabulary, .sitemap__expandable-chunk[class*=\"vocabulary\"], .popover.srs .popover-content li:nth-child(3), [class*=vocabulary] .progress > .bar, .vocabulary-icon, [class*=\"highlight-vocabulary\"],\n [class*=\"vocabulary-highlight\"], .kotoba-table-list table [class^=\"vocabulary\"], [id*=\"summary\"] ul > [class^=\"vocabulary\"], #supplement-info [class^=vocabulary],\n #batch-items [class^=vocabulary], #reviews #last-items [class*=\"vocabulary\"] [lang=\"ja\"]:first-child, #related-items a > [class^=vocabulary], #lessons .ui ul item.vocabulary,\n #reviews .ui ul item.vocabulary, #timeline .review_info .voc, #ss_quiz[data-itype=\"vocabulary\"] .qwrap, .vocabulary-progress li > a, .vocabulary-progress li > div {\n background-color: /*[[vocab-color]]*/ !important;\n color: #232629 !important; }\n\n #main-info.vocabulary, #reviews #character.vocabulary, #ss_quiz.vocabulary .question {\n background-color: #232629 !important;\n color: /*[[vocab-color]]*/ !important; }\n\n textarea, input, button, .btn, .page-list li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, #start-session, #batch-items [data-index=\"quiz\"] > span, .btn-set li, #hotkeys, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, select, #back-dashboard {\n border-radius: 5px !important;\n color: #bcbcbc !important; }\n textarea:focus, input:focus, button:focus, .btn:focus, .page-list li > a:focus, .individual-item .new-synonyms li:focus, .nav-load > li:last-child a:focus,\n .button:focus, #start-session:focus, #batch-items [data-index=\"quiz\"] > span:focus, .btn-set li:focus, #hotkeys:focus, #lessons .ui #reorder:focus,\n #reviews .ui #reorder:focus, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button:focus,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button:focus, #WKO_button:focus, select:focus, #back-dashboard:focus {\n outline: none !important; }\n\n textarea, input {\n background-color: #1e2123 !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n transition: box-shadow linear 0.2s !important; }\n textarea:focus, input:focus {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset !important; }\n\n button, .btn, .page-list li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, #start-session, #batch-items [data-index=\"quiz\"] > span, .btn-set li, #hotkeys, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, select, #back-dashboard {\n background-color: #1e2123 !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n transition: box-shadow linear 0.2s, border linear 0.2s !important; }\n button:hover, .btn:hover, .page-list li > a:hover, .individual-item .new-synonyms li:hover, .nav-load > li:last-child a:hover,\n .button:hover, #start-session:hover, #batch-items [data-index=\"quiz\"] > span:hover, .btn-set li:hover, #hotkeys:hover, #lessons .ui #reorder:hover,\n #reviews .ui #reorder:hover, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button:hover,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button:hover, #WKO_button:hover, select:hover, #back-dashboard:hover {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) !important; }\n button:focus, .btn:focus, .page-list li > a:focus, .individual-item .new-synonyms li:focus, .nav-load > li:last-child a:focus,\n .button:focus, #start-session:focus, #batch-items [data-index=\"quiz\"] > span:focus, .btn-set li:focus, #hotkeys:focus, #lessons .ui #reorder:focus,\n #reviews .ui #reorder:focus, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button:focus,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button:focus, #WKO_button:focus, select:focus, #back-dashboard:focus {\n box-shadow: 0 0 5px rgba(61, 174, 233, 0.5) !important; }\n\n textarea {\n color: #bcbcbc !important;\n -webkit-text-fill-color: #bcbcbc !important; }\n\n .alert, .system-alert,\n .alert-where-user-scripts-cant-ignore, .legend, .page-list, #main footer ul, #subscriptions footer ul, #public-profile footer ul, .account-subscription .account-subscription-plan,\n #account-subscription-coupon-form #coupon,\n .account-subscription-payment-processor-info,\n .account-subscription form .control-group input[type=\"text\"], .account-billing div.bg-default, .account-billing div.bg-gray-100, .api section, .dashboard section, .individual-item .span12 > section, .individual-item + section, section[class^=lattice-], section[id|=level], .settings-section, [id*=\"summary\"] [id^=\"radical\"], [id*=\"summary\"] [id^=\"kanji\"], [id*=\"summary\"] [id^=\"vocabulary\"], [id*=\"summary\"] [id^=\"correct\"], [id*=\"summary\"] [id^=\"incorrect\"], #review-stats, #supplement-info, #information, #lessons .ui,\n #reviews .ui, #timeline, [aria-describedby=divSRSGridSettings],\n [aria-describedby=ui-id-2], #item_marker_body, #marked_items, .wklc, #ss_quiz, #keisei_modal_settings,\n #keisei_modal_info {\n background-color: #232629 !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n margin-bottom: 20px;\n margin-top: 20px; }\n\n .popover {\n background-color: #4d4d4d !important;\n border-color: #4d4d4d !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n #wkof_ds .ui-dialog, #timeline .review_info .inner, section.cidwwa-modal {\n background-color: #31363b !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n [class|=account-subscription] h3,\n [class|=account-billing] h3, .kotoba-table-list h3, .forum-topics-list h3,\n .blog h3 {\n align-items: center !important;\n background-color: #1c1e21 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n color: #bcbcbc !important;\n display: flex !important;\n margin-bottom: 3px !important;\n max-height: 60px !important;\n padding-bottom: 3px !important;\n padding-top: 3px !important;\n text-align: left !important; }\n [class|=account-subscription] h3 .heading-symbol,\n [class|=account-billing] h3 .heading-symbol, .kotoba-table-list h3 .heading-symbol, .forum-topics-list h3 .heading-symbol,\n .blog h3 .heading-symbol {\n display: inline !important;\n margin-left: 0 !important;\n margin-right: 5px !important; }\n [class|=account-subscription] h3 i::before,\n [class|=account-billing] h3 i::before, .kotoba-table-list h3 i::before, .forum-topics-list h3 i::before,\n .blog h3 i::before {\n color: #bcbcbc !important; }\n [class|=account-subscription] td,\n [class|=account-billing] td, .kotoba-table-list td, .forum-topics-list td,\n .blog td {\n border-bottom: 1px solid #31363b !important; }\n [class|=account-subscription] tr,\n [class|=account-billing] tr, .kotoba-table-list tr, .forum-topics-list tr,\n .blog tr {\n background-color: #232629 !important; }\n [class|=account-subscription] tr:last-child td,\n [class|=account-billing] tr:last-child td, .kotoba-table-list tr:last-child td, .forum-topics-list tr:last-child td,\n .blog tr:last-child td {\n border-bottom: none !important; }\n [class|=account-subscription] hr,\n [class|=account-billing] hr, .kotoba-table-list hr, .forum-topics-list hr,\n .blog hr {\n display: none; }\n\n #enlarge-hover,\n [class*=\"-icon\"], [id*=\"summary\"] li, #lesson #supplement-info li span.radical,\n #lesson #batch-items li span.radical, #lesson #supplement-info li span.kanji,\n #lesson #batch-items li span.kanji, #lesson #supplement-info li span.vocabulary,\n #lesson #batch-items li span.vocabulary, #related-items span, #lessons .ui ul item,\n #reviews .ui ul item {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n body, #screen-lesson-ready, #screen-quiz-ready {\n background-blend-mode: color-burn !important;\n background-color: #31363b !important;\n background-image: url(\"https://cdn-staging.wanikani.com/assets/default-v2/bg-texture-f26fc7a5696f53a272eaffdfdd43eb215d33ef508c89ed2d0501903eaad2f29a.png\") !important;\n background-repeat: repeat !important; }\n\n .legend ul .locked, section[class^=lattice-] li:not([data-sorted]) > a {\n color: #fff !important;\n filter: brightness(0.2) !important; }\n\n .locked-item, .character-item.locked {\n background-image: url(\"https://cdn-staging.wanikani.com/assets/default-v2/stripes-5e8494366c1615da046bd0f587cfeef6786e7ba17863df1329767ca3b89140e0.png\") !important; }\n\n button, .btn, .page-list li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, #start-session, #batch-items [data-index=\"quiz\"] > span, .btn-set li, #hotkeys, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, [class|=account-subscription] h3,\n [class|=account-billing] h3, .kotoba-table-list h3, .forum-topics-list h3,\n .blog h3, [class|=account-subscription] tr,\n [class|=account-billing] tr, .kotoba-table-list tr, .forum-topics-list tr,\n .blog tr, #enlarge-hover,\n [class*=\"-icon\"], [id*=\"summary\"] li, #lesson #supplement-info li span.radical,\n #lesson #batch-items li span.radical, #lesson #supplement-info li span.kanji,\n #lesson #batch-items li span.kanji, #lesson #supplement-info li span.vocabulary,\n #lesson #batch-items li span.vocabulary, #related-items span, #lessons .ui ul item,\n #reviews .ui ul item, input[type=\"checkbox\"], input[type=\"range\"], .srs-progress ul > li, .kotoba-table-list .none-available, .see-more, #review-stats [id^=\"review-stats\"], #timeline .review_info .tot, .alert, .system-alert,\n .alert-where-user-scripts-cant-ignore, [class*=character-grid] > li, .popover .popover-content li, .popover .bar, .progress, .progress > .bar, [class*=\"highlight\"], .individual-item section.collocation .word-type__button--selected::after, #supplement-voc-collocations-container .word-type__button--selected::after, .newbie, .see-more a, #main-info, #reviews #character, #wkof_ds .ui-dialog, #wkof_ds .ui-dialog-buttonpane, #wkof_ds .ui-tabs-tab, #wki_settings_cancel,\n #wki_settings_save, #wki_settings_button_label_bgcolor,\n #wki_settings_button_label_textcolor,\n #wki_settings_timer_show_next_item, #timeline .review_info .rad, #timeline .review_info .kan, #timeline .review_info .voc, #ss_quiz .quiz-progress, #ss_quiz .quiz-progress .quiz-progress-bar, #ss_quiz .qtype, #keisei_section .character-item {\n background-image: none !important; }\n\n [class|=account-subscription] th,\n [class|=account-billing] th, .kotoba-table-list th, .forum-topics-list th,\n .blog th, [class|=account-subscription] td,\n [class|=account-billing] td, .kotoba-table-list td, .forum-topics-list td,\n .blog td, input[type=\"checkbox\"], input[type=\"range\"], .srs-progress ul > li, .kotoba-table-list .none-available, .see-more, #review-stats [id^=\"review-stats\"], #timeline .review_info .tot, blockquote, .audio-btn, [class*=character-grid] > li > a, .dropdown.open [class*=\"toggle\"], .legend ul .locked, .legend [class*=\"lattice\"], .popover .popover-title, .note-meaning fieldset,\n .note-reading fieldset, .user-synonyms, .user-synonyms li::after, .user-synonyms-add-btn::before, #main footer li, #subscriptions footer li, #public-profile footer li, #main footer a,\n #main footer a:hover, #subscriptions footer a,\n #subscriptions footer a:hover, #public-profile footer a,\n #public-profile footer a:hover, .individual-item section.collocation .word-type__button--selected::after, #supplement-voc-collocations-container .word-type__button--selected::after, .individual-item section.collocation :not(.word-type__button--selected), #supplement-voc-collocations-container :not(.word-type__button--selected), .lessons-and-reviews__button, .review-status li, .kotoba-table-list .none-available:hover, .individual-item h2, .individual-item .additional-info, .individual-item .new-synonyms li button, section[class^=lattice-] li, section[class^=lattice-] li > a, section[id|=level] header, .explanation-item-mnemonics,\n .explanation-item-radicals,\n .explanation-item-kanji,\n .explanation-item-vocabulary,\n .explanation-item-lessons-reviews,\n .explanation-item-srs, #stats *,\n #summary-button *,\n #header-buttons *,\n .menu-bar *, .srs-up, .srs-down, #answer-form fieldset.correct button, #answer-form fieldset.incorrect button, #answer-form button, #additional-content li > span, #all-info, .srs-levels li span, .wall-of-shame, #wkof_ds .ui-dialog-titlebar, #wkof_ds .ui-dialog-buttonpane, #wkof_ds .ui-dialog-content fieldset.wkof_group, #wkof_ds .ui-tabs-tab, #wki_button #wki_mimic_button,\n #wki_button .wki_item_wrapper,\n #wki_button .wki_button_item_label, #wki_srs_popup_wrapper .wki_srs_popup_icon,\n #wki_srs_popup_wrapper #wki_srs_popup_message, #lessons .ui-small,\n #reviews .ui-small, #timeline .bar_style select, #timeline .graph .bkgd, [aria-describedby=divSRSGridSettings] .ui-widget-header button,\n [aria-describedby=divSRSGridSettings] .ui-widget-header .ui-button-icon,\n [aria-describedby=ui-id-2] .ui-widget-header button,\n [aria-describedby=ui-id-2] .ui-widget-header .ui-button-icon, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonpane,\n [aria-describedby=divSRSGridSettings] .ui-dialog-titlebar,\n [aria-describedby=divSRSGridSettings] .ui-dialog-content tr:hover,\n [aria-describedby=ui-id-2] .ui-dialog-buttonpane,\n [aria-describedby=ui-id-2] .ui-dialog-titlebar,\n [aria-describedby=ui-id-2] .ui-dialog-content tr:hover, .wklc .wklc-item, .wklc .wklc-max-score-edit label, #ss_quiz .help, #ss_quiz .answer {\n background-color: transparent !important; }\n\n [class|=account-subscription] h3 .heading-symbol,\n [class|=account-billing] h3 .heading-symbol, .kotoba-table-list h3 .heading-symbol, .forum-topics-list h3 .heading-symbol,\n .blog h3 .heading-symbol, .audio-btn, .audio-btn:hover, .audio-btn:focus, input[type=\"checkbox\"], .dropdown [class*=\"toggle\"] > span, .legend ul span, .popover .popover-title, #search.in, [class*=\"highlight\"], .individual-item section.collocation .word-type__button, #supplement-voc-collocations-container .word-type__button, .lessons-and-reviews__button, .srs-progress ul > li, .kotoba-table-list .none-available, .kotoba-table-list .none-available > td div, .see-more, .see-more div, section[class^=lattice-] li > a, #review-stats [id^=\"review-stats\"], #main-info, #answer-form input, #answer-form button, #additional-content li > span, #additional-content li > span:hover::before, #kana-chart li:hover, .srs-levels li span, #wki_button #wki_mimic_button,\n #wki_button .wki_item_wrapper,\n #wki_button .wki_button_item_label, #lessons .ui-small .icon-minus,\n #reviews .ui-small .icon-minus, #lessons .ui .icon-minus,\n #reviews .ui .icon-minus, #lessons .ui-small .icon-plus,\n #reviews .ui-small .icon-plus, #lessons .ui .icon-plus,\n #reviews .ui .icon-plus, #timeline .bar_style select, #timeline .range_input, [aria-describedby=divSRSGridSettings] .ui-widget-header button,\n [aria-describedby=divSRSGridSettings] .ui-widget-header .ui-button-icon,\n [aria-describedby=ui-id-2] .ui-widget-header button,\n [aria-describedby=ui-id-2] .ui-widget-header .ui-button-icon, .wklc .wklc-item, #keisei_modal_settings .modal-header,\n #keisei_modal_info .modal-header, #keisei_modal_settings .modal-footer,\n #keisei_modal_info .modal-footer {\n box-shadow: none !important; }\n\n textarea, input, button, .btn, .page-list li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, #start-session, #batch-items [data-index=\"quiz\"] > span, .btn-set li, #hotkeys, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, select, #back-dashboard, .alert, .system-alert,\n .alert-where-user-scripts-cant-ignore, .legend, .page-list, #main footer ul, #subscriptions footer ul, #public-profile footer ul, .account-subscription .account-subscription-plan,\n #account-subscription-coupon-form #coupon,\n .account-subscription-payment-processor-info,\n .account-subscription form .control-group input[type=\"text\"], .account-billing div.bg-default, .account-billing div.bg-gray-100, .api section, .dashboard section, .individual-item .span12 > section, .individual-item + section, section[class^=lattice-], section[id|=level], .settings-section, [id*=\"summary\"] [id^=\"radical\"], [id*=\"summary\"] [id^=\"kanji\"], [id*=\"summary\"] [id^=\"vocabulary\"], [id*=\"summary\"] [id^=\"correct\"], [id*=\"summary\"] [id^=\"incorrect\"], #review-stats, #supplement-info, #information, #lessons .ui,\n #reviews .ui, #timeline, [aria-describedby=divSRSGridSettings],\n [aria-describedby=ui-id-2], #item_marker_body, #marked_items, .wklc, #ss_quiz, #keisei_modal_settings,\n #keisei_modal_info, #wkof_ds .ui-dialog, #timeline .review_info .inner, section.cidwwa-modal, [class|=account-subscription] h3 .heading-symbol,\n [class|=account-billing] h3 .heading-symbol, .kotoba-table-list h3 .heading-symbol, .forum-topics-list h3 .heading-symbol,\n .blog h3 .heading-symbol, #enlarge-hover,\n [class*=\"-icon\"], [id*=\"summary\"] li, #lesson #supplement-info li span.radical,\n #lesson #batch-items li span.radical, #lesson #supplement-info li span.kanji,\n #lesson #batch-items li span.kanji, #lesson #supplement-info li span.vocabulary,\n #lesson #batch-items li span.vocabulary, #related-items span, #lessons .ui ul item,\n #reviews .ui ul item, [class*=character-grid] > li, .dropdown-menu, .navbar-inner, .global-header, .page-list-header span, .popover .popover-content li, .review-status, .review-status li, .kotoba-table-list .none-available > td, .see-more div, [id*=\"summary\"] nav, #question-type, #answer-form input, #answer-form button, #wkof_ds .ui-dialog-titlebar, #wkof_ds .ui-dialog-content fieldset.wkof_group, #wkof_ds .ui-tabs-tab, #wki_button #wki_mimic_button,\n #wki_button .wki_item_wrapper,\n #wki_button .wki_button_item_label, [id|=qtip], [id|=qtip] .qtip-titlebar,\n [id|=qtip] .qtip-title, #lessons .ui-small .icon-minus,\n #reviews .ui-small .icon-minus, #lessons .ui .icon-minus,\n #reviews .ui .icon-minus, #lessons .ui-small .icon-plus,\n #reviews .ui-small .icon-plus, #lessons .ui .icon-plus,\n #reviews .ui .icon-plus, .progress-entries .popover, [aria-describedby=divSRSGridSettings] .ui-widget-header,\n [aria-describedby=ui-id-2] .ui-widget-header, [aria-describedby=divSRSGridSettings] .ui-widget-header button,\n [aria-describedby=divSRSGridSettings] .ui-widget-header .ui-button-icon,\n [aria-describedby=ui-id-2] .ui-widget-header button,\n [aria-describedby=ui-id-2] .ui-widget-header .ui-button-icon, #ss_quiz .help, #ss_quiz .qtype, #keisei_section .character-item {\n border: none !important; }\n\n .character-item *, .dropdown a, .dropdown i, .dropdown span, .dropdown li, [class*=\"rad\"] *, .dashboard a, .kotoba-table-list span, .kotoba-table-list time, .kotoba-table-list i, section[class^=lattice-] li > a *, [id*=\"summary\"] li *, #reviews #character *, #related-items span > i, #stats *,\n #summary-button *,\n #header-buttons *,\n .menu-bar * {\n color: inherit !important; }\n\n .highlight-reading, #question-type.reading {\n background-color: /*[[review-reading-bg]]*/ !important; }\n\n .highlight-meaning, #question-type.meaning {\n background-color: /*[[review-meaning-bg]]*/ !important; }\n\n :root {\n --inverted-text-color: #434343;\n --kanji-color: /*[[kanji-color]]*/;\n --page-background: #31363b;\n --radical-color: /*[[radicals-color]]*/;\n --section-background: #232629;\n --text-color: #bcbcbc;\n --vocabulary-color: /*[[vocab-color]]*/;\n color-scheme: dark; }\n\n * {\n text-shadow: none !important; }\n\n body {\n color: #bcbcbc; }\n\n p, pre, strong, small, li, time, h1, h2, h3, h4, label, i {\n color: #bcbcbc !important; }\n\n a {\n color: #3daee9;\n text-shadow: none !important; }\n\n hr {\n border-color: #31363b !important; }\n\n footer a {\n color: #bcbcbc !important; }\n\n .bg-white {\n background-color: inherit; }\n\n [class^=\"border-gray\"] {\n border-color: #31363b; }\n\n .text-black {\n color: #bcbcbc !important; }\n\n .btn-danger {\n background-color: #da4453 !important;\n color: #434343 !important; }\n\n .audio-btn.audio-play::before {\n color: #bcbcbc; }\n .audio-btn.audio-unavailable::before {\n content: '⃠';\n font-weight: bold; }\n\n input[type=\"checkbox\"] {\n appearance: none;\n border: 1px solid #bcbcbc !important;\n border-radius: 3px !important;\n height: 18px !important;\n margin-right: 8px;\n vertical-align: text-top;\n width: 18px !important; }\n input[type=\"checkbox\"]:checked {\n border: 1px solid #1d99f3 !important;\n padding: 0 !important; }\n input[type=\"checkbox\"]:checked::after {\n background-color: #1d99f3 !important;\n border-radius: 1px;\n content: '';\n display: block;\n height: calc(100% - 4px);\n left: 2px;\n position: relative;\n top: 2px;\n width: calc(100% - 4px); }\n input[type=\"checkbox\"]:disabled {\n border-color: #565656 !important; }\n input[type=\"checkbox\"]:disabled::after {\n background-color: #565656 !important; }\n input[type=\"checkbox\"]:focus, input[type=\"checkbox\"]:hover {\n border-color: #96d0f9 !important; }\n input[type=\"checkbox\"]:focus::after, input[type=\"checkbox\"]:hover::after {\n background-color: #96d0f9 !important; }\n\n #user_password:focus {\n border-left: 2px solid #ed1515 !important;\n border-right: 2px solid #ed1515 !important; }\n\n #user_current_password:focus {\n border-left: 2px solid #f67400 !important;\n border-right: 2px solid #f67400 !important; }\n\n table {\n background-color: inherit !important;\n border-collapse: separate !important; }\n table tr {\n background-color: inherit !important;\n border-radius: 5px !important; }\n\n .alert {\n margin-left: auto;\n margin-right: auto;\n max-width: 92vw; }\n .alert h3, .alert a, .alert p, .alert span, .alert i, .alert time {\n color: inherit !important; }\n\n .alert-info {\n background-color: #ff8e2a !important;\n color: #434343 !important; }\n .alert-info h4 {\n color: #434343 !important; }\n\n .system-alert,\n .alert-where-user-scripts-cant-ignore {\n background-color: #ff8e2a !important;\n color: #434343 !important; }\n .system-alert h2, .system-alert h3, .system-alert i, .system-alert p, .system-alert time,\n .alert-where-user-scripts-cant-ignore h2,\n .alert-where-user-scripts-cant-ignore h3,\n .alert-where-user-scripts-cant-ignore i,\n .alert-where-user-scripts-cant-ignore p,\n .alert-where-user-scripts-cant-ignore time {\n color: inherit !important; }\n .system-alert h2, .system-alert h3,\n .alert-where-user-scripts-cant-ignore h2,\n .alert-where-user-scripts-cant-ignore h3 {\n border-bottom: 1px solid #31363b !important; }\n\n .reviews-alert::before {\n background-color: #ff8e2a !important;\n bottom: 17px !important;\n clip-path: polygon(100% 0%, 100% 100%, 0% 100%) !important;\n z-index: 3 !important; }\n\n li.burned {\n filter: brightness(0.5) !important; }\n\n [class*=character-grid] {\n background-color: #1e2123 !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n display: flex !important;\n flex-wrap: wrap !important;\n justify-content: center !important;\n padding: 5px !important; }\n [class*=character-grid] > li {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n margin: 5px !important; }\n [class*=character-grid] > li.locked {\n filter: brightness(0.7) !important; }\n [class*=character-grid] img.radical-image {\n filter: unset !important; }\n [class*=character-grid] img.kanji-image {\n filter: unset !important; }\n [class*=character-grid] img.vocabulary-image {\n filter: unset !important; }\n\n .dropdown:not(.open).radicals > [class*=\"toggle\"]:hover > span {\n border-color: /*[[radicals-color]]*/ !important; }\n .dropdown:not(.open).kanji > [class*=\"toggle\"]:hover > span {\n border-color: /*[[kanji-color]]*/ !important; }\n .dropdown:not(.open).vocabulary > [class*=\"toggle\"]:hover > span {\n border-color: /*[[vocab-color]]*/ !important; }\n .dropdown.open {\n background-color: #33383c !important; }\n .dropdown.open.radicals [class$=\"menu\"]::before, .dropdown.open.radicals [class$=\"menu\"]::after {\n border-bottom-color: /*[[radicals-color]]*/ !important;\n color: /*[[radicals-color]]*/ !important; }\n .dropdown.open.kanji [class$=\"menu\"]::before, .dropdown.open.kanji [class$=\"menu\"]::after {\n border-bottom-color: /*[[kanji-color]]*/ !important;\n color: /*[[kanji-color]]*/ !important; }\n .dropdown.open.vocabulary [class$=\"menu\"]::before, .dropdown.open.vocabulary [class$=\"menu\"]::after {\n border-bottom-color: /*[[vocab-color]]*/ !important;\n color: /*[[vocab-color]]*/ !important; }\n .dropdown.open [class*=\"toggle\"] {\n box-shadow: 1px 0 2px rgba(0, 0, 0, 0.7) inset, -1px 0 2px rgba(0, 0, 0, 0.7) inset !important; }\n .dropdown.open [class*=\"toggle\"] > span {\n border: 0.3em solid #232629 !important; }\n .dropdown.open > .dropdown-menu {\n top: 112% !important; }\n .dropdown.open > .dropdown-menu li:not(.nav-header) {\n background-color: inherit !important; }\n .dropdown.open > .dropdown-menu li:not(.nav-header) > a:hover {\n background-color: inherit !important;\n filter: brightness(0.8) !important; }\n .dropdown.open > .dropdown-menu::before, .dropdown.open > .dropdown-menu::after {\n border-bottom-color: #33383c !important;\n color: #33383c !important; }\n\n .dropdown-menu {\n background-color: inherit !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n .legend .percentage-0-20 {\n background-color: #f47750 !important; }\n .legend .percentage-21-40 {\n background-color: #c9ce3b !important; }\n .legend .percentage-41-60 {\n background-color: #3daee9 !important; }\n .legend .percentage-61-80 {\n background-color: #1d99f3 !important; }\n .legend .percentage-81-100 {\n background-color: #1cdc9a !important; }\n .legend .apprentice-lattice {\n color: #1d99f3 !important; }\n .legend .guru-lattice {\n color: #1cdc9a !important; }\n .legend .master-lattice {\n color: #c9ce3b !important; }\n .legend .enlighten-lattice {\n color: #f67400 !important; }\n .legend .burned-lattice {\n color: /*[[burned-color]]*/ !important; }\n .legend ul span {\n margin-left: 1vh !important;\n margin-right: 1vh !important; }\n .legend ul span.burned {\n background-color: /*[[burned-color]]*/ !important;\n color: #434343 !important; }\n .legend [class*=\"percentage\"],\n .legend [class*=\"lattice\"] {\n filter: brightness(0.8) !important; }\n\n .navbar-inner {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 1030 !important;\n background-image: none !important; }\n\n .global-header {\n background: none;\n background-color: #232629;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7); }\n .global-header .logo {\n filter: brightness(80%) hue-rotate(226deg); }\n\n .navigation__toggle[data-expanded=\"true\"] {\n background-color: transparent; }\n\n .navigation-shortcut a {\n color: #bcbcbc; }\n .navigation-shortcut a span {\n background: transparent;\n color: #c9ce3b; }\n .navigation-shortcut[data-count=\"0\"] span {\n background: transparent;\n color: #bcbcbc; }\n\n .sitemap {\n background: #232629; }\n .sitemap--divider {\n border-top-color: #31363b; }\n .sitemap__grouped-pages, .sitemap__pages {\n background: #232629; }\n .sitemap__expandable-chunk {\n background-color: #232629 !important; }\n .sitemap__expandable-chunk::before {\n background: #232629; }\n .sitemap__expandable-chunk[class*=\"radical\"]::before {\n background: /*[[radicals-color]]*/; }\n .sitemap__expandable-chunk[class*=\"radical\"] * {\n color: inherit !important; }\n .sitemap__expandable-chunk[class*=\"radical\"] ul {\n background: transparent !important; }\n .sitemap__expandable-chunk[class*=\"kanji\"]::before {\n background: /*[[kanji-color]]*/; }\n .sitemap__expandable-chunk[class*=\"kanji\"] * {\n color: inherit !important; }\n .sitemap__expandable-chunk[class*=\"kanji\"] ul {\n background: transparent !important; }\n .sitemap__expandable-chunk[class*=\"vocabulary\"]::before {\n background: /*[[vocab-color]]*/; }\n .sitemap__expandable-chunk[class*=\"vocabulary\"] * {\n color: inherit !important; }\n .sitemap__expandable-chunk[class*=\"vocabulary\"] ul {\n background: transparent !important; }\n .sitemap__page a {\n color: #bcbcbc !important; }\n\n .page-list ul {\n align-items: center !important;\n display: flex !important;\n flex-wrap: wrap !important;\n padding: 5px !important; }\n .page-list li {\n margin: 2px !important; }\n .page-list li > a {\n background-color: #3daee9 !important;\n color: #434343 !important; }\n\n .page-list-header {\n width: 110px !important; }\n\n .popover .popover-title {\n opacity: inherit; }\n .popover .popover-content li {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n margin-bottom: 3px !important;\n margin-top: 3px !important; }\n .popover .popover-content li span {\n color: #31363b !important; }\n .popover .bar {\n background-color: #3daee9 !important;\n line-height: 100% !important; }\n .popover.srs .arrow,\n .popover.srs .arrow::after, .popover.lattice .arrow,\n .popover.lattice .arrow::after {\n border-right-color: #4d4d4d !important;\n opacity: inherit !important; }\n\n .progress {\n align-items: center !important;\n background-color: #1e2123 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n display: flex !important; }\n .progress > .bar {\n background-color: #1d99f3 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n height: 50% !important;\n margin: 5px !important;\n opacity: 0.75 !important; }\n .progress > .bar > span {\n background-color: #484848 !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n color: #bcbcbc !important; }\n .progress > .bar > span::after {\n border-top-color: #484848 !important; }\n .progress > .bar > .threshold {\n box-shadow: 1px 0 0 #4d4d4d !important;\n color: #4d4d4d !important;\n height: 60% !important;\n line-height: 110% !important;\n opacity: 0.50 !important; }\n\n #progress section {\n margin-left: 2vw !important;\n margin-right: 2vw !important; }\n\n #search #main-ico-search {\n top: unset; }\n\n .user-synonyms {\n margin-left: 5px; }\n .user-synonyms li, .user-synonyms i {\n color: #bcbcbc !important; }\n\n .user-synonyms-add-form input {\n padding-left: 5px !important; }\n .user-synonyms-add-form button {\n height: 1.8em !important;\n min-width: 1.8em !important; }\n\n .radical-icon--locked {\n filter: brightness(0.7); }\n\n .kanji-icon--locked {\n filter: brightness(0.7); }\n\n .vocabulary-icon--locked {\n filter: brightness(0.7); }\n\n .japanese-font-styling-correction,\n .enlarge-hover {\n color: #232629 !important; }\n\n [class*=\"highlight\"] {\n border-radius: 3px !important; }\n [class*=\"highlight\"] > span {\n color: #434343 !important; }\n\n .highlight-reading > span,\n .highlight-meaning > span {\n color: #bcbcbc !important; }\n\n #main footer, #subscriptions footer, #public-profile footer {\n /*[[footer-image]]*/\n background-position: top !important; }\n #main footer li:last-child, #subscriptions footer li:last-child, #public-profile footer li:last-child {\n background-color: #da4453 !important;\n border-bottom-right-radius: 5px !important;\n border-top-right-radius: 5px !important;\n color: #434343 !important; }\n #main footer li:last-child span, #subscriptions footer li:last-child span, #public-profile footer li:last-child span {\n color: #434343 !important; }\n #main footer a,\n #main footer a:hover, #subscriptions footer a,\n #subscriptions footer a:hover, #public-profile footer a,\n #public-profile footer a:hover {\n padding-top: 10px !important;\n transition: none !important; }\n #main footer a:hover, #subscriptions footer a:hover, #public-profile footer a:hover {\n text-decoration: underline !important; }\n\n .individual-item section.collocation .word-type__button, #supplement-voc-collocations-container .word-type__button {\n border-radius: 0 !important; }\n .individual-item section.collocation .word-types--with-collocations::after, #supplement-voc-collocations-container .word-types--with-collocations::after {\n box-shadow: rgba(0, 0, 0, 0.7) 0 0 5px 0; }\n\n .account #user_lesson_batch_size {\n background-color: #232629 !important;\n border-color: #3daee9 !important; }\n\n .account-subscription .account-subscription-plan [type=\"button\"] {\n border-radius: 0 0 5px 5px !important; }\n .account-subscription .account-subscription-plan-active {\n border-color: #f67400 !important;\n box-shadow: 0 0 5px rgba(246, 116, 0, 0.5) !important; }\n .account-subscription .account-subscription-plan-active [type=\"button\"] {\n background: #f67400 !important; }\n .account-subscription form .control-group [type=\"text\"]:focus {\n border: none !important;\n box-shadow: 0 0 5px rgba(61, 174, 233, 0.5) !important; }\n\n .account-subscription-payment-submit button {\n background-color: #f67400 !important;\n border-radius: 5px !important;\n box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.7);\n color: #434343 !important; }\n .account-subscription-payment-submit [type=submit]:disabled {\n background-color: #f67400 !important;\n border-radius: 5px !important;\n box-shadow: 0 0 5px rgba(246, 116, 0, 0.5); }\n\n #account-subscription-coupon-form #coupon:focus {\n border: none !important;\n box-shadow: 0 0 5px rgba(61, 174, 233, 0.5) !important; }\n\n .account-subscription-details-total {\n color: #bcbcbc !important; }\n .account-subscription-details-total sup {\n color: #bcbcbc !important; }\n\n .account-subscription-details table tr.account-subscription-details-total th, .account-subscription-details table tr.account-subscription-details-total td, .account-subscription-details table tr.account-subscription-details-total td.account-subscription-details-plan-edit {\n border-color: #bcbcbc !important; }\n .account-subscription-details table tr.account-subscription-details-total td {\n border-bottom: 2px solid !important; }\n\n .account-billing div.bg-default .text-gray-900, .account-billing div.bg-gray-100 .text-gray-900 {\n color: #bcbcbc; }\n\n .api h3 {\n font-weight: bold !important; }\n .api pre {\n background-color: #31363b !important; }\n .api code {\n background-color: #31363b !important;\n border: none !important; }\n\n .dashboard .progress-and-forecast {\n grid-gap: 1rem 1.5rem;\n grid-template-rows: max-content auto; }\n .dashboard .progress-and-forecast section {\n margin: 0; }\n .dashboard .progress-and-forecast .review-forecast__empty-image {\n filter: invert(0.85) !important; }\n .dashboard .dashboard-sub-section {\n margin: 0 !important; }\n .dashboard .row .span12 .row {\n align-items: stretch;\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 20px !important; }\n @media (max-width: 767px) {\n .dashboard .row .span12 .row .span4:nth-child(2) {\n margin-bottom: 20px !important;\n margin-top: 20px !important; } }\n .dashboard .row .span12 + .span12 {\n margin-bottom: 20px !important;\n margin-top: 0 !important; }\n\n .newbie hr {\n border-bottom-color: #31363b !important;\n border-top-color: #31363b !important; }\n\n .lessons-and-reviews__button {\n background-size: auto 135px; }\n .lessons-and-reviews__button span {\n background-color: transparent; }\n .lessons-and-reviews__lessons-button--1 span, .lessons-and-reviews__lessons-button--100 span, .lessons-and-reviews__reviews-button--1 span, .lessons-and-reviews__reviews-button--100 span {\n color: #c9ce3b; }\n\n .review-forecast__day {\n border-bottom: 1px solid #31363b;\n border-radius: 0; }\n .review-forecast__day-header::before, .review-forecast__day-header::after {\n display: none; }\n .review-forecast__day-label {\n border-bottom: 1px solid #31363b;\n border-radius: 0;\n padding-bottom: 0.5rem; }\n .review-forecast__day.is-collapsed .review-forecast__day-label {\n background-color: transparent;\n border-bottom-width: 0;\n padding-bottom: 0; }\n .review-forecast__hour {\n background-color: #31363b !important;\n border-radius: 0 !important;\n padding-bottom: 0; }\n .review-forecast__hour th, .review-forecast__hour td {\n border-color: #31363b; }\n .review-forecast__change {\n border-right-color: #31363b; }\n\n .srs-progress ul > li:not(:last-child) {\n border-right: 1px solid #31363b; }\n .srs-progress ul > #apprentice > span {\n color: #1d99f3 !important; }\n .srs-progress ul > #guru > span {\n color: #1cdc9a !important; }\n .srs-progress ul > #master > span {\n color: #c9ce3b !important; }\n .srs-progress ul > #enlightened > span {\n color: #f67400 !important; }\n .srs-progress ul > #burned > span {\n color: /*[[burned-color]]*/ !important; }\n\n .dashboard-progress .progress-bar {\n background-color: #1e2123;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset;\n height: 1.5rem; }\n .dashboard-progress .progress-bar__progress, .dashboard-progress .progress-bar__label {\n height: 1rem;\n margin: 0.25rem; }\n .dashboard-progress .progress-bar__label, .dashboard-progress .progress-bar__extra-label {\n color: #434343 !important;\n font-size: 0.8rem;\n line-height: 1.2; }\n .dashboard-progress .progress-entries {\n color: #434343 !important; }\n\n .kotoba-table-list {\n display: flex !important;\n flex-direction: column !important;\n margin-bottom: 0 !important;\n margin-top: 0 !important;\n min-height: 100%;\n position: relative !important; }\n .kotoba-table-list table {\n margin-bottom: 38px !important; }\n .kotoba-table-list table tr:hover {\n filter: brightness(0.8) !important; }\n .kotoba-table-list .none-available > td div {\n border-color: #31363b !important; }\n .kotoba-table-list .none-available > td i::before {\n color: #31363b !important; }\n .kotoba-table-list .none-available:hover {\n filter: none !important; }\n .kotoba-table-list .see-more {\n bottom: 0 !important;\n position: absolute !important;\n width: 100% !important; }\n\n .forum-topics-list,\n .blog {\n margin-bottom: 0 !important;\n margin-top: 0 !important; }\n .forum-topics-list tr:hover,\n .blog tr:hover {\n filter: brightness(0.8) !important; }\n .forum-topics-list h3.invert,\n .blog h3.invert {\n filter: none; }\n\n .see-more a {\n background-color: #1c1e21 !important;\n border-radius: 0 0 5px 5px !important;\n box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.7) !important;\n margin-top: 3px !important; }\n\n .extra-study .rounded-full {\n color: #bcbcbc; }\n .extra-study img {\n filter: invert(0.85) !important; }\n\n .individual-item .level-icon {\n background-color: #232629 !important; }\n .individual-item .span12 > section {\n padding: 10px !important; }\n .individual-item section > h2 {\n border-bottom: 1px solid #4d4d4d !important; }\n .individual-item h2 {\n color: #bcbcbc !important; }\n .individual-item + section {\n margin-left: auto !important;\n margin-right: auto !important;\n width: 1170px !important; }\n @media (min-width: 979px) and (max-width: 1199px) {\n .individual-item + section {\n width: 940px !important; } }\n @media (min-width: 767px) and (max-width: 979px) {\n .individual-item + section {\n width: 724px !important; } }\n @media (max-width: 767px) {\n .individual-item + section {\n width: calc(100% - 40px) !important; } }\n .individual-item + section [class$=-streak] span {\n background-color: inherit !important; }\n\n section[class^=lattice-] {\n padding: 10px; }\n section[class^=lattice-] ul {\n display: flex !important;\n flex-wrap: wrap !important;\n justify-content: center !important; }\n section[class^=lattice-] li {\n margin: 1vh 10px !important; }\n section[class^=lattice-] li > a {\n filter: brightness(0.8) !important; }\n section[class^=lattice-] [data-sorted] .percentage-0-20 {\n color: #f47750 !important; }\n section[class^=lattice-] [data-sorted] .percentage-21-40 {\n color: #c9ce3b !important; }\n section[class^=lattice-] [data-sorted] .percentage-41-60 {\n color: #3daee9 !important; }\n section[class^=lattice-] [data-sorted] .percentage-61-80 {\n color: #1d99f3 !important; }\n section[class^=lattice-] [data-sorted] .percentage-81-100 {\n color: #1cdc9a !important; }\n section[class^=lattice-] [data-sorted] .apprentice-lattice {\n color: #1d99f3 !important; }\n section[class^=lattice-] [data-sorted] .guru-lattice {\n color: #1cdc9a !important; }\n section[class^=lattice-] [data-sorted] .master-lattice {\n color: #c9ce3b !important; }\n section[class^=lattice-] [data-sorted] .enlighten-lattice {\n color: #f67400 !important; }\n section[class^=lattice-] [data-sorted] .burned-lattice {\n color: /*[[burned-color]]*/ !important; }\n\n .level-icon {\n color: #bcbcbc !important; }\n\n .next a, .previous a {\n color: #bcbcbc !important; }\n\n .alt-character-list a {\n color: #bcbcbc !important; }\n\n .recently-unlocked-item {\n color: #232629 !important; }\n\n section[id|=level] {\n padding: 10px; }\n section[id|=level] header {\n margin-bottom: 5px; }\n\n #explanation .bg-angled {\n background-color: #31363b !important; }\n\n .explanation-item-mnemonics,\n .explanation-item-radicals,\n .explanation-item-kanji,\n .explanation-item-vocabulary,\n .explanation-item-lessons-reviews,\n .explanation-item-srs {\n color: #bcbcbc !important; }\n\n [id*=\"summary\"] [id^=\"radical\"] h2 {\n color: /*[[radicals-color]]*/ !important; }\n [id*=\"summary\"] [id^=\"radical\"] div {\n display: block !important; }\n [id*=\"summary\"] [id^=\"kanji\"] h2 {\n color: /*[[kanji-color]]*/ !important; }\n [id*=\"summary\"] [id^=\"kanji\"] div {\n display: block !important; }\n [id*=\"summary\"] [id^=\"vocabulary\"] h2 {\n color: /*[[vocab-color]]*/ !important; }\n [id*=\"summary\"] [id^=\"vocabulary\"] div {\n display: block !important; }\n [id*=\"summary\"] [id^=\"correct\"] h2 {\n color: #2ecc71 !important; }\n [id*=\"summary\"] [id^=\"incorrect\"] h2 {\n color: #ed1515 !important; }\n [id*=\"summary\"] h2 {\n background-color: #1c1e21 !important;\n border-radius: 5px 5px 0 0 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important; }\n [id*=\"summary\"] h2 strong {\n color: inherit !important; }\n [id*=\"summary\"] h3 {\n border-bottom-color: #4d4d4d !important; }\n [id*=\"summary\"] h3 strong, [id*=\"summary\"] h3 span {\n background-color: #232629 !important;\n color: #4d4d4d !important; }\n [id*=\"summary\"] li {\n margin-left: 5px !important;\n margin-right: 5px !important; }\n\n #start-session a {\n background-color: #2ecc71 !important;\n color: #434343 !important; }\n #start-session .disabled {\n background-color: #232629 !important;\n color: #bcbcbc !important; }\n\n #review-stats {\n color: #bcbcbc; }\n #review-stats [id^=\"review-stats\"]::after {\n display: none !important; }\n\n .hover li {\n color: #bcbcbc !important; }\n\n #main-info.radical #character {\n color: /*[[radicals-color]]*/ !important; }\n\n #main-info.kanji #character {\n color: /*[[kanji-color]]*/ !important; }\n\n #main-info.vocabulary #character {\n color: /*[[vocab-color]]*/ !important; }\n\n #lessons header {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 11 !important;\n background-image: none !important; }\n\n #supplement-nav {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 9 !important;\n background-image: none !important;\n background-color: #31363b !important; }\n #supplement-nav li::before {\n border-bottom-color: #232629 !important;\n bottom: -50px !important;\n color: #232629 !important; }\n\n #next-btn:hover,\n #prev-btn:hover {\n background-color: #232629 !important;\n border-radius: 5px !important;\n filter: brightness(0.8) !important; }\n\n #supplement-info {\n color: #bcbcbc;\n margin-top: 30px !important; }\n #supplement-info h2 {\n border-bottom-color: #31363b !important; }\n\n #batch-items {\n bottom: unset !important;\n position: relative !important;\n width: auto !important; }\n\n #lesson #supplement-info #supplement-kan-breakdown ul li a,\n #lesson #supplement-info #supplement-voc-breakdown ul li a,\n #lesson #supplement-info #supplement-kan-related-vocabulary ul li a,\n #lesson #supplement-info #supplement-rad-related-kanji ul li a {\n color: #bcbcbc; }\n\n #screen-lesson-ready {\n z-index: 110 !important; }\n\n #screen-quiz-ready {\n z-index: 110 !important; }\n\n #reviews #character {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 10 !important;\n background-image: none !important; }\n\n #information {\n color: #bcbcbc; }\n\n #item-info #all-info:hover {\n color: #bcbcbc; }\n #item-info #related-items a, #item-info #related-items a:visited, #item-info #related-items a:hover {\n color: #bcbcbc; }\n\n [id^=\"loading\"] {\n background-color: #31363b !important; }\n\n #stats,\n #summary-button,\n #header-buttons,\n .menu-bar {\n color: #bcbcbc !important;\n z-index: 100 !important; }\n\n #question-type {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 9 !important;\n background-image: none !important; }\n #question-type > .srs {\n left: 70% !important;\n top: initial !important;\n width: initial !important; }\n\n div#question-type, #quiz > div:first-child {\n height: 5rem;\n padding: 0; }\n\n div#question-type {\n align-items: center;\n display: flex;\n justify-content: center; }\n\n .srs-up::before {\n color: #2ecc71 !important; }\n\n .srs-down::before {\n color: #ed1515 !important; }\n\n #answer-form {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 8 !important;\n background-image: none !important; }\n #answer-form fieldset {\n padding: 0 !important; }\n #answer-form fieldset.correct input[type=text]:disabled {\n background-color: #2ecc71 !important; }\n #answer-form fieldset.incorrect input[type=text]:disabled {\n background-color: #ed1515 !important; }\n #answer-form input {\n border-radius: 0 !important; }\n #answer-form button {\n height: 2.3em !important; }\n\n #additional-content {\n background-color: #31363b !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 6 !important;\n background-image: none !important;\n height: 50px !important;\n margin: 0 !important; }\n #additional-content ul {\n align-items: center !important;\n display: flex !important;\n height: 100% !important;\n margin: 0 !important; }\n #additional-content ul .wrap-up-selected span, #additional-content ul .wrap-up-selected span:hover::before, #additional-content ul .wrap-up-selected span::before {\n background-color: #31363b !important; }\n #additional-content ul .wrap-up-selected strong, #additional-content ul .wrap-up-selected i {\n text-shadow: 0 0 10px #f47750 !important; }\n #additional-content li::before {\n border-bottom-color: #232629 !important;\n bottom: -25px !important;\n color: #232629 !important; }\n #additional-content li > span {\n z-index: 7 !important; }\n #additional-content li > span:hover::before {\n background-color: #31363b !important;\n color: #bcbcbc !important; }\n\n #answer-exception span {\n background-color: #4d4d4d !important;\n border-radius: 5px;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n #answer-exception span::before {\n display: none !important; }\n\n #last-items li ul {\n background-color: #31363b !important; }\n #last-items li ul [title*=meaning],\n #last-items li ul [title*=reading] {\n color: #bcbcbc !important; }\n\n #information {\n z-index: 8 !important; }\n\n #item-info h2 {\n border-bottom-color: #31363b !important; }\n\n #kana-chart ol {\n border-bottom-color: #31363b !important; }\n #kana-chart .active {\n border-bottom: none !important;\n border-left: 1px solid #31363b !important;\n border-right: 1px solid #31363b !important; }\n #kana-chart li {\n border-right-color: #31363b !important; }\n #kana-chart li:hover {\n background-color: #232629 !important;\n filter: brightness(0.8) !important; }\n #kana-chart li span {\n color: #bcbcbc !important; }\n\n #additional-content-load {\n background-color: #232629 !important; }\n\n .avatar {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important; }\n .avatar img {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n .user-info {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 10 !important;\n background-image: none !important; }\n .user-info::after {\n border-bottom-color: #232629 !important; }\n\n .wall-of-shame h3 > span {\n background-color: #232629 !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important; }\n\n /*[[review-char-bg]]*/\n #wkof_ds .ui-dialog-titlebar {\n border-bottom: 1px solid #232629 !important;\n border-radius: 0;\n color: #bcbcbc !important; }\n #wkof_ds .ui-dialog-buttonpane {\n border-top: 1px solid #232629 !important; }\n #wkof_ds .ui-dialog-content fieldset.wkof_group legend:nth-child(1) {\n color: #bcbcbc;\n float: left;\n margin-bottom: 10px; }\n #wkof_ds .ui-dialog-content fieldset.wkof_group legend:nth-child(1) + * {\n clear: both; }\n #wkof_ds .ui-dialog-content fieldset.wkof_group + fieldset.wkof_group {\n border-radius: 0;\n border-top: 1px solid #232629 !important; }\n #wkof_ds .ui-dialog-content section {\n color: #bcbcbc; }\n #wkof_ds .ui-dialog-content hr {\n border-bottom-width: 0;\n border-top-color: #232629 !important; }\n #wkof_ds .ui-dialog-content .row .left {\n line-height: 2em; }\n #wkof_ds .ui-dialog-content .row .right {\n line-height: 2em; }\n #wkof_ds .ui-icon {\n background-image: url(\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/images/ui-icons_888888_256x240.png\") !important;\n box-shadow: none !important; }\n #wkof_ds .ui-tabs-nav {\n border-bottom: 1px solid #232629 !important;\n margin-bottom: 0 !important; }\n #wkof_ds .ui-tabs-active {\n background-color: #232629 !important;\n border-radius: 5px 5px 0 0; }\n #wkof_ds .ui-tabs-anchor {\n color: #bcbcbc !important; }\n\n #reviews #summary-button [class*=\"-icon\"], #reviews #summary-button li, #lessons #summary-button [class*=\"-icon\"], #lessons #summary-button li {\n box-shadow: none !important; }\n #reviews #summary-button li:not(.scripts-header), #lessons #summary-button li:not(.scripts-header) {\n transition: background 0.2s; }\n #reviews #summary-button li:not(.scripts-header):hover, #lessons #summary-button li:not(.scripts-header):hover {\n background-color: rgba(255, 255, 255, 0.2) !important; }\n #reviews #summary-button .dropdown-menu .dropdown-menu, #lessons #summary-button .dropdown-menu .dropdown-menu {\n margin-left: 5px; }\n\n #wki_button {\n border-color: #232629 !important;\n border-right: 1px solid !important; }\n\n [id|=qtip] {\n background-color: #232629 !important; }\n\n [id|=qtip] .qtip-titlebar,\n [id|=qtip] .qtip-title {\n background-color: #1d99f3 !important; }\n\n #wki_settings_cancel,\n #wki_settings_save {\n background-color: #232629 !important; }\n\n #wki_settings_button_label_bgcolor,\n #wki_settings_button_label_textcolor,\n #wki_settings_timer_show_next_item {\n background-color: #232629 !important; }\n\n [id|=qtip] .qtip-tip,\n [id|=qtip] canvas {\n color: #232629 !important; }\n\n #lessons .ui-small .icon-minus,\n #reviews .ui-small .icon-minus, #lessons .ui .icon-minus,\n #reviews .ui .icon-minus, #lessons .ui-small .icon-plus,\n #reviews .ui-small .icon-plus, #lessons .ui .icon-plus,\n #reviews .ui .icon-plus {\n background-color: #bcbcbc !important; }\n\n #lessons .ui,\n #reviews .ui {\n margin: 10px !important;\n padding: 10px !important; }\n #lessons .ui #quick-next,\n #reviews .ui #quick-next {\n color: #4d4d4d !important; }\n #lessons .ui #quick-next.active,\n #reviews .ui #quick-next.active {\n color: #bcbcbc !important; }\n #lessons .ui #quick-next.active::before,\n #reviews .ui #quick-next.active::before {\n text-shadow: 0 0 10px rgba(61, 174, 233, 0.5) !important; }\n #lessons .ui ul item,\n #reviews .ui ul item {\n background-color: #31363b !important; }\n\n #timeline {\n padding: 0.5rem !important; }\n #timeline .graph_panel {\n overflow: hidden !important; }\n #timeline .graph .bkgd {\n fill: transparent; }\n #timeline .graph .label-x > text,\n #timeline .graph .label-y > text,\n #timeline .graph .markers > path {\n fill: #bcbcbc; }\n #timeline .graph .markers > .bur {\n fill: #31363b !important; }\n #timeline .graph .rad {\n fill: /*[[radicals-color]]*/ !important; }\n #timeline .graph .kan {\n fill: /*[[kanji-color]]*/ !important; }\n #timeline .graph .voc {\n fill: /*[[vocab-color]]*/ !important; }\n #timeline .review_info .detail_buttons > button {\n margin-bottom: 0.3em; }\n #timeline .review_info .summary .item_type:first-child,\n #timeline .review_info .summary .srs_stage:nth-child(4),\n #timeline .review_info .summary .level:nth-child(8) {\n border-top-left-radius: 0.3em;\n border-top-right-radius: 0.3em; }\n #timeline .review_info .summary .item_type:nth-child(3),\n #timeline .review_info .summary .srs_stage:nth-child(7),\n #timeline .review_info .summary .level:nth-child(13) {\n border-bottom-left-radius: 0.3em;\n border-bottom-right-radius: 0.3em; }\n #timeline .review_info .tot {\n color: #bcbcbc !important; }\n #timeline .review_info .bur {\n background: #31363b !important; }\n #timeline .review_info .item_type > span {\n color: #232629 !important; }\n #timeline .review_info .rad svg {\n stroke: #232629; }\n\n .progression .lattice-single-character li > a[data-srs-lvl=\"5\"], .progression .lattice-single-character li > a[data-srs-lvl=\"6\"], .progression .lattice-single-character li > a[data-srs-lvl=\"7\"], .progression .lattice-single-character li > a[data-srs-lvl=\"8\"], .progression .lattice-single-character li > a[data-srs-lvl=\"9\"], .progression .lattice-single-character li > a[data-srs-lvl=\"10\"] {\n filter: brightness(0.5) !important; }\n\n .progression .lattice-single-character ul > .pct90 {\n background-color: #31363b !important; }\n\n .progress-entries .popover {\n color: #bcbcbc; }\n .progress-entries .popover.left .arrow, .progress-entries .popover.left .arrow::after {\n border-left-color: #4d4d4d; }\n .progress-entries .popover.right .arrow, .progress-entries .popover.right .arrow::after {\n border-right-color: #4d4d4d; }\n .progress-entries .progress-entry.pct90 {\n background-color: #4d4d4d; }\n\n [aria-describedby=divSRSGridSettings] .ui-dialog-content input, [aria-describedby=divSRSGridSettings] .ui-dialog-content select,\n [aria-describedby=ui-id-2] .ui-dialog-content input,\n [aria-describedby=ui-id-2] .ui-dialog-content select {\n min-width: 250px !important; }\n\n #WKO_button {\n background-color: #ed1515 !important;\n color: #434343 !important; }\n\n #answer-form fieldset.WKO_ignored input[type=\"text\"]:disabled,\n #answer-form fieldset.WKO_ignored button {\n background-color: #f67400 !important; }\n\n #item_marker_body h3 {\n color: #434343 !important; }\n #item_marker_body #item_marker_settings {\n padding: 5px !important; }\n\n #marked_items {\n padding: 10px !important; }\n #marked_items #marked_items_buttons > button {\n margin-right: 10px !important; }\n #marked_items #marked_items_list {\n display: flex !important;\n flex-wrap: wrap !important; }\n #marked_items #marked_items_list > a {\n margin: 5px 5px 0 0 !important; }\n #marked_items #marked_items_list > a:hover {\n text-decoration: none !important; }\n\n .wklc {\n justify-content: space-around !important;\n margin: 1em 1.3em !important; }\n .wklc .wklc-items {\n margin: 0 !important; }\n .wklc .wklc-item {\n color: #bcbcbc !important;\n min-width: 2em !important;\n padding: 0 0.2em; }\n .wklc [class*=apprentice] {\n color: #1d99f3 !important; }\n .wklc [class*=guru] {\n color: #1cdc9a !important; }\n .wklc [class*=master] {\n color: #c9ce3b !important; }\n .wklc [class*=enlightened] {\n color: #f67400 !important; }\n .wklc .wklc-apprentice1,\n .wklc .wklc-guru1 {\n filter: saturate(1) !important; }\n .wklc .wklc-apprentice2,\n .wklc .wklc-guru2 {\n filter: saturate(0.5) !important; }\n .wklc .wklc-apprentice3,\n .wklc .wklc-guru3 {\n filter: saturate(0.33333) !important; }\n .wklc .wklc-apprentice4,\n .wklc .wklc-guru4 {\n filter: saturate(0.25) !important; }\n\n svg#stroke_order {\n filter: invert(80%) !important;\n opacity: 0.5 !important; }\n\n #ss_quiz {\n padding: 0.5rem !important; }\n #ss_quiz .quiz-progress {\n align-items: center !important;\n background-color: #1e2123 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n height: 1rem !important; }\n #ss_quiz .quiz-progress .quiz-progress-bar {\n background-color: #1d99f3 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n height: 50% !important;\n margin: 5px !important;\n position: relative;\n top: 25%; }\n #ss_quiz .help {\n color: #3daee9 !important; }\n #ss_quiz .qtype {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important; }\n #ss_quiz .reading {\n background-color: /*[[review-reading-bg]]*/ !important; }\n #ss_quiz .meaning {\n background-color: /*[[review-meaning-bg]]*/ !important; }\n #ss_quiz .answer {\n margin-top: 0.5rem !important;\n padding: 0 !important; }\n #ss_quiz[data-result=\"correct\"] .answer input {\n background-color: #2ecc71 !important;\n color: #fcfcfc !important; }\n #ss_quiz[data-result=\"incorrect\"] .answer input {\n background-color: #ed1515 !important;\n color: #fcfcfc !important; }\n\n .vocabulary-progress li > a, .vocabulary-progress li > div {\n font-size: 1.1em !important; }\n .vocabulary-progress li > li {\n background-color: #1478ac !important;\n border-color: transparent !important; }\n .vocabulary-progress ul li:nth-child(2) a, .vocabulary-progress ul li:nth-child(2) div {\n background-color: #17191b !important;\n color: #bcbcbc !important; }\n\n #keisei_section table {\n box-sizing: border-box !important;\n width: 100% !important; }\n #keisei_section table li {\n box-sizing: inherit !important; }\n #keisei_section .single-character-grid {\n border: 0 !important; }\n #keisei_section .keisei_chargrid_header,\n #keisei_section .keisei_chargrid_compounds {\n width: auto !important; }\n #keisei_section .keisei_chargrid_header .character-item,\n #keisei_section .keisei_chargrid_compounds .character-item {\n width: 116px !important; }\n @media (max-width: 767px) {\n #keisei_section .keisei_chargrid_header .character-item,\n #keisei_section .keisei_chargrid_compounds .character-item {\n width: auto !important; } }\n #keisei_section #keisei_phonetic_grid td > li {\n margin-bottom: 10px !important;\n margin-left: 5px !important;\n margin-right: 5px !important;\n margin-top: 5px !important; }\n #keisei_section #keisei_phonetic_grid td > li:last-child {\n margin-bottom: 5px !important; }\n #keisei_section .character-item {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n #keisei_section [id^=phonetic] {\n background-color: #11d116 !important;\n color: #232629 !important; }\n #keisei_section [id^=nonphonetic] {\n background-color: #da4453 !important;\n color: #232629 !important; }\n #keisei_section .keisei_style_reading_notInWK {\n color: dimgray !important; }\n\n #keisei_modal_settings .modal-header,\n #keisei_modal_info .modal-header {\n border-bottom: 1px solid #31363b !important; }\n #keisei_modal_settings .modal-footer,\n #keisei_modal_info .modal-footer {\n background-color: inherit !important;\n border-top: 1px solid #31363b !important; }\n\n .wkof_group.filters .row {\n border-color: #232629 !important; }\n .wkof_group.filters .row.checked {\n background-color: #232629 !important; }\n .wkof_group.filters .row .enable {\n line-height: 30px; }\n .wkof_group.filters .row .enable input {\n vertical-align: text-bottom; }\n\n #wkofs_advSearchFilters button {\n height: 1.8em; }\n #wkofs_advSearchFilters button > a {\n color: #bcbcbc !important; }\n\n header #level-duration {\n line-height: 10px;\n margin-bottom: -10px; } }\n\n/*# sourceMappingURL=main.css.map */\n\n\n", 585 + "sourceCode": "/* ==UserStyle==\n@name WaniKani Breeze Dark\n@version 1.4.2\n@namespace valeth.info\n@license GPL-3.0\n@description Dark theme for the WaniKani kanji learning website.\n@author Valeth\n@homepageURL https://valeth.info\n@supportURL https://gitlab.com/valeth/wanikani-breeze-dark/issues\n\n@var color radicals-color \"Radicals Color\" #3DAEE9\n@var color kanji-color \"Kanji Color\" #FDBC4B\n@var color vocab-color \"Vocabulary Color\" #2ECC71\n@var color burned-color \"Burned Color\" #DA4453\n@var color review-reading-bg \"Review Reading Background\" #4D4D4D\n@var color review-meaning-bg \"Review Meaning Background\" #31363B\n@advanced dropdown footer-image \"Footer Image\" {\n footer-image-dark \"Dark\" <<<EOT\n background-image: url(\"https://i.imgur.com/MRVqVnw.png\") !important;\n EOT;\n footer-image-default \"Original\" <<<EOT\n EOT;\n footer-image-none \"None\" <<<EOT\n background-image: unset !important;\n EOT;\n}\n@advanced dropdown review-char-bg \"Review Character Background\" {\n review-char-bg-dark \"Dark, like my soul\" <<<EOT\n EOT;\n review-char-bg-colored \"Colorful, Rainbows, Rainbows EVERYWHERE!\" <<<EOT\n .character-header.character-header--vocabulary {\n background-color: /*[[vocab-color]]*\\/ !important;\n color: #232629 !important;\n }\n .character-header.character-header--kanji {\n background-color: /*[[kanji-color]]*\\/ !important;\n color: #232629 !important;\n }\n .character-header.character-header--radical {\n background-color: /*[[radicals-color]]*\\/ !important;\n color: #232629 !important;\n }\n .character-header__menu {\n color: #232629 !important;\n }\n EOT;\n}\n==/UserStyle== */\n\n@charset \"UTF-8\";\n/*\nThis file was compiled with SCSS.\nTo view the sources of this file visit https://gitlab.com/valeth/wanikani-breeze-dark\n*/\n@-moz-document domain(www.wanikani.com) {\n .character-grid__items > li .character-item--radical, .subject-legend ul span.subject-legend__item-badge--all, .sitemap__expandable-chunk[class*=\"radical\"], .popover.srs .popover-content li:nth-child(1), .radical-icon, [class*=\"highlight-radical\"],\n [class*=\"radical-highlight\"], .kotoba-table-list table [class^=\"radical\"], .subject-character.subject-character--radical span.subject-character__characters, .components-list a[class$=radical], #last-items li a .last-item__characters--radical, #lessons .ui ul item.radical,\n #reviews .ui ul item.radical, #timeline .review_info .rad, #ss_quiz[data-itype=\"radical\"] .qwrap, #keisei_section [id^=radical], .dropdown.open.radicals, .subject-legend ul span.subject-legend__item-badge--radicals {\n background-color: /*[[radicals-color]]*/ !important;\n color: #232629 !important; }\n\n .character-header.character-header--radical, #ss_quiz.radical .question {\n background-color: #232629 !important;\n color: /*[[radicals-color]]*/ !important; }\n\n .character-grid__items > li .character-item--kanji, .dropdown.open.kanji, .subject-legend ul span.subject-legend__item-badge--kanji, .sitemap__expandable-chunk[class*=\"kanji\"], .popover.srs .popover-content li:nth-child(2), .kanji-icon, [class*=\"highlight-kanji\"],\n [class*=\"kanji-highlight\"], .dashboard-progress .progress-bar__progress, .kotoba-table-list table [class^=\"kanji\"], .subject-character.subject-character--kanji span.subject-character__characters, .components-list a[class$=kanji], #last-items li a .last-item__characters--kanji, #lessons .ui ul item.kanji,\n #reviews .ui ul item.kanji, #timeline .review_info .kan, #ss_quiz[data-itype=\"kanji\"] .qwrap, #keisei_section [id^=kanji] {\n background-color: /*[[kanji-color]]*/ !important;\n color: #232629 !important; }\n\n .character-header.character-header--kanji, #ss_quiz.kanji .question {\n background-color: #232629 !important;\n color: /*[[kanji-color]]*/ !important; }\n\n .character-grid__items > li .character-item--vocabulary, .dropdown.open.vocabulary, .subject-legend ul span.subject-legend__item-badge--vocabulary, .sitemap__expandable-chunk[class*=\"vocabulary\"], .popover.srs .popover-content li:nth-child(3), .vocabulary-icon, [class*=\"highlight-vocabulary\"],\n [class*=\"vocabulary-highlight\"], .kotoba-table-list table [class^=\"vocabulary\"], .subject-character.subject-character--vocabulary span.subject-character__characters, .components-list a[class$=vocabulary], #last-items li a .last-item__characters--vocabulary, #lessons .ui ul item.vocabulary,\n #reviews .ui ul item.vocabulary, #timeline .review_info .voc, #ss_quiz[data-itype=\"vocabulary\"] .qwrap, .vocabulary-progress li > a, .vocabulary-progress li > div {\n background-color: /*[[vocab-color]]*/ !important;\n color: #232629 !important; }\n\n .character-header.character-header--vocabulary, #ss_quiz.vocabulary .question {\n background-color: #232629 !important;\n color: /*[[vocab-color]]*/ !important; }\n\n textarea, input, button, .btn, input[type=\"submit\"], .page-list li > a, .page-nav li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, .lesson-container__queue .wk-button--quiz, .hotkeys-menu, .hotkeys-menu__header, .chat-button, a.user-synonyms__button, li.user-synonyms__item a, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, select {\n border-radius: 5px !important;\n color: #bcbcbc !important; }\n textarea:focus, input:focus, button:focus, .btn:focus, .page-list li > a:focus, .page-nav li > a:focus, .individual-item .new-synonyms li:focus, .nav-load > li:last-child a:focus,\n .button:focus, .lesson-container__queue .wk-button--quiz:focus, .hotkeys-menu:focus, .hotkeys-menu__header:focus, .chat-button:focus, a.user-synonyms__button:focus, li.user-synonyms__item a:focus, #lessons .ui #reorder:focus,\n #reviews .ui #reorder:focus, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button:focus,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button:focus, #WKO_button:focus, select:focus {\n outline: none !important; }\n\n textarea, input {\n background-color: #1e2123 !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n transition: box-shadow linear 0.2s !important; }\n textarea:focus, input:focus {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset !important; }\n\n button, .btn, input[type=\"submit\"], .page-list li > a, .page-nav li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, .lesson-container__queue .wk-button--quiz, .hotkeys-menu, .hotkeys-menu__header, .chat-button, a.user-synonyms__button, li.user-synonyms__item a, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, select {\n background-color: #1e2123 !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n transition: box-shadow linear 0.2s, border linear 0.2s !important; }\n button:hover, .btn:hover, input[type=\"submit\"]:hover, .page-list li > a:hover, .page-nav li > a:hover, .individual-item .new-synonyms li:hover, .nav-load > li:last-child a:hover,\n .button:hover, .lesson-container__queue .wk-button--quiz:hover, .hotkeys-menu:hover, .hotkeys-menu__header:hover, .chat-button:hover, a.user-synonyms__button:hover, li.user-synonyms__item a:hover, #lessons .ui #reorder:hover,\n #reviews .ui #reorder:hover, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button:hover,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button:hover, #WKO_button:hover, select:hover {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) !important; }\n button:focus, .btn:focus, input[type=\"submit\"]:focus, .page-list li > a:focus, .page-nav li > a:focus, .individual-item .new-synonyms li:focus, .nav-load > li:last-child a:focus,\n .button:focus, .lesson-container__queue .wk-button--quiz:focus, .hotkeys-menu:focus, .hotkeys-menu__header:focus, .chat-button:focus, a.user-synonyms__button:focus, li.user-synonyms__item a:focus, #lessons .ui #reorder:focus,\n #reviews .ui #reorder:focus, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button:focus,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button:focus, #WKO_button:focus, select:focus {\n box-shadow: 0 0 5px rgba(61, 174, 233, 0.5) !important; }\n\n textarea {\n color: #bcbcbc !important;\n -webkit-text-fill-color: #bcbcbc !important; }\n\n .alert, .dashboard .system-alert,\n .alert-where-user-scripts-cant-ignore, .subject-legend, .page-list, .page-nav, #main footer ul, #subscriptions footer ul, #public-profile footer ul, .site-footer-container footer ul, .account-subscription .account-subscription-plan,\n #account-subscription-coupon-form #coupon,\n .account-subscription-payment-processor-info,\n .account-subscription form .control-group input[type=\"text\"], .account-billing div.bg-default, .account-billing div.bg-gray-100, .api section, .dashboard section, .individual-item .span12 > section, .individual-item + section, section[class^=lattice-], section.character-grid, .settings-section, .subject-slide, #information, #lessons .ui,\n #reviews .ui, #timeline, [aria-describedby=divSRSGridSettings],\n [aria-describedby=ui-id-2], #item_marker_body, #marked_items, .wklc, #ss_quiz, #keisei_modal_settings,\n #keisei_modal_info {\n background-color: #232629 !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n margin-bottom: 20px;\n margin-top: 20px; }\n\n .popover, .highlight-radical::before, .radical-highlight::before, .highlight-kanji::before, .kanji-highlight::before, .highlight-vocabulary::before, .vocabulary-highlight::before, .highlight-reading::before, .reading-highlight::before, .highlight-meaning::before, .meaning-highlight::before, #last-items li a {\n background-color: #4d4d4d !important;\n border-color: #4d4d4d !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n aside.wk-hint, aside.subject-hint, #wkof_ds .ui-dialog, #timeline .review_info .inner, section.cidwwa-modal {\n background-color: #31363b !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n [class|=account-subscription] h3,\n [class|=account-billing] h3, .kotoba-table-list h3, .forum-topics-list h3,\n .blog h3 {\n align-items: center !important;\n background-color: #1c1e21 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n color: #bcbcbc !important;\n display: flex !important;\n margin-bottom: 3px !important;\n max-height: 60px !important;\n padding-bottom: 3px !important;\n padding-top: 3px !important;\n text-align: left !important; }\n [class|=account-subscription] h3 .heading-symbol,\n [class|=account-billing] h3 .heading-symbol, .kotoba-table-list h3 .heading-symbol, .forum-topics-list h3 .heading-symbol,\n .blog h3 .heading-symbol {\n display: inline !important;\n margin-left: 0 !important;\n margin-right: 5px !important; }\n [class|=account-subscription] h3 i::before,\n [class|=account-billing] h3 i::before, .kotoba-table-list h3 i::before, .forum-topics-list h3 i::before,\n .blog h3 i::before {\n color: #bcbcbc !important; }\n [class|=account-subscription] td,\n [class|=account-billing] td, .kotoba-table-list td, .forum-topics-list td,\n .blog td {\n border-bottom: 1px solid #31363b !important; }\n [class|=account-subscription] tr,\n [class|=account-billing] tr, .kotoba-table-list tr, .forum-topics-list tr,\n .blog tr {\n background-color: #232629 !important; }\n [class|=account-subscription] tr:last-child td,\n [class|=account-billing] tr:last-child td, .kotoba-table-list tr:last-child td, .forum-topics-list tr:last-child td,\n .blog tr:last-child td {\n border-bottom: none !important; }\n [class|=account-subscription] hr,\n [class|=account-billing] hr, .kotoba-table-list hr, .forum-topics-list hr,\n .blog hr {\n display: none; }\n\n .character-grid__items > li .character-item--radical, .character-grid__items > li .character-item--kanji, .character-grid__items > li .character-item--vocabulary, #enlarge-hover,\n [class*=\"-icon\"], .subject-character.subject-character--radical span.subject-character__characters, .subject-character.subject-character--kanji span.subject-character__characters, .subject-character.subject-character--vocabulary span.subject-character__characters, #lessons .ui ul item,\n #reviews .ui ul item {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n body {\n background-blend-mode: color-burn !important;\n background-color: #31363b !important;\n background-image: url(\"https://cdn-staging.wanikani.com/assets/default-v2/bg-texture-f26fc7a5696f53a272eaffdfdd43eb215d33ef508c89ed2d0501903eaad2f29a.png\") !important;\n background-repeat: repeat !important; }\n\n section[class^=lattice-] li:not([data-sorted]) > a {\n color: #fff !important;\n filter: brightness(0.2) !important; }\n\n .locked-item, .character-item.locked {\n background-image: url(\"https://cdn-staging.wanikani.com/assets/default-v2/stripes-5e8494366c1615da046bd0f587cfeef6786e7ba17863df1329767ca3b89140e0.png\") !important; }\n\n button, .btn, input[type=\"submit\"], .page-list li > a, .page-nav li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, .lesson-container__queue .wk-button--quiz, .hotkeys-menu, .hotkeys-menu__header, .chat-button, a.user-synonyms__button, li.user-synonyms__item a, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, [class|=account-subscription] h3,\n [class|=account-billing] h3, .kotoba-table-list h3, .forum-topics-list h3,\n .blog h3, [class|=account-subscription] tr,\n [class|=account-billing] tr, .kotoba-table-list tr, .forum-topics-list tr,\n .blog tr, .character-grid__items > li .character-item--radical, .character-grid__items > li .character-item--kanji, .character-grid__items > li .character-item--vocabulary, #enlarge-hover,\n [class*=\"-icon\"], .subject-character.subject-character--radical span.subject-character__characters, .subject-character.subject-character--kanji span.subject-character__characters, .subject-character.subject-character--vocabulary span.subject-character__characters, #lessons .ui ul item,\n #reviews .ui ul item, input[type=\"checkbox\"], input[type=\"range\"], .srs-progress ul > li, .kotoba-table-list .none-available, .see-more, #timeline .review_info .tot, .alert, .dashboard .system-alert,\n .alert-where-user-scripts-cant-ignore, .character-grid__items > li, .subject-legend ul span, .popover .popover-content li, .popover .bar, .progress, .progress-bar, .progress > .progress-bar__bar, .progress-bar > .progress-bar__bar, [class*=\"highlight\"], .individual-item section.collocation .subject-collocations__pattern-name::after, .subject-collocations .subject-collocations__pattern-name::after, .newbie, .see-more a, .character-header, #wkof_ds .ui-dialog, #wkof_ds .ui-dialog-buttonpane, #wkof_ds .ui-tabs-tab, #wki_settings_cancel,\n #wki_settings_save, #wki_settings_button_label_bgcolor,\n #wki_settings_button_label_textcolor,\n #wki_settings_timer_show_next_item, #timeline .review_info .rad, #timeline .review_info .kan, #timeline .review_info .voc, #ss_quiz .quiz-progress, #ss_quiz .quiz-progress .quiz-progress-bar, #ss_quiz .qtype, #keisei_section .character-item {\n background-image: none !important; }\n\n [class|=account-subscription] th,\n [class|=account-billing] th, .kotoba-table-list th, .forum-topics-list th,\n .blog th, [class|=account-subscription] td,\n [class|=account-billing] td, .kotoba-table-list td, .forum-topics-list td,\n .blog td, input[type=\"checkbox\"], input[type=\"range\"], .srs-progress ul > li, .kotoba-table-list .none-available, .see-more, #timeline .review_info .tot, blockquote, .audio-btn, .dropdown.open [class*=\"toggle\"], .subject-legend [class*=\"lattice\"], .popover .popover-title, .note-meaning fieldset,\n .note-reading fieldset, .user-synonyms, .user-synonyms li::after, .user-synonyms-add-btn::before, #main footer li, #subscriptions footer li, #public-profile footer li, .site-footer-container footer li, #main footer a,\n #main footer a:hover, #subscriptions footer a,\n #subscriptions footer a:hover, #public-profile footer a,\n #public-profile footer a:hover, .site-footer-container footer a,\n .site-footer-container footer a:hover, .individual-item section.collocation .subject-collocations__pattern-name, .subject-collocations .subject-collocations__pattern-name, .individual-item section.collocation .subject-collocations__pattern-name::after, .subject-collocations .subject-collocations__pattern-name::after, .lessons-and-reviews__button, .review-status li, .kotoba-table-list .none-available:hover, .individual-item h2, .individual-item .additional-info, .individual-item .new-synonyms li button, section[class^=lattice-] li, section[class^=lattice-] li > a, section.character-grid header, .explanation-item-mnemonics,\n .explanation-item-radicals,\n .explanation-item-kanji,\n .explanation-item-vocabulary,\n .explanation-item-lessons-reviews,\n .explanation-item-srs, form.user-note__form, button.reading-with-audio__control, .quiz-input__input-wrapper .quiz-input__input-container[correct=\"true\"] button, .quiz-input__input-wrapper .quiz-input__input-container[correct=\"false\"] button, .quiz-input__input-wrapper input, .quiz-input__input-wrapper button, #additional-content ul.additional-content__menu li > a, li.user-synonyms__item a:not(:hover) i, #kana-chart .kana-chart__tab, .srs-levels li span, .wall-of-shame, #wkof_ds .ui-dialog-titlebar, #wkof_ds .ui-dialog-buttonpane, #wkof_ds .ui-dialog-content fieldset.wkof_group, #wkof_ds .ui-tabs-tab, #wki_button #wki_mimic_button,\n #wki_button .wki_item_wrapper,\n #wki_button .wki_button_item_label, #wki_srs_popup_wrapper .wki_srs_popup_icon,\n #wki_srs_popup_wrapper #wki_srs_popup_message, #lessons .ui-small,\n #reviews .ui-small, #timeline .bar_style select, #timeline .graph .bkgd, [aria-describedby=divSRSGridSettings] .ui-widget-header button,\n [aria-describedby=divSRSGridSettings] .ui-widget-header .ui-button-icon,\n [aria-describedby=ui-id-2] .ui-widget-header button,\n [aria-describedby=ui-id-2] .ui-widget-header .ui-button-icon, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonpane,\n [aria-describedby=divSRSGridSettings] .ui-dialog-titlebar,\n [aria-describedby=divSRSGridSettings] .ui-dialog-content tr:hover,\n [aria-describedby=ui-id-2] .ui-dialog-buttonpane,\n [aria-describedby=ui-id-2] .ui-dialog-titlebar,\n [aria-describedby=ui-id-2] .ui-dialog-content tr:hover, .wklc .wklc-item, .wklc .wklc-max-score-edit label, #ss_quiz .help, #ss_quiz .answer {\n background-color: transparent !important; }\n\n button i, .btn i, input[type=\"submit\"] i, .page-list li > a i, .page-nav li > a i, .individual-item .new-synonyms li i, .nav-load > li:last-child a i,\n .button i, .lesson-container__queue .wk-button--quiz i, .hotkeys-menu i, .hotkeys-menu__header i, .chat-button i, a.user-synonyms__button i, li.user-synonyms__item a i, #lessons .ui #reorder i,\n #reviews .ui #reorder i, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button i,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button i, #WKO_button i, [class|=account-subscription] h3 .heading-symbol,\n [class|=account-billing] h3 .heading-symbol, .kotoba-table-list h3 .heading-symbol, .forum-topics-list h3 .heading-symbol,\n .blog h3 .heading-symbol, .audio-btn, .audio-btn:hover, .audio-btn:focus, input[type=\"checkbox\"], .dropdown [class*=\"toggle\"] > span, .subject-legend h3 i, .subject-legend ul span, .page-list .page-list-header i, .page-list .page-nav__header i, .page-nav .page-list-header i, .page-nav .page-nav__header i, .popover .popover-title, #search.in, [class*=\"highlight\"], .individual-item section.collocation .subject-collocations__pattern-name, .subject-collocations .subject-collocations__pattern-name, .lessons-and-reviews__button, .srs-progress ul > li, .kotoba-table-list .none-available, .kotoba-table-list .none-available > td div, .see-more, .see-more div, section[class^=lattice-] li > a, .character-item__badge, .subject-slide__navigation div, .subject-slide__navigation i, .components-list .component-character__characters, button.reading-with-audio__control, .character-header__menu div, .character-header__menu i, .character-header__menu .summary-button, .character-header__srs-container[data-went-up=\"true\"] .character-header__srs-content i, .character-header__srs-container[data-went-up=\"true\"] .character-header__srs-content div, .character-header__srs-container[data-went-up=\"false\"] .character-header__srs-content i, .character-header__srs-container[data-went-up=\"false\"] .character-header__srs-content div, .quiz-input__input-wrapper input, .quiz-input__input-wrapper button, #additional-content ul.additional-content__menu li > a, #subject-info i, aside.wk-hint i, aside.subject-hint i, .user-note__character-count i, #kana-chart .kana-chart__tab, .srs-levels li span, #wki_button #wki_mimic_button,\n #wki_button .wki_item_wrapper,\n #wki_button .wki_button_item_label, #lessons .ui-small .icon-minus,\n #reviews .ui-small .icon-minus, #lessons .ui .icon-minus,\n #reviews .ui .icon-minus, #lessons .ui-small .icon-plus,\n #reviews .ui-small .icon-plus, #lessons .ui .icon-plus,\n #reviews .ui .icon-plus, #timeline .bar_style select, #timeline .range_input, [aria-describedby=divSRSGridSettings] .ui-widget-header button,\n [aria-describedby=divSRSGridSettings] .ui-widget-header .ui-button-icon,\n [aria-describedby=ui-id-2] .ui-widget-header button,\n [aria-describedby=ui-id-2] .ui-widget-header .ui-button-icon, .wklc .wklc-item, #keisei_modal_settings .modal-header,\n #keisei_modal_info .modal-header, #keisei_modal_settings .modal-footer,\n #keisei_modal_info .modal-footer {\n box-shadow: none !important; }\n\n textarea, input, button, .btn, input[type=\"submit\"], .page-list li > a, .page-nav li > a, .individual-item .new-synonyms li, .nav-load > li:last-child a,\n .button, .lesson-container__queue .wk-button--quiz, .hotkeys-menu, .hotkeys-menu__header, .chat-button, a.user-synonyms__button, li.user-synonyms__item a, #lessons .ui #reorder,\n #reviews .ui #reorder, [aria-describedby=divSRSGridSettings] .ui-dialog-buttonset button,\n [aria-describedby=ui-id-2] .ui-dialog-buttonset button, #WKO_button, select, .alert, .dashboard .system-alert,\n .alert-where-user-scripts-cant-ignore, .subject-legend, .page-list, .page-nav, #main footer ul, #subscriptions footer ul, #public-profile footer ul, .site-footer-container footer ul, .account-subscription .account-subscription-plan,\n #account-subscription-coupon-form #coupon,\n .account-subscription-payment-processor-info,\n .account-subscription form .control-group input[type=\"text\"], .account-billing div.bg-default, .account-billing div.bg-gray-100, .api section, .dashboard section, .individual-item .span12 > section, .individual-item + section, section[class^=lattice-], section.character-grid, .settings-section, .subject-slide, #information, #lessons .ui,\n #reviews .ui, #timeline, [aria-describedby=divSRSGridSettings],\n [aria-describedby=ui-id-2], #item_marker_body, #marked_items, .wklc, #ss_quiz, #keisei_modal_settings,\n #keisei_modal_info, aside.wk-hint, aside.subject-hint, #wkof_ds .ui-dialog, #timeline .review_info .inner, section.cidwwa-modal, [class|=account-subscription] h3 .heading-symbol,\n [class|=account-billing] h3 .heading-symbol, .kotoba-table-list h3 .heading-symbol, .forum-topics-list h3 .heading-symbol,\n .blog h3 .heading-symbol, .character-grid__items > li .character-item--radical, .character-grid__items > li .character-item--kanji, .character-grid__items > li .character-item--vocabulary, #enlarge-hover,\n [class*=\"-icon\"], .subject-character.subject-character--radical span.subject-character__characters, .subject-character.subject-character--kanji span.subject-character__characters, .subject-character.subject-character--vocabulary span.subject-character__characters, #lessons .ui ul item,\n #reviews .ui ul item, .character-grid__items > li, .dropdown-menu, .navbar-inner, .global-header, .page-list .page-list-header span, .page-list .page-nav__header span, .page-nav .page-list-header span, .page-nav .page-nav__header span, .popover .popover-content li, .review-status, .review-status li, .kotoba-table-list .none-available > td, .see-more div, .quiz-input__question-type-container, .quiz-input__input-wrapper input, .quiz-input__input-wrapper button, #additional-content ul.additional-content__menu li > a, #wkof_ds .ui-dialog-titlebar, #wkof_ds .ui-dialog-content fieldset.wkof_group, #wkof_ds .ui-tabs-tab, #wki_button #wki_mimic_button,\n #wki_button .wki_item_wrapper,\n #wki_button .wki_button_item_label, [id|=qtip], [id|=qtip] .qtip-titlebar,\n [id|=qtip] .qtip-title, #lessons .ui-small .icon-minus,\n #reviews .ui-small .icon-minus, #lessons .ui .icon-minus,\n #reviews .ui .icon-minus, #lessons .ui-small .icon-plus,\n #reviews .ui-small .icon-plus, #lessons .ui .icon-plus,\n #reviews .ui .icon-plus, .progress-entries .popover, [aria-describedby=divSRSGridSettings] .ui-widget-header,\n [aria-describedby=ui-id-2] .ui-widget-header, [aria-describedby=divSRSGridSettings] .ui-widget-header button,\n [aria-describedby=divSRSGridSettings] .ui-widget-header .ui-button-icon,\n [aria-describedby=ui-id-2] .ui-widget-header button,\n [aria-describedby=ui-id-2] .ui-widget-header .ui-button-icon, #ss_quiz .help, #ss_quiz .qtype, #keisei_section .character-item {\n border: none !important; }\n\n .character-item *, .dropdown a, .dropdown i, .dropdown span, .dropdown li, [class*=\"rad\"] *, .dashboard a, .kotoba-table-list span, .kotoba-table-list time, .kotoba-table-list i, section[class^=lattice-] li > a *, .character-header__srs-container[data-went-up=\"true\"] .character-header__srs-content i, .character-header__srs-container[data-went-up=\"true\"] .character-header__srs-content div, .character-header__srs-container[data-went-up=\"false\"] .character-header__srs-content i, .character-header__srs-container[data-went-up=\"false\"] .character-header__srs-content div {\n color: inherit !important; }\n\n .highlight-reading, .reading-highlight, .quiz-input__question-type-container[data-question-type=\"reading\"] {\n background-color: /*[[review-reading-bg]]*/ !important; }\n\n .highlight-meaning, .meaning-highlight, .quiz-input__question-type-container[data-question-type=\"meaning\"] {\n background-color: /*[[review-meaning-bg]]*/ !important; }\n\n :root {\n --inverted-text-color: #434343;\n --kanji-color: /*[[kanji-color]]*/;\n --page-background: #31363b;\n --radical-color: /*[[radicals-color]]*/;\n --section-background: #232629;\n --text-color: #bcbcbc;\n --vocabulary-color: /*[[vocab-color]]*/;\n color-scheme: dark; }\n\n * {\n text-shadow: none !important; }\n\n body {\n color: #bcbcbc; }\n\n p, pre, strong, small, li, time, h1, h2, h3, h4, label, i {\n color: #bcbcbc !important; }\n\n a {\n color: #3daee9;\n text-shadow: none !important; }\n\n hr {\n border-color: #31363b !important; }\n\n footer a {\n color: #bcbcbc !important; }\n\n .bg-white {\n background-color: inherit; }\n\n [class^=\"border-gray\"] {\n border-color: #31363b; }\n\n .text-black {\n color: #bcbcbc !important; }\n\n .btn-danger {\n background-color: #da4453 !important;\n color: #434343 !important; }\n\n .audio-btn.audio-play::before {\n color: #bcbcbc; }\n .audio-btn.audio-unavailable::before {\n content: '⃠';\n font-weight: bold; }\n\n input[type=\"checkbox\"] {\n appearance: none;\n border: 1px solid #bcbcbc !important;\n border-radius: 3px !important;\n height: 18px !important;\n margin-right: 8px;\n vertical-align: text-top;\n width: 18px !important; }\n input[type=\"checkbox\"]:checked {\n border: 1px solid #1d99f3 !important;\n padding: 0 !important; }\n input[type=\"checkbox\"]:checked::after {\n background-color: #1d99f3 !important;\n border-radius: 1px;\n content: '';\n display: block;\n height: calc(100% - 4px);\n left: 2px;\n position: relative;\n top: 2px;\n width: calc(100% - 4px); }\n input[type=\"checkbox\"]:disabled {\n border-color: #565656 !important; }\n input[type=\"checkbox\"]:disabled::after {\n background-color: #565656 !important; }\n input[type=\"checkbox\"]:focus, input[type=\"checkbox\"]:hover {\n border-color: #96d0f9 !important; }\n input[type=\"checkbox\"]:focus::after, input[type=\"checkbox\"]:hover::after {\n background-color: #96d0f9 !important; }\n\n #user_password:focus {\n border-left: 2px solid #ed1515 !important;\n border-right: 2px solid #ed1515 !important; }\n\n #user_current_password:focus {\n border-left: 2px solid #f67400 !important;\n border-right: 2px solid #f67400 !important; }\n\n table {\n background-color: inherit !important;\n border-collapse: separate !important; }\n table tr {\n background-color: inherit !important;\n border-radius: 5px !important; }\n\n .alert {\n margin-left: auto;\n margin-right: auto;\n max-width: 92vw; }\n .alert h3, .alert a, .alert p, .alert span, .alert i, .alert time {\n color: inherit !important; }\n\n .alert-info {\n background-color: #ff8e2a !important;\n color: #434343 !important; }\n .alert-info h4 {\n color: #434343 !important; }\n\n .dashboard .system-alert,\n .alert-where-user-scripts-cant-ignore {\n background-color: #ff8e2a !important;\n color: #434343 !important; }\n .dashboard .system-alert h2, .dashboard .system-alert h3, .dashboard .system-alert i, .dashboard .system-alert p, .dashboard .system-alert time,\n .alert-where-user-scripts-cant-ignore h2,\n .alert-where-user-scripts-cant-ignore h3,\n .alert-where-user-scripts-cant-ignore i,\n .alert-where-user-scripts-cant-ignore p,\n .alert-where-user-scripts-cant-ignore time {\n color: inherit !important; }\n .dashboard .system-alert a,\n .alert-where-user-scripts-cant-ignore a {\n border-bottom-color: #434343 !important; }\n\n .reviews-alert::before {\n background-color: #ff8e2a !important;\n bottom: 17px !important;\n clip-path: polygon(100% 0%, 100% 100%, 0% 100%) !important;\n z-index: 3 !important; }\n\n .character-grid__items {\n background-color: #1e2123 !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n display: flex !important;\n flex-wrap: wrap !important;\n justify-content: center !important;\n padding: 5px !important; }\n .character-grid__items > li {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n margin: 5px !important; }\n .character-grid__items > li img {\n filter: unset !important;\n opacity: unset !important; }\n .character-grid__items > li .character-item--burned {\n filter: brightness(0.5) !important; }\n .character-grid__items > li .character-item--locked {\n filter: brightness(0.2) !important; }\n\n .dropdown:not(.open).radicals > [class*=\"toggle\"]:hover > span {\n border-color: /*[[radicals-color]]*/ !important; }\n .dropdown:not(.open).kanji > [class*=\"toggle\"]:hover > span {\n border-color: /*[[kanji-color]]*/ !important; }\n .dropdown:not(.open).vocabulary > [class*=\"toggle\"]:hover > span {\n border-color: /*[[vocab-color]]*/ !important; }\n .dropdown.open {\n background-color: #33383c !important; }\n .dropdown.open.radicals [class$=\"menu\"]::before, .dropdown.open.radicals [class$=\"menu\"]::after {\n border-bottom-color: /*[[radicals-color]]*/ !important;\n color: /*[[radicals-color]]*/ !important; }\n .dropdown.open.kanji [class$=\"menu\"]::before, .dropdown.open.kanji [class$=\"menu\"]::after {\n border-bottom-color: /*[[kanji-color]]*/ !important;\n color: /*[[kanji-color]]*/ !important; }\n .dropdown.open.vocabulary [class$=\"menu\"]::before, .dropdown.open.vocabulary [class$=\"menu\"]::after {\n border-bottom-color: /*[[vocab-color]]*/ !important;\n color: /*[[vocab-color]]*/ !important; }\n .dropdown.open [class*=\"toggle\"] {\n box-shadow: 1px 0 2px rgba(0, 0, 0, 0.7) inset, -1px 0 2px rgba(0, 0, 0, 0.7) inset !important; }\n .dropdown.open [class*=\"toggle\"] > span {\n border: 0.3em solid #232629 !important; }\n .dropdown.open > .dropdown-menu {\n top: 112% !important; }\n .dropdown.open > .dropdown-menu li:not(.nav-header) {\n background-color: inherit !important; }\n .dropdown.open > .dropdown-menu li:not(.nav-header) > a:hover {\n background-color: inherit !important;\n filter: brightness(0.8) !important; }\n .dropdown.open > .dropdown-menu::before, .dropdown.open > .dropdown-menu::after {\n border-bottom-color: #33383c !important;\n color: #33383c !important; }\n\n .dropdown-menu {\n background-color: inherit !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n .subject-legend .percentage-0-20 {\n background-color: #f47750 !important; }\n .subject-legend .percentage-21-40 {\n background-color: #c9ce3b !important; }\n .subject-legend .percentage-41-60 {\n background-color: #3daee9 !important; }\n .subject-legend .percentage-61-80 {\n background-color: #1d99f3 !important; }\n .subject-legend .percentage-81-100 {\n background-color: #1cdc9a !important; }\n .subject-legend .apprentice-lattice {\n color: #1d99f3 !important; }\n .subject-legend .guru-lattice {\n color: #1cdc9a !important; }\n .subject-legend .master-lattice {\n color: #c9ce3b !important; }\n .subject-legend .enlighten-lattice {\n color: #f67400 !important; }\n .subject-legend .burned-lattice {\n color: /*[[burned-color]]*/ !important; }\n .subject-legend ul span {\n color: #232629;\n margin-left: 1vh !important;\n margin-right: 1vh !important; }\n .subject-legend ul span.subject-legend__item-badge--locked {\n filter: brightness(0.2); }\n .subject-legend [class*=\"percentage\"],\n .subject-legend [class*=\"lattice\"] {\n filter: brightness(0.8) !important; }\n\n .navbar-inner {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 1030 !important;\n background-image: none !important; }\n\n .global-header {\n background: none;\n background-color: #232629;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7); }\n .global-header .logo {\n filter: brightness(80%) hue-rotate(226deg); }\n\n .navigation__toggle[data-expanded=\"true\"] {\n background-color: transparent; }\n\n .navigation-shortcut a {\n color: #bcbcbc; }\n .navigation-shortcut a span {\n background: transparent;\n color: #c9ce3b; }\n .navigation-shortcut[data-count=\"0\"] span {\n background: transparent;\n color: #bcbcbc; }\n\n .sitemap {\n background: #232629; }\n .sitemap--divider {\n border-top-color: #31363b; }\n .sitemap__grouped-pages, .sitemap__pages {\n background: #232629; }\n .sitemap__expandable-chunk {\n background-color: #232629 !important; }\n .sitemap__expandable-chunk::before {\n background: #232629; }\n .sitemap__expandable-chunk[class*=\"radical\"]::before {\n background: /*[[radicals-color]]*/; }\n .sitemap__expandable-chunk[class*=\"radical\"] * {\n color: inherit !important; }\n .sitemap__expandable-chunk[class*=\"radical\"] ul {\n background: transparent !important; }\n .sitemap__expandable-chunk[class*=\"kanji\"]::before {\n background: /*[[kanji-color]]*/; }\n .sitemap__expandable-chunk[class*=\"kanji\"] * {\n color: inherit !important; }\n .sitemap__expandable-chunk[class*=\"kanji\"] ul {\n background: transparent !important; }\n .sitemap__expandable-chunk[class*=\"vocabulary\"]::before {\n background: /*[[vocab-color]]*/; }\n .sitemap__expandable-chunk[class*=\"vocabulary\"] * {\n color: inherit !important; }\n .sitemap__expandable-chunk[class*=\"vocabulary\"] ul {\n background: transparent !important; }\n .sitemap__page a {\n color: #bcbcbc !important; }\n\n .page-list .page-list-header, .page-list .page-nav__header, .page-nav .page-list-header, .page-nav .page-nav__header {\n padding-left: 20px;\n width: 110px !important; }\n .page-list ul, .page-nav ul {\n align-items: center !important;\n display: flex !important;\n flex-wrap: wrap !important;\n padding: 5px !important; }\n .page-list li, .page-nav li {\n margin: 2px !important; }\n .page-list li > a, .page-nav li > a {\n background-color: #3daee9 !important;\n color: #434343 !important; }\n\n .popover .popover-title {\n opacity: inherit; }\n .popover .popover-content li {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n margin-bottom: 3px !important;\n margin-top: 3px !important; }\n .popover .popover-content li span {\n color: #31363b !important; }\n .popover .bar {\n background-color: #3daee9 !important;\n line-height: 100% !important; }\n .popover.srs .arrow,\n .popover.srs .arrow::after, .popover.lattice .arrow,\n .popover.lattice .arrow::after {\n border-right-color: #4d4d4d !important;\n opacity: inherit !important; }\n\n .progress, .progress-bar {\n align-items: center !important;\n background-color: #1e2123 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n display: flex !important;\n margin-bottom: 5px; }\n .progress > .progress-bar__bar, .progress-bar > .progress-bar__bar {\n background-color: #1d99f3 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n height: 50% !important;\n margin: 5px !important; }\n .progress > .progress-bar__bar > .progress-bar__label, .progress-bar > .progress-bar__bar > .progress-bar__label {\n background-color: #484848 !important;\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n color: #bcbcbc !important;\n height: 20px;\n top: -25px; }\n .progress > .progress-bar__bar > .progress-bar__label::after, .progress-bar > .progress-bar__bar > .progress-bar__label::after {\n border-top-color: #484848 !important; }\n .progress > .progress-bar__bar > .progress-bar__label::before, .progress-bar > .progress-bar__bar > .progress-bar__label::before {\n display: none; }\n\n #progress section {\n margin-left: 2vw !important;\n margin-right: 2vw !important; }\n\n #search #main-ico-search {\n top: unset; }\n\n .user-synonyms {\n margin-left: 5px; }\n .user-synonyms li, .user-synonyms i {\n color: #bcbcbc !important; }\n\n .user-synonyms-add-form input {\n padding-left: 5px !important; }\n .user-synonyms-add-form button {\n height: 1.8em !important;\n min-width: 1.8em !important; }\n\n .radical-icon--locked {\n filter: brightness(0.7); }\n\n .kanji-icon--locked {\n filter: brightness(0.7); }\n\n .vocabulary-icon--locked {\n filter: brightness(0.7); }\n\n .japanese-font-styling-correction,\n .enlarge-hover {\n color: #232629 !important; }\n\n [class*=\"highlight\"] {\n border-radius: 3px !important; }\n [class*=\"highlight\"] > span {\n color: #434343 !important; }\n\n .highlight-reading > span,\n .highlight-meaning > span,\n .reading-highlight > span,\n .meaning-highlight > span {\n color: #bcbcbc !important; }\n\n .highlight-radical::before, .radical-highlight::before {\n color: #bcbcbc; }\n .highlight-radical::after, .radical-highlight::after {\n border-top-color: #4d4d4d !important; }\n\n .highlight-kanji::before, .kanji-highlight::before {\n color: #bcbcbc; }\n .highlight-kanji::after, .kanji-highlight::after {\n border-top-color: #4d4d4d !important; }\n\n .highlight-vocabulary::before, .vocabulary-highlight::before {\n color: #bcbcbc; }\n .highlight-vocabulary::after, .vocabulary-highlight::after {\n border-top-color: #4d4d4d !important; }\n\n .highlight-reading::before, .reading-highlight::before {\n color: #bcbcbc; }\n .highlight-reading::after, .reading-highlight::after {\n border-top-color: #4d4d4d !important; }\n\n .highlight-meaning::before, .meaning-highlight::before {\n color: #bcbcbc; }\n .highlight-meaning::after, .meaning-highlight::after {\n border-top-color: #4d4d4d !important; }\n\n #main footer, #subscriptions footer, #public-profile footer, .site-footer-container footer {\n /*[[footer-image]]*/\n background-position: top !important; }\n #main footer li:last-child, #subscriptions footer li:last-child, #public-profile footer li:last-child, .site-footer-container footer li:last-child {\n background-color: #da4453 !important;\n border-bottom-right-radius: 5px !important;\n border-top-right-radius: 5px !important;\n color: #434343 !important; }\n #main footer li:last-child span, #subscriptions footer li:last-child span, #public-profile footer li:last-child span, .site-footer-container footer li:last-child span {\n color: #434343 !important; }\n #main footer a,\n #main footer a:hover, #subscriptions footer a,\n #subscriptions footer a:hover, #public-profile footer a,\n #public-profile footer a:hover, .site-footer-container footer a,\n .site-footer-container footer a:hover {\n padding-top: 10px !important;\n transition: none !important; }\n #main footer a:hover, #subscriptions footer a:hover, #public-profile footer a:hover, .site-footer-container footer a:hover {\n text-decoration: underline !important; }\n\n .individual-item section.collocation .subject-collocations__pattern-name, .subject-collocations .subject-collocations__pattern-name {\n border-radius: 0 !important; }\n .individual-item section.collocation .subject-collocations__pattern-name[aria-selected=\"true\"], .subject-collocations .subject-collocations__pattern-name[aria-selected=\"true\"] {\n background-color: #232629 !important; }\n .individual-item section.collocation .subject-collocations__patterns::after, .subject-collocations .subject-collocations__patterns::after {\n box-shadow: rgba(0, 0, 0, 0.7) 0 0 5px 0; }\n\n .account #user_lesson_batch_size {\n background-color: #232629 !important;\n border-color: #3daee9 !important; }\n\n .account-subscription .account-subscription-plan [type=\"button\"] {\n border-radius: 0 0 5px 5px !important; }\n .account-subscription .account-subscription-plan-active {\n border-color: #f67400 !important;\n box-shadow: 0 0 5px rgba(246, 116, 0, 0.5) !important; }\n .account-subscription .account-subscription-plan-active [type=\"button\"] {\n background: #f67400 !important; }\n .account-subscription form .control-group [type=\"text\"]:focus {\n border: none !important;\n box-shadow: 0 0 5px rgba(61, 174, 233, 0.5) !important; }\n\n .account-subscription-payment-submit button {\n background-color: #f67400 !important;\n border-radius: 5px !important;\n box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.7);\n color: #434343 !important; }\n .account-subscription-payment-submit [type=submit]:disabled {\n background-color: #f67400 !important;\n border-radius: 5px !important;\n box-shadow: 0 0 5px rgba(246, 116, 0, 0.5); }\n\n #account-subscription-coupon-form #coupon:focus {\n border: none !important;\n box-shadow: 0 0 5px rgba(61, 174, 233, 0.5) !important; }\n\n .account-subscription-details-total {\n color: #bcbcbc !important; }\n .account-subscription-details-total sup {\n color: #bcbcbc !important; }\n\n .account-subscription-details table tr.account-subscription-details-total th, .account-subscription-details table tr.account-subscription-details-total td, .account-subscription-details table tr.account-subscription-details-total td.account-subscription-details-plan-edit {\n border-color: #bcbcbc !important; }\n .account-subscription-details table tr.account-subscription-details-total td {\n border-bottom: 2px solid !important; }\n\n .account-billing div.bg-default .text-gray-900, .account-billing div.bg-gray-100 .text-gray-900 {\n color: #bcbcbc; }\n\n .api h3 {\n font-weight: bold !important; }\n .api pre {\n background-color: #31363b !important; }\n .api code {\n background-color: #31363b !important;\n border: none !important; }\n\n .dashboard .progress-and-forecast {\n grid-gap: 1rem 1.5rem;\n grid-template-rows: max-content auto; }\n .dashboard .progress-and-forecast section {\n margin: 0; }\n .dashboard .progress-and-forecast .review-forecast__empty-image {\n filter: invert(0.85) !important; }\n .dashboard .dashboard-sub-section {\n margin: 0 !important; }\n .dashboard .row .span12 .row {\n align-items: stretch;\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 20px !important; }\n @media (max-width: 767px) {\n .dashboard .row .span12 .row .span4:nth-child(2) {\n margin-bottom: 20px !important;\n margin-top: 20px !important; } }\n .dashboard .row .span12 + .span12 {\n margin-bottom: 20px !important;\n margin-top: 0 !important; }\n\n .newbie hr {\n border-bottom-color: #31363b !important;\n border-top-color: #31363b !important; }\n\n .lessons-and-reviews__button {\n background-size: auto 135px; }\n .lessons-and-reviews__button span {\n background-color: transparent; }\n .lessons-and-reviews__lessons-button--1 span, .lessons-and-reviews__lessons-button--100 span, .lessons-and-reviews__reviews-button--1 span, .lessons-and-reviews__reviews-button--100 span {\n color: #c9ce3b; }\n\n .review-forecast__day {\n border-bottom: 1px solid #31363b;\n border-radius: 0; }\n .review-forecast__day-header::before, .review-forecast__day-header::after {\n display: none; }\n .review-forecast__day-label {\n border-bottom: 1px solid #31363b;\n border-radius: 0;\n padding-bottom: 0.5rem; }\n .review-forecast__day.is-collapsed .review-forecast__day-label {\n background-color: transparent;\n border-bottom-width: 0;\n padding-bottom: 0; }\n .review-forecast__hour {\n background-color: #31363b !important;\n border-radius: 0 !important;\n padding-bottom: 0; }\n .review-forecast__hour th, .review-forecast__hour td {\n border-color: #31363b; }\n .review-forecast__change {\n border-right-color: #31363b; }\n\n .srs-progress ul > li:not(:last-child) {\n border-right: 1px solid #31363b; }\n .srs-progress ul > #apprentice > span {\n color: #1d99f3 !important; }\n .srs-progress ul > #guru > span {\n color: #1cdc9a !important; }\n .srs-progress ul > #master > span {\n color: #c9ce3b !important; }\n .srs-progress ul > #enlightened > span {\n color: #f67400 !important; }\n .srs-progress ul > #burned > span {\n color: /*[[burned-color]]*/ !important; }\n\n .dashboard-progress .progress-bar {\n background-color: #1e2123;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset;\n height: 1.5rem; }\n .dashboard-progress .progress-bar__progress, .dashboard-progress .progress-bar__label {\n height: 1rem;\n margin: 0.25rem; }\n .dashboard-progress .progress-bar__label, .dashboard-progress .progress-bar__extra-label {\n color: #434343 !important;\n font-size: 0.8rem;\n line-height: 1.2; }\n .dashboard-progress .progress-entries {\n color: #434343 !important; }\n\n .kotoba-table-list {\n display: flex !important;\n flex-direction: column !important;\n margin-bottom: 0 !important;\n margin-top: 0 !important;\n min-height: 100%;\n position: relative !important; }\n .kotoba-table-list table {\n margin-bottom: 38px !important; }\n .kotoba-table-list table tr:hover {\n filter: brightness(0.8) !important; }\n .kotoba-table-list .none-available > td div {\n border-color: #31363b !important; }\n .kotoba-table-list .none-available > td i::before {\n color: #31363b !important; }\n .kotoba-table-list .none-available:hover {\n filter: none !important; }\n .kotoba-table-list .see-more {\n bottom: 0 !important;\n position: absolute !important;\n width: 100% !important; }\n\n .forum-topics-list,\n .blog {\n margin-bottom: 0 !important;\n margin-top: 0 !important; }\n .forum-topics-list tr:hover,\n .blog tr:hover {\n filter: brightness(0.8) !important; }\n .forum-topics-list h3.invert,\n .blog h3.invert {\n filter: none; }\n\n .see-more a {\n background-color: #1c1e21 !important;\n border-radius: 0 0 5px 5px !important;\n box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.7) !important;\n margin-top: 3px !important; }\n\n .extra-study .rounded-full {\n color: #bcbcbc; }\n .extra-study img {\n filter: invert(0.85) !important; }\n\n .individual-item .level-icon {\n background-color: #232629 !important; }\n .individual-item .span12 > section {\n padding: 10px !important; }\n .individual-item section > h2 {\n border-bottom: 1px solid #4d4d4d !important; }\n .individual-item h2 {\n color: #bcbcbc !important; }\n .individual-item + section {\n margin-left: auto !important;\n margin-right: auto !important;\n width: 1170px !important; }\n @media (min-width: 979px) and (max-width: 1199px) {\n .individual-item + section {\n width: 940px !important; } }\n @media (min-width: 767px) and (max-width: 979px) {\n .individual-item + section {\n width: 724px !important; } }\n @media (max-width: 767px) {\n .individual-item + section {\n width: calc(100% - 40px) !important; } }\n .individual-item + section [class$=-streak] span {\n background-color: inherit !important; }\n\n section[class^=lattice-] {\n padding: 10px; }\n section[class^=lattice-] ul {\n display: flex !important;\n flex-wrap: wrap !important;\n justify-content: center !important; }\n section[class^=lattice-] li {\n margin: 1vh 10px !important; }\n section[class^=lattice-] li > a {\n filter: brightness(0.8) !important; }\n section[class^=lattice-] [data-sorted] .percentage-0-20 {\n color: #f47750 !important; }\n section[class^=lattice-] [data-sorted] .percentage-21-40 {\n color: #c9ce3b !important; }\n section[class^=lattice-] [data-sorted] .percentage-41-60 {\n color: #3daee9 !important; }\n section[class^=lattice-] [data-sorted] .percentage-61-80 {\n color: #1d99f3 !important; }\n section[class^=lattice-] [data-sorted] .percentage-81-100 {\n color: #1cdc9a !important; }\n section[class^=lattice-] [data-sorted] .apprentice-lattice {\n color: #1d99f3 !important; }\n section[class^=lattice-] [data-sorted] .guru-lattice {\n color: #1cdc9a !important; }\n section[class^=lattice-] [data-sorted] .master-lattice {\n color: #c9ce3b !important; }\n section[class^=lattice-] [data-sorted] .enlighten-lattice {\n color: #f67400 !important; }\n section[class^=lattice-] [data-sorted] .burned-lattice {\n color: /*[[burned-color]]*/ !important; }\n\n .level-icon {\n color: #bcbcbc !important; }\n\n .next a, .previous a {\n color: #bcbcbc !important; }\n\n .alt-character-list a {\n color: #bcbcbc !important; }\n\n .character-item__badge {\n color: #232629 !important; }\n\n section.character-grid {\n padding: 10px; }\n section.character-grid header {\n margin-bottom: 5px; }\n\n #explanation .bg-angled {\n background-color: #31363b !important; }\n\n .explanation-item-mnemonics,\n .explanation-item-radicals,\n .explanation-item-kanji,\n .explanation-item-vocabulary,\n .explanation-item-lessons-reviews,\n .explanation-item-srs {\n color: #bcbcbc !important; }\n\n #slide-navigation {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 9 !important;\n background-image: none !important;\n background-color: #31363b !important; }\n #slide-navigation li a::after {\n border-bottom-color: #232629 !important;\n bottom: -20px !important;\n color: #232629 !important; }\n\n .subject-slide__navigation:hover {\n filter: brightness(0.8) !important; }\n .subject-slide__navigation div, .subject-slide__navigation i {\n background-color: #232629 !important; }\n\n .subject-slide {\n color: #bcbcbc;\n margin-top: 20px !important; }\n .subject-slide h2 {\n border-bottom-color: #31363b !important; }\n\n .lesson-container__queue {\n justify-content: unset !important; }\n\n .subject-character .subject-character__meaning {\n color: #bcbcbc; }\n\n .subject-collocations .subject-collocations__pattern-name[aria-selected=\"true\"] {\n background-color: #1c1e21 !important; }\n\n .character-header {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 10 !important;\n background-image: none !important; }\n .character-header.character-header--radical .character-header__content {\n background-color: inherit !important;\n color: inherit !important; }\n .character-header.character-header--radical .character-header__content .character-header__characters {\n background-color: inherit !important;\n color: inherit !important; }\n .character-header.character-header--kanji .character-header__content {\n background-color: inherit !important;\n color: inherit !important; }\n .character-header.character-header--kanji .character-header__content .character-header__characters {\n background-color: inherit !important;\n color: inherit !important; }\n .character-header.character-header--vocabulary .character-header__content {\n background-color: inherit !important;\n color: inherit !important; }\n .character-header.character-header--vocabulary .character-header__content .character-header__characters {\n background-color: inherit !important;\n color: inherit !important; }\n\n .components-list .component-character__meaning {\n color: #bcbcbc !important; }\n .components-list li::after {\n text-shadow: none !important; }\n\n form.user-note__form a.user-note__button {\n color: #bcbcbc; }\n\n .character-header__menu {\n color: #fcfcfc !important; }\n .character-header__menu div, .character-header__menu i, .character-header__menu .summary-button {\n color: inherit !important; }\n\n .quiz-input__question-type-container {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 9 !important;\n background-image: none !important; }\n\n .character-header__srs-container[data-went-up=\"true\"] .character-header__srs-content {\n background-color: #232629;\n color: #2ecc71 !important; }\n\n .character-header__srs-container[data-went-up=\"false\"] .character-header__srs-content {\n background-color: #232629;\n color: #ed1515 !important; }\n\n .quiz-input__input-wrapper {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 8 !important;\n background-image: none !important; }\n .quiz-input__input-wrapper .quiz-input__input-container {\n padding: 0 !important; }\n .quiz-input__input-wrapper .quiz-input__input-container[correct=\"true\"] input[type=text][enabled=false] {\n background-color: #2ecc71 !important; }\n .quiz-input__input-wrapper .quiz-input__input-container[correct=\"false\"] input[type=text][enabled=false] {\n background-color: #ed1515 !important; }\n .quiz-input__input-wrapper input {\n border-radius: 0 !important;\n color: #fcfcfc !important; }\n .quiz-input__input-wrapper button i {\n color: #fcfcfc !important; }\n\n #additional-content {\n background-color: #31363b !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 6 !important;\n background-image: none !important;\n height: 50px !important;\n margin: 0 !important;\n padding: 0 !important; }\n #additional-content ul.additional-content__menu {\n align-items: center !important;\n display: flex !important;\n height: 100% !important;\n margin: 0 !important; }\n #additional-content ul.additional-content__menu .additional-content__item--wrap-up.additional-content__item--active span, #additional-content ul.additional-content__menu .additional-content__item--wrap-up.additional-content__item--active span:hover::before, #additional-content ul.additional-content__menu .additional-content__item--wrap-up.additional-content__item--active span::before {\n background-color: #31363b !important; }\n #additional-content ul.additional-content__menu .additional-content__item--wrap-up.additional-content__item--active strong, #additional-content ul.additional-content__menu .additional-content__item--wrap-up.additional-content__item--active i {\n text-shadow: 0 0 10px #f47750 !important; }\n #additional-content ul.additional-content__menu li > a {\n z-index: 7 !important; }\n #additional-content ul.additional-content__menu li > a::after {\n border-bottom-color: #232629 !important;\n bottom: -25px !important;\n color: #232629 !important; }\n #additional-content ul.additional-content__menu li > a [class*=\"-icon\"] {\n box-shadow: none !important; }\n\n .answer-exception {\n background-color: #4d4d4d !important;\n border-radius: 5px;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n .answer-exception::before {\n display: none !important; }\n\n #last-items li a {\n background-color: #31363b !important;\n color: #bcbcbc; }\n #last-items li a .last-item__label {\n opacity: 0.4; }\n #last-items li a .last-item__value {\n color: inherit; }\n\n #information {\n color: #bcbcbc;\n z-index: 8 !important; }\n\n #subject-info h2 {\n border-bottom-color: #31363b !important; }\n #subject-info h2 a {\n color: #bcbcbc !important; }\n\n aside.wk-hint, aside.subject-hint {\n margin-right: 2px; }\n\n #kana-chart .kana-chart__tabs {\n border-bottom: 1px solid #31363b !important; }\n #kana-chart .kana-chart__tab--selected {\n border-bottom: none !important;\n border-left: 1px solid #31363b !important;\n border-right: 1px solid #31363b !important;\n border-top: 1px solid #31363b !important; }\n #kana-chart .kana-chart__tab {\n border-radius: 0 !important; }\n #kana-chart .kana-chart__tab:hover {\n background-color: #232629 !important;\n filter: brightness(0.8) !important; }\n\n #last-items[busy]::after, #subject-info[busy]::after {\n background-color: #232629 !important; }\n\n .avatar {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important; }\n .avatar img {\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n\n .user-info {\n background-color: #232629 !important;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.7), 0 2px 2px rgba(0, 0, 0, 0.7) !important;\n position: relative !important;\n z-index: 10 !important;\n background-image: none !important; }\n .user-info::after {\n border-bottom-color: #232629 !important; }\n\n .wall-of-shame h3 > span {\n background-color: #232629 !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important; }\n\n /*[[review-char-bg]]*/\n #wkof_ds .ui-dialog-titlebar {\n border-bottom: 1px solid #232629 !important;\n border-radius: 0;\n color: #bcbcbc !important; }\n #wkof_ds .ui-dialog-buttonpane {\n border-top: 1px solid #232629 !important; }\n #wkof_ds .ui-dialog-content fieldset.wkof_group legend:nth-child(1) {\n color: #bcbcbc;\n float: left;\n margin-bottom: 10px; }\n #wkof_ds .ui-dialog-content fieldset.wkof_group legend:nth-child(1) + * {\n clear: both; }\n #wkof_ds .ui-dialog-content fieldset.wkof_group + fieldset.wkof_group {\n border-radius: 0;\n border-top: 1px solid #232629 !important; }\n #wkof_ds .ui-dialog-content section {\n color: #bcbcbc; }\n #wkof_ds .ui-dialog-content hr {\n border-bottom-width: 0;\n border-top-color: #232629 !important; }\n #wkof_ds .ui-dialog-content .row .left {\n line-height: 2em; }\n #wkof_ds .ui-dialog-content .row .right {\n line-height: 2em; }\n #wkof_ds .ui-icon {\n background-image: url(\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/images/ui-icons_888888_256x240.png\") !important;\n box-shadow: none !important; }\n #wkof_ds .ui-tabs-nav {\n border-bottom: 1px solid #232629 !important;\n margin-bottom: 0 !important; }\n #wkof_ds .ui-tabs-active {\n background-color: #232629 !important;\n border-radius: 5px 5px 0 0; }\n #wkof_ds .ui-tabs-anchor {\n color: #bcbcbc !important; }\n #wkof_ds .ui-widget-content {\n color: #bcbcbc; }\n\n #turbo-body #scripts-menu ul {\n background-color: #232629 !important;\n color: #bcbcbc !important;\n z-index: 100; }\n #turbo-body #scripts-menu li:not(.scripts-header) {\n transition: background 0.2s; }\n #turbo-body #scripts-menu li:not(.scripts-header):hover {\n background-color: rgba(255, 255, 255, 0.2) !important; }\n #turbo-body #scripts-menu .dropdown-menu .dropdown-menu {\n margin-left: 5px; }\n\n #wki_button {\n border-color: #232629 !important;\n border-right: 1px solid !important; }\n\n [id|=qtip] {\n background-color: #232629 !important; }\n\n [id|=qtip] .qtip-titlebar,\n [id|=qtip] .qtip-title {\n background-color: #1d99f3 !important; }\n\n #wki_settings_cancel,\n #wki_settings_save {\n background-color: #232629 !important; }\n\n #wki_settings_button_label_bgcolor,\n #wki_settings_button_label_textcolor,\n #wki_settings_timer_show_next_item {\n background-color: #232629 !important; }\n\n [id|=qtip] .qtip-tip,\n [id|=qtip] canvas {\n color: #232629 !important; }\n\n #lessons .ui-small .icon-minus,\n #reviews .ui-small .icon-minus, #lessons .ui .icon-minus,\n #reviews .ui .icon-minus, #lessons .ui-small .icon-plus,\n #reviews .ui-small .icon-plus, #lessons .ui .icon-plus,\n #reviews .ui .icon-plus {\n background-color: #bcbcbc !important; }\n\n #lessons .ui,\n #reviews .ui {\n margin: 10px !important;\n padding: 10px !important; }\n #lessons .ui #quick-next,\n #reviews .ui #quick-next {\n color: #4d4d4d !important; }\n #lessons .ui #quick-next.active,\n #reviews .ui #quick-next.active {\n color: #bcbcbc !important; }\n #lessons .ui #quick-next.active::before,\n #reviews .ui #quick-next.active::before {\n text-shadow: 0 0 10px rgba(61, 174, 233, 0.5) !important; }\n #lessons .ui ul item,\n #reviews .ui ul item {\n background-color: #31363b !important; }\n\n #timeline {\n padding: 0.5rem !important; }\n #timeline .graph_panel {\n overflow: hidden !important; }\n #timeline .graph .bkgd {\n fill: transparent; }\n #timeline .graph .label-x > text,\n #timeline .graph .label-y > text,\n #timeline .graph .markers > path {\n fill: #bcbcbc; }\n #timeline .graph .markers > .bur {\n fill: #31363b !important; }\n #timeline .graph .rad {\n fill: /*[[radicals-color]]*/ !important; }\n #timeline .graph .kan {\n fill: /*[[kanji-color]]*/ !important; }\n #timeline .graph .voc {\n fill: /*[[vocab-color]]*/ !important; }\n #timeline .review_info .detail_buttons > button {\n margin-bottom: 0.3em; }\n #timeline .review_info .summary .item_type:first-child,\n #timeline .review_info .summary .srs_stage:nth-child(4),\n #timeline .review_info .summary .level:nth-child(8) {\n border-top-left-radius: 0.3em;\n border-top-right-radius: 0.3em; }\n #timeline .review_info .summary .item_type:nth-child(3),\n #timeline .review_info .summary .srs_stage:nth-child(7),\n #timeline .review_info .summary .level:nth-child(13) {\n border-bottom-left-radius: 0.3em;\n border-bottom-right-radius: 0.3em; }\n #timeline .review_info .tot {\n color: #bcbcbc !important; }\n #timeline .review_info .bur {\n background: #31363b !important; }\n #timeline .review_info .item_type > span {\n color: #232629 !important; }\n #timeline .review_info .rad svg {\n stroke: #232629; }\n\n .progression .lattice-single-character li > a[data-srs-lvl=\"5\"], .progression .lattice-single-character li > a[data-srs-lvl=\"6\"], .progression .lattice-single-character li > a[data-srs-lvl=\"7\"], .progression .lattice-single-character li > a[data-srs-lvl=\"8\"], .progression .lattice-single-character li > a[data-srs-lvl=\"9\"], .progression .lattice-single-character li > a[data-srs-lvl=\"10\"] {\n filter: brightness(0.5) !important; }\n\n .progression .lattice-single-character ul > .pct90 {\n background-color: #31363b !important; }\n\n .progress-entries .popover {\n color: #bcbcbc; }\n .progress-entries .popover.left .arrow, .progress-entries .popover.left .arrow::after {\n border-left-color: #4d4d4d; }\n .progress-entries .popover.right .arrow, .progress-entries .popover.right .arrow::after {\n border-right-color: #4d4d4d; }\n .progress-entries .progress-entry.pct90 {\n background-color: #4d4d4d; }\n\n [aria-describedby=divSRSGridSettings] .ui-dialog-content input, [aria-describedby=divSRSGridSettings] .ui-dialog-content select,\n [aria-describedby=ui-id-2] .ui-dialog-content input,\n [aria-describedby=ui-id-2] .ui-dialog-content select {\n min-width: 250px !important; }\n\n #WKO_button {\n background-color: #ed1515 !important;\n color: #434343 !important; }\n\n #answer-form fieldset.WKO_ignored input[type=\"text\"]:disabled,\n #answer-form fieldset.WKO_ignored button {\n background-color: #f67400 !important; }\n\n #item_marker_body h3 {\n color: #434343 !important; }\n #item_marker_body #item_marker_settings {\n padding: 5px !important; }\n\n #marked_items {\n padding: 10px !important; }\n #marked_items #marked_items_buttons > button {\n margin-right: 10px !important; }\n #marked_items #marked_items_list {\n display: flex !important;\n flex-wrap: wrap !important; }\n #marked_items #marked_items_list > a {\n margin: 5px 5px 0 0 !important; }\n #marked_items #marked_items_list > a:hover {\n text-decoration: none !important; }\n\n .wklc {\n justify-content: space-around !important;\n margin: 1em 1.3em !important; }\n .wklc .wklc-items {\n margin: 0 !important; }\n .wklc .wklc-item {\n color: #bcbcbc !important;\n min-width: 2em !important;\n padding: 0 0.2em; }\n .wklc [class*=apprentice] {\n color: #1d99f3 !important; }\n .wklc [class*=guru] {\n color: #1cdc9a !important; }\n .wklc [class*=master] {\n color: #c9ce3b !important; }\n .wklc [class*=enlightened] {\n color: #f67400 !important; }\n .wklc .wklc-apprentice1,\n .wklc .wklc-guru1 {\n filter: saturate(1) !important; }\n .wklc .wklc-apprentice2,\n .wklc .wklc-guru2 {\n filter: saturate(0.5) !important; }\n .wklc .wklc-apprentice3,\n .wklc .wklc-guru3 {\n filter: saturate(0.33333) !important; }\n .wklc .wklc-apprentice4,\n .wklc .wklc-guru4 {\n filter: saturate(0.25) !important; }\n\n svg#stroke_order {\n filter: invert(80%) !important;\n opacity: 0.5 !important; }\n\n #ss_quiz {\n padding: 0.5rem !important; }\n #ss_quiz .quiz-progress {\n align-items: center !important;\n background-color: #1e2123 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important;\n height: 1rem !important; }\n #ss_quiz .quiz-progress .quiz-progress-bar {\n background-color: #1d99f3 !important;\n border-radius: 10px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important;\n height: 50% !important;\n margin: 5px !important;\n position: relative;\n top: 25%; }\n #ss_quiz .help {\n color: #3daee9 !important; }\n #ss_quiz .qtype {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7) inset, 2px 2px 2px rgba(0, 0, 0, 0.7) inset !important; }\n #ss_quiz .reading {\n background-color: /*[[review-reading-bg]]*/ !important; }\n #ss_quiz .meaning {\n background-color: /*[[review-meaning-bg]]*/ !important; }\n #ss_quiz .answer {\n margin-top: 0.5rem !important;\n padding: 0 !important; }\n #ss_quiz[data-result=\"correct\"] .answer input {\n background-color: #2ecc71 !important;\n color: #fcfcfc !important; }\n #ss_quiz[data-result=\"incorrect\"] .answer input {\n background-color: #ed1515 !important;\n color: #fcfcfc !important; }\n\n .vocabulary-progress li > a, .vocabulary-progress li > div {\n font-size: 1.1em !important; }\n .vocabulary-progress li > li {\n background-color: #1478ac !important;\n border-color: transparent !important; }\n .vocabulary-progress ul li:nth-child(2) a, .vocabulary-progress ul li:nth-child(2) div {\n background-color: #17191b !important;\n color: #bcbcbc !important; }\n\n #keisei_section table {\n box-sizing: border-box !important;\n width: 100% !important; }\n #keisei_section table li {\n box-sizing: inherit !important; }\n #keisei_section .single-character-grid {\n border: 0 !important; }\n #keisei_section .keisei_chargrid_header,\n #keisei_section .keisei_chargrid_compounds {\n width: auto !important; }\n #keisei_section .keisei_chargrid_header .character-item,\n #keisei_section .keisei_chargrid_compounds .character-item {\n width: 116px !important; }\n @media (max-width: 767px) {\n #keisei_section .keisei_chargrid_header .character-item,\n #keisei_section .keisei_chargrid_compounds .character-item {\n width: auto !important; } }\n #keisei_section #keisei_phonetic_grid td > li {\n margin-bottom: 10px !important;\n margin-left: 5px !important;\n margin-right: 5px !important;\n margin-top: 5px !important; }\n #keisei_section #keisei_phonetic_grid td > li:last-child {\n margin-bottom: 5px !important; }\n #keisei_section .character-item {\n border-radius: 5px !important;\n box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7), 2px 2px 2px rgba(0, 0, 0, 0.7) !important; }\n #keisei_section [id^=phonetic] {\n background-color: #11d116 !important;\n color: #232629 !important; }\n #keisei_section [id^=nonphonetic] {\n background-color: #da4453 !important;\n color: #232629 !important; }\n #keisei_section .keisei_style_reading_notInWK {\n color: dimgray !important; }\n\n #keisei_modal_settings .modal-header,\n #keisei_modal_info .modal-header {\n border-bottom: 1px solid #31363b !important; }\n #keisei_modal_settings .modal-footer,\n #keisei_modal_info .modal-footer {\n background-color: inherit !important;\n border-top: 1px solid #31363b !important; }\n\n .wkof_group.filters .row {\n border-color: #232629 !important; }\n .wkof_group.filters .row.checked {\n background-color: #232629 !important; }\n .wkof_group.filters .row .enable {\n line-height: 30px; }\n .wkof_group.filters .row .enable input {\n vertical-align: text-bottom; }\n\n #wkofs_advSearchFilters button {\n height: 1.8em; }\n #wkofs_advSearchFilters button > a {\n color: #bcbcbc !important; }\n\n header #level-duration {\n line-height: 10px;\n margin-bottom: -10px; } }\n\n/*# sourceMappingURL=main.css.map */\n\n\n", 571 586 "usercssData": { 572 587 "name": "WaniKani Breeze Dark", 573 - "version": "1.3.18", 588 + "version": "1.4.2", 574 589 "namespace": "valeth.info", 575 590 "license": "GPL-3.0", 576 591 "description": "Dark theme for the WaniKani kanji learning website.", ··· 665 680 { 666 681 "name": "review-char-bg-colored", 667 682 "label": "Colorful, Rainbows, Rainbows EVERYWHERE!", 668 - "value": "#main-info.vocabulary, #reviews #character.vocabulary {\n background-color: /*[[vocab-color]]*/ !important;\n color: #232629 !important;\n }\n #main-info.kanji, #reviews #character.kanji {\n background-color: /*[[kanji-color]]*/ !important;\n color: #232629 !important;\n }\n #main-info.radical, #reviews #character.radical {\n background-color: /*[[radicals-color]]*/ !important;\n color: #232629 !important;\n }\n #main-info.vocabulary #character, #main-info.kanji #character,\n #main-info.radical #character, #main-info #meaning,\n #reviews #character, #stats, #summary-button, #header-buttons {\n color: #232629 !important;\n }" 683 + "value": ".character-header.character-header--vocabulary {\n background-color: /*[[vocab-color]]*/ !important;\n color: #232629 !important;\n }\n .character-header.character-header--kanji {\n background-color: /*[[kanji-color]]*/ !important;\n color: #232629 !important;\n }\n .character-header.character-header--radical {\n background-color: /*[[radicals-color]]*/ !important;\n color: #232629 !important;\n }\n .character-header__menu {\n color: #232629 !important;\n }" 669 684 } 670 685 ] 671 686 } ··· 675 690 "author": "Valeth", 676 691 "description": "Dark theme for the WaniKani kanji learning website.", 677 692 "name": "WaniKani Breeze Dark", 678 - "originalDigest": "a1e027f88f722403f1ffac09ffdfbdbe61f22545", 693 + "originalDigest": "79443570f7cc00cc50744c785a81a8d7eb3c0094", 679 694 "_id": "8b7ed496-5060-433a-ab23-070af81beeb3", 680 - "_rev": 1662481681840, 695 + "_rev": 1718199046666, 681 696 "id": 8, 682 - "updateDate": 1662481681830, 683 - "etag": "\"5ba98cbbc7dcb69a08692e8b929f7fe404bbe86b0d20c6feaceebb9ddee0bed6\"" 697 + "updateDate": 1685978205329, 698 + "etag": "\"f831d90ac8c992ec1ffb0225462b14fbf7154295b7ca45559ba059f5de9414c9\"", 699 + "preferScheme": "dark" 684 700 }, 685 701 { 686 702 "enabled": true, 687 703 "updateUrl": "https://raw.githubusercontent.com/33kk/uso-archive/flomaster/data/usercss/153739.user.css", 688 - "url": "https://33kk.github.io/uso-archive/?style=153739", 689 704 "installDate": 1581004873525, 690 705 "sections": [ 691 706 { ··· 696 711 "originalDigest": "ebbe6645bdaac4dfe92c48409825522c920b44a6", 697 712 "id": 9, 698 713 "_id": "da5bf597-7e48-4d61-b5a2-9995347a7188", 699 - "_rev": 1614451696868, 714 + "_rev": 1718198618932, 700 715 "etag": "W/\"bd292ba24caa8cf1fa80299fa6a4743f4a1469618e9f2c5492166691c2b9fc38\"", 701 716 "sourceCode": "/* ==UserStyle==\n@name Stylus Dark - ShadowFox\n@namespace USO Archive\n@author overdodactyl\n@description `This theme is specifically designed to match the dark mode used by Firefox's inspector and browser toolbox (background colors, text colors in the editor, fonts etc.). Additionally, it is meant to compliment [ShadowFox](https://github.com/overdodactyl/ShadowFox) - a universal dark theme for Firefox. Hosted on GitHub (please submit any issues there): https://github.com/overdodactyl/Stylus-Dark`\n@version 20180914.23.40\n@license CC-BY-SA-4.0\n@preprocessor uso\n==/UserStyle== */\n@-moz-document regexp(\"chrome-extension://.*\"),\nregexp(\"moz-extension://.*\") {\n /*! Stylus-Dark v1.3 (2018-09-14)\n Repository: https://github.com/overdodactyl/Stylus-Dark\n License: https://creativecommons.org/licenses/by-sa/4.0/\n\n Code Mirror based on Firefox\n*/\n #notes,\n body {\n background: #38383d!important;\n color: #b1b1b3!important\n }\n #header {\n color: silver!important;\n background: #2a2a2e!important;\n border-style: none!important\n }\n #stylus-popup {\n background: #4a4a4f!important;\n color: silver!important\n }\n #hotkey-info[data-active] {\n border-left: 2px solid #2a2a2e!important\n }\n #hotkey-info div {\n border-top: 1px solid #2a2a2e!important;\n background-color: #2a2a2e!important\n }\n #help-popup,\n #sections,\n .newUI .target {\n color: #b1b1b3!important\n }\n #help-popup,\n #message-box > div,\n #message-box-buttons,\n #message-box-title,\n body {\n background: #2a2a2e!important\n }\n .search-result {\n background: #4a4a4f!important;\n border-color: #737373!important\n }\n .search-result:hover {\n border-color: #b1b1b3!important\n }\n .search-result-meta {\n background-color: #4a4a4f!important;\n color: #b1b1b3!important\n }\n button,\n input:not([type]),\n select {\n font-family: arial,sans-serif!important\n }\n input[type=checkbox]:not(.slider) {\n background: #38383d!important\n }\n .applies-to li,\n .firefox select,\n input {\n background-color: #38383d!important;\n color: silver!important;\n border: 1px solid #4a4a4f!important\n }\n .filter-selection select {\n background-color: transparent!important;\n border: none!important\n }\n #filters .filter-selection:hover {\n background-color: transparent!important\n }\n button {\n background: #2a2a2e!important;\n border: 1px solid #484848!important;\n color: silver!important;\n border-radius: 3px!important\n }\n .svg-icon.checked {\n fill: #45a1ff!important\n }\n button:hover {\n color: #45a1ff!important\n }\n a,\n a:visited {\n color: #e1e1e1!important\n }\n #save-button:after {\n content: 'd'!important\n }\n body.dirty #save-button:after {\n content: '?'!important\n }\n .newUI .entry:hover .svg-icon:hover,\n .svg-icon:hover {\n fill: #45a1ff!important\n }\n #message-box.danger #message-box-title {\n background-color: #b22222!important\n }\n .newUI .can-update .update,\n .newUI .no-update:not(.update-problem):not(.update-done) .up-to-date {\n color: #000!important\n }\n .svg-icon {\n fill: #b1b1b3!important\n }\n #url {\n filter: invert(65%)!important\n }\n .CodeMirror-gutters {\n color: #b1b1b3!important\n }\n .newUI .entry {\n background: #38383d!important\n }\n .newUI .entry:hover {\n background: #2a2a2e!important\n }\n .disabled h2::after {\n border: 1px solid #444!important\n }\n .svg-icon.select-arrow {\n fill: silver!important\n }\n .newUI .entry .style-name:hover::before {\n background: 0 0!important\n }\n body.all-styles-hidden-by-filters::after,\n body.all-styles-hidden-by-filters::before {\n color: #45a1ff!important\n }\n .active #filters-stats {\n background-color: #45a1ff!important;\n border-color: #45a1ff!important\n }\n #reset-filters {\n fill: #45a1ff!important\n }\n .CodeMirror {\n border: 1px solid #4a4a4f;\n border-radius: 4px!important\n }\n .Codemirror-hints {\n background: #353b48!important;\n border-color: #737373!important\n }\n .Codemirror-hint {\n color: #d7d7db!important\n }\n .CodeMirror {\n background: #2a2a2e!important;\n color: #b1b1b3!important\n }\n div.CodeMirror-selected {\n background: #353b48!important\n }\n .CodeMirror-line > span > span::selection,\n .CodeMirror-line > span::selection,\n .CodeMirror-line::selection {\n background: #353b48!important\n }\n .CodeMirror-line > span > span::-moz-selection,\n .CodeMirror-line > span::-moz-selection,\n .CodeMirror-line::-moz-selection {\n background: #353b48!important\n }\n .CodeMirror-gutters {\n background: #2a2a2e!important;\n border-right: 0 solid #4a4a4f!important\n }\n .CodeMirror-guttermarker,\n .CodeMirror-guttermarker-subtle {\n color: #555!important\n }\n .CodeMirror-linenumber {\n color: #939393!important\n }\n .CodeMirror-cursor {\n border-left: 1px solid #fff!important\n }\n span.cm-comment {\n color: #939393!important\n }\n span.cm-atom,\n span.cm-attribute,\n span.cm-builtin,\n span.cm-error,\n span.cm-keyword,\n span.cm-quote {\n color: #ff7de9!important\n }\n span.cm-number,\n span.cm-string,\n span.cm-string-2 {\n color: #6b89ff!important\n }\n span.cm-hr,\n span.cm-meta {\n color: #939393!important\n }\n span.cm-header,\n span.cm-qualifier,\n span.cm-variable-2 {\n color: #75bfff!important\n }\n span.cm-property {\n color: #86de74!important\n }\n span.cm-bracket,\n span.cm-def,\n span.cm-link:visited,\n span.cm-tag {\n color: #75bfff!important\n }\n span.cm-variable {\n color: #b98eff!important\n }\n span.cm-variable-3 {\n color: #d7d7db!important\n }\n span.cm-link {\n color: #737373!important\n }\n span.cm-operator {\n color: #b1b1b3!important\n }\n span.cm-special {\n color: #d7d7db!important\n }\n .CodeMirror-activeline-background {\n background: rgba(185,215,253,.15)!important\n }\n .CodeMirror-matchingbracket {\n outline: rgba(255,255,255,.25) solid 1px!important;\n color: #fff!important\n }\n select {\n color: silver;\n }\n option, optgroup {\n background-color: #2a2a2e\n }\n}", 702 717 "usercssData": { ··· 711 726 "author": "overdodactyl", 712 727 "description": "This theme is specifically designed to match the dark mode used by Firefox's inspector and browser toolbox (background colors, text colors in the editor, fonts etc.). Additionally, it is meant to compliment [ShadowFox](https://github.com/overdodactyl/ShadowFox) - a universal dark theme for Firefox. Hosted on GitHub (please submit any issues there): https://github.com/overdodactyl/Stylus-Dark", 713 728 "updateDate": 1614451696865, 714 - "installationUrl": "https://uso.kkx.one/style/153739" 729 + "url": "https://uso.kkx.one/style/153739", 730 + "installationUrl": "https://uso.kkx.one/style/153739", 731 + "preferScheme": "dark" 715 732 }, 716 733 { 717 - "enabled": true, 734 + "enabled": false, 718 735 "updateUrl": "https://raw.githubusercontent.com/33kk/uso-archive/flomaster/data/usercss/140124.user.css", 719 - "url": "https://33kk.github.io/uso-archive/?style=140124", 720 736 "installDate": 1581436018790, 721 737 "sections": [ 722 738 { ··· 728 744 "id": 10, 729 745 "updateDate": 1614451696870, 730 746 "_id": "86bb3f08-e26b-412d-b2e3-183c6d279a1f", 731 - "_rev": 1614451696871, 747 + "_rev": 1691500978176, 732 748 "etag": "W/\"378a3fa0fe0f61fd2c6753645536c0466814334d0be501d3e84d319457c948fc\"", 733 749 "sourceCode": "/* ==UserStyle==\n@name Python Docs Dark\n@namespace USO Archive\n@author abhishekchakraborty\n@description `Dark theme for <a href=\"https://docs.python.org\">Python Docs</a> modified from theme, <a href=\"https://userstyles.org/styles/128563/python-docs-bathys-updated\">Python Docs Bathys Updated</a>`\n@version 20180416.22.15\n@license CC-BY-4.0\n@preprocessor uso\n==/UserStyle== */\n/*\n * Style: Python Docs Dark\n * Site: Python Docs\n * Author: Abhishek Chakraborty\n * License: CC-BY-SA\n * File: python/docs.css\n */\n\n@namespace url(http://www.w3.org/1999/xhtml);\n\n@-moz-document domain(\"docs.python.org\") {\n \n /*** Variables ***/\n :root {\n --added-width: 200px;\n }\n \n body {\n background-color: #111;\n }\n \n div.body {\n background-color: #161616;\n /* background: #161616 url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAH0lEQVQI12NgYGD4LycnB8cMKioqqAJwBlQlXACmEgCsthUB9mCnuQAAAABJRU5ErkJggg==\") repeat; */\n color: #aaa;\n }\n \n div.document {\n background: #012028;\n }\n \n div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 {\n background: none;\n color: #3776A3;\n border-bottom-color: #444;\n }\n \n div.related, div.sphinxsidebar {\n background-color: #111;\n }\n \n div.related {\n border-top-color: #333;\n }\n \n /** Left Pane - Bottom Layer **/\n div.sphinxsidebar {\n width: calc(var(--added-width) + 230px) !important;\n }\n \n div.sphinxsidebar[style=\"width: 230px;\"] {\n width: calc(var(--added-width) + 230px) !important;\n }\n \n div.sphinxsidebar[style=\"width: 0.8em;\"] {\n width: 0.8em !important;\n }\n \n /* Left-side item bullets */\n div.sphinxsidebar ul {\n color: #333;\n }\n \n /* Sub-headings */\n div.sphinxsidebar h4, div.sphinxsidebar h3, div.sphinxsidebar p {\n color: #aaa;\n }\n \n /* Search */\n div.sphinxsidebar input {\n border: 1px solid #333;\n }\n \n form.inline-search input {\n border: 1px solid #333;\n }\n \n /** Search results **/\n/* ul.search li {\n filter: invert(80%);\n } */\n \n /** Left Pane - Top Layer **/\n div.sphinxsidebarwrapper {\n background-color: #111;\n width: calc(var(--added-width) + 200px) !important;\n }\n \n /** Right-side Page Contents **/\n div.documentwrapper {\n background-color: #161616;\n }\n \n div.bodywrapper {\n margin-left: calc(var(--added-width) + 230px);\n }\n \n div.bodywrapper[style=\"margin-left: 230px;\"] {\n margin-left: calc(var(--added-width) + 230px) !important;\n }\n \n div.bodywrapper[style=\"margin-left: 0.8em;\"] {\n margin-left: 0.8em !important;\n }\n \n /* Sidebar symbols - «, » */\n div#sidebarbutton {\n color: #666 !important;\n }\n \n \n div.note {\n background-color: #111;\n border-color: #000;\n }\n \n div.related:first-child {\n border-bottom-color: #333;\n }\n \n div#sidebarbutton {\n background-color: #000 !important;\n }\n \n a {\n color: #4983AB !important;\n }\n \n tt {\n background: none;\n }\n \n pre {\n background: #222;\n color: #AAA;\n font-size: 150%;\n border-color: #333 !important;\n }\n \n \n /* Code Copy button */\n .copybutton {\n color: #666 !important;\n border-color: #333 !important;\n }\n \n .highlight .go { /*output*/ \n color: #AAA;\n }\n \n .highlight .gt, .highlight .nf { /*tracebacks*/\n color: #4772D1;\n }\n \n .highlight .nd {\n color: #aaa;\n }\n \n table.docutils thead tr {\n background-color: #333;\n }\n \n table.docutils tbody tr.row-even {\n background-color: #222;\n }\n \n table.docutils tbody tr.row-odd {\n background-color: #181818;\n }\n \n table.docutils td, table.docutils th {\n background-color: inherit;\n border-color: #333 !important;\n }\n \n select, input {\n background-color: #111;\n color: #AAA;\n }\n \n input[name=\"q\"] {\n background-color: #333;\n }\n \n select {\n border-color: #333;\n }\n \n dt:target, .highlight {\n background-color: #282828;\n }\n \n div.warning,\n .deprecated, .deprecated-removed {\n background-color: #380806;\n border-color: #320705;\n }\n \n div.seealso {\n background-color: #282828;\n }\n \n div.body div.seealso {\n border-color: #666;\n }\n \n code {\n background-color: inherit !important;\n }\n \n}\n\n/*** Python 3 Documentation-specific ***/\n@-moz-document url-prefix(\"https://docs.python.org/3\"), url-prefix(\"http://docs.python.org/3\") {\n \n pre {\n font-size: 100% !important;\n }\n \n}", 734 750 "usercssData": { ··· 742 758 }, 743 759 "author": "abhishekchakraborty", 744 760 "description": "Dark theme for <a href=\"https://docs.python.org\">Python Docs</a> modified from theme, <a href=\"https://userstyles.org/styles/128563/python-docs-bathys-updated\">Python Docs Bathys Updated</a>", 761 + "url": "https://uso.kkx.one/style/140124", 745 762 "installationUrl": "https://uso.kkx.one/style/140124" 746 763 }, 747 764 { 748 - "enabled": true, 765 + "enabled": false, 749 766 "installDate": 1596632224374, 750 767 "name": "Python Docs Dark (extra)", 751 768 "sections": [ ··· 759 776 ], 760 777 "updateDate": 1596632428228, 761 778 "_id": "9ee76e93-36c3-4687-a15d-267f5eb389f2", 762 - "_rev": 1606923738355, 779 + "_rev": 1691500970236, 763 780 "id": 17 764 781 }, 765 782 { ··· 781 798 "author": "Me", 782 799 "description": "A new userstyle", 783 800 "name": "code.golf - 8/8/2022, 11:48:41 AM", 784 - "updateDate": 1659973862752, 801 + "updateDate": 1672951366246, 785 802 "_id": "0dbd3542-a9c6-4957-88c3-fa8425d0f8e8", 786 - "_rev": 1659973862752, 787 - "id": 24 803 + "_rev": 1672951366246, 804 + "id": 24, 805 + "customName": "code.golf Tab Size" 788 806 }, 789 807 { 790 808 "enabled": true, ··· 811 829 "name": "Cpp Reference Dark", 812 830 "originalDigest": "ec74c43abfb94c18f11f5cf457b49c06e41f697a", 813 831 "_id": "2fb876f7-94ec-4e37-b1e9-c28dc52741a2", 814 - "_rev": 1672949362994, 832 + "_rev": 1718199018725, 815 833 "installationUrl": "https://uso.kkx.one/style/127535", 816 834 "id": 25, 817 - "etag": "W/\"3c4f-1TiepsN2/br+G5jObnQ8Q6G4l+U\"" 835 + "etag": "W/\"3c4f-1TiepsN2/br+G5jObnQ8Q6G4l+U\"", 836 + "preferScheme": "dark" 818 837 }, 819 838 { 820 - "enabled": true, 839 + "enabled": false, 821 840 "updateUrl": "https://cdn.jsdelivr.net/gh/33kk/uso-archive@flomaster/data/usercss/183121.user.css", 822 841 "url": "https://uso.kkx.one/style/183121", 823 842 "installDate": 1666121512386, ··· 841 860 "name": "Hacker News - Zenburn Dark Narrow", 842 861 "originalDigest": "ad8ea2513001ba3b19573ae84a59375d9f404353", 843 862 "_id": "b12a4234-cdff-4e07-8d80-a603369aafbb", 844 - "_rev": 1672949318265, 863 + "_rev": 1678310671908, 845 864 "installationUrl": "https://uso.kkx.one/style/183121", 846 865 "id": 53, 847 866 "updateDate": 1672949318265, ··· 856 875 "code": "" 857 876 } 858 877 ], 859 - "sourceCode": "/* ==UserStyle==\n@name 10.23.5.47 - 12/5/2022, 4:31:08 PM\n@namespace github.com/ian-h-chamberlain/robot\n@version 1.0.0\n@description Robot logs dark mode\n@author Ian Chamberlain\n==/UserStyle== */\n@-moz-document regexp(\".*\\\\/log[^*]+[.]html\") {\n /* ripped from https://github.com/robotframework/robotframework/pull/4190 */\n :root {\n --text-color: black;\n --background-color: white;\n --primary-color: #ddd;\n --secondary-color: #ccc;\n --link-color: #15c;\n --link-hover-color: #61c;\n --highlight-color: #f4f4f4;\n --pass-color: #97bd61;\n --fail-color: #ce3e01;\n --warn-color: #fed84f;\n --ascending-icon: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==);\n --descending-icon: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);\n }\n\n @media (prefers-color-scheme: dark) {\n :root {\n --text-color: white;\n --background-color: #1c2227;\n --primary-color: #26373b;\n --secondary-color: #424f5a;\n --link-color: #52adff;\n --link-hover-color: #bb86fc;\n --highlight-color: #242b31;\n --ascending-icon: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJAgMAAACZCj6+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFAAAAfn5+////f/cqYgAAAAN0Uk5TAP//RFDWIQAAACdJREFUeJxjYHBgYGAMYGBgDWFgEA1lAAOtVQwMXCsYGJgWADkNDAA78QP9oKr7vwAAAABJRU5ErkJggg==);\n --descending-icon: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJAgMAAACZCj6+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFAAAA////fn5+K6jOaAAAAAN0Uk5TAP//RFDWIQAAACdJREFUeJxjYHBgYGAMYGBgDWFgEA1lAAOtVQwMXCsYGJgWADkNDAA78QP9oKr7vwAAAABJRU5ErkJggg==);\n }\n }\n /* Generic and misc styles */\n body {\n font-family: Helvetica, sans-serif;\n font-size: 0.8em;\n color: var(--text-color);\n padding: 6px;\n background: var(--background-color);\n }\n table {\n table-layout: fixed;\n word-wrap: break-word;\n empty-cells: show;\n font-size: 1em;\n }\n th,\n td {\n vertical-align: top;\n }\n br {\n mso-data-placement: same-cell;\n /* maintain line breaks in Excel */\n }\n hr {\n background: var(--secondary-color);\n height: 1px;\n border: 0;\n }\n a,\n a:link,\n a:visited {\n text-decoration: none;\n color: var(--link-color);\n }\n a > img {\n border: 1px solid var(--link-color) !important;\n }\n a:hover,\n a:active {\n text-decoration: underline;\n color: var(--link-hover-color);\n }\n select {\n background-color: var(--background-color);\n color: var(--text-color);\n border: 2px solid var(--secondary-color);\n border-radius: 4px;\n }\n .parent-name {\n font-size: 0.7em;\n letter-spacing: -0.07em;\n }\n .message {\n white-space: pre-wrap;\n }\n /* Headers */\n #header {\n width: 65em;\n height: 3em;\n margin: 6px 0;\n }\n h1 {\n float: left;\n margin: 0 0 0.5em 0;\n width: 75%;\n }\n h2 {\n clear: left;\n }\n #generated {\n float: right;\n text-align: right;\n font-size: 0.9em;\n white-space: nowrap;\n }\n /* Documentation headers */\n .doc > h2 {\n font-size: 1.2em;\n }\n .doc > h3 {\n font-size: 1.1em;\n }\n .doc > h4 {\n font-size: 1.0em;\n }\n /* Status text colors -- !important allows using them in links */\n .fail {\n color: var(--fail-color) !important;\n font-weight: bold;\n }\n .pass {\n color: #098a09 !important;\n }\n .skip {\n color: #927201 !important;\n font-weight: bold;\n }\n .label {\n padding: 2px 5px;\n font-size: 0.75em;\n letter-spacing: 1px;\n white-space: nowrap;\n color: var(--text-color);\n background-color: var(--primary-color);\n border-radius: 3px;\n }\n .label.debug,\n .label.trace,\n .label.error,\n .label.keyword {\n letter-spacing: 0;\n }\n .label.pass,\n .label.fail,\n .label.error,\n .label.skip,\n .label.warn {\n font-weight: bold;\n }\n .label.pass {\n background-color: var(--pass-color);\n color: #000 !important;\n }\n .label.fail,\n .label.error {\n background-color: var(--fail-color);\n color: #fff !important;\n }\n .label.skip,\n .label.warn {\n background-color: var(--warn-color);\n color: #000 !important;\n }\n /* Top right header */\n #top-right-header {\n position: fixed;\n top: 0;\n right: 0;\n z-index: 1000;\n width: 12em;\n text-align: center;\n }\n #report-or-log-link a {\n display: block;\n background: black;\n color: white;\n text-decoration: none;\n font-weight: bold;\n letter-spacing: 0.1em;\n padding: 0.3em 0;\n border-bottom-left-radius: 4px;\n }\n #report-or-log-link a:hover {\n color: #ddd;\n }\n #log-level-selector {\n padding: 0.3em 0;\n font-size: 0.9em;\n border-bottom-left-radius: 4px;\n background: var(--primary-color);\n }\n /* Statistics table */\n .statistics {\n width: 65em;\n border-collapse: collapse;\n empty-cells: show;\n margin-bottom: 1em;\n }\n .statistics tr:hover {\n background: var(--highlight-color);\n cursor: pointer;\n }\n .statistics th,\n .statistics td {\n border: 1px solid var(--secondary-color);\n padding: 0.1em 0.3em;\n }\n .statistics th {\n background-color: var(--primary-color);\n padding: 0.2em 0.3em;\n }\n .statistics td {\n vertical-align: middle;\n }\n .stats-col-stat {\n width: 4.5em;\n text-align: center;\n }\n .stats-col-elapsed {\n width: 5.5em;\n text-align: center;\n }\n .stats-col-graph {\n width: 9em;\n }\n th.stats-col-graph:hover {\n cursor: default;\n }\n .stat-name {\n float: left;\n }\n .stat-name a,\n .stat-name span {\n font-weight: bold;\n }\n .tag-links {\n font-size: 0.9em;\n float: right;\n margin-top: 0.05em;\n }\n .tag-links span {\n margin-left: 0.2em;\n }\n /* Statistics graph */\n .graph,\n .empty-graph {\n border: 1px solid var(--secondary-color);\n width: auto;\n height: 7px;\n padding: 0;\n background: #aaa;\n }\n .empty-graph {\n background: var(--highlight-color);\n }\n .pass-bar,\n .fail-bar,\n .skip-bar {\n float: left;\n height: 100%;\n }\n .fail-bar {\n background: var(--fail-color);\n }\n .pass-bar {\n background: var(--pass-color);\n }\n .skip-bar {\n background: var(--warn-color);\n }\n /* Tablesorter - adapted from provided Blue Skin */\n .tablesorter-header {\n background-image: url(data:image/gif;base64,R0lGODlhCwAJAIAAAH9/fwAAACH5BAEAAAEALAAAAAALAAkAAAIRjAOnBr3cnIr0WUjTrC9e9BQAOw==);\n background-repeat: no-repeat;\n background-position: center right;\n cursor: pointer;\n }\n .tablesorter-header:hover {\n background-color: var(--secondary-color);\n }\n .tablesorter-headerAsc {\n background-image: var(--ascending-icon);\n background-color: var(--secondary-color) !important;\n }\n .tablesorter-headerDesc {\n background-image: var(--descending-icon);\n background-color: var(--secondary-color) !important;\n }\n .sorter-false {\n background-image: none;\n cursor: default;\n }\n .sorter-false:hover {\n background-color: var(--primary-color);\n }\n\n\n /* Icons are from Open Iconic <https://useiconic.com/open/>.\n Licensed under the MIT License. */\n :root {\n --icon-filter: invert(0);\n --icon-highlight: var(--secondary-color);\n --elapsed-color: #666;\n }\n\n @media (prefers-color-scheme: dark) {\n :root {\n --icon-filter: invert(1);\n /* Invert colors for the icons */\n --icon-highlight: #a39990;\n /* Dark mode secondary color inverted (--icon-filter will invert it back) */\n --elapsed-color: #999;\n }\n }\n /* Containers */\n .suite,\n .test,\n #errors {\n border: 1px solid var(--secondary-color);\n padding: 0.3em 0.2em;\n margin: 0.2em 0;\n }\n .test {\n border-style: dashed;\n }\n #errors,\n .messages {\n width: 100%;\n border-spacing: 0;\n }\n .children {\n display: none;\n margin-left: 1.4em;\n }\n .suite,\n .test,\n .keyword {\n margin-left: -0.2em;\n }\n #s1,\n .suite > .children > .keyword {\n margin-left: 0;\n }\n /* Suite, test and kw headers */\n .element-header {\n border: 1px solid transparent;\n border-radius: 2px;\n position: relative;\n }\n .element-header:hover {\n cursor: pointer;\n background-color: var(--highlight-color);\n border-color: var(--secondary-color);\n }\n .element-header-toggle {\n position: absolute;\n left: 3px;\n top: 5px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JChSkZz20AAAAGklEQVQI12NgQAKMDKzInP8IDhOqMk4G7AAANQwBE427PYUAAAAASUVORK5CYII=);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2Mmg4di0yaC04eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAzKSIgLz4KPC9zdmc+), none;\n filter: var(--icon-filter);\n height: 10px;\n width: 10px;\n background-size: 6px 6px;\n border: 1px solid var(--icon-highlight);\n border-radius: 2px;\n }\n .closed > .element-header-toggle {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JCDHdVYtxAAAAM0lEQVQI103MMQqAMBQFwVHyITaB3P+W1sKzSBC3mW6hRFw0pUB5DvF1bu9FN0RM3X/wAk98CUnvFTakAAAAAElFTkSuQmCC);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0zIDB2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN2LTNoLTJ6IiAvPgo8L3N2Zz4=), none;\n }\n .element-header:hover > .element-header-toggle {\n background-color: var(--icon-highlight);\n }\n .element-header-right:hover ~ .element-header-toggle {\n background-color: transparent;\n }\n .element-header-left {\n padding: 3px 80px 3px 20px;\n }\n .element-header-right {\n position: absolute;\n right: 0;\n top: 0;\n padding: 3px;\n cursor: default;\n }\n .element-header .label {\n margin-right: 0.5em;\n }\n .name {\n font-weight: bold;\n }\n .elapsed {\n float: right;\n color: var(--elapsed-color);\n padding-left: 1em;\n }\n .link {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUGJVtzrEJwmAQBtCn6ASuIKTIBhY2gmghBiJYB1udwk10B8FJbKMBcQFbtbkfJHrVwfu+4/idJR64Y9H7E3higj5O3S8Y44ApLnjhnXCNGhV2yNGggDJwiC02gavUbpDFvscRo4QdXOMKDHBufz3HLYKzNn4AbSkV3fncGQYAAAAASUVORK5CYII=);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik01Ljg4LjAzYy0uMTguMDEtLjM2LjAzLS41My4wOS0uMjcuMS0uNTMuMjUtLjc1LjQ3YS41LjUgMCAxIDAgLjY5LjY5Yy4xMS0uMTEuMjQtLjE3LjM4LS4yMi4zNS0uMTIuNzgtLjA3IDEuMDYuMjIuMzkuMzkuMzkgMS4wNCAwIDEuNDRsLTEuNSAxLjVjLS40NC40NC0uOC40OC0xLjA2LjQ3LS4yNi0uMDEtLjQxLS4xMy0uNDEtLjEzYS41LjUgMCAxIDAtLjUuODhzLjM0LjIyLjg0LjI1Yy41LjAzIDEuMi0uMTYgMS44MS0uNzhsMS41LTEuNWMuNzgtLjc4Ljc4LTIuMDQgMC0yLjgxLS4yOC0uMjgtLjYxLS40NS0uOTctLjUzLS4xOC0uMDQtLjM4LS4wNC0uNTYtLjAzem0tMiAyLjMxYy0uNS0uMDItMS4xOS4xNS0xLjc4Ljc1bC0xLjUgMS41Yy0uNzguNzgtLjc4IDIuMDQgMCAyLjgxLjU2LjU2IDEuMzYuNzIgMi4wNi40Ny4yNy0uMS41My0uMjUuNzUtLjQ3YS41LjUgMCAxIDAtLjY5LS42OWMtLjExLjExLS4yNC4xNy0uMzguMjItLjM1LjEyLS43OC4wNy0xLjA2LS4yMi0uMzktLjM5LS4zOS0xLjA0IDAtMS40NGwxLjUtMS41Yy40LS40Ljc1LS40NSAxLjAzLS40NC4yOC4wMS40Ny4wOS40Ny4wOWEuNS41IDAgMSAwIC40NC0uODhzLS4zNC0uMi0uODQtLjIyeiIKICAvPgo8L3N2Zz4=), none;\n filter: var(--icon-filter);\n }\n .expand {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADtJREFUGJVjYCACKDAwMByA0ljFDjAwMPxnYGB4ABVQgLL/Q+VQBB6gseGmIivCkERXhFUSWRFOSawAAEl7E3uv1iMcAAAAAElFTkSuQmCC);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0xLjUgMGwtMS41IDEuNSA0IDQgNC00LTEuNS0xLjUtMi41IDIuNS0yLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgLz4KPC9zdmc+), none;\n filter: var(--icon-filter);\n }\n .collapse {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC5JREFUGJVjYCARNEAxTsn/UIyhCFkSQxG6ThQ+C5IpjWhG1yNb4YDFTdjEMAEACi8Q++9Y9TAAAAAASUVORK5CYII=);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik00IDBsLTQgNCAxLjUgMS41IDIuNS0yLjUgMi41IDIuNSAxLjUtMS41LTQtNHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMSkiIC8+Cjwvc3ZnPg==), none;\n filter: var(--icon-filter);\n }\n .expand,\n .collapse,\n .link {\n float: left;\n display: block;\n visibility: hidden;\n margin: 0 4px;\n height: 14px;\n width: 14px;\n background-size: 8px 8px;\n background-repeat: no-repeat;\n background-position: center;\n border: 1px solid var(--icon-highlight);\n border-radius: 2px;\n }\n .link {\n background-size: 10px 10px;\n }\n .element-header:hover a {\n visibility: visible;\n }\n .expand:hover,\n .collapse:hover,\n .link:hover {\n background-color: var(--icon-highlight);\n }\n /* Messages and errors */\n .messages .time,\n .messages .message {\n font-family: monospace;\n font-size: 1.1em;\n }\n #errors .message {\n font-family: monospace;\n font-size: 1.2em;\n }\n .message-row {\n height: 20px;\n }\n .time {\n width: 7.5em;\n }\n .error-time {\n width: 11em;\n font-size: 0.9em;\n white-space: nowrap;\n }\n .level {\n width: 5em;\n text-align: center;\n }\n .select-message {\n width: 24px;\n }\n .select-message > div {\n float: right;\n margin-right: 2px;\n height: 16px;\n width: 16px;\n background-size: 12px 12px;\n background-repeat: no-repeat;\n background-position: center;\n }\n .message-row:hover .select-message div {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAQAAAD8fJRsAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0MOzhWKZQOAAAASUlEQVQY032PsRHAIAwDX9BkicD+W8UMEqegAQJWKZ/+3sLZJhFGQEZzNaIa4ibh66En867VNaIeoP5WppNuIGoAlOm3g5VC1AdYeQv1BZPRSgAAAABJRU5ErkJggg==);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2MWg4di0xaC04em0wIDJ2MWg2di0xaC02em0wIDJ2MWg4di0xaC04em0wIDJ2MWg2di0xaC02eiIgLz4KPC9zdmc+), none;\n filter: var(--icon-filter);\n border: 1px solid var(--icon-highlight);\n border-radius: 2px;\n }\n .select-message:hover div {\n background-color: var(--icon-highlight);\n cursor: pointer;\n }\n /* Message tables - these MUST NOT be combined together because otherwise\n dynamically altering them based on visible log level is not possible. */\n .trace-message {\n display: table;\n }\n .debug-message {\n display: table;\n }\n /* Metadata */\n .metadata {\n width: 100%;\n border-spacing: 0.2em;\n }\n .metadata th {\n width: 12em;\n vertical-align: top;\n text-align: left;\n }\n .metadata td {\n vertical-align: top;\n }\n .keyword-metadata {\n font-size: 0.9em;\n }\n /* Custom styles for statistics */\n #total-stats tr:hover,\n #tag-stats tr:hover {\n cursor: default;\n }\n}", 878 + "sourceCode": "/* ==UserStyle==\n@name 10.23.5.47 - 12/5/2022, 4:31:08 PM\n@namespace github.com/ian-h-chamberlain/robot\n@version 1.0.0\n@description Robot logs dark mode\n@author Ian Chamberlain\n==/UserStyle== */\n@-moz-document regexp(\".*/(robot.*|latest|build|(debug|release)_(clang|gcc))/log.*[.]html(#.*)?\") {\n /* ripped from https://github.com/robotframework/robotframework/pull/4190 \n with some customization after the fact\n */\n :root {\n --text-color: black;\n --background-color: white;\n --primary-color: #ddd;\n --secondary-color: #ccc;\n --link-color: #15c;\n --link-hover-color: #61c;\n --highlight-color: #f4f4f4;\n --pass-color: #97bd61;\n --fail-color: #ce3e01;\n --warn-color: #fed84f;\n --ascending-icon: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==);\n --descending-icon: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);\n }\n\n @media (prefers-color-scheme: dark) {\n :root {\n --text-color: white;\n --background-color: #1c2227; /* rgb(28, 34, 39) */\n --primary-color: #26373b;\n --secondary-color: #424f5a;\n --link-color: #52adff;\n --link-hover-color: #bb86fc;\n --highlight-color: #242b31;\n --ascending-icon: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJAgMAAACZCj6+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFAAAAfn5+////f/cqYgAAAAN0Uk5TAP//RFDWIQAAACdJREFUeJxjYHBgYGAMYGBgDWFgEA1lAAOtVQwMXCsYGJgWADkNDAA78QP9oKr7vwAAAABJRU5ErkJggg==);\n --descending-icon: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJAgMAAACZCj6+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAlQTFRFAAAA////fn5+K6jOaAAAAAN0Uk5TAP//RFDWIQAAACdJREFUeJxjYHBgYGAMYGBgDWFgEA1lAAOtVQwMXCsYGJgWADkNDAA78QP9oKr7vwAAAABJRU5ErkJggg==);\n }\n }\n \n @keyframes fadeBackground {\n from {\n /* really this should probably be --highlight-color, but it's not bright enough\n for my liking. It fades quickly anyway so 🤷 */\n background-color: var(--secondary-color);\n }\n to {\n background-color: var(--background-color);\n }\n }\n\n /* custom stuff */\n [style*=\"background-color\"] {\n /* link highlighting uses JS and inline styles to make an off-white/gray background.\n We can accomplish the same (but override it) using CSS animation. */\n animation: fadeBackground 4s !important;\n /* animation-fill-mode: forwards; */\n }\n .doc code {\n background: var(--secondary-color);\n }\n\n /* Generic and misc styles */\n body {\n font-family: Helvetica, sans-serif;\n font-size: 0.8em;\n color: var(--text-color);\n padding: 6px;\n background: var(--background-color);\n }\n table {\n table-layout: fixed;\n word-wrap: break-word;\n empty-cells: show;\n font-size: 1em;\n }\n th,\n td {\n vertical-align: top;\n }\n br {\n mso-data-placement: same-cell;\n /* maintain line breaks in Excel */\n }\n hr {\n background: var(--secondary-color);\n height: 1px;\n border: 0;\n }\n a,\n a:link,\n a:visited {\n text-decoration: none;\n color: var(--link-color);\n }\n a > img {\n border: 1px solid var(--link-color) !important;\n }\n a:hover,\n a:active {\n text-decoration: underline;\n color: var(--link-hover-color);\n }\n select {\n background-color: var(--background-color);\n color: var(--text-color);\n border: 2px solid var(--secondary-color);\n border-radius: 4px;\n }\n .parent-name {\n font-size: 0.7em;\n letter-spacing: -0.07em;\n }\n .message {\n white-space: pre-wrap;\n }\n /* Headers */\n #header {\n width: 65em;\n height: 3em;\n margin: 6px 0;\n }\n h1 {\n float: left;\n margin: 0 0 0.5em 0;\n width: 75%;\n }\n h2 {\n clear: left;\n }\n #generated {\n float: right;\n text-align: right;\n font-size: 0.9em;\n white-space: nowrap;\n }\n /* Documentation headers */\n .doc > h2 {\n font-size: 1.2em;\n }\n .doc > h3 {\n font-size: 1.1em;\n }\n .doc > h4 {\n font-size: 1.0em;\n }\n /* Status text colors -- !important allows using them in links */\n .fail {\n color: var(--fail-color) !important;\n font-weight: bold;\n }\n .pass {\n color: #098a09 !important;\n }\n .skip {\n color: #927201 !important;\n font-weight: bold;\n }\n .label {\n padding: 2px 5px;\n font-size: 0.75em;\n letter-spacing: 1px;\n white-space: nowrap;\n color: var(--text-color);\n background-color: var(--primary-color);\n border-radius: 3px;\n }\n .label.debug,\n .label.trace,\n .label.error,\n .label.keyword {\n letter-spacing: 0;\n }\n .label.pass,\n .label.fail,\n .label.error,\n .label.skip,\n .label.warn {\n font-weight: bold;\n }\n .label.pass {\n background-color: var(--pass-color);\n color: #000 !important;\n }\n .label.fail,\n .label.error {\n background-color: var(--fail-color);\n color: #fff !important;\n }\n .label.skip,\n .label.warn {\n background-color: var(--warn-color);\n color: #000 !important;\n }\n /* Top right header */\n #top-right-header {\n position: fixed;\n top: 0;\n right: 0;\n z-index: 1000;\n width: 12em;\n text-align: center;\n }\n #report-or-log-link a {\n display: block;\n background: black;\n color: white;\n text-decoration: none;\n font-weight: bold;\n letter-spacing: 0.1em;\n padding: 0.3em 0;\n border-bottom-left-radius: 4px;\n }\n #report-or-log-link a:hover {\n color: #ddd;\n }\n #log-level-selector {\n padding: 0.3em 0;\n font-size: 0.9em;\n border-bottom-left-radius: 4px;\n background: var(--primary-color);\n }\n /* Statistics table */\n .statistics {\n width: 65em;\n border-collapse: collapse;\n empty-cells: show;\n margin-bottom: 1em;\n }\n .statistics tr:hover {\n background: var(--highlight-color);\n cursor: pointer;\n }\n .statistics th,\n .statistics td {\n border: 1px solid var(--secondary-color);\n padding: 0.1em 0.3em;\n }\n .statistics th {\n background-color: var(--primary-color);\n padding: 0.2em 0.3em;\n }\n .statistics td {\n vertical-align: middle;\n }\n .stats-col-stat {\n width: 4.5em;\n text-align: center;\n }\n .stats-col-elapsed {\n width: 5.5em;\n text-align: center;\n }\n .stats-col-graph {\n width: 9em;\n }\n th.stats-col-graph:hover {\n cursor: default;\n }\n .stat-name {\n float: left;\n }\n .stat-name a,\n .stat-name span {\n font-weight: bold;\n }\n .tag-links {\n font-size: 0.9em;\n float: right;\n margin-top: 0.05em;\n }\n .tag-links span {\n margin-left: 0.2em;\n }\n /* Statistics graph */\n .graph,\n .empty-graph {\n border: 1px solid var(--secondary-color);\n width: auto;\n height: 7px;\n padding: 0;\n background: #aaa;\n }\n .empty-graph {\n background: var(--highlight-color);\n }\n .pass-bar,\n .fail-bar,\n .skip-bar {\n float: left;\n height: 100%;\n }\n .fail-bar {\n background: var(--fail-color);\n }\n .pass-bar {\n background: var(--pass-color);\n }\n .skip-bar {\n background: var(--warn-color);\n }\n /* Tablesorter - adapted from provided Blue Skin */\n .tablesorter-header {\n background-image: url(data:image/gif;base64,R0lGODlhCwAJAIAAAH9/fwAAACH5BAEAAAEALAAAAAALAAkAAAIRjAOnBr3cnIr0WUjTrC9e9BQAOw==);\n background-repeat: no-repeat;\n background-position: center right;\n cursor: pointer;\n }\n .tablesorter-header:hover {\n background-color: var(--secondary-color);\n }\n .tablesorter-headerAsc {\n background-image: var(--ascending-icon);\n background-color: var(--secondary-color) !important;\n }\n .tablesorter-headerDesc {\n background-image: var(--descending-icon);\n background-color: var(--secondary-color) !important;\n }\n .sorter-false {\n background-image: none;\n cursor: default;\n }\n .sorter-false:hover {\n background-color: var(--primary-color);\n }\n\n\n /* Icons are from Open Iconic <https://useiconic.com/open/>.\n Licensed under the MIT License. */\n :root {\n --icon-filter: invert(0);\n --icon-highlight: var(--secondary-color);\n --elapsed-color: #666;\n }\n\n @media (prefers-color-scheme: dark) {\n :root {\n --icon-filter: invert(1);\n /* Invert colors for the icons */\n --icon-highlight: #a39990;\n /* Dark mode secondary color inverted (--icon-filter will invert it back) */\n --elapsed-color: #999;\n }\n }\n /* Containers */\n .suite,\n .test,\n #errors {\n border: 1px solid var(--secondary-color);\n padding: 0.3em 0.2em;\n margin: 0.2em 0;\n }\n .test {\n border-style: dashed;\n }\n #errors,\n .messages {\n width: 100%;\n border-spacing: 0;\n }\n .children {\n display: none;\n margin-left: 1.4em;\n }\n .suite,\n .test,\n .keyword {\n margin-left: -0.2em;\n }\n #s1,\n .suite > .children > .keyword {\n margin-left: 0;\n }\n /* Suite, test and kw headers */\n .element-header {\n border: 1px solid transparent;\n border-radius: 2px;\n position: relative;\n }\n .element-header:hover {\n cursor: pointer;\n background-color: var(--highlight-color);\n border-color: var(--secondary-color);\n }\n .element-header-toggle {\n position: absolute;\n left: 3px;\n top: 5px;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JChSkZz20AAAAGklEQVQI12NgQAKMDKzInP8IDhOqMk4G7AAANQwBE427PYUAAAAASUVORK5CYII=);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2Mmg4di0yaC04eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAzKSIgLz4KPC9zdmc+), none;\n filter: var(--icon-filter);\n height: 10px;\n width: 10px;\n background-size: 6px 6px;\n border: 1px solid var(--icon-highlight);\n border-radius: 2px;\n }\n .closed > .element-header-toggle {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JCDHdVYtxAAAAM0lEQVQI103MMQqAMBQFwVHyITaB3P+W1sKzSBC3mW6hRFw0pUB5DvF1bu9FN0RM3X/wAk98CUnvFTakAAAAAElFTkSuQmCC);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0zIDB2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN2LTNoLTJ6IiAvPgo8L3N2Zz4=), none;\n }\n .element-header:hover > .element-header-toggle {\n background-color: var(--icon-highlight);\n }\n .element-header-right:hover ~ .element-header-toggle {\n background-color: transparent;\n }\n .element-header-left {\n padding: 3px 80px 3px 20px;\n }\n .element-header-right {\n position: absolute;\n right: 0;\n top: 0;\n padding: 3px;\n cursor: default;\n }\n .element-header .label {\n margin-right: 0.5em;\n }\n .name {\n font-weight: bold;\n }\n .elapsed {\n float: right;\n color: var(--elapsed-color);\n padding-left: 1em;\n }\n .link {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUGJVtzrEJwmAQBtCn6ASuIKTIBhY2gmghBiJYB1udwk10B8FJbKMBcQFbtbkfJHrVwfu+4/idJR64Y9H7E3higj5O3S8Y44ApLnjhnXCNGhV2yNGggDJwiC02gavUbpDFvscRo4QdXOMKDHBufz3HLYKzNn4AbSkV3fncGQYAAAAASUVORK5CYII=);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik01Ljg4LjAzYy0uMTguMDEtLjM2LjAzLS41My4wOS0uMjcuMS0uNTMuMjUtLjc1LjQ3YS41LjUgMCAxIDAgLjY5LjY5Yy4xMS0uMTEuMjQtLjE3LjM4LS4yMi4zNS0uMTIuNzgtLjA3IDEuMDYuMjIuMzkuMzkuMzkgMS4wNCAwIDEuNDRsLTEuNSAxLjVjLS40NC40NC0uOC40OC0xLjA2LjQ3LS4yNi0uMDEtLjQxLS4xMy0uNDEtLjEzYS41LjUgMCAxIDAtLjUuODhzLjM0LjIyLjg0LjI1Yy41LjAzIDEuMi0uMTYgMS44MS0uNzhsMS41LTEuNWMuNzgtLjc4Ljc4LTIuMDQgMC0yLjgxLS4yOC0uMjgtLjYxLS40NS0uOTctLjUzLS4xOC0uMDQtLjM4LS4wNC0uNTYtLjAzem0tMiAyLjMxYy0uNS0uMDItMS4xOS4xNS0xLjc4Ljc1bC0xLjUgMS41Yy0uNzguNzgtLjc4IDIuMDQgMCAyLjgxLjU2LjU2IDEuMzYuNzIgMi4wNi40Ny4yNy0uMS41My0uMjUuNzUtLjQ3YS41LjUgMCAxIDAtLjY5LS42OWMtLjExLjExLS4yNC4xNy0uMzguMjItLjM1LjEyLS43OC4wNy0xLjA2LS4yMi0uMzktLjM5LS4zOS0xLjA0IDAtMS40NGwxLjUtMS41Yy40LS40Ljc1LS40NSAxLjAzLS40NC4yOC4wMS40Ny4wOS40Ny4wOWEuNS41IDAgMSAwIC40NC0uODhzLS4zNC0uMi0uODQtLjIyeiIKICAvPgo8L3N2Zz4=), none;\n filter: var(--icon-filter);\n }\n .expand {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADtJREFUGJVjYCACKDAwMByA0ljFDjAwMPxnYGB4ABVQgLL/Q+VQBB6gseGmIivCkERXhFUSWRFOSawAAEl7E3uv1iMcAAAAAElFTkSuQmCC);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0xLjUgMGwtMS41IDEuNSA0IDQgNC00LTEuNS0xLjUtMi41IDIuNS0yLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgLz4KPC9zdmc+), none;\n filter: var(--icon-filter);\n }\n .collapse {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC5JREFUGJVjYCARNEAxTsn/UIyhCFkSQxG6ThQ+C5IpjWhG1yNb4YDFTdjEMAEACi8Q++9Y9TAAAAAASUVORK5CYII=);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik00IDBsLTQgNCAxLjUgMS41IDIuNS0yLjUgMi41IDIuNSAxLjUtMS41LTQtNHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMSkiIC8+Cjwvc3ZnPg==), none;\n filter: var(--icon-filter);\n }\n .expand,\n .collapse,\n .link {\n float: left;\n display: block;\n visibility: hidden;\n margin: 0 4px;\n height: 14px;\n width: 14px;\n background-size: 8px 8px;\n background-repeat: no-repeat;\n background-position: center;\n border: 1px solid var(--icon-highlight);\n border-radius: 2px;\n }\n .link {\n background-size: 10px 10px;\n }\n .element-header:hover a {\n visibility: visible;\n }\n .expand:hover,\n .collapse:hover,\n .link:hover {\n background-color: var(--icon-highlight);\n }\n /* Messages and errors */\n .messages .time,\n .messages .message {\n font-family: monospace;\n font-size: 1.1em;\n }\n #errors .message {\n font-family: monospace;\n font-size: 1.2em;\n }\n .message-row {\n height: 20px;\n }\n .time {\n width: 7.5em;\n }\n .error-time {\n width: 11em;\n font-size: 0.9em;\n white-space: nowrap;\n }\n .level {\n width: 5em;\n text-align: center;\n }\n .select-message {\n width: 24px;\n }\n .select-message > div {\n float: right;\n margin-right: 2px;\n height: 16px;\n width: 16px;\n background-size: 12px 12px;\n background-repeat: no-repeat;\n background-position: center;\n }\n .message-row:hover .select-message div {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAQAAAD8fJRsAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0MOzhWKZQOAAAASUlEQVQY032PsRHAIAwDX9BkicD+W8UMEqegAQJWKZ/+3sLZJhFGQEZzNaIa4ibh66En867VNaIeoP5WppNuIGoAlOm3g5VC1AdYeQv1BZPRSgAAAABJRU5ErkJggg==);\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2MWg4di0xaC04em0wIDJ2MWg2di0xaC02em0wIDJ2MWg4di0xaC04em0wIDJ2MWg2di0xaC02eiIgLz4KPC9zdmc+), none;\n filter: var(--icon-filter);\n border: 1px solid var(--icon-highlight);\n border-radius: 2px;\n }\n .select-message:hover div {\n background-color: var(--icon-highlight);\n cursor: pointer;\n }\n /* Message tables - these MUST NOT be combined together because otherwise\n dynamically altering them based on visible log level is not possible. */\n .trace-message {\n display: table;\n }\n .debug-message {\n display: table;\n }\n /* Metadata */\n .metadata {\n width: 100%;\n border-spacing: 0.2em;\n }\n .metadata th {\n width: 12em;\n vertical-align: top;\n text-align: left;\n }\n .metadata td {\n vertical-align: top;\n }\n .keyword-metadata {\n font-size: 0.9em;\n }\n /* Custom styles for statistics */\n #total-stats tr:hover,\n #tag-stats tr:hover {\n cursor: default;\n }\n}", 860 879 "usercssData": { 861 880 "name": "10.23.5.47 - 12/5/2022, 4:31:08 PM", 862 881 "namespace": "github.com/ian-h-chamberlain/robot", ··· 867 886 "author": "Ian Chamberlain", 868 887 "description": "Robot logs dark mode", 869 888 "name": "10.23.5.47 - 12/5/2022, 4:31:08 PM", 870 - "updateDate": 1671637735352, 889 + "updateDate": 1718655007840, 871 890 "_id": "b5f95416-de36-4349-b469-b1e31894ade8", 872 - "_rev": 1671637776361, 891 + "_rev": 1718655007841, 873 892 "id": 58, 874 - "customName": "Robot log*.html" 893 + "customName": "Robot Log HTML" 875 894 }, 876 895 { 877 896 "enabled": true, ··· 883 902 "code": "" 884 903 } 885 904 ], 886 - "sourceCode": "/* ==UserStyle==\n@name Darklingo++ - [UPDATED]\n@namespace USO Archive\n@author Henry Sanger\n@description `BEFORE YOU INSTALL - I would strongly recommend using <a href=\"https://github.com/openstyles/stylus/#readme\">Stylus</a> instead of Stylish. Stylish is <a href=\"https://robertheaton.com/2018/07/02/stylish-browser-extension-steals-your-internet-history/\">spyware which steals your browsing history.</a> Also, the Stylus version of this style is updated more regularly.To install this style with Stylus, visit userstyles.world. <a href=\"https://userstyles.world/style/4605/darklingo-updated\">Link to this style on userstyles.world</a>An updated version of Darklingo++, a dark theme for Duolingo, originally created by <a href=\"https://userstyles.org/users/709142\">Justin Ikeako</a>.<a href=\"https://userstyles.org/styles/169205/darklingo\">Link to the original style</a>`\n@version 20230102.19.43\n@license CC0-1.0\n@preprocessor uso\n@advanced color custom-color \"Custom Theme Color\" #1F98D2\n@advanced dropdown leagues \"Leagues\" {\n\ton \"On*\" <<<EOT EOT;\noff \"Off*\" <<<EOT ._3AKum,\n._1JSRd ._2ulLR:nth-of-type(3) {\n\tdisplay: none\n} EOT;\n\n}\n@advanced dropdown hideSuperAds \"Hide Super Ads\" {\n\ton \"On*\" <<<EOT div[data-test=\"purchase-step-active\"] ._3GWY6,\n._1Y1JL[data-test=\"purchase-step-active\"] ._1wWI0,\n._2eT5n,\n.Ekspr,\n._3jIW4._3zucw,\n._2suUz,\n._45hcs,\n._1T8FO,\n._3bfsh,\n._1Hxe4 ._3tP0w:not([href=\"/settings/super\"]) {\n display: none !important;\n} EOT;\noff \"Off*\" <<<EOT EOT;\n\n}\n@advanced dropdown scroll \"Scroll Bar\" {\n\ton \"On*\" <<<EOT /* Scrollbar *\\/\nhtml {\n scrollbar-color: #fff4 var(--50)\n}\n\n._2jbOb ._2-Lx6,\n._3P4YK {\n scrollbar-width: thin\n}\n\n::-webkit-scrollbar {\n\tdisplay: block;\n\tbackground: var(--50);\n\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMzIiCiAgIGhlaWdodD0iMzIiCiAgIHZpZXdCb3g9IjAgMCA4LjQ2NjY2NjYgOC40NjY2NjY2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjMgKDI0MDU1NDYsIDIwMTgtMDMtMTEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJ1cC5zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0iYmFzZSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSI3LjkxOTU5NTkiCiAgICAgaW5rc2NhcGU6Y3g9IjUuNzM0NjA5NSIKICAgICBpbmtzY2FwZTpjeT0iMjAuODY3MDU3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJweCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2dyaWQ9InRydWUiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTM2NiIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI3NDUiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIj4KICAgIDxpbmtzY2FwZTpncmlkCiAgICAgICB0eXBlPSJ4eWdyaWQiCiAgICAgICBpZD0iZ3JpZDgxNSIKICAgICAgIGVtcHNwYWNpbmc9IjQiCiAgICAgICBkb3R0ZWQ9InRydWUiIC8+CiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjg4LjUzMzMzKSI+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4yNjQ1ODMzMnB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDIuMTE2NjY2NywyOTMuODI1IDQuMjMzMzMzMiwwIC0yLjExNjY2NjYsLTIuMTE2NjcgeiIKICAgICAgIGlkPSJwYXRoODE3IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjYyIgLz4KICA8L2c+Cjwvc3ZnPgo=), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMzIiCiAgIGhlaWdodD0iMzIiCiAgIHZpZXdCb3g9IjAgMCA4LjQ2NjY2NjYgOC40NjY2NjY2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjMgKDI0MDU1NDYsIDIwMTgtMDMtMTEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJkb3duLnN2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNS43MzQ2MDk1IgogICAgIGlua3NjYXBlOmN5PSIyMC44NjcwNTciCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9InB4IgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0idHJ1ZSIKICAgICB1bml0cz0icHgiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxMzY2IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijc0NSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiPgogICAgPGlua3NjYXBlOmdyaWQKICAgICAgIHR5cGU9Inh5Z3JpZCIKICAgICAgIGlkPSJncmlkODE1IgogICAgICAgZW1wc3BhY2luZz0iNCIKICAgICAgIGRvdHRlZD0idHJ1ZSIgLz4KICA8L3NvZGlwb2RpOm5hbWVkdmlldz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC0yODguNTMzMzMpIj4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowLjI2NDU4MzMycHg7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gMi4xMTY2NjY3LDI5MS43MDgzMyBIIDYuMzQ5OTk5OSBMIDQuMjMzMzMzMywyOTMuODI1IFoiCiAgICAgICBpZD0icGF0aDgxNyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8+CiAgPC9nPgo8L3N2Zz4K);\n\tbackground-position: top center, bottom center;\n\tbackground-size: contain;\n\tbackground-repeat: no-repeat\n}\n\n\n/* Track *\\/\n::-webkit-scrollbar-track {\n\tbackground: var(--50);\n\tborder: none\n}\n\n\n/* Thumb *\\/\n::-webkit-scrollbar-thumb {\n\tbackground: #ffffff40 content-box;\n\tborder: 2px solid transparent\n}\n\n::-webkit-scrollbar-thumb:hover {\n\tbackground-color: #fff5\n}\n\n::-webkit-scrollbar-thumb:active {\n\tbackground-color: #fff6\n}\n\n/* Buttons *\\/\n::-webkit-scrollbar-button:single-button {\n display: block;\n height: 16px;\n width: 16px;\n\tbackground: var(--50-overlay-heavy)\n}\n\n::-webkit-scrollbar-button:single-button:hover {\n\tbackground: var(--50-overlay-medium)\n} EOT;\noff \"Off*\" <<<EOT /* Scrollbar *\\/\n* {\n scrollbar-width: none\n}\n\n::-webkit-scrollbar {\n\tdisplay: none\n} EOT;\n\n}\n@advanced dropdown hideCharacters \"Hide Characters\" {\n\toff \"Off*\" <<<EOT EOT;\non \"On*\" <<<EOT div[data-test=\"session-duo\"] ._3a8EI,\n._1bemu ._1giII .ite_X,\n._2aWYC,\n._3zucw,\n._3mO3g .F2B9m,\n._3mO3g ._3p5e9,\n._1bemu ._2lzAc,\n._1bemu ._3plTW,\n._1cRje {\n display: none;\n}\n._1UVl- {\n margin-left: 0;\n}\n._3oxW8 {\n padding-left: 0;\n} EOT;\n\n}\n\n==/UserStyle== */\n@-moz-document domain(\"duolingo.com\") {\n :root {\n --50: #181818;\n --75: #1c1c1c;\n --100: #202020;\n --150: #282828;\n --200: #303030;\n --250: #383838;\n --300: #404040;\n --400: #505050;\n\n --50-overlay-light: #1c1c1c20;\n --50-overlay-medium: #1c1c1c40;\n --50-overlay-heavy: #1c1c1c80;\n\n --100-overlay-medium: #20202040;\n\n --primary: #c0c0c0;\n --secondary: #808080;\n --tertiary: #606060;\n\n --red-on-bg: #471919;\n --green-on-bg: #2b3d1c;\n\n --learn: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/learn.svg);\n --learn-inactive: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/3b7492ee3b3482bd4f865db8abbe083c.svg);\n\n --stories: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/dbaa5424c9d1f6a221c88d32b460d99b.svg);\n --stories-inactive: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/b30ce49d39c308bb3031647f31f6c3e9.svg);\n\n --shop: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/0e58a94dda219766d98c7796b910beee.svg);\n --shop-inactive: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/25f750f861cdffc01551d728938be59b.svg);\n \n --classes: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/f32afadbf3578f0542987e48bbb60d47.svg);\n\n --more: url(https://d35aaqx5ub95lt.cloudfront.net/vendor/d3f3ad5d80a9a934e00054f56ec5fbe9.svg);\n\n --dictionary: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/dictionary.svg);\n --words: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/words.svg);\n\n --flags: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/flags.svg);\n --flags2: '<image height=\"3168\" href=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/87938207afff1598611ba626a8c4827c.svg\" width=\"82\" xlink:href=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/87938207afff1598611ba626a8c4827c.svg\"></image>';\n\n --flag-sprite: url(https://raw.githubusercontent.com/justinikeako/darklingo/5e856dd8b4b95c43d14e03ca84a38767761b9c07/assets/slate/flag-sprite.svg);\n --flag-sprite-1: url(https://raw.githubusercontent.com/justinikeako/darklingo/64e62bf9536de1f5883457c1f32bff7ac4e2d07d/assets/slate/flag-sprite-1.svg);\n\n --crown: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/crown.svg);\n --legendary-crown: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/legendary-crown.svg);\n --crown-locked: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/crown-locked.svg);\n --crown-double-locked: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/crown-double-locked.svg);\n\n --streak-unlit: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/streak-unlit.svg);\n --streak-lit: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/streak-lit.svg);\n --streak-freeze-refill: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/streak-freeze-refill.svg);\n \n --perfect-week-star: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/perfect-week-star.svg);\n\n --lingot: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/lingot.svg);\n --lingot-singular: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/lingot.svg);\n --bell: url(https://raw.githubusercontent.com/justinikeako/darklingo/1fcaba1cb04e12f3be2246d3c64633adc69d7f12/assets/slate/bell.svg);\n\n --crack: url(https://raw.githubusercontent.com/justinikeako/darklingo/6a1ff7a0744955932e82fe467eadf9f946bf3b0a/assets/slate/crack.svg);\n --exclamation-mark: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/exclamation-mark.svg);\n\n --checkpoint-castle-unlocked: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/checkpoint-castle-unlocked.svg);\n --checkpoint-castle-complete: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/checkpoint-castle-complete.svg);\n\n --info: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/icon_info.svg);\n --info-dark: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/icon_info_dark.svg);\n\n --score: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/score.svg);\n \n --heart-empty: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/heart-empty.svg);\n --trophy-locked: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/trophy-locked.svg);\n\n --mic: url(https://raw.githubusercontent.com/justinikeako/darklingo/7dcffd27362cf0e3ba56c5c2c8e525d8d40521b1/assets/slate/mic.svg);\n\n --word-bank: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/word-bank.svg);\n --keyboard: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/keyboard.svg);\n --type-word: url(https://raw.githubusercontent.com/justinikeako/darklingo/43fc25826cfa7bd4f908720ed04e4b5a0cc58d9e/assets/slate/type-word.svg);\n --type-sentence: url(https://raw.githubusercontent.com/justinikeako/darklingo/43fc25826cfa7bd4f908720ed04e4b5a0cc58d9e/assets/slate/type-sentence.svg);\n\n --down-arrow: url(https://raw.githubusercontent.com/justinikeako/darklingo/43fc25826cfa7bd4f908720ed04e4b5a0cc58d9e/assets/slate/arrow-down.svg);\n --special-char-down: url(https://raw.githubusercontent.com/justinikeako/darklingo/43fc25826cfa7bd4f908720ed04e4b5a0cc58d9e/assets/slate/special-char-down.svg);\n\n --comments: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/comments.svg);\n\n --search: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/search.svg);\n --close: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/close.svg);\n\n --stories-speaker: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/stories-speaker.svg);\n\n --podcast: url(https://raw.githubusercontent.com/justinikeako/darklingo/86eeb8a05f8b07ebb9b5dd90dc30aeb5fe95a157/assets/slate/podcast.svg);\n\n --icon-sprite: url(https://raw.githubusercontent.com/justinikeako/darklingo/6e4cd281143fb53bc2bcda4cb4d0ec48fc354dfb/assets/slate/icon-sprite.svg);\n\n --edit: url(https://raw.githubusercontent.com/justinikeako/darklingo/6d4dde9ce1bb00b4adb08df487ffc0118b0bf8f6/assets/slate/edit.svg);\n\n --fat-x: url(https://raw.githubusercontent.com/justinikeako/darklingo/937cade9fe995d5bcdc9441ba057b60d68411ff3/assets/slate/fat-x.svg);\n\n --check-bubble: url(https://raw.githubusercontent.com/justinikeako/darklingo/38655d6499226dc3ba3b42768cb4d6cc60d18708/assets/slate/check-bubble.svg);\n\n --incubator: url(https://raw.githubusercontent.com/justinikeako/darklingo/ab038b402ccbf290b40ba5aeb83199940bd06e13/assets/slate/incubator.svg);\n\n --word-split: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/word-split.svg);\n --word-split-background: url(https://gitlab.com/hasanger/darklingoassets/-/raw/main/word-split-background.svg);\n\n --locked-badge: brightness(0.5) contrast(2) brightness(0.5);\n --locked-lesson: brightness(0.5) contrast(1.4) brightness(0.8);\n --locked-story: brightness(0.5) contrast(1.5) brightness(0.8);\n\n --hover: var(--150);\n\n --light-translucent-800: #ffffff80;\n\n --dark-translucent-200: #00000020;\n --dark-translucent-400: #00000040;\n --dark-translucent-600: #00000060;\n\n --0-overlay: #00000040;\n\n --brand-gold-light: #e6b400;\n --brand-gold-dark: #e6a100;\n --brand-red: #b33434;\n --brand-orange: #d57d01;\n --brand-purple: #86639d;\n --brand-green: #69ae00;\n --brand-blue: #25789f;\n\n --green-primary: #aae467;\n --green-secondary: #85d926;\n --green-vivid: #78c800;\n\n --red-primary: #e87d7d;\n --red-secondary: #e46767;\n --red-vivid: #ff4b4b;\n\n --custom-color: /*[[custom-color]]*/;\n --custom-color-translucent-light: /*[[custom-color]]*/20;\n --custom-color-translucent-medium: /*[[custom-color]]*/40;\n }\n\n\n\n /*[[scroll]]*/\n /*[[leagues]]*/\n /*[[hideSuperAds]]*/\n /*[[hideCharacters]]*/\n\n\n\n /** Basics **/\n\n\n /* Background */\n .WOZnx.LhRk3:not(._1rl91):before,\n ._3C9O7,\n ._2YmyD,\n ._2cmOB {\n background-color: var(--50)\n }\n \n .WOZnx.LhRk3:not(._1rl91):before {\n border-color: var(--50)\n }\n\n .sXpqy:disabled,\n .related-posts,\n ._37HGt.G1JDk,\n .site-footer,\n ._3OTNX,\n .QS3B0,\n ._1zoL4,\n ._3_xiZ,\n ._3nU_m {\n background-color: var(--75)\n }\n\n ._2UUiS:after {\n background-color: var(--75) !important\n }\n\n input[type=checkbox],\n .eP5n4.BLCtW::before,\n ._3xJLZ::before,\n ._304vr::before,\n ._3C_oC::before,\n .sub-container,\n ._2Smk1::after,\n ._3yA12::after,\n ._3Z2cE:after,\n .eP5n4::before,\n .VTYcX::before,\n .site-wrapper,\n .navbar-inc,\n ._33APU,\n ._3lUbm,\n ._2VrUB,\n ._2nHL0,\n ._1BneE,\n ._1NPyE,\n ._3ha9t,\n ._2M6NO,\n ._1hnzV,\n ._2Kxv6,\n ._3PnTi,\n ._3gK3K,\n ._1AUpU,\n ._1qYD7,\n ._2j1Gc,\n ._11zAS,\n ._2PVaI,\n ._1YNZB,\n ._1U1P1,\n ._2GPX6,\n ._2QKoe,\n ._2Dx4v,\n ._1lgsd,\n ._1zsgz,\n ._3wZWk,\n ._3f1oK,\n ._17s2H,\n ._1ISLH,\n ._2VmmU,\n ._2Skl3,\n ._3rgc9,\n ._2nLk_,\n ._2Y3c_,\n .EEvc9,\n .xzblA,\n .FrL-W,\n .XO-AE,\n .l-V52,\n .xtPuL,\n ._3esGm,\n ._2ikVT,\n ._3bTT7,\n ._2p1op,\n body {\n background-color: var(--100)\n }\n\n ._1psXE {\n background-color: var(--100) !important\n }\n\n ._3PZWo,\n ._3zc-J,\n ._3BJQ_ {\n background-color: var(--100-overlay-medium)\n }\n\n ._1eBPl:first-child ._1lcy6,\n ._2povu tr:nth-child(2n),\n ._2bk_b th,\n ._2maxd,\n .fvNJ1 {\n background-color: var(--150)\n }\n\n .site-footer .navigation .info-links::before,\n ._2NolF:disabled:not(._1rl91):before,\n .language-dropdown .dropdown-toggle,\n .yTpGk:disabled:not(._2mG9r)::after,\n ._2NolF.LhRk3:not(._1rl91):before,\n .post-authors-list figure::before,\n .site-footer .navigation::before,\n .yTpGk.k6MEx:not(._2mG9r)::after,\n .post-authors-list h4::before,\n .post-list-item::before,\n ._2gnHr:disabled::after,\n ._2gnHr._28JSG::after,\n ._1qdLM::before,\n ._2cQin::before,\n ._1qdLM::after,\n ._2cQin::after,\n .dropdown-menu,\n .course-card,\n ._1IbT7,\n ._2M5ms,\n ._3EXnD,\n ._2_JcM,\n .s3gi1,\n .lO0R4,\n .IkLCT,\n .hdpq_ {\n background-color: var(--200);\n\n --hover: var(--250)\n }\n\n ._1EyKG,\n ._1Nr_x,\n ._1A0LT,\n ._2_bCr._3I0_3._3PY9l,\n ._4rplQ {\n background-color: var(--400)\n }\n \n ._2l3ju,\n ._19UAQ {\n background-color: var(--200);\n border-color: var(--400);\n }\n \n ._3Z2cE::after,\n .sJl8N:not([aria-disabled=\"true\"])::before {\n border-color: var(--300)\n }\n\n ._1GNtl ._3FISW,\n ._1uYPT ._2Amjo,\n ._2NET4 ._1MoE-,\n ._304vr,\n ._3xJLZ,\n .VTYcX,\n .eP5n4,\n .brXUB {\n background-color: var(--tertiary)\n }\n\n ._27o_2:not(._3pXv7):not(.kAVeU):not(._3rU1U):not(._3alTu):hover,\n ._3iNcu:not(._3WLN5):hover:not(:active):not(._3U_tr):not(.nCADK),\n ._3Ev3S:hover:not(:disabled):not(.k6MEx):not(._3tP0w)::after,\n ._3C_oC:hover:not(:active):not(.disCS):not(.hfPEz)::before,\n .fJSw6:hover:not(:active):not(._326cY):not(.IACXk)::after,\n .open .dropdown-toggle.stacked-dropdown .dropdown-toggle,\n .language-dropdown .dropdown-toggle:hover,\n .stacked-dropdown .dropdown-toggle:active,\n .stacked-dropdown .dropdown-toggle.active,\n .stacked-dropdown .dropdown-toggle:hover,\n .stacked-dropdown .dropdown-toggle:focus,\n ._37HGt:not(.G1JDk):hover,\n ._1t6SZ:not(.PVzmO):hover,\n ._168wl ._3ro2R:hover,\n ._168wl ._3hI6u:hover,\n ._21XHp ._1wpST:hover,\n ._1Ir70 ._20VuU:hover,\n ._1Ir70 .gjGcG:hover,\n ._21XHp .HkpQ_:hover,\n .ISEeS ._2nIuI:hover,\n .uqCpu ._2WiQc:hover,\n ._1wJYQ:hover::after,\n .ISEeS .D3QAY:hover,\n .uqCpu .uOkpe:hover,\n ._22L18:active,\n .Ud2qM:active,\n ._3S7wM:hover,\n ._21Icd:hover,\n ._32Uu5:hover,\n ._1KF6e:hover,\n ._1CkMd:hover,\n ._1Jk5X:hover,\n ._22L18:hover,\n ._2FdDp:hover,\n ._21W8z:hover,\n ._1cSqW:hover,\n ._3kz3Z:hover,\n ._3rMut:hover,\n ._1Ri-5:hover,\n ._3_pNV:hover,\n .FrL-W:hover,\n .Ud2qM:hover,\n .YH-oX:hover,\n .-qpyM:hover,\n .hm1Fy:hover,\n .rmbzf:hover,\n .V74YZ:hover,\n .yXp5g:hover,\n .TKIPn:hover,\n .slg8x:hover,\n .InGFc:hover,\n ._3uJzy,\n ._1eSrF,\n .K4oWn {\n background-color: var(--hover)\n }\n\n .InGFc:hover,\n ._23V08:hover,\n ._1O1Bz:hover {\n background-color: var(--hover) !important\n }\n\n .status-board .course-status .course-progress .course-progress-bar,\n .status-board .course-status .phase-marker .phase-icon.success,\n .phase-header .phase-container .phase-icon,\n .phase-header .page-flipper button,\n .post-authors-list h4 a::before,\n .post-authors-list h4 a::after,\n .application ol > li::before,\n .related-posts h4 a::before,\n .related-posts h4 a::after,\n .view-all-posts a,\n .secondary-navbar,\n .FuDmc li:hover,\n ._3KjXR::before,\n ._3xJLZ._3Pump,\n ._304vr._1Fqgi,\n ._1vUZG::after,\n ._-7YNG::after,\n .VTYcX._1TUXf,\n .eP5n4.BLCtW,\n ._3h6Yu th,\n .FuDmc li,\n ._4zwvA,\n ._14wBD,\n ._2bFNZ,\n ._3YMHd,\n ._2WZQR,\n ._2U1KW,\n ._2EzZN,\n ._234n7,\n ._2b454,\n ._1vUZG,\n ._2ofx2,\n ._2wStr,\n ._2suUz,\n ._3s6La,\n ._13mC4,\n ._1SDVx,\n ._3o_lc,\n ._-7YNG,\n .OK5hD,\n .rPdDn,\n .XJIrJ,\n .cZJnc {\n background-color: var(--custom-color)\n }\n\n\n [style*=\"background: rgb(28, 176, 246)\"] {\n background-color: var(--custom-color) !important\n }\n\n .fJSw6:active:not(._326cY):not(.IACXk)::after,\n ._21XHp ._1gmIY,\n ._168wl ._2rwos,\n ._1Ir70 ._1EDs5,\n .uqCpu ._1Gh9e,\n .ISEeS .G_xgk,\n ._3QwaZ {\n background-color: var(--custom-color-translucent-light)\n }\n\n [style*=\"background: rgb(221, 244, 255)\"]:hover {\n background-color: var(--custom-color-translucent-light) !important\n }\n\n ._2povu code {\n background-color: var(--custom-color-translucent-medium)\n }\n\n ._2TVVG._32YlO,\n ._3QwaZ.mKH7H,\n ._3e9O1,\n .TVxEB {\n background-color: var(--green-on-bg)\n }\n\n ._3QwaZ._1xmOg,\n ._2TVVG.lk2xf,\n ._3vF5k {\n background-color: var(--red-on-bg)\n }\n\n ._13GUt ._3CJwJ,\n .PppIj ._1gd-F {\n background-color: var(--tertiary)\n }\n\n ._2NmyP,\n ._3z2Yo,\n ._31-xb,\n ._14fD_ {\n background-color: var(--0-overlay)\n }\n\n ._3Uw7w {\n background-color: #222151\n }\n\n\n /* Border */\n\n ._37HGt.G1JDk {\n border-color: var(--50)\n }\n\n ._3OTNX {\n border-color: var(--75)\n }\n\n .status-board .course-status .phase-marker .phase-icon.success,\n ._2KQGO::before,\n ._3viv6._-0OHJ,\n ._13mC4,\n ._1oe_h,\n ._2S3SA {\n border-color: var(--100)\n }\n\n ._3YYVw:disabled:not(._2mG9r)::after,\n ._3YYVw.k6MEx:not(._2mG9r)::after,\n ._3C_oC:not(.disCS)::before,\n ._1eBPl ._1lcy6:first-of-type,\n .navbar-inc .avatar-container,\n .rBNLd td:not(:last-of-type),\n .rBNLd:not(:last-of-type) td,\n .status-board .course-module,\n ._1eBPl:first-child ._1lcy6,\n ._3ANq3 > :not(:last-child),\n ._28WsZ:not(:first-child),\n ._1O5Vj:not(:first-child),\n ._2Inq2:not(:last-child),\n ._3h6Yu td:first-child,\n ._1foEs:first-of-type,\n ._3b7Vp:first-of-type,\n ._2T70a:first-of-type,\n ._3sYli:first-of-type,\n ._28B_R:first-of-type,\n ._2povu blockquote,\n ._1Ir70 ._20VuU,\n ._1eBPl ._1lcy6,\n ._21XHp ._1wpST,\n ._168wl ._3ro2R,\n ._1Ir70 ._20VuU,\n ._168wl ._3hI6u,\n ._1zoD-::before,\n .ISEeS ._2nIuI,\n ._1Ir70 .gjGcG,\n ._3YYVw::after,\n ._2Smk1::after,\n ._2Ccni::after,\n .uqCpu ._2WiQc,\n ._21XHp .HkpQ_,\n .Ud2qM:active,\n .ISEeS .D3QAY,\n .uqCpu .uOkpe,\n .phase-header,\n ._3h6Yu td,\n ._2bk_b th,\n ._1X8fm td,\n ._2povu td,\n ._2povu th,\n ._2sVvh li,\n .g_Zzj td,\n ._3b7Vp,\n ._1Mo5S,\n ._374bD,\n ._3GdnM,\n ._3S7wM,\n ._2j1Gc,\n ._3tCYa,\n ._2Gskp,\n ._15nlG,\n ._1foEs,\n ._2Inq2,\n ._1OtjJ,\n ._2kTwS,\n ._2PhM1,\n ._1UYQp,\n ._2Nbkz,\n ._11apW,\n ._32Uu5,\n ._27avI,\n ._1cSqW,\n ._8roiG,\n ._33x5b,\n ._2S0Zh,\n ._2MyXH,\n ._2FdDp,\n ._1HxVp,\n ._2lmwK,\n ._3Pm6e,\n ._2Y0pF,\n ._1Ri-5,\n ._2BcWb,\n ._3_pNV,\n ._2T70a,\n ._3lKd4,\n ._1aS6c,\n ._2GEam,\n ._2hN48,\n ._2gk65,\n ._2gwdz,\n ._1KF6e,\n ._1cKdX,\n ._91Tq4,\n ._3rMut,\n ._3kMSj,\n ._3sYli,\n ._1j2NG,\n ._2ggHJ,\n ._15J0U,\n ._3kz3Z,\n ._1QiqV,\n ._21W8z,\n ._28B_R,\n ._1Fy_o,\n ._1sF-X,\n ._1-j6_,\n ._3Ixn-,\n .V74YZ,\n .SQR8J,\n .SEEvZ,\n .Isq59,\n .QdeEB,\n .BMuTY,\n .PZMcl,\n .EEvc9,\n .C8vLo,\n .FrL-W,\n .-qpyM,\n .-AHpg,\n .Xzfbf,\n ._23dOD,\n ._1p_Bp,\n ._2b2qG,\n ._2vsBg,\n ._2Hg6H,\n .UpoCK,\n ._1hNPS,\n ._1lUzF,\n hr {\n border-color: var(--200)\n }\n\n ._3C_oC::before {\n --border-color: var(--200)\n }\n\n ._17nEt {\n border-color: var(--250)\n }\n\n .stacked-dropdown .dropdown-toggle.gray-bordered,\n .stacked-dropdown .dropdown-menu li,\n .course-card .title {\n border-color: var(--300)\n }\n\n ._2igzU._1xWrt._2P5W7,\n input[type=checkbox] {\n border-color: var(--secondary)\n }\n\n ._3xJLZ::before,\n .VTYcX::before,\n ._304vr:before,\n .eP5n4::before,\n ._2Iqyl {\n border-color: var(--tertiary)\n }\n\n .fJSw6:active:not(._326cY):not(.IACXk)::after,\n .phase-header .phase-container .phase-icon,\n ._3pn9e:active:not(._1d8Vo) ._2f9B3,\n ._2-OmZ:active:not(._1p2g7) ._28sjs,\n ._3C_oC.disCS::before,\n input[type=checkbox]:checked::after,\n .phase-header .page-flipper button,\n input[type=checkbox]:checked,\n ._10T9U:hover > ._196g_,\n ._3xJLZ._3Pump::before,\n ._304vr._1Fqgi::before,\n ._2ZzW9 ._1gmIY .BkEgP,\n ._26wPn._1HjFK .Z7UoT,\n .VTYcX._1TUXf::before,\n .eP5n4.BLCtW::before,\n ._1c25o > ._196g_,\n ._2b454::before,\n .XJIrJ::before,\n ._2GRGJ._3LJUV,\n ._2GRGJ._3LJUV,\n ._17nEt:focus,\n ._35oPr,\n .ySIVK,\n .Xw55g {\n border-color: var(--custom-color)\n }\n\n ._2GRGJ._3LJUV {\n border-color: var(--custom-color) !important\n }\n\n .twkSI::after {\n border-color: var(--light-translucent-800)\n }\n\n [style=\"background: rgb(255, 255, 253) none repeat scroll 0% 0%; border-color: rgb(221, 244, 255); color: rgb(28, 176, 246);\"] {\n background-clip: padding-box !important;\n border-color: var(--light-translucent-800) !important\n }\n\n ._-7YNG::after,\n ._1vUZG::after,\n ._1vUZG {\n border-color: var(--dark-translucent-400)\n }\n\n /* Color */\n .open .dropdown-toggle.stacked-dropdown .dropdown-toggle,\n .stacked-dropdown .dropdown-toggle:active,\n .stacked-dropdown .dropdown-toggle.active,\n .stacked-dropdown .dropdown-toggle:hover,\n .stacked-dropdown .dropdown-toggle:focus,\n .post-authors-list .author-name h5,\n .stacked-dropdown .dropdown-toggle,\n footer ul.footer li:first-child,\n .post-list-item .post-title,\n .update-module .timestamp,\n .dropdown-menu > li > a,\n ._3QwaZ:not(:hover),\n ._1BneE ._1O1Zq h1,\n ._32iRr ._1rERA,\n ._21XHp ._1wpST,\n ._2ZzW9 ._1wpST,\n ._168wl ._3ro2R,\n ._1Ir70 ._20VuU,\n .ISEeS ._2nIuI,\n ._1sbh0 .ZNHik,\n ._2igzU._3LUrt,\n ._1zoD- .WlYrV,\n ._2ZzW9 .HkpQ_,\n ._21XHp .HkpQ_,\n .uqCpu ._2WiQc,\n .post-body,\n ._2VdVL h2,\n ._1q9m2 h2,\n ._28yft h2,\n ._37JAM h2,\n ._2JwH5 h2,\n ._2uf-t h2,\n ._1fag1,\n ._1W0kX,\n ._31R5G,\n ._3yver,\n ._1LruX,\n ._2eirj,\n ._3PrAS,\n ._1CkMd,\n ._1CsoA,\n ._1L6XQ,\n ._1jxVm,\n ._3nn1A,\n ._14oJt,\n ._31iJn,\n ._36KnY,\n ._3ZcIW,\n ._1wy04,\n ._3AraQ,\n ._1eZU8,\n ._1OeGd,\n ._3MNft,\n ._1Jk5X,\n ._3xFOm,\n ._3QZBV,\n ._1m1BK,\n ._3EgXo,\n ._3ly0h,\n ._7SUuD,\n ._2FKvk,\n ._2QCqu,\n ._2KRgS,\n ._3ywlt,\n ._2WP_P,\n ._2NKLU,\n ._1eibu,\n ._29lJ3,\n ._2zN81,\n ._1lJ31,\n ._29gqV,\n ._1qdLM,\n ._26wPn,\n ._2cDAr,\n ._1YdRX,\n ._1ccgT,\n ._3mABf,\n ._1KaT4,\n ._1ZA9g,\n ._1VA3z,\n ._2nAgU,\n ._2Iddf,\n ._1uzYU,\n ._3h6Yu,\n ._3r9vG,\n ._21hmH,\n ._37pP5,\n ._1IfR4,\n ._3TrlL,\n ._3xeFN,\n ._3pn9e,\n ._3mxWC,\n ._2cQin,\n ._15nlG,\n ._3kMVk,\n ._1ArOo,\n ._3QSh0,\n ._2-OmZ,\n ._27o_2,\n ._3K_4B,\n ._7_au9,\n ._1oj-F,\n ._37Hi-,\n ._2cZ9-,\n .SEEvZ,\n .UMzUz,\n .YBCQI,\n .MLyVF,\n .PqXfk,\n .saQLX,\n .yHQs3,\n .hOVdl,\n .MdG1q,\n .W6uig,\n .GokmT,\n .C8vLo,\n .mepBY,\n .y88kh,\n .yGEX2,\n .qp1qo,\n .rrLry,\n .-eWFQ,\n .oN_-E,\n .XWge1,\n ._2qakO,\n ._3YkaQ,\n ._1V_qq,\n ._1MTUU,\n ._17nEt,\n ._3HNwo,\n ._37Ydt ._2Iqyl ._1LQx7 ._2fOC9,\n .W5xWr,\n .W5xWr ~ ._2oc96,\n .n2Hcj,\n .s6l3H,\n ._35HQJ,\n .InGFc ._2vd8L,\n body,\n h6,\n h5,\n h4,\n h3,\n h2,\n h1 {\n color: var(--primary)\n }\n\n [style*=\"color: rgb(75, 75, 75)\"],\n .Mr3if {\n color: var(--primary) !important\n }\n\n .status-board .course-heading .course-title div,\n .post-authors-list .author-name .author-bio,\n ._1Fbch text[fill=\"currentColor\"],\n .site-footer .navigation ul li a,\n ._3QwaZ:not(:hover) ._3cvJx,\n .post-authors-list h4,\n ._1BneE ._1O1Zq h2,\n .related-posts h4,\n ._2dkQa, ._3N8KI,\n ._1X8fm, ._3HpyU,\n ._2Y3c_ ._3Rvce,\n ._3Ho-0 ._1dUcs,\n ._1sbh0 ._3hcLz,\n .sXpqy:disabled,\n ._1qdLM._3N2Ph,\n ._32iRr .A2ICB,\n ._1eZU8._3N2Ph,\n .site-footer p,\n ._2np70:hover,\n ._2JwH5 p,\n ._28yft p,\n ._1q9m2 p,\n ._2BEZ3 p,\n ._2RbCI p,\n ._37JAM p,\n ._2D8L4 a,\n ._2RvIL p,\n ._2uf-t p,\n .YRIzC p,\n ._1FtaH,\n ._3zHqu,\n ._3FII5,\n ._2I7YD,\n ._3uAwj,\n ._1f56Y,\n ._3j8Go,\n ._34sSH,\n ._3iwbr,\n ._2jQLr,\n ._2LBIq,\n ._2hYPk,\n ._1soKk,\n ._1dAEt,\n ._315yA,\n ._3bRSc,\n ._2dQwX,\n ._2mRi2,\n ._1gvsG,\n ._29ZQh,\n ._2EWDi,\n ._3iVqs,\n ._3oNS9,\n ._2k8ad,\n ._2ufQI,\n ._2QnAf,\n ._1Dcvf,\n ._21PEz,\n ._2xNPC,\n ._3D9Yz,\n ._1KRXZ,\n ._1xIvJ,\n ._2igzU,\n ._3ErSf,\n ._3IWeV,\n ._21PCv,\n ._288DZ,\n ._3XEH9,\n ._2ztBJ,\n ._1VWgO,\n ._15qam,\n ._15MkR,\n ._2nvdt,\n ._2NOG7,\n ._3YDP5,\n ._3hNKu,\n ._1cqUe,\n ._2iCsL,\n ._3KnwL,\n ._2s4Lh,\n ._2IZtO,\n ._2SDmF,\n ._2rUOh,\n ._3blqO,\n ._3Rqyw,\n ._3cvJx,\n ._2-CuU,\n ._1m_HC,\n ._1o_JQ,\n ._15-md,\n ._2ta-l,\n ._861_w,\n ._5I_cF,\n ._2QQA_,\n .uFNEM,\n .WbW-I,\n .RYa1p,\n .HnjwC,\n .jr4Xa,\n .FRf9s,\n .mbLxx,\n .jcVkl,\n .MxInZ,\n .RUO3N,\n .OhXul,\n .ccZTP,\n .C21s9,\n .B7sDL,\n .T6725,\n .mvAh1,\n .LuNpf,\n .g_Zzj {\n color: var(--secondary)\n }\n\n [style*=\"color: rgb(175, 175, 175);\"] {\n color: var(--secondary) !important\n }\n\n ._1wJYQ.k6MEx:not(._2mG9r), ._1wJYQ:disabled:not(._2mG9r),\n ._3iVqs[data-test=\"challenge-speak-button\"]:disabled,\n .site-footer .navigation ul li a:hover,\n ._2NolF:disabled:not(._1rl91),\n ._2NolF.LhRk3:not(._1rl91),\n ._1V15X ._2GdjT, ._29Qrr,\n ._2yvtl::placeholder,\n ._17nEt::placeholder,\n ._2ti2i::placeholder,\n ._10HmK::placeholder,\n ._2gBEa::placeholder,\n ._3ywlt::placeholder,\n ._2PAEX::placeholder,\n ._3MNft::placeholder,\n ._2gnHr:disabled,\n ._2gnHr._28JSG,\n ._2S0Zh,\n ._2Wjxc,\n ._3kXSn,\n ._2HEoZ,\n ._256ik,\n ._3xynE,\n ._3mShf,\n ._3yaFq,\n ._13C-f,\n ._3CW8A,\n ._2np70,\n ._12yJ8,\n ._3kz3Z,\n .UMs7Q,\n .PVzmO,\n .eNrNh,\n .kAVeU,\n .ojhZq,\n .xOipJ,\n .yWRY8 {\n color: var(--tertiary)\n }\n\n ._3YYVw:disabled:not(._2mG9r),\n .yTpGk:disabled:not(._2mG9r),\n ._3YYVw.k6MEx:not(._2mG9r),\n .yTpGk.k6MEx:not(._2mG9r),\n ._1hk_1._3alTu:active,\n .metRQ ._3CfgQ,\n .metRQ h2 {\n color: var(--tertiary) !important\n }\n\n .status-board .course-heading .course-title div a,\n .status-board .course-status .phase-marker.done,\n .fJSw6:active:not(._326cY):not(.IACXk),\n ._3zmPR[aria-current=\"page\"] ._1lJDk,\n .open .dropdown-toggle.btn-banner,\n .post-authors-list h4 a,\n ._10T9U:hover > ._196g_,\n ._26wPn._1HjFK .Z7UoT,\n footer ul.footer li a,\n .related-posts h4 a,\n .course-card .stats,\n .btn-banner:active,\n .btn-banner.active,\n ._1o_JQ span span,\n ._3_S-j span span,\n ._1c25o > ._196g_,\n .btn-banner:hover,\n .btn-banner:focus,\n ._2d3xe ._288DZ,\n ._14b16 ._2y11E,\n ._14b16 ._3YHqG,\n ._-3fIQ ._2NOG7,\n ._3eE_T ._2rUOh,\n ._26wPn._1HjFK,\n ._3NP7S .T6725,\n .rKOmf a:hover,\n .qp1qo:hover *,\n .ymIDz .B7sDL,\n ._3KnwL:hover,\n ._3hBUY:hover,\n .btn-banner,\n ._3AraQ a,\n ._3O3Y5 a,\n ._1ZA9g a,\n ._1OHBK a,\n ._2WP_P a,\n .rKOmf a,\n .yGEX2 a,\n .mepBY a,\n ._1TzvX,\n ._1bYwN,\n ._1NnRQ,\n ._1yq6r,\n ._1cSqW,\n ._1vrtM,\n ._1hdGS,\n ._2w7q8,\n ._1KF6e,\n ._2Ccni,\n ._3MoiQ,\n ._13TEM,\n ._2OOOF,\n ._3k6AZ,\n ._3Q1uX,\n ._2FJM1,\n ._2NeDx,\n ._3AbAv,\n ._3jKxm,\n ._1Ri-5,\n ._2__FI,\n ._1tZe-,\n ._1EXT_,\n .-HMz-,\n .kE5km,\n .aGcyX,\n .V74YZ,\n .Xw55g,\n .-qpyM,\n a {\n color: var(--custom-color)\n }\n\n\n [style*=\"color: rgb(28, 176, 246);\"]:not([style*=\"background-color: rgb(28, 176, 246)\"]),\n [style=\"color:#1caff6\"] {\n color: var(--custom-color) !important\n }\n\n ._1S8Vz ._1JOdT,\n ._3jOGk ._1yd8N,\n .QVM9M ._28jSG,\n ._2eHon .H_XA0,\n ._2hVK8,\n ._1EyKG {\n color: var(--100)\n }\n\n ._3dDzT {\n color: var(--200)\n }\n\n ._2TVVG._32YlO,\n ._2Za5p,\n ._1Nmv6 {\n color: var(--green-primary)\n }\n\n ._3QwaZ.mKH7H ._3cvJx,\n .mKH7H ._1_ZCT,\n ._3QwaZ.mKH7H,\n ._1xOpZ,\n ._34Jmg,\n ._3NwXb {\n color: var(--green-secondary)\n }\n\n ._3QwaZ._1xmOg,\n ._1sqiF {\n color: var(--red-primary)\n }\n\n ._3QwaZ._1xmOg ._3cvJx,\n ._2TVVG.lk2xf,\n ._2tfS2,\n ._1BszG {\n color: var(--red-secondary)\n }\n\n ._3CfgQ._2WF0E {\n color: var(--green-vivid)\n }\n\n ._3CfgQ._1jvQs {\n color: var(--red-vivid)\n }\n\n ._3iVqs[data-test=\"start-lesson\"],\n ._3kmfH,\n ._2ZPHo {\n color: #fff\n }\n\n ._2N9_o {\n color: #fff8\n }\n\n /* Streak Text */\n ._5L8jc + ._21PEz {\n color: #ff9d00\n }\n\n /* Gold Text */\n ._3nYQm,\n ._27yu9 {\n color: var(--brand-gold-light)\n }\n\n /* Text on Gold */\n ._28jSG,\n ._2JyFG,\n ._1yd8N,\n ._3PtId,\n ._2ZTRk,\n .yrLrI,\n .H_XA0,\n .GkDDe {\n color: #9e6613\n }\n\n\n\n\n\n\n\n\n\n /* Combos */\n ._2yvtl,\n ._2NVvB,\n ._2ti2i,\n ._1O_I2,\n ._2PAEX,\n ._2a3s4,\n ._2gBEa,\n ._10HmK {\n background: var(--75);\n border-color: var(--200);\n color: var(--primary)\n }\n\n\n ._3iVqs[data-test=\"challenge-speak-button\"]:disabled::after,\n ._2ob7j ._21Icd,\n ._21PCv::after,\n ._3iVqs::after,\n ._26wPn::after,\n ._1wJYQ::after,\n ._2OOOF::after,\n ._3IWeV::after,\n ._3HHNB:after,\n .gEPmD::after,\n ._2V4l4,\n ._1K9ZC,\n ._3ZuGY,\n ._2j-Sn,\n ._399cc,\n ._1Q4WV,\n ._2iJ6U,\n ._31R5G,\n ._3p5e9,\n ._1t6SZ,\n ._2VdVL,\n ._21Icd,\n ._2nhmY,\n ._11VOS,\n ._1e1GW,\n ._2i8Km,\n ._1b8Ja,\n ._13Hyj,\n ._1KUxv,\n ._29e-M,\n ._1UtJe,\n ._1tvS_,\n ._3Gj5_,\n ._3g2C1,\n ._27o_2,\n .QNCcj,\n .YEVWG,\n .SaEU8,\n .metRQ,\n .HnjwC,\n .PbmaC,\n .mrmpB,\n .TKIPn,\n .zAIdz,\n ._1Xbcn,\n ._26Rwj,\n ._1MOjk,\n ._1o6AI,\n ._1tkoi {\n background: var(--100);\n border-color: var(--200)\n }\n\n ._1hk_1._33juy,\n ._3iNcu,\n ._37HGt {\n background: var(--100);\n border-color: var(--200);\n color: var(--primary)\n }\n\n\n ._26Aq_ {\n background: var(--100);\n border-color: var(--200);\n color: var(--secondary)\n }\n\n ._3nCPn {\n border-color: var(--200);\n color: var(--tertiary)\n }\n\n [style=\"background: rgb(255, 255, 253) none repeat scroll 0% 0%; border-color: rgb(229, 229, 229); color: rgb(175, 175, 175);\"],\n [style=\"background: rgb(255, 255, 253); border-color: rgb(229, 229, 229); color: rgb(175, 175, 175);\"] {\n background: var(--100) !important;\n border-color: var(--200) !important;\n color: var(--secondary) !important\n }\n\n ._1hk_1._3alTu {\n background: var(--100);\n border-color: var(--200);\n color: var(--tertiary)\n }\n\n\n\n .Ud2qM {\n background: var(--100);\n border-color: var(--200);\n color: var(--custom-color)\n }\n\n [style=\"background: rgb(255, 255, 253) none repeat scroll 0% 0%; border-color: rgb(229, 229, 229); color: rgb(28, 176, 246);\"],\n [style=\"background: rgb(255, 255, 253); border-color: rgb(229, 229, 229); color: rgb(28, 176, 246);\"] {\n background: var(--100) !important;\n border-color: var(--200) !important;\n color: var(--custom-color) !important\n }\n\n ._1jKFt::before,\n ._2TPZF::after,\n ._3izPU,\n ._3M0r3,\n .GVcJz {\n background: var(--150);\n border-color: var(--200)\n }\n\n ._111Zg {\n background: var(--100);\n border-color: var(--tertiary)\n }\n \n .f2zGP {\n background: inherit\n }\n\n [style=\"background: rgb(28, 176, 246) none repeat scroll 0% 0%; border-color: rgb(24, 153, 214); color: rgb(255, 255, 253);\"],\n [style=\"background: rgb(28, 176, 246); border-color: rgb(24, 153, 214); color: rgb(255, 255, 253);\"],\n [data-test=\"global-practice\"]::after {\n background: var(--custom-color) !important;\n border-color: var(--dark-translucent-400) !important;\n }\n\n ._3iVqs[data-test=\"start-lesson\"]:hover::after,\n ._3iVqs[data-test=\"start-lesson\"]::after,\n ._2ESN4::after,\n ._mBjo {\n background: var(--custom-color);\n border-color: var(--dark-translucent-600)\n }\n\n\n ._26Aq_._35ADQ,\n ._26Aq_:active,\n ._3nCPn:active,\n ._3nCPn:focus,\n ._3nCPn:hover,\n ._26Aq_:focus,\n ._26Aq_:hover,\n .AVekF,\n .UQBJ_ {\n border-color: var(--custom-color);\n color: var(--custom-color)\n }\n\n ._26wPn._1HjFK::after,\n ._1TzvX::after,\n ._2BPAp,\n ._21IEC {\n background: var(--custom-color-translucent-light);\n border-color: var(--custom-color)\n }\n\n ._3C_oC:active:not(.hfPEz):before,\n ._3C_oC.disCS:before {\n background: var(--custom-color-translucent-light);\n --border-color: var(--custom-color);\n }\n\n ._3iNcu:not(._3WLN5).nCADK, ._3iNcu:not(._3WLN5):active:not(._3U_tr),\n ._1hk_1._3rU1U:hover,\n ._1hk_1._3rU1U {\n background: var(--custom-color-translucent-light);\n border-color: var(--custom-color);\n color: var(--custom-color)\n }\n\n ._3C_oC:active:not(.hfPEz),\n ._3C_oC.disCS,\n .Z7UoT {\n border-color: var(--custom-color);\n color: var(--custom-color)\n }\n\n\n [style=\"background: rgb(221, 244, 255) none repeat scroll 0% 0%; border-color: rgb(28, 176, 246); color: rgb(28, 176, 246);\"],\n [style=\"background: rgb(221, 244, 255); border-color: rgb(28, 176, 246); color: rgb(28, 176, 246);\"] {\n background: var(--custom-color-translucent-light) !important;\n border-color: var(--custom-color) !important;\n color: var(--custom-color) !important\n }\n\n ._2GUPW,\n ._3pXv7 {\n background: var(--green-on-bg);\n border-color: var(--green-secondary);\n color: var(--green-primary)\n }\n\n .pyZ7R {\n background: var(--green-on-bg);\n color: var(--green-primary)\n }\n\n ._1ZAmI ._21Icd {\n background: var(--green-on-bg);\n border-color: var(--green-secondary);\n box-shadow: 0 2px 0 0 var(--green-secondary)\n }\n\n .dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus {\n background-color: var(--hover);\n color: var(--primary)\n }\n\n\n ._2TTO0 .WOZnx,\n ._2NolF {\n --web-ui_button-background-color: var(--custom-color);\n --web-ui_button-border-color: var(--dark-translucent-400);\n --web-ui_button-color: #fff;\n }\n\n .WOZnx:not(._2wsQR):not(.iew1c),\n ._26QYy {\n --web-ui_button-background-color: var(--100);\n }\n \n .WOZnx,\n ._26QYy {\n --web-ui_button-border-color: var(--200);\n --web-ui_button-color: var(--secondary);\n }\n\n .WOZnx.LhRk3:not(._1rl91), .WOZnx:disabled:not(._1rl91),\n ._1O290 {\n --web-ui_button-background-color: var(--100);\n --web-ui_button-border-color: var(--200);\n --web-ui_button-color: var(--primary);\n\n --web-ui_button-background-color-disabled: var(--100);\n --web-ui_button-border-color-disabled: var(--200);\n --web-ui_button-color-disabled: var(--300);\n\n --web-ui_button-filter-hover: none;\n }\n\n .kx8zL,\n .pmjld {\n --web-ui_button-background-color: var(--custom-color-translucent-light);\n --web-ui_button-border-color: var(--custom-color);\n --web-ui_button-color: var(--custom-color);\n }\n\n ._9C_ii {\n --web-ui_button-background-color: #58cc02;\n --web-ui_button-border-color: #58a700;\n --web-ui_button-color: #fff;\n }\n\n .NAidc {\n --web-ui_button-background-color: #ff4b4b;\n --web-ui_button-border-color: #ea2b2b;\n --web-ui_button-color: #fff;\n }\n\n ._34v50 {\n --web-ui_button-color: var(--custom-color);\n }\n\n ._3zRHo {\n --web-ui_button-color: #fff;\n --web-ui_button-background-color: transparent;\n --web-ui_button-background-color-disabled: transparent;\n --web-ui_button-border-color: rgba(0,0,0,0.2);\n --web-ui_button-border-color-disabled: rgba(0,0,0,0.08);\n --web-ui_button-color-disabled: hsla(0,0%,100%,0.4);\n --web-ui_button-filter-hover: opacity(0.8);\n }\n\n ._26QYy {\n --web-ui_button-background-color: #fff;\n --web-ui_button-background-color-disabled: hsla(0,0%,100%,0.4);\n --web-ui_button-border-color: hsla(0,0%,100%,0.5);\n --web-ui_button-color: #5c6cfc;\n --web-ui_button-color-disabled: #5c6cfc;\n --web-ui_button-filter-hover: none;\n }\n\n .tEvKV {\n --web-ui_button-background-color: #5c6cfc;\n --web-ui_button-background-color-disabled: rgba(92,108,252,0.4);\n --web-ui_button-border-color: #4755df;\n --web-ui_button-color: #fff;\n --web-ui_button-color-disabled: #fff;\n --web-ui_button-filter-hover: none;\n }\n\n ._2NolF::before {\n box-shadow: var(--dark-translucent-600) 0 var(--__internal__lip-width) 0, var(--web-ui_button-background-color) 0 var(--__internal__lip-width) 0;\n }\n\n ._2TTO0 .WOZnx::before {\n box-shadow: 0 2px 0 var(--__internal__border-color), 0 2px 0 var(--custom-color);\n }\n\n ._26QYy._2NolF::before {\n box-shadow: 0 var(--__internal__lip-width) 0 var(--web-ui_button-border-color);\n }\n\n\n\n\n\n\n\n /* SVG */\n\n /* Shadow */\n [stroke=\"rgb(216,216,216)\"] {\n stroke: var(--75)\n }\n\n /* Healing Crack */\n ._15U-t .lYUW1:not(._17z4M) svg > g > g > g:not([transform=\"matrix(2,0,0,2,-48,-152.5)\"]) g[opacity=\"1\"] > [fill=\"rgb(255,255,255)\"],\n ._2qVNv ._2XCwy svg > g > g > g:not([transform=\"matrix(2,0,0,2,-48,-152.5)\"]) g[opacity=\"1\"] > [fill=\"rgb(255,255,255)\"],\n .eU0Q4 ._3a8EI svg > g > g > g:not([transform=\"matrix(2,0,0,2,-48,-152.5)\"]) g[opacity=\"1\"] > [fill=\"rgb(255,255,255)\"]\n {\n fill: var(--100)\n }\n\n /* Animated Streak */\n ._23TFn [fill=\"rgb(255,255,255)\"] {\n fill: var(--100)\n }\n\n [fill=\"rgb(240,240,240)\"] {\n fill: var(--200)\n }\n\n .JdrLm [stroke=\"rgb(255,255,255)\"] {\n stroke: var(--100)\n }\n\n\n /* Lesson Graphics */\n ._2rKNN [fill=\"white\"] {\n fill: var(--100)\n }\n\n ._2rKNN [fill=\"#e5e5e5\"],\n .o86GR [fill=\"#e5e5e5\"] {\n fill: var(--400)\n }\n\n ._2rKNN [fill=\"#ffd900\"] {\n fill: var(--brand-gold-light)\n }\n\n\n /* XP Progress */\n ._1Fbch [fill=\"#fff\"] {\n fill: var(--100)\n }\n\n ._1Fbch [stroke=\"#dedede\"][stroke-opacity=\"0.5\"] {\n stroke: var(--200);\n stroke-opacity: 1\n }\n\n\n /* Speaker Icon */\n ._2kfEr [fill=\"rgb(28,176,246)\"] {\n fill: var(--custom-color)\n }\n\n [stroke=\"rgb(28,176,246)\"] {\n stroke: var(--custom-color)\n }\n\n /* Social Links */\n .site-footer .navigation .social-links a svg {\n fill: var(--secondary) \n }\n\n .site-footer .navigation .social-links a svg:hover {\n fill: var(--tertiary)\n }\n\n /* Score */\n ._2WFuD text[fill=\"#ffffff\"],\n ._1P4sR,\n .UOnin {\n fill: var(--200)\n }\n\n ._2WFuD [fill=\"#ffc800\"] {\n fill: var(--brand-gold-light)\n }\n\n /* Friend XP Chart */\n [stroke=\"#dedede\"] {\n stroke: var(--200)\n }\n\n [fill=\"#1CB0F6\"][stroke=\"#1CB0F6\"] {\n stroke: var(--custom-color);\n fill: var(--custom-color)\n }\n\n ._18W4a circle {\n fill: var(--100)\n }\n\n\n\n\n\n\n\n\n\n /** Filters **/\n\n\n /* Locked Badge */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/leagues/badge_locked.svg\"] {\n filter: var(--locked-badge)\n }\n\n /* Locked Lesson */\n ._18W4a path:first-child,\n ._2AZ_h,\n ._2Zucs:not(._3LLRN),\n ._1cRje:not(._3a8EI),\n ._1Nr_x svg,\n ._1A0LT svg {\n filter: var(--locked-lesson)\n }\n\n /* Locked Story */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-locked.svg\"],\n ._2zY7s:disabled,\n ._3t-oC svg {\n filter: var(--locked-story)\n }\n\n /* Complete Story */\n [style=\"background: rgb(255, 177, 0); cursor: pointer;\"],\n ._3dqWQ svg,\n ._1JPPG svg {\n filter: brightness(0.825) saturate(0.95) hue-rotate(-5deg)\n }\n\n\n /* Darken */\n .rKOmf a {\n filter: brightness(0.8)\n }\n\n /* Brighten */\n ._3Ev3S[data-test=\"global-practice\"]:hover:not(:disabled):not(.k6MEx):not(._3tP0w),\n .FuDmc li:hover,\n .rKOmf a:hover {\n filter: brightness(1.1)\n }\n\n ._3Ev3S:hover:not(:disabled):not(.k6MEx):not(._3tP0w),\n ._3iLdv:hover:not(._2d3xe) ._288DZ,\n .azI4K:hover:not(._3NP7S) ._1TuHK,\n .tCGvL:hover:not(._-3fIQ) ._1CrYJ,\n ._3iLdv:hover:not(._2d3xe) .InZNv,\n .tCGvL:hover:not(._-3fIQ) ._2NOG7,\n .qFtOl:hover:not(._3eE_T) ._2_MEs,\n .qFtOl:hover:not(._3eE_T) ._2rUOh,\n .azI4K:hover:not(._3NP7S) .T6725,\n .azI4K:hover:not(._3NP7S) .T6725,\n .Zpd4B:hover:not(.ymIDz) ._305Ib,\n .Zpd4B:hover:not(.ymIDz) .B7sDL,\n ._3pP2- ._2zY7s:disabled,\n ._1IRp8 ._2zY7s:disabled,\n ._3jHvQ ._2zY7s:disabled,\n ._27o_2:hover,\n ._1t6SZ:hover,\n ._1O1Bz:hover {\n filter: none\n }\n\n\n\n\n\n\n\n\n\n .site-footer .navigation .info-links::before,\n ._3qbk_ ._3C09M:hover > img:first-child,\n ._3qbk_ ._3C09M:hover > span,\n ._3dqWQ._17z4M::before,\n ._2sPx0 {\n opacity: 1\n }\n\n .bjjp9::after {\n opacity: 0.875\n }\n ._1DC8p {\n opacity: 0.4\n }\n \n ._2Amjo {\n background-color: #58cc02;\n }\n\n\n\n\n\n\n\n\n\n /** Misc **/\n\n\n ._3FFs0 {\n background: linear-gradient(90deg, var(--100), transparent 10%, transparent 90%, var(--100));\n }\n\n ._12w2e,\n ._1lI5v,\n ._1SBnt,\n ._2m5__ {\n --web-ui_button-color: var(--custom-color);\n }\n\n ._10NA5 {\n --web-ui_progress-bar-color: var(--brand-gold-light);\n }\n\n @media (min-width: 1050px) {\n ._2_MEs {\n margin-right: 12px;\n }\n\n ._16kTE {\n margin-right: 0;\n }\n }\n\n .V3M4U {\n outline-color: var(--200)\n }\n\n .view-all-posts a {\n box-shadow: none;\n border-bottom: 4px solid var(--dark-translucent-600)\n }\n\n .update-module {\n border: none;\n border-top: 1px solid var(--200)\n }\n\n ._3jpnK::after,\n .l6VQU::after {\n filter: brightness(0.6);\n border-color: #0009\n }\n\n ._3jpnK::after,\n .l6VQU::after,\n ._3jpnK,\n .l6VQU {\n background-color: var(--custom-color)\n }\n\n ._3t-oC {\n --outline-color: var(--100)\n }\n\n .gf4sg {\n --outline-color: var(--200)\n }\n\n\n\n\n ._1Uk5u,\n ._2udJ-,\n ._2udJ-,\n .IAjip,\n .aL9d4 {\n position: relative\n }\n\n ._1Uk5u,\n ._2udJ-,\n .IAjip {\n background-color: var(--custom-color)\n }\n\n ._1Uk5u,\n ._2udJ-,\n .IAjip {\n overflow: hidden\n }\n\n .aL9d4 {\n border-color: var(--custom-color)\n }\n\n ._2udJ-::before,\n ._1Uk5u::before,\n .IAjip::before,\n .aL9d4::before {\n content: '';\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n z-index: 0\n }\n\n ._2udJ-::before,\n ._1Uk5u::before,\n ._2udJ-::before,\n .IAjip::before,\n ._3oQke {\n background-color: #0006\n }\n\n .aL9d4::before {\n border: 3px solid #0006;\n border-radius: inherit;\n box-sizing: content-box;\n width: 100%;\n height: 100%;\n left: -3px;\n top: -3px\n }\n\n ._2udJ- div,\n .IAjip *,\n ._1KCXr {\n z-index: 1;\n position: relative\n }\n\n ._3iVqs[data-test=\"start-lesson\"]:active,\n ._3iVqs[data-test=\"start-lesson\"]:hover {\n filter: brightness(1.1) !important\n }\n\n ._2UiDU {\n background-position: -147px -69px\n }\n\n ._2ef-V {\n height: 15px;\n width: 15px\n }\n\n ._3iVqs[data-test=\"start-lesson\"]::after {\n border-width: 0 0 4px 0\n }\n\n ._3iVqs[data-test=\"start-lesson\"]:active:not(:disabled)::after {\n border-width: 0 0 0 0\n }\n\n ._1zoD-::before,\n ._1FWpv > div {\n border-color: var(--200);\n box-shadow: 0 2px 0 var(--200)\n }\n\n ._27o_2:not(.kAVeU):not(._3pXv7):not(._3alTu):active {\n border-width: 2px;\n margin-top: 4px\n }\n\n\n\n ._3qbk_ ._3cX2U, ._3qbk_ ._3PugZ {\n padding-right: 0;\n margin-right: 5px\n }\n\n .IO4vW {\n padding-top: 0;\n margin-top: 3px\n }\n\n\n\n ._1X8fm td {\n border-width: 2px\n }\n\n .hm1Fy {\n border-radius: 5px\n }\n\n ._1e1GW::after,\n ._2t35G:after {\n border-right-color: var(--100)\n }\n\n ._1e1GW::before,\n ._2t35G:before {\n border-right-color: var(--200)\n }\n\n .bjjp9:before {\n border-right-color: var(--custom-color)\n }\n\n ._103zq:after {\n border-top-color: var(--primary)\n }\n\n ._1TuHK {\n transition: none\n }\n\n ._1pZox,\n ._3lKd4,\n html {\n overflow: auto\n }\n\n ._17nEt,\n ._10HmK {\n caret-color: var(--custom-color)\n }\n\n\n\n /* Menu Hover */\n ._1kJpR ._2QyqO::before,\n ._3qbk_ ._1nIcg::before,\n ._11bKq .dRGy3::before,\n .goj2_ ._1I4lY::before {\n content: '';\n background: var(--100);\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 1;\n opacity: 0;\n transition: opacity ease-in-out 200ms\n }\n\n\n ._1kJpR ._2QyqO:hover::before,\n ._3qbk_ ._1nIcg:hover::before,\n ._11bKq .dRGy3:hover::before,\n .goj2_ ._1I4lY:hover::before {\n opacity: 0.3\n }\n\n\n /* Stories Tooltip */\n ._31R5G::after {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n background: var(--100);\n border: 2px solid;\n border-color: transparent var(--200) var(--200) transparent;\n border-radius: 0 0 5px 0;\n transform: rotate(45deg)\n }\n\n\n /* Dotted Word Underline */\n ._1hdGS,\n ._3UZ75,\n ._1bkpY,\n ._3Lg1h {\n background-position: 0 100%;\n background-repeat: repeat-x;\n background-size: 5px 2px;\n padding-bottom: 5px\n }\n\n\n ._2igzU._1Wk_o,\n ._3UZ75,\n ._3Lg1h {\n background-image: linear-gradient(90deg, var(--secondary) 60%, transparent 0)\n }\n\n ._1hdGS {\n background-image: linear-gradient(90deg, var(--custom-color) 60%, transparent 0)\n }\n\n ._1bkpY {\n background-image: linear-gradient(90deg, #ff9d00 60%, transparent 0)\n }\n\n ._1WZ6K:before {\n background: linear-gradient(transparent,transparent 70%, var(--100))\n }\n\n\n\n /* Lesson Colors */\n ._17vI2::after,\n ._2dJxv,\n ._2fFQi,\n ._50MDd,\n .XmFOe,\n .RO4YX {\n background-color: var(--brand-purple)\n }\n\n ._1HSah {\n background-color: #a9a1ff;\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/770a692eec622490ee01f106527ce6e9.svg)\n }\n\n ._2zaxB,\n .a-58R,\n .wdzvP {\n background-color: var(--brand-blue)\n }\n\n ._1OKiq,\n ._3BfIv,\n ._3ycGc {\n background-color: var(--brand-green)\n }\n\n ._2tERm,\n ._1Do3j,\n .OPutV {\n background-color: var(--brand-red)\n }\n\n ._2FApd .twkSI,\n ._2FApd,\n .KC6xz,\n .Q2YDq {\n background-color: var(--brand-orange)\n }\n\n\n ._3Gx6D,\n .SSzTP {\n background-color: var(--brand-gold-light)\n }\n\n .SSzTP._3x-Tr,\n .SSzTP.jXGxO,\n ._3dqWQ {\n background-color: var(--brand-gold-dark)\n }\n\n ._1JPPG {\n background-image: linear-gradient(135deg,var(--brand-gold-light),var(--brand-gold-light) 26%,var(--brand-gold-dark) 0,var(--brand-gold-dark) 39%,var(--brand-gold-light) 0,var(--brand-gold-light) 52%,var(--brand-gold-dark) 0,var(--brand-gold-dark) 57%,var(--brand-gold-light) 0,var(--brand-gold-light) 78%,var(--brand-gold-dark) 0,var(--brand-gold-dark) 90%,var(--brand-gold-light) 0,var(--brand-gold-light))\n }\n\n\n ._2YJEC, ._8R91G,\n .XmFOe .twkSI {\n color: var(--brand-purple)\n }\n\n ._2zaxB .twkSI {\n color: var(--brand-blue)\n }\n\n ._3BfIv .twkSI {\n color: var(--brand-green)\t\n }\n\n .OPutV .twkSI {\n color: var(--brand-red)\n }\n\n ._2FApd .twkSI {\n color: var(--brand-orange)\n }\n\n .SSzTP .twkSI {\n color: var(--brand-gold-light)\n }\n\n\n .o86GR [fill=\"#ffd900\"] {\n fill: var(--brand-gold-light)\n }\n\n .o86GR [fill=\"white\"] {\n fill: var(--100)\n }\n\n\n\n\n\n\n\n\n\n /* Lesson Animations */\n\n @keyframes _2XHXx {\n 0% {\n --web-ui_button-background-color: var(--red-on-bg);\n --web-ui_button-border-color: var(--red-vivid);\n --web-ui_button-color: var(--red-vivid)\n }\n\n to {\n --web-ui_button-background-color: var(--100);\n --web-ui_button-border-color: var(--200);\n --web-ui_button-color: var(--primary)\n }\n }\n\n @keyframes xz1TC {\n 0% {\n --web-ui_button-background-color-disabled: var(--green-on-bg);\n --web-ui_button-border-color-disabled: var(--green-vivid);\n --web-ui_button-color-disabled: var(--green-vivid)\n }\n\n to {\n --web-ui_button-background-color: var(--100);\n --web-ui_button-border-color: var(--200);\n --web-ui_button-color: var(--tertiary)\n }\n }\n\n @keyframes _3CCqq {\n 0% {\n color: var(--green-vivid)\n }\n\n to {\n color: var(--tertiary)\n }\n }\n\n @keyframes _12Y0Q {\n 0% {\n background-color: var(--green-on-bg);\n border-color: var(--green-vivid)\n }\n\n to {\n background-color: var(--100);\n border-color: var(--200)\n }\n }\n\n @keyframes _1CMJ_ {\n 0% {\n color: var(--custom-color)\n }\n\n to {\n color: var(--primary)\n }\n }\n\n @keyframes _3173a {\n 0% {\n color: var(--red-vivid)\n }\n\n to {\n color: var(--primary)\n }\n }\n\n @keyframes _1IbMD {\n 0% {\n background-color: var(--red-on-bg);\n border-color: var(--red-vivid)\n }\n\n to {\n background-color: var(--100);\n border-color: var(--200)\n }\n }\n\n @keyframes _3GaAi {\n 0%, 66% {\n background: var(--red-on-bg);\n border-color: var(--red-vivid);\n color: var(--red-vivid)\n }\n\n to {\n background: var(--100);\n border-color: var(--200);\n color: var(--primary)\n }\n }\n\n @keyframes _3rUaZ {\n 0%, 66% {\n background: var(--green-on-bg);\n border-bottom-width: 4px;\n border-color: var(--green-vivid);\n color: var(--green-vivid);\n margin-bottom: 0\n }\n\n to {\n background: var(--100);\n border-bottom-width: 2px;\n border-color: var(--200);\n color: var(--tertiary);\n margin-bottom: 2px\n }\n }\n\n @keyframes _17ErJ {\n 0%, 66% {\n background: var(--red-on-bg);\n border-bottom-width: 4px;\n border-color: var(--red-vivid);\n color: var(--red-vivid);\n padding-bottom: 11px\n }\n\n to {\n background: var(--100);\n border-bottom-width: 2px;\n border-color: var(--200);\n color: var(--tertiary)\n }\n }\n\n @keyframes _1QZ9V {\n 0%,66% {\n background: var(--red-on-bg);\n border-bottom-width: 4px;\n border-color: var(--red-vivid);\n color: var(--red-vivid);\n padding-bottom: 7px\n }\n\n to {\n background: var(--100);\n border-bottom-width: 2px;\n border-color: var(--200);\n color: var(--tertiary);\n padding-bottom: 9px\n }\n }\n\n @keyframes _2YVNl {\n 0%,66% {\n background: var(--red-on-bg);\n border-color: var(--red-vivid);\n box-shadow: 0 2px 0 0 var(--red-vivid);\n z-index: 2\n }\n\n to {\n background: var(--100);\n border-color: var(--200);\n box-shadow: none;\n z-index: 0\n }\n }\n\n @keyframes _27U0N {\n 0%,to {\n background-color: var(--100);\n color: var(--primary);\n left: 0\n }\n\n 12.5%,37.5%,62.5%,87.5% {\n background-color: var(--red-on-bg);\n border-color: var(--red-vivid);\n color: var(--red-vivid);\n left: -4px\n }\n\n 25%,50%,75% {\n background-color: var(--red-on-bg);\n border-color: var(--red-vivid);\n color: var(--red-vivid);\n left: 4px\n }\n }\n\n\n\n\n\n\n\n\n\n /** Image Replacement **/\n\n /* Setup */\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/4fa0baa7df59544c7cf33fa4ef9a260c.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/2f97f817edae3b0832b4172840495d04.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/9d4f704de73abbe35b631a2279ae1fe7.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a72cd95b77171e6e00de85fc7389da67.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/77a8198c60820721c1c28243e13e0419.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._3JN0P[src=\"//d35aaqx5ub95lt.cloudfront.net/images/ba45a1b38107480e030a0a06fc13d6ac.svg\"],\n ._3Ovgb[src=\"//d35aaqx5ub95lt.cloudfront.net/images/5bc1dd6b146c2a46a564e72aed686c31.svg\"],\n ._2956R[src=\"//d35aaqx5ub95lt.cloudfront.net/images/843ccd179178c2e2731c8cc850d09c53.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/4fe661b8df4bfad97709417d62b83422.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/dc4851466463c85bbfcaaaaae18e1925.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/e2a5aaf36ea4bfed992d57e24f6e1699.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/d078166cbc81ac85c4dcce01946c8177.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/161467c702bb90ba0b448db4d6e835c4.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/cd66bb5ddbc8d1180c03df2a14def2a3.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a72cd95b77171e6e00de85fc7389da67.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/93586c9e933781ed90e75c15a6b4a185.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-unlocked.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-complete.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-logo-feather.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info_dark.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-badge.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-disabled-light.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/special-char-down.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/icons/pen-circle.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/images/juicy-streak.svg\"],\n [src=\"/web-ui/images/icons/4fa0baa7df59544c7cf33fa4ef9a260c.svg\"],\n [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duo-plus-shop.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/dumbbell-blue.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duo-plus-fly.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/arrow-down.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/images/comments.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"],\n [src=\"/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/x.svg\"],\n [src=\"/images/incubator-logo-feather-font.svg\"],\n ._11ZuL,\n ._2yAAa,\n ._10Q84,\n ._305Ib,\n ._3pOSr,\n ._1G46l,\n ._1Bb1e,\n ._24Wnr,\n ._3KjQU,\n ._1CrYJ,\n ._1TuHK,\n ._3ZYPU,\n ._3ft88,\n ._6c6Bw,\n ._2_MEs,\n ._-7Sri,\n ._1avU-,\n .InZNv {\n box-sizing: border-box;\n width: 0;\n height: 0;\n background-repeat: no-repeat\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/8c6de9d973001f7035812d5ae2805574.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/269fd2d7daf6cfb28a5a2ac765f7e198.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/9d4f704de73abbe35b631a2279ae1fe7.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/8c6de9d973001f7035812d5ae2805574.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a72cd95b77171e6e00de85fc7389da67.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/269fd2d7daf6cfb28a5a2ac765f7e198.svg\"],\n ._33Xi1[src=\"//duolingo-forum-web.duolingo.com/assets/cd66bb5ddbc8d1180c03df2a14def2a3.svg\"],\n ._3b7Vp [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n ._3JN0P[src=\"//d35aaqx5ub95lt.cloudfront.net/images/ba45a1b38107480e030a0a06fc13d6ac.svg\"],\n ._3Ovgb[src=\"//d35aaqx5ub95lt.cloudfront.net/images/5bc1dd6b146c2a46a564e72aed686c31.svg\"],\n ._2956R[src=\"//d35aaqx5ub95lt.cloudfront.net/images/843ccd179178c2e2731c8cc850d09c53.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f754af1bf4bf03790cc2a70fe3c5a245.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/93586c9e933781ed90e75c15a6b4a185.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-complete.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-unlocked.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-logo-feather.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-badge.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/special-char-down.svg\"],\n [src=\"/web-ui/images/icons/269fd2d7daf6cfb28a5a2ac765f7e198.svg\"],\n [src=\"/web-ui/images/icons/8c6de9d973001f7035812d5ae2805574.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duo-plus-shop.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/dumbbell-blue.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duo-plus-fly.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/arrow-down.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/images/comments.svg\"],\n [src=\"/images/incubator-logo-feather-font.svg\"],\n ._1Bb1e,\n ._3KjQU,\n ._11ZuL,\n ._2yAAa,\n ._3pOSr,\n ._3ZYPU,\n ._-7Sri,\n ._2_MEs,\n .Qc8SE {\n background-size: contain\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/2f97f817edae3b0832b4172840495d04.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/4fa0baa7df59544c7cf33fa4ef9a260c.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/1489ea739ce8ce0fa9ed1789a71d2c03.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/15d397666ac937fc2ddc375634cbe14e.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/dacd918ee5c8169e442b7d10a6cbab5d.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a72c8b2d799d5c2db221ffc84b292d98.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/cfd882b7f367a1971c52d2da3b8c7f1e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/1489ea739ce8ce0fa9ed1789a71d2c03.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/dacd918ee5c8169e442b7d10a6cbab5d.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/8220ba27de1710bb0d20837f2c16de36.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/99e564726836ff5a0b7269063bbf4b1e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/77a8198c60820721c1c28243e13e0419.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/dc4851466463c85bbfcaaaaae18e1925.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/4fe661b8df4bfad97709417d62b83422.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/161467c702bb90ba0b448db4d6e835c4.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/d078166cbc81ac85c4dcce01946c8177.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/e2a5aaf36ea4bfed992d57e24f6e1699.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/cd66bb5ddbc8d1180c03df2a14def2a3.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info_dark.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-disabled-light.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/images/juicy-streak.svg\"],\n [src=\"/web-ui/images/icons/1489ea739ce8ce0fa9ed1789a71d2c03.svg\"],\n [src=\"/web-ui/images/icons/dacd918ee5c8169e442b7d10a6cbab5d.svg\"],\n [src=\"/web-ui/images/icons/a72c8b2d799d5c2db221ffc84b292d98.svg\"],\n [src=\"/web-ui/images/icons/4fa0baa7df59544c7cf33fa4ef9a260c.svg\"],\n [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/x.svg\"],\n .aL9d4::after,\n .ySIVK::after,\n ._1TuHK,\n ._18sNN,\n ._24Wnr,\n ._305Ib,\n ._1CrYJ,\n ._3ft88,\n ._2ef-V,\n ._1YGGe,\n ._1G46l,\n ._6c6Bw,\n ._2_MEs,\n .InZNv,\n ._1avU- {\n background-size: cover\n }\n\n ._2ySWm {\n background-repeat: no-repeat;\n background-size: 70%;\n background-position: center\n }\n\n ._10Q84 {\n background-size: 200%\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/15d397666ac937fc2ddc375634cbe14e.svg\"],[src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/cfd882b7f367a1971c52d2da3b8c7f1e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/8220ba27de1710bb0d20837f2c16de36.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/d5da7539ff6abe13a422c11f1178f1e9.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/99e564726836ff5a0b7269063bbf4b1e.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/6b9017b5b326c9949ffb007c8cbd7f4c.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/4b03cdeb17f38660f45c705ba225bb03.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/cfd882b7f367a1971c52d2da3b8c7f1e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/8220ba27de1710bb0d20837f2c16de36.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/99e564726836ff5a0b7269063bbf4b1e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/85a54b84f53cfe25fc8d9ff17e5a60f3.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/dbaa5424c9d1f6a221c88d32b460d99b.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/0e58a94dda219766d98c7796b910beee.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-complete.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-badge.svg\"],\n [src=\"/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"],\n [src=\"/images/incubator-logo-feather-font.svg\"],\n .aL9d4::after,\n .ySIVK::after,\n ._10Q84,\n ._2ef-V {\n background-color: var(--custom-color)\n }\n\n .ySIVK::after,\n .aL9d4::after {\n border-radius: 50%\n }\n\n\n\n\n\n\n\n\n\n /* Dimentions */\n\n\n /* 10 x 38 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/arrow-down.svg\"] {\n padding: 38px 10px 0 0\n }\n\n\n /* 16 x 16 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f754af1bf4bf03790cc2a70fe3c5a245.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/x.svg\"] {\n padding: 16px 16px 0 0\n }\n\n\n /* 18 x 18 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info_dark.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info.svg\"] {\n padding: 18px 18px 0 0\n }\n\n\n /* 19 x 25 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-disabled-light.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"] {\n padding: 25px 19px 0 0\n }\n\n /* 22 x 22*/\n ._10Q84 {\n padding: 22px 22px 0 0\n }\n\n /* 24 x 17 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/special-char-down.svg\"] {\n padding: 17px 24px 0 0\n }\n\n\n /* 24 x 24 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/icons/pen-circle.svg\"] {\n padding: 24px 24px 0 0\t\n }\n\n\n /* 24 x 30 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/77a8198c60820721c1c28243e13e0419.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/cd66bb5ddbc8d1180c03df2a14def2a3.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n ._24Wnr {\n padding: 30px 24px 0 0 !important\n }\n\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"] {\n padding: 30px 25px 0 0 !important\n }\n\n\n /* 26 x 30 */\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/9d4f704de73abbe35b631a2279ae1fe7.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"/web-ui/images/icons/9d4f704de73abbe35b631a2279ae1fe7.svg\"] {\n padding: 30px 26px 0 0 !important\n }\n\n\n /* 28 x 28 */\n [src=\"//duolingo-forum-web.duolingo.com/images/juicy-streak.svg\"] {\n padding: 28px 28px 0 0\n }\n\n\n /* 30 x 30 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/images/comments.svg\"] {\n padding: 30px 30px 0 0\n }\n\n\n /* 32 x 26 */\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/d078166cbc81ac85c4dcce01946c8177.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n ._1G46l,\n ._3ft88 {\n padding: 26px 32px 0 0\n }\n\n\n /* 32 x 32 */\n ._1CrYJ,\n ._2_MEs,\n ._1TuHK {\n padding: 32px 32px 0 0\n }\n\n ._3cX2U[src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/dc4851466463c85bbfcaaaaae18e1925.svg\"] {\n padding: 32px 32px 0 0 !important\n }\n\n\n /* 34 x 34 */\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/4fa0baa7df59544c7cf33fa4ef9a260c.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/2f97f817edae3b0832b4172840495d04.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/ba95e6081679d9d7e8c132da5cfce1ec.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/161467c702bb90ba0b448db4d6e835c4.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/e2a5aaf36ea4bfed992d57e24f6e1699.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/398e4298a3b39ce566050e5c041949ef.svg\"],\n [src=\"/web-ui/images/icons/4fa0baa7df59544c7cf33fa4ef9a260c.svg\"],\n .eoQRg {\n padding: 34px 34px 0 0 !important\n }\n\n\n /* 36 x 36 */\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a72cd95b77171e6e00de85fc7389da67.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a72cd95b77171e6e00de85fc7389da67.svg\"],\n [src=\"/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._305Ib,\n .InZNv {\n padding: 36px 36px 0 0\n }\n\n /* 38 x 38 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/f2e84728e922b45ed79761f3f5002166.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/3b0e3903160a93f33f3688a92e4654a2.svg\"] {\n padding: 38px 38px 0 0\n }\n\n /* 39 x 32 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/93586c9e933781ed90e75c15a6b4a185.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/dumbbell-blue.svg\"] {\n padding: 32px 39px 0 0\n }\n\n\n /* 39 x 45 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-unlocked.svg\"] {\n padding: 45px 39px 0 0\n }\n\n\n /* 40 x 40 */\n .nvjgx[src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n ._33Xi1[src=\"//duolingo-forum-web.duolingo.com/assets/cd66bb5ddbc8d1180c03df2a14def2a3.svg\"],\n .Qc8SE[src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"] {\n padding: 40px 40px 0 0 !important\n }\n\n\n /* 46 x 46 */\n ._1avU- {\n padding: 46px 46px 0 0\n }\n\n\n /* 49 x 81 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-complete.svg\"] {\n padding: 81px 49px 0 0\n }\n\n\n /* 52 x 42*/\n ._4CXHr ._18sNN {\n padding: 42px 52px 0 0\n }\n\n\n /* 52 x 52*/\n ._18sNN[src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/4fe661b8df4bfad97709417d62b83422.svg\"] {\n padding: 52px 52px 0 0\n }\n\n\n /* 56 x 26 */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-badge.svg\"] {\n padding: 26px 56px 0 0\t\n }\n\n\n /* 100 x 81 */\n ._288LV,\n ._2QHSw,\n ._2Pyw2,\n ._1YGGe,\n ._6c6Bw {\n padding: 81px 100px 0 0\n }\n\n /* 81.25 : 100 */\n ._18sNN {\n padding: 81.25% 100% 0 0\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-logo-feather.svg\"] {\n /* \tpadding: 47px 300px 0 0 */\n padding: 16% 100% 0 0\n }\n\n /* 220 x 34*/\n ._1_M-b {\n padding: 34px 220px 0 0\n }\n\n /* 215 x 33*/\n ._3YiT9 {\n padding: 33px 215px 0 0\n }\n\n /* 200 x 32*/\n ._3JN0P {\n padding: 32px 200px 0 0\n }\n\n /* 124 x 107 */\n ._3ZYPU {\n padding: 76px 88px 0 0\n }\n\n /* 112 x 192 */\n ._3gdMy {\n padding: 192px 112px 0 0\n }\n\n /* 120 x 206 */ \n ._1efEw {\n padding: 206px 120px 0 0\n }\n\n /* 270 x 228 */\n ._1VYDi {\n padding: 228px 270px 0 0\n }\n\n [src=\"/images/incubator-logo-feather-font.svg\"] {\n padding: 26px 215px 0 0;\n margin-left: 42px\n }\n\n\n /* 206 x 44 */\n ._2956R[src=\"//d35aaqx5ub95lt.cloudfront.net/images/843ccd179178c2e2731c8cc850d09c53.svg\"] {\n padding: 44px 206px 0 0\n }\n\n /* 316 x 41 */\n ._3Ovgb[src=\"//d35aaqx5ub95lt.cloudfront.net/images/5bc1dd6b146c2a46a564e72aed686c31.svg\"] {\n padding: 41px 316px 0 0\n }\n\n\n ._11ZuL,\n ._2yAAa,\n ._3pOSr,\n ._-7Sri {\n padding: 70% 70% 0 0\n }\n\n ._3KjQU {\n padding: 76% 76% 0 0\n }\n\n ._1Bb1e {\n padding: 46% 46% 0 0\n\n }\n\n\n\n\n\n\n\n\n\n\n /* Sources / Positions *\\/\n\n\n /* Learn *\\/\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/85a54b84f53cfe25fc8d9ff17e5a60f3.svg\"] {\n background-image: var(--learn);\n background-size: cover;\n width: 36px;\n height: 36px;\n padding: 0;\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/3b7492ee3b3482bd4f865db8abbe083c.svg\"] {\n background-image: var(--learn-inactive)\n }\n\n\n /* Stories *\\/\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/dbaa5424c9d1f6a221c88d32b460d99b.svg\"] {\n background-image: var(--stories)\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/b30ce49d39c308bb3031647f31f6c3e9.svg\"] {\n background-image: var(--stories-inactive)\n }\n\n\n /* Shop *\\/\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/0e58a94dda219766d98c7796b910beee.svg\"] {\n background-image: var(--shop)\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/25f750f861cdffc01551d728938be59b.svg\"] {\n background-image: var(--shop-inactive)\n }\n\n /* Bell *\\/\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a72cd95b77171e6e00de85fc7389da67.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a72cd95b77171e6e00de85fc7389da67.svg\"] {\n background-image: var(--bell)\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/f32afadbf3578f0542987e48bbb60d47.svg\"] {\n background-image: var(--classes)\n }\n\n\n /* More *\\/\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/98480ac9dacf6c24829ca9950e4283f7.svg\"] {\n background-image: var(--more)\n }\n\n\n /* Dictionary *\\/\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"] {\n background-image: var(--dictionary)\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n [src=\"/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"] {\n background-position: left center\n }\n\n\n ._32Uu5:hover [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n ._32Uu5:hover [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n ._21W8z:hover [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n ._3_pNV:hover [src=\"/node_modules/web-ui/dist/esm/src/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n ._21W8z:hover [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n ._3_pNV:hover [src=\"//duolingo-forum-web.duolingo.com/assets/15bb89c2cb236f203632cbfacc910733.svg\"],\n ._2FdDp:hover [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n ._3kz3Z:hover [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/a6efac3e4a5121eec6cdb733194952c1.svg\"],\n ._32Uu5:hover [src=\"/web-ui/images/icons/a6efac3e4a5121eec6cdb733194952c1.svg\"] {\n background-position: right center\n }\n\n\n /* Words *\\/\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"] {\n background-image: var(--words)\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"] {\n background-position: left center\n }\n\n ._32Uu5:hover [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._32Uu5:hover [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._21W8z:hover [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._3_pNV:hover [src=\"/node_modules/web-ui/dist/esm/src/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._21W8z:hover [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n ._3_pNV:hover [src=\"//duolingo-forum-web.duolingo.com/assets/13da7e48f4cf358a2a39cd87b1b517cf.svg\"],\n ._2FdDp:hover [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._3kz3Z:hover [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/c386112b00c11a021fde00ca0bd8d038.svg\"],\n ._32Uu5:hover [src=\"/web-ui/images/icons/c386112b00c11a021fde00ca0bd8d038.svg\"] {\n background-position: right center\n }*/\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/88fcdd72081b5bf436095c7704faabcc.svg\"] {\n content: var(--words)\n }\n \n /* Crowns */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/f2e84728e922b45ed79761f3f5002166.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/f2e84728e922b45ed79761f3f5002166.svg)\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/00ef38a541ef4b6a08f1108991ecfd92.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/00ef38a541ef4b6a08f1108991ecfd92.svg)\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/3b0e3903160a93f33f3688a92e4654a2.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/3b0e3903160a93f33f3688a92e4654a2.svg)\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/385a104c7a2d5c483117b157cd0182b7.svg\"] {\n background-image: url(\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/385a104c7a2d5c483117b157cd0182b7.svg\")\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/fafe27c9c1efa486f49f87a3d691a66e.svg\"] {\n background-image: var(--crown-locked)\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/ac2e0998c42f5d11a1654859511fcccd.svg\"] {\n background-image: var(--crown-double-locked)\n }\n\n\n /* Flag Sprite */ \n ._3BevS,\n ._3-gOT,\n ._1t2kb,\n ._2LODM,\n .AulI4 {\n background-image: var(--flags)\n }\n\n .flag-svg-xlarge,\n .flag-svg-medium,\n .flag-svg-small {\n background-image: var(--flags)\n }\n\n\n /* Crown Count */\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/assets/d078166cbc81ac85c4dcce01946c8177.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/95b67fdecc0e8415076d199f19c4f8d7.svg\"],\n [src=\"/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n ._3ft88,\n ._1G46l,\n ._6c6Bw {\n background-image: var(--crown)\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"],\n [src=\"/web-ui/images/b3ede3d53c932ee30d981064671c8032.svg\"] {\n background-position: left center\n }\n\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"//duolingo-forum-web.duolingo.com/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"/node_modules/web-ui/dist/esm/src/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"/web-ui/images/a418612a3d7bb7942b2b715cffc0445a.svg\"] {\n background-position: right center\n }\n\n\n /* Streak */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/ba95e6081679d9d7e8c132da5cfce1ec.svg\"] {\n content: var(--streak-unlit)\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/398e4298a3b39ce566050e5c041949ef.svg\"] {\n content: var(--streak-lit)\n }\n \n /* Streak freeze refill */\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/3890f852954de95876e0b0b2159d87f5.svg\"] {\n content: var(--streak-freeze-refill) !important\n }\n\n\n /* Lingot */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"] {\n content: url(https://raw.githubusercontent.com/justinikeako/darklingo/2e3ad7e284564c3195656fb7100116373357c510/assets/slate/lingot.svg) !important\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"] {\n background-position: left\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/77a8198c60820721c1c28243e13e0419.svg\"] {\n background-position: 50%\n }\n\n .nvjgx[src=\"//d35aaqx5ub95lt.cloudfront.net/web-ui/images/icons/aed279fcbad509208b45ca7a17f3e8dc.svg\"] {\n background-position: 100%\n }\n\n ._33Xi1[src=\"//duolingo-forum-web.duolingo.com/assets/cd66bb5ddbc8d1180c03df2a14def2a3.svg\"],\n .Qc8SE[src=\"//d35aaqx5ub95lt.cloudfront.net/vendor/aed279fcbad509208b45ca7a17f3e8dc.svg\"],\n ._3aUCN,\n ._2ySWm {\n background-image: var(--lingot-singular)\n }\n \n .i7PQi:after {\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHZpZXdCb3g9IjAgMCAyMCAxMCIKICAgd2lkdGg9IjIwIgogICBoZWlnaHQ9IjEwIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxMSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iNWFlYjk0MWViYTM4MDkyMGEyNTUwOWUyNGNmN2NmYTQuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEzNjkiCiAgICAgaWQ9Im5hbWVkdmlldzEzIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjEzLjkiCiAgICAgaW5rc2NhcGU6Y3g9IjEwIgogICAgIGlua3NjYXBlOmN5PSI1IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTEiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczciPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpZD0iZyIKICAgICAgIGN4PSI1MCUiCiAgICAgICBjeT0iNTAlIgogICAgICAgcj0iNTAlIgogICAgICAgZng9IjUwJSIKICAgICAgIGZ5PSI1MCUiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAlIgogICAgICAgICBpZD0ic3RvcDIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmYiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMTAwJSIKICAgICAgICAgc3RvcC1vcGFjaXR5PSIwIgogICAgICAgICBpZD0ic3RvcDQiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmYiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjZyIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDg1NyIKICAgICAgIGN4PSIxMCIKICAgICAgIGN5PSI1IgogICAgICAgZng9IjEwIgogICAgICAgZnk9IjUiCiAgICAgICByPSI0IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgPC9kZWZzPgogIDxjaXJjbGUKICAgICBjeD0iMTAiCiAgICAgY3k9IjUiCiAgICAgcj0iNCIKICAgICBmaWxsPSJ1cmwoI2cpIgogICAgIGlkPSJjaXJjbGU5IgogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6MC44O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO2ZpbGw6dXJsKCNyYWRpYWxHcmFkaWVudDg1Nyk7ZmlsbC1vcGFjaXR5OjEuMCIgLz4KPC9zdmc+Cg==)\n }\n\n\n\n /* Crown Level */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/fafe27c9c1efa486f49f87a3d691a66e.svg\"] {\n content: var(--crown-locked)\n }\n\n ._1YGGe,\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/b3ede3d53c932ee30d981064671c8032.svg\"] {\n background-image: var(--crown)\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/b3ede3d53c932ee30d981064671c8032.svg\"] {\n background-position: left center\n }\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/fafe27c9c1efa486f49f87a3d691a66e.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/fafe27c9c1efa486f49f87a3d691a66e.svg\"] {\n background-position: 33.33% center\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/ac2e0998c42f5d11a1654859511fcccd.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/ac2e0998c42f5d11a1654859511fcccd.svg\"] {\n background-position: 66.66% center\n }\n\n\n /* Crack */\n ._1m7gz {\n background-image: var(--crack)\n }\n \n /* Exclamation mark */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/vendor/e13ce9eaf8c71db338bd1a7a79f9eb9e.svg\"] {\n content: var(--exclamation-mark)\n }\n\n\n /* Checkpoint Castle Unlocked */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-unlocked.svg\"] {\n background-image: var(--checkpoint-castle-unlocked)\n }\n\n /* Checkpoint Castle Complete */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/checkpoint-castle-complete.svg\"] {\n background-image: var(--checkpoint-castle-complete)\n }\n\n\n /* Info */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/leagues/552108978e8e6913b3db22f2795556d4.svg\"] {\n content: var(--info)\n }\n\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/leagues/icon_info_dark.svg\"] {\n content: var(--info-dark)\n }\n\n\n /* Dumbbell */\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/leagues/1b4fb092de75e4ecefd8e92f10b4ddd2.svg\"] {\n filter: brightness(40%) contrast(200%)\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/83708995a7a4edb87d7a3ef21a370f0c.svg\"] {\n filter: brightness(50%) contrast(200%)\n }\n\n /* Plus Badge */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-badge.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/86eeb8a05f8b07ebb9b5dd90dc30aeb5fe95a157/assets/plus-badge.svg)\n }\n\n ._2956R[src=\"https://d35aaqx5ub95lt.cloudfront.net/images/843ccd179178c2e2731c8cc850d09c53.svg\"] {\n content: var(--score)\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/c2ebc58a61997cd8658583d504d33df4.svg\"] {\n content: var(--trophy-locked)\n }\n \n ._3XZrb {\n background-image: var(--heart-empty)\n }\n\n\n /* Microphone */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-disabled-light.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"] {\n background-image: var(--mic)\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"] {\n background-position: left\n }\n\n ._3Ev3S:hover:not(:disabled):not(.k6MEx):not(._3tP0w) [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-blue.svg\"] {\n background-position: center\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/mic-disabled-light.svg\"] {\n background-position: right\n }\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/eac4b727c59a2a499ea9d431ca253e32.svg\"] {\n content: var(--perfect-week-star)\n }\n\n\n /* Word Bank */\n ._1ootc {\n background-image: var(--word-bank)\n }\n\n /* Keyboard */\n ._3gEEV {\n background-image: var(--keyboard)\n }\n\n /* Type Word */\n ._2JSbW {\n background-image: var(--type-word)\n }\n\n /* Type Sentence */\n ._2seqj {\n background-image: var(--type-sentence)\n }\n\n\n /* Green Flag */\n ._1NTcn {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/38655d6499226dc3ba3b42768cb4d6cc60d18708/assets/green-flag.svg)\n }\n\n /* Green Discuss*/\n ._1Gda2 {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/38655d6499226dc3ba3b42768cb4d6cc60d18708/assets/green-discuss.svg)\n }\n\n /* Red Flag */\n ._3cRbJ {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/38655d6499226dc3ba3b42768cb4d6cc60d18708/assets/red-flag.svg)\n }\n\n /* Red Discuss */\n ._1BpR_ {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/38655d6499226dc3ba3b42768cb4d6cc60d18708/assets/red-discuss.svg)\n }\n\n\n\n /* Podcast */\n ._3Ovgb[src=\"//d35aaqx5ub95lt.cloudfront.net/images/5bc1dd6b146c2a46a564e72aed686c31.svg\"] {\n background-image: var(--podcast)\t\n }\n\n\n /* Down Arrow */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/arrow-down.svg\"] {\n background-position: center;\n background-image: var(--down-arrow)\n }\n\n /* Special Character Down */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/special-char-down.svg\"] {\n background-image: var(--special-char-down)\n }\n\n\n /* Comments */\n [src=\"//duolingo-forum-web.duolingo.com/images/comments.svg\"] {\n background-image: var(--comments)\n }\n\n\n /* Search */\n ._1UnBr {\n background-image: var(--search)\n }\n\n\n /* Close */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/x.svg\"],\n ._2ef-V {\n background-image: var(--close)\n }\n\n ._2ef-V {\n background-position: right center\n }\n\n /* Stories Speaker*/\n /*._3xGhq {\n background-image: var(--stories-speaker)\n }*/\n \n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/b29e4a77b3cafe916bc850cad9a61e33.svg\"] {\n content: var(--stories-speaker)\n }\n\n\n /* Icon Sprite */\n ._2zW3r,\n ._2jNpf,\n ._1-HHf,\n ._2UiDU,\n ._2jNpf {\n background-image: var(--icon-sprite)\n }\n\n /* Edit */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/icons/pen-circle.svg\"] {\n background-image: var(--edit)\n }\n\n\n /* Fat X */\n ._2HEoZ:before {\n content: '';\n background-image: var(--fat-x)\n }\n\n\n /* Check Bubble*/\n .aL9d4::after,\n .ySIVK::after {\n background-image: var(--check-bubble)\n }\n\n .ySIVK::after {\n background-position: left\n }\n\n .aL9d4::after {\n background-position: right\n }\n\n\n /* Duo Ad Block */\n ._3ZYPU,\n .MyHQ0 {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/13505adb745b9f5aa14e4899375f24f0a5426107/assets/duo/ad-blocker.svg)\n }\n\n /* Duo Plus Shop */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duo-plus-shop.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/571030c99751050c5293ea60d5fbd8904b30e514/assets/duo/plus-shop.svg)\n }\n\n /* Duo Plus Fly */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duo-plus-fly.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/38655d6499226dc3ba3b42768cb4d6cc60d18708/assets/duo/plus-fly.svg)\n }\n\n /* Duolingo Plus Parachute */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/29b48a326404c26737ad707d858d991a.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/d17357f1f424a81ad9005ac782eb9b9ddcb4986b/assets/duo/parachute.svg)\n }\n\n /* Duolingo Plus Education */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/a44fb54abe26c6109824ddf3fd47c18c.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/d17357f1f424a81ad9005ac782eb9b9ddcb4986b/assets/duo/college.svg)\n }\n\n /* Duolingo Plus Drink */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/223d465a673f948bd00494ea9082c172.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/d17357f1f424a81ad9005ac782eb9b9ddcb4986b/assets/duo/chill.svg)\n }\n\n /* Duolingo Plus Award */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/529fa8ffce3620067f4c557016256374.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/d17357f1f424a81ad9005ac782eb9b9ddcb4986b/assets/duo/award.svg)\n }\n\n /* Duolingo Plus Jet Pack */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/fc0c86608c7ef713ba8765ad046818e2.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/d17357f1f424a81ad9005ac782eb9b9ddcb4986b/assets/duo/jet-pack.svg)\n }\n\n /* Duolingo Plus Spaceship */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f63c24254cbabb071c28b9065b9bb1e3.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/d17357f1f424a81ad9005ac782eb9b9ddcb4986b/assets/duo/spaceship.svg)\n }\n\n /* Plus Logo Feather */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/ba45a1b38107480e030a0a06fc13d6ac.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/duolingo-plus-logo-feather.svg\"] {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/571030c99751050c5293ea60d5fbd8904b30e514/assets/plus-logo-feather.svg)\n }\n\n /* Incubator */\n [src=\"/images/incubator-logo-feather-font.svg\"] {\n background-image: var(--incubator)\n }\n\n /* Tool*/\n .secondary-navbar {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/c185d5af7c3a7d54716d43a05ce3adc79c10355d/assets/tool.svg)\n }\n\n\n /* Gold shine */\n ._3dqWQ._17z4M::before,\n ._3dqWQ {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/9fd4725243bc129ef80f1a0d382b65f86cf8e2a0/assets/gold-shine.svg) \n }\n\n\n /* Crowns */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/f2e84728e922b45ed79761f3f5002166.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/f2e84728e922b45ed79761f3f5002166.svg)\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/3b0e3903160a93f33f3688a92e4654a2.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/3b0e3903160a93f33f3688a92e4654a2.svg)\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/00ef38a541ef4b6a08f1108991ecfd92.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/00ef38a541ef4b6a08f1108991ecfd92.svg)\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/385a104c7a2d5c483117b157cd0182b7.svg\"] {\n background-image: url(https://d35aaqx5ub95lt.cloudfront.net/images/crowns/385a104c7a2d5c483117b157cd0182b7.svg)\n }\n\n /* Legendary Crown */\n [src=\"https://d35aaqx5ub95lt.cloudfront.net/images/crowns/dc4851466463c85bbfcaaaaae18e1925.svg\"] {\n content: var(--legendary-crown);\n background-image: var(--legendary-crown) !important;\n width: 32px;\n height: 32px;\n padding: 0;\n background-size: contain;\n background-repeat: no-repeat;\n }\n \n ._3dRoN::before {\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSIzIgogICB3aWR0aD0iMSIKICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iMzM4NTdkODdkMzU4YWYxYmY1MzRmMDUxNDAzMWVkMTUuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExMCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczgiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEzNjkiCiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209Ijc4LjY2NjY2NyIKICAgICBpbmtzY2FwZTpjeD0iMC41IgogICAgIGlua3NjYXBlOmN5PSIxLjUiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmc0IiAvPgogIDxwYXRoCiAgICAgZmlsbD0iI2ZmZiIKICAgICBmaWxsLW9wYWNpdHk9IjAwIgogICAgIGQ9Ik0wLjI1IDAgSDAuMmwwLjYgLjVMMC4yIDFsMC42IC41TDAuMiAybDAuNiAuNUwwLjIgM2gwIDAiCiAgICAgc3Ryb2tlPSIjZTVlNWU1IgogICAgIHN0cm9rZS13aWR0aD0iLjIiCiAgICAgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIKICAgICBpZD0icGF0aDIiCiAgICAgc3R5bGU9InN0cm9rZTojNDA0MDQwO3N0cm9rZS1vcGFjaXR5OjEiIC8+Cjwvc3ZnPgo=)\n }\n \n .sJl8N:not([aria-disabled=\"true\"])::after {\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSIzIgogICB3aWR0aD0iMSIKICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMTMiCiAgIHNvZGlwb2RpOmRvY25hbWU9Ijk5OThlOWYyOTY4YTM5N2I1NzRkNjQxNDRmZjcxMDYyLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi41ICgyMDYwZWMxZjlmLCAyMDIwLTA0LTA4KSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMjU2MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMzY5IgogICAgIGlkPSJuYW1lZHZpZXcxNSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMjU2IgogICAgIGlua3NjYXBlOmN4PSIzLjYzODczNTQiCiAgICAgaW5rc2NhcGU6Y3k9Ii0wLjE4MTIxNTQyIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTMiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczciPgogICAgPG1hc2sKICAgICAgIGlkPSJtYXNrMCI+CiAgICAgIDxyZWN0CiAgICAgICAgIGZpbGw9IiNmZmYiCiAgICAgICAgIGhlaWdodD0iMyIKICAgICAgICAgd2lkdGg9IjAuNzUiCiAgICAgICAgIHg9IjAuMjUiCiAgICAgICAgIGlkPSJyZWN0MiIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZmlsbD0iIzAwMCIKICAgICAgICAgZD0iTTAuMjUgMCBIMC4ybDAuNiAuNUwwLjIgMWwwLjYgLjVMMC4yIDJsMC42IC41TDAuMiAzaDAgMCIKICAgICAgICAgaWQ9InBhdGg0IiAvPgogICAgPC9tYXNrPgogIDwvZGVmcz4KICA8cGF0aAogICAgIGZpbGwtb3BhY2l0eT0iMCIKICAgICBkPSJNMC4yNSAwIEgwLjJsMC42IC41TDAuMiAxbDAuNiAuNUwwLjIgMmwwLjYgLjVMMC4yIDNoMCAwIgogICAgIHN0cm9rZT0iI2U1ZTVlNSIKICAgICBzdHJva2Utd2lkdGg9Ii4yIgogICAgIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiCiAgICAgaWQ9InBhdGgxMSIKICAgICBzdHlsZT0ic3Ryb2tlOiM0MDQwNDA7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KPC9zdmc+Cg==)\n }\n \n .sJl8N[aria-disabled=\"true\"]::after {\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSIzIgogICB3aWR0aD0iMSIKICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iYjM1Y2ZjZjc4YTQ5Y2IwZTgwM2FlMWJmZDMyMDk2Mzkuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjUgKDIwNjBlYzFmOWYsIDIwMjAtMDQtMDgpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExMCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczgiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEzNjkiCiAgICAgaWQ9Im5hbWVkdmlldzYiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjIyMi41MDI5MyIKICAgICBpbmtzY2FwZTpjeD0iMC4zMDMzNjYxNCIKICAgICBpbmtzY2FwZTpjeT0iMS42OTE5NzQ0IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNCIgLz4KICA8cGF0aAogICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgZmlsbC1vcGFjaXR5PSIxIgogICAgIGQ9Ik0wLjAgMC4wIEgwLjBsMC42IC41TDAuMCAxbDAuNiAuNUwwLjAgMmwwLjYgLjVMLTAuMCAzaDAgMC4wIgogICAgIHN0cm9rZT0iI2ZmZmZmZiIKICAgICBzdHJva2Utd2lkdGg9Ii4wIgogICAgIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiCiAgICAgaWQ9InBhdGgyIgogICAgIHN0eWxlPSJmaWxsOiMyMDIwMjA7ZmlsbC1vcGFjaXR5OjEiIC8+Cjwvc3ZnPgo=)\n }\n \n .WOZnx.LhRk3:not(._1rl91) ._13HXc {\n color: transparent\n }\n\n\n\n\n\n\n\n\n\n /** Masks **/\n\n /* Setup */\n\n ._18sNN[src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/4fe661b8df4bfad97709417d62b83422.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/dc4851466463c85bbfcaaaaae18e1925.svg\"],\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f754af1bf4bf03790cc2a70fe3c5a245.svg\"] {\n -webkit-mask-image: var(--mask-image);\n mask-image: var(--mask-image);\n\n -webkit-mask-position: var(--mask-position);\n mask-position: var(--mask-position);\n }\n\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f754af1bf4bf03790cc2a70fe3c5a245.svg\"] {\n -webkit-mask-position: center center;\n -webkit-mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n }\n\n ._10Q84 {\n -webkit-mask-size: 200%;\n -webkit-mask-repeat: no-repeat;\n mask-size: 200%;\n mask-repeat: no-repeat\n }\n\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f754af1bf4bf03790cc2a70fe3c5a245.svg\"] { \n background-color: var(--custom-color)\n }\n\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/dc4851466463c85bbfcaaaaae18e1925.svg\"],\n .sJl8N._2mDNn::before {\n background-color: var(--100)\n }\n\n ._18sNN[src=\"//d35aaqx5ub95lt.cloudfront.net/images/crowns/4fe661b8df4bfad97709417d62b83422.svg\"] {\n background-color: #222151\n }\n \n ._1p_Bp::after,\n .YkUbe {\n background-color: var(--200)\n }\n\n .sJl8N._2mDNn::before,\n .sJl8N::before {\n background-image: none;\n }\n\n .eoQRg {\n --mask-image: unset;\n background-color: unset\n }\n \n ._1MOjk:before {\n border-left-color: var(--200);\n }\n \n ._1MOjk:after {\n border-left-color: var(--100);\n }\n\n .bfI-N:before {\n background: var(--web-ui_button-background-color)\n }\n \n .bfI-N:after {\n background-image: var(--word-split)\n }\n \n .bfI-N._2mDNn:after {\n background-image: var(--word-split-background)\n }\n\n\n\n\n\n\n\n\n\n /* Sources */\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/f754af1bf4bf03790cc2a70fe3c5a245.svg\"] {\n --mask-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/12a4c835bfc9c1f9dd94561644a2ac91ad00215e/assets/lightbulb.svg);\n }\n\n ._3dRoN::before,\n .sJl8N::before {\n -webkit-mask-position: left\n }\n\n .sJl8N._2mDNn::before {\n -webkit-mask-position: 100%\n } \n\n\n\n ._10Q84 {\n background-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/477a318e38504f04d05d6df99a523e3b5b9090f3/assets/plus-icon-sprite.svg);\n -webkit-mask-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/477a318e38504f04d05d6df99a523e3b5b9090f3/assets/plus-icon-sprite.svg);\n mask-image: url(https://raw.githubusercontent.com/justinikeako/darklingo/477a318e38504f04d05d6df99a523e3b5b9090f3/assets/plus-icon-sprite.svg);\n\n\n background-position: left var(--image-position);\n -webkit-mask-position: right var(--image-position);\n mask-position: right var(--image-position)\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/plusLandingPage/b0ffa484fc840830324e216f0d751dde.svg\"] {\n --image-position: 0px\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/plusLandingPage/5ca0d121c547c47cf7cd06395c23f23f.svg\"] {\n --image-position: -22px\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/plusLandingPage/0b38688f63d21c8a4fbe4418bd97d461.svg\"] {\n --image-position: -44px\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/plusLandingPage/f69a9dd6f61457132fe0ccf85705bc13.svg\"] {\n --image-position: -66px\n }\n\n [src=\"//d35aaqx5ub95lt.cloudfront.net/images/plusLandingPage/078c936e5a5d13188ad2b9b0697b5fe3.svg\"] {\n --image-position: -88px\n }\n}\n", 905 + "sourceCode": "/* ==UserStyle==\n@name Duolingo Tweaks (READ DESCRIPTION)\n@namespace USO Archive\n@author Henry Sanger\n@description THE STYLISH VERSION OF THIS STYLE IS NO LONGER SUPPORTED. To install this style, <a href=\"https://userstyles.world/style/4605/darklingo-updated\">click here</a>. You'll need to <a href=\"https://github.com/openstyles/stylus/#readme\">install Stylus</a> if you haven't already.\n@version 20230727.18.26\n@license CC0-1.0\n@preprocessor uso\n==/UserStyle== */\n@-moz-document domain(\"duolingo.com\") {}", 887 906 "usercssData": { 888 - "name": "Darklingo++ - [UPDATED]", 907 + "name": "Duolingo Tweaks (READ DESCRIPTION)", 889 908 "namespace": "USO Archive", 890 909 "author": "Henry Sanger", 891 - "description": "BEFORE YOU INSTALL - I would strongly recommend using <a href=\"https://github.com/openstyles/stylus/#readme\">Stylus</a> instead of Stylish. Stylish is <a href=\"https://robertheaton.com/2018/07/02/stylish-browser-extension-steals-your-internet-history/\">spyware which steals your browsing history.</a> Also, the Stylus version of this style is updated more regularly.To install this style with Stylus, visit userstyles.world. <a href=\"https://userstyles.world/style/4605/darklingo-updated\">Link to this style on userstyles.world</a>An updated version of Darklingo++, a dark theme for Duolingo, originally created by <a href=\"https://userstyles.org/users/709142\">Justin Ikeako</a>.<a href=\"https://userstyles.org/styles/169205/darklingo\">Link to the original style</a>", 892 - "version": "20230102.19.43", 910 + "description": "THE STYLISH VERSION OF THIS STYLE IS NO LONGER SUPPORTED. To install this style, <a href=\"https://userstyles.world/style/4605/darklingo-updated\">click here</a>. You'll need to <a href=\"https://github.com/openstyles/stylus/#readme\">install Stylus</a> if you haven't already.", 911 + "version": "20230727.18.26", 893 912 "license": "CC0-1.0", 894 - "preprocessor": "uso", 913 + "preprocessor": "uso" 914 + }, 915 + "author": "Henry Sanger", 916 + "description": "THE STYLISH VERSION OF THIS STYLE IS NO LONGER SUPPORTED. To install this style, <a href=\"https://userstyles.world/style/4605/darklingo-updated\">click here</a>. You'll need to <a href=\"https://github.com/openstyles/stylus/#readme\">install Stylus</a> if you haven't already.", 917 + "name": "Duolingo Tweaks (READ DESCRIPTION)", 918 + "originalDigest": "7a0036883b1474aa310349ac5e31d8fd970bb136", 919 + "_id": "0d5a966b-31f7-473d-8735-e81cd23398d7", 920 + "_rev": 1690896808802, 921 + "installationUrl": "https://uso.kkx.one/style/252262", 922 + "id": 59, 923 + "etag": "W/\"219-egA2iDsUdKoxA0msXjHY/ZcLsTY\"", 924 + "updateDate": 1690496760000 925 + }, 926 + { 927 + "enabled": true, 928 + "updateUrl": "https://github.com/pyxelr/hacker-news-bluish-gray/raw/master/HackerNews-BluishGray.user.css", 929 + "url": "https://github.com/pyxelr/hacker-news-bluish-gray", 930 + "installDate": 1677515201242, 931 + "sections": [ 932 + { 933 + "code": "" 934 + } 935 + ], 936 + "sourceCode": "/* ==UserStyle==\n@name Hacker News - Bluish Gray\n@namespace pyxelr\n@version 1.2.3\n@homepageURL https://github.com/pyxelr/hacker-news-bluish-gray\n@supportURL https://github.com/pyxelr/hacker-news-bluish-gray/issues\n@updateURL https://github.com/pyxelr/hacker-news-bluish-gray/raw/master/HackerNews-BluishGray.user.css\n@license MIT\n@author pyxelr\n==/UserStyle== */\n\n@-moz-document domain(\"news.ycombinator.com\") {\n body {\n background: #2b3033 !important;\n color: #f0ffff !important;\n font-family: \"Open Sans\", \"Bitstream Vera Sans\", Verdana, Geneva, sans-serif !important;\n }\n \n a:link { color:#b1bcbc !important; }\n a:visited { color:#889191 !important; }\n \n body > center > table[width=\"85%\"] {\n background: #212121 !important;\n box-shadow: 0px 0px 30px 3px rgba(0, 0, 0, 0.2) !important;\n border-left: 1px solid #000 !important;\n border-right: 1px solid #000 !important;\n }\n \n \n \n \n /* ==== HEADER ==== */\n \n /* header that's normally an orange bar at top (selects divider above footer too?) */\n body > center > table[width=\"85%\"] td[bgcolor=\"#ff6600\"] {\n background: linear-gradient(to top, #45515b 0%, #4b5762 100%) !important;\n padding: 3px 4px !important;\n box-shadow: 0px 1px 1px 0px rgba(33, 33, 33, 0.2);\n }\n \n /* \"Hacker News\" text in header */\n .pagetop a[href=\"news\"] {\n font-size: 110% !important;\n text-shadow: -1px -1px 0 #666, 1px -1px 0 #666, -1px 1px 0 #666, 1px 1px 0 #666 !important;\n color: #e2e6e9 !important;\n }\n \n /* size reducement and black border around orange \"Y\" logo */\n \n #hnmain > tbody > tr:first-of-type table img {\n box-sizing: border-box;\n border: 1px black solid !important;\n }\n \n /* currently selected link in header */\n .topsel a {\n color: #f93 !important;\n font-weight: bold !important;\n text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7) !important;\n }\n \n /* hover link in header (except \"Hacker News\", and \"login\") */\n .pagetop a:not(:first-child):hover {\n text-decoration: underline !important;\n }\n \n .pagetop a:link:not(:first-child),\n .pagetop a:visited:not(:first-child) {\n color: #b1b1b1 !important;\n }\n \n /* colorize '|' characters in header (and hopefully nothing else) */\n .pagetop {\n color: #878f8f !important;\n }\n \n .pagetop > a[href^=\"user?\"] {\n color: #f0ffff !important;\n }\n \n \n \n \n /* ==== FRONT PAGE NEWS LISTING ==== */\n \n .title {\n font-size: 16px !important;\n }\n \n .title a.storylink:link {\n color: #f0ffff !important;\n }\n \n .title a.storylink:visited {\n color: #878f8f !important;\n }\n \n .storylink, .subtext {\n padding-left: 8px !important;\n }\n \n .subtext {\n padding-bottom: 8px !important;\n font-size: 12px !important;\n }\n \n .itemlist .subtext, .itemlist .subtext * {\n color: #878f8f !important;\n }\n \n .sitestr {\n color: #6d7474 !important;\n }\n \n .title .rank {\n padding-right: 8px !important;\n padding-left: 8px !important;\n color: #444848 !important;\n font-size: 11px !important;\n }\n \n /* \"More\" link at bottom */\n .morespace + tr a.morelink {\n color: #b9d3d3 !important;\n }\n \n .votearrow {\n filter: invert(100%) !important;\n -webkit-filter: invert(100%) !important;\n }\n \n .subtext > a:last-child:visited {\n color: #474f4f !important;\n }\n \n .subtext .hnuser {\n font-weight: bold !important;\n }\n \n \n \n \n /* ==== COMMENTS ==== */\n \n .comment,\n .comment > span {\n font-family: \"Open Sans\", \"Bitstream Vera Sans\", Verdana, Geneva, sans-serif !important;\n font-size: 15px !important;\n }\n \n .comment .c00 {\n color: #f0ffff !important;\n }\n \n .comhead .hnuser {\n color: #abc3c3 !important;\n font-weight: bold !important;\n }\n \n /* space between individual comments */\n .athing.comtr .default {\n padding-bottom: 10px !important;\n }\n \n .c5a, .c5a a:link, .c5a a:visited { opacity: 0.9 !important; }\n .c73, .c73 a:link, .c73 a:visited { opacity: 0.8 !important; }\n .c82, .c82 a:link, .c82 a:visited { opacity: 0.7 !important; }\n .c88, .c88 a:link, .c88 a:visited { opacity: 0.6 !important; }\n .c9c, .c9c a:link, .c9c a:visited { opacity: 0.5 !important; }\n .cae, .cae a:link, .cae a:visited { opacity: 0.4 !important; }\n .cbe, .cbe a:link, .cbe a:visited { opacity: 0.3 !important; }\n .cce, .cce a:link, .cce a:visited { opacity: 0.2 !important; }\n .cdd, .cdd a:link, .cdd a:visited { opacity: 0.1 !important; }\n \n .c00, .c00 a:link,\n .c5a, .c5a a:link, .c5a a:visited,\n .c73, .c73 a:link, .c73 a:visited,\n .c82, .c82 a:link, .c82 a:visited,\n .c88, .c88 a:link, .c88 a:visited,\n .c9c, .c9c a:link, .c9c a:visited,\n .cae, .cae a:link, .cae a:visited,\n .cbe, .cbe a:link, .cbe a:visited,\n .cce, .cce a:link, .cce a:visited,\n .cdd, .cdd a:link, .cdd a:visited\n {\n color:#f0ffff !important;\n }\n \n a[href^=\"reply\"]:link {\n color: #666c6c !important;\n }\n \n a[href^=\"reply\"]:visited {\n color: #333636 !important;\n }\n \n a[href^=\"reply\"]:hover {\n color: #abc3c3 !important;\n }\n \n /* animate opacity of dimmed comments */\n .c5a, .c73, .c82, .c88, .c9c,\n .cae, .cbe, .cce, .cdd {\n transition: opacity 0.5s !important;\n transition-duration: 0.4s !important;\n transition-delay: 0.2s !important;\n }\n \n /* allow easier reading of dimmed comments */\n .c5a:hover, .c73:hover, .c82:hover, .c88:hover, .c9c:hover,\n .cae:hover, .cbe:hover, .cce:hover, .cdd:hover {\n opacity: 1.0 !important;\n }\n \n .comhead {\n color: #6d7474 !important;\n }\n \n .comment pre {\n background: rgba(0, 0, 0, 0.2) !important;\n }\n \n .comment > span > a:link,\n .comment > span > p a:link {\n color: #abc3c3 !important;\n }\n \n .comment > span > a:visited,\n .comment > span > p a:visited {\n color: #505b5b !important;\n }\n \n .votearrow:hover {\n filter: invert(100%) brightness(1.5) !important;\n -webkit-filter: invert(100%) brightness(1.5) !important;\n }\n \n /* Ask HN text at top of commments */\n #hnmain table:first-child tr[id].athing + tr + tr[style=\"height:2px\"] + tr td {\n font-family: \"Open Sans\", \"Bitstream Vera Sans\", Verdana, Geneva, sans-serif !important;\n font-size: 15px !important;\n color: #f0ffff !important;\n /* \t\tline-height: 1.33 !important; */\n }\n \n /* ==== SEARCH BOX, COMMENT BOX, DROP-DOWN MENU ==== */\n \n /* background color of search box, comment box and drop-down menu */\n body > center > table, input, textarea, select {\n background-color: #222 !important;\n }\n /* darker border around search box, comment box and drop-down menu*/\n input, textarea, select {\n border: 1px solid #828282 !important;\n }\n /* bright input text in search box, comment box and drop-down menu */\n td.title a:link, span.comment font, span.comment font a:link, u a:link, span.yclinks a:link, body:not([id]),\n td:nth-child(2):not(.subtext) > a:link, input, textarea, select, p > a, a > u, .c00, .c00 a:link,\n a[href=\"http://www.ycombinator.com/apply/\"] {\n color: #ccc !important;\n }\n \n \n \n \n /* ==== FOOTER ==== */\n \n #hnmain > tbody > tr:last-child {\n background: linear-gradient(to bottom, #212121 0%, #131313 100%) !important;\n \n }\n \n #hnmain > tbody > tr:last-child td[bgcolor=\"#ff6600\"] {\n background: transparent !important;\n border-top: 1px solid #778888 !important;\n }\n \n \n \n \n /* ==== OTHER ==== */\n \n /* textbox formatting help */\n .admin, .admin td, .admin p {\n color: #f0ffff !important;\n font-size: 14px !important;\n }\n \n /* bookmarklet text */\n table[width=\"500\"] #main > #first {\n color: #000 !important;\n }\n }\n \n @-moz-document domain(\"hn.algolia.com\") {\n /* invertion of algolia logo in the footer */\n .search-wrapper img\n {\n filter: invert(50%) !important; \n }\n \n /* text highlight color of search results */\n .main .search-results em {\n background-color: #b1bcbc !important;\n }\n \n /* dark drop-down menus */\n .wrap-dd-select\n {\n background-color: #222 !important;\n border: 1px solid #828282 !important;\n color: #ccc !important;\n }\n \n \n /* ==== SEARCH BOX, COMMENT BOX, DROP-DOWN MENU ==== */\n /* Dropdown */\n .Dropdown_label\n {\n color:#c2c2c2;\n }\n .Dropdown_list li button {\n color: #f3f3f3;\n background-color: #45515b;\n }\n \n /* Story */\n .Story_title a \n {\n color: #F0FFFF;\n }\n .Story_title .Story_link \n {\n color: #6d7474;\n font-size: 11px;\n word-break: break-all;\n }\n .Story_comment\n {\n color: #ababab;\n }\n \n /* Search */\n body > center > table, input, textarea, select \n {\n background-color: #222 !important;\n }\n .SearchResults_container\n {\n background-color: #222 !important;\n }\n .SearchFilters.container\n {\n background-color: #45515b !important;\n }\n .SearchFilters {\n color: #f3f3f3;\n }\n .SearchHeader .PoweredBy\n {\n color:#a0a0a0;\n }\n .SearchResults\n {\n background:#222;\n box-shadow: 0px 0px 30px 3px rgba(0, 0, 0, 0.2) !important;\n border-left: 1px solid #000 !important;\n border-right: 1px solid #000 !important;\n }\n /* Settings view */\n .Settings\n {\n background-color:#222;\n }\n .Settings h2\n {\n color:#bcbcbc;\n }\n .Settings label \n {\n color:#a0a0a0;\n }\n \n /* Other */\n .Pagination\n {\n background-color:#45515b;\n }\n .Footer_list a \n {\n color: #a0a0a0;\n }\n \n /* darker border around search box, comment box and drop-down menu*/\n input, textarea, select {\n border: 1px solid #828282 !important;\n }\n /* bright input text in search box, comment box and drop-down menu */\n td.title a:link, span.comment font, span.comment font a:link, u a:link, span.yclinks a:link, body:not([id]),\n td:nth-child(2):not(.subtext) > a:link, input, textarea, select, p > a, a > u, .c00, .c00 a:link,\n a[href=\"http://www.ycombinator.com/apply/\"] {\n color: #ccc !important;\n }\n \n \n /* ==== OTHER ==== */\n body {\n background-color: #292929;\n }\n \n .search-results {\n background-color: #292929;\n }\n \n .page-header a {\n color: #9a9a9a;\n }\n \n \n .main .search-results .item .item-main .item-title-and-infos h2 a {\n color: #9a9a9a;\n }\n \n #main > div > section > header {\n background-color: #292929;\n color: #9a9a9a;\n }\n \n .page-header .logo-wrapper .logo-name {\n color: #e2e6e9 !important; \n }\n \n #main > div > header {\n background-color: #292929;\n color: #9a9a9a;\n }\n \n .main .search-results em {\n background-color: #dadada !important; /* net net net :D */\n }\n \n .search-pagination li.active button {\n border-color: #dadada;\n color: #dadada;\n }\n \n footer {\n background-color: #292929;\n }\n \n footer a {\n color: #9a9a9a;\n }\n \n #main > div > section > section > section > div.item.ng-scope > div.item-main > div.item-content-wrapper p {\n color: #dadada;\n }\n \n .edit-settings {\n background-color: #292929;\n }\n }", 937 + "usercssData": { 938 + "name": "Hacker News - Bluish Gray", 939 + "namespace": "pyxelr", 940 + "version": "1.2.3", 941 + "homepageURL": "https://github.com/pyxelr/hacker-news-bluish-gray", 942 + "supportURL": "https://github.com/pyxelr/hacker-news-bluish-gray/issues", 943 + "updateURL": "https://github.com/pyxelr/hacker-news-bluish-gray/raw/master/HackerNews-BluishGray.user.css", 944 + "license": "MIT", 945 + "author": "pyxelr" 946 + }, 947 + "author": "pyxelr", 948 + "name": "Hacker News - Bluish Gray", 949 + "originalDigest": "d9c5ceae07f5d307670c895d48eb1123b7937da8", 950 + "_id": "57ff848a-67e8-4f56-8a61-939683a03c18", 951 + "_rev": 1678310696918, 952 + "id": 61, 953 + "etag": "W/\"950074af841fc63586568cc949e4d60e6649f8b8db511653f4206c51ff02b3be\"", 954 + "updateDate": 1678310663719 955 + }, 956 + { 957 + "enabled": true, 958 + "installDate": 1698255238294, 959 + "sections": [ 960 + { 961 + "code": "" 962 + } 963 + ], 964 + "sourceCode": "/* ==UserStyle==\n@name shadertoy.com - 10/25/2023, 1:33:45 PM\n@namespace github.com/openstyles/stylus\n@version 1.0.0\n@description A new userstyle\n@author Me\n==/UserStyle== */\n\n@-moz-document domain(\"shadertoy.com\") {\n body { font-size: 12px !important; }\n}", 965 + "usercssData": { 966 + "name": "shadertoy.com - 10/25/2023, 1:33:45 PM", 967 + "namespace": "github.com/openstyles/stylus", 968 + "version": "1.0.0", 969 + "description": "A new userstyle", 970 + "author": "Me" 971 + }, 972 + "author": "Me", 973 + "description": "A new userstyle", 974 + "name": "shadertoy.com - 10/25/2023, 1:33:45 PM", 975 + "updateDate": 1698255248119, 976 + "_id": "de5f8860-ee8a-4e35-bdbe-578b57ada3a0", 977 + "_rev": 1698255248119, 978 + "id": 64 979 + }, 980 + { 981 + "enabled": true, 982 + "updateUrl": "https://userstyles.world/api/style/5618.user.css", 983 + "url": "https://userstyles.world/style/5618", 984 + "installDate": 1706109308914, 985 + "sections": [ 986 + { 987 + "code": "" 988 + } 989 + ], 990 + "sourceCode": "/* ==UserStyle==\n@name Custom LeetCode Editor Font\n@version 20220712.03.07\n@namespace userstyles.world/user/lance1o7\n@description This script will change the code editor font as configured (default \"JetBrains Mono NL\").\n@author lance1o7\n@license No License\n@advanced text leetcode-font-family \"Editor font\" \"JetBrains Mono NL\"\n==/UserStyle== */\n\n@-moz-document domain(\"leetcode.com\") {\n.container__YPDh .CodeMirror {\n position: absolute;\n height: 100%;\n width: 100%;\n line-height: normal;\n font-family: var(--leetcode-font-family), 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\n padding: 0;\n border-radius: 0;\n border: 0;\n}\n}", 991 + "usercssData": { 992 + "name": "Custom LeetCode Editor Font", 993 + "version": "20220712.03.07", 994 + "namespace": "userstyles.world/user/lance1o7", 995 + "description": "This script will change the code editor font as configured (default \"JetBrains Mono NL\").", 996 + "author": "lance1o7", 997 + "license": "No License", 895 998 "vars": { 896 - "custom-color": { 897 - "type": "color", 898 - "label": "Custom Theme Color", 899 - "name": "custom-color", 900 - "value": null, 901 - "default": "#1f98d2", 999 + "leetcode-font-family": { 1000 + "type": "text", 1001 + "label": "Editor font", 1002 + "name": "leetcode-font-family", 1003 + "value": "Monaspace Argon Var", 1004 + "default": "JetBrains Mono NL", 1005 + "options": null 1006 + } 1007 + }, 1008 + "preprocessor": "uso" 1009 + }, 1010 + "author": "lance1o7", 1011 + "description": "This script will change the code editor font as configured (default \"JetBrains Mono NL\").", 1012 + "name": "Custom LeetCode Editor Font", 1013 + "originalDigest": "c2bce588dfd69afb9acd197695d1f212556ef696", 1014 + "_id": "4a2bd375-319b-412a-ab4e-98f7eeff9ad0", 1015 + "_rev": 1716486886940, 1016 + "installationUrl": "https://userstyles.world/style/5618", 1017 + "id": 69, 1018 + "updateDate": 1710869755043 1019 + }, 1020 + { 1021 + "enabled": true, 1022 + "installDate": 1718984041425, 1023 + "sections": [ 1024 + { 1025 + "code": "" 1026 + } 1027 + ], 1028 + "sourceCode": "/* ==UserStyle==\n@name GitHub Custom Fonts\n@namespace https://github.com/ian-h-chamberlain\n@version 1.0.0\n@description Customize the font used for code on GitHub. Forked from https://github.com/StylishThemes/GitHub-Dark.\n@homepageURL https://gist.github.com/ian-h-chamberlain/3e3a862f0b95e2429839231080fde7bd\n@updateURL https://gist.github.com/ian-h-chamberlain/3e3a862f0b95e2429839231080fde7bd/raw/github-custom-fonts.user.css\n@license BSD-2-Clause\n@author ian-h-chamberlain\n@preprocessor default\n@var text ghd-font-family \"Code font\" Menlo\n@var text ghd-font-feature-settings \"Code font feature Settings\" normal\n@var text ghd-font-variant-ligatures \"Code font ligature Settings\" normal\n@var text ghd-font-size \"Code font size\" 12px\n==/UserStyle== */\n@-moz-document regexp(\"^https?://((education|gist|graphql|guides|raw|resources|status|developer|support|vscode-auth)\\\\.)?github\\\\.com/((?!generated_pages/preview).)*$\"), regexp(\"^https?://www\\.zuora\\.com.*github\\.com.*\"), domain(\"githubusercontent.com\"), domain(\"www.githubstatus.com\"), domain(\"stylishthemes.github.io\") {\n pre, code, tt, kbd:not(.badmono), samp, .blob-code, .file-data pre, .line-data,\n #gist-form .file .input textarea, .blob-code-inner, .react-code-text, .jujkut,\n #read-only-cursor-text-area, .react-blob-print-hide {\n font-family: var(--ghd-font-family), Consolas, \"Liberation Mono\", Menlo, Courier, monospace !important;\n font-feature-settings: var(--ghd-font-feature-settings);\n font-variant-ligatures: var(--ghd-font-variant-ligatures);\n font-size: var(--ghd-font-size) !important;\n }\n}\n", 1029 + "usercssData": { 1030 + "name": "GitHub Custom Fonts", 1031 + "namespace": "https://github.com/ian-h-chamberlain", 1032 + "version": "1.0.0", 1033 + "description": "Customize the font used for code on GitHub. Forked from https://github.com/StylishThemes/GitHub-Dark.", 1034 + "homepageURL": "https://gist.github.com/ian-h-chamberlain/3e3a862f0b95e2429839231080fde7bd", 1035 + "updateURL": "https://gist.github.com/ian-h-chamberlain/3e3a862f0b95e2429839231080fde7bd/raw/github-custom-fonts.user.css", 1036 + "license": "BSD-2-Clause", 1037 + "author": "ian-h-chamberlain", 1038 + "preprocessor": "default", 1039 + "vars": { 1040 + "ghd-font-family": { 1041 + "type": "text", 1042 + "label": "Code font", 1043 + "name": "ghd-font-family", 1044 + "value": "Monaspace Argon, MonaspiceAr Nerd Font", 1045 + "default": "Menlo", 902 1046 "options": null 903 1047 }, 904 - "leagues": { 905 - "type": "select", 906 - "label": "Leagues", 907 - "name": "leagues", 908 - "value": null, 909 - "default": "on", 910 - "options": [ 911 - { 912 - "name": "on", 913 - "label": "On*", 914 - "value": "" 915 - }, 916 - { 917 - "name": "off", 918 - "label": "Off*", 919 - "value": "._3AKum,\n._1JSRd ._2ulLR:nth-of-type(3) {\n\tdisplay: none\n}" 920 - } 921 - ] 1048 + "ghd-font-feature-settings": { 1049 + "type": "text", 1050 + "label": "Code font feature Settings", 1051 + "name": "ghd-font-feature-settings", 1052 + "value": "'calt', 'liga', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09'", 1053 + "default": "normal", 1054 + "options": null 922 1055 }, 923 - "hideSuperAds": { 924 - "type": "select", 925 - "label": "Hide Super Ads", 926 - "name": "hideSuperAds", 1056 + "ghd-font-variant-ligatures": { 1057 + "type": "text", 1058 + "label": "Code font ligature Settings", 1059 + "name": "ghd-font-variant-ligatures", 927 1060 "value": null, 928 - "default": "on", 929 - "options": [ 930 - { 931 - "name": "on", 932 - "label": "On*", 933 - "value": "div[data-test=\"purchase-step-active\"] ._3GWY6,\n._1Y1JL[data-test=\"purchase-step-active\"] ._1wWI0,\n._2eT5n,\n.Ekspr,\n._3jIW4._3zucw,\n._2suUz,\n._45hcs,\n._1T8FO,\n._3bfsh,\n._1Hxe4 ._3tP0w:not([href=\"/settings/super\"]) {\n display: none !important;\n}" 934 - }, 935 - { 936 - "name": "off", 937 - "label": "Off*", 938 - "value": "" 939 - } 940 - ] 1061 + "default": "normal", 1062 + "options": null 941 1063 }, 942 - "scroll": { 943 - "type": "select", 944 - "label": "Scroll Bar", 945 - "name": "scroll", 1064 + "ghd-font-size": { 1065 + "type": "text", 1066 + "label": "Code font size", 1067 + "name": "ghd-font-size", 946 1068 "value": null, 947 - "default": "on", 948 - "options": [ 949 - { 950 - "name": "on", 951 - "label": "On*", 952 - "value": "/* Scrollbar */\nhtml {\n scrollbar-color: #fff4 var(--50)\n}\n\n._2jbOb ._2-Lx6,\n._3P4YK {\n scrollbar-width: thin\n}\n\n::-webkit-scrollbar {\n\tdisplay: block;\n\tbackground: var(--50);\n\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMzIiCiAgIGhlaWdodD0iMzIiCiAgIHZpZXdCb3g9IjAgMCA4LjQ2NjY2NjYgOC40NjY2NjY2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjMgKDI0MDU1NDYsIDIwMTgtMDMtMTEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJ1cC5zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpZD0iYmFzZSIKICAgICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMS4wIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSI3LjkxOTU5NTkiCiAgICAgaW5rc2NhcGU6Y3g9IjUuNzM0NjA5NSIKICAgICBpbmtzY2FwZTpjeT0iMjAuODY3MDU3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJweCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgc2hvd2dyaWQ9InRydWUiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTM2NiIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI3NDUiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIj4KICAgIDxpbmtzY2FwZTpncmlkCiAgICAgICB0eXBlPSJ4eWdyaWQiCiAgICAgICBpZD0iZ3JpZDgxNSIKICAgICAgIGVtcHNwYWNpbmc9IjQiCiAgICAgICBkb3R0ZWQ9InRydWUiIC8+CiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjg4LjUzMzMzKSI+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4yNjQ1ODMzMnB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDIuMTE2NjY2NywyOTMuODI1IDQuMjMzMzMzMiwwIC0yLjExNjY2NjYsLTIuMTE2NjcgeiIKICAgICAgIGlkPSJwYXRoODE3IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjYyIgLz4KICA8L2c+Cjwvc3ZnPgo=), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMzIiCiAgIGhlaWdodD0iMzIiCiAgIHZpZXdCb3g9IjAgMCA4LjQ2NjY2NjYgOC40NjY2NjY2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjMgKDI0MDU1NDYsIDIwMTgtMDMtMTEpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJkb3duLnN2ZyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNS43MzQ2MDk1IgogICAgIGlua3NjYXBlOmN5PSIyMC44NjcwNTciCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9InB4IgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0idHJ1ZSIKICAgICB1bml0cz0icHgiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxMzY2IgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijc0NSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiPgogICAgPGlua3NjYXBlOmdyaWQKICAgICAgIHR5cGU9Inh5Z3JpZCIKICAgICAgIGlkPSJncmlkODE1IgogICAgICAgZW1wc3BhY2luZz0iNCIKICAgICAgIGRvdHRlZD0idHJ1ZSIgLz4KICA8L3NvZGlwb2RpOm5hbWVkdmlldz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC0yODguNTMzMzMpIj4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDowLjI2NDU4MzMycHg7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIGQ9Ik0gMi4xMTY2NjY3LDI5MS43MDgzMyBIIDYuMzQ5OTk5OSBMIDQuMjMzMzMzMywyOTMuODI1IFoiCiAgICAgICBpZD0icGF0aDgxNyIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2MiIC8+CiAgPC9nPgo8L3N2Zz4K);\n\tbackground-position: top center, bottom center;\n\tbackground-size: contain;\n\tbackground-repeat: no-repeat\n}\n\n\n/* Track */\n::-webkit-scrollbar-track {\n\tbackground: var(--50);\n\tborder: none\n}\n\n\n/* Thumb */\n::-webkit-scrollbar-thumb {\n\tbackground: #ffffff40 content-box;\n\tborder: 2px solid transparent\n}\n\n::-webkit-scrollbar-thumb:hover {\n\tbackground-color: #fff5\n}\n\n::-webkit-scrollbar-thumb:active {\n\tbackground-color: #fff6\n}\n\n/* Buttons */\n::-webkit-scrollbar-button:single-button {\n display: block;\n height: 16px;\n width: 16px;\n\tbackground: var(--50-overlay-heavy)\n}\n\n::-webkit-scrollbar-button:single-button:hover {\n\tbackground: var(--50-overlay-medium)\n}" 953 - }, 954 - { 955 - "name": "off", 956 - "label": "Off*", 957 - "value": "/* Scrollbar */\n* {\n scrollbar-width: none\n}\n\n::-webkit-scrollbar {\n\tdisplay: none\n}" 958 - } 959 - ] 960 - }, 961 - "hideCharacters": { 962 - "type": "select", 963 - "label": "Hide Characters", 964 - "name": "hideCharacters", 965 - "value": null, 966 - "default": "off", 967 - "options": [ 968 - { 969 - "name": "off", 970 - "label": "Off*", 971 - "value": "" 972 - }, 973 - { 974 - "name": "on", 975 - "label": "On*", 976 - "value": "div[data-test=\"session-duo\"] ._3a8EI,\n._1bemu ._1giII .ite_X,\n._2aWYC,\n._3zucw,\n._3mO3g .F2B9m,\n._3mO3g ._3p5e9,\n._1bemu ._2lzAc,\n._1bemu ._3plTW,\n._1cRje {\n display: none;\n}\n._1UVl- {\n margin-left: 0;\n}\n._3oxW8 {\n padding-left: 0;\n}" 977 - } 978 - ] 1069 + "default": "12px", 1070 + "options": null 979 1071 } 980 1072 } 981 1073 }, 982 - "author": "Henry Sanger", 983 - "description": "BEFORE YOU INSTALL - I would strongly recommend using <a href=\"https://github.com/openstyles/stylus/#readme\">Stylus</a> instead of Stylish. Stylish is <a href=\"https://robertheaton.com/2018/07/02/stylish-browser-extension-steals-your-internet-history/\">spyware which steals your browsing history.</a> Also, the Stylus version of this style is updated more regularly.To install this style with Stylus, visit userstyles.world. <a href=\"https://userstyles.world/style/4605/darklingo-updated\">Link to this style on userstyles.world</a>An updated version of Darklingo++, a dark theme for Duolingo, originally created by <a href=\"https://userstyles.org/users/709142\">Justin Ikeako</a>.<a href=\"https://userstyles.org/styles/169205/darklingo\">Link to the original style</a>", 984 - "name": "Darklingo++ - [UPDATED]", 985 - "originalDigest": "5768f753eb614141127afcf37979b278f593270a", 986 - "_id": "0d5a966b-31f7-473d-8735-e81cd23398d7", 987 - "_rev": 1672894906175, 988 - "installationUrl": "https://uso.kkx.one/style/252262", 989 - "id": 59, 990 - "etag": "W/\"1e83d-XMjzUUCqrZp+Zm5qIxvmGpM/91w\"", 991 - "updateDate": 1672706580000 1074 + "author": "ian-h-chamberlain", 1075 + "description": "Customize the font used for code on GitHub. Forked from https://github.com/StylishThemes/GitHub-Dark.", 1076 + "url": "https://gist.github.com/ian-h-chamberlain/3e3a862f0b95e2429839231080fde7bd", 1077 + "updateUrl": "https://gist.github.com/ian-h-chamberlain/3e3a862f0b95e2429839231080fde7bd/raw/github-custom-fonts.user.css", 1078 + "name": "GitHub Custom Fonts", 1079 + "originalDigest": "3d1bd7d48bd0f2197f807222ebedf47e8e273fad", 1080 + "_id": "2bf97e7f-fdf4-483c-866d-684fa872663e", 1081 + "_rev": 1719952838744, 1082 + "id": 73, 1083 + "etag": "W/\"555cbcbb8df462556b2aa3dbc632e6718e0a147f9c81b2cbf2f688e03bf3e463\"", 1084 + "updateDate": 1719952161469 1085 + }, 1086 + { 1087 + "enabled": true, 1088 + "installDate": 1721063093758, 1089 + "sections": [ 1090 + { 1091 + "code": "" 1092 + } 1093 + ], 1094 + "sourceCode": "/* ==UserStyle==\n@name Jenkins UI Tweaks\n@namespace github.com/ian-h-chamberlain\n@version 1.0.0\n@description Make Replay button less confusing and highlight failure steps.\n@updateURL https://raw.githubusercontent.com/ian-h-chamberlain/dotfiles/main/.config/stylus/styles/jenkins-ui.user.css\n@author Ian Chamberlain @ian-h-chamberlain\n==/UserStyle== */\n@-moz-document domain(\"jenkins.lab.128technology.com\"), domain(\"jenkins.ssn.juniper.net\") {\n /* Rename the \"Rebuild\" as \"Replay\" if that's what it does */\n [href$=\"/replay\"] .task-link-text {\n text-decoration: line-through !important;\n color: var(--text-color-secondary) !important;\n }\n [href$=\"/replay\"] .task-link-text::after {\n content: \"Replay\" !important;\n text-decoration: none;\n display: inline-block;\n padding-left: 1ex;\n color: var(--text-color) !important;\n }\n \n code, pre {\n font-size: 12px;\n /*\n This is weird, 300 seems to be heavier than 400 when using Argon Var.\n Non-Var seems okay though.\n */\n font-weight: 500;\n }\n}\n\n@-moz-document regexp(\"https://jenkins[.](lab[.]128technology[.]com|ssn[.]juniper[.]net)/.*/flowGraphTable(/.*)?\") {\n /*\n Highlight failed pipeline steps with a different background color\n For Firefox, requires `layout.css.has-selector.enabled` in about:config */\n tr:has(td .icon-red:not([title=\"failed\"])),\n tr:has(td .icon-red) td {\n background-color: rgba(255, 0, 0, 0.3);\n }\n tr:has(td .icon-blue-anime),\n tr:has(td .icon-blue-anime) td { \n background-color: rgba(0, 0, 255, 0.2); \n }\n}\n", 1095 + "usercssData": { 1096 + "name": "Jenkins UI Tweaks", 1097 + "namespace": "github.com/ian-h-chamberlain", 1098 + "version": "1.0.0", 1099 + "description": "Make Replay button less confusing and highlight failure steps.", 1100 + "updateURL": "https://raw.githubusercontent.com/ian-h-chamberlain/dotfiles/main/.config/stylus/styles/jenkins-ui.user.css", 1101 + "author": "Ian Chamberlain @ian-h-chamberlain" 1102 + }, 1103 + "author": "Ian Chamberlain @ian-h-chamberlain", 1104 + "description": "Make Replay button less confusing and highlight failure steps.", 1105 + "name": "Jenkins UI Tweaks", 1106 + "updateUrl": "https://raw.githubusercontent.com/ian-h-chamberlain/dotfiles/main/.config/stylus/styles/jenkins-ui.user.css", 1107 + "originalDigest": "1372863429e72c7932cba854e09fc24495d2559c", 1108 + "_id": "886c8a6f-b804-4361-ba10-0f0734c29eb7", 1109 + "_rev": 1721063425888, 1110 + "id": 77 992 1111 } 993 - ] 1112 + ]
+45
.config/stylus/styles/jenkins-ui.user.css
··· 1 + /* ==UserStyle== 2 + @name Jenkins UI Tweaks 3 + @namespace github.com/ian-h-chamberlain 4 + @version 1.0.0 5 + @description Make Replay button less confusing and highlight failure steps. 6 + @updateURL https://raw.githubusercontent.com/ian-h-chamberlain/dotfiles/main/.config/stylus/styles/jenkins-ui.user.css 7 + @author Ian Chamberlain @ian-h-chamberlain 8 + ==/UserStyle== */ 9 + @-moz-document domain("jenkins.lab.128technology.com"), domain("jenkins.ssn.juniper.net") { 10 + /* Rename the "Rebuild" as "Replay" if that's what it does */ 11 + [href$="/replay"] .task-link-text { 12 + text-decoration: line-through !important; 13 + color: var(--text-color-secondary) !important; 14 + } 15 + [href$="/replay"] .task-link-text::after { 16 + content: "Replay" !important; 17 + text-decoration: none; 18 + display: inline-block; 19 + padding-left: 1ex; 20 + color: var(--text-color) !important; 21 + } 22 + 23 + code, pre { 24 + font-size: 12px; 25 + /* 26 + This is weird, 300 seems to be heavier than 400 when using Argon Var. 27 + Non-Var seems okay though. 28 + */ 29 + font-weight: 500; 30 + } 31 + } 32 + 33 + @-moz-document regexp("https://jenkins[.](lab[.]128technology[.]com|ssn[.]juniper[.]net)/.*/flowGraphTable(/.*)?") { 34 + /* 35 + Highlight failed pipeline steps with a different background color 36 + For Firefox, requires `layout.css.has-selector.enabled` in about:config */ 37 + tr:has(td .icon-red:not([title="failed"])), 38 + tr:has(td .icon-red) td { 39 + background-color: rgba(255, 0, 0, 0.3); 40 + } 41 + tr:has(td .icon-blue-anime), 42 + tr:has(td .icon-blue-anime) td { 43 + background-color: rgba(0, 0, 255, 0.2); 44 + } 45 + }
+1 -913
.config/tampermonkey/firefox-backup.json
··· 1 - { 2 - "version": "1", 3 - "created_by": "Tampermonkey", 4 - "scripts": [ 5 - { 6 - "enabled": true, 7 - "file_url": "https://greasyfork.org/scripts/38582-wanikani-open-framework/code/Wanikani%20Open%20Framework.user.js", 8 - "name": "Wanikani Open Framework", 9 - "options": { 10 - "check_for_updates": true, 11 - "comment": null, 12 - "compat_foreach": false, 13 - "compat_metadata": false, 14 - "compat_powerful_this": null, 15 - "compat_wrappedjsobject": false, 16 - "compatopts_for_requires": true, 17 - "noframes": null, 18 - "override": { 19 - "merge_connects": true, 20 - "merge_excludes": true, 21 - "merge_includes": true, 22 - "merge_matches": true, 23 - "orig_connects": [], 24 - "orig_excludes": [], 25 - "orig_includes": [], 26 - "orig_matches": [ 27 - "https://www.wanikani.com/*", 28 - "https://preview.wanikani.com/*" 29 - ], 30 - "orig_noframes": null, 31 - "orig_run_at": "document-start", 32 - "use_blockers": [], 33 - "use_connects": [], 34 - "use_excludes": [], 35 - "use_includes": [], 36 - "use_matches": [] 37 - }, 38 - "run_at": null, 39 - "sandbox": null, 40 - "tab_types": null, 41 - "unwrap": null 42 - }, 43 - "position": 1, 44 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIE9wZW4gRnJhbWV3b3JrCi8vIEBuYW1lc3BhY2UgICByZmluZGxleQovLyBAZGVzY3JpcHRpb24gRnJhbWV3b3JrIGZvciB3cml0aW5nIHNjcmlwdHMgZm9yIFdhbmlrYW5pCi8vIEB2ZXJzaW9uICAgICAxLjAuNjAKLy8gQG1hdGNoICAgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbS8qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tLyoKLy8gQGNvcHlyaWdodCAgIDIwMjIrLCBSb2JpbiBGaW5kbGV5Ci8vIEBsaWNlbnNlICAgICBNSVQ7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKLy8gQHJ1bi1hdCAgICAgIGRvY3VtZW50LXN0YXJ0Ci8vIEBncmFudCAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uKGdsb2JhbCkgewoJJ3VzZSBzdHJpY3QnOwoKCS8qIGVzbGludCBuby1tdWx0aS1zcGFjZXM6IG9mZiAqLwoJLyogZ2xvYmFscyB3a29mICovCgoJdmFyIHZlcnNpb24gPSAnMS4wLjU5JzsKCXZhciBpZ25vcmVfbWlzc2luZ19pbmRleGVkZGIgPSBmYWxzZTsKCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFN1cHBvcnRlZCBNb2R1bGVzCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJdmFyIHN1cHBvcnRlZF9tb2R1bGVzID0gewoJCUFwaXYyOiAgICB7IHVybDogJ2h0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zODU4MS13YW5pa2FuaS1vcGVuLWZyYW1ld29yay1hcGl2Mi1tb2R1bGUvY29kZS9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmslMjAtJTIwQXBpdjIlMjBtb2R1bGUuanM/dmVyc2lvbj0xMDkxNzg1J30sCgkJSXRlbURhdGE6IHsgdXJsOiAnaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM4NTgwLXdhbmlrYW5pLW9wZW4tZnJhbWV3b3JrLWl0ZW1kYXRhLW1vZHVsZS9jb2RlL1dhbmlrYW5pJTIwT3BlbiUyMEZyYW1ld29yayUyMC0lMjBJdGVtRGF0YSUyMG1vZHVsZS5qcz92ZXJzaW9uPTEwMzAxNTknfSwKCQlKcXVlcnk6ICAgeyB1cmw6ICdodHRwczovL2dyZWFzeWZvcmsub3JnL3NjcmlwdHMvNDUxMDc4LXdhbmlrYW5pLW9wZW4tZnJhbWV3b3JrLWpxdWVyeS1tb2R1bGUvY29kZS9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmslMjAtJTIwSnF1ZXJ5JTIwbW9kdWxlLmpzP3ZlcnNpb249MTA5MTc5NCd9LAoJCU1lbnU6ICAgICB7IHVybDogJ2h0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zODU3OC13YW5pa2FuaS1vcGVuLWZyYW1ld29yay1tZW51LW1vZHVsZS9jb2RlL1dhbmlrYW5pJTIwT3BlbiUyMEZyYW1ld29yayUyMC0lMjBNZW51JTIwbW9kdWxlLmpzP3ZlcnNpb249MTA5MTc4Nyd9LAoJCVByb2dyZXNzOiB7IHVybDogJ2h0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zODU3Ny13YW5pa2FuaS1vcGVuLWZyYW1ld29yay1wcm9ncmVzcy1tb2R1bGUvY29kZS9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmslMjAtJTIwUHJvZ3Jlc3MlMjBtb2R1bGUuanM/dmVyc2lvbj0xMDkxNzkyJ30sCgkJU2V0dGluZ3M6IHsgdXJsOiAnaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM4NTc2LXdhbmlrYW5pLW9wZW4tZnJhbWV3b3JrLXNldHRpbmdzLW1vZHVsZS9jb2RlL1dhbmlrYW5pJTIwT3BlbiUyMEZyYW1ld29yayUyMC0lMjBTZXR0aW5ncyUyMG1vZHVsZS5qcz92ZXJzaW9uPTEwOTE3OTMnfSwKCX07CgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBQdWJsaXNoZWQgaW50ZXJmYWNlCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJdmFyIHB1Ymxpc2hlZF9pbnRlcmZhY2UgPSB7CgkJaW5jbHVkZTogaW5jbHVkZSwgICAgICAgICAgICAgIC8vIGluY2x1ZGUobW9kdWxlX2xpc3QpICAgICAgICA9PiBQcm9taXNlCgkJcmVhZHk6ICAgcmVhZHksICAgICAgICAgICAgICAgIC8vIHJlYWR5KG1vZHVsZV9saXN0KSAgICAgICAgICA9PiBQcm9taXNlCgoJCWxvYWRfZmlsZTogICBsb2FkX2ZpbGUsICAgICAgICAvLyBsb2FkX2ZpbGUodXJsLCB1c2VfY2FjaGUpICAgPT4gUHJvbWlzZQoJCWxvYWRfY3NzOiAgICBsb2FkX2NzcywgICAgICAgICAvLyBsb2FkX2Nzcyh1cmwsIHVzZV9jYWNoZSkgICAgPT4gUHJvbWlzZQoJCWxvYWRfc2NyaXB0OiBsb2FkX3NjcmlwdCwgICAgICAvLyBsb2FkX3NjcmlwdCh1cmwsIHVzZV9jYWNoZSkgPT4gUHJvbWlzZQoKCQlmaWxlX2NhY2hlOiB7CgkJCWRpcjogICAge30sICAgICAgICAgICAgICAgIC8vIE9iamVjdCBjb250YWluaW5nIGRpcmVjdG9yeSBvZiBmaWxlcy4KCQkJbHM6ICAgICBmaWxlX2NhY2hlX2xpc3QsICAgLy8gbHMoKQoJCQljbGVhcjogIGZpbGVfY2FjaGVfY2xlYXIsICAvLyBjbGVhcigpICAgICAgICAgICAgID0+IFByb21pc2UKCQkJZGVsZXRlOiBmaWxlX2NhY2hlX2RlbGV0ZSwgLy8gZGVsZXRlKG5hbWUpICAgICAgICA9PiBQcm9taXNlCgkJCWZsdXNoOiAgZmlsZV9jYWNoZV9mbHVzaCwgIC8vIGZsdXNoKCkgICAgICAgICAgICAgPT4gUHJvbWlzZQoJCQlsb2FkOiAgIGZpbGVfY2FjaGVfbG9hZCwgICAvLyBsb2FkKG5hbWUpICAgICAgICAgID0+IFByb21pc2UKCQkJc2F2ZTogICBmaWxlX2NhY2hlX3NhdmUsICAgLy8gc2F2ZShuYW1lLCBjb250ZW50KSA9PiBQcm9taXNlCgkJCW5vX2NhY2hlOmZpbGVfbm9jYWNoZSwgICAgIC8vIG5vX2NhY2hlKG1vZHVsZXMpCgkJfSwKCgkJb246ICAgICAgd2FpdF9ldmVudCwgICAgICAgICAgIC8vIG9uKGV2ZW50LCBjYWxsYmFjaykKCQl0cmlnZ2VyOiB0cmlnZ2VyX2V2ZW50LCAgICAgICAgLy8gdHJpZ2dlcihldmVudFssIGRhdGExWywgZGF0YTJbLCAuLi5dXV0pCgoJCWdldF9zdGF0ZTogIGdldF9zdGF0ZSwgICAgICAgICAvLyBnZXQoc3RhdGVfdmFyKQoJCXNldF9zdGF0ZTogIHNldF9zdGF0ZSwgICAgICAgICAvLyBzZXQoc3RhdGVfdmFyLCB2YWx1ZSkKCQl3YWl0X3N0YXRlOiB3YWl0X3N0YXRlLCAgICAgICAgLy8gd2FpdChzdGF0ZV92YXIsIHZhbHVlWywgY2FsbGJhY2tbLCBwZXJzaXN0ZW50XV0pID0+IGlmIG5vIGNhbGxiYWNrLCByZXR1cm4gb25lLXNob3QgUHJvbWlzZQoKCQl2ZXJzaW9uOiB7CgkJCXZhbHVlOiB2ZXJzaW9uLAoJCQljb21wYXJlX3RvOiBjb21wYXJlX3RvLCAgICAvLyBjb21wYXJlX3ZlcnNpb24odmVyc2lvbikKCQl9Cgl9OwoKCXB1Ymxpc2hlZF9pbnRlcmZhY2Uuc3VwcG9ydF9maWxlcyA9IHsKCQknanF1ZXJ5LmpzJzogJ2h0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzMuNi4xL2pxdWVyeS5taW4uanMnLAoJCSdqcXVlcnlfdWkuanMnOiAnaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnl1aS8xLjEyLjEvanF1ZXJ5LXVpLm1pbi5qcycsCgkJJ2pxdWlfd2ttYWluLmNzcyc6ICdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmZpbmRsZXkvd2FuaWthbmktb3Blbi1mcmFtZXdvcmsvMTU1MGFmODM4M2VjMjhhZDQwNmNmNDAxYWVlMmRlNGM1MjQ0NmY2Yy9qcXVpLXdrbWFpbi5jc3MnLAoJfTsKCgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCWZ1bmN0aW9uIHNwbGl0X2xpc3Qoc3RyKSB7cmV0dXJuIHN0ci5yZXBsYWNlKC/jgIEvZywnLCcpLnJlcGxhY2UoL1tcc+OAgF0rL2csJyAnKS50cmltKCkucmVwbGFjZSgvICosICovZywgJywnKS5zcGxpdCgnLCcpLmZpbHRlcihmdW5jdGlvbihuYW1lKSB7cmV0dXJuIChuYW1lLmxlbmd0aCA+IDApO30pO30KCWZ1bmN0aW9uIHByb21pc2UoKXt2YXIgYSxiLGM9bmV3IFByb21pc2UoZnVuY3Rpb24oZCxlKXthPWQ7Yj1lO30pO2MucmVzb2x2ZT1hO2MucmVqZWN0PWI7cmV0dXJuIGM7fQoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIENvbXBhcmUgdGhlIGZyYW1ld29yayB2ZXJzaW9uIGFnYWluc3QgYSBzcGVjaWZpYyB2ZXJzaW9uLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGNvbXBhcmVfdG8oY2xpZW50X3ZlcnNpb24pIHsKCQl2YXIgY2xpZW50X3ZlciA9IGNsaWVudF92ZXJzaW9uLnNwbGl0KCcuJykubWFwKGQgPT4gTnVtYmVyKGQpKTsKCQl2YXIgd2tvZl92ZXIgPSB2ZXJzaW9uLnNwbGl0KCcuJykubWFwKGQgPT4gTnVtYmVyKGQpKTsKCQl2YXIgbGVuID0gTWF0aC5tYXgoY2xpZW50X3Zlci5sZW5ndGgsIHdrb2ZfdmVyLmxlbmd0aCk7CgkJZm9yICh2YXIgaWR4ID0gMDsgaWR4IDwgbGVuOyBpZHgrKykgewoJCQl2YXIgYSA9IGNsaWVudF92ZXJbaWR4XSB8fCAwOwoJCQl2YXIgYiA9IHdrb2ZfdmVyW2lkeF0gfHwgMDsKCQkJaWYgKGEgPT09IGIpIGNvbnRpbnVlOwoJCQlpZiAoYSA8IGIpIHJldHVybiAnbmV3ZXInOwoJCQlyZXR1cm4gJ29sZGVyJzsKCQl9CgkJcmV0dXJuICdzYW1lJzsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gSW5jbHVkZSBhIGxpc3Qgb2YgbW9kdWxlcy4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgl2YXIgaW5jbHVkZV9wcm9taXNlcyA9IHt9OwoKCWZ1bmN0aW9uIGluY2x1ZGUobW9kdWxlX2xpc3QpIHsKCQlpZiAod2tvZi5nZXRfc3RhdGUoJ3drb2Yud2tvZicpICE9PSAncmVhZHknKSB7CgkJCXJldHVybiB3a29mLnJlYWR5KCd3a29mJykudGhlbihmdW5jdGlvbigpe3JldHVybiB3a29mLmluY2x1ZGUobW9kdWxlX2xpc3QpO30pOwoJCX0KCQl2YXIgaW5jbHVkZV9wcm9taXNlID0gcHJvbWlzZSgpOwoJCXZhciBtb2R1bGVfbmFtZXMgPSBzcGxpdF9saXN0KG1vZHVsZV9saXN0KTsKCQl2YXIgc2NyaXB0X2NudCA9IG1vZHVsZV9uYW1lcy5sZW5ndGg7CgkJaWYgKHNjcmlwdF9jbnQgPT09IDApIHsKCQkJaW5jbHVkZV9wcm9taXNlLnJlc29sdmUoe2xvYWRlZDpbXSwgZmFpbGVkOltdfSk7CgkJCXJldHVybiBpbmNsdWRlX3Byb21pc2U7CgkJfQoKCQl2YXIgZG9uZV9jbnQgPSAwOwoJCXZhciBsb2FkZWQgPSBbXSwgZmFpbGVkID0gW107CgkJdmFyIG5vX2NhY2hlID0gc3BsaXRfbGlzdChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2tvZi5pbmNsdWRlLm5vY2FjaGUnKSB8fCAnJyk7CgkJZm9yICh2YXIgaWR4ID0gMDsgaWR4IDwgbW9kdWxlX25hbWVzLmxlbmd0aDsgaWR4KyspIHsKCQkJdmFyIG1vZHVsZV9uYW1lID0gbW9kdWxlX25hbWVzW2lkeF07CgkJCXZhciBtb2R1bGUgPSBzdXBwb3J0ZWRfbW9kdWxlc1ttb2R1bGVfbmFtZV07CgkJCWlmICghbW9kdWxlKSB7CgkJCQlmYWlsZWQucHVzaCh7bmFtZTptb2R1bGVfbmFtZSwgdXJsOnVuZGVmaW5lZH0pOwoJCQkJY2hlY2tfZG9uZSgpOwoJCQkJY29udGludWU7CgkJCX0KCQkJdmFyIGF3YWl0X2xvYWQgPSBpbmNsdWRlX3Byb21pc2VzW21vZHVsZV9uYW1lXTsKCQkJdmFyIHVzZV9jYWNoZSA9IChub19jYWNoZS5pbmRleE9mKG1vZHVsZV9uYW1lKSA8IDApICYmIChub19jYWNoZS5pbmRleE9mKCcqJykgPCAwKTsKCQkJaWYgKCF1c2VfY2FjaGUpIGZpbGVfY2FjaGVfZGVsZXRlKG1vZHVsZS51cmwpOwoJCQlpZiAoYXdhaXRfbG9hZCA9PT0gdW5kZWZpbmVkKSBpbmNsdWRlX3Byb21pc2VzW21vZHVsZV9uYW1lXSA9IGF3YWl0X2xvYWQgPSBsb2FkX3NjcmlwdChtb2R1bGUudXJsLCB1c2VfY2FjaGUpOwoJCQlhd2FpdF9sb2FkLnRoZW4ocHVzaF9sb2FkZWQsIHB1c2hfZmFpbGVkKTsKCQl9CgoJCXJldHVybiBpbmNsdWRlX3Byb21pc2U7CgoJCWZ1bmN0aW9uIHB1c2hfbG9hZGVkKHVybCkgewoJCQlsb2FkZWQucHVzaCh1cmwpOwoJCQljaGVja19kb25lKCk7CgkJfQoKCQlmdW5jdGlvbiBwdXNoX2ZhaWxlZCh1cmwpIHsKCQkJZmFpbGVkLnB1c2godXJsKTsKCQkJY2hlY2tfZG9uZSgpOwoJCX0KCgkJZnVuY3Rpb24gY2hlY2tfZG9uZSgpIHsKCQkJaWYgKCsrZG9uZV9jbnQgPCBzY3JpcHRfY250KSByZXR1cm47CgkJCWlmIChmYWlsZWQubGVuZ3RoID09PSAwKSBpbmNsdWRlX3Byb21pc2UucmVzb2x2ZSh7bG9hZGVkOmxvYWRlZCwgZmFpbGVkOmZhaWxlZH0pOwoJCQllbHNlIGluY2x1ZGVfcHJvbWlzZS5yZWplY3Qoe2Vycm9yOidGYWlsdXJlIGxvYWRpbmcgbW9kdWxlJywgbG9hZGVkOmxvYWRlZCwgZmFpbGVkOmZhaWxlZH0pOwoJCX0KCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gV2FpdCBmb3IgYWxsIG1vZHVsZXMgdG8gcmVwb3J0IHRoYXQgdGhleSBhcmUgcmVhZHkKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiByZWFkeShtb2R1bGVfbGlzdCkgewoJCXZhciBtb2R1bGVfbmFtZXMgPSBzcGxpdF9saXN0KG1vZHVsZV9saXN0KTsKCgkJdmFyIHJlYWR5X3Byb21pc2VzID0gWyBdOwoJCWZvciAodmFyIGlkeCBpbiBtb2R1bGVfbmFtZXMpIHsKCQkJdmFyIG1vZHVsZV9uYW1lID0gbW9kdWxlX25hbWVzW2lkeF07CgkJCXJlYWR5X3Byb21pc2VzLnB1c2god2FpdF9zdGF0ZSgnd2tvZi4nICsgbW9kdWxlX25hbWUsICdyZWFkeScpKTsKCQl9CgoJCWlmIChyZWFkeV9wcm9taXNlcy5sZW5ndGggPT09IDApIHsKCQkJcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwoJCX0gZWxzZSBpZiAocmVhZHlfcHJvbWlzZXMubGVuZ3RoID09PSAxKSB7CgkJCXJldHVybiByZWFkeV9wcm9taXNlc1swXTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gUHJvbWlzZS5hbGwocmVhZHlfcHJvbWlzZXMpOwoJCX0KCX0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIExvYWQgYSBmaWxlIGFzeW5jaHJvbm91c2x5LCBhbmQgcGFzcyB0aGUgZmlsZSBhcyByZXNvbHZlZCBQcm9taXNlIGRhdGEuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gbG9hZF9maWxlKHVybCwgdXNlX2NhY2hlKSB7CgkJdmFyIGZldGNoX3Byb21pc2UgPSBwcm9taXNlKCk7CgkJdmFyIG5vX2NhY2hlID0gc3BsaXRfbGlzdChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2tvZi5sb2FkX2ZpbGUubm9jYWNoZScpIHx8ICcnKTsKCQlpZiAobm9fY2FjaGUuaW5kZXhPZih1cmwpID49IDAgfHwgbm9fY2FjaGUuaW5kZXhPZignKicpID49IDApIHVzZV9jYWNoZSA9IGZhbHNlOwoJCWlmICh1c2VfY2FjaGUgPT09IHRydWUpIHsKCQkJcmV0dXJuIGZpbGVfY2FjaGVfbG9hZCh1cmwsIHVzZV9jYWNoZSkuY2F0Y2goZmV0Y2hfdXJsKTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gZmV0Y2hfdXJsKCk7CgkJfQoKCQkvLyBSZXRyaWV2ZSBmaWxlIGZyb20gc2VydmVyCgkJZnVuY3Rpb24gZmV0Y2hfdXJsKCl7CgkJCXZhciByZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgkJCXJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gcHJvY2Vzc19yZXN1bHQ7CgkJCXJlcXVlc3Qub3BlbignR0VUJywgdXJsLCB0cnVlKTsKCQkJcmVxdWVzdC5zZW5kKCk7CgkJCXJldHVybiBmZXRjaF9wcm9taXNlOwoJCX0KCgkJZnVuY3Rpb24gcHJvY2Vzc19yZXN1bHQoZXZlbnQpewoJCQlpZiAoZXZlbnQudGFyZ2V0LnJlYWR5U3RhdGUgIT09IDQpIHJldHVybjsKCQkJaWYgKGV2ZW50LnRhcmdldC5zdGF0dXMgPj0gNDAwIHx8IGV2ZW50LnRhcmdldC5zdGF0dXMgPT09IDApIHJldHVybiBmZXRjaF9wcm9taXNlLnJlamVjdChldmVudC50YXJnZXQuc3RhdHVzKTsKCQkJaWYgKHVzZV9jYWNoZSkgewoJCQkJZmlsZV9jYWNoZV9zYXZlKHVybCwgZXZlbnQudGFyZ2V0LnJlc3BvbnNlKQoJCQkJLnRoZW4oZmV0Y2hfcHJvbWlzZS5yZXNvbHZlLmJpbmQobnVsbCxldmVudC50YXJnZXQucmVzcG9uc2UpKTsKCQkJfSBlbHNlIHsKCQkJCWZldGNoX3Byb21pc2UucmVzb2x2ZShldmVudC50YXJnZXQucmVzcG9uc2UpOwoJCQl9CgkJfQoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBMb2FkIGFuZCBpbnN0YWxsIGEgc3BlY2lmaWMgZmlsZSB0eXBlIGludG8gdGhlIERPTS4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBsb2FkX2FuZF9hcHBlbmQodXJsLCB0YWdfbmFtZSwgbG9jYXRpb24sIHVzZV9jYWNoZSkgewoJCXVybCA9IHVybC5yZXBsYWNlKC8iL2csJ1wnJyk7CgkJaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFnX25hbWUrJ1t1aWQ9IicrdXJsKyciXScpICE9PSBudWxsKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7CgkJcmV0dXJuIGxvYWRfZmlsZSh1cmwsIHVzZV9jYWNoZSkudGhlbihhcHBlbmRfdG9fdGFnKTsKCgkJZnVuY3Rpb24gYXBwZW5kX3RvX3RhZyhjb250ZW50KSB7CgkJCXZhciB0YWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ19uYW1lKTsKCQkJdGFnLmlubmVySFRNTCA9IGNvbnRlbnQ7CgkJCXRhZy5zZXRBdHRyaWJ1dGUoJ3VpZCcsIHVybCk7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobG9jYXRpb24pLmFwcGVuZENoaWxkKHRhZyk7CgkJCXJldHVybiB1cmw7CgkJfQoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBMb2FkIGFuZCBpbnN0YWxsIGEgQ1NTIGZpbGUuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gbG9hZF9jc3ModXJsLCB1c2VfY2FjaGUpIHsKCQlyZXR1cm4gbG9hZF9hbmRfYXBwZW5kKHVybCwgJ3N0eWxlJywgJ2hlYWQnLCB1c2VfY2FjaGUpOwoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBMb2FkIGFuZCBpbnN0YWxsIEphdmFzY3JpcHQuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gbG9hZF9zY3JpcHQodXJsLCB1c2VfY2FjaGUpIHsKCQlyZXR1cm4gbG9hZF9hbmRfYXBwZW5kKHVybCwgJ3NjcmlwdCcsICdib2R5JywgdXNlX2NhY2hlKTsKCX0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJdmFyIHN0YXRlX2xpc3RlbmVycyA9IHt9OwoJdmFyIHN0YXRlX3ZhbHVlcyA9IHt9OwoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBHZXQgdGhlIHZhbHVlIG9mIGEgc3RhdGUgdmFyaWFibGUsIGFuZCBub3RpZnkgbGlzdGVuZXJzLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGdldF9zdGF0ZShzdGF0ZV92YXIpIHsKCQlyZXR1cm4gc3RhdGVfdmFsdWVzW3N0YXRlX3Zhcl07Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFNldCB0aGUgdmFsdWUgb2YgYSBzdGF0ZSB2YXJpYWJsZSwgYW5kIG5vdGlmeSBsaXN0ZW5lcnMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gc2V0X3N0YXRlKHN0YXRlX3ZhciwgdmFsdWUpIHsKCQl2YXIgb2xkX3ZhbHVlID0gc3RhdGVfdmFsdWVzW3N0YXRlX3Zhcl07CgkJaWYgKG9sZF92YWx1ZSA9PT0gdmFsdWUpIHJldHVybjsKCQlzdGF0ZV92YWx1ZXNbc3RhdGVfdmFyXSA9IHZhbHVlOwoKCQkvLyBEbyBsaXN0ZW5lciBjYWxsYmFja3MsIGFuZCByZW1vdmUgbm9uLXBlcnNpc3RlbnQgbGlzdGVuZXJzCgkJdmFyIGxpc3RlbmVycyA9IHN0YXRlX2xpc3RlbmVyc1tzdGF0ZV92YXJdOwoJCXZhciBwZXJzaXN0ZW50X2xpc3RlbmVycyA9IFsgXTsKCQlmb3IgKHZhciBpZHggaW4gbGlzdGVuZXJzKSB7CgkJCXZhciBsaXN0ZW5lciA9IGxpc3RlbmVyc1tpZHhdOwoJCQl2YXIga2VlcCA9IHRydWU7CgkJCWlmIChsaXN0ZW5lci52YWx1ZSA9PT0gdmFsdWUgfHwgbGlzdGVuZXIudmFsdWUgPT09ICcqJykgewoJCQkJa2VlcCA9IGxpc3RlbmVyLnBlcnNpc3RlbnQ7CgkJCQl0cnkgewoJCQkJCWxpc3RlbmVyLmNhbGxiYWNrKHZhbHVlLCBvbGRfdmFsdWUpOwoJCQkJfSBjYXRjaCAoZSkge30KCQkJfQoJCQlpZiAoa2VlcCkgcGVyc2lzdGVudF9saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7CgkJfQoJCXN0YXRlX2xpc3RlbmVyc1tzdGF0ZV92YXJdID0gcGVyc2lzdGVudF9saXN0ZW5lcnM7Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFdoZW4gc3RhdGUgb2Ygc3RhdGVfdmFyIGNoYW5nZXMgdG8gdmFsdWUsIGNhbGwgY2FsbGJhY2suCgkvLyBJZiBwZXJzaXN0ZW50ID09PSB0cnVlLCBjb250aW51ZSBsaXN0ZW5pbmcgZm9yIGFkZGl0aW9uYWwgc3RhdGUgY2hhbmdlcwoJLy8gSWYgdmFsdWUgaXMgJyonLCBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBmb3IgYWxsIHN0YXRlIGNoYW5nZXMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gd2FpdF9zdGF0ZShzdGF0ZV92YXIsIHZhbHVlLCBjYWxsYmFjaywgcGVyc2lzdGVudCkgewoJCXZhciBwcm9taXNlOwoJCWlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7CgkJCXByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKCQkJCWNhbGxiYWNrID0gcmVzb2x2ZTsKCQkJfSk7CgkJfQoJCWlmIChzdGF0ZV9saXN0ZW5lcnNbc3RhdGVfdmFyXSA9PT0gdW5kZWZpbmVkKSBzdGF0ZV9saXN0ZW5lcnNbc3RhdGVfdmFyXSA9IFsgXTsKCQlwZXJzaXN0ZW50ID0gKHBlcnNpc3RlbnQgPT09IHRydWUpOwoJCXZhciBjdXJyZW50X3ZhbHVlID0gc3RhdGVfdmFsdWVzW3N0YXRlX3Zhcl07CgkJaWYgKHBlcnNpc3RlbnQgfHwgdmFsdWUgIT09IGN1cnJlbnRfdmFsdWUpIHN0YXRlX2xpc3RlbmVyc1tzdGF0ZV92YXJdLnB1c2goe2NhbGxiYWNrOmNhbGxiYWNrLCBwZXJzaXN0ZW50OnBlcnNpc3RlbnQsIHZhbHVlOnZhbHVlfSk7CgoJCS8vIElmIGl0J3MgYWxyZWFkeSBhdCB0aGUgZGVzaXJlZCBzdGF0ZSwgY2FsbCB0aGUgY2FsbGJhY2sgaW1tZWRpYXRlbHkuCgkJaWYgKHZhbHVlID09PSBjdXJyZW50X3ZhbHVlKSB7CgkJCXRyeSB7CgkJCQljYWxsYmFjayh2YWx1ZSwgY3VycmVudF92YWx1ZSk7CgkJCX0gY2F0Y2ggKGVycikge30KCQl9CgkJcmV0dXJuIHByb21pc2U7Cgl9CgkvLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCXZhciBldmVudF9saXN0ZW5lcnMgPSB7fTsKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gRmlyZSBhbiBldmVudCwgd2hpY2ggdGhlbiBjYWxscyBjYWxsYmFja3MgZm9yIGFueSBsaXN0ZW5lcnMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gdHJpZ2dlcl9ldmVudChldmVudCkgewoJCXZhciBsaXN0ZW5lcnMgPSBldmVudF9saXN0ZW5lcnNbZXZlbnRdOwoJCWlmIChsaXN0ZW5lcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuOwoJCXZhciBhcmdzID0gW107CgkJQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoYXJncyxhcmd1bWVudHMpOwoJCWFyZ3Muc2hpZnQoKTsKCQlmb3IgKHZhciBpZHggaW4gbGlzdGVuZXJzKSB0cnkgewoJCQlsaXN0ZW5lcnNbaWR4XS5hcHBseShudWxsLGFyZ3MpOwoJCX0gY2F0Y2ggKGVycikge30KCQlyZXR1cm4gZ2xvYmFsLndrb2Y7Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIEFkZCBhIGxpc3RlbmVyIGZvciBhbiBldmVudC4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiB3YWl0X2V2ZW50KGV2ZW50LCBjYWxsYmFjaykgewoJCWlmIChldmVudF9saXN0ZW5lcnNbZXZlbnRdID09PSB1bmRlZmluZWQpIGV2ZW50X2xpc3RlbmVyc1tldmVudF0gPSBbXTsKCQlldmVudF9saXN0ZW5lcnNbZXZlbnRdLnB1c2goY2FsbGJhY2spOwoJCXJldHVybiBnbG9iYWwud2tvZjsKCX0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJdmFyIGZpbGVfY2FjaGVfb3Blbl9wcm9taXNlOwoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBPcGVuIHRoZSBmaWxlX2NhY2hlIGRhdGFiYXNlIChvciByZXR1cm4gaGFuZGxlIGlmIG9wZW4pLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGZpbGVfY2FjaGVfb3BlbigpIHsKCQlpZiAoZmlsZV9jYWNoZV9vcGVuX3Byb21pc2UpIHJldHVybiBmaWxlX2NhY2hlX29wZW5fcHJvbWlzZTsKCQl2YXIgb3Blbl9wcm9taXNlID0gcHJvbWlzZSgpOwoJCWZpbGVfY2FjaGVfb3Blbl9wcm9taXNlID0gb3Blbl9wcm9taXNlOwoJCXZhciByZXF1ZXN0OwoJCXJlcXVlc3QgPSBpbmRleGVkREIub3Blbignd2tvZi5maWxlX2NhY2hlJyk7CgkJcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1cGdyYWRlX2RiOwoJCXJlcXVlc3Qub25zdWNjZXNzID0gZ2V0X2RpcjsKCQlyZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcjsKCQlyZXR1cm4gb3Blbl9wcm9taXNlOwoKCQlmdW5jdGlvbiBlcnJvcigpIHsKCQkJY29uc29sZS5sb2coJ2luZGV4ZWREQiBjb3VsZCBub3Qgb3BlbiEnKTsKCQkJd2tvZi5maWxlX2NhY2hlLmRpciA9IHt9OwoJCQlpZiAoaWdub3JlX21pc3NpbmdfaW5kZXhlZGRiKSB7CgkJCQlvcGVuX3Byb21pc2UucmVzb2x2ZShudWxsKTsKCQkJfSBlbHNlIHsKCQkJCW9wZW5fcHJvbWlzZS5yZWplY3QoKTsKCQkJfQoJCX0KCgkJZnVuY3Rpb24gdXBncmFkZV9kYihldmVudCl7CgkJCXZhciBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CgkJCXZhciBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmaWxlcycsIHtrZXlQYXRoOiduYW1lJ30pOwoJCX0KCgkJZnVuY3Rpb24gZ2V0X2RpcihldmVudCl7CgkJCXZhciBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CgkJCXZhciB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkb25seScpOwoJCQl2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnZmlsZXMnKTsKCQkJdmFyIHJlcXVlc3QgPSBzdG9yZS5nZXQoJ1tkaXJdJyk7CgkJCXJlcXVlc3Qub25zdWNjZXNzID0gcHJvY2Vzc19kaXI7CgkJCXRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBvcGVuX3Byb21pc2UucmVzb2x2ZS5iaW5kKG51bGwsIGRiKTsKCQkJb3Blbl9wcm9taXNlLnRoZW4oc2V0VGltZW91dC5iaW5kKG51bGwsIGZpbGVfY2FjaGVfY2xlYW51cCwgMTAwMDApKTsKCQl9CgoJCWZ1bmN0aW9uIHByb2Nlc3NfZGlyKGV2ZW50KXsKCQkJaWYgKGV2ZW50LnRhcmdldC5yZXN1bHQgPT09IHVuZGVmaW5lZCkgewoJCQkJd2tvZi5maWxlX2NhY2hlLmRpciA9IHt9OwoJCQl9IGVsc2UgewoJCQkJd2tvZi5maWxlX2NhY2hlLmRpciA9IEpTT04ucGFyc2UoZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250ZW50KTsKCQkJfQoJCX0KCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gTGlzdHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGVfY2FjaGUuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9saXN0KCkgewoJCWNvbnNvbGUubG9nKE9iamVjdC5rZXlzKHdrb2YuZmlsZV9jYWNoZS5kaXIpLnNvcnQoKS5qb2luKCdcbicpKTsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQ2xlYXIgdGhlIGZpbGVfY2FjaGUgZGF0YWJhc2UuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9jbGVhcigpIHsKCQlyZXR1cm4gZmlsZV9jYWNoZV9vcGVuKCkudGhlbihjbGVhcik7CgoJCWZ1bmN0aW9uIGNsZWFyKGRiKSB7CgkJCXZhciBjbGVhcl9wcm9taXNlID0gcHJvbWlzZSgpOwoJCQl3a29mLmZpbGVfY2FjaGUuZGlyID0ge307CgkJCWlmIChkYiA9PT0gbnVsbCkgcmV0dXJuIGNsZWFyX3Byb21pc2UucmVzb2x2ZSgpOwoJCQl2YXIgdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignZmlsZXMnLCAncmVhZHdyaXRlJyk7CgkJCXZhciBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdmaWxlcycpOwoJCQlzdG9yZS5jbGVhcigpOwoJCQl0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gY2xlYXJfcHJvbWlzZS5yZXNvbHZlOwoJCX0KCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gRGVsZXRlIGEgZmlsZSBmcm9tIHRoZSBmaWxlX2NhY2hlIGRhdGFiYXNlLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGZpbGVfY2FjaGVfZGVsZXRlKHBhdHRlcm4pIHsKCQlyZXR1cm4gZmlsZV9jYWNoZV9vcGVuKCkudGhlbihkZWwpOwoKCQlmdW5jdGlvbiBkZWwoZGIpIHsKCQkJdmFyIGRlbF9wcm9taXNlID0gcHJvbWlzZSgpOwoJCQlpZiAoZGIgPT09IG51bGwpIHJldHVybiBkZWxfcHJvbWlzZS5yZXNvbHZlKCk7CgkJCXZhciB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkd3JpdGUnKTsKCQkJdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2ZpbGVzJyk7CgkJCXZhciBmaWxlcyA9IE9iamVjdC5rZXlzKHdrb2YuZmlsZV9jYWNoZS5kaXIpLmZpbHRlcihmdW5jdGlvbihmaWxlKXsKCQkJCWlmIChwYXR0ZXJuIGluc3RhbmNlb2YgUmVnRXhwKSB7CgkJCQkJcmV0dXJuIGZpbGUubWF0Y2gocGF0dGVybikgIT09IG51bGw7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiAoZmlsZSA9PT0gcGF0dGVybik7CgkJCQl9CgkJCX0pOwoJCQlmaWxlcy5mb3JFYWNoKGZ1bmN0aW9uKGZpbGUpewoJCQkJc3RvcmUuZGVsZXRlKGZpbGUpOwoJCQkJZGVsZXRlIHdrb2YuZmlsZV9jYWNoZS5kaXJbZmlsZV07CgkJCX0pOwoJCQlmaWxlX2NhY2hlX2Rpcl9zYXZlKCk7CgkJCXRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBkZWxfcHJvbWlzZS5yZXNvbHZlLmJpbmQobnVsbCwgZmlsZXMpOwoJCQlyZXR1cm4gZGVsX3Byb21pc2U7CgkJfQoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBGb3JjZSBpbW1lZGlhdGUgc2F2ZSBvZiBmaWxlX2NhY2hlIGRpcmVjdG9yeS4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBmaWxlX2NhY2hlX2ZsdXNoKCkgewoJCWZpbGVfY2FjaGVfZGlyX3NhdmUodHJ1ZSAvKiBpbW1lZGlhdGVseSAqLyk7Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIExvYWQgYSBmaWxlIGZyb20gdGhlIGZpbGVfY2FjaGUgZGF0YWJhc2UuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9sb2FkKG5hbWUpIHsKCQl2YXIgbG9hZF9wcm9taXNlID0gcHJvbWlzZSgpOwoJCXJldHVybiBmaWxlX2NhY2hlX29wZW4oKS50aGVuKGxvYWQpOwoKCQlmdW5jdGlvbiBsb2FkKGRiKSB7CgkJCWlmICh3a29mLmZpbGVfY2FjaGUuZGlyW25hbWVdID09PSB1bmRlZmluZWQpIHsKCQkJCWxvYWRfcHJvbWlzZS5yZWplY3QobmFtZSk7CgkJCQlyZXR1cm4gbG9hZF9wcm9taXNlOwoJCQl9CgkJCXZhciB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkb25seScpOwoJCQl2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnZmlsZXMnKTsKCQkJdmFyIHJlcXVlc3QgPSBzdG9yZS5nZXQobmFtZSk7CgkJCXdrb2YuZmlsZV9jYWNoZS5kaXJbbmFtZV0ubGFzdF9sb2FkZWQgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7CgkJCWZpbGVfY2FjaGVfZGlyX3NhdmUoKTsKCQkJcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaW5pc2g7CgkJCXJlcXVlc3Qub25lcnJvciA9IGVycm9yOwoJCQlyZXR1cm4gbG9hZF9wcm9taXNlOwoKCQkJZnVuY3Rpb24gZmluaXNoKGV2ZW50KXsKCQkJCWlmIChldmVudC50YXJnZXQucmVzdWx0ID09PSB1bmRlZmluZWQgfHwgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCkgewoJCQkJCWxvYWRfcHJvbWlzZS5yZWplY3QobmFtZSk7CgkJCQl9IGVsc2UgewoJCQkJCWxvYWRfcHJvbWlzZS5yZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGVudCk7CgkJCQl9CgkJCX0KCgkJCWZ1bmN0aW9uIGVycm9yKGV2ZW50KXsKCQkJCWxvYWRfcHJvbWlzZS5yZWplY3QobmFtZSk7CgkJCX0KCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFNhdmUgYSBmaWxlIGludG8gdGhlIGZpbGVfY2FjaGUgZGF0YWJhc2UuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9zYXZlKG5hbWUsIGNvbnRlbnQsIGV4dHJhX2F0dHJpYnMpIHsKCQlyZXR1cm4gZmlsZV9jYWNoZV9vcGVuKCkudGhlbihzYXZlKTsKCgkJZnVuY3Rpb24gc2F2ZShkYikgewoJCQl2YXIgc2F2ZV9wcm9taXNlID0gcHJvbWlzZSgpOwoJCQlpZiAoZGIgPT09IG51bGwpIHJldHVybiBzYXZlX3Byb21pc2UucmVzb2x2ZShuYW1lKTsKCQkJdmFyIHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ2ZpbGVzJywgJ3JlYWR3cml0ZScpOwoJCQl2YXIgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnZmlsZXMnKTsKCQkJc3RvcmUucHV0KHtuYW1lOm5hbWUsY29udGVudDpjb250ZW50fSk7CgkJCXZhciBub3cgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7CgkJCXdrb2YuZmlsZV9jYWNoZS5kaXJbbmFtZV0gPSBPYmplY3QuYXNzaWduKHthZGRlZDpub3csIGxhc3RfbG9hZGVkOm5vd30sIGV4dHJhX2F0dHJpYnMpOwoJCQlmaWxlX2NhY2hlX2Rpcl9zYXZlKHRydWUgLyogaW1tZWRpYXRlbHkgKi8pOwoJCQl0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gc2F2ZV9wcm9taXNlLnJlc29sdmUuYmluZChudWxsLCBuYW1lKTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFNhdmUgYSB0aGUgZmlsZV9jYWNoZSBkaXJlY3RvcnkgY29udGVudHMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJdmFyIGZjX3N5bmNfdGltZXI7CglmdW5jdGlvbiBmaWxlX2NhY2hlX2Rpcl9zYXZlKGltbWVkaWF0ZWx5KSB7CgkJaWYgKGZjX3N5bmNfdGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KGZjX3N5bmNfdGltZXIpOwoJCXZhciBkZWxheSA9IChpbW1lZGlhdGVseSA/IDAgOiAyMDAwKTsKCQlmY19zeW5jX3RpbWVyID0gc2V0VGltZW91dChzYXZlLCBkZWxheSk7CgoJCWZ1bmN0aW9uIHNhdmUoKXsKCQkJZmlsZV9jYWNoZV9vcGVuKCkudGhlbihzYXZlMik7CgkJfQoKCQlmdW5jdGlvbiBzYXZlMihkYil7CgkJCWZjX3N5bmNfdGltZXIgPSB1bmRlZmluZWQ7CgkJCXZhciB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkd3JpdGUnKTsKCQkJdmFyIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2ZpbGVzJyk7CgkJCXN0b3JlLnB1dCh7bmFtZTonW2Rpcl0nLGNvbnRlbnQ6SlNPTi5zdHJpbmdpZnkod2tvZi5maWxlX2NhY2hlLmRpcil9KTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFJlbW92ZSBmaWxlcyB0aGF0IGhhdmVuJ3QgYmVlbiBhY2Nlc3NlZCBpbiBhIHdoaWxlLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGZpbGVfY2FjaGVfY2xlYW51cCgpIHsKCQl2YXIgdGhyZXNob2xkID0gbmV3IERhdGUoKSAtIDE0Kjg2NDAwMDAwOyAvLyAxNCBkYXlzCgkJdmFyIG9sZF9maWxlcyA9IFtdOwoJCWZvciAodmFyIGZuYW1lIGluIHdrb2YuZmlsZV9jYWNoZS5kaXIpIHsKCQkJaWYgKGZuYW1lLm1hdGNoKC9ed2tvZlwuc2V0dGluZ3NcLi8pKSBjb250aW51ZTsgLy8gRG9uJ3QgZmx1c2ggc2V0dGluZ3MgZmlsZXMuCgkJCXZhciBmZGF0ZSA9IG5ldyBEYXRlKHdrb2YuZmlsZV9jYWNoZS5kaXJbZm5hbWVdLmxhc3RfbG9hZGVkKTsKCQkJaWYgKGZkYXRlIDwgdGhyZXNob2xkKSBvbGRfZmlsZXMucHVzaChmbmFtZSk7CgkJfQoJCWlmIChvbGRfZmlsZXMubGVuZ3RoID09PSAwKSByZXR1cm47CgkJY29uc29sZS5sb2coJ0NsZWFuaW5nIG91dCAnK29sZF9maWxlcy5sZW5ndGgrJyBvbGQgZmlsZShzKSBmcm9tICJ3a29mLmZpbGVfY2FjaGUiOicpOwoJCWZvciAodmFyIGZudW0gaW4gb2xkX2ZpbGVzKSB7CgkJCWNvbnNvbGUubG9nKCcgICcrKE51bWJlcihmbnVtKSsxKSsnOiAnK29sZF9maWxlc1tmbnVtXSk7CgkJCXdrb2YuZmlsZV9jYWNoZS5kZWxldGUob2xkX2ZpbGVzW2ZudW1dKTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFByb2Nlc3Mgbm8tY2FjaGUgcmVxdWVzdHMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9ub2NhY2hlKGxpc3QpIHsKCQlpZiAobGlzdCA9PT0gdW5kZWZpbmVkKSB7CgkJCWxpc3QgPSBzcGxpdF9saXN0KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3a29mLmluY2x1ZGUubm9jYWNoZScpIHx8ICcnKTsKCQkJbGlzdCA9IGxpc3QuY29uY2F0KHNwbGl0X2xpc3QobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3drb2YubG9hZF9maWxlLm5vY2FjaGUnKSB8fCAnJykpOwoJCQljb25zb2xlLmxvZyhsaXN0LmpvaW4oJywnKSk7CgkJfSBlbHNlIGlmICh0eXBlb2YgbGlzdCA9PT0gJ3N0cmluZycpIHsKCQkJdmFyIG5vX2NhY2hlID0gc3BsaXRfbGlzdChsaXN0KTsKCQkJdmFyIGlkeCwgbW9kdWxlcyA9IFtdLCB1cmxzID0gW107CgkJCWZvciAoaWR4ID0gMDsgaWR4IDwgbm9fY2FjaGUubGVuZ3RoOyBpZHgrKykgewoJCQkJdmFyIGl0ZW0gPSBub19jYWNoZVtpZHhdOwoJCQkJaWYgKHN1cHBvcnRlZF9tb2R1bGVzW2l0ZW1dICE9PSB1bmRlZmluZWQpIHsKCQkJCQltb2R1bGVzLnB1c2goaXRlbSk7CgkJCQl9IGVsc2UgewoJCQkJCXVybHMucHVzaChpdGVtKTsKCQkJCX0KCQkJfQoJCQljb25zb2xlLmxvZygnTW9kdWxlczogJyttb2R1bGVzLmpvaW4oJywnKSk7CgkJCWNvbnNvbGUubG9nKCcgICBVUkxzOiAnK3VybHMuam9pbignLCcpKTsKCQkJbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3drb2YuaW5jbHVkZS5ub2NhY2hlJywgbW9kdWxlcy5qb2luKCcsJykpOwoJCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2tvZi5sb2FkX2ZpbGUubm9jYWNoZScsIHVybHMuam9pbignLCcpKTsKCQl9Cgl9CgoJZnVuY3Rpb24gZG9jX3JlYWR5KCkgewoJCXdrb2Yuc2V0X3N0YXRlKCd3a29mLmRvY3VtZW50JywgJ3JlYWR5Jyk7Cgl9CgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vIEJvb3Rsb2FkZXIgU3RhcnR1cAoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIHN0YXJ0dXAoKSB7CgkJZ2xvYmFsLndrb2YgPSBwdWJsaXNoZWRfaW50ZXJmYWNlOwoKCQkvLyBNYXJrIGRvY3VtZW50IHN0YXRlIGFzICdyZWFkeScuCgkJaWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScpIHsKCQkJZG9jX3JlYWR5KCk7CgkJfSBlbHNlIHsKCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBkb2NfcmVhZHksIGZhbHNlKTsgIC8vIE5vdGlmeSBsaXN0ZW5lcnMgdGhhdCB3ZSBhcmUgcmVhZHkuCgkJfQoKCQkvLyBPcGVuIGNhY2hlLCBzbyB3a29mLmZpbGVfY2FjaGUuZGlyIGlzIGF2YWlsYWJsZSB0byBjb25zb2xlIGltbWVkaWF0ZWx5LgoJCWZpbGVfY2FjaGVfb3BlbigpOwoJCXdrb2Yuc2V0X3N0YXRlKCd3a29mLndrb2YnLCAncmVhZHknKTsKCX0KCXN0YXJ0dXAoKTsKCn0pKHdpbmRvdyk7Cg==", 45 - "storage": { 46 - "data": {}, 47 - "ts": 1607436649580 48 - }, 49 - "uuid": "e6f9fcca-44eb-425c-b066-541eb962863d" 50 - }, 51 - { 52 - "enabled": false, 53 - "file_url": "https://userscripts-mirror.org/scripts/source/174135.user.js", 54 - "name": "WaniKani Improve", 55 - "options": { 56 - "awareOfChrome": false, 57 - "check_for_updates": true, 58 - "comment": null, 59 - "compat_arrayleft": false, 60 - "compat_foreach": false, 61 - "compat_forvarin": false, 62 - "compat_metadata": false, 63 - "compat_powerful_this": null, 64 - "compat_uW_gmonkey": false, 65 - "compat_wrappedjsobject": false, 66 - "compatopts_for_requires": true, 67 - "noframes": null, 68 - "override": { 69 - "merge_connects": true, 70 - "merge_excludes": true, 71 - "merge_includes": true, 72 - "merge_matches": true, 73 - "orig_excludes": [], 74 - "orig_includes": [ 75 - "https://www.wanikani.com/review/session", 76 - "http://www.wanikani.com/review/session" 77 - ], 78 - "orig_matches": [], 79 - "orig_noframes": null, 80 - "orig_run_at": "document-end", 81 - "use_blockers": [], 82 - "use_connects": [], 83 - "use_excludes": [], 84 - "use_includes": [], 85 - "use_matches": [] 86 - }, 87 - "run_at": null, 88 - "tab_types": null 89 - }, 90 - "position": 2, 91 - "requires": [], 92 - "resources": [], 93 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgV2FuaUthbmkgSW1wcm92ZQovLyBAbmFtZXNwYWNlIGh0dHA6Ly93d3cubWljaGFlbGZyYW5rLmNvbS5ici93YW5pa2FuaV9pbXByb3ZlLwovLyBAaW5jbHVkZSBodHRwczovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24KLy8gQGluY2x1ZGUgaHR0cDovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24KLy8gQHZlcnNpb24gMi4yLjIKLy8gQGdyYW50IEdNX2FkZFN0eWxlCi8vIEBncmFudCBHTV9nZXRSZXNvdXJjZVRleHQKLy8gQHJ1bi1hdCBkb2N1bWVudC1lbmQKLy8gQHJlcXVpcmUgaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzIuMC4zL2pxdWVyeS5taW4uanMKLy8gQHJlcXVpcmUgaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcXRpcDIvMi4yLjAvanF1ZXJ5LnF0aXAubWluLmpzCi8vIEByZXNvdXJjZSBxdGlwQ1NTIGh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3F0aXAyLzIuMi4wL2pxdWVyeS5xdGlwLm1pbi5jc3MKLy8gPT0vVXNlclNjcmlwdD09Cgp2YXIgcXRpcENTUyA9IEdNX2dldFJlc291cmNlVGV4dCgicXRpcENTUyIpOwpHTV9hZGRTdHlsZShxdGlwQ1NTKTsKCiQualN0b3JhZ2UgPSB1bnNhZmVXaW5kb3cuJC5qU3RvcmFnZTsKCnZhciB3a2lfc2V0dGluZ3MgPSAkLmpTdG9yYWdlLmdldCgnd2tpX3NldHRpbmdzJyk7CgppZih3a2lfc2V0dGluZ3MgPT09IG51bGwpCnsKICAgIHdraV9zZXR0aW5ncyA9ICh7CiAgICAgICAgJ3draV90aW1lcl9zaG93X25leHRfaXRlbScgOiAwLAogICAgICAgICd3a2lfYnV0dG9uX2xhYmVsX2JnY29sb3InOiAnI0EyQTJBMicsCiAgICAgICAgJ3draV9idXR0b25fbGFiZWxfdGV4dGNvbG9yJyA6ICcjRkZGRkZGJywKICAgICAgICAnd2tpX2NvbWJvX2Rpc3BsYXknIDogdHJ1ZSwKICAgICAgICAnd2tpX3Nyc19sZXZlbHVwX2Rpc3BsYXknIDogdHJ1ZSwKICAgICAgICAnd2tpX2F1dG9fc2hvd19pbmZvJyA6IHRydWUsCiAgICAgICAgJ3draV9hdWRpb19hdXRvcGxheScgOiBmYWxzZQogICAgfSk7CiAgICBjb25zb2xlLmxvZygnV0tJOiBTZXR0aW5ncyBub3QgZm91bmQnKTsKfQplbHNlCnsKICAgIGNvbnNvbGUubG9nKCdXS0k6IFNldHRpbmdzIGZvdW5kJyk7CiAgICB3a2lfc2V0dGluZ3MgPSAkLnBhcnNlSlNPTih3a2lfc2V0dGluZ3MpOwp9Cgp2YXIgd2tpX2hpdF9jb21ibyA9IDA7CnZhciB3a2lfY29tYm9fcmVjb3JkID0gJC5qU3RvcmFnZS5nZXQoJ3draV9jb21ib19yZWNvcmQnKTsKCnZhciB3a2lfY3VycmVudF9pdGVtID0gJyc7CnZhciB3a2lfY3VycmVudF90eXBlID0gJyc7CnZhciB3a2lfY3VycmVudF9xdWVzdGlvbl90eXBlID0gJyc7CnZhciB3a2lfcHJldmlvdXNfaXRlbSA9ICcnOwp2YXIgd2tpX3ByZXZpb3VzX3R5cGUgPSAnJzsKdmFyIHdraV9wcmV2aW91c19xdWVzdGlvbl90eXBlID0gJyc7CnZhciB3a2lfcHJldmlvdXNfaXRlbV91cmwgPSAnJzsKdmFyIHdraV9zdWJtaXR0ZWRfYW5zd2VyID0gJyc7Cgp2YXIgd2tpX2pzdG9yZWRfY3VycmVudF9pdGVtID0gJyc7CnZhciB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtID0gJyc7Cgp2YXIgd2tpX2l0ZW1zX2FycmF5ID0gbmV3IEFycmF5KCk7Cgp2YXIgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID0gZmFsc2U7CnZhciB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZSA9IDA7CnZhciB3a2lfYW5zd2VyX2V4Y2VwdGlvbl9tZXNzYWdlID0gbmV3IEFycmF5KCk7CndraV9hbnN3ZXJfZXhjZXB0aW9uX21lc3NhZ2VbMF0gPSAnQ2hlY2sgdGhlIHByZXZpb3VzIGl0ZW0nOwp3a2lfYW5zd2VyX2V4Y2VwdGlvbl9tZXNzYWdlWzFdID0gJ1lvdXIgYW5zd2VyIHdhcyBhIGJpdCBvZmYnOwp3a2lfYW5zd2VyX2V4Y2VwdGlvbl9tZXNzYWdlWzJdID0gJ1RoZXJlIGFyZSBvdGhlciBwb3NzaWJsZSByZWFkaW5ncyc7CndraV9hbnN3ZXJfZXhjZXB0aW9uX21lc3NhZ2VbM10gPSAnVGhlcmUgYXJlIG90aGVyIHBvc3NpYmxlIG1lYW5pbmdzJzsKCnZhciB3a2lfc3JzX2xldmVsID0gbmV3IEFycmF5KCk7CndraV9zcnNfbGV2ZWxbMF0gPSAnJzsgLy8gRXZlcnkgaXRlbSBzdGFydHMgb24gMQp3a2lfc3JzX2xldmVsWzFdID0gJyc7CndraV9zcnNfbGV2ZWxbMl0gPSAnJzsKd2tpX3Nyc19sZXZlbFszXSA9ICcnOwp3a2lfc3JzX2xldmVsWzRdID0gJyc7CndraV9zcnNfbGV2ZWxbNV0gPSAnR3VydSc7CndraV9zcnNfbGV2ZWxbNl0gPSAnJzsKd2tpX3Nyc19sZXZlbFs3XSA9ICdNYXN0ZXInOwp3a2lfc3JzX2xldmVsWzhdID0gJ0VubGlnaHRlbmVkJzsKd2tpX3Nyc19sZXZlbFs5XSA9ICdCdXJuZWQnOwp3a2lfc3JzX2xldmVsWzEwXSA9ICcnOyAvLyBTUlMgMTAgZG9lcyBub3QgZXhpc3QKCnZhciBzcnNfd3JhcHBlcl90b3AgPSAwOwp2YXIgc3JzX3dyYXBwZXJfdXBwZXIgPSAwOwoKJCgnPGxpIGlkPSJ3a2lfYnV0dG9uIiBjbGFzcz0id2tpX2RlZmF1bHRfY3Vyc29yIGRpc2FibGVkIj48ZGl2IGlkPSJ3a2lfbWltaWNfYnV0dG9uIj48ZGl2IGNsYXNzPSJ3a2lfaXRlbV93cmFwcGVyIj48ZGl2IGxhbmc9ImphIiBjbGFzcz0id2tpX2J1dHRvbl9pdGVtX2xhYmVsIj48ZGl2IGNsYXNzPSJ3a2lfc3RhcnRfbWVzc2FnZSI+UHJldmlvdXMgaXRlbTwvZGl2PjwvZGl2PjwvZGl2PjxpIGNsYXNzPSJpY29uLWluZm8tc2lnbiI+PC9pPjwvbGk+JykuaW5zZXJ0QWZ0ZXIoJyNvcHRpb24td3JhcC11cCcpOwokKCc8ZGl2IGlkPSJ3a2lfc3JzX3BvcHVwX3dyYXBwZXIiPjxkaXYgY2xhc3M9IndraV9zcnNfcG9wdXBfaWNvbiI+PGkgY2xhc3M9Imljb24tYXJyb3ctdXAiPjwvaT48L2Rpdj48ZGl2IGlkPSJ3a2lfc3JzX3BvcHVwX21lc3NhZ2UiPjwvZGl2PjwvZGl2PicpLmFwcGVuZFRvKCdib2R5Jyk7CgokKCc8c3BhbiBpZD0id2tpX2NvbWJvX2Rpc3BsYXkiPjxpIGNsYXNzPSJpY29uLXRyb3BoeSI+PC9pPjxzcGFuIGlkPSJ3a2lfY29tYm8iIHRpdGxlPSJDdXJyZW50IGNvbWJvIG9mIHJpZ2h0IGFuc3dlcnMiPjA8L3NwYW4+IDxzcGFuIGlkPSJ3a2lfY29tYm9fcmVjb3JkIiB0aXRsZT0iUmVjb3JkIG9mIHJpZ2h0IGFuc3dlcnMgaW4gYSByb3ciPjwvc3Bhbj48L3NwYW4+ICcpLmluc2VydEJlZm9yZSgnI3N0YXRzIGkuaWNvbi10aHVtYnMtdXAnKTsKCiQoJzxkaXYgaWQ9IndraV9jb25maWdfYnV0dG9uIj48c3BhbiBjbGFzcz0id2tpX3Rvb2x0aXAiIHJlbD0id2tpX3NldHRpbmdzX2luZm8iPjxzcGFuIGlkPSJ3a2lfc2V0dGluZ3NfaW5mbyIgY2xhc3M9IndraV9oaWRkZW4iPkNsaWNrIHRvIGFjY2VzcyBXYW5pS2FuaSBJbXByb3ZlIHNldHRpbmdzIG1lbnU8L3NwYW4+PGkgY2xhc3M9Imljb24tY29ncyI+PC9pPiBXS0kgMi4yLjI8L3NwYW4+PC9kaXY+JykuaW5zZXJ0QmVmb3JlKCcjaG90a2V5cycpOwoKJCgnPGRpdiBpZD0id2tpX21vZGFsX2JhY2tncm91bmQiPjwvZGl2PicpLmNzcyh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLCBsZWZ0OiAwLCBoZWlnaHQ6ICQoZG9jdW1lbnQpLmhlaWdodCgpLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAwLjcsIGJhY2tncm91bmRDb2xvcjogJyMwMDAwMDAnLCB6SW5kZXg6IDUwMDAsIGRpc3BsYXk6ICdub25lJyB9KS5hcHBlbmRUbygnYm9keScpOwoKJCgnPHN0eWxlIHR5cGU9InRleHQvY3NzIj4ud2tpX2hpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH0gLndraV9zZXR0aW5nc19zYXZlZCB7IHdpZHRoOiAzNTBweDsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxNnB4OyBkaXNwbGF5OiBub25lOyB9IC53a2lfc2V0dGluZ3NfZGlzY2FyZGVkIHsgd2lkdGg6IDM1MHB4OyBwYWRkaW5nOiAxMHB4OyBmb250LXNpemU6IDE2cHg7IGRpc3BsYXk6IG5vbmU7ICB9ICAud2tpX2NsZWFyIHsgY2xlYXI6IGJvdGg7fSAud2tpX2J0biB7IGNvbG9yOiByZ2IoMTUzLCAxNTMsIDE1Myk7IGZvbnQtZmFtaWx5OiAiVWJ1bnR1IixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpIHJnYmEoMCwgMCwgMCwgMC4xNSkgcmdiYSgwLCAwLCAwLCAwLjI1KTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiA0cHggMTJweDsgbWFyZ2luOiA1cHggMCAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGN1cnNvcjogcG9pbnRlcjsgIHRleHQtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYigyNTUsIDI1NSwgMjU1KSwgcmdiKDIzMCwgMjMwLCAyMzApKTsgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyBib3JkZXItd2lkdGg6IDFweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiByZ2IoMTg3LCAxODcsIDE4NykgcmdiKDE4NywgMTg3LCAxODcpIHJnYigxNjIsIDE2MiwgMTYyKTsgLW1vei1ib3JkZXItdG9wLWNvbG9yczogbm9uZTsgLW1vei1ib3JkZXItcmlnaHQtY29sb3JzOiBub25lOyAtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lOyAtbW96LWJvcmRlci1sZWZ0LWNvbG9yczogbm9uZTsgYm9yZGVyLWltYWdlOiBub25lOyBib3JkZXItcmFkaXVzOiA0cHg7IGJveC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSBpbnNldCwgMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTt9IC53a2lfYnRuOmhvdmVyIHsgY29sb3I6ICM3Nzc3Nzc7IGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfSAud2tpX3NldHRpbmdzX2Zvcm0geyB3aWR0aDogMzUwcHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbGlzdC1zdHlsZS10eXBlOiBub25lO30gLndraV9zZXR0aW5nc19mb3JtIGxpIHsgcGFkZGluZzogMTBweCAwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRlZGVkOyB9IC53a2lfc2V0dGluZ3NfZm9ybSBsaTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDt9IC53a2lfc2V0dGluZ3NfZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0geyB3aWR0aDogOTglOyBtYXJnaW46IDhweCAwIDAgMDsgfSAud2tpX3NldHRpbmdzX2Zvcm0gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7IG1hcmdpbjogM3B4IDVweCA1cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gICN3a2lfY29uZmlnX2J1dHRvbiB7Y3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiByZ2IoMTM2LCAxMzYsIDEzNik7IGZvbnQtc2l6ZTogMC44MTI1ZW07IHZlcnRpY2FsLWFsaWduOiBib3R0b207fSAjd2tpX3Nyc19wb3B1cF93cmFwcGVyIHt3aWR0aDogMTIxcHg7IGhlaWdodDogMzBweDsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMTsgb3BhY2l0eTogMDsgfSAud2tpX3Nyc19wb3B1cF9pY29uIHsgd2lkdGg6IDMwcHg7IGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNXB4IDA7IGZsb2F0OiBsZWZ0OyB9ICN3a2lfc3JzX3BvcHVwX21lc3NhZ2UgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiB3aGl0ZTsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nOiA1cHg7IHdpZHRoOiA4MXB4OyB0ZXh0LXNoYWRvdzogMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9IC53a2lfc3JzX2FwcHJlbnRpY2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjMwMEEyOyB9IC53a2lfc3JzX2d1cnUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOUUzNEI3OyB9IC53a2lfc3JzX21hc3RlciB7IGJhY2tncm91bmQtY29sb3I6ICM0OTY3RTA7IH0gLndraV9zcnNfZW5saWdodG5lZCB7IGJhY2tncm91bmQtY29sb3I6ICMwMEEyRjM7IH0gLndraV9zcnNfYnVybmVkIHsgYmFja2dyb3VuZC1jb2xvcjogIzRFNEU0RTsgfSAud2tpX2RlZmF1bHRfY3Vyc29yIHsgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0gLndraV9zdGFydF9tZXNzYWdleyBjb2xvcjogYmxhY2s7IGRpc3BsYXk6IGlubGluZTt9ICAjd2tpX2J1dHRvbiB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IGN1cnNvcjogcG9pbnRlcjsgfSAjd2tpX2J1dHRvbiBpIHttYXJnaW46IDEzcHggYXV0bzsgd2lkdGg6IDE4JTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMTBweDsgdG9wOiAwOyB9ICN3a2lfbWltaWNfYnV0dG9uIHttYXJnaW4tcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsIDI1MSwgMjUxKTsgY29sb3I6IHJnYigxMzYsIDEzNiwgMTM2KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3gtc2hhZG93OiAzcHggM3B4IDBweCByZ2IoMjI1LCAyMjUsIDIyNSk7fSAud2tpX2J1dHRvbl9pdGVtX2xhYmVsIHsgcGFkZGluZzogMTBweCAwIDZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogJyArIHdraV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX3RleHRjb2xvciArICc7IHRleHQtc2hhZG93OiAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyBvdmVyZmxvdzogaGlkZGVuOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvcGFjaXR5OiAwLjU7IH0gLndraV9idXR0b25faXRlbV9sYWJlbDpob3ZlciB7IG9wYWNpdHk6IDE7IH0gLndraV9pdGVtX3dyYXBwZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB3aWR0aDogODAlOyB9IC53a2lfdm9jYWJ1bGFyeSB7IGJhY2tncm91bmQtY29sb3I6ICNBQTAwRkY7IH0gLndraV9rYW5qaSB7IGJhY2tncm91bmQtY29sb3I6ICNGRjAwQUE7IH0gLndraV9yYWRpY2FsIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwQUFGRjsgfSAud2tpX2NpbnphIHsgYmFja2dyb3VuZC1jb2xvcjogJyArIHdraV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX2JnY29sb3IgKyAnOyB9IC5xdGlweyBtYXgtd2lkdGg6IDM4MHB4ICFpbXBvcnRhbnQ7IH0gI2FkZGl0aW9uYWwtY29udGVudCB1bCBsaSB7IHdpZHRoOiAxNi42JSAhaW1wb3J0YW50OyB9ICNhZGRpdGlvbmFsLWNvbnRlbnQge3RleHQtYWxpZ246IGNlbnRlcjt9ICN3a2lfYnV0dG9uIGltZyB7IG1heC13aWR0aDogMTQlOyBtYXJnaW46IC0xMHB4OyB9ICNhZGRpdGlvbmFsLWNvbnRlbnQgI2Fuc3dlci1leGNlcHRpb24ge2xlZnQ6IDguMyUgIWltcG9ydGFudDt9IEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyN3a2lfbWltaWNfYnV0dG9uIHtwYWRkaW5nOiA1cHg7IGZvbnQtc2l6ZTogMC43NWVtO30gLndraV9pdGVtX3dyYXBwZXIgeyBkaXNwbGF5OiBub25lOyBwYWRkaW5nOiA0cHggNHB4IDNweDsgbWFyZ2luOiAtNHB4OyB9ICN3a2lfYnV0dG9uIGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiBhdXRvOyByaWdodDogYXV0bzsgbWFyZ2luOiAwOyB9IH0gQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkgeyAjd2tpX2J1dHRvbiBpbWcgeyBtYXgtd2lkdGg6IDIyJTsgbWFyZ2luOiAtMTFweDsgfSBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7ICN3a2lfYnV0dG9uIGltZyB7IG1heC13aWR0aDogMjklOyBtYXJnaW46IC0xMXB4OyB9fSAgfSA8L3N0eWxlPicpLmFwcGVuZFRvKCdoZWFkJyk7CgoKaWYod2tpX3NldHRpbmdzLndraV9jb21ib19kaXNwbGF5ICE9PSB0cnVlKQp7CiAgICAkKCcjd2tpX2NvbWJvX2Rpc3BsYXknKS5oaWRlKCk7Cn0KCmlmKHdraV9zZXR0aW5ncy53a2lfc3JzX2xldmVsdXBfZGlzcGxheSAhPT0gdHJ1ZSkKewogICAgJCgnI3draV9zcnNfcG9wdXBfd3JhcHBlcicpLmhpZGUoKTsKfQoKaWYod2tpX2NvbWJvX3JlY29yZCA9PT0gbnVsbCkKewogICAgd2tpX2NvbWJvX3JlY29yZCA9IDA7Cn0KZWxzZQp7CiAgICBpZih3a2lfY29tYm9fcmVjb3JkICE9PSAwKQogICAgewogICAgICAgICQoJyN3a2lfY29tYm9fcmVjb3JkJykudGV4dCgnKCcgKyB3a2lfY29tYm9fcmVjb3JkICsgJyknKTsKICAgIH0KfQoKZnVuY3Rpb24gY2hlY2tBbnN3ZXIoKQp7CiAgICB3a2lfc3VibWl0dGVkX2Fuc3dlciA9ICQoJyN1c2VyLXJlc3BvbnNlJykudmFsKCk7CgogICAgaWYoIXdraV9zdWJtaXR0ZWRfYW5zd2VyKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgYW5zd2VyRXhjZXB0aW9uID0gJC50cmltKCQoJyNhbnN3ZXItZXhjZXB0aW9uJykudGV4dCgpKTsKCiAgICBpZihhbnN3ZXJFeGNlcHRpb24uaW5kZXhPZignV2FuaUthbmkgaXMgbG9va2luZyBmb3IgdGhlJykgIT09IC0xKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBjb25zb2xlLmxvZygnd2tpX3N1Ym1pdHRlZF9hbnN3ZXI6ICcgKyB3a2lfc3VibWl0dGVkX2Fuc3dlcik7CgogICAgaWYoYW5zd2VyRXhjZXB0aW9uLmxlbmd0aCA+IDApCiAgICB7CiAgICAgICAgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID0gdHJ1ZTsKCiAgICAgICAgaWYoYW5zd2VyRXhjZXB0aW9uLmluZGV4T2YoJ2Fuc3dlciB3YXMgYSBiaXQgb2ZmJykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1dLSTogW2Fuc3dlckV4Y2VwdGlvbl0geW91ciBhbnN3ZXIgd2FzIGEgYml0IG9mZicpOwogICAgICAgICAgICAkKCcjd2tpX21pbWljX2J1dHRvbicpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsICcjRjVGN0FCJyk7IC8vIHllbGxvdwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi13YXJuaW5nLXNpZ24nKS5mYWRlT3V0KCkuZmFkZUluKCkuZmFkZU91dCgpLmZhZGVJbigpOwogICAgICAgICAgICB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZSA9IDE7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoYW5zd2VyRXhjZXB0aW9uLmluZGV4T2YoJ3Bvc3NpYmxlIHJlYWRpbmdzJykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1dLSTogW2Fuc3dlckV4Y2VwdGlvbl0gb3RoZXIgcG9zc2libGUgcmVhZGluZ3MnKTsKICAgICAgICAgICAgJCgnI3draV9idXR0b24gaScpLnJlbW92ZUNsYXNzKCkuYWRkQ2xhc3MoJ2ljb24tYXN0ZXJpc2snKTsKICAgICAgICAgICAgJCgnI3draV9taW1pY19idXR0b24nKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCAnI0NERTBGNycpOyAvLyBibHVlCiAgICAgICAgICAgIHdraV9leGNlcHRpb25fbWVzc2FnZV90eXBlID0gMjsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihhbnN3ZXJFeGNlcHRpb24uaW5kZXhPZigncG9zc2libGUgbWVhbmluZ3MnKSAhPT0gLTEpCiAgICAgICAgewogICAgICAgICAgICBjb25zb2xlLmxvZygnV0tJOiBbYW5zd2VyRXhjZXB0aW9uXSBvdGhlciBwb3NzaWJsZSBtZWFuaW5ncycpOwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1hc3RlcmlzaycpOwogICAgICAgICAgICAkKCcjd2tpX21pbWljX2J1dHRvbicpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsICcjQ0RFMEY3Jyk7IC8vIGJsdWUKICAgICAgICAgICAgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPSAzOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGFuc3dlckV4Y2VwdGlvbi5pbmRleE9mKCdWaWV3IHRoZSBjb3JyZWN0JykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1dLSTogW2Fuc3dlckV4Y2VwdGlvbl0gd3JvbmcgYW5zd2VyJyk7CiAgICAgICAgICAgICQoJyN3a2lfbWltaWNfYnV0dG9uJykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgJyNGQkZCRkInKTsgLy8gZGVmYXVsdCBncmV5IGNvbG9yCgogICAgICAgICAgICBpZih3a2lfc2V0dGluZ3Mud2tpX2F1dG9fc2hvd19pbmZvID09PSB0cnVlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkKCcjb3B0aW9uLWl0ZW0taW5mbycpLmNsaWNrKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHdraV9leGNlcHRpb25fbWVzc2FnZV90eXBlID0gMDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgLy8gdW5rbm93biBtZXNzYWdlCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdXS0k6IFthbnN3ZXJFeGNlcHRpb25dICcgKyBhbnN3ZXJFeGNlcHRpb24pOwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1pbmZvLXNpZ24nKTsKICAgICAgICAgICAgJCgnI3draV9taW1pY19idXR0b24nKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCAnI0Y3RDRDRCcpOyAvLyByZWQKICAgICAgICAgICAgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPSAwOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfcmVjZWl2ZWQgPSBmYWxzZTsKICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1vaycpOwogICAgICAgICQoJyN3a2lfbWltaWNfYnV0dG9uJykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgJyNGQkZCRkInKTsgLy8gZGVmYXVsdCBncmV5IGNvbG9yCiAgICB9CgogICAgaWYod2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID09PSBmYWxzZSB8fCB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZSA+IDApCiAgICB7CiAgICAgICAgd2tpX2hpdF9jb21ibysrOwogICAgICAgICQoJyN3a2lfY29tYm8nKS50ZXh0KHdraV9oaXRfY29tYm8pOwogICAgICAgIGlmKHdraV9oaXRfY29tYm8gPiB3a2lfY29tYm9fcmVjb3JkKQogICAgICAgIHsKICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3draV9jb21ib19yZWNvcmQnLCB3a2lfaGl0X2NvbWJvKTsKICAgICAgICAgICAgJCgnI3draV9jb21ibycpLmZhZGVPdXQoKS5mYWRlSW4oKTsKICAgICAgICAgICAgJCgnI3draV9jb21ib19yZWNvcmQnKS5oaWRlKCk7CiAgICAgICAgfQogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHdraV9oaXRfY29tYm8gPSAwOwogICAgICAgICQoJyN3a2lfY29tYm8nKS50ZXh0KHdraV9oaXRfY29tYm8pOwogICAgICAgICQoJyN3a2lfY29tYm9fcmVjb3JkJykudGV4dCgnKCcgKyAkLmpTdG9yYWdlLmdldCgnd2tpX2NvbWJvX3JlY29yZCcsIHdraV9oaXRfY29tYm8pICsgJyknKS5zaG93KCk7CiAgICB9CgogICAgaWYgKCQoJyNhbnN3ZXItZm9ybSBmb3JtIGZpZWxkc2V0JykuaGFzQ2xhc3MoJ2NvcnJlY3QnKSkKICAgIHsKICAgICAgICBjb25zb2xlLmxvZygnV0tJOiBDb3JyZWN0IGFuc3dlcicpOwoKICAgICAgICBpZiAod2tpX3NldHRpbmdzLndraV9hdWRpb19hdXRvcGxheSA9PT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIGlmICgkKCcjb3B0aW9uLWF1ZGlvJykuaGFzQ2xhc3MoJ2Rpc2FibGVkJykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1vdmVOZXh0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkKCIjb3B0aW9uLWF1ZGlvIikuY2xpY2soKTsKCiAgICAgICAgICAgICAgICAkKCcjb3B0aW9uLWF1ZGlvIGF1ZGlvJykuYmluZCgiZW5kZWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgbW92ZU5leHQoKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIG1vdmVOZXh0KCk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZiAoJCgnI2Fuc3dlci1mb3JtIGZvcm0gZmllbGRzZXQnKS5oYXNDbGFzcygnaW5jb3JyZWN0JykpCiAgICB7CiAgICAgICAgY29uc29sZS5sb2coJ1dLSTogV3JvbmcgYW5zd2VyJyk7CiAgICB9Cn0KCmZ1bmN0aW9uIG1vdmVOZXh0KCkKewogICAgY29uc29sZS5sb2coJ1dLSTogTW92aW5nIHRvIG5leHQgcXVlc3Rpb24nKTsKICAgICQoJyNhbnN3ZXItZm9ybSBidXR0b24nKS50cmlnZ2VyKCdjbGljaycpOwp9CgokKCcjYW5zd2VyLWZvcm0gYnV0dG9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSl7CiAgICBpZiAoZS5vcmlnaW5hbEV2ZW50ICE9PSB1bmRlZmluZWQgJiYgZS5vcmlnaW5hbEV2ZW50LnNjcmVlblggJiYgZS5vcmlnaW5hbEV2ZW50LnNjcmVlblkpCiAgICB7CiAgICAgICAgaWYoJCgnI3VzZXItcmVzcG9uc2UnKS52YWwoKSkKICAgICAgICB7CiAgICAgICAgCXNldFRpbWVvdXQoY2hlY2tBbnN3ZXIsIHdraV9zZXR0aW5ncy53a2lfdGltZXJfc2hvd19uZXh0X2l0ZW0pOwogICAgICAgIH0KICAgIH0KfSk7CgokKCcjcXVlc3Rpb24tdHlwZScpLmJpbmQoJ0RPTU5vZGVJbnNlcnRlZCcsIGZ1bmN0aW9uIChldmVudCkKewogICAgaWYoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lICE9ICdTVFJPTkcnKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW0gPSAkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKTsKICAgIHdraV9jdXJyZW50X3F1ZXN0aW9uX3R5cGUgPSAkLmpTdG9yYWdlLmdldCgncXVlc3Rpb25UeXBlJyk7CgogICAgaWYod2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWydrYW4nXSkKICAgIHsKICAgICAgICB3a2lfY3VycmVudF90eXBlID0gJ2thbmppJzsKICAgICAgICB3a2lfY3VycmVudF9pdGVtID0gd2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWydrYW4nXTsKICAgIH0KICAgIGVsc2UgaWYod2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWyd2b2MnXSkKICAgIHsKICAgICAgICB3a2lfY3VycmVudF90eXBlID0gJ3ZvY2FidWxhcnknOwogICAgICAgIHdraV9jdXJyZW50X2l0ZW0gPSB3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3ZvYyddOwogICAgfQogICAgZWxzZSBpZih3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3JhZCddKQogICAgewogICAgICAgIHdraV9jdXJyZW50X3R5cGUgPSAncmFkaWNhbCc7CiAgICAgICAgaWYod2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWydyYWQnXS5pbmRleE9mKCcucG5nJykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgd2tpX2N1cnJlbnRfaXRlbSA9ICc8aW1nIHNyYz0iaHR0cDovL3MzLndhbmlrYW5pLmNvbS9pbWFnZXMvcmFkaWNhbHMvJyt3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3JhZCddKyciIC8+JzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgd2tpX2N1cnJlbnRfaXRlbSA9IHdraV9qc3RvcmVkX2N1cnJlbnRfaXRlbVsncmFkJ107CiAgICAgICAgfQogICAgfQoKICAgIGNvbnNvbGUubG9nKCd3a2lfY3VycmVudF9pdGVtOiAnICsgd2tpX2N1cnJlbnRfaXRlbSk7CiAgICBjb25zb2xlLmxvZygnd2tpX2N1cnJlbnRfdHlwZTogJyArIHdraV9jdXJyZW50X3R5cGUpOwogICAgY29uc29sZS5sb2coJ3draV9jdXJyZW50X3F1ZXN0aW9uX3R5cGU6ICcgKyB3a2lfY3VycmVudF9xdWVzdGlvbl90eXBlKTsKCiAgICBpZih3a2lfc3JzX2xldmVsW3draV9qc3RvcmVkX2N1cnJlbnRfaXRlbVsnc3JzJ10gKyAxXSkKICAgIHsKICAgICAgICBjb25zb2xlLmxvZygnV0tJOiB0aGlzIGl0ZW0gd2lsbCBsZXZlbCB1cCB0byAnICsgd2tpX3Nyc19sZXZlbFt3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3NycyddICsgMV0gKyAnJyk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgY29uc29sZS5sb2coJ1dLSTogdGhpcyBpdGVtIHdpbGwgbm90IGxldmVsIHVwIHRvIGEgbmV3IFNSUyBjbGFzcycpOwogICAgfQoKICAgIGlmICgod2tpX3ByZXZpb3VzX2l0ZW0gIT0gd2tpX2N1cnJlbnRfaXRlbSkgfHwgKHdraV9wcmV2aW91c19pdGVtID09IHdraV9jdXJyZW50X2l0ZW0gJiYgd2tpX2N1cnJlbnRfcXVlc3Rpb25fdHlwZSAhPSB3a2lfcHJldmlvdXNfcXVlc3Rpb25fdHlwZSkpCiAgICB7CiAgICAgICAgaWYgKHdraV9wcmV2aW91c19pdGVtICE9ICcnKQogICAgICAgIHsKICAgICAgICAgICAgaWYoIXdraV9pdGVtc19hcnJheVt3a2lfcHJldmlvdXNfdHlwZSArICdfJyArIHdraV9qc3RvcmVkX3ByZXZpb3VzX2l0ZW1bJ2lkJ11dKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXSA9IHt9OwogICAgICAgICAgICAgICAgd2tpX2l0ZW1zX2FycmF5W3draV9wcmV2aW91c190eXBlICsgJ18nICsgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsnaWQnXV1bJ3ZpZXdzJ10gPSAxOwogICAgICAgICAgICAgICAgd2tpX2l0ZW1zX2FycmF5W3draV9wcmV2aW91c190eXBlICsgJ18nICsgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsnaWQnXV1bJ2NvcnJlY3RfYW5zd2VycyddID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHdraV9pdGVtc19hcnJheVt3a2lfcHJldmlvdXNfdHlwZSArICdfJyArIHdraV9qc3RvcmVkX3ByZXZpb3VzX2l0ZW1bJ2lkJ11dWyd2aWV3cyddKys7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKHdraV9leGNlcHRpb25fbWVzc2FnZV9yZWNlaXZlZCA9PT0gZmFsc2UgfHwgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPiAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXVsnY29ycmVjdF9hbnN3ZXJzJ10rKzsKCiAgICAgICAgICAgICAgICBpZigod2tpX2l0ZW1zX2FycmF5W3draV9wcmV2aW91c190eXBlICsgJ18nICsgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsnaWQnXV1bJ3ZpZXdzJ10gPT0gMiAmJiB3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXVsnY29ycmVjdF9hbnN3ZXJzJ10gPT0gMikgfHwgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsncmFkJ10pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYod2tpX3Nyc19sZXZlbFt3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydzcnMnXSArIDFdKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3draV9zcnNfcG9wdXBfbWVzc2FnZScpLnRleHQod2tpX3Nyc19sZXZlbFt3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydzcnMnXSArIDFdKS5yZW1vdmVDbGFzcygpLmFkZENsYXNzKCd3a2lfc3JzXycgKyB3a2lfc3JzX2xldmVsW3draV9qc3RvcmVkX3ByZXZpb3VzX2l0ZW1bJ3NycyddICsgMV0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3draV9zcnNfcG9wdXBfd3JhcHBlcicpLmFuaW1hdGUoeyd0b3AnOiBzcnNfd3JhcHBlcl91cHBlciwgJ29wYWNpdHknOiAxfSwgODAwLCBmdW5jdGlvbigpIHsgICQodGhpcykuZGVsYXkoODAwKS5hbmltYXRlKHsnb3BhY2l0eSc6IDB9LCA1MDAsIGZ1bmN0aW9uKCkgeyAkKHRoaXMpLmNzcygndG9wJywgc3JzX3dyYXBwZXJfdG9wKTsgfSApOyB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICQoJyN3a2lfbWltaWNfYnV0dG9uJykucXRpcCgnZGVzdHJveScsIHRydWUpOwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbicpLnJlbW92ZUNsYXNzKCk7CgogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiAud2tpX2J1dHRvbl9pdGVtX2xhYmVsJykuaHRtbCh3a2lfcHJldmlvdXNfaXRlbSkucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnd2tpX2J1dHRvbl9pdGVtX2xhYmVsIHdraV9jaW56YScpOwoKICAgICAgICAgICAgaWYod2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID09PSB0cnVlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkKCcjd2tpX21pbWljX2J1dHRvbicpLnF0aXAoe2NvbnRlbnQ6IHsgdGV4dDogd2tpX2Fuc3dlcl9leGNlcHRpb25fbWVzc2FnZVt3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZV0gfSwgcG9zaXRpb246IHsgbXk6ICdib3R0b20gY2VudGVyJywgYXQ6ICd0b3AgY2VudGVyJywgdmlld3BvcnQ6ICQod2luZG93KX0sIHN0eWxlOiAncXRpcC1ib290c3RyYXAnfSk7CgogICAgICAgICAgICAgICAgaWYod2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPT0gMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1yZW1vdmUnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL3Jlc2V0IHRoZSB2YXIKICAgICAgICAgICAgICAgIHdraV9leGNlcHRpb25fbWVzc2FnZV9yZWNlaXZlZCA9IGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB3a2lfcHJldmlvdXNfaXRlbV91cmwgPSAnaHR0cHM6Ly93d3cud2FuaWthbmkuY29tLyc7CgogICAgICAgICAgICBpZiAod2tpX3ByZXZpb3VzX3R5cGUgPT0gJ2thbmppJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgd2tpX3ByZXZpb3VzX2l0ZW1fdXJsICs9ICdrYW5qaS8nICsgd2tpX3ByZXZpb3VzX2l0ZW0gKyAnLyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAod2tpX3ByZXZpb3VzX3R5cGUgPT0gJ3ZvY2FidWxhcnknKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3a2lfcHJldmlvdXNfaXRlbV91cmwgKz0gJ3ZvY2FidWxhcnkvJyArIHdraV9wcmV2aW91c19pdGVtICsgJy8nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHJhZGljYWxOYW1lID0gd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbS5lblswXTsKICAgICAgICAgICAgICAgIHdraV9wcmV2aW91c19pdGVtX3VybCArPSAncmFkaWNhbHMvJyArIHJhZGljYWxOYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnICcsICctJykgKyAnLyc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc3JzX3dyYXBwZXJfdG9wID0gcGFyc2VJbnQoJCgiI3draV9taW1pY19idXR0b24iKS5vZmZzZXQoKS50b3AgKyAkKCIjd2tpX21pbWljX2J1dHRvbiIpLm91dGVySGVpZ2h0KCkpOwogICAgICAgICAgICBzcnNfd3JhcHBlcl91cHBlciA9IHBhcnNlSW50KHNyc193cmFwcGVyX3RvcCAtICgkKCIjd2tpX21pbWljX2J1dHRvbiIpLm91dGVySGVpZ2h0KCkgKiAyKSk7CgogICAgICAgICAgICAkKCcjd2tpX3Nyc19wb3B1cF93cmFwcGVyJykuY3NzKHsndG9wJzogc3JzX3dyYXBwZXJfdG9wICsgJ3B4JywgJ2xlZnQnOiBwYXJzZUludCgkKCIjd2tpX21pbWljX2J1dHRvbiIpLm91dGVyV2lkdGgoKSAvIDMgKyAkKCIjd2tpX21pbWljX2J1dHRvbiIpLm9mZnNldCgpLmxlZnQpICsgJ3B4J30pOwogICAgICAgIH0KCgogICAgICAgICQoJyN3a2lfYnV0dG9uJykubm90KCcuZGlzYWJsZWQnKS5xdGlwKAogICAgICAgIHsKICAgICAgICAgICAgaGlkZToKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZXZlbnQ6ICdjbGljayB1bmZvY3VzJwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGl0bGU6ICdQcmV2aW91cyAnICsgd2tpX3ByZXZpb3VzX3R5cGUgKyAnLiBZb3UgYW5zd2VyZWQgPHN0cm9uZz4nICsgd2tpX3N1Ym1pdHRlZF9hbnN3ZXIgKyAnPC9zdHJvbmc+JywKICAgICAgICAgICAgICAgIHRleHQ6ICc8aWZyYW1lIGlkPSJ3a2lfaWZyYW1lX3ByZXZpb3VzX2l0ZW0iIHNyYz0iJyArIHdraV9wcmV2aW91c19pdGVtX3VybCArICciIGZyYW1lYm9yZGVyPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIHN0eWxlPSJ3aWR0aDozNTBweDsgaGVpZ2h0OiAyNTBweDsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyZmxvdy15OiBzY3JvbGw7IG9wYWNpdHk6IDA7Ij48L2lmcmFtZT4nCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBvc2l0aW9uOgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBteTogJ2JvdHRvbSBjZW50ZXInLAogICAgICAgICAgICAgICAgYXQ6ICd0b3AgY2VudGVyJywKICAgICAgICAgICAgICAgIHZpZXdwb3J0OiAkKHdpbmRvdyksCiAgICAgICAgICAgICAgICBhZGp1c3Q6IHsgbWV0aG9kOiAnc2hpZnQgZmxpcCcgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBzaG93OgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBldmVudDogJ2NsaWNrJywKICAgICAgICAgICAgICAgIHNvbG86IHRydWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZXZlbnRzOgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbihldmVudCwgYXBpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICQoJ2lmcmFtZSN3a2lfaWZyYW1lX3ByZXZpb3VzX2l0ZW0nKS5sb2FkKGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2tpX2lmcmFtZV9jb250ZW50ID0gJCh0aGlzKS5jb250ZW50cygpLmZpbmQoJ2JvZHknKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHdraV9pZnJhbWVfY29udGVudC5hcHBlbmQoJzxzdHlsZT4uZm9vdGVyLWFkanVzdG1lbnQsIGZvb3RlciB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50fSBib2R5IHttYXJnaW46IDEwcHggIWltcG9ydGFudDt9IHNlY3Rpb24ge21hcmdpbjogMCAhaW1wb3J0YW50OyB9IC5jb250YWluZXIge21hcmdpbjogMCAhaW1wb3J0YW50OyB9IC5sZXZlbC1pY29uIHsgbWluLWhlaWdodDogNTJweDsgZmxvYXQ6IGxlZnQ7fSAudm9jYWJ1bGFyeS1pY29uLCAua2FuamktaWNvbiwgLnJhZGljYWwtaWNvbiB7ZmxvYXQ6IHJpZ2h0OyB3aWR0aDogODMlOyBoZWlnaHQ6IGF1dG87IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDUycHg7fSAud2tpX2lmcmFtZV9oZWFkZXIge2ZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiA1NXB4fSAud2tpX2lmcmFtZV9zZWN0aW9uIHttYXJnaW46IDMwcHggMCAwICFpbXBvcnRhbnR9IC53a2lfaWZyYW1lX3NlY3Rpb246YWZ0ZXIge2NsZWFyOiBib3RoOyB9IC53a2lfaWZyYW1lX3NlY3Rpb24gaDIge2JvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMjEyLCAyMTIsIDIxMikgIWltcG9ydGFudDsgbWFyZ2luOiAxNXB4IDAgN3B4ICFpbXBvcnRhbnQ7fSAud2tpX2lmcmFtZV9oZWFkZXIgLmVubGFyZ2UtaG92ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gPC9zdHlsZT4nKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW0gPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnaGVhZGVyPmgxJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW1fcHJvZ3Jlc3MgPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnI3Byb2dyZXNzJykuYWRkQ2xhc3MoJ3draV9pZnJhbWVfc2VjdGlvbicpLndyYXAoJzxkaXY+PC9kaXY+JykucGFyZW50KCkuaHRtbCgpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2tpX2lmcmFtZV9pdGVtX2FsdGVybmF0aXZlX21lYW5pbmcgPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnI2luZm9ybWF0aW9uJykuYWRkQ2xhc3MoJ2luZGl2aWR1YWwtaXRlbScpLndyYXAoJzxkaXY+PC9kaXY+JykucGFyZW50KCk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZih3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXVsnY29ycmVjdF9hbnN3ZXJzJ10gPT0gMikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdraV9yZWFkaW5nc19hbmRfbWVhbmluZ3MgPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnaDI6Y29udGFpbnMoIlJlYWRpbmciKSxoMjpjb250YWlucygiTWVhbmluZyIpLGgyOmNvbnRhaW5zKCJOYW1lIiknKS5wYXJlbnQoJ3NlY3Rpb24nKS5hZGRDbGFzcygnd2tpX2lmcmFtZV9zZWN0aW9uJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKCc8aDIgY2xhc3M9IndraV9pZnJhbWVfaGVhZGVyIj4nICsgd2tpX2lmcmFtZV9pdGVtLmh0bWwoKSArICc8L2gyPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCh3a2lfaWZyYW1lX2l0ZW1fYWx0ZXJuYXRpdmVfbWVhbmluZyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKHdraV9yZWFkaW5nc19hbmRfbWVhbmluZ3MpOwoKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih3a2lfcHJldmlvdXNfcXVlc3Rpb25fdHlwZS5pbmRleE9mKCdyZWFkaW5nJykgIT09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW1fcmVhZGluZyA9IHdraV9pZnJhbWVfY29udGVudC5maW5kKCdoMjpjb250YWlucygiUmVhZGluZyIpJykucGFyZW50KCdzZWN0aW9uJykuYWRkQ2xhc3MoJ3draV9pZnJhbWVfc2VjdGlvbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCc8aDI+JywgeydjbGFzcycgOiAnd2tpX2lmcmFtZV9oZWFkZXInfSkuYXBwZW5kVG8od2tpX2lmcmFtZV9jb250ZW50KS5hcHBlbmQod2tpX2lmcmFtZV9pdGVtLmNoaWxkcmVuKCkpLmFwcGVuZCgnPGJyIHN0eWxlPSJjbGVhcjogYm90aDsiIC8+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCh3a2lfaWZyYW1lX2l0ZW1fcmVhZGluZyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHdraV9wcmV2aW91c19xdWVzdGlvbl90eXBlLmluZGV4T2YoJ21lYW5pbmcnKSAhPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYod2tpX3ByZXZpb3VzX3R5cGUgPT0gJ3JhZGljYWwnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdraV9pZnJhbWVfaXRlbV9tZWFuaW5nID0gd2tpX2lmcmFtZV9jb250ZW50LmZpbmQoJ2gyOmNvbnRhaW5zKCJOYW1lIiknKS5wYXJlbnQoJ3NlY3Rpb24nKS5hZGRDbGFzcygnd2tpX2lmcmFtZV9zZWN0aW9uJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW1fbWVhbmluZyA9IHdraV9pZnJhbWVfY29udGVudC5maW5kKCdoMjpjb250YWlucygiTWVhbmluZyIpJykucGFyZW50KCdzZWN0aW9uJykuYWRkQ2xhc3MoJ3draV9pZnJhbWVfc2VjdGlvbicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCgnPGgyIGNsYXNzPSJ3a2lfaWZyYW1lX2hlYWRlciI+JyArIHdraV9pZnJhbWVfaXRlbS5odG1sKCkgKyAnPC9oMj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKHdraV9pZnJhbWVfaXRlbV9hbHRlcm5hdGl2ZV9tZWFuaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKHdraV9pZnJhbWVfaXRlbV9tZWFuaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCh3a2lfaWZyYW1lX2l0ZW1fcHJvZ3Jlc3MpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ29wYWNpdHknLCAnMScpOwoKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc3R5bGU6ICdxdGlwLWJvb3RzdHJhcCcKICAgICAgICB9KTsKCiAgICB9Cn0pOwoKCiQoJyNxdWVzdGlvbi10eXBlJykuYmluZCgnRE9NTm9kZVJlbW92ZWQnLCBmdW5jdGlvbiAoZXZlbnQpCnsKICAgIGlmKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnU1RST05HJykKICAgIHsKICAgICAgICB3a2lfcHJldmlvdXNfaXRlbSA9IHdraV9jdXJyZW50X2l0ZW07CiAgICAgICAgd2tpX3ByZXZpb3VzX3R5cGUgPSB3a2lfY3VycmVudF90eXBlOwogICAgICAgIHdraV9wcmV2aW91c19xdWVzdGlvbl90eXBlID0gd2tpX2N1cnJlbnRfcXVlc3Rpb25fdHlwZTsKICAgICAgICB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtID0gd2tpX2pzdG9yZWRfY3VycmVudF9pdGVtOwoKICAgICAgICBjb25zb2xlLmxvZygnV0tJOiBQcmV2aW91cyBpdGVtIHJlZ2lzdGVyZWQnKTsKICAgIH0KfSk7CgokKCcjdXNlci1yZXNwb25zZScpLmtleWRvd24oIGZ1bmN0aW9uKGUpIHsKICAgIHZhciBrZXkgPSBlLmNoYXJDb2RlID8gZS5jaGFyQ29kZSA6IGUua2V5Q29kZSA/IGUua2V5Q29kZSA6IDA7CgogICAgaWYgKGtleSA9PSAxMykKICAgIHsKICAgICAgICBzZXRUaW1lb3V0KGNoZWNrQW5zd2VyLCB3a2lfc2V0dGluZ3Mud2tpX3RpbWVyX3Nob3dfbmV4dF9pdGVtKTsKICAgIH0KfSk7CgoKdmFyIGxhYmVsX3RvZ2dsZSA9IDA7CiQoIiN3a2lfYnV0dG9uIikuYmluZCh7CiAgICBtb3VzZWVudGVyOiBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGl0ZW1fbGFiZWwgPSAkKHRoaXMpLmZpbmQoIi53a2lfaXRlbV93cmFwcGVyIik7CiAgICAgICAgaWYoaXRlbV9sYWJlbC5vdXRlcldpZHRoKCkgPCBpdGVtX2xhYmVsWzBdLnNjcm9sbFdpZHRoKQogICAgICAgIHsKICAgICAgICAgICAgaXRlbV9sYWJlbC5hbmltYXRlKAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICB3aWR0aDogIjEwMCUiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIDIwMAogICAgICAgICAgICApOwogICAgICAgICAgICAkKHRoaXMpLmZpbmQoImkiKS5mYWRlT3V0KDEwMCk7CiAgICAgICAgICAgIGxhYmVsX3RvZ2dsZSA9IDE7CiAgICAgICAgfQoKICAgIH0sCiAgICBtb3VzZWxlYXZlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGl0ZW1fbGFiZWwgPSAkKHRoaXMpLmZpbmQoIi53a2lfaXRlbV93cmFwcGVyIik7CiAgICAgICAgaWYobGFiZWxfdG9nZ2xlID09PSAxKQogICAgICAgIHsKICAgICAgICAgICAgaXRlbV9sYWJlbC5hbmltYXRlKAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICB3aWR0aDogIjgwJSIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgMjAwCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICQodGhpcykuZmluZCgiaSIpLmZhZGVJbigxMDApOwogICAgICAgICAgICBsYWJlbF90b2dnbGUgPSAwOwogICAgICAgIH0KICAgIH0KfSk7CgoKJCgnI3draV9jb25maWdfYnV0dG9uJykucXRpcCh7CiAgICBzaG93OgogICAgewogICAgICAgIGV2ZW50OiAnY2xpY2snLAogICAgICAgIGVmZmVjdDogZnVuY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgJCgnI3draV9tb2RhbF9iYWNrZ3JvdW5kJykuZmFkZUluKCk7CiAgICAgICAgICAgICQodGhpcykuZmFkZUluKCk7CiAgICAgICAgfQogICAgfSwKICAgIGhpZGU6CiAgICB7CiAgICAgICAgZXZlbnQ6ICd1bmZvY3VzJywKICAgICAgICBlZmZlY3Q6IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgICQoJyN3a2lfbW9kYWxfYmFja2dyb3VuZCcpLmZhZGVPdXQoKTsKICAgICAgICAgICAgJCh0aGlzKS5mYWRlT3V0KCk7CiAgICAgICAgfQogICAgfSwKICAgIGV2ZW50czogewoJICAgcmVuZGVyOiBmdW5jdGlvbihldmVudCwgYXBpKSB7CgkgICAgICAgJCgnI3draV9zZXR0aW5nc19jYW5jZWwnKS5iaW5kKCdjbGljaycsIHNldHRpbmdzQ2FuY2VsKTsKICAgICAgICAgICAkKCcjd2tpX3NldHRpbmdzX3NhdmUnKS5iaW5kKCdjbGljaycsIHNldHRpbmdzU2F2ZSk7CiAgICAgICB9CiAgICB9LAogICAgY29udGVudDoKICAgIHsKICAgICAgICB0aXRsZTogJzxoMiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+V2FuaUthbmkgSW1wcm92ZTwvaDI+JywKICAgICAgICB0ZXh0OiAnPHVsIGNsYXNzPSJ3a2lfc2V0dGluZ3NfZm9ybSI+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IndraV9zZXR0aW5nc19hdWRpb19hdXRvcGxheSIgJysod2tpX3NldHRpbmdzLndraV9hdWRpb19hdXRvcGxheSA9PT0gdHJ1ZSA/ICdjaGVja2VkJyA6ICcnKSsnIC8+IDxsYWJlbCBmb3I9IndraV9zZXR0aW5nc19hdWRpb19hdXRvcGxheSI+UGxheSB2b2NhYnVsYXJ5IGF1ZGlvIHdoZW4gYXZhaWxhYmxlPC9sYWJlbD48L2xpPjxsaT48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ3a2lfc2V0dGluZ3NfY29tYm9fZGlzcGxheSIgJysod2tpX3NldHRpbmdzLndraV9jb21ib19kaXNwbGF5ID09PSB0cnVlID8gJ2NoZWNrZWQnIDogJycpKycgLz4gPGxhYmVsIGZvcj0id2tpX3NldHRpbmdzX2NvbWJvX2Rpc3BsYXkiPlNob3cgY29tYm8gaW5mb3JtYXRpb248L2xhYmVsPjwvbGk+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IndraV9zZXR0aW5nc19zcnNfbGV2ZWx1cF9kaXNwbGF5IiAnKyh3a2lfc2V0dGluZ3Mud2tpX3Nyc19sZXZlbHVwX2Rpc3BsYXkgPT09IHRydWUgPyAnY2hlY2tlZCcgOiAnJykrJyAvPiA8bGFiZWwgZm9yPSJ3a2lfc2V0dGluZ3Nfc3JzX2xldmVsdXBfZGlzcGxheSI+V2hlbiBhbiBpdGVtIGxldmVsIHVwLCBkaXNwbGF5IHRoZSBuZXcgU1JTIGxldmVsPC9sYWJlbD48L2xpPjxsaT48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ3a2lfc2V0dGluZ3NfYXV0b19zaG93X2luZm8iICcrKHdraV9zZXR0aW5ncy53a2lfYXV0b19zaG93X2luZm8gPT09IHRydWUgPyAnY2hlY2tlZCcgOiAnJykrJyAvPiA8bGFiZWwgZm9yPSJ3a2lfc2V0dGluZ3NfYXV0b19zaG93X2luZm8iPkRpc3BsYXkgdGhlIGl0ZW0gaW5mb3JtYXRpb24gYWZ0ZXIgYSB3cm9uZyBhbnN3ZXI8L2xhYmVsPjwvbGk+PGxpPkJ1dHRvblwncyBiYWNrZ3JvdW5kIGNvbG9yIChkZWZhdWx0OiAjQTJBMkEyKTxiciAvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0id2tpX3NldHRpbmdzX2J1dHRvbl9sYWJlbF9iZ2NvbG9yIiB2YWx1ZT0iJyt3a2lfc2V0dGluZ3Mud2tpX2J1dHRvbl9sYWJlbF9iZ2NvbG9yKyciIC8+PC9saT48bGk+QnV0dG9uXCdzIHRleHQgY29sb3IgIChkZWZhdWx0OiAjRkZGRkZGKTxiciAvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0id2tpX3NldHRpbmdzX2J1dHRvbl9sYWJlbF90ZXh0Y29sb3IiIHZhbHVlPSInK3draV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX3RleHRjb2xvcisnIiAvPjwvbGk+PGxpPlRpbWUgdG8gd2FpdCBiZWZvcmUgbW92aW5nIHRvIHRoZSBuZXh0IHF1ZXN0aW9uIChtaWxpc2Vjb25kcywgZGVmYXVsdDogMCk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IndraV9zZXR0aW5nc190aW1lcl9zaG93X25leHRfaXRlbSIgdmFsdWU9Iicrd2tpX3NldHRpbmdzLndraV90aW1lcl9zaG93X25leHRfaXRlbSsnIiAvPjwvbGk+PGxpPjxhIGlkPSJ3a2lfc2V0dGluZ3NfY2FuY2VsIiBjbGFzcz0id2tpX2J0biIgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+Q2FuY2VsPC9hPjxhIGlkPSJ3a2lfc2V0dGluZ3Nfc2F2ZSIgY2xhc3M9IndraV9idG4iIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij5TYXZlPC9hPjxiciBjbGFzcz0id2tpX2NsZWFyIiAvPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ3a2lfc2V0dGluZ3Nfc2F2ZWQiPlNldHRpbmdzIHNhdmVkPC9kaXY+PGRpdiBjbGFzcz0id2tpX3NldHRpbmdzX2Rpc2NhcmRlZCI+Q2hhbmdlcyBkaXNjYXJkZWQ8L2Rpdj4nCiAgICB9LAogICAgcG9zaXRpb246CiAgICB7CiAgICAgICAgbXk6ICdjZW50ZXInLCBhdDogJ2NlbnRlcicsCiAgICAgICAgdGFyZ2V0OiAkKHdpbmRvdykKICAgIH0sCiAgICBzdHlsZTogewogICAgICAgIGNsYXNzZXM6ICdxdGlwLWJvb3RzdHJhcCcKICAgIH0KfSk7CgpmdW5jdGlvbiBzZXR0aW5nc0NhbmNlbCgpCnsKICAgIGNvbnNvbGUubG9nKCdXS0k6IHNldHRpbmdzIG5vdCBzYXZlZCcpOwogICAgJCgnLndraV9zZXR0aW5nc19mb3JtJykuc2xpZGVVcCgpOwogICAgJCgnLndraV9zZXR0aW5nc19kaXNjYXJkZWQnKS5zbGlkZURvd24oKTsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgJCgnI3draV9jb25maWdfYnV0dG9uJykucXRpcCgiaGlkZSIpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoJy53a2lfc2V0dGluZ3NfZm9ybScpLnNob3coKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19zYXZlZCcpLmhpZGUoKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19kaXNjYXJkZWQnKS5oaWRlKCk7CiAgICAgICAgfSwgMTAwMCk7CiAgICB9LCAxMzAwKTsKfQoKZnVuY3Rpb24gc2V0dGluZ3NTYXZlKCkKewogICAgd2tpX3NldHRpbmdzLndraV9hdWRpb19hdXRvcGxheSA9ICQoIiN3a2lfc2V0dGluZ3NfYXVkaW9fYXV0b3BsYXkiKS5pcygiOmNoZWNrZWQiKSA/IHRydWUgOiBmYWxzZTsKICAgIHdraV9zZXR0aW5ncy53a2lfdGltZXJfc2hvd19uZXh0X2l0ZW0gPSAkKCcjd2tpX3NldHRpbmdzX3RpbWVyX3Nob3dfbmV4dF9pdGVtJykudmFsKCk7CiAgICB3a2lfc2V0dGluZ3Mud2tpX2J1dHRvbl9sYWJlbF9iZ2NvbG9yID0gJCgnI3draV9zZXR0aW5nc19idXR0b25fbGFiZWxfYmdjb2xvcicpLnZhbCgpOwogICAgd2tpX3NldHRpbmdzLndraV9idXR0b25fbGFiZWxfdGV4dGNvbG9yID0gJCgnI3draV9zZXR0aW5nc19idXR0b25fbGFiZWxfdGV4dGNvbG9yJykudmFsKCk7CiAgICB3a2lfc2V0dGluZ3Mud2tpX2NvbWJvX2Rpc3BsYXkgPSAkKCIjd2tpX3NldHRpbmdzX2NvbWJvX2Rpc3BsYXkiKS5pcygiOmNoZWNrZWQiKSA/IHRydWUgOiBmYWxzZTsKICAgIHdraV9zZXR0aW5ncy53a2lfc3JzX2xldmVsdXBfZGlzcGxheSA9ICQoIiN3a2lfc2V0dGluZ3Nfc3JzX2xldmVsdXBfZGlzcGxheSIpLmlzKCI6Y2hlY2tlZCIpID8gdHJ1ZSA6IGZhbHNlOwogICAgd2tpX3NldHRpbmdzLndraV9hdXRvX3Nob3dfaW5mbyA9ICQoIiN3a2lfc2V0dGluZ3NfYXV0b19zaG93X2luZm8iKS5pcygiOmNoZWNrZWQiKSA/IHRydWUgOiBmYWxzZTsKCiAgICAkLmpTdG9yYWdlLnNldCgnd2tpX3NldHRpbmdzJywgSlNPTi5zdHJpbmdpZnkod2tpX3NldHRpbmdzKSk7CgogICAgJCgnLndraV9idXR0b25faXRlbV9sYWJlbCcpLmNzcyh7J2NvbG9yJyA6IHdraV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX3RleHRjb2xvciwgJ2JhY2tncm91bmQtY29sb3InOiB3a2lfc2V0dGluZ3Mud2tpX2J1dHRvbl9sYWJlbF9iZ2NvbG9yfSk7CgogICAgaWYod2tpX3NldHRpbmdzLndraV9jb21ib19kaXNwbGF5ICE9PSB0cnVlKQogICAgewogICAgICAgICQoJyN3a2lfY29tYm9fZGlzcGxheScpLmhpZGUoKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkKCcjd2tpX2NvbWJvX2Rpc3BsYXknKS5zaG93KCk7CiAgICB9CgogICAgaWYod2tpX3NldHRpbmdzLndraV9zcnNfbGV2ZWx1cF9kaXNwbGF5ICE9PSB0cnVlKQogICAgewogICAgICAgICQoJyN3a2lfc3JzX3BvcHVwX3dyYXBwZXInKS5oaWRlKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgJCgnI3draV9zcnNfcG9wdXBfd3JhcHBlcicpLnNob3coKTsKICAgIH0KCiAgICAkKCcud2tpX3NldHRpbmdzX2Zvcm0nKS5zbGlkZVVwKCk7CiAgICAkKCcud2tpX3NldHRpbmdzX3NhdmVkJykuc2xpZGVEb3duKCk7CgogICAgY29uc29sZS5sb2coJ1dLSTogc2V0dGluZ3Mgc2F2ZWQnKTsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgJCgnI3draV9jb25maWdfYnV0dG9uJykucXRpcCgiaGlkZSIpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoJy53a2lfc2V0dGluZ3NfZm9ybScpLnNob3coKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19zYXZlZCcpLmhpZGUoKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19kaXNjYXJkZWQnKS5oaWRlKCk7CiAgICAgICAgfSwgMTAwMCk7CiAgICB9LCAxMzAwKTsKfQoKCiQoJyNyZXBvcnQtZXJyb3JzIGEnKS5hdHRyKCdocmVmJywgJ2phdmFzY3JpcHQ6dm9pZCgwKTsnKTsKJCgnI3JlcG9ydC1lcnJvcnMnKS5hZGRDbGFzcygnd2tpX3Rvb2x0aXAnKS5hdHRyKCdyZWwnLCAnd2tpX2J1Z19tZXNzYWdlJykuYXBwZW5kKCc8c3BhbiBjbGFzcz0id2tpX2hpZGRlbiIgaWQ9IndraV9idWdfbWVzc2FnZSI+QmVmb3JlIHNlbmRpbmcgYSBidWcgcmVwb3J0LCBkaXNhYmxlIFdhbmlLYW5pIEltcHJvdmUgYW5kIGFsbCBvdGhlciBzY3JpcHRzIHJ1bm5pbmcgaW4gdGhlIHBhZ2UuIElmIHRoZSBlcnJvciBwZXJzaXN0cywgY29udGFjdCBXYW5pS2FuaSBhbmQgcmVwb3J0IHRoZSBwcm9ibGVtLjwvc3Bhbj4nKTsKCiQoJy53a2lfdG9vbHRpcCcpLmVhY2goZnVuY3Rpb24oKSB7CiAgICBpZigkKHRoaXMpLmF0dHIoJ3JlbCcpKQogICAgewogICAgICAgIHZhciBxdGlwX2NvbnRlbnQgPSAkKCcjJyskKHRoaXMpLmF0dHIoJ3JlbCcpKS5odG1sKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgdmFyIHF0aXBfY29udGVudCA9ICQodGhpcykuYXR0cigndGl0bGUnKTsKICAgIH0KICAgICQodGhpcykucXRpcCh7CiAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdxdGlwLWJvb3RzdHJhcCBxdGlwLXNoYWRvdycKICAgICAgICAgICB9LAogICAgICAgICAgIGhpZGU6IHsKICAgIAkJCWRlbGF5OiAxMDAsCiAgICAJCQlldmVudDogJ3VuZm9jdXMgbW91c2VsZWF2ZScsCiAgICAJCQlmaXhlZDogdHJ1ZQogICAgCQl9LAogICAgICAgICAgICBwb3NpdGlvbjoKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbXk6ICdib3R0b20gY2VudGVyJywKICAgICAgICAgICAgICAgIGF0OiAndG9wIGNlbnRlcicsCiAgICAgICAgICAgICAgICB2aWV3cG9ydDogJCh3aW5kb3cpLAogICAgICAgICAgICAgICAgbWV0aG9kOiAnc2hpZnQgbm9uZScKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29udGVudDogcXRpcF9jb250ZW50CiAgICB9KTsKfSk7CgokKHdpbmRvdykudW5sb2FkKGZ1bmN0aW9uKCl7CiAgICBpZih3a2lfaGl0X2NvbWJvID4gd2tpX2NvbWJvX3JlY29yZCkKICAgIHsKICAgICAgICAkLmpTdG9yYWdlLnNldCgnd2tpX2NvbWJvX3JlY29yZCcsIHdraV9oaXRfY29tYm8pOwogICAgICAgIGNvbnNvbGUubG9nKCdXS0k6IENvbWJvIHJlY29yZCBzYXZlZCcpOwogICAgfQp9KTs=", 94 - "storage": { 95 - "data": {}, 96 - "ts": 1607436649591 97 - }, 98 - "uuid": "38820d1c-0915-49b6-a73f-2b2d2f9cfbd9" 99 - }, 100 - { 101 - "enabled": true, 102 - "file_url": "https://greasyfork.org/scripts/23696-wanikani-override/code/Wanikani%20Override.user.js", 103 - "name": "Wanikani Override", 104 - "options": { 105 - "awareOfChrome": false, 106 - "check_for_updates": true, 107 - "comment": null, 108 - "compat_arrayleft": false, 109 - "compat_foreach": false, 110 - "compat_forvarin": false, 111 - "compat_metadata": false, 112 - "compat_powerful_this": null, 113 - "compat_uW_gmonkey": false, 114 - "compat_wrappedjsobject": false, 115 - "compatopts_for_requires": true, 116 - "noframes": null, 117 - "override": { 118 - "merge_connects": true, 119 - "merge_excludes": true, 120 - "merge_includes": true, 121 - "merge_matches": true, 122 - "orig_excludes": [], 123 - "orig_includes": [ 124 - "http://www.wanikani.com/review/session*", 125 - "https://www.wanikani.com/review/session*" 126 - ], 127 - "orig_matches": [], 128 - "orig_noframes": null, 129 - "orig_run_at": "document-idle", 130 - "use_blockers": [], 131 - "use_connects": [], 132 - "use_excludes": [], 133 - "use_includes": [], 134 - "use_matches": [] 135 - }, 136 - "run_at": null, 137 - "tab_types": null 138 - }, 139 - "position": 3, 140 - "requires": [], 141 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIE92ZXJyaWRlCi8vIEBuYW1lc3BhY2UgICB3a292ZXJyaWRlCi8vIEBkZXNjcmlwdGlvbiBBZGRzIGFuICJJZ25vcmUgQW5zd2VyIiBidXR0b24gZHVyaW5nIHJldmlld3MgdGhhdCBtYWtlcyBXYW5pS2FuaSBpZ25vcmUgdGhlIGN1cnJlbnQgYW5zd2VyICh1c2VmdWwgaWYsIGZvciBleGFtcGxlLCB5b3UgbWFkZSBhIHN0dXBpZCB0eXBvKQovLyBAaW5jbHVkZSAgICAgaHR0cDovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24qCi8vIEBpbmNsdWRlICAgICBodHRwczovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24qCi8vIEB2ZXJzaW9uICAgICAxLjIKLy8gQGF1dGhvciAgICAgIE1lbXBvCi8vIEBncmFudCAgICAgICBHTV9hZGRTdHlsZQovLyBAZ3JhbnQgICAgICAgdW5zYWZlV2luZG93Ci8vIEByZXF1aXJlICAgICBodHRwOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjExLjIubWluLmpzCi8vIEBsaWNlbnNlICAgICBHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uOyBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwKLy8gPT0vVXNlclNjcmlwdD09CgovL09yaWdpbmFsIGF1dGhvcjogUnVpIFBpbmhlaXJvCgovLyBFU0Mgc2hvcnRjdXQKCgovKgogKiBEZWJ1ZyBTZXR0aW5ncwogKi8KdmFyIGRlYnVnTG9nRW5hYmxlZCA9IHRydWU7CnZhciBzY3JpcHRTaG9ydE5hbWUgPSAnV0tPJzsKc2NyaXB0TG9nID0gZGVidWdMb2dFbmFibGVkID8gZnVuY3Rpb24gKG1zZykgewogIGlmICh0eXBlb2YgbXNnID09PSAnc3RyaW5nJykgewogICAgY29uc29sZS5sb2coc2NyaXB0U2hvcnROYW1lICsgJzogJyArIG1zZyk7CiAgfSBlbHNlIHsKICAgIGNvbnNvbGUubG9nKG1zZyk7CiAgfQp9CiA6IGZ1bmN0aW9uICgpIHsKfTsKLyoKICogT3RoZXIgc2V0dGluZ3MKICovCnZhciBwcmVmQWxsb3dVbmlnbm9yZSA9IHRydWU7Ci8qCiAqICJJZ25vcmUgQW5zd2VyIiBCdXR0b24gQ2xpY2sKICovCnZhciBBY3Rpb25FbnVtID0gT2JqZWN0LmZyZWV6ZSh7CiAgaWdub3JlOiAwLAogIHVuaWdub3JlOiAxCn0pOwpmdW5jdGlvbiBXS09faWdub3JlQW5zd2VyKCkKewogIHRyeQogIHsKICAgIC8qIENoZWNrIGlmIHRoZSBjdXJyZW50IGl0ZW0gd2FzIGFuc3dlcmVkIGluY29ycmVjdGx5ICovCiAgICB2YXIgZWxtbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaW5jb3JyZWN0Jyk7CiAgICB2YXIgZWxtbnRzMiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ1dLT19pZ25vcmVkJyk7CiAgICAKICAgIHZhciBjdXJBY3Rpb247CiAgICBpZiAoIWlzRW1wdHkoZWxtbnRzWzBdKSkgLy8gQ3VycmVudCBhbnN3ZXIgaXMgd3JvbmcKICAgIGN1ckFjdGlvbiA9IEFjdGlvbkVudW0uaWdub3JlOwogICAgIGVsc2UgaWYgKHByZWZBbGxvd1VuaWdub3JlICYmICFpc0VtcHR5KGVsbW50czJbMF0pKSAvLyBDdXJyZW50IGFuc3dlciBpcyBpZ25vcmVkCiAgICBjdXJBY3Rpb24gPSBBY3Rpb25FbnVtLnVuaWdub3JlOwogICAgIGVsc2UKICAgIC8vIEVpdGhlciB0aGVyZSBpcyBubyBjdXJyZW50IGFuc3dlciwgb3IgaXQncyBjb3JyZWN0CiAgICB7CiAgICAgIGFsZXJ0KCdXS086IEN1cnJlbnQgaXRlbSB3YXNuXCd0IGFuc3dlcmVkIGluY29ycmVjdGx5LCBub3IgaWdub3JlZCBwcmV2aW91c2x5IScpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAKICAgIC8qIEdyYWIgaW5mb3JtYXRpb24gYWJvdXQgY3VycmVudCBxdWVzdGlvbiAqLwogCiAgICB2YXIgY3VySXRlbSA9ICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpOwogICAgdmFyIHF1ZXN0aW9uVHlwZSA9ICQualN0b3JhZ2UuZ2V0KCdxdWVzdGlvblR5cGUnKTsKIAogICAgLyogQnVpbGQgaXRlbSBuYW1lICovCiAgICB2YXIgaXRlbU5hbWU7CiAgICBpZiAoY3VySXRlbS5yYWQpCiAgICBpdGVtTmFtZSA9ICdyJzsKICAgICBlbHNlIGlmIChjdXJJdGVtLmthbikKICAgIGl0ZW1OYW1lID0gJ2snOwogICAgIGVsc2UKICAgIGl0ZW1OYW1lID0gJ3YnOwogICAgaXRlbU5hbWUgKz0gY3VySXRlbS5pZDsKICAgIHNjcmlwdExvZyhpdGVtTmFtZSk7CiAgICAvKiBHcmFiIGl0ZW0gZnJvbSBqU3RvcmFnZS4KICAgICAgICAgKiAKICAgICAgICAgKiBpdGVtLnJjIGFuZCBpdGVtLm1jID0+IFJlYWRpbmcvTWVhbmluZyBDb21wbGV0ZWQgKGlmIGFuc3dlcmVkIHRoZSBpdGVtIGNvcnJlY3RseSkKICAgICAgICAgKiBpdGVtLnJpIGFuZCBpdGVtLm1pID0+IFJlYWRpbmcvTWVhbmluZyBJbnZhbGlkIChudW1iZXIgb2YgbWlzdGFrZXMgYmVmb3JlIGFuc3dlcmluZyBjb3JyZWN0bHkpCiAgICAgICAgICovCiAgICB2YXIgaXRlbSA9ICQualN0b3JhZ2UuZ2V0KGl0ZW1OYW1lKSB8fCB7CiAgICB9OwogICAgLyogVXBkYXRlIHRoZSBpdGVtIGRhdGEgKi8KICAgIGlmIChxdWVzdGlvblR5cGUgPT09ICdtZWFuaW5nJykKICAgIHsKICAgICAgaWYgKCEoJ21pJyBpbiBpdGVtKSB8fCBpc0VtcHR5KGl0ZW0ubWkpKQogICAgICB7CiAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0ubWkgdW5kZWZpbmVkJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9IAogICAgICBlbHNlIGlmIChpdGVtLm1pIDwgMCB8fCAoaXRlbS5taSA9PSAwICYmIGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkpCiAgICAgIHsKICAgICAgICB0aHJvdyBFcnJvcignaXRlbS5taSB0b28gc21hbGwnKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkKICAgICAgaXRlbS5taSAtPSAxOwogICAgICAgZWxzZQogICAgICBpdGVtLm1pICs9IDE7CiAgICAgIGRlbGV0ZSBpdGVtLm1jOwogICAgfSAKICAgIGVsc2UKICAgIHsKICAgICAgaWYgKCEoJ3JpJyBpbiBpdGVtKSB8fCBpc0VtcHR5KGl0ZW0ucmkpKQogICAgICB7CiAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0ucmkgdW5kZWZpbmVkJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9IAogICAgICBlbHNlIGlmIChpdGVtLnJpIDwgMCB8fCAoaXRlbS5yaSA9PSAwICYmIGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkpCiAgICAgIHsKICAgICAgICB0aHJvdyBFcnJvcignaS5yaSB0b28gc21hbGwnKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkKICAgICAgaXRlbS5yaSAtPSAxOwogICAgICAgZWxzZQogICAgICBpdGVtLnJpICs9IDE7CiAgICAgIGRlbGV0ZSBpdGVtLnJjOwogICAgfQogICAgLyogU2F2ZSB0aGUgbmV3IHN0YXRlIGJhY2sgaW50byBqU3RvcmFnZSAqLwogCiAgICAkLmpTdG9yYWdlLnNldChpdGVtTmFtZSwgaXRlbSk7CiAgICAvKiBNb2RpZnkgdGhlIHF1ZXN0aW9ucyBjb3VudGVyIGFuZCB3cm9uZyBjb3VudGVyIGFuZCBjaGFuZ2UgdGhlIHN0eWxlIG9mIHRoZSBhbnN3ZXIgZmllbGQgKi8KICAgIHZhciB3cm9uZ0NvdW50ID0gJC5qU3RvcmFnZS5nZXQoJ3dyb25nQ291bnQnKTsKICAgIHZhciBxdWVzdGlvbkNvdW50ID0gJC5qU3RvcmFnZS5nZXQoJ3F1ZXN0aW9uQ291bnQnKTsKICAgIGlmIChjdXJBY3Rpb24gPT0gQWN0aW9uRW51bS5pZ25vcmUpCiAgICB7CiAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdDb3VudCAtIDEpOwogICAgICAkLmpTdG9yYWdlLnNldCgncXVlc3Rpb25Db3VudCcsIHF1ZXN0aW9uQ291bnQgLSAxKTsKICAgICAgJCgnI2Fuc3dlci1mb3JtIGZpZWxkc2V0JykucmVtb3ZlQ2xhc3MoJ2luY29ycmVjdCcpOwogICAgICAkKCcjYW5zd2VyLWZvcm0gZmllbGRzZXQnKS5hZGRDbGFzcygnV0tPX2lnbm9yZWQnKTsKICAgIH0gCiAgICBlbHNlCiAgICB7CiAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdDb3VudCArIDEpOwogICAgICAkLmpTdG9yYWdlLnNldCgncXVlc3Rpb25Db3VudCcsIHF1ZXN0aW9uQ291bnQgKyAxKTsKICAgICAgJCgnI2Fuc3dlci1mb3JtIGZpZWxkc2V0JykucmVtb3ZlQ2xhc3MoJ1dLT19pZ25vcmVkJyk7CiAgICAgICQoJyNhbnN3ZXItZm9ybSBmaWVsZHNldCcpLmFkZENsYXNzKCdpbmNvcnJlY3QnKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0gCiAgY2F0Y2ggKGVycikgewogICAgbG9nRXJyb3IoZXJyKTsKICB9Cn0KLyoKICogQmluZCAnficgYXMgYSBob3RrZXkgCiAqLwogCmZ1bmN0aW9uIGJpbmRIb3RrZXkoKQp7CiAgalF1ZXJ5KGRvY3VtZW50KS5vbigna2V5ZG93bi5yZXZpZXdTY3JlZW4nLCBmdW5jdGlvbiAoZXZlbnQpCiAgewogICAgaWYgKCQoJyNyZXZpZXdzJykuaXMoJzp2aXNpYmxlJykgJiYgISQoJyo6Zm9jdXMnKS5pcygndGV4dGFyZWEsIGlucHV0JykpCiAgICB7CiAgICAgIC8vYWxlcnQoJ2tleWNvZGU6ICcgKyBldmVudC5rZXlDb2RlKTsKICAgICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7CiAgICAgICAgLy9jYXNlIDE3NjogLy9GaXJlZm94ICd+JwogICAgICAgIC8vY2FzZSAxOTI6IC8vQ2hyb21lICd+JwogICAgICAgIGNhc2UgMjc6IC8vIEVTQyBCdXR0b24KICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIGlmICgkKCcjdXNlci1yZXNwb25zZScpLmlzKCc6ZGlzYWJsZWQnKSkKICAgICAgICAgICBXS09faWdub3JlQW5zd2VyKCk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH0pOwp9Ci8qCiAqIEluamVjdCBJZ25vcmUgQnV0dG9uCiAqLwogCmZ1bmN0aW9uIGFkZElnbm9yZUFuc3dlckJ0bigpCnsKICB2YXIgZm9vdGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2Zvb3RlcicpLAogICAgICAkYnRuID0galF1ZXJ5KCc8ZGl2IGlkPSJXS09fYnV0dG9uIiB0aXRsZT0iSWdub3JlIEFuc3dlciI+SWdub3JlIEFuc3dlcjwvZGl2PicpLm9uKCdjbGljaycsIFdLT19pZ25vcmVBbnN3ZXIpOwogIGpRdWVyeShmb290ZXJbMF0pLnByZXBlbmQoJGJ0bik7Cn0KLyoKICogUHJlcGFyZXMgdGhlIHNjcmlwdAogKi8KIApmdW5jdGlvbiBzY3JpcHRJbml0KCkKewogIC8vIEFkZCBnbG9iYWwgQ1NTIHN0eWxlcwogIEdNX2FkZFN0eWxlKCcjV0tPX2J1dHRvbiB7YmFja2dyb3VuZC1jb2xvcjogI0NDMDAwMDsgY29sb3I6ICNGRkZGRkY7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDAuODEyNWVtOyBwYWRkaW5nOiAxMHB4OyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO30nKTsKICBHTV9hZGRTdHlsZSgnI2Fuc3dlci1mb3JtIGZpZWxkc2V0LldLT19pZ25vcmVkIGlucHV0W3R5cGU9InRleHQiXTotbW96LXBsYWNlaG9sZGVyLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgaW5wdXRbdHlwZT0idGV4dCJdOi1tb3otcGxhY2Vob2xkZXIge2NvbG9yOiAjRkZGRkZGOyBmb250LWZhbWlseTogIlNvdXJjZSBTYW5zIFBybyIsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDMwMDsgdGV4dC1zaGFkb3c6IG5vbmU7IHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhciAwczsgfSAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgYnV0dG9uLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgaW5wdXRbdHlwZT0idGV4dCJdLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgaW5wdXRbdHlwZT0idGV4dCJdOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0MwMCAhaW1wb3J0YW50OyB9Jyk7CiAgc2NyaXB0TG9nKCdsb2FkZWQnKTsKICAvLyBTZXQgdXAgaG9va3MKICB0cnkKICB7CiAgICBhZGRJZ25vcmVBbnN3ZXJCdG4oKTsKICAgIGJpbmRIb3RrZXkoKTsKICB9IAogIGNhdGNoIChlcnIpIHsKICAgIGxvZ0Vycm9yKGVycik7CiAgfQp9Ci8qCiAqIEhlbHBlciBGdW5jdGlvbnMvVmFyaWFibGVzCiAqLwogCi8vdXNlICdqUXVlcnknIGZvciBncmVhc2Vtb25rZXkncyB2ZXJzaW9uLCAkIGlzIFdLJ3MgalF1ZXJ5CiAKJCA9IHVuc2FmZVdpbmRvdy4kOwpmdW5jdGlvbiBpc0VtcHR5KHZhbHVlKSB7CiAgcmV0dXJuICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHZhbHVlID09PSBudWxsKTsKfQovKgogKiBFcnJvciBoYW5kbGluZwogKiBDYW4gdXNlICdlcnJvci5zdGFjaycsIG5vdCBjcm9zcy1icm93c2VyICh0aG91Z2ggaXQgc2hvdWxkIHdvcmsgb24gRmlyZWZveCBhbmQgQ2hyb21lKQogKi8KIApmdW5jdGlvbiBsb2dFcnJvcihlcnJvcikKewogIHZhciBzdGFja01lc3NhZ2UgPSAnJzsKICBpZiAoJ3N0YWNrJyBpbiBlcnJvcikKICBzdGFja01lc3NhZ2UgPSAnXG5cdFN0YWNrOiAnICsgZXJyb3Iuc3RhY2s7CiAgY29uc29sZS5lcnJvcihzY3JpcHRTaG9ydE5hbWUgKyAnIEVycm9yOiAnICsgZXJyb3IubmFtZSArICdcblx0TWVzc2FnZTogJyArIGVycm9yLm1lc3NhZ2UgKyBzdGFja01lc3NhZ2UpOwp9Ci8qCiAqIFN0YXJ0IHRoZSBzY3JpcHQKICovCiAKc2NyaXB0SW5pdCgpOwoKLy8gSG9vayBpbnRvIEFwcCBTdG9yZQp0cnkgeyAkKCcuYXBwLXN0b3JlLW1lbnUtaXRlbScpLnJlbW92ZSgpOyAkKCc8bGkgY2xhc3M9ImFwcC1zdG9yZS1tZW51LWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5LndhbmlrYW5pLmNvbS90L3RoZXJlLWFyZS1zby1tYW55LXVzZXItc2NyaXB0cy1ub3ctdGhhdC1kaXNjb3ZlcmluZy10aGVtLWlzLWhhcmQvMjA3MDkiPkFwcCBTdG9yZTwvYT48L2xpPicpLmluc2VydEJlZm9yZSgkKCcubmF2YmFyIC5kcm9wZG93bi1tZW51IC5uYXYtaGVhZGVyOmNvbnRhaW5zKCJBY2NvdW50IiknKSk7IHdpbmRvdy5hcHBTdG9yZVJlZ2lzdHJ5ID0gd2luZG93LmFwcFN0b3JlUmVnaXN0cnkgfHwge307IHdpbmRvdy5hcHBTdG9yZVJlZ2lzdHJ5W0dNX2luZm8uc2NyaXB0LnV1aWRdID0gR01faW5mbzsgbG9jYWxTdG9yYWdlLmFwcFN0b3JlUmVnaXN0cnkgPSBKU09OLnN0cmluZ2lmeShhcHBTdG9yZVJlZ2lzdHJ5KTsgfSBjYXRjaCAoZSkge30=", 142 - "storage": { 143 - "data": {}, 144 - "ts": 1607436649612 145 - }, 146 - "uuid": "7da2a58d-d2aa-4e58-81fd-d5c8b940fca5" 147 - }, 148 - { 149 - "enabled": true, 150 - "file_url": "https://greasyfork.org/scripts/13475-wanikani-ultimate-timeline/code/Wanikani%20Ultimate%20Timeline.user.js", 151 - "name": "Wanikani Ultimate Timeline", 152 - "options": { 153 - "check_for_updates": true, 154 - "comment": null, 155 - "compat_foreach": false, 156 - "compat_metadata": false, 157 - "compat_powerful_this": null, 158 - "compat_prototypes": false, 159 - "compat_wrappedjsobject": false, 160 - "compatopts_for_requires": true, 161 - "noframes": null, 162 - "override": { 163 - "merge_connects": true, 164 - "merge_excludes": true, 165 - "merge_includes": true, 166 - "merge_matches": true, 167 - "orig_connects": [], 168 - "orig_excludes": [], 169 - "orig_includes": [ 170 - "/^https://(www|preview).wanikani.com/(dashboard)?$/" 171 - ], 172 - "orig_matches": [], 173 - "orig_noframes": null, 174 - "orig_run_at": "document-end", 175 - "use_blockers": [], 176 - "use_connects": [], 177 - "use_excludes": [], 178 - "use_includes": [], 179 - "use_matches": [] 180 - }, 181 - "run_at": null, 182 - "tab_types": null 183 - }, 184 - "position": 4, 185 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIFVsdGltYXRlIFRpbWVsaW5lCi8vIEBuYW1lc3BhY2UgICByZmluZGxleQovLyBAZGVzY3JpcHRpb24gUmV2aWV3IHNjaGVkdWxlIGV4cGxvcmVyIGZvciBXYW5pS2FuaQovLyBAdmVyc2lvbiAgICAgNy4wLjMwCi8vIEBpbmNsdWRlICAgICAvXmh0dHBzOi8vKHd3d3xwcmV2aWV3KS53YW5pa2FuaS5jb20vKGRhc2hib2FyZCk/JC8KLy8gQGNvcHlyaWdodCAgIDIwMTgrLCBSb2JpbiBGaW5kbGV5Ci8vIEBsaWNlbnNlICAgICBNSVQ7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKLy8gQHJ1bi1hdCAgICAgIGRvY3VtZW50LWVuZAovLyBAZ3JhbnQgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCndpbmRvdy50aW1lbGluZSA9IHt9OwoKKGZ1bmN0aW9uKGdvYmopIHsKCiAgICAvKiBnbG9iYWwgJCwgd2tvZiAqLwogICAgLyogZXNsaW50IG5vLW11bHRpLXNwYWNlczogIm9mZiIgKi8KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluaXRpYWxpemF0aW9uIG9mIHRoZSBXYW5pa2FuaSBPcGVuIEZyYW1ld29yay4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdmFyIHNjcmlwdF9uYW1lID0gJ1VsdGltYXRlIFRpbWVsaW5lJzsKICAgIHZhciB3a29mX3ZlcnNpb25fbmVlZGVkID0gJzEuMC4yNyc7CiAgICBpZiAoIXdpbmRvdy53a29mKSB7CiAgICAgICAgaWYgKGNvbmZpcm0oc2NyaXB0X25hbWUrJyByZXF1aXJlcyBXYW5pa2FuaSBPcGVuIEZyYW1ld29yay5cbkRvIHlvdSB3YW50IHRvIGJlIGZvcndhcmRlZCB0byB0aGUgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucz8nKSkgewogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdodHRwczovL2NvbW11bml0eS53YW5pa2FuaS5jb20vdC9pbnN0cnVjdGlvbnMtaW5zdGFsbGluZy13YW5pa2FuaS1vcGVuLWZyYW1ld29yay8yODU0OSc7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICh3a29mLnZlcnNpb24uY29tcGFyZV90byh3a29mX3ZlcnNpb25fbmVlZGVkKSA9PT0gJ29sZGVyJykgewogICAgICAgIGlmIChjb25maXJtKHNjcmlwdF9uYW1lKycgcmVxdWlyZXMgV2FuaWthbmkgT3BlbiBGcmFtZXdvcmsgdmVyc2lvbiAnK3drb2ZfdmVyc2lvbl9uZWVkZWQrJy5cbkRvIHlvdSB3YW50IHRvIGJlIGZvcndhcmRlZCB0byB0aGUgdXBkYXRlIHBhZ2U/JykpIHsKICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9lbi9zY3JpcHRzLzM4NTgyLXdhbmlrYW5pLW9wZW4tZnJhbWV3b3JrJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHdrb2YuaW5jbHVkZSgnSXRlbURhdGEsTWVudSxTZXR0aW5ncycpOwogICAgd2tvZi5yZWFkeSgnZG9jdW1lbnQsSXRlbURhdGEsTWVudSxTZXR0aW5ncycpLnRoZW4obG9hZF9zZXR0aW5ncykudGhlbihzdGFydHVwKTsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIENoYXJ0IGRlZmluaW5nIHRoZSBhdXRvLXNjYWxpbmcgZmFjdG9ycyBvZiB0aGUgWC1heGlzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgeHNjYWxlID0gewogICAgICAgIC8vIFNjYWxpbmcgY2hhcnQuICBFYWNoIGNvbHVtbiByZXByZXNlbnRzIGEgc2NhbGluZyByYW5nZSwKICAgICAgICAvLyBhbmQgZWFjaCByb3cgaXMgc29tZXRoaW5nIHRoYXQgd2UgYXJlIHNjYWxpbmcuCiAgICAgICAgaG91cnNfcGVyX2xhYmVsOiAgIFsgIDEgLCAgMyAsICA2ICwgIDEyICwgIDI0ICwgIDQ4ICwgNzIwIF0sCiAgICAgICAgcmVkX3RpY19jaG9pY2VzOiAgIFsnMWQnLCcxZCcsJzFkJywgJzFkJywgJzF3JywnMXdzJywgJzFtJ10sIC8vIFJlZCBtYWpvciB0aWNzIChyZWQgbGFiZWwpCiAgICAgICAgbWFqb3JfdGljX2Nob2ljZXM6IFsnMWgnLCczaCcsJzZoJywnMTJoJywgJzFkJywnMWRzJywgJzVEJ10sIC8vIE1ham9yIHRpY3MgKGhhcyBsYWJlbCkKICAgICAgICBtaW5vcl90aWNfY2hvaWNlczogWyAnLScsJzFoJywnMWgnLCAnM2gnLCAnNmgnLCcxMmgnLCAnMWQnXSwgLy8gTWlub3IgdGljcyAobm8gbGFiZWwpCiAgICAgICAgYnVuZGxlX2Nob2ljZXMgICA6IFsgIDEgLCAgMSAsICAxICwgICAzICwgICA2ICwgIDEyICwgIDI0IF0sIC8vIEhvdyBtYW55IGhvdXJzIGFyZSBidW5kbGVkIHRvZ2V0aGVyLgogICAgICAgIGlkeDogMAogICAgfTsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEludGVyYWwgZ2xvYmFsIG9iamVjdCBmb3IgY2VudHJhbGl6aW5nIGRhdGEgYW5kIGNvbmZpZ3VyYXRpb24uCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBncmFwaCA9IHsKICAgICAgICBlbGVtOiBudWxsLAogICAgICAgIG1hcmdpbjogewogICAgICAgICAgICB0b3A6IDE2LAogICAgICAgICAgICBsZWZ0OiAyOCwKICAgICAgICAgICAgYm90dG9tOiAxNiwKICAgICAgICB9LAogICAgICAgIHhfYXhpczogewogICAgICAgICAgICB3aWR0aDogMCwKICAgICAgICAgICAgbWF4X2hvdXJzOiAwLAogICAgICAgICAgICBwaXhlbHNfcGVyX3RpYzogMCwKICAgICAgICB9LAogICAgICAgIHlfYXhpczogewogICAgICAgICAgICBoZWlnaHQ6IDEwMCwKICAgICAgICAgICAgbWluX2hlaWdodDogODAsCiAgICAgICAgICAgIG1heF9oZWlnaHQ6IDMwMCwKICAgICAgICAgICAgbWF4X3Jldmlld3M6IDAsCiAgICAgICAgfSwKICAgICAgICByYWRpY2FsX2NhY2hlOiB7fSwKICAgIH07CiAgICBnb2JqLmdyYXBoID0gZ3JhcGg7CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBHbG9iYWwgdXRpbGl0eSBmdW5jdGlvbnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHRvX3RpdGxlX2Nhc2Uoc3RyKSB7cmV0dXJuIHN0ci5yZXBsYWNlKC9cd1xTKi9nLCBmdW5jdGlvbih0eHQpe3JldHVybiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCk7fSk7fQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gR2xvYmFsIHZhcmlhYmxlcwogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgc2V0dGluZ3MsIHNldHRpbmdzX2RpYWxvZzsKICAgIHZhciB0el9vZnMgPSBuZXcgRGF0ZSgpLmdldFRpbWV6b25lT2Zmc2V0KCk7CiAgICB2YXIgdGltZV9zaGlmdCA9IE1hdGguY2VpbCh0el9vZnMgLyA2MCkgKiA2MCAtIHR6X29mczsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gTG9hZCB0aGUgc2NyaXB0IHNldHRpbmdzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBsb2FkX3NldHRpbmdzKCkgewogICAgICAgIHZhciBkZWZhdWx0cyA9IHsKICAgICAgICAgICAgbWluaW1pemVkOiBmYWxzZSwKICAgICAgICAgICAgcGxhY2VtZW50OiAnYmVmb3JlX25leHRyZXZpZXcnLAogICAgICAgICAgICB0aW1lX2Zvcm1hdDogJzEyaG91cicsCiAgICAgICAgICAgIGdyYXBoX2hlaWdodDogMTAwLAogICAgICAgICAgICBtYXhfZGF5czogMTQsCiAgICAgICAgICAgIGRheXM6IDMuNSwKICAgICAgICAgICAgbWF4X2Jhcl93aWR0aDogNDAsCiAgICAgICAgICAgIG1heF9iYXJfaGVpZ2h0OiAwLAogICAgICAgICAgICBmaXhlZF9iYXJfaGVpZ2h0OiBmYWxzZSwKICAgICAgICAgICAgYmFyX3N0eWxlOiAnaXRlbV90eXBlJywKICAgICAgICAgICAgc3JzX2N1cnJfbmV4dDogJ2N1cnInLAogICAgICAgICAgICBjdXJyZW50X2xldmVsX21hcmtlcnM6ICdya3YnLAogICAgICAgICAgICBidXJuX21hcmtlcnM6ICdzaG93JywKICAgICAgICAgICAgc2hvd19yZXZpZXdfZGV0YWlsczogJ2Z1bGwnLAogICAgICAgICAgICByZXZpZXdfZGV0YWlsc19zdW1tYXJ5OiAnaXRlbV90eXBlJywKICAgICAgICAgICAgcmV2aWV3X2RldGFpbHNfYnV0dG9uczogdHJ1ZSwKICAgICAgICAgICAgc2hvd19iYXJfc3R5bGVfZHJvcGRvd246IHRydWUsCiAgICAgICAgfTsKICAgICAgICByZXR1cm4gd2tvZi5TZXR0aW5ncy5sb2FkKCd0aW1lbGluZScsIGRlZmF1bHRzKS50aGVuKGZ1bmN0aW9uKGRhdGEpewogICAgICAgICAgICBzZXR0aW5ncyA9IHdrb2Yuc2V0dGluZ3MudGltZWxpbmU7CiAgICAgICAgICAgIHN3aXRjaCAoc2V0dGluZ3Muc2hvd19tYXJrZXJzKSB7CiAgICAgICAgICAgICAgICBjYXNlICdub25lJzoKICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5jdXJyZW50X2xldmVsX21hcmtlcnMgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuYnVybl9tYXJrZXJzID0gJ2hpZGUnOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnY3Vycic6CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuY3VycmVudF9sZXZlbF9tYXJrZXJzID0gJ3Jrdic7CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuYnVybl9tYXJrZXJzID0gJ2hpZGUnOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnYnVybic6CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuY3VycmVudF9sZXZlbF9tYXJrZXJzID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmJ1cm5fbWFya2VycyA9ICdzaG93JzsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ2JvdGgnOgogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmN1cnJlbnRfbGV2ZWxfbWFya2VycyA9ICdya3YnOwogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmJ1cm5fbWFya2VycyA9ICdzaG93JzsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBkZWxldGUgc2V0dGluZ3Muc2hvd19tYXJrZXJzOwogICAgICAgIH0pOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBTdGFydHVwCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHN0YXJ0dXAoKSB7CiAgICAgICAgaW5zdGFsbF9jc3MoKTsKICAgICAgICBpbnN0YWxsX21lbnVfbGluaygpOwogICAgICAgIHBsYWNlX3RpbWVsaW5lKHRydWUgLyogZmlyc3RfdGltZSAqLyk7CiAgICAgICAgZmV0Y2hfYW5kX3VwZGF0ZSgpOwogICAgICAgIHN0YXJ0X3JlZnJlc2hfdGltZXIoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluc3RhbGwgYSBsaW5rIHRvIHRoZSBzZXR0aW5ncyBpbiB0aGUgbWVudS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gaW5zdGFsbF9tZW51X2xpbmsoKQogICAgewogICAgICAgIHdrb2YuTWVudS5pbnNlcnRfc2NyaXB0X2xpbmsoewogICAgICAgICAgICBuYW1lOiAndGltZWxpbmUnLAogICAgICAgICAgICBzdWJtZW51OiAnU2V0dGluZ3MnLAogICAgICAgICAgICB0aXRsZTogJ1VsdGltYXRlIFRpbWVsaW5lJywKICAgICAgICAgICAgb25fY2xpY2s6IG9wZW5fc2V0dGluZ3MKICAgICAgICB9KTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFRvcC1sZXZlbCBIVE1MIGZvciB0aGUgc2NyaXB0LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgdGltZWxpbmVfaHRtbCA9CiAgICAgICAgJzxzZWN0aW9uIGlkPSJ0aW1lbGluZSI+JysKICAgICAgICAnICA8aDQgY2xhc3M9Im5vX21pbiI+UmV2aWV3cyBUaW1lbGluZTwvaDQ+JysKICAgICAgICAnICA8aSBjbGFzcz0ibGluayBvcGVuIG5vc2VsZWN0IG5vX21pbiBmYSBmYS1jaGV2cm9uLXVwIiB0aXRsZT0iT3BlbiB0aGUgdGltZWxpbmUiPjwvaT4nKwogICAgICAgICcgIDxpIGNsYXNzPSJsaW5rIG1pbmltaXplIG5vc2VsZWN0IGZhIGZhLWNoZXZyb24tZG93biIgdGl0bGU9Ik1pbmltaXplIHRoZSB0aW1lbGluZSI+PC9pPicrCiAgICAgICAgJyAgPGkgY2xhc3M9ImxpbmsgcmVmcmVzaCBub3NlbGVjdCBmYSBmYS1yZWZyZXNoIiB0aXRsZT0iUmVmcmVzaCI+PC9pPicrCiAgICAgICAgJyAgPGkgY2xhc3M9Imxpbmsgc2V0dGluZ3Mgbm9zZWxlY3QgZmEgZmEtZ2VhciIgdGl0bGU9IkNoYW5nZSB0aW1lbGluZSBzZXR0aW5ncyI+PC9pPicrCiAgICAgICAgJyAgPHNwYW4gY2xhc3M9ImJhcl9zdHlsZSBoaWRkZW4iPjxsYWJlbD5CYXIgU3R5bGU6IDwvbGFiZWw+PHNlbGVjdD4nKwogICAgICAgICcgICAgPG9wdGlvbiBuYW1lPSJjb3VudCI+UmV2aWV3IENvdW50PC9vcHRpb24+JysKICAgICAgICAnICAgIDxvcHRpb24gbmFtZT0iaXRlbV90eXBlIj5JdGVtIFR5cGU8L29wdGlvbj4nKwogICAgICAgICcgICAgPG9wdGlvbiBuYW1lPSJzcnNfc3RhZ2UiPlNSUyBMZXZlbDwvb3B0aW9uPicrCiAgICAgICAgJyAgICA8b3B0aW9uIG5hbWU9ImxldmVsIj5MZXZlbDwvb3B0aW9uPicrCiAgICAgICAgJyAgPC9zZWxlY3Q+PC9zcGFuPicrCiAgICAgICAgJyAgPGZvcm0gY2xhc3M9InJhbmdlX2Zvcm0iIGNsYXNzPSJoaWRkZW4iPjxsYWJlbD48c3BhbiBjbGFzcz0icmFuZ2VfcmV2aWV3cyI+MDwvc3Bhbj4gcmV2aWV3cyBpbiA8c3BhbiBjbGFzcz0icmFuZ2VfZGF5cyI+MyBkYXlzPC9zcGFuPiA8aW5wdXQgY2xhc3M9InJhbmdlX2lucHV0IiB0eXBlPSJyYW5nZSIgbWluPSIwLjI1IiBtYXg9IjciIHZhbHVlPSIzIiBzdGVwPSIwLjI1IiBuYW1lPSJyYW5nZV9pbnB1dCI+PC9sYWJlbD48L2Zvcm0+PGJyIGNsZWFyPSJhbGwiIGNsYXNzPSJub19taW4iPicrCiAgICAgICAgJyAgPGRpdiBjbGFzcz0iZ3JhcGhfd3JhcCI+JysKICAgICAgICAnICAgIDxkaXYgY2xhc3M9InJldmlld19pbmZvIGhpZGRlbiI+PGRpdiBjbGFzcz0iaW5uZXIiPjwvZGl2PjwvZGl2PicrCiAgICAgICAgJyAgICA8ZGl2IGNsYXNzPSJncmFwaF9wYW5lbCI+PC9kaXY+JysKICAgICAgICAnICA8L2Rpdj4nKwogICAgICAgICc8L3NlY3Rpb24+JzsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluc3RhbGwgdGhlIHN0eWxlIHNoZWV0IGZvciB0aGUgc2NyaXB0LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBpbnN0YWxsX2NzcygpIHsKICAgICAgICB2YXIgdGltZWxpbmVfY3NzID0KICAgICAgICAgICAgJy5ub3NlbGVjdCB7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7IC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsgLWtodG1sLXVzZXItc2VsZWN0Om5vbmU7IC1tb3otdXNlci1zZWxlY3Q6bm9uZTsgLW1zLXVzZXItc2VsZWN0Om5vbmU7IHVzZXItc2VsZWN0Om5vbmU7IGN1cnNvcjpkZWZhdWx0O30nKwogICAgICAgICAgICAnLmRhc2hib2FyZCBzZWN0aW9uLnJldmlldy1zdGF0dXMge2JvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmZmZmO30nKwogICAgICAgICAgICAnLmRhc2hib2FyZCBzZWN0aW9uLnJldmlldy1zdGF0dXMgdWwgbGkgdGltZSB7d2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3cteDogaGlkZGVuOyBoZWlnaHQ6IDEuNWVtOyBtYXJnaW4tYm90dG9tOiAwO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSB7bWFyZ2luLWJvdHRvbTogMHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0ZDRkNDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSA+IGg0IHtjbGVhcjpub25lOyBmbG9hdDpsZWZ0OyBoZWlnaHQ6MjBweDsgbWFyZ2luLXRvcDowcHg7IG1hcmdpbi1ib3R0b206NHB4OyBmb250LXdlaWdodDpub3JtYWw7IG1hcmdpbi1yaWdodDoxMnB4O30nKwogICAgICAgICAgICAnQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7I3RpbWVsaW5lIGg0IHtkaXNwbGF5OiBub25lO319JysKICAgICAgICAgICAgJyN0aW1lbGluZSA+IC5saW5rIHtjb2xvcjpyZ2JhKDAsMCwwLDAuMyk7IGZvbnQtc2l6ZToxLjFlbTsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7IGN1cnNvcjpwb2ludGVyOyBtYXJnaW4tcmlnaHQ6NHB4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lID4gLmxpbms6aG92ZXIge2NvbG9yOnJnYmEoMjU1LDMxLDMxLDAuNSk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmU6bm90KC5taW4pID4gLmxpbmsub3BlbiwgI3RpbWVsaW5lLm1pbiA+IDpub3QoLm5vX21pbikge2Rpc3BsYXk6bm9uZTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSA+IC5yYW5nZV9mb3JtIHtmbG9hdDpyaWdodDsgbWFyZ2luLWJvdHRvbTowcHg7IHRleHQtYWxpZ246cmlnaHQ7fScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIC5iYXJfc3R5bGUgbGFiZWwge2Rpc3BsYXk6aW5saW5lOyBtYXJnaW4tbGVmdDo4MHB4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5iYXJfc3R5bGUgc2VsZWN0IHtoZWlnaHQ6YXV0bzsgcGFkZGluZzowOyB3aWR0aDphdXRvOyB2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTsgYmFja2dyb3VuZC1jb2xvcjojZTNlM2UzOyBib3JkZXI6MXB4IHNvbGlkICNhYWE7IGJvcmRlci1yYWRpdXM6MnB4O30nKwogICAgICAgICAgICAnQG1lZGlhIChtYXgtd2lkdGg6IDk3OXB4KSB7JysKICAgICAgICAgICAgJyAgI3RpbWVsaW5lIC5iYXJfc3R5bGUge2Zsb2F0OmxlZnQ7IGNsZWFyOmJvdGg7IG1hcmdpbi1sZWZ0OmluaGVyaXQ7fScrCiAgICAgICAgICAgICcgICN0aW1lbGluZSAuYmFyX3N0eWxlIGxhYmVsIHttYXJnaW4tbGVmdDppbmhlcml0O30nKwogICAgICAgICAgICAnfScrCiAgICAgICAgICAgICdAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsjdGltZWxpbmUgLmxpbmsge2Zsb2F0OmxlZnQ7fX0nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSA+IC5ncmFwaF9wYW5lbCBkaXYsICN0aW1lbGluZSA+IC5ncmFwaF9wYW5lbCBjYW52YXMge2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgPiAuZ3JhcGhfcGFuZWwgZGl2IHtib3JkZXI6MXB4IHNvbGlkICNkNGQ0ZDQ7fScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIC5ncmFwaF93cmFwIHtwb3NpdGlvbjpyZWxhdGl2ZTt9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIHtwb3NpdGlvbjphYnNvbHV0ZTsgcGFkZGluZy1ib3R0b206MTUwcHg7IHotaW5kZXg6NTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLmlubmVyIHtwYWRkaW5nOjRweCA4cHggOHB4IDhweDsgY29sb3I6I2VlZWVlZTsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOCk7IGJvcmRlci1yYWRpdXM6NHB4OyBmb250LXdlaWdodDpib2xkOyB6LWluZGV4OjI7IGJveC1zaXppbmc6Ym9yZGVyLWJveDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLnN1bW1hcnkge2ZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxM3B4OyBkaXNwbGF5OmlubGluZS1ibG9jazt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLnN1bW1hcnkgZGl2IHtwYWRkaW5nOjBweCA4cHg7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC5pbmRlbnQge3BhZGRpbmc6MDsgbWFyZ2luLWJvdHRvbTo4cHg7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC5pbmRlbnQ6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTowO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuc3VtbWFyeSAuZml4ZWQge3RleHQtYWxpZ246cmlnaHQ7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC50b3Qge2NvbG9yOiMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6I2VmZWZlZjsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWZlZmVmLCAjY2ZjZmNmKTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLml0ZW1zX3dyYXAge3Bvc2l0aW9uOnJlbGF0aXZlO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5zdW1tYXJ5IC5maXhlZCB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IHBvc2l0aW9uOnJlbGF0aXZlO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuc3VtbWFyeSAuaW5kZW50PmRpdiB7ZGlzcGxheTpub25lfScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9Iml0ZW1fdHlwZSJdIC5zdW1tYXJ5IC5pdGVtX3R5cGUge2Rpc3BsYXk6YmxvY2s7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ic3JzX3N0YWdlIl0gLnN1bW1hcnkgLnNyc19zdGFnZSB7ZGlzcGxheTpibG9jazt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJsZXZlbCJdIC5zdW1tYXJ5IC5sZXZlbCB7ZGlzcGxheTpibG9jazt9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0iY291bnQiXSAuaXRlbV9saXN0ID4gbGkge2JhY2tncm91bmQtY29sb3I6I2VlZTsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWZlZmVmLCAjY2ZjZmNmKTsgY29sb3I6IzAwMDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJjb3VudCJdIC5pdGVtX2xpc3QgPiBsaSBzdmcge3N0cm9rZTojMDAwO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9Iml0ZW1fdHlwZSJdIC5yYWQge2JhY2tncm91bmQtY29sb3I6IzAwOTZlNzsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMGFmLCAjMDA5M2RkKTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJpdGVtX3R5cGUiXSAua2FuIHtiYWNrZ3JvdW5kLWNvbG9yOiNlZTAwYTE7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YwYSwgI2RkMDA5Myk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0iaXRlbV90eXBlIl0gLnZvYyB7YmFja2dyb3VuZC1jb2xvcjojOTgwMGU4OyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNhMGYsICM5MzAwZGQpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9InNyc19zdGFnZSJdIC5hcHByIHtiYWNrZ3JvdW5kLWNvbG9yOiNkZDAwOTM7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmMDBhYSwgI2IzMDA3Nyk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ic3JzX3N0YWdlIl0gLmd1cnUge2JhY2tncm91bmQtY29sb3I6Izg4MmQ5ZTsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYWEzOGM3LCAjNjYyMjc3KTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJzcnNfc3RhZ2UiXSAubWFzdCB7YmFja2dyb3VuZC1jb2xvcjojMjk0ZGRiOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM1MTZlZTEsICMyMTQyYzQpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9InNyc19zdGFnZSJdIC5lbmxpIHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDkzZGQ7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwYWFmZiwgIzAwNzdiMyk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ic3JzX3N0YWdlIl0gLmJ1cm4ge2JhY2tncm91bmQtY29sb3I6IzQzNDM0MzsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDM0MzQzLCAjMWExYTFhKTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJzcnNfc3RhZ2UiXSBsaS5idXJuIHtib3JkZXI6MXB4IHNvbGlkICM3Nzc7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ibGV2ZWwiXSAubHZsZ3JwMCB7YmFja2dyb3VuZC1jb2xvcjojNWViNmU4OyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM1ZWI2ZTgsICMxZDhhYzkpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9ImxldmVsIl0gLmx2bGdycDEge2JhY2tncm91bmQtY29sb3I6I2UyNWViYzsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZTI1ZWJjLCAjYzIyNDk1KTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJsZXZlbCJdIC5sdmxncnAyIHtiYWNrZ3JvdW5kLWNvbG9yOiNhZjc5YzM7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2FmNzljMywgIzg3NDc5ZSk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ibGV2ZWwiXSAubHZsZ3JwMyB7YmFja2dyb3VuZC1jb2xvcjojNzY4Y2U3OyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM3NjhjZTcsICMyNjRhZDkpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9ImxldmVsIl0gLmx2bGdycDQge2JhY2tncm91bmQtY29sb3I6IzVlNWU2NDsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNWU1ZTY0LCAjMzEzMTM1KTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJsZXZlbCJdIC5sdmxncnA1IHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWM2Njc7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y1YzY2NywgI2YwYTUwZik7IGNvbG9yOiMzMzN9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ibGV2ZWwiXSAubHZsZ3JwNSBzdmcge3N0cm9rZTojMzMzfScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuc3VtbWFyeSAuaW5kZW50Pi5jdXIge2Rpc3BsYXk6YmxvY2s7IGZvbnQtc3R5bGU6aXRhbGljOyBjb2xvcjojMDAwMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmODg7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmZhYSwgI2VlZWU3Nyk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC5pbmRlbnQ+LmJ1ciB7ZGlzcGxheTpibG9jazsgZm9udC1zdHlsZTppdGFsaWM7IGNvbG9yOiNmZmZmZmY7IGJhY2tncm91bmQtY29sb3I6IzAwMDAwMDsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDQ0NDQ0LCAjMDAwMDAwKTt9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLml0ZW1fbGlzdCB7bWFyZ2luOiA4cHggMCAwIDA7IHBhZGRpbmc6IDBweDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAuaXRlbV9saXN0ID4gbGkge3BhZGRpbmc6MCAzcHg7IG1hcmdpbjoxcHggMXB4OyBkaXNwbGF5OmlubGluZS1ibG9jazsgYm9yZGVyLXJhZGl1czo0cHg7IGZvbnQtc2l6ZToxNHB4OyBmb250LXdlaWdodDpub3JtYWw7IGN1cnNvcjpkZWZhdWx0OyBib3gtc2l6aW5nOmJvcmRlci1ib3g7IGJvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwKTt9JysKCiAgICAgICAgICAgICcjdGltZWxpbmVbZGF0YS1kZXRhaWw9ImZ1bGwiXSAuaXRlbV9saXN0ID4gbGkge2N1cnNvcjpwb2ludGVyO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5pdGVtX2luZm8ge3Bvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOiMzMzM7IGJvcmRlcjo4cHggc29saWQgcmdiYSgwLDAsMCwwLjcpOyBib3JkZXItcmFkaXVzOjZweDsgbGVmdDo0cHg7IHBhZGRpbmc6MCA4cHg7IHotaW5kZXg6MTA7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLml0ZW1faW5mbyAuaXRlbSB7Zm9udC1zaXplOjJlbTsgbGluZS1oZWlnaHQ6MS4yZW07fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIHN2Zy5yYWRpY2FsIHtmaWxsOm5vbmU7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjg1O3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbWl0ZXJsaW1pdDoyO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5pdGVtX2xpc3Qgc3ZnLnJhZGljYWwge3dpZHRoOjFlbTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KTsgc3Ryb2tlLXdpZHRoOjg1O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5pdGVtX2luZm8gLml0ZW0gc3ZnLnJhZGljYWwge3dpZHRoOjI4cHg7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKDJweCk7fScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIC5kZXRhaWxfYnV0dG9ucyB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOnRvcDsgbWFyZ2luLWxlZnQ6OHB4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5kZXRhaWxfYnV0dG9ucyBidXR0b24ge2Rpc3BsYXk6YmxvY2s7IHdpZHRoOjEzMHB4OyBwYWRkaW5nOjA7IG1hcmdpbi1ib3R0b206MnB4OyBjb2xvcjojMDAwMDAwO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcge292ZXJmbG93OmhpZGRlbjt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmdyaWQge3BvaW50ZXItZXZlbnRzOm5vbmU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ncmlkIHBhdGgge2ZpbGw6bm9uZTtzdHJva2U6YmxhY2s7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3NoYXBlLXJlbmRlcmluZzpjcmlzcEVkZ2VzO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuZ3JpZCAubGlnaHQge3N0cm9rZTojZmZmZmZmO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuZ3JpZCAuc2hhZG93IHtzdHJva2U6I2Q1ZDVkNTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmdyaWQgLm1ham9yIHtvcGFjaXR5OjAuMTU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ncmlkIC5taW5vciB7b3BhY2l0eTowLjA1O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuZ3JpZCAucmVkdGljIHtzdHJva2U6I2YyMjtvcGFjaXR5OjE7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ncmlkIC5tYXgge3N0cm9rZTojZjIyO29wYWNpdHk6MC4yO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuYm91bmRhcnkge2ZpbGw6IzAwMDtvcGFjaXR5OjA7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5yZXNpemVfZ3JpcCB7ZmlsbDpub25lO2N1cnNvcjpyb3ctcmVzaXplO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAucmVzaXplX2dyaXAgLmxpZ2h0IHtzdHJva2U6I2ZmZmZmZjt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLnJlc2l6ZV9ncmlwIC5zaGFkb3cge3N0cm9rZTojYmJiO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyB0ZXh0LnJlZHRpYyB7ZmlsbDojZjIyO2ZvbnQtd2VpZ2h0OmJvbGQ7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5sYWJlbC14IHRleHQge3RleHQtYW5jaG9yOnN0YXJ0O2ZvbnQtc2l6ZTowLjhlbTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmxhYmVsLXkgdGV4dCB7dGV4dC1hbmNob3I6ZW5kO2ZvbnQtc2l6ZTowLjhlbTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgdGV4dCB7cG9pbnRlci1ldmVudHM6bm9uZTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmJhcnMgcmVjdCB7c3Ryb2tlOm5vbmU7c2hhcGUtcmVuZGVyaW5nOmNyaXNwRWRnZXM7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5iYXIub3ZlcmxheSB7b3BhY2l0eTowO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuYmtnZCB7ZmlsbDojZjdmN2Y3O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAucmFkIHtmaWxsOiMwMGExZjE7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5rYW4ge2ZpbGw6I2YxMDBhMTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLnZvYyB7ZmlsbDojYTEwMGYxO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuc3VtIHtmaWxsOiMyOTRkZGI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5hcHByIHtmaWxsOiNkZDAwOTM7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ndXJ1IHtmaWxsOiM4ODJkOWU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5tYXN0IHtmaWxsOiMyOTRkZGI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5lbmxpIHtmaWxsOiMwMDkzZGQ7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5idXJuIHtmaWxsOiM0MzQzNDM7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5jb3VudCB7ZmlsbDojNzc4YWQ4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMCB7ZmlsbDojNWViNmU4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMSB7ZmlsbDojZTI1ZWJjO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMiB7ZmlsbDojYWY3OWMzO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMyB7ZmlsbDojNzY4Y2U3O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwNCB7ZmlsbDojNWU1ZTY0O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwNSB7ZmlsbDojZjVjNjY3O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuYmFycyAuY3VyIHtmaWxsOiNmZmZmZmY7b3BhY2l0eTowLjY7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5iYXJzIC5idXIge2ZpbGw6IzAwMDAwMDtvcGFjaXR5OjAuNDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLm1hcmtlcnMge3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5tYXJrZXJzIC5idXIge2ZpbGw6IzAwMDAwMDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLm1hcmtlcnMgLmN1ciB7ZmlsbDojZmZmZmZmO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuaGlnaGxpZ2h0IC5ib3VuZGFyeSB7Y3Vyc29yOnBvaW50ZXI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmVbZGF0YS1kZXRhaWw9Im5vbmUiXSAuaGlnaGxpZ2h0IC5ib3VuZGFyeSB7Y3Vyc29yOmF1dG87fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5oaWdobGlnaHQgLm1hcmtlciB7cG9pbnRlci1ldmVudHM6bm9uZTtzaGFwZS1yZW5kZXJpbmc6Y3Jpc3BFZGdlczt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmhpZ2hsaWdodCBwYXRoLm1hcmtlciB7ZmlsbDojMDBhMWYxOyBzdHJva2U6IzAwYTFmMTsgc3Ryb2tlLXdpZHRoOjI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5oaWdobGlnaHQgcmVjdC5tYXJrZXIge2ZpbGw6cmdiYSgwLDE2MSwyNDEsMC4xKTsgc3Ryb2tlOiMwMGExZjE7IHN0cm9rZS13aWR0aDoxO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2Zy5saW5rOmhvdmVyICoge2ZpbGw6cmdiKDI1NSwzMSwzMSk7fScrCiAgICAgICAgICAgICdib2R5Lm11dGVfcG9wb3ZlciAucG9wb3Zlci5zcnMge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30nKwogICAgICAgICAgICAnJzsKCiAgICAgICAgJCgnaGVhZCcpLmFwcGVuZCgnPHN0eWxlPicrdGltZWxpbmVfY3NzKyc8L3N0eWxlPicpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBQbGFjZSB0aGUgdGltZWxpbmUgb24gdGhlIGRhc2hib2FyZCwgb3IgYWRqdXN0IGl0cyBsb2NhdGlvbiBvbiB0aGUgcGFnZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcGxhY2VfdGltZWxpbmUoZmlyc3RfdGltZSkgewogICAgICAgIHZhciB0aW1lbGluZSA9IChmaXJzdF90aW1lID8gJCh0aW1lbGluZV9odG1sKSA6ICQoJyN0aW1lbGluZScpKTsKICAgICAgICAkKCcucHJvZ3Jlc3MtYW5kLWZvcmVjYXN0JykuYmVmb3JlKHRpbWVsaW5lKTsKICAgICAgICBpZiAoZmlyc3RfdGltZSkgewogICAgICAgICAgICAvLyBJbml0aWFsaXplIFVJIGZyb20gc2V0dGluZ3MKICAgICAgICAgICAgZ3JhcGguZWxlbSA9IHRpbWVsaW5lLmZpbmQoJy5ncmFwaF9wYW5lbCcpOwogICAgICAgICAgICBncmFwaC54X2F4aXMud2lkdGggPSBncmFwaC5lbGVtLndpZHRoKCkgLSBncmFwaC5tYXJnaW4ubGVmdDsKICAgICAgICAgICAgZ3JhcGgueV9heGlzLmhlaWdodCA9IHNldHRpbmdzLmdyYXBoX2hlaWdodCAtIChncmFwaC5tYXJnaW4udG9wICsgZ3JhcGgubWFyZ2luLmJvdHRvbSk7CiAgICAgICAgICAgIHVwZGF0ZV9taW5pbWl6ZSgpOwogICAgICAgICAgICBpbml0X3VpKCk7CgogICAgICAgICAgICAvLyBJbnN0YWxsIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5saW5rLm9wZW4sIC5saW5rLm1pbmltaXplJykub24oJ2NsaWNrJywgdG9nZ2xlX21pbmltaXplKTsKICAgICAgICAgICAgdGltZWxpbmUuZmluZCgnLmxpbmsucmVmcmVzaCcpLm9uKCdjbGljaycsIGZldGNoX2FuZF91cGRhdGUpOwogICAgICAgICAgICB0aW1lbGluZS5maW5kKCcubGluay5zZXR0aW5ncycpLm9uKCdjbGljaycsIG9wZW5fc2V0dGluZ3MpOwogICAgICAgICAgICB0aW1lbGluZS5maW5kKCcuYmFyX3N0eWxlIHNlbGVjdCcpLm9uKCdjaGFuZ2UnLCBiYXJfc3R5bGVfY2hhbmdlZCk7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yYW5nZV9pbnB1dCcpLm9uKCdpbnB1dCBjaGFuZ2UnLCBkYXlzX2NoYW5nZWQpOwogICAgICAgICAgICB0aW1lbGluZS5maW5kKCcucmV2aWV3X2luZm8+LmlubmVyJykub24oJ21vdXNlZW50ZXInLCAnLml0ZW1fbGlzdCA+IGxpJywgaXRlbV9ob3Zlcik7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yZXZpZXdfaW5mbz4uaW5uZXInKS5vbignbW91c2VsZWF2ZScsICcuaXRlbV9saXN0JywgaXRlbV9ob3Zlcik7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yZXZpZXdfaW5mbz4uaW5uZXInKS5vbignY2xpY2snLCAnLmRldGFpbF9idXR0b25zIGJ1dHRvbicsIGRldGFpbF9idXR0b25fY2xpY2tlZCk7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yZXZpZXdfaW5mbz4uaW5uZXInKS5vbignY2xpY2snLCBmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KTsKICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHdpbmRvd19yZXNpemVkKTsKICAgICAgICB9CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFRvZ2dsZSB3aGV0aGVyIHRoZSB0aW1lbGluZSBpcyBtaW5pbWl6ZWQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHRvZ2dsZV9taW5pbWl6ZSgpIHsKICAgICAgICBzZXR0aW5ncy5taW5pbWl6ZWQgPSAhc2V0dGluZ3MubWluaW1pemVkOwogICAgICAgIHVwZGF0ZV9taW5pbWl6ZSgpOwogICAgICAgIHNhdmVfc2V0dGluZ3MoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSGlkZSBvciB1bmhpZGUgdGhlIHRpbWVsaW5lIHdoZW4gdGhlIHVzZXIgbWluaW1pemVzL3Jlc3RvcmVzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB1cGRhdGVfbWluaW1pemUoKSB7CiAgICAgICAgdmFyIHRpbWVsaW5lID0gJCgnI3RpbWVsaW5lJyk7CiAgICAgICAgdmFyIGlzX21pbiA9IHRpbWVsaW5lLmhhc0NsYXNzKCdtaW4nKTsKICAgICAgICBpZiAoc2V0dGluZ3MubWluaW1pemVkICYmICFpc19taW4pIHsKICAgICAgICAgICAgdGltZWxpbmUuYWRkQ2xhc3MoJ21pbicpOwogICAgICAgIH0gZWxzZSBpZiAoIXNldHRpbmdzLm1pbmltaXplZCAmJiBpc19taW4pIHsKICAgICAgICAgICAgdGltZWxpbmUucmVtb3ZlQ2xhc3MoJ21pbicpOwogICAgICAgIH0KICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gVXBkYXRlIHRoZSB0aW1lbGluZSBhZnRlciB0aGUgdXNlciBjaGFuZ2VzIHRoZSBudW1iZXIgb2YgZGF5cyB0byBkaXNwbGF5LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBkYXlzX2NoYW5nZWQoKSB7CiAgICAgICAgdmFyIGRheXMgPSBOdW1iZXIoJCgnI3RpbWVsaW5lIC5yYW5nZV9pbnB1dCcpLnZhbCgpKTsKICAgICAgICBpZiAoZGF5cyA9PT0gc2V0dGluZ3MuZGF5cykgcmV0dXJuOwogICAgICAgIHNldHRpbmdzLmRheXMgPSBkYXlzOwogICAgICAgIHVwZGF0ZV9zbGlkZXJfZGF5cygpOwogICAgICAgIGJ1bmRsZV9ieV90aW1lc2xvdCgpOwogICAgICAgIHVwZGF0ZV9zbGlkZXJfcmV2aWV3cygpOwogICAgICAgIGRyYXdfdGltZWxpbmUoKTsKICAgICAgICBzYXZlX3NldHRpbmdzKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEhhbmRsZXIgZm9yIHdoZW4gdXNlciBjaGFuZ2VzIHRoZSBCYXIgU3R5bGUuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGJhcl9zdHlsZV9jaGFuZ2VkKCkgewogICAgICAgIHNldHRpbmdzLmJhcl9zdHlsZSA9ICQoJyN0aW1lbGluZSAuYmFyX3N0eWxlIHNlbGVjdCA6c2VsZWN0ZWQnKS5hdHRyKCduYW1lJyk7CiAgICAgICAgZHJhd190aW1lbGluZSgpOwogICAgICAgIHNhdmVfc2V0dGluZ3MoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSGFuZGxlciBmb3Igd2hlbiB1c2VyIGNsaWNrcyAnU2F2ZScgaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gc2V0dGluZ3Nfc2F2ZWQoKSB7CiAgICAgICAgc2V0dGluZ3MgPSB3a29mLnNldHRpbmdzLnRpbWVsaW5lOwogICAgICAgIHBsYWNlX3RpbWVsaW5lKGZhbHNlIC8qIGZpcnN0X3RpbWUgKi8pOwogICAgICAgIGluaXRfdWkoKTsKICAgICAgICBidW5kbGVfYnlfdGltZXNsb3QoKTsKICAgICAgICBkcmF3X3RpbWVsaW5lKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluaXRpYWxpemUgdGhlIHVzZXIgaW50ZXJmYWNlLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBpbml0X3VpKCkgewogICAgICAgIGluaXRfc2xpZGVyKCk7CiAgICAgICAgaWYgKHNldHRpbmdzLnNob3dfYmFyX3N0eWxlX2Ryb3Bkb3duKSB7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuYmFyX3N0eWxlJykucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuYmFyX3N0eWxlJykuYWRkQ2xhc3MoJ2hpZGRlbicpOwogICAgICAgIH0KICAgICAgICAkKCcjdGltZWxpbmUgLmJhcl9zdHlsZSBvcHRpb25bbmFtZT0iJytzZXR0aW5ncy5iYXJfc3R5bGUrJyJdJykucHJvcCgnc2VsZWN0ZWQnLHRydWUpOwogICAgICAgICQoJyN0aW1lbGluZScpLmF0dHIoJ2RhdGEtZGV0YWlsJywgc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyk7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbycpLmF0dHIoJ2RhdGEtbW9kZScsIHNldHRpbmdzLnJldmlld19kZXRhaWxzX3N1bW1hcnkpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBJbml0aWFsaXplIHRoZSBzY2FsZSBzbGlkZXIuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGluaXRfc2xpZGVyKCkgewogICAgICAgIHZhciByYW5nZSA9ICQoJyN0aW1lbGluZSAucmFuZ2VfaW5wdXQnKTsKICAgICAgICBpZiAoc2V0dGluZ3MuZGF5cyA+IHNldHRpbmdzLm1heF9kYXlzKSB7CiAgICAgICAgICAgIHNldHRpbmdzLmRheXMgPSBzZXR0aW5ncy5tYXhfZGF5czsKICAgICAgICAgICAgc2F2ZV9zZXR0aW5ncygpOwogICAgICAgIH0KICAgICAgICByYW5nZS5hdHRyKCdtYXgnLCBzZXR0aW5ncy5tYXhfZGF5cyk7CiAgICAgICAgcmFuZ2UuYXR0cigndmFsdWUnLCBzZXR0aW5ncy5kYXlzKTsKICAgICAgICB1cGRhdGVfc2xpZGVyX2RheXMoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gVXBkYXRlIHRoZSAncmV2aWV3cycgdGV4dCBvZiB0aGUgc2NhbGUgc2xpZGVyLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB1cGRhdGVfc2xpZGVyX3Jldmlld3MoKSB7CiAgICAgICAgdmFyIHJldmlld19jb3VudCA9ICQoJyN0aW1lbGluZSAucmFuZ2VfcmV2aWV3cycpOwogICAgICAgIHJldmlld19jb3VudC50ZXh0KGdyYXBoLnRvdGFsX3Jldmlld3MpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBVcGRhdGUgdGhlICdkYXlzJyB0ZXh0IG9mIHRoZSBzY2FsZSBzbGlkZXIuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHVwZGF0ZV9zbGlkZXJfZGF5cygpIHsKICAgICAgICB2YXIgZGF5cyA9IHNldHRpbmdzLmRheXM7CiAgICAgICAgdmFyIHBlcmlvZCA9ICQoJyN0aW1lbGluZSAucmFuZ2VfZGF5cycpOwogICAgICAgIGlmIChkYXlzIDw9IDEpIHsKICAgICAgICAgICAgcGVyaW9kLnRleHQoKGRheXMqMjQpKycgaG91cnMnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZXJpb2QudGV4dChkYXlzLnRvRml4ZWQoMikrJyBkYXlzJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBTYXZlIHRoZSBzY3JpcHQgc2V0dGluZ3MgKGFmdGVyIGEgNTAwbXMgZGVsYXkpLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgc2F2ZV9kZWxheV90aW1lcjsKICAgIGZ1bmN0aW9uIHNhdmVfc2V0dGluZ3MoKSB7CiAgICAgICAgaWYgKHNhdmVfZGVsYXlfdGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KHNhdmVfZGVsYXlfdGltZXIpOwogICAgICAgIHNhdmVfZGVsYXlfdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHdrb2YuU2V0dGluZ3Muc2F2ZSgndGltZWxpbmUnKTsKICAgICAgICB9LCA1MDApOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBIYW5kbGVyIGZvciByZXNpemluZyB0aGUgcGFuZWwgYnkgZHJhZ2dpbmcgdGhlIGJvdHRvbSBvZiB0aGUgZ3JhcGguCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcmVzaXplX3BhbmVsKGUpIHsKICAgICAgICBpZiAoZS5idXR0b24gIT09IDApIHJldHVybjsKICAgICAgICB2YXIgcGFuZWwgPSAkKCcjdGltZWxpbmUgPiAuZ3JhcGhfcGFuZWwnKTsKICAgICAgICB2YXIgc3RhcnRfeSA9IGUucGFnZVk7CiAgICAgICAgdmFyIHN0YXJ0X2hlaWdodCA9IHNldHRpbmdzLmdyYXBoX2hlaWdodDsKICAgICAgICAkKCdib2R5JykKICAgICAgICAuYWRkQ2xhc3MoJ211dGVfcG9wb3ZlcicpCiAgICAgICAgLm9uKCdtb3VzZW1vdmUudGltZWxpbmVfcmVzaXplIHRvdWNobW92ZS50aW1lbGluZV9yZXNpemUnLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IHN0YXJ0X2hlaWdodCArIChlLnBhZ2VZIC0gc3RhcnRfeSk7CiAgICAgICAgICAgIGlmIChoZWlnaHQgPCBncmFwaC55X2F4aXMubWluX2hlaWdodCkgaGVpZ2h0ID0gZ3JhcGgueV9heGlzLm1pbl9oZWlnaHQ7CiAgICAgICAgICAgIGlmIChoZWlnaHQgPiBncmFwaC55X2F4aXMubWF4X2hlaWdodCkgaGVpZ2h0ID0gZ3JhcGgueV9heGlzLm1heF9oZWlnaHQ7CiAgICAgICAgICAgIHNldHRpbmdzLmdyYXBoX2hlaWdodCA9IGhlaWdodDsKICAgICAgICAgICAgZ3JhcGgueV9heGlzLmhlaWdodCA9IGhlaWdodCAtIChncmFwaC5tYXJnaW4udG9wICsgZ3JhcGgubWFyZ2luLmJvdHRvbSk7CiAgICAgICAgICAgIGRyYXdfdGltZWxpbmUoKTsKICAgICAgICB9KQogICAgICAgIC5vbignbW91c2V1cC50aW1lbGluZV9yZXNpemUgdG91Y2hlbmQudGltZWxpbmVfcmVzaXplJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIHNhdmVfc2V0dGluZ3MoKTsKICAgICAgICAgICAgJCgnYm9keScpLm9mZignLnRpbWVsaW5lX3Jlc2l6ZScpLnJlbW92ZUNsYXNzKCdtdXRlX3BvcG92ZXInKTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgaG92ZXJpbmcgb3ZlciB0aGUgdGltZSBzY2FsZSBmb3IgaGlnaGxpZ2h0aW5nLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBoaWdobGlnaHQgPSB7c3RhcnQ6MCwgZW5kOjAsIGRyYWdnaW5nOmZhbHNlLCBoaWdobGlnaHRlZDogZmFsc2V9OwogICAgZnVuY3Rpb24gaGlnaGxpZ2h0X2hvdmVyKGUpIHsKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ25vbmUnKSByZXR1cm47CiAgICAgICAgaWYgKGhpZ2hsaWdodC5kcmFnZ2luZykgcmV0dXJuIHRydWU7CiAgICAgICAgdmFyIGJ1bmRsZV9pZHggPSBuZWFyZXN0X2J1bmRsZShlLnBhZ2VYKTsKICAgICAgICB2YXIgeDsKICAgICAgICBzd2l0Y2ggKGUudHlwZSkgewogICAgICAgICAgICBjYXNlICdtb3VzZWVudGVyJzoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnbW91c2Vtb3ZlJzoKICAgICAgICAgICAgICAgIGlmIChoaWdobGlnaHQuaGlnaGxpZ2h0ZWQpIHJldHVybjsKICAgICAgICAgICAgICAgIHggPSBidW5kbGVfdG9feChidW5kbGVfaWR4KTsKICAgICAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IC5tYXJrZXIuc3RhcnQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreCsnLDApJyk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOgogICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodC5kcmFnZ2luZyB8fCBoaWdobGlnaHQuaGlnaGxpZ2h0ZWQpIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAndG91Y2hzdGFydCc6CiAgICAgICAgICAgIGNhc2UgJ21vdXNlZG93bic6CiAgICAgICAgICAgICAgICBpZiAoZS5idXR0b24gIT09IDApIHJldHVybjsKICAgICAgICAgICAgICAgIGhpZ2hsaWdodC5oaWdobGlnaHRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICBoaWdobGlnaHQuZHJhZ2dpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgaGlnaGxpZ2h0LnN0YXJ0ID0gYnVuZGxlX2lkeDsKICAgICAgICAgICAgICAgIHggPSBidW5kbGVfdG9feChidW5kbGVfaWR4KTsKICAgICAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IC5tYXJrZXIuc3RhcnQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreCsnLDApJyk7CiAgICAgICAgICAgICAgICAkKCcjdGltZWxpbmUgLmhpZ2hsaWdodCAubWFya2VyLmVuZCcpLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoLTEwMCwwKScpOwogICAgICAgICAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgcmVjdC5tYXJrZXInKS5hdHRyKCd3aWR0aCcsMCkuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK3grJywwKScpOwogICAgICAgICAgICAgICAgJCgnYm9keScpLm9uKCdtb3VzZW1vdmUudGltZWxpbmVfaGlnaGxpZ2h0JywgaGlnaGxpZ2h0X2RyYWcpOwogICAgICAgICAgICAgICAgJCgnYm9keScpLm9uKCd0b3VjaGVuZC50aW1lbGluZV9oaWdobGlnaHQgbW91c2V1cC50aW1lbGluZV9oaWdobGlnaHQnLCBoaWdobGlnaHRfcmVsZWFzZSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEV2ZW4gaGFuZGxlciBmb3IgZHJhZ2dpbmcgd2hlbiBoaWdobGlnaHRpbmcgYSB0aW1lIHJhbmdlLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhpZ2hsaWdodF9kcmFnKGUpIHsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IG5lYXJlc3RfYnVuZGxlKGUucGFnZVgpOwogICAgICAgIGhpZ2hsaWdodC5lbmQgPSBidW5kbGVfaWR4OwogICAgICAgIHZhciB4MSA9IGJ1bmRsZV90b194KGhpZ2hsaWdodC5zdGFydCk7CiAgICAgICAgdmFyIHgyID0gYnVuZGxlX3RvX3goaGlnaGxpZ2h0LmVuZCk7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgLm1hcmtlci5lbmQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreDIrJywwKScpOwogICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IHJlY3QubWFya2VyJykuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK01hdGgubWluKHgxLHgyKSsnLjUsMC41KScpLmF0dHIoJ3dpZHRoJyxNYXRoLmFicyh4Mi14MSkpOwogICAgICAgIHNob3dfcmV2aWV3X2luZm8oZmFsc2UgLyogc3RpY2t5ICovKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgdGhlIGVuZCBvZiBhICdkcmFnJyB3aGVuIGhpZ2hsaWdodGluZyBhIHRpbWUgcmFuZ2UuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gaGlnaGxpZ2h0X3JlbGVhc2UoZSkgewogICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuOwogICAgICAgIGhpZ2hsaWdodC5kcmFnZ2luZyA9IGZhbHNlOwogICAgICAgICQoJ2JvZHknKS5vZmYoJy50aW1lbGluZV9oaWdobGlnaHQnKTsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IG5lYXJlc3RfYnVuZGxlKGUucGFnZVgpOwogICAgICAgIGhpZ2hsaWdodC5lbmQgPSBidW5kbGVfaWR4OwogICAgICAgIGlmIChoaWdobGlnaHQuc3RhcnQgPT09IGhpZ2hsaWdodC5lbmQpIHsKICAgICAgICAgICAgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgeDEgPSBidW5kbGVfdG9feChNYXRoLm1pbihoaWdobGlnaHQuc3RhcnQsIGhpZ2hsaWdodC5lbmQpKTsKICAgICAgICAgICAgdmFyIHgyID0gYnVuZGxlX3RvX3goTWF0aC5tYXgoaGlnaGxpZ2h0LnN0YXJ0LCBoaWdobGlnaHQuZW5kKSk7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IC5tYXJrZXIuc3RhcnQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreDErJywwKScpOwogICAgICAgICAgICAkKCcjdGltZWxpbmUgLmhpZ2hsaWdodCAubWFya2VyLmVuZCcpLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyt4MisnLDApJyk7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IHJlY3QubWFya2VyJykuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK3gxKycuNSwwLjUpJykuYXR0cignd2lkdGgnLHgyLXgxKTsKICAgICAgICAgICAgaGlnaGxpZ2h0LmhpZ2hsaWdodGVkID0gdHJ1ZTsKICAgICAgICAgICAgc2hvd19yZXZpZXdfaW5mbyh0cnVlIC8qIHN0aWNreSAqLyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSGlkZSB0aGUgdGltZWxpbmUncyBoaWdobGlnaHQgY3Vyc29ycy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBoaWRlX2hpZ2hsaWdodCgpIHsKICAgICAgICBoaWdobGlnaHQuc3RhcnQgPSAtMTsKICAgICAgICBoaWdobGlnaHQuZW5kID0gLTE7CiAgICAgICAgaGlnaGxpZ2h0LmhpZ2hsaWdodGVkID0gZmFsc2U7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgcmVjdC5tYXJrZXInKS5hdHRyKCd3aWR0aCcsMCkuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgtMTAwLDAuNSknKTsKICAgICAgICAkKCcjdGltZWxpbmUgLmhpZ2hsaWdodCAubWFya2VyLnN0YXJ0JykuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgtMTAwLDApJyk7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgLm1hcmtlci5lbmQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKC0xMDAsMCknKTsKICAgICAgICBoaWRlX3Jldmlld19pbmZvKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIG5lYXJlc3RfYnVuZGxlKCkKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBuZWFyZXN0X2J1bmRsZSh4KSB7CiAgICAgICAgdmFyIHBhbmVsX2xlZnQgPSBNYXRoLmZsb29yKCQoJyN0aW1lbGluZSAuZ3JhcGhfcGFuZWwnKS5vZmZzZXQoKS5sZWZ0KTsKICAgICAgICB4IC09IHBhbmVsX2xlZnQgKyBncmFwaC5tYXJnaW4ubGVmdDsKICAgICAgICBpZiAoeCA8IDApIHggPSAwOwogICAgICAgIHZhciB0aWMgPSB4ICogZ3JhcGgueF9heGlzLm1heF9ob3VycyAvIGdyYXBoLnhfYXhpcy53aWR0aDsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IGdyYXBoLnRpbWVzbG90c1tNYXRoLm1pbihncmFwaC54X2F4aXMubWF4X2hvdXJzLTEsIE1hdGguZmxvb3IodGljKSldOwogICAgICAgIHZhciBidW5kbGUgPSBncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdOwogICAgICAgIHZhciBzdGFydCA9IGJ1bmRsZS5zdGFydF90aW1lOwogICAgICAgIHZhciBlbmQgPSBidW5kbGUuZW5kX3RpbWU7CiAgICAgICAgcmV0dXJuICh0aWMgPD0gKChzdGFydCtlbmQpLzIpID8gYnVuZGxlX2lkeCA6IGJ1bmRsZV9pZHgrMSk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIENvbnZlcnQgYSBidW5kbGVfaWR4IHRvIGEgZ3JhcGggaG91ciBvZmZzZXQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYnVuZGxlX3RvX3RpYyhidW5kbGVfaWR4KSB7CiAgICAgICAgaWYgKGJ1bmRsZV9pZHggPj0gZ3JhcGguYnVuZGxlcy5sZW5ndGgpIHJldHVybiBncmFwaC54X2F4aXMubWF4X2hvdXJzOwogICAgICAgIHJldHVybiBncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdLnN0YXJ0X3RpbWU7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIENvbnZlcnQgYSBidW5kbGVfaWR4IHRvIGEgZ3JhcGggWCBvZmZzZXQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYnVuZGxlX3RvX3goYnVuZGxlX2lkeCkgewogICAgICAgIHJldHVybiBNYXRoLnJvdW5kKGJ1bmRsZV90b190aWMoYnVuZGxlX2lkeCkgKiBncmFwaC50aWNfc3BhY2luZyk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIE9wZW4gdGhlIHNldHRpbmdzIGRpYWxvZwogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBvcGVuX3NldHRpbmdzKCkgewogICAgICAgIHZhciBjb25maWcgPSB7CiAgICAgICAgICAgIHNjcmlwdF9pZDogJ3RpbWVsaW5lJywKICAgICAgICAgICAgdGl0bGU6ICdVbHRpbWF0ZSBUaW1lbGluZScsCiAgICAgICAgICAgIG9uX3NhdmU6IHNldHRpbmdzX3NhdmVkLAogICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICB0YWJzOiB7dHlwZTondGFic2V0JywgY29udGVudDogewogICAgICAgICAgICAgICAgICAgIHBnR3JhcGg6IHt0eXBlOidwYWdlJywgbGFiZWw6J0dyYXBoJywgaG92ZXJfdGlwOidHcmFwaCBTZXR0aW5ncycsIGNvbnRlbnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZ3JwVGltZToge3R5cGU6J2dyb3VwJywgbGFiZWw6J1RpbWUnLCBjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfZm9ybWF0OiB7dHlwZTonZHJvcGRvd24nLCBsYWJlbDonVGltZSBGb3JtYXQnLCBkZWZhdWx0OicxMmhvdXInLCBjb250ZW50OnsnMTJob3VyJzonMTItaG91cicsJzI0aG91cic6JzI0LWhvdXInLCAnaG91cnNfb25seSc6ICdIb3VycyBvbmx5J30sIGhvdmVyX3RpcDonRGlzcGxheSB0aW1lIGluIDEyIG9yIDI0LWhvdXIgZm9ybWF0LCBvciBob3Vycy1mcm9tLW5vdy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9kYXlzOiB7dHlwZTonbnVtYmVyJywgbGFiZWw6J1NsaWRlciBSYW5nZSBNYXggKGRheXMpJywgbWluOjEsIG1heDoxMjUsIGRlZmF1bHQ6NywgaG92ZXJfdGlwOidDaG9vc2UgbWF4aW11bSByYW5nZSBvZiB0aGUgdGltZWxpbmUgc2xpZGVyIChpbiBkYXlzKS4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICAgICAgICAgIGdycEJhcnM6IHt0eXBlOidncm91cCcsIGxhYmVsOidCYXJzJywgY29udGVudDp7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfYmFyX3dpZHRoOiB7dHlwZTonbnVtYmVyJywgbGFiZWw6J01heCBCYXIgV2lkdGggKHBpeGVscyknLCBkZWZhdWx0OjAsIGhvdmVyX3RpcDonU2V0IHRoZSBtYXhpbXVtIGJhciB3aWR0aCAoaW4gcGl4ZWxzKS5cbigwID0gdW5saW1pdGVkKSd9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2Jhcl9oZWlnaHQ6IHt0eXBlOidudW1iZXInLCBsYWJlbDonTWF4IEdyYXBoIEhlaWdodCAocmV2aWV3cyknLCBkZWZhdWx0OjAsIGhvdmVyX3RpcDonU2V0IHRoZSBtYXhpbXVtIGdyYXBoIGhlaWdodCAoaW4gcmV2aWV3cykuXG4oMCA9IHVubGltaXRlZClcblVzZWZ1bCBmb3Igd2hlbiB5b3UgaGF2ZSBhIGh1Z2UgYmFja2xvZy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkX2Jhcl9oZWlnaHQ6IHt0eXBlOidjaGVja2JveCcsIGxhYmVsOidGb3JjZSBHcmFwaCB0byBNYXggSGVpZ2h0JywgZGVmYXVsdDpmYWxzZSwgaG92ZXJfdGlwOidGb3JjZSB0aGUgZ3JhcGggaGVpZ2h0IHRvIGFsd2F5cyBiZSB0aGUgTWF4IEdyYXBoIEhlaWdodC5cblVzZWZ1bCB3aGVuIGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgcmV2aWV3cyB5b3UgZG8gaW4gb25lIHNpdHRpbmcuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJfc3R5bGU6IHt0eXBlOidkcm9wZG93bicsIGxhYmVsOidCYXIgU3R5bGUnLCBkZWZhdWx0OidpdGVtX3R5cGUnLCBjb250ZW50OnsnY291bnQnOidSZXZpZXcgQ291bnQnLCdpdGVtX3R5cGUnOidJdGVtIFR5cGUnLCdzcnNfc3RhZ2UnOidTUlMgTGV2ZWwnLCdsZXZlbCc6J0xldmVsJ30sIGhvdmVyX3RpcDonQ2hvb3NlIGhvdyBiYXJzIGFyZSBzdWJkaXZpZGVkLid9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JzX2N1cnJfbmV4dDoge3R5cGU6J2Ryb3Bkb3duJywgbGFiZWw6J0N1cnJlbnQgLyBOZXh0IFNSUyBMZXZlbCcsIGRlZmF1bHQ6J2N1cnInLCBjb250ZW50OnsnY3Vycic6J0N1cnJlbnQgU1JTIExldmVsJywnbmV4dCc6J05leHQgU1JTIExldmVsJ30sIGhvdmVyX3RpcDonU2VsZWN0IHdoZXRoZXIgU1JTIGlzIGNvbG9yLWNvZGVkIGJ5XG5jdXJyZW50IFNSUyBsZXZlbCwgb3IgbmV4dCBTUlMgbGV2ZWwuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgICAgICAgICBncnBNYXJrZXJzOiB7dHlwZTonZ3JvdXAnLCBsYWJlbDonTWFya2VycycsIGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9sZXZlbF9tYXJrZXJzOiB7dHlwZTonZHJvcGRvd24nLCBsYWJlbDonQ3VycmVudCBMZXZlbCBNYXJrZXJzJywgZGVmYXVsdDoncmt2JywgY29udGVudDp7J25vbmUnOidOb25lJywncmsnOidSYWQgKyBLYW4nLCdya3YnOidSYWQgKyBLYW4gKyBWb2MnfSwgaG92ZXJfdGlwOidTZWxlY3Qgd2hpY2ggaXRlbSB0eXBlcyB3aWxsIHRyaWdnZXIgYSBDdXJyZW50IExldmVsXG5tYXJrZXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZ3JhcGguJ30sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXJuX21hcmtlcnM6IHt0eXBlOidkcm9wZG93bicsIGxhYmVsOidCdXJuIE1hcmtlcnMnLCBkZWZhdWx0OidzaG93JywgY29udGVudDp7J3Nob3cnOidTaG93JywnaGlkZSc6J0hpZGUnfSwgaG92ZXJfdGlwOidTZWxlY3Qgd2hldGhlciBCdXJuIG1hcmtlcnMgYXJlIHNob3duXG5hdCB0aGUgYm90dG9tIG9mIHRoZSBncmFwaC4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICAgICAgcGdSZXZpZXdEZXRhaWxzOiB7dHlwZToncGFnZScsIGxhYmVsOidSZXZpZXcgRGV0YWlscycsIGhvdmVyX3RpcDonUmV2aWV3IERldGFpbHMgUG9wLXVwJywgY29udGVudDogewogICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Jldmlld19kZXRhaWxzOiB7dHlwZTonZHJvcGRvd24nLCBsYWJlbDonU2hvdyBSZXZpZXcgRGV0YWlscycsIGRlZmF1bHQ6J2Z1bGwnLCBjb250ZW50Onsnbm9uZSc6J05vbmUnLCdzdW1tYXJ5JzonU3VtbWFyeScsJ2l0ZW1fbGlzdCc6J0l0ZW0gTGlzdCcsJ2Z1bGwnOidGdWxsIEl0ZW0gRGV0YWlscyd9LCBob3Zlcl90aXA6J0Nob29zZSB0aGUgbGV2ZWwgb2YgZGV0YWlsIHRvIGRpc3BsYXlcbndoZW4gYSBiYXIgb3IgdGltZSByYW5nZSBpcyBzZWxlY3RlZC4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgcmV2aWV3X2RldGFpbHNfc3VtbWFyeToge3R5cGU6J2Ryb3Bkb3duJywgbGFiZWw6J1JldmlldyBEZXRhaWxzIFN1bW1hcnknLCBkZWZhdWx0OidpdGVtX3R5cGUnLCBjb250ZW50OnsnY291bnQnOidSZXZpZXcgQ291bnQnLCdpdGVtX3R5cGUnOidJdGVtIFR5cGUnLCdzcnNfc3RhZ2UnOidTUlMgTGV2ZWwnLCdsZXZlbCc6J0xldmVsJ30sIGhvdmVyX3RpcDonQ2hvb3NlIHdoaWNoIHN1bW1hcnkgaW5mb3JtYXRpb24gdG9cbmRpc3BsYXkgb24gdGhlIFJldmlldyBEZXRhaWxzIHBvcC11cC4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgcmV2aWV3X2RldGFpbHNfYnV0dG9uczoge3R5cGU6J2NoZWNrYm94JywgbGFiZWw6J1Nob3cgUmV2aWV3IERldGFpbHMgQnV0dG9ucycsIGRlZmF1bHQ6dHJ1ZSwgaG92ZXJfdGlwOidTaG93IGNvbmZpZ3VyYXRpb24gYnV0dG9ucyBvbiBSZXZpZXcgRGV0YWlscyBwb3AtdXAuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfYmFyX3N0eWxlX2Ryb3Bkb3duOiB7dHlwZTonY2hlY2tib3gnLCBsYWJlbDonU2hvdyBCYXIgU3R5bGUgRHJvcGRvd24nLCBkZWZhdWx0OmZhbHNlLCBob3Zlcl90aXA6J1Nob3cgdGhlIEJhciBTdHlsZSBkcm9wZG93biBhYm92ZSB0aGUgdGltZWxpbmUuJ30sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdmFyIHNldHRpbmdzX2RpYWxvZyA9IG5ldyB3a29mLlNldHRpbmdzKGNvbmZpZyk7CiAgICAgICAgc2V0dGluZ3NfZGlhbG9nLm9wZW4oKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gR2V0IHRoZSBudW1iZXIgb2YgaG91cnMgcGVyIGJhci4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X2hvdXJzX3Blcl9iYXIoKSB7CiAgICAgICAgZ3JhcGgueF9heGlzLndpZHRoID0gZ3JhcGguZWxlbS53aWR0aCgpIC0gZ3JhcGgubWFyZ2luLmxlZnQ7CiAgICAgICAgZ3JhcGgueF9heGlzLm1heF9ob3VycyA9IE1hdGgucm91bmQoc2V0dGluZ3MuZGF5cyAqIDI0KTsKCiAgICAgICAgLy8gTm8gbW9yZSB0aGFuIDEgbGFiZWwgZXZlcnkgNTAgcGl4ZWxzCiAgICAgICAgdmFyIG1pbl9waXhlbHNfcGVyX2xhYmVsID0gNTA7CiAgICAgICAgZ3JhcGgubWluX2hvdXJzX3Blcl9sYWJlbCA9IG1pbl9waXhlbHNfcGVyX2xhYmVsICogZ3JhcGgueF9heGlzLm1heF9ob3VycyAvIGdyYXBoLnhfYXhpcy53aWR0aDsKICAgICAgICB4c2NhbGUuaWR4ID0gMDsKICAgICAgICB3aGlsZSAoKHhzY2FsZS5ob3Vyc19wZXJfbGFiZWxbeHNjYWxlLmlkeF0gPD0gZ3JhcGgubWluX2hvdXJzX3Blcl9sYWJlbCkgJiYKICAgICAgICAgICAgICAgKHhzY2FsZS5pZHggPCB4c2NhbGUuaG91cnNfcGVyX2xhYmVsLmxlbmd0aC0xKSkgewogICAgICAgICAgICB4c2NhbGUuaWR4Kys7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4geHNjYWxlLmJ1bmRsZV9jaG9pY2VzW3hzY2FsZS5pZHhdOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBNYXAgbGV0dGVycyBpbiB0aGUgeHNjYWxlIGNoYXJ0IHRvIGNvcnJlc3BvbmRpbmcgbGFiZWwtZ2VuZXJhdGluZyBmdW5jdGlvbnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBsYWJlbF9mdW5jdGlvbnMgPSB7CiAgICAgICAgJ20nOiBtb250aF9sYWJlbCwKICAgICAgICAndyc6IHdlZWtfbGFiZWwsCiAgICAgICAgJ0QnOiBtZGF5X2xhYmVsLAogICAgICAgICdkJzogZGF5X2xhYmVsLAogICAgICAgICdoJzogaG91cl9sYWJlbCwKICAgICAgICAnLSc6IG5vX2xhYmVsLAogICAgfTsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIHRpbWUtc2NhbGUgbGFiZWxzCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG1vbnRoX2xhYmVsKGRhdGUsIHF0eSwgdXNlX3Nob3J0KSB7CiAgICAgICAgaWYgKGRhdGUuZ2V0SG91cnMoKSAhPT0gMCB8fCBkYXRlLmdldERhdGUoKSAhPT0gMSkgcmV0dXJuOwogICAgICAgIHJldHVybiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01heScsJ0p1bicsJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09jdCcsJ05vdicsJ0RlYyddW2RhdGUuZ2V0TW9udGgoKV07CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHdlZWtfbGFiZWwoZGF0ZSwgcXR5LCB1c2Vfc2hvcnQpIHsKICAgICAgICBpZiAoZGF0ZS5nZXRIb3VycygpICE9PSAwIHx8IGRhdGUuZ2V0RGF5KCkgIT09IDApIHJldHVybjsKICAgICAgICByZXR1cm4gKHVzZV9zaG9ydCA/ICdTJyA6ICdTdW4nKTsKICAgIH0KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gbWRheV9sYWJlbChkYXRlLCBxdHksIHVzZV9zaG9ydCkgewogICAgICAgIGlmIChkYXRlLmdldEhvdXJzKCkgIT09IDApIHJldHVybjsKICAgICAgICB2YXIgbWRheSA9IGRhdGUuZ2V0RGF0ZSgpOwogICAgICAgIGlmIChtZGF5ICUgcXR5ICE9PSAwKSByZXR1cm47CiAgICAgICAgcmV0dXJuIG1kYXk7CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGRheV9sYWJlbChkYXRlLCBxdHksIHVzZV9zaG9ydCkgewogICAgICAgIGlmIChkYXRlLmdldEhvdXJzKCkgIT09IDApIHJldHVybjsKICAgICAgICB2YXIgbGFiZWwgPSBbJ1N1bicsJ01vbicsJ1R1ZScsJ1dlZCcsJ1RodScsJ0ZyaScsJ1NhdCddW2RhdGUuZ2V0RGF5KCldOwogICAgICAgIHJldHVybiAodXNlX3Nob3J0ID8gbGFiZWxbMF0gOiBsYWJlbCk7CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhvdXJfbGFiZWwoZGF0ZSwgcXR5LCB1c2Vfc2hvcnQpIHsKICAgICAgICB2YXIgaGggPSBkYXRlLmdldEhvdXJzKCk7CiAgICAgICAgaWYgKChoaCAlIHF0eSkgIT09IDApIHJldHVybjsKICAgICAgICBpZiAoc2V0dGluZ3MudGltZV9mb3JtYXQgPT09ICcyNGhvdXInKSB7CiAgICAgICAgICAgIHJldHVybiAoJzAnK2hoKyc6MDAnKS5zbGljZSgtNSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICgoKGhoICsgMTEpICUgMTIpICsgMSkgKyAnYXAnW01hdGguZmxvb3IoaGgvMTIpXSArICdtJzsKICAgICAgICB9CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhvdXJfb25seV9sYWJlbChkYXRlLCBxdHksIHVzZV9zaG9ydCwgdGljX2lkeCkgewogICAgICAgIGlmICh0aWNfaWR4ICUgcXR5ICE9PSAwKSByZXR1cm47CiAgICAgICAgcmV0dXJuIHRpY19pZHggKyAodXNlX3Nob3J0ID8gJ2gnIDogJyBocnMnKTsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG5vX2xhYmVsKCkge3JldHVybjt9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRHJhdyB0aGUgdGltZWxpbmUKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZHJhd190aW1lbGluZSgpIHsKICAgICAgICB2YXIgcGFuZWwgPSBncmFwaC5lbGVtLAogICAgICAgICAgICBwYW5lbF9oZWlnaHQgPSBzZXR0aW5ncy5ncmFwaF9oZWlnaHQsCiAgICAgICAgICAgIHBhbmVsX3dpZHRoID0gZ3JhcGguZWxlbS53aWR0aCgpLAogICAgICAgICAgICBncmFwaF9oZWlnaHQgPSBwYW5lbF9oZWlnaHQgLSAoZ3JhcGgubWFyZ2luLnRvcCArIGdyYXBoLm1hcmdpbi5ib3R0b20pOwoKICAgICAgICB2YXIgbWF0Y2ggPSB4c2NhbGUucmVkX3RpY19jaG9pY2VzW3hzY2FsZS5pZHhdLm1hdGNoKC9eKFxkKikoLikocz8pJC8pOwogICAgICAgIHZhciByZWRfcXR5ID0gTnVtYmVyKG1hdGNoWzFdKTsKICAgICAgICB2YXIgcmVkX2Z1bmMgPSBsYWJlbF9mdW5jdGlvbnNbbWF0Y2hbMl1dOwogICAgICAgIHZhciByZWRfdXNlX3Nob3J0ID0gKG1hdGNoWzNdID09PSAncycpOwoKICAgICAgICBtYXRjaCA9IHhzY2FsZS5tYWpvcl90aWNfY2hvaWNlc1t4c2NhbGUuaWR4XS5tYXRjaCgvXihcZCopKC4pKHM/KSQvKTsKICAgICAgICB2YXIgbWFqX3F0eSA9IE51bWJlcihtYXRjaFsxXSk7CiAgICAgICAgdmFyIG1hal9mdW5jID0gbGFiZWxfZnVuY3Rpb25zW21hdGNoWzJdXTsKICAgICAgICB2YXIgbWFqX3VzZV9zaG9ydCA9IChtYXRjaFszXSA9PT0gJ3MnKTsKCiAgICAgICAgbWF0Y2ggPSB4c2NhbGUubWlub3JfdGljX2Nob2ljZXNbeHNjYWxlLmlkeF0ubWF0Y2goL14oXGQqKSguKShzPykkLyk7CiAgICAgICAgdmFyIG1pbl9xdHkgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgICAgIHZhciBtaW5fZnVuYyA9IGxhYmVsX2Z1bmN0aW9uc1ttYXRjaFsyXV07CiAgICAgICAgdmFyIG1pbl91c2Vfc2hvcnQgPSAobWF0Y2hbM10gPT09ICdzJyk7CgogICAgICAgIGlmIChzZXR0aW5ncy50aW1lX2Zvcm1hdCA9PT0gJ2hvdXJzX29ubHknKSB7CiAgICAgICAgICAgIHJlZF9mdW5jID0gZnVuY3Rpb24oKSB7cmV0dXJuIDA7fTsKICAgICAgICAgICAgbWFqX2Z1bmMgPSBob3VyX29ubHlfbGFiZWw7CiAgICAgICAgICAgIG1pbl9mdW5jID0gaG91cl9vbmx5X2xhYmVsOwogICAgICAgIH0KCiAgICAgICAgdmFyIGJ1bmRsZV9zaXplID0geHNjYWxlLmJ1bmRsZV9jaG9pY2VzW3hzY2FsZS5pZHhdOwoKICAgICAgICAvLyBTdHJpbmcgZm9yIGJ1aWxkaW5nIGh0bWwuCiAgICAgICAgdmFyIGdyaWQgPSAnJzsKICAgICAgICB2YXIgbGFiZWxfeCA9IFtdOwogICAgICAgIHZhciBsYWJlbF95ID0gJyc7CiAgICAgICAgdmFyIGJhcnMgPSAnJywgYmFyX292ZXJsYXlzID0gJyc7CiAgICAgICAgdmFyIG1hcmtlcnMgPSAnJzsKCiAgICAgICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAvLyBEcmF3IHZlcnRpY2FsIGF4aXMgZ3JpZAoKICAgICAgICAvLyBDYWxjdWxhdGUgbWFqb3IgYW5kIG1pbm9yIHZlcnRpY2FsIGdyYXBoIHRpY3MuCiAgICAgICAgdmFyIGluY19zID0gMSwgaW5jX2wgPSA1OwogICAgICAgIHZhciBtYXhfcmV2aWV3cyA9IGdyYXBoLm1heF9yZXZpZXdzOwogICAgICAgIGlmIChzZXR0aW5ncy5tYXhfYmFyX2hlaWdodCA+IDApIHsKICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpeGVkX2Jhcl9oZWlnaHQgfHwgKG1heF9yZXZpZXdzID4gc2V0dGluZ3MubWF4X2Jhcl9oZWlnaHQpKSBtYXhfcmV2aWV3cyA9IHNldHRpbmdzLm1heF9iYXJfaGVpZ2h0OwogICAgICAgIH0KICAgICAgICB3aGlsZSAoTWF0aC5jZWlsKG1heF9yZXZpZXdzIC8gaW5jX3MpID4gNSkgewogICAgICAgICAgICBzd2l0Y2ggKGluY19zLnRvU3RyaW5nKClbMF0pIHsKICAgICAgICAgICAgICAgIGNhc2UgJzEnOiBpbmNfcyAqPSAyOyBpbmNfbCAqPSAyOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJzInOiBpbmNfcyA9IE1hdGgucm91bmQoMi41ICogaW5jX3MpOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJzUnOiBpbmNfcyAqPSAyOyBpbmNfbCAqPSA1OyBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gRHJhdyB2ZXJ0aWNhbCBncmFwaCB0aWNzICgjIG9mIFJldmlld3MpLgogICAgICAgIHZhciB0aWNfY2xhc3MsIHk7CiAgICAgICAgZ3JhcGgueV9heGlzLm1heF9yZXZpZXdzID0gTWF0aC5tYXgoMywgTWF0aC5jZWlsKG1heF9yZXZpZXdzIC8gaW5jX3MpICogaW5jX3MpOwogICAgICAgIGZvciAodmFyIHRpYyA9IDA7IHRpYyA8PSBncmFwaC55X2F4aXMubWF4X3Jldmlld3M7IHRpYyArPSBpbmNfcykgewogICAgICAgICAgICB0aWNfY2xhc3MgPSAoKHRpYyAlIGluY19sKSA9PT0gMCA/ICdtYWpvcicgOiAnbWlub3InKTsKICAgICAgICAgICAgeSA9IChncmFwaC5tYXJnaW4udG9wICsgZ3JhcGhfaGVpZ2h0KSAtIE1hdGgucm91bmQoZ3JhcGhfaGVpZ2h0ICogKHRpYyAvIGdyYXBoLnlfYXhpcy5tYXhfcmV2aWV3cykpOwogICAgICAgICAgICBpZiAodGljID4gMCkgewogICAgICAgICAgICAgICAgZ3JpZCArPSAnPHBhdGggY2xhc3M9IicrdGljX2NsYXNzKyciIGQ9Ik0nK2dyYXBoLm1hcmdpbi5sZWZ0KycsJyt5KydoJytncmFwaC54X2F4aXMud2lkdGgrJyIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxhYmVsX3kgKz0gJzx0ZXh0IGNsYXNzPSInK3RpY19jbGFzcysnIiB4PSInKyhncmFwaC5tYXJnaW4ubGVmdC00KSsnIiB5PSInK3krJyIgZHk9IjAuNGVtIj4nK3RpYysnPC90ZXh0Pic7CiAgICAgICAgfQoKICAgICAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIERyYXcgaG9yaXpvbnRhbCBheGlzIGdyaWQKCiAgICAgICAgZ3JhcGgudGljX3NwYWNpbmcgPSAoZ3JhcGgueF9heGlzLndpZHRoKSAvIChncmFwaC54X2F4aXMubWF4X2hvdXJzKTsgLy8gV2lkdGggb2YgYSB0aW1lIHNsb3QuCiAgICAgICAgdmFyIHByZXZfbGFiZWwgPSAtOWUxMDsKICAgICAgICBmb3IgKHZhciB0aWNfaWR4ID0gMDsgdGljX2lkeCA8IGdyYXBoLnhfYXhpcy5tYXhfaG91cnM7IHRpY19pZHgrKykgewogICAgICAgICAgICB2YXIgdGltZSA9IG5ldyBEYXRlKGdyYXBoLnN0YXJ0X3RpbWUuZ2V0VGltZSgpICsgdGljX2lkeCAqIDM2MDAwMDApOwoKICAgICAgICAgICAgdmFyIHJlZF9sYWJlbCA9IHJlZF9mdW5jKHRpbWUsIHJlZF9xdHksIHJlZF91c2Vfc2hvcnQsIHRpY19pZHgpOwogICAgICAgICAgICB2YXIgbWFqX2xhYmVsID0gbWFqX2Z1bmModGltZSwgbWFqX3F0eSwgbWFqX3VzZV9zaG9ydCwgdGljX2lkeCk7CiAgICAgICAgICAgIHZhciBtaW5fbGFiZWwgPSBtaW5fZnVuYyh0aW1lLCBtaW5fcXR5LCBtaW5fdXNlX3Nob3J0LCB0aWNfaWR4KTsKCiAgICAgICAgICAgIHZhciB4ID0gZ3JhcGgubWFyZ2luLmxlZnQgKyBNYXRoLnJvdW5kKCh0aWNfaWR4IC0gdGltZV9zaGlmdC82MCkgKiBncmFwaC50aWNfc3BhY2luZyk7CiAgICAgICAgICAgIHZhciBsYWJlbDsKICAgICAgICAgICAgaWYgKHJlZF9sYWJlbCkgewogICAgICAgICAgICAgICAgaWYgKHRpY19pZHggPiAwKSBncmlkICs9ICc8cGF0aCBjbGFzcz0icmVkdGljIiBkPSJNJyt4KycsMHYnKyhncmFwaC5tYXJnaW4udG9wK2dyYXBoX2hlaWdodC0xKSsnIiAvPic7CiAgICAgICAgICAgICAgICBpZiAoIW1hal91c2Vfc2hvcnQgJiYgdGljX2lkeCAtIHByZXZfbGFiZWwgPCBncmFwaC5taW5faG91cnNfcGVyX2xhYmVsKjAuNTgpIGxhYmVsX3gucG9wKCk7CiAgICAgICAgICAgICAgICBsYWJlbF94LnB1c2goJzx0ZXh0IGNsYXNzPSJyZWR0aWMiIHg9IicrKHgrNCkrJyIgeT0iJysoZ3JhcGgubWFyZ2luLnRvcC04KSsnIj4nK3JlZF9sYWJlbCsnPC90ZXh0PicpOwogICAgICAgICAgICAgICAgcHJldl9sYWJlbCA9IHRpY19pZHg7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFqX2xhYmVsKSB7CiAgICAgICAgICAgICAgICBpZiAodGljX2lkeCA+IDApIGdyaWQgKz0gJzxwYXRoIGNsYXNzPSJtYWpvciIgZD0iTScreCsnLDB2JysoZ3JhcGgubWFyZ2luLnRvcCtncmFwaF9oZWlnaHQtMSkrJyIgLz4nOwogICAgICAgICAgICAgICAgaWYgKG1hal91c2Vfc2hvcnQgfHwgdGljX2lkeCAtIHByZXZfbGFiZWwgPiBncmFwaC5taW5faG91cnNfcGVyX2xhYmVsKjAuNTgpIHsKICAgICAgICAgICAgICAgICAgICBsYWJlbF94LnB1c2goJzx0ZXh0IGNsYXNzPSJtYWpvciIgeD0iJysoeCs0KSsnIiB5PSInKyhncmFwaC5tYXJnaW4udG9wLTgpKyciPicrbWFqX2xhYmVsKyc8L3RleHQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgcHJldl9sYWJlbCA9IHRpY19pZHg7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWluX2xhYmVsKSB7CiAgICAgICAgICAgICAgICBpZiAodGljX2lkeCA+IDApIGdyaWQgKz0gJzxwYXRoIGNsYXNzPSJtaW5vciIgZD0iTScreCsnLCcrKGdyYXBoLm1hcmdpbi50b3AtNikrJ3YnKyhncmFwaF9oZWlnaHQrNikrJyIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIERyYXcgYmFycwoKICAgICAgICB2YXIgbWluX2Jhcl9oZWlnaHQgPSBNYXRoLmNlaWwoZ3JhcGgueV9heGlzLm1heF9yZXZpZXdzIC8gZ3JhcGgueV9heGlzLmhlaWdodCk7CiAgICAgICAgZm9yICh2YXIgYnVuZGxlX2lkeCBpbiBncmFwaC5idW5kbGVzKSB7CiAgICAgICAgICAgIHZhciBidW5kbGUgPSBncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdOwogICAgICAgICAgICB2YXIgYmFyX3BhcnRzID0gW107CiAgICAgICAgICAgIHZhciBzdGF0cyA9IGJ1bmRsZS5zdGF0czsKCiAgICAgICAgICAgIHZhciB4MSA9IE1hdGgucm91bmQoYnVuZGxlLnN0YXJ0X3RpbWUgKiBncmFwaC50aWNfc3BhY2luZyk7CiAgICAgICAgICAgIHZhciB4MiA9IE1hdGgucm91bmQoYnVuZGxlLmVuZF90aW1lICogZ3JhcGgudGljX3NwYWNpbmcpOwogICAgICAgICAgICBpZiAoc2V0dGluZ3MubWF4X2Jhcl93aWR0aCA+IDApIHgyID0gTWF0aC5taW4oeDEgKyBzZXR0aW5ncy5tYXhfYmFyX3dpZHRoLCB4Mik7CgogICAgICAgICAgICBzd2l0Y2ggKHNldHRpbmdzLmJhcl9zdHlsZSkgewogICAgICAgICAgICAgICAgY2FzZSAnY291bnQnOgogICAgICAgICAgICAgICAgICAgIGlmIChzdGF0cy5jb3VudCkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidjb3VudCcsIGhlaWdodDpzdGF0cy5jb3VudH0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2l0ZW1fdHlwZSc6CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRzLnJhZCkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidyYWQnLCBoZWlnaHQ6c3RhdHMucmFkfSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRzLmthbikgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidrYW4nLCBoZWlnaHQ6c3RhdHMua2FufSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRzLnZvYykgYmFyX3BhcnRzLnB1c2goe2NsYXNzOid2b2MnLCBoZWlnaHQ6c3RhdHMudm9jfSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnc3JzX3N0YWdlJzoKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuYXBwcikgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidhcHByJywgaGVpZ2h0OnN0YXRzLmFwcHJ9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuZ3VydSkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidndXJ1JywgaGVpZ2h0OnN0YXRzLmd1cnV9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMubWFzdCkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidtYXN0JywgaGVpZ2h0OnN0YXRzLm1hc3R9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuZW5saSkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidlbmxpJywgaGVpZ2h0OnN0YXRzLmVubGl9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuYnVybikgYmFyX3BhcnRzLnB1c2goe2NsYXNzOididXJuJywgaGVpZ2h0OnN0YXRzLmJ1cm59KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdsZXZlbCc6CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZ3JwX2lkeCA9IDA7IGdycF9pZHggPD0gNTsgZ3JwX2lkeCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBncnBfbmFtZSA9ICdsdmxncnAnK2dycF9pZHg7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0c1tncnBfbmFtZV0pIGJhcl9wYXJ0cy5wdXNoKHtjbGFzczonbHZsZ3JwJytncnBfaWR4LCBoZWlnaHQ6c3RhdHNbZ3JwX25hbWVdfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBiYXJfb2Zmc2V0ID0gMDsKICAgICAgICAgICAgZm9yICh2YXIgcGFydF9pZHggaW4gYmFyX3BhcnRzKSB7CiAgICAgICAgICAgICAgICB2YXIgcGFydCA9IGJhcl9wYXJ0c1twYXJ0X2lkeF07CiAgICAgICAgICAgICAgICBpZiAoKHBhcnRfaWR4ID09IGJhcl9wYXJ0cy5sZW5ndGgtMSkgJiYgKGJhcl9vZmZzZXQgKyBwYXJ0LmhlaWdodCA8IG1pbl9iYXJfaGVpZ2h0KSkgewogICAgICAgICAgICAgICAgICAgIHBhcnQuaGVpZ2h0ID0gbWluX2Jhcl9oZWlnaHQgLSBiYXJfb2Zmc2V0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYmFycyArPSAnPHJlY3QgY2xhc3M9ImJhciAnK3BhcnQuY2xhc3MrJyIgeD0iJysoeDErMSkrJyIgeT0iJytiYXJfb2Zmc2V0KyciIHdpZHRoPSInKyh4Mi14MS0zKSsnIiBoZWlnaHQ9IicrcGFydC5oZWlnaHQrJyIgLz4nOwogICAgICAgICAgICAgICAgYmFyX29mZnNldCArPSBwYXJ0LmhlaWdodDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYmFyX3BhcnRzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIGJhcl9vdmVybGF5cyArPSAnPHJlY3QgY2xhc3M9ImJhciBvdmVybGF5IiB4PSInK3gxKyciIHk9IjAiIHdpZHRoPSInKyh4Mi14MSkrJyIgaGVpZ2h0PSInK2dyYXBoLnlfYXhpcy5tYXhfcmV2aWV3cysnIiBkYXRhLWJ1bmRsZT0iJytidW5kbGVfaWR4KyciIC8+JzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIG1hcmtlcl94OwogICAgICAgICAgICBtYXJrZXJfeCA9IGdyYXBoLm1hcmdpbi5sZWZ0ICsgTWF0aC5mbG9vcigoeDEreDIpLzIpOwogICAgICAgICAgICBpZiAoYnVuZGxlLnN0YXRzLmhhc19jdXJyX21hcmtlciAmJiBzZXR0aW5ncy5jdXJyZW50X2xldmVsX21hcmtlcnMgIT09ICdub25lJykgewogICAgICAgICAgICAgICAgbWFya2VycyArPSAnPHBhdGggY2xhc3M9ImN1ciIgZD0iTScrbWFya2VyX3grJywnKyhncmFwaC5tYXJnaW4udG9wK2dyYXBoX2hlaWdodCsxKSsnbC0zLDZoNnoiIC8+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIGJ1bmRsZS5zdGF0cy5idXJuX2NvdW50ID4gMCAmJiBzZXR0aW5ncy5idXJuX21hcmtlcnMgPT09ICdzaG93JykgewogICAgICAgICAgICAgICAgbWFya2VycyArPSAnPHBhdGggY2xhc3M9ImJ1ciIgZD0iTScrbWFya2VyX3grJywnKyhncmFwaC5tYXJnaW4udG9wK2dyYXBoX2hlaWdodCs4KSsnbC0zLDZoNnoiIC8+JzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAvLyBBc3NlbWJsZSB0aGUgSFRNTAoKICAgICAgICBwYW5lbC5odG1sKAogICAgICAgICAgICAnPHN2ZyBjbGFzcz0iZ3JhcGggbm9zZWxlY3QiIHdpZHRoPSInK3BhbmVsX3dpZHRoKyciIGhlaWdodD0iJytwYW5lbF9oZWlnaHQrJyI+JysKICAgICAgICAgICAgJyAgPHJlY3QgY2xhc3M9ImJrZ2QiIHg9IicrZ3JhcGgubWFyZ2luLmxlZnQrJyIgeT0iJytncmFwaC5tYXJnaW4udG9wKyciIHdpZHRoPSInK2dyYXBoLnhfYXhpcy53aWR0aCsnIiBoZWlnaHQ9IicrZ3JhcGhfaGVpZ2h0KyciIC8+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9ImdyaWQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNSwwLjUpIj4nKwogICAgICAgICAgICBncmlkKwogICAgICAgICAgICAnICAgIDxwYXRoIGNsYXNzPSJzaGFkb3ciIGQ9Ik0nKyhncmFwaC5tYXJnaW4ubGVmdC0yKSsnLDB2JysoZ3JhcGgubWFyZ2luLnRvcCtncmFwaF9oZWlnaHQpKycsaCcrKGdyYXBoLm1hcmdpbi5sZWZ0K2dyYXBoLnhfYXhpcy53aWR0aCsxKSsnIiAvPicrCiAgICAgICAgICAgICcgICAgPHBhdGggY2xhc3M9ImxpZ2h0IiBkPSJNJysoZ3JhcGgubWFyZ2luLmxlZnQtMSkrJywwdicrKGdyYXBoLm1hcmdpbi50b3ArZ3JhcGhfaGVpZ2h0LTEpKyciIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibGlnaHQiIGQ9Ik0nKyhncmFwaC5tYXJnaW4ubGVmdC0yKSsnLCcrKGdyYXBoLm1hcmdpbi50b3ArZ3JhcGhfaGVpZ2h0KzEpKydoJysoZ3JhcGgubWFyZ2luLmxlZnQrZ3JhcGgueF9heGlzLndpZHRoKzEpKyciIC8+JysKICAgICAgICAgICAgJyAgPC9nPicrCiAgICAgICAgICAgICcgIDxnIGNsYXNzPSJsYWJlbC14Ij4nKwogICAgICAgICAgICBsYWJlbF94LmpvaW4oJycpKwogICAgICAgICAgICAnICA8L2c+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9ImxhYmVsLXkiPicrCiAgICAgICAgICAgIGxhYmVsX3krCiAgICAgICAgICAgICcgIDwvZz4nKwogICAgICAgICAgICAnICA8ZyBjbGFzcz0ibWFya2VycyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC41LDAuNSkiPicrCiAgICAgICAgICAgIG1hcmtlcnMrCiAgICAgICAgICAgICcgIDwvZz4nKwogICAgICAgICAgICAnICA8ZyBjbGFzcz0iYmFycyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoJytncmFwaC5tYXJnaW4ubGVmdCsnLCcrKGdyYXBoLm1hcmdpbi50b3ArZ3JhcGhfaGVpZ2h0KSsnKSBzY2FsZSgxLCcrKC0xICogZ3JhcGhfaGVpZ2h0IC8gZ3JhcGgueV9heGlzLm1heF9yZXZpZXdzKSsnKSI+JysKICAgICAgICAgICAgYmFycysKICAgICAgICAgICAgYmFyX292ZXJsYXlzKwogICAgICAgICAgICAnICA8L2c+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9InJlc2l6ZV9ncmlwIj4nKwogICAgICAgICAgICAnICAgIDxwYXRoIGNsYXNzPSJzaGFkb3ciIGQ9Ik0nKyhwYW5lbF93aWR0aC0yKSsnLCcrcGFuZWxfaGVpZ2h0KydsMiwtMm0wLC00bC02LDZtLTQsMGwxMCwtMTAiIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibGlnaHQiIGQ9Ik0nKyhwYW5lbF93aWR0aC0zKSsnLCcrcGFuZWxfaGVpZ2h0KydsMywtM20wLC00bC03LDdtLTQsMGwxMSwtMTEiIC8+JysKICAgICAgICAgICAgJyAgICA8cmVjdCBjbGFzcz0iYm91bmRhcnkiIHg9IjAiIHk9IicrKHBhbmVsX2hlaWdodC0xMykrJyIgd2lkdGg9IicrcGFuZWxfd2lkdGgrJyIgaGVpZ2h0PSIxMyIgLz4nKwogICAgICAgICAgICAnICA8L2c+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9ImhpZ2hsaWdodCI+JysKICAgICAgICAgICAgJyAgICA8cmVjdCBjbGFzcz0ibWFya2VyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAwLDAuNSkiIHg9IicrZ3JhcGgubWFyZ2luLmxlZnQrJyIgeT0iJytncmFwaC5tYXJnaW4udG9wKyciIHdpZHRoPSIwIiBoZWlnaHQ9IicrZ3JhcGhfaGVpZ2h0KyciIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibWFya2VyIHN0YXJ0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAwLDApIiBkPSJNJytncmFwaC5tYXJnaW4ubGVmdCsnLCcrKGdyYXBoLm1hcmdpbi50b3AtMSkrJ2wtMywtNWg2bC0zLDV2JysoZ3JhcGhfaGVpZ2h0KzEpKyciIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibWFya2VyIGVuZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMCwwKSIgZD0iTScrZ3JhcGgubWFyZ2luLmxlZnQrJywnKyhncmFwaC5tYXJnaW4udG9wLTEpKydsLTMsLTVoNmwtMyw1dicrKGdyYXBoX2hlaWdodCsxKSsnIiAvPicrCiAgICAgICAgICAgICcgICAgPHJlY3QgY2xhc3M9ImJvdW5kYXJ5IiB4PSInKyhncmFwaC5tYXJnaW4ubGVmdC0yKSsnIiB5PSIwIiB3aWR0aD0iJysoZ3JhcGgueF9heGlzLndpZHRoKzIpKyciIGhlaWdodD0iJytncmFwaC5tYXJnaW4udG9wKyciIC8+JysKICAgICAgICAgICAgJyAgPC9nPicrCiAgICAgICAgICAgICc8L3N2Zz4nCiAgICAgICAgKTsKICAgICAgICBwYW5lbC5oZWlnaHQocGFuZWxfaGVpZ2h0KTsKCiAgICAgICAgLy8gQXR0YWNoIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgcGFuZWwuZmluZCgnLnJlc2l6ZV9ncmlwIC5ib3VuZGFyeScpLm9uKCdtb3VzZWRvd24gdG91Y2hzdGFydCcsIHJlc2l6ZV9wYW5lbCk7CiAgICAgICAgcGFuZWwuZmluZCgnLmhpZ2hsaWdodCAuYm91bmRhcnknKS5vbignbW91c2VlbnRlciBtb3VzZWxlYXZlIG1vdXNlbW92ZSBtb3VzZWRvd24gdG91Y2hzdGFydCcsIGhpZ2hsaWdodF9ob3Zlcik7CiAgICAgICAgcGFuZWwuZmluZCgnLmJhci5vdmVybGF5Jykub24oJ21vdXNlZW50ZXIgbW91c2VsZWF2ZScsIGJhcl9ob3Zlcik7CiAgICAgICAgcGFuZWwuZmluZCgnLmJhci5vdmVybGF5Jykub24oJ2NsaWNrJywgYmFyX2NsaWNrKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgY2xpY2tpbmcgdGltZWxpbmUgYmFycy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYmFyX2NsaWNrKGUpIHsKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ25vbmUnKSByZXR1cm47CiAgICAgICAgaWYgKGhpZ2hsaWdodC5oaWdobGlnaHRlZCkgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IE51bWJlcihlLnRhcmdldC5hdHRyaWJ1dGVzWydkYXRhLWJ1bmRsZSddLnZhbHVlKTsKICAgICAgICBoaWdobGlnaHQuc3RhcnQgPSBidW5kbGVfaWR4OwogICAgICAgIGhpZ2hsaWdodC5lbmQgPSBidW5kbGVfaWR4ICsgMTsKICAgICAgICBoaWdobGlnaHQuaGlnaGxpZ2h0ZWQgPSB0cnVlOwogICAgICAgIGdyYXBoLmVsZW0ub2ZmKCcuYmFyX2hvdmVyX21vdmUnKTsKICAgICAgICBzaG93X3Jldmlld19pbmZvKHRydWUgLyogc3RpY2t5ICovLCBlKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgaG92ZXJpbmcgb3ZlciB0aW1lbGluZSBiYXJzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBiYXJfaG92ZXIoZSkgewogICAgICAgIGlmIChzZXR0aW5ncy5zaG93X3Jldmlld19kZXRhaWxzID09PSAnbm9uZScpIHJldHVybjsKICAgICAgICBpZiAoaGlnaGxpZ2h0LmhpZ2hsaWdodGVkKSByZXR1cm47CiAgICAgICAgc3dpdGNoIChlLnR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnbW91c2VlbnRlcic6CiAgICAgICAgICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IE51bWJlcihlLnRhcmdldC5hdHRyaWJ1dGVzWydkYXRhLWJ1bmRsZSddLnZhbHVlKTsKICAgICAgICAgICAgICAgIGhpZ2hsaWdodC5zdGFydCA9IGJ1bmRsZV9pZHg7CiAgICAgICAgICAgICAgICBoaWdobGlnaHQuZW5kID0gYnVuZGxlX2lkeCArIDE7CiAgICAgICAgICAgICAgICBzaG93X3Jldmlld19pbmZvKGZhbHNlIC8qIHN0aWNreSAqLywgZSk7CiAgICAgICAgICAgICAgICBncmFwaC5lbGVtLm9uKCdtb3VzZW1vdmUuYmFyX2hvdmVyX21vdmUnLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgICAgICBncmFwaC5yZXZpZXdfaW5mby5jc3MoJ3RvcCcsIGUuY2xpZW50WSAtIGUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIDMwKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtb3VzZWxlYXZlJzoKICAgICAgICAgICAgICAgIGdyYXBoLmVsZW0ub2ZmKCcuYmFyX2hvdmVyX21vdmUnKTsKICAgICAgICAgICAgICAgIGhpZGVfcmV2aWV3X2luZm8oKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gQnVpbGQgYW5kIGRpc3BsYXkgdGhlIFJldmlldyBJbmZvIHBvcC11cC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gc2hvd19yZXZpZXdfaW5mbyhzdGlja3ksIGUpIHsKICAgICAgICB2YXIgaW5mbyA9ICQoJyN0aW1lbGluZSAucmV2aWV3X2luZm8nKTsKICAgICAgICBpZiAoc3RpY2t5KSB7CiAgICAgICAgICAgICQoJ2JvZHknKS5vZmYoJy50aW1lbGluZV9oaWRlaW5mbycpOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAkKCdib2R5Jykub24oJ2NsaWNrLnRpbWVsaW5lX2hpZGVpbmZvJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgICAgICAgICAgJCgnYm9keScpLm9mZignLnRpbWVsaW5lX2hpZGVpbmZvJyk7CiAgICAgICAgICAgICAgICAgICAgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICAgICAgICAgICAgICBoaWRlX3Jldmlld19pbmZvKCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwgMTApOwogICAgICAgIH0KCiAgICAgICAgdmFyIHN0YXJ0ID0gTWF0aC5taW4oaGlnaGxpZ2h0LnN0YXJ0LCBoaWdobGlnaHQuZW5kKTsKICAgICAgICB2YXIgZW5kID0gTWF0aC5tYXgoaGlnaGxpZ2h0LnN0YXJ0LCBoaWdobGlnaHQuZW5kKTsKCiAgICAgICAgdmFyIGJ1bmRsZSA9IHtpdGVtczpbXX07CiAgICAgICAgZm9yICh2YXIgYnVuZGxlX2lkeCA9IHN0YXJ0OyBidW5kbGVfaWR4IDwgZW5kOyBidW5kbGVfaWR4KyspIHsKICAgICAgICAgICAgYnVuZGxlLml0ZW1zID0gYnVuZGxlLml0ZW1zLmNvbmNhdChncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdLml0ZW1zKTsKICAgICAgICB9CgogICAgICAgIGNhbGNfYnVuZGxlX3N0YXRzKGJ1bmRsZSk7CgogICAgICAgIC8vIFByaW50IHRoZSBkYXRlIG9yIGRhdGUgcmFuZ2UuCiAgICAgICAgdmFyIGFsbG93X25vdyA9ICgoc3RhcnQgPT09IDApICYmIChncmFwaC5idW5kbGVfc2l6ZSA9PT0gMSkpOwogICAgICAgIHZhciBodG1sID0gJzxkaXY+JzsKICAgICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKICAgICAgICB2YXIgc3RhcnRfZGF0ZSA9IG5ldyBEYXRlKGdyYXBoLnN0YXJ0X3RpbWUuZ2V0VGltZSgpICsgYnVuZGxlX3RvX3RpYyhzdGFydCkgKiAzNjAwMDAwKTsKICAgICAgICB2YXIgZW5kX2RhdGUgPSBuZXcgRGF0ZShncmFwaC5zdGFydF90aW1lLmdldFRpbWUoKSArIGJ1bmRsZV90b190aWMoZW5kKSAqIDM2MDAwMDAgKyAodGltZV9zaGlmdCAtIDEpICogNjAwMDApOwogICAgICAgIHZhciBzYW1lX2RheSA9IChuZXcgRGF0ZShzdGFydF9kYXRlKS5zZXRIb3VycygwLDAsMCwwKSA9PSBuZXcgRGF0ZShlbmRfZGF0ZSkuc2V0SG91cnMoMCwwLDAsMCkpOwogICAgICAgIHZhciBzaG93X21vbnRoID0gKChub3cuZ2V0TW9udGgoKSAhPSBzdGFydF9kYXRlLmdldE1vbnRoKCkpIHx8ICgobmV3IERhdGUoZW5kX2RhdGUpLnNldEhvdXJzKDAsMCwwLDApIC0gbmV3IERhdGUobm93KS5zZXRIb3VycygwLDAsMCwwKSkgPiAoNi41ICogODY0MDAwMDApKSk7CiAgICAgICAgaWYgKCgoZW5kLXN0YXJ0KSA+IDEpIHx8IChncmFwaC5idW5kbGVfc2l6ZSA+IDEpKSB7CiAgICAgICAgICAgIGh0bWwgKz0gZm9ybWF0X2RhdGUoc3RhcnRfZGF0ZSwgYWxsb3dfbm93LCB0cnVlIC8qIHNob3dfZGF5ICovLCBzaG93X21vbnRoKSArICcgdG8gJyArIGZvcm1hdF9kYXRlKGVuZF9kYXRlLCBmYWxzZSwgIXNhbWVfZGF5IC8qIHNob3dfZGF5ICovLCBzaG93X21vbnRoICYmICFzYW1lX2RheSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaHRtbCArPSBmb3JtYXRfZGF0ZShzdGFydF9kYXRlLCBhbGxvd19ub3csIHRydWUgLyogc2hvd19kYXkgKi8sIHNob3dfbW9udGgpOwogICAgICAgIH0KICAgICAgICBodG1sICs9ICc8L2Rpdj4nOwoKICAgICAgICAvLyBQb3B1bGF0ZSBpdGVtIHR5cGUgc3VtbWFyaWVzLgogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InN1bW1hcnkiPic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0idG90Ij4nKyhidW5kbGUuc3RhdHMuY291bnQpKycgcmV2aWV3czwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iaW5kZW50Ij4nOwoKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJpdGVtX3R5cGUgcmFkIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5yYWQgfHwgMCkrJzwvc3Bhbj4gcmFkaWNhbHM8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9Iml0ZW1fdHlwZSBrYW4iPjxzcGFuIGNsYXNzPSJmaXhlZCI+JysoYnVuZGxlLnN0YXRzLmthbiB8fCAwKSsnPC9zcGFuPiBrYW5qaTwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iaXRlbV90eXBlIHZvYyI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMudm9jIHx8IDApKyc8L3NwYW4+IHZvY2FidWxhcnk8L2Rpdj4nOwoKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzcnNfc3RhZ2UgYXBwciI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMuYXBwciB8fCAwKSsnPC9zcGFuPiBhcHByZW50aWNlPC9kaXY+JzsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzcnNfc3RhZ2UgZ3VydSI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMuZ3VydSB8fCAwKSsnPC9zcGFuPiBndXJ1PC9kaXY+JzsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzcnNfc3RhZ2UgbWFzdCI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubWFzdCB8fCAwKSsnPC9zcGFuPiBtYXN0ZXI8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InNyc19zdGFnZSBlbmxpIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5lbmxpIHx8IDApKyc8L3NwYW4+IGVubGlnaHRlbmVkPC9kaXY+JzsKICAgICAgICBpZiAoc2V0dGluZ3Muc3JzX2N1cnJfbmV4dCA9PT0gJ25leHQnKSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InNyc19zdGFnZSBidXJuIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5idXJuIHx8IDApKyc8L3NwYW4+IGJ1cm48L2Rpdj4nOwogICAgICAgIH0KCiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0ibGV2ZWwgbHZsZ3JwMCI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubHZsZ3JwMCB8fCAwKSsnPC9zcGFuPiBsZXZlbHMgMS0xMDwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0ibGV2ZWwgbHZsZ3JwMSI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubHZsZ3JwMSB8fCAwKSsnPC9zcGFuPiBsZXZlbHMgMTEtMjA8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImxldmVsIGx2bGdycDIiPjxzcGFuIGNsYXNzPSJmaXhlZCI+JysoYnVuZGxlLnN0YXRzLmx2bGdycDIgfHwgMCkrJzwvc3Bhbj4gbGV2ZWxzIDIxLTMwPC9kaXY+JzsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJsZXZlbCBsdmxncnAzIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5sdmxncnAzIHx8IDApKyc8L3NwYW4+IGxldmVscyAzMS00MDwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0ibGV2ZWwgbHZsZ3JwNCI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubHZsZ3JwNCB8fCAwKSsnPC9zcGFuPiBsZXZlbHMgNDEtNTA8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImxldmVsIGx2bGdycDUiPjxzcGFuIGNsYXNzPSJmaXhlZCI+JysoYnVuZGxlLnN0YXRzLmx2bGdycDUgfHwgMCkrJzwvc3Bhbj4gbGV2ZWxzIDUxLTYwPC9kaXY+JzsKCiAgICAgICAgaHRtbCArPSAnPC9kaXY+JzsKCiAgICAgICAgaWYgKChidW5kbGUuc3RhdHMuY3Vycl9jb3VudCA+IDApIHx8IChidW5kbGUuc3RhdHMuYnVybl9jb3VudCA+IDApKSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImluZGVudCI+JzsKICAgICAgICAgICAgaWYgKGJ1bmRsZS5zdGF0cy5jdXJyX2NvdW50ID4gMCkgaHRtbCArPSAnPGRpdiBjbGFzcz0iY3VyIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrYnVuZGxlLnN0YXRzLmN1cnJfY291bnQrJzwvc3Bhbj4gQ3VycmVudCBMZXZlbDwvZGl2Pic7CiAgICAgICAgICAgIGlmIChidW5kbGUuc3RhdHMuYnVybl9jb3VudCA+IDApIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImJ1ciI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nK2J1bmRsZS5zdGF0cy5idXJuX2NvdW50Kyc8L3NwYW4+IEJ1cm4gSXRlbScrKGJ1bmRsZS5zdGF0cy5idXJuX2NvdW50ID4gMSA/ICdzJyA6ICcnKSsnPC9kaXY+JzsKICAgICAgICAgICAgaHRtbCArPSAnPC9kaXY+JzsKICAgICAgICB9CgogICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CgogICAgICAgIGlmIChzZXR0aW5ncy5yZXZpZXdfZGV0YWlsc19idXR0b25zKSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImRldGFpbF9idXR0b25zIj4nOwogICAgICAgICAgICBodG1sICs9ICc8YnV0dG9uIGNsYXNzPSJjb3VudCI+UmV2aWV3IENvdW50PC9idXR0b24+JzsKICAgICAgICAgICAgaHRtbCArPSAnPGJ1dHRvbiBjbGFzcz0iaXRlbV90eXBlIj5JdGVtIFR5cGU8L2J1dHRvbj4nOwogICAgICAgICAgICBodG1sICs9ICc8YnV0dG9uIGNsYXNzPSJzcnNfc3RhZ2UiPlNSUyBMZXZlbDwvYnV0dG9uPic7CiAgICAgICAgICAgIGh0bWwgKz0gJzxidXR0b24gY2xhc3M9ImxldmVsIj5MZXZlbDwvYnV0dG9uPic7CiAgICAgICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAgICAgICAgfQoKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ2l0ZW1fbGlzdCcgfHwgc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ2Z1bGwnKSB7CiAgICAgICAgICAgIGh0bWwgPSBwb3B1bGF0ZV9pdGVtX2xpc3QoYnVuZGxlLCBodG1sKTsKICAgICAgICB9CgogICAgICAgIGluZm8uZmluZCgnLmlubmVyJykuaHRtbChodG1sKTsKICAgICAgICBncmFwaC5yZXZpZXdfaW5mbyA9IGluZm87CgogICAgICAgIHZhciBudW1fd2lkdGggPSBidW5kbGUuc3RhdHMuY291bnQudG9TdHJpbmcoKTsKICAgICAgICBpbmZvLmZpbmQoJy5zdW1tYXJ5IC5maXhlZCcpLmNzcygnd2lkdGgnLCAobnVtX3dpZHRoLnRvU3RyaW5nKCkubGVuZ3RoICogOSArIDgpICsgJ3B4Jyk7CgogICAgICAgIHZhciB0b3AsIGxlZnQsIHJpZ2h0LCB3aWR0aDsKICAgICAgICB2YXIgaGFsZl93aWR0aCA9IGdyYXBoLnhfYXhpcy53aWR0aC8yOwogICAgICAgIHZhciB4ID0gYnVuZGxlX3RvX3goc3RhcnQpOwogICAgICAgIGluZm8uY3NzKCdtYXgtd2lkdGgnLCBoYWxmX3dpZHRoKTsKICAgICAgICBpZiAoaGlnaGxpZ2h0LmRyYWdnaW5nKSB7CiAgICAgICAgICAgIHRvcCA9IGdyYXBoLm1hcmdpbi50b3AgKyBncmFwaC55X2F4aXMuaGVpZ2h0ICsgZ3JhcGgubWFyZ2luLmJvdHRvbTsKICAgICAgICAgICAgaWYgKHggPCBoYWxmX3dpZHRoKSB7CiAgICAgICAgICAgICAgICBsZWZ0ID0gZ3JhcGgubWFyZ2luLmxlZnQgKyB4OwogICAgICAgICAgICAgICAgaW5mby5jc3Moe2xlZnQ6bGVmdCwgcmlnaHQ6J2F1dG8nLCB0b3A6dG9wfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByaWdodCA9IDA7CiAgICAgICAgICAgICAgICBpbmZvLmNzcyh7bGVmdDonYXV0bycsIHJpZ2h0OnJpZ2h0LCB0b3A6dG9wfSk7CiAgICAgICAgICAgICAgICBpZiAoeCA8IGdyYXBoLnhfYXhpcy53aWR0aCAtIGluZm8ub3V0ZXJXaWR0aCgpKSB7CiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGdyYXBoLm1hcmdpbi5sZWZ0ICsgeDsKICAgICAgICAgICAgICAgICAgICBpbmZvLmNzcyh7bGVmdDpsZWZ0LCByaWdodDonYXV0bycsIHRvcDp0b3B9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZSkgewogICAgICAgICAgICB0b3AgPSBlLmNsaWVudFkgLSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSAzMDsKICAgICAgICAgICAgaWYgKHggPCBoYWxmX3dpZHRoKSB7CiAgICAgICAgICAgICAgICBsZWZ0ID0gZ3JhcGgubWFyZ2luLmxlZnQgKyBidW5kbGVfdG9feChzdGFydCsxKSArIDQ7CiAgICAgICAgICAgICAgICBpbmZvLmNzcyh7bGVmdDpsZWZ0LCByaWdodDonYXV0bycsIHRvcDp0b3B9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJpZ2h0ID0gZ3JhcGgueF9heGlzLndpZHRoIC0gYnVuZGxlX3RvX3goc3RhcnQpICsgNDsKICAgICAgICAgICAgICAgIGluZm8uY3NzKHtsZWZ0OidhdXRvJywgcmlnaHQ6cmlnaHQsIHRvcDp0b3B9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaW5mby5yZW1vdmVDbGFzcygnaGlkZGVuJyk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFBvcHVsYXRlIHRoZSBsaXN0IG9mIGl0ZW1zIHByZXNlbnQgaW4gYSB0aW1lIGJ1bmRsZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcG9wdWxhdGVfaXRlbV9saXN0KGJ1bmRsZSwgaHRtbCkgewogICAgICAgIHZhciBzcnNfdG9fY2xhc3MgPSB7CiAgICAgICAgICAgIGN1cnI6IFsnYXBwcicsJ2FwcHInLCdhcHByJywnYXBwcicsJ2FwcHInLCdndXJ1JywnZ3VydScsJ21hc3QnLCdlbmxpJ10sCiAgICAgICAgICAgIG5leHQ6IFsnYXBwcicsJ2FwcHInLCdhcHByJywnYXBwcicsJ2d1cnUnLCdndXJ1JywnbWFzdCcsJ2VubGknLCdidXJuJ10KICAgICAgICB9OwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9Iml0ZW1faW5mbyBoaWRkZW4iPjwvZGl2Pjx1bCBjbGFzcz0iaXRlbV9saXN0Ij4nOwogICAgICAgIGZvciAodmFyIGl0ZW1faWR4IGluIGJ1bmRsZS5pdGVtcykgewogICAgICAgICAgICB2YXIgaXRlbSA9IGJ1bmRsZS5pdGVtc1tpdGVtX2lkeF07CiAgICAgICAgICAgIHZhciBjbGFzc2VzID0gWwogICAgICAgICAgICAgICAgaXRlbS5vYmplY3Quc2xpY2UoMCwzKSwKICAgICAgICAgICAgICAgIHNyc190b19jbGFzc1tzZXR0aW5ncy5zcnNfY3Vycl9uZXh0XVtpdGVtLmFzc2lnbm1lbnRzLnNyc19zdGFnZV0sCiAgICAgICAgICAgICAgICAnbHZsZ3JwJytNYXRoLmZsb29yKChpdGVtLmRhdGEubGV2ZWwtMSkvMTApCiAgICAgICAgICAgIF07CiAgICAgICAgICAgIHZhciBpdGVtX25hbWU7CiAgICAgICAgICAgIGlmIChpdGVtLm9iamVjdCA9PT0gJ3JhZGljYWwnKSB7CiAgICAgICAgICAgICAgICBpZiAoaXRlbS5kYXRhLmNoYXJhY3RlcnMpIHsKICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8bGkgY2xhc3M9IicrY2xhc3Nlcy5qb2luKCcgJykrJyI+JytpdGVtLmRhdGEuY2hhcmFjdGVycysnPC9saT4nOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8bGkgY2xhc3M9IicrY2xhc3Nlcy5qb2luKCcgJykrJyIgZGF0YS1yYWRuYW1lPSInK2l0ZW0uZGF0YS5zbHVnKyciPi4uLjwvbGk+JzsKICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0b3IgPSAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuaXRlbV9saXN0ID4gbGlbZGF0YS1yYWRuYW1lPSInK2l0ZW0uZGF0YS5zbHVnKyciXSc7CiAgICAgICAgICAgICAgICAgICAgbG9hZF9yYWRpY2FsX3N2ZyhpdGVtKS50aGVuKHBvcHVsYXRlX3JhZGljYWxfc3ZnLmJpbmQobnVsbCwgc2VsZWN0b3IpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxsaSBjbGFzcz0iJytjbGFzc2VzLmpvaW4oJyAnKSsnIj4nK2l0ZW0uZGF0YS5zbHVnKyc8L2xpPic7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaHRtbCArPSAnPC91bD4nOwogICAgICAgIHJldHVybiBodG1sOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBJbnNlcnQgYW4gc3ZnIGludG8gYSBzcGVjaWZpZWQgRE9NIGVsZW1lbnQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHBvcHVsYXRlX3JhZGljYWxfc3ZnKHNlbGVjdG9yLCBzdmcpIHsKICAgICAgICAkKHNlbGVjdG9yKS5odG1sKHN2Zyk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEV2ZW50IGhhbmRsZXIgZm9yIGJ1dHRvbnMgb24gdGhlIFJldmlldyBJbmZvIHBvcC11cC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZGV0YWlsX2J1dHRvbl9jbGlja2VkKGUpIHsKICAgICAgICB2YXIgbW9kZSA9IGUudGFyZ2V0LmNsYXNzTmFtZTsKICAgICAgICAkKCcjdGltZWxpbmUgLnJldmlld19pbmZvJykuYXR0cignZGF0YS1tb2RlJywgbW9kZSk7CiAgICAgICAgc2V0dGluZ3MucmV2aWV3X2RldGFpbHNfc3VtbWFyeSA9IG1vZGU7CiAgICAgICAgc2F2ZV9zZXR0aW5ncygpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBFdmVudCBoYW5kbGVyIGZvciBob3ZlcmluZyBvdmVyIGFuIGl0ZW0gaW4gdGhlIFJldmlldyBEZXRhaWwgcG9wLXVwLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBpdGVtX2hvdmVyKGUpIHsKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyAhPT0gJ2Z1bGwnKSByZXR1cm47CiAgICAgICAgdmFyIGluZm8gPSAkKCcjdGltZWxpbmUgLml0ZW1faW5mbycpOwogICAgICAgIHN3aXRjaCAoZS50eXBlKSB7CiAgICAgICAgICAgIGNhc2UgJ21vdXNlZW50ZXInOgogICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9ICQoZS5jdXJyZW50VGFyZ2V0KTsKICAgICAgICAgICAgICAgIHZhciBpdGVtID0gZ3JhcGguY3VycmVudF9idW5kbGUuaXRlbXNbdGFyZ2V0LmluZGV4KCldOwogICAgICAgICAgICAgICAgdmFyIHBvcyA9IHRhcmdldC5wb3NpdGlvbigpOwogICAgICAgICAgICAgICAgaW5mby5jc3Moe3RvcDpwb3MudG9wK3RhcmdldC5vdXRlckhlaWdodCgpKzN9KTsKICAgICAgICAgICAgICAgIHBvcHVsYXRlX2l0ZW1faW5mbyhpbmZvLCBpdGVtKTsKICAgICAgICAgICAgICAgIGluZm8ucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtb3VzZWxlYXZlJzoKICAgICAgICAgICAgICAgIGluZm8uYWRkQ2xhc3MoJ2hpZGRlbicpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBIYW5kbGVyIGZvciByZXNpemluZyB0aGUgdGltZWxpbmUgd2hlbiB0aGUgd2luZG93IHNpemUgY2hhbmdlcy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gd2luZG93X3Jlc2l6ZWQoKSB7CiAgICAgICAgdmFyIG5ld193aWR0aCA9IGdyYXBoLmVsZW0ud2lkdGgoKTsKICAgICAgICBpZiAobmV3X3dpZHRoICE9IGdyYXBoLnhfYXhpcy53aWR0aCArIGdyYXBoLm1hcmdpbi5sZWZ0KSB7CiAgICAgICAgICAgIGJ1bmRsZV9ieV90aW1lc2xvdCgpOwogICAgICAgICAgICBkcmF3X3RpbWVsaW5lKCk7CiAgICAgICAgfQogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBHZW5lcmF0ZSB0aGUgSFRNTCBjb250ZW50IG9mIHRoZSBJdGVtIERldGFpbCBwb3AtdXAuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBzcnNfc3RhZ2VzID0gWydJbml0aWF0ZScsICdBcHByZW50aWNlIDEnLCAnQXBwcmVudGljZSAyJywgJ0FwcHJlbnRpY2UgMycsICdBcHByZW50aWNlIDQnLCAnR3VydSAxJywgJ0d1cnUgMicsICdNYXN0ZXInLCAnRW5saWdodGVuZWQnLCAnQnVybmVkJ10KICAgIGZ1bmN0aW9uIHBvcHVsYXRlX2l0ZW1faW5mbyhpbmZvLCBpdGVtKSB7CiAgICAgICAgdmFyIGh0bWw7CiAgICAgICAgc3dpdGNoIChpdGVtLm9iamVjdCkgewogICAgICAgICAgICBjYXNlICdyYWRpY2FsJzoKICAgICAgICAgICAgICAgIGlmIChpdGVtLmRhdGEuY2hhcmFjdGVycykgewogICAgICAgICAgICAgICAgICAgIGh0bWwgPSAnPHNwYW4gY2xhc3M9Iml0ZW0iPlJhZGljYWw6IDxzcGFuIGNsYXNzPSJzbHVnIiBsYW5nPSJqYSI+JytpdGVtLmRhdGEuY2hhcmFjdGVycysnPC9zcGFuPjwvc3Bhbj48YnI+JzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaHRtbCA9ICc8c3BhbiBjbGFzcz0iaXRlbSI+UmFkaWNhbDogPHNwYW4gY2xhc3M9InNsdWciIGRhdGEtcmFkbmFtZT0iJytpdGVtLmRhdGEuc2x1ZysnIj4uLi48L3NwYW4+PC9zcGFuPjxicj4nOwogICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RvciA9ICcjdGltZWxpbmUgLml0ZW1faW5mbyBbZGF0YS1yYWRuYW1lPSInK2l0ZW0uZGF0YS5zbHVnKyciXSc7CiAgICAgICAgICAgICAgICAgICAgbG9hZF9yYWRpY2FsX3N2ZyhpdGVtKS50aGVuKHBvcHVsYXRlX3JhZGljYWxfc3ZnLmJpbmQobnVsbCwgc2VsZWN0b3IpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAna2FuamknOgogICAgICAgICAgICAgICAgaHRtbCA9ICc8c3BhbiBjbGFzcz0iaXRlbSI+S2Fuamk6IDxzcGFuIGNsYXNzPSJzbHVnIiBsYW5nPSJqYSI+JytpdGVtLmRhdGEuc2x1ZysnPC9zcGFuPjwvc3Bhbj48YnI+JzsKICAgICAgICAgICAgICAgIGh0bWwgKz0gZ2V0X2ltcG9ydGFudF9yZWFkaW5nKGl0ZW0pKyc8YnI+JzsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAndm9jYWJ1bGFyeSc6CiAgICAgICAgICAgICAgICBodG1sID0gJzxzcGFuIGNsYXNzPSJpdGVtIj5Wb2NhYjogPHNwYW4gY2xhc3M9InNsdWciIGxhbmc9ImphIj4nK2l0ZW0uZGF0YS5zbHVnKyc8L3NwYW4+PC9zcGFuPjxicj4nOwogICAgICAgICAgICAgICAgaHRtbCArPSAnUmVhZGluZzogJytnZXRfcmVhZGluZyhpdGVtKSsnPGJyPic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaHRtbCArPSAnTWVhbmluZzogJytnZXRfbWVhbmluZ3MoaXRlbSkrJzxicj4nOwogICAgICAgIGh0bWwgKz0gJ0xldmVsOiAnK2l0ZW0uZGF0YS5sZXZlbCsnPGJyPic7CiAgICAgICAgaHRtbCArPSAnU1JTIExldmVsOiAnK2l0ZW0uYXNzaWdubWVudHMuc3JzX3N0YWdlKycgKCcrc3JzX3N0YWdlc1tpdGVtLmFzc2lnbm1lbnRzLnNyc19zdGFnZV0rJyknOwogICAgICAgIGluZm8uaHRtbChodG1sKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gTG9hZCBhIHJhZGljYWwncyBzdmcgZmlsZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gbG9hZF9yYWRpY2FsX3N2ZyhpdGVtKSB7CiAgICAgICAgdmFyIHByb21pc2UgPSBncmFwaC5yYWRpY2FsX2NhY2hlW2l0ZW0uZGF0YS5zbHVnXTsKICAgICAgICBpZiAocHJvbWlzZSkgcmV0dXJuIHByb21pc2U7CiAgICAgICAgaWYgKGl0ZW0uZGF0YS5jaGFyYWN0ZXJfaW1hZ2VzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHByb21pc2U7CiAgICAgICAgdmFyIHVybCA9IGl0ZW0uZGF0YS5jaGFyYWN0ZXJfaW1hZ2VzLmZpbHRlcihmdW5jdGlvbihpbWcpewogICAgICAgICAgICByZXR1cm4gKGltZy5jb250ZW50X3R5cGUgPT09ICdpbWFnZS9zdmcreG1sJyAmJiAhaW1nLm1ldGFkYXRhLmlubGluZV9zdHlsZXMpOwogICAgICAgIH0pWzBdLnVybDsKICAgICAgICBwcm9taXNlID0gd2tvZi5sb2FkX2ZpbGUodXJsKTsKICAgICAgICBncmFwaC5yYWRpY2FsX2NhY2hlW2l0ZW0uZGF0YS5zbHVnXSA9IHByb21pc2U7CiAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEV4dHJhY3QgdGhlIG1lYW5pbmdzIChpbmNsdWRpbmcgc3lub255bXMpIGZyb20gYW4gaXRlbS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X21lYW5pbmdzKGl0ZW0pIHsKICAgICAgICB2YXIgbWVhbmluZ3MgPSBbXTsKICAgICAgICBpZiAoaXRlbS5zdHVkeV9tYXRlcmlhbHMgJiYgaXRlbS5zdHVkeV9tYXRlcmlhbHMubWVhbmluZ19zeW5vbnltcykgewogICAgICAgICAgICBtZWFuaW5ncyA9IGl0ZW0uc3R1ZHlfbWF0ZXJpYWxzLm1lYW5pbmdfc3lub255bXM7CiAgICAgICAgfQogICAgICAgIG1lYW5pbmdzID0gbWVhbmluZ3MuY29uY2F0KGl0ZW0uZGF0YS5tZWFuaW5ncy5tYXAobWVhbmluZyA9PiBtZWFuaW5nLm1lYW5pbmcpKTsKICAgICAgICByZXR1cm4gdG9fdGl0bGVfY2FzZShtZWFuaW5ncy5qb2luKCcsICcpKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXh0cmFjdCB0aGUgJ2ltcG9ydGFudCcgcmVhZGluZ3MgZnJvbSBhIGthbmppLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBnZXRfaW1wb3J0YW50X3JlYWRpbmcoaXRlbSkgewogICAgICAgIHZhciByZWFkaW5ncyA9IGl0ZW0uZGF0YS5yZWFkaW5ncy5maWx0ZXIocmVhZGluZyA9PiByZWFkaW5nLnByaW1hcnkpOwogICAgICAgIHJldHVybiB0b190aXRsZV9jYXNlKHJlYWRpbmdzWzBdLnR5cGUpKyc6ICcrcmVhZGluZ3MubWFwKHJlYWRpbmcgPT4gcmVhZGluZy5yZWFkaW5nKS5qb2luKCcsICcpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBFeHRyYWN0IHRoZSBsaXN0IG9mIHJlYWRpbmdzIGZyb20gYW4gaXRlbS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X3JlYWRpbmcoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmRhdGEucmVhZGluZ3MubWFwKHJlYWRpbmcgPT4gcmVhZGluZy5yZWFkaW5nKS5qb2luKCcsICcpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBIaWRlIHRoZSBSZXZpZXcgSW5mbyBwb3AtdXAuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhpZGVfcmV2aWV3X2luZm8oKSB7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbycpLmFkZENsYXNzKCdoaWRkZW4nKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gR2VuZXJhdGUgYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGZvcm1hdF9kYXRlKHRpbWUsIGFsbG93X25vdywgc2hvd19kYXksIHNob3dfbW9udGgpIHsKICAgICAgICB2YXIgc3RyID0gJyc7CiAgICAgICAgaWYgKGFsbG93X25vdyAmJiB0aW1lLmdldFRpbWUoKSA+PSBncmFwaC5zdGFydF90aW1lLmdldFRpbWUoKSkgcmV0dXJuICdOb3cnOwogICAgICAgIGlmIChzaG93X2RheSkgewogICAgICAgICAgICBpZiAobmV3IERhdGUodGltZSkuc2V0SG91cnMoMCwwLDAsMCkgPT09IChuZXcgRGF0ZSgpKS5zZXRIb3VycygwLDAsMCwwKSkgewogICAgICAgICAgICAgICAgc3RyID0gJ1RvZGF5JzsKICAgICAgICAgICAgICAgIHNob3dfbW9udGggPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHN0ciA9ICdTdW5Nb25UdWVXZWRUaHVGcmlTYXQnLnN1YnN0cih0aW1lLmdldERheSgpKjMsIDMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChzaG93X21vbnRoKSB7CiAgICAgICAgICAgICAgICBzdHIgKz0gJywgJyArICdKYW5GZWJNYXJBcHJNYXlKdW5KdWxBdWdTZXBPY3ROb3ZEZWMnLnN1YnN0cih0aW1lLmdldE1vbnRoKCkqMywgMykgKyAnICcgKyB0aW1lLmdldERhdGUoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoc2V0dGluZ3MudGltZV9mb3JtYXQgPT09ICcyNGhvdXInKSB7CiAgICAgICAgICAgIHN0ciArPSAnICcgKyAoJzAnICsgdGltZS5nZXRIb3VycygpKS5zbGljZSgtMikgKyAnOicgKyAoJzAnK3RpbWUuZ2V0TWludXRlcygpKS5zbGljZSgtMik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc3RyICs9ICcgJyArICgnMCcgKyAoKCh0aW1lLmdldEhvdXJzKCkrMTEpJTEyKSsxKSkuc2xpY2UoLTIpICsgJzonKygnMCcrdGltZS5nZXRNaW51dGVzKCkpLnNsaWNlKC0yKSArICdhcCdbTWF0aC5mbG9vcih0aW1lLmdldEhvdXJzKCkvMTIpXSArICdtJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN0cjsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRmV0Y2ggaXRlbSBpbmZvLCBhbmQgcmVkcmF3IHRoZSB0aW1lbGluZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZmV0Y2hfYW5kX3VwZGF0ZSgpIHsKICAgICAgICByZXR1cm4gd2tvZi5JdGVtRGF0YS5nZXRfaXRlbXMoJ3N1YmplY3RzLCBhc3NpZ25tZW50cywgc3R1ZHlfbWF0ZXJpYWxzJykKICAgICAgICAudGhlbihwcm9jZXNzX2l0ZW1zKQogICAgICAgIC50aGVuKGRyYXdfdGltZWxpbmUpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBQcm9jZXNzIHRoZSBmZXRjaGVkIGl0ZW1zLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBwcm9jZXNzX2l0ZW1zKGZldGNoZWRfaXRlbXMpIHsKICAgICAgICAvLyBSZW1vdmUgYW55IHVubGVhcm5lZCBpdGVtcy4KICAgICAgICBncmFwaC5pdGVtcyA9IFtdOwogICAgICAgIGZvciAodmFyIGlkeCBpbiBmZXRjaGVkX2l0ZW1zKSB7CiAgICAgICAgICAgIHZhciBpdGVtID0gZmV0Y2hlZF9pdGVtc1tpZHhdOwogICAgICAgICAgICBpZiAoIWl0ZW0uYXNzaWdubWVudHMgfHwgIWl0ZW0uYXNzaWdubWVudHMuYXZhaWxhYmxlX2F0IHx8IGl0ZW0uYXNzaWdubWVudHMuc3JzX3N0YWdlIDw9IDApIGNvbnRpbnVlOwogICAgICAgICAgICBpZiAoaXRlbS5kYXRhLmxldmVsID4gd2tvZi51c2VyLmxldmVsKSBjb250aW51ZTsKICAgICAgICAgICAgZ3JhcGguaXRlbXMucHVzaChpdGVtKTsKICAgICAgICB9CgogICAgICAgIGdyYXBoLml0ZW1zLnNvcnQoZnVuY3Rpb24oYSwgYikgewogICAgICAgICAgICByZXR1cm4gKG5ldyBEYXRlKGEuYXNzaWdubWVudHMuYXZhaWxhYmxlX2F0KS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShiLmFzc2lnbm1lbnRzLmF2YWlsYWJsZV9hdCkuZ2V0VGltZSgpKTsKICAgICAgICB9KTsKCiAgICAgICAgYnVuZGxlX2J5X3RpbWVzbG90KCk7CiAgICAgICAgdXBkYXRlX3NsaWRlcl9yZXZpZXdzKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEJ1bmRsZSB0aGUgaXRlbXMgaW50byB0aW1lc2xvdHMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGJ1bmRsZV9ieV90aW1lc2xvdCgpIHsKICAgICAgICB2YXIgYnVuZGxlX3NpemUgPSBncmFwaC5idW5kbGVfc2l6ZSA9IGdldF9ob3Vyc19wZXJfYmFyKCk7CiAgICAgICAgdmFyIGJ1bmRsZXMgPSBncmFwaC5idW5kbGVzID0gW107CiAgICAgICAgdmFyIHRpbWVzbG90cyA9IGdyYXBoLnRpbWVzbG90cyA9IFtdOwoKICAgICAgICAvLyBSZXdpbmQgdGhlIGNsb2NrIHRvIHRoZSBzdGFydCBvZiBhIGJ1bmRsZSBwZXJpb2QuCiAgICAgICAgdmFyIHN0YXJ0X3RpbWUgPSB0b1N0YXJ0T2ZVVENIb3VyKG5ldyBEYXRlKCkpOwogICAgICAgIHdoaWxlIChzdGFydF90aW1lLmdldEhvdXJzKCkgJSBidW5kbGVfc2l6ZSAhPT0gMCkgc3RhcnRfdGltZSA9IG5ldyBEYXRlKHN0YXJ0X3RpbWUuZ2V0VGltZSgpIC0gMzYwMDAwMCk7CiAgICAgICAgZ3JhcGguc3RhcnRfdGltZSA9IHN0YXJ0X3RpbWU7CgogICAgICAgIC8vIEZpbmQgdGhlIHRpYyBvZiB0aGUgbGFzdCBidW5kbGUgKHJvdW5kIGRvd24gaWYgb25seSBhIHBhcnRpYWwpLgogICAgICAgIGdyYXBoLnRvdGFsX3Jldmlld3MgPSAwOwogICAgICAgIGdyYXBoLm1heF9yZXZpZXdzID0gMDsKICAgICAgICB2YXIgaG91ciA9IDAsIGl0ZW1faWR4ID0gMCwgaXRlbV9jb3VudCA9IDA7CiAgICAgICAgdmFyIGJ1bmRsZSA9IHtzdGFydF90aW1lOmhvdXIsIGl0ZW1zOltdfTsKICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICB0aW1lc2xvdHMucHVzaChidW5kbGVzLmxlbmd0aCk7CiAgICAgICAgICAgIGhvdXIrKzsKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgcGFzdCBlbmQgb2YgdGhlIHRpbWVsaW5lIChpbmNsdWRpbmcgcm91bmRpbmcgdXAgdG8gdGhlIG5lYXJlc3QgYnVuZGxlKQogICAgICAgICAgICAvLyBOZWVkIHRvIHVzZSBkYXRlIGZ1bmN0aW9uIHRvIGFjY291bnQgZm9yIHRpbWUgc2hpZnRzIChlLmcuIERheWxpZ2h0IFNhdmluZ3MgVGltZSkKICAgICAgICAgICAgdmFyIHRpbWUgPSBuZXcgRGF0ZShzdGFydF90aW1lLmdldFRpbWUoKSArIGhvdXIgKiAzNjAwMDAwKTsKICAgICAgICAgICAgaWYgKCh0aW1lLmdldEhvdXJzKCkgJSBidW5kbGVfc2l6ZSkgIT09IDApIGNvbnRpbnVlOwoKICAgICAgICAgICAgdmFyIHN0YXJ0X2lkeCA9IGl0ZW1faWR4OwogICAgICAgICAgICB3aGlsZSAoKGl0ZW1faWR4IDwgZ3JhcGguaXRlbXMubGVuZ3RoKSAmJgogICAgICAgICAgICAgICAgICAgKG5ldyBEYXRlKGdyYXBoLml0ZW1zW2l0ZW1faWR4XS5hc3NpZ25tZW50cy5hdmFpbGFibGVfYXQpIDwgdGltZSkpIHsKICAgICAgICAgICAgICAgIGl0ZW1faWR4Kys7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJ1bmRsZS5pdGVtcyA9IGdyYXBoLml0ZW1zLnNsaWNlKHN0YXJ0X2lkeCwgaXRlbV9pZHgpOwogICAgICAgICAgICBidW5kbGUuZW5kX3RpbWUgPSBob3VyOwogICAgICAgICAgICBjYWxjX2J1bmRsZV9zdGF0cyhidW5kbGUpOwogICAgICAgICAgICBncmFwaC5idW5kbGVzLnB1c2goYnVuZGxlKTsKCiAgICAgICAgICAgIGdyYXBoLnRvdGFsX3Jldmlld3MgKz0gYnVuZGxlLml0ZW1zLmxlbmd0aDsKICAgICAgICAgICAgaWYgKGJ1bmRsZS5pdGVtcy5sZW5ndGggPiBncmFwaC5tYXhfcmV2aWV3cykgZ3JhcGgubWF4X3Jldmlld3MgPSBidW5kbGUuaXRlbXMubGVuZ3RoOwogICAgICAgICAgICBpZiAoaG91ciA+PSBncmFwaC54X2F4aXMubWF4X2hvdXJzKSBicmVhazsKCiAgICAgICAgICAgIGJ1bmRsZSA9IHtzdGFydF90aW1lOmhvdXIsIGl0ZW1zOltdfTsKICAgICAgICB9CiAgICAgICAgZ3JhcGgueF9heGlzLm1heF9ob3VycyA9IGhvdXI7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIENhbGN1bGF0ZSBzdGF0cyBmb3IgYSBidW5kbGUKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gY2FsY19idW5kbGVfc3RhdHMoYnVuZGxlKSB7CiAgICAgICAgdmFyIGl0eXBlX3RvX2ludCA9IHtyYWRpY2FsOjAsIGthbmppOjEsIHZvY2FidWxhcnk6Mn07CiAgICAgICAgdmFyIGl0eXBlX3RvX2NsYXNzID0ge3JhZGljYWw6J3JhZCcsIGthbmppOidrYW4nLCB2b2NhYnVsYXJ5Oid2b2MnfTsKICAgICAgICB2YXIgc3JzX3RvX2NsYXNzID0gewogICAgICAgICAgICBjdXJyOiBbJ2FwcHInLCdhcHByJywnYXBwcicsJ2FwcHInLCdhcHByJywnZ3VydScsJ2d1cnUnLCdtYXN0JywnZW5saSddLAogICAgICAgICAgICBuZXh0OiBbJ2FwcHInLCdhcHByJywnYXBwcicsJ2FwcHInLCdndXJ1JywnZ3VydScsJ21hc3QnLCdlbmxpJywnYnVybiddCiAgICAgICAgfTsKICAgICAgICBidW5kbGUuaXRlbXMuc29ydChmdW5jdGlvbihhLCBiKXsKICAgICAgICAgICAgdmFyIGFfaXR5cGUgPSBpdHlwZV90b19pbnRbYS5vYmplY3RdOwogICAgICAgICAgICB2YXIgYl9pdHlwZSA9IGl0eXBlX3RvX2ludFtiLm9iamVjdF07CiAgICAgICAgICAgIGlmIChhX2l0eXBlICE9PSBiX2l0eXBlKSByZXR1cm4gYV9pdHlwZSAtIGJfaXR5cGU7CiAgICAgICAgICAgIGlmIChhLmRhdGEubGV2ZWwgIT09IGIuZGF0YS5sZXZlbCkgcmV0dXJuIGEuZGF0YS5sZXZlbCAtIGIuZGF0YS5sZXZlbDsKICAgICAgICAgICAgcmV0dXJuIGEuZGF0YS5zbHVnLmxvY2FsZUNvbXBhcmUoYi5kYXRhLnNsdWcpOwogICAgICAgIH0pOwogICAgICAgIGJ1bmRsZS5zdGF0cyA9IHsKICAgICAgICAgICAgY291bnQ6MCwKICAgICAgICAgICAgcmFkOjAsIGthbjowLCB2b2M6MCwKICAgICAgICAgICAgYXBwcjowLCBndXJ1OjAsIG1hc3Q6MCwgZW5saTowLCBidXJuOjAsCiAgICAgICAgICAgIGx2bGdycDA6MCwgbHZsZ3JwMTowLCBsdmxncnAyOjAsIGx2bGdycDM6MCwgbHZsZ3JwNDowLCBsdmxncnA1OjAsCiAgICAgICAgICAgIGN1cnJfY291bnQ6IDAsCiAgICAgICAgICAgIGhhc19jdXJyX21hcmtlcjogZmFsc2UsCiAgICAgICAgICAgIGJ1cm5fY291bnQ6IDAKICAgICAgICB9OwogICAgICAgIHZhciBzdGF0cyA9IGJ1bmRsZS5zdGF0czsKICAgICAgICBmb3IgKHZhciBpdGVtX2lkeCBpbiBidW5kbGUuaXRlbXMpIHsKICAgICAgICAgICAgdmFyIGl0ZW0gPSBidW5kbGUuaXRlbXNbaXRlbV9pZHhdOwogICAgICAgICAgICBzdGF0cy5jb3VudCsrOwogICAgICAgICAgICBzdGF0c1tpdHlwZV90b19jbGFzc1tpdGVtLm9iamVjdF1dKys7CiAgICAgICAgICAgIHN0YXRzW3Nyc190b19jbGFzc1tzZXR0aW5ncy5zcnNfY3Vycl9uZXh0XVtpdGVtLmFzc2lnbm1lbnRzLnNyc19zdGFnZV1dKys7CiAgICAgICAgICAgIHN0YXRzWydsdmxncnAnK01hdGguZmxvb3IoKGl0ZW0uZGF0YS5sZXZlbC0xKS8xMCldKys7CiAgICAgICAgICAgIGlmIChpdGVtLmRhdGEubGV2ZWwgPT09IHdrb2YudXNlci5sZXZlbCkgewogICAgICAgICAgICAgICAgc3RhdHMuY3Vycl9jb3VudCsrOwogICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLmN1cnJlbnRfbGV2ZWxfbWFya2Vycy5pbmRleE9mKGl0ZW0ub2JqZWN0WzBdKSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgc3RhdHMuaGFzX2N1cnJfbWFya2VyID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBidW5kbGUuc3RhdHMuYnVybl9jb3VudCA9IGJ1bmRsZS5zdGF0c1tzcnNfdG9fY2xhc3Nbc2V0dGluZ3Muc3JzX2N1cnJfbmV4dF1bOF1dOwogICAgICAgIGdyYXBoLmN1cnJlbnRfYnVuZGxlID0gYnVuZGxlOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBSZXR1cm4gdGhlIHRpbWVzdGFtcCBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IFVUQyBob3VyLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB0b1N0YXJ0T2ZVVENIb3VyKGRhdGUpIHsKICAgICAgICB2YXIgZCA9IChkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IGRhdGUuZ2V0VGltZSgpIDogZGF0ZSk7CiAgICAgICAgZCA9IE1hdGguZmxvb3IoZC8zNjAwMDAwKSozNjAwMDAwOwogICAgICAgIHJldHVybiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgPyBuZXcgRGF0ZShkKSA6IGQpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBTdGFydCBhIHRpbWVyIHRvIHJlZnJlc2ggdGhlIHRpbWVsaW5lICh3aXRob3V0IGZldGNoKSBhdCB0aGUgdG9wIG9mIHRoZSBob3VyLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzdGFydF9yZWZyZXNoX3RpbWVyKCkgewogICAgICAgIHZhciBub3cgPSBEYXRlLm5vdygpOwogICAgICAgIHZhciBuZXh0X2hvdXIgPSB0b1N0YXJ0T2ZVVENIb3VyKG5vdykgKyAzNjAxMDAwOyAvLyAxIHNlY29uZCBwYXN0IHRoZSBuZXh0IFVUQyBob3VyLgogICAgICAgIHZhciB3YWl0X3RpbWUgPSAobmV4dF9ob3VyIC0gbm93KTsKICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIGJ1bmRsZV9ieV90aW1lc2xvdCgpOwogICAgICAgICAgICB1cGRhdGVfc2xpZGVyX3Jldmlld3MoKTsKICAgICAgICAgICAgZHJhd190aW1lbGluZSgpOwogICAgICAgICAgICBzdGFydF9yZWZyZXNoX3RpbWVyKCk7CiAgICAgICAgfSwgd2FpdF90aW1lKTsKICAgIH0KCn0pKHdpbmRvdy50aW1lbGluZSk7Cg==", 186 - "storage": { 187 - "data": {}, 188 - "ts": 1607436649623 189 - }, 190 - "uuid": "898d914c-c6aa-4606-abf9-fcc0e7385841" 191 - }, 192 - { 193 - "enabled": true, 194 - "file_url": "https://greasyfork.org/scripts/723-wanikani-stroke-order/code/WaniKani%20Stroke%20Order.user.js", 195 - "name": "WaniKani Stroke Order", 196 - "options": { 197 - "awareOfChrome": false, 198 - "check_for_updates": true, 199 - "comment": null, 200 - "compat_arrayleft": false, 201 - "compat_foreach": false, 202 - "compat_forvarin": false, 203 - "compat_metadata": false, 204 - "compat_powerful_this": null, 205 - "compat_uW_gmonkey": false, 206 - "compat_wrappedjsobject": false, 207 - "compatopts_for_requires": true, 208 - "noframes": null, 209 - "override": { 210 - "merge_connects": true, 211 - "merge_excludes": true, 212 - "merge_includes": true, 213 - "merge_matches": true, 214 - "orig_excludes": [], 215 - "orig_includes": [ 216 - "http*://*wanikani.com/kanji/*", 217 - "http*://*wanikani.com/level/*/kanji/*", 218 - "http*://*wanikani.com/review/session", 219 - "http*://*wanikani.com/lesson/session" 220 - ], 221 - "orig_matches": [], 222 - "orig_noframes": null, 223 - "orig_run_at": "document-idle", 224 - "use_blockers": [], 225 - "use_connects": [ 226 - "jisho.org" 227 - ], 228 - "use_excludes": [], 229 - "use_includes": [], 230 - "use_matches": [] 231 - }, 232 - "run_at": null, 233 - "tab_types": null 234 - }, 235 - "position": 5, 236 - "requires": [], 237 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlLYW5pIFN0cm9rZSBPcmRlcgovLyBAbmFtZXNwYWNlICAgamFwYW5lc2UKLy8gQGRlc2NyaXB0aW9uIFNob3dzIGEga2FuamkncyBzdHJva2Ugb3JkZXIgb24gaXRzIHBhZ2UgYW5kIGR1cmluZyBsZXNzb25zIGFuZCByZXZpZXdzLgovLyBAbGljZW5zZSAgICAgR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvbjsgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCi8vIEBpbmNsdWRlICAgICBodHRwKjovLyp3YW5pa2FuaS5jb20va2FuamkvKgovLyBAaW5jbHVkZSAgICAgaHR0cCo6Ly8qd2FuaWthbmkuY29tL2xldmVsLyova2FuamkvKgovLyBAaW5jbHVkZSAgICAgaHR0cCo6Ly8qd2FuaWthbmkuY29tL3Jldmlldy9zZXNzaW9uCi8vIEBpbmNsdWRlICAgICBodHRwKjovLyp3YW5pa2FuaS5jb20vbGVzc29uL3Nlc3Npb24KLy8gQHZlcnNpb24gICAgIDEuMS4yCi8vIEBncmFudCAgICAgICBHTV94bWxodHRwUmVxdWVzdAovLyBAcmVxdWlyZSAgICAgaHR0cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjEwLjIvanF1ZXJ5Lm1pbi5qcwovLyA9PS9Vc2VyU2NyaXB0PT0KCi8qCiAqIFRoYW5rcyBhIGxvdCB0byAuLi4KICogV2FuaWthbmkgUGhvbmV0aWMtU2VtYW50aWMgQ29tcG9zaXRpb24gLSBVc2Vyc2NyaXB0CiAqIGJ5IHJ1aXBncGluaGVpcm8gKExvcmRHcmF2ZXdpc2gpCiAqIC4uLiBmb3IgY29kZSBzaG93aW5nIG1lIGhvdyB0byBpbnNlcnQgc2VjdGlvbnMgZHVyaW5nIGthbmppIHJldmlld3MuCiAqIFRoZSBjb2RlIGhlYXZpbHkgYm9ycm93cyBmcm9tIHRoYXQgc2NyaXB0IQogKiBBbHNvIHRoYW5rcyB0byBIYWxvIGZvciBhIGxvYWRpbmcgYnVnIGZpeCEKICovCgovKgogKiBIZWxwZXIgRnVuY3Rpb25zL1ZhcmlhYmxlcwogKi8KJCA9IHVuc2FmZVdpbmRvdy4kOwoKLyoKICogR2xvYmFsIFZhcmlhYmxlcy9PYmplY3RzL0NsYXNzZXMKICovCnZhciBQYWdlRW51bSA9IE9iamVjdC5mcmVlemUoeyB1bmtub3duOjAsIGthbmppOjEsIHJldmlld3M6MiwgbGVzc29uczozIH0pOwp2YXIgY3VyUGFnZSA9IFBhZ2VFbnVtLnVua25vd247CnZhciBKSVNITyA9ICJodHRwOi8vY2xhc3NpYy5qaXNoby5vcmciOwoKLyoKICogTWFpbgogKi8KZnVuY3Rpb24gaW5pdCgpIHsKICAgIC8vIERldGVybWluZSBwYWdlIHR5cGUKICAgIGlmICgvXC9rYW5qaVwvLi8udGVzdChkb2N1bWVudC5VUkwpKSB7CiAgICAgICAgY3VyUGFnZSA9IFBhZ2VFbnVtLmthbmppOwogICAgfSBlbHNlIGlmICgvXC9yZXZpZXcvLnRlc3QoZG9jdW1lbnQuVVJMKSkgewogICAgICAgIGN1clBhZ2UgPSBQYWdlRW51bS5yZXZpZXdzOwogICAgfSBlbHNlIGlmICgvXC9sZXNzb24vLnRlc3QoZG9jdW1lbnQuVVJMKSkgewogICAgICAgIGN1clBhZ2UgPSBQYWdlRW51bS5sZXNzb25zOwogICAgfQoKICAgIC8vIENyZWF0ZSBhbmQgc3RvcmUgdGhlIGVsZW1lbnQgdGhhdCB3aWxsIGhvbGQgdGhlIGltYWdlCiAgICB1bnNhZmVXaW5kb3cuZGlhZ3JhbSA9IGNyZWF0ZURpYWdyYW1TZWN0aW9uKCk7CgogICAgLy8gUmVnaXN0ZXIgY2FsbGJhY2sgZm9yIHdoZW4gdG8gbG9hZCBzdHJva2Ugb3JkZXIKICAgIHN3aXRjaCAoY3VyUGFnZSkgewogICAgICAgIGNhc2UgUGFnZUVudW0ua2Fuamk6CiAgICAgICAgICAgIGxvYWREaWFncmFtKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgUGFnZUVudW0ucmV2aWV3czoKICAgICAgICAgICAgdmFyIG8gPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMpIHsKICAgICAgICAgICAgICAgLy8gVGhlIGxhc3Qgb25lIGFsd2F5cyBoYXMgMiBtdXRhdGlvbnMsIHNvIGxldCdzIHVzZSB0aGF0CiAgICAgICAgICAgICAgIGlmIChtdXRhdGlvbnMubGVuZ3RoICE9IDIpCiAgICAgICAgICAgICAgICAgICByZXR1cm47CgogICAgICAgICAgICAgICAvLyBSZXZpZXdzIGR5bmFtaWNhbGx5IGdlbmVyYXRlIHRoZSBET00uIFdlIGFsd2F5cyBuZWVkIHRvIHJlLWluc2VydCB0aGUgZWxlbWVudAogICAgICAgICAgICAgICBpZiAoZ2V0S2FuamkoKSAhPT0gbnVsbCkgewogICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgIHZhciBkaWFncmFtID0gY3JlYXRlRGlhZ3JhbVNlY3Rpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlhZ3JhbSAhPT0gbnVsbCAmJiBkaWFncmFtLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zYWZlV2luZG93LmRpYWdyYW0gPSBkaWFncmFtOwogICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkRGlhZ3JhbSgpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0sIDE1MCk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG8ub2JzZXJ2ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXRlbS1pbmZvJyksIHsnYXR0cmlidXRlcycgOiB0cnVlfSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgUGFnZUVudW0ubGVzc29uczoKICAgICAgICAgICAgdmFyIG8gPSBuZXcgTXV0YXRpb25PYnNlcnZlcihsb2FkRGlhZ3JhbSk7CiAgICAgICAgICAgIG8ub2JzZXJ2ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VwcGxlbWVudC1rYW4nKSwgeydhdHRyaWJ1dGVzJyA6IHRydWV9KTsKICAgICAgICAgICAgbG9hZERpYWdyYW0oKTsKICAgICAgICAgICAgYnJlYWs7CiAgICB9Cn0KCmlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICBpbml0KCk7Cn0gZWxzZSB7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGluaXQpOwp9CgovKgogKiBSZXR1cm5zIHRoZSBjdXJyZW50IGthbmppCiAqLwpmdW5jdGlvbiBnZXRLYW5qaSgpIHsKICAgIHN3aXRjaChjdXJQYWdlKSB7CiAgICAgICAgY2FzZSBQYWdlRW51bS5rYW5qaToKICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LnRpdGxlW2RvY3VtZW50LnRpdGxlLmxlbmd0aCAtIDFdOwoKICAgICAgICBjYXNlIFBhZ2VFbnVtLnJldmlld3M6CiAgICAgICAgICAgIHZhciBjdXJJdGVtID0gJC5qU3RvcmFnZS5nZXQoImN1cnJlbnRJdGVtIik7CiAgICAgICAgICAgIGlmKCJrYW4iIGluIGN1ckl0ZW0pCiAgICAgICAgICAgICAgICByZXR1cm4gY3VySXRlbS5rYW4udHJpbSgpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKCiAgICAgICAgY2FzZSBQYWdlRW51bS5sZXNzb25zOgogICAgICAgICAgICB2YXIga2FuamlOb2RlID0gJCgiI2NoYXJhY3RlciIpOwoKICAgICAgICAgICAgaWYoa2FuamlOb2RlID09PSB1bmRlZmluZWQgfHwga2FuamlOb2RlID09PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CgogICAgICAgICAgICByZXR1cm4ga2FuamlOb2RlLnRleHQoKS50cmltKCk7CiAgICB9CgogICAgcmV0dXJuIG51bGw7Cn0KCi8qCiAqIENyZWF0ZXMgYSBzZWN0aW9uIGZvciB0aGUgZGlhZ3JhbSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gaXRzIGNvbnRlbnQKICovCmZ1bmN0aW9uIGNyZWF0ZURpYWdyYW1TZWN0aW9uKCkgewoKICAgIC8vIFJldmlld3MgaGFjazogT25seSBkbyBpdCBvbmNlCiAgICBpZiAoJCgnI3N0cm9rZV9vcmRlcicpLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgdmFyIHNlY3Rpb25IVE1MID0gJzxzZWN0aW9uPjxoMj5TdHJva2UgT3JkZXI8L2gyPjxwIGlkPSJzdHJva2Vfb3JkZXIiPiZuYnNwOzwvcD48L3NlY3Rpb24+JzsKCiAgICAgICAgc3dpdGNoKGN1clBhZ2UpIHsKICAgICAgICAgICAgY2FzZSBQYWdlRW51bS5rYW5qaToKICAgICAgICAgICAgICAgICQoc2VjdGlvbkhUTUwpLmluc2VydEFmdGVyKCcjaW5mb3JtYXRpb24nKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIFBhZ2VFbnVtLnJldmlld3M6CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygicHJlcGVuZCIpOwogICAgICAgICAgICAgICAgJCgnI2l0ZW0taW5mby1jb2wyJykucHJlcGVuZChzZWN0aW9uSFRNTCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBQYWdlRW51bS5sZXNzb25zOgogICAgICAgICAgICAgICAgJCgnI3N1cHBsZW1lbnQta2FuLWJyZWFrZG93biAuY29sMScpLmFwcGVuZChzZWN0aW9uSFRNTCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuICQoJyNzdHJva2Vfb3JkZXInKTsKfQoKLyoKICogQWRkcyB0aGUgZGlhZ3JhbSBzZWN0aW9uIGVsZW1lbnQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9uCiAqLwpmdW5jdGlvbiBsb2FkRGlhZ3JhbSgpIHsKCiAgICBpZiAoIXVuc2FmZVdpbmRvdyB8fCAhdW5zYWZlV2luZG93LmRpYWdyYW0ubGVuZ3RoKQogICAgICAgIHJldHVybjsKCiAgICB1bnNhZmVXaW5kb3cuZGlhZ3JhbS5odG1sKCJMb2FkaW5nLi4uIik7CgogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICBHTV94bWxodHRwUmVxdWVzdCh7CiAgICAgICAgICAgIG1ldGhvZDogIkdFVCIsCiAgICAgICAgICAgIHVybDogSklTSE8gKyAiL2thbmppL2RldGFpbHMvIiArIGdldEthbmppKCksCiAgICAgICAgICAgIG9ubG9hZDogZnVuY3Rpb24oeGhyKSB7CiAgICAgICAgICAgICAgICB2YXIgZGlhZ3JhbSA9IHVuc2FmZVdpbmRvdy5kaWFncmFtOwogICAgICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT0gMjAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRpYWdyYW1VUkwgPSB4aHIucmVzcG9uc2VUZXh0Lm1hdGNoKC9cL3N0YXRpY1wvaW1hZ2VzXC9zdHJva2VfZGlhZ3JhbXNcL1swLTldK19mcmFtZXNcLnBuZy8pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdyYW0uaHRtbCgnPGltZyBzcmM9IicgKyBKSVNITyArIGRpYWdyYW1VUkxbMF0gKyAnIiBhbHQ9IlN0cm9rZSBvcmRlciBkaWFncmFtIiAvPicpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHVuc2FmZVdpbmRvdy5kaWFncmFtLmh0bWwoIkVycm9yIHdoaWxlIGxvYWRpbmcgZGlhZ3JhbSIpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBvbmVycm9yOiBmdW5jdGlvbih4aHIpIHsKICAgICAgICAgICAgICAgIHVuc2FmZVdpbmRvdy5kaWFncmFtLmh0bWwoIkVycm9yIHdoaWxlIGxvYWRpbmcgZGlhZ3JhbSIpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9LCAwKTsKfQ==", 238 - "storage": { 239 - "data": {}, 240 - "ts": 1607436649628 241 - }, 242 - "uuid": "648066f1-2454-460b-9217-49d3d4376da9" 243 - }, 244 - { 245 - "enabled": true, 246 - "file_url": "https://openuserjs.org/install/laidbacktempo/Google_View_Image.user.js", 247 - "name": "Google View Image", 248 - "options": { 249 - "check_for_updates": false, 250 - "comment": null, 251 - "compat_foreach": false, 252 - "compat_metadata": false, 253 - "compat_powerful_this": null, 254 - "compat_prototypes": false, 255 - "compat_wrappedjsobject": false, 256 - "compatopts_for_requires": true, 257 - "noframes": null, 258 - "override": { 259 - "merge_connects": true, 260 - "merge_excludes": true, 261 - "merge_includes": true, 262 - "merge_matches": false, 263 - "orig_connects": [], 264 - "orig_excludes": [], 265 - "orig_includes": [], 266 - "orig_matches": [ 267 - "https://**/*", 268 - "http://**/*" 269 - ], 270 - "orig_noframes": null, 271 - "orig_run_at": "document-idle", 272 - "use_blockers": [], 273 - "use_connects": [], 274 - "use_excludes": [], 275 - "use_includes": [], 276 - "use_matches": [ 277 - "https://www.google.com/**" 278 - ] 279 - }, 280 - "run_at": null, 281 - "tab_types": null 282 - }, 283 - "position": 6, 284 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBHb29nbGUgVmlldyBJbWFnZQovLyBAbmFtZXNwYWNlICAgIGh0dHA6Ly9Hb29nbGVWaWV3SW1hZ2UuY29tLwovLyBAdmVyc2lvbiAgICAgIDAuMQovLyBAZGVzY3JpcHRpb24gIEJyaW5nIGJhY2sgR29vZ2xlIFZpZXcgSW1hZ2UhCi8vIEBhdXRob3IgICAgICAgbGFpZGJhY2tUZW1wbwovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vKiovKgovLyBAbWF0Y2ggICAgICAgIGh0dHA6Ly8qKi8qCi8vIEBsaWNlbnNlIE1JVAovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgpmdW5jdGlvbiB0b0kxOG4oc3RyKSB7CiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL19fTVNHXyhcdyspX18vZywgZnVuY3Rpb24gKG1hdGNoLCB2MSkgewogICAgICAgIHJldHVybiB2MSA/IGNocm9tZS5pMThuLmdldE1lc3NhZ2UodjEpIDogJyc7CiAgICB9KTsKfQoKZnVuY3Rpb24gbG9jYWxpc2VPYmplY3Qob2JqLCB0YWcpIHsKICAgIG9iai5pbm5lckhUTUwgPSB0YWc7CiAgICByZXR1cm47CiAgICAvL3ZhciBtc2cgPSB0b0kxOG4odGFnKTsKICAgIC8vaWYgKG1zZyAhPSB0YWcpIG9iai5pbm5lckhUTUwgPSBtc2c7Cn0KCmZ1bmN0aW9uIGFkZExpbmtzKG5vZGUpIHsKICAgIC8vIGNvbnNvbGUubG9nKCJBZGRpbmcgbGluayIpOwogICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7CiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCJBZGRpbmcgbGluayBpbiIpOwogICAgICAgIGlmICgobm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ2lyY19yaXMnKSkgfHwgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcmNfbWknKSB8fCAobm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ2lyY190YXMnKSkpKSB7CiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygiQWRkaW5nIGxpbmsgT0sgT0sgIik7CiAgICAgICAgICAgIHZhciBvYmplY3QgPSBub2RlLmNsb3Nlc3QoJy5pcmNfYycpOwogICAgICAgICAgICAvLyBSZXRyaXZlIGltYWdlIGxpbmtzLCBhbmQgaW1hZ2UgdXJsCiAgICAgICAgICAgIHZhciBpbWFnZUxpbmtzID0gb2JqZWN0LnF1ZXJ5U2VsZWN0b3IoJy5fRkt3LmlyY19idXRfciA+IHRib2R5ID4gdHInKTsKICAgICAgICAgICAgdmFyIGltYWdlVGV4dCA9IG9iamVjdC5xdWVyeVNlbGVjdG9yKCcuX2NqaiA+IC5pcmNfaXQgPiAuaXJjX2hkID4gLl9yMycpOwoKICAgICAgICAgICAgLy8gUmV0cml2ZSB0aGUgaW1hZ2UgVVJMCiAgICAgICAgICAgIHZhciBpbWFnZVVSTDsKCiAgICAgICAgICAgIHZhciB0aHVtYm5haWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWdbbmFtZT0iJyArIG9iamVjdC5kYXRhc2V0Lml0ZW1JZCArICciXScpOwogICAgICAgICAgICBpZiAodGh1bWJuYWlsKSB7CiAgICAgICAgICAgICAgICB2YXIgbWV0YSA9IHRodW1ibmFpbC5jbG9zZXN0KCcucmdfYngnKS5xdWVyeVNlbGVjdG9yKCcucmdfbWV0YScpOwogICAgICAgICAgICAgICAgdmFyIG1ldGFkYXRhID0gSlNPTi5wYXJzZShtZXRhLmlubmVySFRNTCk7CiAgICAgICAgICAgICAgICBpbWFnZVVSTCA9IG1ldGFkYXRhLm91OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaW1hZ2VVUkwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpcmNfbWknKVswXS5zcmM7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJlbW92ZSBwcmV2aW91c2x5IGdlbmVyYXRlZCB2aWV3IGltYWdlIGJ1dHRvbnMKICAgICAgICAgICAgdmFyIG9sZFZpZXdJbWFnZSA9IGltYWdlTGlua3MucXVlcnlTZWxlY3RvcignLmV4dF9hZGRvbicpOwogICAgICAgICAgICBpZiAob2xkVmlld0ltYWdlKSB7CiAgICAgICAgICAgICAgICBpbWFnZUxpbmtzLnJlbW92ZUNoaWxkKG9sZFZpZXdJbWFnZSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIHJlbW92ZSBwcmV2aW91c2x5IGdlbmVyYXRlZCBzZWFyY2ggYnkgaW1hZ2UgbGlua3MKICAgICAgICAgICAgdmFyIG9sZFNlYXJjaEJ5SW1hZ2UgPSBpbWFnZVRleHQucXVlcnlTZWxlY3RvcignLmV4dF9hZGRvbicpOwogICAgICAgICAgICBpZiAob2xkU2VhcmNoQnlJbWFnZSkgewogICAgICAgICAgICAgICAgaW1hZ2VUZXh0LnJlbW92ZUNoaWxkKG9sZFNlYXJjaEJ5SW1hZ2UpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDcmVhdGUgU2VhcmNoIGJ5IGltYWdlIGJ1dHRvbgogICAgICAgICAgICB2YXIgc2VhcmNoQnlJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgc2VhcmNoQnlJbWFnZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnL3NlYXJjaGJ5aW1hZ2U/JmltYWdlX3VybD0nICsgaW1hZ2VVUkwpOwogICAgICAgICAgICBzZWFyY2hCeUltYWdlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnZXh0X2FkZG9uJyk7CiAgICAgICAgICAgIHNlYXJjaEJ5SW1hZ2Uuc2V0QXR0cmlidXRlKCdzdHlsZScsICdtYXJnaW4tbGVmdDo0cHQ7Jyk7CgogICAgICAgICAgICAvLyBJbnNlcnQgdGV4dCBpbnRvIFNlYXJjaCBieSBpbWFnZSBidXR0b24KICAgICAgICAgICAgdmFyIHNlYXJjaEJ5SW1hZ2VUZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgICAgICAgICBsb2NhbGlzZU9iamVjdChzZWFyY2hCeUltYWdlVGV4dCwgJzxzcGFuPlZpZXcgSW1hZ2U8L3NwYW4+Jyk7CiAgICAgICAgICAgIHNlYXJjaEJ5SW1hZ2UuYXBwZW5kQ2hpbGQoc2VhcmNoQnlJbWFnZVRleHQpOwoKICAgICAgICAgICAgLy8gQXBwZW5kIFNlYXJjaCBieSBpbWFnZSBidXR0b24KICAgICAgICAgICAgaW1hZ2VUZXh0LmFwcGVuZENoaWxkKHNlYXJjaEJ5SW1hZ2UpOwoKICAgICAgICAgICAgLy8gQ3JlYXRlIFZpZXcgaW1hZ2UgYnV0dG9uCiAgICAgICAgICAgIHZhciB2aWV3SW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwogICAgICAgICAgICB2aWV3SW1hZ2Uuc2V0QXR0cmlidXRlKCdjbGFzcycsICdleHRfYWRkb24nKTsKCiAgICAgICAgICAgIC8vIEFkZCBnbG9iZSB0byBWaWV3IGltYWdlIGJ1dHRvbgogICAgICAgICAgICB2YXIgdmlld0ltYWdlTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgdmFyIGdsb2JlSWNvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5fUkt3Ll93dGYuX1B0ZicpLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgICAgdmlld0ltYWdlTGluay5hcHBlbmRDaGlsZChnbG9iZUljb24pOwoKICAgICAgICAgICAgLy8gYWRkIHRleHQgdG8gdmlldyBpbWFnZSBidXR0b24KICAgICAgICAgICAgdmFyIHZpZXdJbWFnZVRleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuX1dLdycpLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgICAgbG9jYWxpc2VPYmplY3Qodmlld0ltYWdlVGV4dCwgJ1ZpZXcgSW1hZ2UnKTsKICAgICAgICAgICAgdmlld0ltYWdlTGluay5hcHBlbmRDaGlsZCh2aWV3SW1hZ2VUZXh0KTsKCiAgICAgICAgICAgIC8vIEFkZCBWaWV3IGltYWdlIGJ1dHRvbiBVUkwKICAgICAgICAgICAgdmlld0ltYWdlTGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBpbWFnZVVSTCk7CiAgICAgICAgICAgIHZpZXdJbWFnZUxpbmsuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCAnX2JsYW5rJyk7CiAgICAgICAgICAgIHZpZXdJbWFnZS5hcHBlbmRDaGlsZCh2aWV3SW1hZ2VMaW5rKTsKCiAgICAgICAgICAgIC8vIEFkZCBWaWV3IGltYWdlIGJ1dHRvbiB0byBJbWFnZSBMaW5rcwogICAgICAgICAgICB2YXIgc2F2ZSA9IGltYWdlTGlua3MuY2hpbGROb2Rlc1sxXTsKICAgICAgICAgICAgaW1hZ2VMaW5rcy5pbnNlcnRCZWZvcmUodmlld0ltYWdlLCBzYXZlKTsKICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCJBZGRpbmcgRE9ORSEhISIpOwogICAgICAgIH0KICAgIH0KfQoKCiAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7CiAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7CiAgICAgICAgICAgIGlmIChtdXRhdGlvbi5hZGRlZE5vZGVzICYmIG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtdXRhdGlvbi5hZGRlZE5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld05vZGUgPSBtdXRhdGlvbi5hZGRlZE5vZGVzW2ldOwogICAgICAgICAgICAgICAgICAgIGFkZExpbmtzKG5ld05vZGUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsKICAgICAgICBjaGlsZExpc3Q6IHRydWUsCiAgICAgICAgc3VidHJlZTogdHJ1ZQogICAgfSk7CgogICAgYWRkTGlua3MoZG9jdW1lbnQuYm9keSk7Cgp9KSgpOw==", 285 - "storage": { 286 - "data": {}, 287 - "ts": 1606921521538 288 - }, 289 - "uuid": "21e7da1a-d1ce-4acf-9838-a7b170386128" 290 - }, 291 - { 292 - "enabled": true, 293 - "file_url": "https://greasyfork.org/scripts/233-wanikani-levelup-celebrator/code/WaniKani%20LevelUP%20Celebrator.user.js", 294 - "name": "WaniKani LevelUP Celebrator", 295 - "options": { 296 - "awareOfChrome": false, 297 - "check_for_updates": true, 298 - "comment": null, 299 - "compat_arrayleft": false, 300 - "compat_foreach": false, 301 - "compat_forvarin": false, 302 - "compat_metadata": false, 303 - "compat_powerful_this": null, 304 - "compat_uW_gmonkey": false, 305 - "compat_wrappedjsobject": false, 306 - "compatopts_for_requires": true, 307 - "noframes": null, 308 - "override": { 309 - "merge_connects": true, 310 - "merge_excludes": true, 311 - "merge_includes": true, 312 - "merge_matches": true, 313 - "orig_excludes": [], 314 - "orig_includes": [ 315 - "https://www.wanikani.com/", 316 - "https://www.wanikani.com/dashboard" 317 - ], 318 - "orig_matches": [], 319 - "orig_noframes": null, 320 - "orig_run_at": "document-end", 321 - "use_blockers": [], 322 - "use_connects": [], 323 - "use_excludes": [], 324 - "use_includes": [], 325 - "use_matches": [] 326 - }, 327 - "run_at": null, 328 - "tab_types": null 329 - }, 330 - "position": 7, 331 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICAgV2FuaUthbmkgTGV2ZWxVUCBDZWxlYnJhdG9yCi8vIEBuYW1lc3BhY2UgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbQovLyBAZGVzY3JpcHRpb24gICBUaGlzIHdpbGwgZGlzcGxheSBhICJsZXZlbC11cCIgbm90aWZpY2F0aW9uIG9uIHlvdXIgV0sgRGFzaGJvYXJkIGFmdGVyIHlvdSBsZXZlbCB1cC4gIFlvdSBjYW4gY3VzdG9taXplIHRoZSBpbWFnZSBhbmQgdGV4dCBvZiB0aGUgZGlzcGxheS4gIE90aGVyIGFjaGlldmVtZW50cyBhcmUgYWxzbyBub3RlZC4gIEJ5IFJob3NWZWVkY3kuCi8vIEB2ZXJzaW9uIDIuNC4wCi8vIEBpbmNsdWRlICAgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbS8KLy8gQGluY2x1ZGUgICAgICAgaHR0cHM6Ly93d3cud2FuaWthbmkuY29tL2Rhc2hib2FyZAovLyBAcnVuLWF0CSAgZG9jdW1lbnQtZW5kCi8vIEBncmFudAkgIEdNX3JlZ2lzdGVyTWVudUNvbW1hbmQKCi8vID09L1VzZXJTY3JpcHQ9PQoKZnVuY3Rpb24gZ2V0KGlkKSB7CiAgICBjb25zb2xlLmxvZygnZ2V0IGZjdCcpOwogICAgaWYgKGlkICYmIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHsKCWNvbnNvbGUubG9nKGlkKTsKICAgICAgICBpZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgIH0KICAgIHJldHVybiBpZCB8fCBudWxsOwp9CgoKZnVuY3Rpb24gR01zZXR1cCgpIHsKICBpZiAoR01fcmVnaXN0ZXJNZW51Q29tbWFuZCkgewogICAgR01fcmVnaXN0ZXJNZW51Q29tbWFuZCgnV2FuaUthbmkgTGV2ZWxVUCBDZWxlYnJhdG9yOiBTZXQgaW1hZ2UgVVJMJywgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjdXJFbnRyeSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nVVJMIikgfHwgIiI7CiAgICAgIHZhciBuZXdJbWdVUkwgPSBwcm9tcHQoJ05ldyBJbWFnZSBVUkw6JywgY3VyRW50cnkpOwogICAgICBpZiAobmV3SW1nVVJMICE9IG51bGwpIHsKCWlmICh0eXBlb2YobmV3SW1nVVJMKSAhPT0gInN0cmluZyIpIHsKCQluZXdJbWdVUkwgPSBTdHJpbmcobmV3SW1nVVJMKTsKCX0KICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cEltZ1VSTCIsIG5ld0ltZ1VSTCk7CiAgICAgIH0KICAgIH0pOwoKICAgIEdNX3JlZ2lzdGVyTWVudUNvbW1hbmQoJ1dhbmlLYW5pIExldmVsVVAgQ2VsZWJyYXRvcjogU2V0IGltYWdlIHBvc2l0aW9uJywgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjdXJFbnRyeSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nUG9zIikgfHwgIkxlZnQiOwogICAgICB2YXIgbmV3SW1nUG9zID0gcHJvbXB0KCdJbWFnZSBwb3NpdGlvbiByZWxhdGl2ZSB0byB0ZXh0IChsZWZ0LCByaWdodCwgYWJvdmUsIGJlbG93KTonLCBjdXJFbnRyeSk7CiAgICAgIGlmIChuZXdJbWdQb3MgIT0gbnVsbCkgewoJaWYgKHR5cGVvZihuZXdJbWdQb3MpICE9PSAic3RyaW5nIikgewoJCW5ld0ltZ1BvcyA9IFN0cmluZyhuZXdJbWdQb3MpOwoJfQogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwSW1nUG9zIiwgbmV3SW1nUG9zKTsKICAgICAgfQogICAgfSk7CgogICAgR01fcmVnaXN0ZXJNZW51Q29tbWFuZCgnV2FuaUthbmkgTGV2ZWxVUCBDZWxlYnJhdG9yOiBTZXQgdGV4dCcsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY3VyRW50cnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cFRleHQiKSB8fCAiIjsKICAgICAgdmFyIG5ld1RleHQgPSBwcm9tcHQoJ05ldyB0ZXh0OicsIGN1ckVudHJ5KTsKICAgICAgaWYgKG5ld1RleHQgIT0gbnVsbCkgewoJaWYgKHR5cGVvZihuZXdUZXh0KSAhPT0gInN0cmluZyIpIHsKCQluZXdUZXh0ID0gU3RyaW5nKG5ld1RleHQpOwoJfQogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwVGV4dCIsIG5ld1RleHQpOwogICAgICB9CiAgICB9KTsKCiAgICBHTV9yZWdpc3Rlck1lbnVDb21tYW5kKCdXYW5pS2FuaSBMZXZlbFVQIENlbGVicmF0b3I6IFByZXZpZXcnLCBmdW5jdGlvbigpIHsKCXNlc3Npb25TdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBQcmV2aWV3IiwgMSk7Cglsb2NhdGlvbi5yZWxvYWQoKTsKICAgIH0pOwoKICB9Cn0KCgpmdW5jdGlvbiBjaGVja0xldmVsKCkgewoKCWNvbnNvbGUubG9nKCJjaGVja0xldmVsKCkgc3RhcnQiKTsKCgl2YXIgbGFzdEtub3duTGV2ZWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cFByZXZMZXZlbCIpIHx8IDE7CiAgICB2YXIgbGV2ZWxUZXh0ID0gJCgnbGkudXNlci1zdW1tYXJ5X19hdHRyaWJ1dGUgYScpWzBdLmhyZWYuc3BsaXQoJy9sZXZlbC8nKVsxXTsKICAgIHZhciBjdXJsZXZlbCA9IChsZXZlbFRleHQ/IGxldmVsVGV4dDogbGFzdEtub3duTGV2ZWwpOwoKICAgIGNvbnNvbGUubG9nKCJsZXZlbFRleHQ6ICIsIGxldmVsVGV4dCk7CiAgICBjb25zb2xlLmxvZygiY3VybGV2ZWw6ICIsIGN1cmxldmVsKTsKCgl2YXIgcHJldiA9IE51bWJlcihsYXN0S25vd25MZXZlbCk7Cgl2YXIgY3VyICA9IE51bWJlcihjdXJsZXZlbCk7Cgl2YXIgbmV4dCA9IHByZXYgKyAxOwoKCWlmIChjdXIgPT0gbmV4dCkgeyAKCQljb25zb2xlLmxvZygibGV2ZWxlZCB1cCEiKTsKCQl2YXIgZCA9IG5ldyBEYXRlKCk7CgkJdmFyIG4gPSBkLmdldFRpbWUoKTsKCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cExldlRpbWUiLCBuKTsgLy8gcmVjb3JkIGxldmVsLXVwIHRpbWUKCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cFByZXZMZXZlbCIsIGN1cik7ICAvLyB1cGRhdGUgJ2xhc3RLbm93bkxldmVsJyBmb3IgbmV4dCB0aW1lCgoJfSBlbHNlIGlmIChjdXIgIT0gcHJldikgewoJCS8vIGVpdGhlciB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHdlJ3JlIHJ1bm5pbmcsIG9yIHRoZXJlJ3MgYSBkaWZmZXJlbnQgdXNlciBoZXJlLCAKCQkvLyBvciB0aGUgdXNlcidzIHN1YnNjcmlwdGlvbiBzdGF0dXMgaGFzIGNoYW5nZWQsIG9yIHNvbWV0aGluZyBlbHNlIHdlaXJkIGlzIGdvaW5nIG9uOwoKCQkvLyBpZiBjdXIgPT0gMiwgYXNzdW1lIHRoZSB1c2VyJ3Mgc3Vic2NyaXB0aW9uIGV4cGlyZWQ7IGxlYXZlIGV2ZXJ5dGhpbmcgYmUgYW5kIHdhaXQgZm9yIHJlbmV3YWwuIE90aGVyd2lzZSwKCgkJaWYgKGN1ciAhPSAyIHx8ICEgbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBQcmV2TGV2ZWwiKSkgeyAKCgkJCS8vIGNsZWFyIFdLbHZsdXBMZXZUaW1lIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBkaXNwbGF5IHRoZSBsZXZlbC11cCBtZXNzYWdlCgkJCWNvbnNvbGUubG9nKCJyZWluaXRpYWxpemluZyIpOwoJCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cExldlRpbWUiLCAwKTsKCQkJbG9jYWxTdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBQcmV2TGV2ZWwiLCBjdXIpOyAgLy8gdXBkYXRlICdsYXN0S25vd25MZXZlbCcgZm9yIG5leHQgdGltZQoKCQkJLy8gYWxzbyByZWluaXRpYWxpemUgdGhlIG5leHRNaWxlc3RvbmVzIGFycmF5CgkJCWluaXRpYWxpemVNaWxlc3RvbmVzKCk7CgoJCX0KCgl9IC8vZWxzZSBjdXIgPT0gcHJldiwgc28gJ2xhc3RLbm93bkxldmVsJyBpcyBzdGlsbCBjb3JyZWN0IChvciBpdCB3aWxsIGNvbnRpbnVlIHRvIGRlZmF1bHQgdG8gMSBpZiBpdCBoYXNuJ3QgYmVlbiBzdG9yZWQgeWV0KQoKCWNvbnNvbGUubG9nKCJwcmV2IGxldmVsOiAiLCBwcmV2KTsKCWNvbnNvbGUubG9nKCJjdXIgbGV2ZWw6ICIsIGN1cik7Cgljb25zb2xlLmxvZygibmV4dCBsZXZlbDogIiwgbmV4dCk7Cgljb25zb2xlLmxvZygiY2hlY2tMZXZlbCgpIGVuZCIpOwoKCXJldHVybiBjdXI7Cn0KCgoKZnVuY3Rpb24gc2hvdWxkRGlzcGxheSgpIHsKCgljb25zb2xlLmxvZygnc2hvdWxkRGlzcGxheSgpIHN0YXJ0Jyk7CgoJdmFyIGxldlRpbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cExldlRpbWUiKSB8fCAwOwoJdmFyIHJhd2R1ciA9IDEwOyAgLy8gbmV3IGxldmVsIGRpc3BsYXkgaXMgZW5hYmxlZCBmb3IgMTAgbWludXRlcyBhZnRlciBmaXJzdCBkaXNwbGF5IHRpbWUKCXZhciBkID0gbmV3IERhdGUoKTsKCXZhciBub3cgPSBkLmdldFRpbWUoKTsKCXZhciByZXR2YWw7Cgl2YXIgZHVyYXRpb24gPSBOdW1iZXIocmF3ZHVyKTsKCXZhciBwcmV2aWV3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cFByZXZpZXciKTsKCgl2YXIgdGhlVHh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBUZXh0Iik7CgoJY29uc29sZS5sb2coIm5vdyA9ICIsIG5vdyk7Cgljb25zb2xlLmxvZygibGV2VGltZSA9ICIsIGxldlRpbWUpOwoJY29uc29sZS5sb2coInJhd2R1ciA9ICIsIHJhd2R1cik7Cgljb25zb2xlLmxvZygiZHVyYXRpb24gbWludXRlcyA9ICIsIGR1cmF0aW9uKTsKCglpZiAocHJldmlldyAmJiBwcmV2aWV3ID09IDEpIHsKCQljb25zb2xlLmxvZygiUHJldmlldyBlbmFibGVkLCBkaXNwbGF5IGl0Iik7CgkJc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cFByZXZpZXciLCAwKTsJLy8gb25jZSBvbmx5CgkJcmV0dXJuIDE7Cgl9CgoJaWYgKHRoZVR4dCAmJiB0aGVUeHQuc3Vic3RyaW5nKDAsIDgpID09ICIlI1RFU1QlIyIpIHsKCQljb25zb2xlLmxvZygidGV4dCBiZWdpbnMgd2l0aCAlI1RFU1QlIywgYWx3YXlzIGRpc3BsYXkiKTsKCQlyZXR1cm4gMTsKCX0KCQoJZHVyYXRpb24gKj0gNjAwMDA7IC8vIGNvbnZlcnQgdG8gbWlsbGlzZWNvbmRzCgoJY29uc29sZS5sb2coImR1cmF0aW9uIG1zZWMgPSAiLCBkdXJhdGlvbik7CgoJY29uc29sZS5sb2coIm5vdyAtIGxldlRpbWUgPSAiLCBub3cgLSBsZXZUaW1lKTsKCglpZiAoKG5vdyAtIGxldlRpbWUpIDw9IGR1cmF0aW9uKSB7CgkJcmV0dmFsID0gMTsKCX0gZWxzZSB7CgkJcmV0dmFsID0gMDsKCX0KCgljb25zb2xlLmxvZygicmV0dmFsID0gIiwgcmV0dmFsKTsKCgljb25zb2xlLmxvZygnc2hvdWxkRGlzcGxheSgpIGVuZCcpOwoJcmV0dXJuIHJldHZhbDsKfQoKCgpmdW5jdGlvbiBkaXNwbGF5TGV2ZWxVcE1lc3NhZ2UgKCBjdXJMZXZlbCApIHsKCWNvbnNvbGUubG9nKCdkaXNwbGF5TGV2ZWxVcE1lc3NhZ2UoKSBzdGFydCcpOwoJdmFyIG1zZyA9IGdldCgic2VhcmNoIik7CiAgICAJdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAl2YXIgdGhlSW1nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBJbWdVUkwiKTsKIAl2YXIgdGhlUG9zID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBJbWdQb3MiKSB8fCAiTEVGVCI7Cgl2YXIgdGhlVHh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBUZXh0Iik7CgogICAgc3dpdGNoKHRoZVBvcy50b1VwcGVyQ2FzZSgpKSB7CgogICAgICAgIGNhc2UgIkJFTE9XIjoKICAgICAgICBjYXNlICJVTkRFUiI6CiAgICAgICAgY2FzZSAiVU5ERVJORUFUSCI6CiAgICAgICAgY2FzZSAiRE9XTiI6CiAgICAgICAgY2FzZSAiQk9UVE9NIjoKICAgICAgICBjYXNlICLjgZfjgZ8iOgogICAgICAgIGNhc2UgIuS4iyI6CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAgICAgICAgICc8aW1nIGlkPSJXS2x2bHVwSW1nIiBzdHlsZT0iZGlzcGxheTpibG9jazttYXJnaW46YXV0byI+IDwvaW1nPicrCiAgICAgICAgCQknPC9kaXY+JzsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgIkFCT1ZFIjoKICAgICAgICBjYXNlICJUT1AiOgogICAgICAgIGNhc2UgIlVQIjoKICAgICAgICBjYXNlICJPVkVSIjoKICAgICAgICBjYXNlICJPTiBUT1AgT0YiOgogICAgICAgIGNhc2UgIkNFTlRFUiI6CiAgICAgICAgY2FzZSAiQ0VOVEVSRUQiOgogICAgICAgIGNhc2UgIuOBhuOBiCI6CiAgICAgICAgY2FzZSAi5LiKIjoKICAgICAgICBjYXNlICLjgarjgYsiOgogICAgICAgIGNhc2UgIuS4rSI6CiAgICAgICAgY2FzZSAi44Gh44KF44GG44GK44GGIjoKICAgICAgICBjYXNlICLkuK3lpK4iOgogICAgICAgICAgICB0LmlubmVySFRNTCA9ICc8aW1nIGlkPSJXS2x2bHVwSW1nIiBzdHlsZT0iZGlzcGxheTpibG9jazttYXJnaW46YXV0byI+IDwvaW1nPicrCiAgICAgICAgICAgICAgICAnPGRpdiBpZD0iV0tsdmx1cFR4dCIgc3R5bGU9Im1hcmdpbjphdXRvO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjExMCU7Zm9udC1zaXplOjMwMCUiPiA8L2Rpdj4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJMRUZUIjoKICAgICAgICBjYXNlICJBVCBMRUZUIjoKICAgICAgICBjYXNlICJPTiBMRUZUIjoKICAgICAgICBjYXNlICJPTiBUSEUgTEVGVCI6CiAgICAgICAgY2FzZSAiTEVGVCBPRiI6CiAgICAgICAgY2FzZSAiVE8gVEhFIExFRlQgT0YiOgogICAgICAgIGNhc2UgIuOBsuOBoOOCiiI6CiAgICAgICAgY2FzZSAi5bemIjoKICAgICAgICBjYXNlICLjgbLjgaDjgorjgYzjgo8iOgogICAgICAgIGNhc2UgIuW3puWBtCI6CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSAnPGltZyBpZD0iV0tsdmx1cEltZyIgc3R5bGU9ImZsb2F0OmxlZnQ7bWFyZ2luOjIwcHgiPiA8L2ltZz4nKwogICAgICAgICAgICAgICAgJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46MjBweDtmbG9hdDpsZWZ0O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjExMCU7Zm9udC1zaXplOjMwMCUiPiA8L2Rpdj4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJSSUdIVCI6CiAgICAgICAgY2FzZSAiQVQgUklHSFQiOgogICAgICAgIGNhc2UgIk9OIFJJR0hUIjoKICAgICAgICBjYXNlICJPTiBUSEUgUklHSFQiOgogICAgICAgIGNhc2UgIlJJR0hUIE9GIjoKICAgICAgICBjYXNlICJUTyBUSEUgUklHSFQgT0YiOgogICAgICAgIGNhc2UgIk1JR0kiOgogICAgICAgIGNhc2UgIuOBv+OBjiI6CiAgICAgICAgY2FzZSAi5Y+zIjoKICAgICAgICBjYXNlICLjgb/jgY7jgYzjgo8iOgogICAgICAgIGNhc2UgIuWPs+WBtCI6CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gJzxpbWcgaWQ9IldLbHZsdXBJbWciIHN0eWxlPSJmbG9hdDpyaWdodDttYXJnaW46MjBweCI+IDwvaW1nPicrCiAgICAgICAgICAgICAgICAnPGRpdiBpZD0iV0tsdmx1cFR4dCIgc3R5bGU9Im1hcmdpbjoyMHB4O2Zsb2F0OnJpZ2h0O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjExMCU7Zm9udC1zaXplOjMwMCUiPiA8L2Rpdj4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgIH0KICAgIHQuc3R5bGUud2lkdGggPSAiMTIwMHB4IjsKICAgIHQuc3R5bGUubWFyZ2luID0gImF1dG8iOwoKICAgIG1zZy5hcHBlbmRDaGlsZCh0KTsKCgl2YXIgdGhpbmcxID0gZ2V0KCJXS2x2bHVwSW1nIik7CglpZiAodGhpbmcxICYmIHRoZUltZykgewoJCXRoaW5nMS5zcmMgPSB0aGVJbWc7Cgl9CgoJdmFyIHRoaW5nMiA9IGdldCgiV0tsdmx1cFR4dCIpOwoKCWlmICh0aGluZzIgJiYgdGhlVHh0KSB7CgkJaWYgKHRoZVR4dC5zdWJzdHJpbmcoMCwgOCkgPT0gIiUjVEVTVCUjIikgewoJCQkvLyBpbmRpY2F0ZXMgdGVzdCBtb2RlOyBzdHJpcCB0aGUgdGVzdCBmbGFnIG91dCBvZiB0aGUgdGV4dAoJCQl0aGVUeHQgPSB0aGVUeHQucmVwbGFjZSgiJSNURVNUJSMiLCAiIik7CgkJfQoJCQoJCXRoZVR4dCA9IHRoZVR4dC5yZXBsYWNlKC8jTEVWRUxOVU0jL2csIGN1ckxldmVsKTsgIC8vIHN1cHBvcnQgI0xFVkVMTlVNIyB2YXJpYWJsZSBpbiB0ZXh0IHN0cmluZ3MKCgkJdGhpbmcyLmlubmVySFRNTD0gdGhlVHh0OwoJfSAKCgljb25zb2xlLmxvZygnZGlzcGxheUxldmVsVXBNZXNzYWdlKCkgZW5kJyk7Cn0KCgpmdW5jdGlvbiBnZXROZXh0TWlsZXN0b25lKCBudW1UdXJ0bGVzICkgewoKCWNvbnNvbGUubG9nKCJnZXROZXh0TWlsZXN0b25lKCkiKTsKCgl2YXIgbWlsZXN0b25lcyA9IFsxLCAxMDAsIDI1MCwgNTAwLCA3NTAsIDEwMDAsIDE1MDAsIDIwMDAsIDI1MDAsIDMwMDAsIDQwMDAsIDUwMDAsIDYwMDAsIDcwMDAsIDgwMDAsIDkwMDAsIDEwMDAwLCA5OTk5OTldOwoJdmFyIGk9MDsKCgljb25zb2xlLmxvZygibnVtVHVydGxlcyA9ICIsIG51bVR1cnRsZXMpOwoKCXdoaWxlICggbWlsZXN0b25lc1tpXSA8PSBudW1UdXJ0bGVzICkgewoKCQlpKys7Cgl9Cgljb25zb2xlLmxvZygibmV4dCBtaWxlc3RvbmUgPSAiLCBtaWxlc3RvbmVzW2ldKTsKCXJldHVybiBtaWxlc3RvbmVzW2ldOwp9CgoKZnVuY3Rpb24gZ2V0VHVydGxlQ291bnRzKCkgewkvLyBjdW11bGF0aXZlIChlbmwgPSBlbmwgKyBidXIsIGV0Yy4pCgoJY29uc29sZS5sb2coImdldFR1cnRsZUNvdW50cygpIik7CgoJLy8gSSdtIGRvaW5nIHRoZSBzdHJpbmcgc3BsaXQoIiAiKSBhbmQgcmVwbGFjZSgpIHNvIHdlIHdpbGwgcGxheSBuaWNlbHkgd2l0aCBvbmUgb2YgbXkgb3RoZXIgc2NyaXB0cyBqdXN0IGluIGNhc2UgdGhlIG90aGVyIG9uZSBydW5zIGZpcnN0CgoJdmFyIGJzdHIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnVybmVkIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7Cgl2YXIgZXN0ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmxpZ2h0ZW5lZCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIilbMF0uaW5uZXJIVE1MLnNwbGl0KCIgIilbMF0gfHwgIjAiOwoJdmFyIG1zdHIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFzdGVyIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7Cgl2YXIgZ3N0ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJndXJ1IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7Cgl2YXIgYXN0ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByZW50aWNlIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7CgoJdmFyIHVwYXJyb3cgPSAi4oaRIjsKCXZhciBkb3duYXJyb3cgPSAi4oaTIjsKCglic3RyID0gYnN0ci5yZXBsYWNlKHVwYXJyb3csICIiKTsKCWVzdHIgPSBlc3RyLnJlcGxhY2UodXBhcnJvdywgIiIpOwoJbXN0ciA9IG1zdHIucmVwbGFjZSh1cGFycm93LCAiIik7Cglnc3RyID0gZ3N0ci5yZXBsYWNlKHVwYXJyb3csICIiKTsKCWFzdHIgPSBhc3RyLnJlcGxhY2UodXBhcnJvdywgIiIpOwoKCWJzdHIgPSBic3RyLnJlcGxhY2UoZG93bmFycm93LCAiIik7Cgllc3RyID0gZXN0ci5yZXBsYWNlKGRvd25hcnJvdywgIiIpOwoJbXN0ciA9IG1zdHIucmVwbGFjZShkb3duYXJyb3csICIiKTsKCWdzdHIgPSBnc3RyLnJlcGxhY2UoZG93bmFycm93LCAiIik7Cglhc3RyID0gYXN0ci5yZXBsYWNlKGRvd25hcnJvdywgIiIpOwoKCXZhciBidXJuZWQgPSBOdW1iZXIoIGJzdHIgKTsKCXZhciBlbmxpZ2h0ZW5lZCA9IE51bWJlciggZXN0ciApOwoJdmFyIG1hc3RlciA9IE51bWJlciggbXN0ciApOwoJdmFyIGd1cnUgPSBOdW1iZXIoIGdzdHIgKTsKCXZhciBhcHByZW50aWNlID0gTnVtYmVyKCBhc3RyICk7CgoJY29uc29sZS5sb2coInJhdyBjb3VudHM6ICIsIGFwcHJlbnRpY2UsIGd1cnUsIG1hc3RlciwgZW5saWdodGVuZWQsIGJ1cm5lZCk7CgoJZW5saWdodGVuZWQgKz0gYnVybmVkOwoJbWFzdGVyICs9IGVubGlnaHRlbmVkOwoJZ3VydSArPSBtYXN0ZXI7CglhcHByZW50aWNlICs9IGd1cnU7CgoJY29uc29sZS5sb2coImN1bXVsYXRpdmUgY291bnRzOiAiLCBhcHByZW50aWNlLCBndXJ1LCBtYXN0ZXIsIGVubGlnaHRlbmVkLCBidXJuZWQpOwoKCXJldHVybiBbYXBwcmVudGljZSwgZ3VydSwgbWFzdGVyLCBlbmxpZ2h0ZW5lZCwgYnVybmVkXTsKfQoKCgpmdW5jdGlvbiBpbml0ICgpIHsKCWNvbnNvbGUubG9nKCdpbml0KCkgc3RhcnQnKTsKCiAJdmFyIHRoZUltZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nVVJMIik7Cgl2YXIgdGhlVHh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBUZXh0Iik7Cgl2YXIgbmV4dE1pbGVzdG9uZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cE1pbGVzdG9uZXMiKTsKICAgIAogICAgICAJaWYgKCF0aGVJbWcpIHsKCQl0aGVJbWcgPSAiaHR0cHM6Ly9pLmltZ3VyLmNvbS9LNlVRTDFaLmdpZiI7CiAgICAgICAgCWxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwSW1nVVJMIiwgdGhlSW1nKTsKICAgICAgCX0KICAgICAgCiAgICAgIAlpZiAoIXRoZVR4dCkgewoJCXRoZVR4dCA9ICc8YnIvPllvdSBsZXZlbGVkIHVwITxici8+Q29uZ3JhdHVsYXRpb25zISc7CiAgICAgICAgCWxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwVGV4dCIsIHRoZVR4dCk7CiAgICAgIAl9CgoJaWYgKCFuZXh0TWlsZXN0b25lcykgewoKCQlpbml0aWFsaXplTWlsZXN0b25lcygpOwoJCQoJfQoKCWNvbnNvbGUubG9nKCdpbml0KCkgZW5kJyk7Cn0KCgpmdW5jdGlvbiBpbml0aWFsaXplTWlsZXN0b25lcyAoKSB7CgoJY29uc29sZS5sb2coImluaXRpYWxpemVNaWxlc3RvbmVzKCkiKTsKCgl2YXIgdHVydGxlQ291bnRzID0gZ2V0VHVydGxlQ291bnRzKCk7CS8vIGN1bXVsYXRpdmUgKGVubCA9IGVubCArIGJ1ciwgZXRjLikKCXZhciBuZXh0TWlsZXN0b25lcyA9IG5ldyBBcnJheSgpOwoKCWZvciAodmFyIHg9MTsgeCA8IHR1cnRsZUNvdW50cy5sZW5ndGg7IHgrKykgewoKCQluZXh0TWlsZXN0b25lc1t4LTFdID0gZ2V0TmV4dE1pbGVzdG9uZSggdHVydGxlQ291bnRzW3hdICk7ICAvLyB0dXJ0bGVDb3VudHNbXSBpbmNsdWRlcyBBcHByZW50aWNlIGl0ZW1zLCBuZXh0TWlsZXN0b25lc1tdIGRvZXMgbm90Cgl9CgoJbG9jYWxTdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBNaWxlc3RvbmVzIiwgSlNPTi5zdHJpbmdpZnkobmV4dE1pbGVzdG9uZXMpKTsKfQoKCmZ1bmN0aW9uIGNoZWNrTWlsZXN0b25lcyggbGV2ZWwgKSB7CgoJY29uc29sZS5sb2coImNoZWNrTWlsZXN0b25lcygpIik7CgoJdmFyIG5leHRNaWxlc3RvbmVzID0gSlNPTi5wYXJzZSggbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBNaWxlc3RvbmVzIikgKTsKCXZhciB0dXJ0bGVDb3VudHMgPSBnZXRUdXJ0bGVDb3VudHMoKTsKCXZhciBhY2hpZXZlbWVudHMgPSBuZXcgQXJyYXkoKTsKCXZhciBnb3RPbmUgPSAwOwoJdmFyIHRlc3RBbGxEb25lID0gbnVsbDsgLy9zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwVGVzdEFsbEJ1cm5lZCIpOwoKCWNvbnNvbGUubG9nKCJuZXh0TWlsZXN0b25lczogIiwgSlNPTi5zdHJpbmdpZnkobmV4dE1pbGVzdG9uZXMpKTsKCglpZiAoIHRlc3RBbGxEb25lIHx8IChsZXZlbCA+PSA1MCAgJiYgKHR1cnRsZUNvdW50c1swXSA9PSB0dXJ0bGVDb3VudHNbNF0pKSkgewoKCQkvLyBhbHNvIGNoZWNrIHRoYXQgbGVzc29ucyA9PSAwIGFuZCByZXZpZXdzID09IDAKCgkJdmFyIHJ2d3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJyZXZpZXdzIilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXTsKCQl2YXIgbHNucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlc3NvbnMiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3BhbiIpWzBdOwoJCgkJaWYgKHRlc3RBbGxEb25lIHx8IChydndzID09IDAgJiYgbHNucyA9PSAwKSkgewoKCQkJY29uc29sZS5sb2coImFsbCB0dXJ0bGVzIGJ1cm5lZCEiKTsKCgkJCS8vIHNldCBmbGFnCgkJCXNlc3Npb25TdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBBbGxCdXJuZWQiLCAxKTsKCgkJCS8vIHJldHVybiBzb21lIG90aGVyd2lzZS1pbXBvc3NpYmxlIGFycmF5IHNvIHRoYXQgd2UnbGwgZ2V0IGludG8gZGlzcGxheU1pbGVzdG9uZXMoKQoJCQljb25zb2xlLmxvZygicmV0dXJuaW5nIFsxLDEsMSwxXSIpOwkKCQkJcmV0dXJuIFsxLCAxLCAxLCAxXTsKCQl9Cgl9CgoJZm9yICh2YXIgeD0wOyB4IDwgbmV4dE1pbGVzdG9uZXMubGVuZ3RoOyB4KyspIHsKCgkJaWYgKHR1cnRsZUNvdW50c1t4KzFdID49IG5leHRNaWxlc3RvbmVzW3hdKSB7IC8vIHR1cnRsZUNvdW50c1tdIGluY2x1ZGVzIEFwcHJlbnRpY2UgaXRlbXMsIG5leHRNaWxlc3RvbmVzW10gZG9lcyBub3QKCQkJCgkJCWFjaGlldmVtZW50c1t4XSA9IG5leHRNaWxlc3RvbmVzW3hdOwoJCQluZXh0TWlsZXN0b25lc1t4XSA9IGdldE5leHRNaWxlc3RvbmUoIHR1cnRsZUNvdW50c1t4KzFdICk7CgkJCWdvdE9uZSsrOwoKCQl9IGVsc2UgewoJCQlhY2hpZXZlbWVudHNbeF0gPSAwOwoJCX0KCX0KCgljb25zb2xlLmxvZygiYWNoaWV2ZW1lbnRzOiAiLCBKU09OLnN0cmluZ2lmeShhY2hpZXZlbWVudHMpKTsKCglpZiAoZ290T25lICE9IDApIHsKCgkJY29uc29sZS5sb2coImNoZWNrTWlsZXN0b25lcygpIHJldHVybmluZyBhY2hpZXZlbWVudHMiKTsKCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cE1pbGVzdG9uZXMiLCBKU09OLnN0cmluZ2lmeShuZXh0TWlsZXN0b25lcykpOwoJCXJldHVybiBhY2hpZXZlbWVudHM7CgoJfSBlbHNlIHsKCQljb25zb2xlLmxvZygiY2hlY2tNaWxlc3RvbmVzKCkgcmV0dXJuaW5nIG51bGwiKTsKCQlyZXR1cm4gbnVsbDsKCX0KfQoKCmZ1bmN0aW9uIGRpc3BsYXlNaWxlc3RvbmVzICggbWlsZXN0b25lcyApIHsKCgljb25zb2xlLmxvZygnZGlzcGxheU1pbGVzdG9uZXMoKSBzdGFydCcpOwoJdmFyIG1zZyA9IGdldCgic2VhcmNoIik7CiAgICAJdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAl2YXIgdGhlSW1nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBJbWdVUkwiKTsKCXZhciB0aGVUeHQgPSAiPGJyLz4iOwoJdmFyIGxhYmVscyA9IFsiIEd1cnUgdHVydGxlISIsICIgTWFzdGVyIHR1cnRsZSEiLCAiIEVubGlnaHRlbmVkIHR1cnRsZSEiLCAiIEJ1cm5lZCB0dXJ0bGUhIl07CiAJdmFyIHRoZVBvcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nUG9zIikgfHwgIkxFRlQiOwoKICAgIHN3aXRjaCh0aGVQb3MudG9VcHBlckNhc2UoKSkgewoKICAgICAgICBjYXNlICJCRUxPVyI6CiAgICAgICAgY2FzZSAiVU5ERVIiOgogICAgICAgIGNhc2UgIlVOREVSTkVBVEgiOgogICAgICAgIGNhc2UgIkRPV04iOgogICAgICAgIGNhc2UgIkJPVFRPTSI6CiAgICAgICAgY2FzZSAi44GX44GfIjoKICAgICAgICBjYXNlICLkuIsiOgogICAgICAgICAgICB0LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJXS2x2bHVwVHh0IiBzdHlsZT0ibWFyZ2luOmF1dG87dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTEwJTtmb250LXNpemU6MzAwJSI+IDwvZGl2PicrCiAgICAgICAgICAgICAgICAnPGltZyBpZD0iV0tsdmx1cEltZyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG8iPiA8L2ltZz4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJBQk9WRSI6CiAgICAgICAgY2FzZSAiVE9QIjoKICAgICAgICBjYXNlICJVUCI6CiAgICAgICAgY2FzZSAiT1ZFUiI6CiAgICAgICAgY2FzZSAiT04gVE9QIE9GIjoKICAgICAgICBjYXNlICJDRU5URVIiOgogICAgICAgIGNhc2UgIkNFTlRFUkVEIjoKICAgICAgICBjYXNlICLjgYbjgYgiOgogICAgICAgIGNhc2UgIuS4iiI6CiAgICAgICAgY2FzZSAi44Gq44GLIjoKICAgICAgICBjYXNlICLkuK0iOgogICAgICAgIGNhc2UgIuOBoeOCheOBhuOBiuOBhiI6CiAgICAgICAgY2FzZSAi5Lit5aSuIjoKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSAnPGltZyBpZD0iV0tsdmx1cEltZyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG8iPiA8L2ltZz4nKwogICAgICAgICAgICAgICAgJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAJCSc8L2Rpdj4nOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAiTEVGVCI6CiAgICAgICAgY2FzZSAiQVQgTEVGVCI6CiAgICAgICAgY2FzZSAiT04gTEVGVCI6CiAgICAgICAgY2FzZSAiT04gVEhFIExFRlQiOgogICAgICAgIGNhc2UgIkxFRlQgT0YiOgogICAgICAgIGNhc2UgIlRPIFRIRSBMRUZUIE9GIjoKICAgICAgICBjYXNlICLjgbLjgaDjgooiOgogICAgICAgIGNhc2UgIuW3piI6CiAgICAgICAgY2FzZSAi44Gy44Gg44KK44GM44KPIjoKICAgICAgICBjYXNlICLlt6blgbQiOgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gJzxpbWcgaWQ9IldLbHZsdXBJbWciIHN0eWxlPSJmbG9hdDpsZWZ0O21hcmdpbjoyMHB4Ij4gPC9pbWc+JysKICAgICAgICAgICAgICAgICc8ZGl2IGlkPSJXS2x2bHVwVHh0IiBzdHlsZT0ibWFyZ2luOjIwcHg7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAJCSc8L2Rpdj4nOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAiUklHSFQiOgogICAgICAgIGNhc2UgIkFUIFJJR0hUIjoKICAgICAgICBjYXNlICJPTiBSSUdIVCI6CiAgICAgICAgY2FzZSAiT04gVEhFIFJJR0hUIjoKICAgICAgICBjYXNlICJSSUdIVCBPRiI6CiAgICAgICAgY2FzZSAiVE8gVEhFIFJJR0hUIE9GIjoKICAgICAgICBjYXNlICJNSUdJIjoKICAgICAgICBjYXNlICLjgb/jgY4iOgogICAgICAgIGNhc2UgIuWPsyI6CiAgICAgICAgY2FzZSAi44G/44GO44GM44KPIjoKICAgICAgICBjYXNlICLlj7PlgbQiOgogICAgICAgICAgICB0LmlubmVySFRNTCA9ICc8aW1nIGlkPSJXS2x2bHVwSW1nIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWFyZ2luOjIwcHgiPiA8L2ltZz4nKwogICAgICAgICAgICAgICAgJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46MjBweDtmbG9hdDpyaWdodDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAJCSc8L2Rpdj4nOwogICAgICAgICAgICBicmVhazsKCiAgICB9CgogICAgdC5zdHlsZS53aWR0aCA9ICIxMjAwcHgiOwogICAgdC5zdHlsZS5tYXJnaW4gPSAiYXV0byI7CgogICAgbXNnLmFwcGVuZENoaWxkKHQpOwoKCXZhciB0aGluZzEgPSBnZXQoIldLbHZsdXBJbWciKTsKCWlmICh0aGluZzEgJiYgdGhlSW1nKSB7CgkJdGhpbmcxLnNyYyA9IHRoZUltZzsKCX0KCgl2YXIgYWxsRG9uZVdLID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cEFsbEJ1cm5lZCIpOwoJCglpZiAoYWxsRG9uZVdLICYmIGFsbERvbmVXSyA9PSAxKSB7CgoJCXRoZVR4dCArPSAiQUxMIFRVUlRMRVMgQlVSTkVEITxici8+V0FOSUtBTkkgQ09NUExFVEUhIjsKCQkvL3Nlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oIldLbHZsdXBUZXN0QWxsQnVybmVkIik7Cgl9IGVsc2UgewoKCQlmb3IgKHZhciB4ID0gbWlsZXN0b25lcy5sZW5ndGggLSAxOyB4ID49IDA7IHgtLSkgewoKCQkJaWYgKG1pbGVzdG9uZXNbeF0gPT0gMSkgewoKCQkJCXRoZVR4dCArPSAiRmlyc3QiICsgbGFiZWxzW3hdICsgIjxici8+IjsKCQkJfQoJCQllbHNlIGlmIChtaWxlc3RvbmVzW3hdICE9IDApIHsKCgkJCQl0aGVUeHQgKz0gbWlsZXN0b25lc1t4XSArICJ0aCIgKyBsYWJlbHNbeF0gKyAiPGJyLz4iOwoJCQl9CgkJfQoJfQoKICAgIHZhciBjdXN0b21CdXJuTGFiZWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tCTFJCdXJuTGV2ZWxOYW1lIikgfHwgIkJ1cm5lZCI7CiAgICBpZiAoY3VzdG9tQnVybkxhYmVsICYmIChjdXN0b21CdXJuTGFiZWwgIT0gIkJ1cm5lZCIpKSB7CiAgICAgICAgdmFyIG5ld1RleHQgPSB0aGVUeHQucmVwbGFjZSgiQnVybmVkIiwgY3VzdG9tQnVybkxhYmVsKTsKICAgICAgICBpZiAobmV3VGV4dCA9PSB0aGVUeHQpIHsKICAgICAgICAgICAgdmFyIG5ld0NCTCA9IGN1c3RvbUJ1cm5MYWJlbC50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgICBuZXdUZXh0ID0gdGhlVHh0LnJlcGxhY2UoIkJVUk5FRCIsIG5ld0NCTCk7CiAgICAgICAgfQogICAgICAgIHRoZVR4dCA9IG5ld1RleHQ7CiAgICB9CgoJdmFyIHRoaW5nMiA9IGdldCgiV0tsdmx1cFR4dCIpOwoKCWlmICh0aGluZzIpIHsKCgkJdGhpbmcyLmlubmVySFRNTD0gdGhlVHh0OwoJfSAKCgljb25zb2xlLmxvZygnZGlzcGxheU1pbGVzdG9uZXMoKSBlbmQnKTsKfQoKCgpmdW5jdGlvbiBtYWluICgpIHsKCgl2YXIgY3VyTGV2ZWw7CgoJY29uc29sZS5sb2coIm1haW4oKSIpOwoKCWluaXQoKTsKCglHTXNldHVwKCk7CgoJY3VyTGV2ZWwgPSBjaGVja0xldmVsKCk7CgoJdmFyIGxhc3RLbm93bkxldmVsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBQcmV2TGV2ZWwiKSB8fCAxOwoKCWlmIChjdXJMZXZlbCAhPSBsYXN0S25vd25MZXZlbCkgeyByZXR1cm47IH0KCglpZiAoc2hvdWxkRGlzcGxheSgpKSB7CgoJCXZhciBkdXJ0ZXh0ID0gZ2V0KCJXS2x2bGR1clR4dCIpOwoKCQlpZiAoZHVydGV4dCkgeyBkdXJ0ZXh0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZHVydGV4dCk7IH0gIC8vIG92ZXJyaWRlIFdLIExldmVsIER1cmF0aW9uIHNjcmlwdAoKCQlkaXNwbGF5TGV2ZWxVcE1lc3NhZ2UoIGN1ckxldmVsICk7CgoJfSBlbHNlIHsKCgkJdmFyIG1pbGVzdG9uZXMgPSBjaGVja01pbGVzdG9uZXMoIGN1ckxldmVsICk7CgoJCWlmIChtaWxlc3RvbmVzKSB7CgoJCQl2YXIgZHVydGV4dCA9IGdldCgiV0tsdmxkdXJUeHQiKTsKCgkJCWlmIChkdXJ0ZXh0KSB7IGR1cnRleHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkdXJ0ZXh0KTsgfSAgLy8gb3ZlcnJpZGUgV0sgTGV2ZWwgRHVyYXRpb24gc2NyaXB0CgoJCQlkaXNwbGF5TWlsZXN0b25lcyggbWlsZXN0b25lcyApOwoKCQl9IAoJfQp9Cgp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIG1haW4sIGZhbHNlKTsKCmNvbnNvbGUubG9nKCdzY3JpcHQgbG9hZCBlbmQnKTsK", 332 - "storage": { 333 - "data": {}, 334 - "ts": 1607436649632 335 - }, 336 - "uuid": "f56e4394-b554-42b3-b894-0263a9d2f095" 337 - }, 338 - { 339 - "enabled": false, 340 - "file_url": "https://greasyfork.org/scripts/26481-wanikani-katakana-madness/code/WaniKani%20Katakana%20Madness.user.js", 341 - "name": "WaniKani Katakana Madness", 342 - "options": { 343 - "awareOfChrome": false, 344 - "check_for_updates": true, 345 - "comment": null, 346 - "compat_arrayleft": false, 347 - "compat_foreach": false, 348 - "compat_forvarin": false, 349 - "compat_metadata": false, 350 - "compat_powerful_this": null, 351 - "compat_uW_gmonkey": false, 352 - "compat_wrappedjsobject": false, 353 - "compatopts_for_requires": true, 354 - "noframes": null, 355 - "override": { 356 - "merge_connects": true, 357 - "merge_excludes": true, 358 - "merge_includes": true, 359 - "merge_matches": true, 360 - "orig_excludes": [], 361 - "orig_includes": [ 362 - "https://www.wanikani.com/*", 363 - "http://www.wanikani.com/*" 364 - ], 365 - "orig_matches": [], 366 - "orig_noframes": null, 367 - "orig_run_at": "document-end", 368 - "use_blockers": [], 369 - "use_connects": [], 370 - "use_excludes": [ 371 - "https://www.wanikani.com/lesson/*" 372 - ], 373 - "use_includes": [], 374 - "use_matches": [] 375 - }, 376 - "run_at": null, 377 - "tab_types": null 378 - }, 379 - "position": 8, 380 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBXYW5pS2FuaSBLYXRha2FuYSBNYWRuZXNzCi8vIEBhdXRob3IgICAgICAgTHVrZS1GaWxld2Fsa2VyCi8vIEBuYW1lc3BhY2UgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9lbi9zY3JpcHRzLzI2NDgxLXdhbmlrYW5pLWthdGFrYW5hLW1hZG5lc3MKLy8gQGluY2x1ZGUgICAgICBodHRwczovL3d3dy53YW5pa2FuaS5jb20vKgovLyBAaW5jbHVkZSAgICAgIGh0dHA6Ly93d3cud2FuaWthbmkuY29tLyoKLy8gQHZlcnNpb24gICAgICAxLjAuOAovLyBAZGVzY3JpcHRpb24gIFRyYW5zZm9ybXMgZXZlcnl0aGluZyByZWxhdGVkIHRvIG9uJ3lvbWkgaW50byBrYXRha2FuYQovLyBAcnVuLWF0ICAgICAgIGRvY3VtZW50LWVuZAovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gQGxpY2Vuc2UgICAgICBHUEwgdjMuMAovLyA9PS9Vc2VyU2NyaXB0PT0KCi8qCiogS2FuamkgaW1wb3J0YW50IHJlYWRpbmcgKDE6IG9ueW9taSwgMDoga3VueW9taSkKKiBTYXZlZCBsb2NhbHksIHRvIHVwZGF0ZSBlbnRlciBhcGlLZXkgYW5kIHVzZSBmdW5jdGlvbiBvbiB0aGUgYm90dG9tIG9mIHRoZSBzY3JpcHQKKi8KdmFyIGFwaUtleSA9ICJrZXkiOwp2YXIga2FuamlZb21pUExFQVNBTlQgPSB7IuS4gCI6MSwi5LqMIjoxLCLkuZ0iOjEsIuS4gyI6MSwi5Lq6IjoxLCLlhaUiOjEsIuWFqyI6MSwi5YqbIjoxLCLljYEiOjEsIuS4iSI6MSwi5LiKIjoxLCLkuIsiOjEsIuWPoyI6MSwi5aSnIjoxLCLlpbMiOjEsIuWxsSI6MSwi5bedIjowLCLlt6UiOjEsIuWIgCI6MSwi5ZyfIjoxLCLljYMiOjEsIuWklSI6MCwi5a2QIjoxLCLlsI8iOjEsIuS4gSI6MSwi5LqGIjoxLCLlj4giOjAsIuS4uCI6MCwi5omNIjoxLCLkuK0iOjEsIuS6lCI6MSwi5YWtIjoxLCLlhoYiOjEsIuWkqSI6MSwi5omLIjowLCLmlociOjEsIuaXpSI6MSwi5pyIIjoxLCLmnKgiOjEsIuawtCI6MSwi54GrIjoxLCLniqwiOjAsIueOiyI6MSwi5Ye6IjoxLCLlm5siOjEsIuWPsyI6MSwi5bemIjoxLCLmnKwiOjEsIuatoyI6MSwi55SwIjowLCLnjokiOjAsIueZvSI6MSwi55uuIjowLCLnq4siOjEsIuOAhSI6MCwi5rC3IjowLCLomasiOjAsIuefsyI6MSwi5LiWIjoxLCLkuLsiOjEsIuS7liI6MSwi5LujIjoxLCLlhpkiOjEsIuWOuyI6MSwi5Y+3IjoxLCLlubMiOjEsIuaJkyI6MSwi55SzIjowLCLnmr8iOjAsIuekvCI6MSwi5LyRIjoxLCLlhYgiOjEsIuWQjSI6MSwi5a2XIjoxLCLlubQiOjEsIuaXqSI6MSwi5rCXIjoxLCLnmb4iOjEsIueruSI6MCwi57O4IjowLCLmnZEiOjAsIuiAsyI6MCwi55S3IjoxLCLnlLoiOjEsIuiKsSI6MCwi6KaLIjowLCLosp0iOjAsIui1pCI6MCwi6LazIjoxLCLou4oiOjEsIuS4jSI6MSwi5LuVIjoxLCLlrp0iOjEsIuWkriI6MSwi5LqhIjoxLCLljJYiOjEsIuS4oSI6MSwi5ZywIjoxLCLlhagiOjEsIuWQkSI6MSwi5a6JIjoxLCLlt54iOjEsIuaciSI6MSwi5puyIjoxLCLmrKEiOjEsIuatuyI6MSwi576KIjoxLCLooYAiOjEsIuS6rCI6MSwi5Zu9IjoxLCLlpJwiOjEsIuWmuSI6MSwi5aeJIjoxLCLlupciOjEsIuaYjiI6MSwi5p2xIjoxLCLmrakiOjEsIueUuyI6MSwi55u0IjoxLCLnn6UiOjEsIumVtyI6MSwi5YmNIjoxLCLljZciOjEsIuWupCI6MSwi5b6MIjoxLCLmgJ0iOjEsIuaYnyI6MSwi5rW3IjoxLCLmtLsiOjEsIuenkSI6MSwi54K5IjoxLCLojLYiOjEsIumjnyI6MSwi6aaWIjowLCLnp4EiOjEsIum7hCI6MCwi6buSIjoxLCLmrKAiOjEsIuawjyI6MSwi55SxIjoxLCLmnK0iOjEsIuawkSI6MSwi6L66IjoxLCLku5giOjAsIuS7pSI6MSwi5aSxIjoxLCLlv4UiOjEsIuacqiI6MSwi5pyrIjoxLCLmoKEiOjEsIuWkjyI6MCwi5a62IjoxLCLlvLEiOjEsIuaZgiI6MSwi57SZIjowLCLoqJgiOjEsIumrmCI6MSwi6YCaIjoxLCLlvLciOjEsIuaVmSI6MSwi55CGIjoxLCLntYQiOjEsIuiIuSI6MSwi6YCxIjoxLCLpm6oiOjAsIumtmiI6MSwi6bOlIjoxLCLpoqgiOjEsIumdkiI6MSwi6IKJIjoxLCLnsbMiOjEsIuWFhCI6MSwi55quIjoxLCLkuqQiOjEsIuS8miI6MSwi5YWJIjoxLCLlkIwiOjEsIuWbniI6MSwi5aSaIjoxLCLlvZMiOjEsIuavjiI6MSwi5769IjowLCLogIMiOjEsIuiHqiI6MSwi6ImyIjowLCLooYwiOjEsIuilvyI6MSwi5L2VIjowLCLkvZMiOjEsIuS9nCI6MSwi5ZuzIjoxLCLlo7AiOjAsIuW8nyI6MSwi5b2iIjoxLCLmnaUiOjEsIuekviI6MSwi6KeSIjoxLCLoqIAiOjEsIui1sCI6MSwi6LC3IjowLCLov5EiOjEsIumHjCI6MCwi6bqmIjowLCLlraYiOjEsIuaelyI6MCwi56m6IjoxLCLph5EiOjEsIumbqCI6MCwi6I2JIjowLCLpn7MiOjEsIuaxoCI6MSwi5Y+NIjoxLCLmlK8iOjEsIuS9jyI6MSwi5YqpIjoxLCLlkJsiOjEsIuWMuyI6MSwi5a++IjoxLCLlsYAiOjEsIuaKlSI6MSwi5b25IjoxLCLmsboiOjEsIueptiI6MSwi6LqrIjoxLCLogIUiOjEsIueglCI6MSwi5aC0IjoxLCLmnJ0iOjAsIueVqiI6MSwi562UIjowLCLntbUiOjEsIuiytyI6MCwi6YGTIjoxLCLplpMiOjEsIumbsiI6MCwi5pWwIjoxLCLoqbEiOjEsIualvSI6MSwi5omAIjoxLCLmo64iOjAsIumbuyI6MSwi6aasIjoxLCLkuIciOjEsIuS7iiI6MSwi5YWDIjoxLCLlhawiOjEsIuWGhSI6MSwi5YiGIjoxLCLliIciOjEsIuWPiyI6MSwi5Y2IIjoxLCLlpKoiOjEsIuWwkSI6MSwi5byVIjowLCLlv4MiOjEsIuaIuCI6MCwi5pa5IjoxLCLniZsiOjEsIueItiI6MCwi5q+bIjoxLCLlhqwiOjAsIuWMlyI6MSwi5Y2KIjoxLCLlj6QiOjEsIuWPsCI6MSwi5aSWIjoxLCLluIIiOjEsIuW6gyI6MCwi5q+NIjowLCLnlKgiOjEsIuefoiI6MCwi55SfIjoxLCLmraIiOjEsIuiQvSI6MSwi6IGeIjoxLCLmqKoiOjAsIumAsiI6MSwi6LuiIjoxLCLovrIiOjEsIumJhCI6MSwi6JGJIjowLCLmnIAiOjEsIue1giI6MSwi57+SIjoxLCLmrYwiOjEsIuiqniI6MSwi6KqtIjowLCLps7QiOjAsIue3miI6MSwi6ZuGIjoxLCLpo7IiOjAsIualrSI6MSwi5ryiIjoxLCLlp4siOjEsIui1tyI6MCwi6YCfIjoxLCLphY0iOjEsIumFkiI6MSwi6ZmiIjoxLCLot68iOjEsIui7vSI6MCwi6YGLIjoxLCLplosiOjEsIueulyI6MSwi6aCtIjowLCLoqr8iOjEsIuimqiI6MSwi6aGUIjowLCLnl4UiOjEsIuaxgiI6MSwi5pawIjoxLCLov5QiOjEsIuWumiI6MSwi5aOyIjoxLCLkuosiOjEsIuS9vyI6MSwi5YW3IjoxLCLlj5ciOjEsIuWSjCI6MSwi5a6fIjoxLCLmnI0iOjEsIuazsyI6MCwi54mpIjoxLCLoi6YiOjEsIuihqCI6MSwi6YOoIjoxLCLkuZciOjAsIuWuoiI6MSwi5bGLIjowLCLluqYiOjEsIueVjCI6MSwi5oyBIjoxLCLnmboiOjEsIuebuCI6MSwi55yMIjoxLCLnvo4iOjEsIuiyoCI6MSwi6YCBIjoxLCLph40iOjEsIuirhyI6MSwi6KaBIjoxLCLli50iOjEsIuS7riI6MSwi5LqIIjoxLCLkv50iOjEsIuippiI6MSwi6aiTIjoxfTsKdmFyIGthbmppWW9taVBBSU5GVUwgPSB7IuW7uiI6MSwi54yrIjowLCLlj7giOjEsIuWkqyI6MSwi6aOvIjoxLCLli4ciOjEsIuWNmCI6MSwi5a+6IjowLCLlsqkiOjAsIuaZtCI6MCwi56eLIjowLCLluLAiOjAsIuaYpSI6MCwi5pi8IjowLCLoqIgiOjEsIuWIlyI6MSwi5Yy6IjoxLCLlnYIiOjAsIuS/oSI6MSwi5byPIjoxLCLlpIkiOjEsIuaYqCI6MSwi5q+SIjoxLCLms5UiOjEsIuazoyI6MCwi5rWFIjowLCLoi7EiOjEsIue0gCI6MSwi6LuNIjoxLCLnr4kiOjEsIuS7jyI6MSwi5pmpIjoxLCLkuIgiOjEsIumKgCI6MSwi6KydIjoxLCLnhLYiOjEsIumkiiI6MSwi5oSfIjoxLCLmqYsiOjAsIuipqSI6MSwi6aGMIjoxLCLlrr8iOjEsIumhmCI6MSwi6aeFIjoxLCLlmagiOjEsIuWjqyI6MSwi6KqyIjoxLCLllY8iOjEsIuaVtCI6MSwi5pqXIjoxLCLmp5giOjAsIuemjyI6MSwi57eRIjowLCLnt7QiOjEsIumkqCI6MSwi5YSEIjoxLCLmlpkiOjEsIuaomSI6MSwi5q66IjoxLCLnhrEiOjEsIuizniI6MSwi6YG4IjoxLCLovKoiOjEsIumPoSI6MCwi5oOFIjoxLCLmmKAiOjEsIueWkSI6MSwi55qGIjowLCLmg7MiOjEsIuWDjyI6MSwi5bmyIjoxLCLpnZ4iOjEsIueEoSI6MSwi5pivIjoxLCLntZAiOjEsIue0sCI6MSwi5oKyIjoxLCLolqwiOjEsIuWOnyI6MSwi6by7IjowLCLlgbQiOjAsIuWFtSI6MSwi5aCCIjoxLCLloakiOjAsIuW4rSI6MSwi5pWXIjoxLCLmooUiOjAsIuWboCI6MSwi5bi4IjoxLCLorZgiOjEsIua4iSI6MSwi6JmaIjoxLCLlrpgiOjEsIuWvnyI6MSwi5bqVIjowLCLmhJsiOjEsIue9siI6MSwi6K2mIjoxLCLmgYsiOjEsIuimmiI6MSwi6KqsIjoxLCLlubsiOjEsIuipsyI6MSwi5YqHIjoxLCLllpwiOjEsIuaenCI6MSwi5qCEIjoxLCLoiIwiOjAsIue2miI6MSwi5YqgIjoxLCLnr4AiOjEsIua4myI6MSwi6aCGIjoxLCLlrrkiOjEsIuW4gyI6MSwi5piTIjoxLCLoi6UiOjAsIuiyoSI6MSwi6KmeIjoxLCLmmIYiOjEsIumWpSI6MSwi5q20IjoxLCLlhooiOjEsIuWuhyI6MSwi5a6ZIjoxLCLlv5kiOjEsIuWxpSI6MSwi5ZujIjoxLCLmmrQiOjEsIua3tyI6MSwi5LmxIjoxLCLlvpIiOjEsIuW+lyI6MSwi5pS5IjoxLCLpgKMiOjEsIuWWhCI6MSwi57WhIjoxLCLmr5QiOjEsIuWPsiI6MSwi56ybIjoxLCLoirgiOjEsIuauiyI6MSwi5Y2SIjoxLCLlrowiOjEsIuW/tSI6MSwi5pybIjoxLCLmoLwiOjEsIuiDvSI6MSwi5aalIjoxLCLmnZ8iOjEsIumbsCI6MSwi5p2+IjowLCLkvosiOjEsIuWNlCI6MSwi5Y+CIjoxLCLlkagiOjEsIuWbuiI6MSwi5ZuyIjoxLCLlraMiOjEsIuW4jCI6MSwi5oqYIjoxLCLmnZAiOjEsIue0hCI6MSwi55qEIjoxLCLln7oiOjEsIuaApyI6MSwi5oqAIjoxLCLooZMiOjEsIumqqCI6MSwi6aCRIjoxLCLoqLwiOjEsIumBoCI6MSwi5ZOBIjoxLCLnrJEiOjAsIueVmSI6MSwi5ZySIjoxLCLmm5wiOjEsIuabuCI6MSwi6ZaAIjoxLCLlj5YiOjEsIuS/giI6MSwi5YW4IjoxLCLlrogiOjEsIuW5uCI6MSwi5oClIjoxLCLnnJ8iOjEsIueusSI6MCwi6I23IjowLCLpnaIiOjEsIuW6nCI6MSwi5rK7IjoxLCLmtbQiOjEsIui+niI6MSwi6ZaiIjoxLCLmlL8iOjEsIuW8gSI6MSwi6Zm6IjoxLCLljbEiOjEsIuWtmCI6MSwi5bCCIjoxLCLlhpIiOjEsIuWGlyI6MSwi6ZiqIjoxLCLlk6EiOjEsIumajiI6MSwi5YuJIjoxLCLnrKwiOjEsIumDvSI6MSwi5b6FIjoxLCLmt7EiOjEsIuerpSI6MSwi5bqtIjoxLCLml4UiOjEsIuaguSI6MSwi5rWBIjoxLCLmtogiOjEsIuWAjSI6MSwi5bO2IjowLCLnpa0iOjEsIueroCI6MSwi5YuVIjoxLCLllYYiOjEsIuaCqiI6MSwi5pePIjoxLCLnkIMiOjEsIumZvSI6MSwi5a+SIjowLCLmmpEiOjAsIuacnyI6MSwi5qSNIjoxLCLmra8iOjAsIua4qSI6MSwi5rivIjoxLCLmua8iOjAsIueZuyI6MSwi552AIjoxLCLph44iOjEsIuefrSI6MSwi5rOJIjoxLCLlkIgiOjEsIuaBryI6MSwi5YOVIjoxLCLoqJMiOjEsIuW8kyI6MSwi5ZGKIjoxLCLnqK4iOjEsIumBlCI6MSwi6aGeIjoxLCLloLEiOjEsIuetiSI6MSwi56WIIjoxLCLmsb0iOjEsIuWAnyI6MSwi54S8IjowLCLlv5giOjEsIuW6pyI6MSwi5rSXIjoxLCLog7giOjAsIuWDpyI6MSwi6ISzIjoxLCLnpoUiOjEsIuWPryI6MSwi6KixIjoxLCLmnpoiOjEsIuWPpSI6MSwi6Z2ZIjoxLCLnpoEiOjEsIuWWqyI6MSwi54WZIjoxLCLlpKIiOjEsIueBvSI6MSwi55SjIjoxLCLnqbQiOjAsIuWbsCI6MSwi5qmfIjoxLCLlrrMiOjEsIueOhyI6MSwi6aObIjoxLCLkvZkiOjEsIumboyI6MSwi5aaoIjoxLCLooqsiOjEsIuijlSI6MSwi5bC7IjowLCLpnIciOjEsIuWwviI6MSwi5qKwIjoxLCLnoroiOjEsIuWrjCI6MSwi5YCLIjoxLCLlnKciOjEsIuWcqCI6MSwi5YCSIjoxLCLoh60iOjAsIuWOmiI6MCwi5aa7IjoxLCLorbAiOjEsIueKryI6MSwi572qIjoxLCLpmLIiOjEsIuirliI6MSwi57WMIjoxLCLmiJAiOjEsIuWRsyI6MSwi5L2OIjoxLCLmi74iOjAsIuS8nSI6MSwi6ICBIjoxLCLkvY0iOjEsIuWIqSI6MSwi5YqqIjoxLCLnibkiOjEsIuaUviI6MSwi5LqJIjoxLCLku7IiOjAsIuWFsSI6MSwi5aW9IjoxLCLliJ0iOjEsIuWIpSI6MSwi5Yq0IjoxLCLlkb0iOjEsIuWyuCI6MSwi5piUIjowLCLms6IiOjEsIuazqCI6MSwi6IKyIjoxLCLmjIciOjEsIua0iyI6MSwi56WeIjoxLCLmiKYiOjEsIuenkiI6MSwi57SaIjoxLCLov70iOjAsIuertiI6MSwi6ImvIjoxLCLlip8iOjEsIuS+vyI6MSwi5LukIjoxLCLlg40iOjEsIuaEjyI6MX07CnZhciBrYW5qaVlvbWlERUFUSCA9IHsi5bGFIjoxLCLoo5wiOjEsIumuriI6MSwi6ZmQIjoxLCLkuI4iOjEsIuWQqyI6MSwi5b2xIjoxLCLms4EiOjEsIua4oSI6MCwi6Z+/IjoxLCLnpagiOjEsIuaZryI6MSwi5oqcIjowLCLoqLQiOjEsIuionyI6MSwi6YCuIjoxLCLlgJkiOjEsIuaniyI6MSwi5qihIjoxLCLmjZUiOjEsIuWKuSI6MSwi5bGeIjoxLCLmhaMiOjEsIuixiiI6MSwi5rqAIjoxLCLogqUiOjEsIuW3uyI6MSwi5o2cIjoxLCLntZ4iOjEsIumaoCI6MSwi6LypIjoxLCLmjpsiOjAsIuabvyI6MCwi576pIjoxLCLmlbUiOjEsIua4iCI6MSwi5aeUIjoxLCLmjJkiOjEsIuWItiI6MSwi5YikIjoxLCLli5kiOjEsIuafuyI6MSwi57ePIjoxLCLoqK0iOjEsIuizhyI6MSwi5qipIjoxLCLku7YiOjEsIua0viI6MSwi5bKhIjowLCLntKAiOjEsIuaWrSI6MSwi6KmVIjoxLCLku7siOjEsIuaJuSI6MSwi5qScIjoxLCLlr6kiOjEsIuadoSI6MSwi6LKsIjoxLCLnnIEiOjEsIueojiI6MSwi5aKXIjoxLCLop6MiOjEsIumamyI6MSwi6KqNIjoxLCLkvIEiOjEsIumsvCI6MSwi6Z2pIjoxLCLkv7MiOjEsIuijgSI6MSwi5ZG8IjowLCLlj44iOjEsIuWBnCI6MSwi6IG3IjoxLCLopo8iOjEsIuittyI6MSwi5YmyIjowLCLltI4iOjAsIua8lCI6MSwi5b6LIjoxLCLluKsiOjEsIueciyI6MSwi5rqWIjoxLCLliYciOjEsIuWwjiI6MSwi5YKZIjoxLCLlubkiOjEsIuW8tSI6MSwi5YSqIjoxLCLmsqIiOjEsIuWuhSI6MSwi5pa9IjoxLCLotIUiOjEsIuePviI6MSwi5LmzIjoxLCLln44iOjAsIuengCI6MSwi5oKpIjowLCLmmociOjEsIuiDgyI6MSwi6YOOIjoxLCLmi5siOjEsIuautSI6MSwi6IW5IjoxLCLnl5siOjEsIumAgCI6MSwi5bGIIjoxLCLnuZQiOjEsIuiyuCI6MCwi6L+3IjoxLCLmg5EiOjEsIuiqmCI6MSwi5bCxIjoxLCLnl4ciOjEsIuioqiI6MSwi5oCSIjoxLCLmmIciOjEsIuecoCI6MSwi552hIjoxLCLnt6AiOjEsIui/qyI6MSwi6Z20IjowLCLmv4MiOjEsIuerryI6MSwi5qW1IjoxLCLlgaUiOjEsIumAlCI6MSwi5bq3IjoxLCLntaYiOjEsIumbhCI6MSwi5aiYIjowLCLkub4iOjEsIueboyI6MSwi5p2vIjoxLCLlgqwiOjEsIuS/gyI6MSwi5qynIjoxLCLmsZ8iOjAsIuiriyI6MSwi6Z+TIjoxLCLlo4oiOjEsIuiouiI6MSwi6ZajIjoxLCLlg5oiOjEsIuepjSI6MSwi552jIjoxLCLnlaUiOjEsIuiHoyI6MSwi6IiqIjoxLCLlr4QiOjEsIuadvyI6MSwi6KGXIjoxLCLlrpciOjEsIue3iiI6MSwi5a60IjoxLCLmgZAiOjEsIuaAliI6MSwi5re7IjoxLCLnjJsiOjEsIueDiCI6MSwi57SiIjoxLCLoqbAiOjAsIuelnSI6MSwi5ouFIjoxLCLpoY0iOjEsIuijvSI6MSwi54eDIjoxLCLpgZUiOjAsIui8uCI6MSwi5bGKIjowLCLni60iOjAsIuiCqSI6MCwi6IWVIjowLCLohbAiOjAsIuinpiI6MSwi6KaWIjoxLCLovIkiOjEsIuWxpCI6MSwi5Z6LIjoxLCLluoEiOjEsIuW3riI6MSwi5q2mIjoxLCLnrqEiOjEsIuixoSI6MSwi6YePIjoxLCLlooMiOjEsIueSsCI6MSwi6LOqIjoxLCLov7AiOjEsIuS+myI6MSwi5bGVIjoxLCLosqkiOjEsIuagqiI6MCwi6LOAIjoxLCLlkIQiOjEsIuiqlSI6MSwi572wIjoxLCLohLEiOjEsIumBjiI6MSwi5Z2KIjoxLCLlr50iOjAsIuWuriI6MCwi5qGIIjoxLCLnva4iOjEsIuS+oSI6MSwi6LK7IjoxLCLli6IiOjEsIuWWtiI6MSwi56S6IjoxLCLntbEiOjEsIumgmCI6MSwi562WIjoxLCLol6QiOjAsIuWJryI6MSwi6KazIjoxLCLlgKQiOjEsIuWQuCI6MSwi5ae/IjoxLCLln58iOjEsIuW/nCI6MSwi5o+QIjoxLCLmj7QiOjEsIueKtiI6MSwi5oWLIjoxLCLpgKAiOjEsIuaOiCI6MSwi5Y2wIjoxLCLlibUiOjEsIuW+gCI6MSwi5b6pIjoxLCLovIMiOjEsIuethiI6MSwi6YmbIjoxLCLosq8iOjEsIuaIkSI6MSwi5pWFIjoxLCLpmpwiOjEsIuW+kyI6MSwi5r+AIjoxLCLliLoiOjEsIuWKsSI6MSwi6KiOIjoxLCLpg7UiOjEsIumHnSI6MSwi5b60IjoxLCLmgKoiOjEsIueNoyI6MSwi56qBIjoxLCLoj5MiOjEsIuaysyI6MSwi5rGXIjowLCLmjK8iOjEsIuixmiI6MCwi5YaNIjoxLCLmjqUiOjEsIueLrCI6MSwi5Y2gIjoxLCLlt6giOjEsIuWmmSI6MSwi6bqXIjoxLCLkuKYiOjEsIuWGtyI6MSwi5YemIjoxLCLpgIYiOjEsIuW6qyI6MSwi5YWQIjoxLCLlh40iOjEsIuW5vCI6MSwi56iaIjoxLCLljZoiOjEsIuWlhyI6MSwi5riFIjoxLCLmvZQiOjEsIumMsiI6MSwi5L+uIjoxLCLpmooiOjEsIuWIuCI6MSwi5ammIjoxLCLlvq4iOjEsIuebiiI6MSwi56e7IjoxLCLnsr4iOjEsIueoiyI6MSwi57W2IjoxLCLmhrIiOjEsIuihhiI6MSwi5YKYIjowLCLmtZwiOjAsIuaSgyI6MSwi5pS7IjoxLCLntroiOjEsIumthSI6MSwi57O7IjoxLCLmuIciOjAsIuWpmiI6MSwi6YGKIjoxLCLml5ciOjEsIueFpyI6MSwi5b+rIjoxLCLniYgiOjEsIuiypyI6MSwi5LmPIjoxLCLpgakiOjEsIumgkCI6MSwi5bu2IjoxLCLnv4wiOjEsIuimpyI6MSwi5oeQIjowLCLmirwiOjAsIuabtCI6MSwi5rWuIjowLCLmnpUiOjAsIua8jyI6MSwi56ymIjoxLCLos7wiOjEsIui2iiI6MSwi6aO+IjoxLCLpqJIiOjEsIuiDjCI6MSwi5pKuIjoxLCLnm5ciOjF9Owp2YXIga2FuamlZb21pSEVMTCA9IHsi6b2iIjoxLCLpnIAiOjEsIuWunCI6MCwi57mwIjowLCLpgb8iOjEsIuWmiiI6MSwi5aigIjoxLCLoh7QiOjEsIuWIiiI6MSwi5aWPIjoxLCLkvLQiOjEsIuS9tSI6MSwi5YK+IjoxLCLljbQiOjEsIuWlpSI6MCwi5oWuIjoxLCLmh7giOjEsIuaIvyI6MSwi5omxIjowLCLmipEiOjEsIuaKniI6MSwi5o+PIjoxLCLnm6QiOjEsIue3kiI6MSwi56ewIjoxLCLnt6kiOjAsIuiolyI6MSwi6LOEIjoxLCLos4IiOjEsIui0iCI6MSwi6YCDIjoxLCLpgoQiOjEsIuaLkiI6MSwi6Yi0IjoxLCLpgqYiOjEsIumYnCI6MSwi5bKQIjoxLCLpm4ciOjEsIumahiI6MSwi5o6nIjowLCLlo4EiOjAsIuajiyI6MSwi5riLIjoxLCLnvqQiOjEsIueJhyI6MCwi5LuZIjoxLCLlhYUiOjEsIuWFjSI6MSwi5YunIjoxLCLlnI8iOjEsIuWfiyI6MCwi5Z+8IjowLCLlpaoiOjAsIuW+oSI6MSwi5oWOIjoxLCLnlLIiOjEsIuaeoCI6MCwi5paQIjoxLCLnpYkiOjEsIueosiI6MCwi6KyZIjoxLCLorbIiOjEsIui6jSI6MSwi6YqDIjoxLCLpi7wiOjEsIumghSI6MSwi5aCAIjowLCLpmqMiOjEsIumhpyI6MSwi6aeQIjoxLCLpp4YiOjAsIuWUsSI6MSwi5p+xIjoxLCLlrZ0iOjEsIuS/iiI6MSwi5YW8IjoxLCLlkLkiOjAsIuWJpCI6MSwi5behIjoxLCLmiJIiOjEsIuaOkiI6MSwi5pC6IjoxLCLpi60iOjEsIuaVjyI6MSwi5pW3IjowLCLmrr8iOjEsIueKoCI6MSwi542yIjoxLCLojIIiOjEsIumbhSI6MSwi6aC7IjoxLCLnuYEiOjEsIuauliI6MSwi6KGdIjoxLCLoloQiOjEsIuiqiSI6MSwi6KSSIjoxLCLpgI8iOjEsIuWtqyI6MSwi5a+MIjoxLCLono0iOjEsIumboiI6MSwi57eoIjoxLCLoj68iOjEsIuaXoiI6MSwi5pmuIjoxLCLosaoiOjEsIumRkSI6MSwi6ZmkIjoxLCLlsIsiOjEsIuW5viI6MCwi5buKIjoxLCLmjoMiOjEsIuazpSI6MSwi6amaIjoxLCLmo5IiOjEsIuWYhiI6MSwi5YCJIjoxLCLlt6MiOjAsIuaVkSI6MSwi5bivIjoxLCLlvoQiOjEsIuaVoyI6MSwi57KJIjoxLCLohIgiOjEsIuiPnCI6MSwi6LKoIjoxLCLpmbgiOjEsIuS8vCI6MSwi5aKTIjoxLCLlnYciOjEsIuW+syI6MSwi5o6iIjoxLCLlgbUiOjEsIueUmCI6MCwi5bCGIjoxLCLml6ciOjEsIuWnkyI6MSwi6LK/IjoxLCLnm58iOjEsIumBuiI6MSwi5YK1IjoxLCLkvLgiOjAsIuWPiiI6MSwi5aWIIjoxLCLluYUiOjAsIuW7gyI6MSwi5o+bIjoxLCLmkZgiOjEsIuaguCI6MSwi57iEIjoxLCLmspYiOjAsIua0pSI6MCwi54yuIjoxLCLnmYIiOjEsIue2mSI6MSwi57atIjoxLCLkvI4iOjEsIuiIniI6MSwi6LiPIjoxLCLoiKwiOjEsIumgvCI6MSwi5L6dIjoxLCLoq74iOjEsIum5vyI6MCwi54mZIjoxLCLotoUiOjEsIuWFhiI6MSwi5oqxIjowLCLot6EiOjEsIuaIuyI6MCwi6LezIjoxLCLmmK0iOjEsIua8gSI6MSwi5YSfIjoxLCLli58iOjEsIuWIkSI6MSwi5Z+3IjoxLCLloYEiOjEsIuW0qSI6MSwi5oKjIjoxLCLmipciOjEsIuaKtSI6MSwi5pesIjoxLCLniIYiOjEsIua5viI6MSwi5by+IjoxLCLogbQiOjEsIumBoyI6MSwi6ZeYIjoxLCLpppkiOjEsIumZoyI6MSwi6IeoIjoxLCLliYoiOjEsIuWlkSI6MSwi5o6yIjoxLCLni5kiOjEsIuiRrCI6MSwi5oG1IjoxLCLolLUiOjEsIuewoSI6MSwi6ZaJIjoxLCLoqowiOjEsIueqkyI6MCwi5ZCmIjoxLCLnrYsiOjEsIuWegiI6MSwi5a6jIjoxLCLlsIoiOjEsIuW/oCI6MSwi5ouhIjoxLCLmk40iOjEsIuaVrCI6MSwi54GwIjowLCLnhp8iOjEsIueVsCI6MSwi55qHIjoxLCLnm5siOjEsIueggiI6MSwi5rygIjoxLCLns5YiOjEsIue0jSI6MSwi6IK6IjoxLCLokZciOjEsIuiSuCI6MSwi6KOFIjoxLCLoo48iOjAsIuiruCI6MSwi6LODIjoxLCLmmq4iOjEsIumGpCI6MSwi54KOIjoxLCLnoLQiOjEsIuadiSI6MCwi54aKIjowLCLphaIiOjAsIueNhCI6MSwi6YqFIjoxLCLpgYUiOjEsIua4rCI6MSwi5b2rIjoxLCLoiI4iOjEsIuismyI6MSwi5rueIjoxLCLku4siOjEsIue0uSI6MSwi5bexIjoxLCLljoQiOjEsIuS6gCI6MCwi5LqSIjoxLCLliaMiOjEsIuW9vCI6MCwi5a+/IjoxLCLmgaUiOjAsIuaxgSI6MSwi5ZmMIjoxLCLngroiOjEsIumFlCI6MSwi6Y2LIjowLCLmuZYiOjEsIuaJlSI6MCwi5rK5IjoxLCLkuYUiOjEsIuWNtSI6MCwi6L68IjowLCLluo8iOjEsIuW/lyI6MSwi6L+OIjoxLCLmgakiOjEsIuaOoSI6MSwi5qGcIjowLCLmsLgiOjEsIua2siI6MSwi55y8IjoxLCLnpZYiOjEsIue4viI6MSwi6IiIIjoxLCLooZsiOjEsIuikhyI6MSwi6ZuRIjoxLCLphbgiOjEsIuizmyI6MSwi6YqtIjoxLCLpo7wiOjAsIuWCtyI6MSwi5YWaIjoxLCLljrMiOjEsIuaNqCI6MCwi5a+GIjoxLCLmsZoiOjEsIuaaliI6MSwi5qyyIjoxLCLmnLoiOjAsIuenmCI6MSwi6KizIjoxLCLmn5MiOjEsIueIqiI6MCwi5oudIjoxLCLlpbQiOjEsIuixhiI6MSwi6KqkIjoxLCLoh5MiOjEsIuiytCI6MSwi6ZmNIjoxLCLkuLwiOjEsIuWQkCI6MCwi6Zq3IjoxLCLoiosiOjAsIue4riI6MSwi57SUIjoxLCLnuKYiOjAsIueyiyI6MSwi56OBIjoxLCLntIUiOjEsIuWwhCI6MSwi5bmVIjoxLCLolqYiOjEsIuaPriI6MSwi5o6oIjoxLCLmsr8iOjEsIua6kCI6MSwi5YukIjoxLCLmrZMiOjEsIuaJvyI6MSwi5p6dIjoxLCLmkI0iOjEsIuWIuyI6MSwi6IWQIjoxLCLogZYiOjF9Owp2YXIga2FuamlZb21pUEFSQURJU0UgPSB7IuaPoSI6MSwi57SbIjoxLCLns74iOjEsIuaeoiI6MSwi6Lu4IjoxLCLlhYsiOjEsIuWPjCI6MSwi5YiwIjoxLCLlk7IiOjEsIuWWqiI6MSwi5aCFIjowLCLmi6wiOjEsIuW6iiI6MSwi5bynIjoxLCLmjJEiOjEsIuaOmCI6MSwi5o+6IjoxLCLmj5oiOjEsIuaWjiI6MSwi5p6QIjoxLCLmmqsiOjEsIuaziiI6MSwi5p+EIjowLCLmvZ8iOjAsIua7kSI6MSwi56+EIjoxLCLnhKYiOjEsIue2sSI6MCwi57ayIjoxLCLogp0iOjEsIuiKnSI6MCwi6I2SIjowLCLooosiOjAsIuehrCI6MSwi5puHIjowLCLmvoQiOjEsIuefmyI6MSwi6IKMIjowLCLoiJ8iOjAsIueLqSI6MCwi5Ye2IjoxLCLpkJgiOjEsIuWhiiI6MCwi6aCDIjowLCLohJoiOjEsIumtgiI6MSwi5LqVIjoxLCLkuZ8iOjAsIuWRqiI6MCwi5ayiIjoxLCLmmqYiOjEsIuecuiI6MSwi6LOtIjowLCLoo7giOjEsIueWsiI6MSwi5Y2TIjoxLCLlob4iOjEsIuiPjCI6MSwi56OoIjowLCLpmbAiOjEsIua5vyI6MSwi6ZyKIjoxLCLlq4EiOjAsIueovCI6MSwi5rqdIjoxLCLni4IiOjEsIua7nSI6MCwi57+UIjowLCLloqgiOjAsIumzqSI6MCwi56mPIjoxLCLpiI0iOjEsIumtlCI6MSwi5a+uIjoxLCLmo58iOjEsIuebhiI6MSwi5ZC+IjowLCLmlqwiOjEsIuWvpyI6MSwi5qSFIjoxLCLmrbMiOjEsIua2vCI6MSwi54y/IjowLCLnnrMiOjEsIumNtSI6MCwi6Zu2IjoxLCLnooEiOjEsIuW5vSI6MSwi56efIjoxLCLms6EiOjEsIueZliI6MCwi6Y2bIjoxLCLpjKwiOjEsIuepgiI6MCwi5bidIjoxLCLoj4oiOjEsIueerCI6MSwi6KqHIjoxLCLluoQiOjEsIumYuyI6MSwi5L+1IjoxLCLpu5kiOjEsIue2vyI6MSwi5p62IjoxLCLlrZQiOjEsIuWUhyI6MCwi56CVIjoxLCLnspgiOjEsIueypyI6MSwi5qy6IjoxLCLoqZAiOjEsIumcpyI6MCwi5p+zIjoxLCLkvIoiOjEsIuS9kCI6MSwi556tIjoxLCLlsLoiOjEsIuWTgCI6MSwi5aGAIjoxLCLlpoIiOjEsIuWinCI6MSwi5amGIjoxLCLltJYiOjEsIuW4vSI6MSwi5bmjIjoxLCLmgagiOjEsIuaGjiI6MSwi5oapIjoxLCLmiYciOjEsIuaJiSI6MSwi5o6MIjoxLCLmjL8iOjEsIua7tCI6MSwi54KKIjoxLCLnlbMiOjEsIueIvSI6MCwi5664IjowLCLoiq8iOjEsIuiDtCI6MSwi6Jm5IjowLCLlt74iOjEsIumcnCI6MCwi6JqKIjowLCLpqI4iOjEsIuW4syI6MSwi6JuHIjowLCLovrEiOjEsIuiyvCI6MCwi6YmiIjoxLCLpl4ciOjAsIumamSI6MCwi6aOiIjoxLCLppJMiOjEsIueVnCI6MSwi6L+FIjoxLCLok4QiOjEsIuWwvSI6MSwi5b2pIjoxLCLmurYiOjEsIuaGtiI6MSwi6ICQIjoxLCLouIoiOjAsIuizoiI6MSwi6LydIjoxLCLnga8iOjEsIuiEhSI6MSwi6bq7IjoxLCLlkrIiOjAsIuaClCI6MSwi5Z+5IjoxLCLohIciOjAsIumBgiI6MSwi5aGXIjoxLCLnj60iOjEsIuaWnCI6MSwi5q60IjoxLCLnm74iOjEsIuepqyI6MSwi6ba0IjowLCLmt6EiOjEsIue0qyI6MSwi6aeSIjowLCLmir0iOjEsIuiqkyI6MSwi5oKfIjoxLCLmi5MiOjEsIuaLmCI6MSwi56SOIjoxLCLliIgiOjAsIuWJmyI6MSwi5ZSvIjoxLCLlsLwiOjEsIuWjhyI6MSwi5qaCIjoxLCLmtbgiOjEsIueFriI6MCwi6KaGIjoxLCLorIAiOjEsIumalCI6MSwi6Zm2IjoxLCLkv5ciOjEsIuW+gSI6MSwi6ZmbIjoxLCLmoZEiOjAsIua9pCI6MSwi54+gIjoxLCLoobAiOjEsIuWKoyI6MSwi5aWoIjoxLCLli5giOjEsIuWmgyI6MSwi6YKqIjoxLCLmkKwiOjEsIuWisyI6MSwi5b2wIjoxLCLpp4QiOjEsIuW7tyI6MSwi6KiCIjoxLCLlo64iOjEsIua8giI6MSwi6bCQIjowLCLon7kiOjAsIuewvyI6MSwi5pm2IjoxLCLou4wiOjEsIua2ryI6MSwi5benIjoxLCLls7AiOjEsIuWUkCI6MSwi6ayxIjoxLCLmvKsiOjEsIuirriI6MSwi6YqYIjoxLCLloLAiOjAsIuWgpCI6MSwi57+7IjoxLCLlkI4iOjEsIuWlriI6MSwi5LuwIjoxLCLkuq0iOjEsIuS8ryI6MSwi5YG2IjoxLCLmt4AiOjAsIuaKiiI6MSwi5rSeIjoxLCLnlqsiOjEsIuijgiI6MSwi57GNIjoxLCLmn5QiOjEsIuayiCI6MSwi5rK8IjowLCLoqrAiOjAsIuilsiI6MSwi6LKiIjoxLCLotqMiOjEsIui3nSI6MSwi5pyXIjoxLCLljbMiOjEsIuaXqCI6MSwi5aiBIjoxLCLnrZIiOjEsIuePjSI6MSwi6ZyyIjoxLCLliLciOjEsIueJpyI6MSwi5r2uIjoxLCLlnqMiOjAsIuWwgSI6MSwi5bKzIjoxLCLmhbAiOjEsIuaHhyI6MSwi5oeyIjoxLCLmkakiOjEsIuaTpiI6MSwi5paJIjoxLCLmkrIiOjEsIua7hSI6MSwi5rOwIjoxLCLngokiOjEsIua7iyI6MSwi55C0IjowLCLoh7MiOjEsIuWEgCI6MSwi6JmOIjowLCLpgZwiOjEsIuS8uiI6MCwi5b65IjoxLCLngKwiOjAsIuaOqiI6MSwi5pKkIjoxLCLmi6AiOjEsIuaouSI6MSwi5qOEIjoxLCLom40iOjAsIuicgiI6MCwi6YWOIjoxLCLonJwiOjEsIuWinyI6MSwi5r2cIjoxLCLoiaYiOjEsIuaLsyI6MSwi54KtIjoxLCLnlZEiOjAsIuS7gSI6MSwi5YyFIjoxLCLooaMiOjEsIumJsSI6MSwi6KqgIjoxLCLpg7ciOjEsIuS+tSI6MSwi5YG9IjoxLCLpm7ciOjEsIui+myI6MSwi57KSIjoxLCLkuJgiOjEsIuWoryI6MSwi5paXIjoxLCLorI4iOjAsIuacsSI6MSwi5aGUIjoxLCLpq6oiOjAsIuegsiI6MSwi5a+4IjoxLCLnq5wiOjEsIue4gSI6MSwi57+8IjoxLCLlkIkiOjEsIuWIgyI6MCwi5b+NIjoxLCLmoYMiOjAsIuS+jSI6MCwi5L+6IjowLCLlj7EiOjAsIuaiqCI6MCwi5Yy5IjowLCLph6MiOjAsIuWPqyI6MSwi56ygIjowLCLltZAiOjAsIue8tiI6MSwi5raZIjoxLCLmo5oiOjAsIuWnqyI6MCwi6Iq9IjowfTsKdmFyIGthbmppWW9taVJFQUxJVFkgPSB7Iui7kiI6MSwi5aqbIjowLCLnjoQiOjEsIuWBiSI6MSwi6aCCIjoxLCLlj6wiOjEsIuaeryI6MSwi5oyfIjowLCLmsrgiOjEsIua/ryI6MSwi54elIjoxLCLnk7YiOjEsIuiCryI6MSwi6ICVIjoxLCLohIIiOjEsIuiGmiI6MSwi6LufIjoxLCLpg4oiOjEsIumahSI6MCwi6Zq7IjoxLCLpgrgiOjEsIua4piI6MSwi6YOhIjoxLCLph4giOjEsIuiCqiI6MSwi5ZaaIjoxLCLosp4iOjEsIuiLlyI6MSwi5oWIIjoxLCLopZ8iOjAsIuiTriI6MSwi6IGhIjoxLCLkuq4iOjEsIua1piI6MCwi5aGaIjowLCLmvLgiOjAsIuiXuyI6MSwi5aaEIjoxLCLlgLkiOjEsIueLkCI6MCwi6YCdIjoxLCLljL8iOjEsIuWvoSI6MSwi55eiIjoxLCLol40iOjAsIuWdkSI6MSwi55WUIjoxLCLllIQiOjAsIuaLtyI6MSwi5riTIjoxLCLlu4kiOjEsIuisuSI6MSwi5rmnIjoxLCLphpwiOjEsIuWNhyI6MCwi5q6JIjoxLCLnhakiOjEsIuWKviI6MSwi5qGfIjoxLCLlqb8iOjAsIuaFlSI6MSwi5723IjoxLCLnn68iOjEsIuWbmiI6MSwi5p+QIjoxLCLms4wiOjEsIuibriI6MSwi5bq2IjoxLCLpr6giOjEsIuiNmCI6MSwi5qC9IjoxLCLlhqAiOjEsIuaLkCI6MSwi5YuyIjoxLCLphawiOjEsIuashCI6MSwi57SLIjoxLCLljbgiOjAsIumAuCI6MSwi5bCaIjoxLCLpoZUiOjEsIueymyI6MSwi5oSaIjoxLCLot7UiOjEsIuWRiCI6MSwi55aOIjoxLCLnlr4iOjEsIuisoSI6MSwi6Y6MIjowLCLphbciOjEsIuWPmSI6MSwi5LiUIjowLCLnl7QiOjEsIuWRhiI6MSwi5ZO6IjoxLCLmgqAiOjEsIuWCsiI6MSwi6IyOIjowLCLpmL8iOjEsIuadjyI6MSwi6IycIjowLCLmoJ4iOjAsIuS8jyI6MSwi6Y6uIjoxLCLlpYkiOjEsIuaGgiI6MSwi5qCDIjowLCLmnLQiOjEsIue0ryI6MSwi5oOcIjoxLCLkvbMiOjEsIuaCvCI6MSwi6KmyIjoxLCLotbQiOjEsIumrhCI6MSwi5YKNIjoxLCLnmZIiOjEsIumDrSI6MSwi5bC/IjoxLCLomZwiOjEsIuizkyI6MSwi5oa+IjoxLCLlvKUiOjAsIueylyI6MSwi5b6qIjoxLCLohIoiOjEsIuWHnSI6MSwi5piMIjoxLCLml6YiOjEsIuaEiSI6MSwi5qCTIjoxLCLmirkiOjEsIuS5iyI6MCwi6b6NIjoxLCLnkZsiOjEsIumBvCI6MSwi6YKjIjoxLCLlr4IiOjEsIuW6uCI6MSwi5ouNIjoxLCLnjLYiOjEsIuWusCI6MSwi57irIjoxLCLlkYkiOjEsIuWHoSI6MSwi5oGtIjowLCLpjK8iOjEsIuepgCI6MSwi5byKIjoxLCLpmbUiOjEsIuiItiI6MSwi5oKmIjoxLCLnqq4iOjEsIue4myI6MSwi6L2EIjoxLCLlvKYiOjEsIua0qiI6MSwi56qSIjoxLCLmkYIiOjEsIumjvSI6MSwi6Z2WIjowLCLntLMiOjEsIuWYiSI6MSwi5pC+IjoxLCLonbYiOjEsIueikSI6MSwi5bCJIjoxLCLljKAiOjEsIuWHmyI6MSwi6YGlIjowLCLmmboiOjEsIuaftCI6MCwi55GgIjoxLCLmlaIiOjEsIualkyI6MSwi5Ye5IjoxLCLlh7giOjEsIuiQjCI6MSwi54OPIjowLCLos4oiOjEsIuaXiyI6MSwi6byTIjoxLCLohbgiOjEsIuanvSI6MSwi5LyQIjoxLCLloJUiOjEsIua8rCI6MCwi5Z2qIjowLCLntLoiOjEsIue+hSI6MSwi5bOhIjoxLCLkv7giOjEsIumGuCI6MSwi5byUIjoxLCLkuZkiOjEsIuihoSI6MSwi6YGNIjoxLCLmrL4iOjEsIumWsiI6MSwi5ZadIjoxLCLohpwiOjEsIuebsiI6MSwi6YW1IjoxLCLog44iOjEsIumBriI6MSwi5ZOJIjowLCLokrwiOjEsIuWHhiI6MSwi5a+bIjoxLCLog54iOjEsIua1hCI6MSwi6ZqPIjoxLCLnqL8iOjEsIuS4uSI6MSwi5aOMIjoxLCLoiJciOjEsIumosCI6MSwi57evIjoxLCLoiYciOjEsIuaKqyI6MSwi6YymIjowLCLlibAiOjEsIue5iiI6MSwi6KutIjoxLCLmg6giOjEsIuiZkCI6MSwi5o2uIjowLCLlvpAiOjEsIuaQrSI6MSwi6JKZIjoxLCLnk5wiOjEsIumviSI6MCwi5oi0IjoxLCLnt4siOjEsIuabmSI6MCwi6IOhIjoxLCLluKUiOjEsIuWVkyI6MSwi6JG1IjowLCLpp78iOjEsIuirkiI6MSwi6I6JIjoxLCLpgYciOjEsIumZpSI6MSwi6LKrIjoxLCLopociOjEsIuiMqCI6MCwi5ZGCIjoxLCLmk4EiOjEsIuWtpCI6MSwi6Y6WIjoxLCLos6AiOjEsIuWZtCI6MSwi56WlIjoxLCLnibIiOjEsIuWUhiI6MSwi56epIjoxLCLohqgiOjEsIuiKsyI6MSwi5oGSIjoxLCLlgKsiOjEsIumZsyI6MSwi6aCIIjoxLCLlgY8iOjEsIuezpyI6MSwi5q6KIjoxLCLmhaIiOjEsIuayoSI6MSwi5oCgIjoxLCLpga0iOjEsIuaDsCI6MSwi54yfIjoxLCLkuYMiOjEsIumiryI6MSwi57a+IjoxLCLpmrwiOjAsIui8lCI6MCwi56GrIjoxLCLotaYiOjEsIueqgyI6MSwi5oWoIjoxLCLmiK8iOjEsIuaJtiI6MSwi5r+BIjoxLCLlpZQiOjEsIuiCliI6MSwi5py9IjoxLCLkuqsiOjEsIuauuyI6MSwi6JepIjoxLCLpto8iOjEsIuWqkiI6MSwi5ZixIjoxLCLmpI4iOjEsIui/rSI6MSwi57W5IjoxLCLpmaoiOjEsIuitnCI6MSwi5YmWIjoxLCLmt5EiOjEsIuW4hiI6MSwi6YWMIjoxLCLmhqQiOjEsIuaagSI6MCwi5YKRIjoxLCLpjKAiOjEsIuWHjCI6MCwi55GeIjowLCLoj4UiOjAsIueSgyI6MSwi5ryjIjoxLCLlkJ8iOjEsIuS+riI6MSwi6YuzIjoxLCLolJEiOjEsIuiDhiI6MSwi5rWqIjoxLCLnpo0iOjEsIumFqiI6MSwi5oanIjowLCLkupwiOjEsIuaFtiI6MSwi5qKTIjowLCLmsbAiOjEsIuaymSI6MSwi5b+MIjoxLCLpgbciOjEsIuaLmSI6MSwi56+kIjoxLCLls6AiOjAsIuWPlCI6MCwi6ZuMIjowLCLloKoiOjAsIuW0hyI6MSwi55SaIjoxLCLmvIYiOjEsIuWyrCI6MCwi57ShIjoxLCLnpIEiOjEsIuWxryI6MSwi5ae7IjoxLCLnnaYiOjEsIuaTrCI6MSwi6ZaRIjoxLCLmm7kiOjEsIuWNkSI6MSwi6KmgIjoxfTsKCi8qCiogVXNlZCBmb3Igc3dpdGNoaW5nIGJldHdlZW4gaGlyYSBhbmQga2F0YSAodmljZSB2ZXJzYSkKKi8KdmFyIGhpcmFUb0thdGEgPSB7IuOCgSI6ICLjg6EiLCAi44KAIjogIuODoCIsICLjgoMiOiAi44OjIiwgIuOCgiI6ICLjg6IiLCAi44KFIjogIuODpSIsICLjgoQiOiAi44OkIiwgIuOChyI6ICLjg6ciLCAi44KGIjogIuODpiIsICLjgokiOiAi44OpIiwgIuOCiCI6ICLjg6giLCAi44KLIjogIuODqyIsICLjgooiOiAi44OqIiwgIuOCjSI6ICLjg60iLCAi44KMIjogIuODrCIsICLjgo8iOiAi44OvIiwgIuOCkyI6ICLjg7MiLCAi44KSIjogIuODsiIsICLjgYIiOiAi44KiIiwgIuOBhCI6ICLjgqQiLCAi44GGIjogIuOCpiIsICLjgYgiOiAi44KoIiwgIuOBiyI6ICLjgqsiLCAi44GKIjogIuOCqiIsICLjgY0iOiAi44KtIiwgIuOBjCI6ICLjgqwiLCAi44GPIjogIuOCryIsICLjgY4iOiAi44KuIiwgIuOBkSI6ICLjgrEiLCAi44GQIjogIuOCsCIsICLjgZMiOiAi44KzIiwgIuOBkiI6ICLjgrIiLCAi44GVIjogIuOCtSIsICLjgZQiOiAi44K0IiwgIuOBlyI6ICLjgrciLCAi44GWIjogIuOCtiIsICLjgZkiOiAi44K5IiwgIuOBmCI6ICLjgrgiLCAi44GbIjogIuOCuyIsICLjgZoiOiAi44K6IiwgIuOBnSI6ICLjgr0iLCAi44GcIjogIuOCvCIsICLjgZ8iOiAi44K/IiwgIuOBniI6ICLjgr4iLCAi44GhIjogIuODgSIsICLjgaAiOiAi44OAIiwgIuOBoyI6ICLjg4MiLCAi44GiIjogIuODgiIsICLjgaUiOiAi44OFIiwgIuOBpCI6ICLjg4QiLCAi44GnIjogIuODhyIsICLjgaYiOiAi44OGIiwgIuOBqSI6ICLjg4kiLCAi44GoIjogIuODiCIsICLjgasiOiAi44OLIiwgIuOBqiI6ICLjg4oiLCAi44GtIjogIuODjSIsICLjgawiOiAi44OMIiwgIuOBryI6ICLjg48iLCAi44GuIjogIuODjiIsICLjgbEiOiAi44ORIiwgIuOBsCI6ICLjg5AiLCAi44GzIjogIuODkyIsICLjgbIiOiAi44OSIiwgIuOBtSI6ICLjg5UiLCAi44G0IjogIuODlCIsICLjgbciOiAi44OXIiwgIuOBtiI6ICLjg5YiLCAi44G5IjogIuODmSIsICLjgbgiOiAi44OYIiwgIuOBuyI6ICLjg5siLCAi44G6IjogIuODmiIsICLjgb0iOiAi44OdIiwgIuOBvCI6ICLjg5wiLCAi44G/IjogIuODnyIsICLjgb4iOiAi44OeIn07CnZhciBrYXRhVG9IaXJhID0geyLjg6EiOiAi44KBIiwgIuODoCI6ICLjgoAiLCAi44OjIjogIuOCgyIsICLjg6IiOiAi44KCIiwgIuODpSI6ICLjgoUiLCAi44OkIjogIuOChCIsICLjg6ciOiAi44KHIiwgIuODpiI6ICLjgoYiLCAi44OpIjogIuOCiSIsICLjg6giOiAi44KIIiwgIuODqyI6ICLjgosiLCAi44OqIjogIuOCiiIsICLjg60iOiAi44KNIiwgIuODrCI6ICLjgowiLCAi44OvIjogIuOCjyIsICLjg7MiOiAi44KTIiwgIuODsiI6ICLjgpIiLCAi44KiIjogIuOBgiIsICLjgqQiOiAi44GEIiwgIuOCpiI6ICLjgYYiLCAi44KoIjogIuOBiCIsICLjgqsiOiAi44GLIiwgIuOCqiI6ICLjgYoiLCAi44KtIjogIuOBjSIsICLjgqwiOiAi44GMIiwgIuOCryI6ICLjgY8iLCAi44KuIjogIuOBjiIsICLjgrEiOiAi44GRIiwgIuOCsCI6ICLjgZAiLCAi44KzIjogIuOBkyIsICLjgrIiOiAi44GSIiwgIuOCtSI6ICLjgZUiLCAi44K0IjogIuOBlCIsICLjgrciOiAi44GXIiwgIuOCtiI6ICLjgZYiLCAi44K5IjogIuOBmSIsICLjgrgiOiAi44GYIiwgIuOCuyI6ICLjgZsiLCAi44K6IjogIuOBmiIsICLjgr0iOiAi44GdIiwgIuOCvCI6ICLjgZwiLCAi44K/IjogIuOBnyIsICLjgr4iOiAi44GeIiwgIuODgSI6ICLjgaEiLCAi44OAIjogIuOBoCIsICLjg4MiOiAi44GjIiwgIuODgiI6ICLjgaIiLCAi44OFIjogIuOBpSIsICLjg4QiOiAi44GkIiwgIuODhyI6ICLjgaciLCAi44OGIjogIuOBpiIsICLjg4kiOiAi44GpIiwgIuODiCI6ICLjgagiLCAi44OLIjogIuOBqyIsICLjg4oiOiAi44GqIiwgIuODjSI6ICLjga0iLCAi44OMIjogIuOBrCIsICLjg48iOiAi44GvIiwgIuODjiI6ICLjga4iLCAi44ORIjogIuOBsSIsICLjg5AiOiAi44GwIiwgIuODkyI6ICLjgbMiLCAi44OSIjogIuOBsiIsICLjg5UiOiAi44G1IiwgIuODlCI6ICLjgbQiLCAi44OXIjogIuOBtyIsICLjg5YiOiAi44G2IiwgIuODmSI6ICLjgbkiLCAi44OYIjogIuOBuCIsICLjg5siOiAi44G7IiwgIuODmiI6ICLjgboiLCAi44OdIjogIuOBvSIsICLjg5wiOiAi44G8IiwgIuODnyI6ICLjgb8iLCAi44OeIjogIuOBviJ9OwoKaWYgKC9kYXNoYm9hcmQvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCBkb2N1bWVudC5VUkwgPT0gImh0dHA6Ly93d3cud2FuaWthbmkuY29tLyIgfHwgZG9jdW1lbnQuVVJMID09ICJodHRwczovL3d3dy53YW5pa2FuaS5jb20vIikgLy8gSG9tZXBhZ2UKewogICAgdmFyIHJlcGxhY2VQb3B1cCA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICBpZiAoIGlzT255b21pQWxsKCQodGhpcykudGV4dCgpKSA9PSAxKSAkKHRoaXMpLmF0dHIoKCdkYXRhLW9yaWdpbmFsLXRpdGxlJyksIGNvbnZlcnRUb0thdGEoJCh0aGlzKS5hdHRyKCdkYXRhLW9yaWdpbmFsLXRpdGxlJykpICk7CiAgICB9OwogICAgJCgnLmxhdHRpY2Utc2luZ2xlLWNoYXJhY3RlciBhW2RhdGEtb3JpZ2luYWwtdGl0bGVdJykuZWFjaChyZXBsYWNlUG9wdXApOwoKICAgIC8vIHRoaXMgaXMgZm9yIHNjcmlwdHMgd2hvIG1vZGlmeSB0aGUgaG9tZXNjcmVlbiBhZnRlciB0aGUgcGFnZSBmaW5pc2hlZCBsb2FkaW5nCiAgICAkKCcua2FuamktcHJvZ3Jlc3MgLmxhdHRpY2Utc2luZ2xlLWNoYXJhY3RlciAuc21hbGwtY2FwcyA+IHNwYW4nKS5iaW5kKCJET01TdWJ0cmVlTW9kaWZpZWQiLGZ1bmN0aW9uKCl7CiAgICAgICAgJCgnLmthbmppLXByb2dyZXNzIC5sYXR0aWNlLXNpbmdsZS1jaGFyYWN0ZXIgYVtkYXRhLW9yaWdpbmFsLXRpdGxlXScpLmVhY2gocmVwbGFjZVBvcHVwKTsKICAgIH0pOwoKfQplbHNlIGlmICgvXC9sYXR0aWNlXC9rYW5qaS8udGVzdChkb2N1bWVudC5VUkwpKSAvLyBMYXR0aWNlCnsKICAgIHZhciByZXBsYWNlUG9wdXAgPSBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgaWYgKCBpc09ueW9taUFsbCgkKHRoaXMpLnRleHQoKSkgPT0gMSkgJCh0aGlzKS5hdHRyKCgnZGF0YS1vcmlnaW5hbC10aXRsZScpLCBjb252ZXJ0VG9LYXRhKCQodGhpcykuYXR0cignZGF0YS1vcmlnaW5hbC10aXRsZScpKSApOwogICAgfTsKICAgICQoJy5sYXR0aWNlLXNpbmdsZS1jaGFyYWN0ZXIgYVtkYXRhLW9yaWdpbmFsLXRpdGxlXScpLmVhY2gocmVwbGFjZVBvcHVwKTsKCn0KZWxzZSBpZiAoL1wva2FuamlcLy8udGVzdChkb2N1bWVudC5VUkwpKSAvLyBLYW5qaSBkZXRhaWwgcGFnZQp7CiAgICB2YXIgcmVwbGFjZVJlYWRpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoJCh0aGlzKS5jaGlsZHJlbignaDMnKS50ZXh0KCkgPT0gIk9u4oCZeW9taSIpCiAgICAgICAgewogICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKCdwJykudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuY2hpbGRyZW4oJ3AnKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgJCgnLnNwYW40JykuZWFjaChyZXBsYWNlUmVhZGluZyk7CgogICAgLy8tLS0tLS0tLS0gVmlzdWFsbHkgU2ltaWxhciBLYW5qaSAtLS0tLS0tLS0vLwogICAgdmFyIHJlcGxhY2VTaW1pbGFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKGlzT255b21pQWxsKCQodGhpcykuZmluZCgnLmNoYXJhY3RlcicpLnRleHQoKSkgPT0gMSkgJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoY29udmVydFRvS2F0YSgkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dCgpKSk7CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmZpbmQoJ2EnKS5lYWNoKHJlcGxhY2VTaW1pbGFyKTsKfQplbHNlIGlmICgvXC9rYW5qaVw/ZGlmZmljdWx0Ly50ZXN0KGRvY3VtZW50LlVSTCkgfHwgZG9jdW1lbnQuVVJMID09ICJodHRwOi8vd3d3LndhbmlrYW5pLmNvbS9rYW5qaSIpIC8vIEJpZyBrYW5qaSBwYWdlIGJhc2VkIG9uIGRpZmZpY3VsdHkKewogICAgdmFyIG4gPSBkb2N1bWVudC5VUkwubGFzdEluZGV4T2YoJz0nKTsKICAgIHZhciBkaWZmaWN1bHR5ID0gZG9jdW1lbnQuVVJMLnN1YnN0cmluZyhuICsgMSk7CgogICAgdmFyIHJlcGxhY2VMZXZlbFBvcnRpb24gPSBmdW5jdGlvbigpIHsKICAgICAgICAkKHRoaXMpLmZpbmQoJy5jaGFyYWN0ZXItaXRlbScpLmVhY2gocmVwbGFjZVJlYWRpbmcpOwogICAgfTsKCiAgICB2YXIgcmVwbGFjZVJlYWRpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoaXNPbnlvbWkoJCh0aGlzKS5maW5kKCcuY2hhcmFjdGVyJykudGV4dCgpLnJlcGxhY2UoL1xzL2csJycpLCBkaWZmaWN1bHR5KSkgJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoY29udmVydFRvS2F0YSgkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dCgpKSk7CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmVhY2gocmVwbGFjZUxldmVsUG9ydGlvbik7Cn0KZWxzZSBpZiAoL1wvcmFkaWNhbHNcLy8udGVzdChkb2N1bWVudC5VUkwpIHx8wqAvXC92b2NhYnVsYXJ5XC8vLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gUmFkaWNhbCBhbmQgVm9jYWJ1bGFyeSBwYWdlCnsKICAgIC8vLS0tLS0tLS0tIEZvdW5kIEluIGFuZCBVdGlsaXplZCBLYW5qaSAtLS0tLS0tLS0vLwogICAgdmFyIHJlcGxhY2VSZWFkaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKGlzT255b21pQWxsKCQodGhpcykuZmluZCgnLmNoYXJhY3RlcicpLnRleHQoKSkgPT0gMSkgJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoY29udmVydFRvS2F0YSgkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dCgpKSk7CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmZpbmQoJ2EnKS5lYWNoKHJlcGxhY2VSZWFkaW5nKTsKfQplbHNlIGlmICgvXC9sZXZlbFwvLy50ZXN0KGRvY3VtZW50LlVSTCkpIC8vIExldmVsIHBhZ2UKewogICAgdmFyIG4gPSBkb2N1bWVudC5VUkwubGFzdEluZGV4T2YoJy8nKTsKICAgIHZhciBsZXZlbCA9IGRvY3VtZW50LlVSTC5zdWJzdHJpbmcobiArIDEpOwoKICAgIHZhciByZXBsYWNlUmVhZGluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChpc09ueW9taSgkKHRoaXMpLmNoaWxkcmVuKCcuY2hhcmFjdGVyJykudGV4dCgpLnJlcGxhY2UoL1xzL2csJycpLCBsZXZlbCkpCiAgICAgICAgewogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuZmluZCgnbGknKS5lcSgwKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmVxKDEpLmZpbmQoJ2EnKS5lYWNoKHJlcGxhY2VSZWFkaW5nKTsKfQplbHNlIGlmICgvcmV2aWV3XC9zZXNzaW9uLy50ZXN0KGRvY3VtZW50LlVSTCkpIC8vIFJldmlldyB0ZXN0IHBhZ2UKewogICAgYW5zd2VyQ2hlY2tlci5vbGRJc0FzY2lpUHJlc2VudEtNID0gYW5zd2VyQ2hlY2tlci5pc0FzY2lpUHJlc2VudDsKICAgIGFuc3dlckNoZWNrZXIuaXNBc2NpaVByZXNlbnQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gdGhpcyBpcyBmb3IgdHJhaWxpbmcgTiB0byDjg7MKICAgICAgICBpZihlW2UubGVuZ3RoLTFdID09PSAnTicpIHsKICAgICAgICAgICAgZSA9IGUuc3Vic3RyKDAsIGUubGVuZ3RoLTEpICsgJ+ODsycgKyBlLnN1YnN0cihlLmxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBhbnN3ZXJDaGVja2VyLm9sZElzQXNjaWlQcmVzZW50S00oZSk7CiAgICB9OwoKICAgIGFuc3dlckNoZWNrZXIub2xkRXZhbHVhdGVLTSA9IGFuc3dlckNoZWNrZXIuZXZhbHVhdGU7CiAgICBhbnN3ZXJDaGVja2VyLmV2YWx1YXRlID0gZnVuY3Rpb24oZSx0KSB7CiAgICAgICAgLy9jb25zb2xlLmxvZygkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKSk7CiAgICAgICAgLy8gdGhpcyBpcyBmb3IgdHJhaWxpbmcgTiB0byDjg7MKICAgICAgICBpZihlID09PSAicmVhZGluZyIgJiYgdFt0Lmxlbmd0aC0xXSA9PT0gJ04nKSB7CiAgICAgICAgICAgIHQgPSB0LnN1YnN0cigwLCB0Lmxlbmd0aC0xKSArICfjg7MnICsgdC5zdWJzdHIodC5sZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZihpc09ueW9taVJldmlldygpKSB7CiAgICAgICAgICAgIC8vIHRoaXMgaXMgZm9yIHRoZSAiV2FuaUthbmkgaXMgbG9va2luZyBmb3IgdGhlIG9ueW9taSByZWFkaW5nIiBmdW5jdGlvbgogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8ICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpLmt1bi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5nZXQoJ2N1cnJlbnRJdGVtJykua3VuW2ldID0gY29udmVydFRvS2F0YSgkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKS5rdW5baV0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJC5qU3RvcmFnZS5nZXQoJ2N1cnJlbnRJdGVtJykub24ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpLm9uW2ldID0gY29udmVydFRvS2F0YSgkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKS5vbltpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy9jb25zb2xlLmxvZygkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKSk7CiAgICAgICAgcmV0dXJuIGFuc3dlckNoZWNrZXIub2xkRXZhbHVhdGVLTShlLHQpOwogICAgfTsKCiAgICAkKCcjdXNlci1yZXNwb25zZScpLm9uKCdpbnB1dCcsIGZ1bmN0aW9uKCkgewogICAgICAgIGlmKGlzT255b21pUmV2aWV3KCkpIHsKICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGNvbnZlcnRUb0thdGEoJCh0aGlzKS52YWwoKS50b1VwcGVyQ2FzZSgpKTsKICAgICAgICB9CiAgICB9KTsKCiAgICB2YXIgb2JzZXJ2ZU1lID0gJCgnI2l0ZW0taW5mbyAucHVyZS11LTEtNCcpWzBdOwogICAgb2JzZXJ2ZURPTSgpKCBvYnNlcnZlTWUgLGZ1bmN0aW9uKCkgewogICAgICAgIGlmKGlzT255b21pUmV2aWV3KCkpIHsKICAgICAgICAgICAgJCgnI2l0ZW0taW5mby1yZWFkaW5nID4gc3BhbicpLnRleHQoY29udmVydFRvS2F0YSgkKCcjaXRlbS1pbmZvLXJlYWRpbmcgPiBzcGFuJykudGV4dCgpKSk7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gY2hhbmdlIGxhc3QgMTAgaXRlbXMKICAgIHZhciBsYXN0MTBDaGFuZ2UgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYoaXNPbnlvbWlBbGwoJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoKSkpewogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMSkudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuZmluZCgnbGknKS5lcSgxKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgdmFyIG9ic2VydmVNZSA9ICQoJyNsYXN0LWl0ZW1zLWxpc3QnKVswXTsKICAgIG9ic2VydmVET00oKSggb2JzZXJ2ZU1lICxmdW5jdGlvbigpIHsKICAgICAgICAkKCcjbGFzdC1pdGVtcy1saXN0IC5rYW5qaScpLmVhY2gobGFzdDEwQ2hhbmdlKTsKICAgIH0pOwp9CmVsc2UgaWYgKC9yZXZpZXcvLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gUmV2aWV3IGluZm8gcGFnZSBhdCB0aGUgYmVnaW5uaW5nIGFuZCB0aGUgZW5kIG9mIGEgcmV2aWV3CnsKICAgIHZhciBvYnNlcnZlTWUgPSAkKCcjcmV2aWV3cy1zdW1tYXJ5JylbMF07CiAgICBvYnNlcnZlRE9NKCkoIG9ic2VydmVNZSAsZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGUgPSAkKCcua2FuamkgLmhvdmVyJyk7CiAgICAgICAgaWYoZS5sZW5ndGggIT09IDAgJiYgaXNPbnlvbWlBbGwoZS5wcmV2KCdhJykuZXEoMCkudGV4dCgpKSkgewogICAgICAgICAgICB2YXIgb255b21pTm9kZSA9IGUuZmluZCgndWwnKS5maW5kKCdsaScpLmVxKDEpOwogICAgICAgICAgICBvbnlvbWlOb2RlLnRleHQoY29udmVydFRvS2F0YShvbnlvbWlOb2RlLnRleHQoKSkpOwogICAgICAgIH0KICAgIH0pOwp9CmVsc2UgaWYgKC9sZXNzb25cL3Nlc3Npb24vLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gTGVzc29uIGFuZCBsZXNzb24gdGVzdCBwYWdlCnsKICAgIC8vLS0tLS0tLS0tIExlc3NvbiBQYXJ0IC0tLS0tLS0tLS8vCiAgICB2YXIgd2hlbkxlc3NvblNsaWRlcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBLYW5qaSBpbmZvCiAgICAgICAgdmFyIHR5cGUgPSAkKCIjc3VwcGxlbWVudC1rYW4tcmVhZGluZy10eXBlIikudGV4dCgpOwogICAgICAgIGlmKHR5cGUgPT09ICJvbid5b21pIikgewogICAgICAgICAgICAkKCcjc3VwcGxlbWVudC1rYW4tcmVhZGluZyBzcGFuJykuZXEoMSkudGV4dChjb252ZXJ0VG9LYXRhKCQoJyNzdXBwbGVtZW50LWthbi1yZWFkaW5nIHNwYW4nKS5lcSgxKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICAgICAgLy8gVm9jYWJsZSBicmVha2Rvd24gaW5mbwogICAgICAgICQoIiNzdXBwbGVtZW50LXZvYy1icmVha2Rvd24iKS5maW5kKCcua2FuamknKS5lYWNoKHJlcGxhY2VCcmVha2Rvd24pOwogICAgfTsKICAgIHZhciByZXBsYWNlQnJlYWtkb3duID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmKGlzT255b21pQWxsKCQodGhpcykudGV4dCgpKSkgewogICAgICAgICAgICAkKHRoaXMpLmF0dHIoInRpdGxlIiwgY29udmVydFRvS2F0YSgkKHRoaXMpLmF0dHIoJ3RpdGxlJykpKTsKICAgICAgICB9CiAgICB9OwogICAgJCgnI2JhdGNoLWl0ZW1zJykuY2xpY2sod2hlbkxlc3NvblNsaWRlcyk7CgogICAgLy8tLS0tLS0tLS0gVGVzdCBQYXJ0IC0tLS0tLS0tLS8vCiAgICBhbnN3ZXJDaGVja2VyLm9sZElzQXNjaWlQcmVzZW50S00gPSBhbnN3ZXJDaGVja2VyLmlzQXNjaWlQcmVzZW50OwogICAgYW5zd2VyQ2hlY2tlci5pc0FzY2lpUHJlc2VudCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAvLyB0aGlzIGlzIGZvciB0cmFpbGluZyBOIHRvIOODswogICAgICAgIGlmKGVbZS5sZW5ndGgtMV0gPT09ICdOJykgewogICAgICAgICAgICBlID0gZS5zdWJzdHIoMCwgZS5sZW5ndGgtMSkgKyAn44OzJyArIGUuc3Vic3RyKGUubGVuZ3RoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFuc3dlckNoZWNrZXIub2xkSXNBc2NpaVByZXNlbnRLTShlKTsKICAgIH07CgogICAgYW5zd2VyQ2hlY2tlci5vbGRFdmFsdWF0ZUtNID0gYW5zd2VyQ2hlY2tlci5ldmFsdWF0ZTsKICAgIGFuc3dlckNoZWNrZXIuZXZhbHVhdGUgPSBmdW5jdGlvbihlLHQpIHsKICAgICAgICAvL2NvbnNvbGUubG9nKCQualN0b3JhZ2UuZ2V0KCdsL2N1cnJlbnRRdWl6SXRlbScpKTsKICAgICAgICAvLyB0aGlzIGlzIGZvciB0cmFpbGluZyBOIHRvIOODswogICAgICAgIGlmKGUgPT09ICJyZWFkaW5nIiAmJiB0W3QubGVuZ3RoLTFdID09PSAnTicpIHsKICAgICAgICAgICAgdCA9IHQuc3Vic3RyKDAsIHQubGVuZ3RoLTEpICsgJ+ODsycgKyB0LnN1YnN0cih0Lmxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIGlmKGlzT255b21pTGVzc29uKCkpIHsKICAgICAgICAgICAgLy8gdGhpcyBpcyBmb3IgdGhlICJXYW5pS2FuaSBpcyBsb29raW5nIGZvciB0aGUgb255b21pIHJlYWRpbmciIGZ1bmN0aW9uCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJC5qU3RvcmFnZS5nZXQoJ2wvY3VycmVudFF1aXpJdGVtJykua3VuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAkLmpTdG9yYWdlLmdldCgnbC9jdXJyZW50UXVpekl0ZW0nKS5rdW5baV0gPSBjb252ZXJ0VG9LYXRhKCQualN0b3JhZ2UuZ2V0KCdsL2N1cnJlbnRRdWl6SXRlbScpLmt1bltpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAkLmpTdG9yYWdlLmdldCgnbC9jdXJyZW50UXVpekl0ZW0nKS5vbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5nZXQoJ2wvY3VycmVudFF1aXpJdGVtJykub25baV0gPSBjb252ZXJ0VG9LYXRhKCQualN0b3JhZ2UuZ2V0KCdsL2N1cnJlbnRRdWl6SXRlbScpLm9uW2ldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gYW5zd2VyQ2hlY2tlci5vbGRFdmFsdWF0ZUtNKGUsdCk7CiAgICB9OwoKICAgICQoJyN1c2VyLXJlc3BvbnNlJykub24oJ2lucHV0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoaXNPbnlvbWlMZXNzb24oKSkgewogICAgICAgICAgICB0aGlzLnZhbHVlID0gY29udmVydFRvS2F0YSgkKHRoaXMpLnZhbCgpLnRvVXBwZXJDYXNlKCkpOwogICAgICAgIH0KICAgIH0pOwoKICAgIHZhciBvYnNlcnZlTWUgPSAkKCcjaXRlbS1pbmZvIC5wdXJlLXUtMS00JylbMF07CiAgICBvYnNlcnZlRE9NKCkoIG9ic2VydmVNZSAsZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoaXNPbnlvbWlMZXNzb24oKSkgewogICAgICAgICAgICAkKCcjaXRlbS1pbmZvLXJlYWRpbmcgc3BhbicpLnRleHQoY29udmVydFRvS2F0YSgkKCcjaXRlbS1pbmZvLXJlYWRpbmcgc3BhbicpLnRleHQoKSkpOwogICAgICAgIH0KICAgIH0pOwoKfWVsc2UgaWYgKC9sZXNzb24vLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gTGVzc29uIGluZm8gcGFnZSBhdCB0aGUgYmVnaW5uaW5nIGFuZCB0aGUgZW5kIG9mIGEgcnVuCnsKICAgIHZhciBvYnNlcnZlTWUgPSAkKCcja2FuamknKVswXTsKICAgIG9ic2VydmVET00oKSggb2JzZXJ2ZU1lICxmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZSA9ICQoJy5rYW5qaSAuaG92ZXInKTsKICAgICAgICBpZihlLmxlbmd0aCAhPT0gMCAmJiBpc09ueW9taUFsbChlLnByZXYoJ2EnKS5lcSgwKS50ZXh0KCkpKSB7CiAgICAgICAgICAgIHZhciBvbnlvbWlOb2RlID0gZS5maW5kKCd1bCcpLmZpbmQoJ2xpJykuZXEoMSk7CiAgICAgICAgICAgIG9ueW9taU5vZGUudGV4dChjb252ZXJ0VG9LYXRhKG9ueW9taU5vZGUudGV4dCgpKSk7CiAgICAgICAgfQogICAgfSk7Cn0KCi8vIFNlYXJjaCByZXN1bHQKaWYoIC9kYXNoYm9hcmQvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCBkb2N1bWVudC5VUkwgPT0gImh0dHA6Ly93d3cud2FuaWthbmkuY29tLyIgfHwgZG9jdW1lbnQuVVJMID09ICJodHRwczovL3d3dy53YW5pa2FuaS5jb20vIiB8fCAvXC9sZXZlbC8udGVzdChkb2N1bWVudC5VUkwpIHx8CiAgIC9cL2xhdHRpY2UvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCAvXC9yYWRpY2Fscy8udGVzdChkb2N1bWVudC5VUkwpIHx8IC9cL2thbmppLy50ZXN0KGRvY3VtZW50LlVSTCkgfHwgL1wvdm9jYWJ1bGFyeS8udGVzdChkb2N1bWVudC5VUkwpIHx8CiAgIC9cL2NvbW11bml0eS8udGVzdChkb2N1bWVudC5VUkwpIHx8IC9cL2NoYXQvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCAvXC9hY2NvdW50Ly50ZXN0KGRvY3VtZW50LlVSTCkgKSB7CiAgICB2YXIgc2VhcmNoQ2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoaXNPbnlvbWlBbGwoJCh0aGlzKS5maW5kKCdzcGFuJykudGV4dCgpKSkgewogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuZmluZCgnbGknKS5lcSgwKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgdmFyIG9ic2VydmVNZSA9ICQoJy5zZWFyY2gtcmVzdWx0cycpWzBdOwogICAgb2JzZXJ2ZURPTSgpKCBvYnNlcnZlTWUgLGZ1bmN0aW9uKCkgewogICAgICAgICQoJy5zZWFyY2gtcmVzdWx0cyAja2FuamktJykuZWFjaChzZWFyY2hDaGFuZ2UpOwogICAgfSk7Cn0KCgoKLy8tLSBIZWxwZXIgZnVuY3Rpb25zIGZvciB0cmFuc2Zvcm1pbmcga2F0YSA8LT4gaGlyYSAtLS8vCmZ1bmN0aW9uIGlzT255b21pUmV2aWV3KCkgewoKICAgIHZhciBvYmpDdXJJdGVtID0gJC5qU3RvcmFnZS5nZXQoImN1cnJlbnRJdGVtIik7CiAgICB2YXIgc3RyUXVlc3Rpb25UeXBlID0gJC5qU3RvcmFnZS5nZXQoInF1ZXN0aW9uVHlwZSIpOwoKICAgIGlmICgia2FuIiBpbiBvYmpDdXJJdGVtKSB7CiAgICAgICAgLy8gS2FuamkKICAgICAgICBpZiAoc3RyUXVlc3Rpb25UeXBlID09PSAicmVhZGluZyIpIHsKICAgICAgICAgICAgaWYob2JqQ3VySXRlbS5lbXBoID09PSAib255b21pIikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGlzT255b21pTGVzc29uKCkgewoKICAgIHZhciBvYmpDdXJJdGVtID0gJC5qU3RvcmFnZS5nZXQoImwvY3VycmVudFF1aXpJdGVtIik7CiAgICB2YXIgc3RyUXVlc3Rpb25UeXBlID0gJC5qU3RvcmFnZS5nZXQoImwvcXVlc3Rpb25UeXBlIik7CgogICAgaWYgKCJrYW4iIGluIG9iakN1ckl0ZW0pCiAgICB7CiAgICAgICAgLy8gS2FuamkKICAgICAgICBpZiAoc3RyUXVlc3Rpb25UeXBlID09PSAicmVhZGluZyIpIHsKICAgICAgICAgICAgaWYob2JqQ3VySXRlbS5lbXBoID09PSAib255b21pIil7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gaXNPbnlvbWkoa2FuamksIGxldmVsKQp7CiAgICBzd2l0Y2gobGV2ZWwudG9VcHBlckNhc2UoKSkgewogICAgICAgIGNhc2UgJ1BMRUFTQU5UJzogY2FzZSAnMSc6IGNhc2UgJzInOiBjYXNlICczJzogY2FzZSAnNCc6IGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6IGNhc2UgJzgnOiBjYXNlICc5JzogY2FzZSAnMTAnOgogICAgICAgICAgICByZXR1cm4ga2FuamlZb21pUExFQVNBTlRba2FuamldOwogICAgICAgIGNhc2UgJ1BBSU5GVUwnOiBjYXNlICcxMSc6IGNhc2UgJzEyJzogY2FzZSAnMTMnOiBjYXNlICcxNCc6IGNhc2UgJzE1JzogY2FzZSAnMTYnOiBjYXNlICcxNyc6IGNhc2UgJzE4JzogY2FzZSAnMTknOiBjYXNlICcyMCc6CiAgICAgICAgICAgIHJldHVybiBrYW5qaVlvbWlQQUlORlVMW2thbmppXTsKICAgICAgICBjYXNlICdERUFUSCc6IGNhc2UgJzIxJzogY2FzZSAnMjInOiBjYXNlICcyMyc6IGNhc2UgJzI0JzogY2FzZSAnMjUnOiBjYXNlICcyNic6IGNhc2UgJzI3JzogY2FzZSAnMjgnOiBjYXNlICcyOSc6IGNhc2UgJzMwJzoKICAgICAgICAgICAgcmV0dXJuIGthbmppWW9taURFQVRIW2thbmppXTsKICAgICAgICBjYXNlICdIRUxMJzogY2FzZSAnMzEnOiBjYXNlICczMic6IGNhc2UgJzMzJzogY2FzZSAnMzQnOiBjYXNlICczNSc6IGNhc2UgJzM2JzogY2FzZSAnMzcnOiBjYXNlICczOCc6IGNhc2UgJzM5JzogY2FzZSAnNDAnOgogICAgICAgICAgICByZXR1cm4ga2FuamlZb21pSEVMTFtrYW5qaV07CiAgICAgICAgY2FzZSAnUEFSQURJU0UnOiBjYXNlICc0MSc6IGNhc2UgJzQyJzogY2FzZSAnNDMnOiBjYXNlICc0NCc6IGNhc2UgJzQ1JzogY2FzZSAnNDYnOiBjYXNlICc0Nyc6IGNhc2UgJzQ4JzogY2FzZSAnNDknOiBjYXNlICc1MCc6CiAgICAgICAgICAgIHJldHVybiBrYW5qaVlvbWlQQVJBRElTRVtrYW5qaV07CiAgICAgICAgY2FzZSAnUkVBTElUWSc6IGNhc2UgJzUxJzogY2FzZSAnNTInOiBjYXNlICc1Myc6IGNhc2UgJzU0JzogY2FzZSAnNTUnOiBjYXNlICc1Nic6IGNhc2UgJzU3JzogY2FzZSAnNTgnOiBjYXNlICc1OSc6IGNhc2UgJzYwJzoKICAgICAgICAgICAgcmV0dXJuIGthbmppWW9taVJFQUxJVFlba2FuamldOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHJldHVybiAwOwogICAgfQp9CmZ1bmN0aW9uIGlzT255b21pQWxsKGthbmppKQp7CgogICAgaWYoa2FuamlZb21pUExFQVNBTlRba2FuamldKSByZXR1cm4gMTsKICAgIGlmKGthbmppWW9taVBBSU5GVUxba2FuamldKSByZXR1cm4gMTsKICAgIGlmKGthbmppWW9taURFQVRIW2thbmppXSkgcmV0dXJuIDE7CiAgICBpZihrYW5qaVlvbWlIRUxMW2thbmppXSkgcmV0dXJuIDE7CiAgICBpZihrYW5qaVlvbWlQQVJBRElTRVtrYW5qaV0pIHJldHVybiAxOwogICAgaWYoa2FuamlZb21pUkVBTElUWVtrYW5qaV0pIHJldHVybiAxOwogICAgcmV0dXJuIDA7Cgp9CmZ1bmN0aW9uIGNvbnZlcnRUb0thdGEoY2hhaW4pCnsKICAgIGNoYWluID0gY2hhaW4udHJpbSgpOwogICAgZm9yICh2YXIgaSA9IDAsIGMgPSBjaGFpbi5sZW5ndGg7IGkgPCBjOyBpKyspCiAgICB7CiAgICAgICAgY2hhaW4gPSByZXBsYWNlQXQoY2hhaW4sIGksIGhpcmFUb0thdGFbY2hhaW5baV1dIHx8IGNoYWluW2ldKTsKICAgIH0KICAgIHJldHVybiBjaGFpbjsKfQoKZnVuY3Rpb24gY29udmVydFRvSGlyYShjaGFpbikKewogICAgY2hhaW4gPSBjaGFpbi50cmltKCk7CiAgICBmb3IgKHZhciBpID0gMCwgYyA9IGNoYWluLmxlbmd0aDsgaSA8IGM7IGkrKykKICAgIHsKICAgICAgICBjaGFpbiA9IHJlcGxhY2VBdChjaGFpbiwgaSwga2F0YVRvSGlyYVtjaGFpbltpXV0gfHwgY2hhaW5baV0pOwogICAgfQogICAgcmV0dXJuIGNoYWluOwp9CgpmdW5jdGlvbiByZXBsYWNlQXQocywgbiwgdCkKewogICAgcmV0dXJuIHMuc3Vic3RyaW5nKDAsIG4pICsgdCArIHMuc3Vic3RyaW5nKG4gKyAxKTsKfQoKLyoKKiBXYWl0IGZvciBlbGVtZW50cyB0byBhcHBlYXIKKiBjYWxsIHdpdGggb2JzZXJ2ZURvbSgpKG9ic2Vydk5vZGUsIGNhbGxiYWNrRnVuY3Rpb24pOwoqIGZyb20gc3RhY2tvdmVyZmxvdzogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQ1NzA2MTQKKi8KZnVuY3Rpb24gb2JzZXJ2ZURPTSgpIHsKICAgIHZhciBNdXRhdGlvbk9ic2VydmVyID0gd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIgfHwgd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIsCiAgICAgICAgZXZlbnRMaXN0ZW5lclN1cHBvcnRlZCA9IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyOwogICAgcmV0dXJuIGZ1bmN0aW9uKG9iaiwgY2FsbGJhY2spewogICAgICAgIGlmKCBNdXRhdGlvbk9ic2VydmVyICkgewogICAgICAgICAgICAvLyBkZWZpbmUgYSBuZXcgb2JzZXJ2ZXIKICAgICAgICAgICAgdmFyIG9icyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKG11dGF0aW9ucywgb2JzZXJ2ZXIpIHsKICAgICAgICAgICAgICAgIGlmKCBtdXRhdGlvbnNbMF0uYWRkZWROb2Rlcy5sZW5ndGggKQogICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAvLyBoYXZlIHRoZSBvYnNlcnZlciBvYnNlcnZlIGZvbyBmb3IgY2hhbmdlcyBpbiBjaGlsZHJlbgogICAgICAgICAgICBvYnMub2JzZXJ2ZSggb2JqLCB7IGNoaWxkTGlzdDp0cnVlLCBzdWJ0cmVlOnRydWUgfSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIGV2ZW50TGlzdGVuZXJTdXBwb3J0ZWQgKSB7CiAgICAgICAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWQnLCBjYWxsYmFjaywgZmFsc2UpOwogICAgICAgICAgICBvYmouYWRkRXZlbnRMaXN0ZW5lcignRE9NTm9kZVJlbW92ZWQnLCBjYWxsYmFjaywgZmFsc2UpOwogICAgICAgIH0KICAgIH07Cn0KCi8qCiogT25seSB1c2VkIGZvciBnZW5lcmF0aW5nIG9ueW9taUxpc3QKKiBDYW4gYWxzbyBiZSB1c2VkIHRvIGxvYWQga2Fuamkgb255b21pIGluZm9ybWF0aW9ucyBmcm9tIHNlcnZlciAoc2xvdykKKgoqIFVwZGF0ZToKKiBDYWxsIHdpdGggcGFyYW1ldGVyIG9mIGxldmVsIGFuZCBjb3B5IHRoZSBzdHJpbmcgZnJvbSB0aGUgbG9nIHdpbmRvdyBpbiBvbmUgb2YgdGhlIHZhcmlhYmxlcyBvbiB0aGUgdG9wCiogZS5nLgoqIGNvbnNvbGUubG9nKGxvYWRLYXRhRnJvbUFwaSgiUExFQVNBTlQiKSk7CiogY29uc29sZS5sb2cobG9hZEthdGFGcm9tQXBpKCJQQUlORlVMIikpOwoqIGNvbnNvbGUubG9nKGxvYWRLYXRhRnJvbUFwaSgiREVBVEgiKSk7CiogY29uc29sZS5sb2cobG9hZEthdGFGcm9tQXBpKCJIRUxMIikpOwoqIGNvbnNvbGUubG9nKGxvYWRLYXRhRnJvbUFwaSgiUEFSQURJU0UiKSk7CiogY29uc29sZS5sb2cobG9hZEthdGFGcm9tQXBpKCJSRUFMSVRZIikpOwoqLwpmdW5jdGlvbiBsb2FkS2F0YUZyb21BcGkobGV2ZWwpIHsKICAgIHZhciBsZXZlbHM7CiAgICBzd2l0Y2gobGV2ZWwpIHsKICAgICAgICBjYXNlICdQTEVBU0FOVCc6CiAgICAgICAgICAgIGxldmVscyA9ICIxLDIsMyw0LDUsNiw3LDgsOSwxMCI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ1BBSU5GVUwnOgogICAgICAgICAgICBsZXZlbHMgPSAiMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAiOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdERUFUSCc6CiAgICAgICAgICAgIGxldmVscyA9ICIyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ0hFTEwnOgogICAgICAgICAgICBsZXZlbHMgPSAiMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAiOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdQQVJBRElTRSc6CiAgICAgICAgICAgIGxldmVscyA9ICI0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ1JFQUxJVFknOgogICAgICAgICAgICBsZXZlbHMgPSAiNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAiOwogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBsZXZlbHMgPSAnMSc7CiAgICB9CgogICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgcmVxLm9wZW4oJ0dFVCcsICdodHRwczovL3d3dy53YW5pa2FuaS5jb20vYXBpL3VzZXIvJyArIGFwaUtleSArICcva2FuamkvJyArIGxldmVscywgdHJ1ZSk7CiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHJlcS5yZWFkeVN0YXRlID09PSA0KSB7CiAgICAgICAgICAgIGlmIChyZXEuc3RhdHVzID49IDIwMCAmJiByZXEuc3RhdHVzIDwgNDAwKSB7CiAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IEpTT04ucGFyc2UocmVxLnJlc3BvbnNlVGV4dCkucmVxdWVzdGVkX2luZm9ybWF0aW9uOwogICAgICAgICAgICAgICAgdmFyIG91dHB1dCA9IHt9OwoKICAgICAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBvdXRwdXRbbGlzdFtpXS5jaGFyYWN0ZXJdID0gbGlzdFtpXS5pbXBvcnRhbnRfcmVhZGluZyA9PSAib255b21pIiA/IDEgOiAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkob3V0cHV0KSk7CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYWxlcnQoImVycm9yIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgcmVxLnNlbmQoKTsKfQo=", 381 - "storage": { 382 - "data": {}, 383 - "ts": 1607436649633 384 - }, 385 - "uuid": "8e97bd94-02cf-48f1-a58b-ff272dd5aadb" 386 - }, 387 - { 388 - "enabled": false, 389 - "file_url": "https://raw.githubusercontent.com/selslack/codingame-sync-userscript/master/codingame-sync.user.js", 390 - "name": "Codingame File Sync", 391 - "options": { 392 - "awareOfChrome": false, 393 - "check_for_updates": true, 394 - "comment": null, 395 - "compat_arrayleft": false, 396 - "compat_foreach": false, 397 - "compat_forvarin": false, 398 - "compat_metadata": false, 399 - "compat_powerful_this": null, 400 - "compat_uW_gmonkey": false, 401 - "compat_wrappedjsobject": false, 402 - "compatopts_for_requires": true, 403 - "noframes": null, 404 - "override": { 405 - "merge_connects": true, 406 - "merge_excludes": true, 407 - "merge_includes": true, 408 - "merge_matches": true, 409 - "orig_excludes": [], 410 - "orig_includes": [], 411 - "orig_matches": [ 412 - "*://www.codingame.com/*" 413 - ], 414 - "orig_noframes": null, 415 - "orig_run_at": "document-idle", 416 - "use_blockers": [], 417 - "use_connects": [], 418 - "use_excludes": [], 419 - "use_includes": [], 420 - "use_matches": [] 421 - }, 422 - "run_at": null, 423 - "tab_types": null 424 - }, 425 - "position": 9, 426 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgIENvZGluZ2FtZSBGaWxlIFN5bmMKLy8gQG1hdGNoICAgICo6Ly93d3cuY29kaW5nYW1lLmNvbS8qCi8vIEB2ZXJzaW9uICAyLjAKLy8gQGdyYW50ICAgIG5vbmUKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIGlucHV0ID0gbnVsbDsKICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOwoKICAgIHZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uIChtdXRhdGlvbnMpIHsKICAgICAgICBtdXRhdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAobXV0YXRpb24pIHsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdXRhdGlvbi5hZGRlZE5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAobXV0YXRpb24uYWRkZWROb2Rlc1tpXS5ub2RlVHlwZSAhPT0gMSkgeyAvLyBFTEVNRU5UX05PREUKICAgICAgICAgICAgICAgICAgICBjb250aW51ZSA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbGV0IGJ1dHRvbnMgPSBtdXRhdGlvbi5hZGRlZE5vZGVzW2ldLnF1ZXJ5U2VsZWN0b3IoImRpdi5jb2RlLWJ1dHRvbnMiKTsKCiAgICAgICAgICAgICAgICBpZiAoIWJ1dHRvbnMpIHsKICAgICAgICAgICAgICAgICAgICBjb250aW51ZSA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogICAgICAgICAgICAgICAgaW5wdXQuY2xhc3NOYW1lID0gImlkZS10YWIiOwogICAgICAgICAgICAgICAgaW5wdXQudHlwZSA9ICJmaWxlIjsKCiAgICAgICAgICAgICAgICBidXR0b25zLmluc2VydEJlZm9yZShpbnB1dCwgYnV0dG9ucy5maXJzdENoaWxkKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChtdXRhdGlvbi5yZW1vdmVkTm9kZXNbaV0ubm9kZVR5cGUgIT09IDEpIHsgLy8gRUxFTUVOVF9OT0RFCiAgICAgICAgICAgICAgICAgICAgY29udGludWUgOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICghbXV0YXRpb24ucmVtb3ZlZE5vZGVzW2ldLnF1ZXJ5U2VsZWN0b3IoImRpdi5jb2RlLWJ1dHRvbnMiKSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpbnB1dCA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwoKICAgIHZhciBzeW5jID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmICghaW5wdXQgfHwgaW5wdXQuZmlsZXMubGVuZ3RoICE9PSAxKSB7CiAgICAgICAgICAgIHJldHVybiA7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChpbnB1dC5maWxlc1swXSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlKSB7CiAgICAgICAgICAgIC8vIFNhZmVseSBpZ25vcmUgYW55IGVycm9yCiAgICAgICAgfQogICAgfTsKCiAgICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgd2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJFeHRlcm5hbEVkaXRvclRvSURFIiwgewogICAgICAgICAgICBkZXRhaWw6IHsKICAgICAgICAgICAgICAgIHN0YXR1czogInVwZGF0ZUNvZGUiLAogICAgICAgICAgICAgICAgY29kZTogZXZlbnQudGFyZ2V0LnJlc3VsdC5yZXBsYWNlKC9cclxuL2csICJcbiIpLnJlcGxhY2UoL1xyL2csICJcbiIpCiAgICAgICAgICAgIH0KICAgICAgICB9KSk7CiAgICB9OwoKICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgewogICAgICAgIHN1YnRyZWU6IHRydWUsCiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLAogICAgICAgIGF0dHJpYnV0ZXM6IGZhbHNlLAogICAgICAgIGNoYXJhY3RlckRhdGE6IGZhbHNlCiAgICB9KTsKCiAgICBzZXRJbnRlcnZhbChzeW5jLCAxMDAwKTsKfSkoKTsK", 427 - "storage": { 428 - "data": {}, 429 - "ts": 1607436649634 430 - }, 431 - "uuid": "7c2e57a8-c3c9-405e-93b2-c4bb6a4312aa" 432 - }, 433 - { 434 - "enabled": true, 435 - "file_url": "https://greasyfork.org/scripts/396170-bunpro-disable-backspace-undo/code/Bunpro:%20Disable%20Backspace%20Undo.user.js", 436 - "name": "Bunpro: Disable Backspace Undo", 437 - "options": { 438 - "check_for_updates": true, 439 - "comment": null, 440 - "compat_foreach": false, 441 - "compat_metadata": false, 442 - "compat_powerful_this": null, 443 - "compat_prototypes": false, 444 - "compat_wrappedjsobject": false, 445 - "compatopts_for_requires": true, 446 - "noframes": null, 447 - "override": { 448 - "merge_connects": true, 449 - "merge_excludes": true, 450 - "merge_includes": true, 451 - "merge_matches": true, 452 - "orig_connects": [], 453 - "orig_excludes": [ 454 - "*community.bunpro.jp*" 455 - ], 456 - "orig_includes": [ 457 - "*bunpro.jp/*" 458 - ], 459 - "orig_matches": [], 460 - "orig_noframes": null, 461 - "orig_run_at": "document-idle", 462 - "use_blockers": [], 463 - "use_connects": [], 464 - "use_excludes": [], 465 - "use_includes": [], 466 - "use_matches": [] 467 - }, 468 - "run_at": null, 469 - "tab_types": null 470 - }, 471 - "position": 10, 472 - "requires": [], 473 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBCdW5wcm86IERpc2FibGUgQmFja3NwYWNlIFVuZG8KLy8gQG5hbWVzcGFjZSAgICBodHRwOi8vdGFtcGVybW9ua2V5Lm5ldC8KLy8gQHZlcnNpb24gICAgICAxLjAuNgovLyBAZGVzY3JpcHRpb24gIERpc2FibGVzIHRoZSBiYWNrc3BhY2UgZnVuY3Rpb25hbGl0eSBpbiByZXZpZXdzCi8vIEBhdXRob3IgICAgICAgS3VtaXJlaQovLyBAaW5jbHVkZSAgICAgICpidW5wcm8uanAvKgovLyBAZXhjbHVkZSAgICAgICpjb21tdW5pdHkuYnVucHJvLmpwKgovLyBAcmVxdWlyZSAgICAgIGh0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zNzA2MjMtYnVucHJvLWhlbHBmdWwtZXZlbnRzL2NvZGUvQnVucHJvOiUyMEhlbHBmdWwlMjBFdmVudHMuanM/dmVyc2lvbj05NzQzNjkKLy8gQGdyYW50ICAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uKCkgewogICAgdmFyICQgPSB3aW5kb3cuJDsKICAgICQoJ2h0bWwnKVswXS5hZGRFdmVudExpc3RlbmVyKCdxdWl6LXBhZ2UnLCAoKT0+ewogICAgICAgIHZhciBpbnB1dF9lbGVtID0gJCgnI3N0dWR5LWFuc3dlci1pbnB1dCcpOwogICAgICAgICQoJ2JvZHknKS5rZXlkb3duKChldmVudCk9PnsKICAgICAgICAgICAgdmFyIGNvbG9ycyA9IGlucHV0X2VsZW0uY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykubWF0Y2goL1xkKy9nKTsKICAgICAgICAgICAgdmFyIHN1bSA9IGNvbG9ycy5yZWR1Y2UoKGEsIGIpPT5OdW1iZXIoYSkrTnVtYmVyKGIpKTsKICAgICAgICAgICAgdmFyIHJlZG5lc3MgPSBjb2xvcnNbMF0vc3VtOwogICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PSA4ICYmIHJlZG5lc3MgPiAwLjQpIHsKICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgaW5wdXRfZWxlbS5ibHVyKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwp9KSgpOwo=", 474 - "storage": { 475 - "data": {}, 476 - "ts": 1607436649636 477 - }, 478 - "uuid": "a83ba4d2-a68b-45d6-b98f-e0c8a83de351" 479 - }, 480 - { 481 - "enabled": true, 482 - "file_url": "https://greasyfork.org/scripts/35063-wanikani-double-check/code/Wanikani%20Double-Check.user.js", 483 - "name": "Wanikani Double-Check", 484 - "options": { 485 - "check_for_updates": false, 486 - "comment": null, 487 - "compat_foreach": false, 488 - "compat_metadata": false, 489 - "compat_powerful_this": null, 490 - "compat_wrappedjsobject": false, 491 - "compatopts_for_requires": true, 492 - "noframes": null, 493 - "override": { 494 - "merge_connects": true, 495 - "merge_excludes": true, 496 - "merge_includes": true, 497 - "merge_matches": true, 498 - "orig_connects": [], 499 - "orig_excludes": [], 500 - "orig_includes": [], 501 - "orig_matches": [ 502 - "https://www.wanikani.com/extra_study/session*", 503 - "https://www.wanikani.com/review/session*", 504 - "https://preview.wanikani.com/extra_study/session*", 505 - "https://preview.wanikani.com/review/session*" 506 - ], 507 - "orig_noframes": null, 508 - "orig_run_at": "document-end", 509 - "use_blockers": [], 510 - "use_connects": [], 511 - "use_excludes": [], 512 - "use_includes": [], 513 - "use_matches": [] 514 - }, 515 - "run_at": null, 516 - "sandbox": null, 517 - "tab_types": null, 518 - "unwrap": null 519 - }, 520 - "position": 11, 521 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIERvdWJsZS1DaGVjawovLyBAbmFtZXNwYWNlICAgd2tkb3VibGVjaGVjawovLyBAZGVzY3JpcHRpb24gQWxsb3dzIHJldHlwaW5nIHR5cG8nZCBhbnN3ZXJzLCBvciBtYXJraW5nIHdyb25nIHdoZW4gV0sncyB0eXBvIHRvbGVyYW5jZSBpcyB0b28gbGF4LgovLyBAbWF0Y2ggICAgICAgaHR0cHM6Ly93d3cud2FuaWthbmkuY29tL2V4dHJhX3N0dWR5L3Nlc3Npb24qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tL2V4dHJhX3N0dWR5L3Nlc3Npb24qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tL3Jldmlldy9zZXNzaW9uKgovLyBAdmVyc2lvbiAgICAgMi4zLjMKLy8gQGF1dGhvciAgICAgIFJvYmluIEZpbmRsZXkKLy8gQGNvcHlyaWdodCAgIDIwMTcrLCBSb2JpbiBGaW5kbGV5Ci8vIEBsaWNlbnNlICAgICBNSVQ7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKLy8gQHJ1bi1hdCAgICAgIGRvY3VtZW50LWVuZAovLyBAZ3JhbnQgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCi8vIENSRURJVFM6IFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgYW4gb3JpZ2luYWwgc2NyaXB0IGJ5IFdhbmlrYW5pIHVzZXIgQEV0aGFuLgovLyBFdGhhbidzIHNjcmlwdCBzdG9wcGVkIHdvcmtpbmcgZHVlIHRvIHNvbWUgV2FuaWthbmkgY2hhbmdlcy4gIFRoZSBjb2RlIGJlbG93IGlzCi8vIDEwMCUgbXkgb3duLCBidXQgaXQgY2xvc2VseSByZXBsaWNhdGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEV0aGFuJ3Mgb3JpZ2luYWwgc2NyaXB0LgoKLy8gSE9US0VZUzoKLy8gICAiKyIgICAgICAtIE1hcmtzIGFuc3dlciBhcyAnY29ycmVjdCcuCi8vICAgIi0iICAgICAgLSBNYXJrcyBhbnN3ZXIgYXMgJ2luY29ycmVjdCcuCi8vICAgIkVzY2FwZSIgb3IgIkJhY2tzcGFjZSIgLSBSZXNldHMgcXVlc3Rpb24sIGFsbG93aW5nIHlvdSB0byByZXR5cGUuCgovLyBTRUUgU0VUVElOR1MgQkVMT1cuCgp3aW5kb3cuZG91YmxlY2hlY2sgPSB7fTsKCihmdW5jdGlvbihnb2JqKSB7CgogICAgLyogZ2xvYmFsIHdrb2YsIGFkZGl0aW9uYWxDb250ZW50LCBsYXN0SXRlbXMsIFNycywgd2FuYWthbmEsIFdhbmlLYW5pICovCgogICAgdmFyIHNldHRpbmdzOwoKICAgIHdrb2YuaW5jbHVkZSgnTWVudSxTZXR0aW5ncycpOwogICAgd2tvZi5yZWFkeSgnZG9jdW1lbnQsTWVudSxTZXR0aW5ncycpLnRoZW4oc2V0dXApOwogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHNldHVwKCkgLSBTZXQgdXAgdGhlIG1lbnUgbGluayBhbmQgZGVmYXVsdCBzZXR0aW5ncy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzZXR1cCgpIHsKICAgICAgICB3a29mLk1lbnUuaW5zZXJ0X3NjcmlwdF9saW5rKHtuYW1lOidkb3VibGVjaGVjaycsc3VibWVudTonU2V0dGluZ3MnLHRpdGxlOidEb3VibGUtQ2hlY2snLG9uX2NsaWNrOm9wZW5fc2V0dGluZ3N9KTsKCiAgICAgICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgICAgICBhbGxvd19yZXR5cGluZzogdHJ1ZSwKICAgICAgICAgICAgYWxsb3dfY2hhbmdlX2NvcnJlY3Q6IGZhbHNlLAogICAgICAgICAgICBzaG93X2NvcnJlY3RlZF9hbnN3ZXI6IGZhbHNlLAogICAgICAgICAgICBhbGxvd19jaGFuZ2VfaW5jb3JyZWN0OiBmYWxzZSwKICAgICAgICAgICAgdHlwb19hY3Rpb246ICdpZ25vcmUnLAogICAgICAgICAgICB3cm9uZ19hbnN3ZXJfdHlwZV9hY3Rpb246ICd3YXJuJywKICAgICAgICAgICAgd3JvbmdfbnVtYmVyX25fYWN0aW9uOiAnd2FybicsCiAgICAgICAgICAgIHNtYWxsX2thbmFfYWN0aW9uOiAnd2FybicsCiAgICAgICAgICAgIGthbmppX3JlYWRpbmdfZm9yX3ZvY2FiX2FjdGlvbjogJ3dhcm4nLAogICAgICAgICAgICBrYW5qaV9tZWFuaW5nX2Zvcl92b2NhYl9hY3Rpb246ICd3YXJuJywKICAgICAgICAgICAgZGVsYXlfd3Jvbmc6IHRydWUsCiAgICAgICAgICAgIGRlbGF5X211bHRpX21lYW5pbmc6IGZhbHNlLAogICAgICAgICAgICBkZWxheV9zbGlnaHRseV9vZmY6IGZhbHNlLAogICAgICAgICAgICBkZWxheV9wZXJpb2Q6IDEuNSwKICAgICAgICAgICAgd2Fybl9idXJuOiAnbmV2ZXInLAogICAgICAgICAgICBidXJuX2RlbGF5X3BlcmlvZDogMS41LAogICAgICAgICAgICBzaG93X2xpZ2h0bmluZ19idXR0b246IHRydWUsCiAgICAgICAgICAgIGxpZ2h0bmluZ19lbmFibGVkOiBmYWxzZSwKICAgICAgICAgICAgc3JzX21zZ19wZXJpb2Q6IDEuMiwKICAgICAgICAgICAgYXV0b2luZm9fY29ycmVjdDogZmFsc2UsCiAgICAgICAgICAgIGF1dG9pbmZvX2luY29ycmVjdDogZmFsc2UsCiAgICAgICAgICAgIGF1dG9pbmZvX211bHRpX21lYW5pbmc6IGZhbHNlLAogICAgICAgICAgICBhdXRvaW5mb19zbGlnaHRseV9vZmY6IGZhbHNlCiAgICAgICAgfQogICAgICAgIHJldHVybiB3a29mLlNldHRpbmdzLmxvYWQoJ2RvdWJsZWNoZWNrJywgZGVmYXVsdHMpCiAgICAgICAgICAgIC50aGVuKGluaXRfdWkuYmluZChudWxsLCB0cnVlIC8qIGZpcnN0X3RpbWUgKi8pKTsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gb3Blbl9zZXR0aW5ncygpIC0gT3BlbiB0aGUgU2V0dGluZ3MgZGlhbG9nLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG9wZW5fc2V0dGluZ3MoKSB7CiAgICAgICAgdmFyIGRpYWxvZyA9IG5ldyB3a29mLlNldHRpbmdzKHsKICAgICAgICAgICAgc2NyaXB0X2lkOiAnZG91YmxlY2hlY2snLAogICAgICAgICAgICB0aXRsZTogJ0RvdWJsZS1DaGVjayBTZXR0aW5ncycsCiAgICAgICAgICAgIG9uX3NhdmU6IGluaXRfdWksCiAgICAgICAgICAgIHByZV9vcGVuOiBzZXR0aW5nc19wcmVvcGVuLAogICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICB0YWJBbnN3ZXJzOiB7dHlwZToncGFnZScsbGFiZWw6J0Fuc3dlcnMnLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgIGdycENoYW5nZUFuc3dlcnM6IHt0eXBlOidncm91cCcsbGFiZWw6J0NoYW5nZSBBbnN3ZXInLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgICAgICBhbGxvd19yZXR5cGluZzoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonQWxsb3cgcmV0eXBpbmcgYW5zd2VyJyxkZWZhdWx0OnRydWUsaG92ZXJfdGlwOidXaGVuIGVuYWJsZWQsIHlvdSBjYW4gcmV0eXBlIHlvdXIgYW5zd2VyIGJ5IHByZXNzaW5nIEVzY2FwZSBvciBCYWNrc3BhY2UuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93X2NoYW5nZV9pbmNvcnJlY3Q6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0FsbG93IGNoYW5naW5nIHRvICJpbmNvcnJlY3QiJyxkZWZhdWx0OnRydWUsaG92ZXJfdGlwOidXaGVuIGVuYWJsZWQsIHlvdSBjYW4gY2hhbmdlIHlvdXIgYW5zd2VyXG50byAiaW5jb3JyZWN0IiBieSBwcmVzc2luZyB0aGUgIi0iIGtleS4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dfY2hhbmdlX2NvcnJlY3Q6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0FsbG93IGNoYW5naW5nIHRvICJjb3JyZWN0IicsZGVmYXVsdDp0cnVlLGhvdmVyX3RpcDonV2hlbiBlbmFibGVkLCB5b3UgY2FuIGNoYW5nZSB5b3VyIGFuc3dlclxudG8gImNvcnJlY3QiIGJ5IHByZXNzaW5nIHRoZSAiKyIga2V5Lid9LAogICAgICAgICAgICAgICAgICAgICAgICBzaG93X2NvcnJlY3RlZF9hbnN3ZXI6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1Nob3cgY29ycmVjdGVkIGFuc3dlcicsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J1doZW4gZW5hYmxlZCwgcHJlc3NpbmcgXCcrXCcgdG8gY29ycmVjdCB5b3VyIGFuc3dlciBwdXRzIHRoZVxuY29ycmVjdGVkIGFuc3dlciBpbiB0aGUgaW5wdXQgZmllbGQuIFByZXNzaW5nIFwnK1wnIG11bHRpcGxlXG50aW1lcyBjeWNsZXMgdGhyb3VnaCBhbGwgYWNjZXB0YWJsZSBhbnN3ZXJzLid9LAogICAgICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgICAgIGdycENhcmVsZXNzTWlzdGFrZXM6IHt0eXBlOidncm91cCcsbGFiZWw6J0NhcmVsZXNzIE1pc3Rha2VzJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgdHlwb19hY3Rpb246IHt0eXBlOidkcm9wZG93bicsbGFiZWw6J1R5cG9zIGluIG1lYW5pbmcnLGRlZmF1bHQ6J2lnbm9yZScsY29udGVudDp7aWdub3JlOidJZ25vcmUnLHdhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiBtZWFuaW5nIGNvbnRhaW5zIHR5cG9zLid9LAogICAgICAgICAgICAgICAgICAgICAgICB3cm9uZ19hbnN3ZXJfdHlwZV9hY3Rpb246IHt0eXBlOidkcm9wZG93bicsbGFiZWw6J1dyb25nIGFuc3dlciB0eXBlJyxkZWZhdWx0Oid3YXJuJyxjb250ZW50Ont3YXJuOidXYXJuL3NoYWtlJyx3cm9uZzonTWFyayB3cm9uZyd9LGhvdmVyX3RpcDonQ2hvb3NlIGFuIGFjdGlvbiB0byB0YWtlIHdoZW4gcmVhZGluZyB3YXMgZW50ZXJlZCBpbnN0ZWFkIG9mIG1lYW5pbmcsIG9yIHZpY2UgdmVyc2EuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIHdyb25nX251bWJlcl9uX2FjdGlvbjoge3R5cGU6J2Ryb3Bkb3duJyxsYWJlbDonV3JvbmcgbnVtYmVyIG9mIG5cJ3MnLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB5b3UgdHlwZSB0aGUgd3JvbmcgbnVtYmVyIG9mIG5cJ3MgaW4gY2VydGFpbiByZWFkaW5nIHF1ZXN0aW9ucy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgc21hbGxfa2FuYV9hY3Rpb246IHt0eXBlOidkcm9wZG93bicsbGFiZWw6J0JpZyBrYW5hIGluc3RlYWQgb2Ygc21hbGwnLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB5b3UgdHlwZSBhIGJpZyBrYW5hIGluc3RlYWQgb2Ygc21hbGwgKGUuZy4g44KGIGluc3RlYWQgb2Yg44KFKS4nfSwKICAgICAgICAgICAgICAgICAgICAgICAga2FuamlfcmVhZGluZ19mb3Jfdm9jYWJfYWN0aW9uOiB7dHlwZTonZHJvcGRvd24nLGxhYmVsOidLYW5qaSByZWFkaW5nIGluc3RlYWQgb2Ygdm9jYWInLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB0aGUgcmVhZGluZyBvZiBhIGthbmppIGlzIGVudGVyZWQgZm9yIGEgc2luZ2xlIGNoYXJhY3RlciB2b2NhYiB3b3JkIGluc3RlYWQgb2YgdGhlIGNvcnJlY3Qgdm9jYWIgcmVhZGluZy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAga2FuamlfbWVhbmluZ19mb3Jfdm9jYWJfYWN0aW9uOiB7dHlwZTonZHJvcGRvd24nLGxhYmVsOidLYW5qaSBtZWFuaW5nIGluc3RlYWQgb2Ygdm9jYWInLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB0aGUgbWVhbmluZyBvZiBhIGthbmppIGlzIGVudGVyZWQgZm9yIGEgc2luZ2xlIGNoYXJhY3RlciB2b2NhYiB3b3JkIGluc3RlYWQgb2YgdGhlIGNvcnJlY3Qgdm9jYWIgbWVhbmluZy4nfSwKICAgICAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgdGFiTWlzdGFrZURlbGF5OiB7dHlwZToncGFnZScsbGFiZWw6J01pc3Rha2UgRGVsYXknLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgIGdycERlbGF5OiB7dHlwZTonZ3JvdXAnLGxhYmVsOidEZWxheSBOZXh0IFF1ZXN0aW9uJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXlfd3Jvbmc6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0RlbGF5IHdoZW4gd3JvbmcnLGRlZmF1bHQ6dHJ1ZSxyZWZyZXNoX29uX2NoYW5nZTp0cnVlLGhvdmVyX3RpcDonSWYgeW91ciBhbnN3ZXIgaXMgd3JvbmcsIHlvdSBjYW5ub3QgYWR2YW5jZVxudG8gdGhlIG5leHQgcXVlc3Rpb24gZm9yIGF0IGxlYXN0IE4gc2Vjb25kcy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXlfbXVsdGlfbWVhbmluZzoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonRGVsYXkgd2hlbiBtdWx0aXBsZSBtZWFuaW5ncycsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0lmIHRoZSBpdGVtIGhhcyBtdWx0aXBsZSBtZWFuaW5ncywgeW91IGNhbm5vdCBhZHZhbmNlXG50byB0aGUgbmV4dCBxdWVzdGlvbiBmb3IgYXQgbGVhc3QgTiBzZWNvbmRzLid9LAogICAgICAgICAgICAgICAgICAgICAgICBkZWxheV9zbGlnaHRseV9vZmY6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0RlbGF5IHdoZW4gYW5zd2VyIGhhcyB0eXBvcycsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0lmIHlvdXIgYW5zd2VyIGNvbnRhaW5zIHR5cG9zLCB5b3UgY2Fubm90IGFkdmFuY2VcbnRvIHRoZSBuZXh0IHF1ZXN0aW9uIGZvciBhdCBsZWFzdCBOIHNlY29uZHMuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5X3BlcmlvZDoge3R5cGU6J251bWJlcicsbGFiZWw6J0RlbGF5IHBlcmlvZCAoaW4gc2Vjb25kcyknLGRlZmF1bHQ6MS41LGhvdmVyX3RpcDonTnVtYmVyIG9mIHNlY29uZHMgdG8gZGVsYXkgYmVmb3JlIGFsbG93aW5nXG55b3UgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBxdWVzdGlvbi4nfSwKICAgICAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgdGFiQnVyblJldmlld3M6IHt0eXBlOidwYWdlJyxsYWJlbDonQnVybiBSZXZpZXdzJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICBncnBCdXJuUmV2aWV3czoge3R5cGU6J2dyb3VwJyxsYWJlbDonQnVybiBSZXZpZXdzJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgd2Fybl9idXJuOiB7dHlwZTonZHJvcGRvd24nLGxhYmVsOidXYXJuIGJlZm9yZSBidXJuaW5nJyxkZWZhdWx0OiduZXZlcicsY29udGVudDp7bmV2ZXI6J05ldmVyJyxjaGVhdGVkOidJZiB5b3UgY2hhbmdlZCBhbnN3ZXInLGFsd2F5czonQWx3YXlzJ30saG92ZXJfdGlwOidDaG9vc2Ugd2hlbiB0byB3YXJuIGJlZm9yZSBidXJuaW5nIGFuIGl0ZW0uJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1cm5fZGVsYXlfcGVyaW9kOiB7dHlwZTonbnVtYmVyJyxsYWJlbDonRGVsYXkgYWZ0ZXIgd2FybmluZyAoaW4gc2Vjb25kcyknLGRlZmF1bHQ6MS41LGhvdmVyX3RpcDonTnVtYmVyIG9mIHNlY29uZHMgdG8gZGVsYXkgYmVmb3JlIGFsbG93aW5nXG55b3UgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBxdWVzdGlvbiBhZnRlciBzZWVpbmcgYSBidXJuIHdhcm5pbmcuJ30sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIHRhYkxpZ2h0bmluZzoge3R5cGU6J3BhZ2UnLGxhYmVsOidMaWdodG5pbmcnLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgIGdycExpZ2h0bmluZzoge3R5cGU6J2dyb3VwJyxsYWJlbDonTGlnaHRuaW5nIE1vZGUnLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgICAgICBzaG93X2xpZ2h0bmluZ19idXR0b246IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1Nob3cgIkxpZ2h0bmluZyBNb2RlIiBidXR0b24nLGRlZmF1bHQ6dHJ1ZSxob3Zlcl90aXA6J1Nob3cgdGhlICJMaWdodG5pbmcgTW9kZSIgdG9nZ2xlXG5idXR0b24gb24gdGhlIHJldmlldyBzY3JlZW4uJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0bmluZ19lbmFibGVkOiB7dHlwZTonY2hlY2tib3gnLGxhYmVsOidFbmFibGUgIkxpZ2h0bmluZyBNb2RlIicsZGVmYXVsdDp0cnVlLHJlZnJlc2hfb25fY2hhbmdlOnRydWUsaG92ZXJfdGlwOidFbmFibGUgIkxpZ2h0bmluZyBNb2RlIiwgd2hpY2ggYXV0b21hdGljYWxseSBhZHZhbmNlcyB0b1xudGhlIG5leHQgcXVlc3Rpb24gaWYgeW91IGFuc3dlciBjb3JyZWN0bHkuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIHNyc19tc2dfcGVyaW9kOiB7dHlwZTonbnVtYmVyJyxsYWJlbDonU1JTIHBvcHVwIHRpbWUgKGluIHNlY29uZHMpJyxkZWZhdWx0OjEuMixtaW46MCxob3Zlcl90aXA6J0hvdyBsb25nIHRvIHNob3cgU1JTIHVwL2Rvd24gcG9wdXAgd2hlbiBpbiBsaWdodG5pbmcgbW9kZS4gICgwID0gZG9uXCd0IHNob3cpJ30sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIHRhYkF1dG9JbmZvOiB7dHlwZToncGFnZScsbGFiZWw6J0l0ZW0gSW5mbycsY29udGVudDp7CiAgICAgICAgICAgICAgICAgICAgZ3JwQXV0b0luZm86IHt0eXBlOidncm91cCcsbGFiZWw6J1Nob3cgSXRlbSBJbmZvJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2luZm9fY29ycmVjdDoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonQWZ0ZXIgY29ycmVjdCBhbnN3ZXInLGRlZmF1bHQ6ZmFsc2UsaG92ZXJfdGlwOidBdXRvbWF0aWNhbGx5IHNob3cgdGhlIEl0ZW0gSW5mbyBhZnRlciBjb3JyZWN0IGFuc3dlcnMuJywgdmFsaWRhdGU6dmFsaWRhdGVfYXV0b2luZm9fY29ycmVjdH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9pbmZvX2luY29ycmVjdDoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonQWZ0ZXIgaW5jb3JyZWN0IGFuc3dlcicsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0F1dG9tYXRpY2FsbHkgc2hvdyB0aGUgSXRlbSBJbmZvIGFmdGVyIGluY29ycmVjdCBhbnN3ZXJzLicsIHZhbGlkYXRlOnZhbGlkYXRlX2F1dG9pbmZvX2luY29ycmVjdH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9pbmZvX211bHRpX21lYW5pbmc6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1doZW4gbXVsdGlwbGUgbWVhbmluZ3MnLGRlZmF1bHQ6ZmFsc2UsaG92ZXJfdGlwOidBdXRvbWF0aWNhbGx5IHNob3cgdGhlIEl0ZW0gSW5mbyB3aGVuIGFuIGl0ZW0gaGFzIG11bHRpcGxlIG1lYW5pbmdzLicsIHZhbGlkYXRlOnZhbGlkYXRlX2F1dG9pbmZvX2NvcnJlY3R9LAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvaW5mb19zbGlnaHRseV9vZmY6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1doZW4gYW5zd2VyIGhhcyB0eXBvcycsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0F1dG9tYXRpY2FsbHkgc2hvdyB0aGUgSXRlbSBJbmZvIHdoZW4geW91ciBhbnN3ZXIgaGFzIHR5cG9zLicsIHZhbGlkYXRlOnZhbGlkYXRlX2F1dG9pbmZvX2NvcnJlY3R9LAogICAgICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBkaWFsb2cub3BlbigpOwogICAgfQoKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyB2YWxpZGF0ZV9hdXRvaW5mb19jb3JyZWN0KCkgLSBOb3RpZnkgdXNlciBpZiBpdGVtaW5mbyBhbmQgbGlnaHRuaW5nIGFyZSBib3RoIGVuYWJsZWQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gdmFsaWRhdGVfYXV0b2luZm9fY29ycmVjdChlbmFibGVkKSB7CiAgICAgICAgaWYgKGVuYWJsZWQgJiYgc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQpIHsKICAgICAgICAgICAgcmV0dXJuICdEaXNhYmxlICJMaWdodG5pbmcgTW9kZSIhJzsKICAgICAgICB9CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHZhbGlkYXRlX2F1dG9pbmZvX2luY29ycmVjdCgpIC0gTm90aWZ5IHVzZXIgaWYgaXRlbWluZm8gYW5kIGxpZ2h0bmluZyBhcmUgYm90aCBlbmFibGVkLCBhbmQgd3JvbmdfZGVsYXkgZGlzYWJsZWQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gdmFsaWRhdGVfYXV0b2luZm9faW5jb3JyZWN0KGVuYWJsZWQpIHsKICAgICAgICBpZiAoZW5hYmxlZCAmJiBzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZCAmJiAhc2V0dGluZ3MuZGVsYXlfd3JvbmcpIHsKICAgICAgICAgICAgcmV0dXJuICdEaXNhYmxlICJMaWdodG5pbmcgTW9kZSIsIG9yPGJyPmVuYWJsZSAiRGVsYXkgd2hlbiB3cm9uZyIhJzsKICAgICAgICB9CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHNldHRpbmdzX3ByZW9wZW4oKSAtIE5vdGlmeSB1c2VyIGlmIGl0ZW1pbmZvIGFuZCBsaWdodG5pbmcgYXJlIGJvdGggZW5hYmxlZC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzZXR0aW5nc19wcmVvcGVuKGRpYWxvZykgewogICAgICAgIGRpYWxvZy5kaWFsb2coe3dpZHRoOjUyNX0pOwogICAgfQoKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBpbml0X3VpKCkgLSBJbml0aWFsaXplIHRoZSB1c2VyIGludGVyZmFjZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgZmlyc3RfdGltZSA9IHRydWU7CiAgICBmdW5jdGlvbiBpbml0X3VpKCkgewogICAgICAgIHNldHRpbmdzID0gd2tvZi5zZXR0aW5ncy5kb3VibGVjaGVjazsKCiAgICAgICAgaWYgKGZpcnN0X3RpbWUpIHsKICAgICAgICAgICAgZmlyc3RfdGltZSA9IGZhbHNlOwogICAgICAgICAgICBzdGFydHVwKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBNaWdyYXRlICdsaWdodG5pbmcnIHNldHRpbmcgZnJvbSBsb2NhbFN0b3JhZ2UuCiAgICAgICAgdmFyIGxpZ2h0bmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsaWdodG5pbmcnKTsKICAgICAgICBpZiAobGlnaHRuaW5nID09PSAnZmFsc2UnIHx8IGxpZ2h0bmluZyA9PT0gJ3RydWUnKSB7CiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdsaWdodG5pbmcnKTsKICAgICAgICAgICAgc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQgPSBsaWdodG5pbmc7CiAgICAgICAgICAgIHdrb2YuU2V0dGluZ3Muc2F2ZSgnZG91YmxlY2hlY2snKTsKICAgICAgICB9CgogICAgICAgIC8vIEluaXRpYWxpemUgdGhlIExpZ2h0bmluZyBNb2RlIGJ1dHRvbi4KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbGlnaHRuaW5nLW1vZGUnKS5jbGFzc0xpc3QudG9nZ2xlKCdkb3VibGVjaGVjay1hY3RpdmUnLCBzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZCk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2xpZ2h0bmluZy1tb2RlJykuaGlkZGVuID0gIXNldHRpbmdzLnNob3dfbGlnaHRuaW5nX2J1dHRvbjsKCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1kb3VibGUtY2hlY2snKS5jbGFzc0xpc3QudG9nZ2xlKCdoaWRkZW4nLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9jb3JyZWN0IHx8IHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QpKTsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLXJldHlwZScpLmNsYXNzTGlzdC50b2dnbGUoJ2hpZGRlbicsICFzZXR0aW5ncy5hbGxvd19yZXR5cGluZyk7CiAgICAgICAgcmVzaXplX2J1dHRvbnMoKTsKCiAgICAgICAgaWYgKHN0YXRlID09PSAnc2Vjb25kX3N1Ym1pdCcpIHsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1kb3VibGUtY2hlY2snKS5jbGFzc0xpc3QudG9nZ2xlKCdkaXNhYmxlZCcsICEoCiAgICAgICAgICAgICAgICAobmV3X2Fuc3dlci5wYXNzZWQgJiYgKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKSB8fAogICAgICAgICAgICAgICAgKCFuZXdfYW5zd2VyLnBhc3NlZCAmJiAoc2V0dGluZ3MuYWxsb3dfY2hhbmdlX2NvcnJlY3QgfHwgZmlyc3RfYW5zd2VyLnBhc3NlZCkpCiAgICAgICAgICAgICkpOwogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLXJldHlwZScpLmNsYXNzTGlzdC50b2dnbGUoJ2Rpc2FibGVkJywgIXNldHRpbmdzLmFsbG93X3JldHlwaW5nKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLWRvdWJsZS1jaGVjaycpLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJyk7CiAgICAgICAgfQogICAgfQoKICAgIHZhciBvbGRfc3VibWl0X2hhbmRsZXIsIG9sZF9hbnN3ZXJfY2hlY2tlciwgaWdub3JlX3N1Ym1pdCA9IGZhbHNlLCBzdGF0ZSA9ICdmaXJzdF9zdWJtaXQnLCBzaG93X3Nycywgc3JzX2xvYWQsIGRlbGF5X3RpbWVyOwogICAgdmFyIGl0ZW0sIGl0eXBlLCBpdGVtX2lkLCBpdGVtX3N0YXR1cywgcXR5cGUsIHZhbGlkX2Fuc3dlcnMsIHdyb25nX2NudCwgcXVlc3Rpb25fY250LCBjb21wbGV0ZWRfY250LCBhbnN3ZXIsIG5ld19hbnN3ZXIsIGFjdGl2ZV9xdWV1ZTsKICAgIHZhciBsYXN0X2l0ZW1faWQsIGxhc3RfcXR5cGUsIGZpcnN0X2Fuc3dlcjsKCiAgICBmdW5jdGlvbiBwcm9taXNlKCl7dmFyIGEsYixjPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsZSl7YT1kO2I9ZTt9KTtjLnJlc29sdmU9YTtjLnJlamVjdD1iO3JldHVybiBjO30KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gbGlnaHRuaW5nX2NsaWNrZWQoKSAtIExpZ2h0bmluZyBidXR0b24gaGFuZGxlci4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBsaWdodG5pbmdfY2xpY2tlZCgpIHsKICAgICAgICBzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZCA9ICFzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZDsKICAgICAgICB3a29mLlNldHRpbmdzLnNhdmUoJ2RvdWJsZWNoZWNrJyk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2xpZ2h0bmluZy1tb2RlJykuY2xhc3NMaXN0LnRvZ2dsZSgnZG91YmxlY2hlY2stYWN0aXZlJywgc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gZ2V0X2NvcnJlY3RfYW5zd2VycygpIC0gUmV0dXJucyBhbiBhcnJheSBvZiBhY2NlcHRhYmxlIGFuc3dlcnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X2NvcnJlY3RfYW5zd2VycygpIHsKICAgICAgICBpZiAocXR5cGUgPT09ICdyZWFkaW5nJykgewogICAgICAgICAgICBpZiAoaXR5cGUgPT09ICdrJykgewogICAgICAgICAgICAgICAgc3dpdGNoIChpdGVtLmVtcGgpIHsKICAgICAgICAgICAgICAgICAgICBjYXNlICJvbnlvbWkiOiByZXR1cm4gaXRlbS5vbjsKICAgICAgICAgICAgICAgICAgICBjYXNlICJrdW55b21pIjogcmV0dXJuIGl0ZW0ua3VuOwogICAgICAgICAgICAgICAgICAgIGNhc2UgIm5hbm9yaSI6IHJldHVybiBpdGVtLm5hbm9yaTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmthbmE7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gW10uY29uY2F0KGl0ZW0uc3luLGl0ZW0uZW4pOwogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gZ2V0X25leHRfY29ycmVjdF9hbnN3ZXIoKSAtIFJldHVybnMgdGhlIG5leHQgYWNjZXB0YWJsZSBhbnN3ZXIgZnJvbSB0aGUKICAgIC8vICAgIGFycmF5IHJldHVybmVkIGJ5IGdldF9jb3JyZWN0X2Fuc3dlcnMoKS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBnZXRfbmV4dF9jb3JyZWN0X2Fuc3dlcigpIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZmlyc3RfYW5zd2VyLmNvcnJlY3RfYW5zd2Vyc1tmaXJzdF9hbnN3ZXIuY29ycmVjdF9hbnN3ZXJfaW5kZXhdOwogICAgICAgIGZpcnN0X2Fuc3dlci5jb3JyZWN0X2Fuc3dlcl9pbmRleCA9IChmaXJzdF9hbnN3ZXIuY29ycmVjdF9hbnN3ZXJfaW5kZXggKyAxKSAlIGZpcnN0X2Fuc3dlci5jb3JyZWN0X2Fuc3dlcnMubGVuZ3RoOwogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHRvZ2dsZV9yZXN1bHQoKSAtIFRvZ2dsZSBhbiBhbnN3ZXIgZnJvbSByaWdodC0+d3Jvbmcgb3Igd3JvbmctPnJpZ2h0LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHRvZ2dsZV9yZXN1bHQobmV3X3N0YXRlKSB7CiAgICAgICAgaWYgKG5ld19zdGF0ZSA9PT0gJ3RvZ2dsZScpIG5ld19zdGF0ZSA9IChuZXdfYW5zd2VyLnBhc3NlZCA/ICdpbmNvcnJlY3QnIDogJ2NvcnJlY3QnKTsKICAgICAgICBpZiAoc3RhdGUgIT09ICdzZWNvbmRfc3VibWl0JykgcmV0dXJuIGZhbHNlOwoKICAgICAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYW5zd2VyLWZvcm0gZmllbGRzZXQgaW5wdXQnKTsKICAgICAgICB2YXIgY3VycmVudF9yZXNwb25zZSA9IGlucHV0LnZhbHVlOwogICAgICAgIGNsZWFyX2RlbGF5KCk7CiAgICAgICAgc3dpdGNoIChuZXdfc3RhdGUpIHsKICAgICAgICAgICAgY2FzZSAnY29ycmVjdCc6CiAgICAgICAgICAgICAgICBpZiAoIShzZXR0aW5ncy5hbGxvd19jaGFuZ2VfY29ycmVjdCB8fCBmaXJzdF9hbnN3ZXIucGFzc2VkKSkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKGZpcnN0X2Fuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9IGZpcnN0X2Fuc3dlci5yZXNwb25zZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsdWUgPSBnZXRfbmV4dF9jb3JyZWN0X2Fuc3dlcigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbmV3X2Fuc3dlciA9IHtwYXNzZWQ6dHJ1ZSwgYWNjdXJhdGU6dHJ1ZSwgbXVsdGlwbGVBbnN3ZXJzOmZhbHNlLCBleGNlcHRpb246ZmFsc2V9OwogICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShuZXdfYW5zd2VyLCBmYWxzZSAvKiBzaG93X21zZ3MgKi8pOwogICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncy5zaG93X2NvcnJlY3RlZF9hbnN3ZXIpIGlucHV0LnZhbHVlID0gY3VycmVudF9yZXNwb25zZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdpbmNvcnJlY3QnOgogICAgICAgICAgICAgICAgaWYgKCEobmV3X2Fuc3dlci5wYXNzZWQgJiYgKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKSkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKGZpcnN0X2Fuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9ICd4eHh4eHgnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9IGZpcnN0X2Fuc3dlci5yZXNwb25zZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG5ld19hbnN3ZXIgPSB7cGFzc2VkOmZhbHNlLCBhY2N1cmF0ZTpmYWxzZSwgbXVsdGlwbGVBbnN3ZXJzOmZhbHNlLCBleGNlcHRpb246ZmFsc2V9OwogICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShuZXdfYW5zd2VyLCBmYWxzZSAvKiBzaG93X21zZ3MgKi8pOwogICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncy5zaG93X2NvcnJlY3RlZF9hbnN3ZXIpIGlucHV0LnZhbHVlID0gY3VycmVudF9yZXNwb25zZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdyZXR5cGUnOgogICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncy5hbGxvd19yZXR5cGluZykgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZSh7cmVzZXQ6dHJ1ZSwgZHVlX3RvX3JldHlwZTp0cnVlfSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIGRvX2RlbGF5KCkgLSBEaXNhYmxlIHRoZSBzdWJtaXQgYnV0dG9uIGJyaWVmbHkgdG8gcHJldmVudCBjbGlja2luZyBwYXN0IHdyb25nIGFuc3dlcnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZG9fZGVsYXkocGVyaW9kKSB7CiAgICAgICAgaWYgKHBlcmlvZCA9PT0gdW5kZWZpbmVkKSBwZXJpb2QgPSBzZXR0aW5ncy5kZWxheV9wZXJpb2Q7CiAgICAgICAgaWdub3JlX3N1Ym1pdCA9IHRydWU7CiAgICAgICAgZGVsYXlfdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICBkZWxheV90aW1lciA9IC0xOwogICAgICAgICAgICBpZ25vcmVfc3VibWl0ID0gZmFsc2U7CiAgICAgICAgfSwgcGVyaW9kKjEwMDApOwogICAgfQoKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBjbGVhcl9kZWxheSgpIC0gQ2xlYXIgdGhlIGRlbGF5IHRpbWVyLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGNsZWFyX2RlbGF5KCkgewogICAgICAgIGlmIChkZWxheV90aW1lcikgewogICAgICAgICAgICBpZ25vcmVfc3VibWl0ID0gZmFsc2U7CiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWxheV90aW1lcik7CiAgICAgICAgICAgIGRlbGF5X3RpbWVyID0gdW5kZWZpbmVkOwogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gcmV0dXJuX25ld19hbnN3ZXIoKSAtIEFsdGVybmF0ZSBhbnN3ZXIgY2hlY2tlciB0aGF0IG92ZXJyaWRlcyBvdXIgcmVzdWx0cy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiByZXR1cm5fbmV3X2Fuc3dlcigpIHsKICAgICAgICByZXR1cm4gbmV3X2Fuc3dlcjsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gc2V0X2Fuc3dlcl9zdGF0ZSgpIC0gVXBkYXRlIHRoZSBzY3JlZW4gdG8gc2hvdyByZXN1bHRzIG9mIGFuc3dlci1jaGVjay4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzZXRfYW5zd2VyX3N0YXRlKGFuc3dlciwgc2hvd19tc2dzKSB7CiAgICAgICAgLy8gSWYgdXNlciByZXF1ZXN0ZWQgdG8gcmV0eXBlIGFuc3dlciwgcmVzZXQgdGhlIHF1ZXN0aW9uLgogICAgICAgIHZhciBkYmxjaGsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLWRvdWJsZS1jaGVjaycpOwogICAgICAgIGlmIChhbnN3ZXIucmVzZXQpIHsKICAgICAgICAgICAgY2xlYXJfZGVsYXkoKTsKICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnc2Vjb25kX3N1Ym1pdCcpIHsKICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdfY250KTsKICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdxdWVzdGlvbkNvdW50JywgcXVlc3Rpb25fY250KTsKICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdjb21wbGV0ZWRDb3VudCcsIGNvbXBsZXRlZF9jbnQpOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2FjdGl2ZVF1ZXVlJywgYWN0aXZlX3F1ZXVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdGF0ZSA9ICdmaXJzdF9zdWJtaXQnOwoKICAgICAgICAgICAgLy8gSWYgd2UgYXJlIHJlc2V0dGluZyBkdWUgdG8gdGhlIHVzZXIgY2xpY2tpbmcgJ3JldHlwZScsIHRoZW4gd2UgbmVlZCB0byB0cmlnZ2VyCiAgICAgICAgICAgIC8vIGEgcmVmcmVzaCB0aGUgaW5wdXQgZmllbGQgYW5kIHN0YXRzIGJ5IHVwZGF0aW5nICdjdXJyZW50SXRlbScgaW4galN0b3JhZ2UuCiAgICAgICAgICAgIGlmIChhbnN3ZXIuZHVlX3RvX3JldHlwZSkgewogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2N1cnJlbnRJdGVtJywgJC5qU3RvcmFnZS5nZXQoJ2N1cnJlbnRJdGVtJykpOwogICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHdpbmRvdy53a1JlZnJlc2hBdWRpbygpOwogICAgICAgICAgICB0cnkge2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhbnN3ZXItZXhjZXB0aW9uIikucmVtb3ZlKCk7fSBjYXRjaChlKSB7fQogICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKICAgICAgICAgICAgZGJsY2hrLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywnTWFyayBSaWdodCcpOwogICAgICAgICAgICBkYmxjaGsucXVlcnlTZWxlY3Rvcignc3BhbiBpJykuY2xhc3NOYW1lID0gJ2ZhIGZhLXRodW1icy11cCc7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tcmV0eXBlJykuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBTcnMgPT09ICdvYmplY3QnKSBTcnMucmVtb3ZlKCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIC8vIElmIGFuc3dlciBpcyBpbnZhbGlkIGZvciBzb21lIHJlYXNvbiwgZG8gdGhlIHNoYWtlIHRoaW5nLgogICAgICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1c2VyLXJlc3BvbnNlJyk7CiAgICAgICAgdmFyIGZpZWxkc2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1mb3JtIGZpZWxkc2V0Jyk7CiAgICAgICAgaWYgKGFuc3dlci5leGNlcHRpb24pIHsKICAgICAgICAgICAgdHJ5IHtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYW5zd2VyLWV4Y2VwdGlvbicpLnJlbW92ZSgpO30gY2F0Y2goZSkge30KICAgICAgICAgICAgaWYgKGFuc3dlci5jb25maXJtaW5nX2J1cm4pIHsKICAgICAgICAgICAgICAgIC8vIE5PVEU6IFdlIGNhbiBvbmx5IHJlYWNoIHRoaXMgYnJhbmNoIGlmIHRoZSBjdXJyZW50IGFuc3dlciBpcyBjb3JyZWN0LCBvdGhlcndpc2Ugd2Ugd291bGRuJ3QgYmUgYnVybmluZyBpdC4KICAgICAgICAgICAgICAgIGRibGNoay5xdWVyeVNlbGVjdG9yKCdzcGFuJykuc2V0QXR0cmlidXRlKCd0aXRsZScsJ01hcmsgV3JvbmcnKQogICAgICAgICAgICAgICAgZGJsY2hrLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4gaScpLmNsYXNzTmFtZSA9ICdmYSBmYS10aHVtYnMtZG93bic7CiAgICAgICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LnRvZ2dsZSgnZGlzYWJsZWQnLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKTsKICAgICAgICAgICAgICAgIGZpZWxkc2V0LmNsYXNzTGlzdC5yZW1vdmUoJ2luY29ycmVjdCcsJ2NvcnJlY3QnKTsKICAgICAgICAgICAgICAgIGZpZWxkc2V0LmNsYXNzTGlzdC5hZGQoJ2NvbmZidXJuJyk7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWRkaXRpb25hbC1jb250ZW50JykuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCc8ZGl2IGlkPSJhbnN3ZXItZXhjZXB0aW9uIj48c3Bhbj4nK2Fuc3dlci5leGNlcHRpb24rJzwvc3Bhbj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uJykuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZWQnLCdmYWRlSW5VcCcpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghJCgiI2Fuc3dlci1mb3JtIGZvcm0iKS5pcygiOmFuaW1hdGVkIikpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNyZXZpZXdzJykuc3R5bGUub3ZlcmZsb3dYID0gJ2hpZGRlbic7CiAgICAgICAgICAgICAgICAkKCcjYW5zd2VyLWZvcm0gZm9ybScpLmVmZmVjdCgnc2hha2UnLCB7fSwgMzAwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcmV2aWV3cycpLnN0eWxlLm92ZXJmbG93WCA9ICd2aXNpYmxlJzsKICAgICAgICAgICAgICAgICAgICBpZiAoIWFuc3dlci5hY2N1cmF0ZSAmJiBpbnB1dC52YWx1ZSAhPT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhbnN3ZXIuZXhjZXB0aW9uID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1mb3JtIGZvcm0nKS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsJzxkaXYgaWQ9ImFuc3dlci1leGNlcHRpb24iIGNsYXNzPSJhbnN3ZXItZXhjZXB0aW9uLWZvcm0iPjxzcGFuPicgKyBhbnN3ZXIuZXhjZXB0aW9uICsgJzwvc3Bhbj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uJykuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZWQnLCdmYWRlSW5VcCcpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkuZmluZCgiaW5wdXQiKS5mb2N1cygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1mb3JtIGZvcm0gaW5wdXQnKS5ibHVyKCk7CgogICAgICAgIC8vIERyYXcgJ2NvcnJlY3QnIG9yICdpbmNvcnJlY3QnIHJlc3VsdHMsIGVuYWJsZSBEb3VibGUtQ2hlY2sgYnV0dG9uLCBhbmQgY2FsY3VsYXRlIHVwZGF0ZWQgc3RhdGlzdGljcy4KICAgICAgICB0cnkge2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uJykuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZWQnLCdmYWRlSW5VcCcpO30gY2F0Y2goZSkge30KICAgICAgICB2YXIgbmV3X3N0YXR1cyA9IE9iamVjdC5hc3NpZ24oe30saXRlbV9zdGF0dXMpOwogICAgICAgIHZhciByZXR5cGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLXJldHlwZScpOwogICAgICAgIHJldHlwZS5jbGFzc0xpc3QudG9nZ2xlKCdkaXNhYmxlZCcsICFzZXR0aW5ncy5hbGxvd19yZXR5cGluZyk7CiAgICAgICAgaWYgKGFuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgZmllbGRzZXQuY2xhc3NMaXN0LnJlbW92ZSgnaW5jb3JyZWN0JywnY29uZmJ1cm4nKTsKICAgICAgICAgICAgZmllbGRzZXQuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOwogICAgICAgICAgICBkYmxjaGsucXVlcnlTZWxlY3Rvcignc3BhbicpLnNldEF0dHJpYnV0ZSgndGl0bGUnLCdNYXJrIFdyb25nJyk7CiAgICAgICAgICAgIGRibGNoay5xdWVyeVNlbGVjdG9yKCdzcGFuIGknKS5jbGFzc05hbWUgPSAnZmEgZmEtdGh1bWJzLWRvd24nOwogICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LnRvZ2dsZSgnZGlzYWJsZWQnLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKTsKICAgICAgICAgICAgaWYgKHF0eXBlID09PSAnbWVhbmluZycpIHsKICAgICAgICAgICAgICAgIG5ld19zdGF0dXMubWMgPSAobmV3X3N0YXR1cy5tYyB8fCAwKSArIDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBuZXdfc3RhdHVzLnJjID0gKG5ld19zdGF0dXMucmMgfHwgMCkgKyAxOwogICAgICAgICAgICAgICAgaWYgKGlucHV0LnZhbHVlLnNsaWNlKC0xKSA9PT0gJ24nKSBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnNsaWNlKDAsLTEpKyfjgpMnOwogICAgICAgICAgICB9CiAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdfY250KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmaWVsZHNldC5jbGFzc0xpc3QucmVtb3ZlKCdjb3JyZWN0JywnY29uZmJ1cm4nKTsKICAgICAgICAgICAgZmllbGRzZXQuY2xhc3NMaXN0LmFkZCgnaW5jb3JyZWN0Jyk7CiAgICAgICAgICAgIGRibGNoay5xdWVyeVNlbGVjdG9yKCdzcGFuJykuc2V0QXR0cmlidXRlKCd0aXRsZScsJ01hcmsgUmlnaHQnKTsKICAgICAgICAgICAgZGJsY2hrLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4gaScpLmNsYXNzTmFtZSA9ICdmYSBmYS10aHVtYnMtdXAnOwogICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LnRvZ2dsZSgnZGlzYWJsZWQnLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9jb3JyZWN0IHx8IGZpcnN0X2Fuc3dlci5wYXNzZWQpKTsKICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3dyb25nQ291bnQnLCB3cm9uZ19jbnQgKyAxKTsKICAgICAgICB9CiAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3F1ZXN0aW9uQ291bnQnLCBxdWVzdGlvbl9jbnQgKyAxKTsKCiAgICAgICAgaWYgKCgoaXR5cGUgPT09ICdyJykgfHwgKChuZXdfc3RhdHVzLnJjIHx8IDApID49IDEpKSAmJiAoKG5ld19zdGF0dXMubWMgfHwgMCkgPj0gMSkpIHsKICAgICAgICAgICAgaWYgKHNob3dfc3JzKSB7CiAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3Muc3JzX21zZ19wZXJpb2QgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBPYmplY3QuYXNzaWduKHt9LG5ld19zdGF0dXMpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3JzID0gaXRlbS5zcnM7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgU3JzID09PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChTcnMubG9hZC5iaW5kKFNycywgc3RhdHVzLCBzcnMpLCAxMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChTcnMucmVtb3ZlLCBzZXR0aW5ncy5zcnNfbXNnX3BlcmlvZCAqIDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIFNycyA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3JzLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBTcnMubG9hZChuZXdfc3RhdHVzLGl0ZW0uc3JzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2NvbXBsZXRlZENvdW50JywgY29tcGxldGVkX2NudCArIDEpOwogICAgICAgICAgICAkLmpTdG9yYWdlLnNldCgnYWN0aXZlUXVldWUnLCBhY3RpdmVfcXVldWUuc2xpY2UoMSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdjb21wbGV0ZWRDb3VudCcsIGNvbXBsZXRlZF9jbnQpOwogICAgICAgICAgICAkLmpTdG9yYWdlLnNldCgnYWN0aXZlUXVldWUnLCBhY3RpdmVfcXVldWUpOwogICAgICAgIH0KCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS5kaXNhYmxlZCA9IHRydWU7CgogICAgICAgIHdpbmRvdy53a1JlZnJlc2hBdWRpbygpOwogICAgICAgIGFkZGl0aW9uYWxDb250ZW50LmVuYWJsZUJ1dHRvbnMoKTsKICAgICAgICBpZiAodHlwZW9mIGxhc3RJdGVtcyA9PT0gJ29iamVjdCcpIGxhc3RJdGVtcy5kaXNhYmxlU2Vzc2lvblN0YXRzKCk7CiAgICAgICAgdHJ5IHtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYW5zd2VyLWV4Y2VwdGlvbiIpLnJlbW92ZSgpO30gY2F0Y2goZSkge30KCiAgICAgICAgLy8gT3BlbiBpdGVtIGluZm8sIGRlcGVuZGluZyBvbiBzZXR0aW5ncy4KICAgICAgICB2YXIgc2hvd2luZ19pbmZvID0gZmFsc2U7CiAgICAgICAgaWYgKGFuc3dlci5wYXNzZWQgJiYgIXNldHRpbmdzLmxpZ2h0bmluZ19lbmFibGVkICYmCiAgICAgICAgICAgIChzZXR0aW5ncy5hdXRvaW5mb19jb3JyZWN0IHx8CiAgICAgICAgICAgICAoc2V0dGluZ3MuYXV0b2luZm9fc2xpZ2h0bHlfb2ZmICYmICFhbnN3ZXIuYWNjdXJhdGUpIHx8CiAgICAgICAgICAgICAoc2V0dGluZ3MuYXV0b2luZm9fbXVsdGlfbWVhbmluZyAmJiBhbnN3ZXIubXVsdGlwbGVBbnN3ZXJzKQogICAgICAgICAgICApKSB7CiAgICAgICAgICAgIHNob3dpbmdfaW5mbyA9IHRydWU7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24taXRlbS1pbmZvJykuY2xpY2soKTsKICAgICAgICB9IGVsc2UgaWYgKCFhbnN3ZXIucGFzc2VkICYmICEoc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQgJiYgIXNldHRpbmdzLmRlbGF5X3dyb25nKSAmJiBzZXR0aW5ncy5hdXRvaW5mb19pbmNvcnJlY3QpIHsKICAgICAgICAgICAgc2hvd2luZ19pbmZvID0gdHJ1ZTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1pdGVtLWluZm8nKS5jbGljaygpOwogICAgICAgIH0KCiAgICAgICAgLy8gV2hlbiB1c2VyIGlzIHN1Ym1pdHRpbmcgYW4gYW5zd2VyLCBkaXNwbGF5IHRoZSBvbi1zY3JlZW4gbWVzc2FnZSB0aGF0IFdhbmlrYW5pIG5vcm1hbGx5IHNob3dzLgogICAgICAgIGlmIChzaG93X21zZ3MpIHsKICAgICAgICAgICAgdmFyIG1zZzsKICAgICAgICAgICAgaWYgKGFuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgICAgIGlmICghYW5zd2VyLmFjY3VyYXRlKSB7CiAgICAgICAgICAgICAgICAgICAgbXNnID0gJ1lvdXIgYW5zd2VyIHdhcyBhIGJpdCBvZmYuIENoZWNrIHRoZSAnK3F0eXBlKycgdG8gbWFrZSBzdXJlIHlvdSBhcmUgY29ycmVjdCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFuc3dlci5tdWx0aXBsZUFuc3dlcnMpIHsKICAgICAgICAgICAgICAgICAgICBtc2cgPSAnRGlkIHlvdSBrbm93IHRoaXMgaXRlbSBoYXMgbXVsdGlwbGUgcG9zc2libGUgJytxdHlwZSsncz8nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGFuc3dlci5jdXN0b21fbXNnKSB7CiAgICAgICAgICAgICAgICBtc2cgPSBhbnN3ZXIuY3VzdG9tX21zZzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1zZyA9ICdOZWVkIGhlbHA/IFZpZXcgdGhlIGNvcnJlY3QgJytxdHlwZSsnIGFuZCBtbmVtb25pYyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1zZykgewogICAgICAgICAgICAgICAgaWYgKHNob3dpbmdfaW5mbykgewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNpbmZvcm1hdGlvbicpLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJiZWdpbicsJzxkaXYgaWQ9ImFuc3dlci1leGNlcHRpb24iIHN0eWxlPSJ0b3A6MDsiPjxzcGFuPicrbXNnKyc8L3NwYW4+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1leGNlcHRpb24nKS5jbGFzc0xpc3QuYWRkKCdhbmltYXRlZCcsJ2ZhZGVJblVwJyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhZGRpdGlvbmFsLWNvbnRlbnQnKS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsJzxkaXYgaWQ9ImFuc3dlci1leGNlcHRpb24iPjxzcGFuPicrbXNnKyc8L3NwYW4+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1leGNlcHRpb24nKS5jbGFzc0xpc3QuYWRkKCdhbmltYXRlZCcsJ2ZhZGVJblVwJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBsZXQgaXRlbV9pbmZvX2J0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24taXRlbS1pbmZvJyk7CiAgICAgICAgICAgICAgICBsZXQgaWlwb3MgPSBpdGVtX2luZm9fYnRuLm9mZnNldExlZnQgKyBpdGVtX2luZm9fYnRuLm9mZnNldFdpZHRoLzI7CiAgICAgICAgICAgICAgICBsZXQgYW5zd2VyX2V4Y2VwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uPnNwYW4nKTsKICAgICAgICAgICAgICAgIGFuc3dlcl9leGNlcHRpb24uc3R5bGUudHJhbnNmb3JtID0gJyc7CiAgICAgICAgICAgICAgICBsZXQgYWVwb3MgPSBhbnN3ZXJfZXhjZXB0aW9uLm9mZnNldExlZnQgKyBhbnN3ZXJfZXhjZXB0aW9uLm9mZnNldFdpZHRoLzI7CiAgICAgICAgICAgICAgICBhbnN3ZXJfZXhjZXB0aW9uLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKCcrKGlpcG9zLWFlcG9zKSsncHgpJzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gbmV3X3N1Ym1pdF9oYW5kbGVyKCkgLSBJbnRlcmNlcHQgaGFuZGxlciBmb3IgJ3N1Ym1pdCcgYnV0dG9uLiAgT3ZlcnJpZGVzIGRlZmF1bHQgYmVoYXZpb3IgYXMgbmVlZGVkLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG5ld19zdWJtaXRfaGFuZGxlcihlKSB7CiAgICAgICAgLy8gRG9uJ3QgcHJvY2VzcyAnc3VibWl0JyBpZiB3ZSBhcmUgaWdub3JpbmcgdGVtcG9yYXJpbHkgKHRvIHByZXZlbnQgZG91YmxlLXRhcHBpbmcgcGFzdCBpbXBvcnRhbnQgaW5mbykKCiAgICAgICAgaWYgKGlnbm9yZV9zdWJtaXQpIHsKICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgcHJlc3NlcyA8ZW50ZXI+IGR1cmluZyBkZWxheSBwZXJpb2QsCiAgICAgICAgICAgIC8vIFdLIGVuYWJsZXMgdGhlIHVzZXIgaW5wdXQgZmllbGQsIHdoaWNoIG1ha2VzIEl0ZW0gSW5mbyBub3Qgd29yay4KICAgICAgICAgICAgLy8gTGV0J3MgbWFrZSBzdXJlIHRoZSBpbnB1dCBmaWVsZCBpcyBkaXNhYmxlZC4KICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgICAgIH0sMSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBzdWJtaXR0ZWRfaW1tZWRpYXRlbHkgPSBmYWxzZTsKICAgICAgICBzd2l0Y2goc3RhdGUpIHsKICAgICAgICAgICAgY2FzZSAnZmlyc3Rfc3VibWl0JzoKICAgICAgICAgICAgICAgIC8vIFdlIGludGVyY2VwdCB0aGUgZmlyc3QgJ3N1Ym1pdCcgY2xpY2ssIGFuZCBzaW11bGF0ZSBub3JtYWwgV2FuaWthbmkgc2NyZWVuIGJlaGF2aW9yLgogICAgICAgICAgICAgICAgc3RhdGUgPSAnc2Vjb25kX3N1Ym1pdCc7CgogICAgICAgICAgICAgICAgLy8gQ2FwdHVyZSB0aGUgc3RhdGUgb2YgdGhlIHN5c3RlbSBiZWZvcmUgc3VibWl0dGluZyB0aGUgYW5zd2VyLgogICAgICAgICAgICAgICAgaXRlbSA9ICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpOwogICAgICAgICAgICAgICAgaXR5cGUgPSAoaXRlbS5yYWQgPyAncicgOiAoaXRlbS5rYW4gPyAnaycgOiAndicpKTsKICAgICAgICAgICAgICAgIGl0ZW1faWQgPSBpdHlwZSArIGl0ZW0uaWQ7CiAgICAgICAgICAgICAgICBpdGVtX3N0YXR1cyA9ICQualN0b3JhZ2UuZ2V0KGl0ZW1faWQpIHx8IHt9OwogICAgICAgICAgICAgICAgcXR5cGUgPSAkLmpTdG9yYWdlLmdldCgncXVlc3Rpb25UeXBlJyk7CiAgICAgICAgICAgICAgICB3cm9uZ19jbnQgPSAkLmpTdG9yYWdlLmdldCgnd3JvbmdDb3VudCcpIHx8IDA7CiAgICAgICAgICAgICAgICBxdWVzdGlvbl9jbnQgPSAkLmpTdG9yYWdlLmdldCgncXVlc3Rpb25Db3VudCcpIHx8IDA7CiAgICAgICAgICAgICAgICBjb21wbGV0ZWRfY250ID0gJC5qU3RvcmFnZS5nZXQoJ2NvbXBsZXRlZENvdW50JykgfHwgMDsKICAgICAgICAgICAgICAgIGFjdGl2ZV9xdWV1ZSA9ICQualN0b3JhZ2UuZ2V0KCdhY3RpdmVRdWV1ZScpIHx8IFtdOwogICAgICAgICAgICAgICAgc2hvd19zcnMgPSAkLmpTdG9yYWdlLmdldCgnci9zcnNJbmRpY2F0b3InKTsKCiAgICAgICAgICAgICAgICAvLyBBc2sgV2FuaWthbmkgaWYgdGhlIGFuc3dlciBpcyByaWdodCAoYnV0IHdlIGRvbid0IGFjdHVhbGx5IHN1Ym1pdCB0aGUgYW5zd2VyKS4KICAgICAgICAgICAgICAgIGFuc3dlciA9IG9sZF9hbnN3ZXJfY2hlY2tlcihxdHlwZSwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS52YWx1ZSk7CgogICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBzY3JlZW4gdG8gcmVmbGVjdCB0aGUgcmVzdWx0cyBvZiBvdXIgY2hlY2tlZCBhbnN3ZXIuCiAgICAgICAgICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOiAwfSwgMjAwKTsKCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBbbWVhbmluZyBoYXMga2FuYV0gb3IgW3JlYWRpbmcgaGFzIGxhdGluXQogICAgICAgICAgICAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdXNlci1yZXNwb25zZScpLnZhbHVlOwogICAgICAgICAgICAgICAgaWYgKChxdHlwZSA9PT0gJ3JlYWRpbmcnICYmIHdpbmRvdy5hbnN3ZXJDaGVja2VyLmlzTm9uS2FuYVByZXNlbnQodGV4dCkpIHx8CiAgICAgICAgICAgICAgICAgICAgKHF0eXBlID09PSAnbWVhbmluZycgJiYgd2luZG93LmFuc3dlckNoZWNrZXIuaXNLYW5hUHJlc2VudCh0ZXh0KSkgfHwKICAgICAgICAgICAgICAgICAgICAodGV4dCA9PT0gJycpKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmV4Y2VwdGlvbiA9IGFuc3dlci5leGNlcHRpb24gfHwgdHJ1ZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBOb24tZXhhY3QgYW5zd2VyIChpLmUuICJDbG9zZSBidXQgbm8gY2lnYXIiIHNjcmlwdCkKICAgICAgICAgICAgICAgIGlmIChhbnN3ZXIucGFzc2VkICYmICFhbnN3ZXIuYWNjdXJhdGUpIHsKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHNldHRpbmdzLnR5cG9fYWN0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOiBhbnN3ZXIuZXhjZXB0aW9uID0gJ1lvdXIgYW5zd2VyIHdhcyBjbG9zZSwgYnV0IG5vdCBleGFjdCc7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd3cm9uZyc6IGFuc3dlci5wYXNzZWQgPSBmYWxzZTsgYW5zd2VyLmN1c3RvbV9tc2cgPSAnWW91ciBhbnN3ZXIgd2FzIG5vdCBleGFjdCwgYXMgcmVxdWlyZWQgYnkgeW91ciBzZXR0aW5ncy4nOyBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHJlYWRpbmcvbWVhbmluZyBtaXh1cHMKICAgICAgICAgICAgICAgIGlmICghYW5zd2VyLnBhc3NlZCkgewogICAgICAgICAgICAgICAgICAgIGlmIChxdHlwZSA9PT0gJ21lYW5pbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhY2NlcHRlZF9yZWFkaW5ncyA9IFtdLmNvbmNhdChpdGVtLmthbmEsIGl0ZW0ub24sIGl0ZW0ua3VuLCBpdGVtLm5hbm9yaSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbnN3ZXJfYXNfa2FuYSA9IHRvX2thbmEoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3VzZXItcmVzcG9uc2UnKS52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhY2NlcHRlZF9yZWFkaW5ncy5pbmRleE9mKGFuc3dlcl9hc19rYW5hKSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3Mud3JvbmdfYW5zd2VyX3R5cGVfYWN0aW9uID09PSAnd2FybicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIuZXhjZXB0aW9uID0gJ09vcHMsIHdlIHdhbnQgdGhlIG1lYW5pbmcsIG5vdCB0aGUgcmVhZGluZy4nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIuZXhjZXB0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBBbHRob3VnaCBXYW5pa2FuaSBub3cgY2hlY2tzIGZvciByZWFkaW5ncyBlbnRlcmVkIGFzIG1lYW5pbmdzLCBpdCBvbmx5CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrcyB0aGUgJ3ByZWZlcnJlZCcgcmVhZGluZy4gIEhlcmUsIHdlIGNoZWNrIGFsbCByZWFkaW5ncy4KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFjY2VwdGVkX21lYW5pbmdzID0gaXRlbS5lbjsKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdGVkX21lYW5pbmdzID0gYWNjZXB0ZWRfbWVhbmluZ3MuY29uY2F0KGl0ZW0uc3luLCBpdGVtLmF1eGlsaWFyeV9tZWFuaW5ncwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigobWVhbmluZykgPT4gbWVhbmluZy50eXBlID09PSAnd2hpdGVsaXN0JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKG1lYW5pbmcpID0+IG1lYW5pbmcubWVhbmluZykpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHt9CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtZWFuaW5nc19hc19oaXJhZ2FuYSA9IGFjY2VwdGVkX21lYW5pbmdzLm1hcChtID0+IHRvX2thbmEobS50b0xvd2VyQ2FzZSgpKS5yZXBsYWNlKC9ccy9nLCcnKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbnN3ZXJfYXNfaGlyYWdhbmEgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1c2VyLXJlc3BvbnNlJykudmFsdWUudG9Mb3dlckNhc2UoKSkubWFwKGMgPT4gd2FuYWthbmEudG9IaXJhZ2FuYShjKSkuam9pbignJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZWFuaW5nc19hc19oaXJhZ2FuYS5pbmRleE9mKGFuc3dlcl9hc19oaXJhZ2FuYSkgPj0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLndyb25nX2Fuc3dlcl90eXBlX2FjdGlvbiA9PT0gJ3dhcm4nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmV4Y2VwdGlvbiA9ICdPb3BzLCB3ZSB3YW50IHRoZSByZWFkaW5nLCBub3QgdGhlIG1lYW5pbmcuJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmV4Y2VwdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBXYW5pa2FuaSB3YXJuaW5ncyB0aGF0IHNob3VsZCBiZSBjaGFuZ2VkIHRvICd3cm9uZycsIGJhc2VkIG9uIHNldHRpbmdzLgogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhbnN3ZXIuZXhjZXB0aW9uID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgIGlmICgoKHNldHRpbmdzLmthbmppX21lYW5pbmdfZm9yX3ZvY2FiX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd3YW50IHRoZSB2b2NhYnVsYXJ5IG1lYW5pbmcsIG5vdCB0aGUga2FuamkgbWVhbmluZycpKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAoKHNldHRpbmdzLmthbmppX3JlYWRpbmdfZm9yX3ZvY2FiX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd3YW50IHRoZSB2b2NhYnVsYXJ5IHJlYWRpbmcsIG5vdCB0aGUga2FuamkgcmVhZGluZycpKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAoKHNldHRpbmdzLndyb25nX251bWJlcl9uX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdmb3JnZXQgdGhhdCDjgpMnKSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKChzZXR0aW5ncy5zbWFsbF9rYW5hX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd3YXRjaCBvdXQgZm9yIHRoZSBzbWFsbCcpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlci5leGNlcHRpb24gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLnBhc3NlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBDb3B5IHRoZSBtb2RpZmllZCBhbnN3ZXIgdG8gbmV3X2Fuc3dlciwgd2hpY2ggaXMgd2hhdCB3aWxsIGJlIHN1Ym1pdHRlZCB0byBXYW5pa2FuaS4KICAgICAgICAgICAgICAgIG5ld19hbnN3ZXIgPSBPYmplY3QuYXNzaWduKHt9LCBhbnN3ZXIpOwoKICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBleGNlcHRpb25zIHRoYXQgYXJlIHByZXZlbnRpbmcgdGhlIGFuc3dlciBmcm9tIGJlaW5nIHN1Ym1pdHRlZC4KICAgICAgICAgICAgICAgIGlmIChhbnN3ZXIuZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShhbnN3ZXIsIHRydWUgLyogc2hvd19tc2dzICovKTsKICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9ICdmaXJzdF9zdWJtaXQnOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCB0aGUgYW5zd2VyIGlzIHJlYWR5IGZvciBzdWJtaXNzaW9uIChpLmUuIG5vIGV4Y2VwdGlvbnMpLgogICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyB0aGUgdXNlcidzIGZpcnN0IGF0dGVtcHQgYXQgdGhpcyBxdWVzdGlvbiwgcmVtZW1iZXIgdGhlIHJlc3VsdCBzbwogICAgICAgICAgICAgICAgLy8gd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIHRoZXkgYWx0ZXJlZCB0aGVpciBhbnN3ZXIgbGF0ZXIuCiAgICAgICAgICAgICAgICBpZiAoISgoaXRlbV9pZCA9PT0gbGFzdF9pdGVtX2lkKSAmJiAocXR5cGUgPT09IGxhc3RfcXR5cGUpKSkgewogICAgICAgICAgICAgICAgICAgIGZpcnN0X2Fuc3dlciA9IE9iamVjdC5hc3NpZ24oewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdXNlci1yZXNwb25zZSIpLnZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0X2Fuc3dlcnM6Z2V0X2NvcnJlY3RfYW5zd2VycygpLAogICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0X2Fuc3dlcl9pbmRleDogMCwKICAgICAgICAgICAgICAgICAgICB9LCBhbnN3ZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbGFzdF9pdGVtX2lkID0gaXRlbV9pZDsKICAgICAgICAgICAgICAgIGxhc3RfcXR5cGUgPSBxdHlwZTsKCiAgICAgICAgICAgICAgICAvLyBPcHRpb25hbGx5IChhY2NvcmRpbmcgdG8gc2V0dGluZ3MpLCB0ZW1wb3JhcmlseSBpZ25vcmUgYW55IGFkZGl0aW9uYWwgY2xpY2tzIG9uIHRoZQogICAgICAgICAgICAgICAgLy8gJ3N1Ym1pdCcgYnV0dG9uIHRvIHByZXZlbnQgdGhlIHVzZXIgZnJvbSBjbGlja2luZyBwYXN0IGltcG9ydGFudCBpbmZvIGFib3V0IHRoZSBhbnN3ZXIuCiAgICAgICAgICAgICAgICBpZiAoKCFhbnN3ZXIucGFzc2VkICYmIHNldHRpbmdzLmRlbGF5X3dyb25nKSB8fAogICAgICAgICAgICAgICAgICAgIChhbnN3ZXIucGFzc2VkICYmCiAgICAgICAgICAgICAgICAgICAgICgoIWFuc3dlci5hY2N1cmF0ZSAmJiBzZXR0aW5ncy5kZWxheV9zbGlnaHRseV9vZmYpIHx8CiAgICAgICAgICAgICAgICAgICAgICAoYW5zd2VyLm11bHRpcGxlQW5zd2VycyAmJiBzZXR0aW5ncy5kZWxheV9tdWx0aV9tZWFuaW5nKSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShhbnN3ZXIsIHRydWUgLyogc2hvd19tc2dzICovKTsKICAgICAgICAgICAgICAgICAgICBkb19kZWxheSgpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZXRfYW5zd2VyX3N0YXRlKGFuc3dlciwgdHJ1ZSAvKiBzaG93X21zZ3MgKi8pOwogICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLmxpZ2h0bmluZ19lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgbmV3X3N1Ym1pdF9oYW5kbGVyKGUpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgICAgICAgIGNhc2UgJ3NlY29uZF9zdWJtaXQnOgoKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGNoYW5nZWQgdGhlaXIgYW5zd2VyIHRvICdjb3JyZWN0JywgbWFyayB0aGUgaXRlbQogICAgICAgICAgICAgICAgLy8gaW4gc3RvcmFnZSwgc28gd2UgY2FuIHdhcm4gdGhlIHVzZXIgaWYgaXQgY29tZXMgdXAgZm9yIGJ1cm4uCiAgICAgICAgICAgICAgICAvLyBUaGUgbWFyayBpcyBrZXB0IGZvciAxMCBkYXlzIGluIGNhc2UgdGhlIHVzZXIgZG9lc24ndCBjb21wbGV0ZQogICAgICAgICAgICAgICAgLy8gdGhlIGl0ZW0gKHJlYWRpbmcgYW5kIG1lYW5pbmcpIHdpdGhpbiBvbmUgc2Vzc2lvbi4KICAgICAgICAgICAgICAgIGlmICghZmlyc3RfYW5zd2VyLnBhc3NlZCAmJiBuZXdfYW5zd2VyLnBhc3NlZCkgewogICAgICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdjb25mYnVybi8nICsgaXRlbS5pZCwgdHJ1ZSwge1RUTDoxMDAwKjM2MDAqMjQqMTB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBCZWZvcmUgYWNjZXB0aW5nIGEgZmluYWwgc3VibWl0LCBub3RpZnkgdGhlIHVzZXIgaWYgaXRlbSB3aWxsIGJ1cm4gKGRlcGVuZGluZyBvbiBzZXR0aW5ncykuCiAgICAgICAgICAgICAgICBuZXdfYW5zd2VyLmV4Y2VwdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKCFuZXdfYW5zd2VyLmNvbmZpcm1pbmdfYnVybikgewogICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQgdG8gd2FybiB0aGUgdXNlciB0aGF0IHRoaXMgaXMgYSAnYnVybicgcmV2aWV3LgogICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6ICJpdGVtX3N0YXR1cy5uaSIgc2VlbXMgdG8gYmUgdXNlZCBieSBvdGhlciBzY3JpcHRzLgogICAgICAgICAgICAgICAgICAgIHZhciB3aWxsX2J1cm4gPSAoaXRlbS5zcnMgPT09IDgpICYmIG5ld19hbnN3ZXIucGFzc2VkICYmCiAgICAgICAgICAgICAgICAgICAgICAgICEoaXRlbV9zdGF0dXMubWkgfHwgaXRlbV9zdGF0dXMucmkgfHwgaXRlbV9zdGF0dXMubmkpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICgoaXR5cGUgPT09ICdyJykgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICgoKGl0ZW1fc3RhdHVzLnJjIHx8IDApICsgKHF0eXBlID09PSAncmVhZGluZycgPyAxIDogMCkgPiAwKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICgoaXRlbV9zdGF0dXMubWMgfHwgMCkgKyAocXR5cGUgPT09ICdtZWFuaW5nJyA/IDEgOiAwKSA+IDApKSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNoZWF0ZWQgPSAkLmpTdG9yYWdlLmdldCgnY29uZmJ1cm4vJyArIGl0ZW0uaWQpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmICh3aWxsX2J1cm4gJiYgKHNldHRpbmdzLndhcm5fYnVybiAhPT0gJ25ldmVyJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvbXB0IGJlZm9yZSBidXJuaW5nLCBhbmQgc3VwcHJlc3MgcHJvY2VlZGluZyBmb3IgYSBtb21lbnQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVhdGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfYW5zd2VyLmV4Y2VwdGlvbiA9ICdZb3UgbW9kaWZpZWQgYW4gYW5zd2VyIG9uIHRoaXMgaXRlbS4gSXQgd2lsbCBiZSBidXJuZWQgaWYgeW91IGNvbnRpbnVlLic7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2V0dGluZ3Mud2Fybl9idXJuID09PSAnYWx3YXlzJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2Fuc3dlci5leGNlcHRpb24gPSAnVGhpcyBpdGVtIHdpbGwgYmUgYnVybmVkIGlmIHlvdSBjb250aW51ZS4nCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19hbnN3ZXIuZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfYW5zd2VyLmNvbmZpcm1pbmdfYnVybiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRfYW5zd2VyX3N0YXRlKG5ld19hbnN3ZXIsIHRydWUgLyogc2hvd19tc2dzICovKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdCBzdXJlIHdoYXQncyBjYXVzaW5nIHRoZSBpbnB1dCBmaWVsZCB0byBiZSByZS1lbmFibGVkLCBidXQgd2UgaGF2ZSB0byBkaXNhYmxlIGl0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5idXJuX2RlbGF5X3BlcmlvZCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb19kZWxheShzZXR0aW5ncy5idXJuX2RlbGF5X3BlcmlvZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBidXJuaW5nIHRoZSBpdGVtIG5vdywgc28gd2UgY2FuIHJlbW92ZSB0aGUgbWFya2VyLgogICAgICAgICAgICAgICAgICAgICQualN0b3JhZ2UuZGVsZXRlS2V5KCdjb25mYnVybi8nICsgaXRlbS5pZCk7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG5ld19hbnN3ZXIuY29uZmlybWluZ19idXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIFdlIGludGVyY2VwdGVkIHRoZSBmaXJzdCBzdWJtaXQsIGFsbG93aW5nIHRoZSB1c2VyIHRvIG9wdGlvbmFsbHkgbW9kaWZ5IHRoZWlyIGFuc3dlci4KICAgICAgICAgICAgICAgIC8vIE5vdywgZWl0aGVyIHRoZSB1c2VyIGhhcyBjbGlja2VkIHN1Ym1pdCBhZ2Fpbiwgb3IgbGlnaHRuaW5nIGlzIGVuYWJsZWQgYW5kIHdlIGFyZSBhdXRvbWF0aWNhbGx5IGNsaWNraW5nIHN1Ym1pdCBhZ2Fpbi4KICAgICAgICAgICAgICAgIC8vIFNpbmNlIFdhbmlrYW5pIGRpZG4ndCBzZWUgdGhlIGZpcnN0IHN1Ym1pdCAoYmVjYXVzZSB3ZSBpbnRlcmNlcHRlZCBpdCksIG5vdyB3ZSBuZWVkIHRvIHNpbXVsYXRlIHR3byBzdWJtaXRzIGZvciBXYW5pa2FuaToKICAgICAgICAgICAgICAgIC8vICAgMS4gT25lIGZvciBXYW5pa2FuaSB0byBjaGVjayB0aGUgKHBvc3NpYmx5IGNvcnJlY3RlZCkgcmVzdWx0LCBhbmQKICAgICAgICAgICAgICAgIC8vICAgMi4gT25lIGZvciBXYW5pa2FuaSB0byBtb3ZlIG9uIHRvIHRoZSBuZXh0IHF1ZXN0aW9uLgoKICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBzY3JlZW4gdG8gcHJlLXN1Ym1pdHRlZCBzdGF0ZSwgc28gV2FuaWthbmkgd29uJ3QgZ2V0IGNvbmZ1c2VkIHdoZW4gaXQgdHJpZXMgdG8gcHJvY2VzcyB0aGUgYW5zd2VyLgogICAgICAgICAgICAgICAgLy8gV2FuaWthbmkgY29kZSB3aWxsIHRoZW4gdXBkYXRlIHRoZSBzY3JlZW4gYWNjb3JkaW5nIHRvIG91ciBmb3JjZWQgYW5zd2VyLWNoZWNrIHJlc3VsdC4KICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tZG91YmxlLWNoZWNrJykuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tZG91YmxlLWNoZWNrIHNwYW4nKS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywnRG91YmxlLUNoZWNrJykKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tZG91YmxlLWNoZWNrIHNwYW4gaScpLmNsYXNzTmFtZSA9ICdmYSBmYS10aHVtYnMtdXAnOwogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1yZXR5cGUnKS5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpOwogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3VzZXItcmVzcG9uc2UnKS5kaXNhYmxlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3dyb25nQ291bnQnLCB3cm9uZ19jbnQpOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3F1ZXN0aW9uQ291bnQnLCBxdWVzdGlvbl9jbnQpOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2NvbXBsZXRlZENvdW50JywgY29tcGxldGVkX2NudCk7CiAgICAgICAgICAgICAgICAkLmpTdG9yYWdlLnNldCgnYWN0aXZlUXVldWUnLCBhY3RpdmVfcXVldWUpOwoKICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgV0sgZnJvbSBwb3N0aW5nIGEgc2Vjb25kIFNSUyBub3RpY2UuCiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIFNycyA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgICAgICAgICBzcnNfbG9hZCA9IFNycy5sb2FkOwogICAgICAgICAgICAgICAgICAgIFNycy5sb2FkID0gZnVuY3Rpb24oKXt9OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHN1Ym1pdCBhY3R1YWxseSBmb3J3YXJkZWQgdG8gV2FuaWthbmkuCiAgICAgICAgICAgICAgICAvLyBJdCB3aWxsIGNoZWNrIG91ciAocG9zc2libHkgY29ycmVjdGVkKSBhbnN3ZXIuCiAgICAgICAgICAgICAgICB2YXIgb2xkX2F1ZGlvQXV0b3BsYXkgPSB3aW5kb3cuYXVkaW9BdXRvcGxheTsKICAgICAgICAgICAgICAgIHdpbmRvdy5hdWRpb0F1dG9wbGF5ID0gZmFsc2U7CgogICAgICAgICAgICAgICAgY2xpY2tfc3VibWl0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykKICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhpZGRlbiB0aGlyZCBjbGljayBmcm9tIGFib3ZlLCB3aGljaCBXYW5pa2FuaSB0aGlua3MgaXMgdGhlIHNlY29uZCBjbGljay4KICAgICAgICAgICAgICAgICAgICAvLyBXYW5pa2FuaSB3aWxsIG1vdmUgdG8gdGhlIG5leHQgcXVlc3Rpb24uCiAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAnZmlyc3Rfc3VibWl0JzsKCiAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkaXNhYmxlIHRoZSBpbnB1dCBmaWVsZCwgc28gV2FuaWthbmkgd2lsbCBzZWUgdGhpcyBhcyB0aGUgc2Vjb25kIGNsaWNrLgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1c2VyLXJlc3BvbnNlJykuZGlzYWJsZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgICAgICAvLyBSZXN0b3JlIHRoZSBTUlMgbWVzc2FnZSBmdW5jdGlvbiwgd2hpY2ggd2UgZGlzYWJsZWQgaW4gc2Vjb25kX3N1Ym1pdCBhYm92ZS4KICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIFNycyA9PT0gJ29iamVjdCcpIFNycy5sb2FkID0gc3JzX2xvYWQ7CgogICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCBzdWJtaXQgYWN0dWFsbHkgZm9yd2FyZGVkIHRvIFdhbmlrYW5pLgogICAgICAgICAgICAgICAgICAgIC8vIEl0IHdpbGwgbW92ZSBvbiB0byB0aGUgbmV4dCBxdWVzdGlvbi4KICAgICAgICAgICAgICAgICAgICBjbGlja19zdWJtaXQuYXBwbHkodGhpcywgYXJndW1lbnRzKQogICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmF1ZGlvQXV0b3BsYXkgPSBvbGRfYXVkaW9BdXRvcGxheTsKICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LndrUmVmcmVzaEF1ZGlvKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIFNpbXVsYXRlIGlucHV0IGNoYXJhY3RlciBieSBjaGFyYWN0ZXIgYW5kIGNvbnZlcnQgd2l0aCBXYW5hS2FuYSB0byBrYW5hCiAgICAvLyAgLS0gQ29udHJpYnV0ZWQgYnkgdXNlciBAU2lueWF2ZW4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB0b19rYW5hKHRleHQpIHsKICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0ZXh0KS5yZWR1Y2UoKHRvdGFsLCBjKSA9PiB3YW5ha2FuYS50b0thbmEodG90YWwgKyBjLCB7SU1FTW9kZTogdHJ1ZX0pLCAiIikucmVwbGFjZSgvbiQvLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDEyNDM1KSk7CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIFJlc2l6ZSB0aGUgYnV0dG9ucyBhY2NvcmRpbmcgdG8gaG93IG1hbnkgYXJlIHZpc2libGUuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcmVzaXplX2J1dHRvbnMoKSB7CiAgICAgICAgdmFyIGJ1dHRvbnMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNhZGRpdGlvbmFsLWNvbnRlbnQgdWw+bGknKSk7CiAgICAgICAgdmFyIGJ0bl9jb3VudCA9IGJ1dHRvbnMubGVuZ3RoIC0gYnV0dG9ucy5maWx0ZXIoKGVsZW0pPT5lbGVtLm1hdGNoZXMoJy5oaWRkZW4sW2hpZGRlbl0nKSkubGVuZ3RoOwogICAgICAgIGZvciAobGV0IGJ0biBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjYWRkaXRpb25hbC1jb250ZW50IHVsID4gbGknKSkgewogICAgICAgICAgYnRuLnN0eWxlLndpZHRoID0gTWF0aC5mbG9vcig5OTAwL2J0bl9jb3VudCkvMTAwICsgJyUnOwogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gRXh0ZXJuYWwgaG9vayBmb3IgQHBvbHYncyBzY3JpcHQsICJXYW5pS2FuaSBEaXNhYmxlIERlZmF1bHQgQW5zd2VycyIKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBnb2JqLnNldF9zdGF0ZSA9IGZ1bmN0aW9uKF9zdGF0ZSkgewogICAgICAgIHN0YXRlID0gX3N0YXRlOwogICAgfTsKCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gc3RhcnR1cCgpIC0gSW5zdGFsbCBvdXIgaW50ZXJjZXB0IGhhbmRsZXJzLCBhbmQgYWRkIG91ciBEb3VibGUtQ2hlY2sgYnV0dG9uIGFuZCBob3RrZXkKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzdGFydHVwKCkgewogICAgICAgIC8vIEludGVyY2VwdCB0aGUgc3VibWl0IGJ1dHRvbiBoYW5kbGVyLgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBpbnRlcmNlcHRlZCA9IGZhbHNlOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgb2xkX3N1Ym1pdF9oYW5kbGVyID0gJC5fZGF0YSggJCgnI2Fuc3dlci1mb3JtIGZvcm0nKVswXSwgJ2V2ZW50cycpLnN1Ym1pdFswXS5oYW5kbGVyOwogICAgICAgICAgICAgICAgJC5fZGF0YSggJCgnI2Fuc3dlci1mb3JtIGZvcm0nKVswXSwgJ2V2ZW50cycpLnN1Ym1pdFswXS5oYW5kbGVyID0gbmV3X3N1Ym1pdF9oYW5kbGVyOwogICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWQgPSB0cnVlOwogICAgICAgICAgICB9IGNhdGNoKGVycikge30KICAgICAgICAgICAgaWYgKCFpbnRlcmNlcHRlZCkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICBvbGRfc3VibWl0X2hhbmRsZXIgPSAkLl9kYXRhKCAkKCcjYW5zd2VyLWZvcm0gYnV0dG9uJylbMF0sICdldmVudHMnKS5jbGlja1swXS5oYW5kbGVyOwogICAgICAgICAgICAgICAgICAgICQuX2RhdGEoICQoJyNhbnN3ZXItZm9ybSBidXR0b24nKVswXSwgJ2V2ZW50cycpLmNsaWNrWzBdLmhhbmRsZXIgPSBuZXdfc3VibWl0X2hhbmRsZXI7CiAgICAgICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHt9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGludGVyY2VwdGVkKSB7CiAgICAgICAgICAgICAgICBvbGRfYW5zd2VyX2NoZWNrZXIgPSB3aW5kb3cuZW5oYW5jZUFuc3dlckNoZWNrZXIoe2V2YWx1YXRlOndpbmRvdy5hbnN3ZXJDaGVja2VyLmV2YWx1YXRlfSkuZXZhbHVhdGU7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoKGVycikge30KICAgICAgICBpZiAodHlwZW9mIG9sZF9zdWJtaXRfaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2Ygb2xkX2Fuc3dlcl9jaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgIGFsZXJ0KCdXYW5pa2FuaSBEb3VibGUtQ2hlY2sgc2NyaXB0IGlzIG5vdCB3b3JraW5nLicpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBDbGVhciB3YXJuaW5nIHBvcHVwcyBpZiBxdWVzdGlvbiBjaGFuZ2VzIGR1ZSB0byByZWFzb25zIG91dHNpZGUgb2YgdGhpcyBzY3JpcHQKICAgICAgICAkLmpTdG9yYWdlLmxpc3RlbktleUNoYW5nZSgiY3VycmVudEl0ZW0iLCBmdW5jdGlvbihrZXksIGFjdGlvbil7CiAgICAgICAgICAgIHNldF9hbnN3ZXJfc3RhdGUoe3Jlc2V0OnRydWV9KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gSW5zdGFsbCB0aGUgTGlnaHRuaW5nIE1vZGUgYnV0dG9uLgogICAgICAgIGRvY3VtZW50LmhlYWQuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCc8c3R5bGU+I2xpZ2h0bmluZy1tb2RlLmRvdWJsZWNoZWNrLWFjdGl2ZSB7Y29sb3I6I2ZmMDsgb3BhY2l0eToxLjA7fTwvc3R5bGU+Jyk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N1bW1hcnktYnV0dG9uJykuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCc8YSBpZD0ibGlnaHRuaW5nLW1vZGUiIGhyZWY9IiMiIGhpZGRlbiA+PGkgY2xhc3M9ImZhIGZhLWJvbHQiIHRpdGxlPSJMaWdodG5pbmcgTW9kZSAtIFdoZW4gZW5hYmxlZCwgYXV0by1cbmFkdmFuY2UgYWZ0ZXIgYW5zd2VyaW5nIGNvcnJlY3RseS4iPjwvaT48L2E+Jyk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2xpZ2h0bmluZy1tb2RlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaWdodG5pbmdfY2xpY2tlZCk7CgogICAgICAgIC8vIEluc3RhbGwgdGhlIERvdWJsZS1DaGVjayBmZWF0dXJlcy4KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWRkaXRpb25hbC1jb250ZW50IHVsJykuc3R5bGUudGV4dEFsaWduID0gJ2NlbnRlcic7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FkZGl0aW9uYWwtY29udGVudCB1bCcpLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywKICAgICAgICAgICAgYDxsaSBpZD0ib3B0aW9uLWRvdWJsZS1jaGVjayIgY2xhc3M9ImRpc2FibGVkIj48c3BhbiB0aXRsZT0iRG91YmxlIENoZWNrIj48aSBjbGFzcz0iZmEgZmEtdGh1bWJzLXVwIj48L2k+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgIDxsaSBpZD0ib3B0aW9uLXJldHlwZSIgY2xhc3M9ImRpc2FibGVkIj48c3BhbiB0aXRsZT0iUmV0eXBlIj48aSBjbGFzcz0iZmEgZmEtdW5kbyI+PC9pPjwvc3Bhbj48L2xpPjwvdWw+YAogICAgICAgICk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1kb3VibGUtY2hlY2snKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZV9yZXN1bHQuYmluZChudWxsLCd0b2dnbGUnKSk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1yZXR5cGUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZV9yZXN1bHQuYmluZChudWxsLCdyZXR5cGUnKSk7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIGZ1bmN0aW9uKGV2ZW50KXsKICAgICAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSA0MykgdG9nZ2xlX3Jlc3VsdCgnY29ycmVjdCcpOwogICAgICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IDQ1KSB0b2dnbGVfcmVzdWx0KCdpbmNvcnJlY3QnKTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSk7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZXZlbnQpewogICAgICAgICAgICBpZiAoKGV2ZW50LndoaWNoID09PSAyNyB8fCBldmVudC53aGljaCA9PT0gOCkgJiYKICAgICAgICAgICAgICAgIChzdGF0ZSAhPT0gJ2ZpcnN0X3N1Ym1pdCcpICYmCiAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09PSAnQk9EWScpICYmCiAgICAgICAgICAgICAgICAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN3a29mc19kb3VibGVjaGVjaycpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdG9nZ2xlX3Jlc3VsdCgncmV0eXBlJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXkgPT09ICdsJykgewogICAgICAgICAgICAgICAgbGlnaHRuaW5nX2NsaWNrZWQoKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9KTsKICAgICAgICBkb2N1bWVudC5oZWFkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywKICAgICAgICAgICAgYDxzdHlsZT4KICAgICAgICAgICAgI2FkZGl0aW9uYWwtY29udGVudD51bD5saS5oaWRkZW4ge2Rpc3BsYXk6bm9uZTt9CiAgICAgICAgICAgICNhbnN3ZXItZm9ybSBmaWVsZHNldC5jb25mYnVybiBidXR0b24sICNhbnN3ZXItZm9ybSBmaWVsZHNldC5jb25mYnVybiBpbnB1dFt0eXBlPXRleHRdLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuY29uZmJ1cm4gaW5wdXRbdHlwZT10ZXh0XTpkaXNhYmxlZCB7CiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50OwogICAgICAgICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDAgcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluOwogICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPmAKICAgICAgICApOwoKICAgICAgICAvLyBPdmVycmlkZSB0aGUgYW5zd2VyIGNoZWNrZXIuCiAgICAgICAgd2luZG93LmFuc3dlckNoZWNrZXIuZXZhbHVhdGUgPSByZXR1cm5fbmV3X2Fuc3dlcjsKICAgICAgICB3aW5kb3cuZW5oYW5jZUFuc3dlckNoZWNrZXIgPSBmdW5jdGlvbihhbnN3ZXJDaGVja2VyKSB7cmV0dXJuIGFuc3dlckNoZWNrZXI7fTsKCiAgICAgICAgLy8gVG8gcHJldmVudCBXYW5pa2FuaSBmcm9tIGN1dHRpbmcgdGhlIGF1ZGlvIG9mZiBpbiBsaWdodG5pbmcgbW9kZSwKICAgICAgICAvLyBXZSBpbnN0cnVjdCBhbnkgY3VycmVudGx5IHBsYXlpbmcgYXVkaW8gdG8gdW5sb2FkIHdoZW4gaXQncyBkb25lLAogICAgICAgIC8vIHJhdGhlciB0aGFuIHVubG9hZGluZyBpdCBpbW1lZGlhdGVseS4KICAgICAgICB3aW5kb3cuSG93bGVyLnVubG9hZCA9IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSB3aW5kb3cuSG93bGVyLl9ob3dscy5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICAgIHZhciBob3dsID0gd2luZG93Lkhvd2xlci5faG93bHNbaV07CiAgICAgICAgICAgICAgICBpZiAoaG93bC5wbGF5aW5nKCkgfHwgaG93bC5fcXVldWUubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgICAgIGhvd2wub24oJ2VuZCcsIGhvd2wudW5sb2FkLmJpbmQoaG93bCkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBob3dsLnVubG9hZCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBjbGlja19zdWJtaXQoKSB7CiAgICAgICAgdmFyIHAgPSBwcm9taXNlKCk7CiAgICAgICAgb2xkX3N1Ym1pdF9oYW5kbGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYW5zd2VyLWZvcm0gYnV0dG9uJykuZGlzYWJsZWQpIHsKICAgICAgICAgICAgLy8gU2V0IHVwIGNhbGxiYWNrIGZvciB3aGVuICdzdWJtaXQnIGJ1dHRvbiBpcyByZS1lbmFibGVkIGFmdGVyIGJlaW5nIGNsaWNrZWQuCiAgICAgICAgICAgIHZhciBtbyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbikgPT4gewogICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLnBvcCgpLnRhcmdldC5kaXNhYmxlZCkgcmV0dXJuOwogICAgICAgICAgICAgICAgbW8uZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgICAgbW8gPSB1bmRlZmluZWQ7CgogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gJy9leHRyYV9zdHVkeS9zZXNzaW9uJykgewogICAgICAgICAgICAgICAgICAgIC8vIFRoZSBFeHRyYSBTdHVkeSBwYWdlIG5lZWRzIGEgdGlueSBwYXVzZSBiZWZvcmUgYWR2YW5jaW5nLgogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBwLnJlc29sdmUoKTsKICAgICAgICAgICAgICAgICAgICB9LCAxKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcC5yZXNvbHZlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBtby5vYnNlcnZlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZm9ybSBidXR0b24nKSwge2F0dHJpYnV0ZUZpbHRlcjogWydkaXNhYmxlZCddfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gJy9leHRyYV9zdHVkeS9zZXNzaW9uJykgewogICAgICAgICAgICAgICAgLy8gVGhlIEV4dHJhIFN0dWR5IHBhZ2UgbmVlZHMgYSB0aW55IHBhdXNlIGJlZm9yZSBhZHZhbmNpbmcuCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgICAgICBwLnJlc29sdmUoKTsKICAgICAgICAgICAgICAgIH0sIDEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcC5yZXNvbHZlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBwOwogICAgfQoKfSkod2luZG93LmRvdWJsZWNoZWNrKTsK", 522 - "storage": { 523 - "data": {}, 524 - "ts": 1606921521559 525 - }, 526 - "uuid": "462d24eb-4e66-4f82-b8dd-79a94b1c8872" 527 - }, 528 - { 529 - "enabled": true, 530 - "file_url": "https://greasyfork.org/scripts/371388-bunpro-mistake-delay/code/Bunpro:%20Mistake%20Delay.user.js", 531 - "name": "Bunpro: Mistake Delay", 532 - "options": { 533 - "check_for_updates": true, 534 - "comment": null, 535 - "compat_foreach": false, 536 - "compat_metadata": false, 537 - "compat_powerful_this": null, 538 - "compat_prototypes": false, 539 - "compat_wrappedjsobject": false, 540 - "compatopts_for_requires": true, 541 - "noframes": null, 542 - "override": { 543 - "merge_connects": true, 544 - "merge_excludes": true, 545 - "merge_includes": true, 546 - "merge_matches": true, 547 - "orig_connects": [], 548 - "orig_excludes": [ 549 - "*community.bunpro.jp*" 550 - ], 551 - "orig_includes": [ 552 - "*bunpro.jp/*" 553 - ], 554 - "orig_matches": [], 555 - "orig_noframes": null, 556 - "orig_run_at": "document-idle", 557 - "use_blockers": [], 558 - "use_connects": [], 559 - "use_excludes": [], 560 - "use_includes": [], 561 - "use_matches": [] 562 - }, 563 - "run_at": null, 564 - "tab_types": null 565 - }, 566 - "position": 12, 567 - "requires": [], 568 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBCdW5wcm86IE1pc3Rha2UgRGVsYXkKLy8gQG5hbWVzcGFjZSAgICBodHRwOi8vdGFtcGVybW9ua2V5Lm5ldC8KLy8gQHZlcnNpb24gICAgICAwLjIuOAovLyBAZGVzY3JpcHRpb24gIFByZXZlbnRzIHByZW1hdHVyZSB3cm9uZyBhbnN3ZXIgc3VibWlzc2lvbi4KLy8gQGF1dGhvciAgICAgICBLdW1pcmVpCi8vIEBpbmNsdWRlICAgICAgKmJ1bnByby5qcC8qCi8vIEBleGNsdWRlICAgICAgKmNvbW11bml0eS5idW5wcm8uanAqCi8vIEByZXF1aXJlICAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM3MDYyMy1idW5wcm8taGVscGZ1bC1ldmVudHMvY29kZS9CdW5wcm86JTIwSGVscGZ1bCUyMEV2ZW50cy5qcz92ZXJzaW9uPTk3NDM2OQovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oKSB7CgkvLyBTZWNvbmRzIG9mIGRlbGF5Cgljb25zdCBkZWxheSA9IDI7CgoJLy8gV2FpdCB1bnRpbCB3ZSdyZSByZXZpZXdpbmcKCSQoJ0hUTUwnKVswXS5hZGRFdmVudExpc3RlbmVyKCdxdWl6LXBhZ2UnLCBmdW5jdGlvbigpIHsKCQkvLyBBZGQgdGhlIHN0YW5kYXJkIHN0eWxpbmcgdG8gdGhlIGRpc2FibGVkIGJ1dHRvbgoJCWFkZENTUygpOwoKCQkvLyBEbyBzdHVmZiB3aGVuIHdlIHByZXNzIGVudGVyIG9yIGJhY2tzcGFjZQoJCSQoJyNzdHVkeS1hbnN3ZXItaW5wdXQnKS5vbigna2V5ZG93bicsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCXZhciBlbGVtID0gJCgnI3N0dWR5LWFuc3dlci1pbnB1dCcpOwoJCQkvLyBJbml0aWF0ZSBkZWxhdGUgd2hlbiB3ZSBwcmVzcyBlbnRlciwgZ2V0IHRoZSBhbnN3ZXIgd3JvbmcsIGFuZCBubyBkZWxheSBpcyBhbHJlYWR5IGFjdGl2ZQoJCQl2YXIgYmtnID0gZWxlbVswXS5zdHlsZS5iYWNrZ3JvdW5kOwoJCQlpZiAoYmtnICE9ICIiKSB7CgkJCQl2YXIgYmtnX2xzdCA9IGJrZy5zbGljZSg1LCBia2cubGVuZ3RoLTEpLnNwbGl0KCcsICcpOwoJCQkJaWYgKGV2ZW50LndoaWNoID09IDEzICYmIE51bWJlcihia2dfbHN0WzBdKSA+IE51bWJlcihia2dfbHN0WzFdKSArIE51bWJlcihia2dfbHN0WzJdKSAmJiAhJCgnI3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQnKS5sZW5ndGgpIHsKCQkJCQllbmFibGVEZWxheSgpOwoJCQkJCXNldFRpbWVvdXQoZGlzYWJsZURlbGF5LCBkZWxheSoxMDAwKTsKCQkJCX0KCQkJfQoJCX0pOwoJCSQoJ2JvZHknKS5vbigna2V5ZG93bicsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCS8vIENhbmNlbCBkZWxheSBpZiB3ZSBwcmVzcyBiYWNrc3BhY2UgYWZ0ZXIgZ2V0dGluZyBhbiBhbnN3ZXIgd3JvbmcKCQkJaWYgKGV2ZW50LndoaWNoID09IDggJiYgJCgnI3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQnKS5sZW5ndGgpIGRpc2FibGVEZWxheSgpOwoJCX0pOwoJfSk7CgoJLy8gTWFrZXMgdXNlciB1bmFibGUgdG8gY29udGludWUgdG8gdGhlIG5leHQgaXRlbQoJZnVuY3Rpb24gZW5hYmxlRGVsYXkoKSB7CgkJJCgnI3N0dWR5LWFuc3dlci1pbnB1dCcpWzBdLmJsdXIoKTsKCQkkKCcjc3VibWl0LXN0dWR5LWFuc3dlcicpLmF0dHIoJ2lkJywgJ3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQnKTsKCX0KCgkvLyBNYWtlcyB1c2VyIGFibGUgdG8gY29udGludWUgdG8gdGhlIG5leHQgaXRlbSBhZ2FpbgoJZnVuY3Rpb24gZGlzYWJsZURlbGF5KCkgewoJCSQoJyNzdWJtaXQtc3R1ZHktYW5zd2VyLWRpc2FibGVkJykuYXR0cignaWQnLCAnc3VibWl0LXN0dWR5LWFuc3dlcicpOwoJfQoKCS8vIEFkZHMgdGhlIG5lZWRlZCBDU1MKCWZ1bmN0aW9uIGFkZENTUygpIHsKCQkkKCdoZWFkJykuYXBwZW5kKCc8c3R5bGU+I3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQgeycgKwoJCQkJCQkgJ3dpZHRoOiAxNSU7JyArCgkJCQkJCSAncmlnaHQ6IDA7JyArCgkJCQkJCSAndGV4dC1hbGlnbjogY2VudGVyOycgKwoJCQkJCQkgJ3Bvc2l0aW9uOiBhYnNvbHV0ZTsnICsKCQkJCQkJICdmb250LXdlaWdodDogNDAwOycgKwoJCQkJCQkgJ2ZvbnQtc2l6ZTogMjBweDsnICsKCQkJCQkJICd6LWluZGV4OiAxMDA7JyArCgkJCQkJCSAnYm9yZGVyLXJhZGl1czogMDsnICsKCQkJCQkJICdjb2xvcjogd2hpdGU7JyArCgkJCQkJCSAnYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7JyArCgkJCQkJCSAnfScgKwoJCQkJCQkgJ0BtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgI3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQge2ZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O308L3N0eWxlPicpCgl9Cn0pKCk7Cg==", 569 - "storage": { 570 - "data": {}, 571 - "ts": 1607436649639 572 - }, 573 - "uuid": "0550b6ba-fa53-4ccf-823b-54b3cacc7116" 574 - }, 575 - { 576 - "enabled": true, 577 - "file_url": "https://greasyfork.org/scripts/370019-bunpro-auto-show-info/code/Bunpro:%20Auto-show%20Info.user.js", 578 - "name": "Bunpro: Auto-show Info", 579 - "options": { 580 - "check_for_updates": true, 581 - "comment": null, 582 - "compat_foreach": false, 583 - "compat_metadata": false, 584 - "compat_powerful_this": null, 585 - "compat_prototypes": false, 586 - "compat_wrappedjsobject": false, 587 - "compatopts_for_requires": true, 588 - "noframes": null, 589 - "override": { 590 - "merge_connects": true, 591 - "merge_excludes": true, 592 - "merge_includes": true, 593 - "merge_matches": true, 594 - "orig_connects": [], 595 - "orig_excludes": [ 596 - "*community.bunpro.jp*" 597 - ], 598 - "orig_includes": [ 599 - "*bunpro.jp/study*" 600 - ], 601 - "orig_matches": [], 602 - "orig_noframes": null, 603 - "orig_run_at": "document-idle", 604 - "use_blockers": [], 605 - "use_connects": [], 606 - "use_excludes": [], 607 - "use_includes": [], 608 - "use_matches": [] 609 - }, 610 - "run_at": null, 611 - "tab_types": null 612 - }, 613 - "position": 13, 614 - "requires": [], 615 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBCdW5wcm86IEF1dG8tc2hvdyBJbmZvCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEB2ZXJzaW9uICAgICAgMC4yLjEwCi8vIEBkZXNjcmlwdGlvbiAgQXV0b21hdGljYWxseSBleHBhbmRzIHRoZSBmdWxsIGdyYW1tYXIgaW5mbyB3aGVuIHlvdSBnZXQgYSByZXZpZXcgd3JvbmcuCi8vIEBhdXRob3IgICAgICAgS3VtaXJlaQovLyBAaW5jbHVkZSAgICAgICpidW5wcm8uanAvc3R1ZHkqCi8vIEBleGNsdWRlICAgICAgKmNvbW11bml0eS5idW5wcm8uanAqCi8vIEByZXF1aXJlICAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzQzMjQxOC13YWl0LWZvci1zZWxlY3Rvci9jb2RlL1dhaXQlMjBGb3IlMjBTZWxlY3Rvci5qcz92ZXJzaW9uPTk5MDIwNwovLyBAcmVxdWlyZSAgICAgIGh0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zNzA2MjMtYnVucHJvLWhlbHBmdWwtZXZlbnRzL2NvZGUvQnVucHJvOiUyMEhlbHBmdWwlMjBFdmVudHMuanM/dmVyc2lvbj05OTAyMTEKLy8gQGdyYW50ICAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKOyhmdW5jdGlvbiAoKSB7CiAgICAvL3dhaXQgdW50aWwgd2UncmUgcmV2aWV3aW5nCiAgICAkKCdIVE1MJylbMF0uYWRkRXZlbnRMaXN0ZW5lcigncXVpei1wYWdlJywgZnVuY3Rpb24gKCkgewogICAgICAgIC8vZG8gc3R1ZmYgd2hlbiB3ZSBwcmVzcyBlbnRlciBhbmQgZ2V0IHRoZSBhbnN3ZXIgd3JvbmcKICAgICAgICAkKCcjc3R1ZHktYW5zd2VyLWlucHV0Jykub24oJ2tleWRvd24nLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgaWYgKGV2ZW50LndoaWNoID09IDEzKSB7CiAgICAgICAgICAgICAgICBvcGVuSWZXcm9uZygpCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIC8vZG8gc3R1ZmYgd2hlbiB3ZSBjbGljayBzdWJtaXQgYW5kIGdldCB0aGUgYW5zd2VyIHdyb25nCiAgICAgICAgJCgnI3N1Ym1pdC1zdHVkeS1hbnN3ZXInKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIG9wZW5JZldyb25nKCkKICAgICAgICB9KQogICAgfSkKCiAgICAvL29wZW5zIHRoZSBpbmZvIGlmIHlvdSBnZXQgdGhlIGl0ZW0gd3JvbmcKICAgIGZ1bmN0aW9uIG9wZW5JZldyb25nKCkgewogICAgICAgIGlmICgkKCcub29wcy1idXR0b24nKVswXS5zdHlsZS5kaXNwbGF5ID09ICdibG9jaycgfHwgJCgnI2xlYXJuLW5ldy1ncmFtbWFyLXBhZ2UnKS5sZW5ndGgpIHsKICAgICAgICAgICAgJCgnLnNob3ctZ3JhbW1hci10ZXh0JykuY2xpY2soKQogICAgICAgIH0KICAgIH0KfSkoKQo=", 616 - "storage": { 617 - "data": {}, 618 - "ts": 1607436649642 619 - }, 620 - "uuid": "ea2cd70b-7fb9-4481-9ec5-2e5761f5ad46" 621 - }, 622 - { 623 - "enabled": true, 624 - "file_url": "https://raw.githubusercontent.com/Mottie/Github-userscripts/master/github-code-folding.user.js", 625 - "name": "GitHub Code Folding", 626 - "options": { 627 - "check_for_updates": true, 628 - "comment": null, 629 - "compat_foreach": false, 630 - "compat_metadata": false, 631 - "compat_powerful_this": null, 632 - "compat_wrappedjsobject": false, 633 - "compatopts_for_requires": true, 634 - "noframes": null, 635 - "override": { 636 - "merge_connects": true, 637 - "merge_excludes": true, 638 - "merge_includes": true, 639 - "merge_matches": true, 640 - "orig_connects": [], 641 - "orig_excludes": [], 642 - "orig_includes": [ 643 - "https://github.com/*", 644 - "https://gist.github.com/*" 645 - ], 646 - "orig_matches": [], 647 - "orig_noframes": null, 648 - "orig_run_at": "document-idle", 649 - "use_blockers": [], 650 - "use_connects": [], 651 - "use_excludes": [], 652 - "use_includes": [], 653 - "use_matches": [] 654 - }, 655 - "run_at": null, 656 - "sandbox": null, 657 - "tab_types": null, 658 - "unwrap": null 659 - }, 660 - "position": 14, 661 - "requires": [], 662 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiBDb2RlIEZvbGRpbmcKLy8gQHZlcnNpb24gICAgIDEuMS41Ci8vIEBkZXNjcmlwdGlvbiBBIHVzZXJzY3JpcHQgdGhhdCBhZGRzIGNvZGUgZm9sZGluZyB0byBHaXRIdWIgZmlsZXMKLy8gQGxpY2Vuc2UgICAgIE1JVAovLyBAYXV0aG9yICAgICAgUm9iIEdhcnJpc29uCi8vIEBuYW1lc3BhY2UgICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllCi8vIEBpbmNsdWRlICAgICBodHRwczovL2dpdGh1Yi5jb20vKgovLyBAaW5jbHVkZSAgICAgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vKgovLyBAcnVuLWF0ICAgICAgZG9jdW1lbnQtaWRsZQovLyBAZ3JhbnQgICAgICAgR00uYWRkU3R5bGUKLy8gQGdyYW50ICAgICAgIEdNX2FkZFN0eWxlCi8vIEByZXF1aXJlICAgICBodHRwczovL2dyZWFzZW1vbmtleS5naXRodWIuaW8vZ200LXBvbHlmaWxsL2dtNC1wb2x5ZmlsbC5qcz91cGRhdGVkPTIwMTgwMTAzCi8vIEByZXF1aXJlICAgICBodHRwczovL2dyZWFzeWZvcmsub3JnL3NjcmlwdHMvMjg3MjEtbXV0YXRpb25zL2NvZGUvbXV0YXRpb25zLmpzP3ZlcnNpb249MTEwODE2MwovLyBAcmVxdWlyZSAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM5ODg3Ny11dGlscy1qcy9jb2RlL3V0aWxzanMuanM/dmVyc2lvbj0xMDc5NjM3Ci8vIEBpY29uICAgICAgICBodHRwczovL2dpdGh1Yi5naXRodWJhc3NldHMuY29tL3Bpbm5lZC1vY3RvY2F0LnN2ZwovLyBAdXBkYXRlVVJMICAgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRodWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi1jb2RlLWZvbGRpbmcudXNlci5qcwovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRodWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi1jb2RlLWZvbGRpbmcudXNlci5qcwovLyBAc3VwcG9ydFVSTCAgaHR0cHM6Ly9naXRodWIuY29tL01vdHRpZS9HaXRIdWItdXNlcnNjcmlwdHMvaXNzdWVzCi8vID09L1VzZXJTY3JpcHQ9PQovKiBnbG9iYWwgJCAkJCBvbiAqLwovKioKICogVGhpcyB1c2Vyc2NyaXB0IGhhcyBiZWVuIGhlYXZpbHkgbW9kaWZpZWQgZnJvbSB0aGUgImdpdGh1Yi1jb2RlLWZvbGRpbmciCiAqIENocm9tZSBleHRlbnNpb24gQ29weXJpZ2h0IDIwMTYgYnkgTm9hbSBMdXN0aWdlcjsgdW5kZXIgYW4gTUlUIGxpY2Vuc2UKICogaHR0cHM6Ly9naXRodWIuY29tL25vYW0zMTI3L2dpdGh1Yi1jb2RlLWZvbGRpbmcKICovCigoKSA9PiB7CgkidXNlIHN0cmljdCI7CgoJR00uYWRkU3R5bGUoYAoJCXRkLmJsb2ItY29kZS5ibG9iLWNvZGUtaW5uZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OjEwcHg7IH0KCQkuZ2hjZi1jb2xsYXBzZXIgeyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDoycHg7IHdpZHRoOjEwcHg7IGN1cnNvcjpwb2ludGVyOyB9CgkJLmdoY2YtY29sbGFwc2VyOmFmdGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwoJCQljb250ZW50OiJcdTI1YmMiOyBvcGFjaXR5Oi41OyB0cmFuc2l0aW9uOi4xNXM7IH0KCQkuZ2hjZi1jb2xsYXBzZXI6aG92ZXI6YWZ0ZXIgeyBvcGFjaXR5OjE7IH0KCQkuZ2hjZi1jb2xsYXBzZWQuZ2hjZi1jb2xsYXBzZXI6YWZ0ZXIgeyB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7CgkJCW9wYWNpdHk6Ljg7IH0KCQkuZ2hjZi1oaWRkZW4tbGluZSB7IGRpc3BsYXk6bm9uZTsgfQoJCS5naGNmLWVsbGlwc2lzIHsgcGFkZGluZzoxcHggMnB4OyBtYXJnaW4tbGVmdDoycHg7IGN1cnNvcjpwb2ludGVyOwoJCQliYWNrZ3JvdW5kOnJnYmEoMjU1LDIzNSw1OSwuNCk7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjE7IH0KCQkuZ2hjZi1lbGxpcHNpczpob3ZlciB7IGJhY2tncm91bmQ6cmdiYSgyNTUsMjM1LDU5LC43KTsgfQoJYCk7CgoJY29uc3QgYmxvY2tzID0ge307Cgljb25zdCBlbGxpcHNpcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKCWNvbnN0IHRyaWFuZ2xlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwoKCXRyaWFuZ2xlLmNsYXNzTmFtZSA9ICJnaGNmLWNvbGxhcHNlciI7CgllbGxpcHNpcy5jbGFzc05hbWUgPSAicGwtc21pIGdoY2YtZWxsaXBzaXMiOwoJZWxsaXBzaXMuaW5uZXJIVE1MID0gIiZoZWxsaXA7IjsKCglmdW5jdGlvbiBjb3VudEluaXRpYWxXaGl0ZVNwYWNlKGFycikgewoJCWNvbnN0IGdldFdoaXRlU3BhY2VJbmRleCA9IGkgPT4gewoJCQlpZiAoYXJyW2ldICE9PSAiICIgJiYgYXJyW2ldICE9PSAiXHQiICYmIGFycltpXSAhPT0gIlx4YTAiKSB7CgkJCQlyZXR1cm4gaTsKCQkJfQoJCQlyZXR1cm4gZ2V0V2hpdGVTcGFjZUluZGV4KCsraSk7CgkJfTsKCQlyZXR1cm4gZ2V0V2hpdGVTcGFjZUluZGV4KDApOwoJfQoKCWZ1bmN0aW9uIGdldFByZXZpb3VzU3BhY2VzKG1hcCwgbGluZU51bSkgewoJCWxldCBwcmV2ID0gbWFwLmdldChsaW5lTnVtIC0gMSk7CgkJcmV0dXJuIHByZXYgPT09IC0xCgkJCT8gZ2V0UHJldmlvdXNTcGFjZXMobWFwLCBsaW5lTnVtIC0gMSkKCQkJOiB7CgkJCQlsaW5lTnVtOiBsaW5lTnVtIC0gMSwKCQkJCWNvdW50OiBwcmV2CgkJCX07Cgl9CgoJZnVuY3Rpb24gZ2V0TGluZU51bWJlcihlbCkgewoJCWxldCBlbG0gPSBlbC5jbG9zZXN0KCJ0ciIpOwoJCWlmIChlbG0pIHsKCQkJZWxtID0gZWxtLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLWxpbmUtbnVtYmVyXSIpOwoJCQlyZXR1cm4gZWxtID8gcGFyc2VJbnQoZWxtLmRhdGFzZXQubGluZU51bWJlciwgMTApIDogIiI7CgkJfQoJCXJldHVybiAiIjsKCX0KCglmdW5jdGlvbiBnZXRDb2RlTGluZXMoY29kZUJsb2NrKSB7CgkJcmV0dXJuICQkKCIuYmxvYi1jb2RlLWlubmVyIiwgY29kZUJsb2NrKTsKCX0KCglmdW5jdGlvbiB0b2dnbGVDb2RlKHsgYWN0aW9uLCBjb2RlQmxvY2ssIGluZGV4LCBkZXB0aCB9KSB7CgkJbGV0IGVscywgbGluZU51bXM7CgkJY29uc3QgY29kZUxpbmVzID0gZ2V0Q29kZUxpbmVzKGNvZGVCbG9jaykgfHwgW107CgkJY29uc3QgcGFpcnMgPSBibG9ja3NbY29kZUJsb2NrLmRhdGFzZXQuYmxvY2tJbmRleF07CgkJaWYgKCFwYWlycyB8fCBjb2RlTGluZXMubGVuZ3RoID09PSAwKSB7CgkJCXJldHVybjsKCQl9CgkJLy8gZGVwdGggaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHNwZWNpZmljIGRlcHRoIG51bWJlciB0byB0b2dnbGUKCQlpZiAoZGVwdGgpIHsKCQkJZWxzID0gJCQoYC5naGNmLWNvbGxhcHNlcltkYXRhLWRlcHRoPSIke2RlcHRofSJdYCwgY29kZUJsb2NrKTsKCQkJbGluZU51bXMgPSBlbHMubWFwKGVsID0+IHsKCQkJCWVsLmNsYXNzTGlzdC50b2dnbGUoImdoY2YtY29sbGFwc2VkIiwgYWN0aW9uID09PSAiaGlkZSIpOwoJCQkJcmV0dXJuIGdldExpbmVOdW1iZXIoZWwpOwoJCQl9KTsKCQl9IGVsc2UgewoJCQlsaW5lTnVtcyA9IFtpbmRleF07CgkJfQoKCQlpZiAoYWN0aW9uID09PSAiaGlkZSIpIHsKCQkJbGluZU51bXMuZm9yRWFjaChzdGFydCA9PiB7CgkJCQlsZXQgZWxtOwoJCQkJbGV0IGVuZCA9IHBhaXJzLmdldChzdGFydCAtIDEpOwoJCQkJY29kZUxpbmVzLnNsaWNlKHN0YXJ0LCBlbmQpLmZvckVhY2goZWwgPT4gewoJCQkJCWVsbSA9IGVsLmNsb3Nlc3QoInRyIik7CgkJCQkJaWYgKGVsbSkgewoJCQkJCQllbG0uY2xhc3NMaXN0LmFkZCgiZ2hjZi1oaWRkZW4tbGluZSIpOwoJCQkJCX0KCQkJCX0pOwoJCQkJaWYgKCEkKCIuZ2hjZi1lbGxpcHNpcyIsIGNvZGVMaW5lc1tzdGFydCAtIDFdKSkgewoJCQkJCWVsbSA9ICQoIi5naGNmLWNvbGxhcHNlciIsIGNvZGVMaW5lc1tzdGFydCAtIDFdKTsKCQkJCQllbG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoCgkJCQkJCWVsbGlwc2lzLmNsb25lTm9kZSh0cnVlKSwKCQkJCQkJbnVsbAoJCQkJCSk7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSBpZiAoYWN0aW9uID09PSAic2hvdyIpIHsKCQkJbGluZU51bXMuZm9yRWFjaChzdGFydCA9PiB7CgkJCQlsZXQgZW5kID0gcGFpcnMuZ2V0KHN0YXJ0IC0gMSk7CgkJCQljb2RlTGluZXMuc2xpY2Uoc3RhcnQsIGVuZCkuZm9yRWFjaChlbCA9PiB7CgkJCQkJbGV0IGVsbSA9IGVsLmNsb3Nlc3QoInRyIik7CgkJCQkJaWYgKGVsbSkgewoJCQkJCQllbG0uY2xhc3NMaXN0LnJlbW92ZSgiZ2hjZi1oaWRkZW4tbGluZSIpOwoJCQkJCQlyZW1vdmVFbHMoIi5naGNmLWVsbGlwc2lzIiwgZWxtKTsKCQkJCQl9CgkJCQkJZWxtID0gJCgiLmdoY2YtY29sbGFwc2VkIiwgZWxtKTsKCQkJCQlpZiAoZWxtKSB7CgkJCQkJCWVsbS5jbGFzc0xpc3QucmVtb3ZlKCJnaGNmLWNvbGxhcHNlZCIpOwoJCQkJCX0KCQkJCX0pOwoJCQkJcmVtb3ZlRWxzKCIuZ2hjZi1lbGxpcHNpcyIsIGNvZGVMaW5lc1tzdGFydCAtIDFdKTsKCQkJfSk7CgkJfQoJCS8vIHNoaWZ0IGVuZHMgdXAgc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2UsIHNvIGNsZWFyIGl0CgkJaWYgKGxpbmVOdW1zLmxlbmd0aCA+IDEpIHsKCQkJcmVtb3ZlU2VsZWN0aW9uKCk7CgkJfQoJfQoKCWZ1bmN0aW9uIGFkZEJpbmRpbmdzKCkgewoJCW9uKGRvY3VtZW50LCAiY2xpY2siLCBldmVudCA9PiB7CgkJCWxldCBpbmRleCwgZWxtLCBpc0NvbGxhcHNlZDsKCQkJY29uc3QgZWwgPSBldmVudC50YXJnZXQ7CgkJCWNvbnN0IGNvZGVCbG9jayA9IGVsLmNsb3Nlc3QoIi5oaWdobGlnaHQiKTsKCgkJCS8vIGNsaWNrIG9uIGNvbGxhcHNlcgoJCQlpZiAoZWwgJiYgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJnaGNmLWNvbGxhcHNlciIpKSB7CgkJCQlpc0NvbGxhcHNlZCA9IGVsLmNsYXNzTGlzdC5jb250YWlucygiZ2hjZi1jb2xsYXBzZWQiKTsKCQkJCWluZGV4ID0gZ2V0TGluZU51bWJlcihlbCk7CgkJCQkvLyBTaGlmdCArIGNsaWNrIHRvIHRvZ2dsZSB0aGVtIGFsbAoJCQkJaWYgKGluZGV4ICYmIGV2ZW50LmdldE1vZGlmaWVyU3RhdGUoIlNoaWZ0IikpIHsKCQkJCQlyZXR1cm4gdG9nZ2xlQ29kZSh7CgkJCQkJCWFjdGlvbjogaXNDb2xsYXBzZWQgPyAic2hvdyIgOiAiaGlkZSIsCgkJCQkJCWNvZGVCbG9jaywKCQkJCQkJaW5kZXgsCgkJCQkJCWRlcHRoOiBlbC5kYXRhc2V0LmRlcHRoCgkJCQkJfSk7CgkJCQl9CgkJCQlpZiAoaW5kZXgpIHsKCQkJCQlpZiAoaXNDb2xsYXBzZWQpIHsKCQkJCQkJZWwuY2xhc3NMaXN0LnJlbW92ZSgiZ2hjZi1jb2xsYXBzZWQiKTsKCQkJCQkJdG9nZ2xlQ29kZSh7IGFjdGlvbjogInNob3ciLCBjb2RlQmxvY2ssIGluZGV4IH0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWVsLmNsYXNzTGlzdC5hZGQoImdoY2YtY29sbGFwc2VkIik7CgkJCQkJCXRvZ2dsZUNvZGUoeyBhY3Rpb246ICJoaWRlIiwgY29kZUJsb2NrLCBpbmRleCB9KTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm47CgkJCX0KCgkJCS8vIGNsaWNrIG9uIGVsbGlwc2lzCgkJCWlmIChlbCAmJiBlbC5jbGFzc0xpc3QuY29udGFpbnMoImdoY2YtZWxsaXBzaXMiKSkgewoJCQkJZWxtID0gJCgiLmdoY2YtY29sbGFwc2VkIiwgZWwucGFyZW50Tm9kZSk7CgkJCQlpZiAoZWxtKSB7CgkJCQkJZWxtLmNsYXNzTGlzdC5yZW1vdmUoImdoY2YtY29sbGFwc2VkIik7CgkJCQl9CgkJCQlpbmRleCA9IGdldExpbmVOdW1iZXIoZWwpOwoJCQkJaWYgKGluZGV4KSB7CgkJCQkJdG9nZ2xlQ29kZSh7IGFjdGlvbjogInNob3ciLCBjb2RlQmxvY2ssIGluZGV4IH0pOwoJCQkJfQoJCQl9CgkJfSk7Cgl9CgoJZnVuY3Rpb24gYWRkQ29kZUZvbGRpbmcoKSB7CgkJLy8gS2VlcCAuZmlsZSBpbiBjYXNlIHNvbWVvbmUgbmVlZHMgdGhpcyB1c2Vyc2NyaXB0IGZvciBHaXRIdWIgRW50ZXJwcmlzZQoJCWlmICgkKCIuZmlsZSB0YWJsZS5oaWdobGlnaHQsIC5ibG9iLXdyYXBwZXIgdGFibGUuaGlnaGxpZ2h0IikpIHsKCQkJJCQoInRhYmxlLmhpZ2hsaWdodCIpLmZvckVhY2goKGNvZGVCbG9jaywgYmxvY2tJbmRleCkgPT4gewoJCQkJaWYgKGNvZGVCbG9jayAmJiBjb2RlQmxvY2suY2xhc3NMaXN0LmNvbnRhaW5zKCJnaGNmLXByb2Nlc3NlZCIpKSB7CgkJCQkJLy8gQWxyZWFkeSBwcm9jZXNzZWQKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQljb25zdCBjb2RlTGluZXMgPSBnZXRDb2RlTGluZXMoY29kZUJsb2NrKTsKCQkJCXJlbW92ZUVscygic3Bhbi5naGNmLWNvbGxhcHNlciIsIGNvZGVCbG9jayk7CgkJCQlpZiAoY29kZUxpbmVzKSB7CgkJCQkJLy8gSW4gY2FzZSB0aGlzIHNjcmlwdCBoYXMgYWxyZWFkeSBiZWVuIHJ1biBhbmQgbW9kaWZpZWQgdGhlIERPTSBvbiBhCgkJCQkJLy8gcHJldmlvdXMgcGFnZSBpbiBnaXRodWIsIG1ha2Ugc3VyZSB0byByZXNldCBpdC4KCQkJCQljb2RlQmxvY2suY2xhc3NMaXN0LmFkZCgiZ2hjZi1wcm9jZXNzZWQiKTsKCQkJCQljb2RlQmxvY2suZGF0YXNldC5ibG9ja0luZGV4ID0gYmxvY2tJbmRleDsKCgkJCQkJY29uc3Qgc3BhY2VNYXAgPSBuZXcgTWFwKCk7CgkJCQkJY29uc3Qgc3RhY2sgPSBbXTsKCQkJCQljb25zdCBwYWlycyA9IGJsb2Nrc1tibG9ja0luZGV4XSA9IG5ldyBNYXAoKTsKCgkJCQkJY29kZUxpbmVzLmZvckVhY2goKGVsLCBsaW5lTnVtKSA9PiB7CgkJCQkJCWxldCBwcmV2U3BhY2VzOwoJCQkJCQlsZXQgbGluZSA9IGVsLnRleHRDb250ZW50OwoJCQkJCQlsZXQgY291bnQgPSBsaW5lLnRyaW0oKS5sZW5ndGgKCQkJCQkJCT8gY291bnRJbml0aWFsV2hpdGVTcGFjZShsaW5lLnNwbGl0KCIiKSkKCQkJCQkJCTogLTE7CgkJCQkJCXNwYWNlTWFwLnNldChsaW5lTnVtLCBjb3VudCk7CgoJCQkJCQlmdW5jdGlvbiB0cnlQYWlyKCkgewoJCQkJCQkJbGV0IGVsOwoJCQkJCQkJbGV0IHRvcCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdOwoJCQkJCQkJaWYgKGNvdW50ICE9PSAtMSAmJiBjb3VudCA8PSBzcGFjZU1hcC5nZXQodG9wKSkgewoJCQkJCQkJCXBhaXJzLnNldCh0b3AsIGxpbmVOdW0pOwoJCQkJCQkJCS8vIHByZXBlbmQgdHJpYW5nbGUKCQkJCQkJCQllbCA9IHRyaWFuZ2xlLmNsb25lTm9kZSgpOwoJCQkJCQkJCWVsLmRhdGFzZXQuZGVwdGggPSBjb3VudCArIDE7CgkJCQkJCQkJY29kZUxpbmVzW3RvcF0uaW5zZXJ0QmVmb3JlKGVsLCBjb2RlTGluZXNbdG9wXS5jaGlsZE5vZGVzWzBdKTsKCQkJCQkJCQlzdGFjay5wb3AoKTsKCQkJCQkJCQlyZXR1cm4gdHJ5UGFpcigpOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXRyeVBhaXIoKTsKCgkJCQkJCXByZXZTcGFjZXMgPSBnZXRQcmV2aW91c1NwYWNlcyhzcGFjZU1hcCwgbGluZU51bSk7CgkJCQkJCWlmIChjb3VudCA+IHByZXZTcGFjZXMuY291bnQpIHsKCQkJCQkJCXN0YWNrLnB1c2gocHJldlNwYWNlcy5saW5lTnVtKTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoJCQl9KTsKCQl9Cgl9CgoJZnVuY3Rpb24gcmVtb3ZlRWxzKHNlbGVjdG9yLCBlbCkgewoJCWxldCBlbHMgPSAkJChzZWxlY3RvciwgZWwpOwoJCWxldCBpbmRleCA9IGVscy5sZW5ndGg7CgkJd2hpbGUgKGluZGV4LS0pIHsKCQkJZWxzW2luZGV4XS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsc1tpbmRleF0pOwoJCX0KCX0KCglmdW5jdGlvbiByZW1vdmVTZWxlY3Rpb24oKSB7CgkJLy8gcmVtb3ZlIHRleHQgc2VsZWN0aW9uIC0gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzMxNzEzNDgvMTQ1MzQ2CgkJY29uc3Qgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbgoJCQk/IHdpbmRvdy5nZXRTZWxlY3Rpb24oKQoJCQk6IGRvY3VtZW50LnNlbGVjdGlvbjsKCQlpZiAoc2VsKSB7CgkJCWlmIChzZWwucmVtb3ZlQWxsUmFuZ2VzKSB7CgkJCQlzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7CgkJCX0gZWxzZSBpZiAoc2VsLmVtcHR5KSB7CgkJCQlzZWwuZW1wdHkoKTsKCQkJfQoJCX0KCX0KCglvbihkb2N1bWVudCwgImdobW86Y29udGFpbmVyIiwgYWRkQ29kZUZvbGRpbmcpOwoJYWRkQ29kZUZvbGRpbmcoKTsKCWFkZEJpbmRpbmdzKCk7Cgp9KSgpOwo=", 663 - "storage": { 664 - "data": {}, 665 - "ts": 1636664956605 666 - }, 667 - "uuid": "03039f55-1392-4e34-89d8-7a324da08087" 668 - }, 669 - { 670 - "enabled": true, 671 - "file_url": "https://raw.githubusercontent.com/Mottie/GitHub-userscripts/master/github-sort-reactions.user.js", 672 - "name": "GitHub Sort Reactions", 673 - "options": { 674 - "check_for_updates": true, 675 - "comment": null, 676 - "compat_foreach": false, 677 - "compat_metadata": false, 678 - "compat_powerful_this": null, 679 - "compat_wrappedjsobject": false, 680 - "compatopts_for_requires": true, 681 - "noframes": null, 682 - "override": { 683 - "merge_connects": true, 684 - "merge_excludes": true, 685 - "merge_includes": true, 686 - "merge_matches": true, 687 - "orig_connects": [], 688 - "orig_excludes": [], 689 - "orig_includes": [ 690 - "https://github.com/*" 691 - ], 692 - "orig_matches": [], 693 - "orig_noframes": null, 694 - "orig_run_at": "document-idle", 695 - "use_blockers": [], 696 - "use_connects": [], 697 - "use_excludes": [], 698 - "use_includes": [], 699 - "use_matches": [] 700 - }, 701 - "run_at": null, 702 - "sandbox": null, 703 - "tab_types": null, 704 - "unwrap": null 705 - }, 706 - "position": 15, 707 - "requires": [], 708 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiBTb3J0IFJlYWN0aW9ucwovLyBAdmVyc2lvbiAgICAgMC4yLjE3Ci8vIEBkZXNjcmlwdGlvbiBBIHVzZXJzY3JpcHQgdGhhdCBzb3J0cyBjb21tZW50cyBieSByZWFjdGlvbgovLyBAbGljZW5zZSAgICAgTUlUCi8vIEBhdXRob3IgICAgICBSb2IgR2Fycmlzb24KLy8gQG5hbWVzcGFjZSAgIGh0dHBzOi8vZ2l0aHViLmNvbS9Nb3R0aWUKLy8gQGluY2x1ZGUgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS8qCi8vIEBydW4tYXQgICAgICBkb2N1bWVudC1pZGxlCi8vIEBncmFudCAgICAgICBHTV9hZGRTdHlsZQovLyBAZ3JhbnQgICAgICAgR01fZ2V0VmFsdWUKLy8gQGdyYW50ICAgICAgIEdNX3NldFZhbHVlCi8vIEByZXF1aXJlICAgICBodHRwczovL2dyZWFzeWZvcmsub3JnL3NjcmlwdHMvMjg3MjEtbXV0YXRpb25zL2NvZGUvbXV0YXRpb25zLmpzP3ZlcnNpb249MTEwODE2MwovLyBAaWNvbiAgICAgICAgaHR0cHM6Ly9naXRodWIuZ2l0aHViYXNzZXRzLmNvbS9waW5uZWQtb2N0b2NhdC5zdmcKLy8gQHVwZGF0ZVVSTCAgIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9Nb3R0aWUvR2l0SHViLXVzZXJzY3JpcHRzL21hc3Rlci9naXRodWItc29ydC1yZWFjdGlvbnMudXNlci5qcwovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRIdWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi1zb3J0LXJlYWN0aW9ucy51c2VyLmpzCi8vIEBzdXBwb3J0VVJMICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllL0dpdEh1Yi11c2Vyc2NyaXB0cy9pc3N1ZXMKLy8gPT0vVXNlclNjcmlwdD09CigoKSA9PiB7CgkidXNlIHN0cmljdCI7CgoJY29uc3Qgbm9uSW50ZWdlciA9IC9bXlxkXS9nOwoJY29uc3QgcmVhY3Rpb25WYWx1ZXMgPSB7CgkJIlRIVU1CU19VUCI6IDEsCgkJIkhPT1JBWSI6IDEsCgkJIkhFQVJUIjogMSwKCQkiTEFVR0giOiAwLjUsCgkJIkNPTkZVU0VEIjogLTAuNSwKCQkiVEhVTUJTX0RPV04iOiAtMQoJfTsKCWNvbnN0IGN1cnJlbnRTb3J0ID0gewoJCWluaXQ6IGZhbHNlLAoJCWVsOiBudWxsLAoJCWRpcjogMCwgLy8gMCA9IHVuc29ydGVkLCAxID0gZGVzYywgMiA9IGFzYwoJCWJ1c3k6IGZhbHNlLAoJCXR5cGU6IEdNX2dldFZhbHVlKCJzZWxlY3RlZC1yZWFjdGlvbiIsICJOT05FIikKCX07CgoJY29uc3QgZW1vamlTcmMgPSAiaHR0cHM6Ly9naXRodWIuZ2l0aHViYXNzZXRzLmNvbS9pbWFnZXMvaWNvbnMvZW1vamkvdW5pY29kZSI7CgoJY29uc3Qgc29ydEJsb2NrID0gYAo8ZGl2IGNsYXNzPSJUaW1lbGluZUl0ZW0gZ2hzci1zb3J0LWJsb2NrIGdoc3ItaXMtY29sbGFwc2VkIGpzLXRpbWVsaW5lLXByb2dyZXNzaXZlLWZvY3VzLWNvbnRhaW5lciI+Cgk8ZGl2IGNsYXNzPSJhdmF0YXItcGFyZW50LWNoaWxkIFRpbWVsaW5lSXRlbS1hdmF0YXIgYm9yZGVyIGdoc3Itc29ydC1hdmF0YXIgZ2hzci1uby1zZWxlY3Rpb24iPgoJCTxkaXYgY2xhc3M9Imdoc3ItaWNvbi13cmFwIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiBhcmlhLWxhYmVsPSJDbGljayB0byB0b2dnbGUgcmVhY3Rpb24gc29ydCBtZW51Ij4KCQkJPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24gZ2hzci1zb3J0LWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI1IiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgoJCQkJPHBhdGggZD0iTTE1IDggMSA4IDggMHpNMTUgOSAxIDkgOCAxNnoiLz4KCQkJPC9zdmc+CgkJPC9kaXY+CgkJPGctZW1vamk+PC9nLWVtb2ppPgoJCTxidXR0b24gY2xhc3M9Imdoc3Itc29ydC1idXR0b24gZ2hzci1hdmF0YXItc29ydCBidG4gYnRuLXNtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiBhcmlhLWxhYmVsPSJUb2dnbGUgc2VsZWN0ZWQgcmVhY3Rpb24gc29ydCBkaXJlY3Rpb24iPgoJCQk8c3Bhbj48L3NwYW4+CgkJPC9idXR0b24+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InRpbWVsaW5lLWNvbW1lbnQgbWwtbjMiPgoJCTxkaXYgY2xhc3M9InRpbWVsaW5lLWNvbW1lbnQtaGVhZGVyIGNvbW1lbnQgY29tbWVudC1ib2R5Ij4KCQkJPGgzIGNsYXNzPSJ0aW1lbGluZS1jb21tZW50LWhlYWRlci10ZXh0IGY1IHRleHQtbm9ybWFsIj4KCQkJCTxidXR0b24gY2xhc3M9Imdoc3Itc29ydC1idXR0b24gYnRuIGJ0bi1zbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtbiIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTb3J0IGJ5ICsxIHJlYWN0aW9uIiBkYXRhLXNvcnQ9IlRIVU1CU19VUCI+CgkJCQkJPGctZW1vamkgYWxpYXM9IisxIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY0NGQucG5nIj7wn5GNPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSAtMSByZWFjdGlvbiIgZGF0YS1zb3J0PSJUSFVNQlNfRE9XTiI+CgkJCQkJPGctZW1vamkgYWxpYXM9Ii0xIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY0NGUucG5nIj7wn5GOPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSBsYXVnaCByZWFjdGlvbiIgZGF0YS1zb3J0PSJMQVVHSCI+CgkJCQkJPGctZW1vamkgYWxpYXM9InNtaWxlIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY2MDQucG5nIj7wn5iEPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSBob29yYXkgcmVhY3Rpb24iIGRhdGEtc29ydD0iSE9PUkFZIj4KCQkJCQk8Zy1lbW9qaSBhbGlhcz0idGFkYSIgY2xhc3M9ImVtb2ppIiBmYWxsYmFjay1zcmM9IiR7ZW1vamlTcmN9LzFmMzg5LnBuZyI+8J+OiTwvZy1lbW9qaT4KCQkJCTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0iZ2hzci1zb3J0LWJ1dHRvbiBidG4gYnRuLXNtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNvcnQgYnkgY29uZnVzZWQgcmVhY3Rpb24iIGRhdGEtc29ydD0iQ09ORlVTRUQiPgoJCQkJCTxnLWVtb2ppIGFsaWFzPSJ0aGlua2luZ19mYWNlIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY2MTUucG5nIj7wn5iVPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSBoZWFydCByZWFjdGlvbiIgZGF0YS1zb3J0PSJIRUFSVCI+CgkJCQkJPGctZW1vamkgYWxpYXM9ImhlYXJ0IiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMjc2NC5wbmciPuKdpO+4jzwvZy1lbW9qaT4KCQkJCTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0iZ2hzci1zb3J0LWJ1dHRvbiBidG4gYnRuLXNtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIHRvb2x0aXBwZWQtbXVsdGlsaW5lIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNvcnQgYnkgcmVhY3Rpb24gZXZhbHVhdGlvbgoodGh1bWJzIHVwLCBob29yYXkgJiBoZWFydCA9ICsxOwpsYXVnaCA9ICswLjU7IGNvbmZ1c2VkID0gLTAuNTsKdGh1bWJzIGRvd24gPSAtMSkiIGRhdGEtc29ydD0iQUNUSVZFIj4KCQkJCQk8Zy1lbW9qaSBhbGlhcz0ic3BlYWtfbm9fZXZpbCIgY2xhc3M9ImVtb2ppIiBmYWxsYmFjay1zcmM9IiR7ZW1vamlTcmN9LzFmNjRhLnBuZyI+8J+ZijwvZy1lbW9qaT4KCQkJCTwvYnV0dG9uPgoJCQk8L2gzPgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2PmA7CgoJZnVuY3Rpb24gc3VtT2ZSZWFjdGlvbnMoZWwpIHsKCQlyZXR1cm4gT2JqZWN0LmtleXMocmVhY3Rpb25WYWx1ZXMpLnJlZHVjZSgoc3VtLCBpdGVtKSA9PiB7CgkJCWNvbnN0IGVsbSA9ICQoYC5jb21tZW50LXJlYWN0aW9ucy1vcHRpb25zIGJ1dHRvblt2YWx1ZSo9IiR7aXRlbX0iXWAsIGVsKTsKCQkJcmV0dXJuIHN1bSArIChnZXRWYWx1ZShlbG0pICogcmVhY3Rpb25WYWx1ZXNbaXRlbV0pOwoJCX0sIDApOwoJfQoKCWZ1bmN0aW9uIGdldFZhbHVlKGVsbSkgewoJCXJldHVybiBlbG0gPwoJCQlwYXJzZUludChlbG0udGV4dENvbnRlbnQucmVwbGFjZShub25JbnRlZ2VyLCAiIikgfHwgIjAiLCAxMCkgOgoJCQkwOwoJfQoKCWZ1bmN0aW9uIGV4dHJhY3RTb3J0VmFsdWUoZWxtLCB0eXBlLCBkaXIpIHsKCQlpZiAoZGlyID09PSAwIHx8IHR5cGUgPT09ICJOT05FIiB8fCB0eXBlID09PSAiQUNUSVZFIikgewoJCQlyZXR1cm4gcGFyc2VGbG9hdCgKCQkJCWVsbS5kYXRhc2V0W2Bzb3J0Q29tbWVudCR7ZGlyID09PSAwID8gIkRhdGUiIDogIlN1bSJ9YF0KCQkJKTsKCQl9CgkJcmV0dXJuIGdldFZhbHVlKCQoYC5jb21tZW50LXJlYWN0aW9ucyBidXR0b25bdmFsdWUqPSIke3R5cGV9Il1gLCBlbG0pKTsKCX0KCglmdW5jdGlvbiBzdGFibGVTb3J0VmFsdWUoZWxtKSB7CgkJcmV0dXJuIHBhcnNlSW50KGVsbS5kYXRhc2V0LnNvcnRDb21tZW50RGF0ZSwgMTApOwoJfQoKCWZ1bmN0aW9uIHVwZGF0ZUF2YXRhcigpIHsKCQlHTV9zZXRWYWx1ZSgic2VsZWN0ZWQtcmVhY3Rpb24iLCBjdXJyZW50U29ydC50eXBlKTsKCQljb25zdCBibG9jayA9ICQoIi5naHNyLXNvcnQtYmxvY2siKSwKCQkJYXZhdGFyID0gJCgiLmdoc3Itc29ydC1hdmF0YXIiLCBibG9jayksCgkJCWljb24gPSAkKCIuZ2hzci1zb3J0LWJ1dHRvbiBzcGFuIiwgYXZhdGFyKTsKCQlpZiAoYXZhdGFyKSB7CgkJCWxldCBjdXJyZW50ID0gJChgLmNvbW1lbnQtYm9keSBbZGF0YS1zb3J0PSR7Y3VycmVudFNvcnQudHlwZX1dYCwgYmxvY2spOwoJCQlhdmF0YXIuY2xhc3NMaXN0LnJlbW92ZSgiZ2hzci1uby1zZWxlY3Rpb24iKTsKCQkJYXZhdGFyLnJlcGxhY2VDaGlsZCgKCQkJCSQoImctZW1vamkiLCBjdXJyZW50KS5jbG9uZU5vZGUodHJ1ZSksCgkJCQkkKCJnLWVtb2ppIiwgYXZhdGFyKQoJCQkpOwoJCQlpZiAoY3VycmVudFNvcnQuZGlyID09PSAwKSB7CgkJCQkvLyB1c2UgdW5zb3J0ZWQgc3ZnIGluIHNvcnQgYnV0dG9uCgkJCQljdXJyZW50ID0gJCgiLmdoc3Itc29ydC1pY29uIiwgYXZhdGFyKS5jbG9uZU5vZGUodHJ1ZSk7CgkJCQljdXJyZW50LmNsYXNzTGlzdC5yZW1vdmUoImdoc3Itc29ydC1pY29uIik7CgkJCQlpY29uLnRleHRDb250ZW50ID0gIiI7CgkJCQlpY29uLmFwcGVuZENoaWxkKGN1cnJlbnQpOwoJCQl9IGVsc2UgewoJCQkJaWNvbi50ZXh0Q29udGVudCA9IGN1cnJlbnRTb3J0LmRpciAhPT0gMSA/ICLilrIiIDogIuKWvCI7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gc29ydCgpIHsKCQljdXJyZW50U29ydC5idXN5ID0gdHJ1ZTsKCQljb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwKCQkJY29udGFpbmVyID0gJCgiLmpzLWRpc2N1c3Npb24iKSwKCQkJc29ydEJsb2NrID0gJCgiLmdoc3Itc29ydC1ibG9jayIpLAoJCQlsb2FkTW9yZSA9ICQoIiNwcm9ncmVzc2l2ZS10aW1lbGluZS1pdGVtLWNvbnRhaW5lciIpLAoJCQlkaXIgPSBjdXJyZW50U29ydC5kaXIsCgkJCXNvcnRBc2MgPSBkaXIgIT09IDEsCgkJCXR5cGUgPSBjdXJyZW50U29ydC5lbCA/IGN1cnJlbnRTb3J0LmVsLmRhdGFzZXQuc29ydCA6ICJOT05FIjsKCQljdXJyZW50U29ydC50eXBlID0gdHlwZTsKCQl1cGRhdGVBdmF0YXIoKTsKCgkJJCQoIi5qcy10aW1lbGluZS1pdGVtIikKCQkJLnNvcnQoKGEsIGIpID0+IHsKCQkJCWNvbnN0IGF2ID0gZXh0cmFjdFNvcnRWYWx1ZShhLCB0eXBlLCBkaXIpLAoJCQkJCWJ2ID0gZXh0cmFjdFNvcnRWYWx1ZShiLCB0eXBlLCBkaXIpOwoJCQkJaWYgKGF2ID09PSBidikgewoJCQkJCXJldHVybiBzdGFibGVTb3J0VmFsdWUoYSkgLSBzdGFibGVTb3J0VmFsdWUoYik7CgkJCQl9CgkJCQlyZXR1cm4gc29ydEFzYyA/IGF2IC0gYnYgOiBidiAtIGF2OwoJCQl9KQoJCQkuZm9yRWFjaChlbCA9PiB7CgkJCQlmcmFnbWVudC5hcHBlbmRDaGlsZChlbCk7CgkJCX0pOwoJCWNvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnbWVudCk7CgkJaWYgKGxvYWRNb3JlKSB7CgkJCS8vIE1vdmUgbG9hZCBtb3JlIGNvbW1lbnRzIHRvIHRvcAoJCQlzb3J0QmxvY2sucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobG9hZE1vcmUsIHNvcnRCbG9jay5uZXh0U2libGluZyk7CgkJfQoJCXNldFRpbWVvdXQoKCkgPT4gewoJCQljdXJyZW50U29ydC5idXN5ID0gZmFsc2U7CgkJfSwgMTAwKTsKCX0KCglmdW5jdGlvbiB1cGRhdGUoKSB7CgkJaWYgKCFjdXJyZW50U29ydC5pbml0IHx8ICQkKCIuaGFzLXJlYWN0aW9ucyIpLmxlbmd0aCA8IDIpIHsKCQkJcmV0dXJuIHRvZ2dsZVNvcnRCbG9jayhmYWxzZSk7CgkJfQoJCXRvZ2dsZVNvcnRCbG9jayh0cnVlKTsKCQljb25zdCBpdGVtcyA9ICQkKCIuanMtdGltZWxpbmUtaXRlbTpub3QoW2RhdGEtc29ydC1jb21tZW50LWRhdGVdKSIpOwoJCWlmIChpdGVtcykgewoJCQlpdGVtcy5mb3JFYWNoKGVsID0+IHsKCQkJCWxldCBkYXRlID0gJCgiW2RhdGV0aW1lXSIsIGVsKTsKCQkJCWlmIChkYXRlKSB7CgkJCQkJZGF0ZSA9IGRhdGUuZ2V0QXR0cmlidXRlKCJkYXRldGltZSIpOwoJCQkJCWVsLnNldEF0dHJpYnV0ZSgiZGF0YS1zb3J0LWNvbW1lbnQtZGF0ZSIsIERhdGUucGFyc2UoZGF0ZSkpOwoJCQkJfQoJCQkJLy8gQWRkIHJlc2V0IGRhdGUgJiBtb3N0IGFjdGl2ZSBzdW1tYXRpb24KCQkJCWVsLnNldEF0dHJpYnV0ZSgiZGF0YS1zb3J0LWNvbW1lbnQtc3VtIiwgc3VtT2ZSZWFjdGlvbnMoZWwpKTsKCQkJfSk7CgkJfQoJCWlmIChjdXJyZW50U29ydC5lbCAmJiAhY3VycmVudFNvcnQuYnVzeSkgewoJCQlzb3J0KCk7CgkJfQoJfQoKCWZ1bmN0aW9uIGluaXRTb3J0KGV2ZW50KSB7CgkJbGV0IGRpcmVjdGlvbiwKCQkJdGFyZ2V0ID0gZXZlbnQudGFyZ2V0OwoJCWlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJnaHNyLXNvcnQtYnV0dG9uIikpIHsKCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCWlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJnaHNyLWF2YXRhci1zb3J0IikpIHsKCQkJCS8vIFVzaW5nIGF2YXRhciBzb3J0IGJ1dHRvbjsgcmV0YXJnZXQgYnV0dG9uCgkJCQl0YXJnZXQgPSAkKGAuZ2hzci1zb3J0LWJ1dHRvbltkYXRhLXNvcnQ9IiR7Y3VycmVudFNvcnQudHlwZX0iXWApOwoJCQkJY3VycmVudFNvcnQuZWwgPSB0YXJnZXQ7CgkJCX0KCQkJJCQoIi5naHNyLXNvcnQtYnV0dG9uIikuZm9yRWFjaChlbCA9PiB7CgkJCQllbC5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIsIGVsID09PSB0YXJnZXQpOwoJCQkJZWwuY2xhc3NMaXN0LnJlbW92ZSgiYXNjIiwgImRlc2MiKTsKCQkJfSk7CgkJCWlmIChjdXJyZW50U29ydC5lbCA9PT0gdGFyZ2V0KSB7CgkJCQljdXJyZW50U29ydC5kaXIgPSAoY3VycmVudFNvcnQuZGlyICsgMSkgJSAzOwoJCQl9IGVsc2UgewoJCQkJY3VycmVudFNvcnQuZWwgPSB0YXJnZXQ7CgkJCQljdXJyZW50U29ydC5kaXIgPSAxOwoJCQl9CgkJCWlmIChjdXJyZW50U29ydC5kaXIgIT09IDApIHsKCQkJCWRpcmVjdGlvbiA9IGN1cnJlbnRTb3J0LmRpciA9PT0gMSA/ICJkZXNjIiA6ICJhc2MiOwoJCQkJY3VycmVudFNvcnQuZWwuY2xhc3NMaXN0LmFkZChkaXJlY3Rpb24pOwoJCQkJJCgiLmdoc3ItYXZhdGFyLXNvcnQiKS5jbGFzc0xpc3QuYWRkKGRpcmVjdGlvbik7CgkJCX0KCQkJc29ydCgpOwoJCX0gZWxzZSBpZiAodGFyZ2V0Lm1hdGNoZXMoIi5naHNyLXNvcnQtYXZhdGFyLCAuZ2hzci1pY29uLXdyYXAiKSkgewoJCQkkKCIuZ2hzci1zb3J0LWJsb2NrIikuY2xhc3NMaXN0LnRvZ2dsZSgiZ2hzci1pcy1jb2xsYXBzZWQiKTsKCQl9Cgl9CgoJZnVuY3Rpb24gdG9nZ2xlU29ydEJsb2NrKHNob3cpIHsKCQljb25zdCBibG9jayA9ICQoIi5naHNyLXNvcnQtYmxvY2siKTsKCQlpZiAoYmxvY2spIHsKCQkJYmxvY2suc3R5bGUuZGlzcGxheSA9IHNob3cgPyAiYmxvY2siIDogIm5vbmUiOwoJCX0gZWxzZSBpZiAoc2hvdykgewoJCQlhZGRTb3J0QmxvY2soKTsKCQl9Cgl9CgoJZnVuY3Rpb24gYWRkU29ydEJsb2NrKCkgewoJCWN1cnJlbnRTb3J0LmJ1c3kgPSB0cnVlOwoJCWNvbnN0IGZpcnN0ID0gJCgiLlRpbWVsaW5lSXRlbSIpOwoJCWlmIChmaXJzdCkgewoJCQlmaXJzdC5jbGFzc0xpc3QuYWRkKCJnaHNyLXNraXAtc29ydCIpOwoJCQlmaXJzdC5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyRW5kIiwgc29ydEJsb2NrKTsKCQl9CgkJY3VycmVudFNvcnQuYnVzeSA9IGZhbHNlOwoJfQoKCWZ1bmN0aW9uIGluaXQoKSB7CgkJaWYgKCFjdXJyZW50U29ydC5pbml0KSB7CgkJCUdNX2FkZFN0eWxlKGAKCQkJCS5naHNyLXNvcnQtYmxvY2sgLmNvbW1lbnQtYm9keSB7IHBhZGRpbmc6IDAgMTBweDsgfQoJCQkJLmdoc3Itc29ydC1ibG9jayAudGltZWxpbmUtY29tbWVudC1oZWFkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KCQkJCS5naHNyLXNvcnQtYmxvY2sgLmVtb2ppIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfQoJCQkJLmdoc3Itc29ydC1ibG9jayAuYnRuLmFzYyAuZW1vamk6YWZ0ZXIgeyBjb250ZW50OiAi4payIjsgfQoJCQkJLmdoc3Itc29ydC1ibG9jayAuYnRuLmRlc2MgLmVtb2ppOmFmdGVyIHsgY29udGVudDogIuKWvCI7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyLCAuZ2hzci1pY29uLXdyYXAgeyBoZWlnaHQ6IDQ4cHg7IHdpZHRoOiA0NHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIHsgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjIpOyBib3JkZXI6ICM3NzcgMXB4IHNvbGlkOyB9CgkJCQkuZ2hzci1zb3J0LWF2YXRhciAuZW1vamkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTM2cHg7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIHN2ZyB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9CgkJCQkuZ2hzci1zb3J0LWF2YXRhci5naHNyLW5vLXNlbGVjdGlvbiB7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMCA0cHggMCAwOyB9CgkJCQkuZ2hzci1zb3J0LWF2YXRhci5naHNyLW5vLXNlbGVjdGlvbiAuZW1vamksCgkJCQkuZ2hzci1zb3J0LWF2YXRhci5naHNyLW5vLXNlbGVjdGlvbiAuYnRuLAoJCQkJLmdoc3Itc29ydC1hdmF0YXI6bm90KC5naHNyLW5vLXNlbGVjdGlvbikgc3ZnLmdoc3Itc29ydC1pY29uIHsgZGlzcGxheTogbm9uZTsgfQoJCQkJLmdoc3Itc29ydC1hdmF0YXIgLmJ0biB7IGJvcmRlci1yYWRpdXM6IDIwcHg7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtNXB4OyByaWdodDogLTVweDsgfQoJCQkJLmdoc3Itc29ydC1hdmF0YXIgLmJ0biBzcGFuIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1cHg7IHRvcDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIC5idG4uYXNjIHNwYW4geyB0b3A6IC0zcHg7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIC5idG4gc3BhbiBzdmcgeyBoZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7IH0KCQkJCS5naHNyLXNvcnQtYmxvY2suZ2hzci1pcy1jb2xsYXBzZWQgaDMsCgkJCQkuZ2hzci1zb3J0LWJsb2NrLmdoc3ItaXMtY29sbGFwc2VkIC50aW1lbGluZS1jb21tZW50OmJlZm9yZSwKCQkJCS5naHNyLXNvcnQtYmxvY2suZ2hzci1pcy1jb2xsYXBzZWQgLnRpbWVsaW5lLWNvbW1lbnQ6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9CgkJCQkuZ2hzci1zb3J0LWJsb2NrLmdoc3ItaXMtY29sbGFwc2VkIC50aW1lbGluZS1jb21tZW50IHsgbWFyZ2luOiAxMHB4IDA7IH0KCQkJCS5naHNyLXNvcnQtYmxvY2suZ2hzci1pcy1jb2xsYXBzZWQgLlRpbWVsaW5lSXRlbS1hdmF0YXIgeyB0b3A6IDZweDsgfQoJCQlgKTsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2htbzpjb250YWluZXIiLCB1cGRhdGUpOwoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJnaG1vOmNvbW1lbnRzIiwgdXBkYXRlKTsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBpbml0U29ydCk7CgkJCWN1cnJlbnRTb3J0LmluaXQgPSB0cnVlOwoJCQl1cGRhdGUoKTsKCQkJLy8gIk5PTkUiIGNhbiBvbmx5IGJlIHNlZW4gb24gdXNlcnNjcmlwdCBpbml0L2ZhY3RvcnkgcmVzZXQKCQkJaWYgKCQoIi5naHNyLXNvcnQtYmxvY2siKSAmJiBjdXJyZW50U29ydC50eXBlICE9PSAiTk9ORSIpIHsKCQkJCXVwZGF0ZUF2YXRhcigpOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uICQoc2VsZWN0b3IsIGVsKSB7CgkJcmV0dXJuIChlbCB8fCBkb2N1bWVudCkucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7Cgl9CgoJZnVuY3Rpb24gJCQoc2VsZWN0b3IsIGVsKSB7CgkJcmV0dXJuIFsuLi4oZWwgfHwgZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpXTsKCX0KCglpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImxvYWRpbmciKSB7CgkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHVwZGF0ZSwge29uY2U6IHRydWV9KTsKCX0gZWxzZSB7CgkJaW5pdCgpOwoJfQp9KSgpOwo=", 709 - "storage": { 710 - "data": {}, 711 - "ts": 1636665066915 712 - }, 713 - "uuid": "31410fbe-5cc6-4a14-a3f3-339c85f4d804" 714 - }, 715 - { 716 - "enabled": true, 717 - "file_url": "https://raw.githubusercontent.com/Mottie/GitHub-userscripts/master/github-update-fork.user.js", 718 - "name": "GitHub Update Fork", 719 - "options": { 720 - "check_for_updates": true, 721 - "comment": null, 722 - "compat_foreach": false, 723 - "compat_metadata": false, 724 - "compat_powerful_this": null, 725 - "compat_prototypes": false, 726 - "compat_wrappedjsobject": false, 727 - "compatopts_for_requires": true, 728 - "noframes": null, 729 - "override": { 730 - "merge_connects": true, 731 - "merge_excludes": true, 732 - "merge_includes": true, 733 - "merge_matches": true, 734 - "orig_connects": [], 735 - "orig_excludes": [], 736 - "orig_includes": [ 737 - "https://github.com/*" 738 - ], 739 - "orig_matches": [], 740 - "orig_noframes": null, 741 - "orig_run_at": "document-idle", 742 - "use_blockers": [], 743 - "use_connects": [], 744 - "use_excludes": [], 745 - "use_includes": [], 746 - "use_matches": [] 747 - }, 748 - "run_at": null, 749 - "tab_types": null 750 - }, 751 - "position": 16, 752 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiBVcGRhdGUgRm9yawovLyBAdmVyc2lvbiAgICAgMC4yLjAKLy8gQGRlc2NyaXB0aW9uIEEgdXNlcnNjcmlwdCB0aGF0IGFkZHMgYSBsaW5rIHRvIHVwZGF0ZSB5b3VyIGZvcmsKLy8gQGxpY2Vuc2UgICAgIE1JVAovLyBAYXV0aG9yICAgICAgUm9iIEdhcnJpc29uCi8vIEBuYW1lc3BhY2UgICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllCi8vIEBpbmNsdWRlICAgICBodHRwczovL2dpdGh1Yi5jb20vKgovLyBAcnVuLWF0ICAgICAgZG9jdW1lbnQtaWRsZQovLyBAZ3JhbnQgICAgICAgbm9uZQovLyBAaWNvbiAgICAgICAgaHR0cHM6Ly9naXRodWIuZ2l0aHViYXNzZXRzLmNvbS9waW5uZWQtb2N0b2NhdC5zdmcKLy8gQHVwZGF0ZVVSTCAgIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9Nb3R0aWUvR2l0SHViLXVzZXJzY3JpcHRzL21hc3Rlci9naXRodWItdXBkYXRlLWZvcmsudXNlci5qcwovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRIdWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi11cGRhdGUtZm9yay51c2VyLmpzCi8vIEBzdXBwb3J0VVJMICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllL0dpdEh1Yi11c2Vyc2NyaXB0cy9pc3N1ZXMKLy8gPT0vVXNlclNjcmlwdD09CigoKSA9PiB7CgkidXNlIHN0cmljdCI7CgoJZnVuY3Rpb24gZ2V0VXBzdHJlYW1CcmFuY2goY29tcGFyZUxpbmssIGluZm8pIHsKCQkvLyBMb29rIGZvciAiY29tbWl0IGJlaGluZCIgb3IgImNvbW1pdHMgYmVoaW5kIgoJCWlmIChjb21wYXJlTGluayAmJiBpbmZvICYmIC9jb21taXRzP1xzYmVoaW5kLy50ZXN0KGluZm8udGV4dENvbnRlbnQpKSB7CgkJCS8vIGZvcmtlZCBmcm9tIGxpbmsgdGV4dCAiOnVzZXIvOnJlcG8iCgkJCWNvbnN0IHJlZ2V4cCA9IC9iZWhpbmRccyooLis6Wy1cdy5dKykvOwoJCQkvLyBUaGUgbWF0Y2ggd2lsbCBpbmNsdWRlIHRoZSBzZW50ZW5jZSBwZXJpb2QgYmVjYXVzZSBicmFuY2ggbmFtZXMgbWF5CgkJCS8vIGluY2x1ZGUgYSB2ZXJzaW9uIG51bWJlciwgZS5nLiAidXNlcjpteS1icmFuY2gtdjEuMCIKCQkJY29uc3QgYnJhbmNoID0gKGluZm8udGV4dENvbnRlbnQubWF0Y2gocmVnZXhwKSB8fCBbXSlbMV07CgkJCXJldHVybiBicmFuY2gKCQkJCT8gYnJhbmNoLnN1YnN0cmluZygwLCBicmFuY2gubGVuZ3RoIC0gMSkKCQkJCTogbnVsbDsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgoJZnVuY3Rpb24gZ2V0VXNlckJyYW5jaCgpIHsKCQkvLyBUaGUgYnJhbmNoIHNlbGVjdG9yIG1heSBjb250YWluIGEgdHJ1bmNhdGVkIGJyYW5jaCBuYW1lLCBzbyB1c2UgdGhlIHVybAoJCWNvbnN0IHBhdGggPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CgkJY29uc3QgaW5kZXggPSBwYXRoLmluZGV4T2YoIi90cmVlLyIpOwoJCXJldHVybiBpbmRleCA+IC0xCgkJCT8gcGF0aC5zdWJzdHJpbmcoaW5kZXggKyA2LCBwYXRoLmxlbmd0aCkKCQkJOiAibWFzdGVyIjsKCX0KCglmdW5jdGlvbiBhZGRMaW5rKGNvbXBhcmVMaW5rLCBpbmZvKSB7CgkJY29uc3QgYnJhbmNoID0gZ2V0VXBzdHJlYW1CcmFuY2goY29tcGFyZUxpbmssIGluZm8pOwoJCWlmIChicmFuY2gpIHsKCQkJY29uc3QgdXNlckJyYW5jaCA9IGdldFVzZXJCcmFuY2goKTsKCQkJY29uc3QgcHJMaW5rID0gY29tcGFyZUxpbmsucHJldmlvdXNFbGVtZW50U2libGluZzsKCQkJY29uc3QgbGluayA9IHByTGluay5jbG9uZU5vZGUoKTsKCQkJLy8gaHR0cHM6Ly9naXRodWIuY29tLzxGT1JLPi88UkVQTz4vY29tcGFyZS88QlJBTkNIPi4uLjxTT1VSQ0U+OjxCUkFOQ0g+CgkJCWxpbmsuaHJlZiA9IGAke2NvbXBhcmVMaW5rLmhyZWZ9LyR7dXNlckJyYW5jaH0uLi4ke2JyYW5jaH1gOwoJCQlsaW5rLmNsYXNzTGlzdC5hZGQoImdodWYtdXBkYXRlLWxpbmsiKTsKCQkJbGluay5hcHBlbmRDaGlsZCgkKCJzdmciLCBwckxpbmspLmNsb25lTm9kZSh0cnVlKSk7CgkJCWxpbmsuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBVcGRhdGUgZm9yayIpKTsKCQkJcHJMaW5rLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlYmVnaW4iLCBsaW5rKTsKCQl9Cgl9CgoJZnVuY3Rpb24gaW5pdCgpIHsKCQljb25zdCBjb21wYXJlTGluayA9ICQoImFbaHJlZio9J3B1bGwvbmV3J10gKyBhW2hyZWYkPScvY29tcGFyZSddIik7CgkJY29uc3QgaW5mbyA9IGNvbXBhcmVMaW5rPy5jbG9zZXN0KCIuQm94Iik/LmZpcnN0RWxlbWVudENoaWxkOwoJCWlmIChjb21wYXJlTGluayAmJiBpbmZvKSB7CgkJCWFkZExpbmsoY29tcGFyZUxpbmssIGluZm8pOwoJCX0KCX0KCglmdW5jdGlvbiAkKHN0ciwgZWwgPSBkb2N1bWVudCkgewoJCXJldHVybiBlbC5xdWVyeVNlbGVjdG9yKHN0cik7Cgl9CgoJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGpheDplbmQiLCBpbml0KTsKCWluaXQoKTsKCn0pKCk7Cg==", 753 - "storage": { 754 - "data": {}, 755 - "ts": 1636665106109 756 - }, 757 - "uuid": "20aad555-b97e-4d4a-bfe5-7853897de54d" 758 - }, 759 - { 760 - "enabled": false, 761 - "file_url": "https://raw.githubusercontent.com/Mottie/Github-userscripts/master/github-title-notification.user.js", 762 - "name": "GitHub - Pin Repos to Sidebar", 763 - "options": { 764 - "check_for_updates": false, 765 - "comment": null, 766 - "compat_foreach": false, 767 - "compat_metadata": false, 768 - "compat_powerful_this": null, 769 - "compat_prototypes": false, 770 - "compat_wrappedjsobject": false, 771 - "compatopts_for_requires": true, 772 - "noframes": null, 773 - "override": { 774 - "merge_connects": true, 775 - "merge_excludes": true, 776 - "merge_includes": true, 777 - "merge_matches": true, 778 - "orig_connects": [], 779 - "orig_excludes": [], 780 - "orig_includes": [], 781 - "orig_matches": [ 782 - "http*://github.com/*dashboard", 783 - "http*://github.com/" 784 - ], 785 - "orig_noframes": null, 786 - "orig_run_at": "document-idle", 787 - "use_blockers": [], 788 - "use_connects": [], 789 - "use_excludes": [], 790 - "use_includes": [], 791 - "use_matches": [] 792 - }, 793 - "run_at": null, 794 - "tab_types": null 795 - }, 796 - "position": 17, 797 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiAtIFBpbiBSZXBvcyB0byBTaWRlYmFyCi8vIEB2ZXJzaW9uICAgICAwLjEuMAovLyBAZGVzY3JpcHRpb24gQSB1c2Vyc2NyaXB0IHRoYXQgYWxsb3dzIHlvdSB0byBwaW4gcmVwb3NpdG9yaWVzIHRvIHRoZSBHaXRIdWIgZGFzaGJvYXJkIHNpZGViYXIKLy8gQGxpY2Vuc2UgICAgIE1JVAovLyBAYXV0aG9yICAgICAgSWFuIENoYW1iZXJsYWluCi8vIEBuYW1lc3BhY2UgICBodHRwczovL2dpdGh1Yi5jb20vaWFuLWgtY2hhbWJlcmxhaW4KLy8gQG1hdGNoICAgICAgIGh0dHAqOi8vZ2l0aHViLmNvbS8qZGFzaGJvYXJkCi8vIEBtYXRjaCAgICAgICBodHRwKjovL2dpdGh1Yi5jb20vCi8vIEBncmFudCAgICAgICBHTV9nZXRWYWx1ZQovLyBAZ3JhbnQgICAgICAgR01fc2V0VmFsdWUKLy8gQGdyYW50ICAgICAgIEdNX2FkZFZhbHVlQ2hhbmdlTGlzdGVuZXIKLy8gQGljb24gICAgICAgIGh0dHBzOi8vZ2l0aHViLmdpdGh1YmFzc2V0cy5jb20vcGlubmVkLW9jdG9jYXQuc3ZnCi8vID09L1VzZXJTY3JpcHQ9PQoKCi8qKgpHZW5lcmFsIFRPRE9TOgogIC0gRE9NIHVwZGF0ZSBhZnRlciBjbGlja2luZyAidW5waW4iCiAgLSB1cGRhdGUgRE9NIGFmdGVyIHVzZXIgY2xpY2tzICJTaG93IG1vcmUiLCBvciB0eXBlcyBpbiBmaWx0ZXIgYm94ICh0byBnZXQgcGluIGJ1dHRvbikKICAtIGdlbmVyYWwgZWZmaWNpZW5jeSwgcHJvYmFibHkgZG9pbmcgd2F5IG1vcmUgZmV0Y2hlcyB0aGFuIG5lZWRlZC4gTWF5YmUgc29tZSBraW5kIG9mIGNhY2hlCiAgLSBmaW5hbGl6ZSA9VXNlclNjcmlwdD0gaGVhZGVyIGFzIG5lZWRlZCwgVVJMcyBldGMuCiovCgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgY29uc3QgbG9jYWxTdG9yYWdlS2V5ID0gJ3Bpbm5lZFJlcG9zJzsKICAgIGNvbnN0IHJlcG9TZWxlY3RvcnMgPSBbJ2xpLnNvdXJjZScsICdsaS5mb3JrJ107CgogICAgZnVuY3Rpb24gbG9nKC4uLmFyZ3MpIHsKICAgICAgICBjb25zdCBkZWJ1Z0xvZ3MgPSBmYWxzZTsKCiAgICAgICAgaWYgKGRlYnVnTG9ncykgewogICAgICAgICAgICBjb25zb2xlLmxvZyguLi5hcmdzKTsKICAgICAgICB9CiAgICB9CgogICAgbGV0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKCiAgICBhc3luYyBmdW5jdGlvbiBnZXRCb29rbWFya0ljb24oZmlsbGVkKSB7CiAgICAgICAgbGV0IGZpbGxlZEJvb2ttYXJrID0gbnVsbDsKICAgICAgICBsZXQgdW5maWxsZWRCb29rbWFyayA9IG51bGw7CgogICAgICAgIGFzeW5jIGZ1bmN0aW9uIGZldGNoSWNvbih1cmwsIGZpbGxlZCkgewogICAgICAgICAgICBjb25zdCBtaW1lVHlwZSA9ICdpbWFnZS9zdmcreG1sJzsKCiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7CiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLAogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAgICdBY2NlcHQnOiBtaW1lVHlwZSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykgewogICAgICAgICAgICAgICAgY29uc29sZS53YXJuaW5nKCdVbmFibGUgdG8gbG9hZCBib29rbWFyayBpY29uJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgIGxldCBkb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHRleHQsIG1pbWVUeXBlKTsKICAgICAgICAgICAgaWYgKGRvYyA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm5pbmcoJ1VuYWJsZSB0byBwYXJzZSBib29rbWFyayBpY29uJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IGVsZW0gPSBkb2MuZmlyc3RDaGlsZDsKCiAgICAgICAgICAgIGVsZW0uc2V0QXR0cmlidXRlKCd3aWR0aCcsIDE2KTsKICAgICAgICAgICAgZWxlbS5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIDE2KTsKICAgICAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKCdvY3RpY29uJyk7CiAgICAgICAgICAgIGVsZW0uY2xhc3NMaXN0LmFkZChmaWxsZWQgPyAnb2N0aWNvbi1ib29rbWFyay1maWxsJyA6ICdvY3RpY29uLWJvb2ttYXJrJyk7CiAgICAgICAgICAgIGVsZW0uY2xhc3NMaXN0LmFkZChmaWxsZWQgPyAnanMtYm9va21hcmstZmlsbGVkJyA6ICdqcy1ib29rbWFyaycpOwoKICAgICAgICAgICAgcmV0dXJuIGVsZW07CiAgICAgICAgfQoKICAgICAgICBpZiAoZmlsbGVkKSB7CiAgICAgICAgICAgIGlmIChmaWxsZWRCb29rbWFyayA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICBmaWxsZWRCb29rbWFyayA9IGF3YWl0IGZldGNoSWNvbignaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3ByaW1lci9vY3RpY29ucy9tYWluL2ljb25zL2Jvb2ttYXJrLWZpbGwtMjQuc3ZnJywgdHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZpbGxlZEJvb2ttYXJrLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAodW5maWxsZWRCb29rbWFyayA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICB1bmZpbGxlZEJvb2ttYXJrID0gYXdhaXQgZmV0Y2hJY29uKCdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHJpbWVyL29jdGljb25zL21haW4vaWNvbnMvYm9va21hcmstMjQuc3ZnJywgZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB1bmZpbGxlZEJvb2ttYXJrLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICB9CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gdXBkYXRlKCkgewogICAgICAgIGNvbnN0IGNvbnRleHRQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5TZWxlY3RNZW51JykuYXR0cmlidXRlcy5zcmMudmFsdWUpOwogICAgICAgIGNvbnN0IHJlcG9Db250ZXh0ID0gY29udGV4dFBhcmFtcy5nZXQoJy9kYXNoYm9hcmQvYWpheF9jb250ZXh0X2xpc3Q/Y3VycmVudF9jb250ZXh0Jyk7CgogICAgICAgIGxvZyhgQ3VycmVudCBkYXNoYm9hcmQgcmVwbyBjb250ZXh0OiAiJHtyZXBvQ29udGV4dH0iYCk7CgogICAgICAgIGNvbnN0IHJlcG9FbGVtU2VsZWN0b3IgPSByZXBvU2VsZWN0b3JzLm1hcChzID0+IGAke3N9IGFgKS5qb2luKCcsJyk7CgogICAgICAgIC8vIFRPRE86IHNob3VsZCB0aGlzIGJlIGluIGFuIGluaXQgZnVuY3Rpb24gaW5zdGVhZCBvZiBoZXJlPwogICAgICAgIGxldCBsb2FkZWRSZXBvRWxlbXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocmVwb0VsZW1TZWxlY3RvcikpOwoKICAgICAgICBhd2FpdCB1cGRhdGVSZXBvRE9NKGxvYWRlZFJlcG9FbGVtcyk7CgogICAgICAgIC8vIGZpbmQgYW5kIGZldGNoIHRoZSAiU2hvdyBtb3JlIiByZXBvcyBiYXNlZCBvbiB0aGUgY29udGV4dAogICAgICAgIGxldCBmZXRjaFVybCA9IG51bGw7CiAgICAgICAgbGV0IHNob3dNb3JlU2VsZWN0b3IgPSAnLmpzLW1vcmUtcmVwb3MtZm9ybSA+IGlucHV0W25hbWU9InlvdXJfcmVwb3NfY3Vyc29yIl0nOwoKICAgICAgICBsZXQgcmVwb3NDdXJzb3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNob3dNb3JlU2VsZWN0b3IpOwogICAgICAgIGlmIChyZXBvc0N1cnNvciA9PSBudWxsKSB7CiAgICAgICAgICAgIHNob3dNb3JlU2VsZWN0b3IgPSAnLmpzLW1vcmUtcmVwb3MtZm9ybSA+IGlucHV0W25hbWU9InJlcG9zX2N1cnNvciJdJzsKCiAgICAgICAgICAgIHJlcG9zQ3Vyc29yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzaG93TW9yZVNlbGVjdG9yKTsKICAgICAgICAgICAgaWYgKHJlcG9zQ3Vyc29yICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIC8vIFdlJ3JlIGluIHVzZXIgY29udGV4dCBhbmQgbmVlZCB0byBsb2FkIG1vcmUgcmVwb3MKICAgICAgICAgICAgICAgIGZldGNoVXJsID0gYC9kYXNoYm9hcmQvYWpheF9yZXBvc2l0b3JpZXM/bG9jYXRpb249Y2VudGVyJmJ1dHRvbj0mcmVwb3NfY3Vyc29yPWA7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBJbiBvcmcgY29udGV4dCwgbG9hZCBtb3JlIHJlcG9zCiAgICAgICAgICAgIGZldGNoVXJsID0gYC9vcmdhbml6YXRpb25zLyR7cmVwb0NvbnRleHR9L2FqYXhfeW91cl9yZXBvcz9pbnB1dF9pZD1vcmctcmVwb3MtZmlsdGVyLXNtJmJ1dHRvbj0meW91cl9yZXBvc19jdXJzb3I9YDsKICAgICAgICB9CgogICAgICAgIGxldCBwaW5uZWRSZXBvSHJlZnMgPSBnZXRQaW5uZWRSZXBvcygpOwoKICAgICAgICAvLyBUT0RPIG1heWJlIGRvIHNvbWUgY2FjaGluZyBvZiB0aGUgcmVzcG9uc2VzLCBidXQgaWRrIGhvdyB3b3J0aCBpdCB0aGF0IGlzLgogICAgICAgIHdoaWxlIChyZXBvc0N1cnNvciAhPSBudWxsKSB7CiAgICAgICAgICAgIGNvbnN0IGN1cnNvclZhbHVlID0gcmVwb3NDdXJzb3IuYXR0cmlidXRlcy52YWx1ZS52YWx1ZTsKCiAgICAgICAgICAgIGxvZyhgRmV0Y2hpbmcgJHtmZXRjaFVybCtjdXJzb3JWYWx1ZX1gKTsKCiAgICAgICAgICAgIGNvbnN0IG1pbWVUeXBlID0gJ3RleHQvaHRtbCc7CiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB7CiAgICAgICAgICAgICAgICBtZXRob2Q6ICJHRVQiLAogICAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICJpbmNsdWRlIiwKICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgICAgICAgICAiQWNjZXB0IjogbWltZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgIngtcmVxdWVzdGVkLXdpdGgiOiAiWE1MSHR0cFJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICJTZWMtRmV0Y2gtRGVzdCI6ICJlbXB0eSIsCiAgICAgICAgICAgICAgICAgICAgIlNlYy1GZXRjaC1Nb2RlIjogImNvcnMiLAogICAgICAgICAgICAgICAgICAgICJTZWMtRmV0Y2gtU2l0ZSI6ICJzYW1lLW9yaWdpbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZWZlcnJlcjogZG9jdW1lbnQuVVJMLAogICAgICAgICAgICAgICAgbW9kZTogImNvcnMiCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjb25zdCBuZXh0UmVwb1Jlc3BvbnNlID0gYXdhaXQgZmV0Y2goZmV0Y2hVcmwgKyBjdXJzb3JWYWx1ZSwgcmVxdWVzdFBhcmFtcyk7CgogICAgICAgICAgICBpZiAoIW5leHRSZXBvUmVzcG9uc2Uub2spIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybmluZygiVW5hYmxlIHRvIGxvYWQgYWxsIHJlcG9zIGZvciB0aGUgY3VycmVudCBkYXNoYm9hcmQiKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxldCB0ZXh0ID0gYXdhaXQgbmV4dFJlcG9SZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgIGxldCBuZXh0UmVwb3NEb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHRleHQsIG1pbWVUeXBlKTsKCiAgICAgICAgICAgIGF3YWl0IHVwZGF0ZVJlcG9ET00oQXJyYXkuZnJvbShuZXh0UmVwb3NEb2MucXVlcnlTZWxlY3RvckFsbChyZXBvRWxlbVNlbGVjdG9yKSkpOwoKICAgICAgICAgICAgcmVwb3NDdXJzb3IgPSBuZXh0UmVwb3NEb2MucXVlcnlTZWxlY3RvcihzaG93TW9yZVNlbGVjdG9yKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0UGlubmVkUmVwb3MoKSB7CiAgICAgICAgY29uc3QgcmVwb3MgPSBKU09OLnBhcnNlKEdNX2dldFZhbHVlKGxvY2FsU3RvcmFnZUtleSwgJ1tdJykpOwogICAgICAgIGxvZyhgUGlubmVkIHJlcG9zIGZyb20gc3RvcmFnZTogJHtyZXBvc31gKTsKICAgICAgICByZXR1cm4gcmVwb3M7CiAgICB9CgogICAgLyoqCiAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgbGl2ZSBgdWxgIGVsZW1lbnRzIHdoZXJlIHBpbm5lZCByZXBvcyBzaG91bGQgYmUgaW5zZXJ0ZWQKICAgICAqLwogICAgZnVuY3Rpb24gZmluZE9yQ3JlYXRlUGlubmVkUmVwb0xpc3RzKCkgewogICAgICAgIGxldCBwaW5uZWRSZXBvTGlzdEVsZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnanMtcGlubmVkLXJlcG9zJyk7CgogICAgICAgIGlmIChwaW5uZWRSZXBvTGlzdEVsZW1zLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIGxldCBwaW5uZWRSZXBvTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3VsJyk7CgogICAgICAgICAgICAvLyBmb3IgZGVidWdnaW5nIGFuZCBmaW5kaW5nIHRvIGFkZCByZXBvcyB0byBpdCBsYXRlcjoKICAgICAgICAgICAgcGlubmVkUmVwb0xpc3QuY2xhc3NMaXN0LmFkZCgnanMtcGlubmVkLXJlcG9zJyk7CgogICAgICAgICAgICAvLyBGb3Igc3R5bGUgbWF0Y2hpbmcgd2l0aCBvdGhlciB1bCBmb3IgcmVwb3M6CiAgICAgICAgICAgIHBpbm5lZFJlcG9MaXN0LmNsYXNzTGlzdC5hZGQoJ2xpc3Qtc3R5bGUtbm9uZScpOwogICAgICAgICAgICBwaW5uZWRSZXBvTGlzdC5jbGFzc0xpc3QuYWRkKCdtdC1tZC0zJyk7CiAgICAgICAgICAgIHBpbm5lZFJlcG9MaXN0LmNsYXNzTGlzdC5hZGQoJ21iLW1kLTMnKTsKCiAgICAgICAgICAgIGZvciAobGV0IHJlcG9zRmlsdGVyIG9mIFsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXNoYm9hcmQtcmVwb3MtZmlsdGVyLWxlZnQnKSwKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvcmctcmVwb3MtZmlsdGVyLXNtJyksCiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3JnLXJlcG9zLWZpbHRlci14bCcpLAogICAgICAgICAgICBdKSB7CiAgICAgICAgICAgICAgICBpZiAocmVwb3NGaWx0ZXIgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIHJlcG9zRmlsdGVyLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHBpbm5lZFJlcG9MaXN0LmNsb25lTm9kZSh0cnVlKSwgcmVwb3NGaWx0ZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnanMtcGlubmVkLXJlcG9zJyk7CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gdXBkYXRlUmVwb0RPTShuZXdSZXBvRWxlbWVudHMpIHsKICAgICAgICBsZXQgcGlubmVkUmVwb0hyZWZzID0gZ2V0UGlubmVkUmVwb3MoKTsKCiAgICAgICAgbGV0IHBpbm5lZFJlcG9MaXN0cyA9IGZpbmRPckNyZWF0ZVBpbm5lZFJlcG9MaXN0cygpOwoKICAgICAgICBmb3IgKGNvbnN0IHJlcG9FbGVtIG9mIG5ld1JlcG9FbGVtZW50cykgewogICAgICAgICAgICBsZXQgcGFyZW50ID0gcmVwb0VsZW0ucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgbGV0IGNoaWxkRGl2ID0gbnVsbDsKCiAgICAgICAgICAgIHdoaWxlIChwYXJlbnQgIT0gbnVsbCAmJiBwYXJlbnQudGFnTmFtZSAhPT0gJ0xJJykgewogICAgICAgICAgICAgICAgY2hpbGREaXYgPSBwYXJlbnQ7CiAgICAgICAgICAgICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY29uc3QgaHJlZiA9IHJlcG9FbGVtLmF0dHJpYnV0ZXMuaHJlZi52YWx1ZTsKCiAgICAgICAgICAgIGlmIChwYXJlbnQgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgY29uc3QgaXNQaW5uZWQgPSBwaW5uZWRSZXBvSHJlZnMuaW5jbHVkZXMoaHJlZik7CgogICAgICAgICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCcgYnV0dG9uLmpzLXJlcG8tcGluJykgPT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIGxldCBwaW5CdXR0b24gPSBhd2FpdCBidWlsZFBpbkJ1dHRvbihpc1Bpbm5lZCk7CgogICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZERpdiAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkRGl2LmFwcGVuZENoaWxkKHBpbkJ1dHRvbik7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHBpbkJ1dHRvbik7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudC5jbGFzc0xpc3QuYWRkKCdkLWZsZXgnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKGlzUGlubmVkKSB7CiAgICAgICAgICAgICAgICAgICAgbG9nKGBQaW5uaW5nIHJlcG8gJyR7aHJlZn0nYCk7CiAgICAgICAgICAgICAgICAgICAgLy8gVGFrZSBpdCBvdXQgb2YgdGhlICJ1bnBpbm5lZCIgbGlzdAogICAgICAgICAgICAgICAgICAgIHBhcmVudC5yZW1vdmUoKTsKCiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVwb0xpc3Qgb2YgcGlubmVkUmVwb0xpc3RzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXBvTGlzdC5xdWVyeVNlbGVjdG9yKGBsaSBhW2hyZWY9JyR7aHJlZn0nXWApID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9MaXN0LmFwcGVuZENoaWxkKHBhcmVudC5jbG9uZU5vZGUodHJ1ZSkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBQcm9iYWJseSBhbHNvIG5lZWQgdG8gcmVtb3ZlKCkgaGVyZSBpZiBpdCdzIGluIHRoZSBwaW4gbGlzdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3IgKGxldCBlbGVtIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbi5qcy1yZXBvLXBpbicpKSB7CiAgICAgICAgICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVQaW5DbGljayk7CiAgICAgICAgfQogICAgfQoKICAgIGFzeW5jIGZ1bmN0aW9uIGJ1aWxkUGluQnV0dG9uKHBpbm5lZCkgewogICAgICAgIGxldCB1bnBpbkxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICB1bnBpbkxpbmsuY2xhc3NMaXN0LmFkZCgnanMtcmVwby1waW4nKTsKICAgICAgICB1bnBpbkxpbmsuY2xhc3NMaXN0LmFkZCgnY29sb3ItZmctZGVmYXVsdCcpOwogICAgICAgIHVucGluTGluay5jbGFzc0xpc3QuYWRkKCdidG4tbGluaycpOwogICAgICAgIHVucGluTGluay5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ21hcmdpbi1sZWZ0OiBhdXRvOycpOwoKICAgICAgICBsZXQgcGlubmVkSWNvbiA9IGF3YWl0IGdldEJvb2ttYXJrSWNvbih0cnVlKTsKICAgICAgICBsZXQgdW5waW5uZWRJY29uID0gYXdhaXQgZ2V0Qm9va21hcmtJY29uKGZhbHNlKTsKCiAgICAgICAgaWYgKHBpbm5lZCkgewogICAgICAgICAgICB1bnBpbkxpbmsuY2xhc3NMaXN0LmFkZCgnanMtcGlubmVkLXJlcG8nKTsKICAgICAgICAgICAgdW5waW5uZWRJY29uLnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgJycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHVucGluTGluay5jbGFzc0xpc3QuYWRkKCdqcy11bnBpbm5lZC1yZXBvJyk7CiAgICAgICAgICAgIHBpbm5lZEljb24uc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAnJyk7CiAgICAgICAgfQoKICAgICAgICB1bnBpbkxpbmsuYXBwZW5kQ2hpbGQocGlubmVkSWNvbik7CiAgICAgICAgdW5waW5MaW5rLmFwcGVuZENoaWxkKHVucGlubmVkSWNvbik7CgogICAgICAgIHJldHVybiB1bnBpbkxpbms7CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gaGFuZGxlUGluQ2xpY2soZXZlbnQpIHsKICAgICAgICBsZXQgZWxlbSA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7CgogICAgICAgIGxldCByZXBvID0gZWxlbS5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2EnKTsKICAgICAgICBpZiAocmVwbyA9PSBudWxsKSB7CiAgICAgICAgICAgIGxvZygnRmFpbGVkIHRvIGZpbmQgcmVwbyBmb3IgY2xpY2tlZCBidXR0b24nKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nKGBQaW4gbGluayBjbGlja2VkOiAke3JlcG8uYXR0cmlidXRlcy5ocmVmLnZhbHVlfWApOwogICAgICAgIH0KCiAgICAgICAgbGV0IHBpbm5lZEljb24gPSBlbGVtLnF1ZXJ5U2VsZWN0b3IoJ3N2Zy5qcy1ib29rbWFyay1maWxsZWQnKTsKICAgICAgICBsZXQgdW5waW5uZWRJY29uID0gZWxlbS5xdWVyeVNlbGVjdG9yKCdzdmcuanMtYm9va21hcmsnKTsKCiAgICAgICAgY29uc3Qgd2FzVW5waW5uZWQgPSBlbGVtLmNsYXNzTGlzdC5yZXBsYWNlKCdqcy11bnBpbm5lZC1yZXBvJywgJ2pzLXBpbm5lZC1yZXBvJyk7CgogICAgICAgIGlmICh3YXNVbnBpbm5lZCkgewogICAgICAgICAgICB1bnBpbm5lZEljb24uc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAnJyk7CiAgICAgICAgICAgIHBpbm5lZEljb24ucmVtb3ZlQXR0cmlidXRlKCdoaWRkZW4nKTsKCiAgICAgICAgICAgIGF3YWl0IGhhbmRsZVBpblJlcG8ocmVwbyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWxlbS5jbGFzc0xpc3QucmVwbGFjZSgnanMtcGlubmVkLXJlcG8nLCAnanMtdW5waW5uZWQtcmVwbycpOwoKICAgICAgICAgICAgcGlubmVkSWNvbi5zZXRBdHRyaWJ1dGUoJ2hpZGRlbicsICcnKTsKICAgICAgICAgICAgdW5waW5uZWRJY29uLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZGVuJyk7CgogICAgICAgICAgICBhd2FpdCBoYW5kbGVVbnBpblJlcG8ocmVwbyk7CiAgICAgICAgfQoKICAgICAgICBhd2FpdCB1cGRhdGUoKTsKICAgIH0KCiAgICBhc3luYyBmdW5jdGlvbiBoYW5kbGVQaW5SZXBvKHJlcG8pIHsKICAgICAgICBjb25zdCBocmVmID0gcmVwby5hdHRyaWJ1dGVzLmhyZWYudmFsdWU7CgogICAgICAgIGxldCBwaW5uZWRSZXBvcyA9IGdldFBpbm5lZFJlcG9zKCk7CgogICAgICAgIGlmICghcGlubmVkUmVwb3MuaW5jbHVkZXMoaHJlZikpIHsKICAgICAgICAgICAgcGlubmVkUmVwb3MucHVzaChocmVmKTsKICAgICAgICAgICAgR01fc2V0VmFsdWUobG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShwaW5uZWRSZXBvcykpOwogICAgICAgIH0KICAgIH0KCiAgICBhc3luYyBmdW5jdGlvbiBoYW5kbGVVbnBpblJlcG8ocmVwbykgewogICAgICAgIGNvbnN0IHJlcG9IcmVmID0gcmVwby5hdHRyaWJ1dGVzLmhyZWYudmFsdWU7CiAgICAgICAgbGV0IHBpbm5lZFJlcG9zID0gZ2V0UGlubmVkUmVwb3MoKS5maWx0ZXIoaHJlZiA9PiBocmVmICE9PSByZXBvSHJlZik7CiAgICAgICAgR01fc2V0VmFsdWUobG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShwaW5uZWRSZXBvcykpOwogICAgfQoKICAgIGZ1bmN0aW9uIHdhaXRGb3JFbGVtZW50KHNlbGVjdG9yLCBjYWxsYmFjaykgewogICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSkgewogICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxvZyhgRWxlbWVudCAnJHtzZWxlY3Rvcn0nIG5vdCBmb3VuZCwgd2FpdGluZyAzMDBtc2ApOwoKICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICB3YWl0Rm9yRWxlbWVudChzZWxlY3RvciwgY2FsbGJhY2spOwogICAgICAgICAgICB9LCAzMDApOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBXYWl0IGZvciB0aGUgcmVwb3MgdG8gYmUgcG9wdWxhdGVkIGluIHRoZSBzaWRlYmFyIGJlZm9yZSB0cnlpbmcgdG8gdXBkYXRlIHRoZSBET00KICAgIHdhaXRGb3JFbGVtZW50KHJlcG9TZWxlY3RvcnMuam9pbignLCcpLCB1cGRhdGUpOwoKICAgIEdNX2FkZFZhbHVlQ2hhbmdlTGlzdGVuZXIobG9jYWxTdG9yYWdlS2V5LCBhc3luYyAobmFtZSwgb2xkX3ZhbHVlLCBuZXdfdmFsdWUsIHJlbW90ZSkgPT4gYXdhaXQgdXBkYXRlKCkpOwp9KSgpOw==", 798 - "storage": { 799 - "data": { 800 - "pinnedRepos": "s[\"/mistsys/mist_go_utils\",\"/mistsys/mist-ap\",\"/corewa-rs/corewars\",\"/mistsys/mist-agent-go\",\"/128technology/rules_128tech\",\"/mistsys/demoapi\",\"/ian-h-chamberlain/dotfiles\",\"/Meziu/ctru-rs\",\"/Meziu/rust-linker-fix-3ds\",\"/Meziu/rust-horizon\",\"/Meziu/cargo-3ds\",\"/corewa-rs/vscode-redcode\",\"/Juniper-SSN/ssr\",\"/ian-h-chamberlain/docker-rust-devkitarm\"]" 801 - }, 802 - "ts": 1650393027096 803 - }, 804 - "uuid": "c8c37d2c-a4d8-4ddd-accd-51cc5f2ea6a4" 805 - }, 806 - { 807 - "enabled": true, 808 - "name": "Openstack Firefox Console Fixer", 809 - "options": { 810 - "check_for_updates": false, 811 - "comment": null, 812 - "compat_foreach": false, 813 - "compat_metadata": false, 814 - "compat_powerful_this": null, 815 - "compat_prototypes": false, 816 - "compat_wrappedjsobject": false, 817 - "compatopts_for_requires": true, 818 - "noframes": null, 819 - "override": { 820 - "merge_connects": true, 821 - "merge_excludes": true, 822 - "merge_includes": true, 823 - "merge_matches": true, 824 - "orig_connects": [], 825 - "orig_excludes": [], 826 - "orig_includes": [], 827 - "orig_matches": [ 828 - "https://spaceport.lab.128technology.com:6082/spice_auto.html*" 829 - ], 830 - "orig_noframes": null, 831 - "orig_run_at": "document-idle", 832 - "use_blockers": [], 833 - "use_connects": [], 834 - "use_excludes": [], 835 - "use_includes": [], 836 - "use_matches": [] 837 - }, 838 - "run_at": null, 839 - "tab_types": null, 840 - "unwrap": null 841 - }, 842 - "position": 18, 843 - "source": "Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBPcGVuc3RhY2sgRmlyZWZveCBDb25zb2xlIEZpeGVyCi8vIEBuYW1lc3BhY2UgICAgaHR0cHM6Ly9naXRodWIuY29tL2lhbi1oLWNoYW1iZXJsYWluCi8vIEB2ZXJzaW9uICAgICAgMC4xCi8vIEBkZXNjcmlwdGlvbiAgRml4IGEgaG9ycmlibGUgb3BlbnN0YWNrIGJ1ZyBieSBpbmplY3Rpbmcgc29tZSBrZXljb2RlcyBmb3IgRmlyZWZveAovLyBAYXV0aG9yICAgICAgIElhbiBDaGFtYmVybGFpbiAoR2l0SHViIEBpYW4taC1jaGFtYmVybGFpbikKLy8gQG1hdGNoICAgICAgICBodHRwczovL3NwYWNlcG9ydC5sYWIuMTI4dGVjaG5vbG9neS5jb206NjA4Mi9zcGljZV9hdXRvLmh0bWwqCi8vIEBpY29uICAgICAgICAgaHR0cHM6Ly9zcGFjZXBvcnQubGFiLjEyOHRlY2hub2xvZ3kuY29tL3N0YXRpYy9kYXNoYm9hcmQvaW1nL2Zhdmljb24uaWNvCi8vIEBncmFudCAgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCihmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBpZiAodHlwZW9mIGZpcmVmb3hfc2Nhbm1hcCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAvLyBGaXJlZm94IHNlZW1zIHRvIHNlbmQgMjI0IHdoZXRoZXIgdGhlIGxlZnQgb3IgcmlnaHQg4oyYIGtleSBpcyBwcmVzc2VkCiAgICAgICAgLy8gVmFsdWUgZnJvbSBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvc3BpY2Uvc3BpY2UtaHRtbDUvLS9ibG9iL3NwaWNlLWh0bWw1LTAuMS43L3V0aWxzLmpzI0wyMTAKICAgICAgICBmaXJlZm94X3NjYW5tYXBbMjI0XSA9IDB4RTA1QjsgLy8gS0VZX0xNZXRhCgogICAgICAgIC8vIEVuYWJsZSBudW1sb2NrLCBmb3Igc29tZSByZWFzb24gdGhpcyBkb2Vzbid0IHdvcmsgYnkgZGVmYXVsdC4gTWF5YmUgYmVjYXVzZSBpdCBzZW5kcyBhIEtleV9DTEVBUiBpbnN0ZWFkPwogICAgICAgIGZpcmVmb3hfc2Nhbm1hcFsxMl0gPSBLRVlfTnVtTG9jazsKICAgIH0KfSkoKTs=", 844 - "storage": { 845 - "data": {}, 846 - "ts": 1656605726968 847 - }, 848 - "uuid": "ed158b6e-8995-48a5-8a2a-2e63f4546680" 849 - } 850 - ], 851 - "settings": { 852 - "configMode": 100, 853 - "editor_autoLint": true, 854 - "editor_autoLintMaxLen": "300000", 855 - "editor_autoSave": false, 856 - "editor_easySave": true, 857 - "editor_electricChars": true, 858 - "editor_enabled": true, 859 - "editor_fontSize": "100", 860 - "editor_highlightSelectionMatches": "cursor", 861 - "editor_highlightTrailingWhitespace": true, 862 - "editor_indentUnit": "4", 863 - "editor_indentWithTabs": "spaces", 864 - "editor_keyMap": "vim", 865 - "editor_lineWrapping": false, 866 - "editor_linter_config": null, 867 - "editor_tabMode": "indent", 868 - "editor_tabSize": "4", 869 - "editor_theme": "monokai", 870 - "editor_trimTrailingSpacesFromModifiedLines": true, 871 - "enabled": true, 872 - "favicon_service": "google", 873 - "layout": "default", 874 - "layout_user_css": "", 875 - "notification_showUpdate": "changelog", 876 - "script_blacklist_server": [ 877 - { 878 - "rules": [ 879 - "/https?:\\/\\/userscripts\\.org\\/scripts\\/(source|version)/(102614).*\\.user\\.js/" 880 - ], 881 - "severity": 2 882 - }, 883 - { 884 - "name": "SaveFrom.net helper", 885 - "reason": "Shows advertisements", 886 - "rules": [ 887 - "/https?:\\/\\/sf-addon\\.com\\/.*\\/.*\\.user\\.js/", 888 - "/https?:\\/\\/.*\\.sf-helper\\.com\\/.*\\.user\\.js/" 889 - ], 890 - "severity": 3 891 - }, 892 - { 893 - "reasons": { 894 - "en": "Used for a phishing compain to compromise users of baon-nutrition.com" 895 - }, 896 - "rules": [ 897 - "/https?:\\/\\/files\\.ulysse\\.travel\\/.*\\.user\\.js/" 898 - ], 899 - "severity": 8 900 - }, 901 - { 902 - "name": "Local YouTube Downloader", 903 - "reasons": { 904 - "en": "Shows a disturbing alert message at every page with a youtube frame or iframe" 905 - }, 906 - "rules": [ 907 - "/https?:\\/\\/greasyfork\\.org\\/scripts\\/369400-.*\\.user\\.js.*/" 908 - ], 909 - "severity": 8 910 - } 911 - ] 912 - } 913 - } 1 + {"created_by":"Tampermonkey","version":"1","scripts":[{"name":"Wanikani Open Framework","options":{"check_for_updates":true,"user_modified":null,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://www.wanikani.com/*","https://preview.wanikani.com/*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-start","orig_noframes":null,"orig_connects":[]}},"storage":{"ts":1607436649580,"data":{}},"enabled":true,"position":1,"file_url":"https://update.greasyfork.org/scripts/38582/Wanikani%20Open%20Framework.user.js","uuid":"e6f9fcca-44eb-425c-b066-541eb962863d","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIE9wZW4gRnJhbWV3b3JrCi8vIEBuYW1lc3BhY2UgICByZmluZGxleQovLyBAZGVzY3JpcHRpb24gRnJhbWV3b3JrIGZvciB3cml0aW5nIHNjcmlwdHMgZm9yIFdhbmlrYW5pCi8vIEB2ZXJzaW9uICAgICAxLjEuMTIKLy8gQG1hdGNoICAgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbS8qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tLyoKLy8gQGNvcHlyaWdodCAgIDIwMTgtMjAyMywgUm9iaW4gRmluZGxleQovLyBAbGljZW5zZSAgICAgTUlUOyBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCi8vIEBydW4tYXQgICAgICBkb2N1bWVudC1zdGFydAovLyBAZ3JhbnQgICAgICAgbm9uZQovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly91cGRhdGUuZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zODU4Mi9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmsudXNlci5qcwovLyBAdXBkYXRlVVJMIGh0dHBzOi8vdXBkYXRlLmdyZWFzeWZvcmsub3JnL3NjcmlwdHMvMzg1ODIvV2FuaWthbmklMjBPcGVuJTIwRnJhbWV3b3JrLm1ldGEuanMKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oZ2xvYmFsKSB7CgkndXNlIHN0cmljdCc7CgoJLyogZXNsaW50IG5vLW11bHRpLXNwYWNlczogb2ZmICovCgkvKiBnbG9iYWxzIHdrb2YgKi8KCgljb25zdCB2ZXJzaW9uID0gJzEuMS4xMic7CglsZXQgaWdub3JlX21pc3NpbmdfaW5kZXhlZGRiID0gZmFsc2U7CgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBTdXBwb3J0ZWQgTW9kdWxlcwoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWNvbnN0IHN1cHBvcnRlZF9tb2R1bGVzID0gewoJCUFwaXYyOiAgICB7IHVybDogJ2h0dHBzOi8vdXBkYXRlLmdyZWFzeWZvcmsub3JnL3NjcmlwdHMvMzg1ODEvMTQwMjE1OC9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmslMjAtJTIwQXBpdjIlMjBtb2R1bGUuanMnfSwKCQlJdGVtRGF0YTogeyB1cmw6ICdodHRwczovL3VwZGF0ZS5ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM4NTgwLzExODcyMTIvV2FuaWthbmklMjBPcGVuJTIwRnJhbWV3b3JrJTIwLSUyMEl0ZW1EYXRhJTIwbW9kdWxlLmpzJ30sCgkJSnF1ZXJ5OiAgIHsgdXJsOiAnaHR0cHM6Ly91cGRhdGUuZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy80NTEwNzgvMTA5MTc5NC9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmslMjAtJTIwSnF1ZXJ5JTIwbW9kdWxlLmpzJ30sCgkJTWVudTogICAgIHsgdXJsOiAnaHR0cHM6Ly91cGRhdGUuZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zODU3OC8xMzQyMTEwL1dhbmlrYW5pJTIwT3BlbiUyMEZyYW1ld29yayUyMC0lMjBNZW51JTIwbW9kdWxlLmpzJ30sCgkJUHJvZ3Jlc3M6IHsgdXJsOiAnaHR0cHM6Ly91cGRhdGUuZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zODU3Ny8xMDkxNzkyL1dhbmlrYW5pJTIwT3BlbiUyMEZyYW1ld29yayUyMC0lMjBQcm9ncmVzcyUyMG1vZHVsZS5qcyd9LAoJCVNldHRpbmdzOiB7IHVybDogJ2h0dHBzOi8vdXBkYXRlLmdyZWFzeWZvcmsub3JnL3NjcmlwdHMvMzg1NzYvMTA5MTc5My9XYW5pa2FuaSUyME9wZW4lMjBGcmFtZXdvcmslMjAtJTIwU2V0dGluZ3MlMjBtb2R1bGUuanMnfSwKCX07CgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBQdWJsaXNoZWQgaW50ZXJmYWNlCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJY29uc3QgcHVibGlzaGVkX2ludGVyZmFjZSA9IHsKCQlvbl9wYWdlX2V2ZW50OiBvbl9wYWdlX2V2ZW50LCAgLy8gb25fcGFnZXMoe3VybHM6W10sIGxvYWQ6ZnVuYywgdW5sb2FkOmZ1bmN9KQoKCQlpbmNsdWRlOiBpbmNsdWRlLCAgICAgICAgICAgICAgLy8gaW5jbHVkZShtb2R1bGVfbGlzdCkgICAgICAgID0+IFByb21pc2UKCQlyZWFkeTogICByZWFkeSwgICAgICAgICAgICAgICAgLy8gcmVhZHkobW9kdWxlX2xpc3QpICAgICAgICAgID0+IFByb21pc2UKCgkJbG9hZF9maWxlOiAgIGxvYWRfZmlsZSwgICAgICAgIC8vIGxvYWRfZmlsZSh1cmwsIHVzZV9jYWNoZSkgICA9PiBQcm9taXNlCgkJbG9hZF9jc3M6ICAgIGxvYWRfY3NzLCAgICAgICAgIC8vIGxvYWRfY3NzKHVybCwgdXNlX2NhY2hlKSAgICA9PiBQcm9taXNlCgkJbG9hZF9zY3JpcHQ6IGxvYWRfc2NyaXB0LCAgICAgIC8vIGxvYWRfc2NyaXB0KHVybCwgdXNlX2NhY2hlKSA9PiBQcm9taXNlCgoJCWZpbGVfY2FjaGU6IHsKCQkJZGlyOiAgICB7fSwgICAgICAgICAgICAgICAgLy8gT2JqZWN0IGNvbnRhaW5pbmcgZGlyZWN0b3J5IG9mIGZpbGVzLgoJCQlsczogICAgIGZpbGVfY2FjaGVfbGlzdCwgICAvLyBscygpCgkJCWNsZWFyOiAgZmlsZV9jYWNoZV9jbGVhciwgIC8vIGNsZWFyKCkgICAgICAgICAgICAgPT4gUHJvbWlzZQoJCQlkZWxldGU6IGZpbGVfY2FjaGVfZGVsZXRlLCAvLyBkZWxldGUobmFtZSkgICAgICAgID0+IFByb21pc2UKCQkJZmx1c2g6ICBmaWxlX2NhY2hlX2ZsdXNoLCAgLy8gZmx1c2goKSAgICAgICAgICAgICA9PiBQcm9taXNlCgkJCWxvYWQ6ICAgZmlsZV9jYWNoZV9sb2FkLCAgIC8vIGxvYWQobmFtZSkgICAgICAgICAgPT4gUHJvbWlzZQoJCQlzYXZlOiAgIGZpbGVfY2FjaGVfc2F2ZSwgICAvLyBzYXZlKG5hbWUsIGNvbnRlbnQpID0+IFByb21pc2UKCQkJbm9fY2FjaGU6ZmlsZV9ub2NhY2hlLCAgICAgLy8gbm9fY2FjaGUobW9kdWxlcykKCQl9LAoKCQlvbjogICAgICB3YWl0X2V2ZW50LCAgICAgICAgICAgLy8gb24oZXZlbnQsIGNhbGxiYWNrKQoJCXRyaWdnZXI6IHRyaWdnZXJfZXZlbnQsICAgICAgICAvLyB0cmlnZ2VyKGV2ZW50WywgZGF0YTFbLCBkYXRhMlssIC4uLl1dXSkKCgkJZ2V0X3N0YXRlOiAgZ2V0X3N0YXRlLCAgICAgICAgIC8vIGdldChzdGF0ZV92YXIpCgkJc2V0X3N0YXRlOiAgc2V0X3N0YXRlLCAgICAgICAgIC8vIHNldChzdGF0ZV92YXIsIHZhbHVlKQoJCXdhaXRfc3RhdGU6IHdhaXRfc3RhdGUsICAgICAgICAvLyB3YWl0KHN0YXRlX3ZhciwgdmFsdWVbLCBjYWxsYmFja1ssIHBlcnNpc3RlbnRdXSkgPT4gaWYgbm8gY2FsbGJhY2ssIHJldHVybiBvbmUtc2hvdCBQcm9taXNlCgoJCXZlcnNpb246IHsKCQkJdmFsdWU6IHZlcnNpb24sCgkJCWNvbXBhcmVfdG86IGNvbXBhcmVfdG8sICAgIC8vIGNvbXBhcmVfdmVyc2lvbih2ZXJzaW9uKQoJCX0KCX07CgoJcHVibGlzaGVkX2ludGVyZmFjZS5zdXBwb3J0X2ZpbGVzID0gewoJCSdqcXVlcnkuanMnOiAnaHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMy42LjEvanF1ZXJ5Lm1pbi5qcycsCgkJJ2pxdWVyeV91aS5qcyc6ICdodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeXVpLzEuMTIuMS9qcXVlcnktdWkubWluLmpzJywKCQknanF1aV93a21haW4uY3NzJzogJ2h0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9yZmluZGxleS93YW5pa2FuaS1vcGVuLWZyYW1ld29yay8xNTUwYWY4MzgzZWMyOGFkNDA2Y2Y0MDFhZWUyZGU0YzUyNDQ2ZjZjL2pxdWktd2ttYWluLmNzcycsCgl9OwoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJZnVuY3Rpb24gc3BsaXRfbGlzdChzdHIpIHtyZXR1cm4gc3RyLnJlcGxhY2UoL+OAgS9nLCcsJykucmVwbGFjZSgvW1xz44CAXSsvZywnICcpLnRyaW0oKS5yZXBsYWNlKC8gKiwgKi9nLCAnLCcpLnNwbGl0KCcsJykuZmlsdGVyKGZ1bmN0aW9uKG5hbWUpIHtyZXR1cm4gKG5hbWUubGVuZ3RoID4gMCk7fSk7fQoJZnVuY3Rpb24gcHJvbWlzZSgpe2xldCBhLGIsYz1uZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2E9ZDtiPWU7fSk7Yy5yZXNvbHZlPWE7Yy5yZWplY3Q9YjtyZXR1cm4gYzt9CgoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQ29tcGFyZSB0aGUgZnJhbWV3b3JrIHZlcnNpb24gYWdhaW5zdCBhIHNwZWNpZmljIHZlcnNpb24uCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gY29tcGFyZV90byhjbGllbnRfdmVyc2lvbikgewoJCWxldCBjbGllbnRfdmVyID0gY2xpZW50X3ZlcnNpb24uc3BsaXQoJy4nKS5tYXAoZCA9PiBOdW1iZXIoZCkpOwoJCWxldCB3a29mX3ZlciA9IHZlcnNpb24uc3BsaXQoJy4nKS5tYXAoZCA9PiBOdW1iZXIoZCkpOwoJCWxldCBsZW4gPSBNYXRoLm1heChjbGllbnRfdmVyLmxlbmd0aCwgd2tvZl92ZXIubGVuZ3RoKTsKCQlmb3IgKGxldCBpZHggPSAwOyBpZHggPCBsZW47IGlkeCsrKSB7CgkJCWxldCBhID0gY2xpZW50X3ZlcltpZHhdIHx8IDA7CgkJCWxldCBiID0gd2tvZl92ZXJbaWR4XSB8fCAwOwoJCQlpZiAoYSA9PT0gYikgY29udGludWU7CgkJCWlmIChhIDwgYikgcmV0dXJuICduZXdlcic7CgkJCXJldHVybiAnb2xkZXInOwoJCX0KCQlyZXR1cm4gJ3NhbWUnOwoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBJbmNsdWRlIGEgbGlzdCBvZiBtb2R1bGVzLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWxldCBpbmNsdWRlX3Byb21pc2VzID0ge307CgoJZnVuY3Rpb24gaW5jbHVkZShtb2R1bGVfbGlzdCkgewoJCWlmICh3a29mLmdldF9zdGF0ZSgnd2tvZi53a29mJykgIT09ICdyZWFkeScpIHsKCQkJcmV0dXJuIHdrb2YucmVhZHkoJ3drb2YnKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHdrb2YuaW5jbHVkZShtb2R1bGVfbGlzdCk7fSk7CgkJfQoJCWxldCBpbmNsdWRlX3Byb21pc2UgPSBwcm9taXNlKCk7CgkJbGV0IG1vZHVsZV9uYW1lcyA9IHNwbGl0X2xpc3QobW9kdWxlX2xpc3QpOwoJCWxldCBzY3JpcHRfY250ID0gbW9kdWxlX25hbWVzLmxlbmd0aDsKCQlpZiAoc2NyaXB0X2NudCA9PT0gMCkgewoJCQlpbmNsdWRlX3Byb21pc2UucmVzb2x2ZSh7bG9hZGVkOltdLCBmYWlsZWQ6W119KTsKCQkJcmV0dXJuIGluY2x1ZGVfcHJvbWlzZTsKCQl9CgoJCWxldCBkb25lX2NudCA9IDA7CgkJbGV0IGxvYWRlZCA9IFtdLCBmYWlsZWQgPSBbXTsKCQlsZXQgbm9fY2FjaGUgPSBzcGxpdF9saXN0KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3a29mLmluY2x1ZGUubm9jYWNoZScpIHx8ICcnKTsKCQlmb3IgKGxldCBpZHggPSAwOyBpZHggPCBtb2R1bGVfbmFtZXMubGVuZ3RoOyBpZHgrKykgewoJCQlsZXQgbW9kdWxlX25hbWUgPSBtb2R1bGVfbmFtZXNbaWR4XTsKCQkJbGV0IG1vZHVsZSA9IHN1cHBvcnRlZF9tb2R1bGVzW21vZHVsZV9uYW1lXTsKCQkJaWYgKCFtb2R1bGUpIHsKCQkJCWZhaWxlZC5wdXNoKHtuYW1lOm1vZHVsZV9uYW1lLCB1cmw6dW5kZWZpbmVkfSk7CgkJCQljaGVja19kb25lKCk7CgkJCQljb250aW51ZTsKCQkJfQoJCQlsZXQgYXdhaXRfbG9hZCA9IGluY2x1ZGVfcHJvbWlzZXNbbW9kdWxlX25hbWVdOwoJCQlsZXQgdXNlX2NhY2hlID0gKG5vX2NhY2hlLmluZGV4T2YobW9kdWxlX25hbWUpIDwgMCkgJiYgKG5vX2NhY2hlLmluZGV4T2YoJyonKSA8IDApOwoJCQlpZiAoIXVzZV9jYWNoZSkgZmlsZV9jYWNoZV9kZWxldGUobW9kdWxlLnVybCk7CgkJCWlmIChhd2FpdF9sb2FkID09PSB1bmRlZmluZWQpIGluY2x1ZGVfcHJvbWlzZXNbbW9kdWxlX25hbWVdID0gYXdhaXRfbG9hZCA9IGxvYWRfc2NyaXB0KG1vZHVsZS51cmwsIHVzZV9jYWNoZSk7CgkJCWF3YWl0X2xvYWQudGhlbihwdXNoX2xvYWRlZCwgcHVzaF9mYWlsZWQpOwoJCX0KCgkJcmV0dXJuIGluY2x1ZGVfcHJvbWlzZTsKCgkJZnVuY3Rpb24gcHVzaF9sb2FkZWQodXJsKSB7CgkJCWxvYWRlZC5wdXNoKHVybCk7CgkJCWNoZWNrX2RvbmUoKTsKCQl9CgoJCWZ1bmN0aW9uIHB1c2hfZmFpbGVkKHVybCkgewoJCQlmYWlsZWQucHVzaCh1cmwpOwoJCQljaGVja19kb25lKCk7CgkJfQoKCQlmdW5jdGlvbiBjaGVja19kb25lKCkgewoJCQlpZiAoKytkb25lX2NudCA8IHNjcmlwdF9jbnQpIHJldHVybjsKCQkJaWYgKGZhaWxlZC5sZW5ndGggPT09IDApIGluY2x1ZGVfcHJvbWlzZS5yZXNvbHZlKHtsb2FkZWQ6bG9hZGVkLCBmYWlsZWQ6ZmFpbGVkfSk7CgkJCWVsc2UgaW5jbHVkZV9wcm9taXNlLnJlamVjdCh7ZXJyb3I6J0ZhaWx1cmUgbG9hZGluZyBtb2R1bGUnLCBsb2FkZWQ6bG9hZGVkLCBmYWlsZWQ6ZmFpbGVkfSk7CgkJfQoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBXYWl0IGZvciBhbGwgbW9kdWxlcyB0byByZXBvcnQgdGhhdCB0aGV5IGFyZSByZWFkeQoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIHJlYWR5KG1vZHVsZV9saXN0KSB7CgkJbGV0IG1vZHVsZV9uYW1lcyA9IHNwbGl0X2xpc3QobW9kdWxlX2xpc3QpOwoKCQlsZXQgcmVhZHlfcHJvbWlzZXMgPSBbIF07CgkJZm9yIChsZXQgaWR4IGluIG1vZHVsZV9uYW1lcykgewoJCQlsZXQgbW9kdWxlX25hbWUgPSBtb2R1bGVfbmFtZXNbaWR4XTsKCQkJcmVhZHlfcHJvbWlzZXMucHVzaCh3YWl0X3N0YXRlKCd3a29mLicgKyBtb2R1bGVfbmFtZSwgJ3JlYWR5JykpOwoJCX0KCgkJaWYgKHJlYWR5X3Byb21pc2VzLmxlbmd0aCA9PT0gMCkgewoJCQlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7CgkJfSBlbHNlIGlmIChyZWFkeV9wcm9taXNlcy5sZW5ndGggPT09IDEpIHsKCQkJcmV0dXJuIHJlYWR5X3Byb21pc2VzWzBdOwoJCX0gZWxzZSB7CgkJCXJldHVybiBQcm9taXNlLmFsbChyZWFkeV9wcm9taXNlcyk7CgkJfQoJfQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gTG9hZCBhIGZpbGUgYXN5bmNocm9ub3VzbHksIGFuZCBwYXNzIHRoZSBmaWxlIGFzIHJlc29sdmVkIFByb21pc2UgZGF0YS4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBsb2FkX2ZpbGUodXJsLCB1c2VfY2FjaGUpIHsKCQlsZXQgZmV0Y2hfcHJvbWlzZSA9IHByb21pc2UoKTsKCQlsZXQgbm9fY2FjaGUgPSBzcGxpdF9saXN0KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3a29mLmxvYWRfZmlsZS5ub2NhY2hlJykgfHwgJycpOwoJCWlmIChub19jYWNoZS5pbmRleE9mKHVybCkgPj0gMCB8fCBub19jYWNoZS5pbmRleE9mKCcqJykgPj0gMCkgdXNlX2NhY2hlID0gZmFsc2U7CgkJaWYgKHVzZV9jYWNoZSA9PT0gdHJ1ZSkgewoJCQlyZXR1cm4gZmlsZV9jYWNoZV9sb2FkKHVybCwgdXNlX2NhY2hlKS5jYXRjaChmZXRjaF91cmwpOwoJCX0gZWxzZSB7CgkJCXJldHVybiBmZXRjaF91cmwoKTsKCQl9CgoJCS8vIFJldHJpZXZlIGZpbGUgZnJvbSBzZXJ2ZXIKCQlmdW5jdGlvbiBmZXRjaF91cmwoKXsKCQkJbGV0IHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKCQkJcmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBwcm9jZXNzX3Jlc3VsdDsKCQkJcmVxdWVzdC5vcGVuKCdHRVQnLCB1cmwsIHRydWUpOwoJCQlyZXF1ZXN0LnNlbmQoKTsKCQkJcmV0dXJuIGZldGNoX3Byb21pc2U7CgkJfQoKCQlmdW5jdGlvbiBwcm9jZXNzX3Jlc3VsdChldmVudCl7CgkJCWlmIChldmVudC50YXJnZXQucmVhZHlTdGF0ZSAhPT0gNCkgcmV0dXJuOwoJCQlpZiAoZXZlbnQudGFyZ2V0LnN0YXR1cyA+PSA0MDAgfHwgZXZlbnQudGFyZ2V0LnN0YXR1cyA9PT0gMCkgcmV0dXJuIGZldGNoX3Byb21pc2UucmVqZWN0KGV2ZW50LnRhcmdldC5zdGF0dXMpOwoJCQlpZiAodXNlX2NhY2hlKSB7CgkJCQlmaWxlX2NhY2hlX3NhdmUodXJsLCBldmVudC50YXJnZXQucmVzcG9uc2UpCgkJCQkudGhlbihmZXRjaF9wcm9taXNlLnJlc29sdmUuYmluZChudWxsLGV2ZW50LnRhcmdldC5yZXNwb25zZSkpOwoJCQl9IGVsc2UgewoJCQkJZmV0Y2hfcHJvbWlzZS5yZXNvbHZlKGV2ZW50LnRhcmdldC5yZXNwb25zZSk7CgkJCX0KCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIExvYWQgYW5kIGluc3RhbGwgYSBzcGVjaWZpYyBmaWxlIHR5cGUgaW50byB0aGUgRE9NLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGxvYWRfYW5kX2FwcGVuZCh1cmwsIHRhZ19uYW1lLCBsb2NhdGlvbiwgdXNlX2NhY2hlKSB7CgkJdXJsID0gdXJsLnJlcGxhY2UoLyIvZywnXCcnKTsKCQlpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YWdfbmFtZSsnW3VpZD0iJyt1cmwrJyJdJykgIT09IG51bGwpIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKCQlyZXR1cm4gbG9hZF9maWxlKHVybCwgdXNlX2NhY2hlKS50aGVuKGFwcGVuZF90b190YWcpOwoKCQlmdW5jdGlvbiBhcHBlbmRfdG9fdGFnKGNvbnRlbnQpIHsKCQkJbGV0IHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnX25hbWUpOwoJCQl0YWcuaW5uZXJIVE1MID0gY29udGVudDsKCQkJdGFnLnNldEF0dHJpYnV0ZSgndWlkJywgdXJsKTsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihsb2NhdGlvbikuYXBwZW5kQ2hpbGQodGFnKTsKCQkJcmV0dXJuIHVybDsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIExvYWQgYW5kIGluc3RhbGwgYSBDU1MgZmlsZS4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBsb2FkX2Nzcyh1cmwsIHVzZV9jYWNoZSkgewoJCXJldHVybiBsb2FkX2FuZF9hcHBlbmQodXJsLCAnc3R5bGUnLCAnaGVhZCcsIHVzZV9jYWNoZSk7Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIExvYWQgYW5kIGluc3RhbGwgSmF2YXNjcmlwdC4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBsb2FkX3NjcmlwdCh1cmwsIHVzZV9jYWNoZSkgewoJCXJldHVybiBsb2FkX2FuZF9hcHBlbmQodXJsLCAnc2NyaXB0JywgJ2hlYWQnLCB1c2VfY2FjaGUpOwoJfQoJLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCglsZXQgc3RhdGVfbGlzdGVuZXJzID0ge307CglsZXQgc3RhdGVfdmFsdWVzID0ge307CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIEdldCB0aGUgdmFsdWUgb2YgYSBzdGF0ZSB2YXJpYWJsZSwgYW5kIG5vdGlmeSBsaXN0ZW5lcnMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZ2V0X3N0YXRlKHN0YXRlX3ZhcikgewoJCXJldHVybiBzdGF0ZV92YWx1ZXNbc3RhdGVfdmFyXTsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gU2V0IHRoZSB2YWx1ZSBvZiBhIHN0YXRlIHZhcmlhYmxlLCBhbmQgbm90aWZ5IGxpc3RlbmVycy4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBzZXRfc3RhdGUoc3RhdGVfdmFyLCB2YWx1ZSkgewoJCWxldCBvbGRfdmFsdWUgPSBzdGF0ZV92YWx1ZXNbc3RhdGVfdmFyXTsKCQlpZiAob2xkX3ZhbHVlID09PSB2YWx1ZSkgcmV0dXJuOwoJCXN0YXRlX3ZhbHVlc1tzdGF0ZV92YXJdID0gdmFsdWU7CgoJCS8vIERvIGxpc3RlbmVyIGNhbGxiYWNrcywgYW5kIHJlbW92ZSBub24tcGVyc2lzdGVudCBsaXN0ZW5lcnMKCQlsZXQgbGlzdGVuZXJzID0gc3RhdGVfbGlzdGVuZXJzW3N0YXRlX3Zhcl07CgkJbGV0IHBlcnNpc3RlbnRfbGlzdGVuZXJzID0gWyBdOwoJCWZvciAobGV0IGlkeCBpbiBsaXN0ZW5lcnMpIHsKCQkJbGV0IGxpc3RlbmVyID0gbGlzdGVuZXJzW2lkeF07CgkJCWxldCBrZWVwID0gdHJ1ZTsKCQkJaWYgKGxpc3RlbmVyLnZhbHVlID09PSB2YWx1ZSB8fCBsaXN0ZW5lci52YWx1ZSA9PT0gJyonKSB7CgkJCQlrZWVwID0gbGlzdGVuZXIucGVyc2lzdGVudDsKCQkJCXRyeSB7CgkJCQkJbGlzdGVuZXIuY2FsbGJhY2sodmFsdWUsIG9sZF92YWx1ZSk7CgkJCQl9IGNhdGNoIChlKSB7fQoJCQl9CgkJCWlmIChrZWVwKSBwZXJzaXN0ZW50X2xpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTsKCQl9CgkJc3RhdGVfbGlzdGVuZXJzW3N0YXRlX3Zhcl0gPSBwZXJzaXN0ZW50X2xpc3RlbmVyczsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gV2hlbiBzdGF0ZSBvZiBzdGF0ZV92YXIgY2hhbmdlcyB0byB2YWx1ZSwgY2FsbCBjYWxsYmFjay4KCS8vIElmIHBlcnNpc3RlbnQgPT09IHRydWUsIGNvbnRpbnVlIGxpc3RlbmluZyBmb3IgYWRkaXRpb25hbCBzdGF0ZSBjaGFuZ2VzCgkvLyBJZiB2YWx1ZSBpcyAnKicsIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIGZvciBhbGwgc3RhdGUgY2hhbmdlcy4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiB3YWl0X3N0YXRlKHN0YXRlX3ZhciwgdmFsdWUsIGNhbGxiYWNrLCBwZXJzaXN0ZW50KSB7CgkJbGV0IHByb21pc2U7CgkJaWYgKGNhbGxiYWNrID09PSB1bmRlZmluZWQpIHsKCQkJcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkgewoJCQkJY2FsbGJhY2sgPSByZXNvbHZlOwoJCQl9KTsKCQl9CgkJaWYgKHN0YXRlX2xpc3RlbmVyc1tzdGF0ZV92YXJdID09PSB1bmRlZmluZWQpIHN0YXRlX2xpc3RlbmVyc1tzdGF0ZV92YXJdID0gWyBdOwoJCXBlcnNpc3RlbnQgPSAocGVyc2lzdGVudCA9PT0gdHJ1ZSk7CgkJbGV0IGN1cnJlbnRfdmFsdWUgPSBzdGF0ZV92YWx1ZXNbc3RhdGVfdmFyXTsKCQlpZiAocGVyc2lzdGVudCB8fCB2YWx1ZSAhPT0gY3VycmVudF92YWx1ZSkgc3RhdGVfbGlzdGVuZXJzW3N0YXRlX3Zhcl0ucHVzaCh7Y2FsbGJhY2s6Y2FsbGJhY2ssIHBlcnNpc3RlbnQ6cGVyc2lzdGVudCwgdmFsdWU6dmFsdWV9KTsKCgkJLy8gSWYgaXQncyBhbHJlYWR5IGF0IHRoZSBkZXNpcmVkIHN0YXRlLCBjYWxsIHRoZSBjYWxsYmFjayBpbW1lZGlhdGVseS4KCQlpZiAodmFsdWUgPT09IGN1cnJlbnRfdmFsdWUpIHsKCQkJdHJ5IHsKCQkJCWNhbGxiYWNrKHZhbHVlLCBjdXJyZW50X3ZhbHVlKTsKCQkJfSBjYXRjaCAoZXJyKSB7fQoJCX0KCQlyZXR1cm4gcHJvbWlzZTsKCX0KCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJbGV0IGV2ZW50X2xpc3RlbmVycyA9IHt9OwoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBGaXJlIGFuIGV2ZW50LCB3aGljaCB0aGVuIGNhbGxzIGNhbGxiYWNrcyBmb3IgYW55IGxpc3RlbmVycy4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiB0cmlnZ2VyX2V2ZW50KGV2ZW50KSB7CgkJbGV0IGxpc3RlbmVycyA9IGV2ZW50X2xpc3RlbmVyc1tldmVudF07CgkJaWYgKGxpc3RlbmVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm47CgkJbGV0IGFyZ3MgPSBbXTsKCQlBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcmdzLGFyZ3VtZW50cyk7CgkJYXJncy5zaGlmdCgpOwoJCWZvciAobGV0IGlkeCBpbiBsaXN0ZW5lcnMpIHsgdHJ5IHsKCQkJbGlzdGVuZXJzW2lkeF0uYXBwbHkobnVsbCxhcmdzKTsKCQl9IGNhdGNoIChlcnIpIHt9IH0KCQlyZXR1cm4gZ2xvYmFsLndrb2Y7Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIEFkZCBhIGxpc3RlbmVyIGZvciBhbiBldmVudC4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiB3YWl0X2V2ZW50KGV2ZW50LCBjYWxsYmFjaykgewoJCWlmIChldmVudF9saXN0ZW5lcnNbZXZlbnRdID09PSB1bmRlZmluZWQpIGV2ZW50X2xpc3RlbmVyc1tldmVudF0gPSBbXTsKCQlldmVudF9saXN0ZW5lcnNbZXZlbnRdLnB1c2goY2FsbGJhY2spOwoJCXJldHVybiBnbG9iYWwud2tvZjsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQWRkIGhhbmRsZXJzIGZvciBwYWdlIGV2ZW50cyBmb3IgYSBsaXN0IG9mIFVSTHMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJbGV0IHBhZ2VfaGFuZGxlcnMgPSBbXTsKCWxldCBsYXN0X3BhZ2VfbG9hZGVkID0gJyEnCglmdW5jdGlvbiBvbl9wYWdlX2V2ZW50KGNvbmZpZykgewoJCWlmICghQXJyYXkuaXNBcnJheShjb25maWcudXJscykpIGNvbmZpZy51cmxzID0gW2NvbmZpZy51cmxzXTsKCQljb25maWcudXJscyA9IGNvbmZpZy51cmxzLm1hcCgodXJsKSA9PiB7CgkJCWlmICh1cmwgaW5zdGFuY2VvZiBSZWdFeHApIHJldHVybiB1cmw7CgkJCWlmICh0eXBlb2YgdXJsICE9PSAnc3RyaW5nJykgcmV0dXJuIG51bGw7CgkJCXJldHVybiBuZXcgUmVnRXhwKHVybC5yZXBsYWNlKC9bLis/XiR7fSgpfFtcXVxcXS9nLCAnXFwkJicpLnJlcGxhY2VBbGwoJyonLCcuKicpKTsKCQl9KS5maWx0ZXIodXJsID0+IHVybCAhPT0gbnVsbCk7CgkJcGFnZV9oYW5kbGVycy5wdXNoKGNvbmZpZyk7CiAgICAgICAgaWYgKGNvbmZpZy5sb2FkKSB7CiAgICAgICAgICAgIGNvbmZpZy51cmxzLmZvckVhY2godXJsID0+IHsKICAgICAgICAgICAgICAgIGlmICghdXJsLnRlc3QobGFzdF9wYWdlX2xvYWRlZCkpIHJldHVybjsKICAgICAgICAgICAgICAgIGNvbmZpZy5sb2FkKCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQ2FsbCBwYWdlIGV2ZW50IGhhbmRsZXJzLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGhhbmRsZV9wYWdlX2V2ZW50cyhldmVudF9uYW1lLCBldmVudCkgewogICAgICAgIGlmIChldmVudCkgewogICAgICAgICAgICBsYXN0X3BhZ2VfbG9hZGVkID0gZXZlbnQuZGV0YWlsLnVybDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsYXN0X3BhZ2VfbG9hZGVkID0gd2luZG93LmxvY2F0aW9uLmhyZWYKICAgICAgICB9CiAgICAgICAgcGFnZV9oYW5kbGVycy5mb3JFYWNoKGhhbmRsZXIgPT4gewogICAgICAgICAgICBpZiAoIWhhbmRsZXIudXJscy5maW5kKHVybCA9PiB1cmwudGVzdChsYXN0X3BhZ2VfbG9hZGVkKSkpIHJldHVybjsKICAgICAgICAgICAgaWYgKHR5cGVvZiBoYW5kbGVyW2V2ZW50X25hbWVdID09PSAnZnVuY3Rpb24nKSBoYW5kbGVyW2V2ZW50X25hbWVdKGV2ZW50X25hbWUpOwogICAgICAgIH0pOwoJfQoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoJbGV0IGZpbGVfY2FjaGVfb3Blbl9wcm9taXNlOwoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBPcGVuIHRoZSBmaWxlX2NhY2hlIGRhdGFiYXNlIChvciByZXR1cm4gaGFuZGxlIGlmIG9wZW4pLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGZpbGVfY2FjaGVfb3BlbigpIHsKCQlpZiAoZmlsZV9jYWNoZV9vcGVuX3Byb21pc2UpIHJldHVybiBmaWxlX2NhY2hlX29wZW5fcHJvbWlzZTsKCQlsZXQgb3Blbl9wcm9taXNlID0gcHJvbWlzZSgpOwoJCWZpbGVfY2FjaGVfb3Blbl9wcm9taXNlID0gb3Blbl9wcm9taXNlOwoJCWxldCByZXF1ZXN0OwoJCXJlcXVlc3QgPSBpbmRleGVkREIub3Blbignd2tvZi5maWxlX2NhY2hlJyk7CgkJcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB1cGdyYWRlX2RiOwoJCXJlcXVlc3Qub25zdWNjZXNzID0gZ2V0X2RpcjsKCQlyZXF1ZXN0Lm9uZXJyb3IgPSBlcnJvcjsKCQlyZXR1cm4gb3Blbl9wcm9taXNlOwoKCQlmdW5jdGlvbiBlcnJvcigpIHsKCQkJY29uc29sZS5sb2coJ2luZGV4ZWREQiBjb3VsZCBub3Qgb3BlbiEnKTsKCQkJd2tvZi5maWxlX2NhY2hlLmRpciA9IHt9OwoJCQlpZiAoaWdub3JlX21pc3NpbmdfaW5kZXhlZGRiKSB7CgkJCQlvcGVuX3Byb21pc2UucmVzb2x2ZShudWxsKTsKCQkJfSBlbHNlIHsKCQkJCW9wZW5fcHJvbWlzZS5yZWplY3QoKTsKCQkJfQoJCX0KCgkJZnVuY3Rpb24gdXBncmFkZV9kYihldmVudCl7CgkJCWxldCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CgkJCWxldCBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmaWxlcycsIHtrZXlQYXRoOiduYW1lJ30pOwoJCX0KCgkJZnVuY3Rpb24gZ2V0X2RpcihldmVudCl7CgkJCWxldCBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CgkJCWxldCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkb25seScpOwoJCQlsZXQgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnZmlsZXMnKTsKCQkJbGV0IHJlcXVlc3QgPSBzdG9yZS5nZXQoJ1tkaXJdJyk7CgkJCXJlcXVlc3Qub25zdWNjZXNzID0gcHJvY2Vzc19kaXI7CgkJCXRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBvcGVuX3Byb21pc2UucmVzb2x2ZS5iaW5kKG51bGwsIGRiKTsKCQkJb3Blbl9wcm9taXNlLnRoZW4oc2V0VGltZW91dC5iaW5kKG51bGwsIGZpbGVfY2FjaGVfY2xlYW51cCwgMTAwMDApKTsKCQl9CgoJCWZ1bmN0aW9uIHByb2Nlc3NfZGlyKGV2ZW50KXsKCQkJaWYgKGV2ZW50LnRhcmdldC5yZXN1bHQgPT09IHVuZGVmaW5lZCkgewoJCQkJd2tvZi5maWxlX2NhY2hlLmRpciA9IHt9OwoJCQl9IGVsc2UgewoJCQkJd2tvZi5maWxlX2NhY2hlLmRpciA9IEpTT04ucGFyc2UoZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250ZW50KTsKCQkJfQoJCX0KCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gTGlzdHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGVfY2FjaGUuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9saXN0KCkgewoJCWNvbnNvbGUubG9nKE9iamVjdC5rZXlzKHdrb2YuZmlsZV9jYWNoZS5kaXIpLnNvcnQoKS5qb2luKCdcbicpKTsKCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gQ2xlYXIgdGhlIGZpbGVfY2FjaGUgZGF0YWJhc2UuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9jbGVhcigpIHsKCQlyZXR1cm4gZmlsZV9jYWNoZV9vcGVuKCkudGhlbihjbGVhcik7CgoJCWZ1bmN0aW9uIGNsZWFyKGRiKSB7CgkJCWxldCBjbGVhcl9wcm9taXNlID0gcHJvbWlzZSgpOwoJCQl3a29mLmZpbGVfY2FjaGUuZGlyID0ge307CgkJCWlmIChkYiA9PT0gbnVsbCkgcmV0dXJuIGNsZWFyX3Byb21pc2UucmVzb2x2ZSgpOwoJCQlsZXQgdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignZmlsZXMnLCAncmVhZHdyaXRlJyk7CgkJCWxldCBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdmaWxlcycpOwoJCQlzdG9yZS5jbGVhcigpOwoJCQl0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gY2xlYXJfcHJvbWlzZS5yZXNvbHZlOwoJCX0KCX0KCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJLy8gRGVsZXRlIGEgZmlsZSBmcm9tIHRoZSBmaWxlX2NhY2hlIGRhdGFiYXNlLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGZpbGVfY2FjaGVfZGVsZXRlKHBhdHRlcm4pIHsKCQlyZXR1cm4gZmlsZV9jYWNoZV9vcGVuKCkudGhlbihkZWwpOwoKCQlmdW5jdGlvbiBkZWwoZGIpIHsKCQkJbGV0IGRlbF9wcm9taXNlID0gcHJvbWlzZSgpOwoJCQlpZiAoZGIgPT09IG51bGwpIHJldHVybiBkZWxfcHJvbWlzZS5yZXNvbHZlKCk7CgkJCWxldCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkd3JpdGUnKTsKCQkJbGV0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2ZpbGVzJyk7CgkJCWxldCBmaWxlcyA9IE9iamVjdC5rZXlzKHdrb2YuZmlsZV9jYWNoZS5kaXIpLmZpbHRlcihmdW5jdGlvbihmaWxlKXsKCQkJCWlmIChwYXR0ZXJuIGluc3RhbmNlb2YgUmVnRXhwKSB7CgkJCQkJcmV0dXJuIGZpbGUubWF0Y2gocGF0dGVybikgIT09IG51bGw7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiAoZmlsZSA9PT0gcGF0dGVybik7CgkJCQl9CgkJCX0pOwoJCQlmaWxlcy5mb3JFYWNoKGZ1bmN0aW9uKGZpbGUpewoJCQkJc3RvcmUuZGVsZXRlKGZpbGUpOwoJCQkJZGVsZXRlIHdrb2YuZmlsZV9jYWNoZS5kaXJbZmlsZV07CgkJCX0pOwoJCQlmaWxlX2NhY2hlX2Rpcl9zYXZlKCk7CgkJCXRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBkZWxfcHJvbWlzZS5yZXNvbHZlLmJpbmQobnVsbCwgZmlsZXMpOwoJCQlyZXR1cm4gZGVsX3Byb21pc2U7CgkJfQoJfQoKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkvLyBGb3JjZSBpbW1lZGlhdGUgc2F2ZSBvZiBmaWxlX2NhY2hlIGRpcmVjdG9yeS4KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBmaWxlX2NhY2hlX2ZsdXNoKCkgewoJCWZpbGVfY2FjaGVfZGlyX3NhdmUodHJ1ZSAvKiBpbW1lZGlhdGVseSAqLyk7Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIExvYWQgYSBmaWxlIGZyb20gdGhlIGZpbGVfY2FjaGUgZGF0YWJhc2UuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9sb2FkKG5hbWUpIHsKCQlsZXQgbG9hZF9wcm9taXNlID0gcHJvbWlzZSgpOwoJCXJldHVybiBmaWxlX2NhY2hlX29wZW4oKS50aGVuKGxvYWQpOwoKCQlmdW5jdGlvbiBsb2FkKGRiKSB7CgkJCWlmICh3a29mLmZpbGVfY2FjaGUuZGlyW25hbWVdID09PSB1bmRlZmluZWQpIHsKCQkJCWxvYWRfcHJvbWlzZS5yZWplY3QobmFtZSk7CgkJCQlyZXR1cm4gbG9hZF9wcm9taXNlOwoJCQl9CgkJCWxldCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkb25seScpOwoJCQlsZXQgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnZmlsZXMnKTsKCQkJbGV0IHJlcXVlc3QgPSBzdG9yZS5nZXQobmFtZSk7CgkJCXdrb2YuZmlsZV9jYWNoZS5kaXJbbmFtZV0ubGFzdF9sb2FkZWQgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7CgkJCWZpbGVfY2FjaGVfZGlyX3NhdmUoKTsKCQkJcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaW5pc2g7CgkJCXJlcXVlc3Qub25lcnJvciA9IGVycm9yOwoJCQlyZXR1cm4gbG9hZF9wcm9taXNlOwoKCQkJZnVuY3Rpb24gZmluaXNoKGV2ZW50KXsKCQkJCWlmIChldmVudC50YXJnZXQucmVzdWx0ID09PSB1bmRlZmluZWQgfHwgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCkgewoJCQkJCWxvYWRfcHJvbWlzZS5yZWplY3QobmFtZSk7CgkJCQl9IGVsc2UgewoJCQkJCWxvYWRfcHJvbWlzZS5yZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGVudCk7CgkJCQl9CgkJCX0KCgkJCWZ1bmN0aW9uIGVycm9yKGV2ZW50KXsKCQkJCWxvYWRfcHJvbWlzZS5yZWplY3QobmFtZSk7CgkJCX0KCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFNhdmUgYSBmaWxlIGludG8gdGhlIGZpbGVfY2FjaGUgZGF0YWJhc2UuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9jYWNoZV9zYXZlKG5hbWUsIGNvbnRlbnQsIGV4dHJhX2F0dHJpYnMpIHsKCQlyZXR1cm4gZmlsZV9jYWNoZV9vcGVuKCkudGhlbihzYXZlKTsKCgkJZnVuY3Rpb24gc2F2ZShkYikgewoJCQlsZXQgc2F2ZV9wcm9taXNlID0gcHJvbWlzZSgpOwoJCQlpZiAoZGIgPT09IG51bGwpIHJldHVybiBzYXZlX3Byb21pc2UucmVzb2x2ZShuYW1lKTsKCQkJbGV0IHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ2ZpbGVzJywgJ3JlYWR3cml0ZScpOwoJCQlsZXQgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnZmlsZXMnKTsKCQkJc3RvcmUucHV0KHtuYW1lOm5hbWUsY29udGVudDpjb250ZW50fSk7CgkJCWxldCBub3cgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7CgkJCXdrb2YuZmlsZV9jYWNoZS5kaXJbbmFtZV0gPSBPYmplY3QuYXNzaWduKHthZGRlZDpub3csIGxhc3RfbG9hZGVkOm5vd30sIGV4dHJhX2F0dHJpYnMpOwoJCQlmaWxlX2NhY2hlX2Rpcl9zYXZlKHRydWUgLyogaW1tZWRpYXRlbHkgKi8pOwoJCQl0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gc2F2ZV9wcm9taXNlLnJlc29sdmUuYmluZChudWxsLCBuYW1lKTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFNhdmUgYSB0aGUgZmlsZV9jYWNoZSBkaXJlY3RvcnkgY29udGVudHMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJbGV0IGZjX3N5bmNfdGltZXI7CglmdW5jdGlvbiBmaWxlX2NhY2hlX2Rpcl9zYXZlKGltbWVkaWF0ZWx5KSB7CgkJaWYgKGZjX3N5bmNfdGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KGZjX3N5bmNfdGltZXIpOwoJCWxldCBkZWxheSA9IChpbW1lZGlhdGVseSA/IDAgOiAyMDAwKTsKCQlmY19zeW5jX3RpbWVyID0gc2V0VGltZW91dChzYXZlLCBkZWxheSk7CgoJCWZ1bmN0aW9uIHNhdmUoKXsKCQkJZmlsZV9jYWNoZV9vcGVuKCkudGhlbihzYXZlMik7CgkJfQoKCQlmdW5jdGlvbiBzYXZlMihkYil7CgkJCWZjX3N5bmNfdGltZXIgPSB1bmRlZmluZWQ7CgkJCWxldCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdmaWxlcycsICdyZWFkd3JpdGUnKTsKCQkJbGV0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ2ZpbGVzJyk7CgkJCXN0b3JlLnB1dCh7bmFtZTonW2Rpcl0nLGNvbnRlbnQ6SlNPTi5zdHJpbmdpZnkod2tvZi5maWxlX2NhY2hlLmRpcil9KTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFJlbW92ZSBmaWxlcyB0aGF0IGhhdmVuJ3QgYmVlbiBhY2Nlc3NlZCBpbiBhIHdoaWxlLgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIGZpbGVfY2FjaGVfY2xlYW51cCgpIHsKCQlsZXQgdGhyZXNob2xkID0gbmV3IERhdGUoKSAtIDE0Kjg2NDAwMDAwOyAvLyAxNCBkYXlzCgkJbGV0IG9sZF9maWxlcyA9IFtdOwoJCWZvciAodmFyIGZuYW1lIGluIHdrb2YuZmlsZV9jYWNoZS5kaXIpIHsKCQkJaWYgKGZuYW1lLm1hdGNoKC9ed2tvZlwuc2V0dGluZ3NcLi8pKSBjb250aW51ZTsgLy8gRG9uJ3QgZmx1c2ggc2V0dGluZ3MgZmlsZXMuCgkJCWxldCBmZGF0ZSA9IG5ldyBEYXRlKHdrb2YuZmlsZV9jYWNoZS5kaXJbZm5hbWVdLmxhc3RfbG9hZGVkKTsKCQkJaWYgKGZkYXRlIDwgdGhyZXNob2xkKSBvbGRfZmlsZXMucHVzaChmbmFtZSk7CgkJfQoJCWlmIChvbGRfZmlsZXMubGVuZ3RoID09PSAwKSByZXR1cm47CgkJY29uc29sZS5sb2coJ0NsZWFuaW5nIG91dCAnK29sZF9maWxlcy5sZW5ndGgrJyBvbGQgZmlsZShzKSBmcm9tICJ3a29mLmZpbGVfY2FjaGUiOicpOwoJCWZvciAobGV0IGZudW0gaW4gb2xkX2ZpbGVzKSB7CgkJCWNvbnNvbGUubG9nKCcgICcrKE51bWJlcihmbnVtKSsxKSsnOiAnK29sZF9maWxlc1tmbnVtXSk7CgkJCXdrb2YuZmlsZV9jYWNoZS5kZWxldGUob2xkX2ZpbGVzW2ZudW1dKTsKCQl9Cgl9CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCS8vIFByb2Nlc3Mgbm8tY2FjaGUgcmVxdWVzdHMuCgkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJZnVuY3Rpb24gZmlsZV9ub2NhY2hlKGxpc3QpIHsKCQlpZiAobGlzdCA9PT0gdW5kZWZpbmVkKSB7CgkJCWxpc3QgPSBzcGxpdF9saXN0KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3a29mLmluY2x1ZGUubm9jYWNoZScpIHx8ICcnKTsKCQkJbGlzdCA9IGxpc3QuY29uY2F0KHNwbGl0X2xpc3QobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3drb2YubG9hZF9maWxlLm5vY2FjaGUnKSB8fCAnJykpOwoJCQljb25zb2xlLmxvZyhsaXN0LmpvaW4oJywnKSk7CgkJfSBlbHNlIGlmICh0eXBlb2YgbGlzdCA9PT0gJ3N0cmluZycpIHsKCQkJbGV0IG5vX2NhY2hlID0gc3BsaXRfbGlzdChsaXN0KTsKCQkJbGV0IGlkeCwgbW9kdWxlcyA9IFtdLCB1cmxzID0gW107CgkJCWZvciAoaWR4ID0gMDsgaWR4IDwgbm9fY2FjaGUubGVuZ3RoOyBpZHgrKykgewoJCQkJbGV0IGl0ZW0gPSBub19jYWNoZVtpZHhdOwoJCQkJaWYgKHN1cHBvcnRlZF9tb2R1bGVzW2l0ZW1dICE9PSB1bmRlZmluZWQpIHsKCQkJCQltb2R1bGVzLnB1c2goaXRlbSk7CgkJCQl9IGVsc2UgewoJCQkJCXVybHMucHVzaChpdGVtKTsKCQkJCX0KCQkJfQoJCQljb25zb2xlLmxvZygnTW9kdWxlczogJyttb2R1bGVzLmpvaW4oJywnKSk7CgkJCWNvbnNvbGUubG9nKCcgICBVUkxzOiAnK3VybHMuam9pbignLCcpKTsKCQkJbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3drb2YuaW5jbHVkZS5ub2NhY2hlJywgbW9kdWxlcy5qb2luKCcsJykpOwoJCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2tvZi5sb2FkX2ZpbGUubm9jYWNoZScsIHVybHMuam9pbignLCcpKTsKCQl9Cgl9CgoJZnVuY3Rpb24gZG9jX3JlYWR5KCkgewoJCXdrb2Yuc2V0X3N0YXRlKCd3a29mLmRvY3VtZW50JywgJ3JlYWR5Jyk7Cgl9CgoJZnVuY3Rpb24gaXNfdHVyYm9fcGFnZSgpIHsKCQlyZXR1cm4gKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFt0eXBlPSJpbXBvcnRtYXAiXScpPy5pbm5lckhUTUwubWF0Y2goJ0Bob3R3aXJlZC90dXJibycpICE9IG51bGwpOwoJfQoKCS8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgkvLyBCb290bG9hZGVyIFN0YXJ0dXAKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBzdGFydHVwKCkgewoJCWdsb2JhbC53a29mID0gcHVibGlzaGVkX2ludGVyZmFjZTsKCgkJLy8gSGFuZGxlIHBhZ2UtbG9hZGluZy91bmxvYWRpbmcgZXZlbnRzLgoJCWlmIChpc190dXJib19wYWdlKCkpIHsKCQkJYWRkRXZlbnRMaXN0ZW5lcigndHVyYm86bG9hZCcsIChlKSA9PiBoYW5kbGVfcGFnZV9ldmVudHMoJ2xvYWQnLCBlKSk7CgkJfSBlbHNlIHsKCQkJcmVhZHkoJ2RvY3VtZW50JykudGhlbigoZSkgPT4gaGFuZGxlX3BhZ2VfZXZlbnRzKCdsb2FkJykpOwoJCX0KCgkJLy8gTWFyayBkb2N1bWVudCBzdGF0ZSBhcyAncmVhZHknLgoJCWlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CgkJCWRvY19yZWFkeSgpOwoJCX0gZWxzZSB7CgkJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZG9jX3JlYWR5LCBmYWxzZSk7ICAvLyBOb3RpZnkgbGlzdGVuZXJzIHRoYXQgd2UgYXJlIHJlYWR5LgoJCX0KCgkJLy8gT3BlbiBjYWNoZSwgc28gd2tvZi5maWxlX2NhY2hlLmRpciBpcyBhdmFpbGFibGUgdG8gY29uc29sZSBpbW1lZGlhdGVseS4KCQlmaWxlX2NhY2hlX29wZW4oKTsKCQl3a29mLnNldF9zdGF0ZSgnd2tvZi53a29mJywgJ3JlYWR5Jyk7Cgl9CglzdGFydHVwKCk7Cgp9KSh3aW5kb3cpOwo="},{"name":"WaniKani Improve","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_arrayleft":false,"compat_uW_gmonkey":false,"compat_forvarin":false,"noframes":null,"awareOfChrome":false,"run_at":null,"override":{"use_includes":[],"orig_includes":["https://www.wanikani.com/review/session","http://www.wanikani.com/review/session"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-end","orig_noframes":null},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649591,"data":{}},"enabled":false,"position":2,"file_url":"https://userscripts-mirror.org/scripts/source/174135.user.js","uuid":"38820d1c-0915-49b6-a73f-2b2d2f9cfbd9","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgV2FuaUthbmkgSW1wcm92ZQovLyBAbmFtZXNwYWNlIGh0dHA6Ly93d3cubWljaGFlbGZyYW5rLmNvbS5ici93YW5pa2FuaV9pbXByb3ZlLwovLyBAaW5jbHVkZSBodHRwczovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24KLy8gQGluY2x1ZGUgaHR0cDovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24KLy8gQHZlcnNpb24gMi4yLjIKLy8gQGdyYW50IEdNX2FkZFN0eWxlCi8vIEBncmFudCBHTV9nZXRSZXNvdXJjZVRleHQKLy8gQHJ1bi1hdCBkb2N1bWVudC1lbmQKLy8gQHJlcXVpcmUgaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzIuMC4zL2pxdWVyeS5taW4uanMKLy8gQHJlcXVpcmUgaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvcXRpcDIvMi4yLjAvanF1ZXJ5LnF0aXAubWluLmpzCi8vIEByZXNvdXJjZSBxdGlwQ1NTIGh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL3F0aXAyLzIuMi4wL2pxdWVyeS5xdGlwLm1pbi5jc3MKLy8gPT0vVXNlclNjcmlwdD09Cgp2YXIgcXRpcENTUyA9IEdNX2dldFJlc291cmNlVGV4dCgicXRpcENTUyIpOwpHTV9hZGRTdHlsZShxdGlwQ1NTKTsKCiQualN0b3JhZ2UgPSB1bnNhZmVXaW5kb3cuJC5qU3RvcmFnZTsKCnZhciB3a2lfc2V0dGluZ3MgPSAkLmpTdG9yYWdlLmdldCgnd2tpX3NldHRpbmdzJyk7CgppZih3a2lfc2V0dGluZ3MgPT09IG51bGwpCnsKICAgIHdraV9zZXR0aW5ncyA9ICh7CiAgICAgICAgJ3draV90aW1lcl9zaG93X25leHRfaXRlbScgOiAwLAogICAgICAgICd3a2lfYnV0dG9uX2xhYmVsX2JnY29sb3InOiAnI0EyQTJBMicsCiAgICAgICAgJ3draV9idXR0b25fbGFiZWxfdGV4dGNvbG9yJyA6ICcjRkZGRkZGJywKICAgICAgICAnd2tpX2NvbWJvX2Rpc3BsYXknIDogdHJ1ZSwKICAgICAgICAnd2tpX3Nyc19sZXZlbHVwX2Rpc3BsYXknIDogdHJ1ZSwKICAgICAgICAnd2tpX2F1dG9fc2hvd19pbmZvJyA6IHRydWUsCiAgICAgICAgJ3draV9hdWRpb19hdXRvcGxheScgOiBmYWxzZQogICAgfSk7CiAgICBjb25zb2xlLmxvZygnV0tJOiBTZXR0aW5ncyBub3QgZm91bmQnKTsKfQplbHNlCnsKICAgIGNvbnNvbGUubG9nKCdXS0k6IFNldHRpbmdzIGZvdW5kJyk7CiAgICB3a2lfc2V0dGluZ3MgPSAkLnBhcnNlSlNPTih3a2lfc2V0dGluZ3MpOwp9Cgp2YXIgd2tpX2hpdF9jb21ibyA9IDA7CnZhciB3a2lfY29tYm9fcmVjb3JkID0gJC5qU3RvcmFnZS5nZXQoJ3draV9jb21ib19yZWNvcmQnKTsKCnZhciB3a2lfY3VycmVudF9pdGVtID0gJyc7CnZhciB3a2lfY3VycmVudF90eXBlID0gJyc7CnZhciB3a2lfY3VycmVudF9xdWVzdGlvbl90eXBlID0gJyc7CnZhciB3a2lfcHJldmlvdXNfaXRlbSA9ICcnOwp2YXIgd2tpX3ByZXZpb3VzX3R5cGUgPSAnJzsKdmFyIHdraV9wcmV2aW91c19xdWVzdGlvbl90eXBlID0gJyc7CnZhciB3a2lfcHJldmlvdXNfaXRlbV91cmwgPSAnJzsKdmFyIHdraV9zdWJtaXR0ZWRfYW5zd2VyID0gJyc7Cgp2YXIgd2tpX2pzdG9yZWRfY3VycmVudF9pdGVtID0gJyc7CnZhciB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtID0gJyc7Cgp2YXIgd2tpX2l0ZW1zX2FycmF5ID0gbmV3IEFycmF5KCk7Cgp2YXIgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID0gZmFsc2U7CnZhciB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZSA9IDA7CnZhciB3a2lfYW5zd2VyX2V4Y2VwdGlvbl9tZXNzYWdlID0gbmV3IEFycmF5KCk7CndraV9hbnN3ZXJfZXhjZXB0aW9uX21lc3NhZ2VbMF0gPSAnQ2hlY2sgdGhlIHByZXZpb3VzIGl0ZW0nOwp3a2lfYW5zd2VyX2V4Y2VwdGlvbl9tZXNzYWdlWzFdID0gJ1lvdXIgYW5zd2VyIHdhcyBhIGJpdCBvZmYnOwp3a2lfYW5zd2VyX2V4Y2VwdGlvbl9tZXNzYWdlWzJdID0gJ1RoZXJlIGFyZSBvdGhlciBwb3NzaWJsZSByZWFkaW5ncyc7CndraV9hbnN3ZXJfZXhjZXB0aW9uX21lc3NhZ2VbM10gPSAnVGhlcmUgYXJlIG90aGVyIHBvc3NpYmxlIG1lYW5pbmdzJzsKCnZhciB3a2lfc3JzX2xldmVsID0gbmV3IEFycmF5KCk7CndraV9zcnNfbGV2ZWxbMF0gPSAnJzsgLy8gRXZlcnkgaXRlbSBzdGFydHMgb24gMQp3a2lfc3JzX2xldmVsWzFdID0gJyc7CndraV9zcnNfbGV2ZWxbMl0gPSAnJzsKd2tpX3Nyc19sZXZlbFszXSA9ICcnOwp3a2lfc3JzX2xldmVsWzRdID0gJyc7CndraV9zcnNfbGV2ZWxbNV0gPSAnR3VydSc7CndraV9zcnNfbGV2ZWxbNl0gPSAnJzsKd2tpX3Nyc19sZXZlbFs3XSA9ICdNYXN0ZXInOwp3a2lfc3JzX2xldmVsWzhdID0gJ0VubGlnaHRlbmVkJzsKd2tpX3Nyc19sZXZlbFs5XSA9ICdCdXJuZWQnOwp3a2lfc3JzX2xldmVsWzEwXSA9ICcnOyAvLyBTUlMgMTAgZG9lcyBub3QgZXhpc3QKCnZhciBzcnNfd3JhcHBlcl90b3AgPSAwOwp2YXIgc3JzX3dyYXBwZXJfdXBwZXIgPSAwOwoKJCgnPGxpIGlkPSJ3a2lfYnV0dG9uIiBjbGFzcz0id2tpX2RlZmF1bHRfY3Vyc29yIGRpc2FibGVkIj48ZGl2IGlkPSJ3a2lfbWltaWNfYnV0dG9uIj48ZGl2IGNsYXNzPSJ3a2lfaXRlbV93cmFwcGVyIj48ZGl2IGxhbmc9ImphIiBjbGFzcz0id2tpX2J1dHRvbl9pdGVtX2xhYmVsIj48ZGl2IGNsYXNzPSJ3a2lfc3RhcnRfbWVzc2FnZSI+UHJldmlvdXMgaXRlbTwvZGl2PjwvZGl2PjwvZGl2PjxpIGNsYXNzPSJpY29uLWluZm8tc2lnbiI+PC9pPjwvbGk+JykuaW5zZXJ0QWZ0ZXIoJyNvcHRpb24td3JhcC11cCcpOwokKCc8ZGl2IGlkPSJ3a2lfc3JzX3BvcHVwX3dyYXBwZXIiPjxkaXYgY2xhc3M9IndraV9zcnNfcG9wdXBfaWNvbiI+PGkgY2xhc3M9Imljb24tYXJyb3ctdXAiPjwvaT48L2Rpdj48ZGl2IGlkPSJ3a2lfc3JzX3BvcHVwX21lc3NhZ2UiPjwvZGl2PjwvZGl2PicpLmFwcGVuZFRvKCdib2R5Jyk7CgokKCc8c3BhbiBpZD0id2tpX2NvbWJvX2Rpc3BsYXkiPjxpIGNsYXNzPSJpY29uLXRyb3BoeSI+PC9pPjxzcGFuIGlkPSJ3a2lfY29tYm8iIHRpdGxlPSJDdXJyZW50IGNvbWJvIG9mIHJpZ2h0IGFuc3dlcnMiPjA8L3NwYW4+IDxzcGFuIGlkPSJ3a2lfY29tYm9fcmVjb3JkIiB0aXRsZT0iUmVjb3JkIG9mIHJpZ2h0IGFuc3dlcnMgaW4gYSByb3ciPjwvc3Bhbj48L3NwYW4+ICcpLmluc2VydEJlZm9yZSgnI3N0YXRzIGkuaWNvbi10aHVtYnMtdXAnKTsKCiQoJzxkaXYgaWQ9IndraV9jb25maWdfYnV0dG9uIj48c3BhbiBjbGFzcz0id2tpX3Rvb2x0aXAiIHJlbD0id2tpX3NldHRpbmdzX2luZm8iPjxzcGFuIGlkPSJ3a2lfc2V0dGluZ3NfaW5mbyIgY2xhc3M9IndraV9oaWRkZW4iPkNsaWNrIHRvIGFjY2VzcyBXYW5pS2FuaSBJbXByb3ZlIHNldHRpbmdzIG1lbnU8L3NwYW4+PGkgY2xhc3M9Imljb24tY29ncyI+PC9pPiBXS0kgMi4yLjI8L3NwYW4+PC9kaXY+JykuaW5zZXJ0QmVmb3JlKCcjaG90a2V5cycpOwoKJCgnPGRpdiBpZD0id2tpX21vZGFsX2JhY2tncm91bmQiPjwvZGl2PicpLmNzcyh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpLCBsZWZ0OiAwLCBoZWlnaHQ6ICQoZG9jdW1lbnQpLmhlaWdodCgpLCB3aWR0aDogJzEwMCUnLCBvcGFjaXR5OiAwLjcsIGJhY2tncm91bmRDb2xvcjogJyMwMDAwMDAnLCB6SW5kZXg6IDUwMDAsIGRpc3BsYXk6ICdub25lJyB9KS5hcHBlbmRUbygnYm9keScpOwoKJCgnPHN0eWxlIHR5cGU9InRleHQvY3NzIj4ud2tpX2hpZGRlbiB7IGRpc3BsYXk6IG5vbmU7IH0gLndraV9zZXR0aW5nc19zYXZlZCB7IHdpZHRoOiAzNTBweDsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxNnB4OyBkaXNwbGF5OiBub25lOyB9IC53a2lfc2V0dGluZ3NfZGlzY2FyZGVkIHsgd2lkdGg6IDM1MHB4OyBwYWRkaW5nOiAxMHB4OyBmb250LXNpemU6IDE2cHg7IGRpc3BsYXk6IG5vbmU7ICB9ICAud2tpX2NsZWFyIHsgY2xlYXI6IGJvdGg7fSAud2tpX2J0biB7IGNvbG9yOiByZ2IoMTUzLCAxNTMsIDE1Myk7IGZvbnQtZmFtaWx5OiAiVWJ1bnR1IixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpIHJnYmEoMCwgMCwgMCwgMC4xNSkgcmdiYSgwLCAwLCAwLCAwLjI1KTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiA0cHggMTJweDsgbWFyZ2luOiA1cHggMCAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGN1cnNvcjogcG9pbnRlcjsgIHRleHQtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ1LCAyNDUsIDI0NSk7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYigyNTUsIDI1NSwgMjU1KSwgcmdiKDIzMCwgMjMwLCAyMzApKTsgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyBib3JkZXItd2lkdGg6IDFweDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiByZ2IoMTg3LCAxODcsIDE4NykgcmdiKDE4NywgMTg3LCAxODcpIHJnYigxNjIsIDE2MiwgMTYyKTsgLW1vei1ib3JkZXItdG9wLWNvbG9yczogbm9uZTsgLW1vei1ib3JkZXItcmlnaHQtY29sb3JzOiBub25lOyAtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lOyAtbW96LWJvcmRlci1sZWZ0LWNvbG9yczogbm9uZTsgYm9yZGVyLWltYWdlOiBub25lOyBib3JkZXItcmFkaXVzOiA0cHg7IGJveC1zaGFkb3c6IDBweCAxcHggMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSBpbnNldCwgMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTt9IC53a2lfYnRuOmhvdmVyIHsgY29sb3I6ICM3Nzc3Nzc7IGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfSAud2tpX3NldHRpbmdzX2Zvcm0geyB3aWR0aDogMzUwcHg7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbGlzdC1zdHlsZS10eXBlOiBub25lO30gLndraV9zZXR0aW5nc19mb3JtIGxpIHsgcGFkZGluZzogMTBweCAwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRlZGVkOyB9IC53a2lfc2V0dGluZ3NfZm9ybSBsaTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMDt9IC53a2lfc2V0dGluZ3NfZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0geyB3aWR0aDogOTglOyBtYXJnaW46IDhweCAwIDAgMDsgfSAud2tpX3NldHRpbmdzX2Zvcm0gaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7IG1hcmdpbjogM3B4IDVweCA1cHg7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gICN3a2lfY29uZmlnX2J1dHRvbiB7Y3Vyc29yOiBwb2ludGVyOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiByZ2IoMTM2LCAxMzYsIDEzNik7IGZvbnQtc2l6ZTogMC44MTI1ZW07IHZlcnRpY2FsLWFsaWduOiBib3R0b207fSAjd2tpX3Nyc19wb3B1cF93cmFwcGVyIHt3aWR0aDogMTIxcHg7IGhlaWdodDogMzBweDsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMTsgb3BhY2l0eTogMDsgfSAud2tpX3Nyc19wb3B1cF9pY29uIHsgd2lkdGg6IDMwcHg7IGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNXB4IDA7IGZsb2F0OiBsZWZ0OyB9ICN3a2lfc3JzX3BvcHVwX21lc3NhZ2UgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiB3aGl0ZTsgZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nOiA1cHg7IHdpZHRoOiA4MXB4OyB0ZXh0LXNoYWRvdzogMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9IC53a2lfc3JzX2FwcHJlbnRpY2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjMwMEEyOyB9IC53a2lfc3JzX2d1cnUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOUUzNEI3OyB9IC53a2lfc3JzX21hc3RlciB7IGJhY2tncm91bmQtY29sb3I6ICM0OTY3RTA7IH0gLndraV9zcnNfZW5saWdodG5lZCB7IGJhY2tncm91bmQtY29sb3I6ICMwMEEyRjM7IH0gLndraV9zcnNfYnVybmVkIHsgYmFja2dyb3VuZC1jb2xvcjogIzRFNEU0RTsgfSAud2tpX2RlZmF1bHRfY3Vyc29yIHsgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0gLndraV9zdGFydF9tZXNzYWdleyBjb2xvcjogYmxhY2s7IGRpc3BsYXk6IGlubGluZTt9ICAjd2tpX2J1dHRvbiB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IGN1cnNvcjogcG9pbnRlcjsgfSAjd2tpX2J1dHRvbiBpIHttYXJnaW46IDEzcHggYXV0bzsgd2lkdGg6IDE4JTsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMTBweDsgdG9wOiAwOyB9ICN3a2lfbWltaWNfYnV0dG9uIHttYXJnaW4tcmlnaHQ6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsIDI1MSwgMjUxKTsgY29sb3I6IHJnYigxMzYsIDEzNiwgMTM2KTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3gtc2hhZG93OiAzcHggM3B4IDBweCByZ2IoMjI1LCAyMjUsIDIyNSk7fSAud2tpX2J1dHRvbl9pdGVtX2xhYmVsIHsgcGFkZGluZzogMTBweCAwIDZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogJyArIHdraV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX3RleHRjb2xvciArICc7IHRleHQtc2hhZG93OiAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyBvdmVyZmxvdzogaGlkZGVuOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvcGFjaXR5OiAwLjU7IH0gLndraV9idXR0b25faXRlbV9sYWJlbDpob3ZlciB7IG9wYWNpdHk6IDE7IH0gLndraV9pdGVtX3dyYXBwZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB3aWR0aDogODAlOyB9IC53a2lfdm9jYWJ1bGFyeSB7IGJhY2tncm91bmQtY29sb3I6ICNBQTAwRkY7IH0gLndraV9rYW5qaSB7IGJhY2tncm91bmQtY29sb3I6ICNGRjAwQUE7IH0gLndraV9yYWRpY2FsIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwQUFGRjsgfSAud2tpX2NpbnphIHsgYmFja2dyb3VuZC1jb2xvcjogJyArIHdraV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX2JnY29sb3IgKyAnOyB9IC5xdGlweyBtYXgtd2lkdGg6IDM4MHB4ICFpbXBvcnRhbnQ7IH0gI2FkZGl0aW9uYWwtY29udGVudCB1bCBsaSB7IHdpZHRoOiAxNi42JSAhaW1wb3J0YW50OyB9ICNhZGRpdGlvbmFsLWNvbnRlbnQge3RleHQtYWxpZ246IGNlbnRlcjt9ICN3a2lfYnV0dG9uIGltZyB7IG1heC13aWR0aDogMTQlOyBtYXJnaW46IC0xMHB4OyB9ICNhZGRpdGlvbmFsLWNvbnRlbnQgI2Fuc3dlci1leGNlcHRpb24ge2xlZnQ6IDguMyUgIWltcG9ydGFudDt9IEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyN3a2lfbWltaWNfYnV0dG9uIHtwYWRkaW5nOiA1cHg7IGZvbnQtc2l6ZTogMC43NWVtO30gLndraV9pdGVtX3dyYXBwZXIgeyBkaXNwbGF5OiBub25lOyBwYWRkaW5nOiA0cHggNHB4IDNweDsgbWFyZ2luOiAtNHB4OyB9ICN3a2lfYnV0dG9uIGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiBhdXRvOyByaWdodDogYXV0bzsgbWFyZ2luOiAwOyB9IH0gQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkgeyAjd2tpX2J1dHRvbiBpbWcgeyBtYXgtd2lkdGg6IDIyJTsgbWFyZ2luOiAtMTFweDsgfSBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7ICN3a2lfYnV0dG9uIGltZyB7IG1heC13aWR0aDogMjklOyBtYXJnaW46IC0xMXB4OyB9fSAgfSA8L3N0eWxlPicpLmFwcGVuZFRvKCdoZWFkJyk7CgoKaWYod2tpX3NldHRpbmdzLndraV9jb21ib19kaXNwbGF5ICE9PSB0cnVlKQp7CiAgICAkKCcjd2tpX2NvbWJvX2Rpc3BsYXknKS5oaWRlKCk7Cn0KCmlmKHdraV9zZXR0aW5ncy53a2lfc3JzX2xldmVsdXBfZGlzcGxheSAhPT0gdHJ1ZSkKewogICAgJCgnI3draV9zcnNfcG9wdXBfd3JhcHBlcicpLmhpZGUoKTsKfQoKaWYod2tpX2NvbWJvX3JlY29yZCA9PT0gbnVsbCkKewogICAgd2tpX2NvbWJvX3JlY29yZCA9IDA7Cn0KZWxzZQp7CiAgICBpZih3a2lfY29tYm9fcmVjb3JkICE9PSAwKQogICAgewogICAgICAgICQoJyN3a2lfY29tYm9fcmVjb3JkJykudGV4dCgnKCcgKyB3a2lfY29tYm9fcmVjb3JkICsgJyknKTsKICAgIH0KfQoKZnVuY3Rpb24gY2hlY2tBbnN3ZXIoKQp7CiAgICB3a2lfc3VibWl0dGVkX2Fuc3dlciA9ICQoJyN1c2VyLXJlc3BvbnNlJykudmFsKCk7CgogICAgaWYoIXdraV9zdWJtaXR0ZWRfYW5zd2VyKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgYW5zd2VyRXhjZXB0aW9uID0gJC50cmltKCQoJyNhbnN3ZXItZXhjZXB0aW9uJykudGV4dCgpKTsKCiAgICBpZihhbnN3ZXJFeGNlcHRpb24uaW5kZXhPZignV2FuaUthbmkgaXMgbG9va2luZyBmb3IgdGhlJykgIT09IC0xKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICBjb25zb2xlLmxvZygnd2tpX3N1Ym1pdHRlZF9hbnN3ZXI6ICcgKyB3a2lfc3VibWl0dGVkX2Fuc3dlcik7CgogICAgaWYoYW5zd2VyRXhjZXB0aW9uLmxlbmd0aCA+IDApCiAgICB7CiAgICAgICAgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID0gdHJ1ZTsKCiAgICAgICAgaWYoYW5zd2VyRXhjZXB0aW9uLmluZGV4T2YoJ2Fuc3dlciB3YXMgYSBiaXQgb2ZmJykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1dLSTogW2Fuc3dlckV4Y2VwdGlvbl0geW91ciBhbnN3ZXIgd2FzIGEgYml0IG9mZicpOwogICAgICAgICAgICAkKCcjd2tpX21pbWljX2J1dHRvbicpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsICcjRjVGN0FCJyk7IC8vIHllbGxvdwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi13YXJuaW5nLXNpZ24nKS5mYWRlT3V0KCkuZmFkZUluKCkuZmFkZU91dCgpLmZhZGVJbigpOwogICAgICAgICAgICB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZSA9IDE7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoYW5zd2VyRXhjZXB0aW9uLmluZGV4T2YoJ3Bvc3NpYmxlIHJlYWRpbmdzJykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1dLSTogW2Fuc3dlckV4Y2VwdGlvbl0gb3RoZXIgcG9zc2libGUgcmVhZGluZ3MnKTsKICAgICAgICAgICAgJCgnI3draV9idXR0b24gaScpLnJlbW92ZUNsYXNzKCkuYWRkQ2xhc3MoJ2ljb24tYXN0ZXJpc2snKTsKICAgICAgICAgICAgJCgnI3draV9taW1pY19idXR0b24nKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCAnI0NERTBGNycpOyAvLyBibHVlCiAgICAgICAgICAgIHdraV9leGNlcHRpb25fbWVzc2FnZV90eXBlID0gMjsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZihhbnN3ZXJFeGNlcHRpb24uaW5kZXhPZigncG9zc2libGUgbWVhbmluZ3MnKSAhPT0gLTEpCiAgICAgICAgewogICAgICAgICAgICBjb25zb2xlLmxvZygnV0tJOiBbYW5zd2VyRXhjZXB0aW9uXSBvdGhlciBwb3NzaWJsZSBtZWFuaW5ncycpOwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1hc3RlcmlzaycpOwogICAgICAgICAgICAkKCcjd2tpX21pbWljX2J1dHRvbicpLmNzcygnYmFja2dyb3VuZC1jb2xvcicsICcjQ0RFMEY3Jyk7IC8vIGJsdWUKICAgICAgICAgICAgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPSAzOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGFuc3dlckV4Y2VwdGlvbi5pbmRleE9mKCdWaWV3IHRoZSBjb3JyZWN0JykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgY29uc29sZS5sb2coJ1dLSTogW2Fuc3dlckV4Y2VwdGlvbl0gd3JvbmcgYW5zd2VyJyk7CiAgICAgICAgICAgICQoJyN3a2lfbWltaWNfYnV0dG9uJykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgJyNGQkZCRkInKTsgLy8gZGVmYXVsdCBncmV5IGNvbG9yCgogICAgICAgICAgICBpZih3a2lfc2V0dGluZ3Mud2tpX2F1dG9fc2hvd19pbmZvID09PSB0cnVlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkKCcjb3B0aW9uLWl0ZW0taW5mbycpLmNsaWNrKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHdraV9leGNlcHRpb25fbWVzc2FnZV90eXBlID0gMDsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgLy8gdW5rbm93biBtZXNzYWdlCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdXS0k6IFthbnN3ZXJFeGNlcHRpb25dICcgKyBhbnN3ZXJFeGNlcHRpb24pOwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1pbmZvLXNpZ24nKTsKICAgICAgICAgICAgJCgnI3draV9taW1pY19idXR0b24nKS5jc3MoJ2JhY2tncm91bmQtY29sb3InLCAnI0Y3RDRDRCcpOyAvLyByZWQKICAgICAgICAgICAgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPSAwOwogICAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfcmVjZWl2ZWQgPSBmYWxzZTsKICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1vaycpOwogICAgICAgICQoJyN3a2lfbWltaWNfYnV0dG9uJykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgJyNGQkZCRkInKTsgLy8gZGVmYXVsdCBncmV5IGNvbG9yCiAgICB9CgogICAgaWYod2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID09PSBmYWxzZSB8fCB3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZSA+IDApCiAgICB7CiAgICAgICAgd2tpX2hpdF9jb21ibysrOwogICAgICAgICQoJyN3a2lfY29tYm8nKS50ZXh0KHdraV9oaXRfY29tYm8pOwogICAgICAgIGlmKHdraV9oaXRfY29tYm8gPiB3a2lfY29tYm9fcmVjb3JkKQogICAgICAgIHsKICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3draV9jb21ib19yZWNvcmQnLCB3a2lfaGl0X2NvbWJvKTsKICAgICAgICAgICAgJCgnI3draV9jb21ibycpLmZhZGVPdXQoKS5mYWRlSW4oKTsKICAgICAgICAgICAgJCgnI3draV9jb21ib19yZWNvcmQnKS5oaWRlKCk7CiAgICAgICAgfQogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHdraV9oaXRfY29tYm8gPSAwOwogICAgICAgICQoJyN3a2lfY29tYm8nKS50ZXh0KHdraV9oaXRfY29tYm8pOwogICAgICAgICQoJyN3a2lfY29tYm9fcmVjb3JkJykudGV4dCgnKCcgKyAkLmpTdG9yYWdlLmdldCgnd2tpX2NvbWJvX3JlY29yZCcsIHdraV9oaXRfY29tYm8pICsgJyknKS5zaG93KCk7CiAgICB9CgogICAgaWYgKCQoJyNhbnN3ZXItZm9ybSBmb3JtIGZpZWxkc2V0JykuaGFzQ2xhc3MoJ2NvcnJlY3QnKSkKICAgIHsKICAgICAgICBjb25zb2xlLmxvZygnV0tJOiBDb3JyZWN0IGFuc3dlcicpOwoKICAgICAgICBpZiAod2tpX3NldHRpbmdzLndraV9hdWRpb19hdXRvcGxheSA9PT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIGlmICgkKCcjb3B0aW9uLWF1ZGlvJykuaGFzQ2xhc3MoJ2Rpc2FibGVkJykpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1vdmVOZXh0KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkKCIjb3B0aW9uLWF1ZGlvIikuY2xpY2soKTsKCiAgICAgICAgICAgICAgICAkKCcjb3B0aW9uLWF1ZGlvIGF1ZGlvJykuYmluZCgiZW5kZWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgbW92ZU5leHQoKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIG1vdmVOZXh0KCk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZiAoJCgnI2Fuc3dlci1mb3JtIGZvcm0gZmllbGRzZXQnKS5oYXNDbGFzcygnaW5jb3JyZWN0JykpCiAgICB7CiAgICAgICAgY29uc29sZS5sb2coJ1dLSTogV3JvbmcgYW5zd2VyJyk7CiAgICB9Cn0KCmZ1bmN0aW9uIG1vdmVOZXh0KCkKewogICAgY29uc29sZS5sb2coJ1dLSTogTW92aW5nIHRvIG5leHQgcXVlc3Rpb24nKTsKICAgICQoJyNhbnN3ZXItZm9ybSBidXR0b24nKS50cmlnZ2VyKCdjbGljaycpOwp9CgokKCcjYW5zd2VyLWZvcm0gYnV0dG9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSl7CiAgICBpZiAoZS5vcmlnaW5hbEV2ZW50ICE9PSB1bmRlZmluZWQgJiYgZS5vcmlnaW5hbEV2ZW50LnNjcmVlblggJiYgZS5vcmlnaW5hbEV2ZW50LnNjcmVlblkpCiAgICB7CiAgICAgICAgaWYoJCgnI3VzZXItcmVzcG9uc2UnKS52YWwoKSkKICAgICAgICB7CiAgICAgICAgCXNldFRpbWVvdXQoY2hlY2tBbnN3ZXIsIHdraV9zZXR0aW5ncy53a2lfdGltZXJfc2hvd19uZXh0X2l0ZW0pOwogICAgICAgIH0KICAgIH0KfSk7CgokKCcjcXVlc3Rpb24tdHlwZScpLmJpbmQoJ0RPTU5vZGVJbnNlcnRlZCcsIGZ1bmN0aW9uIChldmVudCkKewogICAgaWYoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lICE9ICdTVFJPTkcnKQogICAgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW0gPSAkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKTsKICAgIHdraV9jdXJyZW50X3F1ZXN0aW9uX3R5cGUgPSAkLmpTdG9yYWdlLmdldCgncXVlc3Rpb25UeXBlJyk7CgogICAgaWYod2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWydrYW4nXSkKICAgIHsKICAgICAgICB3a2lfY3VycmVudF90eXBlID0gJ2thbmppJzsKICAgICAgICB3a2lfY3VycmVudF9pdGVtID0gd2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWydrYW4nXTsKICAgIH0KICAgIGVsc2UgaWYod2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWyd2b2MnXSkKICAgIHsKICAgICAgICB3a2lfY3VycmVudF90eXBlID0gJ3ZvY2FidWxhcnknOwogICAgICAgIHdraV9jdXJyZW50X2l0ZW0gPSB3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3ZvYyddOwogICAgfQogICAgZWxzZSBpZih3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3JhZCddKQogICAgewogICAgICAgIHdraV9jdXJyZW50X3R5cGUgPSAncmFkaWNhbCc7CiAgICAgICAgaWYod2tpX2pzdG9yZWRfY3VycmVudF9pdGVtWydyYWQnXS5pbmRleE9mKCcucG5nJykgIT09IC0xKQogICAgICAgIHsKICAgICAgICAgICAgd2tpX2N1cnJlbnRfaXRlbSA9ICc8aW1nIHNyYz0iaHR0cDovL3MzLndhbmlrYW5pLmNvbS9pbWFnZXMvcmFkaWNhbHMvJyt3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3JhZCddKyciIC8+JzsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgd2tpX2N1cnJlbnRfaXRlbSA9IHdraV9qc3RvcmVkX2N1cnJlbnRfaXRlbVsncmFkJ107CiAgICAgICAgfQogICAgfQoKICAgIGNvbnNvbGUubG9nKCd3a2lfY3VycmVudF9pdGVtOiAnICsgd2tpX2N1cnJlbnRfaXRlbSk7CiAgICBjb25zb2xlLmxvZygnd2tpX2N1cnJlbnRfdHlwZTogJyArIHdraV9jdXJyZW50X3R5cGUpOwogICAgY29uc29sZS5sb2coJ3draV9jdXJyZW50X3F1ZXN0aW9uX3R5cGU6ICcgKyB3a2lfY3VycmVudF9xdWVzdGlvbl90eXBlKTsKCiAgICBpZih3a2lfc3JzX2xldmVsW3draV9qc3RvcmVkX2N1cnJlbnRfaXRlbVsnc3JzJ10gKyAxXSkKICAgIHsKICAgICAgICBjb25zb2xlLmxvZygnV0tJOiB0aGlzIGl0ZW0gd2lsbCBsZXZlbCB1cCB0byAnICsgd2tpX3Nyc19sZXZlbFt3a2lfanN0b3JlZF9jdXJyZW50X2l0ZW1bJ3NycyddICsgMV0gKyAnJyk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgY29uc29sZS5sb2coJ1dLSTogdGhpcyBpdGVtIHdpbGwgbm90IGxldmVsIHVwIHRvIGEgbmV3IFNSUyBjbGFzcycpOwogICAgfQoKICAgIGlmICgod2tpX3ByZXZpb3VzX2l0ZW0gIT0gd2tpX2N1cnJlbnRfaXRlbSkgfHwgKHdraV9wcmV2aW91c19pdGVtID09IHdraV9jdXJyZW50X2l0ZW0gJiYgd2tpX2N1cnJlbnRfcXVlc3Rpb25fdHlwZSAhPSB3a2lfcHJldmlvdXNfcXVlc3Rpb25fdHlwZSkpCiAgICB7CiAgICAgICAgaWYgKHdraV9wcmV2aW91c19pdGVtICE9ICcnKQogICAgICAgIHsKICAgICAgICAgICAgaWYoIXdraV9pdGVtc19hcnJheVt3a2lfcHJldmlvdXNfdHlwZSArICdfJyArIHdraV9qc3RvcmVkX3ByZXZpb3VzX2l0ZW1bJ2lkJ11dKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXSA9IHt9OwogICAgICAgICAgICAgICAgd2tpX2l0ZW1zX2FycmF5W3draV9wcmV2aW91c190eXBlICsgJ18nICsgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsnaWQnXV1bJ3ZpZXdzJ10gPSAxOwogICAgICAgICAgICAgICAgd2tpX2l0ZW1zX2FycmF5W3draV9wcmV2aW91c190eXBlICsgJ18nICsgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsnaWQnXV1bJ2NvcnJlY3RfYW5zd2VycyddID0gMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHdraV9pdGVtc19hcnJheVt3a2lfcHJldmlvdXNfdHlwZSArICdfJyArIHdraV9qc3RvcmVkX3ByZXZpb3VzX2l0ZW1bJ2lkJ11dWyd2aWV3cyddKys7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmKHdraV9leGNlcHRpb25fbWVzc2FnZV9yZWNlaXZlZCA9PT0gZmFsc2UgfHwgd2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPiAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXVsnY29ycmVjdF9hbnN3ZXJzJ10rKzsKCiAgICAgICAgICAgICAgICBpZigod2tpX2l0ZW1zX2FycmF5W3draV9wcmV2aW91c190eXBlICsgJ18nICsgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsnaWQnXV1bJ3ZpZXdzJ10gPT0gMiAmJiB3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXVsnY29ycmVjdF9hbnN3ZXJzJ10gPT0gMikgfHwgd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbVsncmFkJ10pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYod2tpX3Nyc19sZXZlbFt3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydzcnMnXSArIDFdKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3draV9zcnNfcG9wdXBfbWVzc2FnZScpLnRleHQod2tpX3Nyc19sZXZlbFt3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydzcnMnXSArIDFdKS5yZW1vdmVDbGFzcygpLmFkZENsYXNzKCd3a2lfc3JzXycgKyB3a2lfc3JzX2xldmVsW3draV9qc3RvcmVkX3ByZXZpb3VzX2l0ZW1bJ3NycyddICsgMV0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3draV9zcnNfcG9wdXBfd3JhcHBlcicpLmFuaW1hdGUoeyd0b3AnOiBzcnNfd3JhcHBlcl91cHBlciwgJ29wYWNpdHknOiAxfSwgODAwLCBmdW5jdGlvbigpIHsgICQodGhpcykuZGVsYXkoODAwKS5hbmltYXRlKHsnb3BhY2l0eSc6IDB9LCA1MDAsIGZ1bmN0aW9uKCkgeyAkKHRoaXMpLmNzcygndG9wJywgc3JzX3dyYXBwZXJfdG9wKTsgfSApOyB9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICQoJyN3a2lfbWltaWNfYnV0dG9uJykucXRpcCgnZGVzdHJveScsIHRydWUpOwogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbicpLnJlbW92ZUNsYXNzKCk7CgogICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiAud2tpX2J1dHRvbl9pdGVtX2xhYmVsJykuaHRtbCh3a2lfcHJldmlvdXNfaXRlbSkucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnd2tpX2J1dHRvbl9pdGVtX2xhYmVsIHdraV9jaW56YScpOwoKICAgICAgICAgICAgaWYod2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3JlY2VpdmVkID09PSB0cnVlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkKCcjd2tpX21pbWljX2J1dHRvbicpLnF0aXAoe2NvbnRlbnQ6IHsgdGV4dDogd2tpX2Fuc3dlcl9leGNlcHRpb25fbWVzc2FnZVt3a2lfZXhjZXB0aW9uX21lc3NhZ2VfdHlwZV0gfSwgcG9zaXRpb246IHsgbXk6ICdib3R0b20gY2VudGVyJywgYXQ6ICd0b3AgY2VudGVyJywgdmlld3BvcnQ6ICQod2luZG93KX0sIHN0eWxlOiAncXRpcC1ib290c3RyYXAnfSk7CgogICAgICAgICAgICAgICAgaWYod2tpX2V4Y2VwdGlvbl9tZXNzYWdlX3R5cGUgPT0gMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkKCcjd2tpX2J1dHRvbiBpJykucmVtb3ZlQ2xhc3MoKS5hZGRDbGFzcygnaWNvbi1yZW1vdmUnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL3Jlc2V0IHRoZSB2YXIKICAgICAgICAgICAgICAgIHdraV9leGNlcHRpb25fbWVzc2FnZV9yZWNlaXZlZCA9IGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB3a2lfcHJldmlvdXNfaXRlbV91cmwgPSAnaHR0cHM6Ly93d3cud2FuaWthbmkuY29tLyc7CgogICAgICAgICAgICBpZiAod2tpX3ByZXZpb3VzX3R5cGUgPT0gJ2thbmppJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgd2tpX3ByZXZpb3VzX2l0ZW1fdXJsICs9ICdrYW5qaS8nICsgd2tpX3ByZXZpb3VzX2l0ZW0gKyAnLyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZiAod2tpX3ByZXZpb3VzX3R5cGUgPT0gJ3ZvY2FidWxhcnknKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3a2lfcHJldmlvdXNfaXRlbV91cmwgKz0gJ3ZvY2FidWxhcnkvJyArIHdraV9wcmV2aW91c19pdGVtICsgJy8nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHJhZGljYWxOYW1lID0gd2tpX2pzdG9yZWRfcHJldmlvdXNfaXRlbS5lblswXTsKICAgICAgICAgICAgICAgIHdraV9wcmV2aW91c19pdGVtX3VybCArPSAncmFkaWNhbHMvJyArIHJhZGljYWxOYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnICcsICctJykgKyAnLyc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgc3JzX3dyYXBwZXJfdG9wID0gcGFyc2VJbnQoJCgiI3draV9taW1pY19idXR0b24iKS5vZmZzZXQoKS50b3AgKyAkKCIjd2tpX21pbWljX2J1dHRvbiIpLm91dGVySGVpZ2h0KCkpOwogICAgICAgICAgICBzcnNfd3JhcHBlcl91cHBlciA9IHBhcnNlSW50KHNyc193cmFwcGVyX3RvcCAtICgkKCIjd2tpX21pbWljX2J1dHRvbiIpLm91dGVySGVpZ2h0KCkgKiAyKSk7CgogICAgICAgICAgICAkKCcjd2tpX3Nyc19wb3B1cF93cmFwcGVyJykuY3NzKHsndG9wJzogc3JzX3dyYXBwZXJfdG9wICsgJ3B4JywgJ2xlZnQnOiBwYXJzZUludCgkKCIjd2tpX21pbWljX2J1dHRvbiIpLm91dGVyV2lkdGgoKSAvIDMgKyAkKCIjd2tpX21pbWljX2J1dHRvbiIpLm9mZnNldCgpLmxlZnQpICsgJ3B4J30pOwogICAgICAgIH0KCgogICAgICAgICQoJyN3a2lfYnV0dG9uJykubm90KCcuZGlzYWJsZWQnKS5xdGlwKAogICAgICAgIHsKICAgICAgICAgICAgaGlkZToKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZXZlbnQ6ICdjbGljayB1bmZvY3VzJwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGl0bGU6ICdQcmV2aW91cyAnICsgd2tpX3ByZXZpb3VzX3R5cGUgKyAnLiBZb3UgYW5zd2VyZWQgPHN0cm9uZz4nICsgd2tpX3N1Ym1pdHRlZF9hbnN3ZXIgKyAnPC9zdHJvbmc+JywKICAgICAgICAgICAgICAgIHRleHQ6ICc8aWZyYW1lIGlkPSJ3a2lfaWZyYW1lX3ByZXZpb3VzX2l0ZW0iIHNyYz0iJyArIHdraV9wcmV2aW91c19pdGVtX3VybCArICciIGZyYW1lYm9yZGVyPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIHN0eWxlPSJ3aWR0aDozNTBweDsgaGVpZ2h0OiAyNTBweDsgb3ZlcmZsb3cteDogaGlkZGVuOyBvdmVyZmxvdy15OiBzY3JvbGw7IG9wYWNpdHk6IDA7Ij48L2lmcmFtZT4nCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHBvc2l0aW9uOgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBteTogJ2JvdHRvbSBjZW50ZXInLAogICAgICAgICAgICAgICAgYXQ6ICd0b3AgY2VudGVyJywKICAgICAgICAgICAgICAgIHZpZXdwb3J0OiAkKHdpbmRvdyksCiAgICAgICAgICAgICAgICBhZGp1c3Q6IHsgbWV0aG9kOiAnc2hpZnQgZmxpcCcgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBzaG93OgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBldmVudDogJ2NsaWNrJywKICAgICAgICAgICAgICAgIHNvbG86IHRydWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZXZlbnRzOgogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2aXNpYmxlOiBmdW5jdGlvbihldmVudCwgYXBpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICQoJ2lmcmFtZSN3a2lfaWZyYW1lX3ByZXZpb3VzX2l0ZW0nKS5sb2FkKGZ1bmN0aW9uKCkKICAgICAgICAgICAgICAgICAgICB7CgogICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2tpX2lmcmFtZV9jb250ZW50ID0gJCh0aGlzKS5jb250ZW50cygpLmZpbmQoJ2JvZHknKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHdraV9pZnJhbWVfY29udGVudC5hcHBlbmQoJzxzdHlsZT4uZm9vdGVyLWFkanVzdG1lbnQsIGZvb3RlciB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50fSBib2R5IHttYXJnaW46IDEwcHggIWltcG9ydGFudDt9IHNlY3Rpb24ge21hcmdpbjogMCAhaW1wb3J0YW50OyB9IC5jb250YWluZXIge21hcmdpbjogMCAhaW1wb3J0YW50OyB9IC5sZXZlbC1pY29uIHsgbWluLWhlaWdodDogNTJweDsgZmxvYXQ6IGxlZnQ7fSAudm9jYWJ1bGFyeS1pY29uLCAua2FuamktaWNvbiwgLnJhZGljYWwtaWNvbiB7ZmxvYXQ6IHJpZ2h0OyB3aWR0aDogODMlOyBoZWlnaHQ6IGF1dG87IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IG1pbi1oZWlnaHQ6IDUycHg7fSAud2tpX2lmcmFtZV9oZWFkZXIge2ZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGxpbmUtaGVpZ2h0OiA1NXB4fSAud2tpX2lmcmFtZV9zZWN0aW9uIHttYXJnaW46IDMwcHggMCAwICFpbXBvcnRhbnR9IC53a2lfaWZyYW1lX3NlY3Rpb246YWZ0ZXIge2NsZWFyOiBib3RoOyB9IC53a2lfaWZyYW1lX3NlY3Rpb24gaDIge2JvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMjEyLCAyMTIsIDIxMikgIWltcG9ydGFudDsgbWFyZ2luOiAxNXB4IDAgN3B4ICFpbXBvcnRhbnQ7fSAud2tpX2lmcmFtZV9oZWFkZXIgLmVubGFyZ2UtaG92ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gPC9zdHlsZT4nKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW0gPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnaGVhZGVyPmgxJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW1fcHJvZ3Jlc3MgPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnI3Byb2dyZXNzJykuYWRkQ2xhc3MoJ3draV9pZnJhbWVfc2VjdGlvbicpLndyYXAoJzxkaXY+PC9kaXY+JykucGFyZW50KCkuaHRtbCgpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgd2tpX2lmcmFtZV9pdGVtX2FsdGVybmF0aXZlX21lYW5pbmcgPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnI2luZm9ybWF0aW9uJykuYWRkQ2xhc3MoJ2luZGl2aWR1YWwtaXRlbScpLndyYXAoJzxkaXY+PC9kaXY+JykucGFyZW50KCk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZih3a2lfaXRlbXNfYXJyYXlbd2tpX3ByZXZpb3VzX3R5cGUgKyAnXycgKyB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtWydpZCddXVsnY29ycmVjdF9hbnN3ZXJzJ10gPT0gMikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdraV9yZWFkaW5nc19hbmRfbWVhbmluZ3MgPSB3a2lfaWZyYW1lX2NvbnRlbnQuZmluZCgnaDI6Y29udGFpbnMoIlJlYWRpbmciKSxoMjpjb250YWlucygiTWVhbmluZyIpLGgyOmNvbnRhaW5zKCJOYW1lIiknKS5wYXJlbnQoJ3NlY3Rpb24nKS5hZGRDbGFzcygnd2tpX2lmcmFtZV9zZWN0aW9uJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKCc8aDIgY2xhc3M9IndraV9pZnJhbWVfaGVhZGVyIj4nICsgd2tpX2lmcmFtZV9pdGVtLmh0bWwoKSArICc8L2gyPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCh3a2lfaWZyYW1lX2l0ZW1fYWx0ZXJuYXRpdmVfbWVhbmluZyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKHdraV9yZWFkaW5nc19hbmRfbWVhbmluZ3MpOwoKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih3a2lfcHJldmlvdXNfcXVlc3Rpb25fdHlwZS5pbmRleE9mKCdyZWFkaW5nJykgIT09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW1fcmVhZGluZyA9IHdraV9pZnJhbWVfY29udGVudC5maW5kKCdoMjpjb250YWlucygiUmVhZGluZyIpJykucGFyZW50KCdzZWN0aW9uJykuYWRkQ2xhc3MoJ3draV9pZnJhbWVfc2VjdGlvbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCc8aDI+JywgeydjbGFzcycgOiAnd2tpX2lmcmFtZV9oZWFkZXInfSkuYXBwZW5kVG8od2tpX2lmcmFtZV9jb250ZW50KS5hcHBlbmQod2tpX2lmcmFtZV9pdGVtLmNoaWxkcmVuKCkpLmFwcGVuZCgnPGJyIHN0eWxlPSJjbGVhcjogYm90aDsiIC8+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCh3a2lfaWZyYW1lX2l0ZW1fcmVhZGluZyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHdraV9wcmV2aW91c19xdWVzdGlvbl90eXBlLmluZGV4T2YoJ21lYW5pbmcnKSAhPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYod2tpX3ByZXZpb3VzX3R5cGUgPT0gJ3JhZGljYWwnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdraV9pZnJhbWVfaXRlbV9tZWFuaW5nID0gd2tpX2lmcmFtZV9jb250ZW50LmZpbmQoJ2gyOmNvbnRhaW5zKCJOYW1lIiknKS5wYXJlbnQoJ3NlY3Rpb24nKS5hZGRDbGFzcygnd2tpX2lmcmFtZV9zZWN0aW9uJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB3a2lfaWZyYW1lX2l0ZW1fbWVhbmluZyA9IHdraV9pZnJhbWVfY29udGVudC5maW5kKCdoMjpjb250YWlucygiTWVhbmluZyIpJykucGFyZW50KCdzZWN0aW9uJykuYWRkQ2xhc3MoJ3draV9pZnJhbWVfc2VjdGlvbicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCgnPGgyIGNsYXNzPSJ3a2lfaWZyYW1lX2hlYWRlciI+JyArIHdraV9pZnJhbWVfaXRlbS5odG1sKCkgKyAnPC9oMj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKHdraV9pZnJhbWVfaXRlbV9hbHRlcm5hdGl2ZV9tZWFuaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3a2lfaWZyYW1lX2NvbnRlbnQuYXBwZW5kKHdraV9pZnJhbWVfaXRlbV9tZWFuaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgd2tpX2lmcmFtZV9jb250ZW50LmFwcGVuZCh3a2lfaWZyYW1lX2l0ZW1fcHJvZ3Jlc3MpOwoKICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ29wYWNpdHknLCAnMScpOwoKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgc3R5bGU6ICdxdGlwLWJvb3RzdHJhcCcKICAgICAgICB9KTsKCiAgICB9Cn0pOwoKCiQoJyNxdWVzdGlvbi10eXBlJykuYmluZCgnRE9NTm9kZVJlbW92ZWQnLCBmdW5jdGlvbiAoZXZlbnQpCnsKICAgIGlmKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnU1RST05HJykKICAgIHsKICAgICAgICB3a2lfcHJldmlvdXNfaXRlbSA9IHdraV9jdXJyZW50X2l0ZW07CiAgICAgICAgd2tpX3ByZXZpb3VzX3R5cGUgPSB3a2lfY3VycmVudF90eXBlOwogICAgICAgIHdraV9wcmV2aW91c19xdWVzdGlvbl90eXBlID0gd2tpX2N1cnJlbnRfcXVlc3Rpb25fdHlwZTsKICAgICAgICB3a2lfanN0b3JlZF9wcmV2aW91c19pdGVtID0gd2tpX2pzdG9yZWRfY3VycmVudF9pdGVtOwoKICAgICAgICBjb25zb2xlLmxvZygnV0tJOiBQcmV2aW91cyBpdGVtIHJlZ2lzdGVyZWQnKTsKICAgIH0KfSk7CgokKCcjdXNlci1yZXNwb25zZScpLmtleWRvd24oIGZ1bmN0aW9uKGUpIHsKICAgIHZhciBrZXkgPSBlLmNoYXJDb2RlID8gZS5jaGFyQ29kZSA6IGUua2V5Q29kZSA/IGUua2V5Q29kZSA6IDA7CgogICAgaWYgKGtleSA9PSAxMykKICAgIHsKICAgICAgICBzZXRUaW1lb3V0KGNoZWNrQW5zd2VyLCB3a2lfc2V0dGluZ3Mud2tpX3RpbWVyX3Nob3dfbmV4dF9pdGVtKTsKICAgIH0KfSk7CgoKdmFyIGxhYmVsX3RvZ2dsZSA9IDA7CiQoIiN3a2lfYnV0dG9uIikuYmluZCh7CiAgICBtb3VzZWVudGVyOiBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGl0ZW1fbGFiZWwgPSAkKHRoaXMpLmZpbmQoIi53a2lfaXRlbV93cmFwcGVyIik7CiAgICAgICAgaWYoaXRlbV9sYWJlbC5vdXRlcldpZHRoKCkgPCBpdGVtX2xhYmVsWzBdLnNjcm9sbFdpZHRoKQogICAgICAgIHsKICAgICAgICAgICAgaXRlbV9sYWJlbC5hbmltYXRlKAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICB3aWR0aDogIjEwMCUiCiAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgIDIwMAogICAgICAgICAgICApOwogICAgICAgICAgICAkKHRoaXMpLmZpbmQoImkiKS5mYWRlT3V0KDEwMCk7CiAgICAgICAgICAgIGxhYmVsX3RvZ2dsZSA9IDE7CiAgICAgICAgfQoKICAgIH0sCiAgICBtb3VzZWxlYXZlOiBmdW5jdGlvbihlKSB7CiAgICAgICAgdmFyIGl0ZW1fbGFiZWwgPSAkKHRoaXMpLmZpbmQoIi53a2lfaXRlbV93cmFwcGVyIik7CiAgICAgICAgaWYobGFiZWxfdG9nZ2xlID09PSAxKQogICAgICAgIHsKICAgICAgICAgICAgaXRlbV9sYWJlbC5hbmltYXRlKAogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICB3aWR0aDogIjgwJSIKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgMjAwCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICQodGhpcykuZmluZCgiaSIpLmZhZGVJbigxMDApOwogICAgICAgICAgICBsYWJlbF90b2dnbGUgPSAwOwogICAgICAgIH0KICAgIH0KfSk7CgoKJCgnI3draV9jb25maWdfYnV0dG9uJykucXRpcCh7CiAgICBzaG93OgogICAgewogICAgICAgIGV2ZW50OiAnY2xpY2snLAogICAgICAgIGVmZmVjdDogZnVuY3Rpb24oKQogICAgICAgIHsKICAgICAgICAgICAgJCgnI3draV9tb2RhbF9iYWNrZ3JvdW5kJykuZmFkZUluKCk7CiAgICAgICAgICAgICQodGhpcykuZmFkZUluKCk7CiAgICAgICAgfQogICAgfSwKICAgIGhpZGU6CiAgICB7CiAgICAgICAgZXZlbnQ6ICd1bmZvY3VzJywKICAgICAgICBlZmZlY3Q6IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgICQoJyN3a2lfbW9kYWxfYmFja2dyb3VuZCcpLmZhZGVPdXQoKTsKICAgICAgICAgICAgJCh0aGlzKS5mYWRlT3V0KCk7CiAgICAgICAgfQogICAgfSwKICAgIGV2ZW50czogewoJICAgcmVuZGVyOiBmdW5jdGlvbihldmVudCwgYXBpKSB7CgkgICAgICAgJCgnI3draV9zZXR0aW5nc19jYW5jZWwnKS5iaW5kKCdjbGljaycsIHNldHRpbmdzQ2FuY2VsKTsKICAgICAgICAgICAkKCcjd2tpX3NldHRpbmdzX3NhdmUnKS5iaW5kKCdjbGljaycsIHNldHRpbmdzU2F2ZSk7CiAgICAgICB9CiAgICB9LAogICAgY29udGVudDoKICAgIHsKICAgICAgICB0aXRsZTogJzxoMiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+V2FuaUthbmkgSW1wcm92ZTwvaDI+JywKICAgICAgICB0ZXh0OiAnPHVsIGNsYXNzPSJ3a2lfc2V0dGluZ3NfZm9ybSI+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IndraV9zZXR0aW5nc19hdWRpb19hdXRvcGxheSIgJysod2tpX3NldHRpbmdzLndraV9hdWRpb19hdXRvcGxheSA9PT0gdHJ1ZSA/ICdjaGVja2VkJyA6ICcnKSsnIC8+IDxsYWJlbCBmb3I9IndraV9zZXR0aW5nc19hdWRpb19hdXRvcGxheSI+UGxheSB2b2NhYnVsYXJ5IGF1ZGlvIHdoZW4gYXZhaWxhYmxlPC9sYWJlbD48L2xpPjxsaT48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ3a2lfc2V0dGluZ3NfY29tYm9fZGlzcGxheSIgJysod2tpX3NldHRpbmdzLndraV9jb21ib19kaXNwbGF5ID09PSB0cnVlID8gJ2NoZWNrZWQnIDogJycpKycgLz4gPGxhYmVsIGZvcj0id2tpX3NldHRpbmdzX2NvbWJvX2Rpc3BsYXkiPlNob3cgY29tYm8gaW5mb3JtYXRpb248L2xhYmVsPjwvbGk+PGxpPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9IndraV9zZXR0aW5nc19zcnNfbGV2ZWx1cF9kaXNwbGF5IiAnKyh3a2lfc2V0dGluZ3Mud2tpX3Nyc19sZXZlbHVwX2Rpc3BsYXkgPT09IHRydWUgPyAnY2hlY2tlZCcgOiAnJykrJyAvPiA8bGFiZWwgZm9yPSJ3a2lfc2V0dGluZ3Nfc3JzX2xldmVsdXBfZGlzcGxheSI+V2hlbiBhbiBpdGVtIGxldmVsIHVwLCBkaXNwbGF5IHRoZSBuZXcgU1JTIGxldmVsPC9sYWJlbD48L2xpPjxsaT48aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJ3a2lfc2V0dGluZ3NfYXV0b19zaG93X2luZm8iICcrKHdraV9zZXR0aW5ncy53a2lfYXV0b19zaG93X2luZm8gPT09IHRydWUgPyAnY2hlY2tlZCcgOiAnJykrJyAvPiA8bGFiZWwgZm9yPSJ3a2lfc2V0dGluZ3NfYXV0b19zaG93X2luZm8iPkRpc3BsYXkgdGhlIGl0ZW0gaW5mb3JtYXRpb24gYWZ0ZXIgYSB3cm9uZyBhbnN3ZXI8L2xhYmVsPjwvbGk+PGxpPkJ1dHRvblwncyBiYWNrZ3JvdW5kIGNvbG9yIChkZWZhdWx0OiAjQTJBMkEyKTxiciAvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0id2tpX3NldHRpbmdzX2J1dHRvbl9sYWJlbF9iZ2NvbG9yIiB2YWx1ZT0iJyt3a2lfc2V0dGluZ3Mud2tpX2J1dHRvbl9sYWJlbF9iZ2NvbG9yKyciIC8+PC9saT48bGk+QnV0dG9uXCdzIHRleHQgY29sb3IgIChkZWZhdWx0OiAjRkZGRkZGKTxiciAvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0id2tpX3NldHRpbmdzX2J1dHRvbl9sYWJlbF90ZXh0Y29sb3IiIHZhbHVlPSInK3draV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX3RleHRjb2xvcisnIiAvPjwvbGk+PGxpPlRpbWUgdG8gd2FpdCBiZWZvcmUgbW92aW5nIHRvIHRoZSBuZXh0IHF1ZXN0aW9uIChtaWxpc2Vjb25kcywgZGVmYXVsdDogMCk8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IndraV9zZXR0aW5nc190aW1lcl9zaG93X25leHRfaXRlbSIgdmFsdWU9Iicrd2tpX3NldHRpbmdzLndraV90aW1lcl9zaG93X25leHRfaXRlbSsnIiAvPjwvbGk+PGxpPjxhIGlkPSJ3a2lfc2V0dGluZ3NfY2FuY2VsIiBjbGFzcz0id2tpX2J0biIgc3R5bGU9ImZsb2F0OiBsZWZ0OyI+Q2FuY2VsPC9hPjxhIGlkPSJ3a2lfc2V0dGluZ3Nfc2F2ZSIgY2xhc3M9IndraV9idG4iIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij5TYXZlPC9hPjxiciBjbGFzcz0id2tpX2NsZWFyIiAvPjwvbGk+PC91bD48ZGl2IGNsYXNzPSJ3a2lfc2V0dGluZ3Nfc2F2ZWQiPlNldHRpbmdzIHNhdmVkPC9kaXY+PGRpdiBjbGFzcz0id2tpX3NldHRpbmdzX2Rpc2NhcmRlZCI+Q2hhbmdlcyBkaXNjYXJkZWQ8L2Rpdj4nCiAgICB9LAogICAgcG9zaXRpb246CiAgICB7CiAgICAgICAgbXk6ICdjZW50ZXInLCBhdDogJ2NlbnRlcicsCiAgICAgICAgdGFyZ2V0OiAkKHdpbmRvdykKICAgIH0sCiAgICBzdHlsZTogewogICAgICAgIGNsYXNzZXM6ICdxdGlwLWJvb3RzdHJhcCcKICAgIH0KfSk7CgpmdW5jdGlvbiBzZXR0aW5nc0NhbmNlbCgpCnsKICAgIGNvbnNvbGUubG9nKCdXS0k6IHNldHRpbmdzIG5vdCBzYXZlZCcpOwogICAgJCgnLndraV9zZXR0aW5nc19mb3JtJykuc2xpZGVVcCgpOwogICAgJCgnLndraV9zZXR0aW5nc19kaXNjYXJkZWQnKS5zbGlkZURvd24oKTsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgJCgnI3draV9jb25maWdfYnV0dG9uJykucXRpcCgiaGlkZSIpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoJy53a2lfc2V0dGluZ3NfZm9ybScpLnNob3coKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19zYXZlZCcpLmhpZGUoKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19kaXNjYXJkZWQnKS5oaWRlKCk7CiAgICAgICAgfSwgMTAwMCk7CiAgICB9LCAxMzAwKTsKfQoKZnVuY3Rpb24gc2V0dGluZ3NTYXZlKCkKewogICAgd2tpX3NldHRpbmdzLndraV9hdWRpb19hdXRvcGxheSA9ICQoIiN3a2lfc2V0dGluZ3NfYXVkaW9fYXV0b3BsYXkiKS5pcygiOmNoZWNrZWQiKSA/IHRydWUgOiBmYWxzZTsKICAgIHdraV9zZXR0aW5ncy53a2lfdGltZXJfc2hvd19uZXh0X2l0ZW0gPSAkKCcjd2tpX3NldHRpbmdzX3RpbWVyX3Nob3dfbmV4dF9pdGVtJykudmFsKCk7CiAgICB3a2lfc2V0dGluZ3Mud2tpX2J1dHRvbl9sYWJlbF9iZ2NvbG9yID0gJCgnI3draV9zZXR0aW5nc19idXR0b25fbGFiZWxfYmdjb2xvcicpLnZhbCgpOwogICAgd2tpX3NldHRpbmdzLndraV9idXR0b25fbGFiZWxfdGV4dGNvbG9yID0gJCgnI3draV9zZXR0aW5nc19idXR0b25fbGFiZWxfdGV4dGNvbG9yJykudmFsKCk7CiAgICB3a2lfc2V0dGluZ3Mud2tpX2NvbWJvX2Rpc3BsYXkgPSAkKCIjd2tpX3NldHRpbmdzX2NvbWJvX2Rpc3BsYXkiKS5pcygiOmNoZWNrZWQiKSA/IHRydWUgOiBmYWxzZTsKICAgIHdraV9zZXR0aW5ncy53a2lfc3JzX2xldmVsdXBfZGlzcGxheSA9ICQoIiN3a2lfc2V0dGluZ3Nfc3JzX2xldmVsdXBfZGlzcGxheSIpLmlzKCI6Y2hlY2tlZCIpID8gdHJ1ZSA6IGZhbHNlOwogICAgd2tpX3NldHRpbmdzLndraV9hdXRvX3Nob3dfaW5mbyA9ICQoIiN3a2lfc2V0dGluZ3NfYXV0b19zaG93X2luZm8iKS5pcygiOmNoZWNrZWQiKSA/IHRydWUgOiBmYWxzZTsKCiAgICAkLmpTdG9yYWdlLnNldCgnd2tpX3NldHRpbmdzJywgSlNPTi5zdHJpbmdpZnkod2tpX3NldHRpbmdzKSk7CgogICAgJCgnLndraV9idXR0b25faXRlbV9sYWJlbCcpLmNzcyh7J2NvbG9yJyA6IHdraV9zZXR0aW5ncy53a2lfYnV0dG9uX2xhYmVsX3RleHRjb2xvciwgJ2JhY2tncm91bmQtY29sb3InOiB3a2lfc2V0dGluZ3Mud2tpX2J1dHRvbl9sYWJlbF9iZ2NvbG9yfSk7CgogICAgaWYod2tpX3NldHRpbmdzLndraV9jb21ib19kaXNwbGF5ICE9PSB0cnVlKQogICAgewogICAgICAgICQoJyN3a2lfY29tYm9fZGlzcGxheScpLmhpZGUoKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICAkKCcjd2tpX2NvbWJvX2Rpc3BsYXknKS5zaG93KCk7CiAgICB9CgogICAgaWYod2tpX3NldHRpbmdzLndraV9zcnNfbGV2ZWx1cF9kaXNwbGF5ICE9PSB0cnVlKQogICAgewogICAgICAgICQoJyN3a2lfc3JzX3BvcHVwX3dyYXBwZXInKS5oaWRlKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgJCgnI3draV9zcnNfcG9wdXBfd3JhcHBlcicpLnNob3coKTsKICAgIH0KCiAgICAkKCcud2tpX3NldHRpbmdzX2Zvcm0nKS5zbGlkZVVwKCk7CiAgICAkKCcud2tpX3NldHRpbmdzX3NhdmVkJykuc2xpZGVEb3duKCk7CgogICAgY29uc29sZS5sb2coJ1dLSTogc2V0dGluZ3Mgc2F2ZWQnKTsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgJCgnI3draV9jb25maWdfYnV0dG9uJykucXRpcCgiaGlkZSIpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICQoJy53a2lfc2V0dGluZ3NfZm9ybScpLnNob3coKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19zYXZlZCcpLmhpZGUoKTsKICAgICAgICAgICAgJCgnLndraV9zZXR0aW5nc19kaXNjYXJkZWQnKS5oaWRlKCk7CiAgICAgICAgfSwgMTAwMCk7CiAgICB9LCAxMzAwKTsKfQoKCiQoJyNyZXBvcnQtZXJyb3JzIGEnKS5hdHRyKCdocmVmJywgJ2phdmFzY3JpcHQ6dm9pZCgwKTsnKTsKJCgnI3JlcG9ydC1lcnJvcnMnKS5hZGRDbGFzcygnd2tpX3Rvb2x0aXAnKS5hdHRyKCdyZWwnLCAnd2tpX2J1Z19tZXNzYWdlJykuYXBwZW5kKCc8c3BhbiBjbGFzcz0id2tpX2hpZGRlbiIgaWQ9IndraV9idWdfbWVzc2FnZSI+QmVmb3JlIHNlbmRpbmcgYSBidWcgcmVwb3J0LCBkaXNhYmxlIFdhbmlLYW5pIEltcHJvdmUgYW5kIGFsbCBvdGhlciBzY3JpcHRzIHJ1bm5pbmcgaW4gdGhlIHBhZ2UuIElmIHRoZSBlcnJvciBwZXJzaXN0cywgY29udGFjdCBXYW5pS2FuaSBhbmQgcmVwb3J0IHRoZSBwcm9ibGVtLjwvc3Bhbj4nKTsKCiQoJy53a2lfdG9vbHRpcCcpLmVhY2goZnVuY3Rpb24oKSB7CiAgICBpZigkKHRoaXMpLmF0dHIoJ3JlbCcpKQogICAgewogICAgICAgIHZhciBxdGlwX2NvbnRlbnQgPSAkKCcjJyskKHRoaXMpLmF0dHIoJ3JlbCcpKS5odG1sKCk7CiAgICB9CiAgICBlbHNlCiAgICB7CiAgICAgICAgdmFyIHF0aXBfY29udGVudCA9ICQodGhpcykuYXR0cigndGl0bGUnKTsKICAgIH0KICAgICQodGhpcykucXRpcCh7CiAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdxdGlwLWJvb3RzdHJhcCBxdGlwLXNoYWRvdycKICAgICAgICAgICB9LAogICAgICAgICAgIGhpZGU6IHsKICAgIAkJCWRlbGF5OiAxMDAsCiAgICAJCQlldmVudDogJ3VuZm9jdXMgbW91c2VsZWF2ZScsCiAgICAJCQlmaXhlZDogdHJ1ZQogICAgCQl9LAogICAgICAgICAgICBwb3NpdGlvbjoKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbXk6ICdib3R0b20gY2VudGVyJywKICAgICAgICAgICAgICAgIGF0OiAndG9wIGNlbnRlcicsCiAgICAgICAgICAgICAgICB2aWV3cG9ydDogJCh3aW5kb3cpLAogICAgICAgICAgICAgICAgbWV0aG9kOiAnc2hpZnQgbm9uZScKICAgICAgICAgICAgfSwKICAgICAgICAgICAgY29udGVudDogcXRpcF9jb250ZW50CiAgICB9KTsKfSk7CgokKHdpbmRvdykudW5sb2FkKGZ1bmN0aW9uKCl7CiAgICBpZih3a2lfaGl0X2NvbWJvID4gd2tpX2NvbWJvX3JlY29yZCkKICAgIHsKICAgICAgICAkLmpTdG9yYWdlLnNldCgnd2tpX2NvbWJvX3JlY29yZCcsIHdraV9oaXRfY29tYm8pOwogICAgICAgIGNvbnNvbGUubG9nKCdXS0k6IENvbWJvIHJlY29yZCBzYXZlZCcpOwogICAgfQp9KTs=","resources":[],"requires":[]},{"name":"Wanikani Override","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_arrayleft":false,"compat_uW_gmonkey":false,"compat_forvarin":false,"noframes":null,"awareOfChrome":false,"run_at":null,"override":{"use_includes":[],"orig_includes":["http://www.wanikani.com/review/session*","https://www.wanikani.com/review/session*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649612,"data":{}},"enabled":true,"position":3,"file_url":"https://greasyfork.org/scripts/23696-wanikani-override/code/Wanikani%20Override.user.js","uuid":"7da2a58d-d2aa-4e58-81fd-d5c8b940fca5","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIE92ZXJyaWRlCi8vIEBuYW1lc3BhY2UgICB3a292ZXJyaWRlCi8vIEBkZXNjcmlwdGlvbiBBZGRzIGFuICJJZ25vcmUgQW5zd2VyIiBidXR0b24gZHVyaW5nIHJldmlld3MgdGhhdCBtYWtlcyBXYW5pS2FuaSBpZ25vcmUgdGhlIGN1cnJlbnQgYW5zd2VyICh1c2VmdWwgaWYsIGZvciBleGFtcGxlLCB5b3UgbWFkZSBhIHN0dXBpZCB0eXBvKQovLyBAaW5jbHVkZSAgICAgaHR0cDovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24qCi8vIEBpbmNsdWRlICAgICBodHRwczovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24qCi8vIEB2ZXJzaW9uICAgICAxLjIKLy8gQGF1dGhvciAgICAgIE1lbXBvCi8vIEBncmFudCAgICAgICBHTV9hZGRTdHlsZQovLyBAZ3JhbnQgICAgICAgdW5zYWZlV2luZG93Ci8vIEByZXF1aXJlICAgICBodHRwOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjExLjIubWluLmpzCi8vIEBsaWNlbnNlICAgICBHUEwgdmVyc2lvbiAzIG9yIGFueSBsYXRlciB2ZXJzaW9uOyBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwKLy8gPT0vVXNlclNjcmlwdD09CgovL09yaWdpbmFsIGF1dGhvcjogUnVpIFBpbmhlaXJvCgovLyBFU0Mgc2hvcnRjdXQKCgovKgogKiBEZWJ1ZyBTZXR0aW5ncwogKi8KdmFyIGRlYnVnTG9nRW5hYmxlZCA9IHRydWU7CnZhciBzY3JpcHRTaG9ydE5hbWUgPSAnV0tPJzsKc2NyaXB0TG9nID0gZGVidWdMb2dFbmFibGVkID8gZnVuY3Rpb24gKG1zZykgewogIGlmICh0eXBlb2YgbXNnID09PSAnc3RyaW5nJykgewogICAgY29uc29sZS5sb2coc2NyaXB0U2hvcnROYW1lICsgJzogJyArIG1zZyk7CiAgfSBlbHNlIHsKICAgIGNvbnNvbGUubG9nKG1zZyk7CiAgfQp9CiA6IGZ1bmN0aW9uICgpIHsKfTsKLyoKICogT3RoZXIgc2V0dGluZ3MKICovCnZhciBwcmVmQWxsb3dVbmlnbm9yZSA9IHRydWU7Ci8qCiAqICJJZ25vcmUgQW5zd2VyIiBCdXR0b24gQ2xpY2sKICovCnZhciBBY3Rpb25FbnVtID0gT2JqZWN0LmZyZWV6ZSh7CiAgaWdub3JlOiAwLAogIHVuaWdub3JlOiAxCn0pOwpmdW5jdGlvbiBXS09faWdub3JlQW5zd2VyKCkKewogIHRyeQogIHsKICAgIC8qIENoZWNrIGlmIHRoZSBjdXJyZW50IGl0ZW0gd2FzIGFuc3dlcmVkIGluY29ycmVjdGx5ICovCiAgICB2YXIgZWxtbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaW5jb3JyZWN0Jyk7CiAgICB2YXIgZWxtbnRzMiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ1dLT19pZ25vcmVkJyk7CiAgICAKICAgIHZhciBjdXJBY3Rpb247CiAgICBpZiAoIWlzRW1wdHkoZWxtbnRzWzBdKSkgLy8gQ3VycmVudCBhbnN3ZXIgaXMgd3JvbmcKICAgIGN1ckFjdGlvbiA9IEFjdGlvbkVudW0uaWdub3JlOwogICAgIGVsc2UgaWYgKHByZWZBbGxvd1VuaWdub3JlICYmICFpc0VtcHR5KGVsbW50czJbMF0pKSAvLyBDdXJyZW50IGFuc3dlciBpcyBpZ25vcmVkCiAgICBjdXJBY3Rpb24gPSBBY3Rpb25FbnVtLnVuaWdub3JlOwogICAgIGVsc2UKICAgIC8vIEVpdGhlciB0aGVyZSBpcyBubyBjdXJyZW50IGFuc3dlciwgb3IgaXQncyBjb3JyZWN0CiAgICB7CiAgICAgIGFsZXJ0KCdXS086IEN1cnJlbnQgaXRlbSB3YXNuXCd0IGFuc3dlcmVkIGluY29ycmVjdGx5LCBub3IgaWdub3JlZCBwcmV2aW91c2x5IScpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAKICAgIC8qIEdyYWIgaW5mb3JtYXRpb24gYWJvdXQgY3VycmVudCBxdWVzdGlvbiAqLwogCiAgICB2YXIgY3VySXRlbSA9ICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpOwogICAgdmFyIHF1ZXN0aW9uVHlwZSA9ICQualN0b3JhZ2UuZ2V0KCdxdWVzdGlvblR5cGUnKTsKIAogICAgLyogQnVpbGQgaXRlbSBuYW1lICovCiAgICB2YXIgaXRlbU5hbWU7CiAgICBpZiAoY3VySXRlbS5yYWQpCiAgICBpdGVtTmFtZSA9ICdyJzsKICAgICBlbHNlIGlmIChjdXJJdGVtLmthbikKICAgIGl0ZW1OYW1lID0gJ2snOwogICAgIGVsc2UKICAgIGl0ZW1OYW1lID0gJ3YnOwogICAgaXRlbU5hbWUgKz0gY3VySXRlbS5pZDsKICAgIHNjcmlwdExvZyhpdGVtTmFtZSk7CiAgICAvKiBHcmFiIGl0ZW0gZnJvbSBqU3RvcmFnZS4KICAgICAgICAgKiAKICAgICAgICAgKiBpdGVtLnJjIGFuZCBpdGVtLm1jID0+IFJlYWRpbmcvTWVhbmluZyBDb21wbGV0ZWQgKGlmIGFuc3dlcmVkIHRoZSBpdGVtIGNvcnJlY3RseSkKICAgICAgICAgKiBpdGVtLnJpIGFuZCBpdGVtLm1pID0+IFJlYWRpbmcvTWVhbmluZyBJbnZhbGlkIChudW1iZXIgb2YgbWlzdGFrZXMgYmVmb3JlIGFuc3dlcmluZyBjb3JyZWN0bHkpCiAgICAgICAgICovCiAgICB2YXIgaXRlbSA9ICQualN0b3JhZ2UuZ2V0KGl0ZW1OYW1lKSB8fCB7CiAgICB9OwogICAgLyogVXBkYXRlIHRoZSBpdGVtIGRhdGEgKi8KICAgIGlmIChxdWVzdGlvblR5cGUgPT09ICdtZWFuaW5nJykKICAgIHsKICAgICAgaWYgKCEoJ21pJyBpbiBpdGVtKSB8fCBpc0VtcHR5KGl0ZW0ubWkpKQogICAgICB7CiAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0ubWkgdW5kZWZpbmVkJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9IAogICAgICBlbHNlIGlmIChpdGVtLm1pIDwgMCB8fCAoaXRlbS5taSA9PSAwICYmIGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkpCiAgICAgIHsKICAgICAgICB0aHJvdyBFcnJvcignaXRlbS5taSB0b28gc21hbGwnKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkKICAgICAgaXRlbS5taSAtPSAxOwogICAgICAgZWxzZQogICAgICBpdGVtLm1pICs9IDE7CiAgICAgIGRlbGV0ZSBpdGVtLm1jOwogICAgfSAKICAgIGVsc2UKICAgIHsKICAgICAgaWYgKCEoJ3JpJyBpbiBpdGVtKSB8fCBpc0VtcHR5KGl0ZW0ucmkpKQogICAgICB7CiAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0ucmkgdW5kZWZpbmVkJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9IAogICAgICBlbHNlIGlmIChpdGVtLnJpIDwgMCB8fCAoaXRlbS5yaSA9PSAwICYmIGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkpCiAgICAgIHsKICAgICAgICB0aHJvdyBFcnJvcignaS5yaSB0b28gc21hbGwnKTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgaWYgKGN1ckFjdGlvbiA9PSBBY3Rpb25FbnVtLmlnbm9yZSkKICAgICAgaXRlbS5yaSAtPSAxOwogICAgICAgZWxzZQogICAgICBpdGVtLnJpICs9IDE7CiAgICAgIGRlbGV0ZSBpdGVtLnJjOwogICAgfQogICAgLyogU2F2ZSB0aGUgbmV3IHN0YXRlIGJhY2sgaW50byBqU3RvcmFnZSAqLwogCiAgICAkLmpTdG9yYWdlLnNldChpdGVtTmFtZSwgaXRlbSk7CiAgICAvKiBNb2RpZnkgdGhlIHF1ZXN0aW9ucyBjb3VudGVyIGFuZCB3cm9uZyBjb3VudGVyIGFuZCBjaGFuZ2UgdGhlIHN0eWxlIG9mIHRoZSBhbnN3ZXIgZmllbGQgKi8KICAgIHZhciB3cm9uZ0NvdW50ID0gJC5qU3RvcmFnZS5nZXQoJ3dyb25nQ291bnQnKTsKICAgIHZhciBxdWVzdGlvbkNvdW50ID0gJC5qU3RvcmFnZS5nZXQoJ3F1ZXN0aW9uQ291bnQnKTsKICAgIGlmIChjdXJBY3Rpb24gPT0gQWN0aW9uRW51bS5pZ25vcmUpCiAgICB7CiAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdDb3VudCAtIDEpOwogICAgICAkLmpTdG9yYWdlLnNldCgncXVlc3Rpb25Db3VudCcsIHF1ZXN0aW9uQ291bnQgLSAxKTsKICAgICAgJCgnI2Fuc3dlci1mb3JtIGZpZWxkc2V0JykucmVtb3ZlQ2xhc3MoJ2luY29ycmVjdCcpOwogICAgICAkKCcjYW5zd2VyLWZvcm0gZmllbGRzZXQnKS5hZGRDbGFzcygnV0tPX2lnbm9yZWQnKTsKICAgIH0gCiAgICBlbHNlCiAgICB7CiAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdDb3VudCArIDEpOwogICAgICAkLmpTdG9yYWdlLnNldCgncXVlc3Rpb25Db3VudCcsIHF1ZXN0aW9uQ291bnQgKyAxKTsKICAgICAgJCgnI2Fuc3dlci1mb3JtIGZpZWxkc2V0JykucmVtb3ZlQ2xhc3MoJ1dLT19pZ25vcmVkJyk7CiAgICAgICQoJyNhbnN3ZXItZm9ybSBmaWVsZHNldCcpLmFkZENsYXNzKCdpbmNvcnJlY3QnKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwogIH0gCiAgY2F0Y2ggKGVycikgewogICAgbG9nRXJyb3IoZXJyKTsKICB9Cn0KLyoKICogQmluZCAnficgYXMgYSBob3RrZXkgCiAqLwogCmZ1bmN0aW9uIGJpbmRIb3RrZXkoKQp7CiAgalF1ZXJ5KGRvY3VtZW50KS5vbigna2V5ZG93bi5yZXZpZXdTY3JlZW4nLCBmdW5jdGlvbiAoZXZlbnQpCiAgewogICAgaWYgKCQoJyNyZXZpZXdzJykuaXMoJzp2aXNpYmxlJykgJiYgISQoJyo6Zm9jdXMnKS5pcygndGV4dGFyZWEsIGlucHV0JykpCiAgICB7CiAgICAgIC8vYWxlcnQoJ2tleWNvZGU6ICcgKyBldmVudC5rZXlDb2RlKTsKICAgICAgc3dpdGNoIChldmVudC5rZXlDb2RlKSB7CiAgICAgICAgLy9jYXNlIDE3NjogLy9GaXJlZm94ICd+JwogICAgICAgIC8vY2FzZSAxOTI6IC8vQ2hyb21lICd+JwogICAgICAgIGNhc2UgMjc6IC8vIEVTQyBCdXR0b24KICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIGlmICgkKCcjdXNlci1yZXNwb25zZScpLmlzKCc6ZGlzYWJsZWQnKSkKICAgICAgICAgICBXS09faWdub3JlQW5zd2VyKCk7CiAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH0pOwp9Ci8qCiAqIEluamVjdCBJZ25vcmUgQnV0dG9uCiAqLwogCmZ1bmN0aW9uIGFkZElnbm9yZUFuc3dlckJ0bigpCnsKICB2YXIgZm9vdGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2Zvb3RlcicpLAogICAgICAkYnRuID0galF1ZXJ5KCc8ZGl2IGlkPSJXS09fYnV0dG9uIiB0aXRsZT0iSWdub3JlIEFuc3dlciI+SWdub3JlIEFuc3dlcjwvZGl2PicpLm9uKCdjbGljaycsIFdLT19pZ25vcmVBbnN3ZXIpOwogIGpRdWVyeShmb290ZXJbMF0pLnByZXBlbmQoJGJ0bik7Cn0KLyoKICogUHJlcGFyZXMgdGhlIHNjcmlwdAogKi8KIApmdW5jdGlvbiBzY3JpcHRJbml0KCkKewogIC8vIEFkZCBnbG9iYWwgQ1NTIHN0eWxlcwogIEdNX2FkZFN0eWxlKCcjV0tPX2J1dHRvbiB7YmFja2dyb3VuZC1jb2xvcjogI0NDMDAwMDsgY29sb3I6ICNGRkZGRkY7IGN1cnNvcjogcG9pbnRlcjsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDAuODEyNWVtOyBwYWRkaW5nOiAxMHB4OyB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO30nKTsKICBHTV9hZGRTdHlsZSgnI2Fuc3dlci1mb3JtIGZpZWxkc2V0LldLT19pZ25vcmVkIGlucHV0W3R5cGU9InRleHQiXTotbW96LXBsYWNlaG9sZGVyLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgaW5wdXRbdHlwZT0idGV4dCJdOi1tb3otcGxhY2Vob2xkZXIge2NvbG9yOiAjRkZGRkZGOyBmb250LWZhbWlseTogIlNvdXJjZSBTYW5zIFBybyIsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IDMwMDsgdGV4dC1zaGFkb3c6IG5vbmU7IHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhciAwczsgfSAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgYnV0dG9uLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgaW5wdXRbdHlwZT0idGV4dCJdLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuV0tPX2lnbm9yZWQgaW5wdXRbdHlwZT0idGV4dCJdOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0MwMCAhaW1wb3J0YW50OyB9Jyk7CiAgc2NyaXB0TG9nKCdsb2FkZWQnKTsKICAvLyBTZXQgdXAgaG9va3MKICB0cnkKICB7CiAgICBhZGRJZ25vcmVBbnN3ZXJCdG4oKTsKICAgIGJpbmRIb3RrZXkoKTsKICB9IAogIGNhdGNoIChlcnIpIHsKICAgIGxvZ0Vycm9yKGVycik7CiAgfQp9Ci8qCiAqIEhlbHBlciBGdW5jdGlvbnMvVmFyaWFibGVzCiAqLwogCi8vdXNlICdqUXVlcnknIGZvciBncmVhc2Vtb25rZXkncyB2ZXJzaW9uLCAkIGlzIFdLJ3MgalF1ZXJ5CiAKJCA9IHVuc2FmZVdpbmRvdy4kOwpmdW5jdGlvbiBpc0VtcHR5KHZhbHVlKSB7CiAgcmV0dXJuICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHZhbHVlID09PSBudWxsKTsKfQovKgogKiBFcnJvciBoYW5kbGluZwogKiBDYW4gdXNlICdlcnJvci5zdGFjaycsIG5vdCBjcm9zcy1icm93c2VyICh0aG91Z2ggaXQgc2hvdWxkIHdvcmsgb24gRmlyZWZveCBhbmQgQ2hyb21lKQogKi8KIApmdW5jdGlvbiBsb2dFcnJvcihlcnJvcikKewogIHZhciBzdGFja01lc3NhZ2UgPSAnJzsKICBpZiAoJ3N0YWNrJyBpbiBlcnJvcikKICBzdGFja01lc3NhZ2UgPSAnXG5cdFN0YWNrOiAnICsgZXJyb3Iuc3RhY2s7CiAgY29uc29sZS5lcnJvcihzY3JpcHRTaG9ydE5hbWUgKyAnIEVycm9yOiAnICsgZXJyb3IubmFtZSArICdcblx0TWVzc2FnZTogJyArIGVycm9yLm1lc3NhZ2UgKyBzdGFja01lc3NhZ2UpOwp9Ci8qCiAqIFN0YXJ0IHRoZSBzY3JpcHQKICovCiAKc2NyaXB0SW5pdCgpOwoKLy8gSG9vayBpbnRvIEFwcCBTdG9yZQp0cnkgeyAkKCcuYXBwLXN0b3JlLW1lbnUtaXRlbScpLnJlbW92ZSgpOyAkKCc8bGkgY2xhc3M9ImFwcC1zdG9yZS1tZW51LWl0ZW0iPjxhIGhyZWY9Imh0dHBzOi8vY29tbXVuaXR5LndhbmlrYW5pLmNvbS90L3RoZXJlLWFyZS1zby1tYW55LXVzZXItc2NyaXB0cy1ub3ctdGhhdC1kaXNjb3ZlcmluZy10aGVtLWlzLWhhcmQvMjA3MDkiPkFwcCBTdG9yZTwvYT48L2xpPicpLmluc2VydEJlZm9yZSgkKCcubmF2YmFyIC5kcm9wZG93bi1tZW51IC5uYXYtaGVhZGVyOmNvbnRhaW5zKCJBY2NvdW50IiknKSk7IHdpbmRvdy5hcHBTdG9yZVJlZ2lzdHJ5ID0gd2luZG93LmFwcFN0b3JlUmVnaXN0cnkgfHwge307IHdpbmRvdy5hcHBTdG9yZVJlZ2lzdHJ5W0dNX2luZm8uc2NyaXB0LnV1aWRdID0gR01faW5mbzsgbG9jYWxTdG9yYWdlLmFwcFN0b3JlUmVnaXN0cnkgPSBKU09OLnN0cmluZ2lmeShhcHBTdG9yZVJlZ2lzdHJ5KTsgfSBjYXRjaCAoZSkge30=","requires":[]},{"name":"Wanikani Ultimate Timeline","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://www.wanikani.com/","https://www.wanikani.com/dashboard","https://preview.wanikani.com/","https://preview.wanikani.com/dashboard"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-end","orig_noframes":null,"orig_connects":[]},"user_modified":null},"storage":{"ts":1607436649623,"data":{}},"enabled":true,"position":4,"file_url":"https://greasyfork.org/scripts/13475-wanikani-ultimate-timeline/code/Wanikani%20Ultimate%20Timeline.user.js","uuid":"898d914c-c6aa-4606-abf9-fcc0e7385841","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIFVsdGltYXRlIFRpbWVsaW5lCi8vIEBuYW1lc3BhY2UgICByZmluZGxleQovLyBAZGVzY3JpcHRpb24gUmV2aWV3IHNjaGVkdWxlIGV4cGxvcmVyIGZvciBXYW5pS2FuaQovLyBAdmVyc2lvbiAgICAgNy4xLjgKLy8gQG1hdGNoICAgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbS8KLy8gQG1hdGNoICAgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbS9kYXNoYm9hcmQKLy8gQG1hdGNoICAgICAgIGh0dHBzOi8vcHJldmlldy53YW5pa2FuaS5jb20vCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tL2Rhc2hib2FyZAovLyBAY29weXJpZ2h0ICAgMjAxOC0yMDIzLCBSb2JpbiBGaW5kbGV5Ci8vIEBsaWNlbnNlICAgICBNSVQ7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKLy8gQHJ1bi1hdCAgICAgIGRvY3VtZW50LWVuZAovLyBAZ3JhbnQgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCndpbmRvdy50aW1lbGluZSA9IHt9OwoKKGZ1bmN0aW9uKGdvYmopIHsKCiAgICAvKiBnbG9iYWwgJCwgd2tvZiAqLwogICAgLyogZXNsaW50IG5vLW11bHRpLXNwYWNlczogIm9mZiIgKi8KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluaXRpYWxpemF0aW9uIG9mIHRoZSBXYW5pa2FuaSBPcGVuIEZyYW1ld29yay4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdmFyIHNjcmlwdF9uYW1lID0gJ1VsdGltYXRlIFRpbWVsaW5lJzsKICAgIHZhciB3a29mX3ZlcnNpb25fbmVlZGVkID0gJzEuMS4zJzsKICAgIGlmICghd2luZG93Lndrb2YpIHsKICAgICAgICBpZiAoY29uZmlybShzY3JpcHRfbmFtZSsnIHJlcXVpcmVzIFdhbmlrYW5pIE9wZW4gRnJhbWV3b3JrLlxuRG8geW91IHdhbnQgdG8gYmUgZm9yd2FyZGVkIHRvIHRoZSBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zPycpKSB7CiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJ2h0dHBzOi8vY29tbXVuaXR5LndhbmlrYW5pLmNvbS90L2luc3RydWN0aW9ucy1pbnN0YWxsaW5nLXdhbmlrYW5pLW9wZW4tZnJhbWV3b3JrLzI4NTQ5JzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKHdrb2YudmVyc2lvbi5jb21wYXJlX3RvKHdrb2ZfdmVyc2lvbl9uZWVkZWQpID09PSAnb2xkZXInKSB7CiAgICAgICAgaWYgKGNvbmZpcm0oc2NyaXB0X25hbWUrJyByZXF1aXJlcyBXYW5pa2FuaSBPcGVuIEZyYW1ld29yayB2ZXJzaW9uICcrd2tvZl92ZXJzaW9uX25lZWRlZCsnLlxuRG8geW91IHdhbnQgdG8gYmUgZm9yd2FyZGVkIHRvIHRoZSB1cGRhdGUgcGFnZT8nKSkgewogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdodHRwczovL2dyZWFzeWZvcmsub3JnL2VuL3NjcmlwdHMvMzg1ODItd2FuaWthbmktb3Blbi1mcmFtZXdvcmsnOwogICAgICAgIH0KICAgICAgICByZXR1cm47CiAgICB9CgogICAgd2tvZi5pbmNsdWRlKCdJdGVtRGF0YSxNZW51LFNldHRpbmdzJyk7CiAgICB3a29mLnJlYWR5KCdkb2N1bWVudCxJdGVtRGF0YSxNZW51LFNldHRpbmdzJykudGhlbihsb2FkX3NldHRpbmdzKS50aGVuKHN0YXJ0dXApOwoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gQ2hhcnQgZGVmaW5pbmcgdGhlIGF1dG8tc2NhbGluZyBmYWN0b3JzIG9mIHRoZSBYLWF4aXMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciB4c2NhbGUgPSB7CiAgICAgICAgLy8gU2NhbGluZyBjaGFydC4gIEVhY2ggY29sdW1uIHJlcHJlc2VudHMgYSBzY2FsaW5nIHJhbmdlLAogICAgICAgIC8vIGFuZCBlYWNoIHJvdyBpcyBzb21ldGhpbmcgdGhhdCB3ZSBhcmUgc2NhbGluZy4KICAgICAgICBob3Vyc19wZXJfbGFiZWw6ICAgWyAgMSAsICAzICwgIDYgLCAgMTIgLCAgMjQgLCAgNDggLCA3MjAgXSwKICAgICAgICByZWRfdGljX2Nob2ljZXM6ICAgWycxZCcsJzFkJywnMWQnLCAnMWQnLCAnMXcnLCcxd3MnLCAnMW0nXSwgLy8gUmVkIG1ham9yIHRpY3MgKHJlZCBsYWJlbCkKICAgICAgICBtYWpvcl90aWNfY2hvaWNlczogWycxaCcsJzNoJywnNmgnLCcxMmgnLCAnMWQnLCcxZHMnLCAnNUQnXSwgLy8gTWFqb3IgdGljcyAoaGFzIGxhYmVsKQogICAgICAgIG1pbm9yX3RpY19jaG9pY2VzOiBbICctJywnMWgnLCcxaCcsICczaCcsICc2aCcsJzEyaCcsICcxZCddLCAvLyBNaW5vciB0aWNzIChubyBsYWJlbCkKICAgICAgICBidW5kbGVfY2hvaWNlcyAgIDogWyAgMSAsICAxICwgIDEgLCAgIDMgLCAgIDYgLCAgMTIgLCAgMjQgXSwgLy8gSG93IG1hbnkgaG91cnMgYXJlIGJ1bmRsZWQgdG9nZXRoZXIuCiAgICAgICAgaWR4OiAwCiAgICB9OwoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSW50ZXJhbCBnbG9iYWwgb2JqZWN0IGZvciBjZW50cmFsaXppbmcgZGF0YSBhbmQgY29uZmlndXJhdGlvbi4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdmFyIGdyYXBoID0gewogICAgICAgIGVsZW06IG51bGwsCiAgICAgICAgbWFyZ2luOiB7CiAgICAgICAgICAgIHRvcDogMTYsCiAgICAgICAgICAgIGxlZnQ6IDI4LAogICAgICAgICAgICBib3R0b206IDE2LAogICAgICAgIH0sCiAgICAgICAgeF9heGlzOiB7CiAgICAgICAgICAgIHdpZHRoOiAwLAogICAgICAgICAgICBtYXhfaG91cnM6IDAsCiAgICAgICAgICAgIHBpeGVsc19wZXJfdGljOiAwLAogICAgICAgIH0sCiAgICAgICAgeV9heGlzOiB7CiAgICAgICAgICAgIGhlaWdodDogMTAwLAogICAgICAgICAgICBtaW5faGVpZ2h0OiA4MCwKICAgICAgICAgICAgbWF4X2hlaWdodDogMzAwLAogICAgICAgICAgICBtYXhfcmV2aWV3czogMCwKICAgICAgICB9LAogICAgICAgIHJhZGljYWxfY2FjaGU6IHt9LAogICAgfTsKICAgIGdvYmouZ3JhcGggPSBncmFwaDsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEdsb2JhbCB1dGlsaXR5IGZ1bmN0aW9ucy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gdG9fdGl0bGVfY2FzZShzdHIpIHtyZXR1cm4gc3RyLnJlcGxhY2UoL1x3XFMqL2csIGZ1bmN0aW9uKHR4dCl7cmV0dXJuIHR4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR4dC5zdWJzdHIoMSkudG9Mb3dlckNhc2UoKTt9KTt9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBHbG9iYWwgdmFyaWFibGVzCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBzZXR0aW5ncywgc2V0dGluZ3NfZGlhbG9nOwogICAgdmFyIHR6X29mcyA9IG5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKTsKICAgIHZhciB0aW1lX3NoaWZ0ID0gTWF0aC5jZWlsKHR6X29mcyAvIDYwKSAqIDYwIC0gdHpfb2ZzOwoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBMb2FkIHRoZSBzY3JpcHQgc2V0dGluZ3MuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGxvYWRfc2V0dGluZ3MoKSB7CiAgICAgICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgICAgICBtaW5pbWl6ZWQ6IGZhbHNlLAogICAgICAgICAgICBwbGFjZW1lbnQ6ICdiZWZvcmVfbmV4dHJldmlldycsCiAgICAgICAgICAgIHRpbWVfZm9ybWF0OiAnMTJob3VyJywKICAgICAgICAgICAgZ3JhcGhfaGVpZ2h0OiAxMDAsCiAgICAgICAgICAgIG1heF9kYXlzOiAxNCwKICAgICAgICAgICAgZGF5czogMy41LAogICAgICAgICAgICBtYXhfYmFyX3dpZHRoOiA0MCwKICAgICAgICAgICAgbWF4X2Jhcl9oZWlnaHQ6IDAsCiAgICAgICAgICAgIGZpeGVkX2Jhcl9oZWlnaHQ6IGZhbHNlLAogICAgICAgICAgICBiYXJfc3R5bGU6ICdpdGVtX3R5cGUnLAogICAgICAgICAgICBzcnNfY3Vycl9uZXh0OiAnY3VycicsCiAgICAgICAgICAgIGN1cnJlbnRfbGV2ZWxfbWFya2VyczogJ3JrdicsCiAgICAgICAgICAgIGJ1cm5fbWFya2VyczogJ3Nob3cnLAogICAgICAgICAgICBzaG93X3Jldmlld19kZXRhaWxzOiAnZnVsbCcsCiAgICAgICAgICAgIHJldmlld19kZXRhaWxzX3N1bW1hcnk6ICdpdGVtX3R5cGUnLAogICAgICAgICAgICByZXZpZXdfZGV0YWlsc19idXR0b25zOiB0cnVlLAogICAgICAgICAgICBzaG93X2Jhcl9zdHlsZV9kcm9wZG93bjogdHJ1ZSwKICAgICAgICB9OwogICAgICAgIHJldHVybiB3a29mLlNldHRpbmdzLmxvYWQoJ3RpbWVsaW5lJywgZGVmYXVsdHMpLnRoZW4oZnVuY3Rpb24oZGF0YSl7CiAgICAgICAgICAgIHNldHRpbmdzID0gd2tvZi5zZXR0aW5ncy50aW1lbGluZTsKICAgICAgICAgICAgc3dpdGNoIChzZXR0aW5ncy5zaG93X21hcmtlcnMpIHsKICAgICAgICAgICAgICAgIGNhc2UgJ25vbmUnOgogICAgICAgICAgICAgICAgICAgIHNldHRpbmdzLmN1cnJlbnRfbGV2ZWxfbWFya2VycyA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5idXJuX21hcmtlcnMgPSAnaGlkZSc7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdjdXJyJzoKICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5jdXJyZW50X2xldmVsX21hcmtlcnMgPSAncmt2JzsKICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5idXJuX21hcmtlcnMgPSAnaGlkZSc7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlICdidXJuJzoKICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5jdXJyZW50X2xldmVsX21hcmtlcnMgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuYnVybl9tYXJrZXJzID0gJ3Nob3cnOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnYm90aCc6CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuY3VycmVudF9sZXZlbF9tYXJrZXJzID0gJ3Jrdic7CiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MuYnVybl9tYXJrZXJzID0gJ3Nob3cnOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRlbGV0ZSBzZXR0aW5ncy5zaG93X21hcmtlcnM7CiAgICAgICAgfSk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN0YXJ0dXAKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gc3RhcnR1cCgpIHsKICAgICAgICBpbnN0YWxsX2NzcygpOwogICAgICAgIGluc3RhbGxfbWVudV9saW5rKCk7CiAgICAgICAgcGxhY2VfdGltZWxpbmUodHJ1ZSAvKiBmaXJzdF90aW1lICovKTsKICAgICAgICBmZXRjaF9hbmRfdXBkYXRlKCk7CiAgICAgICAgc3RhcnRfcmVmcmVzaF90aW1lcigpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSW5zdGFsbCBhIGxpbmsgdG8gdGhlIHNldHRpbmdzIGluIHRoZSBtZW51LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBpbnN0YWxsX21lbnVfbGluaygpCiAgICB7CiAgICAgICAgd2tvZi5NZW51Lmluc2VydF9zY3JpcHRfbGluayh7CiAgICAgICAgICAgIG5hbWU6ICd0aW1lbGluZScsCiAgICAgICAgICAgIHN1Ym1lbnU6ICdTZXR0aW5ncycsCiAgICAgICAgICAgIHRpdGxlOiAnVWx0aW1hdGUgVGltZWxpbmUnLAogICAgICAgICAgICBvbl9jbGljazogb3Blbl9zZXR0aW5ncwogICAgICAgIH0pOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gVG9wLWxldmVsIEhUTUwgZm9yIHRoZSBzY3JpcHQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciB0aW1lbGluZV9odG1sID0KICAgICAgICAnPHNlY3Rpb24gaWQ9InRpbWVsaW5lIj4nKwogICAgICAgICcgIDxoNCBjbGFzcz0ibm9fbWluIj5SZXZpZXdzIFRpbWVsaW5lPC9oND4nKwogICAgICAgICcgIDxpIGNsYXNzPSJsaW5rIG9wZW4gbm9zZWxlY3Qgbm9fbWluIGZhIGZhLWNoZXZyb24tdXAiIHRpdGxlPSJPcGVuIHRoZSB0aW1lbGluZSI+PC9pPicrCiAgICAgICAgJyAgPGkgY2xhc3M9ImxpbmsgbWluaW1pemUgbm9zZWxlY3QgZmEgZmEtY2hldnJvbi1kb3duIiB0aXRsZT0iTWluaW1pemUgdGhlIHRpbWVsaW5lIj48L2k+JysKICAgICAgICAnICA8aSBjbGFzcz0ibGluayByZWZyZXNoIG5vc2VsZWN0IGZhIGZhLXJlZnJlc2giIHRpdGxlPSJSZWZyZXNoIj48L2k+JysKICAgICAgICAnICA8aSBjbGFzcz0ibGluayBzZXR0aW5ncyBub3NlbGVjdCBmYSBmYS1nZWFyIiB0aXRsZT0iQ2hhbmdlIHRpbWVsaW5lIHNldHRpbmdzIj48L2k+JysKICAgICAgICAnICA8c3BhbiBjbGFzcz0iYmFyX3N0eWxlIGhpZGRlbiI+PGxhYmVsPkJhciBTdHlsZTogPC9sYWJlbD48c2VsZWN0PicrCiAgICAgICAgJyAgICA8b3B0aW9uIG5hbWU9ImNvdW50Ij5SZXZpZXcgQ291bnQ8L29wdGlvbj4nKwogICAgICAgICcgICAgPG9wdGlvbiBuYW1lPSJpdGVtX3R5cGUiPkl0ZW0gVHlwZTwvb3B0aW9uPicrCiAgICAgICAgJyAgICA8b3B0aW9uIG5hbWU9InNyc19zdGFnZSI+U1JTIExldmVsPC9vcHRpb24+JysKICAgICAgICAnICAgIDxvcHRpb24gbmFtZT0ibGV2ZWwiPkxldmVsPC9vcHRpb24+JysKICAgICAgICAnICA8L3NlbGVjdD48L3NwYW4+JysKICAgICAgICAnICA8Zm9ybSBjbGFzcz0icmFuZ2VfZm9ybSIgY2xhc3M9ImhpZGRlbiI+PGxhYmVsPjxzcGFuIGNsYXNzPSJyYW5nZV9yZXZpZXdzIj4wPC9zcGFuPiByZXZpZXdzIGluIDxzcGFuIGNsYXNzPSJyYW5nZV9kYXlzIj4zIGRheXM8L3NwYW4+IDxpbnB1dCBjbGFzcz0icmFuZ2VfaW5wdXQiIHR5cGU9InJhbmdlIiBtaW49IjAuMjUiIG1heD0iNyIgdmFsdWU9IjMiIHN0ZXA9IjAuMjUiIG5hbWU9InJhbmdlX2lucHV0Ij48L2xhYmVsPjwvZm9ybT48YnIgY2xlYXI9ImFsbCIgY2xhc3M9Im5vX21pbiI+JysKICAgICAgICAnICA8ZGl2IGNsYXNzPSJncmFwaF93cmFwIj4nKwogICAgICAgICcgICAgPGRpdiBjbGFzcz0icmV2aWV3X2luZm8gaGlkZGVuIj48ZGl2IGNsYXNzPSJpbm5lciI+PC9kaXY+PC9kaXY+JysKICAgICAgICAnICAgIDxkaXYgY2xhc3M9ImdyYXBoX3BhbmVsIj48L2Rpdj4nKwogICAgICAgICcgIDwvZGl2PicrCiAgICAgICAgJzwvc2VjdGlvbj4nOwoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSW5zdGFsbCB0aGUgc3R5bGUgc2hlZXQgZm9yIHRoZSBzY3JpcHQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGluc3RhbGxfY3NzKCkgewogICAgICAgIHZhciB0aW1lbGluZV9jc3MgPQogICAgICAgICAgICAnLm5vc2VsZWN0IHstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTsgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lOyAta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTsgLW1vei11c2VyLXNlbGVjdDpub25lOyAtbXMtdXNlci1zZWxlY3Q6bm9uZTsgdXNlci1zZWxlY3Q6bm9uZTsgY3Vyc29yOmRlZmF1bHQ7fScrCiAgICAgICAgICAgICcuZGFzaGJvYXJkIHNlY3Rpb24ucmV2aWV3LXN0YXR1cyB7Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmZmZmY7fScrCiAgICAgICAgICAgICcuZGFzaGJvYXJkIHNlY3Rpb24ucmV2aWV3LXN0YXR1cyB1bCBsaSB0aW1lIHt3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdy14OiBoaWRkZW47IGhlaWdodDogMS41ZW07IG1hcmdpbi1ib3R0b206IDA7fScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIHttYXJnaW4tYm90dG9tOiAwcHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDRkNGQ0O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lID4gaDQge2NsZWFyOm5vbmU7IGZsb2F0OmxlZnQ7IGhlaWdodDoyMHB4OyBtYXJnaW4tdG9wOjBweDsgbWFyZ2luLWJvdHRvbTo0cHg7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbWFyZ2luLXJpZ2h0OjEycHg7fScrCiAgICAgICAgICAgICdAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsjdGltZWxpbmUgaDQge2Rpc3BsYXk6IG5vbmU7fX0nKwogICAgICAgICAgICAnI3RpbWVsaW5lID4gLmxpbmsge2NvbG9yOnJnYmEoMCwwLDAsMC4zKTsgZm9udC1zaXplOjEuMWVtOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgY3Vyc29yOnBvaW50ZXI7IG1hcmdpbi1yaWdodDo0cHg7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgPiAubGluazpob3ZlciB7Y29sb3I6cmdiYSgyNTUsMzEsMzEsMC41KTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZTpub3QoLm1pbikgPiAubGluay5vcGVuLCAjdGltZWxpbmUubWluID4gOm5vdCgubm9fbWluKSB7ZGlzcGxheTpub25lO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lID4gLnJhbmdlX2Zvcm0ge2Zsb2F0OnJpZ2h0OyBtYXJnaW4tYm90dG9tOjBweDsgdGV4dC1hbGlnbjpyaWdodDt9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLmJhcl9zdHlsZSBsYWJlbCB7ZGlzcGxheTppbmxpbmU7IG1hcmdpbi1sZWZ0OjgwcHg7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLmJhcl9zdHlsZSBzZWxlY3Qge2hlaWdodDphdXRvOyBwYWRkaW5nOjA7IHdpZHRoOmF1dG87IHZlcnRpY2FsLWFsaWduOmJhc2VsaW5lOyBiYWNrZ3JvdW5kLWNvbG9yOiNlM2UzZTM7IGJvcmRlcjoxcHggc29saWQgI2FhYTsgYm9yZGVyLXJhZGl1czoycHg7fScrCiAgICAgICAgICAgICdAbWVkaWEgKG1heC13aWR0aDogOTc5cHgpIHsnKwogICAgICAgICAgICAnICAjdGltZWxpbmUgLmJhcl9zdHlsZSB7ZmxvYXQ6bGVmdDsgY2xlYXI6Ym90aDsgbWFyZ2luLWxlZnQ6aW5oZXJpdDt9JysKICAgICAgICAgICAgJyAgI3RpbWVsaW5lIC5iYXJfc3R5bGUgbGFiZWwge21hcmdpbi1sZWZ0OmluaGVyaXQ7fScrCiAgICAgICAgICAgICd9JysKICAgICAgICAgICAgJ0BtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyN0aW1lbGluZSAubGluayB7ZmxvYXQ6bGVmdDt9fScrCgogICAgICAgICAgICAnI3RpbWVsaW5lID4gLmdyYXBoX3BhbmVsIGRpdiwgI3RpbWVsaW5lID4gLmdyYXBoX3BhbmVsIGNhbnZhcyB7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSA+IC5ncmFwaF9wYW5lbCBkaXYge2JvcmRlcjoxcHggc29saWQgI2Q0ZDRkNDt9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLmdyYXBoX3dyYXAge3Bvc2l0aW9uOnJlbGF0aXZlO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8ge3Bvc2l0aW9uOmFic29sdXRlOyBwYWRkaW5nLWJvdHRvbToxNTBweDsgei1pbmRleDo1O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuaW5uZXIge3BhZGRpbmc6NHB4IDhweCA4cHggOHB4OyBjb2xvcjojZWVlZWVlOyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KTsgYm9yZGVyLXJhZGl1czo0cHg7IGZvbnQtd2VpZ2h0OmJvbGQ7IHotaW5kZXg6MjsgYm94LXNpemluZzpib3JkZXItYm94O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuc3VtbWFyeSB7Zm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXplOjEzcHg7IGRpc3BsYXk6aW5saW5lLWJsb2NrO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuc3VtbWFyeSBkaXYge3BhZGRpbmc6MHB4IDhweDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLnN1bW1hcnkgLmluZGVudCB7cGFkZGluZzowOyBtYXJnaW4tYm90dG9tOjhweDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLnN1bW1hcnkgLmluZGVudDpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOjA7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC5maXhlZCB7dGV4dC1hbGlnbjpyaWdodDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLnN1bW1hcnkgLnRvdCB7Y29sb3I6IzAwMDAwMDsgYmFja2dyb3VuZC1jb2xvcjojZWZlZmVmOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZmVmZWYsICNjZmNmY2YpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbyAuaXRlbXNfd3JhcCB7cG9zaXRpb246cmVsYXRpdmU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnN1bW1hcnkgLmZpeGVkIHtkaXNwbGF5OmlubGluZS1ibG9jazsgcG9zaXRpb246cmVsYXRpdmU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC5pbmRlbnQ+ZGl2IHtkaXNwbGF5Om5vbmV9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0iaXRlbV90eXBlIl0gLnN1bW1hcnkgLml0ZW1fdHlwZSB7ZGlzcGxheTpibG9jazt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJzcnNfc3RhZ2UiXSAuc3VtbWFyeSAuc3JzX3N0YWdlIHtkaXNwbGF5OmJsb2NrO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9ImxldmVsIl0gLnN1bW1hcnkgLmxldmVsIHtkaXNwbGF5OmJsb2NrO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJjb3VudCJdIC5pdGVtX2xpc3QgPiBsaSB7YmFja2dyb3VuZC1jb2xvcjojZWVlOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZmVmZWYsICNjZmNmY2YpOyBjb2xvcjojMDAwO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9ImNvdW50Il0gLml0ZW1fbGlzdCA+IGxpIHN2ZyB7c3Ryb2tlOiMwMDA7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0iaXRlbV90eXBlIl0gLnJhZCB7YmFja2dyb3VuZC1jb2xvcjojMDA5NmU3OyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwYWYsICMwMDkzZGQpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9Iml0ZW1fdHlwZSJdIC5rYW4ge2JhY2tncm91bmQtY29sb3I6I2VlMDBhMTsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjBhLCAjZGQwMDkzKTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJpdGVtX3R5cGUiXSAudm9jIHtiYWNrZ3JvdW5kLWNvbG9yOiM5ODAwZTg7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2EwZiwgIzkzMDBkZCk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ic3JzX3N0YWdlIl0gLmFwcHIge2JhY2tncm91bmQtY29sb3I6I2RkMDA5MzsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmYwMGFhLCAjYjMwMDc3KTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJzcnNfc3RhZ2UiXSAuZ3VydSB7YmFja2dyb3VuZC1jb2xvcjojODgyZDllOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNhYTM4YzcsICM2NjIyNzcpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9InNyc19zdGFnZSJdIC5tYXN0IHtiYWNrZ3JvdW5kLWNvbG9yOiMyOTRkZGI7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzUxNmVlMSwgIzIxNDJjNCk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ic3JzX3N0YWdlIl0gLmVubGkge2JhY2tncm91bmQtY29sb3I6IzAwOTNkZDsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDBhYWZmLCAjMDA3N2IzKTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJzcnNfc3RhZ2UiXSAuYnVybiB7YmFja2dyb3VuZC1jb2xvcjojNDM0MzQzOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0MzQzNDMsICMxYTFhMWEpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9InNyc19zdGFnZSJdIGxpLmJ1cm4ge2JvcmRlcjoxcHggc29saWQgIzc3Nzt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJsZXZlbCJdIC5sdmxncnAwIHtiYWNrZ3JvdW5kLWNvbG9yOiM1ZWI2ZTg7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzVlYjZlOCwgIzFkOGFjOSk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ibGV2ZWwiXSAubHZsZ3JwMSB7YmFja2dyb3VuZC1jb2xvcjojZTI1ZWJjOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlMjVlYmMsICNjMjI0OTUpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9ImxldmVsIl0gLmx2bGdycDIge2JhY2tncm91bmQtY29sb3I6I2FmNzljMzsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYWY3OWMzLCAjODc0NzllKTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJsZXZlbCJdIC5sdmxncnAzIHtiYWNrZ3JvdW5kLWNvbG9yOiM3NjhjZTc7IGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzc2OGNlNywgIzI2NGFkOSk7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvW2RhdGEtbW9kZT0ibGV2ZWwiXSAubHZsZ3JwNCB7YmFja2dyb3VuZC1jb2xvcjojNWU1ZTY0OyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM1ZTVlNjQsICMzMTMxMzUpO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5yZXZpZXdfaW5mb1tkYXRhLW1vZGU9ImxldmVsIl0gLmx2bGdycDUge2JhY2tncm91bmQtY29sb3I6I2Y1YzY2NzsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjVjNjY3LCAjZjBhNTBmKTsgY29sb3I6IzMzM30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm9bZGF0YS1tb2RlPSJsZXZlbCJdIC5sdmxncnA1IHN2ZyB7c3Ryb2tlOiMzMzN9JysKCiAgICAgICAgICAgICcjdGltZWxpbmUgLnJldmlld19pbmZvIC5zdW1tYXJ5IC5pbmRlbnQ+LmN1ciB7ZGlzcGxheTpibG9jazsgZm9udC1zdHlsZTppdGFsaWM7IGNvbG9yOiMwMDAwMDA7IGJhY2tncm91bmQtY29sb3I6I2ZmZmY4ODsgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmFhLCAjZWVlZTc3KTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gLnN1bW1hcnkgLmluZGVudD4uYnVyIHtkaXNwbGF5OmJsb2NrOyBmb250LXN0eWxlOml0YWxpYzsgY29sb3I6I2ZmZmZmZjsgYmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOyBiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0NDQ0NDQsICMwMDAwMDApO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSAuaXRlbV9saXN0IHttYXJnaW46IDhweCAwIDAgMDsgcGFkZGluZzogMHB4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5pdGVtX2xpc3QgPiBsaSB7cGFkZGluZzowIDNweDsgbWFyZ2luOjFweCAxcHg7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBib3JkZXItcmFkaXVzOjRweDsgZm9udC1zaXplOjE0cHg7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgY3Vyc29yOmRlZmF1bHQ7IGJveC1zaXppbmc6Ym9yZGVyLWJveDsgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDApO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZVtkYXRhLWRldGFpbD0iZnVsbCJdIC5pdGVtX2xpc3QgPiBsaSB7Y3Vyc29yOnBvaW50ZXI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLml0ZW1faW5mbyB7cG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6IzMzMzsgYm9yZGVyOjhweCBzb2xpZCByZ2JhKDAsMCwwLDAuNyk7IGJvcmRlci1yYWRpdXM6NnB4OyBsZWZ0OjRweDsgcGFkZGluZzowIDhweDsgei1pbmRleDoxMDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAuaXRlbV9pbmZvIC5pdGVtIHtmb250LXNpemU6MmVtOyBsaW5lLWhlaWdodDoxLjJlbTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAucmV2aWV3X2luZm8gd2stY2hhcmFjdGVyLWltYWdlIHstLWNvbG9yLXRleHQ6I2ZmZjtkaXNwbGF5OmlubGluZS1ibG9jazt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSAuaXRlbV9saXN0IHdrLWNoYXJhY3Rlci1pbWFnZSB7d2lkdGg6MWVtOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpOyBzdHJva2Utd2lkdGg6ODU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgLml0ZW1faW5mbyAuaXRlbSB3ay1jaGFyYWN0ZXItaW1hZ2Uge3dpZHRoOjI4cHg7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKDJweCk7fScrCgogICAgICAgICAgICAnI3RpbWVsaW5lIC5kZXRhaWxfYnV0dG9ucyB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOnRvcDsgbWFyZ2luLWxlZnQ6OHB4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIC5kZXRhaWxfYnV0dG9ucyBidXR0b24ge2Rpc3BsYXk6YmxvY2s7IHdpZHRoOjEzMHB4OyBwYWRkaW5nOjA7IG1hcmdpbi1ib3R0b206MnB4OyBjb2xvcjojMDAwMDAwO30nKwoKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcge292ZXJmbG93OmhpZGRlbjt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmdyaWQge3BvaW50ZXItZXZlbnRzOm5vbmU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ncmlkIHBhdGgge2ZpbGw6bm9uZTtzdHJva2U6YmxhY2s7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3NoYXBlLXJlbmRlcmluZzpjcmlzcEVkZ2VzO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuZ3JpZCAubGlnaHQge3N0cm9rZTojZmZmZmZmO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuZ3JpZCAuc2hhZG93IHtzdHJva2U6I2Q1ZDVkNTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmdyaWQgLm1ham9yIHtvcGFjaXR5OjAuMTU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ncmlkIC5taW5vciB7b3BhY2l0eTowLjA1O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuZ3JpZCAucmVkdGljIHtzdHJva2U6I2YyMjtvcGFjaXR5OjE7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ncmlkIC5tYXgge3N0cm9rZTojZjIyO29wYWNpdHk6MC4yO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuYm91bmRhcnkge2ZpbGw6IzAwMDtvcGFjaXR5OjA7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5yZXNpemVfZ3JpcCB7ZmlsbDpub25lO2N1cnNvcjpyb3ctcmVzaXplO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAucmVzaXplX2dyaXAgLmxpZ2h0IHtzdHJva2U6I2ZmZmZmZjt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLnJlc2l6ZV9ncmlwIC5zaGFkb3cge3N0cm9rZTojYmJiO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyB0ZXh0LnJlZHRpYyB7ZmlsbDojZjIyO2ZvbnQtd2VpZ2h0OmJvbGQ7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5sYWJlbC14IHRleHQge3RleHQtYW5jaG9yOnN0YXJ0O2ZvbnQtc2l6ZTowLjhlbTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmxhYmVsLXkgdGV4dCB7dGV4dC1hbmNob3I6ZW5kO2ZvbnQtc2l6ZTowLjhlbTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgdGV4dCB7cG9pbnRlci1ldmVudHM6bm9uZTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmJhcnMgcmVjdCB7c3Ryb2tlOm5vbmU7c2hhcGUtcmVuZGVyaW5nOmNyaXNwRWRnZXM7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5iYXIub3ZlcmxheSB7b3BhY2l0eTowO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuYmtnZCB7ZmlsbDojZjdmN2Y3O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAucmFkIHtmaWxsOiMwMGExZjE7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5rYW4ge2ZpbGw6I2YxMDBhMTt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLnZvYyB7ZmlsbDojYTEwMGYxO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuc3VtIHtmaWxsOiMyOTRkZGI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5hcHByIHtmaWxsOiNkZDAwOTM7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5ndXJ1IHtmaWxsOiM4ODJkOWU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5tYXN0IHtmaWxsOiMyOTRkZGI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5lbmxpIHtmaWxsOiMwMDkzZGQ7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5idXJuIHtmaWxsOiM0MzQzNDM7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5jb3VudCB7ZmlsbDojNzc4YWQ4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMCB7ZmlsbDojNWViNmU4O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMSB7ZmlsbDojZTI1ZWJjO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMiB7ZmlsbDojYWY3OWMzO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwMyB7ZmlsbDojNzY4Y2U3O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwNCB7ZmlsbDojNWU1ZTY0O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAubHZsZ3JwNSB7ZmlsbDojZjVjNjY3O30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuYmFycyAuY3VyIHtmaWxsOiNmZmZmZmY7b3BhY2l0eTowLjY7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5iYXJzIC5idXIge2ZpbGw6IzAwMDAwMDtvcGFjaXR5OjAuNDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLm1hcmtlcnMge3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjU7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5tYXJrZXJzIC5idXIge2ZpbGw6IzAwMDAwMDt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLm1hcmtlcnMgLmN1ciB7ZmlsbDojZmZmZmZmO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2ZyAuaGlnaGxpZ2h0IC5ib3VuZGFyeSB7Y3Vyc29yOnBvaW50ZXI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmVbZGF0YS1kZXRhaWw9Im5vbmUiXSAuaGlnaGxpZ2h0IC5ib3VuZGFyeSB7Y3Vyc29yOmF1dG87fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5oaWdobGlnaHQgLm1hcmtlciB7cG9pbnRlci1ldmVudHM6bm9uZTtzaGFwZS1yZW5kZXJpbmc6Y3Jpc3BFZGdlczt9JysKICAgICAgICAgICAgJyN0aW1lbGluZSBzdmcgLmhpZ2hsaWdodCBwYXRoLm1hcmtlciB7ZmlsbDojMDBhMWYxOyBzdHJva2U6IzAwYTFmMTsgc3Ryb2tlLXdpZHRoOjI7fScrCiAgICAgICAgICAgICcjdGltZWxpbmUgc3ZnIC5oaWdobGlnaHQgcmVjdC5tYXJrZXIge2ZpbGw6cmdiYSgwLDE2MSwyNDEsMC4xKTsgc3Ryb2tlOiMwMGExZjE7IHN0cm9rZS13aWR0aDoxO30nKwogICAgICAgICAgICAnI3RpbWVsaW5lIHN2Zy5saW5rOmhvdmVyICoge2ZpbGw6cmdiKDI1NSwzMSwzMSk7fScrCiAgICAgICAgICAgICdib2R5Lm11dGVfcG9wb3ZlciAucG9wb3Zlci5zcnMge2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30nKwogICAgICAgICAgICAnJzsKCiAgICAgICAgJCgnaGVhZCcpLmFwcGVuZCgnPHN0eWxlPicrdGltZWxpbmVfY3NzKyc8L3N0eWxlPicpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBQbGFjZSB0aGUgdGltZWxpbmUgb24gdGhlIGRhc2hib2FyZCwgb3IgYWRqdXN0IGl0cyBsb2NhdGlvbiBvbiB0aGUgcGFnZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcGxhY2VfdGltZWxpbmUoZmlyc3RfdGltZSkgewogICAgICAgIHZhciB0aW1lbGluZSA9IChmaXJzdF90aW1lID8gJCh0aW1lbGluZV9odG1sKSA6ICQoJyN0aW1lbGluZScpKTsKICAgICAgICAkKCcucHJvZ3Jlc3MtYW5kLWZvcmVjYXN0JykuYmVmb3JlKHRpbWVsaW5lKTsKICAgICAgICBpZiAoZmlyc3RfdGltZSkgewogICAgICAgICAgICAvLyBJbml0aWFsaXplIFVJIGZyb20gc2V0dGluZ3MKICAgICAgICAgICAgZ3JhcGguZWxlbSA9IHRpbWVsaW5lLmZpbmQoJy5ncmFwaF9wYW5lbCcpOwogICAgICAgICAgICBncmFwaC54X2F4aXMud2lkdGggPSBncmFwaC5lbGVtLndpZHRoKCkgLSBncmFwaC5tYXJnaW4ubGVmdDsKICAgICAgICAgICAgZ3JhcGgueV9heGlzLmhlaWdodCA9IHNldHRpbmdzLmdyYXBoX2hlaWdodCAtIChncmFwaC5tYXJnaW4udG9wICsgZ3JhcGgubWFyZ2luLmJvdHRvbSk7CiAgICAgICAgICAgIHVwZGF0ZV9taW5pbWl6ZSgpOwogICAgICAgICAgICBpbml0X3VpKCk7CgogICAgICAgICAgICAvLyBJbnN0YWxsIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5saW5rLm9wZW4sIC5saW5rLm1pbmltaXplJykub24oJ2NsaWNrJywgdG9nZ2xlX21pbmltaXplKTsKICAgICAgICAgICAgdGltZWxpbmUuZmluZCgnLmxpbmsucmVmcmVzaCcpLm9uKCdjbGljaycsIGZldGNoX2FuZF91cGRhdGUpOwogICAgICAgICAgICB0aW1lbGluZS5maW5kKCcubGluay5zZXR0aW5ncycpLm9uKCdjbGljaycsIG9wZW5fc2V0dGluZ3MpOwogICAgICAgICAgICB0aW1lbGluZS5maW5kKCcuYmFyX3N0eWxlIHNlbGVjdCcpLm9uKCdjaGFuZ2UnLCBiYXJfc3R5bGVfY2hhbmdlZCk7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yYW5nZV9pbnB1dCcpLm9uKCdpbnB1dCBjaGFuZ2UnLCBkYXlzX2NoYW5nZWQpOwogICAgICAgICAgICB0aW1lbGluZS5maW5kKCcucmV2aWV3X2luZm8+LmlubmVyJykub24oJ21vdXNlZW50ZXInLCAnLml0ZW1fbGlzdCA+IGxpJywgaXRlbV9ob3Zlcik7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yZXZpZXdfaW5mbz4uaW5uZXInKS5vbignbW91c2VsZWF2ZScsICcuaXRlbV9saXN0JywgaXRlbV9ob3Zlcik7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yZXZpZXdfaW5mbz4uaW5uZXInKS5vbignY2xpY2snLCAnLmRldGFpbF9idXR0b25zIGJ1dHRvbicsIGRldGFpbF9idXR0b25fY2xpY2tlZCk7CiAgICAgICAgICAgIHRpbWVsaW5lLmZpbmQoJy5yZXZpZXdfaW5mbz4uaW5uZXInKS5vbignY2xpY2snLCBmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KTsKICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHdpbmRvd19yZXNpemVkKTsKICAgICAgICB9CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFRvZ2dsZSB3aGV0aGVyIHRoZSB0aW1lbGluZSBpcyBtaW5pbWl6ZWQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHRvZ2dsZV9taW5pbWl6ZSgpIHsKICAgICAgICBzZXR0aW5ncy5taW5pbWl6ZWQgPSAhc2V0dGluZ3MubWluaW1pemVkOwogICAgICAgIHVwZGF0ZV9taW5pbWl6ZSgpOwogICAgICAgIHNhdmVfc2V0dGluZ3MoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSGlkZSBvciB1bmhpZGUgdGhlIHRpbWVsaW5lIHdoZW4gdGhlIHVzZXIgbWluaW1pemVzL3Jlc3RvcmVzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB1cGRhdGVfbWluaW1pemUoKSB7CiAgICAgICAgdmFyIHRpbWVsaW5lID0gJCgnI3RpbWVsaW5lJyk7CiAgICAgICAgdmFyIGlzX21pbiA9IHRpbWVsaW5lLmhhc0NsYXNzKCdtaW4nKTsKICAgICAgICBpZiAoc2V0dGluZ3MubWluaW1pemVkICYmICFpc19taW4pIHsKICAgICAgICAgICAgdGltZWxpbmUuYWRkQ2xhc3MoJ21pbicpOwogICAgICAgIH0gZWxzZSBpZiAoIXNldHRpbmdzLm1pbmltaXplZCAmJiBpc19taW4pIHsKICAgICAgICAgICAgdGltZWxpbmUucmVtb3ZlQ2xhc3MoJ21pbicpOwogICAgICAgIH0KICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gVXBkYXRlIHRoZSB0aW1lbGluZSBhZnRlciB0aGUgdXNlciBjaGFuZ2VzIHRoZSBudW1iZXIgb2YgZGF5cyB0byBkaXNwbGF5LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBkYXlzX2NoYW5nZWQoKSB7CiAgICAgICAgdmFyIGRheXMgPSBOdW1iZXIoJCgnI3RpbWVsaW5lIC5yYW5nZV9pbnB1dCcpLnZhbCgpKTsKICAgICAgICBpZiAoZGF5cyA9PT0gc2V0dGluZ3MuZGF5cykgcmV0dXJuOwogICAgICAgIHNldHRpbmdzLmRheXMgPSBkYXlzOwogICAgICAgIHVwZGF0ZV9zbGlkZXJfZGF5cygpOwogICAgICAgIGJ1bmRsZV9ieV90aW1lc2xvdCgpOwogICAgICAgIHVwZGF0ZV9zbGlkZXJfcmV2aWV3cygpOwogICAgICAgIGRyYXdfdGltZWxpbmUoKTsKICAgICAgICBzYXZlX3NldHRpbmdzKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEhhbmRsZXIgZm9yIHdoZW4gdXNlciBjaGFuZ2VzIHRoZSBCYXIgU3R5bGUuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGJhcl9zdHlsZV9jaGFuZ2VkKCkgewogICAgICAgIHNldHRpbmdzLmJhcl9zdHlsZSA9ICQoJyN0aW1lbGluZSAuYmFyX3N0eWxlIHNlbGVjdCA6c2VsZWN0ZWQnKS5hdHRyKCduYW1lJyk7CiAgICAgICAgZHJhd190aW1lbGluZSgpOwogICAgICAgIHNhdmVfc2V0dGluZ3MoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSGFuZGxlciBmb3Igd2hlbiB1c2VyIGNsaWNrcyAnU2F2ZScgaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gc2V0dGluZ3Nfc2F2ZWQoKSB7CiAgICAgICAgc2V0dGluZ3MgPSB3a29mLnNldHRpbmdzLnRpbWVsaW5lOwogICAgICAgIHBsYWNlX3RpbWVsaW5lKGZhbHNlIC8qIGZpcnN0X3RpbWUgKi8pOwogICAgICAgIGluaXRfdWkoKTsKICAgICAgICBidW5kbGVfYnlfdGltZXNsb3QoKTsKICAgICAgICBkcmF3X3RpbWVsaW5lKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluaXRpYWxpemUgdGhlIHVzZXIgaW50ZXJmYWNlLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBpbml0X3VpKCkgewogICAgICAgIGluaXRfc2xpZGVyKCk7CiAgICAgICAgaWYgKHNldHRpbmdzLnNob3dfYmFyX3N0eWxlX2Ryb3Bkb3duKSB7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuYmFyX3N0eWxlJykucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuYmFyX3N0eWxlJykuYWRkQ2xhc3MoJ2hpZGRlbicpOwogICAgICAgIH0KICAgICAgICAkKCcjdGltZWxpbmUgLmJhcl9zdHlsZSBvcHRpb25bbmFtZT0iJytzZXR0aW5ncy5iYXJfc3R5bGUrJyJdJykucHJvcCgnc2VsZWN0ZWQnLHRydWUpOwogICAgICAgICQoJyN0aW1lbGluZScpLmF0dHIoJ2RhdGEtZGV0YWlsJywgc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyk7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbycpLmF0dHIoJ2RhdGEtbW9kZScsIHNldHRpbmdzLnJldmlld19kZXRhaWxzX3N1bW1hcnkpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBJbml0aWFsaXplIHRoZSBzY2FsZSBzbGlkZXIuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGluaXRfc2xpZGVyKCkgewogICAgICAgIHZhciByYW5nZSA9ICQoJyN0aW1lbGluZSAucmFuZ2VfaW5wdXQnKTsKICAgICAgICBpZiAoc2V0dGluZ3MuZGF5cyA+IHNldHRpbmdzLm1heF9kYXlzKSB7CiAgICAgICAgICAgIHNldHRpbmdzLmRheXMgPSBzZXR0aW5ncy5tYXhfZGF5czsKICAgICAgICAgICAgc2F2ZV9zZXR0aW5ncygpOwogICAgICAgIH0KICAgICAgICByYW5nZS5hdHRyKCdtYXgnLCBzZXR0aW5ncy5tYXhfZGF5cyk7CiAgICAgICAgcmFuZ2UuYXR0cigndmFsdWUnLCBzZXR0aW5ncy5kYXlzKTsKICAgICAgICB1cGRhdGVfc2xpZGVyX2RheXMoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gVXBkYXRlIHRoZSAncmV2aWV3cycgdGV4dCBvZiB0aGUgc2NhbGUgc2xpZGVyLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB1cGRhdGVfc2xpZGVyX3Jldmlld3MoKSB7CiAgICAgICAgdmFyIHJldmlld19jb3VudCA9ICQoJyN0aW1lbGluZSAucmFuZ2VfcmV2aWV3cycpOwogICAgICAgIHJldmlld19jb3VudC50ZXh0KGdyYXBoLnRvdGFsX3Jldmlld3MpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBVcGRhdGUgdGhlICdkYXlzJyB0ZXh0IG9mIHRoZSBzY2FsZSBzbGlkZXIuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHVwZGF0ZV9zbGlkZXJfZGF5cygpIHsKICAgICAgICB2YXIgZGF5cyA9IHNldHRpbmdzLmRheXM7CiAgICAgICAgdmFyIHBlcmlvZCA9ICQoJyN0aW1lbGluZSAucmFuZ2VfZGF5cycpOwogICAgICAgIGlmIChkYXlzIDw9IDEpIHsKICAgICAgICAgICAgcGVyaW9kLnRleHQoKGRheXMqMjQpKycgaG91cnMnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwZXJpb2QudGV4dChkYXlzLnRvRml4ZWQoMikrJyBkYXlzJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBTYXZlIHRoZSBzY3JpcHQgc2V0dGluZ3MgKGFmdGVyIGEgNTAwbXMgZGVsYXkpLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgc2F2ZV9kZWxheV90aW1lcjsKICAgIGZ1bmN0aW9uIHNhdmVfc2V0dGluZ3MoKSB7CiAgICAgICAgaWYgKHNhdmVfZGVsYXlfdGltZXIgIT09IHVuZGVmaW5lZCkgY2xlYXJUaW1lb3V0KHNhdmVfZGVsYXlfdGltZXIpOwogICAgICAgIHNhdmVfZGVsYXlfdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHdrb2YuU2V0dGluZ3Muc2F2ZSgndGltZWxpbmUnKTsKICAgICAgICB9LCA1MDApOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBIYW5kbGVyIGZvciByZXNpemluZyB0aGUgcGFuZWwgYnkgZHJhZ2dpbmcgdGhlIGJvdHRvbSBvZiB0aGUgZ3JhcGguCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcmVzaXplX3BhbmVsKGUpIHsKICAgICAgICBpZiAoZS5idXR0b24gIT09IDApIHJldHVybjsKICAgICAgICB2YXIgcGFuZWwgPSAkKCcjdGltZWxpbmUgPiAuZ3JhcGhfcGFuZWwnKTsKICAgICAgICB2YXIgc3RhcnRfeSA9IGUucGFnZVk7CiAgICAgICAgdmFyIHN0YXJ0X2hlaWdodCA9IHNldHRpbmdzLmdyYXBoX2hlaWdodDsKICAgICAgICAkKCdib2R5JykKICAgICAgICAuYWRkQ2xhc3MoJ211dGVfcG9wb3ZlcicpCiAgICAgICAgLm9uKCdtb3VzZW1vdmUudGltZWxpbmVfcmVzaXplIHRvdWNobW92ZS50aW1lbGluZV9yZXNpemUnLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgdmFyIGhlaWdodCA9IHN0YXJ0X2hlaWdodCArIChlLnBhZ2VZIC0gc3RhcnRfeSk7CiAgICAgICAgICAgIGlmIChoZWlnaHQgPCBncmFwaC55X2F4aXMubWluX2hlaWdodCkgaGVpZ2h0ID0gZ3JhcGgueV9heGlzLm1pbl9oZWlnaHQ7CiAgICAgICAgICAgIGlmIChoZWlnaHQgPiBncmFwaC55X2F4aXMubWF4X2hlaWdodCkgaGVpZ2h0ID0gZ3JhcGgueV9heGlzLm1heF9oZWlnaHQ7CiAgICAgICAgICAgIHNldHRpbmdzLmdyYXBoX2hlaWdodCA9IGhlaWdodDsKICAgICAgICAgICAgZ3JhcGgueV9heGlzLmhlaWdodCA9IGhlaWdodCAtIChncmFwaC5tYXJnaW4udG9wICsgZ3JhcGgubWFyZ2luLmJvdHRvbSk7CiAgICAgICAgICAgIGRyYXdfdGltZWxpbmUoKTsKICAgICAgICB9KQogICAgICAgIC5vbignbW91c2V1cC50aW1lbGluZV9yZXNpemUgdG91Y2hlbmQudGltZWxpbmVfcmVzaXplJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgIHNhdmVfc2V0dGluZ3MoKTsKICAgICAgICAgICAgJCgnYm9keScpLm9mZignLnRpbWVsaW5lX3Jlc2l6ZScpLnJlbW92ZUNsYXNzKCdtdXRlX3BvcG92ZXInKTsKICAgICAgICB9KTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgaG92ZXJpbmcgb3ZlciB0aGUgdGltZSBzY2FsZSBmb3IgaGlnaGxpZ2h0aW5nLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBoaWdobGlnaHQgPSB7c3RhcnQ6MCwgZW5kOjAsIGRyYWdnaW5nOmZhbHNlLCBoaWdobGlnaHRlZDogZmFsc2V9OwogICAgZnVuY3Rpb24gaGlnaGxpZ2h0X2hvdmVyKGUpIHsKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ25vbmUnKSByZXR1cm47CiAgICAgICAgaWYgKGhpZ2hsaWdodC5kcmFnZ2luZykgcmV0dXJuIHRydWU7CiAgICAgICAgdmFyIGJ1bmRsZV9pZHggPSBuZWFyZXN0X2J1bmRsZShlLnBhZ2VYKTsKICAgICAgICB2YXIgeDsKICAgICAgICBzd2l0Y2ggKGUudHlwZSkgewogICAgICAgICAgICBjYXNlICdtb3VzZWVudGVyJzoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAnbW91c2Vtb3ZlJzoKICAgICAgICAgICAgICAgIGlmIChoaWdobGlnaHQuaGlnaGxpZ2h0ZWQpIHJldHVybjsKICAgICAgICAgICAgICAgIHggPSBidW5kbGVfdG9feChidW5kbGVfaWR4KTsKICAgICAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IC5tYXJrZXIuc3RhcnQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreCsnLDApJyk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOgogICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodC5kcmFnZ2luZyB8fCBoaWdobGlnaHQuaGlnaGxpZ2h0ZWQpIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAndG91Y2hzdGFydCc6CiAgICAgICAgICAgIGNhc2UgJ21vdXNlZG93bic6CiAgICAgICAgICAgICAgICBpZiAoZS5idXR0b24gIT09IDApIHJldHVybjsKICAgICAgICAgICAgICAgIGhpZ2hsaWdodC5oaWdobGlnaHRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICBoaWdobGlnaHQuZHJhZ2dpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgaGlnaGxpZ2h0LnN0YXJ0ID0gYnVuZGxlX2lkeDsKICAgICAgICAgICAgICAgIHggPSBidW5kbGVfdG9feChidW5kbGVfaWR4KTsKICAgICAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IC5tYXJrZXIuc3RhcnQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreCsnLDApJyk7CiAgICAgICAgICAgICAgICAkKCcjdGltZWxpbmUgLmhpZ2hsaWdodCAubWFya2VyLmVuZCcpLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoLTEwMCwwKScpOwogICAgICAgICAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgcmVjdC5tYXJrZXInKS5hdHRyKCd3aWR0aCcsMCkuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK3grJywwKScpOwogICAgICAgICAgICAgICAgJCgnYm9keScpLm9uKCdtb3VzZW1vdmUudGltZWxpbmVfaGlnaGxpZ2h0JywgaGlnaGxpZ2h0X2RyYWcpOwogICAgICAgICAgICAgICAgJCgnYm9keScpLm9uKCd0b3VjaGVuZC50aW1lbGluZV9oaWdobGlnaHQgbW91c2V1cC50aW1lbGluZV9oaWdobGlnaHQnLCBoaWdobGlnaHRfcmVsZWFzZSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEV2ZW4gaGFuZGxlciBmb3IgZHJhZ2dpbmcgd2hlbiBoaWdobGlnaHRpbmcgYSB0aW1lIHJhbmdlLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhpZ2hsaWdodF9kcmFnKGUpIHsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IG5lYXJlc3RfYnVuZGxlKGUucGFnZVgpOwogICAgICAgIGhpZ2hsaWdodC5lbmQgPSBidW5kbGVfaWR4OwogICAgICAgIHZhciB4MSA9IGJ1bmRsZV90b194KGhpZ2hsaWdodC5zdGFydCk7CiAgICAgICAgdmFyIHgyID0gYnVuZGxlX3RvX3goaGlnaGxpZ2h0LmVuZCk7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgLm1hcmtlci5lbmQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreDIrJywwKScpOwogICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IHJlY3QubWFya2VyJykuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK01hdGgubWluKHgxLHgyKSsnLjUsMC41KScpLmF0dHIoJ3dpZHRoJyxNYXRoLmFicyh4Mi14MSkpOwogICAgICAgIHNob3dfcmV2aWV3X2luZm8oZmFsc2UgLyogc3RpY2t5ICovKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgdGhlIGVuZCBvZiBhICdkcmFnJyB3aGVuIGhpZ2hsaWdodGluZyBhIHRpbWUgcmFuZ2UuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gaGlnaGxpZ2h0X3JlbGVhc2UoZSkgewogICAgICAgIGlmIChlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuOwogICAgICAgIGhpZ2hsaWdodC5kcmFnZ2luZyA9IGZhbHNlOwogICAgICAgICQoJ2JvZHknKS5vZmYoJy50aW1lbGluZV9oaWdobGlnaHQnKTsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IG5lYXJlc3RfYnVuZGxlKGUucGFnZVgpOwogICAgICAgIGhpZ2hsaWdodC5lbmQgPSBidW5kbGVfaWR4OwogICAgICAgIGlmIChoaWdobGlnaHQuc3RhcnQgPT09IGhpZ2hsaWdodC5lbmQpIHsKICAgICAgICAgICAgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB2YXIgeDEgPSBidW5kbGVfdG9feChNYXRoLm1pbihoaWdobGlnaHQuc3RhcnQsIGhpZ2hsaWdodC5lbmQpKTsKICAgICAgICAgICAgdmFyIHgyID0gYnVuZGxlX3RvX3goTWF0aC5tYXgoaGlnaGxpZ2h0LnN0YXJ0LCBoaWdobGlnaHQuZW5kKSk7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IC5tYXJrZXIuc3RhcnQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKCcreDErJywwKScpOwogICAgICAgICAgICAkKCcjdGltZWxpbmUgLmhpZ2hsaWdodCAubWFya2VyLmVuZCcpLmF0dHIoJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUoJyt4MisnLDApJyk7CiAgICAgICAgICAgICQoJyN0aW1lbGluZSAuaGlnaGxpZ2h0IHJlY3QubWFya2VyJykuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK3gxKycuNSwwLjUpJykuYXR0cignd2lkdGgnLHgyLXgxKTsKICAgICAgICAgICAgaGlnaGxpZ2h0LmhpZ2hsaWdodGVkID0gdHJ1ZTsKICAgICAgICAgICAgc2hvd19yZXZpZXdfaW5mbyh0cnVlIC8qIHN0aWNreSAqLyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gSGlkZSB0aGUgdGltZWxpbmUncyBoaWdobGlnaHQgY3Vyc29ycy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBoaWRlX2hpZ2hsaWdodCgpIHsKICAgICAgICBoaWdobGlnaHQuc3RhcnQgPSAtMTsKICAgICAgICBoaWdobGlnaHQuZW5kID0gLTE7CiAgICAgICAgaGlnaGxpZ2h0LmhpZ2hsaWdodGVkID0gZmFsc2U7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgcmVjdC5tYXJrZXInKS5hdHRyKCd3aWR0aCcsMCkuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgtMTAwLDAuNSknKTsKICAgICAgICAkKCcjdGltZWxpbmUgLmhpZ2hsaWdodCAubWFya2VyLnN0YXJ0JykuYXR0cigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgtMTAwLDApJyk7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5oaWdobGlnaHQgLm1hcmtlci5lbmQnKS5hdHRyKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlKC0xMDAsMCknKTsKICAgICAgICBoaWRlX3Jldmlld19pbmZvKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIG5lYXJlc3RfYnVuZGxlKCkKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBuZWFyZXN0X2J1bmRsZSh4KSB7CiAgICAgICAgdmFyIHBhbmVsX2xlZnQgPSBNYXRoLmZsb29yKCQoJyN0aW1lbGluZSAuZ3JhcGhfcGFuZWwnKS5vZmZzZXQoKS5sZWZ0KTsKICAgICAgICB4IC09IHBhbmVsX2xlZnQgKyBncmFwaC5tYXJnaW4ubGVmdDsKICAgICAgICBpZiAoeCA8IDApIHggPSAwOwogICAgICAgIHZhciB0aWMgPSB4ICogZ3JhcGgueF9heGlzLm1heF9ob3VycyAvIGdyYXBoLnhfYXhpcy53aWR0aDsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IGdyYXBoLnRpbWVzbG90c1tNYXRoLm1pbihncmFwaC54X2F4aXMubWF4X2hvdXJzLTEsIE1hdGguZmxvb3IodGljKSldOwogICAgICAgIHZhciBidW5kbGUgPSBncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdOwogICAgICAgIHZhciBzdGFydCA9IGJ1bmRsZS5zdGFydF90aW1lOwogICAgICAgIHZhciBlbmQgPSBidW5kbGUuZW5kX3RpbWU7CiAgICAgICAgcmV0dXJuICh0aWMgPD0gKChzdGFydCtlbmQpLzIpID8gYnVuZGxlX2lkeCA6IGJ1bmRsZV9pZHgrMSk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIENvbnZlcnQgYSBidW5kbGVfaWR4IHRvIGEgZ3JhcGggaG91ciBvZmZzZXQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYnVuZGxlX3RvX3RpYyhidW5kbGVfaWR4KSB7CiAgICAgICAgaWYgKGJ1bmRsZV9pZHggPj0gZ3JhcGguYnVuZGxlcy5sZW5ndGgpIHJldHVybiBncmFwaC54X2F4aXMubWF4X2hvdXJzOwogICAgICAgIHJldHVybiBncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdLnN0YXJ0X3RpbWU7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIENvbnZlcnQgYSBidW5kbGVfaWR4IHRvIGEgZ3JhcGggWCBvZmZzZXQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYnVuZGxlX3RvX3goYnVuZGxlX2lkeCkgewogICAgICAgIHJldHVybiBNYXRoLnJvdW5kKGJ1bmRsZV90b190aWMoYnVuZGxlX2lkeCkgKiBncmFwaC50aWNfc3BhY2luZyk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIE9wZW4gdGhlIHNldHRpbmdzIGRpYWxvZwogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBvcGVuX3NldHRpbmdzKCkgewogICAgICAgIHZhciBjb25maWcgPSB7CiAgICAgICAgICAgIHNjcmlwdF9pZDogJ3RpbWVsaW5lJywKICAgICAgICAgICAgdGl0bGU6ICdVbHRpbWF0ZSBUaW1lbGluZScsCiAgICAgICAgICAgIG9uX3NhdmU6IHNldHRpbmdzX3NhdmVkLAogICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICB0YWJzOiB7dHlwZTondGFic2V0JywgY29udGVudDogewogICAgICAgICAgICAgICAgICAgIHBnR3JhcGg6IHt0eXBlOidwYWdlJywgbGFiZWw6J0dyYXBoJywgaG92ZXJfdGlwOidHcmFwaCBTZXR0aW5ncycsIGNvbnRlbnQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZ3JwVGltZToge3R5cGU6J2dyb3VwJywgbGFiZWw6J1RpbWUnLCBjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfZm9ybWF0OiB7dHlwZTonZHJvcGRvd24nLCBsYWJlbDonVGltZSBGb3JtYXQnLCBkZWZhdWx0OicxMmhvdXInLCBjb250ZW50OnsnMTJob3VyJzonMTItaG91cicsJzI0aG91cic6JzI0LWhvdXInLCAnaG91cnNfb25seSc6ICdIb3VycyBvbmx5J30sIGhvdmVyX3RpcDonRGlzcGxheSB0aW1lIGluIDEyIG9yIDI0LWhvdXIgZm9ybWF0LCBvciBob3Vycy1mcm9tLW5vdy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heF9kYXlzOiB7dHlwZTonbnVtYmVyJywgbGFiZWw6J1NsaWRlciBSYW5nZSBNYXggKGRheXMpJywgbWluOjEsIG1heDoxMjUsIGRlZmF1bHQ6NywgaG92ZXJfdGlwOidDaG9vc2UgbWF4aW11bSByYW5nZSBvZiB0aGUgdGltZWxpbmUgc2xpZGVyIChpbiBkYXlzKS4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICAgICAgICAgIGdycEJhcnM6IHt0eXBlOidncm91cCcsIGxhYmVsOidCYXJzJywgY29udGVudDp7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfYmFyX3dpZHRoOiB7dHlwZTonbnVtYmVyJywgbGFiZWw6J01heCBCYXIgV2lkdGggKHBpeGVscyknLCBkZWZhdWx0OjAsIGhvdmVyX3RpcDonU2V0IHRoZSBtYXhpbXVtIGJhciB3aWR0aCAoaW4gcGl4ZWxzKS5cbigwID0gdW5saW1pdGVkKSd9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2Jhcl9oZWlnaHQ6IHt0eXBlOidudW1iZXInLCBsYWJlbDonTWF4IEdyYXBoIEhlaWdodCAocmV2aWV3cyknLCBkZWZhdWx0OjAsIGhvdmVyX3RpcDonU2V0IHRoZSBtYXhpbXVtIGdyYXBoIGhlaWdodCAoaW4gcmV2aWV3cykuXG4oMCA9IHVubGltaXRlZClcblVzZWZ1bCBmb3Igd2hlbiB5b3UgaGF2ZSBhIGh1Z2UgYmFja2xvZy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeGVkX2Jhcl9oZWlnaHQ6IHt0eXBlOidjaGVja2JveCcsIGxhYmVsOidGb3JjZSBHcmFwaCB0byBNYXggSGVpZ2h0JywgZGVmYXVsdDpmYWxzZSwgaG92ZXJfdGlwOidGb3JjZSB0aGUgZ3JhcGggaGVpZ2h0IHRvIGFsd2F5cyBiZSB0aGUgTWF4IEdyYXBoIEhlaWdodC5cblVzZWZ1bCB3aGVuIGxpbWl0aW5nIHRoZSBudW1iZXIgb2YgcmV2aWV3cyB5b3UgZG8gaW4gb25lIHNpdHRpbmcuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJfc3R5bGU6IHt0eXBlOidkcm9wZG93bicsIGxhYmVsOidCYXIgU3R5bGUnLCBkZWZhdWx0OidpdGVtX3R5cGUnLCBjb250ZW50OnsnY291bnQnOidSZXZpZXcgQ291bnQnLCdpdGVtX3R5cGUnOidJdGVtIFR5cGUnLCdzcnNfc3RhZ2UnOidTUlMgTGV2ZWwnLCdsZXZlbCc6J0xldmVsJ30sIGhvdmVyX3RpcDonQ2hvb3NlIGhvdyBiYXJzIGFyZSBzdWJkaXZpZGVkLid9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JzX2N1cnJfbmV4dDoge3R5cGU6J2Ryb3Bkb3duJywgbGFiZWw6J0N1cnJlbnQgLyBOZXh0IFNSUyBMZXZlbCcsIGRlZmF1bHQ6J2N1cnInLCBjb250ZW50OnsnY3Vycic6J0N1cnJlbnQgU1JTIExldmVsJywnbmV4dCc6J05leHQgU1JTIExldmVsJ30sIGhvdmVyX3RpcDonU2VsZWN0IHdoZXRoZXIgU1JTIGlzIGNvbG9yLWNvZGVkIGJ5XG5jdXJyZW50IFNSUyBsZXZlbCwgb3IgbmV4dCBTUlMgbGV2ZWwuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgICAgICAgICBncnBNYXJrZXJzOiB7dHlwZTonZ3JvdXAnLCBsYWJlbDonTWFya2VycycsIGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9sZXZlbF9tYXJrZXJzOiB7dHlwZTonZHJvcGRvd24nLCBsYWJlbDonQ3VycmVudCBMZXZlbCBNYXJrZXJzJywgZGVmYXVsdDoncmt2JywgY29udGVudDp7J25vbmUnOidOb25lJywncmsnOidSYWQgKyBLYW4nLCdya3YnOidSYWQgKyBLYW4gKyBWb2MnfSwgaG92ZXJfdGlwOidTZWxlY3Qgd2hpY2ggaXRlbSB0eXBlcyB3aWxsIHRyaWdnZXIgYSBDdXJyZW50IExldmVsXG5tYXJrZXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZ3JhcGguJ30sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXJuX21hcmtlcnM6IHt0eXBlOidkcm9wZG93bicsIGxhYmVsOidCdXJuIE1hcmtlcnMnLCBkZWZhdWx0OidzaG93JywgY29udGVudDp7J3Nob3cnOidTaG93JywnaGlkZSc6J0hpZGUnfSwgaG92ZXJfdGlwOidTZWxlY3Qgd2hldGhlciBCdXJuIG1hcmtlcnMgYXJlIHNob3duXG5hdCB0aGUgYm90dG9tIG9mIHRoZSBncmFwaC4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICAgICAgcGdSZXZpZXdEZXRhaWxzOiB7dHlwZToncGFnZScsIGxhYmVsOidSZXZpZXcgRGV0YWlscycsIGhvdmVyX3RpcDonUmV2aWV3IERldGFpbHMgUG9wLXVwJywgY29udGVudDogewogICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Jldmlld19kZXRhaWxzOiB7dHlwZTonZHJvcGRvd24nLCBsYWJlbDonU2hvdyBSZXZpZXcgRGV0YWlscycsIGRlZmF1bHQ6J2Z1bGwnLCBjb250ZW50Onsnbm9uZSc6J05vbmUnLCdzdW1tYXJ5JzonU3VtbWFyeScsJ2l0ZW1fbGlzdCc6J0l0ZW0gTGlzdCcsJ2Z1bGwnOidGdWxsIEl0ZW0gRGV0YWlscyd9LCBob3Zlcl90aXA6J0Nob29zZSB0aGUgbGV2ZWwgb2YgZGV0YWlsIHRvIGRpc3BsYXlcbndoZW4gYSBiYXIgb3IgdGltZSByYW5nZSBpcyBzZWxlY3RlZC4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgcmV2aWV3X2RldGFpbHNfc3VtbWFyeToge3R5cGU6J2Ryb3Bkb3duJywgbGFiZWw6J1JldmlldyBEZXRhaWxzIFN1bW1hcnknLCBkZWZhdWx0OidpdGVtX3R5cGUnLCBjb250ZW50OnsnY291bnQnOidSZXZpZXcgQ291bnQnLCdpdGVtX3R5cGUnOidJdGVtIFR5cGUnLCdzcnNfc3RhZ2UnOidTUlMgTGV2ZWwnLCdsZXZlbCc6J0xldmVsJ30sIGhvdmVyX3RpcDonQ2hvb3NlIHdoaWNoIHN1bW1hcnkgaW5mb3JtYXRpb24gdG9cbmRpc3BsYXkgb24gdGhlIFJldmlldyBEZXRhaWxzIHBvcC11cC4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgcmV2aWV3X2RldGFpbHNfYnV0dG9uczoge3R5cGU6J2NoZWNrYm94JywgbGFiZWw6J1Nob3cgUmV2aWV3IERldGFpbHMgQnV0dG9ucycsIGRlZmF1bHQ6dHJ1ZSwgaG92ZXJfdGlwOidTaG93IGNvbmZpZ3VyYXRpb24gYnV0dG9ucyBvbiBSZXZpZXcgRGV0YWlscyBwb3AtdXAuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfYmFyX3N0eWxlX2Ryb3Bkb3duOiB7dHlwZTonY2hlY2tib3gnLCBsYWJlbDonU2hvdyBCYXIgU3R5bGUgRHJvcGRvd24nLCBkZWZhdWx0OmZhbHNlLCBob3Zlcl90aXA6J1Nob3cgdGhlIEJhciBTdHlsZSBkcm9wZG93biBhYm92ZSB0aGUgdGltZWxpbmUuJ30sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgdmFyIHNldHRpbmdzX2RpYWxvZyA9IG5ldyB3a29mLlNldHRpbmdzKGNvbmZpZyk7CiAgICAgICAgc2V0dGluZ3NfZGlhbG9nLm9wZW4oKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gR2V0IHRoZSBudW1iZXIgb2YgaG91cnMgcGVyIGJhci4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X2hvdXJzX3Blcl9iYXIoKSB7CiAgICAgICAgZ3JhcGgueF9heGlzLndpZHRoID0gZ3JhcGguZWxlbS53aWR0aCgpIC0gZ3JhcGgubWFyZ2luLmxlZnQ7CiAgICAgICAgZ3JhcGgueF9heGlzLm1heF9ob3VycyA9IE1hdGgucm91bmQoc2V0dGluZ3MuZGF5cyAqIDI0KTsKCiAgICAgICAgLy8gTm8gbW9yZSB0aGFuIDEgbGFiZWwgZXZlcnkgNTAgcGl4ZWxzCiAgICAgICAgdmFyIG1pbl9waXhlbHNfcGVyX2xhYmVsID0gNTA7CiAgICAgICAgZ3JhcGgubWluX2hvdXJzX3Blcl9sYWJlbCA9IG1pbl9waXhlbHNfcGVyX2xhYmVsICogZ3JhcGgueF9heGlzLm1heF9ob3VycyAvIGdyYXBoLnhfYXhpcy53aWR0aDsKICAgICAgICB4c2NhbGUuaWR4ID0gMDsKICAgICAgICB3aGlsZSAoKHhzY2FsZS5ob3Vyc19wZXJfbGFiZWxbeHNjYWxlLmlkeF0gPD0gZ3JhcGgubWluX2hvdXJzX3Blcl9sYWJlbCkgJiYKICAgICAgICAgICAgICAgKHhzY2FsZS5pZHggPCB4c2NhbGUuaG91cnNfcGVyX2xhYmVsLmxlbmd0aC0xKSkgewogICAgICAgICAgICB4c2NhbGUuaWR4Kys7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4geHNjYWxlLmJ1bmRsZV9jaG9pY2VzW3hzY2FsZS5pZHhdOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBNYXAgbGV0dGVycyBpbiB0aGUgeHNjYWxlIGNoYXJ0IHRvIGNvcnJlc3BvbmRpbmcgbGFiZWwtZ2VuZXJhdGluZyBmdW5jdGlvbnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHZhciBsYWJlbF9mdW5jdGlvbnMgPSB7CiAgICAgICAgJ20nOiBtb250aF9sYWJlbCwKICAgICAgICAndyc6IHdlZWtfbGFiZWwsCiAgICAgICAgJ0QnOiBtZGF5X2xhYmVsLAogICAgICAgICdkJzogZGF5X2xhYmVsLAogICAgICAgICdoJzogaG91cl9sYWJlbCwKICAgICAgICAnLSc6IG5vX2xhYmVsLAogICAgfTsKCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIHRpbWUtc2NhbGUgbGFiZWxzCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG1vbnRoX2xhYmVsKGRhdGUsIHF0eSwgdXNlX3Nob3J0KSB7CiAgICAgICAgaWYgKGRhdGUuZ2V0SG91cnMoKSAhPT0gMCB8fCBkYXRlLmdldERhdGUoKSAhPT0gMSkgcmV0dXJuOwogICAgICAgIHJldHVybiBbJ0phbicsJ0ZlYicsJ01hcicsJ0FwcicsJ01heScsJ0p1bicsJ0p1bCcsJ0F1ZycsJ1NlcCcsJ09jdCcsJ05vdicsJ0RlYyddW2RhdGUuZ2V0TW9udGgoKV07CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHdlZWtfbGFiZWwoZGF0ZSwgcXR5LCB1c2Vfc2hvcnQpIHsKICAgICAgICBpZiAoZGF0ZS5nZXRIb3VycygpICE9PSAwIHx8IGRhdGUuZ2V0RGF5KCkgIT09IDApIHJldHVybjsKICAgICAgICByZXR1cm4gKHVzZV9zaG9ydCA/ICdTJyA6ICdTdW4nKTsKICAgIH0KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gbWRheV9sYWJlbChkYXRlLCBxdHksIHVzZV9zaG9ydCkgewogICAgICAgIGlmIChkYXRlLmdldEhvdXJzKCkgIT09IDApIHJldHVybjsKICAgICAgICB2YXIgbWRheSA9IGRhdGUuZ2V0RGF0ZSgpOwogICAgICAgIGlmIChtZGF5ICUgcXR5ICE9PSAwKSByZXR1cm47CiAgICAgICAgcmV0dXJuIG1kYXk7CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGRheV9sYWJlbChkYXRlLCBxdHksIHVzZV9zaG9ydCkgewogICAgICAgIGlmIChkYXRlLmdldEhvdXJzKCkgIT09IDApIHJldHVybjsKICAgICAgICB2YXIgbGFiZWwgPSBbJ1N1bicsJ01vbicsJ1R1ZScsJ1dlZCcsJ1RodScsJ0ZyaScsJ1NhdCddW2RhdGUuZ2V0RGF5KCldOwogICAgICAgIHJldHVybiAodXNlX3Nob3J0ID8gbGFiZWxbMF0gOiBsYWJlbCk7CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhvdXJfbGFiZWwoZGF0ZSwgcXR5LCB1c2Vfc2hvcnQpIHsKICAgICAgICB2YXIgaGggPSBkYXRlLmdldEhvdXJzKCk7CiAgICAgICAgaWYgKChoaCAlIHF0eSkgIT09IDApIHJldHVybjsKICAgICAgICBpZiAoc2V0dGluZ3MudGltZV9mb3JtYXQgPT09ICcyNGhvdXInKSB7CiAgICAgICAgICAgIHJldHVybiAoJzAnK2hoKyc6MDAnKS5zbGljZSgtNSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuICgoKGhoICsgMTEpICUgMTIpICsgMSkgKyAnYXAnW01hdGguZmxvb3IoaGgvMTIpXSArICdtJzsKICAgICAgICB9CiAgICB9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhvdXJfb25seV9sYWJlbChkYXRlLCBxdHksIHVzZV9zaG9ydCwgdGljX2lkeCkgewogICAgICAgIGlmICh0aWNfaWR4ICUgcXR5ICE9PSAwKSByZXR1cm47CiAgICAgICAgcmV0dXJuIHRpY19pZHggKyAodXNlX3Nob3J0ID8gJ2gnIDogJyBocnMnKTsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG5vX2xhYmVsKCkge3JldHVybjt9CiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRHJhdyB0aGUgdGltZWxpbmUKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZHJhd190aW1lbGluZSgpIHsKICAgICAgICB2YXIgcGFuZWwgPSBncmFwaC5lbGVtLAogICAgICAgICAgICBwYW5lbF9oZWlnaHQgPSBzZXR0aW5ncy5ncmFwaF9oZWlnaHQsCiAgICAgICAgICAgIHBhbmVsX3dpZHRoID0gZ3JhcGguZWxlbS53aWR0aCgpLAogICAgICAgICAgICBncmFwaF9oZWlnaHQgPSBwYW5lbF9oZWlnaHQgLSAoZ3JhcGgubWFyZ2luLnRvcCArIGdyYXBoLm1hcmdpbi5ib3R0b20pOwoKICAgICAgICB2YXIgbWF0Y2ggPSB4c2NhbGUucmVkX3RpY19jaG9pY2VzW3hzY2FsZS5pZHhdLm1hdGNoKC9eKFxkKikoLikocz8pJC8pOwogICAgICAgIHZhciByZWRfcXR5ID0gTnVtYmVyKG1hdGNoWzFdKTsKICAgICAgICB2YXIgcmVkX2Z1bmMgPSBsYWJlbF9mdW5jdGlvbnNbbWF0Y2hbMl1dOwogICAgICAgIHZhciByZWRfdXNlX3Nob3J0ID0gKG1hdGNoWzNdID09PSAncycpOwoKICAgICAgICBtYXRjaCA9IHhzY2FsZS5tYWpvcl90aWNfY2hvaWNlc1t4c2NhbGUuaWR4XS5tYXRjaCgvXihcZCopKC4pKHM/KSQvKTsKICAgICAgICB2YXIgbWFqX3F0eSA9IE51bWJlcihtYXRjaFsxXSk7CiAgICAgICAgdmFyIG1hal9mdW5jID0gbGFiZWxfZnVuY3Rpb25zW21hdGNoWzJdXTsKICAgICAgICB2YXIgbWFqX3VzZV9zaG9ydCA9IChtYXRjaFszXSA9PT0gJ3MnKTsKCiAgICAgICAgbWF0Y2ggPSB4c2NhbGUubWlub3JfdGljX2Nob2ljZXNbeHNjYWxlLmlkeF0ubWF0Y2goL14oXGQqKSguKShzPykkLyk7CiAgICAgICAgdmFyIG1pbl9xdHkgPSBOdW1iZXIobWF0Y2hbMV0pOwogICAgICAgIHZhciBtaW5fZnVuYyA9IGxhYmVsX2Z1bmN0aW9uc1ttYXRjaFsyXV07CiAgICAgICAgdmFyIG1pbl91c2Vfc2hvcnQgPSAobWF0Y2hbM10gPT09ICdzJyk7CgogICAgICAgIGlmIChzZXR0aW5ncy50aW1lX2Zvcm1hdCA9PT0gJ2hvdXJzX29ubHknKSB7CiAgICAgICAgICAgIHJlZF9mdW5jID0gZnVuY3Rpb24oKSB7cmV0dXJuIDA7fTsKICAgICAgICAgICAgbWFqX2Z1bmMgPSBob3VyX29ubHlfbGFiZWw7CiAgICAgICAgICAgIG1pbl9mdW5jID0gaG91cl9vbmx5X2xhYmVsOwogICAgICAgIH0KCiAgICAgICAgdmFyIGJ1bmRsZV9zaXplID0geHNjYWxlLmJ1bmRsZV9jaG9pY2VzW3hzY2FsZS5pZHhdOwoKICAgICAgICAvLyBTdHJpbmcgZm9yIGJ1aWxkaW5nIGh0bWwuCiAgICAgICAgdmFyIGdyaWQgPSAnJzsKICAgICAgICB2YXIgbGFiZWxfeCA9IFtdOwogICAgICAgIHZhciBsYWJlbF95ID0gJyc7CiAgICAgICAgdmFyIGJhcnMgPSAnJywgYmFyX292ZXJsYXlzID0gJyc7CiAgICAgICAgdmFyIG1hcmtlcnMgPSAnJzsKCiAgICAgICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAvLyBEcmF3IHZlcnRpY2FsIGF4aXMgZ3JpZAoKICAgICAgICAvLyBDYWxjdWxhdGUgbWFqb3IgYW5kIG1pbm9yIHZlcnRpY2FsIGdyYXBoIHRpY3MuCiAgICAgICAgdmFyIGluY19zID0gMSwgaW5jX2wgPSA1OwogICAgICAgIHZhciBtYXhfcmV2aWV3cyA9IGdyYXBoLm1heF9yZXZpZXdzOwogICAgICAgIGlmIChzZXR0aW5ncy5tYXhfYmFyX2hlaWdodCA+IDApIHsKICAgICAgICAgICAgaWYgKHNldHRpbmdzLmZpeGVkX2Jhcl9oZWlnaHQgfHwgKG1heF9yZXZpZXdzID4gc2V0dGluZ3MubWF4X2Jhcl9oZWlnaHQpKSBtYXhfcmV2aWV3cyA9IHNldHRpbmdzLm1heF9iYXJfaGVpZ2h0OwogICAgICAgIH0KICAgICAgICB3aGlsZSAoTWF0aC5jZWlsKG1heF9yZXZpZXdzIC8gaW5jX3MpID4gNSkgewogICAgICAgICAgICBzd2l0Y2ggKGluY19zLnRvU3RyaW5nKClbMF0pIHsKICAgICAgICAgICAgICAgIGNhc2UgJzEnOiBpbmNfcyAqPSAyOyBpbmNfbCAqPSAyOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJzInOiBpbmNfcyA9IE1hdGgucm91bmQoMi41ICogaW5jX3MpOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJzUnOiBpbmNfcyAqPSAyOyBpbmNfbCAqPSA1OyBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gRHJhdyB2ZXJ0aWNhbCBncmFwaCB0aWNzICgjIG9mIFJldmlld3MpLgogICAgICAgIHZhciB0aWNfY2xhc3MsIHk7CiAgICAgICAgZ3JhcGgueV9heGlzLm1heF9yZXZpZXdzID0gTWF0aC5tYXgoMywgTWF0aC5jZWlsKG1heF9yZXZpZXdzIC8gaW5jX3MpICogaW5jX3MpOwogICAgICAgIGZvciAodmFyIHRpYyA9IDA7IHRpYyA8PSBncmFwaC55X2F4aXMubWF4X3Jldmlld3M7IHRpYyArPSBpbmNfcykgewogICAgICAgICAgICB0aWNfY2xhc3MgPSAoKHRpYyAlIGluY19sKSA9PT0gMCA/ICdtYWpvcicgOiAnbWlub3InKTsKICAgICAgICAgICAgeSA9IChncmFwaC5tYXJnaW4udG9wICsgZ3JhcGhfaGVpZ2h0KSAtIE1hdGgucm91bmQoZ3JhcGhfaGVpZ2h0ICogKHRpYyAvIGdyYXBoLnlfYXhpcy5tYXhfcmV2aWV3cykpOwogICAgICAgICAgICBpZiAodGljID4gMCkgewogICAgICAgICAgICAgICAgZ3JpZCArPSAnPHBhdGggY2xhc3M9IicrdGljX2NsYXNzKyciIGQ9Ik0nK2dyYXBoLm1hcmdpbi5sZWZ0KycsJyt5KydoJytncmFwaC54X2F4aXMud2lkdGgrJyIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxhYmVsX3kgKz0gJzx0ZXh0IGNsYXNzPSInK3RpY19jbGFzcysnIiB4PSInKyhncmFwaC5tYXJnaW4ubGVmdC00KSsnIiB5PSInK3krJyIgZHk9IjAuNGVtIj4nK3RpYysnPC90ZXh0Pic7CiAgICAgICAgfQoKICAgICAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIERyYXcgaG9yaXpvbnRhbCBheGlzIGdyaWQKCiAgICAgICAgZ3JhcGgudGljX3NwYWNpbmcgPSAoZ3JhcGgueF9heGlzLndpZHRoKSAvIChncmFwaC54X2F4aXMubWF4X2hvdXJzKTsgLy8gV2lkdGggb2YgYSB0aW1lIHNsb3QuCiAgICAgICAgdmFyIHByZXZfbGFiZWwgPSAtOWUxMDsKICAgICAgICBmb3IgKHZhciB0aWNfaWR4ID0gMDsgdGljX2lkeCA8IGdyYXBoLnhfYXhpcy5tYXhfaG91cnM7IHRpY19pZHgrKykgewogICAgICAgICAgICB2YXIgdGltZSA9IG5ldyBEYXRlKGdyYXBoLnN0YXJ0X3RpbWUuZ2V0VGltZSgpICsgdGljX2lkeCAqIDM2MDAwMDApOwoKICAgICAgICAgICAgdmFyIHJlZF9sYWJlbCA9IHJlZF9mdW5jKHRpbWUsIHJlZF9xdHksIHJlZF91c2Vfc2hvcnQsIHRpY19pZHgpOwogICAgICAgICAgICB2YXIgbWFqX2xhYmVsID0gbWFqX2Z1bmModGltZSwgbWFqX3F0eSwgbWFqX3VzZV9zaG9ydCwgdGljX2lkeCk7CiAgICAgICAgICAgIHZhciBtaW5fbGFiZWwgPSBtaW5fZnVuYyh0aW1lLCBtaW5fcXR5LCBtaW5fdXNlX3Nob3J0LCB0aWNfaWR4KTsKCiAgICAgICAgICAgIHZhciB4ID0gZ3JhcGgubWFyZ2luLmxlZnQgKyBNYXRoLnJvdW5kKCh0aWNfaWR4IC0gdGltZV9zaGlmdC82MCkgKiBncmFwaC50aWNfc3BhY2luZyk7CiAgICAgICAgICAgIHZhciBsYWJlbDsKICAgICAgICAgICAgaWYgKHJlZF9sYWJlbCkgewogICAgICAgICAgICAgICAgaWYgKHRpY19pZHggPiAwKSBncmlkICs9ICc8cGF0aCBjbGFzcz0icmVkdGljIiBkPSJNJyt4KycsMHYnKyhncmFwaC5tYXJnaW4udG9wK2dyYXBoX2hlaWdodC0xKSsnIiAvPic7CiAgICAgICAgICAgICAgICBpZiAoIW1hal91c2Vfc2hvcnQgJiYgdGljX2lkeCAtIHByZXZfbGFiZWwgPCBncmFwaC5taW5faG91cnNfcGVyX2xhYmVsKjAuNTgpIGxhYmVsX3gucG9wKCk7CiAgICAgICAgICAgICAgICBsYWJlbF94LnB1c2goJzx0ZXh0IGNsYXNzPSJyZWR0aWMiIHg9IicrKHgrNCkrJyIgeT0iJysoZ3JhcGgubWFyZ2luLnRvcC04KSsnIj4nK3JlZF9sYWJlbCsnPC90ZXh0PicpOwogICAgICAgICAgICAgICAgcHJldl9sYWJlbCA9IHRpY19pZHg7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFqX2xhYmVsKSB7CiAgICAgICAgICAgICAgICBpZiAodGljX2lkeCA+IDApIGdyaWQgKz0gJzxwYXRoIGNsYXNzPSJtYWpvciIgZD0iTScreCsnLDB2JysoZ3JhcGgubWFyZ2luLnRvcCtncmFwaF9oZWlnaHQtMSkrJyIgLz4nOwogICAgICAgICAgICAgICAgaWYgKG1hal91c2Vfc2hvcnQgfHwgdGljX2lkeCAtIHByZXZfbGFiZWwgPiBncmFwaC5taW5faG91cnNfcGVyX2xhYmVsKjAuNTgpIHsKICAgICAgICAgICAgICAgICAgICBsYWJlbF94LnB1c2goJzx0ZXh0IGNsYXNzPSJtYWpvciIgeD0iJysoeCs0KSsnIiB5PSInKyhncmFwaC5tYXJnaW4udG9wLTgpKyciPicrbWFqX2xhYmVsKyc8L3RleHQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgcHJldl9sYWJlbCA9IHRpY19pZHg7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWluX2xhYmVsKSB7CiAgICAgICAgICAgICAgICBpZiAodGljX2lkeCA+IDApIGdyaWQgKz0gJzxwYXRoIGNsYXNzPSJtaW5vciIgZD0iTScreCsnLCcrKGdyYXBoLm1hcmdpbi50b3AtNikrJ3YnKyhncmFwaF9oZWlnaHQrNikrJyIgLz4nOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIERyYXcgYmFycwoKICAgICAgICB2YXIgbWluX2Jhcl9oZWlnaHQgPSBNYXRoLmNlaWwoZ3JhcGgueV9heGlzLm1heF9yZXZpZXdzIC8gZ3JhcGgueV9heGlzLmhlaWdodCk7CiAgICAgICAgZm9yICh2YXIgYnVuZGxlX2lkeCBpbiBncmFwaC5idW5kbGVzKSB7CiAgICAgICAgICAgIHZhciBidW5kbGUgPSBncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdOwogICAgICAgICAgICB2YXIgYmFyX3BhcnRzID0gW107CiAgICAgICAgICAgIHZhciBzdGF0cyA9IGJ1bmRsZS5zdGF0czsKCiAgICAgICAgICAgIHZhciB4MSA9IE1hdGgucm91bmQoYnVuZGxlLnN0YXJ0X3RpbWUgKiBncmFwaC50aWNfc3BhY2luZyk7CiAgICAgICAgICAgIHZhciB4MiA9IE1hdGgucm91bmQoYnVuZGxlLmVuZF90aW1lICogZ3JhcGgudGljX3NwYWNpbmcpOwogICAgICAgICAgICBpZiAoc2V0dGluZ3MubWF4X2Jhcl93aWR0aCA+IDApIHgyID0gTWF0aC5taW4oeDEgKyBzZXR0aW5ncy5tYXhfYmFyX3dpZHRoLCB4Mik7CgogICAgICAgICAgICBzd2l0Y2ggKHNldHRpbmdzLmJhcl9zdHlsZSkgewogICAgICAgICAgICAgICAgY2FzZSAnY291bnQnOgogICAgICAgICAgICAgICAgICAgIGlmIChzdGF0cy5jb3VudCkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidjb3VudCcsIGhlaWdodDpzdGF0cy5jb3VudH0pOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2l0ZW1fdHlwZSc6CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRzLnJhZCkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidyYWQnLCBoZWlnaHQ6c3RhdHMucmFkfSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRzLmthbikgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidrYW4nLCBoZWlnaHQ6c3RhdHMua2FufSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXRzLnZvYykgYmFyX3BhcnRzLnB1c2goe2NsYXNzOid2b2MnLCBoZWlnaHQ6c3RhdHMudm9jfSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAnc3JzX3N0YWdlJzoKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuYXBwcikgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidhcHByJywgaGVpZ2h0OnN0YXRzLmFwcHJ9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuZ3VydSkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidndXJ1JywgaGVpZ2h0OnN0YXRzLmd1cnV9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMubWFzdCkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidtYXN0JywgaGVpZ2h0OnN0YXRzLm1hc3R9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuZW5saSkgYmFyX3BhcnRzLnB1c2goe2NsYXNzOidlbmxpJywgaGVpZ2h0OnN0YXRzLmVubGl9KTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHMuYnVybikgYmFyX3BhcnRzLnB1c2goe2NsYXNzOididXJuJywgaGVpZ2h0OnN0YXRzLmJ1cm59KTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdsZXZlbCc6CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZ3JwX2lkeCA9IDA7IGdycF9pZHggPD0gNTsgZ3JwX2lkeCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBncnBfbmFtZSA9ICdsdmxncnAnK2dycF9pZHg7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0c1tncnBfbmFtZV0pIGJhcl9wYXJ0cy5wdXNoKHtjbGFzczonbHZsZ3JwJytncnBfaWR4LCBoZWlnaHQ6c3RhdHNbZ3JwX25hbWVdfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZhciBiYXJfb2Zmc2V0ID0gMDsKICAgICAgICAgICAgZm9yICh2YXIgcGFydF9pZHggaW4gYmFyX3BhcnRzKSB7CiAgICAgICAgICAgICAgICB2YXIgcGFydCA9IGJhcl9wYXJ0c1twYXJ0X2lkeF07CiAgICAgICAgICAgICAgICBpZiAoKHBhcnRfaWR4ID09IGJhcl9wYXJ0cy5sZW5ndGgtMSkgJiYgKGJhcl9vZmZzZXQgKyBwYXJ0LmhlaWdodCA8IG1pbl9iYXJfaGVpZ2h0KSkgewogICAgICAgICAgICAgICAgICAgIHBhcnQuaGVpZ2h0ID0gbWluX2Jhcl9oZWlnaHQgLSBiYXJfb2Zmc2V0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYmFycyArPSAnPHJlY3QgY2xhc3M9ImJhciAnK3BhcnQuY2xhc3MrJyIgeD0iJysoeDErMSkrJyIgeT0iJytiYXJfb2Zmc2V0KyciIHdpZHRoPSInKyh4Mi14MS0zKSsnIiBoZWlnaHQ9IicrcGFydC5oZWlnaHQrJyIgLz4nOwogICAgICAgICAgICAgICAgYmFyX29mZnNldCArPSBwYXJ0LmhlaWdodDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoYmFyX3BhcnRzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIGJhcl9vdmVybGF5cyArPSAnPHJlY3QgY2xhc3M9ImJhciBvdmVybGF5IiB4PSInK3gxKyciIHk9IjAiIHdpZHRoPSInKyh4Mi14MSkrJyIgaGVpZ2h0PSInK2dyYXBoLnlfYXhpcy5tYXhfcmV2aWV3cysnIiBkYXRhLWJ1bmRsZT0iJytidW5kbGVfaWR4KyciIC8+JzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIG1hcmtlcl94OwogICAgICAgICAgICBtYXJrZXJfeCA9IGdyYXBoLm1hcmdpbi5sZWZ0ICsgTWF0aC5mbG9vcigoeDEreDIpLzIpOwogICAgICAgICAgICBpZiAoYnVuZGxlLnN0YXRzLmhhc19jdXJyX21hcmtlciAmJiBzZXR0aW5ncy5jdXJyZW50X2xldmVsX21hcmtlcnMgIT09ICdub25lJykgewogICAgICAgICAgICAgICAgbWFya2VycyArPSAnPHBhdGggY2xhc3M9ImN1ciIgZD0iTScrbWFya2VyX3grJywnKyhncmFwaC5tYXJnaW4udG9wK2dyYXBoX2hlaWdodCsxKSsnbC0zLDZoNnoiIC8+JzsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIGJ1bmRsZS5zdGF0cy5idXJuX2NvdW50ID4gMCAmJiBzZXR0aW5ncy5idXJuX21hcmtlcnMgPT09ICdzaG93JykgewogICAgICAgICAgICAgICAgbWFya2VycyArPSAnPHBhdGggY2xhc3M9ImJ1ciIgZD0iTScrbWFya2VyX3grJywnKyhncmFwaC5tYXJnaW4udG9wK2dyYXBoX2hlaWdodCs4KSsnbC0zLDZoNnoiIC8+JzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAvLyBBc3NlbWJsZSB0aGUgSFRNTAoKICAgICAgICBwYW5lbC5odG1sKAogICAgICAgICAgICAnPHN2ZyBjbGFzcz0iZ3JhcGggbm9zZWxlY3QiIHdpZHRoPSInK3BhbmVsX3dpZHRoKyciIGhlaWdodD0iJytwYW5lbF9oZWlnaHQrJyI+JysKICAgICAgICAgICAgJyAgPHJlY3QgY2xhc3M9ImJrZ2QiIHg9IicrZ3JhcGgubWFyZ2luLmxlZnQrJyIgeT0iJytncmFwaC5tYXJnaW4udG9wKyciIHdpZHRoPSInK2dyYXBoLnhfYXhpcy53aWR0aCsnIiBoZWlnaHQ9IicrZ3JhcGhfaGVpZ2h0KyciIC8+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9ImdyaWQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuNSwwLjUpIj4nKwogICAgICAgICAgICBncmlkKwogICAgICAgICAgICAnICAgIDxwYXRoIGNsYXNzPSJzaGFkb3ciIGQ9Ik0nKyhncmFwaC5tYXJnaW4ubGVmdC0yKSsnLDB2JysoZ3JhcGgubWFyZ2luLnRvcCtncmFwaF9oZWlnaHQpKycsaCcrKGdyYXBoLm1hcmdpbi5sZWZ0K2dyYXBoLnhfYXhpcy53aWR0aCsxKSsnIiAvPicrCiAgICAgICAgICAgICcgICAgPHBhdGggY2xhc3M9ImxpZ2h0IiBkPSJNJysoZ3JhcGgubWFyZ2luLmxlZnQtMSkrJywwdicrKGdyYXBoLm1hcmdpbi50b3ArZ3JhcGhfaGVpZ2h0LTEpKyciIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibGlnaHQiIGQ9Ik0nKyhncmFwaC5tYXJnaW4ubGVmdC0yKSsnLCcrKGdyYXBoLm1hcmdpbi50b3ArZ3JhcGhfaGVpZ2h0KzEpKydoJysoZ3JhcGgubWFyZ2luLmxlZnQrZ3JhcGgueF9heGlzLndpZHRoKzEpKyciIC8+JysKICAgICAgICAgICAgJyAgPC9nPicrCiAgICAgICAgICAgICcgIDxnIGNsYXNzPSJsYWJlbC14Ij4nKwogICAgICAgICAgICBsYWJlbF94LmpvaW4oJycpKwogICAgICAgICAgICAnICA8L2c+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9ImxhYmVsLXkiPicrCiAgICAgICAgICAgIGxhYmVsX3krCiAgICAgICAgICAgICcgIDwvZz4nKwogICAgICAgICAgICAnICA8ZyBjbGFzcz0ibWFya2VycyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC41LDAuNSkiPicrCiAgICAgICAgICAgIG1hcmtlcnMrCiAgICAgICAgICAgICcgIDwvZz4nKwogICAgICAgICAgICAnICA8ZyBjbGFzcz0iYmFycyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoJytncmFwaC5tYXJnaW4ubGVmdCsnLCcrKGdyYXBoLm1hcmdpbi50b3ArZ3JhcGhfaGVpZ2h0KSsnKSBzY2FsZSgxLCcrKC0xICogZ3JhcGhfaGVpZ2h0IC8gZ3JhcGgueV9heGlzLm1heF9yZXZpZXdzKSsnKSI+JysKICAgICAgICAgICAgYmFycysKICAgICAgICAgICAgYmFyX292ZXJsYXlzKwogICAgICAgICAgICAnICA8L2c+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9InJlc2l6ZV9ncmlwIj4nKwogICAgICAgICAgICAnICAgIDxwYXRoIGNsYXNzPSJzaGFkb3ciIGQ9Ik0nKyhwYW5lbF93aWR0aC0yKSsnLCcrcGFuZWxfaGVpZ2h0KydsMiwtMm0wLC00bC02LDZtLTQsMGwxMCwtMTAiIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibGlnaHQiIGQ9Ik0nKyhwYW5lbF93aWR0aC0zKSsnLCcrcGFuZWxfaGVpZ2h0KydsMywtM20wLC00bC03LDdtLTQsMGwxMSwtMTEiIC8+JysKICAgICAgICAgICAgJyAgICA8cmVjdCBjbGFzcz0iYm91bmRhcnkiIHg9IjAiIHk9IicrKHBhbmVsX2hlaWdodC0xMykrJyIgd2lkdGg9IicrcGFuZWxfd2lkdGgrJyIgaGVpZ2h0PSIxMyIgLz4nKwogICAgICAgICAgICAnICA8L2c+JysKICAgICAgICAgICAgJyAgPGcgY2xhc3M9ImhpZ2hsaWdodCI+JysKICAgICAgICAgICAgJyAgICA8cmVjdCBjbGFzcz0ibWFya2VyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAwLDAuNSkiIHg9IicrZ3JhcGgubWFyZ2luLmxlZnQrJyIgeT0iJytncmFwaC5tYXJnaW4udG9wKyciIHdpZHRoPSIwIiBoZWlnaHQ9IicrZ3JhcGhfaGVpZ2h0KyciIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibWFya2VyIHN0YXJ0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAwLDApIiBkPSJNJytncmFwaC5tYXJnaW4ubGVmdCsnLCcrKGdyYXBoLm1hcmdpbi50b3AtMSkrJ2wtMywtNWg2bC0zLDV2JysoZ3JhcGhfaGVpZ2h0KzEpKyciIC8+JysKICAgICAgICAgICAgJyAgICA8cGF0aCBjbGFzcz0ibWFya2VyIGVuZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMCwwKSIgZD0iTScrZ3JhcGgubWFyZ2luLmxlZnQrJywnKyhncmFwaC5tYXJnaW4udG9wLTEpKydsLTMsLTVoNmwtMyw1dicrKGdyYXBoX2hlaWdodCsxKSsnIiAvPicrCiAgICAgICAgICAgICcgICAgPHJlY3QgY2xhc3M9ImJvdW5kYXJ5IiB4PSInKyhncmFwaC5tYXJnaW4ubGVmdC0yKSsnIiB5PSIwIiB3aWR0aD0iJysoZ3JhcGgueF9heGlzLndpZHRoKzIpKyciIGhlaWdodD0iJytncmFwaC5tYXJnaW4udG9wKyciIC8+JysKICAgICAgICAgICAgJyAgPC9nPicrCiAgICAgICAgICAgICc8L3N2Zz4nCiAgICAgICAgKTsKICAgICAgICBwYW5lbC5oZWlnaHQocGFuZWxfaGVpZ2h0KTsKCiAgICAgICAgLy8gQXR0YWNoIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgcGFuZWwuZmluZCgnLnJlc2l6ZV9ncmlwIC5ib3VuZGFyeScpLm9uKCdtb3VzZWRvd24gdG91Y2hzdGFydCcsIHJlc2l6ZV9wYW5lbCk7CiAgICAgICAgcGFuZWwuZmluZCgnLmhpZ2hsaWdodCAuYm91bmRhcnknKS5vbignbW91c2VlbnRlciBtb3VzZWxlYXZlIG1vdXNlbW92ZSBtb3VzZWRvd24gdG91Y2hzdGFydCcsIGhpZ2hsaWdodF9ob3Zlcik7CiAgICAgICAgcGFuZWwuZmluZCgnLmJhci5vdmVybGF5Jykub24oJ21vdXNlZW50ZXIgbW91c2VsZWF2ZScsIGJhcl9ob3Zlcik7CiAgICAgICAgcGFuZWwuZmluZCgnLmJhci5vdmVybGF5Jykub24oJ2NsaWNrJywgYmFyX2NsaWNrKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgY2xpY2tpbmcgdGltZWxpbmUgYmFycy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYmFyX2NsaWNrKGUpIHsKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ25vbmUnKSByZXR1cm47CiAgICAgICAgaWYgKGhpZ2hsaWdodC5oaWdobGlnaHRlZCkgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IE51bWJlcihlLnRhcmdldC5hdHRyaWJ1dGVzWydkYXRhLWJ1bmRsZSddLnZhbHVlKTsKICAgICAgICBoaWdobGlnaHQuc3RhcnQgPSBidW5kbGVfaWR4OwogICAgICAgIGhpZ2hsaWdodC5lbmQgPSBidW5kbGVfaWR4ICsgMTsKICAgICAgICBoaWdobGlnaHQuaGlnaGxpZ2h0ZWQgPSB0cnVlOwogICAgICAgIGdyYXBoLmVsZW0ub2ZmKCcuYmFyX2hvdmVyX21vdmUnKTsKICAgICAgICBzaG93X3Jldmlld19pbmZvKHRydWUgLyogc3RpY2t5ICovLCBlKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgaG92ZXJpbmcgb3ZlciB0aW1lbGluZSBiYXJzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBiYXJfaG92ZXIoZSkgewogICAgICAgIGlmIChzZXR0aW5ncy5zaG93X3Jldmlld19kZXRhaWxzID09PSAnbm9uZScpIHJldHVybjsKICAgICAgICBpZiAoaGlnaGxpZ2h0LmhpZ2hsaWdodGVkKSByZXR1cm47CiAgICAgICAgc3dpdGNoIChlLnR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnbW91c2VlbnRlcic6CiAgICAgICAgICAgICAgICB2YXIgYnVuZGxlX2lkeCA9IE51bWJlcihlLnRhcmdldC5hdHRyaWJ1dGVzWydkYXRhLWJ1bmRsZSddLnZhbHVlKTsKICAgICAgICAgICAgICAgIGhpZ2hsaWdodC5zdGFydCA9IGJ1bmRsZV9pZHg7CiAgICAgICAgICAgICAgICBoaWdobGlnaHQuZW5kID0gYnVuZGxlX2lkeCArIDE7CiAgICAgICAgICAgICAgICBzaG93X3Jldmlld19pbmZvKGZhbHNlIC8qIHN0aWNreSAqLywgZSk7CiAgICAgICAgICAgICAgICBncmFwaC5lbGVtLm9uKCdtb3VzZW1vdmUuYmFyX2hvdmVyX21vdmUnLCBmdW5jdGlvbihlKXsKICAgICAgICAgICAgICAgICAgICBncmFwaC5yZXZpZXdfaW5mby5jc3MoJ3RvcCcsIGUuY2xpZW50WSAtIGUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIDMwKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdtb3VzZWxlYXZlJzoKICAgICAgICAgICAgICAgIGdyYXBoLmVsZW0ub2ZmKCcuYmFyX2hvdmVyX21vdmUnKTsKICAgICAgICAgICAgICAgIGhpZGVfcmV2aWV3X2luZm8oKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gQnVpbGQgYW5kIGRpc3BsYXkgdGhlIFJldmlldyBJbmZvIHBvcC11cC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gc2hvd19yZXZpZXdfaW5mbyhzdGlja3ksIGUpIHsKICAgICAgICB2YXIgaW5mbyA9ICQoJyN0aW1lbGluZSAucmV2aWV3X2luZm8nKTsKICAgICAgICBpZiAoc3RpY2t5KSB7CiAgICAgICAgICAgICQoJ2JvZHknKS5vZmYoJy50aW1lbGluZV9oaWRlaW5mbycpOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAkKCdib2R5Jykub24oJ2NsaWNrLnRpbWVsaW5lX2hpZGVpbmZvJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICAgICAgICAgICAgJCgnYm9keScpLm9mZignLnRpbWVsaW5lX2hpZGVpbmZvJyk7CiAgICAgICAgICAgICAgICAgICAgaGlkZV9oaWdobGlnaHQoKTsKICAgICAgICAgICAgICAgICAgICBoaWRlX3Jldmlld19pbmZvKCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwgMTApOwogICAgICAgIH0KCiAgICAgICAgdmFyIHN0YXJ0ID0gTWF0aC5taW4oaGlnaGxpZ2h0LnN0YXJ0LCBoaWdobGlnaHQuZW5kKTsKICAgICAgICB2YXIgZW5kID0gTWF0aC5tYXgoaGlnaGxpZ2h0LnN0YXJ0LCBoaWdobGlnaHQuZW5kKTsKCiAgICAgICAgdmFyIGJ1bmRsZSA9IHtpdGVtczpbXX07CiAgICAgICAgZm9yICh2YXIgYnVuZGxlX2lkeCA9IHN0YXJ0OyBidW5kbGVfaWR4IDwgZW5kOyBidW5kbGVfaWR4KyspIHsKICAgICAgICAgICAgYnVuZGxlLml0ZW1zID0gYnVuZGxlLml0ZW1zLmNvbmNhdChncmFwaC5idW5kbGVzW2J1bmRsZV9pZHhdLml0ZW1zKTsKICAgICAgICB9CgogICAgICAgIGNhbGNfYnVuZGxlX3N0YXRzKGJ1bmRsZSk7CgogICAgICAgIC8vIFByaW50IHRoZSBkYXRlIG9yIGRhdGUgcmFuZ2UuCiAgICAgICAgdmFyIGFsbG93X25vdyA9ICgoc3RhcnQgPT09IDApICYmIChncmFwaC5idW5kbGVfc2l6ZSA9PT0gMSkpOwogICAgICAgIHZhciBodG1sID0gJzxkaXY+JzsKICAgICAgICB2YXIgbm93ID0gbmV3IERhdGUoKTsKICAgICAgICB2YXIgc3RhcnRfZGF0ZSA9IG5ldyBEYXRlKGdyYXBoLnN0YXJ0X3RpbWUuZ2V0VGltZSgpICsgYnVuZGxlX3RvX3RpYyhzdGFydCkgKiAzNjAwMDAwKTsKICAgICAgICB2YXIgZW5kX2RhdGUgPSBuZXcgRGF0ZShncmFwaC5zdGFydF90aW1lLmdldFRpbWUoKSArIGJ1bmRsZV90b190aWMoZW5kKSAqIDM2MDAwMDAgKyAodGltZV9zaGlmdCAtIDEpICogNjAwMDApOwogICAgICAgIHZhciBzYW1lX2RheSA9IChuZXcgRGF0ZShzdGFydF9kYXRlKS5zZXRIb3VycygwLDAsMCwwKSA9PSBuZXcgRGF0ZShlbmRfZGF0ZSkuc2V0SG91cnMoMCwwLDAsMCkpOwogICAgICAgIHZhciBzaG93X21vbnRoID0gKChub3cuZ2V0TW9udGgoKSAhPSBzdGFydF9kYXRlLmdldE1vbnRoKCkpIHx8ICgobmV3IERhdGUoZW5kX2RhdGUpLnNldEhvdXJzKDAsMCwwLDApIC0gbmV3IERhdGUobm93KS5zZXRIb3VycygwLDAsMCwwKSkgPiAoNi41ICogODY0MDAwMDApKSk7CiAgICAgICAgaWYgKCgoZW5kLXN0YXJ0KSA+IDEpIHx8IChncmFwaC5idW5kbGVfc2l6ZSA+IDEpKSB7CiAgICAgICAgICAgIGh0bWwgKz0gZm9ybWF0X2RhdGUoc3RhcnRfZGF0ZSwgYWxsb3dfbm93LCB0cnVlIC8qIHNob3dfZGF5ICovLCBzaG93X21vbnRoKSArICcgdG8gJyArIGZvcm1hdF9kYXRlKGVuZF9kYXRlLCBmYWxzZSwgIXNhbWVfZGF5IC8qIHNob3dfZGF5ICovLCBzaG93X21vbnRoICYmICFzYW1lX2RheSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaHRtbCArPSBmb3JtYXRfZGF0ZShzdGFydF9kYXRlLCBhbGxvd19ub3csIHRydWUgLyogc2hvd19kYXkgKi8sIHNob3dfbW9udGgpOwogICAgICAgIH0KICAgICAgICBodG1sICs9ICc8L2Rpdj4nOwoKICAgICAgICAvLyBQb3B1bGF0ZSBpdGVtIHR5cGUgc3VtbWFyaWVzLgogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InN1bW1hcnkiPic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0idG90Ij4nKyhidW5kbGUuc3RhdHMuY291bnQpKycgcmV2aWV3czwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iaW5kZW50Ij4nOwoKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJpdGVtX3R5cGUgcmFkIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5yYWQgfHwgMCkrJzwvc3Bhbj4gcmFkaWNhbHM8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9Iml0ZW1fdHlwZSBrYW4iPjxzcGFuIGNsYXNzPSJmaXhlZCI+JysoYnVuZGxlLnN0YXRzLmthbiB8fCAwKSsnPC9zcGFuPiBrYW5qaTwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0iaXRlbV90eXBlIHZvYyI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMudm9jIHx8IDApKyc8L3NwYW4+IHZvY2FidWxhcnk8L2Rpdj4nOwoKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzcnNfc3RhZ2UgYXBwciI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMuYXBwciB8fCAwKSsnPC9zcGFuPiBhcHByZW50aWNlPC9kaXY+JzsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzcnNfc3RhZ2UgZ3VydSI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMuZ3VydSB8fCAwKSsnPC9zcGFuPiBndXJ1PC9kaXY+JzsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJzcnNfc3RhZ2UgbWFzdCI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubWFzdCB8fCAwKSsnPC9zcGFuPiBtYXN0ZXI8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InNyc19zdGFnZSBlbmxpIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5lbmxpIHx8IDApKyc8L3NwYW4+IGVubGlnaHRlbmVkPC9kaXY+JzsKICAgICAgICBpZiAoc2V0dGluZ3Muc3JzX2N1cnJfbmV4dCA9PT0gJ25leHQnKSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9InNyc19zdGFnZSBidXJuIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5idXJuIHx8IDApKyc8L3NwYW4+IGJ1cm48L2Rpdj4nOwogICAgICAgIH0KCiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0ibGV2ZWwgbHZsZ3JwMCI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubHZsZ3JwMCB8fCAwKSsnPC9zcGFuPiBsZXZlbHMgMS0xMDwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0ibGV2ZWwgbHZsZ3JwMSI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubHZsZ3JwMSB8fCAwKSsnPC9zcGFuPiBsZXZlbHMgMTEtMjA8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImxldmVsIGx2bGdycDIiPjxzcGFuIGNsYXNzPSJmaXhlZCI+JysoYnVuZGxlLnN0YXRzLmx2bGdycDIgfHwgMCkrJzwvc3Bhbj4gbGV2ZWxzIDIxLTMwPC9kaXY+JzsKICAgICAgICBodG1sICs9ICc8ZGl2IGNsYXNzPSJsZXZlbCBsdmxncnAzIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrKGJ1bmRsZS5zdGF0cy5sdmxncnAzIHx8IDApKyc8L3NwYW4+IGxldmVscyAzMS00MDwvZGl2Pic7CiAgICAgICAgaHRtbCArPSAnPGRpdiBjbGFzcz0ibGV2ZWwgbHZsZ3JwNCI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nKyhidW5kbGUuc3RhdHMubHZsZ3JwNCB8fCAwKSsnPC9zcGFuPiBsZXZlbHMgNDEtNTA8L2Rpdj4nOwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImxldmVsIGx2bGdycDUiPjxzcGFuIGNsYXNzPSJmaXhlZCI+JysoYnVuZGxlLnN0YXRzLmx2bGdycDUgfHwgMCkrJzwvc3Bhbj4gbGV2ZWxzIDUxLTYwPC9kaXY+JzsKCiAgICAgICAgaHRtbCArPSAnPC9kaXY+JzsKCiAgICAgICAgaWYgKChidW5kbGUuc3RhdHMuY3Vycl9jb3VudCA+IDApIHx8IChidW5kbGUuc3RhdHMuYnVybl9jb3VudCA+IDApKSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImluZGVudCI+JzsKICAgICAgICAgICAgaWYgKGJ1bmRsZS5zdGF0cy5jdXJyX2NvdW50ID4gMCkgaHRtbCArPSAnPGRpdiBjbGFzcz0iY3VyIj48c3BhbiBjbGFzcz0iZml4ZWQiPicrYnVuZGxlLnN0YXRzLmN1cnJfY291bnQrJzwvc3Bhbj4gQ3VycmVudCBMZXZlbDwvZGl2Pic7CiAgICAgICAgICAgIGlmIChidW5kbGUuc3RhdHMuYnVybl9jb3VudCA+IDApIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImJ1ciI+PHNwYW4gY2xhc3M9ImZpeGVkIj4nK2J1bmRsZS5zdGF0cy5idXJuX2NvdW50Kyc8L3NwYW4+IEJ1cm4gSXRlbScrKGJ1bmRsZS5zdGF0cy5idXJuX2NvdW50ID4gMSA/ICdzJyA6ICcnKSsnPC9kaXY+JzsKICAgICAgICAgICAgaHRtbCArPSAnPC9kaXY+JzsKICAgICAgICB9CgogICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CgogICAgICAgIGlmIChzZXR0aW5ncy5yZXZpZXdfZGV0YWlsc19idXR0b25zKSB7CiAgICAgICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9ImRldGFpbF9idXR0b25zIj4nOwogICAgICAgICAgICBodG1sICs9ICc8YnV0dG9uIGNsYXNzPSJjb3VudCI+UmV2aWV3IENvdW50PC9idXR0b24+JzsKICAgICAgICAgICAgaHRtbCArPSAnPGJ1dHRvbiBjbGFzcz0iaXRlbV90eXBlIj5JdGVtIFR5cGU8L2J1dHRvbj4nOwogICAgICAgICAgICBodG1sICs9ICc8YnV0dG9uIGNsYXNzPSJzcnNfc3RhZ2UiPlNSUyBMZXZlbDwvYnV0dG9uPic7CiAgICAgICAgICAgIGh0bWwgKz0gJzxidXR0b24gY2xhc3M9ImxldmVsIj5MZXZlbDwvYnV0dG9uPic7CiAgICAgICAgICAgIGh0bWwgKz0gJzwvZGl2Pic7CiAgICAgICAgfQoKICAgICAgICBpZiAoc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ2l0ZW1fbGlzdCcgfHwgc2V0dGluZ3Muc2hvd19yZXZpZXdfZGV0YWlscyA9PT0gJ2Z1bGwnKSB7CiAgICAgICAgICAgIGh0bWwgPSBwb3B1bGF0ZV9pdGVtX2xpc3QoYnVuZGxlLCBodG1sKTsKICAgICAgICB9CgogICAgICAgIGluZm8uZmluZCgnLmlubmVyJykuaHRtbChodG1sKTsKICAgICAgICBncmFwaC5yZXZpZXdfaW5mbyA9IGluZm87CgogICAgICAgIHZhciBudW1fd2lkdGggPSBidW5kbGUuc3RhdHMuY291bnQudG9TdHJpbmcoKTsKICAgICAgICBpbmZvLmZpbmQoJy5zdW1tYXJ5IC5maXhlZCcpLmNzcygnd2lkdGgnLCAobnVtX3dpZHRoLnRvU3RyaW5nKCkubGVuZ3RoICogOSArIDgpICsgJ3B4Jyk7CgogICAgICAgIHZhciB0b3AsIGxlZnQsIHJpZ2h0LCB3aWR0aDsKICAgICAgICB2YXIgaGFsZl93aWR0aCA9IGdyYXBoLnhfYXhpcy53aWR0aC8yOwogICAgICAgIHZhciB4ID0gYnVuZGxlX3RvX3goc3RhcnQpOwogICAgICAgIGluZm8uY3NzKCdtYXgtd2lkdGgnLCBoYWxmX3dpZHRoKTsKICAgICAgICBpZiAoaGlnaGxpZ2h0LmRyYWdnaW5nKSB7CiAgICAgICAgICAgIHRvcCA9IGdyYXBoLm1hcmdpbi50b3AgKyBncmFwaC55X2F4aXMuaGVpZ2h0ICsgZ3JhcGgubWFyZ2luLmJvdHRvbTsKICAgICAgICAgICAgaWYgKHggPCBoYWxmX3dpZHRoKSB7CiAgICAgICAgICAgICAgICBsZWZ0ID0gZ3JhcGgubWFyZ2luLmxlZnQgKyB4OwogICAgICAgICAgICAgICAgaW5mby5jc3Moe2xlZnQ6bGVmdCwgcmlnaHQ6J2F1dG8nLCB0b3A6dG9wfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByaWdodCA9IDA7CiAgICAgICAgICAgICAgICBpbmZvLmNzcyh7bGVmdDonYXV0bycsIHJpZ2h0OnJpZ2h0LCB0b3A6dG9wfSk7CiAgICAgICAgICAgICAgICBpZiAoeCA8IGdyYXBoLnhfYXhpcy53aWR0aCAtIGluZm8ub3V0ZXJXaWR0aCgpKSB7CiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGdyYXBoLm1hcmdpbi5sZWZ0ICsgeDsKICAgICAgICAgICAgICAgICAgICBpbmZvLmNzcyh7bGVmdDpsZWZ0LCByaWdodDonYXV0bycsIHRvcDp0b3B9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZSkgewogICAgICAgICAgICB0b3AgPSBlLmNsaWVudFkgLSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSAzMDsKICAgICAgICAgICAgaWYgKHggPCBoYWxmX3dpZHRoKSB7CiAgICAgICAgICAgICAgICBsZWZ0ID0gZ3JhcGgubWFyZ2luLmxlZnQgKyBidW5kbGVfdG9feChzdGFydCsxKSArIDQ7CiAgICAgICAgICAgICAgICBpbmZvLmNzcyh7bGVmdDpsZWZ0LCByaWdodDonYXV0bycsIHRvcDp0b3B9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJpZ2h0ID0gZ3JhcGgueF9heGlzLndpZHRoIC0gYnVuZGxlX3RvX3goc3RhcnQpICsgNDsKICAgICAgICAgICAgICAgIGluZm8uY3NzKHtsZWZ0OidhdXRvJywgcmlnaHQ6cmlnaHQsIHRvcDp0b3B9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaW5mby5yZW1vdmVDbGFzcygnaGlkZGVuJyk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFBvcHVsYXRlIHRoZSBsaXN0IG9mIGl0ZW1zIHByZXNlbnQgaW4gYSB0aW1lIGJ1bmRsZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcG9wdWxhdGVfaXRlbV9saXN0KGJ1bmRsZSwgaHRtbCkgewogICAgICAgIHZhciBzcnNfdG9fY2xhc3MgPSB7CiAgICAgICAgICAgIGN1cnI6IFsnYXBwcicsJ2FwcHInLCdhcHByJywnYXBwcicsJ2FwcHInLCdndXJ1JywnZ3VydScsJ21hc3QnLCdlbmxpJ10sCiAgICAgICAgICAgIG5leHQ6IFsnYXBwcicsJ2FwcHInLCdhcHByJywnYXBwcicsJ2d1cnUnLCdndXJ1JywnbWFzdCcsJ2VubGknLCdidXJuJ10KICAgICAgICB9OwogICAgICAgIGh0bWwgKz0gJzxkaXYgY2xhc3M9Iml0ZW1faW5mbyBoaWRkZW4iPjwvZGl2Pjx1bCBjbGFzcz0iaXRlbV9saXN0Ij4nOwogICAgICAgIGZvciAodmFyIGl0ZW1faWR4IGluIGJ1bmRsZS5pdGVtcykgewogICAgICAgICAgICB2YXIgaXRlbSA9IGJ1bmRsZS5pdGVtc1tpdGVtX2lkeF07CiAgICAgICAgICAgIHZhciBjbGFzc2VzID0gWwogICAgICAgICAgICAgICAgKGl0ZW0ub2JqZWN0ID09PSAna2FuYV92b2NhYnVsYXJ5JyA/ICd2b2MnIDogaXRlbS5vYmplY3Quc2xpY2UoMCwzKSksCiAgICAgICAgICAgICAgICBzcnNfdG9fY2xhc3Nbc2V0dGluZ3Muc3JzX2N1cnJfbmV4dF1baXRlbS5hc3NpZ25tZW50cy5zcnNfc3RhZ2VdLAogICAgICAgICAgICAgICAgJ2x2bGdycCcrTWF0aC5mbG9vcigoaXRlbS5kYXRhLmxldmVsLTEpLzEwKQogICAgICAgICAgICBdOwogICAgICAgICAgICB2YXIgaXRlbV9uYW1lOwogICAgICAgICAgICBpZiAoaXRlbS5vYmplY3QgPT09ICdyYWRpY2FsJykgewogICAgICAgICAgICAgICAgaWYgKGl0ZW0uZGF0YS5jaGFyYWN0ZXJzICE9PSBudWxsICYmIGl0ZW0uZGF0YS5jaGFyYWN0ZXJzICE9PSAnJykgewogICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxsaSBjbGFzcz0iJytjbGFzc2VzLmpvaW4oJyAnKSsnIj4nK2l0ZW0uZGF0YS5jaGFyYWN0ZXJzKyc8L2xpPic7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzxsaSBjbGFzcz0iJytjbGFzc2VzLmpvaW4oJyAnKSsnIiBkYXRhLXJhZG5hbWU9IicraXRlbS5kYXRhLnNsdWcrJyI+JzsKICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gaXRlbS5kYXRhLmNoYXJhY3Rlcl9pbWFnZXMuZmlsdGVyKGZ1bmN0aW9uKGltZyl7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoaW1nLmNvbnRlbnRfdHlwZSA9PT0gJ2ltYWdlL3N2Zyt4bWwnICYmIGltZy5tZXRhZGF0YS5pbmxpbmVfc3R5bGVzKTsKICAgICAgICAgICAgICAgICAgICB9KVswXT8udXJsOwogICAgICAgICAgICAgICAgICAgIGlmICghdXJsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJz8/JzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8d2stY2hhcmFjdGVyLWltYWdlIHNyYz0iJyt1cmwrJyI+PC93ay1jaGFyYWN0ZXItaW1hZ2U+JzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgaHRtbCArPSAnPC9saT4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaHRtbCArPSAnPGxpIGNsYXNzPSInK2NsYXNzZXMuam9pbignICcpKyciPicraXRlbS5kYXRhLnNsdWcrJzwvbGk+JzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBodG1sICs9ICc8L3VsPic7CiAgICAgICAgcmV0dXJuIGh0bWw7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEluc2VydCBhbiBzdmcgaW50byBhIHNwZWNpZmllZCBET00gZWxlbWVudC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcG9wdWxhdGVfcmFkaWNhbF9zdmcoc2VsZWN0b3IsIHN2ZykgewogICAgICAgICQoc2VsZWN0b3IpLmh0bWwoc3ZnKTsKICAgICAgICAkKHNlbGVjdG9yKycgc3ZnJykuYWRkQ2xhc3MoJ3JhZGljYWwnKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXZlbnQgaGFuZGxlciBmb3IgYnV0dG9ucyBvbiB0aGUgUmV2aWV3IEluZm8gcG9wLXVwLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBkZXRhaWxfYnV0dG9uX2NsaWNrZWQoZSkgewogICAgICAgIHZhciBtb2RlID0gZS50YXJnZXQuY2xhc3NOYW1lOwogICAgICAgICQoJyN0aW1lbGluZSAucmV2aWV3X2luZm8nKS5hdHRyKCdkYXRhLW1vZGUnLCBtb2RlKTsKICAgICAgICBzZXR0aW5ncy5yZXZpZXdfZGV0YWlsc19zdW1tYXJ5ID0gbW9kZTsKICAgICAgICBzYXZlX3NldHRpbmdzKCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEV2ZW50IGhhbmRsZXIgZm9yIGhvdmVyaW5nIG92ZXIgYW4gaXRlbSBpbiB0aGUgUmV2aWV3IERldGFpbCBwb3AtdXAuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGl0ZW1faG92ZXIoZSkgewogICAgICAgIGlmIChzZXR0aW5ncy5zaG93X3Jldmlld19kZXRhaWxzICE9PSAnZnVsbCcpIHJldHVybjsKICAgICAgICB2YXIgaW5mbyA9ICQoJyN0aW1lbGluZSAuaXRlbV9pbmZvJyk7CiAgICAgICAgc3dpdGNoIChlLnR5cGUpIHsKICAgICAgICAgICAgY2FzZSAnbW91c2VlbnRlcic6CiAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gJChlLmN1cnJlbnRUYXJnZXQpOwogICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBncmFwaC5jdXJyZW50X2J1bmRsZS5pdGVtc1t0YXJnZXQuaW5kZXgoKV07CiAgICAgICAgICAgICAgICB2YXIgcG9zID0gdGFyZ2V0LnBvc2l0aW9uKCk7CiAgICAgICAgICAgICAgICBpbmZvLmNzcyh7dG9wOnBvcy50b3ArdGFyZ2V0Lm91dGVySGVpZ2h0KCkrM30pOwogICAgICAgICAgICAgICAgcG9wdWxhdGVfaXRlbV9pbmZvKGluZm8sIGl0ZW0pOwogICAgICAgICAgICAgICAgaW5mby5yZW1vdmVDbGFzcygnaGlkZGVuJyk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ21vdXNlbGVhdmUnOgogICAgICAgICAgICAgICAgaW5mby5hZGRDbGFzcygnaGlkZGVuJyk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEhhbmRsZXIgZm9yIHJlc2l6aW5nIHRoZSB0aW1lbGluZSB3aGVuIHRoZSB3aW5kb3cgc2l6ZSBjaGFuZ2VzLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB3aW5kb3dfcmVzaXplZCgpIHsKICAgICAgICB2YXIgbmV3X3dpZHRoID0gZ3JhcGguZWxlbS53aWR0aCgpOwogICAgICAgIGlmIChuZXdfd2lkdGggIT0gZ3JhcGgueF9heGlzLndpZHRoICsgZ3JhcGgubWFyZ2luLmxlZnQpIHsKICAgICAgICAgICAgYnVuZGxlX2J5X3RpbWVzbG90KCk7CiAgICAgICAgICAgIGRyYXdfdGltZWxpbmUoKTsKICAgICAgICB9CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEdlbmVyYXRlIHRoZSBIVE1MIGNvbnRlbnQgb2YgdGhlIEl0ZW0gRGV0YWlsIHBvcC11cC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdmFyIHNyc19zdGFnZXMgPSBbJ0luaXRpYXRlJywgJ0FwcHJlbnRpY2UgMScsICdBcHByZW50aWNlIDInLCAnQXBwcmVudGljZSAzJywgJ0FwcHJlbnRpY2UgNCcsICdHdXJ1IDEnLCAnR3VydSAyJywgJ01hc3RlcicsICdFbmxpZ2h0ZW5lZCcsICdCdXJuZWQnXQogICAgZnVuY3Rpb24gcG9wdWxhdGVfaXRlbV9pbmZvKGluZm8sIGl0ZW0pIHsKICAgICAgICB2YXIgaHRtbDsKICAgICAgICBzd2l0Y2ggKGl0ZW0ub2JqZWN0KSB7CiAgICAgICAgICAgIGNhc2UgJ3JhZGljYWwnOgogICAgICAgICAgICAgICAgaWYgKGl0ZW0uZGF0YS5jaGFyYWN0ZXJzICE9PSBudWxsICYmIGl0ZW0uZGF0YS5jaGFyYWN0ZXJzICE9PSAnJykgewogICAgICAgICAgICAgICAgICAgIGh0bWwgPSAnPHNwYW4gY2xhc3M9Iml0ZW0iPlJhZGljYWw6IDxzcGFuIGNsYXNzPSJzbHVnIiBsYW5nPSJqYSI+JytpdGVtLmRhdGEuY2hhcmFjdGVycysnPC9zcGFuPjwvc3Bhbj48YnI+JzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaHRtbCA9ICc8c3BhbiBjbGFzcz0iaXRlbSI+UmFkaWNhbDogPHNwYW4gY2xhc3M9InNsdWciIGRhdGEtcmFkbmFtZT0iJytpdGVtLmRhdGEuc2x1ZysnIj4nOwogICAgICAgICAgICAgICAgICAgIHZhciB1cmwgPSBpdGVtLmRhdGEuY2hhcmFjdGVyX2ltYWdlcy5maWx0ZXIoZnVuY3Rpb24oaW1nKXsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChpbWcuY29udGVudF90eXBlID09PSAnaW1hZ2Uvc3ZnK3htbCcgJiYgaW1nLm1ldGFkYXRhLmlubGluZV9zdHlsZXMpOwogICAgICAgICAgICAgICAgICAgIH0pWzBdPy51cmw7CiAgICAgICAgICAgICAgICAgICAgaWYgKCF1cmwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaHRtbCArPSAnPz8nOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGh0bWwgKz0gJzx3ay1jaGFyYWN0ZXItaW1hZ2Ugc3JjPSInK3VybCsnIj48L3drLWNoYXJhY3Rlci1pbWFnZT4nOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8L3NwYW4+PC9zcGFuPjxicj4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICdrYW5qaSc6CiAgICAgICAgICAgICAgICBodG1sID0gJzxzcGFuIGNsYXNzPSJpdGVtIj5LYW5qaTogPHNwYW4gY2xhc3M9InNsdWciIGxhbmc9ImphIj4nK2l0ZW0uZGF0YS5zbHVnKyc8L3NwYW4+PC9zcGFuPjxicj4nOwogICAgICAgICAgICAgICAgaHRtbCArPSBnZXRfaW1wb3J0YW50X3JlYWRpbmcoaXRlbSkrJzxicj4nOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlICd2b2NhYnVsYXJ5JzoKICAgICAgICAgICAgICAgIGh0bWwgPSAnPHNwYW4gY2xhc3M9Iml0ZW0iPlZvY2FiOiA8c3BhbiBjbGFzcz0ic2x1ZyIgbGFuZz0iamEiPicraXRlbS5kYXRhLnNsdWcrJzwvc3Bhbj48L3NwYW4+PGJyPic7CiAgICAgICAgICAgICAgICBodG1sICs9ICdSZWFkaW5nOiAnK2dldF9yZWFkaW5nKGl0ZW0pKyc8YnI+JzsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAna2FuYV92b2NhYnVsYXJ5JzoKICAgICAgICAgICAgICAgIGh0bWwgPSAnPHNwYW4gY2xhc3M9Iml0ZW0iPlZvY2FiOiA8c3BhbiBjbGFzcz0ic2x1ZyIgbGFuZz0iamEiPicraXRlbS5kYXRhLnNsdWcrJzwvc3Bhbj48L3NwYW4+PGJyPic7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaHRtbCArPSAnTWVhbmluZzogJytnZXRfbWVhbmluZ3MoaXRlbSkrJzxicj4nOwogICAgICAgIGh0bWwgKz0gJ0xldmVsOiAnK2l0ZW0uZGF0YS5sZXZlbCsnPGJyPic7CiAgICAgICAgaHRtbCArPSAnU1JTIExldmVsOiAnK2l0ZW0uYXNzaWdubWVudHMuc3JzX3N0YWdlKycgKCcrc3JzX3N0YWdlc1tpdGVtLmFzc2lnbm1lbnRzLnNyc19zdGFnZV0rJyknOwogICAgICAgIGluZm8uaHRtbChodG1sKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gTG9hZCBhIHJhZGljYWwncyBzdmcgZmlsZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gbG9hZF9yYWRpY2FsX3N2ZyhpdGVtKSB7CiAgICAgICAgdmFyIHByb21pc2UgPSBncmFwaC5yYWRpY2FsX2NhY2hlW2l0ZW0uZGF0YS5zbHVnXTsKICAgICAgICBpZiAocHJvbWlzZSkgcmV0dXJuIHByb21pc2U7CiAgICAgICAgaWYgKGl0ZW0uZGF0YS5jaGFyYWN0ZXJfaW1hZ2VzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHByb21pc2U7CiAgICAgICAgdmFyIHVybCA9IGl0ZW0uZGF0YS5jaGFyYWN0ZXJfaW1hZ2VzLmZpbHRlcihmdW5jdGlvbihpbWcpewogICAgICAgICAgICByZXR1cm4gKGltZy5jb250ZW50X3R5cGUgPT09ICdpbWFnZS9zdmcreG1sJyAmJiBpbWcubWV0YWRhdGEuaW5saW5lX3N0eWxlcyk7CiAgICAgICAgfSlbMF0/LnVybDsKICAgICAgICBwcm9taXNlID0gd2tvZi5sb2FkX2ZpbGUodXJsKTsKICAgICAgICBncmFwaC5yYWRpY2FsX2NhY2hlW2l0ZW0uZGF0YS5zbHVnXSA9IHByb21pc2U7CiAgICAgICAgcmV0dXJuIHByb21pc2U7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIEV4dHJhY3QgdGhlIG1lYW5pbmdzIChpbmNsdWRpbmcgc3lub255bXMpIGZyb20gYW4gaXRlbS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X21lYW5pbmdzKGl0ZW0pIHsKICAgICAgICB2YXIgbWVhbmluZ3MgPSBbXTsKICAgICAgICBpZiAoaXRlbS5zdHVkeV9tYXRlcmlhbHMgJiYgaXRlbS5zdHVkeV9tYXRlcmlhbHMubWVhbmluZ19zeW5vbnltcykgewogICAgICAgICAgICBtZWFuaW5ncyA9IGl0ZW0uc3R1ZHlfbWF0ZXJpYWxzLm1lYW5pbmdfc3lub255bXM7CiAgICAgICAgfQogICAgICAgIG1lYW5pbmdzID0gbWVhbmluZ3MuY29uY2F0KGl0ZW0uZGF0YS5tZWFuaW5ncy5tYXAobWVhbmluZyA9PiBtZWFuaW5nLm1lYW5pbmcpKTsKICAgICAgICByZXR1cm4gdG9fdGl0bGVfY2FzZShtZWFuaW5ncy5qb2luKCcsICcpKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRXh0cmFjdCB0aGUgJ2ltcG9ydGFudCcgcmVhZGluZ3MgZnJvbSBhIGthbmppLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBnZXRfaW1wb3J0YW50X3JlYWRpbmcoaXRlbSkgewogICAgICAgIHZhciByZWFkaW5ncyA9IGl0ZW0uZGF0YS5yZWFkaW5ncy5maWx0ZXIocmVhZGluZyA9PiByZWFkaW5nLnByaW1hcnkpOwogICAgICAgIHJldHVybiB0b190aXRsZV9jYXNlKHJlYWRpbmdzWzBdLnR5cGUpKyc6ICcrcmVhZGluZ3MubWFwKHJlYWRpbmcgPT4gcmVhZGluZy5yZWFkaW5nKS5qb2luKCcsICcpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBFeHRyYWN0IHRoZSBsaXN0IG9mIHJlYWRpbmdzIGZyb20gYW4gaXRlbS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X3JlYWRpbmcoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmRhdGEucmVhZGluZ3MubWFwKHJlYWRpbmcgPT4gcmVhZGluZy5yZWFkaW5nKS5qb2luKCcsICcpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBIaWRlIHRoZSBSZXZpZXcgSW5mbyBwb3AtdXAuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGhpZGVfcmV2aWV3X2luZm8oKSB7CiAgICAgICAgJCgnI3RpbWVsaW5lIC5yZXZpZXdfaW5mbycpLmFkZENsYXNzKCdoaWRkZW4nKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gR2VuZXJhdGUgYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGZvcm1hdF9kYXRlKHRpbWUsIGFsbG93X25vdywgc2hvd19kYXksIHNob3dfbW9udGgpIHsKICAgICAgICB2YXIgc3RyID0gJyc7CiAgICAgICAgaWYgKGFsbG93X25vdyAmJiB0aW1lLmdldFRpbWUoKSA+PSBncmFwaC5zdGFydF90aW1lLmdldFRpbWUoKSkgcmV0dXJuICdOb3cnOwogICAgICAgIGlmIChzaG93X2RheSkgewogICAgICAgICAgICBpZiAobmV3IERhdGUodGltZSkuc2V0SG91cnMoMCwwLDAsMCkgPT09IChuZXcgRGF0ZSgpKS5zZXRIb3VycygwLDAsMCwwKSkgewogICAgICAgICAgICAgICAgc3RyID0gJ1RvZGF5JzsKICAgICAgICAgICAgICAgIHNob3dfbW9udGggPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHN0ciA9ICdTdW5Nb25UdWVXZWRUaHVGcmlTYXQnLnN1YnN0cih0aW1lLmdldERheSgpKjMsIDMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChzaG93X21vbnRoKSB7CiAgICAgICAgICAgICAgICBzdHIgKz0gJywgJyArICdKYW5GZWJNYXJBcHJNYXlKdW5KdWxBdWdTZXBPY3ROb3ZEZWMnLnN1YnN0cih0aW1lLmdldE1vbnRoKCkqMywgMykgKyAnICcgKyB0aW1lLmdldERhdGUoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoc2V0dGluZ3MudGltZV9mb3JtYXQgPT09ICcyNGhvdXInKSB7CiAgICAgICAgICAgIHN0ciArPSAnICcgKyAoJzAnICsgdGltZS5nZXRIb3VycygpKS5zbGljZSgtMikgKyAnOicgKyAoJzAnK3RpbWUuZ2V0TWludXRlcygpKS5zbGljZSgtMik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc3RyICs9ICcgJyArICgnMCcgKyAoKCh0aW1lLmdldEhvdXJzKCkrMTEpJTEyKSsxKSkuc2xpY2UoLTIpICsgJzonKygnMCcrdGltZS5nZXRNaW51dGVzKCkpLnNsaWNlKC0yKSArICdhcCdbTWF0aC5mbG9vcih0aW1lLmdldEhvdXJzKCkvMTIpXSArICdtJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHN0cjsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gRmV0Y2ggaXRlbSBpbmZvLCBhbmQgcmVkcmF3IHRoZSB0aW1lbGluZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZmV0Y2hfYW5kX3VwZGF0ZSgpIHsKICAgICAgICByZXR1cm4gd2tvZi5JdGVtRGF0YS5nZXRfaXRlbXMoJ3N1YmplY3RzLCBhc3NpZ25tZW50cywgc3R1ZHlfbWF0ZXJpYWxzJykKICAgICAgICAudGhlbihwcm9jZXNzX2l0ZW1zKQogICAgICAgIC50aGVuKGRyYXdfdGltZWxpbmUpOwogICAgfQoKICAgIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBQcm9jZXNzIHRoZSBmZXRjaGVkIGl0ZW1zLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBwcm9jZXNzX2l0ZW1zKGZldGNoZWRfaXRlbXMpIHsKICAgICAgICAvLyBSZW1vdmUgYW55IHVubGVhcm5lZCBpdGVtcy4KICAgICAgICBncmFwaC5pdGVtcyA9IFtdOwogICAgICAgIGZvciAodmFyIGlkeCBpbiBmZXRjaGVkX2l0ZW1zKSB7CiAgICAgICAgICAgIHZhciBpdGVtID0gZmV0Y2hlZF9pdGVtc1tpZHhdOwogICAgICAgICAgICBpZiAoIWl0ZW0uYXNzaWdubWVudHMgfHwgIWl0ZW0uYXNzaWdubWVudHMuYXZhaWxhYmxlX2F0IHx8IGl0ZW0uYXNzaWdubWVudHMuc3JzX3N0YWdlIDw9IDApIGNvbnRpbnVlOwogICAgICAgICAgICBncmFwaC5pdGVtcy5wdXNoKGl0ZW0pOwogICAgICAgIH0KCiAgICAgICAgZ3JhcGguaXRlbXMuc29ydChmdW5jdGlvbihhLCBiKSB7CiAgICAgICAgICAgIHJldHVybiAobmV3IERhdGUoYS5hc3NpZ25tZW50cy5hdmFpbGFibGVfYXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGIuYXNzaWdubWVudHMuYXZhaWxhYmxlX2F0KS5nZXRUaW1lKCkpOwogICAgICAgIH0pOwoKICAgICAgICBidW5kbGVfYnlfdGltZXNsb3QoKTsKICAgICAgICB1cGRhdGVfc2xpZGVyX3Jldmlld3MoKTsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gQnVuZGxlIHRoZSBpdGVtcyBpbnRvIHRpbWVzbG90cy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gYnVuZGxlX2J5X3RpbWVzbG90KCkgewogICAgICAgIHZhciBidW5kbGVfc2l6ZSA9IGdyYXBoLmJ1bmRsZV9zaXplID0gZ2V0X2hvdXJzX3Blcl9iYXIoKTsKICAgICAgICB2YXIgYnVuZGxlcyA9IGdyYXBoLmJ1bmRsZXMgPSBbXTsKICAgICAgICB2YXIgdGltZXNsb3RzID0gZ3JhcGgudGltZXNsb3RzID0gW107CgogICAgICAgIC8vIFJld2luZCB0aGUgY2xvY2sgdG8gdGhlIHN0YXJ0IG9mIGEgYnVuZGxlIHBlcmlvZC4KICAgICAgICB2YXIgc3RhcnRfdGltZSA9IHRvU3RhcnRPZlVUQ0hvdXIobmV3IERhdGUoKSk7CiAgICAgICAgd2hpbGUgKHN0YXJ0X3RpbWUuZ2V0SG91cnMoKSAlIGJ1bmRsZV9zaXplICE9PSAwKSBzdGFydF90aW1lID0gbmV3IERhdGUoc3RhcnRfdGltZS5nZXRUaW1lKCkgLSAzNjAwMDAwKTsKICAgICAgICBncmFwaC5zdGFydF90aW1lID0gc3RhcnRfdGltZTsKCiAgICAgICAgLy8gRmluZCB0aGUgdGljIG9mIHRoZSBsYXN0IGJ1bmRsZSAocm91bmQgZG93biBpZiBvbmx5IGEgcGFydGlhbCkuCiAgICAgICAgZ3JhcGgudG90YWxfcmV2aWV3cyA9IDA7CiAgICAgICAgZ3JhcGgubWF4X3Jldmlld3MgPSAwOwogICAgICAgIHZhciBob3VyID0gMCwgaXRlbV9pZHggPSAwLCBpdGVtX2NvdW50ID0gMDsKICAgICAgICB2YXIgYnVuZGxlID0ge3N0YXJ0X3RpbWU6aG91ciwgaXRlbXM6W119OwogICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgIHRpbWVzbG90cy5wdXNoKGJ1bmRsZXMubGVuZ3RoKTsKICAgICAgICAgICAgaG91cisrOwogICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSdyZSBwYXN0IGVuZCBvZiB0aGUgdGltZWxpbmUgKGluY2x1ZGluZyByb3VuZGluZyB1cCB0byB0aGUgbmVhcmVzdCBidW5kbGUpCiAgICAgICAgICAgIC8vIE5lZWQgdG8gdXNlIGRhdGUgZnVuY3Rpb24gdG8gYWNjb3VudCBmb3IgdGltZSBzaGlmdHMgKGUuZy4gRGF5bGlnaHQgU2F2aW5ncyBUaW1lKQogICAgICAgICAgICB2YXIgdGltZSA9IG5ldyBEYXRlKHN0YXJ0X3RpbWUuZ2V0VGltZSgpICsgaG91ciAqIDM2MDAwMDApOwogICAgICAgICAgICBpZiAoKHRpbWUuZ2V0SG91cnMoKSAlIGJ1bmRsZV9zaXplKSAhPT0gMCkgY29udGludWU7CgogICAgICAgICAgICB2YXIgc3RhcnRfaWR4ID0gaXRlbV9pZHg7CiAgICAgICAgICAgIHdoaWxlICgoaXRlbV9pZHggPCBncmFwaC5pdGVtcy5sZW5ndGgpICYmCiAgICAgICAgICAgICAgICAgICAobmV3IERhdGUoZ3JhcGguaXRlbXNbaXRlbV9pZHhdLmFzc2lnbm1lbnRzLmF2YWlsYWJsZV9hdCkgPCB0aW1lKSkgewogICAgICAgICAgICAgICAgaXRlbV9pZHgrKzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgYnVuZGxlLml0ZW1zID0gZ3JhcGguaXRlbXMuc2xpY2Uoc3RhcnRfaWR4LCBpdGVtX2lkeCk7CiAgICAgICAgICAgIGJ1bmRsZS5lbmRfdGltZSA9IGhvdXI7CiAgICAgICAgICAgIGNhbGNfYnVuZGxlX3N0YXRzKGJ1bmRsZSk7CiAgICAgICAgICAgIGdyYXBoLmJ1bmRsZXMucHVzaChidW5kbGUpOwoKICAgICAgICAgICAgZ3JhcGgudG90YWxfcmV2aWV3cyArPSBidW5kbGUuaXRlbXMubGVuZ3RoOwogICAgICAgICAgICBpZiAoYnVuZGxlLml0ZW1zLmxlbmd0aCA+IGdyYXBoLm1heF9yZXZpZXdzKSBncmFwaC5tYXhfcmV2aWV3cyA9IGJ1bmRsZS5pdGVtcy5sZW5ndGg7CiAgICAgICAgICAgIGlmIChob3VyID49IGdyYXBoLnhfYXhpcy5tYXhfaG91cnMpIGJyZWFrOwoKICAgICAgICAgICAgYnVuZGxlID0ge3N0YXJ0X3RpbWU6aG91ciwgaXRlbXM6W119OwogICAgICAgIH0KICAgICAgICBncmFwaC54X2F4aXMubWF4X2hvdXJzID0gaG91cjsKICAgIH0KCiAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gQ2FsY3VsYXRlIHN0YXRzIGZvciBhIGJ1bmRsZQogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBjYWxjX2J1bmRsZV9zdGF0cyhidW5kbGUpIHsKICAgICAgICB2YXIgaXR5cGVfdG9faW50ID0ge3JhZGljYWw6MCwga2Fuamk6MSwgdm9jYWJ1bGFyeToyfTsKICAgICAgICB2YXIgaXR5cGVfdG9fY2xhc3MgPSB7cmFkaWNhbDoncmFkJywga2Fuamk6J2thbicsIHZvY2FidWxhcnk6J3ZvYycsIGthbmFfdm9jYWJ1bGFyeTondm9jJ307CiAgICAgICAgdmFyIHNyc190b19jbGFzcyA9IHsKICAgICAgICAgICAgY3VycjogWydhcHByJywnYXBwcicsJ2FwcHInLCdhcHByJywnYXBwcicsJ2d1cnUnLCdndXJ1JywnbWFzdCcsJ2VubGknXSwKICAgICAgICAgICAgbmV4dDogWydhcHByJywnYXBwcicsJ2FwcHInLCdhcHByJywnZ3VydScsJ2d1cnUnLCdtYXN0JywnZW5saScsJ2J1cm4nXQogICAgICAgIH07CiAgICAgICAgYnVuZGxlLml0ZW1zLnNvcnQoZnVuY3Rpb24oYSwgYil7CiAgICAgICAgICAgIHZhciBhX2l0eXBlID0gaXR5cGVfdG9faW50W2Eub2JqZWN0XTsKICAgICAgICAgICAgdmFyIGJfaXR5cGUgPSBpdHlwZV90b19pbnRbYi5vYmplY3RdOwogICAgICAgICAgICBpZiAoYV9pdHlwZSAhPT0gYl9pdHlwZSkgcmV0dXJuIGFfaXR5cGUgLSBiX2l0eXBlOwogICAgICAgICAgICBpZiAoYS5kYXRhLmxldmVsICE9PSBiLmRhdGEubGV2ZWwpIHJldHVybiBhLmRhdGEubGV2ZWwgLSBiLmRhdGEubGV2ZWw7CiAgICAgICAgICAgIHJldHVybiBhLmRhdGEuc2x1Zy5sb2NhbGVDb21wYXJlKGIuZGF0YS5zbHVnKTsKICAgICAgICB9KTsKICAgICAgICBidW5kbGUuc3RhdHMgPSB7CiAgICAgICAgICAgIGNvdW50OjAsCiAgICAgICAgICAgIHJhZDowLCBrYW46MCwgdm9jOjAsCiAgICAgICAgICAgIGFwcHI6MCwgZ3VydTowLCBtYXN0OjAsIGVubGk6MCwgYnVybjowLAogICAgICAgICAgICBsdmxncnAwOjAsIGx2bGdycDE6MCwgbHZsZ3JwMjowLCBsdmxncnAzOjAsIGx2bGdycDQ6MCwgbHZsZ3JwNTowLAogICAgICAgICAgICBjdXJyX2NvdW50OiAwLAogICAgICAgICAgICBoYXNfY3Vycl9tYXJrZXI6IGZhbHNlLAogICAgICAgICAgICBidXJuX2NvdW50OiAwCiAgICAgICAgfTsKICAgICAgICB2YXIgc3RhdHMgPSBidW5kbGUuc3RhdHM7CiAgICAgICAgZm9yICh2YXIgaXRlbV9pZHggaW4gYnVuZGxlLml0ZW1zKSB7CiAgICAgICAgICAgIHZhciBpdGVtID0gYnVuZGxlLml0ZW1zW2l0ZW1faWR4XTsKICAgICAgICAgICAgc3RhdHMuY291bnQrKzsKICAgICAgICAgICAgc3RhdHNbaXR5cGVfdG9fY2xhc3NbaXRlbS5vYmplY3RdXSsrOwogICAgICAgICAgICBzdGF0c1tzcnNfdG9fY2xhc3Nbc2V0dGluZ3Muc3JzX2N1cnJfbmV4dF1baXRlbS5hc3NpZ25tZW50cy5zcnNfc3RhZ2VdXSsrOwogICAgICAgICAgICBzdGF0c1snbHZsZ3JwJytNYXRoLmZsb29yKChpdGVtLmRhdGEubGV2ZWwtMSkvMTApXSsrOwogICAgICAgICAgICBpZiAoaXRlbS5kYXRhLmxldmVsID09PSB3a29mLnVzZXIubGV2ZWwpIHsKICAgICAgICAgICAgICAgIHN0YXRzLmN1cnJfY291bnQrKzsKICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5jdXJyZW50X2xldmVsX21hcmtlcnMuaW5kZXhPZihpdHlwZV90b19jbGFzc1tpdGVtLm9iamVjdF1bMF0pID49IDApIHsKICAgICAgICAgICAgICAgICAgICBzdGF0cy5oYXNfY3Vycl9tYXJrZXIgPSB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJ1bmRsZS5zdGF0cy5idXJuX2NvdW50ID0gYnVuZGxlLnN0YXRzW3Nyc190b19jbGFzc1tzZXR0aW5ncy5zcnNfY3Vycl9uZXh0XVs4XV07CiAgICAgICAgZ3JhcGguY3VycmVudF9idW5kbGUgPSBidW5kbGU7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFJldHVybiB0aGUgdGltZXN0YW1wIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgVVRDIGhvdXIuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHRvU3RhcnRPZlVUQ0hvdXIoZGF0ZSkgewogICAgICAgIHZhciBkID0gKGRhdGUgaW5zdGFuY2VvZiBEYXRlID8gZGF0ZS5nZXRUaW1lKCkgOiBkYXRlKTsKICAgICAgICBkID0gTWF0aC5mbG9vcihkLzM2MDAwMDApKjM2MDAwMDA7CiAgICAgICAgcmV0dXJuIChkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IG5ldyBEYXRlKGQpIDogZCk7CiAgICB9CgogICAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIC8vIFN0YXJ0IGEgdGltZXIgdG8gcmVmcmVzaCB0aGUgdGltZWxpbmUgKHdpdGhvdXQgZmV0Y2gpIGF0IHRoZSB0b3Agb2YgdGhlIGhvdXIuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHN0YXJ0X3JlZnJlc2hfdGltZXIoKSB7CiAgICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7CiAgICAgICAgdmFyIG5leHRfaG91ciA9IHRvU3RhcnRPZlVUQ0hvdXIobm93KSArIDM2MDEwMDA7IC8vIDEgc2Vjb25kIHBhc3QgdGhlIG5leHQgVVRDIGhvdXIuCiAgICAgICAgdmFyIHdhaXRfdGltZSA9IChuZXh0X2hvdXIgLSBub3cpOwogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgICAgICAgICAgYnVuZGxlX2J5X3RpbWVzbG90KCk7CiAgICAgICAgICAgIHVwZGF0ZV9zbGlkZXJfcmV2aWV3cygpOwogICAgICAgICAgICBkcmF3X3RpbWVsaW5lKCk7CiAgICAgICAgICAgIHN0YXJ0X3JlZnJlc2hfdGltZXIoKTsKICAgICAgICB9LCB3YWl0X3RpbWUpOwogICAgfQoKfSkod2luZG93LnRpbWVsaW5lKTsK"},{"name":"WaniKani Stroke Order","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_arrayleft":false,"compat_uW_gmonkey":false,"compat_forvarin":false,"noframes":null,"awareOfChrome":false,"run_at":null,"override":{"use_includes":[],"orig_includes":["http*://*wanikani.com/kanji/*","http*://*wanikani.com/level/*/kanji/*","http*://*wanikani.com/review/session","http*://*wanikani.com/lesson/session"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":["jisho.org"],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649628,"data":{}},"enabled":true,"position":5,"file_url":"https://greasyfork.org/scripts/723-wanikani-stroke-order/code/WaniKani%20Stroke%20Order.user.js","uuid":"648066f1-2454-460b-9217-49d3d4376da9","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlLYW5pIFN0cm9rZSBPcmRlcgovLyBAbmFtZXNwYWNlICAgamFwYW5lc2UKLy8gQGRlc2NyaXB0aW9uIFNob3dzIGEga2FuamkncyBzdHJva2Ugb3JkZXIgb24gaXRzIHBhZ2UgYW5kIGR1cmluZyBsZXNzb25zIGFuZCByZXZpZXdzLgovLyBAbGljZW5zZSAgICAgR1BMIHZlcnNpb24gMyBvciBhbnkgbGF0ZXIgdmVyc2lvbjsgaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCi8vIEBpbmNsdWRlICAgICBodHRwKjovLyp3YW5pa2FuaS5jb20va2FuamkvKgovLyBAaW5jbHVkZSAgICAgaHR0cCo6Ly8qd2FuaWthbmkuY29tL2xldmVsLyova2FuamkvKgovLyBAaW5jbHVkZSAgICAgaHR0cCo6Ly8qd2FuaWthbmkuY29tL3Jldmlldy9zZXNzaW9uCi8vIEBpbmNsdWRlICAgICBodHRwKjovLyp3YW5pa2FuaS5jb20vbGVzc29uL3Nlc3Npb24KLy8gQHZlcnNpb24gICAgIDEuMS4yCi8vIEBncmFudCAgICAgICBHTV94bWxodHRwUmVxdWVzdAovLyBAcmVxdWlyZSAgICAgaHR0cDovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjEwLjIvanF1ZXJ5Lm1pbi5qcwovLyA9PS9Vc2VyU2NyaXB0PT0KCi8qCiAqIFRoYW5rcyBhIGxvdCB0byAuLi4KICogV2FuaWthbmkgUGhvbmV0aWMtU2VtYW50aWMgQ29tcG9zaXRpb24gLSBVc2Vyc2NyaXB0CiAqIGJ5IHJ1aXBncGluaGVpcm8gKExvcmRHcmF2ZXdpc2gpCiAqIC4uLiBmb3IgY29kZSBzaG93aW5nIG1lIGhvdyB0byBpbnNlcnQgc2VjdGlvbnMgZHVyaW5nIGthbmppIHJldmlld3MuCiAqIFRoZSBjb2RlIGhlYXZpbHkgYm9ycm93cyBmcm9tIHRoYXQgc2NyaXB0IQogKiBBbHNvIHRoYW5rcyB0byBIYWxvIGZvciBhIGxvYWRpbmcgYnVnIGZpeCEKICovCgovKgogKiBIZWxwZXIgRnVuY3Rpb25zL1ZhcmlhYmxlcwogKi8KJCA9IHVuc2FmZVdpbmRvdy4kOwoKLyoKICogR2xvYmFsIFZhcmlhYmxlcy9PYmplY3RzL0NsYXNzZXMKICovCnZhciBQYWdlRW51bSA9IE9iamVjdC5mcmVlemUoeyB1bmtub3duOjAsIGthbmppOjEsIHJldmlld3M6MiwgbGVzc29uczozIH0pOwp2YXIgY3VyUGFnZSA9IFBhZ2VFbnVtLnVua25vd247CnZhciBKSVNITyA9ICJodHRwOi8vY2xhc3NpYy5qaXNoby5vcmciOwoKLyoKICogTWFpbgogKi8KZnVuY3Rpb24gaW5pdCgpIHsKICAgIC8vIERldGVybWluZSBwYWdlIHR5cGUKICAgIGlmICgvXC9rYW5qaVwvLi8udGVzdChkb2N1bWVudC5VUkwpKSB7CiAgICAgICAgY3VyUGFnZSA9IFBhZ2VFbnVtLmthbmppOwogICAgfSBlbHNlIGlmICgvXC9yZXZpZXcvLnRlc3QoZG9jdW1lbnQuVVJMKSkgewogICAgICAgIGN1clBhZ2UgPSBQYWdlRW51bS5yZXZpZXdzOwogICAgfSBlbHNlIGlmICgvXC9sZXNzb24vLnRlc3QoZG9jdW1lbnQuVVJMKSkgewogICAgICAgIGN1clBhZ2UgPSBQYWdlRW51bS5sZXNzb25zOwogICAgfQoKICAgIC8vIENyZWF0ZSBhbmQgc3RvcmUgdGhlIGVsZW1lbnQgdGhhdCB3aWxsIGhvbGQgdGhlIGltYWdlCiAgICB1bnNhZmVXaW5kb3cuZGlhZ3JhbSA9IGNyZWF0ZURpYWdyYW1TZWN0aW9uKCk7CgogICAgLy8gUmVnaXN0ZXIgY2FsbGJhY2sgZm9yIHdoZW4gdG8gbG9hZCBzdHJva2Ugb3JkZXIKICAgIHN3aXRjaCAoY3VyUGFnZSkgewogICAgICAgIGNhc2UgUGFnZUVudW0ua2Fuamk6CiAgICAgICAgICAgIGxvYWREaWFncmFtKCk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgUGFnZUVudW0ucmV2aWV3czoKICAgICAgICAgICAgdmFyIG8gPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMpIHsKICAgICAgICAgICAgICAgLy8gVGhlIGxhc3Qgb25lIGFsd2F5cyBoYXMgMiBtdXRhdGlvbnMsIHNvIGxldCdzIHVzZSB0aGF0CiAgICAgICAgICAgICAgIGlmIChtdXRhdGlvbnMubGVuZ3RoICE9IDIpCiAgICAgICAgICAgICAgICAgICByZXR1cm47CgogICAgICAgICAgICAgICAvLyBSZXZpZXdzIGR5bmFtaWNhbGx5IGdlbmVyYXRlIHRoZSBET00uIFdlIGFsd2F5cyBuZWVkIHRvIHJlLWluc2VydCB0aGUgZWxlbWVudAogICAgICAgICAgICAgICBpZiAoZ2V0S2FuamkoKSAhPT0gbnVsbCkgewogICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgIHZhciBkaWFncmFtID0gY3JlYXRlRGlhZ3JhbVNlY3Rpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGlhZ3JhbSAhPT0gbnVsbCAmJiBkaWFncmFtLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zYWZlV2luZG93LmRpYWdyYW0gPSBkaWFncmFtOwogICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkRGlhZ3JhbSgpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0sIDE1MCk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIG8ub2JzZXJ2ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXRlbS1pbmZvJyksIHsnYXR0cmlidXRlcycgOiB0cnVlfSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgUGFnZUVudW0ubGVzc29uczoKICAgICAgICAgICAgdmFyIG8gPSBuZXcgTXV0YXRpb25PYnNlcnZlcihsb2FkRGlhZ3JhbSk7CiAgICAgICAgICAgIG8ub2JzZXJ2ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3VwcGxlbWVudC1rYW4nKSwgeydhdHRyaWJ1dGVzJyA6IHRydWV9KTsKICAgICAgICAgICAgbG9hZERpYWdyYW0oKTsKICAgICAgICAgICAgYnJlYWs7CiAgICB9Cn0KCmlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7CiAgICBpbml0KCk7Cn0gZWxzZSB7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGluaXQpOwp9CgovKgogKiBSZXR1cm5zIHRoZSBjdXJyZW50IGthbmppCiAqLwpmdW5jdGlvbiBnZXRLYW5qaSgpIHsKICAgIHN3aXRjaChjdXJQYWdlKSB7CiAgICAgICAgY2FzZSBQYWdlRW51bS5rYW5qaToKICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LnRpdGxlW2RvY3VtZW50LnRpdGxlLmxlbmd0aCAtIDFdOwoKICAgICAgICBjYXNlIFBhZ2VFbnVtLnJldmlld3M6CiAgICAgICAgICAgIHZhciBjdXJJdGVtID0gJC5qU3RvcmFnZS5nZXQoImN1cnJlbnRJdGVtIik7CiAgICAgICAgICAgIGlmKCJrYW4iIGluIGN1ckl0ZW0pCiAgICAgICAgICAgICAgICByZXR1cm4gY3VySXRlbS5rYW4udHJpbSgpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKCiAgICAgICAgY2FzZSBQYWdlRW51bS5sZXNzb25zOgogICAgICAgICAgICB2YXIga2FuamlOb2RlID0gJCgiI2NoYXJhY3RlciIpOwoKICAgICAgICAgICAgaWYoa2FuamlOb2RlID09PSB1bmRlZmluZWQgfHwga2FuamlOb2RlID09PSBudWxsKQogICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CgogICAgICAgICAgICByZXR1cm4ga2FuamlOb2RlLnRleHQoKS50cmltKCk7CiAgICB9CgogICAgcmV0dXJuIG51bGw7Cn0KCi8qCiAqIENyZWF0ZXMgYSBzZWN0aW9uIGZvciB0aGUgZGlhZ3JhbSBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gaXRzIGNvbnRlbnQKICovCmZ1bmN0aW9uIGNyZWF0ZURpYWdyYW1TZWN0aW9uKCkgewoKICAgIC8vIFJldmlld3MgaGFjazogT25seSBkbyBpdCBvbmNlCiAgICBpZiAoJCgnI3N0cm9rZV9vcmRlcicpLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgdmFyIHNlY3Rpb25IVE1MID0gJzxzZWN0aW9uPjxoMj5TdHJva2UgT3JkZXI8L2gyPjxwIGlkPSJzdHJva2Vfb3JkZXIiPiZuYnNwOzwvcD48L3NlY3Rpb24+JzsKCiAgICAgICAgc3dpdGNoKGN1clBhZ2UpIHsKICAgICAgICAgICAgY2FzZSBQYWdlRW51bS5rYW5qaToKICAgICAgICAgICAgICAgICQoc2VjdGlvbkhUTUwpLmluc2VydEFmdGVyKCcjaW5mb3JtYXRpb24nKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIFBhZ2VFbnVtLnJldmlld3M6CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygicHJlcGVuZCIpOwogICAgICAgICAgICAgICAgJCgnI2l0ZW0taW5mby1jb2wyJykucHJlcGVuZChzZWN0aW9uSFRNTCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSBQYWdlRW51bS5sZXNzb25zOgogICAgICAgICAgICAgICAgJCgnI3N1cHBsZW1lbnQta2FuLWJyZWFrZG93biAuY29sMScpLmFwcGVuZChzZWN0aW9uSFRNTCk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuICQoJyNzdHJva2Vfb3JkZXInKTsKfQoKLyoKICogQWRkcyB0aGUgZGlhZ3JhbSBzZWN0aW9uIGVsZW1lbnQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9uCiAqLwpmdW5jdGlvbiBsb2FkRGlhZ3JhbSgpIHsKCiAgICBpZiAoIXVuc2FmZVdpbmRvdyB8fCAhdW5zYWZlV2luZG93LmRpYWdyYW0ubGVuZ3RoKQogICAgICAgIHJldHVybjsKCiAgICB1bnNhZmVXaW5kb3cuZGlhZ3JhbS5odG1sKCJMb2FkaW5nLi4uIik7CgogICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICBHTV94bWxodHRwUmVxdWVzdCh7CiAgICAgICAgICAgIG1ldGhvZDogIkdFVCIsCiAgICAgICAgICAgIHVybDogSklTSE8gKyAiL2thbmppL2RldGFpbHMvIiArIGdldEthbmppKCksCiAgICAgICAgICAgIG9ubG9hZDogZnVuY3Rpb24oeGhyKSB7CiAgICAgICAgICAgICAgICB2YXIgZGlhZ3JhbSA9IHVuc2FmZVdpbmRvdy5kaWFncmFtOwogICAgICAgICAgICAgICAgaWYgKHhoci5zdGF0dXMgPT0gMjAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGRpYWdyYW1VUkwgPSB4aHIucmVzcG9uc2VUZXh0Lm1hdGNoKC9cL3N0YXRpY1wvaW1hZ2VzXC9zdHJva2VfZGlhZ3JhbXNcL1swLTldK19mcmFtZXNcLnBuZy8pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdyYW0uaHRtbCgnPGltZyBzcmM9IicgKyBKSVNITyArIGRpYWdyYW1VUkxbMF0gKyAnIiBhbHQ9IlN0cm9rZSBvcmRlciBkaWFncmFtIiAvPicpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHVuc2FmZVdpbmRvdy5kaWFncmFtLmh0bWwoIkVycm9yIHdoaWxlIGxvYWRpbmcgZGlhZ3JhbSIpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBvbmVycm9yOiBmdW5jdGlvbih4aHIpIHsKICAgICAgICAgICAgICAgIHVuc2FmZVdpbmRvdy5kaWFncmFtLmh0bWwoIkVycm9yIHdoaWxlIGxvYWRpbmcgZGlhZ3JhbSIpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9LCAwKTsKfQ==","requires":[]},{"name":"Google View Image","options":{"check_for_updates":false,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"noframes":null,"run_at":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":["https://www.google.com/**"],"orig_matches":["https://**/*","http://**/*"],"merge_matches":false,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1606921521538,"data":{}},"enabled":true,"position":6,"file_url":"https://openuserjs.org/install/laidbacktempo/Google_View_Image.user.js","uuid":"21e7da1a-d1ce-4acf-9838-a7b170386128","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBHb29nbGUgVmlldyBJbWFnZQovLyBAbmFtZXNwYWNlICAgIGh0dHA6Ly9Hb29nbGVWaWV3SW1hZ2UuY29tLwovLyBAdmVyc2lvbiAgICAgIDAuMQovLyBAZGVzY3JpcHRpb24gIEJyaW5nIGJhY2sgR29vZ2xlIFZpZXcgSW1hZ2UhCi8vIEBhdXRob3IgICAgICAgbGFpZGJhY2tUZW1wbwovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vKiovKgovLyBAbWF0Y2ggICAgICAgIGh0dHA6Ly8qKi8qCi8vIEBsaWNlbnNlIE1JVAovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgpmdW5jdGlvbiB0b0kxOG4oc3RyKSB7CiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL19fTVNHXyhcdyspX18vZywgZnVuY3Rpb24gKG1hdGNoLCB2MSkgewogICAgICAgIHJldHVybiB2MSA/IGNocm9tZS5pMThuLmdldE1lc3NhZ2UodjEpIDogJyc7CiAgICB9KTsKfQoKZnVuY3Rpb24gbG9jYWxpc2VPYmplY3Qob2JqLCB0YWcpIHsKICAgIG9iai5pbm5lckhUTUwgPSB0YWc7CiAgICByZXR1cm47CiAgICAvL3ZhciBtc2cgPSB0b0kxOG4odGFnKTsKICAgIC8vaWYgKG1zZyAhPSB0YWcpIG9iai5pbm5lckhUTUwgPSBtc2c7Cn0KCmZ1bmN0aW9uIGFkZExpbmtzKG5vZGUpIHsKICAgIC8vIGNvbnNvbGUubG9nKCJBZGRpbmcgbGluayIpOwogICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7CiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCJBZGRpbmcgbGluayBpbiIpOwogICAgICAgIGlmICgobm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ2lyY19yaXMnKSkgfHwgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcmNfbWknKSB8fCAobm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ2lyY190YXMnKSkpKSB7CiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygiQWRkaW5nIGxpbmsgT0sgT0sgIik7CiAgICAgICAgICAgIHZhciBvYmplY3QgPSBub2RlLmNsb3Nlc3QoJy5pcmNfYycpOwogICAgICAgICAgICAvLyBSZXRyaXZlIGltYWdlIGxpbmtzLCBhbmQgaW1hZ2UgdXJsCiAgICAgICAgICAgIHZhciBpbWFnZUxpbmtzID0gb2JqZWN0LnF1ZXJ5U2VsZWN0b3IoJy5fRkt3LmlyY19idXRfciA+IHRib2R5ID4gdHInKTsKICAgICAgICAgICAgdmFyIGltYWdlVGV4dCA9IG9iamVjdC5xdWVyeVNlbGVjdG9yKCcuX2NqaiA+IC5pcmNfaXQgPiAuaXJjX2hkID4gLl9yMycpOwoKICAgICAgICAgICAgLy8gUmV0cml2ZSB0aGUgaW1hZ2UgVVJMCiAgICAgICAgICAgIHZhciBpbWFnZVVSTDsKCiAgICAgICAgICAgIHZhciB0aHVtYm5haWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWdbbmFtZT0iJyArIG9iamVjdC5kYXRhc2V0Lml0ZW1JZCArICciXScpOwogICAgICAgICAgICBpZiAodGh1bWJuYWlsKSB7CiAgICAgICAgICAgICAgICB2YXIgbWV0YSA9IHRodW1ibmFpbC5jbG9zZXN0KCcucmdfYngnKS5xdWVyeVNlbGVjdG9yKCcucmdfbWV0YScpOwogICAgICAgICAgICAgICAgdmFyIG1ldGFkYXRhID0gSlNPTi5wYXJzZShtZXRhLmlubmVySFRNTCk7CiAgICAgICAgICAgICAgICBpbWFnZVVSTCA9IG1ldGFkYXRhLm91OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaW1hZ2VVUkwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdpcmNfbWknKVswXS5zcmM7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJlbW92ZSBwcmV2aW91c2x5IGdlbmVyYXRlZCB2aWV3IGltYWdlIGJ1dHRvbnMKICAgICAgICAgICAgdmFyIG9sZFZpZXdJbWFnZSA9IGltYWdlTGlua3MucXVlcnlTZWxlY3RvcignLmV4dF9hZGRvbicpOwogICAgICAgICAgICBpZiAob2xkVmlld0ltYWdlKSB7CiAgICAgICAgICAgICAgICBpbWFnZUxpbmtzLnJlbW92ZUNoaWxkKG9sZFZpZXdJbWFnZSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIHJlbW92ZSBwcmV2aW91c2x5IGdlbmVyYXRlZCBzZWFyY2ggYnkgaW1hZ2UgbGlua3MKICAgICAgICAgICAgdmFyIG9sZFNlYXJjaEJ5SW1hZ2UgPSBpbWFnZVRleHQucXVlcnlTZWxlY3RvcignLmV4dF9hZGRvbicpOwogICAgICAgICAgICBpZiAob2xkU2VhcmNoQnlJbWFnZSkgewogICAgICAgICAgICAgICAgaW1hZ2VUZXh0LnJlbW92ZUNoaWxkKG9sZFNlYXJjaEJ5SW1hZ2UpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDcmVhdGUgU2VhcmNoIGJ5IGltYWdlIGJ1dHRvbgogICAgICAgICAgICB2YXIgc2VhcmNoQnlJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgc2VhcmNoQnlJbWFnZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCAnL3NlYXJjaGJ5aW1hZ2U/JmltYWdlX3VybD0nICsgaW1hZ2VVUkwpOwogICAgICAgICAgICBzZWFyY2hCeUltYWdlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAnZXh0X2FkZG9uJyk7CiAgICAgICAgICAgIHNlYXJjaEJ5SW1hZ2Uuc2V0QXR0cmlidXRlKCdzdHlsZScsICdtYXJnaW4tbGVmdDo0cHQ7Jyk7CgogICAgICAgICAgICAvLyBJbnNlcnQgdGV4dCBpbnRvIFNlYXJjaCBieSBpbWFnZSBidXR0b24KICAgICAgICAgICAgdmFyIHNlYXJjaEJ5SW1hZ2VUZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgICAgICAgICBsb2NhbGlzZU9iamVjdChzZWFyY2hCeUltYWdlVGV4dCwgJzxzcGFuPlZpZXcgSW1hZ2U8L3NwYW4+Jyk7CiAgICAgICAgICAgIHNlYXJjaEJ5SW1hZ2UuYXBwZW5kQ2hpbGQoc2VhcmNoQnlJbWFnZVRleHQpOwoKICAgICAgICAgICAgLy8gQXBwZW5kIFNlYXJjaCBieSBpbWFnZSBidXR0b24KICAgICAgICAgICAgaW1hZ2VUZXh0LmFwcGVuZENoaWxkKHNlYXJjaEJ5SW1hZ2UpOwoKICAgICAgICAgICAgLy8gQ3JlYXRlIFZpZXcgaW1hZ2UgYnV0dG9uCiAgICAgICAgICAgIHZhciB2aWV3SW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwogICAgICAgICAgICB2aWV3SW1hZ2Uuc2V0QXR0cmlidXRlKCdjbGFzcycsICdleHRfYWRkb24nKTsKCiAgICAgICAgICAgIC8vIEFkZCBnbG9iZSB0byBWaWV3IGltYWdlIGJ1dHRvbgogICAgICAgICAgICB2YXIgdmlld0ltYWdlTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKICAgICAgICAgICAgdmFyIGdsb2JlSWNvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5fUkt3Ll93dGYuX1B0ZicpLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgICAgdmlld0ltYWdlTGluay5hcHBlbmRDaGlsZChnbG9iZUljb24pOwoKICAgICAgICAgICAgLy8gYWRkIHRleHQgdG8gdmlldyBpbWFnZSBidXR0b24KICAgICAgICAgICAgdmFyIHZpZXdJbWFnZVRleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuX1dLdycpLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICAgICAgbG9jYWxpc2VPYmplY3Qodmlld0ltYWdlVGV4dCwgJ1ZpZXcgSW1hZ2UnKTsKICAgICAgICAgICAgdmlld0ltYWdlTGluay5hcHBlbmRDaGlsZCh2aWV3SW1hZ2VUZXh0KTsKCiAgICAgICAgICAgIC8vIEFkZCBWaWV3IGltYWdlIGJ1dHRvbiBVUkwKICAgICAgICAgICAgdmlld0ltYWdlTGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBpbWFnZVVSTCk7CiAgICAgICAgICAgIHZpZXdJbWFnZUxpbmsuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCAnX2JsYW5rJyk7CiAgICAgICAgICAgIHZpZXdJbWFnZS5hcHBlbmRDaGlsZCh2aWV3SW1hZ2VMaW5rKTsKCiAgICAgICAgICAgIC8vIEFkZCBWaWV3IGltYWdlIGJ1dHRvbiB0byBJbWFnZSBMaW5rcwogICAgICAgICAgICB2YXIgc2F2ZSA9IGltYWdlTGlua3MuY2hpbGROb2Rlc1sxXTsKICAgICAgICAgICAgaW1hZ2VMaW5rcy5pbnNlcnRCZWZvcmUodmlld0ltYWdlLCBzYXZlKTsKICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCJBZGRpbmcgRE9ORSEhISIpOwogICAgICAgIH0KICAgIH0KfQoKCiAgICB2YXIgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7CiAgICAgICAgbXV0YXRpb25zLmZvckVhY2goKG11dGF0aW9uKSA9PiB7CiAgICAgICAgICAgIGlmIChtdXRhdGlvbi5hZGRlZE5vZGVzICYmIG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtdXRhdGlvbi5hZGRlZE5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld05vZGUgPSBtdXRhdGlvbi5hZGRlZE5vZGVzW2ldOwogICAgICAgICAgICAgICAgICAgIGFkZExpbmtzKG5ld05vZGUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsKICAgICAgICBjaGlsZExpc3Q6IHRydWUsCiAgICAgICAgc3VidHJlZTogdHJ1ZQogICAgfSk7CgogICAgYWRkTGlua3MoZG9jdW1lbnQuYm9keSk7Cgp9KSgpOw=="},{"name":"WaniKani LevelUP Celebrator","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_arrayleft":false,"compat_uW_gmonkey":false,"compat_forvarin":false,"noframes":null,"awareOfChrome":false,"run_at":null,"override":{"use_includes":[],"orig_includes":["https://www.wanikani.com/","https://www.wanikani.com/dashboard"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-end","orig_noframes":null},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649632,"data":{}},"enabled":true,"position":7,"file_url":"https://greasyfork.org/scripts/233-wanikani-levelup-celebrator/code/WaniKani%20LevelUP%20Celebrator.user.js","uuid":"f56e4394-b554-42b3-b894-0263a9d2f095","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICAgV2FuaUthbmkgTGV2ZWxVUCBDZWxlYnJhdG9yCi8vIEBuYW1lc3BhY2UgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbQovLyBAZGVzY3JpcHRpb24gICBUaGlzIHdpbGwgZGlzcGxheSBhICJsZXZlbC11cCIgbm90aWZpY2F0aW9uIG9uIHlvdXIgV0sgRGFzaGJvYXJkIGFmdGVyIHlvdSBsZXZlbCB1cC4gIFlvdSBjYW4gY3VzdG9taXplIHRoZSBpbWFnZSBhbmQgdGV4dCBvZiB0aGUgZGlzcGxheS4gIE90aGVyIGFjaGlldmVtZW50cyBhcmUgYWxzbyBub3RlZC4gIEJ5IFJob3NWZWVkY3kuCi8vIEB2ZXJzaW9uIDIuNC4wCi8vIEBpbmNsdWRlICAgICAgIGh0dHBzOi8vd3d3LndhbmlrYW5pLmNvbS8KLy8gQGluY2x1ZGUgICAgICAgaHR0cHM6Ly93d3cud2FuaWthbmkuY29tL2Rhc2hib2FyZAovLyBAcnVuLWF0CSAgZG9jdW1lbnQtZW5kCi8vIEBncmFudAkgIEdNX3JlZ2lzdGVyTWVudUNvbW1hbmQKCi8vID09L1VzZXJTY3JpcHQ9PQoKZnVuY3Rpb24gZ2V0KGlkKSB7CiAgICBjb25zb2xlLmxvZygnZ2V0IGZjdCcpOwogICAgaWYgKGlkICYmIHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHsKCWNvbnNvbGUubG9nKGlkKTsKICAgICAgICBpZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgIH0KICAgIHJldHVybiBpZCB8fCBudWxsOwp9CgoKZnVuY3Rpb24gR01zZXR1cCgpIHsKICBpZiAoR01fcmVnaXN0ZXJNZW51Q29tbWFuZCkgewogICAgR01fcmVnaXN0ZXJNZW51Q29tbWFuZCgnV2FuaUthbmkgTGV2ZWxVUCBDZWxlYnJhdG9yOiBTZXQgaW1hZ2UgVVJMJywgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjdXJFbnRyeSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nVVJMIikgfHwgIiI7CiAgICAgIHZhciBuZXdJbWdVUkwgPSBwcm9tcHQoJ05ldyBJbWFnZSBVUkw6JywgY3VyRW50cnkpOwogICAgICBpZiAobmV3SW1nVVJMICE9IG51bGwpIHsKCWlmICh0eXBlb2YobmV3SW1nVVJMKSAhPT0gInN0cmluZyIpIHsKCQluZXdJbWdVUkwgPSBTdHJpbmcobmV3SW1nVVJMKTsKCX0KICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cEltZ1VSTCIsIG5ld0ltZ1VSTCk7CiAgICAgIH0KICAgIH0pOwoKICAgIEdNX3JlZ2lzdGVyTWVudUNvbW1hbmQoJ1dhbmlLYW5pIExldmVsVVAgQ2VsZWJyYXRvcjogU2V0IGltYWdlIHBvc2l0aW9uJywgZnVuY3Rpb24oKSB7CiAgICAgIHZhciBjdXJFbnRyeSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nUG9zIikgfHwgIkxlZnQiOwogICAgICB2YXIgbmV3SW1nUG9zID0gcHJvbXB0KCdJbWFnZSBwb3NpdGlvbiByZWxhdGl2ZSB0byB0ZXh0IChsZWZ0LCByaWdodCwgYWJvdmUsIGJlbG93KTonLCBjdXJFbnRyeSk7CiAgICAgIGlmIChuZXdJbWdQb3MgIT0gbnVsbCkgewoJaWYgKHR5cGVvZihuZXdJbWdQb3MpICE9PSAic3RyaW5nIikgewoJCW5ld0ltZ1BvcyA9IFN0cmluZyhuZXdJbWdQb3MpOwoJfQogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwSW1nUG9zIiwgbmV3SW1nUG9zKTsKICAgICAgfQogICAgfSk7CgogICAgR01fcmVnaXN0ZXJNZW51Q29tbWFuZCgnV2FuaUthbmkgTGV2ZWxVUCBDZWxlYnJhdG9yOiBTZXQgdGV4dCcsIGZ1bmN0aW9uKCkgewogICAgICB2YXIgY3VyRW50cnkgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cFRleHQiKSB8fCAiIjsKICAgICAgdmFyIG5ld1RleHQgPSBwcm9tcHQoJ05ldyB0ZXh0OicsIGN1ckVudHJ5KTsKICAgICAgaWYgKG5ld1RleHQgIT0gbnVsbCkgewoJaWYgKHR5cGVvZihuZXdUZXh0KSAhPT0gInN0cmluZyIpIHsKCQluZXdUZXh0ID0gU3RyaW5nKG5ld1RleHQpOwoJfQogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwVGV4dCIsIG5ld1RleHQpOwogICAgICB9CiAgICB9KTsKCiAgICBHTV9yZWdpc3Rlck1lbnVDb21tYW5kKCdXYW5pS2FuaSBMZXZlbFVQIENlbGVicmF0b3I6IFByZXZpZXcnLCBmdW5jdGlvbigpIHsKCXNlc3Npb25TdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBQcmV2aWV3IiwgMSk7Cglsb2NhdGlvbi5yZWxvYWQoKTsKICAgIH0pOwoKICB9Cn0KCgpmdW5jdGlvbiBjaGVja0xldmVsKCkgewoKCWNvbnNvbGUubG9nKCJjaGVja0xldmVsKCkgc3RhcnQiKTsKCgl2YXIgbGFzdEtub3duTGV2ZWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cFByZXZMZXZlbCIpIHx8IDE7CiAgICB2YXIgbGV2ZWxUZXh0ID0gJCgnbGkudXNlci1zdW1tYXJ5X19hdHRyaWJ1dGUgYScpWzBdLmhyZWYuc3BsaXQoJy9sZXZlbC8nKVsxXTsKICAgIHZhciBjdXJsZXZlbCA9IChsZXZlbFRleHQ/IGxldmVsVGV4dDogbGFzdEtub3duTGV2ZWwpOwoKICAgIGNvbnNvbGUubG9nKCJsZXZlbFRleHQ6ICIsIGxldmVsVGV4dCk7CiAgICBjb25zb2xlLmxvZygiY3VybGV2ZWw6ICIsIGN1cmxldmVsKTsKCgl2YXIgcHJldiA9IE51bWJlcihsYXN0S25vd25MZXZlbCk7Cgl2YXIgY3VyICA9IE51bWJlcihjdXJsZXZlbCk7Cgl2YXIgbmV4dCA9IHByZXYgKyAxOwoKCWlmIChjdXIgPT0gbmV4dCkgeyAKCQljb25zb2xlLmxvZygibGV2ZWxlZCB1cCEiKTsKCQl2YXIgZCA9IG5ldyBEYXRlKCk7CgkJdmFyIG4gPSBkLmdldFRpbWUoKTsKCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cExldlRpbWUiLCBuKTsgLy8gcmVjb3JkIGxldmVsLXVwIHRpbWUKCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cFByZXZMZXZlbCIsIGN1cik7ICAvLyB1cGRhdGUgJ2xhc3RLbm93bkxldmVsJyBmb3IgbmV4dCB0aW1lCgoJfSBlbHNlIGlmIChjdXIgIT0gcHJldikgewoJCS8vIGVpdGhlciB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHdlJ3JlIHJ1bm5pbmcsIG9yIHRoZXJlJ3MgYSBkaWZmZXJlbnQgdXNlciBoZXJlLCAKCQkvLyBvciB0aGUgdXNlcidzIHN1YnNjcmlwdGlvbiBzdGF0dXMgaGFzIGNoYW5nZWQsIG9yIHNvbWV0aGluZyBlbHNlIHdlaXJkIGlzIGdvaW5nIG9uOwoKCQkvLyBpZiBjdXIgPT0gMiwgYXNzdW1lIHRoZSB1c2VyJ3Mgc3Vic2NyaXB0aW9uIGV4cGlyZWQ7IGxlYXZlIGV2ZXJ5dGhpbmcgYmUgYW5kIHdhaXQgZm9yIHJlbmV3YWwuIE90aGVyd2lzZSwKCgkJaWYgKGN1ciAhPSAyIHx8ICEgbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBQcmV2TGV2ZWwiKSkgeyAKCgkJCS8vIGNsZWFyIFdLbHZsdXBMZXZUaW1lIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCBkaXNwbGF5IHRoZSBsZXZlbC11cCBtZXNzYWdlCgkJCWNvbnNvbGUubG9nKCJyZWluaXRpYWxpemluZyIpOwoJCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cExldlRpbWUiLCAwKTsKCQkJbG9jYWxTdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBQcmV2TGV2ZWwiLCBjdXIpOyAgLy8gdXBkYXRlICdsYXN0S25vd25MZXZlbCcgZm9yIG5leHQgdGltZQoKCQkJLy8gYWxzbyByZWluaXRpYWxpemUgdGhlIG5leHRNaWxlc3RvbmVzIGFycmF5CgkJCWluaXRpYWxpemVNaWxlc3RvbmVzKCk7CgoJCX0KCgl9IC8vZWxzZSBjdXIgPT0gcHJldiwgc28gJ2xhc3RLbm93bkxldmVsJyBpcyBzdGlsbCBjb3JyZWN0IChvciBpdCB3aWxsIGNvbnRpbnVlIHRvIGRlZmF1bHQgdG8gMSBpZiBpdCBoYXNuJ3QgYmVlbiBzdG9yZWQgeWV0KQoKCWNvbnNvbGUubG9nKCJwcmV2IGxldmVsOiAiLCBwcmV2KTsKCWNvbnNvbGUubG9nKCJjdXIgbGV2ZWw6ICIsIGN1cik7Cgljb25zb2xlLmxvZygibmV4dCBsZXZlbDogIiwgbmV4dCk7Cgljb25zb2xlLmxvZygiY2hlY2tMZXZlbCgpIGVuZCIpOwoKCXJldHVybiBjdXI7Cn0KCgoKZnVuY3Rpb24gc2hvdWxkRGlzcGxheSgpIHsKCgljb25zb2xlLmxvZygnc2hvdWxkRGlzcGxheSgpIHN0YXJ0Jyk7CgoJdmFyIGxldlRpbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cExldlRpbWUiKSB8fCAwOwoJdmFyIHJhd2R1ciA9IDEwOyAgLy8gbmV3IGxldmVsIGRpc3BsYXkgaXMgZW5hYmxlZCBmb3IgMTAgbWludXRlcyBhZnRlciBmaXJzdCBkaXNwbGF5IHRpbWUKCXZhciBkID0gbmV3IERhdGUoKTsKCXZhciBub3cgPSBkLmdldFRpbWUoKTsKCXZhciByZXR2YWw7Cgl2YXIgZHVyYXRpb24gPSBOdW1iZXIocmF3ZHVyKTsKCXZhciBwcmV2aWV3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cFByZXZpZXciKTsKCgl2YXIgdGhlVHh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBUZXh0Iik7CgoJY29uc29sZS5sb2coIm5vdyA9ICIsIG5vdyk7Cgljb25zb2xlLmxvZygibGV2VGltZSA9ICIsIGxldlRpbWUpOwoJY29uc29sZS5sb2coInJhd2R1ciA9ICIsIHJhd2R1cik7Cgljb25zb2xlLmxvZygiZHVyYXRpb24gbWludXRlcyA9ICIsIGR1cmF0aW9uKTsKCglpZiAocHJldmlldyAmJiBwcmV2aWV3ID09IDEpIHsKCQljb25zb2xlLmxvZygiUHJldmlldyBlbmFibGVkLCBkaXNwbGF5IGl0Iik7CgkJc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cFByZXZpZXciLCAwKTsJLy8gb25jZSBvbmx5CgkJcmV0dXJuIDE7Cgl9CgoJaWYgKHRoZVR4dCAmJiB0aGVUeHQuc3Vic3RyaW5nKDAsIDgpID09ICIlI1RFU1QlIyIpIHsKCQljb25zb2xlLmxvZygidGV4dCBiZWdpbnMgd2l0aCAlI1RFU1QlIywgYWx3YXlzIGRpc3BsYXkiKTsKCQlyZXR1cm4gMTsKCX0KCQoJZHVyYXRpb24gKj0gNjAwMDA7IC8vIGNvbnZlcnQgdG8gbWlsbGlzZWNvbmRzCgoJY29uc29sZS5sb2coImR1cmF0aW9uIG1zZWMgPSAiLCBkdXJhdGlvbik7CgoJY29uc29sZS5sb2coIm5vdyAtIGxldlRpbWUgPSAiLCBub3cgLSBsZXZUaW1lKTsKCglpZiAoKG5vdyAtIGxldlRpbWUpIDw9IGR1cmF0aW9uKSB7CgkJcmV0dmFsID0gMTsKCX0gZWxzZSB7CgkJcmV0dmFsID0gMDsKCX0KCgljb25zb2xlLmxvZygicmV0dmFsID0gIiwgcmV0dmFsKTsKCgljb25zb2xlLmxvZygnc2hvdWxkRGlzcGxheSgpIGVuZCcpOwoJcmV0dXJuIHJldHZhbDsKfQoKCgpmdW5jdGlvbiBkaXNwbGF5TGV2ZWxVcE1lc3NhZ2UgKCBjdXJMZXZlbCApIHsKCWNvbnNvbGUubG9nKCdkaXNwbGF5TGV2ZWxVcE1lc3NhZ2UoKSBzdGFydCcpOwoJdmFyIG1zZyA9IGdldCgic2VhcmNoIik7CiAgICAJdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAl2YXIgdGhlSW1nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBJbWdVUkwiKTsKIAl2YXIgdGhlUG9zID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBJbWdQb3MiKSB8fCAiTEVGVCI7Cgl2YXIgdGhlVHh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBUZXh0Iik7CgogICAgc3dpdGNoKHRoZVBvcy50b1VwcGVyQ2FzZSgpKSB7CgogICAgICAgIGNhc2UgIkJFTE9XIjoKICAgICAgICBjYXNlICJVTkRFUiI6CiAgICAgICAgY2FzZSAiVU5ERVJORUFUSCI6CiAgICAgICAgY2FzZSAiRE9XTiI6CiAgICAgICAgY2FzZSAiQk9UVE9NIjoKICAgICAgICBjYXNlICLjgZfjgZ8iOgogICAgICAgIGNhc2UgIuS4iyI6CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAgICAgICAgICc8aW1nIGlkPSJXS2x2bHVwSW1nIiBzdHlsZT0iZGlzcGxheTpibG9jazttYXJnaW46YXV0byI+IDwvaW1nPicrCiAgICAgICAgCQknPC9kaXY+JzsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgIkFCT1ZFIjoKICAgICAgICBjYXNlICJUT1AiOgogICAgICAgIGNhc2UgIlVQIjoKICAgICAgICBjYXNlICJPVkVSIjoKICAgICAgICBjYXNlICJPTiBUT1AgT0YiOgogICAgICAgIGNhc2UgIkNFTlRFUiI6CiAgICAgICAgY2FzZSAiQ0VOVEVSRUQiOgogICAgICAgIGNhc2UgIuOBhuOBiCI6CiAgICAgICAgY2FzZSAi5LiKIjoKICAgICAgICBjYXNlICLjgarjgYsiOgogICAgICAgIGNhc2UgIuS4rSI6CiAgICAgICAgY2FzZSAi44Gh44KF44GG44GK44GGIjoKICAgICAgICBjYXNlICLkuK3lpK4iOgogICAgICAgICAgICB0LmlubmVySFRNTCA9ICc8aW1nIGlkPSJXS2x2bHVwSW1nIiBzdHlsZT0iZGlzcGxheTpibG9jazttYXJnaW46YXV0byI+IDwvaW1nPicrCiAgICAgICAgICAgICAgICAnPGRpdiBpZD0iV0tsdmx1cFR4dCIgc3R5bGU9Im1hcmdpbjphdXRvO3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjExMCU7Zm9udC1zaXplOjMwMCUiPiA8L2Rpdj4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJMRUZUIjoKICAgICAgICBjYXNlICJBVCBMRUZUIjoKICAgICAgICBjYXNlICJPTiBMRUZUIjoKICAgICAgICBjYXNlICJPTiBUSEUgTEVGVCI6CiAgICAgICAgY2FzZSAiTEVGVCBPRiI6CiAgICAgICAgY2FzZSAiVE8gVEhFIExFRlQgT0YiOgogICAgICAgIGNhc2UgIuOBsuOBoOOCiiI6CiAgICAgICAgY2FzZSAi5bemIjoKICAgICAgICBjYXNlICLjgbLjgaDjgorjgYzjgo8iOgogICAgICAgIGNhc2UgIuW3puWBtCI6CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSAnPGltZyBpZD0iV0tsdmx1cEltZyIgc3R5bGU9ImZsb2F0OmxlZnQ7bWFyZ2luOjIwcHgiPiA8L2ltZz4nKwogICAgICAgICAgICAgICAgJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46MjBweDtmbG9hdDpsZWZ0O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjExMCU7Zm9udC1zaXplOjMwMCUiPiA8L2Rpdj4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJSSUdIVCI6CiAgICAgICAgY2FzZSAiQVQgUklHSFQiOgogICAgICAgIGNhc2UgIk9OIFJJR0hUIjoKICAgICAgICBjYXNlICJPTiBUSEUgUklHSFQiOgogICAgICAgIGNhc2UgIlJJR0hUIE9GIjoKICAgICAgICBjYXNlICJUTyBUSEUgUklHSFQgT0YiOgogICAgICAgIGNhc2UgIk1JR0kiOgogICAgICAgIGNhc2UgIuOBv+OBjiI6CiAgICAgICAgY2FzZSAi5Y+zIjoKICAgICAgICBjYXNlICLjgb/jgY7jgYzjgo8iOgogICAgICAgIGNhc2UgIuWPs+WBtCI6CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gJzxpbWcgaWQ9IldLbHZsdXBJbWciIHN0eWxlPSJmbG9hdDpyaWdodDttYXJnaW46MjBweCI+IDwvaW1nPicrCiAgICAgICAgICAgICAgICAnPGRpdiBpZD0iV0tsdmx1cFR4dCIgc3R5bGU9Im1hcmdpbjoyMHB4O2Zsb2F0OnJpZ2h0O3RleHQtYWxpZ246Y2VudGVyO2xpbmUtaGVpZ2h0OjExMCU7Zm9udC1zaXplOjMwMCUiPiA8L2Rpdj4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgIH0KICAgIHQuc3R5bGUud2lkdGggPSAiMTIwMHB4IjsKICAgIHQuc3R5bGUubWFyZ2luID0gImF1dG8iOwoKICAgIG1zZy5hcHBlbmRDaGlsZCh0KTsKCgl2YXIgdGhpbmcxID0gZ2V0KCJXS2x2bHVwSW1nIik7CglpZiAodGhpbmcxICYmIHRoZUltZykgewoJCXRoaW5nMS5zcmMgPSB0aGVJbWc7Cgl9CgoJdmFyIHRoaW5nMiA9IGdldCgiV0tsdmx1cFR4dCIpOwoKCWlmICh0aGluZzIgJiYgdGhlVHh0KSB7CgkJaWYgKHRoZVR4dC5zdWJzdHJpbmcoMCwgOCkgPT0gIiUjVEVTVCUjIikgewoJCQkvLyBpbmRpY2F0ZXMgdGVzdCBtb2RlOyBzdHJpcCB0aGUgdGVzdCBmbGFnIG91dCBvZiB0aGUgdGV4dAoJCQl0aGVUeHQgPSB0aGVUeHQucmVwbGFjZSgiJSNURVNUJSMiLCAiIik7CgkJfQoJCQoJCXRoZVR4dCA9IHRoZVR4dC5yZXBsYWNlKC8jTEVWRUxOVU0jL2csIGN1ckxldmVsKTsgIC8vIHN1cHBvcnQgI0xFVkVMTlVNIyB2YXJpYWJsZSBpbiB0ZXh0IHN0cmluZ3MKCgkJdGhpbmcyLmlubmVySFRNTD0gdGhlVHh0OwoJfSAKCgljb25zb2xlLmxvZygnZGlzcGxheUxldmVsVXBNZXNzYWdlKCkgZW5kJyk7Cn0KCgpmdW5jdGlvbiBnZXROZXh0TWlsZXN0b25lKCBudW1UdXJ0bGVzICkgewoKCWNvbnNvbGUubG9nKCJnZXROZXh0TWlsZXN0b25lKCkiKTsKCgl2YXIgbWlsZXN0b25lcyA9IFsxLCAxMDAsIDI1MCwgNTAwLCA3NTAsIDEwMDAsIDE1MDAsIDIwMDAsIDI1MDAsIDMwMDAsIDQwMDAsIDUwMDAsIDYwMDAsIDcwMDAsIDgwMDAsIDkwMDAsIDEwMDAwLCA5OTk5OTldOwoJdmFyIGk9MDsKCgljb25zb2xlLmxvZygibnVtVHVydGxlcyA9ICIsIG51bVR1cnRsZXMpOwoKCXdoaWxlICggbWlsZXN0b25lc1tpXSA8PSBudW1UdXJ0bGVzICkgewoKCQlpKys7Cgl9Cgljb25zb2xlLmxvZygibmV4dCBtaWxlc3RvbmUgPSAiLCBtaWxlc3RvbmVzW2ldKTsKCXJldHVybiBtaWxlc3RvbmVzW2ldOwp9CgoKZnVuY3Rpb24gZ2V0VHVydGxlQ291bnRzKCkgewkvLyBjdW11bGF0aXZlIChlbmwgPSBlbmwgKyBidXIsIGV0Yy4pCgoJY29uc29sZS5sb2coImdldFR1cnRsZUNvdW50cygpIik7CgoJLy8gSSdtIGRvaW5nIHRoZSBzdHJpbmcgc3BsaXQoIiAiKSBhbmQgcmVwbGFjZSgpIHNvIHdlIHdpbGwgcGxheSBuaWNlbHkgd2l0aCBvbmUgb2YgbXkgb3RoZXIgc2NyaXB0cyBqdXN0IGluIGNhc2UgdGhlIG90aGVyIG9uZSBydW5zIGZpcnN0CgoJdmFyIGJzdHIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnVybmVkIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7Cgl2YXIgZXN0ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbmxpZ2h0ZW5lZCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzcGFuIilbMF0uaW5uZXJIVE1MLnNwbGl0KCIgIilbMF0gfHwgIjAiOwoJdmFyIG1zdHIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFzdGVyIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7Cgl2YXIgZ3N0ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJndXJ1IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7Cgl2YXIgYXN0ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHByZW50aWNlIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXS5pbm5lckhUTUwuc3BsaXQoIiAiKVswXSB8fCAiMCI7CgoJdmFyIHVwYXJyb3cgPSAi4oaRIjsKCXZhciBkb3duYXJyb3cgPSAi4oaTIjsKCglic3RyID0gYnN0ci5yZXBsYWNlKHVwYXJyb3csICIiKTsKCWVzdHIgPSBlc3RyLnJlcGxhY2UodXBhcnJvdywgIiIpOwoJbXN0ciA9IG1zdHIucmVwbGFjZSh1cGFycm93LCAiIik7Cglnc3RyID0gZ3N0ci5yZXBsYWNlKHVwYXJyb3csICIiKTsKCWFzdHIgPSBhc3RyLnJlcGxhY2UodXBhcnJvdywgIiIpOwoKCWJzdHIgPSBic3RyLnJlcGxhY2UoZG93bmFycm93LCAiIik7Cgllc3RyID0gZXN0ci5yZXBsYWNlKGRvd25hcnJvdywgIiIpOwoJbXN0ciA9IG1zdHIucmVwbGFjZShkb3duYXJyb3csICIiKTsKCWdzdHIgPSBnc3RyLnJlcGxhY2UoZG93bmFycm93LCAiIik7Cglhc3RyID0gYXN0ci5yZXBsYWNlKGRvd25hcnJvdywgIiIpOwoKCXZhciBidXJuZWQgPSBOdW1iZXIoIGJzdHIgKTsKCXZhciBlbmxpZ2h0ZW5lZCA9IE51bWJlciggZXN0ciApOwoJdmFyIG1hc3RlciA9IE51bWJlciggbXN0ciApOwoJdmFyIGd1cnUgPSBOdW1iZXIoIGdzdHIgKTsKCXZhciBhcHByZW50aWNlID0gTnVtYmVyKCBhc3RyICk7CgoJY29uc29sZS5sb2coInJhdyBjb3VudHM6ICIsIGFwcHJlbnRpY2UsIGd1cnUsIG1hc3RlciwgZW5saWdodGVuZWQsIGJ1cm5lZCk7CgoJZW5saWdodGVuZWQgKz0gYnVybmVkOwoJbWFzdGVyICs9IGVubGlnaHRlbmVkOwoJZ3VydSArPSBtYXN0ZXI7CglhcHByZW50aWNlICs9IGd1cnU7CgoJY29uc29sZS5sb2coImN1bXVsYXRpdmUgY291bnRzOiAiLCBhcHByZW50aWNlLCBndXJ1LCBtYXN0ZXIsIGVubGlnaHRlbmVkLCBidXJuZWQpOwoKCXJldHVybiBbYXBwcmVudGljZSwgZ3VydSwgbWFzdGVyLCBlbmxpZ2h0ZW5lZCwgYnVybmVkXTsKfQoKCgpmdW5jdGlvbiBpbml0ICgpIHsKCWNvbnNvbGUubG9nKCdpbml0KCkgc3RhcnQnKTsKCiAJdmFyIHRoZUltZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nVVJMIik7Cgl2YXIgdGhlVHh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBUZXh0Iik7Cgl2YXIgbmV4dE1pbGVzdG9uZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cE1pbGVzdG9uZXMiKTsKICAgIAogICAgICAJaWYgKCF0aGVJbWcpIHsKCQl0aGVJbWcgPSAiaHR0cHM6Ly9pLmltZ3VyLmNvbS9LNlVRTDFaLmdpZiI7CiAgICAgICAgCWxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwSW1nVVJMIiwgdGhlSW1nKTsKICAgICAgCX0KICAgICAgCiAgICAgIAlpZiAoIXRoZVR4dCkgewoJCXRoZVR4dCA9ICc8YnIvPllvdSBsZXZlbGVkIHVwITxici8+Q29uZ3JhdHVsYXRpb25zISc7CiAgICAgICAgCWxvY2FsU3RvcmFnZS5zZXRJdGVtKCJXS2x2bHVwVGV4dCIsIHRoZVR4dCk7CiAgICAgIAl9CgoJaWYgKCFuZXh0TWlsZXN0b25lcykgewoKCQlpbml0aWFsaXplTWlsZXN0b25lcygpOwoJCQoJfQoKCWNvbnNvbGUubG9nKCdpbml0KCkgZW5kJyk7Cn0KCgpmdW5jdGlvbiBpbml0aWFsaXplTWlsZXN0b25lcyAoKSB7CgoJY29uc29sZS5sb2coImluaXRpYWxpemVNaWxlc3RvbmVzKCkiKTsKCgl2YXIgdHVydGxlQ291bnRzID0gZ2V0VHVydGxlQ291bnRzKCk7CS8vIGN1bXVsYXRpdmUgKGVubCA9IGVubCArIGJ1ciwgZXRjLikKCXZhciBuZXh0TWlsZXN0b25lcyA9IG5ldyBBcnJheSgpOwoKCWZvciAodmFyIHg9MTsgeCA8IHR1cnRsZUNvdW50cy5sZW5ndGg7IHgrKykgewoKCQluZXh0TWlsZXN0b25lc1t4LTFdID0gZ2V0TmV4dE1pbGVzdG9uZSggdHVydGxlQ291bnRzW3hdICk7ICAvLyB0dXJ0bGVDb3VudHNbXSBpbmNsdWRlcyBBcHByZW50aWNlIGl0ZW1zLCBuZXh0TWlsZXN0b25lc1tdIGRvZXMgbm90Cgl9CgoJbG9jYWxTdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBNaWxlc3RvbmVzIiwgSlNPTi5zdHJpbmdpZnkobmV4dE1pbGVzdG9uZXMpKTsKfQoKCmZ1bmN0aW9uIGNoZWNrTWlsZXN0b25lcyggbGV2ZWwgKSB7CgoJY29uc29sZS5sb2coImNoZWNrTWlsZXN0b25lcygpIik7CgoJdmFyIG5leHRNaWxlc3RvbmVzID0gSlNPTi5wYXJzZSggbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBNaWxlc3RvbmVzIikgKTsKCXZhciB0dXJ0bGVDb3VudHMgPSBnZXRUdXJ0bGVDb3VudHMoKTsKCXZhciBhY2hpZXZlbWVudHMgPSBuZXcgQXJyYXkoKTsKCXZhciBnb3RPbmUgPSAwOwoJdmFyIHRlc3RBbGxEb25lID0gbnVsbDsgLy9zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwVGVzdEFsbEJ1cm5lZCIpOwoKCWNvbnNvbGUubG9nKCJuZXh0TWlsZXN0b25lczogIiwgSlNPTi5zdHJpbmdpZnkobmV4dE1pbGVzdG9uZXMpKTsKCglpZiAoIHRlc3RBbGxEb25lIHx8IChsZXZlbCA+PSA1MCAgJiYgKHR1cnRsZUNvdW50c1swXSA9PSB0dXJ0bGVDb3VudHNbNF0pKSkgewoKCQkvLyBhbHNvIGNoZWNrIHRoYXQgbGVzc29ucyA9PSAwIGFuZCByZXZpZXdzID09IDAKCgkJdmFyIHJ2d3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJyZXZpZXdzIilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKVswXTsKCQl2YXIgbHNucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlc3NvbnMiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3BhbiIpWzBdOwoJCgkJaWYgKHRlc3RBbGxEb25lIHx8IChydndzID09IDAgJiYgbHNucyA9PSAwKSkgewoKCQkJY29uc29sZS5sb2coImFsbCB0dXJ0bGVzIGJ1cm5lZCEiKTsKCgkJCS8vIHNldCBmbGFnCgkJCXNlc3Npb25TdG9yYWdlLnNldEl0ZW0oIldLbHZsdXBBbGxCdXJuZWQiLCAxKTsKCgkJCS8vIHJldHVybiBzb21lIG90aGVyd2lzZS1pbXBvc3NpYmxlIGFycmF5IHNvIHRoYXQgd2UnbGwgZ2V0IGludG8gZGlzcGxheU1pbGVzdG9uZXMoKQoJCQljb25zb2xlLmxvZygicmV0dXJuaW5nIFsxLDEsMSwxXSIpOwkKCQkJcmV0dXJuIFsxLCAxLCAxLCAxXTsKCQl9Cgl9CgoJZm9yICh2YXIgeD0wOyB4IDwgbmV4dE1pbGVzdG9uZXMubGVuZ3RoOyB4KyspIHsKCgkJaWYgKHR1cnRsZUNvdW50c1t4KzFdID49IG5leHRNaWxlc3RvbmVzW3hdKSB7IC8vIHR1cnRsZUNvdW50c1tdIGluY2x1ZGVzIEFwcHJlbnRpY2UgaXRlbXMsIG5leHRNaWxlc3RvbmVzW10gZG9lcyBub3QKCQkJCgkJCWFjaGlldmVtZW50c1t4XSA9IG5leHRNaWxlc3RvbmVzW3hdOwoJCQluZXh0TWlsZXN0b25lc1t4XSA9IGdldE5leHRNaWxlc3RvbmUoIHR1cnRsZUNvdW50c1t4KzFdICk7CgkJCWdvdE9uZSsrOwoKCQl9IGVsc2UgewoJCQlhY2hpZXZlbWVudHNbeF0gPSAwOwoJCX0KCX0KCgljb25zb2xlLmxvZygiYWNoaWV2ZW1lbnRzOiAiLCBKU09OLnN0cmluZ2lmeShhY2hpZXZlbWVudHMpKTsKCglpZiAoZ290T25lICE9IDApIHsKCgkJY29uc29sZS5sb2coImNoZWNrTWlsZXN0b25lcygpIHJldHVybmluZyBhY2hpZXZlbWVudHMiKTsKCQlsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiV0tsdmx1cE1pbGVzdG9uZXMiLCBKU09OLnN0cmluZ2lmeShuZXh0TWlsZXN0b25lcykpOwoJCXJldHVybiBhY2hpZXZlbWVudHM7CgoJfSBlbHNlIHsKCQljb25zb2xlLmxvZygiY2hlY2tNaWxlc3RvbmVzKCkgcmV0dXJuaW5nIG51bGwiKTsKCQlyZXR1cm4gbnVsbDsKCX0KfQoKCmZ1bmN0aW9uIGRpc3BsYXlNaWxlc3RvbmVzICggbWlsZXN0b25lcyApIHsKCgljb25zb2xlLmxvZygnZGlzcGxheU1pbGVzdG9uZXMoKSBzdGFydCcpOwoJdmFyIG1zZyA9IGdldCgic2VhcmNoIik7CiAgICAJdmFyIHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKIAl2YXIgdGhlSW1nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBJbWdVUkwiKTsKCXZhciB0aGVUeHQgPSAiPGJyLz4iOwoJdmFyIGxhYmVscyA9IFsiIEd1cnUgdHVydGxlISIsICIgTWFzdGVyIHR1cnRsZSEiLCAiIEVubGlnaHRlbmVkIHR1cnRsZSEiLCAiIEJ1cm5lZCB0dXJ0bGUhIl07CiAJdmFyIHRoZVBvcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJXS2x2bHVwSW1nUG9zIikgfHwgIkxFRlQiOwoKICAgIHN3aXRjaCh0aGVQb3MudG9VcHBlckNhc2UoKSkgewoKICAgICAgICBjYXNlICJCRUxPVyI6CiAgICAgICAgY2FzZSAiVU5ERVIiOgogICAgICAgIGNhc2UgIlVOREVSTkVBVEgiOgogICAgICAgIGNhc2UgIkRPV04iOgogICAgICAgIGNhc2UgIkJPVFRPTSI6CiAgICAgICAgY2FzZSAi44GX44GfIjoKICAgICAgICBjYXNlICLkuIsiOgogICAgICAgICAgICB0LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJXS2x2bHVwVHh0IiBzdHlsZT0ibWFyZ2luOmF1dG87dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6MTEwJTtmb250LXNpemU6MzAwJSI+IDwvZGl2PicrCiAgICAgICAgICAgICAgICAnPGltZyBpZD0iV0tsdmx1cEltZyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG8iPiA8L2ltZz4nKwogICAgICAgIAkJJzwvZGl2Pic7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJBQk9WRSI6CiAgICAgICAgY2FzZSAiVE9QIjoKICAgICAgICBjYXNlICJVUCI6CiAgICAgICAgY2FzZSAiT1ZFUiI6CiAgICAgICAgY2FzZSAiT04gVE9QIE9GIjoKICAgICAgICBjYXNlICJDRU5URVIiOgogICAgICAgIGNhc2UgIkNFTlRFUkVEIjoKICAgICAgICBjYXNlICLjgYbjgYgiOgogICAgICAgIGNhc2UgIuS4iiI6CiAgICAgICAgY2FzZSAi44Gq44GLIjoKICAgICAgICBjYXNlICLkuK0iOgogICAgICAgIGNhc2UgIuOBoeOCheOBhuOBiuOBhiI6CiAgICAgICAgY2FzZSAi5Lit5aSuIjoKICAgICAgICAgICAgdC5pbm5lckhUTUwgPSAnPGltZyBpZD0iV0tsdmx1cEltZyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG8iPiA8L2ltZz4nKwogICAgICAgICAgICAgICAgJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAJCSc8L2Rpdj4nOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAiTEVGVCI6CiAgICAgICAgY2FzZSAiQVQgTEVGVCI6CiAgICAgICAgY2FzZSAiT04gTEVGVCI6CiAgICAgICAgY2FzZSAiT04gVEhFIExFRlQiOgogICAgICAgIGNhc2UgIkxFRlQgT0YiOgogICAgICAgIGNhc2UgIlRPIFRIRSBMRUZUIE9GIjoKICAgICAgICBjYXNlICLjgbLjgaDjgooiOgogICAgICAgIGNhc2UgIuW3piI6CiAgICAgICAgY2FzZSAi44Gy44Gg44KK44GM44KPIjoKICAgICAgICBjYXNlICLlt6blgbQiOgogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHQuaW5uZXJIVE1MID0gJzxpbWcgaWQ9IldLbHZsdXBJbWciIHN0eWxlPSJmbG9hdDpsZWZ0O21hcmdpbjoyMHB4Ij4gPC9pbWc+JysKICAgICAgICAgICAgICAgICc8ZGl2IGlkPSJXS2x2bHVwVHh0IiBzdHlsZT0ibWFyZ2luOjIwcHg7ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAJCSc8L2Rpdj4nOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAiUklHSFQiOgogICAgICAgIGNhc2UgIkFUIFJJR0hUIjoKICAgICAgICBjYXNlICJPTiBSSUdIVCI6CiAgICAgICAgY2FzZSAiT04gVEhFIFJJR0hUIjoKICAgICAgICBjYXNlICJSSUdIVCBPRiI6CiAgICAgICAgY2FzZSAiVE8gVEhFIFJJR0hUIE9GIjoKICAgICAgICBjYXNlICJNSUdJIjoKICAgICAgICBjYXNlICLjgb/jgY4iOgogICAgICAgIGNhc2UgIuWPsyI6CiAgICAgICAgY2FzZSAi44G/44GO44GM44KPIjoKICAgICAgICBjYXNlICLlj7PlgbQiOgogICAgICAgICAgICB0LmlubmVySFRNTCA9ICc8aW1nIGlkPSJXS2x2bHVwSW1nIiBzdHlsZT0iZmxvYXQ6cmlnaHQ7bWFyZ2luOjIwcHgiPiA8L2ltZz4nKwogICAgICAgICAgICAgICAgJzxkaXYgaWQ9IldLbHZsdXBUeHQiIHN0eWxlPSJtYXJnaW46MjBweDtmbG9hdDpyaWdodDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDoxMTAlO2ZvbnQtc2l6ZTozMDAlIj4gPC9kaXY+JysKICAgICAgICAJCSc8L2Rpdj4nOwogICAgICAgICAgICBicmVhazsKCiAgICB9CgogICAgdC5zdHlsZS53aWR0aCA9ICIxMjAwcHgiOwogICAgdC5zdHlsZS5tYXJnaW4gPSAiYXV0byI7CgogICAgbXNnLmFwcGVuZENoaWxkKHQpOwoKCXZhciB0aGluZzEgPSBnZXQoIldLbHZsdXBJbWciKTsKCWlmICh0aGluZzEgJiYgdGhlSW1nKSB7CgkJdGhpbmcxLnNyYyA9IHRoZUltZzsKCX0KCgl2YXIgYWxsRG9uZVdLID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiV0tsdmx1cEFsbEJ1cm5lZCIpOwoJCglpZiAoYWxsRG9uZVdLICYmIGFsbERvbmVXSyA9PSAxKSB7CgoJCXRoZVR4dCArPSAiQUxMIFRVUlRMRVMgQlVSTkVEITxici8+V0FOSUtBTkkgQ09NUExFVEUhIjsKCQkvL3Nlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oIldLbHZsdXBUZXN0QWxsQnVybmVkIik7Cgl9IGVsc2UgewoKCQlmb3IgKHZhciB4ID0gbWlsZXN0b25lcy5sZW5ndGggLSAxOyB4ID49IDA7IHgtLSkgewoKCQkJaWYgKG1pbGVzdG9uZXNbeF0gPT0gMSkgewoKCQkJCXRoZVR4dCArPSAiRmlyc3QiICsgbGFiZWxzW3hdICsgIjxici8+IjsKCQkJfQoJCQllbHNlIGlmIChtaWxlc3RvbmVzW3hdICE9IDApIHsKCgkJCQl0aGVUeHQgKz0gbWlsZXN0b25lc1t4XSArICJ0aCIgKyBsYWJlbHNbeF0gKyAiPGJyLz4iOwoJCQl9CgkJfQoJfQoKICAgIHZhciBjdXN0b21CdXJuTGFiZWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiV0tCTFJCdXJuTGV2ZWxOYW1lIikgfHwgIkJ1cm5lZCI7CiAgICBpZiAoY3VzdG9tQnVybkxhYmVsICYmIChjdXN0b21CdXJuTGFiZWwgIT0gIkJ1cm5lZCIpKSB7CiAgICAgICAgdmFyIG5ld1RleHQgPSB0aGVUeHQucmVwbGFjZSgiQnVybmVkIiwgY3VzdG9tQnVybkxhYmVsKTsKICAgICAgICBpZiAobmV3VGV4dCA9PSB0aGVUeHQpIHsKICAgICAgICAgICAgdmFyIG5ld0NCTCA9IGN1c3RvbUJ1cm5MYWJlbC50b1VwcGVyQ2FzZSgpOwogICAgICAgICAgICBuZXdUZXh0ID0gdGhlVHh0LnJlcGxhY2UoIkJVUk5FRCIsIG5ld0NCTCk7CiAgICAgICAgfQogICAgICAgIHRoZVR4dCA9IG5ld1RleHQ7CiAgICB9CgoJdmFyIHRoaW5nMiA9IGdldCgiV0tsdmx1cFR4dCIpOwoKCWlmICh0aGluZzIpIHsKCgkJdGhpbmcyLmlubmVySFRNTD0gdGhlVHh0OwoJfSAKCgljb25zb2xlLmxvZygnZGlzcGxheU1pbGVzdG9uZXMoKSBlbmQnKTsKfQoKCgpmdW5jdGlvbiBtYWluICgpIHsKCgl2YXIgY3VyTGV2ZWw7CgoJY29uc29sZS5sb2coIm1haW4oKSIpOwoKCWluaXQoKTsKCglHTXNldHVwKCk7CgoJY3VyTGV2ZWwgPSBjaGVja0xldmVsKCk7CgoJdmFyIGxhc3RLbm93bkxldmVsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oIldLbHZsdXBQcmV2TGV2ZWwiKSB8fCAxOwoKCWlmIChjdXJMZXZlbCAhPSBsYXN0S25vd25MZXZlbCkgeyByZXR1cm47IH0KCglpZiAoc2hvdWxkRGlzcGxheSgpKSB7CgoJCXZhciBkdXJ0ZXh0ID0gZ2V0KCJXS2x2bGR1clR4dCIpOwoKCQlpZiAoZHVydGV4dCkgeyBkdXJ0ZXh0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZHVydGV4dCk7IH0gIC8vIG92ZXJyaWRlIFdLIExldmVsIER1cmF0aW9uIHNjcmlwdAoKCQlkaXNwbGF5TGV2ZWxVcE1lc3NhZ2UoIGN1ckxldmVsICk7CgoJfSBlbHNlIHsKCgkJdmFyIG1pbGVzdG9uZXMgPSBjaGVja01pbGVzdG9uZXMoIGN1ckxldmVsICk7CgoJCWlmIChtaWxlc3RvbmVzKSB7CgoJCQl2YXIgZHVydGV4dCA9IGdldCgiV0tsdmxkdXJUeHQiKTsKCgkJCWlmIChkdXJ0ZXh0KSB7IGR1cnRleHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkdXJ0ZXh0KTsgfSAgLy8gb3ZlcnJpZGUgV0sgTGV2ZWwgRHVyYXRpb24gc2NyaXB0CgoJCQlkaXNwbGF5TWlsZXN0b25lcyggbWlsZXN0b25lcyApOwoKCQl9IAoJfQp9Cgp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIG1haW4sIGZhbHNlKTsKCmNvbnNvbGUubG9nKCdzY3JpcHQgbG9hZCBlbmQnKTsK"},{"name":"WaniKani Katakana Madness","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_arrayleft":false,"compat_uW_gmonkey":false,"compat_forvarin":false,"noframes":null,"awareOfChrome":false,"run_at":null,"override":{"use_includes":[],"orig_includes":["https://www.wanikani.com/*","http://www.wanikani.com/*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":["https://www.wanikani.com/lesson/*"],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-end","orig_noframes":null},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649633,"data":{}},"enabled":false,"position":8,"file_url":"https://greasyfork.org/scripts/26481-wanikani-katakana-madness/code/WaniKani%20Katakana%20Madness.user.js","uuid":"8e97bd94-02cf-48f1-a58b-ff272dd5aadb","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBXYW5pS2FuaSBLYXRha2FuYSBNYWRuZXNzCi8vIEBhdXRob3IgICAgICAgTHVrZS1GaWxld2Fsa2VyCi8vIEBuYW1lc3BhY2UgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9lbi9zY3JpcHRzLzI2NDgxLXdhbmlrYW5pLWthdGFrYW5hLW1hZG5lc3MKLy8gQGluY2x1ZGUgICAgICBodHRwczovL3d3dy53YW5pa2FuaS5jb20vKgovLyBAaW5jbHVkZSAgICAgIGh0dHA6Ly93d3cud2FuaWthbmkuY29tLyoKLy8gQHZlcnNpb24gICAgICAxLjAuOAovLyBAZGVzY3JpcHRpb24gIFRyYW5zZm9ybXMgZXZlcnl0aGluZyByZWxhdGVkIHRvIG9uJ3lvbWkgaW50byBrYXRha2FuYQovLyBAcnVuLWF0ICAgICAgIGRvY3VtZW50LWVuZAovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gQGxpY2Vuc2UgICAgICBHUEwgdjMuMAovLyA9PS9Vc2VyU2NyaXB0PT0KCi8qCiogS2FuamkgaW1wb3J0YW50IHJlYWRpbmcgKDE6IG9ueW9taSwgMDoga3VueW9taSkKKiBTYXZlZCBsb2NhbHksIHRvIHVwZGF0ZSBlbnRlciBhcGlLZXkgYW5kIHVzZSBmdW5jdGlvbiBvbiB0aGUgYm90dG9tIG9mIHRoZSBzY3JpcHQKKi8KdmFyIGFwaUtleSA9ICJrZXkiOwp2YXIga2FuamlZb21pUExFQVNBTlQgPSB7IuS4gCI6MSwi5LqMIjoxLCLkuZ0iOjEsIuS4gyI6MSwi5Lq6IjoxLCLlhaUiOjEsIuWFqyI6MSwi5YqbIjoxLCLljYEiOjEsIuS4iSI6MSwi5LiKIjoxLCLkuIsiOjEsIuWPoyI6MSwi5aSnIjoxLCLlpbMiOjEsIuWxsSI6MSwi5bedIjowLCLlt6UiOjEsIuWIgCI6MSwi5ZyfIjoxLCLljYMiOjEsIuWklSI6MCwi5a2QIjoxLCLlsI8iOjEsIuS4gSI6MSwi5LqGIjoxLCLlj4giOjAsIuS4uCI6MCwi5omNIjoxLCLkuK0iOjEsIuS6lCI6MSwi5YWtIjoxLCLlhoYiOjEsIuWkqSI6MSwi5omLIjowLCLmlociOjEsIuaXpSI6MSwi5pyIIjoxLCLmnKgiOjEsIuawtCI6MSwi54GrIjoxLCLniqwiOjAsIueOiyI6MSwi5Ye6IjoxLCLlm5siOjEsIuWPsyI6MSwi5bemIjoxLCLmnKwiOjEsIuatoyI6MSwi55SwIjowLCLnjokiOjAsIueZvSI6MSwi55uuIjowLCLnq4siOjEsIuOAhSI6MCwi5rC3IjowLCLomasiOjAsIuefsyI6MSwi5LiWIjoxLCLkuLsiOjEsIuS7liI6MSwi5LujIjoxLCLlhpkiOjEsIuWOuyI6MSwi5Y+3IjoxLCLlubMiOjEsIuaJkyI6MSwi55SzIjowLCLnmr8iOjAsIuekvCI6MSwi5LyRIjoxLCLlhYgiOjEsIuWQjSI6MSwi5a2XIjoxLCLlubQiOjEsIuaXqSI6MSwi5rCXIjoxLCLnmb4iOjEsIueruSI6MCwi57O4IjowLCLmnZEiOjAsIuiAsyI6MCwi55S3IjoxLCLnlLoiOjEsIuiKsSI6MCwi6KaLIjowLCLosp0iOjAsIui1pCI6MCwi6LazIjoxLCLou4oiOjEsIuS4jSI6MSwi5LuVIjoxLCLlrp0iOjEsIuWkriI6MSwi5LqhIjoxLCLljJYiOjEsIuS4oSI6MSwi5ZywIjoxLCLlhagiOjEsIuWQkSI6MSwi5a6JIjoxLCLlt54iOjEsIuaciSI6MSwi5puyIjoxLCLmrKEiOjEsIuatuyI6MSwi576KIjoxLCLooYAiOjEsIuS6rCI6MSwi5Zu9IjoxLCLlpJwiOjEsIuWmuSI6MSwi5aeJIjoxLCLlupciOjEsIuaYjiI6MSwi5p2xIjoxLCLmrakiOjEsIueUuyI6MSwi55u0IjoxLCLnn6UiOjEsIumVtyI6MSwi5YmNIjoxLCLljZciOjEsIuWupCI6MSwi5b6MIjoxLCLmgJ0iOjEsIuaYnyI6MSwi5rW3IjoxLCLmtLsiOjEsIuenkSI6MSwi54K5IjoxLCLojLYiOjEsIumjnyI6MSwi6aaWIjowLCLnp4EiOjEsIum7hCI6MCwi6buSIjoxLCLmrKAiOjEsIuawjyI6MSwi55SxIjoxLCLmnK0iOjEsIuawkSI6MSwi6L66IjoxLCLku5giOjAsIuS7pSI6MSwi5aSxIjoxLCLlv4UiOjEsIuacqiI6MSwi5pyrIjoxLCLmoKEiOjEsIuWkjyI6MCwi5a62IjoxLCLlvLEiOjEsIuaZgiI6MSwi57SZIjowLCLoqJgiOjEsIumrmCI6MSwi6YCaIjoxLCLlvLciOjEsIuaVmSI6MSwi55CGIjoxLCLntYQiOjEsIuiIuSI6MSwi6YCxIjoxLCLpm6oiOjAsIumtmiI6MSwi6bOlIjoxLCLpoqgiOjEsIumdkiI6MSwi6IKJIjoxLCLnsbMiOjEsIuWFhCI6MSwi55quIjoxLCLkuqQiOjEsIuS8miI6MSwi5YWJIjoxLCLlkIwiOjEsIuWbniI6MSwi5aSaIjoxLCLlvZMiOjEsIuavjiI6MSwi5769IjowLCLogIMiOjEsIuiHqiI6MSwi6ImyIjowLCLooYwiOjEsIuilvyI6MSwi5L2VIjowLCLkvZMiOjEsIuS9nCI6MSwi5ZuzIjoxLCLlo7AiOjAsIuW8nyI6MSwi5b2iIjoxLCLmnaUiOjEsIuekviI6MSwi6KeSIjoxLCLoqIAiOjEsIui1sCI6MSwi6LC3IjowLCLov5EiOjEsIumHjCI6MCwi6bqmIjowLCLlraYiOjEsIuaelyI6MCwi56m6IjoxLCLph5EiOjEsIumbqCI6MCwi6I2JIjowLCLpn7MiOjEsIuaxoCI6MSwi5Y+NIjoxLCLmlK8iOjEsIuS9jyI6MSwi5YqpIjoxLCLlkJsiOjEsIuWMuyI6MSwi5a++IjoxLCLlsYAiOjEsIuaKlSI6MSwi5b25IjoxLCLmsboiOjEsIueptiI6MSwi6LqrIjoxLCLogIUiOjEsIueglCI6MSwi5aC0IjoxLCLmnJ0iOjAsIueVqiI6MSwi562UIjowLCLntbUiOjEsIuiytyI6MCwi6YGTIjoxLCLplpMiOjEsIumbsiI6MCwi5pWwIjoxLCLoqbEiOjEsIualvSI6MSwi5omAIjoxLCLmo64iOjAsIumbuyI6MSwi6aasIjoxLCLkuIciOjEsIuS7iiI6MSwi5YWDIjoxLCLlhawiOjEsIuWGhSI6MSwi5YiGIjoxLCLliIciOjEsIuWPiyI6MSwi5Y2IIjoxLCLlpKoiOjEsIuWwkSI6MSwi5byVIjowLCLlv4MiOjEsIuaIuCI6MCwi5pa5IjoxLCLniZsiOjEsIueItiI6MCwi5q+bIjoxLCLlhqwiOjAsIuWMlyI6MSwi5Y2KIjoxLCLlj6QiOjEsIuWPsCI6MSwi5aSWIjoxLCLluIIiOjEsIuW6gyI6MCwi5q+NIjowLCLnlKgiOjEsIuefoiI6MCwi55SfIjoxLCLmraIiOjEsIuiQvSI6MSwi6IGeIjoxLCLmqKoiOjAsIumAsiI6MSwi6LuiIjoxLCLovrIiOjEsIumJhCI6MSwi6JGJIjowLCLmnIAiOjEsIue1giI6MSwi57+SIjoxLCLmrYwiOjEsIuiqniI6MSwi6KqtIjowLCLps7QiOjAsIue3miI6MSwi6ZuGIjoxLCLpo7IiOjAsIualrSI6MSwi5ryiIjoxLCLlp4siOjEsIui1tyI6MCwi6YCfIjoxLCLphY0iOjEsIumFkiI6MSwi6ZmiIjoxLCLot68iOjEsIui7vSI6MCwi6YGLIjoxLCLplosiOjEsIueulyI6MSwi6aCtIjowLCLoqr8iOjEsIuimqiI6MSwi6aGUIjowLCLnl4UiOjEsIuaxgiI6MSwi5pawIjoxLCLov5QiOjEsIuWumiI6MSwi5aOyIjoxLCLkuosiOjEsIuS9vyI6MSwi5YW3IjoxLCLlj5ciOjEsIuWSjCI6MSwi5a6fIjoxLCLmnI0iOjEsIuazsyI6MCwi54mpIjoxLCLoi6YiOjEsIuihqCI6MSwi6YOoIjoxLCLkuZciOjAsIuWuoiI6MSwi5bGLIjowLCLluqYiOjEsIueVjCI6MSwi5oyBIjoxLCLnmboiOjEsIuebuCI6MSwi55yMIjoxLCLnvo4iOjEsIuiyoCI6MSwi6YCBIjoxLCLph40iOjEsIuirhyI6MSwi6KaBIjoxLCLli50iOjEsIuS7riI6MSwi5LqIIjoxLCLkv50iOjEsIuippiI6MSwi6aiTIjoxfTsKdmFyIGthbmppWW9taVBBSU5GVUwgPSB7IuW7uiI6MSwi54yrIjowLCLlj7giOjEsIuWkqyI6MSwi6aOvIjoxLCLli4ciOjEsIuWNmCI6MSwi5a+6IjowLCLlsqkiOjAsIuaZtCI6MCwi56eLIjowLCLluLAiOjAsIuaYpSI6MCwi5pi8IjowLCLoqIgiOjEsIuWIlyI6MSwi5Yy6IjoxLCLlnYIiOjAsIuS/oSI6MSwi5byPIjoxLCLlpIkiOjEsIuaYqCI6MSwi5q+SIjoxLCLms5UiOjEsIuazoyI6MCwi5rWFIjowLCLoi7EiOjEsIue0gCI6MSwi6LuNIjoxLCLnr4kiOjEsIuS7jyI6MSwi5pmpIjoxLCLkuIgiOjEsIumKgCI6MSwi6KydIjoxLCLnhLYiOjEsIumkiiI6MSwi5oSfIjoxLCLmqYsiOjAsIuipqSI6MSwi6aGMIjoxLCLlrr8iOjEsIumhmCI6MSwi6aeFIjoxLCLlmagiOjEsIuWjqyI6MSwi6KqyIjoxLCLllY8iOjEsIuaVtCI6MSwi5pqXIjoxLCLmp5giOjAsIuemjyI6MSwi57eRIjowLCLnt7QiOjEsIumkqCI6MSwi5YSEIjoxLCLmlpkiOjEsIuaomSI6MSwi5q66IjoxLCLnhrEiOjEsIuizniI6MSwi6YG4IjoxLCLovKoiOjEsIumPoSI6MCwi5oOFIjoxLCLmmKAiOjEsIueWkSI6MSwi55qGIjowLCLmg7MiOjEsIuWDjyI6MSwi5bmyIjoxLCLpnZ4iOjEsIueEoSI6MSwi5pivIjoxLCLntZAiOjEsIue0sCI6MSwi5oKyIjoxLCLolqwiOjEsIuWOnyI6MSwi6by7IjowLCLlgbQiOjAsIuWFtSI6MSwi5aCCIjoxLCLloakiOjAsIuW4rSI6MSwi5pWXIjoxLCLmooUiOjAsIuWboCI6MSwi5bi4IjoxLCLorZgiOjEsIua4iSI6MSwi6JmaIjoxLCLlrpgiOjEsIuWvnyI6MSwi5bqVIjowLCLmhJsiOjEsIue9siI6MSwi6K2mIjoxLCLmgYsiOjEsIuimmiI6MSwi6KqsIjoxLCLlubsiOjEsIuipsyI6MSwi5YqHIjoxLCLllpwiOjEsIuaenCI6MSwi5qCEIjoxLCLoiIwiOjAsIue2miI6MSwi5YqgIjoxLCLnr4AiOjEsIua4myI6MSwi6aCGIjoxLCLlrrkiOjEsIuW4gyI6MSwi5piTIjoxLCLoi6UiOjAsIuiyoSI6MSwi6KmeIjoxLCLmmIYiOjEsIumWpSI6MSwi5q20IjoxLCLlhooiOjEsIuWuhyI6MSwi5a6ZIjoxLCLlv5kiOjEsIuWxpSI6MSwi5ZujIjoxLCLmmrQiOjEsIua3tyI6MSwi5LmxIjoxLCLlvpIiOjEsIuW+lyI6MSwi5pS5IjoxLCLpgKMiOjEsIuWWhCI6MSwi57WhIjoxLCLmr5QiOjEsIuWPsiI6MSwi56ybIjoxLCLoirgiOjEsIuauiyI6MSwi5Y2SIjoxLCLlrowiOjEsIuW/tSI6MSwi5pybIjoxLCLmoLwiOjEsIuiDvSI6MSwi5aalIjoxLCLmnZ8iOjEsIumbsCI6MSwi5p2+IjowLCLkvosiOjEsIuWNlCI6MSwi5Y+CIjoxLCLlkagiOjEsIuWbuiI6MSwi5ZuyIjoxLCLlraMiOjEsIuW4jCI6MSwi5oqYIjoxLCLmnZAiOjEsIue0hCI6MSwi55qEIjoxLCLln7oiOjEsIuaApyI6MSwi5oqAIjoxLCLooZMiOjEsIumqqCI6MSwi6aCRIjoxLCLoqLwiOjEsIumBoCI6MSwi5ZOBIjoxLCLnrJEiOjAsIueVmSI6MSwi5ZySIjoxLCLmm5wiOjEsIuabuCI6MSwi6ZaAIjoxLCLlj5YiOjEsIuS/giI6MSwi5YW4IjoxLCLlrogiOjEsIuW5uCI6MSwi5oClIjoxLCLnnJ8iOjEsIueusSI6MCwi6I23IjowLCLpnaIiOjEsIuW6nCI6MSwi5rK7IjoxLCLmtbQiOjEsIui+niI6MSwi6ZaiIjoxLCLmlL8iOjEsIuW8gSI6MSwi6Zm6IjoxLCLljbEiOjEsIuWtmCI6MSwi5bCCIjoxLCLlhpIiOjEsIuWGlyI6MSwi6ZiqIjoxLCLlk6EiOjEsIumajiI6MSwi5YuJIjoxLCLnrKwiOjEsIumDvSI6MSwi5b6FIjoxLCLmt7EiOjEsIuerpSI6MSwi5bqtIjoxLCLml4UiOjEsIuaguSI6MSwi5rWBIjoxLCLmtogiOjEsIuWAjSI6MSwi5bO2IjowLCLnpa0iOjEsIueroCI6MSwi5YuVIjoxLCLllYYiOjEsIuaCqiI6MSwi5pePIjoxLCLnkIMiOjEsIumZvSI6MSwi5a+SIjowLCLmmpEiOjAsIuacnyI6MSwi5qSNIjoxLCLmra8iOjAsIua4qSI6MSwi5rivIjoxLCLmua8iOjAsIueZuyI6MSwi552AIjoxLCLph44iOjEsIuefrSI6MSwi5rOJIjoxLCLlkIgiOjEsIuaBryI6MSwi5YOVIjoxLCLoqJMiOjEsIuW8kyI6MSwi5ZGKIjoxLCLnqK4iOjEsIumBlCI6MSwi6aGeIjoxLCLloLEiOjEsIuetiSI6MSwi56WIIjoxLCLmsb0iOjEsIuWAnyI6MSwi54S8IjowLCLlv5giOjEsIuW6pyI6MSwi5rSXIjoxLCLog7giOjAsIuWDpyI6MSwi6ISzIjoxLCLnpoUiOjEsIuWPryI6MSwi6KixIjoxLCLmnpoiOjEsIuWPpSI6MSwi6Z2ZIjoxLCLnpoEiOjEsIuWWqyI6MSwi54WZIjoxLCLlpKIiOjEsIueBvSI6MSwi55SjIjoxLCLnqbQiOjAsIuWbsCI6MSwi5qmfIjoxLCLlrrMiOjEsIueOhyI6MSwi6aObIjoxLCLkvZkiOjEsIumboyI6MSwi5aaoIjoxLCLooqsiOjEsIuijlSI6MSwi5bC7IjowLCLpnIciOjEsIuWwviI6MSwi5qKwIjoxLCLnoroiOjEsIuWrjCI6MSwi5YCLIjoxLCLlnKciOjEsIuWcqCI6MSwi5YCSIjoxLCLoh60iOjAsIuWOmiI6MCwi5aa7IjoxLCLorbAiOjEsIueKryI6MSwi572qIjoxLCLpmLIiOjEsIuirliI6MSwi57WMIjoxLCLmiJAiOjEsIuWRsyI6MSwi5L2OIjoxLCLmi74iOjAsIuS8nSI6MSwi6ICBIjoxLCLkvY0iOjEsIuWIqSI6MSwi5YqqIjoxLCLnibkiOjEsIuaUviI6MSwi5LqJIjoxLCLku7IiOjAsIuWFsSI6MSwi5aW9IjoxLCLliJ0iOjEsIuWIpSI6MSwi5Yq0IjoxLCLlkb0iOjEsIuWyuCI6MSwi5piUIjowLCLms6IiOjEsIuazqCI6MSwi6IKyIjoxLCLmjIciOjEsIua0iyI6MSwi56WeIjoxLCLmiKYiOjEsIuenkiI6MSwi57SaIjoxLCLov70iOjAsIuertiI6MSwi6ImvIjoxLCLlip8iOjEsIuS+vyI6MSwi5LukIjoxLCLlg40iOjEsIuaEjyI6MX07CnZhciBrYW5qaVlvbWlERUFUSCA9IHsi5bGFIjoxLCLoo5wiOjEsIumuriI6MSwi6ZmQIjoxLCLkuI4iOjEsIuWQqyI6MSwi5b2xIjoxLCLms4EiOjEsIua4oSI6MCwi6Z+/IjoxLCLnpagiOjEsIuaZryI6MSwi5oqcIjowLCLoqLQiOjEsIuionyI6MSwi6YCuIjoxLCLlgJkiOjEsIuaniyI6MSwi5qihIjoxLCLmjZUiOjEsIuWKuSI6MSwi5bGeIjoxLCLmhaMiOjEsIuixiiI6MSwi5rqAIjoxLCLogqUiOjEsIuW3uyI6MSwi5o2cIjoxLCLntZ4iOjEsIumaoCI6MSwi6LypIjoxLCLmjpsiOjAsIuabvyI6MCwi576pIjoxLCLmlbUiOjEsIua4iCI6MSwi5aeUIjoxLCLmjJkiOjEsIuWItiI6MSwi5YikIjoxLCLli5kiOjEsIuafuyI6MSwi57ePIjoxLCLoqK0iOjEsIuizhyI6MSwi5qipIjoxLCLku7YiOjEsIua0viI6MSwi5bKhIjowLCLntKAiOjEsIuaWrSI6MSwi6KmVIjoxLCLku7siOjEsIuaJuSI6MSwi5qScIjoxLCLlr6kiOjEsIuadoSI6MSwi6LKsIjoxLCLnnIEiOjEsIueojiI6MSwi5aKXIjoxLCLop6MiOjEsIumamyI6MSwi6KqNIjoxLCLkvIEiOjEsIumsvCI6MSwi6Z2pIjoxLCLkv7MiOjEsIuijgSI6MSwi5ZG8IjowLCLlj44iOjEsIuWBnCI6MSwi6IG3IjoxLCLopo8iOjEsIuittyI6MSwi5YmyIjowLCLltI4iOjAsIua8lCI6MSwi5b6LIjoxLCLluKsiOjEsIueciyI6MSwi5rqWIjoxLCLliYciOjEsIuWwjiI6MSwi5YKZIjoxLCLlubkiOjEsIuW8tSI6MSwi5YSqIjoxLCLmsqIiOjEsIuWuhSI6MSwi5pa9IjoxLCLotIUiOjEsIuePviI6MSwi5LmzIjoxLCLln44iOjAsIuengCI6MSwi5oKpIjowLCLmmociOjEsIuiDgyI6MSwi6YOOIjoxLCLmi5siOjEsIuautSI6MSwi6IW5IjoxLCLnl5siOjEsIumAgCI6MSwi5bGIIjoxLCLnuZQiOjEsIuiyuCI6MCwi6L+3IjoxLCLmg5EiOjEsIuiqmCI6MSwi5bCxIjoxLCLnl4ciOjEsIuioqiI6MSwi5oCSIjoxLCLmmIciOjEsIuecoCI6MSwi552hIjoxLCLnt6AiOjEsIui/qyI6MSwi6Z20IjowLCLmv4MiOjEsIuerryI6MSwi5qW1IjoxLCLlgaUiOjEsIumAlCI6MSwi5bq3IjoxLCLntaYiOjEsIumbhCI6MSwi5aiYIjowLCLkub4iOjEsIueboyI6MSwi5p2vIjoxLCLlgqwiOjEsIuS/gyI6MSwi5qynIjoxLCLmsZ8iOjAsIuiriyI6MSwi6Z+TIjoxLCLlo4oiOjEsIuiouiI6MSwi6ZajIjoxLCLlg5oiOjEsIuepjSI6MSwi552jIjoxLCLnlaUiOjEsIuiHoyI6MSwi6IiqIjoxLCLlr4QiOjEsIuadvyI6MSwi6KGXIjoxLCLlrpciOjEsIue3iiI6MSwi5a60IjoxLCLmgZAiOjEsIuaAliI6MSwi5re7IjoxLCLnjJsiOjEsIueDiCI6MSwi57SiIjoxLCLoqbAiOjAsIuelnSI6MSwi5ouFIjoxLCLpoY0iOjEsIuijvSI6MSwi54eDIjoxLCLpgZUiOjAsIui8uCI6MSwi5bGKIjowLCLni60iOjAsIuiCqSI6MCwi6IWVIjowLCLohbAiOjAsIuinpiI6MSwi6KaWIjoxLCLovIkiOjEsIuWxpCI6MSwi5Z6LIjoxLCLluoEiOjEsIuW3riI6MSwi5q2mIjoxLCLnrqEiOjEsIuixoSI6MSwi6YePIjoxLCLlooMiOjEsIueSsCI6MSwi6LOqIjoxLCLov7AiOjEsIuS+myI6MSwi5bGVIjoxLCLosqkiOjEsIuagqiI6MCwi6LOAIjoxLCLlkIQiOjEsIuiqlSI6MSwi572wIjoxLCLohLEiOjEsIumBjiI6MSwi5Z2KIjoxLCLlr50iOjAsIuWuriI6MCwi5qGIIjoxLCLnva4iOjEsIuS+oSI6MSwi6LK7IjoxLCLli6IiOjEsIuWWtiI6MSwi56S6IjoxLCLntbEiOjEsIumgmCI6MSwi562WIjoxLCLol6QiOjAsIuWJryI6MSwi6KazIjoxLCLlgKQiOjEsIuWQuCI6MSwi5ae/IjoxLCLln58iOjEsIuW/nCI6MSwi5o+QIjoxLCLmj7QiOjEsIueKtiI6MSwi5oWLIjoxLCLpgKAiOjEsIuaOiCI6MSwi5Y2wIjoxLCLlibUiOjEsIuW+gCI6MSwi5b6pIjoxLCLovIMiOjEsIuethiI6MSwi6YmbIjoxLCLosq8iOjEsIuaIkSI6MSwi5pWFIjoxLCLpmpwiOjEsIuW+kyI6MSwi5r+AIjoxLCLliLoiOjEsIuWKsSI6MSwi6KiOIjoxLCLpg7UiOjEsIumHnSI6MSwi5b60IjoxLCLmgKoiOjEsIueNoyI6MSwi56qBIjoxLCLoj5MiOjEsIuaysyI6MSwi5rGXIjowLCLmjK8iOjEsIuixmiI6MCwi5YaNIjoxLCLmjqUiOjEsIueLrCI6MSwi5Y2gIjoxLCLlt6giOjEsIuWmmSI6MSwi6bqXIjoxLCLkuKYiOjEsIuWGtyI6MSwi5YemIjoxLCLpgIYiOjEsIuW6qyI6MSwi5YWQIjoxLCLlh40iOjEsIuW5vCI6MSwi56iaIjoxLCLljZoiOjEsIuWlhyI6MSwi5riFIjoxLCLmvZQiOjEsIumMsiI6MSwi5L+uIjoxLCLpmooiOjEsIuWIuCI6MSwi5ammIjoxLCLlvq4iOjEsIuebiiI6MSwi56e7IjoxLCLnsr4iOjEsIueoiyI6MSwi57W2IjoxLCLmhrIiOjEsIuihhiI6MSwi5YKYIjowLCLmtZwiOjAsIuaSgyI6MSwi5pS7IjoxLCLntroiOjEsIumthSI6MSwi57O7IjoxLCLmuIciOjAsIuWpmiI6MSwi6YGKIjoxLCLml5ciOjEsIueFpyI6MSwi5b+rIjoxLCLniYgiOjEsIuiypyI6MSwi5LmPIjoxLCLpgakiOjEsIumgkCI6MSwi5bu2IjoxLCLnv4wiOjEsIuimpyI6MSwi5oeQIjowLCLmirwiOjAsIuabtCI6MSwi5rWuIjowLCLmnpUiOjAsIua8jyI6MSwi56ymIjoxLCLos7wiOjEsIui2iiI6MSwi6aO+IjoxLCLpqJIiOjEsIuiDjCI6MSwi5pKuIjoxLCLnm5ciOjF9Owp2YXIga2FuamlZb21pSEVMTCA9IHsi6b2iIjoxLCLpnIAiOjEsIuWunCI6MCwi57mwIjowLCLpgb8iOjEsIuWmiiI6MSwi5aigIjoxLCLoh7QiOjEsIuWIiiI6MSwi5aWPIjoxLCLkvLQiOjEsIuS9tSI6MSwi5YK+IjoxLCLljbQiOjEsIuWlpSI6MCwi5oWuIjoxLCLmh7giOjEsIuaIvyI6MSwi5omxIjowLCLmipEiOjEsIuaKniI6MSwi5o+PIjoxLCLnm6QiOjEsIue3kiI6MSwi56ewIjoxLCLnt6kiOjAsIuiolyI6MSwi6LOEIjoxLCLos4IiOjEsIui0iCI6MSwi6YCDIjoxLCLpgoQiOjEsIuaLkiI6MSwi6Yi0IjoxLCLpgqYiOjEsIumYnCI6MSwi5bKQIjoxLCLpm4ciOjEsIumahiI6MSwi5o6nIjowLCLlo4EiOjAsIuajiyI6MSwi5riLIjoxLCLnvqQiOjEsIueJhyI6MCwi5LuZIjoxLCLlhYUiOjEsIuWFjSI6MSwi5YunIjoxLCLlnI8iOjEsIuWfiyI6MCwi5Z+8IjowLCLlpaoiOjAsIuW+oSI6MSwi5oWOIjoxLCLnlLIiOjEsIuaeoCI6MCwi5paQIjoxLCLnpYkiOjEsIueosiI6MCwi6KyZIjoxLCLorbIiOjEsIui6jSI6MSwi6YqDIjoxLCLpi7wiOjEsIumghSI6MSwi5aCAIjowLCLpmqMiOjEsIumhpyI6MSwi6aeQIjoxLCLpp4YiOjAsIuWUsSI6MSwi5p+xIjoxLCLlrZ0iOjEsIuS/iiI6MSwi5YW8IjoxLCLlkLkiOjAsIuWJpCI6MSwi5behIjoxLCLmiJIiOjEsIuaOkiI6MSwi5pC6IjoxLCLpi60iOjEsIuaVjyI6MSwi5pW3IjowLCLmrr8iOjEsIueKoCI6MSwi542yIjoxLCLojIIiOjEsIumbhSI6MSwi6aC7IjoxLCLnuYEiOjEsIuauliI6MSwi6KGdIjoxLCLoloQiOjEsIuiqiSI6MSwi6KSSIjoxLCLpgI8iOjEsIuWtqyI6MSwi5a+MIjoxLCLono0iOjEsIumboiI6MSwi57eoIjoxLCLoj68iOjEsIuaXoiI6MSwi5pmuIjoxLCLosaoiOjEsIumRkSI6MSwi6ZmkIjoxLCLlsIsiOjEsIuW5viI6MCwi5buKIjoxLCLmjoMiOjEsIuazpSI6MSwi6amaIjoxLCLmo5IiOjEsIuWYhiI6MSwi5YCJIjoxLCLlt6MiOjAsIuaVkSI6MSwi5bivIjoxLCLlvoQiOjEsIuaVoyI6MSwi57KJIjoxLCLohIgiOjEsIuiPnCI6MSwi6LKoIjoxLCLpmbgiOjEsIuS8vCI6MSwi5aKTIjoxLCLlnYciOjEsIuW+syI6MSwi5o6iIjoxLCLlgbUiOjEsIueUmCI6MCwi5bCGIjoxLCLml6ciOjEsIuWnkyI6MSwi6LK/IjoxLCLnm58iOjEsIumBuiI6MSwi5YK1IjoxLCLkvLgiOjAsIuWPiiI6MSwi5aWIIjoxLCLluYUiOjAsIuW7gyI6MSwi5o+bIjoxLCLmkZgiOjEsIuaguCI6MSwi57iEIjoxLCLmspYiOjAsIua0pSI6MCwi54yuIjoxLCLnmYIiOjEsIue2mSI6MSwi57atIjoxLCLkvI4iOjEsIuiIniI6MSwi6LiPIjoxLCLoiKwiOjEsIumgvCI6MSwi5L6dIjoxLCLoq74iOjEsIum5vyI6MCwi54mZIjoxLCLotoUiOjEsIuWFhiI6MSwi5oqxIjowLCLot6EiOjEsIuaIuyI6MCwi6LezIjoxLCLmmK0iOjEsIua8gSI6MSwi5YSfIjoxLCLli58iOjEsIuWIkSI6MSwi5Z+3IjoxLCLloYEiOjEsIuW0qSI6MSwi5oKjIjoxLCLmipciOjEsIuaKtSI6MSwi5pesIjoxLCLniIYiOjEsIua5viI6MSwi5by+IjoxLCLogbQiOjEsIumBoyI6MSwi6ZeYIjoxLCLpppkiOjEsIumZoyI6MSwi6IeoIjoxLCLliYoiOjEsIuWlkSI6MSwi5o6yIjoxLCLni5kiOjEsIuiRrCI6MSwi5oG1IjoxLCLolLUiOjEsIuewoSI6MSwi6ZaJIjoxLCLoqowiOjEsIueqkyI6MCwi5ZCmIjoxLCLnrYsiOjEsIuWegiI6MSwi5a6jIjoxLCLlsIoiOjEsIuW/oCI6MSwi5ouhIjoxLCLmk40iOjEsIuaVrCI6MSwi54GwIjowLCLnhp8iOjEsIueVsCI6MSwi55qHIjoxLCLnm5siOjEsIueggiI6MSwi5rygIjoxLCLns5YiOjEsIue0jSI6MSwi6IK6IjoxLCLokZciOjEsIuiSuCI6MSwi6KOFIjoxLCLoo48iOjAsIuiruCI6MSwi6LODIjoxLCLmmq4iOjEsIumGpCI6MSwi54KOIjoxLCLnoLQiOjEsIuadiSI6MCwi54aKIjowLCLphaIiOjAsIueNhCI6MSwi6YqFIjoxLCLpgYUiOjEsIua4rCI6MSwi5b2rIjoxLCLoiI4iOjEsIuismyI6MSwi5rueIjoxLCLku4siOjEsIue0uSI6MSwi5bexIjoxLCLljoQiOjEsIuS6gCI6MCwi5LqSIjoxLCLliaMiOjEsIuW9vCI6MCwi5a+/IjoxLCLmgaUiOjAsIuaxgSI6MSwi5ZmMIjoxLCLngroiOjEsIumFlCI6MSwi6Y2LIjowLCLmuZYiOjEsIuaJlSI6MCwi5rK5IjoxLCLkuYUiOjEsIuWNtSI6MCwi6L68IjowLCLluo8iOjEsIuW/lyI6MSwi6L+OIjoxLCLmgakiOjEsIuaOoSI6MSwi5qGcIjowLCLmsLgiOjEsIua2siI6MSwi55y8IjoxLCLnpZYiOjEsIue4viI6MSwi6IiIIjoxLCLooZsiOjEsIuikhyI6MSwi6ZuRIjoxLCLphbgiOjEsIuizmyI6MSwi6YqtIjoxLCLpo7wiOjAsIuWCtyI6MSwi5YWaIjoxLCLljrMiOjEsIuaNqCI6MCwi5a+GIjoxLCLmsZoiOjEsIuaaliI6MSwi5qyyIjoxLCLmnLoiOjAsIuenmCI6MSwi6KizIjoxLCLmn5MiOjEsIueIqiI6MCwi5oudIjoxLCLlpbQiOjEsIuixhiI6MSwi6KqkIjoxLCLoh5MiOjEsIuiytCI6MSwi6ZmNIjoxLCLkuLwiOjEsIuWQkCI6MCwi6Zq3IjoxLCLoiosiOjAsIue4riI6MSwi57SUIjoxLCLnuKYiOjAsIueyiyI6MSwi56OBIjoxLCLntIUiOjEsIuWwhCI6MSwi5bmVIjoxLCLolqYiOjEsIuaPriI6MSwi5o6oIjoxLCLmsr8iOjEsIua6kCI6MSwi5YukIjoxLCLmrZMiOjEsIuaJvyI6MSwi5p6dIjoxLCLmkI0iOjEsIuWIuyI6MSwi6IWQIjoxLCLogZYiOjF9Owp2YXIga2FuamlZb21pUEFSQURJU0UgPSB7IuaPoSI6MSwi57SbIjoxLCLns74iOjEsIuaeoiI6MSwi6Lu4IjoxLCLlhYsiOjEsIuWPjCI6MSwi5YiwIjoxLCLlk7IiOjEsIuWWqiI6MSwi5aCFIjowLCLmi6wiOjEsIuW6iiI6MSwi5bynIjoxLCLmjJEiOjEsIuaOmCI6MSwi5o+6IjoxLCLmj5oiOjEsIuaWjiI6MSwi5p6QIjoxLCLmmqsiOjEsIuaziiI6MSwi5p+EIjowLCLmvZ8iOjAsIua7kSI6MSwi56+EIjoxLCLnhKYiOjEsIue2sSI6MCwi57ayIjoxLCLogp0iOjEsIuiKnSI6MCwi6I2SIjowLCLooosiOjAsIuehrCI6MSwi5puHIjowLCLmvoQiOjEsIuefmyI6MSwi6IKMIjowLCLoiJ8iOjAsIueLqSI6MCwi5Ye2IjoxLCLpkJgiOjEsIuWhiiI6MCwi6aCDIjowLCLohJoiOjEsIumtgiI6MSwi5LqVIjoxLCLkuZ8iOjAsIuWRqiI6MCwi5ayiIjoxLCLmmqYiOjEsIuecuiI6MSwi6LOtIjowLCLoo7giOjEsIueWsiI6MSwi5Y2TIjoxLCLlob4iOjEsIuiPjCI6MSwi56OoIjowLCLpmbAiOjEsIua5vyI6MSwi6ZyKIjoxLCLlq4EiOjAsIueovCI6MSwi5rqdIjoxLCLni4IiOjEsIua7nSI6MCwi57+UIjowLCLloqgiOjAsIumzqSI6MCwi56mPIjoxLCLpiI0iOjEsIumtlCI6MSwi5a+uIjoxLCLmo58iOjEsIuebhiI6MSwi5ZC+IjowLCLmlqwiOjEsIuWvpyI6MSwi5qSFIjoxLCLmrbMiOjEsIua2vCI6MSwi54y/IjowLCLnnrMiOjEsIumNtSI6MCwi6Zu2IjoxLCLnooEiOjEsIuW5vSI6MSwi56efIjoxLCLms6EiOjEsIueZliI6MCwi6Y2bIjoxLCLpjKwiOjEsIuepgiI6MCwi5bidIjoxLCLoj4oiOjEsIueerCI6MSwi6KqHIjoxLCLluoQiOjEsIumYuyI6MSwi5L+1IjoxLCLpu5kiOjEsIue2vyI6MSwi5p62IjoxLCLlrZQiOjEsIuWUhyI6MCwi56CVIjoxLCLnspgiOjEsIueypyI6MSwi5qy6IjoxLCLoqZAiOjEsIumcpyI6MCwi5p+zIjoxLCLkvIoiOjEsIuS9kCI6MSwi556tIjoxLCLlsLoiOjEsIuWTgCI6MSwi5aGAIjoxLCLlpoIiOjEsIuWinCI6MSwi5amGIjoxLCLltJYiOjEsIuW4vSI6MSwi5bmjIjoxLCLmgagiOjEsIuaGjiI6MSwi5oapIjoxLCLmiYciOjEsIuaJiSI6MSwi5o6MIjoxLCLmjL8iOjEsIua7tCI6MSwi54KKIjoxLCLnlbMiOjEsIueIvSI6MCwi5664IjowLCLoiq8iOjEsIuiDtCI6MSwi6Jm5IjowLCLlt74iOjEsIumcnCI6MCwi6JqKIjowLCLpqI4iOjEsIuW4syI6MSwi6JuHIjowLCLovrEiOjEsIuiyvCI6MCwi6YmiIjoxLCLpl4ciOjAsIumamSI6MCwi6aOiIjoxLCLppJMiOjEsIueVnCI6MSwi6L+FIjoxLCLok4QiOjEsIuWwvSI6MSwi5b2pIjoxLCLmurYiOjEsIuaGtiI6MSwi6ICQIjoxLCLouIoiOjAsIuizoiI6MSwi6LydIjoxLCLnga8iOjEsIuiEhSI6MSwi6bq7IjoxLCLlkrIiOjAsIuaClCI6MSwi5Z+5IjoxLCLohIciOjAsIumBgiI6MSwi5aGXIjoxLCLnj60iOjEsIuaWnCI6MSwi5q60IjoxLCLnm74iOjEsIuepqyI6MSwi6ba0IjowLCLmt6EiOjEsIue0qyI6MSwi6aeSIjowLCLmir0iOjEsIuiqkyI6MSwi5oKfIjoxLCLmi5MiOjEsIuaLmCI6MSwi56SOIjoxLCLliIgiOjAsIuWJmyI6MSwi5ZSvIjoxLCLlsLwiOjEsIuWjhyI6MSwi5qaCIjoxLCLmtbgiOjEsIueFriI6MCwi6KaGIjoxLCLorIAiOjEsIumalCI6MSwi6Zm2IjoxLCLkv5ciOjEsIuW+gSI6MSwi6ZmbIjoxLCLmoZEiOjAsIua9pCI6MSwi54+gIjoxLCLoobAiOjEsIuWKoyI6MSwi5aWoIjoxLCLli5giOjEsIuWmgyI6MSwi6YKqIjoxLCLmkKwiOjEsIuWisyI6MSwi5b2wIjoxLCLpp4QiOjEsIuW7tyI6MSwi6KiCIjoxLCLlo64iOjEsIua8giI6MSwi6bCQIjowLCLon7kiOjAsIuewvyI6MSwi5pm2IjoxLCLou4wiOjEsIua2ryI6MSwi5benIjoxLCLls7AiOjEsIuWUkCI6MSwi6ayxIjoxLCLmvKsiOjEsIuirriI6MSwi6YqYIjoxLCLloLAiOjAsIuWgpCI6MSwi57+7IjoxLCLlkI4iOjEsIuWlriI6MSwi5LuwIjoxLCLkuq0iOjEsIuS8ryI6MSwi5YG2IjoxLCLmt4AiOjAsIuaKiiI6MSwi5rSeIjoxLCLnlqsiOjEsIuijgiI6MSwi57GNIjoxLCLmn5QiOjEsIuayiCI6MSwi5rK8IjowLCLoqrAiOjAsIuilsiI6MSwi6LKiIjoxLCLotqMiOjEsIui3nSI6MSwi5pyXIjoxLCLljbMiOjEsIuaXqCI6MSwi5aiBIjoxLCLnrZIiOjEsIuePjSI6MSwi6ZyyIjoxLCLliLciOjEsIueJpyI6MSwi5r2uIjoxLCLlnqMiOjAsIuWwgSI6MSwi5bKzIjoxLCLmhbAiOjEsIuaHhyI6MSwi5oeyIjoxLCLmkakiOjEsIuaTpiI6MSwi5paJIjoxLCLmkrIiOjEsIua7hSI6MSwi5rOwIjoxLCLngokiOjEsIua7iyI6MSwi55C0IjowLCLoh7MiOjEsIuWEgCI6MSwi6JmOIjowLCLpgZwiOjEsIuS8uiI6MCwi5b65IjoxLCLngKwiOjAsIuaOqiI6MSwi5pKkIjoxLCLmi6AiOjEsIuaouSI6MSwi5qOEIjoxLCLom40iOjAsIuicgiI6MCwi6YWOIjoxLCLonJwiOjEsIuWinyI6MSwi5r2cIjoxLCLoiaYiOjEsIuaLsyI6MSwi54KtIjoxLCLnlZEiOjAsIuS7gSI6MSwi5YyFIjoxLCLooaMiOjEsIumJsSI6MSwi6KqgIjoxLCLpg7ciOjEsIuS+tSI6MSwi5YG9IjoxLCLpm7ciOjEsIui+myI6MSwi57KSIjoxLCLkuJgiOjEsIuWoryI6MSwi5paXIjoxLCLorI4iOjAsIuacsSI6MSwi5aGUIjoxLCLpq6oiOjAsIuegsiI6MSwi5a+4IjoxLCLnq5wiOjEsIue4gSI6MSwi57+8IjoxLCLlkIkiOjEsIuWIgyI6MCwi5b+NIjoxLCLmoYMiOjAsIuS+jSI6MCwi5L+6IjowLCLlj7EiOjAsIuaiqCI6MCwi5Yy5IjowLCLph6MiOjAsIuWPqyI6MSwi56ygIjowLCLltZAiOjAsIue8tiI6MSwi5raZIjoxLCLmo5oiOjAsIuWnqyI6MCwi6Iq9IjowfTsKdmFyIGthbmppWW9taVJFQUxJVFkgPSB7Iui7kiI6MSwi5aqbIjowLCLnjoQiOjEsIuWBiSI6MSwi6aCCIjoxLCLlj6wiOjEsIuaeryI6MSwi5oyfIjowLCLmsrgiOjEsIua/ryI6MSwi54elIjoxLCLnk7YiOjEsIuiCryI6MSwi6ICVIjoxLCLohIIiOjEsIuiGmiI6MSwi6LufIjoxLCLpg4oiOjEsIumahSI6MCwi6Zq7IjoxLCLpgrgiOjEsIua4piI6MSwi6YOhIjoxLCLph4giOjEsIuiCqiI6MSwi5ZaaIjoxLCLosp4iOjEsIuiLlyI6MSwi5oWIIjoxLCLopZ8iOjAsIuiTriI6MSwi6IGhIjoxLCLkuq4iOjEsIua1piI6MCwi5aGaIjowLCLmvLgiOjAsIuiXuyI6MSwi5aaEIjoxLCLlgLkiOjEsIueLkCI6MCwi6YCdIjoxLCLljL8iOjEsIuWvoSI6MSwi55eiIjoxLCLol40iOjAsIuWdkSI6MSwi55WUIjoxLCLllIQiOjAsIuaLtyI6MSwi5riTIjoxLCLlu4kiOjEsIuisuSI6MSwi5rmnIjoxLCLphpwiOjEsIuWNhyI6MCwi5q6JIjoxLCLnhakiOjEsIuWKviI6MSwi5qGfIjoxLCLlqb8iOjAsIuaFlSI6MSwi5723IjoxLCLnn68iOjEsIuWbmiI6MSwi5p+QIjoxLCLms4wiOjEsIuibriI6MSwi5bq2IjoxLCLpr6giOjEsIuiNmCI6MSwi5qC9IjoxLCLlhqAiOjEsIuaLkCI6MSwi5YuyIjoxLCLphawiOjEsIuashCI6MSwi57SLIjoxLCLljbgiOjAsIumAuCI6MSwi5bCaIjoxLCLpoZUiOjEsIueymyI6MSwi5oSaIjoxLCLot7UiOjEsIuWRiCI6MSwi55aOIjoxLCLnlr4iOjEsIuisoSI6MSwi6Y6MIjowLCLphbciOjEsIuWPmSI6MSwi5LiUIjowLCLnl7QiOjEsIuWRhiI6MSwi5ZO6IjoxLCLmgqAiOjEsIuWCsiI6MSwi6IyOIjowLCLpmL8iOjEsIuadjyI6MSwi6IycIjowLCLmoJ4iOjAsIuS8jyI6MSwi6Y6uIjoxLCLlpYkiOjEsIuaGgiI6MSwi5qCDIjowLCLmnLQiOjEsIue0ryI6MSwi5oOcIjoxLCLkvbMiOjEsIuaCvCI6MSwi6KmyIjoxLCLotbQiOjEsIumrhCI6MSwi5YKNIjoxLCLnmZIiOjEsIumDrSI6MSwi5bC/IjoxLCLomZwiOjEsIuizkyI6MSwi5oa+IjoxLCLlvKUiOjAsIueylyI6MSwi5b6qIjoxLCLohIoiOjEsIuWHnSI6MSwi5piMIjoxLCLml6YiOjEsIuaEiSI6MSwi5qCTIjoxLCLmirkiOjEsIuS5iyI6MCwi6b6NIjoxLCLnkZsiOjEsIumBvCI6MSwi6YKjIjoxLCLlr4IiOjEsIuW6uCI6MSwi5ouNIjoxLCLnjLYiOjEsIuWusCI6MSwi57irIjoxLCLlkYkiOjEsIuWHoSI6MSwi5oGtIjowLCLpjK8iOjEsIuepgCI6MSwi5byKIjoxLCLpmbUiOjEsIuiItiI6MSwi5oKmIjoxLCLnqq4iOjEsIue4myI6MSwi6L2EIjoxLCLlvKYiOjEsIua0qiI6MSwi56qSIjoxLCLmkYIiOjEsIumjvSI6MSwi6Z2WIjowLCLntLMiOjEsIuWYiSI6MSwi5pC+IjoxLCLonbYiOjEsIueikSI6MSwi5bCJIjoxLCLljKAiOjEsIuWHmyI6MSwi6YGlIjowLCLmmboiOjEsIuaftCI6MCwi55GgIjoxLCLmlaIiOjEsIualkyI6MSwi5Ye5IjoxLCLlh7giOjEsIuiQjCI6MSwi54OPIjowLCLos4oiOjEsIuaXiyI6MSwi6byTIjoxLCLohbgiOjEsIuanvSI6MSwi5LyQIjoxLCLloJUiOjEsIua8rCI6MCwi5Z2qIjowLCLntLoiOjEsIue+hSI6MSwi5bOhIjoxLCLkv7giOjEsIumGuCI6MSwi5byUIjoxLCLkuZkiOjEsIuihoSI6MSwi6YGNIjoxLCLmrL4iOjEsIumWsiI6MSwi5ZadIjoxLCLohpwiOjEsIuebsiI6MSwi6YW1IjoxLCLog44iOjEsIumBriI6MSwi5ZOJIjowLCLokrwiOjEsIuWHhiI6MSwi5a+bIjoxLCLog54iOjEsIua1hCI6MSwi6ZqPIjoxLCLnqL8iOjEsIuS4uSI6MSwi5aOMIjoxLCLoiJciOjEsIumosCI6MSwi57evIjoxLCLoiYciOjEsIuaKqyI6MSwi6YymIjowLCLlibAiOjEsIue5iiI6MSwi6KutIjoxLCLmg6giOjEsIuiZkCI6MSwi5o2uIjowLCLlvpAiOjEsIuaQrSI6MSwi6JKZIjoxLCLnk5wiOjEsIumviSI6MCwi5oi0IjoxLCLnt4siOjEsIuabmSI6MCwi6IOhIjoxLCLluKUiOjEsIuWVkyI6MSwi6JG1IjowLCLpp78iOjEsIuirkiI6MSwi6I6JIjoxLCLpgYciOjEsIumZpSI6MSwi6LKrIjoxLCLopociOjEsIuiMqCI6MCwi5ZGCIjoxLCLmk4EiOjEsIuWtpCI6MSwi6Y6WIjoxLCLos6AiOjEsIuWZtCI6MSwi56WlIjoxLCLnibIiOjEsIuWUhiI6MSwi56epIjoxLCLohqgiOjEsIuiKsyI6MSwi5oGSIjoxLCLlgKsiOjEsIumZsyI6MSwi6aCIIjoxLCLlgY8iOjEsIuezpyI6MSwi5q6KIjoxLCLmhaIiOjEsIuayoSI6MSwi5oCgIjoxLCLpga0iOjEsIuaDsCI6MSwi54yfIjoxLCLkuYMiOjEsIumiryI6MSwi57a+IjoxLCLpmrwiOjAsIui8lCI6MCwi56GrIjoxLCLotaYiOjEsIueqgyI6MSwi5oWoIjoxLCLmiK8iOjEsIuaJtiI6MSwi5r+BIjoxLCLlpZQiOjEsIuiCliI6MSwi5py9IjoxLCLkuqsiOjEsIuauuyI6MSwi6JepIjoxLCLpto8iOjEsIuWqkiI6MSwi5ZixIjoxLCLmpI4iOjEsIui/rSI6MSwi57W5IjoxLCLpmaoiOjEsIuitnCI6MSwi5YmWIjoxLCLmt5EiOjEsIuW4hiI6MSwi6YWMIjoxLCLmhqQiOjEsIuaagSI6MCwi5YKRIjoxLCLpjKAiOjEsIuWHjCI6MCwi55GeIjowLCLoj4UiOjAsIueSgyI6MSwi5ryjIjoxLCLlkJ8iOjEsIuS+riI6MSwi6YuzIjoxLCLolJEiOjEsIuiDhiI6MSwi5rWqIjoxLCLnpo0iOjEsIumFqiI6MSwi5oanIjowLCLkupwiOjEsIuaFtiI6MSwi5qKTIjowLCLmsbAiOjEsIuaymSI6MSwi5b+MIjoxLCLpgbciOjEsIuaLmSI6MSwi56+kIjoxLCLls6AiOjAsIuWPlCI6MCwi6ZuMIjowLCLloKoiOjAsIuW0hyI6MSwi55SaIjoxLCLmvIYiOjEsIuWyrCI6MCwi57ShIjoxLCLnpIEiOjEsIuWxryI6MSwi5ae7IjoxLCLnnaYiOjEsIuaTrCI6MSwi6ZaRIjoxLCLmm7kiOjEsIuWNkSI6MSwi6KmgIjoxfTsKCi8qCiogVXNlZCBmb3Igc3dpdGNoaW5nIGJldHdlZW4gaGlyYSBhbmQga2F0YSAodmljZSB2ZXJzYSkKKi8KdmFyIGhpcmFUb0thdGEgPSB7IuOCgSI6ICLjg6EiLCAi44KAIjogIuODoCIsICLjgoMiOiAi44OjIiwgIuOCgiI6ICLjg6IiLCAi44KFIjogIuODpSIsICLjgoQiOiAi44OkIiwgIuOChyI6ICLjg6ciLCAi44KGIjogIuODpiIsICLjgokiOiAi44OpIiwgIuOCiCI6ICLjg6giLCAi44KLIjogIuODqyIsICLjgooiOiAi44OqIiwgIuOCjSI6ICLjg60iLCAi44KMIjogIuODrCIsICLjgo8iOiAi44OvIiwgIuOCkyI6ICLjg7MiLCAi44KSIjogIuODsiIsICLjgYIiOiAi44KiIiwgIuOBhCI6ICLjgqQiLCAi44GGIjogIuOCpiIsICLjgYgiOiAi44KoIiwgIuOBiyI6ICLjgqsiLCAi44GKIjogIuOCqiIsICLjgY0iOiAi44KtIiwgIuOBjCI6ICLjgqwiLCAi44GPIjogIuOCryIsICLjgY4iOiAi44KuIiwgIuOBkSI6ICLjgrEiLCAi44GQIjogIuOCsCIsICLjgZMiOiAi44KzIiwgIuOBkiI6ICLjgrIiLCAi44GVIjogIuOCtSIsICLjgZQiOiAi44K0IiwgIuOBlyI6ICLjgrciLCAi44GWIjogIuOCtiIsICLjgZkiOiAi44K5IiwgIuOBmCI6ICLjgrgiLCAi44GbIjogIuOCuyIsICLjgZoiOiAi44K6IiwgIuOBnSI6ICLjgr0iLCAi44GcIjogIuOCvCIsICLjgZ8iOiAi44K/IiwgIuOBniI6ICLjgr4iLCAi44GhIjogIuODgSIsICLjgaAiOiAi44OAIiwgIuOBoyI6ICLjg4MiLCAi44GiIjogIuODgiIsICLjgaUiOiAi44OFIiwgIuOBpCI6ICLjg4QiLCAi44GnIjogIuODhyIsICLjgaYiOiAi44OGIiwgIuOBqSI6ICLjg4kiLCAi44GoIjogIuODiCIsICLjgasiOiAi44OLIiwgIuOBqiI6ICLjg4oiLCAi44GtIjogIuODjSIsICLjgawiOiAi44OMIiwgIuOBryI6ICLjg48iLCAi44GuIjogIuODjiIsICLjgbEiOiAi44ORIiwgIuOBsCI6ICLjg5AiLCAi44GzIjogIuODkyIsICLjgbIiOiAi44OSIiwgIuOBtSI6ICLjg5UiLCAi44G0IjogIuODlCIsICLjgbciOiAi44OXIiwgIuOBtiI6ICLjg5YiLCAi44G5IjogIuODmSIsICLjgbgiOiAi44OYIiwgIuOBuyI6ICLjg5siLCAi44G6IjogIuODmiIsICLjgb0iOiAi44OdIiwgIuOBvCI6ICLjg5wiLCAi44G/IjogIuODnyIsICLjgb4iOiAi44OeIn07CnZhciBrYXRhVG9IaXJhID0geyLjg6EiOiAi44KBIiwgIuODoCI6ICLjgoAiLCAi44OjIjogIuOCgyIsICLjg6IiOiAi44KCIiwgIuODpSI6ICLjgoUiLCAi44OkIjogIuOChCIsICLjg6ciOiAi44KHIiwgIuODpiI6ICLjgoYiLCAi44OpIjogIuOCiSIsICLjg6giOiAi44KIIiwgIuODqyI6ICLjgosiLCAi44OqIjogIuOCiiIsICLjg60iOiAi44KNIiwgIuODrCI6ICLjgowiLCAi44OvIjogIuOCjyIsICLjg7MiOiAi44KTIiwgIuODsiI6ICLjgpIiLCAi44KiIjogIuOBgiIsICLjgqQiOiAi44GEIiwgIuOCpiI6ICLjgYYiLCAi44KoIjogIuOBiCIsICLjgqsiOiAi44GLIiwgIuOCqiI6ICLjgYoiLCAi44KtIjogIuOBjSIsICLjgqwiOiAi44GMIiwgIuOCryI6ICLjgY8iLCAi44KuIjogIuOBjiIsICLjgrEiOiAi44GRIiwgIuOCsCI6ICLjgZAiLCAi44KzIjogIuOBkyIsICLjgrIiOiAi44GSIiwgIuOCtSI6ICLjgZUiLCAi44K0IjogIuOBlCIsICLjgrciOiAi44GXIiwgIuOCtiI6ICLjgZYiLCAi44K5IjogIuOBmSIsICLjgrgiOiAi44GYIiwgIuOCuyI6ICLjgZsiLCAi44K6IjogIuOBmiIsICLjgr0iOiAi44GdIiwgIuOCvCI6ICLjgZwiLCAi44K/IjogIuOBnyIsICLjgr4iOiAi44GeIiwgIuODgSI6ICLjgaEiLCAi44OAIjogIuOBoCIsICLjg4MiOiAi44GjIiwgIuODgiI6ICLjgaIiLCAi44OFIjogIuOBpSIsICLjg4QiOiAi44GkIiwgIuODhyI6ICLjgaciLCAi44OGIjogIuOBpiIsICLjg4kiOiAi44GpIiwgIuODiCI6ICLjgagiLCAi44OLIjogIuOBqyIsICLjg4oiOiAi44GqIiwgIuODjSI6ICLjga0iLCAi44OMIjogIuOBrCIsICLjg48iOiAi44GvIiwgIuODjiI6ICLjga4iLCAi44ORIjogIuOBsSIsICLjg5AiOiAi44GwIiwgIuODkyI6ICLjgbMiLCAi44OSIjogIuOBsiIsICLjg5UiOiAi44G1IiwgIuODlCI6ICLjgbQiLCAi44OXIjogIuOBtyIsICLjg5YiOiAi44G2IiwgIuODmSI6ICLjgbkiLCAi44OYIjogIuOBuCIsICLjg5siOiAi44G7IiwgIuODmiI6ICLjgboiLCAi44OdIjogIuOBvSIsICLjg5wiOiAi44G8IiwgIuODnyI6ICLjgb8iLCAi44OeIjogIuOBviJ9OwoKaWYgKC9kYXNoYm9hcmQvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCBkb2N1bWVudC5VUkwgPT0gImh0dHA6Ly93d3cud2FuaWthbmkuY29tLyIgfHwgZG9jdW1lbnQuVVJMID09ICJodHRwczovL3d3dy53YW5pa2FuaS5jb20vIikgLy8gSG9tZXBhZ2UKewogICAgdmFyIHJlcGxhY2VQb3B1cCA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICBpZiAoIGlzT255b21pQWxsKCQodGhpcykudGV4dCgpKSA9PSAxKSAkKHRoaXMpLmF0dHIoKCdkYXRhLW9yaWdpbmFsLXRpdGxlJyksIGNvbnZlcnRUb0thdGEoJCh0aGlzKS5hdHRyKCdkYXRhLW9yaWdpbmFsLXRpdGxlJykpICk7CiAgICB9OwogICAgJCgnLmxhdHRpY2Utc2luZ2xlLWNoYXJhY3RlciBhW2RhdGEtb3JpZ2luYWwtdGl0bGVdJykuZWFjaChyZXBsYWNlUG9wdXApOwoKICAgIC8vIHRoaXMgaXMgZm9yIHNjcmlwdHMgd2hvIG1vZGlmeSB0aGUgaG9tZXNjcmVlbiBhZnRlciB0aGUgcGFnZSBmaW5pc2hlZCBsb2FkaW5nCiAgICAkKCcua2FuamktcHJvZ3Jlc3MgLmxhdHRpY2Utc2luZ2xlLWNoYXJhY3RlciAuc21hbGwtY2FwcyA+IHNwYW4nKS5iaW5kKCJET01TdWJ0cmVlTW9kaWZpZWQiLGZ1bmN0aW9uKCl7CiAgICAgICAgJCgnLmthbmppLXByb2dyZXNzIC5sYXR0aWNlLXNpbmdsZS1jaGFyYWN0ZXIgYVtkYXRhLW9yaWdpbmFsLXRpdGxlXScpLmVhY2gocmVwbGFjZVBvcHVwKTsKICAgIH0pOwoKfQplbHNlIGlmICgvXC9sYXR0aWNlXC9rYW5qaS8udGVzdChkb2N1bWVudC5VUkwpKSAvLyBMYXR0aWNlCnsKICAgIHZhciByZXBsYWNlUG9wdXAgPSBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgaWYgKCBpc09ueW9taUFsbCgkKHRoaXMpLnRleHQoKSkgPT0gMSkgJCh0aGlzKS5hdHRyKCgnZGF0YS1vcmlnaW5hbC10aXRsZScpLCBjb252ZXJ0VG9LYXRhKCQodGhpcykuYXR0cignZGF0YS1vcmlnaW5hbC10aXRsZScpKSApOwogICAgfTsKICAgICQoJy5sYXR0aWNlLXNpbmdsZS1jaGFyYWN0ZXIgYVtkYXRhLW9yaWdpbmFsLXRpdGxlXScpLmVhY2gocmVwbGFjZVBvcHVwKTsKCn0KZWxzZSBpZiAoL1wva2FuamlcLy8udGVzdChkb2N1bWVudC5VUkwpKSAvLyBLYW5qaSBkZXRhaWwgcGFnZQp7CiAgICB2YXIgcmVwbGFjZVJlYWRpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoJCh0aGlzKS5jaGlsZHJlbignaDMnKS50ZXh0KCkgPT0gIk9u4oCZeW9taSIpCiAgICAgICAgewogICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKCdwJykudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuY2hpbGRyZW4oJ3AnKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgJCgnLnNwYW40JykuZWFjaChyZXBsYWNlUmVhZGluZyk7CgogICAgLy8tLS0tLS0tLS0gVmlzdWFsbHkgU2ltaWxhciBLYW5qaSAtLS0tLS0tLS0vLwogICAgdmFyIHJlcGxhY2VTaW1pbGFyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKGlzT255b21pQWxsKCQodGhpcykuZmluZCgnLmNoYXJhY3RlcicpLnRleHQoKSkgPT0gMSkgJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoY29udmVydFRvS2F0YSgkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dCgpKSk7CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmZpbmQoJ2EnKS5lYWNoKHJlcGxhY2VTaW1pbGFyKTsKfQplbHNlIGlmICgvXC9rYW5qaVw/ZGlmZmljdWx0Ly50ZXN0KGRvY3VtZW50LlVSTCkgfHwgZG9jdW1lbnQuVVJMID09ICJodHRwOi8vd3d3LndhbmlrYW5pLmNvbS9rYW5qaSIpIC8vIEJpZyBrYW5qaSBwYWdlIGJhc2VkIG9uIGRpZmZpY3VsdHkKewogICAgdmFyIG4gPSBkb2N1bWVudC5VUkwubGFzdEluZGV4T2YoJz0nKTsKICAgIHZhciBkaWZmaWN1bHR5ID0gZG9jdW1lbnQuVVJMLnN1YnN0cmluZyhuICsgMSk7CgogICAgdmFyIHJlcGxhY2VMZXZlbFBvcnRpb24gPSBmdW5jdGlvbigpIHsKICAgICAgICAkKHRoaXMpLmZpbmQoJy5jaGFyYWN0ZXItaXRlbScpLmVhY2gocmVwbGFjZVJlYWRpbmcpOwogICAgfTsKCiAgICB2YXIgcmVwbGFjZVJlYWRpbmcgPSBmdW5jdGlvbigpIHsKICAgICAgICBpZiAoaXNPbnlvbWkoJCh0aGlzKS5maW5kKCcuY2hhcmFjdGVyJykudGV4dCgpLnJlcGxhY2UoL1xzL2csJycpLCBkaWZmaWN1bHR5KSkgJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoY29udmVydFRvS2F0YSgkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dCgpKSk7CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmVhY2gocmVwbGFjZUxldmVsUG9ydGlvbik7Cn0KZWxzZSBpZiAoL1wvcmFkaWNhbHNcLy8udGVzdChkb2N1bWVudC5VUkwpIHx8wqAvXC92b2NhYnVsYXJ5XC8vLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gUmFkaWNhbCBhbmQgVm9jYWJ1bGFyeSBwYWdlCnsKICAgIC8vLS0tLS0tLS0tIEZvdW5kIEluIGFuZCBVdGlsaXplZCBLYW5qaSAtLS0tLS0tLS0vLwogICAgdmFyIHJlcGxhY2VSZWFkaW5nID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKGlzT255b21pQWxsKCQodGhpcykuZmluZCgnLmNoYXJhY3RlcicpLnRleHQoKSkgPT0gMSkgJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoY29udmVydFRvS2F0YSgkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dCgpKSk7CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmZpbmQoJ2EnKS5lYWNoKHJlcGxhY2VSZWFkaW5nKTsKfQplbHNlIGlmICgvXC9sZXZlbFwvLy50ZXN0KGRvY3VtZW50LlVSTCkpIC8vIExldmVsIHBhZ2UKewogICAgdmFyIG4gPSBkb2N1bWVudC5VUkwubGFzdEluZGV4T2YoJy8nKTsKICAgIHZhciBsZXZlbCA9IGRvY3VtZW50LlVSTC5zdWJzdHJpbmcobiArIDEpOwoKICAgIHZhciByZXBsYWNlUmVhZGluZyA9IGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChpc09ueW9taSgkKHRoaXMpLmNoaWxkcmVuKCcuY2hhcmFjdGVyJykudGV4dCgpLnJlcGxhY2UoL1xzL2csJycpLCBsZXZlbCkpCiAgICAgICAgewogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuZmluZCgnbGknKS5lcSgwKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgJCgnLnNpbmdsZS1jaGFyYWN0ZXItZ3JpZCcpLmVxKDEpLmZpbmQoJ2EnKS5lYWNoKHJlcGxhY2VSZWFkaW5nKTsKfQplbHNlIGlmICgvcmV2aWV3XC9zZXNzaW9uLy50ZXN0KGRvY3VtZW50LlVSTCkpIC8vIFJldmlldyB0ZXN0IHBhZ2UKewogICAgYW5zd2VyQ2hlY2tlci5vbGRJc0FzY2lpUHJlc2VudEtNID0gYW5zd2VyQ2hlY2tlci5pc0FzY2lpUHJlc2VudDsKICAgIGFuc3dlckNoZWNrZXIuaXNBc2NpaVByZXNlbnQgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgLy8gdGhpcyBpcyBmb3IgdHJhaWxpbmcgTiB0byDjg7MKICAgICAgICBpZihlW2UubGVuZ3RoLTFdID09PSAnTicpIHsKICAgICAgICAgICAgZSA9IGUuc3Vic3RyKDAsIGUubGVuZ3RoLTEpICsgJ+ODsycgKyBlLnN1YnN0cihlLmxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBhbnN3ZXJDaGVja2VyLm9sZElzQXNjaWlQcmVzZW50S00oZSk7CiAgICB9OwoKICAgIGFuc3dlckNoZWNrZXIub2xkRXZhbHVhdGVLTSA9IGFuc3dlckNoZWNrZXIuZXZhbHVhdGU7CiAgICBhbnN3ZXJDaGVja2VyLmV2YWx1YXRlID0gZnVuY3Rpb24oZSx0KSB7CiAgICAgICAgLy9jb25zb2xlLmxvZygkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKSk7CiAgICAgICAgLy8gdGhpcyBpcyBmb3IgdHJhaWxpbmcgTiB0byDjg7MKICAgICAgICBpZihlID09PSAicmVhZGluZyIgJiYgdFt0Lmxlbmd0aC0xXSA9PT0gJ04nKSB7CiAgICAgICAgICAgIHQgPSB0LnN1YnN0cigwLCB0Lmxlbmd0aC0xKSArICfjg7MnICsgdC5zdWJzdHIodC5sZW5ndGgpOwogICAgICAgIH0KICAgICAgICBpZihpc09ueW9taVJldmlldygpKSB7CiAgICAgICAgICAgIC8vIHRoaXMgaXMgZm9yIHRoZSAiV2FuaUthbmkgaXMgbG9va2luZyBmb3IgdGhlIG9ueW9taSByZWFkaW5nIiBmdW5jdGlvbgogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8ICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpLmt1bi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5nZXQoJ2N1cnJlbnRJdGVtJykua3VuW2ldID0gY29udmVydFRvS2F0YSgkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKS5rdW5baV0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJC5qU3RvcmFnZS5nZXQoJ2N1cnJlbnRJdGVtJykub24ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpLm9uW2ldID0gY29udmVydFRvS2F0YSgkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKS5vbltpXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy9jb25zb2xlLmxvZygkLmpTdG9yYWdlLmdldCgnY3VycmVudEl0ZW0nKSk7CiAgICAgICAgcmV0dXJuIGFuc3dlckNoZWNrZXIub2xkRXZhbHVhdGVLTShlLHQpOwogICAgfTsKCiAgICAkKCcjdXNlci1yZXNwb25zZScpLm9uKCdpbnB1dCcsIGZ1bmN0aW9uKCkgewogICAgICAgIGlmKGlzT255b21pUmV2aWV3KCkpIHsKICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGNvbnZlcnRUb0thdGEoJCh0aGlzKS52YWwoKS50b1VwcGVyQ2FzZSgpKTsKICAgICAgICB9CiAgICB9KTsKCiAgICB2YXIgb2JzZXJ2ZU1lID0gJCgnI2l0ZW0taW5mbyAucHVyZS11LTEtNCcpWzBdOwogICAgb2JzZXJ2ZURPTSgpKCBvYnNlcnZlTWUgLGZ1bmN0aW9uKCkgewogICAgICAgIGlmKGlzT255b21pUmV2aWV3KCkpIHsKICAgICAgICAgICAgJCgnI2l0ZW0taW5mby1yZWFkaW5nID4gc3BhbicpLnRleHQoY29udmVydFRvS2F0YSgkKCcjaXRlbS1pbmZvLXJlYWRpbmcgPiBzcGFuJykudGV4dCgpKSk7CiAgICAgICAgfQogICAgfSk7CgogICAgLy8gY2hhbmdlIGxhc3QgMTAgaXRlbXMKICAgIHZhciBsYXN0MTBDaGFuZ2UgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgaWYoaXNPbnlvbWlBbGwoJCh0aGlzKS5maW5kKCdsaScpLmVxKDApLnRleHQoKSkpewogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMSkudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuZmluZCgnbGknKS5lcSgxKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgdmFyIG9ic2VydmVNZSA9ICQoJyNsYXN0LWl0ZW1zLWxpc3QnKVswXTsKICAgIG9ic2VydmVET00oKSggb2JzZXJ2ZU1lICxmdW5jdGlvbigpIHsKICAgICAgICAkKCcjbGFzdC1pdGVtcy1saXN0IC5rYW5qaScpLmVhY2gobGFzdDEwQ2hhbmdlKTsKICAgIH0pOwp9CmVsc2UgaWYgKC9yZXZpZXcvLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gUmV2aWV3IGluZm8gcGFnZSBhdCB0aGUgYmVnaW5uaW5nIGFuZCB0aGUgZW5kIG9mIGEgcmV2aWV3CnsKICAgIHZhciBvYnNlcnZlTWUgPSAkKCcjcmV2aWV3cy1zdW1tYXJ5JylbMF07CiAgICBvYnNlcnZlRE9NKCkoIG9ic2VydmVNZSAsZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGUgPSAkKCcua2FuamkgLmhvdmVyJyk7CiAgICAgICAgaWYoZS5sZW5ndGggIT09IDAgJiYgaXNPbnlvbWlBbGwoZS5wcmV2KCdhJykuZXEoMCkudGV4dCgpKSkgewogICAgICAgICAgICB2YXIgb255b21pTm9kZSA9IGUuZmluZCgndWwnKS5maW5kKCdsaScpLmVxKDEpOwogICAgICAgICAgICBvbnlvbWlOb2RlLnRleHQoY29udmVydFRvS2F0YShvbnlvbWlOb2RlLnRleHQoKSkpOwogICAgICAgIH0KICAgIH0pOwp9CmVsc2UgaWYgKC9sZXNzb25cL3Nlc3Npb24vLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gTGVzc29uIGFuZCBsZXNzb24gdGVzdCBwYWdlCnsKICAgIC8vLS0tLS0tLS0tIExlc3NvbiBQYXJ0IC0tLS0tLS0tLS8vCiAgICB2YXIgd2hlbkxlc3NvblNsaWRlcyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBLYW5qaSBpbmZvCiAgICAgICAgdmFyIHR5cGUgPSAkKCIjc3VwcGxlbWVudC1rYW4tcmVhZGluZy10eXBlIikudGV4dCgpOwogICAgICAgIGlmKHR5cGUgPT09ICJvbid5b21pIikgewogICAgICAgICAgICAkKCcjc3VwcGxlbWVudC1rYW4tcmVhZGluZyBzcGFuJykuZXEoMSkudGV4dChjb252ZXJ0VG9LYXRhKCQoJyNzdXBwbGVtZW50LWthbi1yZWFkaW5nIHNwYW4nKS5lcSgxKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICAgICAgLy8gVm9jYWJsZSBicmVha2Rvd24gaW5mbwogICAgICAgICQoIiNzdXBwbGVtZW50LXZvYy1icmVha2Rvd24iKS5maW5kKCcua2FuamknKS5lYWNoKHJlcGxhY2VCcmVha2Rvd24pOwogICAgfTsKICAgIHZhciByZXBsYWNlQnJlYWtkb3duID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmKGlzT255b21pQWxsKCQodGhpcykudGV4dCgpKSkgewogICAgICAgICAgICAkKHRoaXMpLmF0dHIoInRpdGxlIiwgY29udmVydFRvS2F0YSgkKHRoaXMpLmF0dHIoJ3RpdGxlJykpKTsKICAgICAgICB9CiAgICB9OwogICAgJCgnI2JhdGNoLWl0ZW1zJykuY2xpY2sod2hlbkxlc3NvblNsaWRlcyk7CgogICAgLy8tLS0tLS0tLS0gVGVzdCBQYXJ0IC0tLS0tLS0tLS8vCiAgICBhbnN3ZXJDaGVja2VyLm9sZElzQXNjaWlQcmVzZW50S00gPSBhbnN3ZXJDaGVja2VyLmlzQXNjaWlQcmVzZW50OwogICAgYW5zd2VyQ2hlY2tlci5pc0FzY2lpUHJlc2VudCA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAvLyB0aGlzIGlzIGZvciB0cmFpbGluZyBOIHRvIOODswogICAgICAgIGlmKGVbZS5sZW5ndGgtMV0gPT09ICdOJykgewogICAgICAgICAgICBlID0gZS5zdWJzdHIoMCwgZS5sZW5ndGgtMSkgKyAn44OzJyArIGUuc3Vic3RyKGUubGVuZ3RoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFuc3dlckNoZWNrZXIub2xkSXNBc2NpaVByZXNlbnRLTShlKTsKICAgIH07CgogICAgYW5zd2VyQ2hlY2tlci5vbGRFdmFsdWF0ZUtNID0gYW5zd2VyQ2hlY2tlci5ldmFsdWF0ZTsKICAgIGFuc3dlckNoZWNrZXIuZXZhbHVhdGUgPSBmdW5jdGlvbihlLHQpIHsKICAgICAgICAvL2NvbnNvbGUubG9nKCQualN0b3JhZ2UuZ2V0KCdsL2N1cnJlbnRRdWl6SXRlbScpKTsKICAgICAgICAvLyB0aGlzIGlzIGZvciB0cmFpbGluZyBOIHRvIOODswogICAgICAgIGlmKGUgPT09ICJyZWFkaW5nIiAmJiB0W3QubGVuZ3RoLTFdID09PSAnTicpIHsKICAgICAgICAgICAgdCA9IHQuc3Vic3RyKDAsIHQubGVuZ3RoLTEpICsgJ+ODsycgKyB0LnN1YnN0cih0Lmxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIGlmKGlzT255b21pTGVzc29uKCkpIHsKICAgICAgICAgICAgLy8gdGhpcyBpcyBmb3IgdGhlICJXYW5pS2FuaSBpcyBsb29raW5nIGZvciB0aGUgb255b21pIHJlYWRpbmciIGZ1bmN0aW9uCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgJC5qU3RvcmFnZS5nZXQoJ2wvY3VycmVudFF1aXpJdGVtJykua3VuLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAkLmpTdG9yYWdlLmdldCgnbC9jdXJyZW50UXVpekl0ZW0nKS5rdW5baV0gPSBjb252ZXJ0VG9LYXRhKCQualN0b3JhZ2UuZ2V0KCdsL2N1cnJlbnRRdWl6SXRlbScpLmt1bltpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAkLmpTdG9yYWdlLmdldCgnbC9jdXJyZW50UXVpekl0ZW0nKS5vbi5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5nZXQoJ2wvY3VycmVudFF1aXpJdGVtJykub25baV0gPSBjb252ZXJ0VG9LYXRhKCQualN0b3JhZ2UuZ2V0KCdsL2N1cnJlbnRRdWl6SXRlbScpLm9uW2ldKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gYW5zd2VyQ2hlY2tlci5vbGRFdmFsdWF0ZUtNKGUsdCk7CiAgICB9OwoKICAgICQoJyN1c2VyLXJlc3BvbnNlJykub24oJ2lucHV0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoaXNPbnlvbWlMZXNzb24oKSkgewogICAgICAgICAgICB0aGlzLnZhbHVlID0gY29udmVydFRvS2F0YSgkKHRoaXMpLnZhbCgpLnRvVXBwZXJDYXNlKCkpOwogICAgICAgIH0KICAgIH0pOwoKICAgIHZhciBvYnNlcnZlTWUgPSAkKCcjaXRlbS1pbmZvIC5wdXJlLXUtMS00JylbMF07CiAgICBvYnNlcnZlRE9NKCkoIG9ic2VydmVNZSAsZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoaXNPbnlvbWlMZXNzb24oKSkgewogICAgICAgICAgICAkKCcjaXRlbS1pbmZvLXJlYWRpbmcgc3BhbicpLnRleHQoY29udmVydFRvS2F0YSgkKCcjaXRlbS1pbmZvLXJlYWRpbmcgc3BhbicpLnRleHQoKSkpOwogICAgICAgIH0KICAgIH0pOwoKfWVsc2UgaWYgKC9sZXNzb24vLnRlc3QoZG9jdW1lbnQuVVJMKSkgLy8gTGVzc29uIGluZm8gcGFnZSBhdCB0aGUgYmVnaW5uaW5nIGFuZCB0aGUgZW5kIG9mIGEgcnVuCnsKICAgIHZhciBvYnNlcnZlTWUgPSAkKCcja2FuamknKVswXTsKICAgIG9ic2VydmVET00oKSggb2JzZXJ2ZU1lICxmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZSA9ICQoJy5rYW5qaSAuaG92ZXInKTsKICAgICAgICBpZihlLmxlbmd0aCAhPT0gMCAmJiBpc09ueW9taUFsbChlLnByZXYoJ2EnKS5lcSgwKS50ZXh0KCkpKSB7CiAgICAgICAgICAgIHZhciBvbnlvbWlOb2RlID0gZS5maW5kKCd1bCcpLmZpbmQoJ2xpJykuZXEoMSk7CiAgICAgICAgICAgIG9ueW9taU5vZGUudGV4dChjb252ZXJ0VG9LYXRhKG9ueW9taU5vZGUudGV4dCgpKSk7CiAgICAgICAgfQogICAgfSk7Cn0KCi8vIFNlYXJjaCByZXN1bHQKaWYoIC9kYXNoYm9hcmQvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCBkb2N1bWVudC5VUkwgPT0gImh0dHA6Ly93d3cud2FuaWthbmkuY29tLyIgfHwgZG9jdW1lbnQuVVJMID09ICJodHRwczovL3d3dy53YW5pa2FuaS5jb20vIiB8fCAvXC9sZXZlbC8udGVzdChkb2N1bWVudC5VUkwpIHx8CiAgIC9cL2xhdHRpY2UvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCAvXC9yYWRpY2Fscy8udGVzdChkb2N1bWVudC5VUkwpIHx8IC9cL2thbmppLy50ZXN0KGRvY3VtZW50LlVSTCkgfHwgL1wvdm9jYWJ1bGFyeS8udGVzdChkb2N1bWVudC5VUkwpIHx8CiAgIC9cL2NvbW11bml0eS8udGVzdChkb2N1bWVudC5VUkwpIHx8IC9cL2NoYXQvLnRlc3QoZG9jdW1lbnQuVVJMKSB8fCAvXC9hY2NvdW50Ly50ZXN0KGRvY3VtZW50LlVSTCkgKSB7CiAgICB2YXIgc2VhcmNoQ2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYoaXNPbnlvbWlBbGwoJCh0aGlzKS5maW5kKCdzcGFuJykudGV4dCgpKSkgewogICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZXEoMCkudGV4dChjb252ZXJ0VG9LYXRhKCQodGhpcykuZmluZCgnbGknKS5lcSgwKS50ZXh0KCkpKTsKICAgICAgICB9CiAgICB9OwogICAgdmFyIG9ic2VydmVNZSA9ICQoJy5zZWFyY2gtcmVzdWx0cycpWzBdOwogICAgb2JzZXJ2ZURPTSgpKCBvYnNlcnZlTWUgLGZ1bmN0aW9uKCkgewogICAgICAgICQoJy5zZWFyY2gtcmVzdWx0cyAja2FuamktJykuZWFjaChzZWFyY2hDaGFuZ2UpOwogICAgfSk7Cn0KCgoKLy8tLSBIZWxwZXIgZnVuY3Rpb25zIGZvciB0cmFuc2Zvcm1pbmcga2F0YSA8LT4gaGlyYSAtLS8vCmZ1bmN0aW9uIGlzT255b21pUmV2aWV3KCkgewoKICAgIHZhciBvYmpDdXJJdGVtID0gJC5qU3RvcmFnZS5nZXQoImN1cnJlbnRJdGVtIik7CiAgICB2YXIgc3RyUXVlc3Rpb25UeXBlID0gJC5qU3RvcmFnZS5nZXQoInF1ZXN0aW9uVHlwZSIpOwoKICAgIGlmICgia2FuIiBpbiBvYmpDdXJJdGVtKSB7CiAgICAgICAgLy8gS2FuamkKICAgICAgICBpZiAoc3RyUXVlc3Rpb25UeXBlID09PSAicmVhZGluZyIpIHsKICAgICAgICAgICAgaWYob2JqQ3VySXRlbS5lbXBoID09PSAib255b21pIikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGlzT255b21pTGVzc29uKCkgewoKICAgIHZhciBvYmpDdXJJdGVtID0gJC5qU3RvcmFnZS5nZXQoImwvY3VycmVudFF1aXpJdGVtIik7CiAgICB2YXIgc3RyUXVlc3Rpb25UeXBlID0gJC5qU3RvcmFnZS5nZXQoImwvcXVlc3Rpb25UeXBlIik7CgogICAgaWYgKCJrYW4iIGluIG9iakN1ckl0ZW0pCiAgICB7CiAgICAgICAgLy8gS2FuamkKICAgICAgICBpZiAoc3RyUXVlc3Rpb25UeXBlID09PSAicmVhZGluZyIpIHsKICAgICAgICAgICAgaWYob2JqQ3VySXRlbS5lbXBoID09PSAib255b21pIil7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gaXNPbnlvbWkoa2FuamksIGxldmVsKQp7CiAgICBzd2l0Y2gobGV2ZWwudG9VcHBlckNhc2UoKSkgewogICAgICAgIGNhc2UgJ1BMRUFTQU5UJzogY2FzZSAnMSc6IGNhc2UgJzInOiBjYXNlICczJzogY2FzZSAnNCc6IGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6IGNhc2UgJzgnOiBjYXNlICc5JzogY2FzZSAnMTAnOgogICAgICAgICAgICByZXR1cm4ga2FuamlZb21pUExFQVNBTlRba2FuamldOwogICAgICAgIGNhc2UgJ1BBSU5GVUwnOiBjYXNlICcxMSc6IGNhc2UgJzEyJzogY2FzZSAnMTMnOiBjYXNlICcxNCc6IGNhc2UgJzE1JzogY2FzZSAnMTYnOiBjYXNlICcxNyc6IGNhc2UgJzE4JzogY2FzZSAnMTknOiBjYXNlICcyMCc6CiAgICAgICAgICAgIHJldHVybiBrYW5qaVlvbWlQQUlORlVMW2thbmppXTsKICAgICAgICBjYXNlICdERUFUSCc6IGNhc2UgJzIxJzogY2FzZSAnMjInOiBjYXNlICcyMyc6IGNhc2UgJzI0JzogY2FzZSAnMjUnOiBjYXNlICcyNic6IGNhc2UgJzI3JzogY2FzZSAnMjgnOiBjYXNlICcyOSc6IGNhc2UgJzMwJzoKICAgICAgICAgICAgcmV0dXJuIGthbmppWW9taURFQVRIW2thbmppXTsKICAgICAgICBjYXNlICdIRUxMJzogY2FzZSAnMzEnOiBjYXNlICczMic6IGNhc2UgJzMzJzogY2FzZSAnMzQnOiBjYXNlICczNSc6IGNhc2UgJzM2JzogY2FzZSAnMzcnOiBjYXNlICczOCc6IGNhc2UgJzM5JzogY2FzZSAnNDAnOgogICAgICAgICAgICByZXR1cm4ga2FuamlZb21pSEVMTFtrYW5qaV07CiAgICAgICAgY2FzZSAnUEFSQURJU0UnOiBjYXNlICc0MSc6IGNhc2UgJzQyJzogY2FzZSAnNDMnOiBjYXNlICc0NCc6IGNhc2UgJzQ1JzogY2FzZSAnNDYnOiBjYXNlICc0Nyc6IGNhc2UgJzQ4JzogY2FzZSAnNDknOiBjYXNlICc1MCc6CiAgICAgICAgICAgIHJldHVybiBrYW5qaVlvbWlQQVJBRElTRVtrYW5qaV07CiAgICAgICAgY2FzZSAnUkVBTElUWSc6IGNhc2UgJzUxJzogY2FzZSAnNTInOiBjYXNlICc1Myc6IGNhc2UgJzU0JzogY2FzZSAnNTUnOiBjYXNlICc1Nic6IGNhc2UgJzU3JzogY2FzZSAnNTgnOiBjYXNlICc1OSc6IGNhc2UgJzYwJzoKICAgICAgICAgICAgcmV0dXJuIGthbmppWW9taVJFQUxJVFlba2FuamldOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHJldHVybiAwOwogICAgfQp9CmZ1bmN0aW9uIGlzT255b21pQWxsKGthbmppKQp7CgogICAgaWYoa2FuamlZb21pUExFQVNBTlRba2FuamldKSByZXR1cm4gMTsKICAgIGlmKGthbmppWW9taVBBSU5GVUxba2FuamldKSByZXR1cm4gMTsKICAgIGlmKGthbmppWW9taURFQVRIW2thbmppXSkgcmV0dXJuIDE7CiAgICBpZihrYW5qaVlvbWlIRUxMW2thbmppXSkgcmV0dXJuIDE7CiAgICBpZihrYW5qaVlvbWlQQVJBRElTRVtrYW5qaV0pIHJldHVybiAxOwogICAgaWYoa2FuamlZb21pUkVBTElUWVtrYW5qaV0pIHJldHVybiAxOwogICAgcmV0dXJuIDA7Cgp9CmZ1bmN0aW9uIGNvbnZlcnRUb0thdGEoY2hhaW4pCnsKICAgIGNoYWluID0gY2hhaW4udHJpbSgpOwogICAgZm9yICh2YXIgaSA9IDAsIGMgPSBjaGFpbi5sZW5ndGg7IGkgPCBjOyBpKyspCiAgICB7CiAgICAgICAgY2hhaW4gPSByZXBsYWNlQXQoY2hhaW4sIGksIGhpcmFUb0thdGFbY2hhaW5baV1dIHx8IGNoYWluW2ldKTsKICAgIH0KICAgIHJldHVybiBjaGFpbjsKfQoKZnVuY3Rpb24gY29udmVydFRvSGlyYShjaGFpbikKewogICAgY2hhaW4gPSBjaGFpbi50cmltKCk7CiAgICBmb3IgKHZhciBpID0gMCwgYyA9IGNoYWluLmxlbmd0aDsgaSA8IGM7IGkrKykKICAgIHsKICAgICAgICBjaGFpbiA9IHJlcGxhY2VBdChjaGFpbiwgaSwga2F0YVRvSGlyYVtjaGFpbltpXV0gfHwgY2hhaW5baV0pOwogICAgfQogICAgcmV0dXJuIGNoYWluOwp9CgpmdW5jdGlvbiByZXBsYWNlQXQocywgbiwgdCkKewogICAgcmV0dXJuIHMuc3Vic3RyaW5nKDAsIG4pICsgdCArIHMuc3Vic3RyaW5nKG4gKyAxKTsKfQoKLyoKKiBXYWl0IGZvciBlbGVtZW50cyB0byBhcHBlYXIKKiBjYWxsIHdpdGggb2JzZXJ2ZURvbSgpKG9ic2Vydk5vZGUsIGNhbGxiYWNrRnVuY3Rpb24pOwoqIGZyb20gc3RhY2tvdmVyZmxvdzogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTQ1NzA2MTQKKi8KZnVuY3Rpb24gb2JzZXJ2ZURPTSgpIHsKICAgIHZhciBNdXRhdGlvbk9ic2VydmVyID0gd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIgfHwgd2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXIsCiAgICAgICAgZXZlbnRMaXN0ZW5lclN1cHBvcnRlZCA9IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyOwogICAgcmV0dXJuIGZ1bmN0aW9uKG9iaiwgY2FsbGJhY2spewogICAgICAgIGlmKCBNdXRhdGlvbk9ic2VydmVyICkgewogICAgICAgICAgICAvLyBkZWZpbmUgYSBuZXcgb2JzZXJ2ZXIKICAgICAgICAgICAgdmFyIG9icyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKG11dGF0aW9ucywgb2JzZXJ2ZXIpIHsKICAgICAgICAgICAgICAgIGlmKCBtdXRhdGlvbnNbMF0uYWRkZWROb2Rlcy5sZW5ndGggKQogICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICAvLyBoYXZlIHRoZSBvYnNlcnZlciBvYnNlcnZlIGZvbyBmb3IgY2hhbmdlcyBpbiBjaGlsZHJlbgogICAgICAgICAgICBvYnMub2JzZXJ2ZSggb2JqLCB7IGNoaWxkTGlzdDp0cnVlLCBzdWJ0cmVlOnRydWUgfSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIGV2ZW50TGlzdGVuZXJTdXBwb3J0ZWQgKSB7CiAgICAgICAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWQnLCBjYWxsYmFjaywgZmFsc2UpOwogICAgICAgICAgICBvYmouYWRkRXZlbnRMaXN0ZW5lcignRE9NTm9kZVJlbW92ZWQnLCBjYWxsYmFjaywgZmFsc2UpOwogICAgICAgIH0KICAgIH07Cn0KCi8qCiogT25seSB1c2VkIGZvciBnZW5lcmF0aW5nIG9ueW9taUxpc3QKKiBDYW4gYWxzbyBiZSB1c2VkIHRvIGxvYWQga2Fuamkgb255b21pIGluZm9ybWF0aW9ucyBmcm9tIHNlcnZlciAoc2xvdykKKgoqIFVwZGF0ZToKKiBDYWxsIHdpdGggcGFyYW1ldGVyIG9mIGxldmVsIGFuZCBjb3B5IHRoZSBzdHJpbmcgZnJvbSB0aGUgbG9nIHdpbmRvdyBpbiBvbmUgb2YgdGhlIHZhcmlhYmxlcyBvbiB0aGUgdG9wCiogZS5nLgoqIGNvbnNvbGUubG9nKGxvYWRLYXRhRnJvbUFwaSgiUExFQVNBTlQiKSk7CiogY29uc29sZS5sb2cobG9hZEthdGFGcm9tQXBpKCJQQUlORlVMIikpOwoqIGNvbnNvbGUubG9nKGxvYWRLYXRhRnJvbUFwaSgiREVBVEgiKSk7CiogY29uc29sZS5sb2cobG9hZEthdGFGcm9tQXBpKCJIRUxMIikpOwoqIGNvbnNvbGUubG9nKGxvYWRLYXRhRnJvbUFwaSgiUEFSQURJU0UiKSk7CiogY29uc29sZS5sb2cobG9hZEthdGFGcm9tQXBpKCJSRUFMSVRZIikpOwoqLwpmdW5jdGlvbiBsb2FkS2F0YUZyb21BcGkobGV2ZWwpIHsKICAgIHZhciBsZXZlbHM7CiAgICBzd2l0Y2gobGV2ZWwpIHsKICAgICAgICBjYXNlICdQTEVBU0FOVCc6CiAgICAgICAgICAgIGxldmVscyA9ICIxLDIsMyw0LDUsNiw3LDgsOSwxMCI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ1BBSU5GVUwnOgogICAgICAgICAgICBsZXZlbHMgPSAiMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAiOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdERUFUSCc6CiAgICAgICAgICAgIGxldmVscyA9ICIyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ0hFTEwnOgogICAgICAgICAgICBsZXZlbHMgPSAiMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAiOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdQQVJBRElTRSc6CiAgICAgICAgICAgIGxldmVscyA9ICI0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ1JFQUxJVFknOgogICAgICAgICAgICBsZXZlbHMgPSAiNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAiOwogICAgICAgICAgICBicmVhazsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICBsZXZlbHMgPSAnMSc7CiAgICB9CgogICAgdmFyIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgcmVxLm9wZW4oJ0dFVCcsICdodHRwczovL3d3dy53YW5pa2FuaS5jb20vYXBpL3VzZXIvJyArIGFwaUtleSArICcva2FuamkvJyArIGxldmVscywgdHJ1ZSk7CiAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHJlcS5yZWFkeVN0YXRlID09PSA0KSB7CiAgICAgICAgICAgIGlmIChyZXEuc3RhdHVzID49IDIwMCAmJiByZXEuc3RhdHVzIDwgNDAwKSB7CiAgICAgICAgICAgICAgICB2YXIgbGlzdCA9IEpTT04ucGFyc2UocmVxLnJlc3BvbnNlVGV4dCkucmVxdWVzdGVkX2luZm9ybWF0aW9uOwogICAgICAgICAgICAgICAgdmFyIG91dHB1dCA9IHt9OwoKICAgICAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBvdXRwdXRbbGlzdFtpXS5jaGFyYWN0ZXJdID0gbGlzdFtpXS5pbXBvcnRhbnRfcmVhZGluZyA9PSAib255b21pIiA/IDEgOiAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkob3V0cHV0KSk7CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgYWxlcnQoImVycm9yIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwogICAgcmVxLnNlbmQoKTsKfQo="},{"name":"Codingame File Sync","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_arrayleft":false,"compat_uW_gmonkey":false,"compat_forvarin":false,"noframes":null,"awareOfChrome":false,"run_at":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["*://www.codingame.com/*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649634,"data":{}},"enabled":false,"position":9,"file_url":"https://raw.githubusercontent.com/selslack/codingame-sync-userscript/master/codingame-sync.user.js","uuid":"7c2e57a8-c3c9-405e-93b2-c4bb6a4312aa","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgIENvZGluZ2FtZSBGaWxlIFN5bmMKLy8gQG1hdGNoICAgICo6Ly93d3cuY29kaW5nYW1lLmNvbS8qCi8vIEB2ZXJzaW9uICAyLjAKLy8gQGdyYW50ICAgIG5vbmUKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIGlucHV0ID0gbnVsbDsKICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOwoKICAgIHZhciBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uIChtdXRhdGlvbnMpIHsKICAgICAgICBtdXRhdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAobXV0YXRpb24pIHsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdXRhdGlvbi5hZGRlZE5vZGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICBpZiAobXV0YXRpb24uYWRkZWROb2Rlc1tpXS5ub2RlVHlwZSAhPT0gMSkgeyAvLyBFTEVNRU5UX05PREUKICAgICAgICAgICAgICAgICAgICBjb250aW51ZSA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbGV0IGJ1dHRvbnMgPSBtdXRhdGlvbi5hZGRlZE5vZGVzW2ldLnF1ZXJ5U2VsZWN0b3IoImRpdi5jb2RlLWJ1dHRvbnMiKTsKCiAgICAgICAgICAgICAgICBpZiAoIWJ1dHRvbnMpIHsKICAgICAgICAgICAgICAgICAgICBjb250aW51ZSA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwogICAgICAgICAgICAgICAgaW5wdXQuY2xhc3NOYW1lID0gImlkZS10YWIiOwogICAgICAgICAgICAgICAgaW5wdXQudHlwZSA9ICJmaWxlIjsKCiAgICAgICAgICAgICAgICBidXR0b25zLmluc2VydEJlZm9yZShpbnB1dCwgYnV0dG9ucy5maXJzdENoaWxkKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdXRhdGlvbi5yZW1vdmVkTm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChtdXRhdGlvbi5yZW1vdmVkTm9kZXNbaV0ubm9kZVR5cGUgIT09IDEpIHsgLy8gRUxFTUVOVF9OT0RFCiAgICAgICAgICAgICAgICAgICAgY29udGludWUgOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICghbXV0YXRpb24ucmVtb3ZlZE5vZGVzW2ldLnF1ZXJ5U2VsZWN0b3IoImRpdi5jb2RlLWJ1dHRvbnMiKSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlIDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpbnB1dCA9IG51bGw7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwoKICAgIHZhciBzeW5jID0gZnVuY3Rpb24gKCkgewogICAgICAgIGlmICghaW5wdXQgfHwgaW5wdXQuZmlsZXMubGVuZ3RoICE9PSAxKSB7CiAgICAgICAgICAgIHJldHVybiA7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChpbnB1dC5maWxlc1swXSk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlKSB7CiAgICAgICAgICAgIC8vIFNhZmVseSBpZ25vcmUgYW55IGVycm9yCiAgICAgICAgfQogICAgfTsKCiAgICByZWFkZXIub25sb2FkID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgd2luZG93LmRvY3VtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJFeHRlcm5hbEVkaXRvclRvSURFIiwgewogICAgICAgICAgICBkZXRhaWw6IHsKICAgICAgICAgICAgICAgIHN0YXR1czogInVwZGF0ZUNvZGUiLAogICAgICAgICAgICAgICAgY29kZTogZXZlbnQudGFyZ2V0LnJlc3VsdC5yZXBsYWNlKC9cclxuL2csICJcbiIpLnJlcGxhY2UoL1xyL2csICJcbiIpCiAgICAgICAgICAgIH0KICAgICAgICB9KSk7CiAgICB9OwoKICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwgewogICAgICAgIHN1YnRyZWU6IHRydWUsCiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLAogICAgICAgIGF0dHJpYnV0ZXM6IGZhbHNlLAogICAgICAgIGNoYXJhY3RlckRhdGE6IGZhbHNlCiAgICB9KTsKCiAgICBzZXRJbnRlcnZhbChzeW5jLCAxMDAwKTsKfSkoKTsK"},{"name":"Bunpro: Disable Backspace Undo","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"noframes":null,"run_at":null,"override":{"use_includes":[],"orig_includes":["*bunpro.jp/*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":["*community.bunpro.jp*"],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649636,"data":{}},"enabled":true,"position":10,"file_url":"https://greasyfork.org/scripts/396170-bunpro-disable-backspace-undo/code/Bunpro:%20Disable%20Backspace%20Undo.user.js","uuid":"a83ba4d2-a68b-45d6-b98f-e0c8a83de351","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBCdW5wcm86IERpc2FibGUgQmFja3NwYWNlIFVuZG8KLy8gQG5hbWVzcGFjZSAgICBodHRwOi8vdGFtcGVybW9ua2V5Lm5ldC8KLy8gQHZlcnNpb24gICAgICAxLjAuNgovLyBAZGVzY3JpcHRpb24gIERpc2FibGVzIHRoZSBiYWNrc3BhY2UgZnVuY3Rpb25hbGl0eSBpbiByZXZpZXdzCi8vIEBhdXRob3IgICAgICAgS3VtaXJlaQovLyBAaW5jbHVkZSAgICAgICpidW5wcm8uanAvKgovLyBAZXhjbHVkZSAgICAgICpjb21tdW5pdHkuYnVucHJvLmpwKgovLyBAcmVxdWlyZSAgICAgIGh0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zNzA2MjMtYnVucHJvLWhlbHBmdWwtZXZlbnRzL2NvZGUvQnVucHJvOiUyMEhlbHBmdWwlMjBFdmVudHMuanM/dmVyc2lvbj05NzQzNjkKLy8gQGdyYW50ICAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uKCkgewogICAgdmFyICQgPSB3aW5kb3cuJDsKICAgICQoJ2h0bWwnKVswXS5hZGRFdmVudExpc3RlbmVyKCdxdWl6LXBhZ2UnLCAoKT0+ewogICAgICAgIHZhciBpbnB1dF9lbGVtID0gJCgnI3N0dWR5LWFuc3dlci1pbnB1dCcpOwogICAgICAgICQoJ2JvZHknKS5rZXlkb3duKChldmVudCk9PnsKICAgICAgICAgICAgdmFyIGNvbG9ycyA9IGlucHV0X2VsZW0uY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJykubWF0Y2goL1xkKy9nKTsKICAgICAgICAgICAgdmFyIHN1bSA9IGNvbG9ycy5yZWR1Y2UoKGEsIGIpPT5OdW1iZXIoYSkrTnVtYmVyKGIpKTsKICAgICAgICAgICAgdmFyIHJlZG5lc3MgPSBjb2xvcnNbMF0vc3VtOwogICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PSA4ICYmIHJlZG5lc3MgPiAwLjQpIHsKICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgaW5wdXRfZWxlbS5ibHVyKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwp9KSgpOwo=","requires":[]},{"name":"Wanikani Double-Check","options":{"check_for_updates":false,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://www.wanikani.com/extra_study/session*","https://www.wanikani.com/review/session*","https://preview.wanikani.com/extra_study/session*","https://preview.wanikani.com/review/session*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-end","orig_noframes":null,"orig_connects":[]},"user_modified":null},"storage":{"ts":1606921521559,"data":{}},"enabled":true,"position":11,"file_url":"https://greasyfork.org/scripts/35063-wanikani-double-check/code/Wanikani%20Double-Check.user.js","uuid":"462d24eb-4e66-4f82-b8dd-79a94b1c8872","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIFdhbmlrYW5pIERvdWJsZS1DaGVjawovLyBAbmFtZXNwYWNlICAgd2tkb3VibGVjaGVjawovLyBAZGVzY3JpcHRpb24gQWxsb3dzIHJldHlwaW5nIHR5cG8nZCBhbnN3ZXJzLCBvciBtYXJraW5nIHdyb25nIHdoZW4gV0sncyB0eXBvIHRvbGVyYW5jZSBpcyB0b28gbGF4LgovLyBAbWF0Y2ggICAgICAgaHR0cHM6Ly93d3cud2FuaWthbmkuY29tL2V4dHJhX3N0dWR5L3Nlc3Npb24qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3d3dy53YW5pa2FuaS5jb20vcmV2aWV3L3Nlc3Npb24qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tL2V4dHJhX3N0dWR5L3Nlc3Npb24qCi8vIEBtYXRjaCAgICAgICBodHRwczovL3ByZXZpZXcud2FuaWthbmkuY29tL3Jldmlldy9zZXNzaW9uKgovLyBAdmVyc2lvbiAgICAgMi4zLjMKLy8gQGF1dGhvciAgICAgIFJvYmluIEZpbmRsZXkKLy8gQGNvcHlyaWdodCAgIDIwMTcrLCBSb2JpbiBGaW5kbGV5Ci8vIEBsaWNlbnNlICAgICBNSVQ7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQKLy8gQHJ1bi1hdCAgICAgIGRvY3VtZW50LWVuZAovLyBAZ3JhbnQgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCi8vIENSRURJVFM6IFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgYW4gb3JpZ2luYWwgc2NyaXB0IGJ5IFdhbmlrYW5pIHVzZXIgQEV0aGFuLgovLyBFdGhhbidzIHNjcmlwdCBzdG9wcGVkIHdvcmtpbmcgZHVlIHRvIHNvbWUgV2FuaWthbmkgY2hhbmdlcy4gIFRoZSBjb2RlIGJlbG93IGlzCi8vIDEwMCUgbXkgb3duLCBidXQgaXQgY2xvc2VseSByZXBsaWNhdGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIEV0aGFuJ3Mgb3JpZ2luYWwgc2NyaXB0LgoKLy8gSE9US0VZUzoKLy8gICAiKyIgICAgICAtIE1hcmtzIGFuc3dlciBhcyAnY29ycmVjdCcuCi8vICAgIi0iICAgICAgLSBNYXJrcyBhbnN3ZXIgYXMgJ2luY29ycmVjdCcuCi8vICAgIkVzY2FwZSIgb3IgIkJhY2tzcGFjZSIgLSBSZXNldHMgcXVlc3Rpb24sIGFsbG93aW5nIHlvdSB0byByZXR5cGUuCgovLyBTRUUgU0VUVElOR1MgQkVMT1cuCgp3aW5kb3cuZG91YmxlY2hlY2sgPSB7fTsKCihmdW5jdGlvbihnb2JqKSB7CgogICAgLyogZ2xvYmFsIHdrb2YsIGFkZGl0aW9uYWxDb250ZW50LCBsYXN0SXRlbXMsIFNycywgd2FuYWthbmEsIFdhbmlLYW5pICovCgogICAgdmFyIHNldHRpbmdzOwoKICAgIHdrb2YuaW5jbHVkZSgnTWVudSxTZXR0aW5ncycpOwogICAgd2tvZi5yZWFkeSgnZG9jdW1lbnQsTWVudSxTZXR0aW5ncycpLnRoZW4oc2V0dXApOwogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHNldHVwKCkgLSBTZXQgdXAgdGhlIG1lbnUgbGluayBhbmQgZGVmYXVsdCBzZXR0aW5ncy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzZXR1cCgpIHsKICAgICAgICB3a29mLk1lbnUuaW5zZXJ0X3NjcmlwdF9saW5rKHtuYW1lOidkb3VibGVjaGVjaycsc3VibWVudTonU2V0dGluZ3MnLHRpdGxlOidEb3VibGUtQ2hlY2snLG9uX2NsaWNrOm9wZW5fc2V0dGluZ3N9KTsKCiAgICAgICAgdmFyIGRlZmF1bHRzID0gewogICAgICAgICAgICBhbGxvd19yZXR5cGluZzogdHJ1ZSwKICAgICAgICAgICAgYWxsb3dfY2hhbmdlX2NvcnJlY3Q6IGZhbHNlLAogICAgICAgICAgICBzaG93X2NvcnJlY3RlZF9hbnN3ZXI6IGZhbHNlLAogICAgICAgICAgICBhbGxvd19jaGFuZ2VfaW5jb3JyZWN0OiBmYWxzZSwKICAgICAgICAgICAgdHlwb19hY3Rpb246ICdpZ25vcmUnLAogICAgICAgICAgICB3cm9uZ19hbnN3ZXJfdHlwZV9hY3Rpb246ICd3YXJuJywKICAgICAgICAgICAgd3JvbmdfbnVtYmVyX25fYWN0aW9uOiAnd2FybicsCiAgICAgICAgICAgIHNtYWxsX2thbmFfYWN0aW9uOiAnd2FybicsCiAgICAgICAgICAgIGthbmppX3JlYWRpbmdfZm9yX3ZvY2FiX2FjdGlvbjogJ3dhcm4nLAogICAgICAgICAgICBrYW5qaV9tZWFuaW5nX2Zvcl92b2NhYl9hY3Rpb246ICd3YXJuJywKICAgICAgICAgICAgZGVsYXlfd3Jvbmc6IHRydWUsCiAgICAgICAgICAgIGRlbGF5X211bHRpX21lYW5pbmc6IGZhbHNlLAogICAgICAgICAgICBkZWxheV9zbGlnaHRseV9vZmY6IGZhbHNlLAogICAgICAgICAgICBkZWxheV9wZXJpb2Q6IDEuNSwKICAgICAgICAgICAgd2Fybl9idXJuOiAnbmV2ZXInLAogICAgICAgICAgICBidXJuX2RlbGF5X3BlcmlvZDogMS41LAogICAgICAgICAgICBzaG93X2xpZ2h0bmluZ19idXR0b246IHRydWUsCiAgICAgICAgICAgIGxpZ2h0bmluZ19lbmFibGVkOiBmYWxzZSwKICAgICAgICAgICAgc3JzX21zZ19wZXJpb2Q6IDEuMiwKICAgICAgICAgICAgYXV0b2luZm9fY29ycmVjdDogZmFsc2UsCiAgICAgICAgICAgIGF1dG9pbmZvX2luY29ycmVjdDogZmFsc2UsCiAgICAgICAgICAgIGF1dG9pbmZvX211bHRpX21lYW5pbmc6IGZhbHNlLAogICAgICAgICAgICBhdXRvaW5mb19zbGlnaHRseV9vZmY6IGZhbHNlCiAgICAgICAgfQogICAgICAgIHJldHVybiB3a29mLlNldHRpbmdzLmxvYWQoJ2RvdWJsZWNoZWNrJywgZGVmYXVsdHMpCiAgICAgICAgICAgIC50aGVuKGluaXRfdWkuYmluZChudWxsLCB0cnVlIC8qIGZpcnN0X3RpbWUgKi8pKTsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gb3Blbl9zZXR0aW5ncygpIC0gT3BlbiB0aGUgU2V0dGluZ3MgZGlhbG9nLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG9wZW5fc2V0dGluZ3MoKSB7CiAgICAgICAgdmFyIGRpYWxvZyA9IG5ldyB3a29mLlNldHRpbmdzKHsKICAgICAgICAgICAgc2NyaXB0X2lkOiAnZG91YmxlY2hlY2snLAogICAgICAgICAgICB0aXRsZTogJ0RvdWJsZS1DaGVjayBTZXR0aW5ncycsCiAgICAgICAgICAgIG9uX3NhdmU6IGluaXRfdWksCiAgICAgICAgICAgIHByZV9vcGVuOiBzZXR0aW5nc19wcmVvcGVuLAogICAgICAgICAgICBjb250ZW50OiB7CiAgICAgICAgICAgICAgICB0YWJBbnN3ZXJzOiB7dHlwZToncGFnZScsbGFiZWw6J0Fuc3dlcnMnLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgIGdycENoYW5nZUFuc3dlcnM6IHt0eXBlOidncm91cCcsbGFiZWw6J0NoYW5nZSBBbnN3ZXInLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgICAgICBhbGxvd19yZXR5cGluZzoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonQWxsb3cgcmV0eXBpbmcgYW5zd2VyJyxkZWZhdWx0OnRydWUsaG92ZXJfdGlwOidXaGVuIGVuYWJsZWQsIHlvdSBjYW4gcmV0eXBlIHlvdXIgYW5zd2VyIGJ5IHByZXNzaW5nIEVzY2FwZSBvciBCYWNrc3BhY2UuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93X2NoYW5nZV9pbmNvcnJlY3Q6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0FsbG93IGNoYW5naW5nIHRvICJpbmNvcnJlY3QiJyxkZWZhdWx0OnRydWUsaG92ZXJfdGlwOidXaGVuIGVuYWJsZWQsIHlvdSBjYW4gY2hhbmdlIHlvdXIgYW5zd2VyXG50byAiaW5jb3JyZWN0IiBieSBwcmVzc2luZyB0aGUgIi0iIGtleS4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dfY2hhbmdlX2NvcnJlY3Q6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0FsbG93IGNoYW5naW5nIHRvICJjb3JyZWN0IicsZGVmYXVsdDp0cnVlLGhvdmVyX3RpcDonV2hlbiBlbmFibGVkLCB5b3UgY2FuIGNoYW5nZSB5b3VyIGFuc3dlclxudG8gImNvcnJlY3QiIGJ5IHByZXNzaW5nIHRoZSAiKyIga2V5Lid9LAogICAgICAgICAgICAgICAgICAgICAgICBzaG93X2NvcnJlY3RlZF9hbnN3ZXI6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1Nob3cgY29ycmVjdGVkIGFuc3dlcicsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J1doZW4gZW5hYmxlZCwgcHJlc3NpbmcgXCcrXCcgdG8gY29ycmVjdCB5b3VyIGFuc3dlciBwdXRzIHRoZVxuY29ycmVjdGVkIGFuc3dlciBpbiB0aGUgaW5wdXQgZmllbGQuIFByZXNzaW5nIFwnK1wnIG11bHRpcGxlXG50aW1lcyBjeWNsZXMgdGhyb3VnaCBhbGwgYWNjZXB0YWJsZSBhbnN3ZXJzLid9LAogICAgICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgICAgIGdycENhcmVsZXNzTWlzdGFrZXM6IHt0eXBlOidncm91cCcsbGFiZWw6J0NhcmVsZXNzIE1pc3Rha2VzJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgdHlwb19hY3Rpb246IHt0eXBlOidkcm9wZG93bicsbGFiZWw6J1R5cG9zIGluIG1lYW5pbmcnLGRlZmF1bHQ6J2lnbm9yZScsY29udGVudDp7aWdub3JlOidJZ25vcmUnLHdhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiBtZWFuaW5nIGNvbnRhaW5zIHR5cG9zLid9LAogICAgICAgICAgICAgICAgICAgICAgICB3cm9uZ19hbnN3ZXJfdHlwZV9hY3Rpb246IHt0eXBlOidkcm9wZG93bicsbGFiZWw6J1dyb25nIGFuc3dlciB0eXBlJyxkZWZhdWx0Oid3YXJuJyxjb250ZW50Ont3YXJuOidXYXJuL3NoYWtlJyx3cm9uZzonTWFyayB3cm9uZyd9LGhvdmVyX3RpcDonQ2hvb3NlIGFuIGFjdGlvbiB0byB0YWtlIHdoZW4gcmVhZGluZyB3YXMgZW50ZXJlZCBpbnN0ZWFkIG9mIG1lYW5pbmcsIG9yIHZpY2UgdmVyc2EuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIHdyb25nX251bWJlcl9uX2FjdGlvbjoge3R5cGU6J2Ryb3Bkb3duJyxsYWJlbDonV3JvbmcgbnVtYmVyIG9mIG5cJ3MnLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB5b3UgdHlwZSB0aGUgd3JvbmcgbnVtYmVyIG9mIG5cJ3MgaW4gY2VydGFpbiByZWFkaW5nIHF1ZXN0aW9ucy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgc21hbGxfa2FuYV9hY3Rpb246IHt0eXBlOidkcm9wZG93bicsbGFiZWw6J0JpZyBrYW5hIGluc3RlYWQgb2Ygc21hbGwnLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB5b3UgdHlwZSBhIGJpZyBrYW5hIGluc3RlYWQgb2Ygc21hbGwgKGUuZy4g44KGIGluc3RlYWQgb2Yg44KFKS4nfSwKICAgICAgICAgICAgICAgICAgICAgICAga2FuamlfcmVhZGluZ19mb3Jfdm9jYWJfYWN0aW9uOiB7dHlwZTonZHJvcGRvd24nLGxhYmVsOidLYW5qaSByZWFkaW5nIGluc3RlYWQgb2Ygdm9jYWInLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB0aGUgcmVhZGluZyBvZiBhIGthbmppIGlzIGVudGVyZWQgZm9yIGEgc2luZ2xlIGNoYXJhY3RlciB2b2NhYiB3b3JkIGluc3RlYWQgb2YgdGhlIGNvcnJlY3Qgdm9jYWIgcmVhZGluZy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAga2FuamlfbWVhbmluZ19mb3Jfdm9jYWJfYWN0aW9uOiB7dHlwZTonZHJvcGRvd24nLGxhYmVsOidLYW5qaSBtZWFuaW5nIGluc3RlYWQgb2Ygdm9jYWInLGRlZmF1bHQ6J3dhcm4nLGNvbnRlbnQ6e3dhcm46J1dhcm4vc2hha2UnLHdyb25nOidNYXJrIHdyb25nJ30saG92ZXJfdGlwOidDaG9vc2UgYW4gYWN0aW9uIHRvIHRha2Ugd2hlbiB0aGUgbWVhbmluZyBvZiBhIGthbmppIGlzIGVudGVyZWQgZm9yIGEgc2luZ2xlIGNoYXJhY3RlciB2b2NhYiB3b3JkIGluc3RlYWQgb2YgdGhlIGNvcnJlY3Qgdm9jYWIgbWVhbmluZy4nfSwKICAgICAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgdGFiTWlzdGFrZURlbGF5OiB7dHlwZToncGFnZScsbGFiZWw6J01pc3Rha2UgRGVsYXknLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgIGdycERlbGF5OiB7dHlwZTonZ3JvdXAnLGxhYmVsOidEZWxheSBOZXh0IFF1ZXN0aW9uJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXlfd3Jvbmc6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0RlbGF5IHdoZW4gd3JvbmcnLGRlZmF1bHQ6dHJ1ZSxyZWZyZXNoX29uX2NoYW5nZTp0cnVlLGhvdmVyX3RpcDonSWYgeW91ciBhbnN3ZXIgaXMgd3JvbmcsIHlvdSBjYW5ub3QgYWR2YW5jZVxudG8gdGhlIG5leHQgcXVlc3Rpb24gZm9yIGF0IGxlYXN0IE4gc2Vjb25kcy4nfSwKICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXlfbXVsdGlfbWVhbmluZzoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonRGVsYXkgd2hlbiBtdWx0aXBsZSBtZWFuaW5ncycsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0lmIHRoZSBpdGVtIGhhcyBtdWx0aXBsZSBtZWFuaW5ncywgeW91IGNhbm5vdCBhZHZhbmNlXG50byB0aGUgbmV4dCBxdWVzdGlvbiBmb3IgYXQgbGVhc3QgTiBzZWNvbmRzLid9LAogICAgICAgICAgICAgICAgICAgICAgICBkZWxheV9zbGlnaHRseV9vZmY6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J0RlbGF5IHdoZW4gYW5zd2VyIGhhcyB0eXBvcycsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0lmIHlvdXIgYW5zd2VyIGNvbnRhaW5zIHR5cG9zLCB5b3UgY2Fubm90IGFkdmFuY2VcbnRvIHRoZSBuZXh0IHF1ZXN0aW9uIGZvciBhdCBsZWFzdCBOIHNlY29uZHMuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5X3BlcmlvZDoge3R5cGU6J251bWJlcicsbGFiZWw6J0RlbGF5IHBlcmlvZCAoaW4gc2Vjb25kcyknLGRlZmF1bHQ6MS41LGhvdmVyX3RpcDonTnVtYmVyIG9mIHNlY29uZHMgdG8gZGVsYXkgYmVmb3JlIGFsbG93aW5nXG55b3UgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBxdWVzdGlvbi4nfSwKICAgICAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgdGFiQnVyblJldmlld3M6IHt0eXBlOidwYWdlJyxsYWJlbDonQnVybiBSZXZpZXdzJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICBncnBCdXJuUmV2aWV3czoge3R5cGU6J2dyb3VwJyxsYWJlbDonQnVybiBSZXZpZXdzJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgd2Fybl9idXJuOiB7dHlwZTonZHJvcGRvd24nLGxhYmVsOidXYXJuIGJlZm9yZSBidXJuaW5nJyxkZWZhdWx0OiduZXZlcicsY29udGVudDp7bmV2ZXI6J05ldmVyJyxjaGVhdGVkOidJZiB5b3UgY2hhbmdlZCBhbnN3ZXInLGFsd2F5czonQWx3YXlzJ30saG92ZXJfdGlwOidDaG9vc2Ugd2hlbiB0byB3YXJuIGJlZm9yZSBidXJuaW5nIGFuIGl0ZW0uJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1cm5fZGVsYXlfcGVyaW9kOiB7dHlwZTonbnVtYmVyJyxsYWJlbDonRGVsYXkgYWZ0ZXIgd2FybmluZyAoaW4gc2Vjb25kcyknLGRlZmF1bHQ6MS41LGhvdmVyX3RpcDonTnVtYmVyIG9mIHNlY29uZHMgdG8gZGVsYXkgYmVmb3JlIGFsbG93aW5nXG55b3UgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBxdWVzdGlvbiBhZnRlciBzZWVpbmcgYSBidXJuIHdhcm5pbmcuJ30sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIHRhYkxpZ2h0bmluZzoge3R5cGU6J3BhZ2UnLGxhYmVsOidMaWdodG5pbmcnLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgIGdycExpZ2h0bmluZzoge3R5cGU6J2dyb3VwJyxsYWJlbDonTGlnaHRuaW5nIE1vZGUnLGNvbnRlbnQ6ewogICAgICAgICAgICAgICAgICAgICAgICBzaG93X2xpZ2h0bmluZ19idXR0b246IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1Nob3cgIkxpZ2h0bmluZyBNb2RlIiBidXR0b24nLGRlZmF1bHQ6dHJ1ZSxob3Zlcl90aXA6J1Nob3cgdGhlICJMaWdodG5pbmcgTW9kZSIgdG9nZ2xlXG5idXR0b24gb24gdGhlIHJldmlldyBzY3JlZW4uJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0bmluZ19lbmFibGVkOiB7dHlwZTonY2hlY2tib3gnLGxhYmVsOidFbmFibGUgIkxpZ2h0bmluZyBNb2RlIicsZGVmYXVsdDp0cnVlLHJlZnJlc2hfb25fY2hhbmdlOnRydWUsaG92ZXJfdGlwOidFbmFibGUgIkxpZ2h0bmluZyBNb2RlIiwgd2hpY2ggYXV0b21hdGljYWxseSBhZHZhbmNlcyB0b1xudGhlIG5leHQgcXVlc3Rpb24gaWYgeW91IGFuc3dlciBjb3JyZWN0bHkuJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIHNyc19tc2dfcGVyaW9kOiB7dHlwZTonbnVtYmVyJyxsYWJlbDonU1JTIHBvcHVwIHRpbWUgKGluIHNlY29uZHMpJyxkZWZhdWx0OjEuMixtaW46MCxob3Zlcl90aXA6J0hvdyBsb25nIHRvIHNob3cgU1JTIHVwL2Rvd24gcG9wdXAgd2hlbiBpbiBsaWdodG5pbmcgbW9kZS4gICgwID0gZG9uXCd0IHNob3cpJ30sCiAgICAgICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgICAgICB9fSwKICAgICAgICAgICAgICAgIHRhYkF1dG9JbmZvOiB7dHlwZToncGFnZScsbGFiZWw6J0l0ZW0gSW5mbycsY29udGVudDp7CiAgICAgICAgICAgICAgICAgICAgZ3JwQXV0b0luZm86IHt0eXBlOidncm91cCcsbGFiZWw6J1Nob3cgSXRlbSBJbmZvJyxjb250ZW50OnsKICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2luZm9fY29ycmVjdDoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonQWZ0ZXIgY29ycmVjdCBhbnN3ZXInLGRlZmF1bHQ6ZmFsc2UsaG92ZXJfdGlwOidBdXRvbWF0aWNhbGx5IHNob3cgdGhlIEl0ZW0gSW5mbyBhZnRlciBjb3JyZWN0IGFuc3dlcnMuJywgdmFsaWRhdGU6dmFsaWRhdGVfYXV0b2luZm9fY29ycmVjdH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9pbmZvX2luY29ycmVjdDoge3R5cGU6J2NoZWNrYm94JyxsYWJlbDonQWZ0ZXIgaW5jb3JyZWN0IGFuc3dlcicsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0F1dG9tYXRpY2FsbHkgc2hvdyB0aGUgSXRlbSBJbmZvIGFmdGVyIGluY29ycmVjdCBhbnN3ZXJzLicsIHZhbGlkYXRlOnZhbGlkYXRlX2F1dG9pbmZvX2luY29ycmVjdH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9pbmZvX211bHRpX21lYW5pbmc6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1doZW4gbXVsdGlwbGUgbWVhbmluZ3MnLGRlZmF1bHQ6ZmFsc2UsaG92ZXJfdGlwOidBdXRvbWF0aWNhbGx5IHNob3cgdGhlIEl0ZW0gSW5mbyB3aGVuIGFuIGl0ZW0gaGFzIG11bHRpcGxlIG1lYW5pbmdzLicsIHZhbGlkYXRlOnZhbGlkYXRlX2F1dG9pbmZvX2NvcnJlY3R9LAogICAgICAgICAgICAgICAgICAgICAgICBhdXRvaW5mb19zbGlnaHRseV9vZmY6IHt0eXBlOidjaGVja2JveCcsbGFiZWw6J1doZW4gYW5zd2VyIGhhcyB0eXBvcycsZGVmYXVsdDpmYWxzZSxob3Zlcl90aXA6J0F1dG9tYXRpY2FsbHkgc2hvdyB0aGUgSXRlbSBJbmZvIHdoZW4geW91ciBhbnN3ZXIgaGFzIHR5cG9zLicsIHZhbGlkYXRlOnZhbGlkYXRlX2F1dG9pbmZvX2NvcnJlY3R9LAogICAgICAgICAgICAgICAgICAgIH19LAogICAgICAgICAgICAgICAgfX0sCiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBkaWFsb2cub3BlbigpOwogICAgfQoKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyB2YWxpZGF0ZV9hdXRvaW5mb19jb3JyZWN0KCkgLSBOb3RpZnkgdXNlciBpZiBpdGVtaW5mbyBhbmQgbGlnaHRuaW5nIGFyZSBib3RoIGVuYWJsZWQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gdmFsaWRhdGVfYXV0b2luZm9fY29ycmVjdChlbmFibGVkKSB7CiAgICAgICAgaWYgKGVuYWJsZWQgJiYgc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQpIHsKICAgICAgICAgICAgcmV0dXJuICdEaXNhYmxlICJMaWdodG5pbmcgTW9kZSIhJzsKICAgICAgICB9CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHZhbGlkYXRlX2F1dG9pbmZvX2luY29ycmVjdCgpIC0gTm90aWZ5IHVzZXIgaWYgaXRlbWluZm8gYW5kIGxpZ2h0bmluZyBhcmUgYm90aCBlbmFibGVkLCBhbmQgd3JvbmdfZGVsYXkgZGlzYWJsZWQuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gdmFsaWRhdGVfYXV0b2luZm9faW5jb3JyZWN0KGVuYWJsZWQpIHsKICAgICAgICBpZiAoZW5hYmxlZCAmJiBzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZCAmJiAhc2V0dGluZ3MuZGVsYXlfd3JvbmcpIHsKICAgICAgICAgICAgcmV0dXJuICdEaXNhYmxlICJMaWdodG5pbmcgTW9kZSIsIG9yPGJyPmVuYWJsZSAiRGVsYXkgd2hlbiB3cm9uZyIhJzsKICAgICAgICB9CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHNldHRpbmdzX3ByZW9wZW4oKSAtIE5vdGlmeSB1c2VyIGlmIGl0ZW1pbmZvIGFuZCBsaWdodG5pbmcgYXJlIGJvdGggZW5hYmxlZC4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzZXR0aW5nc19wcmVvcGVuKGRpYWxvZykgewogICAgICAgIGRpYWxvZy5kaWFsb2coe3dpZHRoOjUyNX0pOwogICAgfQoKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBpbml0X3VpKCkgLSBJbml0aWFsaXplIHRoZSB1c2VyIGludGVyZmFjZS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB2YXIgZmlyc3RfdGltZSA9IHRydWU7CiAgICBmdW5jdGlvbiBpbml0X3VpKCkgewogICAgICAgIHNldHRpbmdzID0gd2tvZi5zZXR0aW5ncy5kb3VibGVjaGVjazsKCiAgICAgICAgaWYgKGZpcnN0X3RpbWUpIHsKICAgICAgICAgICAgZmlyc3RfdGltZSA9IGZhbHNlOwogICAgICAgICAgICBzdGFydHVwKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBNaWdyYXRlICdsaWdodG5pbmcnIHNldHRpbmcgZnJvbSBsb2NhbFN0b3JhZ2UuCiAgICAgICAgdmFyIGxpZ2h0bmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsaWdodG5pbmcnKTsKICAgICAgICBpZiAobGlnaHRuaW5nID09PSAnZmFsc2UnIHx8IGxpZ2h0bmluZyA9PT0gJ3RydWUnKSB7CiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdsaWdodG5pbmcnKTsKICAgICAgICAgICAgc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQgPSBsaWdodG5pbmc7CiAgICAgICAgICAgIHdrb2YuU2V0dGluZ3Muc2F2ZSgnZG91YmxlY2hlY2snKTsKICAgICAgICB9CgogICAgICAgIC8vIEluaXRpYWxpemUgdGhlIExpZ2h0bmluZyBNb2RlIGJ1dHRvbi4KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbGlnaHRuaW5nLW1vZGUnKS5jbGFzc0xpc3QudG9nZ2xlKCdkb3VibGVjaGVjay1hY3RpdmUnLCBzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZCk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2xpZ2h0bmluZy1tb2RlJykuaGlkZGVuID0gIXNldHRpbmdzLnNob3dfbGlnaHRuaW5nX2J1dHRvbjsKCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1kb3VibGUtY2hlY2snKS5jbGFzc0xpc3QudG9nZ2xlKCdoaWRkZW4nLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9jb3JyZWN0IHx8IHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QpKTsKICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLXJldHlwZScpLmNsYXNzTGlzdC50b2dnbGUoJ2hpZGRlbicsICFzZXR0aW5ncy5hbGxvd19yZXR5cGluZyk7CiAgICAgICAgcmVzaXplX2J1dHRvbnMoKTsKCiAgICAgICAgaWYgKHN0YXRlID09PSAnc2Vjb25kX3N1Ym1pdCcpIHsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1kb3VibGUtY2hlY2snKS5jbGFzc0xpc3QudG9nZ2xlKCdkaXNhYmxlZCcsICEoCiAgICAgICAgICAgICAgICAobmV3X2Fuc3dlci5wYXNzZWQgJiYgKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKSB8fAogICAgICAgICAgICAgICAgKCFuZXdfYW5zd2VyLnBhc3NlZCAmJiAoc2V0dGluZ3MuYWxsb3dfY2hhbmdlX2NvcnJlY3QgfHwgZmlyc3RfYW5zd2VyLnBhc3NlZCkpCiAgICAgICAgICAgICkpOwogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLXJldHlwZScpLmNsYXNzTGlzdC50b2dnbGUoJ2Rpc2FibGVkJywgIXNldHRpbmdzLmFsbG93X3JldHlwaW5nKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLWRvdWJsZS1jaGVjaycpLmNsYXNzTGlzdC5hZGQoJ2Rpc2FibGVkJyk7CiAgICAgICAgfQogICAgfQoKICAgIHZhciBvbGRfc3VibWl0X2hhbmRsZXIsIG9sZF9hbnN3ZXJfY2hlY2tlciwgaWdub3JlX3N1Ym1pdCA9IGZhbHNlLCBzdGF0ZSA9ICdmaXJzdF9zdWJtaXQnLCBzaG93X3Nycywgc3JzX2xvYWQsIGRlbGF5X3RpbWVyOwogICAgdmFyIGl0ZW0sIGl0eXBlLCBpdGVtX2lkLCBpdGVtX3N0YXR1cywgcXR5cGUsIHZhbGlkX2Fuc3dlcnMsIHdyb25nX2NudCwgcXVlc3Rpb25fY250LCBjb21wbGV0ZWRfY250LCBhbnN3ZXIsIG5ld19hbnN3ZXIsIGFjdGl2ZV9xdWV1ZTsKICAgIHZhciBsYXN0X2l0ZW1faWQsIGxhc3RfcXR5cGUsIGZpcnN0X2Fuc3dlcjsKCiAgICBmdW5jdGlvbiBwcm9taXNlKCl7dmFyIGEsYixjPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsZSl7YT1kO2I9ZTt9KTtjLnJlc29sdmU9YTtjLnJlamVjdD1iO3JldHVybiBjO30KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gbGlnaHRuaW5nX2NsaWNrZWQoKSAtIExpZ2h0bmluZyBidXR0b24gaGFuZGxlci4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBsaWdodG5pbmdfY2xpY2tlZCgpIHsKICAgICAgICBzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZCA9ICFzZXR0aW5ncy5saWdodG5pbmdfZW5hYmxlZDsKICAgICAgICB3a29mLlNldHRpbmdzLnNhdmUoJ2RvdWJsZWNoZWNrJyk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2xpZ2h0bmluZy1tb2RlJykuY2xhc3NMaXN0LnRvZ2dsZSgnZG91YmxlY2hlY2stYWN0aXZlJywgc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQpOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gZ2V0X2NvcnJlY3RfYW5zd2VycygpIC0gUmV0dXJucyBhbiBhcnJheSBvZiBhY2NlcHRhYmxlIGFuc3dlcnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZ2V0X2NvcnJlY3RfYW5zd2VycygpIHsKICAgICAgICBpZiAocXR5cGUgPT09ICdyZWFkaW5nJykgewogICAgICAgICAgICBpZiAoaXR5cGUgPT09ICdrJykgewogICAgICAgICAgICAgICAgc3dpdGNoIChpdGVtLmVtcGgpIHsKICAgICAgICAgICAgICAgICAgICBjYXNlICJvbnlvbWkiOiByZXR1cm4gaXRlbS5vbjsKICAgICAgICAgICAgICAgICAgICBjYXNlICJrdW55b21pIjogcmV0dXJuIGl0ZW0ua3VuOwogICAgICAgICAgICAgICAgICAgIGNhc2UgIm5hbm9yaSI6IHJldHVybiBpdGVtLm5hbm9yaTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmthbmE7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gW10uY29uY2F0KGl0ZW0uc3luLGl0ZW0uZW4pOwogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gZ2V0X25leHRfY29ycmVjdF9hbnN3ZXIoKSAtIFJldHVybnMgdGhlIG5leHQgYWNjZXB0YWJsZSBhbnN3ZXIgZnJvbSB0aGUKICAgIC8vICAgIGFycmF5IHJldHVybmVkIGJ5IGdldF9jb3JyZWN0X2Fuc3dlcnMoKS4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBnZXRfbmV4dF9jb3JyZWN0X2Fuc3dlcigpIHsKICAgICAgICB2YXIgcmVzdWx0ID0gZmlyc3RfYW5zd2VyLmNvcnJlY3RfYW5zd2Vyc1tmaXJzdF9hbnN3ZXIuY29ycmVjdF9hbnN3ZXJfaW5kZXhdOwogICAgICAgIGZpcnN0X2Fuc3dlci5jb3JyZWN0X2Fuc3dlcl9pbmRleCA9IChmaXJzdF9hbnN3ZXIuY29ycmVjdF9hbnN3ZXJfaW5kZXggKyAxKSAlIGZpcnN0X2Fuc3dlci5jb3JyZWN0X2Fuc3dlcnMubGVuZ3RoOwogICAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIHRvZ2dsZV9yZXN1bHQoKSAtIFRvZ2dsZSBhbiBhbnN3ZXIgZnJvbSByaWdodC0+d3Jvbmcgb3Igd3JvbmctPnJpZ2h0LgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIHRvZ2dsZV9yZXN1bHQobmV3X3N0YXRlKSB7CiAgICAgICAgaWYgKG5ld19zdGF0ZSA9PT0gJ3RvZ2dsZScpIG5ld19zdGF0ZSA9IChuZXdfYW5zd2VyLnBhc3NlZCA/ICdpbmNvcnJlY3QnIDogJ2NvcnJlY3QnKTsKICAgICAgICBpZiAoc3RhdGUgIT09ICdzZWNvbmRfc3VibWl0JykgcmV0dXJuIGZhbHNlOwoKICAgICAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYW5zd2VyLWZvcm0gZmllbGRzZXQgaW5wdXQnKTsKICAgICAgICB2YXIgY3VycmVudF9yZXNwb25zZSA9IGlucHV0LnZhbHVlOwogICAgICAgIGNsZWFyX2RlbGF5KCk7CiAgICAgICAgc3dpdGNoIChuZXdfc3RhdGUpIHsKICAgICAgICAgICAgY2FzZSAnY29ycmVjdCc6CiAgICAgICAgICAgICAgICBpZiAoIShzZXR0aW5ncy5hbGxvd19jaGFuZ2VfY29ycmVjdCB8fCBmaXJzdF9hbnN3ZXIucGFzc2VkKSkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKGZpcnN0X2Fuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9IGZpcnN0X2Fuc3dlci5yZXNwb25zZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsdWUgPSBnZXRfbmV4dF9jb3JyZWN0X2Fuc3dlcigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbmV3X2Fuc3dlciA9IHtwYXNzZWQ6dHJ1ZSwgYWNjdXJhdGU6dHJ1ZSwgbXVsdGlwbGVBbnN3ZXJzOmZhbHNlLCBleGNlcHRpb246ZmFsc2V9OwogICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShuZXdfYW5zd2VyLCBmYWxzZSAvKiBzaG93X21zZ3MgKi8pOwogICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncy5zaG93X2NvcnJlY3RlZF9hbnN3ZXIpIGlucHV0LnZhbHVlID0gY3VycmVudF9yZXNwb25zZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdpbmNvcnJlY3QnOgogICAgICAgICAgICAgICAgaWYgKCEobmV3X2Fuc3dlci5wYXNzZWQgJiYgKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKSkgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKGZpcnN0X2Fuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9ICd4eHh4eHgnOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9IGZpcnN0X2Fuc3dlci5yZXNwb25zZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG5ld19hbnN3ZXIgPSB7cGFzc2VkOmZhbHNlLCBhY2N1cmF0ZTpmYWxzZSwgbXVsdGlwbGVBbnN3ZXJzOmZhbHNlLCBleGNlcHRpb246ZmFsc2V9OwogICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShuZXdfYW5zd2VyLCBmYWxzZSAvKiBzaG93X21zZ3MgKi8pOwogICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncy5zaG93X2NvcnJlY3RlZF9hbnN3ZXIpIGlucHV0LnZhbHVlID0gY3VycmVudF9yZXNwb25zZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdyZXR5cGUnOgogICAgICAgICAgICAgICAgaWYgKCFzZXR0aW5ncy5hbGxvd19yZXR5cGluZykgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZSh7cmVzZXQ6dHJ1ZSwgZHVlX3RvX3JldHlwZTp0cnVlfSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIGRvX2RlbGF5KCkgLSBEaXNhYmxlIHRoZSBzdWJtaXQgYnV0dG9uIGJyaWVmbHkgdG8gcHJldmVudCBjbGlja2luZyBwYXN0IHdyb25nIGFuc3dlcnMuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gZG9fZGVsYXkocGVyaW9kKSB7CiAgICAgICAgaWYgKHBlcmlvZCA9PT0gdW5kZWZpbmVkKSBwZXJpb2QgPSBzZXR0aW5ncy5kZWxheV9wZXJpb2Q7CiAgICAgICAgaWdub3JlX3N1Ym1pdCA9IHRydWU7CiAgICAgICAgZGVsYXlfdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICBkZWxheV90aW1lciA9IC0xOwogICAgICAgICAgICBpZ25vcmVfc3VibWl0ID0gZmFsc2U7CiAgICAgICAgfSwgcGVyaW9kKjEwMDApOwogICAgfQoKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAvLyBjbGVhcl9kZWxheSgpIC0gQ2xlYXIgdGhlIGRlbGF5IHRpbWVyLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIGNsZWFyX2RlbGF5KCkgewogICAgICAgIGlmIChkZWxheV90aW1lcikgewogICAgICAgICAgICBpZ25vcmVfc3VibWl0ID0gZmFsc2U7CiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWxheV90aW1lcik7CiAgICAgICAgICAgIGRlbGF5X3RpbWVyID0gdW5kZWZpbmVkOwogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gcmV0dXJuX25ld19hbnN3ZXIoKSAtIEFsdGVybmF0ZSBhbnN3ZXIgY2hlY2tlciB0aGF0IG92ZXJyaWRlcyBvdXIgcmVzdWx0cy4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiByZXR1cm5fbmV3X2Fuc3dlcigpIHsKICAgICAgICByZXR1cm4gbmV3X2Fuc3dlcjsKICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gc2V0X2Fuc3dlcl9zdGF0ZSgpIC0gVXBkYXRlIHRoZSBzY3JlZW4gdG8gc2hvdyByZXN1bHRzIG9mIGFuc3dlci1jaGVjay4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzZXRfYW5zd2VyX3N0YXRlKGFuc3dlciwgc2hvd19tc2dzKSB7CiAgICAgICAgLy8gSWYgdXNlciByZXF1ZXN0ZWQgdG8gcmV0eXBlIGFuc3dlciwgcmVzZXQgdGhlIHF1ZXN0aW9uLgogICAgICAgIHZhciBkYmxjaGsgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLWRvdWJsZS1jaGVjaycpOwogICAgICAgIGlmIChhbnN3ZXIucmVzZXQpIHsKICAgICAgICAgICAgY2xlYXJfZGVsYXkoKTsKICAgICAgICAgICAgaWYgKHN0YXRlID09PSAnc2Vjb25kX3N1Ym1pdCcpIHsKICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdfY250KTsKICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdxdWVzdGlvbkNvdW50JywgcXVlc3Rpb25fY250KTsKICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdjb21wbGV0ZWRDb3VudCcsIGNvbXBsZXRlZF9jbnQpOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2FjdGl2ZVF1ZXVlJywgYWN0aXZlX3F1ZXVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBzdGF0ZSA9ICdmaXJzdF9zdWJtaXQnOwoKICAgICAgICAgICAgLy8gSWYgd2UgYXJlIHJlc2V0dGluZyBkdWUgdG8gdGhlIHVzZXIgY2xpY2tpbmcgJ3JldHlwZScsIHRoZW4gd2UgbmVlZCB0byB0cmlnZ2VyCiAgICAgICAgICAgIC8vIGEgcmVmcmVzaCB0aGUgaW5wdXQgZmllbGQgYW5kIHN0YXRzIGJ5IHVwZGF0aW5nICdjdXJyZW50SXRlbScgaW4galN0b3JhZ2UuCiAgICAgICAgICAgIGlmIChhbnN3ZXIuZHVlX3RvX3JldHlwZSkgewogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2N1cnJlbnRJdGVtJywgJC5qU3RvcmFnZS5nZXQoJ2N1cnJlbnRJdGVtJykpOwogICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHdpbmRvdy53a1JlZnJlc2hBdWRpbygpOwogICAgICAgICAgICB0cnkge2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhbnN3ZXItZXhjZXB0aW9uIikucmVtb3ZlKCk7fSBjYXRjaChlKSB7fQogICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKICAgICAgICAgICAgZGJsY2hrLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywnTWFyayBSaWdodCcpOwogICAgICAgICAgICBkYmxjaGsucXVlcnlTZWxlY3Rvcignc3BhbiBpJykuY2xhc3NOYW1lID0gJ2ZhIGZhLXRodW1icy11cCc7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tcmV0eXBlJykuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBTcnMgPT09ICdvYmplY3QnKSBTcnMucmVtb3ZlKCk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIC8vIElmIGFuc3dlciBpcyBpbnZhbGlkIGZvciBzb21lIHJlYXNvbiwgZG8gdGhlIHNoYWtlIHRoaW5nLgogICAgICAgIHZhciBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1c2VyLXJlc3BvbnNlJyk7CiAgICAgICAgdmFyIGZpZWxkc2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1mb3JtIGZpZWxkc2V0Jyk7CiAgICAgICAgaWYgKGFuc3dlci5leGNlcHRpb24pIHsKICAgICAgICAgICAgdHJ5IHtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYW5zd2VyLWV4Y2VwdGlvbicpLnJlbW92ZSgpO30gY2F0Y2goZSkge30KICAgICAgICAgICAgaWYgKGFuc3dlci5jb25maXJtaW5nX2J1cm4pIHsKICAgICAgICAgICAgICAgIC8vIE5PVEU6IFdlIGNhbiBvbmx5IHJlYWNoIHRoaXMgYnJhbmNoIGlmIHRoZSBjdXJyZW50IGFuc3dlciBpcyBjb3JyZWN0LCBvdGhlcndpc2Ugd2Ugd291bGRuJ3QgYmUgYnVybmluZyBpdC4KICAgICAgICAgICAgICAgIGRibGNoay5xdWVyeVNlbGVjdG9yKCdzcGFuJykuc2V0QXR0cmlidXRlKCd0aXRsZScsJ01hcmsgV3JvbmcnKQogICAgICAgICAgICAgICAgZGJsY2hrLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4gaScpLmNsYXNzTmFtZSA9ICdmYSBmYS10aHVtYnMtZG93bic7CiAgICAgICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LnRvZ2dsZSgnZGlzYWJsZWQnLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKTsKICAgICAgICAgICAgICAgIGZpZWxkc2V0LmNsYXNzTGlzdC5yZW1vdmUoJ2luY29ycmVjdCcsJ2NvcnJlY3QnKTsKICAgICAgICAgICAgICAgIGZpZWxkc2V0LmNsYXNzTGlzdC5hZGQoJ2NvbmZidXJuJyk7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWRkaXRpb25hbC1jb250ZW50JykuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCc8ZGl2IGlkPSJhbnN3ZXItZXhjZXB0aW9uIj48c3Bhbj4nK2Fuc3dlci5leGNlcHRpb24rJzwvc3Bhbj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uJykuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZWQnLCdmYWRlSW5VcCcpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICghJCgiI2Fuc3dlci1mb3JtIGZvcm0iKS5pcygiOmFuaW1hdGVkIikpIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNyZXZpZXdzJykuc3R5bGUub3ZlcmZsb3dYID0gJ2hpZGRlbic7CiAgICAgICAgICAgICAgICAkKCcjYW5zd2VyLWZvcm0gZm9ybScpLmVmZmVjdCgnc2hha2UnLCB7fSwgMzAwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcmV2aWV3cycpLnN0eWxlLm92ZXJmbG93WCA9ICd2aXNpYmxlJzsKICAgICAgICAgICAgICAgICAgICBpZiAoIWFuc3dlci5hY2N1cmF0ZSAmJiBpbnB1dC52YWx1ZSAhPT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhbnN3ZXIuZXhjZXB0aW9uID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1mb3JtIGZvcm0nKS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsJzxkaXYgaWQ9ImFuc3dlci1leGNlcHRpb24iIGNsYXNzPSJhbnN3ZXItZXhjZXB0aW9uLWZvcm0iPjxzcGFuPicgKyBhbnN3ZXIuZXhjZXB0aW9uICsgJzwvc3Bhbj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uJykuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZWQnLCdmYWRlSW5VcCcpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkuZmluZCgiaW5wdXQiKS5mb2N1cygpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1mb3JtIGZvcm0gaW5wdXQnKS5ibHVyKCk7CgogICAgICAgIC8vIERyYXcgJ2NvcnJlY3QnIG9yICdpbmNvcnJlY3QnIHJlc3VsdHMsIGVuYWJsZSBEb3VibGUtQ2hlY2sgYnV0dG9uLCBhbmQgY2FsY3VsYXRlIHVwZGF0ZWQgc3RhdGlzdGljcy4KICAgICAgICB0cnkge2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uJykuY2xhc3NMaXN0LmFkZCgnYW5pbWF0ZWQnLCdmYWRlSW5VcCcpO30gY2F0Y2goZSkge30KICAgICAgICB2YXIgbmV3X3N0YXR1cyA9IE9iamVjdC5hc3NpZ24oe30saXRlbV9zdGF0dXMpOwogICAgICAgIHZhciByZXR5cGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9uLXJldHlwZScpOwogICAgICAgIHJldHlwZS5jbGFzc0xpc3QudG9nZ2xlKCdkaXNhYmxlZCcsICFzZXR0aW5ncy5hbGxvd19yZXR5cGluZyk7CiAgICAgICAgaWYgKGFuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgZmllbGRzZXQuY2xhc3NMaXN0LnJlbW92ZSgnaW5jb3JyZWN0JywnY29uZmJ1cm4nKTsKICAgICAgICAgICAgZmllbGRzZXQuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOwogICAgICAgICAgICBkYmxjaGsucXVlcnlTZWxlY3Rvcignc3BhbicpLnNldEF0dHJpYnV0ZSgndGl0bGUnLCdNYXJrIFdyb25nJyk7CiAgICAgICAgICAgIGRibGNoay5xdWVyeVNlbGVjdG9yKCdzcGFuIGknKS5jbGFzc05hbWUgPSAnZmEgZmEtdGh1bWJzLWRvd24nOwogICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LnRvZ2dsZSgnZGlzYWJsZWQnLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9pbmNvcnJlY3QgfHwgIWZpcnN0X2Fuc3dlci5wYXNzZWQpKTsKICAgICAgICAgICAgaWYgKHF0eXBlID09PSAnbWVhbmluZycpIHsKICAgICAgICAgICAgICAgIG5ld19zdGF0dXMubWMgPSAobmV3X3N0YXR1cy5tYyB8fCAwKSArIDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBuZXdfc3RhdHVzLnJjID0gKG5ld19zdGF0dXMucmMgfHwgMCkgKyAxOwogICAgICAgICAgICAgICAgaWYgKGlucHV0LnZhbHVlLnNsaWNlKC0xKSA9PT0gJ24nKSBpbnB1dC52YWx1ZSA9IGlucHV0LnZhbHVlLnNsaWNlKDAsLTEpKyfjgpMnOwogICAgICAgICAgICB9CiAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCd3cm9uZ0NvdW50Jywgd3JvbmdfY250KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmaWVsZHNldC5jbGFzc0xpc3QucmVtb3ZlKCdjb3JyZWN0JywnY29uZmJ1cm4nKTsKICAgICAgICAgICAgZmllbGRzZXQuY2xhc3NMaXN0LmFkZCgnaW5jb3JyZWN0Jyk7CiAgICAgICAgICAgIGRibGNoay5xdWVyeVNlbGVjdG9yKCdzcGFuJykuc2V0QXR0cmlidXRlKCd0aXRsZScsJ01hcmsgUmlnaHQnKTsKICAgICAgICAgICAgZGJsY2hrLnF1ZXJ5U2VsZWN0b3IoJ3NwYW4gaScpLmNsYXNzTmFtZSA9ICdmYSBmYS10aHVtYnMtdXAnOwogICAgICAgICAgICBkYmxjaGsuY2xhc3NMaXN0LnRvZ2dsZSgnZGlzYWJsZWQnLCAhKHNldHRpbmdzLmFsbG93X2NoYW5nZV9jb3JyZWN0IHx8IGZpcnN0X2Fuc3dlci5wYXNzZWQpKTsKICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3dyb25nQ291bnQnLCB3cm9uZ19jbnQgKyAxKTsKICAgICAgICB9CiAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3F1ZXN0aW9uQ291bnQnLCBxdWVzdGlvbl9jbnQgKyAxKTsKCiAgICAgICAgaWYgKCgoaXR5cGUgPT09ICdyJykgfHwgKChuZXdfc3RhdHVzLnJjIHx8IDApID49IDEpKSAmJiAoKG5ld19zdGF0dXMubWMgfHwgMCkgPj0gMSkpIHsKICAgICAgICAgICAgaWYgKHNob3dfc3JzKSB7CiAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3Muc3JzX21zZ19wZXJpb2QgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdGF0dXMgPSBPYmplY3QuYXNzaWduKHt9LG5ld19zdGF0dXMpOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3JzID0gaXRlbS5zcnM7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgU3JzID09PSAnb2JqZWN0JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChTcnMubG9hZC5iaW5kKFNycywgc3RhdHVzLCBzcnMpLCAxMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChTcnMucmVtb3ZlLCBzZXR0aW5ncy5zcnNfbXNnX3BlcmlvZCAqIDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIFNycyA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3JzLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICBTcnMubG9hZChuZXdfc3RhdHVzLGl0ZW0uc3JzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2NvbXBsZXRlZENvdW50JywgY29tcGxldGVkX2NudCArIDEpOwogICAgICAgICAgICAkLmpTdG9yYWdlLnNldCgnYWN0aXZlUXVldWUnLCBhY3RpdmVfcXVldWUuc2xpY2UoMSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdjb21wbGV0ZWRDb3VudCcsIGNvbXBsZXRlZF9jbnQpOwogICAgICAgICAgICAkLmpTdG9yYWdlLnNldCgnYWN0aXZlUXVldWUnLCBhY3RpdmVfcXVldWUpOwogICAgICAgIH0KCiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS5kaXNhYmxlZCA9IHRydWU7CgogICAgICAgIHdpbmRvdy53a1JlZnJlc2hBdWRpbygpOwogICAgICAgIGFkZGl0aW9uYWxDb250ZW50LmVuYWJsZUJ1dHRvbnMoKTsKICAgICAgICBpZiAodHlwZW9mIGxhc3RJdGVtcyA9PT0gJ29iamVjdCcpIGxhc3RJdGVtcy5kaXNhYmxlU2Vzc2lvblN0YXRzKCk7CiAgICAgICAgdHJ5IHtkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYW5zd2VyLWV4Y2VwdGlvbiIpLnJlbW92ZSgpO30gY2F0Y2goZSkge30KCiAgICAgICAgLy8gT3BlbiBpdGVtIGluZm8sIGRlcGVuZGluZyBvbiBzZXR0aW5ncy4KICAgICAgICB2YXIgc2hvd2luZ19pbmZvID0gZmFsc2U7CiAgICAgICAgaWYgKGFuc3dlci5wYXNzZWQgJiYgIXNldHRpbmdzLmxpZ2h0bmluZ19lbmFibGVkICYmCiAgICAgICAgICAgIChzZXR0aW5ncy5hdXRvaW5mb19jb3JyZWN0IHx8CiAgICAgICAgICAgICAoc2V0dGluZ3MuYXV0b2luZm9fc2xpZ2h0bHlfb2ZmICYmICFhbnN3ZXIuYWNjdXJhdGUpIHx8CiAgICAgICAgICAgICAoc2V0dGluZ3MuYXV0b2luZm9fbXVsdGlfbWVhbmluZyAmJiBhbnN3ZXIubXVsdGlwbGVBbnN3ZXJzKQogICAgICAgICAgICApKSB7CiAgICAgICAgICAgIHNob3dpbmdfaW5mbyA9IHRydWU7CiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24taXRlbS1pbmZvJykuY2xpY2soKTsKICAgICAgICB9IGVsc2UgaWYgKCFhbnN3ZXIucGFzc2VkICYmICEoc2V0dGluZ3MubGlnaHRuaW5nX2VuYWJsZWQgJiYgIXNldHRpbmdzLmRlbGF5X3dyb25nKSAmJiBzZXR0aW5ncy5hdXRvaW5mb19pbmNvcnJlY3QpIHsKICAgICAgICAgICAgc2hvd2luZ19pbmZvID0gdHJ1ZTsKICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1pdGVtLWluZm8nKS5jbGljaygpOwogICAgICAgIH0KCiAgICAgICAgLy8gV2hlbiB1c2VyIGlzIHN1Ym1pdHRpbmcgYW4gYW5zd2VyLCBkaXNwbGF5IHRoZSBvbi1zY3JlZW4gbWVzc2FnZSB0aGF0IFdhbmlrYW5pIG5vcm1hbGx5IHNob3dzLgogICAgICAgIGlmIChzaG93X21zZ3MpIHsKICAgICAgICAgICAgdmFyIG1zZzsKICAgICAgICAgICAgaWYgKGFuc3dlci5wYXNzZWQpIHsKICAgICAgICAgICAgICAgIGlmICghYW5zd2VyLmFjY3VyYXRlKSB7CiAgICAgICAgICAgICAgICAgICAgbXNnID0gJ1lvdXIgYW5zd2VyIHdhcyBhIGJpdCBvZmYuIENoZWNrIHRoZSAnK3F0eXBlKycgdG8gbWFrZSBzdXJlIHlvdSBhcmUgY29ycmVjdCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFuc3dlci5tdWx0aXBsZUFuc3dlcnMpIHsKICAgICAgICAgICAgICAgICAgICBtc2cgPSAnRGlkIHlvdSBrbm93IHRoaXMgaXRlbSBoYXMgbXVsdGlwbGUgcG9zc2libGUgJytxdHlwZSsncz8nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGFuc3dlci5jdXN0b21fbXNnKSB7CiAgICAgICAgICAgICAgICBtc2cgPSBhbnN3ZXIuY3VzdG9tX21zZzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1zZyA9ICdOZWVkIGhlbHA/IFZpZXcgdGhlIGNvcnJlY3QgJytxdHlwZSsnIGFuZCBtbmVtb25pYyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1zZykgewogICAgICAgICAgICAgICAgaWYgKHNob3dpbmdfaW5mbykgewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNpbmZvcm1hdGlvbicpLmluc2VydEFkamFjZW50SFRNTCgnYWZ0ZXJiZWdpbicsJzxkaXYgaWQ9ImFuc3dlci1leGNlcHRpb24iIHN0eWxlPSJ0b3A6MDsiPjxzcGFuPicrbXNnKyc8L3NwYW4+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1leGNlcHRpb24nKS5jbGFzc0xpc3QuYWRkKCdhbmltYXRlZCcsJ2ZhZGVJblVwJyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhZGRpdGlvbmFsLWNvbnRlbnQnKS5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsJzxkaXYgaWQ9ImFuc3dlci1leGNlcHRpb24iPjxzcGFuPicrbXNnKyc8L3NwYW4+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fuc3dlci1leGNlcHRpb24nKS5jbGFzc0xpc3QuYWRkKCdhbmltYXRlZCcsJ2ZhZGVJblVwJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBsZXQgaXRlbV9pbmZvX2J0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24taXRlbS1pbmZvJyk7CiAgICAgICAgICAgICAgICBsZXQgaWlwb3MgPSBpdGVtX2luZm9fYnRuLm9mZnNldExlZnQgKyBpdGVtX2luZm9fYnRuLm9mZnNldFdpZHRoLzI7CiAgICAgICAgICAgICAgICBsZXQgYW5zd2VyX2V4Y2VwdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZXhjZXB0aW9uPnNwYW4nKTsKICAgICAgICAgICAgICAgIGFuc3dlcl9leGNlcHRpb24uc3R5bGUudHJhbnNmb3JtID0gJyc7CiAgICAgICAgICAgICAgICBsZXQgYWVwb3MgPSBhbnN3ZXJfZXhjZXB0aW9uLm9mZnNldExlZnQgKyBhbnN3ZXJfZXhjZXB0aW9uLm9mZnNldFdpZHRoLzI7CiAgICAgICAgICAgICAgICBhbnN3ZXJfZXhjZXB0aW9uLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGVYKCcrKGlpcG9zLWFlcG9zKSsncHgpJzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gbmV3X3N1Ym1pdF9oYW5kbGVyKCkgLSBJbnRlcmNlcHQgaGFuZGxlciBmb3IgJ3N1Ym1pdCcgYnV0dG9uLiAgT3ZlcnJpZGVzIGRlZmF1bHQgYmVoYXZpb3IgYXMgbmVlZGVkLgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGZ1bmN0aW9uIG5ld19zdWJtaXRfaGFuZGxlcihlKSB7CiAgICAgICAgLy8gRG9uJ3QgcHJvY2VzcyAnc3VibWl0JyBpZiB3ZSBhcmUgaWdub3JpbmcgdGVtcG9yYXJpbHkgKHRvIHByZXZlbnQgZG91YmxlLXRhcHBpbmcgcGFzdCBpbXBvcnRhbnQgaW5mbykKCiAgICAgICAgaWYgKGlnbm9yZV9zdWJtaXQpIHsKICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgcHJlc3NlcyA8ZW50ZXI+IGR1cmluZyBkZWxheSBwZXJpb2QsCiAgICAgICAgICAgIC8vIFdLIGVuYWJsZXMgdGhlIHVzZXIgaW5wdXQgZmllbGQsIHdoaWNoIG1ha2VzIEl0ZW0gSW5mbyBub3Qgd29yay4KICAgICAgICAgICAgLy8gTGV0J3MgbWFrZSBzdXJlIHRoZSBpbnB1dCBmaWVsZCBpcyBkaXNhYmxlZC4KICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgICAgIH0sMSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CgogICAgICAgIHZhciBzdWJtaXR0ZWRfaW1tZWRpYXRlbHkgPSBmYWxzZTsKICAgICAgICBzd2l0Y2goc3RhdGUpIHsKICAgICAgICAgICAgY2FzZSAnZmlyc3Rfc3VibWl0JzoKICAgICAgICAgICAgICAgIC8vIFdlIGludGVyY2VwdCB0aGUgZmlyc3QgJ3N1Ym1pdCcgY2xpY2ssIGFuZCBzaW11bGF0ZSBub3JtYWwgV2FuaWthbmkgc2NyZWVuIGJlaGF2aW9yLgogICAgICAgICAgICAgICAgc3RhdGUgPSAnc2Vjb25kX3N1Ym1pdCc7CgogICAgICAgICAgICAgICAgLy8gQ2FwdHVyZSB0aGUgc3RhdGUgb2YgdGhlIHN5c3RlbSBiZWZvcmUgc3VibWl0dGluZyB0aGUgYW5zd2VyLgogICAgICAgICAgICAgICAgaXRlbSA9ICQualN0b3JhZ2UuZ2V0KCdjdXJyZW50SXRlbScpOwogICAgICAgICAgICAgICAgaXR5cGUgPSAoaXRlbS5yYWQgPyAncicgOiAoaXRlbS5rYW4gPyAnaycgOiAndicpKTsKICAgICAgICAgICAgICAgIGl0ZW1faWQgPSBpdHlwZSArIGl0ZW0uaWQ7CiAgICAgICAgICAgICAgICBpdGVtX3N0YXR1cyA9ICQualN0b3JhZ2UuZ2V0KGl0ZW1faWQpIHx8IHt9OwogICAgICAgICAgICAgICAgcXR5cGUgPSAkLmpTdG9yYWdlLmdldCgncXVlc3Rpb25UeXBlJyk7CiAgICAgICAgICAgICAgICB3cm9uZ19jbnQgPSAkLmpTdG9yYWdlLmdldCgnd3JvbmdDb3VudCcpIHx8IDA7CiAgICAgICAgICAgICAgICBxdWVzdGlvbl9jbnQgPSAkLmpTdG9yYWdlLmdldCgncXVlc3Rpb25Db3VudCcpIHx8IDA7CiAgICAgICAgICAgICAgICBjb21wbGV0ZWRfY250ID0gJC5qU3RvcmFnZS5nZXQoJ2NvbXBsZXRlZENvdW50JykgfHwgMDsKICAgICAgICAgICAgICAgIGFjdGl2ZV9xdWV1ZSA9ICQualN0b3JhZ2UuZ2V0KCdhY3RpdmVRdWV1ZScpIHx8IFtdOwogICAgICAgICAgICAgICAgc2hvd19zcnMgPSAkLmpTdG9yYWdlLmdldCgnci9zcnNJbmRpY2F0b3InKTsKCiAgICAgICAgICAgICAgICAvLyBBc2sgV2FuaWthbmkgaWYgdGhlIGFuc3dlciBpcyByaWdodCAoYnV0IHdlIGRvbid0IGFjdHVhbGx5IHN1Ym1pdCB0aGUgYW5zd2VyKS4KICAgICAgICAgICAgICAgIGFuc3dlciA9IG9sZF9hbnN3ZXJfY2hlY2tlcihxdHlwZSwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS52YWx1ZSk7CgogICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBzY3JlZW4gdG8gcmVmbGVjdCB0aGUgcmVzdWx0cyBvZiBvdXIgY2hlY2tlZCBhbnN3ZXIuCiAgICAgICAgICAgICAgICAkKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOiAwfSwgMjAwKTsKCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBbbWVhbmluZyBoYXMga2FuYV0gb3IgW3JlYWRpbmcgaGFzIGxhdGluXQogICAgICAgICAgICAgICAgdmFyIHRleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdXNlci1yZXNwb25zZScpLnZhbHVlOwogICAgICAgICAgICAgICAgaWYgKChxdHlwZSA9PT0gJ3JlYWRpbmcnICYmIHdpbmRvdy5hbnN3ZXJDaGVja2VyLmlzTm9uS2FuYVByZXNlbnQodGV4dCkpIHx8CiAgICAgICAgICAgICAgICAgICAgKHF0eXBlID09PSAnbWVhbmluZycgJiYgd2luZG93LmFuc3dlckNoZWNrZXIuaXNLYW5hUHJlc2VudCh0ZXh0KSkgfHwKICAgICAgICAgICAgICAgICAgICAodGV4dCA9PT0gJycpKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmV4Y2VwdGlvbiA9IGFuc3dlci5leGNlcHRpb24gfHwgdHJ1ZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBOb24tZXhhY3QgYW5zd2VyIChpLmUuICJDbG9zZSBidXQgbm8gY2lnYXIiIHNjcmlwdCkKICAgICAgICAgICAgICAgIGlmIChhbnN3ZXIucGFzc2VkICYmICFhbnN3ZXIuYWNjdXJhdGUpIHsKICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHNldHRpbmdzLnR5cG9fYWN0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOiBhbnN3ZXIuZXhjZXB0aW9uID0gJ1lvdXIgYW5zd2VyIHdhcyBjbG9zZSwgYnV0IG5vdCBleGFjdCc7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd3cm9uZyc6IGFuc3dlci5wYXNzZWQgPSBmYWxzZTsgYW5zd2VyLmN1c3RvbV9tc2cgPSAnWW91ciBhbnN3ZXIgd2FzIG5vdCBleGFjdCwgYXMgcmVxdWlyZWQgYnkgeW91ciBzZXR0aW5ncy4nOyBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHJlYWRpbmcvbWVhbmluZyBtaXh1cHMKICAgICAgICAgICAgICAgIGlmICghYW5zd2VyLnBhc3NlZCkgewogICAgICAgICAgICAgICAgICAgIGlmIChxdHlwZSA9PT0gJ21lYW5pbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhY2NlcHRlZF9yZWFkaW5ncyA9IFtdLmNvbmNhdChpdGVtLmthbmEsIGl0ZW0ub24sIGl0ZW0ua3VuLCBpdGVtLm5hbm9yaSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbnN3ZXJfYXNfa2FuYSA9IHRvX2thbmEoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3VzZXItcmVzcG9uc2UnKS52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhY2NlcHRlZF9yZWFkaW5ncy5pbmRleE9mKGFuc3dlcl9hc19rYW5hKSA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZ3Mud3JvbmdfYW5zd2VyX3R5cGVfYWN0aW9uID09PSAnd2FybicpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIuZXhjZXB0aW9uID0gJ09vcHMsIHdlIHdhbnQgdGhlIG1lYW5pbmcsIG5vdCB0aGUgcmVhZGluZy4nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXIuZXhjZXB0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBBbHRob3VnaCBXYW5pa2FuaSBub3cgY2hlY2tzIGZvciByZWFkaW5ncyBlbnRlcmVkIGFzIG1lYW5pbmdzLCBpdCBvbmx5CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrcyB0aGUgJ3ByZWZlcnJlZCcgcmVhZGluZy4gIEhlcmUsIHdlIGNoZWNrIGFsbCByZWFkaW5ncy4KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFjY2VwdGVkX21lYW5pbmdzID0gaXRlbS5lbjsKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdGVkX21lYW5pbmdzID0gYWNjZXB0ZWRfbWVhbmluZ3MuY29uY2F0KGl0ZW0uc3luLCBpdGVtLmF1eGlsaWFyeV9tZWFuaW5ncwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigobWVhbmluZykgPT4gbWVhbmluZy50eXBlID09PSAnd2hpdGVsaXN0JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKG1lYW5pbmcpID0+IG1lYW5pbmcubWVhbmluZykpOwogICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHt9CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtZWFuaW5nc19hc19oaXJhZ2FuYSA9IGFjY2VwdGVkX21lYW5pbmdzLm1hcChtID0+IHRvX2thbmEobS50b0xvd2VyQ2FzZSgpKS5yZXBsYWNlKC9ccy9nLCcnKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhbnN3ZXJfYXNfaGlyYWdhbmEgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1c2VyLXJlc3BvbnNlJykudmFsdWUudG9Mb3dlckNhc2UoKSkubWFwKGMgPT4gd2FuYWthbmEudG9IaXJhZ2FuYShjKSkuam9pbignJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZWFuaW5nc19hc19oaXJhZ2FuYS5pbmRleE9mKGFuc3dlcl9hc19oaXJhZ2FuYSkgPj0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLndyb25nX2Fuc3dlcl90eXBlX2FjdGlvbiA9PT0gJ3dhcm4nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmV4Y2VwdGlvbiA9ICdPb3BzLCB3ZSB3YW50IHRoZSByZWFkaW5nLCBub3QgdGhlIG1lYW5pbmcuJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLmV4Y2VwdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBXYW5pa2FuaSB3YXJuaW5ncyB0aGF0IHNob3VsZCBiZSBjaGFuZ2VkIHRvICd3cm9uZycsIGJhc2VkIG9uIHNldHRpbmdzLgogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhbnN3ZXIuZXhjZXB0aW9uID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgIGlmICgoKHNldHRpbmdzLmthbmppX21lYW5pbmdfZm9yX3ZvY2FiX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd3YW50IHRoZSB2b2NhYnVsYXJ5IG1lYW5pbmcsIG5vdCB0aGUga2FuamkgbWVhbmluZycpKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAoKHNldHRpbmdzLmthbmppX3JlYWRpbmdfZm9yX3ZvY2FiX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd3YW50IHRoZSB2b2NhYnVsYXJ5IHJlYWRpbmcsIG5vdCB0aGUga2FuamkgcmVhZGluZycpKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAoKHNldHRpbmdzLndyb25nX251bWJlcl9uX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdmb3JnZXQgdGhhdCDjgpMnKSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKChzZXR0aW5ncy5zbWFsbF9rYW5hX2FjdGlvbiA9PT0gJ3dyb25nJykgJiYgYW5zd2VyLmV4Y2VwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd3YXRjaCBvdXQgZm9yIHRoZSBzbWFsbCcpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFuc3dlci5leGNlcHRpb24gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgYW5zd2VyLnBhc3NlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBDb3B5IHRoZSBtb2RpZmllZCBhbnN3ZXIgdG8gbmV3X2Fuc3dlciwgd2hpY2ggaXMgd2hhdCB3aWxsIGJlIHN1Ym1pdHRlZCB0byBXYW5pa2FuaS4KICAgICAgICAgICAgICAgIG5ld19hbnN3ZXIgPSBPYmplY3QuYXNzaWduKHt9LCBhbnN3ZXIpOwoKICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBleGNlcHRpb25zIHRoYXQgYXJlIHByZXZlbnRpbmcgdGhlIGFuc3dlciBmcm9tIGJlaW5nIHN1Ym1pdHRlZC4KICAgICAgICAgICAgICAgIGlmIChhbnN3ZXIuZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShhbnN3ZXIsIHRydWUgLyogc2hvd19tc2dzICovKTsKICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9ICdmaXJzdF9zdWJtaXQnOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCB0aGUgYW5zd2VyIGlzIHJlYWR5IGZvciBzdWJtaXNzaW9uIChpLmUuIG5vIGV4Y2VwdGlvbnMpLgogICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyB0aGUgdXNlcidzIGZpcnN0IGF0dGVtcHQgYXQgdGhpcyBxdWVzdGlvbiwgcmVtZW1iZXIgdGhlIHJlc3VsdCBzbwogICAgICAgICAgICAgICAgLy8gd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIHRoZXkgYWx0ZXJlZCB0aGVpciBhbnN3ZXIgbGF0ZXIuCiAgICAgICAgICAgICAgICBpZiAoISgoaXRlbV9pZCA9PT0gbGFzdF9pdGVtX2lkKSAmJiAocXR5cGUgPT09IGxhc3RfcXR5cGUpKSkgewogICAgICAgICAgICAgICAgICAgIGZpcnN0X2Fuc3dlciA9IE9iamVjdC5hc3NpZ24oewogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdXNlci1yZXNwb25zZSIpLnZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0X2Fuc3dlcnM6Z2V0X2NvcnJlY3RfYW5zd2VycygpLAogICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0X2Fuc3dlcl9pbmRleDogMCwKICAgICAgICAgICAgICAgICAgICB9LCBhbnN3ZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbGFzdF9pdGVtX2lkID0gaXRlbV9pZDsKICAgICAgICAgICAgICAgIGxhc3RfcXR5cGUgPSBxdHlwZTsKCiAgICAgICAgICAgICAgICAvLyBPcHRpb25hbGx5IChhY2NvcmRpbmcgdG8gc2V0dGluZ3MpLCB0ZW1wb3JhcmlseSBpZ25vcmUgYW55IGFkZGl0aW9uYWwgY2xpY2tzIG9uIHRoZQogICAgICAgICAgICAgICAgLy8gJ3N1Ym1pdCcgYnV0dG9uIHRvIHByZXZlbnQgdGhlIHVzZXIgZnJvbSBjbGlja2luZyBwYXN0IGltcG9ydGFudCBpbmZvIGFib3V0IHRoZSBhbnN3ZXIuCiAgICAgICAgICAgICAgICBpZiAoKCFhbnN3ZXIucGFzc2VkICYmIHNldHRpbmdzLmRlbGF5X3dyb25nKSB8fAogICAgICAgICAgICAgICAgICAgIChhbnN3ZXIucGFzc2VkICYmCiAgICAgICAgICAgICAgICAgICAgICgoIWFuc3dlci5hY2N1cmF0ZSAmJiBzZXR0aW5ncy5kZWxheV9zbGlnaHRseV9vZmYpIHx8CiAgICAgICAgICAgICAgICAgICAgICAoYW5zd2VyLm11bHRpcGxlQW5zd2VycyAmJiBzZXR0aW5ncy5kZWxheV9tdWx0aV9tZWFuaW5nKSkKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc2V0X2Fuc3dlcl9zdGF0ZShhbnN3ZXIsIHRydWUgLyogc2hvd19tc2dzICovKTsKICAgICAgICAgICAgICAgICAgICBkb19kZWxheSgpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZXRfYW5zd2VyX3N0YXRlKGFuc3dlciwgdHJ1ZSAvKiBzaG93X21zZ3MgKi8pOwogICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLmxpZ2h0bmluZ19lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgbmV3X3N1Ym1pdF9oYW5kbGVyKGUpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgICAgICAgIGNhc2UgJ3NlY29uZF9zdWJtaXQnOgoKICAgICAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGNoYW5nZWQgdGhlaXIgYW5zd2VyIHRvICdjb3JyZWN0JywgbWFyayB0aGUgaXRlbQogICAgICAgICAgICAgICAgLy8gaW4gc3RvcmFnZSwgc28gd2UgY2FuIHdhcm4gdGhlIHVzZXIgaWYgaXQgY29tZXMgdXAgZm9yIGJ1cm4uCiAgICAgICAgICAgICAgICAvLyBUaGUgbWFyayBpcyBrZXB0IGZvciAxMCBkYXlzIGluIGNhc2UgdGhlIHVzZXIgZG9lc24ndCBjb21wbGV0ZQogICAgICAgICAgICAgICAgLy8gdGhlIGl0ZW0gKHJlYWRpbmcgYW5kIG1lYW5pbmcpIHdpdGhpbiBvbmUgc2Vzc2lvbi4KICAgICAgICAgICAgICAgIGlmICghZmlyc3RfYW5zd2VyLnBhc3NlZCAmJiBuZXdfYW5zd2VyLnBhc3NlZCkgewogICAgICAgICAgICAgICAgICAgICQualN0b3JhZ2Uuc2V0KCdjb25mYnVybi8nICsgaXRlbS5pZCwgdHJ1ZSwge1RUTDoxMDAwKjM2MDAqMjQqMTB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBCZWZvcmUgYWNjZXB0aW5nIGEgZmluYWwgc3VibWl0LCBub3RpZnkgdGhlIHVzZXIgaWYgaXRlbSB3aWxsIGJ1cm4gKGRlcGVuZGluZyBvbiBzZXR0aW5ncykuCiAgICAgICAgICAgICAgICBuZXdfYW5zd2VyLmV4Y2VwdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgICAgaWYgKCFuZXdfYW5zd2VyLmNvbmZpcm1pbmdfYnVybikgewogICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQgdG8gd2FybiB0aGUgdXNlciB0aGF0IHRoaXMgaXMgYSAnYnVybicgcmV2aWV3LgogICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6ICJpdGVtX3N0YXR1cy5uaSIgc2VlbXMgdG8gYmUgdXNlZCBieSBvdGhlciBzY3JpcHRzLgogICAgICAgICAgICAgICAgICAgIHZhciB3aWxsX2J1cm4gPSAoaXRlbS5zcnMgPT09IDgpICYmIG5ld19hbnN3ZXIucGFzc2VkICYmCiAgICAgICAgICAgICAgICAgICAgICAgICEoaXRlbV9zdGF0dXMubWkgfHwgaXRlbV9zdGF0dXMucmkgfHwgaXRlbV9zdGF0dXMubmkpICYmCiAgICAgICAgICAgICAgICAgICAgICAgICgoaXR5cGUgPT09ICdyJykgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICgoKGl0ZW1fc3RhdHVzLnJjIHx8IDApICsgKHF0eXBlID09PSAncmVhZGluZycgPyAxIDogMCkgPiAwKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICgoaXRlbV9zdGF0dXMubWMgfHwgMCkgKyAocXR5cGUgPT09ICdtZWFuaW5nJyA/IDEgOiAwKSA+IDApKSk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGNoZWF0ZWQgPSAkLmpTdG9yYWdlLmdldCgnY29uZmJ1cm4vJyArIGl0ZW0uaWQpID8gdHJ1ZSA6IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmICh3aWxsX2J1cm4gJiYgKHNldHRpbmdzLndhcm5fYnVybiAhPT0gJ25ldmVyJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvbXB0IGJlZm9yZSBidXJuaW5nLCBhbmQgc3VwcHJlc3MgcHJvY2VlZGluZyBmb3IgYSBtb21lbnQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVhdGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfYW5zd2VyLmV4Y2VwdGlvbiA9ICdZb3UgbW9kaWZpZWQgYW4gYW5zd2VyIG9uIHRoaXMgaXRlbS4gSXQgd2lsbCBiZSBidXJuZWQgaWYgeW91IGNvbnRpbnVlLic7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2V0dGluZ3Mud2Fybl9idXJuID09PSAnYWx3YXlzJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2Fuc3dlci5leGNlcHRpb24gPSAnVGhpcyBpdGVtIHdpbGwgYmUgYnVybmVkIGlmIHlvdSBjb250aW51ZS4nCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5ld19hbnN3ZXIuZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfYW5zd2VyLmNvbmZpcm1pbmdfYnVybiA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRfYW5zd2VyX3N0YXRlKG5ld19hbnN3ZXIsIHRydWUgLyogc2hvd19tc2dzICovKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdCBzdXJlIHdoYXQncyBjYXVzaW5nIHRoZSBpbnB1dCBmaWVsZCB0byBiZSByZS1lbmFibGVkLCBidXQgd2UgaGF2ZSB0byBkaXNhYmxlIGl0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3VzZXItcmVzcG9uc2UiKS5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5ncy5idXJuX2RlbGF5X3BlcmlvZCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb19kZWxheShzZXR0aW5ncy5idXJuX2RlbGF5X3BlcmlvZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBidXJuaW5nIHRoZSBpdGVtIG5vdywgc28gd2UgY2FuIHJlbW92ZSB0aGUgbWFya2VyLgogICAgICAgICAgICAgICAgICAgICQualN0b3JhZ2UuZGVsZXRlS2V5KCdjb25mYnVybi8nICsgaXRlbS5pZCk7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG5ld19hbnN3ZXIuY29uZmlybWluZ19idXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIFdlIGludGVyY2VwdGVkIHRoZSBmaXJzdCBzdWJtaXQsIGFsbG93aW5nIHRoZSB1c2VyIHRvIG9wdGlvbmFsbHkgbW9kaWZ5IHRoZWlyIGFuc3dlci4KICAgICAgICAgICAgICAgIC8vIE5vdywgZWl0aGVyIHRoZSB1c2VyIGhhcyBjbGlja2VkIHN1Ym1pdCBhZ2Fpbiwgb3IgbGlnaHRuaW5nIGlzIGVuYWJsZWQgYW5kIHdlIGFyZSBhdXRvbWF0aWNhbGx5IGNsaWNraW5nIHN1Ym1pdCBhZ2Fpbi4KICAgICAgICAgICAgICAgIC8vIFNpbmNlIFdhbmlrYW5pIGRpZG4ndCBzZWUgdGhlIGZpcnN0IHN1Ym1pdCAoYmVjYXVzZSB3ZSBpbnRlcmNlcHRlZCBpdCksIG5vdyB3ZSBuZWVkIHRvIHNpbXVsYXRlIHR3byBzdWJtaXRzIGZvciBXYW5pa2FuaToKICAgICAgICAgICAgICAgIC8vICAgMS4gT25lIGZvciBXYW5pa2FuaSB0byBjaGVjayB0aGUgKHBvc3NpYmx5IGNvcnJlY3RlZCkgcmVzdWx0LCBhbmQKICAgICAgICAgICAgICAgIC8vICAgMi4gT25lIGZvciBXYW5pa2FuaSB0byBtb3ZlIG9uIHRvIHRoZSBuZXh0IHF1ZXN0aW9uLgoKICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBzY3JlZW4gdG8gcHJlLXN1Ym1pdHRlZCBzdGF0ZSwgc28gV2FuaWthbmkgd29uJ3QgZ2V0IGNvbmZ1c2VkIHdoZW4gaXQgdHJpZXMgdG8gcHJvY2VzcyB0aGUgYW5zd2VyLgogICAgICAgICAgICAgICAgLy8gV2FuaWthbmkgY29kZSB3aWxsIHRoZW4gdXBkYXRlIHRoZSBzY3JlZW4gYWNjb3JkaW5nIHRvIG91ciBmb3JjZWQgYW5zd2VyLWNoZWNrIHJlc3VsdC4KICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tZG91YmxlLWNoZWNrJykuY2xhc3NMaXN0LmFkZCgnZGlzYWJsZWQnKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tZG91YmxlLWNoZWNrIHNwYW4nKS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywnRG91YmxlLUNoZWNrJykKICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNvcHRpb24tZG91YmxlLWNoZWNrIHNwYW4gaScpLmNsYXNzTmFtZSA9ICdmYSBmYS10aHVtYnMtdXAnOwogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1yZXR5cGUnKS5jbGFzc0xpc3QuYWRkKCdkaXNhYmxlZCcpOwogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3VzZXItcmVzcG9uc2UnKS5kaXNhYmxlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3dyb25nQ291bnQnLCB3cm9uZ19jbnQpOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ3F1ZXN0aW9uQ291bnQnLCBxdWVzdGlvbl9jbnQpOwogICAgICAgICAgICAgICAgJC5qU3RvcmFnZS5zZXQoJ2NvbXBsZXRlZENvdW50JywgY29tcGxldGVkX2NudCk7CiAgICAgICAgICAgICAgICAkLmpTdG9yYWdlLnNldCgnYWN0aXZlUXVldWUnLCBhY3RpdmVfcXVldWUpOwoKICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgV0sgZnJvbSBwb3N0aW5nIGEgc2Vjb25kIFNSUyBub3RpY2UuCiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIFNycyA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgICAgICAgICBzcnNfbG9hZCA9IFNycy5sb2FkOwogICAgICAgICAgICAgICAgICAgIFNycy5sb2FkID0gZnVuY3Rpb24oKXt9OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHN1Ym1pdCBhY3R1YWxseSBmb3J3YXJkZWQgdG8gV2FuaWthbmkuCiAgICAgICAgICAgICAgICAvLyBJdCB3aWxsIGNoZWNrIG91ciAocG9zc2libHkgY29ycmVjdGVkKSBhbnN3ZXIuCiAgICAgICAgICAgICAgICB2YXIgb2xkX2F1ZGlvQXV0b3BsYXkgPSB3aW5kb3cuYXVkaW9BdXRvcGxheTsKICAgICAgICAgICAgICAgIHdpbmRvdy5hdWRpb0F1dG9wbGF5ID0gZmFsc2U7CgogICAgICAgICAgICAgICAgY2xpY2tfc3VibWl0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cykKICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGhpZGRlbiB0aGlyZCBjbGljayBmcm9tIGFib3ZlLCB3aGljaCBXYW5pa2FuaSB0aGlua3MgaXMgdGhlIHNlY29uZCBjbGljay4KICAgICAgICAgICAgICAgICAgICAvLyBXYW5pa2FuaSB3aWxsIG1vdmUgdG8gdGhlIG5leHQgcXVlc3Rpb24uCiAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAnZmlyc3Rfc3VibWl0JzsKCiAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkaXNhYmxlIHRoZSBpbnB1dCBmaWVsZCwgc28gV2FuaWthbmkgd2lsbCBzZWUgdGhpcyBhcyB0aGUgc2Vjb25kIGNsaWNrLgogICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN1c2VyLXJlc3BvbnNlJykuZGlzYWJsZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgICAgICAvLyBSZXN0b3JlIHRoZSBTUlMgbWVzc2FnZSBmdW5jdGlvbiwgd2hpY2ggd2UgZGlzYWJsZWQgaW4gc2Vjb25kX3N1Ym1pdCBhYm92ZS4KICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIFNycyA9PT0gJ29iamVjdCcpIFNycy5sb2FkID0gc3JzX2xvYWQ7CgogICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHNlY29uZCBzdWJtaXQgYWN0dWFsbHkgZm9yd2FyZGVkIHRvIFdhbmlrYW5pLgogICAgICAgICAgICAgICAgICAgIC8vIEl0IHdpbGwgbW92ZSBvbiB0byB0aGUgbmV4dCBxdWVzdGlvbi4KICAgICAgICAgICAgICAgICAgICBjbGlja19zdWJtaXQuYXBwbHkodGhpcywgYXJndW1lbnRzKQogICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmF1ZGlvQXV0b3BsYXkgPSBvbGRfYXVkaW9BdXRvcGxheTsKICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LndrUmVmcmVzaEF1ZGlvKCk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIFNpbXVsYXRlIGlucHV0IGNoYXJhY3RlciBieSBjaGFyYWN0ZXIgYW5kIGNvbnZlcnQgd2l0aCBXYW5hS2FuYSB0byBrYW5hCiAgICAvLyAgLS0gQ29udHJpYnV0ZWQgYnkgdXNlciBAU2lueWF2ZW4KICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiB0b19rYW5hKHRleHQpIHsKICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0ZXh0KS5yZWR1Y2UoKHRvdGFsLCBjKSA9PiB3YW5ha2FuYS50b0thbmEodG90YWwgKyBjLCB7SU1FTW9kZTogdHJ1ZX0pLCAiIikucmVwbGFjZSgvbiQvLCBTdHJpbmcuZnJvbUNoYXJDb2RlKDEyNDM1KSk7CiAgICB9CgogICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIC8vIFJlc2l6ZSB0aGUgYnV0dG9ucyBhY2NvcmRpbmcgdG8gaG93IG1hbnkgYXJlIHZpc2libGUuCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgZnVuY3Rpb24gcmVzaXplX2J1dHRvbnMoKSB7CiAgICAgICAgdmFyIGJ1dHRvbnMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNhZGRpdGlvbmFsLWNvbnRlbnQgdWw+bGknKSk7CiAgICAgICAgdmFyIGJ0bl9jb3VudCA9IGJ1dHRvbnMubGVuZ3RoIC0gYnV0dG9ucy5maWx0ZXIoKGVsZW0pPT5lbGVtLm1hdGNoZXMoJy5oaWRkZW4sW2hpZGRlbl0nKSkubGVuZ3RoOwogICAgICAgIGZvciAobGV0IGJ0biBvZiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjYWRkaXRpb25hbC1jb250ZW50IHVsID4gbGknKSkgewogICAgICAgICAgYnRuLnN0eWxlLndpZHRoID0gTWF0aC5mbG9vcig5OTAwL2J0bl9jb3VudCkvMTAwICsgJyUnOwogICAgICAgIH0KICAgIH0KCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gRXh0ZXJuYWwgaG9vayBmb3IgQHBvbHYncyBzY3JpcHQsICJXYW5pS2FuaSBEaXNhYmxlIERlZmF1bHQgQW5zd2VycyIKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBnb2JqLnNldF9zdGF0ZSA9IGZ1bmN0aW9uKF9zdGF0ZSkgewogICAgICAgIHN0YXRlID0gX3N0YXRlOwogICAgfTsKCiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLy8gc3RhcnR1cCgpIC0gSW5zdGFsbCBvdXIgaW50ZXJjZXB0IGhhbmRsZXJzLCBhbmQgYWRkIG91ciBEb3VibGUtQ2hlY2sgYnV0dG9uIGFuZCBob3RrZXkKICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBmdW5jdGlvbiBzdGFydHVwKCkgewogICAgICAgIC8vIEludGVyY2VwdCB0aGUgc3VibWl0IGJ1dHRvbiBoYW5kbGVyLgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBpbnRlcmNlcHRlZCA9IGZhbHNlOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgb2xkX3N1Ym1pdF9oYW5kbGVyID0gJC5fZGF0YSggJCgnI2Fuc3dlci1mb3JtIGZvcm0nKVswXSwgJ2V2ZW50cycpLnN1Ym1pdFswXS5oYW5kbGVyOwogICAgICAgICAgICAgICAgJC5fZGF0YSggJCgnI2Fuc3dlci1mb3JtIGZvcm0nKVswXSwgJ2V2ZW50cycpLnN1Ym1pdFswXS5oYW5kbGVyID0gbmV3X3N1Ym1pdF9oYW5kbGVyOwogICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWQgPSB0cnVlOwogICAgICAgICAgICB9IGNhdGNoKGVycikge30KICAgICAgICAgICAgaWYgKCFpbnRlcmNlcHRlZCkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICBvbGRfc3VibWl0X2hhbmRsZXIgPSAkLl9kYXRhKCAkKCcjYW5zd2VyLWZvcm0gYnV0dG9uJylbMF0sICdldmVudHMnKS5jbGlja1swXS5oYW5kbGVyOwogICAgICAgICAgICAgICAgICAgICQuX2RhdGEoICQoJyNhbnN3ZXItZm9ybSBidXR0b24nKVswXSwgJ2V2ZW50cycpLmNsaWNrWzBdLmhhbmRsZXIgPSBuZXdfc3VibWl0X2hhbmRsZXI7CiAgICAgICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHt9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGludGVyY2VwdGVkKSB7CiAgICAgICAgICAgICAgICBvbGRfYW5zd2VyX2NoZWNrZXIgPSB3aW5kb3cuZW5oYW5jZUFuc3dlckNoZWNrZXIoe2V2YWx1YXRlOndpbmRvdy5hbnN3ZXJDaGVja2VyLmV2YWx1YXRlfSkuZXZhbHVhdGU7CiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoKGVycikge30KICAgICAgICBpZiAodHlwZW9mIG9sZF9zdWJtaXRfaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2Ygb2xkX2Fuc3dlcl9jaGVja2VyICE9PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgIGFsZXJ0KCdXYW5pa2FuaSBEb3VibGUtQ2hlY2sgc2NyaXB0IGlzIG5vdCB3b3JraW5nLicpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBDbGVhciB3YXJuaW5nIHBvcHVwcyBpZiBxdWVzdGlvbiBjaGFuZ2VzIGR1ZSB0byByZWFzb25zIG91dHNpZGUgb2YgdGhpcyBzY3JpcHQKICAgICAgICAkLmpTdG9yYWdlLmxpc3RlbktleUNoYW5nZSgiY3VycmVudEl0ZW0iLCBmdW5jdGlvbihrZXksIGFjdGlvbil7CiAgICAgICAgICAgIHNldF9hbnN3ZXJfc3RhdGUoe3Jlc2V0OnRydWV9KTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gSW5zdGFsbCB0aGUgTGlnaHRuaW5nIE1vZGUgYnV0dG9uLgogICAgICAgIGRvY3VtZW50LmhlYWQuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCc8c3R5bGU+I2xpZ2h0bmluZy1tb2RlLmRvdWJsZWNoZWNrLWFjdGl2ZSB7Y29sb3I6I2ZmMDsgb3BhY2l0eToxLjA7fTwvc3R5bGU+Jyk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N1bW1hcnktYnV0dG9uJykuaW5zZXJ0QWRqYWNlbnRIVE1MKCdiZWZvcmVlbmQnLCc8YSBpZD0ibGlnaHRuaW5nLW1vZGUiIGhyZWY9IiMiIGhpZGRlbiA+PGkgY2xhc3M9ImZhIGZhLWJvbHQiIHRpdGxlPSJMaWdodG5pbmcgTW9kZSAtIFdoZW4gZW5hYmxlZCwgYXV0by1cbmFkdmFuY2UgYWZ0ZXIgYW5zd2VyaW5nIGNvcnJlY3RseS4iPjwvaT48L2E+Jyk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2xpZ2h0bmluZy1tb2RlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaWdodG5pbmdfY2xpY2tlZCk7CgogICAgICAgIC8vIEluc3RhbGwgdGhlIERvdWJsZS1DaGVjayBmZWF0dXJlcy4KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWRkaXRpb25hbC1jb250ZW50IHVsJykuc3R5bGUudGV4dEFsaWduID0gJ2NlbnRlcic7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FkZGl0aW9uYWwtY29udGVudCB1bCcpLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywKICAgICAgICAgICAgYDxsaSBpZD0ib3B0aW9uLWRvdWJsZS1jaGVjayIgY2xhc3M9ImRpc2FibGVkIj48c3BhbiB0aXRsZT0iRG91YmxlIENoZWNrIj48aSBjbGFzcz0iZmEgZmEtdGh1bWJzLXVwIj48L2k+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgIDxsaSBpZD0ib3B0aW9uLXJldHlwZSIgY2xhc3M9ImRpc2FibGVkIj48c3BhbiB0aXRsZT0iUmV0eXBlIj48aSBjbGFzcz0iZmEgZmEtdW5kbyI+PC9pPjwvc3Bhbj48L2xpPjwvdWw+YAogICAgICAgICk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1kb3VibGUtY2hlY2snKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZV9yZXN1bHQuYmluZChudWxsLCd0b2dnbGUnKSk7CiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI29wdGlvbi1yZXR5cGUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRvZ2dsZV9yZXN1bHQuYmluZChudWxsLCdyZXR5cGUnKSk7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXlwcmVzcycsIGZ1bmN0aW9uKGV2ZW50KXsKICAgICAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSA0MykgdG9nZ2xlX3Jlc3VsdCgnY29ycmVjdCcpOwogICAgICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IDQ1KSB0b2dnbGVfcmVzdWx0KCdpbmNvcnJlY3QnKTsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfSk7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZXZlbnQpewogICAgICAgICAgICBpZiAoKGV2ZW50LndoaWNoID09PSAyNyB8fCBldmVudC53aGljaCA9PT0gOCkgJiYKICAgICAgICAgICAgICAgIChzdGF0ZSAhPT0gJ2ZpcnN0X3N1Ym1pdCcpICYmCiAgICAgICAgICAgICAgICAoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09PSAnQk9EWScpICYmCiAgICAgICAgICAgICAgICAoIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN3a29mc19kb3VibGVjaGVjaycpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdG9nZ2xlX3Jlc3VsdCgncmV0eXBlJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXkgPT09ICdsJykgewogICAgICAgICAgICAgICAgbGlnaHRuaW5nX2NsaWNrZWQoKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9KTsKICAgICAgICBkb2N1bWVudC5oZWFkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywKICAgICAgICAgICAgYDxzdHlsZT4KICAgICAgICAgICAgI2FkZGl0aW9uYWwtY29udGVudD51bD5saS5oaWRkZW4ge2Rpc3BsYXk6bm9uZTt9CiAgICAgICAgICAgICNhbnN3ZXItZm9ybSBmaWVsZHNldC5jb25mYnVybiBidXR0b24sICNhbnN3ZXItZm9ybSBmaWVsZHNldC5jb25mYnVybiBpbnB1dFt0eXBlPXRleHRdLCAjYW5zd2VyLWZvcm0gZmllbGRzZXQuY29uZmJ1cm4gaW5wdXRbdHlwZT10ZXh0XTpkaXNhYmxlZCB7CiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50OwogICAgICAgICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDAgcmdiYSgwLDAsMCwwLjIpOwogICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluOwogICAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPmAKICAgICAgICApOwoKICAgICAgICAvLyBPdmVycmlkZSB0aGUgYW5zd2VyIGNoZWNrZXIuCiAgICAgICAgd2luZG93LmFuc3dlckNoZWNrZXIuZXZhbHVhdGUgPSByZXR1cm5fbmV3X2Fuc3dlcjsKICAgICAgICB3aW5kb3cuZW5oYW5jZUFuc3dlckNoZWNrZXIgPSBmdW5jdGlvbihhbnN3ZXJDaGVja2VyKSB7cmV0dXJuIGFuc3dlckNoZWNrZXI7fTsKCiAgICAgICAgLy8gVG8gcHJldmVudCBXYW5pa2FuaSBmcm9tIGN1dHRpbmcgdGhlIGF1ZGlvIG9mZiBpbiBsaWdodG5pbmcgbW9kZSwKICAgICAgICAvLyBXZSBpbnN0cnVjdCBhbnkgY3VycmVudGx5IHBsYXlpbmcgYXVkaW8gdG8gdW5sb2FkIHdoZW4gaXQncyBkb25lLAogICAgICAgIC8vIHJhdGhlciB0aGFuIHVubG9hZGluZyBpdCBpbW1lZGlhdGVseS4KICAgICAgICB3aW5kb3cuSG93bGVyLnVubG9hZCA9IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIGZvciAodmFyIGkgPSB3aW5kb3cuSG93bGVyLl9ob3dscy5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICAgIHZhciBob3dsID0gd2luZG93Lkhvd2xlci5faG93bHNbaV07CiAgICAgICAgICAgICAgICBpZiAoaG93bC5wbGF5aW5nKCkgfHwgaG93bC5fcXVldWUubGVuZ3RoID4gMCkgewogICAgICAgICAgICAgICAgICAgIGhvd2wub24oJ2VuZCcsIGhvd2wudW5sb2FkLmJpbmQoaG93bCkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBob3dsLnVubG9hZCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIH0KCiAgICBmdW5jdGlvbiBjbGlja19zdWJtaXQoKSB7CiAgICAgICAgdmFyIHAgPSBwcm9taXNlKCk7CiAgICAgICAgb2xkX3N1Ym1pdF9oYW5kbGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgogICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYW5zd2VyLWZvcm0gYnV0dG9uJykuZGlzYWJsZWQpIHsKICAgICAgICAgICAgLy8gU2V0IHVwIGNhbGxiYWNrIGZvciB3aGVuICdzdWJtaXQnIGJ1dHRvbiBpcyByZS1lbmFibGVkIGFmdGVyIGJlaW5nIGNsaWNrZWQuCiAgICAgICAgICAgIHZhciBtbyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbikgPT4gewogICAgICAgICAgICAgICAgaWYgKG11dGF0aW9uLnBvcCgpLnRhcmdldC5kaXNhYmxlZCkgcmV0dXJuOwogICAgICAgICAgICAgICAgbW8uZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgICAgbW8gPSB1bmRlZmluZWQ7CgogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gJy9leHRyYV9zdHVkeS9zZXNzaW9uJykgewogICAgICAgICAgICAgICAgICAgIC8vIFRoZSBFeHRyYSBTdHVkeSBwYWdlIG5lZWRzIGEgdGlueSBwYXVzZSBiZWZvcmUgYWR2YW5jaW5nLgogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBwLnJlc29sdmUoKTsKICAgICAgICAgICAgICAgICAgICB9LCAxKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcC5yZXNvbHZlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBtby5vYnNlcnZlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhbnN3ZXItZm9ybSBidXR0b24nKSwge2F0dHJpYnV0ZUZpbHRlcjogWydkaXNhYmxlZCddfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gJy9leHRyYV9zdHVkeS9zZXNzaW9uJykgewogICAgICAgICAgICAgICAgLy8gVGhlIEV4dHJhIFN0dWR5IHBhZ2UgbmVlZHMgYSB0aW55IHBhdXNlIGJlZm9yZSBhZHZhbmNpbmcuCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgICAgICBwLnJlc29sdmUoKTsKICAgICAgICAgICAgICAgIH0sIDEpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcC5yZXNvbHZlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBwOwogICAgfQoKfSkod2luZG93LmRvdWJsZWNoZWNrKTsK"},{"name":"Bunpro: Mistake Delay","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"noframes":null,"run_at":null,"override":{"use_includes":[],"orig_includes":["*bunpro.jp/*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":["*community.bunpro.jp*"],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649639,"data":{}},"enabled":true,"position":12,"file_url":"https://greasyfork.org/scripts/371388-bunpro-mistake-delay/code/Bunpro:%20Mistake%20Delay.user.js","uuid":"0550b6ba-fa53-4ccf-823b-54b3cacc7116","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBCdW5wcm86IE1pc3Rha2UgRGVsYXkKLy8gQG5hbWVzcGFjZSAgICBodHRwOi8vdGFtcGVybW9ua2V5Lm5ldC8KLy8gQHZlcnNpb24gICAgICAwLjIuOAovLyBAZGVzY3JpcHRpb24gIFByZXZlbnRzIHByZW1hdHVyZSB3cm9uZyBhbnN3ZXIgc3VibWlzc2lvbi4KLy8gQGF1dGhvciAgICAgICBLdW1pcmVpCi8vIEBpbmNsdWRlICAgICAgKmJ1bnByby5qcC8qCi8vIEBleGNsdWRlICAgICAgKmNvbW11bml0eS5idW5wcm8uanAqCi8vIEByZXF1aXJlICAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM3MDYyMy1idW5wcm8taGVscGZ1bC1ldmVudHMvY29kZS9CdW5wcm86JTIwSGVscGZ1bCUyMEV2ZW50cy5qcz92ZXJzaW9uPTk3NDM2OQovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gPT0vVXNlclNjcmlwdD09CgooZnVuY3Rpb24oKSB7CgkvLyBTZWNvbmRzIG9mIGRlbGF5Cgljb25zdCBkZWxheSA9IDI7CgoJLy8gV2FpdCB1bnRpbCB3ZSdyZSByZXZpZXdpbmcKCSQoJ0hUTUwnKVswXS5hZGRFdmVudExpc3RlbmVyKCdxdWl6LXBhZ2UnLCBmdW5jdGlvbigpIHsKCQkvLyBBZGQgdGhlIHN0YW5kYXJkIHN0eWxpbmcgdG8gdGhlIGRpc2FibGVkIGJ1dHRvbgoJCWFkZENTUygpOwoKCQkvLyBEbyBzdHVmZiB3aGVuIHdlIHByZXNzIGVudGVyIG9yIGJhY2tzcGFjZQoJCSQoJyNzdHVkeS1hbnN3ZXItaW5wdXQnKS5vbigna2V5ZG93bicsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCXZhciBlbGVtID0gJCgnI3N0dWR5LWFuc3dlci1pbnB1dCcpOwoJCQkvLyBJbml0aWF0ZSBkZWxhdGUgd2hlbiB3ZSBwcmVzcyBlbnRlciwgZ2V0IHRoZSBhbnN3ZXIgd3JvbmcsIGFuZCBubyBkZWxheSBpcyBhbHJlYWR5IGFjdGl2ZQoJCQl2YXIgYmtnID0gZWxlbVswXS5zdHlsZS5iYWNrZ3JvdW5kOwoJCQlpZiAoYmtnICE9ICIiKSB7CgkJCQl2YXIgYmtnX2xzdCA9IGJrZy5zbGljZSg1LCBia2cubGVuZ3RoLTEpLnNwbGl0KCcsICcpOwoJCQkJaWYgKGV2ZW50LndoaWNoID09IDEzICYmIE51bWJlcihia2dfbHN0WzBdKSA+IE51bWJlcihia2dfbHN0WzFdKSArIE51bWJlcihia2dfbHN0WzJdKSAmJiAhJCgnI3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQnKS5sZW5ndGgpIHsKCQkJCQllbmFibGVEZWxheSgpOwoJCQkJCXNldFRpbWVvdXQoZGlzYWJsZURlbGF5LCBkZWxheSoxMDAwKTsKCQkJCX0KCQkJfQoJCX0pOwoJCSQoJ2JvZHknKS5vbigna2V5ZG93bicsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCS8vIENhbmNlbCBkZWxheSBpZiB3ZSBwcmVzcyBiYWNrc3BhY2UgYWZ0ZXIgZ2V0dGluZyBhbiBhbnN3ZXIgd3JvbmcKCQkJaWYgKGV2ZW50LndoaWNoID09IDggJiYgJCgnI3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQnKS5sZW5ndGgpIGRpc2FibGVEZWxheSgpOwoJCX0pOwoJfSk7CgoJLy8gTWFrZXMgdXNlciB1bmFibGUgdG8gY29udGludWUgdG8gdGhlIG5leHQgaXRlbQoJZnVuY3Rpb24gZW5hYmxlRGVsYXkoKSB7CgkJJCgnI3N0dWR5LWFuc3dlci1pbnB1dCcpWzBdLmJsdXIoKTsKCQkkKCcjc3VibWl0LXN0dWR5LWFuc3dlcicpLmF0dHIoJ2lkJywgJ3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQnKTsKCX0KCgkvLyBNYWtlcyB1c2VyIGFibGUgdG8gY29udGludWUgdG8gdGhlIG5leHQgaXRlbSBhZ2FpbgoJZnVuY3Rpb24gZGlzYWJsZURlbGF5KCkgewoJCSQoJyNzdWJtaXQtc3R1ZHktYW5zd2VyLWRpc2FibGVkJykuYXR0cignaWQnLCAnc3VibWl0LXN0dWR5LWFuc3dlcicpOwoJfQoKCS8vIEFkZHMgdGhlIG5lZWRlZCBDU1MKCWZ1bmN0aW9uIGFkZENTUygpIHsKCQkkKCdoZWFkJykuYXBwZW5kKCc8c3R5bGU+I3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQgeycgKwoJCQkJCQkgJ3dpZHRoOiAxNSU7JyArCgkJCQkJCSAncmlnaHQ6IDA7JyArCgkJCQkJCSAndGV4dC1hbGlnbjogY2VudGVyOycgKwoJCQkJCQkgJ3Bvc2l0aW9uOiBhYnNvbHV0ZTsnICsKCQkJCQkJICdmb250LXdlaWdodDogNDAwOycgKwoJCQkJCQkgJ2ZvbnQtc2l6ZTogMjBweDsnICsKCQkJCQkJICd6LWluZGV4OiAxMDA7JyArCgkJCQkJCSAnYm9yZGVyLXJhZGl1czogMDsnICsKCQkJCQkJICdjb2xvcjogd2hpdGU7JyArCgkJCQkJCSAnYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7JyArCgkJCQkJCSAnfScgKwoJCQkJCQkgJ0BtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgI3N1Ym1pdC1zdHVkeS1hbnN3ZXItZGlzYWJsZWQge2ZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O308L3N0eWxlPicpCgl9Cn0pKCk7Cg==","requires":[]},{"name":"Bunpro: Auto-show Info","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"noframes":null,"run_at":null,"override":{"use_includes":[],"orig_includes":["*bunpro.jp/study*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":["*community.bunpro.jp*"],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1607436649642,"data":{}},"enabled":true,"position":13,"file_url":"https://greasyfork.org/scripts/370019-bunpro-auto-show-info/code/Bunpro:%20Auto-show%20Info.user.js","uuid":"ea2cd70b-7fb9-4481-9ec5-2e5761f5ad46","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBCdW5wcm86IEF1dG8tc2hvdyBJbmZvCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEB2ZXJzaW9uICAgICAgMC4yLjEwCi8vIEBkZXNjcmlwdGlvbiAgQXV0b21hdGljYWxseSBleHBhbmRzIHRoZSBmdWxsIGdyYW1tYXIgaW5mbyB3aGVuIHlvdSBnZXQgYSByZXZpZXcgd3JvbmcuCi8vIEBhdXRob3IgICAgICAgS3VtaXJlaQovLyBAaW5jbHVkZSAgICAgICpidW5wcm8uanAvc3R1ZHkqCi8vIEBleGNsdWRlICAgICAgKmNvbW11bml0eS5idW5wcm8uanAqCi8vIEByZXF1aXJlICAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzQzMjQxOC13YWl0LWZvci1zZWxlY3Rvci9jb2RlL1dhaXQlMjBGb3IlMjBTZWxlY3Rvci5qcz92ZXJzaW9uPTk5MDIwNwovLyBAcmVxdWlyZSAgICAgIGh0dHBzOi8vZ3JlYXN5Zm9yay5vcmcvc2NyaXB0cy8zNzA2MjMtYnVucHJvLWhlbHBmdWwtZXZlbnRzL2NvZGUvQnVucHJvOiUyMEhlbHBmdWwlMjBFdmVudHMuanM/dmVyc2lvbj05OTAyMTEKLy8gQGdyYW50ICAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKOyhmdW5jdGlvbiAoKSB7CiAgICAvL3dhaXQgdW50aWwgd2UncmUgcmV2aWV3aW5nCiAgICAkKCdIVE1MJylbMF0uYWRkRXZlbnRMaXN0ZW5lcigncXVpei1wYWdlJywgZnVuY3Rpb24gKCkgewogICAgICAgIC8vZG8gc3R1ZmYgd2hlbiB3ZSBwcmVzcyBlbnRlciBhbmQgZ2V0IHRoZSBhbnN3ZXIgd3JvbmcKICAgICAgICAkKCcjc3R1ZHktYW5zd2VyLWlucHV0Jykub24oJ2tleWRvd24nLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgaWYgKGV2ZW50LndoaWNoID09IDEzKSB7CiAgICAgICAgICAgICAgICBvcGVuSWZXcm9uZygpCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIC8vZG8gc3R1ZmYgd2hlbiB3ZSBjbGljayBzdWJtaXQgYW5kIGdldCB0aGUgYW5zd2VyIHdyb25nCiAgICAgICAgJCgnI3N1Ym1pdC1zdHVkeS1hbnN3ZXInKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIG9wZW5JZldyb25nKCkKICAgICAgICB9KQogICAgfSkKCiAgICAvL29wZW5zIHRoZSBpbmZvIGlmIHlvdSBnZXQgdGhlIGl0ZW0gd3JvbmcKICAgIGZ1bmN0aW9uIG9wZW5JZldyb25nKCkgewogICAgICAgIGlmICgkKCcub29wcy1idXR0b24nKVswXS5zdHlsZS5kaXNwbGF5ID09ICdibG9jaycgfHwgJCgnI2xlYXJuLW5ldy1ncmFtbWFyLXBhZ2UnKS5sZW5ndGgpIHsKICAgICAgICAgICAgJCgnLnNob3ctZ3JhbW1hci10ZXh0JykuY2xpY2soKQogICAgICAgIH0KICAgIH0KfSkoKQo=","requires":[]},{"name":"GitHub Code Folding","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":["https://github.com/*","https://gist.github.com/*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"user_modified":null},"storage":{"ts":1636664956605,"data":{}},"enabled":true,"position":14,"file_url":"https://raw.githubusercontent.com/Mottie/Github-userscripts/master/github-code-folding.user.js","uuid":"03039f55-1392-4e34-89d8-7a324da08087","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiBDb2RlIEZvbGRpbmcKLy8gQHZlcnNpb24gICAgIDEuMS41Ci8vIEBkZXNjcmlwdGlvbiBBIHVzZXJzY3JpcHQgdGhhdCBhZGRzIGNvZGUgZm9sZGluZyB0byBHaXRIdWIgZmlsZXMKLy8gQGxpY2Vuc2UgICAgIE1JVAovLyBAYXV0aG9yICAgICAgUm9iIEdhcnJpc29uCi8vIEBuYW1lc3BhY2UgICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllCi8vIEBpbmNsdWRlICAgICBodHRwczovL2dpdGh1Yi5jb20vKgovLyBAaW5jbHVkZSAgICAgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vKgovLyBAcnVuLWF0ICAgICAgZG9jdW1lbnQtaWRsZQovLyBAZ3JhbnQgICAgICAgR00uYWRkU3R5bGUKLy8gQGdyYW50ICAgICAgIEdNX2FkZFN0eWxlCi8vIEByZXF1aXJlICAgICBodHRwczovL2dyZWFzZW1vbmtleS5naXRodWIuaW8vZ200LXBvbHlmaWxsL2dtNC1wb2x5ZmlsbC5qcz91cGRhdGVkPTIwMTgwMTAzCi8vIEByZXF1aXJlICAgICBodHRwczovL2dyZWFzeWZvcmsub3JnL3NjcmlwdHMvMjg3MjEtbXV0YXRpb25zL2NvZGUvbXV0YXRpb25zLmpzP3ZlcnNpb249MTEwODE2MwovLyBAcmVxdWlyZSAgICAgaHR0cHM6Ly9ncmVhc3lmb3JrLm9yZy9zY3JpcHRzLzM5ODg3Ny11dGlscy1qcy9jb2RlL3V0aWxzanMuanM/dmVyc2lvbj0xMDc5NjM3Ci8vIEBpY29uICAgICAgICBodHRwczovL2dpdGh1Yi5naXRodWJhc3NldHMuY29tL3Bpbm5lZC1vY3RvY2F0LnN2ZwovLyBAdXBkYXRlVVJMICAgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRodWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi1jb2RlLWZvbGRpbmcudXNlci5qcwovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRodWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi1jb2RlLWZvbGRpbmcudXNlci5qcwovLyBAc3VwcG9ydFVSTCAgaHR0cHM6Ly9naXRodWIuY29tL01vdHRpZS9HaXRIdWItdXNlcnNjcmlwdHMvaXNzdWVzCi8vID09L1VzZXJTY3JpcHQ9PQovKiBnbG9iYWwgJCAkJCBvbiAqLwovKioKICogVGhpcyB1c2Vyc2NyaXB0IGhhcyBiZWVuIGhlYXZpbHkgbW9kaWZpZWQgZnJvbSB0aGUgImdpdGh1Yi1jb2RlLWZvbGRpbmciCiAqIENocm9tZSBleHRlbnNpb24gQ29weXJpZ2h0IDIwMTYgYnkgTm9hbSBMdXN0aWdlcjsgdW5kZXIgYW4gTUlUIGxpY2Vuc2UKICogaHR0cHM6Ly9naXRodWIuY29tL25vYW0zMTI3L2dpdGh1Yi1jb2RlLWZvbGRpbmcKICovCigoKSA9PiB7CgkidXNlIHN0cmljdCI7CgoJR00uYWRkU3R5bGUoYAoJCXRkLmJsb2ItY29kZS5ibG9iLWNvZGUtaW5uZXIgeyBwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OjEwcHg7IH0KCQkuZ2hjZi1jb2xsYXBzZXIgeyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDoycHg7IHdpZHRoOjEwcHg7IGN1cnNvcjpwb2ludGVyOyB9CgkJLmdoY2YtY29sbGFwc2VyOmFmdGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwoJCQljb250ZW50OiJcdTI1YmMiOyBvcGFjaXR5Oi41OyB0cmFuc2l0aW9uOi4xNXM7IH0KCQkuZ2hjZi1jb2xsYXBzZXI6aG92ZXI6YWZ0ZXIgeyBvcGFjaXR5OjE7IH0KCQkuZ2hjZi1jb2xsYXBzZWQuZ2hjZi1jb2xsYXBzZXI6YWZ0ZXIgeyB0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7CgkJCW9wYWNpdHk6Ljg7IH0KCQkuZ2hjZi1oaWRkZW4tbGluZSB7IGRpc3BsYXk6bm9uZTsgfQoJCS5naGNmLWVsbGlwc2lzIHsgcGFkZGluZzoxcHggMnB4OyBtYXJnaW4tbGVmdDoycHg7IGN1cnNvcjpwb2ludGVyOwoJCQliYWNrZ3JvdW5kOnJnYmEoMjU1LDIzNSw1OSwuNCk7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjE7IH0KCQkuZ2hjZi1lbGxpcHNpczpob3ZlciB7IGJhY2tncm91bmQ6cmdiYSgyNTUsMjM1LDU5LC43KTsgfQoJYCk7CgoJY29uc3QgYmxvY2tzID0ge307Cgljb25zdCBlbGxpcHNpcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKCWNvbnN0IHRyaWFuZ2xlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwoKCXRyaWFuZ2xlLmNsYXNzTmFtZSA9ICJnaGNmLWNvbGxhcHNlciI7CgllbGxpcHNpcy5jbGFzc05hbWUgPSAicGwtc21pIGdoY2YtZWxsaXBzaXMiOwoJZWxsaXBzaXMuaW5uZXJIVE1MID0gIiZoZWxsaXA7IjsKCglmdW5jdGlvbiBjb3VudEluaXRpYWxXaGl0ZVNwYWNlKGFycikgewoJCWNvbnN0IGdldFdoaXRlU3BhY2VJbmRleCA9IGkgPT4gewoJCQlpZiAoYXJyW2ldICE9PSAiICIgJiYgYXJyW2ldICE9PSAiXHQiICYmIGFycltpXSAhPT0gIlx4YTAiKSB7CgkJCQlyZXR1cm4gaTsKCQkJfQoJCQlyZXR1cm4gZ2V0V2hpdGVTcGFjZUluZGV4KCsraSk7CgkJfTsKCQlyZXR1cm4gZ2V0V2hpdGVTcGFjZUluZGV4KDApOwoJfQoKCWZ1bmN0aW9uIGdldFByZXZpb3VzU3BhY2VzKG1hcCwgbGluZU51bSkgewoJCWxldCBwcmV2ID0gbWFwLmdldChsaW5lTnVtIC0gMSk7CgkJcmV0dXJuIHByZXYgPT09IC0xCgkJCT8gZ2V0UHJldmlvdXNTcGFjZXMobWFwLCBsaW5lTnVtIC0gMSkKCQkJOiB7CgkJCQlsaW5lTnVtOiBsaW5lTnVtIC0gMSwKCQkJCWNvdW50OiBwcmV2CgkJCX07Cgl9CgoJZnVuY3Rpb24gZ2V0TGluZU51bWJlcihlbCkgewoJCWxldCBlbG0gPSBlbC5jbG9zZXN0KCJ0ciIpOwoJCWlmIChlbG0pIHsKCQkJZWxtID0gZWxtLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLWxpbmUtbnVtYmVyXSIpOwoJCQlyZXR1cm4gZWxtID8gcGFyc2VJbnQoZWxtLmRhdGFzZXQubGluZU51bWJlciwgMTApIDogIiI7CgkJfQoJCXJldHVybiAiIjsKCX0KCglmdW5jdGlvbiBnZXRDb2RlTGluZXMoY29kZUJsb2NrKSB7CgkJcmV0dXJuICQkKCIuYmxvYi1jb2RlLWlubmVyIiwgY29kZUJsb2NrKTsKCX0KCglmdW5jdGlvbiB0b2dnbGVDb2RlKHsgYWN0aW9uLCBjb2RlQmxvY2ssIGluZGV4LCBkZXB0aCB9KSB7CgkJbGV0IGVscywgbGluZU51bXM7CgkJY29uc3QgY29kZUxpbmVzID0gZ2V0Q29kZUxpbmVzKGNvZGVCbG9jaykgfHwgW107CgkJY29uc3QgcGFpcnMgPSBibG9ja3NbY29kZUJsb2NrLmRhdGFzZXQuYmxvY2tJbmRleF07CgkJaWYgKCFwYWlycyB8fCBjb2RlTGluZXMubGVuZ3RoID09PSAwKSB7CgkJCXJldHVybjsKCQl9CgkJLy8gZGVwdGggaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHNwZWNpZmljIGRlcHRoIG51bWJlciB0byB0b2dnbGUKCQlpZiAoZGVwdGgpIHsKCQkJZWxzID0gJCQoYC5naGNmLWNvbGxhcHNlcltkYXRhLWRlcHRoPSIke2RlcHRofSJdYCwgY29kZUJsb2NrKTsKCQkJbGluZU51bXMgPSBlbHMubWFwKGVsID0+IHsKCQkJCWVsLmNsYXNzTGlzdC50b2dnbGUoImdoY2YtY29sbGFwc2VkIiwgYWN0aW9uID09PSAiaGlkZSIpOwoJCQkJcmV0dXJuIGdldExpbmVOdW1iZXIoZWwpOwoJCQl9KTsKCQl9IGVsc2UgewoJCQlsaW5lTnVtcyA9IFtpbmRleF07CgkJfQoKCQlpZiAoYWN0aW9uID09PSAiaGlkZSIpIHsKCQkJbGluZU51bXMuZm9yRWFjaChzdGFydCA9PiB7CgkJCQlsZXQgZWxtOwoJCQkJbGV0IGVuZCA9IHBhaXJzLmdldChzdGFydCAtIDEpOwoJCQkJY29kZUxpbmVzLnNsaWNlKHN0YXJ0LCBlbmQpLmZvckVhY2goZWwgPT4gewoJCQkJCWVsbSA9IGVsLmNsb3Nlc3QoInRyIik7CgkJCQkJaWYgKGVsbSkgewoJCQkJCQllbG0uY2xhc3NMaXN0LmFkZCgiZ2hjZi1oaWRkZW4tbGluZSIpOwoJCQkJCX0KCQkJCX0pOwoJCQkJaWYgKCEkKCIuZ2hjZi1lbGxpcHNpcyIsIGNvZGVMaW5lc1tzdGFydCAtIDFdKSkgewoJCQkJCWVsbSA9ICQoIi5naGNmLWNvbGxhcHNlciIsIGNvZGVMaW5lc1tzdGFydCAtIDFdKTsKCQkJCQllbG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoCgkJCQkJCWVsbGlwc2lzLmNsb25lTm9kZSh0cnVlKSwKCQkJCQkJbnVsbAoJCQkJCSk7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSBpZiAoYWN0aW9uID09PSAic2hvdyIpIHsKCQkJbGluZU51bXMuZm9yRWFjaChzdGFydCA9PiB7CgkJCQlsZXQgZW5kID0gcGFpcnMuZ2V0KHN0YXJ0IC0gMSk7CgkJCQljb2RlTGluZXMuc2xpY2Uoc3RhcnQsIGVuZCkuZm9yRWFjaChlbCA9PiB7CgkJCQkJbGV0IGVsbSA9IGVsLmNsb3Nlc3QoInRyIik7CgkJCQkJaWYgKGVsbSkgewoJCQkJCQllbG0uY2xhc3NMaXN0LnJlbW92ZSgiZ2hjZi1oaWRkZW4tbGluZSIpOwoJCQkJCQlyZW1vdmVFbHMoIi5naGNmLWVsbGlwc2lzIiwgZWxtKTsKCQkJCQl9CgkJCQkJZWxtID0gJCgiLmdoY2YtY29sbGFwc2VkIiwgZWxtKTsKCQkJCQlpZiAoZWxtKSB7CgkJCQkJCWVsbS5jbGFzc0xpc3QucmVtb3ZlKCJnaGNmLWNvbGxhcHNlZCIpOwoJCQkJCX0KCQkJCX0pOwoJCQkJcmVtb3ZlRWxzKCIuZ2hjZi1lbGxpcHNpcyIsIGNvZGVMaW5lc1tzdGFydCAtIDFdKTsKCQkJfSk7CgkJfQoJCS8vIHNoaWZ0IGVuZHMgdXAgc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2UsIHNvIGNsZWFyIGl0CgkJaWYgKGxpbmVOdW1zLmxlbmd0aCA+IDEpIHsKCQkJcmVtb3ZlU2VsZWN0aW9uKCk7CgkJfQoJfQoKCWZ1bmN0aW9uIGFkZEJpbmRpbmdzKCkgewoJCW9uKGRvY3VtZW50LCAiY2xpY2siLCBldmVudCA9PiB7CgkJCWxldCBpbmRleCwgZWxtLCBpc0NvbGxhcHNlZDsKCQkJY29uc3QgZWwgPSBldmVudC50YXJnZXQ7CgkJCWNvbnN0IGNvZGVCbG9jayA9IGVsLmNsb3Nlc3QoIi5oaWdobGlnaHQiKTsKCgkJCS8vIGNsaWNrIG9uIGNvbGxhcHNlcgoJCQlpZiAoZWwgJiYgZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCJnaGNmLWNvbGxhcHNlciIpKSB7CgkJCQlpc0NvbGxhcHNlZCA9IGVsLmNsYXNzTGlzdC5jb250YWlucygiZ2hjZi1jb2xsYXBzZWQiKTsKCQkJCWluZGV4ID0gZ2V0TGluZU51bWJlcihlbCk7CgkJCQkvLyBTaGlmdCArIGNsaWNrIHRvIHRvZ2dsZSB0aGVtIGFsbAoJCQkJaWYgKGluZGV4ICYmIGV2ZW50LmdldE1vZGlmaWVyU3RhdGUoIlNoaWZ0IikpIHsKCQkJCQlyZXR1cm4gdG9nZ2xlQ29kZSh7CgkJCQkJCWFjdGlvbjogaXNDb2xsYXBzZWQgPyAic2hvdyIgOiAiaGlkZSIsCgkJCQkJCWNvZGVCbG9jaywKCQkJCQkJaW5kZXgsCgkJCQkJCWRlcHRoOiBlbC5kYXRhc2V0LmRlcHRoCgkJCQkJfSk7CgkJCQl9CgkJCQlpZiAoaW5kZXgpIHsKCQkJCQlpZiAoaXNDb2xsYXBzZWQpIHsKCQkJCQkJZWwuY2xhc3NMaXN0LnJlbW92ZSgiZ2hjZi1jb2xsYXBzZWQiKTsKCQkJCQkJdG9nZ2xlQ29kZSh7IGFjdGlvbjogInNob3ciLCBjb2RlQmxvY2ssIGluZGV4IH0pOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWVsLmNsYXNzTGlzdC5hZGQoImdoY2YtY29sbGFwc2VkIik7CgkJCQkJCXRvZ2dsZUNvZGUoeyBhY3Rpb246ICJoaWRlIiwgY29kZUJsb2NrLCBpbmRleCB9KTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm47CgkJCX0KCgkJCS8vIGNsaWNrIG9uIGVsbGlwc2lzCgkJCWlmIChlbCAmJiBlbC5jbGFzc0xpc3QuY29udGFpbnMoImdoY2YtZWxsaXBzaXMiKSkgewoJCQkJZWxtID0gJCgiLmdoY2YtY29sbGFwc2VkIiwgZWwucGFyZW50Tm9kZSk7CgkJCQlpZiAoZWxtKSB7CgkJCQkJZWxtLmNsYXNzTGlzdC5yZW1vdmUoImdoY2YtY29sbGFwc2VkIik7CgkJCQl9CgkJCQlpbmRleCA9IGdldExpbmVOdW1iZXIoZWwpOwoJCQkJaWYgKGluZGV4KSB7CgkJCQkJdG9nZ2xlQ29kZSh7IGFjdGlvbjogInNob3ciLCBjb2RlQmxvY2ssIGluZGV4IH0pOwoJCQkJfQoJCQl9CgkJfSk7Cgl9CgoJZnVuY3Rpb24gYWRkQ29kZUZvbGRpbmcoKSB7CgkJLy8gS2VlcCAuZmlsZSBpbiBjYXNlIHNvbWVvbmUgbmVlZHMgdGhpcyB1c2Vyc2NyaXB0IGZvciBHaXRIdWIgRW50ZXJwcmlzZQoJCWlmICgkKCIuZmlsZSB0YWJsZS5oaWdobGlnaHQsIC5ibG9iLXdyYXBwZXIgdGFibGUuaGlnaGxpZ2h0IikpIHsKCQkJJCQoInRhYmxlLmhpZ2hsaWdodCIpLmZvckVhY2goKGNvZGVCbG9jaywgYmxvY2tJbmRleCkgPT4gewoJCQkJaWYgKGNvZGVCbG9jayAmJiBjb2RlQmxvY2suY2xhc3NMaXN0LmNvbnRhaW5zKCJnaGNmLXByb2Nlc3NlZCIpKSB7CgkJCQkJLy8gQWxyZWFkeSBwcm9jZXNzZWQKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQljb25zdCBjb2RlTGluZXMgPSBnZXRDb2RlTGluZXMoY29kZUJsb2NrKTsKCQkJCXJlbW92ZUVscygic3Bhbi5naGNmLWNvbGxhcHNlciIsIGNvZGVCbG9jayk7CgkJCQlpZiAoY29kZUxpbmVzKSB7CgkJCQkJLy8gSW4gY2FzZSB0aGlzIHNjcmlwdCBoYXMgYWxyZWFkeSBiZWVuIHJ1biBhbmQgbW9kaWZpZWQgdGhlIERPTSBvbiBhCgkJCQkJLy8gcHJldmlvdXMgcGFnZSBpbiBnaXRodWIsIG1ha2Ugc3VyZSB0byByZXNldCBpdC4KCQkJCQljb2RlQmxvY2suY2xhc3NMaXN0LmFkZCgiZ2hjZi1wcm9jZXNzZWQiKTsKCQkJCQljb2RlQmxvY2suZGF0YXNldC5ibG9ja0luZGV4ID0gYmxvY2tJbmRleDsKCgkJCQkJY29uc3Qgc3BhY2VNYXAgPSBuZXcgTWFwKCk7CgkJCQkJY29uc3Qgc3RhY2sgPSBbXTsKCQkJCQljb25zdCBwYWlycyA9IGJsb2Nrc1tibG9ja0luZGV4XSA9IG5ldyBNYXAoKTsKCgkJCQkJY29kZUxpbmVzLmZvckVhY2goKGVsLCBsaW5lTnVtKSA9PiB7CgkJCQkJCWxldCBwcmV2U3BhY2VzOwoJCQkJCQlsZXQgbGluZSA9IGVsLnRleHRDb250ZW50OwoJCQkJCQlsZXQgY291bnQgPSBsaW5lLnRyaW0oKS5sZW5ndGgKCQkJCQkJCT8gY291bnRJbml0aWFsV2hpdGVTcGFjZShsaW5lLnNwbGl0KCIiKSkKCQkJCQkJCTogLTE7CgkJCQkJCXNwYWNlTWFwLnNldChsaW5lTnVtLCBjb3VudCk7CgoJCQkJCQlmdW5jdGlvbiB0cnlQYWlyKCkgewoJCQkJCQkJbGV0IGVsOwoJCQkJCQkJbGV0IHRvcCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdOwoJCQkJCQkJaWYgKGNvdW50ICE9PSAtMSAmJiBjb3VudCA8PSBzcGFjZU1hcC5nZXQodG9wKSkgewoJCQkJCQkJCXBhaXJzLnNldCh0b3AsIGxpbmVOdW0pOwoJCQkJCQkJCS8vIHByZXBlbmQgdHJpYW5nbGUKCQkJCQkJCQllbCA9IHRyaWFuZ2xlLmNsb25lTm9kZSgpOwoJCQkJCQkJCWVsLmRhdGFzZXQuZGVwdGggPSBjb3VudCArIDE7CgkJCQkJCQkJY29kZUxpbmVzW3RvcF0uaW5zZXJ0QmVmb3JlKGVsLCBjb2RlTGluZXNbdG9wXS5jaGlsZE5vZGVzWzBdKTsKCQkJCQkJCQlzdGFjay5wb3AoKTsKCQkJCQkJCQlyZXR1cm4gdHJ5UGFpcigpOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXRyeVBhaXIoKTsKCgkJCQkJCXByZXZTcGFjZXMgPSBnZXRQcmV2aW91c1NwYWNlcyhzcGFjZU1hcCwgbGluZU51bSk7CgkJCQkJCWlmIChjb3VudCA+IHByZXZTcGFjZXMuY291bnQpIHsKCQkJCQkJCXN0YWNrLnB1c2gocHJldlNwYWNlcy5saW5lTnVtKTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoJCQl9KTsKCQl9Cgl9CgoJZnVuY3Rpb24gcmVtb3ZlRWxzKHNlbGVjdG9yLCBlbCkgewoJCWxldCBlbHMgPSAkJChzZWxlY3RvciwgZWwpOwoJCWxldCBpbmRleCA9IGVscy5sZW5ndGg7CgkJd2hpbGUgKGluZGV4LS0pIHsKCQkJZWxzW2luZGV4XS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsc1tpbmRleF0pOwoJCX0KCX0KCglmdW5jdGlvbiByZW1vdmVTZWxlY3Rpb24oKSB7CgkJLy8gcmVtb3ZlIHRleHQgc2VsZWN0aW9uIC0gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzMxNzEzNDgvMTQ1MzQ2CgkJY29uc3Qgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbgoJCQk/IHdpbmRvdy5nZXRTZWxlY3Rpb24oKQoJCQk6IGRvY3VtZW50LnNlbGVjdGlvbjsKCQlpZiAoc2VsKSB7CgkJCWlmIChzZWwucmVtb3ZlQWxsUmFuZ2VzKSB7CgkJCQlzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7CgkJCX0gZWxzZSBpZiAoc2VsLmVtcHR5KSB7CgkJCQlzZWwuZW1wdHkoKTsKCQkJfQoJCX0KCX0KCglvbihkb2N1bWVudCwgImdobW86Y29udGFpbmVyIiwgYWRkQ29kZUZvbGRpbmcpOwoJYWRkQ29kZUZvbGRpbmcoKTsKCWFkZEJpbmRpbmdzKCk7Cgp9KSgpOwo=","requires":[]},{"name":"GitHub Sort Reactions","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":["https://github.com/*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"user_modified":null},"storage":{"ts":1636665066915,"data":{}},"enabled":true,"position":15,"file_url":"https://raw.githubusercontent.com/Mottie/GitHub-userscripts/master/github-sort-reactions.user.js","uuid":"31410fbe-5cc6-4a14-a3f3-339c85f4d804","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiBTb3J0IFJlYWN0aW9ucwovLyBAdmVyc2lvbiAgICAgMC4yLjE3Ci8vIEBkZXNjcmlwdGlvbiBBIHVzZXJzY3JpcHQgdGhhdCBzb3J0cyBjb21tZW50cyBieSByZWFjdGlvbgovLyBAbGljZW5zZSAgICAgTUlUCi8vIEBhdXRob3IgICAgICBSb2IgR2Fycmlzb24KLy8gQG5hbWVzcGFjZSAgIGh0dHBzOi8vZ2l0aHViLmNvbS9Nb3R0aWUKLy8gQGluY2x1ZGUgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS8qCi8vIEBydW4tYXQgICAgICBkb2N1bWVudC1pZGxlCi8vIEBncmFudCAgICAgICBHTV9hZGRTdHlsZQovLyBAZ3JhbnQgICAgICAgR01fZ2V0VmFsdWUKLy8gQGdyYW50ICAgICAgIEdNX3NldFZhbHVlCi8vIEByZXF1aXJlICAgICBodHRwczovL2dyZWFzeWZvcmsub3JnL3NjcmlwdHMvMjg3MjEtbXV0YXRpb25zL2NvZGUvbXV0YXRpb25zLmpzP3ZlcnNpb249MTEwODE2MwovLyBAaWNvbiAgICAgICAgaHR0cHM6Ly9naXRodWIuZ2l0aHViYXNzZXRzLmNvbS9waW5uZWQtb2N0b2NhdC5zdmcKLy8gQHVwZGF0ZVVSTCAgIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9Nb3R0aWUvR2l0SHViLXVzZXJzY3JpcHRzL21hc3Rlci9naXRodWItc29ydC1yZWFjdGlvbnMudXNlci5qcwovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRIdWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi1zb3J0LXJlYWN0aW9ucy51c2VyLmpzCi8vIEBzdXBwb3J0VVJMICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllL0dpdEh1Yi11c2Vyc2NyaXB0cy9pc3N1ZXMKLy8gPT0vVXNlclNjcmlwdD09CigoKSA9PiB7CgkidXNlIHN0cmljdCI7CgoJY29uc3Qgbm9uSW50ZWdlciA9IC9bXlxkXS9nOwoJY29uc3QgcmVhY3Rpb25WYWx1ZXMgPSB7CgkJIlRIVU1CU19VUCI6IDEsCgkJIkhPT1JBWSI6IDEsCgkJIkhFQVJUIjogMSwKCQkiTEFVR0giOiAwLjUsCgkJIkNPTkZVU0VEIjogLTAuNSwKCQkiVEhVTUJTX0RPV04iOiAtMQoJfTsKCWNvbnN0IGN1cnJlbnRTb3J0ID0gewoJCWluaXQ6IGZhbHNlLAoJCWVsOiBudWxsLAoJCWRpcjogMCwgLy8gMCA9IHVuc29ydGVkLCAxID0gZGVzYywgMiA9IGFzYwoJCWJ1c3k6IGZhbHNlLAoJCXR5cGU6IEdNX2dldFZhbHVlKCJzZWxlY3RlZC1yZWFjdGlvbiIsICJOT05FIikKCX07CgoJY29uc3QgZW1vamlTcmMgPSAiaHR0cHM6Ly9naXRodWIuZ2l0aHViYXNzZXRzLmNvbS9pbWFnZXMvaWNvbnMvZW1vamkvdW5pY29kZSI7CgoJY29uc3Qgc29ydEJsb2NrID0gYAo8ZGl2IGNsYXNzPSJUaW1lbGluZUl0ZW0gZ2hzci1zb3J0LWJsb2NrIGdoc3ItaXMtY29sbGFwc2VkIGpzLXRpbWVsaW5lLXByb2dyZXNzaXZlLWZvY3VzLWNvbnRhaW5lciI+Cgk8ZGl2IGNsYXNzPSJhdmF0YXItcGFyZW50LWNoaWxkIFRpbWVsaW5lSXRlbS1hdmF0YXIgYm9yZGVyIGdoc3Itc29ydC1hdmF0YXIgZ2hzci1uby1zZWxlY3Rpb24iPgoJCTxkaXYgY2xhc3M9Imdoc3ItaWNvbi13cmFwIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiBhcmlhLWxhYmVsPSJDbGljayB0byB0b2dnbGUgcmVhY3Rpb24gc29ydCBtZW51Ij4KCQkJPHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgY2xhc3M9Im9jdGljb24gZ2hzci1zb3J0LWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI1IiBoZWlnaHQ9IjQwIiB2aWV3Qm94PSIwIDAgMTYgMTYiPgoJCQkJPHBhdGggZD0iTTE1IDggMSA4IDggMHpNMTUgOSAxIDkgOCAxNnoiLz4KCQkJPC9zdmc+CgkJPC9kaXY+CgkJPGctZW1vamk+PC9nLWVtb2ppPgoJCTxidXR0b24gY2xhc3M9Imdoc3Itc29ydC1idXR0b24gZ2hzci1hdmF0YXItc29ydCBidG4gYnRuLXNtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiBhcmlhLWxhYmVsPSJUb2dnbGUgc2VsZWN0ZWQgcmVhY3Rpb24gc29ydCBkaXJlY3Rpb24iPgoJCQk8c3Bhbj48L3NwYW4+CgkJPC9idXR0b24+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InRpbWVsaW5lLWNvbW1lbnQgbWwtbjMiPgoJCTxkaXYgY2xhc3M9InRpbWVsaW5lLWNvbW1lbnQtaGVhZGVyIGNvbW1lbnQgY29tbWVudC1ib2R5Ij4KCQkJPGgzIGNsYXNzPSJ0aW1lbGluZS1jb21tZW50LWhlYWRlci10ZXh0IGY1IHRleHQtbm9ybWFsIj4KCQkJCTxidXR0b24gY2xhc3M9Imdoc3Itc29ydC1idXR0b24gYnRuIGJ0bi1zbSB0b29sdGlwcGVkIHRvb2x0aXBwZWQtbiIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTb3J0IGJ5ICsxIHJlYWN0aW9uIiBkYXRhLXNvcnQ9IlRIVU1CU19VUCI+CgkJCQkJPGctZW1vamkgYWxpYXM9IisxIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY0NGQucG5nIj7wn5GNPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSAtMSByZWFjdGlvbiIgZGF0YS1zb3J0PSJUSFVNQlNfRE9XTiI+CgkJCQkJPGctZW1vamkgYWxpYXM9Ii0xIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY0NGUucG5nIj7wn5GOPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSBsYXVnaCByZWFjdGlvbiIgZGF0YS1zb3J0PSJMQVVHSCI+CgkJCQkJPGctZW1vamkgYWxpYXM9InNtaWxlIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY2MDQucG5nIj7wn5iEPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSBob29yYXkgcmVhY3Rpb24iIGRhdGEtc29ydD0iSE9PUkFZIj4KCQkJCQk8Zy1lbW9qaSBhbGlhcz0idGFkYSIgY2xhc3M9ImVtb2ppIiBmYWxsYmFjay1zcmM9IiR7ZW1vamlTcmN9LzFmMzg5LnBuZyI+8J+OiTwvZy1lbW9qaT4KCQkJCTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0iZ2hzci1zb3J0LWJ1dHRvbiBidG4gYnRuLXNtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNvcnQgYnkgY29uZnVzZWQgcmVhY3Rpb24iIGRhdGEtc29ydD0iQ09ORlVTRUQiPgoJCQkJCTxnLWVtb2ppIGFsaWFzPSJ0aGlua2luZ19mYWNlIiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMWY2MTUucG5nIj7wn5iVPC9nLWVtb2ppPgoJCQkJPC9idXR0b24+CgkJCQk8YnV0dG9uIGNsYXNzPSJnaHNyLXNvcnQtYnV0dG9uIGJ0biBidG4tc20gdG9vbHRpcHBlZCB0b29sdGlwcGVkLW4iIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU29ydCBieSBoZWFydCByZWFjdGlvbiIgZGF0YS1zb3J0PSJIRUFSVCI+CgkJCQkJPGctZW1vamkgYWxpYXM9ImhlYXJ0IiBjbGFzcz0iZW1vamkiIGZhbGxiYWNrLXNyYz0iJHtlbW9qaVNyY30vMjc2NC5wbmciPuKdpO+4jzwvZy1lbW9qaT4KCQkJCTwvYnV0dG9uPgoJCQkJPGJ1dHRvbiBjbGFzcz0iZ2hzci1zb3J0LWJ1dHRvbiBidG4gYnRuLXNtIHRvb2x0aXBwZWQgdG9vbHRpcHBlZC1uIHRvb2x0aXBwZWQtbXVsdGlsaW5lIiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNvcnQgYnkgcmVhY3Rpb24gZXZhbHVhdGlvbgoodGh1bWJzIHVwLCBob29yYXkgJiBoZWFydCA9ICsxOwpsYXVnaCA9ICswLjU7IGNvbmZ1c2VkID0gLTAuNTsKdGh1bWJzIGRvd24gPSAtMSkiIGRhdGEtc29ydD0iQUNUSVZFIj4KCQkJCQk8Zy1lbW9qaSBhbGlhcz0ic3BlYWtfbm9fZXZpbCIgY2xhc3M9ImVtb2ppIiBmYWxsYmFjay1zcmM9IiR7ZW1vamlTcmN9LzFmNjRhLnBuZyI+8J+ZijwvZy1lbW9qaT4KCQkJCTwvYnV0dG9uPgoJCQk8L2gzPgoJCTwvZGl2PgoJPC9kaXY+CjwvZGl2PmA7CgoJZnVuY3Rpb24gc3VtT2ZSZWFjdGlvbnMoZWwpIHsKCQlyZXR1cm4gT2JqZWN0LmtleXMocmVhY3Rpb25WYWx1ZXMpLnJlZHVjZSgoc3VtLCBpdGVtKSA9PiB7CgkJCWNvbnN0IGVsbSA9ICQoYC5jb21tZW50LXJlYWN0aW9ucy1vcHRpb25zIGJ1dHRvblt2YWx1ZSo9IiR7aXRlbX0iXWAsIGVsKTsKCQkJcmV0dXJuIHN1bSArIChnZXRWYWx1ZShlbG0pICogcmVhY3Rpb25WYWx1ZXNbaXRlbV0pOwoJCX0sIDApOwoJfQoKCWZ1bmN0aW9uIGdldFZhbHVlKGVsbSkgewoJCXJldHVybiBlbG0gPwoJCQlwYXJzZUludChlbG0udGV4dENvbnRlbnQucmVwbGFjZShub25JbnRlZ2VyLCAiIikgfHwgIjAiLCAxMCkgOgoJCQkwOwoJfQoKCWZ1bmN0aW9uIGV4dHJhY3RTb3J0VmFsdWUoZWxtLCB0eXBlLCBkaXIpIHsKCQlpZiAoZGlyID09PSAwIHx8IHR5cGUgPT09ICJOT05FIiB8fCB0eXBlID09PSAiQUNUSVZFIikgewoJCQlyZXR1cm4gcGFyc2VGbG9hdCgKCQkJCWVsbS5kYXRhc2V0W2Bzb3J0Q29tbWVudCR7ZGlyID09PSAwID8gIkRhdGUiIDogIlN1bSJ9YF0KCQkJKTsKCQl9CgkJcmV0dXJuIGdldFZhbHVlKCQoYC5jb21tZW50LXJlYWN0aW9ucyBidXR0b25bdmFsdWUqPSIke3R5cGV9Il1gLCBlbG0pKTsKCX0KCglmdW5jdGlvbiBzdGFibGVTb3J0VmFsdWUoZWxtKSB7CgkJcmV0dXJuIHBhcnNlSW50KGVsbS5kYXRhc2V0LnNvcnRDb21tZW50RGF0ZSwgMTApOwoJfQoKCWZ1bmN0aW9uIHVwZGF0ZUF2YXRhcigpIHsKCQlHTV9zZXRWYWx1ZSgic2VsZWN0ZWQtcmVhY3Rpb24iLCBjdXJyZW50U29ydC50eXBlKTsKCQljb25zdCBibG9jayA9ICQoIi5naHNyLXNvcnQtYmxvY2siKSwKCQkJYXZhdGFyID0gJCgiLmdoc3Itc29ydC1hdmF0YXIiLCBibG9jayksCgkJCWljb24gPSAkKCIuZ2hzci1zb3J0LWJ1dHRvbiBzcGFuIiwgYXZhdGFyKTsKCQlpZiAoYXZhdGFyKSB7CgkJCWxldCBjdXJyZW50ID0gJChgLmNvbW1lbnQtYm9keSBbZGF0YS1zb3J0PSR7Y3VycmVudFNvcnQudHlwZX1dYCwgYmxvY2spOwoJCQlhdmF0YXIuY2xhc3NMaXN0LnJlbW92ZSgiZ2hzci1uby1zZWxlY3Rpb24iKTsKCQkJYXZhdGFyLnJlcGxhY2VDaGlsZCgKCQkJCSQoImctZW1vamkiLCBjdXJyZW50KS5jbG9uZU5vZGUodHJ1ZSksCgkJCQkkKCJnLWVtb2ppIiwgYXZhdGFyKQoJCQkpOwoJCQlpZiAoY3VycmVudFNvcnQuZGlyID09PSAwKSB7CgkJCQkvLyB1c2UgdW5zb3J0ZWQgc3ZnIGluIHNvcnQgYnV0dG9uCgkJCQljdXJyZW50ID0gJCgiLmdoc3Itc29ydC1pY29uIiwgYXZhdGFyKS5jbG9uZU5vZGUodHJ1ZSk7CgkJCQljdXJyZW50LmNsYXNzTGlzdC5yZW1vdmUoImdoc3Itc29ydC1pY29uIik7CgkJCQlpY29uLnRleHRDb250ZW50ID0gIiI7CgkJCQlpY29uLmFwcGVuZENoaWxkKGN1cnJlbnQpOwoJCQl9IGVsc2UgewoJCQkJaWNvbi50ZXh0Q29udGVudCA9IGN1cnJlbnRTb3J0LmRpciAhPT0gMSA/ICLilrIiIDogIuKWvCI7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gc29ydCgpIHsKCQljdXJyZW50U29ydC5idXN5ID0gdHJ1ZTsKCQljb25zdCBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwKCQkJY29udGFpbmVyID0gJCgiLmpzLWRpc2N1c3Npb24iKSwKCQkJc29ydEJsb2NrID0gJCgiLmdoc3Itc29ydC1ibG9jayIpLAoJCQlsb2FkTW9yZSA9ICQoIiNwcm9ncmVzc2l2ZS10aW1lbGluZS1pdGVtLWNvbnRhaW5lciIpLAoJCQlkaXIgPSBjdXJyZW50U29ydC5kaXIsCgkJCXNvcnRBc2MgPSBkaXIgIT09IDEsCgkJCXR5cGUgPSBjdXJyZW50U29ydC5lbCA/IGN1cnJlbnRTb3J0LmVsLmRhdGFzZXQuc29ydCA6ICJOT05FIjsKCQljdXJyZW50U29ydC50eXBlID0gdHlwZTsKCQl1cGRhdGVBdmF0YXIoKTsKCgkJJCQoIi5qcy10aW1lbGluZS1pdGVtIikKCQkJLnNvcnQoKGEsIGIpID0+IHsKCQkJCWNvbnN0IGF2ID0gZXh0cmFjdFNvcnRWYWx1ZShhLCB0eXBlLCBkaXIpLAoJCQkJCWJ2ID0gZXh0cmFjdFNvcnRWYWx1ZShiLCB0eXBlLCBkaXIpOwoJCQkJaWYgKGF2ID09PSBidikgewoJCQkJCXJldHVybiBzdGFibGVTb3J0VmFsdWUoYSkgLSBzdGFibGVTb3J0VmFsdWUoYik7CgkJCQl9CgkJCQlyZXR1cm4gc29ydEFzYyA/IGF2IC0gYnYgOiBidiAtIGF2OwoJCQl9KQoJCQkuZm9yRWFjaChlbCA9PiB7CgkJCQlmcmFnbWVudC5hcHBlbmRDaGlsZChlbCk7CgkJCX0pOwoJCWNvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnbWVudCk7CgkJaWYgKGxvYWRNb3JlKSB7CgkJCS8vIE1vdmUgbG9hZCBtb3JlIGNvbW1lbnRzIHRvIHRvcAoJCQlzb3J0QmxvY2sucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobG9hZE1vcmUsIHNvcnRCbG9jay5uZXh0U2libGluZyk7CgkJfQoJCXNldFRpbWVvdXQoKCkgPT4gewoJCQljdXJyZW50U29ydC5idXN5ID0gZmFsc2U7CgkJfSwgMTAwKTsKCX0KCglmdW5jdGlvbiB1cGRhdGUoKSB7CgkJaWYgKCFjdXJyZW50U29ydC5pbml0IHx8ICQkKCIuaGFzLXJlYWN0aW9ucyIpLmxlbmd0aCA8IDIpIHsKCQkJcmV0dXJuIHRvZ2dsZVNvcnRCbG9jayhmYWxzZSk7CgkJfQoJCXRvZ2dsZVNvcnRCbG9jayh0cnVlKTsKCQljb25zdCBpdGVtcyA9ICQkKCIuanMtdGltZWxpbmUtaXRlbTpub3QoW2RhdGEtc29ydC1jb21tZW50LWRhdGVdKSIpOwoJCWlmIChpdGVtcykgewoJCQlpdGVtcy5mb3JFYWNoKGVsID0+IHsKCQkJCWxldCBkYXRlID0gJCgiW2RhdGV0aW1lXSIsIGVsKTsKCQkJCWlmIChkYXRlKSB7CgkJCQkJZGF0ZSA9IGRhdGUuZ2V0QXR0cmlidXRlKCJkYXRldGltZSIpOwoJCQkJCWVsLnNldEF0dHJpYnV0ZSgiZGF0YS1zb3J0LWNvbW1lbnQtZGF0ZSIsIERhdGUucGFyc2UoZGF0ZSkpOwoJCQkJfQoJCQkJLy8gQWRkIHJlc2V0IGRhdGUgJiBtb3N0IGFjdGl2ZSBzdW1tYXRpb24KCQkJCWVsLnNldEF0dHJpYnV0ZSgiZGF0YS1zb3J0LWNvbW1lbnQtc3VtIiwgc3VtT2ZSZWFjdGlvbnMoZWwpKTsKCQkJfSk7CgkJfQoJCWlmIChjdXJyZW50U29ydC5lbCAmJiAhY3VycmVudFNvcnQuYnVzeSkgewoJCQlzb3J0KCk7CgkJfQoJfQoKCWZ1bmN0aW9uIGluaXRTb3J0KGV2ZW50KSB7CgkJbGV0IGRpcmVjdGlvbiwKCQkJdGFyZ2V0ID0gZXZlbnQudGFyZ2V0OwoJCWlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJnaHNyLXNvcnQtYnV0dG9uIikpIHsKCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCWlmICh0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCJnaHNyLWF2YXRhci1zb3J0IikpIHsKCQkJCS8vIFVzaW5nIGF2YXRhciBzb3J0IGJ1dHRvbjsgcmV0YXJnZXQgYnV0dG9uCgkJCQl0YXJnZXQgPSAkKGAuZ2hzci1zb3J0LWJ1dHRvbltkYXRhLXNvcnQ9IiR7Y3VycmVudFNvcnQudHlwZX0iXWApOwoJCQkJY3VycmVudFNvcnQuZWwgPSB0YXJnZXQ7CgkJCX0KCQkJJCQoIi5naHNyLXNvcnQtYnV0dG9uIikuZm9yRWFjaChlbCA9PiB7CgkJCQllbC5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIsIGVsID09PSB0YXJnZXQpOwoJCQkJZWwuY2xhc3NMaXN0LnJlbW92ZSgiYXNjIiwgImRlc2MiKTsKCQkJfSk7CgkJCWlmIChjdXJyZW50U29ydC5lbCA9PT0gdGFyZ2V0KSB7CgkJCQljdXJyZW50U29ydC5kaXIgPSAoY3VycmVudFNvcnQuZGlyICsgMSkgJSAzOwoJCQl9IGVsc2UgewoJCQkJY3VycmVudFNvcnQuZWwgPSB0YXJnZXQ7CgkJCQljdXJyZW50U29ydC5kaXIgPSAxOwoJCQl9CgkJCWlmIChjdXJyZW50U29ydC5kaXIgIT09IDApIHsKCQkJCWRpcmVjdGlvbiA9IGN1cnJlbnRTb3J0LmRpciA9PT0gMSA/ICJkZXNjIiA6ICJhc2MiOwoJCQkJY3VycmVudFNvcnQuZWwuY2xhc3NMaXN0LmFkZChkaXJlY3Rpb24pOwoJCQkJJCgiLmdoc3ItYXZhdGFyLXNvcnQiKS5jbGFzc0xpc3QuYWRkKGRpcmVjdGlvbik7CgkJCX0KCQkJc29ydCgpOwoJCX0gZWxzZSBpZiAodGFyZ2V0Lm1hdGNoZXMoIi5naHNyLXNvcnQtYXZhdGFyLCAuZ2hzci1pY29uLXdyYXAiKSkgewoJCQkkKCIuZ2hzci1zb3J0LWJsb2NrIikuY2xhc3NMaXN0LnRvZ2dsZSgiZ2hzci1pcy1jb2xsYXBzZWQiKTsKCQl9Cgl9CgoJZnVuY3Rpb24gdG9nZ2xlU29ydEJsb2NrKHNob3cpIHsKCQljb25zdCBibG9jayA9ICQoIi5naHNyLXNvcnQtYmxvY2siKTsKCQlpZiAoYmxvY2spIHsKCQkJYmxvY2suc3R5bGUuZGlzcGxheSA9IHNob3cgPyAiYmxvY2siIDogIm5vbmUiOwoJCX0gZWxzZSBpZiAoc2hvdykgewoJCQlhZGRTb3J0QmxvY2soKTsKCQl9Cgl9CgoJZnVuY3Rpb24gYWRkU29ydEJsb2NrKCkgewoJCWN1cnJlbnRTb3J0LmJ1c3kgPSB0cnVlOwoJCWNvbnN0IGZpcnN0ID0gJCgiLlRpbWVsaW5lSXRlbSIpOwoJCWlmIChmaXJzdCkgewoJCQlmaXJzdC5jbGFzc0xpc3QuYWRkKCJnaHNyLXNraXAtc29ydCIpOwoJCQlmaXJzdC5pbnNlcnRBZGphY2VudEhUTUwoImFmdGVyRW5kIiwgc29ydEJsb2NrKTsKCQl9CgkJY3VycmVudFNvcnQuYnVzeSA9IGZhbHNlOwoJfQoKCWZ1bmN0aW9uIGluaXQoKSB7CgkJaWYgKCFjdXJyZW50U29ydC5pbml0KSB7CgkJCUdNX2FkZFN0eWxlKGAKCQkJCS5naHNyLXNvcnQtYmxvY2sgLmNvbW1lbnQtYm9keSB7IHBhZGRpbmc6IDAgMTBweDsgfQoJCQkJLmdoc3Itc29ydC1ibG9jayAudGltZWxpbmUtY29tbWVudC1oZWFkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KCQkJCS5naHNyLXNvcnQtYmxvY2sgLmVtb2ppIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfQoJCQkJLmdoc3Itc29ydC1ibG9jayAuYnRuLmFzYyAuZW1vamk6YWZ0ZXIgeyBjb250ZW50OiAi4payIjsgfQoJCQkJLmdoc3Itc29ydC1ibG9jayAuYnRuLmRlc2MgLmVtb2ppOmFmdGVyIHsgY29udGVudDogIuKWvCI7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyLCAuZ2hzci1pY29uLXdyYXAgeyBoZWlnaHQ6IDQ4cHg7IHdpZHRoOiA0NHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIHsgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEyOCwgMTI4LCAwLjIpOyBib3JkZXI6ICM3NzcgMXB4IHNvbGlkOyB9CgkJCQkuZ2hzci1zb3J0LWF2YXRhciAuZW1vamkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogLTM2cHg7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIHN2ZyB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9CgkJCQkuZ2hzci1zb3J0LWF2YXRhci5naHNyLW5vLXNlbGVjdGlvbiB7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMCA0cHggMCAwOyB9CgkJCQkuZ2hzci1zb3J0LWF2YXRhci5naHNyLW5vLXNlbGVjdGlvbiAuZW1vamksCgkJCQkuZ2hzci1zb3J0LWF2YXRhci5naHNyLW5vLXNlbGVjdGlvbiAuYnRuLAoJCQkJLmdoc3Itc29ydC1hdmF0YXI6bm90KC5naHNyLW5vLXNlbGVjdGlvbikgc3ZnLmdoc3Itc29ydC1pY29uIHsgZGlzcGxheTogbm9uZTsgfQoJCQkJLmdoc3Itc29ydC1hdmF0YXIgLmJ0biB7IGJvcmRlci1yYWRpdXM6IDIwcHg7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAtNXB4OyByaWdodDogLTVweDsgfQoJCQkJLmdoc3Itc29ydC1hdmF0YXIgLmJ0biBzcGFuIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1cHg7IHRvcDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIC5idG4uYXNjIHNwYW4geyB0b3A6IC0zcHg7IH0KCQkJCS5naHNyLXNvcnQtYXZhdGFyIC5idG4gc3BhbiBzdmcgeyBoZWlnaHQ6IDEwcHg7IHdpZHRoOiAxMHB4OyB2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7IH0KCQkJCS5naHNyLXNvcnQtYmxvY2suZ2hzci1pcy1jb2xsYXBzZWQgaDMsCgkJCQkuZ2hzci1zb3J0LWJsb2NrLmdoc3ItaXMtY29sbGFwc2VkIC50aW1lbGluZS1jb21tZW50OmJlZm9yZSwKCQkJCS5naHNyLXNvcnQtYmxvY2suZ2hzci1pcy1jb2xsYXBzZWQgLnRpbWVsaW5lLWNvbW1lbnQ6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9CgkJCQkuZ2hzci1zb3J0LWJsb2NrLmdoc3ItaXMtY29sbGFwc2VkIC50aW1lbGluZS1jb21tZW50IHsgbWFyZ2luOiAxMHB4IDA7IH0KCQkJCS5naHNyLXNvcnQtYmxvY2suZ2hzci1pcy1jb2xsYXBzZWQgLlRpbWVsaW5lSXRlbS1hdmF0YXIgeyB0b3A6IDZweDsgfQoJCQlgKTsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZ2htbzpjb250YWluZXIiLCB1cGRhdGUpOwoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJnaG1vOmNvbW1lbnRzIiwgdXBkYXRlKTsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBpbml0U29ydCk7CgkJCWN1cnJlbnRTb3J0LmluaXQgPSB0cnVlOwoJCQl1cGRhdGUoKTsKCQkJLy8gIk5PTkUiIGNhbiBvbmx5IGJlIHNlZW4gb24gdXNlcnNjcmlwdCBpbml0L2ZhY3RvcnkgcmVzZXQKCQkJaWYgKCQoIi5naHNyLXNvcnQtYmxvY2siKSAmJiBjdXJyZW50U29ydC50eXBlICE9PSAiTk9ORSIpIHsKCQkJCXVwZGF0ZUF2YXRhcigpOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uICQoc2VsZWN0b3IsIGVsKSB7CgkJcmV0dXJuIChlbCB8fCBkb2N1bWVudCkucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7Cgl9CgoJZnVuY3Rpb24gJCQoc2VsZWN0b3IsIGVsKSB7CgkJcmV0dXJuIFsuLi4oZWwgfHwgZG9jdW1lbnQpLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpXTsKCX0KCglpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImxvYWRpbmciKSB7CgkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIHVwZGF0ZSwge29uY2U6IHRydWV9KTsKCX0gZWxzZSB7CgkJaW5pdCgpOwoJfQp9KSgpOwo=","requires":[]},{"name":"GitHub Update Fork","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"noframes":null,"run_at":null,"override":{"use_includes":[],"orig_includes":["https://github.com/*"],"merge_includes":true,"use_matches":[],"orig_matches":[],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1636665106109,"data":{}},"enabled":true,"position":16,"file_url":"https://raw.githubusercontent.com/Mottie/GitHub-userscripts/master/github-update-fork.user.js","uuid":"20aad555-b97e-4d4a-bfe5-7853897de54d","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiBVcGRhdGUgRm9yawovLyBAdmVyc2lvbiAgICAgMC4yLjAKLy8gQGRlc2NyaXB0aW9uIEEgdXNlcnNjcmlwdCB0aGF0IGFkZHMgYSBsaW5rIHRvIHVwZGF0ZSB5b3VyIGZvcmsKLy8gQGxpY2Vuc2UgICAgIE1JVAovLyBAYXV0aG9yICAgICAgUm9iIEdhcnJpc29uCi8vIEBuYW1lc3BhY2UgICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllCi8vIEBpbmNsdWRlICAgICBodHRwczovL2dpdGh1Yi5jb20vKgovLyBAcnVuLWF0ICAgICAgZG9jdW1lbnQtaWRsZQovLyBAZ3JhbnQgICAgICAgbm9uZQovLyBAaWNvbiAgICAgICAgaHR0cHM6Ly9naXRodWIuZ2l0aHViYXNzZXRzLmNvbS9waW5uZWQtb2N0b2NhdC5zdmcKLy8gQHVwZGF0ZVVSTCAgIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9Nb3R0aWUvR2l0SHViLXVzZXJzY3JpcHRzL21hc3Rlci9naXRodWItdXBkYXRlLWZvcmsudXNlci5qcwovLyBAZG93bmxvYWRVUkwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL01vdHRpZS9HaXRIdWItdXNlcnNjcmlwdHMvbWFzdGVyL2dpdGh1Yi11cGRhdGUtZm9yay51c2VyLmpzCi8vIEBzdXBwb3J0VVJMICBodHRwczovL2dpdGh1Yi5jb20vTW90dGllL0dpdEh1Yi11c2Vyc2NyaXB0cy9pc3N1ZXMKLy8gPT0vVXNlclNjcmlwdD09CigoKSA9PiB7CgkidXNlIHN0cmljdCI7CgoJZnVuY3Rpb24gZ2V0VXBzdHJlYW1CcmFuY2goY29tcGFyZUxpbmssIGluZm8pIHsKCQkvLyBMb29rIGZvciAiY29tbWl0IGJlaGluZCIgb3IgImNvbW1pdHMgYmVoaW5kIgoJCWlmIChjb21wYXJlTGluayAmJiBpbmZvICYmIC9jb21taXRzP1xzYmVoaW5kLy50ZXN0KGluZm8udGV4dENvbnRlbnQpKSB7CgkJCS8vIGZvcmtlZCBmcm9tIGxpbmsgdGV4dCAiOnVzZXIvOnJlcG8iCgkJCWNvbnN0IHJlZ2V4cCA9IC9iZWhpbmRccyooLis6Wy1cdy5dKykvOwoJCQkvLyBUaGUgbWF0Y2ggd2lsbCBpbmNsdWRlIHRoZSBzZW50ZW5jZSBwZXJpb2QgYmVjYXVzZSBicmFuY2ggbmFtZXMgbWF5CgkJCS8vIGluY2x1ZGUgYSB2ZXJzaW9uIG51bWJlciwgZS5nLiAidXNlcjpteS1icmFuY2gtdjEuMCIKCQkJY29uc3QgYnJhbmNoID0gKGluZm8udGV4dENvbnRlbnQubWF0Y2gocmVnZXhwKSB8fCBbXSlbMV07CgkJCXJldHVybiBicmFuY2gKCQkJCT8gYnJhbmNoLnN1YnN0cmluZygwLCBicmFuY2gubGVuZ3RoIC0gMSkKCQkJCTogbnVsbDsKCQl9CgkJcmV0dXJuIG51bGw7Cgl9CgoJZnVuY3Rpb24gZ2V0VXNlckJyYW5jaCgpIHsKCQkvLyBUaGUgYnJhbmNoIHNlbGVjdG9yIG1heSBjb250YWluIGEgdHJ1bmNhdGVkIGJyYW5jaCBuYW1lLCBzbyB1c2UgdGhlIHVybAoJCWNvbnN0IHBhdGggPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CgkJY29uc3QgaW5kZXggPSBwYXRoLmluZGV4T2YoIi90cmVlLyIpOwoJCXJldHVybiBpbmRleCA+IC0xCgkJCT8gcGF0aC5zdWJzdHJpbmcoaW5kZXggKyA2LCBwYXRoLmxlbmd0aCkKCQkJOiAibWFzdGVyIjsKCX0KCglmdW5jdGlvbiBhZGRMaW5rKGNvbXBhcmVMaW5rLCBpbmZvKSB7CgkJY29uc3QgYnJhbmNoID0gZ2V0VXBzdHJlYW1CcmFuY2goY29tcGFyZUxpbmssIGluZm8pOwoJCWlmIChicmFuY2gpIHsKCQkJY29uc3QgdXNlckJyYW5jaCA9IGdldFVzZXJCcmFuY2goKTsKCQkJY29uc3QgcHJMaW5rID0gY29tcGFyZUxpbmsucHJldmlvdXNFbGVtZW50U2libGluZzsKCQkJY29uc3QgbGluayA9IHByTGluay5jbG9uZU5vZGUoKTsKCQkJLy8gaHR0cHM6Ly9naXRodWIuY29tLzxGT1JLPi88UkVQTz4vY29tcGFyZS88QlJBTkNIPi4uLjxTT1VSQ0U+OjxCUkFOQ0g+CgkJCWxpbmsuaHJlZiA9IGAke2NvbXBhcmVMaW5rLmhyZWZ9LyR7dXNlckJyYW5jaH0uLi4ke2JyYW5jaH1gOwoJCQlsaW5rLmNsYXNzTGlzdC5hZGQoImdodWYtdXBkYXRlLWxpbmsiKTsKCQkJbGluay5hcHBlbmRDaGlsZCgkKCJzdmciLCBwckxpbmspLmNsb25lTm9kZSh0cnVlKSk7CgkJCWxpbmsuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBVcGRhdGUgZm9yayIpKTsKCQkJcHJMaW5rLmluc2VydEFkamFjZW50RWxlbWVudCgiYmVmb3JlYmVnaW4iLCBsaW5rKTsKCQl9Cgl9CgoJZnVuY3Rpb24gaW5pdCgpIHsKCQljb25zdCBjb21wYXJlTGluayA9ICQoImFbaHJlZio9J3B1bGwvbmV3J10gKyBhW2hyZWYkPScvY29tcGFyZSddIik7CgkJY29uc3QgaW5mbyA9IGNvbXBhcmVMaW5rPy5jbG9zZXN0KCIuQm94Iik/LmZpcnN0RWxlbWVudENoaWxkOwoJCWlmIChjb21wYXJlTGluayAmJiBpbmZvKSB7CgkJCWFkZExpbmsoY29tcGFyZUxpbmssIGluZm8pOwoJCX0KCX0KCglmdW5jdGlvbiAkKHN0ciwgZWwgPSBkb2N1bWVudCkgewoJCXJldHVybiBlbC5xdWVyeVNlbGVjdG9yKHN0cik7Cgl9CgoJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGpheDplbmQiLCBpbml0KTsKCWluaXQoKTsKCn0pKCk7Cg=="},{"name":"GitHub - Pin Repos to Sidebar","options":{"check_for_updates":false,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"noframes":null,"run_at":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["http*://github.com/*dashboard","http*://github.com/"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null,"orig_connects":[]},"tab_types":null,"compat_powerful_this":null,"user_modified":null},"storage":{"ts":1650393027096,"data":{"pinnedRepos":"s[\"/mistsys/mist_go_utils\",\"/mistsys/mist-ap\",\"/corewa-rs/corewars\",\"/mistsys/mist-agent-go\",\"/128technology/rules_128tech\",\"/mistsys/demoapi\",\"/ian-h-chamberlain/dotfiles\",\"/Meziu/ctru-rs\",\"/Meziu/rust-linker-fix-3ds\",\"/Meziu/rust-horizon\",\"/Meziu/cargo-3ds\",\"/corewa-rs/vscode-redcode\",\"/Juniper-SSN/ssr\",\"/ian-h-chamberlain/docker-rust-devkitarm\"]"}},"enabled":false,"position":17,"file_url":"https://raw.githubusercontent.com/Mottie/Github-userscripts/master/github-title-notification.user.js","uuid":"c8c37d2c-a4d8-4ddd-accd-51cc5f2ea6a4","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgIEdpdEh1YiAtIFBpbiBSZXBvcyB0byBTaWRlYmFyCi8vIEB2ZXJzaW9uICAgICAwLjEuMAovLyBAZGVzY3JpcHRpb24gQSB1c2Vyc2NyaXB0IHRoYXQgYWxsb3dzIHlvdSB0byBwaW4gcmVwb3NpdG9yaWVzIHRvIHRoZSBHaXRIdWIgZGFzaGJvYXJkIHNpZGViYXIKLy8gQGxpY2Vuc2UgICAgIE1JVAovLyBAYXV0aG9yICAgICAgSWFuIENoYW1iZXJsYWluCi8vIEBuYW1lc3BhY2UgICBodHRwczovL2dpdGh1Yi5jb20vaWFuLWgtY2hhbWJlcmxhaW4KLy8gQG1hdGNoICAgICAgIGh0dHAqOi8vZ2l0aHViLmNvbS8qZGFzaGJvYXJkCi8vIEBtYXRjaCAgICAgICBodHRwKjovL2dpdGh1Yi5jb20vCi8vIEBncmFudCAgICAgICBHTV9nZXRWYWx1ZQovLyBAZ3JhbnQgICAgICAgR01fc2V0VmFsdWUKLy8gQGdyYW50ICAgICAgIEdNX2FkZFZhbHVlQ2hhbmdlTGlzdGVuZXIKLy8gQGljb24gICAgICAgIGh0dHBzOi8vZ2l0aHViLmdpdGh1YmFzc2V0cy5jb20vcGlubmVkLW9jdG9jYXQuc3ZnCi8vID09L1VzZXJTY3JpcHQ9PQoKCi8qKgpHZW5lcmFsIFRPRE9TOgogIC0gRE9NIHVwZGF0ZSBhZnRlciBjbGlja2luZyAidW5waW4iCiAgLSB1cGRhdGUgRE9NIGFmdGVyIHVzZXIgY2xpY2tzICJTaG93IG1vcmUiLCBvciB0eXBlcyBpbiBmaWx0ZXIgYm94ICh0byBnZXQgcGluIGJ1dHRvbikKICAtIGdlbmVyYWwgZWZmaWNpZW5jeSwgcHJvYmFibHkgZG9pbmcgd2F5IG1vcmUgZmV0Y2hlcyB0aGFuIG5lZWRlZC4gTWF5YmUgc29tZSBraW5kIG9mIGNhY2hlCiAgLSBmaW5hbGl6ZSA9VXNlclNjcmlwdD0gaGVhZGVyIGFzIG5lZWRlZCwgVVJMcyBldGMuCiovCgooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CgogICAgY29uc3QgbG9jYWxTdG9yYWdlS2V5ID0gJ3Bpbm5lZFJlcG9zJzsKICAgIGNvbnN0IHJlcG9TZWxlY3RvcnMgPSBbJ2xpLnNvdXJjZScsICdsaS5mb3JrJ107CgogICAgZnVuY3Rpb24gbG9nKC4uLmFyZ3MpIHsKICAgICAgICBjb25zdCBkZWJ1Z0xvZ3MgPSBmYWxzZTsKCiAgICAgICAgaWYgKGRlYnVnTG9ncykgewogICAgICAgICAgICBjb25zb2xlLmxvZyguLi5hcmdzKTsKICAgICAgICB9CiAgICB9CgogICAgbGV0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTsKCiAgICBhc3luYyBmdW5jdGlvbiBnZXRCb29rbWFya0ljb24oZmlsbGVkKSB7CiAgICAgICAgbGV0IGZpbGxlZEJvb2ttYXJrID0gbnVsbDsKICAgICAgICBsZXQgdW5maWxsZWRCb29rbWFyayA9IG51bGw7CgogICAgICAgIGFzeW5jIGZ1bmN0aW9uIGZldGNoSWNvbih1cmwsIGZpbGxlZCkgewogICAgICAgICAgICBjb25zdCBtaW1lVHlwZSA9ICdpbWFnZS9zdmcreG1sJzsKCiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7CiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLAogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAgICdBY2NlcHQnOiBtaW1lVHlwZSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykgewogICAgICAgICAgICAgICAgY29uc29sZS53YXJuaW5nKCdVbmFibGUgdG8gbG9hZCBib29rbWFyayBpY29uJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgIGxldCBkb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHRleHQsIG1pbWVUeXBlKTsKICAgICAgICAgICAgaWYgKGRvYyA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm5pbmcoJ1VuYWJsZSB0byBwYXJzZSBib29rbWFyayBpY29uJyk7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IGVsZW0gPSBkb2MuZmlyc3RDaGlsZDsKCiAgICAgICAgICAgIGVsZW0uc2V0QXR0cmlidXRlKCd3aWR0aCcsIDE2KTsKICAgICAgICAgICAgZWxlbS5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIDE2KTsKICAgICAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKCdvY3RpY29uJyk7CiAgICAgICAgICAgIGVsZW0uY2xhc3NMaXN0LmFkZChmaWxsZWQgPyAnb2N0aWNvbi1ib29rbWFyay1maWxsJyA6ICdvY3RpY29uLWJvb2ttYXJrJyk7CiAgICAgICAgICAgIGVsZW0uY2xhc3NMaXN0LmFkZChmaWxsZWQgPyAnanMtYm9va21hcmstZmlsbGVkJyA6ICdqcy1ib29rbWFyaycpOwoKICAgICAgICAgICAgcmV0dXJuIGVsZW07CiAgICAgICAgfQoKICAgICAgICBpZiAoZmlsbGVkKSB7CiAgICAgICAgICAgIGlmIChmaWxsZWRCb29rbWFyayA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICBmaWxsZWRCb29rbWFyayA9IGF3YWl0IGZldGNoSWNvbignaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3ByaW1lci9vY3RpY29ucy9tYWluL2ljb25zL2Jvb2ttYXJrLWZpbGwtMjQuc3ZnJywgdHJ1ZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGZpbGxlZEJvb2ttYXJrLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAodW5maWxsZWRCb29rbWFyayA9PSBudWxsKSB7CiAgICAgICAgICAgICAgICB1bmZpbGxlZEJvb2ttYXJrID0gYXdhaXQgZmV0Y2hJY29uKCdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHJpbWVyL29jdGljb25zL21haW4vaWNvbnMvYm9va21hcmstMjQuc3ZnJywgZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB1bmZpbGxlZEJvb2ttYXJrLmNsb25lTm9kZSh0cnVlKTsKICAgICAgICB9CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gdXBkYXRlKCkgewogICAgICAgIGNvbnN0IGNvbnRleHRQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5TZWxlY3RNZW51JykuYXR0cmlidXRlcy5zcmMudmFsdWUpOwogICAgICAgIGNvbnN0IHJlcG9Db250ZXh0ID0gY29udGV4dFBhcmFtcy5nZXQoJy9kYXNoYm9hcmQvYWpheF9jb250ZXh0X2xpc3Q/Y3VycmVudF9jb250ZXh0Jyk7CgogICAgICAgIGxvZyhgQ3VycmVudCBkYXNoYm9hcmQgcmVwbyBjb250ZXh0OiAiJHtyZXBvQ29udGV4dH0iYCk7CgogICAgICAgIGNvbnN0IHJlcG9FbGVtU2VsZWN0b3IgPSByZXBvU2VsZWN0b3JzLm1hcChzID0+IGAke3N9IGFgKS5qb2luKCcsJyk7CgogICAgICAgIC8vIFRPRE86IHNob3VsZCB0aGlzIGJlIGluIGFuIGluaXQgZnVuY3Rpb24gaW5zdGVhZCBvZiBoZXJlPwogICAgICAgIGxldCBsb2FkZWRSZXBvRWxlbXMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocmVwb0VsZW1TZWxlY3RvcikpOwoKICAgICAgICBhd2FpdCB1cGRhdGVSZXBvRE9NKGxvYWRlZFJlcG9FbGVtcyk7CgogICAgICAgIC8vIGZpbmQgYW5kIGZldGNoIHRoZSAiU2hvdyBtb3JlIiByZXBvcyBiYXNlZCBvbiB0aGUgY29udGV4dAogICAgICAgIGxldCBmZXRjaFVybCA9IG51bGw7CiAgICAgICAgbGV0IHNob3dNb3JlU2VsZWN0b3IgPSAnLmpzLW1vcmUtcmVwb3MtZm9ybSA+IGlucHV0W25hbWU9InlvdXJfcmVwb3NfY3Vyc29yIl0nOwoKICAgICAgICBsZXQgcmVwb3NDdXJzb3IgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNob3dNb3JlU2VsZWN0b3IpOwogICAgICAgIGlmIChyZXBvc0N1cnNvciA9PSBudWxsKSB7CiAgICAgICAgICAgIHNob3dNb3JlU2VsZWN0b3IgPSAnLmpzLW1vcmUtcmVwb3MtZm9ybSA+IGlucHV0W25hbWU9InJlcG9zX2N1cnNvciJdJzsKCiAgICAgICAgICAgIHJlcG9zQ3Vyc29yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzaG93TW9yZVNlbGVjdG9yKTsKICAgICAgICAgICAgaWYgKHJlcG9zQ3Vyc29yICE9IG51bGwpIHsKICAgICAgICAgICAgICAgIC8vIFdlJ3JlIGluIHVzZXIgY29udGV4dCBhbmQgbmVlZCB0byBsb2FkIG1vcmUgcmVwb3MKICAgICAgICAgICAgICAgIGZldGNoVXJsID0gYC9kYXNoYm9hcmQvYWpheF9yZXBvc2l0b3JpZXM/bG9jYXRpb249Y2VudGVyJmJ1dHRvbj0mcmVwb3NfY3Vyc29yPWA7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyBJbiBvcmcgY29udGV4dCwgbG9hZCBtb3JlIHJlcG9zCiAgICAgICAgICAgIGZldGNoVXJsID0gYC9vcmdhbml6YXRpb25zLyR7cmVwb0NvbnRleHR9L2FqYXhfeW91cl9yZXBvcz9pbnB1dF9pZD1vcmctcmVwb3MtZmlsdGVyLXNtJmJ1dHRvbj0meW91cl9yZXBvc19jdXJzb3I9YDsKICAgICAgICB9CgogICAgICAgIGxldCBwaW5uZWRSZXBvSHJlZnMgPSBnZXRQaW5uZWRSZXBvcygpOwoKICAgICAgICAvLyBUT0RPIG1heWJlIGRvIHNvbWUgY2FjaGluZyBvZiB0aGUgcmVzcG9uc2VzLCBidXQgaWRrIGhvdyB3b3J0aCBpdCB0aGF0IGlzLgogICAgICAgIHdoaWxlIChyZXBvc0N1cnNvciAhPSBudWxsKSB7CiAgICAgICAgICAgIGNvbnN0IGN1cnNvclZhbHVlID0gcmVwb3NDdXJzb3IuYXR0cmlidXRlcy52YWx1ZS52YWx1ZTsKCiAgICAgICAgICAgIGxvZyhgRmV0Y2hpbmcgJHtmZXRjaFVybCtjdXJzb3JWYWx1ZX1gKTsKCiAgICAgICAgICAgIGNvbnN0IG1pbWVUeXBlID0gJ3RleHQvaHRtbCc7CiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB7CiAgICAgICAgICAgICAgICBtZXRob2Q6ICJHRVQiLAogICAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICJpbmNsdWRlIiwKICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgICAgICAgICAiQWNjZXB0IjogbWltZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgIngtcmVxdWVzdGVkLXdpdGgiOiAiWE1MSHR0cFJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgICJTZWMtRmV0Y2gtRGVzdCI6ICJlbXB0eSIsCiAgICAgICAgICAgICAgICAgICAgIlNlYy1GZXRjaC1Nb2RlIjogImNvcnMiLAogICAgICAgICAgICAgICAgICAgICJTZWMtRmV0Y2gtU2l0ZSI6ICJzYW1lLW9yaWdpbiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZWZlcnJlcjogZG9jdW1lbnQuVVJMLAogICAgICAgICAgICAgICAgbW9kZTogImNvcnMiCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBjb25zdCBuZXh0UmVwb1Jlc3BvbnNlID0gYXdhaXQgZmV0Y2goZmV0Y2hVcmwgKyBjdXJzb3JWYWx1ZSwgcmVxdWVzdFBhcmFtcyk7CgogICAgICAgICAgICBpZiAoIW5leHRSZXBvUmVzcG9uc2Uub2spIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybmluZygiVW5hYmxlIHRvIGxvYWQgYWxsIHJlcG9zIGZvciB0aGUgY3VycmVudCBkYXNoYm9hcmQiKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxldCB0ZXh0ID0gYXdhaXQgbmV4dFJlcG9SZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgIGxldCBuZXh0UmVwb3NEb2MgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5nKHRleHQsIG1pbWVUeXBlKTsKCiAgICAgICAgICAgIGF3YWl0IHVwZGF0ZVJlcG9ET00oQXJyYXkuZnJvbShuZXh0UmVwb3NEb2MucXVlcnlTZWxlY3RvckFsbChyZXBvRWxlbVNlbGVjdG9yKSkpOwoKICAgICAgICAgICAgcmVwb3NDdXJzb3IgPSBuZXh0UmVwb3NEb2MucXVlcnlTZWxlY3RvcihzaG93TW9yZVNlbGVjdG9yKTsKICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gZ2V0UGlubmVkUmVwb3MoKSB7CiAgICAgICAgY29uc3QgcmVwb3MgPSBKU09OLnBhcnNlKEdNX2dldFZhbHVlKGxvY2FsU3RvcmFnZUtleSwgJ1tdJykpOwogICAgICAgIGxvZyhgUGlubmVkIHJlcG9zIGZyb20gc3RvcmFnZTogJHtyZXBvc31gKTsKICAgICAgICByZXR1cm4gcmVwb3M7CiAgICB9CgogICAgLyoqCiAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgbGl2ZSBgdWxgIGVsZW1lbnRzIHdoZXJlIHBpbm5lZCByZXBvcyBzaG91bGQgYmUgaW5zZXJ0ZWQKICAgICAqLwogICAgZnVuY3Rpb24gZmluZE9yQ3JlYXRlUGlubmVkUmVwb0xpc3RzKCkgewogICAgICAgIGxldCBwaW5uZWRSZXBvTGlzdEVsZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnanMtcGlubmVkLXJlcG9zJyk7CgogICAgICAgIGlmIChwaW5uZWRSZXBvTGlzdEVsZW1zLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgICAgIGxldCBwaW5uZWRSZXBvTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3VsJyk7CgogICAgICAgICAgICAvLyBmb3IgZGVidWdnaW5nIGFuZCBmaW5kaW5nIHRvIGFkZCByZXBvcyB0byBpdCBsYXRlcjoKICAgICAgICAgICAgcGlubmVkUmVwb0xpc3QuY2xhc3NMaXN0LmFkZCgnanMtcGlubmVkLXJlcG9zJyk7CgogICAgICAgICAgICAvLyBGb3Igc3R5bGUgbWF0Y2hpbmcgd2l0aCBvdGhlciB1bCBmb3IgcmVwb3M6CiAgICAgICAgICAgIHBpbm5lZFJlcG9MaXN0LmNsYXNzTGlzdC5hZGQoJ2xpc3Qtc3R5bGUtbm9uZScpOwogICAgICAgICAgICBwaW5uZWRSZXBvTGlzdC5jbGFzc0xpc3QuYWRkKCdtdC1tZC0zJyk7CiAgICAgICAgICAgIHBpbm5lZFJlcG9MaXN0LmNsYXNzTGlzdC5hZGQoJ21iLW1kLTMnKTsKCiAgICAgICAgICAgIGZvciAobGV0IHJlcG9zRmlsdGVyIG9mIFsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkYXNoYm9hcmQtcmVwb3MtZmlsdGVyLWxlZnQnKSwKICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvcmctcmVwb3MtZmlsdGVyLXNtJyksCiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3JnLXJlcG9zLWZpbHRlci14bCcpLAogICAgICAgICAgICBdKSB7CiAgICAgICAgICAgICAgICBpZiAocmVwb3NGaWx0ZXIgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIHJlcG9zRmlsdGVyLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHBpbm5lZFJlcG9MaXN0LmNsb25lTm9kZSh0cnVlKSwgcmVwb3NGaWx0ZXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnanMtcGlubmVkLXJlcG9zJyk7CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gdXBkYXRlUmVwb0RPTShuZXdSZXBvRWxlbWVudHMpIHsKICAgICAgICBsZXQgcGlubmVkUmVwb0hyZWZzID0gZ2V0UGlubmVkUmVwb3MoKTsKCiAgICAgICAgbGV0IHBpbm5lZFJlcG9MaXN0cyA9IGZpbmRPckNyZWF0ZVBpbm5lZFJlcG9MaXN0cygpOwoKICAgICAgICBmb3IgKGNvbnN0IHJlcG9FbGVtIG9mIG5ld1JlcG9FbGVtZW50cykgewogICAgICAgICAgICBsZXQgcGFyZW50ID0gcmVwb0VsZW0ucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgbGV0IGNoaWxkRGl2ID0gbnVsbDsKCiAgICAgICAgICAgIHdoaWxlIChwYXJlbnQgIT0gbnVsbCAmJiBwYXJlbnQudGFnTmFtZSAhPT0gJ0xJJykgewogICAgICAgICAgICAgICAgY2hpbGREaXYgPSBwYXJlbnQ7CiAgICAgICAgICAgICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY29uc3QgaHJlZiA9IHJlcG9FbGVtLmF0dHJpYnV0ZXMuaHJlZi52YWx1ZTsKCiAgICAgICAgICAgIGlmIChwYXJlbnQgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgY29uc3QgaXNQaW5uZWQgPSBwaW5uZWRSZXBvSHJlZnMuaW5jbHVkZXMoaHJlZik7CgogICAgICAgICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCcgYnV0dG9uLmpzLXJlcG8tcGluJykgPT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIGxldCBwaW5CdXR0b24gPSBhd2FpdCBidWlsZFBpbkJ1dHRvbihpc1Bpbm5lZCk7CgogICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZERpdiAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkRGl2LmFwcGVuZENoaWxkKHBpbkJ1dHRvbik7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHBpbkJ1dHRvbik7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudC5jbGFzc0xpc3QuYWRkKCdkLWZsZXgnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKGlzUGlubmVkKSB7CiAgICAgICAgICAgICAgICAgICAgbG9nKGBQaW5uaW5nIHJlcG8gJyR7aHJlZn0nYCk7CiAgICAgICAgICAgICAgICAgICAgLy8gVGFrZSBpdCBvdXQgb2YgdGhlICJ1bnBpbm5lZCIgbGlzdAogICAgICAgICAgICAgICAgICAgIHBhcmVudC5yZW1vdmUoKTsKCiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgcmVwb0xpc3Qgb2YgcGlubmVkUmVwb0xpc3RzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXBvTGlzdC5xdWVyeVNlbGVjdG9yKGBsaSBhW2hyZWY9JyR7aHJlZn0nXWApID09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9MaXN0LmFwcGVuZENoaWxkKHBhcmVudC5jbG9uZU5vZGUodHJ1ZSkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBQcm9iYWJseSBhbHNvIG5lZWQgdG8gcmVtb3ZlKCkgaGVyZSBpZiBpdCdzIGluIHRoZSBwaW4gbGlzdAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmb3IgKGxldCBlbGVtIG9mIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbi5qcy1yZXBvLXBpbicpKSB7CiAgICAgICAgICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVQaW5DbGljayk7CiAgICAgICAgfQogICAgfQoKICAgIGFzeW5jIGZ1bmN0aW9uIGJ1aWxkUGluQnV0dG9uKHBpbm5lZCkgewogICAgICAgIGxldCB1bnBpbkxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICAgICAgICB1bnBpbkxpbmsuY2xhc3NMaXN0LmFkZCgnanMtcmVwby1waW4nKTsKICAgICAgICB1bnBpbkxpbmsuY2xhc3NMaXN0LmFkZCgnY29sb3ItZmctZGVmYXVsdCcpOwogICAgICAgIHVucGluTGluay5jbGFzc0xpc3QuYWRkKCdidG4tbGluaycpOwogICAgICAgIHVucGluTGluay5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ21hcmdpbi1sZWZ0OiBhdXRvOycpOwoKICAgICAgICBsZXQgcGlubmVkSWNvbiA9IGF3YWl0IGdldEJvb2ttYXJrSWNvbih0cnVlKTsKICAgICAgICBsZXQgdW5waW5uZWRJY29uID0gYXdhaXQgZ2V0Qm9va21hcmtJY29uKGZhbHNlKTsKCiAgICAgICAgaWYgKHBpbm5lZCkgewogICAgICAgICAgICB1bnBpbkxpbmsuY2xhc3NMaXN0LmFkZCgnanMtcGlubmVkLXJlcG8nKTsKICAgICAgICAgICAgdW5waW5uZWRJY29uLnNldEF0dHJpYnV0ZSgnaGlkZGVuJywgJycpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHVucGluTGluay5jbGFzc0xpc3QuYWRkKCdqcy11bnBpbm5lZC1yZXBvJyk7CiAgICAgICAgICAgIHBpbm5lZEljb24uc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAnJyk7CiAgICAgICAgfQoKICAgICAgICB1bnBpbkxpbmsuYXBwZW5kQ2hpbGQocGlubmVkSWNvbik7CiAgICAgICAgdW5waW5MaW5rLmFwcGVuZENoaWxkKHVucGlubmVkSWNvbik7CgogICAgICAgIHJldHVybiB1bnBpbkxpbms7CiAgICB9CgogICAgYXN5bmMgZnVuY3Rpb24gaGFuZGxlUGluQ2xpY2soZXZlbnQpIHsKICAgICAgICBsZXQgZWxlbSA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7CgogICAgICAgIGxldCByZXBvID0gZWxlbS5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3IoJ2EnKTsKICAgICAgICBpZiAocmVwbyA9PSBudWxsKSB7CiAgICAgICAgICAgIGxvZygnRmFpbGVkIHRvIGZpbmQgcmVwbyBmb3IgY2xpY2tlZCBidXR0b24nKQogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgbG9nKGBQaW4gbGluayBjbGlja2VkOiAke3JlcG8uYXR0cmlidXRlcy5ocmVmLnZhbHVlfWApOwogICAgICAgIH0KCiAgICAgICAgbGV0IHBpbm5lZEljb24gPSBlbGVtLnF1ZXJ5U2VsZWN0b3IoJ3N2Zy5qcy1ib29rbWFyay1maWxsZWQnKTsKICAgICAgICBsZXQgdW5waW5uZWRJY29uID0gZWxlbS5xdWVyeVNlbGVjdG9yKCdzdmcuanMtYm9va21hcmsnKTsKCiAgICAgICAgY29uc3Qgd2FzVW5waW5uZWQgPSBlbGVtLmNsYXNzTGlzdC5yZXBsYWNlKCdqcy11bnBpbm5lZC1yZXBvJywgJ2pzLXBpbm5lZC1yZXBvJyk7CgogICAgICAgIGlmICh3YXNVbnBpbm5lZCkgewogICAgICAgICAgICB1bnBpbm5lZEljb24uc2V0QXR0cmlidXRlKCdoaWRkZW4nLCAnJyk7CiAgICAgICAgICAgIHBpbm5lZEljb24ucmVtb3ZlQXR0cmlidXRlKCdoaWRkZW4nKTsKCiAgICAgICAgICAgIGF3YWl0IGhhbmRsZVBpblJlcG8ocmVwbyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZWxlbS5jbGFzc0xpc3QucmVwbGFjZSgnanMtcGlubmVkLXJlcG8nLCAnanMtdW5waW5uZWQtcmVwbycpOwoKICAgICAgICAgICAgcGlubmVkSWNvbi5zZXRBdHRyaWJ1dGUoJ2hpZGRlbicsICcnKTsKICAgICAgICAgICAgdW5waW5uZWRJY29uLnJlbW92ZUF0dHJpYnV0ZSgnaGlkZGVuJyk7CgogICAgICAgICAgICBhd2FpdCBoYW5kbGVVbnBpblJlcG8ocmVwbyk7CiAgICAgICAgfQoKICAgICAgICBhd2FpdCB1cGRhdGUoKTsKICAgIH0KCiAgICBhc3luYyBmdW5jdGlvbiBoYW5kbGVQaW5SZXBvKHJlcG8pIHsKICAgICAgICBjb25zdCBocmVmID0gcmVwby5hdHRyaWJ1dGVzLmhyZWYudmFsdWU7CgogICAgICAgIGxldCBwaW5uZWRSZXBvcyA9IGdldFBpbm5lZFJlcG9zKCk7CgogICAgICAgIGlmICghcGlubmVkUmVwb3MuaW5jbHVkZXMoaHJlZikpIHsKICAgICAgICAgICAgcGlubmVkUmVwb3MucHVzaChocmVmKTsKICAgICAgICAgICAgR01fc2V0VmFsdWUobG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShwaW5uZWRSZXBvcykpOwogICAgICAgIH0KICAgIH0KCiAgICBhc3luYyBmdW5jdGlvbiBoYW5kbGVVbnBpblJlcG8ocmVwbykgewogICAgICAgIGNvbnN0IHJlcG9IcmVmID0gcmVwby5hdHRyaWJ1dGVzLmhyZWYudmFsdWU7CiAgICAgICAgbGV0IHBpbm5lZFJlcG9zID0gZ2V0UGlubmVkUmVwb3MoKS5maWx0ZXIoaHJlZiA9PiBocmVmICE9PSByZXBvSHJlZik7CiAgICAgICAgR01fc2V0VmFsdWUobG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShwaW5uZWRSZXBvcykpOwogICAgfQoKICAgIGZ1bmN0aW9uIHdhaXRGb3JFbGVtZW50KHNlbGVjdG9yLCBjYWxsYmFjaykgewogICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSkgewogICAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGxvZyhgRWxlbWVudCAnJHtzZWxlY3Rvcn0nIG5vdCBmb3VuZCwgd2FpdGluZyAzMDBtc2ApOwoKICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICB3YWl0Rm9yRWxlbWVudChzZWxlY3RvciwgY2FsbGJhY2spOwogICAgICAgICAgICB9LCAzMDApOwogICAgICAgIH0KICAgIH0KCiAgICAvLyBXYWl0IGZvciB0aGUgcmVwb3MgdG8gYmUgcG9wdWxhdGVkIGluIHRoZSBzaWRlYmFyIGJlZm9yZSB0cnlpbmcgdG8gdXBkYXRlIHRoZSBET00KICAgIHdhaXRGb3JFbGVtZW50KHJlcG9TZWxlY3RvcnMuam9pbignLCcpLCB1cGRhdGUpOwoKICAgIEdNX2FkZFZhbHVlQ2hhbmdlTGlzdGVuZXIobG9jYWxTdG9yYWdlS2V5LCBhc3luYyAobmFtZSwgb2xkX3ZhbHVlLCBuZXdfdmFsdWUsIHJlbW90ZSkgPT4gYXdhaXQgdXBkYXRlKCkpOwp9KSgpOw=="},{"name":"Openstack Firefox Console Fixer","options":{"check_for_updates":false,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_prototypes":false,"compat_powerful_this":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://spaceport.lab.128technology.com:6082/spice_auto.html*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"user_modified":null},"storage":{"ts":1656605726968,"data":{}},"enabled":true,"position":18,"uuid":"ed158b6e-8995-48a5-8a2a-2e63f4546680","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBPcGVuc3RhY2sgRmlyZWZveCBDb25zb2xlIEZpeGVyCi8vIEBuYW1lc3BhY2UgICAgaHR0cHM6Ly9naXRodWIuY29tL2lhbi1oLWNoYW1iZXJsYWluCi8vIEB2ZXJzaW9uICAgICAgMC4xCi8vIEBkZXNjcmlwdGlvbiAgRml4IGEgaG9ycmlibGUgb3BlbnN0YWNrIGJ1ZyBieSBpbmplY3Rpbmcgc29tZSBrZXljb2RlcyBmb3IgRmlyZWZveAovLyBAYXV0aG9yICAgICAgIElhbiBDaGFtYmVybGFpbiAoR2l0SHViIEBpYW4taC1jaGFtYmVybGFpbikKLy8gQG1hdGNoICAgICAgICBodHRwczovL3NwYWNlcG9ydC5sYWIuMTI4dGVjaG5vbG9neS5jb206NjA4Mi9zcGljZV9hdXRvLmh0bWwqCi8vIEBpY29uICAgICAgICAgaHR0cHM6Ly9zcGFjZXBvcnQubGFiLjEyOHRlY2hub2xvZ3kuY29tL3N0YXRpYy9kYXNoYm9hcmQvaW1nL2Zhdmljb24uaWNvCi8vIEBncmFudCAgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCihmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBpZiAodHlwZW9mIGZpcmVmb3hfc2Nhbm1hcCAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAvLyBGaXJlZm94IHNlZW1zIHRvIHNlbmQgMjI0IHdoZXRoZXIgdGhlIGxlZnQgb3IgcmlnaHQg4oyYIGtleSBpcyBwcmVzc2VkCiAgICAgICAgLy8gVmFsdWUgZnJvbSBodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvc3BpY2Uvc3BpY2UtaHRtbDUvLS9ibG9iL3NwaWNlLWh0bWw1LTAuMS43L3V0aWxzLmpzI0wyMTAKICAgICAgICBmaXJlZm94X3NjYW5tYXBbMjI0XSA9IDB4RTA1QjsgLy8gS0VZX0xNZXRhCgogICAgICAgIC8vIEVuYWJsZSBudW1sb2NrLCBmb3Igc29tZSByZWFzb24gdGhpcyBkb2Vzbid0IHdvcmsgYnkgZGVmYXVsdC4gTWF5YmUgYmVjYXVzZSBpdCBzZW5kcyBhIEtleV9DTEVBUiBpbnN0ZWFkPwogICAgICAgIGZpcmVmb3hfc2Nhbm1hcFsxMl0gPSBLRVlfTnVtTG9jazsKICAgIH0KfSkoKTs="},{"name":"Outlook Web App Unread Count Favicon","options":{"check_for_updates":false,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://outlook.office365.com/mail/*","https://outlook.office.com/mail/*","https://outlook.live.com/mail/*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"user_modified":null},"storage":{"ts":1689080788011,"data":{}},"enabled":false,"position":19,"file_url":"https://greasyfork.org/scripts/377632-outlook-web-app-unread-count-favicon/code/Outlook%20Web%20App%20Unread%20Count%20Favicon.user.js","uuid":"8a0ace1f-4177-41a0-883e-223e7c4ce248","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBPdXRsb29rIFdlYiBBcHAgVW5yZWFkIENvdW50IEZhdmljb24KLy8gQG5hbWVzcGFjZSAgICBodHRwOi8vbWF0dHN0b3cuY29tCi8vIEB2ZXJzaW9uICAgICAgMC4xCi8vIEBkZXNjcmlwdGlvbiAgQWRkcyBhbiB1bnJlYWQgY291bnQgZmF2aWNvbgovLyBAYXV0aG9yICAgICAgIE1hdHQgU3RvdwovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vb3V0bG9vay5vZmZpY2UzNjUuY29tL21haWwvKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vb3V0bG9vay5vZmZpY2UuY29tL21haWwvKgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vb3V0bG9vay5saXZlLmNvbS9tYWlsLyoKLy8gQGdyYW50ICAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uICgpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBpZiAod2luZG93LnRvcCAhPT0gd2luZG93LnNlbGYpIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGZhdmljb25FbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tyZWw9InNob3J0Y3V0IGljb24iXScpOwoKICAgIGZ1bmN0aW9uIHNldFVucmVhZEljb25PbkxvYWQgKGVsKSB7CiAgICAgICAgdmFyIHVucmVhZEVsID0gZWwucXVlcnlTZWxlY3RvcignLldJWUcxJyk7CiAgICAgICAgdmFyIGNvdW50ID0gdW5yZWFkRWwgPyB1bnJlYWRFbC5wYXJlbnRFbGVtZW50LnRleHRDb250ZW50LnJlcGxhY2UoJ3VucmVhZCcsICcnKSA6ICdPJzsKCiAgICAgICAgZmF2aWNvbkVsLmhyZWYgPSAnaHR0cHM6Ly9kdW1teWltYWdlLmNvbS8zMngzMi8wMDcyYzYvZmZmLnBuZyZ0ZXh0PScgKyBjb3VudDsKICAgIH0KCiAgICBmdW5jdGlvbiBzZXRVcmVhZEljb25PbkNoYW5nZSAoZWwpIHsKICAgICAgICB2YXIgcmVwbGFjZWRVbnJlYWQgPSBlbC50ZXh0Q29udGVudC5yZXBsYWNlKCd1bnJlYWQnLCAnJyk7CiAgICAgICAgdmFyIGNvdW50ID0gcmVwbGFjZWRVbnJlYWQgPyByZXBsYWNlZFVucmVhZCA6ICdPJzsKCiAgICAgICAgZmF2aWNvbkVsLmhyZWYgPSAnaHR0cHM6Ly9kdW1teWltYWdlLmNvbS8zMngzMi8wMDcyYzYvZmZmLnBuZyZ0ZXh0PScgKyBjb3VudDsKICAgIH0KCiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgaW5ib3hFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1t0aXRsZT0iSW5ib3giXScpOwogICAgICAgIHZhciB1bnJlYWRDb25maWcgPSB7IGNoYXJhY3RlckRhdGE6IHRydWUsIGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9OwogICAgICAgIHZhciBmYXZpY29uQ29uZmlnID0geyBhdHRyaWJ1dGVGaWx0ZXI6IFsnaHJlZiddIH07CgogICAgICAgIHZhciB1bnJlYWRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uIChtdXRhdGlvbnMpIHsKICAgICAgICAgICAgc2V0VXJlYWRJY29uT25DaGFuZ2UobXV0YXRpb25zWzBdLnRhcmdldCk7CiAgICAgICAgfSk7CgogICAgICAgIHZhciBmYXZpY29uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7CiAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChtdXRhdGlvbikgewogICAgICAgICAgICAgICAgaWYgKCFtdXRhdGlvbi50YXJnZXQuaHJlZi5pbmNsdWRlcygnZHVtbXlpbWFnZS5jb20nKSkgewogICAgICAgICAgICAgICAgICAgIHNldFVucmVhZEljb25PbkxvYWQoaW5ib3hFbCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICBzZXRVbnJlYWRJY29uT25Mb2FkKGluYm94RWwpOwogICAgICAgIHVucmVhZE9ic2VydmVyLm9ic2VydmUoaW5ib3hFbCwgdW5yZWFkQ29uZmlnKTsKICAgICAgICBmYXZpY29uT2JzZXJ2ZXIub2JzZXJ2ZShmYXZpY29uRWwsIGZhdmljb25Db25maWcpOwogICAgfSwgMjAwMCk7Cn0pKCk7Cg=="},{"name":"Lobster Keys","options":{"check_for_updates":false,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://lobste.rs/*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":true},"user_modified":null},"storage":{"ts":1689260871667,"data":{}},"enabled":true,"position":20,"file_url":"https://greasyfork.org/scripts/383557-lobster-keys/code/Lobster%20Keys.user.js","uuid":"91054dc7-8b79-433f-a733-86a86b1846fc","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBMb2JzdGVyIEtleXMKLy8gQGRlc2NyaXB0aW9uICBLZXliaW5kaW5ncyBmb3IgbG9ic3RlLnJzCi8vIEBuYW1lc3BhY2UgICAgaHR0cHM6Ly9yb2RhaW5lLmNvbQovLyBAc291cmNlICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2RhaW5lL2xvYnN0ZXIta2V5cy5naXQKLy8gQHZlcnNpb24gICAgICAwLjEuMAovLyBAYXV0aG9yICAgICAgIENocmlzIFJvY2hlIDxnaXRodWJAcm9kYWluZS5jb20+Ci8vIEBtYXRjaCAgICAgICAgaHR0cHM6Ly9sb2JzdGUucnMvKgovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gQG5vZnJhbWVzCi8vID09L1VzZXJTY3JpcHQ9PQoKLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcAovKioqKioqLyAJLy8gVGhlIG1vZHVsZSBjYWNoZQovKioqKioqLyAJdmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTsKLyoqKioqKi8KLyoqKioqKi8gCS8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uCi8qKioqKiovIAlmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7Ci8qKioqKiovCi8qKioqKiovIAkJLy8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlCi8qKioqKiovIAkJaWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHsKLyoqKioqKi8gCQkJcmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7Ci8qKioqKiovIAkJfQovKioqKioqLyAJCS8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpCi8qKioqKiovIAkJdmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0gewovKioqKioqLyAJCQlpOiBtb2R1bGVJZCwKLyoqKioqKi8gCQkJbDogZmFsc2UsCi8qKioqKiovIAkJCWV4cG9ydHM6IHt9Ci8qKioqKiovIAkJfTsKLyoqKioqKi8KLyoqKioqKi8gCQkvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb24KLyoqKioqKi8gCQltb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTsKLyoqKioqKi8KLyoqKioqKi8gCQkvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkCi8qKioqKiovIAkJbW9kdWxlLmwgPSB0cnVlOwovKioqKioqLwovKioqKioqLyAJCS8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlCi8qKioqKiovIAkJcmV0dXJuIG1vZHVsZS5leHBvcnRzOwovKioqKioqLyAJfQovKioqKioqLwovKioqKioqLwovKioqKioqLyAJLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXykKLyoqKioqKi8gCV9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7Ci8qKioqKiovCi8qKioqKiovIAkvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZQovKioqKioqLyAJX193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlczsKLyoqKioqKi8KLyoqKioqKi8gCS8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0cwovKioqKioqLyAJX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7Ci8qKioqKiovIAkJaWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkgewovKioqKioqLyAJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTsKLyoqKioqKi8gCQl9Ci8qKioqKiovIAl9OwovKioqKioqLwovKioqKioqLyAJLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0cwovKioqKioqLyAJX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykgewovKioqKioqLyAJCWlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykgewovKioqKioqLyAJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTsKLyoqKioqKi8gCQl9Ci8qKioqKiovIAkJT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTsKLyoqKioqKi8gCX07Ci8qKioqKiovCi8qKioqKiovIAkvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3QKLyoqKioqKi8gCS8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdAovKioqKioqLyAJLy8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zCi8qKioqKiovIAkvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3QKLyoqKioqKi8gCS8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmUKLyoqKioqKi8gCV9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7Ci8qKioqKiovIAkJaWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7Ci8qKioqKiovIAkJaWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTsKLyoqKioqKi8gCQlpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlOwovKioqKioqLyAJCXZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7Ci8qKioqKiovIAkJX193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTsKLyoqKioqKi8gCQlPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7Ci8qKioqKiovIAkJaWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpOwovKioqKioqLyAJCXJldHVybiBuczsKLyoqKioqKi8gCX07Ci8qKioqKiovCi8qKioqKiovIAkvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlcwovKioqKioqLyAJX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7Ci8qKioqKiovIAkJdmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/Ci8qKioqKiovIAkJCWZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6Ci8qKioqKiovIAkJCWZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07Ci8qKioqKiovIAkJX193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpOwovKioqKioqLyAJCXJldHVybiBnZXR0ZXI7Ci8qKioqKiovIAl9OwovKioqKioqLwovKioqKioqLyAJLy8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsCi8qKioqKiovIAlfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07Ci8qKioqKiovCi8qKioqKiovIAkvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfXwovKioqKioqLyAJX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gIiI7Ci8qKioqKiovCi8qKioqKiovCi8qKioqKiovIAkvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHMKLyoqKioqKi8gCXJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDApOwovKioqKioqLyB9KQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKioqKioqLyAoWwovKiAwICovCi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHsKCiJ1c2Ugc3RyaWN0IjsKCi8qKgogKiBTdG9yeSBlbGVtZW50IG9uIHRoZSBkb2N1bWVudC4KICovCmNsYXNzIFN0b3J5IHsKICAgIGNvbnN0cnVjdG9yKGVsKSB7CiAgICAgICAgdGhpcy5fZWwgPSBlbDsKICAgIH0KICAgIC8qKgogICAgICogRXh0cmFjdHMgYWxsIHN0b3JpZXMgaW4tb3JkZXIgZnJvbSBgZGAuCiAgICAgKgogICAgICogQHBhcmFtIGQgRG9jdW1lbnQKICAgICAqLwogICAgc3RhdGljIEZyb21Eb2MoZCA9IHdpbmRvdy5kb2N1bWVudCkgewogICAgICAgIGxldCBlbHMgPSBkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3N0b3J5Jyk7CiAgICAgICAgbGV0IG91dCA9IFtdOwogICAgICAgIGZvciAobGV0IGVsIG9mIGVscykgewogICAgICAgICAgICBvdXQucHVzaChuZXcgU3RvcnkoZWwpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG91dDsKICAgIH0KICAgIC8qKgogICAgICogU2VsZWN0cyB0aGlzIHN0b3J5LCBtYWtpbmcgdGhlIGtleWJpbmRpbmdzIGFwcGx5IHRvIHRoaXMgU3RvcnkuIElmIGEKICAgICAqIGRpZmZlcmVudCBzdG9yeSB3YXMgcHJldmlvdXNseSBzZWVsY3RlZCwgdGhhdCBzdG9yeSBzaG91bGQgYmUKICAgICAqIHVuZm9jdXNlZCBmaXJzdC4KICAgICAqLwogICAgZm9jdXMoKSB7CiAgICAgICAgdGhpcy5fZWwuY2xhc3NMaXN0LmFkZChTdG9yeS5mb2N1c0Nscyk7CiAgICAgICAgbGV0IHVybCA9IHRoaXMuZ2V0QW5jaG9yKCIudS11cmwiIC8qIFVSTCAqLyk7CiAgICAgICAgaWYgKHVybCkgewogICAgICAgICAgICB1cmwuZm9jdXMoKTsKICAgICAgICAgICAgdXJsLmJsdXIoKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5zY3JvbGxJbnRvVmlldygpOwogICAgfQogICAgLyoqCiAgICAgKiBEZXNlbGVjdHMgdGhpcyBzdG9yeS4KICAgICAqLwogICAgdW5mb2N1cygpIHsKICAgICAgICB0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKFN0b3J5LmZvY3VzQ2xzKTsKICAgIH0KICAgIC8qKgogICAgICogT3BlbnMgdGhlIFN0b3J5J3MgVVJMCiAgICAgKi8KICAgIG9wZW4oKSB7IHRoaXMuY2xpY2soIi51LXVybCIgLyogVVJMICovKTsgfQogICAgLyoqCiAgICAgKiBPcGVucyB0aGUgZG9tYWluIHNlYXJjaCBwYWdlIGZvciB0aGUgU3RvcnkncyBob3N0bmFtZQogICAgICovCiAgICBkb21haW4oKSB7IHRoaXMuY2xpY2soIi5kb21haW4iIC8qIERvbWFpbiAqLyk7IH0KICAgIC8qKgogICAgICogT3BlbnMgdGhlIFN0b3J5J3MgYXV0aG9yJ3MgcHJvZmlsZSBwYWdlLgogICAgICovCiAgICBhdXRob3IoKSB7IHRoaXMuY2xpY2soIi51LWF1dGhvciIgLyogQXV0aG9yICovKTsgfQogICAgLyoqCiAgICAgKiBPcGVucyB0aGUgZmxhZyBkcm9wZG93biBtZW51LCBhbmQgbW92ZXMgZm9jdXMgdG8gdGhlIGZpcnN0IG9wdGlvbi4KICAgICAqLwogICAgZmxhZygpIHsKICAgICAgICB0aGlzLmNsaWNrKCIuZmxhZ2dlciIgLyogRmxhZyAqLyk7CiAgICAgICAgbGV0IG9wdHMgPSB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Rvd252b3RlX3doeSBhJyk7CiAgICAgICAgb3B0cyAmJiBvcHRzLmZvY3VzKCk7CiAgICB9CiAgICAvKioKICAgICAqIFRvZ2dsZXMgd2hldGhlciBvciBub3QgdGhlIFN0b3J5IGlzIGhpZGRlbi4KICAgICAqLwogICAgaGlkZSgpIHsgdGhpcy5jbGljaygiLmhpZGVyIiAvKiBIaWRlICovKTsgfQogICAgLyoqCiAgICAgKiBUb2dnbGVzIHdoZXRoZXIgb3Igbm90IHRoZSBTdG9yeSBpcyBzYXZlZC4KICAgICAqLwogICAgc2F2ZSgpIHsgdGhpcy5jbGljaygiLnNhdmVyIiAvKiBTYXZlICovKTsgfQogICAgLyoqCiAgICAgKiBPcGVucyB0aGUgU3RvcnkncyBjb21tZW50cyBwYWdlLgogICAgICovCiAgICBjb21tZW50cygpIHsgdGhpcy5jbGljaygiLmNvbW1lbnRzX2xhYmVsIGEiIC8qIENvbW1lbnRzICovKTsgfQogICAgLyoqCiAgICAgKiBUb2dnbGVzIHRoZSBTdG9yeSdzIHVwdm90ZSBhcnJvdy4KICAgICAqLwogICAgdXB2b3RlKCkgeyB0aGlzLmNsaWNrKCIudXB2b3RlciIgLyogVXB2b3RlICovKTsgfQogICAgZ2V0QW5jaG9yKGEpIHsKICAgICAgICByZXR1cm4gdGhpcy5fZWwucXVlcnlTZWxlY3RvcihhKTsKICAgIH0KICAgIGNsaWNrKGEpIHsKICAgICAgICBsZXQgYW5jaG9yID0gdGhpcy5nZXRBbmNob3IoYSk7CiAgICAgICAgYW5jaG9yICYmIGFuY2hvci5jbGljaygpOwogICAgfQogICAgc2Nyb2xsSW50b1ZpZXcoKSB7CiAgICAgICAgbGV0IGJvdW5kID0gdGhpcy5fZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgaWYgKGJvdW5kLnRvcCA8IDAKICAgICAgICAgICAgfHwgYm91bmQubGVmdCA8IDAKICAgICAgICAgICAgfHwgYm91bmQuYm90dG9tID4gKHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KQogICAgICAgICAgICB8fCBib3VuZC5yaWdodCA+ICh3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLl9lbC5zY3JvbGxJbnRvVmlldyhTdG9yeS5zY3JvbGxPcHRzKTsKICAgICAgICB9CiAgICB9Cn0KLyoqCiAqIFRoZSBjbGFzcyBuYW1lIGFwcGxpZWQgdG8gdGhlIHNlbGVjdGVkIFtbU3RvcnldXQogKi8KU3RvcnkuZm9jdXNDbHMgPSAnbG9ic3Rlci1rZXlzLWZvY3VzJzsKU3Rvcnkuc2Nyb2xsT3B0cyA9IHsgYmxvY2s6ICJuZWFyZXN0IiB9OwovKioKICogSW50ZXJhY3Rpb24gY29udHJvbGxlciBmb3IgdGhlIGtleWJpbmRpbmdzCiAqLwpjbGFzcyBMb2JzdGVyc0tleUNvbnRyb2xsZXIgewogICAgLyoqCiAgICAgKiBBdHRhY2hlcyBhIGNvbnRyb2xsZXIgdG8gYGRgLCBsaXN0ZW5pbmcgZm9yIGV2ZW50cyBhbmQgaW5qZWN0aW5nIHN0eWxlcwogICAgICogaWYgYSBbW1N0b3J5XV0gbGlzdCBpcyBkZXRlY3RlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gZCBEb2N1bWVudAogICAgICovCiAgICBjb25zdHJ1Y3RvcihkID0gd2luZG93LmRvY3VtZW50KSB7CiAgICAgICAgdGhpcy5zdG9yaWVzID0gU3RvcnkuRnJvbURvYyhkKTsKICAgICAgICBpZiAodGhpcy5zdG9yaWVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAoZSkgPT4geyB0aGlzLmhhbmRsZUtleVVwKGUpOyB9KTsKICAgICAgICAgICAgdGhpcy5hdHRhY2hTdHlsZXMoZCk7CiAgICAgICAgfQogICAgfQogICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faWR4OyB9CiAgICBzZXQgaW5kZXgoaSkgewogICAgICAgIGlmIChpID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgdGhpcy5faWR4ID0gdW5kZWZpbmVkOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmIChpIDwgMCkgewogICAgICAgICAgICBpID0gMDsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoaSA+PSB0aGlzLnN0b3JpZXMubGVuZ3RoKSB7CiAgICAgICAgICAgIGkgPSB0aGlzLnN0b3JpZXMubGVuZ3RoIC0gMTsKICAgICAgICB9CiAgICAgICAgdGhpcy5faWR4ID0gaTsKICAgIH0KICAgIGdldCBzdG9yeSgpIHsKICAgICAgICBsZXQgaSA9IHRoaXMuaW5kZXg7CiAgICAgICAgcmV0dXJuIGkgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHRoaXMuc3Rvcmllc1tpXTsKICAgIH0KICAgIGNoYW5nZVN0b3J5KGQpIHsKICAgICAgICBpZiAodGhpcy5pbmRleCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgIHN3aXRjaCAoZCkgewogICAgICAgICAgICAgICAgY2FzZSAxIC8qIE5leHQgKi86CiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRleCA9IDA7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDAgLyogUHJldmlvdXMgKi86CiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRleCA9IHRoaXMuc3Rvcmllcy5sZW5ndGggLSAxOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB0aGlzLnN0b3J5ICYmIHRoaXMuc3RvcnkudW5mb2N1cygpOwogICAgICAgICAgICBzd2l0Y2ggKGQpIHsKICAgICAgICAgICAgICAgIGNhc2UgMSAvKiBOZXh0ICovOgogICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXgrKzsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMCAvKiBQcmV2aW91cyAqLzoKICAgICAgICAgICAgICAgICAgICB0aGlzLmluZGV4LS07CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGhpcy5zdG9yeSAmJiB0aGlzLnN0b3J5LmZvY3VzKCk7CiAgICB9CiAgICBjaGFuZ2VQYWdlKGQpIHsKICAgICAgICBsZXQgcHJldiA9IHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubW9yZWxpbmsgYTpmaXJzdC1jaGlsZCcpOwogICAgICAgIGxldCBuZXh0ID0gd2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5tb3JlbGluayBhOmxhc3QtY2hpbGQnKTsKCiAgICAgICAgc3dpdGNoIChkKSB7CiAgICAgICAgICAgIGNhc2UgMCAvKiBQcmV2aW91cyAqLzoKICAgICAgICAgICAgICAgIHByZXYgJiYgcHJldi5pbm5lclRleHQuaW5kZXhPZignPDwnKSA+IC0xICYmIHByZXYuY2xpY2soKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDEgLyogTmV4dCAqLzoKICAgICAgICAgICAgICAgIG5leHQgJiYgbmV4dC5pbm5lclRleHQuaW5kZXhPZignPj4nKSA+IC0xICYmIG5leHQuY2xpY2soKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KICAgIGhhbmRsZUtleVVwKGUpIHsKICAgICAgICBzd2l0Y2ggKGUuY29kZSkgewogICAgICAgICAgICBjYXNlICJLZXlKIiAvKiBKICovOgogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hhbmdlU3RvcnkoMSAvKiBOZXh0ICovKTsKICAgICAgICAgICAgY2FzZSAiS2V5SyIgLyogSyAqLzoKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYW5nZVN0b3J5KDAgLyogUHJldmlvdXMgKi8pOwogICAgICAgICAgICBjYXNlICJCcmFja2V0TGVmdCIgLyogT3BlbkJyYWNrZXQgKi86CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGFuZ2VQYWdlKDAgLyogUHJldmlvdXMgKi8pOwogICAgICAgICAgICBjYXNlICJCcmFja2V0UmlnaHQiIC8qIENsb3NlQnJhY2tldCAqLzoKICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoYW5nZVBhZ2UoMSAvKiBOZXh0ICovKTsKICAgICAgICB9CiAgICAgICAgbGV0IHN0b3J5ID0gdGhpcy5zdG9yeTsKICAgICAgICBpZiAoc3RvcnkpIHsKICAgICAgICAgICAgc3dpdGNoIChlLmNvZGUpIHsKICAgICAgICAgICAgICAgIGNhc2UgIkVudGVyIiAvKiBFbnRlciAqLzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3Rvcnkub3BlbigpOwogICAgICAgICAgICAgICAgY2FzZSAiS2V5QSIgLyogQSAqLzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RvcnkuYXV0aG9yKCk7CiAgICAgICAgICAgICAgICBjYXNlICJLZXlDIiAvKiBDICovOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yeS5jb21tZW50cygpOwogICAgICAgICAgICAgICAgY2FzZSAiS2V5RCIgLyogRCAqLzoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RvcnkuZG9tYWluKCk7CiAgICAgICAgICAgICAgICBjYXNlICJLZXlGIiAvKiBGICovOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yeS5mbGFnKCk7CiAgICAgICAgICAgICAgICBjYXNlICJLZXlIIiAvKiBIICovOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yeS5oaWRlKCk7CiAgICAgICAgICAgICAgICBjYXNlICJLZXlTIiAvKiBTICovOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yeS5zYXZlKCk7CiAgICAgICAgICAgICAgICBjYXNlICJLZXlVIiAvKiBVICovOgogICAgICAgICAgICAgICAgICAgIHJldHVybiBzdG9yeS51cHZvdGUoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGF0dGFjaFN0eWxlcyhkKSB7CiAgICAgICAgbGV0IHN0eWxlcyA9IGQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgICBzdHlsZXMuaW5uZXJIVE1MID0gYC4ke1N0b3J5LmZvY3VzQ2xzfSB7IGJhY2tncm91bmQtY29sb3I6ICNmZmZjZDc5OTsgfWA7CiAgICAgICAgZC5ib2R5LmFwcGVuZENoaWxkKHN0eWxlcyk7CiAgICB9Cn0KbmV3IExvYnN0ZXJzS2V5Q29udHJvbGxlcih3aW5kb3cuZG9jdW1lbnQpOwoKCi8qKiovIH0pCi8qKioqKiovIF0pOw=="},{"name":"Lobsters guest comment folding","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":["https://lobste.rs/s/*"],"merge_includes":true,"use_matches":[],"orig_matches":["https://lobste.rs/s/*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-end","orig_noframes":null},"user_modified":null},"storage":{"ts":1689260875517,"data":{}},"enabled":false,"position":21,"file_url":"https://greasyfork.org/scripts/12599-lobsters-guest-comment-folding/code/Lobsters%20guest%20comment%20folding.user.js","uuid":"996ac34f-d1b9-4bd8-ad3c-faf6470ec926","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgTG9ic3RlcnMgZ3Vlc3QgY29tbWVudCBmb2xkaW5nCi8vIEBuYW1lc3BhY2UgaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9hYm9yZ25hL3VzZXJzY3JpcHRzCi8vIEBhdXRob3IgYWJvcmduYQovLyBAZGVzY3JpcHRpb24gRW5hYmxlIGNvbW1lbnQgZm9sZGluZyBmb3IgZ3Vlc3RzIGluIGxvYnN0ZXJzJyBjb21tZW50IHRocmVhZHMuCi8vIEB2ZXJzaW9uIDEuMQovLyBAaWNvbiBodHRwczovL2xvYnN0ZS5ycy9mYXZpY29uLmljbwovLyBAaW5jbHVkZSBodHRwczovL2xvYnN0ZS5ycy9zLyoKLy8gQG1hdGNoIGh0dHBzOi8vbG9ic3RlLnJzL3MvKgovLyBAZ3JhbnQgbm9uZQovLyBAcmVxdWlyZSBodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMS4zLm1pbi5qcwovLyBAcnVuLWF0IGRvY3VtZW50LWVuZAovLyA9PS9Vc2VyU2NyaXB0PT0KCi8qCiAqIE1vc3Qgb2YgdGhpcyBjb2RlIGlzIGp1c3QgY29waWVkIGZyb20gbG9ic3RlcnMnIGFwcGxpY2F0aW9uLmpzLmVyYgogKiBodHRwczovL2dpdGh1Yi5jb20vamNzL2xvYnN0ZXJzCiAqLwoKJCgiLmNvbW1lbnQgPiAuZGV0YWlscyA+IC5ieWxpbmUiKS5wcmVwZW5kKCc8YSBjbGFzcz0iY29tbWVudF9mb2xkZXIiPjwvYT4nKTsKCiQoZG9jdW1lbnQpLm9uKCJjbGljayIsICJhLmNvbW1lbnRfZm9sZGVyIiwgZnVuY3Rpb24oKSB7CiAgICAkKHRoaXMpLmFkZENsYXNzKCJjb21tZW50X3VuZm9sZGVyIikucmVtb3ZlQ2xhc3MoImNvbW1lbnRfZm9sZGVyIik7CiAgICB2YXIgY29tbWVudCA9ICQodGhpcykuY2xvc2VzdCgiLmNvbW1lbnQiKTsKICAgIGNvbW1lbnQuYWRkQ2xhc3MoImNvbGxhcHNlZCIpOwogICAgY29tbWVudC5uZXh0QWxsKCIuY29tbWVudHMiKS5lYWNoKGZ1bmN0aW9uKCkgewogICAgICAgICQodGhpcykuYWRkQ2xhc3MoImNvbGxhcHNlZCIpOwogICAgfSk7Cn0pOwoKJChkb2N1bWVudCkub24oImNsaWNrIiwgImEuY29tbWVudF91bmZvbGRlciIsIGZ1bmN0aW9uKCkgewogICAgJCh0aGlzKS5hZGRDbGFzcygiY29tbWVudF9mb2xkZXIiKS5yZW1vdmVDbGFzcygiY29tbWVudF91bmZvbGRlciIpOwogICAgdmFyIGNvbW1lbnQgPSAkKHRoaXMpLmNsb3Nlc3QoIi5jb21tZW50Iik7CiAgICBjb21tZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzZWQiKTsKICAgIGNvbW1lbnQubmV4dEFsbCgiLmNvbW1lbnRzIikuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCJjb2xsYXBzZWQiKTsKICAgIH0pOwp9KTsKCg==","requires":[]},{"name":"Lobste.rs Open in New Tab","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":["https://lobste.rs/*"],"merge_includes":true,"use_matches":[],"orig_matches":["https://www.tampermonkey.net/index.php?version=4.8.41&ext=dhdg&updated=true"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"user_modified":null},"storage":{"ts":1689261247627,"data":{}},"enabled":true,"position":22,"file_url":"https://greasyfork.org/scripts/392307-lobste-rs-open-in-new-tab/code/Lobsters%20Open%20in%20New%20Tab.user.js","uuid":"fb9ea875-5fa4-4f15-96bb-c0d1245543ef","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBMb2JzdGUucnMgT3BlbiBpbiBOZXcgVGFiCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEBkZXNjcmlwdGlvbiAgT3BlbnMgbGlua3MgdG8gYXJ0aWNsZXMgYW5kIHRoZSBjb21tZW50IHBhZ2VzIGluIGEgbmV3IHRhYgovLyBAYXV0aG9yICAgICAgIEJyZWtramVybgovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vd3d3LnRhbXBlcm1vbmtleS5uZXQvaW5kZXgucGhwP3ZlcnNpb249NC44LjQxJmV4dD1kaGRnJnVwZGF0ZWQ9dHJ1ZQovLyBAZ3JhbnQgICAgICAgIG5vbmUKLy8gQGluY2x1ZGUgICAgICBodHRwczovL2xvYnN0ZS5ycy8qCi8vIEB2ZXJzaW9uIDAuMC4xLjIwMTkxMTEyMTAzMjUwCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIGxldCBsaW5rcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImEudS11cmwsIHNwYW4uY29tbWVudHNfbGFiZWwgPiBhIik7CiAgICBsaW5rcy5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQpIHsKICAgICAgICBlbGVtZW50LnRhcmdldD0iX2JsYW5rIjsKICAgIH0pOwp9KSgpOw=="},{"name":"New Userscript","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["https://jenkins.lab.128technology.com/job/128T_Pipeline/67694/robot/report/latest/logBgpVrf-1.html"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"user_modified":null},"storage":{"ts":1691072847870,"data":{}},"enabled":true,"position":23,"uuid":"15e0ddbd-8b17-446a-90cb-f801f20d7987","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBOZXcgVXNlcnNjcmlwdAovLyBAbmFtZXNwYWNlICAgIGh0dHA6Ly90YW1wZXJtb25rZXkubmV0LwovLyBAdmVyc2lvbiAgICAgIDAuMQovLyBAZGVzY3JpcHRpb24gIHRyeSB0byB0YWtlIG92ZXIgdGhlIHdvcmxkIQovLyBAYXV0aG9yICAgICAgIFlvdQovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vamVua2lucy5sYWIuMTI4dGVjaG5vbG9neS5jb20vam9iLzEyOFRfUGlwZWxpbmUvNjc2OTQvcm9ib3QvcmVwb3J0L2xhdGVzdC9sb2dCZ3BWcmYtMS5odG1sCi8vIEBpY29uICAgICAgICAgaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zMi9mYXZpY29ucz9zej02NCZkb21haW49MTI4dGVjaG5vbG9neS5jb20KLy8gQGdyYW50ICAgICAgICBub25lCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIGZ1bmN0aW9uIGhpZ2hsaWdodCgpIHsKICAgIH0KCiAgICBmdW5jdGlvbiBhZGRKU19Ob2RlICh0ZXh0LCBzX1VSTCwgZnVuY1RvUnVuLCBydW5PbkxvYWQpIHsKICAgICAgICBsZXQgc2NyaXB0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgKCdzY3JpcHQnKTsKICAgICAgICBpZiAocnVuT25Mb2FkKSB7CiAgICAgICAgICAgIHNjcmlwdE5vZGUuYWRkRXZlbnRMaXN0ZW5lciAoImxvYWQiLCBydW5PbkxvYWQsIGZhbHNlKTsKICAgICAgICB9CiAgICAgICAgc2NyaXB0Tm9kZS50eXBlID0gInRleHQvamF2YXNjcmlwdCI7CiAgICAgICAgaWYgKHRleHQpIHNjcmlwdE5vZGUudGV4dENvbnRlbnQgPSB0ZXh0OwogICAgICAgIGlmIChzX1VSTCkgc2NyaXB0Tm9kZS5zcmMgPSBzX1VSTDsKICAgICAgICBpZiAoZnVuY1RvUnVuKSBzY3JpcHROb2RlLnRleHRDb250ZW50ID0gJygnICsgZnVuY1RvUnVuLnRvU3RyaW5nKCkgKyAnKSgpJzsKCiAgICAgICAgdmFyIHRhcmcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdIHx8IGRvY3VtZW50LmJvZHkgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwogICAgICAgIHRhcmcuYXBwZW5kQ2hpbGQgKHNjcmlwdE5vZGUpOwogICAgfQoKICAgIGFkZEpTX05vZGUoaGlnaGxpZ2h0KTsKCn0pKCk7"},{"name":"YouTube - Disable Inline Playback (\"Keep hovering to play\")","options":{"check_for_updates":true,"comment":null,"compatopts_for_requires":true,"compat_wrappedjsobject":false,"compat_metadata":false,"compat_foreach":false,"compat_powerful_this":null,"sandbox":null,"noframes":null,"unwrap":null,"run_at":null,"tab_types":null,"override":{"use_includes":[],"orig_includes":[],"merge_includes":true,"use_matches":[],"orig_matches":["*://www.youtube.com/*"],"merge_matches":true,"use_excludes":[],"orig_excludes":[],"merge_excludes":true,"use_connects":[],"orig_connects":[],"merge_connects":true,"use_blockers":[],"orig_run_at":"document-idle","orig_noframes":null},"user_modified":null},"storage":{"ts":1695235144846,"data":{}},"enabled":true,"position":24,"file_url":"https://greasyfork.org/scripts/447727-youtube-disable-inline-playback-keep-hovering-to-play/code/YouTube%20-%20Disable%20Inline%20Playback%20(%22Keep%20hovering%20to%20play%22).user.js","uuid":"2bc132bc-3f13-4165-83cb-82eaeb18832e","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBZb3VUdWJlIC0gRGlzYWJsZSBJbmxpbmUgUGxheWJhY2sgKCJLZWVwIGhvdmVyaW5nIHRvIHBsYXkiKQovLyBAbmFtZXNwYWNlICAgIFZpb2xlbnRtb25rZXkgU2NyaXB0cwovLyBAbWF0Y2ggICAgICAgICo6Ly93d3cueW91dHViZS5jb20vKgovLyBAdmVyc2lvbiAgICAgIDIuMwovLyBAYXV0aG9yICAgICAgIGplejk5OTkKLy8gQGRlc2NyaXB0aW9uICBEaXNhYmxlIHRoZSBJbmxpbmUgUGxheWJhY2sgZmVhdHVyZSAoImtlZXAgaG92ZXJpbmcgdG8gcGxheSIpIG9uIFlvdVR1YmUgZXZlbiB3aGVuIGxvZ2dlZCBvdXQKLy8gQGdyYW50ICAgICAgICBub25lCi8vIEBsaWNlbnNlICAgICAgTUlUCi8vID09L1VzZXJTY3JpcHQ9PQoKKGZ1bmN0aW9uKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8vICoqKioqKioqKioqKioqKioqKioqCiAgICAvLyBSZW1pbmRlcjogc2V0IHRoZSBmb2xsb3dpbmcgaW4gVmlvbGVudG1vbmtleSBhZHZhbmNlZCBzZXR0aW5ncyBmb3IgRWRpdG9yOgogICAgLy8gInRhYlNpemUiOiA0LAogICAgLy8gImluZGVudFVuaXQiOiA0LAogICAgLy8gImF1dG9DbG9zZUJyYWNrZXRzIjogZmFsc2UsCiAgICAvLwogICAgLy8gQWxzbywgYmVhciBpbiBtaW5kIHRoZXJlIGFwcGVhcnMgdG8gYmUgYSBidWcgaW4gVmlvbGVudG1vbmtleSB3aGVyZSBhZnRlciBhIHdoaWxlLCBNdXRhdGlvbk9ic2VydmVyJ3MKICAgIC8vIHN0b3AgYmVpbmcgZGVidWdnYWJsZSBhbmQgdGhlIHdob2xlIGJyb3dzZXIgbmVlZHMgcmVzdGFydGluZyBiZWZvcmUgaXQnbGwgd29yayBhZ2Fpbi4KICAgIC8vICoqKioqKioqKioqKioqKioqKioqCgogICAgLy8gSGlkZSB2aWRlbyBwcml2aWV3IG9uIGhvdmVyCiAgICB2YXIgc2hlZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwogICAgc2hlZXQuaW5uZXJIVE1MID0gYAogICAgICAgIHl0ZC12aWRlby1wcmV2aWV3IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CiAgICAgICAgLnl0ZC10aHVtYm5haWwtb3ZlcmxheS1sb2FkaW5nLXByZXZpZXctcmVuZGVyZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICAueXRwLWlubGluZS1wcmV2aWV3LXVpIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9CiAgICAgICAgI3ByZXZpZXcgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICB5dGQtdGh1bWJuYWlsW25vdy1wbGF5aW5nXSB5dGQtdGh1bWJuYWlsLW92ZXJsYXktdGltZS1zdGF0dXMtcmVuZGVyZXIueXRkLXRodW1ibmFpbCB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfQogICAgICAgIHl0ZC10aHVtYm5haWxbaXMtcHJldmlldy1sb2FkaW5nXSB5dGQtdGh1bWJuYWlsLW92ZXJsYXktdGltZS1zdGF0dXMtcmVuZGVyZXIueXRkLXRodW1ibmFpbCB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfQogICAgICAgICNtb3VzZW92ZXItb3ZlcmxheSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQogICAgYDsKCiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNoZWV0KTsKfSkoKTsK"}],"settings":{"script_blacklist_server":[{"severity":2,"rules":["/https?:\\/\\/userscripts\\.org\\/scripts\\/(source|version)/(102614).*\\.user\\.js/"]},{"name":"SaveFrom.net helper","severity":3,"rules":["/https?:\\/\\/sf-addon\\.com\\/.*\\/.*\\.user\\.js/","/https?:\\/\\/.*\\.sf-helper\\.com\\/.*\\.user\\.js/"],"reason":"Shows advertisements"},{"severity":8,"reasons":{"en":"Used for a phishing compain to compromise users of baon-nutrition.com"},"rules":["/https?:\\/\\/files\\.ulysse\\.travel\\/.*\\.user\\.js/"]}],"configMode":100,"editor_enabled":true,"editor_theme":"monokai","editor_fontSize":"100","editor_keyMap":"vim","editor_indentUnit":"4","editor_tabSize":"4","editor_indentWithTabs":"spaces","editor_tabMode":"indent","editor_highlightSelectionMatches":"cursor","editor_lineWrapping":false,"editor_electricChars":true,"editor_autoSave":false,"editor_easySave":true,"editor_highlightTrailingWhitespace":true,"editor_trimTrailingSpacesFromModifiedLines":true,"editor_autoLint":true,"editor_autoLintMaxLen":"300000","editor_linter_config":null,"enabled":true,"layout":"default","layout_user_css":"","notification_showUpdate":"changelog","favicon_service":"duckduckgo","statistics_enabled":false,"sync_enabled":true,"sync_type":"2","run_sync":null,"reset_sync":null,"sync_status":""}}