+
    öÙ†jm‹  ã                   ó0  € R t ^ RIHtHtHt ^ RIHtHtHt ^ RIH	t	 ^ RI
HtHt ^ RIHt ]P                  t]P                   t]P"                  t]P$                  P&                  t]P$                  P(                  t]P$                  P*                  t]P$                  P,                  t]P.                  ! 4       tR]P2                  ! RR4      R	]P2                  ! RR
4      R]P2                  ! RR4      R]P2                  ! RR4      R]P2                  ! RR4      R]P2                  ! RR4      R]P2                  ! RR4      R]P2                  ! RR4      R]P2                  ! RR4      /	t ! R R]4      tR tR t ! R R4      t]]]3t  ! R R ]4      t! ! R! R"]4      t" ! R# R$]"4      t# ! R% R&]"4      t$R't%R(]%,          t& ! R) R*]4      t' ! R+ R,4      t( ! R- R.](]4      t) ! R/ R0](]'4      t* ! R1 R2]+4      t, ! R3 R4]4      t-R:R5 lt.R:R6 lt/R:R7 lt0R:R8 lt1R9 t2R# );z™Facility to use the Expat parser to load a minidom instance
from a string or file.

This avoids all the overhead of SAX and pulldom to gain performance.
)Ú
xmlbuilderÚminidomÚNode)ÚEMPTY_NAMESPACEÚEMPTY_PREFIXÚXMLNS_NAMESPACE)Úexpat)Ú_append_childÚ_set_attribute_node)Ú
NodeFilterÚCDATANÚcdataÚENUMÚenumerationÚENTITYÚentityÚENTITIESÚentitiesÚIDÚidÚIDREFÚidrefÚIDREFSÚidrefsÚNMTOKENÚnmtokenÚNMTOKENSÚnmtokensc                   ó^   a € ] tR t^<t o RtRR ltR tR tR tR t	R t
R tR	 tR
 tRtV tR# )ÚElementInfoNc                ó,   € Wn         . V n        W n        R # ©N)ÚtagNameÚ
_attr_infoÚ_model)Úselfr"   Úmodels   &&&Ú+/usr/lib/python3.14/xml/dom/expatbuilder.pyÚ__init__ÚElementInfo.__init__?   s   € ØŒØˆŒØŽó    c                óH   € V P                   V P                  V P                  3# r!   ©r#   r$   r"   ©r%   s   &r'   Ú__getstate__ÚElementInfo.__getstate__D   s   € Ø�‰ §¡¨T¯\©\Ð9Ð9r*   c                ó0   € Vw  V n         V n        V n        R # r!   r,   )r%   Ústates   &&r'   Ú__setstate__ÚElementInfo.__setstate__G   s   € Ø5:Ñ2ˆŒ˜œ d¦lr*   c                óÜ   € V P                    FM  pV^,          V8X  g   K  VR,          pV^ ,          R8X  d   \        R,          u # \        VR,          ,          u # 	  \        P                  # )é   Ú(r   éþÿÿÿ)r#   Ú_typeinfo_mapr   Ú_no_type)r%   ÚanameÚinfoÚts   &&  r'   ÚgetAttributeTypeÚElementInfo.getAttributeTypeJ   sX   € Ø—O”OˆDØ�A�w˜%ÖØ˜•H�Ø�Q•4˜3”;Ü(¨Õ0Ò0ä(¨¨b­Õ2Ò2ñ $ô ×ÑÐr*   c                ó"   € \         P                  # r!   )r   r9   )r%   ÚnamespaceURIÚ	localNames   &&&r'   ÚgetAttributeTypeNSÚElementInfo.getAttributeTypeNST   s   € Ü×ÑÐr*   c                ó¾   € V P                   '       dK   V P                   ^ ,          pV\        P                  P                  \        P                  P                  39  # R# ©é    F)r$   r   r&   ÚXML_CTYPE_ANYÚXML_CTYPE_MIXED)r%   Útypes   & r'   ÚisElementContentÚElementInfo.isElementContentW   sH   € Ø�;�;ˆ;Ø—;‘;˜q•>ˆDØ¤§¡× 9Ñ 9Ü %§¡× ;Ñ ;ð =ñ =ð =ñ r*   c                ó†   € V P                   '       d/   V P                   ^ ,          \        P                  P                  8H  # R# rE   )r$   r   r&   ÚXML_CTYPE_EMPTYr-   s   &r'   ÚisEmptyÚElementInfo.isEmpty_   s+   € Ø�;�;ˆ;Ø—;‘;˜q•>¤U§[¡[×%@Ñ%@Ñ@Ð@ár*   c                ód   € V P                    F  pV^,          V8X  g   K  VR,          R8H  u # 	  R# )r5   r   Fr7   )r#   )r%   r:   r;   s   && r'   ÚisIdÚElementInfo.isIde   s0   € Ø—O”OˆDØ�A�w˜%ÖØ˜B•x 4Ñ'Ò'ñ $ñ r*   c                ó&   € V P                  W434      # r!   )rQ   )r%   ÚeuriÚenameÚaurir:   s   &&&&&r'   ÚisIdNSÚElementInfo.isIdNSk   s   € à�y‰y˜$˜Ó'Ð'r*   r,   r!   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r(   r.   r2   r=   rB   rJ   rN   rQ   rW   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r'   r   r   <   s<   ø‡ € Ø1€Iôò
:ò;ò ò òòò÷(ð (r*   r   c                 ó$   € V P                  W4      # r!   )Ú_intern_setdefault)ÚbuilderÚss   &&r'   Ú_internrf   o   s   € Ø×%Ñ% aÓ+Ð+r*   c                 ó>  € R V9   g   Q hVP                  R 4      pV P                  p\        V4      ^8X  d(   Vw  rEpV! Wf4      pV: RV: 2pV! Ww4      pV! WU4      pM6\        V4      ^8X  d   Vw  rE\        pV! WU4      ;ruM\	        RV,          4      hV! WD4      WVV3# )Ú Ú:z4Unsupported syntax: spaces in URIs not supported: %r)Úsplitrc   Úlenr   Ú
ValueError)rd   ÚnameÚpartsÚinternÚuriÚ	localnameÚprefixÚqnames   &&      r'   Ú_parse_ns_namert   r   s­   € Ø�$Œ;Ðˆ;Ø�J‰J�s‹O€EØ×'Ñ'€FÜ
ˆ5ƒz�Q„Ø!&Ñˆ˜Ù˜Ó'ˆÛ!¢9Ð-ˆÙ�uÓ$ˆÙ˜9Ó0‰	Ü	ˆU‹�qŒØ‰ˆÜˆÙ" 9Ó8Ð8ˆ�	äÐOÐRVÕVÓWÐWÙ�#Ó˜Y°Ð5Ð5r*   c                   óÐ   a € ] tR t^…t o RtR R ltR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t Rt!V t"R# )!ÚExpatBuilderzLDocument builder that uses Expat to build a ParsedXML.DOM document
instance.Nc                ó  € Vf   \         P                  ! 4       pWn        V P                  P                  e&   \	        V P                  P                  4      V n        MR V n        \        V n        R V n        V P                  4        R # r!   )
r   ÚOptionsÚ_optionsÚfilterÚFilterVisibilityControllerÚ_filterr   Ú_finish_start_elementÚ_parserÚreset)r%   Úoptionss   &&r'   r(   ÚExpatBuilder.__init__‰   sa   € ØŠ?Ü ×(Ò(Ó*ˆGØŒØ�=‰=×ÑÒ+Ü5°d·m±m×6JÑ6JÓKˆD�LàˆDŒLô *,ˆDÔ&ØˆŒØ�
‰
Žr*   c                ó,   € \         P                  ! 4       # )zCreate a new parser object.)r   ÚParserCreater-   s   &r'   ÚcreateParserÚExpatBuilder.createParser—   s   € ä×!Ò!Ó#Ð#r*   c                óN  € V P                   '       g‰   V P                  4       V n         V P                   P                  P                  V n        RV P                   n        RV P                   n        RV P                   n        V P                  V P                   4       V P                   # )z7Return the parser object, creating a new one if needed.T)	r~   r„   ro   Ú
setdefaultrc   Úbuffer_textÚordered_attributesÚspecified_attributesÚinstallr-   s   &r'   Ú	getParserÚExpatBuilder.getParser›   sq   € à�|�|ˆ|Ø×,Ñ,Ó.ˆDŒLØ&*§l¡l×&9Ñ&9×&DÑ&DˆDÔ#Ø'+ˆD�L‰LÔ$Ø.2ˆD�L‰LÔ+Ø04ˆD�L‰LÔ-Ø�L‰L˜Ÿ™Ô&Ø�|‰|Ðr*   c                ó¬   € \         P                  \        RR4      V n        V P                  V n        V P                  P
                  V n        RV n        R# )z6Free all data structures used during DOM construction.NF)ÚtheDOMImplementationÚcreateDocumentr   ÚdocumentÚcurNodeÚ
