ó
    �®žj]d  ã                   óŒ  • S SK Jr  S SKJrJr  S SKJrJrJrJ	r	  S SK
JrJrJrJrJrJrJrJrJrJr   " S S\5      r " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r  " S S\5      r! " S S \5      r" " S! S"\5      r# " S# S$\5      r$ " S% S&\5      r% " S' S(\&\5      r' " S) S*\5      r( " S+ S,\5      r) " S- S.\5      r* " S/ S0\5      r+\\	\\\+\\\\\\\\\ \!\"\#\$\%4   \" S1S294   r,g3)4é    )ÚEnum)ÚPathÚPurePath)Ú	AnnotatedÚLiteralÚOptionalÚUnion)
ÚAnyUrlÚ	BaseModelÚFieldÚNonNegativeIntÚPositiveFloatÚPositiveIntÚPrivateAttrÚ	SecretStrÚconintÚmodel_validatorc                   óJ   • \ rS rSr% Sr\" SSS9r\\S'   \" SSS9r	\\S'   S	r
g
)ÚBaseBackendOptionsé   z5Common options for all declarative document backends.Fz Enable remote resource fetching.©ÚdescriptionÚenable_remote_fetchzEnable local resource fetching.Úenable_local_fetch© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   ÚboolÚ__annotations__r   Ú__static_attributes__r   ó    Ú^/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling/datamodel/backend_options.pyr   r      s7   ‡ Ù?á %ØÐ=ñ!Ð˜ó ñ  %ØÐ<ñ Ð˜ö r$   r   c                   ó:   • \ rS rSr% Sr\" SSSS9r\S   \S'   Sr	g	)
ÚDeclarativeBackendOptionsé!   z;Default backend options for a declarative document backend.ÚdeclarativeTF©ÚexcludeÚreprÚkindr   N)
r   r   r   r   r    r   r-   r   r"   r#   r   r$   r%   r'   r'   !   s   ‡ ÙEá#(¨ÀÈ5Ñ#Q€Dˆ'�-Ñ
 ÖQr$   r'   c                   ó¦   • \ rS rSr% Sr\" SSSS9r\S   \S'   Sr	\
\\" SS	94   \S
'   Sr\
\\-  S-  \" SS	94   \S'   Sr\
\\" SS	94   \S'   Srg)ÚAsciiDocBackendOptionsé'   z)Options specific to the AsciiDoc backend.ÚasciidocTFr*   r-   zeWhether the backend should access remote or local resources to parse images in the AsciiDoc document.r   Úfetch_imagesNztThe URI that originates the AsciiDoc document. If provided, the backend will use it to resolve relative image paths.Ú
source_urié  @úEThe maximum number of base64 data bytes that the backend will accept.Úmax_image_data_base64_bytesr   )r   r   r   r   r    r   r-   r   r"   r2   r   r!   r3   r
   r   r6   r   r#   r   r$   r%   r/   r/   '   s¦   ‡ Ù3á % j¸$ÀUÑ K€Dˆ'�*Ñ
ÓKð 	ð �)ØÙð3ñ	
ð	ñó ð" 	ð �	Ø�Ñ˜DÑ Ùð?ñ	
ð	ñó ð 	ð   ØÙØ_ñ	
ð	ñ"ö r$   r/   c                   óX  • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SSS	9r	\
\S
'   \" SSS	9r\\S'   \" SSS	9r\\S'   \" SSS	9r\S   \S'   \" SSS	9r\
\S'   \" SSS	9r\S   \S'   \" SSS	9r\\S'   \" SSS	9r\\S '   \" SS!S	9r\\S"'   \" SS#S	9r\
\S$'   \" S%S&S	9r\\S''   \" SS(S	9r\
\S)'   \" S*S+S	9r\\\\4      \S,'   S*r\\\ \ 4   S*-  \" S-S.S/0S0S10/SS294   \S3'   \" SS4S	9r!\
\S5'   \" SS6S	9r"\
\S7'   \" S8S9S	9r#\$\S:'   \" S8S;S	9r%\$\S<'   \" S=S>S	9r&\\\" SS?94   \S@'   SAr'g*)BÚHTMLBackendOptionséE   zrOptions specific to the HTML backend.

