{"id":2490,"date":"2026-05-02T16:17:54","date_gmt":"2026-05-02T08:17:54","guid":{"rendered":"https:\/\/randengzhe.cn\/wordpress\/?p=2490"},"modified":"2026-05-02T16:19:43","modified_gmt":"2026-05-02T08:19:43","slug":"sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87","status":"publish","type":"post","link":"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/","title":{"rendered":"Day1 SFML+\u521b\u5efa\u7a97\u53e3+\u7ed8\u5236\u76f4\u89d2\u5750\u6807"},"content":{"rendered":"\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\r\n<div class=\"ez-toc-title-container\">\r\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\r\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\r\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#SFML_%E5%AD%A6%E4%B9%A0_%C2%B7_Day_1\" >SFML \u5b66\u4e60 \u00b7 Day 1<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#%E4%BB%8A%E6%97%A5%E7%9B%AE%E6%A0%87\" >\u4eca\u65e5\u76ee\u6807<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#Day1%E9%A2%84%E8%A7%88\" >Day1\u9884\u89c8<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#1_%E7%AC%AC%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%EF%BC%9A%E5%88%9B%E5%BB%BA%E7%AA%97%E5%8F%A3_%E5%A4%84%E7%90%86%E5%85%B3%E9%97%AD%E4%BA%8B%E4%BB%B6\" >1. \u7b2c\u4e00\u4e2a\u7a0b\u5e8f\uff1a\u521b\u5efa\u7a97\u53e3 + \u5904\u7406\u5173\u95ed\u4e8b\u4ef6<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8C\" >\u7f16\u8bd1\u8fd0\u884c<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#2_%E4%BB%8A%E6%97%A5%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86%E7%82%B9\" >2. \u4eca\u65e5\u6838\u5fc3\u77e5\u8bc6\u70b9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#3_%E5%8D%87%E7%BA%A7%EF%BC%9A%E7%94%BB%E5%87%BA_X%E3%80%81Y_%E5%9D%90%E6%A0%87%E8%BD%B4%EF%BC%88%E6%9C%80%E5%AE%9E%E7%94%A8%EF%BC%89\" >3. \u5347\u7ea7\uff1a\u753b\u51fa X\u3001Y \u5750\u6807\u8f74\uff08\u6700\u5b9e\u7528\uff09<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/randengzhe.cn\/wordpress\/2026\/05\/02\/sfml%e5%a4%9a%e5%aa%92%e4%bd%93%e5%ba%93%e5%bc%80%e5%8f%91day1_%e5%88%9b%e5%bb%ba%e7%aa%97%e5%8f%a3%e7%bb%98%e5%88%b6%e7%9b%b4%e8%a7%92%e5%9d%90%e6%a0%87\/#%E4%BB%8A%E6%97%A5%E4%BB%BB%E5%8A%A1\" >\u4eca\u65e5\u4efb\u52a1<\/a><\/li><\/ul><\/nav><\/div>\r\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"SFML_%E5%AD%A6%E4%B9%A0_%C2%B7_Day_1\"><\/span>SFML \u5b66\u4e60 \u00b7 Day 1<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BB%8A%E6%97%A5%E7%9B%AE%E6%A0%87\"><\/span>\u4eca\u65e5\u76ee\u6807<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u5728 Ubuntu \u4e0b\u7f16\u8bd1\u8fd0\u884c\u7b2c\u4e00\u4e2a SFML \u7a0b\u5e8f<\/li>\n\n\n\n<li>\u7406\u89e3\u7a97\u53e3\u3001\u4e3b\u5faa\u73af\u3001\u4e8b\u4ef6\u5904\u7406<\/li>\n\n\n\n<li>\u753b\u51fa\u5750\u6807\u7cfb\uff08\u4e3a\u540e\u7eed\u51fd\u6570\u56fe\u50cf\u6253\u57fa\u7840\uff09<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Day1%E9%A2%84%E8%A7%88\"><\/span>Day1\u9884\u89c8<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"655\" src=\"https:\/\/randengzhe.cn\/wordpress\/wp-content\/uploads\/2026\/05\/day1.png\" alt=\"\" class=\"wp-image-2492\" srcset=\"https:\/\/randengzhe.cn\/wordpress\/wp-content\/uploads\/2026\/05\/day1.png 820w, https:\/\/randengzhe.cn\/wordpress\/wp-content\/uploads\/2026\/05\/day1-768x613.png 768w, https:\/\/randengzhe.cn\/wordpress\/wp-content\/uploads\/2026\/05\/day1-300x240.png 300w, https:\/\/randengzhe.cn\/wordpress\/wp-content\/uploads\/2026\/05\/day1-376x300.png 376w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_%E7%AC%AC%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%EF%BC%9A%E5%88%9B%E5%BB%BA%E7%AA%97%E5%8F%A3_%E5%A4%84%E7%90%86%E5%85%B3%E9%97%AD%E4%BA%8B%E4%BB%B6\"><\/span>1. \u7b2c\u4e00\u4e2a\u7a0b\u5e8f\uff1a\u521b\u5efa\u7a97\u53e3 + \u5904\u7406\u5173\u95ed\u4e8b\u4ef6<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0\u5efa\u6587\u4ef6\uff1a<code>day1_window.cpp<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;SFML\/Graphics.hpp>\n\nint main()\n{\n    \/\/ \u521b\u5efa\u7a97\u53e3\uff1a\u5bbd\u5ea6 800\uff0c\u9ad8\u5ea6 600\uff0c\u6807\u9898 SFML Day1\n    sf::RenderWindow window(sf::VideoMode(800, 600), \"SFML Day1 - \u7a97\u53e3\u4e0e\u5750\u6807\u7cfb\");\n\n    \/\/ \u4e3b\u5faa\u73af\n    while (window.isOpen())\n    {\n        \/\/ \u4e8b\u4ef6\u5904\u7406\n        sf::Event event;\n        while (window.pollEvent(event))\n        {\n            \/\/ \u70b9\u53f3\u4e0a\u89d2\u5173\u95ed \u2192 \u9000\u51fa\n            if (event.type == sf::Event::Closed)\n                window.close();\n        }\n\n        \/\/ \u6e05\u7a7a\u5c4f\u5e55\uff08\u6df1\u7070\u8272\uff09\n        window.clear(sf::Color(30, 30, 40));\n\n        \/\/ \u5728\u8fd9\u91cc\u753b\u56fe \u2193\n\n        \/\/ \u5728\u8fd9\u91cc\u753b\u56fe \u2191\n\n        \/\/ \u628a\u753b\u9762\u663e\u793a\u51fa\u6765\n        window.display();\n    }\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8C\"><\/span>\u7f16\u8bd1\u8fd0\u884c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>g++ day1_window.cpp -o day1 -lsfml-graphics -lsfml-window -lsfml-system\n.\/day1<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_%E4%BB%8A%E6%97%A5%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86%E7%82%B9\"><\/span>2. \u4eca\u65e5\u6838\u5fc3\u77e5\u8bc6\u70b9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SFML \u5750\u6807<\/strong>\uff1a\u539f\u70b9 <code>(0,0)<\/code> \u5728<strong>\u5de6\u4e0a\u89d2<\/strong><\/li>\n\n\n\n<li><code>window.clear()<\/code>\uff1a\u64e6\u9664\u4e0a\u4e00\u5e27<\/li>\n\n\n\n<li><code>window.display()<\/code>\uff1a\u628a\u753b\u597d\u7684\u5185\u5bb9\u663e\u793a\u5230\u5c4f\u5e55<\/li>\n\n\n\n<li>\u6240\u6709\u7ed8\u56fe\u5fc5\u987b\u5728 <code>clear()<\/code> \u548c <code>display()<\/code> \u4e4b\u95f4<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_%E5%8D%87%E7%BA%A7%EF%BC%9A%E7%94%BB%E5%87%BA_X%E3%80%81Y_%E5%9D%90%E6%A0%87%E8%BD%B4%EF%BC%88%E6%9C%80%E5%AE%9E%E7%94%A8%EF%BC%89\"><\/span>3. \u5347\u7ea7\uff1a\u753b\u51fa X\u3001Y \u5750\u6807\u8f74\uff08\u6700\u5b9e\u7528\uff09<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u628a\u4e2d\u95f4\u4ee3\u7801\u66ff\u6362\u6210\u8fd9\u6837\uff0c\u5c31\u80fd\u753b\u51fa<strong>\u6570\u5b66\u5750\u6807\u7cfb<\/strong>\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5750\u6807\u8f74\u989c\u8272\uff1a\u6d45\u84dd\u8272\nsf::Color axisColor(100, 200, 255);\n\n\/\/ X \u8f74\uff1a\u6c34\u5e73\u5c45\u4e2d\nsf::Vertex xAxis&#91;] = {\n    sf::Vertex(sf::Vector2f(0, 300), axisColor),\n    sf::Vertex(sf::Vector2f(800, 300), axisColor)\n};\n\n\/\/ Y \u8f74\uff1a\u5782\u76f4\u5c45\u4e2d\nsf::Vertex yAxis&#91;] = {\n    sf::Vertex(sf::Vector2f(400, 0), axisColor),\n    sf::Vertex(sf::Vector2f(400, 600), axisColor)\n};\n\nwindow.draw(xAxis, 2, sf::Lines);\nwindow.draw(yAxis, 2, sf::Lines);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b8c\u6574\u4ee3\u7801\u6211\u53ef\u4ee5\u76f4\u63a5\u7ed9\u4f60\u4e00\u4efd\u53ef\u590d\u5236\u7248\uff0c\u4f60\u8981\u5417\uff1f<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BB%8A%E6%97%A5%E4%BB%BB%E5%8A%A1\"><\/span>\u4eca\u65e5\u4efb\u52a1<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u7f16\u8bd1\u8fd0\u884c\u6210\u529f\uff0c\u770b\u5230\u7a97\u53e3 + \u5750\u6807\u8f74<\/li>\n\n\n\n<li>\u5c1d\u8bd5\u4fee\u6539\uff1a<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7a97\u53e3\u5927\u5c0f<\/li>\n\n\n\n<li>\u80cc\u666f\u989c\u8272<\/li>\n\n\n\n<li>\u5750\u6807\u8f74\u989c\u8272<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b8c\u6210\u540e\u56de\u590d\uff1a<strong>Day1 \u5b8c\u6210<\/strong><br>\u6211\u5c31\u5e26\u4f60\u8fdb\u5165 <strong>Day2\uff1a\u753b\u51fd\u6570\u56fe\u50cf\uff08sin\u3001\u629b\u7269\u7ebf\u3001\u76f4\u7ebf\uff09<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SFML \u5b66\u4e60 \u00b7 Day 1 \u4eca\u65e5\u76ee\u6807 Day1 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AAAH5sTz7wPcBJgEBhwAVDwIBQAGdD4BAQgASAIFAEJINAEBCAJCSAAYAQEIAEgOAgEBCAJKAIABAQEIAkoAKAEBCAJK+AGoAgEBCABIABABAQgCQkgAPAEBCAJCSACSAQEBCAI8DBQDAYwBApYCBBQCNgIKAh4CMAKOAQISAjQCoAECPgISBCgCmAEEAwIIFAQkBCQCMgIKBBoC7BIAshIBAQgCQkgAGAEBCAJKAKoCAQEIAEgAEAEBCAJCSAAkAQEIAEgOAgEBCAJKAJYCAQEIAkoAkAEBAQgCSgCgAQEBCAJK1gWUBwEBCABIABABAQgCQkgAOgEBCAJCSACcAQEBCAJKAKAMAQEIAkJIADwBAQgASAAQAQEIAkJIABgBAQgASA4CAQEIAkoAMAEBCAJKwAGYAQEBCABIDgIBAQgCSgAWAQEIAkoAFgEBCAJKfJQBAQEIAkJI4DSQNwEBCEjGOUKYOQEBCABI\/juySwMABAIIAgoCBAMBFAMABAIIsgsI9BxKnIABAQEIAEjagAEEAqiAAfxwAwC0cwLQAwQCAIgD7nMUAqB03HSmdAMA5HQUCqhvAQLccKx0CgMACPLAAZwIIASOAZgCGDgMIDKQARQ2ogGAARQsmgEGAwEIFCkANAweqB6+lgEBAs4JEgkBEAkIEAkAqgUQCQAQCMoQAs4DAgqoFEgC3hECrAEDAuTAAbDQAcJ53FhkQoTSARwGAgBqCJYFAKZGAwABALRz7nMUAgAEAQEGFAp0rHQKAwDqdORDIASOAZgCGDgMIDKQARQ2ogGAARQsmgEGAwEIFCkANAwe5BEgBI4BmAIYOAwgMpABFDaiAYABFCyaASkBNAwe0BkArleCeQEBJPsDKAAhAScABAAnASgGJwAoAycARACEBQcAKAInASgAJwCoAQQAKACHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicAKAEnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAhDQnAIcAKAInAQQAKAAnAIcAKAInAQQAJwCHACgCJwAoAScAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicCqADHACgCJwEoACcABACEAYEAhACBAIQEgQCEAYEAhACBAIQAgQCEAIEAhAAEAMcAKAInASgAJwCoASgAqADEAsEAxACoASgAJwDECygExAWoAMQchwAoAicBqADEF6gBpwCoBacAqATEAqgCKALEh1KwTnN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZeiHquWKqOiNieeov2RvY3VtZW50Y29udGVudGRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnRzdGlja3lkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRmb3JtYXRkb2N1bWVudG1ldGFfamV0cGFja19tZW1iZXJzaGlwc19jb250YWluc19wYWlkX2NvbnRlbnRmb290bm90ZXNkb2N1bWVudGNhdGVnb3JpZXNkb2N1bWVudHRhZ3Nkb2N1bWVudGJsb2Nrc1NGTUzlpJrlqpLkvZPlupPlvIDlj5FEZGF5MURheTEgIOe7mOWItuWdkOagh+aWsOebtOinkuWdkOagh2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc1NGTUwg5a2m5LmgIMK3IERheSAxbGV2ZWxjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTku4rml6Xnm67moIdsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTlnKggVWJ1bnR1IOS4i+e8luivkei\/kOihjOesrOS4gOS4qiBTRk1MIOeoi+W6j2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW5055CG6Kej56qX5Y+j44CB5Li75b6q546v44CB5LqL5Lu25aSE55CGaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTnlLvlh7rlnZDmoIfns7vvvIjkuLrlkI7nu63lh73mlbDlm77lg4\/miZPln7rnoYDvvIlpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3BhY2l0eXRhZ05hbWVpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDEuIOesrOS4gOS4queoi+W6j++8muWIm+W7uueql+WPoyArIOWkhOeQhuWFs+mXreS6i+S7tmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTmlrDlu7rmlofku7bvvJo8Y29kZT5kYXkxX3dpbmRvdy5jcHA8L2NvZGU+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50I2luY2x1ZGUgJmx0O1NGTUwvR3JhcGhpY3MuaHBwJmd0OwoKaW50IG1haW4oKQp7CiAgICAvLyDliJvlu7rnqpflj6PvvJrlrr3luqYgODAw77yM6auY5bqmIDYwMO+8jOagh+mimCBTRk1MIERheTEKICAgIHNmOjpSZW5kZXJXaW5kb3cgd2luZG93KHNmOjpWaWRlb01vZGUoODAwLCA2MDApLCAiU0ZNTCBEYXkxIC0g56qX5Y+j5LiO5Z2Q5qCH57O7Iik7CgogICAgLy8g5Li75b6q546vCiAgICB3aGlsZSAod2luZG93LmlzT3BlbigpKQogICAgewogICAgICAgIC8vIOS6i+S7tuWkhOeQhgogICAgICAgIHNmOjpFdmVudCBldmVudDsKICAgICAgICB3aGlsZSAod2luZG93LnBvbGxFdmVudChldmVudCkpCiAgICAgICAgewogICAgICAgICAgICAvLyDngrnlj7PkuIrop5LlhbPpl60g4oaSIOmAgOWHugogICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PSBzZjo6RXZlbnQ6OkNsb3NlZCkKICAgICAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8g5riF56m65bGP5bmV77yI5rex54Gw6Imy77yJCiAgICAgICAgd2luZG93LmNsZWFyKHNmOjpDb2xvcigzMCwgMzAsIDQwKSk7CgogICAgICAgIC8vIOWcqOi\/memHjOeUu+WbviDihpMKCiAgICAgICAgLy8g5Zyo6L+Z6YeM55S75Zu+IOKGkQoKICAgICAgICAvLyDmiornlLvpnaLmmL7npLrlh7rmnaUKICAgICAgICB3aW5kb3cuZGlzcGxheSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTnvJbor5Hov5DooYxsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZysrIGRheTFfd2luZG93LmNwcCAtbyBkYXkxIC1sc2ZtbC1ncmFwaGljcyAtbHNmbWwtd2luZG93IC1sc2ZtbC1zeXN0ZW0KLi9kYXkxaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29wYWNpdHl0YWdOYW1laW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQyLiDku4rml6XmoLjlv4Pnn6Xor4bngrlsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlNGTUwg5Z2Q5qCHPC9zdHJvbmc+77ya5Y6f54K5IDxjb2RlPigwLDApPC9jb2RlPiDlnKg8c3Ryb25nPuW3puS4iuinkjwvc3Ryb25nPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGNvZGU+d2luZG93LmNsZWFyKCk8L2NvZGU+77ya5pOm6Zmk5LiK5LiA5binaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8Y29kZT53aW5kb3cuZGlzcGxheSgpPC9jb2RlPu+8muaKiueUu+WlveeahOWGheWuueaYvuekuuWIsOWxj+W5lWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW505omA5pyJ57uY5Zu+5b+F6aG75ZyoIDxjb2RlPmNsZWFyKCk8L2NvZGU+IOWSjCA8Y29kZT5kaXNwbGF5KCk8L2NvZGU+IOS5i+mXtGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcGFjaXR5dGFnTmFtZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50My4g5Y2H57qn77ya55S75Ye6IFjjgIFZIOWdkOagh+i9tO+8iOacgOWunueUqO+8iWxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTmiorkuK3pl7Tku6PnoIHmm7\/mjaLmiJDov5nmoLfvvIzlsLHog73nlLvlh7o8c3Ryb25nPuaVsOWtpuWdkOagh+ezuzwvc3Ryb25nPu+8mmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudC8vIOWdkOagh+i9tOminOiJsu+8mua1heiTneiJsgpzZjo6Q29sb3IgYXhpc0NvbG9yKDEwMCwgMjAwLCAyNTUpOwoKLy8gWCDovbTvvJrmsLTlubPlsYXkuK0Kc2Y6OlZlcnRleCB4QXhpc1tdID0gewogICAgc2Y6OlZlcnRleChzZjo6VmVjdG9yMmYoMCwgMzAwKSwgYXhpc0NvbG9yKSwKICAgIHNmOjpWZXJ0ZXgoc2Y6OlZlY3RvcjJmKDgwMCwgMzAwKSwgYXhpc0NvbG9yKQp9OwoKLy8gWSDovbTvvJrlnoLnm7TlsYXkuK0Kc2Y6OlZlcnRleCB5QXhpc1tdID0gewogICAgc2Y6OlZlcnRleChzZjo6VmVjdG9yMmYoNDAwLCAwKSwgYXhpc0NvbG9yKSwKICAgIHNmOjpWZXJ0ZXgoc2Y6OlZlY3RvcjJmKDQwMCwgNjAwKSwgYXhpc0NvbG9yKQp9OwoKd2luZG93LmRyYXcoeEF4aXMsIDIsIHNmOjpMaW5lcyk7CndpbmRvdy5kcmF3KHlBeGlzLCAyLCBzZjo6TGluZXMpO2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW505a6M5pW05Luj56CB5oiR5Y+v5Lul55u05o6l57uZ5L2g5LiA5Lu95Y+v5aSN5Yi254mI77yM5L2g6KaB5ZCX77yfZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcGFjaXR5dGFnTmFtZWlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW505LuK5pel5Lu75YqhbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW5057yW6K+R6L+Q6KGM5oiQ5Yqf77yM55yL5Yiw56qX5Y+jICsg5Z2Q5qCH6L20aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTlsJ3or5Xkv67mlLnvvJppbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW5056qX5Y+j5aSn5bCPaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnTog4zmma\/popzoibJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudOWdkOagh+i9tOminOiJsmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW505a6M5oiQ5ZCO5Zue5aSN77yaPHN0cm9uZz5EYXkxIOWujOaIkDwvc3Ryb25nPjxicj7miJHlsLHluKbkvaDov5vlhaUgPHN0cm9uZz5EYXky77ya55S75Ye95pWw5Zu+5YOP77yIc2lu44CB5oqb54mp57q\/44CB55u057q\/77yJPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3M8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6MX0gLS0+CjxoMSBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U0ZNTCDlrabkuaAgwrcgRGF5IDE8L2gxPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPuS7iuaXpeebruaghzwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgeyJvcmRlcmVkIjp0cnVlfSAtLT4KPG9sIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPuWcqCBVYnVudHUg5LiL57yW6K+R6L+Q6KGM56ys5LiA5LiqIFNGTUwg56iL5bqPPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT7nkIbop6Pnqpflj6PjgIHkuLvlvqrnjq\/jgIHkuovku7blpITnkIY8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPueUu+WHuuWdkOagh+ezu++8iOS4uuWQjue7reWHveaVsOWbvuWDj+aJk+WfuuehgO+8iTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L29sPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYWcgLS0+CjxwPjwvPgo8IS0tIC93cDphZyAtLT4KCjwhLS0gd3A6c2VwYXJhdG9yIC0tPgo8aHIgY2xhc3M9IndwLWJsb2NrLXNlcGFyYXRvciBoYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5Ii8+CjwhLS0gL3dwOnNlcGFyYXRvciAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj4xLiDnrKzkuIDkuKrnqIvluo\/vvJrliJvlu7rnqpflj6MgKyDlpITnkIblhbPpl63kuovku7Y8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPuaWsOW7uuaWh+S7tu+8mjxjb2RlPmRheTFfd2luZG93LmNwcDwvY29kZT48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6Y29kZSAtLT4KPHByZSBjbGFzcz0id3AtYmxvY2stY29kZSI+PGNvZGU+I2luY2x1ZGUgJmx0O1NGTUwvR3JhcGhpY3MuaHBwCgppbnQgbWFpbigpCnsKICAgIC8vIOWIm+W7uueql+WPo++8muWuveW6piA4MDDvvIzpq5jluqYgNjAw77yM5qCH6aKYIFNGTUwgRGF5MQogICAgc2Y6OlJlbmRlcldpbmRvdyB3aW5kb3coc2Y6OlZpZGVvTW9kZSg4MDAsIDYwMCksICJTRk1MIERheTEgLSDnqpflj6PkuI7lnZDmoIfns7siKTsKCiAgICAvLyDkuLvlvqrnjq8KICAgIHdoaWxlICh3aW5kb3cuaXNPcGVuKCkpCiAgICB7CiAgICAgICAgLy8g5LqL5Lu25aSE55CGCiAgICAgICAgc2Y6OkV2ZW50IGV2ZW50OwogICAgICAgIHdoaWxlICh3aW5kb3cucG9sbEV2ZW50KGV2ZW50KSkKICAgICAgICB7CiAgICAgICAgICAgIC8vIOeCueWPs+S4iuinkuWFs+mXrSDihpIg6YCA5Ye6CiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09IHNmOjpFdmVudDo6Q2xvc2VkKQogICAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7CiAgICAgICAgfQoKICAgICAgICAvLyDmuIXnqbrlsY\/luZXvvIjmt7HngbDoibLvvIkKICAgICAgICB3aW5kb3cuY2xlYXIoc2Y6OkNvbG9yKDMwLCAzMCwgNDApKTsKCiAgICAgICAgLy8g5Zyo6L+Z6YeM55S75Zu+IOKGkwoKICAgICAgICAvLyDlnKjov5nph4znlLvlm74g4oaRCgogICAgICAgIC8vIOaKiueUu+mdouaYvuekuuWHuuadpQogICAgICAgIHdpbmRvdy5kaXNwbGF5KCk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn08L2NvZGU+PC9wcmU+CjwhLS0gL3dwOmNvZGUgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+57yW6K+R6L+Q6KGMPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6Y29kZSAtLT4KPHByZSBjbGFzcz0id3AtYmxvY2stY29kZSI+PGNvZGU+ZysrIGRheTFfd2luZG93LmNwcCAtbyBkYXkxIC1sc2ZtbC1ncmFwaGljcyAtbHNmbWwtd2luZG93IC1sc2ZtbC1zeXN0ZW0KLi9kYXkxPC9jb2RlPjwvcHJlPgo8IS0tIC93cDpjb2RlIC0tPgoKPCEtLSB3cDpzZXBhcmF0b3IgLS0+CjxociBjbGFzcz0id3AtYmxvY2stc2VwYXJhdG9yIGhhcy1hbHBoYS1jaGFubmVsLW9wYWNpdHkiLz4KPCEtLSAvd3A6c2VwYXJhdG9yIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjIuIOS7iuaXpeaguOW\/g+efpeivhueCuTwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlNGTUwg5Z2Q5qCHPC9zdHJvbmc+77ya5Y6f54K5IDxjb2RlPigwLDApPC9jb2RlPiDlnKg8c3Ryb25nPuW3puS4iuinkjwvc3Ryb25nPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PGNvZGU+d2luZG93LmNsZWFyKCk8L2NvZGU+77ya5pOm6Zmk5LiK5LiA5binPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48Y29kZT53aW5kb3cuZGlzcGxheSgpPC9jb2RlPu+8muaKiueUu+WlveeahOWGheWuueaYvuekuuWIsOWxj+W5lTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+5omA5pyJ57uY5Zu+5b+F6aG75ZyoIDxjb2RlPmNsZWFyKCk8L2NvZGU+IOWSjCA8Y29kZT5kaXNwbGF5KCk8L2NvZGU+IOS5i+mXtDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpzZXBhcmF0b3IgLS0+CjxociBjbGFzcz0id3AtYmxvY2stc2VwYXJhdG9yIGhhcy1hbHBoYS1jaGFubmVsLW9wYWNpdHkiLz4KPCEtLSAvd3A6c2VwYXJhdG9yIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjMuIOWNh+e6p++8mueUu+WHuiBY44CBWSDlnZDmoIfovbTvvIjmnIDlrp7nlKjvvIk8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPuaKiuS4remXtOS7o+eggeabv+aNouaIkOi\/meagt++8jOWwseiDveeUu+WHujxzdHJvbmc+5pWw5a2m5Z2Q5qCH57O7PC9zdHJvbmc+77yaPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmNvZGUgLS0+CjxwcmUgY2xhc3M9IndwLWJsb2NrLWNvZGUiPjxjb2RlPi8vIOWdkOagh+i9tOminOiJsu+8mua1heiTneiJsgpzZjo6Q29sb3IgYXhpc0NvbG9yKDEwMCwgMjAwLCAyNTUpOwoKLy8gWCDovbTvvJrmsLTlubPlsYXkuK0Kc2Y6OlZlcnRleCB4QXhpcyYjOTE7XSA9IHsKICAgIHNmOjpWZXJ0ZXgoc2Y6OlZlY3RvcjJmKDAsIDMwMCksIGF4aXNDb2xvciksCiAgICBzZjo6VmVydGV4KHNmOjpWZWN0b3IyZig4MDAsIDMwMCksIGF4aXNDb2xvcikKfTsKCi8vIFkg6L2077ya5Z6C55u05bGF5LitCnNmOjpWZXJ0ZXggeUF4aXMmIzkxO10gPSB7CiAgICBzZjo6VmVydGV4KHNmOjpWZWN0b3IyZig0MDAsIDApLCBheGlzQ29sb3IpLAogICAgc2Y6OlZlcnRleChzZjo6VmVjdG9yMmYoNDAwLCA2MDApLCBheGlzQ29sb3IpCn07Cgp3aW5kb3cuZHJhdyh4QXhpcywgMiwgc2Y6OkxpbmVzKTsKd2luZG93LmRyYXcoeUF4aXMsIDIsIHNmOjpMaW5lcyk7PC9jb2RlPjwvcHJlPgo8IS0tIC93cDpjb2RlIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPuWujOaVtOS7o+eggeaIkeWPr+S7peebtOaOpee7meS9oOS4gOS7veWPr+WkjeWItueJiO+8jOS9oOimgeWQl++8nzwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpzZXBhcmF0b3IgLS0+CjxociBjbGFzcz0id3AtYmxvY2stc2VwYXJhdG9yIGhhcy1hbHBoYS1jaGFubmVsLW9wYWNpdHkiLz4KPCEtLSAvd3A6c2VwYXJhdG9yIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjF9IC0tPgo8aDEgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPuS7iuaXpeS7u+WKoTwvaDE+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgeyJvcmRlcmVkIjp0cnVlfSAtLT4KPG9sIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPue8luivkei\/kOihjOaIkOWKn++8jOeci+WIsOeql+WPoyArIOWdkOagh+i9tDwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+5bCd6K+V5L+u5pS577yaPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvb2w+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT7nqpflj6PlpKflsI88L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPuiDjOaZr+minOiJsjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+5Z2Q5qCH6L206aKc6ImyPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+5a6M5oiQ5ZCO5Zue5aSN77yaPHN0cm9uZz5EYXkxIOWujOaIkDwvc3Ryb25nPjxicj7miJHlsLHluKbkvaDov5vlhaUgPHN0cm9uZz5EYXky77ya55S75Ye95pWw5Zu+5YOP77yIc2lu44CB5oqb54mp57q\/44CB55u057q\/77yJPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+RGF5MemihOiniGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2xldmVsaGVhZGluZyB7ImxldmVsIjoxfSAtLT4KPGgxIGNsYXNzPSJ3LWJsb2NrLWhlZGluZyI+RGF5MemihOiniDwvaDE+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmFhbHRjYXB0aW9uaW1lZmlndXJlIGNsYXNzPSJ3LWJsb2NrLWltYWdlImltZyBhbHQ9IiI8L2ZpZ3VyZT5pbWVpZGxpbmt1cmxzaXplU2x1Z2xpbmtEZXN0aW5hdGlvbnsiaWQiOjI0OTIsInNpemVTbHVnIjoiZnVsbCIsImxpbmtEZXN0aW5hdGlvbiI6Im5vbmUifSAgc2l6ZS1mdWxsc3JjPSJodHRwczovL3JuZGVuZ3poZS5jbi93b3JkcHJlc3Mvd3AtY29udGVudC91cG9hZHMvMjAyNi8wNS9kYXkxLnBuZyIgYWwgY2xhc3M9IndwLWltYWdlLTI0OTIiPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PHN1cGRhdGEtZm49ImQ2ODY5NGNlLTRjZGYtNDJlMS1hZDk4LWZkMjU2MTNhM2ZmNyJjbGFzcz0iZm4iPjxhaHJlZj0iI2Q2ODY5NGNlLTRjZGYtNDJlMS1hZDk4LWZkMjU2MTNhM2ZmNyJpZD0iZDY4Njk0Y2UtNGNkZi00MmUxLWFkOTgtZmQyNTYxM2EzZmY3LWxpbmsiPjE8L2E+PC9zdXA+PGJyPjxicj4gICAgPGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNpbm5lckJsb2NrcyZndDsKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKX2NodWHliJvlu7rnqpflj6MrPmRvY3VtZW50c2x1Z3N0YXRlc2F2ZWRBdHN0YXRlc2F2ZWRCeSBTTUxGRkwrTQUHCAQIBggFBAgHCAcIBggOCA4ICwgGSAEGCAQqCQgKCAQIBgEOBEIAAwQIBwQKRwALDwUIBwQKBwQFCwgHBAoHBgsIBwQKBxkLCAcECgcNCwgHBAoHEQsIBwQKRwALCAcECgcWBQsIBwQKByEHCwgHBAoHHgYKQQEmAYsBAgoBGwEFAQ8BGAEnAQkBGgEwAR8BCQIUASwCQQIECgISAhIBGQEFAg1BAAsIBwQKBwQFCwgHBAoHjgELCAcECkcACwgHBAoHCgULCAcECgcGCwgHBAoHhAELCAcECgchCwgHBAoHKQsIBwQKBzgLCAcECkcACwgHBAoHFQULCAcECgcmBwsIBwQKB4kGCwgHBAoHFgcLCAcECkcACwgHBAoHBAULCAcECgcGCwgHBAoHEQsIBwQKBwULCAcECgcGCwgHBAoHBAsIBwQKBwQLCAcECgcFCwgHBAoHkAEHCwgHBAoHCwgHBApHAAuzB0ECBQECQQAKQQC5BagxBggHBApHAAsFJAkwAQMHAgEPDAEEQQAECQIBAgQDCA83Cg4jGRYJRAEIRAgIRAAuDSyCAQRIAEQACAQIBwQKCwZBAQJBCAIBQgFBAAIBRQABCAQFBwUHAgMBAgEOAQMAAAEJAAEBAgChAgGWAUIBAQBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAAJBAABCAAxBmAECBEEAAkQAQScBmwQAfQF9AX0AdwRvcGVudwRvcGVueXcAdwhzdGFuZGFyZHl3AHUAdQB3JDE0MGM2MTFiLTQ1NDgtNDU5NC04MGM4LTI5ZjBiMjM5NjE5YXh3DmNvcmUvcGFyYWdyYXBoeXckMTA0ZGNjODctZWIzMS00Y2U4LTgzODAtOTMwYzIyYjg5NTI5dwxjb3JlL2hlYWRpbmd9AXckM2FhY2ExNDgtYThlZS00MTQ4LWE3NjAtY2U4ZWJlNDI0NDRieHcMY29yZS9oZWFkaW5nfQJ3JGFkN2U0NzEyLTI3OGMtNGNmMS05MWEyLTljMzVlMzgwNTU1N3h3CWNvcmUvbGlzdHh3AHckZjM0MzViMjMtZTBkYi00YTRhLWJiODItMTFiNTc3NDhmYjQ2eHcOY29yZS9saXN0LWl0ZW13JDM3ZmIyZThmLThhYWItNGM4Zi05MjFlLTgxOTY1MmJmYzdlOXh3DmNvcmUvbGlzdC1pdGVtdyRjZGQ3NjM2OC0xYTUwLTQwOTgtYWJhMy0wNGRmZGI4MzMzZDF4dw5jb3JlL2xpc3QtaXRlbXckMzkzYmI1NjAtMTM5OC00NTJjLTk1ZTQtNGM3OGQzM2ZkNzU3eHcOY29yZS9zZXBhcmF0b3J3DWFscGhhLWNoYW5uZWx3AmhydyQ2ZWNlY2I1MS03MTdlLTQ4MzctODUxMy1kMTBkMmM1OGYyMDV4dwxjb3JlL2hlYWRpbmd9AnckNGE5NTRiZTUtOTZiMi00NmNkLTljYzgtN2QxNmVmODllZWRleHcOY29yZS9wYXJhZ3JhcGh5dyRmMjIwODhmYS1iOTVmLTRkODEtOWQ5Yy1hOGY4ODY2MzFhNGZ4dwljb3JlL2NvZGV3JDkyZDc5OGMwLTg3NGUtNDM1NS1hZDAxLTFlNDYzYWNjMjU5OHh3DGNvcmUvaGVhZGluZ30DdyQxZjg4NDA2My0xNGU4LTQ5ZGItYjg4Yy0zOTRjYWNiY2QwZDF4dwljb3JlL2NvZGV3JGU3MDg2OWIwLWIxM2MtNDhlYS05ZThiLWQ5NzI4MzM4Y2M1Nnh3DmNvcmUvc2VwYXJhdG9ydw1hbHBoYS1jaGFubmVsdwJocnckYzRmYjkzZWQtODIxMS00MjUyLWE5MDgtMmY5YWUzYTg0ZmQ1eHcMY29yZS9oZWFkaW5nfQJ3JDJhZDhmZGNlLTA2YzMtNDlmZC1hMjU3LWRjOTA0MzM0NzUwOXh3CWNvcmUvbGlzdHl3AHckNGNkMTE0NTAtOWVjZC00MTU1LTgxNWUtMGNjN2E2YjMwYThjeHcOY29yZS9saXN0LWl0ZW13JDVlY2I1ZGMyLTdiZGYtNGQ2Zi1iOGM3LWIzOWVkNGJiNGY5Nnh3DmNvcmUvbGlzdC1pdGVtdyQ1ZjhmYzIxMC0yNjY2LTRlODAtYTY5Zi1mYjg5ODRiYzkzODB4dw5jb3JlL2xpc3QtaXRlbXckMDU5NTQ0ODMtMTk5ZC00ODM1LWJmMWYtNzY2MGU4ODY3NjM3eHcOY29yZS9saXN0LWl0ZW13JGY0YTE2MzgxLTlhYWMtNGViNC04MDg1LTVkODUyM2UzMDQxOXh3DmNvcmUvc2VwYXJhdG9ydw1hbHBoYS1jaGFubmVsdwJocnckYmZmODA3NWMtMjViMi00OGY2LWE2ZDgtMmVmYWUwMGNjNDQyeHcMY29yZS9oZWFkaW5nfQJ3JDA1N2RkZjdjLWMxMTktNDM3Ny1hNzRmLWYwZTFhMDgxMTE4ZHh3DmNvcmUvcGFyYWdyYXBoeXckNWYzZmUzZWItOTdkNy00MmRmLTlkMGQtYjAzNTkxYTM0NTY2eHcJY29yZS9jb2RldyRiNGY5MDgzNi1mMWVjLTQ2ZmEtOWU4My01OGQ1NzEzZmE1OTh4dw5jb3JlL3BhcmFncmFwaHl3JDk2ZGFkYzk1LTg0MzUtNDBhZC04NmVhLWE1N2Q2ODE0NzkyNXh3DmNvcmUvc2VwYXJhdG9ydw1hbHBoYS1jaGFubmVsdwJocnckNjI1NmIwNmItMGE1YS00M2JkLThkZDctN2YyMTQ5MTExMWU4eHcMY29yZS9oZWFkaW5nfQF3JDcwOGFjMzAwLWUxNzUtNGVmOS04MWFiLWZkZTE5ODg2NzJlMnh3CWNvcmUvbGlzdHh3AHckZTMzNzYyNTUtZTFhOC00YTIwLWJmNTEtNTRmNjgyZThjOWMzeHcOY29yZS9saXN0LWl0ZW13JGZjNWY2NmQ2LTFmNjktNDYwNi05NDc3LWE1ZGY2ODdlYmIwOXh3DmNvcmUvbGlzdC1pdGVtdyQ3Njg5NzIyMi1kNmQ0LTRhZTAtOWEyNS04YjhkZDlhOWJmY2R4dwljb3JlL2xpc3R5dwB3JDE1YmEyNjFkLWU5ZjEtNGU2Ni04ZGQxLTljMzEyMGY3NGEzN3h3DmNvcmUvbGlzdC1pdGVtdyQxNGYxNDdhMC0yNDJlLTQyMDEtODczMi1kNzEyY2JlNjQwMWF4dw5jb3JlL2xpc3QtaXRlbXckMzE0NjhlY2QtMzk5Yy00ODNkLWJiM2ItNWM3ZDQ2M2UzYTkyeHcOY29yZS9saXN0LWl0ZW13JDA2MGE0YzdjLWE4NzUtNDY2NC1hNGNlLTY4MWQ2MmM3MzYzOHh3DmNvcmUvcGFyYWdyYXBoeXckYjAzMDQwYTMtMThkMi00NzFkLTlkOWMtOWU1ZjU3NTBmODBmeHcOY29yZS9saXN0LWl0ZW13JDRhYjQ0OGZiLTQ5YTAtNDQyOS1iNzExLWEzNTgzOGJiMmUzM3ckMDdhZDY5NjQtMzNmYi00ZjRmLTk3MTgtZWRjNWQ2MTg2OTg5eHcOY29yZS9wYXJhZ3JhcGh5dyRjZDUyYzc1Ny0wZWY4LTQzOWEtOGNjYS00YjA2YzdkMmFjODJ4dw5jb3JlL3BhcmFncmFwaHl3JGRmMDYyODZhLTAxMTAtNDAyZS04ZjJjLTkxYjBmN2U4MjdkOHcMY29yZS9oZWFkaW5nfQJ9AXckYjc2NWJmODgtNTQxOC00MTYwLTg0ODgtNzgwZGRlZGIzYmExdwpjb3JlL2ltYWdldwB9vCZ3M2h0dHBzOi8vcmFuZGVuZ3poZS5jbi93b3JkcHJlc3MvP2F0dGFjaG1lbnRfaWQ9MjQ5MndDaHR0cHM6Ly9yYW5kZW5nemhlLmNuL3dvcmRwcmVzcy93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS9kYXkxLnBuZ3cEZnVsbHcEbm9uZXc8W3siaWQiOiJkNjg2OTRjZS00Y2RmLTQyZTEtYWQ5OC1mZDI1NjEzYTNmZjciLCJjb250ZW50IjoiIn1ddyQzMTAwNzY0ZC1lZWFiLTRjYWUtYjUzNC1kODNjMmUxZGM3MjR4dw5jb3JlL2Zvb3Rub3Rlc3cAdyRjZDUyYzc1Ny0wZWY4LTQzOWEtOGNjYS00YjA2YzdkMmFjODJ3DmNvcmUvcGFyYWdyYXBoeX0CfQF3JGI3NjViZjg4LTU0MTgtNDE2MC04NDg4LTc4MGRkZWRiM2JhMXcKY29yZS9pbWFnZXcAfbwmdzNodHRwczovL3JhbmRlbmd6aGUuY24vd29yZHByZXNzLz9hdHRhY2htZW50X2lkPTI0OTJ3Q2h0dHBzOi8vcmFuZGVuZ3poZS5jbi93b3JkcHJlc3Mvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvZGF5MS5wbmd3BGZ1bGx3BG5vbmV1AX0edwdwdWJsaXNodxMyMDI2LTA1LTAyVDE2OjE3OjU0d5kBc2ZtbCVlNSVhNCU5YSVlNSVhYSU5MiVlNCViZCU5MyVlNSViYSU5MyVlNSViYyU4MCVlNSU4ZiU5MWRheTFfJWU1JTg4JTliJWU1JWJiJWJhJWU3JWFhJTk3JWU1JThmJWEzJWU3JWJiJTk4JWU1JTg4JWI2JWU3JTliJWI0JWU4JWE3JTkyJWU1JTlkJTkwJWU2JWEwJTg3e0J53nxAfLAAfabE8+8DAabi+fcBOAEBAQMLAQIOBAECAgUAAQACACAAxQEFCgABACYASwEKABsABQAPABgAJwAJABoAMAAfAAkBFAAsARIBEgESABkABQENAKoIBgIAAQACAPYDAQEDCgALAAEBAQP5AgPvGAABAAEBAwFdAAEDNQShAawCJAQKBA4C\",\"updateId\":548388096}","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30],"tags":[],"class_list":["post-2490","post","type-post","status-publish","format-standard","hentry","category-sfml"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/posts\/2490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/comments?post=2490"}],"version-history":[{"count":2,"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/posts\/2490\/revisions"}],"predecessor-version":[{"id":2496,"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/posts\/2490\/revisions\/2496"}],"wp:attachment":[{"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/media?parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/categories?post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randengzhe.cn\/wordpress\/wp-json\/wp\/v2\/tags?post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}