_elem_infoÚ_cdatar-   s   &r'   r   ÚExpatBuilder.reset¦   s>   € ä,×;Ñ;Ü˜T 4ó)ˆŒà—}‘}ˆŒØŸ-™-×2Ñ2ˆŒØˆŽr*   c                ó®  € V P                   Vn        V P                  Vn        V P                  Vn        V P                  Vn        V P                  P                  '       d   V P                  Vn        V P                  Vn        V P                  P                  '       d   V P                  Vn        V P                  P"                  '       d5   V P$                  Vn        V P(                  Vn        V P,                  Vn        MV P0                  Vn        V P2                  Vn        V P6                  Vn        V P:                  Vn        V P>                  Vn         R# )z>Install the callbacks needed to build the DOM into the parser.N)!Ústart_doctype_decl_handlerÚStartDoctypeDeclHandlerÚfirst_element_handlerÚStartElementHandlerÚend_element_handlerÚEndElementHandlerÚ
pi_handlerÚProcessingInstructionHandlerry   r   Úentity_decl_handlerÚEntityDeclHandlerÚnotation_decl_handlerÚNotationDeclHandlerÚcommentsÚcomment_handlerÚCommentHandlerÚcdata_sectionsÚstart_cdata_section_handlerÚStartCdataSectionHandlerÚend_cdata_section_handlerÚEndCdataSectionHandlerÚcharacter_data_handler_cdataÚCharacterDataHandlerÚcharacter_data_handlerÚexternal_entity_ref_handlerÚExternalEntityRefHandlerÚxml_decl_handlerÚXmlDeclHandlerÚelement_decl_handlerÚElementDeclHandlerÚattlist_decl_handlerÚAttlistDeclHandler©r%   Úparsers   &&r'   r‹   ÚExpatBuilder.install®   s  € ð *.×)HÑ)HˆÔ&Ø%)×%?Ñ%?ˆÔ"Ø#'×#;Ñ#;ˆÔ Ø.2¯o©oˆÔ+Ø�=‰=×!×!Ð!Ø'+×'?Ñ'?ˆFÔ$Ø%)×%?Ñ%?ˆÔ"Ø�=‰=×!×!Ð!Ø$(×$8Ñ$8ˆFÔ!Ø�=‰=×'×'Ð'Ø.2×.NÑ.NˆFÔ+Ø,0×,JÑ,JˆFÔ)Ø*.×*KÑ*KˆFÕ'à*.×*EÑ*EˆFÔ'Ø*.×*JÑ*JˆÔ'Ø $× 5Ñ 5ˆÔØ$(×$=Ñ$=ˆÔ!Ø$(×$=Ñ$=ˆÖ!r*   c                ó€  € V P                  4       pRp VP                  R4      ;p'       dL   VP                  VR4       V'       d.   V P                  P                  '       d   V P                  V4       RpKd  VP                  RR4       V P                  pV P                  4        RV n        V#   \         d     L2i ; i)zAParse a document from a file object, returning the document
node.TFr*   Ni @  )	rŒ   ÚreadÚParser‘   ÚdocumentElementÚ_setup_subsetÚParseEscaper   r~   )r%   Úfiler·   Úfirst_bufferÚbufferÚdocs   &&    r'   Ú	parseFileÚExpatBuilder.parseFileÅ   s£   € ð —‘Ó!ˆØˆð	Ø ŸI™I gÓ.Ð.�&Ö.Ø—‘˜V UÔ+ß D§M¡M×$A×$AÐ$AØ×&Ñ& vÔ.Ø$’Ø�L‰L˜˜dÔ#ð �m‰mˆØ�
‰
ŒØˆŒØˆ
øô ô 	Ùð	ús   ”2B/ ÁB/ Á#'B/ Â/B=Â<B=c                óÖ   € V P                  4       p VP                  VR4       V P                  V4       V P                  pV P                  4        RV n        V#   \         d     L2i ; i)z<Parse a document from a string, returning the document node.TN)rŒ   r»   r½   r¾   r‘   r   r~   )r%   Ústringr·   rÂ   s   &&  r'   ÚparseStringÚExpatBuilder.parseStringØ   sc   € à—‘Ó!ˆð	Ø�L‰L˜ Ô&Ø×Ñ˜vÔ&ð �m‰mˆØ�
‰
ŒØˆŒØˆ
øô ô 	Ùð	ús   ’#A ÁA(Á'A(c                óÌ   € V P                   P                  '       dH   \        4       pVP                  V4       VP	                  4       pW0P                   P                  n        R# R# )z/Load the internal subset if there might be one.N)r‘   ÚdoctypeÚInternalSubsetExtractorrÇ   Ú	getSubsetÚinternalSubset)r%   rÁ   Ú	extractorÚsubsets   &&  r'   r½   ÚExpatBuilder._setup_subsetå   sK   € à�=‰=× × Ð Ü/Ó1ˆIØ×!Ñ! &Ô)Ø×(Ñ(Ó*ˆFØ39�M‰M×!Ñ!Ö0ñ	 !r*   c                óž  € V P                   P                  P                  WV4      pV P                   Vn        \	        V P                   V4       WPP                   n        V P                  '       dq   V P                  P                  V4      \        8X  dM   R V P                   n        V P                   P                  R R pR V P                  n        R V P                  n        V'       df   Ve#   . VP                  n        . VP                  n        R V P                  n        R V P                  n        V P$                  V P                  n        R # R # ©Néÿÿÿÿ)r‘   ÚimplementationÚcreateDocumentTypeÚownerDocumentr	   rÊ   r|   Ú
acceptNodeÚFILTER_REJECTÚ
childNodesr~   r    r¢   r   Ú_seqÚ	notationsr¥   rž   Úend_doctype_decl_handlerÚEndDoctypeDeclHandler)r%   ÚdoctypeNameÚsystemIdÚpublicIdÚhas_internal_subsetrÊ   s   &&&&& r'   r—   Ú'ExpatBuilder.start_doctype_decl_handlerí   só   € à—-‘-×.Ñ.×AÑAØ 8ó-ˆà $§¡ˆÔÜ�d—m‘m WÔ-Ø '�‰ÔØ�<�<ˆ<˜DŸL™L×3Ñ3°GÓ<ÄÔMØ$(ˆD�M‰MÔ!Ø—‘×(Ñ(¨Ð,ØˆGØ-1ˆD�L‰LÔ*Ø/3ˆD�L‰LÔ,ßØÒ"Ø(*�× Ñ Ô%Ø)+�×!Ñ!Ô&Ø*.ˆD�L‰LÔ'Ø8<ˆD�L‰LÔ5Ø15×1NÑ1NˆD�L‰LÖ.ñ r*   c                ó  € V P                   P                  '       d   V P                  V P                  n        V P
                  V P                  n        V P                  '       g"   V P                  '       g   \        V n
        R # R # R # r!   )ry   r£   r¤   r~   r¥   r�   rž   r“   r|   r   Ú_finish_end_elementr-   s   &r'   rÜ   Ú%ExpatBuilder.end_doctype_decl_handler  sT   € Ø�=‰=×!×!Ð!Ø*.×*>Ñ*>ˆD�L‰LÔ'Ø48·O±Oˆ�‰Ô1Ø——� 4§<§< <Ü')ˆDÖ$ñ $0‘r*   c                ó  € V P                   P                  W4      p\        V P                  V4       V P                  '       dD   V P                  P                  V4      \        8X  d   V P                  P                  V4       R # R # R # r!   )r‘   ÚcreateProcessingInstructionr	   r’   r|   r×   rØ   ÚremoveChild)r%   ÚtargetÚdataÚnodes   &&& r'   r�   ÚExpatBuilder.pi_handler	  s]   € Ø�}‰}×8Ñ8¸ÓFˆÜ�d—l‘l DÔ)Ø�<�<ˆ<˜DŸL™L×3Ñ3°DÓ9¼]ÔJØ�L‰L×$Ñ$ TÖ*ñ K‰<r*   c                ó@  € V P                   P                  pV P                  '       dl   V P                  '       d7   VR,          P                  \
        8X  d   VR,          P                  V4       R# V P                  P                  V4      pRV n        MtV'       dA   VR,          P                  \        8X  d%   VR,          pVP                  V,           pWCn
        R# \        P                  ! 4       pWn
        V P                  Vn        \        V P                   V4       R# )r5   NTrÓ   )r’   rÙ   r”   Ú_cdata_continueÚnodeTypeÚCDATA_SECTION_NODEÚ
