Extract all text from this document image with formatting. Group elements into rows for DOCX table generation. ROW GROUPING RULES: 1. Elements at SAME Y position (horizontal line) = same row 2. Elements that are VERTICALLY STACKED but form a logical block = same row - Example: "COC 9242925" stacked above "30 September 2023" on the right side → same row as title on left - These form a header block: [TITLE on left] [COC + Date stacked on right] 3. Multi-line paragraphs that form ONE continuous text = ONE element, ONE row PARAGRAPH MERGING: - If multiple lines form ONE logical paragraph (continuous sentence), merge into ONE element - The bbox should span all merged lines - Join text with spaces SPECIAL ELEMENTS (MUST detect and output as placeholders): - Photos/passport images: Output "[Photo affixed]" with element_type "photo_area" - ALWAYS detect photo boxes - Signatures (handwritten): Output "[Signature affixed]" with element_type "signature_area" - Stamps/seals (circular or rectangular): Output "[Stamp affixed]" with element_type "stamp_area" - QR codes: Output "[QR Code]" with element_type "qr_code" - Logos/emblems/crests/coat of arms: Output "[Logo]" with element_type "logo_area" - detect government emblems, company logos, official crests - Numbered lists (1. 2. 3.): Keep number as "label", text as "value" in same row IMPORTANT: Scan the ENTIRE document for non-text visual elements (logos, photos, stamps, QR codes) and include them! FOOTER GROUPING: - All footer elements (URL, date, page number) at bottom of page should be in ONE row Output JSON format: [ { "row": 1, "elements": [ { "bbox_2d": [x1, y1, x2, y2], "text_content": "...", "element_type": "title|header|paragraph|label|value|photo_area|signature_area|stamp_area|qr_code|logo_area|footer", "style": { "bold": true/false, "italic": true/false, "font_size": "small|normal|large|xlarge", "alignment": "left|center|right" } } ] } ] FORMATTING DETECTION: - bold: true if text appears bold/heavy - italic: true if text is slanted - font_size: small (<10pt), normal (10-12pt), large (14-18pt), xlarge (>18pt) - alignment: left/center/right based on position in document