This class can be extended to include options specific to HTML processing.
ÚhtmlTFr*   r-   zTRender HTML in a headless browser to capture page images and element bounding boxes.r   Úrender_pagei  z.Render page width in CSS pixels (A4 @ 96 DPI).Úrender_page_widthic  z/Render page height in CSS pixels (A4 @ 96 DPI).Úrender_page_heightÚportraitzRender page orientation.)r>   Ú	landscapeÚrender_page_orientationz)Use print media emulation when rendering.Úrender_print_mediaÚnetworkidlez4Playwright wait condition before extracting the DOM.)ÚloadÚdomcontentloadedrB   Úrender_wait_untilr   z'Extra delay in milliseconds after load.Úrender_wait_msç      ð?z"Device scale factor for rendering.Úrender_device_scalez@Padding in CSS pixels applied to the HTML body before rendering.Úpage_paddingz>Capture a single full-height page image instead of paginating.Úrender_full_pageé`   z0DPI used for page images created from rendering.Ú
render_dpiz`Whether the backend should access remote or local resources to parse images in an HTML document.r2   NzThe URI that originates the HTML document. If provided, the backend will use it to resolve relative paths in the HTML document.r3   z˜HTTP headers to include when fetching remote images. Use for authentication (e.g., API keys, bearer tokens) or custom headers required by image servers.ÚAuthorizationzBearer TOKENz	X-API-Keyzyour-api-key)r   Úexamplesr,   Úheadersz;Add the HTML title tag as furniture in the DoclingDocument.Ú	add_titlez;Infer all the content before the first header as furniture.Úinfer_furniturer4   r5   r6   z7The maximum number of bytes for remote image downloads.Úmax_remote_image_bytesé   ziMaximum number of HTTP redirects to follow when fetching remote resources. Set to 0 to disable redirects.©ÚgeÚmax_redirectsr   )(r   r   r   r   r    r   r-   r   r"   r;   r!   r<   Úintr=   r@   rA   rE   rF   rH   ÚfloatrI   rJ   rL   r2   r3   r   r	   r
   r   rO   r   ÚdictÚstrrP   rQ   r6   r   rR   rV   r#   r   r$   r%   r8   r8   E   sn  ‡ ññ
 " &°$¸UÑC€Dˆ'�&‰/ÓCÙØð&ñ€K�ó ñ #ØÐIñÐ�só ñ $ØÐKñÐ˜ó ñ AFØÐ :ñAÐ˜WÐ%<Ñ=ó ñ  %ØÐEñ Ð˜ó ñ MRØØJñMÐ�wÐHÑIó ñ  Ø	Ð@ñ€N�Có ñ "'ØÐ=ñ"Ð˜ó ñ Ø	àNñ€L�#ó ñ #ØØUñÐ�dó ñ Ø
ÐJñ€J�ó ñ Øð*ñ€L�$ó ñ 5:ØðJñ5€J�˜˜v xÐ/Ñ0Ñ1ó ð$ 	ð ˆYØˆS�#ˆX‰˜ÑÙð-ð '¨Ð7¸+À~Ð9VÐWØñ	
ð		ñó ñ ØÐWñ€Iˆtó ñ "ØÐWñ€O�Tó ñ 05ØØ[ñ0Ð ó ñ +0ØØMñ+Ð˜Kó ñ 27Ø	Øñ2€M�9˜S¡%¨1¡+Ð-Ñ.ö r$   r8   c                   ó’   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SSS	9r	\
\S
'   \" SSS	9r\\\\4      \S'   \" SSS	9r\\S'   Srg)ÚMarkdownBackendOptionsé¤   z)Options specific to the Markdown backend.ÚmdTFr*   r-   zeWhether the backend should access remote or local resources to parse images in the markdown document.r   r2   Nz‡The URI that originates the markdown document. If provided, the backend will use it to resolve relative paths in the markdown document.r3   r4   r5   r6   r   )r   r   r   r   r    r   r-   r   r"   r2   r!   r3   r   r	   r
   r   r6   r   r#   r   r$   r%   r\   r\   ¤   sz   ‡ Ù3á ¨d¸Ñ?€Dˆ'�$‰-Ó?ÙØð/ñ€L�$ó ñ 5:ØðNñ5€J�˜˜v xÐ/Ñ0Ñ1ó ñ 05ØØ[ñ0Ð ö r$   r\   c                   óÂ   • \ rS rSr% SrSr\\S   \" SSS94   \	S'   Sr
\\\" SS	94   \	S
'   Sr\\\" SS	94   \	S'   Sr\\\" SS	94   \	S'   Sr\\\" SS	94   \	S'   Srg)ÚEpubBackendOptionsé¼   z%Options specific to the EPUB backend.ÚepubTFr*   r-   z2Whether to fetch and process images from the EPUB.r   r2   é  @z^Maximum cumulative size in bytes of all data extracted from the EPUB archive during processingÚmax_total_bytesé    zIMaximum size in bytes for any single file extracted from the EPUB archiveÚmax_file_byteséè  ú,Maximum number of archive members to processÚmax_member_countr   N)r   r   r   r   r    r-   r   r   r   r"   r2   r!   rd   r   rf   ri   r#   r   r$   r%   r`   r`   ¼   s¾   ‡ Ù/àHN€Dˆ)�G˜F‘O¡U°4¸eÑ%DÐDÑ
EÓNð 	ð �)Ø‰eÐ TÑUÐUñó ð 	ð �YØÙØxñ	
ð	ñó ð 	ð �IØÙØcñ	
ð	ñó ð 	ð �iØ‘UÐ'UÑVÐVñö r$   r`   c                   ó”   • \ rS rSr% Sr\" SS9r\\S'   \	" SSSS9r
\S   \S	'   S
r\\   \S'   \	" SSS9r\\S'   \	" SSS9r\\S'   Srg
)ÚPdfBackendOptionséÔ   z*Backend options for pdf document backends.F)ÚdefaultÚ_materialize_char_cellsÚpdfTr*   r-   NÚpasswordz´Whether docling-parse should split text cells at font boundaries. Disable this when PDFs use separate fonts for base glyphs and diacritics that should remain in the same text cell.r   Úenforce_same_fonta  Whether docling-parse should decode the bytes of the bitmap images embedded in the page, in addition to their bounding boxes. Needed to extract native picture images (e.g. by the native PDF pipeline); decoding costs time and memory, so it is off by default.Úinclude_bitmap_imagesr   )r   r   r   r   r    r   rn   r!   r"   r   r-   r   rp   r   r   rq   rr   r#   r   r$   r%   rk   rk   Ô   ss   ‡ Ù4á$/¸Ñ$>Ð˜TÓ>á  °¸5ÑA€Dˆ'�%‰.ÓAØ$(€Hˆh�yÑ!Ó(Ù#ØðCñÐ�tó ñ #(ØðGñ#Ð˜4ö r$   rk   c                   ó¨   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SS	S
9r	\
\   \S'   \" SSS
9r\\S'   \" SSS
9r\\S'   \" SSS
9r\" SS9\S'   Srg)Ú"ThreadedDoclingParseBackendOptionséî   z7Options specific to the threaded docling-parse backend.zthreaded-docling-parseTFr*   r-   Nz�Number of parser threads to use for the threaded docling-parse backend. If unset, the backend falls back to global accelerator thread settings.r   Úparser_threadszÜWhether the parser should also render a page image while decoding a page. Rendering is what makes page images available; turn it off to parse the text and image content only, at which point requesting a page image fails.Úrender_pagesrG   zÜRaster scale in pixels per point of the page image rendered while decoding (1.0 renders at 72 DPI, 2.0 at 144 DPI). Set it to the scale the page images are consumed at, so pages are not rendered a second time on request.Úrender_scaleé€   zŠRelease native parser memory after every N decoded pages in the threaded docling-parse backend. Set to 0 to disable native-memory release.r   rT   Ú#release_native_memory_every_n_pagesr   )r   r   r   r   r    r   r-   r   r"   rv   r   r   rw   r!   rx   r   rz   r   r#   r   r$   r%   rt   rt   î   sœ   ‡ ÙAá.3Ø ¨$°Uñ/€Dˆ'Ð*Ñ
+ó ñ -2ØðVñ-€N�H˜[Ñ)ó ñ ØðYñ€L�$ó ñ #(ØðSñ#€L�-ó ñ 9>Øðñ9Ð'©°1©ö r$   rt   c                   ó¢   • \ rS rSr% SrSr\\S   \" SSS94   \	S'   Sr
\\\" S	S
94   \	S'   Sr\\\" SS
94   \	S'   Sr\\\" SS
94   \	S'   Srg)ÚMetsGbsBackendOptionsi  z2Options specific to the METS-GBS document backend.zmets-gbsTFr*   r-   é  ÀzYMaximum cumulative size in bytes of all data extracted from the archive during processingr   rd   re   zDMaximum size in bytes for any single file extracted from the archiverf   rg   rh   ri   r   N©r   r   r   r   r    r-   r   r   r   r"   rd   r   rf   ri   r#   r   r$   r%   r|   r|     s›   ‡ Ù<àLV€Dˆ)�G˜JÑ'©°tÀ%Ñ)HÐHÑ
IÓVð 	ð �YØÙØsñ	
ð	ñó ð 	ð �IØÙØ^ñ	
ð	ñó ð 	ð �iØ‘UÐ'UÑVÐVñö r$   r|   c                   ó¢   • \ rS rSr% SrSr\\S   \" SSS94   \	S'   Sr
\\\" S	S
94   \	S'   Sr\\\" SS
94   \	S'   Sr\\\" SS
94   \	S'   Srg)ÚIWorkBackendOptionsi*  z6Options specific to the Apple iWork document backends.ÚiworkTFr*   r-   r}   zZMaximum cumulative size in bytes of all data read from the iWork archive during processingr   rd   rc   zGMaximum size in bytes for any single member read from the iWork archiverf   iˆ  z,Maximum number of archive members to inspectri   r   Nr~   r   r$   r%   r€   r€   *  s›   ‡ Ù@àIP€Dˆ)�G˜GÑ$¡e°D¸uÑ&EÐEÑ
FÓPð 	ð �YØÙØtñ	
ð	ñó ð 	ð �IØÙØañ	
ð	ñó ð 	ð �iØ‘UÐ'UÑVÐVñö r$   r€   c                   ó¾   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SSS	9r	\
\S
'   \" SSS	9r\
\S'   \" SSS	9r\
\S'   \" SSS	9r\\S'   \" SSS	9r\\\      \S'   Srg)ÚMsExcelBackendOptionsi?  z)Options specific to the MS Excel backend.ÚxlsxTFr*   r-   úlWhether to treat singleton cells (1x1 tables with empty neighboring cells) as TextItem instead of TableItem.r   Útreat_singleton_as_texta  Whether to parse native charts embedded in worksheets and chart sheets. Each chart becomes a PictureItem classified by chart type (bar, line, pie, scatter) and carrying the chart's underlying data reconstructed as a table. Set to False to skip chart parsing.Úparse_chartsaj  Whether to render an image for each native chart and attach it to the chart PictureItem. The chart is isolated into a temporary workbook and rasterized with LibreOffice, the same external tool used for EMF/WMF images. Opt-in (default False) because it requires a LibreOffice installation and inflates the output size. Only takes effect when parse_charts is True.Úrender_chart_imagesr   ú|The tolerance (in number of empty rows/columns) for merging nearby data clusters into a single table. Default is 0 (strict).Úgap_toleranceNúÙAn optional list of sheet names to include in conversion. When set, only sheets whose names appear in this list will be processed. Sheet names are matched case-sensitively. Set to None (default) to include all sheets.Úsheet_namesr   )r   r   r   r   r    r   r-   r   r"   r†   r!   r‡   rˆ   rŠ   rW   rŒ   r   ÚlistrZ   r#   r   r$   r%   rƒ   rƒ   ?  s®   ‡ Ù3á! &°$¸UÑC€Dˆ'�&‰/ÓCÙ$)Øð7ñ%Ð˜Tó ñ ØðLñ€L�$ó ñ !&Øð;ñ
!Ð˜ó 
ñ Ø	ðHñ€M�3ó ñ (-Øð;ñ(€K�˜$˜s™)Ñ$ö r$   rƒ   c                   óR   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SSS	9r	\
\S
'   Srg)ÚMsPowerpointBackendOptionsis  z.Options specific to the MS PowerPoint backend.ÚpptxTFr*   r-   a«  Whether to render an image for each native chart and attach it to the chart PictureItem. The chart's slide is isolated into a temporary presentation and rasterized with LibreOffice, the same external tool used for EMF/WMF images. Opt-in (default False) because it requires a LibreOffice installation and inflates the output size. Charts always keep their classification and reconstructed tabular data regardless of this option.r   rˆ   r   N©r   r   r   r   r    r   r-   r   r"   rˆ   r!   r#   r   r$   r%   r�   r�   s  s7   ‡ Ù8á! &°$¸UÑC€Dˆ'�&‰/ÓCá %ØðDñ!Ð˜ö r$   r�   c                   óR   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SSS	9r	\
\S
'   Srg)ÚMsWordBackendOptionsi†  z(Options specific to the MS Word backend.ÚdocxTFr*   r-   a§  Whether to render an image for each native chart and attach it to the chart PictureItem. The chart drawing is isolated into a temporary document and rasterized with LibreOffice, the same external tool used for EMF/WMF images. Opt-in (default False) because it requires a LibreOffice installation and inflates the output size. Charts always keep their classification and reconstructed tabular data regardless of this option.r   rˆ   r   Nr‘   r   r$   r%   r“   r“   †  s7   ‡ Ù2á! &°$¸UÑC€Dˆ'�&‰/ÓCá %ØðDñ!Ð˜ö r$   r“   c                   ó®   • \ rS rSr% SrSr\\S   \" SSS94   \	S'   Sr
\\\" SS	94   \	S
'   Sr\\\" SS	94   \	S'   Sr\\\\      \" SS	94   \	S'   Srg)ÚOdsBackendOptionsi™  z?Options specific to the ODS (OpenDocument Spreadsheet) backend.ÚodsTFr*   r-   r…   r   r†   r   r‰   rŠ   Nr‹   rŒ   r   )r   r   r   r   r    r-   r   r   r   r"   r†   r!   rŠ   rW   rŒ   r   r�   rZ   r#   r   r$   r%   r–   r–   ™  s¯   ‡ ÙIàGL€Dˆ)�G˜E‘N¡E°$¸UÑ$CÐCÑ
DÓLð 	ð ˜YØÙð;ñ	
ð	ñó ð" 	
ð �9ØÙðLñ	
ð	ñó 
ð& 	ð �Ø��c‘ÑÙð?ñ	
ð	ñ
ö 
r$   r–   c                   ó¬   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SS	S
9r	\
\   \S'   \" SSS
9r\
\S      \S'   \" SSS
9r\\S'   \" SSS
9r\\S'   Srg)ÚLatexBackendOptionsi¼  z&Options specific to the LaTeX backend.ÚlatexTFr*   r-   g      >@zhMaximum time allowed for parsing a LaTeX document. Set to None to disable the timeout. Defaults to 30 s.r   Úparse_timeoutNzuThe engine to use for rendering Tikz diagrams into images. Set to 'tectonic' to enable asynchronous image generation.ÚtectonicÚtikz_engineg      N@z;The timeout in seconds for rendering a single TikZ diagram.Útikz_engine_timeoutz„Allow Tectonic TikZ rendering to enable shell escape during compilation. Disabled by default for safer rendering of untrusted LaTeX.Útikz_engine_allow_shell_escaper   )r   r   r   r   r    r   r-   r   r"   r›   r   rX   r�   rž   rŸ   r!   r#   r   r$   r%   r™   r™   ¼  s—   ‡ Ù0á" 7°D¸uÑE€Dˆ'�'Ñ
ÓEÙ%*ØðDñ&€M�8˜E‘?ó ñ 27ØðIñ2€K�˜' *Ñ-Ñ.ó ñ "'ØØQñ"Ð˜ó ñ ,1Øðñ,Ð" Dö r$   r™   c                   óR   • \ rS rSr% Sr\" SSSS9r\S   \S'   \" SSS	9r	\
\S
'   Srg)ÚEmailBackendOptionsiÜ  z>Options specific to the email backend (``.eml`` and ``.msg``).ÚemailTFr*   r-   zëWhether to append a list of the email's attachment filenames to the converted document. Only the attachment names (and content types when available) are listed; the attachments' binary content is never embedded. Opt-in (default False).r   Úlist_attachmentsr   N)r   r   r   r   r    r   r-   r   r"   r£   r!   r#   r   r$   r%   r¡   r¡   Ü  s7   ‡ ÙHá" 7°D¸uÑE€Dˆ'�'Ñ
ÓEÙ"Øð9ñÐ�dö r$   r¡   c                   ój   • \ rS rSr% SrSr\\S   \" SSSS94   \	S'   Sr
\\S-  \" S	S
94   \	S'   Srg)ÚXBRLBackendOptionsië  z%Options specific to the XBRL backend.ÚxbrlTFr*   r-   Nax  Path to a folder with the taxonomy required by the XBRL instance reports. It should include schemas (`.xsd`) and linkbases (`.xml`) referenced by the XBRL reports in their relative locations. Optionally, it can also include taxonomy packages (`.zip`) referenced by the reports with absolute URLs and mapped to files with a taxonomy catalog (`catalog.xml`) for offline parsing.r   Útaxonomyr   )r   r   r   r   r    r-   r   r   r   r"   r§   r   r#   r   r$   r%   r¥   r¥   ë  sV   ‡ Ù/àPV€Dˆ)�G˜F‘O¡U¨6¸4ÀeÑ%LÐLÑ
MÓVð 	ð ˆiØˆt‰ÙðPñ		
ð
	ñö r$   r¥   c                   ó0   • \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)ÚEbcdicFieldTypeiþ  ac  Storage type of a field inside an EBCDIC record.