appendDatar‘   ÚcreateCDATASectionÚ	TEXT_NODErê   r   ÚTextrÖ   r	   )r%   rê   rÙ   rë   Úvalues   &&   r'   r«   Ú)ExpatBuilder.character_data_handler_cdata  sÇ   € Ø—\‘\×,Ñ,ˆ
Ø�;�;ˆ;Ø×&×&Ð&Ø  •n×-Ñ-Ô1CÔCØ˜2•×)Ñ)¨$Ô/ÙØ—=‘=×3Ñ3°DÓ9ˆDØ#'ˆDÕ ß˜J r�N×3Ñ3´yÔ@Ø˜b•>ˆDØ—I‘I Õ$ˆEØŒIÙä—<’<“>ˆDØŒIØ!%§¡ˆDÔÜ�d—l‘l DÖ)r*   c                óh  € V P                   P                  pV'       d@   VR,          P                  \        8X  d$   VR,          pVP                  V,           Vn        R# \
        P                  ! 4       pVP                  V,           Vn        V P                  Vn        \        V P                   V4       R# ©r5   NrÓ   )
r’   rÙ   rï   ró   rê   r   rô   r‘   rÖ   r	   )r%   rê   rÙ   rë   s   &&  r'   r­   Ú#ExpatBuilder.character_data_handler#  sv   € Ø—\‘\×,Ñ,ˆ
ß˜* R�.×1Ñ1´YÔ>Ø˜b•>ˆDØŸ	™	 DÕ(ˆDŒIÙÜ�|Š|‹~ˆØ—I‘I Õ$ˆŒ	Ø!Ÿ]™]ˆÔÜ�d—l‘l DÖ)r*   c                ó>  € V'       d   R # V P                   P                  '       g   R # V P                  P                  WWW4      pVe7   V P                  P	                  V4      p	VP
                  P                  V	4       V P                  P                  P                  P                  P                  V4       V P                  '       dT   V P                  P                  V4      \        8X  d.   V P                  P                  P                  P                  R R # R # R # rÒ   )ry   r   r‘   Ú_create_entityÚcreateTextNoderÙ   ÚappendrÊ   rÚ   r|   r×   rØ   )
r%   Ú
entityNameÚis_parameter_entityrõ   Úbaserß   rà   ÚnotationNamerë   Úchilds
   &&&&&&&&  r'   rŸ   Ú ExpatBuilder.entity_decl_handler.  sÌ   € çáØ�}‰}×%×%Ð%ÙØ�}‰}×+Ñ+¨JØ,4óDˆàÒð —M‘M×0Ñ0°Ó7ˆEØ�O‰O×"Ñ" 5Ô)Ø�‰×Ñ×&Ñ&×+Ñ+×2Ñ2°4Ô8Ø�<�<ˆ<˜DŸL™L×3Ñ3°DÓ9¼]ÔJØ—‘×%Ñ%×.Ñ.×3Ñ3°BÒ7ñ K‰<r*   c                óz  € V P                   P                  WV4      pV P                   P                  P                  P                  P                  V4       V P                  '       dT   V P                  P                  V4      \        8X  d.   V P                   P                  P                  P                  R R# R# R# rø   )	r‘   Ú_create_notationrÊ   rÛ   rÚ   rý   r|   r×   ÚFILTER_ACCEPT)r%   r  r   rß   rà   rë   s   &&&&& r'   r¡   Ú"ExpatBuilder.notation_decl_handler@  s�   € Ø�}‰}×-Ñ-¨lÀhÓOˆØ�‰×Ñ×'Ñ'×,Ñ,×3Ñ3°DÔ9Ø�<�<ˆ<˜DŸL™L×3Ñ3°DÓ9¼]ÔJØ—‘×%Ñ%×/Ñ/×4Ñ4°RÒ8ñ K‰<r*   c                ó  € V P                   P                  V4      p\        V P                  V4       V P                  '       dD   V P                  P                  V4      \        8X  d   V P                  P                  V4       R # R # R # r!   )r‘   ÚcreateCommentr	   r’   r|   r×   rØ   rè   )r%   rê   rë   s   && r'   r¤   ÚExpatBuilder.comment_handlerF  s]   € Ø�}‰}×*Ñ*¨4Ó0ˆÜ�d—l‘l DÔ)Ø�<�<ˆ<˜DŸL™L×3Ñ3°DÓ9¼]ÔJØ�L‰L×$Ñ$ TÖ*ñ K‰<r*   c                ó"   € R V n         RV n        R# )TFN©r”   rî   r-   s   &r'   r§   Ú(ExpatBuilder.start_cdata_section_handlerL  s   € ØˆŒØ$ˆÖr*   c                ó"   € R V n         R V n        R# )FNr  r-   s   &r'   r©   Ú&ExpatBuilder.end_cdata_section_handlerP  s   € ØˆŒØ$ˆÖr*   c                ó   € ^# )r5   © )r%   Úcontextr   rß   rà   s   &&&&&r'   r®   Ú(ExpatBuilder.external_entity_ref_handlerT  s   € Ùr*   c                ó¼   € V P                   f   V P                  '       g   \        V n        V P                  V P                  4       n        V P	                  W4       R # r!   )r|   r“   r   rä   Ústart_element_handlerrŒ   rš   )r%   rm   Ú
