// ==UserScript==
// @name Alt + L 탭 OTP 잠금
// @namespace Alt + L 탭 OTP 잠금
// @match *://*/*
// @version 1.3
// @description Alt + L을 누르면 화면을 잠그고 OTP로만 잠금을 해제합니다.
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAIABJREFUeJzs3Xd8HNW5N/DfmZkt6rJky73LHTDGgE03xbQQAiSQ5OamkMYl7abeNx2nF3ITElLvvamkAiGBUBJMQokBAwbbuFtyl4sky+or7e7MPO8fwsRlZ4s0u2fL73s/87nBszr77O7snmfOnHmOAhHlNYEEIsAYCaDBEjS4glrDQK0rGKXg1kJQCwM1IqpCAeUAKhQQFEENAEsp1BzfHioBBE54mrgC+o57nKALgKMUugWIAegXIKKU9MNFFxS6BEaXodDluug0FLoMhbZ4HO3lQJuCsrP5vhDRyCjdARCVsl7IGCOASTAwWbmYAuVOgmASoCYK0KCAMRjaClG7AtoEaAekBQr7IUaLGNgjLva5cbRUQx3WHSRRqWICQJRFAjEHw5iibDQ6CjMV3EaImqkUGgWYCaBMd4yaDSigWQQ7YEiziNFsCnaIhebwIPYqKFd3gETFigkAkU/6y2WCGcN8V2GBgjtfoBYAOB1Ahe7YClRMgGYFbBIlmxWMTQ6wuTKGrQrK0R0cUaFjAkCUIYEE+oKYrQSLAXexMtRiCBZh6Po7ZV8cQJOCvAhlvKgcvBi28ZKCiugOjKiQMAEgSkIgZn8Q85VgCQx3KUSdDWAeAEt3bHQcG8BmKHkerrHaVXiuMobNvIRA5I0JANExOiDV4RDOd8U9T4k6BwpnAqjSHRcNSw8EL4iS1YYyno5EsWoMVK/uoIjyBRMAKmntkKqyMJYA7mVK1PkCnI2Tb5Gj4uAA2CaQVRDjMQnh8epe3oVApYsJAJUUgZT1h3A+4C4XqOUAFoLfg1LlAlivICuhjJUVg1iloAZ1B0WUK/zho6LXF5CFrnKvUEotB+R8AGHdMVFeGgDUPxVkJcT4W2VMbdAdEFE2MQGgoiOQcH/YPl+U8VoIrgMwRXdMVHgE2KOAv4nIg1VRcyVHB6jYMAGgotBTJfWIO6+DMq6FyGXgvffkr36IehTKfUCC5gM1PeqI7oCIRooJABWsnioZLXHnaqWMGyFyBTh5j3LDAWS1iLrHMo27KyLqoO6AiIaDCQAVlL4KGeu47k2A3ASocwEYumOikuYI5Gml1N2GYdxd1afadQdElC4mAJT3BFLWXeZco2C8DeCZPuWtoZEBpX4Vjxi/Y80ByndMACgvCcTqLXeuFKXeKoLXKi6aQ4UlAoUHIPLr6oj5V65dQPmICQDllZ4qmeM47psVcDM4e5+KgAAHoXCPwPhpXb96WXc8REcxASDt2kdLVSDivAnAzYA6R3c8RNkikKcV8PNYxPxDA1Sf7niotDEBIG0OV8lcw3XfoYD3AhilOx6iHOoVhd8pMX44ql+t1x0MlSYmAJRTAgl2VzqvEzHeC8hluuMhygMvKsH/9EaMuyZDDegOhkoHEwDKifZymRAw3PeJ4L0AxuiOhygPtUHhf2zX+OEY1hagHGACQFnVVS5nuIZ7C4C3gTX4idIRU1D3u0p9p75XPas7GCpeTADIdwIxjlQ6NyjgI68U6yGiYZFVCvhObZ/5ZwXl6o6GigsTAPKNQIIdFc6blFKfAjBXdzxERWQnBN/r6Td+Mp2LEpFPmADQiLWPlioj5r4Tgk8AmKg7HqIi1gqFHxuGcceoLtWlOxgqbEwAaNi6q6UuDvcjEHwQQI3ueIhKSJcofC+gjDtqu1Wn7mCoMDEBoIz1VEl9VLkfVMB/AqjVHQ9RCeuD4AcBZXyTSxRTppgAUNp6qmR0VLkfUMCHwTN+onzSB+BnjmN8dWy/atUdDBUGJgCUUtsYqTRi7vtF5FNgx0+Uz/pE5AeWZX2trlN16w6G8hsTAPIkkODhGvcdgHwRwFjd8RBRegToMKBu7+02vsu7BsgLEwA6iUCswzXOzQJ8HsAk3fEQ0fAIsFcpfGFMl/lLLklMJ2ICQMdprYlfpmB8G5BTdcdCRH6RrRD10YYe6xHdkVD+YAJAAICOOpnvOM7tULhadyxElDUPipgfHtutdugOhPRjAlDiDtfLRMdxvoyhWv2G7niIKOuiUPJdS1lfqT+ienQHQ/owAShRAgm01rrvU5AvAajSHQ8R5VyHQH1pbJfxfc4PKE1MAErQoZr4pTDwPUDN1x0LEeklUGtF3A9P6Ao8pTsWyi0mACWktUZmwnC+JsCNumMhorzzIFzzQ+O61S7dgVBuMAEoAQIJtI5yPwHI5wCEdcdDRHlrQKBWjOs0vq2gbN3BUHYxAShyLbWx003D/D9AFuuOhYgKhXoZynn3+I7gC7ojoexhAlCk9k2SMmvAvg2iPg7A1B0PERUcWyA/NALWp8e1qn7dwZD/mAAUoQNj4hfCxf8CarbuWIiowAl2ipJbJnYEHtMdCvmLCUAR2VUrtSHD+QYU3gN+tkTkJ4V73Kh566Re1aE7FPIHO4kisX+0/VoIfgRgou5YiKhotQrwX5M6rF/pDoRGjglAgdtXLxMN5fwYwDW6YyGiknF/HOat0w6rg7oDoeFjAlDADtTb14uB/4WgXncsRFRyugDcOvGw9XvdgdDwMAEoQPsmSZkxYH9dlPqQ7liIqOTdFVTm+xraVZ/uQCgzTAAKzN7RsTMNpX7DGf5ElC8E2KWUvGVSW+BZ3bFQ+pgAFAiBqJYx8Q9BqW9CENQdDxHRCWwofGVSm/UlLi5UGJgAFIADo2SKY9m/AnCR7liIiFJ41jHst0xrLeOaAnmOCUCeaxljv0GU/ARAne5YiIjS1A2o909us36jOxDyxgQgTzXVSXXYin9foN6qOxYiouFRvwiL+UFOEMxPTADy0P4Jg3Mcx7wPwHzdsRARjYjCdoF7w9RDoU26Q6HjMQHIM3vH2tcK5FcAanTHQkTkk14o9c6ph6x7dQdC/2LoDoCGCMTcMzb+dYH8Gez8iai4VEHk7j1j498ViKU7GBrCEYA8cGCCjI6L/VsIluuOhYgomwR40nWtN85oU626Yyl1TAA02z0hdgZc44+ATNMdCxFRjrSIyBumtwaf0x1IKeMlAI32jLPfBletYudPRCVmklLqyT3jY+/RHUgp4wiABk2NEgr0O3cKhAc/EZU0BbnLNAO3TG5RA7pjKTVMAHJs72SZ4Nj2nwGcpTsWIqK8oPAc4tZ109vVId2hlBImADnUPDZ6imGohwA1RXcsRET5RID9hiHXTN8fXKc7llLBBCBHdkyIX6aAe8Fb/IiIvPQarnrjtEPWI7oDKQWcBJgDOybEblbAw2DnT0SUTJVryAO7JsZu0R1IKeAIQBYJRO2cYN8G4DbdsRARFRIFfG/6AevDCkp0x1KsmABkSVOjhIxI/KdQ6i26YyEiKlD3GAHrbdN3q0HdgRQjJgBZsG+S1EXFvg/ARbpjISIqcM84Yr1uzgF1WHcgxYYJgM+2TxmcoVzzIQXM1R0LEVFxUM0K9tUzW8JNuiMpJkwAfLRzUuxsF3gQwBjdsRARFRVBK0y8pnFv8EXdoRQLJgA+aZoUXwbI/QCqdcdCRFSk+pSoaxv3Bx7XHUgxYALgg6Ypg6+FGHcDCOuOhYioyEUAdf2sfYFHdQdS6JgAjFDTpOi/i1I/B8A1romIciMmIm+a0xL6k+5AChkLAY1A0+TYR0SpX4GdPxFRLgWVUn/YNjn6Rt2BFDKOAAzT9qnxT0Dkm7rjICIqYY5SuGXWnuBPdQdSiJgADMPWKfH/pyBf1x0HERFBBPjo3L3BO3QHUmh4CSBD26ZEV7DzJyLKG0oB39k2Jc6S6xniCEAGtk6NfglQn9UdBxERJaDkG3N3hz6pO4xCwRGANG2bGv0KO38iojwm6v9tnRr9ou4wCgVHANKweWr0S4qdPxFRYVDqU/N2B3ipNgUmAClsmRb/PCBf0B0HERFlQNTH5u0JfFt3GPmMCUASW6bGPwYl39IdBxERZUygcMu8XcH/1R1IvmIC4GHztNiHofAd3XEQEdGwORB5y/zdoT/oDiQfMQFIYPP02FsB/BJ8f4iICl1cwX39vF3hv+gOJN+wgzvBpmnR10Gpe8HyvkRExSIG17huwR7rEd2B5BMmAMfYNDN+CUQeAlf1IyIqNhEl6qr5uwJP6Q4kXzABeMWm6bGzofB3AJW6YyEioqzoNhQunbcj+KLuQPIBEwAA66cOTDdNczWABt2xEBFRVh1Wyj1nwY5ws+5AdCv5BGDTJKlDKPaMAHN0x0JERDmgsNWNBc89ba/q1B2KTiWdAGxaIEFnMP6IglyiOxYiIsohkafCRujyWc0qqjsUXUp2LQCBKHcw9n/s/ImISpBSFw5K7BcCKdkT4ZJ94Rsao18B8GndcRARkVZfOLU5tEJ3EDqUZAKwoTH2ToH8VHccRESknYiomxfuCP5SdyC5VnIJwIbGgWWijL8BCOqOhYiI8kIcSq4+bXv4Md2B5FJJJQAvNUbnmwpPA6jVHQsREeUPBfTAxPmnbQ1t0B1LrpTMJMA18/rHmwqPgJ0/ERGdQIBqcfDApml943THkislMQKwa5qEu4OxpwCcpTsWIiLKa6sr3OCyUrg9sCRGALqD0e+DnT8REaW2tN+Mfld3ELlQ9AnAutmx9wLqXbrjICKiAiHqlvVzYkXfbxT1JYB1s2Nni5KnAIR0x0JERIVDAYMu1AVnbAuu0R1LthRtAvDcXKkPSmwNgGm6YyEiooK015Hg4jO3q8O6A8kGS3cA2XA3xLQk9lth509ERMM3xVDx398NueImKEd3MH4ryhGAF+dGb1fAx3XHQUREhU+Ary7eGvqM7jj8VnQJwNp50etEcB+K8LUREZEWAsFNZ2wL3as7ED8VVSf5wpzBOYZSzwOo1h0LEREVlV5lYukZm0KbdQfil6JJAFY3SnUgEHsewBzdsRARUVHaHDaCSxZsUn26A/FD0UwCDARi3xd2/kRElD3zB9zoHQDerTsQPxTFCMALC6JvUCL36I6DiIiKnxL1psVbQn/QHcdIFXwCsPq0yCTLVusBVac7FiIiKgldULLwzE1le3UHMhIFfQlAIMYaO/orAdj5ExFRrtRC1F13Qy4p5PoABT0C8MIp0c9A5Mu64yAiolKk/t9Zm0Lf1B3FcBVsArD61Nhiw3WfARDUHQsREZWkuIJx/lmbgs/rDmQ4CjIBWH+aVESd6IvgrH+i46gAEByrEByvEJqgEGgArJqhzaxWMMuHHmdWALCGvv5uRCBxQGzA6QfsLoHdBdidQLxDED0AxPYL4h2i74UR5SkBmisRWlSItwYW5ByAQTf6XSh2/lTaQhMUKk5VKJ+lUNaoUDZLITxJDWOR7/TOA9woMLhbMLBDENkmGGgS9G8VxNuZGFBJa+xD9HYAt+oOJFMFNwLw3CnR6wG5T3ccRDmlgPI5CtVLDFQtUqhcqBAYnR9f3+gBQd+6oa3nBRcDzUwIqPSIUtct3RC6X3ccmciPX5A0PbMwMtF0zPWA1OuOhSjbzAqg9kIDNecr1Jxr5E2Hn0qsTdD9tIvup4f+v1NwA6NEw3LYdJzTztxScVB3IOkqjF+UV6w+dfDPAF6nOw6ibDErgFEXm6hbPtTpGyHdEY2MGwO6n3Vx5FFB5xMOnF7dERFl1UNLN4Sv0R1EugomAVh9WvRNEPmd7jiIsqFivkLDGwzUX22+OlGv2Egc6H7GRftfXHT+3YUU7N3TRN4U1FuWbAj9Vncc6SiIBOCZBVKnzOhmAGN1x0LkF6MMGHOtiXFvMlA2I/tfRbsHcHqGrs87g4DEhv7drASUAagQYFWrnIw6RA8K2u5z0XaPi3gn5wxQMVEdyo0vWLqxslV3JKkURALw7GnRXwDydt1xEPkh2KAw7s0GGl5vwqrxp01xgcG9QzPzB/cJovuHOtnowVdu6esSiJteW0YYCIxSCNTh1dsJQxOAsmlDdxz4ORfBjQKHH3Jw8NcuBnYwEaDiIMD9574cvk53HKnkfQKweuHAxSLq7yiAWImSCTYoTHiXgYYbTBgjLF8VbRH0rnfRux7o2zDUebpRf+JMxapVKJ+tUHmKQtXpClULFazaEX49Beh80kXLjxz0b2UiQIVPQd249OXQvbrjSCavO9U1i6U85kRfhmCm7liIhitQrzDp3a90/MMcXrd7gO7nXHQ9Leh6xkWsLb86ybLpCrXnGqg9V6H6zBFMXhTgyBOvJALb8+s1EmWo1XFD8y7YoDp1B+IlrxOApxcO/rcCPqo7DqLhMILA+LeYmPhuc6jyXobsLkHHP1x0PDp0f32hTJozQkDtOQbqL1cYddHwXjtcoP1BB3vvdBFjoSEqXD8+d304bwsE5W0C8PTpsbMg7rMATN2xEGWq/lIDUz9qIjwxs6+Y2EDnUy5a/+Si65nC6fS9GCFg1PkGGl5noPZ8AyrDKoXOALD/5w4O/NLJ2SUOIh+5SrkXnLuu/BndgSSSlwnA48vECnZFnwewSHcsRJkIjlWY8UkTdcsy6+libYKDv3fR9oBbtDX3gw0KDdcaGPcGA8Gxmf30DO4T7Piyg+7n05zJSJQ/NobM0BlnvqjiugM5UV4mAKtOj35aQb6iOw6itClg3I0mpn4osyHv/i2CA79xcfhvDsTOXnj5RFlA/XIDE95qonJeBj9BArQ96GD3f7uwu4szSaIiJeqT560PfUN3GCfKuwTg6cWDM8WWjVAI646FKB3BBoVZX7BQuzT9s/6+LS72/shB5z9L+4y2domBKbeaqFqY/nsX6xA032aj8+nSfu+ooESUwvzz1pbt0R3IsfIuAVi1KPIAoF6rOw6idNRfZqLxMyasmvS+SpGdgr0/cNDxhAPwJPZVtecYmHqricpT0kwEBDh4j4Pd37E5N4AKgkDde8Ha8I264zhWXiUATy8cvNw15G+64yBKxQgCMz5hYdzr05ujancL9vzYwaF7nYKf2Jc1ChhzlYlpHzQRSnOOQGSnYOsn4ojsYjZF+U+UuvLCl8J508flTQKwaYEEj4QGX4Zgju5YiJIJjVWYe7uFqnTOVl3g4B8d7PmBA7tHbydlhIBArYKyhv63ERr6+rsxgTs4VJXP7hG4Ma1hwggDk95uYtLNVloFk5x+oOmLNg6vZGZFeW9LmRFemC8TAvMmAXhq8cCnIPiq7jiIkqk9y8Dcr1kIjEr91YnsEjR92UbPuhxdq1ZA2SSFijkGyqcphCcC4YkKoXEKgVEq7UWG3MGh6+zR1qFSwoP7Bf07gMgOFwP7JGeTFcumKsz6jIWaxWkkWgLs/42NXd910i55TKSDEvnYBWvLv607DiBPEoBnFkYm2qbaCqBSdyxEXsZea2LWZywoK/njxAVafmlj7/84WT2bNsuB6lMNVJ+hULPIQOU8I+srCbrRoQmMPRtd9KwDutc4sLO5xK8Cxl1nYsZHrbRe25GnXWz9ZBxOJIsxEY1MTyzgzL7sOf2LBeVFAvDU4oFfAOBiP5SfFDDtVhOT35mi58fQAjzbPm+je212TkPDExTqLjRQd4GBmkXGiNcUGClxgd6NLjqfFXT8w0F/lhb0CU9SmPNFC9WnpR4N6N/uYuOH7bwrl0x0lCj8z0Vrym7RHYf2BOCfi2ILXcN5CUCGNcKIsk+ZwOzbLIy9OvVkv/bHHDR92Ybd528MgTqFMcsNNFxhoPpUIw++td4G9gjaVzpofdDFQIu/HbAygSnvMjHl3VbKioLRNsGGD8QR2ckkgPKSAxiLLnoxtEFnENp/Sp46Y2ClKFymOw6iExlBYN5XLdQvS975iwPsutNBy29sX2/tq11sYPzrDYy+2IQK+NduTgjQ9ZKLQ39y0f53B+LjlKdRSw3M/YqFQIpbL+Ndgg0fsNG3lZMCKC/946IXyy7VGYDWBODxMwavUYb8RWcMRIkYYeCU2wMYlaK4T7xTsPnTNrrW+NPJKAtoWG5i8ltNVMzSnp/7ItYu2H+Pi4P3OYj7VMEvPF5h/jcsVM1L/vnYvYINH7bR8zKTAMo/rquuvETjbYHafmEeXyaW6ht8GcA8XTEQJWKEgFPvCKD2zOSdS2SPYMN/xjG4f+SdmrKA8a8zMfntJsLj/fta2j2CyB5BtE0QPzJ0VuxEFdyowI0CZlhBBYFAlUAFh/7bqgbKJiqUTTaGt5KfBycC7P+DjZbfuL4kAkYImPclC6MvTj5C40SAlz8YZxJA+Whj2/Tw6Tfdo7Tcw6otAXjyrMH3ishPdD0/USJGEFjwrQDqzkne+XevdbHx4/bI7+1XQMPlJqbdYqJs8gi+ji7Q1+SiZ4Ogf6cgslsQ2SWIHR5ZfIE6hfLJCmWTFSrnKNQsNlA5U41oxo4TAfbd5WDfr224gyMKDzCAmR80Menfk0/QtPuA9bfGeTmA8o4o3HzxC2W/0PHcWhKAx5dJGP2D2wFM1vH8RIkoC1jwtQBGX5S8d2t/3MGWz9kjvsWvaq6BWZ8whyb2DcPgIUHn8y46nxd0vuAi3pmbCW+BaoWa0xVqz1CoPctE5TAvVUTbBDt/6KD1kZGXRZ54k4lZH7OS/qLFuwTr/iOOfk4MpHyisGfgSHjO1c0q50Wt9SQAZ0U+DqjbdTw3UUIKmHubhXEpZvu3/tXB1i/YIyrna1UAMz5oYfx1ZsrZ7CeKHRa0PuLg0ENu3nRk5dMUxl5pYOyVJsITMv9J6XrJxfav2YjsGdnrGXeNiTmfTX6HQLRd8NI744i25sd7RwQAAvWfl7wQ/l6unzfnCcCq86QqFhtsBtCQ6+cm8jL9PSamvSf5MPLB+x1s+5o9okpzdUsNzPm0hfC49L96bhzoWOXg4F9cHHnWzd+1BBRQc6qBsVcZGHeVmVFRIjcG7P6pg72/HNn723CZiflfTF6sqb9Z8NJ7YrD7h/88RD5rDwbDM89/WmWzrNZJcp4APL5k4Esi+Gyun5fIy7jXmJj3ueTDxwcfdLDtK8PvnIwQ0PifFiamuXgQADgDwP57bez7jYtYjob3/RKoVph4o4lJNxkI1Kb/M9O9wcWWFfaIagg0XGZi/peSjwQcWe3i5Y/G8zeZopIjgs9d+kLZl3P5nDlNAB5f3DNazMBOAFW5fF4iL7WnGzj9B4GkZ4xtKx1s/vzwO/+KmQoLvhxAxYz0vm5OBGi5x8a+37qIdxVWx38iswyY8DoLk//NSHuFPycCbPuGjda/Dr93HneNiXmfTZ7U7b/Xwfbbc7SwAVFq3YFgdPoFq2o7c/WE6Z+O+OBtk2/7PIBLcvmcRF5CoxVO/34AVqV3L3H4KRcbPzv8zn/schOn/XcAoTGpOz83Buy5y8amT9s4vMqFM9IZ8nnAtYHujS723+vAiSjUnGrASFHUyAgAYy4eGjnofMEd1nvft10Q7wHqz/UeBqieb2BgP9DXXNhJFhWNsGtb0V8e+MoTuXrCnI0APHZ2T71SgV3g2T/lASMALPphADVJZuD3bHKx9v3xYXXEygBm/IeJqW9NfhZ6VOeLLrZ9w0Zkb3F3RqEGhVn/aaLh0vTOPbo3uNjwX/awL4E0ftDElLd4D+84g8CL74mhr6m433cqGD3BQHRarkYBcjYC8LZJn/0cAK1lD4mOmv0RCw1JCsgM7Bes/UAc8b7MOwZlAQtuC2DiDak7/1iXYNs3bTR9z/atSl4+s/sFbf9w0b3eRfUCA8EU8wPCYxXGXGzgyPMOYsO4HNK5xkXFDIWK6YkTPcMC6pYYOPiQDTcvVminEheyxRi8q+WrT+TiyXIyAvDXc7rrLAnsBs/+KQ+MPs/EwtsDnke/3SdY8+4Y+odxW5oRAk79SgCjz0udWx961MH2b5dGx5+IEQAaP2hh8htSJ0p2r2D9J+LoWp/59QAjBCz+URDVScoGH3zYweYvMQOgfKC6Q1Zu5gLkZATg7ZM+9xlAccEf0i5Yq7DoOwGY5R49jgAbV9joHEZHY5YBC28Pon5p8q+VGwea7rTR9H0bTs5Lf+QPcYGOZ130NgnqlxgwQ95ZgBFSGHuZiZ6tgkiGpZfFATpWuxh3pQkznPg5qmYZ6N8r6MuT2gpU0sK2aw3c1fKVJ7P9RFkfAXh4iVQHMLAHCrXZfi6ipBRw+rcCGH2udwe962c2dvxv5jPDg6MUFt0RQNXs5JV9Bg4INnwmjh6WpD1O2XiFU74UQM2C5O+fGwc2fDaO9qcyv0Og7mwDi74T9Lw9MN4rWP2WGKLtTAJILwV0muGyKRc/oXxeXPx4I6jonZ6AMfg+GKiFArhx07lNeI2ZtPPveN7Fzp/ZGbdrVSmccWfqzr99lYPnb46hZ5ur/b3It23gkGDNrTG03Jc8+TICwKlfDgyNsmT4HEdecLHrZ97tB6oU5n7C0v5ecOMmCqPswYGbkWUqm40/fJWErK6BXQDGZ/N5iFIJ1imc+9sgAtWJD/l4l+DZt8YQ7cjs7M8IAGd8J4hRZyTv/Fvus7H12yOrclcqZrzDwsz3JJ8X4AwCaz8aQ+e6zN5QZQBn/jCI2tO8P6/1n46j7QlWCCLtdgVCZbMvfkJlrVhFVkcArK7IO8DOn/LAnA9bnp0/AGy53c6484cC5n86kLLz3/1rG1u+xc4/XTt/YWPTV5JX6TPDwOm3B1E5M7OfMHGBjV+MJy0DPO9jFgJVWT03IkrH9Hh04PpsPkHWjvK7bxSzZv/AFgCzsvUcROkYvdTEGf/tXX1m/19sbPp65kn2nA9ZmPrGJCUEBdj+Axu7f8dqc8PRcKGJ074QgBH0fszAQcHzt2Q+cjPxGhMLPuV9TOy9x8bWO/i5kV4KeOHyZ8rPzlb7WRsBqNk/cD3Y+ZNmygTmfNC7k44eFmz7fubDvVPflLzzFxfY9PU4O/8RaHvKwUsfjyVddrlsvMLpXw+krC54ov0POTjyoveQzOTrLVRM5SgA6SXAWSvPHzg/W+1n8xLAR7PYNlFaJt9goWJakqH/b9uwMyz2UzPfwOxbk68cuP0HNvY/yOvII3XkRRfrP5f8ckDNfANzP5z88ziJAJtvj8P1uA1TWcDs92fYJlEWuK58LFttZyXF/dv5/YtF1JpstE31tET3AAAgAElEQVSUrkC1wgW/95741/qkg3Wfyaz4S6Ba4dyfBxFOsrDN7t/b2PZ9nvn7adK1Fhb8V/IOeePX4tj/UGZJ14y3W5iVZBnoNR+OoWMNJ2+QVmI65oLlq0Nb/G44KyMAIopn/6TdtDebnp2/G8OwOukFn7SSdv6H/u5g+w/Z+fut5QEbzf+X/H2d95EAKqZkdk6z+7d20sJCjUmSA6IcUY7pfigrDfvd4KPn9U9wlNoFIMnUHaLsCtYqXHR3CGZZ4v07fmWjKcOCP1NusDD/I94dwpGXXKz5eIw15bNowScsTL7W+zPo3uJi9ftikAw+2nGXmDj9C96TCNZ8PI7Dz/FyDmk1GIi70y57rrLVz0Z9HwGwgfeDnT9pNv3fTM/OP3pYsPPXmXX+VTMMzE1yTTh6WLDutjg7/yzbcoeNnu3eQ/I18wzMfFtmZ+2HHnfQucG7zVnvyumq6USJhOMB8z/8btTXBODhqySklHqPn20SZSpYqzDleu9OoPmXDpyBDBpUQ2eeXrejiQus/1J8WKvVUWbcOLDutuT38c/4dwuVSSZ+nkSQdDSoZp6B+rOyXjSVKAV538NXScjPFn29wKX6Bm8UhTF+tkmUqck3GDDDifcNtApaHrYhGfQPE68yUXuKdwew4y4bHWvdLNfVpKP69ws2fjPuOWxvBIBTPhUYuhSQ5vy9jnUujqx1Ubco8ec87SYThzkZkPRqUL0DNwD4nV8N+pzWyq3+tkeUGSMATHldkrP/X2S27nugUmHOLd7tdb7sovkXnPSXawcfd7DvAe/3vXa+gQlXZDZ0v/2n3u2NWWKiknUBSDNR8PUygG8JwCMX9J3mAucKAG7cdG3jl5sI1SX+oR44JGj5m5NRe43v9G7PGQTWfTkO19H/uktx2/x9GwOHJOFnAwCz32PBCKff3pGXXe+5AAqYeqOp/TVzK/ntwgeX9Z4Cn/iWALjKvFX3CkrcuE17vfdZ3+4/OkMFZdJsq3qWganJ5hL8ysZAq2h/zaW6OdGhJMBLeLTCjLdktrrfrru9Z/tPXG7BLNf/urmV9qZc07d5dr7MAbh7mVSKG/k3P9oiGq6a2QaqZyXOae1+wd6HbAgk7fbm/IcJ5ZFP9O91sfPueAatUTYc+qeN9ucMjFmS+IOafpOF3X+0EetO75M6tMpG5ICF8gnqpH1mGTD+EhP7HuIlH9Lq7X+7XD59xaMqyVTY9PgyAlAmkTcDqPajLaLhmnyN99n/vocd2P3pd9ejTjUw5izv9jZ9L7O5BJQ9m74b91wvwCoDZrwp/bkA4gJ7/uTdwU++mrcEknY19kD/jX405NclgHfqHhbhVtqbWQZMvMzjx1mAvX9xMmpv9s3eg2OHnnLQviaz9rhlb+s/INjxe+9sbOr1AQRrVdrttax0PJO7UacYqJhiaH/N3Ep7EwM3wwcjTgDuv7hnDoAleTA5glsJb2OWmrAqFBI5ssFF71437baqZxsYvThxMiEusOUnce2vl9vx247fO4j3SsLPzCoDplxrpd1WtEvQ+oz3XIDxyzgZkJvuTV1w/7LBRozQiBMAw7XehaG8hEibCcu8h2b3ZrpAzI3ebR18wkF/ktrxpIcdEexOMnQ/7TozoyWD9z2SLAFgUSDSTplw3jHSRkY0CfDxZWL1IfLv/DkkncwQ0LA0caftDAIHnky/8E+4XmH8xR5fCwGafptZESHKnZ33OZhxUyBhEajQK59ry8r0JvC1v+gg1iMIJlhMqnqmgfLJCv0t/OUjfQR4x903ym033aOGvVDFiFLZPolcJcD4kbRBNFINS03Pyn+tqx04Hmu+JzL5aguGR//f+pyDnh2sBpevYt2CPX/x7uCnXJ3+z51rA4dWJRkFOJ+rBJJ2E8sP9182kgZGNpZl4K26J0Nw4zZ2qfdhfODJ9CfrKQOYcpX38H/z72ztr5Vb8m3HPTZcjxygfqGJiokq7bYOPOmd7I05K/12uHHL1ubAeCtGYNhp7P3ntVe5wDUjeXKiEVPwvF3PGRwaAUh3oLZ+kYny8Srhvq5tLjqSrBhH+WHgsODQ0w4mXJTgmFDAxMtNbEuzdPPhtQ7siMAqP/mYqDvVhBEeOsaI9JHr7l4mlTc9ofqG89fDHwEIlN0AwGPBVaLcqJ5uIFyfuNNuX5vZ8P+kS7y/Di0ruR58oWj5e5Jqfhenfx+/awOH1yZO+owAUH8aawKQdhVhY+C1w/3jYY8AiKFY+Y+0G3Om949w2wtu2hP2DAsYd77HrX8O0PK4w8l/BaL1OQexXkGw6uQPrHKygaoZBnp2pTea07bGxbjzEh8Xo89QaH1hRKESjZhA3oxhrhA4rBGA+y7vbQBwyXD+lshP9ad698pta9I/ax99uplwxvfRdqJdnPFdKFz7lbkfHsZ7JHqJtL3g3U7dfI4AUF648r5Le+qH84fDGwGIm28SJZwGS9qNmp84h40cEvRlcL9+wxLvXHjfY+nPI6D8sG+lg2nXJP6JGnOmga13pddO30HB4GFBePTJyWHNbAPKguekQ6IcCUDMGwH8ONM/HFYnbii5icOhpFvFBIXQqMQHYsemV2b/p2nsWYkTACcKHHwms7ZIv47NLgaPCMIJlnKum2cgUKkQT3NtiCObXUy48OSzfTMI1M42cGQLJ4eSXgpqWAlAxpcA7l7WN04Uzsn074j8VjfPewi2c3P65+zl4xQqJyf+KnRszGwiIeUJAQ6vT9wxKxOoX5j+T1/HJu8OvsZj9Umi3JKLXrk0n5GMRwBMU90g/i0iRDRs1TO993VsctO//e9U70SifV0mCwhTPjm83sUkj1n/dfMVDj6TXjudW70TgOrpiscH5QNTbONaAP+XyR9lnAAoqNdD8ZAn/apnJM5D3TjQs8dNe9i+boH3Aw+v5/B/oTr8snfHXb/ABFR6F+979sjQCiwJjoOqaQaPD8oLSuH1yGYCcN+lPfWi5MKMoiLKkuppiROA3n0unAwmZtV5TCS0I4Ij29MfSaD80rPPex5A7WwDMABJ4/J9rF8QaReUN5zcTvU0jgBQ3rj0wdd0jbrmodrOdP8gsxEAZVwLNbIFhIj8EKhUKEswMxsAunelf/ZvBoHqqR7X/ze5Qx0Ez/AK1uENLiYlqApohoDKiQZ6W9KbwNez20V5w8ntBKsUgjUKsR6mAaRdIBqzrgGQ5j0uGSYAouS6jEMiyoIKj5K9ANCz++iq2alVTTGgPKYAHNnqpt0O5aeeXS6QqCwwgKppCr1prujX1+ICZydup3wsmABQnlDXIhsJwMNXSShiRy7hDyLlg/Kx3vNQ+w+mP3Gverp3O70tnABY6HqT1IKonqqwf1V67fS3eu8rH2ugs4m3AlJeuPLhqyR09SMqrXuX0k4AInbkUiipHH5cRP4pH+c9AtDfmv4lgKrJ3g/s259+O5Sf+g54d8zl41Xan2+kLUk7Y9Nvhyi7pHLA7b8AwGPpPDr9SwAK1/BsiPJFeZI7Xvvb0j9zLx/r8cstQA9HAApe737vGfzlDelP4Otv835kqI7jopQ/RPAapJkApH0/v4hcPeyIiHwWqk3ccTsxINqdSRGgxF+BgSMCe4A/64XOHhAMdCT+HD2TvwSSrQWRaNEhIn3k2nQfmdYIwL1X9p0mgqnDD4jIX14L97w6GSvN3+TyMYkfyOH/4hFpc1E2+uQJfOHa9IfuY71JRgCqeQmA8omace/lPXPf8Gj11lSPTCsBEMGVPBeifBKqSfyLG+3JbNjeK5EY7OTwf7GIDyT+d6tMpb2Yjx0D7EHACp+8L1jNSwCUZ5RxJYCUCUBalwAEWD7igIh8FKhMMQKQBjM0VAcgEXtwOFFRPrIj/gzfey0eZJXx9J/yi0h6fXbKEYCfL5OwqP7zRh4SkX8SnYkBQ2d76a5UGfA4+x9qR9Juh/JbsmTOCKd/vLhxjzYC6bdBlBMKF6VzO2DKEYCysv4LAZT5FhiRDwyP1NWNZzIC4P2rbUcyjYjyVbLJnEYg/Z7b69jyOhaJNKrolr6Uq/amPHSVYDmvb1G+8frhduLpX49N9sMdH+R13WLhNQcAeOXsPc12vNaXMCyuB0D5x1BYDuCJZI9JmQCIgeU8uinfeI4A2Eh7RrZKcvTbg+m3Q/kt2SQ/ZSLtz1mckbdBlCsCtRzAZ5I9JuklgLuv6K6D4FRfoyLygfI4ctNZ3S1VGwAgDrNeIipoi/90XWdtsgckHQGwDetCpSTtYkFE2qkMJmQleZyAE7uKRdLPMYPjxTMlzOSYI8odYzAePA/AQ54PSPbXSsmFvodEREREWackeR+edATAFVykmNlSAUl/IeDUj+NFgOKXyfGSqh2ifCPARcn2eyYAv76qo1oZWOh/SERZ5sMlAKgM2qHC5dfnzGOF8tPin17bXvWuB8b0JtrpeQlAmeHzAZxcQJuIiIgKgVVmly313Om1Q7lyPie2UCHy4xKAX0PDpJ/jUcEPGLoVNO26EYHE/+5mUHuCKOeUXABgZaJdngmAmLKURzUVHgFUmgdussepFPupYAwkWcq3crzC4W2pP2dlAhUeK0cOdLo8ViifLfHakTABWLFCDFnTtzh78RBlD0cA6FiRw97FISafa2LXE6mXAxx/uolAeeIEINLBlSMpjyksWbFCjBUr1ElfhIRzAGa/1H8KgOqsB0ZElGXtW104scT7Ji+1MG5h8qlOVghY9A6PZSMBtG3MoPoUUa4JahrX9s1NtCvhCIDrukvA+/+oEGUyqzvV4/gVKAp2VHDoZRsTz0zwc6eACz4Zwj+/EcWh9SfX+g1WKpz/iRBqp3mVngT2PWfzWKH8JrIUwOYT/zlhAiDKWMIBUCpErANAiWx70CMBwFAnf+kXw9j3nI29zzjoOyQIVAANCwzMuiKAUJV3797ygo3+wzxSKM+JWgLgZyf+s8ckQDk7y+EQEeXMgZccHFzvYLzXcL8auhwweWn6a/uKC6z7VZJbDIjyR8KJgCcd7T9fJmFRffOyHw9Rdvhx+6qwvnvRee7HMVx9exjBSn8+2A13x9C5z+XwPxWC+T9fJuGbn1CDx/7jSRe2jNqe05DGMsFERIWk94CLp74Z9VzWNxN7n7Gx/vc8+6eCEbCqIvNP/MeTO3oxFvHMhwpVJmfuqR7H70HxOfCyg0c/P4iL/l8I4erhfcA7n7Dx7A+jQ3NEeIxQoTCcRQBeOu6fEjxsUW6iISLKvdZNDv76yUEcfDmzoYDBbsEz349h1R1Rz9sKifKVK+qkvv2kEQCl5AzhqQ8RFbGeAy5Wfn4QE88wMedqC+NPs2B63OrftdfF7lUOtvwljvgAZ/xTYVIJTu6PSwDuvlHMSLzvFA5rUSHz4xIAJwGWhpa1DlrWOrDCMTTMMVBWp1BWa8COCvoPC7r2uug9dEyhHx4TVLhOO7Ei4HEJwIDdOxNQZbmPi4hIH3tQcCBBISCiIlI548XuqQB2Hf2H4y8BuFjAsx4qdFwLgIjoZLZlLIBXAiCGOuk2AaKC40cp4ExKChMRFQBDMB/Ag6/+97E7ZWgnERERFRlRx/fxVrKdRIWGawEQEXlKnACsWCEGXu6bk/t4iHzE1QCJiDyoeQJRCkqAYxKAiZu6pwpM3gFABc+PM3dOAiSiIlT5fzcMTMR9aAGOvQRgoxEGf/KoCCgfjmMl/rRDRJRPlNMIDCUAr04CNA2zUVtARERElHUm5NW+/tURAFEyU3jCQwWOkwCJiJIQzDz6P/+VAACNnPREBY+TAImIkkkwAnDMPxIVMlYCJCJKTI65BGC88g8KUNP1hURERETZp46/BPDzG/tGC6RcX0BE/uFqgEREnqp++G9do97329pOAwDihjNZd0RERESUfYGoNRl45RKA4RhMAIiIiEqA+8pJvwUArpLJUBzvpMIn8OcSAHgJgIiKlRhTgKOFgJTiCAAREVEJECXHjgCoSYpVgKhIcC0AIqKk/pUAKMgEFj2hosBCQEREKch44JVLAAoYqzcYIiIiyg01Fnj1EgATACoOGU0CTLaTkwCJqHg1AID6yXsl4Pb0RsEBT8pjo6ebmHK6iXGzDdROMFDdYKT+I6IcsGNALCLoOuiifaeDlg0u9m+04Tq6IyPy5LYeqgqpH90YmSim3aI7GqITGSYw67wAFl4TQP1kdvhUOAa6BesfjmPDX2OwY7qjITpZQBnjLJjSwHN/yjcNM0wse28I9VPY8VPhKatRWPrmIE69IoDn/hDDtn/GdYdEdJw4MNZyJT5GKf7IUv5oPMfCxbeEYQV1R0I0MhV1CpfcGsL4uQae+nkUrq07IqIhrmCMBYVRwjueKU+cfWMQZ14f0h0Gka/mXRxAzXgDD31zAPFB/t6SfqLsWgsKtbwEQPnglOXs/Kl4TZhr4or/DOOhbw1AXN3RUKlTYoyyAIxiPkq6TVpg4fy3ptf5D/YKultdxAaByjrACioM9gp62l0Mp6BlxSgDVaMVDAPo7wK62xyWAaS0GKZCeY1C9RgD5bWpz6SmLLSw5KYgnv09ZwaSXqJQa7mGUcMywKSTGQAuuSUEw/R+jLjA1n/GsekfcbTuYAdN+Wf0VBPzLrKw4NIgTMv7cWdcE8KO5x207eR9gqSPgtRYgNSy4AnpdOrlQVTVe09E7W518fB3B9Gx95gfTB6zlGfa9zpov8vB+kfjuOpDYYye6pHRKuCcNwfx568O5DZAomMIMMoAUKM7ECpdwbDC4mu9p/t37HVwz22R4zt/ojzW3erij18cwP4t3sfspPkWppyaZJiAKMsMhVpLKVRyNJV0mbnEQrgy8en8YJ/gwe8MYrBfeMZPBSUeEzxy5wDe+MVyVI1OPLq14BILezfyvkDSQyAVlguU6w6EStfMM73Pgp7/Uww9hzldmgrTQK/g6T/EcOX7wwn3T10YgBEYhMMaQaSFKjcAlOkOg0qUAibMSXyddLBPsPEfnClNha3puTi6DiVOYq0gMHZmkpmvRNlVZglQzuFV0qGq3kCwPPHBt2udDdsBh/6p4O140cbi1ySe51I3ycT+bZzfQlqUG1C8BEB6VNV79+5tuzn0T8WhbZf3sVxdn8NAiI5XbiheAiBNAmHvBCDSxampVBz6Or0TgEAZh7hImzLLVUg8Q4Uoy4wkd0HZtoD1KagY2Ekm+hsmeJyTHgplBgDejEpERFRKBJYlTABIk2SD/JJivxfDBGrHGbACPK0i/7i24MhBF+4w5utl4zgn8oFpQYH3oVB+yrAPn3tuABf/ewghjzsLiEYiHhU8fW8M61ZmeHtqqsORhyvpYRkAEwAqfOMbTVzx7jA7f8qaQEhh2VtCmHkGB02pGIhpCRMA0sTPodG551hQ3usJEflm3nkWml/yr4QvLwGQHsriJQDSJ9nJukqx/wTJVhMk8lNVvZHZsD0vAVB+Mi1h/kmapB4ByOTY5HFMuZPJsZnssZkf50T+saDggHcCkA4+jgAQ5ZRfIwA8zkkfxxIwAaD85Mf5fzwqWPt3LipEmVtwXhAVNYl7Zz/Hpnj+T5rYlgIcHoBUrKIDgn/eG9UdBhWgqfMtVNRwihQVLceSoUsARPnHz2FWokx5HTd+D9vz+CQ9bEsA/+5nIcpAriqkcYSL/MZLAFQEHANMAIiIiEqKALYlCoO6A6HSlGwVNFH+rZLG1dbIb5kcU7k6zokyNGAIMKA7CiIiIsqpAUMBEd1REBERUU5FLFES4TRU0iLFzP2MhlmT7ePhTcPgdUwJMjymUjyWxyfpoSIWoHgJgAhA/TgDc8+yYJgK21+y0bqXd8gWg0mNFmYtMhEbFGx9wUbHIVd3SETaiZIBS6AivBGFdMin2wAXLA3g6pvLYLyyptA5V4fwj3uieGEliwgVsrOWh3DJjaFXz8LPuQZ4+OcD2LQ6PqJ2/boN0M/jnChDEUsp6eMBSHnJr6HRFO0EQgrL3xx+tfM/+jcX3RDCljVx9HXxjLEQVdYauOiG0HGfv2EAy98cxvZ1NuLREfzycTVAKnAC6TdE0KU7ECKdxk8zESo/+VfYtIAps1kKtlBNmW3CTLDKSahcYfw0fq5U2hRwxBITXRyDIh18vT86RVvJRPq9vwCRiHCSVoGKRJJ8rv0j+1z9qgOQ6WRXIh91cQSASl77fgcHdp084a+r3cXebSyUWaj2brPR1X7y5ZsDuxy07+cETyp53ZZS6BKOAFAe8nOiVSp/+skAXvfuMCY1Do0Zt+xw8NAvB2AXSf+vDGDaHAvT5puYMM1E3VgT4XLAtBQGI4KeIy7a97vYs91B07o4BpKMihQK2wbu/kEEr31H2atD/nu22njwF4MjHvTkWgBU6ETQabkKXRyBIi1SreCXo0mAANDT5eKub0VQU2fAtgX9PZL23+Yz0wIWXRjEOZcHUVlrJHxMWYVCWYWJsZNNnLI0AOffwtjyYhxPPRBFd0dhT4DsOOTiF1/vR02dAdcFeo9O6Eznc+VqgFTElEKXBUGnMAclDZIdd/LK/2X7eU7UdaR4hoZnnx7AZW8Io3Z04o7fi2kBpywJYN7iAF58MoonH4iObMZ8HvD7c83kmEp+nGfWFpF/VLcFV9qR2e8DEeUzBVzwmhAueE14RGeXpgWcfWkI0+ZauOcHEXQfKezRACI6hnJbLSi7FSrBvTJE2ZaLSwB+D9fmOcMErn93OeacHvCtzYaJJt7xyQr8/vsRtO4rnhGSEfGrDkCJHZ+UP+IItFnxCaPbrUNdLsBxAMqtXFRIK7VKa8tvCvva+R9VUW3gje8vx8++3v+v6+hFLulaADl4HqIscuZ3VHYYK1YoG8AR3dEQ0ciceVEIiy8MpXycYwMtO21sXhPHxudj2LPdRmwwdTdUWWPg9e8th+V/fkFEuXX4pnuUYwGAq9CmgNG6I6LSknIEIEeFgIpBVa2BS1+fvPPv6XTx1ENRbHkpjugJHb5pAY2nBHDRNSE0TPCukjdxuomzLgnhmUdLe40EvwoBZXycE/mjFQAsADCAVgHm642HiIbromtCsALePcmG52J46LeDsOOJ0y7HBrati2P7y3Ese20I510R9mzr3CtCWPt0rChqBRCVqDbglQRADHUQrAZEuZZHdQAKWV2DgYVLg577X3gyir/dPTj0H6nWphfg8QeiGIgAl12fOAkIlymcszyEf9w/ONyQCx8XA6JCJjgIvJIAuHD3KR6FlGdyWQmwkC08JwDlMYV3b7ONR+/NvPLds49FMWGqiflnJL7gv/CcIB7/yyDc0pgPeBJWAqRCJkrtBV6Z+W+42Kc3HCIarjmneczKE+DRPw6/k37sT4NwPEohV1QpTJzG24eJCpGBoT7fAgDHVPsU01DKMV9XAxzm8xS68kqF0WMTT9rbs8PGgX3OsIeYuzpdbNsQx/xFiROMKbMs7N1VJIslZIirAVIhc+HuA46OACiOABAVojHjTM8OfvuGkXfO2zd6tzFmPHsuooLk4F+XACzX3Ks3GiIajsoa7/pdh1tHfoH+8CHvyn/JnpuI8lfYPeYSwKd/UN2x4gOdEQDlWqOiksI6ACMX8J78j0hERvza+5Pc6hcMqqJ+b5OtBpjRJYAU+4r6PaR81PPJ/6nrBo4v/7tTUzBENEwDA97dS3nFyHuWsnLvNvr7SvQWAKLCtuPo/3h1Gq8AzQBO0RIOUQK8DTC1vh7vV1ffYIz4tdfUeQ/zd3e6Rf3eci0AKkZqqK8HcEwCAEgzFMeiKIdYCGjEupIs0Tt3oYVnHh9Zyd5ZC7xv9evskKJ+b5PiaoBUqESdnAC4wA4eh5RLuVgNMNXzFLqeHhdtBx00jD/5VsDJ0y2MnWji0P7hLeEbCivM9aoxAKB5q13U720yfo5Olep7SHrIMZcAXh3fU2LsSPxwIspnTZsT36qnFPCaG8PDHthbdlXIcx5BT9dQ4kFEhcWAnDwHwFVoNlgNiHIp2fGmJPl+v56nCKx7PoZzLwkl7OinzLBw5Q1hPHLfQEZtnrIoiKUXea8uuH5NDIJSvgSQwTGV9LE+HudEaZGTLwFYo2v2OEc6BwCUaYmJSg4vAfij9ZCDzetjWHB64nsCl14UQn+f4MlH01u8Z+4pAdzw1nIYHvP/YlHB0/+IFv37mgzXAqAC1bfizrr9R//j1a/4ihXKhcLWVyelcOOW7S0Vv9rT/TpzsD3+1yicJCPyl1wdxpjxZsp2yisV3vC2cpiJqwsDAFb/M4pIRLS/5qxvyehsixu3YW4KajOOGXI6boqvCDZDYRGI8gBvA0xf6yEHK/8yiCuvS7yEr1LA1BkW2pJU9gOA6bMDCIaU5/6DLQ4e/2vmqwsWG44AUCFylbv52P8+bpBPFDaDiArSM08OYsf2uOf+SJKqfkdJkto+sajgD7/sh12a6/8QFbyhEYB/OW4EQCm1mfko5Yz3iea/hq2y/TxFRADEYh77BNizy075Xuzb6927C4ZWCCyV9zOpTN6DXB3nRCm4gHcC4Bj2ZsNNcvGPyEecBOgvwwCmNyYu3NN60EFvb+rSvd1dLg63ORjdcPLvQCikMHGqhT07OQTAOgBUiAzb8L4E0Lxv9A4AkZxGRES+mDzNQjic+HSyeZv3pYGTH+vdwTfO9q4MSER5rc8aXbPn2H847tt8zz3K+fRHjmwAsCSnYVFJSrYKmih/Vknzq51CMHOOd+fc3OSk/T40N9lYekHiGgCNcy089rfhRFd4vN4vv4+pUjk+STPBuhUr1HHDgInu9F2bo3CIyEezPBIAx0FGw/Y7m2zPWwonTraSrhBIRHnKOLlvPykBUEwAiApOuExh4uTECcCenTZisfSvNEejgv37EicMhgHMnOW9PgAR5SlX1p34Twl+MYyXRHGdb8q+XFwCSPU8xWLm7IBn5b7mJjvj96Bpu40p0xInFDPnmNjwcoYBFplM3s9cHedEyYgyUo8A9Ng1GwCkP2OIiLRrnO19905TktoAXnZs975kMHsORwCICkysP157Ug0k61oAACAASURBVJ2fk1L8O+9U0U9+7MgWAKflJCwiD36eZRW7xtmJO+WBAcGBA+lPADxqz14b0UFBKMFdBbWjDNQ3mDjcXrqrAfp1bGbaFtFwCLD5zjtV9MR/TzhoKILnsh8SEfmhfrSBuvrE4//N2+Nwh3FFz3WBnUkmDs7i7YBEBUMBqxP9e8JvsRjyHES9J7shUaljISB/zPI4+weApiZn2K+/ebuNefMTt90428IzT590QlEyuBYAFRIlKuFJfcIEwIJ6zuGwFGUbSwH7Illxnubm+LBff1OT9wjAzEYLpoWkKxAWNb9KAWfaFtEwKDgJRwASjhsGK0dtBtCd1YiIaMQMY6gzTqSjw8WRjuHf0dPW5qC7K/Hfh0IKU6bwMgBRAegKVdVvT7QjYQKwYoVyRcmao8Ow3Lhla/PiVzvDaauQtslTvMv/Nm2Pj7j9pubkZYF1v/5sbsn41Zbu18itJLbVJ1YAPMo7hVdqNSCXeu4nGiklyfcl2+/X8xS4WUlu/2tutkf82pub4jjzzKDHc1t49NHifW+Hfj49/j2T9zXlpa5ifg9JO+U9qd8zAXAcPO1VWIQoFzL5WUz22GL+efWaAOi6QPOO+Ihf+/YmGyKAStCJTZo0VBY4EinOdzhJ9+/rMVWc7x7lC3Flldc+zy7eNJ1VALjuJ1GeCocVJk1KnMPv32/70jH39bk4dCjxTD/DABobWRSIKI/FAftZr52eCcA3vzmmFwrrXp2NzY2b31sqfrWn+3VmaWucFYDpcQVge1Pct+dpavKuJDhrtqX9fcjqlogfbYykPW7c0t/WfOtb4/rhIek0XgGeAnBmsscQDVeqYXu/hkaLdYh11izvr+9I7v8/0fZmGxdemHjf7FmBon1/k/Hz8lQpvn+UK/JUsr3Jr/Kr5H9MRPrM9liVLx4X7Nnr33IeO3fasD0uBo4aZWDMGO+JiESkjxIjaR+edATAiQX+aQRtF6kSBaJh4GqAw1c3ykC9R/nfHTttxB0MDQH6IGYLdu+Jo3Fm4oRj1uwA2g6XVkUg39YC8PE4JzqBY8fUM8kekLRj/853ao4Ast7fmIhopOYkK/+b5N794Wpq9u7gZzdyBIAoD714xx2jupI9IJ1SXiuhsMingIj+JcWZkV9nsL61k0dmJyn/u30E5X+TtXnVFeGE+xpnBkqvLHAm72+qxxbh8Un6KaiVqR6TMgFwFVYq4L/8CYkofawDkJhhAI0zEo8A9Pa5ONjq3wTAo1oODN1WWF5+cm91tCzwzl2lc9ewX8dmpm0RpctVqROAlNf2a8K9qwAM+BIREY3YlEkWysoSnzYeLdzjN9cFmnd6Tyyc7bEeARFp0W/31SZcAOhYKb+1K1ZMH/zwpzpWKWC5P3ERDUl5e5RPw6zFNskq6fD/Djtrr3dbs43TTklcFnjO7AAeeWwwO0+ch/yaBJjxcU6UFnn8zjtVyvW605rdr9IYSiCi3JidpPpe0w7/bv870bYkBYEmT7RQUcGejCgfKCCtPjutcTsHeMQAvjmykIiOl4sCKcVWaCUUUpjiUf73UJuDzu7hL/+bSkeni44jLurrTj5vUGpoXsK6DbGsPX+ucS0AKlSuKX9L53FpjQB876t1G5XCrjwoa8it2DYvfrUznLbyeJvdmKT8b7N/5X+9tm3N3qMAc2YVWVngZPxqS/dr5FaEm+z47pfHbEMa0i/wI+qhtB9LRFkxJ8lku+07sj8LP9lzzPWoTEhEOSTq/nQfmvbUXUfkIaXwgeFFRHQyrgWQuZnTE39lHQdo2mVn/bVu3xGH6w7dinii2hoDdaMMdHRm7zJEvuBaAJSvlClpn6ynnQBIf93jqvpIL4CqYUVFdCKVYl+y/Zk8hx/t5AHTBMbUJx7/39NiIxqTrL/WyKCg5YDtOQ9h3FgTHV1FkgB4vZd+H1NFcnxSXuiptepXpfvgtBOAO+9U0Q99puMxANcPKyyiDLEQ0PEE8Lz+X16mcOmFiSv1+c00vXssZaiieb+TYSEgyksKf12xQqU9Ezej6h0i8oBSTAAoV5gCHMtxgN5+F1UVJ4+/j2sw8drLyzREdbzObgfF8n4nx4sAlH+Ui79k8viMEgAzaP7ZtZ2fAEhcDYQoE7m4BJDqeQrM5u1xLFkU0h1GQl3dLvYfsovq/faUyWvM1XFOpS4Wc6yMJutntMzvHStGdUHw5NGclRu3kW5e/GpnOG3l8/aPVYN5u+jOI48PwBX971G2j01obosbt4SbUit/9PXaTmQg4wLeouSPUIplgSn7/DzLKhIH2x08/PgAXnuZ/uH+Y63dGMPqtdGieq+T8uvYzLQtIg+i8MdM/ybjBMBw3T87pvkDAFwEnEZEUuxLtt+v5ylEjz41ANMArlxWlvB2vFxyXeCJZwdw/8qhs/9SkclLzdVxTiXNjhmBjK7/AxleAgCA7351bCuUejrTvyMi/zzyxAC+9ZMePL8+isj/b+++46Oq0j6A/86dkmRSKelEQBAUFBZBUWQVEKRZEdEVEEFQWRTrq67vvi667qq7KutaARUEcZFQLIggVUWqlEVQSqghHUibTDLtPu8fAUSYmUy5M2fK8/185g9D5t6fk5k5zz33lPrQNyF1FsKmHVa8NqMGi5fXQ42SmX+MRag106ekHPf1SX7t4SmI8kngWn+ey9gZPAgwIIWlDsxZ5ABQh/g4gSRTaLoDai0qrNazio4ofX094lsALJwQLfDnaf5t4u2wf0oGw1S/n8+YF7TsZo129VZCvTVMRwdGKHfvG6277WPh/cmCygZHnM/3/wE/bgEAwJsvZVeAaKU/z2WMMcaYZr5++6WUE/480f8reCE+IYFBfj+fxTzy0PVJwvO/a3Uexvzhy3sqVO9zFqNI/Mffp/p90zDB4lgEgTp/n88YY4yxAAjUmSz2Jf4+3e8egFdfzaqbOKViCSDu9PcYLLbxNEAWqbQan+LrsRg7x6JXX83y+0I8sEF8AnMAcAHAgoMXAmIy8W6ALMypQswJ5PkBzRs6fknLZQQcC+QYjDHGGPMNAcdOXtJ8dSDHCKgHIH+EcD7w/PG5AJ4O5DgsRjVx1e7TQCtP/8ZXWExjWg0C9PV9ztivaGb+CBHQ3N+A5/GrRB/qhHgK3JHFvNCymQ5dOhiQna4gO9392++Ga+LRs4v3m062znZ9LFOCwIThST7nZKxlM9cdpC2bKT69p0zx7r8aL25rwB+GmFBUpmLnPhuqanlJReYVUhX1o0APokmj/eDzx38goJcWx2LRqUWagmH9Tbi8k5ErRcZcUFVg/Y4GfL66AbUWLgSYBwJrpz3Xsm+gh9FkJT+C+BCCuABgLrW/wIAH70hCkombfsbcURSg9+Xx6NTOiLfn1aKonFd2ZG7N1OIgmiweriPnpwBqtDgWiy5ZLXX4453c+DPmreapCiaPTEazFMlbPbJwVUWqza+1/8+lyZa+W9b+09aj75N5BFyhxfFYdBAAHr47GenNeOdoxnwRbxRIb65gy26r7CgszAgS06ZPyfR5619XtNvMR697G051IngwIDula0ej28F5jDHPunYwok2uHoeLHbKjsDCiQszQ6lia9TFNe7bFzwT8cHoFN37wo0cn70fxM8bO172TUfrnmB9h9Vg747kWu6ERbS/PBN4Dobemx2QRq22u67cXETDrSzO27LbCweOcWAwz6AX69ojH8P4ml/9+oZvPEItNJOg9LY+n6bsrPqVqQX1N2lQA6Voel0Wm1CTXHUwHjtmx/qdT9zb5hhGLYTYnYfmmelzXIw7paeePlUlNVnihIHZaWbUjfbGWB9R0mOmbky+ygqBphcIil0Hv+purroFCnISx8Gapd/2ZMOi49WenCLybP0XYtDyk5vNMFAXvAtA0JGOMMRbDrA47TdP6oJrfYJr+v+kl9/2tYj6AUVofm0WPUHVrpiUpaJ9ngNmiouCYPaLGHGS10OGCTD3KK504XBI5I8EFgDY5eqSn6XC0zIHSE5Hzout1QPtWBiSZFOwvtKPaHKIV+TzsPMi3ABiR+GTWlPRSrY8blBEmKjBV4QKASXZNl3iMHGSC8dStiGPlDryZX4sT1eG/zOqI600Y0DPhTLuws8CGdxeZYXeE9+0To15g4u1JuKxd4wwQAvDNxnrkr7bIDeaFFqkKJo9IQW564714m4Mwd5kFP+xskJyMxTqdUP8djOMGpQCY+b/p28b9rWIdBM8IYK4F+6oms7kOowcnQn/WuKpWGXqMHpyIqZ/WBvfkAbq8oxE39Ez4zc+6tDdiaO94LP62XlIq7wztHX+m8QcaL2wHXpWAgiIHtu0L7zuD9wxJOtP4A43FzOjBJuwvsqPspLxeDO4BiHmrZzybsSMYBw7aWpOKEFODdWzGmtK5reE3jf9pndoYz/QIhKuu7Qyuf94+/NdV6OImY9f2rv+fwoVRL3BJ6/Mz6nUCndqEd3YW3YSKfwXr2EErAFrZWnwG4OdgHZ8xT5Ld7D2gKJ63Zw0HySbXH0t3Pw8nkZrdFC+guImYkhje7xcWxQi/5DlafhWswwdtlYkpU4Q67u/lr5MQ7wfrHCwyUQADm3QK0C7XAEUBDhQ53N4T93Sn3NP5UxIVNE9WcKJG1XxLVoNeoF2uHqoKHCiyw+nm8J5eG0//1ixZQWqigvIqJywaT7VMS1KQ01KHWguhsNz3AYlN/c1zW+qg0wkcK3dA1XiYgyleICNN5/Fv6vE19/DvQgCt0vUgAooqHB7fd5409X5lsUko4uUp/yuCNmgpqMtM6Vukz7afPP4XAHnBPA+LDa3S9XhsRDKaJTdeqtU1EOavseD7/wY+SCshTuDOfiZcc1k8dArgcAIrf6zH/DXaDF7rkGfAw7cnI/FU70OVWcXcFXXYujfw++IpiQpGDjChR8c4CNE4eO2z7+uxbJM24wVu6mXCLb0Tzlwh7z9mx8yldSjV4L74Ra0MGHWDCXkZjV9FlbUq3vvcjP3H7AEfGwCGXJWAm3snwKgXcDiB9bsa8OlqC+qtgVcZl11oxMgBJmSc2uyq9KQTby+qRdHxyJn1wMLasdqGFvOCeYKg9stNf0DYQfh3GKyfzA8JD0/8OdakYUlnGn8ASIwXGDs4EY8MT0ZKouL3uS9pY8AL96Xh2q6NjT/QOB1sUM8EXN4h8LXYDXqBh4b92vgDjVfUk25Lxvgbk5AQL/zO3r1jHF4cn4orLm5s/IHG+9kj+prQLlcfcPZL2hhw27UJv+kev6iVAVPGpuL67gnnZfI2u04nMLyPCU+PTDnT+AONvRgTb02CThf4+69bByOG9/l1FoheB1zbNR4v3JeGS9oY/H6/Go0C9wxKxKMjks80/gCQ1VyH+29Okv5Z4UeUPAS9qvXCP+cK+kLTQodpRHgWQLNgn4tFEB+7NXPT9ch0s61w1/ZGvDhej4+WW/DjXi+WGBaND6NeYHifBPTvnuD216/qbMTW/YF9BjtcoEdSgusz9Lo0DhdfYMAHX5vx82EvrnpPHcYUJzBqQCKu7hzn9ld7djKiIMCd5C7v4HpQn9EgMHKACd06GPDBUjNO1njRS3kqe16GHhNuTEReuuuvn7QkBRe3NmDXocB6AXq62YyqRYqCJ+9Kwcqt9Viwth42B3n1fgEai58JQxNdLtsLNP6/5WboUFShYS8A3wKIRSdNDfgg2CcJ+sicD59OrxXAm8E+D4tuziZuDCclKJh0axLuvykJprimvzEvzNbj+bGpGOCh8QcaR4EHytlEW9A8RcGTd6ZgZH8TjIamz9e5jQEv3pfmsfEHtMru+XXv1NqAF8el4ZpLPWcBAEUAQ69KwHP3pLpt/E/TKYFn93QIAWBA9wQ8PzYVF3qxZbVeJ3BHHxP+dHeK28b/zO9qkJ3FOIF/vTMlwxzs04RkqykDdK9b4ZwMIC0U52Phz3Ozcr7iE04cKXOgdabnt+zVneLQMc+APUfdXz0O6hmP/pcnnOnu92R7gd3nrOfae8yOk7Uqmie7P6EA0L97Ai5ta0SNxfUZBYBRAxLR7/J4ry4Ktci+aY8NA3oknLm94EpCnMD4oUnodpHR7e/FGQT+NDIF7XObnlJXbyXsKQw8+7b9dvTo6LkwyWquw7OjUrFym/vxEimJCv4yJgWtmihaAOBEjYqj5f4PBnRFy2OxiFAtjPqQXDSHZG7O9GeaVwPirTNdafyIjYcnfhzv34trUVbZdNdq82QFvTxcHQ/s4V3j/8MuK77/qSHg18FJwOv5NajyYlnZrOY6XORmC9hkk4LrvWj8CcDXm+vx34O2gLMfKHFg1vI6tzMWzta9gxEpbqb7dcwzeNf42wjvLTGjwU4BZ9/wsxWrtjc9QFSnNL4n3Lmua7xXjX+tRcW7X5qhwo+8nsj+HPMjtA8Fr896rFkVQiBkm02LON1rqs3+ELgXIOY1DnLx/brmeI0Tf55ZhRHXmTzetw9UvZUwb20d1mowu+C0wuMO/OmDSozqn4hrOsd7/F13V9Hu5qmfrbpOxczlZmwv0G7s0Nqd9SgoseOBoUm4IMPzV0Yg2fcX2TFjqdmrIs8bBGD2CjP2HLVjzA2JSErw73rHmx79nQdt+GCZ2asiz1f+fFZYxKpWDIagLPvrSsgKgFmPNau65x/l7wB4NlTnZGHqdKXrB5uT8PHqOuw4aMd9g5I8dqv7Y9fhxi/yk7Wq3xndsdgI05easeOAHWMG+N8gubN5rxUfraiDuV777MeOO/DC3Grc1isBg680edUoesvuICxeX4+vN1sa1wDQOPvmfVbsLbJj7A1J6Kbxaor1tnOKRX+ze3pesCpdFn6EmBqqq38ghAUAAMBhe530xocApIT0vCzsBHpN89NhG56dWYk7r0tE366er6i9YXMQPltfj682W0BBvuDatNeKPcfsGDcwCd3aBd4gWayEOavq8MPu4G5aY3MQPv3Ogm0H7Lh/cJLbWRm+KKxwYNpSM476sbiQL6rqVExdXIPeneNxT/9ExBsDb1X3F9kx/WvteixcOT0ljMWESp1e/0YoTxj4J9gH/131en2XG56KE0CfUJ6XyXHbNSaXPy+tdGLjL9aAj293AjsO2FB0wolLLjAgzosR9K4UFNvxz/wabNOw27wpVjth4y9WVFSr6Nza4PeI/V2HbfhHfg32FWmzcI43Ttaq+H6XFUkJCtpk6f26QHWqwNLNFry7pBaVodpyF8DRCgc2/GLDBRl6pKf69/VndxAWrqvHB8vNMNdr0zz37RqPtKTze4QabIRlP4b3BlBMI4S/zn6y5cpQnjK0PQAArCZ6Lb4OEyGQGepzszCiYbfm5n1W7D1mx9iBSbjchytqpwp8sdGCzzcEp+vZG+t+bsCeIjseGJyEjq2833TG5iDkf2fBN9vqG68QQ5y9wU6YucKMrQU2jB+Y5LLxcqei2olpS82/Fi0hzn681omX51ejT5d43N030afCsbDCgfeWmlFYcarHIhTZ+RZALCg3kHgr1CcNeQGQPynDPPKfFS8LEO8WGMO07ta0OQnVdb5dSaoqoa6BoJLcblabnVDn49K0ThWobSCE7trZtTorNS6k4wOrnWCxyR3aRgCO16qw2smnAqC00omTtU7Ns3s6Ht8CiH6C8MKHT6eHfJ/ykBcAAGCra/lOXGLFZABtZZyfRZfOrY2YMCgJLXwcEGjQC4zql4iuFxowY5k5pF3Rp13ZMQ739k9EstcDAhu7KhKMAg8OScLl7QyYufLUwL8QMugFhvVKwJArfB8Q2KqlHs+PTMWi9fX4akvwx1ycK94ocHefRPTp4t16Cme7okMcOuQa8ME3Zmw/ELpbRix6kcDhZnHVUjbNk9a5NPK18nGg4C91yOT5+ImWLn++7YANr39WE/DxjXqB265OwI1XmDwuVOMNi5Uwe3Ud1v0c3IF0p5niBO66NhH9ugQ+gLG6TsX735ix/WBoGqS8lno8ODgJrZuYEuiN/cV2vPe1GWVVodlA56IcAx4cnITMJlbzawoBWLOzAZ+srWtcsyBAfx2VhrYuFrmqNKt4eNrJgI/PwpcQNObjJzJnyzi3lB4AALDlpX8Ud7TiEQK6yMrAIle7bAMeHJSE7ObajGM1xQk8ODgJ3UJwRX1ZGyMm3KDdFMbURAWP35aiaYPkik4BhvQw4fZeJug1Gj58UY4BL45Ow3++rcPqncErvgx6gWFXJ2CoHz0WrggA/brE47LWBkxbZsYejXYvZDFnhzUvY66sk4d0FsDZfs5/ni4d+NReAYyRlYEF17BermcBlFQ6sWGPf7MAdApw4xUmTByS7HbVuUC0aqHH7zvHobTSiRKNp3cZ9QJ3X5eIe673br8CXwgAbTP1uPriOBwpd+K4N5vz+CAjVYfHbk3BdZfGe7Wojy8MOoFu7Yxol63HL4V2NNi0LWDyWurxP8NScGWHuIB7is6VGK+gd+d4GPXA3iIHmtiywq1+XeLRzM0sgK+38iyAaKUq4q5PxyceknV+6eNL736tYjFAt8rOwbQ393E3twAO2vCaH7cAUkwKnrotxWVXqdYIwML1FizeaNHkeBmpOjw9LAVZAcydV8m7VelUAmauMmt2RX1lhzhMHJR0ZltdT4hcrwbo7ufnqraoeGlBDQqPa7MuwPVdEjCmX6JXSz8H6mCZA68srIG5wffi68WR7m8BPDSdbwFEI0GYP/fJjDtlZgjJXgCeE6hPAAh8UjiLepNvTPaq8Tc3qNi8z/398O92NzQ5sloAGN7LhE553k/N83Ssp7xs/E/Wqigocd341VhUrPei50QRwLjrk5DbIvAOvlYt9HhoSLJXjf/PhXbUWFw3fnuK7F416qkmBY/clKzJlUmnPAPG9veu8d9xyP37Zd3PVpyobbpRvzBTjwcHJfkSkcWuBqfO+bTsENILgE8eyzxIEG+cXvGKH9Hz8MTXY6UmKrjEi3nyOw7Z8NRHVSg84b6x+fQHC15eWNO43G8Turc3Bvw6XJChR7YXjf8Pv1jx1OxK1LgZf0AEvLW0Fm8sqW3yKlMIoNuFcQFnv+IiY5MNqM1BmL22Dn/Lr3bbBV5vI/x5bjW+9GLUf3YzHbJb6ALO3rOjsclCwmIlvLvMjBkr3O+8WlbtxNOzK/GdFwNEf9fWiIQ4IfWzwo/wf4Dw6rzHsg9DMmmDAM+W4MCL9QaMBpAtOwsLEV8v8Zr4/QY74eNv67Dmp1NX902srf7TURuemlOJe/smovcl7kfia7JAUBPPr61X8eGqOmza70VHmAA27bdib7EdEwYkoVtb9wsfUQiyHyhz4N1ltSg+6Wzyd+0q4T/rLNh2yI6JA5OQ4WElPi1ed9HEAXYdtWHaN2acqFVd3n8/60Cw2AjvLTdjS4Ed4/snItXN+BMhTm18pOXNVek3apnGiuzxeEV2CCAMegAA4MOn02sF8H+yc7DwVVWnYl+x65HWe4rseGZOFVb/1HTX/tksVsI7y8z415Ja1Lq46iYAG/cGPrXuSIXD7TS37QdteHpOlXeN/1mq6lT887MavL/S7HLQnFMFNhUEfmdt836by9fUqQILN9RhyryqxsbfB3ub+HsdqXBoMgBz037Xfzurg/DRmjq8tLDGq679s209YMXTs6uw2c3fa0+RHeYGX96FLOYQPZM/KcN9l1MIhUUPAAB0qEmfuSe14gEAV8jOwoKP/LiqeW+FGf9zc8qZ7vR6G2Hxpnos2Wbx6WqXzjn/pgIr9hTbMa5fIq5oHweBxivQT3+wYH+ZPeArMALw5te1ePymFDQ/daVpblDxyfcWrNntwy5y4vzXbdWuBvxUaMf46xNx2QWNvQF2B+HDNXUor2n6qrwphScd+GhNHUZdm3hm6t+RCgemrzTjYJmL5XA9nO/s7PUOwoxVZmw5YMO4folIT2k8eHm1E28tM/v1/jjXT4U2LNpkwW1X/rpOxJ4iO2asNKO48revTVNN9tl5qhtUTP2qFr0vtmHUtb/2Bhw76cS0FX5md/ccF39zFsnEpnmPpc/FE7JzNAqbAmDKFKHe9UbZo1DFOnCnF3OhpNKJJ2dXol2WAToFOFzu0GzOe7VFxdQltchItSAzVYfCEw5U+bi0sCcHyhx4dGYlLszUgwg4VOGA3ccldN0pr3bi74tqkNtch7REBUcqnH6NRHdn+X/rsX6fFRe01KGmnjQboQ8AOw7b8NgsGy7MNEAAOFBmh1PDGYz5GyxYsbMBeS30qKhxolTDBYfW7bFic4ENbTP0cKiEg2WOkK9qyCIKCYWehBBh8y4JmwIAAOY9krn+rqnl+QSMkJ2FBc+ZgTB+cBKwr6TpRVc8Hd/T+cuqnSirDs6qdDYnYY+b2xhnayq7O8dOOnHMx+54b9XUq9hV6H/L7Ok1d6je/U39VVmnorLO860cf98vVod3f9Om+Ps3Z5FEfDzvkfR1slOcLawKAABQDI6nnA79TQASZGdhQRTkPh53m+uoBFjsFNZ9TBab64a2rkEN69xAY8ZmiS4WtAnz17zeTm7XKqiXnT2MXzfmNbOqij/JDnGusCsAPnko58iIf5U/D9DLsrOwYCEEey+4XcdsUCnxvIVz9pXY0WCXvYeeZzuP2PH7i8+fmbDzqC3or1ugdhba0KrF+V8re4rtYZ293k7YV2JHx5zfTjUlAHslZw/n1415RxD9X/7jGUWyc5wrLGYBnKu8Kv01AFtl52CR6+hxB/7zQ91v5qWfqHVixqqwGHzr0fd7GrBu72/nnB8os2O+RqsSBlP+RgsOlP22S3zbIStW7Qr/5WynrzLjxFk7QhKAz7bUYX8pr/PPAiG2qLmZb8pO4UrYdi7d+e+yrkTYAiDwpdiYFJ9OTnf5862HrPjHl4HvBuiNC1rq0SnXAHMDYdshKywarzMfTJ1yDWibYUBZtRPbD1s1HRwXTDoF6NYmDpmpOhw57sCuwsjZNjcxTqBbmzgkxQvsLbHjULl2Ax49eemuZrjQxe6KlXUqHvzg2zC3UQAAEXdJREFUREgysKBwKEJcOW9yxnbZQVwJu1sAp306OfO/I94om0rAU7KzMO2Fqhk+ctyBIxqOWg+l3UV27C6KvKtPhwpsORiZq3ubrYTv94ZmS2hvRU7Jys4lSLw875HwbPyBML0FcBo5bVMgUCA7B2OMMeajfabUur/JDuFJ2PYAAED+43n1w98smQAoqxHGtyuYa3YnwaA7/8+WGKfw4iaMnSUp3vUHwuYg/qxEJhKCJs4a2za8upPOEdY9AACw4OHstQDNlJ2D+a7SzUI6HbMN6HNJPPQuigPGYolRL3Dz5SZkpLjeF8HdZ4iFOcK0/IezVsuO0ZSw7gE4TcQZHyebfSAIubKzMO/tK7W7/GITApjUPxmT+idLSMVY5NjLMxAiUYlDNYbdnH9XIqIAyH+gefXwN8sfI0HzZWdh3vthvw29O7jfaY8x5tn6AivfAogwJDDps8nNqmTn8EbY3wI4bcHDGfkAPpOdg3nvx0NWFJTzFQxj/thyyIoDIZqGyLQhBBYseihzsewc3oqIHoDTyKj8EXa1N4CWsrOwphGAN1bU4uXhzZAYx5cxjHmr0qJi+rfa7IrIQqbc7sBDskP4ImJ6AABg0QPpJQQaLzsH815xlRMvfVWNmnoezMSYN47XOvHXL6pxkgcARhISgsZ/8WhmmewgvojI+nLYW2XTANwvOwfzXstkHUZfbcI1F8VH5puOsSBTCVjzSz3mbrSgmgvmiCKAtxc+lBlRV/9AhBYAN00rNukdylZAXCw7C/NNRrIOV7Q1Iq+ZDknxEdUBxVhQ1DaoOHrCic2Hrb/Zi4BFCvGLQ+/o8eUDOeG/Wcc5IrIAAIBhb1VcTlA3QMAoOwtjjLGYZCWIqz6blLFDdhB/RGwBAAC3vV3+DIFekp2DMcZY7BECTyz+Y+brsnP4K6JmAZyra0X6P3ZklA8A0E92FsYYYzGEsKJreca/ImbOnwsR3QMAADe+ezxXR86dAJrLzsIYYywmVIIcXT+flFsoO0ggIn4U1pKJLYuIMEF2DsYYY7GBIB6I9MYfiIIegNNuebdsJkD3ys7BGGMsepHA9C8ezHpAdg4tRPQYgLMZVfGwVaErAXSSnYUxxlhU+qnBhMdlh9BK1PQAAMBt0ys6OFXnZgCpsrMwxhiLKlVwKld8MSmjQHYQrURVAQAAN79TejMp+AxR+P/GGGNMCiISty+ZGDkb/Xgj4gcBnuuLP2Z9QcDLsnMwxhiLFvTXaGv8gSgaA3C2HqWZf96aXdoNEINkZ2GMMRbBBFbEp2W9IDtGMERtN/nA9wubG5yGHwG0lZ2FMcZYRDoioPb48oGc47KDBEPU3QI4bfn4vJOqUIYBqJedhTHGWMRpIEW9PVobfyCKewBOGzK9bLQAzZadgzHGWOQQgsYtmZA9U3aOYIraHoDTlt6fOQfANNk5GGOMRYy3or3xB2KgAAAAtaH2EQCbZOdgjDEW9tab0k48ITtEKET9LYDThswsz4JD3QigtewsjDHGwtIhPcTVX0zILJMdJBRiogcAAJaOzSgVUAcDolJ2FsYYY2GnWgjcHCuNPxBDPQCnDZ5ech2EWA4gTnYWxhhjYcFOAoOXjc9aJTtIKMVcAQAAg2aU/kEIzEWM/v8zxhg7gyDEvV/flxlzs8VitgEc+H7J8wLiOdk5GGOMyUMknls+IfOvsnPIELMFAIjEwA9LZwmIe2RHYYwxJsV/lo3LHAkhSHYQGWJmEOB5hKDjjqzxAGLqng9jjDEAwLeirnZsrDb+QCz3AJzSf9rJVJ3etg7ApbKzMMYYC4mf9VZr76/+2DqmZ4XFfAEAAINmlrQhwkYAmbKzMMYYC6pSnUpXLR2fc0R2ENm4ADjlhlnF3aGKVQBSZWdhjDEWDKKKhKPvirGtdshOEg5idwzAOb65N2erQspgAGbZWRhjjGnOIoR6Mzf+v+IegHMMmFV6vSBaAiBedhbGGGOaqBcKhi4fk71GdpBwwgWAC/0/LB4ohPgcvFogY4xFOrsgMeybcVlLZAcJN3wLwIWV43KWE+huCDhkZ2GMMeY3p4C4hxt/17gHwIPrPyoZIwgfggslxhiLNCSEuH/FmKz3ZQcJV9ywebBqTPZHApgsOwdjjDGfEAk8xI2/Z9wD4IX+s4sfBYmpsnMwxhhrmgCeWTEm+xXZOcIdFwBe6je79K+C6M+yczDGGHNPAM+vHJM9RXaOSMAFgA/6fVTytABelp2DMcbY+QTwysox2c/IzhEpuADw0fWzS54igLuWGGMsjBDhuTVjsmNyW19/cQHgh36zix8ExNvgQZSMMSYbCSEeWzU66w3ZQSINFwB+6jOneKQgMQuAXnYWxhiLUU4hMGH16OyZsoNEIi4AAtB3TskIAB8DMMjOwhhjMcZGAiPXjspeIDtIpOICIEB955QMBZAPIEF2FsYYixFWqOLONWOyPpcdJJJxAaCBvrNLriOBLwEky87CGGNRrg6qcuvaMZkrZQeJdFwAaOS6j0uuALBMAM1lZ2GMsegkqhQSQ1ePzlwvO0k04AJAQ33nFndXSXwFIFN2FsYYizKlpFOHfPeH3O2yg0QLLgA0du3s0rZCUb8CcInsLIwxFiV26wSGrh6Zc0R2kGjCBUAQ9J57pJkOhoUA+srOwhhjkY1WC5vt9rVj21bJThJtuAAIks7zdxtb2JvNAHCP7CyMMRaJBGjWcUPVA7tHdLbJzhKNuAAIJiJx7SfFf4EQz4Ffa8YY8xaB6IXv7s55HkKQ7DDRihulELj2k5IxBJoOwCg7C2OMhTkbCYxf94ecObKDRDsuAELk2k9K+xHUhQDSZGdhjLEwVUlCDFv3h+y1soPEAi4AQuj380s6wUlfAWgjOwtjjIWZQ0Jg6Hd35fwiO0is4AIgxPrML89yOO2LAXGV7CyMMRYm1qt25bb192SVyw4SS3g72xBbOyKjVJ+V83tAvCI7C2OMhYHplbrKvtz4hx73AEjU69PiUYIwDYBJdhbGGAuxBiFo0ro7cz+UHSRWcQEgWa/5x34nVGURgLayszDGWIgcJYjh6+/K3iI7SCzjAiAMXLnoWAu9TZkLYKDsLIwxFkwEfA3FOWrDiLyTsrPEOi4AwgWR6DW/+ClA/B08NoMxFn0IEP9Y/0vWs5giVNlhGBcAYefqeaU3CqHOAa8XwBiLHjUkcO+GETmLZQdhv+ICIAz1XFB4keLULQJwqewsjDEWEMIeAoZt5Pn9YYcLgDDVZ355klU43wDRONlZGGPMHyQww1KvPLbznqw62VnY+bgACHNX5RcPA2E6gBayszDGmDcIqIKgiZvuyJ0nOwtzjwuACHDF/PIsnXDMBDBIdhbGGPNMrBLkGLNhRF6R7CTMMy4AIgWR6JlfMlkIvAIgTnYcxhg7hx2gv2/cnfMCj/KPDFwARJgei0ov1TnVTwC6THYWxhgDAAj8ogAjNwzP3S47CvMeFwAR6Or5hQmqorwM4GHw35AxJhXNqbfoJ/JAv8jDjUcEu3JB8UCAZgHIkp2FMRZzKgi4b8vw3C9lB2H+4RXnItjm4TnLncJ+ORG+kJ2FMRY7CLRQGPSXceMf2bgHIEpcuejYHSDxDoCWsrMwxqJWqQA9vOn2VgtkB2GB4wIgivRaVJrhIMerBDFadhbGWFQhAfpY56RHeROf6MEFQBTqsfDYcAHxJnhsAGMsUAJ7QeL+LbfnfCc7CtMWFwBRqvv8A6mKPv4FAiYB0MnOwxiLOA4BvJZYbZuydmzbBtlhmPa4AIhy3RcWX64Imk5Ad9lZGGMRQmC7CjFh2205W2VHYcHDBUAM6D7tRwMysx8H4TkAJtl5GGNhq44g/tzOnv1m/gjhlB2GBRcXADGk65eFuTqHeEnwIEHG2G8RhFigOvE/22/POSI7DAsNLgBiUPfPj/WFin8D4lLZWRhjcgngR6h49Mfbc3+QnYWFFhcAMarPGtLX1pRMIsLzAKXKzsMYC7likHh+23+z3+fNe2ITFwAxrufnZZl22F8AifvAswUYiwUNgHjNkaC8tHMgr98fy7gAYACA7l8WX0xOvECgO2RnYYwFBwksUYVu8s6bsw7JzsLk4wKA/Ua3z4r6Q+BVAF1lZ2GMaUMA2wni0e238GI+7Fe8GRD7je235q5sb83pLgjjQODRwIxFtkMgGrNte04PbvzZubgHgLnVef5uoyG+2b1E9LzgZYUZiyTHSeDVZsm2N9b25VX8mGtcALAmdVlemiiszocE8AyANNl5GGNu1QrgHaM+/u+bhrSokR2GhTcuAJjXOn5ekRwvGv4ICC4EGAsvtYB4R1Ucr/x0Y+tK2WFYZOACgPnsrELgaQDNZOdhLIZxw8/8xgUA89vvFh9KU/XGRwRoMoDmsvMwFisIOCEE3tDHWf+9dUC7atl5WGTiAoAFrM2aQ/EpZsMIAM8C6Cg7D2PRS5QC6jRDvG0qN/wsUFwAMO1MIaVL9+KhQtAzBPSSHYexaCGAAiJ6y6JreK9gyEVW2XlYdOACgAVF1y+Le6uK8wmQuBm83gRjfhHAGpCYuvPGnCUQgmTnYdGFCwAWVJctOXKhIP0jJGg8AJPsPIxFABuAz4Wg13YOzdskOwyLXlwAsJDotrQk3aGqE0nQJAAZsvMwFobKAHoPDuO7u27JLJMdhkU/LgBYSHWev9uomFJvIYH7AVwPfg8ytlUQpidZaM6GEXn1ssOw2MFfvkyaLl8XdXQSxgrQeBBayM7DWAhVk8CnCtFbPw3N+0l2GBabuABg0nVZXproVB13QKVxEKI3+H3JohMB+A7Ah/FOZcHWm3IssgOx2MZftCysXLq8KI+c6t0gPAAh2srOw5gGigDxMRT1/d2D8gpkh2HsNC4AWHiaQkrnnoUDiHSjAboVQKLsSIz5oFYIfKaqYs4vW3JWYYpQZQdi7FxcALCw12bNofjEeuMAEjQawC0AjLIzMXYuATgJWEOEOUqCcdHuvhlm2ZkY84QLABZRLl55rIVix3AAIwRwHQE62ZlYTHMAWCuI5kPBwt2D8k7KDsSYt7gAYBGr87LC5irEjQDuAHADuGeAhYZTEDaSoHyd3jhvV3+es88iExcALCr8bs2hNKvVcJMAbqHGYiBZdiYWTagGQiwXKn3RoLd9eZA34mFRgAsAFn3mk65DcsnVQtCNCuhmAi6RHYlFIMJBACuhiCW66qrlu0d0tsmOxJiWuABgUa/D8uKLdaQOUgUGCOA68IwC5poZAt8SaIVQxNd7+rfaJzsQY8HEBQCLKZ3n7zY6k1N6QaEbADEAQDfwQMJY5YTANkHiGxK0QldVs4Gv8lks4QKAxbTOa8qT7Fb7VYpQewN0DUFcCx5MGK2cgNgB0A8QYp1epVU8ap/FMi4AGDtL5zXlSU57Qy+C0hugngB6AkiVnYv5pQrAJkHYqOqUdfFO3YadA7PqZIdiLFxwAcCYJ1NIad/76MWCRE8BcRUIPQF0AmCQHY39hh3AbgHapAIbIdRN+/u33gMhSHYwxsIVFwCM+aj7jz8aqo+nd1B0uu6CqDuBugOiK4Ak2dlihBkQewH6WQBbSahbLYnK1mO9eCtdxnzBBQBjGun4zdEcUnSdSFU7Q6ATgToLiC7gNQn8ZQVwQAjsBuFnlcRu6J0/F3x3wS+8tj5jgeMCgLFgIhLtviluBR2116nUDgraE6E9gHanHrFeHNQAOAhCgRAoAOGAKlAAvSgo6JNbxF34jAUPFwCMSXTBkiPNTHFKK6cQrYnUPAi0UkjkEZADIBMQ6QClA1BkZ/WRCogKgCoAlAmgWBVUKFSlEAqO6YiONOgdhYf7tq2SHZSxWMUFAGPhbj7p2qQfTlcc+nShiHRBaA5BaQRKU1QljQSlAUgTgEkFJStQ4glIgKBEEIxonMVwdgERDyDhnLPUA2g4679VANUQsIFEHYEsAFkViFoCLACqBIkqVVGrBIlKQahSFVFJKlWoekfF4W/blHM3PWPh7f8B9Zqmu7hptKQAAAAASUVORK5CYII=
// @author mickey90427 <[email protected]>
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_addValueChangeListener
// @grant GM_setClipboard
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// Skew(변형도) 설정
var skew = GM_getValue('skew', 1); // 로컬 저장소에서 Skew 값 불러오기, 기본값은 1로 설정
// 초기 설정 불러오기
var base32EncodedSecret = GM_getValue('base32EncodedSecret', 'OTPScreenLocker'); // 초기 비밀 키 설정
var masterKey = GM_getValue('masterKey', 'admin'); // 초기 마스터 키 설정
var lockedState = GM_getValue('lockedState', {});
var extractedSecret = null;
// 실시간 변경을 위한 값 변경 리스너 추가
GM_addValueChangeListener('base32EncodedSecret', function(name, old_value, new_value, remote) {
base32EncodedSecret = new_value;
});
GM_addValueChangeListener('masterKey', function(name, old_value, new_value, remote) {
masterKey = new_value;
});
GM_addValueChangeListener('lockedState', function(name, old_value, new_value, remote) {
lockedState = new_value;
});
// 값 저장 함수
function saveSecrets() {
GM_setValue('base32EncodedSecret', base32EncodedSecret);
GM_setValue('masterKey', masterKey);
}
// OTP 생성 함수 수정
function generateOTP(secret) {
const crypto = window.crypto || window.msCrypto;
const otpLength = 6;
const currentTimestamp = Date.now();
let countersToCheck = [];
if (skew === 0) {
// Skew 값이 0인 경우, 현재 시간을 기준으로 하나의 카운터만 사용
countersToCheck = [Math.floor(currentTimestamp / 30000)];
} else {
// Skew 값이 1 이상인 경우, 30초 전, 현재, 30초 후의 카운터 사용
const currentCounter = Math.floor(currentTimestamp / (30000 * skew));
countersToCheck = [currentCounter - 1, currentCounter, currentCounter + 1];
}
const promises = countersToCheck.map(counter => {
const counterBuffer = new ArrayBuffer(8);
const counterView = new DataView(counterBuffer);
counterView.setUint32(4, counter, false);
const secretKey = base32ToUint8Array(secret);
return crypto.subtle.importKey(
'raw', secretKey, { name: 'HMAC', hash: { name: 'SHA-1' } }, false, ['sign']
).then(key => crypto.subtle.sign('HMAC', key, counterBuffer))
.then(result => {
const hashArray = new Uint8Array(result);
const offset = hashArray[hashArray.length - 1] & 0x0F;
const otp = (
((hashArray[offset] & 0x7F) << 24) |
((hashArray[offset + 1] & 0xFF) << 16) |
((hashArray[offset + 2] & 0xFF) << 8) |
(hashArray[offset + 3] & 0xFF)
).toString().substr(-otpLength);
return otp;
});
});
return Promise.all(promises);
}
// Base32 인코딩된 비밀 키를 Uint8Array로 변환
function base32ToUint8Array(base32) {
const base32chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
let bits = 0;
let value = 0;
let index = 0;
const output = new Uint8Array(Math.floor(base32.length * 5 / 8));
for (let i = 0; i < base32.length; i++) {
const val = base32chars.indexOf(base32[i].toUpperCase());
if (val === -1) continue;
value = (value << 5) | val;
bits += 5;
if (bits >= 8) {
output[index++] = (value >>> (bits - 8)) & 0xFF;
bits -= 8;
}
}
return output;
}
// 페이지 음소거 함수
function mutePage() {
const audioElements = document.querySelectorAll('audio');
const videoElements = document.querySelectorAll('video');
audioElements.forEach(audio => { audio.muted = true; });
videoElements.forEach(video => { video.muted = true; });
}
// 페이지 음소거 해제 함수
function unmutePage() {
const audioElements = document.querySelectorAll('audio');
const videoElements = document.querySelectorAll('video');
audioElements.forEach(audio => { audio.muted = false; });
videoElements.forEach(video => { video.muted = false; });
}
// 유튜브 영상 일시정지 함수
function pauseYouTubeVideos() {
const videoElements = document.querySelectorAll('video');
videoElements.forEach(video => { video.pause(); });
}
// 유튜브 영상 재생 함수
function playYouTubeVideos() {
const videoElements = document.querySelectorAll('video');
videoElements.forEach(video => { video.play(); });
}
// 화면 잠금 함수
function lockScreen() {
mutePage();
pauseYouTubeVideos(); // 유튜브 영상 일시정지
document.body.style.overflow = 'hidden';
var lockDiv = document.createElement('div');
lockDiv.style.position = 'fixed';
lockDiv.style.top = '0';
lockDiv.style.right = '0';
lockDiv.style.width = '100%';
lockDiv.style.height = '100%';
lockDiv.style.backgroundColor = 'rgba(0, 0, 0, 0.9)';
lockDiv.style.zIndex = '9999';
lockDiv.style.display = 'flex';
lockDiv.style.justifyContent = 'center';
lockDiv.style.alignItems = 'center';
document.body.appendChild(lockDiv);
var unlockButton = document.createElement('button');
unlockButton.textContent = 'OTP 입력';
unlockButton.style.fontSize = '16px';
unlockButton.style.padding = '10px 20px';
unlockButton.style.backgroundColor = '#ffffff';
unlockButton.style.color = '#000000';
unlockButton.style.border = 'none';
unlockButton.style.borderRadius = '5px';
unlockButton.style.cursor = 'pointer';
lockDiv.appendChild(unlockButton);
unlockButton.addEventListener('click', function() {
var otpPrompt = prompt('OTP를 입력하세요:');
generateOTP(base32EncodedSecret).then(generatedOTPs => {
const validOTP = generatedOTPs.some(otp => otp === otpPrompt);
if (validOTP) {
document.body.removeChild(lockDiv);
document.body.style.overflow = 'auto';
unmutePage();
// playYouTubeVideos(); // 유튜브 영상 재생
lockedState[window.location.hostname] = false;
GM_setValue('lockedState', lockedState);
} else {
alert('유효하지 않은 OTP입니다. 다시 시도하세요.');
}
});
});
var dummyInput = document.createElement('input');
dummyInput.style.position = 'absolute';
dummyInput.style.top = '-100px';
dummyInput.style.left = '-100px';
dummyInput.style.opacity = '0';
document.body.appendChild(dummyInput);
dummyInput.focus();
dummyInput.addEventListener('input', function() {
dummyInput.value = '';
});
var changeButton = createChangeButton('키 변경', function() {
var option = prompt('옵션 번호를 입력하세요:\n1. OTP 비밀 키 변경 (기본 값 : OTPScreenLocker)\n2. 비밀 키 추출\n3. Skew 설정 (기본 값: 1)\n4. 마스터 키 변경 (기본 값: admin)\nH. 도움말');
if (option === '1') {
var currentMasterKey = prompt('마스터 키를 입력하세요: (기본 값: admin)');
if (currentMasterKey === masterKey) {
var newBase32EncodedSecret = prompt('새로운 OTP 비밀 키를 입력하세요:');
if (newBase32EncodedSecret && newBase32EncodedSecret !== base32EncodedSecret) {
base32EncodedSecret = newBase32EncodedSecret;
saveSecrets();
alert('비밀 키가 성공적으로 업데이트되었습니다.');
} else {
alert('유효하지 않은 입력입니다. 비밀 키가 업데이트되지 않았습니다.');
}
} else {
alert('잘못된 마스터 키입니다. 비밀 키가 업데이트되지 않았습니다.');
}
} else if (option === '2') {
var currentMasterKey = prompt('마스터 키를 입력하세요: (기본 값: admin)');
if (currentMasterKey === masterKey) {
extractedSecret = base32EncodedSecret;
GM_setClipboard(extractedSecret); // 클립보드에 복사
alert('비밀 키가 성공적으로 추출되었습니다: ' + extractedSecret);
} else {
alert('잘못된 마스터 키입니다. 비밀 키가 추출되지 않았습니다.');
}
} else if (option === '3') {
var currentMasterKey = prompt('마스터 키를 입력하세요: (기본 값: admin)');
if (currentMasterKey === masterKey) {
var newSkew = parseInt(prompt('새로운 Skew 값을 입력하세요 (0에서 2 사이만 가능):'));
if (!isNaN(newSkew) && newSkew >= 0 && newSkew <= 2) {
skew = newSkew;
GM_setValue('skew', skew);
alert('Skew 값이 성공적으로 업데이트되었습니다.');
} else {
alert('유효하지 않은 입력입니다. Skew 값이 업데이트되지 않았습니다. (0에서 2 사이의 값만 가능)');
}
} else {
alert('잘못된 마스터 키입니다. Skew 값이 업데이트되지 않았습니다.');
}
} else if (option === '4') {
var currentMasterKey = prompt('마스터 키를 입력하세요: (기본 값: admin)');
if (currentMasterKey === masterKey) {
var newMasterKey = prompt('새로운 마스터 키를 입력하세요:');
if (newMasterKey) {
var confirmMasterKey = prompt('새로운 마스터 키를 다시 입력하세요:');
if (newMasterKey === confirmMasterKey) {
masterKey = newMasterKey;
saveSecrets();
alert('마스터 키가 성공적으로 업데이트되었습니다.');
} else {
alert('입력한 마스터 키가 일치하지 않습니다. 마스터 키가 업데이트되지 않았습니다.');
}
} else {
alert('유효하지 않은 입력입니다. 마스터 키가 업데이트되지 않았습니다.');
}
} else {
alert('잘못된 마스터 키입니다. 마스터 키가 업데이트되지 않았습니다.');
}
} else if (option === 'H' || option === 'h') {
alert('1. OTP 비밀 키 설정\n\n키 변경 → OTP 비밀 키 변경 → (아무렇게 \'영어로\' 입력, ex:my_otp_secret_key)\n\n2. OTP 앱에 비밀 키를 등록 (ex:my_otp_secret_key)\n\n앱은 2FA Authenticator (2FAS)를 추천한다. (기타 앱을 쓴다면 알아서 등록, 2FA Authenticator (2FAS)가 있다면 3번을 진행한다.)\n\n3. 2FA Authenticator (2FAS) 등록법\n\n+ → Enter the secret key manually → Services name(아무렇게 입력, ex:OTPLocker) → Secret Key (ex:my_otp_secret_key) → Add services\n\n4.※ 등록 후 잠금 해제시 컴퓨터와 OTP 디바이스(스마트폰) 등등은 시간이 일치해야 한다.\n\n5. 이제부터 등록된 OTP에서 생성된 번호로 탭 잠금을 해제하면 된다.');
}
});
lockDiv.appendChild(changeButton);
}
// 화면 해제 함수
function unlockScreen() {
var lockDiv = document.querySelector('div[style*="position: fixed"]');
if (lockDiv) {
document.body.removeChild(lockDiv);
document.body.style.overflow = 'auto';
unmutePage();
// playYouTubeVideos(); // 유튜브 영상 재생
lockedState[window.location.hostname] = false;
GM_setValue('lockedState', lockedState);
}
}
// 변경 버튼 생성 함수
function createChangeButton(buttonText, callback) {
var changeButton = document.createElement('button');
changeButton.textContent = buttonText;
changeButton.style.fontSize = '12px';
changeButton.style.padding = '5px 10px';
changeButton.style.backgroundColor = '#ffffff';
changeButton.style.color = '#000000';
changeButton.style.border = 'none';
changeButton.style.borderRadius = '5px';
changeButton.style.cursor = 'pointer';
changeButton.style.position = 'absolute';
changeButton.style.bottom = '10px';
changeButton.style.left = '10px';
changeButton.addEventListener('click', callback);
return changeButton;
}
// Alt + L 키 이벤트 리스너 추가
window.addEventListener('keydown', function(event) {
if (event.altKey && event.key === 'l') {
if (!lockedState[window.location.hostname]) {
lockedState[window.location.hostname] = true;
GM_setValue('lockedState', lockedState);
lockScreen();
}
}
});
// 페이지 로드 시 잠금 상태 확인
if (lockedState[window.location.hostname]) {
lockScreen();
}
})();