{"id":17196,"date":"2026-03-02T18:41:18","date_gmt":"2026-03-02T10:41:18","guid":{"rendered":"https:\/\/www.elishtech.com\/?p=17196"},"modified":"2026-03-02T18:41:24","modified_gmt":"2026-03-02T10:41:24","slug":"hardening-legacy-cisco-devices-no-vendor-patches","status":"publish","type":"post","link":"https:\/\/www.elishtech.com\/en\/hardening-legacy-cisco-devices-no-vendor-patches\/","title":{"rendered":"\u0411\u0435\u0437 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439: \u043a\u0430\u043a \u0443\u0441\u0438\u043b\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 Cisco\u2011\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438"},"content":{"rendered":"\n<html lang=\"ru\"><head><style>\n        @import url(https:\/\/fonts.googleapis.com\/css?family=Google+Sans+Text);\n        html {\n          font-family: 'Google Sans Text', 'Google Sans';\n          font-size: 14px;\n          color-scheme: light dark;\n          background: light-dark(white, black);\n          color: light-dark(black, white);\n        }\n        <\/style>\n        \n        <script type=\"importmap\">{\"imports\":{\"@modelcontextprotocol\/sdk\/\":\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk\/dist\/esm\/\",\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk@^1.11.0\/es2022\/\":\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk@^1.11.0\/es2022\/dist\/esm\/\",\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk@^1.11.0\/client\/index?target=es2022\":\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk@^1.11.0\/dist\/esm\/client\/index?target=es2022\",\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk@^1.11.0\/types?target=es2022\":\"https:\/\/esm.sh\/@modelcontextprotocol\/sdk@^1.11.0\/dist\/esm\/types?target=es2022\",\"react\":\"https:\/\/esm.sh\/react@^19.2.3\",\"react-dom\/\":\"https:\/\/esm.sh\/react-dom@^19.2.3\/\",\"react\/\":\"https:\/\/esm.sh\/react@^19.2.3\/\",\"@\/index\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JzsKaW1wb3J0IEFwcCBmcm9tICdAL0FwcCc7CmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKaWYgKCFyb290RWxlbWVudCkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCByb290IGVsZW1lbnQgdG8gbW91bnQgdG8iKTsKfQpjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CnJvb3QucmVuZGVyKF9qc3goUmVhY3QuU3RyaWN0TW9kZSwgeyBjaGlsZHJlbjogX2pzeChBcHAsIHt9KSB9KSk7Cg==\",\"@\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JzsKaW1wb3J0IEFwcCBmcm9tICdAL0FwcCc7CmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKaWYgKCFyb290RWxlbWVudCkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCByb290IGVsZW1lbnQgdG8gbW91bnQgdG8iKTsKfQpjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CnJvb3QucmVuZGVyKF9qc3goUmVhY3QuU3RyaWN0TW9kZSwgeyBjaGlsZHJlbjogX2pzeChBcHAsIHt9KSB9KSk7Cg==\",\"@\/App\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBBcnRpY2xlIGZyb20gJ0AvY29tcG9uZW50cy9BcnRpY2xlJzsKY29uc3QgQXBwID0gKCkgPT4gewogICAgcmV0dXJuIChfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogIm1pbi1oLXNjcmVlbiBiZy13aGl0ZSIsIGNoaWxkcmVuOiBfanN4KCJtYWluIiwgeyBjbGFzc05hbWU6ICJjb250YWluZXIgbXgtYXV0byBweC00IHB5LTggbGc6cHktMTIgbWF4LXctNXhsIiwgY2hpbGRyZW46IF9qc3goQXJ0aWNsZSwge30pIH0pIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgQXBwOwo=\",\"@\/components\/Header\":\"data:application\/javascript;base64,Y29uc3QgSGVhZGVyID0gKCkgPT4gbnVsbDsKZXhwb3J0IGRlZmF1bHQgSGVhZGVyOwo=\",\"@\/components\/Article\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmNvbnN0IEFydGljbGUgPSAoKSA9PiB7CiAgICByZXR1cm4gKF9qc3hzKCJhcnRpY2xlIiwgeyBjbGFzc05hbWU6ICJwcm9zZSBwcm9zZS1zbGF0ZSBtYXgtdy1ub25lIGV0LWFydGljbGUiLCBjaGlsZHJlbjogW19qc3hzKCJoZWFkZXIiLCB7IGNsYXNzTmFtZTogImV0LWFydGljbGUtaGVhZGVyIGJvcmRlci1iIGJvcmRlci1zbGF0ZS0yMDAgcGItMTAgbWItMTIiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAidGV4dC1ibHVlLTcwMCBmb250LWJvbGQgdHJhY2tpbmctd2lkZXN0IHVwcGVyY2FzZSB0ZXh0LXhzIG1iLTQiLCBjaGlsZHJlbjogIk5ldHdvcmsgU2VjdXJpdHkgJiBDb21wbGlhbmNlIiB9KSwgX2pzeCgiaDEiLCB7IGNsYXNzTmFtZTogInRleHQtM3hsIG1kOnRleHQtNXhsIGZvbnQtZXh0cmFib2xkIHRleHQtc2xhdGUtOTAwIG1iLTYgbGVhZGluZy10aWdodCBmb250LWRpc3BsYXkiLCBjaGlsZHJlbjogIlx1MDQxMVx1MDQzNVx1MDQzNyBcdTA0M0VcdTA0NDRcdTA0MzhcdTA0NDZcdTA0MzhcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0NDUgXHUwNDNGXHUwNDMwXHUwNDQyXHUwNDQ3XHUwNDM1XHUwNDM5OiBcdTA0M0FcdTA0MzBcdTA0M0EgXHUwNDQzXHUwNDQxXHUwNDM4XHUwNDNCXHUwNDM4XHUwNDQyXHUwNDRDIFx1MDQzMVx1MDQzNVx1MDQzN1x1MDQzRVx1MDQzRlx1MDQzMFx1MDQ0MVx1MDQzRFx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQ0QyBcdTA0NDNcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzVcdTA0MzJcdTA0NDhcdTA0MzhcdTA0NDUgQ2lzY29cdTIwMTFcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M0VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzIgXHUwNDMyIFx1MDQzQVx1MDQzRVx1MDQ0MFx1MDQzRlx1MDQzRVx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQzOFx1MDQzMlx1MDQzRFx1MDQzRVx1MDQzOSBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzgiIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCB0ZXh0LXNsYXRlLTUwMCBmb250LW1lZGl1bSBpdGFsaWMgdGV4dC1zbSIsIGNoaWxkcmVuOiBbX2pzeCgic3BhbiIsIHsgY2hpbGRyZW46ICJcdTA0MUFcdTA0MzhcdTA0MzFcdTA0MzVcdTA0NDBcdTA0MzFcdTA0MzVcdTA0MzdcdTA0M0VcdTA0M0ZcdTA0MzBcdTA0NDFcdTA0M0RcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NEMgTGVnYWN5IiB9KSwgX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAidy0xIGgtMSBiZy1zbGF0ZS0zMDAgcm91bmRlZC1mdWxsIiB9KSwgX2pzeCgic3BhbiIsIHsgY2hpbGRyZW46ICJJT1MgLyBJT1MtWEUgSGFyZGVuaW5nIiB9KV0gfSldIH0pLCBfanN4cygic2VjdGlvbiIsIHsgY2xhc3NOYW1lOiAiZXQtaW50cm8gbWItMTIgdGV4dC1sZyBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1zbGF0ZS03MDAiLCBjaGlsZHJlbjogW19qc3hzKCJwIiwgeyBjaGlsZHJlbjogWyJcdTA0MUNcdTA0M0RcdTA0M0VcdTA0MzNcdTA0MzhcdTA0MzUgXHUwNDNBXHUwNDNFXHUwNDNDXHUwNDNGXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDM4IFx1MDQzMiBcdTA0MjBcdTA0M0VcdTA0NDFcdTA0NDFcdTA0MzhcdTA0MzggXHUwNDNGXHUwNDNFLVx1MDQzRlx1MDQ0MFx1MDQzNVx1MDQzNlx1MDQzRFx1MDQzNVx1MDQzQ1x1MDQ0MyBcdTA0NERcdTA0M0FcdTA0NDFcdTA0M0ZcdTA0M0JcdTA0NDNcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDBcdTA0NDNcdTA0NEVcdTA0NDIgXHUwNDNDXHUwNDMwXHUwNDQwXHUwNDQ4XHUwNDQwXHUwNDQzXHUwNDQyXHUwNDM4XHUwNDM3XHUwNDMwXHUwNDQyXHUwNDNFXHUwNDQwXHUwNDRCIFx1MDQzOCBcdTA0M0FcdTA0M0VcdTA0M0NcdTA0M0NcdTA0NDNcdTA0NDJcdTA0MzBcdTA0NDJcdTA0M0VcdTA0NDBcdTA0NEIgQ2lzY28sIFx1MDQzQVx1MDQzRVx1MDQ0Mlx1MDQzRVx1MDQ0MFx1MDQ0Qlx1MDQzNSBcdTA0NDNcdTA0MzZcdTA0MzUgXHUwNDM0XHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDMzXHUwNDNCXHUwNDM4IFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0Mlx1MDQ0M1x1MDQ0MVx1MDQzMCBFb0wvRW9TIFx1MDQzOCBcdTA0MzFcdTA0M0VcdTA0M0JcdTA0NENcdTA0NDhcdTA0MzUgXHUwNDNEXHUwNDM1IFx1MDQzRlx1MDQzRVx1MDQzQlx1MDQ0M1x1MDQ0N1x1MDQzMFx1MDQ0RVx1MDQ0MiBcdTA0M0VcdTA0NDRcdTA0MzhcdTA0NDZcdTA0MzhcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0NDUgXHUwNDNFXHUwNDMxXHUwNDNEXHUwNDNFXHUwNDMyXHUwNDNCXHUwNDM1XHUwNDNEXHUwNDM4XHUwNDM5IFx1MDQzMVx1MDQzNVx1MDQzN1x1MDQzRVx1MDQzRlx1MDQzMFx1MDQ0MVx1MDQzRFx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQzOC4gXHUwNDFGXHUwNDQwXHUwNDM4IFx1MDQ0RFx1MDQ0Mlx1MDQzRVx1MDQzQyBcdTA0MzhcdTA0M0NcdTA0MzVcdTA0M0RcdTA0M0RcdTA0M0UgXHUwNDNFXHUwNDNEXHUwNDM4IFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzRSBcdTA0NDFcdTA0NDJcdTA0M0VcdTA0NEZcdTA0NDIgXHUwNDNEXHUwNDMwIFx1MDQzRlx1MDQzNVx1MDQ0MFx1MDQzOFx1MDQzQ1x1MDQzNVx1MDQ0Mlx1MDQ0MFx1MDQzNSBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzggXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQzMiBcdTA0M0FcdTA0M0JcdTA0NEVcdTA0NDdcdTA0MzVcdTA0MzJcdTA0NEJcdTA0NDUgXHUwNDQyXHUwNDNFXHUwNDQ3XHUwNDNBXHUwNDMwXHUwNDQ1IFx1MDQzQ1x1MDQzMFx1MDQ0MFx1MDQ0OFx1MDQ0MFx1MDQ0M1x1MDQ0Mlx1MDQzOFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOC4gXHUwNDEyIFx1MDQ0M1x1MDQ0MVx1MDQzQlx1MDQzRVx1MDQzMlx1MDQzOFx1MDQ0Rlx1MDQ0NSwgXHUwNDNBXHUwNDNFXHUwNDMzXHUwNDM0XHUwNDMwIFx1MDQzMlx1MDQzNVx1MDQzRFx1MDQzNFx1MDQzRVx1MDQ0MCBcdTA0MzFcdTA0M0VcdTA0M0JcdTA0NENcdTA0NDhcdTA0MzUgXHUwNDNEXHUwNDM1IFx1MDQzN1x1MDQzMFx1MDQzQVx1MDQ0MFx1MDQ0Qlx1MDQzMlx1MDQzMFx1MDQzNVx1MDQ0MiBcdTA0M0RcdTA0M0VcdTA0MzJcdTA0NEJcdTA0MzUgXHUwNDQzXHUwNDRGXHUwNDM3XHUwNDMyXHUwNDM4XHUwNDNDXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM4LCBcdTA0MzJcdTA0M0VcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0NDEgXHUwNDM3XHUwNDMyXHUwNDQzXHUwNDQ3XHUwNDM4XHUwNDQyIFx1MDQzRFx1MDQzNSBcdTA0M0FcdTA0MzBcdTA0M0EgXHUwMEFCXHUwNDNDXHUwNDNFXHUwNDM2XHUwNDNEXHUwNDNFIFx1MDQzQlx1MDQzOCBcdTA0NDFcdTA0MzRcdTA0MzVcdTA0M0JcdTA0MzBcdTA0NDJcdTA0NEMgXHUwNDM4XHUwNDQ1IFx1MDQzRlx1MDQzRVx1MDQzQlx1MDQzRFx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQ0Q1x1MDQ0RSBcdTA0MzFcdTA0MzVcdTA0MzdcdTA0M0VcdTA0M0ZcdTA0MzBcdTA0NDFcdTA0M0RcdTA0NEJcdTA0M0NcdTA0Mzg\/XHUwMEJCIChcdTA0M0RcdTA0MzVcdTA0M0JcdTA0NENcdTA0MzdcdTA0NEYpLCBcdTA0MzAgXHUwNDNBXHUwNDMwXHUwNDNBICIsIF9qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJcdTAwQUJcdTA0M0FcdTA0MzBcdTA0M0EgXHUwNDNDXHUwNDM4XHUwNDNEXHUwNDM4XHUwNDNDXHUwNDM4XHUwNDM3XHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRDIFx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQzQVx1MDQzOCBcdTA0MzggXHUwNDNGXHUwNDNFXHUwNDQxXHUwNDNCXHUwNDM1XHUwNDM0XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDM4XHUwNDRGIFx1MDQzMlx1MDQzN1x1MDQzQlx1MDQzRVx1MDQzQ1x1MDQzMCBcdTA0NDJcdTA0MzBcdTA0M0FcdTA0MzhcdTA0NDUgXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNFXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyP1x1MDBCQiIgfSksICIuIl0gfSksIF9qc3goInAiLCB7IGNoaWxkcmVuOiAiXHUwNDFEXHUwNDM4XHUwNDM2XHUwNDM1IFx1MjAxNCBcdTA0M0ZcdTA0NDBcdTA0MzBcdTA0M0FcdTA0NDJcdTA0MzhcdTA0NDdcdTA0MzVcdTA0NDFcdTA0M0FcdTA0M0VcdTA0MzUgXHUwNDQwXHUwNDQzXHUwNDNBXHUwNDNFXHUwNDMyXHUwNDNFXHUwNDM0XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDNFOiBcdTA0NDdcdTA0NDJcdTA0M0UgXHUwNDNDXHUwNDNFXHUwNDM2XHUwNDNEXHUwNDNFIFx1MDQ0MVx1MDQzNFx1MDQzNVx1MDQzQlx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0M0RcdTA0MzAgXHUwNDQzXHUwNDQwXHUwNDNFXHUwNDMyXHUwNDNEXHUwNDM1IFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQ0NFx1MDQzOFx1MDQzM1x1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOCAoXHUwNDQ1XHUwNDMwXHUwNDQwXHUwNDM0XHUwNDNEXHUwNDM4XHUwNDNEXHUwNDMzIElPUy9JT1NcdTIwMTFYRSksIFx1MDQzRFx1MDQzMCBcdTA0NDNcdTA0NDBcdTA0M0VcdTA0MzJcdTA0M0RcdTA0MzUgXHUwNDQxXHUwNDM1XHUwNDQyXHUwNDM1XHUwNDMyXHUwNDNFXHUwNDM5IFx1MDQzMFx1MDQ0MFx1MDQ0NVx1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzQVx1MDQ0Mlx1MDQ0M1x1MDQ0MFx1MDQ0QiAoXHUwNDQxXHUwNDM1XHUwNDMzXHUwNDNDXHUwNDM1XHUwNDNEXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRGLCBcdTA0MzhcdTA0MzdcdTA0M0VcdTA0M0JcdTA0NEZcdTA0NDZcdTA0MzhcdTA0NEYsIFx1MDQzQ1x1MDQzRVx1MDQzRFx1MDQzOFx1MDQ0Mlx1MDQzRVx1MDQ0MFx1MDQzOFx1MDQzRFx1MDQzMykgXHUwNDM4IFx1MDQzQVx1MDQzMFx1MDQzQVx1MDQzOFx1MDQzNSBcdTAwQUJcdTA0M0FcdTA0NDBcdTA0MzBcdTA0NDFcdTA0M0RcdTA0NEJcdTA0MzUgXHUwNDNCXHUwNDM4XHUwNDNEXHUwNDM4XHUwNDM4XHUwMEJCIFx1MDQ0MVx1MDQ0Mlx1MDQzRVx1MDQzOFx1MDQ0MiBcdTA0MzdcdTA0MzBcdTA0NDRcdTA0MzhcdTA0M0FcdTA0NDFcdTA0MzhcdTA0NDBcdTA0M0VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NEMsIFx1MDQzRlx1MDQzRVx1MDQ0MVx1MDQzQlx1MDQzNSBcdTA0M0FcdTA0M0VcdTA0NDJcdTA0M0VcdTA0NDBcdTA0NEJcdTA0NDUgXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDRCXHUwNDM5IENpc2NvIFx1MDQzQlx1MDQ0M1x1MDQ0N1x1MDQ0OFx1MDQzNSBcdTA0MzJcdTA0NEJcdTA0MzJcdTA0MzVcdTA0NDFcdTA0NDJcdTA0MzggXHUwNDM4XHUwNDM3IFx1MDQ0RFx1MDQzQVx1MDQ0MVx1MDQzRlx1MDQzQlx1MDQ0M1x1MDQzMFx1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOC4iIH0pXSB9KSwgX2pzeHMoInNlY3Rpb24iLCB7IGNsYXNzTmFtZTogImV0LXNlY3Rpb24gbWItMTYiLCBjaGlsZHJlbjogW19qc3goImgyIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LTJ4bCBtZDp0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItOCBmb250LWRpc3BsYXkgYm9yZGVyLWwtNCBib3JkZXItYmx1ZS03MDAgcGwtNCIsIGNoaWxkcmVuOiAiMS4gXHUwNDIzXHUwNDMzXHUwNDQwXHUwNDNFXHUwNDM3XHUwNDMwIFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0Qlx1MDQ0NSBDaXNjbzogXHUwNDNGXHUwNDNFXHUwNDQ3XHUwNDM1XHUwNDNDXHUwNDQzIFx1MDQzRlx1MDQ0MFx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQzRSBcdTAwQUJcdTA0M0VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzJcdTA0MzhcdTA0NDJcdTA0NEMgXHUwNDNBXHUwNDMwXHUwNDNBIFx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQ0Q1x1MDBCQiBcdTA0M0RcdTA0MzVcdTA0M0JcdTA0NENcdTA0MzdcdTA0NEYiIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNsYXRlLTcwMCBtYi02IGl0YWxpYyB0ZXh0LWJhc2UiLCBjaGlsZHJlbjogIlx1MDQxOFx1MDQ0MVx1MDQ0MVx1MDQzQlx1MDQzNVx1MDQzNFx1MDQzRVx1MDQzMlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQ0RiBcdTA0M0ZcdTA0M0UgXHUwNDMxXHUwNDM1XHUwNDM3XHUwNDNFXHUwNDNGXHUwNDMwXHUwNDQxXHUwNDNEXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM4IFx1MDQzRlx1MDQzRVx1MDQzNFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzQVx1MDQzOFx1MDQzMlx1MDQzMFx1MDQ0RVx1MDQ0MiBcdTA0M0RcdTA0MzVcdTA0NDFcdTA0M0FcdTA0M0VcdTA0M0JcdTA0NENcdTA0M0FcdTA0M0UgXHUwNDNBXHUwNDNCXHUwNDRFXHUwNDQ3XHUwNDM1XHUwNDMyXHUwNDRCXHUwNDQ1IFx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQzQVx1MDQzRVx1MDQzMiwgXHUwNDQxXHUwNDMyXHUwNDRGXHUwNDM3XHUwNDMwXHUwNDNEXHUwNDNEXHUwNDRCXHUwNDQ1IFx1MDQ0MSBcdTA0NERcdTA0M0FcdTA0NDFcdTA0M0ZcdTA0M0JcdTA0NDNcdTA0MzBcdTA0NDJcdTA0MzBcdTA0NDZcdTA0MzhcdTA0MzVcdTA0MzkgXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDM1XHUwNDMyXHUwNDQ4XHUwNDM4XHUwNDQ1IFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQzNVx1MDQzMlx1MDQ0Qlx1MDQ0NSBcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M0VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzI6IiB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJiZy1zbGF0ZS01MCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLTN4bCBwLTggc2hhZG93LXNtIiwgY2hpbGRyZW46IF9qc3hzKCJ1bCIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS00IGxpc3Qtbm9uZSBwLTAgbS0wIHRleHQtc2xhdGUtNzAwIiwgY2hpbGRyZW46IFtfanN4cygibGkiLCB7IGNsYXNzTmFtZTogImZsZXggZ2FwLTQiLCBjaGlsZHJlbjogW19qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogImZsZXgtc2hyaW5rLTAgdy02IGgtNiBiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtYm9sZCIsIGNoaWxkcmVuOiAiISIgfSksIF9qc3hzKCJzcGFuIiwgeyBjaGlsZHJlbjogW19qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJGaXJtd2FyZVx1MjAxMVx1MDQzMFx1MDQ0Mlx1MDQzMFx1MDQzQVx1MDQzOCBcdTA0MzggXHUwNDNGXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDQ1XHUwNDMyXHUwNDMwXHUwNDQyIFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQ0Mlx1MDQ0MFx1MDQzRVx1MDQzQlx1MDQ0Ri4iIH0pLCAiIFx1MDQxN1x1MDQzQlx1MDQzRVx1MDQ0M1x1MDQzQ1x1MDQ0Qlx1MDQ0OFx1MDQzQlx1MDQzNVx1MDQzRFx1MDQzRFx1MDQzOFx1MDQzQSBcdTA0M0NcdTA0M0VcdTA0MzZcdTA0MzVcdTA0NDIgXHUwNDNGXHUwNDNFXHUwNDNCXHUwNDQzXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRDIFx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQzRVx1MDQzOVx1MDQ0N1x1MDQzOFx1MDQzMlx1MDQ0Qlx1MDQzOSBcdTA0MzRcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M0YgXHUwNDNBIFx1MDQzQ1x1MDQzMFx1MDQ0MFx1MDQ0OFx1MDQ0MFx1MDQ0M1x1MDQ0Mlx1MDQzOFx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQzRVx1MDQ0MFx1MDQ0MyBcdTA0NDdcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzcgXHUwNDNDXHUwNDNFXHUwNDM0XHUwNDM4XHUwNDQ0XHUwNDM4XHUwNDQ2XHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDNEXHUwNDNEXHUwNDQzXHUwNDRFIFx1MDQzRlx1MDQ0MFx1MDQzRVx1MDQ0OFx1MDQzOFx1MDQzMlx1MDQzQVx1MDQ0My4iXSB9KV0gfSksIF9qc3hzKCJsaSIsIHsgY2xhc3NOYW1lOiAiZmxleCBnYXAtNCIsIGNoaWxkcmVuOiBbX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAiZmxleC1zaHJpbmstMCB3LTYgaC02IGJnLWJsdWUtMTAwIHRleHQtYmx1ZS03MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIHRleHQteHMgZm9udC1ib2xkIiwgY2hpbGRyZW46ICIhIiB9KSwgX2pzeHMoInNwYW4iLCB7IGNoaWxkcmVuOiBbX2pzeCgic3Ryb25nIiwgeyBjaGlsZHJlbjogIlx1MDQxRVx1MDQ0Mlx1MDQ0MVx1MDQ0M1x1MDQ0Mlx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzOFx1MDQzNSBcdTA0M0ZcdTA0MzBcdTA0NDJcdTA0NDdcdTA0MzVcdTA0MzkuIiB9KSwgIiBcdTA0MUJcdTA0NEVcdTA0MzFcdTA0MzBcdTA0NEYgXHUwNDNEXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDRGIFx1MDQzQVx1MDQ0MFx1MDQzOFx1MDQ0Mlx1MDQzOFx1MDQ0N1x1MDQzNVx1MDQ0MVx1MDQzQVx1MDQzMFx1MDQ0RiBcdTA0NDNcdTA0NEZcdTA0MzdcdTA0MzJcdTA0MzhcdTA0M0NcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NEMgXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDUxXHUwNDQyXHUwNDQxXHUwNDRGIFx1MDBBQlx1MDQzRVx1MDQ0Mlx1MDQzQVx1MDQ0MFx1MDQ0Qlx1MDQ0Mlx1MDQzRVx1MDQzOSBcdTA0M0RcdTA0MzBcdTA0MzJcdTA0NDFcdTA0MzVcdTA0MzNcdTA0MzRcdTA0MzBcdTAwQkIgXHUwNDNEXHUwNDMwIFx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzRVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMFx1MDQ0NSBcdTA0MzFcdTA0MzVcdTA0MzcgXHUwNDQxXHUwNDNFXHUwNDMyXHUwNDQwXHUwNDM1XHUwNDNDXHUwNDM1XHUwNDNEXHUwNDNEXHUwNDRCXHUwNDQ1IFx1MDQzQ1x1MDQzNVx1MDQ0NVx1MDQzMFx1MDQzRFx1MDQzOFx1MDQzN1x1MDQzQ1x1MDQzRVx1MDQzMiBcdTA0MzdcdTA0MzBcdTA0NDlcdTA0MzhcdTA0NDJcdTA0NEIuIl0gfSldIH0pLCBfanN4cygibGkiLCB7IGNsYXNzTmFtZTogImZsZXggZ2FwLTQiLCBjaGlsZHJlbjogW19qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogImZsZXgtc2hyaW5rLTAgdy02IGgtNiBiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCB0ZXh0LXhzIGZvbnQtYm9sZCIsIGNoaWxkcmVuOiAiISIgfSksIF9qc3hzKCJzcGFuIiwgeyBjaGlsZHJlbjogW19qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJcdTA0MTBcdTA0MzJcdTA0NDJcdTA0M0VcdTA0M0NcdTA0MzBcdTA0NDJcdTA0MzhcdTA0MzdcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NEYgXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDNBLiIgfSksICIgXHUwNDEyIFx1MDQ0RFx1MDQzRlx1MDQzRVx1MDQ0NVx1MDQ0MyBcdTA0MThcdTA0MTggXHUwNDQxXHUwNDNBXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDM1IFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQzOCBcdTA0M0RcdTA0MzAgXHUwNDNGXHUwNDQwXHUwNDM1XHUwNDM0XHUwNDNDXHUwNDM1XHUwNDQyIFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0Qlx1MDQ0NSBDaXNjbyBcdTA0MzggXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDNCXHUwNDQzXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRGIFx1MDQzOFx1MDQzN1x1MDQzMlx1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzRFx1MDQ0Qlx1MDQ0NSBcdTA0MzRcdTA0NEJcdTA0NDAgXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRGXHUwNDQyXHUwNDQxXHUwNDRGIFx1MDQzRFx1MDQzMCBcdTA0M0ZcdTA0M0VcdTA0NDJcdTA0M0VcdTA0M0EuIl0gfSldIH0pXSB9KSB9KV0gfSksIF9qc3hzKCJzZWN0aW9uIiwgeyBjbGFzc05hbWU6ICJldC1zZWN0aW9uIG1iLTE2IiwgY2hpbGRyZW46IFtfanN4KCJoMiIsIHsgY2xhc3NOYW1lOiAidGV4dC0yeGwgbWQ6dGV4dC0zeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIG1iLTggZm9udC1kaXNwbGF5IiwgY2hpbGRyZW46ICIyLiBcdTA0MjVcdTA0MzBcdTA0NDBcdTA0MzRcdTA0M0RcdTA0MzhcdTA0M0RcdTA0MzMgXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDRCXHUwNDQ1IENpc2NvOiBcdTA0NDdcdTA0NDJcdTA0M0UgXHUwNDMyXHUwNDNBXHUwNDNCXHUwNDRFXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRDIFx1MDQzNFx1MDQzMFx1MDQzNlx1MDQzNSBcdTA0MzFcdTA0MzVcdTA0MzcgXHUwNDNGXHUwNDMwXHUwNDQyXHUwNDQ3XHUwNDM1XHUwNDM5IiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAibWItNiB0ZXh0LXNsYXRlLTcwMCBsZWFkaW5nLXJlbGF4ZWQiLCBjaGlsZHJlbjogIlx1MDQxNFx1MDQzMFx1MDQzNlx1MDQzNSBcdTA0MzVcdTA0NDFcdTA0M0JcdTA0MzggXHUwNDMyXHUwNDMwXHUwNDQ4IElPUy9JT1NcdTIwMTFYRSBcdTA0MzFcdTA0M0VcdTA0M0JcdTA0NENcdTA0NDhcdTA0MzUgXHUwNDNEXHUwNDM1IFx1MDQzRVx1MDQzMVx1MDQzRFx1MDQzRVx1MDQzMlx1MDQzQlx1MDQ0Rlx1MDQzNVx1MDQ0Mlx1MDQ0MVx1MDQ0RiwgXHUwNDM3XHUwNDNEXHUwNDMwXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDM1XHUwNDNCXHUwNDRDXHUwNDNEXHUwNDQzXHUwNDRFIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0QyBcdTA0NDBcdTA0MzhcdTA0NDFcdTA0M0FcdTA0MzAgXHUwNDNDXHUwNDNFXHUwNDM2XHUwNDNEXHUwNDNFIFx1MDQ0MVx1MDQzRFx1MDQ0Rlx1MDQ0Mlx1MDQ0QyBcdTA0M0ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0MzhcdTA0M0JcdTA0NENcdTA0M0RcdTA0M0VcdTA0MzkgXHUwNDMxXHUwNDMwXHUwNDM3XHUwNDNFXHUwNDMyXHUwNDNFXHUwNDM5IFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQ0NFx1MDQzOFx1MDQzM1x1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzNVx1MDQzOS4iIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTYgbWItMTAiLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImJnLXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBzaGFkb3ctc20iLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWxnIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCBtYi00IiwgY2hpbGRyZW46ICIyLjEuIFx1MDQxRVx1MDQ0Mlx1MDQzQVx1MDQzQlx1MDQ0RVx1MDQ0N1x1MDQzMFx1MDQzNVx1MDQzQyBcdTA0M0RcdTA0MzVcdTA0M0RcdTA0NDNcdTA0MzZcdTA0M0RcdTA0NEJcdTA0MzUgXHUwNDQxXHUwNDNCXHUwNDQzXHUwNDM2XHUwNDMxXHUwNDRCIiB9KSwgX2pzeHMoInVsIiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTIgdGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCBsaXN0LW5vbmUgcC0wIiwgY2hpbGRyZW46IFtfanN4cygibGkiLCB7IGNoaWxkcmVuOiBbIlx1MjAyMiBcdTA0MjNcdTA0M0ZcdTA0NDBcdTA0MzBcdTA0MzJcdTA0M0JcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzUgXHUwNDQyXHUwNDNFXHUwNDNCXHUwNDRDXHUwNDNBXHUwNDNFIFx1MDQzRlx1MDQzRSBTU0h2MiAoIiwgX2pzeCgiY29kZSIsIHsgY2hpbGRyZW46ICJubyB0cmFuc3BvcnQgaW5wdXQgdGVsbmV0IiB9KSwgIikuIl0gfSksIF9qc3hzKCJsaSIsIHsgY2hpbGRyZW46IFsiXHUyMDIyIFx1MDQxRVx1MDQ0Mlx1MDQzQVx1MDQzQlx1MDQ0RVx1MDQ0N1x1MDQzNVx1MDQzRFx1MDQzOFx1MDQzNSB3ZWItXHUwNDM4XHUwNDNEXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDQ0XHUwNDM1XHUwNDM5XHUwNDQxXHUwNDMwICgiLCBfanN4KCJjb2RlIiwgeyBjaGlsZHJlbjogIm5vIGlwIGh0dHAgc2VydmVyIiB9KSwgIikuIl0gfSksIF9qc3hzKCJsaSIsIHsgY2hpbGRyZW46IFsiXHUyMDIyIFx1MDQxRVx1MDQ0Mlx1MDQzQVx1MDQzQlx1MDQ0RVx1MDQ0N1x1MDQzNVx1MDQzRFx1MDQzOFx1MDQzNSAiLCBfanN4KCJjb2RlIiwgeyBjaGlsZHJlbjogImNkcCBydW4iIH0pLCAiIFx1MDQzRFx1MDQzMCBcdTA0MzJcdTA0M0RcdTA0MzVcdTA0NDhcdTA0M0RcdTA0MzhcdTA0NDUgXHUwNDM4XHUwNDNEXHUwNDQyXHUwNDM1XHUwNDQwXHUwNDQ0XHUwNDM1XHUwNDM5XHUwNDQxXHUwNDMwXHUwNDQ1LCAiLCBfanN4KCJjb2RlIiwgeyBjaGlsZHJlbjogIm5vIGlwIHNvdXJjZS1yb3V0ZSIgfSksICIsICIsIF9qc3goImNvZGUiLCB7IGNoaWxkcmVuOiAibm8gc2VydmljZSBmaW5nZXIiIH0pLCAiLiJdIH0pXSB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImJnLXdoaXRlIHAtNiByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBzaGFkb3ctc20iLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWxnIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCBtYi00IiwgY2hpbGRyZW46ICIyLjIuIFx1MDQyM1x1MDQ0MVx1MDQzOFx1MDQzQlx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzNVx1MDQzQyBcdTA0MzBcdTA0NDNcdTA0NDJcdTA0MzVcdTA0M0RcdTA0NDJcdTA0MzhcdTA0NDRcdTA0MzhcdTA0M0FcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NEUgKEFBQSkiIH0pLCBfanN4cygidWwiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktMiB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIGxpc3Qtbm9uZSBwLTAiLCBjaGlsZHJlbjogW19qc3hzKCJsaSIsIHsgY2hpbGRyZW46IFsiXHUyMDIyIFx1MDQxOFx1MDQ0MVx1MDQzRlx1MDQzRVx1MDQzQlx1MDQ0Q1x1MDQzN1x1MDQzRVx1MDQzMlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQzNSAiLCBfanN4KCJjb2RlIiwgeyBjaGlsZHJlbjogImVuYWJsZSBzZWNyZXQiIH0pLCAiIFx1MDQ0MSBcdTA0NDFcdTA0MzhcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0M0MgXHUwNDQ1XHUwNDREXHUwNDQ4XHUwNDM1XHUwNDNDLiJdIH0pLCBfanN4cygibGkiLCB7IGNoaWxkcmVuOiBbIlx1MjAyMiAiLCBfanN4KCJjb2RlIiwgeyBjaGlsZHJlbjogInNlcnZpY2UgcGFzc3dvcmQtZW5jcnlwdGlvbiIgfSksICIgXHUwNDM0XHUwNDNCXHUwNDRGIFx1MDQzMlx1MDQ0MVx1MDQzNVx1MDQ0NSBcdTA0M0JcdTA0M0VcdTA0M0FcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0NDUgXHUwNDNGXHUwNDMwXHUwNDQwXHUwNDNFXHUwNDNCXHUwNDM1XHUwNDM5LiJdIH0pLCBfanN4KCJsaSIsIHsgY2hpbGRyZW46ICJcdTIwMjIgXHUwNDE4XHUwNDNEXHUwNDQyXHUwNDM1XHUwNDMzXHUwNDQwXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRGIFx1MDQ0MSBSQURJVVMvVEFDQUNTKyBcdTA0MzIgXHUwNDM3XHUwNDMwXHUwNDQ5XHUwNDM4XHUwNDQ5XHUwNDUxXHUwNDNEXHUwNDNEXHUwNDNFXHUwNDNDIFx1MDQ0MVx1MDQzNVx1MDQzM1x1MDQzQ1x1MDQzNVx1MDQzRFx1MDQ0Mlx1MDQzNS4iIH0pXSB9KV0gfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJiZy1zbGF0ZS05MDAgdGV4dC1zbGF0ZS0zMDAgcC04IHJvdW5kZWQtMnhsIHNoYWRvdy14bCIsIGNoaWxkcmVuOiBbX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogInRleHQtbGcgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItNCBpdGFsaWMiLCBjaGlsZHJlbjogIjIuMy4gXHUwNDFFXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDQ3XHUwNDM1XHUwNDNEXHUwNDM4XHUwNDM1IFZUWSBcdTA0MzRcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M0ZcdTA0MzAiIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIG1iLTQiLCBjaGlsZHJlbjogIlx1MDQyMVx1MDQzRVx1MDQzN1x1MDQzNFx1MDQzMFx1MDQzNVx1MDQzQyBBQ0wsIFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQ0MFx1MDQzNVx1MDQ0OFx1MDQzMFx1MDQ0RVx1MDQ0OVx1MDQ0M1x1MDQ0RSBTU0ggXHUwNDQyXHUwNDNFXHUwNDNCXHUwNDRDXHUwNDNBXHUwNDNFIFx1MDQ0MSBJUC1cdTA0MzBcdTA0MzRcdTA0NDBcdTA0MzVcdTA0NDFcdTA0M0VcdTA0MzIgXHUwNDMwXHUwNDM0XHUwNDNDXHUwNDM4XHUwNDNEXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwXHUwNDQyXHUwNDM4XHUwNDMyXHUwNDNEXHUwNDNFXHUwNDM5IFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQzODoiIH0pLCBfanN4KCJwcmUiLCB7IGNsYXNzTmFtZTogInRleHQteHMgYmctc2xhdGUtODAwIHAtNCByb3VuZGVkIHRleHQtYmx1ZS00MDAgZm9udC1tb25vIiwgY2hpbGRyZW46IGBsaW5lIHZ0eSAwIDQKIHRyYW5zcG9ydCBpbnB1dCBzc2gKIGFjY2Vzcy1jbGFzcyAxMCBpbgohCmFjY2Vzcy1saXN0IDEwIHBlcm1pdCAxOTIuMTY4LjEwMC4wIDAuMC4wLjI1NWAgfSldIH0pXSB9KSwgX2pzeHMoInNlY3Rpb24iLCB7IGNsYXNzTmFtZTogImV0LXNlY3Rpb24gbWItMTYiLCBjaGlsZHJlbjogW19qc3goImgyIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LTJ4bCBtZDp0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItOCBmb250LWRpc3BsYXkgYm9yZGVyLWwtNCBib3JkZXItYmx1ZS03MDAgcGwtNCIsIGNoaWxkcmVuOiAiMy4gXHUwNDEwXHUwNDQwXHUwNDQ1XHUwNDM4XHUwNDQyXHUwNDM1XHUwNDNBXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDNEXHUwNDRCXHUwNDM1IFx1MDQzQ1x1MDQzNVx1MDQ0MFx1MDQ0QjogXHUwNDNFXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDQ3XHUwNDM4XHUwNDMyXHUwNDMwXHUwNDM1XHUwNDNDIFx1MDQ0M1x1MDQ0OVx1MDQzNVx1MDQ0MFx1MDQzMSIgfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTYgbWItMTAiLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogInAtNiBiZy13aGl0ZSByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBzaGFkb3ctc20iLCBjaGlsZHJlbjogW19qc3goImg0IiwgeyBjbGFzc05hbWU6ICJmb250LWJvbGQgdGV4dC1ibHVlLTcwMCBtYi0zIiwgY2hpbGRyZW46ICIzLjEuIFx1MDQyM1x1MDQzMlx1MDQzRVx1MDQzNCBcdTA0NDEgXHUwNDNGXHUwNDM1XHUwNDQwXHUwNDM4XHUwNDNDXHUwNDM1XHUwNDQyXHUwNDQwXHUwNDMwIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC14cyB0ZXh0LXNsYXRlLTYwMCBsZWFkaW5nLXJlbGF4ZWQiLCBjaGlsZHJlbjogIlx1MDQxRFx1MDQzNSBcdTA0MzhcdTA0NDFcdTA0M0ZcdTA0M0VcdTA0M0JcdTA0NENcdTA0MzdcdTA0NDNcdTA0MzlcdTA0NDJcdTA0MzUgRW9MLVx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzRVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMCBcdTA0MzIgXHUwNDNBXHUwNDMwXHUwNDQ3XHUwNDM1XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDM1IFZQTi1cdTA0NDhcdTA0M0JcdTA0NEVcdTA0MzdcdTA0M0VcdTA0MzIgXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQzOFx1MDQzRFx1MDQ0Mlx1MDQzNVx1MDQ0MFx1MDQzRFx1MDQzNVx1MDQ0Mi1cdTA0NDRcdTA0MzBcdTA0MzVcdTA0NDBcdTA0MzJcdTA0M0VcdTA0M0JcdTA0M0JcdTA0M0VcdTA0MzIuIFx1MDQyMVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0Qlx1MDQzOSBDaXNjbyBcdTA0MzRcdTA0M0VcdTA0M0JcdTA0MzZcdTA0MzVcdTA0M0QgXHUwNDQwXHUwNDMwXHUwNDMxXHUwNDNFXHUwNDQyXHUwNDMwXHUwNDQyXHUwNDRDIFx1MDQzMlx1MDQzRFx1MDQ0M1x1MDQ0Mlx1MDQ0MFx1MDQzOCBcdTA0MzRcdTA0M0VcdTA0MzJcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M0RcdTA0M0RcdTA0M0VcdTA0MzkgXHUwNDM3XHUwNDNFXHUwNDNEXHUwNDRCIFx1MDQzQVx1MDQzMFx1MDQzQSBcdTA0MzBcdTA0MzNcdTA0NDBcdTA0MzVcdTA0MzNcdTA0MzBcdTA0NDJcdTA0M0VcdTA0NDAgXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQzNFx1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzOFx1MDQzMVx1MDQ0Q1x1MDQ0RVx1MDQ0Mlx1MDQzRVx1MDQ0MC4iIH0pXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAicC02IGJnLXdoaXRlIHJvdW5kZWQtMnhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHNoYWRvdy1zbSIsIGNoaWxkcmVuOiBbX2pzeCgiaDQiLCB7IGNsYXNzTmFtZTogImZvbnQtYm9sZCB0ZXh0LWJsdWUtNzAwIG1iLTMiLCBjaGlsZHJlbjogIjMuMi4gXHUwNDIxXHUwNDM1XHUwNDMzXHUwNDNDXHUwNDM1XHUwNDNEXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRGIFx1MDQ0MVx1MDQzNVx1MDQ0Mlx1MDQzOCIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQteHMgdGV4dC1zbGF0ZS02MDAgbGVhZGluZy1yZWxheGVkIiwgY2hpbGRyZW46ICJcdTA0MTRcdTA0NDBcdTA0M0VcdTA0MzFcdTA0MzhcdTA0NDJcdTA0MzUgXHUwNDQxXHUwNDM1XHUwNDQyXHUwNDRDIFx1MDQzRlx1MDQzRSBcdTA0NDRcdTA0NDNcdTA0M0RcdTA0M0FcdTA0NDZcdTA0MzhcdTA0M0VcdTA0M0RcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0M0MgXHUwNDM3XHUwNDNFXHUwNDNEXHUwNDMwXHUwNDNDIChWTEFOLCBWUkYpLiBcdTA0MUNcdTA0MzhcdTA0M0RcdTA0MzhcdTA0M0NcdTA0MzhcdTA0MzdcdTA0MzhcdTA0NDBcdTA0NDNcdTA0MzlcdTA0NDJcdTA0MzUgXHUwNDNFXHUwNDMxXHUwNDRBXHUwNDM1XHUwNDNDIFx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQ0NFx1MDQzOFx1MDQzQVx1MDQzMCwgXHUwNDNGXHUwNDQwXHUwNDNFXHUwNDQ1XHUwNDNFXHUwNDM0XHUwNDRGXHUwNDQ5XHUwNDM1XHUwNDMzXHUwNDNFIFx1MDQ0N1x1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzNyBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDBcdTA0NEJcdTA0MzkgXHUwNDQzXHUwNDM3XHUwNDM1XHUwNDNCLCBcdTA0MzggXHUwNDQ0XHUwNDM4XHUwNDNCXHUwNDRDXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQzNVx1MDQzM1x1MDQzRSBcdTA0MzZcdTA0MzVcdTA0NDFcdTA0NDJcdTA0M0FcdTA0MzhcdTA0M0NcdTA0MzggQUNMLiIgfSldIH0pXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAiYmctc2xhdGUtMTAwIHAtNiByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCIsIGNoaWxkcmVuOiBbX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogInRleHQteGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIG1iLTQiLCBjaGlsZHJlbjogIjMuNC4gXHUwNDFDXHUwNDNFXHUwNDNEXHUwNDM4XHUwNDQyXHUwNDNFXHUwNDQwXHUwNDM4XHUwNDNEXHUwNDMzIFx1MDQzMFx1MDQzRFx1MDQzRVx1MDQzQ1x1MDQzMFx1MDQzQlx1MDQzOFx1MDQzOSIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1zbGF0ZS03MDAgbGVhZGluZy1yZWxheGVkIiwgY2hpbGRyZW46ICJcdTA0MThcdTA0NDFcdTA0M0ZcdTA0M0VcdTA0M0JcdTA0NENcdTA0MzdcdTA0NDNcdTA0MzlcdTA0NDJcdTA0MzUgSURTL0lQUyBcdTA0MzhcdTA0M0JcdTA0MzggXHUwNDMwXHUwNDNEXHUwNDMwXHUwNDNCXHUwNDM4XHUwNDM3IE5ldEZsb3cgXHUwNDM0XHUwNDNCXHUwNDRGIFx1MDQzMlx1MDQ0Qlx1MDQ0Rlx1MDQzMlx1MDQzQlx1MDQzNVx1MDQzRFx1MDQzOFx1MDQ0RiBcdTA0M0RcdTA0MzVcdTA0M0ZcdTA0NDBcdTA0MzhcdTA0MzJcdTA0NEJcdTA0NDdcdTA0M0RcdTA0NEJcdTA0NDUgXHUwNDNGXHUwNDNFXHUwNDM0XHUwNDNBXHUwNDNCXHUwNDRFXHUwNDQ3XHUwNDM1XHUwNDNEXHUwNDM4XHUwNDM5LiBcdTA0MUJcdTA0M0VcdTA0MzNcdTA0MzggKFN5c2xvZykgXHUwNDNFXHUwNDMxXHUwNDRGXHUwNDM3XHUwNDMwXHUwNDQyXHUwNDM1XHUwNDNCXHUwNDRDXHUwNDNEXHUwNDNFIFx1MDQzNFx1MDQzRVx1MDQzQlx1MDQzNlx1MDQzRFx1MDQ0QiBcdTA0NDNcdTA0NDVcdTA0M0VcdTA0MzRcdTA0MzhcdTA0NDJcdTA0NEMgXHUwNDNEXHUwNDMwIFx1MDQzMlx1MDQzRFx1MDQzNVx1MDQ0OFx1MDQzRFx1MDQzOFx1MDQzOSBcdTA0MzdcdTA0MzBcdTA0NDlcdTA0MzhcdTA0NDlcdTA0MzVcdTA0M0RcdTA0M0RcdTA0NEJcdTA0MzkgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDM1XHUwNDQwIFx1MDQzMiBcdTA0NDBcdTA0MzVcdTA0MzZcdTA0MzhcdTA0M0NcdTA0MzUgXHUwNDQwXHUwNDM1XHUwNDMwXHUwNDNCXHUwNDRDXHUwNDNEXHUwNDNFXHUwNDMzXHUwNDNFIFx1MDQzMlx1MDQ0MFx1MDQzNVx1MDQzQ1x1MDQzNVx1MDQzRFx1MDQzOC4iIH0pXSB9KV0gfSksIF9qc3hzKCJzZWN0aW9uIiwgeyBjbGFzc05hbWU6ICJldC1zZWN0aW9uIG1iLTE2IiwgY2hpbGRyZW46IFtfanN4KCJoMiIsIHsgY2xhc3NOYW1lOiAidGV4dC0yeGwgbWQ6dGV4dC0zeGwgZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIG1iLTggZm9udC1kaXNwbGF5IiwgY2hpbGRyZW46ICI0LiBcdTA0MTRcdTA0MzhcdTA0NDFcdTA0NDZcdTA0MzhcdTA0M0ZcdTA0M0JcdTA0MzhcdTA0M0RcdTA0MzAgXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDNCXHUwNDQzXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDM4IiB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS02IiwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGdhcC00IGl0ZW1zLXN0YXJ0IiwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInctMTAgaC0xMCByb3VuZGVkLWZ1bGwgYmctYmx1ZS01MCB0ZXh0LWJsdWUtNzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtYm9sZCBmbGV4LXNocmluay0wIiwgY2hpbGRyZW46ICJJIiB9KSwgX2pzeHMoImRpdiIsIHsgY2hpbGRyZW46IFtfanN4KCJoNCIsIHsgY2xhc3NOYW1lOiAiZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIG1iLTEiLCBjaGlsZHJlbjogIlx1MDQxOFx1MDQzRFx1MDQzMlx1MDQzNVx1MDQzRFx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQzOFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0RiBcdTA0MzggXHUwNDNDXHUwNDMwXHUwNDQwXHUwNDNBXHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDNBXHUwNDMwIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1zbSB0ZXh0LXNsYXRlLTYwMCBtLTAiLCBjaGlsZHJlbjogIlx1MDQxRlx1MDQzRVx1MDQzQ1x1MDQzNVx1MDQ0Mlx1MDQ0Q1x1MDQ0Mlx1MDQzNSBcdTA0MzJcdTA0NDFcdTA0MzUgRW9ML0VvUyBcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M0VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzAgXHUwNDNBXHUwNDMwXHUwNDNBIFx1MDQzMlx1MDQ0Qlx1MDQ0MVx1MDQzRVx1MDQzQVx1MDQzRVx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQzQVx1MDQzRVx1MDQzMlx1MDQ0Qlx1MDQzNS4gXHUwNDIzXHUwNDNBXHUwNDMwXHUwNDM2XHUwNDM4XHUwNDQyXHUwNDM1IFx1MDQ0MFx1MDQzRVx1MDQzQlx1MDQ0QyBcdTA0M0FcdTA0MzBcdTA0MzZcdTA0MzRcdTA0M0VcdTA0MzNcdTA0M0UgXHUwNDQzXHUwNDM3XHUwNDNCXHUwNDMwIFx1MDQzMiBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzggXHUwNDM4IFx1MDQzMlx1MDQzRVx1MDQzN1x1MDQzQ1x1MDQzRVx1MDQzNlx1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDNcdTA0NDlcdTA0MzVcdTA0NDBcdTA0MzEgXHUwNDNGXHUwNDQwXHUwNDM4IFx1MDQzNVx1MDQzM1x1MDQzRSBcdTA0M0FcdTA0M0VcdTA0M0NcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0M0NcdTA0MzVcdTA0NDJcdTA0MzBcdTA0NDZcdTA0MzhcdTA0MzguIiB9KV0gfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGdhcC00IGl0ZW1zLXN0YXJ0IiwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInctMTAgaC0xMCByb3VuZGVkLWZ1bGwgYmctYmx1ZS01MCB0ZXh0LWJsdWUtNzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtYm9sZCBmbGV4LXNocmluay0wIiwgY2hpbGRyZW46ICJJSSIgfSksIF9qc3hzKCJkaXYiLCB7IGNoaWxkcmVuOiBbX2pzeCgiaDQiLCB7IGNsYXNzTmFtZTogImZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCBtYi0xIiwgY2hpbGRyZW46ICJcdTA0MTFcdTA0MzBcdTA0MzdcdTA0M0VcdTA0MzJcdTA0NEJcdTA0MzkgXHUwNDQ4XHUwNDMwXHUwNDMxXHUwNDNCXHUwNDNFXHUwNDNEIChCYXNlbGluZSkiIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNtIHRleHQtc2xhdGUtNjAwIG0tMCIsIGNoaWxkcmVuOiAiXHUwNDIwXHUwNDMwXHUwNDM3XHUwNDQwXHUwNDMwXHUwNDMxXHUwNDNFXHUwNDQyXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzRFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0MiBcdTA0NDVcdTA0MzBcdTA0NDBcdTA0MzRcdTA0M0RcdTA0MzhcdTA0M0RcdTA0MzNcdTA0MzAgXHUwNDM0XHUwNDNCXHUwNDRGIFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQ0Qlx1MDQ0NSBcdTA0NDNcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M0VcdTA0MzlcdTA0NDFcdTA0NDJcdTA0MzIuIFx1MDQxRVx1MDQ0Mlx1MDQzQVx1MDQzQlx1MDQzRVx1MDQzRFx1MDQzNVx1MDQzRFx1MDQzOFx1MDQ0RiBcdTA0M0VcdTA0NDIgXHUwNDQ4XHUwNDMwXHUwNDMxXHUwNDNCXHUwNDNFXHUwNDNEXHUwNDMwIFx1MDQzNFx1MDQzRVx1MDQzQlx1MDQzNlx1MDQzRFx1MDQ0QiBcdTA0MzRcdTA0M0VcdTA0M0FcdTA0NDNcdTA0M0NcdTA0MzVcdTA0M0RcdTA0NDJcdTA0MzhcdTA0NDBcdTA0M0VcdTA0MzJcdTA0MzBcdTA0NDJcdTA0NENcdTA0NDFcdTA0NEYuIiB9KV0gfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGdhcC00IGl0ZW1zLXN0YXJ0IiwgY2hpbGRyZW46IFtfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInctMTAgaC0xMCByb3VuZGVkLWZ1bGwgYmctYmx1ZS01MCB0ZXh0LWJsdWUtNzAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtYm9sZCBmbGV4LXNocmluay0wIiwgY2hpbGRyZW46ICJJSUkiIH0pLCBfanN4cygiZGl2IiwgeyBjaGlsZHJlbjogW19qc3goImg0IiwgeyBjbGFzc05hbWU6ICJmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItMSIsIGNoaWxkcmVuOiAiXHUwNDFBXHUwNDNFXHUwNDNEXHUwNDQyXHUwNDQwXHUwNDNFXHUwNDNCXHUwNDRDIFx1MDQzOFx1MDQzN1x1MDQzQ1x1MDQzNVx1MDQzRFx1MDQzNVx1MDQzRFx1MDQzOFx1MDQzOSIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtc20gdGV4dC1zbGF0ZS02MDAgbS0wIiwgY2hpbGRyZW46ICJcdTA0MjBcdTA0MzVcdTA0MzNcdTA0NDNcdTA0M0JcdTA0NEZcdTA0NDBcdTA0M0RcdTA0M0UgXHUwNDQxXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNEXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQ0Mlx1MDQzNVx1MDQzQVx1MDQ0M1x1MDQ0OVx1MDQ0M1x1MDQ0RSBcdTA0M0FcdTA0M0VcdTA0M0RcdTA0NDRcdTA0MzhcdTA0MzNcdTA0NDNcdTA0NDBcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NEUgXHUwNDQxIFx1MDQ0RFx1MDQ0Mlx1MDQzMFx1MDQzQlx1MDQzRVx1MDQzRFx1MDQzRVx1MDQzQy4gXHUwNDFCXHUwNDRFXHUwNDMxXHUwNDNFXHUwNDM1IFx1MDQzRFx1MDQzNVx1MDQzRVx1MDQzNlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQzRFx1MDQzRFx1MDQzRVx1MDQzNSBcdTA0MzhcdTA0MzdcdTA0M0NcdTA0MzVcdTA0M0RcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzUgXHUwNDM0XHUwNDNFXHUwNDNCXHUwNDM2XHUwNDNEXHUwNDNFIFx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzQVx1MDQ0Mlx1MDQzRVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0Q1x1MDQ0MVx1MDQ0RiBcdTA0M0FcdTA0MzBcdTA0M0EgXHUwNDM4XHUwNDNEXHUwNDQ2XHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNEXHUwNDQyIFx1MDQxOFx1MDQxMS4iIH0pXSB9KV0gfSldIH0pXSB9KSwgX2pzeHMoInNlY3Rpb24iLCB7IGNsYXNzTmFtZTogImV0LXNlY3Rpb24gbWItMTYiLCBjaGlsZHJlbjogW19qc3goImgyIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LTJ4bCBtZDp0ZXh0LTN4bCBmb250LWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItOCBmb250LWRpc3BsYXkgaXRhbGljIHRleHQtc2xhdGUtODAwIiwgY2hpbGRyZW46ICI1LiBcdTA0MUFcdTA0M0VcdTA0MzNcdTA0MzRcdTA0MzAgXHUwNDNGXHUwNDNFXHUwNDQwXHUwNDMwIFx1MDQ0MVx1MDQzQVx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTAwQUJcdTA0NDVcdTA0MzJcdTA0MzBcdTA0NDJcdTA0MzhcdTA0NDJcdTAwQkIgXHUyMDE0IFx1MDQxQVx1MDQ0MFx1MDQzOFx1MDQ0Mlx1MDQzOFx1MDQ0N1x1MDQzNVx1MDQ0MVx1MDQzQVx1MDQzOFx1MDQzNSBcdTA0NDBcdTA0MzhcdTA0NDFcdTA0M0FcdTA0MzgiIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCByb3VuZGVkLTN4bCBwLTggc2hhZG93LXNtIiwgY2hpbGRyZW46IFtfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNsYXRlLTcwMCBtYi00IiwgY2hpbGRyZW46ICJcdTA0MTFcdTA0MzVcdTA0MzdcdTA0M0VcdTA0M0ZcdTA0MzBcdTA0NDFcdTA0M0RcdTA0MzBcdTA0NEYgXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDNCXHUwNDQzXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRGIFx1MDQzRFx1MDQzNVx1MDQzMlx1MDQzRVx1MDQzN1x1MDQzQ1x1MDQzRVx1MDQzNlx1MDQzRFx1MDQzMCwgXHUwNDM1XHUwNDQxXHUwNDNCXHUwNDM4OiIgfSksIF9qc3hzKCJ1bCIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS0zIHRleHQtc20gdGV4dC1zbGF0ZS02MDAgbGlzdC1kaXNjIHBsLTUiLCBjaGlsZHJlbjogW19qc3hzKCJsaSIsIHsgY2hpbGRyZW46IFsiXHUwNDIzXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNFXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyXHUwNDNFIFx1MDQzRFx1MDQzMCBcdTA0M0FcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzhcdTA0NDdcdTA0MzVcdTA0NDFcdTA0M0FcdTA0M0VcdTA0M0MgXHUwNDQzXHUwNDM3XHUwNDNCXHUwNDM1IFx1MDQzOFx1MDQzQ1x1MDQzNVx1MDQzNVx1MDQ0MiBcdTA0MzhcdTA0MzdcdTA0MzJcdTA0MzVcdTA0NDFcdTA0NDJcdTA0M0RcdTA0NDNcdTA0NEUgIiwgX2pzeCgic3Ryb25nIiwgeyBjaGlsZHJlbjogIlJDRSBcdTA0NDNcdTA0NEZcdTA0MzdcdTA0MzJcdTA0MzhcdTA0M0NcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NEMiIH0pLCAiIFx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M0ZcdTA0MzBcdTA0NDJcdTA0NDdcdTA0MzAuIl0gfSksIF9qc3hzKCJsaSIsIHsgY2hpbGRyZW46IFsiXHUwNDE3XHUwNDMwXHUwNDQ0XHUwNDM4XHUwNDNBXHUwNDQxXHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDNEXHUwNDRCICIsIF9qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJcdTA0M0ZcdTA0NDBcdTA0MzhcdTA0MzdcdTA0M0RcdTA0MzBcdTA0M0FcdTA0MzggXHUwNDMyXHUwNDNDXHUwNDM1XHUwNDQ4XHUwNDMwXHUwNDQyXHUwNDM1XHUwNDNCXHUwNDRDXHUwNDQxXHUwNDQyXHUwNDMyXHUwNDMwIiB9KSwgIiBcdTA0MzIgXHUwNDNGXHUwNDQwXHUwNDNFXHUwNDQ4XHUwNDM4XHUwNDMyXHUwNDNBXHUwNDQzIFx1MDQzOFx1MDQzQlx1MDQzOCBST01NT04uIl0gfSksIF9qc3hzKCJsaSIsIHsgY2hpbGRyZW46IFsiXHUwNDIyXHUwNDM1XHUwNDQ1XHUwNDNEXHUwNDM4XHUwNDQ3XHUwNDM1XHUwNDQxXHUwNDNBXHUwNDM4ICIsIF9qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJcdTA0M0RcdTA0MzVcdTA0MzJcdTA0M0VcdTA0MzdcdTA0M0NcdTA0M0VcdTA0MzZcdTA0M0RcdTA0M0UgXHUwNDNEXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNFXHUwNDM4XHUwNDQyXHUwNDRDIiB9KSwgIiBcdTA0MzFcdTA0MzBcdTA0MzdcdTA0M0VcdTA0MzJcdTA0NEJcdTA0MzkgXHUwNDQ1XHUwNDMwXHUwNDQwXHUwNDM0XHUwNDNEXHUwNDM4XHUwNDNEXHUwNDMzIChTU0h2MiwgQUNMLCBBQUEpLiJdIH0pXSB9KV0gfSldIH0pLCBfanN4cygic2VjdGlvbiIsIHsgY2xhc3NOYW1lOiAiZXQtc2VjdGlvbiBtYi0xNiB0ZXh0LWNlbnRlciBtYXgtdy0zeGwgbXgtYXV0byIsIGNoaWxkcmVuOiBbX2pzeCgiaDIiLCB7IGNsYXNzTmFtZTogInRleHQtMnhsIG1kOnRleHQtM3hsIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCBtYi02IGZvbnQtZGlzcGxheSBpdGFsaWMgdW5kZXJsaW5lIGRlY29yYXRpb24tYmx1ZS03MDAgZGVjb3JhdGlvbi00IHVuZGVybGluZS1vZmZzZXQtOCIsIGNoaWxkcmVuOiAiXHUwNDEyXHUwNDRCXHUwNDMyXHUwNDNFXHUwNDM0IiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1zbGF0ZS03MDAgbGVhZGluZy1yZWxheGVkIHRleHQtbGciLCBjaGlsZHJlbjogIlx1MDQyM1x1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0MFx1MDQzNVx1MDQzMlx1MDQ0OFx1MDQzOFx1MDQzNSBDaXNjb1x1MjAxMVx1MDQ0M1x1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzRVx1MDQzOVx1MDQ0MVx1MDQ0Mlx1MDQzMlx1MDQzMCBcdTA0M0NcdTA0M0VcdTA0MzNcdTA0NDNcdTA0NDIgXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRDXHUwNDQxXHUwNDRGIFx1MDQ0N1x1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0Q1x1MDQ0RSBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzgsIFx1MDQzRFx1MDQzRSBcdTA0NDJcdTA0M0VcdTA0M0JcdTA0NENcdTA0M0FcdTA0M0UgXHUwNDNGXHUwNDQwXHUwNDM4IFx1MDQ0N1x1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzRFx1MDQzRVx1MDQzQyBcdTA0M0VcdTA0NDJcdTA0M0RcdTA0M0VcdTA0NDhcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzggXHUwNDNBIFx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQzQVx1MDQzMFx1MDQzQy4gXHUwNDI1XHUwNDMwXHUwNDQwXHUwNDM0XHUwNDNEXHUwNDM4XHUwNDNEXHUwNDMzIFx1MDQzOCBcdTA0MzBcdTA0NDBcdTA0NDVcdTA0MzhcdTA0NDJcdTA0MzVcdTA0M0FcdTA0NDJcdTA0NDNcdTA0NDBcdTA0M0RcdTA0MzBcdTA0NEYgXHUwNDM4XHUwNDM3XHUwNDNFXHUwNDNCXHUwNDRGXHUwNDQ2XHUwNDM4XHUwNDRGIFx1MjAxNCBcdTA0NERcdTA0NDJcdTA0M0UgXHUwNDMyXHUwNDQwXHUwNDM1XHUwNDNDXHUwNDM1XHUwNDNEXHUwNDNEXHUwNDRCXHUwNDM1IFx1MDQzQ1x1MDQzNVx1MDQ0MFx1MDQ0QiwgXHUwNDNGXHUwNDNFXHUwNDM3XHUwNDMyXHUwNDNFXHUwNDNCXHUwNDRGXHUwNDRFXHUwNDQ5XHUwNDM4XHUwNDM1IFx1MDQzMlx1MDQ0Qlx1MDQzOFx1MDQzM1x1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0MzJcdTA0NDBcdTA0MzVcdTA0M0NcdTA0NEYgXHUwNDM0XHUwNDNFIFx1MDQzRlx1MDQzQlx1MDQzMFx1MDQzRFx1MDQzRVx1MDQzMlx1MDQzRVx1MDQzOSBcdTA0M0NcdTA0M0VcdTA0MzRcdTA0MzVcdTA0NDBcdTA0M0RcdTA0MzhcdTA0MzdcdTA0MzBcdTA0NDZcdTA0MzhcdTA0MzggXHUwNDNFXHUwNDMxXHUwNDNFXHUwNDQwXHUwNDQzXHUwNDM0XHUwNDNFXHUwNDMyXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDRGLiIgfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJldC1jdGEtYmxvY2sgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1zbGF0ZS05MDAgdmlhLWJsdWUtOTAwIHRvLXNsYXRlLTkwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtM3hsIHAtMTAgbWQ6cC0xNiB0ZXh0LWNlbnRlciBzaGFkb3ctMnhsIHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiIsIGNoaWxkcmVuOiBbX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJhYnNvbHV0ZSB0b3AtMCByaWdodC0wIHctOTYgaC05NiBiZy13aGl0ZS81IGJsdXItWzEwMHB4XSByb3VuZGVkLWZ1bGwiIH0pLCBfanN4KCJoMyIsIHsgY2xhc3NOYW1lOiAidGV4dC0yeGwgbWQ6dGV4dC00eGwgZm9udC1leHRyYWJvbGQgbWItNiByZWxhdGl2ZSB6LTEwIGZvbnQtZGlzcGxheSBpdGFsaWMiLCBjaGlsZHJlbjogIlx1MDQxRFx1MDQ0M1x1MDQzNlx1MDQzNVx1MDQzRCBcdTA0MzBcdTA0NDNcdTA0MzRcdTA0MzhcdTA0NDIgXHUwNDMxXHUwNDM1XHUwNDM3XHUwNDNFXHUwNDNGXHUwNDMwXHUwNDQxXHUwNDNEXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM4IFx1MDQzMlx1MDQzMFx1MDQ0OFx1MDQzNVx1MDQzOSBcdTA0NDFcdTA0MzVcdTA0NDJcdTA0MzVcdTA0MzJcdTA0M0VcdTA0MzkgXHUwNDM4XHUwNDNEXHUwNDQ0XHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNBXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDRCPyIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtc2xhdGUtMzAwIG1iLTEwIG1heC13LTJ4bCBteC1hdXRvIHJlbGF0aXZlIHotMTAgdGV4dC1sZyIsIGNoaWxkcmVuOiAiXHUwNDFFXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRDXHUwNDQyXHUwNDM1IFx1MDQzN1x1MDQzMFx1MDQ0Rlx1MDQzMlx1MDQzQVx1MDQ0MyBcdTIwMTQgXHUwNDNGXHUwNDQwXHUwNDNFXHUwNDMyXHUwNDM1XHUwNDM0XHUwNDM1XHUwNDNDIFx1MDQzRlx1MDQzRVx1MDQzQlx1MDQzRFx1MDQ0M1x1MDQ0RSBcdTA0MzhcdTA0M0RcdTA0MzJcdTA0MzVcdTA0M0RcdTA0NDJcdTA0MzBcdTA0NDBcdTA0MzhcdTA0MzdcdTA0MzBcdTA0NDZcdTA0MzhcdTA0NEUsIFx1MDQzRFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzRVx1MDQzOFx1MDQzQyBcdTA0NDhcdTA0MzBcdTA0MzFcdTA0M0JcdTA0M0VcdTA0M0RcdTA0NEIgXHUwNDQ1XHUwNDMwXHUwNDQwXHUwNDM0XHUwNDNEXHUwNDM4XHUwNDNEXHUwNDMzXHUwNDMwIFx1MDQzNFx1MDQzQlx1MDQ0RiBsZWdhY3ktXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDNFXHUwNDM5XHUwNDQxXHUwNDQyXHUwNDMyIFx1MDQzOCBcdTA0M0ZcdTA0M0VcdTA0M0NcdTA0M0VcdTA0MzZcdTA0MzVcdTA0M0MgXHUwNDQxXHUwNDNGXHUwNDNCXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRDIFx1MDQzMVx1MDQzNVx1MDQzN1x1MDQzRVx1MDQzRlx1MDQzMFx1MDQ0MVx1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0MzJcdTA0NEJcdTA0MzJcdTA0M0VcdTA0MzQgXHUwNDQzXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDQwXHUwNDM1XHUwNDMyXHUwNDQ4XHUwNDM1XHUwNDMzXHUwNDNFIFx1MDQzNlx1MDQzNVx1MDQzQlx1MDQzNVx1MDQzN1x1MDQzMCBcdTA0MzhcdTA0MzcgXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDNCXHUwNDQzXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDM4LiIgfSksIF9qc3goImEiLCB7IGhyZWY6ICJodHRwczovL2Zvcm1zLm9mZmljZS5jb20vUGFnZXMvUmVzcG9uc2VQYWdlLmFzcHg\/aWQ9TThuZE92a09pMEtMMm5qWDU5UzN0NlJseWhDUnJJZE1yNE5rNlhWQS14OVVNazlKVjBNNVZEVTJWa2N5UmxFMk1sQlFTVmRKT0ZNelV5NHUiLCBjbGFzc05hbWU6ICJyZWxhdGl2ZSB6LTEwIGlubGluZS1ibG9jayBiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlIGhvdmVyOmJnLWJsdWUtNjAwIGZvbnQtYm9sZCBweS01IHB4LTEyIHJvdW5kZWQtMnhsIHRyYW5zaXRpb24tYWxsIHRyYW5zZm9ybSBob3ZlcjpzY2FsZS0xMDUgYWN0aXZlOnNjYWxlLTk1IHNoYWRvdy14bCIsIHRhcmdldDogIl9ibGFuayIsIHJlbDogIm5vb3BlbmVyIG5vcmVmZXJyZXIiLCBjaGlsZHJlbjogIlx1MDQxN1x1MDQzMFx1MDQzQVx1MDQzMFx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0MzBcdTA0NDNcdTA0MzRcdTA0MzhcdTA0NDIgXHUwNDMxXHUwNDM1XHUwNDM3XHUwNDNFXHUwNDNGXHUwNDMwXHUwNDQxXHUwNDNEXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM4IiB9KV0gfSldIH0pKTsKfTsKZXhwb3J0IGRlZmF1bHQgQXJ0aWNsZTsK\",\"@\/components\/Table\":\"data:application\/javascript;base64,ZXhwb3J0IGNvbnN0IFRhYmxlID0gKCkgPT4gbnVsbDsK\",\"@\/components\/FAQ\":\"data:application\/javascript;base64,ZXhwb3J0IGNvbnN0IEZBUSA9ICgpID0+IG51bGw7Cg==\",\"@\/components\/Footer\":\"data:application\/javascript;base64,Y29uc3QgRm9vdGVyID0gKCkgPT4gbnVsbDsKZXhwb3J0IGRlZmF1bHQgRm9vdGVyOwo=\",\"@\/components\/ProductGallery\":\"data:application\/javascript;base64,Y29uc3QgUHJvZHVjdEdhbGxlcnkgPSAoKSA9PiBudWxsOwpleHBvcnQgZGVmYXVsdCBQcm9kdWN0R2FsbGVyeTsK\"}}<\/script>\n        <script>\n          window.APPLET_FILES = [\"index.tsx\",\"metadata.json\",\"index.html\",\"App.tsx\",\"components\/Header.tsx\",\"components\/Article.tsx\",\"components\/Table.tsx\",\"components\/FAQ.tsx\",\"components\/Footer.tsx\",\"components\/ProductGallery.tsx\"];\n          <\/script>\n        <script type=\"module\">\n        (() => {\n  if (window.self === window.top) {\n    \/\/ Do not run the shim in the main window, only in iframes.\n    return;\n  }\n\n  window.API_KEY = 'GEMINI_API_KEY';\n  window.GEMINI_API_KEY = 'GEMINI_API_KEY';\n  window.process = window.process || {};\n  window.process.env = window.process.env || {};\n  window.process.env.API_KEY = window.API_KEY;\n  window.process.env.GEMINI_API_KEY = window.GEMINI_API_KEY;\n\n  const bootstrapChannel = new Promise((resolve) => {\n    window.addEventListener('message', (event) => {\n      if (event.origin !== 'https:\/\/aistudio.google.com') {\n        return;\n      }\n\n      if (event.data.type === 'bootstrap') {\n        resolve({\n          port: event.ports[0],\n          urlPatterns:\n              event.data.urlPatterns.map((pattern) => new RegExp(pattern)),\n        });\n      }\n    });\n  });\n\n  window.aistudio = window.aistudio || {\n    handleFullscreenEsc: true,\n    getHostUrl: async function() {\n      const hostPort = (await bootstrapChannel).port;\n      return new Promise((resolve) => {\n        const channel = new MessageChannel();\n        hostPort.postMessage(\n            {type: 'get_host_url'},\n            [channel.port2]);\n        const port = channel.port1;\n        port.onmessage = (message) => {\n          resolve(message.data.url);\n        };\n      });\n    },\n    hasSelectedApiKey: async function() {\n      const hostPort = (await bootstrapChannel).port;\n      return new Promise((resolve) => {\n        const channel = new MessageChannel();\n        hostPort.postMessage(\n            {type: 'has_selected_api_key'},\n            [channel.port2]);\n        const port = channel.port1;\n        port.onmessage = (message) => {\n          resolve(message.data);\n        };\n      });\n    },\n    openSelectKey: async function() {\n      const hostPort = (await bootstrapChannel).port;\n      const channel = new MessageChannel();\n      hostPort.postMessage(\n          {type: 'open_select_key'},\n          [channel.port2]);\n    },\n    getModelQuota: async function(model) {\n      const hostPort = (await bootstrapChannel).port;\n      return new Promise((resolve) => {\n        const channel = new MessageChannel();\n        hostPort.postMessage(\n            {type: 'get_model_quota', model},\n            [channel.port2]);\n        const port = channel.port1;\n        port.onmessage = (message) => {\n          resolve(message.data.modelQuota);\n        };\n      });\n    },\n  };\n\n  const nativeFetch = window.fetch;\n\n  \/**\n   * @param {string | URL | Request} resource The resource of the fetch request.\n   * @param {RequestInit} options The options of the fetch request.\n   * @return {Promise!} The promise of the fetch request.\n   *\/\n  async function fetch(resource, options) {\n    const config = await bootstrapChannel;\n\n    const request = resource instanceof Request ?\n      resource.clone() :\n      new Request(resource, options);\n\n    if (!config.urlPatterns.some((pattern) => request.url.match(pattern))) {\n      return nativeFetch(resource, options);\n    }\n    const hostPort = config.port;\n\n    const channel = new MessageChannel();\n    const port = channel.port1;\n    let bodyBytes;\n    const transfer = [channel.port2];\n    const parts = [];\n    const buffer = await request.arrayBuffer();\n    if (buffer.byteLength) {\n      bodyBytes = buffer;\n      transfer.push(bodyBytes);\n    }\n    hostPort.postMessage(\n        {\n          type: 'fetch',\n          url: request.url,\n          method: request.method,\n          headers: [...request.headers.entries()],\n          body: bodyBytes,\n        },\n        transfer);\n\n    let streamController;\n    const body = new ReadableStream({\n      start(controller) {\n        streamController = controller;\n      },\n    });\n    let resolveReceive;\n    const receivePromise = new Promise((resolve) => {\n      resolveReceive = resolve;\n    });\n    port.onmessage = (message) => {\n      switch (message.data.type) {\n        case 'response':\n          resolveReceive(new Response(body, {\n            status: message.data.status,\n            statusText: message.data.statusText,\n            headers: new Headers(message.data.headers),\n          }));\n          break;\n        case 'body':\n          streamController.enqueue(message.data.data);\n          break;\n        case 'body_done':\n          streamController.close();\n          break;\n      }\n    };\n    return receivePromise;\n  }\n\n  Object.defineProperty(window, 'fetch', {\n    get: function() {\n      return fetch;\n    },\n  });\n\n  \/\/ See details in: https:\/\/github.com\/angular\/angular\/issues\/63064.\n  function patchHistoryStateFunctionForAngular(originalFn, baseHref) {\n    return (state, unused, url) => {\n      if (typeof url === 'string' && !url.startsWith('blob:')) {\n        url = baseHref + url;\n      }\n      return originalFn.apply(window.history, [state, unused, url]);\n    };\n  }\n\n  if (false) {\n    const baseHref = window.location.href;\n    window.history.replaceState = patchHistoryStateFunctionForAngular(window.history.replaceState, baseHref);\n    window.history.pushState = patchHistoryStateFunctionForAngular(window.history.pushState, baseHref);\n  }\n\n  const originalWebSocket = window.WebSocket;\n  class ProxiedWebSocket extends EventTarget {\n    \/**\n     * @param {string} url The url of the websocket.\n     * @param {Object!} protocols The protocols of the websocket.\n     *\/\n    constructor(url, protocols) {\n      super();\n      this.url = url;\n      this.protocols = protocols;\n\n      this.open();\n    }\n\n    \/** Opens the websocket. *\/\n    async open() {\n      const hostPort = (await bootstrapChannel).port;\n      const channel = new MessageChannel();\n      hostPort.postMessage(\n          {type: 'websocket_open', url: this.url, protocols: this.protocols},\n          [channel.port2]);\n      this.port = channel.port1;\n      this.port.onmessage = (message) => {\n        if (message.data.type === 'close') {\n          const event = new CloseEvent('close', {\n            code: message.data.code,\n            reason: message.data.reason,\n            wasClean: message.data.wasClean,\n          });\n          if (this.onclose) {\n            this.onclose(event);\n          }\n          this.dispatchEvent(event);\n          return;\n        } else if (message.data.type === 'open') {\n          const event = new Event('open');\n          if (this.onopen) {\n            this.onopen(event);\n          }\n          this.dispatchEvent(event);\n          return;\n        } else if (message.data.type === 'message') {\n          let data = message.data.data;\n          if (message.data.messageType === 'text' || message.data.messageType === 'message') {\n            data = new TextDecoder().decode(data);\n          }\n          const event = new MessageEvent('message', {\n            data,\n            type: message.data.messageType,\n          });\n          if (this.onmessage) {\n            this.onmessage(event);\n          }\n          this.dispatchEvent(event);\n          return;\n        } else if (message.data.type === 'error') {\n          const event = new ErrorEvent('error', {\n            message: message.data.message,\n          });\n          if (this.onerror) {\n            this.onerror(event);\n          }\n          this.dispatchEvent(event);\n          return;\n        }\n        console.error('received unknown message in frame', event.data);\n      };\n    }\n    \/**\n     * @param {string|ArrayBuffer!} data The data to send.\n     *\/\n    send(data) {\n      if (typeof data === 'string') {\n        this.port.postMessage({type: 'send', data});\n      } else {\n        this.port.postMessage({type: 'send', data}, [data.buffer]);\n      }\n    }\n\n    \/**\n     * @param {number} code The code of the close event.\n     * @param {string} reason The reason of the close event.\n     *\/\n    close(code, reason) {\n      this.port.postMessage({type: 'close', code, reason});\n    }\n  }\n\n  \/**\n   * @param {string} url The url of the websocket.\n   * @param {Object!} protocols The protocols of the websocket.\n   * @return {WebSocket!} The websocket.\n   *\/\n  function createWebSocket(url, protocols) {\n    \/\/ This should come from the bootstrap channel, but we want this to\n    \/\/ work for the synchronous constructor here.\n    if (url.startsWith('wss:\/\/generativelanguage.googleapis.com\/')) {\n      return Reflect.construct(ProxiedWebSocket, [url, protocols]);\n    }\n    return Reflect.construct(originalWebSocket, [url, protocols]);\n  }\n\n  Object.defineProperty(window, 'WebSocket', {\n    get: function() {\n      return createWebSocket;\n    },\n  });\n\n  async function instrumentErrorReporting() {\n    const errors = [];\n    let hostPort;\n\n    function reportError(message) {\n      if (!hostPort) {\n        errors.push(message);\n      } else {\n        hostPort.postMessage({type: 'error', message: message}, message);\n      }\n    }\n\n    function serialize(args) {\n      return args.map((a) => {\n        if (a instanceof Error || a instanceof ErrorEvent) {\n          return a.message;\n        }\n        if(a instanceof CloseEvent) {\n          return {code: a.code, reason: a.reason, wasClean: a.wasClean};\n        }\n        if( a instanceof Map) {\n          return JSON.parse(JSON.stringify([...a.entries()]));\n        }\n        if( a instanceof Set) {\n          return JSON.parse(JSON.stringify([...a.values()]));\n        }\n        if (a instanceof Object) {\n          return JSON.parse(JSON.stringify(a));\n        }\n        return a;\n      });\n    }\n\n    const originalConsole = window.console;\n    const originalConsoleLog = window.console.log;\n    const originalConsoleError = window.console.error;\n    const originalConsoleWarn = window.console.warn;\n    const originalConsoleDebug = window.console.debug;\n    window.console = {\n      ...originalConsole,\n      log: (message, ...args) => {\n        originalConsoleLog.apply(window.console, [message, ...args]);\n        const combined = serialize([message, ...args]);\n        reportError({type: 'console_log', message: combined });\n      },\n      debug: (message, ...args) => {\n        originalConsoleDebug.apply(window.console, [message, ...args]);\n        const combined = serialize([message, ...args]);\n        reportError({type: 'console_debug', message: combined });\n      },\n      error: (message, ...args) => {\n        originalConsoleError.apply(window.console, [message, ...args]);\n        const combined = serialize([message, ...args]);\n        reportError({type: 'console_error', message: combined });\n      },\n      warn: (message, ...args) => {\n        originalConsoleWarn.apply(window.console, [message, ...args]);\n        const combined = serialize([message, ...args]);\n        reportError({type: 'console_warn', message: combined });\n      },\n    };\n\n    window.onerror = (message, source, lineno, colno, error) => {\n      reportError({type: 'error', message: serialize([message]), source, lineno, colno, error});\n    };\n\n    window.onunhandledrejection = (event) => {\n      reportError({type: 'unhandledrejection', message: serialize([event.reason])});\n    };\n\n    window.alert = (message) => {\n      reportError({type: 'alert', message: serialize([message]) });\n    };\n\n    hostPort = (await bootstrapChannel).port;\n    for(const error of errors) {\n      hostPort.postMessage({type: 'error', message: error});\n    }\n  }\n\n  const availableFiles = new Set(window.APPLET_FILES || []);\n\n  instrumentErrorReporting();\n\n  if (false) {\n    const notifyLocationChange = async () => {\n      const hostPort = (await bootstrapChannel).port;\n      hostPort.postMessage({type: 'locationchange', href: location.href});\n    };\n\n    \/\/ Send initial state on load.\n    notifyLocationChange();\n\n    const originalPushState = history.pushState;\n    history.pushState = (...args) => {\n      originalPushState.apply(history, args);\n      notifyLocationChange();\n    };\n\n    const originalReplaceState = history.replaceState;\n    history.replaceState = (...args) => {\n      originalReplaceState.apply(history, args);\n      notifyLocationChange();\n    };\n    window.addEventListener('popstate', (e) => {\n      notifyLocationChange();\n    });\n  }\n\n  window.addEventListener('hashchange', async (e) =>{\n    const config = await bootstrapChannel;\n    const hostPort = config.port;\n    hostPort.postMessage({type: 'hashchange', hash: window.location.hash});\n    if (false) {\n      hostPort.postMessage({\n        type: 'locationchange',\n        href: location.href,\n      });\n    }\n  });\n\n  if (true) {\n    const script = document.createElement('script');\n    script.src = 'https:\/\/cdn.jsdelivr.net\/npm\/html2canvas-pro';\n    script.onload = () => {\n      window.addEventListener('message', async (event) => {\n        if (event.data?.type === 'capture-screenshot') {\n          try {\n            const canvas = await html2canvas(document.documentElement, {\n              logging: false,\n              useCORS: true,\n              backgroundColor: null,\n              scale: 1,\n            });\n            const hostPort = (await bootstrapChannel).port;\n            hostPort.postMessage(\n              {\n                type: 'screenshot-result',\n                dataUrl: canvas.toDataURL('image\/png'),\n                requestId: event.data.requestId,\n                scrollX: document.body.scrollLeft,\n                scrollY: document.body.scrollTop,\n              },\n            );\n          } catch (e) {\n            const hostPort = (await bootstrapChannel).port;\n            hostPort.postMessage(\n              {\n                type: 'screenshot-error',\n                error: e.message,\n                requestId: event.data.requestId,\n              });\n          }\n        }\n      });\n    };\n    document.head.appendChild(script);\n  }\n\n  if (false) {\n    const MAX_ANCESTOR_LEVEL = 3;\n    const MAX_DESCENDANT_LEVEL = 3;\n\n    function getElementSelector(el) {\n      if (!el || el.nodeType !== 1) {\n        return '';\n      }\n      const parts = [];\n      while(el && el.nodeType === 1 && el.tagName.toLowerCase() !== 'body') {\n        let part = el.tagName.toLowerCase();\n        if (el.id) {\n          part += '#' + CSS.escape(el.id);\n        }\n\n        const parent = el.parentElement;\n        if (parent) {\n          let nth = 1;\n          let prev = el.previousElementSibling;\n          while(prev) {\n            if (prev.tagName === el.tagName) {\n              nth++;\n            }\n            prev = prev.previousElementSibling;\n          }\n          part += ':nth-of-type(' + nth + ')';\n        }\n\n        parts.unshift(part);\n        el = el.parentElement;\n      }\n      return parts.join(' > ');\n    }\n\n    function getDomTreeAsString(element, depth, maxDepth) {\n      if (!element || element.nodeType !== 1 || depth > maxDepth) {\n        return '';\n      }\n      const tagName = element.tagName.toLowerCase();\n      let attrs = [];\n      if (element.id) {\n        attrs.push('id=\"' + element.id + '\"');\n      }\n      if (element.classList.length > 0) {\n        attrs.push('class=\"' + element.classList.value + '\"');\n      }\n      const attrString = attrs.length > 0 ? ' ' + attrs.join(' ') : '';\n\n      let content = '';\n      for (const node of element.childNodes) {\n        if (node.nodeType === 1) { \/\/ Element node\n          content += getDomTreeAsString(node, depth + 1, maxDepth);\n        } else if (node.nodeType === 3) { \/\/ Text node\n          content += node.textContent;\n        }\n      }\n\n      return '<' + tagName + attrString + '>' + content + '<\/' + tagName + '>';\n    }\n\n    function getElementInfo(element) {\n      const selector = getElementSelector(element);\n      let levelsUp = 0;\n      let root = element;\n      while(levelsUp < MAX_ANCESTOR_LEVEL &#038;&#038; root.parentElement &#038;&#038; root.parentElement.tagName.toLowerCase() !== 'html') {\n        root = root.parentElement;\n        levelsUp++;\n      }\n      const domString = getDomTreeAsString(root, 0, levelsUp + MAX_DESCENDANT_LEVEL);\n      const styles = window.getComputedStyle(element);\n      const css = {};\n      for (let i = 0; i < styles.length; i++) {\n        const key = styles[i];\n        css[key] = styles.getPropertyValue(key);\n      }\n      return { selector, domString, css };\n    }\n\n    const style = document.createElement('style');\n    style.textContent =\n    '.aistudio-hover-highlight { box-shadow: inset 0 0 0 0.5px white, inset 0 0 0 1.5px rgba(128,128,128,0.6) !important; }' +\n    '.aistudio-active-highlight { box-shadow: inset 0 0 0 0.5px white, inset 0 0 0 1.5px #87a9ff !important; }' +\n    '#aistudio-focus-mode-tag { position: absolute; display: none; background: #87a9ff; border-radius: 4px; border: 0.5px solid white; z-index: 10000; text-transform: lowercase; padding: 2px 4px; color: #32302c; font-family: Inter, sans-serif; font-size: 12px; font-style: normal; font-weight: 400; line-height: 16px; pointer-events: none; }' +\n    '#aistudio-hover-mode-tag { position: absolute; display: none; background: rgba(128,128,128,0.6); border-radius: 4px; border: 0.5px solid white; z-index: 10000; text-transform: lowercase; padding: 2px 4px; color: white; font-family: Inter, sans-serif; font-size: 12px; font-style: normal; font-weight: 400; line-height: 16px; pointer-events: none; }';\n    document.head.appendChild(style);\n\n    let hoveredElement = null;\n    let activeElement = null;\n    let focusTag = null;\n    let hoverTag = null;\n    let resizeObserver = null;\n    let iframeLoaded = false;\n    let designModeEnabled = false;\n\n    function ensureFocusTag() {\n      if (!focusTag) {\n        focusTag = document.createElement('div');\n        focusTag.id = 'aistudio-focus-mode-tag';\n        document.body.appendChild(focusTag);\n      }\n    }\n\n    function cleanupActiveElement() {\n      if (!activeElement) return;\n      activeElement.classList.remove('aistudio-active-highlight');\n      activeElement.removeAttribute('data-aistudio-tag-name');\n      if (resizeObserver) {\n        resizeObserver.unobserve(activeElement);\n      }\n      window.removeEventListener('resize', positionFocusTag);\n      window.removeEventListener('scroll', positionFocusTag, true);\n    }\n\n    function positionFocusTag() {\n      requestAnimationFrame(() => {\n        if (!activeElement || !focusTag) return;\n        focusTag.style.display = 'inline-flex';\n        const rect = activeElement.getBoundingClientRect();\n        focusTag.style.top = (rect.top + window.scrollY - focusTag.offsetHeight - 5) + 'px';\n        focusTag.style.left = (rect.left + window.scrollX) + 'px';\n      });\n    }\n\n    function positionHoverTag() {\n      if (!hoveredElement || !hoverTag || hoveredElement === activeElement) {\n        if (hoverTag) hoverTag.style.display = 'none';\n        return;\n      }\n      requestAnimationFrame(() => {\n        hoverTag.style.display = 'inline-flex';\n        const rect = hoveredElement.getBoundingClientRect();\n        hoverTag.style.top = (rect.top + window.scrollY - hoverTag.offsetHeight - 5) + 'px';\n        hoverTag.style.left = (rect.left + window.scrollX) + 'px';\n      });\n    }\n\n    if (window.ResizeObserver) {\n      resizeObserver = new ResizeObserver(() => {\n        positionFocusTag();\n      });\n    }\n\n    function setHoveredElement(element) {\n      if (!designModeEnabled || !iframeLoaded) return;\n\n      if (!hoverTag) {\n        hoverTag = document.createElement('div');\n        hoverTag.id = 'aistudio-hover-mode-tag';\n        document.body.appendChild(hoverTag);\n      }\n\n      if (hoveredElement && hoveredElement !== activeElement) {\n        hoveredElement.classList.remove('aistudio-hover-highlight');\n      }\n      hoverTag.style.display = 'none';\n\n      hoveredElement = element;\n\n      if (hoveredElement && hoveredElement !== activeElement) {\n        hoveredElement.classList.add('aistudio-hover-highlight');\n        hoverTag.textContent = hoveredElement.tagName.toLowerCase();\n        positionHoverTag();\n      }\n    }\n\n    async function setActiveElement(element) {\n      if (!designModeEnabled || !iframeLoaded) return;\n\n      ensureFocusTag();\n      cleanupActiveElement();\n      focusTag.style.display = 'none';\n\n      \/\/ Clear hover from new active element if it was hovered\n      if (element) {\n        element.classList.remove('aistudio-hover-highlight');\n      }\n\n      activeElement = element;\n\n      if (activeElement) {\n        activeElement.setAttribute('data-aistudio-tag-name', activeElement.tagName);\n        activeElement.classList.add('aistudio-active-highlight');\n        focusTag.textContent = activeElement.tagName.toLowerCase();\n        positionFocusTag();\n        if (resizeObserver) {\n          resizeObserver.observe(activeElement);\n        }\n        window.addEventListener('resize', positionFocusTag);\n        window.addEventListener('scroll', positionFocusTag, true);\n\n        \/\/ Notify host about selected element\n        const info = getElementInfo(activeElement);\n        window.parent.postMessage({\n          type: 'element-selected',\n          element: info,\n        }, '*');\n      }\n    }\n\n    function onMouseMove(e) {\n      if (!designModeEnabled) return;\n      const element = document.elementFromPoint(e.clientX, e.clientY);\n      setHoveredElement(element);\n    }\n\n    function onClick(e) {\n      if (!designModeEnabled) return;\n      e.preventDefault();\n      e.stopPropagation();\n      const element = document.elementFromPoint(e.clientX, e.clientY);\n      setActiveElement(element);\n    }\n\n    function enableDesignMode() {\n      if (designModeEnabled) return;\n      designModeEnabled = true;\n      document.addEventListener('mousemove', onMouseMove, true);\n      document.addEventListener('click', onClick, true);\n    }\n\n    function disableDesignMode() {\n      if (!designModeEnabled) return;\n      document.removeEventListener('mousemove', onMouseMove, true);\n      document.removeEventListener('click', onClick, true);\n      setHoveredElement(null);\n      clearActiveElement();\n      designModeEnabled = false;\n    }\n\n    function clearActiveElement() {\n      ensureFocusTag();\n      cleanupActiveElement();\n      focusTag.style.display = 'none';\n      activeElement = null;\n    }\n\n    window.addEventListener('load', () => {\n      iframeLoaded = true;\n    });\n\n    window.addEventListener('message', async (event) => {\n      if (event.data?.type === 'set-design-mode') {\n        if (event.data.enabled) {\n          enableDesignMode();\n        } else {\n          disableDesignMode();\n        }\n      } else if (event.data?.type === 'highlight-element-by-selector') {\n        try {\n          const selector = event.data.selector;\n          if (selector) {\n            const element = document.querySelector(selector);\n            setActiveElement(element);\n          } else {\n            setActiveElement(null);\n          }\n        } catch (e) {\n          setActiveElement(null);\n        }\n      } else if (event.data?.type === 'get-element-at-point') {\n        try {\n          const element = document.elementFromPoint(\n            event.data.x,\n            event.data.y,\n          );\n          const hostPort = (await bootstrapChannel).port;\n          if (!element) {\n            hostPort.postMessage({\n              type: 'element-at-point-error',\n              error: 'No element found at point',\n              requestId: event.data.requestId,\n            });\n            return;\n          }\n          const info = getElementInfo(element);\n          hostPort.postMessage({\n            type: 'element-at-point-result',\n            element: {\n              ...info,\n              x: event.data.x,\n              y: event.data.y,\n            },\n            requestId: event.data.requestId,\n          });\n        } catch (e) {\n          const hostPort = (await bootstrapChannel).port;\n          hostPort.postMessage({\n            type: 'element-at-point-error',\n            error: e.message,\n            requestId: event.data.requestId,\n          });\n        }\n      } else if (event.data?.type === 'change-element-style') {\n        try {\n          const selector = event.data.selector;\n          if (selector) {\n            const element = document.querySelector(selector);\n            if (element) {\n              element.style.setProperty(\n                event.data.property,\n                event.data.value,\n                'important',\n              );\n              positionFocusTag();\n            }\n          }\n        } catch (e) {}\n      }\n    });\n  }\n\n  window.addEventListener('keydown', async (event) => {\n    if (event.key === 'Escape' && window.aistudio?.handleFullscreenEsc) {\n      const hostPort = (await bootstrapChannel).port;\n      hostPort.postMessage({type: 'exit-fullscreen'});\n    }\n  });\n})();\n\/\/ # sourceURL=iframe_shim.js\n        <\/script>\n        <base href=\"https:\/\/ai.studio\">\n\n\n\n\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 Cisco \u0431\u0435\u0437 \u043f\u0430\u0442\u0447\u0435\u0439: \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0445\u0430\u0440\u0434\u043d\u0438\u043d\u0433\u0443 | Elishtech<\/title>\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&amp;display=swap\" rel=\"stylesheet\">\n    <style>\n        body { font-family: 'Inter', sans-serif; }\n        .et-article details summary::-webkit-details-marker { display: none; }\n        .font-display { font-family: 'Inter', sans-serif; font-weight: 700; }\n        code { background: #f1f5f9; padding: 0.2rem 0.4rem; border-radius: 0.25rem; font-size: 0.875em; color: #0f172a; }\n    <\/style>\n<style>*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 \/ 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 \/ 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }\/* ! tailwindcss v3.4.17 | MIT License | https:\/\/tailwindcss.com *\/*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.right-0{right:0px}.top-0{top:0px}.z-10{z-index:10}.m-0{margin:0px}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:0.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.h-1{height:0.25rem}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-96{height:24rem}.min-h-screen{min-height:100vh}.w-1{width:0.25rem}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-96{width:24rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-none{max-width:none}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-2 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))}.space-y-3 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))}.space-y-4 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:0.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216 \/ var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240 \/ var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225 \/ var(--tw-border-opacity, 1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 \/ var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254 \/ var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255 \/ var(--tw-bg-opacity, 1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216 \/ var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249 \/ var(--tw-bg-opacity, 1))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225 \/ var(--tw-bg-opacity, 1))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59 \/ var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42 \/ var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 \/ var(--tw-bg-opacity, 1))}.bg-white\\\/5{background-color:rgb(255 255 255 \/ 0.05)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgb(15 23 42 \/ 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-blue-900{--tw-gradient-to:rgb(30 58 138 \/ 0)  var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #1e3a8a var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-slate-900{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.p-0{padding:0px}.p-10{padding:2.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-12{padding-left:3rem;padding-right:3rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-widest{letter-spacing:0.1em}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 \/ var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250 \/ var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216 \/ var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225 \/ var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139 \/ var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105 \/ var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85 \/ var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59 \/ var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 \/ var(--tw-text-opacity, 1))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.decoration-blue-700{-webkit-text-decoration-color:#1d4ed8;text-decoration-color:#1d4ed8}.decoration-4{text-decoration-thickness:4px}.underline-offset-8{text-underline-offset:8px}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0 \/ 0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 \/ 0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 \/ 0.1), 0 8px 10px -6px rgb(0 0 0 \/ 0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.blur-\\[100px\\]{--tw-blur:blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235 \/ var(--tw-bg-opacity, 1))}.active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 768px){.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\\:p-16{padding:4rem}.md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\\:text-5xl{font-size:3rem;line-height:1}}@media (min-width: 1024px){.lg\\:py-12{padding-top:3rem;padding-bottom:3rem}}<\/style><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/html2canvas-pro\"><\/script><\/head>\n<body class=\"bg-slate-50 text-slate-900\">\n    <div id=\"root\"><div class=\"min-h-screen bg-white\"><main class=\"container mx-auto px-4 py-8 lg:py-12 max-w-5xl\"><article class=\"prose prose-slate max-w-none et-article\"><header class=\"et-article-header border-b border-slate-200 pb-10 mb-12\"><div class=\"text-blue-700 font-bold tracking-widest uppercase text-xs mb-4\">Network Security &amp; Compliance<\/div><h1 class=\"text-3xl md:text-5xl font-extrabold text-slate-900 mb-6 leading-tight font-display\">\u0411\u0435\u0437 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439: \u043a\u0430\u043a \u0443\u0441\u0438\u043b\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 Cisco\u2011\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438<\/h1><div class=\"flex items-center gap-4 text-slate-500 font-medium italic text-sm\"><span>\u041a\u0438\u0431\u0435\u0440\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Legacy<\/span><span class=\"w-1 h-1 bg-slate-300 rounded-full\"><\/span><span>IOS \/ IOS-XE Hardening<\/span><\/div><\/header><section class=\"et-intro mb-12 text-lg leading-relaxed text-slate-700\"><p>\u041c\u043d\u043e\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u044e\u0442 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b Cisco, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 EoL\/EoS \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d\u0438 \u0447\u0430\u0441\u0442\u043e \u0441\u0442\u043e\u044f\u0442 \u043d\u0430 \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0435 \u0441\u0435\u0442\u0438 \u0438\u043b\u0438 \u0432 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0442\u043e\u0447\u043a\u0430\u0445 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. \u0412 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0432\u0435\u043d\u0434\u043e\u0440 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0432\u0443\u0447\u0438\u0442 \u043d\u0435 \u043a\u0430\u043a \u00ab\u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0445 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u043c\u0438?\u00bb (\u043d\u0435\u043b\u044c\u0437\u044f), \u0430 \u043a\u0430\u043a <strong>\u00ab\u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0438\u0441\u043a\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0432\u0437\u043b\u043e\u043c\u0430 \u0442\u0430\u043a\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432?\u00bb<\/strong>.<\/p><p>\u041d\u0438\u0436\u0435 \u2014 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e: \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u0445\u0430\u0440\u0434\u043d\u0438\u043d\u0433 IOS\/IOS\u2011XE), \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b (\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433) \u0438 \u043a\u0430\u043a\u0438\u0435 \u00ab\u043a\u0440\u0430\u0441\u043d\u044b\u0435 \u043b\u0438\u043d\u0438\u0438\u00bb \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0430\u0440\u044b\u0439 Cisco \u043b\u0443\u0447\u0448\u0435 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0438\u0437 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438.<\/p><\/section><section class=\"et-section mb-16\"><h2 class=\"text-2xl md:text-3xl font-bold text-slate-900 mb-8 font-display border-l-4 border-blue-700 pl-4\">1. \u0423\u0433\u0440\u043e\u0437\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 Cisco: \u043f\u043e\u0447\u0435\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u0435\u0441\u0442\u044c\u00bb \u043d\u0435\u043b\u044c\u0437\u044f<\/h2><p class=\"text-slate-700 mb-6 italic text-base\">\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u044e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0440\u0438\u0441\u043a\u043e\u0432, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432:<\/p><div class=\"bg-slate-50 border border-slate-200 rounded-3xl p-8 shadow-sm\"><ul class=\"space-y-4 list-none p-0 m-0 text-slate-700\"><li class=\"flex gap-4\"><span class=\"flex-shrink-0 w-6 h-6 bg-blue-100 text-blue-700 flex items-center justify-center rounded-full text-xs font-bold\">!<\/span><span><strong>Firmware\u2011\u0430\u0442\u0430\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f.<\/strong> \u0417\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443.<\/span><\/li><li class=\"flex gap-4\"><span class=\"flex-shrink-0 w-6 h-6 bg-blue-100 text-blue-700 flex items-center justify-center rounded-full text-xs font-bold\">!<\/span><span><strong>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0430\u0442\u0447\u0435\u0439.<\/strong> \u041b\u044e\u0431\u0430\u044f \u043d\u043e\u0432\u0430\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u00ab\u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0439 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430\u00bb \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0431\u0435\u0437 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0437\u0430\u0449\u0438\u0442\u044b.<\/span><\/li><li class=\"flex gap-4\"><span class=\"flex-shrink-0 w-6 h-6 bg-blue-100 text-blue-700 flex items-center justify-center rounded-full text-xs font-bold\">!<\/span><span><strong>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0430\u0442\u0430\u043a.<\/strong> \u0412 \u044d\u043f\u043e\u0445\u0443 \u0418\u0418 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0442\u0438 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u0442\u0430\u0440\u044b\u0445 Cisco \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0434\u044b\u0440 \u0441\u0442\u0430\u0432\u044f\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0442\u043e\u043a.<\/span><\/li><\/ul><\/div><\/section><section class=\"et-section mb-16\"><h2 class=\"text-2xl md:text-3xl font-bold text-slate-900 mb-8 font-display\">2. \u0425\u0430\u0440\u0434\u043d\u0438\u043d\u0433 \u0441\u0442\u0430\u0440\u044b\u0445 Cisco: \u0447\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0430\u0436\u0435 \u0431\u0435\u0437 \u043f\u0430\u0442\u0447\u0435\u0439<\/h2><p class=\"mb-6 text-slate-700 leading-relaxed\">\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u0430\u0448 IOS\/IOS\u2011XE \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0440\u0438\u0441\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043d\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439.<\/p><div class=\"space-y-6 mb-10\"><div class=\"bg-white p-6 rounded-2xl border border-slate-200 shadow-sm\"><h3 class=\"text-lg font-bold text-slate-900 mb-4\">2.1. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b<\/h3><ul class=\"space-y-2 text-sm text-slate-700 list-none p-0\"><li>\u2022 \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e SSHv2 (<code>no transport input telnet<\/code>).<\/li><li>\u2022 \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (<code>no ip http server<\/code>).<\/li><li>\u2022 \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 <code>cdp run<\/code> \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445, <code>no ip source-route<\/code>, <code>no service finger<\/code>.<\/li><\/ul><\/div><div class=\"bg-white p-6 rounded-2xl border border-slate-200 shadow-sm\"><h3 class=\"text-lg font-bold text-slate-900 mb-4\">2.2. \u0423\u0441\u0438\u043b\u0438\u0432\u0430\u0435\u043c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e (AAA)<\/h3><ul class=\"space-y-2 text-sm text-slate-700 list-none p-0\"><li>\u2022 \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <code>enable secret<\/code> \u0441 \u0441\u0438\u043b\u044c\u043d\u044b\u043c \u0445\u044d\u0448\u0435\u043c.<\/li><li>\u2022 <code>service password-encryption<\/code> \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u043e\u043b\u0435\u0439.<\/li><li>\u2022 \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 RADIUS\/TACACS+ \u0432 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0435.<\/li><\/ul><\/div><\/div><div class=\"bg-slate-900 text-slate-300 p-8 rounded-2xl shadow-xl\"><h3 class=\"text-lg font-bold text-white mb-4 italic\">2.3. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 VTY \u0434\u043e\u0441\u0442\u0443\u043f\u0430<\/h3><p class=\"text-sm mb-4\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c ACL, \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0449\u0443\u044e SSH \u0442\u043e\u043b\u044c\u043a\u043e \u0441 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438:<\/p><pre class=\"text-xs bg-slate-800 p-4 rounded text-blue-400 font-mono\">line vty 0 4\n transport input ssh\n access-class 10 in\n!\naccess-list 10 permit 192.168.100.0 0.0.0.255<\/pre><\/div><\/section><section class=\"et-section mb-16\"><h2 class=\"text-2xl md:text-3xl font-bold text-slate-900 mb-8 font-display border-l-4 border-blue-700 pl-4\">3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043c\u0435\u0440\u044b: \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0443\u0449\u0435\u0440\u0431<\/h2><div class=\"grid grid-cols-1 md:grid-cols-2 gap-6 mb-10\"><div class=\"p-6 bg-white rounded-2xl border border-slate-200 shadow-sm\"><h4 class=\"font-bold text-blue-700 mb-3\">3.1. \u0423\u0432\u043e\u0434 \u0441 \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0430<\/h4><p class=\"text-xs text-slate-600 leading-relaxed\">\u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 EoL-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 VPN-\u0448\u043b\u044e\u0437\u043e\u0432 \u0438\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0444\u0430\u0435\u0440\u0432\u043e\u043b\u043b\u043e\u0432. \u0421\u0442\u0430\u0440\u044b\u0439 Cisco \u0434\u043e\u043b\u0436\u0435\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u0437\u043e\u043d\u044b \u043a\u0430\u043a \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0440 \u0438\u043b\u0438 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u043e\u0440.<\/p><\/div><div class=\"p-6 bg-white rounded-2xl border border-slate-200 shadow-sm\"><h4 class=\"font-bold text-blue-700 mb-3\">3.2. \u0421\u0435\u0433\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0438<\/h4><p class=\"text-xs text-slate-600 leading-relaxed\">\u0414\u0440\u043e\u0431\u0438\u0442\u0435 \u0441\u0435\u0442\u044c \u043f\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u043e\u043d\u0430\u043c (VLAN, VRF). \u041c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0439\u0442\u0435 \u043e\u0431\u044a\u0435\u043c \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0442\u0430\u0440\u044b\u0439 \u0443\u0437\u0435\u043b, \u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0439\u0442\u0435 \u0435\u0433\u043e \u0436\u0435\u0441\u0442\u043a\u0438\u043c\u0438 ACL.<\/p><\/div><\/div><div class=\"bg-slate-100 p-6 rounded-2xl border border-slate-200\"><h3 class=\"text-xl font-bold text-slate-900 mb-4\">3.4. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0439<\/h3><p class=\"text-sm text-slate-700 leading-relaxed\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 IDS\/IPS \u0438\u043b\u0438 \u0430\u043d\u0430\u043b\u0438\u0437 NetFlow \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0435\u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439. \u041b\u043e\u0433\u0438 (Syslog) \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p><\/div><\/section><section class=\"et-section mb-16\"><h2 class=\"text-2xl md:text-3xl font-bold text-slate-900 mb-8 font-display\">4. \u0414\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u0430 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438<\/h2><div class=\"space-y-6\"><div class=\"flex gap-4 items-start\"><div class=\"w-10 h-10 rounded-full bg-blue-50 text-blue-700 flex items-center justify-center font-bold flex-shrink-0\">I<\/div><div><h4 class=\"font-bold text-slate-900 mb-1\">\u0418\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u043a\u0430<\/h4><p class=\"text-sm text-slate-600 m-0\">\u041f\u043e\u043c\u0435\u0442\u044c\u0442\u0435 \u0432\u0441\u0435 EoL\/EoS \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043a\u0430\u043a \u0432\u044b\u0441\u043e\u043a\u043e\u0440\u0438\u0441\u043a\u043e\u0432\u044b\u0435. \u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u0440\u043e\u043b\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0432 \u0441\u0435\u0442\u0438 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0443\u0449\u0435\u0440\u0431 \u043f\u0440\u0438 \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438.<\/p><\/div><\/div><div class=\"flex gap-4 items-start\"><div class=\"w-10 h-10 rounded-full bg-blue-50 text-blue-700 flex items-center justify-center font-bold flex-shrink-0\">II<\/div><div><h4 class=\"font-bold text-slate-900 mb-1\">\u0411\u0430\u0437\u043e\u0432\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d (Baseline)<\/h4><p class=\"text-sm text-slate-600 m-0\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0445\u0430\u0440\u0434\u043d\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u041e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f \u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p><\/div><\/div><div class=\"flex gap-4 items-start\"><div class=\"w-10 h-10 rounded-full bg-blue-50 text-blue-700 flex items-center justify-center font-bold flex-shrink-0\">III<\/div><div><h4 class=\"font-bold text-slate-900 mb-1\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439<\/h4><p class=\"text-sm text-slate-600 m-0\">\u0420\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441 \u044d\u0442\u0430\u043b\u043e\u043d\u043e\u043c. \u041b\u044e\u0431\u043e\u0435 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0442\u0440\u0430\u043a\u0442\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0418\u0411.<\/p><\/div><\/div><\/div><\/section><section class=\"et-section mb-16\"><h2 class=\"text-2xl md:text-3xl font-bold text-slate-900 mb-8 font-display italic text-slate-800\">5. \u041a\u043e\u0433\u0434\u0430 \u043f\u043e\u0440\u0430 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u00ab\u0445\u0432\u0430\u0442\u0438\u0442\u00bb \u2014 \u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0438\u0441\u043a\u0438<\/h2><div class=\"bg-white border border-slate-300 rounded-3xl p-8 shadow-sm\"><p class=\"text-slate-700 mb-4\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430, \u0435\u0441\u043b\u0438:<\/p><ul class=\"space-y-3 text-sm text-slate-600 list-disc pl-5\"><li>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u0437\u043b\u0435 \u0438\u043c\u0435\u0435\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0443\u044e <strong>RCE \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c<\/strong> \u0431\u0435\u0437 \u043f\u0430\u0442\u0447\u0430.<\/li><li>\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b <strong>\u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0432\u043c\u0435\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430<\/strong> \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u0438\u043b\u0438 ROMMON.<\/li><li>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438 <strong>\u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c<\/strong> \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0445\u0430\u0440\u0434\u043d\u0438\u043d\u0433 (SSHv2, ACL, AAA).<\/li><\/ul><\/div><\/section><section class=\"et-section mb-16 text-center max-w-3xl mx-auto\"><h2 class=\"text-2xl md:text-3xl font-bold text-slate-900 mb-6 font-display italic underline decoration-blue-700 decoration-4 underline-offset-8\">\u0412\u044b\u0432\u043e\u0434<\/h2><p class=\"text-slate-700 leading-relaxed text-lg\">\u0423\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 Cisco\u2011\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0433\u0443\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0441\u0435\u0442\u0438, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0447\u0435\u0441\u0442\u043d\u043e\u043c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u043a \u0440\u0438\u0441\u043a\u0430\u043c. \u0425\u0430\u0440\u0434\u043d\u0438\u043d\u0433 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0440\u044b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0432\u044b\u0438\u0433\u0440\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0434\u043e \u043f\u043b\u0430\u043d\u043e\u0432\u043e\u0439 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f.<\/p><\/section><div class=\"et-cta-block bg-gradient-to-br from-slate-900 via-blue-900 to-slate-900 text-white rounded-3xl p-10 md:p-16 text-center shadow-2xl relative overflow-hidden\"><div class=\"absolute top-0 right-0 w-96 h-96 bg-white\/5 blur-[100px] rounded-full\"><\/div><h3 class=\"text-2xl md:text-4xl font-extrabold mb-6 relative z-10 font-display italic\">\u041d\u0443\u0436\u0435\u043d \u0430\u0443\u0434\u0438\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b?<\/h3><p class=\"text-slate-300 mb-10 max-w-2xl mx-auto relative z-10 text-lg\">\u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0437\u0430\u044f\u0432\u043a\u0443 \u2014 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044e, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0445\u0430\u0440\u0434\u043d\u0438\u043d\u0433\u0430 \u0434\u043b\u044f legacy-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u043c \u0441\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0430 \u0438\u0437 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438.<\/p><a href=\"https:\/\/forms.office.com\/Pages\/ResponsePage.aspx?id=M8ndOvkOi0KL2njX59S3t6RlyhCRrIdMr4Nk6XVA-x9UMk9JV0M5VDU2VkcyRlE2MlBQSVdJOFMzUy4u\" class=\"relative z-10 inline-block bg-blue-700 text-white hover:bg-blue-600 font-bold py-5 px-12 rounded-2xl transition-all transform hover:scale-105 active:scale-95 shadow-xl\" target=\"_blank\" rel=\"noopener noreferrer\">\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438<\/a><\/div><\/article><\/main><\/div><\/div>\n\n\n\n        <script type=\"module\" onerror=\"console.warn('Failed to load the app. Try reloading it.')\">import '@\/index';<\/script>\n        <\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0449\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u044b \u0438 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b Cisco \u0431\u0435\u0437 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439: \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0440\u044b \u0445\u0430\u0440\u0434\u043d\u0438\u043d\u0433\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0440\u0438\u0441\u043a\u0438 \u0438 \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0440\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u043c\u0435\u043d\u0443.<\/p>","protected":false},"author":6,"featured_media":17197,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[199],"tags":[767,770,510,773,771,246,772,768,769],"class_list":["post-17196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","tag-cisco","tag-eosl","tag-510","tag-773","tag-771","tag-246","tag-772","tag-768","tag-769"],"jetpack_featured_media_url":"https:\/\/www.elishtech.com\/wp-content\/uploads\/2026\/03\/elishtech-2026-03-02T184030.564.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts\/17196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/comments?post=17196"}],"version-history":[{"count":1,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts\/17196\/revisions"}],"predecessor-version":[{"id":17198,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts\/17196\/revisions\/17198"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/media\/17197"}],"wp:attachment":[{"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/media?parent=17196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/categories?post=17196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/tags?post=17196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}