attributess   &&&r'   r™   Ú"ExpatBuilder.first_element_handlerW  s?   € Ø�<‰<Ò¨¯¯¨Ü')ˆDÔ$Ø/3×/IÑ/Iˆ�‰ÓÔ,Ø×"Ñ" 4Ö4r*   c                óÆ  € V P                   P                  V4      p\        V P                  V4       W0n        V'       dv   \	        ^ \        V4      ^4       F[  p\        P                  ! W$,          \        R\        4      pW$^,           ,          pWen
        V P                   Vn        \        W54       K]  	  W0P                   P                  Jd   V P                  V4       R# R# ©rF   N)r‘   ÚcreateElementr	   r’   Úrangerk   r   ÚAttrr   r   rõ   rÖ   r
   r¼   r}   )r%   rm   r  rë   ÚiÚarõ   s   &&&    r'   r  Ú"ExpatBuilder.start_element_handler]  s¤   € Ø�}‰}×*Ñ*¨4Ó0ˆÜ�d—l‘l DÔ)ØŒçÜ˜1œc *›o¨qÖ1�Ü—L’L ¥´Ø!%¤|ó5�à" Q¥3��Ø”Ø"&§-¡-�”Ü# DÖ,ñ 2ð —}‘}×4Ñ4Ó4Ø×&Ñ& tÖ,ñ 5r*   c                ór  € V P                   '       d¥   WP                  P                  J d   R # V P                   P                  V4      pV\        8X  d   \        V 4       MV\        8X  d   \        V 4       MR # VP                  V n	        VP                  P                  V4       VP                  4        R # R # r!   )r|   r‘   r¼   ÚstartContainerrØ   ÚRejecterÚFILTER_SKIPÚSkipperÚ
parentNoder’   rè   Úunlink)r%   rë   Úfilts   && r'   r}   Ú"ExpatBuilder._finish_start_elementn  s‚   € Ø�<�<ˆ<ð —}‘}×4Ñ4Ó4ÙØ—<‘<×.Ñ.¨tÓ4ˆDØ”}Ô$ä˜•ØœÔ$ô ˜•áØŸ?™?ˆDŒLØ�O‰O×'Ñ'¨Ô-Ø�K‰KŽMñ# r*   c                ób   € V P                   pVP                  V n         V P                  V4       R # r!   )r’   r%  rä   )r%   rm   r’   s   && r'   r›   Ú ExpatBuilder.end_element_handler…  s&   € Ø—,‘,ˆØ×)Ñ)ˆŒØ× Ñ  Ö)r*   c                ó‚  € V P                   P                  VP                  4      pV'       d   V P                  W4       V P                  '       do   WP
                  P                  J d   R # V P                  P                  V4      \        8X  d.   V P                  P                  V4       VP                  4        R # R # R # r!   )r“   Úgetr"   Ú_handle_white_text_nodesr|   r‘   r¼   r×   rØ   r’   rè   r&  )r%   r’   r;   s   && r'   rä   Ú ExpatBuilder._finish_end_elementŠ  s…   € Ø�‰×"Ñ" 7§?¡?Ó3ˆßØ×)Ñ)¨'Ô8Ø�<�<ˆ<ØŸ-™-×7Ñ7Ó7ÙØ�|‰|×&Ñ& wÓ/´=Ô@Ø—‘×(Ñ(¨Ô1Ø—‘Ö ñ Añ r*   c                ó`  € V P                   P                  '       g   VP                  4       '       g   R # . pVP                   FM  pVP                  \
        8X  g   K  VP                  P                  4       '       d   K<  VP                  V4       KO  	  V F  pVP                  V4       K  	  R # r!   )
ry   Úwhitespace_in_element_contentrJ   rÙ   rï   ró   rê   Ústriprý   rè   )r%   rë   r;   ÚLr  s   &&&  r'   r-  Ú%ExpatBuilder._handle_white_text_nodes•  s|   € Ø�M‰M×7×7Ð7Ø×(Ñ(×*Ò*Ùð
 ˆØ—_”_ˆEØ�~‰~¤Ö*°5·:±:×3CÑ3C×3EÔ3EØ—‘˜–ñ %ó
 ˆEØ×Ñ˜UÖ#ó r*   c                ó¤   € V P                   P                  V4      pVf   \        W4      V P                   V&   R # VP                  e   Q hW#n        R # r!   )r“   r,  r   r$   )r%   rm   r&   r;   s   &&& r'   r²   Ú!ExpatBuilder.element_decl_handler¦  sC   € Ø�‰×"Ñ" 4Ó(ˆØŠ<Ü$/°Ó$<ˆD�O‰O˜DÓ!à—;‘;Ò&Ð&Ð&ØŽKr*   c           
     óº   € V P                   P                  V4      pVf   \        V4      pW`P                   V&   VP                  P	                  R VR R V^ W5.4       R # r!   )r“   r,  r   r#   rý   )r%   Úelemrm   rI   ÚdefaultÚrequiredr;   s   &&&&&& r'   r´   Ú!ExpatBuilder.attlist_decl_handler®  sV   € Ø�‰×"Ñ" 4Ó(ˆØŠ<Ü˜tÓ$ˆDØ$(�O‰O˜DÑ!Ø�‰×ÑØ�4˜˜t W¨a°Ð@ö	Br*   c                ó°   € WP                   n        W P                   n        V^ 8¼  d/   V'       d   RV P                   n        R# RV P                   n        R# R# )rF   TFN)r‘   ÚversionÚencodingÚ
standalone)r%   r<  r=  r>  s   &&&&r'   r°   ÚExpatBuilder.xml_decl_handler¶  s=   € Ø '�‰ÔØ!)�‰Ôà˜Œ?ßØ+/�—‘Ö(à+0�—‘Ö(ñ	 r*   )r”   rî   r“   r|   rä   r}   rc   ry   r~   r’   r‘   r!   )#rY   rZ   r[   r\   Ú__doc__r(   r„   rŒ   r   r‹   rÃ   rÇ   r½   r—   rÜ   r�   r«   r­   rŸ   r¡   r¤   r§   r©   r®   r™   r  r}   r›   rä   r-  r²   r´   r°   r^   r_   r`   s   @r'   rv   rv   …   s�   ø‡ € ñôò$ò	òò>ò.ò&ò:òOò**ò+ò*ò(	*ò8ò$9ò+ò%ò%òò5ò-ò"ò.*ò
	!ò$ò" òB÷1ð 1r*   rv   c                   óN  a € ] tR tRt o RtRtR tR tR t]	P                  ]P                  ]	P                  ]P                  ]	P                  ]P                   ]	P"                  ]P$                  ]	P&                  ]P(                  ]	P*                  ]P,                  ]	P.                  ]P0                  ]	P2                  ]P4                  ]	P6                  ]P8                  ]	P:                  ]P<                  ]	P>                  ]P@                  ]	PB                  ]PD                  /t#Rt$V t%R# )r{   iÅ  zkWrapper around a DOMBuilderFilter which implements the checks
