From 302ee713a912eaa775016c61115582195e7a9a9d Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Sat, 18 Jul 2026 08:31:53 +0100 Subject: [PATCH 1/7] chore: refresh frontend dependencies --- .gitignore | 1 + dist/assets/About-Cs9eJANr.js | 1 - dist/assets/About-DG27denO.js | 1 + .../{Home-Dt8reEQy.js => Home-DgFZ-9GX.js} | 2 +- dist/assets/Quiz-BxuCF0Nh.js | 2 + dist/assets/Quiz-CBb1iT3W.js | 2 - .../{index-CI4n4HMn.js => index-BKKq8V5A.js} | 4 +- ...r-CTSbDQhj.js => pdfGenerator-D2lYFkhu.js} | 4 +- dist/assets/purify.es-6-uFcs4-.js | 3 - dist/assets/purify.es-adlwq8Pz.js | 3 + dist/index.html | 9 +- package-lock.json | 184 +++++++++--------- 12 files changed, 117 insertions(+), 99 deletions(-) delete mode 100644 dist/assets/About-Cs9eJANr.js create mode 100644 dist/assets/About-DG27denO.js rename dist/assets/{Home-Dt8reEQy.js => Home-DgFZ-9GX.js} (99%) create mode 100644 dist/assets/Quiz-BxuCF0Nh.js delete mode 100644 dist/assets/Quiz-CBb1iT3W.js rename dist/assets/{index-CI4n4HMn.js => index-BKKq8V5A.js} (95%) rename dist/assets/{pdfGenerator-CTSbDQhj.js => pdfGenerator-D2lYFkhu.js} (99%) delete mode 100644 dist/assets/purify.es-6-uFcs4-.js create mode 100644 dist/assets/purify.es-adlwq8Pz.js diff --git a/.gitignore b/.gitignore index 9a32115..00670e7 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ 25| __pycache__/ venv/ +node_modules diff --git a/dist/assets/About-Cs9eJANr.js b/dist/assets/About-Cs9eJANr.js deleted file mode 100644 index 0977cd3..0000000 --- a/dist/assets/About-Cs9eJANr.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{t,u as n}from"./vendor-4rVWboVA.js";import{r}from"./index-CI4n4HMn.js";var i=e(n(),1),a=t();function o({title:e,children:t,defaultOpen:n=!1}){let[r,o]=(0,i.useState)(n);return(0,a.jsxs)(`div`,{className:`card mb-3`,children:[(0,a.jsxs)(`button`,{onClick:()=>o(!r),className:`w-full text-left flex items-center justify-between gap-4 font-bold text-primary dark:text-blue-300 text-lg`,"aria-expanded":r,children:[(0,a.jsx)(`span`,{children:e}),(0,a.jsx)(`span`,{className:`text-secondary text-xl`,children:r?`β–²`:`β–Ό`})]}),r&&(0,a.jsx)(`div`,{className:`mt-4 text-gray-600 dark:text-slate-300 space-y-3 text-sm leading-relaxed`,children:t})]})}function s(){return(0,a.jsxs)(`div`,{className:`max-w-3xl mx-auto px-4 py-12`,children:[(0,a.jsxs)(`div`,{className:`text-center mb-12`,children:[(0,a.jsx)(`h1`,{className:`text-4xl font-extrabold text-primary dark:text-blue-300 mb-3`,children:`About the 11+`}),(0,a.jsx)(`p`,{className:`text-gray-500 dark:text-slate-400 text-lg max-w-xl mx-auto`,children:`Everything you need to know about preparing your child for UK grammar school entry.`})]}),(0,a.jsxs)(o,{title:`πŸ“š What is the 11+ exam?`,defaultOpen:!0,children:[(0,a.jsxs)(`p`,{children:[`The 11+ is an entrance exam taken by children in Year 6 (aged 10–11) to gain entry into selective grammar schools across the UK. Different regions use different exam boards - the most common are `,(0,a.jsx)(`strong`,{children:`GL Assessment`}),`, `,(0,a.jsx)(`strong`,{children:`CEM`}),`, `,(0,a.jsx)(`strong`,{children:`AQE`}),` (Northern Ireland), and `,(0,a.jsx)(`strong`,{children:`CSSE`}),` (Essex).`]}),(0,a.jsx)(`p`,{children:`Subjects tested vary by region, but commonly include:`}),(0,a.jsxs)(`ul`,{className:`list-disc pl-5 space-y-1`,children:[(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`Maths`}),` - arithmetic, algebra, geometry, data handling`]}),(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`English`}),` - comprehension, grammar, vocabulary, spelling`]}),(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`Verbal Reasoning`}),` - word patterns, codes, sequences, analogies`]}),(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`Non-Verbal Reasoning`}),` - shape patterns, matrices, spatial reasoning`]})]}),(0,a.jsx)(`p`,{children:`Papers are typically 45–50 minutes each, often in multiple-choice format. Some regions (e.g. Warwickshire, Essex) also include a written English component. Always check your target school's admissions page for exact requirements.`})]}),(0,a.jsx)(o,{title:`πŸ“… Preparation Timeline`,children:(0,a.jsx)(`div`,{className:`space-y-4`,children:[{period:`Year 4 (age 8–9)`,text:`Begin familiarisation with exam format. Focus on keeping up with school maths and reading widely.`},{period:`Year 5 (age 9–10)`,text:`Start structured practice. Work through all four subjects. Take timed practice papers. Identify weak areas.`},{period:`Year 6 September`,text:`11+ exams take place - usually in early September of Year 6. Some schools test in late September.`},{period:`October–November`,text:`Results announced. Offers for grammar school places confirmed in early March via local authority.`},{period:`March Year 6`,text:`Secondary school offers received. Grammar school places confirmed on National Offer Day (1 March).`}].map(({period:e,text:t})=>(0,a.jsxs)(`div`,{className:`flex gap-4`,children:[(0,a.jsx)(`div`,{className:`font-bold text-primary dark:text-blue-400 min-w-[130px]`,children:e}),(0,a.jsx)(`div`,{children:t})]},e))})}),(0,a.jsxs)(o,{title:`πŸ—ΊοΈ UK Grammar School Regions`,children:[(0,a.jsx)(`p`,{children:`This site covers 12 regions across the UK. Select your region in the quiz setup to see schools and exam board details tailored to your area.`}),(0,a.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2 mt-3`,children:r.map(e=>(0,a.jsxs)(`div`,{className:`flex items-center gap-2 p-2 bg-blue-50 dark:bg-blue-900/20 rounded-lg`,children:[(0,a.jsx)(`span`,{className:`text-xl`,children:e.flag}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`p`,{className:`text-sm font-semibold text-primary dark:text-blue-300`,children:e.name}),(0,a.jsxs)(`p`,{className:`text-xs text-gray-400`,children:[e.examBoards.join(` / `),` Β· `,e.subjects.length,` subjects`]})]})]},e.id))}),(0,a.jsx)(`p`,{className:`mt-3 text-xs text-gray-400`,children:`* Entry requirements vary by school and region. Always check the individual school's admissions page for current requirements.`})]}),(0,a.jsxs)(o,{title:`πŸ’‘ How to use this site`,children:[(0,a.jsxs)(`p`,{children:[(0,a.jsx)(`strong`,{children:`Free Mode`}),` uses our bank of 370+ hand-crafted questions aligned with the GL Assessment style:`]}),(0,a.jsxs)(`ul`,{className:`list-disc pl-5 space-y-1`,children:[(0,a.jsx)(`li`,{children:`Select a subject and difficulty`}),(0,a.jsx)(`li`,{children:`Complete the quiz (with or without a timer)`}),(0,a.jsx)(`li`,{children:`Review all answers and explanations immediately`}),(0,a.jsx)(`li`,{children:`Download a printable PDF paper for pen-and-paper practice`}),(0,a.jsx)(`li`,{children:`Track weak areas across sessions`})]}),(0,a.jsxs)(`p`,{children:[(0,a.jsx)(`strong`,{children:`AI Mode`}),` uses Claude (Anthropic) to generate fresh questions every time:`]}),(0,a.jsxs)(`ul`,{className:`list-disc pl-5 space-y-1`,children:[(0,a.jsx)(`li`,{children:`Add your Anthropic API key in βš™οΈ Settings`}),(0,a.jsx)(`li`,{children:`Each quiz generates unique, never-repeated questions`}),(0,a.jsx)(`li`,{children:`Questions adapt to your chosen difficulty level`})]})]}),(0,a.jsx)(o,{title:`πŸ“„ Free external resources`,children:(0,a.jsx)(`ul`,{className:`space-y-2`,children:[{name:`GL Assessment - Free Familiarisation Papers`,href:`https://11plus.gl-assessment.co.uk/pages/free-materials`},{name:`Bond 11+ - Free Sample Papers`,href:`https://www.bond11plus.co.uk/free-resources-sample`},{name:`SATs Papers (Maths & English)`,href:`https://www.satspapers.co.uk`},{name:`BBC Bitesize KS2`,href:`https://www.bbc.co.uk/bitesize/primary`}].map(({name:e,href:t})=>(0,a.jsx)(`li`,{children:(0,a.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,className:`text-primary dark:text-blue-400 hover:underline font-medium`,children:[e,` β†—`]})},e))})}),(0,a.jsxs)(o,{title:`βš–οΈ Disclaimer`,children:[(0,a.jsxs)(`p`,{children:[`This is an independent preparation tool created to help children practise for the 11+ exam. It is `,(0,a.jsx)(`strong`,{children:`not affiliated with`}),` GL Assessment, any grammar school, any local authority, or any official examination board.`]}),(0,a.jsx)(`p`,{children:`All question content is original and created for practice purposes only. While we aim for accuracy and alignment with the GL Assessment style, we make no guarantee that content exactly matches actual exam questions.`}),(0,a.jsx)(`p`,{children:`Always consult your target school's official admissions guidance for current entry requirements.`})]})]})}export{s as About}; \ No newline at end of file diff --git a/dist/assets/About-DG27denO.js b/dist/assets/About-DG27denO.js new file mode 100644 index 0000000..f7ede6f --- /dev/null +++ b/dist/assets/About-DG27denO.js @@ -0,0 +1 @@ +import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{t,u as n}from"./vendor-4rVWboVA.js";import{r}from"./index-BKKq8V5A.js";var i=e(n(),1),a=t();function o({title:e,children:t,defaultOpen:n=!1}){let[r,o]=(0,i.useState)(n);return(0,a.jsxs)(`div`,{className:`card mb-3`,children:[(0,a.jsxs)(`button`,{onClick:()=>o(!r),className:`w-full text-left flex items-center justify-between gap-4 font-bold text-primary dark:text-blue-300 text-lg`,"aria-expanded":r,children:[(0,a.jsx)(`span`,{children:e}),(0,a.jsx)(`span`,{className:`text-secondary text-xl`,children:r?`β–²`:`β–Ό`})]}),r&&(0,a.jsx)(`div`,{className:`mt-4 text-gray-600 dark:text-slate-300 space-y-3 text-sm leading-relaxed`,children:t})]})}function s(){return(0,a.jsxs)(`div`,{className:`max-w-3xl mx-auto px-4 py-12`,children:[(0,a.jsxs)(`div`,{className:`text-center mb-12`,children:[(0,a.jsx)(`h1`,{className:`text-4xl font-extrabold text-primary dark:text-blue-300 mb-3`,children:`About the 11+`}),(0,a.jsx)(`p`,{className:`text-gray-500 dark:text-slate-400 text-lg max-w-xl mx-auto`,children:`Everything you need to know about preparing your child for UK grammar school entry.`})]}),(0,a.jsxs)(o,{title:`πŸ“š What is the 11+ exam?`,defaultOpen:!0,children:[(0,a.jsxs)(`p`,{children:[`The 11+ is an entrance exam taken by children in Year 6 (aged 10-11) to gain entry into selective grammar schools across the UK. Different regions use different exam boards - the most common are `,(0,a.jsx)(`strong`,{children:`GL Assessment`}),`, `,(0,a.jsx)(`strong`,{children:`CEM`}),`, `,(0,a.jsx)(`strong`,{children:`AQE`}),` (Northern Ireland), and `,(0,a.jsx)(`strong`,{children:`CSSE`}),` (Essex).`]}),(0,a.jsx)(`p`,{children:`Subjects tested vary by region, but commonly include:`}),(0,a.jsxs)(`ul`,{className:`list-disc pl-5 space-y-1`,children:[(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`Maths`}),` - arithmetic, algebra, geometry, data handling`]}),(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`English`}),` - comprehension, grammar, vocabulary, spelling`]}),(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`Verbal Reasoning`}),` - word patterns, codes, sequences, analogies`]}),(0,a.jsxs)(`li`,{children:[(0,a.jsx)(`strong`,{children:`Non-Verbal Reasoning`}),` - shape patterns, matrices, spatial reasoning`]})]}),(0,a.jsx)(`p`,{children:`Papers are typically 45-50 minutes each, often in multiple-choice format. Some regions (e.g. Warwickshire, Essex) also include a written English component. Always check your target school's admissions page for exact requirements.`})]}),(0,a.jsx)(o,{title:`πŸ“… Preparation Timeline`,children:(0,a.jsx)(`div`,{className:`space-y-4`,children:[{period:`Year 4 (age 8-9)`,text:`Begin familiarisation with exam format. Focus on keeping up with school maths and reading widely.`},{period:`Year 5 (age 9-10)`,text:`Start structured practice. Work through all four subjects. Take timed practice papers. Identify weak areas.`},{period:`Year 6 September`,text:`11+ exams take place - usually in early September of Year 6. Some schools test in late September.`},{period:`October-November`,text:`Results announced. Offers for grammar school places confirmed in early March via local authority.`},{period:`March Year 6`,text:`Secondary school offers received. Grammar school places confirmed on National Offer Day (1 March).`}].map(({period:e,text:t})=>(0,a.jsxs)(`div`,{className:`flex gap-4`,children:[(0,a.jsx)(`div`,{className:`font-bold text-primary dark:text-blue-400 min-w-[130px]`,children:e}),(0,a.jsx)(`div`,{children:t})]},e))})}),(0,a.jsxs)(o,{title:`πŸ—ΊοΈ UK Grammar School Regions`,children:[(0,a.jsx)(`p`,{children:`This site covers 12 regions across the UK. Select your region in the quiz setup to see schools and exam board details tailored to your area.`}),(0,a.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2 mt-3`,children:r.map(e=>(0,a.jsxs)(`div`,{className:`flex items-center gap-2 p-2 bg-blue-50 dark:bg-blue-900/20 rounded-lg`,children:[(0,a.jsx)(`span`,{className:`text-xl`,children:e.flag}),(0,a.jsxs)(`div`,{children:[(0,a.jsx)(`p`,{className:`text-sm font-semibold text-primary dark:text-blue-300`,children:e.name}),(0,a.jsxs)(`p`,{className:`text-xs text-gray-400`,children:[e.examBoards.join(` / `),` Β· `,e.subjects.length,` subjects`]})]})]},e.id))}),(0,a.jsx)(`p`,{className:`mt-3 text-xs text-gray-400`,children:`* Entry requirements vary by school and region. Always check the individual school's admissions page for current requirements.`})]}),(0,a.jsxs)(o,{title:`πŸ’‘ How to use this site`,children:[(0,a.jsxs)(`p`,{children:[(0,a.jsx)(`strong`,{children:`Free Mode`}),` uses our bank of 370+ hand-crafted questions aligned with the GL Assessment style:`]}),(0,a.jsxs)(`ul`,{className:`list-disc pl-5 space-y-1`,children:[(0,a.jsx)(`li`,{children:`Select a subject and difficulty`}),(0,a.jsx)(`li`,{children:`Complete the quiz (with or without a timer)`}),(0,a.jsx)(`li`,{children:`Review all answers and explanations immediately`}),(0,a.jsx)(`li`,{children:`Download a printable PDF paper for pen-and-paper practice`}),(0,a.jsx)(`li`,{children:`Track weak areas across sessions`})]}),(0,a.jsxs)(`p`,{children:[(0,a.jsx)(`strong`,{children:`AI Mode`}),` uses Claude (Anthropic) to generate fresh questions every time:`]}),(0,a.jsxs)(`ul`,{className:`list-disc pl-5 space-y-1`,children:[(0,a.jsx)(`li`,{children:`Add your Anthropic API key in βš™οΈ Settings`}),(0,a.jsx)(`li`,{children:`Each quiz generates unique, never-repeated questions`}),(0,a.jsx)(`li`,{children:`Questions adapt to your chosen difficulty level`})]})]}),(0,a.jsx)(o,{title:`πŸ“„ Free external resources`,children:(0,a.jsx)(`ul`,{className:`space-y-2`,children:[{name:`GL Assessment - Free Familiarisation Papers`,href:`https://11plus.gl-assessment.co.uk/pages/free-materials`},{name:`Bond 11+ - Free Sample Papers`,href:`https://www.bond11plus.co.uk/free-resources-sample`},{name:`SATs Papers (Maths & English)`,href:`https://www.satspapers.co.uk`},{name:`BBC Bitesize KS2`,href:`https://www.bbc.co.uk/bitesize/primary`}].map(({name:e,href:t})=>(0,a.jsx)(`li`,{children:(0,a.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,className:`text-primary dark:text-blue-400 hover:underline font-medium`,children:[e,` β†—`]})},e))})}),(0,a.jsxs)(o,{title:`βš–οΈ Disclaimer`,children:[(0,a.jsxs)(`p`,{children:[`This is an independent preparation tool created to help children practise for the 11+ exam. It is `,(0,a.jsx)(`strong`,{children:`not affiliated with`}),` GL Assessment, any grammar school, any local authority, or any official examination board.`]}),(0,a.jsx)(`p`,{children:`All question content is original and created for practice purposes only. While we aim for accuracy and alignment with the GL Assessment style, we make no guarantee that content exactly matches actual exam questions.`}),(0,a.jsx)(`p`,{children:`Always consult your target school's official admissions guidance for current entry requirements.`})]})]})}export{s as About}; \ No newline at end of file diff --git a/dist/assets/Home-Dt8reEQy.js b/dist/assets/Home-DgFZ-9GX.js similarity index 99% rename from dist/assets/Home-Dt8reEQy.js rename to dist/assets/Home-DgFZ-9GX.js index aaf4e16..557c2a2 100644 --- a/dist/assets/Home-Dt8reEQy.js +++ b/dist/assets/Home-DgFZ-9GX.js @@ -1 +1 @@ -import{o as e,r as t,t as n}from"./vendor-4rVWboVA.js";import{n as r,o as i,t as a}from"./index-CI4n4HMn.js";import{n as o}from"./metadata-DFZiaT6I.js";var s=n();function c(){let{state:e}=i(),{region:n}=r(),a=n.subjects.map(e=>e===`maths`?`Maths`:e===`english`?`English`:e===`verbal`?`Verbal Reasoning`:e===`nonverbal`?`Non-Verbal Reasoning`:e).join(` Β· `),o=n.examBoards.join(` / `);return(0,s.jsx)(`section`,{className:`bg-gradient-to-br from-primary to-blue-800 text-white py-16 px-4`,children:(0,s.jsxs)(`div`,{className:`max-w-4xl mx-auto text-center`,children:[(0,s.jsxs)(`div`,{className:`inline-flex items-center gap-2 bg-white/10 rounded-full px-4 py-1.5 text-sm font-semibold mb-6`,children:[(0,s.jsx)(`span`,{children:n.flag}),(0,s.jsxs)(`span`,{children:[n.name,` Β· Free Β· No account needed Β· 300+ questions`]})]}),(0,s.jsxs)(`h1`,{className:`text-4xl sm:text-5xl font-extrabold leading-tight mb-4`,children:[`Free 11+ Practice for`,` `,(0,s.jsx)(`span`,{className:`text-secondary`,children:n.name})]}),(0,s.jsx)(`p`,{className:`text-xl text-blue-100 max-w-2xl mx-auto mb-4`,children:a}),(0,s.jsxs)(`p`,{className:`text-blue-200 max-w-xl mx-auto mb-8`,children:[`Aligned with `,o,`. Instant results. Printable PDF papers.`,` `,e.mode===`ai`?`AI-powered fresh questions every session.`:`Works offline after first load.`]}),(0,s.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center`,children:[(0,s.jsx)(t,{to:`/quiz`,className:`inline-flex items-center justify-center btn-primary text-base py-3.5 px-8 shadow-lg`,children:`Start Practising β†’`}),(0,s.jsx)(`a`,{href:`#how-it-works`,className:`inline-flex items-center justify-center border-2 border-white text-white font-bold py-3.5 px-8 rounded-xl hover:bg-white/10 transition-colors min-h-[44px]`,children:`How it works ↓`})]}),(0,s.jsx)(`div`,{className:`grid grid-cols-3 gap-4 mt-12 max-w-lg mx-auto`,children:[{value:`300+`,label:`Questions`},{value:`4`,label:`Subjects`},{value:`100%`,label:`Free`}].map(({value:e,label:t})=>(0,s.jsxs)(`div`,{className:`text-center`,children:[(0,s.jsx)(`div`,{className:`text-3xl font-extrabold text-secondary`,children:e}),(0,s.jsx)(`div`,{className:`text-sm text-blue-200`,children:t})]},t))})]})})}function l({subject:t,questionCount:n}){let r=e();return(0,s.jsxs)(`div`,{className:`card border-2 ${t.borderColor} hover:shadow-lg transition-shadow duration-200 flex flex-col`,children:[(0,s.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,s.jsx)(`span`,{className:`text-4xl`,role:`img`,"aria-label":t.name,children:t.icon}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`h3`,{className:`font-extrabold text-lg text-primary dark:text-blue-200`,children:t.name}),(0,s.jsxs)(`p`,{className:`text-sm text-gray-500 dark:text-slate-400`,children:[n,`+ questions`]})]})]}),(0,s.jsx)(`ul`,{className:`space-y-1 mb-5 flex-1`,children:t.topics.slice(0,3).map(e=>(0,s.jsxs)(`li`,{className:`text-sm text-gray-600 dark:text-slate-300 flex items-center gap-2`,children:[(0,s.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full flex-shrink-0`,style:{backgroundColor:t.color}}),e]},e))}),(0,s.jsx)(`button`,{onClick:()=>{r(`/quiz?subject=${t.id}`)},className:`w-full btn-primary text-sm py-2.5`,"aria-label":`Start ${t.name} practice`,children:`Practice Now β†’`})]})}var u={maths:100,english:80,verbal:115,nonverbal:75};function d(){let{getWeakTopics:t}=a(),n=e(),i=t(),{region:d}=r();return(0,s.jsxs)(`div`,{children:[(0,s.jsx)(c,{}),i.length>0&&(0,s.jsx)(`div`,{className:`bg-amber-50 dark:bg-amber-900/20 border-y border-amber-200 dark:border-amber-700 py-4 px-4`,children:(0,s.jsxs)(`div`,{className:`max-w-6xl mx-auto flex flex-col sm:flex-row items-start sm:items-center gap-3`,children:[(0,s.jsx)(`span`,{className:`text-xl`,children:`πŸ“Š`}),(0,s.jsxs)(`div`,{className:`flex-1`,children:[(0,s.jsx)(`span`,{className:`font-bold text-amber-800 dark:text-amber-300`,children:`Based on your last session, focus on: `}),(0,s.jsx)(`span`,{className:`text-amber-700 dark:text-amber-400`,children:i.slice(0,3).map(e=>e.topic.replace(/-/g,` `)).join(`, `)})]}),(0,s.jsx)(`button`,{onClick:()=>n(`/quiz`),className:`btn-primary text-sm py-2 px-4 whitespace-nowrap`,children:`Start targeted practice β†’`})]})}),(0,s.jsxs)(`section`,{className:`max-w-6xl mx-auto px-4 py-14`,id:`subjects`,children:[(0,s.jsxs)(`div`,{className:`text-center mb-10`,children:[(0,s.jsx)(`h2`,{className:`text-3xl font-extrabold text-primary dark:text-blue-300 mb-2`,children:`Choose Your Subject`}),(0,s.jsxs)(`p`,{className:`text-gray-500 dark:text-slate-400`,children:[`Practise the subjects tested in `,d.name,` (`,d.examBoards.join(` / `),`), or take a mixed paper.`]})]}),(0,s.jsx)(`div`,{className:`grid grid-cols-2 lg:grid-cols-4 gap-4`,children:o.map(e=>(0,s.jsx)(l,{subject:e,questionCount:u[e.id]||80},e.id))})]}),(0,s.jsx)(`section`,{className:`bg-white dark:bg-slate-800 py-14 px-4`,id:`how-it-works`,children:(0,s.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,s.jsx)(`div`,{className:`text-center mb-10`,children:(0,s.jsx)(`h2`,{className:`text-3xl font-extrabold text-primary dark:text-blue-300 mb-2`,children:`Two Ways to Practise`})}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-6`,children:[(0,s.jsxs)(`div`,{className:`card border-2 border-blue-100 dark:border-blue-800`,children:[(0,s.jsx)(`div`,{className:`text-4xl mb-3`,children:`πŸ”’`}),(0,s.jsx)(`h3`,{className:`text-xl font-extrabold text-primary dark:text-blue-300 mb-3`,children:`Free Mode`}),(0,s.jsx)(`ul`,{className:`space-y-2 text-sm text-gray-600 dark:text-slate-300`,children:[`300+ hand-crafted, exam-style questions`,`Works offline after first load`,`Aligned with GL Assessment format`,`No account or sign-up required`,`Instant results with explanations`].map(e=>(0,s.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,s.jsx)(`span`,{className:`text-emerald-500 mt-0.5`,children:`βœ“`}),e]},e))})]}),(0,s.jsxs)(`div`,{className:`card border-2 border-amber-200 dark:border-amber-700`,children:[(0,s.jsx)(`div`,{className:`text-4xl mb-3`,children:`✨`}),(0,s.jsx)(`h3`,{className:`text-xl font-extrabold text-secondary mb-3`,children:`AI Mode`}),(0,s.jsx)(`ul`,{className:`space-y-2 text-sm text-gray-600 dark:text-slate-300`,children:[`Fresh questions generated by Claude AI`,`Never the same paper twice`,`Adapts to your chosen difficulty`,`Requires Anthropic API key`,`Add key in βš™οΈ Settings`].map(e=>(0,s.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,s.jsx)(`span`,{className:`text-amber-500 mt-0.5`,children:`✦`}),e]},e))})]})]})]})}),(0,s.jsx)(`section`,{className:`bg-primary dark:bg-slate-900 py-8 px-4 overflow-hidden`,children:(0,s.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,s.jsxs)(`p`,{className:`text-center text-blue-200 text-sm font-semibold mb-4 uppercase tracking-wider`,children:[d.flag,` Preparing students for `,d.name,` grammar schools`]}),(0,s.jsx)(`div`,{className:`flex gap-6 overflow-x-auto pb-2 scrollbar-hide`,children:d.notableSchools.map(e=>(0,s.jsxs)(`div`,{className:`flex-shrink-0 bg-white/10 rounded-xl px-4 py-2 text-center`,children:[(0,s.jsx)(`p`,{className:`text-white text-sm font-semibold whitespace-nowrap`,children:e.name}),(0,s.jsx)(`p`,{className:`text-blue-300 text-xs`,children:e.area})]},e.name))})]})})]})}export{d as Home}; \ No newline at end of file +import{o as e,r as t,t as n}from"./vendor-4rVWboVA.js";import{n as r,o as i,t as a}from"./index-BKKq8V5A.js";import{n as o}from"./metadata-DFZiaT6I.js";var s=n();function c(){let{state:e}=i(),{region:n}=r(),a=n.subjects.map(e=>e===`maths`?`Maths`:e===`english`?`English`:e===`verbal`?`Verbal Reasoning`:e===`nonverbal`?`Non-Verbal Reasoning`:e).join(` Β· `),o=n.examBoards.join(` / `);return(0,s.jsx)(`section`,{className:`bg-gradient-to-br from-primary to-blue-800 text-white py-16 px-4`,children:(0,s.jsxs)(`div`,{className:`max-w-4xl mx-auto text-center`,children:[(0,s.jsxs)(`div`,{className:`inline-flex items-center gap-2 bg-white/10 rounded-full px-4 py-1.5 text-sm font-semibold mb-6`,children:[(0,s.jsx)(`span`,{children:n.flag}),(0,s.jsxs)(`span`,{children:[n.name,` Β· Free Β· No account needed Β· 300+ questions`]})]}),(0,s.jsxs)(`h1`,{className:`text-4xl sm:text-5xl font-extrabold leading-tight mb-4`,children:[`Free 11+ Practice for`,` `,(0,s.jsx)(`span`,{className:`text-secondary`,children:n.name})]}),(0,s.jsx)(`p`,{className:`text-xl text-blue-100 max-w-2xl mx-auto mb-4`,children:a}),(0,s.jsxs)(`p`,{className:`text-blue-200 max-w-xl mx-auto mb-8`,children:[`Aligned with `,o,`. Instant results. Printable PDF papers.`,` `,e.mode===`ai`?`AI-powered fresh questions every session.`:`Works offline after first load.`]}),(0,s.jsxs)(`div`,{className:`flex flex-col sm:flex-row gap-4 justify-center`,children:[(0,s.jsx)(t,{to:`/quiz`,className:`inline-flex items-center justify-center btn-primary text-base py-3.5 px-8 shadow-lg`,children:`Start Practising β†’`}),(0,s.jsx)(`a`,{href:`#how-it-works`,className:`inline-flex items-center justify-center border-2 border-white text-white font-bold py-3.5 px-8 rounded-xl hover:bg-white/10 transition-colors min-h-[44px]`,children:`How it works ↓`})]}),(0,s.jsx)(`div`,{className:`grid grid-cols-3 gap-4 mt-12 max-w-lg mx-auto`,children:[{value:`300+`,label:`Questions`},{value:`4`,label:`Subjects`},{value:`100%`,label:`Free`}].map(({value:e,label:t})=>(0,s.jsxs)(`div`,{className:`text-center`,children:[(0,s.jsx)(`div`,{className:`text-3xl font-extrabold text-secondary`,children:e}),(0,s.jsx)(`div`,{className:`text-sm text-blue-200`,children:t})]},t))})]})})}function l({subject:t,questionCount:n}){let r=e();return(0,s.jsxs)(`div`,{className:`card border-2 ${t.borderColor} hover:shadow-lg transition-shadow duration-200 flex flex-col`,children:[(0,s.jsxs)(`div`,{className:`flex items-start gap-3 mb-4`,children:[(0,s.jsx)(`span`,{className:`text-4xl`,role:`img`,"aria-label":t.name,children:t.icon}),(0,s.jsxs)(`div`,{children:[(0,s.jsx)(`h3`,{className:`font-extrabold text-lg text-primary dark:text-blue-200`,children:t.name}),(0,s.jsxs)(`p`,{className:`text-sm text-gray-500 dark:text-slate-400`,children:[n,`+ questions`]})]})]}),(0,s.jsx)(`ul`,{className:`space-y-1 mb-5 flex-1`,children:t.topics.slice(0,3).map(e=>(0,s.jsxs)(`li`,{className:`text-sm text-gray-600 dark:text-slate-300 flex items-center gap-2`,children:[(0,s.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full flex-shrink-0`,style:{backgroundColor:t.color}}),e]},e))}),(0,s.jsx)(`button`,{onClick:()=>{r(`/quiz?subject=${t.id}`)},className:`w-full btn-primary text-sm py-2.5`,"aria-label":`Start ${t.name} practice`,children:`Practice Now β†’`})]})}var u={maths:100,english:80,verbal:115,nonverbal:75};function d(){let{getWeakTopics:t}=a(),n=e(),i=t(),{region:d}=r();return(0,s.jsxs)(`div`,{children:[(0,s.jsx)(c,{}),i.length>0&&(0,s.jsx)(`div`,{className:`bg-amber-50 dark:bg-amber-900/20 border-y border-amber-200 dark:border-amber-700 py-4 px-4`,children:(0,s.jsxs)(`div`,{className:`max-w-6xl mx-auto flex flex-col sm:flex-row items-start sm:items-center gap-3`,children:[(0,s.jsx)(`span`,{className:`text-xl`,children:`πŸ“Š`}),(0,s.jsxs)(`div`,{className:`flex-1`,children:[(0,s.jsx)(`span`,{className:`font-bold text-amber-800 dark:text-amber-300`,children:`Based on your last session, focus on: `}),(0,s.jsx)(`span`,{className:`text-amber-700 dark:text-amber-400`,children:i.slice(0,3).map(e=>e.topic.replace(/-/g,` `)).join(`, `)})]}),(0,s.jsx)(`button`,{onClick:()=>n(`/quiz`),className:`btn-primary text-sm py-2 px-4 whitespace-nowrap`,children:`Start targeted practice β†’`})]})}),(0,s.jsxs)(`section`,{className:`max-w-6xl mx-auto px-4 py-14`,id:`subjects`,children:[(0,s.jsxs)(`div`,{className:`text-center mb-10`,children:[(0,s.jsx)(`h2`,{className:`text-3xl font-extrabold text-primary dark:text-blue-300 mb-2`,children:`Choose Your Subject`}),(0,s.jsxs)(`p`,{className:`text-gray-500 dark:text-slate-400`,children:[`Practise the subjects tested in `,d.name,` (`,d.examBoards.join(` / `),`), or take a mixed paper.`]})]}),(0,s.jsx)(`div`,{className:`grid grid-cols-2 lg:grid-cols-4 gap-4`,children:o.map(e=>(0,s.jsx)(l,{subject:e,questionCount:u[e.id]||80},e.id))})]}),(0,s.jsx)(`section`,{className:`bg-white dark:bg-slate-800 py-14 px-4`,id:`how-it-works`,children:(0,s.jsxs)(`div`,{className:`max-w-4xl mx-auto`,children:[(0,s.jsx)(`div`,{className:`text-center mb-10`,children:(0,s.jsx)(`h2`,{className:`text-3xl font-extrabold text-primary dark:text-blue-300 mb-2`,children:`Two Ways to Practise`})}),(0,s.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-6`,children:[(0,s.jsxs)(`div`,{className:`card border-2 border-blue-100 dark:border-blue-800`,children:[(0,s.jsx)(`div`,{className:`text-4xl mb-3`,children:`πŸ”’`}),(0,s.jsx)(`h3`,{className:`text-xl font-extrabold text-primary dark:text-blue-300 mb-3`,children:`Free Mode`}),(0,s.jsx)(`ul`,{className:`space-y-2 text-sm text-gray-600 dark:text-slate-300`,children:[`300+ hand-crafted, exam-style questions`,`Works offline after first load`,`Aligned with GL Assessment format`,`No account or sign-up required`,`Instant results with explanations`].map(e=>(0,s.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,s.jsx)(`span`,{className:`text-emerald-500 mt-0.5`,children:`βœ“`}),e]},e))})]}),(0,s.jsxs)(`div`,{className:`card border-2 border-amber-200 dark:border-amber-700`,children:[(0,s.jsx)(`div`,{className:`text-4xl mb-3`,children:`✨`}),(0,s.jsx)(`h3`,{className:`text-xl font-extrabold text-secondary mb-3`,children:`AI Mode`}),(0,s.jsx)(`ul`,{className:`space-y-2 text-sm text-gray-600 dark:text-slate-300`,children:[`Fresh questions generated by Claude AI`,`Never the same paper twice`,`Adapts to your chosen difficulty`,`Requires Anthropic API key`,`Add key in βš™οΈ Settings`].map(e=>(0,s.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,s.jsx)(`span`,{className:`text-amber-500 mt-0.5`,children:`✦`}),e]},e))})]})]})]})}),(0,s.jsx)(`section`,{className:`bg-primary dark:bg-slate-900 py-8 px-4 overflow-hidden`,children:(0,s.jsxs)(`div`,{className:`max-w-6xl mx-auto`,children:[(0,s.jsxs)(`p`,{className:`text-center text-blue-200 text-sm font-semibold mb-4 uppercase tracking-wider`,children:[d.flag,` Preparing students for `,d.name,` grammar schools`]}),(0,s.jsx)(`div`,{className:`flex gap-6 overflow-x-auto pb-2 scrollbar-hide`,children:d.notableSchools.map(e=>(0,s.jsxs)(`div`,{className:`flex-shrink-0 bg-white/10 rounded-xl px-4 py-2 text-center`,children:[(0,s.jsx)(`p`,{className:`text-white text-sm font-semibold whitespace-nowrap`,children:e.name}),(0,s.jsx)(`p`,{className:`text-blue-300 text-xs`,children:e.area})]},e.name))})]})})]})}export{d as Home}; \ No newline at end of file diff --git a/dist/assets/Quiz-BxuCF0Nh.js b/dist/assets/Quiz-BxuCF0Nh.js new file mode 100644 index 0000000..e1fc65d --- /dev/null +++ b/dist/assets/Quiz-BxuCF0Nh.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdfGenerator-D2lYFkhu.js","assets/index-BKKq8V5A.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/vendor-4rVWboVA.js","assets/index-BvvnfKhH.css","assets/typeof-B5XbjTb1.js","assets/metadata-DFZiaT6I.js"])))=>i.map(i=>d[i]); +import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{c as t,o as n,s as r,t as i,u as a}from"./vendor-4rVWboVA.js";import{a as o,i as s,n as c,o as l,r as u,t as d}from"./index-BKKq8V5A.js";import{n as f,t as p}from"./metadata-DFZiaT6I.js";var m=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},h=e(a(),1),g={quizState:`SETUP`,config:null,questions:[],currentIndex:0,answers:{},flagged:new Set,startedAt:null,result:null,error:null};function _(e,t,n){let r={},i=0;for(let n of e){let e=(t[n.id]||``).toUpperCase()===n.answer.toUpperCase();e&&i++,r[n.topic]||(r[n.topic]={correct:0,total:0}),r[n.topic].total++,e&&r[n.topic].correct++}let a=Object.entries(r).filter(([,e])=>e.total>0&&e.correct/e.total<.6).map(([e])=>e);return{score:i,totalQuestions:e.length,percentage:e.length>0?Math.round(i/e.length*100):0,timeSpentSeconds:Math.round((Date.now()-n.getTime())/1e3),topicScores:r,weakTopics:a,completedAt:new Date().toISOString()}}function v(e,t){switch(t.type){case`START_LOADING`:return{...g,quizState:`LOADING`,config:t.config};case`LOAD_SUCCESS`:return{...e,quizState:`IN_PROGRESS`,questions:t.questions,currentIndex:0,answers:{},flagged:new Set,startedAt:new Date,result:null,error:null};case`LOAD_ERROR`:return{...e,quizState:`SETUP`,error:t.error};case`ANSWER`:return{...e,answers:{...e.answers,[t.questionId]:t.answer}};case`FLAG`:{let n=new Set(e.flagged);return n.has(t.questionId)?n.delete(t.questionId):n.add(t.questionId),{...e,flagged:n}}case`NAVIGATE`:{let n=e.currentIndex;return t.direction===`next`?n=Math.min(n+1,e.questions.length-1):t.direction===`prev`?n=Math.max(n-1,0):t.direction===`jump`&&t.index!==void 0&&(n=t.index),{...e,currentIndex:n}}case`SUBMIT`:{if(!e.startedAt)return e;let t=_(e.questions,e.answers,e.startedAt);return{...e,quizState:`COMPLETE`,result:t}}case`REVIEW`:return{...e,quizState:`REVIEWING`,currentIndex:0};case`RESTART`:return{...g,config:e.config};case`RESET`:return g;default:return e}}function y(){let[e,t]=(0,h.useReducer)(v,g),n=(0,h.useCallback)(e=>{t({type:`START_LOADING`,config:e})},[]),r=(0,h.useCallback)(e=>{t({type:`LOAD_SUCCESS`,questions:e})},[]),i=(0,h.useCallback)(e=>{t({type:`LOAD_ERROR`,error:e})},[]),a=(0,h.useCallback)((e,n)=>{t({type:`ANSWER`,questionId:e,answer:n})},[]),o=(0,h.useCallback)(e=>{t({type:`FLAG`,questionId:e})},[]),s=(0,h.useCallback)((e,n)=>{t({type:`NAVIGATE`,direction:e,index:n})},[]),c=(0,h.useCallback)(()=>{t({type:`SUBMIT`})},[]),l=(0,h.useCallback)(()=>{t({type:`REVIEW`})},[]),u=(0,h.useCallback)(()=>{t({type:`RESTART`})},[]),d=(0,h.useCallback)(()=>{t({type:`RESET`})},[]);return{...e,startLoading:n,loadSuccess:r,loadError:i,answer:a,flag:o,navigate:s,submit:c,review:l,restart:u,reset:d}}function b({initialSeconds:e,onExpire:t,autoStart:n=!1}){let[r,i]=(0,h.useState)(e),[a,o]=(0,h.useState)(n),s=(0,h.useRef)(null),c=(0,h.useRef)(t);return(0,h.useEffect)(()=>{c.current=t},[t]),(0,h.useEffect)(()=>(a&&r>0?s.current=setInterval(()=>{i(e=>e<=1?(clearInterval(s.current),o(!1),c.current?.(),0):e-1)},1e3):s.current&&clearInterval(s.current),()=>{s.current&&clearInterval(s.current)}),[a,r]),{timeRemaining:r,isRunning:a,start:(0,h.useCallback)(()=>o(!0),[]),pause:(0,h.useCallback)(()=>o(!1),[]),reset:(0,h.useCallback)(t=>{o(!1),i(t??e)},[e]),formatTime:e=>`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`,percentRemaining:e>0?r/e*100:0}}function x(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;te.name.toLowerCase().includes(i.toLowerCase())||e.shortName.toLowerCase().includes(i.toLowerCase())),s=t=>{r(t),e?.()};return t?(0,C.jsxs)(`div`,{className:`relative`,children:[(0,C.jsx)(`select`,{value:n.id,onChange:e=>r(e.target.value),className:`appearance-none bg-gray-50 dark:bg-slate-800 border border-gray-200 dark:border-slate-600 rounded-lg px-3 py-1.5 pr-8 text-sm font-semibold text-gray-700 dark:text-slate-200 focus:outline-none focus:ring-2 focus:ring-primary cursor-pointer`,"aria-label":`Select region`,children:u.map(e=>(0,C.jsxs)(`option`,{value:e.id,children:[e.flag,` `,e.shortName]},e.id))}),(0,C.jsx)(`span`,{className:`pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-gray-400`,children:`β–Ύ`})]}):(0,C.jsxs)(`div`,{className:`space-y-4`,children:[(0,C.jsx)(`input`,{type:`search`,placeholder:`Search region...`,value:i,onChange:e=>a(e.target.value),className:`w-full px-4 py-2 rounded-xl border border-gray-200 dark:border-slate-600 bg-white dark:bg-slate-800 text-sm focus:outline-none focus:ring-2 focus:ring-primary dark:text-slate-200`,"aria-label":`Search regions`}),(0,C.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2 max-h-96 overflow-y-auto pr-1`,children:[o.map(e=>{let t=e.id===n.id;return(0,C.jsxs)(`button`,{onClick:()=>s(e.id),className:S(`flex items-start gap-3 p-3 rounded-xl border-2 text-left transition-all`,t?`border-primary bg-blue-50 dark:bg-blue-900/20`:`border-gray-200 dark:border-slate-600 hover:border-gray-300 dark:hover:border-slate-500`),"aria-pressed":t,children:[(0,C.jsx)(`span`,{className:`text-2xl leading-none mt-0.5`,children:e.flag}),(0,C.jsxs)(`div`,{className:`min-w-0`,children:[(0,C.jsx)(`p`,{className:`font-semibold text-sm text-gray-800 dark:text-slate-100 leading-tight`,children:e.shortName}),(0,C.jsxs)(`p`,{className:`text-xs text-gray-500 dark:text-slate-400 mt-0.5 truncate`,children:[e.examBoards.join(`, `),` Β· `,e.subjects.join(`, `)]})]}),t&&(0,C.jsx)(`span`,{className:`ml-auto text-primary text-sm font-bold shrink-0`,children:`βœ“`})]},e.id)}),o.length===0&&(0,C.jsxs)(`p`,{className:`col-span-2 text-center text-gray-400 py-8`,children:[`No regions match "`,i,`"`]})]})]})}var T={maths:{icon:`πŸ”’`,label:`Maths`},english:{icon:`πŸ“–`,label:`English`},verbal:{icon:`πŸ”€`,label:`Verbal Reasoning`},nonverbal:{icon:`πŸ”·`,label:`Non-Verbal Reasoning`}};function E({region:e,className:t}){let[n,r]=(0,h.useState)(!1);return(0,C.jsxs)(`div`,{className:S(`card space-y-4`,t),children:[(0,C.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,C.jsx)(`span`,{className:`text-3xl`,children:e.flag}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h3`,{className:`font-extrabold text-primary dark:text-blue-300 text-lg leading-tight`,children:e.name}),(0,C.jsxs)(`p`,{className:`text-xs text-gray-500 dark:text-slate-400`,children:[e.examBoards.join(` / `),` Β· Tests in `,e.testPeriod]})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`text-xs font-bold uppercase text-gray-400 mb-2`,children:`Subjects Tested`}),(0,C.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[[`maths`,`english`,`verbal`,`nonverbal`].map(t=>{let n=e.subjects.includes(t),r=T[t];return(0,C.jsxs)(`span`,{className:S(`inline-flex items-center gap-1 rounded-full text-xs px-3 py-1 font-semibold`,n?`bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300`:`bg-gray-100 text-gray-400 dark:bg-slate-700 dark:text-slate-500 line-through opacity-60`),"aria-label":n?`${r.label} is tested`:`${r.label} is not tested`,children:[r.icon,` `,r.label]},t)}),e.hasCreativeWriting&&(0,C.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full text-xs px-3 py-1 font-semibold bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300`,children:`✍️ Creative Writing`})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`text-xs font-bold uppercase text-gray-400 mb-1`,children:`Format`}),(0,C.jsx)(`p`,{className:`text-sm text-gray-600 dark:text-slate-300`,children:e.testFormat})]}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.papers.map(e=>(0,C.jsx)(`span`,{className:`text-xs bg-blue-50 dark:bg-blue-900/20 text-primary dark:text-blue-300 rounded-lg px-2 py-1 font-semibold`,children:e},e))}),(0,C.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,C.jsxs)(`div`,{className:`bg-gray-50 dark:bg-slate-800 rounded-xl p-3`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-gray-400 mb-1`,children:`πŸ“… Registration`}),(0,C.jsx)(`p`,{className:`text-sm font-semibold text-gray-700 dark:text-slate-200`,children:e.registrationPeriod})]}),(0,C.jsxs)(`div`,{className:`bg-gray-50 dark:bg-slate-800 rounded-xl p-3`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-gray-400 mb-1`,children:`πŸ“ Test Date`}),(0,C.jsx)(`p`,{className:`text-sm font-semibold text-gray-700 dark:text-slate-200`,children:e.testPeriod})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`text-xs font-bold uppercase text-gray-400 mb-2`,children:`Top Tips`}),(0,C.jsx)(`ul`,{className:`space-y-1.5`,children:e.tips.map((e,t)=>(0,C.jsxs)(`li`,{className:`flex items-start gap-2 text-sm text-gray-600 dark:text-slate-300`,children:[(0,C.jsx)(`span`,{className:`text-primary dark:text-blue-400 mt-0.5 shrink-0`,children:`β†’`}),(0,C.jsx)(`span`,{children:e})]},t))})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`button`,{onClick:()=>r(!n),className:`text-sm font-semibold text-primary dark:text-blue-400 hover:underline focus:outline-none`,children:[n?`β–² Hide`:`β–Ό Show`,` grammar schools in this region (`,e.notableSchools.length,`)`]}),n&&(0,C.jsx)(`div`,{className:`mt-3 grid grid-cols-1 sm:grid-cols-2 gap-1.5`,children:e.notableSchools.map(e=>(0,C.jsxs)(`div`,{className:`flex items-start gap-2 text-sm`,children:[(0,C.jsx)(`span`,{className:`text-gray-400 shrink-0`,children:`🏫`}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`font-semibold text-gray-700 dark:text-slate-200 leading-tight`,children:e.name}),(0,C.jsx)(`p`,{className:`text-xs text-gray-400`,children:e.area})]})]},e.name))})]})]})}var D=[{id:`maths`,label:`Maths`,icon:`πŸ”’`},{id:`english`,label:`English`,icon:`πŸ“–`},{id:`verbal`,label:`Verbal Reasoning`,icon:`πŸ”€`},{id:`nonverbal`,label:`Non-Verbal`,icon:`πŸ”·`},{id:`mixed`,label:`Mixed Paper`,icon:`πŸ“‹`}],O=[10,20,30,50];function k({onStart:e}){let[t]=r(),n=t.get(`subject`)||`maths`,i=t.get(`topic`)||``,a=t.get(`adaptive`)===`1`,{state:s}=l(),{region:u}=c(),[f,p]=(0,h.useState)(!1),m=D.filter(e=>e.id===`mixed`?!0:u.subjects.includes(e.id)),[g,_]=(0,h.useState)(u.subjects.includes(n)?n:u.subjects[0]??`maths`),[v,y]=(0,h.useState)(`mixed`),[b,x]=(0,h.useState)(a?10:20),[S,T]=(0,h.useState)(a?10:20),[k,A]=(0,h.useState)(!1),[j,M]=(0,h.useState)(`off`),[N,P]=(0,h.useState)(!1),{getWeakTopics:F}=d(),I=F(),L=k?S:b;return(0,C.jsxs)(`div`,{className:`max-w-2xl mx-auto px-4 py-10 animate-fade-in`,children:[(0,C.jsxs)(`div`,{className:`text-center mb-8`,children:[(0,C.jsx)(`h1`,{className:`text-3xl font-extrabold text-primary dark:text-blue-300 mb-2`,children:`Set Up Your Quiz`}),(0,C.jsx)(`p`,{className:`text-gray-500 dark:text-slate-400`,children:`Choose your region, subject and settings, then start practising.`}),a&&i&&(0,C.jsxs)(`p`,{className:`mt-3 rounded-xl bg-amber-50 px-4 py-2 text-sm font-semibold text-amber-700 dark:bg-amber-900/20 dark:text-amber-300`,children:[`Adaptive weak-topic practice: next 10 questions focus on `,i.replace(/-/g,` `),`.`]}),(0,C.jsx)(`div`,{className:`flex justify-center mt-4`,children:(0,C.jsxs)(`div`,{className:`flex items-center gap-3 bg-gray-50 dark:bg-slate-800 rounded-xl px-4 py-2`,children:[(0,C.jsx)(`span`,{className:`text-sm font-semibold text-gray-500 dark:text-slate-400`,children:`Mode:`}),(0,C.jsx)(o,{})]})})]}),(0,C.jsxs)(`div`,{className:`space-y-6`,children:[(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300`,children:`0. Your Region`}),(0,C.jsx)(`button`,{onClick:()=>p(!f),className:`text-xs text-primary dark:text-blue-400 hover:underline`,children:f?`Hide info`:`About this test`})]}),(0,C.jsx)(w,{}),f&&(0,C.jsx)(`div`,{className:`mt-4`,children:(0,C.jsx)(E,{region:u})}),u.hasCreativeWriting&&(0,C.jsx)(`p`,{className:`mt-3 text-xs text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 rounded-lg p-2`,children:`✍️ This region includes creative writing - practice timed essays and stories too.`})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`1. Choose Subject`}),(0,C.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 gap-3`,children:m.map(e=>(0,C.jsxs)(`button`,{onClick:()=>_(e.id),className:`p-3 rounded-xl border-2 font-semibold text-sm transition-all text-center flex flex-col items-center gap-1 min-h-[70px] ${g===e.id?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 hover:border-gray-300 dark:text-slate-300`}`,children:[(0,C.jsx)(`span`,{className:`text-2xl`,children:e.icon}),(0,C.jsx)(`span`,{children:e.label})]},e.id))}),u.subjects.length<4&&(0,C.jsxs)(`p`,{className:`mt-3 text-xs text-gray-400 dark:text-slate-500`,children:[`Only subjects tested in `,u.shortName,` are shown.`]})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`2. Difficulty`}),(0,C.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-3`,children:[(0,C.jsx)(`button`,{onClick:()=>y(`mixed`),className:`p-3 rounded-xl border-2 font-semibold text-sm transition-all ${v===`mixed`?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:`Mixed`}),[1,2,3].map(e=>(0,C.jsx)(`button`,{onClick:()=>y(e),className:`p-3 rounded-xl border-2 font-semibold text-sm transition-all ${v===e?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:e===1?`⭐ Easy`:e===2?`⭐⭐ Standard`:`⭐⭐⭐ Stretch`},e))]})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`3. Number of Questions`}),(0,C.jsxs)(`div`,{className:`flex flex-wrap gap-3 mb-4`,children:[O.map(e=>(0,C.jsx)(`button`,{onClick:()=>{x(e),A(!1)},className:`px-5 py-2.5 rounded-xl border-2 font-bold transition-all ${!k&&b===e?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:e},e)),(0,C.jsx)(`button`,{onClick:()=>A(!0),className:`px-5 py-2.5 rounded-xl border-2 font-bold transition-all ${k?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:`Custom`})]}),k&&(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`input`,{type:`range`,min:5,max:50,value:S,onChange:e=>T(Number(e.target.value)),className:`w-full accent-amber-500`,"aria-label":`Number of questions`}),(0,C.jsxs)(`div`,{className:`flex justify-between text-xs text-gray-400 mt-1`,children:[(0,C.jsx)(`span`,{children:`5`}),(0,C.jsxs)(`span`,{className:`font-bold text-secondary text-sm`,children:[S,` questions`]}),(0,C.jsx)(`span`,{children:`50`})]})]})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`4. Timer`}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:[{value:`off`,label:`⏸️ No Timer`},{value:`per-question`,label:`⏱️ 45s per question`},{value:`full-paper`,label:`πŸ“‹ Full paper timer`}].map(({value:e,label:t})=>(0,C.jsx)(`button`,{onClick:()=>M(e),className:`px-4 py-2.5 rounded-xl border-2 font-semibold text-sm transition-all ${j===e?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:t},e))})]}),(0,C.jsx)(`div`,{className:`card`,children:(0,C.jsxs)(`label`,{className:`flex items-center gap-3 cursor-pointer`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:N,onChange:e=>P(e.target.checked),className:`w-5 h-5 accent-amber-500`}),(0,C.jsx)(`span`,{className:`font-semibold dark:text-slate-200`,children:`πŸ“„ Also download a printable PDF paper`})]})}),I.length>0&&(0,C.jsxs)(`div`,{className:`card border-2 border-amber-300 dark:border-amber-600`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-amber-700 dark:text-amber-300 mb-3`,children:`⚠️ Weak Areas Detected`}),(0,C.jsx)(`p`,{className:`text-xs text-gray-500 dark:text-slate-400 mb-3`,children:`These topics have accuracy below 60% after 3+ attempts. Practice them now to improve.`}),(0,C.jsxs)(`div`,{className:`space-y-2 mb-4`,children:[I.slice(0,5).map(e=>(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2 bg-amber-50 dark:bg-amber-900/20 rounded-lg`,children:[(0,C.jsxs)(`span`,{className:`text-sm font-medium capitalize text-gray-700 dark:text-slate-200`,children:[e.topic.replace(/-/g,` `),(0,C.jsx)(`span`,{className:`ml-2 text-xs text-gray-400`,children:e.subject})]}),(0,C.jsxs)(`span`,{className:`text-xs font-bold text-red-500`,children:[Math.round(e.correct/e.attempts*100),`%`]})]},`${e.subject}__${e.topic}`)),I.length>5&&(0,C.jsxs)(`p`,{className:`text-xs text-gray-400 text-center`,children:[`+`,I.length-5,` more weak topics`]})]}),(0,C.jsxs)(`button`,{onClick:()=>e({mode:s.mode,subject:`mixed`,difficulty:`mixed`,questionCount:L,timerMode:{type:`off`},generatePdf:!1,regionId:u.id,focusWeakTopics:I.map(e=>e.topic)}),className:`w-full btn-secondary text-sm py-2.5`,children:[`🎯 Practice My Weak Areas (`,I.length,` topic`,I.length>1?`s`:``,`)`]})]}),s.mode===`ai`&&!s.apiKey&&(0,C.jsx)(`div`,{className:`bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-700 rounded-xl p-4 text-sm text-amber-700 dark:text-amber-300`,children:`⚠️ AI mode requires an Anthropic API key. Open Settings (βš™οΈ) to add your key, or switch to Free mode.`}),(0,C.jsxs)(`button`,{onClick:()=>{let t=j===`per-question`?{type:`per-question`,secondsPerQuestion:45}:j===`full-paper`?{type:`full-paper`,totalSeconds:L*54}:{type:`off`};e({mode:s.mode,subject:g,difficulty:v,questionCount:a?10:L,timerMode:t,generatePdf:N,regionId:u.id,focusWeakTopics:i?[i]:void 0})},disabled:s.mode===`ai`&&!s.apiKey,className:`w-full btn-primary text-lg py-4 shadow-lg`,children:[`πŸš€ Start Quiz - `,L,` Questions`]})]})]})}function A({subject:e,size:t=`md`}){let n=f.find(t=>t.id===e);return n?(0,C.jsxs)(`span`,{className:S(`inline-flex items-center gap-1 rounded-full font-semibold`,n.bgColor,n.textColor,t===`sm`?`text-xs px-2 py-0.5`:`text-sm px-3 py-1`),children:[(0,C.jsx)(`span`,{children:n.icon}),(0,C.jsx)(`span`,{children:n.name})]}):null}function j({difficulty:e,size:t=`md`}){return(0,C.jsx)(`span`,{className:S(`inline-flex items-center rounded-full font-semibold`,{1:`bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300`,2:`bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300`,3:`bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300`}[e],t===`sm`?`text-xs px-2 py-0.5`:`text-sm px-3 py-1`),children:p[e]})}function M({question:e,questionNumber:t,totalQuestions:n,selectedAnswer:r,isFlagged:i,isReviewing:a=!1,onAnswer:o,onFlag:s,onNext:c,onPrev:l,onSubmit:u,isFirst:d,isLast:f}){let[p,m]=(0,h.useState)(r||``),g=t=>{let n=t.charAt(0),i=r===n;if(a){let t=n===e.answer;return t?`bg-emerald-50 border-emerald-400 text-emerald-800 dark:bg-emerald-900/30 dark:border-emerald-500 dark:text-emerald-200`:r===n&&!t?`bg-red-50 border-red-400 text-red-800 dark:bg-red-900/30 dark:border-red-500 dark:text-red-200`:`bg-gray-50 border-gray-200 text-gray-500 dark:bg-slate-700 dark:border-slate-600 dark:text-slate-400`}return i?`bg-blue-50 border-blue-500 text-blue-800 dark:bg-blue-900/30 dark:border-blue-400 dark:text-blue-200 shadow-sm`:`bg-white border-gray-200 text-gray-700 hover:bg-blue-50 hover:border-blue-300 dark:bg-slate-800 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-700`};return(0,C.jsxs)(`div`,{className:`card max-w-2xl mx-auto animate-fade-in`,children:[(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 mb-4`,children:[(0,C.jsx)(A,{subject:e.subject,size:`sm`}),(0,C.jsx)(j,{difficulty:e.difficulty,size:`sm`}),(0,C.jsx)(`span`,{className:`text-xs text-gray-400 dark:text-slate-500 ml-auto`,children:e.topic}),!a&&(0,C.jsx)(`button`,{onClick:s,"aria-label":i?`Remove flag`:`Flag for review`,"aria-pressed":i,className:S(`p-1.5 rounded-lg transition-colors text-sm`,i?`bg-amber-100 text-amber-600 dark:bg-amber-900/30`:`text-gray-400 hover:text-amber-500 hover:bg-amber-50 dark:hover:bg-amber-900/20`),children:`🚩`})]}),e.context&&(0,C.jsxs)(`div`,{className:`bg-blue-50 dark:bg-blue-900/20 border border-blue-100 dark:border-blue-800 rounded-xl p-4 mb-5`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-blue-600 dark:text-blue-400 mb-2 uppercase tracking-wide`,children:`Reading Passage`}),(0,C.jsx)(`p`,{className:`font-serif text-sm leading-relaxed text-gray-700 dark:text-slate-200 whitespace-pre-line`,children:e.context})]}),(0,C.jsx)(`p`,{className:`question-text mb-6 font-serif text-lg leading-relaxed`,children:e.question}),e.type===`mcq`&&e.options&&(0,C.jsx)(`div`,{className:`space-y-3`,role:`radiogroup`,"aria-label":`Answer options`,children:e.options.map(t=>{let n=t.charAt(0),i=a&&n===e.answer,s=a&&r===n&&n!==e.answer;return(0,C.jsxs)(`button`,{role:`radio`,"aria-checked":r===n,onClick:()=>!a&&o(n),disabled:a,className:S(`w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 min-h-[44px] flex items-center gap-3 font-medium`,g(t)),children:[(0,C.jsx)(`span`,{className:S(`w-8 h-8 rounded-full border-2 flex items-center justify-center font-bold text-sm flex-shrink-0`,r===n&&!a?`border-blue-500 bg-blue-500 text-white`:i?`border-emerald-500 bg-emerald-500 text-white`:s?`border-red-500 bg-red-500 text-white`:`border-current bg-transparent`),children:n}),(0,C.jsx)(`span`,{className:`font-serif`,children:t.slice(3)}),i&&(0,C.jsx)(`span`,{className:`ml-auto text-emerald-600`,"aria-label":`Correct`,children:`βœ“`}),s&&(0,C.jsx)(`span`,{className:`ml-auto text-red-600`,"aria-label":`Incorrect`,children:`βœ—`})]},t)})}),e.type===`text-input`&&(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`label`,{className:`block text-sm font-semibold text-gray-600 dark:text-slate-300 mb-2`,htmlFor:`text-answer`,children:`Your answer:`}),(0,C.jsx)(`input`,{id:`text-answer`,type:`text`,value:p,onChange:e=>{m(e.target.value),o(e.target.value)},disabled:a,className:`w-full border-2 border-gray-200 dark:border-slate-600 rounded-xl px-4 py-3 font-serif text-lg dark:bg-slate-800 dark:text-white focus:outline-none focus:border-blue-400`,placeholder:`Type your answer here...`}),a&&(0,C.jsxs)(`p`,{className:`mt-2 text-sm text-emerald-600 dark:text-emerald-400 font-semibold`,children:[`Correct answer: `,e.answer]})]}),a&&e.explanation&&(0,C.jsxs)(`div`,{className:`mt-5 bg-amber-50 dark:bg-amber-900/20 border border-amber-100 dark:border-amber-800 rounded-xl p-4`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-amber-600 dark:text-amber-400 mb-1 uppercase tracking-wide`,children:`Explanation`}),(0,C.jsx)(`p`,{className:`text-sm text-gray-700 dark:text-slate-200 font-serif leading-relaxed`,children:e.explanation})]}),!a&&(0,C.jsxs)(`div`,{className:`flex items-center gap-3 mt-6 pt-4 border-t border-gray-100 dark:border-slate-700`,children:[(0,C.jsx)(`button`,{onClick:l,disabled:d,className:`btn-outline text-sm py-2 px-4 disabled:opacity-40`,children:`← Prev`}),(0,C.jsxs)(`span`,{className:`text-sm text-gray-400 flex-1 text-center`,children:[t,` / `,n]}),f?(0,C.jsx)(`button`,{onClick:u,className:`btn-primary text-sm py-2 px-5`,children:`Submit Quiz βœ“`}):(0,C.jsx)(`button`,{onClick:c,className:`btn-secondary text-sm py-2 px-4`,children:`Next β†’`})]})]})}function N({current:e,total:t,answered:n,flagged:r}){let i=t>0?(e+1)/t*100:0;return(0,C.jsxs)(`div`,{className:`space-y-2`,children:[(0,C.jsxs)(`div`,{className:`flex justify-between items-center text-sm font-semibold text-gray-600 dark:text-slate-300`,children:[(0,C.jsxs)(`span`,{children:[`Question `,e+1,` of `,t]}),(0,C.jsxs)(`div`,{className:`flex gap-3`,children:[(0,C.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:[`βœ“ `,n,` answered`]}),r>0&&(0,C.jsxs)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:[`🚩 `,r,` flagged`]})]})]}),(0,C.jsx)(`div`,{className:`w-full h-2 bg-gray-200 dark:bg-slate-700 rounded-full overflow-hidden`,role:`progressbar`,"aria-valuenow":e+1,"aria-valuemin":1,"aria-valuemax":t,children:(0,C.jsx)(`div`,{className:`h-full bg-secondary rounded-full transition-all duration-300`,style:{width:`${i}%`}})})]})}function P({timeRemaining:e,totalTime:t,formatTime:n}){let r=t>0?e/t*100:100,i=r<20,a=r<10;return(0,C.jsxs)(`div`,{className:S(`flex items-center gap-3 px-4 py-2 rounded-xl font-bold transition-colors`,a?`bg-red-50 text-red-600 dark:bg-red-900/30 dark:text-red-300`:i?`bg-amber-50 text-amber-600 dark:bg-amber-900/30 dark:text-amber-300`:`bg-blue-50 text-primary dark:bg-blue-900/20 dark:text-blue-300`),"aria-live":`polite`,"aria-atomic":`true`,children:[(0,C.jsx)(`span`,{className:`text-xl`,"aria-hidden":`true`,children:a?`⏰`:i?`βŒ›`:`⏱️`}),(0,C.jsx)(`span`,{className:`text-lg tabular-nums`,"aria-label":`${e} seconds remaining`,children:n(e)}),(0,C.jsx)(`div`,{className:`w-20 h-2 bg-gray-200 dark:bg-slate-600 rounded-full overflow-hidden`,"aria-hidden":`true`,children:(0,C.jsx)(`div`,{className:S(`h-full rounded-full transition-all duration-1000`,a?`bg-red-500`:i?`bg-amber-500`:`bg-blue-500`),style:{width:`${r}%`}})})]})}function F(e){return e>=80?{label:`Excellent! Grammar school ready`,color:`text-emerald-600`,emoji:`πŸŽ‰`}:e>=60?{label:`Good progress - keep practising!`,color:`text-amber-600`,emoji:`πŸ‘`}:{label:`More practice needed - you've got this!`,color:`text-rose-600`,emoji:`πŸ’ͺ`}}function I(e,t){let n={};for(let r of e){let e=`${r.subject}__${r.topic}`;n[e]||(n[e]={topic:r.topic,subject:r.subject,correct:0,total:0}),n[e].total++,(t[r.id]||``).toUpperCase()===r.answer.toUpperCase()&&n[e].correct++}return Object.values(n).map(e=>({...e,percentage:Math.round(e.correct/e.total*100)})).sort((e,t)=>e.percentage-t.percentage)}function L(e,t){let n={};for(let r of e)n[r.subject]||(n[r.subject]={subject:r.subject,correct:0,total:0}),n[r.subject].total++,(t[r.id]||``).toUpperCase()===r.answer.toUpperCase()&&n[r.subject].correct++;return Object.values(n).map(e=>({...e,percentage:Math.round(e.correct/e.total*100)}))}function R(e){let t=Math.floor(e/60),n=e%60;return t===0?`${n}s`:`${t}m ${n}s`}function z({result:e,questions:r,answers:i,config:a,onRestart:o,onNewQuiz:s}){let c=n(),[l,u]=(0,h.useState)(null),[d,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(``),{label:g,color:_,emoji:v}=F(e.percentage),y=I(r,i),b=y.filter(e=>e.total>0).sort((e,t)=>e.percentage-t.percentage)[0],x=b?.subject||r.find(t=>e.weakTopics.includes(t.topic))?.subject,w=L(r,i),T=w.length>1;return(0,C.jsxs)(`div`,{className:`max-w-3xl mx-auto px-4 py-10 space-y-6 animate-fade-in`,children:[(0,C.jsxs)(`div`,{className:`card text-center bg-gradient-to-br from-primary to-blue-700 text-white`,children:[(0,C.jsxs)(`div`,{className:`text-7xl font-extrabold mb-2`,children:[e.percentage,`%`]}),(0,C.jsxs)(`div`,{className:`text-2xl mb-1`,children:[e.score,` / `,e.totalQuestions,` correct`]}),(0,C.jsxs)(`div`,{className:`text-xl font-bold mt-3 ${_.replace(`text-`,`text-white/90 `)}`,children:[v,` `,g]}),(0,C.jsxs)(`div`,{className:`mt-3 text-blue-200 text-sm`,children:[`Time taken: `,R(e.timeSpentSeconds)]})]}),T&&(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4 text-lg`,children:`Subject Breakdown`}),(0,C.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:w.map(e=>(0,C.jsxs)(`div`,{className:`flex items-center gap-3 p-3 rounded-xl bg-gray-50 dark:bg-slate-700`,children:[(0,C.jsx)(A,{subject:e.subject,size:`sm`}),(0,C.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,C.jsx)(`div`,{className:`h-2 bg-gray-200 dark:bg-slate-600 rounded-full overflow-hidden`,children:(0,C.jsx)(`div`,{className:`h-full rounded-full`,style:{width:`${e.percentage}%`,backgroundColor:e.percentage>=80?`#2ECC71`:e.percentage>=60?`#F4A435`:`#E74C3C`}})})}),(0,C.jsxs)(`span`,{className:`font-bold text-sm`,children:[e.percentage,`%`]})]},e.subject))})]}),b&&x&&(0,C.jsxs)(`div`,{className:`card border-2 border-blue-200 dark:border-blue-700`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-2`,children:`Adaptive Weak-Topic Practice`}),(0,C.jsxs)(`p`,{className:`text-sm text-gray-500 dark:text-slate-400 mb-3`,children:[`Your weakest area was `,b.topic.replace(/-/g,` `),` at `,b.percentage,`%. Generate the next 10 questions from that area.`]}),(0,C.jsx)(`button`,{onClick:()=>c(`/quiz?adaptive=1&subject=${x}&topic=${b.topic}`),className:`btn-primary text-sm py-2.5 px-4`,children:`Generate next 10 questions β†’`})]}),e.weakTopics.length>0&&(0,C.jsxs)(`div`,{className:`card border-2 border-amber-200 dark:border-amber-700`,children:[(0,C.jsxs)(`h2`,{className:`font-bold text-amber-700 dark:text-amber-300 mb-3 flex items-center gap-2`,children:[(0,C.jsx)(`span`,{children:`⚠️`}),` Areas to Improve`]}),(0,C.jsx)(`div`,{className:`space-y-2`,children:e.weakTopics.map(e=>(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 p-3 bg-amber-50 dark:bg-amber-900/20 rounded-xl`,children:[(0,C.jsx)(`span`,{className:`text-sm font-semibold text-gray-700 dark:text-slate-200 capitalize`,children:e.replace(/-/g,` `)}),(0,C.jsx)(`button`,{onClick:()=>c(`/quiz?subject=${r.find(t=>t.topic===e)?.subject}&topic=${e}`),className:`text-xs btn-primary py-1.5 px-3`,children:`Practise this β†’`})]},e))})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4 text-lg`,children:`Topic Breakdown`}),(0,C.jsx)(`div`,{className:`overflow-x-auto`,children:(0,C.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,C.jsx)(`thead`,{children:(0,C.jsxs)(`tr`,{className:`text-left text-gray-400 border-b dark:border-slate-700`,children:[(0,C.jsx)(`th`,{className:`pb-2 font-semibold`,children:`Topic`}),(0,C.jsx)(`th`,{className:`pb-2 font-semibold text-center`,children:`Score`}),(0,C.jsx)(`th`,{className:`pb-2 font-semibold w-24`,children:`Progress`})]})}),(0,C.jsx)(`tbody`,{children:y.map(e=>(0,C.jsxs)(`tr`,{className:`border-b border-gray-50 dark:border-slate-700/50`,children:[(0,C.jsxs)(`td`,{className:`py-2.5 font-medium capitalize text-gray-700 dark:text-slate-200`,children:[e.topic.replace(/-/g,` `),(0,C.jsx)(`span`,{className:`ml-2 text-xs text-gray-400`,children:e.subject})]}),(0,C.jsx)(`td`,{className:`py-2.5 text-center`,children:(0,C.jsxs)(`span`,{className:S(`font-bold`,e.percentage>=80?`text-emerald-600`:e.percentage>=60?`text-amber-600`:`text-red-500`),children:[e.correct,`/`,e.total]})}),(0,C.jsx)(`td`,{className:`py-2.5`,children:(0,C.jsx)(`div`,{className:`h-2 bg-gray-200 dark:bg-slate-700 rounded-full overflow-hidden`,children:(0,C.jsx)(`div`,{className:`h-full rounded-full`,style:{width:`${e.percentage}%`,backgroundColor:e.percentage>=80?`#2ECC71`:e.percentage>=60?`#F4A435`:`#E74C3C`}})})})]},`${e.subject}-${e.topic}`))})]})})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4 text-lg`,children:`Question Review`}),(0,C.jsx)(`div`,{className:`space-y-3`,children:r.map((e,t)=>{let n=i[e.id]||``,r=n.toUpperCase()===e.answer.toUpperCase(),a=l===e.id;return(0,C.jsxs)(`div`,{className:S(`border-2 rounded-xl overflow-hidden`,r?`border-emerald-200 dark:border-emerald-700`:`border-red-200 dark:border-red-800`),children:[(0,C.jsxs)(`button`,{onClick:()=>u(a?null:e.id),className:`w-full text-left px-4 py-3 flex items-center gap-3 hover:bg-gray-50 dark:hover:bg-slate-700 transition-colors`,"aria-expanded":a,children:[(0,C.jsx)(`span`,{className:S(`w-7 h-7 rounded-full flex items-center justify-center text-white font-bold text-sm flex-shrink-0`,r?`bg-emerald-500`:`bg-red-500`),children:r?`βœ“`:`βœ—`}),(0,C.jsxs)(`span`,{className:`text-sm font-medium text-gray-700 dark:text-slate-200 flex-1 text-left truncate`,children:[`Q`,t+1,`. `,e.question.slice(0,80),e.question.length>80?`…`:``]}),(0,C.jsx)(`span`,{className:`text-gray-400 text-sm`,children:a?`β–²`:`β–Ό`})]}),a&&(0,C.jsxs)(`div`,{className:`px-4 pb-4 space-y-3 border-t border-gray-100 dark:border-slate-700 pt-3`,children:[(0,C.jsx)(`p`,{className:`font-serif text-sm leading-relaxed text-gray-700 dark:text-slate-200`,children:e.question}),e.options&&(0,C.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2`,children:e.options.map(t=>{let r=t.charAt(0),i=r===e.answer,a=n.toUpperCase()===r;return(0,C.jsxs)(`div`,{className:S(`px-3 py-2 rounded-lg text-sm font-medium`,i?`bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-200`:a?`bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-200`:`bg-gray-50 text-gray-500 dark:bg-slate-700 dark:text-slate-400`),children:[t,` `,i&&`βœ“`,` `,a&&!i&&`βœ—`]},t)})}),!r&&(0,C.jsxs)(`p`,{className:`text-sm text-gray-500 dark:text-slate-400`,children:[`Your answer: `,(0,C.jsx)(`span`,{className:`font-semibold text-red-600 dark:text-red-400`,children:n||`Not answered`}),` `,`β€’ Correct: `,(0,C.jsx)(`span`,{className:`font-semibold text-emerald-600 dark:text-emerald-400`,children:e.answer})]}),(0,C.jsxs)(`div`,{className:`bg-amber-50 dark:bg-amber-900/20 rounded-lg px-3 py-2`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-amber-600 dark:text-amber-400 mb-1`,children:`Explanation`}),(0,C.jsx)(`p`,{className:`text-sm text-gray-700 dark:text-slate-200 font-serif`,children:e.explanation})]})]})]},e.id)})})]}),(0,C.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-3`,children:[(0,C.jsx)(`button`,{onClick:o,className:`btn-outline text-sm py-3`,children:`πŸ”„ Try Again`}),(0,C.jsx)(`button`,{onClick:s,className:`btn-outline text-sm py-3`,children:`🎯 New Quiz`}),(0,C.jsx)(`button`,{onClick:async()=>{f(!0);try{let{generatePaper:e}=await t(async()=>{let{generatePaper:e}=await import(`./pdfGenerator-D2lYFkhu.js`);return{generatePaper:e}},__vite__mapDeps([0,1,2,3,4,5,6]));await e({questions:r,quizConfig:a,includeAnswers:!0})}finally{f(!1)}},disabled:d,className:`btn-secondary text-sm py-3`,children:d?`⏳ Generating...`:`πŸ“„ Download PDF`}),(0,C.jsxs)(`button`,{onClick:()=>{let t=`I scored ${e.percentage}% (${e.score}/${e.totalQuestions}) on 11PlusPrep! ${v} Try it free at 11PlusPrep`;navigator.clipboard.writeText(t),m(`Copied to clipboard!`),setTimeout(()=>m(``),3e3)},className:`btn-primary text-sm py-3 relative`,children:[`πŸ“€ Share Result`,p&&(0,C.jsx)(`span`,{className:`absolute -top-8 left-1/2 -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded whitespace-nowrap`,children:p})]})]})]})}function B({message:e=`Loading...`,size:t=`md`}){return(0,C.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 py-12`,role:`status`,"aria-live":`polite`,children:[(0,C.jsx)(`div`,{className:`${{sm:`w-6 h-6`,md:`w-10 h-10`,lg:`w-16 h-16`}[t]} border-4 border-amber-200 border-t-amber-500 rounded-full animate-spin`,"aria-hidden":`true`}),e&&(0,C.jsx)(`p`,{className:`text-gray-600 dark:text-slate-300 font-medium text-center`,children:e})]})}function V({message:e,onDismiss:t}){return(0,C.jsxs)(`div`,{role:`alert`,className:`bg-red-50 border border-red-200 text-red-700 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300 px-4 py-3 rounded-xl flex items-start gap-3`,children:[(0,C.jsx)(`span`,{className:`text-xl`,"aria-hidden":`true`,children:`⚠️`}),(0,C.jsx)(`p`,{className:`flex-1 font-medium`,children:e}),t&&(0,C.jsx)(`button`,{onClick:t,"aria-label":`Dismiss error`,className:`text-red-500 hover:text-red-700 font-bold text-lg leading-none`,children:`Γ—`})]})}function H(e,t,n,r,i){let a=[...e];return r&&r!==`mixed`&&(a=a.filter(e=>e.subject===r)),i&&(a=a.filter(e=>e.topic===i)),n&&n!==`mixed`&&(a=a.filter(e=>e.difficulty===n),a.length(r&&r!==`mixed`?e.subject===r:!0)&&(i?e.topic===i:!0)))),G(a).slice(0,t)}function U(e,t,n){let r=[`maths`,`english`,`verbal`,`nonverbal`],i=Math.floor(t/4),a=t%4,o=[];for(let t=0;te.subject===r[t]&&e.difficulty===n):e.filter(e=>e.subject===r[t]);o=o.concat(G(c).slice(0,s))}return G(o)}function W(e,t,n,r,i){let a=[...e];if(r&&r!==`mixed`&&(a=a.filter(e=>e.subject===r)),i&&i!==`mixed`){let e=a.filter(e=>e.difficulty===i);a=e.length>=Math.ceil(n*.4)?e:a}let o=G(a.filter(e=>t.includes(e.topic))),s=G(a.filter(e=>!t.includes(e.topic))),c=Math.ceil(n*.7),l=Math.min(c,o.length),u=Math.min(n-l,s.length),d=Math.min(l,n-u);return G([...o.slice(0,d),...s.slice(0,n-d)])}function G(e){let t=[...e];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t}function K(e){if(!e||e===`london`)return`This is for the London 11+ exam (GL Assessment). Focus on grammar school entry standard for London selective schools such as those in the London Borough of Sutton and Bexley.`;let t=s(e);if(!t)return``;let n=t.examBoards.join(`, `),r=t.notableSchools.slice(0,3).map(e=>e.name).join(`, `);return`This is for the ${t.name} 11+ exam (${n}). Test format: ${t.testFormat}. Notable schools in this region: ${r}. Tailor question style, vocabulary and context to match the ${n} exam board style.`}async function q(e){let t=K(e.regionId),n=await fetch(`/api/generate-questions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({subject:e.subject,difficulty:e.difficulty,count:e.count,topics:e.topics,apiKey:e.apiKey,regionContext:t,regionId:e.regionId})});if(!n.ok){let e=await n.text();throw Error(`API error ${n.status}: ${e}`)}return(await n.json()).questions}async function J(){let[e,n,r,i]=await Promise.all([t(()=>import(`./maths-IcrU1jHD.js`),[]),t(()=>import(`./english-BmAtxTVL.js`),[]),t(()=>import(`./verbal-BS4rqsWO.js`),[]),t(()=>import(`./nonverbal-i3JU1Lyn.js`),[])]);return[...e.default,...n.default,...r.default,...i.default]}async function Y(e){let n=await J();if(!e||e===`london`)return n;try{let r=(await m(Object.assign({"../data/questions/birmingham.json":()=>t(()=>import(`./birmingham-DjKJHLNl.js`),[]),"../data/questions/buckinghamshire.json":()=>t(()=>import(`./buckinghamshire-DvGsVVh-.js`),[]),"../data/questions/english.json":()=>t(()=>import(`./english-BmAtxTVL.js`),[]),"../data/questions/essex.json":()=>t(()=>import(`./essex-xqzn3yHZ.js`),[]),"../data/questions/hertfordshire.json":()=>t(()=>import(`./hertfordshire-qVlOoO0i.js`),[]),"../data/questions/kent.json":()=>t(()=>import(`./kent-XcoARglZ.js`),[]),"../data/questions/lancashire.json":()=>t(()=>import(`./lancashire-CGbV0GOj.js`),[]),"../data/questions/lincolnshire.json":()=>t(()=>import(`./lincolnshire-D7T2la_6.js`),[]),"../data/questions/manchester.json":()=>t(()=>import(`./manchester-B1fIreRD.js`),[]),"../data/questions/maths.json":()=>t(()=>import(`./maths-IcrU1jHD.js`),[]),"../data/questions/nonverbal.json":()=>t(()=>import(`./nonverbal-i3JU1Lyn.js`),[]),"../data/questions/northern-ireland.json":()=>t(()=>import(`./northern-ireland-CjQZY3jc.js`),[]),"../data/questions/verbal.json":()=>t(()=>import(`./verbal-BS4rqsWO.js`),[]),"../data/questions/warwickshire.json":()=>t(()=>import(`./warwickshire-B9_C19vr.js`),[]),"../data/questions/yorkshire.json":()=>t(()=>import(`./yorkshire-BcXRbpch.js`),[])}),`../data/questions/${e}.json`,4)).default,i=new Set(r.map(e=>e.subject)),a=n.filter(e=>!i.has(e.subject));return[...r,...a]}catch{return n}}function X(){let e=y(),{state:i}=l(),{updateFromResults:a}=d(),[o]=r(),s=n(),c=b({initialSeconds:2700,autoStart:!1,onExpire:()=>e.submit()}),u=b({initialSeconds:45,autoStart:!1,onExpire:()=>{e.navigate(`next`),u.reset(45),setTimeout(()=>u.start(),100)}}),f=async n=>{e.startLoading(n);try{let r;if(n.mode===`ai`){let e=o.get(`topic`)||``,t=e?[e]:[`general`];r=await q({subject:n.subject===`mixed`?`maths`:n.subject,difficulty:typeof n.difficulty==`number`?n.difficulty:2,count:n.questionCount,topics:t,apiKey:i.apiKey,regionId:n.regionId})}else{let e=await Y(n.regionId??`london`),t=o.get(`topic`)||``;r=n.focusWeakTopics&&n.focusWeakTopics.length>0?W(e,n.focusWeakTopics,n.questionCount,n.subject===`mixed`?void 0:n.subject,n.difficulty===`mixed`?void 0:n.difficulty):n.subject===`mixed`?U(e,n.questionCount,n.difficulty===`mixed`?void 0:n.difficulty):H(e,n.questionCount,n.difficulty===`mixed`?void 0:n.difficulty,n.subject,t||void 0)}if(r.length===0){e.loadError(`No questions found for these settings. Try changing difficulty or subject.`);return}if(e.loadSuccess(r),n.timerMode.type===`full-paper`){let e=n.timerMode.totalSeconds||n.questionCount*54;c.reset(e),c.start()}else n.timerMode.type===`per-question`&&(u.reset(45),u.start());if(n.generatePdf){let{generatePaper:e}=await t(async()=>{let{generatePaper:e}=await import(`./pdfGenerator-D2lYFkhu.js`);return{generatePaper:e}},__vite__mapDeps([0,1,2,3,4,5,6]));e({questions:r,quizConfig:n})}}catch(t){e.loadError(t instanceof Error?t.message:`Failed to load questions. Please try again.`)}},p=()=>{c.pause(),u.pause(),e.submit(),e.config&&a(e.questions,e.answers)},m=()=>{c.reset(),u.reset(),e.restart()},h=()=>{c.reset(),u.reset(),e.reset(),s(`/quiz`)};if(e.quizState===`SETUP`||!e.config)return(0,C.jsxs)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900`,children:[(0,C.jsx)(k,{onStart:f}),e.error&&(0,C.jsx)(`div`,{className:`max-w-2xl mx-auto px-4 pb-8`,children:(0,C.jsx)(V,{message:e.error,onDismiss:()=>e.loadError(``)})})]});if(e.quizState===`LOADING`)return(0,C.jsx)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900 flex items-center justify-center`,children:(0,C.jsx)(B,{size:`lg`,message:e.config.mode===`ai`?`✨ Claude is generating fresh questions...`:`Loading questions...`})});if(e.quizState===`COMPLETE`&&e.result)return(0,C.jsx)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900`,children:(0,C.jsx)(z,{result:e.result,questions:e.questions,answers:e.answers,config:e.config,onRestart:m,onNewQuiz:h,onReview:e.review})});let g=e.questions[e.currentIndex];if(!g)return null;let _=e.quizState===`REVIEWING`,v=e.config.timerMode;return(0,C.jsxs)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900`,children:[(0,C.jsx)(`div`,{className:`sticky top-16 z-30 bg-white dark:bg-slate-900 border-b border-gray-100 dark:border-slate-800 py-3 px-4 shadow-sm`,children:(0,C.jsx)(`div`,{className:`max-w-2xl mx-auto space-y-2`,children:(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,C.jsx)(N,{current:e.currentIndex,total:e.questions.length,answered:Object.keys(e.answers).length,flagged:e.flagged.size}),v.type!==`off`&&(0,C.jsx)(P,{timeRemaining:v.type===`per-question`?u.timeRemaining:c.timeRemaining,totalTime:v.type===`per-question`?45:v.totalSeconds||2700,formatTime:v.type===`per-question`?u.formatTime:c.formatTime})]})})}),(0,C.jsxs)(`div`,{className:`py-6 px-4`,children:[(0,C.jsx)(M,{question:g,questionNumber:e.currentIndex+1,totalQuestions:e.questions.length,selectedAnswer:e.answers[g.id],isFlagged:e.flagged.has(g.id),isReviewing:_,onAnswer:t=>e.answer(g.id,t),onFlag:()=>e.flag(g.id),onNext:()=>e.navigate(`next`),onPrev:()=>e.navigate(`prev`),onSubmit:p,isFirst:e.currentIndex===0,isLast:e.currentIndex===e.questions.length-1}),_&&(0,C.jsxs)(`div`,{className:`max-w-2xl mx-auto mt-4 flex items-center justify-between`,children:[(0,C.jsx)(`button`,{onClick:()=>e.navigate(`prev`),disabled:e.currentIndex===0,className:`btn-outline text-sm py-2 px-4 disabled:opacity-40`,children:`← Prev`}),(0,C.jsxs)(`span`,{className:`text-sm text-gray-400`,children:[e.currentIndex+1,` / `,e.questions.length]}),e.currentIndexe.navigate(`next`),className:`btn-secondary text-sm py-2 px-4`,children:`Next β†’`}):(0,C.jsx)(`button`,{onClick:h,className:`btn-primary text-sm py-2 px-4`,children:`New Quiz`})]}),!_&&e.questions.length>10&&(0,C.jsxs)(`div`,{className:`max-w-2xl mx-auto mt-6 card`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-gray-400 uppercase mb-3`,children:`Jump to question`}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.questions.map((t,n)=>{let r=e.questions[n].id,i=r in e.answers,a=e.flagged.has(r),o=n===e.currentIndex;return(0,C.jsx)(`button`,{onClick:()=>e.navigate(`jump`,n),"aria-label":`Go to question ${n+1}`,"aria-current":o?`true`:void 0,className:`w-9 h-9 rounded-lg text-sm font-bold transition-colors ${o?`bg-primary text-white`:a?`bg-amber-200 text-amber-700`:i?`bg-emerald-100 text-emerald-700`:`bg-gray-100 text-gray-500 hover:bg-gray-200 dark:bg-slate-700 dark:text-slate-300`}`,children:n+1},n)})})]})]})]})}export{X as Quiz}; \ No newline at end of file diff --git a/dist/assets/Quiz-CBb1iT3W.js b/dist/assets/Quiz-CBb1iT3W.js deleted file mode 100644 index 827318f..0000000 --- a/dist/assets/Quiz-CBb1iT3W.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdfGenerator-CTSbDQhj.js","assets/index-CI4n4HMn.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/vendor-4rVWboVA.js","assets/index-BvvnfKhH.css","assets/typeof-B5XbjTb1.js","assets/metadata-DFZiaT6I.js"])))=>i.map(i=>d[i]); -import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{c as t,o as n,s as r,t as i,u as a}from"./vendor-4rVWboVA.js";import{a as o,i as s,n as c,o as l,r as u,t as d}from"./index-CI4n4HMn.js";import{n as f,t as p}from"./metadata-DFZiaT6I.js";var m=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},h=e(a(),1),g={quizState:`SETUP`,config:null,questions:[],currentIndex:0,answers:{},flagged:new Set,startedAt:null,result:null,error:null};function _(e,t,n){let r={},i=0;for(let n of e){let e=(t[n.id]||``).toUpperCase()===n.answer.toUpperCase();e&&i++,r[n.topic]||(r[n.topic]={correct:0,total:0}),r[n.topic].total++,e&&r[n.topic].correct++}let a=Object.entries(r).filter(([,e])=>e.total>0&&e.correct/e.total<.6).map(([e])=>e);return{score:i,totalQuestions:e.length,percentage:e.length>0?Math.round(i/e.length*100):0,timeSpentSeconds:Math.round((Date.now()-n.getTime())/1e3),topicScores:r,weakTopics:a,completedAt:new Date().toISOString()}}function v(e,t){switch(t.type){case`START_LOADING`:return{...g,quizState:`LOADING`,config:t.config};case`LOAD_SUCCESS`:return{...e,quizState:`IN_PROGRESS`,questions:t.questions,currentIndex:0,answers:{},flagged:new Set,startedAt:new Date,result:null,error:null};case`LOAD_ERROR`:return{...e,quizState:`SETUP`,error:t.error};case`ANSWER`:return{...e,answers:{...e.answers,[t.questionId]:t.answer}};case`FLAG`:{let n=new Set(e.flagged);return n.has(t.questionId)?n.delete(t.questionId):n.add(t.questionId),{...e,flagged:n}}case`NAVIGATE`:{let n=e.currentIndex;return t.direction===`next`?n=Math.min(n+1,e.questions.length-1):t.direction===`prev`?n=Math.max(n-1,0):t.direction===`jump`&&t.index!==void 0&&(n=t.index),{...e,currentIndex:n}}case`SUBMIT`:{if(!e.startedAt)return e;let t=_(e.questions,e.answers,e.startedAt);return{...e,quizState:`COMPLETE`,result:t}}case`REVIEW`:return{...e,quizState:`REVIEWING`,currentIndex:0};case`RESTART`:return{...g,config:e.config};case`RESET`:return g;default:return e}}function y(){let[e,t]=(0,h.useReducer)(v,g),n=(0,h.useCallback)(e=>{t({type:`START_LOADING`,config:e})},[]),r=(0,h.useCallback)(e=>{t({type:`LOAD_SUCCESS`,questions:e})},[]),i=(0,h.useCallback)(e=>{t({type:`LOAD_ERROR`,error:e})},[]),a=(0,h.useCallback)((e,n)=>{t({type:`ANSWER`,questionId:e,answer:n})},[]),o=(0,h.useCallback)(e=>{t({type:`FLAG`,questionId:e})},[]),s=(0,h.useCallback)((e,n)=>{t({type:`NAVIGATE`,direction:e,index:n})},[]),c=(0,h.useCallback)(()=>{t({type:`SUBMIT`})},[]),l=(0,h.useCallback)(()=>{t({type:`REVIEW`})},[]),u=(0,h.useCallback)(()=>{t({type:`RESTART`})},[]),d=(0,h.useCallback)(()=>{t({type:`RESET`})},[]);return{...e,startLoading:n,loadSuccess:r,loadError:i,answer:a,flag:o,navigate:s,submit:c,review:l,restart:u,reset:d}}function b({initialSeconds:e,onExpire:t,autoStart:n=!1}){let[r,i]=(0,h.useState)(e),[a,o]=(0,h.useState)(n),s=(0,h.useRef)(null),c=(0,h.useRef)(t);return(0,h.useEffect)(()=>{c.current=t},[t]),(0,h.useEffect)(()=>(a&&r>0?s.current=setInterval(()=>{i(e=>e<=1?(clearInterval(s.current),o(!1),c.current?.(),0):e-1)},1e3):s.current&&clearInterval(s.current),()=>{s.current&&clearInterval(s.current)}),[a,r]),{timeRemaining:r,isRunning:a,start:(0,h.useCallback)(()=>o(!0),[]),pause:(0,h.useCallback)(()=>o(!1),[]),reset:(0,h.useCallback)(t=>{o(!1),i(t??e)},[e]),formatTime:e=>`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`,percentRemaining:e>0?r/e*100:0}}function x(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;te.name.toLowerCase().includes(i.toLowerCase())||e.shortName.toLowerCase().includes(i.toLowerCase())),s=t=>{r(t),e?.()};return t?(0,C.jsxs)(`div`,{className:`relative`,children:[(0,C.jsx)(`select`,{value:n.id,onChange:e=>r(e.target.value),className:`appearance-none bg-gray-50 dark:bg-slate-800 border border-gray-200 dark:border-slate-600 rounded-lg px-3 py-1.5 pr-8 text-sm font-semibold text-gray-700 dark:text-slate-200 focus:outline-none focus:ring-2 focus:ring-primary cursor-pointer`,"aria-label":`Select region`,children:u.map(e=>(0,C.jsxs)(`option`,{value:e.id,children:[e.flag,` `,e.shortName]},e.id))}),(0,C.jsx)(`span`,{className:`pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-gray-400`,children:`β–Ύ`})]}):(0,C.jsxs)(`div`,{className:`space-y-4`,children:[(0,C.jsx)(`input`,{type:`search`,placeholder:`Search region...`,value:i,onChange:e=>a(e.target.value),className:`w-full px-4 py-2 rounded-xl border border-gray-200 dark:border-slate-600 bg-white dark:bg-slate-800 text-sm focus:outline-none focus:ring-2 focus:ring-primary dark:text-slate-200`,"aria-label":`Search regions`}),(0,C.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2 max-h-96 overflow-y-auto pr-1`,children:[o.map(e=>{let t=e.id===n.id;return(0,C.jsxs)(`button`,{onClick:()=>s(e.id),className:S(`flex items-start gap-3 p-3 rounded-xl border-2 text-left transition-all`,t?`border-primary bg-blue-50 dark:bg-blue-900/20`:`border-gray-200 dark:border-slate-600 hover:border-gray-300 dark:hover:border-slate-500`),"aria-pressed":t,children:[(0,C.jsx)(`span`,{className:`text-2xl leading-none mt-0.5`,children:e.flag}),(0,C.jsxs)(`div`,{className:`min-w-0`,children:[(0,C.jsx)(`p`,{className:`font-semibold text-sm text-gray-800 dark:text-slate-100 leading-tight`,children:e.shortName}),(0,C.jsxs)(`p`,{className:`text-xs text-gray-500 dark:text-slate-400 mt-0.5 truncate`,children:[e.examBoards.join(`, `),` Β· `,e.subjects.join(`, `)]})]}),t&&(0,C.jsx)(`span`,{className:`ml-auto text-primary text-sm font-bold shrink-0`,children:`βœ“`})]},e.id)}),o.length===0&&(0,C.jsxs)(`p`,{className:`col-span-2 text-center text-gray-400 py-8`,children:[`No regions match "`,i,`"`]})]})]})}var T={maths:{icon:`πŸ”’`,label:`Maths`},english:{icon:`πŸ“–`,label:`English`},verbal:{icon:`πŸ”€`,label:`Verbal Reasoning`},nonverbal:{icon:`πŸ”·`,label:`Non-Verbal Reasoning`}};function E({region:e,className:t}){let[n,r]=(0,h.useState)(!1);return(0,C.jsxs)(`div`,{className:S(`card space-y-4`,t),children:[(0,C.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,C.jsx)(`span`,{className:`text-3xl`,children:e.flag}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`h3`,{className:`font-extrabold text-primary dark:text-blue-300 text-lg leading-tight`,children:e.name}),(0,C.jsxs)(`p`,{className:`text-xs text-gray-500 dark:text-slate-400`,children:[e.examBoards.join(` / `),` Β· Tests in `,e.testPeriod]})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`text-xs font-bold uppercase text-gray-400 mb-2`,children:`Subjects Tested`}),(0,C.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[[`maths`,`english`,`verbal`,`nonverbal`].map(t=>{let n=e.subjects.includes(t),r=T[t];return(0,C.jsxs)(`span`,{className:S(`inline-flex items-center gap-1 rounded-full text-xs px-3 py-1 font-semibold`,n?`bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-300`:`bg-gray-100 text-gray-400 dark:bg-slate-700 dark:text-slate-500 line-through opacity-60`),"aria-label":n?`${r.label} is tested`:`${r.label} is not tested`,children:[r.icon,` `,r.label]},t)}),e.hasCreativeWriting&&(0,C.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full text-xs px-3 py-1 font-semibold bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300`,children:`✍️ Creative Writing`})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`text-xs font-bold uppercase text-gray-400 mb-1`,children:`Format`}),(0,C.jsx)(`p`,{className:`text-sm text-gray-600 dark:text-slate-300`,children:e.testFormat})]}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.papers.map(e=>(0,C.jsx)(`span`,{className:`text-xs bg-blue-50 dark:bg-blue-900/20 text-primary dark:text-blue-300 rounded-lg px-2 py-1 font-semibold`,children:e},e))}),(0,C.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,C.jsxs)(`div`,{className:`bg-gray-50 dark:bg-slate-800 rounded-xl p-3`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-gray-400 mb-1`,children:`πŸ“… Registration`}),(0,C.jsx)(`p`,{className:`text-sm font-semibold text-gray-700 dark:text-slate-200`,children:e.registrationPeriod})]}),(0,C.jsxs)(`div`,{className:`bg-gray-50 dark:bg-slate-800 rounded-xl p-3`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-gray-400 mb-1`,children:`πŸ“ Test Date`}),(0,C.jsx)(`p`,{className:`text-sm font-semibold text-gray-700 dark:text-slate-200`,children:e.testPeriod})]})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`text-xs font-bold uppercase text-gray-400 mb-2`,children:`Top Tips`}),(0,C.jsx)(`ul`,{className:`space-y-1.5`,children:e.tips.map((e,t)=>(0,C.jsxs)(`li`,{className:`flex items-start gap-2 text-sm text-gray-600 dark:text-slate-300`,children:[(0,C.jsx)(`span`,{className:`text-primary dark:text-blue-400 mt-0.5 shrink-0`,children:`β†’`}),(0,C.jsx)(`span`,{children:e})]},t))})]}),(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`button`,{onClick:()=>r(!n),className:`text-sm font-semibold text-primary dark:text-blue-400 hover:underline focus:outline-none`,children:[n?`β–² Hide`:`β–Ό Show`,` grammar schools in this region (`,e.notableSchools.length,`)`]}),n&&(0,C.jsx)(`div`,{className:`mt-3 grid grid-cols-1 sm:grid-cols-2 gap-1.5`,children:e.notableSchools.map(e=>(0,C.jsxs)(`div`,{className:`flex items-start gap-2 text-sm`,children:[(0,C.jsx)(`span`,{className:`text-gray-400 shrink-0`,children:`🏫`}),(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`p`,{className:`font-semibold text-gray-700 dark:text-slate-200 leading-tight`,children:e.name}),(0,C.jsx)(`p`,{className:`text-xs text-gray-400`,children:e.area})]})]},e.name))})]})]})}var D=[{id:`maths`,label:`Maths`,icon:`πŸ”’`},{id:`english`,label:`English`,icon:`πŸ“–`},{id:`verbal`,label:`Verbal Reasoning`,icon:`πŸ”€`},{id:`nonverbal`,label:`Non-Verbal`,icon:`πŸ”·`},{id:`mixed`,label:`Mixed Paper`,icon:`πŸ“‹`}],O=[10,20,30,50];function k({onStart:e}){let[t]=r(),n=t.get(`subject`)||`maths`,{state:i}=l(),{region:a}=c(),[s,u]=(0,h.useState)(!1),f=D.filter(e=>e.id===`mixed`?!0:a.subjects.includes(e.id)),[p,m]=(0,h.useState)(a.subjects.includes(n)?n:a.subjects[0]??`maths`),[g,_]=(0,h.useState)(`mixed`),[v,y]=(0,h.useState)(20),[b,x]=(0,h.useState)(20),[S,T]=(0,h.useState)(!1),[k,A]=(0,h.useState)(`off`),[j,M]=(0,h.useState)(!1),{getWeakTopics:N}=d(),P=N(),F=S?b:v;return(0,C.jsxs)(`div`,{className:`max-w-2xl mx-auto px-4 py-10 animate-fade-in`,children:[(0,C.jsxs)(`div`,{className:`text-center mb-8`,children:[(0,C.jsx)(`h1`,{className:`text-3xl font-extrabold text-primary dark:text-blue-300 mb-2`,children:`Set Up Your Quiz`}),(0,C.jsx)(`p`,{className:`text-gray-500 dark:text-slate-400`,children:`Choose your region, subject and settings, then start practising.`}),(0,C.jsx)(`div`,{className:`flex justify-center mt-4`,children:(0,C.jsxs)(`div`,{className:`flex items-center gap-3 bg-gray-50 dark:bg-slate-800 rounded-xl px-4 py-2`,children:[(0,C.jsx)(`span`,{className:`text-sm font-semibold text-gray-500 dark:text-slate-400`,children:`Mode:`}),(0,C.jsx)(o,{})]})})]}),(0,C.jsxs)(`div`,{className:`space-y-6`,children:[(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300`,children:`0. Your Region`}),(0,C.jsx)(`button`,{onClick:()=>u(!s),className:`text-xs text-primary dark:text-blue-400 hover:underline`,children:s?`Hide info`:`About this test`})]}),(0,C.jsx)(w,{}),s&&(0,C.jsx)(`div`,{className:`mt-4`,children:(0,C.jsx)(E,{region:a})}),a.hasCreativeWriting&&(0,C.jsx)(`p`,{className:`mt-3 text-xs text-amber-600 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 rounded-lg p-2`,children:`✍️ This region includes creative writing - practice timed essays and stories too.`})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`1. Choose Subject`}),(0,C.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 gap-3`,children:f.map(e=>(0,C.jsxs)(`button`,{onClick:()=>m(e.id),className:`p-3 rounded-xl border-2 font-semibold text-sm transition-all text-center flex flex-col items-center gap-1 min-h-[70px] ${p===e.id?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 hover:border-gray-300 dark:text-slate-300`}`,children:[(0,C.jsx)(`span`,{className:`text-2xl`,children:e.icon}),(0,C.jsx)(`span`,{children:e.label})]},e.id))}),a.subjects.length<4&&(0,C.jsxs)(`p`,{className:`mt-3 text-xs text-gray-400 dark:text-slate-500`,children:[`Only subjects tested in `,a.shortName,` are shown.`]})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`2. Difficulty`}),(0,C.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-3`,children:[(0,C.jsx)(`button`,{onClick:()=>_(`mixed`),className:`p-3 rounded-xl border-2 font-semibold text-sm transition-all ${g===`mixed`?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:`Mixed`}),[1,2,3].map(e=>(0,C.jsx)(`button`,{onClick:()=>_(e),className:`p-3 rounded-xl border-2 font-semibold text-sm transition-all ${g===e?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:e===1?`⭐ Easy`:e===2?`⭐⭐ Standard`:`⭐⭐⭐ Stretch`},e))]})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`3. Number of Questions`}),(0,C.jsxs)(`div`,{className:`flex flex-wrap gap-3 mb-4`,children:[O.map(e=>(0,C.jsx)(`button`,{onClick:()=>{y(e),T(!1)},className:`px-5 py-2.5 rounded-xl border-2 font-bold transition-all ${!S&&v===e?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:e},e)),(0,C.jsx)(`button`,{onClick:()=>T(!0),className:`px-5 py-2.5 rounded-xl border-2 font-bold transition-all ${S?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:`Custom`})]}),S&&(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`input`,{type:`range`,min:5,max:50,value:b,onChange:e=>x(Number(e.target.value)),className:`w-full accent-amber-500`,"aria-label":`Number of questions`}),(0,C.jsxs)(`div`,{className:`flex justify-between text-xs text-gray-400 mt-1`,children:[(0,C.jsx)(`span`,{children:`5`}),(0,C.jsxs)(`span`,{className:`font-bold text-secondary text-sm`,children:[b,` questions`]}),(0,C.jsx)(`span`,{children:`50`})]})]})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4`,children:`4. Timer`}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:[{value:`off`,label:`⏸️ No Timer`},{value:`per-question`,label:`⏱️ 45s per question`},{value:`full-paper`,label:`πŸ“‹ Full paper timer`}].map(({value:e,label:t})=>(0,C.jsx)(`button`,{onClick:()=>A(e),className:`px-4 py-2.5 rounded-xl border-2 font-semibold text-sm transition-all ${k===e?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 dark:text-slate-300`}`,children:t},e))})]}),(0,C.jsx)(`div`,{className:`card`,children:(0,C.jsxs)(`label`,{className:`flex items-center gap-3 cursor-pointer`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:j,onChange:e=>M(e.target.checked),className:`w-5 h-5 accent-amber-500`}),(0,C.jsx)(`span`,{className:`font-semibold dark:text-slate-200`,children:`πŸ“„ Also download a printable PDF paper`})]})}),P.length>0&&(0,C.jsxs)(`div`,{className:`card border-2 border-amber-300 dark:border-amber-600`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-amber-700 dark:text-amber-300 mb-3`,children:`⚠️ Weak Areas Detected`}),(0,C.jsx)(`p`,{className:`text-xs text-gray-500 dark:text-slate-400 mb-3`,children:`These topics have accuracy below 60% after 3+ attempts. Practice them now to improve.`}),(0,C.jsxs)(`div`,{className:`space-y-2 mb-4`,children:[P.slice(0,5).map(e=>(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2 bg-amber-50 dark:bg-amber-900/20 rounded-lg`,children:[(0,C.jsxs)(`span`,{className:`text-sm font-medium capitalize text-gray-700 dark:text-slate-200`,children:[e.topic.replace(/-/g,` `),(0,C.jsx)(`span`,{className:`ml-2 text-xs text-gray-400`,children:e.subject})]}),(0,C.jsxs)(`span`,{className:`text-xs font-bold text-red-500`,children:[Math.round(e.correct/e.attempts*100),`%`]})]},`${e.subject}__${e.topic}`)),P.length>5&&(0,C.jsxs)(`p`,{className:`text-xs text-gray-400 text-center`,children:[`+`,P.length-5,` more weak topics`]})]}),(0,C.jsxs)(`button`,{onClick:()=>e({mode:i.mode,subject:`mixed`,difficulty:`mixed`,questionCount:F,timerMode:{type:`off`},generatePdf:!1,regionId:a.id,focusWeakTopics:P.map(e=>e.topic)}),className:`w-full btn-secondary text-sm py-2.5`,children:[`🎯 Practice My Weak Areas (`,P.length,` topic`,P.length>1?`s`:``,`)`]})]}),i.mode===`ai`&&!i.apiKey&&(0,C.jsx)(`div`,{className:`bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-700 rounded-xl p-4 text-sm text-amber-700 dark:text-amber-300`,children:`⚠️ AI mode requires an Anthropic API key. Open Settings (βš™οΈ) to add your key, or switch to Free mode.`}),(0,C.jsxs)(`button`,{onClick:()=>{let t=k===`per-question`?{type:`per-question`,secondsPerQuestion:45}:k===`full-paper`?{type:`full-paper`,totalSeconds:F*54}:{type:`off`};e({mode:i.mode,subject:p,difficulty:g,questionCount:F,timerMode:t,generatePdf:j,regionId:a.id})},disabled:i.mode===`ai`&&!i.apiKey,className:`w-full btn-primary text-lg py-4 shadow-lg`,children:[`πŸš€ Start Quiz - `,F,` Questions`]})]})]})}function A({subject:e,size:t=`md`}){let n=f.find(t=>t.id===e);return n?(0,C.jsxs)(`span`,{className:S(`inline-flex items-center gap-1 rounded-full font-semibold`,n.bgColor,n.textColor,t===`sm`?`text-xs px-2 py-0.5`:`text-sm px-3 py-1`),children:[(0,C.jsx)(`span`,{children:n.icon}),(0,C.jsx)(`span`,{children:n.name})]}):null}function j({difficulty:e,size:t=`md`}){return(0,C.jsx)(`span`,{className:S(`inline-flex items-center rounded-full font-semibold`,{1:`bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-300`,2:`bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-300`,3:`bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300`}[e],t===`sm`?`text-xs px-2 py-0.5`:`text-sm px-3 py-1`),children:p[e]})}function M({question:e,questionNumber:t,totalQuestions:n,selectedAnswer:r,isFlagged:i,isReviewing:a=!1,onAnswer:o,onFlag:s,onNext:c,onPrev:l,onSubmit:u,isFirst:d,isLast:f}){let[p,m]=(0,h.useState)(r||``),g=t=>{let n=t.charAt(0),i=r===n;if(a){let t=n===e.answer;return t?`bg-emerald-50 border-emerald-400 text-emerald-800 dark:bg-emerald-900/30 dark:border-emerald-500 dark:text-emerald-200`:r===n&&!t?`bg-red-50 border-red-400 text-red-800 dark:bg-red-900/30 dark:border-red-500 dark:text-red-200`:`bg-gray-50 border-gray-200 text-gray-500 dark:bg-slate-700 dark:border-slate-600 dark:text-slate-400`}return i?`bg-blue-50 border-blue-500 text-blue-800 dark:bg-blue-900/30 dark:border-blue-400 dark:text-blue-200 shadow-sm`:`bg-white border-gray-200 text-gray-700 hover:bg-blue-50 hover:border-blue-300 dark:bg-slate-800 dark:border-slate-600 dark:text-slate-200 dark:hover:bg-slate-700`};return(0,C.jsxs)(`div`,{className:`card max-w-2xl mx-auto animate-fade-in`,children:[(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 mb-4`,children:[(0,C.jsx)(A,{subject:e.subject,size:`sm`}),(0,C.jsx)(j,{difficulty:e.difficulty,size:`sm`}),(0,C.jsx)(`span`,{className:`text-xs text-gray-400 dark:text-slate-500 ml-auto`,children:e.topic}),!a&&(0,C.jsx)(`button`,{onClick:s,"aria-label":i?`Remove flag`:`Flag for review`,"aria-pressed":i,className:S(`p-1.5 rounded-lg transition-colors text-sm`,i?`bg-amber-100 text-amber-600 dark:bg-amber-900/30`:`text-gray-400 hover:text-amber-500 hover:bg-amber-50 dark:hover:bg-amber-900/20`),children:`🚩`})]}),e.context&&(0,C.jsxs)(`div`,{className:`bg-blue-50 dark:bg-blue-900/20 border border-blue-100 dark:border-blue-800 rounded-xl p-4 mb-5`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-blue-600 dark:text-blue-400 mb-2 uppercase tracking-wide`,children:`Reading Passage`}),(0,C.jsx)(`p`,{className:`font-serif text-sm leading-relaxed text-gray-700 dark:text-slate-200 whitespace-pre-line`,children:e.context})]}),(0,C.jsx)(`p`,{className:`question-text mb-6 font-serif text-lg leading-relaxed`,children:e.question}),e.type===`mcq`&&e.options&&(0,C.jsx)(`div`,{className:`space-y-3`,role:`radiogroup`,"aria-label":`Answer options`,children:e.options.map(t=>{let n=t.charAt(0),i=a&&n===e.answer,s=a&&r===n&&n!==e.answer;return(0,C.jsxs)(`button`,{role:`radio`,"aria-checked":r===n,onClick:()=>!a&&o(n),disabled:a,className:S(`w-full text-left px-4 py-3 rounded-xl border-2 transition-all duration-150 min-h-[44px] flex items-center gap-3 font-medium`,g(t)),children:[(0,C.jsx)(`span`,{className:S(`w-8 h-8 rounded-full border-2 flex items-center justify-center font-bold text-sm flex-shrink-0`,r===n&&!a?`border-blue-500 bg-blue-500 text-white`:i?`border-emerald-500 bg-emerald-500 text-white`:s?`border-red-500 bg-red-500 text-white`:`border-current bg-transparent`),children:n}),(0,C.jsx)(`span`,{className:`font-serif`,children:t.slice(3)}),i&&(0,C.jsx)(`span`,{className:`ml-auto text-emerald-600`,"aria-label":`Correct`,children:`βœ“`}),s&&(0,C.jsx)(`span`,{className:`ml-auto text-red-600`,"aria-label":`Incorrect`,children:`βœ—`})]},t)})}),e.type===`text-input`&&(0,C.jsxs)(`div`,{children:[(0,C.jsx)(`label`,{className:`block text-sm font-semibold text-gray-600 dark:text-slate-300 mb-2`,htmlFor:`text-answer`,children:`Your answer:`}),(0,C.jsx)(`input`,{id:`text-answer`,type:`text`,value:p,onChange:e=>{m(e.target.value),o(e.target.value)},disabled:a,className:`w-full border-2 border-gray-200 dark:border-slate-600 rounded-xl px-4 py-3 font-serif text-lg dark:bg-slate-800 dark:text-white focus:outline-none focus:border-blue-400`,placeholder:`Type your answer here...`}),a&&(0,C.jsxs)(`p`,{className:`mt-2 text-sm text-emerald-600 dark:text-emerald-400 font-semibold`,children:[`Correct answer: `,e.answer]})]}),a&&e.explanation&&(0,C.jsxs)(`div`,{className:`mt-5 bg-amber-50 dark:bg-amber-900/20 border border-amber-100 dark:border-amber-800 rounded-xl p-4`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-amber-600 dark:text-amber-400 mb-1 uppercase tracking-wide`,children:`Explanation`}),(0,C.jsx)(`p`,{className:`text-sm text-gray-700 dark:text-slate-200 font-serif leading-relaxed`,children:e.explanation})]}),!a&&(0,C.jsxs)(`div`,{className:`flex items-center gap-3 mt-6 pt-4 border-t border-gray-100 dark:border-slate-700`,children:[(0,C.jsx)(`button`,{onClick:l,disabled:d,className:`btn-outline text-sm py-2 px-4 disabled:opacity-40`,children:`← Prev`}),(0,C.jsxs)(`span`,{className:`text-sm text-gray-400 flex-1 text-center`,children:[t,` / `,n]}),f?(0,C.jsx)(`button`,{onClick:u,className:`btn-primary text-sm py-2 px-5`,children:`Submit Quiz βœ“`}):(0,C.jsx)(`button`,{onClick:c,className:`btn-secondary text-sm py-2 px-4`,children:`Next β†’`})]})]})}function N({current:e,total:t,answered:n,flagged:r}){let i=t>0?(e+1)/t*100:0;return(0,C.jsxs)(`div`,{className:`space-y-2`,children:[(0,C.jsxs)(`div`,{className:`flex justify-between items-center text-sm font-semibold text-gray-600 dark:text-slate-300`,children:[(0,C.jsxs)(`span`,{children:[`Question `,e+1,` of `,t]}),(0,C.jsxs)(`div`,{className:`flex gap-3`,children:[(0,C.jsxs)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:[`βœ“ `,n,` answered`]}),r>0&&(0,C.jsxs)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:[`🚩 `,r,` flagged`]})]})]}),(0,C.jsx)(`div`,{className:`w-full h-2 bg-gray-200 dark:bg-slate-700 rounded-full overflow-hidden`,role:`progressbar`,"aria-valuenow":e+1,"aria-valuemin":1,"aria-valuemax":t,children:(0,C.jsx)(`div`,{className:`h-full bg-secondary rounded-full transition-all duration-300`,style:{width:`${i}%`}})})]})}function P({timeRemaining:e,totalTime:t,formatTime:n}){let r=t>0?e/t*100:100,i=r<20,a=r<10;return(0,C.jsxs)(`div`,{className:S(`flex items-center gap-3 px-4 py-2 rounded-xl font-bold transition-colors`,a?`bg-red-50 text-red-600 dark:bg-red-900/30 dark:text-red-300`:i?`bg-amber-50 text-amber-600 dark:bg-amber-900/30 dark:text-amber-300`:`bg-blue-50 text-primary dark:bg-blue-900/20 dark:text-blue-300`),"aria-live":`polite`,"aria-atomic":`true`,children:[(0,C.jsx)(`span`,{className:`text-xl`,"aria-hidden":`true`,children:a?`⏰`:i?`βŒ›`:`⏱️`}),(0,C.jsx)(`span`,{className:`text-lg tabular-nums`,"aria-label":`${e} seconds remaining`,children:n(e)}),(0,C.jsx)(`div`,{className:`w-20 h-2 bg-gray-200 dark:bg-slate-600 rounded-full overflow-hidden`,"aria-hidden":`true`,children:(0,C.jsx)(`div`,{className:S(`h-full rounded-full transition-all duration-1000`,a?`bg-red-500`:i?`bg-amber-500`:`bg-blue-500`),style:{width:`${r}%`}})})]})}function F(e){return e>=80?{label:`Excellent! Grammar school ready`,color:`text-emerald-600`,emoji:`πŸŽ‰`}:e>=60?{label:`Good progress - keep practising!`,color:`text-amber-600`,emoji:`πŸ‘`}:{label:`More practice needed - you've got this!`,color:`text-rose-600`,emoji:`πŸ’ͺ`}}function I(e,t){let n={};for(let r of e){let e=`${r.subject}__${r.topic}`;n[e]||(n[e]={topic:r.topic,subject:r.subject,correct:0,total:0}),n[e].total++,(t[r.id]||``).toUpperCase()===r.answer.toUpperCase()&&n[e].correct++}return Object.values(n).map(e=>({...e,percentage:Math.round(e.correct/e.total*100)})).sort((e,t)=>e.percentage-t.percentage)}function L(e,t){let n={};for(let r of e)n[r.subject]||(n[r.subject]={subject:r.subject,correct:0,total:0}),n[r.subject].total++,(t[r.id]||``).toUpperCase()===r.answer.toUpperCase()&&n[r.subject].correct++;return Object.values(n).map(e=>({...e,percentage:Math.round(e.correct/e.total*100)}))}function R(e){let t=Math.floor(e/60),n=e%60;return t===0?`${n}s`:`${t}m ${n}s`}function z({result:e,questions:r,answers:i,config:a,onRestart:o,onNewQuiz:s}){let c=n(),[l,u]=(0,h.useState)(null),[d,f]=(0,h.useState)(!1),[p,m]=(0,h.useState)(``),{label:g,color:_,emoji:v}=F(e.percentage),y=I(r,i),b=L(r,i),x=b.length>1;return(0,C.jsxs)(`div`,{className:`max-w-3xl mx-auto px-4 py-10 space-y-6 animate-fade-in`,children:[(0,C.jsxs)(`div`,{className:`card text-center bg-gradient-to-br from-primary to-blue-700 text-white`,children:[(0,C.jsxs)(`div`,{className:`text-7xl font-extrabold mb-2`,children:[e.percentage,`%`]}),(0,C.jsxs)(`div`,{className:`text-2xl mb-1`,children:[e.score,` / `,e.totalQuestions,` correct`]}),(0,C.jsxs)(`div`,{className:`text-xl font-bold mt-3 ${_.replace(`text-`,`text-white/90 `)}`,children:[v,` `,g]}),(0,C.jsxs)(`div`,{className:`mt-3 text-blue-200 text-sm`,children:[`Time taken: `,R(e.timeSpentSeconds)]})]}),x&&(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4 text-lg`,children:`Subject Breakdown`}),(0,C.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:b.map(e=>(0,C.jsxs)(`div`,{className:`flex items-center gap-3 p-3 rounded-xl bg-gray-50 dark:bg-slate-700`,children:[(0,C.jsx)(A,{subject:e.subject,size:`sm`}),(0,C.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,C.jsx)(`div`,{className:`h-2 bg-gray-200 dark:bg-slate-600 rounded-full overflow-hidden`,children:(0,C.jsx)(`div`,{className:`h-full rounded-full`,style:{width:`${e.percentage}%`,backgroundColor:e.percentage>=80?`#2ECC71`:e.percentage>=60?`#F4A435`:`#E74C3C`}})})}),(0,C.jsxs)(`span`,{className:`font-bold text-sm`,children:[e.percentage,`%`]})]},e.subject))})]}),e.weakTopics.length>0&&(0,C.jsxs)(`div`,{className:`card border-2 border-amber-200 dark:border-amber-700`,children:[(0,C.jsxs)(`h2`,{className:`font-bold text-amber-700 dark:text-amber-300 mb-3 flex items-center gap-2`,children:[(0,C.jsx)(`span`,{children:`⚠️`}),` Areas to Improve`]}),(0,C.jsx)(`div`,{className:`space-y-2`,children:e.weakTopics.map(e=>(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-3 p-3 bg-amber-50 dark:bg-amber-900/20 rounded-xl`,children:[(0,C.jsx)(`span`,{className:`text-sm font-semibold text-gray-700 dark:text-slate-200 capitalize`,children:e.replace(/-/g,` `)}),(0,C.jsx)(`button`,{onClick:()=>c(`/quiz?subject=${r.find(t=>t.topic===e)?.subject}&topic=${e}`),className:`text-xs btn-primary py-1.5 px-3`,children:`Practise this β†’`})]},e))})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4 text-lg`,children:`Topic Breakdown`}),(0,C.jsx)(`div`,{className:`overflow-x-auto`,children:(0,C.jsxs)(`table`,{className:`w-full text-sm`,children:[(0,C.jsx)(`thead`,{children:(0,C.jsxs)(`tr`,{className:`text-left text-gray-400 border-b dark:border-slate-700`,children:[(0,C.jsx)(`th`,{className:`pb-2 font-semibold`,children:`Topic`}),(0,C.jsx)(`th`,{className:`pb-2 font-semibold text-center`,children:`Score`}),(0,C.jsx)(`th`,{className:`pb-2 font-semibold w-24`,children:`Progress`})]})}),(0,C.jsx)(`tbody`,{children:y.map(e=>(0,C.jsxs)(`tr`,{className:`border-b border-gray-50 dark:border-slate-700/50`,children:[(0,C.jsxs)(`td`,{className:`py-2.5 font-medium capitalize text-gray-700 dark:text-slate-200`,children:[e.topic.replace(/-/g,` `),(0,C.jsx)(`span`,{className:`ml-2 text-xs text-gray-400`,children:e.subject})]}),(0,C.jsx)(`td`,{className:`py-2.5 text-center`,children:(0,C.jsxs)(`span`,{className:S(`font-bold`,e.percentage>=80?`text-emerald-600`:e.percentage>=60?`text-amber-600`:`text-red-500`),children:[e.correct,`/`,e.total]})}),(0,C.jsx)(`td`,{className:`py-2.5`,children:(0,C.jsx)(`div`,{className:`h-2 bg-gray-200 dark:bg-slate-700 rounded-full overflow-hidden`,children:(0,C.jsx)(`div`,{className:`h-full rounded-full`,style:{width:`${e.percentage}%`,backgroundColor:e.percentage>=80?`#2ECC71`:e.percentage>=60?`#F4A435`:`#E74C3C`}})})})]},`${e.subject}-${e.topic}`))})]})})]}),(0,C.jsxs)(`div`,{className:`card`,children:[(0,C.jsx)(`h2`,{className:`font-bold text-primary dark:text-blue-300 mb-4 text-lg`,children:`Question Review`}),(0,C.jsx)(`div`,{className:`space-y-3`,children:r.map((e,t)=>{let n=i[e.id]||``,r=n.toUpperCase()===e.answer.toUpperCase(),a=l===e.id;return(0,C.jsxs)(`div`,{className:S(`border-2 rounded-xl overflow-hidden`,r?`border-emerald-200 dark:border-emerald-700`:`border-red-200 dark:border-red-800`),children:[(0,C.jsxs)(`button`,{onClick:()=>u(a?null:e.id),className:`w-full text-left px-4 py-3 flex items-center gap-3 hover:bg-gray-50 dark:hover:bg-slate-700 transition-colors`,"aria-expanded":a,children:[(0,C.jsx)(`span`,{className:S(`w-7 h-7 rounded-full flex items-center justify-center text-white font-bold text-sm flex-shrink-0`,r?`bg-emerald-500`:`bg-red-500`),children:r?`βœ“`:`βœ—`}),(0,C.jsxs)(`span`,{className:`text-sm font-medium text-gray-700 dark:text-slate-200 flex-1 text-left truncate`,children:[`Q`,t+1,`. `,e.question.slice(0,80),e.question.length>80?`…`:``]}),(0,C.jsx)(`span`,{className:`text-gray-400 text-sm`,children:a?`β–²`:`β–Ό`})]}),a&&(0,C.jsxs)(`div`,{className:`px-4 pb-4 space-y-3 border-t border-gray-100 dark:border-slate-700 pt-3`,children:[(0,C.jsx)(`p`,{className:`font-serif text-sm leading-relaxed text-gray-700 dark:text-slate-200`,children:e.question}),e.options&&(0,C.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-2`,children:e.options.map(t=>{let r=t.charAt(0),i=r===e.answer,a=n.toUpperCase()===r;return(0,C.jsxs)(`div`,{className:S(`px-3 py-2 rounded-lg text-sm font-medium`,i?`bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-200`:a?`bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-200`:`bg-gray-50 text-gray-500 dark:bg-slate-700 dark:text-slate-400`),children:[t,` `,i&&`βœ“`,` `,a&&!i&&`βœ—`]},t)})}),!r&&(0,C.jsxs)(`p`,{className:`text-sm text-gray-500 dark:text-slate-400`,children:[`Your answer: `,(0,C.jsx)(`span`,{className:`font-semibold text-red-600 dark:text-red-400`,children:n||`Not answered`}),` `,`β€’ Correct: `,(0,C.jsx)(`span`,{className:`font-semibold text-emerald-600 dark:text-emerald-400`,children:e.answer})]}),(0,C.jsxs)(`div`,{className:`bg-amber-50 dark:bg-amber-900/20 rounded-lg px-3 py-2`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-amber-600 dark:text-amber-400 mb-1`,children:`Explanation`}),(0,C.jsx)(`p`,{className:`text-sm text-gray-700 dark:text-slate-200 font-serif`,children:e.explanation})]})]})]},e.id)})})]}),(0,C.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-4 gap-3`,children:[(0,C.jsx)(`button`,{onClick:o,className:`btn-outline text-sm py-3`,children:`πŸ”„ Try Again`}),(0,C.jsx)(`button`,{onClick:s,className:`btn-outline text-sm py-3`,children:`🎯 New Quiz`}),(0,C.jsx)(`button`,{onClick:async()=>{f(!0);try{let{generatePaper:e}=await t(async()=>{let{generatePaper:e}=await import(`./pdfGenerator-CTSbDQhj.js`);return{generatePaper:e}},__vite__mapDeps([0,1,2,3,4,5,6]));await e({questions:r,quizConfig:a,includeAnswers:!0})}finally{f(!1)}},disabled:d,className:`btn-secondary text-sm py-3`,children:d?`⏳ Generating...`:`πŸ“„ Download PDF`}),(0,C.jsxs)(`button`,{onClick:()=>{let t=`I scored ${e.percentage}% (${e.score}/${e.totalQuestions}) on 11PlusPrep! ${v} Try it free at 11PlusPrep`;navigator.clipboard.writeText(t),m(`Copied to clipboard!`),setTimeout(()=>m(``),3e3)},className:`btn-primary text-sm py-3 relative`,children:[`πŸ“€ Share Result`,p&&(0,C.jsx)(`span`,{className:`absolute -top-8 left-1/2 -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded whitespace-nowrap`,children:p})]})]})]})}function B({message:e=`Loading...`,size:t=`md`}){return(0,C.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-4 py-12`,role:`status`,"aria-live":`polite`,children:[(0,C.jsx)(`div`,{className:`${{sm:`w-6 h-6`,md:`w-10 h-10`,lg:`w-16 h-16`}[t]} border-4 border-amber-200 border-t-amber-500 rounded-full animate-spin`,"aria-hidden":`true`}),e&&(0,C.jsx)(`p`,{className:`text-gray-600 dark:text-slate-300 font-medium text-center`,children:e})]})}function V({message:e,onDismiss:t}){return(0,C.jsxs)(`div`,{role:`alert`,className:`bg-red-50 border border-red-200 text-red-700 dark:bg-red-900/20 dark:border-red-800 dark:text-red-300 px-4 py-3 rounded-xl flex items-start gap-3`,children:[(0,C.jsx)(`span`,{className:`text-xl`,"aria-hidden":`true`,children:`⚠️`}),(0,C.jsx)(`p`,{className:`flex-1 font-medium`,children:e}),t&&(0,C.jsx)(`button`,{onClick:t,"aria-label":`Dismiss error`,className:`text-red-500 hover:text-red-700 font-bold text-lg leading-none`,children:`Γ—`})]})}function H(e,t,n,r,i){let a=[...e];return r&&r!==`mixed`&&(a=a.filter(e=>e.subject===r)),i&&(a=a.filter(e=>e.topic===i)),n&&n!==`mixed`&&(a=a.filter(e=>e.difficulty===n),a.length(r&&r!==`mixed`?e.subject===r:!0)&&(i?e.topic===i:!0)))),G(a).slice(0,t)}function U(e,t,n){let r=[`maths`,`english`,`verbal`,`nonverbal`],i=Math.floor(t/4),a=t%4,o=[];for(let t=0;te.subject===r[t]&&e.difficulty===n):e.filter(e=>e.subject===r[t]);o=o.concat(G(c).slice(0,s))}return G(o)}function W(e,t,n,r,i){let a=[...e];if(r&&r!==`mixed`&&(a=a.filter(e=>e.subject===r)),i&&i!==`mixed`){let e=a.filter(e=>e.difficulty===i);a=e.length>=Math.ceil(n*.4)?e:a}let o=G(a.filter(e=>t.includes(e.topic))),s=G(a.filter(e=>!t.includes(e.topic))),c=Math.ceil(n*.7),l=Math.min(c,o.length),u=Math.min(n-l,s.length),d=Math.min(l,n-u);return G([...o.slice(0,d),...s.slice(0,n-d)])}function G(e){let t=[...e];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t}function K(e){if(!e||e===`london`)return`This is for the London 11+ exam (GL Assessment). Focus on grammar school entry standard for London selective schools such as those in the London Borough of Sutton and Bexley.`;let t=s(e);if(!t)return``;let n=t.examBoards.join(`, `),r=t.notableSchools.slice(0,3).map(e=>e.name).join(`, `);return`This is for the ${t.name} 11+ exam (${n}). Test format: ${t.testFormat}. Notable schools in this region: ${r}. Tailor question style, vocabulary and context to match the ${n} exam board style.`}async function q(e){let t=K(e.regionId),n=await fetch(`/api/generate-questions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({subject:e.subject,difficulty:e.difficulty,count:e.count,topics:e.topics,apiKey:e.apiKey,regionContext:t,regionId:e.regionId})});if(!n.ok){let e=await n.text();throw Error(`API error ${n.status}: ${e}`)}return(await n.json()).questions}async function J(){let[e,n,r,i]=await Promise.all([t(()=>import(`./maths-IcrU1jHD.js`),[]),t(()=>import(`./english-BmAtxTVL.js`),[]),t(()=>import(`./verbal-BS4rqsWO.js`),[]),t(()=>import(`./nonverbal-i3JU1Lyn.js`),[])]);return[...e.default,...n.default,...r.default,...i.default]}async function Y(e){let n=await J();if(!e||e===`london`)return n;try{let r=(await m(Object.assign({"../data/questions/birmingham.json":()=>t(()=>import(`./birmingham-DjKJHLNl.js`),[]),"../data/questions/buckinghamshire.json":()=>t(()=>import(`./buckinghamshire-DvGsVVh-.js`),[]),"../data/questions/english.json":()=>t(()=>import(`./english-BmAtxTVL.js`),[]),"../data/questions/essex.json":()=>t(()=>import(`./essex-xqzn3yHZ.js`),[]),"../data/questions/hertfordshire.json":()=>t(()=>import(`./hertfordshire-qVlOoO0i.js`),[]),"../data/questions/kent.json":()=>t(()=>import(`./kent-XcoARglZ.js`),[]),"../data/questions/lancashire.json":()=>t(()=>import(`./lancashire-CGbV0GOj.js`),[]),"../data/questions/lincolnshire.json":()=>t(()=>import(`./lincolnshire-D7T2la_6.js`),[]),"../data/questions/manchester.json":()=>t(()=>import(`./manchester-B1fIreRD.js`),[]),"../data/questions/maths.json":()=>t(()=>import(`./maths-IcrU1jHD.js`),[]),"../data/questions/nonverbal.json":()=>t(()=>import(`./nonverbal-i3JU1Lyn.js`),[]),"../data/questions/northern-ireland.json":()=>t(()=>import(`./northern-ireland-CjQZY3jc.js`),[]),"../data/questions/verbal.json":()=>t(()=>import(`./verbal-BS4rqsWO.js`),[]),"../data/questions/warwickshire.json":()=>t(()=>import(`./warwickshire-B9_C19vr.js`),[]),"../data/questions/yorkshire.json":()=>t(()=>import(`./yorkshire-BcXRbpch.js`),[])}),`../data/questions/${e}.json`,4)).default,i=new Set(r.map(e=>e.subject)),a=n.filter(e=>!i.has(e.subject));return[...r,...a]}catch{return n}}function X(){let e=y(),{state:i}=l(),{updateFromResults:a}=d(),[o]=r(),s=n(),c=b({initialSeconds:2700,autoStart:!1,onExpire:()=>e.submit()}),u=b({initialSeconds:45,autoStart:!1,onExpire:()=>{e.navigate(`next`),u.reset(45),setTimeout(()=>u.start(),100)}}),f=async n=>{e.startLoading(n);try{let r;if(n.mode===`ai`){let e=o.get(`topic`)||``,t=e?[e]:[`general`];r=await q({subject:n.subject===`mixed`?`maths`:n.subject,difficulty:typeof n.difficulty==`number`?n.difficulty:2,count:n.questionCount,topics:t,apiKey:i.apiKey,regionId:n.regionId})}else{let e=await Y(n.regionId??`london`),t=o.get(`topic`)||``;r=n.focusWeakTopics&&n.focusWeakTopics.length>0?W(e,n.focusWeakTopics,n.questionCount,n.subject===`mixed`?void 0:n.subject,n.difficulty===`mixed`?void 0:n.difficulty):n.subject===`mixed`?U(e,n.questionCount,n.difficulty===`mixed`?void 0:n.difficulty):H(e,n.questionCount,n.difficulty===`mixed`?void 0:n.difficulty,n.subject,t||void 0)}if(r.length===0){e.loadError(`No questions found for these settings. Try changing difficulty or subject.`);return}if(e.loadSuccess(r),n.timerMode.type===`full-paper`){let e=n.timerMode.totalSeconds||n.questionCount*54;c.reset(e),c.start()}else n.timerMode.type===`per-question`&&(u.reset(45),u.start());if(n.generatePdf){let{generatePaper:e}=await t(async()=>{let{generatePaper:e}=await import(`./pdfGenerator-CTSbDQhj.js`);return{generatePaper:e}},__vite__mapDeps([0,1,2,3,4,5,6]));e({questions:r,quizConfig:n})}}catch(t){e.loadError(t instanceof Error?t.message:`Failed to load questions. Please try again.`)}},p=()=>{c.pause(),u.pause(),e.submit(),e.config&&a(e.questions,e.answers)},m=()=>{c.reset(),u.reset(),e.restart()},h=()=>{c.reset(),u.reset(),e.reset(),s(`/quiz`)};if(e.quizState===`SETUP`||!e.config)return(0,C.jsxs)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900`,children:[(0,C.jsx)(k,{onStart:f}),e.error&&(0,C.jsx)(`div`,{className:`max-w-2xl mx-auto px-4 pb-8`,children:(0,C.jsx)(V,{message:e.error,onDismiss:()=>e.loadError(``)})})]});if(e.quizState===`LOADING`)return(0,C.jsx)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900 flex items-center justify-center`,children:(0,C.jsx)(B,{size:`lg`,message:e.config.mode===`ai`?`✨ Claude is generating fresh questions...`:`Loading questions...`})});if(e.quizState===`COMPLETE`&&e.result)return(0,C.jsx)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900`,children:(0,C.jsx)(z,{result:e.result,questions:e.questions,answers:e.answers,config:e.config,onRestart:m,onNewQuiz:h,onReview:e.review})});let g=e.questions[e.currentIndex];if(!g)return null;let _=e.quizState===`REVIEWING`,v=e.config.timerMode;return(0,C.jsxs)(`div`,{className:`min-h-screen bg-bg dark:bg-slate-900`,children:[(0,C.jsx)(`div`,{className:`sticky top-16 z-30 bg-white dark:bg-slate-900 border-b border-gray-100 dark:border-slate-800 py-3 px-4 shadow-sm`,children:(0,C.jsx)(`div`,{className:`max-w-2xl mx-auto space-y-2`,children:(0,C.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,C.jsx)(N,{current:e.currentIndex,total:e.questions.length,answered:Object.keys(e.answers).length,flagged:e.flagged.size}),v.type!==`off`&&(0,C.jsx)(P,{timeRemaining:v.type===`per-question`?u.timeRemaining:c.timeRemaining,totalTime:v.type===`per-question`?45:v.totalSeconds||2700,formatTime:v.type===`per-question`?u.formatTime:c.formatTime})]})})}),(0,C.jsxs)(`div`,{className:`py-6 px-4`,children:[(0,C.jsx)(M,{question:g,questionNumber:e.currentIndex+1,totalQuestions:e.questions.length,selectedAnswer:e.answers[g.id],isFlagged:e.flagged.has(g.id),isReviewing:_,onAnswer:t=>e.answer(g.id,t),onFlag:()=>e.flag(g.id),onNext:()=>e.navigate(`next`),onPrev:()=>e.navigate(`prev`),onSubmit:p,isFirst:e.currentIndex===0,isLast:e.currentIndex===e.questions.length-1}),_&&(0,C.jsxs)(`div`,{className:`max-w-2xl mx-auto mt-4 flex items-center justify-between`,children:[(0,C.jsx)(`button`,{onClick:()=>e.navigate(`prev`),disabled:e.currentIndex===0,className:`btn-outline text-sm py-2 px-4 disabled:opacity-40`,children:`← Prev`}),(0,C.jsxs)(`span`,{className:`text-sm text-gray-400`,children:[e.currentIndex+1,` / `,e.questions.length]}),e.currentIndexe.navigate(`next`),className:`btn-secondary text-sm py-2 px-4`,children:`Next β†’`}):(0,C.jsx)(`button`,{onClick:h,className:`btn-primary text-sm py-2 px-4`,children:`New Quiz`})]}),!_&&e.questions.length>10&&(0,C.jsxs)(`div`,{className:`max-w-2xl mx-auto mt-6 card`,children:[(0,C.jsx)(`p`,{className:`text-xs font-bold text-gray-400 uppercase mb-3`,children:`Jump to question`}),(0,C.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.questions.map((t,n)=>{let r=e.questions[n].id,i=r in e.answers,a=e.flagged.has(r),o=n===e.currentIndex;return(0,C.jsx)(`button`,{onClick:()=>e.navigate(`jump`,n),"aria-label":`Go to question ${n+1}`,"aria-current":o?`true`:void 0,className:`w-9 h-9 rounded-lg text-sm font-bold transition-colors ${o?`bg-primary text-white`:a?`bg-amber-200 text-amber-700`:i?`bg-emerald-100 text-emerald-700`:`bg-gray-100 text-gray-500 hover:bg-gray-200 dark:bg-slate-700 dark:text-slate-300`}`,children:n+1},n)})})]})]})]})}export{X as Quiz}; \ No newline at end of file diff --git a/dist/assets/index-CI4n4HMn.js b/dist/assets/index-BKKq8V5A.js similarity index 95% rename from dist/assets/index-CI4n4HMn.js rename to dist/assets/index-BKKq8V5A.js index f9fca1e..e7be7d8 100644 --- a/dist/assets/index-CI4n4HMn.js +++ b/dist/assets/index-BKKq8V5A.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-Dt8reEQy.js","assets/vendor-4rVWboVA.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/metadata-DFZiaT6I.js","assets/Quiz-CBb1iT3W.js","assets/About-Cs9eJANr.js"])))=>i.map(i=>d[i]); -import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{a as t,c as n,i as r,l as i,n as a,r as o,t as s,u as c}from"./vendor-4rVWboVA.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=e(c(),1),u=i(),d={mode:`free`,apiKey:``,theme:`light`,fontSize:`normal`,showSettings:!1,regionId:`london`};function f(e,t){switch(t.type){case`SET_MODE`:return{...e,mode:t.payload};case`SET_API_KEY`:return{...e,apiKey:t.payload};case`SET_THEME`:return{...e,theme:t.payload};case`SET_FONT_SIZE`:return{...e,fontSize:t.payload};case`TOGGLE_SETTINGS`:return{...e,showSettings:!e.showSettings};case`CLOSE_SETTINGS`:return{...e,showSettings:!1};case`SET_REGION`:return{...e,regionId:t.payload};default:return e}}var p=(0,l.createContext)(null);function m(){let e=(0,l.useContext)(p);if(!e)throw Error(`useApp must be used within AppProvider`);return e}var h=s();function g({children:e}){let[t,n]=(0,l.useReducer)(f,d,e=>{try{let t=localStorage.getItem(`11plus_app_settings`);if(t){let n=JSON.parse(t);return{...e,...n,showSettings:!1}}}catch{localStorage.removeItem(`11plus_app_settings`)}return e});return(0,l.useEffect)(()=>{let e={mode:t.mode,apiKey:t.apiKey,theme:t.theme,fontSize:t.fontSize,regionId:t.regionId};localStorage.setItem(`11plus_app_settings`,JSON.stringify(e))},[t]),(0,l.useEffect)(()=>{t.theme===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t.theme]),(0,l.useEffect)(()=>{t.fontSize===`large`?document.documentElement.style.fontSize=`18px`:document.documentElement.style.fontSize=`16px`},[t.fontSize]),(0,h.jsx)(p.Provider,{value:{state:t,dispatch:n},children:e})}function _(){let{state:e,dispatch:t}=m(),n=e.mode===`ai`;return(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Mode selector`,children:[(0,h.jsx)(`span`,{className:`text-sm font-semibold ${n?`text-gray-400`:`text-primary dark:text-blue-300`}`,children:`Free`}),(0,h.jsx)(`button`,{onClick:()=>{t({type:`SET_MODE`,payload:n?`free`:`ai`})},role:`switch`,"aria-checked":n,"aria-label":`Switch to ${n?`Free`:`AI`} mode`,className:`relative w-14 h-7 rounded-full transition-colors duration-300 focus:outline-none focus:ring-2 focus:ring-amber-400 focus:ring-offset-2 ${n?`bg-secondary`:`bg-gray-300 dark:bg-slate-600`}`,children:(0,h.jsx)(`span`,{className:`absolute top-0.5 left-0.5 w-6 h-6 bg-white rounded-full shadow-md transition-transform duration-300 ${n?`translate-x-7`:`translate-x-0`}`})}),(0,h.jsx)(`span`,{className:`text-sm font-semibold ${n?`text-secondary`:`text-gray-400`}`,children:`AI ✨`})]})}var v=[{id:`london`,name:`London (GL Assessment)`,shortName:`London`,flag:`πŸ™οΈ`,examBoards:[`GL`],subjects:[`maths`,`english`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Paper 1`,`Paper 2`],registrationPeriod:`June – July`,testPeriod:`September – October`,testFormat:`Two GL Assessment papers covering all four subjects. Multiple choice throughout. Sat at secondary schools.`,notableSchools:[{name:`Tiffin Boys' School`,area:`Kingston`},{name:`Tiffin Girls' School`,area:`Kingston`},{name:`Henrietta Barnett School`,area:`Barnet`},{name:`Queen Elizabeth's Boys' School`,area:`Barnet`},{name:`Nonsuch High School`,area:`Sutton`},{name:`Wallington High School for Girls`,area:`Sutton`},{name:`Wilson's School`,area:`Sutton`},{name:`St Olave's Grammar School`,area:`Bromley`},{name:`Newstead Wood School`,area:`Bromley`}],questionBankFile:`london`,tips:[`Practice all four subjects equally - papers are mixed.`,`GL uses A–E multiple-choice format; no partial marks.`,`Aim to complete each paper in 45–50 minutes.`],colour:`bg-blue-500`},{id:`kent`,name:`Kent (Kent Test)`,shortName:`Kent`,flag:`🌿`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper 1`,`Reasoning Paper 2`,`Maths Paper`],registrationPeriod:`May – June`,testPeriod:`September`,testFormat:`Three papers: two GL Reasoning papers (verbal + non-verbal) and a separate Maths paper. Sat in Year 6 at primary school.`,notableSchools:[{name:`The Judd School`,area:`Tonbridge`},{name:`Tonbridge Grammar School`,area:`Tonbridge`},{name:`Skinners School`,area:`Tunbridge Wells`},{name:`Maidstone Grammar School`,area:`Maidstone`},{name:`Highsted Grammar School`,area:`Sittingbourne`},{name:`Chatham Grammar School`,area:`Medway`}],questionBankFile:`kent`,tips:[`No English comprehension paper - focus on maths and reasoning.`,`The Kent Test is sat in primary school, not at the secondary school.`,`Children are ranked and borderline cases reviewed by headteacher panels.`],colour:`bg-green-600`},{id:`buckinghamshire`,name:`Buckinghamshire (SET)`,shortName:`Bucks`,flag:`🦒`,examBoards:[`GL`,`school-set`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`SET Paper 1`,`SET Paper 2`],registrationPeriod:`April – May`,testPeriod:`September`,testFormat:`Two selective eligibility tests (SET) - a GL Verbal Reasoning paper and a combined Maths/Non-Verbal Reasoning paper. Sat at primary school.`,notableSchools:[{name:`Royal Grammar School, High Wycombe`,area:`High Wycombe`},{name:`Wycombe High School`,area:`High Wycombe`},{name:`Dr Challoner's Grammar School`,area:`Amersham`},{name:`Dr Challoner's High School`,area:`Little Chalfont`},{name:`Aylesbury Grammar School`,area:`Aylesbury`},{name:`Aylesbury High School`,area:`Aylesbury`}],questionBankFile:`buckinghamshire`,tips:[`English comprehension is NOT tested in Bucks - focus on verbal reasoning and maths.`,`The test is sat in Year 5 (one year earlier than most regions).`,`GL-style multiple choice; practice speed as time is tight.`],colour:`bg-emerald-700`},{id:`essex`,name:`Essex (CSSE)`,shortName:`Essex`,flag:`πŸ“œ`,examBoards:[`CSSE`],subjects:[`maths`,`english`],hasCreativeWriting:!0,hasWrittenAnswer:!0,papers:[`English Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`Consortium of Selective Schools in Essex (CSSE) sets its own papers. English includes reading comprehension AND a creative writing task. Maths has some written working required.`,notableSchools:[{name:`Chelmsford County High School for Girls`,area:`Chelmsford`},{name:`King Edward VI Grammar School`,area:`Chelmsford`},{name:`Colchester Royal Grammar School`,area:`Colchester`},{name:`Colchester County High School`,area:`Colchester`},{name:`Westcliff High School for Boys`,area:`Southend-on-Sea`},{name:`Westcliff High School for Girls`,area:`Southend-on-Sea`}],questionBankFile:`essex`,tips:[`Creative writing is 30% of the English mark - practise writing stories and descriptions.`,`No verbal or non-verbal reasoning - focus purely on English and Maths.`,`Show all working in the Maths paper; method marks are awarded.`],colour:`bg-amber-600`},{id:`birmingham`,name:`Birmingham (BGSF)`,shortName:`Birmingham`,flag:`🏭`,examBoards:[`GL`],subjects:[`maths`,`english`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Paper 1`,`Paper 2`],registrationPeriod:`July – August`,testPeriod:`October`,testFormat:`King Edward's Foundation schools use GL Assessment papers covering all four subjects. Two timed papers sat at the school on the same day.`,notableSchools:[{name:`King Edward's School`,area:`Edgbaston`},{name:`King Edward VI High School for Girls`,area:`Edgbaston`},{name:`Handsworth Grammar School`,area:`Handsworth`},{name:`Sutton Coldfield Grammar School`,area:`Sutton Coldfield`}],questionBankFile:`birmingham`,tips:[`All four GL subject areas are tested - prepare comprehensively.`,`King Edward's is highly selective; aim for 90%+ accuracy in practice.`,`Papers are marked by GL; results typically released in November.`],colour:`bg-red-600`},{id:`manchester`,name:`Greater Manchester (GL)`,shortName:`Manchester`,flag:`🐝`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September – October`,testFormat:`GL Assessment papers used across Trafford, Bury, and Wigan grammar schools. Verbal reasoning and non-verbal reasoning combined with maths.`,notableSchools:[{name:`Altrincham Grammar School for Boys`,area:`Trafford`},{name:`Altrincham Grammar School for Girls`,area:`Trafford`},{name:`Sale Grammar School`,area:`Trafford`},{name:`Stretford Grammar School`,area:`Trafford`},{name:`Bury Grammar School Boys`,area:`Bury`},{name:`Bury Grammar School Girls`,area:`Bury`}],questionBankFile:`manchester`,tips:[`No English comprehension paper in most GM schools - focus on reasoning and maths.`,`Each borough (Trafford, Bury, Wigan) has slightly different registration timelines.`,`Trafford grammar schools are among the most competitive in the North West.`],colour:`bg-yellow-600`},{id:`warwickshire`,name:`Warwickshire (GL)`,shortName:`Warwicks`,flag:`🏰`,examBoards:[`GL`],subjects:[`maths`,`english`,`verbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`English Paper`,`Maths & Verbal Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Assessment papers covering maths, English comprehension, and verbal reasoning. Non-verbal reasoning is not tested in most Warwickshire schools.`,notableSchools:[{name:`Lawrence Sheriff School`,area:`Rugby`},{name:`Rugby High School`,area:`Rugby`},{name:`Alcester Grammar School`,area:`Alcester`},{name:`King Edward VI School`,area:`Stratford-upon-Avon`}],questionBankFile:`warwickshire`,tips:[`English comprehension is tested - read widely and practise inference questions.`,`Verbal reasoning questions in Warwickshire tend to be time-pressured.`,`Non-verbal reasoning is not part of the test; redirect that practice time to English.`],colour:`bg-purple-600`},{id:`lincolnshire`,name:`Lincolnshire (GL)`,shortName:`Lincs`,flag:`🌾`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Assessment papers. Verbal reasoning, non-verbal reasoning, and maths tested. No separate English paper.`,notableSchools:[{name:`The Priory Academy LSST`,area:`Lincoln`},{name:`Lincoln Castle Academy`,area:`Lincoln`},{name:`Caistor Grammar School`,area:`Caistor`},{name:`Queen Elizabeth's High School`,area:`Gainsborough`}],questionBankFile:`lincolnshire`,tips:[`No English paper - focus on reasoning skills and mental maths.`,`Lincolnshire grammar schools are less oversubscribed than London or Kent equivalents.`,`The test is sat at the secondary school, not the primary school.`],colour:`bg-lime-700`},{id:`lancashire`,name:`Lancashire (GL)`,shortName:`Lancs`,flag:`🌹`,examBoards:[`GL`],subjects:[`maths`,`verbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Verbal Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Verbal Reasoning and Maths papers only. Non-verbal reasoning and English are not tested in most Lancashire schools.`,notableSchools:[{name:`Clitheroe Royal Grammar School`,area:`Clitheroe`},{name:`Bacup and Rawtenstall Grammar School`,area:`Waterfoot`},{name:`Lancaster Grammar School`,area:`Lancaster`},{name:`Lancaster Girls Grammar School`,area:`Lancaster`}],questionBankFile:`lancashire`,tips:[`Only verbal reasoning and maths are tested - no NVR or English comprehension.`,`Verbal reasoning questions are core; practise all 21 GL VR question types.`,`Some Lancashire schools set their own supplementary tests for borderline candidates.`],colour:`bg-rose-700`},{id:`yorkshire`,name:`Yorkshire (GL)`,shortName:`Yorkshire`,flag:`πŸ‘`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September – October`,testFormat:`GL Assessment papers covering maths, verbal reasoning, and non-verbal reasoning. Format varies slightly between West Yorkshire and North Yorkshire schools.`,notableSchools:[{name:`Bradford Grammar School`,area:`Bradford`},{name:`Crossley Heath School`,area:`Halifax`},{name:`Heckmondwike Grammar School`,area:`Heckmondwike`},{name:`Ermysted's Grammar School`,area:`Skipton`},{name:`Ripon Grammar School`,area:`Ripon`}],questionBankFile:`yorkshire`,tips:[`Check each school's specific entry requirements - some are partially selective.`,`Verbal and non-verbal reasoning are emphasised; maths questions mirror KS2 SATs.`,`Some Bradford schools use the test to allocate a proportion of places only.`],colour:`bg-sky-700`},{id:`hertfordshire`,name:`Hertfordshire (GL)`,shortName:`Herts`,flag:`🦌`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Paper 1`,`Paper 2`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Assessment papers. Hertfordshire's remaining grammar schools use verbal reasoning, non-verbal reasoning, and maths. No English comprehension paper.`,notableSchools:[{name:`Dame Alice Owen's School`,area:`Potters Bar`},{name:`Parmiter's School`,area:`Watford`},{name:`Watford Grammar School for Boys`,area:`Watford`},{name:`Watford Grammar School for Girls`,area:`Watford`},{name:`St Clement Danes School`,area:`Chorleywood`}],questionBankFile:`hertfordshire`,tips:[`Hertfordshire uses GL Assessment standard - very similar to the London papers.`,`Watford grammar schools are selective for a small number of places; competition is high.`,`No English comprehension - focus on verbal/NVR speed and accuracy.`],colour:`bg-teal-600`},{id:`northern-ireland`,name:`Northern Ireland (AQE / GL)`,shortName:`N. Ireland`,flag:`☘️`,examBoards:[`AQE`,`GL`],subjects:[`maths`,`english`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`AQE Paper 1`,`AQE Paper 2`,`AQE Paper 3`],registrationPeriod:`September – October`,testPeriod:`November – January`,testFormat:`Northern Ireland has two test providers: AQE (three papers of English + Maths) and GL (used by some schools). No verbal or non-verbal reasoning. Three papers sat over three separate Saturdays.`,notableSchools:[{name:`Belfast Royal Academy`,area:`Belfast`},{name:`Methodist College Belfast`,area:`Belfast`},{name:`Campbell College`,area:`Belfast`},{name:`Victoria College Belfast`,area:`Belfast`},{name:`Regent House Grammar School`,area:`Newtownards`},{name:`Lagan College`,area:`Belfast`}],questionBankFile:`northern-ireland`,tips:[`AQE tests are sat in three sittings in November, December, and January.`,`No verbal or non-verbal reasoning - focus entirely on English and Maths.`,`AQE English tests reading comprehension and vocabulary; no creative writing.`,`The NI transfer test is taken a year later than in England - at end of Year 7 (age 11–12).`],colour:`bg-green-800`}];function y(e){return v.find(t=>t.id===e)}function b(){let{state:e,dispatch:t}=m(),n=y(e.regionId)??y(`london`),r=(0,l.useCallback)(e=>{t({type:`SET_REGION`,payload:e})},[t]);return{region:n,regionId:e.regionId,setRegion:r,allRegions:v}}function x(){let{dispatch:e}=m(),{region:t}=b();return(0,h.jsx)(`header`,{className:`bg-white dark:bg-slate-900 border-b border-gray-100 dark:border-slate-800 sticky top-0 z-40 shadow-sm`,children:(0,h.jsxs)(`div`,{className:`max-w-6xl mx-auto px-4 h-16 flex items-center justify-between gap-4`,children:[(0,h.jsxs)(o,{to:`/`,className:`flex items-center gap-2 font-extrabold text-xl text-primary dark:text-blue-300 hover:opacity-80 transition-opacity focus:outline-none focus:ring-2 focus:ring-amber-400 rounded`,"aria-label":`11Plus Prep - Home`,children:[(0,h.jsx)(`span`,{className:`text-2xl`,"aria-hidden":`true`,children:`πŸŽ“`}),(0,h.jsxs)(`span`,{children:[`11Plus`,(0,h.jsx)(`span`,{className:`text-secondary`,children:`Prep`})]})]}),(0,h.jsxs)(`nav`,{className:`hidden sm:flex items-center gap-6`,"aria-label":`Main navigation`,children:[(0,h.jsx)(o,{to:`/`,className:`text-sm font-semibold text-gray-600 dark:text-slate-300 hover:text-primary dark:hover:text-blue-300 transition-colors`,children:`Home`}),(0,h.jsx)(o,{to:`/quiz`,className:`text-sm font-semibold text-gray-600 dark:text-slate-300 hover:text-primary dark:hover:text-blue-300 transition-colors`,children:`Practice`}),(0,h.jsx)(o,{to:`/about`,className:`text-sm font-semibold text-gray-600 dark:text-slate-300 hover:text-primary dark:hover:text-blue-300 transition-colors`,children:`About 11+`})]}),(0,h.jsxs)(o,{to:`/quiz`,className:`hidden md:inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold bg-blue-50 dark:bg-slate-800 text-blue-700 dark:text-blue-300 border border-blue-200 dark:border-slate-700 hover:bg-blue-100 dark:hover:bg-slate-700 transition-colors`,title:`Change region`,children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,children:t.flag}),(0,h.jsx)(`span`,{children:t.shortName})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,h.jsx)(_,{}),(0,h.jsx)(`button`,{onClick:()=>e({type:`TOGGLE_SETTINGS`}),"aria-label":`Open settings`,className:`p-2 rounded-lg text-gray-500 hover:bg-gray-100 dark:hover:bg-slate-800 transition-colors focus:outline-none focus:ring-2 focus:ring-amber-400`,children:(0,h.jsxs)(`svg`,{className:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,h.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z`}),(0,h.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M15 12a3 3 0 11-6 0 3 3 0 016 0z`})]})}),(0,h.jsx)(o,{to:`/quiz`,className:`hidden sm:inline-flex btn-primary text-sm py-2 px-4`,children:`Practice Now`})]})]})})}function S(){return(0,h.jsx)(`footer`,{className:`bg-primary dark:bg-slate-900 text-white mt-16`,children:(0,h.jsxs)(`div`,{className:`max-w-6xl mx-auto px-4 py-10`,children:[(0,h.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-8 mb-8`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`font-extrabold text-lg mb-3`,children:`πŸŽ“ 11PlusPrep`}),(0,h.jsx)(`p`,{className:`text-blue-200 text-sm leading-relaxed`,children:`Free 11+ practice for UK children across all 12 regions. 600+ questions covering GL Assessment, CEM, AQE and CSSE exam board styles.`})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`font-bold text-base mb-3`,children:`Subjects`}),(0,h.jsxs)(`ul`,{className:`space-y-1 text-blue-200 text-sm`,children:[(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=maths`,className:`hover:text-white transition-colors`,children:`πŸ”’ Maths`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=english`,className:`hover:text-white transition-colors`,children:`πŸ“– English`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=verbal`,className:`hover:text-white transition-colors`,children:`πŸ”€ Verbal Reasoning`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=nonverbal`,className:`hover:text-white transition-colors`,children:`πŸ”· Non-Verbal Reasoning`})})]})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`font-bold text-base mb-3`,children:`Resources`}),(0,h.jsxs)(`ul`,{className:`space-y-1 text-blue-200 text-sm`,children:[(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/about`,className:`hover:text-white transition-colors`,children:`About the 11+`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/about`,className:`hover:text-white transition-colors`,children:`UK Grammar Schools`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(`a`,{href:`https://www.gl-assessment.co.uk/products/11-plus/`,target:`_blank`,rel:`noopener noreferrer`,className:`hover:text-white transition-colors`,children:`GL Assessment β†—`})})]})]})]}),(0,h.jsxs)(`div`,{className:`border-t border-blue-800 dark:border-slate-700 pt-6 text-center text-blue-300 text-xs space-y-1`,children:[(0,h.jsxs)(`p`,{children:[(0,h.jsx)(`strong`,{children:`Disclaimer:`}),` This is an independent preparation tool. Not affiliated with GL Assessment, any grammar school, or local authority. Question content is original and created for practice purposes only.`]}),(0,h.jsxs)(`p`,{children:[`Β© `,new Date().getFullYear(),` 11PlusPrep. Free to use. No account needed.`]})]})]})})}var C=`11plus_weak_areas`;function w(){try{let e=localStorage.getItem(C);return e?JSON.parse(e):{}}catch{return{}}}function T(e){localStorage.setItem(C,JSON.stringify(e))}function E(){let[e,t]=(0,l.useState)(w);return{weakAreas:e,updateFromResults:(0,l.useCallback)((e,n)=>{let r=w();for(let t of e){let e=`${t.subject}__${t.topic}`,i=r[e]||{subject:t.subject,topic:t.topic,attempts:0,correct:0,lastSeen:``},a=n[t.id]?.toUpperCase()===t.answer.toUpperCase();r[e]={...i,attempts:i.attempts+1,correct:i.correct+ +!!a,lastSeen:new Date().toISOString()}}T(r),t({...r})},[]),getWeakTopics:(0,l.useCallback)((t=.6)=>Object.values(e).filter(e=>e.attempts>=3&&e.correct/e.attemptse.correct/e.attempts-t.correct/t.attempts),[e]),clearHistory:(0,l.useCallback)(()=>{localStorage.removeItem(C),t({})},[]),getScore:(0,l.useCallback)((t,n)=>{let r=e[`${t}__${n}`];return!r||r.attempts===0?null:r.correct/r.attempts},[e])}}function D(){let{state:e,dispatch:t}=m(),{clearHistory:n}=E();return e.showSettings?(0,h.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,children:(0,h.jsxs)(`div`,{className:`bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-full max-w-md animate-fade-in`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between p-6 border-b border-gray-100 dark:border-slate-700`,children:[(0,h.jsx)(`h2`,{id:`settings-title`,className:`text-xl font-bold text-primary dark:text-blue-300`,children:`Settings`}),(0,h.jsx)(`button`,{onClick:()=>t({type:`CLOSE_SETTINGS`}),"aria-label":`Close settings`,className:`p-2 hover:bg-gray-100 dark:hover:bg-slate-700 rounded-lg transition-colors`,children:(0,h.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,h.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]}),(0,h.jsxs)(`div`,{className:`p-6 space-y-6`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,children:`Mode`}),(0,h.jsx)(`div`,{className:`flex gap-3`,children:[`free`,`ai`].map(n=>(0,h.jsx)(`button`,{onClick:()=>t({type:`SET_MODE`,payload:n}),className:`flex-1 py-2 px-4 rounded-xl font-semibold text-sm border-2 transition-colors ${e.mode===n?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 text-gray-500 dark:text-slate-400 hover:border-gray-300`}`,children:n===`free`?`πŸ”’ Free Mode`:`✨ AI Mode`},n))})]}),e.mode===`ai`&&(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,htmlFor:`api-key`,children:`Anthropic API Key`}),(0,h.jsx)(`input`,{id:`api-key`,type:`password`,value:e.apiKey,onChange:e=>t({type:`SET_API_KEY`,payload:e.target.value}),placeholder:`sk-ant-...`,className:`w-full border border-gray-200 dark:border-slate-600 rounded-xl px-4 py-2 text-sm font-mono bg-gray-50 dark:bg-slate-700 dark:text-white focus:outline-none focus:ring-2 focus:ring-amber-400`}),(0,h.jsx)(`p`,{className:`text-xs text-gray-400 mt-1`,children:`Stored locally. Never sent except during AI question generation.`})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,children:`Theme`}),(0,h.jsx)(`div`,{className:`flex gap-3`,children:[`light`,`dark`].map(n=>(0,h.jsx)(`button`,{onClick:()=>t({type:`SET_THEME`,payload:n}),className:`flex-1 py-2 px-4 rounded-xl font-semibold text-sm border-2 transition-colors ${e.theme===n?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 text-gray-500 dark:text-slate-400`}`,children:n===`light`?`β˜€οΈ Light`:`πŸŒ™ Dark`},n))})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,children:`Text Size`}),(0,h.jsx)(`div`,{className:`flex gap-3`,children:[`normal`,`large`].map(n=>(0,h.jsx)(`button`,{onClick:()=>t({type:`SET_FONT_SIZE`,payload:n}),className:`flex-1 py-2 px-4 rounded-xl font-semibold border-2 transition-colors ${e.fontSize===n?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 text-gray-500 dark:text-slate-400`} ${n===`large`?`text-base`:`text-sm`}`,children:n===`normal`?`Normal`:`Large`},n))})]}),(0,h.jsx)(`div`,{className:`pt-2 border-t border-gray-100 dark:border-slate-700`,children:(0,h.jsx)(`button`,{onClick:()=>{n(),alert(`Practice history cleared.`)},className:`text-sm text-red-500 hover:text-red-700 font-semibold underline`,children:`Clear practice history & weak areas`})})]})]})}):null}var O=(0,l.lazy)(()=>n(()=>import(`./Home-Dt8reEQy.js`),__vite__mapDeps([0,1,2,3]))),k=(0,l.lazy)(()=>n(()=>import(`./Quiz-CBb1iT3W.js`),__vite__mapDeps([4,2,1,3]))),A=(0,l.lazy)(()=>n(()=>import(`./About-Cs9eJANr.js`),__vite__mapDeps([5,2,1])));function j(){return(0,h.jsx)(`div`,{className:`flex items-center justify-center h-64`,children:(0,h.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600`})})}function M(){return(0,h.jsx)(g,{children:(0,h.jsx)(a,{basename:`/11plus-prep`,children:(0,h.jsxs)(`div`,{className:`min-h-screen flex flex-col bg-bg dark:bg-slate-900`,children:[(0,h.jsx)(x,{}),(0,h.jsx)(D,{}),(0,h.jsx)(`main`,{className:`flex-1`,children:(0,h.jsx)(l.Suspense,{fallback:(0,h.jsx)(j,{}),children:(0,h.jsxs)(t,{children:[(0,h.jsx)(r,{path:`/`,element:(0,h.jsx)(O,{})}),(0,h.jsx)(r,{path:`/quiz`,element:(0,h.jsx)(k,{})}),(0,h.jsx)(r,{path:`/about`,element:(0,h.jsx)(A,{})})]})})}),(0,h.jsx)(S,{})]})})})}(0,u.createRoot)(document.getElementById(`root`)).render((0,h.jsx)(l.StrictMode,{children:(0,h.jsx)(M,{})}));export{_ as a,y as i,b as n,m as o,v as r,E as t}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-DgFZ-9GX.js","assets/vendor-4rVWboVA.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/metadata-DFZiaT6I.js","assets/Quiz-BxuCF0Nh.js","assets/About-DG27denO.js"])))=>i.map(i=>d[i]); +import{n as e}from"./rolldown-runtime-Bh1tDfsg.js";import{a as t,c as n,i as r,l as i,n as a,r as o,t as s,u as c}from"./vendor-4rVWboVA.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=e(c(),1),u=i(),d={mode:`free`,apiKey:``,theme:`light`,fontSize:`normal`,showSettings:!1,regionId:`london`};function f(e,t){switch(t.type){case`SET_MODE`:return{...e,mode:t.payload};case`SET_API_KEY`:return{...e,apiKey:t.payload};case`SET_THEME`:return{...e,theme:t.payload};case`SET_FONT_SIZE`:return{...e,fontSize:t.payload};case`TOGGLE_SETTINGS`:return{...e,showSettings:!e.showSettings};case`CLOSE_SETTINGS`:return{...e,showSettings:!1};case`SET_REGION`:return{...e,regionId:t.payload};default:return e}}var p=(0,l.createContext)(null);function m(){let e=(0,l.useContext)(p);if(!e)throw Error(`useApp must be used within AppProvider`);return e}var h=s();function g({children:e}){let[t,n]=(0,l.useReducer)(f,d,e=>{try{let t=localStorage.getItem(`11plus_app_settings`);if(t){let n=JSON.parse(t);return{...e,...n,showSettings:!1}}}catch{localStorage.removeItem(`11plus_app_settings`)}return e});return(0,l.useEffect)(()=>{let e={mode:t.mode,apiKey:t.apiKey,theme:t.theme,fontSize:t.fontSize,regionId:t.regionId};localStorage.setItem(`11plus_app_settings`,JSON.stringify(e))},[t]),(0,l.useEffect)(()=>{t.theme===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)},[t.theme]),(0,l.useEffect)(()=>{t.fontSize===`large`?document.documentElement.style.fontSize=`18px`:document.documentElement.style.fontSize=`16px`},[t.fontSize]),(0,h.jsx)(p.Provider,{value:{state:t,dispatch:n},children:e})}function _(){let{state:e,dispatch:t}=m(),n=e.mode===`ai`;return(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":`Mode selector`,children:[(0,h.jsx)(`span`,{className:`text-sm font-semibold ${n?`text-gray-400`:`text-primary dark:text-blue-300`}`,children:`Free`}),(0,h.jsx)(`button`,{onClick:()=>{t({type:`SET_MODE`,payload:n?`free`:`ai`})},role:`switch`,"aria-checked":n,"aria-label":`Switch to ${n?`Free`:`AI`} mode`,className:`relative w-14 h-7 rounded-full transition-colors duration-300 focus:outline-none focus:ring-2 focus:ring-amber-400 focus:ring-offset-2 ${n?`bg-secondary`:`bg-gray-300 dark:bg-slate-600`}`,children:(0,h.jsx)(`span`,{className:`absolute top-0.5 left-0.5 w-6 h-6 bg-white rounded-full shadow-md transition-transform duration-300 ${n?`translate-x-7`:`translate-x-0`}`})}),(0,h.jsx)(`span`,{className:`text-sm font-semibold ${n?`text-secondary`:`text-gray-400`}`,children:`AI ✨`})]})}var v=[{id:`london`,name:`London (GL Assessment)`,shortName:`London`,flag:`πŸ™οΈ`,examBoards:[`GL`],subjects:[`maths`,`english`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Paper 1`,`Paper 2`],registrationPeriod:`June – July`,testPeriod:`September – October`,testFormat:`Two GL Assessment papers covering all four subjects. Multiple choice throughout. Sat at secondary schools.`,notableSchools:[{name:`Tiffin Boys' School`,area:`Kingston`},{name:`Tiffin Girls' School`,area:`Kingston`},{name:`Henrietta Barnett School`,area:`Barnet`},{name:`Queen Elizabeth's Boys' School`,area:`Barnet`},{name:`Nonsuch High School`,area:`Sutton`},{name:`Wallington High School for Girls`,area:`Sutton`},{name:`Wilson's School`,area:`Sutton`},{name:`St Olave's Grammar School`,area:`Bromley`},{name:`Newstead Wood School`,area:`Bromley`}],questionBankFile:`london`,tips:[`Practice all four subjects equally - papers are mixed.`,`GL uses A–E multiple-choice format; no partial marks.`,`Aim to complete each paper in 45–50 minutes.`],colour:`bg-blue-500`},{id:`kent`,name:`Kent (Kent Test)`,shortName:`Kent`,flag:`🌿`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper 1`,`Reasoning Paper 2`,`Maths Paper`],registrationPeriod:`May – June`,testPeriod:`September`,testFormat:`Three papers: two GL Reasoning papers (verbal + non-verbal) and a separate Maths paper. Sat in Year 6 at primary school.`,notableSchools:[{name:`The Judd School`,area:`Tonbridge`},{name:`Tonbridge Grammar School`,area:`Tonbridge`},{name:`Skinners School`,area:`Tunbridge Wells`},{name:`Maidstone Grammar School`,area:`Maidstone`},{name:`Highsted Grammar School`,area:`Sittingbourne`},{name:`Chatham Grammar School`,area:`Medway`}],questionBankFile:`kent`,tips:[`No English comprehension paper - focus on maths and reasoning.`,`The Kent Test is sat in primary school, not at the secondary school.`,`Children are ranked and borderline cases reviewed by headteacher panels.`],colour:`bg-green-600`},{id:`buckinghamshire`,name:`Buckinghamshire (SET)`,shortName:`Bucks`,flag:`🦒`,examBoards:[`GL`,`school-set`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`SET Paper 1`,`SET Paper 2`],registrationPeriod:`April – May`,testPeriod:`September`,testFormat:`Two selective eligibility tests (SET) - a GL Verbal Reasoning paper and a combined Maths/Non-Verbal Reasoning paper. Sat at primary school.`,notableSchools:[{name:`Royal Grammar School, High Wycombe`,area:`High Wycombe`},{name:`Wycombe High School`,area:`High Wycombe`},{name:`Dr Challoner's Grammar School`,area:`Amersham`},{name:`Dr Challoner's High School`,area:`Little Chalfont`},{name:`Aylesbury Grammar School`,area:`Aylesbury`},{name:`Aylesbury High School`,area:`Aylesbury`}],questionBankFile:`buckinghamshire`,tips:[`English comprehension is NOT tested in Bucks - focus on verbal reasoning and maths.`,`The test is sat in Year 5 (one year earlier than most regions).`,`GL-style multiple choice; practice speed as time is tight.`],colour:`bg-emerald-700`},{id:`essex`,name:`Essex (CSSE)`,shortName:`Essex`,flag:`πŸ“œ`,examBoards:[`CSSE`],subjects:[`maths`,`english`],hasCreativeWriting:!0,hasWrittenAnswer:!0,papers:[`English Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`Consortium of Selective Schools in Essex (CSSE) sets its own papers. English includes reading comprehension AND a creative writing task. Maths has some written working required.`,notableSchools:[{name:`Chelmsford County High School for Girls`,area:`Chelmsford`},{name:`King Edward VI Grammar School`,area:`Chelmsford`},{name:`Colchester Royal Grammar School`,area:`Colchester`},{name:`Colchester County High School`,area:`Colchester`},{name:`Westcliff High School for Boys`,area:`Southend-on-Sea`},{name:`Westcliff High School for Girls`,area:`Southend-on-Sea`}],questionBankFile:`essex`,tips:[`Creative writing is 30% of the English mark - practise writing stories and descriptions.`,`No verbal or non-verbal reasoning - focus purely on English and Maths.`,`Show all working in the Maths paper; method marks are awarded.`],colour:`bg-amber-600`},{id:`birmingham`,name:`Birmingham (BGSF)`,shortName:`Birmingham`,flag:`🏭`,examBoards:[`GL`],subjects:[`maths`,`english`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Paper 1`,`Paper 2`],registrationPeriod:`July – August`,testPeriod:`October`,testFormat:`King Edward's Foundation schools use GL Assessment papers covering all four subjects. Two timed papers sat at the school on the same day.`,notableSchools:[{name:`King Edward's School`,area:`Edgbaston`},{name:`King Edward VI High School for Girls`,area:`Edgbaston`},{name:`Handsworth Grammar School`,area:`Handsworth`},{name:`Sutton Coldfield Grammar School`,area:`Sutton Coldfield`}],questionBankFile:`birmingham`,tips:[`All four GL subject areas are tested - prepare comprehensively.`,`King Edward's is highly selective; aim for 90%+ accuracy in practice.`,`Papers are marked by GL; results typically released in November.`],colour:`bg-red-600`},{id:`manchester`,name:`Greater Manchester (GL)`,shortName:`Manchester`,flag:`🐝`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September – October`,testFormat:`GL Assessment papers used across Trafford, Bury, and Wigan grammar schools. Verbal reasoning and non-verbal reasoning combined with maths.`,notableSchools:[{name:`Altrincham Grammar School for Boys`,area:`Trafford`},{name:`Altrincham Grammar School for Girls`,area:`Trafford`},{name:`Sale Grammar School`,area:`Trafford`},{name:`Stretford Grammar School`,area:`Trafford`},{name:`Bury Grammar School Boys`,area:`Bury`},{name:`Bury Grammar School Girls`,area:`Bury`}],questionBankFile:`manchester`,tips:[`No English comprehension paper in most GM schools - focus on reasoning and maths.`,`Each borough (Trafford, Bury, Wigan) has slightly different registration timelines.`,`Trafford grammar schools are among the most competitive in the North West.`],colour:`bg-yellow-600`},{id:`warwickshire`,name:`Warwickshire (GL)`,shortName:`Warwicks`,flag:`🏰`,examBoards:[`GL`],subjects:[`maths`,`english`,`verbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`English Paper`,`Maths & Verbal Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Assessment papers covering maths, English comprehension, and verbal reasoning. Non-verbal reasoning is not tested in most Warwickshire schools.`,notableSchools:[{name:`Lawrence Sheriff School`,area:`Rugby`},{name:`Rugby High School`,area:`Rugby`},{name:`Alcester Grammar School`,area:`Alcester`},{name:`King Edward VI School`,area:`Stratford-upon-Avon`}],questionBankFile:`warwickshire`,tips:[`English comprehension is tested - read widely and practise inference questions.`,`Verbal reasoning questions in Warwickshire tend to be time-pressured.`,`Non-verbal reasoning is not part of the test; redirect that practice time to English.`],colour:`bg-purple-600`},{id:`lincolnshire`,name:`Lincolnshire (GL)`,shortName:`Lincs`,flag:`🌾`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Assessment papers. Verbal reasoning, non-verbal reasoning, and maths tested. No separate English paper.`,notableSchools:[{name:`The Priory Academy LSST`,area:`Lincoln`},{name:`Lincoln Castle Academy`,area:`Lincoln`},{name:`Caistor Grammar School`,area:`Caistor`},{name:`Queen Elizabeth's High School`,area:`Gainsborough`}],questionBankFile:`lincolnshire`,tips:[`No English paper - focus on reasoning skills and mental maths.`,`Lincolnshire grammar schools are less oversubscribed than London or Kent equivalents.`,`The test is sat at the secondary school, not the primary school.`],colour:`bg-lime-700`},{id:`lancashire`,name:`Lancashire (GL)`,shortName:`Lancs`,flag:`🌹`,examBoards:[`GL`],subjects:[`maths`,`verbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Verbal Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Verbal Reasoning and Maths papers only. Non-verbal reasoning and English are not tested in most Lancashire schools.`,notableSchools:[{name:`Clitheroe Royal Grammar School`,area:`Clitheroe`},{name:`Bacup and Rawtenstall Grammar School`,area:`Waterfoot`},{name:`Lancaster Grammar School`,area:`Lancaster`},{name:`Lancaster Girls Grammar School`,area:`Lancaster`}],questionBankFile:`lancashire`,tips:[`Only verbal reasoning and maths are tested - no NVR or English comprehension.`,`Verbal reasoning questions are core; practise all 21 GL VR question types.`,`Some Lancashire schools set their own supplementary tests for borderline candidates.`],colour:`bg-rose-700`},{id:`yorkshire`,name:`Yorkshire (GL)`,shortName:`Yorkshire`,flag:`πŸ‘`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Reasoning Paper`,`Maths Paper`],registrationPeriod:`June – July`,testPeriod:`September – October`,testFormat:`GL Assessment papers covering maths, verbal reasoning, and non-verbal reasoning. Format varies slightly between West Yorkshire and North Yorkshire schools.`,notableSchools:[{name:`Bradford Grammar School`,area:`Bradford`},{name:`Crossley Heath School`,area:`Halifax`},{name:`Heckmondwike Grammar School`,area:`Heckmondwike`},{name:`Ermysted's Grammar School`,area:`Skipton`},{name:`Ripon Grammar School`,area:`Ripon`}],questionBankFile:`yorkshire`,tips:[`Check each school's specific entry requirements - some are partially selective.`,`Verbal and non-verbal reasoning are emphasised; maths questions mirror KS2 SATs.`,`Some Bradford schools use the test to allocate a proportion of places only.`],colour:`bg-sky-700`},{id:`hertfordshire`,name:`Hertfordshire (GL)`,shortName:`Herts`,flag:`🦌`,examBoards:[`GL`],subjects:[`maths`,`verbal`,`nonverbal`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`Paper 1`,`Paper 2`],registrationPeriod:`June – July`,testPeriod:`September`,testFormat:`GL Assessment papers. Hertfordshire's remaining grammar schools use verbal reasoning, non-verbal reasoning, and maths. No English comprehension paper.`,notableSchools:[{name:`Dame Alice Owen's School`,area:`Potters Bar`},{name:`Parmiter's School`,area:`Watford`},{name:`Watford Grammar School for Boys`,area:`Watford`},{name:`Watford Grammar School for Girls`,area:`Watford`},{name:`St Clement Danes School`,area:`Chorleywood`}],questionBankFile:`hertfordshire`,tips:[`Hertfordshire uses GL Assessment standard - very similar to the London papers.`,`Watford grammar schools are selective for a small number of places; competition is high.`,`No English comprehension - focus on verbal/NVR speed and accuracy.`],colour:`bg-teal-600`},{id:`northern-ireland`,name:`Northern Ireland (AQE / GL)`,shortName:`N. Ireland`,flag:`☘️`,examBoards:[`AQE`,`GL`],subjects:[`maths`,`english`],hasCreativeWriting:!1,hasWrittenAnswer:!1,papers:[`AQE Paper 1`,`AQE Paper 2`,`AQE Paper 3`],registrationPeriod:`September – October`,testPeriod:`November – January`,testFormat:`Northern Ireland has two test providers: AQE (three papers of English + Maths) and GL (used by some schools). No verbal or non-verbal reasoning. Three papers sat over three separate Saturdays.`,notableSchools:[{name:`Belfast Royal Academy`,area:`Belfast`},{name:`Methodist College Belfast`,area:`Belfast`},{name:`Campbell College`,area:`Belfast`},{name:`Victoria College Belfast`,area:`Belfast`},{name:`Regent House Grammar School`,area:`Newtownards`},{name:`Lagan College`,area:`Belfast`}],questionBankFile:`northern-ireland`,tips:[`AQE tests are sat in three sittings in November, December, and January.`,`No verbal or non-verbal reasoning - focus entirely on English and Maths.`,`AQE English tests reading comprehension and vocabulary; no creative writing.`,`The NI transfer test is taken a year later than in England - at end of Year 7 (age 11–12).`],colour:`bg-green-800`}];function y(e){return v.find(t=>t.id===e)}function b(){let{state:e,dispatch:t}=m(),n=y(e.regionId)??y(`london`),r=(0,l.useCallback)(e=>{t({type:`SET_REGION`,payload:e})},[t]);return{region:n,regionId:e.regionId,setRegion:r,allRegions:v}}function x(){let{dispatch:e}=m(),{region:t}=b();return(0,h.jsx)(`header`,{className:`bg-white dark:bg-slate-900 border-b border-gray-100 dark:border-slate-800 sticky top-0 z-40 shadow-sm`,children:(0,h.jsxs)(`div`,{className:`max-w-6xl mx-auto px-4 h-16 flex items-center justify-between gap-4`,children:[(0,h.jsxs)(o,{to:`/`,className:`flex items-center gap-2 font-extrabold text-xl text-primary dark:text-blue-300 hover:opacity-80 transition-opacity focus:outline-none focus:ring-2 focus:ring-amber-400 rounded`,"aria-label":`11Plus Prep - Home`,children:[(0,h.jsx)(`span`,{className:`text-2xl`,"aria-hidden":`true`,children:`πŸŽ“`}),(0,h.jsxs)(`span`,{children:[`11Plus`,(0,h.jsx)(`span`,{className:`text-secondary`,children:`Prep`})]})]}),(0,h.jsxs)(`nav`,{className:`hidden sm:flex items-center gap-6`,"aria-label":`Main navigation`,children:[(0,h.jsx)(o,{to:`/`,className:`text-sm font-semibold text-gray-600 dark:text-slate-300 hover:text-primary dark:hover:text-blue-300 transition-colors`,children:`Home`}),(0,h.jsx)(o,{to:`/quiz`,className:`text-sm font-semibold text-gray-600 dark:text-slate-300 hover:text-primary dark:hover:text-blue-300 transition-colors`,children:`Practice`}),(0,h.jsx)(o,{to:`/about`,className:`text-sm font-semibold text-gray-600 dark:text-slate-300 hover:text-primary dark:hover:text-blue-300 transition-colors`,children:`About 11+`})]}),(0,h.jsxs)(o,{to:`/quiz`,className:`hidden md:inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-semibold bg-blue-50 dark:bg-slate-800 text-blue-700 dark:text-blue-300 border border-blue-200 dark:border-slate-700 hover:bg-blue-100 dark:hover:bg-slate-700 transition-colors`,title:`Change region`,children:[(0,h.jsx)(`span`,{"aria-hidden":`true`,children:t.flag}),(0,h.jsx)(`span`,{children:t.shortName})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,h.jsx)(_,{}),(0,h.jsx)(`button`,{onClick:()=>e({type:`TOGGLE_SETTINGS`}),"aria-label":`Open settings`,className:`p-2 rounded-lg text-gray-500 hover:bg-gray-100 dark:hover:bg-slate-800 transition-colors focus:outline-none focus:ring-2 focus:ring-amber-400`,children:(0,h.jsxs)(`svg`,{className:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,h.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z`}),(0,h.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M15 12a3 3 0 11-6 0 3 3 0 016 0z`})]})}),(0,h.jsx)(o,{to:`/quiz`,className:`hidden sm:inline-flex btn-primary text-sm py-2 px-4`,children:`Practice Now`})]})]})})}function S(){return(0,h.jsx)(`footer`,{className:`bg-primary dark:bg-slate-900 text-white mt-16`,children:(0,h.jsxs)(`div`,{className:`max-w-6xl mx-auto px-4 py-10`,children:[(0,h.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-8 mb-8`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`font-extrabold text-lg mb-3`,children:`πŸŽ“ 11PlusPrep`}),(0,h.jsx)(`p`,{className:`text-blue-200 text-sm leading-relaxed`,children:`Free 11+ practice for UK children across all 12 regions. 600+ questions covering GL Assessment, CEM, AQE and CSSE exam board styles.`})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`font-bold text-base mb-3`,children:`Subjects`}),(0,h.jsxs)(`ul`,{className:`space-y-1 text-blue-200 text-sm`,children:[(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=maths`,className:`hover:text-white transition-colors`,children:`πŸ”’ Maths`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=english`,className:`hover:text-white transition-colors`,children:`πŸ“– English`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=verbal`,className:`hover:text-white transition-colors`,children:`πŸ”€ Verbal Reasoning`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/quiz?subject=nonverbal`,className:`hover:text-white transition-colors`,children:`πŸ”· Non-Verbal Reasoning`})})]})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`h3`,{className:`font-bold text-base mb-3`,children:`Resources`}),(0,h.jsxs)(`ul`,{className:`space-y-1 text-blue-200 text-sm`,children:[(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/about`,className:`hover:text-white transition-colors`,children:`About the 11+`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(o,{to:`/about`,className:`hover:text-white transition-colors`,children:`UK Grammar Schools`})}),(0,h.jsx)(`li`,{children:(0,h.jsx)(`a`,{href:`https://www.gl-assessment.co.uk/products/11-plus/`,target:`_blank`,rel:`noopener noreferrer`,className:`hover:text-white transition-colors`,children:`GL Assessment β†—`})})]})]})]}),(0,h.jsxs)(`div`,{className:`border-t border-blue-800 dark:border-slate-700 pt-6 text-center text-blue-300 text-xs space-y-1`,children:[(0,h.jsxs)(`p`,{children:[(0,h.jsx)(`strong`,{children:`Disclaimer:`}),` This is an independent preparation tool. Not affiliated with GL Assessment, any grammar school, or local authority. Question content is original and created for practice purposes only.`]}),(0,h.jsxs)(`p`,{children:[`Β© `,new Date().getFullYear(),` 11PlusPrep. Free to use. No account needed.`]})]})]})})}var C=`11plus_weak_areas`;function w(){try{let e=localStorage.getItem(C);return e?JSON.parse(e):{}}catch{return{}}}function T(e){localStorage.setItem(C,JSON.stringify(e))}function E(){let[e,t]=(0,l.useState)(w);return{weakAreas:e,updateFromResults:(0,l.useCallback)((e,n)=>{let r=w();for(let t of e){let e=`${t.subject}__${t.topic}`,i=r[e]||{subject:t.subject,topic:t.topic,attempts:0,correct:0,lastSeen:``},a=n[t.id]?.toUpperCase()===t.answer.toUpperCase();r[e]={...i,attempts:i.attempts+1,correct:i.correct+ +!!a,lastSeen:new Date().toISOString()}}T(r),t({...r})},[]),getWeakTopics:(0,l.useCallback)((t=.6)=>Object.values(e).filter(e=>e.attempts>=3&&e.correct/e.attemptse.correct/e.attempts-t.correct/t.attempts),[e]),clearHistory:(0,l.useCallback)(()=>{localStorage.removeItem(C),t({})},[]),getScore:(0,l.useCallback)((t,n)=>{let r=e[`${t}__${n}`];return!r||r.attempts===0?null:r.correct/r.attempts},[e])}}function D(){let{state:e,dispatch:t}=m(),{clearHistory:n}=E();return e.showSettings?(0,h.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`settings-title`,children:(0,h.jsxs)(`div`,{className:`bg-white dark:bg-slate-800 rounded-2xl shadow-2xl w-full max-w-md animate-fade-in`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between p-6 border-b border-gray-100 dark:border-slate-700`,children:[(0,h.jsx)(`h2`,{id:`settings-title`,className:`text-xl font-bold text-primary dark:text-blue-300`,children:`Settings`}),(0,h.jsx)(`button`,{onClick:()=>t({type:`CLOSE_SETTINGS`}),"aria-label":`Close settings`,className:`p-2 hover:bg-gray-100 dark:hover:bg-slate-700 rounded-lg transition-colors`,children:(0,h.jsx)(`svg`,{className:`w-5 h-5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,h.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})]}),(0,h.jsxs)(`div`,{className:`p-6 space-y-6`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,children:`Mode`}),(0,h.jsx)(`div`,{className:`flex gap-3`,children:[`free`,`ai`].map(n=>(0,h.jsx)(`button`,{onClick:()=>t({type:`SET_MODE`,payload:n}),className:`flex-1 py-2 px-4 rounded-xl font-semibold text-sm border-2 transition-colors ${e.mode===n?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 text-gray-500 dark:text-slate-400 hover:border-gray-300`}`,children:n===`free`?`πŸ”’ Free Mode`:`✨ AI Mode`},n))})]}),e.mode===`ai`&&(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,htmlFor:`api-key`,children:`Anthropic API Key`}),(0,h.jsx)(`input`,{id:`api-key`,type:`password`,value:e.apiKey,onChange:e=>t({type:`SET_API_KEY`,payload:e.target.value}),placeholder:`sk-ant-...`,className:`w-full border border-gray-200 dark:border-slate-600 rounded-xl px-4 py-2 text-sm font-mono bg-gray-50 dark:bg-slate-700 dark:text-white focus:outline-none focus:ring-2 focus:ring-amber-400`}),(0,h.jsx)(`p`,{className:`text-xs text-gray-400 mt-1`,children:`Stored locally. Never sent except during AI question generation.`})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,children:`Theme`}),(0,h.jsx)(`div`,{className:`flex gap-3`,children:[`light`,`dark`].map(n=>(0,h.jsx)(`button`,{onClick:()=>t({type:`SET_THEME`,payload:n}),className:`flex-1 py-2 px-4 rounded-xl font-semibold text-sm border-2 transition-colors ${e.theme===n?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 text-gray-500 dark:text-slate-400`}`,children:n===`light`?`β˜€οΈ Light`:`πŸŒ™ Dark`},n))})]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`label`,{className:`block text-sm font-bold text-gray-700 dark:text-slate-200 mb-2`,children:`Text Size`}),(0,h.jsx)(`div`,{className:`flex gap-3`,children:[`normal`,`large`].map(n=>(0,h.jsx)(`button`,{onClick:()=>t({type:`SET_FONT_SIZE`,payload:n}),className:`flex-1 py-2 px-4 rounded-xl font-semibold border-2 transition-colors ${e.fontSize===n?`border-secondary bg-amber-50 text-secondary dark:bg-amber-900/20`:`border-gray-200 dark:border-slate-600 text-gray-500 dark:text-slate-400`} ${n===`large`?`text-base`:`text-sm`}`,children:n===`normal`?`Normal`:`Large`},n))})]}),(0,h.jsx)(`div`,{className:`pt-2 border-t border-gray-100 dark:border-slate-700`,children:(0,h.jsx)(`button`,{onClick:()=>{n(),alert(`Practice history cleared.`)},className:`text-sm text-red-500 hover:text-red-700 font-semibold underline`,children:`Clear practice history & weak areas`})})]})]})}):null}var O=(0,l.lazy)(()=>n(()=>import(`./Home-DgFZ-9GX.js`).then(e=>({default:e.Home})),__vite__mapDeps([0,1,2,3]))),k=(0,l.lazy)(()=>n(()=>import(`./Quiz-BxuCF0Nh.js`).then(e=>({default:e.Quiz})),__vite__mapDeps([4,2,1,3]))),A=(0,l.lazy)(()=>n(()=>import(`./About-DG27denO.js`).then(e=>({default:e.About})),__vite__mapDeps([5,2,1])));function j(){return(0,h.jsx)(`div`,{className:`flex items-center justify-center h-64`,children:(0,h.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600`})})}function M(){return(0,h.jsx)(g,{children:(0,h.jsx)(a,{basename:`/11plus-prep`,children:(0,h.jsxs)(`div`,{className:`min-h-screen flex flex-col bg-bg dark:bg-slate-900`,children:[(0,h.jsx)(x,{}),(0,h.jsx)(D,{}),(0,h.jsx)(`main`,{className:`flex-1`,children:(0,h.jsx)(l.Suspense,{fallback:(0,h.jsx)(j,{}),children:(0,h.jsxs)(t,{children:[(0,h.jsx)(r,{path:`/`,element:(0,h.jsx)(O,{})}),(0,h.jsx)(r,{path:`/quiz`,element:(0,h.jsx)(k,{})}),(0,h.jsx)(r,{path:`/about`,element:(0,h.jsx)(A,{})})]})})}),(0,h.jsx)(S,{})]})})})}(0,u.createRoot)(document.getElementById(`root`)).render((0,h.jsx)(l.StrictMode,{children:(0,h.jsx)(M,{})}));export{_ as a,y as i,b as n,m as o,v as r,E as t}; \ No newline at end of file diff --git a/dist/assets/pdfGenerator-CTSbDQhj.js b/dist/assets/pdfGenerator-D2lYFkhu.js similarity index 99% rename from dist/assets/pdfGenerator-CTSbDQhj.js rename to dist/assets/pdfGenerator-D2lYFkhu.js index 9f2df18..150dc6e 100644 --- a/dist/assets/pdfGenerator-CTSbDQhj.js +++ b/dist/assets/pdfGenerator-D2lYFkhu.js @@ -1,5 +1,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.es-DalTQMgu.js","assets/rolldown-runtime-Bh1tDfsg.js","assets/typeof-B5XbjTb1.js"])))=>i.map(i=>d[i]); -import{c as e}from"./vendor-4rVWboVA.js";import{i as t}from"./index-CI4n4HMn.js";import{t as n}from"./typeof-B5XbjTb1.js";import{t as r}from"./metadata-DFZiaT6I.js";var i=Uint8Array,a=Uint16Array,o=Int32Array,s=new i([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),c=new i([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),l=new i([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),u=function(e,t){for(var n=new a(31),r=0;r<31;++r)n[r]=t+=1<>1|(_&21845)<<1;v=(v&52428)>>2|(v&13107)<<2,v=(v&61680)>>4|(v&3855)<<4,g[_]=((v&65280)>>8|(v&255)<<8)>>1}for(var y=(function(e,t,n){for(var r=e.length,i=0,o=new a(t);i>l]=u}else for(c=new a(r),i=0;i>15-e[i]);return c}),b=new i(288),_=0;_<144;++_)b[_]=8;for(var _=144;_<256;++_)b[_]=9;for(var _=256;_<280;++_)b[_]=7;for(var _=280;_<288;++_)b[_]=8;for(var x=new i(32),_=0;_<32;++_)x[_]=5;var S=y(b,9,0),C=y(x,5,0),w=function(e){return(e+7)/8|0},T=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new i(e.subarray(t,n))},E=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},D=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},O=function(e,t){for(var n=[],r=0;rm&&(m=s[r].s);var h=new a(m+1),g=k(n[f-1],h,0);if(g>t){var r=0,_=0,v=g-t,y=1<t)_+=y-(1<>=v;_>0;){var x=s[r].s;h[x]=0&&_;--r){var S=s[r].s;h[S]==t&&(--h[S],++_)}g=t}return{t:new i(h),l:g}},k=function(e,t,n){return e.s==-1?Math.max(k(e.l,t,n+1),k(e.r,t,n+1)):t[e.s]=n},A=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new a(++t),r=0,i=e[0],o=1,s=function(e){n[r++]=e},c=1;c<=t;++c)if(e[c]==i&&c!=t)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=e[c]}return{c:n.subarray(0,r),n:t}},j=function(e,t){for(var n=0,r=0;r>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a4&&!V[l[H-1]];--H);var U=p+5<<3,W=j(i,b)+j(o,x)+u,te=j(i,g)+j(o,w)+u+14+3*H+j(R,V)+2*R[16]+3*R[17]+7*R[18];if(f>=0&&U<=W&&U<=te)return M(t,m,e.subarray(f,f+p));var ne,re,ie,ae;if(E(t,m,1+(te15&&(E(t,m,ce[z]>>5&127),m+=ce[z]>>12)}}else ne=S,re=b,ie=C,ae=x;for(var z=0;z255){var le=ue>>18&31;D(t,m,ne[le+257]),m+=re[le+257],le>7&&(E(t,m,ue>>23&31),m+=s[le]);var de=ue&31;D(t,m,ie[de]),m+=ae[de],de>3&&(D(t,m,ue>>5&8191),m+=c[de])}else D(t,m,ne[ue]),m+=re[ue]}return D(t,m,ne[256]),m+re[256]},P=new o([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new i(0),I=function(e,t,n,r,l,u){var d=u.z||e.length,f=new i(r+d+5*(1+Math.ceil(d/7e3))+l),m=f.subarray(r,f.length-l),g=u.l,_=(u.r||0)&7;if(t){_&&(m[0]=u.r>>3);for(var v=P[t-1],y=v>>13,b=v&8191,x=(1<7e3||R>24576)&&(U>423||!g)){_=N(e,m,0,k,A,j,I,R,B,L-B,_),R=F=I=0,B=L;for(var W=0;W<286;++W)A[W]=0;for(var W=0;W<30;++W)j[W]=0}var te=2,ne=0,re=b,ie=ee-H&32767;if(U>2&&V==O(L-ie))for(var ae=Math.min(y,U)-1,oe=Math.min(32767,L),G=Math.min(258,U);ie<=oe&&--re&&ee!=H;){if(e[L+te]==e[L+te-ie]){for(var se=0;sete){if(te=se,ne=ie,se>ae)break;for(var ce=Math.min(ie,se-2),le=0,W=0;Wle&&(le=de,H=ue)}}}ee=H,H=S[ee],ie+=ee-H&32767}if(ne){k[R++]=268435456|p[te]<<18|h[ne];var fe=p[te]&31,pe=h[ne]&31;I+=s[fe]+c[pe],++A[257+fe],++j[pe],z=L+te,++F}else k[R++]=e[L],++A[e[L]]}}for(L=Math.max(L,z);L=d&&(m[_/8|0]=g,me=d),_=M(m,_+1,e.subarray(L,me))}u.i=d}return T(f,0,r+w(_)+l)},L=function(){var e=1,t=0;return{p:function(n){for(var r=e,i=t,a=n.length|0,o=0;o!=a;){for(var s=Math.min(o+2655,a);o>16),i=(i&65535)+15*(i>>16)}e=r,t=i},d:function(){return e%=65521,t%=65521,(e&255)<<24|(e&65280)<<8|(t&255)<<8|t>>8}}},R=function(e,t,n,r,a){if(!a&&(a={l:1},t.dictionary)){var o=t.dictionary.subarray(-32768),s=new i(o.length+e.length);s.set(o),s.set(e,o.length),e=s,a.w=o.length}return I(e,t.level==null?6:t.level,t.mem==null?a.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,r,a)},z=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8},B=function(e,t){var n=t.level,r=n==0?0:n<6?1:n==9?3:2;if(e[0]=120,e[1]=r<<6|(t.dictionary&&32),e[1]|=31-(e[0]<<8|e[1])%31,t.dictionary){var i=L();i.p(t.dictionary),z(e,2,i.d())}};function V(e,t){t||={};var n=L();n.p(e);var r=R(e,t,t.dictionary?6:2,4);return B(r,t),z(r,r.length-4,n.d()),r}var ee=typeof TextDecoder<`u`&&new TextDecoder;try{ee.decode(F,{stream:!0})}catch{}function H(e){if(Array.isArray(e))return e}function U(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function W(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n>1|(_&21845)<<1;v=(v&52428)>>2|(v&13107)<<2,v=(v&61680)>>4|(v&3855)<<4,g[_]=((v&65280)>>8|(v&255)<<8)>>1}for(var y=(function(e,t,n){for(var r=e.length,i=0,o=new a(t);i>l]=u}else for(c=new a(r),i=0;i>15-e[i]);return c}),b=new i(288),_=0;_<144;++_)b[_]=8;for(var _=144;_<256;++_)b[_]=9;for(var _=256;_<280;++_)b[_]=7;for(var _=280;_<288;++_)b[_]=8;for(var x=new i(32),_=0;_<32;++_)x[_]=5;var S=y(b,9,0),C=y(x,5,0),w=function(e){return(e+7)/8|0},T=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new i(e.subarray(t,n))},E=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},D=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},O=function(e,t){for(var n=[],r=0;rm&&(m=s[r].s);var h=new a(m+1),g=k(n[f-1],h,0);if(g>t){var r=0,_=0,v=g-t,y=1<t)_+=y-(1<>=v;_>0;){var x=s[r].s;h[x]=0&&_;--r){var S=s[r].s;h[S]==t&&(--h[S],++_)}g=t}return{t:new i(h),l:g}},k=function(e,t,n){return e.s==-1?Math.max(k(e.l,t,n+1),k(e.r,t,n+1)):t[e.s]=n},A=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new a(++t),r=0,i=e[0],o=1,s=function(e){n[r++]=e},c=1;c<=t;++c)if(e[c]==i&&c!=t)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=e[c]}return{c:n.subarray(0,r),n:t}},j=function(e,t){for(var n=0,r=0;r>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a4&&!V[l[H-1]];--H);var U=p+5<<3,W=j(i,b)+j(o,x)+u,te=j(i,g)+j(o,w)+u+14+3*H+j(R,V)+2*R[16]+3*R[17]+7*R[18];if(f>=0&&U<=W&&U<=te)return M(t,m,e.subarray(f,f+p));var ne,re,ie,ae;if(E(t,m,1+(te15&&(E(t,m,ce[z]>>5&127),m+=ce[z]>>12)}}else ne=S,re=b,ie=C,ae=x;for(var z=0;z255){var le=ue>>18&31;D(t,m,ne[le+257]),m+=re[le+257],le>7&&(E(t,m,ue>>23&31),m+=s[le]);var de=ue&31;D(t,m,ie[de]),m+=ae[de],de>3&&(D(t,m,ue>>5&8191),m+=c[de])}else D(t,m,ne[ue]),m+=re[ue]}return D(t,m,ne[256]),m+re[256]},P=new o([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new i(0),I=function(e,t,n,r,l,u){var d=u.z||e.length,f=new i(r+d+5*(1+Math.ceil(d/7e3))+l),m=f.subarray(r,f.length-l),g=u.l,_=(u.r||0)&7;if(t){_&&(m[0]=u.r>>3);for(var v=P[t-1],y=v>>13,b=v&8191,x=(1<7e3||R>24576)&&(U>423||!g)){_=N(e,m,0,k,A,j,I,R,B,L-B,_),R=F=I=0,B=L;for(var W=0;W<286;++W)A[W]=0;for(var W=0;W<30;++W)j[W]=0}var te=2,ne=0,re=b,ie=ee-H&32767;if(U>2&&V==O(L-ie))for(var ae=Math.min(y,U)-1,oe=Math.min(32767,L),G=Math.min(258,U);ie<=oe&&--re&&ee!=H;){if(e[L+te]==e[L+te-ie]){for(var se=0;sete){if(te=se,ne=ie,se>ae)break;for(var ce=Math.min(ie,se-2),le=0,W=0;Wle&&(le=de,H=ue)}}}ee=H,H=S[ee],ie+=ee-H&32767}if(ne){k[R++]=268435456|p[te]<<18|h[ne];var fe=p[te]&31,pe=h[ne]&31;I+=s[fe]+c[pe],++A[257+fe],++j[pe],z=L+te,++F}else k[R++]=e[L],++A[e[L]]}}for(L=Math.max(L,z);L=d&&(m[_/8|0]=g,me=d),_=M(m,_+1,e.subarray(L,me))}u.i=d}return T(f,0,r+w(_)+l)},L=function(){var e=1,t=0;return{p:function(n){for(var r=e,i=t,a=n.length|0,o=0;o!=a;){for(var s=Math.min(o+2655,a);o>16),i=(i&65535)+15*(i>>16)}e=r,t=i},d:function(){return e%=65521,t%=65521,(e&255)<<24|(e&65280)<<8|(t&255)<<8|t>>8}}},R=function(e,t,n,r,a){if(!a&&(a={l:1},t.dictionary)){var o=t.dictionary.subarray(-32768),s=new i(o.length+e.length);s.set(o),s.set(e,o.length),e=s,a.w=o.length}return I(e,t.level==null?6:t.level,t.mem==null?a.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,r,a)},z=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8},B=function(e,t){var n=t.level,r=n==0?0:n<6?1:n==9?3:2;if(e[0]=120,e[1]=r<<6|(t.dictionary&&32),e[1]|=31-(e[0]<<8|e[1])%31,t.dictionary){var i=L();i.p(t.dictionary),z(e,2,i.d())}};function V(e,t){t||={};var n=L();n.p(e);var r=R(e,t,t.dictionary?6:2,4);return B(r,t),z(r,r.length-4,n.d()),r}var ee=typeof TextDecoder<`u`&&new TextDecoder;try{ee.decode(F,{stream:!0})}catch{}function H(e){if(Array.isArray(e))return e}function U(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function W(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{let e=new Uint8Array(4),t=new Uint32Array(e.buffer);return!((t[0]=1)&e[0])})(),ce={int8:globalThis.Int8Array,uint8:globalThis.Uint8Array,int16:globalThis.Int16Array,uint16:globalThis.Uint16Array,int32:globalThis.Int32Array,uint32:globalThis.Uint32Array,uint64:globalThis.BigUint64Array,int64:globalThis.BigInt64Array,float32:globalThis.Float32Array,float64:globalThis.Float64Array},le=class e{buffer;byteLength;byteOffset;length;offset;lastWrittenByte;littleEndian;_data;_mark;_marks;constructor(t=G,n={}){let r=!1;typeof t==`number`?t=new ArrayBuffer(t):(r=!0,this.lastWrittenByte=t.byteLength);let i=n.offset?n.offset>>>0:0,a=t.byteLength-i,o=i;(ArrayBuffer.isView(t)||t instanceof e)&&(t.byteLength!==t.buffer.byteLength&&(o=t.byteOffset+i),t=t.buffer),r?this.lastWrittenByte=a:this.lastWrittenByte=0,this.buffer=t,this.length=a,this.byteLength=a,this.byteOffset=o,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,o,a),this._mark=0,this._marks=[]}available(e=1){return this.offset+e<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(e=1){return this.offset+=e,this}back(e=1){return this.offset-=e,this}seek(e){return this.offset=e,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){let e=this._marks.pop();if(e===void 0)throw Error(`Mark stack empty`);return this.seek(e),this}rewind(){return this.offset=0,this}ensureAvailable(e=1){if(!this.available(e)){let t=(this.offset+e)*2,n=new Uint8Array(t);n.set(new Uint8Array(this.buffer)),this.buffer=n.buffer,this.length=t,this.byteLength=t,this._data=new DataView(this.buffer)}return this}readBoolean(){return this.readUint8()!==0}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(e=1){return this.readArray(e,`uint8`)}readArray(e,t){let n=ce[t].BYTES_PER_ELEMENT*e,r=this.byteOffset+this.offset,i=this.buffer.slice(r,r+n);if(this.littleEndian===se&&t!==`uint8`&&t!==`int8`){let e=new Uint8Array(this.buffer.slice(r,r+n));e.reverse();let i=new ce[t](e.buffer);return this.offset+=n,i.reverse(),i}let a=new ce[t](i);return this.offset+=n,a}readInt16(){let e=this._data.getInt16(this.offset,this.littleEndian);return this.offset+=2,e}readUint16(){let e=this._data.getUint16(this.offset,this.littleEndian);return this.offset+=2,e}readInt32(){let e=this._data.getInt32(this.offset,this.littleEndian);return this.offset+=4,e}readUint32(){let e=this._data.getUint32(this.offset,this.littleEndian);return this.offset+=4,e}readFloat32(){let e=this._data.getFloat32(this.offset,this.littleEndian);return this.offset+=4,e}readFloat64(){let e=this._data.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e}readBigInt64(){let e=this._data.getBigInt64(this.offset,this.littleEndian);return this.offset+=8,e}readBigUint64(){let e=this._data.getBigUint64(this.offset,this.littleEndian);return this.offset+=8,e}readChar(){return String.fromCharCode(this.readInt8())}readChars(e=1){let t=``;for(let n=0;nthis.lastWrittenByte&&(this.lastWrittenByte=this.offset)}},ue=4,de=0,fe=1,pe=2;function me(e){let t=e.length;for(;--t>=0;)e[t]=0}var he=0,ge=1,_e=2,ve=29,ye=256,be=286,xe=30,Se=19,Ce=573,we=15,Te=16,Ee=7,De=256,Oe=16,ke=17,Ae=18,je=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Me=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Ne=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),K=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Pe=512,Fe=Array(288*2);me(Fe);var Ie=Array(xe*2);me(Ie);var Le=Array(Pe);me(Le);var Re=Array(256);me(Re);var q=Array(ve);me(q);var ze=Array(xe);me(ze);function Be(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var Ve,He,Ue;function We(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var Ge=e=>e<256?Le[e]:Le[256+(e>>>7)],Ke=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},qe=(e,t,n)=>{e.bi_valid>Te-n?(e.bi_buf|=t<>Te-e.bi_valid,e.bi_valid+=n-Te):(e.bi_buf|=t<{qe(e,n[t*2],n[t*2+1])},Ye=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Xe=e=>{e.bi_valid===16?(Ke(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Ze=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=we;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;lc&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},Qe=(e,t,n)=>{let r=Array(16),i=0,a,o;for(a=1;a<=we;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=Ye(r[t]++,t))}},$e=()=>{let e,t,n,r,i,a=Array(16);for(n=0,r=0;r>=7;r{let t;for(t=0;t{e.bi_valid>8?Ke(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},nt=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+ a++]&255,r+=(e.pending_buf[e.sym_buf+ a++]&255)<<8,i=e.pending_buf[e.sym_buf+ a++],r===0?Je(e,i,t):(o=Re[i],Je(e,o+ye+1,t),s=je[o],s!==0&&(i-=q[o],qe(e,i,s)),r--,o=Ge(r),Je(e,o,n),s=Me[o],s!==0&&(r-=ze[o],qe(e,r,s)));while(a{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=Ce,o=0;o>1;o>=1;o--)rt(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],rt(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,rt(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Ze(e,t),Qe(n,c,e.bl_count)},ot=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s{let t;for(ot(e,e.dyn_ltree,e.l_desc.max_code),ot(e,e.dyn_dtree,e.d_desc.max_code),at(e,e.bl_desc),t=Se-1;t>=3&&e.bl_tree[K[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},lt=(e,t,n,r)=>{let i;for(qe(e,t-257,5),qe(e,n-1,5),qe(e,r-4,4),i=0;i{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return de;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return fe;for(n=32;n{dt||=($e(),!0),e.l_desc=new We(e.dyn_ltree,Ve),e.d_desc=new We(e.dyn_dtree,He),e.bl_desc=new We(e.bl_tree,Ue),e.bi_buf=0,e.bi_valid=0,et(e)},pt=(e,t,n,r)=>{qe(e,(he<<1)+ +!!r,3),tt(e),Ke(e,n),Ke(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},mt={_tr_init:ft,_tr_stored_block:pt,_tr_flush_block:(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===pe&&(e.strm.data_type=ut(e)),at(e,e.l_desc),at(e,e.d_desc),o=ct(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?pt(e,t,n,r):e.strategy===ue||a===i?(qe(e,(ge<<1)+ +!!r,3),it(e,Fe,Ie)):(qe(e,(_e<<1)+ +!!r,3),lt(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),it(e,e.dyn_ltree,e.dyn_dtree)),et(e),r&&tt(e)},_tr_tally:(e,t,n)=>(e.pending_buf[e.sym_buf+ e.sym_next++]=t,e.pending_buf[e.sym_buf+ e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+ e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(Re[n]+ye+1)*2]++,e.dyn_dtree[Ge(t)*2]++),e.sym_next===e.sym_end),_tr_align:e=>{qe(e,ge<<1,3),Je(e,De,Fe),Xe(e)}},ht=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0},gt=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t})()),_t=(e,t,n,r)=>{let i=gt,a=r+n;e^=-1;for(let n=r;n>>8^i[(e^t[n])&255];return e^-1},vt={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},yt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:bt,_tr_stored_block:xt,_tr_flush_block:St,_tr_tally:Ct,_tr_align:wt}=mt,{Z_NO_FLUSH:Tt,Z_PARTIAL_FLUSH:J,Z_FULL_FLUSH:Et,Z_FINISH:Dt,Z_BLOCK:Ot,Z_OK:kt,Z_STREAM_END:At,Z_STREAM_ERROR:jt,Z_DATA_ERROR:Mt,Z_BUF_ERROR:Nt,Z_DEFAULT_COMPRESSION:Pt,Z_FILTERED:Ft,Z_HUFFMAN_ONLY:It,Z_RLE:Lt,Z_FIXED:Rt,Z_DEFAULT_STRATEGY:zt,Z_UNKNOWN:Bt,Z_DEFLATED:Vt}=yt,Ht=9,Ut=15,Wt=8,Gt=573,Y=3,Kt=258,qt=262,Jt=32,Yt=42,Xt=57,Zt=69,Qt=73,$t=91,en=103,tn=113,nn=666,rn=1,an=2,on=3,sn=4,cn=3,ln=(e,t)=>(e.msg=vt[t],t),un=e=>e*2-(e>4?9:0),dn=e=>{let t=e.length;for(;--t>=0;)e[t]=0},fn=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)},pn=(e,t,n)=>(t<{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},hn=(e,t)=>{St(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,mn(e.strm)},gn=(e,t)=>{e.pending_buf[e.pending++]=t},_n=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},vn=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=ht(e.adler,t,i,n):e.state.wrap===2&&(e.adler=_t(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},yn=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-qt?e.strstart-(e.w_size-qt):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+Kt,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&ro){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},bn=e=>{let t=e.w_size,n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-qt)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),fn(e),r+=t),e.strm.avail_in===0)break;if(n=vn(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=Y)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=pn(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=pn(e,e.ins_h,e.window[i+Y-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,i,a,o=0,s=e.strm.avail_in;do{if(r=65535,a=e.bi_valid+42>>3,e.strm.avail_outi+e.strm.avail_in&&(r=i+e.strm.avail_in),r>a&&(r=a),r>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,mn(e.strm),i&&(i>r&&(i=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,r-=i),r&&(vn(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(o===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_watera&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(vn(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,i=e.strstart-e.block_start,(i>=n||(i||t===Dt)&&t!==Tt&&e.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=+(t===Dt&&e.strm.avail_in===0&&r===i),xt(e,e.block_start,r,o),e.block_start+=r,mn(e.strm)),o?on:rn)},Sn=(e,t)=>{let n,r;for(;;){if(e.lookahead=Y&&(e.ins_h=pn(e,e.ins_h,e.window[e.strstart+Y-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-qt&&(e.match_length=yn(e,n)),e.match_length>=Y)if(r=Ct(e,e.strstart-e.match_start,e.match_length-Y),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Y){e.match_length--;do e.strstart++,e.ins_h=pn(e,e.ins_h,e.window[e.strstart+Y-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=pn(e,e.ins_h,e.window[e.strstart+1]);else r=Ct(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(hn(e,!1),e.strm.avail_out===0))return rn}return e.insert=e.strstart{let n,r,i;for(;;){if(e.lookahead=Y&&(e.ins_h=pn(e,e.ins_h,e.window[e.strstart+Y-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Y-1,n!==0&&e.prev_length4096)&&(e.match_length=Y-1)),e.prev_length>=Y&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-Y,r=Ct(e,e.strstart-1-e.prev_match,e.prev_length-Y),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=pn(e,e.ins_h,e.window[e.strstart+Y-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Y-1,e.strstart++,r&&(hn(e,!1),e.strm.avail_out===0))return rn}else if(e.match_available){if(r=Ct(e,0,e.window[e.strstart-1]),r&&hn(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return rn}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(r=Ct(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=Kt){if(bn(e),e.lookahead<=Kt&&t===Tt)return rn;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Y&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+Kt;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Y?(n=Ct(e,1,e.match_length-Y),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Ct(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(hn(e,!1),e.strm.avail_out===0))return rn}return e.insert=0,t===Dt?(hn(e,!0),e.strm.avail_out===0?on:sn):e.sym_next&&(hn(e,!1),e.strm.avail_out===0)?rn:an},Tn=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(bn(e),e.lookahead===0)){if(t===Tt)return rn;break}if(e.match_length=0,n=Ct(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(hn(e,!1),e.strm.avail_out===0))return rn}return e.insert=0,t===Dt?(hn(e,!0),e.strm.avail_out===0?on:sn):e.sym_next&&(hn(e,!1),e.strm.avail_out===0)?rn:an};function En(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var Dn=[new En(0,0,0,0,xn),new En(4,4,8,4,Sn),new En(4,5,16,8,Sn),new En(4,6,32,32,Sn),new En(4,4,16,16,Cn),new En(8,16,32,32,Cn),new En(8,16,128,128,Cn),new En(8,32,128,256,Cn),new En(32,128,258,1024,Cn),new En(32,258,258,4096,Cn)],On=e=>{e.window_size=2*e.w_size,dn(e.head),e.max_lazy_match=Dn[e.level].max_lazy,e.good_match=Dn[e.level].good_length,e.nice_match=Dn[e.level].nice_length,e.max_chain_length=Dn[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Y-1,e.match_available=0,e.ins_h=0};function kn(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Vt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Gt*2),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),dn(this.dyn_ltree),dn(this.dyn_dtree),dn(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),dn(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),dn(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var An=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.status!==Yt&&t.status!==Xt&&t.status!==Zt&&t.status!==Qt&&t.status!==$t&&t.status!==en&&t.status!==tn&&t.status!==nn)},jn=e=>{if(An(e))return ln(e,jt);e.total_in=e.total_out=0,e.data_type=Bt;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Xt:t.wrap?Yt:tn,e.adler=t.wrap===2?0:1,t.last_flush=-2,bt(t),kt},Mn=e=>{let t=jn(e);return t===kt&&On(e.state),t},Nn=(e,t)=>An(e)||e.state.wrap!==2?jt:(e.state.gzhead=t,kt),Pn=(e,t,n,r,i,a)=>{if(!e)return jt;let o=1;if(t===Pt&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>Ht||n!==Vt||r<8||r>15||t<0||t>9||a<0||a>Rt||r===8&&o!==1)return ln(e,jt);r===8&&(r=9);let s=new kn;return e.state=s,s.strm=e,s.status=Yt,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<Pn(e,t,Vt,Ut,Wt,zt),deflateInit2:Pn,deflateReset:Mn,deflateResetKeep:jn,deflateSetHeader:Nn,deflate:(e,t)=>{if(An(e)||t>Ot||t<0)return e?ln(e,jt):jt;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===nn&&t!==Dt)return ln(e,e.avail_out===0?Nt:jt);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(mn(e),e.avail_out===0)return n.last_flush=-1,kt}else if(e.avail_in===0&&un(t)<=un(r)&&t!==Dt)return ln(e,Nt);if(n.status===nn&&e.avail_in!==0)return ln(e,Nt);if(n.status===Yt&&n.wrap===0&&(n.status=tn),n.status===Yt){let t=Vt+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=It||n.level<2?0:n.level<6?1:n.level===6?2:3,t|=r<<6,n.strstart!==0&&(t|=Jt),t+=31-t%31,_n(n,t),n.strstart!==0&&(_n(n,e.adler>>>16),_n(n,e.adler&65535)),e.adler=1,n.status=tn,mn(e),n.pending!==0)return n.last_flush=-1,kt}if(n.status===Xt){if(e.adler=0,gn(n,31),gn(n,139),gn(n,8),n.gzhead)gn(n,+!!n.gzhead.text+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),gn(n,n.gzhead.time&255),gn(n,n.gzhead.time>>8&255),gn(n,n.gzhead.time>>16&255),gn(n,n.gzhead.time>>24&255),gn(n,n.level===9?2:n.strategy>=It||n.level<2?4:0),gn(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(gn(n,n.gzhead.extra.length&255),gn(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=_t(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Zt;else if(gn(n,0),gn(n,0),gn(n,0),gn(n,0),gn(n,0),gn(n,n.level===9?2:n.strategy>=It||n.level<2?4:0),gn(n,cn),n.status=tn,mn(e),n.pending!==0)return n.last_flush=-1,kt}if(n.status===Zt){if(n.gzhead.extra){let t=n.pending,r=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let i=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+i),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=_t(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=i,mn(e),n.pending!==0)return n.last_flush=-1,kt;t=0,r-=i}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=_t(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=Qt}if(n.status===Qt){if(n.gzhead.name){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=_t(e.adler,n.pending_buf,n.pending-t,t)),mn(e),n.pending!==0)return n.last_flush=-1,kt;t=0}r=n.gzindext&&(e.adler=_t(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=$t}if(n.status===$t){if(n.gzhead.comment){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=_t(e.adler,n.pending_buf,n.pending-t,t)),mn(e),n.pending!==0)return n.last_flush=-1,kt;t=0}r=n.gzindext&&(e.adler=_t(e.adler,n.pending_buf,n.pending-t,t))}n.status=en}if(n.status===en){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(mn(e),n.pending!==0))return n.last_flush=-1,kt;gn(n,e.adler&255),gn(n,e.adler>>8&255),e.adler=0}if(n.status=tn,mn(e),n.pending!==0)return n.last_flush=-1,kt}if(e.avail_in!==0||n.lookahead!==0||t!==Tt&&n.status!==nn){let r=n.level===0?xn(n,t):n.strategy===It?Tn(n,t):n.strategy===Lt?wn(n,t):Dn[n.level].func(n,t);if((r===on||r===sn)&&(n.status=nn),r===rn||r===on)return e.avail_out===0&&(n.last_flush=-1),kt;if(r===an&&(t===J?wt(n):t!==Ot&&(xt(n,0,0,!1),t===Et&&(dn(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),mn(e),e.avail_out===0))return n.last_flush=-1,kt}return t===Dt?n.wrap<=0?At:(n.wrap===2?(gn(n,e.adler&255),gn(n,e.adler>>8&255),gn(n,e.adler>>16&255),gn(n,e.adler>>24&255),gn(n,e.total_in&255),gn(n,e.total_in>>8&255),gn(n,e.total_in>>16&255),gn(n,e.total_in>>24&255)):(_n(n,e.adler>>>16),_n(n,e.adler&65535)),mn(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending===0?At:kt):kt},deflateEnd:e=>{if(An(e))return jt;let t=e.state.status;return e.state=null,t===tn?ln(e,Mt):kt},deflateSetDictionary:(e,t)=>{let n=t.length;if(An(e))return jt;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==Yt||r.lookahead)return jt;if(i===1&&(e.adler=ht(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(dn(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,bn(r);r.lookahead>=Y;){let e=r.strstart,t=r.lookahead-(Y-1);do r.ins_h=pn(r,r.ins_h,r.window[e+Y-1]),r.prev[e&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=e,e++;while(--t);r.strstart=e,r.lookahead=Y-1,bn(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Y-1,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,kt},deflateInfo:`pako deflate (from Nodeca project)`},In=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ln={assign:function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!=`object`)throw TypeError(n+`must be non-object`);for(let t in n)In(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,r=e.length;n=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;zn[254]=zn[254]=1;var Bn=e=>{if(typeof TextEncoder==`function`&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,i,a,o=e.length,s=0;for(i=0;i>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t},Vn=(e,t)=>{if(t<65534&&e.subarray&&Rn)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n=``;for(let r=0;r{let n=t||e.length;if(typeof TextDecoder==`function`&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,i,a=Array(n*2);for(i=0,r=0;r4){a[i++]=65533,r+=o-1;continue}for(t&=o===2?31:o===3?15:7;o>1&&r1){a[i++]=65533;continue}t<65536?a[i++]=t:(t-=65536,a[i++]=55296|t>>10&1023,a[i++]=56320|t&1023)}return Vn(a,i)},utf8border:(e,t)=>{t||=e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+zn[e[n]]>t?n:t}};function Un(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}var Wn=Un,Gn=Object.prototype.toString,{Z_NO_FLUSH:Kn,Z_SYNC_FLUSH:qn,Z_FULL_FLUSH:Jn,Z_FINISH:Yn,Z_OK:Xn,Z_STREAM_END:Zn,Z_DEFAULT_COMPRESSION:Qn,Z_DEFAULT_STRATEGY:$n,Z_DEFLATED:er}=yt;function tr(e){this.options=Ln.assign({level:Qn,method:er,chunkSize:16384,windowBits:15,memLevel:8,strategy:$n},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new Wn,this.strm.avail_out=0;let n=Fn.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Xn)throw Error(vt[n]);if(t.header&&Fn.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e=typeof t.dictionary==`string`?Hn.string2buf(t.dictionary):Gn.call(t.dictionary)===`[object ArrayBuffer]`?new Uint8Array(t.dictionary):t.dictionary,n=Fn.deflateSetDictionary(this.strm,e),n!==Xn)throw Error(vt[n]);this._dict_set=!0}}tr.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=t===~~t?t:t===!0?Yn:Kn,typeof e==`string`?n.input=Hn.string2buf(e):Gn.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===qn||a===Jn)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=Fn.deflate(n,a),i===Zn)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=Fn.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Xn;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0},tr.prototype.onData=function(e){this.chunks.push(e)},tr.prototype.onEnd=function(e){e===Xn&&(this.result=Ln.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function nr(e,t){let n=new tr(t);if(n.push(e,!0),n.err)throw n.msg||vt[n.err];return n.result}function rr(e,t){return t||={},t.raw=!0,nr(e,t)}function ir(e,t){return t||={},t.gzip=!0,nr(e,t)}var ar={Deflate:tr,deflate:nr,deflateRaw:rr,gzip:ir,constants:yt},or=16209,sr=16191,cr=function(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p>>=y,p-=y),p<15&&(f+=w[n++]<>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,ps){e.msg=`invalid distance too far back`,E.mode=or;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=or;break top}if(S=0,C=d,u===0){if(S+=c-y,y2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=or;break top}else{v=h[(v&65535)+(f&(1<>3,n-=b,p-=b<<3,f&=(1<{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T,E=new Uint16Array(16),D=new Uint16Array(16),O=null,k,A,j;for(l=0;l<=lr;l++)E[l]=0;for(u=0;u=1&&E[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d0&&(e===fr||f!==1))return-1;for(D[1]=0,l=1;lur||e===mr&&_>dr)return 1;for(;;){k=l-h,o[u]+1=T?(A=O[o[u]-T],j=w[o[u]-T]):(A=96,j=0),y=1<>h)+b]=k<<24|A<<16|j|0;while(b!==0);for(y=1<>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--E[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<ur||e===mr&&_>dr)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0},br=0,xr=1,Sr=2,{Z_FINISH:Cr,Z_BLOCK:wr,Z_TREES:Tr,Z_OK:Er,Z_STREAM_END:Dr,Z_NEED_DICT:Or,Z_STREAM_ERROR:kr,Z_DATA_ERROR:Ar,Z_MEM_ERROR:jr,Z_BUF_ERROR:Mr,Z_DEFLATED:Nr}=yt,Pr=16180,Fr=16181,Ir=16182,Lr=16183,Rr=16184,zr=16185,Br=16186,Vr=16187,Hr=16188,Ur=16189,Wr=16190,Gr=16191,Kr=16192,qr=16193,Jr=16194,Yr=16195,Xr=16196,Zr=16197,Qr=16198,$r=16199,ei=16200,ti=16201,ni=16202,ri=16203,ii=16204,ai=16205,oi=16206,si=16207,ci=16208,li=16209,ui=16210,di=16211,fi=852,pi=592,mi=15,hi=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function gi(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var _i=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.modedi)},vi=e=>{if(_i(e))return kr;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=Pr,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(fi),t.distcode=t.distdyn=new Int32Array(pi),t.sane=1,t.back=-1,Er},yi=e=>{if(_i(e))return kr;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,vi(e)},bi=(e,t)=>{let n;if(_i(e))return kr;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?kr:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,yi(e))},xi=(e,t)=>{if(!e)return kr;let n=new gi;e.state=n,n.strm=e,n.window=null,n.mode=Pr;let r=bi(e,t);return r!==Er&&(e.state=null),r},Si=e=>xi(e,mi),Ci=!0,wi,Ti,Ei=e=>{if(Ci){wi=new Int32Array(512),Ti=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(yr(xr,e.lens,0,288,wi,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;yr(Sr,e.lens,0,32,Ti,0,e.work,{bits:5}),Ci=!1}e.lencode=wi,e.lenbits=9,e.distcode=Ti,e.distbits=5},Di=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(_i(e)||!e.output||!e.input&&e.avail_in!==0)return kr;n=e.state,n.mode===Gr&&(n.mode=Kr),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=Er;inf_leave:for(;;)switch(n.mode){case Pr:if(n.wrap===0){n.mode=Kr;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<>>8&255,n.check=_t(n.check,T,2,0),l=0,u=0,n.mode=Fr;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=li;break}if((l&15)!==Nr){e.msg=`unknown compression method`,n.mode=li;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0&&(n.wbits=C),C>15||C>n.wbits){e.msg=`invalid window size`,n.mode=li;break}n.dmax=1<>8&1),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=_t(n.check,T,2,0)),l=0,u=0,n.mode=Ir;case Ir:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=_t(n.check,T,4,0)),l=0,u=0,n.mode=Lr;case Lr:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<>8),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=_t(n.check,T,2,0)),l=0,u=0,n.mode=Rr;case Rr:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<>>8&255,n.check=_t(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=zr;case zr:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&n.wrap&4&&(n.check=_t(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=Br;case Br:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Gr;break;case Ur:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<>>=u&7,u-=u&7,n.mode=oi;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<>>=1,--u,l&3){case 0:n.mode=qr;break;case 1:if(Ei(n),n.mode=$r,t===Tr){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=Xr;break;case 3:e.msg=`invalid block type`,n.mode=li}l>>>=2,u-=2;break;case qr:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=li;break}if(n.length=l&65535,l=0,u=0,n.mode=Jr,t===Tr)break inf_leave;case Jr:n.mode=Yr;case Yr:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=Gr;break;case Xr:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=li;break}n.have=0,n.mode=Zr;case Zr:for(;n.have>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=yr(br,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=li;break}n.have=0,n.mode=Qr;case Qr:for(;n.have>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=li;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=li;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===li)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=li;break}if(n.lenbits=9,E={bits:n.lenbits},w=yr(xr,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=li;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=yr(Sr,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=li;break}if(n.mode=$r,t===Tr)break inf_leave;case $r:n.mode=ei;case ei:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,cr(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===Gr&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=ai;break}if(v&32){n.back=-1,n.mode=Gr;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=li;break}n.extra=v&15,n.mode=ti;case ti:if(n.extra){for(D=n.extra;u>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ni;case ni:for(;g=n.distcode[l&(1<>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=li;break}n.offset=y,n.extra=v&15,n.mode=ri;case ri:if(n.extra){for(D=n.extra;u>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=li;break}n.mode=ii;case ii:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=li;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=ei);break;case ai:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=ei;break;case oi:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<{if(_i(e))return kr;let t=e.state;return t.window&&=null,e.state=null,Er},inflateGetHeader:(e,t)=>{if(_i(e))return kr;let n=e.state;return n.wrap&2?(n.head=t,t.done=!1,Er):kr},inflateSetDictionary:(e,t)=>{let n=t.length,r,i,a;return _i(e)||(r=e.state,r.wrap!==0&&r.mode!==Wr)?kr:r.mode===Wr&&(i=1,i=ht(i,t,n,0),i!==r.check)?Ar:(a=Di(e,t,n,n),a?(r.mode=ui,jr):(r.havedict=1,Er))},inflateInfo:`pako inflate (from Nodeca project)`};function ki(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}var Ai=ki,ji=Object.prototype.toString,{Z_NO_FLUSH:Mi,Z_FINISH:Ni,Z_OK:Pi,Z_STREAM_END:Fi,Z_NEED_DICT:Ii,Z_STREAM_ERROR:Li,Z_DATA_ERROR:Ri,Z_MEM_ERROR:zi}=yt;function Bi(e){this.options=Ln.assign({chunkSize:1024*64,windowBits:15,to:``},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new Wn,this.strm.avail_out=0;let n=Oi.inflateInit2(this.strm,t.windowBits);if(n!==Pi||(this.header=new Ai,Oi.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary==`string`?t.dictionary=Hn.string2buf(t.dictionary):ji.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Oi.inflateSetDictionary(this.strm,t.dictionary),n!==Pi))))throw Error(vt[n])}Bi.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i=this.options.dictionary,a,o,s;if(this.ended)return!1;for(o=t===~~t?t:t===!0?Ni:Mi,ji.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=Oi.inflate(n,o),a===Ii&&i&&(a=Oi.inflateSetDictionary(n,i),a===Pi?a=Oi.inflate(n,o):a===Ri&&(a=Ii));n.avail_in>0&&a===Fi&&n.state.wrap>0&&e[n.next_in]!==0;)Oi.inflateReset(n),a=Oi.inflate(n,o);switch(a){case Li:case Ri:case Ii:case zi:return this.onEnd(a),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||a===Fi))if(this.options.to===`string`){let e=Hn.utf8border(n.output,n.next_out),t=n.next_out-e,i=Hn.buf2string(n.output,e);n.next_out=t,n.avail_out=r-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===Pi&&s===0)){if(a===Fi)return a=Oi.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},Bi.prototype.onData=function(e){this.chunks.push(e)},Bi.prototype.onEnd=function(e){e===Pi&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=Ln.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Vi(e,t){let n=new Bi(t);if(n.push(e),n.err)throw n.msg||vt[n.err];return n.result}function Hi(e,t){return t||={},t.raw=!0,Vi(e,t)}var Ui={Inflate:Bi,inflate:Vi,inflateRaw:Hi,ungzip:Vi,constants:yt},{Deflate:Wi,deflate:Gi,deflateRaw:Ki,gzip:qi}=ar,{Inflate:Ji,inflate:Yi,inflateRaw:Xi,ungzip:Zi}=Ui,Qi=Ji,$i=Yi,ea=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t&1?t=3988292384^t>>>1:t>>>=1;ea[e]=t}var ta=4294967295;function na(e,t,n){let r=e;for(let e=0;e>>8;return r}function ra(e,t){return(na(ta,e,t)^ta)>>>0}function ia(e,t,n){let r=e.readUint32(),i=ra(new Uint8Array(e.buffer,e.byteOffset+e.offset-t-4,t),t);if(i!==r)throw Error(`CRC mismatch for chunk ${n}. Expected ${r}, found ${i}`)}function aa(e,t,n){for(let r=0;r>1)&255}else{for(;a>1)&255;for(;a>1)&255}}function la(e,t,n,r,i){let a=0;if(n.length===0){for(;a=n||o>=r))for(let e=0;e>8&255}var ga=new Uint16Array([255]),_a=new Uint8Array(ga.buffer)[0]===255,va=new Uint8Array;function ya(e){let{data:t,width:n,height:r,channels:i,depth:a}=e,o=Math.ceil(a/8)*i,s=Math.ceil(a/8*i*n),c=new Uint8Array(r*s),l=va,u=0,d,f;for(let e=0;e>8&255}var xa=Uint8Array.of(137,80,78,71,13,10,26,10);function Sa(e){if(!Ca(e.readBytes(xa.length)))throw Error(`wrong PNG signature`)}function Ca(e){if(e.length79)throw Error(`keyword length must be between 1 and 79`)}var Oa=/^[\u0000-\u00FF]*$/;function ka(e){if(!Oa.test(e))throw Error(`invalid latin1 text`)}function Aa(e,t,n){let r=ja(t);e[r]=Ma(t,n-r.length-1)}function ja(e){for(e.mark();e.readByte()!==Ta;);let t=e.offset;e.reset();let n=Ea.decode(e.readBytes(t-e.offset-1));return e.skip(1),Da(n),n}function Ma(e,t){return Ea.decode(e.readBytes(t))}var Na={UNKNOWN:-1,GREYSCALE:0,TRUECOLOUR:2,INDEXED_COLOUR:3,GREYSCALE_ALPHA:4,TRUECOLOUR_ALPHA:6},Pa={UNKNOWN:-1,DEFLATE:0},Fa={UNKNOWN:-1,ADAPTIVE:0},Ia={UNKNOWN:-1,NO_INTERLACE:0,ADAM7:1},La={NONE:0,BACKGROUND:1,PREVIOUS:2},Ra={SOURCE:0,OVER:1},za=class extends le{_checkCrc;_inflator;_png;_apng;_end;_hasPalette;_palette;_hasTransparency;_transparency;_compressionMethod;_filterMethod;_interlaceMethod;_colorType;_isAnimated;_numberOfFrames;_numberOfPlays;_frames;_writingDataChunks;constructor(e,t={}){super(e);let{checkCrc:n=!1}=t;this._checkCrc=n,this._inflator=new Qi,this._png={width:-1,height:-1,channels:-1,data:new Uint8Array,depth:1,text:{}},this._apng={width:-1,height:-1,channels:-1,depth:1,numberOfFrames:1,numberOfPlays:0,text:{},frames:[]},this._end=!1,this._hasPalette=!1,this._palette=[],this._hasTransparency=!1,this._transparency=new Uint16Array,this._compressionMethod=Pa.UNKNOWN,this._filterMethod=Fa.UNKNOWN,this._interlaceMethod=Ia.UNKNOWN,this._colorType=Na.UNKNOWN,this._isAnimated=!1,this._numberOfFrames=1,this._numberOfPlays=0,this._frames=[],this._writingDataChunks=!1,this.setBigEndian()}decode(){for(Sa(this);!this._end;){let e=this.readUint32(),t=this.readChars(4);this.decodeChunk(e,t)}return this.decodeImage(),this._png}decodeApng(){for(Sa(this);!this._end;){let e=this.readUint32(),t=this.readChars(4);this.decodeApngChunk(e,t)}return this.decodeApngImage(),this._apng}decodeChunk(e,t){let n=this.offset;switch(t){case`IHDR`:this.decodeIHDR();break;case`PLTE`:this.decodePLTE(e);break;case`IDAT`:this.decodeIDAT(e);break;case`IEND`:this._end=!0;break;case`tRNS`:this.decodetRNS(e);break;case`iCCP`:this.decodeiCCP(e);break;case wa:Aa(this._png.text,this,e);break;case`pHYs`:this.decodepHYs();break;default:this.skip(e);break}if(this.offset-n!==e)throw Error(`Length mismatch while decoding chunk ${t}`);this._checkCrc?ia(this,e+4,t):this.skip(4)}decodeApngChunk(e,t){let n=this.offset;switch(t!==`fdAT`&&t!==`IDAT`&&this._writingDataChunks&&this.pushDataToFrame(),t){case`acTL`:this.decodeACTL();break;case`fcTL`:this.decodeFCTL();break;case`fdAT`:this.decodeFDAT(e);break;default:this.decodeChunk(e,t),this.offset=n+e;break}if(this.offset-n!==e)throw Error(`Length mismatch while decoding chunk ${t}`);this._checkCrc?ia(this,e+4,t):this.skip(4)}decodeIHDR(){let e=this._png;e.width=this.readUint32(),e.height=this.readUint32(),e.depth=Ba(this.readUint8());let t=this.readUint8();this._colorType=t;let n;switch(t){case Na.GREYSCALE:n=1;break;case Na.TRUECOLOUR:n=3;break;case Na.INDEXED_COLOUR:n=1;break;case Na.GREYSCALE_ALPHA:n=2;break;case Na.TRUECOLOUR_ALPHA:n=4;break;case Na.UNKNOWN:default:throw Error(`Unknown color type: ${t}`)}if(this._png.channels=n,this._compressionMethod=this.readUint8(),this._compressionMethod!==Pa.DEFLATE)throw Error(`Unsupported compression method: ${this._compressionMethod}`);this._filterMethod=this.readUint8(),this._interlaceMethod=this.readUint8()}decodeACTL(){this._numberOfFrames=this.readUint32(),this._numberOfPlays=this.readUint32(),this._isAnimated=!0}decodeFCTL(){let e={sequenceNumber:this.readUint32(),width:this.readUint32(),height:this.readUint32(),xOffset:this.readUint32(),yOffset:this.readUint32(),delayNumber:this.readUint16(),delayDenominator:this.readUint16(),disposeOp:this.readUint8(),blendOp:this.readUint8(),data:new Uint8Array};this._frames.push(e)}decodePLTE(e){if(e%3!=0)throw RangeError(`PLTE field length must be a multiple of 3. Got ${e}`);let t=e/3;this._hasPalette=!0;let n=[];this._palette=n;for(let e=0;ethis._png.width*this._png.height)throw Error(`tRNS chunk contains more alpha values than there are pixels (${e/2} vs ${this._png.width*this._png.height})`);this._hasTransparency=!0,this._transparency=new Uint16Array(e/2);for(let t=0;tthis._palette.length)throw Error(`tRNS chunk contains more alpha values than there are palette colors (${e} vs ${this._palette.length})`);let t=0;for(;t({index:((e+t.yOffset)*this._png.width+t.xOffset+n)*this._png.channels,frameIndex:(e*t.width+n)*this._png.channels});switch(t.blendOp){case Ra.SOURCE:for(let n=0;n=200&&t.status<=299}function qa(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{var t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var Ja=X.saveAs||((typeof window>`u`?`undefined`:n(window))!==`object`||window!==X?function(){}:typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype?function(e,t,n){var r=X.URL||X.webkitURL,i=document.createElement(`a`);t=t||e.name||`download`,i.download=t,i.rel=`noopener`,typeof e==`string`?(i.href=e,i.origin===location.origin?qa(i):Ka(i.href)?Ga(e,t,n):qa(i,i.target=`_blank`)):(i.href=r.createObjectURL(e),setTimeout(function(){r.revokeObjectURL(i.href)},4e4),setTimeout(function(){qa(i)},0))}:`msSaveOrOpenBlob`in navigator?function(e,t,r){if(t=t||e.name||`download`,typeof e==`string`)if(Ka(e))Ga(e,t,r);else{var i=document.createElement(`a`);i.href=e,i.target=`_blank`,setTimeout(function(){qa(i)})}else navigator.msSaveOrOpenBlob(function(e,t){return t===void 0?t={autoBom:!1}:n(t)!==`object`&&(Wa.warn(`Deprecated: Expected third argument to be a object`),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([`ο»Ώ`,e],{type:e.type}):e}(e,r),t)}:function(e,t,r,i){if((i||=open(``,`_blank`))&&(i.document.title=i.document.body.innerText=`downloading...`),typeof e==`string`)return Ga(e,t,r);var a=e.type===`application/octet-stream`,o=/constructor/i.test(X.HTMLElement)||X.safari,s=/CriOS\/[\d]+/.test(navigator.userAgent);if((s||a&&o)&&(typeof FileReader>`u`?`undefined`:n(FileReader))===`object`){var c=new FileReader;c.onloadend=function(){var e=c.result;e=s?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),i?i.location.href=e:location=e,i=null},c.readAsDataURL(e)}else{var l=X.URL||X.webkitURL,u=l.createObjectURL(e);i?i.location=u:location.href=u,i=null,setTimeout(function(){l.revokeObjectURL(u)},4e4)}});function Ya(e){var t;e||=``,this.ok=!1,e.charAt(0)==`#`&&(e=e.substr(1,6)),e={aliceblue:`f0f8ff`,antiquewhite:`faebd7`,aqua:`00ffff`,aquamarine:`7fffd4`,azure:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`000000`,blanchedalmond:`ffebcd`,blue:`0000ff`,blueviolet:`8a2be2`,brown:`a52a2a`,burlywood:`deb887`,cadetblue:`5f9ea0`,chartreuse:`7fff00`,chocolate:`d2691e`,coral:`ff7f50`,cornflowerblue:`6495ed`,cornsilk:`fff8dc`,crimson:`dc143c`,cyan:`00ffff`,darkblue:`00008b`,darkcyan:`008b8b`,darkgoldenrod:`b8860b`,darkgray:`a9a9a9`,darkgreen:`006400`,darkkhaki:`bdb76b`,darkmagenta:`8b008b`,darkolivegreen:`556b2f`,darkorange:`ff8c00`,darkorchid:`9932cc`,darkred:`8b0000`,darksalmon:`e9967a`,darkseagreen:`8fbc8f`,darkslateblue:`483d8b`,darkslategray:`2f4f4f`,darkturquoise:`00ced1`,darkviolet:`9400d3`,deeppink:`ff1493`,deepskyblue:`00bfff`,dimgray:`696969`,dodgerblue:`1e90ff`,feldspar:`d19275`,firebrick:`b22222`,floralwhite:`fffaf0`,forestgreen:`228b22`,fuchsia:`ff00ff`,gainsboro:`dcdcdc`,ghostwhite:`f8f8ff`,gold:`ffd700`,goldenrod:`daa520`,gray:`808080`,green:`008000`,greenyellow:`adff2f`,honeydew:`f0fff0`,hotpink:`ff69b4`,indianred:`cd5c5c`,indigo:`4b0082`,ivory:`fffff0`,khaki:`f0e68c`,lavender:`e6e6fa`,lavenderblush:`fff0f5`,lawngreen:`7cfc00`,lemonchiffon:`fffacd`,lightblue:`add8e6`,lightcoral:`f08080`,lightcyan:`e0ffff`,lightgoldenrodyellow:`fafad2`,lightgrey:`d3d3d3`,lightgreen:`90ee90`,lightpink:`ffb6c1`,lightsalmon:`ffa07a`,lightseagreen:`20b2aa`,lightskyblue:`87cefa`,lightslateblue:`8470ff`,lightslategray:`778899`,lightsteelblue:`b0c4de`,lightyellow:`ffffe0`,lime:`00ff00`,limegreen:`32cd32`,linen:`faf0e6`,magenta:`ff00ff`,maroon:`800000`,mediumaquamarine:`66cdaa`,mediumblue:`0000cd`,mediumorchid:`ba55d3`,mediumpurple:`9370d8`,mediumseagreen:`3cb371`,mediumslateblue:`7b68ee`,mediumspringgreen:`00fa9a`,mediumturquoise:`48d1cc`,mediumvioletred:`c71585`,midnightblue:`191970`,mintcream:`f5fffa`,mistyrose:`ffe4e1`,moccasin:`ffe4b5`,navajowhite:`ffdead`,navy:`000080`,oldlace:`fdf5e6`,olive:`808000`,olivedrab:`6b8e23`,orange:`ffa500`,orangered:`ff4500`,orchid:`da70d6`,palegoldenrod:`eee8aa`,palegreen:`98fb98`,paleturquoise:`afeeee`,palevioletred:`d87093`,papayawhip:`ffefd5`,peachpuff:`ffdab9`,peru:`cd853f`,pink:`ffc0cb`,plum:`dda0dd`,powderblue:`b0e0e6`,purple:`800080`,red:`ff0000`,rosybrown:`bc8f8f`,royalblue:`4169e1`,saddlebrown:`8b4513`,salmon:`fa8072`,sandybrown:`f4a460`,seagreen:`2e8b57`,seashell:`fff5ee`,sienna:`a0522d`,silver:`c0c0c0`,skyblue:`87ceeb`,slateblue:`6a5acd`,slategray:`708090`,snow:`fffafa`,springgreen:`00ff7f`,steelblue:`4682b4`,tan:`d2b48c`,teal:`008080`,thistle:`d8bfd8`,tomato:`ff6347`,turquoise:`40e0d0`,violet:`ee82ee`,violetred:`d02090`,wheat:`f5deb3`,white:`ffffff`,whitesmoke:`f5f5f5`,yellow:`ffff00`,yellowgreen:`9acd32`}[e=(e=e.replace(/ /g,``)).toLowerCase()]||e;for(var n=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:[`rgb(123, 234, 45)`,`rgb(255,234,245)`],process:function(e){return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:[`#00ff00`,`336699`],process:function(e){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:[`#fb0`,`f0f`],process:function(e){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}}],r=0;r255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return`rgb(`+this.r+`, `+this.g+`, `+this.b+`)`},this.toHex=function(){var e=this.r.toString(16),t=this.g.toString(16),n=this.b.toString(16);return e.length==1&&(e=`0`+e),t.length==1&&(t=`0`+t),n.length==1&&(n=`0`+n),`#`+e+t+n}}var Xa=X.atob.bind(X),Za=X.btoa.bind(X);function Qa(e,t){var n=e[0],r=e[1],i=e[2],a=e[3];n=eo(n,r,i,a,t[0],7,-680876936),a=eo(a,n,r,i,t[1],12,-389564586),i=eo(i,a,n,r,t[2],17,606105819),r=eo(r,i,a,n,t[3],22,-1044525330),n=eo(n,r,i,a,t[4],7,-176418897),a=eo(a,n,r,i,t[5],12,1200080426),i=eo(i,a,n,r,t[6],17,-1473231341),r=eo(r,i,a,n,t[7],22,-45705983),n=eo(n,r,i,a,t[8],7,1770035416),a=eo(a,n,r,i,t[9],12,-1958414417),i=eo(i,a,n,r,t[10],17,-42063),r=eo(r,i,a,n,t[11],22,-1990404162),n=eo(n,r,i,a,t[12],7,1804603682),a=eo(a,n,r,i,t[13],12,-40341101),i=eo(i,a,n,r,t[14],17,-1502002290),n=to(n,r=eo(r,i,a,n,t[15],22,1236535329),i,a,t[1],5,-165796510),a=to(a,n,r,i,t[6],9,-1069501632),i=to(i,a,n,r,t[11],14,643717713),r=to(r,i,a,n,t[0],20,-373897302),n=to(n,r,i,a,t[5],5,-701558691),a=to(a,n,r,i,t[10],9,38016083),i=to(i,a,n,r,t[15],14,-660478335),r=to(r,i,a,n,t[4],20,-405537848),n=to(n,r,i,a,t[9],5,568446438),a=to(a,n,r,i,t[14],9,-1019803690),i=to(i,a,n,r,t[3],14,-187363961),r=to(r,i,a,n,t[8],20,1163531501),n=to(n,r,i,a,t[13],5,-1444681467),a=to(a,n,r,i,t[2],9,-51403784),i=to(i,a,n,r,t[7],14,1735328473),n=no(n,r=to(r,i,a,n,t[12],20,-1926607734),i,a,t[5],4,-378558),a=no(a,n,r,i,t[8],11,-2022574463),i=no(i,a,n,r,t[11],16,1839030562),r=no(r,i,a,n,t[14],23,-35309556),n=no(n,r,i,a,t[1],4,-1530992060),a=no(a,n,r,i,t[4],11,1272893353),i=no(i,a,n,r,t[7],16,-155497632),r=no(r,i,a,n,t[10],23,-1094730640),n=no(n,r,i,a,t[13],4,681279174),a=no(a,n,r,i,t[0],11,-358537222),i=no(i,a,n,r,t[3],16,-722521979),r=no(r,i,a,n,t[6],23,76029189),n=no(n,r,i,a,t[9],4,-640364487),a=no(a,n,r,i,t[12],11,-421815835),i=no(i,a,n,r,t[15],16,530742520),n=ro(n,r=no(r,i,a,n,t[2],23,-995338651),i,a,t[0],6,-198630844),a=ro(a,n,r,i,t[7],10,1126891415),i=ro(i,a,n,r,t[14],15,-1416354905),r=ro(r,i,a,n,t[5],21,-57434055),n=ro(n,r,i,a,t[12],6,1700485571),a=ro(a,n,r,i,t[3],10,-1894986606),i=ro(i,a,n,r,t[10],15,-1051523),r=ro(r,i,a,n,t[1],21,-2054922799),n=ro(n,r,i,a,t[8],6,1873313359),a=ro(a,n,r,i,t[15],10,-30611744),i=ro(i,a,n,r,t[6],15,-1560198380),r=ro(r,i,a,n,t[13],21,1309151649),n=ro(n,r,i,a,t[4],6,-145523070),a=ro(a,n,r,i,t[11],10,-1120210379),i=ro(i,a,n,r,t[2],15,718787259),r=ro(r,i,a,n,t[9],21,-343485551),e[0]=fo(n,e[0]),e[1]=fo(r,e[1]),e[2]=fo(i,e[2]),e[3]=fo(a,e[3])}function $a(e,t,n,r,i,a){return t=fo(fo(t,e),fo(r,a)),fo(t<>>32-i,n)}function eo(e,t,n,r,i,a,o){return $a(t&n|~t&r,e,t,i,a,o)}function to(e,t,n,r,i,a,o){return $a(t&r|n&~r,e,t,i,a,o)}function no(e,t,n,r,i,a,o){return $a(t^n^r,e,t,i,a,o)}function ro(e,t,n,r,i,a,o){return $a(n^(t|~r),e,t,i,a,o)}function io(e){var t,n=e.length,r=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=e.length;t+=64)Qa(r,ao(e.substring(t-64,t)));e=e.substring(t-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t>2]|=e.charCodeAt(t)<<(t%4<<3);if(i[t>>2]|=128<<(t%4<<3),t>55)for(Qa(r,i),t=0;t<16;t++)i[t]=0;return i[14]=8*n,Qa(r,i),r}function ao(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n}var oo=`0123456789abcdef`.split(``);function so(e){for(var t=``,n=0;n<4;n++)t+=oo[e>>8*n+4&15]+oo[e>>8*n&15];return t}function co(e){return String.fromCharCode(255&e,(65280&e)>>8,(16711680&e)>>16,(4278190080&e)>>24)}function lo(e){return io(e).map(co).join(``)}var uo=function(e){for(var t=0;t>16)+(t>>16)+(n>>16)<<16|65535&n}return e+t&4294967295}function po(e,t){var n,r,i,a;if(e!==n){for(var o=(i=e,a=1+(256/e.length|0),Array(a+1).join(i)),s=[],c=0;c<256;c++)s[c]=c;var l=0;for(c=0;c<256;c++){var u=s[c];l=(l+u+o.charCodeAt(c))%256,s[c]=s[l],s[l]=u}n=e,r=s}else s=r;var d=t.length,f=0,p=0,m=``;for(c=0;cΒ€/\f©þdSiz`;var a=(t+this.padding).substr(0,32),o=(n+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=lo(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(r)).substr(0,5),this.U=po(this.encryptionKey,this.padding)}function go(e){if(/[^\u0000-\u00ff]/.test(e))throw Error(`Invalid PDF Name Object: `+e+`, Only accept ASCII characters.`);for(var t=``,n=e.length,r=0;r126?`#`+(`0`+i.toString(16)).slice(-2):e[r]}return t}function _o(e){if(n(e)!==`object`)throw Error(`Invalid Context passed to initialize PubSub (jsPDF-module)`);var t={};this.subscribe=function(e,n,r){if(r||=!1,typeof e!=`string`||typeof n!=`function`||typeof r!=`boolean`)throw Error(`Invalid arguments passed to PubSub.subscribe (jsPDF-module)`);t.hasOwnProperty(e)||(t[e]={});var i=Math.random().toString(35);return t[e][i]=[n,!!r],i},this.unsubscribe=function(e){for(var n in t)if(t[n][e])return delete t[n][e],Object.keys(t[n]).length===0&&delete t[n],!0;return!1},this.publish=function(n){if(t.hasOwnProperty(n)){var r=Array.prototype.slice.call(arguments,1),i=[];for(var a in t[n]){var o=t[n][a];try{o[0].apply(e,r)}catch(e){X.console&&Wa.error(`jsPDF PubSub Error`,e.message,e)}o[1]&&i.push(a)}i.length&&i.forEach(this.unsubscribe)}},this.getTopics=function(){return t}}function vo(e){if(!(this instanceof vo))return new vo(e);var t=`opacity,stroke-opacity`.split(`,`);for(var n in e)e.hasOwnProperty(n)&&t.indexOf(n)>=0&&(this[n]=e[n]);this.id=``,this.objectNumber=-1}function yo(e,t){this.gState=e,this.matrix=t,this.id=``,this.objectNumber=-1}function bo(e,t,n,r,i){if(!(this instanceof bo))return new bo(e,t,n,r,i);this.type=e===`axial`?2:3,this.coords=t,this.colors=n,yo.call(this,r,i)}function xo(e,t,n,r,i){if(!(this instanceof xo))return new xo(e,t,n,r,i);this.boundingBox=e,this.xStep=t,this.yStep=n,this.stream=``,this.cloneIndex=0,yo.call(this,r,i)}function Z(e){var t,r=typeof arguments[0]==`string`?arguments[0]:`p`,i=arguments[1],a=arguments[2],o=arguments[3],s=[],c=1,l=16,u=`S`,d=null;n(e||={})===`object`&&(r=e.orientation,i=e.unit||i,a=e.format||a,o=e.compress||e.compressPdf||o,(d=e.encryption||null)!==null&&(d.userPassword=d.userPassword||``,d.ownerPassword=d.ownerPassword||``,d.userPermissions=d.userPermissions||[]),c=typeof e.userUnit==`number`?Math.abs(e.userUnit):1,e.precision!==void 0&&(t=e.precision),e.floatPrecision!==void 0&&(l=e.floatPrecision),u=e.defaultPathOperation||`S`),s=e.filters||(!0===o?[`FlateEncode`]:s),i||=`mm`,r=(``+(r||`P`)).toLowerCase();var f=e.putOnlyUsedFonts||!1,p={},m={internal:{},__private__:{}};m.__private__.PubSub=_o;var h=`1.3`,g=m.__private__.getPdfVersion=function(){return h};m.__private__.setPdfVersion=function(e){h=e};var _={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};m.__private__.getPageFormats=function(){return _};var v=m.__private__.getPageFormat=function(e){return _[e]};a||=`a4`;var y=`compat`,b=`advanced`,x=y;function S(){this.saveGraphicsState(),G(new q(xe,0,0,-xe,0,bn()*xe).toString()+` cm`),this.setFontSize(this.getFontSize()/xe),u=`n`,x=b}function C(){this.restoreGraphicsState(),u=`S`,x=y}var w=m.__private__.combineFontStyleAndFontWeight=function(e,t){if(e==`bold`&&t==`normal`||e==`bold`&&t==400||e==`normal`&&t==`italic`||e==`bold`&&t==`italic`)throw Error(`Invalid Combination of fontweight and fontstyle`);return t&&(e=t==400||t===`normal`?e===`italic`?`italic`:`normal`:t!=700&&t!==`bold`||e!==`normal`?(t==700?`bold`:t)+``+e:`bold`),e};m.advancedAPI=function(e){var t=x===y;return t&&S.call(this),typeof e!=`function`||(e(this),t&&C.call(this)),this},m.compatAPI=function(e){var t=x===b;return t&&C.call(this),typeof e!=`function`||(e(this),t&&S.call(this)),this},m.isAdvancedAPI=function(){return x===b};var T,E=function(e){if(x!==b)throw Error(e+` is only available in 'advanced' API mode. You need to call advancedAPI() first.`)},D=m.roundToPrecision=m.__private__.roundToPrecision=function(e,n){var r=t||n;if(isNaN(e)||isNaN(r))throw Error(`Invalid argument passed to jsPDF.roundToPrecision`);return e.toFixed(r).replace(/0+$/,``)};T=m.hpf=m.__private__.hpf=typeof l==`number`?function(e){if(isNaN(e))throw Error(`Invalid argument passed to jsPDF.hpf`);return D(e,l)}:l===`smart`?function(e){if(isNaN(e))throw Error(`Invalid argument passed to jsPDF.hpf`);return D(e,e>-1&&e<1?16:5)}:function(e){if(isNaN(e))throw Error(`Invalid argument passed to jsPDF.hpf`);return D(e,16)};var O=m.f2=m.__private__.f2=function(e){if(isNaN(e))throw Error(`Invalid argument passed to jsPDF.f2`);return D(e,2)},k=m.__private__.f3=function(e){if(isNaN(e))throw Error(`Invalid argument passed to jsPDF.f3`);return D(e,3)},A=m.scale=m.__private__.scale=function(e){if(isNaN(e))throw Error(`Invalid argument passed to jsPDF.scale`);return x===y?e*xe:x===b?e:void 0},j=function(e){return A(function(e){return x===y?bn()-e:x===b?e:void 0}(e))};m.__private__.setPrecision=m.setPrecision=function(e){typeof parseInt(e,10)==`number`&&(t=parseInt(e,10))};var M,N=`00000000000000000000000000000000`,P=m.__private__.getFileId=function(){return N},F=m.__private__.setFileId=function(e){return N=e!==void 0&&/^[a-fA-F0-9]{32}$/.test(e)?e.toUpperCase():N.split(``).map(function(){return`ABCDEF0123456789`.charAt(Math.floor(16*Math.random()))}).join(``),d!==null&&(Et=new ho(d.userPermissions,d.userPassword,d.ownerPassword,N)),N};m.setFileId=function(e){return F(e),this},m.getFileId=function(){return P()};var I=m.__private__.convertDateToPDFDate=function(e){var t=e.getTimezoneOffset(),n=t<0?`+`:`-`,r=Math.floor(Math.abs(t/60)),i=Math.abs(t%60),a=[n,V(r),`'`,V(i),`'`].join(``);return[`D:`,e.getFullYear(),V(e.getMonth()+1),V(e.getDate()),V(e.getHours()),V(e.getMinutes()),V(e.getSeconds()),a].join(``)},L=m.__private__.convertPDFDateToDate=function(e){var t=parseInt(e.substr(2,4),10),n=parseInt(e.substr(6,2),10)-1,r=parseInt(e.substr(8,2),10),i=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),o=parseInt(e.substr(14,2),10);return new Date(t,n,r,i,a,o,0)},R=m.__private__.setCreationDate=function(e){var t;if(e===void 0&&(e=new Date),e instanceof Date)t=I(e);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(e))throw Error(`Invalid argument passed to jsPDF.setCreationDate`);t=e}return M=t},z=m.__private__.getCreationDate=function(e){var t=M;return e===`jsDate`&&(t=L(M)),t};m.setCreationDate=function(e){return R(e),this},m.getCreationDate=function(e){return z(e)};var B,V=m.__private__.padd2=function(e){return(`0`+parseInt(e)).slice(-2)},ee=m.__private__.padd2Hex=function(e){return(`00`+(e=e.toString())).substr(e.length)},H=0,U=[],W=[],te=0,ne=[],re=[],ie=!1,ae=W;m.__private__.setCustomOutputDestination=function(e){ie=!0,ae=e};var oe=function(e){ie||(ae=e)};m.__private__.resetCustomOutputDestination=function(){ie=!1,ae=W};var G=m.__private__.out=function(e){return e=e.toString(),te+=e.length+1,ae.push(e),ae},se=m.__private__.write=function(e){return G(arguments.length===1?e.toString():Array.prototype.join.call(arguments,` `))},ce=m.__private__.getArrayBuffer=function(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n);t--;)r[t]=e.charCodeAt(t);return n},le=[[`Helvetica`,`helvetica`,`normal`,`WinAnsiEncoding`],[`Helvetica-Bold`,`helvetica`,`bold`,`WinAnsiEncoding`],[`Helvetica-Oblique`,`helvetica`,`italic`,`WinAnsiEncoding`],[`Helvetica-BoldOblique`,`helvetica`,`bolditalic`,`WinAnsiEncoding`],[`Courier`,`courier`,`normal`,`WinAnsiEncoding`],[`Courier-Bold`,`courier`,`bold`,`WinAnsiEncoding`],[`Courier-Oblique`,`courier`,`italic`,`WinAnsiEncoding`],[`Courier-BoldOblique`,`courier`,`bolditalic`,`WinAnsiEncoding`],[`Times-Roman`,`times`,`normal`,`WinAnsiEncoding`],[`Times-Bold`,`times`,`bold`,`WinAnsiEncoding`],[`Times-Italic`,`times`,`italic`,`WinAnsiEncoding`],[`Times-BoldItalic`,`times`,`bolditalic`,`WinAnsiEncoding`],[`ZapfDingbats`,`zapfdingbats`,`normal`,null],[`Symbol`,`symbol`,`normal`,null]];m.__private__.getStandardFonts=function(){return le};var ue=e.fontSize||16;m.__private__.setFontSize=m.setFontSize=function(e){return ue=x===b?e/xe:e,this};var de,fe=m.__private__.getFontSize=m.getFontSize=function(){return x===y?ue:ue*xe},pe=e.R2L||!1;m.__private__.setR2L=m.setR2L=function(e){return pe=e,this},m.__private__.getR2L=m.getR2L=function(){return pe};var me,he=m.__private__.setZoomMode=function(e){if(/^(?:\d+\.\d*|\d*\.\d+|\d+)%$/.test(e))de=e;else if(isNaN(e)){if([void 0,null,`fullwidth`,`fullheight`,`fullpage`,`original`].indexOf(e)===-1)throw Error(`zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. "`+e+`" is not recognized.`);de=e}else de=parseInt(e,10)};m.__private__.getZoomMode=function(){return de};var ge,_e=m.__private__.setPageMode=function(e){if([void 0,null,`UseNone`,`UseOutlines`,`UseThumbs`,`FullScreen`].indexOf(e)==-1)throw Error(`Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "`+e+`" is not recognized.`);me=e};m.__private__.getPageMode=function(){return me};var ve=m.__private__.setLayoutMode=function(e){if([void 0,null,`continuous`,`single`,`twoleft`,`tworight`,`two`].indexOf(e)==-1)throw Error(`Layout mode must be one of continuous, single, twoleft, tworight. "`+e+`" is not recognized.`);ge=e};m.__private__.getLayoutMode=function(){return ge},m.__private__.setDisplayMode=m.setDisplayMode=function(e,t,n){return he(e),ve(t),_e(n),this};var ye={title:``,subject:``,author:``,keywords:``,creator:``};m.__private__.getDocumentProperty=function(e){if(Object.keys(ye).indexOf(e)===-1)throw Error(`Invalid argument passed to jsPDF.getDocumentProperty`);return ye[e]},m.__private__.getDocumentProperties=function(){return ye},m.__private__.setDocumentProperties=m.setProperties=m.setDocumentProperties=function(e){for(var t in ye)ye.hasOwnProperty(t)&&e[t]&&(ye[t]=e[t]);return this},m.__private__.setDocumentProperty=function(e,t){if(Object.keys(ye).indexOf(e)===-1)throw Error(`Invalid arguments passed to jsPDF.setDocumentProperty`);return ye[e]=t};var be,xe,Se,Ce,we,Te={},Ee={},De=[],Oe={},ke={},Ae={},je={},Me=null,Ne=0,K=[],Pe=new _o(m),Fe=e.hotfixes||[],Ie={},Le={},Re=[],q=function e(t,n,r,i,a,o){if(!(this instanceof e))return new e(t,n,r,i,a,o);isNaN(t)&&(t=1),isNaN(n)&&(n=0),isNaN(r)&&(r=0),isNaN(i)&&(i=1),isNaN(a)&&(a=0),isNaN(o)&&(o=0),this._matrix=[t,n,r,i,a,o]};Object.defineProperty(q.prototype,"sx",{get:function(){return this._matrix[0]},set:function(e){this._matrix[0]=e}}),Object.defineProperty(q.prototype,"shy",{get:function(){return this._matrix[1]},set:function(e){this._matrix[1]=e}}),Object.defineProperty(q.prototype,"shx",{get:function(){return this._matrix[2]},set:function(e){this._matrix[2]=e}}),Object.defineProperty(q.prototype,"sy",{get:function(){return this._matrix[3]},set:function(e){this._matrix[3]=e}}),Object.defineProperty(q.prototype,"tx",{get:function(){return this._matrix[4]},set:function(e){this._matrix[4]=e}}),Object.defineProperty(q.prototype,"ty",{get:function(){return this._matrix[5]},set:function(e){this._matrix[5]=e}}),Object.defineProperty(q.prototype,"a",{get:function(){return this._matrix[0]},set:function(e){this._matrix[0]=e}}),Object.defineProperty(q.prototype,"b",{get:function(){return this._matrix[1]},set:function(e){this._matrix[1]=e}}),Object.defineProperty(q.prototype,"c",{get:function(){return this._matrix[2]},set:function(e){this._matrix[2]=e}}),Object.defineProperty(q.prototype,"d",{get:function(){return this._matrix[3]},set:function(e){this._matrix[3]=e}}),Object.defineProperty(q.prototype,"e",{get:function(){return this._matrix[4]},set:function(e){this._matrix[4]=e}}),Object.defineProperty(q.prototype,"f",{get:function(){return this._matrix[5]},set:function(e){this._matrix[5]=e}}),Object.defineProperty(q.prototype,"rotation",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(q.prototype,"scaleX",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(q.prototype,"scaleY",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(q.prototype,"isIdentity",{get:function(){return this.sx===1&&this.shy===0&&this.shx===0&&this.sy===1&&this.tx===0&&this.ty===0}}),q.prototype.join=function(e){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(T).join(e)},q.prototype.multiply=function(e){return new q(e.sx*this.sx+e.shy*this.shx,e.sx*this.shy+e.shy*this.sy,e.shx*this.sx+e.sy*this.shx,e.shx*this.shy+e.sy*this.sy,e.tx*this.sx+e.ty*this.shx+this.tx,e.tx*this.shy+e.ty*this.sy+this.ty)},q.prototype.decompose=function(){var e=this.sx,t=this.shy,n=this.shx,r=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(e*e+t*t),s=(e/=o)*n+(t/=o)*r;n-=e*s,r-=t*s;var c=Math.sqrt(n*n+r*r);return s/=c,e*(r/=c)>16&255,i=l>>8&255,a=255&l}if(i===void 0||o===void 0&&r===i&&i===a)t=typeof r==`string`?r+` `+s[0]:e.precision===2?O(r/255)+` `+s[0]:k(r/255)+` `+s[0];else if(o===void 0||n(o)===`object`){if(o&&!isNaN(o.a)&&o.a===0)return[`1.`,`1.`,`1.`,s[1]].join(` `);t=typeof r==`string`?[r,i,a,s[1]].join(` `):e.precision===2?[O(r/255),O(i/255),O(a/255),s[1]].join(` `):[k(r/255),k(i/255),k(a/255),s[1]].join(` `)}else t=typeof r==`string`?[r,i,a,o,s[2]].join(` `):e.precision===2?[O(r),O(i),O(a),O(o),s[2]].join(` `):[k(r),k(i),k(a),k(o),s[2]].join(` `);return t},Ze=m.__private__.getFilters=function(){return s},Qe=m.__private__.putStream=function(e){var t=(e||={}).data||``,n=e.filters||Ze(),r=e.alreadyAppliedFilters||[],i=e.addLength1||!1,a=t.length,o=e.objectId,s=function(e){return e};if(d!==null&&o===void 0)throw Error(`ObjectId must be passed to putStream for file encryption`);d!==null&&(s=Et.encryptor(o,0));var c={};!0===n&&(n=[`FlateEncode`]);var l=e.additionalKeyValues||[],u=(c=Z.API.processDataByFilters===void 0?{data:t,reverseChain:[]}:Z.API.processDataByFilters(t,n)).reverseChain+(Array.isArray(r)?r.join(` `):r.toString());if(c.data.length!==0&&(l.push({key:`Length`,value:c.data.length}),!0===i&&l.push({key:`Length1`,value:a})),u.length!=0)if(u.split(`/`).length-1==1)l.push({key:`Filter`,value:u});else{l.push({key:`Filter`,value:`[`+u+`]`});for(var f=0;f>`),c.data.length!==0&&(G(`stream`),G(s(c.data)),G(`endstream`))},$e=m.__private__.putPage=function(e){var t=e.number,n=e.data,r=e.objId,i=e.contentsObjId;Ge(r,!0),G(`<>`),G(`endobj`);var a=n.join(` `);return x===b&&(a+=` @@ -39,7 +39,7 @@ T* `):e.join(` Tj `),t}},Cross:{createAppearanceStream:function(e){var t={D:{Off:$.RadioButton.Cross.OffPushDown},N:{}};return t.N[e]=$.RadioButton.Cross.YesNormal,t.D[e]=$.RadioButton.Cross.YesPushDown,t},getCA:function(){return`8`},YesNormal:function(e){var t=Ao(e);t.scope=e.scope;var n=[],r=$.internal.calculateCross(e);return n.push(`q`),n.push(`1 1 `+Q($.internal.getWidth(e)-2)+` `+Q($.internal.getHeight(e)-2)+` re`),n.push(`W`),n.push(`n`),n.push(Q(r.x1.x)+` `+Q(r.x1.y)+` m`),n.push(Q(r.x2.x)+` `+Q(r.x2.y)+` l`),n.push(Q(r.x4.x)+` `+Q(r.x4.y)+` m`),n.push(Q(r.x3.x)+` `+Q(r.x3.y)+` l`),n.push(`s`),n.push(`Q`),t.stream=n.join(` `),t},YesPushDown:function(e){var t=Ao(e);t.scope=e.scope;var n=$.internal.calculateCross(e),r=[];return r.push(`0.749023 g`),r.push(`0 0 `+Q($.internal.getWidth(e))+` `+Q($.internal.getHeight(e))+` re`),r.push(`f`),r.push(`q`),r.push(`1 1 `+Q($.internal.getWidth(e)-2)+` `+Q($.internal.getHeight(e)-2)+` re`),r.push(`W`),r.push(`n`),r.push(Q(n.x1.x)+` `+Q(n.x1.y)+` m`),r.push(Q(n.x2.x)+` `+Q(n.x2.y)+` l`),r.push(Q(n.x4.x)+` `+Q(n.x4.y)+` m`),r.push(Q(n.x3.x)+` `+Q(n.x3.y)+` l`),r.push(`s`),r.push(`Q`),t.stream=r.join(` `),t},OffPushDown:function(e){var t=Ao(e);t.scope=e.scope;var n=[];return n.push(`0.749023 g`),n.push(`0 0 `+Q($.internal.getWidth(e))+` `+Q($.internal.getHeight(e))+` re`),n.push(`f`),t.stream=n.join(` -`),t}}},createDefaultAppearanceStream:function(e){var t=e.scope.internal.getFont(e.fontName,e.fontStyle).id,n=e.scope.__private__.encodeColorString(e.color);return`/`+t+` `+e.fontSize+` Tf `+n}};$.internal={Bezier_C:.551915024494,calculateCross:function(e){var t=$.internal.getWidth(e),n=$.internal.getHeight(e),r=Math.min(t,n);return{x1:{x:(t-r)/2,y:(n-r)/2+r},x2:{x:(t-r)/2+r,y:(n-r)/2},x3:{x:(t-r)/2,y:(n-r)/2},x4:{x:(t-r)/2+r,y:(n-r)/2+r}}}},$.internal.getWidth=function(e){var t=0;return n(e)===`object`&&(t=ko(e.Rect[2])),t},$.internal.getHeight=function(e){var t=0;return n(e)===`object`&&(t=ko(e.Rect[3])),t};var ss=So.addField=function(e){if(Uo(this,e),!(e instanceof Yo))throw Error(`Invalid argument passed to jsPDF.addField.`);var t;return(t=e).scope.internal.acroformPlugin.printedOut&&(t.scope.internal.acroformPlugin.printedOut=!1,t.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),t.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t),e.page=e.scope.internal.getCurrentPageInfo().pageNumber,this};So.AcroFormChoiceField=Xo,So.AcroFormListBox=Zo,So.AcroFormComboBox=Qo,So.AcroFormEditBox=$o,So.AcroFormButton=es,So.AcroFormPushButton=ts,So.AcroFormRadioButton=ns,So.AcroFormCheckBox=is,So.AcroFormTextField=as,So.AcroFormPasswordField=os,So.AcroFormAppearance=$,So.AcroForm={ChoiceField:Xo,ListBox:Zo,ComboBox:Qo,EditBox:$o,Button:es,PushButton:ts,RadioButton:ns,CheckBox:is,TextField:as,PasswordField:os,Appearance:$},Z.AcroForm={ChoiceField:Xo,ListBox:Zo,ComboBox:Qo,EditBox:$o,Button:es,PushButton:ts,RadioButton:ns,CheckBox:is,TextField:as,PasswordField:os,Appearance:$},Z.AcroForm;function cs(e){return e.reduce(function(e,t,n){return e[t]=n,e},{})}(function(e){var t=`addImage_`;e.__addimage__={};var r=`UNKNOWN`,i={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},a=e.__addimage__.getImageFileTypeByImageData=function(e,t){var n,a,o,s,c,l=r;if((t||=r)===`RGBA`||e.data!==void 0&&e.data instanceof Uint8ClampedArray&&`height`in e&&`width`in e)return`RGBA`;if(C(e))for(c in i)for(o=i[c],n=0;n>`}),`transparency`in t&&Array.isArray(t.transparency)&&t.transparency.length>0){for(var o=``,s=0,c=t.transparency.length;s>`,m.content=i;var v=m.objId+` 0 R`;i=`<>`,h.content=i,this.internal.write(m.objId,`0 R`,h.objId,`0 R`);break;case`freetext`:r=`/Rect [`+a(n.bounds.x)+` `+o(n.bounds.y)+` `+a(n.bounds.x+n.bounds.w)+` `+o(n.bounds.y+n.bounds.h)+`] `;var y=`font: Helvetica,sans-serif 12.0pt; text-align:left; color:#`+(n.color||`#000000`);i=`<>`,this.internal.write(i);break;case`link`:if(n.options.name){var b=this.annotations._nameMap[n.options.name];n.options.pageNumber=b.page,n.options.top=b.y}else n.options.top||(n.options.top=0);if(r=`/Rect [`+n.finalBounds.x+` `+n.finalBounds.y+` `+n.finalBounds.w+` `+n.finalBounds.h+`] `,i=``,n.options.url)i=`<>`;else if(n.options.pageNumber)switch(i=`<>`,this.internal.write(i))}}this.internal.write(`]`)}}]),e.createAnnotation=function(e){var t=this.internal.getCurrentPageInfo();switch(e.type){case`link`:this.link(e.bounds.x,e.bounds.y,e.bounds.w,e.bounds.h,e);break;case`text`:case`freetext`:t.pageContext.annotations.push(e)}},e.link=function(e,t,n,r,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(e),y:s(t),w:o(e+n),h:s(t+r)},options:i,type:`link`})},e.textWithLink=function(e,t,n,r){var i,a,o=this.getTextWidth(e),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(r.maxWidth!==void 0){a=r.maxWidth;var c=this.splitTextToSize(e,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(e,t,n,r),n+=.2*s,r.align===`center`&&(t-=o/2),r.align===`right`&&(t-=o),this.link(t,n-s,a,i,r),o},e.getTextWidth=function(e){var t=this.internal.getFontSize();return this.getStringUnitWidth(e)*t/this.internal.scaleFactor}}(Z.API),function(e){var t={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},n={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];e.__arabicParser__={};var a=e.__arabicParser__.isInArabicSubstitutionA=function(e){return t[e.charCodeAt(0)]!==void 0},o=e.__arabicParser__.isArabicLetter=function(e){return typeof e==`string`&&/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(e)},s=e.__arabicParser__.isArabicEndLetter=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length<=2},c=e.__arabicParser__.isArabicAlfLetter=function(e){return o(e)&&i.indexOf(e.charCodeAt(0))>=0};e.__arabicParser__.arabicLetterHasIsolatedForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length>=1};var l=e.__arabicParser__.arabicLetterHasFinalForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length>=2};e.__arabicParser__.arabicLetterHasInitialForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length>=3};var u=e.__arabicParser__.arabicLetterHasMedialForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length==4},d=e.__arabicParser__.resolveLigatures=function(e){var t=0,r=n,i=``,a=0;for(t=0;t>`),this.internal.out(`endobj`)}),this.internal.events.subscribe(`putCatalog`,function(){this.internal.out(`/OpenAction `+t+` 0 R`)})),this},function(e){var t=function(){var e=void 0;Object.defineProperty(this,"pdf",{get:function(){return e},set:function(t){e=t}});var t=150;Object.defineProperty(this,"width",{get:function(){return t},set:function(e){t=isNaN(e)||!1===Number.isInteger(e)||e<0?150:e,this.getContext(`2d`).pageWrapXEnabled&&(this.getContext(`2d`).pageWrapX=t+1)}});var n=300;Object.defineProperty(this,"height",{get:function(){return n},set:function(e){n=isNaN(e)||!1===Number.isInteger(e)||e<0?300:e,this.getContext(`2d`).pageWrapYEnabled&&(this.getContext(`2d`).pageWrapY=n+1)}});var r=[];Object.defineProperty(this,"childNodes",{get:function(){return r},set:function(e){r=e}});var i={};Object.defineProperty(this,"style",{get:function(){return i},set:function(e){i=e}}),Object.defineProperty(this,"parentNode",{})};t.prototype.getContext=function(e,t){var n;if((e||=`2d`)!==`2d`)return null;for(n in t)this.pdf.context2d.hasOwnProperty(n)&&(this.pdf.context2d[n]=t[n]);return this.pdf.context2d._canvas=this,this.pdf.context2d},t.prototype.toDataURL=function(){throw Error(`toDataURL is not implemented.`)},e.events.push([`initialized`,function(){this.canvas=new t,this.canvas.pdf=this}])}(Z.API),function(e){var t={left:0,top:0,bottom:0,right:0},r=!1,i=function(){this.internal.__cell__===void 0&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},t),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var e=arguments[0];Object.defineProperty(this,"x",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var t=arguments[1];Object.defineProperty(this,"y",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var n=arguments[2];Object.defineProperty(this,"width",{enumerable:!0,get:function(){return n},set:function(e){n=e}});var r=arguments[3];Object.defineProperty(this,"height",{enumerable:!0,get:function(){return r},set:function(e){r=e}});var i=arguments[4];Object.defineProperty(this,"text",{enumerable:!0,get:function(){return i},set:function(e){i=e}});var a=arguments[5];Object.defineProperty(this,"lineNumber",{enumerable:!0,get:function(){return a},set:function(e){a=e}});var o=arguments[6];return Object.defineProperty(this,"align",{enumerable:!0,get:function(){return o},set:function(e){o=e}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(e){return i.call(this),this.internal.__cell__.headerFunction=typeof e==`function`?e:void 0,this},e.getTextDimensions=function(e,t){i.call(this);var n=(t||={}).fontSize||this.getFontSize(),r=t.font||this.getFont(),a=t.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,l=this;if(!Array.isArray(e)&&typeof e!=`string`){if(typeof e!=`number`)throw Error(`getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.`);e=String(e)}var u=t.maxWidth;u>0?typeof e==`string`?e=this.splitTextToSize(e,u):Object.prototype.toString.call(e)===`[object Array]`&&(e=e.reduce(function(e,t){return e.concat(l.splitTextToSize(t,u))},[])):e=Array.isArray(e)?e:[e];for(var d=0;dthis.getPageHeight()?(this.cellAddPage(),e.y=s.top,l&&c&&(this.printHeaderRow(e.lineNumber,!0),e.y+=c[0].height)):e.y=n.y+n.height||e.y),e.text[0]!==void 0&&(this.rect(e.x,e.y,e.width,e.height,!0===r?`FD`:void 0),e.align===`right`?this.text(e.text,e.x+e.width-a,e.y+a,{align:`right`,baseline:`top`}):e.align===`center`?this.text(e.text,e.x+e.width/2,e.y+a,{align:`center`,baseline:`top`,maxWidth:e.width-a-a}):this.text(e.text,e.x+a,e.y+a,{align:`left`,baseline:`top`,maxWidth:e.width-a-a})),this.internal.__cell__.lastCell=e,this};e.table=function(e,r,l,u,d){if(i.call(this),!l)throw Error(`No data for PDF table.`);var f,p,m,h,g=[],_=[],v=[],y={},b={},x=[],S=[],C=(d||={}).autoSize||!1,w=!1!==d.printHeaders,T=d.css&&d.css[`font-size`]!==void 0?16*d.css[`font-size`]:d.fontSize||12,E=d.margins||Object.assign({width:this.getPageWidth()},t),D=typeof d.padding==`number`?d.padding:3,O=d.headerBackgroundColor||`#c8c8c8`,k=d.headerTextColor||`#000`;if(a.call(this),this.internal.__cell__.printHeaders=w,this.internal.__cell__.margins=E,this.internal.__cell__.table_font_size=T,this.internal.__cell__.padding=D,this.internal.__cell__.headerBackgroundColor=O,this.internal.__cell__.headerTextColor=k,this.setFontSize(T),u==null)_=g=Object.keys(l[0]),v=g.map(function(){return`left`});else if(Array.isArray(u)&&n(u[0])===`object`)for(g=u.map(function(e){return e.name}),_=u.map(function(e){return e.prompt||e.name||``}),v=u.map(function(e){return e.align||`left`}),f=0;f0&&this.setTableHeaderRow(c),this.setFont(void 0,`normal`),r=!1}}(Z.API);var ls={italic:[`italic`,`oblique`,`normal`],oblique:[`oblique`,`italic`,`normal`],normal:[`normal`,`oblique`,`italic`]},us=[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`],ds=cs(us),fs=[100,200,300,400,500,600,700,800,900],ps=cs(fs);function ms(e){var t=e.family.replace(/"|'/g,``).toLowerCase(),n=function(e){return ls[e||=`normal`]?e:`normal`}(e.style),r=function(e){return e?typeof e==`number`?e>=100&&e<=900&&e%100==0?e:400:/^\d00$/.test(e)?parseInt(e):e===`bold`?700:400:400}(e.weight),i=function(e){return typeof ds[e||=`normal`]==`number`?e:`normal`}(e.stretch);return{family:t,style:n,weight:r,stretch:i,src:e.src||[],ref:e.ref||{name:t,style:[i,n,r].join(` `)}}}function hs(e,t,n,r){var i;for(i=n;i>=0&&i=0&&i>>1)&255}return i}function Ns(e,t,n){var r=e.length,i=[];i[0]=4;for(var a=0;a>a&o}function Ls(e,t,n,r){var i=n*r,a=Math.floor(i/8),o=16-(i-8*a+r),s=(1<>8&255;e.setUint8(t,r)}})(e,a,Rs(e,a)&~(s<>7,o=1<<1+(7&i);e[t++],e[t++];var s=null,c=null;a&&(s=t,c=o,t+=3*o);var l=!0,u=[],d=0,f=null,p=0,m=null;for(this.width=n,this.height=r;l&&t=0))throw Error(`Invalid block size`);if(D===0)break;t+=D}break;case 249:if(e[t++]!==4||e[t+4]!==0)throw Error(`Invalid graphics extension block.`);var h=e[t++];d=e[t++]|e[t++]<<8,f=e[t++],1&h||(f=null),p=h>>2&7,t++;break;case 254:for(;;){if(!((D=e[t++])>=0))throw Error(`Invalid block size`);if(D===0)break;t+=D}break;default:throw Error(`Unknown graphic control label: 0x`+e[t-1].toString(16))}break;case 44:var g=e[t++]|e[t++]<<8,_=e[t++]|e[t++]<<8,v=e[t++]|e[t++]<<8,y=e[t++]|e[t++]<<8,b=e[t++],x=b>>6&1,S=1<<1+(7&b),C=s,w=c,T=!1;b>>7&&(T=!0,C=t,w=S,t+=3*S);var E=t;for(t++;;){var D;if(!((D=e[t++])>=0))throw Error(`Invalid block size`);if(D===0)break;t+=D}u.push({x:g,y:_,width:v,height:y,has_local_palette:T,palette_offset:C,palette_size:w,data_offset:E,data_length:t-E,transparent_index:f,interlaced:!!x,delay:d,disposal:p});break;case 59:l=!1;break;default:throw Error(`Unknown gif block: 0x`+e[t-1].toString(16))}this.numFrames=function(){return u.length},this.loopCount=function(){return m},this.frameInfo=function(e){if(e<0||e>=u.length)throw Error(`Frame index out of range.`);return u[e]},this.decodeAndBlitFrameBGRA=function(t,r){var i=this.frameInfo(t),a=i.width*i.height;if(a>536870912)throw Error(`Image dimensions exceed 512MB, which is too large.`);var o=new Uint8Array(a);Bs(e,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;c===null&&(c=256);var l=i.width,u=n-l,d=l,f=4*(i.y*n+i.x),p=4*((i.y+i.height)*n+i.x),m=f,h=4*u;!0===i.interlaced&&(h+=4*n*7);for(var g=8,_=0,v=o.length;_=p&&(h=4*u+4*n*(g-1),m=f+(l+u)*(g<<1),g>>=1)),y===c)m+=4;else{var b=e[s+3*y],x=e[s+3*y+1],S=e[s+3*y+2];r[m++]=S,r[m++]=x,r[m++]=b,r[m++]=255}--d}},this.decodeAndBlitFrameRGBA=function(t,r){var i=this.frameInfo(t),a=i.width*i.height;if(a>536870912)throw Error(`Image dimensions exceed 512MB, which is too large.`);var o=new Uint8Array(a);Bs(e,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;c===null&&(c=256);var l=i.width,u=n-l,d=l,f=4*(i.y*n+i.x),p=4*((i.y+i.height)*n+i.x),m=f,h=4*u;!0===i.interlaced&&(h+=4*n*7);for(var g=8,_=0,v=o.length;_=p&&(h=4*u+4*n*(g-1),m=f+(l+u)*(g<<1),g>>=1)),y===c)m+=4;else{var b=e[s+3*y],x=e[s+3*y+1],S=e[s+3*y+2];r[m++]=b,r[m++]=x,r[m++]=S,r[m++]=255}--d}}}function Bs(e,t,n,r){for(var i=e[t++],a=1<>=c,u-=c,g!==a){if(g===o)break;for(var _=ga;)y=m[y]>>8,++v;var b=y;if(f+v+(_===g?0:1)>r)return void Wa.log(`Warning, gif stream longer than expected.`);n[f++]=b;var x=f+=v;for(_!==g&&(n[f++]=b),y=_;v--;)y=m[y],n[--x]=255&y,y>>=8;h!==null&&s<4096&&(m[s++]=h<<8|b,s>=l+1&&c<12&&(++c,l=l<<1|1)),h=g}else s=o+1,l=(1<<(c=i+1))-1,h=null}return f!==r&&Wa.log(`Warning, gif stream shorter than expected.`),n}function Vs(e){var t,n,r,i,a,o=Math.floor,s=Array(64),c=Array(64),l=Array(64),u=Array(64),d=Array(65535),f=Array(65535),p=Array(64),m=Array(64),h=[],g=0,_=7,v=Array(64),y=Array(64),b=Array(64),x=Array(256),S=Array(2048),C=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],w=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],T=[0,1,2,3,4,5,6,7,8,9,10,11],E=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],D=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],O=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],k=[0,1,2,3,4,5,6,7,8,9,10,11],A=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],j=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function M(e,t){for(var n=0,r=0,i=[],a=1;a<=16;a++){for(var o=1;o<=e[a];o++)i[t[r]]=[],i[t[r]][0]=n,i[t[r]][1]=a,r++,n++;n*=2}return i}function N(e){for(var t=e[0],n=e[1]-1;n>=0;)t&1<>8&255),P(255&e)}function I(e,t,n,r,i){for(var a,o=i[0],s=i[240],c=function(e,t){var n,r,i,a,o,s,c,l,u,d,f=0;for(u=0;u<8;++u){n=e[f],r=e[f+1],i=e[f+2],a=e[f+3],o=e[f+4],s=e[f+5],c=e[f+6];var m=n+(l=e[f+7]),h=n-l,g=r+c,_=r-c,v=i+s,y=i-s,b=a+o,x=a-o,S=m+b,C=m-b,w=g+v,T=g-v;e[f]=S+w,e[f+4]=S-w;var E=.707106781*(T+C);e[f+2]=C+E,e[f+6]=C-E;var D=.382683433*((S=x+y)-(T=_+h)),O=.5411961*S+D,k=1.306562965*T+D,A=.707106781*(w=y+_),j=h+A,M=h-A;e[f+5]=M+O,e[f+3]=M-O,e[f+1]=j+k,e[f+7]=j-k,f+=8}for(f=0,u=0;u<8;++u){n=e[f],r=e[f+8],i=e[f+16],a=e[f+24],o=e[f+32],s=e[f+40],c=e[f+48];var N=n+(l=e[f+56]),P=n-l,F=r+c,I=r-c,L=i+s,R=i-s,z=a+o,B=a-o,V=N+z,ee=N-z,H=F+L,U=F-L;e[f]=V+H,e[f+32]=V-H;var W=.707106781*(U+ee);e[f+16]=ee+W,e[f+48]=ee-W;var te=.382683433*((V=B+R)-(U=I+P)),ne=.5411961*V+te,re=1.306562965*U+te,ie=.707106781*(H=R+I),ae=P+ie,oe=P-ie;e[f+40]=oe+ne,e[f+24]=oe-ne,e[f+8]=ae+re,e[f+56]=ae-re,f++}for(u=0;u<64;++u)d=e[u]*t[u],p[u]=d>0?d+.5|0:d-.5|0;return p}(e,t),l=0;l<64;++l)m[C[l]]=c[l];var u=m[0]-n;n=m[0],u==0?N(r[0]):(N(r[f[a=32767+u]]),N(d[a]));for(var h=63;h>0&&m[h]==0;)h--;if(h==0)return N(o),n;for(var g,_=1;_<=h;){for(var v=_;m[_]==0&&_<=h;)++_;var y=_-v;if(y>=16){g=y>>4;for(var b=1;b<=g;++b)N(s);y&=15}a=32767+m[_],N(i[(y<<4)+f[a]]),N(d[a]),_++}return h!=63&&N(o),n}function L(e){e=Math.min(Math.max(e,1),100),a!=e&&(function(e){for(var t=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],n=0;n<64;n++){var r=o((t[n]*e+50)/100);r=Math.min(Math.max(r,1),255),s[C[n]]=r}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var d=o((i[a]*e+50)/100);d=Math.min(Math.max(d,1),255),c[C[a]]=d}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],p=0,m=0;m<8;m++)for(var h=0;h<8;h++)l[p]=1/(s[C[p]]*f[m]*f[h]*8),u[p]=1/(c[C[p]]*f[m]*f[h]*8),p++}(Math.floor(e<50?5e3/e:200-2*e)),a=e)}this.encode=function(e,a){a&&L(a),h=[],g=0,_=7,F(65496),F(65504),F(16),P(74),P(70),P(73),P(70),P(0),P(1),P(1),P(0),F(1),F(1),P(0),P(0),function(){F(65499),F(132),P(0);for(var e=0;e<64;e++)P(s[e]);P(1);for(var t=0;t<64;t++)P(c[t])}(),function(e,t){F(65472),F(17),P(8),F(t),F(e),P(3),P(1),P(17),P(0),P(2),P(17),P(1),P(3),P(17),P(1)}(e.width,e.height),function(){F(65476),F(418),P(0);for(var e=0;e<16;e++)P(w[e+1]);for(var t=0;t<=11;t++)P(T[t]);P(16);for(var n=0;n<16;n++)P(E[n+1]);for(var r=0;r<=161;r++)P(D[r]);P(1);for(var i=0;i<16;i++)P(O[i+1]);for(var a=0;a<=11;a++)P(k[a]);P(17);for(var o=0;o<16;o++)P(A[o+1]);for(var s=0;s<=161;s++)P(j[s])}(),F(65498),F(12),P(3),P(1),P(0),P(2),P(17),P(3),P(17),P(0),P(63),P(0);var o=0,d=0,f=0;g=0,_=7,this.encode.displayName=`_encode_`;for(var p,m,x,C,M,R,z,B,V,ee=e.data,H=e.width,U=e.height,W=4*H,te=0;te>3)*W+(z=4*(7&V)),te+B>=U&&(R-=W*(te+1+B-U)),p+z>=W&&(R-=p+z-W+4),m=ee[R++],x=ee[R++],C=ee[R++],v[V]=(S[m]+S[x+256|0]+S[C+512|0]>>16)-128,y[V]=(S[m+768|0]+S[x+1024|0]+S[C+1280|0]>>16)-128,b[V]=(S[m+1280|0]+S[x+1536|0]+S[C+1792|0]>>16)-128;o=I(v,l,o,t,r),d=I(y,u,d,n,i),f=I(b,u,f,n,i),p+=32}te+=8}if(_>=0){var ne=[];ne[1]=_+1,ne[0]=(1<<_+1)-1,N(ne)}return F(65497),new Uint8Array(h)},e||=50,function(){for(var e=String.fromCharCode,t=0;t<256;t++)x[t]=e(t)}(),t=M(w,T),n=M(O,k),r=M(E,D),i=M(A,j),function(){for(var e=1,t=2,n=1;n<=15;n++){for(var r=e;rr;r++)if(e[t+r]!=n.charCodeAt(r))return!0;return!1}function r(e,t,n,r,i){for(var a=0;ar+1?[]:new t),!(i.length>>0;e&n;)n>>>=1;return n?(e&n-1)+n:e}function l(e,n,r,i,a){t(!(i%r));do e[n+(i-=r)]=a;while(0=o),512>=o)var s=a(512);else if((s=a(o))==null)return 0;return function(e,n,r,i,o,s){var u,f,p=n,m=1<u;++u){if(h[u]>1<(S-=h[u]))return 0;for(;0=u;++u,o<<=1){if(x+=S<<=1,0>(S-=h[u]))return 0;for(;0v&&!(0>=(_-=h[v]));)++v,_<<=1;m+=C=1<<(_=v-r),e[n+(v=b&y)].g=_+r,e[n+v].value=p-n-v}i.g=u-r,i.value=s[f++],l(e,p+(b>>r),o,C,i),b=c(b,u)}}return x==2*g[15]-1?m:0}(e,n,r,i,o,s)}function d(){this.value=this.g=0}function f(){this.value=this.g=0}function p(){this.G=o(5,d),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Hn,f)}function m(e,n,r,i){t(e!=null),t(n!=null),t(2147483648>i),e.Ca=254,e.I=0,e.b=-8,e.Ka=0,e.oa=n,e.pa=r,e.Jd=n,e.Yc=r+i,e.Zc=4<=i?r+i-4+1:r,E(e)}function h(e,t){for(var n=0;0i),e.Sb=i,e.Ra=0,e.u=0,e.h=0,4>>=8,e.Ra+=e.oa[e.pa+e.bb]<>>0,++e.bb,e.u-=8;C(e)&&(e.h=1,e.u=0)}function y(e,n){if(t(0<=n),!e.h&&n<=Wn){var r=S(e)&Un[n];return e.u+=n,v(e),r}return e.h=1,e.u=0}function b(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function x(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function S(e){return e.Ra>>>(e.u&Gn-1)>>>0}function C(e){return t(e.bb<=e.Sb),e.h||e.bb==e.Sb&&e.u>Gn}function w(e,t){e.u=t,e.h=C(e)}function T(e){e.u>=Kn&&(t(e.u>=Kn),v(e))}function E(e){t(e!=null&&e.oa!=null),e.pa>>0,e.b+=8):(t(e!=null&&e.oa!=null),e.pae.b&&E(e);var r=e.b,i=n*t>>>8,a=(e.I>>>r>i)+0;for(a?(n-=i,e.I-=i+1<>>0):n=i+1,r=n,i=0;256<=r;)i+=8,r>>=8;return r=7^i+qn[r],e.b-=r,e.Ca=(n<>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=255&n}function A(e,t){return e[t+0]|e[t+1]<<8}function j(e,t){return A(e,t)|e[t+2]<<16}function M(e,t){return A(e,t)|A(e,t+2)<<16}function N(e,n){var r=1<=a||0>=o?0:(r[0]=a,i[0]=o,1)}function L(e,t){return e+(1<>>t}function R(e,t){return((4278255360&e)+(4278255360&t)>>>0&4278255360)+((16711935&e)+(16711935&t)>>>0&16711935)>>>0}function z(t,n){e[n]=function(n,r,i,a,o,s,c){var l;for(l=0;l>>1)+(e&t)>>>0}function ee(e){return 0<=e&&256>e?e:0>e?0:255>1))}function U(e,t,n){return Math.abs(t-n)-Math.abs(e-n)}function W(e,t,n,r,i,a,o){for(r=a[o-1],n=0;n>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));r[i+a]=(4278255360&o)+c>>>0}}function ne(e,t){t.jd=255&e,t.hd=e>>8&255,t.ud=e>>16&255}function re(e,t,n,r,i,a){var o;for(o=0;o>>8,l=s,u=255&(u=(u=s>>>16)+((e.jd<<24>>24)*(c<<24>>24)>>>5));l=255&(l=(l+=(e.hd<<24>>24)*(c<<24>>24)>>>5)+((e.ud<<24>>24)*(u<<24>>24)>>>5)),i[a+o]=(4278255360&s)+(u<<16)+l}}function ie(t,n,r,i,a){e[n]=function(e,t,n,r,o,s,c,l,u){for(r=c;r>t.b,f=t.Ea,p=t.K[0],m=t.w;if(8>d)for(t=(1<>=d}else e[`VP8LMapColor`+r](s,c,p,m,l,u,n,o,f)}}function ae(e,t,n,r,i){for(n=t+n;t>16&255,r[i++]=a>>8&255,r[i++]=255&a}}function oe(e,t,n,r,i){for(n=t+n;t>16&255,r[i++]=a>>8&255,r[i++]=255&a,r[i++]=a>>24&255}}function G(e,t,n,r,i){for(n=t+n;t>16&240|o>>12&15,o=240&o|o>>28&15;r[i++]=a,r[i++]=o}}function se(e,t,n,r,i){for(n=t+n;t>16&248|o>>13&7,o=o>>5&224|o>>3&31;r[i++]=a,r[i++]=o}}function ce(e,t,n,r,i){for(n=t+n;t>8&255,r[i++]=a>>16&255}}function le(e,t,n,i,a,o){if(o==0)for(n=t+n;t>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else r(i,a,e,t,n)}function ue(t,n){e[n][0]=e[t+`0`],e[n][1]=e[t+`1`],e[n][2]=e[t+`2`],e[n][3]=e[t+`3`],e[n][4]=e[t+`4`],e[n][5]=e[t+`5`],e[n][6]=e[t+`6`],e[n][7]=e[t+`7`],e[n][8]=e[t+`8`],e[n][9]=e[t+`9`],e[n][10]=e[t+`10`],e[n][11]=e[t+`11`],e[n][12]=e[t+`12`],e[n][13]=e[t+`13`],e[n][14]=e[t+`0`],e[n][15]=e[t+`0`]}function de(e){return e==Kr||e==qr||e==Jr||e==Yr}function fe(){this.eb=[],this.size=this.A=this.fb=0}function pe(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function me(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new fe,this.f.kb=new pe,this.sd=null}function he(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ge(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function _e(e){return alert(`todo:WebPSamplerProcessPlane`),e.T}function ve(e,t){var n=e.T,i=t.ba.f.RGBA,a=i.eb,o=i.fb+e.ka*i.A,s=bi[t.ba.S],c=e.y,l=e.O,u=e.f,d=e.N,f=e.ea,p=e.W,m=t.cc,h=t.dc,g=t.Mc,_=t.Nc,v=e.ka,y=e.ka+e.T,b=e.U,x=b+1>>1;for(v==0?s(c,l,null,null,u,d,f,p,u,d,f,p,a,o,null,null,b):(s(t.ec,t.fc,c,l,m,h,g,_,u,d,f,p,a,o-i.A,a,o,b),++n);v+2n,i=n==Br||n==Hr||n==Ur||n==Wr||n==12||de(n);if(t.memory=null,t.Ib=null,t.Jb=null,t.Nd=null,!zn(t.Oa,e,i?11:12))return 0;if(i&&de(n)&&Sn(),e.da)alert(`todo:use_scaling`);else{if(r){if(t.Ib=_e,e.Kb){if(n=e.U+1>>1,t.memory=a(e.U+2*n),t.memory==null)return 0;t.ec=t.memory,t.fc=0,t.cc=t.ec,t.dc=t.fc+e.U,t.Mc=t.cc,t.Nc=t.dc+n,t.Ib=ve,Sn()}}else alert(`todo:EmitYUV`);i&&(t.Jb=ye,r&&bn())}if(r&&!Pi){for(e=0;256>e;++e)Fi[e]=89858*(e-128)+ki>>Oi,Ri[e]=-22014*(e-128)+ki,Li[e]=-45773*(e-128),Ii[e]=113618*(e-128)+ki>>Oi;for(e=Ai;e>Oi,zi[e-Ai]=Ze(t,255),Bi[e-Ai]=Ze(t+8>>4,15);Pi=1}return 1}function xe(e){var n=e.ma,r=e.U,i=e.T;return t(!(1&e.ka)),0>=r||0>=i?0:(r=n.Ib(e,n),n.Jb!=null&&n.Jb(e,n,r),n.Dc+=r,1)}function Se(e){e.ma.memory=null}function Ce(e,t,n,r){return y(e,8)==47?(t[0]=y(e,14)+1,n[0]=y(e,14)+1,r[0]=y(e,1),y(e,3)==0?!e.h:0):0}function we(e,t){if(4>e)return e+1;var n=e-2>>1;return(2+(1&e)<>4)*e+(8-(15&n)))?n:1;var n}function Ee(e,t,n){var r=S(n),i=e[t+=255&r].g-8;return 0>>0,t(8>=r.g),e.g}function Oe(e,n,r){var i=e.xc;return t((n=i==0?0:e.vc[e.md*(r>>i)+(n>>i)])>E.b)*w;_x&&(A=x),(0,tr[D[O++]>>8&15])(m,h+ +k,y,b+k-x,A-k,y,b+k),k=A}h+=x,b+=x,++_&C||(E+=w)}p!=d.nc&&r(u,l-g,u,l+(p-f-1)*g,g);break;case 1:for(g=m,v=h,x=(m=d.Ea)-(b=m&~(y=(h=1<>d.b)*_;f=a),0o.o&&(i=o.o),r=i?r=0:(a[0]+=4*o.v,o.ka=r-o.j,o.U=o.va-o.v,o.T=i-r,r=1),r){if(c=c[0],11>(r=e.ca).S){var d=r.f.RGBA,f=(i=r.S,a=o.U,o=o.T,u=d.eb,d.A),p=o;for(d=d.fb+e.Ma*d.A;0i){var a=e.l.width,o=r.ca,s=r.tb+a*i,c=e.V,l=e.Ba+e.c*i,u=e.gc;t(e.ab==1),t(u[0].hc==3),$n(u[0],i,n,c,l,o,s),Me(r,i,n,o,s,a)}e.C=e.Ma=n}function K(e,n,r,i,a,o,s){var c=e.$/i,l=e.$%i,u=e.m,d=e.s,f=r+e.$,p=f;a=r+i*a;var m=r+i*o,h=280+d.ua,g=e.Pb?c:16777216,_=0=g){var E=f-r;t((g=e).Pb),g.wd=g.m,g.xd=E,0O.g?(w(x,x.u+O.g),E[D]=O.value,x=0):(w(x,x.u+O.g-256),t(256<=O.value),x=O.value),x==0&&(b=!0)}else x=Ee(y.G[0],y.H[0],u);if(u.h)break;if(b||256>x){if(!b)if(y.nd)n[f]=(y.qb|x<<8)>>>0;else{if(T(u),b=Ee(y.G[1],y.H[1],u),T(u),E=Ee(y.G[2],y.H[2],u),D=Ee(y.G[3],y.H[3],u),u.h)break;n[f]=(D<<24|b<<16|x<<8|E)>>>0}if(b=!1,++f,++l>=i&&(l=0,++c,s!=null&&c<=o&&!(c%16)&&s(e,c),_!=null))for(;p>>_.Mb]=x}else if(280>x){if(x=we(x-256,u),E=Ee(y.G[4],y.H[4],u),T(u),E=Te(i,E=we(E,u)),u.h)break;if(f-r=i;)l-=i,++c,s!=null&&c<=o&&!(c%16)&&s(e,c);if(t(f<=a),l&v&&(y=Oe(d,l,c)),_!=null)for(;p>>_.Mb]=x}else{if(!(x>>_.Mb]=x;x=f,t(!(b>>>(E=_).Xa)),n[x]=E.X[b],b=!0}b||t(u.h==C(u))}if(e.Pb&&u.h&&fo?o:c),e.a=0,e.$=f-r}return 1}return e.a=3,0}function Pe(e){t(e!=null),e.vc=null,e.yc=null,e.Ya=null;var n=e.Wa;n!=null&&(n.X=null),e.vb=null,t(e!=null)}function Fe(){var t=new un;return t==null?null:(t.a=0,t.xb=vi,ue(`Predictor`,`VP8LPredictors`),ue(`Predictor`,`VP8LPredictors_C`),ue(`PredictorAdd`,`VP8LPredictorsAdd`),ue(`PredictorAdd`,`VP8LPredictorsAdd_C`),Xn=te,nr=re,rr=ae,ir=oe,ar=G,or=se,sr=ce,e.VP8LMapColor32b=Qn,e.VP8LMapColor8b=er,t)}function Ie(e,n,r,s,c){var l=1,f=[e],m=[n],h=s.m,g=s.s,_=null,v=0;t:for(;;){if(r)for(;l&&y(h,1);){var b=f,x=m,C=s,E=1,D=C.m,O=C.gc[C.ab],k=y(D,2);if(C.Oc&1<=C.ab),k){case 0:case 1:O.b=y(D,3)+2,E=Ie(L(O.Ea,O.b),L(O.nc,O.b),0,C,O.K),O.K=O.K[0];break;case 3:var A,j=y(D,8)+1,M=16>I.b),B=a(z);if(B==null)A=0;else{var V=I.K[0],ee=I.w;for(B[0]=I.K[0][0],P=1;P<1*F;++P)B[P]=R(V[ee+P],B[P-1]);for(;P<4*z;++P)B[P]=0;I.K[0]=null,I.K[0]=B,A=1}}E=A;break;case 2:break;default:t(0)}l=E}}if(f=f[0],m=m[0],l&&y(h,1)&&!(l=1<=(v=y(h,4))&&11>=v)){s.a=3;break t}var H;if(H=l)e:{var U,W,te,ne=s,re=f,ie=m,ae=v,oe=r,G=ne.m,se=ne.s,ce=[null],le=1,ue=0,de=ni[ae];r:for(;;){if(oe&&y(G,1)){var fe=y(G,3)+2,pe=L(re,fe),me=L(ie,fe),he=pe*me;if(!Ie(pe,me,0,ne,ce))break r;for(ce=ce[0],se.xc=fe,U=0;U>8&65535;ce[U]=ge,ge>=le&&(le=ge+1)}}if(G.h)break r;for(W=0;5>W;++W){var _e=Qr[W];!W&&0=ye),xe=be;var Se=a(ue);if(xe==null||Se==null||ve==null){ne.a=1;break r}var Ce=ve;for(U=te=0;UW;++W){_e=Qr[W],Te[W]=Ce,Ee[W]=te,!W&&0Ze)break i}else qe=Ze;for(Je=0;Jeit)Qe[Je++]=it,it!=0&&(tt=it);else{var at=it==16,ot=it-16,st=Zr[ot],ct=y(et,Xr[ot])+st;if(Je+ct>Ze)break i;for(var lt=at?tt:0;0=W){var ut,dt=Se[0];for(ut=1;ut<_e;++ut)Se[ut]>dt&&(dt=Se[ut]);Ae+=dt}}if(we.nd=ke,we.Qb=0,ke&&(we.qb=(Te[3][Ee[3]+0].value<<24|Te[1][Ee[1]+0].value<<16|Te[2][Ee[2]+0].value)>>>0,Oe==0&&256>Te[0][Ee[0]+0].value&&(we.Qb=1,we.qb+=Te[0][Ee[0]+0].value<<8)),we.jc=!we.Qb&&6>Ae,we.jc){var ft,pt=we;for(ft=0;ft>=De(gt,8,ht),mt>>=De(pt.G[1][pt.H[1]+mt],16,ht),mt>>=De(pt.G[2][pt.H[2]+mt],0,ht),De(pt.G[3][pt.H[3]+mt],24,ht))}}}se.vc=ce,se.Wb=le,se.Ya=xe,se.yc=ve,H=1;break e}H=0}if(!(l=H)){s.a=3;break t}if(0n+1?[]:0),!(r.lengthe?0:e>t?t:e}function Qe(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=`void`,this.put=`VP8IoPutHook`,this.ac=`VP8IoSetupHook`,this.bc=`VP8IoTeardownHook`,this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function $e(){var e=new Xe;return e!=null&&(e.a=0,e.sc=`OK`,e.cb=0,e.Xb=0,oi||=rt),e}function et(e,t,n){return e.a==0&&(e.a=t,e.sc=n,e.cb=0),0}function tt(e,t,n){return 3<=n&&e[t+0]==157&&e[t+1]==1&&e[t+2]==42}function nt(e,n){if(e==null)return 0;if(e.a=0,e.sc=`OK`,n==null)return et(e,2,`null VP8Io passed to VP8GetHeaders()`);var r=n.data,a=n.w,o=n.ha;if(4>o)return et(e,7,`Truncated header.`);var s=r[a+0]|r[a+1]<<8|r[a+2]<<16,c=e.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3o)return et(e,7,`cannot parse picture header`);if(!tt(r,a,o))return et(e,3,`Bad code word`);l.c=16383&(r[a+4]<<8|r[a+3]),l.Td=r[a+4]>>6,l.i=16383&(r[a+6]<<8|r[a+5]),l.Ud=r[a+6]>>6,a+=7,o-=7,e.za=l.c+15>>4,e.Ub=l.i+15>>4,n.width=l.c,n.height=l.i,n.Da=0,n.j=0,n.v=0,n.va=n.width,n.o=n.height,n.da=0,n.ib=n.width,n.hb=n.height,n.U=n.width,n.T=n.height,i((s=e.Pa).jb,0,255,s.jb.length),t((s=e.Qa)!=null),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return et(e,7,`bad partition length`);m(s=e.m,r,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(l.Ld=D(s),l.Kd=D(s)),l=e.Qa;var u,d=e.Pa;if(t(s!=null),t(l!=null),l.Cb=D(s),l.Cb){if(l.Bb=D(s),D(s)){for(l.Fb=D(s),u=0;4>u;++u)l.Zb[u]=D(s)?g(s,7):0;for(u=0;4>u;++u)l.Lb[u]=D(s)?g(s,6):0}if(l.Bb)for(u=0;3>u;++u)d.jb[u]=D(s)?h(s,8):255}else l.Bb=0;if(s.Ka)return et(e,3,`cannot parse segment header`);if((l=e.ed).zd=D(s),l.Tb=h(s,6),l.wb=h(s,3),l.Pc=D(s),l.Pc&&D(s)){for(d=0;4>d;++d)D(s)&&(l.vd[d]=g(s,6));for(d=0;4>d;++d)D(s)&&(l.od[d]=g(s,6))}if(e.L=l.Tb==0?0:l.zd?1:2,s.Ka)return et(e,3,`cannot parse filter header`);var f=o;if(o=u=a,a=u+f,l=f,e.Xb=(1<l&&(p=l),m(e.Jc[+f],r,u,p),u+=p,l-=p,o+=3}m(e.Jc[+d],r,u,l),r=up;++p){if(f.Cb){var _=f.Zb[p];f.Fb||(_+=r)}else{if(0>16,8>v.Eb[1]&&(v.Eb[1]=8),v.Qc[0]=ii[Ze(_+d,117)],v.Qc[1]=ai[Ze(_+u,127)],v.lc=_+u}if(!c.Rb)return et(e,4,`Not a key frame.`);for(D(s),c=e.Pa,r=0;4>r;++r){for(o=0;8>o;++o)for(a=0;3>a;++a)for(l=0;11>l;++l)d=O(s,fi[r][o][a][l])?h(s,8):ui[r][o][a][l],c.Wc[r][o].Yb[a][l]=d;for(o=0;17>o;++o)c.Xc[r][o]=c.Wc[r][pi[o]]}return e.kc=D(s),e.kc&&(e.Bd=h(s,8)),e.cb=1}function rt(e,t,n,r,i,a,o){var s=t[i].Yb[n];for(n=0;16>i;++i){if(!O(e,s[n+0]))return i;for(;!O(e,s[n+1]);)if(s=t[++i].Yb[0],n=0,i==16)return 16;var c=t[i+1].Yb;if(O(e,s[n+2])){var l=e,u=0;if(O(l,(f=s)[(d=n)+3]))if(O(l,f[d+6])){for(s=0,d=2*(u=O(l,f[d+8]))+(f=O(l,f[d+9+u])),u=0,f=si[d];f[s];++s)u+=u+O(l,f[s]);u+=3+(8<(l=e).b&&E(l);var d,f=l.b,p=(d=l.Ca>>1)-(l.I>>f)>>31;--l.b,l.Ca+=p,l.Ca|=1,l.I-=(d+1&p)<>3),e[t+n+32*r]=-256&i?0>i?0:255:i}function ot(e,t,n,r,i,a){at(e,t,0,n,r+i),at(e,t,1,n,r+a),at(e,t,2,n,r-a),at(e,t,3,n,r-i)}function st(e){return(20091*e>>16)+e}function ct(e,t,n,r){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=e[t+0]+e[t+8],l=e[t+0]-e[t+8],u=(35468*e[t+4]>>16)-st(e[t+12]),d=st(e[t+4])+(35468*e[t+12]>>16);s[o+0]=c+d,s[o+1]=l+u,s[o+2]=l-u,s[o+3]=c-d,o+=4,t++}for(i=o=0;4>i;++i)c=(e=s[o+0]+4)+s[o+8],l=e-s[o+8],u=(35468*s[o+4]>>16)-st(s[o+12]),at(n,r,0,0,c+(d=st(s[o+4])+(35468*s[o+12]>>16))),at(n,r,1,0,l+u),at(n,r,2,0,l-u),at(n,r,3,0,c-d),o++,r+=32}function lt(e,t,n,r){var i=e[t+0]+4,a=35468*e[t+4]>>16,o=st(e[t+4]),s=35468*e[t+1]>>16;ot(n,r,0,i+o,e=st(e[t+1]),s),ot(n,r,1,i+a,e,s),ot(n,r,2,i-a,e,s),ot(n,r,3,i-o,e,s)}function ut(e,t,n,r,i){ct(e,t,n,r),i&&ct(e,t+16,n,r+4)}function dt(e,t,n,r){lr(e,t+0,n,r,1),lr(e,t+32,n,r+128,1)}function ft(e,t,n,r){var i;for(e=e[t+0]+4,i=0;4>i;++i)for(t=0;4>t;++t)at(n,r,t,i,e)}function pt(e,t,n,r){e[t+0]&&fr(e,t+0,n,r),e[t+16]&&fr(e,t+16,n,r+4),e[t+32]&&fr(e,t+32,n,r+128),e[t+48]&&fr(e,t+48,n,r+128+4)}function mt(e,t,n,r){var i,o=a(16);for(i=0;4>i;++i){var s=e[t+0+i]+e[t+12+i],c=e[t+4+i]+e[t+8+i],l=e[t+4+i]-e[t+8+i],u=e[t+0+i]-e[t+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=u+l,o[12+i]=u-l}for(i=0;4>i;++i)s=(e=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],l=o[1+4*i]-o[2+4*i],u=e-o[3+4*i],n[r+0]=s+c>>3,n[r+16]=u+l>>3,n[r+32]=s-c>>3,n[r+48]=u-l>>3,r+=64}function ht(e,t,n){var r,i=t-32,a=Lr,o=255-e[i-1];for(r=0;rn;++n)r(e,t+32*n,e,t-32,16)}function bt(e,t){var n;for(n=16;0r;++r)i(t,n+32*r,e,16)}function St(e,t){var n,r=16;for(n=0;16>n;++n)r+=e[t-1+32*n]+e[t+n-32];xt(r>>5,e,t)}function Ct(e,t){var n,r=8;for(n=0;16>n;++n)r+=e[t-1+32*n];xt(r>>4,e,t)}function wt(e,t){var n,r=8;for(n=0;16>n;++n)r+=e[t+n-32];xt(r>>4,e,t)}function Tt(e,t){xt(128,e,t)}function J(e,t,n){return e+2*t+n+2>>2}function Et(e,t){var n,i=t-32;for(i=new Uint8Array([J(e[i-1],e[i+0],e[i+1]),J(e[i+0],e[i+1],e[i+2]),J(e[i+1],e[i+2],e[i+3]),J(e[i+2],e[i+3],e[i+4])]),n=0;4>n;++n)r(e,t+32*n,i,0,i.length)}function Dt(e,t){var n=e[t-1],r=e[t-1+32],i=e[t-1+64],a=e[t-1+96];k(e,t+0,16843009*J(e[t-1-32],n,r)),k(e,t+32,16843009*J(n,r,i)),k(e,t+64,16843009*J(r,i,a)),k(e,t+96,16843009*J(i,a,a))}function Ot(e,t){var n,r=4;for(n=0;4>n;++n)r+=e[t+n-32]+e[t-1+32*n];for(r>>=3,n=0;4>n;++n)i(e,t+32*n,r,4)}function kt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1-32],o=e[t+0-32],s=e[t+1-32],c=e[t+2-32],l=e[t+3-32];e[t+0+96]=J(r,i,e[t-1+96]),e[t+1+96]=e[t+0+64]=J(n,r,i),e[t+2+96]=e[t+1+64]=e[t+0+32]=J(a,n,r),e[t+3+96]=e[t+2+64]=e[t+1+32]=e[t+0+0]=J(o,a,n),e[t+3+64]=e[t+2+32]=e[t+1+0]=J(s,o,a),e[t+3+32]=e[t+2+0]=J(c,s,o),e[t+3+0]=J(l,c,s)}function At(e,t){var n=e[t+1-32],r=e[t+2-32],i=e[t+3-32],a=e[t+4-32],o=e[t+5-32],s=e[t+6-32],c=e[t+7-32];e[t+0+0]=J(e[t+0-32],n,r),e[t+1+0]=e[t+0+32]=J(n,r,i),e[t+2+0]=e[t+1+32]=e[t+0+64]=J(r,i,a),e[t+3+0]=e[t+2+32]=e[t+1+64]=e[t+0+96]=J(i,a,o),e[t+3+32]=e[t+2+64]=e[t+1+96]=J(a,o,s),e[t+3+64]=e[t+2+96]=J(o,s,c),e[t+3+96]=J(s,c,c)}function jt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1-32],o=e[t+0-32],s=e[t+1-32],c=e[t+2-32],l=e[t+3-32];e[t+0+0]=e[t+1+64]=a+o+1>>1,e[t+1+0]=e[t+2+64]=o+s+1>>1,e[t+2+0]=e[t+3+64]=s+c+1>>1,e[t+3+0]=c+l+1>>1,e[t+0+96]=J(i,r,n),e[t+0+64]=J(r,n,a),e[t+0+32]=e[t+1+96]=J(n,a,o),e[t+1+32]=e[t+2+96]=J(a,o,s),e[t+2+32]=e[t+3+96]=J(o,s,c),e[t+3+32]=J(s,c,l)}function Mt(e,t){var n=e[t+0-32],r=e[t+1-32],i=e[t+2-32],a=e[t+3-32],o=e[t+4-32],s=e[t+5-32],c=e[t+6-32],l=e[t+7-32];e[t+0+0]=n+r+1>>1,e[t+1+0]=e[t+0+64]=r+i+1>>1,e[t+2+0]=e[t+1+64]=i+a+1>>1,e[t+3+0]=e[t+2+64]=a+o+1>>1,e[t+0+32]=J(n,r,i),e[t+1+32]=e[t+0+96]=J(r,i,a),e[t+2+32]=e[t+1+96]=J(i,a,o),e[t+3+32]=e[t+2+96]=J(a,o,s),e[t+3+64]=J(o,s,c),e[t+3+96]=J(s,c,l)}function Nt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1+96];e[t+0+0]=n+r+1>>1,e[t+2+0]=e[t+0+32]=r+i+1>>1,e[t+2+32]=e[t+0+64]=i+a+1>>1,e[t+1+0]=J(n,r,i),e[t+3+0]=e[t+1+32]=J(r,i,a),e[t+3+32]=e[t+1+64]=J(i,a,a),e[t+3+64]=e[t+2+64]=e[t+0+96]=e[t+1+96]=e[t+2+96]=e[t+3+96]=a}function Pt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1+96],o=e[t-1-32],s=e[t+0-32],c=e[t+1-32],l=e[t+2-32];e[t+0+0]=e[t+2+32]=n+o+1>>1,e[t+0+32]=e[t+2+64]=r+n+1>>1,e[t+0+64]=e[t+2+96]=i+r+1>>1,e[t+0+96]=a+i+1>>1,e[t+3+0]=J(s,c,l),e[t+2+0]=J(o,s,c),e[t+1+0]=e[t+3+32]=J(n,o,s),e[t+1+32]=e[t+3+64]=J(r,n,o),e[t+1+64]=e[t+3+96]=J(i,r,n),e[t+1+96]=J(a,i,r)}function Ft(e,t){var n;for(n=0;8>n;++n)r(e,t+32*n,e,t-32,8)}function It(e,t){var n;for(n=0;8>n;++n)i(e,t,e[t-1],8),t+=32}function Lt(e,t,n){var r;for(r=0;8>r;++r)i(t,n+32*r,e,8)}function Rt(e,t){var n,r=8;for(n=0;8>n;++n)r+=e[t+n-32]+e[t-1+32*n];Lt(r>>4,e,t)}function zt(e,t){var n,r=4;for(n=0;8>n;++n)r+=e[t+n-32];Lt(r>>3,e,t)}function Bt(e,t){var n,r=4;for(n=0;8>n;++n)r+=e[t-1+32*n];Lt(r>>3,e,t)}function Vt(e,t){Lt(128,e,t)}function Ht(e,t,n){var r=e[t-n],i=e[t+0],a=3*(i-r)+Fr[1020+e[t-2*n]-e[t+n]],o=Ir[112+(a+4>>3)];e[t-n]=Lr[255+r+Ir[112+(a+3>>3)]],e[t+0]=Lr[255+i-o]}function Ut(e,t,n,r){var i=e[t+0],a=e[t+n];return Rr[255+e[t-2*n]-e[t-n]]>r||Rr[255+a-i]>r}function Wt(e,t,n,r){return 4*Rr[255+e[t-n]-e[t+0]]+Rr[255+e[t-2*n]-e[t+n]]<=r}function Gt(e,t,n,r,i){var a=e[t-3*n],o=e[t-2*n],s=e[t-n],c=e[t+0],l=e[t+n],u=e[t+2*n],d=e[t+3*n];return 4*Rr[255+s-c]+Rr[255+o-l]>r?0:Rr[255+e[t-4*n]-a]<=i&&Rr[255+a-o]<=i&&Rr[255+o-s]<=i&&Rr[255+d-u]<=i&&Rr[255+u-l]<=i&&Rr[255+l-c]<=i}function Y(e,t,n,r){var i=2*r+1;for(r=0;16>r;++r)Wt(e,t+r,n,i)&&Ht(e,t+r,n)}function Kt(e,t,n,r){var i=2*r+1;for(r=0;16>r;++r)Wt(e,t+r*n,1,i)&&Ht(e,t+r*n,1)}function qt(e,t,n,r){var i;for(i=3;0>7,_=18*v+63>>7,v=9*v+63>>7;c[l-3*u]=Lr[255+c[l-3*u]+v],c[l-2*u]=Lr[255+d+_],c[l-u]=Lr[255+f+g],c[l+0]=Lr[255+p-g],c[l+u]=Lr[255+m-_],c[l+2*u]=Lr[255+h-v]}t+=r}}function Xt(e,t,n,r,i,a,o,s){for(a=2*a+1;0>3)],h=Ir[112+(h+3>>3)],g=m+1>>1;c[l-2*u]=Lr[255+c[l-2*u]+g],c[l-u]=Lr[255+d+h],c[l+0]=Lr[255+f-m],c[l+u]=Lr[255+p-g]}t+=r}}function Zt(e,t,n,r,i,a){Yt(e,t,n,1,16,r,i,a)}function Qt(e,t,n,r,i,a){Yt(e,t,1,n,16,r,i,a)}function $t(e,t,n,r,i,a){var o;for(o=3;0l?0:255:l)&255,l=c,i[a+s]=u}}function hn(e,n,i,o){var s=n.width,c=n.o;if(t(e!=null&&n!=null),0>i||0>=o||i+o>c)return null;if(!e.Cc){if(e.ga==null){var l;if(e.ga=new dn,(l=e.ga==null)||(l=n.width*n.o,t(e.Gb.length==0),e.Gb=a(l),e.Uc=0,e.Gb==null?l=0:(e.mb=e.Gb,e.nb=e.Uc,e.rc=null,l=1),l=!l),!l){l=e.ga;var u=e.Fa,d=e.P,f=e.qc,p=e.mb,m=e.nb,h=d+1,g=f-1,v=l.l;if(t(u!=null&&p!=null&&n!=null),yi[0]=null,yi[1]=fn,yi[2]=pn,yi[3]=mn,l.ca=p,l.tb=m,l.c=n.width,l.i=n.height,t(0=f)n=0;else if(l.$a=3&u[d+0],l.Z=u[d+0]>>2&3,l.Lc=u[d+0]>>4&3,d=u[d+0]>>6&3,0>l.$a||1=l.c*l.i;l=!n}if(l)return null;e.ga.Lc==1?o=c-i:e.Ga=0}t(e.ga!=null),t(i+o<=c);t:{if(n=(u=e.ga).c,c=u.l.o,u.$a==0){if(h=e.rc,g=e.Vc,v=e.Fa,d=e.P+1+i*n,f=e.mb,p=e.nb+i*n,t(d<=e.P+e.qc),u.Z!=0)for(t(yi[u.Z]!=null),l=0;l=n)n=1;else if(u.ic||bn(),u.ic){u=l.V,h=l.Ba,g=l.c;var y=l.i,b=(v=1,d=l.$/g,f=l.$%g,p=l.m,m=l.s,l.$),x=g*y,S=g*n,w=m.wc,E=b(y=Ee(E.G[0],E.H[0],p)))u[h+b]=y,++b,++f>=g&&(f=0,++d<=n&&!(d%16)&&Ne(l,d));else{if(!(280>y)){v=0;break e}y=we(y-256,p);var D,O=Ee(E.G[4],E.H[4],p);if(T(p),!(b>=(O=Te(g,O=we(O,p)))&&x-b>=y)){v=0;break e}for(D=0;D=g;)f-=g,++d<=n&&!(d%16)&&Ne(l,d);bn?n:d);break e}!v||p.h&&b=c&&(e.Cc=1),o=1}if(!o)return null;if(e.Cc&&((o=e.ga)!=null&&(o.mc=null),e.ga=null,0>23,s[c+4*o+1]=s[c+4*o+1]*d>>23,s[c+4*o+2]=s[c+4*o+2]*d>>23)}t+=a}}function _n(e,t,n,r,i){for(;0>4)*c>>16;e[t+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,e[t+2*a+1]=240&l|s}t+=i}}function vn(e,t,n,r,i,a,o,s){var c,l,u=255;for(l=0;l>8}function bn(){Er=gn,Dr=_n,Or=vn,kr=yn}function xn(n,r,i){e[n]=function(e,n,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){var b,x=y-1>>1,S=s[c+0]|l[u+0]<<16,C=d[f+0]|p[m+0]<<16;t(e!=null);var w=3*S+C+131074>>2;for(r(e[n+0],255&w,w>>16,h,g),a!=null&&(w=3*C+S+131074>>2,r(a[o+0],255&w,w>>16,_,v)),b=1;b<=x;++b){var T=s[c+b]|l[u+b]<<16,E=d[f+b]|p[m+b]<<16,D=S+T+C+E+524296,O=D+2*(T+C)>>3;w=O+S>>1,S=(D=D+2*(S+E)>>3)+T>>1,r(e[n+2*b-1],255&w,w>>16,h,g+(2*b-1)*i),r(e[n+2*b-0],255&S,S>>16,h,g+(2*b-0)*i),a!=null&&(w=D+C>>1,S=O+E>>1,r(a[o+2*b-1],255&w,w>>16,_,v+(2*b-1)*i),r(a[o+2*b+0],255&S,S>>16,_,v+(2*b+0)*i)),S=T,C=E}1&y||(w=3*S+C+131074>>2,r(e[n+y-1],255&w,w>>16,h,g+(y-1)*i),a!=null&&(w=3*C+S+131074>>2,r(a[o+y-1],255&w,w>>16,_,v+(y-1)*i)))}}function Sn(){bi[zr]=xi,bi[Br]=Ci,bi[Vr]=Si,bi[Hr]=wi,bi[Ur]=Ti,bi[Wr]=Ei,bi[Gr]=Di,bi[Kr]=Ci,bi[qr]=wi,bi[Jr]=Ti,bi[Yr]=Ei}function Cn(e){return e&~Ni?0>e?0:255:e>>Mi}function wn(e,t){return Cn((19077*e>>8)+(26149*t>>8)-14234)}function Tn(e,t,n){return Cn((19077*e>>8)-(6419*t>>8)-(13320*n>>8)+8708)}function En(e,t){return Cn((19077*e>>8)+(33050*t>>8)-17685)}function Dn(e,t,n,r,i){r[i+0]=wn(e,n),r[i+1]=Tn(e,t,n),r[i+2]=En(e,t)}function On(e,t,n,r,i){r[i+0]=En(e,t),r[i+1]=Tn(e,t,n),r[i+2]=wn(e,n)}function kn(e,t,n,r,i){var a=Tn(e,t,n);t=a<<3&224|En(e,t)>>3,r[i+0]=248&wn(e,n)|a>>5,r[i+1]=t}function An(e,t,n,r,i){var a=240&En(e,t)|15;r[i+0]=240&wn(e,n)|Tn(e,t,n)>>4,r[i+1]=a}function jn(e,t,n,r,i){r[i+0]=255,Dn(e,t,n,r,i+1)}function Mn(e,t,n,r,i){On(e,t,n,r,i),r[i+3]=255}function Nn(e,t,n,r,i){Dn(e,t,n,r,i),r[i+3]=255}function Pn(t,n,r){e[t]=function(e,t,i,a,o,s,c,l,u){for(var d=l+(-2&u)*r;l!=d;)n(e[t+0],i[a+0],o[s+0],c,l),n(e[t+1],i[a+0],o[s+0],c,l+r),t+=2,++a,++s,l+=2*r;1&u&&n(e[t+0],i[a+0],o[s+0],c,l)}}function Fn(e,t,n){return n==0?e==0?t==0?6:5:t==0?4:0:n}function In(e,t,n,r,i){switch(e>>>30){case 3:lr(t,n,r,i,0);break;case 2:ur(t,n,r,i);break;case 1:fr(t,n,r,i)}}function Ln(e,t){var n,a,o=t.M,s=t.Nb,c=e.oc,l=e.pc+40,u=e.oc,d=e.pc+584,f=e.oc,p=e.pc+600;for(n=0;16>n;++n)c[l+32*n-1]=129;for(n=0;8>n;++n)u[d+32*n-1]=129,f[p+32*n-1]=129;for(0n;++n)r(c,l+32*n-4,c,l+32*n+12,4);for(n=-1;8>n;++n)r(u,d+32*n-4,u,d+32*n+4,4),r(f,p+32*n-4,f,p+32*n+4,4)}var h=e.Gd,g=e.Hd+a,_=m.ad,v=m.Hc;if(0=e.za-1?i(y,b,h[g].y[15],4):r(y,b,h[g+1].y,0,4)),n=0;4>n;n++)y[b+128+n]=y[b+256+n]=y[b+384+n]=y[b+0+n];for(n=0;16>n;++n,v<<=2)y=c,b=l+Vi[n],hi[m.Ob[n]](y,b),In(v,_,16*n,y,b)}else if(y=Fn(a,o,m.Ob[0]),mi[y](c,l),v!=0)for(n=0;16>n;++n,v<<=2)In(v,_,16*n,c,l+Vi[n]);for(n=m.Gc,y=Fn(a,o,m.Dd),gi[y](u,d),gi[y](f,p),v=_,y=u,b=d,255&(m=0|n)&&(170&m?dr(v,256,y,b):pr(v,256,y,b)),m=f,v=p,255&(n>>=8)&&(170&n?dr(_,320,m,v):pr(_,320,m,v)),on;++n)r(h,g+n*e.R,c,l+32*n,16);for(n=0;8>n;++n)r(_,m+n*e.B,u,d+32*n,8),r(v,y+n*e.B,f,p+32*n,8)}}function Rn(e,r,i,a,o,s,c,l,u){var d=[0],f=[0],p=0,m=u==null?0:u.kd,h=u??new sn;if(e==null||12>i)return 7;h.data=e,h.w=r,h.ha=i,r=[r],i=[i],h.gb=[h.gb];t:{var g=r,v=i,y=h.gb;if(t(e!=null),t(v!=null),t(y!=null),y[0]=0,12<=v[0]&&!n(e,g[0],`RIFF`)){if(n(e,g[0]+8,`WEBP`)){y=3;break t}var b=M(e,g[0]+4);if(12>b||4294967286v[0]-8){y=7;break t}y[0]=b,g[0]+=12,v[0]-=12}y=0}if(y!=0)return y;for(b=0y[0])y=7;else{if(!n(S,v[0],`VP8X`)){if(M(S,v[0]+4)!=10){y=3;break t}if(18>y[0]){y=7;break t}var E=M(S,v[0]+8),D=1+j(S,v[0]+12);if(2147483648<=D*(S=1+j(S,v[0]+15))){y=3;break t}T!=null&&(T[0]=E),C!=null&&(C[0]=D),w!=null&&(w[0]=S),v[0]+=18,y[0]-=18,O[0]=1}y=0}}if(p=p[0],g=g[0],y!=0)return y;if(v=!!(2&g),!b&&p)return 3;if(s!=null&&(s[0]=!!(16&g)),c!=null&&(c[0]=v),l!=null&&(l[0]=0),c=d[0],g=f[0],p&&v&&u==null){y=0;break}if(4>i){y=7;break}if(b&&p||!b&&!p&&!n(e,r[0],`ALPH`)){i=[i],h.na=[h.na],h.P=[h.P],h.Sa=[h.Sa];t:{E=e,y=r,b=i;var O=h.gb;C=h.na,w=h.P,T=h.Sa,D=22,t(E!=null),t(b!=null),S=y[0];var k=b[0];for(t(C!=null),t(T!=null),C[0]=null,w[0]=null,T[0]=0;;){if(y[0]=S,b[0]=k,8>k){y=7;break t}var A=M(E,S+4);if(4294967286O){y=3;break t}if(!n(E,S,`VP8 `)||!n(E,S,`VP8L`)){y=0;break t}if(k[0]b[0])y=7;else{if(S||D){if(O=M(O,E+4),12<=C&&O>C-12){y=3;break t}if(m&&O>b[0]-8){y=7;break t}w[0]=O,y[0]+=8,b[0]-=8,T[0]=D}else T[0]=5<=b[0]&&O[E+0]==47&&!(O[E+4]>>5),w[0]=b[0];y=0}if(i=i[0],h.Ja=h.Ja[0],h.xa=h.xa[0],r=r[0],y!=0)break;if(4294967286i){y=7;break}l=c,m=g,v=s,e==null||5>i?e=0:5<=i&&e[r+0]==47&&!(e[r+4]>>5)?(b=[0],O=[0],C=[0],_(w=new x,e,r,i),Ce(w,b,O,C)?(l!=null&&(l[0]=b[0]),m!=null&&(m[0]=O[0]),v!=null&&(v[0]=C[0]),e=1):e=0):e=0}else{if(10>i){y=7;break}l=g,e==null||10>i||!tt(e,r+3,i-3)?e=0:(m=e[r+0]|e[r+1]<<8|e[r+2]<<16,v=16383&(e[r+7]<<8|e[r+6]),e=16383&(e[r+9]<<8|e[r+8]),1&m||3<(m>>1&7)||!(m>>4&1)||m>>5>=h.Ja||!v||!e?e=0:(c&&(c[0]=v),l&&(l[0]=e),e=1))}if(!e||(c=c[0],g=g[0],p&&(d[0]!=c||f[0]!=g)))return 3;u!=null&&(u[0]=h,u.offset=r-u.w,t(4294967286>r-u.w),t(u.offset==u.ha-i));break}return y==0||y==7&&p&&u==null?(s!=null&&(s[0]|=h.na!=null&&0n||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>r||o+c>i))return 0;if(t.v=a,t.j=o,t.va=a+s,t.o=o+c,t.U=s,t.T=c,t.da=e!=null&&0e.S){var t=e.f.RGBA;t.fb+=(e.height-1)*t.A,t.A=-t.A}else t=e.f.kb,e=e.height,t.O+=(e-1)*t.fa,t.fa=-t.fa,t.N+=(e-1>>1)*t.Ab,t.Ab=-t.Ab,t.W+=(e-1>>1)*t.Db,t.Db=-t.Db,t.F!=null&&(t.J+=(e-1)*t.lb,t.lb=-t.lb);return 0}function Vn(e,t,n,r){if(r==null||0>=e||0>=t)return 2;if(n!=null){if(n.Da){var i=n.cd,o=n.bd,s=-2&n.v,c=-2&n.j;if(0>s||0>c||0>=i||0>=o||s+i>e||c+o>t)return 2;e=i,t=o}if(n.da){if(!I(e,t,i=[n.ib],o=[n.hb]))return 2;e=i[0],t=o[0]}}r.width=e,r.height=t;t:{var l=r.width,u=r.height;if(e=r.S,0>=l||0>=u||!(e>=zr&&13>e))e=2;else{if(0>=r.Rd&&r.sd==null){s=o=i=t=0;var d=(c=l*Gi[e])*u;if(11>e||(o=(u+1)/2*(t=(l+1)/2),e==12&&(s=(i=l)*u)),(u=a(d+2*o+s))==null){e=1;break t}r.sd=u,11>e?((l=r.f.RGBA).eb=u,l.fb=0,l.A=c,l.size=d):((l=r.f.kb).y=u,l.O=0,l.fa=c,l.Fd=d,l.f=u,l.N=0+d,l.Ab=t,l.Cd=o,l.ea=u,l.W=0+d+o,l.Db=t,l.Ed=o,e==12&&(l.F=u,l.J=0+d+2*o),l.Tc=s,l.lb=i)}if(t=1,i=r.S,o=r.width,s=r.height,i>=zr&&13>i)if(11>i)e=r.f.RGBA,t&=(c=Math.abs(e.A))*(s-1)+o<=e.size,t&=c>=o*Gi[i],t&=e.eb!=null;else{e=r.f.kb,c=(o+1)/2,d=(s+1)/2,l=Math.abs(e.fa),u=Math.abs(e.Ab);var f=Math.abs(e.Db),p=Math.abs(e.lb),m=p*(s-1)+o;t&=l*(s-1)+o<=e.Fd,t&=u*(d-1)+c<=e.Cd,t=(t&=f*(d-1)+c<=e.Ed)&l>=o&u>=c&f>=c,t&=e.y!=null,t&=e.f!=null,t&=e.ea!=null,i==12&&(t&=p>=o,t&=m<=e.Tc,t&=e.F!=null)}else t=0;e=t?0:2}}return e!=0||n!=null&&n.fd&&(e=Bn(r)),e}var Hn=64,Un=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Wn=24,Gn=32,Kn=8,qn=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];z(`Predictor0`,`PredictorAdd0`),e.Predictor0=function(){return 4278190080},e.Predictor1=function(e){return e},e.Predictor2=function(e,t,n){return t[n+0]},e.Predictor3=function(e,t,n){return t[n+1]},e.Predictor4=function(e,t,n){return t[n-1]},e.Predictor5=function(e,t,n){return V(V(e,t[n+1]),t[n+0])},e.Predictor6=function(e,t,n){return V(e,t[n-1])},e.Predictor7=function(e,t,n){return V(e,t[n+0])},e.Predictor8=function(e,t,n){return V(t[n-1],t[n+0])},e.Predictor9=function(e,t,n){return V(t[n+0],t[n+1])},e.Predictor10=function(e,t,n){return V(V(e,t[n-1]),V(t[n+0],t[n+1]))},e.Predictor11=function(e,t,n){var r=t[n+0];return 0>=U(r>>24&255,e>>24&255,(t=t[n-1])>>24&255)+U(r>>16&255,e>>16&255,t>>16&255)+U(r>>8&255,e>>8&255,t>>8&255)+U(255&r,255&e,255&t)?r:e},e.Predictor12=function(e,t,n){var r=t[n+0];return(ee((e>>24&255)+(r>>24&255)-((t=t[n-1])>>24&255))<<24|ee((e>>16&255)+(r>>16&255)-(t>>16&255))<<16|ee((e>>8&255)+(r>>8&255)-(t>>8&255))<<8|ee((255&e)+(255&r)-(255&t)))>>>0},e.Predictor13=function(e,t,n){var r=t[n-1];return(H((e=V(e,t[n+0]))>>24&255,r>>24&255)<<24|H(e>>16&255,r>>16&255)<<16|H(e>>8&255,r>>8&255)<<8|H(255&e,255&r))>>>0};var Jn=e.PredictorAdd0;e.PredictorAdd1=W,z(`Predictor2`,`PredictorAdd2`),z(`Predictor3`,`PredictorAdd3`),z(`Predictor4`,`PredictorAdd4`),z(`Predictor5`,`PredictorAdd5`),z(`Predictor6`,`PredictorAdd6`),z(`Predictor7`,`PredictorAdd7`),z(`Predictor8`,`PredictorAdd8`),z(`Predictor9`,`PredictorAdd9`),z(`Predictor10`,`PredictorAdd10`),z(`Predictor11`,`PredictorAdd11`),z(`Predictor12`,`PredictorAdd12`),z(`Predictor13`,`PredictorAdd13`);var Yn=e.PredictorAdd2;ie(`ColorIndexInverseTransform`,`MapARGB`,`32b`,function(e){return e>>8&255},function(e){return e}),ie(`VP8LColorIndexInverseTransformAlpha`,`MapAlpha`,`8b`,function(e){return e},function(e){return e>>8&255});var Xn,Zn=e.ColorIndexInverseTransform,Qn=e.MapARGB,$n=e.VP8LColorIndexInverseTransformAlpha,er=e.MapAlpha,tr=e.VP8LPredictorsAdd=[];tr.length=16,(e.VP8LPredictors=[]).length=16,(e.VP8LPredictorsAdd_C=[]).length=16,(e.VP8LPredictors_C=[]).length=16;var nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar=a(511),jr=a(2041),Mr=a(225),Nr=a(767),Pr=0,Fr=jr,Ir=Mr,Lr=Nr,Rr=Ar,zr=0,Br=1,Vr=2,Hr=3,Ur=4,Wr=5,Gr=6,Kr=7,qr=8,Jr=9,Yr=10,Xr=[2,3,7],Zr=[3,3,11],Qr=[280,256,256,256,40],$r=[0,1,1,1,0],ei=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],ti=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],ni=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ri=8,ii=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ai=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],oi=null,si=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ci=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],li=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],ui=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],di=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],fi=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],pi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],mi=[],hi=[],gi=[],_i=1,vi=2,yi=[],bi=[];xn(`UpsampleRgbLinePair`,Dn,3),xn(`UpsampleBgrLinePair`,On,3),xn(`UpsampleRgbaLinePair`,Nn,4),xn(`UpsampleBgraLinePair`,Mn,4),xn(`UpsampleArgbLinePair`,jn,4),xn(`UpsampleRgba4444LinePair`,An,2),xn(`UpsampleRgb565LinePair`,kn,2);var xi=e.UpsampleRgbLinePair,Si=e.UpsampleBgrLinePair,Ci=e.UpsampleRgbaLinePair,wi=e.UpsampleBgraLinePair,Ti=e.UpsampleArgbLinePair,Ei=e.UpsampleRgba4444LinePair,Di=e.UpsampleRgb565LinePair,Oi=16,ki=1<c.ca.S||(alert(`todo:WebPInitConvertARGBToYUV`),c.ca.f.kb.F!=null&&bn()),c.Pb&&0(p=s.Md)?0:100m;++m)12>(g=l.pb[m]).lc&&(g.ia=p*Ui[0>g.lc?0:g.lc]>>3),h|=g.ia;h&&(alert(`todo:VP8InitRandom`),l.ia=1)}l.Ga=s.Id,100l.Ga&&(l.Ga=0)}(function(e,n){if(e==null)return 0;if(n==null)return et(e,2,`NULL VP8Io parameter in VP8Decode().`);if(!e.cb&&!nt(e,n))return 0;if(t(e.cb),n.ac==null||n.ac(n)){n.ob&&(e.L=0);var s=Hi[e.L];if(e.L==2?(e.yb=0,e.zb=0):(e.yb=n.v-s>>4,e.zb=n.j-s>>4,0>e.yb&&(e.yb=0),0>e.zb&&(e.zb=0)),e.Va=n.o+15+s>>4,e.Hb=n.va+15+s>>4,e.Hb>e.za&&(e.Hb=e.za),e.Va>e.Ub&&(e.Va=e.Ub),0s;++s){var l;if(e.Qa.Cb){var u=e.Qa.Lb[s];e.Qa.Fb||(u+=c.Tb)}else u=c.Tb;for(l=0;1>=l;++l){var d=e.gd[s][l],f=u;if(c.Pc&&(f+=c.vd[0],l&&(f+=c.od[0])),0<(f=0>f?0:63>2:p>>1)>9-c.wb&&(p=9-c.wb),1>p&&(p=1),d.dd=p,d.tc=2*f+p,d.ld=40<=f?2:+(15<=f)}else d.tc=0;d.La=l}}}s=0}else et(e,6,`Frame setup failed`),s=e.a;if(s=s==0){if(s){e.$c=0,0e.Vb){if(e.Vb=0,e.Ec=a(d),e.Fc=0,e.Ec==null){s=et(e,1,`no memory during frame initialization.`);break e}e.Vb=d}d=e.Ec,f=e.Fc,e.Ac=d,e.Bc=f,f+=c,e.Gd=o(m,Ye),e.Hd=0,e.rb=o(h+1,Ge),e.sb=1,e.wa=g?o(g,We):null,e.Y=0,e.D.Nb=0,e.D.wa=e.wa,e.D.Y=e.Y,0=s;++s)Ar[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)jr[1020+s]=-128>s?-128:127=s;++s)Mr[112+s]=-16>s?-16:15=s;++s)Nr[255+s]=0>s?0:255d;++d){var v,y=m[0+d];for(v=0;4>v;++v){y=di[f[p+v]][y];for(var b=li[O(u,y[0])];0>3;for(b=0;256>b;b+=16)d[g+b]=E}C=1,w=p[0]}var D=15&u.la,k=15&_.la;for(b=0;4>b;++b){var A=1&k;for(E=S=0;4>E;++E)D=D>>1|(A=(T=oi(f,w,T=A+(1&D),h.Sc,C,d,g))>C)<<7,S=S<<2|(3>=4,k=k>>1|A<<7,v=(v<<8|S)>>>0}for(w=D,C=k>>4,x=0;4>x;x+=2){for(S=0,D=u.la>>4+x,k=_.la>>4+x,b=0;2>b;++b){for(A=1&k,E=0;2>E;++E)T=A+(1&D),D=D>>1|(A=0<(T=oi(f,p[2],T,h.Qc,0,d,g)))<<3,S=S<<2|(3>=2,k=k>>1|A<<5}y|=S<<4*x,w|=D<<4<=s.zb&&s.M<=s.Va,s.Aa==0)e:{if(o.M=s.M,o.uc=u,Ln(s,o),l=1,o=(S=s.D).Nb,u=(y=Hi[s.L])*s.R,f=y/2*s.B,b=16*o*s.R,E=8*o*s.B,p=s.sa,m=s.ta-u+b,h=s.qa,d=s.ra-f+E,g=s.Ha,_=s.Ia-f+E,k=(D=S.M)==0,v=D>=s.Va-1,s.Aa==2&&Ln(s,S),S.uc)for(A=(T=s).D.M,t(T.D.uc),S=T.yb;Sc.o&&(D=c.o),c.F=null,c.J=null,s.Fa!=null&&0>1),c.W+=s.B*(y>>1),c.F!=null&&(c.J+=c.width*y)),S>1,c.W+=c.v>>1,c.F!=null&&(c.J+=c.v),c.ka=S-c.j,c.U=c.va-c.v,c.T=D-S,l=c.put(c))}o+1!=s.Ic||v||(r(s.sa,s.ta-u,p,m+16*s.R,u),r(s.qa,s.ra-f,h,d+8*s.B,f),r(s.Ha,s.Ia-f,g,_+8*s.B,f))}if(!l)return et(e,6,`Output aborted.`)}return 1}(e,n),n.bc!=null&&n.bc(n),s&=1}return s?(e.cb=0,s):0})(e,c)||(n=e.a)}}else n=e.a}n==0&&d.Oa!=null&&d.Oa.fd&&(n=Bn(d.ba))}d=n}u=d==0?11>u?f.f.RGBA.eb:f.f.kb.y:null}else u=null;return u};var Gi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function l(e,t){for(var n=``,r=0;r<4;r++)n+=String.fromCharCode(e[t++]);return n}function u(e,t){return e[t+0]|e[t+1]<<8}function d(e,t){return(e[t+0]|e[t+1]<<8|e[t+2]<<16)>>>0}function f(e,t){return(e[t+0]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}new c;var p=[0],m=[0],h=[],g=new c,_=e,v=function(e,t){var n={},r=0,i=!1,a=0,o=0;if(n.frames=[],!function(e,t){for(var n=0;n<4;n++)if(e[t+n]!=`RIFF`.charCodeAt(n))return!0;return!1}(e,t)){for(f(e,t+=4),t+=8;t>1&1}s!=`ANMF`&&(t+=p)}return n}}(_,0);v.response=_,v.rgbaoutput=!0,v.dataurl=!1;var y=v.header?v.header:null,b=v.frames?v.frames:null;if(y){y.loop_counter=y.loop_count,p=[y.canvas_height],m=[y.canvas_width];for(var x=0;x`+n.replace(/&/g,`&`).replace(//g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)+``,this.internal.__metadata__.metadataObjectNumber=this.internal.newObject(),this.internal.write(`<< /Type /Metadata /Subtype /XML /Length `+e.length+` >>`),this.internal.write(`stream`),this.internal.write(e),this.internal.write(`endstream`),this.internal.write(`endobj`)}function Gs(){this.internal.__metadata__.metadataObjectNumber&&this.internal.write(`/Metadata `+this.internal.__metadata__.metadataObjectNumber+` 0 R`)}(function(e){var t,r,i,a,o,s,c,l,u,d=function(e){return e||={},this.isStrokeTransparent=e.isStrokeTransparent||!1,this.strokeOpacity=e.strokeOpacity||1,this.strokeStyle=e.strokeStyle||`#000000`,this.fillStyle=e.fillStyle||`#000000`,this.isFillTransparent=e.isFillTransparent||!1,this.fillOpacity=e.fillOpacity||1,this.font=e.font||`10px sans-serif`,this.textBaseline=e.textBaseline||`alphabetic`,this.textAlign=e.textAlign||`left`,this.lineWidth=e.lineWidth||1,this.lineJoin=e.lineJoin||`miter`,this.lineCap=e.lineCap||`butt`,this.path=e.path||[],this.transform=e.transform===void 0?new l:e.transform.clone(),this.globalCompositeOperation=e.globalCompositeOperation||`normal`,this.globalAlpha=e.globalAlpha||1,this.clip_path=e.clip_path||[],this.currentPoint=e.currentPoint||new s,this.miterLimit=e.miterLimit||10,this.lastPoint=e.lastPoint||new s,this.lineDashOffset=e.lineDashOffset||0,this.lineDash=e.lineDash||[],this.margin=e.margin||[0,0,0,0],this.prevPageLastElemOffset=e.prevPageLastElemOffset||0,this.ignoreClearRect=typeof e.ignoreClearRect!=`boolean`||e.ignoreClearRect,this};e.events.push([`initialized`,function(){this.context2d=new f(this),t=this.internal.f2,r=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,a=this.internal.getHorizontalCoordinate,o=this.internal.getVerticalCoordinate,s=this.internal.Point,c=this.internal.Rectangle,l=this.internal.Matrix,u=new d}]);var f=function(e){Object.defineProperty(this,"canvas",{get:function(){return{parentNode:!1,style:!1}}});var t=e;Object.defineProperty(this,"pdf",{get:function(){return t}});var n=!1;Object.defineProperty(this,"pageWrapXEnabled",{get:function(){return n},set:function(e){n=!!e}});var r=!1;Object.defineProperty(this,"pageWrapYEnabled",{get:function(){return r},set:function(e){r=!!e}});var i=0;Object.defineProperty(this,"posX",{get:function(){return i},set:function(e){isNaN(e)||(i=e)}});var a=0;Object.defineProperty(this,"posY",{get:function(){return a},set:function(e){isNaN(e)||(a=e)}}),Object.defineProperty(this,"margin",{get:function(){return u.margin},set:function(e){var t;typeof e==`number`?t=[e,e,e,e]:((t=[,,,,])[0]=e[0],t[1]=e.length>=2?e[1]:t[0],t[2]=e.length>=3?e[2]:t[0],t[3]=e.length>=4?e[3]:t[1]),u.margin=t}});var o=!1;Object.defineProperty(this,"autoPaging",{get:function(){return o},set:function(e){o=e}});var s=0;Object.defineProperty(this,"lastBreak",{get:function(){return s},set:function(e){s=e}});var c=[];Object.defineProperty(this,"pageBreaks",{get:function(){return c},set:function(e){c=e}}),Object.defineProperty(this,"ctx",{get:function(){return u},set:function(e){e instanceof d&&(u=e)}}),Object.defineProperty(this,"path",{get:function(){return u.path},set:function(e){u.path=e}});var l=[];Object.defineProperty(this,"ctxStack",{get:function(){return l},set:function(e){l=e}}),Object.defineProperty(this,"fillStyle",{get:function(){return this.ctx.fillStyle},set:function(e){var t=p(e);this.ctx.fillStyle=t.style,this.ctx.isFillTransparent=t.a===0,this.ctx.fillOpacity=t.a,this.pdf.setFillColor(t.r,t.g,t.b,{a:t.a}),this.pdf.setTextColor(t.r,t.g,t.b,{a:t.a})}}),Object.defineProperty(this,"strokeStyle",{get:function(){return this.ctx.strokeStyle},set:function(e){var t=p(e);this.ctx.strokeStyle=t.style,this.ctx.isStrokeTransparent=t.a===0,this.ctx.strokeOpacity=t.a,t.a===0?this.pdf.setDrawColor(255,255,255):(t.a,this.pdf.setDrawColor(t.r,t.g,t.b))}}),Object.defineProperty(this,"lineCap",{get:function(){return this.ctx.lineCap},set:function(e){[`butt`,`round`,`square`].indexOf(e)!==-1&&(this.ctx.lineCap=e,this.pdf.setLineCap(e))}}),Object.defineProperty(this,"lineWidth",{get:function(){return this.ctx.lineWidth},set:function(e){isNaN(e)||(this.ctx.lineWidth=e,this.pdf.setLineWidth(e))}}),Object.defineProperty(this,"lineJoin",{get:function(){return this.ctx.lineJoin},set:function(e){[`bevel`,`round`,`miter`].indexOf(e)!==-1&&(this.ctx.lineJoin=e,this.pdf.setLineJoin(e))}}),Object.defineProperty(this,"miterLimit",{get:function(){return this.ctx.miterLimit},set:function(e){isNaN(e)||(this.ctx.miterLimit=e,this.pdf.setMiterLimit(e))}}),Object.defineProperty(this,"textBaseline",{get:function(){return this.ctx.textBaseline},set:function(e){this.ctx.textBaseline=e}}),Object.defineProperty(this,"textAlign",{get:function(){return this.ctx.textAlign},set:function(e){[`right`,`end`,`center`,`left`,`start`].indexOf(e)!==-1&&(this.ctx.textAlign=e)}});var f=null,m=null,h=null;Object.defineProperty(this,"fontFaces",{get:function(){return h},set:function(e){f=null,m=null,h=e}}),Object.defineProperty(this,"font",{get:function(){return this.ctx.font},set:function(e){var t;if(this.ctx.font=e,(t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z0-9]+?)\s*$/i.exec(e))!==null){var n=t[1];t[2];var r=t[3],i=t[4];t[5];var a=t[6],o=/^([.\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=Math.floor(o===`px`?parseFloat(i)*this.pdf.internal.scaleFactor:o===`em`?parseFloat(i)*this.pdf.getFontSize():parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(e){var t,n,r=[],i=e.trim();if(i===``)return Ds;if(i in _s)return[_s[i]];for(;i!==``;){switch(n=null,t=(i=ys(i)).charAt(0)){case`"`:case`'`:n=bs(i.substring(1),t);break;default:n=xs(i)}if(n===null||(r.push(n[0]),(i=ys(n[1]))!==``&&i.charAt(0)!==`,`))return Ds;i=i.replace(/^,/,``)}return r}(a);if(this.fontFaces){var c=function(e,t,n){for(var r=(n||={}).defaultFontFamily||`times`,i=Object.assign({},gs,n.genericFontFamilies||{}),a=null,o=null,s=0;s=700||n===`bold`)&&(l=`bold`),n===`italic`&&(l+=`italic`),l.length===0&&(l=`normal`);for(var u=``,d={arial:`Helvetica`,Arial:`Helvetica`,verdana:`Helvetica`,Verdana:`Helvetica`,helvetica:`Helvetica`,Helvetica:`Helvetica`,"sans-serif":`Helvetica`,fixed:`Courier`,monospace:`Courier`,terminal:`Courier`,cursive:`Times`,fantasy:`Times`,serif:`Times`},p=0;p=2*Math.PI&&(r=0,i=2*Math.PI),this.path.push({type:`arc`,x:e,y:t,radius:n,startAngle:r,endAngle:i,counterclockwise:a})},f.prototype.arcTo=function(e,t,n,r,i){throw Error(`arcTo not implemented.`)},f.prototype.rect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.rect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.rect`);this.moveTo(e,t),this.lineTo(e+n,t),this.lineTo(e+n,t+r),this.lineTo(e,t+r),this.lineTo(e,t),this.lineTo(e+n,t),this.lineTo(e,t)},f.prototype.fillRect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.fillRect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.fillRect`);if(!m.call(this)){var i={};this.lineCap!==`butt`&&(i.lineCap=this.lineCap,this.lineCap=`butt`),this.lineJoin!==`miter`&&(i.lineJoin=this.lineJoin,this.lineJoin=`miter`),this.beginPath(),this.rect(e,t,n,r),this.fill(),i.hasOwnProperty(`lineCap`)&&(this.lineCap=i.lineCap),i.hasOwnProperty(`lineJoin`)&&(this.lineJoin=i.lineJoin)}},f.prototype.strokeRect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.strokeRect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.strokeRect`);h.call(this)||(this.beginPath(),this.rect(e,t,n,r),this.stroke())},f.prototype.clearRect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.clearRect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.clearRect`);this.ignoreClearRect||(this.fillStyle=`#ffffff`,this.fillRect(e,t,n,r))},f.prototype.save=function(e){e=typeof e!=`boolean`||e;for(var t=this.pdf.internal.getCurrentPageInfo().pageNumber,n=0;n0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};f.prototype.drawImage=function(e,t,n,r,i,a,o,s,u){var d=this.pdf.getImageProperties(e),f=1,p=1,m=1,h=1;r!==void 0&&s!==void 0&&(m=s/r,h=u/i,f=d.width/r*s/r,p=d.height/i*u/i),a===void 0&&(a=t,o=n,t=0,n=0),r!==void 0&&s===void 0&&(s=r,u=i),r===void 0&&s===void 0&&(s=d.width,u=d.height);var v=this.ctx.transform.decompose(),x=F(v.rotate.shx),C=new l,w=(C=(C=(C=C.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new c(a-t*m,o-n*h,r*f,i*p));if(this.autoPaging){for(var T,E=_.call(this,w),D=[],O=0;Ok||jC||T0)){for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(n),i[c-1].abs.push(s);break}}break;case`bct`:n=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(n);break;case`qct`:var l=a[o-1].x+2/3*(s.x1-a[o-1].x),u=a[o-1].y+2/3*(s.y1-a[o-1].y),d=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),p=s.x,g=s.y;n=[l-a[o-1].x,u-a[o-1].y,d-a[o-1].x,f-a[o-1].y,p-a[o-1].x,g-a[o-1].y],i[i.length-1].deltas.push(n);break;case`arc`:i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}r=t?null:e===`stroke`?`stroke`:`fill`;for(var _=!1,v=0;v=.01&&(r=this.pdf.internal.getFontSize(),this.pdf.setFontSize(r*e.scale),i=this.lineWidth,this.lineWidth=i*e.scale);var R=this.autoPaging!==`text`;if(R||L.y+L.h<=j){if(R||L.y>=k&&L.x<=N){var z=R?e.text:this.pdf.splitTextToSize(e.text,e.maxWidth||N-L.x)[0],B=y([JSON.parse(JSON.stringify(m))],this.posX+this.margin[3],-F+k+this.ctx.prevPageLastElemOffset)[0],V=R&&(O>E||O=.01&&(this.pdf.setFontSize(r),this.lineWidth=i)}}else e.scale>=.01&&(r=this.pdf.internal.getFontSize(),this.pdf.setFontSize(r*e.scale),i=this.lineWidth,this.lineWidth=i*e.scale),this.pdf.text(e.text,d.x+this.posX,d.y+this.posY,{angle:e.angle,align:t,renderingMode:e.renderingMode,maxWidth:e.maxWidth}),e.scale>=.01&&(this.pdf.setFontSize(r),this.lineWidth=i)},A=function(e,t,n,a){n||=0,a||=0,this.pdf.internal.out(r(e+n)+` `+i(t+a)+` l`)},j=function(e,t,n){return this.pdf.lines(e,t,n,null,null)},M=function(e,n,r,i,s,c,l,u){this.pdf.internal.out([t(a(r+e)),t(o(i+n)),t(a(s+e)),t(o(c+n)),t(a(l+e)),t(o(u+n)),`c`].join(` `))},N=function(e,t,n,r){for(var i=2*Math.PI,a=Math.PI/2;t>n;)t-=i;var o=Math.abs(n-t);o1e-5;){var u=l+c*Math.min(o,a);s.push(P.call(this,e,l,u)),o-=Math.abs(u-l),l=u}return s},P=function(e,t,n){var r=(n-t)/2,i=e*Math.cos(r),a=e*Math.sin(r),o=i,s=-a,c=o*o+s*s,l=c+o*i+s*a,u=4/3*(Math.sqrt(2*c*l)-l)/(o*a-s*i),d=o-u*s,f=s+u*o,p=d,m=-f,h=r+t,g=Math.cos(h),_=Math.sin(h);return{x1:e*Math.cos(t),y1:e*Math.sin(t),x2:d*g-f*_,y2:d*_+f*g,x3:p*g-m*_,y3:p*_+m*g,x4:e*Math.cos(n),y4:e*Math.sin(n)}},F=function(e){return 180*e/Math.PI},I=function(e,t,n,r,i,a){var o=e+.5*(n-e),s=t+.5*(r-t),l=i+.5*(n-i),u=a+.5*(r-a),d=Math.min(e,i,o,l),f=Math.max(e,i,o,l),p=Math.min(t,a,s,u),m=Math.max(t,a,s,u);return new c(d,p,f-d,m-p)},L=function(e,t,n,r,i,a,o,s){var l,u,d,f,p,m,h,g,_,v,y,b,x,S,C=n-e,w=r-t,T=i-n,E=a-r,D=o-i,O=s-a;for(u=0;u<41;u++)_=(h=(d=e+(l=u/40)*C)+l*((p=n+l*T)-d))+l*(p+l*(i+l*D-p)-h),v=(g=(f=t+l*w)+l*((m=r+l*E)-f))+l*(m+l*(a+l*O-m)-g),u==0?(y=_,b=v,x=_,S=v):(y=Math.min(y,_),b=Math.min(b,v),x=Math.max(x,_),S=Math.max(S,v));return new c(Math.round(y),Math.round(b),Math.round(x-y),Math.round(S-b))},R=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var e,t,n=(e=this.ctx.lineDash,t=this.ctx.lineDashOffset,JSON.stringify({lineDash:e,lineDashOffset:t}));this.prevLineDash!==n&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=n)}}})(Z.API),function(e){var t=function(e){var t,n,r,i,a,o,s,c,l,u;for(/[^\x00-\xFF]/.test(e),n=[],r=0,i=(e+=t=`\0\0\0\0`.slice(e.length%4||4)).length;i>r;r+=4)(a=(e.charCodeAt(r)<<24)+(e.charCodeAt(r+1)<<16)+(e.charCodeAt(r+2)<<8)+e.charCodeAt(r+3))===0?n.push(122):(o=(a=((a=((a=((a=(a-(u=a%85))/85)-(l=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,n.push(o+33,s+33,c+33,l+33,u+33));return function(e,t){for(var n=t;n>0;n--)e.pop()}(n,t.length),String.fromCharCode.apply(String,n)+`~>`},n=function(e){var t,n,r,i,a,o=String,s=`length`,c=255,l=`charCodeAt`,u=`slice`,d=`replace`;for(e[u](-2),e=e[u](0,-2)[d](/\s/g,``)[d](`z`,`!!!!!`),r=[],i=0,a=(e+=t=`uuuuu`[u](e[s]%5||5))[s];a>i;i+=5)n=52200625*(e[l](i)-33)+614125*(e[l](i+1)-33)+7225*(e[l](i+2)-33)+85*(e[l](i+3)-33)+(e[l](i+4)-33),r.push(c&n>>24,c&n>>16,c&n>>8,c&n);return function(e,t){for(var n=t;n>0;n--)e.pop()}(r,t[s]),o.fromCharCode.apply(o,r)},r=function(e){return e.split(``).map(function(e){return(`0`+e.charCodeAt().toString(16)).slice(-2)}).join(``)+`>`},i=function(e){var t=new RegExp(/^([0-9A-Fa-f]{2})+$/);if((e=e.replace(/\s/g,``)).indexOf(`>`)!==-1&&(e=e.substr(0,e.indexOf(`>`))),e.length%2&&(e+=`0`),!1===t.test(e))return``;for(var n=``,r=0;rimport(`html2canvas`),[])).catch(function(e){return Promise.reject(Error(`Could not load html2canvas: `+e))}).then(function(e){return e.default?e.default:e})}function i(){return(X.DOMPurify?Promise.resolve(X.DOMPurify):e(()=>import(`./purify.es-6-uFcs4-.js`),[])).catch(function(e){return Promise.reject(Error(`Could not load dompurify: `+e))}).then(function(e){return e.default?e.default:e})}var a=function(e){var t=n(e);return t===`undefined`?`undefined`:t===`string`||e instanceof String?`string`:t===`number`||e instanceof Number?`number`:t===`function`||e instanceof Function?`function`:e&&e.constructor===Array?`array`:e&&e.nodeType===1?`element`:t===`object`?`object`:`unknown`},o=function(e,t){var n=document.createElement(e);for(var r in t.className&&(n.className=t.className),t.innerHTML&&t.dompurify&&(n.innerHTML=t.dompurify.sanitize(t.innerHTML)),t.style)n.style[r]=t.style[r];return n},s=function e(t,n){for(var r=t.nodeType===3?document.createTextNode(t.nodeValue):t.cloneNode(!1),i=t.firstChild;i;i=i.nextSibling)!0!==n&&i.nodeType===1&&i.nodeName===`SCRIPT`||r.appendChild(e(i,n));return t.nodeType===1&&(t.nodeName===`CANVAS`?(r.width=t.width,r.height=t.height,r.getContext(`2d`).drawImage(t,0,0)):t.nodeName!==`TEXTAREA`&&t.nodeName!==`SELECT`||(r.value=t.value),r.addEventListener(`load`,function(){r.scrollTop=t.scrollTop,r.scrollLeft=t.scrollLeft},!0)),r},c=function e(t){var n=Object.assign(e.convert(Promise.resolve()),JSON.parse(JSON.stringify(e.template))),r=e.convert(Promise.resolve(),n);return(r=r.setProgress(1,e,1,[e])).set(t)};(c.prototype=Object.create(Promise.prototype)).constructor=c,c.convert=function(e,t){return e.__proto__=t||c.prototype,e},c.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:`file.pdf`,margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:`transparent`}},c.prototype.from=function(e,t){return this.then(function(){switch(t||=function(e){switch(a(e)){case`string`:return`string`;case`element`:return e.nodeName.toLowerCase()===`canvas`?`canvas`:`element`;default:return`unknown`}}(e),t){case`string`:return this.then(i).then(function(t){return this.set({src:o(`div`,{innerHTML:e,dompurify:t})})});case`element`:return this.set({src:e});case`canvas`:return this.set({canvas:e});case`img`:return this.set({img:e});default:return this.error(`Unknown source type.`)}})},c.prototype.to=function(e){switch(e){case`container`:return this.toContainer();case`canvas`:return this.toCanvas();case`img`:return this.toImg();case`pdf`:return this.toPdf();default:return this.error(`Invalid target.`)}},c.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(`Cannot duplicate - no source HTML.`)},function(){return this.prop.pageSize||this.setPageSize()}]).then(function(){var e={position:`relative`,display:`inline-block`,width:(typeof this.opt.width!=`number`||isNaN(this.opt.width)||typeof this.opt.windowWidth!=`number`||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+`px`,left:0,right:0,top:0,margin:`auto`,backgroundColor:this.opt.backgroundColor},t=s(this.prop.src,this.opt.html2canvas.javascriptEnabled);t.tagName===`BODY`&&(e.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+`px`),this.prop.overlay=o(`div`,{className:`html2pdf__overlay`,style:{position:`fixed`,overflow:`hidden`,zIndex:1e3,left:`-100000px`,right:0,bottom:0,top:0}}),this.prop.container=o(`div`,{className:`html2pdf__container`,style:e}),this.prop.container.appendChild(t),this.prop.container.firstChild.appendChild(o(`div`,{style:{clear:`both`,border:`0 none transparent`,margin:0,padding:0,height:0}})),this.prop.container.style.float=`none`,this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=`relative`,this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+`px`})},c.prototype.toCanvas=function(){return this.thenList([function(){return document.body.contains(this.prop.container)||this.toContainer()}]).then(r).then(function(e){var t=Object.assign({},this.opt.html2canvas);return delete t.onrendered,e(this.prop.container,t)}).then(function(e){(this.opt.html2canvas.onrendered||function(){})(e),this.prop.canvas=e,document.body.removeChild(this.prop.overlay)})},c.prototype.toContext2d=function(){return this.thenList([function(){return document.body.contains(this.prop.container)||this.toContainer()}]).then(r).then(function(e){var t=this.opt.jsPDF,n=this.opt.fontFaces,r=typeof this.opt.width!=`number`||isNaN(this.opt.width)||typeof this.opt.windowWidth!=`number`||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:r,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:`#ffffff`,imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,t.context2d.autoPaging=this.opt.autoPaging===void 0||this.opt.autoPaging,t.context2d.posX=this.opt.x,t.context2d.posY=this.opt.y,t.context2d.margin=this.opt.margin,t.context2d.fontFaces=n,n)for(var a=0;al&&(c=u,u=l,l=c);else{if(e!==`l`&&e!==`landscape`)throw`Invalid orientation: `+e;e=`l`,l>u&&(c=u,u=l,l=c)}return{width:u,height:l,unit:t,k:a,orientation:e}},t.html=function(e,t){(t||={}).callback=t.callback||function(){},t.html2canvas=t.html2canvas||{},t.html2canvas.canvas=t.html2canvas.canvas||this.canvas,t.jsPDF=t.jsPDF||this,t.fontFaces=t.fontFaces?t.fontFaces.map(ms):null;var n=new c(t);return t.worker?n:n.from(e).doCallback()}}(Z.API),Z.API.addJS=function(e){var t,n,r=function(e){for(var t=``,n=0;n=0&&e[a]===`\\`;a--)i++;t+=i%2==0?`\\`+r:r}else t+=r}return t}(e);return this.internal.events.subscribe(`postPutResources`,function(){t=this.internal.newObject(),this.internal.out(`<<`),this.internal.out(`/Names [(EmbeddedJS) `+(t+1)+` 0 R]`),this.internal.out(`>>`),this.internal.out(`endobj`),n=this.internal.newObject(),this.internal.out(`<<`),this.internal.out(`/S /JavaScript`),this.internal.out(`/JS (`+r+`)`),this.internal.out(`>>`),this.internal.out(`endobj`)}),this.internal.events.subscribe(`putCatalog`,function(){t!==void 0&&n!==void 0&&this.internal.out(`/Names <>`)}),this},function(e){var t;e.events.push([`postPutResources`,function(){var e=this,n=/^(\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var r=e.outline.render().split(/\r\n/),i=0;i> endobj`)}var f=e.internal.newObject();for(e.internal.write(`<< /Names [ `),i=0;i>`,`endobj`),t=e.internal.newObject(),e.internal.write(`<< /Dests `+f+` 0 R`),e.internal.write(`>>`,`endobj`)}}]),e.events.push([`putCatalog`,function(){var e=this;e.outline.root.children.length>0&&(e.internal.write(`/Outlines`,this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&e.internal.write(`/Names `+t+` 0 R`))}]),e.events.push([`initialized`,function(){var e=this;e.outline={createNamedDestinations:!1,root:{children:[]}},e.outline.add=function(e,t,n){var r={title:t,options:n,children:[]};return e??=this.root,e.children.push(r),r},e.outline.render=function(){return this.ctx={},this.ctx.val=``,this.ctx.pdf=e,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},e.outline.genIds_r=function(t){t.id=e.internal.newObjectDeferred();for(var n=0;n0&&(this.line(`/First `+this.makeRef(e.children[0])),this.line(`/Last `+this.makeRef(e.children[e.children.length-1]))),this.line(`/Count `+this.count_r({count:0},e)),this.objEnd()},e.outline.renderItems=function(t){for(var n=this.ctx.pdf.internal.getVerticalCoordinateString,r=0;r0&&this.line(`/Prev `+this.makeRef(t.children[r-1])),r0&&(this.line(`/First `+this.makeRef(i.children[0])),this.line(`/Last `+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(`/Count `+a),i.options&&i.options.pageNumber){var o=e.internal.getPageInfo(i.options.pageNumber);this.line(`/Dest [`+o.objId+` 0 R /XYZ 0 `+n(0)+` 0]`)}this.objEnd()}for(var s=0;s>`}),`transparency`in t&&Array.isArray(t.transparency)&&t.transparency.length>0){for(var o=``,s=0,c=t.transparency.length;s>`,m.content=i;var v=m.objId+` 0 R`;i=`<>`,h.content=i,this.internal.write(m.objId,`0 R`,h.objId,`0 R`);break;case`freetext`:r=`/Rect [`+a(n.bounds.x)+` `+o(n.bounds.y)+` `+a(n.bounds.x+n.bounds.w)+` `+o(n.bounds.y+n.bounds.h)+`] `;var y=`font: Helvetica,sans-serif 12.0pt; text-align:left; color:#`+(n.color||`#000000`);i=`<>`,this.internal.write(i);break;case`link`:if(n.options.name){var b=this.annotations._nameMap[n.options.name];n.options.pageNumber=b.page,n.options.top=b.y}else n.options.top||(n.options.top=0);if(r=`/Rect [`+n.finalBounds.x+` `+n.finalBounds.y+` `+n.finalBounds.w+` `+n.finalBounds.h+`] `,i=``,n.options.url)i=`<>`;else if(n.options.pageNumber)switch(i=`<>`,this.internal.write(i))}}this.internal.write(`]`)}}]),e.createAnnotation=function(e){var t=this.internal.getCurrentPageInfo();switch(e.type){case`link`:this.link(e.bounds.x,e.bounds.y,e.bounds.w,e.bounds.h,e);break;case`text`:case`freetext`:t.pageContext.annotations.push(e)}},e.link=function(e,t,n,r,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(e),y:s(t),w:o(e+n),h:s(t+r)},options:i,type:`link`})},e.textWithLink=function(e,t,n,r){var i,a,o=this.getTextWidth(e),s=this.internal.getLineHeight()/this.internal.scaleFactor;if(r.maxWidth!==void 0){a=r.maxWidth;var c=this.splitTextToSize(e,a).length;i=Math.ceil(s*c)}else a=o,i=s;return this.text(e,t,n,r),n+=.2*s,r.align===`center`&&(t-=o/2),r.align===`right`&&(t-=o),this.link(t,n-s,a,i,r),o},e.getTextWidth=function(e){var t=this.internal.getFontSize();return this.getStringUnitWidth(e)*t/this.internal.scaleFactor}}(Z.API),function(e){var t={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},n={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},r={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];e.__arabicParser__={};var a=e.__arabicParser__.isInArabicSubstitutionA=function(e){return t[e.charCodeAt(0)]!==void 0},o=e.__arabicParser__.isArabicLetter=function(e){return typeof e==`string`&&/^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(e)},s=e.__arabicParser__.isArabicEndLetter=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length<=2},c=e.__arabicParser__.isArabicAlfLetter=function(e){return o(e)&&i.indexOf(e.charCodeAt(0))>=0};e.__arabicParser__.arabicLetterHasIsolatedForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length>=1};var l=e.__arabicParser__.arabicLetterHasFinalForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length>=2};e.__arabicParser__.arabicLetterHasInitialForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length>=3};var u=e.__arabicParser__.arabicLetterHasMedialForm=function(e){return o(e)&&a(e)&&t[e.charCodeAt(0)].length==4},d=e.__arabicParser__.resolveLigatures=function(e){var t=0,r=n,i=``,a=0;for(t=0;t>`),this.internal.out(`endobj`)}),this.internal.events.subscribe(`putCatalog`,function(){this.internal.out(`/OpenAction `+t+` 0 R`)})),this},function(e){var t=function(){var e=void 0;Object.defineProperty(this,"pdf",{get:function(){return e},set:function(t){e=t}});var t=150;Object.defineProperty(this,"width",{get:function(){return t},set:function(e){t=isNaN(e)||!1===Number.isInteger(e)||e<0?150:e,this.getContext(`2d`).pageWrapXEnabled&&(this.getContext(`2d`).pageWrapX=t+1)}});var n=300;Object.defineProperty(this,"height",{get:function(){return n},set:function(e){n=isNaN(e)||!1===Number.isInteger(e)||e<0?300:e,this.getContext(`2d`).pageWrapYEnabled&&(this.getContext(`2d`).pageWrapY=n+1)}});var r=[];Object.defineProperty(this,"childNodes",{get:function(){return r},set:function(e){r=e}});var i={};Object.defineProperty(this,"style",{get:function(){return i},set:function(e){i=e}}),Object.defineProperty(this,"parentNode",{})};t.prototype.getContext=function(e,t){var n;if((e||=`2d`)!==`2d`)return null;for(n in t)this.pdf.context2d.hasOwnProperty(n)&&(this.pdf.context2d[n]=t[n]);return this.pdf.context2d._canvas=this,this.pdf.context2d},t.prototype.toDataURL=function(){throw Error(`toDataURL is not implemented.`)},e.events.push([`initialized`,function(){this.canvas=new t,this.canvas.pdf=this}])}(Z.API),function(e){var t={left:0,top:0,bottom:0,right:0},r=!1,i=function(){this.internal.__cell__===void 0&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},t),this.internal.__cell__.margins.width=this.getPageWidth(),a.call(this))},a=function(){this.internal.__cell__.lastCell=new o,this.internal.__cell__.pages=1},o=function(){var e=arguments[0];Object.defineProperty(this,"x",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var t=arguments[1];Object.defineProperty(this,"y",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var n=arguments[2];Object.defineProperty(this,"width",{enumerable:!0,get:function(){return n},set:function(e){n=e}});var r=arguments[3];Object.defineProperty(this,"height",{enumerable:!0,get:function(){return r},set:function(e){r=e}});var i=arguments[4];Object.defineProperty(this,"text",{enumerable:!0,get:function(){return i},set:function(e){i=e}});var a=arguments[5];Object.defineProperty(this,"lineNumber",{enumerable:!0,get:function(){return a},set:function(e){a=e}});var o=arguments[6];return Object.defineProperty(this,"align",{enumerable:!0,get:function(){return o},set:function(e){o=e}}),this};o.prototype.clone=function(){return new o(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},o.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},e.setHeaderFunction=function(e){return i.call(this),this.internal.__cell__.headerFunction=typeof e==`function`?e:void 0,this},e.getTextDimensions=function(e,t){i.call(this);var n=(t||={}).fontSize||this.getFontSize(),r=t.font||this.getFont(),a=t.scaleFactor||this.internal.scaleFactor,o=0,s=0,c=0,l=this;if(!Array.isArray(e)&&typeof e!=`string`){if(typeof e!=`number`)throw Error(`getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.`);e=String(e)}var u=t.maxWidth;u>0?typeof e==`string`?e=this.splitTextToSize(e,u):Object.prototype.toString.call(e)===`[object Array]`&&(e=e.reduce(function(e,t){return e.concat(l.splitTextToSize(t,u))},[])):e=Array.isArray(e)?e:[e];for(var d=0;dthis.getPageHeight()?(this.cellAddPage(),e.y=s.top,l&&c&&(this.printHeaderRow(e.lineNumber,!0),e.y+=c[0].height)):e.y=n.y+n.height||e.y),e.text[0]!==void 0&&(this.rect(e.x,e.y,e.width,e.height,!0===r?`FD`:void 0),e.align===`right`?this.text(e.text,e.x+e.width-a,e.y+a,{align:`right`,baseline:`top`}):e.align===`center`?this.text(e.text,e.x+e.width/2,e.y+a,{align:`center`,baseline:`top`,maxWidth:e.width-a-a}):this.text(e.text,e.x+a,e.y+a,{align:`left`,baseline:`top`,maxWidth:e.width-a-a})),this.internal.__cell__.lastCell=e,this};e.table=function(e,r,l,u,d){if(i.call(this),!l)throw Error(`No data for PDF table.`);var f,p,m,h,g=[],_=[],v=[],y={},b={},x=[],S=[],C=(d||={}).autoSize||!1,w=!1!==d.printHeaders,T=d.css&&d.css[`font-size`]!==void 0?16*d.css[`font-size`]:d.fontSize||12,E=d.margins||Object.assign({width:this.getPageWidth()},t),D=typeof d.padding==`number`?d.padding:3,O=d.headerBackgroundColor||`#c8c8c8`,k=d.headerTextColor||`#000`;if(a.call(this),this.internal.__cell__.printHeaders=w,this.internal.__cell__.margins=E,this.internal.__cell__.table_font_size=T,this.internal.__cell__.padding=D,this.internal.__cell__.headerBackgroundColor=O,this.internal.__cell__.headerTextColor=k,this.setFontSize(T),u==null)_=g=Object.keys(l[0]),v=g.map(function(){return`left`});else if(Array.isArray(u)&&n(u[0])===`object`)for(g=u.map(function(e){return e.name}),_=u.map(function(e){return e.prompt||e.name||``}),v=u.map(function(e){return e.align||`left`}),f=0;f0&&this.setTableHeaderRow(c),this.setFont(void 0,`normal`),r=!1}}(Z.API);var ls={italic:[`italic`,`oblique`,`normal`],oblique:[`oblique`,`italic`,`normal`],normal:[`normal`,`oblique`,`italic`]},us=[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`],ds=cs(us),fs=[100,200,300,400,500,600,700,800,900],ps=cs(fs);function ms(e){var t=e.family.replace(/"|'/g,``).toLowerCase(),n=function(e){return ls[e||=`normal`]?e:`normal`}(e.style),r=function(e){return e?typeof e==`number`?e>=100&&e<=900&&e%100==0?e:400:/^\d00$/.test(e)?parseInt(e):e===`bold`?700:400:400}(e.weight),i=function(e){return typeof ds[e||=`normal`]==`number`?e:`normal`}(e.stretch);return{family:t,style:n,weight:r,stretch:i,src:e.src||[],ref:e.ref||{name:t,style:[i,n,r].join(` `)}}}function hs(e,t,n,r){var i;for(i=n;i>=0&&i=0&&i>>1)&255}return i}function Ns(e,t,n){var r=e.length,i=[];i[0]=4;for(var a=0;a>a&o}function Ls(e,t,n,r){var i=n*r,a=Math.floor(i/8),o=16-(i-8*a+r),s=(1<>8&255;e.setUint8(t,r)}})(e,a,Rs(e,a)&~(s<>7,o=1<<1+(7&i);e[t++],e[t++];var s=null,c=null;a&&(s=t,c=o,t+=3*o);var l=!0,u=[],d=0,f=null,p=0,m=null;for(this.width=n,this.height=r;l&&t=0))throw Error(`Invalid block size`);if(D===0)break;t+=D}break;case 249:if(e[t++]!==4||e[t+4]!==0)throw Error(`Invalid graphics extension block.`);var h=e[t++];d=e[t++]|e[t++]<<8,f=e[t++],1&h||(f=null),p=h>>2&7,t++;break;case 254:for(;;){if(!((D=e[t++])>=0))throw Error(`Invalid block size`);if(D===0)break;t+=D}break;default:throw Error(`Unknown graphic control label: 0x`+e[t-1].toString(16))}break;case 44:var g=e[t++]|e[t++]<<8,_=e[t++]|e[t++]<<8,v=e[t++]|e[t++]<<8,y=e[t++]|e[t++]<<8,b=e[t++],x=b>>6&1,S=1<<1+(7&b),C=s,w=c,T=!1;b>>7&&(T=!0,C=t,w=S,t+=3*S);var E=t;for(t++;;){var D;if(!((D=e[t++])>=0))throw Error(`Invalid block size`);if(D===0)break;t+=D}u.push({x:g,y:_,width:v,height:y,has_local_palette:T,palette_offset:C,palette_size:w,data_offset:E,data_length:t-E,transparent_index:f,interlaced:!!x,delay:d,disposal:p});break;case 59:l=!1;break;default:throw Error(`Unknown gif block: 0x`+e[t-1].toString(16))}this.numFrames=function(){return u.length},this.loopCount=function(){return m},this.frameInfo=function(e){if(e<0||e>=u.length)throw Error(`Frame index out of range.`);return u[e]},this.decodeAndBlitFrameBGRA=function(t,r){var i=this.frameInfo(t),a=i.width*i.height;if(a>536870912)throw Error(`Image dimensions exceed 512MB, which is too large.`);var o=new Uint8Array(a);Bs(e,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;c===null&&(c=256);var l=i.width,u=n-l,d=l,f=4*(i.y*n+i.x),p=4*((i.y+i.height)*n+i.x),m=f,h=4*u;!0===i.interlaced&&(h+=4*n*7);for(var g=8,_=0,v=o.length;_=p&&(h=4*u+4*n*(g-1),m=f+(l+u)*(g<<1),g>>=1)),y===c)m+=4;else{var b=e[s+3*y],x=e[s+3*y+1],S=e[s+3*y+2];r[m++]=S,r[m++]=x,r[m++]=b,r[m++]=255}--d}},this.decodeAndBlitFrameRGBA=function(t,r){var i=this.frameInfo(t),a=i.width*i.height;if(a>536870912)throw Error(`Image dimensions exceed 512MB, which is too large.`);var o=new Uint8Array(a);Bs(e,i.data_offset,o,a);var s=i.palette_offset,c=i.transparent_index;c===null&&(c=256);var l=i.width,u=n-l,d=l,f=4*(i.y*n+i.x),p=4*((i.y+i.height)*n+i.x),m=f,h=4*u;!0===i.interlaced&&(h+=4*n*7);for(var g=8,_=0,v=o.length;_=p&&(h=4*u+4*n*(g-1),m=f+(l+u)*(g<<1),g>>=1)),y===c)m+=4;else{var b=e[s+3*y],x=e[s+3*y+1],S=e[s+3*y+2];r[m++]=b,r[m++]=x,r[m++]=S,r[m++]=255}--d}}}function Bs(e,t,n,r){for(var i=e[t++],a=1<>=c,u-=c,g!==a){if(g===o)break;for(var _=ga;)y=m[y]>>8,++v;var b=y;if(f+v+(_===g?0:1)>r)return void Wa.log(`Warning, gif stream longer than expected.`);n[f++]=b;var x=f+=v;for(_!==g&&(n[f++]=b),y=_;v--;)y=m[y],n[--x]=255&y,y>>=8;h!==null&&s<4096&&(m[s++]=h<<8|b,s>=l+1&&c<12&&(++c,l=l<<1|1)),h=g}else s=o+1,l=(1<<(c=i+1))-1,h=null}return f!==r&&Wa.log(`Warning, gif stream shorter than expected.`),n}function Vs(e){var t,n,r,i,a,o=Math.floor,s=Array(64),c=Array(64),l=Array(64),u=Array(64),d=Array(65535),f=Array(65535),p=Array(64),m=Array(64),h=[],g=0,_=7,v=Array(64),y=Array(64),b=Array(64),x=Array(256),S=Array(2048),C=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],w=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],T=[0,1,2,3,4,5,6,7,8,9,10,11],E=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],D=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],O=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],k=[0,1,2,3,4,5,6,7,8,9,10,11],A=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],j=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function M(e,t){for(var n=0,r=0,i=[],a=1;a<=16;a++){for(var o=1;o<=e[a];o++)i[t[r]]=[],i[t[r]][0]=n,i[t[r]][1]=a,r++,n++;n*=2}return i}function N(e){for(var t=e[0],n=e[1]-1;n>=0;)t&1<>8&255),P(255&e)}function I(e,t,n,r,i){for(var a,o=i[0],s=i[240],c=function(e,t){var n,r,i,a,o,s,c,l,u,d,f=0;for(u=0;u<8;++u){n=e[f],r=e[f+1],i=e[f+2],a=e[f+3],o=e[f+4],s=e[f+5],c=e[f+6];var m=n+(l=e[f+7]),h=n-l,g=r+c,_=r-c,v=i+s,y=i-s,b=a+o,x=a-o,S=m+b,C=m-b,w=g+v,T=g-v;e[f]=S+w,e[f+4]=S-w;var E=.707106781*(T+C);e[f+2]=C+E,e[f+6]=C-E;var D=.382683433*((S=x+y)-(T=_+h)),O=.5411961*S+D,k=1.306562965*T+D,A=.707106781*(w=y+_),j=h+A,M=h-A;e[f+5]=M+O,e[f+3]=M-O,e[f+1]=j+k,e[f+7]=j-k,f+=8}for(f=0,u=0;u<8;++u){n=e[f],r=e[f+8],i=e[f+16],a=e[f+24],o=e[f+32],s=e[f+40],c=e[f+48];var N=n+(l=e[f+56]),P=n-l,F=r+c,I=r-c,L=i+s,R=i-s,z=a+o,B=a-o,V=N+z,ee=N-z,H=F+L,U=F-L;e[f]=V+H,e[f+32]=V-H;var W=.707106781*(U+ee);e[f+16]=ee+W,e[f+48]=ee-W;var te=.382683433*((V=B+R)-(U=I+P)),ne=.5411961*V+te,re=1.306562965*U+te,ie=.707106781*(H=R+I),ae=P+ie,oe=P-ie;e[f+40]=oe+ne,e[f+24]=oe-ne,e[f+8]=ae+re,e[f+56]=ae-re,f++}for(u=0;u<64;++u)d=e[u]*t[u],p[u]=d>0?d+.5|0:d-.5|0;return p}(e,t),l=0;l<64;++l)m[C[l]]=c[l];var u=m[0]-n;n=m[0],u==0?N(r[0]):(N(r[f[a=32767+u]]),N(d[a]));for(var h=63;h>0&&m[h]==0;)h--;if(h==0)return N(o),n;for(var g,_=1;_<=h;){for(var v=_;m[_]==0&&_<=h;)++_;var y=_-v;if(y>=16){g=y>>4;for(var b=1;b<=g;++b)N(s);y&=15}a=32767+m[_],N(i[(y<<4)+f[a]]),N(d[a]),_++}return h!=63&&N(o),n}function L(e){e=Math.min(Math.max(e,1),100),a!=e&&(function(e){for(var t=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],n=0;n<64;n++){var r=o((t[n]*e+50)/100);r=Math.min(Math.max(r,1),255),s[C[n]]=r}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var d=o((i[a]*e+50)/100);d=Math.min(Math.max(d,1),255),c[C[a]]=d}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],p=0,m=0;m<8;m++)for(var h=0;h<8;h++)l[p]=1/(s[C[p]]*f[m]*f[h]*8),u[p]=1/(c[C[p]]*f[m]*f[h]*8),p++}(Math.floor(e<50?5e3/e:200-2*e)),a=e)}this.encode=function(e,a){a&&L(a),h=[],g=0,_=7,F(65496),F(65504),F(16),P(74),P(70),P(73),P(70),P(0),P(1),P(1),P(0),F(1),F(1),P(0),P(0),function(){F(65499),F(132),P(0);for(var e=0;e<64;e++)P(s[e]);P(1);for(var t=0;t<64;t++)P(c[t])}(),function(e,t){F(65472),F(17),P(8),F(t),F(e),P(3),P(1),P(17),P(0),P(2),P(17),P(1),P(3),P(17),P(1)}(e.width,e.height),function(){F(65476),F(418),P(0);for(var e=0;e<16;e++)P(w[e+1]);for(var t=0;t<=11;t++)P(T[t]);P(16);for(var n=0;n<16;n++)P(E[n+1]);for(var r=0;r<=161;r++)P(D[r]);P(1);for(var i=0;i<16;i++)P(O[i+1]);for(var a=0;a<=11;a++)P(k[a]);P(17);for(var o=0;o<16;o++)P(A[o+1]);for(var s=0;s<=161;s++)P(j[s])}(),F(65498),F(12),P(3),P(1),P(0),P(2),P(17),P(3),P(17),P(0),P(63),P(0);var o=0,d=0,f=0;g=0,_=7,this.encode.displayName=`_encode_`;for(var p,m,x,C,M,R,z,B,V,ee=e.data,H=e.width,U=e.height,W=4*H,te=0;te>3)*W+(z=4*(7&V)),te+B>=U&&(R-=W*(te+1+B-U)),p+z>=W&&(R-=p+z-W+4),m=ee[R++],x=ee[R++],C=ee[R++],v[V]=(S[m]+S[x+256|0]+S[C+512|0]>>16)-128,y[V]=(S[m+768|0]+S[x+1024|0]+S[C+1280|0]>>16)-128,b[V]=(S[m+1280|0]+S[x+1536|0]+S[C+1792|0]>>16)-128;o=I(v,l,o,t,r),d=I(y,u,d,n,i),f=I(b,u,f,n,i),p+=32}te+=8}if(_>=0){var ne=[];ne[1]=_+1,ne[0]=(1<<_+1)-1,N(ne)}return F(65497),new Uint8Array(h)},e||=50,function(){for(var e=String.fromCharCode,t=0;t<256;t++)x[t]=e(t)}(),t=M(w,T),n=M(O,k),r=M(E,D),i=M(A,j),function(){for(var e=1,t=2,n=1;n<=15;n++){for(var r=e;rr;r++)if(e[t+r]!=n.charCodeAt(r))return!0;return!1}function r(e,t,n,r,i){for(var a=0;ar+1?[]:new t),!(i.length>>0;e&n;)n>>>=1;return n?(e&n-1)+n:e}function l(e,n,r,i,a){t(!(i%r));do e[n+(i-=r)]=a;while(0=o),512>=o)var s=a(512);else if((s=a(o))==null)return 0;return function(e,n,r,i,o,s){var u,f,p=n,m=1<u;++u){if(h[u]>1<(S-=h[u]))return 0;for(;0=u;++u,o<<=1){if(x+=S<<=1,0>(S-=h[u]))return 0;for(;0v&&!(0>=(_-=h[v]));)++v,_<<=1;m+=C=1<<(_=v-r),e[n+(v=b&y)].g=_+r,e[n+v].value=p-n-v}i.g=u-r,i.value=s[f++],l(e,p+(b>>r),o,C,i),b=c(b,u)}}return x==2*g[15]-1?m:0}(e,n,r,i,o,s)}function d(){this.value=this.g=0}function f(){this.value=this.g=0}function p(){this.G=o(5,d),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Hn,f)}function m(e,n,r,i){t(e!=null),t(n!=null),t(2147483648>i),e.Ca=254,e.I=0,e.b=-8,e.Ka=0,e.oa=n,e.pa=r,e.Jd=n,e.Yc=r+i,e.Zc=4<=i?r+i-4+1:r,E(e)}function h(e,t){for(var n=0;0i),e.Sb=i,e.Ra=0,e.u=0,e.h=0,4>>=8,e.Ra+=e.oa[e.pa+e.bb]<>>0,++e.bb,e.u-=8;C(e)&&(e.h=1,e.u=0)}function y(e,n){if(t(0<=n),!e.h&&n<=Wn){var r=S(e)&Un[n];return e.u+=n,v(e),r}return e.h=1,e.u=0}function b(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function x(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function S(e){return e.Ra>>>(e.u&Gn-1)>>>0}function C(e){return t(e.bb<=e.Sb),e.h||e.bb==e.Sb&&e.u>Gn}function w(e,t){e.u=t,e.h=C(e)}function T(e){e.u>=Kn&&(t(e.u>=Kn),v(e))}function E(e){t(e!=null&&e.oa!=null),e.pa>>0,e.b+=8):(t(e!=null&&e.oa!=null),e.pae.b&&E(e);var r=e.b,i=n*t>>>8,a=(e.I>>>r>i)+0;for(a?(n-=i,e.I-=i+1<>>0):n=i+1,r=n,i=0;256<=r;)i+=8,r>>=8;return r=7^i+qn[r],e.b-=r,e.Ca=(n<>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=255&n}function A(e,t){return e[t+0]|e[t+1]<<8}function j(e,t){return A(e,t)|e[t+2]<<16}function M(e,t){return A(e,t)|A(e,t+2)<<16}function N(e,n){var r=1<=a||0>=o?0:(r[0]=a,i[0]=o,1)}function L(e,t){return e+(1<>>t}function R(e,t){return((4278255360&e)+(4278255360&t)>>>0&4278255360)+((16711935&e)+(16711935&t)>>>0&16711935)>>>0}function z(t,n){e[n]=function(n,r,i,a,o,s,c){var l;for(l=0;l>>1)+(e&t)>>>0}function ee(e){return 0<=e&&256>e?e:0>e?0:255>1))}function U(e,t,n){return Math.abs(t-n)-Math.abs(e-n)}function W(e,t,n,r,i,a,o){for(r=a[o-1],n=0;n>8&255,c=16711935&(c=(c=16711935&o)+((s<<16)+s));r[i+a]=(4278255360&o)+c>>>0}}function ne(e,t){t.jd=255&e,t.hd=e>>8&255,t.ud=e>>16&255}function re(e,t,n,r,i,a){var o;for(o=0;o>>8,l=s,u=255&(u=(u=s>>>16)+((e.jd<<24>>24)*(c<<24>>24)>>>5));l=255&(l=(l+=(e.hd<<24>>24)*(c<<24>>24)>>>5)+((e.ud<<24>>24)*(u<<24>>24)>>>5)),i[a+o]=(4278255360&s)+(u<<16)+l}}function ie(t,n,r,i,a){e[n]=function(e,t,n,r,o,s,c,l,u){for(r=c;r>t.b,f=t.Ea,p=t.K[0],m=t.w;if(8>d)for(t=(1<>=d}else e[`VP8LMapColor`+r](s,c,p,m,l,u,n,o,f)}}function ae(e,t,n,r,i){for(n=t+n;t>16&255,r[i++]=a>>8&255,r[i++]=255&a}}function oe(e,t,n,r,i){for(n=t+n;t>16&255,r[i++]=a>>8&255,r[i++]=255&a,r[i++]=a>>24&255}}function G(e,t,n,r,i){for(n=t+n;t>16&240|o>>12&15,o=240&o|o>>28&15;r[i++]=a,r[i++]=o}}function se(e,t,n,r,i){for(n=t+n;t>16&248|o>>13&7,o=o>>5&224|o>>3&31;r[i++]=a,r[i++]=o}}function ce(e,t,n,r,i){for(n=t+n;t>8&255,r[i++]=a>>16&255}}function le(e,t,n,i,a,o){if(o==0)for(n=t+n;t>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else r(i,a,e,t,n)}function ue(t,n){e[n][0]=e[t+`0`],e[n][1]=e[t+`1`],e[n][2]=e[t+`2`],e[n][3]=e[t+`3`],e[n][4]=e[t+`4`],e[n][5]=e[t+`5`],e[n][6]=e[t+`6`],e[n][7]=e[t+`7`],e[n][8]=e[t+`8`],e[n][9]=e[t+`9`],e[n][10]=e[t+`10`],e[n][11]=e[t+`11`],e[n][12]=e[t+`12`],e[n][13]=e[t+`13`],e[n][14]=e[t+`0`],e[n][15]=e[t+`0`]}function de(e){return e==Kr||e==qr||e==Jr||e==Yr}function fe(){this.eb=[],this.size=this.A=this.fb=0}function pe(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function me(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new fe,this.f.kb=new pe,this.sd=null}function he(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ge(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function _e(e){return alert(`todo:WebPSamplerProcessPlane`),e.T}function ve(e,t){var n=e.T,i=t.ba.f.RGBA,a=i.eb,o=i.fb+e.ka*i.A,s=bi[t.ba.S],c=e.y,l=e.O,u=e.f,d=e.N,f=e.ea,p=e.W,m=t.cc,h=t.dc,g=t.Mc,_=t.Nc,v=e.ka,y=e.ka+e.T,b=e.U,x=b+1>>1;for(v==0?s(c,l,null,null,u,d,f,p,u,d,f,p,a,o,null,null,b):(s(t.ec,t.fc,c,l,m,h,g,_,u,d,f,p,a,o-i.A,a,o,b),++n);v+2n,i=n==Br||n==Hr||n==Ur||n==Wr||n==12||de(n);if(t.memory=null,t.Ib=null,t.Jb=null,t.Nd=null,!zn(t.Oa,e,i?11:12))return 0;if(i&&de(n)&&Sn(),e.da)alert(`todo:use_scaling`);else{if(r){if(t.Ib=_e,e.Kb){if(n=e.U+1>>1,t.memory=a(e.U+2*n),t.memory==null)return 0;t.ec=t.memory,t.fc=0,t.cc=t.ec,t.dc=t.fc+e.U,t.Mc=t.cc,t.Nc=t.dc+n,t.Ib=ve,Sn()}}else alert(`todo:EmitYUV`);i&&(t.Jb=ye,r&&bn())}if(r&&!Pi){for(e=0;256>e;++e)Fi[e]=89858*(e-128)+ki>>Oi,Ri[e]=-22014*(e-128)+ki,Li[e]=-45773*(e-128),Ii[e]=113618*(e-128)+ki>>Oi;for(e=Ai;e>Oi,zi[e-Ai]=Ze(t,255),Bi[e-Ai]=Ze(t+8>>4,15);Pi=1}return 1}function xe(e){var n=e.ma,r=e.U,i=e.T;return t(!(1&e.ka)),0>=r||0>=i?0:(r=n.Ib(e,n),n.Jb!=null&&n.Jb(e,n,r),n.Dc+=r,1)}function Se(e){e.ma.memory=null}function Ce(e,t,n,r){return y(e,8)==47?(t[0]=y(e,14)+1,n[0]=y(e,14)+1,r[0]=y(e,1),y(e,3)==0?!e.h:0):0}function we(e,t){if(4>e)return e+1;var n=e-2>>1;return(2+(1&e)<>4)*e+(8-(15&n)))?n:1;var n}function Ee(e,t,n){var r=S(n),i=e[t+=255&r].g-8;return 0>>0,t(8>=r.g),e.g}function Oe(e,n,r){var i=e.xc;return t((n=i==0?0:e.vc[e.md*(r>>i)+(n>>i)])>E.b)*w;_x&&(A=x),(0,tr[D[O++]>>8&15])(m,h+ +k,y,b+k-x,A-k,y,b+k),k=A}h+=x,b+=x,++_&C||(E+=w)}p!=d.nc&&r(u,l-g,u,l+(p-f-1)*g,g);break;case 1:for(g=m,v=h,x=(m=d.Ea)-(b=m&~(y=(h=1<>d.b)*_;f=a),0o.o&&(i=o.o),r=i?r=0:(a[0]+=4*o.v,o.ka=r-o.j,o.U=o.va-o.v,o.T=i-r,r=1),r){if(c=c[0],11>(r=e.ca).S){var d=r.f.RGBA,f=(i=r.S,a=o.U,o=o.T,u=d.eb,d.A),p=o;for(d=d.fb+e.Ma*d.A;0i){var a=e.l.width,o=r.ca,s=r.tb+a*i,c=e.V,l=e.Ba+e.c*i,u=e.gc;t(e.ab==1),t(u[0].hc==3),$n(u[0],i,n,c,l,o,s),Me(r,i,n,o,s,a)}e.C=e.Ma=n}function K(e,n,r,i,a,o,s){var c=e.$/i,l=e.$%i,u=e.m,d=e.s,f=r+e.$,p=f;a=r+i*a;var m=r+i*o,h=280+d.ua,g=e.Pb?c:16777216,_=0=g){var E=f-r;t((g=e).Pb),g.wd=g.m,g.xd=E,0O.g?(w(x,x.u+O.g),E[D]=O.value,x=0):(w(x,x.u+O.g-256),t(256<=O.value),x=O.value),x==0&&(b=!0)}else x=Ee(y.G[0],y.H[0],u);if(u.h)break;if(b||256>x){if(!b)if(y.nd)n[f]=(y.qb|x<<8)>>>0;else{if(T(u),b=Ee(y.G[1],y.H[1],u),T(u),E=Ee(y.G[2],y.H[2],u),D=Ee(y.G[3],y.H[3],u),u.h)break;n[f]=(D<<24|b<<16|x<<8|E)>>>0}if(b=!1,++f,++l>=i&&(l=0,++c,s!=null&&c<=o&&!(c%16)&&s(e,c),_!=null))for(;p>>_.Mb]=x}else if(280>x){if(x=we(x-256,u),E=Ee(y.G[4],y.H[4],u),T(u),E=Te(i,E=we(E,u)),u.h)break;if(f-r=i;)l-=i,++c,s!=null&&c<=o&&!(c%16)&&s(e,c);if(t(f<=a),l&v&&(y=Oe(d,l,c)),_!=null)for(;p>>_.Mb]=x}else{if(!(x>>_.Mb]=x;x=f,t(!(b>>>(E=_).Xa)),n[x]=E.X[b],b=!0}b||t(u.h==C(u))}if(e.Pb&&u.h&&fo?o:c),e.a=0,e.$=f-r}return 1}return e.a=3,0}function Pe(e){t(e!=null),e.vc=null,e.yc=null,e.Ya=null;var n=e.Wa;n!=null&&(n.X=null),e.vb=null,t(e!=null)}function Fe(){var t=new un;return t==null?null:(t.a=0,t.xb=vi,ue(`Predictor`,`VP8LPredictors`),ue(`Predictor`,`VP8LPredictors_C`),ue(`PredictorAdd`,`VP8LPredictorsAdd`),ue(`PredictorAdd`,`VP8LPredictorsAdd_C`),Xn=te,nr=re,rr=ae,ir=oe,ar=G,or=se,sr=ce,e.VP8LMapColor32b=Qn,e.VP8LMapColor8b=er,t)}function Ie(e,n,r,s,c){var l=1,f=[e],m=[n],h=s.m,g=s.s,_=null,v=0;t:for(;;){if(r)for(;l&&y(h,1);){var b=f,x=m,C=s,E=1,D=C.m,O=C.gc[C.ab],k=y(D,2);if(C.Oc&1<=C.ab),k){case 0:case 1:O.b=y(D,3)+2,E=Ie(L(O.Ea,O.b),L(O.nc,O.b),0,C,O.K),O.K=O.K[0];break;case 3:var A,j=y(D,8)+1,M=16>I.b),B=a(z);if(B==null)A=0;else{var V=I.K[0],ee=I.w;for(B[0]=I.K[0][0],P=1;P<1*F;++P)B[P]=R(V[ee+P],B[P-1]);for(;P<4*z;++P)B[P]=0;I.K[0]=null,I.K[0]=B,A=1}}E=A;break;case 2:break;default:t(0)}l=E}}if(f=f[0],m=m[0],l&&y(h,1)&&!(l=1<=(v=y(h,4))&&11>=v)){s.a=3;break t}var H;if(H=l)e:{var U,W,te,ne=s,re=f,ie=m,ae=v,oe=r,G=ne.m,se=ne.s,ce=[null],le=1,ue=0,de=ni[ae];r:for(;;){if(oe&&y(G,1)){var fe=y(G,3)+2,pe=L(re,fe),me=L(ie,fe),he=pe*me;if(!Ie(pe,me,0,ne,ce))break r;for(ce=ce[0],se.xc=fe,U=0;U>8&65535;ce[U]=ge,ge>=le&&(le=ge+1)}}if(G.h)break r;for(W=0;5>W;++W){var _e=Qr[W];!W&&0=ye),xe=be;var Se=a(ue);if(xe==null||Se==null||ve==null){ne.a=1;break r}var Ce=ve;for(U=te=0;UW;++W){_e=Qr[W],Te[W]=Ce,Ee[W]=te,!W&&0Ze)break i}else qe=Ze;for(Je=0;Jeit)Qe[Je++]=it,it!=0&&(tt=it);else{var at=it==16,ot=it-16,st=Zr[ot],ct=y(et,Xr[ot])+st;if(Je+ct>Ze)break i;for(var lt=at?tt:0;0=W){var ut,dt=Se[0];for(ut=1;ut<_e;++ut)Se[ut]>dt&&(dt=Se[ut]);Ae+=dt}}if(we.nd=ke,we.Qb=0,ke&&(we.qb=(Te[3][Ee[3]+0].value<<24|Te[1][Ee[1]+0].value<<16|Te[2][Ee[2]+0].value)>>>0,Oe==0&&256>Te[0][Ee[0]+0].value&&(we.Qb=1,we.qb+=Te[0][Ee[0]+0].value<<8)),we.jc=!we.Qb&&6>Ae,we.jc){var ft,pt=we;for(ft=0;ft>=De(gt,8,ht),mt>>=De(pt.G[1][pt.H[1]+mt],16,ht),mt>>=De(pt.G[2][pt.H[2]+mt],0,ht),De(pt.G[3][pt.H[3]+mt],24,ht))}}}se.vc=ce,se.Wb=le,se.Ya=xe,se.yc=ve,H=1;break e}H=0}if(!(l=H)){s.a=3;break t}if(0n+1?[]:0),!(r.lengthe?0:e>t?t:e}function Qe(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=`void`,this.put=`VP8IoPutHook`,this.ac=`VP8IoSetupHook`,this.bc=`VP8IoTeardownHook`,this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function $e(){var e=new Xe;return e!=null&&(e.a=0,e.sc=`OK`,e.cb=0,e.Xb=0,oi||=rt),e}function et(e,t,n){return e.a==0&&(e.a=t,e.sc=n,e.cb=0),0}function tt(e,t,n){return 3<=n&&e[t+0]==157&&e[t+1]==1&&e[t+2]==42}function nt(e,n){if(e==null)return 0;if(e.a=0,e.sc=`OK`,n==null)return et(e,2,`null VP8Io passed to VP8GetHeaders()`);var r=n.data,a=n.w,o=n.ha;if(4>o)return et(e,7,`Truncated header.`);var s=r[a+0]|r[a+1]<<8|r[a+2]<<16,c=e.Od;if(c.Rb=!(1&s),c.td=s>>1&7,c.yd=s>>4&1,c.ub=s>>5,3o)return et(e,7,`cannot parse picture header`);if(!tt(r,a,o))return et(e,3,`Bad code word`);l.c=16383&(r[a+4]<<8|r[a+3]),l.Td=r[a+4]>>6,l.i=16383&(r[a+6]<<8|r[a+5]),l.Ud=r[a+6]>>6,a+=7,o-=7,e.za=l.c+15>>4,e.Ub=l.i+15>>4,n.width=l.c,n.height=l.i,n.Da=0,n.j=0,n.v=0,n.va=n.width,n.o=n.height,n.da=0,n.ib=n.width,n.hb=n.height,n.U=n.width,n.T=n.height,i((s=e.Pa).jb,0,255,s.jb.length),t((s=e.Qa)!=null),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(c.ub>o)return et(e,7,`bad partition length`);m(s=e.m,r,a,c.ub),a+=c.ub,o-=c.ub,c.Rb&&(l.Ld=D(s),l.Kd=D(s)),l=e.Qa;var u,d=e.Pa;if(t(s!=null),t(l!=null),l.Cb=D(s),l.Cb){if(l.Bb=D(s),D(s)){for(l.Fb=D(s),u=0;4>u;++u)l.Zb[u]=D(s)?g(s,7):0;for(u=0;4>u;++u)l.Lb[u]=D(s)?g(s,6):0}if(l.Bb)for(u=0;3>u;++u)d.jb[u]=D(s)?h(s,8):255}else l.Bb=0;if(s.Ka)return et(e,3,`cannot parse segment header`);if((l=e.ed).zd=D(s),l.Tb=h(s,6),l.wb=h(s,3),l.Pc=D(s),l.Pc&&D(s)){for(d=0;4>d;++d)D(s)&&(l.vd[d]=g(s,6));for(d=0;4>d;++d)D(s)&&(l.od[d]=g(s,6))}if(e.L=l.Tb==0?0:l.zd?1:2,s.Ka)return et(e,3,`cannot parse filter header`);var f=o;if(o=u=a,a=u+f,l=f,e.Xb=(1<l&&(p=l),m(e.Jc[+f],r,u,p),u+=p,l-=p,o+=3}m(e.Jc[+d],r,u,l),r=up;++p){if(f.Cb){var _=f.Zb[p];f.Fb||(_+=r)}else{if(0>16,8>v.Eb[1]&&(v.Eb[1]=8),v.Qc[0]=ii[Ze(_+d,117)],v.Qc[1]=ai[Ze(_+u,127)],v.lc=_+u}if(!c.Rb)return et(e,4,`Not a key frame.`);for(D(s),c=e.Pa,r=0;4>r;++r){for(o=0;8>o;++o)for(a=0;3>a;++a)for(l=0;11>l;++l)d=O(s,fi[r][o][a][l])?h(s,8):ui[r][o][a][l],c.Wc[r][o].Yb[a][l]=d;for(o=0;17>o;++o)c.Xc[r][o]=c.Wc[r][pi[o]]}return e.kc=D(s),e.kc&&(e.Bd=h(s,8)),e.cb=1}function rt(e,t,n,r,i,a,o){var s=t[i].Yb[n];for(n=0;16>i;++i){if(!O(e,s[n+0]))return i;for(;!O(e,s[n+1]);)if(s=t[++i].Yb[0],n=0,i==16)return 16;var c=t[i+1].Yb;if(O(e,s[n+2])){var l=e,u=0;if(O(l,(f=s)[(d=n)+3]))if(O(l,f[d+6])){for(s=0,d=2*(u=O(l,f[d+8]))+(f=O(l,f[d+9+u])),u=0,f=si[d];f[s];++s)u+=u+O(l,f[s]);u+=3+(8<(l=e).b&&E(l);var d,f=l.b,p=(d=l.Ca>>1)-(l.I>>f)>>31;--l.b,l.Ca+=p,l.Ca|=1,l.I-=(d+1&p)<>3),e[t+n+32*r]=-256&i?0>i?0:255:i}function ot(e,t,n,r,i,a){at(e,t,0,n,r+i),at(e,t,1,n,r+a),at(e,t,2,n,r-a),at(e,t,3,n,r-i)}function st(e){return(20091*e>>16)+e}function ct(e,t,n,r){var i,o=0,s=a(16);for(i=0;4>i;++i){var c=e[t+0]+e[t+8],l=e[t+0]-e[t+8],u=(35468*e[t+4]>>16)-st(e[t+12]),d=st(e[t+4])+(35468*e[t+12]>>16);s[o+0]=c+d,s[o+1]=l+u,s[o+2]=l-u,s[o+3]=c-d,o+=4,t++}for(i=o=0;4>i;++i)c=(e=s[o+0]+4)+s[o+8],l=e-s[o+8],u=(35468*s[o+4]>>16)-st(s[o+12]),at(n,r,0,0,c+(d=st(s[o+4])+(35468*s[o+12]>>16))),at(n,r,1,0,l+u),at(n,r,2,0,l-u),at(n,r,3,0,c-d),o++,r+=32}function lt(e,t,n,r){var i=e[t+0]+4,a=35468*e[t+4]>>16,o=st(e[t+4]),s=35468*e[t+1]>>16;ot(n,r,0,i+o,e=st(e[t+1]),s),ot(n,r,1,i+a,e,s),ot(n,r,2,i-a,e,s),ot(n,r,3,i-o,e,s)}function ut(e,t,n,r,i){ct(e,t,n,r),i&&ct(e,t+16,n,r+4)}function dt(e,t,n,r){lr(e,t+0,n,r,1),lr(e,t+32,n,r+128,1)}function ft(e,t,n,r){var i;for(e=e[t+0]+4,i=0;4>i;++i)for(t=0;4>t;++t)at(n,r,t,i,e)}function pt(e,t,n,r){e[t+0]&&fr(e,t+0,n,r),e[t+16]&&fr(e,t+16,n,r+4),e[t+32]&&fr(e,t+32,n,r+128),e[t+48]&&fr(e,t+48,n,r+128+4)}function mt(e,t,n,r){var i,o=a(16);for(i=0;4>i;++i){var s=e[t+0+i]+e[t+12+i],c=e[t+4+i]+e[t+8+i],l=e[t+4+i]-e[t+8+i],u=e[t+0+i]-e[t+12+i];o[0+i]=s+c,o[8+i]=s-c,o[4+i]=u+l,o[12+i]=u-l}for(i=0;4>i;++i)s=(e=o[0+4*i]+3)+o[3+4*i],c=o[1+4*i]+o[2+4*i],l=o[1+4*i]-o[2+4*i],u=e-o[3+4*i],n[r+0]=s+c>>3,n[r+16]=u+l>>3,n[r+32]=s-c>>3,n[r+48]=u-l>>3,r+=64}function ht(e,t,n){var r,i=t-32,a=Lr,o=255-e[i-1];for(r=0;rn;++n)r(e,t+32*n,e,t-32,16)}function bt(e,t){var n;for(n=16;0r;++r)i(t,n+32*r,e,16)}function St(e,t){var n,r=16;for(n=0;16>n;++n)r+=e[t-1+32*n]+e[t+n-32];xt(r>>5,e,t)}function Ct(e,t){var n,r=8;for(n=0;16>n;++n)r+=e[t-1+32*n];xt(r>>4,e,t)}function wt(e,t){var n,r=8;for(n=0;16>n;++n)r+=e[t+n-32];xt(r>>4,e,t)}function Tt(e,t){xt(128,e,t)}function J(e,t,n){return e+2*t+n+2>>2}function Et(e,t){var n,i=t-32;for(i=new Uint8Array([J(e[i-1],e[i+0],e[i+1]),J(e[i+0],e[i+1],e[i+2]),J(e[i+1],e[i+2],e[i+3]),J(e[i+2],e[i+3],e[i+4])]),n=0;4>n;++n)r(e,t+32*n,i,0,i.length)}function Dt(e,t){var n=e[t-1],r=e[t-1+32],i=e[t-1+64],a=e[t-1+96];k(e,t+0,16843009*J(e[t-1-32],n,r)),k(e,t+32,16843009*J(n,r,i)),k(e,t+64,16843009*J(r,i,a)),k(e,t+96,16843009*J(i,a,a))}function Ot(e,t){var n,r=4;for(n=0;4>n;++n)r+=e[t+n-32]+e[t-1+32*n];for(r>>=3,n=0;4>n;++n)i(e,t+32*n,r,4)}function kt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1-32],o=e[t+0-32],s=e[t+1-32],c=e[t+2-32],l=e[t+3-32];e[t+0+96]=J(r,i,e[t-1+96]),e[t+1+96]=e[t+0+64]=J(n,r,i),e[t+2+96]=e[t+1+64]=e[t+0+32]=J(a,n,r),e[t+3+96]=e[t+2+64]=e[t+1+32]=e[t+0+0]=J(o,a,n),e[t+3+64]=e[t+2+32]=e[t+1+0]=J(s,o,a),e[t+3+32]=e[t+2+0]=J(c,s,o),e[t+3+0]=J(l,c,s)}function At(e,t){var n=e[t+1-32],r=e[t+2-32],i=e[t+3-32],a=e[t+4-32],o=e[t+5-32],s=e[t+6-32],c=e[t+7-32];e[t+0+0]=J(e[t+0-32],n,r),e[t+1+0]=e[t+0+32]=J(n,r,i),e[t+2+0]=e[t+1+32]=e[t+0+64]=J(r,i,a),e[t+3+0]=e[t+2+32]=e[t+1+64]=e[t+0+96]=J(i,a,o),e[t+3+32]=e[t+2+64]=e[t+1+96]=J(a,o,s),e[t+3+64]=e[t+2+96]=J(o,s,c),e[t+3+96]=J(s,c,c)}function jt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1-32],o=e[t+0-32],s=e[t+1-32],c=e[t+2-32],l=e[t+3-32];e[t+0+0]=e[t+1+64]=a+o+1>>1,e[t+1+0]=e[t+2+64]=o+s+1>>1,e[t+2+0]=e[t+3+64]=s+c+1>>1,e[t+3+0]=c+l+1>>1,e[t+0+96]=J(i,r,n),e[t+0+64]=J(r,n,a),e[t+0+32]=e[t+1+96]=J(n,a,o),e[t+1+32]=e[t+2+96]=J(a,o,s),e[t+2+32]=e[t+3+96]=J(o,s,c),e[t+3+32]=J(s,c,l)}function Mt(e,t){var n=e[t+0-32],r=e[t+1-32],i=e[t+2-32],a=e[t+3-32],o=e[t+4-32],s=e[t+5-32],c=e[t+6-32],l=e[t+7-32];e[t+0+0]=n+r+1>>1,e[t+1+0]=e[t+0+64]=r+i+1>>1,e[t+2+0]=e[t+1+64]=i+a+1>>1,e[t+3+0]=e[t+2+64]=a+o+1>>1,e[t+0+32]=J(n,r,i),e[t+1+32]=e[t+0+96]=J(r,i,a),e[t+2+32]=e[t+1+96]=J(i,a,o),e[t+3+32]=e[t+2+96]=J(a,o,s),e[t+3+64]=J(o,s,c),e[t+3+96]=J(s,c,l)}function Nt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1+96];e[t+0+0]=n+r+1>>1,e[t+2+0]=e[t+0+32]=r+i+1>>1,e[t+2+32]=e[t+0+64]=i+a+1>>1,e[t+1+0]=J(n,r,i),e[t+3+0]=e[t+1+32]=J(r,i,a),e[t+3+32]=e[t+1+64]=J(i,a,a),e[t+3+64]=e[t+2+64]=e[t+0+96]=e[t+1+96]=e[t+2+96]=e[t+3+96]=a}function Pt(e,t){var n=e[t-1+0],r=e[t-1+32],i=e[t-1+64],a=e[t-1+96],o=e[t-1-32],s=e[t+0-32],c=e[t+1-32],l=e[t+2-32];e[t+0+0]=e[t+2+32]=n+o+1>>1,e[t+0+32]=e[t+2+64]=r+n+1>>1,e[t+0+64]=e[t+2+96]=i+r+1>>1,e[t+0+96]=a+i+1>>1,e[t+3+0]=J(s,c,l),e[t+2+0]=J(o,s,c),e[t+1+0]=e[t+3+32]=J(n,o,s),e[t+1+32]=e[t+3+64]=J(r,n,o),e[t+1+64]=e[t+3+96]=J(i,r,n),e[t+1+96]=J(a,i,r)}function Ft(e,t){var n;for(n=0;8>n;++n)r(e,t+32*n,e,t-32,8)}function It(e,t){var n;for(n=0;8>n;++n)i(e,t,e[t-1],8),t+=32}function Lt(e,t,n){var r;for(r=0;8>r;++r)i(t,n+32*r,e,8)}function Rt(e,t){var n,r=8;for(n=0;8>n;++n)r+=e[t+n-32]+e[t-1+32*n];Lt(r>>4,e,t)}function zt(e,t){var n,r=4;for(n=0;8>n;++n)r+=e[t+n-32];Lt(r>>3,e,t)}function Bt(e,t){var n,r=4;for(n=0;8>n;++n)r+=e[t-1+32*n];Lt(r>>3,e,t)}function Vt(e,t){Lt(128,e,t)}function Ht(e,t,n){var r=e[t-n],i=e[t+0],a=3*(i-r)+Fr[1020+e[t-2*n]-e[t+n]],o=Ir[112+(a+4>>3)];e[t-n]=Lr[255+r+Ir[112+(a+3>>3)]],e[t+0]=Lr[255+i-o]}function Ut(e,t,n,r){var i=e[t+0],a=e[t+n];return Rr[255+e[t-2*n]-e[t-n]]>r||Rr[255+a-i]>r}function Wt(e,t,n,r){return 4*Rr[255+e[t-n]-e[t+0]]+Rr[255+e[t-2*n]-e[t+n]]<=r}function Gt(e,t,n,r,i){var a=e[t-3*n],o=e[t-2*n],s=e[t-n],c=e[t+0],l=e[t+n],u=e[t+2*n],d=e[t+3*n];return 4*Rr[255+s-c]+Rr[255+o-l]>r?0:Rr[255+e[t-4*n]-a]<=i&&Rr[255+a-o]<=i&&Rr[255+o-s]<=i&&Rr[255+d-u]<=i&&Rr[255+u-l]<=i&&Rr[255+l-c]<=i}function Y(e,t,n,r){var i=2*r+1;for(r=0;16>r;++r)Wt(e,t+r,n,i)&&Ht(e,t+r,n)}function Kt(e,t,n,r){var i=2*r+1;for(r=0;16>r;++r)Wt(e,t+r*n,1,i)&&Ht(e,t+r*n,1)}function qt(e,t,n,r){var i;for(i=3;0>7,_=18*v+63>>7,v=9*v+63>>7;c[l-3*u]=Lr[255+c[l-3*u]+v],c[l-2*u]=Lr[255+d+_],c[l-u]=Lr[255+f+g],c[l+0]=Lr[255+p-g],c[l+u]=Lr[255+m-_],c[l+2*u]=Lr[255+h-v]}t+=r}}function Xt(e,t,n,r,i,a,o,s){for(a=2*a+1;0>3)],h=Ir[112+(h+3>>3)],g=m+1>>1;c[l-2*u]=Lr[255+c[l-2*u]+g],c[l-u]=Lr[255+d+h],c[l+0]=Lr[255+f-m],c[l+u]=Lr[255+p-g]}t+=r}}function Zt(e,t,n,r,i,a){Yt(e,t,n,1,16,r,i,a)}function Qt(e,t,n,r,i,a){Yt(e,t,1,n,16,r,i,a)}function $t(e,t,n,r,i,a){var o;for(o=3;0l?0:255:l)&255,l=c,i[a+s]=u}}function hn(e,n,i,o){var s=n.width,c=n.o;if(t(e!=null&&n!=null),0>i||0>=o||i+o>c)return null;if(!e.Cc){if(e.ga==null){var l;if(e.ga=new dn,(l=e.ga==null)||(l=n.width*n.o,t(e.Gb.length==0),e.Gb=a(l),e.Uc=0,e.Gb==null?l=0:(e.mb=e.Gb,e.nb=e.Uc,e.rc=null,l=1),l=!l),!l){l=e.ga;var u=e.Fa,d=e.P,f=e.qc,p=e.mb,m=e.nb,h=d+1,g=f-1,v=l.l;if(t(u!=null&&p!=null&&n!=null),yi[0]=null,yi[1]=fn,yi[2]=pn,yi[3]=mn,l.ca=p,l.tb=m,l.c=n.width,l.i=n.height,t(0=f)n=0;else if(l.$a=3&u[d+0],l.Z=u[d+0]>>2&3,l.Lc=u[d+0]>>4&3,d=u[d+0]>>6&3,0>l.$a||1=l.c*l.i;l=!n}if(l)return null;e.ga.Lc==1?o=c-i:e.Ga=0}t(e.ga!=null),t(i+o<=c);t:{if(n=(u=e.ga).c,c=u.l.o,u.$a==0){if(h=e.rc,g=e.Vc,v=e.Fa,d=e.P+1+i*n,f=e.mb,p=e.nb+i*n,t(d<=e.P+e.qc),u.Z!=0)for(t(yi[u.Z]!=null),l=0;l=n)n=1;else if(u.ic||bn(),u.ic){u=l.V,h=l.Ba,g=l.c;var y=l.i,b=(v=1,d=l.$/g,f=l.$%g,p=l.m,m=l.s,l.$),x=g*y,S=g*n,w=m.wc,E=b(y=Ee(E.G[0],E.H[0],p)))u[h+b]=y,++b,++f>=g&&(f=0,++d<=n&&!(d%16)&&Ne(l,d));else{if(!(280>y)){v=0;break e}y=we(y-256,p);var D,O=Ee(E.G[4],E.H[4],p);if(T(p),!(b>=(O=Te(g,O=we(O,p)))&&x-b>=y)){v=0;break e}for(D=0;D=g;)f-=g,++d<=n&&!(d%16)&&Ne(l,d);bn?n:d);break e}!v||p.h&&b=c&&(e.Cc=1),o=1}if(!o)return null;if(e.Cc&&((o=e.ga)!=null&&(o.mc=null),e.ga=null,0>23,s[c+4*o+1]=s[c+4*o+1]*d>>23,s[c+4*o+2]=s[c+4*o+2]*d>>23)}t+=a}}function _n(e,t,n,r,i){for(;0>4)*c>>16;e[t+2*a+0]=(240&o|o>>4)*c>>16&240|(15&o|o<<4)*c>>16>>4&15,e[t+2*a+1]=240&l|s}t+=i}}function vn(e,t,n,r,i,a,o,s){var c,l,u=255;for(l=0;l>8}function bn(){Er=gn,Dr=_n,Or=vn,kr=yn}function xn(n,r,i){e[n]=function(e,n,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){var b,x=y-1>>1,S=s[c+0]|l[u+0]<<16,C=d[f+0]|p[m+0]<<16;t(e!=null);var w=3*S+C+131074>>2;for(r(e[n+0],255&w,w>>16,h,g),a!=null&&(w=3*C+S+131074>>2,r(a[o+0],255&w,w>>16,_,v)),b=1;b<=x;++b){var T=s[c+b]|l[u+b]<<16,E=d[f+b]|p[m+b]<<16,D=S+T+C+E+524296,O=D+2*(T+C)>>3;w=O+S>>1,S=(D=D+2*(S+E)>>3)+T>>1,r(e[n+2*b-1],255&w,w>>16,h,g+(2*b-1)*i),r(e[n+2*b-0],255&S,S>>16,h,g+(2*b-0)*i),a!=null&&(w=D+C>>1,S=O+E>>1,r(a[o+2*b-1],255&w,w>>16,_,v+(2*b-1)*i),r(a[o+2*b+0],255&S,S>>16,_,v+(2*b+0)*i)),S=T,C=E}1&y||(w=3*S+C+131074>>2,r(e[n+y-1],255&w,w>>16,h,g+(y-1)*i),a!=null&&(w=3*C+S+131074>>2,r(a[o+y-1],255&w,w>>16,_,v+(y-1)*i)))}}function Sn(){bi[zr]=xi,bi[Br]=Ci,bi[Vr]=Si,bi[Hr]=wi,bi[Ur]=Ti,bi[Wr]=Ei,bi[Gr]=Di,bi[Kr]=Ci,bi[qr]=wi,bi[Jr]=Ti,bi[Yr]=Ei}function Cn(e){return e&~Ni?0>e?0:255:e>>Mi}function wn(e,t){return Cn((19077*e>>8)+(26149*t>>8)-14234)}function Tn(e,t,n){return Cn((19077*e>>8)-(6419*t>>8)-(13320*n>>8)+8708)}function En(e,t){return Cn((19077*e>>8)+(33050*t>>8)-17685)}function Dn(e,t,n,r,i){r[i+0]=wn(e,n),r[i+1]=Tn(e,t,n),r[i+2]=En(e,t)}function On(e,t,n,r,i){r[i+0]=En(e,t),r[i+1]=Tn(e,t,n),r[i+2]=wn(e,n)}function kn(e,t,n,r,i){var a=Tn(e,t,n);t=a<<3&224|En(e,t)>>3,r[i+0]=248&wn(e,n)|a>>5,r[i+1]=t}function An(e,t,n,r,i){var a=240&En(e,t)|15;r[i+0]=240&wn(e,n)|Tn(e,t,n)>>4,r[i+1]=a}function jn(e,t,n,r,i){r[i+0]=255,Dn(e,t,n,r,i+1)}function Mn(e,t,n,r,i){On(e,t,n,r,i),r[i+3]=255}function Nn(e,t,n,r,i){Dn(e,t,n,r,i),r[i+3]=255}function Pn(t,n,r){e[t]=function(e,t,i,a,o,s,c,l,u){for(var d=l+(-2&u)*r;l!=d;)n(e[t+0],i[a+0],o[s+0],c,l),n(e[t+1],i[a+0],o[s+0],c,l+r),t+=2,++a,++s,l+=2*r;1&u&&n(e[t+0],i[a+0],o[s+0],c,l)}}function Fn(e,t,n){return n==0?e==0?t==0?6:5:t==0?4:0:n}function In(e,t,n,r,i){switch(e>>>30){case 3:lr(t,n,r,i,0);break;case 2:ur(t,n,r,i);break;case 1:fr(t,n,r,i)}}function Ln(e,t){var n,a,o=t.M,s=t.Nb,c=e.oc,l=e.pc+40,u=e.oc,d=e.pc+584,f=e.oc,p=e.pc+600;for(n=0;16>n;++n)c[l+32*n-1]=129;for(n=0;8>n;++n)u[d+32*n-1]=129,f[p+32*n-1]=129;for(0n;++n)r(c,l+32*n-4,c,l+32*n+12,4);for(n=-1;8>n;++n)r(u,d+32*n-4,u,d+32*n+4,4),r(f,p+32*n-4,f,p+32*n+4,4)}var h=e.Gd,g=e.Hd+a,_=m.ad,v=m.Hc;if(0=e.za-1?i(y,b,h[g].y[15],4):r(y,b,h[g+1].y,0,4)),n=0;4>n;n++)y[b+128+n]=y[b+256+n]=y[b+384+n]=y[b+0+n];for(n=0;16>n;++n,v<<=2)y=c,b=l+Vi[n],hi[m.Ob[n]](y,b),In(v,_,16*n,y,b)}else if(y=Fn(a,o,m.Ob[0]),mi[y](c,l),v!=0)for(n=0;16>n;++n,v<<=2)In(v,_,16*n,c,l+Vi[n]);for(n=m.Gc,y=Fn(a,o,m.Dd),gi[y](u,d),gi[y](f,p),v=_,y=u,b=d,255&(m=0|n)&&(170&m?dr(v,256,y,b):pr(v,256,y,b)),m=f,v=p,255&(n>>=8)&&(170&n?dr(_,320,m,v):pr(_,320,m,v)),on;++n)r(h,g+n*e.R,c,l+32*n,16);for(n=0;8>n;++n)r(_,m+n*e.B,u,d+32*n,8),r(v,y+n*e.B,f,p+32*n,8)}}function Rn(e,r,i,a,o,s,c,l,u){var d=[0],f=[0],p=0,m=u==null?0:u.kd,h=u??new sn;if(e==null||12>i)return 7;h.data=e,h.w=r,h.ha=i,r=[r],i=[i],h.gb=[h.gb];t:{var g=r,v=i,y=h.gb;if(t(e!=null),t(v!=null),t(y!=null),y[0]=0,12<=v[0]&&!n(e,g[0],`RIFF`)){if(n(e,g[0]+8,`WEBP`)){y=3;break t}var b=M(e,g[0]+4);if(12>b||4294967286v[0]-8){y=7;break t}y[0]=b,g[0]+=12,v[0]-=12}y=0}if(y!=0)return y;for(b=0y[0])y=7;else{if(!n(S,v[0],`VP8X`)){if(M(S,v[0]+4)!=10){y=3;break t}if(18>y[0]){y=7;break t}var E=M(S,v[0]+8),D=1+j(S,v[0]+12);if(2147483648<=D*(S=1+j(S,v[0]+15))){y=3;break t}T!=null&&(T[0]=E),C!=null&&(C[0]=D),w!=null&&(w[0]=S),v[0]+=18,y[0]-=18,O[0]=1}y=0}}if(p=p[0],g=g[0],y!=0)return y;if(v=!!(2&g),!b&&p)return 3;if(s!=null&&(s[0]=!!(16&g)),c!=null&&(c[0]=v),l!=null&&(l[0]=0),c=d[0],g=f[0],p&&v&&u==null){y=0;break}if(4>i){y=7;break}if(b&&p||!b&&!p&&!n(e,r[0],`ALPH`)){i=[i],h.na=[h.na],h.P=[h.P],h.Sa=[h.Sa];t:{E=e,y=r,b=i;var O=h.gb;C=h.na,w=h.P,T=h.Sa,D=22,t(E!=null),t(b!=null),S=y[0];var k=b[0];for(t(C!=null),t(T!=null),C[0]=null,w[0]=null,T[0]=0;;){if(y[0]=S,b[0]=k,8>k){y=7;break t}var A=M(E,S+4);if(4294967286O){y=3;break t}if(!n(E,S,`VP8 `)||!n(E,S,`VP8L`)){y=0;break t}if(k[0]b[0])y=7;else{if(S||D){if(O=M(O,E+4),12<=C&&O>C-12){y=3;break t}if(m&&O>b[0]-8){y=7;break t}w[0]=O,y[0]+=8,b[0]-=8,T[0]=D}else T[0]=5<=b[0]&&O[E+0]==47&&!(O[E+4]>>5),w[0]=b[0];y=0}if(i=i[0],h.Ja=h.Ja[0],h.xa=h.xa[0],r=r[0],y!=0)break;if(4294967286i){y=7;break}l=c,m=g,v=s,e==null||5>i?e=0:5<=i&&e[r+0]==47&&!(e[r+4]>>5)?(b=[0],O=[0],C=[0],_(w=new x,e,r,i),Ce(w,b,O,C)?(l!=null&&(l[0]=b[0]),m!=null&&(m[0]=O[0]),v!=null&&(v[0]=C[0]),e=1):e=0):e=0}else{if(10>i){y=7;break}l=g,e==null||10>i||!tt(e,r+3,i-3)?e=0:(m=e[r+0]|e[r+1]<<8|e[r+2]<<16,v=16383&(e[r+7]<<8|e[r+6]),e=16383&(e[r+9]<<8|e[r+8]),1&m||3<(m>>1&7)||!(m>>4&1)||m>>5>=h.Ja||!v||!e?e=0:(c&&(c[0]=v),l&&(l[0]=e),e=1))}if(!e||(c=c[0],g=g[0],p&&(d[0]!=c||f[0]!=g)))return 3;u!=null&&(u[0]=h,u.offset=r-u.w,t(4294967286>r-u.w),t(u.offset==u.ha-i));break}return y==0||y==7&&p&&u==null?(s!=null&&(s[0]|=h.na!=null&&0n||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=c||a+s>r||o+c>i))return 0;if(t.v=a,t.j=o,t.va=a+s,t.o=o+c,t.U=s,t.T=c,t.da=e!=null&&0e.S){var t=e.f.RGBA;t.fb+=(e.height-1)*t.A,t.A=-t.A}else t=e.f.kb,e=e.height,t.O+=(e-1)*t.fa,t.fa=-t.fa,t.N+=(e-1>>1)*t.Ab,t.Ab=-t.Ab,t.W+=(e-1>>1)*t.Db,t.Db=-t.Db,t.F!=null&&(t.J+=(e-1)*t.lb,t.lb=-t.lb);return 0}function Vn(e,t,n,r){if(r==null||0>=e||0>=t)return 2;if(n!=null){if(n.Da){var i=n.cd,o=n.bd,s=-2&n.v,c=-2&n.j;if(0>s||0>c||0>=i||0>=o||s+i>e||c+o>t)return 2;e=i,t=o}if(n.da){if(!I(e,t,i=[n.ib],o=[n.hb]))return 2;e=i[0],t=o[0]}}r.width=e,r.height=t;t:{var l=r.width,u=r.height;if(e=r.S,0>=l||0>=u||!(e>=zr&&13>e))e=2;else{if(0>=r.Rd&&r.sd==null){s=o=i=t=0;var d=(c=l*Gi[e])*u;if(11>e||(o=(u+1)/2*(t=(l+1)/2),e==12&&(s=(i=l)*u)),(u=a(d+2*o+s))==null){e=1;break t}r.sd=u,11>e?((l=r.f.RGBA).eb=u,l.fb=0,l.A=c,l.size=d):((l=r.f.kb).y=u,l.O=0,l.fa=c,l.Fd=d,l.f=u,l.N=0+d,l.Ab=t,l.Cd=o,l.ea=u,l.W=0+d+o,l.Db=t,l.Ed=o,e==12&&(l.F=u,l.J=0+d+2*o),l.Tc=s,l.lb=i)}if(t=1,i=r.S,o=r.width,s=r.height,i>=zr&&13>i)if(11>i)e=r.f.RGBA,t&=(c=Math.abs(e.A))*(s-1)+o<=e.size,t&=c>=o*Gi[i],t&=e.eb!=null;else{e=r.f.kb,c=(o+1)/2,d=(s+1)/2,l=Math.abs(e.fa),u=Math.abs(e.Ab);var f=Math.abs(e.Db),p=Math.abs(e.lb),m=p*(s-1)+o;t&=l*(s-1)+o<=e.Fd,t&=u*(d-1)+c<=e.Cd,t=(t&=f*(d-1)+c<=e.Ed)&l>=o&u>=c&f>=c,t&=e.y!=null,t&=e.f!=null,t&=e.ea!=null,i==12&&(t&=p>=o,t&=m<=e.Tc,t&=e.F!=null)}else t=0;e=t?0:2}}return e!=0||n!=null&&n.fd&&(e=Bn(r)),e}var Hn=64,Un=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Wn=24,Gn=32,Kn=8,qn=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];z(`Predictor0`,`PredictorAdd0`),e.Predictor0=function(){return 4278190080},e.Predictor1=function(e){return e},e.Predictor2=function(e,t,n){return t[n+0]},e.Predictor3=function(e,t,n){return t[n+1]},e.Predictor4=function(e,t,n){return t[n-1]},e.Predictor5=function(e,t,n){return V(V(e,t[n+1]),t[n+0])},e.Predictor6=function(e,t,n){return V(e,t[n-1])},e.Predictor7=function(e,t,n){return V(e,t[n+0])},e.Predictor8=function(e,t,n){return V(t[n-1],t[n+0])},e.Predictor9=function(e,t,n){return V(t[n+0],t[n+1])},e.Predictor10=function(e,t,n){return V(V(e,t[n-1]),V(t[n+0],t[n+1]))},e.Predictor11=function(e,t,n){var r=t[n+0];return 0>=U(r>>24&255,e>>24&255,(t=t[n-1])>>24&255)+U(r>>16&255,e>>16&255,t>>16&255)+U(r>>8&255,e>>8&255,t>>8&255)+U(255&r,255&e,255&t)?r:e},e.Predictor12=function(e,t,n){var r=t[n+0];return(ee((e>>24&255)+(r>>24&255)-((t=t[n-1])>>24&255))<<24|ee((e>>16&255)+(r>>16&255)-(t>>16&255))<<16|ee((e>>8&255)+(r>>8&255)-(t>>8&255))<<8|ee((255&e)+(255&r)-(255&t)))>>>0},e.Predictor13=function(e,t,n){var r=t[n-1];return(H((e=V(e,t[n+0]))>>24&255,r>>24&255)<<24|H(e>>16&255,r>>16&255)<<16|H(e>>8&255,r>>8&255)<<8|H(255&e,255&r))>>>0};var Jn=e.PredictorAdd0;e.PredictorAdd1=W,z(`Predictor2`,`PredictorAdd2`),z(`Predictor3`,`PredictorAdd3`),z(`Predictor4`,`PredictorAdd4`),z(`Predictor5`,`PredictorAdd5`),z(`Predictor6`,`PredictorAdd6`),z(`Predictor7`,`PredictorAdd7`),z(`Predictor8`,`PredictorAdd8`),z(`Predictor9`,`PredictorAdd9`),z(`Predictor10`,`PredictorAdd10`),z(`Predictor11`,`PredictorAdd11`),z(`Predictor12`,`PredictorAdd12`),z(`Predictor13`,`PredictorAdd13`);var Yn=e.PredictorAdd2;ie(`ColorIndexInverseTransform`,`MapARGB`,`32b`,function(e){return e>>8&255},function(e){return e}),ie(`VP8LColorIndexInverseTransformAlpha`,`MapAlpha`,`8b`,function(e){return e},function(e){return e>>8&255});var Xn,Zn=e.ColorIndexInverseTransform,Qn=e.MapARGB,$n=e.VP8LColorIndexInverseTransformAlpha,er=e.MapAlpha,tr=e.VP8LPredictorsAdd=[];tr.length=16,(e.VP8LPredictors=[]).length=16,(e.VP8LPredictorsAdd_C=[]).length=16,(e.VP8LPredictors_C=[]).length=16;var nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar=a(511),jr=a(2041),Mr=a(225),Nr=a(767),Pr=0,Fr=jr,Ir=Mr,Lr=Nr,Rr=Ar,zr=0,Br=1,Vr=2,Hr=3,Ur=4,Wr=5,Gr=6,Kr=7,qr=8,Jr=9,Yr=10,Xr=[2,3,7],Zr=[3,3,11],Qr=[280,256,256,256,40],$r=[0,1,1,1,0],ei=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],ti=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],ni=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ri=8,ii=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ai=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],oi=null,si=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ci=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],li=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],ui=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],di=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],fi=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],pi=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],mi=[],hi=[],gi=[],_i=1,vi=2,yi=[],bi=[];xn(`UpsampleRgbLinePair`,Dn,3),xn(`UpsampleBgrLinePair`,On,3),xn(`UpsampleRgbaLinePair`,Nn,4),xn(`UpsampleBgraLinePair`,Mn,4),xn(`UpsampleArgbLinePair`,jn,4),xn(`UpsampleRgba4444LinePair`,An,2),xn(`UpsampleRgb565LinePair`,kn,2);var xi=e.UpsampleRgbLinePair,Si=e.UpsampleBgrLinePair,Ci=e.UpsampleRgbaLinePair,wi=e.UpsampleBgraLinePair,Ti=e.UpsampleArgbLinePair,Ei=e.UpsampleRgba4444LinePair,Di=e.UpsampleRgb565LinePair,Oi=16,ki=1<c.ca.S||(alert(`todo:WebPInitConvertARGBToYUV`),c.ca.f.kb.F!=null&&bn()),c.Pb&&0(p=s.Md)?0:100m;++m)12>(g=l.pb[m]).lc&&(g.ia=p*Ui[0>g.lc?0:g.lc]>>3),h|=g.ia;h&&(alert(`todo:VP8InitRandom`),l.ia=1)}l.Ga=s.Id,100l.Ga&&(l.Ga=0)}(function(e,n){if(e==null)return 0;if(n==null)return et(e,2,`NULL VP8Io parameter in VP8Decode().`);if(!e.cb&&!nt(e,n))return 0;if(t(e.cb),n.ac==null||n.ac(n)){n.ob&&(e.L=0);var s=Hi[e.L];if(e.L==2?(e.yb=0,e.zb=0):(e.yb=n.v-s>>4,e.zb=n.j-s>>4,0>e.yb&&(e.yb=0),0>e.zb&&(e.zb=0)),e.Va=n.o+15+s>>4,e.Hb=n.va+15+s>>4,e.Hb>e.za&&(e.Hb=e.za),e.Va>e.Ub&&(e.Va=e.Ub),0s;++s){var l;if(e.Qa.Cb){var u=e.Qa.Lb[s];e.Qa.Fb||(u+=c.Tb)}else u=c.Tb;for(l=0;1>=l;++l){var d=e.gd[s][l],f=u;if(c.Pc&&(f+=c.vd[0],l&&(f+=c.od[0])),0<(f=0>f?0:63>2:p>>1)>9-c.wb&&(p=9-c.wb),1>p&&(p=1),d.dd=p,d.tc=2*f+p,d.ld=40<=f?2:+(15<=f)}else d.tc=0;d.La=l}}}s=0}else et(e,6,`Frame setup failed`),s=e.a;if(s=s==0){if(s){e.$c=0,0e.Vb){if(e.Vb=0,e.Ec=a(d),e.Fc=0,e.Ec==null){s=et(e,1,`no memory during frame initialization.`);break e}e.Vb=d}d=e.Ec,f=e.Fc,e.Ac=d,e.Bc=f,f+=c,e.Gd=o(m,Ye),e.Hd=0,e.rb=o(h+1,Ge),e.sb=1,e.wa=g?o(g,We):null,e.Y=0,e.D.Nb=0,e.D.wa=e.wa,e.D.Y=e.Y,0=s;++s)Ar[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)jr[1020+s]=-128>s?-128:127=s;++s)Mr[112+s]=-16>s?-16:15=s;++s)Nr[255+s]=0>s?0:255d;++d){var v,y=m[0+d];for(v=0;4>v;++v){y=di[f[p+v]][y];for(var b=li[O(u,y[0])];0>3;for(b=0;256>b;b+=16)d[g+b]=E}C=1,w=p[0]}var D=15&u.la,k=15&_.la;for(b=0;4>b;++b){var A=1&k;for(E=S=0;4>E;++E)D=D>>1|(A=(T=oi(f,w,T=A+(1&D),h.Sc,C,d,g))>C)<<7,S=S<<2|(3>=4,k=k>>1|A<<7,v=(v<<8|S)>>>0}for(w=D,C=k>>4,x=0;4>x;x+=2){for(S=0,D=u.la>>4+x,k=_.la>>4+x,b=0;2>b;++b){for(A=1&k,E=0;2>E;++E)T=A+(1&D),D=D>>1|(A=0<(T=oi(f,p[2],T,h.Qc,0,d,g)))<<3,S=S<<2|(3>=2,k=k>>1|A<<5}y|=S<<4*x,w|=D<<4<=s.zb&&s.M<=s.Va,s.Aa==0)e:{if(o.M=s.M,o.uc=u,Ln(s,o),l=1,o=(S=s.D).Nb,u=(y=Hi[s.L])*s.R,f=y/2*s.B,b=16*o*s.R,E=8*o*s.B,p=s.sa,m=s.ta-u+b,h=s.qa,d=s.ra-f+E,g=s.Ha,_=s.Ia-f+E,k=(D=S.M)==0,v=D>=s.Va-1,s.Aa==2&&Ln(s,S),S.uc)for(A=(T=s).D.M,t(T.D.uc),S=T.yb;Sc.o&&(D=c.o),c.F=null,c.J=null,s.Fa!=null&&0>1),c.W+=s.B*(y>>1),c.F!=null&&(c.J+=c.width*y)),S>1,c.W+=c.v>>1,c.F!=null&&(c.J+=c.v),c.ka=S-c.j,c.U=c.va-c.v,c.T=D-S,l=c.put(c))}o+1!=s.Ic||v||(r(s.sa,s.ta-u,p,m+16*s.R,u),r(s.qa,s.ra-f,h,d+8*s.B,f),r(s.Ha,s.Ia-f,g,_+8*s.B,f))}if(!l)return et(e,6,`Output aborted.`)}return 1}(e,n),n.bc!=null&&n.bc(n),s&=1}return s?(e.cb=0,s):0})(e,c)||(n=e.a)}}else n=e.a}n==0&&d.Oa!=null&&d.Oa.fd&&(n=Bn(d.ba))}d=n}u=d==0?11>u?f.f.RGBA.eb:f.f.kb.y:null}else u=null;return u};var Gi=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function l(e,t){for(var n=``,r=0;r<4;r++)n+=String.fromCharCode(e[t++]);return n}function u(e,t){return e[t+0]|e[t+1]<<8}function d(e,t){return(e[t+0]|e[t+1]<<8|e[t+2]<<16)>>>0}function f(e,t){return(e[t+0]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}new c;var p=[0],m=[0],h=[],g=new c,_=e,v=function(e,t){var n={},r=0,i=!1,a=0,o=0;if(n.frames=[],!function(e,t){for(var n=0;n<4;n++)if(e[t+n]!=`RIFF`.charCodeAt(n))return!0;return!1}(e,t)){for(f(e,t+=4),t+=8;t>1&1}s!=`ANMF`&&(t+=p)}return n}}(_,0);v.response=_,v.rgbaoutput=!0,v.dataurl=!1;var y=v.header?v.header:null,b=v.frames?v.frames:null;if(y){y.loop_counter=y.loop_count,p=[y.canvas_height],m=[y.canvas_width];for(var x=0;x`+n.replace(/&/g,`&`).replace(//g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)+``,this.internal.__metadata__.metadataObjectNumber=this.internal.newObject(),this.internal.write(`<< /Type /Metadata /Subtype /XML /Length `+e.length+` >>`),this.internal.write(`stream`),this.internal.write(e),this.internal.write(`endstream`),this.internal.write(`endobj`)}function Gs(){this.internal.__metadata__.metadataObjectNumber&&this.internal.write(`/Metadata `+this.internal.__metadata__.metadataObjectNumber+` 0 R`)}(function(e){var t,r,i,a,o,s,c,l,u,d=function(e){return e||={},this.isStrokeTransparent=e.isStrokeTransparent||!1,this.strokeOpacity=e.strokeOpacity||1,this.strokeStyle=e.strokeStyle||`#000000`,this.fillStyle=e.fillStyle||`#000000`,this.isFillTransparent=e.isFillTransparent||!1,this.fillOpacity=e.fillOpacity||1,this.font=e.font||`10px sans-serif`,this.textBaseline=e.textBaseline||`alphabetic`,this.textAlign=e.textAlign||`left`,this.lineWidth=e.lineWidth||1,this.lineJoin=e.lineJoin||`miter`,this.lineCap=e.lineCap||`butt`,this.path=e.path||[],this.transform=e.transform===void 0?new l:e.transform.clone(),this.globalCompositeOperation=e.globalCompositeOperation||`normal`,this.globalAlpha=e.globalAlpha||1,this.clip_path=e.clip_path||[],this.currentPoint=e.currentPoint||new s,this.miterLimit=e.miterLimit||10,this.lastPoint=e.lastPoint||new s,this.lineDashOffset=e.lineDashOffset||0,this.lineDash=e.lineDash||[],this.margin=e.margin||[0,0,0,0],this.prevPageLastElemOffset=e.prevPageLastElemOffset||0,this.ignoreClearRect=typeof e.ignoreClearRect!=`boolean`||e.ignoreClearRect,this};e.events.push([`initialized`,function(){this.context2d=new f(this),t=this.internal.f2,r=this.internal.getCoordinateString,i=this.internal.getVerticalCoordinateString,a=this.internal.getHorizontalCoordinate,o=this.internal.getVerticalCoordinate,s=this.internal.Point,c=this.internal.Rectangle,l=this.internal.Matrix,u=new d}]);var f=function(e){Object.defineProperty(this,"canvas",{get:function(){return{parentNode:!1,style:!1}}});var t=e;Object.defineProperty(this,"pdf",{get:function(){return t}});var n=!1;Object.defineProperty(this,"pageWrapXEnabled",{get:function(){return n},set:function(e){n=!!e}});var r=!1;Object.defineProperty(this,"pageWrapYEnabled",{get:function(){return r},set:function(e){r=!!e}});var i=0;Object.defineProperty(this,"posX",{get:function(){return i},set:function(e){isNaN(e)||(i=e)}});var a=0;Object.defineProperty(this,"posY",{get:function(){return a},set:function(e){isNaN(e)||(a=e)}}),Object.defineProperty(this,"margin",{get:function(){return u.margin},set:function(e){var t;typeof e==`number`?t=[e,e,e,e]:((t=[,,,,])[0]=e[0],t[1]=e.length>=2?e[1]:t[0],t[2]=e.length>=3?e[2]:t[0],t[3]=e.length>=4?e[3]:t[1]),u.margin=t}});var o=!1;Object.defineProperty(this,"autoPaging",{get:function(){return o},set:function(e){o=e}});var s=0;Object.defineProperty(this,"lastBreak",{get:function(){return s},set:function(e){s=e}});var c=[];Object.defineProperty(this,"pageBreaks",{get:function(){return c},set:function(e){c=e}}),Object.defineProperty(this,"ctx",{get:function(){return u},set:function(e){e instanceof d&&(u=e)}}),Object.defineProperty(this,"path",{get:function(){return u.path},set:function(e){u.path=e}});var l=[];Object.defineProperty(this,"ctxStack",{get:function(){return l},set:function(e){l=e}}),Object.defineProperty(this,"fillStyle",{get:function(){return this.ctx.fillStyle},set:function(e){var t=p(e);this.ctx.fillStyle=t.style,this.ctx.isFillTransparent=t.a===0,this.ctx.fillOpacity=t.a,this.pdf.setFillColor(t.r,t.g,t.b,{a:t.a}),this.pdf.setTextColor(t.r,t.g,t.b,{a:t.a})}}),Object.defineProperty(this,"strokeStyle",{get:function(){return this.ctx.strokeStyle},set:function(e){var t=p(e);this.ctx.strokeStyle=t.style,this.ctx.isStrokeTransparent=t.a===0,this.ctx.strokeOpacity=t.a,t.a===0?this.pdf.setDrawColor(255,255,255):(t.a,this.pdf.setDrawColor(t.r,t.g,t.b))}}),Object.defineProperty(this,"lineCap",{get:function(){return this.ctx.lineCap},set:function(e){[`butt`,`round`,`square`].indexOf(e)!==-1&&(this.ctx.lineCap=e,this.pdf.setLineCap(e))}}),Object.defineProperty(this,"lineWidth",{get:function(){return this.ctx.lineWidth},set:function(e){isNaN(e)||(this.ctx.lineWidth=e,this.pdf.setLineWidth(e))}}),Object.defineProperty(this,"lineJoin",{get:function(){return this.ctx.lineJoin},set:function(e){[`bevel`,`round`,`miter`].indexOf(e)!==-1&&(this.ctx.lineJoin=e,this.pdf.setLineJoin(e))}}),Object.defineProperty(this,"miterLimit",{get:function(){return this.ctx.miterLimit},set:function(e){isNaN(e)||(this.ctx.miterLimit=e,this.pdf.setMiterLimit(e))}}),Object.defineProperty(this,"textBaseline",{get:function(){return this.ctx.textBaseline},set:function(e){this.ctx.textBaseline=e}}),Object.defineProperty(this,"textAlign",{get:function(){return this.ctx.textAlign},set:function(e){[`right`,`end`,`center`,`left`,`start`].indexOf(e)!==-1&&(this.ctx.textAlign=e)}});var f=null,m=null,h=null;Object.defineProperty(this,"fontFaces",{get:function(){return h},set:function(e){f=null,m=null,h=e}}),Object.defineProperty(this,"font",{get:function(){return this.ctx.font},set:function(e){var t;if(this.ctx.font=e,(t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z0-9]+?)\s*$/i.exec(e))!==null){var n=t[1];t[2];var r=t[3],i=t[4];t[5];var a=t[6],o=/^([.\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=Math.floor(o===`px`?parseFloat(i)*this.pdf.internal.scaleFactor:o===`em`?parseFloat(i)*this.pdf.getFontSize():parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(e){var t,n,r=[],i=e.trim();if(i===``)return Ds;if(i in _s)return[_s[i]];for(;i!==``;){switch(n=null,t=(i=ys(i)).charAt(0)){case`"`:case`'`:n=bs(i.substring(1),t);break;default:n=xs(i)}if(n===null||(r.push(n[0]),(i=ys(n[1]))!==``&&i.charAt(0)!==`,`))return Ds;i=i.replace(/^,/,``)}return r}(a);if(this.fontFaces){var c=function(e,t,n){for(var r=(n||={}).defaultFontFamily||`times`,i=Object.assign({},gs,n.genericFontFamilies||{}),a=null,o=null,s=0;s=700||n===`bold`)&&(l=`bold`),n===`italic`&&(l+=`italic`),l.length===0&&(l=`normal`);for(var u=``,d={arial:`Helvetica`,Arial:`Helvetica`,verdana:`Helvetica`,Verdana:`Helvetica`,helvetica:`Helvetica`,Helvetica:`Helvetica`,"sans-serif":`Helvetica`,fixed:`Courier`,monospace:`Courier`,terminal:`Courier`,cursive:`Times`,fantasy:`Times`,serif:`Times`},p=0;p=2*Math.PI&&(r=0,i=2*Math.PI),this.path.push({type:`arc`,x:e,y:t,radius:n,startAngle:r,endAngle:i,counterclockwise:a})},f.prototype.arcTo=function(e,t,n,r,i){throw Error(`arcTo not implemented.`)},f.prototype.rect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.rect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.rect`);this.moveTo(e,t),this.lineTo(e+n,t),this.lineTo(e+n,t+r),this.lineTo(e,t+r),this.lineTo(e,t),this.lineTo(e+n,t),this.lineTo(e,t)},f.prototype.fillRect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.fillRect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.fillRect`);if(!m.call(this)){var i={};this.lineCap!==`butt`&&(i.lineCap=this.lineCap,this.lineCap=`butt`),this.lineJoin!==`miter`&&(i.lineJoin=this.lineJoin,this.lineJoin=`miter`),this.beginPath(),this.rect(e,t,n,r),this.fill(),i.hasOwnProperty(`lineCap`)&&(this.lineCap=i.lineCap),i.hasOwnProperty(`lineJoin`)&&(this.lineJoin=i.lineJoin)}},f.prototype.strokeRect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.strokeRect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.strokeRect`);h.call(this)||(this.beginPath(),this.rect(e,t,n,r),this.stroke())},f.prototype.clearRect=function(e,t,n,r){if(isNaN(e)||isNaN(t)||isNaN(n)||isNaN(r))throw Wa.error(`jsPDF.context2d.clearRect: Invalid arguments`,arguments),Error(`Invalid arguments passed to jsPDF.context2d.clearRect`);this.ignoreClearRect||(this.fillStyle=`#ffffff`,this.fillRect(e,t,n,r))},f.prototype.save=function(e){e=typeof e!=`boolean`||e;for(var t=this.pdf.internal.getCurrentPageInfo().pageNumber,n=0;n0||this.margin[1]>0||this.margin[2]>0||this.margin[3]>0};f.prototype.drawImage=function(e,t,n,r,i,a,o,s,u){var d=this.pdf.getImageProperties(e),f=1,p=1,m=1,h=1;r!==void 0&&s!==void 0&&(m=s/r,h=u/i,f=d.width/r*s/r,p=d.height/i*u/i),a===void 0&&(a=t,o=n,t=0,n=0),r!==void 0&&s===void 0&&(s=r,u=i),r===void 0&&s===void 0&&(s=d.width,u=d.height);var v=this.ctx.transform.decompose(),x=F(v.rotate.shx),C=new l,w=(C=(C=(C=C.multiply(v.translate)).multiply(v.skew)).multiply(v.scale)).applyToRectangle(new c(a-t*m,o-n*h,r*f,i*p));if(this.autoPaging){for(var T,E=_.call(this,w),D=[],O=0;Ok||jC||T0)){for(;c>=0;c--)if(!0!==i[c-1].close&&!0!==i[c-1].begin){i[c-1].deltas.push(n),i[c-1].abs.push(s);break}}break;case`bct`:n=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(n);break;case`qct`:var l=a[o-1].x+2/3*(s.x1-a[o-1].x),u=a[o-1].y+2/3*(s.y1-a[o-1].y),d=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),p=s.x,g=s.y;n=[l-a[o-1].x,u-a[o-1].y,d-a[o-1].x,f-a[o-1].y,p-a[o-1].x,g-a[o-1].y],i[i.length-1].deltas.push(n);break;case`arc`:i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}r=t?null:e===`stroke`?`stroke`:`fill`;for(var _=!1,v=0;v=.01&&(r=this.pdf.internal.getFontSize(),this.pdf.setFontSize(r*e.scale),i=this.lineWidth,this.lineWidth=i*e.scale);var R=this.autoPaging!==`text`;if(R||L.y+L.h<=j){if(R||L.y>=k&&L.x<=N){var z=R?e.text:this.pdf.splitTextToSize(e.text,e.maxWidth||N-L.x)[0],B=y([JSON.parse(JSON.stringify(m))],this.posX+this.margin[3],-F+k+this.ctx.prevPageLastElemOffset)[0],V=R&&(O>E||O=.01&&(this.pdf.setFontSize(r),this.lineWidth=i)}}else e.scale>=.01&&(r=this.pdf.internal.getFontSize(),this.pdf.setFontSize(r*e.scale),i=this.lineWidth,this.lineWidth=i*e.scale),this.pdf.text(e.text,d.x+this.posX,d.y+this.posY,{angle:e.angle,align:t,renderingMode:e.renderingMode,maxWidth:e.maxWidth}),e.scale>=.01&&(this.pdf.setFontSize(r),this.lineWidth=i)},A=function(e,t,n,a){n||=0,a||=0,this.pdf.internal.out(r(e+n)+` `+i(t+a)+` l`)},j=function(e,t,n){return this.pdf.lines(e,t,n,null,null)},M=function(e,n,r,i,s,c,l,u){this.pdf.internal.out([t(a(r+e)),t(o(i+n)),t(a(s+e)),t(o(c+n)),t(a(l+e)),t(o(u+n)),`c`].join(` `))},N=function(e,t,n,r){for(var i=2*Math.PI,a=Math.PI/2;t>n;)t-=i;var o=Math.abs(n-t);o1e-5;){var u=l+c*Math.min(o,a);s.push(P.call(this,e,l,u)),o-=Math.abs(u-l),l=u}return s},P=function(e,t,n){var r=(n-t)/2,i=e*Math.cos(r),a=e*Math.sin(r),o=i,s=-a,c=o*o+s*s,l=c+o*i+s*a,u=4/3*(Math.sqrt(2*c*l)-l)/(o*a-s*i),d=o-u*s,f=s+u*o,p=d,m=-f,h=r+t,g=Math.cos(h),_=Math.sin(h);return{x1:e*Math.cos(t),y1:e*Math.sin(t),x2:d*g-f*_,y2:d*_+f*g,x3:p*g-m*_,y3:p*_+m*g,x4:e*Math.cos(n),y4:e*Math.sin(n)}},F=function(e){return 180*e/Math.PI},I=function(e,t,n,r,i,a){var o=e+.5*(n-e),s=t+.5*(r-t),l=i+.5*(n-i),u=a+.5*(r-a),d=Math.min(e,i,o,l),f=Math.max(e,i,o,l),p=Math.min(t,a,s,u),m=Math.max(t,a,s,u);return new c(d,p,f-d,m-p)},L=function(e,t,n,r,i,a,o,s){var l,u,d,f,p,m,h,g,_,v,y,b,x,S,C=n-e,w=r-t,T=i-n,E=a-r,D=o-i,O=s-a;for(u=0;u<41;u++)_=(h=(d=e+(l=u/40)*C)+l*((p=n+l*T)-d))+l*(p+l*(i+l*D-p)-h),v=(g=(f=t+l*w)+l*((m=r+l*E)-f))+l*(m+l*(a+l*O-m)-g),u==0?(y=_,b=v,x=_,S=v):(y=Math.min(y,_),b=Math.min(b,v),x=Math.max(x,_),S=Math.max(S,v));return new c(Math.round(y),Math.round(b),Math.round(x-y),Math.round(S-b))},R=function(){if(this.prevLineDash||this.ctx.lineDash.length||this.ctx.lineDashOffset){var e,t,n=(e=this.ctx.lineDash,t=this.ctx.lineDashOffset,JSON.stringify({lineDash:e,lineDashOffset:t}));this.prevLineDash!==n&&(this.pdf.setLineDash(this.ctx.lineDash,this.ctx.lineDashOffset),this.prevLineDash=n)}}})(Z.API),function(e){var t=function(e){var t,n,r,i,a,o,s,c,l,u;for(/[^\x00-\xFF]/.test(e),n=[],r=0,i=(e+=t=`\0\0\0\0`.slice(e.length%4||4)).length;i>r;r+=4)(a=(e.charCodeAt(r)<<24)+(e.charCodeAt(r+1)<<16)+(e.charCodeAt(r+2)<<8)+e.charCodeAt(r+3))===0?n.push(122):(o=(a=((a=((a=((a=(a-(u=a%85))/85)-(l=a%85))/85)-(c=a%85))/85)-(s=a%85))/85)%85,n.push(o+33,s+33,c+33,l+33,u+33));return function(e,t){for(var n=t;n>0;n--)e.pop()}(n,t.length),String.fromCharCode.apply(String,n)+`~>`},n=function(e){var t,n,r,i,a,o=String,s=`length`,c=255,l=`charCodeAt`,u=`slice`,d=`replace`;for(e[u](-2),e=e[u](0,-2)[d](/\s/g,``)[d](`z`,`!!!!!`),r=[],i=0,a=(e+=t=`uuuuu`[u](e[s]%5||5))[s];a>i;i+=5)n=52200625*(e[l](i)-33)+614125*(e[l](i+1)-33)+7225*(e[l](i+2)-33)+85*(e[l](i+3)-33)+(e[l](i+4)-33),r.push(c&n>>24,c&n>>16,c&n>>8,c&n);return function(e,t){for(var n=t;n>0;n--)e.pop()}(r,t[s]),o.fromCharCode.apply(o,r)},r=function(e){return e.split(``).map(function(e){return(`0`+e.charCodeAt().toString(16)).slice(-2)}).join(``)+`>`},i=function(e){var t=new RegExp(/^([0-9A-Fa-f]{2})+$/);if((e=e.replace(/\s/g,``)).indexOf(`>`)!==-1&&(e=e.substr(0,e.indexOf(`>`))),e.length%2&&(e+=`0`),!1===t.test(e))return``;for(var n=``,r=0;rimport(`html2canvas`),[])).catch(function(e){return Promise.reject(Error(`Could not load html2canvas: `+e))}).then(function(e){return e.default?e.default:e})}function i(){return(X.DOMPurify?Promise.resolve(X.DOMPurify):e(()=>import(`./purify.es-adlwq8Pz.js`),[])).catch(function(e){return Promise.reject(Error(`Could not load dompurify: `+e))}).then(function(e){return e.default?e.default:e})}var a=function(e){var t=n(e);return t===`undefined`?`undefined`:t===`string`||e instanceof String?`string`:t===`number`||e instanceof Number?`number`:t===`function`||e instanceof Function?`function`:e&&e.constructor===Array?`array`:e&&e.nodeType===1?`element`:t===`object`?`object`:`unknown`},o=function(e,t){var n=document.createElement(e);for(var r in t.className&&(n.className=t.className),t.innerHTML&&t.dompurify&&(n.innerHTML=t.dompurify.sanitize(t.innerHTML)),t.style)n.style[r]=t.style[r];return n},s=function e(t,n){for(var r=t.nodeType===3?document.createTextNode(t.nodeValue):t.cloneNode(!1),i=t.firstChild;i;i=i.nextSibling)!0!==n&&i.nodeType===1&&i.nodeName===`SCRIPT`||r.appendChild(e(i,n));return t.nodeType===1&&(t.nodeName===`CANVAS`?(r.width=t.width,r.height=t.height,r.getContext(`2d`).drawImage(t,0,0)):t.nodeName!==`TEXTAREA`&&t.nodeName!==`SELECT`||(r.value=t.value),r.addEventListener(`load`,function(){r.scrollTop=t.scrollTop,r.scrollLeft=t.scrollLeft},!0)),r},c=function e(t){var n=Object.assign(e.convert(Promise.resolve()),JSON.parse(JSON.stringify(e.template))),r=e.convert(Promise.resolve(),n);return(r=r.setProgress(1,e,1,[e])).set(t)};(c.prototype=Object.create(Promise.prototype)).constructor=c,c.convert=function(e,t){return e.__proto__=t||c.prototype,e},c.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:`file.pdf`,margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:`transparent`}},c.prototype.from=function(e,t){return this.then(function(){switch(t||=function(e){switch(a(e)){case`string`:return`string`;case`element`:return e.nodeName.toLowerCase()===`canvas`?`canvas`:`element`;default:return`unknown`}}(e),t){case`string`:return this.then(i).then(function(t){return this.set({src:o(`div`,{innerHTML:e,dompurify:t})})});case`element`:return this.set({src:e});case`canvas`:return this.set({canvas:e});case`img`:return this.set({img:e});default:return this.error(`Unknown source type.`)}})},c.prototype.to=function(e){switch(e){case`container`:return this.toContainer();case`canvas`:return this.toCanvas();case`img`:return this.toImg();case`pdf`:return this.toPdf();default:return this.error(`Invalid target.`)}},c.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(`Cannot duplicate - no source HTML.`)},function(){return this.prop.pageSize||this.setPageSize()}]).then(function(){var e={position:`relative`,display:`inline-block`,width:(typeof this.opt.width!=`number`||isNaN(this.opt.width)||typeof this.opt.windowWidth!=`number`||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+`px`,left:0,right:0,top:0,margin:`auto`,backgroundColor:this.opt.backgroundColor},t=s(this.prop.src,this.opt.html2canvas.javascriptEnabled);t.tagName===`BODY`&&(e.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+`px`),this.prop.overlay=o(`div`,{className:`html2pdf__overlay`,style:{position:`fixed`,overflow:`hidden`,zIndex:1e3,left:`-100000px`,right:0,bottom:0,top:0}}),this.prop.container=o(`div`,{className:`html2pdf__container`,style:e}),this.prop.container.appendChild(t),this.prop.container.firstChild.appendChild(o(`div`,{style:{clear:`both`,border:`0 none transparent`,margin:0,padding:0,height:0}})),this.prop.container.style.float=`none`,this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=`relative`,this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+`px`})},c.prototype.toCanvas=function(){return this.thenList([function(){return document.body.contains(this.prop.container)||this.toContainer()}]).then(r).then(function(e){var t=Object.assign({},this.opt.html2canvas);return delete t.onrendered,e(this.prop.container,t)}).then(function(e){(this.opt.html2canvas.onrendered||function(){})(e),this.prop.canvas=e,document.body.removeChild(this.prop.overlay)})},c.prototype.toContext2d=function(){return this.thenList([function(){return document.body.contains(this.prop.container)||this.toContainer()}]).then(r).then(function(e){var t=this.opt.jsPDF,n=this.opt.fontFaces,r=typeof this.opt.width!=`number`||isNaN(this.opt.width)||typeof this.opt.windowWidth!=`number`||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:r,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:`#ffffff`,imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,t.context2d.autoPaging=this.opt.autoPaging===void 0||this.opt.autoPaging,t.context2d.posX=this.opt.x,t.context2d.posY=this.opt.y,t.context2d.margin=this.opt.margin,t.context2d.fontFaces=n,n)for(var a=0;al&&(c=u,u=l,l=c);else{if(e!==`l`&&e!==`landscape`)throw`Invalid orientation: `+e;e=`l`,l>u&&(c=u,u=l,l=c)}return{width:u,height:l,unit:t,k:a,orientation:e}},t.html=function(e,t){(t||={}).callback=t.callback||function(){},t.html2canvas=t.html2canvas||{},t.html2canvas.canvas=t.html2canvas.canvas||this.canvas,t.jsPDF=t.jsPDF||this,t.fontFaces=t.fontFaces?t.fontFaces.map(ms):null;var n=new c(t);return t.worker?n:n.from(e).doCallback()}}(Z.API),Z.API.addJS=function(e){var t,n,r=function(e){for(var t=``,n=0;n=0&&e[a]===`\\`;a--)i++;t+=i%2==0?`\\`+r:r}else t+=r}return t}(e);return this.internal.events.subscribe(`postPutResources`,function(){t=this.internal.newObject(),this.internal.out(`<<`),this.internal.out(`/Names [(EmbeddedJS) `+(t+1)+` 0 R]`),this.internal.out(`>>`),this.internal.out(`endobj`),n=this.internal.newObject(),this.internal.out(`<<`),this.internal.out(`/S /JavaScript`),this.internal.out(`/JS (`+r+`)`),this.internal.out(`>>`),this.internal.out(`endobj`)}),this.internal.events.subscribe(`putCatalog`,function(){t!==void 0&&n!==void 0&&this.internal.out(`/Names <>`)}),this},function(e){var t;e.events.push([`postPutResources`,function(){var e=this,n=/^(\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var r=e.outline.render().split(/\r\n/),i=0;i> endobj`)}var f=e.internal.newObject();for(e.internal.write(`<< /Names [ `),i=0;i>`,`endobj`),t=e.internal.newObject(),e.internal.write(`<< /Dests `+f+` 0 R`),e.internal.write(`>>`,`endobj`)}}]),e.events.push([`putCatalog`,function(){var e=this;e.outline.root.children.length>0&&(e.internal.write(`/Outlines`,this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&e.internal.write(`/Names `+t+` 0 R`))}]),e.events.push([`initialized`,function(){var e=this;e.outline={createNamedDestinations:!1,root:{children:[]}},e.outline.add=function(e,t,n){var r={title:t,options:n,children:[]};return e??=this.root,e.children.push(r),r},e.outline.render=function(){return this.ctx={},this.ctx.val=``,this.ctx.pdf=e,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},e.outline.genIds_r=function(t){t.id=e.internal.newObjectDeferred();for(var n=0;n0&&(this.line(`/First `+this.makeRef(e.children[0])),this.line(`/Last `+this.makeRef(e.children[e.children.length-1]))),this.line(`/Count `+this.count_r({count:0},e)),this.objEnd()},e.outline.renderItems=function(t){for(var n=this.ctx.pdf.internal.getVerticalCoordinateString,r=0;r0&&this.line(`/Prev `+this.makeRef(t.children[r-1])),r0&&(this.line(`/First `+this.makeRef(i.children[0])),this.line(`/Last `+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(`/Count `+a),i.options&&i.options.pageNumber){var o=e.internal.getPageInfo(i.options.pageNumber);this.line(`/Dest [`+o.objId+` 0 R /XYZ 0 `+n(0)+` 0]`)}this.objEnd()}for(var s=0;se.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`?null:T(BigInt.prototype.toString),b=typeof Symbol>`u`?null:T(Symbol.prototype.toString),x=T(Object.prototype.hasOwnProperty),S=T(Object.prototype.toString),C=T(RegExp.prototype.test),w=E(TypeError);function T(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return ee(e,t,n)}}function E(e){return function(){return te(e,[...arguments])}}function D(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ae;if(s&&s(e,null),!_(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(c(t)||(t[r]=e),i=e)}e[i]=!0}return e}function O(e){for(let t=0;t/g),De=f(/\${[\w\W]*/g),Oe=f(/^data-[\-\w.\u00B7-\uFFFF]+$/),ke=f(/^aria-[\-\w]+$/),Ae=f(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),je=f(/^(?:\w+script|data):/i),Me=f(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ne=f(/^html$/i),Pe=f(/^[a-z][.\w]*(-[.\w]+)+$/i),j={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Fe=function(){return typeof window>`u`?null:window},Ie=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Le=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Re(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Fe(),t=e=>Re(e);if(t.version=`3.4.8`,t.removed=[],!e||!e.document||e.document.nodeType!==j.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,s=e.Node,c=e.Element,l=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let u=e.DOMParser,f=e.trustedTypes,m=c.prototype,ee=A(m,`cloneNode`),te=A(m,`remove`),ue=A(m,`nextSibling`),de=A(m,`childNodes`),y=A(m,`parentNode`),b=A(m,`shadowRoot`),S=A(m,`attributes`),T=s&&s.prototype?A(s.prototype,`nodeType`):null,E=s&&s.prototype?A(s.prototype,`nodeName`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let O,M=``,ze=0,N=function(e){if(ze>0)throw w(`The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`);ze++;try{return O.createHTML(e)}finally{ze--}},Be=n,Ve=Be.implementation,He=Be.createNodeIterator,Ue=Be.createDocumentFragment,We=Be.getElementsByTagName,Ge=r.importNode,P=Le();t.isSupported=typeof o==`function`&&typeof y==`function`&&Ve&&Ve.createHTMLDocument!==void 0;let Ke=Te,qe=Ee,Je=De,Ye=Oe,Xe=ke,Ze=je,Qe=Me,$e=Pe,et=Ae,F=null,tt=D({},[...me,...he,...ge,...ve,...be]),I=null,nt=D({},[...xe,...Se,...Ce,...we]),L=Object.seal(p(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),R=null,rt=null,z=Object.seal(p(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),it=!0,at=!0,ot=!1,st=!0,B=!1,ct=!0,V=!1,lt=!1,ut=!1,H=!1,dt=!1,ft=!1,pt=!0,mt=!1,ht=`user-content-`,gt=!0,_t=!1,U={},W=null,vt=D({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),yt=null,bt=D({},[`audio`,`video`,`img`,`source`,`image`,`track`]),xt=null,St=D({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Ct=`http://www.w3.org/1998/Math/MathML`,wt=`http://www.w3.org/2000/svg`,G=`http://www.w3.org/1999/xhtml`,K=G,Tt=!1,Et=null,Dt=D({},[Ct,wt,G],oe),Ot=D({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),kt=D({},[`annotation-xml`]),At=D({},[`title`,`style`,`font`,`a`,`script`]),jt=null,Mt=[`application/xhtml+xml`,`text/html`],q=null,J=null,Nt=n.createElement(`form`),Pt=function(e){return e instanceof RegExp||e instanceof Function},Ft=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(J&&J===e)return;(!e||typeof e!=`object`)&&(e={}),e=k(e),jt=Mt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,q=jt===`application/xhtml+xml`?oe:ae,F=x(e,`ALLOWED_TAGS`)&&_(e.ALLOWED_TAGS)?D({},e.ALLOWED_TAGS,q):tt,I=x(e,`ALLOWED_ATTR`)&&_(e.ALLOWED_ATTR)?D({},e.ALLOWED_ATTR,q):nt,Et=x(e,`ALLOWED_NAMESPACES`)&&_(e.ALLOWED_NAMESPACES)?D({},e.ALLOWED_NAMESPACES,oe):Dt,xt=x(e,`ADD_URI_SAFE_ATTR`)&&_(e.ADD_URI_SAFE_ATTR)?D(k(St),e.ADD_URI_SAFE_ATTR,q):St,yt=x(e,`ADD_DATA_URI_TAGS`)&&_(e.ADD_DATA_URI_TAGS)?D(k(bt),e.ADD_DATA_URI_TAGS,q):bt,W=x(e,`FORBID_CONTENTS`)&&_(e.FORBID_CONTENTS)?D({},e.FORBID_CONTENTS,q):vt,R=x(e,`FORBID_TAGS`)&&_(e.FORBID_TAGS)?D({},e.FORBID_TAGS,q):k({}),rt=x(e,`FORBID_ATTR`)&&_(e.FORBID_ATTR)?D({},e.FORBID_ATTR,q):k({}),U=x(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?k(e.USE_PROFILES):e.USE_PROFILES:!1,it=e.ALLOW_ARIA_ATTR!==!1,at=e.ALLOW_DATA_ATTR!==!1,ot=e.ALLOW_UNKNOWN_PROTOCOLS||!1,st=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,B=e.SAFE_FOR_TEMPLATES||!1,ct=e.SAFE_FOR_XML!==!1,V=e.WHOLE_DOCUMENT||!1,H=e.RETURN_DOM||!1,dt=e.RETURN_DOM_FRAGMENT||!1,ft=e.RETURN_TRUSTED_TYPE||!1,ut=e.FORCE_BODY||!1,pt=e.SANITIZE_DOM!==!1,mt=e.SANITIZE_NAMED_PROPS||!1,gt=e.KEEP_CONTENT!==!1,_t=e.IN_PLACE||!1,et=pe(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Ae,K=typeof e.NAMESPACE==`string`?e.NAMESPACE:G,Ot=x(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?k(e.MATHML_TEXT_INTEGRATION_POINTS):D({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),kt=x(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?k(e.HTML_INTEGRATION_POINTS):D({},[`annotation-xml`]);let t=x(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?k(e.CUSTOM_ELEMENT_HANDLING):p(null);if(L=p(null),x(t,`tagNameCheck`)&&Pt(t.tagNameCheck)&&(L.tagNameCheck=t.tagNameCheck),x(t,`attributeNameCheck`)&&Pt(t.attributeNameCheck)&&(L.attributeNameCheck=t.attributeNameCheck),x(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(L.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),B&&(at=!1),dt&&(H=!0),U&&(F=D({},be),I=p(null),U.html===!0&&(D(F,me),D(I,xe)),U.svg===!0&&(D(F,he),D(I,Se),D(I,we)),U.svgFilters===!0&&(D(F,ge),D(I,Se),D(I,we)),U.mathMl===!0&&(D(F,ve),D(I,Ce),D(I,we))),z.tagCheck=null,z.attributeCheck=null,x(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?z.tagCheck=e.ADD_TAGS:_(e.ADD_TAGS)&&(F===tt&&(F=k(F)),D(F,e.ADD_TAGS,q))),x(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?z.attributeCheck=e.ADD_ATTR:_(e.ADD_ATTR)&&(I===nt&&(I=k(I)),D(I,e.ADD_ATTR,q))),x(e,`ADD_URI_SAFE_ATTR`)&&_(e.ADD_URI_SAFE_ATTR)&&D(xt,e.ADD_URI_SAFE_ATTR,q),x(e,`FORBID_CONTENTS`)&&_(e.FORBID_CONTENTS)&&(W===vt&&(W=k(W)),D(W,e.FORBID_CONTENTS,q)),x(e,`ADD_FORBID_CONTENTS`)&&_(e.ADD_FORBID_CONTENTS)&&(W===vt&&(W=k(W)),D(W,e.ADD_FORBID_CONTENTS,q)),gt&&(F[`#text`]=!0),V&&D(F,[`html`,`head`,`body`]),F.table&&(D(F,[`tbody`]),delete R.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw w(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw w(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=O;O=e.TRUSTED_TYPES_POLICY;try{M=N(``)}catch(e){throw O=t,e}}else O===void 0&&e.TRUSTED_TYPES_POLICY!==null&&(O=Ie(f,i)),O&&typeof M==`string`&&(M=N(``));(P.uponSanitizeElement.length>0||P.uponSanitizeAttribute.length>0)&&F===tt&&(F=k(F)),P.uponSanitizeAttribute.length>0&&I===nt&&(I=k(I)),d&&d(e),J=e},It=D({},[...he,...ge,..._e]),Lt=D({},[...ve,...ye]),Rt=function(e){let t=y(e);(!t||!t.tagName)&&(t={namespaceURI:K,tagName:`template`});let n=ae(e.tagName),r=ae(t.tagName);return Et[e.namespaceURI]?e.namespaceURI===wt?t.namespaceURI===G?n===`svg`:t.namespaceURI===Ct?n===`svg`&&(r===`annotation-xml`||Ot[r]):!!It[n]:e.namespaceURI===Ct?t.namespaceURI===G?n===`math`:t.namespaceURI===wt?n===`math`&&kt[r]:!!Lt[n]:e.namespaceURI===G?t.namespaceURI===wt&&!kt[r]||t.namespaceURI===Ct&&!Ot[r]?!1:!Lt[n]&&(At[n]||!It[n]):!!(jt===`application/xhtml+xml`&&Et[e.namespaceURI]):!1},Y=function(e){g(t.removed,{element:e});try{y(e).removeChild(e)}catch{te(e)}},X=function(e,n){try{g(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{g(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(H||dt)try{Y(n)}catch{}else try{n.setAttribute(e,``)}catch{}},zt=function(e){let t=null,r=null;if(ut)e=``+e;else{let t=se(e,/^[\r\n\t ]+/);r=t&&t[0]}jt===`application/xhtml+xml`&&K===G&&(e=``+e+``);let i=O?N(e):e;if(K===G)try{t=new u().parseFromString(i,jt)}catch{}if(!t||!t.documentElement){t=Ve.createDocument(K,`template`,null);try{t.documentElement.innerHTML=Tt?M:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),K===G?We.call(t,V?`html`:`body`)[0]:V?t.documentElement:a},Bt=function(e){return He.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Vt=function(e){e.normalize();let t=He.call(e.ownerDocument||e,e,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),n=t.nextNode();for(;n;){let e=n.data;h([Ke,qe,Je],t=>{e=v(e,t,` `)}),n.data=e,n=t.nextNode()}let r=e.querySelectorAll?.call(e,`template`)??[];h(Array.from(r),e=>{Z(e.content)&&Vt(e.content)})},Ht=function(e){let t=E?E(e):null;return typeof t!=`string`||q(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==S(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==T(e)||e.childNodes!==de(e)},Z=function(e){if(!T||typeof e!=`object`||!e)return!1;try{return T(e)===j.documentFragment}catch{return!1}},Ut=function(e){if(!T||typeof e!=`object`||!e)return!1;try{return typeof T(e)==`number`}catch{return!1}};function Q(e,n,r){h(e,e=>{e.call(t,n,r,J)})}let Wt=function(e){let n=null;if(Q(P.beforeSanitizeElements,e,null),Ht(e))return Y(e),!0;let r=q(E?E(e):e.nodeName);if(Q(P.uponSanitizeElement,e,{tagName:r,allowedTags:F}),ct&&e.hasChildNodes()&&!Ut(e.firstElementChild)&&C(/<[/\w!]/g,e.innerHTML)&&C(/<[/\w!]/g,e.textContent)||ct&&e.namespaceURI===G&&r===`style`&&Ut(e.firstElementChild)||e.nodeType===j.progressingInstruction||ct&&e.nodeType===j.comment&&C(/<[/\w]/g,e.data))return Y(e),!0;if(R[r]||!(z.tagCheck instanceof Function&&z.tagCheck(r))&&!F[r]){if(!R[r]&&qt(r)&&(L.tagNameCheck instanceof RegExp&&C(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r)))return!1;if(gt&&!W[r]){let t=y(e),n=de(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=ee(n[i],!0);t.insertBefore(r,ue(e))}}}return Y(e),!0}return(T?T(e):e.nodeType)===j.element&&!Rt(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&C(/<\/no(script|embed|frames)/i,e.innerHTML)?(Y(e),!0):(B&&e.nodeType===j.text&&(n=e.textContent,h([Ke,qe,Je],e=>{n=v(n,e,` `)}),e.textContent!==n&&(g(t.removed,{element:e.cloneNode()}),e.textContent=n)),Q(P.afterSanitizeElements,e,null),!1)},Gt=function(e,t,r){if(rt[t]||pt&&(t===`id`||t===`name`)&&(r in n||r in Nt))return!1;let i=I[t]||z.attributeCheck instanceof Function&&z.attributeCheck(t,e);if(!(at&&!rt[t]&&C(Ye,t))&&!(it&&C(Xe,t))){if(!i||rt[t]){if(!(qt(e)&&(L.tagNameCheck instanceof RegExp&&C(L.tagNameCheck,e)||L.tagNameCheck instanceof Function&&L.tagNameCheck(e))&&(L.attributeNameCheck instanceof RegExp&&C(L.attributeNameCheck,t)||L.attributeNameCheck instanceof Function&&L.attributeNameCheck(t,e))||t===`is`&&L.allowCustomizedBuiltInElements&&(L.tagNameCheck instanceof RegExp&&C(L.tagNameCheck,r)||L.tagNameCheck instanceof Function&&L.tagNameCheck(r))))return!1}else if(!xt[t]&&!C(et,v(r,Qe,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ce(r,`data:`)===0&&yt[e])&&!(ot&&!C(Ze,v(r,Qe,``)))&&r)return!1}return!0},Kt=D({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),qt=function(e){return!Kt[ae(e)]&&C($e,e)},Jt=function(e){Q(P.beforeSanitizeAttributes,e,null);let n=e.attributes;if(!n||Ht(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:I,forceKeepAttr:void 0},i=n.length;for(;i--;){let a=n[i],o=a.name,s=a.namespaceURI,c=a.value,l=q(o),u=c,d=o===`value`?u:le(u);if(r.attrName=l,r.attrValue=d,r.keepAttr=!0,r.forceKeepAttr=void 0,Q(P.uponSanitizeAttribute,e,r),d=r.attrValue,mt&&(l===`id`||l===`name`)&&ce(d,ht)!==0&&(X(o,e),d=ht+d),ct&&C(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){X(o,e);continue}if(l===`attributename`&&se(d,`href`)){X(o,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){X(o,e);continue}if(!st&&C(/\/>/i,d)){X(o,e);continue}B&&h([Ke,qe,Je],e=>{d=v(d,e,` `)});let p=q(e.nodeName);if(!Gt(p,l,d)){X(o,e);continue}if(O&&typeof f==`object`&&typeof f.getAttributeType==`function`&&!s)switch(f.getAttributeType(p,l)){case`TrustedHTML`:d=N(d);break;case`TrustedScriptURL`:d=O.createScriptURL(d);break}if(d!==u)try{s?e.setAttributeNS(s,o,d):e.setAttribute(o,d),Ht(e)?Y(e):re(t.removed)}catch{X(o,e)}}Q(P.afterSanitizeAttributes,e,null)},Yt=function(e){let t=null,n=Bt(e);for(Q(P.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(Q(P.uponSanitizeShadowNode,t,null),Wt(t),Jt(t),Z(t.content)&&Yt(t.content),(T?T(t):t.nodeType)===j.element){let e=b?b(t):t.shadowRoot;Z(e)&&($(e),Yt(e))}Q(P.afterSanitizeShadowDOM,e,null)},$=function(e){let t=T?T(e):e.nodeType;if(t===j.element){let t=b?b(e):e.shadowRoot;Z(t)&&($(t),Yt(t))}let n=de?de(e):e.childNodes;if(!n)return;let r=[];h(n,e=>{g(r,e)});for(let e of r)$(e);if(t===j.element){let t=E?E(e):null;if(typeof t==`string`&&q(t)===`template`){let t=e.content;Z(t)&&$(t)}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Tt=!e,Tt&&(e=``),typeof e!=`string`&&!Ut(e)&&(e=fe(e),typeof e!=`string`))throw w(`dirty is not a string, aborting`);if(!t.isSupported)return e;if(lt||Ft(n),t.removed=[],typeof e==`string`&&(_t=!1),_t){let t=E?E(e):e.nodeName;if(typeof t==`string`){let e=q(t);if(!F[e]||R[e])throw w(`root node is forbidden and cannot be sanitized in-place`)}if(Ht(e))throw w(`root node is clobbered and cannot be sanitized in-place`);$(e)}else if(Ut(e))i=zt(``),a=i.ownerDocument.importNode(e,!0),a.nodeType===j.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),$(a);else{if(!H&&!B&&!V&&e.indexOf(`<`)===-1)return O&&ft?N(e):e;if(i=zt(e),!i)return H?null:ft?M:``}i&&ut&&Y(i.firstChild);let c=Bt(_t?e:i);for(;o=c.nextNode();)Wt(o),Jt(o),Z(o.content)&&Yt(o.content);if(_t)return B&&Vt(e),e;if(H){if(B&&Vt(i),dt)for(s=Ue.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(I.shadowroot||I.shadowrootmode)&&(s=Ge.call(r,s,!0)),s}let l=V?i.outerHTML:i.innerHTML;return V&&F[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&C(Ne,i.ownerDocument.doctype.name)&&(l=` -`+l),B&&h([Ke,qe,Je],e=>{l=v(l,e,` `)}),O&&ft?N(l):l},t.setConfig=function(){Ft(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),lt=!0},t.clearConfig=function(){J=null,lt=!1},t.isValidAttribute=function(e,t,n){return J||Ft({}),Gt(q(e),q(t),n)},t.addHook=function(e,t){typeof t==`function`&&g(P[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=ne(P[e],t);return n===-1?void 0:ie(P[e],n,1)[0]}return re(P[e])},t.removeHooks=function(e){P[e]=[]},t.removeAllHooks=function(){P=Le()},t}var M=Re();export{M as default}; \ No newline at end of file diff --git a/dist/assets/purify.es-adlwq8Pz.js b/dist/assets/purify.es-adlwq8Pz.js new file mode 100644 index 0000000..27abc26 --- /dev/null +++ b/dist/assets/purify.es-adlwq8Pz.js @@ -0,0 +1,3 @@ +function e(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n`u`?null:w(BigInt.prototype.toString),y=typeof Symbol>`u`?null:w(Symbol.prototype.toString),b=w(Object.prototype.hasOwnProperty),x=w(Object.prototype.toString),S=w(RegExp.prototype.test),C=T(TypeError);function w(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return m(e,t,n)}}function T(e){return function(){return te(e,[...arguments])}}function E(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ae;if(s&&s(e,null),!_(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(c(t)||(t[r]=e),i=e)}e[i]=!0}return e}function D(e){for(let t=0;t/g),Oe=f(/\${[\w\W]*/g),ke=f(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ae=f(/^aria-[\-\w]+$/),je=f(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Me=f(/^(?:\w+script|data):/i),Ne=f(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Pe=f(/^html$/i),Fe=f(/^[a-z][.\w]*(-[.\w]+)+$/i),Ie=f(/<[/\w!]/g),Le=f(/<[/\w]/g),Re=f(/<\/no(script|embed|frames)/i),ze=f(/\/>/i),A={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Be=function(){return typeof window>`u`?null:window},Ve=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},He=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},j=function(e,t,n,r){return b(e,t)&&_(e[t])?E(r.base?O(r.base):{},e[t],r.transform):n};function Ue(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Be(),t=e=>Ue(e);if(t.version=`3.4.12`,t.removed=[],!e||!e.document||e.document.nodeType!==A.document||!e.Element)return t.isSupported=!1,t;let n=e.document,r=n,i=r.currentScript;e.DocumentFragment;let a=e.HTMLTemplateElement,s=e.Node,c=e.Element,l=e.NodeFilter;e.NamedNodeMap===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let u=e.DOMParser,p=e.trustedTypes,m=c.prototype,te=k(m,`cloneNode`),de=k(m,`remove`),fe=k(m,`nextSibling`),v=k(m,`childNodes`),y=k(m,`parentNode`),x=k(m,`shadowRoot`),w=k(m,`attributes`),T=s&&s.prototype?k(s.prototype,`nodeType`):null,D=s&&s.prototype?k(s.prototype,`nodeName`):null;if(typeof a==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let M,N=``,We,Ge=!1,Ke=0,qe=function(){if(Ke>0)throw C(`A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.`)},P=function(e){qe(),Ke++;try{return M.createHTML(e)}finally{Ke--}},Je=function(e){qe(),Ke++;try{return M.createScriptURL(e)}finally{Ke--}},Ye=function(){return Ge||=(We=Ve(p,i),!0),We},Xe=n,Ze=Xe.implementation,Qe=Xe.createNodeIterator,$e=Xe.createDocumentFragment,et=Xe.getElementsByTagName,tt=r.importNode,F=He();t.isSupported=typeof o==`function`&&typeof y==`function`&&Ze&&Ze.createHTMLDocument!==void 0;let nt=Ee,rt=De,it=Oe,at=ke,ot=Ae,st=Me,ct=Ne,lt=Fe,ut=je,I=null,dt=E({},[...he,...ge,..._e,...ye,...xe]),L=null,ft=E({},[...Se,...Ce,...we,...Te]),R=Object.seal(ee(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pt=null,mt=null,z=Object.seal(ee(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ht=!0,gt=!0,_t=!1,vt=!0,B=!1,V=!0,H=!1,yt=!1,bt=null,xt=null,St=!1,U=!1,Ct=!1,wt=!1,Tt=!0,Et=!1,Dt=`user-content-`,Ot=!0,kt=!1,W={},G=null,At=E({},`annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp`.split(`.`)),jt=null,Mt=E({},[`audio`,`video`,`img`,`source`,`image`,`track`]),Nt=null,Pt=E({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),Ft=`http://www.w3.org/1998/Math/MathML`,It=`http://www.w3.org/2000/svg`,K=`http://www.w3.org/1999/xhtml`,q=K,Lt=!1,Rt=null,zt=E({},[Ft,It,K],oe),Bt=d([`mi`,`mo`,`mn`,`ms`,`mtext`]),Vt=E({},Bt),Ht=d([`annotation-xml`]),Ut=E({},Ht),Wt=E({},[`title`,`style`,`font`,`a`,`script`]),Gt=null,Kt=[`application/xhtml+xml`,`text/html`],J=null,Y=null,qt=n.createElement(`form`),Jt=function(e){return e instanceof RegExp||e instanceof Function},Yt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Y&&Y===e)return;(!e||typeof e!=`object`)&&(e={}),e=O(e),Gt=Kt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,J=Gt===`application/xhtml+xml`?oe:ae,I=j(e,`ALLOWED_TAGS`,dt,{transform:J}),L=j(e,`ALLOWED_ATTR`,ft,{transform:J}),Rt=j(e,`ALLOWED_NAMESPACES`,zt,{transform:oe}),Nt=j(e,`ADD_URI_SAFE_ATTR`,Pt,{transform:J,base:Pt}),jt=j(e,`ADD_DATA_URI_TAGS`,Mt,{transform:J,base:Mt}),G=j(e,`FORBID_CONTENTS`,At,{transform:J}),pt=j(e,`FORBID_TAGS`,O({}),{transform:J}),mt=j(e,`FORBID_ATTR`,O({}),{transform:J}),W=b(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?O(e.USE_PROFILES):e.USE_PROFILES:!1,ht=e.ALLOW_ARIA_ATTR!==!1,gt=e.ALLOW_DATA_ATTR!==!1,_t=e.ALLOW_UNKNOWN_PROTOCOLS||!1,vt=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,B=e.SAFE_FOR_TEMPLATES||!1,V=e.SAFE_FOR_XML!==!1,H=e.WHOLE_DOCUMENT||!1,U=e.RETURN_DOM||!1,Ct=e.RETURN_DOM_FRAGMENT||!1,wt=e.RETURN_TRUSTED_TYPE||!1,St=e.FORCE_BODY||!1,Tt=e.SANITIZE_DOM!==!1,Et=e.SANITIZE_NAMED_PROPS||!1,Ot=e.KEEP_CONTENT!==!1,kt=e.IN_PLACE||!1,ut=me(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:je,q=typeof e.NAMESPACE==`string`?e.NAMESPACE:K,Vt=b(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?O(e.MATHML_TEXT_INTEGRATION_POINTS):E({},Bt),Ut=b(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?O(e.HTML_INTEGRATION_POINTS):E({},Ht);let t=b(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?O(e.CUSTOM_ELEMENT_HANDLING):ee(null);if(R=ee(null),b(t,`tagNameCheck`)&&Jt(t.tagNameCheck)&&(R.tagNameCheck=t.tagNameCheck),b(t,`attributeNameCheck`)&&Jt(t.attributeNameCheck)&&(R.attributeNameCheck=t.attributeNameCheck),b(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(R.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),f(R),B&&(gt=!1),Ct&&(U=!0),W&&(I=E({},xe),L=ee(null),W.html===!0&&(E(I,he),E(L,Se)),W.svg===!0&&(E(I,ge),E(L,Ce),E(L,Te)),W.svgFilters===!0&&(E(I,_e),E(L,Ce),E(L,Te)),W.mathMl===!0&&(E(I,ye),E(L,we),E(L,Te))),z.tagCheck=null,z.attributeCheck=null,b(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?z.tagCheck=e.ADD_TAGS:_(e.ADD_TAGS)&&(I===dt&&(I=O(I)),E(I,e.ADD_TAGS,J))),b(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?z.attributeCheck=e.ADD_ATTR:_(e.ADD_ATTR)&&(L===ft&&(L=O(L)),E(L,e.ADD_ATTR,J))),b(e,`ADD_URI_SAFE_ATTR`)&&_(e.ADD_URI_SAFE_ATTR)&&E(Nt,e.ADD_URI_SAFE_ATTR,J),b(e,`FORBID_CONTENTS`)&&_(e.FORBID_CONTENTS)&&(G===At&&(G=O(G)),E(G,e.FORBID_CONTENTS,J)),b(e,`ADD_FORBID_CONTENTS`)&&_(e.ADD_FORBID_CONTENTS)&&(G===At&&(G=O(G)),E(G,e.ADD_FORBID_CONTENTS,J)),Ot&&(I[`#text`]=!0),H&&E(I,[`html`,`head`,`body`]),I.table&&(E(I,[`tbody`]),delete pt.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw C(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw C(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);let t=M;M=e.TRUSTED_TYPES_POLICY;try{N=P(``)}catch(e){throw M=t,e}}else e.TRUSTED_TYPES_POLICY===null?(M=void 0,N=``):(M===void 0&&(M=Ye()),M&&typeof N==`string`&&(N=P(``)));d&&d(e),Y=e},Xt=E({},[...ge,..._e,...ve]),Zt=E({},[...ye,...be]),Qt=function(e,t,n){return t.namespaceURI===K?e===`svg`:t.namespaceURI===Ft?e===`svg`&&(n===`annotation-xml`||Vt[n]):!!Xt[e]},$t=function(e,t,n){return t.namespaceURI===K?e===`math`:t.namespaceURI===It?e===`math`&&Ut[n]:!!Zt[e]},en=function(e,t,n){return t.namespaceURI===It&&!Ut[n]||t.namespaceURI===Ft&&!Vt[n]?!1:!Zt[e]&&(Wt[e]||!Xt[e])},tn=function(e){let t=y(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=ae(e.tagName),r=ae(t.tagName);return Rt[e.namespaceURI]?e.namespaceURI===It?Qt(n,t,r):e.namespaceURI===Ft?$t(n,t,r):e.namespaceURI===K?en(n,t,r):!!(Gt===`application/xhtml+xml`&&Rt[e.namespaceURI]):!1},X=function(e){g(t.removed,{element:e});try{y(e).removeChild(e)}catch{if(de(e),!y(e))throw C(`a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place`)}},nn=function(e){an(e);let t=v(e);if(t){let e=[];h(t,t=>{g(e,t)}),h(e,e=>{try{de(e)}catch{}})}let n=w(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if(typeof i==`string`)try{e.removeAttribute(i)}catch{}}},Z=function(e,n){try{g(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{g(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(U||Ct)try{X(n)}catch{}else try{n.setAttribute(e,``)}catch{}},rn=function(e){let t=w(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if(!(typeof i!=`string`||L[J(i)]))try{e.removeAttribute(i)}catch{}}},an=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(T?T(e):e.nodeType)===A.element&&rn(e);let n=v(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},on=function(e){if(!V)return;let t=[e];for(;t.length>0;){let e=t.pop(),n=T?T(e):e.nodeType;if(n===A.processingInstruction||n===A.comment&&S(Le,e.data)){try{de(e)}catch{}continue}if(n===A.element){let t=e,n=J(D?D(e):e.nodeName);try{t.hasAttribute&&t.hasAttribute(`patchsrc`)&&t.removeAttribute(`patchsrc`),t.hasAttribute&&t.hasAttribute(`for`)&&n!==`label`&&n!==`output`&&t.removeAttribute(`for`)}catch{}}let r=v(e);if(r)for(let e=r.length-1;e>=0;--e)t.push(r[e])}},sn=function(e){let t=null,r=null;if(St)e=``+e;else{let t=se(e,/^[\r\n\t ]+/);r=t&&t[0]}Gt===`application/xhtml+xml`&&q===K&&(e=``+e+``);let i=M?P(e):e;if(q===K)try{t=new u().parseFromString(i,Gt)}catch{}if(!t||!t.documentElement){t=Ze.createDocument(q,`template`,null);try{t.documentElement.innerHTML=Lt?N:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),q===K?et.call(t,H?`html`:`body`)[0]:H?t.documentElement:a},cn=function(e){return Qe.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ln=function(e){return e=ce(e,nt,` `),e=ce(e,rt,` `),e=ce(e,it,` `),e},un=function(e){e.normalize();let t=Qe.call(e.ownerDocument||e,e,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null),n=t.nextNode();for(;n;)n.data=ln(n.data),n=t.nextNode();let r=e.querySelectorAll?.call(e,`template`);r&&h(r,e=>{Q(e.content)&&un(e.content)})},dn=function(e){let t=D?D(e):null;return typeof t!=`string`||J(t)!==`form`?!1:typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||e.attributes!==w(e)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`||e.nodeType!==T(e)||e.childNodes!==v(e)},Q=function(e){if(!T||typeof e!=`object`||!e)return!1;try{return T(e)===A.documentFragment}catch{return!1}},fn=function(e){if(!T||typeof e!=`object`||!e)return!1;try{return typeof T(e)==`number`}catch{return!1}};function $(e,n,r){e.length!==0&&h(e,e=>{e.call(t,n,r,Y)})}let pn=function(e,t){return!!(V&&e.hasChildNodes()&&!fn(e.firstElementChild)&&S(Ie,e.textContent)&&S(Ie,e.innerHTML)||V&&e.namespaceURI===K&&t===`style`&&fn(e.firstElementChild)||e.nodeType===A.processingInstruction||V&&e.nodeType===A.comment&&S(Le,e.data))},mn=function(e,t){if(!pt[t]&&vn(t)&&(R.tagNameCheck instanceof RegExp&&S(R.tagNameCheck,t)||R.tagNameCheck instanceof Function&&R.tagNameCheck(t)))return!1;if(Ot&&!G[t]){let t=y(e),n=v(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=kt?n[i]:te(n[i],!0);t.insertBefore(r,fe(e))}}}return X(e),!0},hn=function(e,n){if($(F.beforeSanitizeElements,e,null),e!==n&&y(e)===null)return!0;if(dn(e))return X(e),!0;let r=J(D?D(e):e.nodeName);if($(F.uponSanitizeElement,e,{tagName:r,allowedTags:I}),e!==n&&y(e)===null)return!0;if(pn(e,r))return X(e),!0;if(pt[r]||!(z.tagCheck instanceof Function&&z.tagCheck(r))&&!I[r]){let t=mn(e,r);return t===!1&&$(F.afterSanitizeElements,e,null),t}if((T?T(e):e.nodeType)===A.element&&!tn(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&S(Re,e.innerHTML))return X(e),!0;if(B&&e.nodeType===A.text){let n=ln(e.textContent);e.textContent!==n&&(g(t.removed,{element:e.cloneNode()}),e.textContent=n)}return $(F.afterSanitizeElements,e,null),!1},gn=function(e,t,r){if(mt[t]||V&&t===`patchsrc`||V&&t===`for`&&e!==`label`&&e!==`output`||Tt&&(t===`id`||t===`name`)&&(r in n||r in qt))return!1;let i=L[t]||z.attributeCheck instanceof Function&&z.attributeCheck(t,e);if(!(gt&&S(at,t))&&!(ht&&S(ot,t))){if(!i){if(!(vn(e)&&(R.tagNameCheck instanceof RegExp&&S(R.tagNameCheck,e)||R.tagNameCheck instanceof Function&&R.tagNameCheck(e))&&(R.attributeNameCheck instanceof RegExp&&S(R.attributeNameCheck,t)||R.attributeNameCheck instanceof Function&&R.attributeNameCheck(t,e))||t===`is`&&R.allowCustomizedBuiltInElements&&(R.tagNameCheck instanceof RegExp&&S(R.tagNameCheck,r)||R.tagNameCheck instanceof Function&&R.tagNameCheck(r))))return!1}else if(!Nt[t]&&!S(ut,ce(r,ct,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&le(r,`data:`)===0&&jt[e])&&!(_t&&!S(st,ce(r,ct,``)))&&r)return!1}return!0},_n=E({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),vn=function(e){return!_n[ae(e)]&&S(lt,e)},yn=function(e,t,n,r){if(M&&typeof p==`object`&&typeof p.getAttributeType==`function`&&!n)switch(p.getAttributeType(e,t)){case`TrustedHTML`:return P(r);case`TrustedScriptURL`:return Je(r)}return r},bn=function(e,n,r,i){try{r?e.setAttributeNS(r,n,i):e.setAttribute(n,i),dn(e)?X(e):re(t.removed)}catch{Z(n,e)}},xn=function(e){$(F.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||dn(e))return;let n={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:L,forceKeepAttr:void 0},r=t.length,i=J(e.nodeName);for(;r--;){let a=t[r],o=a.name,s=a.namespaceURI,c=a.value,l=J(o),u=c,d=o===`value`?u:ue(u);if(n.attrName=l,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,$(F.uponSanitizeAttribute,e,n),d=n.attrValue,Et&&(l===`id`||l===`name`)&&le(d,Dt)!==0&&(Z(o,e),d=Dt+d),V&&S(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){Z(o,e);continue}if(l===`attributename`&&se(d,`href`)){Z(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr){Z(o,e);continue}if(!vt&&S(ze,d)){Z(o,e);continue}if(B&&(d=ln(d)),!gn(i,l,d)){Z(o,e);continue}d=yn(i,l,s,d),d!==u&&bn(e,o,s,d)}}$(F.afterSanitizeAttributes,e,null)},Sn=function(e){let t=null,n=cn(e);for($(F.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if($(F.uponSanitizeShadowNode,t,null),hn(t,e),xn(t),Q(t.content)&&Sn(t.content),(T?T(t):t.nodeType)===A.element){let e=x(t);Q(e)&&(Cn(e),Sn(e))}$(F.afterSanitizeShadowDOM,e,null)},Cn=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){Sn(e.shadow);continue}let n=e.node,r=(T?T(n):n.nodeType)===A.element,i=v(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=D?D(n):null;if(typeof e==`string`&&J(e)===`template`){let e=n.content;Q(e)&&t.push({node:e,shadow:null})}}if(r){let e=x(n);Q(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,o=null,s=null;if(Lt=!e,Lt&&(e=``),typeof e!=`string`&&!fn(e)&&(e=pe(e),typeof e!=`string`))throw C(`dirty is not a string, aborting`);if(!t.isSupported)return e;yt?(I=bt,L=xt):Yt(n),(F.uponSanitizeElement.length>0||F.uponSanitizeAttribute.length>0)&&(I=O(I)),F.uponSanitizeAttribute.length>0&&(L=O(L)),t.removed=[];let c=kt&&typeof e!=`string`&&fn(e);if(c){on(e);let t=D?D(e):e.nodeName;if(typeof t==`string`){let n=J(t);if(!I[n]||pt[n])throw nn(e),C(`root node is forbidden and cannot be sanitized in-place`)}if(dn(e))throw nn(e),C(`root node is clobbered and cannot be sanitized in-place`);try{Cn(e)}catch(t){throw nn(e),t}}else if(fn(e))i=sn(``),a=i.ownerDocument.importNode(e,!0),a.nodeType===A.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a),Cn(a);else{if(!U&&!B&&!H&&e.indexOf(`<`)===-1)return M&&wt?P(e):e;if(i=sn(e),!i)return U?null:wt?N:``}i&&St&&X(i.firstChild);let l=c?e:i,u=cn(l);try{for(;o=u.nextNode();)hn(o,l),xn(o),Q(o.content)&&Sn(o.content)}catch(n){throw c&&(nn(e),h(t.removed,e=>{e.element&&an(e.element)})),n}if(c)return h(t.removed,e=>{e.element&&an(e.element)}),B&&un(e),e;if(U){if(B&&un(i),Ct)for(s=$e.call(i.ownerDocument);i.firstChild;)s.appendChild(i.firstChild);else s=i;return(L.shadowroot||L.shadowrootmode)&&(s=tt.call(r,s,!0)),s}let d=H?i.outerHTML:i.innerHTML;return H&&I[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&S(Pe,i.ownerDocument.doctype.name)&&(d=` +`+d),B&&(d=ln(d)),M&&wt?P(d):d},t.setConfig=function(){Yt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),yt=!0,bt=I,xt=L},t.clearConfig=function(){Y=null,yt=!1,bt=null,xt=null,M=We,N=``},t.isValidAttribute=function(e,t,n){return Y||Yt({}),gn(J(e),J(t),n)},t.addHook=function(e,t){typeof t==`function`&&b(F,e)&&g(F[e],t)},t.removeHook=function(e,t){if(b(F,e)){if(t!==void 0){let n=ne(F[e],t);return n===-1?void 0:ie(F[e],n,1)[0]}return re(F[e])}},t.removeHooks=function(e){b(F,e)&&(F[e]=[])},t.removeAllHooks=function(){F=He()},t}var M=Ue();export{M as default}; \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index cb611b8..4dba3a7 100644 --- a/dist/index.html +++ b/dist/index.html @@ -10,6 +10,13 @@ + + + + + + + 11Plus Prep - Free Practice for UK Grammar Schools + diff --git a/package-lock.json b/package-lock.json index aa83d2d..c2d8a99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,13 +69,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -84,9 +84,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", "dev": true, "license": "MIT", "engines": { @@ -94,21 +94,21 @@ } }, "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -125,14 +125,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -142,14 +142,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -159,9 +159,9 @@ } }, "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", "dev": true, "license": "MIT", "engines": { @@ -169,29 +169,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -201,9 +201,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", "dev": true, "license": "MIT", "engines": { @@ -211,9 +211,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -221,9 +221,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", "dev": true, "license": "MIT", "engines": { @@ -231,27 +231,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" + "@babel/types": "^7.29.7" }, "bin": { "parser": "bin/babel-parser.js" @@ -270,33 +270,33 @@ } }, "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", "debug": "^4.3.1" }, "engines": { @@ -304,14 +304,14 @@ } }, "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1872,9 +1872,9 @@ "license": "MIT" }, "node_modules/dompurify": { - "version": "3.4.8", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.8.tgz", - "integrity": "sha512-yb1cEmaOum7wFvOCSQxyfgVlv5D47Rc30iZWoMpbDIWTnJ6grDDQyu2KFJzB2k7u0pMuJcQ1zphH//fFnw2tjQ==", + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.12.tgz", + "integrity": "sha512-zQvGet8Z2sWbQhCmfFz/T5QWH2oBmjnqK3qvOjaqaNLrLEF912WamU+ohnTp0TCep/MFVHpdJuCZEdFOdTnEFg==", "license": "(MPL-2.0 OR Apache-2.0)", "optional": true, "optionalDependencies": { @@ -2519,10 +2519,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" From 7a4947841f27e6bbf09d4ccbf3ec515be3b7ea9a Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Sat, 18 Jul 2026 22:34:24 +0100 Subject: [PATCH 2/7] chore: add audit result --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 00670e7..7c52e3e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,8 @@ __pycache__/ venv/ node_modules + +.audit-result.json +.claude/settings.local.json +.under-anything/ +.DS_Store From 43df16a3bbeaa8a6ab47547237e6272fe19bffdb Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Sat, 18 Jul 2026 23:16:24 +0100 Subject: [PATCH 3/7] chore: add shared pre-commit configuration --- .pre-commit-config.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..d3f319c --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,14 @@ +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-merge-conflict + - id: check-added-large-files + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v3.1.0 + hooks: + - id: prettier + types_or: [javascript, jsx, tsx, typescript, json, yaml, markdown] From 8c779e7c78752137aa96e731747242cb460c6af9 Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Sat, 18 Jul 2026 23:20:05 +0100 Subject: [PATCH 4/7] chore: replace deprecated mirrors-prettier with npm-run prettier --- .pre-commit-config.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d3f319c..95ceaa9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,8 +7,11 @@ repos: - id: check-yaml - id: check-merge-conflict - id: check-added-large-files - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.1.0 + - repo: local hooks: - id: prettier + name: prettier + entry: npx prettier --write + language: system types_or: [javascript, jsx, tsx, typescript, json, yaml, markdown] + require_serial: true From 3fbc78c6aa0951b852c1c1edde12be5a1a521f9e Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Sat, 18 Jul 2026 23:21:37 +0100 Subject: [PATCH 5/7] chore: add --no-install and --ignore-unknown to prettier hook --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 95ceaa9..ebf421f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: hooks: - id: prettier name: prettier - entry: npx prettier --write + entry: npx --no-install prettier --write --ignore-unknown language: system types_or: [javascript, jsx, tsx, typescript, json, yaml, markdown] require_serial: true From dc72fb9405b8f3dd3d55a1984120614d88089723 Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Mon, 20 Jul 2026 14:16:28 +0100 Subject: [PATCH 6/7] security: keep API keys in session storage --- .gitignore | 52 +++++++++++++++---------------- .pre-commit-config.yaml | 2 +- package-lock.json | 17 ++++++++++ package.json | 1 + src/context/AppContext.tsx | 57 +++++++++++++++++++++++++--------- tests/api-key-storage.test.mjs | 23 ++++++++++++++ 6 files changed, 109 insertions(+), 43 deletions(-) create mode 100644 tests/api-key-storage.test.mjs diff --git a/.gitignore b/.gitignore index 7c52e3e..7082bff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,33 +1,31 @@ -1|# Logs -2|logs -3|*.log -4|npm-debug.log* -5|yarn-debug.log* -6|yarn-error.log* -7|pnpm-debug.log* -8|lerna-debug.log* -9| -10|node_modules -11|dist -12|dist-ssr -13|*.local -14| -15|# Editor directories and files -16|.vscode/* -17|!.vscode/extensions.json -18|.idea -19|.DS_Store -20|*.suo -21|*.ntvs* -22|*.njsproj -23|*.sln -24|*.sw? -25| +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules/ +dist/ +dist-ssr/ +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea/ +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + __pycache__/ venv/ -node_modules .audit-result.json .claude/settings.local.json .under-anything/ -.DS_Store diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ebf421f..0f9ad50 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,5 +13,5 @@ repos: name: prettier entry: npx --no-install prettier --write --ignore-unknown language: system - types_or: [javascript, jsx, tsx, typescript, json, yaml, markdown] + types_or: [javascript, jsx, ts, tsx, json, yaml, markdown] require_serial: true diff --git a/package-lock.json b/package-lock.json index c2d8a99..35e31c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "eslint-plugin-react-refresh": "^0.5.2", "globals": "^17.4.0", "postcss": "^8.5.8", + "prettier": "^3.9.5", "tailwindcss": "^3.4.19", "typescript": "~5.9.3", "typescript-eslint": "^8.57.0", @@ -3404,6 +3405,22 @@ "node": ">= 0.8.0" } }, + "node_modules/prettier": { + "version": "3.9.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.5.tgz", + "integrity": "sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", diff --git a/package.json b/package.json index 449462d..369cfc7 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "eslint-plugin-react-refresh": "^0.5.2", "globals": "^17.4.0", "postcss": "^8.5.8", + "prettier": "^3.9.5", "tailwindcss": "^3.4.19", "typescript": "~5.9.3", "typescript-eslint": "^8.57.0", diff --git a/src/context/AppContext.tsx b/src/context/AppContext.tsx index c21b9ad..6dcede0 100644 --- a/src/context/AppContext.tsx +++ b/src/context/AppContext.tsx @@ -1,44 +1,71 @@ -import { useEffect, useReducer, type ReactNode } from 'react'; -import { AppContext, appReducer, initialState } from './appState'; +import { useEffect, useReducer, type ReactNode } from "react"; +import { AppContext, appReducer, initialState } from "./appState"; + +const SETTINGS_STORAGE_KEY = "11plus_app_settings"; +const API_KEY_SESSION_STORAGE_KEY = "11plus_api_key"; export function AppProvider({ children }: { children: ReactNode }) { const [state, dispatch] = useReducer(appReducer, initialState, (init) => { + let persistedSettings = {}; + try { - const saved = localStorage.getItem('11plus_app_settings'); + const saved = localStorage.getItem(SETTINGS_STORAGE_KEY); if (saved) { const parsed = JSON.parse(saved); - return { ...init, ...parsed, showSettings: false }; + // Deliberately remove keys persisted by older releases. + delete parsed.apiKey; + persistedSettings = parsed; } } catch { - localStorage.removeItem('11plus_app_settings'); + localStorage.removeItem(SETTINGS_STORAGE_KEY); + } + + let sessionApiKey = ""; + try { + sessionApiKey = sessionStorage.getItem(API_KEY_SESSION_STORAGE_KEY) || ""; + } catch { + sessionStorage.removeItem(API_KEY_SESSION_STORAGE_KEY); } - return init; + + return { + ...init, + ...persistedSettings, + apiKey: sessionApiKey, + showSettings: false, + }; }); useEffect(() => { const toSave = { mode: state.mode, - apiKey: state.apiKey, theme: state.theme, fontSize: state.fontSize, regionId: state.regionId, }; - localStorage.setItem('11plus_app_settings', JSON.stringify(toSave)); - }, [state]); + localStorage.setItem(SETTINGS_STORAGE_KEY, JSON.stringify(toSave)); + }, [state.mode, state.theme, state.fontSize, state.regionId]); + + useEffect(() => { + if (state.apiKey) { + sessionStorage.setItem(API_KEY_SESSION_STORAGE_KEY, state.apiKey); + } else { + sessionStorage.removeItem(API_KEY_SESSION_STORAGE_KEY); + } + }, [state.apiKey]); useEffect(() => { - if (state.theme === 'dark') { - document.documentElement.classList.add('dark'); + if (state.theme === "dark") { + document.documentElement.classList.add("dark"); } else { - document.documentElement.classList.remove('dark'); + document.documentElement.classList.remove("dark"); } }, [state.theme]); useEffect(() => { - if (state.fontSize === 'large') { - document.documentElement.style.fontSize = '18px'; + if (state.fontSize === "large") { + document.documentElement.style.fontSize = "18px"; } else { - document.documentElement.style.fontSize = '16px'; + document.documentElement.style.fontSize = "16px"; } }, [state.fontSize]); diff --git a/tests/api-key-storage.test.mjs b/tests/api-key-storage.test.mjs new file mode 100644 index 0000000..00e8e02 --- /dev/null +++ b/tests/api-key-storage.test.mjs @@ -0,0 +1,23 @@ +import assert from "node:assert/strict"; +import { readFile } from "node:fs/promises"; +import test from "node:test"; + +const contextUrl = new URL("../src/context/AppContext.tsx", import.meta.url); + +test("API keys are session-only and excluded from persisted application settings", async () => { + const source = await readFile(contextUrl, "utf8"); + + assert.match( + source, + /sessionStorage\.getItem\(API_KEY_SESSION_STORAGE_KEY\)/, + ); + assert.match( + source, + /sessionStorage\.setItem\(API_KEY_SESSION_STORAGE_KEY,\s*state\.apiKey\)/, + ); + assert.doesNotMatch( + source, + /const toSave\s*=\s*\{[\s\S]*?apiKey\s*:/, + "localStorage settings must not include apiKey", + ); +}); From 84ca9185df82ed0e49ef2508e6a7976974983867 Mon Sep 17 00:00:00 2001 From: Sahir Vhora Date: Sun, 26 Jul 2026 12:08:00 +0100 Subject: [PATCH 7/7] ci: validate pull requests --- .github/workflows/ci.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e0ab228 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +name: CI + +on: + pull_request: + branches: [main] + +permissions: + contents: read + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + + - uses: actions/setup-node@v7 + with: + node-version: 24 + cache: npm + + - run: npm ci + - run: npm run lint + - run: npm run validate-regions + - run: npm run build