The names map to the COBOL usages found in a copybook: `string` is
`USAGE DISPLAY` character data, `integer`/`unsigned_integer` are
`COMP`/`BINARY`, `packed_decimal` is `COMP-3`, and `zoned_decimal` is
signed `USAGE DISPLAY` numeric data. `skip` covers fillers whose bytes
are consumed but never decoded.
ÚstringÚintegerÚunsigned_integerÚpacked_decimalÚzoned_decimalÚskipr   N)r   r   r   r   r    ÚSTRINGÚINTEGERÚUNSIGNED_INTEGERÚPACKED_DECIMALÚZONED_DECIMALÚSKIPr#   r   r$   r%   r©   r©   þ  s(   † ñð €FØ€GØ)ÐØ%€NØ#€MØƒDr$   r©   c                   ó¦   • \ rS rSr% Sr\\\" SS94   \S'   \\	\" SS94   \S'   \
R                  r\\
\" SS94   \S	'   S
r\\\" SS94   \S'   Srg)ÚEbcdicFieldi  z/A single fixed-width field of an EBCDIC record.z!Column name of the decoded field.r   ÚnamezField width in bytes.ÚsizezHow the bytes are decoded.Útyper   zkNumber of implied decimal digits of a numeric field, i.e. the digits after `V` in the COBOL picture clause.Úscaler   N)r   r   r   r   r    r   rZ   r   r"   r   r©   r°   rº   r»   r   r#   r   r$   r%   r·   r·     s‡   ‡ Ù9à
�C™Ð+NÑOÐOÑ
PÓPØ
�K¡Ð3JÑ!KÐKÑ
LÓLð 	×Ñð 	ˆ)Ø™Ð+GÑHÐHñó ð 	
ð 
ˆ9ØÙð@ñ	
ð	ñö 
r$   r·   c                   óœ   • \ rS rSr% Sr\\\   \" SSS94   \	S'   Sr
\\\" SS	94   \	S
'   Sr\\\   \" SS	94   \	S'   \S\4S j5       rSrg)ÚEbcdicRecordLayouti#  z@Field layout of one record schema, i.e. a single COBOL copybook.é   z Fields in physical record order.©Ú
min_lengthr   ÚfieldsÚrecordz.Name of the schema, used as the table heading.r   r¸   NztValue of the record-type prefix that selects this schema. Required as soon as a layout defines more than one schema.ÚselectorÚreturnc                 ó:   • [        S U R                   5       5      $ )z2Length in bytes of a record following this layout.c              3   ó8   #   • U  H  oR                   v •  M     g 7f©N©r¹   ©Ú.0Úitems     r%   Ú	<genexpr>Ú*EbcdicRecordLayout.size.<locals>.<genexpr>:  s   é € Ð5ª —9–9ªùó   ‚)ÚsumrÁ   ©Úselfs    r%   r¹   ÚEbcdicRecordLayout.size7  s   € ô Ñ5¨¯ªÓ5Ó5Ð5r$   r   )r   r   r   r   r    r   r�   r·   r   r"   r¸   rZ   rÃ   r   ÚpropertyrW   r¹   r#   r   r$   r%   r½   r½   #  sš   ‡ ÙJàØˆ[ÑÙ˜Ð(JÑKð	Mñó ð 	ð 	ˆ)Ø‰UÐOÑPÐPñó ð 	ð ˆiØ�‰ÙðMñ	
ð	ñó ð ð6�có 6ó ó6r$   r½   c                   óZ  • \ rS rSr% Sr\\\   \" SSS94   \	S'   Sr
\\\" SS	94   \	S
'   Sr\\\" SS	94   \	S'   Sr\\\" SS	94   \	S'   Sr\\\   \" SS	94   \	S'   Sr\\\   \" SS	94   \	S'   \S\\   4S j5       r\S\4S j5       rS\\   S\\   4S jr\" SS9SS j5       rSrg)ÚEbcdicLayouti=  a  Parsing rules for an EBCDIC data file.