to make the whatToShow filter attribute work.c                ó   € Wn         R # r!   ©rz   )r%   rz   s   &&r'   r(   Ú#FilterVisibilityController.__init__Ë  s   € ØŽr*   c                ó6  € V P                   VP                  ,          pV P                  P                  V,          '       dU   V P                  P	                  V4      pV\
        8X  d   \        hV\        9  d   \        R \        V4      ,           4      hV# \        # )z)startContainer() returned illegal value: )Ú_nodetype_maskrï   rz   Ú
whatToShowr!  ÚFILTER_INTERRUPTr¾   Ú_ALLOWED_FILTER_RETURNSrl   Úreprr  )r%   rë   ÚmaskÚvals   &&  r'   r!  Ú)FilterVisibilityController.startContainerÎ  s}   € Ø×"Ñ" 4§=¡=Õ1ˆØ�;‰;×!Ñ! D×(Ô(Ø—+‘+×,Ñ,¨TÓ2ˆCØÔ&Ô&Ü!Ð!ØÔ1Ô1Ü ØAÄDÈÃIÕMóOð OàˆJä Ð r*   c                óÆ  € V P                   VP                  ,          pV P                  P                  V,          '       d�   V P                  P	                  V4      pV\
        8X  d   \        hV\        8X  d>   VP                  pVP                  R ,           F  pVP                  V4       K  	  \        # V\        9  d   \        R\        V4      ,           4      hV# \        # )ºNNNz%acceptNode() returned illegal value: )rF  rï   rz   rG  r×   rH  r¾   r#  r%  rÙ   ÚappendChildrØ   rI  rl   rJ  r  )r%   rë   rK  rL  Úparentr  s   &&    r'   r×   Ú%FilterVisibilityController.acceptNodeÛ  sº   € Ø×"Ñ" 4§=¡=Õ1ˆØ�;‰;×!Ñ! D×(Ô(Ø—+‘+×(Ñ(¨Ó.ˆCØÔ&Ô&Ü!Ð!Ø”kÔ!àŸ™�Ø!Ÿ_™_¨Q×/Ð/�EØ×&Ñ& uÖ-ñ 0ô %Ð$ØÔ1Ô1Ü Ø=ÄÀSÃ	ÕIóKð KàˆJä Ð r*   rC  N)&rY   rZ   r[   r\   r@  r]   r(   r!  r×   r   ÚELEMENT_NODEr   ÚSHOW_ELEMENTÚATTRIBUTE_NODEÚSHOW_ATTRIBUTEró   Ú	SHOW_TEXTrð   ÚSHOW_CDATA_SECTIONÚENTITY_REFERENCE_NODEÚSHOW_ENTITY_REFERENCEÚENTITY_NODEÚSHOW_ENTITYÚPROCESSING_INSTRUCTION_NODEÚSHOW_PROCESSING_INSTRUCTIONÚCOMMENT_NODEÚSHOW_COMMENTÚDOCUMENT_NODEÚSHOW_DOCUMENTÚDOCUMENT_TYPE_NODEÚSHOW_DOCUMENT_TYPEÚDOCUMENT_FRAGMENT_NODEÚSHOW_DOCUMENT_FRAGMENTÚNOTATION_NODEÚSHOW_NOTATIONrF  r^   r_   r`   s   @r'   r{   r{   Å  só   ø‡ € ñ5ð €Iòò!ò!ð* 	×Ñ¨*×*AÑ*AØ×Ñ¨*×*CÑ*CØ�‰¨*×*>Ñ*>Ø×Ñ¨*×*GÑ*GØ×"Ñ"¨*×*JÑ*JØ×Ñ¨*×*@Ñ*@Ø×(Ñ(¨*×*PÑ*PØ×Ñ¨*×*AÑ*AØ×Ñ¨*×*BÑ*BØ×Ñ¨*×*GÑ*GØ×#Ñ#¨*×*KÑ*KØ×Ñ¨*×*BÑ*Bð
†Nr*   r{   c                   ó*   a € ] tR tRt o RtR tRtV tR# )ÚFilterCrutchiÿ  c                óÀ   € ^ V n         Wn        VP                  pVP                  V n        VP
                  V n        V P                  Vn        V P                  Vn        R# r  )	Ú_levelÚ_builderr~   rš   Ú
_old_startrœ   Ú_old_endr  r›   )r%   rd   r·   s   && r'   r(   ÚFilterCrutch.__init__  sM   € ØˆŒØŒØ—‘ˆØ ×4Ñ4ˆŒØ×0Ñ0ˆŒØ%)×%?Ñ%?ˆÔ"Ø#'×#;Ñ#;ˆÖ r*   )rm  rl  ro  rn  N)rm  rl  rn  ro  )rY   rZ   r[   r\   r]   r(   r^   r_   r`   s   @r'   rj  rj  ÿ  s   ø‡ € Ø>€I÷<ð <r*   rj  c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )r"  i  c                ór   € \         P                  W4       VP                  pR F  p\        W#R4       K  	  R# )rž   N)rž   r¥   r¬   r¨   rª   r¯   )rj  r(   r~   Úsetattr)r%   rd   r·   rm   s   &&  r'   r(   ÚRejecter.__init__  s1   € Ü×Ñ˜dÔ,Ø—‘ˆóˆDô �F $Ö'ór*   c                ó6   € V P                   ^,           V n         R# ©r5   N©rl  ©r%   Úargss   &*r'   r  ÚRejecter.start_element_handler  s   € Ø—k‘k A•oˆŽr*   c                ó  € V P                   ^ 8X  dV   V P                  P                  pV P                  P                  V4       V P                  Vn        V P                  Vn        R# V P                   ^,
          V n         R# r  )rl  rm  r~   r‹   rn  rš   ro  rœ   )r%   ry  r·   s   &* r'   r›   ÚRejecter.end_element_handler  sV   € Ø�;‰;˜!Ôà—]‘]×*Ñ*ˆFØ�M‰M×!Ñ! &Ô)Ø)-¯©ˆFÔ&Ø'+§}¡}ˆFÖ$àŸ+™+¨�/ˆDŽKr*   rw  Nr  )
