gitextract_d24q13tt/ ├── .dockerignore ├── .eslintrc.json ├── .gitignore ├── .prettierignore ├── Dockerfile ├── LICENSE ├── README.md ├── jest.config.mjs ├── next.config.js ├── package.json ├── postcss.config.js ├── prettier.config.js ├── prettierignore ├── public/ │ └── fonts/ │ ├── OFL.txt │ ├── fonts-zh.css │ └── fonts.css ├── src/ │ └── app/ │ ├── components/ │ │ ├── Button.tsx │ │ ├── ExpanderWithHeightTransition.tsx │ │ ├── FlexboxSpacer.tsx │ │ ├── Resume/ │ │ │ ├── ResumeControlBar.tsx │ │ │ ├── ResumeIFrame.tsx │ │ │ ├── ResumePDF/ │ │ │ │ ├── ResumePDFCustom.tsx │ │ │ │ ├── ResumePDFEducation.tsx │ │ │ │ ├── ResumePDFProfile.tsx │ │ │ │ ├── ResumePDFProject.tsx │ │ │ │ ├── ResumePDFSkills.tsx │ │ │ │ ├── ResumePDFWorkExperience.tsx │ │ │ │ ├── common/ │ │ │ │ │ ├── ResumePDFIcon.tsx │ │ │ │ │ ├── SuppressResumePDFErrorMessage.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── styles.ts │ │ │ ├── hooks.tsx │ │ │ └── index.tsx │ │ ├── ResumeDropzone.tsx │ │ ├── ResumeForm/ │ │ │ ├── CustomForm.tsx │ │ │ ├── EducationsForm.tsx │ │ │ ├── Form/ │ │ │ │ ├── FeaturedSkillInput.tsx │ │ │ │ ├── IconButton.tsx │ │ │ │ ├── InputGroup.tsx │ │ │ │ └── index.tsx │ │ │ ├── ProfileForm.tsx │ │ │ ├── ProjectsForm.tsx │ │ │ ├── SkillsForm.tsx │ │ │ ├── ThemeForm/ │ │ │ │ ├── InlineInput.tsx │ │ │ │ ├── Selection.tsx │ │ │ │ ├── constants.ts │ │ │ │ └── index.tsx │ │ │ ├── WorkExperiencesForm.tsx │ │ │ ├── index.tsx │ │ │ └── types.ts │ │ ├── Tooltip.tsx │ │ ├── TopNavBar.tsx │ │ ├── documentation/ │ │ │ ├── Badge.tsx │ │ │ ├── Heading.tsx │ │ │ ├── Link.tsx │ │ │ ├── Paragraph.tsx │ │ │ ├── Table.tsx │ │ │ └── index.tsx │ │ └── fonts/ │ │ ├── FontsZh.tsx │ │ ├── NonEnglishFontsCSSLoader.tsx │ │ ├── constants.ts │ │ ├── hooks.tsx │ │ └── lib.ts │ ├── globals-css.ts │ ├── globals.css │ ├── home/ │ │ ├── AutoTypingResume.tsx │ │ ├── Features.tsx │ │ ├── Hero.tsx │ │ ├── LogoCloud.tsx │ │ ├── QuestionsAndAnswers.tsx │ │ ├── Steps.tsx │ │ ├── Testimonials.tsx │ │ └── constants.ts │ ├── layout.tsx │ ├── lib/ │ │ ├── __tests__/ │ │ │ ├── cx.test.ts │ │ │ └── make-object-char-iterator.test.ts │ │ ├── constants.ts │ │ ├── cx.ts │ │ ├── deep-clone.ts │ │ ├── deep-merge.ts │ │ ├── get-px-per-rem.ts │ │ ├── hooks/ │ │ │ ├── useAutosizeTextareaHeight.tsx │ │ │ └── useTailwindBreakpoints.tsx │ │ ├── make-object-char-iterator.ts │ │ ├── parse-resume-from-pdf/ │ │ │ ├── extract-resume-from-sections/ │ │ │ │ ├── extract-education.ts │ │ │ │ ├── extract-profile.ts │ │ │ │ ├── extract-project.ts │ │ │ │ ├── extract-resume-from-sections.test.ts │ │ │ │ ├── extract-skills.ts │ │ │ │ ├── extract-work-experience.ts │ │ │ │ ├── index.ts │ │ │ │ └── lib/ │ │ │ │ ├── bullet-points.ts │ │ │ │ ├── common-features.ts │ │ │ │ ├── feature-scoring-system.ts │ │ │ │ ├── get-section-lines.ts │ │ │ │ └── subsections.ts │ │ │ ├── group-lines-into-sections.ts │ │ │ ├── group-text-items-into-lines.ts │ │ │ ├── index.ts │ │ │ ├── read-pdf.ts │ │ │ └── types.ts │ │ └── redux/ │ │ ├── hooks.tsx │ │ ├── local-storage.ts │ │ ├── resumeSlice.ts │ │ ├── settingsSlice.ts │ │ ├── store.ts │ │ └── types.ts │ ├── page.tsx │ ├── resume-builder/ │ │ └── page.tsx │ ├── resume-import/ │ │ └── page.tsx │ └── resume-parser/ │ ├── ResumeParserAlgorithmArticle.tsx │ ├── ResumeTable.tsx │ └── page.tsx ├── tailwind.config.js └── tsconfig.json