{"componentChunkName":"component---gatsby-theme-spaceout-src-templates-article-template-tsx","path":"/ai-cant-count-give-it-a-calculator","result":{"pageContext":{"article":{"id":"c48bf546-9834-5742-ae92-7dbc039a2c26","slug":"/ai-cant-count-give-it-a-calculator","secret":false,"title":"AI Can't Count","author":"Luke Celitan","date":"July 16th, 2026","dateForSEO":"2026-07-16T00:00:00.000Z","timeToRead":8,"excerpt":"I benchmarked 21 language models on plain arithmetic. Only the slow, expensive ones could add a column of numbers — and here's why that should change how you build","subscription":true,"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"AI Can't Count\",\n  \"excerpt\": \"I benchmarked 21 language models on plain arithmetic. Only the slow, expensive ones could add a column of numbers — and here's why that should change how you build\",\n  \"date\": \"2026-07-16T00:00:00.000Z\",\n  \"hero\": \"aicount_cover.png\",\n  \"author\": \"Luke Celitan\",\n  \"category\": \"Post\",\n  \"tech\": [\"AI\", \"SoftwareEngineering\"],\n  \"slug\": \"ai-cant-count-give-it-a-calculator\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", {\n    \"id\": \"can-ai-actually-count\"\n  }, \"Can AI actually count?\"), mdx(\"h3\", {\n    \"id\": \"introduction\"\n  }, \"Introduction\"), mdx(\"p\", null, \"Here\\u2019s the thing nobody tells you when they demo a shiny AI feature over a\\nspreadsheet: the model reading your data and the model calculating your data are\\nnot the same skill, and one of them is a lie.\"), mdx(\"p\", null, \"I\\u2019ve spent the last few years watching business stakeholders fall in love with\\nthe idea of pointing a language model at a table of numbers and asking it a\\nquestion. \\u201CWhat\\u2019s the total?\\u201D \\u201CHow many are overdue?\\u201D \\u201CWhich one is under\\nbudget?\\u201D It feels like magic. It\\u2019s fast, it\\u2019s cheap, it talks back in a full\\nsentence, and \\u2014 this is the part that should terrify you \\u2014 it never says \\u201CI\\ndon\\u2019t know.\\u201D It just returns a clean, confident, beautifully formatted number.\"), mdx(\"p\", null, \"The problem is that the number is frequently wrong. Not \\u201Crounding error\\u201D wrong.\\nWrong wrong.\"), mdx(\"p\", null, \"So I did what I always do when the hype and my gut disagree: I ran the\\nexperiment. I put 21 language models \\u2014 the full spread of GPT, Claude and\\nGemini, from the GPT-3.5 era all the way up to the latest GPT-5 and Claude\\nreleases \\u2014 through a benchmark whose only job was to answer one embarrassingly\\nsimple question:\"), mdx(\"p\", null, \"If I hand a model a list of numbers and ask for the total, how often is it right\\n\\u2014 and what does the right answer actually cost me?\"), mdx(\"p\", null, \"Over a thousand scored runs later, I have an answer. It is not the answer the\\ndemos promised.\"), mdx(KeyFindingsStats, {\n    data: keyFindings,\n    mdxType: \"KeyFindingsStats\"\n  }), mdx(\"h2\", {\n    \"id\": \"the-failure-mode-is-silent-and-thats-the-whole-problem\"\n  }, \"The failure mode is silent, and that\\u2019s the whole problem\"), mdx(\"p\", null, \"Let me start with why I even bothered, because it connects to something I\\u2019ve\\nbeen banging on about for years.\"), mdx(\"p\", null, \"In a normal engineering team, quality is defended by constructive friction \\u2014 the\\npull request that gets a raised eyebrow, the reviewer who says \\u201Cwait, are you\\nsure about that?\\u201D, the crucible of collaboration where a wrong answer gets\\ncaught before it ships. I wrote about how AI is quietly dissolving that friction\\nin \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/the-rise-of-the-solo-dev-army\"\n  }, \"The Rise of the Solo Dev Army\"), \". Well, an LLM\\ndoing arithmetic is that dissolution taken to its logical, horrifying\\nconclusion.\"), mdx(\"p\", null, \"When a model can\\u2019t add a column, it doesn\\u2019t throw an error. A calculator that\\ncan\\u2019t compute shows you \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ERR\"), \". A database returns null. A failing test goes red.\\nThe LLM does none of that \\u2014 it hands you \\xA34,182,940 in a tidy little sentence\\nand moves on. There\\u2019s no red flag, no raised eyebrow, no reviewer. The one\\nmoment where you most need someone to say \\u201Care you sure?\\u201D is the exact moment\\nthe machine is most confident and most alone.\"), mdx(\"p\", null, \"That\\u2019s not a bug you can grep for. It\\u2019s a category of failure that looks exactly\\nlike success.\"), mdx(\"h2\", {\n    \"id\": \"the-experiment\"\n  }, \"The experiment\"), mdx(\"p\", null, \"I kept the setup deliberately boring so the results couldn\\u2019t be argued with:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"21 models, three vendors\"), \" \\u2014 OpenAI, Anthropic, Google \\u2014 all called through\\none identical, OpenAI-compatible interface so nobody got a home-field\\nadvantage.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Five task families\"), \", from dead-simple counting to multi-step financial\\nreasoning.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Deterministic ground truth.\"), \" Every \\u201Cright answer\\u201D was computed in code \\u2014 a\\nplain reduce over the array for sums, a code tally for counts. The model was\\nscored against math, not against a vibe.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Strict scoring.\"), \" Exact match or it fails. \\u201CClose\\u201D is a fail. A wrong total\\nis a wrong total.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Full cost telemetry\"), \" \\u2014 every call logged its input/output tokens, latency,\\nand an estimated dollar cost.\")), mdx(\"p\", null, \"The five families ranged from a pure sum benchmark (add 25 to 500 numbers, up to\\nseven digits each), through counting and grouping tasks (tally rows by status,\\nbucket events into a timeline), up to genuine calculation and reasoning (derive\\nratios, compare one property\\u2019s rent and value against a peer at easy/medium/hard\\ndifficulty).\"), mdx(\"h2\", {\n    \"id\": \"two-regimes-and-a-cliff-between-them\"\n  }, \"Two regimes, and a cliff between them\"), mdx(\"p\", null, \"The headline finding is that models don\\u2019t have a level of numeric ability. They\\nhave two, and there\\u2019s a cliff in the middle.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Task family\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"What the model must do\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Best result\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Work-order timeline\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Group events by creation date\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"88%\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Work-order counts\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Tally rows by status\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"85%\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Property KPIs (easy)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Compute a ratio when told the formula\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"100%\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Sum benchmark\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Add a list of numbers\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"30%\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Fund financial KPIs\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Derive ratios unaided\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"5\\u201324%\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Property KPIs (hard)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Choose the method yourself\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"0%\")))), mdx(TaskFamilyAccuracyChart, {\n    data: taskFamilyAccuracy,\n    mdxType: \"TaskFamilyAccuracyChart\"\n  }), mdx(\"p\", null, \"Read that top to bottom and you can see the personality of these things emerge:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Counting and categorising holds up beautifully\"), \" \\u2014 85 to 100%. Ask a model\\nto find things, route things, group things, and it\\u2019s genuinely excellent. This\\nis reading comprehension over structured data, and it\\u2019s what transformers are\\nactually good at.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Calculation collapses\"), \" \\u2014 0 to 30%. The moment the task requires arithmetic\\nthat isn\\u2019t in the text, the floor gives way.\")), mdx(\"p\", null, \"My favourite result in the whole study is the \\u201Chard\\u201D property KPI: every single\\nmodel got the magnitude of the answer right and then flipped the sign. They all\\nknew the two numbers were \\xA3200k apart. They just couldn\\u2019t reliably decide\\nwhether the property was over or under the peer. Right maths, wrong direction,\\ndelivered with total confidence. If you want a one-line summary of where we are\\nwith AI and numbers, it\\u2019s that.\"), mdx(\"p\", null, \"Give the model less hand-holding and the cliff gets steeper. Both KPI families\\nfall apart the moment the prompt stops spelling out the formula:\"), mdx(KpiTierChart, {\n    data: kpiTierData,\n    mdxType: \"KpiTierChart\"\n  }), mdx(\"h2\", {\n    \"id\": \"ai-cannot-count-the-sum-test\"\n  }, \"\\u201CAI cannot count\\u201D: the sum test\"), mdx(\"p\", null, \"The pure addition test is where it gets brutal. Across 21 models and 189 cases,\\nonly 30% were correct (56 out of 189). And the accuracy wasn\\u2019t evenly spread \\u2014\\nit decayed predictably as the task got bigger:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"On short lists of 25 numbers, models managed 43%.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Scale that to 500 large numbers and it falls to 14%.\")), mdx(\"p\", null, \"More numbers means more carries to track. More digits means longer arithmetic.\\nBoth hurt, and the errors aren\\u2019t random noise \\u2014 models confidently round, drop,\\nor straight-up invent digits to produce a plausible-looking total.\"), mdx(AccuracyDecayChart, {\n    data: accuracyDecayData,\n    mdxType: \"AccuracyDecayChart\"\n  }), mdx(\"p\", null, \"But here\\u2019s the split that actually matters for anyone choosing a model:\"), mdx(\"p\", null, \"Zero of the 13 non-reasoning models could add at all. GPT-4o, GPT-4.1, GPT-3.5,\\nthe standard Claude models, GPT-5 Chat \\u2014 0 out of 9 each. The only models that\\ncould reliably add were the \\u201Creasoning\\u201D models (the GPT-5 and o-series), which\\nscored 6 to 9 out of 9. Here\\u2019s every model in the study, ranked:\"), mdx(ReasoningVsChatChart, {\n    data: sumAccuracyByModel,\n    mdxType: \"ReasoningVsChatChart\"\n  }), mdx(\"p\", null, \"Let that sink in. The friendly, fast, cheap chat model that every product team\\nreaches for first? It cannot add a column of numbers. Not \\u201Csometimes gets it\\nwrong.\\u201D Never gets it right.\"), mdx(\"h2\", {\n    \"id\": \"why-being-right-is-so-expensive\"\n  }, \"Why being right is so expensive\"), mdx(\"p\", null, \"This is the part I find genuinely beautiful, in a bleak sort of way. It explains\\neverything.\"), mdx(\"p\", null, \"An LLM has no calculator inside it. There is no arithmetic logic unit hiding in\\nthe weights. The only way a model can be right about a sum is to simulate the\\narithmetic in generated text \\u2014 to literally write out \\u201Ccarry the one\\u201D step by\\nstep, one token at a time. And generating tokens is exactly the part that costs\\nmoney, time, and energy.\"), mdx(\"p\", null, \"Look at what separates a right answer from a wrong one:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Metric\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Gets it RIGHT\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Gets it WRONG\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Output tokens per sum\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"6,000\\u20139,000\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"~4\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Time per answer\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"40\\u2013130s\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"~1s\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Method\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Full step-by-step working\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Single blurted guess\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Result\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Correct\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Wrong, every time\")))), mdx(\"p\", null, \"The wrong models are cheap and fast because they\\u2019re guessing. The right models\\nare slow and expensive because they\\u2019re doing the equivalent of long addition on\\na whiteboard, out loud, and you\\u2019re paying by the word. Correctness isn\\u2019t a\\nsetting you toggle \\u2014 it\\u2019s compute you buy.\"), mdx(\"p\", null, \"Which leads to the numbers that made me sit up. The peak cost for a single\\ncorrect sum in my run was $0.92 \\u2014 one addition problem \\u2014 from o1 grinding\\nthrough 500 seven-digit numbers. That\\u2019s roughly 360\\xD7 more expensive than a fast,\\nwrong answer at about a quarter of a cent. Across the study the gap between\\nright and wrong ran from 100\\xD7 to 700\\xD7.\"), mdx(CostPerSumChart, {\n    data: costPerSumData,\n    mdxType: \"CostPerSumChart\"\n  }), mdx(\"p\", null, \"You are, quite literally, paying two to three orders of magnitude extra for the\\nprivilege of a correct total that a for loop would have produced for free.\"), mdx(\"h2\", {\n    \"id\": \"you-dont-get-what-you-pay-for\"\n  }, \"You don\\u2019t get what you pay for\"), mdx(\"p\", null, \"If you think price signals quality \\u2014 that the expensive flagship must be the\\nsmart one \\u2014 the arithmetic results will disabuse you fast. I sorted every model\\nby its output-token list price and lined it up against how many sums it got\\nright:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The two most expensive models per output token (a top-tier Claude Sonnet at\\n$75/1M, GPT-4 at $60/1M) scored 0 out of 9.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The two cheapest (GPT-5 Nano at $0.40/1M, GPT-5 Mini at $2/1M) scored 8 and 9\\nout of 9.\")), mdx(PriceVsAccuracyChart, {\n    data: costVsAccuracyData,\n    mdxType: \"PriceVsAccuracyChart\"\n  }), mdx(\"p\", null, \"The price tag reflects the vendor\\u2019s positioning, not the model\\u2019s ability to\\ncount. The single best value in the entire study was GPT-5 Nano \\u2014 the cheapest\\nthing I tested \\u2014 landing 8 of 9 at about $0.004 per sum. The premium tier\\u2019s best\\neffort, o1, managed 6 of 9 for up to $0.92 \\u2014 beaten, badly, by a model costing a\\nfraction of a penny.\"), mdx(\"p\", null, \"This is the AI equivalent of a lesson I keep having to relearn on the business\\nside. Over in \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/mastering-agile-estimation\"\n  }, \"Mastering Agile Estimation\"), \" I\\ncomplain that your business overlords don\\u2019t care about the code, only the\\nfeatures, and they\\u2019ll happily equate \\u201Cexpensive\\u201D with \\u201Csafe.\\u201D Same trap here.\\nNewer and pricier does not mean it can do the maths. Sometimes it means the\\nopposite.\"), mdx(\"h2\", {\n    \"id\": \"claude-vs-openai-a-closer-look\"\n  }, \"Claude vs OpenAI: a closer look\"), mdx(\"p\", null, \"One question I kept getting when I shared early results internally: is this just\\nan OpenAI-favours-OpenAI story? Not quite. Restricting the comparison to\\nOpenAI\\u2019s and Anthropic\\u2019s standard models (Gemini set aside for this one, and\\nClaude\\u2019s extended-thinking variant wasn\\u2019t available through our gateway, so this\\nis standard Claude vs the full GPT lineup including its reasoning models):\"), mdx(ClaudeVsOpenAIChart, {\n    data: claudeVsOpenAIData,\n    mdxType: \"ClaudeVsOpenAIChart\"\n  }), mdx(\"p\", null, \"OpenAI wins the overall pass rate \\u2014 54% vs 40% \\u2014 and wins five of the seven\\nbenchmarks outright. But Claude isn\\u2019t uniformly behind: it actually \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"beats\"), \"\\nOpenAI on the work-order timeline task, 93% to 85%. The one place OpenAI\\u2019s lead\\nturns into a rout is arithmetic itself \\u2014 32% vs 13% on the sum benchmark \\u2014\\nbecause OpenAI\\u2019s reasoning models (GPT-5, o-series) were reachable through the\\ngateway and Claude\\u2019s equivalent extended-thinking mode wasn\\u2019t part of this run.\\nBest at counting, no contest: GPT-5 at 9/9 versus Claude 4.6\\u2019s 5/9.\"), mdx(\"h2\", {\n    \"id\": \"isnt-this-just-ai-hype-cycle-whiplash\"\n  }, \"Isn\\u2019t this just AI-hype-cycle whiplash?\"), mdx(\"p\", null, \"Fair challenge. I\\u2019m the one who wrote\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/beware-of-the-hype-train\"\n  }, \"Beware of the Hype Train\"), \", so let me apply my own\\nskepticism in both directions.\"), mdx(\"p\", null, \"No \\u2014 this isn\\u2019t me saying \\u201CAI is useless.\\u201D It emphatically isn\\u2019t. Reading,\\nrouting, summarising, grouping, explaining: models are genuinely, reliably good\\nat all of it, and that\\u2019s a real superpower. The hype I\\u2019m puncturing is narrower\\nand more specific: the pervasive assumption that because a model can talk about\\nnumbers fluently, it can compute them correctly. Fluency is not accuracy. A\\nmodel that describes your portfolio in flawless prose and then fumbles the total\\nis not \\u201Calmost there\\u201D \\u2014 it\\u2019s doing two completely different jobs, and it only\\npassed one of them.\"), mdx(\"h2\", {\n    \"id\": \"so-what-do-you-actually-do-about-it\"\n  }, \"So what do you actually do about it?\"), mdx(\"p\", null, \"The fix is refreshingly unglamorous, and I like it all the more for that. Don\\u2019t\\nlet the model be the calculator.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Do\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Don\\u2019t\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Compute numbers in code or a tool call\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Ship a raw model total to a user\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Use models to read, route, explain\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Assume a bigger model fixes maths\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Reserve reasoning models for high stakes\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Use a chat model where exactness matters\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Validate against deterministic ground truth\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Trust a confident, formatted number\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Log tokens and cost\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Ignore the compute spend\")))), mdx(\"p\", null, \"That last row matters more than it looks. Because correctness is bought with\\noutput tokens, and tokens are compute, and compute is energy, \\u201Cget it right\\u201D and\\n\\u201Cuse less energy\\u201D pull in opposite directions when you make the model do the\\nmaths. Push the arithmetic down into code and you\\u2019re not just more accurate and\\ncheaper \\u2014 you\\u2019re greener. The deterministic path wins on every axis at once.\\nIt\\u2019s the same instinct as wiring a SonarQube quality gate into CI: you don\\u2019t\\nhope the number is right, you make it impossible for a wrong one to get through.\"), mdx(\"h2\", {\n    \"id\": \"final-thoughts\"\n  }, \"Final Thoughts\"), mdx(\"p\", null, \"We spent decades building machines that were flawless at arithmetic and hopeless\\nat language. Then we built one that\\u2019s wonderful at language and, it turns out,\\nhopeless at arithmetic. The mistake is asking the new machine to do the old\\nmachine\\u2019s job.\"), mdx(\"p\", null, \"So the whole thing collapses to one sentence: AI can\\u2019t count \\u2014 so give it a\\ncalculator. Let the model do what it\\u2019s brilliant at \\u2014 reading, routing,\\nexplaining \\u2014 and hand the actual maths to code that provably can\\u2019t get it wrong.\\nReserve the slow, expensive reasoning models for the rare case where exactness\\nis genuinely worth the cost, and verify every number before it reaches a human.\"), mdx(\"p\", null, \"Because the one thing this whole experiment confirmed is the thing I opened\\nwith: nobody in that loop is going to raise an eyebrow for you. You have to\\nbuild the eyebrow in.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["AI","SoftwareEngineering"],"category":"Post","appDescription":null,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE7klEQVQ4y12UaXNTVRjH7/dwZBMZBFpKF9omzXqTm9zk3iQ3TTe6JiW0pWnLbdK0SVdW2RxAB1AcZRVklZZVQXyBjAu+EJlxnPHD/HxaHB198Z/nnOc85/+s5yh/vrzHk9tnWLx6ktPHi+wrDwiGeH9+hI+OTrIwtYvyeIaSnRZkyPYmabVC5Ecy7OxtIdPTQjbdQW4wTfeOFpQ/fr7HwxunufTxAcp2L12tIYazreyb3s2x/TYHZoYpjPQwPtzNXHEAe3c3me6kEPTQ0WJgRvzEDY1myyCkqSi/Pr/D0rUPuXHxA2YK/YT927FML13tEbJ9FqXxfk4dmeLYgQKlfFb0hhCoWPEQqs9BWPMIfCTiEWKxKMov393k+vnjXD53mE9OLWDnutA1B1HdTSTsImUFGcq2kx9LMyrRWfEg0YiPzo4kwaCHuBkmHosQDPgI6yGU1z/cZ+n6WW5ePsWlT49y8mgZI+qVSwKRhuHHNAPszLSRGxLCREig09PViqp6SFqmEPtxu5vw+/0or358wNeL53l893POntrH6LDUy97J4EAnBTtLMT9InxR/ZDjNSC5DPB4WR0Ha2iwh8ODzedAlsljcJGoaKC+fL/L0/hVOHJsVI5POzgRjY/0U8gOUp3JMl0Y5fnSeyeIIoyNZotIAf8Ajts14vC60UACf6kMLC6llLRMucf7ccUlLk0MfunQt1WISt8KYMU32Ku0dFplMJ7ncLqzmOAcPzMp6AEeTk4ihY8RMfIEgfi2M8uLZHR7cuUBHRwI16KavrwNdUopJnZzuBqpqKvCqLoZzWbIDGdKZHubmpzDjhuh9QqQSCGmEDZNkaxvKs0df8uCriySbI+JRRiZpiJF0Lxkl1WoJYSV1DTWk2pKUygUOHlrAo3rRDemspLlMpuk6uhlHi8ZQHt69xON7V2ltS+DxO3F5G1cI6hprUDU/9U5xkorT6HaQHexHDQdxSiMikmaj24VPC5BobhapU+/yoTxausJn505IUf3MzuZZ2DuF0yMDa4RodDnEiZuJSZtEyqJJurrdJU4lzVA0QpPPK9GqaJEoTq8q50GUpw9vUJoaY1PFRsrlcZ4+WaS9s1UiayDZkiRs6uzJj1KYmiBnj6JGdLnow0jEcAmhLxggKCkH9KjYJlC+eXSLCxfOUFG9hbbOFhbv3STZnsIjw2rJaHT0dNI/tIvCdImZ/XsJWwkahTAQ1al1OvBqQfREnFAsQTjRjHK4y+Twjii9tRsYbNrKQkpjt6eaIVcVdqCBsUA9tjzFouGlFPMz4Kom07CFrKOSntqNpOs3099YQdZZJWc1KHblKqadW5hzVTDvqVpZzza9wZy7kmnHJvJbV71B5dtMbFtDsXotxW1rmaxe98+6KPrlM6VQ+y6HTA8LWgOHEypHkgH2684V3RErwLxah121mnzNOxT+g3UUhLDwP71SbHiPQu16JrZvYKRyNbmKVStydOtqxqrWYtesZ9KxmQmxy9dtwBbbPaKz/8aemn/3y1J5fPeKfAxf8HjpGnvnJnE45HVUVZBqjpFOd9Pe1kJeujszPUWhYNOX7pU3LJ+C143TUU+TsxGvx4XL7cbt8aL8/tsLXr/6npc/fcut25epE6O31qxifGKU3J7cyuCmd+1kemGGydky+dIkQSOKXwZ8u4yWQ8jc6vIMqtQ6nPwFSIU8xj9I2YoAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/725d97828fb6c30617a3e305656acfc3/a1946/aicount_cover.png","srcSet":"/static/725d97828fb6c30617a3e305656acfc3/5b37e/aicount_cover.png 236w,\n/static/725d97828fb6c30617a3e305656acfc3/49058/aicount_cover.png 472w,\n/static/725d97828fb6c30617a3e305656acfc3/a1946/aicount_cover.png 944w,\n/static/725d97828fb6c30617a3e305656acfc3/6050d/aicount_cover.png 1200w","srcWebp":"/static/725d97828fb6c30617a3e305656acfc3/99fbb/aicount_cover.webp","srcSetWebp":"/static/725d97828fb6c30617a3e305656acfc3/77392/aicount_cover.webp 236w,\n/static/725d97828fb6c30617a3e305656acfc3/1f177/aicount_cover.webp 472w,\n/static/725d97828fb6c30617a3e305656acfc3/99fbb/aicount_cover.webp 944w,\n/static/725d97828fb6c30617a3e305656acfc3/9000d/aicount_cover.webp 1200w","sizes":"(max-width: 944px) 100vw, 944px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M95%203c0%203%200%204-3%204s-10%206-9%207l-2%201h-2v2c-1%201-3%201-9-2l-10-3%208%204%209%204-1%204v4l10%205-6-2-6-1c-1%200%201%202%205%203l6%203-7-2-7-2%202%202-1%201c0%202-2%202-5%201a217%20217%200%2000-26-9v1l21%208%209%204v3c-1%204%202%2013%204%2013l1%202c0%202%200%202%201%201%200-2%200-2%203-1%202%201%202%202%201%204-1%205%203%2012%207%2015l5%204%203%202v-1c-3-2-2-3%201-3%202%200%202%200%201%202v1c3-1%204%207%201%2014-1%205-1%205-3%204-4-4-9%200-9%205%200%203%200%203-2%203-3%200-3%200-2%201h-1c-2%200-2%201-2%204h-2l1%202-5%203c-4%204-5%205-9%205-6%201-11%204-18%2011-6%206-15%2018-14%2019%200%202%205%206%208%207%202%201%203%201%202%204l1%207v6c-2%200-2%201-1%201%202%200%202%205%200%206-1%202-2%2016-1%2022%201%203-2%2020-4%2021-2%202-9%2019-7%2019v5c0%204%200%205%202%208%203%204%205%2010%206%2017l1%207v3H0v37l1%2037h62l2%204c1%203%202%204%204%204%205%200%207%203%206%2010-1%205-1%207%201%2010l2%204-2%203c-3%205-2%206%202%202l3-3v3l-1%203h50l2-12%203-20%202-7h4l3%201v15l-1%2014%203%204c2%205%206%207%207%204h1c0%202%203%201%204-1%200-2%202-2%202-1%200%202%203%203%2012%203h9l-2-3-3-6-2-9c0-4%200-6-1-5l-14%201-13%202h-1l1-2%2014-1c16-2%2024-1%2024%203h1c2-3%204%200%204%205v4h-3l-4-1v-1h-1l-3-1h2l1-1-1-1-2-2c-1-2-1-2-1%201%200%205%201%209%202%208l4-1c3%200%203%200%203%203%200%202%200%202-1%201-2-2-3-1-3%201h-1c-2-2-1%200%201%203%201%202%201%202%201%200%200-3%202-3%203%200%202%203%204%202%204-2l1-5%201%204v5h10l1-10a397%20397%200%20001-24c0-5%200-5%203-5h11c4%200%205%201%205%202l2%201%201-1c0-1%201-2%203-2h3v39l1-7c0-5%200-7%201-5%201%201%201%201%201-3l1-4%201%202v17l3-2c1-2%201-2%201%200s0%202%201%200l1-2v-1l1-7-1-4-2%202-2-1v-3c0-2%200-2%201%200s1%201%201-3c0-3%200-3%201-1%201%201%201%202%203%201v-1c-1-1-1-5%201-6v-4l1-4%201%202%202%202%201-2%201-4c1-1%202%201%202%208s-1%209-2%209l-1-1-1-2c-2-1-2-1-2%203%200%202%201%203%202%203l1%201-1%201c-2%200-2%209-1%2010l1-1c-1-4%200-6%202-6l1-1c0-2%202-1%203%202v4l-1%201h1l1%202v2l1%201c0%202%205%202%207%201h1l2%201c3%200%203-1%203-4l1-3v3c0%203%200%204%202%204h3v-31l1%2015v16h17v-10l1-9v19h10l10-1c-2-1-2-6-1-7l1%203c0%205%201%205%209%205h7v-4c0-4%201-5%201-1s2%207%203%204h2c2%200%202%200%201-1-2%200-2-1-1-1%202-1%201-3-1-3-1-1%200-1%201-1l3%202c0%205%200%205%206%205%205%200%206%200%205-2h1l3%201h2c0%202%203%201%203-1l-2-2v-1c0-2%203-1%203%201h1c0-3%202-1%202%201s0%203%207%203l7-1%201-1%201%201c-1%201%201%201%205%201l6-1c-1-1%200-1%202-1l1%201c-1%201%200%201%202%201h3v-6l-1-6v-5l2-49a294%20294%200%2000-2-49h-1l-1%201%201-3c3-4%203-6%200-6-2%200-3-1-1-2h1l1%201%201-2h-1v-3c1-1%201-1-1-1l-2%201%202-2c3-2%202-8-1-7-2%201-1-1%201-4s3-14%201-12l-1-1v-2c2%200%202-4%202-28v-27h-2l-2-1h2c2-1%203-3%200-3v-1l2-4-2-5v-1c2%200%202-2%202-26%200-15%200-26-1-25l-1%202%201-5V92a307%20307%200%20000-56l1-18V1l-5-1-4%201c1%201%200%202-1%203-2%201-2%201-2-1s0-3-2-3l-2%201c2%202%200%203-2%201s-3%200-3%204c0%203-1%204-2%204-2%200-2%200-1-3%202-4%201-4-6-3l-8%202c-2%201-3%201-2%204%200%204%204%208%205%207l1%204c0%202%200%203-1%202-1-4-5-8-6-7v-2c1-7%200-7-13-3l-10%203-1%201v2c2%200%203%203%201%205-2%201-4-2-3-5s1-3-1-3a35696%2035696%200%2001-18%207v3c-2%201-2%201-1-1%200-2%200-2-1-1v-1l-1-1-4%201v1l1%203h-2v-2c0-2-3-1-18%204l-1%202%201%203v2h-4l2-4-1-1h-1l-2-1v1c2%201%200%207-2%207h-1v-2l-1-2v-2h-2l-1%204-1%204v-8l-7%202-8%203h-1l-7%202a531%20531%200%2001-22%207l-1%201v-1l-2-1-6%202-5%203%201%201c1-1%201%200%201%201l-2%204v2c3%202%201%209-4%2016-1%201-2-3-1-5l-1-3v-2c0-3-1-5-2-2-1%201-1%200-1-4v-5l3%201c4%203%205%202%204-1%200-2%200-2%201%200l1%201c0-4-1-5-5-4l-2%201h-3c-5-1-8-6-4-6l1%202c-1%202%202%201%203-1l1-1c0%202%200%202%207%201%209-3%2011-4%2010-6h1c2%202%202%202%204%201h2l1-1h2V28l-1-1-1%201-2%203v1c3%200-1%202-4%202h-3v-2l-2-2c1-4%201-4%202-1%201%201%201%201%201-1l1-2v4l1%203%201-3c0-3%200-3%201-1s1%202%202-1l1-2%203-1c2-1%202-1%201-2v-2c2-1%202-1%201-2l-2-16-2-3c-1%200-2%205%200%206v7l-1%204-1-2v-1l1-3c0-2%200-2-1%200l-2%204c0%202-1%202-1%201-1-1%200-3%201-4V8l-1-3c0-4%200-5-2-5s-2%200-1%201c2%202%201%2020%200%2022v2h-2v-2c1%200%202-4%200-4V0h-7v5l-1%205V6l-1-5-1%203-1%203-1-1-1-6c-2%201-2%209%200%209l-1%201-1%209c0%2017%200%2016-2%2015v-1c1-1%201-12-1-13l-2-1%201%202v8l-1%206-1%204v-4l-1-4-2%203-2%207v4l-1-6V24l-1-15c0-6%200-8-1-6%200%202-1%202-1%201V1l-1-1-1%2015v15l-1-8-1-7v8l1%209v1c-2%201-2%208%200%2010l2%201h2v1c-2%200-2%200%200%202h5c2%200%202%200%201%201s-1%201%201%201h1v1h2v4l1%202%201-2v2l-1%208-1%201%201-5c0-3%200-3-1%200l-2%202-2-1v-1h-1c-2%200-2%200-1-1v-1h-1l-2-1h-3l-4-3c-4-3-8-4-9-3l-1%201v-4l-3-1%201%202c3%202%200%202-4%200-5-2-7-5-3-4%204%202%204%201%205-1%200-1%200-2-1-1%200%202-1%202-2%201-3-1-4-1-2-3v-2c-4%200-6%201-7%204s-1%203%200%200v-8c0-4-1-4-1%200l-1%203-3%206c-1%203-1%205-2%204l2-6%201-6-4%2014v1c-1-2-1-2-1%200l-2%203v1l2%201h-4v-2l1-2c-1-4%200-7%201-4%201%201%201%200%201-2v-1c1%201%201%201%201-1v-5c0-2%200-2%201%200%201%201%201%200%201-2v-2c0%202%201%202%201%201v-2l-1-2-1-1-1%201-3%206-3%208-3%203v1l1%201-1%201c-1-1-1%200%200%200%200%202%200%202-3%201l-1-2c2%200%209-16%209-20%201-4-1-2-3%202l-2%203%201-4%201-6c0-4-1-4%208%201l8%203%2011%205c16%207%2015%208%2014-3a310%20310%200%2001-1-23V7c2-3%200-7-3-7s-6%202-6%204v1l-1-2-1-2c-1%201-1%204%202%205l2%203c0%202%201%205%202%204l1%201-3%201c-1%200-2%200-1%201%201%200%200%206-2%206v-7c2-1%202-2%200-5-1-4-2-4-2-2-1%201-1-1-1-3%200-10-1-4-1%207l-1%2011-1%202v2l-1%201%201%201c1-1%201%200%201%201%200%202-1%202-9-2l-5-2-6-2c-6-4-7-4-6%200%200%202%200%202-2%201v1l1%203-3-2-2-2-1%203c-1%202-2%203-4%202l-2-4c-1-2-1-2-2%201l-1%202-1-2h-2l1%202h-1l-1%203-2%202v-4l2-9c1-6%201-6-2%205l-2%203-1%201h-1c-2-2-2-1-5%206l-3%208%203-12c4-12%205-16%203-20l-1-3c2%200%208%204%208%205h1l10%203%208%204-3-2-4-4c0-2%200-2-1-1%200%202%200%202-4%200s-4-2-4-8c0-7-1-8-1-2%200%205-1%206-2%204h-2l-1%201V2l-2-2c-3%200-3%200-3%203l1%204v1c-1%200-2-1-2-4-1-5-3-5-3-1l-1%203V3l-1-3c-1%200-2%203-2%207v3l-1-8c0-2-2-1-3%202s-1%203-1%201%200-3-1-2l-2-1c-1-3-3-2-3%201m143%207a129%20129%200%20000%2015v4h6l-3%201c-2%200-5%203-4%204l-1%202c-1%201-1%201%201%201l3-2h5l4-1v-7l1-7v14l6-2c16-4%2017-5%2018-8%200-2%200-3-2-3v-1c2-1%202-3%202-11V0h-8c-8%200-8%200-8%202v3l-1-3c-1-3-6-3-6%200-1%202-1%202-1%200s-1-2-4-2c-4%200-5%201-5%202l2%201%201%201v4c-1%200-4-4-4-7l-1-1-1%2010m37-1c0%209%200%2010%202%2010v1c-2%200-3%207-1%207%203%200%205-3%203-4v-4c-1-1%200-1%201-1%202%200%202%201%202%204v4l2-3c2-3%203-5%201-3l-1-1c0-1%202-3%204-3h1c-3%202-2%208%201%207l4-2c8-1%2013-3%2013-6%200-2-1-2-2-1h-1l4-2v4c0%202%201%203%202%203v-4l1-4v-1c-1-1-1-1%201-1l2%202v2l1%203h2l2-1c5%200%2010-1%209-2v-2c3%200%203-4%200-3V7c2-2%204-2%204%201v3c1%202%203-1%203-4l1-4%201%203%202%204c2%201%208-1%209-3l2-4%201-3h-9l-10%201-3%201c-1%200-2%200-1-1l-4-1c-2%200-3%200-2%201%201%200%200%202-2%202V2l-6-2c-2%201-2%201%200%202%202%202%201%205-2%205l-1-4V0h-18v3l-1%203-1-3c0-3-3-4-5-1v1c1-1%202%200%202%201l-2%201c-2%200-2%200-2-2V0l-2%204-2%202V5l-1-2-1-1-1-2c-2%200-2%202-2%209M92%209l-2%201-2%201v1l1%201h1v2c-3%201-2%202%203%203%206%203%209%202%209-2v-3l1%203%201%202h2l2-1c1-1%201-1%201%202%200%202%200%202%201%200%201-3-1-8-2-6h-1c-1-1-4-3-12-4h-3m136%2051c0%202%200%202-1%201s-2%200-2%204%201%205%202%203a295%20295%200%2001-1%2049V89l-1%206-1%2012%201%207v1l-1%2012-1%2013-1%203-1%204v-6l1-6%201-1-1-1-1-1c-1-2-1-3%201-3l1-2c0-2%200-2-1-1l-1%202c-1%200-1-3%201-4v-3c-1-2-2-3-1-4a345%20345%200%2000-2%2044c1%201%202%201%202-1%201-3%201-1%201%204l1%207v2l1%203v5c0%206%201%202%202-8v-12l-1-3c-1-2-1-3%201-3l3-1-1-1-2-1h-1l-1-1v-2l-1-1h1l1-7%201-7%201%206v6h2l1-1v-4l-2-2c0-2%200-2%201-1l1%201-1-2v-2c1%200%201-4-1-5-1-1-1-1-1%201s0%202-1%200v-5l1-1c1-1%201%200%201%202l1%202a305%20305%200%2000-1-69m64%2011v6a79695%2079695%200%20010-6m-17%2043v34l-9%202c-11%202-12%203-12%205l5%201%204-1-3%203-3%204h2l3%201h-3c-5%200-5%203%200%205%203%201%204%201%203%202-2%202-1%203%201%203%201%201%202%201%201%202v3l-1%202v3c0%202%200%202%202%200l1-3%201-2c1%200%201-1-1-1v-2c2%200%208-8%208-10v-2l1-4c0-1%200-2%201-1%202%200%205-3%205-6l1-2c1%200%200%208-2%2010v2l2%205c-1%202%200%203%201%203v-9l1-2c0-1%201-2%203-1%202%200%202%200%202-2l-1-3v-1c2-1%202-24%200-25l-1%203-1%203-2%201%202%201c2%200%202%201%201%204l-2%204-1-1c0-2-2-3-2-1%201%204-2%207-5%207l-1-34a388%20388%200%2000-1%200M164%2098l-1%203c-1-1-1%200-1%202l1%203%201%203-1%201v7l-1-1-1-1v1c1%202%201%202-1%202-1%201%200%201%202%201s3%200%203-2h1c0%202%202%201%202-1%201-1%201-1%201%201s2%203%203%201h1l2%201v-7l1-1-2-1v-4l1%201c1%202%201%202%201-1s0-3-1-2c-2%202-3%201-3-2l-1-4-1%201-1%201h-2l1%201%201%204v4l-1-4c0-2-1-3-1-1h-1v-6l-1-1c-1-1-1%200-1%201m-71%2012c-5%201-4%201%205%201h10l-11%201c-12%201-16%202-7%202l8%202v2l7%203h-4c-7%200-11%200-10%201l3%202%205%201%207%202c2%201%204%201%204-2l1-1%201-1c-1-1%200-1%201-1l1%202-6%2016c0%201%201%201%201-1l2-2v-1c0-2%206-16%2010-19%202-3%205-4%205-2h2v-1l-1-2c1-1-2-2-3-1h-7c-6-1-19-2-24-1m35%208c-1%202%200%205%201%206h-2c-3%200-4%200-3%201l7%201%201-2c2-1%202-1%202%202l-1%201-4%205c-1%203-3%206-2%207l-3%201h1c4%202%207%202%207%201v-1l1-3-1%201c-2%202-5%200-3-3%201-2%203-3%204-1l4-5c5-7%206-8%205-4%200%203%200%203%201%202%202-1%203%200%202%202l3-2%202-3v-1l2-1h2c5%200%206-2%201-3h-4l-1-1-4-1h-7c-8-2-9-2-11%201m38%203l3%201-2%202c-2%200-2%201-2%202l-3%201c-2%200-3%200-1%201%203%201%2014%206%2013%207h-1l-1%201c0%202%203%201%204%200%201-2%203-3%203-1-1%201%202%203%203%203l1-3h2l2%201-2%201-2%201%202%202h5c-1%202%200%202%202%202v1l1%201-2%204c-3%202-1%203%202%200h4l2%201-1-1c-2-1-2-2%201-4l3-2h7l5-1-4-4c-5-4-9-5-10-3l-1%203v1l-1-1s-1-2-3-2l-2-2%203-1h4c2%200%200-2-3-3-3-2-9-3-9-1s0%202-3%201c-4-2-4-3%201-3h5l-4-2-9-1c-7%200-9-1-4-2%202-1%200-1-4-1-6%200-6%200-4%201m-6%201l-4%201c-3%200-9%206-12%2013-4%206-5%2011-4%2011l1-1%201-1%203-1c1-3%202-1%201%202l1%202%201-1v-2c1-3%200-7-2-7s-1-1%201-5c2-3%203-4%204-3%202%201%203%201%204-1v-4h1l2-1c3%201%207-1%206-2h-4m-77%2044v3h-2l1%202-1%201c-2%201-2%201%202%201%203%200%204%200%203%201s-1%201%202%201c2%201%202%201-1%201s-4%200-3-1l-1-1c-3%200-1%203%202%203s3%200%201%201c-4%200-4%202%200%202l3%201h-1l-3%201c-2%200%201%202%205%202%203%200%203%200%202%201h-4l-1%201c2%202%208%201%207-2h1c1%201%201%201%201-1l-2-2v1l-1%201-1-1-1-1-1-1%202-1-1-1-2-1h2c2%200%203%201%203%202%201%201%201%200%201-2%200-8-8-15-12-11m120%202c-2%204-2%207%201%205h1l-1%202%201%203%202%201h2v2l-1%201h1l1%201v1l1%202c0%202%203%206%204%205l-1-2v-10l-3-5c-2-3-3-4-5-3-2%200-2%200-2-2l2-2c1-4-2-2-3%201m45%2010l-3%201-5%203c-3%204-3%205%200%205%201%200%202%200%201%201h-3c-2%200-4%200-5%202-3%201-4%204-2%203h1l-2%201h-2v2l-2%201%203%201%202%201-3%201c-3%200-2%201%201%203%202%200%205%203%207%205%203%205%204%204%201-1-2-4-3-5%200-3h1v-2l3-1c2-2%204-2%204%201l1%201v-2l1-1c1%201%202%200%202-2l2-2%201-1h2l-1-2%202-4%204-2h1c1-1%200-3-1-2l-1-1c0-2-4-6-5-4%200%202-2%201-2-1l-1-2-2%201m27%2029a215%20215%200%20010%2029v26l1%2024a1301%201301%200%2000-1-79m-90-2v3h-1l-1%201c1%201%200%202-1%203v2l2-2h1l-1%202-1%202-1%204c-2%201-2%202%200%201s1%203-1%204h-3l1-1-1-2c-1-1-1%200-1%204l-1%205v6l1%202c0%203%202%207%203%207l1%204-1%204c-2%200%200%206%202%2011l2%205v-5l1-4%201%204%201%203v-2l1-4v-4c2-1%202-1%203%201l-1%202-1%202%201%201c1-1%201%206-1%2014%200%203%200%203%201%202s1-1%202%201c0%203%202%203%202-1%200-1%200-2-1-1l-1-1%201-2c1%200%202-1%201-2h-2c0-4%201-7%203-7v-1c-2%200-2%200-2-5l-2-4c-1-1-1-1%201-1s2-1%202-5a479%20479%200%2001-1-10h-2l-1-3v-3l-1-1-1-1-1-3%201-2%201-1v-5l-1-1%204-1c2%200%203%200%203-2h-6l-2%201c-1%203-2%204-2%201l1-5%202-4v-2c-2%200-2-5-1-6v-1c-1%200-2%201-2%203m-112%208a222%20222%200%2000-6%2017v5l-1%209c-2%203-2%203%200%203%204%201%205%206%2010%2036v3h22v-4c0-3%200-5%202-5l1-4%201-6c2-3%203-10%202-13l1-7c2-5-2-11-7-10-3%201-3%200-6-4l-3-6c0-2-4-7-6-7l-5-5-4-4-1%202m126%205v20l-1%206c-2-1%200%207%202%209h1l1-1v13c0%2013-1%2017-1%207s-2-6-2%205l-1%209h7v-6l1-20c0-18%200-19%203-20v2l1%2015v4l1%203v13c0%203%200%203%201%202s2-5%202-18v-18l1%203%201%204%201%202-1%202v1c2%201%203%200%203-8v-7c-1%201-3%200-5-1-4-2-4-2-2-3%201-1%201-1-1-1l-3-1c-1-1-1-1-1%202v3l-1-1h-2l1-2v-3c-2-3-3-2-2%201%200%203%200%203-1%201l-1-10c0-7%200-9-2-7m45%2023l-1%2013v31h3c1%201%201%201%201-2l1-4c2%200%201-3%200-3-1-1-2-2-1-6v-12c0-3%200-3-1-2s-1-1-1-9v-11l-1%205m-23%207l1%206%201%207c0%205%200%206-1%204-1-3-1-3-1%202l-1%2016-1-2-1-2-1-8v-13c-2-2-2%202-2%2022l-2%203-2%201-1%201h-3c-1%201%204%201%2012%201h14v-10a178%20178%200%20010-16l-1-8%201-9h-4l-6-1c-2%200-2%200-2%206m-77%2030l-7%201c3%200%204%200%203%201l-1%206c2%200%203-2%203-5l1-2%201%204c0%203%200%203%201%202l1-3c0-2%202-3%202-1h1v2c0%203%201%204%204%201%203-2%2025-2%2030%200s6%202%206%200c0-3-1-3-13-5-10-2-14-2-32-1m32%2087v6l11%203%2013%204c2%200%203-3%201-5-2-1-3-9-1-7v2l1%202v-5l-1-1h2l1-1c0-3-2-3-3-2l-1%202-1-1-1-1-1%201h-2c-2-3-3-2-2%201%200%202%200%202-1%200s-5-4-5-2l-2%201c-1-1-1-1%200%200l1%204%201%205v1l-2-2-1-1-3-2h2c1%200%202%200%202-2s-5-5-5-3h-1c0-5-2-1-2%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE7klEQVQ4y12UaXNTVRjH7/dwZBMZBFpKF9omzXqTm9zk3iQ3TTe6JiW0pWnLbdK0SVdW2RxAB1AcZRVklZZVQXyBjAu+EJlxnPHD/HxaHB198Z/nnOc85/+s5yh/vrzHk9tnWLx6ktPHi+wrDwiGeH9+hI+OTrIwtYvyeIaSnRZkyPYmabVC5Ecy7OxtIdPTQjbdQW4wTfeOFpQ/fr7HwxunufTxAcp2L12tIYazreyb3s2x/TYHZoYpjPQwPtzNXHEAe3c3me6kEPTQ0WJgRvzEDY1myyCkqSi/Pr/D0rUPuXHxA2YK/YT927FML13tEbJ9FqXxfk4dmeLYgQKlfFb0hhCoWPEQqs9BWPMIfCTiEWKxKMov393k+vnjXD53mE9OLWDnutA1B1HdTSTsImUFGcq2kx9LMyrRWfEg0YiPzo4kwaCHuBkmHosQDPgI6yGU1z/cZ+n6WW5ePsWlT49y8mgZI+qVSwKRhuHHNAPszLSRGxLCREig09PViqp6SFqmEPtxu5vw+/0or358wNeL53l893POntrH6LDUy97J4EAnBTtLMT9InxR/ZDjNSC5DPB4WR0Ha2iwh8ODzedAlsljcJGoaKC+fL/L0/hVOHJsVI5POzgRjY/0U8gOUp3JMl0Y5fnSeyeIIoyNZotIAf8Ajts14vC60UACf6kMLC6llLRMucf7ccUlLk0MfunQt1WISt8KYMU32Ku0dFplMJ7ncLqzmOAcPzMp6AEeTk4ihY8RMfIEgfi2M8uLZHR7cuUBHRwI16KavrwNdUopJnZzuBqpqKvCqLoZzWbIDGdKZHubmpzDjhuh9QqQSCGmEDZNkaxvKs0df8uCriySbI+JRRiZpiJF0Lxkl1WoJYSV1DTWk2pKUygUOHlrAo3rRDemspLlMpuk6uhlHi8ZQHt69xON7V2ltS+DxO3F5G1cI6hprUDU/9U5xkorT6HaQHexHDQdxSiMikmaj24VPC5BobhapU+/yoTxausJn505IUf3MzuZZ2DuF0yMDa4RodDnEiZuJSZtEyqJJurrdJU4lzVA0QpPPK9GqaJEoTq8q50GUpw9vUJoaY1PFRsrlcZ4+WaS9s1UiayDZkiRs6uzJj1KYmiBnj6JGdLnow0jEcAmhLxggKCkH9KjYJlC+eXSLCxfOUFG9hbbOFhbv3STZnsIjw2rJaHT0dNI/tIvCdImZ/XsJWwkahTAQ1al1OvBqQfREnFAsQTjRjHK4y+Twjii9tRsYbNrKQkpjt6eaIVcVdqCBsUA9tjzFouGlFPMz4Kom07CFrKOSntqNpOs3099YQdZZJWc1KHblKqadW5hzVTDvqVpZzza9wZy7kmnHJvJbV71B5dtMbFtDsXotxW1rmaxe98+6KPrlM6VQ+y6HTA8LWgOHEypHkgH2684V3RErwLxah121mnzNOxT+g3UUhLDwP71SbHiPQu16JrZvYKRyNbmKVStydOtqxqrWYtesZ9KxmQmxy9dtwBbbPaKz/8aemn/3y1J5fPeKfAxf8HjpGnvnJnE45HVUVZBqjpFOd9Pe1kJeujszPUWhYNOX7pU3LJ+C143TUU+TsxGvx4XL7cbt8aL8/tsLXr/6npc/fcut25epE6O31qxifGKU3J7cyuCmd+1kemGGydky+dIkQSOKXwZ8u4yWQ8jc6vIMqtQ6nPwFSIU8xj9I2YoAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/725d97828fb6c30617a3e305656acfc3/3ddd4/aicount_cover.png","srcSet":"/static/725d97828fb6c30617a3e305656acfc3/078a8/aicount_cover.png 163w,\n/static/725d97828fb6c30617a3e305656acfc3/e56da/aicount_cover.png 327w,\n/static/725d97828fb6c30617a3e305656acfc3/3ddd4/aicount_cover.png 653w,\n/static/725d97828fb6c30617a3e305656acfc3/c5cc7/aicount_cover.png 980w,\n/static/725d97828fb6c30617a3e305656acfc3/6050d/aicount_cover.png 1200w","srcWebp":"/static/725d97828fb6c30617a3e305656acfc3/0acdf/aicount_cover.webp","srcSetWebp":"/static/725d97828fb6c30617a3e305656acfc3/ac59e/aicount_cover.webp 163w,\n/static/725d97828fb6c30617a3e305656acfc3/7660b/aicount_cover.webp 327w,\n/static/725d97828fb6c30617a3e305656acfc3/0acdf/aicount_cover.webp 653w,\n/static/725d97828fb6c30617a3e305656acfc3/75470/aicount_cover.webp 980w,\n/static/725d97828fb6c30617a3e305656acfc3/9000d/aicount_cover.webp 1200w","sizes":"(max-width: 653px) 100vw, 653px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M95%203c0%203%200%204-3%204s-10%206-9%207l-2%201h-2v2c-1%201-3%201-9-2l-10-3%208%204%209%204-1%204v4l10%205-6-2-6-1c-1%200%201%202%205%203l6%203-7-2-7-2%202%202-1%201c0%202-2%202-5%201a217%20217%200%2000-26-9v1l21%208%209%204v3c-1%204%202%2013%204%2013l1%202c0%202%200%202%201%201%200-2%200-2%203-1%202%201%202%202%201%204-1%205%203%2012%207%2015l5%204%203%202v-1c-3-2-2-3%201-3%202%200%202%200%201%202v1c3-1%204%207%201%2014-1%205-1%205-3%204-4-4-9%200-9%205%200%203%200%203-2%203-3%200-3%200-2%201h-1c-2%200-2%201-2%204h-2l1%202-5%203c-4%204-5%205-9%205-6%201-11%204-18%2011-6%206-15%2018-14%2019%200%202%205%206%208%207%202%201%203%201%202%204l1%207v6c-2%200-2%201-1%201%202%200%202%205%200%206-1%202-2%2016-1%2022%201%203-2%2020-4%2021-2%202-9%2019-7%2019v5c0%204%200%205%202%208%203%204%205%2010%206%2017l1%207v3H0v37l1%2037h62l2%204c1%203%202%204%204%204%205%200%207%203%206%2010-1%205-1%207%201%2010l2%204-2%203c-3%205-2%206%202%202l3-3v3l-1%203h50l2-12%203-20%202-7h4l3%201v15l-1%2014%203%204c2%205%206%207%207%204h1c0%202%203%201%204-1%200-2%202-2%202-1%200%202%203%203%2012%203h9l-2-3-3-6-2-9c0-4%200-6-1-5l-14%201-13%202h-1l1-2%2014-1c16-2%2024-1%2024%203h1c2-3%204%200%204%205v4h-3l-4-1v-1h-1l-3-1h2l1-1-1-1-2-2c-1-2-1-2-1%201%200%205%201%209%202%208l4-1c3%200%203%200%203%203%200%202%200%202-1%201-2-2-3-1-3%201h-1c-2-2-1%200%201%203%201%202%201%202%201%200%200-3%202-3%203%200%202%203%204%202%204-2l1-5%201%204v5h10l1-10a397%20397%200%20001-24c0-5%200-5%203-5h11c4%200%205%201%205%202l2%201%201-1c0-1%201-2%203-2h3v39l1-7c0-5%200-7%201-5%201%201%201%201%201-3l1-4%201%202v17l3-2c1-2%201-2%201%200s0%202%201%200l1-2v-1l1-7-1-4-2%202-2-1v-3c0-2%200-2%201%200s1%201%201-3c0-3%200-3%201-1%201%201%201%202%203%201v-1c-1-1-1-5%201-6v-4l1-4%201%202%202%202%201-2%201-4c1-1%202%201%202%208s-1%209-2%209l-1-1-1-2c-2-1-2-1-2%203%200%202%201%203%202%203l1%201-1%201c-2%200-2%209-1%2010l1-1c-1-4%200-6%202-6l1-1c0-2%202-1%203%202v4l-1%201h1l1%202v2l1%201c0%202%205%202%207%201h1l2%201c3%200%203-1%203-4l1-3v3c0%203%200%204%202%204h3v-31l1%2015v16h17v-10l1-9v19h10l10-1c-2-1-2-6-1-7l1%203c0%205%201%205%209%205h7v-4c0-4%201-5%201-1s2%207%203%204h2c2%200%202%200%201-1-2%200-2-1-1-1%202-1%201-3-1-3-1-1%200-1%201-1l3%202c0%205%200%205%206%205%205%200%206%200%205-2h1l3%201h2c0%202%203%201%203-1l-2-2v-1c0-2%203-1%203%201h1c0-3%202-1%202%201s0%203%207%203l7-1%201-1%201%201c-1%201%201%201%205%201l6-1c-1-1%200-1%202-1l1%201c-1%201%200%201%202%201h3v-6l-1-6v-5l2-49a294%20294%200%2000-2-49h-1l-1%201%201-3c3-4%203-6%200-6-2%200-3-1-1-2h1l1%201%201-2h-1v-3c1-1%201-1-1-1l-2%201%202-2c3-2%202-8-1-7-2%201-1-1%201-4s3-14%201-12l-1-1v-2c2%200%202-4%202-28v-27h-2l-2-1h2c2-1%203-3%200-3v-1l2-4-2-5v-1c2%200%202-2%202-26%200-15%200-26-1-25l-1%202%201-5V92a307%20307%200%20000-56l1-18V1l-5-1-4%201c1%201%200%202-1%203-2%201-2%201-2-1s0-3-2-3l-2%201c2%202%200%203-2%201s-3%200-3%204c0%203-1%204-2%204-2%200-2%200-1-3%202-4%201-4-6-3l-8%202c-2%201-3%201-2%204%200%204%204%208%205%207l1%204c0%202%200%203-1%202-1-4-5-8-6-7v-2c1-7%200-7-13-3l-10%203-1%201v2c2%200%203%203%201%205-2%201-4-2-3-5s1-3-1-3a35696%2035696%200%2001-18%207v3c-2%201-2%201-1-1%200-2%200-2-1-1v-1l-1-1-4%201v1l1%203h-2v-2c0-2-3-1-18%204l-1%202%201%203v2h-4l2-4-1-1h-1l-2-1v1c2%201%200%207-2%207h-1v-2l-1-2v-2h-2l-1%204-1%204v-8l-7%202-8%203h-1l-7%202a531%20531%200%2001-22%207l-1%201v-1l-2-1-6%202-5%203%201%201c1-1%201%200%201%201l-2%204v2c3%202%201%209-4%2016-1%201-2-3-1-5l-1-3v-2c0-3-1-5-2-2-1%201-1%200-1-4v-5l3%201c4%203%205%202%204-1%200-2%200-2%201%200l1%201c0-4-1-5-5-4l-2%201h-3c-5-1-8-6-4-6l1%202c-1%202%202%201%203-1l1-1c0%202%200%202%207%201%209-3%2011-4%2010-6h1c2%202%202%202%204%201h2l1-1h2V28l-1-1-1%201-2%203v1c3%200-1%202-4%202h-3v-2l-2-2c1-4%201-4%202-1%201%201%201%201%201-1l1-2v4l1%203%201-3c0-3%200-3%201-1s1%202%202-1l1-2%203-1c2-1%202-1%201-2v-2c2-1%202-1%201-2l-2-16-2-3c-1%200-2%205%200%206v7l-1%204-1-2v-1l1-3c0-2%200-2-1%200l-2%204c0%202-1%202-1%201-1-1%200-3%201-4V8l-1-3c0-4%200-5-2-5s-2%200-1%201c2%202%201%2020%200%2022v2h-2v-2c1%200%202-4%200-4V0h-7v5l-1%205V6l-1-5-1%203-1%203-1-1-1-6c-2%201-2%209%200%209l-1%201-1%209c0%2017%200%2016-2%2015v-1c1-1%201-12-1-13l-2-1%201%202v8l-1%206-1%204v-4l-1-4-2%203-2%207v4l-1-6V24l-1-15c0-6%200-8-1-6%200%202-1%202-1%201V1l-1-1-1%2015v15l-1-8-1-7v8l1%209v1c-2%201-2%208%200%2010l2%201h2v1c-2%200-2%200%200%202h5c2%200%202%200%201%201s-1%201%201%201h1v1h2v4l1%202%201-2v2l-1%208-1%201%201-5c0-3%200-3-1%200l-2%202-2-1v-1h-1c-2%200-2%200-1-1v-1h-1l-2-1h-3l-4-3c-4-3-8-4-9-3l-1%201v-4l-3-1%201%202c3%202%200%202-4%200-5-2-7-5-3-4%204%202%204%201%205-1%200-1%200-2-1-1%200%202-1%202-2%201-3-1-4-1-2-3v-2c-4%200-6%201-7%204s-1%203%200%200v-8c0-4-1-4-1%200l-1%203-3%206c-1%203-1%205-2%204l2-6%201-6-4%2014v1c-1-2-1-2-1%200l-2%203v1l2%201h-4v-2l1-2c-1-4%200-7%201-4%201%201%201%200%201-2v-1c1%201%201%201%201-1v-5c0-2%200-2%201%200%201%201%201%200%201-2v-2c0%202%201%202%201%201v-2l-1-2-1-1-1%201-3%206-3%208-3%203v1l1%201-1%201c-1-1-1%200%200%200%200%202%200%202-3%201l-1-2c2%200%209-16%209-20%201-4-1-2-3%202l-2%203%201-4%201-6c0-4-1-4%208%201l8%203%2011%205c16%207%2015%208%2014-3a310%20310%200%2001-1-23V7c2-3%200-7-3-7s-6%202-6%204v1l-1-2-1-2c-1%201-1%204%202%205l2%203c0%202%201%205%202%204l1%201-3%201c-1%200-2%200-1%201%201%200%200%206-2%206v-7c2-1%202-2%200-5-1-4-2-4-2-2-1%201-1-1-1-3%200-10-1-4-1%207l-1%2011-1%202v2l-1%201%201%201c1-1%201%200%201%201%200%202-1%202-9-2l-5-2-6-2c-6-4-7-4-6%200%200%202%200%202-2%201v1l1%203-3-2-2-2-1%203c-1%202-2%203-4%202l-2-4c-1-2-1-2-2%201l-1%202-1-2h-2l1%202h-1l-1%203-2%202v-4l2-9c1-6%201-6-2%205l-2%203-1%201h-1c-2-2-2-1-5%206l-3%208%203-12c4-12%205-16%203-20l-1-3c2%200%208%204%208%205h1l10%203%208%204-3-2-4-4c0-2%200-2-1-1%200%202%200%202-4%200s-4-2-4-8c0-7-1-8-1-2%200%205-1%206-2%204h-2l-1%201V2l-2-2c-3%200-3%200-3%203l1%204v1c-1%200-2-1-2-4-1-5-3-5-3-1l-1%203V3l-1-3c-1%200-2%203-2%207v3l-1-8c0-2-2-1-3%202s-1%203-1%201%200-3-1-2l-2-1c-1-3-3-2-3%201m143%207a129%20129%200%20000%2015v4h6l-3%201c-2%200-5%203-4%204l-1%202c-1%201-1%201%201%201l3-2h5l4-1v-7l1-7v14l6-2c16-4%2017-5%2018-8%200-2%200-3-2-3v-1c2-1%202-3%202-11V0h-8c-8%200-8%200-8%202v3l-1-3c-1-3-6-3-6%200-1%202-1%202-1%200s-1-2-4-2c-4%200-5%201-5%202l2%201%201%201v4c-1%200-4-4-4-7l-1-1-1%2010m37-1c0%209%200%2010%202%2010v1c-2%200-3%207-1%207%203%200%205-3%203-4v-4c-1-1%200-1%201-1%202%200%202%201%202%204v4l2-3c2-3%203-5%201-3l-1-1c0-1%202-3%204-3h1c-3%202-2%208%201%207l4-2c8-1%2013-3%2013-6%200-2-1-2-2-1h-1l4-2v4c0%202%201%203%202%203v-4l1-4v-1c-1-1-1-1%201-1l2%202v2l1%203h2l2-1c5%200%2010-1%209-2v-2c3%200%203-4%200-3V7c2-2%204-2%204%201v3c1%202%203-1%203-4l1-4%201%203%202%204c2%201%208-1%209-3l2-4%201-3h-9l-10%201-3%201c-1%200-2%200-1-1l-4-1c-2%200-3%200-2%201%201%200%200%202-2%202V2l-6-2c-2%201-2%201%200%202%202%202%201%205-2%205l-1-4V0h-18v3l-1%203-1-3c0-3-3-4-5-1v1c1-1%202%200%202%201l-2%201c-2%200-2%200-2-2V0l-2%204-2%202V5l-1-2-1-1-1-2c-2%200-2%202-2%209M92%209l-2%201-2%201v1l1%201h1v2c-3%201-2%202%203%203%206%203%209%202%209-2v-3l1%203%201%202h2l2-1c1-1%201-1%201%202%200%202%200%202%201%200%201-3-1-8-2-6h-1c-1-1-4-3-12-4h-3m136%2051c0%202%200%202-1%201s-2%200-2%204%201%205%202%203a295%20295%200%2001-1%2049V89l-1%206-1%2012%201%207v1l-1%2012-1%2013-1%203-1%204v-6l1-6%201-1-1-1-1-1c-1-2-1-3%201-3l1-2c0-2%200-2-1-1l-1%202c-1%200-1-3%201-4v-3c-1-2-2-3-1-4a345%20345%200%2000-2%2044c1%201%202%201%202-1%201-3%201-1%201%204l1%207v2l1%203v5c0%206%201%202%202-8v-12l-1-3c-1-2-1-3%201-3l3-1-1-1-2-1h-1l-1-1v-2l-1-1h1l1-7%201-7%201%206v6h2l1-1v-4l-2-2c0-2%200-2%201-1l1%201-1-2v-2c1%200%201-4-1-5-1-1-1-1-1%201s0%202-1%200v-5l1-1c1-1%201%200%201%202l1%202a305%20305%200%2000-1-69m64%2011v6a79695%2079695%200%20010-6m-17%2043v34l-9%202c-11%202-12%203-12%205l5%201%204-1-3%203-3%204h2l3%201h-3c-5%200-5%203%200%205%203%201%204%201%203%202-2%202-1%203%201%203%201%201%202%201%201%202v3l-1%202v3c0%202%200%202%202%200l1-3%201-2c1%200%201-1-1-1v-2c2%200%208-8%208-10v-2l1-4c0-1%200-2%201-1%202%200%205-3%205-6l1-2c1%200%200%208-2%2010v2l2%205c-1%202%200%203%201%203v-9l1-2c0-1%201-2%203-1%202%200%202%200%202-2l-1-3v-1c2-1%202-24%200-25l-1%203-1%203-2%201%202%201c2%200%202%201%201%204l-2%204-1-1c0-2-2-3-2-1%201%204-2%207-5%207l-1-34a388%20388%200%2000-1%200M164%2098l-1%203c-1-1-1%200-1%202l1%203%201%203-1%201v7l-1-1-1-1v1c1%202%201%202-1%202-1%201%200%201%202%201s3%200%203-2h1c0%202%202%201%202-1%201-1%201-1%201%201s2%203%203%201h1l2%201v-7l1-1-2-1v-4l1%201c1%202%201%202%201-1s0-3-1-2c-2%202-3%201-3-2l-1-4-1%201-1%201h-2l1%201%201%204v4l-1-4c0-2-1-3-1-1h-1v-6l-1-1c-1-1-1%200-1%201m-71%2012c-5%201-4%201%205%201h10l-11%201c-12%201-16%202-7%202l8%202v2l7%203h-4c-7%200-11%200-10%201l3%202%205%201%207%202c2%201%204%201%204-2l1-1%201-1c-1-1%200-1%201-1l1%202-6%2016c0%201%201%201%201-1l2-2v-1c0-2%206-16%2010-19%202-3%205-4%205-2h2v-1l-1-2c1-1-2-2-3-1h-7c-6-1-19-2-24-1m35%208c-1%202%200%205%201%206h-2c-3%200-4%200-3%201l7%201%201-2c2-1%202-1%202%202l-1%201-4%205c-1%203-3%206-2%207l-3%201h1c4%202%207%202%207%201v-1l1-3-1%201c-2%202-5%200-3-3%201-2%203-3%204-1l4-5c5-7%206-8%205-4%200%203%200%203%201%202%202-1%203%200%202%202l3-2%202-3v-1l2-1h2c5%200%206-2%201-3h-4l-1-1-4-1h-7c-8-2-9-2-11%201m38%203l3%201-2%202c-2%200-2%201-2%202l-3%201c-2%200-3%200-1%201%203%201%2014%206%2013%207h-1l-1%201c0%202%203%201%204%200%201-2%203-3%203-1-1%201%202%203%203%203l1-3h2l2%201-2%201-2%201%202%202h5c-1%202%200%202%202%202v1l1%201-2%204c-3%202-1%203%202%200h4l2%201-1-1c-2-1-2-2%201-4l3-2h7l5-1-4-4c-5-4-9-5-10-3l-1%203v1l-1-1s-1-2-3-2l-2-2%203-1h4c2%200%200-2-3-3-3-2-9-3-9-1s0%202-3%201c-4-2-4-3%201-3h5l-4-2-9-1c-7%200-9-1-4-2%202-1%200-1-4-1-6%200-6%200-4%201m-6%201l-4%201c-3%200-9%206-12%2013-4%206-5%2011-4%2011l1-1%201-1%203-1c1-3%202-1%201%202l1%202%201-1v-2c1-3%200-7-2-7s-1-1%201-5c2-3%203-4%204-3%202%201%203%201%204-1v-4h1l2-1c3%201%207-1%206-2h-4m-77%2044v3h-2l1%202-1%201c-2%201-2%201%202%201%203%200%204%200%203%201s-1%201%202%201c2%201%202%201-1%201s-4%200-3-1l-1-1c-3%200-1%203%202%203s3%200%201%201c-4%200-4%202%200%202l3%201h-1l-3%201c-2%200%201%202%205%202%203%200%203%200%202%201h-4l-1%201c2%202%208%201%207-2h1c1%201%201%201%201-1l-2-2v1l-1%201-1-1-1-1-1-1%202-1-1-1-2-1h2c2%200%203%201%203%202%201%201%201%200%201-2%200-8-8-15-12-11m120%202c-2%204-2%207%201%205h1l-1%202%201%203%202%201h2v2l-1%201h1l1%201v1l1%202c0%202%203%206%204%205l-1-2v-10l-3-5c-2-3-3-4-5-3-2%200-2%200-2-2l2-2c1-4-2-2-3%201m45%2010l-3%201-5%203c-3%204-3%205%200%205%201%200%202%200%201%201h-3c-2%200-4%200-5%202-3%201-4%204-2%203h1l-2%201h-2v2l-2%201%203%201%202%201-3%201c-3%200-2%201%201%203%202%200%205%203%207%205%203%205%204%204%201-1-2-4-3-5%200-3h1v-2l3-1c2-2%204-2%204%201l1%201v-2l1-1c1%201%202%200%202-2l2-2%201-1h2l-1-2%202-4%204-2h1c1-1%200-3-1-2l-1-1c0-2-4-6-5-4%200%202-2%201-2-1l-1-2-2%201m27%2029a215%20215%200%20010%2029v26l1%2024a1301%201301%200%2000-1-79m-90-2v3h-1l-1%201c1%201%200%202-1%203v2l2-2h1l-1%202-1%202-1%204c-2%201-2%202%200%201s1%203-1%204h-3l1-1-1-2c-1-1-1%200-1%204l-1%205v6l1%202c0%203%202%207%203%207l1%204-1%204c-2%200%200%206%202%2011l2%205v-5l1-4%201%204%201%203v-2l1-4v-4c2-1%202-1%203%201l-1%202-1%202%201%201c1-1%201%206-1%2014%200%203%200%203%201%202s1-1%202%201c0%203%202%203%202-1%200-1%200-2-1-1l-1-1%201-2c1%200%202-1%201-2h-2c0-4%201-7%203-7v-1c-2%200-2%200-2-5l-2-4c-1-1-1-1%201-1s2-1%202-5a479%20479%200%2001-1-10h-2l-1-3v-3l-1-1-1-1-1-3%201-2%201-1v-5l-1-1%204-1c2%200%203%200%203-2h-6l-2%201c-1%203-2%204-2%201l1-5%202-4v-2c-2%200-2-5-1-6v-1c-1%200-2%201-2%203m-112%208a222%20222%200%2000-6%2017v5l-1%209c-2%203-2%203%200%203%204%201%205%206%2010%2036v3h22v-4c0-3%200-5%202-5l1-4%201-6c2-3%203-10%202-13l1-7c2-5-2-11-7-10-3%201-3%200-6-4l-3-6c0-2-4-7-6-7l-5-5-4-4-1%202m126%205v20l-1%206c-2-1%200%207%202%209h1l1-1v13c0%2013-1%2017-1%207s-2-6-2%205l-1%209h7v-6l1-20c0-18%200-19%203-20v2l1%2015v4l1%203v13c0%203%200%203%201%202s2-5%202-18v-18l1%203%201%204%201%202-1%202v1c2%201%203%200%203-8v-7c-1%201-3%200-5-1-4-2-4-2-2-3%201-1%201-1-1-1l-3-1c-1-1-1-1-1%202v3l-1-1h-2l1-2v-3c-2-3-3-2-2%201%200%203%200%203-1%201l-1-10c0-7%200-9-2-7m45%2023l-1%2013v31h3c1%201%201%201%201-2l1-4c2%200%201-3%200-3-1-1-2-2-1-6v-12c0-3%200-3-1-2s-1-1-1-9v-11l-1%205m-23%207l1%206%201%207c0%205%200%206-1%204-1-3-1-3-1%202l-1%2016-1-2-1-2-1-8v-13c-2-2-2%202-2%2022l-2%203-2%201-1%201h-3c-1%201%204%201%2012%201h14v-10a178%20178%200%20010-16l-1-8%201-9h-4l-6-1c-2%200-2%200-2%206m-77%2030l-7%201c3%200%204%200%203%201l-1%206c2%200%203-2%203-5l1-2%201%204c0%203%200%203%201%202l1-3c0-2%202-3%202-1h1v2c0%203%201%204%204%201%203-2%2025-2%2030%200s6%202%206%200c0-3-1-3-13-5-10-2-14-2-32-1m32%2087v6l11%203%2013%204c2%200%203-3%201-5-2-1-3-9-1-7v2l1%202v-5l-1-1h2l1-1c0-3-2-3-3-2l-1%202-1-1-1-1-1%201h-2c-2-3-3-2-2%201%200%202%200%202-1%200s-5-4-5-2l-2%201c-1-1-1-1%200%200l1%204%201%205v1l-2-2-1-1-3-2h2c1%200%202%200%202-2s-5-5-5-3h-1c0-5-2-1-2%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE7klEQVQ4y12UaXNTVRjH7/dwZBMZBFpKF9omzXqTm9zk3iQ3TTe6JiW0pWnLbdK0SVdW2RxAB1AcZRVklZZVQXyBjAu+EJlxnPHD/HxaHB198Z/nnOc85/+s5yh/vrzHk9tnWLx6ktPHi+wrDwiGeH9+hI+OTrIwtYvyeIaSnRZkyPYmabVC5Ecy7OxtIdPTQjbdQW4wTfeOFpQ/fr7HwxunufTxAcp2L12tIYazreyb3s2x/TYHZoYpjPQwPtzNXHEAe3c3me6kEPTQ0WJgRvzEDY1myyCkqSi/Pr/D0rUPuXHxA2YK/YT927FML13tEbJ9FqXxfk4dmeLYgQKlfFb0hhCoWPEQqs9BWPMIfCTiEWKxKMov393k+vnjXD53mE9OLWDnutA1B1HdTSTsImUFGcq2kx9LMyrRWfEg0YiPzo4kwaCHuBkmHosQDPgI6yGU1z/cZ+n6WW5ePsWlT49y8mgZI+qVSwKRhuHHNAPszLSRGxLCREig09PViqp6SFqmEPtxu5vw+/0or358wNeL53l893POntrH6LDUy97J4EAnBTtLMT9InxR/ZDjNSC5DPB4WR0Ha2iwh8ODzedAlsljcJGoaKC+fL/L0/hVOHJsVI5POzgRjY/0U8gOUp3JMl0Y5fnSeyeIIoyNZotIAf8Ajts14vC60UACf6kMLC6llLRMucf7ccUlLk0MfunQt1WISt8KYMU32Ku0dFplMJ7ncLqzmOAcPzMp6AEeTk4ihY8RMfIEgfi2M8uLZHR7cuUBHRwI16KavrwNdUopJnZzuBqpqKvCqLoZzWbIDGdKZHubmpzDjhuh9QqQSCGmEDZNkaxvKs0df8uCriySbI+JRRiZpiJF0Lxkl1WoJYSV1DTWk2pKUygUOHlrAo3rRDemspLlMpuk6uhlHi8ZQHt69xON7V2ltS+DxO3F5G1cI6hprUDU/9U5xkorT6HaQHexHDQdxSiMikmaj24VPC5BobhapU+/yoTxausJn505IUf3MzuZZ2DuF0yMDa4RodDnEiZuJSZtEyqJJurrdJU4lzVA0QpPPK9GqaJEoTq8q50GUpw9vUJoaY1PFRsrlcZ4+WaS9s1UiayDZkiRs6uzJj1KYmiBnj6JGdLnow0jEcAmhLxggKCkH9KjYJlC+eXSLCxfOUFG9hbbOFhbv3STZnsIjw2rJaHT0dNI/tIvCdImZ/XsJWwkahTAQ1al1OvBqQfREnFAsQTjRjHK4y+Twjii9tRsYbNrKQkpjt6eaIVcVdqCBsUA9tjzFouGlFPMz4Kom07CFrKOSntqNpOs3099YQdZZJWc1KHblKqadW5hzVTDvqVpZzza9wZy7kmnHJvJbV71B5dtMbFtDsXotxW1rmaxe98+6KPrlM6VQ+y6HTA8LWgOHEypHkgH2684V3RErwLxah121mnzNOxT+g3UUhLDwP71SbHiPQu16JrZvYKRyNbmKVStydOtqxqrWYtesZ9KxmQmxy9dtwBbbPaKz/8aemn/3y1J5fPeKfAxf8HjpGnvnJnE45HVUVZBqjpFOd9Pe1kJeujszPUWhYNOX7pU3LJ+C143TUU+TsxGvx4XL7cbt8aL8/tsLXr/6npc/fcut25epE6O31qxifGKU3J7cyuCmd+1kemGGydky+dIkQSOKXwZ8u4yWQ8jc6vIMqtQ6nPwFSIU8xj9I2YoAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/725d97828fb6c30617a3e305656acfc3/502b1/aicount_cover.png","srcSet":"/static/725d97828fb6c30617a3e305656acfc3/f2e6d/aicount_cover.png 114w,\n/static/725d97828fb6c30617a3e305656acfc3/4ddba/aicount_cover.png 229w,\n/static/725d97828fb6c30617a3e305656acfc3/502b1/aicount_cover.png 457w,\n/static/725d97828fb6c30617a3e305656acfc3/7ddc2/aicount_cover.png 686w,\n/static/725d97828fb6c30617a3e305656acfc3/435bf/aicount_cover.png 914w,\n/static/725d97828fb6c30617a3e305656acfc3/6050d/aicount_cover.png 1200w","srcWebp":"/static/725d97828fb6c30617a3e305656acfc3/15384/aicount_cover.webp","srcSetWebp":"/static/725d97828fb6c30617a3e305656acfc3/31fce/aicount_cover.webp 114w,\n/static/725d97828fb6c30617a3e305656acfc3/e3e25/aicount_cover.webp 229w,\n/static/725d97828fb6c30617a3e305656acfc3/15384/aicount_cover.webp 457w,\n/static/725d97828fb6c30617a3e305656acfc3/0258d/aicount_cover.webp 686w,\n/static/725d97828fb6c30617a3e305656acfc3/64ea2/aicount_cover.webp 914w,\n/static/725d97828fb6c30617a3e305656acfc3/9000d/aicount_cover.webp 1200w","sizes":"(max-width: 457px) 100vw, 457px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M95%203c0%203%200%204-3%204s-10%206-9%207l-2%201h-2v2c-1%201-3%201-9-2l-10-3%208%204%209%204-1%204v4l10%205-6-2-6-1c-1%200%201%202%205%203l6%203-7-2-7-2%202%202-1%201c0%202-2%202-5%201a217%20217%200%2000-26-9v1l21%208%209%204v3c-1%204%202%2013%204%2013l1%202c0%202%200%202%201%201%200-2%200-2%203-1%202%201%202%202%201%204-1%205%203%2012%207%2015l5%204%203%202v-1c-3-2-2-3%201-3%202%200%202%200%201%202v1c3-1%204%207%201%2014-1%205-1%205-3%204-4-4-9%200-9%205%200%203%200%203-2%203-3%200-3%200-2%201h-1c-2%200-2%201-2%204h-2l1%202-5%203c-4%204-5%205-9%205-6%201-11%204-18%2011-6%206-15%2018-14%2019%200%202%205%206%208%207%202%201%203%201%202%204l1%207v6c-2%200-2%201-1%201%202%200%202%205%200%206-1%202-2%2016-1%2022%201%203-2%2020-4%2021-2%202-9%2019-7%2019v5c0%204%200%205%202%208%203%204%205%2010%206%2017l1%207v3H0v37l1%2037h62l2%204c1%203%202%204%204%204%205%200%207%203%206%2010-1%205-1%207%201%2010l2%204-2%203c-3%205-2%206%202%202l3-3v3l-1%203h50l2-12%203-20%202-7h4l3%201v15l-1%2014%203%204c2%205%206%207%207%204h1c0%202%203%201%204-1%200-2%202-2%202-1%200%202%203%203%2012%203h9l-2-3-3-6-2-9c0-4%200-6-1-5l-14%201-13%202h-1l1-2%2014-1c16-2%2024-1%2024%203h1c2-3%204%200%204%205v4h-3l-4-1v-1h-1l-3-1h2l1-1-1-1-2-2c-1-2-1-2-1%201%200%205%201%209%202%208l4-1c3%200%203%200%203%203%200%202%200%202-1%201-2-2-3-1-3%201h-1c-2-2-1%200%201%203%201%202%201%202%201%200%200-3%202-3%203%200%202%203%204%202%204-2l1-5%201%204v5h10l1-10a397%20397%200%20001-24c0-5%200-5%203-5h11c4%200%205%201%205%202l2%201%201-1c0-1%201-2%203-2h3v39l1-7c0-5%200-7%201-5%201%201%201%201%201-3l1-4%201%202v17l3-2c1-2%201-2%201%200s0%202%201%200l1-2v-1l1-7-1-4-2%202-2-1v-3c0-2%200-2%201%200s1%201%201-3c0-3%200-3%201-1%201%201%201%202%203%201v-1c-1-1-1-5%201-6v-4l1-4%201%202%202%202%201-2%201-4c1-1%202%201%202%208s-1%209-2%209l-1-1-1-2c-2-1-2-1-2%203%200%202%201%203%202%203l1%201-1%201c-2%200-2%209-1%2010l1-1c-1-4%200-6%202-6l1-1c0-2%202-1%203%202v4l-1%201h1l1%202v2l1%201c0%202%205%202%207%201h1l2%201c3%200%203-1%203-4l1-3v3c0%203%200%204%202%204h3v-31l1%2015v16h17v-10l1-9v19h10l10-1c-2-1-2-6-1-7l1%203c0%205%201%205%209%205h7v-4c0-4%201-5%201-1s2%207%203%204h2c2%200%202%200%201-1-2%200-2-1-1-1%202-1%201-3-1-3-1-1%200-1%201-1l3%202c0%205%200%205%206%205%205%200%206%200%205-2h1l3%201h2c0%202%203%201%203-1l-2-2v-1c0-2%203-1%203%201h1c0-3%202-1%202%201s0%203%207%203l7-1%201-1%201%201c-1%201%201%201%205%201l6-1c-1-1%200-1%202-1l1%201c-1%201%200%201%202%201h3v-6l-1-6v-5l2-49a294%20294%200%2000-2-49h-1l-1%201%201-3c3-4%203-6%200-6-2%200-3-1-1-2h1l1%201%201-2h-1v-3c1-1%201-1-1-1l-2%201%202-2c3-2%202-8-1-7-2%201-1-1%201-4s3-14%201-12l-1-1v-2c2%200%202-4%202-28v-27h-2l-2-1h2c2-1%203-3%200-3v-1l2-4-2-5v-1c2%200%202-2%202-26%200-15%200-26-1-25l-1%202%201-5V92a307%20307%200%20000-56l1-18V1l-5-1-4%201c1%201%200%202-1%203-2%201-2%201-2-1s0-3-2-3l-2%201c2%202%200%203-2%201s-3%200-3%204c0%203-1%204-2%204-2%200-2%200-1-3%202-4%201-4-6-3l-8%202c-2%201-3%201-2%204%200%204%204%208%205%207l1%204c0%202%200%203-1%202-1-4-5-8-6-7v-2c1-7%200-7-13-3l-10%203-1%201v2c2%200%203%203%201%205-2%201-4-2-3-5s1-3-1-3a35696%2035696%200%2001-18%207v3c-2%201-2%201-1-1%200-2%200-2-1-1v-1l-1-1-4%201v1l1%203h-2v-2c0-2-3-1-18%204l-1%202%201%203v2h-4l2-4-1-1h-1l-2-1v1c2%201%200%207-2%207h-1v-2l-1-2v-2h-2l-1%204-1%204v-8l-7%202-8%203h-1l-7%202a531%20531%200%2001-22%207l-1%201v-1l-2-1-6%202-5%203%201%201c1-1%201%200%201%201l-2%204v2c3%202%201%209-4%2016-1%201-2-3-1-5l-1-3v-2c0-3-1-5-2-2-1%201-1%200-1-4v-5l3%201c4%203%205%202%204-1%200-2%200-2%201%200l1%201c0-4-1-5-5-4l-2%201h-3c-5-1-8-6-4-6l1%202c-1%202%202%201%203-1l1-1c0%202%200%202%207%201%209-3%2011-4%2010-6h1c2%202%202%202%204%201h2l1-1h2V28l-1-1-1%201-2%203v1c3%200-1%202-4%202h-3v-2l-2-2c1-4%201-4%202-1%201%201%201%201%201-1l1-2v4l1%203%201-3c0-3%200-3%201-1s1%202%202-1l1-2%203-1c2-1%202-1%201-2v-2c2-1%202-1%201-2l-2-16-2-3c-1%200-2%205%200%206v7l-1%204-1-2v-1l1-3c0-2%200-2-1%200l-2%204c0%202-1%202-1%201-1-1%200-3%201-4V8l-1-3c0-4%200-5-2-5s-2%200-1%201c2%202%201%2020%200%2022v2h-2v-2c1%200%202-4%200-4V0h-7v5l-1%205V6l-1-5-1%203-1%203-1-1-1-6c-2%201-2%209%200%209l-1%201-1%209c0%2017%200%2016-2%2015v-1c1-1%201-12-1-13l-2-1%201%202v8l-1%206-1%204v-4l-1-4-2%203-2%207v4l-1-6V24l-1-15c0-6%200-8-1-6%200%202-1%202-1%201V1l-1-1-1%2015v15l-1-8-1-7v8l1%209v1c-2%201-2%208%200%2010l2%201h2v1c-2%200-2%200%200%202h5c2%200%202%200%201%201s-1%201%201%201h1v1h2v4l1%202%201-2v2l-1%208-1%201%201-5c0-3%200-3-1%200l-2%202-2-1v-1h-1c-2%200-2%200-1-1v-1h-1l-2-1h-3l-4-3c-4-3-8-4-9-3l-1%201v-4l-3-1%201%202c3%202%200%202-4%200-5-2-7-5-3-4%204%202%204%201%205-1%200-1%200-2-1-1%200%202-1%202-2%201-3-1-4-1-2-3v-2c-4%200-6%201-7%204s-1%203%200%200v-8c0-4-1-4-1%200l-1%203-3%206c-1%203-1%205-2%204l2-6%201-6-4%2014v1c-1-2-1-2-1%200l-2%203v1l2%201h-4v-2l1-2c-1-4%200-7%201-4%201%201%201%200%201-2v-1c1%201%201%201%201-1v-5c0-2%200-2%201%200%201%201%201%200%201-2v-2c0%202%201%202%201%201v-2l-1-2-1-1-1%201-3%206-3%208-3%203v1l1%201-1%201c-1-1-1%200%200%200%200%202%200%202-3%201l-1-2c2%200%209-16%209-20%201-4-1-2-3%202l-2%203%201-4%201-6c0-4-1-4%208%201l8%203%2011%205c16%207%2015%208%2014-3a310%20310%200%2001-1-23V7c2-3%200-7-3-7s-6%202-6%204v1l-1-2-1-2c-1%201-1%204%202%205l2%203c0%202%201%205%202%204l1%201-3%201c-1%200-2%200-1%201%201%200%200%206-2%206v-7c2-1%202-2%200-5-1-4-2-4-2-2-1%201-1-1-1-3%200-10-1-4-1%207l-1%2011-1%202v2l-1%201%201%201c1-1%201%200%201%201%200%202-1%202-9-2l-5-2-6-2c-6-4-7-4-6%200%200%202%200%202-2%201v1l1%203-3-2-2-2-1%203c-1%202-2%203-4%202l-2-4c-1-2-1-2-2%201l-1%202-1-2h-2l1%202h-1l-1%203-2%202v-4l2-9c1-6%201-6-2%205l-2%203-1%201h-1c-2-2-2-1-5%206l-3%208%203-12c4-12%205-16%203-20l-1-3c2%200%208%204%208%205h1l10%203%208%204-3-2-4-4c0-2%200-2-1-1%200%202%200%202-4%200s-4-2-4-8c0-7-1-8-1-2%200%205-1%206-2%204h-2l-1%201V2l-2-2c-3%200-3%200-3%203l1%204v1c-1%200-2-1-2-4-1-5-3-5-3-1l-1%203V3l-1-3c-1%200-2%203-2%207v3l-1-8c0-2-2-1-3%202s-1%203-1%201%200-3-1-2l-2-1c-1-3-3-2-3%201m143%207a129%20129%200%20000%2015v4h6l-3%201c-2%200-5%203-4%204l-1%202c-1%201-1%201%201%201l3-2h5l4-1v-7l1-7v14l6-2c16-4%2017-5%2018-8%200-2%200-3-2-3v-1c2-1%202-3%202-11V0h-8c-8%200-8%200-8%202v3l-1-3c-1-3-6-3-6%200-1%202-1%202-1%200s-1-2-4-2c-4%200-5%201-5%202l2%201%201%201v4c-1%200-4-4-4-7l-1-1-1%2010m37-1c0%209%200%2010%202%2010v1c-2%200-3%207-1%207%203%200%205-3%203-4v-4c-1-1%200-1%201-1%202%200%202%201%202%204v4l2-3c2-3%203-5%201-3l-1-1c0-1%202-3%204-3h1c-3%202-2%208%201%207l4-2c8-1%2013-3%2013-6%200-2-1-2-2-1h-1l4-2v4c0%202%201%203%202%203v-4l1-4v-1c-1-1-1-1%201-1l2%202v2l1%203h2l2-1c5%200%2010-1%209-2v-2c3%200%203-4%200-3V7c2-2%204-2%204%201v3c1%202%203-1%203-4l1-4%201%203%202%204c2%201%208-1%209-3l2-4%201-3h-9l-10%201-3%201c-1%200-2%200-1-1l-4-1c-2%200-3%200-2%201%201%200%200%202-2%202V2l-6-2c-2%201-2%201%200%202%202%202%201%205-2%205l-1-4V0h-18v3l-1%203-1-3c0-3-3-4-5-1v1c1-1%202%200%202%201l-2%201c-2%200-2%200-2-2V0l-2%204-2%202V5l-1-2-1-1-1-2c-2%200-2%202-2%209M92%209l-2%201-2%201v1l1%201h1v2c-3%201-2%202%203%203%206%203%209%202%209-2v-3l1%203%201%202h2l2-1c1-1%201-1%201%202%200%202%200%202%201%200%201-3-1-8-2-6h-1c-1-1-4-3-12-4h-3m136%2051c0%202%200%202-1%201s-2%200-2%204%201%205%202%203a295%20295%200%2001-1%2049V89l-1%206-1%2012%201%207v1l-1%2012-1%2013-1%203-1%204v-6l1-6%201-1-1-1-1-1c-1-2-1-3%201-3l1-2c0-2%200-2-1-1l-1%202c-1%200-1-3%201-4v-3c-1-2-2-3-1-4a345%20345%200%2000-2%2044c1%201%202%201%202-1%201-3%201-1%201%204l1%207v2l1%203v5c0%206%201%202%202-8v-12l-1-3c-1-2-1-3%201-3l3-1-1-1-2-1h-1l-1-1v-2l-1-1h1l1-7%201-7%201%206v6h2l1-1v-4l-2-2c0-2%200-2%201-1l1%201-1-2v-2c1%200%201-4-1-5-1-1-1-1-1%201s0%202-1%200v-5l1-1c1-1%201%200%201%202l1%202a305%20305%200%2000-1-69m64%2011v6a79695%2079695%200%20010-6m-17%2043v34l-9%202c-11%202-12%203-12%205l5%201%204-1-3%203-3%204h2l3%201h-3c-5%200-5%203%200%205%203%201%204%201%203%202-2%202-1%203%201%203%201%201%202%201%201%202v3l-1%202v3c0%202%200%202%202%200l1-3%201-2c1%200%201-1-1-1v-2c2%200%208-8%208-10v-2l1-4c0-1%200-2%201-1%202%200%205-3%205-6l1-2c1%200%200%208-2%2010v2l2%205c-1%202%200%203%201%203v-9l1-2c0-1%201-2%203-1%202%200%202%200%202-2l-1-3v-1c2-1%202-24%200-25l-1%203-1%203-2%201%202%201c2%200%202%201%201%204l-2%204-1-1c0-2-2-3-2-1%201%204-2%207-5%207l-1-34a388%20388%200%2000-1%200M164%2098l-1%203c-1-1-1%200-1%202l1%203%201%203-1%201v7l-1-1-1-1v1c1%202%201%202-1%202-1%201%200%201%202%201s3%200%203-2h1c0%202%202%201%202-1%201-1%201-1%201%201s2%203%203%201h1l2%201v-7l1-1-2-1v-4l1%201c1%202%201%202%201-1s0-3-1-2c-2%202-3%201-3-2l-1-4-1%201-1%201h-2l1%201%201%204v4l-1-4c0-2-1-3-1-1h-1v-6l-1-1c-1-1-1%200-1%201m-71%2012c-5%201-4%201%205%201h10l-11%201c-12%201-16%202-7%202l8%202v2l7%203h-4c-7%200-11%200-10%201l3%202%205%201%207%202c2%201%204%201%204-2l1-1%201-1c-1-1%200-1%201-1l1%202-6%2016c0%201%201%201%201-1l2-2v-1c0-2%206-16%2010-19%202-3%205-4%205-2h2v-1l-1-2c1-1-2-2-3-1h-7c-6-1-19-2-24-1m35%208c-1%202%200%205%201%206h-2c-3%200-4%200-3%201l7%201%201-2c2-1%202-1%202%202l-1%201-4%205c-1%203-3%206-2%207l-3%201h1c4%202%207%202%207%201v-1l1-3-1%201c-2%202-5%200-3-3%201-2%203-3%204-1l4-5c5-7%206-8%205-4%200%203%200%203%201%202%202-1%203%200%202%202l3-2%202-3v-1l2-1h2c5%200%206-2%201-3h-4l-1-1-4-1h-7c-8-2-9-2-11%201m38%203l3%201-2%202c-2%200-2%201-2%202l-3%201c-2%200-3%200-1%201%203%201%2014%206%2013%207h-1l-1%201c0%202%203%201%204%200%201-2%203-3%203-1-1%201%202%203%203%203l1-3h2l2%201-2%201-2%201%202%202h5c-1%202%200%202%202%202v1l1%201-2%204c-3%202-1%203%202%200h4l2%201-1-1c-2-1-2-2%201-4l3-2h7l5-1-4-4c-5-4-9-5-10-3l-1%203v1l-1-1s-1-2-3-2l-2-2%203-1h4c2%200%200-2-3-3-3-2-9-3-9-1s0%202-3%201c-4-2-4-3%201-3h5l-4-2-9-1c-7%200-9-1-4-2%202-1%200-1-4-1-6%200-6%200-4%201m-6%201l-4%201c-3%200-9%206-12%2013-4%206-5%2011-4%2011l1-1%201-1%203-1c1-3%202-1%201%202l1%202%201-1v-2c1-3%200-7-2-7s-1-1%201-5c2-3%203-4%204-3%202%201%203%201%204-1v-4h1l2-1c3%201%207-1%206-2h-4m-77%2044v3h-2l1%202-1%201c-2%201-2%201%202%201%203%200%204%200%203%201s-1%201%202%201c2%201%202%201-1%201s-4%200-3-1l-1-1c-3%200-1%203%202%203s3%200%201%201c-4%200-4%202%200%202l3%201h-1l-3%201c-2%200%201%202%205%202%203%200%203%200%202%201h-4l-1%201c2%202%208%201%207-2h1c1%201%201%201%201-1l-2-2v1l-1%201-1-1-1-1-1-1%202-1-1-1-2-1h2c2%200%203%201%203%202%201%201%201%200%201-2%200-8-8-15-12-11m120%202c-2%204-2%207%201%205h1l-1%202%201%203%202%201h2v2l-1%201h1l1%201v1l1%202c0%202%203%206%204%205l-1-2v-10l-3-5c-2-3-3-4-5-3-2%200-2%200-2-2l2-2c1-4-2-2-3%201m45%2010l-3%201-5%203c-3%204-3%205%200%205%201%200%202%200%201%201h-3c-2%200-4%200-5%202-3%201-4%204-2%203h1l-2%201h-2v2l-2%201%203%201%202%201-3%201c-3%200-2%201%201%203%202%200%205%203%207%205%203%205%204%204%201-1-2-4-3-5%200-3h1v-2l3-1c2-2%204-2%204%201l1%201v-2l1-1c1%201%202%200%202-2l2-2%201-1h2l-1-2%202-4%204-2h1c1-1%200-3-1-2l-1-1c0-2-4-6-5-4%200%202-2%201-2-1l-1-2-2%201m27%2029a215%20215%200%20010%2029v26l1%2024a1301%201301%200%2000-1-79m-90-2v3h-1l-1%201c1%201%200%202-1%203v2l2-2h1l-1%202-1%202-1%204c-2%201-2%202%200%201s1%203-1%204h-3l1-1-1-2c-1-1-1%200-1%204l-1%205v6l1%202c0%203%202%207%203%207l1%204-1%204c-2%200%200%206%202%2011l2%205v-5l1-4%201%204%201%203v-2l1-4v-4c2-1%202-1%203%201l-1%202-1%202%201%201c1-1%201%206-1%2014%200%203%200%203%201%202s1-1%202%201c0%203%202%203%202-1%200-1%200-2-1-1l-1-1%201-2c1%200%202-1%201-2h-2c0-4%201-7%203-7v-1c-2%200-2%200-2-5l-2-4c-1-1-1-1%201-1s2-1%202-5a479%20479%200%2001-1-10h-2l-1-3v-3l-1-1-1-1-1-3%201-2%201-1v-5l-1-1%204-1c2%200%203%200%203-2h-6l-2%201c-1%203-2%204-2%201l1-5%202-4v-2c-2%200-2-5-1-6v-1c-1%200-2%201-2%203m-112%208a222%20222%200%2000-6%2017v5l-1%209c-2%203-2%203%200%203%204%201%205%206%2010%2036v3h22v-4c0-3%200-5%202-5l1-4%201-6c2-3%203-10%202-13l1-7c2-5-2-11-7-10-3%201-3%200-6-4l-3-6c0-2-4-7-6-7l-5-5-4-4-1%202m126%205v20l-1%206c-2-1%200%207%202%209h1l1-1v13c0%2013-1%2017-1%207s-2-6-2%205l-1%209h7v-6l1-20c0-18%200-19%203-20v2l1%2015v4l1%203v13c0%203%200%203%201%202s2-5%202-18v-18l1%203%201%204%201%202-1%202v1c2%201%203%200%203-8v-7c-1%201-3%200-5-1-4-2-4-2-2-3%201-1%201-1-1-1l-3-1c-1-1-1-1-1%202v3l-1-1h-2l1-2v-3c-2-3-3-2-2%201%200%203%200%203-1%201l-1-10c0-7%200-9-2-7m45%2023l-1%2013v31h3c1%201%201%201%201-2l1-4c2%200%201-3%200-3-1-1-2-2-1-6v-12c0-3%200-3-1-2s-1-1-1-9v-11l-1%205m-23%207l1%206%201%207c0%205%200%206-1%204-1-3-1-3-1%202l-1%2016-1-2-1-2-1-8v-13c-2-2-2%202-2%2022l-2%203-2%201-1%201h-3c-1%201%204%201%2012%201h14v-10a178%20178%200%20010-16l-1-8%201-9h-4l-6-1c-2%200-2%200-2%206m-77%2030l-7%201c3%200%204%200%203%201l-1%206c2%200%203-2%203-5l1-2%201%204c0%203%200%203%201%202l1-3c0-2%202-3%202-1h1v2c0%203%201%204%204%201%203-2%2025-2%2030%200s6%202%206%200c0-3-1-3-13-5-10-2-14-2-32-1m32%2087v6l11%203%2013%204c2%200%203-3%201-5-2-1-3-9-1-7v2l1%202v-5l-1-1h2l1-1c0-3-2-3-3-2l-1%202-1-1-1-1-1%201h-2c-2-3-3-2-2%201%200%202%200%202-1%200s-5-4-5-2l-2%201c-1-1-1-1%200%200l1%204%201%205v1l-2-2-1-1-3-2h2c1%200%202%200%202-2s-5-5-5-3h-1c0-5-2-1-2%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/725d97828fb6c30617a3e305656acfc3/6050d/aicount_cover.png"}}},"authors":[{"authorsPage":true,"bio":"Hello everybody 👋 !  My name is Luke and I am the creator and owner of the spaceout.pl. Personally, I am a big geek with huge love for Star Wars, Marvel and DC comic books, Funk and 80s music. I take most of my design inspiration from offline experiences like going to art museums, galleries and working with other creative people on various projects. I also work with various Activist and NGO groups as a pro-bono designer and developer.\n","id":"f69d27c7-7f9a-5fbd-b05d-1a324fd10c0a","name":"Luke Celitan","featured":true,"social":[{"url":"https://www.facebook.com/spaceout/"},{"url":"https://twitter.com/spaceout.pl"},{"url":"https://www.instagram.com/spaceout.pl/"},{"url":"https://huggingface.co/MassivDash"},{"url":"https://bsky.app/profile/lukecelitan.bsky.social"}],"slug":"/authors/luke-celitan","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIFAQME/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABvOTVgtERIAH/xAAaEAEBAQEAAwAAAAAAAAAAAAACAQMEABAS/9oACAEBAAEFAmoDjs0/Oq1a9kUzN+j7/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHhAAAgEDBQAAAAAAAAAAAAAAAQIAAxESECAxMlH/2gAIAQEABj8CLHgTGqmBPXSlTANsrmKyXLK0B92f/8QAHhABAAECBwAAAAAAAAAAAAAAAREAIRAgMUFhcdH/2gAIAQEAAT8hUmKFDbjke4JaIOG01Fthsd0YugnJ/9oADAMBAAIAAwAAABDzzzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEBAAEDBQEAAAAAAAAAAAABETEAQWEQICFxgZH/2gAIAQEAAT8QhmFXf0c6oSU1s8jwz0W5QpAeFf1+Gp7aimCmBvvoV0CRyUvZ/9k=","aspectRatio":1,"src":"/static/4f53b0980dc97328dd1294bbc374fd0e/fa1ea/spaceghost.jpg","srcSet":"/static/4f53b0980dc97328dd1294bbc374fd0e/afb2b/spaceghost.jpg 13w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/7c20e/spaceghost.jpg 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/fa1ea/spaceghost.jpg 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/03612/spaceghost.jpg 75w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/61cdf/spaceghost.jpg 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg 305w","srcWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/e7b2c/spaceghost.webp","srcSetWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/58718/spaceghost.webp 13w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/74aad/spaceghost.webp 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/e7b2c/spaceghost.webp 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/ed320/spaceghost.webp 75w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/66016/spaceghost.webp 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp 305w","sizes":"(max-width: 50px) 100vw, 50px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M189%2065A519%20519%200%200065%20299c-5%2020-5%2018%203%2015%208-4%2039-10%2057-12%2011-1%2010%200%2010-11%200-29%206-103%2010-121%204-21%2016-36%2033-43%206-2%208-2%2020-2%2018%200%2024%202%2036%2013%2020%2021%2025%2046%2029%20138l2%2026h10a267%20267%200%200168%2014l-6-26A607%20607%200%2000218%2071c-10-10-15-15-18-15-2%200-6%203-11%209m47%20129c-14%208-26%2015-26%2017%200%203%2018%205%2024%202%205-3%209-10%209-18%200-5%200-5-7-1m-82%201l1%205c1%2011%209%2018%2020%2017%207-1%2013-3%2013-5s-32-19-34-17'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIFAQME/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABvOTVgtERIAH/xAAaEAEBAQEAAwAAAAAAAAAAAAACAQMEABAS/9oACAEBAAEFAmoDjs0/Oq1a9kUzN+j7/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHhAAAgEDBQAAAAAAAAAAAAAAAQIAAxESECAxMlH/2gAIAQEABj8CLHgTGqmBPXSlTANsrmKyXLK0B92f/8QAHhABAAECBwAAAAAAAAAAAAAAAREAIRAgMUFhcdH/2gAIAQEAAT8hUmKFDbjke4JaIOG01Fthsd0YugnJ/9oADAMBAAIAAwAAABDzzzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEBAAEDBQEAAAAAAAAAAAABETEAQWEQICFxgZH/2gAIAQEAAT8QhmFXf0c6oSU1s8jwz0W5QpAeFf1+Gp7aimCmBvvoV0CRyUvZ/9k=","aspectRatio":1,"src":"/static/4f53b0980dc97328dd1294bbc374fd0e/61cdf/spaceghost.jpg","srcSet":"/static/4f53b0980dc97328dd1294bbc374fd0e/7c20e/spaceghost.jpg 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/fa1ea/spaceghost.jpg 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/61cdf/spaceghost.jpg 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/59538/spaceghost.jpg 150w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/fd013/spaceghost.jpg 200w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg 305w","srcWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/66016/spaceghost.webp","srcSetWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/74aad/spaceghost.webp 25w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/e7b2c/spaceghost.webp 50w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/66016/spaceghost.webp 100w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/d9b14/spaceghost.webp 150w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/6b183/spaceghost.webp 200w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp 305w","sizes":"(max-width: 100px) 100vw, 100px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M189%2065A519%20519%200%200065%20299c-5%2020-5%2018%203%2015%208-4%2039-10%2057-12%2011-1%2010%200%2010-11%200-29%206-103%2010-121%204-21%2016-36%2033-43%206-2%208-2%2020-2%2018%200%2024%202%2036%2013%2020%2021%2025%2046%2029%20138l2%2026h10a267%20267%200%200168%2014l-6-26A607%20607%200%2000218%2071c-10-10-15-15-18-15-2%200-6%203-11%209m47%20129c-14%208-26%2015-26%2017%200%203%2018%205%2024%202%205-3%209-10%209-18%200-5%200-5-7-1m-82%201l1%205c1%2011%209%2018%2020%2017%207-1%2013-3%2013-5s-32-19-34-17'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGQABAAIDAAAAAAAAAAAAAAAAAAIFAQME/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAABvOTVgtERIAH/xAAaEAEBAQEAAwAAAAAAAAAAAAACAQMEABAS/9oACAEBAAEFAmoDjs0/Oq1a9kUzN+j7/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAHhAAAgEDBQAAAAAAAAAAAAAAAQIAAxESECAxMlH/2gAIAQEABj8CLHgTGqmBPXSlTANsrmKyXLK0B92f/8QAHhABAAECBwAAAAAAAAAAAAAAAREAIRAgMUFhcdH/2gAIAQEAAT8hUmKFDbjke4JaIOG01Fthsd0YugnJ/9oADAMBAAIAAwAAABDzzzz/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAfEAEBAAEDBQEAAAAAAAAAAAABETEAQWEQICFxgZH/2gAIAQEAAT8QhmFXf0c6oSU1s8jwz0W5QpAeFf1+Gp7aimCmBvvoV0CRyUvZ/9k=","aspectRatio":1,"src":"/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg","srcSet":"/static/4f53b0980dc97328dd1294bbc374fd0e/a2637/spaceghost.jpg 82w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/15203/spaceghost.jpg 164w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/442ab/spaceghost.jpg 305w","srcWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp","srcSetWebp":"/static/4f53b0980dc97328dd1294bbc374fd0e/2d087/spaceghost.webp 82w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/29d87/spaceghost.webp 164w,\n/static/4f53b0980dc97328dd1294bbc374fd0e/85828/spaceghost.webp 305w","sizes":"(max-width: 305px) 100vw, 305px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M189%2065A519%20519%200%200065%20299c-5%2020-5%2018%203%2015%208-4%2039-10%2057-12%2011-1%2010%200%2010-11%200-29%206-103%2010-121%204-21%2016-36%2033-43%206-2%208-2%2020-2%2018%200%2024%202%2036%2013%2020%2021%2025%2046%2029%20138l2%2026h10a267%20267%200%200168%2014l-6-26A607%20607%200%2000218%2071c-10-10-15-15-18-15-2%200-6%203-11%209m47%20129c-14%208-26%2015-26%2017%200%203%2018%205%2024%202%205-3%209-10%209-18%200-5%200-5-7-1m-82%201l1%205c1%2011%209%2018%2020%2017%207-1%2013-3%2013-5s-32-19-34-17'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"}}}],"basePath":"/","tech":["AI","SoftwareEngineering"],"category":"Post","slug":"/ai-cant-count-give-it-a-calculator","id":"c48bf546-9834-5742-ae92-7dbc039a2c26","title":"AI Can't Count","appDescription":null,"mailchimp":false,"next":[{"id":"02413450-9734-5da5-864e-d376af501252","slug":"/building-evolutionary-architectures","secret":false,"title":"Building Evolutionary Architectures","author":"Luke Celitan","date":"July 15th, 2026","dateForSEO":"2026-07-15T00:00:00.000Z","timeToRead":7,"excerpt":"Fitness Functions, Architectural Quanta, and How an Architect Finally Wins the Quality Argument Without Having It","subscription":true,"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Building Evolutionary Architectures\",\n  \"excerpt\": \"Fitness Functions, Architectural Quanta, and How an Architect Finally Wins the Quality Argument Without Having It\",\n  \"date\": \"2026-07-15T00:00:00.000Z\",\n  \"hero\": \"evolutionaryArchitecture_cover.png\",\n  \"author\": \"Luke Celitan\",\n  \"category\": \"Post\",\n  \"tech\": [\"SoftwareEngineering\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"building-evolutionary-architectures-how-do-you-defend-quality-nobody-can-see\"\n  }, \"Building Evolutionary Architectures: How Do You Defend Quality Nobody Can See?\"), mdx(\"h2\", {\n    \"id\": \"introduction\"\n  }, \"Introduction\"), mdx(\"p\", null, \"Every architecture diagram I have ever drawn was wrong within six months. Not\\nbecause the diagram was bad, but because I drew it as if the system would hold\\nstill. It never does. New requirements land, a team gets reorged out from under\\nme, a vendor deprecates the API three services quietly depend on, and the\\n\\u201Cfinal\\u201D architecture turns out to have been the first draft of something that\\nhas to keep moving.\"), mdx(\"p\", null, \"As an engineering manager I\\u2019ve made peace with that part. The part I\\u2019ve spent\\nyears actually losing sleep over is different: \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"architecture quality is\\ninvisible to the people who fund it.\"), \" The business doesn\\u2019t see coupling. It\\nsees features. It sees velocity. So when the pressure comes on \\u2014 and it always\\ncomes on \\u2014 the invisible stuff is the first thing sacrificed, because nobody in\\nthe room can point to a number that says it mattered. I\\u2019ve written before about\\nthe \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/the-rise-of-the-solo-dev-army\"\n  }, \"crucible of collaboration\"), \" and about the\\ntug-of-war between \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/mastering-agile-estimation\"\n  }, \"clean code and the business\"), \"\\nthat only wants the next feature. This post is about the missing tool in both of\\nthose fights.\"), mdx(\"p\", null, \"I found the name for that tool in \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Building Evolutionary Architectures\"), \" by Neal\\nFord, Rebecca Parsons, Patrick Kua, and Pramod Sadalage \\u2014 now in a second\\nedition that\\u2019s aged noticeably better than the 2017 original, because the\\ntooling finally caught up to the idea. But I don\\u2019t want to write you a book\\nreport. I want to tell you what the book unlocked for an argument I\\u2019d already\\nbeen having for years.\"), mdx(\"h2\", {\n    \"id\": \"the-real-problem-isnt-change--its-that-quality-cant-defend-itself\"\n  }, \"The Real Problem Isn\\u2019t Change \\u2014 It\\u2019s That Quality Can\\u2019t Defend Itself\"), mdx(\"p\", null, \"Here\\u2019s the thing nobody tells you in the architecture course. Architectures\\ndon\\u2019t calcify because architects are lazy or stupid. They calcify because there\\nis no forcing function keeping them honest.\"), mdx(\"p\", null, \"Think about how the rest of the pipeline evolved. We stopped hand-testing and\\nlet CI run on every commit. We stopped deploying on terrifying Saturday nights\\nand made it a Tuesday afternoon non-event. Code and deployment both learned to\\nmove fast and prove themselves automatically. Architecture never got that\\ntreatment. It stayed a PDF someone drew, a decision made once, and a \\u201Creview\\u201D\\nyou scheduled \\u2014 a meeting, not a check.\"), mdx(\"p\", null, \"So you get the split I see on almost every troubled project:\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"The pipeline ships in minutes, but every third release still needs a two-week\\narchitecture review, because the structure underneath it was never designed to\\nabsorb change \\u2014 and worse, nobody can \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"measure\"), \" whether it\\u2019s absorbing change\\nor slowly rotting.\")), mdx(\"p\", null, \"That gap \\u2014 fast code, slow architecture \\u2014 is the whole game. And it\\u2019s the same\\ngap I keep circling in the\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/mastering-agile-estimation\"\n  }, \"technical-debt conversation\"), \": your business\\noverlords don\\u2019t care about code, they care about features, and your mighty\\nvelocity is the only dial they watch. Technical debt is invisible until velocity\\ndrops off a cliff, and by then it\\u2019s a rewrite, not a fix. Architectural drift is\\nthe exact same trap, one level up.\"), mdx(\"h2\", {\n    \"id\": \"fitness-functions-making-the-invisible-go-red-in-ci\"\n  }, \"Fitness Functions: Making the Invisible Go Red in CI\"), mdx(\"p\", null, \"This is the idea I\\u2019d trade the rest of the book for.\"), mdx(\"p\", null, \"Ford and co. borrow the term \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"fitness function\"), \" from evolutionary computing and\\ndefine an architectural one as \\u201Cany mechanism that provides an objective\\nintegrity assessment of some architecture characteristic or combination of\\ncharacteristics.\\u201D Read past the phrasing and here\\u2019s what it actually is: \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"a\\ncheck that makes an invisible quality visible enough to fail a build.\")), mdx(\"p\", null, \"If you\\u2019ve ever set a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/mastering-agile-estimation\"\n  }, \"SonarQube quality gate\"), \" \\u2014\\nsay, \\u201Cfail the pipeline if code smells exceed 100 or duplication tops 5%\\u201D \\u2014 you\\nhave already written a fitness function. You just didn\\u2019t have the word for it.\\nThe book\\u2019s contribution is generalizing that instinct from code hygiene to\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"architecture\"), \": response-time budgets asserted in CI, ArchUnit tests that break\\nthe build when a module reaches into a layer it has no business touching, a\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/chaos-engineering\"\n  }, \"chaos-engineering experiment\"), \" that proves resilience under\\nfailure instead of hoping for it, a security scan that gates the deploy.\"), mdx(\"p\", null, \"Why does this matter so much to me as an EM? Because it ends the argument I\\nalways lose. I no longer have to walk into a room and \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"persuade\"), \" someone that\\ncoupling matters, that we shouldn\\u2019t let the reporting service call straight into\\nthe orders database. I don\\u2019t win that argument on charisma. The build goes red.\\nThe characteristic the team agreed mattered is now enforced by a machine that\\ndoesn\\u2019t attend the sprint review and can\\u2019t be talked out of it. That\\u2019s not a\\ntechnical upgrade \\u2014 it\\u2019s a political one.\"), mdx(\"p\", null, \"One nuance the book is right to hammer: measure the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"outcome\"), \", not the\\nimplementation. A fitness function is allowed to live in a monitoring dashboard,\\na DevOps tool, or a throwaway script in a language your app doesn\\u2019t even use.\\nYou\\u2019re asserting a property of the system, not writing production code.\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Dimension\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Question It Answers\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Example\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Atomic vs. Holistic\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"One characteristic, or several fighting each other at once?\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A single load test vs. a combined performance-and-security gate\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Triggered vs. Continual\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"On demand, or always running?\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A manual pen test vs. a live monitoring alert\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Static vs. Dynamic\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Does the pass/fail line ever move?\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A fixed uptime SLA vs. a threshold that adapts to load\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Automated vs. Manual\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Can a machine decide without me?\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"A CI suite vs. an architecture review board\")))), mdx(\"p\", null, \"The categories aren\\u2019t academic. The moment your team can say out loud \\u201Cthis gate\\nprotects coupling, that one protects latency,\\u201D you\\u2019re negotiating tradeoffs with\\nnames on the table instead of arguing from vibes. And I\\u2019ll take a named tradeoff\\nover a vibe every day of the week.\"), mdx(FitnessPipeline, {\n    mdxType: \"FitnessPipeline\"\n  }), mdx(\"h2\", {\n    \"id\": \"what-are-you-actually-protecting-quanta-and-coupling\"\n  }, \"What Are You Actually Protecting? Quanta and Coupling\"), mdx(\"p\", null, \"You can\\u2019t defend everything, so the book gives you units to defend.\"), mdx(\"p\", null, \"The first is the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"architectural quantum\"), \" \\u2014 the smallest thing you can\\nindependently deploy that still hangs together as a coherent whole, dependencies\\nand all (formally: independently deployable, highly cohesive, with its static\\nand synchronous runtime coupling bundled in). A monolith is, by definition,\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"one\"), \" quantum: touch anything and you\\u2019ve put everything\\u2019s deployment and test\\nsurface at risk. Break it into well-drawn\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/advanced-typescript-patterns-and-architectures\"\n  }, \"bounded contexts\"), \" and you get\\nmany small quanta, each free to evolve on its own clock \\u2014 the price being that\\nyou now have to manage contracts between them like an adult.\"), mdx(\"p\", null, \"The second is \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"coupling\"), \", and the book\\u2019s most useful move is splitting it in\\ntwo. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Static coupling\"), \" is how the pieces are wired at rest \\u2014 dependencies,\\nlibraries, contracts, the stuff your build graph already draws for you.\\n\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Dynamic coupling\"), \" is how they actually talk at runtime, synchronously or\\nasynchronously \\u2014 the stuff your build graph never shows. This is exactly why a\\nservice can look pristine in a dependency diagram and still fall over in\\nproduction, because three services all silently assume the same undocumented\\nordering of synchronous calls that nothing anywhere declares.\"), mdx(CouplingGraph, {\n    mdxType: \"CouplingGraph\"\n  }), mdx(\"p\", null, \"To talk about that precisely, the authors dust off \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"connascence\"), \", a term\\nMeilir Page-Jones coined back in 1996: two components are connascent if changing\\none forces you to change the other to keep the system correct. The part I\\nactually put to work is the ranking. Prefer \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"static\"), \" connascence over \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"dynamic\"), \",\\nbecause you can find static coupling by reading source and kill it with\\nautomated refactoring, while dynamic coupling only introduces itself to you\\nduring an incident. When you find the strong stuff, refactor toward a weaker\\nform \\u2014 swap a magic value shared across modules for a single named constant and\\nyou\\u2019ve just traded connascence of meaning for connascence of name. That\\u2019s\\ncoupling made a decision instead of a surprise.\"), mdx(ConnascenceLadder, {\n    mdxType: \"ConnascenceLadder\"\n  }), mdx(\"h2\", {\n    \"id\": \"conways-law-is-not-optional-ask-any-manager\"\n  }, \"Conway\\u2019s Law Is Not Optional (Ask Any Manager)\"), mdx(\"p\", null, \"No book on evolvability escapes Conway\\u2019s Law, and as someone who spends half his\\nweek on team topology rather than code, I think it\\u2019s the most under-respected\\nforce in the whole discipline: \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"your system will end up shaped like your org\\nchart whether you designed it that way or not.\")), mdx(\"p\", null, \"The naive read is \\u201Creorg the teams to match the architecture.\\u201D The real lesson\\nis humbler. Any evolutionary-architecture effort that ignores who talks to whom\\nis fighting a structural force it cannot out-design. I\\u2019ve watched a beautiful\\nservice boundary quietly dissolve because the two teams owning either side sat\\nin the same standup and just\\u2026 started reaching across it. The diagram didn\\u2019t\\nlose. The org chart won. It always does.\"), mdx(\"h2\", {\n    \"id\": \"the-solo-dev-army-needs-this-more-than-anyone\"\n  }, \"The Solo Dev Army Needs This More Than Anyone\"), mdx(\"p\", null, \"I argued in \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/the-rise-of-the-solo-dev-army\"\n  }, \"The Rise of the Solo Dev Army\"), \" that\\nAI tooling lets one developer do what used to take a team \\u2014 and that the thing\\nquietly lost in that trade is \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"constructive friction\"), \". Peer review, the raised\\neyebrow in the PR, the colleague who asks \\u201Cwait, why does this reach into that?\\u201D\\nThat friction is where a lot of architectural quality actually gets defended,\\nand a solo developer with an eager AICopilot generates code far faster than any\\nhuman reviewer can push back on it.\"), mdx(\"p\", null, \"Fitness functions are the most convincing answer I\\u2019ve found to my own argument.\\nA test that fails the build because a change violated a coupling rule doesn\\u2019t\\ncare whether a human or an agent wrote the change. It doesn\\u2019t get tired at 2\\na.m., it doesn\\u2019t defer to the person who seems confident, and it can\\u2019t be\\ncharmed. It\\u2019s automated, unglamorous friction \\u2014 and for AI-assisted development\\nit may be one of the only guardrails that scales as fast as the code generation\\ndoes. If AI removes the human who used to catch the bad architectural call, a\\nred build is how you put a facsimile of that human back into the loop.\"), mdx(\"h2\", {\n    \"id\": \"is-this-just-another-hype-train\"\n  }, \"Is This Just Another Hype Train?\"), mdx(\"p\", null, \"I\\u2019m constitutionally suspicious of methodology books, and regular readers know\\nI\\u2019ll happily \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/beware-of-the-hype-train\"\n  }, \"drag a hype train off its rails\"), \".\\n\\u201CEvolutionary architecture\\u201D has exactly the shape of a term that could become\\nconference-slide filler.\"), mdx(\"p\", null, \"What saves it is that its central idea is \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"testable\"), \", which is the precise\\nopposite of hype. A fitness function either goes green or it doesn\\u2019t. You can\\u2019t\\nfake it in a keynote. The failure modes I\\u2019ve lived through are just as concrete\\n\\u2014 here are the smells and their fixes, most of which I\\u2019ve had to apply the hard\\nway:\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Symptom\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"What It Signals\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Fix\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Every change needs a full manual regression pass\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"No automated fitness functions\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Turn the manual checks into pipeline gates\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"One team must approve all cross-service changes\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Architecture and org are misaligned\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Revisit team topology against Conway\\u2019s Law\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"\\u201CWe don\\u2019t know what breaks if we change this\\u201D\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Undocumented connascence\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Map it, name it, refactor toward a weaker form\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Every migration is a big-bang cutover night\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"No incremental change path\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Split it into independently deployable quanta\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Nobody wrote the important characteristics down\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"No shared definition of \\u201Cimportant\\u201D\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Run a workshop and rank them, out loud\")))), mdx(\"p\", null, \"That last row is the one I\\u2019d tattoo on a wall. \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"You cannot build a fitness\\nfunction for a quality nobody agreed mattered.\"), \" Naming the characteristics is\\nthe unglamorous prerequisite to protecting any of them \\u2014 and it\\u2019s the step every\\ncalcified architecture I\\u2019ve inherited skipped.\"), mdx(\"h2\", {\n    \"id\": \"final-thoughts\"\n  }, \"Final Thoughts\"), mdx(\"p\", null, \"Architecture that can\\u2019t change gracefully isn\\u2019t architecture. It\\u2019s the shape\\nyour system happened to have on the day everyone stopped paying attention. What\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Building Evolutionary Architectures\"), \" gave me wasn\\u2019t a new philosophy \\u2014 I\\nalready believed change was the default and quality was worth fighting for. It\\ngave me a way to stop \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"arguing\"), \" for quality and start \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"enforcing\"), \" it: pick your\\nquanta, name your coupling, agree on what matters, and wire each of those\\nbeliefs to a check that turns red when reality drifts away from them.\"), mdx(\"p\", null, \"The tools have only gotten sharper since 2017. Actually pointing them at the\\nqualities you claim to care about \\u2014 that\\u2019s still the hard part, and it\\u2019s still\\non us.\"), mdx(\"p\", null, \"This post was heavily inspired by\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.oreilly.com/library/view/building-evolutionary-architectures/9781492097532/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"Building Evolutionary Architectures\"), \", 2nd Edition\"), \"\\nby Neal Ford, Rebecca Parsons, Patrick Kua, and Pramod Sadalage. I\\u2019ve stripped\\nit down to the argument I actually use, but the book has a lot more nuance and a\\nlot more war stories than I could fit here. If any of this resonated, you should\\ndefinitely read it.\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"If this landed for you, share it with your team and tell me which fitness\\nfunction you\\u2019d write first. And if you\\u2019ve read the second edition, I want to\\nknow whether the coupling chapter changed your mind the way it changed mine.\")));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["SoftwareEngineering"],"category":"Post","appDescription":null,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE4UlEQVQ4yz1UW1OTVxT9XtqHqmM7XqqVSiEEkhAgMeRCQCIJ4SaQQCAESCA1Ei9UuQQCSQQEpVNvKAElJEAICJaigBdawNrasa2dsS+dvvren7G6z6n2Yc0+Odnf2muvs88RZHI55NlZHNJMGWTyTGRmyXlMSxcjXSJBXr4eKnUuROI0pKaJaC8D4ox0HkViMc9jv9n/wn9k2e8IM5EhlUIik3KSpuZmBIJBTE5OwnPag2JzMTQ6LSSUk5qWxglSRKkEESdlewJTKJHJODKkEiiOKdHV3Y3xcBj3pqawsLCIxPw8Ojo60OpuRa2tlojNUGs1nOyLVALF/xWy1lirDMkpKaits2FhcRE3b43hzvg4EokEZmdn4fP1EKEbDocDJ4xFqDhZASUVT3lHxqxh4C2/94150uv3Ix6PIxqLYZ6URaNRzMzMYnh4BE6XCy6Cx+NBg6MB5RXl/BsmhtnEIBzLVYGBmc58Gx0dRWR6GkvLy0Q0Q+TziEQiaHY50dDYyFUODg4iFAqhrr4eOn0eshU5XBCzTNAX5EOTp4OSSKutFkxMTGKRWl5fW+PK+gMBGKhFMSmR52TjZGUlfOTx2NgYmp1OFJ4wcDJGXG2xQCgpK4Wh6AS0tFFI8RSd5jfXriEcnkALqVFpNFDRAag0amQrFchSvCPt6eEK27xejH49SsVjmKJDFGx1dbDW1KC4xAxjsQlFJiMqq6tQZalGQeFx5FEHDCpNLhQqJd8z0ficpsI/bm/j+c4OlpeWEKBO7A12CI5GB1q/dJOaVtpo4KRavY4XYMr1x/P5qDBrspU5FPWUY0S9vR7Dl4fgPeOFnQ6IdWouKYHgbHGht68PQTLZScabzCZYrFaYKYERl5aXclVqrZqKFCPnmIKmQobDSZ8hWZSCjq5OdPu60f5VO12EJghuzyk6jGqUVZTxtthNYNUsNVauUJefB7VOg3QpO5Qs7mFahhhHjiahx9/Lx+r2nTsYuTKCLiIWBoaG4A/0oy8Y4NXqyAcxfZxMA6smcnNpCbVdQMR6TshUfXJgH6xkQ+jSJbpN97C6ukoX4Rau37wB4d7dCcTnZnBlZAj5+Rq0n/diZHgQNpsVOl0u3YYsaLUqyDLZbRCh0KDHQKif54nTU9HiasLW5hMsLsSxfD8BwXBhGmbfPBStN3CotBufV/bD2DmDyuAytG1hpNYM4EiFH/uLO3mO4UIUVaFvcbQqgAPmLsqnOb0Yg6lrDkaCsMsWhda3BrVvHYbQJnJ9G5C3r0B27gFyOh5C2/sYx4PPKD6BrncDSe5FCCfvYrc9jj2OBHZR/NA6jQ+sEcI0EdZOQXlxBYX+R9B0rsAYXOdrtlcUWIf07BI+tkdxoGkWnzbP4SBhty2CPXXTPL5f77XHeBT2N0RwxDkDiXcB6W0LyGhLQHb2PpJbYsg4HUeSkxJrJvGRZRy7ayZoPYHDzjnss0ew3xHFwcYYx17bXRxqnoXQF7qM4OBVbG+/xJ9v/sbTZ8/xcG0Tt8MRdPkHUGAqQ7nFBnfbOZzv8CE8SQ/Hg4fY2f4JyytrmF9axcuff6MpGcKloas0h24XVpfu46/Xr/HP27f4YWMdr57vYOvxBs54PfSSy+gNrMeL7zcRvn0Lf/zyEm9+fYXfKW5tPsV3Kw/wYnsLTx6tItjvx79c8zk1xHMBnAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/08d6ae2d357c421ca65cab39176b1cc1/a1946/evolutionaryArchitecture_cover.png","srcSet":"/static/08d6ae2d357c421ca65cab39176b1cc1/5b37e/evolutionaryArchitecture_cover.png 236w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/49058/evolutionaryArchitecture_cover.png 472w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/a1946/evolutionaryArchitecture_cover.png 944w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/6050d/evolutionaryArchitecture_cover.png 1200w","srcWebp":"/static/08d6ae2d357c421ca65cab39176b1cc1/99fbb/evolutionaryArchitecture_cover.webp","srcSetWebp":"/static/08d6ae2d357c421ca65cab39176b1cc1/77392/evolutionaryArchitecture_cover.webp 236w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/1f177/evolutionaryArchitecture_cover.webp 472w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/99fbb/evolutionaryArchitecture_cover.webp 944w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/9000d/evolutionaryArchitecture_cover.webp 1200w","sizes":"(max-width: 944px) 100vw, 944px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%20118a3274%203274%200%20003%20117h4c3%200%203-5%200-5l2-1%204-2c1-2%203-2%204-1%201%202%208%202%208%201l-4-1c-3%200-3%200-1-1h5c3%200%203%200%202-2l1-1h1l-1-2v-1c2%200-1-5-3-9-3-2-4-8-2-6l1-1c0-1%201-2%206-2%206%200%207%200%206%201l2%203h3l5%201c3%201%203%201%203-1-1-2%201-3%201-1h1c0-2-5-3-9-1h-3c0-2%202-2%2015-2l8-2%202-2c3-1%203%200%203%204s1%206%204%2010l4%205-4%201c-4%201-6%200-6-1l-1-2c-2-1-2%200-1%202v1l-3-4c-2-4-4-5-2-2l-1%202h-2v1c1%200%202%200%201%201l1%201h1v1c3%201-1%203-10%206l-12%204c-1%202-4%202-12%202-11%200-12%201-12%206s1%206%2033%207c22%202%2029%203%2029%204l4%201c4%200%2010%203%2012%206%202%202%203%202%207%202s5%200%206%202l1%202c4%203%206%208%206%2016%200%209-1%2011-3%2011s-10-9-10-11c1-2%200-2-1-2-3%200-6-2-4-2l1-1-3-1-3-3c0-2-2-3-4-4l-7-4c-3-2-8-2-9%200l-4%202c-3%201-4%202-6%205s-2%203-4%201h-1l1%202c2%201%201%203-2%203-2%200-3%200-2%201h1l1%201v5c2%208%202%208-26%208H0v114h11l-1-4-1-6c0-2%200-2%202-2%203%201%204%200%201-2-1-1-1-2%202-7l3-7%205%203%202%203v2l-1%205c-1%202-1%202-1-3%200-7-2-6-2%201%200%2010-1%2011-3%2013v4l2-2%201-2v2c0%205%202%202%202-3l1-7%202-4c1-4%203-6%204-4%202%201%202%202%202%204v1c1-2%204-3%204-1l2%202c2%200%202%201%202%203v1c2-2%202-2%206%201l5%202-4-4-5-2%202-4%202-5-2%203-3%204c-2%200-6-4-5-4h1c1%201%201%201%201-1l3-4c2-2%203-5%201-3-2%201-2%201-2-1-1-2-1-2-1%200v2l-1%201-1%202-1-3c1-4%200-2-2%203-1%203-1%203-3%202-2-2-2-2%204-13%202-6%206-8%205-4l-2%204%201%202%202-4c0-3%201-4%204-4l4%201c-2%205-2%206%200%204l-1%205c-1%204%201%202%203-4l2-5h29l2%208c1%205%202%208%203%207l-1-7c-3-10-1-13%203-4l3%204-2-5-2-4h3c3%200%204%201%205%202l2%203-1-3c0-3%204-3%206%201l3%202-1-2c-2-2-1-3%204-3%206%200%206%200%2011%204%203%204%205%205%204%206s-1%201%201%201l4%201-6%201c-5%200-5%200-1%201%204%200%205%201%205%202h1l2-1%201-1%202-3v-1h-2l-4-3-4-4%203-1c3%200%205%201%203%203-1%202%200%203%202%201%201-1%201-1%201%201%200%201%200%202%201%201%200-2%202-1%201%201h4c1%201%200%202-3%206-3%202-4%204-3%204l4-3c3-4%204-4%2010-4s7%200%206%201c-3%202-7%2023-5%2025%203%203%2038%203%2038%200h1l1%202%201-5v-3l2%201v4l2%202%206%201h5v-20l5-3c4-2%206-4%207-6l2-3%201%202c1%202%202%203%203%202l4%202c3%201%204%202%202%203-1%202-1%203%201%203l1%201%201%202v5c-1%201-1%201%201%201v2l2%202c0%204%202%207%205%207s3-1%200-12l-2-9h23l6-3%209-3c4-3%203%200-3%207-4%203-7%207-6%207l10-10c13-14%2021-19%2024-16h1l4-1c2%200%203%200%203%202v1l1-1c1-2%205-2%2022-2h21l1%203%202%202-1-3c-2-3%202-3%204%201l1%203v-3c-1-3-1-3%201-3%203%200%204%202%205%2014l1%204-2-5c-4-7-3-3%201%205s4%2010%201%206l-3-2%2010%2012-1-3v-3l-2-4c-1-3-6-23-5-24l1%201%202%203v-1l1-3c1%200%208%2012%208%2015h2c-1%201%201%204%205%208l4%207h-2l2%202h2l1%202c-1%201-1%201%200%200l1%201c-2%202%202%205%206%205h5V286h-59l-2-3-2-4-2-5-2-6c1-8-6-14-17-16l-8-1-7%205c-6%204-7%205-7%207%201%202%200%203-3%205l-4%203h4l-1%201-8%207-6%207h-8l-8-1h-1l-2%201%201-2%201-3%201-7c2-5%202-5%207-6%2013-1%2010%202%2033-31l21-31c0-1%203-3%206-3%202%200%203-1%203-2h2v1c-1%201%201%201%206%201%206%200%207%200%205%201-3%201-3%201-1%201s3%202%200%202l-1%201%204%201c1-1%202%200%202%201v3h-5v-1c3%200%202-2-1-2l-4%202-3%203v1c1%201%202%200%203-1s1-1%201%201c-1%202%200%203%201%201s8-2%2010-1h1l3-1c2%200%203-1%204-5l3-3h7l2%201%201%201%201%201v6c-2%202-1%209%200%207%202-3%205-2%205%201l1%203v2h1l2-3%202-1v1l1%201v1c-1%202%201%203%203%201l4-1%201%201-2%201c0%202%204%200%204-2%201-3%204-3%206-1%201%201%201-45%201-113V0H0v118m194-98l-7%207c-1%200%201-3%205-6%206-6%205-7-2-3l-11%203a125%20125%200%2000-22%209c-8%201-24%208-24%209h-1c0-2-18%205-19%207l-1%201c0-2-1-1-6%200l-5%203-1%201-1-1a698%20698%200%2001-16%2057c1-1%202%200%202%201l3%202c3%200%205%204%203%205-1%201-1%201-1-1%200-3-4-4-6-1l-1%201v-6l-6%2014a1935%201935%200%2001-4%2017l3%203h5l2-1%204-1c4-2%205-1%204%203-1%203-1%203-1%201%200-3%200-3-5-2l-3%202c49%2019%2049%2019%2051%2014l1-1a152%20152%200%200033-21c1%201%2012-5%2013-7l1-1%206-3%209-6c3-1%203-1%201-3l-3-3c-2-1-2-1%200-1l4%202%202%203%206-4c5-3%206-5%206-6a275%20275%200%2001-4-29l-1-10a1129%201129%200%2000-5-55l-8%207m67%2070c0%202%201%204%202%203l5%201c4%202%204%202%202%203l-2%202c0%201-1%202-3%201-2%200-3%200-2%201l2%202c1%200%201%201%200%200l-1%201h2c2%200%203%200%203%203%201%203-1%204-3%202v3l1%203%201-4%201%202%201%202%201%203%201%203%201%204%202%204v2c-1%201-1%201%201%204l2%206a403%20403%200%200122%2012v-4l1-4h1l1-4-1-1h-2v-4l-3-5v-5c1%201%201%201%201-1l-2-4c-2-1-2-2%201-2l3-2h-1l-2%201-2-3c-2-1-2-2-1-4v-5l2%201%201%201c1%200-2-4-4-4v-1l-1-1c-3%201-7-1-9-5l-3-3v-1h-1l-1-1c2-2-1-1-3%201h-5l-3-1-4-1-2-1m128%2044a8250%208250%200%2001-94%2034l-1%202%203%202v1c-2%200-2%200%201%208%203%209%203%209%203%200%200-6%200-7-2-7l-1-1h4c2%201%202%201%201%203l-1%207c1%206%201%207%204%208l3-1h1c0%201%201%201%202-1%202-3%203-2%201%201v3c1%202%202%201%203-3%200-3-1-3%2020-9l41-12%2023-7v-15l-1-16-10%203m-276%2070l-2%203c-1%201%208%2016%2010%2017v2h1c1-1%202-1%203%201%202%202%203%201%203-3-1-3-5-11-9-15l-2-2-1-2-3-1m-1%2069l-1%208c0%205%200%205%203%205s3%200%202-6v-5l1%205%201%206h29l-1-3c-1-4-2-4-6-4s-4%200-6-4-1-4-16-5l-6-1v4m141%203l-3%201c-9%203-10%203-11%206l-1%203h16v-11l-1%201M24%20303v9l1%207%204-1c5%200%208-2%206-5v-5c0-3-1-4-3-5h-8m48%201c0%203%200%203-3%202-2%200-3%200-4%202-4%205-1%2011%205%2011h4v-9l-1-8-1%202m45-1v9l1%207h4l6-2-4-1c-4%200-4%200-4-2%200-3%200-3%204-3l3-1-3-1c-3%200-4%200-4-2s1-2%204-2c6%200%205-2-1-3l-6%201m-19%205c-4%206%200%2013%205%2010%202-1%203%200%201%202l-4%201c-1-1-2%200-2%201%200%202%205%201%207-1%202-1%202-3%202-8v-7h-4c-3%200-4%201-5%202m47%200c-4%203-1%2011%203%2011%203%200%206-4%206-6%200-6-6-9-9-5m46-1c-4%203-1%2012%204%2012%203%200%205-3%205-6%200-4-2-7-5-7l-4%201M32%20334c-3%208-3%2012%200%207%202-3%208-3%209%200%200%203%202%202%202-1l-7-14-4%208M8%20362c-2%202-2%2014%200%2017s2%203%200%204l-3%203c0%204%204%200%208-8%203-6%203-7%202-9v-1c2%200%203-1%204-4l2-4h-6c-4%200-6%200-7%202m249%200l-1%203-1%201c-2-1-7%201-9%204l-7%202c-5%200-6%201-3%204%201%202%203%202%2010%202%2014%200%2031-6%2037-14l3-3-8-1c-6%200-8%200-8%202-4%205-5%205-2%200%201-3-8-3-11%200m128-1l15%2022v-23h-7l-8%201m-248%2029l-8%206-7%204h10c9%200%2011%200%2010-1l1-2v-1h-1l-1-2v-2l-1-3c0-2-1-1-3%201m-47%203l-2%203-2%202c-1%202-1%202%207%202l9-1-1-2-1-2c-1-4-8-5-10-2'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE4UlEQVQ4yz1UW1OTVxT9XtqHqmM7XqqVSiEEkhAgMeRCQCIJ4SaQQCAESCA1Ei9UuQQCSQQEpVNvKAElJEAICJaigBdawNrasa2dsS+dvvren7G6z6n2Yc0+Odnf2muvs88RZHI55NlZHNJMGWTyTGRmyXlMSxcjXSJBXr4eKnUuROI0pKaJaC8D4ox0HkViMc9jv9n/wn9k2e8IM5EhlUIik3KSpuZmBIJBTE5OwnPag2JzMTQ6LSSUk5qWxglSRKkEESdlewJTKJHJODKkEiiOKdHV3Y3xcBj3pqawsLCIxPw8Ojo60OpuRa2tlojNUGs1nOyLVALF/xWy1lirDMkpKaits2FhcRE3b43hzvg4EokEZmdn4fP1EKEbDocDJ4xFqDhZASUVT3lHxqxh4C2/94150uv3Ix6PIxqLYZ6URaNRzMzMYnh4BE6XCy6Cx+NBg6MB5RXl/BsmhtnEIBzLVYGBmc58Gx0dRWR6GkvLy0Q0Q+TziEQiaHY50dDYyFUODg4iFAqhrr4eOn0eshU5XBCzTNAX5EOTp4OSSKutFkxMTGKRWl5fW+PK+gMBGKhFMSmR52TjZGUlfOTx2NgYmp1OFJ4wcDJGXG2xQCgpK4Wh6AS0tFFI8RSd5jfXriEcnkALqVFpNFDRAag0amQrFchSvCPt6eEK27xejH49SsVjmKJDFGx1dbDW1KC4xAxjsQlFJiMqq6tQZalGQeFx5FEHDCpNLhQqJd8z0ficpsI/bm/j+c4OlpeWEKBO7A12CI5GB1q/dJOaVtpo4KRavY4XYMr1x/P5qDBrspU5FPWUY0S9vR7Dl4fgPeOFnQ6IdWouKYHgbHGht68PQTLZScabzCZYrFaYKYERl5aXclVqrZqKFCPnmIKmQobDSZ8hWZSCjq5OdPu60f5VO12EJghuzyk6jGqUVZTxtthNYNUsNVauUJefB7VOg3QpO5Qs7mFahhhHjiahx9/Lx+r2nTsYuTKCLiIWBoaG4A/0oy8Y4NXqyAcxfZxMA6smcnNpCbVdQMR6TshUfXJgH6xkQ+jSJbpN97C6ukoX4Rau37wB4d7dCcTnZnBlZAj5+Rq0n/diZHgQNpsVOl0u3YYsaLUqyDLZbRCh0KDHQKif54nTU9HiasLW5hMsLsSxfD8BwXBhGmbfPBStN3CotBufV/bD2DmDyuAytG1hpNYM4EiFH/uLO3mO4UIUVaFvcbQqgAPmLsqnOb0Yg6lrDkaCsMsWhda3BrVvHYbQJnJ9G5C3r0B27gFyOh5C2/sYx4PPKD6BrncDSe5FCCfvYrc9jj2OBHZR/NA6jQ+sEcI0EdZOQXlxBYX+R9B0rsAYXOdrtlcUWIf07BI+tkdxoGkWnzbP4SBhty2CPXXTPL5f77XHeBT2N0RwxDkDiXcB6W0LyGhLQHb2PpJbYsg4HUeSkxJrJvGRZRy7ayZoPYHDzjnss0ew3xHFwcYYx17bXRxqnoXQF7qM4OBVbG+/xJ9v/sbTZ8/xcG0Tt8MRdPkHUGAqQ7nFBnfbOZzv8CE8SQ/Hg4fY2f4JyytrmF9axcuff6MpGcKloas0h24XVpfu46/Xr/HP27f4YWMdr57vYOvxBs54PfSSy+gNrMeL7zcRvn0Lf/zyEm9+fYXfKW5tPsV3Kw/wYnsLTx6tItjvx79c8zk1xHMBnAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/08d6ae2d357c421ca65cab39176b1cc1/3ddd4/evolutionaryArchitecture_cover.png","srcSet":"/static/08d6ae2d357c421ca65cab39176b1cc1/078a8/evolutionaryArchitecture_cover.png 163w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/e56da/evolutionaryArchitecture_cover.png 327w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/3ddd4/evolutionaryArchitecture_cover.png 653w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/c5cc7/evolutionaryArchitecture_cover.png 980w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/6050d/evolutionaryArchitecture_cover.png 1200w","srcWebp":"/static/08d6ae2d357c421ca65cab39176b1cc1/0acdf/evolutionaryArchitecture_cover.webp","srcSetWebp":"/static/08d6ae2d357c421ca65cab39176b1cc1/ac59e/evolutionaryArchitecture_cover.webp 163w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/7660b/evolutionaryArchitecture_cover.webp 327w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/0acdf/evolutionaryArchitecture_cover.webp 653w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/75470/evolutionaryArchitecture_cover.webp 980w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/9000d/evolutionaryArchitecture_cover.webp 1200w","sizes":"(max-width: 653px) 100vw, 653px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%20118a3274%203274%200%20003%20117h4c3%200%203-5%200-5l2-1%204-2c1-2%203-2%204-1%201%202%208%202%208%201l-4-1c-3%200-3%200-1-1h5c3%200%203%200%202-2l1-1h1l-1-2v-1c2%200-1-5-3-9-3-2-4-8-2-6l1-1c0-1%201-2%206-2%206%200%207%200%206%201l2%203h3l5%201c3%201%203%201%203-1-1-2%201-3%201-1h1c0-2-5-3-9-1h-3c0-2%202-2%2015-2l8-2%202-2c3-1%203%200%203%204s1%206%204%2010l4%205-4%201c-4%201-6%200-6-1l-1-2c-2-1-2%200-1%202v1l-3-4c-2-4-4-5-2-2l-1%202h-2v1c1%200%202%200%201%201l1%201h1v1c3%201-1%203-10%206l-12%204c-1%202-4%202-12%202-11%200-12%201-12%206s1%206%2033%207c22%202%2029%203%2029%204l4%201c4%200%2010%203%2012%206%202%202%203%202%207%202s5%200%206%202l1%202c4%203%206%208%206%2016%200%209-1%2011-3%2011s-10-9-10-11c1-2%200-2-1-2-3%200-6-2-4-2l1-1-3-1-3-3c0-2-2-3-4-4l-7-4c-3-2-8-2-9%200l-4%202c-3%201-4%202-6%205s-2%203-4%201h-1l1%202c2%201%201%203-2%203-2%200-3%200-2%201h1l1%201v5c2%208%202%208-26%208H0v114h11l-1-4-1-6c0-2%200-2%202-2%203%201%204%200%201-2-1-1-1-2%202-7l3-7%205%203%202%203v2l-1%205c-1%202-1%202-1-3%200-7-2-6-2%201%200%2010-1%2011-3%2013v4l2-2%201-2v2c0%205%202%202%202-3l1-7%202-4c1-4%203-6%204-4%202%201%202%202%202%204v1c1-2%204-3%204-1l2%202c2%200%202%201%202%203v1c2-2%202-2%206%201l5%202-4-4-5-2%202-4%202-5-2%203-3%204c-2%200-6-4-5-4h1c1%201%201%201%201-1l3-4c2-2%203-5%201-3-2%201-2%201-2-1-1-2-1-2-1%200v2l-1%201-1%202-1-3c1-4%200-2-2%203-1%203-1%203-3%202-2-2-2-2%204-13%202-6%206-8%205-4l-2%204%201%202%202-4c0-3%201-4%204-4l4%201c-2%205-2%206%200%204l-1%205c-1%204%201%202%203-4l2-5h29l2%208c1%205%202%208%203%207l-1-7c-3-10-1-13%203-4l3%204-2-5-2-4h3c3%200%204%201%205%202l2%203-1-3c0-3%204-3%206%201l3%202-1-2c-2-2-1-3%204-3%206%200%206%200%2011%204%203%204%205%205%204%206s-1%201%201%201l4%201-6%201c-5%200-5%200-1%201%204%200%205%201%205%202h1l2-1%201-1%202-3v-1h-2l-4-3-4-4%203-1c3%200%205%201%203%203-1%202%200%203%202%201%201-1%201-1%201%201%200%201%200%202%201%201%200-2%202-1%201%201h4c1%201%200%202-3%206-3%202-4%204-3%204l4-3c3-4%204-4%2010-4s7%200%206%201c-3%202-7%2023-5%2025%203%203%2038%203%2038%200h1l1%202%201-5v-3l2%201v4l2%202%206%201h5v-20l5-3c4-2%206-4%207-6l2-3%201%202c1%202%202%203%203%202l4%202c3%201%204%202%202%203-1%202-1%203%201%203l1%201%201%202v5c-1%201-1%201%201%201v2l2%202c0%204%202%207%205%207s3-1%200-12l-2-9h23l6-3%209-3c4-3%203%200-3%207-4%203-7%207-6%207l10-10c13-14%2021-19%2024-16h1l4-1c2%200%203%200%203%202v1l1-1c1-2%205-2%2022-2h21l1%203%202%202-1-3c-2-3%202-3%204%201l1%203v-3c-1-3-1-3%201-3%203%200%204%202%205%2014l1%204-2-5c-4-7-3-3%201%205s4%2010%201%206l-3-2%2010%2012-1-3v-3l-2-4c-1-3-6-23-5-24l1%201%202%203v-1l1-3c1%200%208%2012%208%2015h2c-1%201%201%204%205%208l4%207h-2l2%202h2l1%202c-1%201-1%201%200%200l1%201c-2%202%202%205%206%205h5V286h-59l-2-3-2-4-2-5-2-6c1-8-6-14-17-16l-8-1-7%205c-6%204-7%205-7%207%201%202%200%203-3%205l-4%203h4l-1%201-8%207-6%207h-8l-8-1h-1l-2%201%201-2%201-3%201-7c2-5%202-5%207-6%2013-1%2010%202%2033-31l21-31c0-1%203-3%206-3%202%200%203-1%203-2h2v1c-1%201%201%201%206%201%206%200%207%200%205%201-3%201-3%201-1%201s3%202%200%202l-1%201%204%201c1-1%202%200%202%201v3h-5v-1c3%200%202-2-1-2l-4%202-3%203v1c1%201%202%200%203-1s1-1%201%201c-1%202%200%203%201%201s8-2%2010-1h1l3-1c2%200%203-1%204-5l3-3h7l2%201%201%201%201%201v6c-2%202-1%209%200%207%202-3%205-2%205%201l1%203v2h1l2-3%202-1v1l1%201v1c-1%202%201%203%203%201l4-1%201%201-2%201c0%202%204%200%204-2%201-3%204-3%206-1%201%201%201-45%201-113V0H0v118m194-98l-7%207c-1%200%201-3%205-6%206-6%205-7-2-3l-11%203a125%20125%200%2000-22%209c-8%201-24%208-24%209h-1c0-2-18%205-19%207l-1%201c0-2-1-1-6%200l-5%203-1%201-1-1a698%20698%200%2001-16%2057c1-1%202%200%202%201l3%202c3%200%205%204%203%205-1%201-1%201-1-1%200-3-4-4-6-1l-1%201v-6l-6%2014a1935%201935%200%2001-4%2017l3%203h5l2-1%204-1c4-2%205-1%204%203-1%203-1%203-1%201%200-3%200-3-5-2l-3%202c49%2019%2049%2019%2051%2014l1-1a152%20152%200%200033-21c1%201%2012-5%2013-7l1-1%206-3%209-6c3-1%203-1%201-3l-3-3c-2-1-2-1%200-1l4%202%202%203%206-4c5-3%206-5%206-6a275%20275%200%2001-4-29l-1-10a1129%201129%200%2000-5-55l-8%207m67%2070c0%202%201%204%202%203l5%201c4%202%204%202%202%203l-2%202c0%201-1%202-3%201-2%200-3%200-2%201l2%202c1%200%201%201%200%200l-1%201h2c2%200%203%200%203%203%201%203-1%204-3%202v3l1%203%201-4%201%202%201%202%201%203%201%203%201%204%202%204v2c-1%201-1%201%201%204l2%206a403%20403%200%200122%2012v-4l1-4h1l1-4-1-1h-2v-4l-3-5v-5c1%201%201%201%201-1l-2-4c-2-1-2-2%201-2l3-2h-1l-2%201-2-3c-2-1-2-2-1-4v-5l2%201%201%201c1%200-2-4-4-4v-1l-1-1c-3%201-7-1-9-5l-3-3v-1h-1l-1-1c2-2-1-1-3%201h-5l-3-1-4-1-2-1m128%2044a8250%208250%200%2001-94%2034l-1%202%203%202v1c-2%200-2%200%201%208%203%209%203%209%203%200%200-6%200-7-2-7l-1-1h4c2%201%202%201%201%203l-1%207c1%206%201%207%204%208l3-1h1c0%201%201%201%202-1%202-3%203-2%201%201v3c1%202%202%201%203-3%200-3-1-3%2020-9l41-12%2023-7v-15l-1-16-10%203m-276%2070l-2%203c-1%201%208%2016%2010%2017v2h1c1-1%202-1%203%201%202%202%203%201%203-3-1-3-5-11-9-15l-2-2-1-2-3-1m-1%2069l-1%208c0%205%200%205%203%205s3%200%202-6v-5l1%205%201%206h29l-1-3c-1-4-2-4-6-4s-4%200-6-4-1-4-16-5l-6-1v4m141%203l-3%201c-9%203-10%203-11%206l-1%203h16v-11l-1%201M24%20303v9l1%207%204-1c5%200%208-2%206-5v-5c0-3-1-4-3-5h-8m48%201c0%203%200%203-3%202-2%200-3%200-4%202-4%205-1%2011%205%2011h4v-9l-1-8-1%202m45-1v9l1%207h4l6-2-4-1c-4%200-4%200-4-2%200-3%200-3%204-3l3-1-3-1c-3%200-4%200-4-2s1-2%204-2c6%200%205-2-1-3l-6%201m-19%205c-4%206%200%2013%205%2010%202-1%203%200%201%202l-4%201c-1-1-2%200-2%201%200%202%205%201%207-1%202-1%202-3%202-8v-7h-4c-3%200-4%201-5%202m47%200c-4%203-1%2011%203%2011%203%200%206-4%206-6%200-6-6-9-9-5m46-1c-4%203-1%2012%204%2012%203%200%205-3%205-6%200-4-2-7-5-7l-4%201M32%20334c-3%208-3%2012%200%207%202-3%208-3%209%200%200%203%202%202%202-1l-7-14-4%208M8%20362c-2%202-2%2014%200%2017s2%203%200%204l-3%203c0%204%204%200%208-8%203-6%203-7%202-9v-1c2%200%203-1%204-4l2-4h-6c-4%200-6%200-7%202m249%200l-1%203-1%201c-2-1-7%201-9%204l-7%202c-5%200-6%201-3%204%201%202%203%202%2010%202%2014%200%2031-6%2037-14l3-3-8-1c-6%200-8%200-8%202-4%205-5%205-2%200%201-3-8-3-11%200m128-1l15%2022v-23h-7l-8%201m-248%2029l-8%206-7%204h10c9%200%2011%200%2010-1l1-2v-1h-1l-1-2v-2l-1-3c0-2-1-1-3%201m-47%203l-2%203-2%202c-1%202-1%202%207%202l9-1-1-2-1-2c-1-4-8-5-10-2'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAE4UlEQVQ4yz1UW1OTVxT9XtqHqmM7XqqVSiEEkhAgMeRCQCIJ4SaQQCAESCA1Ei9UuQQCSQQEpVNvKAElJEAICJaigBdawNrasa2dsS+dvvren7G6z6n2Yc0+Odnf2muvs88RZHI55NlZHNJMGWTyTGRmyXlMSxcjXSJBXr4eKnUuROI0pKaJaC8D4ox0HkViMc9jv9n/wn9k2e8IM5EhlUIik3KSpuZmBIJBTE5OwnPag2JzMTQ6LSSUk5qWxglSRKkEESdlewJTKJHJODKkEiiOKdHV3Y3xcBj3pqawsLCIxPw8Ojo60OpuRa2tlojNUGs1nOyLVALF/xWy1lirDMkpKaits2FhcRE3b43hzvg4EokEZmdn4fP1EKEbDocDJ4xFqDhZASUVT3lHxqxh4C2/94150uv3Ix6PIxqLYZ6URaNRzMzMYnh4BE6XCy6Cx+NBg6MB5RXl/BsmhtnEIBzLVYGBmc58Gx0dRWR6GkvLy0Q0Q+TziEQiaHY50dDYyFUODg4iFAqhrr4eOn0eshU5XBCzTNAX5EOTp4OSSKutFkxMTGKRWl5fW+PK+gMBGKhFMSmR52TjZGUlfOTx2NgYmp1OFJ4wcDJGXG2xQCgpK4Wh6AS0tFFI8RSd5jfXriEcnkALqVFpNFDRAag0amQrFchSvCPt6eEK27xejH49SsVjmKJDFGx1dbDW1KC4xAxjsQlFJiMqq6tQZalGQeFx5FEHDCpNLhQqJd8z0ficpsI/bm/j+c4OlpeWEKBO7A12CI5GB1q/dJOaVtpo4KRavY4XYMr1x/P5qDBrspU5FPWUY0S9vR7Dl4fgPeOFnQ6IdWouKYHgbHGht68PQTLZScabzCZYrFaYKYERl5aXclVqrZqKFCPnmIKmQobDSZ8hWZSCjq5OdPu60f5VO12EJghuzyk6jGqUVZTxtthNYNUsNVauUJefB7VOg3QpO5Qs7mFahhhHjiahx9/Lx+r2nTsYuTKCLiIWBoaG4A/0oy8Y4NXqyAcxfZxMA6smcnNpCbVdQMR6TshUfXJgH6xkQ+jSJbpN97C6ukoX4Rau37wB4d7dCcTnZnBlZAj5+Rq0n/diZHgQNpsVOl0u3YYsaLUqyDLZbRCh0KDHQKif54nTU9HiasLW5hMsLsSxfD8BwXBhGmbfPBStN3CotBufV/bD2DmDyuAytG1hpNYM4EiFH/uLO3mO4UIUVaFvcbQqgAPmLsqnOb0Yg6lrDkaCsMsWhda3BrVvHYbQJnJ9G5C3r0B27gFyOh5C2/sYx4PPKD6BrncDSe5FCCfvYrc9jj2OBHZR/NA6jQ+sEcI0EdZOQXlxBYX+R9B0rsAYXOdrtlcUWIf07BI+tkdxoGkWnzbP4SBhty2CPXXTPL5f77XHeBT2N0RwxDkDiXcB6W0LyGhLQHb2PpJbYsg4HUeSkxJrJvGRZRy7ayZoPYHDzjnss0ew3xHFwcYYx17bXRxqnoXQF7qM4OBVbG+/xJ9v/sbTZ8/xcG0Tt8MRdPkHUGAqQ7nFBnfbOZzv8CE8SQ/Hg4fY2f4JyytrmF9axcuff6MpGcKloas0h24XVpfu46/Xr/HP27f4YWMdr57vYOvxBs54PfSSy+gNrMeL7zcRvn0Lf/zyEm9+fYXfKW5tPsV3Kw/wYnsLTx6tItjvx79c8zk1xHMBnAAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/08d6ae2d357c421ca65cab39176b1cc1/502b1/evolutionaryArchitecture_cover.png","srcSet":"/static/08d6ae2d357c421ca65cab39176b1cc1/f2e6d/evolutionaryArchitecture_cover.png 114w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/4ddba/evolutionaryArchitecture_cover.png 229w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/502b1/evolutionaryArchitecture_cover.png 457w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/7ddc2/evolutionaryArchitecture_cover.png 686w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/435bf/evolutionaryArchitecture_cover.png 914w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/6050d/evolutionaryArchitecture_cover.png 1200w","srcWebp":"/static/08d6ae2d357c421ca65cab39176b1cc1/15384/evolutionaryArchitecture_cover.webp","srcSetWebp":"/static/08d6ae2d357c421ca65cab39176b1cc1/31fce/evolutionaryArchitecture_cover.webp 114w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/e3e25/evolutionaryArchitecture_cover.webp 229w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/15384/evolutionaryArchitecture_cover.webp 457w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/0258d/evolutionaryArchitecture_cover.webp 686w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/64ea2/evolutionaryArchitecture_cover.webp 914w,\n/static/08d6ae2d357c421ca65cab39176b1cc1/9000d/evolutionaryArchitecture_cover.webp 1200w","sizes":"(max-width: 457px) 100vw, 457px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%20118a3274%203274%200%20003%20117h4c3%200%203-5%200-5l2-1%204-2c1-2%203-2%204-1%201%202%208%202%208%201l-4-1c-3%200-3%200-1-1h5c3%200%203%200%202-2l1-1h1l-1-2v-1c2%200-1-5-3-9-3-2-4-8-2-6l1-1c0-1%201-2%206-2%206%200%207%200%206%201l2%203h3l5%201c3%201%203%201%203-1-1-2%201-3%201-1h1c0-2-5-3-9-1h-3c0-2%202-2%2015-2l8-2%202-2c3-1%203%200%203%204s1%206%204%2010l4%205-4%201c-4%201-6%200-6-1l-1-2c-2-1-2%200-1%202v1l-3-4c-2-4-4-5-2-2l-1%202h-2v1c1%200%202%200%201%201l1%201h1v1c3%201-1%203-10%206l-12%204c-1%202-4%202-12%202-11%200-12%201-12%206s1%206%2033%207c22%202%2029%203%2029%204l4%201c4%200%2010%203%2012%206%202%202%203%202%207%202s5%200%206%202l1%202c4%203%206%208%206%2016%200%209-1%2011-3%2011s-10-9-10-11c1-2%200-2-1-2-3%200-6-2-4-2l1-1-3-1-3-3c0-2-2-3-4-4l-7-4c-3-2-8-2-9%200l-4%202c-3%201-4%202-6%205s-2%203-4%201h-1l1%202c2%201%201%203-2%203-2%200-3%200-2%201h1l1%201v5c2%208%202%208-26%208H0v114h11l-1-4-1-6c0-2%200-2%202-2%203%201%204%200%201-2-1-1-1-2%202-7l3-7%205%203%202%203v2l-1%205c-1%202-1%202-1-3%200-7-2-6-2%201%200%2010-1%2011-3%2013v4l2-2%201-2v2c0%205%202%202%202-3l1-7%202-4c1-4%203-6%204-4%202%201%202%202%202%204v1c1-2%204-3%204-1l2%202c2%200%202%201%202%203v1c2-2%202-2%206%201l5%202-4-4-5-2%202-4%202-5-2%203-3%204c-2%200-6-4-5-4h1c1%201%201%201%201-1l3-4c2-2%203-5%201-3-2%201-2%201-2-1-1-2-1-2-1%200v2l-1%201-1%202-1-3c1-4%200-2-2%203-1%203-1%203-3%202-2-2-2-2%204-13%202-6%206-8%205-4l-2%204%201%202%202-4c0-3%201-4%204-4l4%201c-2%205-2%206%200%204l-1%205c-1%204%201%202%203-4l2-5h29l2%208c1%205%202%208%203%207l-1-7c-3-10-1-13%203-4l3%204-2-5-2-4h3c3%200%204%201%205%202l2%203-1-3c0-3%204-3%206%201l3%202-1-2c-2-2-1-3%204-3%206%200%206%200%2011%204%203%204%205%205%204%206s-1%201%201%201l4%201-6%201c-5%200-5%200-1%201%204%200%205%201%205%202h1l2-1%201-1%202-3v-1h-2l-4-3-4-4%203-1c3%200%205%201%203%203-1%202%200%203%202%201%201-1%201-1%201%201%200%201%200%202%201%201%200-2%202-1%201%201h4c1%201%200%202-3%206-3%202-4%204-3%204l4-3c3-4%204-4%2010-4s7%200%206%201c-3%202-7%2023-5%2025%203%203%2038%203%2038%200h1l1%202%201-5v-3l2%201v4l2%202%206%201h5v-20l5-3c4-2%206-4%207-6l2-3%201%202c1%202%202%203%203%202l4%202c3%201%204%202%202%203-1%202-1%203%201%203l1%201%201%202v5c-1%201-1%201%201%201v2l2%202c0%204%202%207%205%207s3-1%200-12l-2-9h23l6-3%209-3c4-3%203%200-3%207-4%203-7%207-6%207l10-10c13-14%2021-19%2024-16h1l4-1c2%200%203%200%203%202v1l1-1c1-2%205-2%2022-2h21l1%203%202%202-1-3c-2-3%202-3%204%201l1%203v-3c-1-3-1-3%201-3%203%200%204%202%205%2014l1%204-2-5c-4-7-3-3%201%205s4%2010%201%206l-3-2%2010%2012-1-3v-3l-2-4c-1-3-6-23-5-24l1%201%202%203v-1l1-3c1%200%208%2012%208%2015h2c-1%201%201%204%205%208l4%207h-2l2%202h2l1%202c-1%201-1%201%200%200l1%201c-2%202%202%205%206%205h5V286h-59l-2-3-2-4-2-5-2-6c1-8-6-14-17-16l-8-1-7%205c-6%204-7%205-7%207%201%202%200%203-3%205l-4%203h4l-1%201-8%207-6%207h-8l-8-1h-1l-2%201%201-2%201-3%201-7c2-5%202-5%207-6%2013-1%2010%202%2033-31l21-31c0-1%203-3%206-3%202%200%203-1%203-2h2v1c-1%201%201%201%206%201%206%200%207%200%205%201-3%201-3%201-1%201s3%202%200%202l-1%201%204%201c1-1%202%200%202%201v3h-5v-1c3%200%202-2-1-2l-4%202-3%203v1c1%201%202%200%203-1s1-1%201%201c-1%202%200%203%201%201s8-2%2010-1h1l3-1c2%200%203-1%204-5l3-3h7l2%201%201%201%201%201v6c-2%202-1%209%200%207%202-3%205-2%205%201l1%203v2h1l2-3%202-1v1l1%201v1c-1%202%201%203%203%201l4-1%201%201-2%201c0%202%204%200%204-2%201-3%204-3%206-1%201%201%201-45%201-113V0H0v118m194-98l-7%207c-1%200%201-3%205-6%206-6%205-7-2-3l-11%203a125%20125%200%2000-22%209c-8%201-24%208-24%209h-1c0-2-18%205-19%207l-1%201c0-2-1-1-6%200l-5%203-1%201-1-1a698%20698%200%2001-16%2057c1-1%202%200%202%201l3%202c3%200%205%204%203%205-1%201-1%201-1-1%200-3-4-4-6-1l-1%201v-6l-6%2014a1935%201935%200%2001-4%2017l3%203h5l2-1%204-1c4-2%205-1%204%203-1%203-1%203-1%201%200-3%200-3-5-2l-3%202c49%2019%2049%2019%2051%2014l1-1a152%20152%200%200033-21c1%201%2012-5%2013-7l1-1%206-3%209-6c3-1%203-1%201-3l-3-3c-2-1-2-1%200-1l4%202%202%203%206-4c5-3%206-5%206-6a275%20275%200%2001-4-29l-1-10a1129%201129%200%2000-5-55l-8%207m67%2070c0%202%201%204%202%203l5%201c4%202%204%202%202%203l-2%202c0%201-1%202-3%201-2%200-3%200-2%201l2%202c1%200%201%201%200%200l-1%201h2c2%200%203%200%203%203%201%203-1%204-3%202v3l1%203%201-4%201%202%201%202%201%203%201%203%201%204%202%204v2c-1%201-1%201%201%204l2%206a403%20403%200%200122%2012v-4l1-4h1l1-4-1-1h-2v-4l-3-5v-5c1%201%201%201%201-1l-2-4c-2-1-2-2%201-2l3-2h-1l-2%201-2-3c-2-1-2-2-1-4v-5l2%201%201%201c1%200-2-4-4-4v-1l-1-1c-3%201-7-1-9-5l-3-3v-1h-1l-1-1c2-2-1-1-3%201h-5l-3-1-4-1-2-1m128%2044a8250%208250%200%2001-94%2034l-1%202%203%202v1c-2%200-2%200%201%208%203%209%203%209%203%200%200-6%200-7-2-7l-1-1h4c2%201%202%201%201%203l-1%207c1%206%201%207%204%208l3-1h1c0%201%201%201%202-1%202-3%203-2%201%201v3c1%202%202%201%203-3%200-3-1-3%2020-9l41-12%2023-7v-15l-1-16-10%203m-276%2070l-2%203c-1%201%208%2016%2010%2017v2h1c1-1%202-1%203%201%202%202%203%201%203-3-1-3-5-11-9-15l-2-2-1-2-3-1m-1%2069l-1%208c0%205%200%205%203%205s3%200%202-6v-5l1%205%201%206h29l-1-3c-1-4-2-4-6-4s-4%200-6-4-1-4-16-5l-6-1v4m141%203l-3%201c-9%203-10%203-11%206l-1%203h16v-11l-1%201M24%20303v9l1%207%204-1c5%200%208-2%206-5v-5c0-3-1-4-3-5h-8m48%201c0%203%200%203-3%202-2%200-3%200-4%202-4%205-1%2011%205%2011h4v-9l-1-8-1%202m45-1v9l1%207h4l6-2-4-1c-4%200-4%200-4-2%200-3%200-3%204-3l3-1-3-1c-3%200-4%200-4-2s1-2%204-2c6%200%205-2-1-3l-6%201m-19%205c-4%206%200%2013%205%2010%202-1%203%200%201%202l-4%201c-1-1-2%200-2%201%200%202%205%201%207-1%202-1%202-3%202-8v-7h-4c-3%200-4%201-5%202m47%200c-4%203-1%2011%203%2011%203%200%206-4%206-6%200-6-6-9-9-5m46-1c-4%203-1%2012%204%2012%203%200%205-3%205-6%200-4-2-7-5-7l-4%201M32%20334c-3%208-3%2012%200%207%202-3%208-3%209%200%200%203%202%202%202-1l-7-14-4%208M8%20362c-2%202-2%2014%200%2017s2%203%200%204l-3%203c0%204%204%200%208-8%203-6%203-7%202-9v-1c2%200%203-1%204-4l2-4h-6c-4%200-6%200-7%202m249%200l-1%203-1%201c-2-1-7%201-9%204l-7%202c-5%200-6%201-3%204%201%202%203%202%2010%202%2014%200%2031-6%2037-14l3-3-8-1c-6%200-8%200-8%202-4%205-5%205-2%200%201-3-8-3-11%200m128-1l15%2022v-23h-7l-8%201m-248%2029l-8%206-7%204h10c9%200%2011%200%2010-1l1-2v-1h-1l-1-2v-2l-1-3c0-2-1-1-3%201m-47%203l-2%203-2%202c-1%202-1%202%207%202l9-1-1-2-1-2c-1-4-8-5-10-2'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/08d6ae2d357c421ca65cab39176b1cc1/6050d/evolutionaryArchitecture_cover.png"}}},{"id":"b43b3a24-5685-5619-ae5a-c4d730e8323b","slug":"/vibe-coding-kotlin-into-the-play-store","secret":false,"title":"Vibe-coding kotlin into the play store","author":"Luke Celitan","date":"June 22nd, 2026","dateForSEO":"2026-06-22T00:00:00.000Z","timeToRead":6,"excerpt":"Vibe-coding an Android app into the Play Store taught me the code was the easy part","subscription":true,"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Vibe-coding kotlin into the play store\",\n  \"excerpt\": \"Vibe-coding an Android app into the Play Store taught me the code was the easy part\",\n  \"date\": \"2026-06-22T00:00:00.000Z\",\n  \"hero\": \"vibedkotlin.png\",\n  \"author\": \"Luke Celitan\",\n  \"category\": \"Post\",\n  \"tech\": [\"AI\", \"Kotlin\", \"Android\", \"TDD\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"can-you-ship-an-app-in-a-language-you-dont-know\"\n  }, \"Can you ship an app in a language you don\\u2019t know?\"), mdx(\"h2\", {\n    \"id\": \"introduction\"\n  }, \"Introduction\"), mdx(\"p\", null, \"Here\\u2019s the thing nobody tells you about family photos: they are a hostage\\nsituation. Apple wants a monthly ransom. Google wants a monthly ransom. And the\\nmoment you stop paying, the walls of the vault start closing in on the memories\\nof your kids\\u2019 first birthdays.\"), mdx(\"p\", null, \"A few years ago I got tired of paying rent on my own photographs. So I did the\\ndeeply unglamorous thing a certain kind of engineer does \\u2014 I started dumping\\neverything into an AWS S3 bucket. Every export, every download, every \\u201CI\\u2019ll\\norganise this later\\u201D folder, straight into cheap, boring, durable object storage\\nthat I actually own. To make that pile browsable I built a desktop app in Rust\\nand Tauri \\u2014 the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/s3-manager\"\n  }, \"S3 Manager\"), \" I wrote about a while back. Grid\\ngallery, folder filtering, tagging, drag-and-drop uploads. On my laptop, it\\u2019s\\nlovely.\"), mdx(\"p\", null, \"The problem is that photos happen on a phone, and my tool lived on a desktop.\\nWhat I actually wanted was the same thing in my pocket. The catch: that means\\nKotlin and the Android SDK, and I don\\u2019t really \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"know\"), \" Kotlin. A year ago that\\nsentence would have been the end of the story.\"), mdx(\"p\", null, \"It wasn\\u2019t. The app is\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://play.google.com/store/apps/details?id=com.spaceghost.s3manager\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"live on the Play Store\"), \",\\nwith a proper \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://s3manager.spaceout.pl/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"landing page\"), \" and everything. I\\nvibe-coded most of it. And the thing I want to write about isn\\u2019t \\u201Clook, AI wrote\\nmy app\\u201D \\u2014 it\\u2019s everything the AI got wrong, and the discipline I had to bring to\\nstop it from quietly shipping garbage.\"), mdx(\"h2\", {\n    \"id\": \"ai-is-an-amplifier-not-a-substitute-for-judgement\"\n  }, \"AI is an amplifier, not a substitute for judgement\"), mdx(\"p\", null, \"I\\u2019ve made this argument before in\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/the-rise-of-the-solo-dev-army\"\n  }, \"The Rise of the Solo Dev Army\"), \": AI hands a\\nsingle developer the leverage of a small team, but it strips out the\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"constructive friction\"), \" \\u2014 the peer review, the raised eyebrow, the colleague who\\nasks \\u201Cwait, why did you do it like that?\\u201D \\u2014 that used to defend quality.\\nBuilding this app was me living that thesis in the flesh.\"), mdx(\"p\", null, \"The model is a phenomenal typist and a mediocre engineer. It will happily\\nproduce four hundred lines of confident, plausible, subtly wrong Kotlin. In a\\nlanguage I know well, my instincts catch that. In a language I barely know, they\\ndon\\u2019t. So I had to manufacture the guardrails myself, on purpose. Here\\u2019s what\\nactually worked.\"), mdx(\"h2\", {\n    \"id\": \"tdd-is-how-you-keep-the-ai-honest\"\n  }, \"TDD is how you keep the AI honest\"), mdx(\"p\", null, \"The single biggest lever was tests \\u2014 written first, not last.\"), mdx(\"p\", null, \"When you don\\u2019t know the language, you can\\u2019t review the implementation line by\\nline and trust your gut. What you \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"can\"), \" do is pin down behaviour. Before asking\\nthe AI to build a feature, I\\u2019d have it write the failing test first: uploading a\\nfile to a prefix creates an object at that key; a listing with a folder filter\\nreturns only the assets under it; a cancelled upload leaves no orphaned parts.\\nThe test is a specification the AI can\\u2019t argue with.\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"A test written first is an executable contract. It doesn\\u2019t care how confident\\nthe model sounds \\u2014 it goes red or it goes green.\")), mdx(\"p\", null, \"This is the classic red-green-refactor loop, and it maps perfectly onto working\\nwith an LLM. Red: the behaviour I want doesn\\u2019t exist yet. Green: make the AI\\nproduce just enough to pass. Refactor: clean it up with the safety net in place.\\nWithout that loop I was trusting a stranger\\u2019s Kotlin. With it, I was trusting a\\ncontract I wrote in a language I \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"do\"), \" speak \\u2014 the language of behaviour. The\\nnumber of times a \\u201Cdone\\u201D feature turned out to be red on the second test case\\ncured me of ever taking the model\\u2019s word for it.\"), mdx(\"h2\", {\n    \"id\": \"you-still-have-to-do-the-boring-research\"\n  }, \"You still have to do the boring research\"), mdx(\"p\", null, \"Vibe-coding tempts you to outsource the thinking as well as the typing. Don\\u2019t.\\nThe AI will pick a library for you, and it will pick with total confidence, and\\nit will often pick wrong \\u2014 an abandoned wrapper, a heavyweight dependency for a\\nfive-line problem, or a package that pulls half of Maven Central into your APK.\"), mdx(\"p\", null, \"Choosing your dependencies is an architectural decision, and it\\u2019s still yours. I\\nspent real time deciding how the app should talk to S3, what the auth story was,\\nand which libraries were actually maintained versus merely popular in a\\ntwo-year-old blog post the model had memorised. Reaching for a well-established,\\nwidely-used library beats rolling your own \\u2014 but \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"which\"), \" well-established\\nlibrary is a judgement call the model can\\u2019t make for you, because it doesn\\u2019t\\nhave to live with the maintenance bill. You do.\"), mdx(\"h2\", {\n    \"id\": \"the-version-problem-ai-freezes-your-stack-in-the-past\"\n  }, \"The version problem: AI freezes your stack in the past\"), mdx(\"p\", null, \"This one bit me repeatedly, so consider it a public service announcement.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"AI keeps your dependencies pinned to the past.\"), \" The model\\u2019s knowledge was\\nfrozen at training time, so it reaches for the versions it saw most often \\u2014\\nwhich are, by definition, old. It\\u2019ll confidently hand you a Gradle coordinate\\nfrom two years ago, deprecated APIs, and imports that were renamed three\\nreleases back. Everything \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"looks\"), \" right, because it was right, once.\"), mdx(\"p\", null, \"In \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/the-rise-of-the-solo-dev-army\"\n  }, \"The Rise of the Solo Dev Army\"), \" I put\\noutdated dependencies in the table of \\u201Csolo AI\\u201D traps, with the fix being\\nlockfiles and testing upgrades in CI. Living it drove the point home. Stale\\nlibraries aren\\u2019t just an aesthetic problem \\u2014 they\\u2019re where security\\nvulnerabilities and technical debt quietly accumulate while you\\u2019re not looking.\\nMy rule became simple: every dependency the AI suggests, I check the latest\\nversion myself and pin it deliberately. The model gets a vote on \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"what\"), \" to use.\\nIt does not get a vote on \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"which version\"), \" \\u2014 that\\u2019s on me.\"), mdx(\"h2\", {\n    \"id\": \"the-game-changer-make-the-ai-review-its-own-work-angrily\"\n  }, \"The game-changer: make the AI review its own work, angrily\"), mdx(\"p\", null, \"This is the trick I\\u2019d tattoo on the wall if I could. When the AI has finished a\\nchunk of work and everything is a little too pleased with itself, I give it this\\nprompt:\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"Run a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git diff\"), \". Now pretend you are a senior engineering manager who is \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"not\\nhappy\"), \" about this implementation. Do a proper code review. Then implement the\\nchanges.\")), mdx(\"p\", null, \"The results are genuinely startling. The same model that wrote the code two\\nminutes ago will turn around and tear it apart \\u2014 spotting the missing error\\nhandling, the swallowed exception, the function doing three jobs, the magic\\nnumber, the test that asserts nothing. It self-corrects, but \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"only if you give\\nit the right attitude to correct from.\")), mdx(\"p\", null, \"That, I think, is the whole game. What I\\u2019m actually doing is re-introducing the\\nconstructive friction that solo AI development removes. I can\\u2019t get a real\\ncolleague to raise an eyebrow at my Kotlin, so I make the model raise its own.\\nIt\\u2019s not as good as a real reviewer who\\u2019ll remember your bad habits \\u2014 but a\\ngrumpy imaginary EM is a lot better than no reviewer at all. Attitude, it turns\\nout, is a legitimate engineering tool.\"), mdx(\"h2\", {\n    \"id\": \"the-hardest-part-wasnt-the-code\"\n  }, \"The hardest part wasn\\u2019t the code\"), mdx(\"p\", null, \"Here\\u2019s the plot twist. I expected the code to be the wall. It wasn\\u2019t. The wall\\nwas \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"finding fifteen human beings willing to buy and install my app on their\\nactual phones.\")), mdx(\"p\", null, \"Google, reasonably, doesn\\u2019t let a solo developer just fling an app at billions\\nof devices. Before you can go to production you need a closed testing track with\\nreal testers, running for a real stretch of time, on real hardware \\u2014 and you\\nhave to document all of it. So there I was, an engineer who\\u2019d just wrestled a\\nforeign language into a working app, reduced to sliding into group chats going\\n\\u201Chey, would you install this photo thing and leave it on your phone for two\\nweeks? For science?\\u201D\"), mdx(\"p\", null, \"Herding fifteen willing testers, walking non-technical friends through the\\nopt-in link, waiting out the review windows, filling in the data-safety forms\\nand the store listing and the content ratings \\u2014 that was slower and more\\nfrustrating than any bug I hit. The AI could write me a multipart upload handler\\nin thirty seconds. It could not convince my brother-in-law to keep a beta build\\ninstalled. The last mile of shipping software is, and always has been, made of\\npeople and process, not code. AI moved the bottleneck; it didn\\u2019t remove it.\"), mdx(\"p\", null, \"But I made it. The app is live. My family photos are in a bucket I own,\\nbrowsable from the phone in my hand, and I\\u2019m not paying anyone rent for the\\nprivilege.\"), mdx(\"video\", {\n    width: \"100%\",\n    height: \"100%\",\n    autoPlay: true,\n    muted: true,\n    style: {\n      margin: 'auto',\n      maxWidth: '300px'\n    }\n  }, mdx(\"source\", {\n    src: \"/2f53d926600d19415f3cbc1c6a2a9cee/appVideo_opt.mp4\",\n    type: \"video/mp4\"\n  }), \"Your browser does not support the video tag\"), mdx(\"h2\", {\n    \"id\": \"final-thoughts\"\n  }, \"Final Thoughts\"), mdx(\"p\", null, \"Vibe-coding is real and it\\u2019s a superpower \\u2014 but it\\u2019s a superpower that amplifies\\nyour judgement, not one that replaces it. TDD to keep it honest, real research\\non your libraries, a hard rule about versions, and a grumpy imaginary code\\nreviewer: those are the things that turned \\u201Cconfident, plausible, subtly wrong\\u201D\\ninto \\u201Cactually shipped.\\u201D And when you\\u2019re done, the machine still can\\u2019t do the\\nhuman part for you. Someone still has to convince fifteen people to care.\"), mdx(\"p\", null, \"If you want to see the thing, it\\u2019s\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://play.google.com/store/apps/details?id=com.spaceghost.s3manager\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"on the Play Store\"), \"\\nand the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://s3manager.spaceout.pl/\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }, \"landing page\"), \" has the details \\u2014 the\\nmobile companion to the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/s3-manager\"\n  }, \"desktop S3 Manager\"), \". And if you\\u2019ve been\\ntelling yourself you can\\u2019t ship in a language you don\\u2019t know, this is your sign\\nthat the language was never the hard part.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tech":["AI","Kotlin","Android","TDD"],"category":"Post","appDescription":null,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEmElEQVQ4y1VUyVJbRxR962wczCiQ3pPQjOZ5RhIakBAzSBgJgREYIcBikAQC7MgOgyHBMa7YVGWXdSqbLLJL5QfyM/mDk9uNy1VZnLr9um+fPud23ycYrQ7oLTaoDCNQaA0wOdwwOz1QaPSQqbQYHNZCa7bSWIOnQxJ6FEoo9SMIRuOIJVIYS6Vhc/v4HhaFYSISiah7SMS3Mjl0RG6gQ3pp4xOZApF4HOWVZSTH0+gVhzmpjA5hOSN2J4xWOxiHzmSBpDNA0BhNfLNMpUaPXIKeEiRSMKBUQ0mJE5M5HNRrWC0XSYEHXYMiX+sTVeiTVDQeRp9CQr+ohKTVQYglxmBxOUmdAv202C+pudUehYrspLBT28L5SYvHAaUG3XIlt90rfiGj2E94OiSHTKmCkJuaRiY3wa2wJLahX3q0NqTWY6Oyjv29HZTLJX4IQ580zHMYGXPVR+oGSK1Co4UwPTNLtqY4GSNhhKxWbCOLNk8A/kicoo+r72aENP94OBOh5KQyUisyQpvHj9m5GbKr5iTdchW6iLhrUIKRih6OJ+ENx+H0B/ll9BEpB78gkfIfwQjlag0EdluxROKLFTVXpTXbeHQHQ4RRmJxeGGzOr5Yf8aise0jBa8fs9osSKaS3E4iMQtQZ8U3PIKKJJLarm/CGwoglk7C4AwQ/tPScsrks2Y/wy5FrdHgyMIQu2SMYca9ChKCzOGB1e7nKwtIiOucNHO7XsLmximgyDZPLT9bdqG6t4vK7JvL5OSwszqFYLCASi8LidMIT8MPqcqGHSIVAJIbgaJTe2TI+3L7CD5dtNA5qGEtTB3hDMDp8RJzASXMHL3e36MZf4Ki+hcbhNr2AVezWNjnW1koIR0chRGIJpLNTVPgo2YnCRzEUT3EybzhGVl1czUG9SqVYx49XZ9gkonQmiYX8PAqFPD7cnOL99TFet/fIstkOhzeAYaMFzL6FLFqpbg5fGGqTgw4YRa1aoc0LWH9exvr6Gu9bu8eD6os1mluhUhzitLmLJSqZoDSaobFQuxlMkGgsGswUiZxuNZEdx/Z2BWftA5wc17G7Ryp3NlGvV7BdW8XNRRMXnUNcf9/AEZUgOZGD8EzvQXHEh5LJj6LBi6LRh2XCljuKNxNzaMVzeJ2dw3l6Bs3oBFqxLC4nF3CWnMTF5DzP6WRnUQ8msWEPQ2gbQrjPlfCQ38RtfA53qQI+L1bwgeZukou4yzzD/cwaOt4MjpQuNNU+HEguHKk8OFS5OdiYzZ9o/RCa+gDuJkt4P1PGbWYJH/MbuEos4HNpG3e5Iq0Vcb9QwbtUHiy3ofP/L7YMga/fDMK+3o9jexzn3jSa1iiPnWAWp95xnHpSaNFaJzSBt4SWOYyWKYyGMchjcySEIyLk37R2TBB01CF6go3azWKyYiqTwWqhgE/Xp/j7t0/49f4NTujt/fSmiZ+v23h7vIc2vcPLdh371eeYzGSxu1HBycsqLmhOsLjc9FO1QaHTw+71YXp+Bmn6+/z5+wPw7z/4649fcPm2gY9357i9aqHz6gDvLo7xcN+h2KSu2kKpvIK93Q28vznDf5e/wz3AsfWnAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/28367da37f22653339247c8453094207/a1946/vibedkotlin.png","srcSet":"/static/28367da37f22653339247c8453094207/5b37e/vibedkotlin.png 236w,\n/static/28367da37f22653339247c8453094207/49058/vibedkotlin.png 472w,\n/static/28367da37f22653339247c8453094207/a1946/vibedkotlin.png 944w,\n/static/28367da37f22653339247c8453094207/6050d/vibedkotlin.png 1200w","srcWebp":"/static/28367da37f22653339247c8453094207/99fbb/vibedkotlin.webp","srcSetWebp":"/static/28367da37f22653339247c8453094207/77392/vibedkotlin.webp 236w,\n/static/28367da37f22653339247c8453094207/1f177/vibedkotlin.webp 472w,\n/static/28367da37f22653339247c8453094207/99fbb/vibedkotlin.webp 944w,\n/static/28367da37f22653339247c8453094207/9000d/vibedkotlin.webp 1200w","sizes":"(max-width: 944px) 100vw, 944px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%2033c0%2023%200%2032%201%2031l2-1-1%202-2%202h10c-2%201-2%201%200%201s3%200%202%201h10c8%201%208%202-1%202l-7-1%205%202c4%201%207%202%2010%201%202%200%203%200%202%201l-4%201c-1%200-2%200-1%201l4%201h1l-1%202%201%201-31%205%201%2018v1l-1%203c0%202%200%203%201%202v1l-1%204%201%203v2l-1%2020v20l5%201%204%202-4-1-4-1v22l-1%2020v20l4%201%204%202c0%201-2%203-4%202l-1%202-1-1c-2-1-2%209-2%2085v87h40a288%20288%200%200045-1h24l2-1c0%201%202%202%206%202%207%200%207%200%207-2s0-2%201%200l1%203%201-3v-3c-1%201-1%200-2-3l-2-10-1-7h3l3-1h-3c-6%200-4-3%202-3%204%200%205%200%206-2%200-1%201-1%201%201%201%202%201%201%201-3l1-6v5l6-1h3c-1%200-1-1%201-2%202-3%206%200%204%202%200%202%200%202%202%202l4%201%202-1h-1l-1-2h-1l-2%201c-1-1%202-6%203-5l1%201c-1%201%204%203%206%203s3%200%202%202c0%203%207%204%209%202s2-2%205-1c2%201%202%202%202%207l-1%207c-1%202%200%204%201%207%201%205%201%206-3%207l-5%202c-2%201-2%201-2-3v-4l-1%203v5c0%202%208%201%2010-1h3c0%203%202%202%202%200%201-3%201-3%208-2h3l1-3%203-2c2-2%204-1%203%203v3l2-3c3-3%203-3%203-1h1c0-1%201-1%202%201%202%203%207%204%207%201%200-2%200-2-2-1v-7l3-5c2-1%203%201%200%207v4c1-1%201%200%201%201l-1%202v2l3%201h4l2%201c2%200%203-1%205-5%202-5%203-6%204-5v5l-2%202c0-1-2%200-2%202h8c2-2%206-3%207-1%200%202%201%202%203%201h2l1%201v-1l1-2%202-2h-1v-9c0-3%201-3%204-3%204%200%204%200%203%206l-1%204h-5l1%201h2c1%200%201%201-1%201-1%201-1%201%201%201l3%202c0%203%202%203%202%200-1-5%200-11%201-10v12h3c3%200%204-1%204-2%201-2%201-2-1-2l-1%202v1l-1-2v-1c2%200%201-1-1-6-3-5-4-6-2-6%201%201%201%200%200%200l2-2%204%202h3v3l-1%201h2l4-1c1%201%202%201%202-2-1-4%203-6%204-3%200%202%200%202%201%201%201-2%201-2%203%201s2%203%202%201l-3-10-2-5c1-1%206%2011%207%2015l1%205v3l-2-4-1-2v2c0%204-3%206-6%204h-1l-1-2c-1-2-1-1-1%204s0%205%201%202%205-3%205%200c0%202%201%203%202%201v-1c-2-1-1-2%202-2h1c-3%202-2%202%204%200l7-1c1%201%201%200%201-1%200-3%201-5%202-3s4%201%204%200l2-2h3l-3-1h-2l2-2%202-1v2l3%202h-1l-2%201%203%201c3-1%207%202%205%203l1%201h1c-1%200%200%202%202%203%203%202%204%202%202-1-2-2-3-3-2-4l1%201c0%202%205%201%207-1%201-2%200-2-1-1h-4v-1l-1-2-2-3h6l4%205c5%205%207%208%205%208v1l2%201c2%200%202%200%201-3l-3-4v-3l1-3c0-2%200-3%202-3s2%201%202%204c0%209%201%2012%204%2012s3%200%202-3l-1-4-1-1c-2-1-2-2-2-4v-5c-1-1-1-1%201-1v-1l-3-2-2-1h-1l-5%201c-4%200-2%201%204%202l4%202h-3l-3%201v5c-2%202-6-6-7-14l-1-9%205-1c4%200%205%200%204%201-2%201-2%201%200%201h4c1%201%2013%203%2014%202l2%201h2c2%200%202%200%201%202l-5%201c-3-1-4-1-4%201-1%201-1%202-2%201-2%200-2%200-2%202l2%202c2%200%203%202%201%202v2l1%206c-1%200-2%208-1%2010l7%201h7v-6c0-6%200-6%202-6l4-1c2%200%202%201%202%206l1%207%201-7v-5c1%202%202%202%202%201v5c0%205%200%206%201%205l1-1%201%202%201-5v-6h8v6l1%206v-6c0-5%200-6%202-6h2c1%201%201%200%201-1l-1-3-1%201-2%201c-3%200-3-6%200-7v6c1%200%202-3%201-4l1-1%201%202a2935%202935%200%20000-150c-1%201-1%201-4-1l-2-1c1%203%201%202-2%200-2-2-4-3-5-2h-11l-9%201%201%201v2c-2%201-4%201-6-1l-3-1%202%203c2%201%202%201%200%203v2c1%200%201%201-1%202l-3%201v1l-1%201c-1-1-5%203-5%206%200%202%200%202-1%201l-2-3c0-2%200-2-1-1-1%202-2%201-1-2l2-2%203-1-1-1c-4%202-2-1%205-7%2010-10%2011-10%2020-10%206%201%208%200%208-1v-5l5-1%206%202-3%201c-2-1-2-1%200%201h-2l-4%201%203%201%202%202%202%201v1c-2%201-2%201%201%201l5%202c2%202%203%201%203-2%200-1%200-2-1-1%200%201-9-1-9-3h6l1-1c2%200%203-2%203-5%200-2%200-2-1-1l-1%201v-1c1-2%200-2-3-1l-5-1h2l5-1a6310%206310%200%20003-106V0h-56c-50%200-57%200-57%202l2%201v4c-2%201-2%200-2-1%200-2%200-2-1%200-1%203-2%200-1-3V0H0v33m193-20v1l-1%201v1l2%202c2%201%202%201%201%202-2%201-4-1-4-3%200-8-6%2019-7%2030-1%2018-6%205-6-17%200-9-1-13-5-13-2%200-2%200-1%203%200%202%200%202-1%201-2%200-2%201-2%207a1029%201029%200%20000%2041c2%200%204%205%203%206l-1-1-2-3v1l-1%203-1%203-2%203c-3%202-3%201-1-2l1-3h-2l-1-1-2-1c0-1%201-2%202-1l-1-2-4-7c-5-9-12-12-15-8-1%201-1%201%201%201%201-1%203%200%205%202s2%202%201%203c-2%201-2%202-1%202v1l-1%202c0%202%200%202%202%201%201-2%202-1%202%202l1%201v3c-1%201-1%202%201%204s3%203%203%201l2-1h5l-3%202-2%202h-2c0%202%202%205%204%205l6%203c4%204%206%204%2015%204l6-1%201-1%201%201c0%202%2011%204%2013%203l6-4c2%200%201%203-2%204-2%201-2%202-1%203%202%201%202%201%205-2s3-3%203-1l-1%203c-2%201-2%203-1%203%202%200%204-6%204-12l5-28v-3c-2%201-6-2-5-4l1-1%201%201h1v1c-1%201-1%201%201%201l4-2%203-8c3-8%204-8%201-10-1-2-4-2-4%200l1%201c1-1%201%200%201%201h-1c-2-1-3%200-9%2013-6%2011-6%2011-8%209v-8c3-15%204-31%203-33-2-2-5-1-5%201s1%203%202%203c2%201%202%201%200%201l-3-1-1%201c-1%202-1%203%201%204%202%202%202%204-1%205-1%201-1%200-1-1%201-9-3%208-5%2018%200%207-1%208-3%206l3-33V14c-1-2-4-3-4-1M1%2076v7h4a966%20966%200%200121-4l-4-2-5-3c-3%200-3%200-2-1h-1c-3%200-3%200-2-1s1-1-2-2a82%2082%200%2001-9-2v8m26%207c-1%203%200%205%202%205l5%201c2%202%203%2019%203%2040l1%2018v-43c-1-13-2-17-5-18-2%200-2%200%200-1s2-1-1-1h-4l-1-1m183%2072v6l-1%206-2%208-7%2021v4l-1%201c-2%201-3%204-5%2010l-3%209-1%204c0%205-9%2027-12%2028-2%201-1%2017%200%2017v1l-1%202c1%203%200%205-1%205-2-1-3%201-3%206v3h9c8%200%209%200%209-2h1c0%203%206%203%206%200%201-2%204-2%2012%201l10%201c5%200%206-1%206-3%200-3%200-3-1-2l-1%201v-3c1-3%203%200%203%204%200%203%200%203%203%203s4-3%202-12l1-4c1-1%203-13%202-14l-1%201-1%201-7%201-12%201h-6l4%201c2%200%202%200%201%201l-1%2011c1%200%202-3%202-9l1-2h2c2%200%202%201%201%203l-1%204c0%204-2%205-8%205l-6%201h-2l-2-2h6c5%200%206-1%206-7%200-2%200-3-8-4a176%20176%200%2000-15-1c-1%201-1%201-1-1l-1-3c-3-1-3%203-2%208%201%203%201%203%204%203l4%201%204%202h-2c-11-1-13-1-12-7%200-8%201-9%203-9l6%202c3%200%203%200%201-1l-4-3-2-1c-1%200-1-1%201-2h-1l-4%201-1-1%205-2c2%200%203-1%203-2l2-3c1-1%201-1%201%203%200%203%200%204%202%204s3%200%202-3l1-3%201%201%203%201%204%201-1-5-1-7%201-3-2-1c-1%200-2%202-2%205l-1%204v-4c0-3%200-4-2-4l-4-1c-1-1-1-1%202-1l7-1-3-1-5-2c-3-3-3-3-1-4%201-1%202-2%201-4%200-3%200-3%202-2%204%203%206%206%205%206l-1-1-2-1%203%205c5%204%205%204%207%202l1-2%201-1%201-2c-1-4-8-11-9-9h-1c0-1-2-1-4%201-2%201-2%201-1-1l2-2v-1c-1-1-1-1%201-1%203%200%205-1%204-2l1-1h2l-4-2c-5%200-5-1%200-1%204%200%205-1%207-3l3-2h-5c-6%200-7%200-5-2l2-3h1c2%203%2011%203%2011%201s-1-2-4-2l-6-1h4l7-1c-1-1%200-1%201-1%202%200%203%200%202%202%200%202%204%205%206%203l1%201c-1%203%201%202%203%200l2-2-1%203c0%204-1%205-4%205l-1%203v2l-1-3-1-2-1-1c1-1%200-2-1-2l-1%203c1%203%201%203-1%201-2-1-2-1-4%201l-4%202c-1%201-1%201%201%202%204%201%204%202%201%201h-2l2%202c2%202%202%202%203%201h2c2%202%202%202%204%201l2-2h3c2%200%203%201%202%202l1%203c2%201%202%201%201%203-1%201%201%204%203%204l6-3%201-2c0-2-1-2-4-2-5%200-6-1-4-3l1-2v-1h2c2%200%206%205%206%208%200%202%200%202%202%202l7-1c-2%203%200%205%204%205%204-1%2010-6%2010-10v-3l2%203%202%204-1%202-1%203v1c-1%200%200%205%202%206s2%201%200%203-3%203-3%200l-3-4-3-2h1l1-1c0-2-2-2-4%201l-5%204-3%201-6%206%201-2h-1l-1%202-1%206-1%203c0-3-2-3-7%200s-6%204-3%201l2-7%201-4v4c0%204%200%204%201%202%203-3%203-7%201-8l-3-1-2-2c-1-2-1-2-3-2h-6c-2%200-5%203-3%203l-3%204c-4%204-4%2010-1%2012l1%202h1v1c0%201%202%201%207-1%205-1%207-1%203%201l-3%201c0%202%206%201%206%200l2%201%202%201v-1c-1%200-2-3%200-5%201-1%201-1%202%201%202%203%206%205%207%205l-1-3v-4c1-1%202-2%201-3h1c1%200%202%201%201%202h1c2-1%202-1%202%201s0%202%201%201c2-2%204-3%203-1v1c3%200%202-1-1-3l-1-3h1l2%201%202%202c1%202%203%201%202-1l-1-1-1-2%202-2c2%200%202%200%202%203v2h2v1c-1%201-1%201%200%200l2%202%201%202%201%202-1%201h-1v1l1%201h-1c-2%200-3%203-3%207v2l1-2c1-2%201-2%201%200l-1%203-1%201c-1-1-3%201-3%203h2c1-2%201%202-1%205-1%203%203%205%2011%207l11%203c2%201%202%201%203-1l1-1%206%201v-2h2c1-1%200-5-1-5h-4l-25-6%202-10a2147%202147%200%200012-38l27%204-4%2014-4%2014%204-1c4%200%204%200%202-2-1-2-1-2%201-8a82%2082%200%20005-25l1%205c0%202%200%203%201%202h1l1-3%201-1-2-3c-2-3-3-3-5-2-3%201-15-1-14-2l-1-1c-3%201-7%200-6-1l-1-1c-1%200-2-1-1-2l-2-1-1%202c0%202-2%205-4%205s-3-8-2-10v-3h-1l-5%201c-3%200-3%200-3%203%201%202%201%203-1%203l-3%201c-1%201-1%201%202%201l-2%201h-2c2-2-6-4-8-1-2%202-3%201-3-1%201-4-2-9-4-6l-2%202-1%203-2%201-3-2c-1%200-2-1-1-3%202-7%203-10%202-11-7-6-7-7-5-9h3c1%202%204-2%204-6v-3c4%201%206%200%206-2s0-2-4-1l-5%203c-1%201-1%201-2-1v-4l3-1h2v-1h1l1-1%201-1%202-1c2-1%201-1-2-1-4%200-5%200-3%201%201%201%201%201-2%201l-3%201-1%202v2l-1%201c-1%200-2%200-1-1h-3l-2%207c0%201%200%202%202%202%204%200%205%201%203%203-2%201-2%201-5-1l-3-2c-1%201-1%200-1-1v-3c-1%200-2%206-1%207l-1%201h-1c1%201-1%202-6%202-5%201-9-2-5-2v-1c-2%200-2-1-1-3%202-4%206-29%205-29l-2%204m-101%202l-2%201c-2-1-6%204-6%206l-1%201c-1%200-6%208-5%209v3h-3c0-1-1-2-2-1l-1%202c1%201%200%202-1%202-4%201-4%201-4-1l-2%202c-3%204-3%205%200%203%201-1%201-1%201%201l-1%203-2%201-2-1%201-2h-1l-3%201-2%201-2%201c-3%200-2%201%202%201s4%201%200%205l-3%204h-1c-1-2-4%201-2%203l-1%201c-1-1-1-1%200%200l-1%201c-1-1-1-1%200%200l-1%201v1h-1l-4%202c-3%202-3%202-1%202%202-1%203%200%203%201l4%201%204%201h-9l-3-1-4-1-6-1-8%202%206%204%203%201c2%200%203-2%200-3-1%200%200-2%203-2v1h1l2%201c-1%201%200%201%201%201v1c-2%202-1%203%201%202h3c1-2%203-1%201%201l-1%203c1%201%202%200%203-1%203-4%206-4%206%200l1%207%201-5c0-4%200-5%202-4l2%201h1l1%201v1l2%201h2v2h1l2-1h1l2-1c1%200%202%200%201-1l-3-1c-2%201-4%200-7-2l-5-2c-2%200-2%200%200-1h9l5-1c2%200%201-2-3-4l-3-4h2c-1%202%202%202%203%200s1-2%202-1c1%202%202%202%202%201l1-1h3l-1%202v2l-1%202c-4%203%204%203%208%201l5-1%203-1h1l2%202c1%201%200%201-2%201h-3l-3%201c-4%200-7%201-7%202h6c-3%200-3%200-2%201v2h4c2%200%202%201%201%202v1l2-1h2v-2c-3-3-2-3%202%200l4%202%201%201c-1%201%203%204%204%204%201-1-3-6-9-9l-5-3%206%201%206-1c-1-2%206-2%2012-1l-1-1-3-2h4c5-1%206-2%203-3-2%200-2%200-1-4l2-4%201-1%204-2%203-1%205-2%203-1h-11c-5%202-8%206-8%2011-1%205-3%207-10%208l-5%201c-3%202-3%201%200-2%202-2%203-3%202-4l-1%201-1%201-2%201h-1l-1-2-1%202v1c-2-1-2-3%201-4l7-5c6-5%206-6%204-7-2-3-7%200-4%203v2l-1-1c-1-1-2-2-4-1l-1-1v-1l-2%201c-1%201%200%202%201%201l1%201-3%201h-1l-1%203c-2%202-5%200-3-3v-1c-1%200-2%200-1%201%201%202-5%201-7-1v-2l-1-2c-2%200-2-1-1-2s2-2%203-1l2%201h3v1c-2%203%200%202%204-1l2-3-1-1%201-1c3%200%206-4%205-6h1l4%201c2-1%203-1%202%201l-1%201c-2%200-9%207-9%209l3%201c3%200%203-1%203-3s6-7%208-7v-3l-2-4c-1-2-1-3-2-2-2%200-2%200%200%201%201%201%200%202-5%201-5%200-6%200-5%201v2l-2%201c1%201-1%203-4%203l-3%201h-1l-5%202c-4%203-5%205-3%205l-1%201h-4l-1-1c-1-1-1-1-2%202l-2%201%201-3v-3l1-3c3-2%205-3%204-1-1%201%201%202%204%201%203-2%204-5%201-5l-1%202c1%201%200%201-1%201-3%200-3%200-1-1v-2c-2%200-2%200%200-1h6v2c-1%202%203%202%206%201%204-2%203-5-1-4-4%200-4%200%201-1l9-2%204-1v-1l1-2h-2l-3%201-3%201h-3v-2c-1-2-1-2-2%200l-1%201c0-1-1-1-2%201l-2%202c-2%200-1-4%200-6l1-2%202-1%202-1%201-2c1%201%203-1%204-3l5-4c4-1%203-3-1-3-2%200-3%201-3%202m30%2019c0%203-3%205-6%204v1c2%202%200%206-4%206h-2c0-1-1-1-4%201-3%201-4%202-1%202%201-1%203%200%205%202%203%203%203%203%202%205l-2%204-1%203v1l-1%201v1c1%202%203%200%203-4l2-5%202-6%201-4c1-1%201-1%201%202-1%203-1%203%202-1%202-5%206-8%207-6h3l-1-1c0-1%205-2%2013-2h7l-5-1c-9-2-20%201-24%206l-2%201%203-4%203-6c-1-2-1-2-1%200m140%204l-6%201h10l-7%201a468%20468%200%2000-12%203v2l-2%202h-1l-2-2-2-1c-2%200-2%200%200%201h-1c-3%200-3%200-2%201s1%201-1%201l-5%202h-4v2l1%203c0%201%200%202%202%202%203%200%209-2%209-4l2-2%202-1c1-1%201-1%201%201l-2%201-1%201c0%202%208%200%2011-2l2-2h-4l3-2v-1c-2-1%201-3%205-2l3%201h-3c-5%200-3%202%202%202%203%200%204%200%203-1%200-1%201-3%204-5%202-1%203-3%202-3l-7%201m6%204c-3%202%200%205%203%203l6-1%203%201h-4l-3%201c-1%201%201%201%206%201v1c-2%202-2%202%200%203h3c1-1%202-1%203%201l5%202-1%201h-7l2%201%202%202%204%201%203%201%201%201%201-1v-2l1%201v2l-2%201c-2%200-2%200-1%201l5%201%206%202%204%204c1%201%201%201-3%201-6%200-7%201-6%204%200%203%200%203%203%202%205-2%207-3%207-5%200-1%203%202%205%206%201%203%202%203%202%201%201-1%201-1%201%201l-1%202v2c0%202%200%202-2%202s-2%200%200%201c3%201%203%201%201%202v1c2%200%202%203%200%203v-1l-3-1c-3%200-4%202-2%203v1c-1%200-2-1-2-3v-3l-5%203-6%202c-2%200-2%201%201%201s4%201%202%202h4l6%201c4%203%2011-5%2011-12%200-3%201-4%202-3s2%200%202-1l-4-2c-3%200-3%200-1-1%202%200%203-1%202-2l-1-2v2h-1c-2-2-2-2-3-1-2%202-2%202-3-1v-4l1%201v1l2-1-1-1-1-1%204-1h3v-2l2-1%202-1%201-3%201-1h2v-4l-2-1c-1-1-1%200-1%201%201%203%200%203-3%204-4%201-5%201-1-2%205-3%204-6-1-6-1%200-2%201-1%202l-1%202-1-2-1-1-1%202-1%201-4%203-1%202h1c0%202%201%201%203%200%201-2%202-2%204%200v2l-2%203-1-1-1-2-1%202c0%203-2%205-2%203l-2-2c-2-1-2-2-1-5l-1-3c-1%200-2%200-1-1l-1-1h-2l2-1h9l-4-1-8%201h-6%201v-4c-1-1-5-3-5-1%201%201%200%201-2%201s-2%200-2-2v-1l-1-1-1-1-2-3c-2-3-6-4-8-2h-9m-238%203v4l-1%201c-3-1-6%200-5%201h6l-1%209v3l1-3c2-2%203-2%203%202%200%202-2%203-4%201h-1v3h8l2%201c2-1%201-2-1-3-3-1-3-4%200-8v-4l-2%202c-1%204-3%204-3%200l-1-11-1%202m306%205l-4%201%201%201%201%201%205%201c6%200%207%202%201%202h-5l4%201h5l3-1c2%200%202%200%201%201-2%201-2%201%200%201h4l2%201%206%201v-2c1-1%200-2-3-3l-3-1h-2l1-1h-2c-3%200-3%200-1-1h-1c-3%200-3%200-2-1v-1l-3%202-3%201c-2%200-2%200%200-1l1-1c-1-2-1-2-6-1m20%2026h-8c-6%200-8%200-7%201l-2%201c-1-1-3%200-6%204l-5%203c0-2%200-2-3%200-2%201-3%202-3%204s0%202%202%201c3-3%203-2%200%202l-3%206c0%203%200%206%201%205v-3c0-2%200-2%201-1%201%202%203%203%203%201l9-11%209-9h18c2%200%202%200%201-2l-3-1-3-1h-1m-127%202l-4%202-1%202c0%202%200%202-1%201l-1%201h-3c-4-3-15-2-22%201h-3l-1%201-1%203c-3%204-4%2011-2%2015v3l2%201h3l-2-3c-4-8%203-20%2013-20l2-1h6l5%203%201%201%203%202%203%204v-4l1-3v3l4-2c6-3%206-3%201-3h-2l3-3v-2l-1-2h-3m128%2014h-1c-3-1-21%2020-21%2023%200%202%200%202%201%201h1v4c1%203%201%203%203%201l2-3c-1-1%205-9%209-13l3-1%201%201%201-2-1-1c-1%201-1%200%200%200l-1-2c-2%200-3-2-3-3%201-1%202%200%203%201l2%202%203-2c2-2%204-2%2011-2l9-1%202%201c2%201%202%201%202-1l-1-2h-1l-2-1v1c0%202-1%201-3-1h-19m2%2019l-1%202-1%201h-2l-2%201c-1%200-1%201%201%202%207%205%209%2015%204%2022l-1%203%203-1%203-5c3-5%202-11-1-17-2-3-2-5%201-5l-2-5-2%202m-70%201l-2%201-2%201%201%201h1l-1%201-1%201c0%202%201%202%202%201h2l6%201h7v-8l-13%201m15%201v4l1%202%204%201h8c5%201%205%201%205-2l1-2v2c0%203%200%203%202%202l2%201c-1%201%200%201%201%201%202%200%203%200%203-2%200-4-1-6-3-6s-3%204-1%204c1%201%200%201-1%201-2%200-2%200-2-2%201-3%201-3-5-4l-7-1%201%203c0%202%200%203-1%202-3-6-6-8-8-4m-150%204l-7%207c-2%202-3%203-4%2011v9l-1-7v-8l-5%202-10%204c-3%200-3%200-3%205v4h5c5%200%205%200%204-3l1-3c1-1%201%200%201%202%200%201%200%202%201%201l2-1v-3c0-3%200-3%201-2s2%203%201%205c0%204%200%204%202%204%203%200%203%200%203-7s1-8%202-1c0%205%201%208%203%208%203%200%204-2%204-6%200-2%200-3-1-2h-3l-1-3v-3c0-2-1-2-2-2h-1c0-2%203-2%205%201l3%202c1%200%202-4%202-9l1-4%201%202v2c1%201%201%200%201-4v-5l-5%204m178%203c0%203%200%204%202%204s2%200%201%201%200%2011%201%2012v6l4%201c5%200%205-2%203-7l-2-4-3-8-4-7-1-1c-1-1-1%200-1%203m18-2c0%201%200%202-2%201-2%200-2%200%200%202%202%201%203%203%202%203l-3-1c-2-3-3-3-3-2l-3%202c-2%201-2%201%201%201%202%200%207%203%206%205l-2-2c-2-2-6-3-6-1l2%201c2%200%205%204%205%206h-3l1%201v1c-4%200-1%204%203%205%203%201%207-1%207-4h1c1%201%201%201%201-2%200-5-1-7-5-11l-1-3c2%200%202%200%201-1l-2-1m-116%202l-2%201-2%203%201%202%201%201c1%201-1%202-2%200v1h-1l-1%203v2l2-2c4-3%205-2%201%202l-2%203h2l2-1c2-1%202-1%202%201v2h1l1-1c1%201%203-3%204-6%200-3-3-6-5-4h-1l2-2c2-2%202-6%200-4l-1-1v-1l-2%201m56%207c0%203%200%203-1%201-2-3-5-4-6-2h-8c-2%200-2%203-1%205h8v-1l2%201%202%201%201-1v-1l1%201%204%201h5l-5%201-4%201h10l1-1%201%201c-1%201%200%201%201%201%202%200%203-4%202-6v-2c2-1%200-2-7-3h-7l1%203m17-1c-2%200-2%201-2%204s0%203%203%203h19l2-1%201%201%201%201c2%201%202%200%202-4s0-4-3-4h-3l-7-1-8%201h-5m0%2013l-1%203c0%202%200%202%209%202%208%200%209%200%209-2h1l1%202%201-2h1c2%203%206%203%206%200%200-2%200-2-3-2h-3l-8-1h-13M44%20309v9h4c6%200%209-6%205-11-1-2-2-2-4-2-3%201-3%201-3-2l-1-2-1%208m66-5c0%202%200%202-2%201-4%200-6%202-6%206%200%205%201%206%206%207h4v-9l-1-8-1%203m-20%202c-4%203-1%2012%204%2012%203%200%205-3%205-6%200-4-2-7-5-7l-4%201m47%200c-5%204-1%2014%204%2011h2c0%202-3%203-5%203-1-1-2%200-2%201h7c2-1%202-2%202-8v-8h-3l-5%201m32%200c-4%202-3%2010%201%2011%203%201%206%200%207-3%203-6-3-11-8-8M53%20331c-3%202-2%207%200%209%204%204%209%201%209-5%200-5-6-8-9-4m60-1c-1%201%200%2016%202%2016l1-2c0-2%200-3%202-2%205%201%208-8%204-11-1-2-7-2-9-1m21%200c-2%201-1%202%202%202%204-1%205%202%201%202-8%201-6%208%201%207h5l-1-4-1-6c-1-2-6-3-7-1m52%201c-3%203-2%207%200%209%204%204%209%201%209-5%200-5-6-8-9-4m7%2033c-2%204-2%206%201%205l2%201c-1%201%200%201%201%201l3%201%201%201%204-9-2%202c-1%203-4%206-4%204%200-3%202-7%203-6h1l-1-3-1-1-2%201h-1c-2-2-4-1-5%203m15-3v5l1%203h1l8%204%206-12h-16m25%201v6c0%204%200%206-2%208l-2%203%203%201c5%202%206%201%207-2l3-5c2-1%202-1-1-3l-1-1%202-1h-1l-1-1%202-1%201%202%202%201%201%203v1l2-5v-1l-2%201%201-3%202-3c-1-2-5-3-7-1h-1c0-1-7-1-8%201m-130%204l1%207c1%202%204%203%204%200l1-1c1%201%204-3%203-5h1c1%201%201%201%201-1%201-4%201-5-5-5h-6v5m268%200c-2%2010-2%2011%203%2011h4l2-8c1-8%201-9-2-7h-3c-1-3-3-1-4%204m17%201c-3%2010-3%2010%201%2011%205%201%205%201%207-8%201-7%201-10-1-7h-3c-2-1-2-1-4%204m-270%200l-1%204%202%202c1%202%200%202-2%200l-2-2-2%203-1%203%201%203c-1%202-1%202%204%202l5%201-1-6-1-10-1-3-1%203m163-3l1%203v2l-2-1v-1l-1%201-3%201c-1%200-1%201%201%205%203%206%202%206%207%203%203-2%203-2%203-5v-5c-1-3-2-2-2%200%201%202%201%202-1%200l-3-3m-33%208c-3%208-3%2015%201%2015v1c-1%201-1%201%201%201%203%200%205-16%202-19l-2-3-2%205m-40%203l1%202v1l-3%205c-1%207-1%208%201%207%201%200%203%200%204%202%202%202%202%202%204-5%201-6%201-7-2-7l-2-1v-1l1-2c1-1%201-1%201%201s3%203%203%201h1l1%201c0-2-1-4-5-5s-4-1-5%201m95%200v2c0%203-2%202-2%200-1-2-1-2-2-1l-2%201-1%202%201%202v1c-1%203-1%207%201%208%201%201%202%202%201%203h5v-1l2-3v-7c-1-5-3-9-3-7m-61%202v1c-2-1-5%206-4%208h2c1-1%201-1%201%201-2%207-2%2010-1%209h5l3-1-2-7c-1-6-2-7-3-4l-2%201%202-5c1-3%202-4%200-4-1-1-1-1-1%201m-53%203c-1%206-1%208%201%207s4%200%204%201h-2l-3%202c-2%203-3%205-1%204h1c0%202%202%201%202-1l1-2v2l1%202%201-4%201-2%202-6c0-5%200-5-2-6-5-2-6-1-6%203m38%204v3c-2-2-6%209-5%2010h4c3%203%203%202%206-3l2-5h-2c-2%200-2%200-1-1h2l1-2v-3h-4l-1-1-1-1-1%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEmElEQVQ4y1VUyVJbRxR962wczCiQ3pPQjOZ5RhIakBAzSBgJgREYIcBikAQC7MgOgyHBMa7YVGWXdSqbLLJL5QfyM/mDk9uNy1VZnLr9um+fPud23ycYrQ7oLTaoDCNQaA0wOdwwOz1QaPSQqbQYHNZCa7bSWIOnQxJ6FEoo9SMIRuOIJVIYS6Vhc/v4HhaFYSISiah7SMS3Mjl0RG6gQ3pp4xOZApF4HOWVZSTH0+gVhzmpjA5hOSN2J4xWOxiHzmSBpDNA0BhNfLNMpUaPXIKeEiRSMKBUQ0mJE5M5HNRrWC0XSYEHXYMiX+sTVeiTVDQeRp9CQr+ohKTVQYglxmBxOUmdAv202C+pudUehYrspLBT28L5SYvHAaUG3XIlt90rfiGj2E94OiSHTKmCkJuaRiY3wa2wJLahX3q0NqTWY6Oyjv29HZTLJX4IQ580zHMYGXPVR+oGSK1Co4UwPTNLtqY4GSNhhKxWbCOLNk8A/kicoo+r72aENP94OBOh5KQyUisyQpvHj9m5GbKr5iTdchW6iLhrUIKRih6OJ+ENx+H0B/ll9BEpB78gkfIfwQjlag0EdluxROKLFTVXpTXbeHQHQ4RRmJxeGGzOr5Yf8aise0jBa8fs9osSKaS3E4iMQtQZ8U3PIKKJJLarm/CGwoglk7C4AwQ/tPScsrks2Y/wy5FrdHgyMIQu2SMYca9ChKCzOGB1e7nKwtIiOucNHO7XsLmximgyDZPLT9bdqG6t4vK7JvL5OSwszqFYLCASi8LidMIT8MPqcqGHSIVAJIbgaJTe2TI+3L7CD5dtNA5qGEtTB3hDMDp8RJzASXMHL3e36MZf4Ki+hcbhNr2AVezWNjnW1koIR0chRGIJpLNTVPgo2YnCRzEUT3EybzhGVl1czUG9SqVYx49XZ9gkonQmiYX8PAqFPD7cnOL99TFet/fIstkOhzeAYaMFzL6FLFqpbg5fGGqTgw4YRa1aoc0LWH9exvr6Gu9bu8eD6os1mluhUhzitLmLJSqZoDSaobFQuxlMkGgsGswUiZxuNZEdx/Z2BWftA5wc17G7Ryp3NlGvV7BdW8XNRRMXnUNcf9/AEZUgOZGD8EzvQXHEh5LJj6LBi6LRh2XCljuKNxNzaMVzeJ2dw3l6Bs3oBFqxLC4nF3CWnMTF5DzP6WRnUQ8msWEPQ2gbQrjPlfCQ38RtfA53qQI+L1bwgeZukou4yzzD/cwaOt4MjpQuNNU+HEguHKk8OFS5OdiYzZ9o/RCa+gDuJkt4P1PGbWYJH/MbuEos4HNpG3e5Iq0Vcb9QwbtUHiy3ofP/L7YMga/fDMK+3o9jexzn3jSa1iiPnWAWp95xnHpSaNFaJzSBt4SWOYyWKYyGMchjcySEIyLk37R2TBB01CF6go3azWKyYiqTwWqhgE/Xp/j7t0/49f4NTujt/fSmiZ+v23h7vIc2vcPLdh371eeYzGSxu1HBycsqLmhOsLjc9FO1QaHTw+71YXp+Bmn6+/z5+wPw7z/4649fcPm2gY9357i9aqHz6gDvLo7xcN+h2KSu2kKpvIK93Q28vznDf5e/wz3AsfWnAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/28367da37f22653339247c8453094207/3ddd4/vibedkotlin.png","srcSet":"/static/28367da37f22653339247c8453094207/078a8/vibedkotlin.png 163w,\n/static/28367da37f22653339247c8453094207/e56da/vibedkotlin.png 327w,\n/static/28367da37f22653339247c8453094207/3ddd4/vibedkotlin.png 653w,\n/static/28367da37f22653339247c8453094207/c5cc7/vibedkotlin.png 980w,\n/static/28367da37f22653339247c8453094207/6050d/vibedkotlin.png 1200w","srcWebp":"/static/28367da37f22653339247c8453094207/0acdf/vibedkotlin.webp","srcSetWebp":"/static/28367da37f22653339247c8453094207/ac59e/vibedkotlin.webp 163w,\n/static/28367da37f22653339247c8453094207/7660b/vibedkotlin.webp 327w,\n/static/28367da37f22653339247c8453094207/0acdf/vibedkotlin.webp 653w,\n/static/28367da37f22653339247c8453094207/75470/vibedkotlin.webp 980w,\n/static/28367da37f22653339247c8453094207/9000d/vibedkotlin.webp 1200w","sizes":"(max-width: 653px) 100vw, 653px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%2033c0%2023%200%2032%201%2031l2-1-1%202-2%202h10c-2%201-2%201%200%201s3%200%202%201h10c8%201%208%202-1%202l-7-1%205%202c4%201%207%202%2010%201%202%200%203%200%202%201l-4%201c-1%200-2%200-1%201l4%201h1l-1%202%201%201-31%205%201%2018v1l-1%203c0%202%200%203%201%202v1l-1%204%201%203v2l-1%2020v20l5%201%204%202-4-1-4-1v22l-1%2020v20l4%201%204%202c0%201-2%203-4%202l-1%202-1-1c-2-1-2%209-2%2085v87h40a288%20288%200%200045-1h24l2-1c0%201%202%202%206%202%207%200%207%200%207-2s0-2%201%200l1%203%201-3v-3c-1%201-1%200-2-3l-2-10-1-7h3l3-1h-3c-6%200-4-3%202-3%204%200%205%200%206-2%200-1%201-1%201%201%201%202%201%201%201-3l1-6v5l6-1h3c-1%200-1-1%201-2%202-3%206%200%204%202%200%202%200%202%202%202l4%201%202-1h-1l-1-2h-1l-2%201c-1-1%202-6%203-5l1%201c-1%201%204%203%206%203s3%200%202%202c0%203%207%204%209%202s2-2%205-1c2%201%202%202%202%207l-1%207c-1%202%200%204%201%207%201%205%201%206-3%207l-5%202c-2%201-2%201-2-3v-4l-1%203v5c0%202%208%201%2010-1h3c0%203%202%202%202%200%201-3%201-3%208-2h3l1-3%203-2c2-2%204-1%203%203v3l2-3c3-3%203-3%203-1h1c0-1%201-1%202%201%202%203%207%204%207%201%200-2%200-2-2-1v-7l3-5c2-1%203%201%200%207v4c1-1%201%200%201%201l-1%202v2l3%201h4l2%201c2%200%203-1%205-5%202-5%203-6%204-5v5l-2%202c0-1-2%200-2%202h8c2-2%206-3%207-1%200%202%201%202%203%201h2l1%201v-1l1-2%202-2h-1v-9c0-3%201-3%204-3%204%200%204%200%203%206l-1%204h-5l1%201h2c1%200%201%201-1%201-1%201-1%201%201%201l3%202c0%203%202%203%202%200-1-5%200-11%201-10v12h3c3%200%204-1%204-2%201-2%201-2-1-2l-1%202v1l-1-2v-1c2%200%201-1-1-6-3-5-4-6-2-6%201%201%201%200%200%200l2-2%204%202h3v3l-1%201h2l4-1c1%201%202%201%202-2-1-4%203-6%204-3%200%202%200%202%201%201%201-2%201-2%203%201s2%203%202%201l-3-10-2-5c1-1%206%2011%207%2015l1%205v3l-2-4-1-2v2c0%204-3%206-6%204h-1l-1-2c-1-2-1-1-1%204s0%205%201%202%205-3%205%200c0%202%201%203%202%201v-1c-2-1-1-2%202-2h1c-3%202-2%202%204%200l7-1c1%201%201%200%201-1%200-3%201-5%202-3s4%201%204%200l2-2h3l-3-1h-2l2-2%202-1v2l3%202h-1l-2%201%203%201c3-1%207%202%205%203l1%201h1c-1%200%200%202%202%203%203%202%204%202%202-1-2-2-3-3-2-4l1%201c0%202%205%201%207-1%201-2%200-2-1-1h-4v-1l-1-2-2-3h6l4%205c5%205%207%208%205%208v1l2%201c2%200%202%200%201-3l-3-4v-3l1-3c0-2%200-3%202-3s2%201%202%204c0%209%201%2012%204%2012s3%200%202-3l-1-4-1-1c-2-1-2-2-2-4v-5c-1-1-1-1%201-1v-1l-3-2-2-1h-1l-5%201c-4%200-2%201%204%202l4%202h-3l-3%201v5c-2%202-6-6-7-14l-1-9%205-1c4%200%205%200%204%201-2%201-2%201%200%201h4c1%201%2013%203%2014%202l2%201h2c2%200%202%200%201%202l-5%201c-3-1-4-1-4%201-1%201-1%202-2%201-2%200-2%200-2%202l2%202c2%200%203%202%201%202v2l1%206c-1%200-2%208-1%2010l7%201h7v-6c0-6%200-6%202-6l4-1c2%200%202%201%202%206l1%207%201-7v-5c1%202%202%202%202%201v5c0%205%200%206%201%205l1-1%201%202%201-5v-6h8v6l1%206v-6c0-5%200-6%202-6h2c1%201%201%200%201-1l-1-3-1%201-2%201c-3%200-3-6%200-7v6c1%200%202-3%201-4l1-1%201%202a2935%202935%200%20000-150c-1%201-1%201-4-1l-2-1c1%203%201%202-2%200-2-2-4-3-5-2h-11l-9%201%201%201v2c-2%201-4%201-6-1l-3-1%202%203c2%201%202%201%200%203v2c1%200%201%201-1%202l-3%201v1l-1%201c-1-1-5%203-5%206%200%202%200%202-1%201l-2-3c0-2%200-2-1-1-1%202-2%201-1-2l2-2%203-1-1-1c-4%202-2-1%205-7%2010-10%2011-10%2020-10%206%201%208%200%208-1v-5l5-1%206%202-3%201c-2-1-2-1%200%201h-2l-4%201%203%201%202%202%202%201v1c-2%201-2%201%201%201l5%202c2%202%203%201%203-2%200-1%200-2-1-1%200%201-9-1-9-3h6l1-1c2%200%203-2%203-5%200-2%200-2-1-1l-1%201v-1c1-2%200-2-3-1l-5-1h2l5-1a6310%206310%200%20003-106V0h-56c-50%200-57%200-57%202l2%201v4c-2%201-2%200-2-1%200-2%200-2-1%200-1%203-2%200-1-3V0H0v33m193-20v1l-1%201v1l2%202c2%201%202%201%201%202-2%201-4-1-4-3%200-8-6%2019-7%2030-1%2018-6%205-6-17%200-9-1-13-5-13-2%200-2%200-1%203%200%202%200%202-1%201-2%200-2%201-2%207a1029%201029%200%20000%2041c2%200%204%205%203%206l-1-1-2-3v1l-1%203-1%203-2%203c-3%202-3%201-1-2l1-3h-2l-1-1-2-1c0-1%201-2%202-1l-1-2-4-7c-5-9-12-12-15-8-1%201-1%201%201%201%201-1%203%200%205%202s2%202%201%203c-2%201-2%202-1%202v1l-1%202c0%202%200%202%202%201%201-2%202-1%202%202l1%201v3c-1%201-1%202%201%204s3%203%203%201l2-1h5l-3%202-2%202h-2c0%202%202%205%204%205l6%203c4%204%206%204%2015%204l6-1%201-1%201%201c0%202%2011%204%2013%203l6-4c2%200%201%203-2%204-2%201-2%202-1%203%202%201%202%201%205-2s3-3%203-1l-1%203c-2%201-2%203-1%203%202%200%204-6%204-12l5-28v-3c-2%201-6-2-5-4l1-1%201%201h1v1c-1%201-1%201%201%201l4-2%203-8c3-8%204-8%201-10-1-2-4-2-4%200l1%201c1-1%201%200%201%201h-1c-2-1-3%200-9%2013-6%2011-6%2011-8%209v-8c3-15%204-31%203-33-2-2-5-1-5%201s1%203%202%203c2%201%202%201%200%201l-3-1-1%201c-1%202-1%203%201%204%202%202%202%204-1%205-1%201-1%200-1-1%201-9-3%208-5%2018%200%207-1%208-3%206l3-33V14c-1-2-4-3-4-1M1%2076v7h4a966%20966%200%200121-4l-4-2-5-3c-3%200-3%200-2-1h-1c-3%200-3%200-2-1s1-1-2-2a82%2082%200%2001-9-2v8m26%207c-1%203%200%205%202%205l5%201c2%202%203%2019%203%2040l1%2018v-43c-1-13-2-17-5-18-2%200-2%200%200-1s2-1-1-1h-4l-1-1m183%2072v6l-1%206-2%208-7%2021v4l-1%201c-2%201-3%204-5%2010l-3%209-1%204c0%205-9%2027-12%2028-2%201-1%2017%200%2017v1l-1%202c1%203%200%205-1%205-2-1-3%201-3%206v3h9c8%200%209%200%209-2h1c0%203%206%203%206%200%201-2%204-2%2012%201l10%201c5%200%206-1%206-3%200-3%200-3-1-2l-1%201v-3c1-3%203%200%203%204%200%203%200%203%203%203s4-3%202-12l1-4c1-1%203-13%202-14l-1%201-1%201-7%201-12%201h-6l4%201c2%200%202%200%201%201l-1%2011c1%200%202-3%202-9l1-2h2c2%200%202%201%201%203l-1%204c0%204-2%205-8%205l-6%201h-2l-2-2h6c5%200%206-1%206-7%200-2%200-3-8-4a176%20176%200%2000-15-1c-1%201-1%201-1-1l-1-3c-3-1-3%203-2%208%201%203%201%203%204%203l4%201%204%202h-2c-11-1-13-1-12-7%200-8%201-9%203-9l6%202c3%200%203%200%201-1l-4-3-2-1c-1%200-1-1%201-2h-1l-4%201-1-1%205-2c2%200%203-1%203-2l2-3c1-1%201-1%201%203%200%203%200%204%202%204s3%200%202-3l1-3%201%201%203%201%204%201-1-5-1-7%201-3-2-1c-1%200-2%202-2%205l-1%204v-4c0-3%200-4-2-4l-4-1c-1-1-1-1%202-1l7-1-3-1-5-2c-3-3-3-3-1-4%201-1%202-2%201-4%200-3%200-3%202-2%204%203%206%206%205%206l-1-1-2-1%203%205c5%204%205%204%207%202l1-2%201-1%201-2c-1-4-8-11-9-9h-1c0-1-2-1-4%201-2%201-2%201-1-1l2-2v-1c-1-1-1-1%201-1%203%200%205-1%204-2l1-1h2l-4-2c-5%200-5-1%200-1%204%200%205-1%207-3l3-2h-5c-6%200-7%200-5-2l2-3h1c2%203%2011%203%2011%201s-1-2-4-2l-6-1h4l7-1c-1-1%200-1%201-1%202%200%203%200%202%202%200%202%204%205%206%203l1%201c-1%203%201%202%203%200l2-2-1%203c0%204-1%205-4%205l-1%203v2l-1-3-1-2-1-1c1-1%200-2-1-2l-1%203c1%203%201%203-1%201-2-1-2-1-4%201l-4%202c-1%201-1%201%201%202%204%201%204%202%201%201h-2l2%202c2%202%202%202%203%201h2c2%202%202%202%204%201l2-2h3c2%200%203%201%202%202l1%203c2%201%202%201%201%203-1%201%201%204%203%204l6-3%201-2c0-2-1-2-4-2-5%200-6-1-4-3l1-2v-1h2c2%200%206%205%206%208%200%202%200%202%202%202l7-1c-2%203%200%205%204%205%204-1%2010-6%2010-10v-3l2%203%202%204-1%202-1%203v1c-1%200%200%205%202%206s2%201%200%203-3%203-3%200l-3-4-3-2h1l1-1c0-2-2-2-4%201l-5%204-3%201-6%206%201-2h-1l-1%202-1%206-1%203c0-3-2-3-7%200s-6%204-3%201l2-7%201-4v4c0%204%200%204%201%202%203-3%203-7%201-8l-3-1-2-2c-1-2-1-2-3-2h-6c-2%200-5%203-3%203l-3%204c-4%204-4%2010-1%2012l1%202h1v1c0%201%202%201%207-1%205-1%207-1%203%201l-3%201c0%202%206%201%206%200l2%201%202%201v-1c-1%200-2-3%200-5%201-1%201-1%202%201%202%203%206%205%207%205l-1-3v-4c1-1%202-2%201-3h1c1%200%202%201%201%202h1c2-1%202-1%202%201s0%202%201%201c2-2%204-3%203-1v1c3%200%202-1-1-3l-1-3h1l2%201%202%202c1%202%203%201%202-1l-1-1-1-2%202-2c2%200%202%200%202%203v2h2v1c-1%201-1%201%200%200l2%202%201%202%201%202-1%201h-1v1l1%201h-1c-2%200-3%203-3%207v2l1-2c1-2%201-2%201%200l-1%203-1%201c-1-1-3%201-3%203h2c1-2%201%202-1%205-1%203%203%205%2011%207l11%203c2%201%202%201%203-1l1-1%206%201v-2h2c1-1%200-5-1-5h-4l-25-6%202-10a2147%202147%200%200012-38l27%204-4%2014-4%2014%204-1c4%200%204%200%202-2-1-2-1-2%201-8a82%2082%200%20005-25l1%205c0%202%200%203%201%202h1l1-3%201-1-2-3c-2-3-3-3-5-2-3%201-15-1-14-2l-1-1c-3%201-7%200-6-1l-1-1c-1%200-2-1-1-2l-2-1-1%202c0%202-2%205-4%205s-3-8-2-10v-3h-1l-5%201c-3%200-3%200-3%203%201%202%201%203-1%203l-3%201c-1%201-1%201%202%201l-2%201h-2c2-2-6-4-8-1-2%202-3%201-3-1%201-4-2-9-4-6l-2%202-1%203-2%201-3-2c-1%200-2-1-1-3%202-7%203-10%202-11-7-6-7-7-5-9h3c1%202%204-2%204-6v-3c4%201%206%200%206-2s0-2-4-1l-5%203c-1%201-1%201-2-1v-4l3-1h2v-1h1l1-1%201-1%202-1c2-1%201-1-2-1-4%200-5%200-3%201%201%201%201%201-2%201l-3%201-1%202v2l-1%201c-1%200-2%200-1-1h-3l-2%207c0%201%200%202%202%202%204%200%205%201%203%203-2%201-2%201-5-1l-3-2c-1%201-1%200-1-1v-3c-1%200-2%206-1%207l-1%201h-1c1%201-1%202-6%202-5%201-9-2-5-2v-1c-2%200-2-1-1-3%202-4%206-29%205-29l-2%204m-101%202l-2%201c-2-1-6%204-6%206l-1%201c-1%200-6%208-5%209v3h-3c0-1-1-2-2-1l-1%202c1%201%200%202-1%202-4%201-4%201-4-1l-2%202c-3%204-3%205%200%203%201-1%201-1%201%201l-1%203-2%201-2-1%201-2h-1l-3%201-2%201-2%201c-3%200-2%201%202%201s4%201%200%205l-3%204h-1c-1-2-4%201-2%203l-1%201c-1-1-1-1%200%200l-1%201c-1-1-1-1%200%200l-1%201v1h-1l-4%202c-3%202-3%202-1%202%202-1%203%200%203%201l4%201%204%201h-9l-3-1-4-1-6-1-8%202%206%204%203%201c2%200%203-2%200-3-1%200%200-2%203-2v1h1l2%201c-1%201%200%201%201%201v1c-2%202-1%203%201%202h3c1-2%203-1%201%201l-1%203c1%201%202%200%203-1%203-4%206-4%206%200l1%207%201-5c0-4%200-5%202-4l2%201h1l1%201v1l2%201h2v2h1l2-1h1l2-1c1%200%202%200%201-1l-3-1c-2%201-4%200-7-2l-5-2c-2%200-2%200%200-1h9l5-1c2%200%201-2-3-4l-3-4h2c-1%202%202%202%203%200s1-2%202-1c1%202%202%202%202%201l1-1h3l-1%202v2l-1%202c-4%203%204%203%208%201l5-1%203-1h1l2%202c1%201%200%201-2%201h-3l-3%201c-4%200-7%201-7%202h6c-3%200-3%200-2%201v2h4c2%200%202%201%201%202v1l2-1h2v-2c-3-3-2-3%202%200l4%202%201%201c-1%201%203%204%204%204%201-1-3-6-9-9l-5-3%206%201%206-1c-1-2%206-2%2012-1l-1-1-3-2h4c5-1%206-2%203-3-2%200-2%200-1-4l2-4%201-1%204-2%203-1%205-2%203-1h-11c-5%202-8%206-8%2011-1%205-3%207-10%208l-5%201c-3%202-3%201%200-2%202-2%203-3%202-4l-1%201-1%201-2%201h-1l-1-2-1%202v1c-2-1-2-3%201-4l7-5c6-5%206-6%204-7-2-3-7%200-4%203v2l-1-1c-1-1-2-2-4-1l-1-1v-1l-2%201c-1%201%200%202%201%201l1%201-3%201h-1l-1%203c-2%202-5%200-3-3v-1c-1%200-2%200-1%201%201%202-5%201-7-1v-2l-1-2c-2%200-2-1-1-2s2-2%203-1l2%201h3v1c-2%203%200%202%204-1l2-3-1-1%201-1c3%200%206-4%205-6h1l4%201c2-1%203-1%202%201l-1%201c-2%200-9%207-9%209l3%201c3%200%203-1%203-3s6-7%208-7v-3l-2-4c-1-2-1-3-2-2-2%200-2%200%200%201%201%201%200%202-5%201-5%200-6%200-5%201v2l-2%201c1%201-1%203-4%203l-3%201h-1l-5%202c-4%203-5%205-3%205l-1%201h-4l-1-1c-1-1-1-1-2%202l-2%201%201-3v-3l1-3c3-2%205-3%204-1-1%201%201%202%204%201%203-2%204-5%201-5l-1%202c1%201%200%201-1%201-3%200-3%200-1-1v-2c-2%200-2%200%200-1h6v2c-1%202%203%202%206%201%204-2%203-5-1-4-4%200-4%200%201-1l9-2%204-1v-1l1-2h-2l-3%201-3%201h-3v-2c-1-2-1-2-2%200l-1%201c0-1-1-1-2%201l-2%202c-2%200-1-4%200-6l1-2%202-1%202-1%201-2c1%201%203-1%204-3l5-4c4-1%203-3-1-3-2%200-3%201-3%202m30%2019c0%203-3%205-6%204v1c2%202%200%206-4%206h-2c0-1-1-1-4%201-3%201-4%202-1%202%201-1%203%200%205%202%203%203%203%203%202%205l-2%204-1%203v1l-1%201v1c1%202%203%200%203-4l2-5%202-6%201-4c1-1%201-1%201%202-1%203-1%203%202-1%202-5%206-8%207-6h3l-1-1c0-1%205-2%2013-2h7l-5-1c-9-2-20%201-24%206l-2%201%203-4%203-6c-1-2-1-2-1%200m140%204l-6%201h10l-7%201a468%20468%200%2000-12%203v2l-2%202h-1l-2-2-2-1c-2%200-2%200%200%201h-1c-3%200-3%200-2%201s1%201-1%201l-5%202h-4v2l1%203c0%201%200%202%202%202%203%200%209-2%209-4l2-2%202-1c1-1%201-1%201%201l-2%201-1%201c0%202%208%200%2011-2l2-2h-4l3-2v-1c-2-1%201-3%205-2l3%201h-3c-5%200-3%202%202%202%203%200%204%200%203-1%200-1%201-3%204-5%202-1%203-3%202-3l-7%201m6%204c-3%202%200%205%203%203l6-1%203%201h-4l-3%201c-1%201%201%201%206%201v1c-2%202-2%202%200%203h3c1-1%202-1%203%201l5%202-1%201h-7l2%201%202%202%204%201%203%201%201%201%201-1v-2l1%201v2l-2%201c-2%200-2%200-1%201l5%201%206%202%204%204c1%201%201%201-3%201-6%200-7%201-6%204%200%203%200%203%203%202%205-2%207-3%207-5%200-1%203%202%205%206%201%203%202%203%202%201%201-1%201-1%201%201l-1%202v2c0%202%200%202-2%202s-2%200%200%201c3%201%203%201%201%202v1c2%200%202%203%200%203v-1l-3-1c-3%200-4%202-2%203v1c-1%200-2-1-2-3v-3l-5%203-6%202c-2%200-2%201%201%201s4%201%202%202h4l6%201c4%203%2011-5%2011-12%200-3%201-4%202-3s2%200%202-1l-4-2c-3%200-3%200-1-1%202%200%203-1%202-2l-1-2v2h-1c-2-2-2-2-3-1-2%202-2%202-3-1v-4l1%201v1l2-1-1-1-1-1%204-1h3v-2l2-1%202-1%201-3%201-1h2v-4l-2-1c-1-1-1%200-1%201%201%203%200%203-3%204-4%201-5%201-1-2%205-3%204-6-1-6-1%200-2%201-1%202l-1%202-1-2-1-1-1%202-1%201-4%203-1%202h1c0%202%201%201%203%200%201-2%202-2%204%200v2l-2%203-1-1-1-2-1%202c0%203-2%205-2%203l-2-2c-2-1-2-2-1-5l-1-3c-1%200-2%200-1-1l-1-1h-2l2-1h9l-4-1-8%201h-6%201v-4c-1-1-5-3-5-1%201%201%200%201-2%201s-2%200-2-2v-1l-1-1-1-1-2-3c-2-3-6-4-8-2h-9m-238%203v4l-1%201c-3-1-6%200-5%201h6l-1%209v3l1-3c2-2%203-2%203%202%200%202-2%203-4%201h-1v3h8l2%201c2-1%201-2-1-3-3-1-3-4%200-8v-4l-2%202c-1%204-3%204-3%200l-1-11-1%202m306%205l-4%201%201%201%201%201%205%201c6%200%207%202%201%202h-5l4%201h5l3-1c2%200%202%200%201%201-2%201-2%201%200%201h4l2%201%206%201v-2c1-1%200-2-3-3l-3-1h-2l1-1h-2c-3%200-3%200-1-1h-1c-3%200-3%200-2-1v-1l-3%202-3%201c-2%200-2%200%200-1l1-1c-1-2-1-2-6-1m20%2026h-8c-6%200-8%200-7%201l-2%201c-1-1-3%200-6%204l-5%203c0-2%200-2-3%200-2%201-3%202-3%204s0%202%202%201c3-3%203-2%200%202l-3%206c0%203%200%206%201%205v-3c0-2%200-2%201-1%201%202%203%203%203%201l9-11%209-9h18c2%200%202%200%201-2l-3-1-3-1h-1m-127%202l-4%202-1%202c0%202%200%202-1%201l-1%201h-3c-4-3-15-2-22%201h-3l-1%201-1%203c-3%204-4%2011-2%2015v3l2%201h3l-2-3c-4-8%203-20%2013-20l2-1h6l5%203%201%201%203%202%203%204v-4l1-3v3l4-2c6-3%206-3%201-3h-2l3-3v-2l-1-2h-3m128%2014h-1c-3-1-21%2020-21%2023%200%202%200%202%201%201h1v4c1%203%201%203%203%201l2-3c-1-1%205-9%209-13l3-1%201%201%201-2-1-1c-1%201-1%200%200%200l-1-2c-2%200-3-2-3-3%201-1%202%200%203%201l2%202%203-2c2-2%204-2%2011-2l9-1%202%201c2%201%202%201%202-1l-1-2h-1l-2-1v1c0%202-1%201-3-1h-19m2%2019l-1%202-1%201h-2l-2%201c-1%200-1%201%201%202%207%205%209%2015%204%2022l-1%203%203-1%203-5c3-5%202-11-1-17-2-3-2-5%201-5l-2-5-2%202m-70%201l-2%201-2%201%201%201h1l-1%201-1%201c0%202%201%202%202%201h2l6%201h7v-8l-13%201m15%201v4l1%202%204%201h8c5%201%205%201%205-2l1-2v2c0%203%200%203%202%202l2%201c-1%201%200%201%201%201%202%200%203%200%203-2%200-4-1-6-3-6s-3%204-1%204c1%201%200%201-1%201-2%200-2%200-2-2%201-3%201-3-5-4l-7-1%201%203c0%202%200%203-1%202-3-6-6-8-8-4m-150%204l-7%207c-2%202-3%203-4%2011v9l-1-7v-8l-5%202-10%204c-3%200-3%200-3%205v4h5c5%200%205%200%204-3l1-3c1-1%201%200%201%202%200%201%200%202%201%201l2-1v-3c0-3%200-3%201-2s2%203%201%205c0%204%200%204%202%204%203%200%203%200%203-7s1-8%202-1c0%205%201%208%203%208%203%200%204-2%204-6%200-2%200-3-1-2h-3l-1-3v-3c0-2-1-2-2-2h-1c0-2%203-2%205%201l3%202c1%200%202-4%202-9l1-4%201%202v2c1%201%201%200%201-4v-5l-5%204m178%203c0%203%200%204%202%204s2%200%201%201%200%2011%201%2012v6l4%201c5%200%205-2%203-7l-2-4-3-8-4-7-1-1c-1-1-1%200-1%203m18-2c0%201%200%202-2%201-2%200-2%200%200%202%202%201%203%203%202%203l-3-1c-2-3-3-3-3-2l-3%202c-2%201-2%201%201%201%202%200%207%203%206%205l-2-2c-2-2-6-3-6-1l2%201c2%200%205%204%205%206h-3l1%201v1c-4%200-1%204%203%205%203%201%207-1%207-4h1c1%201%201%201%201-2%200-5-1-7-5-11l-1-3c2%200%202%200%201-1l-2-1m-116%202l-2%201-2%203%201%202%201%201c1%201-1%202-2%200v1h-1l-1%203v2l2-2c4-3%205-2%201%202l-2%203h2l2-1c2-1%202-1%202%201v2h1l1-1c1%201%203-3%204-6%200-3-3-6-5-4h-1l2-2c2-2%202-6%200-4l-1-1v-1l-2%201m56%207c0%203%200%203-1%201-2-3-5-4-6-2h-8c-2%200-2%203-1%205h8v-1l2%201%202%201%201-1v-1l1%201%204%201h5l-5%201-4%201h10l1-1%201%201c-1%201%200%201%201%201%202%200%203-4%202-6v-2c2-1%200-2-7-3h-7l1%203m17-1c-2%200-2%201-2%204s0%203%203%203h19l2-1%201%201%201%201c2%201%202%200%202-4s0-4-3-4h-3l-7-1-8%201h-5m0%2013l-1%203c0%202%200%202%209%202%208%200%209%200%209-2h1l1%202%201-2h1c2%203%206%203%206%200%200-2%200-2-3-2h-3l-8-1h-13M44%20309v9h4c6%200%209-6%205-11-1-2-2-2-4-2-3%201-3%201-3-2l-1-2-1%208m66-5c0%202%200%202-2%201-4%200-6%202-6%206%200%205%201%206%206%207h4v-9l-1-8-1%203m-20%202c-4%203-1%2012%204%2012%203%200%205-3%205-6%200-4-2-7-5-7l-4%201m47%200c-5%204-1%2014%204%2011h2c0%202-3%203-5%203-1-1-2%200-2%201h7c2-1%202-2%202-8v-8h-3l-5%201m32%200c-4%202-3%2010%201%2011%203%201%206%200%207-3%203-6-3-11-8-8M53%20331c-3%202-2%207%200%209%204%204%209%201%209-5%200-5-6-8-9-4m60-1c-1%201%200%2016%202%2016l1-2c0-2%200-3%202-2%205%201%208-8%204-11-1-2-7-2-9-1m21%200c-2%201-1%202%202%202%204-1%205%202%201%202-8%201-6%208%201%207h5l-1-4-1-6c-1-2-6-3-7-1m52%201c-3%203-2%207%200%209%204%204%209%201%209-5%200-5-6-8-9-4m7%2033c-2%204-2%206%201%205l2%201c-1%201%200%201%201%201l3%201%201%201%204-9-2%202c-1%203-4%206-4%204%200-3%202-7%203-6h1l-1-3-1-1-2%201h-1c-2-2-4-1-5%203m15-3v5l1%203h1l8%204%206-12h-16m25%201v6c0%204%200%206-2%208l-2%203%203%201c5%202%206%201%207-2l3-5c2-1%202-1-1-3l-1-1%202-1h-1l-1-1%202-1%201%202%202%201%201%203v1l2-5v-1l-2%201%201-3%202-3c-1-2-5-3-7-1h-1c0-1-7-1-8%201m-130%204l1%207c1%202%204%203%204%200l1-1c1%201%204-3%203-5h1c1%201%201%201%201-1%201-4%201-5-5-5h-6v5m268%200c-2%2010-2%2011%203%2011h4l2-8c1-8%201-9-2-7h-3c-1-3-3-1-4%204m17%201c-3%2010-3%2010%201%2011%205%201%205%201%207-8%201-7%201-10-1-7h-3c-2-1-2-1-4%204m-270%200l-1%204%202%202c1%202%200%202-2%200l-2-2-2%203-1%203%201%203c-1%202-1%202%204%202l5%201-1-6-1-10-1-3-1%203m163-3l1%203v2l-2-1v-1l-1%201-3%201c-1%200-1%201%201%205%203%206%202%206%207%203%203-2%203-2%203-5v-5c-1-3-2-2-2%200%201%202%201%202-1%200l-3-3m-33%208c-3%208-3%2015%201%2015v1c-1%201-1%201%201%201%203%200%205-16%202-19l-2-3-2%205m-40%203l1%202v1l-3%205c-1%207-1%208%201%207%201%200%203%200%204%202%202%202%202%202%204-5%201-6%201-7-2-7l-2-1v-1l1-2c1-1%201-1%201%201s3%203%203%201h1l1%201c0-2-1-4-5-5s-4-1-5%201m95%200v2c0%203-2%202-2%200-1-2-1-2-2-1l-2%201-1%202%201%202v1c-1%203-1%207%201%208%201%201%202%202%201%203h5v-1l2-3v-7c-1-5-3-9-3-7m-61%202v1c-2-1-5%206-4%208h2c1-1%201-1%201%201-2%207-2%2010-1%209h5l3-1-2-7c-1-6-2-7-3-4l-2%201%202-5c1-3%202-4%200-4-1-1-1-1-1%201m-53%203c-1%206-1%208%201%207s4%200%204%201h-2l-3%202c-2%203-3%205-1%204h1c0%202%202%201%202-1l1-2v2l1%202%201-4%201-2%202-6c0-5%200-5-2-6-5-2-6-1-6%203m38%204v3c-2-2-6%209-5%2010h4c3%203%203%202%206-3l2-5h-2c-2%200-2%200-1-1h2l1-2v-3h-4l-1-1-1-1-1%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAEmElEQVQ4y1VUyVJbRxR962wczCiQ3pPQjOZ5RhIakBAzSBgJgREYIcBikAQC7MgOgyHBMa7YVGWXdSqbLLJL5QfyM/mDk9uNy1VZnLr9um+fPud23ycYrQ7oLTaoDCNQaA0wOdwwOz1QaPSQqbQYHNZCa7bSWIOnQxJ6FEoo9SMIRuOIJVIYS6Vhc/v4HhaFYSISiah7SMS3Mjl0RG6gQ3pp4xOZApF4HOWVZSTH0+gVhzmpjA5hOSN2J4xWOxiHzmSBpDNA0BhNfLNMpUaPXIKeEiRSMKBUQ0mJE5M5HNRrWC0XSYEHXYMiX+sTVeiTVDQeRp9CQr+ohKTVQYglxmBxOUmdAv202C+pudUehYrspLBT28L5SYvHAaUG3XIlt90rfiGj2E94OiSHTKmCkJuaRiY3wa2wJLahX3q0NqTWY6Oyjv29HZTLJX4IQ580zHMYGXPVR+oGSK1Co4UwPTNLtqY4GSNhhKxWbCOLNk8A/kicoo+r72aENP94OBOh5KQyUisyQpvHj9m5GbKr5iTdchW6iLhrUIKRih6OJ+ENx+H0B/ll9BEpB78gkfIfwQjlag0EdluxROKLFTVXpTXbeHQHQ4RRmJxeGGzOr5Yf8aise0jBa8fs9osSKaS3E4iMQtQZ8U3PIKKJJLarm/CGwoglk7C4AwQ/tPScsrks2Y/wy5FrdHgyMIQu2SMYca9ChKCzOGB1e7nKwtIiOucNHO7XsLmximgyDZPLT9bdqG6t4vK7JvL5OSwszqFYLCASi8LidMIT8MPqcqGHSIVAJIbgaJTe2TI+3L7CD5dtNA5qGEtTB3hDMDp8RJzASXMHL3e36MZf4Ki+hcbhNr2AVezWNjnW1koIR0chRGIJpLNTVPgo2YnCRzEUT3EybzhGVl1czUG9SqVYx49XZ9gkonQmiYX8PAqFPD7cnOL99TFet/fIstkOhzeAYaMFzL6FLFqpbg5fGGqTgw4YRa1aoc0LWH9exvr6Gu9bu8eD6os1mluhUhzitLmLJSqZoDSaobFQuxlMkGgsGswUiZxuNZEdx/Z2BWftA5wc17G7Ryp3NlGvV7BdW8XNRRMXnUNcf9/AEZUgOZGD8EzvQXHEh5LJj6LBi6LRh2XCljuKNxNzaMVzeJ2dw3l6Bs3oBFqxLC4nF3CWnMTF5DzP6WRnUQ8msWEPQ2gbQrjPlfCQ38RtfA53qQI+L1bwgeZukou4yzzD/cwaOt4MjpQuNNU+HEguHKk8OFS5OdiYzZ9o/RCa+gDuJkt4P1PGbWYJH/MbuEos4HNpG3e5Iq0Vcb9QwbtUHiy3ofP/L7YMga/fDMK+3o9jexzn3jSa1iiPnWAWp95xnHpSaNFaJzSBt4SWOYyWKYyGMchjcySEIyLk37R2TBB01CF6go3azWKyYiqTwWqhgE/Xp/j7t0/49f4NTujt/fSmiZ+v23h7vIc2vcPLdh371eeYzGSxu1HBycsqLmhOsLjc9FO1QaHTw+71YXp+Bmn6+/z5+wPw7z/4649fcPm2gY9357i9aqHz6gDvLo7xcN+h2KSu2kKpvIK93Q28vznDf5e/wz3AsfWnAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/28367da37f22653339247c8453094207/502b1/vibedkotlin.png","srcSet":"/static/28367da37f22653339247c8453094207/f2e6d/vibedkotlin.png 114w,\n/static/28367da37f22653339247c8453094207/4ddba/vibedkotlin.png 229w,\n/static/28367da37f22653339247c8453094207/502b1/vibedkotlin.png 457w,\n/static/28367da37f22653339247c8453094207/7ddc2/vibedkotlin.png 686w,\n/static/28367da37f22653339247c8453094207/435bf/vibedkotlin.png 914w,\n/static/28367da37f22653339247c8453094207/6050d/vibedkotlin.png 1200w","srcWebp":"/static/28367da37f22653339247c8453094207/15384/vibedkotlin.webp","srcSetWebp":"/static/28367da37f22653339247c8453094207/31fce/vibedkotlin.webp 114w,\n/static/28367da37f22653339247c8453094207/e3e25/vibedkotlin.webp 229w,\n/static/28367da37f22653339247c8453094207/15384/vibedkotlin.webp 457w,\n/static/28367da37f22653339247c8453094207/0258d/vibedkotlin.webp 686w,\n/static/28367da37f22653339247c8453094207/64ea2/vibedkotlin.webp 914w,\n/static/28367da37f22653339247c8453094207/9000d/vibedkotlin.webp 1200w","sizes":"(max-width: 457px) 100vw, 457px","tracedSVG":"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%20preserveAspectRatio='none'%3e%3cpath%20d='M0%2033c0%2023%200%2032%201%2031l2-1-1%202-2%202h10c-2%201-2%201%200%201s3%200%202%201h10c8%201%208%202-1%202l-7-1%205%202c4%201%207%202%2010%201%202%200%203%200%202%201l-4%201c-1%200-2%200-1%201l4%201h1l-1%202%201%201-31%205%201%2018v1l-1%203c0%202%200%203%201%202v1l-1%204%201%203v2l-1%2020v20l5%201%204%202-4-1-4-1v22l-1%2020v20l4%201%204%202c0%201-2%203-4%202l-1%202-1-1c-2-1-2%209-2%2085v87h40a288%20288%200%200045-1h24l2-1c0%201%202%202%206%202%207%200%207%200%207-2s0-2%201%200l1%203%201-3v-3c-1%201-1%200-2-3l-2-10-1-7h3l3-1h-3c-6%200-4-3%202-3%204%200%205%200%206-2%200-1%201-1%201%201%201%202%201%201%201-3l1-6v5l6-1h3c-1%200-1-1%201-2%202-3%206%200%204%202%200%202%200%202%202%202l4%201%202-1h-1l-1-2h-1l-2%201c-1-1%202-6%203-5l1%201c-1%201%204%203%206%203s3%200%202%202c0%203%207%204%209%202s2-2%205-1c2%201%202%202%202%207l-1%207c-1%202%200%204%201%207%201%205%201%206-3%207l-5%202c-2%201-2%201-2-3v-4l-1%203v5c0%202%208%201%2010-1h3c0%203%202%202%202%200%201-3%201-3%208-2h3l1-3%203-2c2-2%204-1%203%203v3l2-3c3-3%203-3%203-1h1c0-1%201-1%202%201%202%203%207%204%207%201%200-2%200-2-2-1v-7l3-5c2-1%203%201%200%207v4c1-1%201%200%201%201l-1%202v2l3%201h4l2%201c2%200%203-1%205-5%202-5%203-6%204-5v5l-2%202c0-1-2%200-2%202h8c2-2%206-3%207-1%200%202%201%202%203%201h2l1%201v-1l1-2%202-2h-1v-9c0-3%201-3%204-3%204%200%204%200%203%206l-1%204h-5l1%201h2c1%200%201%201-1%201-1%201-1%201%201%201l3%202c0%203%202%203%202%200-1-5%200-11%201-10v12h3c3%200%204-1%204-2%201-2%201-2-1-2l-1%202v1l-1-2v-1c2%200%201-1-1-6-3-5-4-6-2-6%201%201%201%200%200%200l2-2%204%202h3v3l-1%201h2l4-1c1%201%202%201%202-2-1-4%203-6%204-3%200%202%200%202%201%201%201-2%201-2%203%201s2%203%202%201l-3-10-2-5c1-1%206%2011%207%2015l1%205v3l-2-4-1-2v2c0%204-3%206-6%204h-1l-1-2c-1-2-1-1-1%204s0%205%201%202%205-3%205%200c0%202%201%203%202%201v-1c-2-1-1-2%202-2h1c-3%202-2%202%204%200l7-1c1%201%201%200%201-1%200-3%201-5%202-3s4%201%204%200l2-2h3l-3-1h-2l2-2%202-1v2l3%202h-1l-2%201%203%201c3-1%207%202%205%203l1%201h1c-1%200%200%202%202%203%203%202%204%202%202-1-2-2-3-3-2-4l1%201c0%202%205%201%207-1%201-2%200-2-1-1h-4v-1l-1-2-2-3h6l4%205c5%205%207%208%205%208v1l2%201c2%200%202%200%201-3l-3-4v-3l1-3c0-2%200-3%202-3s2%201%202%204c0%209%201%2012%204%2012s3%200%202-3l-1-4-1-1c-2-1-2-2-2-4v-5c-1-1-1-1%201-1v-1l-3-2-2-1h-1l-5%201c-4%200-2%201%204%202l4%202h-3l-3%201v5c-2%202-6-6-7-14l-1-9%205-1c4%200%205%200%204%201-2%201-2%201%200%201h4c1%201%2013%203%2014%202l2%201h2c2%200%202%200%201%202l-5%201c-3-1-4-1-4%201-1%201-1%202-2%201-2%200-2%200-2%202l2%202c2%200%203%202%201%202v2l1%206c-1%200-2%208-1%2010l7%201h7v-6c0-6%200-6%202-6l4-1c2%200%202%201%202%206l1%207%201-7v-5c1%202%202%202%202%201v5c0%205%200%206%201%205l1-1%201%202%201-5v-6h8v6l1%206v-6c0-5%200-6%202-6h2c1%201%201%200%201-1l-1-3-1%201-2%201c-3%200-3-6%200-7v6c1%200%202-3%201-4l1-1%201%202a2935%202935%200%20000-150c-1%201-1%201-4-1l-2-1c1%203%201%202-2%200-2-2-4-3-5-2h-11l-9%201%201%201v2c-2%201-4%201-6-1l-3-1%202%203c2%201%202%201%200%203v2c1%200%201%201-1%202l-3%201v1l-1%201c-1-1-5%203-5%206%200%202%200%202-1%201l-2-3c0-2%200-2-1-1-1%202-2%201-1-2l2-2%203-1-1-1c-4%202-2-1%205-7%2010-10%2011-10%2020-10%206%201%208%200%208-1v-5l5-1%206%202-3%201c-2-1-2-1%200%201h-2l-4%201%203%201%202%202%202%201v1c-2%201-2%201%201%201l5%202c2%202%203%201%203-2%200-1%200-2-1-1%200%201-9-1-9-3h6l1-1c2%200%203-2%203-5%200-2%200-2-1-1l-1%201v-1c1-2%200-2-3-1l-5-1h2l5-1a6310%206310%200%20003-106V0h-56c-50%200-57%200-57%202l2%201v4c-2%201-2%200-2-1%200-2%200-2-1%200-1%203-2%200-1-3V0H0v33m193-20v1l-1%201v1l2%202c2%201%202%201%201%202-2%201-4-1-4-3%200-8-6%2019-7%2030-1%2018-6%205-6-17%200-9-1-13-5-13-2%200-2%200-1%203%200%202%200%202-1%201-2%200-2%201-2%207a1029%201029%200%20000%2041c2%200%204%205%203%206l-1-1-2-3v1l-1%203-1%203-2%203c-3%202-3%201-1-2l1-3h-2l-1-1-2-1c0-1%201-2%202-1l-1-2-4-7c-5-9-12-12-15-8-1%201-1%201%201%201%201-1%203%200%205%202s2%202%201%203c-2%201-2%202-1%202v1l-1%202c0%202%200%202%202%201%201-2%202-1%202%202l1%201v3c-1%201-1%202%201%204s3%203%203%201l2-1h5l-3%202-2%202h-2c0%202%202%205%204%205l6%203c4%204%206%204%2015%204l6-1%201-1%201%201c0%202%2011%204%2013%203l6-4c2%200%201%203-2%204-2%201-2%202-1%203%202%201%202%201%205-2s3-3%203-1l-1%203c-2%201-2%203-1%203%202%200%204-6%204-12l5-28v-3c-2%201-6-2-5-4l1-1%201%201h1v1c-1%201-1%201%201%201l4-2%203-8c3-8%204-8%201-10-1-2-4-2-4%200l1%201c1-1%201%200%201%201h-1c-2-1-3%200-9%2013-6%2011-6%2011-8%209v-8c3-15%204-31%203-33-2-2-5-1-5%201s1%203%202%203c2%201%202%201%200%201l-3-1-1%201c-1%202-1%203%201%204%202%202%202%204-1%205-1%201-1%200-1-1%201-9-3%208-5%2018%200%207-1%208-3%206l3-33V14c-1-2-4-3-4-1M1%2076v7h4a966%20966%200%200121-4l-4-2-5-3c-3%200-3%200-2-1h-1c-3%200-3%200-2-1s1-1-2-2a82%2082%200%2001-9-2v8m26%207c-1%203%200%205%202%205l5%201c2%202%203%2019%203%2040l1%2018v-43c-1-13-2-17-5-18-2%200-2%200%200-1s2-1-1-1h-4l-1-1m183%2072v6l-1%206-2%208-7%2021v4l-1%201c-2%201-3%204-5%2010l-3%209-1%204c0%205-9%2027-12%2028-2%201-1%2017%200%2017v1l-1%202c1%203%200%205-1%205-2-1-3%201-3%206v3h9c8%200%209%200%209-2h1c0%203%206%203%206%200%201-2%204-2%2012%201l10%201c5%200%206-1%206-3%200-3%200-3-1-2l-1%201v-3c1-3%203%200%203%204%200%203%200%203%203%203s4-3%202-12l1-4c1-1%203-13%202-14l-1%201-1%201-7%201-12%201h-6l4%201c2%200%202%200%201%201l-1%2011c1%200%202-3%202-9l1-2h2c2%200%202%201%201%203l-1%204c0%204-2%205-8%205l-6%201h-2l-2-2h6c5%200%206-1%206-7%200-2%200-3-8-4a176%20176%200%2000-15-1c-1%201-1%201-1-1l-1-3c-3-1-3%203-2%208%201%203%201%203%204%203l4%201%204%202h-2c-11-1-13-1-12-7%200-8%201-9%203-9l6%202c3%200%203%200%201-1l-4-3-2-1c-1%200-1-1%201-2h-1l-4%201-1-1%205-2c2%200%203-1%203-2l2-3c1-1%201-1%201%203%200%203%200%204%202%204s3%200%202-3l1-3%201%201%203%201%204%201-1-5-1-7%201-3-2-1c-1%200-2%202-2%205l-1%204v-4c0-3%200-4-2-4l-4-1c-1-1-1-1%202-1l7-1-3-1-5-2c-3-3-3-3-1-4%201-1%202-2%201-4%200-3%200-3%202-2%204%203%206%206%205%206l-1-1-2-1%203%205c5%204%205%204%207%202l1-2%201-1%201-2c-1-4-8-11-9-9h-1c0-1-2-1-4%201-2%201-2%201-1-1l2-2v-1c-1-1-1-1%201-1%203%200%205-1%204-2l1-1h2l-4-2c-5%200-5-1%200-1%204%200%205-1%207-3l3-2h-5c-6%200-7%200-5-2l2-3h1c2%203%2011%203%2011%201s-1-2-4-2l-6-1h4l7-1c-1-1%200-1%201-1%202%200%203%200%202%202%200%202%204%205%206%203l1%201c-1%203%201%202%203%200l2-2-1%203c0%204-1%205-4%205l-1%203v2l-1-3-1-2-1-1c1-1%200-2-1-2l-1%203c1%203%201%203-1%201-2-1-2-1-4%201l-4%202c-1%201-1%201%201%202%204%201%204%202%201%201h-2l2%202c2%202%202%202%203%201h2c2%202%202%202%204%201l2-2h3c2%200%203%201%202%202l1%203c2%201%202%201%201%203-1%201%201%204%203%204l6-3%201-2c0-2-1-2-4-2-5%200-6-1-4-3l1-2v-1h2c2%200%206%205%206%208%200%202%200%202%202%202l7-1c-2%203%200%205%204%205%204-1%2010-6%2010-10v-3l2%203%202%204-1%202-1%203v1c-1%200%200%205%202%206s2%201%200%203-3%203-3%200l-3-4-3-2h1l1-1c0-2-2-2-4%201l-5%204-3%201-6%206%201-2h-1l-1%202-1%206-1%203c0-3-2-3-7%200s-6%204-3%201l2-7%201-4v4c0%204%200%204%201%202%203-3%203-7%201-8l-3-1-2-2c-1-2-1-2-3-2h-6c-2%200-5%203-3%203l-3%204c-4%204-4%2010-1%2012l1%202h1v1c0%201%202%201%207-1%205-1%207-1%203%201l-3%201c0%202%206%201%206%200l2%201%202%201v-1c-1%200-2-3%200-5%201-1%201-1%202%201%202%203%206%205%207%205l-1-3v-4c1-1%202-2%201-3h1c1%200%202%201%201%202h1c2-1%202-1%202%201s0%202%201%201c2-2%204-3%203-1v1c3%200%202-1-1-3l-1-3h1l2%201%202%202c1%202%203%201%202-1l-1-1-1-2%202-2c2%200%202%200%202%203v2h2v1c-1%201-1%201%200%200l2%202%201%202%201%202-1%201h-1v1l1%201h-1c-2%200-3%203-3%207v2l1-2c1-2%201-2%201%200l-1%203-1%201c-1-1-3%201-3%203h2c1-2%201%202-1%205-1%203%203%205%2011%207l11%203c2%201%202%201%203-1l1-1%206%201v-2h2c1-1%200-5-1-5h-4l-25-6%202-10a2147%202147%200%200012-38l27%204-4%2014-4%2014%204-1c4%200%204%200%202-2-1-2-1-2%201-8a82%2082%200%20005-25l1%205c0%202%200%203%201%202h1l1-3%201-1-2-3c-2-3-3-3-5-2-3%201-15-1-14-2l-1-1c-3%201-7%200-6-1l-1-1c-1%200-2-1-1-2l-2-1-1%202c0%202-2%205-4%205s-3-8-2-10v-3h-1l-5%201c-3%200-3%200-3%203%201%202%201%203-1%203l-3%201c-1%201-1%201%202%201l-2%201h-2c2-2-6-4-8-1-2%202-3%201-3-1%201-4-2-9-4-6l-2%202-1%203-2%201-3-2c-1%200-2-1-1-3%202-7%203-10%202-11-7-6-7-7-5-9h3c1%202%204-2%204-6v-3c4%201%206%200%206-2s0-2-4-1l-5%203c-1%201-1%201-2-1v-4l3-1h2v-1h1l1-1%201-1%202-1c2-1%201-1-2-1-4%200-5%200-3%201%201%201%201%201-2%201l-3%201-1%202v2l-1%201c-1%200-2%200-1-1h-3l-2%207c0%201%200%202%202%202%204%200%205%201%203%203-2%201-2%201-5-1l-3-2c-1%201-1%200-1-1v-3c-1%200-2%206-1%207l-1%201h-1c1%201-1%202-6%202-5%201-9-2-5-2v-1c-2%200-2-1-1-3%202-4%206-29%205-29l-2%204m-101%202l-2%201c-2-1-6%204-6%206l-1%201c-1%200-6%208-5%209v3h-3c0-1-1-2-2-1l-1%202c1%201%200%202-1%202-4%201-4%201-4-1l-2%202c-3%204-3%205%200%203%201-1%201-1%201%201l-1%203-2%201-2-1%201-2h-1l-3%201-2%201-2%201c-3%200-2%201%202%201s4%201%200%205l-3%204h-1c-1-2-4%201-2%203l-1%201c-1-1-1-1%200%200l-1%201c-1-1-1-1%200%200l-1%201v1h-1l-4%202c-3%202-3%202-1%202%202-1%203%200%203%201l4%201%204%201h-9l-3-1-4-1-6-1-8%202%206%204%203%201c2%200%203-2%200-3-1%200%200-2%203-2v1h1l2%201c-1%201%200%201%201%201v1c-2%202-1%203%201%202h3c1-2%203-1%201%201l-1%203c1%201%202%200%203-1%203-4%206-4%206%200l1%207%201-5c0-4%200-5%202-4l2%201h1l1%201v1l2%201h2v2h1l2-1h1l2-1c1%200%202%200%201-1l-3-1c-2%201-4%200-7-2l-5-2c-2%200-2%200%200-1h9l5-1c2%200%201-2-3-4l-3-4h2c-1%202%202%202%203%200s1-2%202-1c1%202%202%202%202%201l1-1h3l-1%202v2l-1%202c-4%203%204%203%208%201l5-1%203-1h1l2%202c1%201%200%201-2%201h-3l-3%201c-4%200-7%201-7%202h6c-3%200-3%200-2%201v2h4c2%200%202%201%201%202v1l2-1h2v-2c-3-3-2-3%202%200l4%202%201%201c-1%201%203%204%204%204%201-1-3-6-9-9l-5-3%206%201%206-1c-1-2%206-2%2012-1l-1-1-3-2h4c5-1%206-2%203-3-2%200-2%200-1-4l2-4%201-1%204-2%203-1%205-2%203-1h-11c-5%202-8%206-8%2011-1%205-3%207-10%208l-5%201c-3%202-3%201%200-2%202-2%203-3%202-4l-1%201-1%201-2%201h-1l-1-2-1%202v1c-2-1-2-3%201-4l7-5c6-5%206-6%204-7-2-3-7%200-4%203v2l-1-1c-1-1-2-2-4-1l-1-1v-1l-2%201c-1%201%200%202%201%201l1%201-3%201h-1l-1%203c-2%202-5%200-3-3v-1c-1%200-2%200-1%201%201%202-5%201-7-1v-2l-1-2c-2%200-2-1-1-2s2-2%203-1l2%201h3v1c-2%203%200%202%204-1l2-3-1-1%201-1c3%200%206-4%205-6h1l4%201c2-1%203-1%202%201l-1%201c-2%200-9%207-9%209l3%201c3%200%203-1%203-3s6-7%208-7v-3l-2-4c-1-2-1-3-2-2-2%200-2%200%200%201%201%201%200%202-5%201-5%200-6%200-5%201v2l-2%201c1%201-1%203-4%203l-3%201h-1l-5%202c-4%203-5%205-3%205l-1%201h-4l-1-1c-1-1-1-1-2%202l-2%201%201-3v-3l1-3c3-2%205-3%204-1-1%201%201%202%204%201%203-2%204-5%201-5l-1%202c1%201%200%201-1%201-3%200-3%200-1-1v-2c-2%200-2%200%200-1h6v2c-1%202%203%202%206%201%204-2%203-5-1-4-4%200-4%200%201-1l9-2%204-1v-1l1-2h-2l-3%201-3%201h-3v-2c-1-2-1-2-2%200l-1%201c0-1-1-1-2%201l-2%202c-2%200-1-4%200-6l1-2%202-1%202-1%201-2c1%201%203-1%204-3l5-4c4-1%203-3-1-3-2%200-3%201-3%202m30%2019c0%203-3%205-6%204v1c2%202%200%206-4%206h-2c0-1-1-1-4%201-3%201-4%202-1%202%201-1%203%200%205%202%203%203%203%203%202%205l-2%204-1%203v1l-1%201v1c1%202%203%200%203-4l2-5%202-6%201-4c1-1%201-1%201%202-1%203-1%203%202-1%202-5%206-8%207-6h3l-1-1c0-1%205-2%2013-2h7l-5-1c-9-2-20%201-24%206l-2%201%203-4%203-6c-1-2-1-2-1%200m140%204l-6%201h10l-7%201a468%20468%200%2000-12%203v2l-2%202h-1l-2-2-2-1c-2%200-2%200%200%201h-1c-3%200-3%200-2%201s1%201-1%201l-5%202h-4v2l1%203c0%201%200%202%202%202%203%200%209-2%209-4l2-2%202-1c1-1%201-1%201%201l-2%201-1%201c0%202%208%200%2011-2l2-2h-4l3-2v-1c-2-1%201-3%205-2l3%201h-3c-5%200-3%202%202%202%203%200%204%200%203-1%200-1%201-3%204-5%202-1%203-3%202-3l-7%201m6%204c-3%202%200%205%203%203l6-1%203%201h-4l-3%201c-1%201%201%201%206%201v1c-2%202-2%202%200%203h3c1-1%202-1%203%201l5%202-1%201h-7l2%201%202%202%204%201%203%201%201%201%201-1v-2l1%201v2l-2%201c-2%200-2%200-1%201l5%201%206%202%204%204c1%201%201%201-3%201-6%200-7%201-6%204%200%203%200%203%203%202%205-2%207-3%207-5%200-1%203%202%205%206%201%203%202%203%202%201%201-1%201-1%201%201l-1%202v2c0%202%200%202-2%202s-2%200%200%201c3%201%203%201%201%202v1c2%200%202%203%200%203v-1l-3-1c-3%200-4%202-2%203v1c-1%200-2-1-2-3v-3l-5%203-6%202c-2%200-2%201%201%201s4%201%202%202h4l6%201c4%203%2011-5%2011-12%200-3%201-4%202-3s2%200%202-1l-4-2c-3%200-3%200-1-1%202%200%203-1%202-2l-1-2v2h-1c-2-2-2-2-3-1-2%202-2%202-3-1v-4l1%201v1l2-1-1-1-1-1%204-1h3v-2l2-1%202-1%201-3%201-1h2v-4l-2-1c-1-1-1%200-1%201%201%203%200%203-3%204-4%201-5%201-1-2%205-3%204-6-1-6-1%200-2%201-1%202l-1%202-1-2-1-1-1%202-1%201-4%203-1%202h1c0%202%201%201%203%200%201-2%202-2%204%200v2l-2%203-1-1-1-2-1%202c0%203-2%205-2%203l-2-2c-2-1-2-2-1-5l-1-3c-1%200-2%200-1-1l-1-1h-2l2-1h9l-4-1-8%201h-6%201v-4c-1-1-5-3-5-1%201%201%200%201-2%201s-2%200-2-2v-1l-1-1-1-1-2-3c-2-3-6-4-8-2h-9m-238%203v4l-1%201c-3-1-6%200-5%201h6l-1%209v3l1-3c2-2%203-2%203%202%200%202-2%203-4%201h-1v3h8l2%201c2-1%201-2-1-3-3-1-3-4%200-8v-4l-2%202c-1%204-3%204-3%200l-1-11-1%202m306%205l-4%201%201%201%201%201%205%201c6%200%207%202%201%202h-5l4%201h5l3-1c2%200%202%200%201%201-2%201-2%201%200%201h4l2%201%206%201v-2c1-1%200-2-3-3l-3-1h-2l1-1h-2c-3%200-3%200-1-1h-1c-3%200-3%200-2-1v-1l-3%202-3%201c-2%200-2%200%200-1l1-1c-1-2-1-2-6-1m20%2026h-8c-6%200-8%200-7%201l-2%201c-1-1-3%200-6%204l-5%203c0-2%200-2-3%200-2%201-3%202-3%204s0%202%202%201c3-3%203-2%200%202l-3%206c0%203%200%206%201%205v-3c0-2%200-2%201-1%201%202%203%203%203%201l9-11%209-9h18c2%200%202%200%201-2l-3-1-3-1h-1m-127%202l-4%202-1%202c0%202%200%202-1%201l-1%201h-3c-4-3-15-2-22%201h-3l-1%201-1%203c-3%204-4%2011-2%2015v3l2%201h3l-2-3c-4-8%203-20%2013-20l2-1h6l5%203%201%201%203%202%203%204v-4l1-3v3l4-2c6-3%206-3%201-3h-2l3-3v-2l-1-2h-3m128%2014h-1c-3-1-21%2020-21%2023%200%202%200%202%201%201h1v4c1%203%201%203%203%201l2-3c-1-1%205-9%209-13l3-1%201%201%201-2-1-1c-1%201-1%200%200%200l-1-2c-2%200-3-2-3-3%201-1%202%200%203%201l2%202%203-2c2-2%204-2%2011-2l9-1%202%201c2%201%202%201%202-1l-1-2h-1l-2-1v1c0%202-1%201-3-1h-19m2%2019l-1%202-1%201h-2l-2%201c-1%200-1%201%201%202%207%205%209%2015%204%2022l-1%203%203-1%203-5c3-5%202-11-1-17-2-3-2-5%201-5l-2-5-2%202m-70%201l-2%201-2%201%201%201h1l-1%201-1%201c0%202%201%202%202%201h2l6%201h7v-8l-13%201m15%201v4l1%202%204%201h8c5%201%205%201%205-2l1-2v2c0%203%200%203%202%202l2%201c-1%201%200%201%201%201%202%200%203%200%203-2%200-4-1-6-3-6s-3%204-1%204c1%201%200%201-1%201-2%200-2%200-2-2%201-3%201-3-5-4l-7-1%201%203c0%202%200%203-1%202-3-6-6-8-8-4m-150%204l-7%207c-2%202-3%203-4%2011v9l-1-7v-8l-5%202-10%204c-3%200-3%200-3%205v4h5c5%200%205%200%204-3l1-3c1-1%201%200%201%202%200%201%200%202%201%201l2-1v-3c0-3%200-3%201-2s2%203%201%205c0%204%200%204%202%204%203%200%203%200%203-7s1-8%202-1c0%205%201%208%203%208%203%200%204-2%204-6%200-2%200-3-1-2h-3l-1-3v-3c0-2-1-2-2-2h-1c0-2%203-2%205%201l3%202c1%200%202-4%202-9l1-4%201%202v2c1%201%201%200%201-4v-5l-5%204m178%203c0%203%200%204%202%204s2%200%201%201%200%2011%201%2012v6l4%201c5%200%205-2%203-7l-2-4-3-8-4-7-1-1c-1-1-1%200-1%203m18-2c0%201%200%202-2%201-2%200-2%200%200%202%202%201%203%203%202%203l-3-1c-2-3-3-3-3-2l-3%202c-2%201-2%201%201%201%202%200%207%203%206%205l-2-2c-2-2-6-3-6-1l2%201c2%200%205%204%205%206h-3l1%201v1c-4%200-1%204%203%205%203%201%207-1%207-4h1c1%201%201%201%201-2%200-5-1-7-5-11l-1-3c2%200%202%200%201-1l-2-1m-116%202l-2%201-2%203%201%202%201%201c1%201-1%202-2%200v1h-1l-1%203v2l2-2c4-3%205-2%201%202l-2%203h2l2-1c2-1%202-1%202%201v2h1l1-1c1%201%203-3%204-6%200-3-3-6-5-4h-1l2-2c2-2%202-6%200-4l-1-1v-1l-2%201m56%207c0%203%200%203-1%201-2-3-5-4-6-2h-8c-2%200-2%203-1%205h8v-1l2%201%202%201%201-1v-1l1%201%204%201h5l-5%201-4%201h10l1-1%201%201c-1%201%200%201%201%201%202%200%203-4%202-6v-2c2-1%200-2-7-3h-7l1%203m17-1c-2%200-2%201-2%204s0%203%203%203h19l2-1%201%201%201%201c2%201%202%200%202-4s0-4-3-4h-3l-7-1-8%201h-5m0%2013l-1%203c0%202%200%202%209%202%208%200%209%200%209-2h1l1%202%201-2h1c2%203%206%203%206%200%200-2%200-2-3-2h-3l-8-1h-13M44%20309v9h4c6%200%209-6%205-11-1-2-2-2-4-2-3%201-3%201-3-2l-1-2-1%208m66-5c0%202%200%202-2%201-4%200-6%202-6%206%200%205%201%206%206%207h4v-9l-1-8-1%203m-20%202c-4%203-1%2012%204%2012%203%200%205-3%205-6%200-4-2-7-5-7l-4%201m47%200c-5%204-1%2014%204%2011h2c0%202-3%203-5%203-1-1-2%200-2%201h7c2-1%202-2%202-8v-8h-3l-5%201m32%200c-4%202-3%2010%201%2011%203%201%206%200%207-3%203-6-3-11-8-8M53%20331c-3%202-2%207%200%209%204%204%209%201%209-5%200-5-6-8-9-4m60-1c-1%201%200%2016%202%2016l1-2c0-2%200-3%202-2%205%201%208-8%204-11-1-2-7-2-9-1m21%200c-2%201-1%202%202%202%204-1%205%202%201%202-8%201-6%208%201%207h5l-1-4-1-6c-1-2-6-3-7-1m52%201c-3%203-2%207%200%209%204%204%209%201%209-5%200-5-6-8-9-4m7%2033c-2%204-2%206%201%205l2%201c-1%201%200%201%201%201l3%201%201%201%204-9-2%202c-1%203-4%206-4%204%200-3%202-7%203-6h1l-1-3-1-1-2%201h-1c-2-2-4-1-5%203m15-3v5l1%203h1l8%204%206-12h-16m25%201v6c0%204%200%206-2%208l-2%203%203%201c5%202%206%201%207-2l3-5c2-1%202-1-1-3l-1-1%202-1h-1l-1-1%202-1%201%202%202%201%201%203v1l2-5v-1l-2%201%201-3%202-3c-1-2-5-3-7-1h-1c0-1-7-1-8%201m-130%204l1%207c1%202%204%203%204%200l1-1c1%201%204-3%203-5h1c1%201%201%201%201-1%201-4%201-5-5-5h-6v5m268%200c-2%2010-2%2011%203%2011h4l2-8c1-8%201-9-2-7h-3c-1-3-3-1-4%204m17%201c-3%2010-3%2010%201%2011%205%201%205%201%207-8%201-7%201-10-1-7h-3c-2-1-2-1-4%204m-270%200l-1%204%202%202c1%202%200%202-2%200l-2-2-2%203-1%203%201%203c-1%202-1%202%204%202l5%201-1-6-1-10-1-3-1%203m163-3l1%203v2l-2-1v-1l-1%201-3%201c-1%200-1%201%201%205%203%206%202%206%207%203%203-2%203-2%203-5v-5c-1-3-2-2-2%200%201%202%201%202-1%200l-3-3m-33%208c-3%208-3%2015%201%2015v1c-1%201-1%201%201%201%203%200%205-16%202-19l-2-3-2%205m-40%203l1%202v1l-3%205c-1%207-1%208%201%207%201%200%203%200%204%202%202%202%202%202%204-5%201-6%201-7-2-7l-2-1v-1l1-2c1-1%201-1%201%201s3%203%203%201h1l1%201c0-2-1-4-5-5s-4-1-5%201m95%200v2c0%203-2%202-2%200-1-2-1-2-2-1l-2%201-1%202%201%202v1c-1%203-1%207%201%208%201%201%202%202%201%203h5v-1l2-3v-7c-1-5-3-9-3-7m-61%202v1c-2-1-5%206-4%208h2c1-1%201-1%201%201-2%207-2%2010-1%209h5l3-1-2-7c-1-6-2-7-3-4l-2%201%202-5c1-3%202-4%200-4-1-1-1-1-1%201m-53%203c-1%206-1%208%201%207s4%200%204%201h-2l-3%202c-2%203-3%205-1%204h1c0%202%202%201%202-1l1-2v2l1%202%201-4%201-2%202-6c0-5%200-5-2-6-5-2-6-1-6%203m38%204v3c-2-2-6%209-5%2010h4c3%203%203%202%206-3l2-5h-2c-2%200-2%200-1-1h2l1-2v-3h-4l-1-1-1-1-1%203'%20fill='%23fafafa'%20fill-rule='evenodd'/%3e%3c/svg%3e"},"seo":{"src":"/static/28367da37f22653339247c8453094207/6050d/vibedkotlin.png"}}}]}},"staticQueryHashes":["1609575157","2068910035","2361467917","2361467917","3838421970","500183989","5650841"]}