rY   rZ   r[   r\   r]   r(   r  r›   r^   r_   r`   s   @r'   r"  r"    s   ø‡ € Ø€Iò
(ò&÷*ð *r*   r"  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )r$  i'  c                óº   € V P                   P                  pV P                  ! V!   V P                   P                  VJd   V P                  ^,           V n        R# R# rv  )rm  r’   rn  rl  )r%   ry  rë   s   &* r'   r  ÚSkipper.start_element_handler*  sC   € Ø�}‰}×$Ñ$ˆØ�Š˜ÒØ�=‰=× Ñ ¨Ó,ØŸ+™+¨�/ˆDŽKñ -r*   c                ó  € V P                   ^ 8X  dT   V P                  V P                  P                  n        V P
                  V P                  P                  n        RV n        R# V P                   ^,
          V n         V P
                  ! V!   R# r  )rl  rn  rm  r~   rš   ro  rœ   rx  s   &*r'   r›   ÚSkipper.end_element_handler0  s^   € Ø�;‰;˜!Ôð 9=¿¹ˆD�M‰M×!Ñ!Ô5Ø6:·m±mˆD�M‰M×!Ñ!Ô3Ø ˆDŽMàŸ+™+¨�/ˆDŒKØ�MŠM˜4Ô r*   )rm  rl  Nr  )	rY   rZ   r[   r\   r]   r  r›   r^   r_   r`   s   @r'   r$  r$  '  s   ø‡ € Ø€Iò*÷	!ð 	!r*   r$  z8http://xml.python.org/entities/fragment-builder/internalzŠ<!DOCTYPE wrapper
  %%s [
  <!ENTITY fragment-builder-internal
    SYSTEM "%s">
%%s
]>
<wrapper %%s
>&fragment-builder-internal;</wrapper>c                   óR   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
 tRtV tR# )ÚFragmentBuilderiO  zÝBuilder which constructs document fragments given XML source
text and a context node.

The context node is expected to provide information about the
namespace declarations which are in scope at the start of the
fragment.
Nc                ó¢   € VP                   \        8X  d   Wn        Wn        MVP                  V n        Wn        \
        P                  W4       R # r!   )rï   ra  ÚoriginalDocumentr  rÖ   rv   r(   )r%   r  r€   s   &&&r'   r(   ÚFragmentBuilder.__init__X  s<   € Ø×Ñœ}Ô,Ø$+Ô!Ø"�Là$+×$9Ñ$9ˆDÔ!Ø"ŒLÜ×Ñ˜dÖ,r*   c                ó>   € \         P                  V 4       R V n        R # r!   )rv   r   Úfragmentr-   s   &r'   r   ÚFragmentBuilder.reseta  s   € Ü×Ñ˜4Ô ØˆŽr*   c                ó@   € V P                  VP                  4       4      # )zJParse a document fragment from a file object, returning the
fragment node.)rÇ   rº   ©r%   r¿   s   &&r'   rÃ   ÚFragmentBuilder.parseFilee  s   € ð ×Ñ §	¡	£Ó,Ð,r*   c                ó6  € Wn         V P                  4       pV P                  P                  pRpV'       d}   VP                  ;'       g    V P                  4       pVP                  '       d!   RVP                  : RVP                  : R2pM(VP                  '       d   RVP                  ,          pMRpV P                  4       p\        WEV3,          p VP                  VR4       T P                  pT P                  4        T#    T P                  4        h ; i)zEParse a document fragment from a string, returning the
fragment node.Ú zPUBLIC "z" "Ú"zSYSTEM "%s"T)Ú_sourcerŒ   r…  rÊ   rÍ   Ú_getDeclarationsrà   rß   Ú_getNSattrsÚ_FRAGMENT_BUILDER_TEMPLATEr»   r   rˆ  )	r%   rÆ   r·   rÊ   ÚidentrÏ   Únsattrsr‘   rˆ  s	   &&       r'   rÇ   ÚFragmentBuilder.parseStringj  sí   € ð ŒØ—‘Ó!ˆØ×'Ñ'×/Ñ/ˆØˆßØ×+Ñ+×FÐF¨t×/DÑ/DÓ/FˆFØ××Ñà#×,Ô,¨g×.>Ô.>ð@‘à×!×!Ð!Ø%¨×(8Ñ(8Õ8�øàˆFØ×"Ñ"Ó$ˆÜ-°ÀÐ0HÕHˆð	Ø�L‰L˜ 4Ô(ð —=‘=ˆØ�
‰
Œàˆøð	Ø�J‰JŒLØús   ÃD ÄDc                óÔ  € V P                   P                  P                  pRpV'       Ed½   \        VP                  P
                  4       FŒ  pVP                  P                  V4      pV'       d
   VR,           pV: RVP                  : 2pVP                  '       d%   V: RVP                  : RVP                  : R2pKx  V: RVP                  : R2pKŽ  	  \        VP                  P
                  4       Fê  pVP                  P                  V4      pV'       d
   VR,           pV: RVP                  : 2pVP                  '       d$   V: RVP                  : RVP                  : R	2pMEVP                  '       d   V: RVP                  : R	2pMV: R
VP                  P                  : R	2pVP                  '       d   V: RVP                  : 2pVR,           pKì  	  V# )zˆRe-create the internal subset from the DocumentType node.

This is only needed if we don't already have the
internalSubset as a string.
rŽ  z
  z<!NOTATION z	 PUBLIC "z"
             "z">z	 SYSTEM "z	<!ENTITY r�  z "z
 NOTATION Ú>)r  rÖ   rÊ   r  rÛ   ÚlengthÚitemÚnodeNamerà   rß   r   Ú
firstChildrê   r  )r%   rÊ   re   r  Únotationr   s   &     r'   r‘  Ú FragmentBuilder._getDeclarations†  so  € ð —,‘,×,Ñ,×4Ñ4ˆØˆßˆ7Ü˜7×,Ñ,×3Ñ3Ö4�Ø"×,Ñ,×1Ñ1°!Ó4�ßØ˜F�
�AÛ)*¨H×,=Ó,=Ð>�Ø×$×$Ð$ã˜h×/Ô/°×1BÔ1BðD’Aó ./°×0AÔ0AÐB’Añ 5ô ˜7×+Ñ+×2Ñ2Ö3�Ø ×)Ñ)×.Ñ.¨qÓ1�ßØ˜F�
�AÛ'(¨&¯/«/Ð:�Ø—?—?�?ã˜fŸoœo¨v¯¬ð@‘Aà—_—_�_Û,-¨v¯¬Ð?‘Aã%&¨×(9Ñ(9×(>Ô(>Ð?�AØ×&×&Ð&Û,-¨v×/BÓ/BÐC�AØ˜•G’ñ 4ð ˆr*   c                ó   € R # )rŽ  r  r-   s   &r'   r’  ÚFragmentBuilder._getNSattrsª  s   € Ùr*   c                óÂ  € V\         8X  d§   V P                  pV P                  pV P                  P	                  V4      pV P
                  V n        V P                  P                  4       V n        V P                  V n         VP                  V P                  R 4       W`n        WPn        RV n	        R# \        P                  WW#V4      #   Y`n        YPn        RT n	        i ; i)TNrÓ   )Ú$_FRAGMENT_BUILDER_INTERNAL_SYSTEM_IDr‘   r’   r~   ÚExternalEntityParserCreater…  ÚcreateDocumentFragmentrˆ  r»   r�  rv   r®   )r%   r  r   rß   rà   Úold_documentÚold_cur_noder·   s   &&&&&   r'   r®   Ú+FragmentBuilder.external_entity_ref_handler­  s»   € ØÔ;Ô;ð  Ÿ=™=ˆLØŸ<™<ˆLØ—\‘\×<Ñ<¸WÓEˆFà ×1Ñ1ˆDŒMØ ŸM™M×@Ñ@ÓBˆDŒMØŸ=™=ˆDŒLð$Ø—‘˜TŸ\™\¨4Ô0à+”Ø ,”Ø#�”ØˆIä×;Ñ;Ø˜t¨xó9ð 9øð  ,”Ø ,”Ø#�•ús   ÂC	 Ã	C)r�  r  r’   r‘   rˆ  r…  r!   )rY   rZ   r[   r\   r@  r(   r   rÃ   rÇ   r‘  r’  r®   r^   r_   r`   s   @r'   rƒ  rƒ  O  s3   ø‡ € ñô-òò-ò