A layout describes the bytes to ignore at the file boundaries, the optional
prefix carried by every record, and the record schemas themselves. Records
are fixed-length unless `record_length_field` declares a length prefix.
r¾   z#Record schemas present in the file.r¿   ÚrecordsÚ z$Free-text description of the layout.r   r   r   z'Bytes to skip at the start of the file.Úheader_sizez%Bytes to skip at the end of the file.Úfooter_sizeNz¥Prefix field holding the total record length, prefix included. Set it for variable-length records; leave it unset when every record has the fixed size of its schema.Úrecord_length_fieldzTPrefix field whose value selects the record schema. Required for multi-schema files.Úrecord_type_fieldrÄ   c                 óh   • U R                   U R                  4 Vs/ s H
  nUc  M  UPM     sn$ s  snf )z<Prefix fields read ahead of every record, in physical order.)rÚ   rÛ   )rÑ   rË   s     r%   Úprefix_fieldsÚEbcdicLayout.prefix_fieldsf  s=   € ð
 ×1Ñ1°4×3IÑ3IÑJó
âJ�Ø÷ ÙJñ
ð 	
ùò 
s   ›/¦/c                 ó:   • [        S U R                   5       5      $ )z9Length in bytes of the prefix read ahead of every record.c              3   ó8   #   • U  H  oR                   v •  M     g 7frÇ   rÈ   rÉ   s     r%   rÌ   Ú+EbcdicLayout.prefix_size.<locals>.<genexpr>r  s   é € Ð<Ò); —9–9Ò);ùrÎ   )rÏ   rÝ   rÐ   s    r%   Úprefix_sizeÚEbcdicLayout.prefix_sizeo  s   € ô Ñ<¨×);Ò);Ó<Ó<Ð<r$   Úrecord_typec                 ó|   ^• U R                   c  U R                  S   $ [        U4S jU R                   5       S5      $ )z7Return the schema matching a record-type value, if any.Nr   c              3   óJ   >#   • U  H  oR                   T:X  d  M  Uv •  M     g 7frÇ   )rÃ   )rÊ   rË   rä   s     €r%   rÌ   Ú&EbcdicLayout.select.<locals>.<genexpr>y  s   øé € ÐKšl�d¯m©m¸{Ñ.J�T‰Tšlùs   ƒ#š	#)rÛ   rÖ   Únext)rÑ   rä   s    `r%   ÚselectÚEbcdicLayout.selectt  s8   ø€ à×!Ñ!Ñ)Ø—<‘< ‘?Ð"ÜÜK˜dŸlšlÓKÈTó
ð 	
r$   Úafter©Úmodec                 ó.  • [        U R                  5      S:”  a  U R                  c  [        S5      e[        U R                  5      S:”  aQ  U R                   Vs/ s H  oR                  PM     nn[        [        U5      5      [        U5      :w  a  [        S5      eU R                  bb  U R                   Vs/ s H  oR                  PM     nnS U;   a  [        S5      e[        [        U5      5      [        U5      :w  a  [        S5      eU $ s  snf s  snf )Nr¾   z?record_type_field is required for a layout with several recordszrecord names must be uniquez;every record needs a selector when record_type_field is setzrecord selectors must be unique)ÚlenrÖ   rÛ   Ú
ValueErrorr¸   ÚsetrÃ   )rÑ   rË   ÚnamesÚ	selectorss       r%   Ú_validate_recordsÚEbcdicLayout._validate_records|  sî   € äˆt�|‰|Ó˜qÓ  T×%;Ñ%;Ñ%CÜØQóð ô ˆt�|‰|Ó˜qÓ Ø+/¯<ª<Ó8ª< 4—Y”Y©<ˆEÐ8Ü”3�u“:‹¤# e£*Ó,ô !Ð!>Ó?Ð?Ø×!Ñ!Ñ-Ø37·<²<Ó@²<¨4Ÿœ±<ˆIÐ@Ø�yÓ Ü ØQóð ô ”3�y“>Ó"¤c¨)£nÓ4Ü Ð!BÓCÐCØˆùò 9ùò As   ÁDÂ7Dr   )rÄ   rÕ   )r   r   r   r   r    r   r�   r½   r   r"   r   rZ   rØ   r   rÙ   rÚ   r   r·   rÛ   rÓ   rÝ   rW   râ   ré   r   rô   r#   r   r$   r%   rÕ   rÕ   =  sm  ‡ ñð ØÐÑ Ù˜Ð(MÑNð	Pñó ð 	ð �Ø‰UÐEÑFÐFñó ð
 	
ð �Ø™Ð*SÑTÐTñó 
ð
 	
ð �Ø™Ð*QÑRÐRñó 
ð 	ð ˜Ø�ÑÙð;ñ	
ð	ñ	ó 	ð$ 	ð �yØ�ÑÙð*ñ	
ð	ñó ð ð
˜t KÑ0ó 
ó ð
ð ð=˜Só =ó ð=ð
 (¨3¡-ð 
°HÐ=OÑ4Pô 
ñ ˜'Ñ"óó #ór$   rÕ   c                   ó  • \ rS rSr% SrSr\\S   \" SSS94   \	S'   Sr
\\\" S	S
94   \	S'   Sr\\\   \" SS
94   \	S'   Sr\\\   \" SS
94   \	S'   Sr\\\   \" SS
94   \	S'   Sr\\\" SS
94   \	S'   \" SS9SS j5       rSrg)ÚEbcdicBackendOptionsi”  z'Options specific to the EBCDIC backend.ÚebcdicTFr*   r-   Úcp037zqPython codec used to decode character data, e.g. `cp037` (US/Canada), `cp500` (international) or `cp1140` (euro).r   ÚencodingNzParsing rules for the file.Úlayoutz.Path to a JSON file holding the parsing rules.Úlayout_filez9Stop after this many records. Unset reads the whole file.Úmax_recordsz4Drop control characters from decoded character data.Ústrip_control_charactersrë   rì   c                 óP   • U R                   b  U R                  b  [        S5      eU $ )Nz*set either layout or layout_file, not both)rû   rü   rð   rÐ   s    r%   Ú_validate_layout_sourceÚ,EbcdicBackendOptions._validate_layout_source±  s(   € à�;‰;Ñ" t×'7Ñ'7Ñ'CÜÐIÓJÐJØˆr$   r   )rÄ   r÷   )r   r   r   r   r    r-   r   r   r   r"   rú   rZ   rû   r   rÕ   rü   r   rý   r   rþ   r!   r   r   r#   r   r$   r%   r÷   r÷   ”  s  ‡ Ù1àJR€Dˆ)�G˜HÑ%¡u°TÀÑ'FÐFÑ
GÓRð 	ð ˆiØÙðKñ	
ð	ñó ð 	ð ˆIØ�Ñ¡Ð2OÑ PÐPñó ð 	ð �Ø�‰ÙÐJÑKð	Mñó ð 	ð �Ø�ÑÙÐUÑVð	Xñó ð 	ð ˜iØÙÐPÑQð	Sñó ñ
 ˜'Ñ"óó #ór$   r÷   r-   )ÚdiscriminatorN)-Úenumr   Úpathlibr   r   Útypingr   r   r   r	   Úpydanticr
   r   r   r   r   r   r   r   r   r   r   r'   r/   r8   r\   r`   rk   rt   r|   r€   rƒ   r�   r“   r–   r™   r¡   r¥   rZ   r©   r·   r½   rÕ   r÷   ÚBackendOptionsr   r$   r%   Ú<module>r     s¥  ðõ ß "ß 6Ó 6÷÷ ÷ ô˜ô ôRÐ 2ô RôÐ/ô ô<\Ð+ô \ô~Ð/ô ô0Ð+ô ô0Ð*ô ô4$Ð):ô $ôNÐ-ô ô*Ð,ô ô*1Ð.ô 1ôhÐ!3ô ô&Ð-ô ô& Ð*ô  ôFÐ,ô ô@Ð,ô ôÐ+ô ô&�c˜4ô ô$
�)ô 
ô&6˜ô 6ô4T�9ô Tôn!Ð-ô !ðH Ø	Ø!ØØØØØØØ*ØØØØ"ØØØØØð!	ññ& 
˜Ñð'!ñ�r$   