Ë
    ¶:Qgû  ã                  óÖ   — d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 d dl
mZmZ d dlmZ erd dlmZ 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd	„Z	 	 	 d	 	 	 	 	 	 	 	 	 dd
„Z	 	 d	 	 	 	 	 	 	 dd„Zdd„Zy)é    )Úannotations)ÚTYPE_CHECKINGÚOptional)ÚSource)Ú
TextRegionÚTextRegions)ÚLayoutElementÚpartition_groups_from_regions)ÚElementType)Ú	RectangleNc                ó8   — t        j                  | |||||¬«      S )Ú )ÚtextÚsource)r   Úfrom_coords)Úx1Úy1Úx2Úy2r   r   s         úm/var/www/html/answerous/venv/lib/python3.12/site-packages/unstructured/partition/pdf_image/inference_utils.pyÚbuild_text_region_from_coordsr      s   € ô ×!Ñ! " b¨"¨b°tÀFÔKÐKó    c                ó    — t        | |||¬«      S )r   )Úbboxr   r   Útype)r	   ©r   r   r   Úelement_types       r   Úbuild_layout_elementr      s   € ô ˜d¨°fÀ<ÔPÐPr   c           	     óœ  — |rÂ|j                  d«      }g }|D ]©  }g }|j                  dd«      j                  «       }| D ]A  }|s n=|j                  |v sŒ|j                  |«       |j	                  |j                  «       ŒC |sŒn|D ]  }	| j	                  |	«       Œ |j                  t        j                  |«      «       Œ« nt        t        j                  | «      «      }|D 
cg c]  }
t        |
«      ‘Œ }}
|D 	cg c]=  }	t        |	j                  |	j                  |	j                  t        j                  ¬«      ‘Œ? c}	S c c}
w c c}	w )z.
    Get layout elements from OCR regions
    z

ú
ú r   )ÚsplitÚreplacer   ÚappendÚremover   Ú	from_listr
   Úmerge_text_regionsr   r   r   r   ÚUNCATEGORIZED_TEXT)Úocr_regionsÚocr_textÚgroup_by_ocr_textÚtext_sectionsÚgrouped_regionsÚtext_sectionÚregionsÚwordsÚ
ocr_regionÚrÚgroupÚmerged_regionss               r   Ú&build_layout_elements_from_ocr_regionsr5   )   sB  € ñ Ø Ÿ™ vÓ.ˆØˆØ)ò 	CˆLØˆGØ ×(Ñ(¨¨sÓ3×9Ñ9Ó;ˆEØ)ò 2
ÙÙØ—?‘? eÒ+Ø—N‘N :Ô.Ø—L‘L §¡Õ1ð2ñ Øàò &Ø×"Ñ" 1Õ%ð&ð ×"Ñ"¤;×#8Ñ#8¸Ó#AÕBñ!	Cô$ 8¼×8MÑ8MÈkÓ8ZÓ[ˆà=LÖM°EÔ(¨Õ/ÐM€NÐMð
  ö	ð ô 	Ø—‘˜aŸf™f¨Q¯X©XÄK×DbÑDbö	
òð ùò Nùòs   Ã'EÃ?AE	c                ó2  — | st        d«      ‚| j                  j                  «       j                  t        «      }| j
                  j                  «       j                  t        «      }| j                  j                  «       j                  t        «      }| j                  j                  «       j                  t        «      }dj                  | j                  D cg c]  }|sŒ|‘Œ	 c}«      }| j                  }t        j                  ||||||«      S c c}w )zá
    Merge a list of TextRegion objects into a single TextRegion.

    Parameters:
    - group (TextRegions): A group of TextRegion objects to be merged.

    Returns:
    - TextRegion: A single merged TextRegion object.
    z/The text regions to be merged must be provided.r!   )Ú
ValueErrorr   ÚminÚastypeÚfloatr   r   Úmaxr   ÚjoinÚtextsr   r   r   )r/   Úmin_x1Úmin_y1Úmax_x2Úmax_y2r   Úmerged_textr   s           r   r'   r'   R   sÈ   € ñ ÜÐJÓKÐKàZ‰Z^‰^Ó×$Ñ$¤UÓ+€FØZ‰Z^‰^Ó×$Ñ$¤UÓ+€FØZ‰Z^‰^Ó×$Ñ$¤UÓ+€FØZ‰Z^‰^Ó×$Ñ$¤UÓ+€Fà—(‘(¨W¯]©]ÖC TºdšDÒCÓD€KØ^‰^€Fä×!Ñ! &¨&°&¸&À+ÈvÓVÐVùò Ds   ÃDÃ#D)NN)r   úint | floatr   rC   r   rC   r   rC   r   úOptional[str]r   úOptional[Source]Úreturnr   )NNN)
r   z'Rectangle'r   rD   r   rE   r   rD   rF   r	   )NF)r)   zlist[TextRegion]r*   rD   r+   ÚboolrF   zlist[LayoutElement])r/   r   rF   r   )Ú
__future__r   Útypingr   r   Ú unstructured_inference.constantsr   Ú)unstructured_inference.inference.elementsr   r   Ú.unstructured_inference.inference.layoutelementr	   r
   Úunstructured.documents.elementsr   r   r   r   r5   r'   © r   r   ú<module>rO      sô   ðÝ "ç *å 3ß M÷õ
 8áÝCð Ø#ð	LØð	Làð	Lð 	ð	Lð 	ð		Lð
 ð	Lð ð	Lð ó	Lð Ø#Ø"&ð	QØ
ðQà
ðQð ðQð  ð	Qð
 óQð #Ø#ð&Ø!ð&àð&ð ð&ð ó	&ôRWr   