{"componentChunkName":"component---src-templates-post-template-js","path":"/ctf-tet-ctf-2024-en","result":{"data":{"markdownRemark":{"id":"61100481-9af1-5ae1-a56d-9de23eda9fae","html":"<blockquote>\n<p>This page has been machine-translated from the <a href=\"/ctf-tet-ctf-2024\">original page</a>.</p>\n</blockquote>\n<p>I participated in TetCTF, which started on 1/27, as a solo player.</p>\n<p>I only managed to solve one Rev challenge, but it seems this CTF was fairly difficult, and I ended up in 111th place.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 719px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/7a294ab40166f3f5c4511f5b3ae85e93/073e9/image-20240131173857004.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 36.66666666666667%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwklEQVQoz52R2w7CIBBE+/+fqUYUaFkupUAvI4v1wRetkpxAFmYzs3QhBGitYawHOY9xHH8ixoi+H0DWIqWErpTSirksWNYV/yzWlzK3c+ecg1IKvbG43Hpc5QCuHcV7Dyllc8mNuzhGEBFciFDGwbiAqVqfpukQHNNUPTfmtG+RKSSkugMb1m3DdoBX5Fz7tMjsTgiBux5wEgrnih4MbB0y3xHZD1B7J8StjY0/qTlk2ynnGvVJzkzZ92/s+qqb5xkPgIgfGFEKK7oAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/7a294ab40166f3f5c4511f5b3ae85e93/8ac56/image-20240131173857004.webp 240w,\n/static/7a294ab40166f3f5c4511f5b3ae85e93/d3be9/image-20240131173857004.webp 480w,\n/static/7a294ab40166f3f5c4511f5b3ae85e93/05ca6/image-20240131173857004.webp 719w\"\n              sizes=\"(max-width: 719px) 100vw, 719px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/7a294ab40166f3f5c4511f5b3ae85e93/8ff5a/image-20240131173857004.png 240w,\n/static/7a294ab40166f3f5c4511f5b3ae85e93/e85cb/image-20240131173857004.png 480w,\n/static/7a294ab40166f3f5c4511f5b3ae85e93/073e9/image-20240131173857004.png 719w\"\n            sizes=\"(max-width: 719px) 100vw, 719px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/7a294ab40166f3f5c4511f5b3ae85e93/073e9/image-20240131173857004.png\"\n            alt=\"image-20240131173857004\"\n            title=\"image-20240131173857004\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Still, the top scores looked like this, so the gap felt pretty daunting.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 698px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/b0178eda9503c605fd29efe45bd3dccd/487bb/image-20240131174136886.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 76.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAABg0lEQVQ4y5VTi26DMBDj//9ym8abJCSEJATq3R20Qlq7MiSLKE/7zi6stVBKAbjhdrth27YH+BvHEdoYGZ/Xznucc9DayPmCDyg1oGoV6k5hclYuMYZA//GAeQZ6iAm1bYuyrGifRRFjxDzPcD7AWI9xmhFoLqV0CcuyCEO+LKUFRc5ZJmPKsD4J8rr9kv8KtA0hBHjvd8lMexgGkftVdfgoO7S9oheNSHoHLkfTNCirSsYF02bZliSPU0Aitsx4EebvsCDnVdixbFZbyOElYZoT3BxJxop1vQ6WzZInupTHhdZaJDf9Ifm7xaC0yOG1d2A3NA13uZQzwpBlB+oQS3ae5UdqzP8ZrszwXkMfEozb7cP13OuT91q+wrMaMmVOSt0N6AdNRj2MfKHDnA7eK8amLj8kM+aYEalzV/139iEHwxJD8SHrlwmqn6WUxEgluJiSe1LskWUeH1lWYubPqoeiBUd5vmf5T5yyXNX1nmVmKKDoaUd5Jljy5FXp/PnZPyT/AGJFi3YG1VSgAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/b0178eda9503c605fd29efe45bd3dccd/8ac56/image-20240131174136886.webp 240w,\n/static/b0178eda9503c605fd29efe45bd3dccd/d3be9/image-20240131174136886.webp 480w,\n/static/b0178eda9503c605fd29efe45bd3dccd/d1b7f/image-20240131174136886.webp 698w\"\n              sizes=\"(max-width: 698px) 100vw, 698px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/b0178eda9503c605fd29efe45bd3dccd/8ff5a/image-20240131174136886.png 240w,\n/static/b0178eda9503c605fd29efe45bd3dccd/e85cb/image-20240131174136886.png 480w,\n/static/b0178eda9503c605fd29efe45bd3dccd/487bb/image-20240131174136886.png 698w\"\n            sizes=\"(max-width: 698px) 100vw, 698px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/b0178eda9503c605fd29efe45bd3dccd/487bb/image-20240131174136886.png\"\n            alt=\"image-20240131174136886\"\n            title=\"image-20240131174136886\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<!-- omit in toc -->\n<h2 id=\"table-of-contents\" style=\"position:relative;\"><a href=\"#table-of-contents\" aria-label=\"table of contents permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Table of Contents</h2>\n<ul>\n<li><a href=\"#babyasmrev\">babyasm(Rev)</a></li>\n<li><a href=\"#warm-uprev\">Warm up(Rev)</a></li>\n<li><a href=\"#summary\">Summary</a></li>\n</ul>\n<h2 id=\"babyasmrev\" style=\"position:relative;\"><a href=\"#babyasmrev\" aria-label=\"babyasmrev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>babyasm(Rev)</h2>\n<blockquote>\n<p>Description:</p>\n<p>Can you unlock it?</p>\n<p>Server: <a href=\"http://103.3.61.46/TetCTF2024-babyasm/babyasm.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">http://103.3.61.46/TetCTF2024-babyasm/babyasm.html</a></p>\n</blockquote>\n<p>When you access the URL given in the problem statement, you can see that it runs a service that accepts input and validates it using logic implemented in WebAssembly.</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\"><span class=\"token punctuation\">&lt;!</span><span class=\"token doctype-tag\">DOCTYPE</span> <span class=\"token name\">html</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">lang</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>en<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>UTF-8<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1.0<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>baby-asm<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>style</span><span class=\"token punctuation\">></span></span><span class=\"token style\"><span class=\"token language-css\">\n    <span class=\"token selector\">body</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">font-family</span><span class=\"token punctuation\">:</span> <span class=\"token string\">'Courier New'</span><span class=\"token punctuation\">,</span> monospace<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">margin</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 0<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> #f0f0f0<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">display</span><span class=\"token punctuation\">:</span> flex<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">flex-direction</span><span class=\"token punctuation\">:</span> column<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">height</span><span class=\"token punctuation\">:</span> 100vh<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token selector\">#console</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">flex-grow</span><span class=\"token punctuation\">:</span> 1<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">overflow</span><span class=\"token punctuation\">:</span> auto<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">background-color</span><span class=\"token punctuation\">:</span> black<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">color</span><span class=\"token punctuation\">:</span> white<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 10px<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">box-sizing</span><span class=\"token punctuation\">:</span> border-box<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token selector\">#input</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 100%<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">padding</span><span class=\"token punctuation\">:</span> 5px<span class=\"token punctuation\">;</span>\n      <span class=\"token property\">box-sizing</span><span class=\"token punctuation\">:</span> border-box<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n  </span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>style</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>console<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>input</span> <span class=\"token attr-name\">type</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>text<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>input<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">placeholder</span><span class=\"token attr-value\"><span class=\"token punctuation attr-equals\">=</span><span class=\"token punctuation\">\"</span>Input your password<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  \n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>script</span><span class=\"token punctuation\">></span></span><span class=\"token script\"><span class=\"token language-javascript\">\n\n    code <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">109</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">56</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">80</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">95</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">80</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">94</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">100</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">96</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">118</span><span class=\"token punctuation\">,</span><span class=\"token number\">20</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">224</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">229</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">20</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">177</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">155</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">244</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">236</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">197</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">212</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">237</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">231</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">238</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">239</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">223</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">244</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">231</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">225</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">200</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">20</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">59</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">45</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">49</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">105</span><span class=\"token punctuation\">,</span><span class=\"token number\">110</span><span class=\"token punctuation\">,</span><span class=\"token number\">105</span><span class=\"token punctuation\">,</span><span class=\"token number\">116</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">114</span><span class=\"token punctuation\">,</span><span class=\"token number\">114</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">121</span><span class=\"token punctuation\">,</span><span class=\"token number\">95</span><span class=\"token punctuation\">,</span><span class=\"token number\">102</span><span class=\"token punctuation\">,</span><span class=\"token number\">105</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">51</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">52</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">53</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">104</span><span class=\"token punctuation\">,</span><span class=\"token number\">101</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">184</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">142</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">55</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">55</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">55</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">55</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">55</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">251</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">22</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">251</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">251</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">251</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">251</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">109</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">36</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">55</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">172</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">137</span><span class=\"token punctuation\">,</span><span class=\"token number\">175</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">200</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">226</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">194</span><span class=\"token punctuation\">,</span><span class=\"token number\">173</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">193</span><span class=\"token punctuation\">,</span><span class=\"token number\">242</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">135</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">193</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">242</span><span class=\"token punctuation\">,</span><span class=\"token number\">240</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">166</span><span class=\"token punctuation\">,</span><span class=\"token number\">243</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">238</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">151</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">229</span><span class=\"token punctuation\">,</span><span class=\"token number\">241</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">225</span><span class=\"token punctuation\">,</span><span class=\"token number\">139</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">129</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">151</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">174</span><span class=\"token punctuation\">,</span><span class=\"token number\">137</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">225</span><span class=\"token punctuation\">,</span><span class=\"token number\">149</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">177</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">161</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">234</span><span class=\"token punctuation\">,</span><span class=\"token number\">147</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">64</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">33</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">20</span><span class=\"token punctuation\">,</span><span class=\"token number\">70</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">218</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">106</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">65</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">35</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">32</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">45</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">110</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">109</span><span class=\"token punctuation\">,</span><span class=\"token number\">101</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">38</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">49</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">105</span><span class=\"token punctuation\">,</span><span class=\"token number\">110</span><span class=\"token punctuation\">,</span><span class=\"token number\">105</span><span class=\"token punctuation\">,</span><span class=\"token number\">116</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">114</span><span class=\"token punctuation\">,</span><span class=\"token number\">114</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">121</span><span class=\"token punctuation\">,</span><span class=\"token number\">95</span><span class=\"token punctuation\">,</span><span class=\"token number\">102</span><span class=\"token punctuation\">,</span><span class=\"token number\">105</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">108</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">51</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">52</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">53</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">104</span><span class=\"token punctuation\">,</span><span class=\"token number\">101</span><span class=\"token punctuation\">,</span><span class=\"token number\">99</span><span class=\"token punctuation\">,</span><span class=\"token number\">107</span> <span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>            <span class=\"token keyword\">const</span> byte_code <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Uint8Array</span><span class=\"token punctuation\">(</span>code<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">const</span> wasmModule <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">WebAssembly<span class=\"token punctuation\">.</span>Module</span><span class=\"token punctuation\">(</span>byte_code<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">const</span> wasmInstance <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">WebAssembly<span class=\"token punctuation\">.</span>Instance</span><span class=\"token punctuation\">(</span>wasmModule<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">const</span> wasm <span class=\"token operator\">=</span> wasmInstance<span class=\"token punctuation\">.</span>exports<span class=\"token punctuation\">;</span>\n    \n    <span class=\"token keyword\">const</span> consoleDiv <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">'console'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">const</span> inputField <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">'input'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    inputField<span class=\"token punctuation\">.</span><span class=\"token function\">addEventListener</span><span class=\"token punctuation\">(</span><span class=\"token string\">'keydown'</span><span class=\"token punctuation\">,</span> <span class=\"token keyword\">function</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\">event</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>event<span class=\"token punctuation\">.</span>key <span class=\"token operator\">===</span> <span class=\"token string\">'Enter'</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">const</span> inputText <span class=\"token operator\">=</span> inputField<span class=\"token punctuation\">.</span>value<span class=\"token punctuation\">;</span>\n        <span class=\"token function\">processInput</span><span class=\"token punctuation\">(</span>inputText<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        inputField<span class=\"token punctuation\">.</span>value <span class=\"token operator\">=</span> <span class=\"token string\">''</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">function</span> <span class=\"token function\">processInput</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">text</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">const</span> p <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">createElement</span><span class=\"token punctuation\">(</span><span class=\"token string\">'p'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>text<span class=\"token punctuation\">.</span><span class=\"token function\">startsWith</span><span class=\"token punctuation\">(</span><span class=\"token string\">'TetCTF{'</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;&amp;</span> text<span class=\"token punctuation\">.</span><span class=\"token function\">endsWith</span><span class=\"token punctuation\">(</span><span class=\"token string\">'}'</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;&amp;</span> text<span class=\"token punctuation\">.</span>length <span class=\"token operator\">===</span> <span class=\"token number\">27</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\n        <span class=\"token keyword\">let</span> array_size<span class=\"token operator\">=</span> <span class=\"token number\">20</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">let</span> array_obj <span class=\"token operator\">=</span> wasm<span class=\"token punctuation\">.</span><span class=\"token function\">init</span><span class=\"token punctuation\">(</span>array_size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        \n        <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">var</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> array_size<span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          wasm<span class=\"token punctuation\">.</span><span class=\"token function\">array_fill</span><span class=\"token punctuation\">(</span>array_obj<span class=\"token punctuation\">,</span> i<span class=\"token punctuation\">,</span> text<span class=\"token punctuation\">.</span><span class=\"token function\">charCodeAt</span><span class=\"token punctuation\">(</span>i<span class=\"token operator\">+</span><span class=\"token number\">7</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>wasm<span class=\"token punctuation\">.</span><span class=\"token function\">check</span><span class=\"token punctuation\">(</span>array_obj <span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n          p<span class=\"token punctuation\">.</span>textContent <span class=\"token operator\">=</span> <span class=\"token string\">'> Correct!'</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n          p<span class=\"token punctuation\">.</span>textContent <span class=\"token operator\">=</span> <span class=\"token string\">'> Incorrect!'</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n        p<span class=\"token punctuation\">.</span>textContent <span class=\"token operator\">=</span> <span class=\"token string\">'> Incorrect!'</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n      consoleDiv<span class=\"token punctuation\">.</span><span class=\"token function\">appendChild</span><span class=\"token punctuation\">(</span>p<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      consoleDiv<span class=\"token punctuation\">.</span>scrollTop <span class=\"token operator\">=</span> consoleDiv<span class=\"token punctuation\">.</span>scrollHeight<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n  </span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>script</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>The webpage looked like this.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/05a8ac8e84a896e580badf0370f8f6e4/47218/image-20240127121919659.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 95%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAACXBIWXMAAAsTAAALEwEAmpwYAAABlklEQVQ4y83UTU/CMBwGcAhHLiYEXy5GAgPGXmBdt46te3O6gXriuxBCOPDRH9uqIRpF0R08/LOsyX552nRPo9Fo4Nj0en1UVYVwHiDiHEX5hDy7RxRx8DBGzGNwMWE4R5Km8pvj4PnFFdKiBA1C6IYJZ0aQeCXSqEBACnCvgOcxDIcaXNf9Hjy7vIaVLHBDM/RIBMchyNkDFsUT5n6FfL4EcR30+wNQSr8HO50OdF0XCYaYTCYKzPwlytulAEtkbAHqUWiahul0+jNQQgfQUQnLYomQVQJ8hO8zaIPBb0F5hhXu8wUCcQwBSQQ0Uwlt2z4NNAxDnBcBs3JELIVpvKyPx2P1tCzrdNClLgLrFqGfiHcdo9Hob6BMKEGZ0BAJawKLusHXhGadoF9nQlv8ckH2T7fs0gNoWka9Ca3PwFarha+m2Wyi2+1+AJ3DxTbl+okJ2+22gt5A6rmIpqJlojvMZrbAdNVGMqkC1+s1NpsNdrvdu9lut9jv91itVqLr+iqFBOOYI+Viy6KtGWOqVCUkW4gQgmdJGwFLilgKWgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/05a8ac8e84a896e580badf0370f8f6e4/8ac56/image-20240127121919659.webp 240w,\n/static/05a8ac8e84a896e580badf0370f8f6e4/d3be9/image-20240127121919659.webp 480w,\n/static/05a8ac8e84a896e580badf0370f8f6e4/e46b2/image-20240127121919659.webp 960w,\n/static/05a8ac8e84a896e580badf0370f8f6e4/3dddb/image-20240127121919659.webp 1344w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/05a8ac8e84a896e580badf0370f8f6e4/8ff5a/image-20240127121919659.png 240w,\n/static/05a8ac8e84a896e580badf0370f8f6e4/e85cb/image-20240127121919659.png 480w,\n/static/05a8ac8e84a896e580badf0370f8f6e4/d9199/image-20240127121919659.png 960w,\n/static/05a8ac8e84a896e580badf0370f8f6e4/47218/image-20240127121919659.png 1344w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/05a8ac8e84a896e580badf0370f8f6e4/d9199/image-20240127121919659.png\"\n            alt=\"image-20240127121919659\"\n            title=\"image-20240127121919659\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>As a first step, I saved the byte sequence hardcoded in the HTML as a <code class=\"language-text\">.wasm</code> file so I could decompile the WebAssembly.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 960px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/4f2fbff240f3e85ffd72e7c85e538806/f2763/image-20240127123135218.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 83.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsTAAALEwEAmpwYAAABrUlEQVQ4y5WTCW+jMBCF8/9/3e5KbXfVVtpuwmGDzWF8UAhvZ1yMQg+pOPr0BhIeb8bO6SL/QZkKrVVoVlqr0fsWvWthQodMnvH88gilawx2gHMW1g3EqnatSU+P8gGX9i9qV0DaHBVp3r/gQf7A7/on/tS/8KTv8KzvISuBIi8gypIQkFKipDpRFAVOnW3hXy3C7OAnR+phR4Oyz1CaDGLIoZxA4ysoVceH+GEhxIqEXGu+f1oWxLVQkfhqKaWioRDlZpBeUCbD6/W6N8SyM79Fa72l43bfWhY3aQUnXD4kfE/6XmtOWG6mKV1Uvs7zveFna2+od/NLdVRKK95m+H1DnmFOKba5relS6rjLRwyttei6Dn3fwxgTNV2n+pDhNE2Im/h+zvGDyOGW27ZFGMfIyBrCjm8Zrr+AqSo4mlOgjfA0M08a6N5r02wcSmgooa9rBKXhqDZUs/qG/m2U3B01HNngcoGjdMyQZRjOZ1hSxlB9yNBTe4GOjae22TBw+wy9iEcQ6CweS0gHe6QWJ26bmOiozHR85sESQ+RYQjIINKeZjFkn5zDfMFmH/wTTJWvKVTLqAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/4f2fbff240f3e85ffd72e7c85e538806/8ac56/image-20240127123135218.webp 240w,\n/static/4f2fbff240f3e85ffd72e7c85e538806/d3be9/image-20240127123135218.webp 480w,\n/static/4f2fbff240f3e85ffd72e7c85e538806/e46b2/image-20240127123135218.webp 960w,\n/static/4f2fbff240f3e85ffd72e7c85e538806/b21f7/image-20240127123135218.webp 1291w\"\n              sizes=\"(max-width: 960px) 100vw, 960px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/4f2fbff240f3e85ffd72e7c85e538806/8ff5a/image-20240127123135218.png 240w,\n/static/4f2fbff240f3e85ffd72e7c85e538806/e85cb/image-20240127123135218.png 480w,\n/static/4f2fbff240f3e85ffd72e7c85e538806/d9199/image-20240127123135218.png 960w,\n/static/4f2fbff240f3e85ffd72e7c85e538806/f2763/image-20240127123135218.png 1291w\"\n            sizes=\"(max-width: 960px) 100vw, 960px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/4f2fbff240f3e85ffd72e7c85e538806/d9199/image-20240127123135218.png\"\n            alt=\"image-20240127123135218\"\n            title=\"image-20240127123135218\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>However, I couldn’t analyze it properly with wabt, so I had no choice but to read the assembly code shown in the browser instead.</p>\n<p>For reference, Ghidra with the Wasm plugin installed also failed to decompile it.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 755px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/bc48737150ada943915671d148401dfe/cab43/image-20240130183106250.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 35.833333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAYAAAAIy204AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA/0lEQVQoz52QzUvDQBDF85crHlUQb568efPkQQlYKAg9CAUPPYgFkTYxtvkwsfloNtndn5MmguDJPvbxZobZN7PrnLkLDm89Du6WHLlLTkc+JyOP43uP87HPxYPP5eSdq8eA62nAzdMH7mzF+HnNZL5m+hoyW0S8+BFvQYyTpxkqMTSpMAOV9nGbGfSmq/Vsc4MSVV8GqyymtthGVGJd90SOkyQpdWWFjXCDquTSVkxqMZHmRho7/Yl/520z6FCz1uJEYUapDGWTUxRzyqqVQTJqL9h+Q9WtrSUdfLpJ+9KJopjPBFbhlqIq/hj+F04cx1gD2miM0buP7Z68j1mHb5hKHBC2laBLAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/bc48737150ada943915671d148401dfe/8ac56/image-20240130183106250.webp 240w,\n/static/bc48737150ada943915671d148401dfe/d3be9/image-20240130183106250.webp 480w,\n/static/bc48737150ada943915671d148401dfe/a149a/image-20240130183106250.webp 755w\"\n              sizes=\"(max-width: 755px) 100vw, 755px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/bc48737150ada943915671d148401dfe/8ff5a/image-20240130183106250.png 240w,\n/static/bc48737150ada943915671d148401dfe/e85cb/image-20240130183106250.png 480w,\n/static/bc48737150ada943915671d148401dfe/cab43/image-20240130183106250.png 755w\"\n            sizes=\"(max-width: 755px) 100vw, 755px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/bc48737150ada943915671d148401dfe/cab43/image-20240130183106250.png\"\n            alt=\"image-20240130183106250\"\n            title=\"image-20240130183106250\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>As you can see from the JavaScript implementation, the input string is first checked to see whether it is a 27-character text matching the flag format <code class=\"language-text\">TetCTF{.*}</code>. After initialization with <code class=\"language-text\">wasm.init(array_size)</code> and <code class=\"language-text\">wasm.array_fill(array_obj, i, text.charCodeAt(i+7));</code>, validation is then performed by <code class=\"language-text\">wasm.check(array_obj)</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">processInput</span><span class=\"token punctuation\">(</span><span class=\"token parameter\">text</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> p <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">createElement</span><span class=\"token punctuation\">(</span><span class=\"token string\">'p'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>text<span class=\"token punctuation\">.</span><span class=\"token function\">startsWith</span><span class=\"token punctuation\">(</span><span class=\"token string\">'TetCTF{'</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;&amp;</span> text<span class=\"token punctuation\">.</span><span class=\"token function\">endsWith</span><span class=\"token punctuation\">(</span><span class=\"token string\">'}'</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;&amp;</span> text<span class=\"token punctuation\">.</span>length <span class=\"token operator\">===</span> <span class=\"token number\">27</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\n    <span class=\"token keyword\">let</span> array_size<span class=\"token operator\">=</span> <span class=\"token number\">20</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">let</span> array_obj <span class=\"token operator\">=</span> wasm<span class=\"token punctuation\">.</span><span class=\"token function\">init</span><span class=\"token punctuation\">(</span>array_size<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">var</span> i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> array_size<span class=\"token punctuation\">;</span> i<span class=\"token operator\">++</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      wasm<span class=\"token punctuation\">.</span><span class=\"token function\">array_fill</span><span class=\"token punctuation\">(</span>array_obj<span class=\"token punctuation\">,</span> i<span class=\"token punctuation\">,</span> text<span class=\"token punctuation\">.</span><span class=\"token function\">charCodeAt</span><span class=\"token punctuation\">(</span>i<span class=\"token operator\">+</span><span class=\"token number\">7</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>wasm<span class=\"token punctuation\">.</span><span class=\"token function\">check</span><span class=\"token punctuation\">(</span>array_obj <span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">{</span>\n      p<span class=\"token punctuation\">.</span>textContent <span class=\"token operator\">=</span> <span class=\"token string\">'> Correct!'</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n      p<span class=\"token punctuation\">.</span>textContent <span class=\"token operator\">=</span> <span class=\"token string\">'> Incorrect!'</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    p<span class=\"token punctuation\">.</span>textContent <span class=\"token operator\">=</span> <span class=\"token string\">'> Incorrect!'</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  consoleDiv<span class=\"token punctuation\">.</span><span class=\"token function\">appendChild</span><span class=\"token punctuation\">(</span>p<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  consoleDiv<span class=\"token punctuation\">.</span>scrollTop <span class=\"token operator\">=</span> consoleDiv<span class=\"token punctuation\">.</span>scrollHeight<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>The <code class=\"language-text\">wasm.array_fill()</code> function was implemented as follows.</p>\n<p>Here, it stores at a specific index of the array given as the first argument the value obtained by adding 83 to the value received as the third argument.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 769px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/25afc9e5fed278101b91442cd1bf086f/227ba/image-20240127131131323.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 22.916666666666668%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAmElEQVQY06WMSw7CIABEuQxQQwVKKdCPTWN0oTvvf5gnXahx3cVLZl4yI+ZwY52uLMuC7zzRTvQmMNoT2RmG2oeuEPtIMIkhFHIe6M+FFEb87t1IcnUXI2K1T275VQ9ntNIoLSsKqTXy09WO+mYp1b9Xvywu7kHxG601VWiapjmEmOyd4jZSShhj0PrYqch2o+yUQtseP3wDGoCXaQuW5lgAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/25afc9e5fed278101b91442cd1bf086f/8ac56/image-20240127131131323.webp 240w,\n/static/25afc9e5fed278101b91442cd1bf086f/d3be9/image-20240127131131323.webp 480w,\n/static/25afc9e5fed278101b91442cd1bf086f/85eee/image-20240127131131323.webp 769w\"\n              sizes=\"(max-width: 769px) 100vw, 769px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/25afc9e5fed278101b91442cd1bf086f/8ff5a/image-20240127131131323.png 240w,\n/static/25afc9e5fed278101b91442cd1bf086f/e85cb/image-20240127131131323.png 480w,\n/static/25afc9e5fed278101b91442cd1bf086f/227ba/image-20240127131131323.png 769w\"\n            sizes=\"(max-width: 769px) 100vw, 769px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/25afc9e5fed278101b91442cd1bf086f/227ba/image-20240127131131323.png\"\n            alt=\"image-20240127131131323\"\n            title=\"image-20240127131131323\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>In Python, this looks like the following.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token comment\"># array_fill</span>\n<span class=\"token keyword\">def</span> <span class=\"token function\">array_fill</span><span class=\"token punctuation\">(</span>arr<span class=\"token punctuation\">,</span>i<span class=\"token punctuation\">,</span>c<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    arr<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> c <span class=\"token operator\">+</span> <span class=\"token number\">83</span>\n    <span class=\"token keyword\">return</span> arr</code></pre></div>\n<p>The <code class=\"language-text\">check</code> function called afterward performs the following processing.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token punctuation\">(</span>func <span class=\"token variable\">$check</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">;</span><span class=\"token number\">6</span><span class=\"token punctuation\">;</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span>export <span class=\"token string\">\"check\"</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">(</span>param <span class=\"token variable\">$var0</span> <span class=\"token punctuation\">(</span>ref null <span class=\"token variable\">$type1</span><span class=\"token punctuation\">))</span> <span class=\"token punctuation\">(</span>result i32<span class=\"token punctuation\">)</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">0</span>\n    i32.const <span class=\"token number\">1</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">0</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global0</span>\n    i32.add\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">1</span>\n    i32.const <span class=\"token number\">2</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">1</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global1</span>\n    i32.sub\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">2</span>\n    i32.const <span class=\"token number\">3</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">2</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global2</span>\n    i32.mul\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">3</span>\n    i32.const <span class=\"token number\">0</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">3</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global3</span>\n    i32.xor\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">0</span>\n    i32.const <span class=\"token number\">5</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">4</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global4</span>\n    i32.add\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">1</span>\n    i32.const <span class=\"token number\">6</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">5</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global5</span>\n    i32.sub\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">2</span>\n    i32.const <span class=\"token number\">7</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">6</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global6</span>\n    i32.mul\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">3</span>\n    i32.const <span class=\"token number\">4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">7</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global7</span>\n    i32.xor\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">0</span>\n    i32.const <span class=\"token number\">9</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">8</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global8</span>\n    i32.add\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">1</span>\n    i32.const <span class=\"token number\">10</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">9</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global9</span>\n    i32.sub\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">2</span>\n    i32.const <span class=\"token number\">11</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">10</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global10</span>\n    i32.mul\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">3</span>\n    i32.const <span class=\"token number\">8</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">11</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global11</span>\n    i32.xor\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">0</span>\n    i32.const <span class=\"token number\">13</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">12</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global12</span>\n    i32.add\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">1</span>\n    i32.const <span class=\"token number\">14</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">13</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global13</span>\n    i32.sub\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">2</span>\n    i32.const <span class=\"token number\">15</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">14</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global14</span>\n    i32.mul\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">3</span>\n    i32.const <span class=\"token number\">12</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">15</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global15</span>\n    i32.xor\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">0</span>\n    i32.const <span class=\"token number\">17</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">16</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global16</span>\n    i32.add\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">1</span>\n    i32.const <span class=\"token number\">18</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">17</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global17</span>\n    i32.sub\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">2</span>\n    i32.const <span class=\"token number\">19</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">18</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global18</span>\n    i32.mul\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">3</span>\n    i32.const <span class=\"token number\">16</span>\n    local.get <span class=\"token variable\">$var0</span>\n    i32.const <span class=\"token number\">19</span>\n    call <span class=\"token variable\">$3</span>\n    global.get <span class=\"token variable\">$global19</span>\n    i32.xor\n    call <span class=\"token variable\">$4</span>\n    local.get <span class=\"token variable\">$var0</span>\n    call <span class=\"token variable\">$5</span>\n  <span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">)</span></code></pre></div>\n<p>Within it, the following sequence is executed for 20 characters.</p>\n<ol>\n<li>Use function <code class=\"language-text\">$3</code> to retrieve the value corresponding to an index from the array.</li>\n<li>Add, subtract, multiply, or XOR the retrieved value with the value defined in a global variable.</li>\n<li>\n<p>Call function <code class=\"language-text\">$4</code> to update a value in the array.</p>\n<p>=> When <code class=\"language-text\">param_1</code> is 0</p>\n<ul>\n<li>Add the original value and the global value, XOR the result with 32, then add 83 via <code class=\"language-text\">array_fill</code>, and use that to update the array element specified by <code class=\"language-text\">var2</code>.</li>\n</ul>\n<p>=> When <code class=\"language-text\">param_1</code> is 1</p>\n<ul>\n<li>Subtract the global value from the original value, XOR the result with 36, then add 83 via <code class=\"language-text\">array_fill</code>, and use that to update the array element specified by <code class=\"language-text\">var2</code>.</li>\n</ul>\n<p>=> When <code class=\"language-text\">param_1</code> is 2</p>\n<ul>\n<li>Multiply the original value by the global value, XOR the result with 19, then add 83 via <code class=\"language-text\">array_fill</code>, and use that to update the array element specified by <code class=\"language-text\">var2</code>.</li>\n</ul>\n<p>=> When <code class=\"language-text\">param_1</code> is 3</p>\n<ul>\n<li>XOR the original value with the global value, XOR the result with 55, then add 83 via <code class=\"language-text\">array_fill</code>, and use that to update the array element specified by <code class=\"language-text\">var2</code>.</li>\n</ul>\n</li>\n<li>Finally, function <code class=\"language-text\">$5</code> checks whether the resulting array matches the hardcoded values.</li>\n</ol>\n<p>After rewriting these processes as a Python script and using Z3, I identified the correct flag.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">from</span> z3 <span class=\"token keyword\">import</span> <span class=\"token operator\">*</span>\n<span class=\"token keyword\">from</span> math <span class=\"token keyword\">import</span> <span class=\"token operator\">*</span>\n\nflag <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>BitVec<span class=\"token punctuation\">(</span><span class=\"token string-interpolation\"><span class=\"token string\">f\"flag[</span><span class=\"token interpolation\"><span class=\"token punctuation\">{</span>i<span class=\"token punctuation\">}</span></span><span class=\"token string\">]\"</span></span><span class=\"token punctuation\">,</span> <span class=\"token number\">8</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">27</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\ns <span class=\"token operator\">=</span> Solver<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># TetCTF{AAAAAAAAAAAAAAAAAAA}</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"T\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"e\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"t\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"C\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"T\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"F\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"{\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\ns<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span><span class=\"token number\">26</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> <span class=\"token builtin\">ord</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"}\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">26</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    s<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>And<span class=\"token punctuation\">(</span>\n        <span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">>=</span> <span class=\"token number\">0x21</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n        <span class=\"token punctuation\">(</span>flag<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">&lt;=</span> <span class=\"token number\">0x7e</span><span class=\"token punctuation\">)</span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># flag = list(\"TetCTF{\") + [ord(\"A\") for i in range(20)] + [\"}\"]</span>\n\n<span class=\"token builtin\">globals</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">115</span><span class=\"token punctuation\">,</span><span class=\"token number\">82</span><span class=\"token punctuation\">,</span><span class=\"token number\">52</span><span class=\"token punctuation\">,</span><span class=\"token number\">149</span><span class=\"token punctuation\">,</span><span class=\"token number\">136</span><span class=\"token punctuation\">,</span><span class=\"token number\">67</span><span class=\"token punctuation\">,</span><span class=\"token number\">76</span><span class=\"token punctuation\">,</span><span class=\"token number\">97</span><span class=\"token punctuation\">,</span><span class=\"token number\">71</span><span class=\"token punctuation\">,</span><span class=\"token number\">90</span><span class=\"token punctuation\">,</span><span class=\"token number\">71</span><span class=\"token punctuation\">,</span><span class=\"token number\">74</span><span class=\"token punctuation\">,</span><span class=\"token number\">124</span><span class=\"token punctuation\">,</span><span class=\"token number\">104</span><span class=\"token punctuation\">,</span><span class=\"token number\">84</span><span class=\"token punctuation\">,</span><span class=\"token number\">67</span><span class=\"token punctuation\">,</span><span class=\"token number\">114</span><span class=\"token punctuation\">,</span><span class=\"token number\">127</span><span class=\"token punctuation\">,</span><span class=\"token number\">52</span><span class=\"token punctuation\">,</span><span class=\"token number\">31</span><span class=\"token punctuation\">]</span>\n\n<span class=\"token comment\"># array_fill</span>\n<span class=\"token keyword\">def</span> <span class=\"token function\">array_fill</span><span class=\"token punctuation\">(</span>arr<span class=\"token punctuation\">,</span>i<span class=\"token punctuation\">,</span>c<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    arr<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> c <span class=\"token operator\">+</span> <span class=\"token number\">83</span>\n    <span class=\"token keyword\">return</span> arr\n\n<span class=\"token keyword\">def</span> <span class=\"token function\">f4</span><span class=\"token punctuation\">(</span>arr<span class=\"token punctuation\">,</span>type_num<span class=\"token punctuation\">,</span>index<span class=\"token punctuation\">,</span>value<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    tmp <span class=\"token operator\">=</span> arr<span class=\"token punctuation\">[</span>index<span class=\"token punctuation\">]</span> <span class=\"token operator\">+</span> value\n\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        tmp <span class=\"token operator\">=</span> tmp <span class=\"token operator\">^</span> <span class=\"token number\">32</span>\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">1</span><span class=\"token punctuation\">:</span>\n        tmp <span class=\"token operator\">=</span> tmp <span class=\"token operator\">^</span> <span class=\"token number\">36</span>\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">2</span><span class=\"token punctuation\">:</span>\n        tmp <span class=\"token operator\">=</span> tmp <span class=\"token operator\">^</span> <span class=\"token number\">19</span>\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">3</span><span class=\"token punctuation\">:</span>\n        tmp <span class=\"token operator\">=</span> tmp <span class=\"token operator\">^</span> <span class=\"token number\">55</span>\n\n    arr <span class=\"token operator\">=</span> array_fill<span class=\"token punctuation\">(</span>arr<span class=\"token punctuation\">,</span>index<span class=\"token punctuation\">,</span>tmp<span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">return</span> arr\n\narr <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">0</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">20</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">20</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    arr <span class=\"token operator\">=</span> array_fill<span class=\"token punctuation\">(</span>arr<span class=\"token punctuation\">,</span>i<span class=\"token punctuation\">,</span>flag<span class=\"token punctuation\">[</span>i<span class=\"token operator\">+</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># print(arr)</span>\n<span class=\"token builtin\">next</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span><span class=\"token number\">2</span><span class=\"token punctuation\">,</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">5</span><span class=\"token punctuation\">,</span><span class=\"token number\">6</span><span class=\"token punctuation\">,</span><span class=\"token number\">7</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">,</span><span class=\"token number\">9</span><span class=\"token punctuation\">,</span><span class=\"token number\">10</span><span class=\"token punctuation\">,</span><span class=\"token number\">11</span><span class=\"token punctuation\">,</span><span class=\"token number\">8</span><span class=\"token punctuation\">,</span><span class=\"token number\">13</span><span class=\"token punctuation\">,</span><span class=\"token number\">14</span><span class=\"token punctuation\">,</span><span class=\"token number\">15</span><span class=\"token punctuation\">,</span><span class=\"token number\">12</span><span class=\"token punctuation\">,</span><span class=\"token number\">17</span><span class=\"token punctuation\">,</span><span class=\"token number\">18</span><span class=\"token punctuation\">,</span><span class=\"token number\">19</span><span class=\"token punctuation\">,</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span>\n\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">20</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    type_num <span class=\"token operator\">=</span> i <span class=\"token operator\">%</span> <span class=\"token number\">4</span>\n    index <span class=\"token operator\">=</span> <span class=\"token builtin\">next</span><span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span>\n    val <span class=\"token operator\">=</span> arr<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span>\n    g_val <span class=\"token operator\">=</span> <span class=\"token builtin\">globals</span><span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span>\n\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">0</span><span class=\"token punctuation\">:</span>\n        val <span class=\"token operator\">=</span> val <span class=\"token operator\">+</span> g_val\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">1</span><span class=\"token punctuation\">:</span>\n        val <span class=\"token operator\">=</span> val <span class=\"token operator\">-</span> g_val\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">2</span><span class=\"token punctuation\">:</span>\n        val <span class=\"token operator\">=</span> val <span class=\"token operator\">*</span> g_val\n    <span class=\"token keyword\">if</span> type_num <span class=\"token operator\">==</span> <span class=\"token number\">3</span><span class=\"token punctuation\">:</span>\n        val <span class=\"token operator\">=</span> val <span class=\"token operator\">^</span> g_val\n    \n    <span class=\"token comment\"># print(type_num,index,val)</span>\n    arr <span class=\"token operator\">=</span> f4<span class=\"token punctuation\">(</span>arr<span class=\"token punctuation\">,</span>type_num<span class=\"token punctuation\">,</span>index<span class=\"token punctuation\">,</span>val<span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># print(arr)</span>\n\nans <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">38793</span><span class=\"token punctuation\">,</span><span class=\"token number\">584</span><span class=\"token punctuation\">,</span><span class=\"token number\">738</span><span class=\"token punctuation\">,</span><span class=\"token number\">38594</span><span class=\"token punctuation\">,</span><span class=\"token number\">63809</span><span class=\"token punctuation\">,</span><span class=\"token number\">647</span><span class=\"token punctuation\">,</span><span class=\"token number\">833</span><span class=\"token punctuation\">,</span><span class=\"token number\">63602</span><span class=\"token punctuation\">,</span><span class=\"token number\">47526</span><span class=\"token punctuation\">,</span><span class=\"token number\">494</span><span class=\"token punctuation\">,</span><span class=\"token number\">663</span><span class=\"token punctuation\">,</span><span class=\"token number\">47333</span><span class=\"token punctuation\">,</span><span class=\"token number\">67041</span><span class=\"token punctuation\">,</span><span class=\"token number\">641</span><span class=\"token punctuation\">,</span><span class=\"token number\">791</span><span class=\"token punctuation\">,</span><span class=\"token number\">66734</span><span class=\"token punctuation\">,</span><span class=\"token number\">35553</span><span class=\"token punctuation\">,</span><span class=\"token number\">561</span><span class=\"token punctuation\">,</span><span class=\"token number\">673</span><span class=\"token punctuation\">,</span><span class=\"token number\">35306</span><span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">20</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    s<span class=\"token punctuation\">.</span>add<span class=\"token punctuation\">(</span>ans<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">==</span> arr<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">assert</span> s<span class=\"token punctuation\">.</span>check<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> sat\n<span class=\"token keyword\">while</span> s<span class=\"token punctuation\">.</span>check<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> sat<span class=\"token punctuation\">:</span>\n    m <span class=\"token operator\">=</span> s<span class=\"token punctuation\">.</span>model<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">for</span> c <span class=\"token keyword\">in</span> flag<span class=\"token punctuation\">:</span>\n        <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">chr</span><span class=\"token punctuation\">(</span>m<span class=\"token punctuation\">[</span>c<span class=\"token punctuation\">]</span><span class=\"token punctuation\">.</span>as_long<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>end<span class=\"token operator\">=</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span>\n    <span class=\"token keyword\">break</span></code></pre></div>\n<p>Running this solver shows that the correct flag is <code class=\"language-text\">TetCTF{WebAss3mblyMystique}</code>.</p>\n<h2 id=\"warm-uprev\" style=\"position:relative;\"><a href=\"#warm-uprev\" aria-label=\"warm uprev permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Warm up(Rev)</h2>\n<blockquote>\n<p>Here’s a warm-up challenge that might just have a few surprises up its sleeve. Grab your tools and ready your Python scripts. It’s a bit tricky, but that’s part of the fun. Happy reversing!\nPassword: c769662da57fe94b68cc08fb6d99ffc6</p>\n</blockquote>\n<p>When I decompiled the ELF file provided as the challenge binary with Ghidra, I found that it validates the input taken from standard input with the <code class=\"language-text\">check_key</code> function.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 510px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/5734b8436949ec13b6857509314076ca/0abdd/image-20240130190646960.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 88.75%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAAsTAAALEwEAmpwYAAACDUlEQVQ4y5WUiXKjMBBE+f9v3Mo6W74ROtEN9DY4tnFibza45JGE9JiZHqlRpkAqQMoBShWUMmB+pmm6tZ88Ta316Ys17CfgRtuCc5cRww4hKHoYMA71AfwjD40reN9HtJ2EdUcY8wbvJVzskXL6Ev7a6xfAiu2xMo8Kve+Qs+H0gFASSh1epuOlh6VGGs9VmbCEECfakWEXDENYPpCTRaoJLjmM4/hvD5X02O0clBb08AwhO5y1gtAHgjRSUrQOmR+wBH8LFG3B7zcwbI292eJkj9j1RxwdwUFDRg3PfNaa/i9kZw06YXA+TfizATabgm2n0DGfe9NB93PIEjFahp+/LaNGaw+jJbTZo5UaZ+VgrUPNPfOYMI3TU0EeoKt+E2MCeRBKQ4QTNEtmJOSKmXvL4k+l87l8bkCtIz0alw13Ny7D9eJxGlcwPIUtQO9Z1GegbQdo5qkNLXz1sFlDUWFFUQxVFkGyCbjsEJOh+pIny1Cs+9mfHaEoESnONeiWY1dY0D5kOF+5KfC0cHNWFEWw0BPhhsDwUT5fQ6eHhbB5s11gc7/vM9r3Ad2viL7t4Y497MGhFwXiwLHISGpC7IDi16ETmHPEfGTbdr7CKA6tUpkqs0TGj3zOKR4u9jbH8Viny9xN9UWUsNyFKdW7Ig//j+36w7oOVno21gYmF08v1qvS00315+0a7tz+AhWghX8gVCpdAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/5734b8436949ec13b6857509314076ca/8ac56/image-20240130190646960.webp 240w,\n/static/5734b8436949ec13b6857509314076ca/d3be9/image-20240130190646960.webp 480w,\n/static/5734b8436949ec13b6857509314076ca/b7235/image-20240130190646960.webp 510w\"\n              sizes=\"(max-width: 510px) 100vw, 510px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/5734b8436949ec13b6857509314076ca/8ff5a/image-20240130190646960.png 240w,\n/static/5734b8436949ec13b6857509314076ca/e85cb/image-20240130190646960.png 480w,\n/static/5734b8436949ec13b6857509314076ca/0abdd/image-20240130190646960.png 510w\"\n            sizes=\"(max-width: 510px) 100vw, 510px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/5734b8436949ec13b6857509314076ca/0abdd/image-20240130190646960.png\"\n            alt=\"image-20240130190646960\"\n            title=\"image-20240130190646960\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>The decompiled output of this function looked like the following.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">undefined8 <span class=\"token function\">check_key</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> <span class=\"token operator\">*</span>param_1<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">long</span> lVar1<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">int</span> iVar2<span class=\"token punctuation\">;</span>\n  <span class=\"token class-name\">size_t</span> len_flag<span class=\"token punctuation\">;</span>\n  undefined8 uVar3<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> in_FS_OFFSET<span class=\"token punctuation\">;</span>\n  uint k<span class=\"token punctuation\">;</span>\n  uint m<span class=\"token punctuation\">;</span>\n  uint l<span class=\"token punctuation\">;</span>\n  uint a<span class=\"token punctuation\">;</span>\n  uint b<span class=\"token punctuation\">;</span>\n  uint i<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> mem1 <span class=\"token punctuation\">[</span><span class=\"token number\">22</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> mem2 <span class=\"token punctuation\">[</span><span class=\"token number\">22</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> unk <span class=\"token punctuation\">[</span><span class=\"token number\">22</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  undefined8 local_38<span class=\"token punctuation\">;</span>\n  undefined8 local_30<span class=\"token punctuation\">;</span>\n  undefined4 local_28<span class=\"token punctuation\">;</span>\n  undefined2 local_24<span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">long</span> local_20<span class=\"token punctuation\">;</span>\n  \n  local_20 <span class=\"token operator\">=</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>in_FS_OFFSET <span class=\"token operator\">+</span> <span class=\"token number\">0x28</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  len_flag <span class=\"token operator\">=</span> <span class=\"token function\">strlen</span><span class=\"token punctuation\">(</span>param_1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>len_flag <span class=\"token operator\">==</span> <span class=\"token number\">0x54</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    local_38 <span class=\"token operator\">=</span> <span class=\"token number\">0x6766656463615f21</span><span class=\"token punctuation\">;</span>\n    local_30 <span class=\"token operator\">=</span> <span class=\"token number\">0x72706f6e6d6c6968</span><span class=\"token punctuation\">;</span>\n    local_28 <span class=\"token operator\">=</span> <span class=\"token number\">0x77757473</span><span class=\"token punctuation\">;</span>\n    local_24 <span class=\"token operator\">=</span> <span class=\"token number\">0x79</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>k <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> k <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x54</span><span class=\"token punctuation\">;</span> k <span class=\"token operator\">=</span> k <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>m <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> <span class=\"token punctuation\">(</span>m <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span> <span class=\"token operator\">&amp;&amp;</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span><span class=\"token operator\">&amp;</span>local_38 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>m<span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> param_1<span class=\"token punctuation\">[</span>k<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> m <span class=\"token operator\">=</span> m <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>m <span class=\"token operator\">==</span> <span class=\"token number\">0x14</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          uVar3 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n          <span class=\"token keyword\">goto</span> LAB_00101603<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    <span class=\"token function\">memset</span><span class=\"token punctuation\">(</span>mem1<span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0xa8</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>l <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> l <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> l <span class=\"token operator\">=</span> l <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      iVar2 <span class=\"token operator\">=</span> <span class=\"token function\">hash_64_fnv1a</span><span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span>l <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      mem1<span class=\"token punctuation\">[</span>l<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>iVar2<span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n    x <span class=\"token operator\">=</span> <span class=\"token number\">0x75bcd15</span><span class=\"token punctuation\">;</span>\n    y <span class=\"token operator\">=</span> <span class=\"token number\">0x159a55e5</span><span class=\"token punctuation\">;</span>\n    z <span class=\"token operator\">=</span> <span class=\"token number\">0x1f123bb5</span><span class=\"token punctuation\">;</span>\n    w <span class=\"token operator\">=</span> <span class=\"token number\">0xdeadbeef</span><span class=\"token punctuation\">;</span>\n    <span class=\"token function\">memset</span><span class=\"token punctuation\">(</span>mem2<span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0xa8</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>a <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> a <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> a <span class=\"token operator\">=</span> a <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>b <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> b <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> b <span class=\"token operator\">=</span> b <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        lVar1 <span class=\"token operator\">=</span> mem1<span class=\"token punctuation\">[</span>b<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n        iVar2 <span class=\"token operator\">=</span> <span class=\"token function\">xorshift128</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        mem2<span class=\"token punctuation\">[</span>a<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> lVar1 <span class=\"token operator\">*</span> <span class=\"token punctuation\">(</span>iVar2 <span class=\"token operator\">%</span> <span class=\"token number\">0x400</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">+</span> mem2<span class=\"token punctuation\">[</span>a<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token operator\">-</span><span class=\"token number\">0x90ee47fcb5</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x673420daf2</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x45eb817f02c</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffe3099503945</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x18f8dce1227</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x26050ea6875</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x298599c4bf0</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffff8a356ce9e58</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffed3c712cf36</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffe96846d630f</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x58cb1ce3ff3</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffccf182c2a63</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffe57fdf3f1de</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffa603f35f962</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xffffff7884570b57</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x4897c4d9c1</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffeb9355e5cb4</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xdcedf7d094</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x3602e9cac47</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffee3667219d6</span><span class=\"token punctuation\">;</span>\n    unk<span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffdc326c9b063</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">=</span> i <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>unk<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">!=</span> mem2<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        uVar3 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">goto</span> LAB_00101603<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span>\n    uVar3 <span class=\"token operator\">=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n  <span class=\"token keyword\">else</span> <span class=\"token punctuation\">{</span>\n    uVar3 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\nLAB_00101603<span class=\"token operator\">:</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>local_20 <span class=\"token operator\">==</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span>in_FS_OFFSET <span class=\"token operator\">+</span> <span class=\"token number\">0x28</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">return</span> uVar3<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n                    <span class=\"token comment\">/* WARNING: Subroutine does not return */</span>\n  <span class=\"token function\">__stack_chk_fail</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>This function can also be broken down into several steps.</p>\n<p>First, it compares against 0x15 pre-defined characters.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">  len_flag <span class=\"token operator\">=</span> <span class=\"token function\">strlen</span><span class=\"token punctuation\">(</span>param_1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>len_flag <span class=\"token operator\">==</span> <span class=\"token number\">0x54</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    # <span class=\"token number\">0x21</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x5F</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x61</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x63</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x64</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x65</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x66</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x67</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x68</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x69</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x6C</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x6D</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x6E</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x6F</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x70</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x72</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x73</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x74</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x75</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x77</span><span class=\"token punctuation\">,</span><span class=\"token number\">0x79</span>\n    # <span class=\"token operator\">!</span>_acdefghilmnoprstuwy\n    local_38 <span class=\"token operator\">=</span> <span class=\"token number\">0x6766656463615f21</span><span class=\"token punctuation\">;</span>\n    local_30 <span class=\"token operator\">=</span> <span class=\"token number\">0x72706f6e6d6c6968</span><span class=\"token punctuation\">;</span>\n    local_28 <span class=\"token operator\">=</span> <span class=\"token number\">0x77757473</span><span class=\"token punctuation\">;</span>\n    local_24 <span class=\"token operator\">=</span> <span class=\"token number\">0x79</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>k <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> k <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x54</span><span class=\"token punctuation\">;</span> k <span class=\"token operator\">=</span> k <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>m <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> <span class=\"token punctuation\">(</span>m <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span> <span class=\"token operator\">&amp;&amp;</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">*</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">char</span> <span class=\"token operator\">*</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span><span class=\"token operator\">&amp;</span>local_38 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span>ulong<span class=\"token punctuation\">)</span>m<span class=\"token punctuation\">)</span> <span class=\"token operator\">!=</span> param_1<span class=\"token punctuation\">[</span>k<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> m <span class=\"token operator\">=</span> m <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>m <span class=\"token operator\">==</span> <span class=\"token number\">0x14</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          uVar3 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n          <span class=\"token keyword\">goto</span> LAB_00101603<span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n      <span class=\"token punctuation\">}</span>\n    <span class=\"token punctuation\">}</span></code></pre></div>\n<p>I misread this part a bit during the contest, but what it is actually checking here is that every one of the 0x54 characters in the correct flag string is one of these 0x15 characters.</p>\n<p>In the next step, it uses a function called <code class=\"language-text\">hash_64_fnv1a</code> to convert the 0x54-character flag string into 8-byte hashes, four characters at a time.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token function\">memset</span><span class=\"token punctuation\">(</span>mem1<span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0xa8</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>l <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> l <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> l <span class=\"token operator\">=</span> l <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  iVar2 <span class=\"token operator\">=</span> <span class=\"token function\">hash_64_fnv1a</span><span class=\"token punctuation\">(</span>param_1 <span class=\"token operator\">+</span> <span class=\"token punctuation\">(</span>l <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  mem1<span class=\"token punctuation\">[</span>l<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">long</span><span class=\"token punctuation\">)</span>iVar2<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>In the next step, it updates the data in the <code class=\"language-text\">mem2</code> region using the 8-byte value obtained from <code class=\"language-text\">xorshift128</code>, reduced modulo 0x400, together with the hash produced by <code class=\"language-text\">hash_64_fnv1a</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">x <span class=\"token operator\">=</span> <span class=\"token number\">0x75bcd15</span><span class=\"token punctuation\">;</span>\ny <span class=\"token operator\">=</span> <span class=\"token number\">0x159a55e5</span><span class=\"token punctuation\">;</span>\nz <span class=\"token operator\">=</span> <span class=\"token number\">0x1f123bb5</span><span class=\"token punctuation\">;</span>\nw <span class=\"token operator\">=</span> <span class=\"token number\">0xdeadbeef</span><span class=\"token punctuation\">;</span>\n<span class=\"token function\">memset</span><span class=\"token punctuation\">(</span>mem2<span class=\"token punctuation\">,</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span><span class=\"token number\">0xa8</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>a <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> a <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> a <span class=\"token operator\">=</span> a <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>b <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> b <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> b <span class=\"token operator\">=</span> b <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    lVar1 <span class=\"token operator\">=</span> mem1<span class=\"token punctuation\">[</span>b<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n    iVar2 <span class=\"token operator\">=</span> <span class=\"token function\">xorshift128</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    mem2<span class=\"token punctuation\">[</span>a<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> lVar1 <span class=\"token operator\">*</span> <span class=\"token punctuation\">(</span>iVar2 <span class=\"token operator\">%</span> <span class=\"token number\">0x400</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">+</span> mem2<span class=\"token punctuation\">[</span>a<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>This data is compared against hardcoded values in the final step, and if all values match, the validation passes and the input is accepted as the correct flag.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token keyword\">for</span> <span class=\"token punctuation\">(</span>i <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">&lt;</span> <span class=\"token number\">0x15</span><span class=\"token punctuation\">;</span> i <span class=\"token operator\">=</span> i <span class=\"token operator\">+</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>unk<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span> <span class=\"token operator\">!=</span> mem2<span class=\"token punctuation\">[</span>i<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    uVar3 <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n    <span class=\"token keyword\">goto</span> LAB_00101603<span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\nuVar3 <span class=\"token operator\">=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p>Also, the <code class=\"language-text\">xorshift128</code> function is implemented as follows.</p>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\">uint <span class=\"token function\">xorshift128</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">void</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  uint uVar1<span class=\"token punctuation\">;</span>\n  \n  uVar1 <span class=\"token operator\">=</span> x <span class=\"token operator\">^</span> x <span class=\"token operator\">&lt;&lt;</span> <span class=\"token number\">0xb</span><span class=\"token punctuation\">;</span>\n  x <span class=\"token operator\">=</span> y<span class=\"token punctuation\">;</span>\n  y <span class=\"token operator\">=</span> z<span class=\"token punctuation\">;</span>\n  z <span class=\"token operator\">=</span> w<span class=\"token punctuation\">;</span>\n  w <span class=\"token operator\">=</span> w <span class=\"token operator\">^</span> w <span class=\"token operator\">>></span> <span class=\"token number\">0x13</span> <span class=\"token operator\">^</span> uVar1 <span class=\"token operator\">^</span> uVar1 <span class=\"token operator\">>></span> <span class=\"token number\">8</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">return</span> w<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>Since the initial values of x, y, z, and w used as the seed are hardcoded here, the output of <code class=\"language-text\">xorshift128</code> is fixed.</p>\n<p>During the contest, I tried various ways to recover the flag with Z3, but I apparently mishandled the underlying byte values and never managed to obtain the flag.</p>\n<p>However, if you look closely at the implementation, the output of <code class=\"language-text\">xorshift128</code>, whose seed is explicit, can be computed as a fixed value.</p>\n<p>Also, the <code class=\"language-text\">mem2</code> update performed by <code class=\"language-text\">mem2[a] = lVar1 * (iVar2 % 0x400) + mem2[a];</code> can be solved as a system of 21 simultaneous equations in which the hashes (<code class=\"language-text\">lVar1</code>) obtained for each 4-character chunk of the flag string are the terms.</p>\n<p>So in the end, by using the following solver, I was able to determine that the correct flag was <code class=\"language-text\">TetCTF{may_the_lanterns_of_the_lunar_new_year_light_up_your_path_to_success_and_happiness!!}</code>.</p>\n<div class=\"gatsby-highlight\" data-language=\"python\"><pre class=\"language-python\"><code class=\"language-python\"><span class=\"token keyword\">from</span> ctypes <span class=\"token keyword\">import</span> <span class=\"token operator\">*</span>\n<span class=\"token keyword\">import</span> numpy <span class=\"token keyword\">as</span> np\n<span class=\"token keyword\">import</span> math\n<span class=\"token keyword\">from</span> itertools <span class=\"token keyword\">import</span> permutations<span class=\"token punctuation\">,</span>product\n\nans <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">0</span> <span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0x15</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xffffff6f11b8034b</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x673420daf2</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">2</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x45eb817f02c</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffe3099503945</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">4</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x18f8dce1227</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">5</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x26050ea6875</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">6</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x298599c4bf0</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">7</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffff8a356ce9e58</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">8</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffed3c712cf36</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">9</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffe96846d630f</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">10</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x58cb1ce3ff3</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">11</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffccf182c2a63</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">12</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffe57fdf3f1de</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">13</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffa603f35f962</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">14</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xffffff7884570b57</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">15</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x4897c4d9c1</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">16</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffeb9355e5cb4</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">17</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xdcedf7d094</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">18</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0x3602e9cac47</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">19</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffee3667219d6</span>\nans<span class=\"token punctuation\">[</span><span class=\"token number\">20</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xfffffdc326c9b063</span>\n\n<span class=\"token keyword\">def</span> <span class=\"token function\">hash_64_fnv1a</span><span class=\"token punctuation\">(</span>data<span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    fnv_prime <span class=\"token operator\">=</span> <span class=\"token number\">0x100000001b3</span>\n    <span class=\"token builtin\">hash</span> <span class=\"token operator\">=</span> <span class=\"token number\">0xcbf29ce484222325</span>\n    <span class=\"token keyword\">for</span> byte <span class=\"token keyword\">in</span> data<span class=\"token punctuation\">:</span>\n        <span class=\"token builtin\">hash</span> <span class=\"token operator\">=</span> c_int32<span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token builtin\">hash</span> <span class=\"token operator\">^</span> byte<span class=\"token punctuation\">)</span> <span class=\"token operator\">*</span> fnv_prime<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value\n    <span class=\"token keyword\">return</span> <span class=\"token builtin\">hash</span>\n\nx <span class=\"token operator\">=</span> <span class=\"token number\">0x75bcd15</span>\ny <span class=\"token operator\">=</span> <span class=\"token number\">0x159a55e5</span>\nz <span class=\"token operator\">=</span> <span class=\"token number\">0x1f123bb5</span>\nw <span class=\"token operator\">=</span> <span class=\"token number\">0xdeadbeef</span>\n\n<span class=\"token keyword\">def</span> <span class=\"token function\">xorshift128</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    <span class=\"token keyword\">global</span> x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">,</span> z<span class=\"token punctuation\">,</span> w\n    v1 <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span>c_uint32<span class=\"token punctuation\">(</span>x<span class=\"token operator\">&lt;&lt;</span><span class=\"token number\">11</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value <span class=\"token operator\">^</span> c_uint32<span class=\"token punctuation\">(</span>x<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value<span class=\"token punctuation\">)</span> <span class=\"token operator\">>></span> <span class=\"token number\">8</span><span class=\"token punctuation\">)</span>\n    v1 <span class=\"token operator\">^</span><span class=\"token operator\">=</span> c_uint32<span class=\"token punctuation\">(</span>x<span class=\"token operator\">&lt;&lt;</span><span class=\"token number\">11</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value <span class=\"token operator\">^</span> x\n    v1 <span class=\"token operator\">=</span> c_uint32<span class=\"token punctuation\">(</span>v1<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value\n    x <span class=\"token operator\">=</span> y\n    y <span class=\"token operator\">=</span> z\n    z <span class=\"token operator\">=</span> w\n    w <span class=\"token operator\">^</span><span class=\"token operator\">=</span> c_uint32<span class=\"token punctuation\">(</span>w<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value <span class=\"token operator\">>></span> <span class=\"token number\">19</span>\n    w <span class=\"token operator\">^</span><span class=\"token operator\">=</span> v1\n    w <span class=\"token operator\">=</span> c_int32<span class=\"token punctuation\">(</span>w<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value\n    <span class=\"token keyword\">return</span> w\n\nhashes <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span>\nwords <span class=\"token operator\">=</span> <span class=\"token string\">\"!_acdefghilmnoprstuwy\"</span>\n<span class=\"token keyword\">for</span> chars <span class=\"token keyword\">in</span> product<span class=\"token punctuation\">(</span>words<span class=\"token punctuation\">,</span>repeat<span class=\"token operator\">=</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    A <span class=\"token operator\">=</span> <span class=\"token string\">''</span><span class=\"token punctuation\">.</span>join<span class=\"token punctuation\">(</span>chars<span class=\"token punctuation\">)</span>\n    hashes<span class=\"token punctuation\">[</span>hash_64_fnv1a<span class=\"token punctuation\">(</span>A<span class=\"token punctuation\">.</span>encode<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> A\n\n\nX <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token punctuation\">]</span>\n<span class=\"token keyword\">for</span> i <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0x15</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span>\n    X<span class=\"token punctuation\">.</span>append<span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span><span class=\"token builtin\">int</span><span class=\"token punctuation\">(</span>math<span class=\"token punctuation\">.</span>fmod<span class=\"token punctuation\">(</span>xorshift128<span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1024</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token keyword\">for</span> n <span class=\"token keyword\">in</span> <span class=\"token builtin\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">0x15</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\"># N1 = val[0]*X[i*0x15+0] + 0</span>\n<span class=\"token comment\"># N2 = val[1]*X[i*0x15+1] + N1</span>\n<span class=\"token comment\"># N3 = val[2]*X[i*0x15+2] + N2</span>\n<span class=\"token comment\"># N4 = val[3]*X[i*0x15+3] + N3</span>\n<span class=\"token comment\"># N5 = val[4]*X[i*0x15+4] + N4</span>\n<span class=\"token comment\"># N6 = val[5]*X[i*0x15+5] + N5</span>\n<span class=\"token comment\"># N7 = val[6]*X[i*0x15+6] + N6</span>\n<span class=\"token comment\"># N8 = val[7]*X[i*0x15+7] + N7</span>\n<span class=\"token comment\"># N9 = val[8]*X[i*0x15+8] + N8</span>\n<span class=\"token comment\"># N10 = val[9]*X[i*0x15+9] + N9</span>\n<span class=\"token comment\"># N11 = val[10]*X[i*0x15+10] + N10</span>\n<span class=\"token comment\"># N12 = val[11]*X[i*0x15+11] + N11</span>\n<span class=\"token comment\"># N13 = val[12]*X[i*0x15+12] + N12</span>\n<span class=\"token comment\"># N14 = val[13]*X[i*0x15+13] + N13</span>\n<span class=\"token comment\"># N15 = val[14]*X[i*0x15+14] + N14</span>\n<span class=\"token comment\"># N16 = val[15]*X[i*0x15+15] + N15</span>\n<span class=\"token comment\"># N17 = val[16]*X[i*0x15+16] + N16</span>\n<span class=\"token comment\"># N18 = val[17]*X[i*0x15+17] + N17</span>\n<span class=\"token comment\"># N19 = val[18]*X[i*0x15+18] + N18</span>\n<span class=\"token comment\"># N20 = val[19]*X[i*0x15+19] + N19</span>\n<span class=\"token comment\"># N21 = val[20]*X[i*0x15+20] + N20</span>\n<span class=\"token comment\"># ans が右辺ベクトル、X[i*0x15+j] が係数行列になるので上記の連立方程式を解く</span>\n\nA <span class=\"token operator\">=</span> np<span class=\"token punctuation\">.</span>array<span class=\"token punctuation\">(</span>X<span class=\"token punctuation\">)</span>\nB <span class=\"token operator\">=</span> np<span class=\"token punctuation\">.</span>array<span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span>c_int64<span class=\"token punctuation\">(</span>n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value <span class=\"token keyword\">for</span> n <span class=\"token keyword\">in</span> ans<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span>\nsolution <span class=\"token operator\">=</span> np<span class=\"token punctuation\">.</span>linalg<span class=\"token punctuation\">.</span>solve<span class=\"token punctuation\">(</span>A<span class=\"token punctuation\">,</span> B<span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">for</span> s <span class=\"token keyword\">in</span> solution<span class=\"token punctuation\">:</span>\n    v <span class=\"token operator\">=</span> c_int64<span class=\"token punctuation\">(</span><span class=\"token builtin\">round</span><span class=\"token punctuation\">(</span>s<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span>value\n    <span class=\"token keyword\">print</span><span class=\"token punctuation\">(</span>hashes<span class=\"token punctuation\">[</span>v<span class=\"token punctuation\">]</span><span class=\"token punctuation\">,</span>end<span class=\"token operator\">=</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span></code></pre></div>\n<p>Looking back, one clear mistake was that I only thought about blindly throwing the problem into Z3, and failed to notice that the structure could be solved as a system of simultaneous equations.</p>\n<p>I also got tripped up by handling things like the hashing step with normal Python integer variables, which caused incorrect results.</p>\n<p>I should have either written the solver in C from the start, or set the appropriate data types with <code class=\"language-text\">ctypes</code> based on the decompiled output.</p>\n<p>Another issue was that I used <code class=\"language-text\">permutations</code> when generating strings for the hash table.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 821px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/0adbc950fced20a122bfbf09e6af37d4/02cd5/image-20240131173329599.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 59.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAACA0lEQVQoz21T25aiQAzkS7ziykVAEJrmKqLOyIzOo///J7WpzLhn95x9qNMhdIpKJTiXywVN06AoCoRhiMVigeVqheVyqdDnn3g+n//z/D84tiwx3W4YhiMqa1HXtaKqKhyPR9zvd1jJl6XF4/HAOI4Sl3/uvEBRWZbBSTKDavhAmlcIgkBVEozTNIWt7E+RRd936PpeyCqY0iiJMd9n17bYbrdwvChHZK4IswHbMBPZC6y01Tk8z0Mcx9hsNgIX+/1e1BklMaKy6zq1qm5qtELKe8422GNXjIjyEUFisXY3cDeenL/g+YEqpW/E4XBAKWSlKZV8t4uUsBdrzuez3nXitEDRXBEfWiTFEUneYW9OEg+IUyPtB6LUV7UkISkRx4kS0jcrlrTS8m4Xwvn8/MDX10ONbjgQeVmLX2yBl+jfNE14Pp8yuEGV/A0O6XQ6YRTQSyfPcy1sm1a9YcwJ0o/1eq2rwOFw4vSP7/hhTp5gDXP0k8odXhpPoya6rldCEriuqyAhW6VStkcBBL1jV6WQxlGE2WyGleyvw69M003lX65XkT8gSWJd4tcyJ0kC/gBnae/t7V331fd9Xa9IyDgMdqNTpqKbLLb6IAXjz9nLvtEzqmMxjWd71laqjnkqJgk3gISEwyQLuJQveL6nOYIFPLPsIFZ8kxC0hZ5x+i8yWvQbewJ9/LLiWeAAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <picture>\n          <source\n              srcset=\"/static/0adbc950fced20a122bfbf09e6af37d4/8ac56/image-20240131173329599.webp 240w,\n/static/0adbc950fced20a122bfbf09e6af37d4/d3be9/image-20240131173329599.webp 480w,\n/static/0adbc950fced20a122bfbf09e6af37d4/d77d0/image-20240131173329599.webp 821w\"\n              sizes=\"(max-width: 821px) 100vw, 821px\"\n              type=\"image/webp\"\n            />\n          <source\n            srcset=\"/static/0adbc950fced20a122bfbf09e6af37d4/8ff5a/image-20240131173329599.png 240w,\n/static/0adbc950fced20a122bfbf09e6af37d4/e85cb/image-20240131173329599.png 480w,\n/static/0adbc950fced20a122bfbf09e6af37d4/02cd5/image-20240131173329599.png 821w\"\n            sizes=\"(max-width: 821px) 100vw, 821px\"\n            type=\"image/png\"\n          />\n          <img\n            class=\"gatsby-resp-image-image\"\n            src=\"/static/0adbc950fced20a122bfbf09e6af37d4/02cd5/image-20240131173329599.png\"\n            alt=\"image-20240131173329599\"\n            title=\"image-20240131173329599\"\n            loading=\"lazy\"\n            style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n          />\n        </picture>\n  </a>\n    </span></p>\n<p>Reference: <a href=\"https://docs.python.org/ja/3/library/itertools.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">itertools --- Functions creating iterators for efficient looping — Python 3.12.1 documentation</a></p>\n<p>Given the implementation of the string validation logic, it is entirely possible for the same character to appear consecutively, so in this case I needed to build the hash table using the Cartesian product.</p>\n<h2 id=\"summary\" style=\"position:relative;\"><a href=\"#summary\" aria-label=\"summary permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Summary</h2>\n<p>This was the kind of problem where understanding the implementation alone was not enough; I still couldn’t solve it because I never reached the level of understanding needed to write the solver.</p>\n<p>I need more practice.</p>","fields":{"slug":"/ctf-tet-ctf-2024-en","tagSlugs":["/tag/rev-en/","/tag/english/"]},"frontmatter":{"date":"2024-01-31","description":"Writeup for TetCTF 2024","tags":["Rev (en)","English"],"title":"TetCTF 2024 Writeup","socialImage":{"publicURL":"/static/a97573252dce70d441c981fcd555135b/ctf-tet-ctf-2024.png"}}}},"pageContext":{"slug":"/ctf-tet-ctf-2024-en"}},"staticQueryHashes":["251939775","401334301","825871152"]}