{"id":4025,"date":"2026-06-15T01:13:59","date_gmt":"2026-06-15T01:13:59","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-5-test-3-rw\/"},"modified":"2026-07-05T02:44:09","modified_gmt":"2026-07-05T02:44:09","slug":"cambridge-ket-5-test-3-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-5-test-3-rw\/","title":{"rendered":"KET 5 \u2014 Test 3 Reading &#038; Writing"},"content":{"rendered":"\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400%3B500%3B600%3B700%3B800&family=Fraunces:opsz,wght@9..144,700&display=swap');\n\n\/* escape WP wrapper *\/\n.entry-content,.wp-block-post-content,.is-layout-constrained{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}\n.wp-block-post-title{display:none !important;}\n\n:root{\n  --accent-1:#F97316;\n  --accent-2:#F43F5E;\n  --gold:#F9C74F;\n  --green:#10B981;\n  --red:#EF4444;\n  --light-1:#FFF7ED;\n  --light-2:#FFFBF5;\n  --white:#FFFFFF;\n  --text:#0F172A;\n  --muted:#475569;\n  --subtle:#64748B;\n  --border:#E2E8F0;\n  --dark-1:#1B0F02;\n  --dark-2:#2D1A06;\n  --r-10:10px; --r-16:16px; --r-22:22px;\n  --sh-card:0 2px 8px rgba(0,0,0,.06);\n  --sh-lg:0 12px 40px rgba(0,0,0,.12);\n}\n*{margin:0;padding:0;box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{\n  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;\n  color:var(--text);\n  background:var(--light-2);\n  -webkit-font-smoothing:antialiased;\n  overflow-x:hidden;\n}\n.serif{font-family:'Fraunces',Georgia,serif !important;font-weight:700;letter-spacing:-.01em}\n.wrap{max-width:1080px;margin:0 auto;padding:0 24px}\na{color:inherit;text-decoration:none}\nbutton{font-family:inherit !important;cursor:pointer;border:none;background:none}\n\n\/* HEADER (same pattern as cambridge index) *\/\n.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .28s ease,box-shadow .28s ease;border-bottom:1px solid transparent;}\n.header.solid{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(15,23,42,.02);}\n.header-inner{display:flex;align-items:center;gap:28px;height:72px;max-width:1200px;margin:0 auto;padding:0 24px}\n.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}\n.brand img{width:40px;height:40px;border-radius:11px;object-fit:cover;box-shadow:var(--sh-card)}\n.brand-name{font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;transition:color .28s ease}\n.header.solid .brand-name{color:var(--text)}\n.nav{display:flex;align-items:center;gap:4px;margin-left:8px}\n.nav a{position:relative;padding:9px 13px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.82);border-radius:var(--r-10);transition:color .16s ease,background .16s ease;}\n.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}\n.header.solid .nav a{color:var(--muted)}\n.header.solid .nav a:hover{color:var(--text);background:var(--light-1)}\n.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}\n.btn-back{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);transition:background .16s ease}\n.btn-back:hover{background:rgba(255,255,255,.22)}\n.header.solid .btn-back{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.hamburger{display:none;width:40px;height:40px;border-radius:50%;color:#fff;align-items:center;justify-content:center}\n.header.solid .hamburger{color:var(--text)}\n\n\/* HERO *\/\n.hero{\n  position:relative;min-height:380px;padding:120px 0 60px;\n  background:linear-gradient(135deg,#FB923C 0%,#F43F5E 55%,#7C2D12 100%);\n  color:#fff;overflow:hidden;\n}\n.hero::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.10) 0%,transparent 50%);pointer-events:none}\n.hero .wrap{position:relative;z-index:1}\n.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.92;margin-bottom:14px}\n.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin-bottom:14px}\n.hero h1 span{font-style:italic;color:var(--gold)}\n.hero p.sub{font-size:17px;line-height:1.6;max-width:680px;opacity:.95;margin-bottom:22px}\n.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}\n.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:600}\n.meta-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}\n.cta-row{display:flex;gap:12px;flex-wrap:wrap}\n.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:#fff;color:var(--text);font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .16s ease}\n.btn-primary:hover{transform:translateY(-2px)}\n.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700;font-size:15px;border:1px solid rgba(255,255,255,.32);transition:background .16s ease}\n.btn-ghost:hover{background:rgba(255,255,255,.22)}\n\n\/* SCORE BAR *\/\n.score-bar{\n  position:sticky;top:72px;z-index:50;\n  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);\n  border-bottom:1px solid var(--border);\n  padding:14px 0;\n}\n.sb-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}\n.sb-prog{flex:1;min-width:200px}\n.sb-prog-bar{height:8px;background:var(--light-1);border-radius:999px;overflow:hidden}\n.sb-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));border-radius:999px;transition:width .3s ease;width:0}\n.sb-prog-label{font-size:12px;color:var(--muted);margin-top:5px;font-weight:600}\n.sb-score{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--text)}\n.sb-score b{font-size:18px;color:var(--accent-1)}\n.btn-submit{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:14px;box-shadow:0 6px 18px rgba(249,115,22,.32);transition:transform .15s ease,opacity .15s ease}\n.btn-submit:hover{transform:translateY(-1px)}\n.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}\n.btn-reset{padding:10px 16px;border-radius:999px;background:#fff;color:var(--muted);font-weight:600;font-size:13px;border:1px solid var(--border);transition:background .15s ease}\n.btn-reset:hover{background:var(--light-1);color:var(--text)}\n\n\/* PARTS *\/\n.part-section{padding:48px 0;border-bottom:1px solid var(--border)}\n.part-section:nth-of-type(even){background:#fff}\n.part-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}\n.part-num{\n  flex-shrink:0;width:60px;height:60px;border-radius:18px;\n  background:linear-gradient(135deg,var(--accent-1),var(--accent-2));\n  color:#fff;display:grid;place-items:center;\n  font-family:'Fraunces',serif !important;font-weight:700;font-size:26px;\n  box-shadow:0 8px 22px rgba(249,115,22,.3);\n}\n.part-head-text h2{font-size:26px;line-height:1.15;margin-bottom:6px}\n.part-head-text .qrange{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-1);background:var(--light-1);padding:4px 10px;border-radius:999px;letter-spacing:.04em;margin-bottom:8px}\n.part-head-text p{color:var(--muted);font-size:15px;line-height:1.55;max-width:740px}\n\n\/* PART 1 &#8212; notice match *\/\n.notices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:20px 0 28px}\n.notice{\n  background:#fff;border:2px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;\n  font-weight:700;letter-spacing:.02em;color:var(--text);min-height:88px;display:grid;place-items:center;\n  font-size:14.5px;line-height:1.35;\n  box-shadow:0 1px 3px rgba(0,0,0,.04);\n}\n.notice-letter{position:absolute;top:6px;left:8px;font-size:11px;font-weight:800;color:var(--accent-1);background:var(--light-1);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;}\n.notice{position:relative}\n\n\/* questions list *\/\n.q-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}\n.q-item{\n  background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;\n  display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease,box-shadow .2s ease;\n}\n.q-item.correct{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.12)}\n.q-item.wrong{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.12)}\n.q-num{font-weight:800;color:var(--accent-1);font-size:14px;min-width:30px}\n.q-text{flex:1;font-size:15.5px;line-height:1.55;color:var(--text);display:flex;gap:10px;align-items:flex-start}\n.q-text b.qn{color:var(--accent-1);font-weight:800}\n.q-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}\n.opt{\n  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;\n  background:#F8FAFF;border:1.5px solid var(--border);font-weight:600;font-size:14px;color:var(--text);\n  cursor:pointer;transition:all .15s ease;user-select:none;\n}\n.opt:hover{background:var(--light-1);border-color:var(--accent-1)}\n.opt input{display:none}\n.opt .opt-letter{font-weight:800;color:var(--accent-1);background:#fff;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12.5px;border:1px solid var(--border)}\n.opt.selected{background:linear-gradient(100deg,rgba(249,115,22,.12),rgba(244,63,94,.12));border-color:var(--accent-1)}\n.opt.selected .opt-letter{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.opt.correct-opt{background:rgba(16,185,129,.12) !important;border-color:var(--green) !important}\n.opt.correct-opt .opt-letter{background:var(--green) !important;color:#fff !important;border-color:transparent !important}\n.opt.wrong-opt{background:rgba(239,68,68,.10) !important;border-color:var(--red) !important}\n.opt.wrong-opt .opt-letter{background:var(--red) !important;color:#fff !important;border-color:transparent !important}\n.feedback{font-size:13px;font-weight:600;display:none;padding:8px 12px;border-radius:8px;margin-top:4px}\n.q-item.answered .feedback{display:block}\n.q-item.correct .feedback{background:rgba(16,185,129,.12);color:#065F46}\n.q-item.wrong .feedback{background:rgba(239,68,68,.10);color:#991B1B}\n\n\/* PART 2 \/ cloze with input *\/\n.input-blank{\n  display:inline-block;min-width:90px;border:none;border-bottom:2px dashed var(--accent-1);\n  background:transparent;font-family:inherit !important;font-size:15.5px;color:var(--text);font-weight:600;\n  padding:2px 6px;margin:0 4px;text-align:center;outline:none;\n}\n.input-blank:focus{border-bottom-style:solid;background:var(--light-1)}\n.input-blank.correct{border-bottom-color:var(--green);color:#065F46;background:rgba(16,185,129,.10)}\n.input-blank.wrong{border-bottom-color:var(--red);color:#991B1B;background:rgba(239,68,68,.08)}\n\n\/* PART 4 &#8212; passage *\/\n.passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;\n  padding:24px 26px;margin:8px 0 20px;\n  font-size:15.5px;line-height:1.7;color:var(--text);\n  box-shadow:var(--sh-card);\n  position:relative;\n}\n.passage h3{font-family:'Fraunces',serif !important;font-size:22px;text-align:center;margin-bottom:14px;letter-spacing:.02em;color:var(--accent-2)}\n.passage p{margin-bottom:10px}\n\n\/* PART 5 &#8212; cloze passage *\/\n.cloze-passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px 26px;\n  font-size:16px;line-height:1.8;color:var(--text);box-shadow:var(--sh-card);margin-bottom:24px;\n}\n.cloze-passage h3{font-family:'Fraunces',serif !important;font-size:24px;text-align:center;color:var(--accent-2);margin-bottom:14px}\n\n\/* PART 6 &#8212; single word with first letter *\/\n.word-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.first-letter{font-weight:700;color:var(--accent-1);font-size:18px;font-family:'Fraunces',serif}\n.dashes{color:var(--muted);letter-spacing:6px;font-weight:600}\n\n\/* PART 8 &#8212; form *\/\n.form-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px;max-width:560px}\n.form-card h4{font-family:'Fraunces',serif !important;font-size:20px;text-align:center;color:var(--accent-2);margin-bottom:6px;border-bottom:2px solid var(--accent-1);padding-bottom:8px;display:inline-block;width:100%}\n.form-row{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}\n.form-row label{flex:0 0 200px;font-weight:600;color:var(--text);font-size:14.5px}\n.form-row .input-blank{flex:1;min-width:200px;text-align:left;font-size:14.5px}\n\n\/* PART 9 &#8212; writing *\/\n.writing-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px}\n.prompt-box{background:var(--light-1);border-left:4px solid var(--accent-1);padding:14px 18px;border-radius:0 12px 12px 0;margin-bottom:18px;font-size:15px;line-height:1.6}\n.prompt-box ul{margin:10px 0 4px 22px}\n.prompt-box li{margin-bottom:4px}\n.writing-area{width:100%;min-height:160px;padding:14px;font-family:inherit !important;font-size:15px;line-height:1.55;border:2px solid var(--border);border-radius:12px;background:#FAFBFC;color:var(--text);outline:none;resize:vertical;transition:border-color .2s ease}\n.writing-area:focus{border-color:var(--accent-1);background:#fff}\n.wc-counter{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--muted);font-weight:600}\n.wc-counter.ok{color:var(--green)}\n.wc-counter.over{color:var(--red)}\n.sample-toggle{margin-top:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:13.5px;border:none;cursor:pointer}\n.sample-box{display:none;margin-top:14px;padding:14px 18px;background:#FEF3C7;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;font-size:14.5px;line-height:1.6}\n.sample-box.show{display:block}\n.sample-box h5{font-family:'Fraunces',serif !important;font-size:16px;margin-bottom:8px;color:#92400E}\n\n\/* SHOW ANSWER PER-Q BUTTONS *\/\n.show-ans-btn{\n  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:12px;\n  border:1px solid rgba(249,115,22,.30);cursor:pointer;transition:all .15s ease;\n  font-family:inherit !important;align-self:flex-start;margin-top:4px;letter-spacing:.02em;\n}\n.show-ans-btn:hover{background:rgba(249,115,22,.18);border-color:var(--accent-1)}\n.show-ans-btn[disabled]{opacity:.45;cursor:not-allowed}\n.show-ans-btn .emoji{width:14px;height:14px}\n.show-ans-btn-inline{\n  display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:11.5px;\n  border:1px solid rgba(249,115,22,.28);cursor:pointer;font-family:inherit !important;\n  margin-left:4px;vertical-align:middle;transition:all .15s ease;\n}\n.show-ans-btn-inline:hover{background:rgba(249,115,22,.18)}\n.show-ans-btn-inline[disabled]{opacity:.45;cursor:not-allowed}\n\n\/* RESULTS BANNER *\/\n.results-banner{\n  display:none;margin:32px auto;padding:30px;border-radius:22px;\n  background:linear-gradient(135deg,#FB923C,#F43F5E);color:#fff;text-align:center;max-width:720px;\n  box-shadow:0 16px 50px rgba(249,115,22,.3);\n}\n.results-banner.show{display:block}\n.results-banner h3{font-size:30px;font-family:'Fraunces',serif !important;margin-bottom:10px}\n.results-banner .score-big{font-size:64px;font-weight:800;line-height:1;margin:14px 0;font-family:'Fraunces',serif}\n.results-banner p{opacity:.95;font-size:15px}\n\n\/* FOOTER *\/\n.footer{background:var(--dark-1);color:#9CA3AF;padding:36px 0;text-align:center;font-size:13.5px}\n.footer a{color:var(--gold);font-weight:600}\n\n\/* MOBILE *\/\n@media (max-width:820px){\n  .nav{display:none}\n  .hamburger{display:flex}\n  .hero{padding:110px 0 50px}\n  .part-head{flex-direction:column;gap:12px}\n  .part-num{width:50px;height:50px;font-size:22px}\n  .notices-grid{grid-template-columns:repeat(2,1fr)}\n  .form-row label{flex:1 1 100%}\n  .form-row .input-blank{width:100%}\n  .sb-inner{gap:10px}\n  .sb-prog{order:3;flex:1 1 100%}\n}\n\n\/* mobile drawer *\/\n.drawer{position:fixed;inset:0;background:rgba(15,23,42,.65);z-index:200;display:none;align-items:flex-start;justify-content:flex-end}\n.drawer.open{display:flex}\n.drawer-panel{width:280px;background:#fff;height:100%;padding:24px;display:flex;flex-direction:column;gap:8px}\n.drawer-panel a{padding:12px 14px;border-radius:10px;font-weight:600;color:var(--text)}\n.drawer-panel a:hover{background:var(--light-1)}\n.drawer-close{align-self:flex-end;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}\n<\/style>\n\n<!-- HEADER -->\n<header class=\"header\" id=\"hdr\">\n  <div class=\"header-inner\">\n    <a href=\"https:\/\/allenglish4u.com\" class=\"brand\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/04\/Transparent-background-MacBook-Pro-cua-Hang.png\" alt=\"AE4U\">\n      <span class=\"brand-name\">All English 4U<\/span>\n    <\/a>\n    <nav class=\"nav\">\n      <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"active\">Cambridge<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n      <\/nav>\n    <div class=\"header-right\">\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-back\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M19 12H5M11 18l-6-6 6-6\"\/><\/svg>\n        Back\n      <\/a>\n      <button class=\"hamburger\" id=\"hamb\" aria-label=\"Menu\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M3 6h18M3 12h18M3 18h18\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"drawer\" id=\"drawer\">\n  <div class=\"drawer-panel\">\n    <button class=\"drawer-close\" id=\"drawerClose\" aria-label=\"Close\">\n      <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n    <\/button>\n    <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">Cambridge<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n    <\/div>\n<\/div>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"kicker\">Cambridge English &#183; Key (KET)<\/span>\n    <h1 class=\"serif\">KET 5 &#8212; Test 3<br><span>Reading &amp; Writing<\/span><\/h1>\n    <p class=\"sub\">Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn from instant feedback.<\/p>\n    <div class=\"hero-meta\">\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>1 hour 10 minutes<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>9 Parts<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>55 auto-graded<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>+ Writing prompt<\/span>\n    <\/div>\n    <div class=\"cta-row\">\n      <a href=\"#part1\" class=\"btn-primary\">\n        Start Test\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\n      <\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-ghost\">All Cambridge Tests<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SCORE BAR -->\n<div class=\"score-bar\" id=\"scoreBar\">\n  <div class=\"wrap sb-inner\">\n    <div class=\"sb-score\">Score <b><span id=\"scoreNow\">0<\/span>\/55<\/b><\/div>\n    <div class=\"sb-prog\">\n      <div class=\"sb-prog-bar\"><div class=\"sb-prog-fill\" id=\"progFill\"><\/div><\/div>\n      <div class=\"sb-prog-label\"><span id=\"answeredCount\">0<\/span> of 55 answered<\/div>\n    <\/div>\n    <button class=\"btn-submit\" id=\"submitBtn\">\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n      Submit &amp; Grade\n    <\/button>\n    <button class=\"btn-reset\" id=\"resetBtn\">Reset<\/button>\n  <\/div>\n<\/div>\n\n<!-- ============== PART 1 ============== -->\n<section class=\"part-section\" id=\"part1\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">1<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 1&#8211;5<\/span>\n        <h2 class=\"serif\">Match the notice<\/h2>\n        <p>Which notice (A&#8211;H) says this (1&#8211;5)? For questions 1&#8211;5, choose the correct letter A&#8211;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"notices-grid\">\n      <div class=\"notice\"><span class=\"notice-letter\">A<\/span>Children&#8217;s book department now on ground floor<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span><b>Grey&#8217;s Books<\/b><br><sub style=\"font-size:11px;font-weight:600\">Famous children&#8217;s writer, Michael Whistler, here on Monday 25th<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span><b>SALE<\/b><br>All travel books &#8211; half price<\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">D<\/span><b>Coffee shop first floor<\/b><br>Hot drinks &amp; snacks 9.30&#8211;6.30<br><sub style=\"font-size:10px;color:var(--muted);font-style:italic;font-weight:600\">(example)<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">E<\/span><sub style=\"font-size:12px;font-weight:600;font-style:italic\">Just arrived! The Teenage Diaries by Judy Watson<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span>Can&#8217;t find the right book?<br>Ask at the information desk<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span><b>WANTED<\/b> &#8211; Sales assistant to work in children&#8217;s book department<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">H<\/span><b>New for customers<\/b><br><sub style=\"font-size:11px;font-weight:600;font-style:italic\">Visit our new website to order your books<\/sub><\/div>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part1List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 2 ============== -->\n<section class=\"part-section\" id=\"part2\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">2<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 6&#8211;10<\/span>\n        <h2 class=\"serif\">A club for teenagers<\/h2>\n        <p>Read the sentences (6&#8211;10) about a club for teenagers. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example:<\/b> Harry Brennan has just joined a club <u>called<\/u> Teens Plus. <b>(Answer: A)<\/b>\n    <\/div>\n    <div class=\"q-list\" id=\"part2List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3a ============== -->\n<section class=\"part-section\" id=\"part3a\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 11&#8211;15<\/span>\n        <h2 class=\"serif\">Complete the conversations<\/h2>\n        <p>Complete the five conversations. Choose the correct answer (A, B or C).<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example:<\/b> Where do you come from? &#8212; <b>A<\/b> New York.\n    <\/div>\n    <div class=\"q-list\" id=\"part3aList\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3b ============== -->\n<section class=\"part-section\" id=\"part3b\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 16&#8211;20<\/span>\n        <h2 class=\"serif\">Plans for the weekend: Saskia &amp; Melissa<\/h2>\n        <p>Complete the conversation between two friends. What does Melissa say to Saskia? For each blank, choose the correct letter A&#8211;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;margin-bottom:18px;font-size:14.5px;line-height:1.7\">\n      <p><b>Saskia:<\/b> Hello, Melissa, what are you doing this weekend?<\/p>\n      <p><b>Melissa:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: D)<\/span><\/p>\n      <p><b>Saskia:<\/b> Oh yes, I&#8217;ve been there.<\/p>\n      <p><b>Melissa:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Saskia:<\/b> I went to a concert, but I&#8217;ve heard there&#8217;s a good play on this week.<\/p>\n      <p><b>Melissa:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Saskia:<\/b> Do you think they&#8217;ve still got tickets for it?<\/p>\n      <p><b>Melissa:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Saskia:<\/b> Great! I&#8217;ll book today and call you this evening.<\/p>\n      <p><b>Melissa:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Saskia:<\/b> Let me check I&#8217;ve got your mobile number.<\/p>\n      <p><b>Melissa:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>B<\/option><option>C<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Saskia:<\/b> It&#8217;s OK, I&#8217;ve got it.<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;font-size:14px;line-height:1.85\">\n      <b style=\"color:var(--accent-1);display:block;margin-bottom:6px\">Choices:<\/b>\n      <div><b>A<\/b> Well, they had lots left yesterday.<\/div>\n      <div><b>B<\/b> Was it a famous singer?<\/div>\n      <div><b>C<\/b> That&#8217;s what I&#8217;m going to see on Saturday. Would you like to come?<\/div>\n      <div style=\"opacity:.5\"><b>D<\/b> I&#8217;m going to the new theatre in Bridge Street. <i>(example)<\/i><\/div>\n      <div><b>E<\/b> Shall I give it to you again?<\/div>\n      <div><b>F<\/b> OK. I&#8217;ll be home after eight o&#8217;clock.<\/div>\n      <div><b>G<\/b> No, I don&#8217;t really think so.<\/div>\n      <div><b>H<\/b> What did you go and see?<\/div>\n    <\/div>\n\n    <div id=\"part3bFeedback\" style=\"margin-top:14px\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 4 ============== -->\n<section class=\"part-section\" id=\"part4\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">4<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 21&#8211;27<\/span>\n        <h2 class=\"serif\">World traveller<\/h2>\n        <p>Read the article about Nick Barlow, who makes travel programmes for television. Are sentences 21&#8211;27 <b>&#8216;Right&#8217; (A)<\/b> or <b>&#8216;Wrong&#8217; (B)<\/b>? If there is not enough information to answer &#8216;Right&#8217; or &#8216;Wrong&#8217;, choose <b>&#8216;Doesn&#8217;t say&#8217; (C)<\/b>.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"passage\">\n      <h3>World traveller<\/h3>\n      <p>Nick Barlow loves his work. He&#8217;s a British actor and he travels around the world making TV programmes. &#8216;People welcome me everywhere I go and when I get home I remember all the wonderful things that happened in each country.&#8217; Nick has travelled to many places but there are a few trips that he would still like to make. &#8216;I&#8217;d love to visit South America and go back to Australia one day,&#8217; he says.<\/p>\n      <p>On each trip, Nick travels with a team of people. They bring the cameras and other filming equipment needed to make the programme. Nick doesn&#8217;t take a lot of things for himself, just a few shirts and trousers, but he always makes sure he has some books in his suitcase.<\/p>\n      <p>Nick&#8217;s wife, Helen, doesn&#8217;t mind him travelling for his work. She has a lot of friends and keeps busy. When he gets back, she likes to listen to all his travel stories. But sometimes there are problems. When he was in the Malaysian rain forest, Nick heard that his wife was ill in hospital. &#8216;I felt terrible because I couldn&#8217;t help, but she didn&#8217;t want me to come home. I was so happy when I heard she was better.&#8217;<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 18px;margin-bottom:18px;font-size:14px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> Nick Barlow enjoys his job. &#8594; <b>A (Right)<\/b>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part4List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 5 ============== -->\n<section class=\"part-section\" id=\"part5\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">5<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 28&#8211;35<\/span>\n        <h2 class=\"serif\">Big cats &#8212; gap fill<\/h2>\n        <p>Read the article about big cats. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>Big cats<\/h3>\n      <p>There are <u><b style=\"color:var(--accent-1)\">many<\/b><\/u> different kinds of cats. They are different in size and they do not look or act the same.<\/p>\n      <p>Tigers are the biggest cats. <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> head to tail they can be 3.7m long. Most cats don&#8217;t like water, <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> tigers will often lie in a pool of water when <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> is hot!<\/p>\n      <p>Lions are the <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> cats that stay together in large family groups. Several lions may work together to get food for the group. They usually <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> in flat, open countryside where they can see a long way and easily follow <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> animals.<\/p>\n      <p><span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> cats need good eyes, because they catch smaller animals for their food. They also need to be fast, and <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> strong.<\/p>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part5List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 6 ============== -->\n<section class=\"part-section\" id=\"part6\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">6<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 36&#8211;40<\/span>\n        <h2 class=\"serif\">Buildings in a town &#8212; spell the word<\/h2>\n        <p>Read the descriptions (36&#8211;40) of some buildings in a town. The first letter is given. Type the word. <b>Example (0):<\/b> This is where a company makes the things that it sells. &#8594; <b>factory<\/b><\/p>\n      <\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part6List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 7 ============== -->\n<section class=\"part-section\" id=\"part7\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">7<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 41&#8211;50<\/span>\n        <h2 class=\"serif\">Complete this letter<\/h2>\n        <p>Read the letter from Tom to his new penfriend Deshini. Type <b>ONE word<\/b> for each space (41&#8211;50). (Example: <i>you<\/i>)<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"max-width:600px;margin:0 auto\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px 26px;font-size:14.5px;line-height:1.95;font-family:'Courier New',monospace\">\n        <p>Dear Deshini,<\/p>\n        <p>It&#8217;s great that (Example: <u>you<\/u>) are my new penfriend. My name is Tom and I <input class=\"input-blank\" data-q=\"41\" type=\"text\"> fifteen years old. I <input class=\"input-blank\" data-q=\"42\" type=\"text\"> born in Canada but I live in England now. Please write and tell me all <input class=\"input-blank\" data-q=\"43\" type=\"text\"> your life in India. I <input class=\"input-blank\" data-q=\"44\" type=\"text\"> love to go there one day.<\/p>\n        <p>Do you live in a small village <input class=\"input-blank\" data-q=\"45\" type=\"text\"> in a big town? <input class=\"input-blank\" data-q=\"46\" type=\"text\"> is your school like? <input class=\"input-blank\" data-q=\"47\" type=\"text\"> you got any pictures of your school you could send me? I&#8217;m sending you <input class=\"input-blank\" data-q=\"48\" type=\"text\"> few photos of my family. I&#8217;ll send more the <input class=\"input-blank\" data-q=\"49\" type=\"text\"> time I write.<\/p>\n        <p>I hope you&#8217;ll write <input class=\"input-blank\" data-q=\"50\" type=\"text\"> me soon.<\/p>\n        <p>Tom<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 8 ============== -->\n<section class=\"part-section\" id=\"part8\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">8<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 51&#8211;55<\/span>\n        <h2 class=\"serif\">Marina&#8217;s notes &#8212; sports course<\/h2>\n        <p>Read the advertisement and the email. Fill in the information in Marina&#8217;s notes (51&#8211;55).<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px\">\n      <div style=\"background:#fff;border:2px solid var(--text);border-radius:12px;padding:16px 18px;font-size:14px;line-height:1.6;height:fit-content\">\n        <div style=\"text-align:center;font-weight:800;letter-spacing:.03em\">RIVERSIDE SPORTS CLUB<\/div>\n        <div style=\"text-align:center;font-weight:700;margin-top:4px\">CLASSES<\/div>\n        <div style=\"margin-top:8px\"><b>Swimming<\/b><br>Thursday or Sunday<br>2 p.m. and 7 p.m.<\/div>\n        <div style=\"margin-top:8px\"><b>Tennis<\/b><br>Thursday or Saturday<br>2 p.m. and 8 p.m.<\/div>\n        <div style=\"margin-top:8px\">Price of courses:<br>Daytime &nbsp; &#163;20<br>Evenings &nbsp; &#163;30<\/div>\n      <\/div>\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.6\">\n        <div style=\"border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:10px\"><b>From:<\/b> Vika<br><b>To:<\/b> Marina<\/div>\n        <p style=\"margin-bottom:0\">Could you book a sports course for the three of us &#8211; us two and Alif? Let&#8217;s have tennis lessons &#8211; we can do swimming in the summer. The weekend isn&#8217;t good for me &#8211; it has to be Thursday. Also, Alif&#8217;s music lesson is at 2 p.m. so we have to do the later class. It costs more, but never mind.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\" style=\"max-width:620px\">\n      <h4>Marina&#8217;s notes &#8212; Sports course<\/h4>\n      <div class=\"form-row\"><label>Where:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Riverside Sports Club<\/span><\/div>\n      <div class=\"form-row\"><label>Which sport:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Day:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Time:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\" style=\"max-width:120px\"><span style=\"color:var(--muted)\">p.m.<\/span><\/div>\n      <div class=\"form-row\"><label>Number of people:<\/label><input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Cost each: &#163;<\/label><input class=\"input-blank\" data-q=\"55\" type=\"text\"><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 9 &#8212; WRITING ============== -->\n<section class=\"part-section\" id=\"part9\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">9<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Question 56<\/span>\n        <h2 class=\"serif\">Writing &#8212; postcard about shopping<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your postcard, then click <i>Show Sample Answer<\/i> to see examples with examiner marks.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"writing-card\">\n      <div class=\"prompt-box\">\n        <b>You went shopping for clothes yesterday. Write a postcard to a friend.<\/b>\n        <div style=\"margin-top:8px\">Say:<\/div>\n        <ul>\n          <li><b>what clothes<\/b> you bought<\/li>\n          <li><b>why<\/b> you bought them<\/li>\n          <li><b>how much<\/b> they cost<\/li>\n        <\/ul>\n        Write 25&#8211;35 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your postcard here...\"><\/textarea>\n      <div class=\"wc-counter\" id=\"wcCounter\">0 words &#183; target 25&#8211;35<\/div>\n      <button class=\"sample-toggle\" id=\"sampleToggle\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n        Show Sample Answer\n      <\/button>\n      <div class=\"sample-box\" id=\"sampleBox\">\n        <h5 style=\"margin-bottom:14px\">Sample answers &#8212; with examiner marks<\/h5>\n\n        <div style=\"background:#fff;border-left:3px solid var(--green);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--green);font-size:12.5px;letter-spacing:.05em\">SAMPLE A &#8212; Mark 5\/5 (all three points, no errors)<\/b>\n          <p style=\"margin-top:6px\">Hi Sam,<\/p>\n          <p>Yesterday I bought a warm winter coat and some black boots. I bought them because the weather is getting cold and my old ones are too small. They cost sixty pounds together. See you soon! Tom<\/p>\n        <\/div>\n\n        <div style=\"background:#fff;border-left:3px solid var(--accent-1);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--accent-1);font-size:12.5px;letter-spacing:.05em\">SAMPLE B &#8212; Mark 4\/5 (some spelling &amp; grammar errors, but clear)<\/b>\n          <p style=\"margin-top:6px\">Hello,<\/p>\n          <p>I go shopping yesterday and I buy a new dress and a hat. I bought them because I have a party next week. The dress cost forty euro. Write me soon! Marco<\/p>\n        <\/div>\n\n        <div style=\"background:#fff;border-left:3px solid var(--red);padding:10px 14px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--red);font-size:12.5px;letter-spacing:.05em\">SAMPLE C &#8212; Mark 3\/5 (only two of the three points)<\/b>\n          <p style=\"margin-top:6px\">Dear friend,<\/p>\n          <p>Yesterday I bought a beautiful blue T-shirt and some jeans in the town centre. I am very happy with them and I want to wear them to school. Write back soon! Lin<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- RESULTS BANNER -->\n<div class=\"wrap\">\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>Your KET 5 Test 3 &#8212; Reading &amp; Writing score<\/h3>\n    <div class=\"score-big\"><span id=\"finalScore\">0<\/span>\/55<\/div>\n    <p id=\"resultsMsg\">Great effort! Scroll up to review your answers &#8212; correct ones are highlighted in green and wrong ones in red.<\/p>\n    <div style=\"margin-top:18px\"><button class=\"btn-primary\" onclick=\"window.scrollTo({top:0,behavior:'smooth'})\" style=\"background:#fff;color:var(--accent-2)\">Back to top<\/button><\/div>\n  <\/div>\n<\/div>\n\n<!-- FOOTER -->\n<footer class=\"footer\">\n  <div class=\"wrap\">\n    <p>&#169; 2026 All English 4U &#183; <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">All Cambridge Tests<\/a> &#183; <a href=\"https:\/\/allenglish4u.com\/contact\/\">Contact<\/a><\/p>\n  <\/div>\n<\/footer>\n\n<script>eval(atob('CihmdW5jdGlvbigpewovLyA9PT09PSBIZWFkZXIgc2Nyb2xsID09PT09CnZhciBoZHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hkcicpOwp2YXIgc2V0U29saWQ9ZnVuY3Rpb24oKXtpZih3aW5kb3cuc2Nyb2xsWT40MCloZHIuY2xhc3NMaXN0LmFkZCgnc29saWQnKTtlbHNlIGhkci5jbGFzc0xpc3QucmVtb3ZlKCdzb2xpZCcpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsc2V0U29saWQse3Bhc3NpdmU6dHJ1ZX0pO3NldFNvbGlkKCk7CgovLyBkcmF3ZXIKdmFyIGhhbWI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hhbWInKSxkcmF3ZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RyYXdlcicpLGRDbG9zZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhd2VyQ2xvc2UnKTsKaWYoaGFtYiloYW1iLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe2RyYXdlci5jbGFzc0xpc3QuYWRkKCdvcGVuJyl9KTsKaWYoZENsb3NlKWRDbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtkcmF3ZXIuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpfSk7CmlmKGRyYXdlcilkcmF3ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09ZHJhd2VyKWRyYXdlci5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyl9KTsKCi8vID09PT09IERBVEEgPT09PT0KdmFyIFAxID0gWwogIHtuOjEsdGV4dDonVGhleSBuZWVkIHNvbWVvbmUgdG8gd29yayBoZXJlLicsb3B0czonQUJDRUZHSCcsYW5zOidHJ30sCiAge246Mix0ZXh0OidBIHNwZWNpYWwgdmlzaXRvciBpcyBjb21pbmcgdG8gdGhlIHNob3AuJyxvcHRzOidBQkNFRkdIJyxhbnM6J0InfSwKICB7bjozLHRleHQ6J0dvIGhlcmUgaWYgeW91IG5lZWQgaGVscC4nLG9wdHM6J0FCQ0VGR0gnLGFuczonRid9LAogIHtuOjQsdGV4dDonVGhpcyBoYXMgbW92ZWQgdG8gYSBkaWZmZXJlbnQgcGxhY2UuJyxvcHRzOidBQkNFRkdIJyxhbnM6J0EnfSwKICB7bjo1LHRleHQ6J1RoZXJlIGlzIGEgbmV3IGJvb2sgb24gc2FsZS4nLG9wdHM6J0FCQ0VGR0gnLGFuczonRSd9LApdOwp2YXIgUDIgPSBbCiAge246Nix0ZXh0OidUZWVucyBQbHVzIGlzIGEgY2x1YiBmb3IgeW91bmcgYWR1bHRzIHdobyB3YW50IHRvIF9fX19fIG5ldyBmcmllbmRzLicsb3B0czpbWydBJywnZG8nXSxbJ0InLCdiZWdpbiddLFsnQycsJ21ha2UnXV0sYW5zOidDJ30sCiAge246Nyx0ZXh0OidIYXJyeSBqb2luZWQgdGhlIGNsdWIgd2hlbiBoZSBfX19fXyB0byB0aGUgdG93bi4nLG9wdHM6W1snQScsJ21vdmVkJ10sWydCJywnY2hhbmdlZCddLFsnQycsJ2JlY2FtZSddXSxhbnM6J0EnfSwKICB7bjo4LHRleHQ6J1RoZXJlIGlzIGEgX19fX18gbnVtYmVyIG9mIGFjdGl2aXRpZXMgdG8gY2hvb3NlIGZyb20uJyxvcHRzOltbJ0EnLCd0YWxsJ10sWydCJywnbGFyZ2UnXSxbJ0MnLCdmdWxsJ11dLGFuczonQid9LAogIHtuOjksdGV4dDonTGFzdCB3ZWVrLCBldmVyeW9uZSB3ZW50IHRvIGEgcmVzdGF1cmFudCBhbmQgaGFkIGEgbmljZSBfX19fXyB0b2dldGhlci4nLG9wdHM6W1snQScsJ21lYWwnXSxbJ0InLCdmb29kJ10sWydDJywncGxhdGUnXV0sYW5zOidBJ30sCiAge246MTAsdGV4dDonSGFycnkgaGFzIF9fX19fIGxvdHMgb2YgaW50ZXJlc3RpbmcgcGVvcGxlIGF0IHRoZSBjbHViLicsb3B0czpbWydBJywnbGVhcm50J10sWydCJywnbWV0J10sWydDJywnZ290J11dLGFuczonQid9LApdOwp2YXIgUDNhID0gWwogIHtuOjExLHRleHQ6J0kgbG92ZWQgdGhlIGJvb2shJyxvcHRzOltbJ0EnLCdEaWQgeW91PyddLFsnQicsJ1dhcyBpdD8nXSxbJ0MnLCdXaHkgbm90PyddXSxhbnM6J0EnfSwKICB7bjoxMix0ZXh0OidXb3VsZCB5b3UgbGlrZSBzb21lIHdhdGVyPycsb3B0czpbWydBJywnWWVzLCBvZiBjb3Vyc2UgSSBkby4nXSxbJ0InLCdZZXMsIHdpdGggaWNlLCBwbGVhc2UuJ10sWydDJywnWWVzLCBJIGxpa2UgaXQgdmVyeSBtdWNoLiddXSxhbnM6J0InfSwKICB7bjoxMyx0ZXh0OidJIHdhdGNoZWQgYSBnb29kIGZpbG0gbGFzdCBuaWdodC4nLG9wdHM6W1snQScsJ1doYXQgdGltZSBkb2VzIGl0IGJlZ2luPyddLFsnQicsJ0hhcyBpdCBmaW5pc2hlZCB5ZXQ\/J10sWydDJywnV2hhdCB3YXMgaXQgY2FsbGVkPyddXSxhbnM6J0MnfSwKICB7bjoxNCx0ZXh0OidEbyB5b3UgdGhpbmsgUGV0ZXIgd2lsbCBsaWtlIHRoaXMgc3dlYXRlcj8nLG9wdHM6W1snQScsIkhlIGlzbid0IGxpa2UgdGhhdC4iXSxbJ0InLCdZb3UgYXJlIHJpZ2h0LiddLFsnQycsIkknbSBzdXJlIGhlIHdpbGwuIl1dLGFuczonQyd9LAogIHtuOjE1LHRleHQ6IkhlcmUsIEkndmUgZm91bmQgeW91ciBnbGFzc2VzLiIsb3B0czpbWydBJywnV2VsbCBkb25lLiddLFsnQicsIlRoYXQncyBhbGwuIl0sWydDJywnTmV2ZXIgbWluZC4nXV0sYW5zOidBJ30sCl07CnZhciBQM2JBbnMgPSB7MTY6J0gnLDE3OidDJywxODonQScsMTk6J0YnLDIwOidFJ307CnZhciBQNCA9IFsKICB7bjoyMSx0ZXh0OidOaWNrIHNheXMgdGhhdCBwZW9wbGUgaW4gdGhlIHBsYWNlcyBoZSB2aXNpdHMgYXJlIHZlcnkgZnJpZW5kbHkuJyxvcHRzOltbJ0EnLCdSaWdodCddLFsnQicsJ1dyb25nJ10sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidBJ30sCiAge246MjIsdGV4dDonTmljayBidXlzIHNvbWV0aGluZyB0byB0YWtlIGhvbWUgZnJvbSBldmVyeSBjb3VudHJ5IGhlIHZpc2l0cy4nLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0MnfSwKICB7bjoyMyx0ZXh0OidPbiBzb21lIHRyaXBzLCBOaWNrIHRyYXZlbHMgYWxvbmUuJyxvcHRzOltbJ0EnLCdSaWdodCddLFsnQicsJ1dyb25nJ10sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidCJ30sCiAge246MjQsdGV4dDonVGhlcmUgYXJlIG9mdGVuIHByb2JsZW1zIHdpdGggdGhlIHRlbGV2aXNpb24gY2FtZXJhcy4nLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0MnfSwKICB7bjoyNSx0ZXh0OidFdmVyeSB0aW1lIE5pY2sgZ29lcyBhd2F5LCBoZSBwYWNrcyBzb21ldGhpbmcgdG8gcmVhZC4nLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0EnfSwKICB7bjoyNix0ZXh0OiJIZWxlbiBpcyB1bmhhcHB5IHdoZW4gaGUncyBhd2F5IGZyb20gaG9tZS4iLG9wdHM6W1snQScsJ1JpZ2h0J10sWydCJywnV3JvbmcnXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0InfSwKICB7bjoyNyx0ZXh0OidXaGVuIEhlbGVuIHdhcyBzaWNrLCBOaWNrIHJldHVybmVkIGhvbWUuJyxvcHRzOltbJ0EnLCdSaWdodCddLFsnQicsJ1dyb25nJ10sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidCJ30sCl07CnZhciBQNSA9IFsKICB7bjoyOCxvcHRzOltbJ0EnLCdGcm9tJ10sWydCJywnQXQnXSxbJ0MnLCdCeSddXSxhbnM6J0EnfSwKICB7bjoyOSxvcHRzOltbJ0EnLCdzbyddLFsnQicsJ2lmJ10sWydDJywnYnV0J11dLGFuczonQyd9LAogIHtuOjMwLG9wdHM6W1snQScsJ2hlJ10sWydCJywndGhleSddLFsnQycsJ2l0J11dLGFuczonQyd9LAogIHtuOjMxLG9wdHM6W1snQScsJ29ubHknXSxbJ0InLCdqdXN0J10sWydDJywnb25jZSddXSxhbnM6J0EnfSwKICB7bjozMixvcHRzOltbJ0EnLCdsaXZpbmcnXSxbJ0InLCdsaXZlJ10sWydDJywnbGl2ZXMnXV0sYW5zOidCJ30sCiAge246MzMsb3B0czpbWydBJywnYW5vdGhlciddLFsnQicsJ2FueSddLFsnQycsJ290aGVyJ11dLGFuczonQyd9LAogIHtuOjM0LG9wdHM6W1snQScsJ0FsbCddLFsnQicsJ0V2ZXJ5J10sWydDJywnRWFjaCddXSxhbnM6J0EnfSwKICB7bjozNSxvcHRzOltbJ0EnLCd0b28nXSxbJ0InLCd2ZXJ5J10sWydDJywnZXZlbiddXSxhbnM6J0InfSwKXTsKdmFyIFA2ID0gWwogIHtuOjM2LHRleHQ6J1Blb3BsZSBjYW4gc3R1ZHkgZGlmZmVyZW50IHRoaW5ncyBoZXJlLicsZmlyc3Q6J2MnLGFuczonY29sbGVnZSd9LAogIHtuOjM3LHRleHQ6J1lvdSBjYW4gbG9vayBhdCB2ZXJ5IG9sZCB0aGluZ3MgaGVyZS4nLGZpcnN0OidtJyxhbnM6J211c2V1bSd9LAogIHtuOjM4LHRleHQ6J1lvdSBtYXkgbmVlZCB0byBidXkgYSB0aWNrZXQgYmVmb3JlIHlvdSBnbyBvbiB0aGUgcGxhdGZvcm0gaGVyZS4nLGZpcnN0OidzJyxhbnM6J3N0YXRpb24nfSwKICB7bjozOSx0ZXh0OidJbiB0aGlzIHBsYWNlLCBhIHdhaXRlciB3aWxsIGJyaW5nIHlvdSB5b3VyIG1lYWwuJyxmaXJzdDoncicsYW5zOidyZXN0YXVyYW50J30sCiAge246NDAsdGV4dDonWW91IGNhbiBnbyBoZXJlIHRvIHdhdGNoIGEgYmlnIG1hdGNoLicsZmlyc3Q6J3MnLGFuczonc3RhZGl1bSd9LApdOwp2YXIgUDdBbnMgPSB7CiAgNDE6WydhbScsIidtIiwnbSddLAogIDQyOlsnd2FzJ10sCiAgNDM6WydhYm91dCddLAogIDQ0Olsnd291bGQnLCdzaG91bGQnLCInZCJdLAogIDQ1Olsnb3InXSwKICA0NjpbJ3doYXQnXSwKICA0NzpbJ2hhdmUnXSwKICA0ODpbJ2EnXSwKICA0OTpbJ25leHQnXSwKICA1MDpbJ3RvJ10sCn07CnZhciBQOEFucyA9IHsKICA1MTpbJ3Rlbm5pcyddLAogIDUyOlsndGh1cnNkYXknXSwKICA1MzpbJzgnLCc4LjAwJywnOCBwbScsJzhwbScsJzguMDBwbScsJ2VpZ2h0JywiZWlnaHQgbydjbG9jayIsIjggbydjbG9jayIsJzIwLjAwJywnMjAnXSwKICA1NDpbJzMnLCd0aHJlZSddLAogIDU1OlsnMzAnLCdcdTAwQTMzMCcsJzMwLjAwJywndGhpcnR5JywndGhpcnR5IHBvdW5kcycsJ1x1MDBBMzMwLjAwJ10sCn07CgovLyA9PT09PSBSZW5kZXJpbmcgPT09PT0KZnVuY3Rpb24gcmVuZGVyTUNRKGxpc3RFbCwgZGF0YSl7CiAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGRpdi5jbGFzc05hbWU9J3EtaXRlbSc7IGRpdi5kYXRhc2V0LnFpZD1xLm47CiAgICB2YXIgb3B0c0hUTUw9Jyc7CiAgICBpZihBcnJheS5pc0FycmF5KHEub3B0cykpewogICAgICBxLm9wdHMuZm9yRWFjaChmdW5jdGlvbihvKXsKICAgICAgICBvcHRzSFRNTCArPSAnPGxhYmVsIGNsYXNzPSJvcHQiIGRhdGEtbGV0dGVyPSInK29bMF0rJyI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJxJytxLm4rJyIgdmFsdWU9Iicrb1swXSsnIj48c3BhbiBjbGFzcz0ib3B0LWxldHRlciI+JytvWzBdKyc8L3NwYW4+ICcrZXNjYXBlSHRtbChvWzFdKSsnPC9sYWJlbD4nOwogICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgIC8vIHN0cmluZyBvZiBsZXR0ZXJzIChQMSkKICAgICAgZm9yKHZhciBpPTA7aTxxLm9wdHMubGVuZ3RoO2krKyl7CiAgICAgICAgdmFyIEw9cS5vcHRzW2ldOwogICAgICAgIG9wdHNIVE1MICs9ICc8bGFiZWwgY2xhc3M9Im9wdCIgZGF0YS1sZXR0ZXI9IicrTCsnIj48aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InEnK3EubisnIiB2YWx1ZT0iJytMKyciPjxzcGFuIGNsYXNzPSJvcHQtbGV0dGVyIj4nK0wrJzwvc3Bhbj48L2xhYmVsPic7CiAgICAgIH0KICAgIH0KICAgIGRpdi5pbm5lckhUTUwgPSAnPGRpdiBjbGFzcz0icS10ZXh0Ij48YiBjbGFzcz0icW4iPicrcS5uKycuPC9iPjxzcGFuPicrZXNjYXBlSHRtbChxLnRleHQpKyc8L3NwYW4+PC9kaXY+JysKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0icS1vcHRzIj4nK29wdHNIVE1MKyc8L2Rpdj4nKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmZWVkYmFjayI+PC9kaXY+JzsKICAgIGxpc3RFbC5hcHBlbmRDaGlsZChkaXYpOwogIH0pOwp9CmZ1bmN0aW9uIGVzY2FwZUh0bWwocyl7cmV0dXJuIFN0cmluZyhzKS5yZXBsYWNlKC9bJjw+IiddL2csZnVuY3Rpb24oYyl7cmV0dXJuIHsnJic6JyZhbXA7JywnPCc6JyZsdDsnLCc+JzonJmd0OycsJyInOicmcXVvdDsnLCInIjonJiMzOTsnfVtjXX0pfQoKcmVuZGVyTUNRKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0MUxpc3QnKSxQMSk7CnJlbmRlck1DUShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDJMaXN0JyksUDIpOwpyZW5kZXJNQ1EoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQzYUxpc3QnKSxQM2EpOwpyZW5kZXJNQ1EoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQ0TGlzdCcpLFA0KTsKCi8vIFBhcnQgNSBcdTIwMTQgcmVuZGVyIGFzIE1DUSBsaXN0IHVuZGVyIHRoZSBwYXNzYWdlCnJlbmRlck1DUShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDVMaXN0JyksUDUubWFwKGZ1bmN0aW9uKHEpe3JldHVybiB7bjpxLm4sdGV4dDonUXVlc3Rpb24gJytxLm4rJyBcdTIwMTQgY2hvb3NlIHRoZSBiZXN0IHdvcmQgZm9yIHRoZSBnYXAuJyxvcHRzOnEub3B0cyxhbnM6cS5hbnN9fSkpOwoKLy8gUGFydCA2IFx1MjAxNCBmaXJzdC1sZXR0ZXIgKyBkYXNoZXMgKyBpbnB1dAooZnVuY3Rpb24oKXsKICB2YXIgbGlzdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDZMaXN0Jyk7CiAgUDYuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgIHZhciBkYXNoQ291bnQgPSBxLmFucy5sZW5ndGggLSAxOwogICAgdmFyIGRhc2hlcyA9IG5ldyBBcnJheShkYXNoQ291bnQpLmZpbGwoJ18nKS5qb2luKCcgJyk7CiAgICB2YXIgZGl2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBkaXYuY2xhc3NOYW1lPSdxLWl0ZW0nOyBkaXYuZGF0YXNldC5xaWQ9cS5uOwogICAgZGl2LmlubmVySFRNTD0nPGRpdiBjbGFzcz0icS10ZXh0Ij48YiBjbGFzcz0icW4iPicrcS5uKycuPC9iPjxzcGFuPicrZXNjYXBlSHRtbChxLnRleHQpKyc8L3NwYW4+PC9kaXY+JysKICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9IndvcmQtcm93Ij48c3BhbiBjbGFzcz0iZmlyc3QtbGV0dGVyIj4nK3EuZmlyc3QrJzwvc3Bhbj48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImlucHV0LWJsYW5rIiBkYXRhLXE9IicrcS5uKyciIHBsYWNlaG9sZGVyPSInK2Rhc2hlcysnIiBzdHlsZT0ibWluLXdpZHRoOjIwMHB4Ij48L2Rpdj4nKwogICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmVlZGJhY2siPjwvZGl2Pic7CiAgICBsaXN0LmFwcGVuZENoaWxkKGRpdik7CiAgfSk7Cn0pKCk7CgovLyA9PT09PSBXaXJlIG9wdGlvbiBjbGlja3MgPT09PT0KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm9wdCcpLmZvckVhY2goZnVuY3Rpb24ob3B0KXsKICBvcHQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpewogICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgdmFyIGlucHV0PW9wdC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpOwogICAgdmFyIGdyb3VwPW9wdC5wYXJlbnRFbGVtZW50OwogICAgZ3JvdXAucXVlcnlTZWxlY3RvckFsbCgnLm9wdCcpLmZvckVhY2goZnVuY3Rpb24obyl7by5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3RlZCcpfSk7CiAgICBvcHQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTsKICAgIGlucHV0LmNoZWNrZWQ9dHJ1ZTsKICAgIHVwZGF0ZVByb2dyZXNzKCk7CiAgfSk7Cn0pOwoKLy8gaW5wdXRzCmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnB1dC1ibGFuaywucS1zZWxlY3QnKS5mb3JFYWNoKGZ1bmN0aW9uKGVsKXsKICBlbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsdXBkYXRlUHJvZ3Jlc3MpOwogIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsdXBkYXRlUHJvZ3Jlc3MpOwp9KTsKCi8vID09PT09IFN1Ym1pdCAmIEdyYWRlID09PT09CmZ1bmN0aW9uIGdldE1jcUFucyhxaWQpewogIHZhciBzZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT0icScrcWlkKyciXTpjaGVja2VkJyk7CiAgcmV0dXJuIHNlbD9zZWwudmFsdWU6bnVsbDsKfQpmdW5jdGlvbiBnZXRJbnB1dEFucyhxaWQpewogIHZhciBlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtYmxhbmtbZGF0YS1xPSInK3FpZCsnIl0nKTsKICByZXR1cm4gZWw\/ZWwudmFsdWUudHJpbSgpLnRvTG93ZXJDYXNlKCk6Jyc7Cn0KZnVuY3Rpb24gZ2V0U2VsZWN0QW5zKHFpZCl7CiAgdmFyIGVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLXNlbGVjdFtkYXRhLXFpZD0iJytxaWQrJyJdJyk7CiAgcmV0dXJuIGVsP2VsLnZhbHVlOicnOwp9CmZ1bmN0aW9uIHRvdGFsUXMoKXtyZXR1cm4gNTV9CgpmdW5jdGlvbiBhbnN3ZXJlZENvdW50KCl7CiAgdmFyIG49MDsKICAvLyBNQ1E6IFAxKDEtNSkgUDIoNi0xMCkgUDNhKDExLTE1KSBQNCgyMS0yNykgUDUoMjgtMzUpCiAgWzEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1XS5mb3JFYWNoKGZ1bmN0aW9uKHEpe2lmKGdldE1jcUFucyhxKSluKyt9KTsKICBbMTYsMTcsMTgsMTksMjBdLmZvckVhY2goZnVuY3Rpb24ocSl7aWYoZ2V0U2VsZWN0QW5zKHEpKW4rK30pOwogIC8vIGlucHV0cwogIGZvcih2YXIgaT0zNjtpPD01NTtpKyspe2lmKGdldElucHV0QW5zKGkpKW4rK30KICByZXR1cm4gbjsKfQpmdW5jdGlvbiB1cGRhdGVQcm9ncmVzcygpewogIHZhciBhPWFuc3dlcmVkQ291bnQoKSwgdG90YWw9dG90YWxRcygpOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbnN3ZXJlZENvdW50JykudGV4dENvbnRlbnQ9YTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJvZ0ZpbGwnKS5zdHlsZS53aWR0aD0oYS90b3RhbCoxMDApKyclJzsKfQoKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Ym1pdEJ0bicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogIHZhciBzY29yZT0wOwogIC8vIE1DUSBwYXJ0cwogIHZhciBtY3FQYXJ0cz1bUDEsUDIsUDNhLFA0LFA1XTsKICBtY3FQYXJ0cy5mb3JFYWNoKGZ1bmN0aW9uKHBhcnQpewogICAgcGFydC5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgICB2YXIgdj1nZXRNY3FBbnMocS5uKSwgaXRlbT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucS1pdGVtW2RhdGEtcWlkPSInK3EubisnIl0nKTsKICAgICAgaWYoIWl0ZW0pcmV0dXJuOwogICAgICBpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7CiAgICAgIC8vIG1hcmsgY29ycmVjdC9pbmNvcnJlY3Qgb3B0cwogICAgICBpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHQnKS5mb3JFYWNoKGZ1bmN0aW9uKG8pewogICAgICAgIHZhciBMPW8uZGF0YXNldC5sZXR0ZXI7CiAgICAgICAgaWYoTD09PXEuYW5zKXtvLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3Qtb3B0Jyl9CiAgICAgICAgaWYodj09PUwpaWYoTCE9PXEuYW5zKXtvLmNsYXNzTGlzdC5hZGQoJ3dyb25nLW9wdCcpfQogICAgICB9KTsKICAgICAgdmFyIGZiPWl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJyk7CiAgICAgIGlmKHY9PT1xLmFucyl7c2NvcmUrKzsgaXRlbS5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGZiLnRleHRDb250ZW50PSdcdTI3MTQgQ29ycmVjdCBcdTIwMTQgJytxLmFuc30KICAgICAgZWxzZXtpdGVtLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGZiLnRleHRDb250ZW50PSdcdTI3MTggV3JvbmcgXHUyMDE0IGNvcnJlY3QgYW5zd2VyOiAnK3EuYW5zICsgKHY\/KCcgKHlvdSBjaG9zZSAnK3YrJyknKTonIChubyBhbnN3ZXIpJyl9CiAgICB9KTsKICB9KTsKICAvLyBQYXJ0IDNiIHNlbGVjdHMKICB2YXIgcDNiRmI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQzYkZlZWRiYWNrJyk7CiAgcDNiRmIuaW5uZXJIVE1MPScnOwogIE9iamVjdC5rZXlzKFAzYkFucykuZm9yRWFjaChmdW5jdGlvbihxaWQpewogICAgdmFyIHY9Z2V0U2VsZWN0QW5zKHFpZCksIGNvcnJlY3Q9UDNiQW5zW3FpZF07CiAgICB2YXIgZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtc2VsZWN0W2RhdGEtcWlkPSInK3FpZCsnIl0nKTsKICAgIGlmKGVsKXtlbC5zdHlsZS5ib3JkZXJDb2xvcj0odj09PWNvcnJlY3Q\/JyMxMEI5ODEnOicjRUY0NDQ0Jyk7IGVsLnN0eWxlLmJvcmRlcldpZHRoPScycHgnOyBlbC5zdHlsZS5ib3JkZXJTdHlsZT0nc29saWQnfQogICAgdmFyIG5vdGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBub3RlLnN0eWxlLmNzc1RleHQ9J3BhZGRpbmc6OHB4IDEycHg7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luLXRvcDo2cHg7Zm9udC1zaXplOjEzLjVweDtmb250LXdlaWdodDo2MDA7Jysodj09PWNvcnJlY3Q\/J2JhY2tncm91bmQ6cmdiYSgxNiwxODUsMTI5LC4xMik7Y29sb3I6IzA2NUY0Nic6J2JhY2tncm91bmQ6cmdiYSgyMzksNjgsNjgsLjEwKTtjb2xvcjojOTkxQjFCJyk7CiAgICBub3RlLmlubmVySFRNTD0nPGI+UScrcWlkKyc8L2I+OiAnKyh2PT09Y29ycmVjdD8nXHUyNzE0IENvcnJlY3QgKCcrY29ycmVjdCsnKSc6J1x1MjcxOCBXcm9uZyBcdTIwMTQgY29ycmVjdDogJytjb3JyZWN0Kyh2PycsIHlvdSBjaG9zZSAnK3Y6Jywgbm8gYW5zd2VyJykpOwogICAgcDNiRmIuYXBwZW5kQ2hpbGQobm90ZSk7CiAgICBpZih2PT09Y29ycmVjdClzY29yZSsrOwogIH0pOwogIC8vIFBhcnQgNgogIFA2LmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICB2YXIgdj1nZXRJbnB1dEFucyhxLm4pLCBlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtYmxhbmtbZGF0YS1xPSInK3EubisnIl0nKSwgaXRlbT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucS1pdGVtW2RhdGEtcWlkPSInK3EubisnIl0nKTsKICAgIGlmKCFlbHx8IWl0ZW0pcmV0dXJuOwogICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdhbnN3ZXJlZCcpOwogICAgdmFyIG9rPSh2PT09cS5hbnMudG9Mb3dlckNhc2UoKSk7CiAgICBpZihvayl7c2NvcmUrKzsgZWwuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBpdGVtLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgaXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKS50ZXh0Q29udGVudD0nXHUyNzE0IENvcnJlY3QnfQogICAgZWxzZXtlbC5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBpdGVtLmNsYXNzTGlzdC5hZGQoJ3dyb25nJyk7IGl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJykudGV4dENvbnRlbnQ9J1x1MjcxOCBXcm9uZyBcdTIwMTQgY29ycmVjdDogJytxLmFuc30KICB9KTsKICAvLyBQYXJ0IDcKICBPYmplY3Qua2V5cyhQN0FucykuZm9yRWFjaChmdW5jdGlvbihxaWQpewogICAgdmFyIHY9Z2V0SW5wdXRBbnMocWlkKSwgZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmlucHV0LWJsYW5rW2RhdGEtcT0iJytxaWQrJyJdJyksIGFjY2VwdGVkPVA3QW5zW3FpZF07CiAgICBpZighZWwpcmV0dXJuOwogICAgdmFyIG9rPWFjY2VwdGVkLmluZGV4T2Yodik+PTA7CiAgICBpZihvayl7c2NvcmUrKzsgZWwuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpfSBlbHNlIHtlbC5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBlbC50aXRsZT0nQ29ycmVjdDogJythY2NlcHRlZC5qb2luKCcgLyAnKX0KICB9KTsKICAvLyBQYXJ0IDgKICBPYmplY3Qua2V5cyhQOEFucykuZm9yRWFjaChmdW5jdGlvbihxaWQpewogICAgdmFyIHY9Z2V0SW5wdXRBbnMocWlkKSwgZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmlucHV0LWJsYW5rW2RhdGEtcT0iJytxaWQrJyJdJyksIGFjY2VwdGVkPVA4QW5zW3FpZF07CiAgICBpZighZWwpcmV0dXJuOwogICAgdmFyIG9rPWFjY2VwdGVkLmluZGV4T2Yodik+PTA7CiAgICBpZihvayl7c2NvcmUrKzsgZWwuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpfSBlbHNlIHtlbC5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBlbC50aXRsZT0nQ29ycmVjdDogJythY2NlcHRlZC5qb2luKCcgLyAnKX0KICB9KTsKCiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njb3JlTm93JykudGV4dENvbnRlbnQ9c2NvcmU7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbmFsU2NvcmUnKS50ZXh0Q29udGVudD1zY29yZTsKICB2YXIgcGN0PU1hdGgucm91bmQoc2NvcmUvNTUqMTAwKTsKICB2YXIgbXNnPScnOwogIGlmKHBjdD49ODUpIG1zZz0nXHV7MUYzQzZ9IEV4Y2VsbGVudCEgWW91IGFyZSB3ZWxsIHByZXBhcmVkIGZvciB0aGUgcmVhbCBLRVQgZXhhbS4nOwogIGVsc2UgaWYocGN0Pj03MCkgbXNnPSdcdXsxRjQ0RH0gR29vZCBqb2IhIEEgZmV3IG1vcmUgdGVzdHMgYW5kIHlvdSB3aWxsIGJlIHJlYWR5Lic7CiAgZWxzZSBpZihwY3Q+PTUwKSBtc2c9J1x1ezFGNERBfSBLZWVwIHByYWN0aXNpbmcgXHUyMDE0IHJldmlldyB0aGUgd3JvbmcgYW5zd2VycyBhYm92ZS4nOwogIGVsc2UgbXNnPSdcdXsxRjRBQX0gU3RhcnQgd2l0aCB0aGUgYmFzaWNzLiBSZXJlYWQgdGhlIHBhc3NhZ2VzIGFuZCB0cnkgYWdhaW4uJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0c01zZycpLnRleHRDb250ZW50PW1zZzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0c0Jhbm5lcicpLmNsYXNzTGlzdC5hZGQoJ3Nob3cnKTsKICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHNCYW5uZXInKS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6J3Ntb290aCcsYmxvY2s6J2NlbnRlcid9KX0sMTIwKTsKfSk7Cgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzZXRCdG4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICBpZighY29uZmlybSgnUmVzZXQgYWxsIGFuc3dlcnM\/JykpcmV0dXJuOwogIGxvY2F0aW9uLnJlbG9hZCgpOwp9KTsKCi8vIFdyaXRpbmcgd29yZCBjb3VudGVyCnZhciB0YT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd3JpdGluZ0FyZWEnKSx3Yz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2NDb3VudGVyJyk7CnRhLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JyxmdW5jdGlvbigpewogIHZhciB3PXRhLnZhbHVlLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aDsKICB3Yy50ZXh0Q29udGVudD13Kycgd29yZHMgXHUwMEI3IHRhcmdldCAyNVx1MjAxMzM1JzsKICB3Yy5jbGFzc0xpc3QucmVtb3ZlKCdvaycsJ292ZXInKTsKICBpZih3Pj0yNSlpZih3PD0zNSl3Yy5jbGFzc0xpc3QuYWRkKCdvaycpOwogIGVsc2UgaWYodz4zNSl3Yy5jbGFzc0xpc3QuYWRkKCdvdmVyJyk7Cn0pOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FtcGxlVG9nZ2xlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbXBsZUJveCcpLmNsYXNzTGlzdC50b2dnbGUoJ3Nob3cnKTsKfSk7CgovLyA9PT09PSBTSE9XIEFOU1dFUiBQRVItUSBGRUFUVVJFID09PT09CmZ1bmN0aW9uIGdldEFuc0ZvclEobil7CiAgaWYobj49MSkgaWYobjw9NSkgcmV0dXJuIChQMS5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1ufSl8fHt9KS5hbnM7CiAgaWYobj49NikgaWYobjw9MTApIHJldHVybiAoUDIuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pfHx7fSkuYW5zOwogIGlmKG4+PTExKSBpZihuPD0xNSkgcmV0dXJuIChQM2EuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pfHx7fSkuYW5zOwogIGlmKG4+PTIxKSBpZihuPD0yNykgcmV0dXJuIChQNC5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1ufSl8fHt9KS5hbnM7CiAgaWYobj49MjgpIGlmKG48PTM1KSByZXR1cm4gKFA1LmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PW59KXx8e30pLmFuczsKICByZXR1cm4gbnVsbDsKfQovLyBNQ1EgcS1pdGVtczogYXBwZW5kIFNob3cgQW5zd2VyIGJ1dHRvbgpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucS1pdGVtJykuZm9yRWFjaChmdW5jdGlvbihpdGVtKXsKICBpZihpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5zaG93LWFucy1idG4nKSkgcmV0dXJuOwogIHZhciBxaWQ9cGFyc2VJbnQoaXRlbS5kYXRhc2V0LnFpZCk7CiAgdmFyIGJ0bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICBidG4uY2xhc3NOYW1lPSdzaG93LWFucy1idG4nOyBidG4udHlwZT0nYnV0dG9uJzsKICBidG4uaW5uZXJIVE1MPSdcdXsxRjQ0MX0gU2hvdyBBbnN3ZXInOwogIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICAgIHZhciBpc1A2PWZhbHNlOyBpZihxaWQ+PTM2KSBpZihxaWQ8PTQwKSBpc1A2PXRydWU7CiAgICBpZihpc1A2KXsKICAgICAgLy8gUGFydCA2IHNwZWxsIGlucHV0CiAgICAgIHZhciBwNnE9UDYuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09cWlkfSk7CiAgICAgIHZhciBpbnB1dD1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5pbnB1dC1ibGFuaycpOwogICAgICBpZihpbnB1dCkgaWYocDZxKXtpbnB1dC52YWx1ZT1wNnEuYW5zOyBpbnB1dC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTt9CiAgICAgIHZhciBmYjY9aXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKTsKICAgICAgaWYoZmI2KSBpZihwNnEpe2l0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsgaXRlbS5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGZiNi50ZXh0Q29udGVudD0nXHV7MUY0NDF9IEFuc3dlcjogJytwNnEuYW5zO30KICAgIH0gZWxzZSB7CiAgICAgIHZhciBhbnM9Z2V0QW5zRm9yUShxaWQpOwogICAgICBpZighYW5zKSByZXR1cm47CiAgICAgIC8vIGhpZ2hsaWdodCBjb3JyZWN0IG9wdGlvbgogICAgICB2YXIgY29ycmVjdE9wdD1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5vcHRbZGF0YS1sZXR0ZXI9IicrYW5zKyciXScpOwogICAgICBpZihjb3JyZWN0T3B0KXtjb3JyZWN0T3B0LmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3Qtb3B0Jyk7fQogICAgICAvLyBzaW11bGF0ZSBjbGljayBzbyB1cGRhdGVQcm9ncmVzcyBmaXJlcwogICAgICB2YXIgZmI9aXRlbS5xdWVyeVNlbGVjdG9yKCcuZmVlZGJhY2snKTsKICAgICAgaWYoZmIpe2l0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsgZmIuc3R5bGUuYmFja2dyb3VuZD0ncmdiYSgxNiwxODUsMTI5LC4xMiknOyBmYi5zdHlsZS5jb2xvcj0nIzA2NUY0Nic7IGZiLnRleHRDb250ZW50PSdcdXsxRjQ0MX0gQW5zd2VyOiAnK2Fuczt9CiAgICB9CiAgICBidG4uZGlzYWJsZWQ9dHJ1ZTsKICB9KTsKICBpdGVtLmFwcGVuZENoaWxkKGJ0bik7Cn0pOwovLyBQYXJ0IDNiIHNlbGVjdHM6IGFwcGVuZCBpbmxpbmUgU2hvdyBBbnN3ZXIgYnV0dG9uClsxNiwxNywxOCwxOSwyMF0uZm9yRWFjaChmdW5jdGlvbihxaWQpewogIHZhciBzZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtc2VsZWN0W2RhdGEtcWlkPSInK3FpZCsnIl0nKTsKICBpZighc2VsKSByZXR1cm47CiAgdmFyIGJ0bj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsKICBidG4uY2xhc3NOYW1lPSdzaG93LWFucy1idG4taW5saW5lJzsgYnRuLnR5cGU9J2J1dHRvbic7CiAgdmFyIGFucz1QM2JBbnNbcWlkXTsKICBidG4uaW5uZXJIVE1MPSdcdXsxRjQ0MX0gJythbnM7CiAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgc2VsLnZhbHVlPWFuczsgc2VsLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnKSk7CiAgICBzZWwuc3R5bGUuYm9yZGVyQ29sb3I9JyMxMEI5ODEnOyBzZWwuc3R5bGUuYm9yZGVyV2lkdGg9JzJweCc7IHNlbC5zdHlsZS5ib3JkZXJTdHlsZT0nc29saWQnOwogICAgYnRuLmRpc2FibGVkPXRydWU7CiAgfSk7CiAgc2VsLmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJlbmQnLCBidG4pOwp9KTsKLy8gUGFydCA3ICYgOCBpbnB1dHM6IGFwcGVuZCBpbmxpbmUgU2hvdyBBbnN3ZXIgYnV0dG9uCmZvcih2YXIgcWk9NDE7cWk8PTU1O3FpKyspewogIChmdW5jdGlvbihxaWQpewogICAgdmFyIGlucD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtYmxhbmtbZGF0YS1xPSInK3FpZCsnIl0nKTsKICAgIGlmKCFpbnApIHJldHVybjsKICAgIHZhciBhbnM9KHFpZDw9NTApP1A3QW5zW3FpZF1bMF06UDhBbnNbcWlkXVswXTsKICAgIHZhciBidG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgICBidG4uY2xhc3NOYW1lPSdzaG93LWFucy1idG4taW5saW5lJzsgYnRuLnR5cGU9J2J1dHRvbic7CiAgICBidG4uaW5uZXJIVE1MPSdcdXsxRjQ0MX0gJythbnM7CiAgICBidG4udGl0bGU9J0NsaWNrIHRvIGZpbGw6ICcrYW5zOwogICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgICBpbnAudmFsdWU9YW5zOyBpbnAuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBpbnAuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JykpOwogICAgICBidG4uZGlzYWJsZWQ9dHJ1ZTsKICAgIH0pOwogICAgaW5wLmluc2VydEFkamFjZW50RWxlbWVudCgnYWZ0ZXJlbmQnLCBidG4pOwogIH0pKHFpKTsKfQoKfSkoKTsK'));<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>All English 4U Grammar IELTS TOEFL Cambridge CELPIP Dictation Back Grammar IELTS TOEFL Cambridge CELPIP Dictation Cambridge English &#183; Key (KET) KET 5 &#8212; Test 3Reading &amp; Writing Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-4025","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=4025"}],"version-history":[{"count":2,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4025\/revisions"}],"predecessor-version":[{"id":5895,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/4025\/revisions\/5895"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=4025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}