ò8"òH÷9ð 9r*   rƒ  c                   óJ   a € ] tR tRt o RtR tR tR tR tR t	 R t
R	tV tR
# )Ú
NamespacesiÄ  z7Mix-in class for builders; adds support for namespaces.c                ó   € . V n         R # r!   )Ú_ns_ordered_prefixesr-   s   &r'   Ú_initNamespacesÚNamespaces._initNamespacesÇ  s   € ð %'ˆÖ!r*   c                óB   € \         P                  ! RR7      pRVn        V# )z'Create a new namespace-handling parser.rh   )Únamespace_separatorT)r   rƒ   Únamespace_prefixesr¶   s   & r'   r„   ÚNamespaces.createParserÌ  s   € ä×#Ò#¸Ô<ˆØ$(ˆÔ!Øˆr*   c                óŽ   € \         P                  W4       V P                  P                  '       d   V P                  Vn        R# R# )z.Insert the namespace-handlers onto the parser.N)rv   r‹   ry   Únamespace_declarationsÚstart_namespace_decl_handlerÚStartNamespaceDeclHandlerr¶   s   &&r'   r‹   ÚNamespaces.installÒ  s6   € ä×Ñ˜TÔ*Ø�=‰=×/×/Ð/à×1Ñ1ð Ö,ñ 0r*   c                ó>   € V P                   P                  W34       R# )z/Push this namespace declaration on our storage.N)r«  rý   )r%   rr   rp   s   &&&r'   r´  Ú'Namespaces.start_namespace_decl_handlerÙ  s   € à×!Ñ!×(Ñ(¨&¨Ö7r*   c                ó  € R V9   d   \        W4      w  r4rVM\        pTpRp\        p\        P                  ! WcWT4      pV P
                  Vn        \        V P                  V4       Wpn        V P                  '       d�   V P                   F  w  rSV'       d0   \        P                  ! \        V RV,           4      \        VR4      pM!\        P                  ! R\        R\        4      pW8n        V P
                  Vn        \        Wx4       K�  	  V P                  R V'       dá   VP                  4        VP                   p	VP"                  p
\%        ^ \'        V4      ^4       Fœ  pW+,          pW+^,           ,          pR V9   d0   \        W4      w  r4rV\        P                  ! WcWE4      pW‰V&   WŠW43&   M/\        P                  ! V\        V\        4      pW‰V&   WŠ\        V3&   V P
                  Vn        WØn        Wxn        Kž  	  R# R# )rh   Núxmlns:ÚxmlnsrO  )rt   r   r   r   ÚElementr‘   rÖ   r	   r’   r«  r  rf   r   rõ   r
   Ú_ensure_attributesÚ_attrsÚ_attrsNSr  rk   ÚownerElement)r%   rm   r  rp   rq   rr   rs   rë   r  r¾  r¿  r  r:   rõ   s   &&&           r'   r  Ú Namespaces.start_element_handlerÝ  sª  € Ø�$Œ;Ü,:¸4Ó,FÑ)ˆC˜F Eä!ˆCØˆEØˆIÜ!ˆFÜ�Š˜u¨6Ó=ˆØ!Ÿ]™]ˆÔÜ�d—l‘l DÔ)ØŒà×$×$Ð$Ø#×8Ô8‘�ßÜŸš¤W¨T°8¸fÕ3DÓ%EÜ%4°f¸góG‘Aô  Ÿš W¬oØ%,¬ló<�Aà”Ø"&§-¡-�”Ü# DÖ,ñ  9ð ×)Ñ)¨!Ð,çØ×#Ñ#Ô%Ø—[‘[ˆFØ—}‘}ˆHÜ˜1œc *›o¨qÖ1�Ø"��Ø" Q¥3��Ø˜%”<Ü4BÀ4Ó4OÑ1�C FÜŸš U°ÓC�AØ$%˜5‘MØ12˜cÐ-Ò.äŸš U¬OØ%*¬Ló:�Aà$%˜5‘MØ9:œo¨uÐ5Ñ6Ø"&§-¡-�”Ø”Ø!%–ó 2ñ	 r*   c                ój  € V P                   pR V9   dJ   \        W4      w  r4rVVP                  V8X  d#   VP                  V8X  d   VP                  V8X  g   Q R4       hM4VP
                  V8X  g   Q R4       hVP                  \        8X  g   Q R4       hVP                  V n         V P                  V4       R# )rh   z$element stack messed up! (namespace)z&element stack messed up - bad nodeNamez*element stack messed up - bad namespaceURIN)	r’   rt   r@   rA   rr   r›  r   r%  rä   )r%   rm   r’   rp   rq   rr   rs   s   &&     r'   r›   ÚNamespaces.end_element_handler  s½   € Ø—l‘lˆGØ�dŒ{Ü0>¸tÓ0JÑ-� Ø×,Ñ,°Ô3Ø#×-Ñ-°Ô:Ø#ŸN™N¨fÔ4ð?ð ?ó?ð 5à4ð ×'Ñ'¨4Ô/ð @Ø?ó@Ð/à×+Ñ+¬Ô>ð DØCóDÐ>à"×-Ñ-ˆDŒLØ×$Ñ$ WÖ-r*   )r«  r’   N)rY   rZ   r[   r\   r@  r¬  r„   r‹   r´  r  r›   r^   r_   r`   s   @r'   r©  r©  Ä  s1   ø‡ € ÙAò'ò
ò3ò8ò-&ð^ ÷	.ð 	.r*   r©  c                   ó*   a € ] tR tRt o RtR tRtV tR# )ÚExpatBuilderNSi#  z*Document builder that supports namespaces.c                óP   € \         P                  V 4       V P                  4        R # r!   )rv   r   r¬  r-   s   &r'   r   ÚExpatBuilderNS.reset&  s   € Ü×Ñ˜4Ô Ø×ÑÖr*   r  N)rY   rZ   r[   r\   r@  r   r^   r_   r`   s   @r'   rÅ  rÅ  #  s   ø‡ € Ù4÷ð r*   rÅ  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )ÚFragmentBuilderNSi+  z*Fragment builder that supports namespaces.c                óP   € \         P                  V 4       V P                  4        R # r!   )rƒ  r   r¬  r-   s   &r'   r   ÚFragmentBuilderNS.reset.  s   € Ü×Ñ˜dÔ#Ø×ÑÖr*   c                ó\  € RpV P                   p. pV'       d”   \        VR4      '       dt   VP                  P                  4        FU  w  rEWC9   d   K  VP	                  V4       V'       d   RV,           pMRpV'       d   V: RV: RV: R2pKJ  RV: RV: R2pKW  	  VP
                  pK›  V# )	zFReturn string of namespace attributes from this element and
ancestors.rŽ  Ú_ns_prefix_urirº  r»  z
    z='Ú'rh   )r  ÚhasattrrÍ  Úitemsrý   r%  )r%   Úattrsr  r2  rr   rp   Údeclnames   &      r'   r’  ÚFragmentBuilderNS._getNSattrs2  sœ   € ð ˆØ—,‘,ˆØˆßÜ�wÐ 0×1Ò1Ø#*×#9Ñ#9×#?Ñ#?Ö#A‘K�Fà”{Ù Ø—H‘H˜VÔ$ßØ#+¨fÕ#4™à#*˜ßÛ5:»HÃcÐ Jšð ó /7»Ð <šñ $Bð ×(Ñ(ŠGØˆr*   r  N)	rY   rZ   r[   r\   r@  r   r’  r^   r_   r`   s   @r'   rÉ  rÉ  +  s   ø‡ € Ù4ò÷ð r*   rÉ  c                   ó   € ] tR tRtRtRtR# )r¾   iP  zEException raised to short-circuit parsing in InternalSubsetExtractor.r  N)rY   rZ   r[   r\   r@  r^   r  r*   r'   r¾   r¾   P  s   † ÙOÛr*   r¾   c                   óR   a € ] tR tRt o RtRtR tR tR tR t	R t
