{"id":16979,"date":"2026-01-16T12:10:43","date_gmt":"2026-01-16T04:10:43","guid":{"rendered":"https:\/\/www.elishtech.com\/?p=16979"},"modified":"2026-01-16T12:10:46","modified_gmt":"2026-01-16T04:10:46","slug":"pochemu-podorozhala-servernaya-ddr5-rdimm-2026-prognoz","status":"publish","type":"post","link":"https:\/\/www.elishtech.com\/en\/pochemu-podorozhala-servernaya-ddr5-rdimm-2026-prognoz\/","title":{"rendered":"\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DDR5 RDIMM \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b\u0430 \u0432 2\u20133 \u0440\u0430\u0437\u0430 \u0432 2026 \u0438 \u043a\u043e\u0433\u0434\u0430 \u0446\u0435\u043d\u044b \u0443\u043f\u0430\u0434\u0443\u0442 (\u043f\u0440\u043e\u0433\u043d\u043e\u0437)"},"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\/\",\"@google\/genai\":\"https:\/\/esm.sh\/@google\/genai@^1.35.0\",\"@\/index\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JzsKaW1wb3J0IEFwcCBmcm9tICdAL0FwcCc7CmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKaWYgKCFyb290RWxlbWVudCkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCByb290IGVsZW1lbnQgdG8gbW91bnQgdG8iKTsKfQpjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CnJvb3QucmVuZGVyKF9qc3goUmVhY3QuU3RyaWN0TW9kZSwgeyBjaGlsZHJlbjogX2pzeChBcHAsIHt9KSB9KSk7Cg==\",\"@\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7CmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JzsKaW1wb3J0IEFwcCBmcm9tICdAL0FwcCc7CmNvbnN0IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jvb3QnKTsKaWYgKCFyb290RWxlbWVudCkgewogICAgdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCByb290IGVsZW1lbnQgdG8gbW91bnQgdG8iKTsKfQpjb25zdCByb290ID0gUmVhY3RET00uY3JlYXRlUm9vdChyb290RWxlbWVudCk7CnJvb3QucmVuZGVyKF9qc3goUmVhY3QuU3RyaWN0TW9kZSwgeyBjaGlsZHJlbjogX2pzeChBcHAsIHt9KSB9KSk7Cg==\",\"@\/types\":\"data:application\/javascript;base64,ZXhwb3J0IHZhciBUYXNrVHlwZTsKKGZ1bmN0aW9uIChUYXNrVHlwZSkgewogICAgVGFza1R5cGVbIkdBTUlORyJdID0gIlx1MDQxM1x1MDQzNVx1MDQzOVx1MDQzQ1x1MDQzOFx1MDQzRFx1MDQzMyAvIFx1MDQxNFx1MDQzRVx1MDQzQ1x1MDQzMFx1MDQ0OFx1MDQzRFx1MDQzOFx1MDQzOSBcdTA0NERcdTA0M0RcdTA0NDJcdTA0NDNcdTA0MzdcdTA0MzhcdTA0MzBcdTA0NDFcdTA0NDIiOwogICAgVGFza1R5cGVbIldPUktTVEFUSU9OIl0gPSAiXHUwNDIwXHUwNDMwXHUwNDMxXHUwNDNFXHUwNDQ3XHUwNDMwXHUwNDRGIFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzRFx1MDQ0Nlx1MDQzOFx1MDQ0RiAoXHUwNDEyXHUwNDM4XHUwNDM0XHUwNDM1XHUwNDNFLzNEKSI7CiAgICBUYXNrVHlwZVsiU0VSVkVSIl0gPSAiXHUwNDIxXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDM1XHUwNDQwIC8gQUkgXHUwNDE4XHUwNDNEXHUwNDQ0XHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNBXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDMwIjsKICAgIFRhc2tUeXBlWyJPRkZJQ0UiXSA9ICJcdTA0MUVcdTA0NDRcdTA0MzhcdTA0NDEgLyBcdTA0MTJcdTA0MzVcdTA0MzEtXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDQ0XHUwNDM4XHUwNDNEXHUwNDMzIjsKfSkoVGFza1R5cGUgfHwgKFRhc2tUeXBlID0ge30pKTsK\",\"@\/services\/geminiService\":\"data:application\/javascript;base64,aW1wb3J0IHsgR29vZ2xlR2VuQUksIFR5cGUgfSBmcm9tICJAZ29vZ2xlL2dlbmFpIjsKY29uc3QgYWkgPSBuZXcgR29vZ2xlR2VuQUkoeyBhcGlLZXk6IHByb2Nlc3MuZW52LkFQSV9LRVkgfHwgJycgfSk7CmV4cG9ydCBjb25zdCBnZXRERFI1UmVjb21tZW5kYXRpb24gPSBhc3luYyAoc2NlbmFyaW8pID0+IHsKICAgIGNvbnN0IHByb21wdCA9IGAKICAgINCa0L7QvdGC0LXQutGB0YI6INCd0LDRh9Cw0LvQviAyMDI2INCz0L7QtNCwLiDQptC10L3RiyDQvdCwIEREUjUg0YDQtdC30LrQviDQstGL0YDQvtGB0LvQuCDQuNC3LdC30LAg0YHQv9GA0L7RgdCwINC90LAgQUkt0YHQtdGA0LLQtdGA0YssINC\/0LXRgNC10YXQvtC00LAg0L3QsCBIQk0g0Lgg0LLQsNC70Y7RgtC90YvRhSDQutC+0LvQtdCx0LDQvdC40LkuCiAgICDQn9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0LfQsNC\/0YDQsNGI0LjQstCw0LXRgiDRgNC10LrQvtC80LXQvdC00LDRhtC40Y46CiAgICAtINCi0LjQvyDQt9Cw0LTQsNGHOiAke3NjZW5hcmlvLnRhc2tUeXBlfQogICAgLSDQn9C70LDQvdC40YDRg9C10LzRi9C5INGB0YDQvtC6INGB0LvRg9C20LHRiyDRgdC40YHRgtC10LzRizogJHtzY2VuYXJpby50aW1lc3Bhbn0KICAgIC0g0JrQsNGC0LXQs9C+0YDQuNGPINCx0Y7QtNC20LXRgtCwOiAke3NjZW5hcmlvLmJ1ZGdldH0KCiAgICDQndCwINC+0YHQvdC+0LLQtSDQt9C90LDQvdC40Lkg0L4g0LrRgNC40LfQuNGB0LUgMjAyNiDQs9C+0LTQsCwg0L\/RgNC10LTQvtGB0YLQsNCy0Ywg0YHRgtGA0LDRgtC10LPQuNGH0LXRgdC60YPRjiDRgNC10LrQvtC80LXQvdC00LDRhtC40Y4g0KHQotCg0J7Qk9CeINC90LAg0YDRg9GB0YHQutC+0Lwg0Y\/Qt9GL0LrQtS4KICBgOwogICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhaS5tb2RlbHMuZ2VuZXJhdGVDb250ZW50KHsKICAgICAgICBtb2RlbDogJ2dlbWluaS0zLWZsYXNoLXByZXZpZXcnLAogICAgICAgIGNvbnRlbnRzOiBwcm9tcHQsCiAgICAgICAgY29uZmlnOiB7CiAgICAgICAgICAgIHN5c3RlbUluc3RydWN0aW9uOiAi0JLRiyDigJQg0LLQtdC00YPRidC40Lkg0LDQvdCw0LvQuNGC0LjQuiDRgNGL0L3QutCwINC60L7QvNC\/0YzRjtGC0LXRgNC90L7Qs9C+INC20LXQu9C10LfQsCwg0YHQv9C10YbQuNCw0LvQuNC30LjRgNGD0Y7RidC40LnRgdGPINC90LAg0L7Qv9C10YDQsNGC0LjQstC90L7QuSDQv9Cw0LzRj9GC0LguINCS0LDRiNCwINGG0LXQu9GMIOKAlCDQtNCw0LLQsNGC0Ywg0YDQsNGG0LjQvtC90LDQu9GM0L3Ri9C1LCDQvtGB0L3QvtCy0LDQvdC90YvQtSDQvdCwINC00LDQvdC90YvRhSDRgdC+0LLQtdGC0Ysg0KHQotCg0J7Qk9CeINC90LAg0YDRg9GB0YHQutC+0Lwg0Y\/Qt9GL0LrQtSwg0YPRh9C40YLRi9Cy0LDRjyDQutC+0L3RgtC10LrRgdGCINGA0YvQvdC+0YfQvdC+0LPQviDQutGA0LjQt9C40YHQsCAyMDI2INCz0L7QtNCwLiDQktGB0LUg0L\/QvtC70Y8g0LIgSlNPTiDQvtGC0LLQtdGC0LUg0LTQvtC70LbQvdGLINCx0YvRgtGMINC30LDQv9C+0LvQvdC10L3RiyDQvdCwINGA0YPRgdGB0LrQvtC8INGP0LfRi9C60LUuIiwKICAgICAgICAgICAgcmVzcG9uc2VNaW1lVHlwZTogImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICByZXNwb25zZVNjaGVtYTogewogICAgICAgICAgICAgICAgdHlwZTogVHlwZS5PQkpFQ1QsCiAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7CiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3k6IHsgdHlwZTogVHlwZS5TVFJJTkcsIGRlc2NyaXB0aW9uOiAi0J3QsNC30LLQsNC90LjQtSDRgdGC0YDQsNGC0LXQs9C40LggKNC90LDQv9GA0LjQvNC10YAsICfQn9C+0LrRg9C\/0LDRgtGMINGB0LXQudGH0LDRgScsICfQltC00LDRgtGMJywgJ9Cn0LDRgdGC0LjRh9C90YvQuSDQsNC\/0LPRgNC10LnQtCcpIiB9LAogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb246IHsgdHlwZTogVHlwZS5TVFJJTkcsIGRlc2NyaXB0aW9uOiAi0JrQvtC90LrRgNC10YLQvdCw0Y8g0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGPIFJBTTog0L7QsdGK0LXQvCwg0YfQsNGB0YLQvtGC0LAg0Lgg0LrQsNC90LDQu9GM0L3QvtGB0YLRjC4iIH0sCiAgICAgICAgICAgICAgICAgICAgdGltaW5nOiB7IHR5cGU6IFR5cGUuU1RSSU5HLCBkZXNjcmlwdGlvbjogItCg0LXQutC+0LzQtdC90LTRg9C10LzRi9C1INGB0YDQvtC60Lgg0L\/QvtC60YPQv9C60LguIiB9LAogICAgICAgICAgICAgICAgICAgIHJlYXNvbmluZzogeyB0eXBlOiBUeXBlLlNUUklORywgZGVzY3JpcHRpb246ICLQmtGA0LDRgtC60L7QtSDQvtCx0YrRj9GB0L3QtdC90LjQtSwg0L\/QvtGH0LXQvNGDINGN0YLQsCDRgdGC0YDQsNGC0LXQs9C40Y8g0L\/QvtC00YXQvtC00LjRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4uIiB9LAogICAgICAgICAgICAgICAgICAgIHJpc2tGYWN0b3JzOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFR5cGUuQVJSQVksCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFR5cGUuU1RSSU5HIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAi0KHQv9C40YHQvtC6INGA0YvQvdC+0YfQvdGL0YUg0YDQuNGB0LrQvtCyICjQuNC90YTQu9GP0YbQuNGPLCDQtNC10YTQuNGG0LjRgiDQuCDRgi7QtC4pIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZXF1aXJlZDogWyJzdHJhdGVneSIsICJjb25maWd1cmF0aW9uIiwgInRpbWluZyIsICJyZWFzb25pbmciLCAicmlza0ZhY3RvcnMiXQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICB0cnkgewogICAgICAgIGNvbnN0IHRleHQgPSByZXNwb25zZS50ZXh0OwogICAgICAgIGlmICghdGV4dCkKICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFbXB0eSByZXNwb25zZSIpOwogICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRleHQpOwogICAgfQogICAgY2F0Y2ggKGUpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoItCd0LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNC30L7QsdGA0LDRgtGMINGA0LXQutC+0LzQtdC90LTQsNGG0LjRjiDQmNCYIik7CiAgICB9Cn07Cg==\",\"@\/components\/ArticleSection\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmV4cG9ydCBjb25zdCBBcnRpY2xlU2VjdGlvbiA9ICgpID0+IHsKICAgIGNvbnN0IEVYVEVSTkFMX0ZPUk1fVVJMID0gImh0dHBzOi8vZm9ybXMub2ZmaWNlLmNvbS9QYWdlcy9SZXNwb25zZVBhZ2UuYXNweD9pZD1NOG5kT3ZrT2kwS0wybmpYNTlTM3Q2Umx5aENScklkTXI0Tms2WFZBLXg5VU1rOUpWME01VkRVMlZrY3lSbEUyTWxCUVNWZEpPRk16VXk0dSI7CiAgICBjb25zdCBzY3JvbGxUb1RvcCA9ICgpID0+IHsKICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTsKICAgIH07CiAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktMTIiLCBjaGlsZHJlbjogW19qc3goImFydGljbGUiLCB7IGNsYXNzTmFtZTogImJnLXdoaXRlIHJvdW5kZWQtWzNyZW1dIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHNoYWRvdy0yeGwgb3ZlcmZsb3ctaGlkZGVuIGFydGljbGUtY29udGVudCIsIGNoaWxkcmVuOiBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJwLTggc206cC0yMCBtYXgtdy01eGwgbXgtYXV0byIsIGNoaWxkcmVuOiBbX2pzeHMoImhlYWRlciIsIHsgY2xhc3NOYW1lOiAibWItMTIiLCBjaGlsZHJlbjogW19qc3goImgxIiwgeyBjaGlsZHJlbjogIlx1MDQxRlx1MDQzRVx1MDQ0N1x1MDQzNVx1MDQzQ1x1MDQ0MyBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M0RcdTA0MzBcdTA0NEYgRERSNSBSRElNTSBcdTA0M0ZcdTA0M0VcdTA0MzRcdTA0M0VcdTA0NDBcdTA0M0VcdTA0MzZcdTA0MzBcdTA0M0JcdTA0MzAgXHUwNDMyIDJcdTIwMTMzIFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzMCBcdTA0MzIgMjAyNiBcdTA0MzggXHUwNDNBXHUwNDNFXHUwNDMzXHUwNDM0XHUwNDMwIFx1MDQ0Nlx1MDQzNVx1MDQzRFx1MDQ0QiBcdTA0NDNcdTA0M0ZcdTA0MzBcdTA0MzRcdTA0NDNcdTA0NDIgKFx1MDQzRlx1MDQ0MFx1MDQzRVx1MDQzM1x1MDQzRFx1MDQzRVx1MDQzNykiIH0pLCBfanN4KCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXhsIHRleHQtc2xhdGUtNTAwIGZvbnQtbWVkaXVtIGl0YWxpYyBtdC00IiwgY2hpbGRyZW46ICJcdTA0MTBcdTA0M0FcdTA0NDJcdTA0NDNcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0M0UgXHUwNDNEXHUwNDMwIDE1IFx1MDQ0Rlx1MDQzRFx1MDQzMlx1MDQzMFx1MDQ0MFx1MDQ0RiAyMDI2IiB9KV0gfSksIF9qc3hzKCJzZWN0aW9uIiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTggdGV4dC1zbGF0ZS02MDAiLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImV0LWludHJvIiwgY2hpbGRyZW46IFtfanN4KCJwIiwgeyBjaGlsZHJlbjogIlx1MDQxMiAyMDI2IFx1MDQzM1x1MDQzRVx1MDQzNFx1MDQ0MyBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M0RcdTA0MzBcdTA0NEYgRERSNSBSRElNTSAoXHUwNDNFXHUwNDQxXHUwNDNFXHUwNDMxXHUwNDM1XHUwNDNEXHUwNDNEXHUwNDNFIFx1MDQzQ1x1MDQzRVx1MDQzNFx1MDQ0M1x1MDQzQlx1MDQzOCA2NC8xMjggXHUwNDEzXHUwNDExIEVDQykgXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNCXHUwNDMwIFx1MDQzRVx1MDQzNFx1MDQzRFx1MDQzOFx1MDQzQyBcdTA0MzhcdTA0MzcgXHUwNDQxXHUwNDMwXHUwNDNDXHUwNDRCXHUwNDQ1IFx1MDQzMVx1MDQ0Qlx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzRSBcdTA0MzRcdTA0M0VcdTA0NDBcdTA0M0VcdTA0MzZcdTA0MzBcdTA0NEVcdTA0NDlcdTA0MzhcdTA0NDUgXHUwNDNBXHUwNDNFXHUwNDNDXHUwNDNGXHUwNDNFXHUwNDNEXHUwNDM1XHUwNDNEXHUwNDQyXHUwNDNFXHUwNDMyOiBcdTA0NDZcdTA0MzVcdTA0M0RcdTA0NEIgXHUwNDMyXHUwNDRCXHUwNDQwXHUwNDNFXHUwNDQxXHUwNDNCXHUwNDM4IFx1MDQzMiAxLDVcdTIwMTMzIFx1MDQ0MFx1MDQzMFx1MDQzN1x1MDQzMCBcdTA0M0ZcdTA0M0UgXHUwNDQxXHUwNDQwXHUwNDMwXHUwNDMyXHUwNDNEXHUwNDM1XHUwNDNEXHUwNDM4XHUwNDRFIFx1MDQ0MSAyMDI0XHUyMDEzMjAyNSBcdTA0MzNcdTA0M0VcdTA0MzRcdTA0MzBcdTA0M0NcdTA0MzguIFx1MDQxRlx1MDQzRSBcdTA0MzRcdTA0MzBcdTA0M0RcdTA0M0RcdTA0NEJcdTA0M0MgVHJlbmRGb3JjZSAoNSBcdTA0NEZcdTA0M0RcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NEYgMjAyNiksIFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQ0Mlx1MDQ0MFx1MDQzMFx1MDQzQVx1MDQ0Mlx1MDQzRFx1MDQ0Qlx1MDQzNSBcdTA0NDZcdTA0MzVcdTA0M0RcdTA0NEIgXHUwNDNEXHUwNDMwIFx1MDQzRVx1MDQzMVx1MDQ0Qlx1MDQ0N1x1MDQzRFx1MDQ0M1x1MDQ0RSBEUkFNIFx1MDQzMiBRMSAyMDI2IFx1MDQzMlx1MDQ0Qlx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0MiBcdTA0M0RcdTA0MzAgNTVcdTIwMTM2MCUgXHUwNDNBXHUwNDMyXHUwNDMwXHUwNDQwXHUwNDQyXHUwNDMwXHUwNDNCIFx1MDQzQSBcdTA0M0FcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzBcdTA0M0JcdTA0NDMsIFx1MDQzMCBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M0RcdTA0MzBcdTA0NEYgRFJBTSBcdTIwMTQgXHUwNDMxXHUwNDNFXHUwNDNCXHUwNDM1XHUwNDM1IFx1MDQ0N1x1MDQzNVx1MDQzQyBcdTA0M0RcdTA0MzAgNjAlLiBcdTA0MTIgXHUwNDIwXHUwNDNFXHUwNDQxXHUwNDQxXHUwNDM4XHUwNDM4IFx1MDQ0MSBcdTA0NDNcdTA0NDdcdTA0NTFcdTA0NDJcdTA0M0VcdTA0M0MgXHUwNDNGXHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNCXHUwNDNCXHUwNDM1XHUwNDNCXHUwNDRDXHUwNDNEXHUwNDNFXHUwNDMzXHUwNDNFIFx1MDQzOFx1MDQzQ1x1MDQzRlx1MDQzRVx1MDQ0MFx1MDQ0Mlx1MDQzMCBcdTA0MzggXHUwNDNCXHUwNDNFXHUwNDMzXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDM4XHUwNDNBXHUwNDM4IFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQzNVx1MDQ0N1x1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDBcdTA0M0VcdTA0NDFcdTA0NDIgXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDQyXHUwNDNFIFx1MDQzNFx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzM1x1MDQzMFx1MDQzNVx1MDQ0MiA4MFx1MjAxMzE1MCUuIiB9KSwgX2pzeCgicCIsIHsgY2hpbGRyZW46ICJcdTA0MTIgXHUwNDREXHUwNDQyXHUwNDNFXHUwNDM5IFx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQ0Mlx1MDQ0Q1x1MDQzNSBcdTIwMTQgXHUwNDNGXHUwNDNFXHUwNDM0XHUwNDQwXHUwNDNFXHUwNDMxXHUwNDNEXHUwNDRCXHUwNDM1IFx1MDQzRlx1MDQ0MFx1MDQzOFx1MDQ0N1x1MDQzOFx1MDQzRFx1MDQ0QiBcdTA0MzJcdTA0MzdcdTA0NDBcdTA0NEJcdTA0MzJcdTA0M0RcdTA0M0VcdTA0MzNcdTA0M0UgXHUwNDQwXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDMwLCBcdTA0NDBcdTA0MzVcdTA0MzBcdTA0M0JcdTA0NENcdTA0M0RcdTA0NEJcdTA0MzUgXHUwNDQ2XHUwNDM4XHUwNDQ0XHUwNDQwXHUwNDRCIFx1MDQzOCBcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0MzNcdTA0M0RcdTA0M0VcdTA0Mzc6IFx1MDQzQVx1MDQzRVx1MDQzM1x1MDQzNFx1MDQzMCBcdTA0MzggXHUwNDNEXHUwNDMwXHUwNDQxXHUwNDNBXHUwNDNFXHUwNDNCXHUwNDRDXHUwNDNBXHUwNDNFIFx1MDQ0Nlx1MDQzNVx1MDQzRFx1MDQ0QiBcdTA0M0RcdTA0MzAgRERSNSBSRElNTSBcdTA0M0NcdTA0M0VcdTA0MzNcdTA0NDNcdTA0NDIgXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDM4XHUwNDNCXHUwNDM4XHUwNDM3XHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDQyXHUwNDRDXHUwNDQxXHUwNDRGIFx1MDQzOFx1MDQzQlx1MDQzOCBcdTA0NDNcdTA0M0ZcdTA0MzBcdTA0NDFcdTA0NDJcdTA0NEMuIiB9KV0gfSksIF9qc3goImgyIiwgeyBjaGlsZHJlbjogIlx1MDQxM1x1MDQzQlx1MDQzMFx1MDQzMlx1MDQzRFx1MDQ0Qlx1MDQzNSBcdTA0M0ZcdTA0NDBcdTA0MzhcdTA0NDdcdTA0MzhcdTA0M0RcdTA0NEIgXHUwNDQwXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDMwIFx1MDQ0Nlx1MDQzNVx1MDQzRCBcdTA0M0RcdTA0MzAgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNEXHUwNDQzXHUwNDRFIEREUjUgUkRJTU0gXHUwNDMyIDIwMjYiIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogImJnLWJsdWUtNTAgYm9yZGVyLWwtNCBib3JkZXItYmx1ZS01MDAgcC04IHJvdW5kZWQtci0yeGwiLCBjaGlsZHJlbjogX2pzeHMoInAiLCB7IGNsYXNzTmFtZTogIm0tMCB0ZXh0LWJsdWUtOTAwIGZvbnQtbWVkaXVtIiwgY2hpbGRyZW46IFtfanN4KCJzdHJvbmciLCB7IGNoaWxkcmVuOiAiQUktXHUwNDMxXHUwNDQzXHUwNDNDIFx1MDQzOCBcdTA0M0ZcdTA0NDBcdTA0MzhcdTA0M0VcdTA0NDBcdTA0MzhcdTA0NDJcdTA0MzVcdTA0NDIgSEJNIiB9KSwgIjogXHUwNDEzXHUwNDM4XHUwNDNGXHUwNDM1XHUwNDQwXHUwNDQxXHUwNDNBXHUwNDM1XHUwNDM5XHUwNDNCXHUwNDM1XHUwNDQwXHUwNDRCIFx1MDQzOCBBSS1cdTA0M0FcdTA0M0JcdTA0MzBcdTA0NDFcdTA0NDJcdTA0MzVcdTA0NDBcdTA0NEIgXHUwNDNGXHUwNDNFXHUwNDMzXHUwNDNCXHUwNDNFXHUwNDQ5XHUwNDMwXHUwNDRFXHUwNDQyIFx1MDQzMlx1MDQ0MVx1MDQ0RSBcdTA0MzRcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NDNcdTA0M0ZcdTA0M0RcdTA0NDNcdTA0NEUgRFJBTS1cdTA0M0NcdTA0M0VcdTA0NDlcdTA0M0RcdTA0M0VcdTA0NDFcdTA0NDJcdTA0NEMuIFx1MDQxRlx1MDQ0MFx1MDQzRVx1MDQzOFx1MDQzN1x1MDQzMlx1MDQzRVx1MDQzNFx1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzQlx1MDQzOCBcdTA0M0ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M0VcdTA0NDBcdTA0MzhcdTA0MzVcdTA0M0RcdTA0NDJcdTA0MzhcdTA0NDBcdTA0NDNcdTA0NEVcdTA0NDIgXHUwNDNCXHUwNDM4XHUwNDNEXHUwNDM4XHUwNDM4IFx1MDQzRFx1MDQzMCBIQk0gKFx1MDQzMlx1MDQ0Qlx1MDQ0MVx1MDQzRVx1MDQzQVx1MDQzRVx1MDQzMVx1MDQzMFx1MDQzRFx1MDQzNFx1MDQzMlx1MDQzOFx1MDQzNFx1MDQ0Mlx1MDQzRFx1MDQzMFx1MDQ0RiBcdTA0M0ZcdTA0MzBcdTA0M0NcdTA0NEZcdTA0NDJcdTA0NEMgXHUwNDM0XHUwNDNCXHUwNDRGIEdQVSksIFx1MDQ0N1x1MDQ0Mlx1MDQzRSBcdTA0NDBcdTA0MzVcdTA0MzdcdTA0M0FcdTA0M0UgXHUwNDQxXHUwNDNFXHUwNDNBXHUwNDQwXHUwNDMwXHUwNDQ5XHUwNDMwXHUwNDM1XHUwNDQyIFx1MDQzRlx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQzMFx1MDQzMlx1MDQzQVx1MDQzOCBcdTA0M0VcdTA0MzFcdTA0NEJcdTA0NDdcdTA0M0RcdTA0M0VcdTA0MzkgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDNEXHUwNDNFXHUwNDM5IEREUjUuIl0gfSkgfSksIF9qc3goImgzIiwgeyBjaGlsZHJlbjogIlx1MDQxRlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzRlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzQlx1MDQzNVx1MDQzRFx1MDQzOFx1MDQzNSBcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0MzhcdTA0MzdcdTA0MzJcdTA0M0VcdTA0MzRcdTA0NDFcdTA0NDJcdTA0MzJcdTA0MzVcdTA0M0RcdTA0M0RcdTA0NEJcdTA0NDUgXHUwNDNDXHUwNDNFXHUwNDQ5XHUwNDNEXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM1XHUwNDM5IiB9KSwgX2pzeCgicCIsIHsgY2hpbGRyZW46ICJUcmVuZEZvcmNlOiBcdTA0MzIgMjAyNVx1MjAxMzIwMjYgXHUwNDMzXHUwNDNFXHUwNDM0XHUwNDMwXHUwNDQ1IFx1MDQ0NFx1MDQzMFx1MDQzMVx1MDQ0MFx1MDQzOFx1MDQzQVx1MDQzOCBTYW1zdW5nLCBTSyBoeW5peCBcdTA0MzggTWljcm9uIFx1MDQzRlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzMlx1MDQzRVx1MDQzNFx1MDQ0Rlx1MDQ0MiBcdTA0MzRcdTA0M0UgNDBcdTIwMTM1MCUgXHUwNDNDXHUwNDNFXHUwNDQ5XHUwNDNEXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM1XHUwNDM5IFx1MDQzRFx1MDQzMCBIQk0gXHUwNDM4IGVudGVycHJpc2UgRFJBTS4gRERSNSBcdTA0MzRcdTA0M0JcdTA0NEYgXHUwNDNFXHUwNDMxXHUwNDRCXHUwNDQ3XHUwNDNEXHUwNDRCXHUwNDQ1IFx1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzRVx1MDQzMiBcdTA0MzggXHUwNDFGXHUwNDFBIFx1MDQzRlx1MDQzRVx1MDQzQlx1MDQ0M1x1MDQ0N1x1MDQzMFx1MDQzNVx1MDQ0MiBcdTA0M0VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDJcdTA0M0FcdTA0MzgsIFx1MDQ0N1x1MDQ0Mlx1MDQzRSBcdTA0MzJcdTA0NEJcdTA0MzdcdTA0NEJcdTA0MzJcdTA0MzBcdTA0MzVcdTA0NDIgXHUwNDM0XHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDQ2XHUwNDM4XHUwNDQyIFx1MDQzOCBcdTA0NDBcdTA0M0VcdTA0NDFcdTA0NDIgXHUwNDQ2XHUwNDM1XHUwNDNELiIgfSksIF9qc3goImgzIiwgeyBjaGlsZHJlbjogIlx1MDQxNFx1MDQzOFx1MDQ0MVx1MDQzMVx1MDQzMFx1MDQzQlx1MDQzMFx1MDQzRFx1MDQ0MSBcdTA0NDFcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0NDFcdTA0MzAgXHUwNDM4IFx1MDQzRlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzQlx1MDQzRVx1MDQzNlx1MDQzNVx1MDQzRFx1MDQzOFx1MDQ0RiIgfSksIF9qc3goInAiLCB7IGNoaWxkcmVuOiAiT21kaWEgXHUwNDM4IFRyZW5kRm9yY2U6IFx1MDQzRlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQ0NVx1MDQzRVx1MDQzNCBcdTA0M0RcdTA0MzAgRERSNSBcdTA0NDJcdTA0NDBcdTA0MzVcdTA0MzFcdTA0NDNcdTA0MzVcdTA0NDIgMTIrIFx1MDQzQ1x1MDQzNVx1MDQ0MVx1MDQ0Rlx1MDQ0Nlx1MDQzNVx1MDQzMiBcdTA0M0ZcdTA0MzVcdTA0NDBcdTA0MzVcdTA0NDFcdTA0NDJcdTA0NDBcdTA0M0VcdTA0MzlcdTA0M0FcdTA0MzggXHUwNDM4IFx1MDQzMlx1MDQzMFx1MDQzQlx1MDQzOFx1MDQzNFx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOC4gXHUwNDFCXHUwNDRFXHUwNDMxXHUwNDNFXHUwNDM1IFx1MDQ0MVx1MDQzRVx1MDQzQVx1MDQ0MFx1MDQzMFx1MDQ0OVx1MDQzNVx1MDQzRFx1MDQzOFx1MDQzNSBcdTA0M0NcdTA0M0VcdTA0NDlcdTA0M0RcdTA0M0VcdTA0NDFcdTA0NDJcdTA0MzVcdTA0MzkgXHUwNDNEXHUwNDMwIFx1MDQzRVx1MDQzMVx1MDQ0Qlx1MDQ0N1x1MDQzRFx1MDQ0M1x1MDQ0RSBERFI1IFx1MDQzMlx1MDQ0Qlx1MDQzN1x1MDQ0Qlx1MDQzMlx1MDQzMFx1MDQzNVx1MDQ0MiBcdTA0MzdcdTA0MzBcdTA0NDJcdTA0NEZcdTA0MzZcdTA0M0RcdTA0NEJcdTA0MzUgXHUwNDMyXHUwNDNFXHUwNDNCXHUwNDNEXHUwNDRCIFx1MDQzNFx1MDQzNVx1MDQ0NFx1MDQzOFx1MDQ0Nlx1MDQzOFx1MDQ0Mlx1MDQzMCBcdTIwMTQgXHUwNDM4XHUwNDNDXHUwNDM1XHUwNDNEXHUwNDNEXHUwNDNFIFx1MDQ0RFx1MDQ0Mlx1MDQzRSBcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0MzhcdTA0NDFcdTA0NDVcdTA0M0VcdTA0MzRcdTA0MzhcdTA0NDIgXHUwNDQxXHUwNDM1XHUwNDM5XHUwNDQ3XHUwNDMwXHUwNDQxLiIgfSksIF9qc3goImgzIiwgeyBjaGlsZHJlbjogIlx1MDQyMFx1MDQzRVx1MDQ0MVx1MDQ0MiBcdTA0NDFcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0NDFcdTA0MzAgXHUwNDNFXHUwNDQyIGVudGVycHJpc2UgXHUwNDM4IFx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQzMC1cdTA0NDZcdTA0MzVcdTA0M0RcdTA0NDJcdTA0NDBcdTA0M0VcdTA0MzIiIH0pLCBfanN4KCJwIiwgeyBjaGlsZHJlbjogIlx1MDQyMVx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzRFx1MDQ0Qlx1MDQzNSBcdTA0MzdcdTA0MzBcdTA0MzRcdTA0MzBcdTA0NDdcdTA0MzggKFx1MDQzMlx1MDQzOFx1MDQ0MFx1MDQ0Mlx1MDQ0M1x1MDQzMFx1MDQzQlx1MDQzOFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0RiwgXHUwNDExXHUwNDE0LCBBSS1cdTA0MzhcdTA0M0RcdTA0NDRcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M0RcdTA0NDEpIFx1MDQ0Mlx1MDQ0MFx1MDQzNVx1MDQzMVx1MDQ0M1x1MDQ0RVx1MDQ0MiBcdTA0MzJcdTA0NDFcdTA0NTEgXHUwNDMxXHUwNDNFXHUwNDNCXHUwNDRDXHUwNDQ4XHUwNDM1IFx1MDQzRlx1MDQzMFx1MDQzQ1x1MDQ0Rlx1MDQ0Mlx1MDQzOC4gXHUwNDFDXHUwNDNFXHUwNDM0XHUwNDQzXHUwNDNCXHUwNDM4IDY0LzEyOCBcdTA0MTNcdTA0MTEgUkRJTU0gXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDNCXHUwNDM4IG11c3QtaGF2ZSBcdTA0MzRcdTA0M0JcdTA0NEYgXHUwNDNGXHUwNDNCXHUwNDNFXHUwNDQyXHUwNDNEXHUwNDRCXHUwNDQ1IFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQ0NFx1MDQzOFx1MDQzM1x1MDQ0M1x1MDQ0MFx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQzOSwgXHUwNDNEXHUwNDNFIFx1MDQzOFx1MDQ0NSBcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0MzhcdTA0MzdcdTA0MzJcdTA0M0VcdTA0MzRcdTA0NDFcdTA0NDJcdTA0MzJcdTA0M0UgXHUwNDNFXHUwNDMzXHUwNDQwXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDQ3XHUwNDM1XHUwNDNEXHUwNDNFLiIgfSksIF9qc3goImgyIiwgeyBjaGlsZHJlbjogIlx1MDQxRlx1MDQ0MFx1MDQzRVx1MDQzM1x1MDQzRFx1MDQzRVx1MDQzNyBcdTA0NDZcdTA0MzVcdTA0M0QgXHUwNDNEXHUwNDMwIERSQU0gXHUwNDM4IEREUjUgUkRJTU0gXHUwNDMyIDIwMjYiIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJncmlkIHNtOmdyaWQtY29scy0yIGdhcC00IG15LTgiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAicC02IGJnLXNsYXRlLTkwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtMnhsIiwgY2hpbGRyZW46IF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJtLTAiLCBjaGlsZHJlbjogW19qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJRMSAyMDI2IiB9KSwgIjogKzU1XHUyMDEzNjAlIFFvUSBcdTA0M0RcdTA0MzAgXHUwNDNFXHUwNDMxXHUwNDRCXHUwNDQ3XHUwNDNEXHUwNDQzXHUwNDRFIERSQU0sIFx1MDQ0MVx1MDQzNVx1MDQ0MFx1MDQzMlx1MDQzNVx1MDQ0MFx1MDQzRFx1MDQzMFx1MDQ0RiBcdTIwMTQgPjYwJSAoVHJlbmRGb3JjZSwgXHUwNDRGXHUwNDNEXHUwNDMyXHUwNDMwXHUwNDQwXHUwNDRDIDIwMjYpLiJdIH0pIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInAtNiBiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtMnhsIiwgY2hpbGRyZW46IF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJtLTAiLCBjaGlsZHJlbjogW19qc3goInN0cm9uZyIsIHsgY2hpbGRyZW46ICJcdTA0MUZcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzBcdTA0NEYgXHUwNDNGXHUwNDNFXHUwNDNCXHUwNDNFXHUwNDMyXHUwNDM4XHUwNDNEXHUwNDMwIDIwMjYiIH0pLCAiOiBcdTA0MzIgXHUwNDIwXHUwNDNFXHUwNDQxXHUwNDQxXHUwNDM4XHUwNDM4IFx1MDQ0MSBcdTA0NDNcdTA0NDdcdTA0NTFcdTA0NDJcdTA0M0VcdTA0M0MgXHUwNDM4XHUwNDNDXHUwNDNGXHUwNDNFXHUwNDQwXHUwNDQyXHUwNDMwIFx1MDQzOCBcdTA0M0FcdTA0NDNcdTA0NDBcdTA0NDFcdTA0MzAgXHUyMDE0IFx1MDQzNFx1MDQzRVx1MDQzRlx1MDQzRVx1MDQzQlx1MDQzRFx1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzQlx1MDQ0Q1x1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDBcdTA0M0VcdTA0NDFcdTA0NDIgMzBcdTIwMTM1MCUgXHUwNDNEXHUwNDMwIFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQzNVx1MDQ0N1x1MDQzRFx1MDQ0Qlx1MDQzNSBcdTA0NDZcdTA0MzVcdTA0M0RcdTA0NEIgRERSNSBSRElNTSA2NC8xMjggXHUwNDEzXHUwNDExLiJdIH0pIH0pXSB9KSwgX2pzeCgiaDMiLCB7IGNoaWxkcmVuOiAiXHUwNDFBXHUwNDNFXHUwNDMzXHUwNDM0XHUwNDMwIFx1MDQzNlx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzFcdTA0MzhcdTA0M0JcdTA0MzhcdTA0MzdcdTA0MzBcdTA0NDZcdTA0MzhcdTA0MzggXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQ0MVx1MDQzRFx1MDQzOFx1MDQzNlx1MDQzNVx1MDQzRFx1MDQzOFx1MDQ0Rj8iIH0pLCBfanN4KCJwIiwgeyBjaGlsZHJlbjogIlx1MDQxRlx1MDQzRSBcdTA0NDFcdTA0M0VcdTA0MzJcdTA0M0VcdTA0M0FcdTA0NDNcdTA0M0ZcdTA0M0RcdTA0M0VcdTA0NDFcdTA0NDJcdTA0MzggXHUwNDNGXHUwNDQwXHUwNDNFXHUwNDMzXHUwNDNEXHUwNDNFXHUwNDM3XHUwNDNFXHUwNDMyIFRyZW5kRm9yY2UsIE9tZGlhIFx1MDQzOCBcdTA0NDBcdTA0M0VcdTA0NDFcdTA0NDFcdTA0MzhcdTA0MzlcdTA0NDFcdTA0M0FcdTA0MzhcdTA0NDUgXHUwNDMwXHUwNDNEXHUwNDMwXHUwNDNCXHUwNDM4XHUwNDQyXHUwNDM4XHUwNDNBXHUwNDNFXHUwNDMyIChIYWJyLCBTZXJ2ZXJGbG93KToiIH0pLCBfanN4cygidWwiLCB7IGNsYXNzTmFtZTogImxpc3QtZGlzYyBwbC02IHNwYWNlLXktMyIsIGNoaWxkcmVuOiBbX2pzeCgibGkiLCB7IGNoaWxkcmVuOiAiUTJcdTIwMTNRMyAyMDI2OiBcdTA0M0ZcdTA0MzhcdTA0M0EgXHUwNDQwXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDMwIFx1MDQzOCBcdTA0MzRcdTA0MzVcdTA0NDRcdTA0MzhcdTA0NDZcdTA0MzhcdTA0NDJcdTA0MzAsIFx1MDQ0Nlx1MDQzNVx1MDQzRFx1MDQ0QiBcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0MzRcdTA0M0VcdTA0M0JcdTA0MzZcdTA0MzBcdTA0NEVcdTA0NDIgXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDM4IiB9KSwgX2pzeCgibGkiLCB7IGNoaWxkcmVuOiAiUTNcdTIwMTNRNCAyMDI2OiBcdTA0M0RcdTA0MzBcdTA0NDdcdTA0MzBcdTA0M0JcdTA0M0UgXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMxXHUwNDM4XHUwNDNCXHUwNDM4XHUwNDM3XHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDM4IFx1MjAxNCBcdTA0M0RcdTA0M0VcdTA0MzJcdTA0NEJcdTA0MzUgXHUwNDNCXHUwNDM4XHUwNDNEXHUwNDM4XHUwNDM4IFx1MDQzN1x1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzMVx1MDQzRVx1MDQ0Mlx1MDQzMFx1MDQ0RVx1MDQ0MiBcdTA0M0RcdTA0MzAgXHUwNDNGXHUwNDNFXHUwNDNCXHUwNDNEXHUwNDQzXHUwNDRFLCBcdTA0NDFcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0NDEgXHUwNDQ3XHUwNDMwXHUwNDQxXHUwNDQyXHUwNDM4XHUwNDQ3XHUwNDNEXHUwNDNFIFx1MDQzRlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQzRlx1MDQ0MFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzQlx1MDQzOFx1MDQ0Mlx1MDQ0MVx1MDQ0RiIgfSksIF9qc3goImxpIiwgeyBjaGlsZHJlbjogIjIwMjc6IFx1MDQzMlx1MDQzRVx1MDQzN1x1MDQzQ1x1MDQzRVx1MDQzNlx1MDQzRFx1MDQzRVx1MDQzNSBcdTA0NDNcdTA0M0NcdTA0MzVcdTA0NDBcdTA0MzVcdTA0M0RcdTA0M0RcdTA0M0VcdTA0MzUgXHUwNDQxXHUwNDNEXHUwNDM4XHUwNDM2XHUwNDM1XHUwNDNEXHUwNDM4XHUwNDM1ICgxMFx1MjAxMzIwJSksIFx1MDQzRFx1MDQzRSBcdTA0MzJcdTA0M0VcdTA0MzdcdTA0MzJcdTA0NDBcdTA0MzBcdTA0NDJcdTA0MzAgXHUwNDNBIFx1MDQ0Nlx1MDQzNVx1MDQzRFx1MDQzMFx1MDQzQyAyMDI0XHUyMDEzMjAyNSBcdTA0M0RcdTA0MzUgXHUwNDMxXHUwNDQzXHUwNDM0XHUwNDM1XHUwNDQyIFx1MjAxNCBcdTA0M0RcdTA0M0VcdTA0MzJcdTA0NEJcdTA0MzkgXHUwNDMxXHUwNDMwXHUwNDM3XHUwNDNFXHUwNDMyXHUwNDRCXHUwNDM5IFx1MDQ0M1x1MDQ0MFx1MDQzRVx1MDQzMlx1MDQzNVx1MDQzRFx1MDQ0QyBcdTA0M0RcdTA0MzAgNTBcdTIwMTMxMDAlIFx1MDQzMlx1MDQ0Qlx1MDQ0OFx1MDQzNSIgfSldIH0pLCBfanN4KCJoMiIsIHsgY2hpbGRyZW46ICJcdTA0MjdcdTA0NDJcdTA0M0UgXHUwNDREXHUwNDQyXHUwNDNFIFx1MDQzN1x1MDQzRFx1MDQzMFx1MDQ0N1x1MDQzOFx1MDQ0MiBcdTA0MzRcdTA0M0JcdTA0NEYgXHUwNDM3XHUwNDMwXHUwNDNBXHUwNDQzXHUwNDNGXHUwNDNFXHUwNDNBIFx1MDQzMiBcdTA0MjBcdTA0M0VcdTA0NDFcdTA0NDFcdTA0MzhcdTA0MzgiIH0pLCBfanN4KCJwIiwgeyBjaGlsZHJlbjogIlx1MDQxMiBcdTA0MjBcdTA0MjQgXHUwNDM0XHUwNDM1XHUwNDQ0XHUwNDM4XHUwNDQ2XHUwNDM4XHUwNDQyIFx1MDQ0M1x1MDQ0MVx1MDQzOFx1MDQzQlx1MDQzOFx1MDQzMlx1MDQzMFx1MDQzNVx1MDQ0Mlx1MDQ0MVx1MDQ0RiBcdTA0NDFcdTA0MzBcdTA0M0RcdTA0M0FcdTA0NDZcdTA0MzhcdTA0NEZcdTA0M0NcdTA0MzggXHUwNDM4IFx1MDQzQlx1MDQzRVx1MDQzM1x1MDQzOFx1MDQ0MVx1MDQ0Mlx1MDQzOFx1MDQzQVx1MDQzRVx1MDQzOS4gSGFiciBcdTA0MzggXHUwNDNEXHUwNDNFXHUwNDMyXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDM4OiBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M0RcdTA0MzBcdTA0NEYgRERSNSBSRElNTSAxMjggXHUwNDEzXHUwNDExIFx1MjAxNCBcdTA0M0VcdTA0MzRcdTA0MzhcdTA0M0QgXHUwNDM4XHUwNDM3IFx1MDQ0MVx1MDQzMFx1MDQzQ1x1MDQ0Qlx1MDQ0NSBcdTA0MzRcdTA0MzVcdTA0NDRcdTA0MzhcdTA0NDZcdTA0MzhcdTA0NDJcdTA0M0RcdTA0NEJcdTA0NDUgXHUwNDNBXHUwNDNFXHUwNDNDXHUwNDNGXHUwNDNFXHUwNDNEXHUwNDM1XHUwNDNEXHUwNDQyXHUwNDNFXHUwNDMyLCBcdTA0NDFcdTA0NDBcdTA0M0VcdTA0M0FcdTA0MzggOFx1MjAxMzMwIFx1MDQzRFx1MDQzNVx1MDQzNFx1MDQzNVx1MDQzQlx1MDQ0QywgXHUwNDQ2XHUwNDM1XHUwNDNEXHUwNDRCIFx1MDQzQ1x1MDQzNVx1MDQzRFx1MDQ0Rlx1MDQ0RVx1MDQ0Mlx1MDQ0MVx1MDQ0RiBcdTA0MzVcdTA0MzZcdTA0MzVcdTA0M0NcdTA0MzVcdTA0NDFcdTA0NEZcdTA0NDdcdTA0M0RcdTA0M0UuIiB9KSwgX2pzeCgicCIsIHsgY2hpbGRyZW46ICJcdTA0MjBcdTA0MzVcdTA0M0FcdTA0M0VcdTA0M0NcdTA0MzVcdTA0M0RcdTA0MzRcdTA0MzBcdTA0NDZcdTA0MzhcdTA0Mzg6IiB9KSwgX2pzeHMoInVsIiwgeyBjbGFzc05hbWU6ICJsaXN0LWRpc2MgcGwtNiBzcGFjZS15LTMiLCBjaGlsZHJlbjogW19qc3goImxpIiwgeyBjaGlsZHJlbjogIlx1MDQxRlx1MDQzQlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQ0MFx1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSBcdTA0MzdcdTA0MzBcdTA0M0FcdTA0NDNcdTA0M0ZcdTA0M0FcdTA0MzggXHUwNDM3XHUwNDMwIDNcdTIwMTM2IFx1MDQzQ1x1MDQzNVx1MDQ0MVx1MDQ0Rlx1MDQ0Nlx1MDQzNVx1MDQzMiIgfSksIF9qc3goImxpIiwgeyBjaGlsZHJlbjogIlx1MDQxMVx1MDQ0MFx1MDQzRVx1MDQzRFx1MDQzOFx1MDQ0MFx1MDQ0M1x1MDQzOVx1MDQ0Mlx1MDQzNSBcdTA0M0ZcdTA0MzBcdTA0NDBcdTA0NDJcdTA0MzhcdTA0MzggXHUwNDM3XHUwNDMwXHUwNDQwXHUwNDMwXHUwNDNEXHUwNDM1XHUwNDM1IiB9KSwgX2pzeCgibGkiLCB7IGNoaWxkcmVuOiAiXHUwNDIwXHUwNDMwXHUwNDQxXHUwNDQxXHUwNDNDXHUwNDMwXHUwNDQyXHUwNDQwXHUwNDM4XHUwNDMyXHUwNDMwXHUwNDM5XHUwNDQyXHUwNDM1IFx1MDQzM1x1MDQzOFx1MDQzMVx1MDQzQVx1MDQzOFx1MDQzNSBcdTA0M0FcdTA0M0VcdTA0M0RcdTA0NDRcdTA0MzhcdTA0MzNcdTA0NDNcdTA0NDBcdTA0MzBcdTA0NDZcdTA0MzhcdTA0MzggKFx1MDQzQ1x1MDQzMFx1MDQ0MVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzOFx1MDQ0MFx1MDQzRVx1MDQzMlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQzNSBcdTA0M0ZcdTA0M0UgXHUwNDQzXHUwNDM3XHUwNDNCXHUwNDMwXHUwNDNDIFx1MDQzMlx1MDQzQ1x1MDQzNVx1MDQ0MVx1MDQ0Mlx1MDQzRSBcdTA0M0VcdTA0MzRcdTA0M0RcdTA0M0VcdTA0MzNcdTA0M0UgXHUwNDNDXHUwNDNFXHUwNDNEXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDMwKSIgfSldIH0pLCBfanN4KCJoMiIsIHsgY2hpbGRyZW46ICJcdTA0MUZcdTA0M0VcdTA0NDdcdTA0MzVcdTA0M0NcdTA0NDMgXHUwNDQxXHUwNDQyXHUwNDNFXHUwNDM4XHUwNDQyIFx1MDQzMlx1MDQ0Qlx1MDQzMVx1MDQ0MFx1MDQzMFx1MDQ0Mlx1MDQ0QyBFbGlzaHRlY2ggVGVjaG5vbG9neSIgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiZ3JpZCBzbTpncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtNCBweS00IiwgY2hpbGRyZW46IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLQk9C40LHQutC40LUg0YHRgNC+0LrQuCDQv9C+0YHRgtCw0LLQvtC6IEREUjUgUkRJTU0gNjQvMTI4INCT0JEgKNGH0LDRgdGC0L4g0LrQvtGA0L7Rh9C1INGA0YvQvdC60LApIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLQndC10YHQutC+0LvRjNC60L4g0LzQsNGA0YjRgNGD0YLQvtCyINC\/0LDRgNCw0LvQu9C10LvRjNC90L7Qs9C+INC40LzQv9C+0YDRgtCwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICLQn9C10YDRgdC+0L3QsNC70YzQvdGL0LUg0YbQtdC90Ysg0Lgg0LHRgNC+0L3QuNGA0L7QstCw0L3QuNC1INC\/0LDRgNGC0LjQuSDQv9C+0LQg0L\/RgNC+0LXQutGCIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI3w5cyNCDRgtC10YXQvdC40YfQtdGB0LrQsNGPINC\/0L7QtNC00LXRgNC20LrQsCDQuCDQstGL0LXQt9C0INC\/0L4g0KDQvtGB0YHQuNC4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPRU0vT0RNLdC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCDRgdC10YDQstC10YDQvtCyINGBINC90YPQttC90YvQvCDQvtCx0YrRkdC80L7QvCDQv9Cw0LzRj9GC0LgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0ubWFwKChpdGVtLCBpZHgpID0+IChfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBwLTQgYmctc2xhdGUtNTAgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTEwMCIsIGNoaWxkcmVuOiBbX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBzaHJpbmstMCIgfSksIF9qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogInRleHQtc20gZm9udC1ib2xkIHRleHQtc2xhdGUtNzAwIiwgY2hpbGRyZW46IGl0ZW0gfSldIH0sIGlkeCkpKSB9KSwgX2pzeCgiaDIiLCB7IGNoaWxkcmVuOiAiXHUwNDI3XHUwNDMwXHUwNDQxXHUwNDQyXHUwNDNFIFx1MDQzN1x1MDQzMFx1MDQzNFx1MDQzMFx1MDQzMlx1MDQzMFx1MDQzNVx1MDQzQ1x1MDQ0Qlx1MDQzNSBcdTA0MzJcdTA0M0VcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0NDFcdTA0NEIiIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTQiLCBjaGlsZHJlbjogW19qc3hzKCJkZXRhaWxzIiwgeyBjaGlsZHJlbjogW19qc3goInN1bW1hcnkiLCB7IGNoaWxkcmVuOiAiXHUwNDFGXHUwNDNFXHUwNDQ3XHUwNDM1XHUwNDNDXHUwNDQzIEREUjUgUkRJTU0gXHUwNDM0XHUwNDNFXHUwNDQwXHUwNDNFXHUwNDM2XHUwNDMwXHUwNDM1XHUwNDQyIFx1MDQzMVx1MDQ0Qlx1MDQ0MVx1MDQ0Mlx1MDQ0MFx1MDQzNVx1MDQzNSBcdTA0MzRcdTA0NDBcdTA0NDNcdTA0MzNcdTA0MzhcdTA0NDUgXHUwNDNBXHUwNDNFXHUwNDNDXHUwNDNGXHUwNDNFXHUwNDNEXHUwNDM1XHUwNDNEXHUwNDQyXHUwNDNFXHUwNDMyPyIgfSksIF9qc3goImRpdiIsIHsgY2hpbGRyZW46ICJcdTA0MUZcdTA0NDBcdTA0M0VcdTA0MzhcdTA0MzdcdTA0MzJcdTA0M0VcdTA0MzRcdTA0NDFcdTA0NDJcdTA0MzJcdTA0M0UgXHUwNDNGXHUwNDM1XHUwNDQwXHUwNDM1XHUwNDNFXHUwNDQwXHUwNDM4XHUwNDM1XHUwNDNEXHUwNDQyXHUwNDM4XHUwNDQwXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDNEXHUwNDNFIFx1MDQzRFx1MDQzMCBIQk0gXHUwNDM0XHUwNDNCXHUwNDRGIEFJLiBcdTA0MjFcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M0RcdTA0MzBcdTA0NEYgRERSNSBcdTA0M0ZcdTA0M0VcdTA0M0JcdTA0NDNcdTA0NDdcdTA0MzBcdTA0MzVcdTA0NDIgXHUwNDNDXHUwNDM1XHUwNDNEXHUwNDRDXHUwNDQ4XHUwNDM1IFx1MDQzQ1x1MDQzRVx1MDQ0OVx1MDQzRFx1MDQzRVx1MDQ0MVx1MDQ0Mlx1MDQzNVx1MDQzOSBcdTIwMTQgXHUwNDNFXHUwNDQyXHUwNDQxXHUwNDRFXHUwNDM0XHUwNDMwIFx1MDQ0MFx1MDQzRVx1MDQ0MVx1MDQ0MiA+NjAlIFFvUSAoVHJlbmRGb3JjZSkuIiB9KV0gfSksIF9qc3hzKCJkZXRhaWxzIiwgeyBjaGlsZHJlbjogW19qc3goInN1bW1hcnkiLCB7IGNoaWxkcmVuOiAiXHUwNDFBXHUwNDNFXHUwNDMzXHUwNDM0XHUwNDMwIFx1MDQ0Nlx1MDQzNVx1MDQzRFx1MDQ0QiBcdTA0M0RcdTA0MzAgRERSNSBSRElNTSBcdTA0NDFcdTA0NDJcdTA0MzBcdTA0MzFcdTA0MzhcdTA0M0JcdTA0MzhcdTA0MzdcdTA0MzhcdTA0NDBcdTA0NDNcdTA0NEVcdTA0NDJcdTA0NDFcdTA0NEY\/IiB9KSwgX2pzeCgiZGl2IiwgeyBjaGlsZHJlbjogIlx1MDQyMVx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzOFx1MDQzQlx1MDQzOFx1MDQzN1x1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0RiBcdTA0MzFcdTA0M0JcdTA0MzhcdTA0MzZcdTA0MzUgXHUwNDNBIFEzXHUyMDEzUTQgMjAyNiwgXHUwNDNEXHUwNDNFIFx1MDQzN1x1MDQzRFx1MDQzMFx1MDQ0N1x1MDQzOFx1MDQ0Mlx1MDQzNVx1MDQzQlx1MDQ0Q1x1MDQzRFx1MDQzRVx1MDQzM1x1MDQzRSBcdTA0NDFcdTA0M0RcdTA0MzhcdTA0MzZcdTA0MzVcdTA0M0RcdTA0MzhcdTA0NEYgXHUwNDNEXHUwNDM1IFx1MDQzNlx1MDQzNFx1MDQzOFx1MDQ0Mlx1MDQzNSBcdTIwMTQgXHUwNDNEXHUwNDNFXHUwNDMyXHUwNDRCXHUwNDM5IFx1MDQ0M1x1MDQ0MFx1MDQzRVx1MDQzMlx1MDQzNVx1MDQzRFx1MDQ0QyBcdTA0NDZcdTA0MzVcdTA0M0QgXHUwNDMxXHUwNDQzXHUwNDM0XHUwNDM1XHUwNDQyIFx1MDQzMlx1MDQ0Qlx1MDQ0OFx1MDQzNSAyMDI0XHUyMDEzMjAyNS4iIH0pXSB9KSwgX2pzeHMoImRldGFpbHMiLCB7IGNoaWxkcmVuOiBbX2pzeCgic3VtbWFyeSIsIHsgY2hpbGRyZW46ICJcdTA0MjFcdTA0NDJcdTA0M0VcdTA0MzhcdTA0NDIgXHUwNDNCXHUwNDM4IFx1MDQzNlx1MDQzNFx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0NDFcdTA0M0RcdTA0MzhcdTA0MzZcdTA0MzVcdTA0M0RcdTA0MzhcdTA0NEYgXHUwNDQ2XHUwNDM1XHUwNDNEIFx1MDQzMiAyMDI2PyIgfSksIF9qc3goImRpdiIsIHsgY2hpbGRyZW46ICJcdTA0MTIgXHUwNDNGXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDNFXHUwNDM5IFx1MDQzRlx1MDQzRVx1MDQzQlx1MDQzRVx1MDQzMlx1MDQzOFx1MDQzRFx1MDQzNSBcdTIwMTQgXHUwNDNEXHUwNDM1XHUwNDQyLCBcdTA0NDZcdTA0MzVcdTA0M0RcdTA0NEIgXHUwNDNGXHUwNDQwXHUwNDNFXHUwNDM0XHUwNDNFXHUwNDNCXHUwNDM2XHUwNDMwXHUwNDQyIFx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQ0Mlx1MDQzOC4gXHUwNDFCXHUwNDQzXHUwNDQ3XHUwNDQ4XHUwNDM1IFx1MDQzN1x1MDQzMFx1MDQzQVx1MDQ0M1x1MDQzRlx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0MzdcdTA0MzBcdTA0NDBcdTA0MzBcdTA0M0RcdTA0MzVcdTA0MzUgXHUwNDQxIFx1MDQzMVx1MDQ0MFx1MDQzRVx1MDQzRFx1MDQzOFx1MDQ0MFx1MDQzRVx1MDQzMlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQzNVx1MDQzQy4iIH0pXSB9KSwgX2pzeHMoImRldGFpbHMiLCB7IGNoaWxkcmVuOiBbX2pzeCgic3VtbWFyeSIsIHsgY2hpbGRyZW46ICJcdTA0MUNcdTA0M0VcdTA0MzZcdTA0M0RcdTA0M0UgXHUwNDNCXHUwNDM4IFx1MDQzRVx1MDQzMVx1MDQzRVx1MDQzOVx1MDQ0Mlx1MDQzOCBcdTA0NDBcdTA0M0VcdTA0NDFcdTA0NDIgXHUwNDQ2XHUwNDM1XHUwNDNEPyIgfSksIF9qc3goImRpdiIsIHsgY2hpbGRyZW46ICJcdTA0MTRcdTA0MzAgXHUyMDE0IFx1MDQzQ1x1MDQzMFx1MDQ0MVx1MDQ0OFx1MDQ0Mlx1MDQzMFx1MDQzMVx1MDQzOFx1MDQ0MFx1MDQzRVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0M0ZcdTA0M0UgXHUwNDQzXHUwNDM3XHUwNDNCXHUwNDMwXHUwNDNDIFx1MDQzRFx1MDQzMCA2NCBcdTA0MTNcdTA0MTEgUkRJTU0sIFx1MDQzOFx1MDQ0MVx1MDQzRlx1MDQzRVx1MDQzQlx1MDQ0Q1x1MDQzN1x1MDQzRVx1MDQzMlx1MDQzMFx1MDQ0Mlx1MDQ0QyBcdTA0MzNcdTA0MzhcdTA0MzFcdTA0NDBcdTA0MzhcdTA0MzRcdTA0M0RcdTA0NEJcdTA0MzUgXHUwNDNBXHUwNDNFXHUwNDNEXHUwNDQ0XHUwNDM4XHUwNDMzXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDM4IFJBTStTU0QgXHUwNDM4XHUwNDNCXHUwNDM4IFx1MDQzMlx1MDQ0MFx1MDQzNVx1MDQzQ1x1MDQzNVx1MDQzRFx1MDQzRFx1MDQzRSBcdTA0M0VcdTA0NDFcdTA0NDJcdTA0MzBcdTA0NDJcdTA0NENcdTA0NDFcdTA0NEYgXHUwNDNEXHUwNDMwIEREUjQuIiB9KV0gfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJldC1jdGEtYmxvY2siLCBjaGlsZHJlbjogW19qc3goImgzIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LTN4bCBmb250LWJsYWNrIG1iLTQgcC0wIHRleHQtd2hpdGUgYm9yZGVyLW5vbmUiLCBjaGlsZHJlbjogIlx1MDQxRlx1MDQzQlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQ0MFx1MDQ0M1x1MDQzNVx1MDQ0Mlx1MDQzNSBcdTA0MzdcdTA0MzBcdTA0M0FcdTA0NDNcdTA0M0ZcdTA0M0FcdTA0NDMgRERSNSBSRElNTT8gXHUwNDFEXHUwNDM1IFx1MDQzRlx1MDQzNVx1MDQ0MFx1MDQzNVx1MDQzRlx1MDQzQlx1MDQzMFx1MDQ0N1x1MDQzOFx1MDQzMlx1MDQzMFx1MDQzOVx1MDQ0Mlx1MDQzNSIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtYmx1ZS0xMDAgbWItOCIsIGNoaWxkcmVuOiAiXHUwNDFFXHUwNDQxXHUwNDQyXHUwNDMwXHUwNDMyXHUwNDRDXHUwNDQyXHUwNDM1IFx1MDQzN1x1MDQzMFx1MDQ0Rlx1MDQzMlx1MDQzQVx1MDQ0MyBcdTIwMTQgXHUwNDNFXHUwNDQyXHUwNDMyXHUwNDM1XHUwNDQyXHUwNDM4XHUwNDNDIFx1MDQzN1x1MDQzMCAxXHUyMDEzMiBcdTA0MzRcdTA0M0RcdTA0NEYgXHUwNDQxIFx1MDQzMFx1MDQzQVx1MDQ0Mlx1MDQ0M1x1MDQzMFx1MDQzQlx1MDQ0Q1x1MDQzRFx1MDQ0Qlx1MDQzQyBcdTA0M0ZcdTA0NDBcdTA0MzVcdTA0MzRcdTA0M0JcdTA0M0VcdTA0MzZcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzVcdTA0M0MgXHUwNDM4IFx1MDQzRlx1MDQ0MFx1MDQzRVx1MDQzM1x1MDQzRFx1MDQzRVx1MDQzN1x1MDQzRVx1MDQzQyBcdTA0M0ZcdTA0M0UgXHUwNDQxXHUwNDQwXHUwNDNFXHUwNDNBXHUwNDMwXHUwNDNDISIgfSksIF9qc3goImEiLCB7IGhyZWY6IEVYVEVSTkFMX0ZPUk1fVVJMLCBjbGFzc05hbWU6ICJldC1jdGEtYnV0dG9uIiwgdGFyZ2V0OiAiX2JsYW5rIiwgcmVsOiAibm9vcGVuZXIgbm9yZWZlcnJlciIsIGNoaWxkcmVuOiAiXHUwNDFGXHUwNDNFXHUwNDNCXHUwNDQzXHUwNDQ3XHUwNDM4XHUwNDQyXHUwNDRDIFx1MDQzQVx1MDQzRVx1MDQzRFx1MDQ0MVx1MDQ0M1x1MDQzQlx1MDQ0Q1x1MDQ0Mlx1MDQzMFx1MDQ0Nlx1MDQzOFx1MDQ0RSBcdTA0MzggXHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQ3XHUwNDUxXHUwNDQyIiB9KV0gfSldIH0pXSB9KSB9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWNlbnRlciBwYi0xMiIsIGNoaWxkcmVuOiBfanN4KCJidXR0b24iLCB7IG9uQ2xpY2s6IHNjcm9sbFRvVG9wLCBjbGFzc05hbWU6ICJ0ZXh0LXNsYXRlLTQwMCBob3Zlcjp0ZXh0LWJsdWUtNjAwIHRyYW5zaXRpb24tY29sb3JzIGZvbnQtYm9sZCB0ZXh0LXhzIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QiLCBjaGlsZHJlbjogIlx1MDQxMlx1MDQzNVx1MDQ0MFx1MDQzRFx1MDQ0M1x1MDQ0Mlx1MDQ0Q1x1MDQ0MVx1MDQ0RiBcdTA0M0EgXHUwNDNBXHUwNDNFXHUwNDNEXHUwNDQ0XHUwNDM4XHUwNDMzXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDQyXHUwNDNFXHUwNDQwXHUwNDQzIFx1MjE5MSIgfSkgfSldIH0pKTsKfTsK\",\"@\/components\/AdvisorForm\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnOwppbXBvcnQgeyBUYXNrVHlwZSB9IGZyb20gJ0AvdHlwZXMnOwppbXBvcnQgeyBnZXRERFI1UmVjb21tZW5kYXRpb24gfSBmcm9tICdAL3NlcnZpY2VzL2dlbWluaVNlcnZpY2UnOwpleHBvcnQgY29uc3QgQWR2aXNvckZvcm0gPSAoKSA9PiB7CiAgICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7CiAgICBjb25zdCBbcmVzdWx0LCBzZXRSZXN1bHRdID0gdXNlU3RhdGUobnVsbCk7CiAgICBjb25zdCBbc2NlbmFyaW8sIHNldFNjZW5hcmlvXSA9IHVzZVN0YXRlKHsKICAgICAgICB0YXNrVHlwZTogVGFza1R5cGUuU0VSVkVSLAogICAgICAgIHRpbWVzcGFuOiAnMy01IHllYXJzJywKICAgICAgICBidWRnZXQ6ICdNZWRpdW0nCiAgICB9KTsKICAgIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IGFzeW5jIChlKSA9PiB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHNldExvYWRpbmcodHJ1ZSk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgY29uc3QgcmVjID0gYXdhaXQgZ2V0RERSNVJlY29tbWVuZGF0aW9uKHNjZW5hcmlvKTsKICAgICAgICAgICAgc2V0UmVzdWx0KHJlYyk7CiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlYy1yZXN1bHQnKT8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlcnIpIHsKICAgICAgICAgICAgYWxlcnQoItCe0YjQuNCx0LrQsCDQsNC90LDQu9C40LfQsC4g0J\/QvtC20LDQu9GD0LnRgdGC0LAsINC\/0L7Qv9GA0L7QsdGD0LnRgtC1INC10YnQtSDRgNCw0LcuIik7CiAgICAgICAgfQogICAgICAgIGZpbmFsbHkgewogICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTsKICAgICAgICB9CiAgICB9OwogICAgY29uc3QgRVhURVJOQUxfRk9STV9VUkwgPSAiaHR0cHM6Ly9mb3Jtcy5vZmZpY2UuY29tL1BhZ2VzL1Jlc3BvbnNlUGFnZS5hc3B4P2lkPU04bmRPdmtPaTBLTDJualg1OVMzdDZSbHloQ1JySWRNcjROazZYVkEteDlVTWs5SlYwTTVWRFUyVmtjeVJsRTJNbEJRU1ZkSk9GTXpVeTR1IjsKICAgIHJldHVybiAoX2pzeHMoImRpdiIsIHsgaWQ6ICJyZXF1ZXN0LWNvbmZpZy1mb3JtIiwgY2xhc3NOYW1lOiAiYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC1bMnJlbV0gc2hhZG93LXhsIHNoYWRvdy1zbGF0ZS0yMDAvNDAgb3ZlcmZsb3ctaGlkZGVuIiwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJweC04IHB5LTYgYmctc2xhdGUtNTAgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTEwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4iLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNoaWxkcmVuOiBbX2pzeCgiaDMiLCB7IGNsYXNzTmFtZTogImZvbnQtZXh0cmFib2xkIHRleHQtc2xhdGUtOTAwIHVwcGVyY2FzZSB0cmFja2luZy10aWdodCIsIGNoaWxkcmVuOiAiQUkgXHUwNDFBXHUwNDNFXHUwNDNEXHUwNDQ0XHUwNDM4XHUwNDMzXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDQyXHUwNDNFXHUwNDQwIC8vIFx1MDQyMFx1MDQzMFx1MDQ0MVx1MDQ0N1x1MDQzNVx1MDQ0MiAxXHUwNDIxIiB9KSwgX2pzeCgicCIsIHsgY2xhc3NOYW1lOiAidGV4dC1bMTBweF0gZm9udC1ib2xkIHRleHQtYmx1ZS02MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCBtdC0wLjUiLCBjaGlsZHJlbjogIlx1MDQxRlx1MDQzMFx1MDQ0MFx1MDQzMFx1MDQzQ1x1MDQzNVx1MDQ0Mlx1MDQ0MFx1MDQ0QiBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzJcdTA0MzVcdTA0NDBcdTA0M0RcdTA0M0VcdTA0MzkgXHUwNDM4XHUwNDNEXHUwNDQ0XHUwNDQwXHUwNDMwXHUwNDQxXHUwNDQyXHUwNDQwXHUwNDQzXHUwNDNBXHUwNDQyXHUwNDQzXHUwNDQwXHUwNDRCIiB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggc3BhY2UteC0xLjUiLCBjaGlsZHJlbjogW19qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAidy0yLjUgaC0yLjUgcm91bmRlZC1mdWxsIGJnLXNsYXRlLTIwMCIgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAidy0yLjUgaC0yLjUgcm91bmRlZC1mdWxsIGJnLXNsYXRlLTIwMCIgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAidy0yLjUgaC0yLjUgcm91bmRlZC1mdWxsIGJnLWJsdWUtNTAwIiB9KV0gfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJwLTggc206cC0xMiIsIGNoaWxkcmVuOiBbX2pzeHMoImZvcm0iLCB7IG9uU3VibWl0OiBoYW5kbGVTdWJtaXQsIGNsYXNzTmFtZTogInNwYWNlLXktOCIsIGNoaWxkcmVuOiBbX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAiZ3JpZCBtZDpncmlkLWNvbHMtMyBnYXAtOCIsIGNoaWxkcmVuOiBbX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS0zIiwgY2hpbGRyZW46IFtfanN4KCJsYWJlbCIsIHsgY2xhc3NOYW1lOiAidGV4dC1bMTBweF0gZm9udC1ibGFjayB0ZXh0LXNsYXRlLTQwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IGJsb2NrIiwgY2hpbGRyZW46ICJcdTA0MURcdTA0MzBcdTA0MzdcdTA0M0RcdTA0MzBcdTA0NDdcdTA0MzVcdTA0M0RcdTA0MzhcdTA0MzUgXHUwNDQxXHUwNDM1XHUwNDQwXHUwNDMyXHUwNDM1XHUwNDQwXHUwNDMwIiB9KSwgX2pzeCgic2VsZWN0IiwgeyBjbGFzc05hbWU6ICJ3LWZ1bGwgYmctc2xhdGUtNTAgYm9yZGVyIGJvcmRlci1zbGF0ZS0yMDAgcm91bmRlZC14bCBweC00IHB5LTMuNSB0ZXh0LXNsYXRlLTcwMCBmb250LXNlbWlib2xkIGZvY3VzOnJpbmctMiBmb2N1czpyaW5nLWJsdWUtMTAwIGZvY3VzOmJvcmRlci1ibHVlLTUwMCB0cmFuc2l0aW9uLWFsbCBjdXJzb3ItcG9pbnRlciBvdXRsaW5lLW5vbmUiLCB2YWx1ZTogc2NlbmFyaW8udGFza1R5cGUsIG9uQ2hhbmdlOiAoZSkgPT4gc2V0U2NlbmFyaW8oeyAuLi5zY2VuYXJpbywgdGFza1R5cGU6IGUudGFyZ2V0LnZhbHVlIH0pLCBjaGlsZHJlbjogT2JqZWN0LnZhbHVlcyhUYXNrVHlwZSkubWFwKHQgPT4gX2pzeCgib3B0aW9uIiwgeyB2YWx1ZTogdCwgY2hpbGRyZW46IHQgfSwgdCkpIH0pXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAic3BhY2UteS0zIiwgY2hpbGRyZW46IFtfanN4KCJsYWJlbCIsIHsgY2xhc3NOYW1lOiAidGV4dC1bMTBweF0gZm9udC1ibGFjayB0ZXh0LXNsYXRlLTQwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IGJsb2NrIiwgY2hpbGRyZW46ICJcdTA0MjFcdTA0NDBcdTA0M0VcdTA0M0EgXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDNCXHUwNDQzXHUwNDMwXHUwNDQyXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDM4IiB9KSwgX2pzeHMoInNlbGVjdCIsIHsgY2xhc3NOYW1lOiAidy1mdWxsIGJnLXNsYXRlLTUwIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIHJvdW5kZWQteGwgcHgtNCBweS0zLjUgdGV4dC1zbGF0ZS03MDAgZm9udC1zZW1pYm9sZCBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1ibHVlLTEwMCBmb2N1czpib3JkZXItYmx1ZS01MDAgdHJhbnNpdGlvbi1hbGwgY3Vyc29yLXBvaW50ZXIgb3V0bGluZS1ub25lIiwgdmFsdWU6IHNjZW5hcmlvLnRpbWVzcGFuLCBvbkNoYW5nZTogKGUpID0+IHNldFNjZW5hcmlvKHsgLi4uc2NlbmFyaW8sIHRpbWVzcGFuOiBlLnRhcmdldC52YWx1ZSB9KSwgY2hpbGRyZW46IFtfanN4KCJvcHRpb24iLCB7IHZhbHVlOiAiMS0yIHllYXJzIiwgY2hpbGRyZW46ICIxLTIgXHUwNDMzXHUwNDNFXHUwNDM0XHUwNDMwIChcdTA0MjJcdTA0MzVcdTA0M0FcdTA0NDNcdTA0NDlcdTA0MzhcdTA0MzUgXHUwNDM3XHUwNDMwXHUwNDM0XHUwNDMwXHUwNDQ3XHUwNDM4KSIgfSksIF9qc3goIm9wdGlvbiIsIHsgdmFsdWU6ICIzLTUgeWVhcnMiLCBjaGlsZHJlbjogIjMtNSBcdTA0M0JcdTA0MzVcdTA0NDIgKFx1MDQyMVx1MDQ0Mlx1MDQzMFx1MDQzRFx1MDQzNFx1MDQzMFx1MDQ0MFx1MDQ0Mlx1MDQzRFx1MDQ0Qlx1MDQzOSBcdTA0NDZcdTA0MzhcdTA0M0FcdTA0M0IpIiB9KSwgX2pzeCgib3B0aW9uIiwgeyB2YWx1ZTogIjUrIHllYXJzIiwgY2hpbGRyZW46ICI1KyBcdTA0M0JcdTA0MzVcdTA0NDIgKFx1MDQyMSBcdTA0MzdcdTA0MzBcdTA0M0ZcdTA0MzBcdTA0NDFcdTA0M0VcdTA0M0MgXHUwNDNEXHUwNDMwIFx1MDQ0MFx1MDQzRVx1MDQ0MVx1MDQ0MikiIH0pXSB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogInNwYWNlLXktMyIsIGNoaWxkcmVuOiBbX2pzeCgibGFiZWwiLCB7IGNsYXNzTmFtZTogInRleHQtWzEwcHhdIGZvbnQtYmxhY2sgdGV4dC1zbGF0ZS00MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCBibG9jayIsIGNoaWxkcmVuOiAiXHUwNDExXHUwNDRFXHUwNDM0XHUwNDM2XHUwNDM1XHUwNDQyXHUwNDNEXHUwNDMwXHUwNDRGIFx1MDQzRlx1MDQzRVx1MDQzQlx1MDQzOFx1MDQ0Mlx1MDQzOFx1MDQzQVx1MDQzMCIgfSksIF9qc3hzKCJzZWxlY3QiLCB7IGNsYXNzTmFtZTogInctZnVsbCBiZy1zbGF0ZS01MCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCByb3VuZGVkLXhsIHB4LTQgcHktMy41IHRleHQtc2xhdGUtNzAwIGZvbnQtc2VtaWJvbGQgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS0xMDAgZm9jdXM6Ym9yZGVyLWJsdWUtNTAwIHRyYW5zaXRpb24tYWxsIGN1cnNvci1wb2ludGVyIG91dGxpbmUtbm9uZSIsIHZhbHVlOiBzY2VuYXJpby5idWRnZXQsIG9uQ2hhbmdlOiAoZSkgPT4gc2V0U2NlbmFyaW8oeyAuLi5zY2VuYXJpbywgYnVkZ2V0OiBlLnRhcmdldC52YWx1ZSB9KSwgY2hpbGRyZW46IFtfanN4KCJvcHRpb24iLCB7IHZhbHVlOiAiVGlnaHQiLCBjaGlsZHJlbjogIlx1MDQxQ1x1MDQzOFx1MDQzRFx1MDQzOFx1MDQzQ1x1MDQ0M1x1MDQzQyAoXHUwNDIyXHUwNDNFXHUwNDNCXHUwNDRDXHUwNDNBXHUwNDNFIFx1MDQzRFx1MDQzNVx1MDQzRVx1MDQzMVx1MDQ0NVx1MDQzRVx1MDQzNFx1MDQzOFx1MDQzQ1x1MDQzRVx1MDQzNSkiIH0pLCBfanN4KCJvcHRpb24iLCB7IHZhbHVlOiAiTWVkaXVtIiwgY2hpbGRyZW46ICJcdTA0MTFcdTA0MzBcdTA0M0JcdTA0MzBcdTA0M0RcdTA0NDEgKFx1MDQxN1x1MDQzRVx1MDQzQlx1MDQzRVx1MDQ0Mlx1MDQzMFx1MDQ0RiBcdTA0NDFcdTA0MzVcdTA0NDBcdTA0MzVcdTA0MzRcdTA0MzhcdTA0M0RcdTA0MzApIiB9KSwgX2pzeCgib3B0aW9uIiwgeyB2YWx1ZTogIkhpZ2giLCBjaGlsZHJlbjogIlx1MDQxQ1x1MDQzMFx1MDQzQVx1MDQ0MVx1MDQzOFx1MDQzQ1x1MDQ0M1x1MDQzQyAoXHUwNDFGXHUwNDQwXHUwNDNFXHUwNDM4XHUwNDM3XHUwNDMyXHUwNDNFXHUwNDM0XHUwNDM4XHUwNDQyXHUwNDM1XHUwNDNCXHUwNDRDXHUwNDNEXHUwNDNFXHUwNDQxXHUwNDQyXHUwNDRDIFx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M0FcdTA0M0VcdTA0M0NcdTA0M0ZcdTA0NDBcdTA0M0VcdTA0M0NcdTA0MzhcdTA0NDFcdTA0NDFcdTA0M0VcdTA0MzIpIiB9KV0gfSldIH0pXSB9KSwgX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBnYXAtNCIsIGNoaWxkcmVuOiBbX2pzeCgiYnV0dG9uIiwgeyB0eXBlOiAic3VibWl0IiwgZGlzYWJsZWQ6IGxvYWRpbmcsIGNsYXNzTmFtZTogYGZsZXgtMSBweS01IHJvdW5kZWQtMnhsIGZvbnQtYmxhY2sgdGV4dC13aGl0ZSBzaGFkb3ctbGcgc2hhZG93LWJsdWUtMjAwIHRyYW5zaXRpb24tYWxsICR7bG9hZGluZyA\/ICdiZy1zbGF0ZS0zMDAgY3Vyc29yLW5vdC1hbGxvd2VkJyA6ICdiZy1ibHVlLTYwMCBob3ZlcjpiZy1ibHVlLTcwMCBhY3RpdmU6c2NhbGUtWzAuOThdJ31gLCBjaGlsZHJlbjogbG9hZGluZyA\/IChfanN4cygic3BhbiIsIHsgY2xhc3NOYW1lOiAiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LXhzIiwgY2hpbGRyZW46IFtfanN4cygic3ZnIiwgeyBjbGFzc05hbWU6ICJhbmltYXRlLXNwaW4gaC00IHctNCBtci0zIiwgdmlld0JveDogIjAgMCAyNCAyNCIsIGNoaWxkcmVuOiBbX2pzeCgiY2lyY2xlIiwgeyBjbGFzc05hbWU6ICJvcGFjaXR5LTI1IiwgY3g6ICIxMiIsIGN5OiAiMTIiLCByOiAiMTAiLCBzdHJva2U6ICJjdXJyZW50Q29sb3IiLCBzdHJva2VXaWR0aDogIjQiIH0pLCBfanN4KCJwYXRoIiwgeyBjbGFzc05hbWU6ICJvcGFjaXR5LTc1IiwgZmlsbDogImN1cnJlbnRDb2xvciIsIGQ6ICJNNCAxMmE4IDggMCAwMTgtOFYwQzUuMzczIDAgMCA1LjM3MyAwIDEyaDR6bTIgNS4yOTFBNy45NjIgNy45NjIgMCAwMTQgMTJIMGMwIDMuMDQyIDEuMTM1IDUuODI0IDMgNy45MzhsMy0yLjY0N3oiIH0pXSB9KSwgIlx1MDQxMFx1MDQzRFx1MDQzMFx1MDQzQlx1MDQzOFx1MDQzNy4uLiJdIH0pKSA6IChfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJ1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQteHMiLCBjaGlsZHJlbjogIkFJIFx1MDQxMFx1MDQzRFx1MDQzMFx1MDQzQlx1MDQzOFx1MDQzNyBcdTA0MjFcdTA0NDZcdTA0MzVcdTA0M0RcdTA0MzBcdTA0NDBcdTA0MzhcdTA0NEYiIH0pKSB9KSwgX2pzeCgiYSIsIHsgaHJlZjogRVhURVJOQUxfRk9STV9VUkwsIHRhcmdldDogIl9ibGFuayIsIHJlbDogIm5vb3BlbmVyIG5vcmVmZXJyZXIiLCBjbGFzc05hbWU6ICJmbGV4LTEgcHktNSByb3VuZGVkLTJ4bCBmb250LWJsYWNrIHRleHQtY2VudGVyIHRleHQtc2xhdGUtOTAwIGJvcmRlci0yIGJvcmRlci1zbGF0ZS05MDAgaG92ZXI6Ymctc2xhdGUtOTAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1hbGwgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LXhzIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIiwgY2hpbGRyZW46ICJcdTA0MUZcdTA0M0VcdTA0M0JcdTA0NDNcdTA0NDdcdTA0MzhcdTA0NDJcdTA0NEMgXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDNEXHUwNDRCXHUwNDM5IFx1MDQ0MFx1MDQzMFx1MDQ0MVx1MDQ0N1x1MDQzNVx1MDQ0MiIgfSldIH0pXSB9KSwgcmVzdWx0ICYmIChfanN4KCJkaXYiLCB7IGlkOiAicmVjLXJlc3VsdCIsIGNsYXNzTmFtZTogIm10LTEyIHAtOCBiZy1ibHVlLTUwLzMwIHJvdW5kZWQtWzJyZW1dIGJvcmRlciBib3JkZXItYmx1ZS0xMDAgYW5pbWF0ZS1pbiBmYWRlLWluIHNsaWRlLWluLWZyb20tYm90dG9tLTQgZHVyYXRpb24tNTAwIiwgY2hpbGRyZW46IF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgZ2FwLTEwIiwgY2hpbGRyZW46IFtfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtZDp3LTEvMyIsIGNoaWxkcmVuOiBbX2pzeHMoImRpdiIsIHsgY2xhc3NOYW1lOiAibWItNiIsIGNoaWxkcmVuOiBbX2pzeCgiaDUiLCB7IGNsYXNzTmFtZTogInRleHQtWzEwcHhdIGZvbnQtYmxhY2sgdGV4dC1ibHVlLTYwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IG1iLTIiLCBjaGlsZHJlbjogIlx1MDQyMFx1MDQzNVx1MDQzQVx1MDQzRVx1MDQzQ1x1MDQzNVx1MDQzRFx1MDQzNFx1MDQ0M1x1MDQzNVx1MDQzQ1x1MDQzMFx1MDQ0RiBcdTA0NDFcdTA0NDJcdTA0NDBcdTA0MzBcdTA0NDJcdTA0MzVcdTA0MzNcdTA0MzhcdTA0NEYiIH0pLCBfanN4KCJkaXYiLCB7IGNsYXNzTmFtZTogInRleHQtMnhsIGZvbnQtYmxhY2sgdGV4dC1zbGF0ZS05MDAgbGVhZGluZy10aWdodCIsIGNoaWxkcmVuOiByZXN1bHQuc3RyYXRlZ3kgfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJzcGFjZS15LTQiLCBjaGlsZHJlbjogW19qc3hzKCJkaXYiLCB7IGNoaWxkcmVuOiBbX2pzeCgiaDYiLCB7IGNsYXNzTmFtZTogInRleHQtWzEwcHhdIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTQwMCB1cHBlcmNhc2UgbWItMSIsIGNoaWxkcmVuOiAiXHUwNDFBXHUwNDNFXHUwNDNEXHUwNDQ0XHUwNDM4XHUwNDMzXHUwNDQzXHUwNDQwXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRGIFx1MDQzQ1x1MDQzRVx1MDQzNFx1MDQ0M1x1MDQzQlx1MDQzNVx1MDQzOSIgfSksIF9qc3goInAiLCB7IGNsYXNzTmFtZTogInRleHQtc2xhdGUtNzAwIGZvbnQtYm9sZCB0ZXh0LXNtIGxlYWRpbmctcmVsYXhlZCIsIGNoaWxkcmVuOiByZXN1bHQuY29uZmlndXJhdGlvbiB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNoaWxkcmVuOiBbX2pzeCgiaDYiLCB7IGNsYXNzTmFtZTogInRleHQtWzEwcHhdIGZvbnQtYm9sZCB0ZXh0LXNsYXRlLTQwMCB1cHBlcmNhc2UgbWItMiIsIGNoaWxkcmVuOiAiXHUwNDI0XHUwNDMwXHUwNDNBXHUwNDQyXHUwNDNFXHUwNDQwXHUwNDRCIFx1MDQ0MFx1MDQzOFx1MDQ0MVx1MDQzQVx1MDQzMCIgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiZmxleCBmbGV4LXdyYXAgZ2FwLTIiLCBjaGlsZHJlbjogcmVzdWx0LnJpc2tGYWN0b3JzLm1hcCgocmlzaywgaWR4KSA9PiAoX2pzeHMoInNwYW4iLCB7IGNsYXNzTmFtZTogImJnLXdoaXRlIHRleHQtc2xhdGUtNjAwIHRleHQtWzlweF0gcHgtMi41IHB5LTEgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBmb250LWJvbGQiLCBjaGlsZHJlbjogWyJcdTIwMjIgIiwgcmlza10gfSwgaWR4KSkpIH0pXSB9KV0gfSldIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtZDp3LTIvMyBib3JkZXItbCBib3JkZXItc2xhdGUtMjAwIG1kOnBsLTEwIiwgY2hpbGRyZW46IFtfanN4KCJoNSIsIHsgY2xhc3NOYW1lOiAidGV4dC1bMTBweF0gZm9udC1ibGFjayB0ZXh0LWJsdWUtNjAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QgbWItNCIsIGNoaWxkcmVuOiAiXHUwNDFFXHUwNDMxXHUwNDNFXHUwNDQxXHUwNDNEXHUwNDNFXHUwNDMyXHUwNDMwXHUwNDNEXHUwNDM4XHUwNDM1IFx1MDQ0MFx1MDQzNVx1MDQ0OFx1MDQzNVx1MDQzRFx1MDQzOFx1MDQ0RiIgfSksIF9qc3hzKCJwIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LXNsYXRlLTYwMCBsZWFkaW5nLXJlbGF4ZWQgdGV4dC1sZyBpdGFsaWMiLCBjaGlsZHJlbjogWyJcIiIsIHJlc3VsdC5yZWFzb25pbmcsICJcIiJdIH0pLCBfanN4cygiZGl2IiwgeyBjbGFzc05hbWU6ICJtdC0xMCBncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIGdhcC00IiwgY2hpbGRyZW46IFtfanN4cygiYSIsIHsgaHJlZjogRVhURVJOQUxfRk9STV9VUkwsIHRhcmdldDogIl9ibGFuayIsIGNsYXNzTmFtZTogImJnLWJsdWUtNjAwIGhvdmVyOmJnLWJsdWUtNzAwIHRleHQtd2hpdGUgcC01IHJvdW5kZWQtMnhsIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIHRyYW5zaXRpb24tYWxsIHNoYWRvdy1tZCBzaGFkb3ctYmx1ZS0xMDAiLCBjaGlsZHJlbjogW19qc3goInNwYW4iLCB7IGNsYXNzTmFtZTogInRleHQtWzlweF0gZm9udC1ib2xkIHRleHQtYmx1ZS0xMDAgdXBwZXJjYXNlIG1iLTIiLCBjaGlsZHJlbjogIlx1MDQyMVx1MDQzMlx1MDQ0Rlx1MDQzN1x1MDQzMFx1MDQ0Mlx1MDQ0Q1x1MDQ0MVx1MDQ0RiBcdTA0NDEgXHUwNDREXHUwNDNBXHUwNDQxXHUwNDNGXHUwNDM1XHUwNDQwXHUwNDQyXHUwNDNFXHUwNDNDIiB9KSwgX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAidGV4dC1sZyBmb250LWJsYWNrIHRyYWNraW5nLXRpZ2h0IiwgY2hpbGRyZW46ICJcdTA0MUVcdTA0MzFcdTA0NDFcdTA0NDNcdTA0MzRcdTA0MzhcdTA0NDJcdTA0NEMgXHUwNDQxXHUwNDNGXHUwNDM1XHUwNDQ2XHUwNDM4XHUwNDQ0XHUwNDM4XHUwNDNBXHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDRFIiB9KV0gfSksIF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogImJnLXdoaXRlIHAtNSByb3VuZGVkLTJ4bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCBmbGV4IGZsZXgtY29sIGp1c3RpZnktYmV0d2VlbiIsIGNoaWxkcmVuOiBbX2pzeCgic3BhbiIsIHsgY2xhc3NOYW1lOiAidGV4dC1bOXB4XSBmb250LWJvbGQgdGV4dC1zbGF0ZS00MDAgdXBwZXJjYXNlIG1iLTIiLCBjaGlsZHJlbjogIlx1MDQxRlx1MDQzQlx1MDQzMFx1MDQzRFx1MDQzOFx1MDQ0MFx1MDQ0M1x1MDQzNVx1MDQzQ1x1MDQ0Qlx1MDQzOSBcdTA0MzdcdTA0MzBcdTA0M0ZcdTA0NDNcdTA0NDFcdTA0M0EiIH0pLCBfanN4KCJzcGFuIiwgeyBjbGFzc05hbWU6ICJ0ZXh0LWxnIGZvbnQtYmxhY2sgdGV4dC1zbGF0ZS04MDAiLCBjaGlsZHJlbjogcmVzdWx0LnRpbWluZyB9KV0gfSldIH0pXSB9KV0gfSkgfSkpXSB9KV0gfSkpOwp9Owo=\",\"@\/App\":\"data:application\/javascript;base64,aW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tICJyZWFjdC9qc3gtcnVudGltZSI7CmltcG9ydCB7IEFydGljbGVTZWN0aW9uIH0gZnJvbSAnQC9jb21wb25lbnRzL0FydGljbGVTZWN0aW9uJzsKaW1wb3J0IHsgQWR2aXNvckZvcm0gfSBmcm9tICdAL2NvbXBvbmVudHMvQWR2aXNvckZvcm0nOwpjb25zdCBBcHAgPSAoKSA9PiB7CiAgICByZXR1cm4gKF9qc3hzKCJkaXYiLCB7IGNsYXNzTmFtZTogIm1pbi1oLXNjcmVlbiBiZy1bI2Y4ZmFmY10gdGV4dC1zbGF0ZS04MDAgZm9udC1zYW5zIHNlbGVjdGlvbjpiZy1ibHVlLTEwMCBzZWxlY3Rpb246dGV4dC1ibHVlLTkwMCIsIGNoaWxkcmVuOiBbX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJmaXhlZCBpbnNldC0wIHBvaW50ZXItZXZlbnRzLW5vbmUgb3BhY2l0eS1bMC4wM10gYmctW3VybCgnaHR0cHM6Ly93d3cudHJhbnNwYXJlbnR0ZXh0dXJlcy5jb20vcGF0dGVybnMvY3ViZXMucG5nJyldIHotMCIgfSksIF9qc3goImRpdiIsIHsgY2xhc3NOYW1lOiAiZml4ZWQgdG9wLTAgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiB3LVsxMDAwcHhdIGgtWzQwMHB4XSBiZy1ibHVlLTUwMC81IGJsdXItWzEyMHB4XSByb3VuZGVkLWZ1bGwgcG9pbnRlci1ldmVudHMtbm9uZSB6LTAiIH0pLCBfanN4cygibWFpbiIsIHsgY2xhc3NOYW1lOiAibWF4LXctNXhsIG14LWF1dG8gcHgtNCBzbTpweC02IHB0LTEyIHBiLTIwIHJlbGF0aXZlIHotMTAiLCBjaGlsZHJlbjogW19qc3goQWR2aXNvckZvcm0sIHt9KSwgX2pzeCgiZGl2IiwgeyBjbGFzc05hbWU6ICJtdC0xNiIsIGNoaWxkcmVuOiBfanN4KEFydGljbGVTZWN0aW9uLCB7fSkgfSksIF9qc3goImZvb3RlciIsIHsgY2xhc3NOYW1lOiAibXQtMjAgcHktMTAgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCB0ZXh0LXNsYXRlLTQwMCB0ZXh0LVsxMHB4XSBmb250LWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLVswLjJlbV0gdGV4dC1jZW50ZXIiLCBjaGlsZHJlbjogX2pzeCgicCIsIHsgY2hpbGRyZW46ICJcdTAwQTkgMjAyNiBFbGlzaHRlY2ggVGVjaG5vbG9neS4gXHUwNDIxXHUwNDM4XHUwNDQxXHUwNDQyXHUwNDM1XHUwNDNDXHUwNDNEXHUwNDMwXHUwNDRGIFx1MDQzOFx1MDQzRFx1MDQzNlx1MDQzNVx1MDQzRFx1MDQzNVx1MDQ0MFx1MDQzOFx1MDQ0RiBcdTA0MzggXHUwNDMwXHUwNDNEXHUwNDMwXHUwNDNCXHUwNDM4XHUwNDQyXHUwNDM4XHUwNDNBXHUwNDMwLiIgfSkgfSldIH0pXSB9KSk7Cn07CmV4cG9ydCBkZWZhdWx0IEFwcDsK\"}}<\/script>\n        <script>\n          window.APPLET_FILES = [\"index.tsx\",\"metadata.json\",\"index.html\",\"types.ts\",\"services\/geminiService.ts\",\"components\/ArticleSection.tsx\",\"components\/AdvisorForm.tsx\",\"App.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    const style = document.createElement('style');\n    style.textContent =\n      '.aistudio-focus-mode-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    document.head.appendChild(style);\n\n    let highlightedElement = null;\n    let focusTag = null;\n    let resizeObserver = null;\n    let iframeLoaded = false;\n\n    function positionFocusTag() {\n      if (!highlightedElement || !focusTag) return;\n      requestAnimationFrame(() => {\n        focusTag.style.display = 'inline-flex';\n        const rect = highlightedElement.getBoundingClientRect();\n        focusTag.style.top =\n          rect.top + window.scrollY - focusTag.offsetHeight - 5 + 'px';\n        focusTag.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 highlight(element) {\n      if (!iframeLoaded) return; \/\/ Do not highlight if iframe is not loaded\n      if (!focusTag) {\n        focusTag = document.createElement('div');\n        focusTag.id = 'aistudio-focus-mode-tag';\n        document.body.appendChild(focusTag);\n      }\n\n      const hadHighlightedElement = !!highlightedElement;\n      if (highlightedElement) {\n        highlightedElement.classList.remove('aistudio-focus-mode-highlight');\n        highlightedElement.removeAttribute('data-aistudio-tag-name');\n        if (resizeObserver) {\n          resizeObserver.unobserve(highlightedElement);\n        }\n      }\n      focusTag.style.display = 'none';\n      highlightedElement = element;\n      const hasHighlightedElement = !!highlightedElement;\n\n      if (!hadHighlightedElement && hasHighlightedElement) {\n        window.addEventListener('resize', positionFocusTag);\n        window.addEventListener('scroll', positionFocusTag, true);\n      } else if (hadHighlightedElement && !hasHighlightedElement) {\n        window.removeEventListener('resize', positionFocusTag);\n        window.removeEventListener('scroll', positionFocusTag, true);\n      }\n\n      if (highlightedElement) {\n        highlightedElement.setAttribute(\n          'data-aistudio-tag-name',\n          highlightedElement.tagName,\n        );\n        highlightedElement.classList.add('aistudio-focus-mode-highlight');\n        focusTag.textContent = highlightedElement.tagName.toLowerCase();\n        positionFocusTag();\n        if (resizeObserver) {\n          resizeObserver.observe(highlightedElement);\n        }\n      }\n    }\n\n    window.addEventListener('load', () => {\n      iframeLoaded = true;\n    });\n\n    window.addEventListener('message', async (event) => {\n      if (event.data?.type === 'highlight-element-at-point') {\n        try {\n          const element = document.elementFromPoint(\n            event.data.x,\n            event.data.y,\n          );\n          highlight(element);\n        } catch (e) {\n          highlight(null);\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            highlight(element);\n          } else {\n            highlight(null);\n          }\n        } catch (e) {\n          highlight(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 selector = getElementSelector(element);\n\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\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          hostPort.postMessage({\n            type: 'element-at-point-result',\n            element: {\n              selector: selector,\n              domString: domString,\n              css: css,\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>\u0413\u0434\u0435 \u043a\u0443\u043f\u0438\u0442\u044c DDR5 RDIMM 64\/128GB \u0432 2026: \u0410\u043d\u0430\u043b\u0438\u0437 \u0440\u044b\u043d\u043a\u0430 \u0438 \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430<\/title>\n  \n  <!-- SEO Meta Tags -->\n  <meta name=\"description\" content=\"\u0410\u043d\u0430\u043b\u0438\u0437 \u0440\u044b\u043d\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 NVMe SSD \u0432 2026 \u0433\u043e\u0434\u0443. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u043a\u0443\u043f\u043a\u0430\u043c \u0432 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430.\">\n  <meta name=\"keywords\" content=\"DDR5 RDIMM 64GB, enterprise SSD 30.72TB, \u0434\u0435\u0444\u0438\u0446\u0438\u0442 2026, \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e \u0420\u043e\u0441\u0441\u0438\u044f\">\n  \n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <style>\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');\n    \n    body { \n      font-family: 'Inter', sans-serif; \n      background-color: #f8fafc;\n      scroll-behavior: smooth;\n    }\n\n    .article-content h1 {\n      font-size: 3.5rem;\n      line-height: 1.1;\n      font-weight: 900;\n      color: #0f172a;\n      margin-bottom: 2rem;\n      letter-spacing: -0.04em;\n    }\n\n    @media (max-width: 768px) {\n      .article-content h1 { font-size: 2.25rem; }\n    }\n\n    .article-content h2 {\n      font-size: 2.25rem;\n      font-weight: 800;\n      color: #1e293b;\n      margin-top: 4rem;\n      margin-bottom: 1.5rem;\n      padding-bottom: 0.75rem;\n      border-bottom: 2px solid #f1f5f9;\n      letter-spacing: -0.02em;\n    }\n\n    .article-content h3 {\n      font-size: 1.6rem;\n      font-weight: 700;\n      color: #334155;\n      margin-top: 2.5rem;\n      margin-bottom: 1rem;\n    }\n\n    .article-content p {\n      font-size: 1.125rem;\n      line-height: 1.8;\n      color: #475569;\n      margin-bottom: 1.5rem;\n    }\n\n    .et-comparison-table {\n      width: 100%;\n      border-collapse: collapse;\n      margin: 2.5rem 0;\n      font-size: 0.95rem;\n      border-radius: 1.5rem;\n      overflow: hidden;\n      box-shadow: 0 10px 15px -3px rgb(0 0 0 \/ 0.05);\n    }\n\n    .et-comparison-table th {\n      background-color: #f8fafc;\n      color: #0f172a;\n      font-weight: 800;\n      text-align: left;\n      padding: 1.25rem;\n      border-bottom: 2px solid #e2e8f0;\n      text-transform: uppercase;\n      font-size: 0.75rem;\n      letter-spacing: 0.05em;\n    }\n\n    .et-comparison-table td {\n      padding: 1.25rem;\n      border-bottom: 1px solid #f1f5f9;\n      background: white;\n      vertical-align: middle;\n      color: #475569;\n    }\n\n    .highlight-row td {\n      background-color: #f0f9ff !important;\n      color: #0c4a6e !important;\n      font-weight: 600;\n    }\n\n    .highlight-mark {\n      background-color: #dcfce7;\n      color: #166534;\n      font-weight: 700;\n      padding: 0.2rem 0.4rem;\n      border-radius: 0.4rem;\n    }\n\n    details {\n      margin-bottom: 1rem;\n      border: 1px solid #e2e8f0;\n      border-radius: 1rem;\n      background: white;\n      transition: all 0.3s;\n    }\n\n    details:hover { border-color: #cbd5e1; }\n\n    summary {\n      padding: 1.25rem;\n      font-weight: 700;\n      cursor: pointer;\n      list-style: none;\n      color: #1e293b;\n      display: flex;\n      align-items: center;\n    }\n\n    summary::before {\n      content: \"\u2192\";\n      margin-right: 0.75rem;\n      color: #3b82f6;\n      font-weight: 900;\n      transition: transform 0.3s;\n    }\n\n    details[open] summary::before { transform: rotate(90deg); }\n\n    details div {\n      padding: 0 1.25rem 1.25rem 3.25rem;\n      color: #64748b;\n      line-height: 1.6;\n    }\n\n    .et-cta-block {\n      background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);\n      color: white;\n      padding: 4rem 2rem;\n      border-radius: 2.5rem;\n      margin-top: 4rem;\n      text-align: center;\n    }\n\n    .et-cta-button {\n      display: inline-block;\n      margin-top: 1.5rem;\n      padding: 1.25rem 2.5rem;\n      background: white;\n      color: #2563eb;\n      font-weight: 900;\n      border-radius: 999px;\n      text-decoration: none;\n      transition: all 0.2s;\n      text-transform: uppercase;\n      letter-spacing: 0.02em;\n    }\n\n    .et-cta-button:hover { \n      transform: translateY(-2px);\n      box-shadow: 0 10px 20px -5px rgba(0,0,0,0.2);\n    }\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}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0px}.left-1\\\/2{left:50%}.top-0{top:0px}.z-0{z-index:0}.z-10{z-index:10}.m-0{margin:0px}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-0\\.5{margin-top:0.125rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.h-2{height:0.5rem}.h-2\\.5{height:0.625rem}.h-\\[400px\\]{height:400px}.min-h-screen{min-height:100vh}.w-2{width:0.5rem}.w-2\\.5{width:0.625rem}.w-\\[1000px\\]{width:1000px}.w-full{width:100%}.max-w-5xl{max-width:64rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\\\/2{--tw-translate-x:-50%;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))}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-3{gap:0.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-1\\.5 > :not([hidden]) ~ :not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.375rem * var(--tw-space-x-reverse));margin-left:calc(0.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-12 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * 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-8 > :not([hidden]) ~ :not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-\\[2rem\\]{border-radius:2rem}.rounded-\\[3rem\\]{border-radius:3rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:0.75rem}.rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246 \/ var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249 \/ 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-900{--tw-border-opacity:1;border-color:rgb(15 23 42 \/ var(--tw-border-opacity, 1))}.bg-\\[\\#f8fafc\\]{--tw-bg-opacity:1;background-color:rgb(248 250 252 \/ 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-500{--tw-bg-opacity:1;background-color:rgb(59 130 246 \/ var(--tw-bg-opacity, 1))}.bg-blue-500\\\/5{background-color:rgb(59 130 246 \/ 0.05)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235 \/ var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240 \/ var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252 \/ 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-\\[url\\(\\'https\\:\\\/\\\/www\\.transparenttextures\\.com\\\/patterns\\\/cubes\\.png\\'\\)\\]{background-image:url('https:\/\/www.transparenttextures.com\/patterns\/cubes.png')}.p-0{padding:0px}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-3\\.5{padding-top:0.875rem;padding-bottom:0.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-12{padding-bottom:3rem}.pb-20{padding-bottom:5rem}.pl-6{padding-left:1.5rem}.pt-12{padding-top:3rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\\[10px\\]{font-size:10px}.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-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-\\[0\\.2em\\]{letter-spacing:0.2em}.tracking-tight{letter-spacing:-0.025em}.tracking-widest{letter-spacing:0.1em}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254 \/ var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235 \/ var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138 \/ var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184 \/ 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-slate-900{--tw-text-opacity:1;color:rgb(15 23 42 \/ var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 \/ var(--tw-text-opacity, 1))}.opacity-\\[0\\.03\\]{opacity:0.03}.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-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 \/ 0.1), 0 4px 6px -4px rgb(0 0 0 \/ 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px 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)}.shadow-blue-200{--tw-shadow-color:#bfdbfe;--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-200\\\/40{--tw-shadow-color:rgb(226 232 240 \/ 0.4);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur-\\[120px\\]{--tw-blur:blur(120px);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}.transition-colors{transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.selection\\:bg-blue-100 *::selection{--tw-bg-opacity:1;background-color:rgb(219 234 254 \/ var(--tw-bg-opacity, 1))}.selection\\:text-blue-900 *::selection{--tw-text-opacity:1;color:rgb(30 58 138 \/ var(--tw-text-opacity, 1))}.selection\\:bg-blue-100::selection{--tw-bg-opacity:1;background-color:rgb(219 234 254 \/ var(--tw-bg-opacity, 1))}.selection\\:text-blue-900::selection{--tw-text-opacity:1;color:rgb(30 58 138 \/ var(--tw-text-opacity, 1))}.hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216 \/ var(--tw-bg-opacity, 1))}.hover\\:bg-slate-900:hover{--tw-bg-opacity:1;background-color:rgb(15 23 42 \/ var(--tw-bg-opacity, 1))}.hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235 \/ var(--tw-text-opacity, 1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255 \/ var(--tw-text-opacity, 1))}.focus\\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246 \/ var(--tw-border-opacity, 1))}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254 \/ var(--tw-ring-opacity, 1))}.active\\:scale-\\[0\\.98\\]:active{--tw-scale-x:0.98;--tw-scale-y:0.98;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: 640px){.sm\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:p-12{padding:3rem}.sm\\:p-20{padding:5rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}}<\/style><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/html2canvas-pro\"><\/script><\/head>\n<body>\n  <div id=\"root\"><div class=\"min-h-screen bg-[#f8fafc] text-slate-800 font-sans selection:bg-blue-100 selection:text-blue-900\"><div class=\"fixed inset-0 pointer-events-none opacity-[0.03] bg-[url('https:\/\/www.transparenttextures.com\/patterns\/cubes.png')] z-0\"><\/div><div class=\"fixed top-0 left-1\/2 -translate-x-1\/2 w-[1000px] h-[400px] bg-blue-500\/5 blur-[120px] rounded-full pointer-events-none z-0\"><\/div><main class=\"max-w-5xl mx-auto px-4 sm:px-6 pt-12 pb-20 relative z-10\"><div id=\"request-config-form\" class=\"bg-white border border-slate-200 rounded-[2rem] shadow-xl shadow-slate-200\/40 overflow-hidden\"><div class=\"px-8 py-6 bg-slate-50 border-b border-slate-100 flex items-center justify-between\"><div><h3 class=\"font-extrabold text-slate-900 uppercase tracking-tight\">AI \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440 \/\/ \u0420\u0430\u0441\u0447\u0435\u0442 1\u0421<\/h3><p class=\"text-[10px] font-bold text-blue-600 uppercase tracking-widest mt-0.5\">\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/p><\/div><div class=\"flex space-x-1.5\"><div class=\"w-2.5 h-2.5 rounded-full bg-slate-200\"><\/div><div class=\"w-2.5 h-2.5 rounded-full bg-slate-200\"><\/div><div class=\"w-2.5 h-2.5 rounded-full bg-blue-500\"><\/div><\/div><\/div><div class=\"p-8 sm:p-12\"><form class=\"space-y-8\"><div class=\"grid md:grid-cols-3 gap-8\"><div class=\"space-y-3\"><label class=\"text-[10px] font-black text-slate-400 uppercase tracking-widest block\">\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/label><select class=\"w-full bg-slate-50 border border-slate-200 rounded-xl px-4 py-3.5 text-slate-700 font-semibold focus:ring-2 focus:ring-blue-100 focus:border-blue-500 transition-all cursor-pointer outline-none\"><option value=\"\u0413\u0435\u0439\u043c\u0438\u043d\u0433 \/ \u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\">\u0413\u0435\u0439\u043c\u0438\u043d\u0433 \/ \u0414\u043e\u043c\u0430\u0448\u043d\u0438\u0439 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442<\/option><option value=\"\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f (\u0412\u0438\u0434\u0435\u043e\/3D)\">\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u044f (\u0412\u0438\u0434\u0435\u043e\/3D)<\/option><option value=\"\u0421\u0435\u0440\u0432\u0435\u0440 \/ AI \u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\">\u0421\u0435\u0440\u0432\u0435\u0440 \/ AI \u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430<\/option><option value=\"\u041e\u0444\u0438\u0441 \/ \u0412\u0435\u0431-\u0441\u0435\u0440\u0444\u0438\u043d\u0433\">\u041e\u0444\u0438\u0441 \/ \u0412\u0435\u0431-\u0441\u0435\u0440\u0444\u0438\u043d\u0433<\/option><\/select><\/div><div class=\"space-y-3\"><label class=\"text-[10px] font-black text-slate-400 uppercase tracking-widest block\">\u0421\u0440\u043e\u043a \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438<\/label><select class=\"w-full bg-slate-50 border border-slate-200 rounded-xl px-4 py-3.5 text-slate-700 font-semibold focus:ring-2 focus:ring-blue-100 focus:border-blue-500 transition-all cursor-pointer outline-none\"><option value=\"1-2 years\">1-2 \u0433\u043e\u0434\u0430 (\u0422\u0435\u043a\u0443\u0449\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438)<\/option><option value=\"3-5 years\">3-5 \u043b\u0435\u0442 (\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0446\u0438\u043a\u043b)<\/option><option value=\"5+ years\">5+ \u043b\u0435\u0442 (\u0421 \u0437\u0430\u043f\u0430\u0441\u043e\u043c \u043d\u0430 \u0440\u043e\u0441\u0442)<\/option><\/select><\/div><div class=\"space-y-3\"><label class=\"text-[10px] font-black text-slate-400 uppercase tracking-widest block\">\u0411\u044e\u0434\u0436\u0435\u0442\u043d\u0430\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430<\/label><select class=\"w-full bg-slate-50 border border-slate-200 rounded-xl px-4 py-3.5 text-slate-700 font-semibold focus:ring-2 focus:ring-blue-100 focus:border-blue-500 transition-all cursor-pointer outline-none\"><option value=\"Tight\">\u041c\u0438\u043d\u0438\u043c\u0443\u043c (\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435)<\/option><option value=\"Medium\">\u0411\u0430\u043b\u0430\u043d\u0441 (\u0417\u043e\u043b\u043e\u0442\u0430\u044f \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0430)<\/option><option value=\"High\">\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c (\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0431\u0435\u0437 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441\u043e\u0432)<\/option><\/select><\/div><\/div><div class=\"flex flex-col sm:flex-row gap-4\"><button type=\"submit\" class=\"flex-1 py-5 rounded-2xl font-black text-white shadow-lg shadow-blue-200 transition-all bg-blue-600 hover:bg-blue-700 active:scale-[0.98]\"><span class=\"uppercase tracking-widest text-xs\">AI \u0410\u043d\u0430\u043b\u0438\u0437 \u0421\u0446\u0435\u043d\u0430\u0440\u0438\u044f<\/span><\/button><a href=\"https:\/\/forms.office.com\/Pages\/ResponsePage.aspx?id=M8ndOvkOi0KL2njX59S3t6RlyhCRrIdMr4Nk6XVA-x9UMk9JV0M5VDU2VkcyRlE2MlBQSVdJOFMzUy4u\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"flex-1 py-5 rounded-2xl font-black text-center text-slate-900 border-2 border-slate-900 hover:bg-slate-900 hover:text-white transition-all uppercase tracking-widest text-xs flex items-center justify-center\">\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u044b\u0439 \u0440\u0430\u0441\u0447\u0435\u0442<\/a><\/div><\/form><\/div><\/div><div class=\"mt-16\"><div class=\"space-y-12\"><article class=\"bg-white rounded-[3rem] border border-slate-200 shadow-2xl overflow-hidden article-content\"><div class=\"p-8 sm:p-20 max-w-5xl mx-auto\"><header class=\"mb-12\"><h1>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DDR5 RDIMM \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b\u0430 \u0432 2\u20133 \u0440\u0430\u0437\u0430 \u0432 2026 \u0438 \u043a\u043e\u0433\u0434\u0430 \u0446\u0435\u043d\u044b \u0443\u043f\u0430\u0434\u0443\u0442 (\u043f\u0440\u043e\u0433\u043d\u043e\u0437)<\/h1><p class=\"text-xl text-slate-500 font-medium italic mt-4\">\u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430 15 \u044f\u043d\u0432\u0430\u0440\u044f 2026<\/p><\/header><section class=\"space-y-8 text-slate-600\"><div class=\"et-intro\"><p>\u0412 2026 \u0433\u043e\u0434\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DDR5 RDIMM (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043c\u043e\u0434\u0443\u043b\u0438 64\/128 \u0413\u0411 ECC) \u0441\u0442\u0430\u043b\u0430 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0431\u044b\u0441\u0442\u0440\u043e \u0434\u043e\u0440\u043e\u0436\u0430\u044e\u0449\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432: \u0446\u0435\u043d\u044b \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u0432 1,5\u20133 \u0440\u0430\u0437\u0430 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 2024\u20132025 \u0433\u043e\u0434\u0430\u043c\u0438. \u041f\u043e \u0434\u0430\u043d\u043d\u044b\u043c TrendForce (5 \u044f\u043d\u0432\u0430\u0440\u044f 2026), \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043d\u044b\u0435 \u0446\u0435\u043d\u044b \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u0443\u044e DRAM \u0432 Q1 2026 \u0432\u044b\u0440\u0430\u0441\u0442\u0443\u0442 \u043d\u0430 55\u201360% \u043a\u0432\u0430\u0440\u0442\u0430\u043b \u043a \u043a\u0432\u0430\u0440\u0442\u0430\u043b\u0443, \u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DRAM \u2014 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043d\u0430 60%. \u0412 \u0420\u043e\u0441\u0441\u0438\u0438 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0438 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0440\u043e\u0441\u0442 \u0447\u0430\u0441\u0442\u043e \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 80\u2013150%.<\/p><p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u2014 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0432\u0437\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0440\u043e\u0441\u0442\u0430, \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0438\u0444\u0440\u044b \u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437: \u043a\u043e\u0433\u0434\u0430 \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0446\u0435\u043d\u044b \u043d\u0430 DDR5 RDIMM \u043c\u043e\u0433\u0443\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043b\u0438 \u0443\u043f\u0430\u0441\u0442\u044c.<\/p><\/div><h2>\u0413\u043b\u0430\u0432\u043d\u044b\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0440\u043e\u0441\u0442\u0430 \u0446\u0435\u043d \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0443\u044e DDR5 RDIMM \u0432 2026<\/h2><div class=\"bg-blue-50 border-l-4 border-blue-500 p-8 rounded-r-2xl\"><p class=\"m-0 text-blue-900 font-medium\"><strong>AI-\u0431\u0443\u043c \u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 HBM<\/strong>: \u0413\u0438\u043f\u0435\u0440\u0441\u043a\u0435\u0439\u043b\u0435\u0440\u044b \u0438 AI-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u044b \u043f\u043e\u0433\u043b\u043e\u0449\u0430\u044e\u0442 \u0432\u0441\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e DRAM-\u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c. \u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0435\u0440\u0435\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442 \u043b\u0438\u043d\u0438\u0438 \u043d\u0430 HBM (\u0432\u044b\u0441\u043e\u043a\u043e\u0431\u0430\u043d\u0434\u0432\u0438\u0434\u0442\u043d\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0434\u043b\u044f GPU), \u0447\u0442\u043e \u0440\u0435\u0437\u043a\u043e \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 DDR5.<\/p><\/div><h3>\u041f\u0435\u0440\u0435\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0435\u0439<\/h3><p>TrendForce: \u0432 2025\u20132026 \u0433\u043e\u0434\u0430\u0445 \u0444\u0430\u0431\u0440\u0438\u043a\u0438 Samsung, SK hynix \u0438 Micron \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f\u0442 \u0434\u043e 40\u201350% \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u043d\u0430 HBM \u0438 enterprise DRAM. DDR5 \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u041f\u041a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u0442\u043a\u0438, \u0447\u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0434\u0435\u0444\u0438\u0446\u0438\u0442 \u0438 \u0440\u043e\u0441\u0442 \u0446\u0435\u043d.<\/p><h3>\u0414\u0438\u0441\u0431\u0430\u043b\u0430\u043d\u0441 \u0441\u043f\u0440\u043e\u0441\u0430 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h3><p>Omdia \u0438 TrendForce: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 DDR5 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 12+ \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438. \u041b\u044e\u0431\u043e\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u0443\u044e DDR5 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u0442\u044f\u0436\u043d\u044b\u0435 \u0432\u043e\u043b\u043d\u044b \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430 \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0435\u0439\u0447\u0430\u0441.<\/p><h3>\u0420\u043e\u0441\u0442 \u0441\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 enterprise \u0438 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u043e\u0432<\/h3><p>\u0421\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 (\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u0411\u0414, AI-\u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441) \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438. \u041c\u043e\u0434\u0443\u043b\u0438 64\/128 \u0413\u0411 RDIMM \u0441\u0442\u0430\u043b\u0438 must-have \u0434\u043b\u044f \u043f\u043b\u043e\u0442\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u043d\u043e \u0438\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e.<\/p><h2>\u041f\u0440\u043e\u0433\u043d\u043e\u0437 \u0446\u0435\u043d \u043d\u0430 DRAM \u0438 DDR5 RDIMM \u0432 2026<\/h2><div class=\"grid sm:grid-cols-2 gap-4 my-8\"><div class=\"p-6 bg-slate-900 text-white rounded-2xl\"><p class=\"m-0\"><strong>Q1 2026<\/strong>: +55\u201360% QoQ \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u0443\u044e DRAM, \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u2014 &gt;60% (TrendForce, \u044f\u043d\u0432\u0430\u0440\u044c 2026).<\/p><\/div><div class=\"p-6 bg-blue-600 text-white rounded-2xl\"><p class=\"m-0\"><strong>\u041f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 2026<\/strong>: \u0432 \u0420\u043e\u0441\u0441\u0438\u0438 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u0438 \u043a\u0443\u0440\u0441\u0430 \u2014 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u0441\u0442 30\u201350% \u043d\u0430 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0446\u0435\u043d\u044b DDR5 RDIMM 64\/128 \u0413\u0411.<\/p><\/div><\/div><h3>\u041a\u043e\u0433\u0434\u0430 \u0436\u0434\u0430\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f?<\/h3><p>\u041f\u043e \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u043e\u0432 TrendForce, Omdia \u0438 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0432 (Habr, ServerFlow):<\/p><ul class=\"list-disc pl-6 space-y-3\"><li>Q2\u2013Q3 2026: \u043f\u0438\u043a \u0440\u043e\u0441\u0442\u0430 \u0438 \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430, \u0446\u0435\u043d\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442 \u0440\u0430\u0441\u0442\u0438<\/li><li>Q3\u2013Q4 2026: \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u043d\u043e\u0432\u044b\u0435 \u043b\u0438\u043d\u0438\u0438 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043f\u043e\u043b\u043d\u0443\u044e, \u0441\u043f\u0440\u043e\u0441 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u0441\u044f<\/li><li>2027: \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u0443\u043c\u0435\u0440\u0435\u043d\u043d\u043e\u0435 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u0435 (10\u201320%), \u043d\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043a \u0446\u0435\u043d\u0430\u043c 2024\u20132025 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u2014 \u043d\u043e\u0432\u044b\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430 50\u2013100% \u0432\u044b\u0448\u0435<\/li><\/ul><h2>\u0427\u0442\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442 \u0434\u043b\u044f \u0437\u0430\u043a\u0443\u043f\u043e\u043a \u0432 \u0420\u043e\u0441\u0441\u0438\u0438<\/h2><p>\u0412 \u0420\u0424 \u0434\u0435\u0444\u0438\u0446\u0438\u0442 \u0443\u0441\u0438\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0430\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0438 \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u043a\u043e\u0439. Habr \u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u0438: \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DDR5 RDIMM 128 \u0413\u0411 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0441\u0440\u043e\u043a\u0438 8\u201330 \u043d\u0435\u0434\u0435\u043b\u044c, \u0446\u0435\u043d\u044b \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e.<\/p><p>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438:<\/p><ul class=\"list-disc pl-6 space-y-3\"><li>\u041f\u043b\u0430\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0438 \u0437\u0430 3\u20136 \u043c\u0435\u0441\u044f\u0446\u0435\u0432<\/li><li>\u0411\u0440\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0430\u0440\u0442\u0438\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435<\/li><li>\u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0439\u0442\u0435 \u0433\u0438\u0431\u043a\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u0443\u0437\u043b\u0430\u043c \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u043e\u043d\u0441\u0442\u0440\u0430)<\/li><\/ul><h2>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c Elishtech Technology<\/h2><div class=\"grid sm:grid-cols-1 md:grid-cols-2 gap-4 py-4\"><div class=\"flex items-center gap-3 p-4 bg-slate-50 rounded-xl border border-slate-100\"><div class=\"w-2 h-2 bg-blue-500 rounded-full shrink-0\"><\/div><span class=\"text-sm font-bold text-slate-700\">\u0413\u0438\u0431\u043a\u0438\u0435 \u0441\u0440\u043e\u043a\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a DDR5 RDIMM 64\/128 \u0413\u0411 (\u0447\u0430\u0441\u0442\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u0440\u044b\u043d\u043a\u0430)<\/span><\/div><div class=\"flex items-center gap-3 p-4 bg-slate-50 rounded-xl border border-slate-100\"><div class=\"w-2 h-2 bg-blue-500 rounded-full shrink-0\"><\/div><span class=\"text-sm font-bold text-slate-700\">\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430<\/span><\/div><div class=\"flex items-center gap-3 p-4 bg-slate-50 rounded-xl border border-slate-100\"><div class=\"w-2 h-2 bg-blue-500 rounded-full shrink-0\"><\/div><span class=\"text-sm font-bold text-slate-700\">\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0446\u0435\u043d\u044b \u0438 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440\u0442\u0438\u0439 \u043f\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442<\/span><\/div><div class=\"flex items-center gap-3 p-4 bg-slate-50 rounded-xl border border-slate-100\"><div class=\"w-2 h-2 bg-blue-500 rounded-full shrink-0\"><\/div><span class=\"text-sm font-bold text-slate-700\">7\u00d724 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438 \u0432\u044b\u0435\u0437\u0434 \u043f\u043e \u0420\u043e\u0441\u0441\u0438\u0438<\/span><\/div><div class=\"flex items-center gap-3 p-4 bg-slate-50 rounded-xl border border-slate-100\"><div class=\"w-2 h-2 bg-blue-500 rounded-full shrink-0\"><\/div><span class=\"text-sm font-bold text-slate-700\">OEM\/ODM-\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u043e\u0431\u044a\u0451\u043c\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438<\/span><\/div><\/div><h2>\u0427\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b<\/h2><div class=\"space-y-4\"><details open=\"\"><summary>\u041f\u043e\u0447\u0435\u043c\u0443 DDR5 RDIMM \u0434\u043e\u0440\u043e\u0436\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432?<\/summary><div>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 HBM \u0434\u043b\u044f AI. \u0421\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DDR5 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0435\u0439 \u2014 \u043e\u0442\u0441\u044e\u0434\u0430 \u0440\u043e\u0441\u0442 &gt;60% QoQ (TrendForce).<\/div><\/details><details open=\"\"><summary>\u041a\u043e\u0433\u0434\u0430 \u0446\u0435\u043d\u044b \u043d\u0430 DDR5 RDIMM \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f?<\/summary><div>\u0421\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u043b\u0438\u0436\u0435 \u043a Q3\u2013Q4 2026, \u043d\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u043d\u0435 \u0436\u0434\u0438\u0442\u0435 \u2014 \u043d\u043e\u0432\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0446\u0435\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0448\u0435 2024\u20132025.<\/div><\/details><details open=\"\"><summary>\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0436\u0434\u0430\u0442\u044c \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u0446\u0435\u043d \u0432 2026?<\/summary><div>\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 \u2014 \u043d\u0435\u0442, \u0446\u0435\u043d\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442 \u0440\u0430\u0441\u0442\u0438. \u041b\u0443\u0447\u0448\u0435 \u0437\u0430\u043a\u0443\u043f\u0430\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c.<\/div><\/details><details open=\"\"><summary>\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u043e\u0431\u043e\u0439\u0442\u0438 \u0440\u043e\u0441\u0442 \u0446\u0435\u043d?<\/summary><div>\u0414\u0430 \u2014 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u0437\u043b\u0430\u043c \u043d\u0430 64 \u0413\u0411 RDIMM, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 RAM+SSD \u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430 DDR4.<\/div><\/details><\/div><div class=\"et-cta-block\"><h3 class=\"text-3xl font-black mb-4 p-0 text-white border-none\">\u041f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0437\u0430\u043a\u0443\u043f\u043a\u0443 DDR5 RDIMM? \u041d\u0435 \u043f\u0435\u0440\u0435\u043f\u043b\u0430\u0447\u0438\u0432\u0430\u0439\u0442\u0435<\/h3><p class=\"text-blue-100 mb-8\">\u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0437\u0430\u044f\u0432\u043a\u0443 \u2014 \u043e\u0442\u0432\u0435\u0442\u0438\u043c \u0437\u0430 1\u20132 \u0434\u043d\u044f \u0441 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u043e\u043c \u043f\u043e \u0441\u0440\u043e\u043a\u0430\u043c!<\/p><a href=\"https:\/\/forms.office.com\/Pages\/ResponsePage.aspx?id=M8ndOvkOi0KL2njX59S3t6RlyhCRrIdMr4Nk6XVA-x9UMk9JV0M5VDU2VkcyRlE2MlBQSVdJOFMzUy4u\" class=\"et-cta-button\" target=\"_blank\" rel=\"noopener noreferrer\">\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0443\u043b\u044c\u0442\u0430\u0446\u0438\u044e \u0438 \u0440\u0430\u0441\u0447\u0451\u0442<\/a><\/div><\/section><\/div><\/article><div class=\"text-center pb-12\"><button class=\"text-slate-400 hover:text-blue-600 transition-colors font-bold text-xs uppercase tracking-widest\">\u0412\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440\u0443 \u2191<\/button><\/div><\/div><\/div><footer class=\"mt-20 py-10 border-t border-slate-200 text-slate-400 text-[10px] font-bold uppercase tracking-[0.2em] text-center\"><p>\u00a9 2026 Elishtech Technology. \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430.<\/p><\/footer><\/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\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412 2026 \u0433\u043e\u0434\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f DDR5 RDIMM (64\/128 \u0413\u0411 ECC) \u043f\u043e\u0434\u043e\u0440\u043e\u0436\u0430\u043b\u0430 \u0432 1,5\u20133 \u0440\u0430\u0437\u0430 \u0438\u0437-\u0437\u0430 AI\/HBM-\u0431\u0443\u043c\u0430 \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0435\u0444\u0438\u0446\u0438\u0442\u0430 DRAM. \u041f\u0440\u043e\u0433\u043d\u043e\u0437 TrendForce: +55\u201360% \u0432 Q1 2026, \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u043b\u0438\u0436\u0435 \u043a Q3\u2013Q4. \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438 \u043a\u043e\u0433\u0434\u0430 \u0436\u0434\u0430\u0442\u044c \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u0446\u0435\u043d \u0432 \u0420\u043e\u0441\u0441\u0438\u0438. \u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430 \u044f\u043d\u0432\u0430\u0440\u044c 2026.<\/p>","protected":false},"author":6,"featured_media":16980,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[98],"tags":[575,520,571,552,570,582,574,581,576],"class_list":["post-16979","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-servery","tag-ai-","tag-ddr5","tag-ecc","tag-hbm","tag-rdimm","tag-trendforce","tag-574","tag---ddr5","tag--ram"],"jetpack_featured_media_url":"https:\/\/www.elishtech.com\/wp-content\/uploads\/2026\/01\/elishtech-81.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts\/16979","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=16979"}],"version-history":[{"count":2,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts\/16979\/revisions"}],"predecessor-version":[{"id":16982,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/posts\/16979\/revisions\/16982"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/media\/16980"}],"wp:attachment":[{"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/media?parent=16979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/categories?post=16979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.elishtech.com\/en\/wp-json\/wp\/v2\/tags?post=16979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}