{"id":4033,"date":"2026-03-09T06:28:33","date_gmt":"2026-03-09T06:28:33","guid":{"rendered":"https:\/\/swusportsci.com\/?p=4033"},"modified":"2026-03-09T06:28:33","modified_gmt":"2026-03-09T06:28:33","slug":"4033","status":"publish","type":"post","link":"https:\/\/swusportsci.com\/index.php\/2026\/03\/09\/4033\/","title":{"rendered":""},"content":{"rendered":"<p>import { useState } from &#8220;react&#8221;;<br \/>\nimport {<br \/>\nBarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend,<br \/>\nPieChart, Pie, Cell, ResponsiveContainer, RadarChart, Radar,<br \/>\nPolarGrid, PolarAngleAxis, PolarRadiusAxis, Treemap<br \/>\n} from &#8220;recharts&#8221;;<\/p>\n<p>const COLORS = [&#8220;#C0392B&#8221;,&#8221;#E74C3C&#8221;,&#8221;#E67E22&#8243;,&#8221;#F39C12&#8243;,&#8221;#27AE60&#8243;,&#8221;#1ABC9C&#8221;,&#8221;#2980B9&#8243;,&#8221;#3498DB&#8221;,&#8221;#8E44AD&#8221;,&#8221;#9B59B6&#8243;,&#8221;#2C3E50&#8243;,&#8221;#7F8C8D&#8221;];<\/p>\n<p>const rawData = [<br \/>\n{ name: &#8220;\u0e2a\u0e48\u0e07\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25&#8221;, short: &#8220;\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e31\u0e10&#8221;, original: 527280400, extra: 1116405304.07, total: 1643685704.07 },<br \/>\n{ name: &#8220;\u0e40\u0e08\u0e49\u0e32\u0e20\u0e32\u0e1e\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e19\u0e32\u0e19\u0e32\u0e0a\u0e32\u0e15\u0e34&#8221;, short: &#8220;\u0e40\u0e08\u0e49\u0e32\u0e20\u0e32\u0e1e&#8221;, original: 314056160, extra: 2000000, total: 316056160 },<br \/>\n{ name: &#8220;\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e01\u0e35\u0e2c\u0e32\u0e2d\u0e32\u0e0a\u0e35\u0e1e&#8221;, short: &#8220;\u0e01\u0e35\u0e2c\u0e32\u0e2d\u0e32\u0e0a\u0e35\u0e1e&#8221;, original: 200000000, extra: 23989196, total: 223989196 },<br \/>\n{ name: &#8220;\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e14\u0e39\u0e41\u0e25\u0e01\u0e35\u0e2c\u0e32\u0e21\u0e27\u0e22\u0e44\u0e17\u0e22&#8221;, short: &#8220;\u0e21\u0e27\u0e22\u0e44\u0e17\u0e22&#8221;, original: 130000000, extra: 54920600, total: 184920600 },<br \/>\n{ name: &#8220;\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e23\u0e30\u0e41\u0e2a\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e01\u0e35\u0e2c\u0e32&#8221;, short: &#8220;\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e23\u0e30\u0e41\u0e2a&#8221;, original: 40000000, extra: 210000000, total: 250000000 },<br \/>\n{ name: &#8220;\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e19\u0e31\u0e01\u0e01\u0e35\u0e2c\u0e32\u0e2a\u0e39\u0e48\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e34\u0e28&#8221;, short: &#8220;\u0e19\u0e31\u0e01\u0e01\u0e35\u0e2c\u0e32\u0e40\u0e25\u0e34\u0e28&#8221;, original: 1028606008, extra: 7623937.32, total: 1036229945.32 },<br \/>\n{ name: &#8220;\u0e19\u0e33\u0e27\u0e34\u0e17\u0e22\u0e32\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c\u0e01\u0e32\u0e23\u0e01\u0e35\u0e2c\u0e32&#8221;, short: &#8220;\u0e27\u0e34\u0e17\u0e22\u0e4c\u0e01\u0e35\u0e2c\u0e32&#8221;, original: 161914919.85, extra: 1880250, total: 163795169.85 },<br \/>\n{ name: &#8220;\u0e17\u0e38\u0e19\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32&#8221;, short: &#8220;\u0e17\u0e38\u0e19\u0e28\u0e36\u0e01\u0e29\u0e32&#8221;, original: 80000000, extra: 25497913.25, total: 105497913.25 },<br \/>\n{ name: &#8220;\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e31\u0e14\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e34\u0e01\u0e32\u0e23&#8221;, short: &#8220;\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e34\u0e01\u0e32\u0e23&#8221;, original: 30000000, extra: 0, total: 30000000 },<br \/>\n{ name: &#8220;\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25&#8221;, short: &#8220;\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25&#8221;, original: 612802500, extra: 0, total: 612802500 },<br \/>\n{ name: &#8220;\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e1a\u0e38\u0e04\u0e25\u0e32\u0e01\u0e23\u0e01\u0e35\u0e2c\u0e32&#8221;, short: &#8220;\u0e1a\u0e38\u0e04\u0e25\u0e32\u0e01\u0e23&#8221;, original: 57000000, extra: 958918.91, total: 57958918.91 },<br \/>\n{ name: &#8220;\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23&#8221;, short: &#8220;\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23&#8221;, original: 164500000, extra: 30427414.68, total: 194927414.68 },<br \/>\n];<\/p>\n<p>const grandTotal = 4819863522.08;<br \/>\nconst originalTotal = 3346159987.85;<br \/>\nconst extraTotal = 1473703534.23;<\/p>\n<p>const fmt = (v) =&gt; {<br \/>\nif (v &gt;= 1e9) return `${(v \/ 1e9).toFixed(2)}B`;<br \/>\nif (v &gt;= 1e6) return `${(v \/ 1e6).toFixed(1)}M`;<br \/>\nreturn `${(v \/ 1e3).toFixed(0)}K`;<br \/>\n};<\/p>\n<p>const fmtFull = (v) =&gt;<br \/>\nv.toLocaleString(&#8220;th-TH&#8221;, { minimumFractionDigits: 2, maximumFractionDigits: 2 });<\/p>\n<p>const overrunPct = (d) =&gt;<br \/>\nd.original &gt; 0 ? ((d.extra \/ d.original) * 100).toFixed(1) : &#8220;\u221e&#8221;;<\/p>\n<p>const riskData = rawData.map((d) =&gt; ({<br \/>\n&#8230;d,<br \/>\npct: ((d.total \/ grandTotal) * 100).toFixed(2),<br \/>\noverrun: parseFloat(overrunPct(d)),<br \/>\nriskLevel:<br \/>\nd.extra \/ d.original &gt; 2 ? &#8220;\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01&#8221; :<br \/>\nd.extra \/ d.original &gt; 0.5 ? &#8220;\u0e2a\u0e39\u0e07&#8221; :<br \/>\nd.extra \/ d.original &gt; 0.1 ? &#8220;\u0e1b\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07&#8221; : &#8220;\u0e15\u0e48\u0e33&#8221;,<br \/>\nriskColor:<br \/>\nd.extra \/ d.original &gt; 2 ? &#8220;#C0392B&#8221; :<br \/>\nd.extra \/ d.original &gt; 0.5 ? &#8220;#E67E22&#8221; :<br \/>\nd.extra \/ d.original &gt; 0.1 ? &#8220;#F39C12&#8221; : &#8220;#27AE60&#8221;,<br \/>\n}));<\/p>\n<p>const radarData = [<br \/>\n{ subject: &#8220;\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e31\u0e10&#8221;, value: 34 },<br \/>\n{ subject: &#8220;\u0e19\u0e31\u0e01\u0e01\u0e35\u0e2c\u0e32\u0e40\u0e25\u0e34\u0e28&#8221;, value: 21 },<br \/>\n{ subject: &#8220;\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25&#8221;, value: 13 },<br \/>\n{ subject: &#8220;\u0e40\u0e08\u0e49\u0e32\u0e20\u0e32\u0e1e&#8221;, value: 7 },<br \/>\n{ subject: &#8220;\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e23\u0e30\u0e41\u0e2a&#8221;, value: 5 },<br \/>\n{ subject: &#8220;\u0e01\u0e35\u0e2c\u0e32\u0e2d\u0e32\u0e0a\u0e35\u0e1e&#8221;, value: 5 },<br \/>\n];<\/p>\n<p>const CustomTooltip = ({ active, payload, label }) =&gt; {<br \/>\nif (!active || !payload?.length) return null;<br \/>\nreturn (<\/p>\n<div class=\"gtfy-1 gtfy-2\">\n<p>{label}<\/p>\n<p>{payload.map((p, i) =&gt; (<\/p>\n<p>{p.name}: \u0e3f{fmt(p.value)}<\/p>\n<p>))}<\/p>\n<\/div>\n<p>);<br \/>\n};<\/p>\n<p>const PieTooltip = ({ active, payload }) =&gt; {<br \/>\nif (!active || !payload?.length) return null;<br \/>\nconst d = payload[0];<br \/>\nreturn (<\/p>\n<div>\n<p>{d.name}<\/p>\n<p>\u0e3f{fmt(d.value)}<\/p>\n<p>{((d.value \/ grandTotal) * 100).toFixed(1)}%<\/p>\n<\/div>\n<p>);<br \/>\n};<\/p>\n<p>const MetricCard = ({ label, value, sub, accent, icon }) =&gt; (<\/p>\n<div>\n<div>{icon}<br \/>\n{label}<\/div>\n<div>{value}<\/div>\n<p>{sub &amp;&amp;<\/p>\n<div>{sub}<\/div>\n<p>}<\/p>\n<\/div>\n<p>);<\/p>\n<p>const RiskBadge = ({ level, color }) =&gt; (<br \/>\n{level}<br \/>\n);<\/p>\n<p>const TABS = [&#8220;\u0e20\u0e32\u0e1e\u0e23\u0e27\u0e21&#8221;, &#8220;\u0e01\u0e32\u0e23\u0e01\u0e23\u0e30\u0e08\u0e32\u0e22\u0e07\u0e1a&#8221;, &#8220;\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07&#8221;, &#8220;\u0e1a\u0e17\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c&#8221;];<\/p>\n<p>export default function App() {<br \/>\nconst [tab, setTab] = useState(0);<\/p>\n<p>const pieData = rawData.map((d, i) =&gt; ({ name: d.short, value: d.total, fill: COLORS[i] }));<\/p>\n<p>return (<\/p>\n<div>{\/* HEADER *\/}<\/p>\n<div hidden=\"\">\n<div><\/div>\n<div><\/div>\n<div>\n<div>\ud83c\udfc6<\/p>\n<p>\u0e01\u0e2d\u0e07\u0e17\u0e38\u0e19\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e01\u0e32\u0e23\u0e01\u0e35\u0e2c\u0e32\u0e41\u0e2b\u0e48\u0e07\u0e0a\u0e32\u0e15\u0e34<\/p><\/div>\n<h1>Dashboard \u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e1b\u0e23\u0e30\u0e08\u0e33\u0e1b\u0e35 \u0e1e.\u0e28.2569<\/h1>\n<p>\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e42\u0e14\u0e22\u0e17\u0e35\u0e21 Financial &amp; Policy Analytics \u00b7 \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u0e13 \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 27 \u0e21\u0e01\u0e23\u0e32\u0e04\u0e21 2569<\/p>\n<\/div>\n<\/div>\n<div>{\/* METRICS ROW *\/}<\/p>\n<div>\n<\/div>\n<p>{\/* TABS *\/}<\/p>\n<div>{TABS.map((t, i) =&gt; (<br \/>\n<button> setTab(i)} style={{<br \/>\nbackground: i === tab ? &#8220;#C0392B&#8221; : &#8220;transparent&#8221;,<br \/>\ncolor: i === tab ? &#8220;#fff&#8221; : &#8220;#64748B&#8221;,<br \/>\nborder: &#8220;none&#8221;, borderRadius: &#8220;8px 8px 0 0&#8221;,<br \/>\npadding: &#8220;10px 22px&#8221;, cursor: &#8220;pointer&#8221;, fontSize: 14, fontWeight: i === tab ? 700 : 500,<br \/>\ntransition: &#8220;all 0.2s&#8221;, fontFamily: &#8220;inherit&#8221;<br \/>\n}}&gt;<br \/>\n{t}<br \/>\n<\/button><br \/>\n))}<\/div>\n<p>{\/* TAB 0 &#8211; OVERVIEW *\/}<br \/>\n{tab === 0 &amp;&amp; (<\/p>\n<div>\n<div>{\/* Bar Chart *\/}<\/p>\n<div>\n<h3>\ud83d\udcca \u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e23\u0e32\u0e22\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21 (\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19 vs \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21)<\/h3>\n<p>} \/&gt;<\/p>\n<\/div>\n<p>{\/* Pie *\/}<\/p>\n<div>\n<h3>\ud83e\udd67 \u0e2a\u0e31\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e23\u0e27\u0e21\u0e41\u0e15\u0e48\u0e25\u0e30\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21<\/h3>\n<p>{pieData.map((entry, i) =&gt; (<\/p>\n<p>))}<br \/>\n} \/&gt;<\/p>\n<div>{rawData.map((d, i) =&gt; (<\/p>\n<div>\n<div><\/div>\n<p>{d.short}<\/p><\/div>\n<p>))}<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>{\/* Budget overrun highlight *\/}<\/p>\n<div>\n<h3>\u26a0\ufe0f \u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e17\u0e35\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e07\u0e1a\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14 (% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19)<\/h3>\n<p>{riskData<br \/>\n.filter(d =&gt; d.extra &gt; 0)<br \/>\n.sort((a, b) =&gt; b.overrun &#8211; a.overrun)<br \/>\n.slice(0, 5)<br \/>\n.map((d, i) =&gt; (<\/p>\n<div>\n<div>{d.name}<\/p>\n<div>+{d.overrun}%<\/div>\n<\/div>\n<div hidden=\"\">\n<div><\/div>\n<div>\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19: \u0e3f{fmt(d.original)}<br \/>\n\u0e40\u0e1e\u0e34\u0e48\u0e21: \u0e3f{fmt(d.extra)}<\/div>\n<\/div>\n<p>))}<\/p>\n<\/div>\n<\/div>\n<p>)}<\/p>\n<p>{\/* TAB 1 &#8211; DISTRIBUTION *\/}<br \/>\n{tab === 1 &amp;&amp; (<\/p>\n<div>\n<div>\n<div>\n<h3>\ud83c\udfaf \u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e15\u0e32\u0e21\u0e01\u0e25\u0e38\u0e48\u0e21\u0e22\u0e38\u0e17\u0e18\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c<\/h3>\n<p>&nbsp;<\/p>\n<\/div>\n<div>\n<h3>\ud83d\udcd0 \u0e2a\u0e31\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19 vs \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21<\/h3>\n<div>{[<br \/>\n{ label: &#8220;\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19&#8221;, value: originalTotal, pct: 69.4, color: &#8220;#2980B9&#8221; },<br \/>\n{ label: &#8220;\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21&#8221;, value: extraTotal, pct: 30.6, color: &#8220;#E74C3C&#8221; }<br \/>\n].map((item, i) =&gt; (<\/p>\n<div>\n<div>{item.label}<br \/>\n{item.pct}%<\/div>\n<div hidden=\"\">\n<div>\u0e3f{fmt(item.value)}<\/div>\n<\/div>\n<\/div>\n<p>))}<\/p>\n<div>\n<p>\u26a0\ufe0f \u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2a\u0e39\u0e07\u0e16\u0e36\u0e07 44% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19<\/p>\n<p>\u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e27\u0e32\u0e07\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48\u0e2d\u0e32\u0e08\u0e15\u0e49\u0e2d\u0e07\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>{\/* Table *\/}<\/p>\n<div>\n<h3>\ud83d\udccb \u0e15\u0e32\u0e23\u0e32\u0e07\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19<\/h3>\n<div>{[&#8220;\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21&#8221;, &#8220;\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19 (\u0e1a\u0e32\u0e17)&#8221;, &#8220;\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 (\u0e1a\u0e32\u0e17)&#8221;, &#8220;\u0e23\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19 (\u0e1a\u0e32\u0e17)&#8221;, &#8220;% \u0e23\u0e27\u0e21&#8221;, &#8220;\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07&#8221;].map((h, i) =&gt; ())}<br \/>\n{riskData.map((d, i) =&gt; ())}<\/p>\n<table>\n<thead>\n<tr>\n<th>{h}<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>{d.name}<\/td>\n<td>{fmtFull(d.original)}<\/td>\n<td>0 ? &#8220;#E67E22&#8221; : &#8220;#475569&#8221;, fontFamily: &#8220;monospace&#8221; }}&gt;<br \/>\n{d.extra &gt; 0 ? fmtFull(d.extra) : &#8220;-&#8220;}<\/td>\n<td>{fmtFull(d.total)}<\/td>\n<td>{d.pct}%<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Grand Total<\/td>\n<td>{fmtFull(originalTotal)}<\/td>\n<td>{fmtFull(extraTotal)}<\/td>\n<td>{fmtFull(grandTotal)}<\/td>\n<td>100%<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>)}<\/p>\n<p>{\/* TAB 2 &#8211; RISK *\/}<br \/>\n{tab === 2 &amp;&amp; (<\/p>\n<div>\n<div>{[<br \/>\n{ level: &#8220;\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01&#8221;, color: &#8220;#C0392B&#8221;, icon: &#8220;\ud83d\udd34&#8221;, desc: &#8220;\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 &gt; 200% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19&#8221;, items: riskData.filter(d =&gt; d.overrun &gt; 200) },<br \/>\n{ level: &#8220;\u0e2a\u0e39\u0e07&#8221;, color: &#8220;#E67E22&#8221;, icon: &#8220;\ud83d\udfe0&#8221;, desc: &#8220;\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 50-200% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19&#8221;, items: riskData.filter(d =&gt; d.overrun &gt; 50 &amp;&amp; d.overrun &lt;= 200) }, { level: &#8220;\u0e1b\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07&#8221;, color: &#8220;#F39C12&#8221;, icon: &#8220;\ud83d\udfe1&#8221;, desc: &#8220;\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 10-50% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19&#8221;, items: riskData.filter(d =&gt; d.overrun &gt; 10 &amp;&amp; d.overrun &lt;= 50) }, { level: &#8220;\u0e15\u0e48\u0e33&#8221;, color: &#8220;#27AE60&#8221;, icon: &#8220;\ud83d\udfe2&#8221;, desc: &#8220;\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32 10%&#8221;, items: riskData.filter(d =&gt; d.overrun &lt;= 10) }, ].map((r, i) =&gt; (<\/p>\n<div>\n<div>{r.icon}<br \/>\n\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07{r.level}<br \/>\n{r.items.length} \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/div>\n<p>{r.desc}<\/p>\n<p>{r.items.map((item, j) =&gt; (<\/p>\n<div>\n<div>{item.short}<\/div>\n<div>\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 {item.overrun &gt; 0 ? `+${item.overrun}%` : &#8220;0%&#8221;} \u00b7 \u0e3f{fmt(item.extra)}<\/div>\n<\/div>\n<p>))}<\/p>\n<\/div>\n<p>))}<\/p>\n<\/div>\n<div>\n<h3>\ud83d\udea8 \u0e1b\u0e23\u0e30\u0e40\u0e14\u0e47\u0e19\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e2a\u0e33\u0e04\u0e31\u0e0d<\/h3>\n<p>{[<br \/>\n{<br \/>\ntitle: &#8220;\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e23\u0e30\u0e41\u0e2a\u0e01\u0e32\u0e23\u0e41\u0e02\u0e48\u0e07\u0e02\u0e31\u0e19\u0e01\u0e35\u0e2c\u0e32: \u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21 +525%&#8221;,<br \/>\ndesc: &#8220;\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19\u0e40\u0e1e\u0e35\u0e22\u0e07 40M \u0e1a\u0e32\u0e17 \u0e41\u0e15\u0e48\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2a\u0e39\u0e07\u0e16\u0e36\u0e07 210M \u0e1a\u0e32\u0e17 \u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e40\u0e21\u0e34\u0e19\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e15\u0e48\u0e33\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e21\u0e35\u0e19\u0e31\u0e22\u0e2a\u0e33\u0e04\u0e31\u0e0d \u0e2b\u0e23\u0e37\u0e2d\u0e2d\u0e32\u0e08\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15\u0e07\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07\u0e1b\u0e35&#8221;,<br \/>\ncolor: &#8220;#C0392B&#8221;<br \/>\n},<br \/>\n{<br \/>\ntitle: &#8220;\u0e2a\u0e48\u0e07\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25: \u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21 +211.8% (1.1B \u0e1a\u0e32\u0e17)&#8221;,<br \/>\ndesc: &#8220;\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e17\u0e35\u0e48\u0e21\u0e35\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2a\u0e39\u0e07\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e43\u0e19\u0e40\u0e0a\u0e34\u0e07\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32 \u0e01\u0e32\u0e23\u0e2d\u0e19\u0e38\u0e21\u0e31\u0e15\u0e34\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e27\u0e48\u0e32 1 \u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19\u0e1a\u0e32\u0e17\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19 \u0e2d\u0e32\u0e08\u0e2a\u0e48\u0e07\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e04\u0e27\u0e32\u0e21\u0e42\u0e1b\u0e23\u0e48\u0e07\u0e43\u0e2a&#8221;,<br \/>\ncolor: &#8220;#C0392B&#8221;<br \/>\n},<br \/>\n{<br \/>\ntitle: &#8220;\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e14\u0e39\u0e41\u0e25\u0e21\u0e27\u0e22\u0e44\u0e17\u0e22: \u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21 +42.2%&#8221;,<br \/>\ndesc: &#8220;\u0e2d\u0e32\u0e08\u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\u0e43\u0e0a\u0e49\u0e01\u0e0e\u0e2b\u0e21\u0e32\u0e22\u0e17\u0e35\u0e48\u0e0b\u0e31\u0e1a\u0e0b\u0e49\u0e2d\u0e19\u0e01\u0e27\u0e48\u0e32\u0e17\u0e35\u0e48\u0e27\u0e32\u0e07\u0e41\u0e1c\u0e19\u0e44\u0e27\u0e49 \u0e15\u0e49\u0e2d\u0e07\u0e15\u0e34\u0e14\u0e15\u0e32\u0e21\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e43\u0e19\u0e01\u0e32\u0e23\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e14\u0e39\u0e41\u0e25&#8221;,<br \/>\ncolor: &#8220;#E67E22&#8221;<br \/>\n},<br \/>\n{<br \/>\ntitle: &#8220;\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25: 612M \u0e1a\u0e32\u0e17 \u0e44\u0e21\u0e48\u0e21\u0e35\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21&#8221;,<br \/>\ndesc: &#8220;\u0e41\u0e21\u0e49\u0e44\u0e21\u0e48\u0e21\u0e35\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 \u0e41\u0e15\u0e48\u0e02\u0e19\u0e32\u0e14\u0e07\u0e1a\u0e2a\u0e39\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e31\u0e19\u0e14\u0e31\u0e1a 3 \u0e01\u0e32\u0e23\u0e08\u0e48\u0e32\u0e22\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25\u0e04\u0e27\u0e23\u0e21\u0e35\u0e40\u0e01\u0e13\u0e11\u0e4c\u0e41\u0e25\u0e30 KPI \u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e17\u0e35\u0e48\u0e27\u0e31\u0e14\u0e44\u0e14\u0e49&#8221;,<br \/>\ncolor: &#8220;#F39C12&#8221;<br \/>\n}<br \/>\n].map((item, i) =&gt; (<\/p>\n<div>\n<div>{item.title}<\/div>\n<div>{item.desc}<\/div>\n<\/div>\n<p>))}<\/p>\n<\/div>\n<\/div>\n<p>)}<\/p>\n<p>{\/* TAB 3 &#8211; ANALYSIS *\/}<br \/>\n{tab === 3 &amp;&amp; (<\/p>\n<div>{[<br \/>\n{<br \/>\nicon: &#8220;\ud83d\udd0d&#8221;, title: &#8220;\u0e1a\u0e17\u0e2a\u0e23\u0e38\u0e1b\u0e1c\u0e39\u0e49\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23 (Executive Summary)&#8221;, color: &#8220;#3498DB&#8221;,<br \/>\ncontent: `\u0e01\u0e2d\u0e07\u0e17\u0e38\u0e19\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e01\u0e32\u0e23\u0e01\u0e35\u0e2c\u0e32\u0e41\u0e2b\u0e48\u0e07\u0e0a\u0e32\u0e15\u0e34\u0e21\u0e35\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e23\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19 4,819,863,522 \u0e1a\u0e32\u0e17 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1b\u0e35\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13 2569 \u0e42\u0e14\u0e22\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1a\u0e34\u0e01\u0e08\u0e48\u0e32\u0e22\u0e43\u0e19 12 \u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e2b\u0e25\u0e31\u0e01 \u0e19\u0e48\u0e32\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e27\u0e48\u0e32\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2a\u0e39\u0e07\u0e16\u0e36\u0e07 1,473 \u0e25\u0e49\u0e32\u0e19\u0e1a\u0e32\u0e17 \u0e2b\u0e23\u0e37\u0e2d 44% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e15\u0e49\u0e19 \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e21\u0e32\u0e01\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e31\u0e1a\u0e21\u0e32\u0e15\u0e23\u0e10\u0e32\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e20\u0e32\u0e04\u0e23\u0e31\u0e10\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e04\u0e27\u0e23\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e19 10-15%`<br \/>\n},<br \/>\n{<br \/>\nicon: &#8220;\ud83c\udfaf&#8221;, title: &#8220;\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e04\u0e31\u0e0d&#8221;, color: &#8220;#27AE60&#8221;,<br \/>\ncontent: `\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e01\u0e23\u0e30\u0e08\u0e38\u0e01\u0e15\u0e31\u0e27\u0e43\u0e19 3 \u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e2b\u0e25\u0e31\u0e01\u0e04\u0e34\u0e14\u0e40\u0e1b\u0e47\u0e19 68.6% \u0e02\u0e2d\u0e07\u0e07\u0e1a\u0e23\u0e27\u0e21 \u0e44\u0e14\u0e49\u0e41\u0e01\u0e48 (1) \u0e2a\u0e48\u0e07\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25 34.1%, (2) \u0e1e\u0e31\u0e12\u0e19\u0e32\u0e19\u0e31\u0e01\u0e01\u0e35\u0e2c\u0e32\u0e2a\u0e39\u0e48\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e34\u0e28 21.5%, \u0e41\u0e25\u0e30 (3) \u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 12.7% \u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e41\u0e19\u0e27\u0e17\u0e32\u0e07\u0e17\u0e35\u0e48\u0e40\u0e19\u0e49\u0e19\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e34\u0e28\u0e41\u0e25\u0e30\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e0a\u0e32\u0e15\u0e34 \u0e41\u0e15\u0e48\u0e2d\u0e32\u0e08\u0e02\u0e32\u0e14\u0e2a\u0e21\u0e14\u0e38\u0e25\u0e43\u0e19\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e10\u0e32\u0e19\u0e23\u0e32\u0e01 \u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e07\u0e1a\u0e17\u0e38\u0e19\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32\u0e41\u0e25\u0e30\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e34\u0e01\u0e32\u0e23\u0e21\u0e35\u0e2a\u0e31\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e48\u0e33\u0e40\u0e1e\u0e35\u0e22\u0e07 2.8%`<br \/>\n},<br \/>\n{<br \/>\nicon: &#8220;\u26a0\ufe0f&#8221;, title: &#8220;\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13&#8221;, color: &#8220;#E67E22&#8221;,<br \/>\ncontent: `\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07 4 \u0e1b\u0e23\u0e30\u0e01\u0e32\u0e23\u0e2b\u0e25\u0e31\u0e01: (1) \u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e27\u0e32\u0e07\u0e41\u0e1c\u0e19 &#8211; \u0e07\u0e1a 4 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e21\u0e35\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32 40% \u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e02\u0e32\u0e14\u0e04\u0e27\u0e32\u0e21\u0e41\u0e21\u0e48\u0e19\u0e22\u0e33 (2) \u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e04\u0e27\u0e32\u0e21\u0e42\u0e1b\u0e23\u0e48\u0e07\u0e43\u0e2a &#8211; \u0e07\u0e1a &#8220;\u0e2a\u0e48\u0e07\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22\u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25&#8221; \u0e21\u0e35\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32 1,116 \u0e25\u0e49\u0e32\u0e19\u0e1a\u0e32\u0e17\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e23\u0e30\u0e1a\u0e38\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14 (3) \u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e14\u0e39\u0e41\u0e25 &#8211; \u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e21\u0e27\u0e22\u0e44\u0e17\u0e22\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21 42% \u0e2d\u0e32\u0e08\u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e04\u0e27\u0e32\u0e21\u0e17\u0e49\u0e32\u0e17\u0e32\u0e22\u0e40\u0e0a\u0e34\u0e07\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07 (4) \u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c &#8211; \u0e07\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e23\u0e32\u0e07\u0e27\u0e31\u0e25 612 \u0e25\u0e49\u0e32\u0e19\u0e04\u0e27\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e42\u0e22\u0e07\u0e01\u0e31\u0e1a KPI \u0e17\u0e35\u0e48\u0e27\u0e31\u0e14\u0e44\u0e14\u0e49\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19`<br \/>\n},<br \/>\n{<br \/>\nicon: &#8220;\ud83d\udca1&#8221;, title: &#8220;\u0e02\u0e49\u0e2d\u0e40\u0e2a\u0e19\u0e2d\u0e41\u0e19\u0e30\u0e40\u0e0a\u0e34\u0e07\u0e19\u0e42\u0e22\u0e1a\u0e32\u0e22&#8221;, color: &#8220;#9B59B6&#8221;,<br \/>\ncontent: `(1) \u0e19\u0e33\u0e23\u0e30\u0e1a\u0e1a Zero-Based Budgeting \u0e21\u0e32\u0e43\u0e0a\u0e49 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e2d\u0e07\u0e17\u0e38\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e01\u0e48\u0e2d\u0e19\u0e15\u0e31\u0e49\u0e07\u0e07\u0e1a (2) \u0e01\u0e33\u0e2b\u0e19\u0e14 KPI \u0e41\u0e25\u0e30\u0e15\u0e31\u0e27\u0e0a\u0e35\u0e49\u0e27\u0e31\u0e14\u0e1c\u0e25\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e43\u0e2b\u0e49\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19\u0e43\u0e19\u0e17\u0e38\u0e01\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21 \u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e07\u0e1a\u0e2a\u0e39\u0e07 (3) \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e30\u0e1a\u0e1a Early Warning \u0e17\u0e35\u0e48\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e40\u0e01\u0e34\u0e19 20% \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e04\u0e13\u0e30\u0e01\u0e23\u0e23\u0e21\u0e01\u0e32\u0e23 review \u0e01\u0e48\u0e2d\u0e19\u0e2d\u0e19\u0e38\u0e21\u0e31\u0e15\u0e34 (4) \u0e1b\u0e23\u0e31\u0e1a\u0e2a\u0e21\u0e14\u0e38\u0e25\u0e07\u0e1a\u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e42\u0e14\u0e22\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2a\u0e31\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e10\u0e32\u0e19\u0e23\u0e32\u0e01 \u0e40\u0e0a\u0e48\u0e19 \u0e17\u0e38\u0e19\u0e01\u0e32\u0e23\u0e28\u0e36\u0e01\u0e29\u0e32 \u0e1a\u0e38\u0e04\u0e25\u0e32\u0e01\u0e23 \u0e41\u0e25\u0e30\u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e34\u0e01\u0e32\u0e23 (5) \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e04\u0e27\u0e32\u0e21\u0e42\u0e1b\u0e23\u0e48\u0e07\u0e43\u0e2a\u0e43\u0e19\u0e01\u0e32\u0e23\u0e23\u0e32\u0e22\u0e07\u0e32\u0e19\u0e1c\u0e25\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e07\u0e32\u0e19\u0e23\u0e32\u0e22\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a\u0e15\u0e48\u0e2d\u0e2a\u0e32\u0e18\u0e32\u0e23\u0e13\u0e30`<br \/>\n},<br \/>\n{<br \/>\nicon: &#8220;\ud83d\udccc&#8221;, title: &#8220;\u0e08\u0e38\u0e14\u0e41\u0e02\u0e47\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23&#8221;, color: &#8220;#1ABC9C&#8221;,<br \/>\ncontent: `(1) \u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e2a\u0e23\u0e23\u0e07\u0e1a\u0e14\u0e49\u0e32\u0e19\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e19\u0e31\u0e01\u0e01\u0e35\u0e2c\u0e32\u0e2a\u0e39\u0e48\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e34\u0e28 (1,036M) \u0e2a\u0e30\u0e17\u0e49\u0e2d\u0e19\u0e04\u0e27\u0e32\u0e21\u0e21\u0e38\u0e48\u0e07\u0e21\u0e31\u0e48\u0e19\u0e2a\u0e39\u0e48\u0e40\u0e27\u0e17\u0e35\u0e19\u0e32\u0e19\u0e32\u0e0a\u0e32\u0e15\u0e34 (2) \u0e01\u0e32\u0e23\u0e25\u0e07\u0e17\u0e38\u0e19\u0e14\u0e49\u0e32\u0e19\u0e27\u0e34\u0e17\u0e22\u0e32\u0e28\u0e32\u0e2a\u0e15\u0e23\u0e4c\u0e01\u0e32\u0e23\u0e01\u0e35\u0e2c\u0e32 (163M) \u0e41\u0e2a\u0e14\u0e07\u0e16\u0e36\u0e07\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e19\u0e27\u0e31\u0e15\u0e01\u0e23\u0e23\u0e21\u0e43\u0e19\u0e01\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e (3) \u0e07\u0e1a 5 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e44\u0e21\u0e48\u0e21\u0e35\u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e21\u0e35\u0e19\u0e49\u0e2d\u0e22\u0e21\u0e32\u0e01 \u0e41\u0e2a\u0e14\u0e07\u0e27\u0e48\u0e32\u0e1a\u0e32\u0e07\u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e21\u0e35\u0e01\u0e32\u0e23\u0e27\u0e32\u0e07\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48\u0e14\u0e35 (4) \u0e01\u0e32\u0e23\u0e04\u0e23\u0e2d\u0e1a\u0e04\u0e25\u0e38\u0e21 12 \u0e01\u0e34\u0e08\u0e01\u0e23\u0e23\u0e21\u0e43\u0e19 4 \u0e21\u0e34\u0e15\u0e34\u0e2b\u0e25\u0e31\u0e01 \u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48\u0e10\u0e32\u0e19\u0e23\u0e32\u0e01\u0e16\u0e36\u0e07\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e34\u0e28`<br \/>\n}<br \/>\n].map((section, i) =&gt; (<\/p>\n<div>\n<div>{section.icon}<\/p>\n<h3>{section.title}<\/h3>\n<\/div>\n<p>{section.content}<\/p>\n<\/div>\n<p>))}<\/p>\n<div>\n<p><strong>\u26a1 \u0e2a\u0e23\u0e38\u0e1b\u0e04\u0e33\u0e41\u0e19\u0e30\u0e19\u0e33\u0e40\u0e23\u0e48\u0e07\u0e14\u0e48\u0e27\u0e19:<\/strong> \u0e07\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 44% \u0e16\u0e37\u0e2d\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e04\u0e27\u0e23\u0e21\u0e2d\u0e07\u0e02\u0e49\u0e32\u0e21<br \/>\n\u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e04\u0e13\u0e30\u0e01\u0e23\u0e23\u0e21\u0e01\u0e32\u0e23\u0e17\u0e1a\u0e17\u0e27\u0e19\u0e01\u0e23\u0e30\u0e1a\u0e27\u0e19\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e07\u0e1a\u0e41\u0e25\u0e30\u0e23\u0e30\u0e1a\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e14\u0e39\u0e41\u0e25\u0e20\u0e32\u0e22\u0e43\u0e19\u0e42\u0e14\u0e22\u0e14\u0e48\u0e27\u0e19<\/p>\n<\/div>\n<\/div>\n<p>)}<\/p>\n<\/div>\n<div>\u0e01\u0e2d\u0e07\u0e17\u0e38\u0e19\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e01\u0e32\u0e23\u0e01\u0e35\u0e2c\u0e32\u0e41\u0e2b\u0e48\u0e07\u0e0a\u0e32\u0e15\u0e34 \u00b7 \u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e42\u0e14\u0e22 Financial &amp; Policy Analytics \u00b7 \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u0e13 27 \u0e21\u0e01\u0e23\u0e32\u0e04\u0e21 2569<\/div>\n<\/div>\n<p>);<br \/>\n}<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>import { useState } from&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4033","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/posts\/4033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/comments?post=4033"}],"version-history":[{"count":1,"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/posts\/4033\/revisions"}],"predecessor-version":[{"id":4034,"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/posts\/4033\/revisions\/4034"}],"wp:attachment":[{"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/media?parent=4033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/categories?post=4033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swusportsci.com\/index.php\/wp-json\/wp\/v2\/tags?post=4033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}