{"id":650,"date":"2025-09-11T02:38:13","date_gmt":"2025-09-11T02:38:13","guid":{"rendered":"https:\/\/wiseexcellence.co.za\/high-school\/?p=650"},"modified":"2026-02-01T15:08:53","modified_gmt":"2026-02-01T15:08:53","slug":"inventory-valuation","status":"publish","type":"post","link":"https:\/\/wiseexcellence.co.za\/high-school\/inventory-valuation\/","title":{"rendered":"Inventory Valuation"},"content":{"rendered":"\n\n\n{&#8220;title&#8221;:&#8221;&#8221;,&#8221;content&#8221;:&#8221;<!DOCTYPE html>rn<html lang=\"en\">rn<head>rn  <meta charset=\"UTF-8\">rn  <title>Comprehensive Study Toolkit: Grade 12 Accounting<\/title>rn  <style>rn    body { font-family: Arial, sans-serif; line-height: 1.6; margin: 20px; }rn    h1, h2, h3 { color: #2c3e50; }rn    ul { margin-left: 20px; }rn    li { margin-bottom: 5px; }rn    .section { margin-bottom: 40px; }rn  <\/style>rn<\/head>rn<body>rnrn  <h1>Comprehensive Study Toolkit: Analysis and Interpretation of Information<\/h1>rn  <p><strong>Grade 12 Accounting<\/strong><\/p>rn  <p>This toolkit is designed to help you master the analysis and interpretation of financial and non-financial information.<\/p>rnrn  <div class=\"section\">rn    <h2>I. Introduction to Analysis and Interpretation<\/h2>rn    <ul>rn      <li><strong>Purpose:<\/strong> Extract relevant information from financial statements for decision-making.<\/li>rn      <li><strong>Users and Reasons for Analysis:<\/strong>rn        <ul>rn          <li>Shareholders: Assess profitability.<\/li>rn          <li>Financial Institutions (short-term): Evaluate ability to pay short-term debts.<\/li>rn          <li>Financial Institutions (long-term): Assess ability to repay loans and interest.<\/li>rn          <li>SARS: Verify correct tax payments.<\/li>rn          <li>Management: Evaluate performance.<\/li>rn          <li>Customers: Assess sustainability.<\/li>rn          <li>Auditors: Ensure fair presentation of results.<\/li>rn          <li>Employees\/Unions: Assess growth and employment prospects.<\/li>rn        <\/ul>rn      <\/li>rn      <li><strong>Comparison Benchmarks:<\/strong>rn        <ul>rn          <li>Previous years (most meaningful).<\/li>rn          <li>Competitors.<\/li>rn          <li>Industry averages.<\/li>rn        <\/ul>rn      <\/li>rn      <li><strong>Prior Knowledge:<\/strong> Review Grade 10\u201311 concepts and year-end cycle from Trial Balance to Financial Statements.<\/li>rn    <\/ul>rn  <\/div>rnrn  <div class=\"section\">rn    <h2>II. Key Areas of Analysis and Financial Indicators<\/h2>rnrn    <h3>1. Profitability<\/h3>rn    <ul>rn      <li><strong>Description:<\/strong> Measures profit generation and asset efficiency.<\/li>rn      <li><strong>Indicators &#038; Formulas:<\/strong>rn        <ul>rn          <li>% Gross profit on sales = (Gross profit \/ Sales) \u00d7 100<\/li>rn          <li>% Gross profit on cost of sales = (Gross profit \/ Cost of sales) \u00d7 100<\/li>rn          <li>% Net profit on Sales = (Net profit \/ Sales) \u00d7 100<\/li>rn          <li>% Operating expenses on Sales = (Operating expenses \/ Sales) \u00d7 100<\/li>rn          <li>% Operating profit on Sales = (Operating profit \/ Sales) \u00d7 100<\/li>rn        <\/ul>rn      <\/li>rn      <li><em>Worked Example 1: Page 14\u201315<\/em><\/li>rn    <\/ul>rnrn    <h3>2. Liquidity<\/h3>rn    <ul>rn      <li><strong>Description:<\/strong> Ability to meet short-term obligations.<\/li>rn      <li><strong>Indicators &#038; Formulas:<\/strong>rn        <ul>rn          <li>Current Ratio = Current assets : Current liabilities<\/li>rn          <li>Acid Test Ratio = (Current assets &#8211; Inventories) : Current liabilities<\/li>rn          <li>Stock turnover rate = Cost of Sales \/ Average Stock<\/li>rn          <li>Stock holding period = (Average Inventories \/ Cost of Sales) \u00d7 365<\/li>rn          <li>Debtors\u2019 collection period = (Average Debtors \/ Credit Sales) \u00d7 365<\/li>rn          <li>Creditors\u2019 payment period = (Average Creditors \/ Purchases) \u00d7 365<\/li>rn        <\/ul>rn      <\/li>rn      <li><em>Worked Example 2: Page 18<\/em><\/li>rn    <\/ul>rnrn    <h3>3. Solvency<\/h3>rn    <ul>rn      <li><strong>Description:<\/strong> Ability to pay all debts.<\/li>rn      <li><strong>Indicators &#038; Formulas:<\/strong>rn        <ul>rn          <li>Solvency ratio = Total Assets : Total Liabilities<\/li>rn          <li>Net Asset = Total Assets \u2013 Total Liabilities<\/li>rn        <\/ul>rn      <\/li>rn      <li><em>Worked Example 3: Page 20<\/em><\/li>rn    <\/ul>rnrn    <h3>4. Return<\/h3>rn    <ul>rn      <li><strong>Description:<\/strong> Measures shareholder earnings.<\/li>rn      <li><strong>Indicators &#038; Formulas:<\/strong>rn        <ul>rn          <li>ROSHE = (Net Profit after tax \/ Avg Shareholders\u2019 Equity) \u00d7 100<\/li>rn          <li>EPS = (Net profit after tax \/ Issued shares)<\/li>rn          <li>DPS = (Ordinary Dividends \/ Issued shares)<\/li>rn          <li>NAV = (Shareholders Equity \/ Issued shares)<\/li>rn          <li>Dividend pay-out rate = (Dividends \/ Net profit after tax) \u00d7 100<\/li>rn        <\/ul>rn      <\/li>rn      <li><em>Worked Example 4: Page 22<\/em><\/li>rn    <\/ul>rnrn    <h3>5. Financial Risk \/ Gearing<\/h3>rn    <ul>rn      <li><strong>Description:<\/strong> Indicates financing structure and long-term risk.<\/li>rn      <li><strong>Indicators &#038; Formulas:<\/strong>rn        <ul>rn          <li>Debt-equity ratio = Non-current liabilities : Shareholders Equity<\/li>rn          <li>ROTCE = (Net profit before tax + Loan interest \/ Avg Capital Employed) \u00d7 100<\/li>rn        <\/ul>rn      <\/li>rn      <li><em>Worked Example 5: Page 24<\/em><\/li>rn    <\/ul>rnrn    <h3>6. Interpretation Beyond Financial Indicators<\/h3>rn    <ul>rn      <li>Dividend policy trends<\/li>rn      <li>Shareholding changes<\/li>rn      <li>General comments using two indicators with figures<\/li>rn    <\/ul>rn  <\/div>rnrn  <div class=\"section\">rn    <h2>III. Examination Guidance and Study Tips<\/h2>rn    <ul>rn      <li>Piecemeal approach with consolidation activities<\/li>rn      <li>Supplement classwork and textbooks<\/li>rn      <li>Progressive difficulty in examples<\/li>rn      <li>Active reading and highlighting<\/li>rn      <li>Interrogate worked examples<\/li>rn      <li>Attempt activities independently<\/li>rn      <li>Review and correct answers in a different color<\/li>rn      <li>Practice with past papers<\/li>rn      <li>Use answer books for familiarity<\/li>rn      <li>Know indicator names for formula sheet<\/li>rn      <li>Highlight verbs and dates in questions<\/li>rn      <li>Understand task requirements (comment, advise, justify, etc.)<\/li>rn    <\/ul>rn    <p><strong>Final Note:<\/strong> By working through these sections and practicing consistently, you&#8217;ll be well-prepared for analysis and interpretation questions in your Grade 12 Accounting exams.<\/p>rn  <\/div>rnrn<\/body>rn<\/html>&#8220;}\n\n\n\n\n{&#8220;title&#8221;:&#8221;&#8221;,&#8221;content&#8221;:&#8221;<!DOCTYPE html>\\r\\n<html lang=\\\"en\\\">\\r\\n<head>\\r\\n  <meta charset=\\\"UTF-8\\\">\\r\\n  <title>Inventory Valuation Toolkit \u2013 Grade 12 Accounting<\/title>\\r\\n  <style>\\r\\n    body { font-family: Arial, sans-serif; margin: 20px; line-height: 1.6; }\\r\\n    h1, h2, h3 { color: #2c3e50; }\\r\\n    ul { margin-left: 20px; }\\r\\n    li { margin-bottom: 5px; }\\r\\n    .section { margin-bottom: 40px; }\\r\\n  <\/style>\\r\\n<\/head>\\r\\n<body>\\r\\n\\r\\n  <h1>Inventory Valuation<\/h1>\\r\\n  <p><strong>Grade 12 Accounting<\/strong><\/p>\\r\\n  <p>This toolkit is designed to help you master the concepts of inventory valuation, building on the provided \\&#8221;Self-Study Guide\\&#8221;.<\/p>\\r\\n\\r\\n  <div class=\\\"section\\\">\\r\\n    <h2>I. Understanding the Basics: Inventory and Stock Systems<\/h2>\\r\\n    <ul>\\r\\n      <li><strong>Inventory Valuation:<\/strong> Refers to trading stock bought for resale. Accurate valuation reflects financial position and profit\/loss.<\/li>\\r\\n      <li><strong>Key Concepts:<\/strong>\\r\\n        <ul>\\r\\n          <li>Opening Stock<\/li>\\r\\n          <li>Purchases of stock (adjusted for donations\/drawings)<\/li>\\r\\n          <li>Carriage on purchases<\/li>\\r\\n          <li>Customs\/Import duties<\/li>\\r\\n          <li>Returns of stock<\/li>\\r\\n          <li>Closing Stock<\/li>\\r\\n        <\/ul>\\r\\n      <\/li>\\r\\n      <li><strong>Inventory Systems:<\/strong>\\r\\n        <ul>\\r\\n          <li><strong>Perpetual Inventory System:<\/strong>\\r\\n            <ul>\\r\\n              <li>Real-time tracking<\/li>\\r\\n              <li>Uses point-of-sale systems<\/li>\\r\\n              <li>Accurate cost of goods sold<\/li>\\r\\n              <li>Advantages: Realistic, surplus\/deficit easily identified<\/li>\\r\\n            <\/ul>\\r\\n          <\/li>\\r\\n          <li><strong>Periodic Inventory System:<\/strong>\\r\\n            <ul>\\r\\n              <li>No real-time updates<\/li>\\r\\n              <li>Requires physical count at period-end<\/li>\\r\\n              <li>Cost of sales = Opening stock + Net purchases + Carriage + Duties &#8211; Closing stock<\/li>\\r\\n              <li>Advantages: Cheaper, simpler<\/li>\\r\\n            <\/ul>\\r\\n          <\/li>\\r\\n          <li><strong>Key Differences:<\/strong>\\r\\n            <ul>\\r\\n              <li>Perpetual: Trading Stock account, real-time updates<\/li>\\r\\n              <li>Periodic: Purchases account, periodic calculation<\/li>\\r\\n            <\/ul>\\r\\n          <\/li>\\r\\n        <\/ul>\\r\\n      <\/li>\\r\\n    <\/ul>\\r\\n  <\/div>\\r\\n\\r\\n  <div class=\\\"section\\\">\\r\\n    <h2>II. Stock Valuation Methods (Grade 12 Focus)<\/h2>\\r\\n    <ul>\\r\\n      <li><strong>1. FIFO (First-In, First-Out):<\/strong>\\r\\n        <ul>\\r\\n          <li>Assumes oldest stock sold first<\/li>\\r\\n          <li>Used for items with expiry\/fashion cycles<\/li>\\r\\n          <li>Closing stock = most recent purchases<\/li>\\r\\n          <li>Cost of sales = older prices<\/li>\\r\\n          <li>Returns: Adjust recent batch<\/li>\\r\\n          <li>Carriage: Add to cost; check refund policy<\/li>\\r\\n        <\/ul>\\r\\n      <\/li>\\r\\n      <li><strong>2. Weighted Average Method:<\/strong>\\r\\n        <ul>\\r\\n          <li>Average cost per unit<\/li>\\r\\n          <li>Used for similar, bulk items<\/li>\\r\\n          <li>Formula: (Total value \u00f7 Total units) \u00d7 Units on hand<\/li>\\r\\n          <li>Cost of sales = average price<\/li>\\r\\n          <li>Missing items easier to track<\/li>\\r\\n        <\/ul>\\r\\n      <\/li>\\r\\n      <li><strong>3. Specific Identification:<\/strong>\\r\\n        <ul>\\r\\n          <li>Each item has its own cost<\/li>\\r\\n          <li>Used for unique, high-value items<\/li>\\r\\n          <li>Closing stock = cost of unsold items<\/li>\\r\\n        <\/ul>\\r\\n      <\/li>\\r\\n    <\/ul>\\r\\n  <\/div>\\r\\n\\r\\n  <div class=\\\"section\\\">\\r\\n    <h2>III. Key Calculations &#038; Formulas<\/h2>\\r\\n    <ul>\\r\\n      <li><strong>Closing Stock Value:<\/strong>\\r\\n        <ul>\\r\\n          <li>Specific Identification: Total value of unsold stock<\/li>\\r\\n          <li>FIFO: Units \u00d7 cost of last batches<\/li>\\r\\n          <li>Weighted Average: (Total value \u00f7 Total units) \u00d7 Units on hand<\/li>\\r\\n        <\/ul>\\r\\n      <\/li>\\r\\n      <li><strong>Cost of Sales:<\/strong> Opening stock + Purchases + Carriage + Duties &#8211; Returns &#8211; Closing stock<\/li>\\r\\n      <li><strong>Gross Profit:<\/strong> Sales &#8211; Cost of Sales<\/li>\\r\\n      <li><strong>% Mark-up Achieved:<\/strong> (Gross Profit \u00d7 100) \u00f7 Cost of Sales<\/li>\\r\\n      <li><strong>Stock Holding Period:<\/strong> (Average Stock \u00f7 Cost of Sales) \u00d7 365<\/li>\\r\\n      <li><strong>Rate of Stock Turnover:<\/strong> Cost of Sales \u00f7 Average Stock<\/li>\\r\\n      <li><strong>Missing Items:<\/strong> Sales &#8211; Closing Stock (adjusted for opening stock and purchases)<\/li>\\r\\n    <\/ul>\\r\\n  <\/div>\\r\\n\\r\\n  <div class=\\\"section\\\">\\r\\n    <h2>IV. Internal Control Processes<\/h2>\\r\\n    <ul>\\r\\n      <li>Minimize fraud<\/li>\\r\\n      <li>Ensure accurate documentation<\/li>\\r\\n      <li>Reconcile records with physical stock<\/li>\\r\\n    <\/ul>\\r\\n  <\/div>\\r\\n\\r\\n  <div class=\\\"section\\\">\\r\\n    <h2>V. Study Strategies &#038; Practice<\/h2>\\r\\n    <ul>\\r\\n      <li>Piecemeal approach with consolidation activities<\/li>\\r\\n      <li>Supplement classwork and textbooks<\/li>\\r\\n      <li>Progressive difficulty in examples<\/li>\\r\\n      <li>Active reading and highlighting<\/li>\\r\\n      <li>Interrogate worked examples<\/li>\\r\\n      <li>Attempt activities independently<\/li>\\r\\n      <li>Review and correct in different ink<\/li>\\r\\n      <li>Practice with past papers<\/li>\\r\\n      <li>Familiarize with answer books<\/li>\\r\\n    <\/ul>\\r\\n  <\/div>\\r\\n  <div class=\\\"section\\\">\\r\\n        <p><strong>Final Note:<\/strong> By working through these sections and practice activities, you\u2019ll build a strong foundation in inventory valuation for your Grade 12 Accounting studies.<\/p>\\r\\n  <\/div>\\r\\n\\r\\n<\/body>\\r\\n<\/html>&#8220;}\n\n\n\n\n{&#8220;title&#8221;:&#8221;&#8221;,&#8221;content&#8221;:&#8221;<!DOCTYPE html>\\r\\n<html lang=\\\"en\\\">\\r\\n<head>\\r\\n    <meta charset=\\\"UTF-8\\\">\\r\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\">\\r\\n    <title>Wise Excellence &#8211; Inventory Valuation Quiz<\/title>\\r\\n    <script src=\\\"https:\/\/cdn.tailwindcss.com\\\"><\/script>\\r\\n    <style>\\r\\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&display=swap');\\r\\n        @import url('https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@700&display=swap');\\r\\n        \\r\\n        :root {\\r\\n            --bg-dark: #1F2937; \/* Slate 800 *\/\\r\\n            --bg-medium: #374151; \/* Slate 700 *\/\\r\\n            --bg-light: #4B5563; \/* Slate 600 *\/\\r\\n            --text-primary: #F3F4F6; \/* Gray 100 *\/\\r\\n            --text-secondary: #9CA3AF; \/* Gray 400 *\/\\r\\n            --accent-primary: #F59E0B; \/* Amber 500 *\/\\r\\n            --accent-secondary: #10B981; \/* Green 500 *\/\\r\\n            --accent-error: #EF4444; \/* Red 500 *\/\\r\\n        }\\r\\n\\r\\n        body {\\r\\n            font-family: 'Inter', sans-serif;\\r\\n            background-color: var(--bg-dark);\\r\\n            background-image: \\r\\n                linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),\\r\\n                linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);\\r\\n            background-size: 20px 20px;\\r\\n        }\\r\\n\\r\\n        .card {\\r\\n            background-color: var(--bg-medium);\\r\\n            border: 1px solid var(--bg-light);\\r\\n            border-radius: 1rem;\\r\\n            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\\r\\n            transition: all 0.3s ease-in-out;\\r\\n        }\\r\\n\\r\\n        .btn-primary {\\r\\n            background-color: var(--accent-primary);\\r\\n            color: var(--bg-dark);\\r\\n            transition: all 0.3s ease;\\r\\n            box-shadow: 0 4px 6px rgba(0,0,0,0.1);\\r\\n        }\\r\\n        .btn-primary:hover {\\r\\n            transform: translateY(-2px);\\r\\n            box-shadow: 0 7px 10px rgba(0,0,0,0.15);\\r\\n        }\\r\\n        .btn-secondary {\\r\\n            background-color: transparent;\\r\\n            border: 2px solid var(--bg-light);\\r\\n            color: var(--text-secondary);\\r\\n            transition: all 0.3s ease;\\r\\n        }\\r\\n        .btn-secondary:hover {\\r\\n            background-color: var(--bg-light);\\r\\n            color: var(--text-primary);\\r\\n            border-color: var(--bg-light);\\r\\n        }\\r\\n\\r\\n        .option-btn {\\r\\n            background-color: var(--bg-light);\\r\\n            border: 2px solid transparent;\\r\\n            color: var(--text-primary);\\r\\n            transition: all 0.2s ease;\\r\\n            position: relative;\\r\\n            overflow: hidden;\\r\\n        }\\r\\n        .option-btn:not(:disabled):hover {\\r\\n            border-color: var(--accent-primary);\\r\\n            transform: translateY(-1px);\\r\\n        }\\r\\n        .option-btn.correct {\\r\\n            border-color: var(--accent-secondary);\\r\\n        }\\r\\n        .option-btn.incorrect {\\r\\n            border-color: var(--accent-error);\\r\\n        }\\r\\n        \\r\\n        .progress-bar-container {\\r\\n            background-color: var(--bg-light);\\r\\n            border-radius: 9999px;\\r\\n            height: 0.75rem;\\r\\n            width: 100%;\\r\\n        }\\r\\n        .progress-bar {\\r\\n            background-color: var(--accent-primary);\\r\\n            border-radius: 9999px;\\r\\n            height: 100%;\\r\\n            transition: width 0.5s ease-in-out;\\r\\n        }\\r\\n        .rationale {\\r\\n            font-size: 0.875rem;\\r\\n            margin-top: 0.75rem;\\r\\n            padding-top: 0.75rem;\\r\\n            border-top: 1px solid var(--bg-light);\\r\\n            color: #d1d5db;\\r\\n        }\\r\\n        .rationale.correct-text { color: #86efac; }\\r\\n        .rationale.incorrect-text { color: #fca5a5; }\\r\\n\\r\\n        .fade-in {\\r\\n            animation: fadeIn 0.5s ease-in-out forwards;\\r\\n        }\\r\\n\\r\\n        @keyframes fadeIn {\\r\\n            from { opacity: 0; transform: translateY(10px); }\\r\\n            to { opacity: 1; transform: translateY(0); }\\r\\n        }\\r\\n    <\/style>\\r\\n<\/head>\\r\\n<body class=\\\"text-white flex items-center justify-center min-h-screen p-4\\\">\\r\\n\\r\\n    <div id=\\\"app-container\\\" class=\\\"w-full max-w-2xl mx-auto\\\">\\r\\n\\r\\n        <!-- Intro Page -->\\r\\n        <div id=\\\"intro-page\\\" class=\\\"card text-center p-8 fade-in\\\">\\r\\n            <h1 class=\\\"text-4xl font-bold text-white mb-2\\\">Wise Excellence<\/h1>\\r\\n            <h2 class=\\\"text-2xl font-semibold text-amber-400 mb-6\\\">Inventory Valuation Quiz<\/h2>\\r\\n            <p class=\\\"text-lg text-gray-300 mb-8 max-w-md mx-auto\\\">\\r\\n                Test your knowledge with 5 questions. You&#8217;ll have 5 minutes once you begin.\\r\\n            <\/p>\\r\\n            <button id=\\\"start-btn\\\" class=\\\"btn-primary font-bold py-3 px-12 text-lg rounded-full\\\">\\r\\n                Begin Assessment\\r\\n            <\/button>\\r\\n        <\/div>\\r\\n\\r\\n        <!-- Quiz Page -->\\r\\n        <div id=\\\"quiz-page\\\" class=\\\"hidden card p-6 md:p-8\\\">\\r\\n            <div class=\\\"mb-4\\\">\\r\\n                <div class=\\\"flex justify-between items-center text-sm text-gray-400 mb-2\\\">\\r\\n                    <span id=\\\"progress-text\\\">Question 1 \/ 5<\/span>\\r\\n                    <span id=\\\"timer\\\" class=\\\"font-semibold text-amber-400\\\">05:00<\/span>\\r\\n                <\/div>\\r\\n                <div class=\\\"progress-bar-container\\\">\\r\\n                    <div id=\\\"progress-bar\\\" class=\\\"progress-bar\\\" style=\\\"width: 0%;\\\"><\/div>\\r\\n                <\/div>\\r\\n            <\/div>\\r\\n            \\r\\n            <div id=\\\"question-container\\\" class=\\\"mt-6\\\">\\r\\n                <p id=\\\"question-text\\\" class=\\\"text-xl text-gray-100 mb-4 min-h-[5rem]\\\"><\/p>\\r\\n                \\r\\n                <div id=\\\"options-container\\\" class=\\\"grid grid-cols-1 gap-4 mb-6\\\">\\r\\n                    <!-- Options will be injected by JS -->\\r\\n                <\/div>\\r\\n\\r\\n                <div class=\\\"flex justify-between items-center\\\">\\r\\n                     <button id=\\\"hint-btn\\\" class=\\\"text-sm text-gray-400 hover:text-amber-400 transition-colors flex items-center gap-2\\\">\\r\\n                        <svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" class=\\\"h-5 w-5\\\" viewBox=\\\"0 0 20 20\\\" fill=\\\"currentColor\\\"><path fill-rule=\\\"evenodd\\\" d=\\\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z\\\" clip-rule=\\\"evenodd\\\" \/><\/svg>\\r\\n                        Hint\\r\\n                    <\/button>\\r\\n                    <div>\\r\\n                        <button id=\\\"skip-btn\\\" class=\\\"text-sm text-gray-500 hover:text-white underline mr-4\\\">Skip<\/button>\\r\\n                        <button id=\\\"next-btn\\\" class=\\\"hidden btn-primary font-bold py-2 px-6 rounded-full\\\">Next<\/button>\\r\\n                    <\/div>\\r\\n                <\/div>\\r\\n                 <div id=\\\"hint-text-container\\\" class=\\\"hidden bg-gray-700\/50 p-3 rounded-lg mt-4 text-gray-300 italic text-sm\\\">\\r\\n                    <!-- Hint goes here -->\\r\\n                <\/div>\\r\\n            <\/div>\\r\\n        <\/div>\\r\\n\\r\\n        <!-- Results Page -->\\r\\n        <div id=\\\"results-page\\\" class=\\\"hidden card p-6 md:p-8 text-center fade-in\\\">\\r\\n             <h2 class=\\\"text-3xl font-bold mb-2\\\">Assessment Complete<\/h2>\\r\\n             <p class=\\\"text-2xl font-semibold mb-6\\\" id=\\\"rating-text\\\"><\/p>\\r\\n            \\r\\n            <div class=\\\"relative w-48 h-48 mx-auto mb-6 flex items-center justify-center\\\">\\r\\n                <svg class=\\\"w-full h-full\\\" viewBox=\\\"0 0 100 100\\\">\\r\\n                    <circle class=\\\"text-gray-600\\\" stroke-width=\\\"8\\\" stroke=\\\"currentColor\\\" fill=\\\"transparent\\\" r=\\\"45\\\" cx=\\\"50\\\" cy=\\\"50\\\" \/>\\r\\n                    <circle id=\\\"score-ring\\\" class=\\\"text-amber-400\\\" stroke-width=\\\"8\\\" stroke-linecap=\\\"round\\\" stroke=\\\"currentColor\\\" fill=\\\"transparent\\\" r=\\\"45\\\" cx=\\\"50\\\" cy=\\\"50\\\" style=\\\"transition: stroke-dashoffset 1s ease-out;\\\"\/>\\r\\n                <\/svg>\\r\\n                <span id=\\\"score-text\\\" class=\\\"absolute text-4xl font-bold text-white\\\"><\/span>\\r\\n            <\/div>\\r\\n            \\r\\n            <div id=\\\"summary-section\\\" class=\\\"text-left bg-gray-800\/50 p-6 rounded-lg mb-6\\\">\\r\\n                <h3 class=\\\"text-xl font-semibold text-amber-400 mb-4\\\">Focus Areas:<\/h3>\\r\\n                <div id=\\\"summary-list\\\" class=\\\"space-y-4\\\">\\r\\n                    <!-- Summary points will be injected by JS -->\\r\\n                <\/div>\\r\\n                 <p id=\\\"no-improvement-needed\\\" class=\\\"hidden text-green-400\\\">Excellent work! You have a strong grasp of all concepts.<\/p>\\r\\n            <\/div>\\r\\n             <p class=\\\"text-md text-gray-300 mb-6\\\">Book a tutoring session with Wise Excellence to ace your final exam!<\/p>\\r\\n             <div class=\\\"flex justify-center items-center gap-4\\\">\\r\\n                <button id=\\\"finish-btn\\\" class=\\\"btn-secondary font-bold py-3 px-10 text-lg rounded-full\\\">Finish<\/button>\\r\\n                <button id=\\\"retake-btn\\\" class=\\\"btn-primary font-bold py-3 px-10 text-lg rounded-full\\\">Retake Quiz<\/button>\\r\\n             <\/div>\\r\\n        <\/div>\\r\\n    <\/div>\\r\\n\\r\\n    <script>\\r\\n        const tickIconSVG = `<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" class=\\\"h-6 w-6 text-green-400\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M5 13l4 4L19 7\\\" \/><\/svg>`;\\r\\n        const crossIconSVG = `<svg xmlns=\\\"http:\/\/www.w3.org\/2000\/svg\\\" class=\\\"h-6 w-6 text-red-400\\\" fill=\\\"none\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\"><path stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"2\\\" d=\\\"M6 18L18 6M6 6l12 12\\\" \/><\/svg>`;\\r\\n\\r\\n        const quizData = [\\r\\n            {\\r\\n                question: \\\"A grocery store sells fresh milk. Which inventory valuation method would be most suitable for this type of product?\\\",\\r\\n                hint: \\\"Think about the shelf life of the product. Which method ensures that the oldest items are accounted for as sold first?\\\",\\r\\n                concept: \\\"FIFO (First-In, First-Out) Method\\\",\\r\\n                conceptExplanation: \\\"The FIFO method assumes that the first units purchased are the first ones sold. This is essential for businesses dealing with perishable goods or items with an expiry date, like milk, to ensure accurate costing and stock rotation.\\\",\\r\\n                options: [\\r\\n                    { text: \\\"Weighted Average Method\\\", isCorrect: false, rationale: \\\"This method averages costs and is better for items that are identical and non-perishable, not for products with a short shelf life like milk.\\\" },\\r\\n                    { text: \\\"Specific Identification\\\", isCorrect: false, rationale: \\\"This method is used for unique, high-value items like cars, where each item's specific cost is tracked. It's impractical for milk.\\\" },\\r\\n                    { text: \\\"FIFO (First-In, First-Out)\\\", isCorrect: true, rationale: \\\"FIFO is ideal for perishable items like milk because it matches the physical flow of stock, assuming the oldest milk is sold first.\\\" },\\r\\n                    { text: \\\"Periodic Inventory System\\\", isCorrect: false, rationale: \\\"This is an inventory system, not a valuation method. A business could use the periodic system with FIFO valuation.\\\" }\\r\\n                ]\\r\\n            },\\r\\n            {\\r\\n                question: \\\"Under a Perpetual Inventory System, how is the Cost of Sales determined?\\\",\\r\\n                hint: \\\"The name 'Perpetual' implies continuous tracking. When would the cost be calculated?\\\",\\r\\n                concept: \\\"Perpetual vs. Periodic Systems\\\",\\r\\n                conceptExplanation: \\\"A key difference between the systems is when Cost of Sales is calculated. In a Perpetual system, modern technology allows for real-time tracking, providing up-to-date gross profit information.\\\",\\r\\n                options: [\\r\\n                    { text: \\\"By doing a physical stock count at the end of the year.\\\", isCorrect: false, rationale: \\\"This is the primary method used in a Periodic system, not a Perpetual system.\\\" },\\r\\n                    { text: \\\"It is calculated at the point of sale for each transaction.\\\", isCorrect: true, rationale: \\\"The Perpetual system continuously updates records, calculating the Cost of Sales every time an item is sold.\\\" },\\r\\n                    { text: \\\"Using the formula: Opening Stock + Purchases - Closing Stock.\\\", isCorrect: false, rationale: \\\"This formula is used at the end of the period in a Periodic inventory system.\\\" },\\r\\n                    { text: \\\"By estimating the value based on the previous year's sales.\\\", isCorrect: false, rationale: \\\"Estimating is not a feature of the Perpetual system, which relies on precise, real-time data.\\\" }\\r\\n                ]\\r\\n            },\\r\\n            {\\r\\n                question: \\\"A car dealership uses the Specific Identification method. If they have three cars in stock costing R200,000, R250,000, and R300,000, what is the value of their closing stock?\\\",\\r\\n                hint: \\\"The method name itself tells you exactly how to value the stock.\\\",\\r\\n                concept: \\\"Specific Identification Method\\\",\\r\\n                conceptExplanation: \\\"The Specific Identification method is straightforward: the value of inventory is the sum of the actual costs of all the individual items remaining in stock. It requires tracking each item separately.\\\",\\r\\n                options: [\\r\\n                    { text: \\\"R250,000 (the average cost)\\\", isCorrect: false, rationale: \\\"Using the average cost would be the Weighted Average method, not Specific Identification.\\\" },\\r\\n                    { text: \\\"R200,000 (the cost of the first car)\\\", isCorrect: false, rationale: \\\"This would be an incorrect application of FIFO; Specific Identification tracks each item individually.\\\" },\\r\\n                    { text: \\\"R750,000 (the total cost of all cars)\\\", isCorrect: true, rationale: \\\"With this method, the closing stock value is the sum of the specific costs of each unique item on hand.\\\" },\\r\\n                    { text: \\\"It cannot be determined without knowing which cars were sold.\\\", isCorrect: false, rationale: \\\"The question asks for the value of the stock they *have*, which is the total cost of all unsold cars.\\\" }\\r\\n                ]\\r\\n            },\\r\\n            {\\r\\n                question: \\\"What is a primary advantage of the Periodic Inventory System?\\\",\\r\\n                hint: \\\"Consider the technology and complexity involved in a Perpetual system. What would be the benefit of not having that?\\\",\\r\\n                concept: \\\"Advantages of Inventory Systems\\\",\\r\\n                conceptExplanation: \\\"While the Perpetual system is more accurate, it requires investment in technology. The Periodic system is a simpler, less expensive alternative that is suitable for businesses with high-volume, low-value goods.\\\",\\r\\n                options: [\\r\\n                    { text: \\\"It provides an up-to-date balance of stock on hand at all times.\\\", isCorrect: false, rationale: \\\"This is the main advantage of the Perpetual system, not the Periodic system.\\\" },\\r\\n                    { text: \\\"It is cheaper and easier to implement.\\\", isCorrect: true, rationale: \\\"The Periodic system does not require expensive scanning systems, making it a simpler and more cost-effective choice for some businesses.\\\" },\\r\\n                    { text: \\\"It easily identifies stock losses from theft.\\\", isCorrect: false, rationale: \\\"Identifying losses is harder in a Periodic system because there are no real-time records to compare against a physical count.\\\" },\\r\\n                    { text: \\\"Cost of sales is calculated with every transaction.\\\", isCorrect: false, rationale: \\\"This is a feature of the Perpetual system; the Periodic system calculates Cost of Sales at the end of a period.\\\" }\\r\\n                ]\\r\\n            },\\r\\n            {\\r\\n                question: \\\"When using the Weighted Average method, how is the average cost per unit calculated?\\\",\\r\\n                hint: \\\"This method blends the costs of all available items. What two totals do you need to find the average?\\\",\\r\\n                concept: \\\"Weighted Average Method Calculation\\\",\\r\\n                conceptExplanation: \\\"The Weighted Average method smooths out price fluctuations by calculating a single average cost for all inventory items. This average is then used to value both closing stock and the cost of sales.\\\",\\r\\n                options: [\\r\\n                    { text: \\\"Total value of sales divided by the number of units sold.\\\", isCorrect: false, rationale: \\\"This calculation would determine the average selling price, not the average cost.\\\" },\\r\\n                    { text: \\\"Total value of purchases divided by the number of units purchased.\\\", isCorrect: false, rationale: \\\"This only considers new purchases and ignores the value and units of the opening stock.\\\" },\\r\\n                    { text: \\\"Total value of goods available for sale divided by total units available.\\\", isCorrect: true, rationale: \\\"This is the correct formula, as it includes both opening stock and all purchases to find a true weighted average cost.\\\" },\\r\\n                    { text: \\\"The cost of the most recent purchase.\\\", isCorrect: false, rationale: \\\"Using the most recent cost would be part of the FIFO method's logic, not the Weighted Average method.\\\" }\\r\\n                ]\\r\\n            }\\r\\n        ];\\r\\n\\r\\n        \/\/ Page elements\\r\\n        const introPage = document.getElementById('intro-page');\\r\\n        const quizPage = document.getElementById('quiz-page');\\r\\n        const resultsPage = document.getElementById('results-page');\\r\\n        const startBtn = document.getElementById('start-btn');\\r\\n        \\r\\n        \/\/ Quiz elements\\r\\n        const timerEl = document.getElementById('timer');\\r\\n        const questionTextEl = document.getElementById('question-text');\\r\\n        const hintBtn = document.getElementById('hint-btn');\\r\\n        const hintTextContainer = document.getElementById('hint-text-container');\\r\\n        const optionsContainerEl = document.getElementById('options-container');\\r\\n        const progressTextEl = document.getElementById('progress-text');\\r\\n        const progressBar = document.getElementById('progress-bar');\\r\\n        const nextBtn = document.getElementById('next-btn');\\r\\n        const skipBtn = document.getElementById('skip-btn');\\r\\n        \\r\\n        \/\/ Results elements\\r\\n        const scoreRing = document.getElementById('score-ring');\\r\\n        const scoreTextEl = document.getElementById('score-text');\\r\\n        const ratingTextEl = document.getElementById('rating-text');\\r\\n        const summaryListEl = document.getElementById('summary-list');\\r\\n        const noImprovementEl = document.getElementById('no-improvement-needed');\\r\\n        const finishBtn = document.getElementById('finish-btn');\\r\\n        const retakeBtn = document.getElementById('retake-btn');\\r\\n\\r\\n        \/\/ State variables\\r\\n        let currentQuestionIndex = 0;\\r\\n        let score = 0;\\r\\n        let timerInterval;\\r\\n        let incorrectAnswers = [];\\r\\n        let finalPercentage = 0;\\r\\n\\r\\n        \/\/ Event Listeners\\r\\n        startBtn.addEventListener('click', startQuiz);\\r\\n        hintBtn.addEventListener('click', showHint);\\r\\n        nextBtn.addEventListener('click', nextQuestion);\\r\\n        skipBtn.addEventListener('click', skipQuestion);\\r\\n        retakeBtn.addEventListener('click', restartQuiz);\\r\\n        finishBtn.addEventListener('click', goToHome);\\r\\n\\r\\n        function showHint() {\\r\\n            hintTextContainer.classList.remove('hidden');\\r\\n            hintBtn.style.opacity = '0';\\r\\n        }\\r\\n\\r\\n        function nextQuestion() {\\r\\n            currentQuestionIndex++;\\r\\n            if (currentQuestionIndex < quizData.length) {\\r\\n                displayQuestion();\\r\\n            } else {\\r\\n                endQuiz();\\r\\n            }\\r\\n        }\\r\\n\\r\\n        function skipQuestion() {\\r\\n            incorrectAnswers.push(quizData[currentQuestionIndex]);\\r\\n            nextQuestion();\\r\\n        }\\r\\n\\r\\n        function restartQuiz() {\\r\\n            location.reload();\\r\\n        }\\r\\n\\r\\n        function goToHome() {\\r\\n            \/\/ Reset state\\r\\n            currentQuestionIndex = 0;\\r\\n            score = 0;\\r\\n            incorrectAnswers = [];\\r\\n            finalPercentage = 0;\\r\\n            summaryListEl.innerHTML = '';\\r\\n            noImprovementEl.classList.add('hidden');\\r\\n            \\r\\n            \/\/ Show intro page\\r\\n            resultsPage.classList.add('hidden');\\r\\n            introPage.classList.remove('hidden');\\r\\n            introPage.classList.add('fade-in');\\r\\n        }\\r\\n\\r\\n        function startQuiz() {\\r\\n            introPage.classList.add('hidden');\\r\\n            quizPage.classList.remove('hidden');\\r\\n            quizPage.classList.add('fade-in');\\r\\n            startTimer(300); \/\/ 5 minutes\\r\\n            displayQuestion();\\r\\n        }\\r\\n\\r\\n        function startTimer(duration) {\\r\\n            let time = duration;\\r\\n            timerInterval = setInterval(() => {\\r\\n                const minutes = Math.floor(time \/ 60);\\r\\n                let seconds = time % 60;\\r\\n                seconds = seconds < 10 ? '0' + seconds : seconds;\\r\\n                timerEl.textContent = `${minutes}:${seconds}`;\\r\\n                time--;\\r\\n                if (time < 0) {\\r\\n                    clearInterval(timerInterval);\\r\\n                    endQuiz();\\r\\n                }\\r\\n            }, 1000);\\r\\n        }\\r\\n\\r\\n        function displayQuestion() {\\r\\n            const questionData = quizData[currentQuestionIndex];\\r\\n            questionTextEl.textContent = questionData.question;\\r\\n            \\r\\n            hintTextContainer.textContent = questionData.hint;\\r\\n            hintTextContainer.classList.add('hidden');\\r\\n            hintBtn.style.opacity = '1';\\r\\n            nextBtn.classList.add('hidden');\\r\\n            skipBtn.classList.remove('hidden');\\r\\n\\r\\n            progressBar.style.width = `${(currentQuestionIndex \/ quizData.length) * 100}%`;\\r\\n            progressTextEl.textContent = `Question ${currentQuestionIndex + 1} \/ ${quizData.length}`;\\r\\n\\r\\n            optionsContainerEl.innerHTML = '';\\r\\n\\r\\n            questionData.options.forEach((option, index) => {\\r\\n                const button = document.createElement('button');\\r\\n                button.classList.add('option-btn', 'w-full', 'text-left', 'p-4', 'rounded-lg', 'font-medium', 'flex', 'justify-between', 'items-start');\\r\\n                button.dataset.index = index;\\r\\n                \\r\\n                const contentWrapper = document.createElement('div');\\r\\n                contentWrapper.classList.add('flex-grow', 'pr-4');\\r\\n\\r\\n                const optionText = document.createElement('span');\\r\\n                optionText.textContent = option.text;\\r\\n                \\r\\n                const rationaleDiv = document.createElement('div');\\r\\n                rationaleDiv.classList.add('rationale', 'hidden');\\r\\n                rationaleDiv.textContent = option.rationale;\\r\\n\\r\\n                contentWrapper.appendChild(optionText);\\r\\n                contentWrapper.appendChild(rationaleDiv);\\r\\n\\r\\n                const iconContainer = document.createElement('span');\\r\\n                iconContainer.classList.add('icon-container', 'hidden', 'flex-shrink-0', 'w-6', 'h-6', 'mt-1');\\r\\n\\r\\n                button.appendChild(contentWrapper);\\r\\n                button.appendChild(iconContainer);\\r\\n\\r\\n                button.addEventListener('click', selectAnswer);\\r\\n                optionsContainerEl.appendChild(button);\\r\\n            });\\r\\n        }\\r\\n\\r\\n        function selectAnswer(e) {\\r\\n            const selectedButton = e.currentTarget;\\r\\n            const selectedIndex = parseInt(selectedButton.dataset.index);\\r\\n            const questionData = quizData[currentQuestionIndex];\\r\\n\\r\\n            Array.from(optionsContainerEl.children).forEach((btn, index) => {\\r\\n                btn.disabled = true;\\r\\n                const optionData = questionData.options[index];\\r\\n                const rationaleDiv = btn.querySelector('.rationale');\\r\\n                rationaleDiv.classList.remove('hidden');\\r\\n                \\r\\n                if (optionData.isCorrect) {\\r\\n                    const iconContainer = btn.querySelector('.icon-container');\\r\\n                    btn.classList.add('correct');\\r\\n                    rationaleDiv.classList.add('correct-text');\\r\\n                    iconContainer.innerHTML = tickIconSVG;\\r\\n                    iconContainer.classList.remove('hidden');\\r\\n                }\\r\\n            });\\r\\n\\r\\n            if (questionData.options[selectedIndex].isCorrect) {\\r\\n                score++;\\r\\n            } else {\\r\\n                incorrectAnswers.push(questionData);\\r\\n                const iconContainer = selectedButton.querySelector('.icon-container');\\r\\n                const rationaleDiv = selectedButton.querySelector('.rationale');\\r\\n                selectedButton.classList.add('incorrect');\\r\\n                rationaleDiv.classList.add('incorrect-text');\\r\\n                iconContainer.innerHTML = crossIconSVG;\\r\\n                iconContainer.classList.remove('hidden');\\r\\n            }\\r\\n            \\r\\n            nextBtn.classList.remove('hidden');\\r\\n            skipBtn.classList.add('hidden');\\r\\n            hintBtn.style.opacity = '0';\\r\\n        }\\r\\n\\r\\n        function endQuiz() {\\r\\n            clearInterval(timerInterval);\\r\\n            quizPage.classList.add('hidden');\\r\\n            \\r\\n            finalPercentage = Math.round((score \/ quizData.length) * 100);\\r\\n            \\r\\n            resultsPage.classList.remove('hidden');\\r\\n            showResults(finalPercentage);\\r\\n        }\\r\\n        \\r\\n        function showResults(percentage) {\\r\\n            scoreTextEl.textContent = `${percentage}%`;\\r\\n\\r\\n            const radius = 45;\\r\\n            const circumference = 2 * Math.PI * radius;\\r\\n            const offset = circumference - (percentage \/ 100) * circumference;\\r\\n            scoreRing.style.strokeDasharray = `${circumference} ${circumference}`;\\r\\n            scoreRing.style.strokeDashoffset = offset;\\r\\n\\r\\n\\r\\n            if (percentage >= 80) {\\r\\n                ratingTextEl.textContent = \\\"Excellent!\\\";\\r\\n                ratingTextEl.className = 'text-2xl font-semibold mb-6 text-green-400';\\r\\n            } else if (percentage < 20) {\\r\\n                ratingTextEl.textContent = \\\"Needs Urgent Attention\\\";\\r\\n                ratingTextEl.className = 'text-2xl font-semibold mb-6 text-red-500';\\r\\n            } else {\\r\\n                ratingTextEl.textContent = \\\"Needs Improvement\\\";\\r\\n                ratingTextEl.className = 'text-2xl font-semibold mb-6 text-yellow-400';\\r\\n            }\\r\\n\\r\\n            summaryListEl.innerHTML = ''; \/\/ Clear previous summary\\r\\n            if (incorrectAnswers.length === 0 &#038;&#038; percentage > 0) { \/\/ Check for score > 0 to handle case where student skips all and gets 0%\\r\\n                noImprovementEl.classList.remove('hidden');\\r\\n            } else {\\r\\n                noImprovementEl.classList.add('hidden');\\r\\n                const conceptsToReview = incorrectAnswers.reduce((acc, item) => {\\r\\n                    if (!acc[item.concept]) {\\r\\n                        acc[item.concept] = item.conceptExplanation;\\r\\n                    }\\r\\n                    return acc;\\r\\n                }, {});\\r\\n\\r\\n                for (const concept in conceptsToReview) {\\r\\n                    const conceptDiv = document.createElement('div');\\r\\n                    conceptDiv.className = 'bg-gray-700\/50 p-4 rounded-lg';\\r\\n                    const title = document.createElement('h4');\\r\\n                    title.textContent = concept;\\r\\n                    title.classList.add('font-semibold', 'text-white', 'text-lg');\\r\\n                    \\r\\n                    const explanation = document.createElement('p');\\r\\n                    explanation.textContent = conceptsToReview[concept];\\r\\n                    explanation.classList.add('text-gray-300', 'mt-1', 'text-sm');\\r\\n\\r\\n                    conceptDiv.appendChild(title);\\r\\n                    conceptDiv.appendChild(explanation);\\r\\n                    summaryListEl.appendChild(conceptDiv);\\r\\n                }\\r\\n            }\\r\\n        }\\r\\n    <\/script>\\r\\n\\r\\n<\/body>\\r\\n<\/html>\\r\\n\\r\\n&#8221;}\n\n\n\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":525,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[18,23],"tags":[26],"class_list":["post-650","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-grade-12","category-high-school","tag-topics"],"_links":{"self":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/posts\/650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/comments?post=650"}],"version-history":[{"count":8,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/posts\/650\/revisions"}],"predecessor-version":[{"id":1069,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/posts\/650\/revisions\/1069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/media\/525"}],"wp:attachment":[{"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/media?parent=650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/categories?post=650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiseexcellence.co.za\/high-school\/wp-json\/wp\/v2\/tags?post=650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}