R	 tR
 tRtV tR# )rË   iT  zBXML processor which can rip out the internal document type subset.Nc                ó   € V P                   # )z'Return the internal subset as a string.©rÏ   r-   s   &r'   rÌ   Ú!InternalSubsetExtractor.getSubsetY  s   € à�{‰{Ðr*   c                óV   €  \         P                  W4       R #   \         d     R # i ; ir!   )rv   rÃ   r¾   r‹  s   &&r'   rÃ   Ú!InternalSubsetExtractor.parseFile]  s'   € ð	Ü×"Ñ" 4Ö.øÜô 	Úð	úó   ‚ ™(§(c                óV   €  \         P                  W4       R #   \         d     R # i ; ir!   )rv   rÇ   r¾   )r%   rÆ   s   &&r'   rÇ   Ú#InternalSubsetExtractor.parseStringc  s'   € ð	Ü×$Ñ$ TÖ2øÜô 	Úð	úrÛ  c                óJ   € V P                   Vn        V P                  Vn        R # r!   )r—   r˜   r  rš   r¶   s   &&r'   r‹   ÚInternalSubsetExtractor.installi  s   € Ø)-×)HÑ)HˆÔ&Ø%)×%?Ñ%?ˆÖ"r*   c                ó°   € V'       dF   V P                  4       p. V n        V P                  P                  Vn        V P                  Vn        R # \        4       hr!   )rŒ   rÏ   rý   ÚDefaultHandlerrÜ   rÝ   r¾   )r%   rm   rà   rß   rá   r·   s   &&&&& r'   r—   Ú2InternalSubsetExtractor.start_doctype_decl_handlerm  s@   € çØ—^‘^Ó%ˆFØˆDŒKØ$(§K¡K×$6Ñ$6ˆFÔ!Ø+/×+HÑ+HˆFÖ(ä“-Ðr*   c                ó˜   € R P                  V P                  4      P                  RR4      P                  RR4      pWn        \        4       h)rŽ  z
Ú
Ú)ÚjoinrÏ   Úreplacer¾   )r%   re   s   & r'   rÜ   Ú0InternalSubsetExtractor.end_doctype_decl_handlerw  s;   € Ø�G‰G�D—K‘KÓ ×(Ñ(¨°Ó6×>Ñ>¸tÀTÓJˆØŒÜ‹mÐr*   c                ó   € \        4       hr!   )r¾   )r%   rm   rÑ  s   &&&r'   r  Ú-InternalSubsetExtractor.start_element_handler|  s
   € Ü‹mÐr*   r×  )rY   rZ   r[   r\   r@  rÏ   rÌ   rÃ   rÇ   r‹   r—   rÜ   r  r^   r_   r`   s   @r'   rË   rË   T  s6   ø‡ € ÙLà€Fòòòò@ò ò÷
ð r*   rË   c                ó  € V'       d   \        4       pM
\        4       p\        V \        4      '       d1   \	        V R4      ;_uu_ 4       pVP                  V4      pRRR4       V# VP                  V 4      pV#   + '       g   i     X# ; i)zsParse a document, returning the resulting Document node.

'file' may be either a file name or an open file object.
ÚrbN)rÅ  rv   Ú
isinstanceÚstrÚopenrÃ   )r¿   Ú
namespacesrd   ÚfpÚresults   &&   r'   Úparseró  €  su   € ÷
 Ü Ó"‰ä“.ˆä�$œ×ÒÜ�$˜×Ô Ø×&Ñ& rÓ*ˆF÷ ð €Mð ×"Ñ" 4Ó(ˆØ€M÷	 Öð €Mús   ÁA7Á7B	c                ó^   € V'       d   \        4       pM
\        4       pVP                  V 4      # )zGParse a document from a string, returning the resulting
Document node.
)rÅ  rv   rÇ   )rÆ   rð  rd   s   && r'   rÇ   rÇ   ’  s'   € ÷ Ü Ó"‰ä“.ˆØ×Ñ˜vÓ&Ð&r*   c                ó  € V'       d   \        V4      pM\        V4      p\        V \        4      '       d1   \	        V R4      ;_uu_ 4       pVP                  V4      pRRR4       V# VP                  V 4      pV#   + '       g   i     X# ; i)zÜParse a fragment of a document, given the context from which it
was originally extracted.  context should be the parent of the
node(s) which are in the fragment.

'file' may be either a file name or an open file object.
rì  N)rÉ  rƒ  rí  rî  rï  rÃ   )r¿   r  rð  rd   rñ  rò  s   &&&   r'   ÚparseFragmentrö  �  sz   € ÷ Ü# GÓ,‰ä! 'Ó*ˆä�$œ×ÒÜ�$˜×Ô Ø×&Ñ& rÓ*ˆF÷ ð €Mð ×"Ñ" 4Ó(ˆØ€M÷	 Öð €Mús   Á
A9Á9B
	c                ób   € V'       d   \        V4      pM\        V4      pVP                  V 4      # )z°Parse a fragment of a document from a string, given the context
from which it was originally extracted.  context should be the
parent of the node(s) which are in the fragment.
)rÉ  rƒ  rÇ   )rÆ   r  rð  rd   s   &&& r'   ÚparseFragmentStringrø  ±  s,   € ÷
 Ü# GÓ,‰ä! 'Ó*ˆØ×Ñ˜vÓ&Ð&r*   c                óR   € V P                   '       d   \        V 4      # \        V 4      # )z,Create a builder based on an Options object.)rð  rÅ  rv   )r€   s   &r'   ÚmakeBuilderrú  ½  s$   € à××ÐÜ˜gÓ&Ð&ä˜GÓ$Ð$r*   )T)3r@  Úxml.domr   r   r   r   r   r   Úxml.parsersr   Úxml.dom.minidomr	   r
   Úxml.dom.NodeFilterr   ró   rð   ra  ÚDOMBuilderFilterr  rØ   r#  rH  ÚgetDOMImplementationr�   ÚTypeInfor8   Úobjectr   rf   rt   rv   rI  r{   rj  r"  r$  r¢  r“  rƒ  r©  rÅ  rÉ  Ú	Exceptionr¾   rË   ró  rÇ   rö  rø  rú  r  r*   r'   Ú<module>r     s-  ðñ÷: .Ñ -ß BÑ BÝ ß >Ý )à�N‰N€	Ø×,Ñ,Ð Ø×"Ñ"€à×+Ñ+×9Ñ9€Ø×+Ñ+×9Ñ9€Ø×)Ñ)×5Ñ5€Ø×.Ñ.×?Ñ?Ð à×3Ò3Ó5Ð ð �× Ò   wÓ/Ø
�× Ò   }Ó5Ø�× Ò   xÓ0Ø�× Ò   zÓ2Ø�× Ò   tÓ,Ø�× Ò   wÓ/Ø�× Ò   xÓ0Ø�× Ò   yÓ1Ø�× Ò   zÓ2ð
€ô1(�&ô 1(òf,ò6÷&y1ñ y1ð|	 )¨-¸ÐEÐ ô7
 ô 7
ôt
<�6ô 
<ô*ˆ|ô *ô8!ˆlô !ð2 ?ð %ð*ð +õ	+ð ôr9�lô r9÷j\.ñ \.ô~�Z ô ô"˜
 Oô "ôJ	�)ô 	ô)˜lô )ôXô$'ôô(	'ô%r*   