a  ze/@sddlZddlZddlZddlZddlZddlmZddlmZddZ ifddZ ifd d Z ifd d Z d dZ GdddejZGdddejZdddZdS)N)handler) xmlreadercCs"|D]\}}|||}q|SN)itemsreplace)sdkeyvaluer D/opt/bitninja-python-dojo/embedded/lib/python3.9/xml/sax/saxutils.py__dict_replace srcCs6|dd}|dd}|dd}|r2t||}|S)N&&>><<rrdataZentitiesr r r escapes    rcCs2|dd}|dd}|r&t||}|ddS)Nrrrrrrrrr r r unescape"s    rcCsVi|dddd}t||}d|vrJd|vr@d|dd}qRd |}nd|}|S) Nz z z )   "'z"%s"z"z'%s')rrrr r r quoteattr0s   rcsdurddl}|jSttjr&Sttjtjfr<SttjrlGfddd}|}dd|_ nBt }dd|_ j |_ zj |_ j|_WntyYn0tj||ddd d S) NrcseZdZjZfddZdS)z _gettextwriter.._wrappercs t|Sr)getattrselfnameoutr r __getattr__Zsz,_gettextwriter.._wrapper.__getattr__N)__name__ __module__ __qualname__ __class__r&r r$r r _wrapperXsr+cSsdSrr r r r r ]z _gettextwriter..cSsdS)NTr r r r r r,br-xmlcharrefreplacerT)encodingerrorsnewline write_through)sysstdout isinstanceio TextIOBasecodecs StreamWriterStreamReaderWriter RawIOBasecloseBufferedIOBasewritablewriteseekabletellAttributeError TextIOWrapper)r%r/r3r+bufferr r$r _gettextwriterGs0      rEc@seZdZd ddZddZd!dd Zd d Zd d ZddZddZ ddZ ddZ ddZ ddZ ddZddZddZdS)" XMLGeneratorN iso-8859-1FcCsVtj|t||}|j|_|j|_ig|_|jd|_ g|_ ||_ ||_ d|_ dS)NF)rContentHandler__init__rEr?_writeflush_flush _ns_contexts_current_context_undeclared_ns_maps _encoding_short_empty_elements_pending_start_element)r"r%r/Zshort_empty_elementsr r r rJrs   zXMLGenerator.__init__cCsJ|drBd|dkr d|dS|j|d}|rB|d|dS|dS)Nrz$http://www.w3.org/XML/1998/namespacezxml:r:)rO)r"r#prefixr r r _qname~s  zXMLGenerator._qnamecCs|jr|dd|_dS)NrFrSrK)r" endElementr r r _finish_pending_start_elements z*XMLGenerator._finish_pending_start_elementcCs|d|jdS)Nz$ )rKrQr"r r r startDocumentszXMLGenerator.startDocumentcCs |dSr)rMrZr r r endDocumentszXMLGenerator.endDocumentcCs0|j|j||j|<|j||fdSr)rNappendrOcopyrPr"rUurir r r startPrefixMappings zXMLGenerator.startPrefixMappingcCs|jd|_|jd=dS)NrH)rNrOr"rUr r r endPrefixMappings zXMLGenerator.endPrefixMappingcCsZ||d||D]\}}|d|t|fq|jrLd|_n |ddS)Nr %s=%sTr)rYrKrrrRrS)r"r#attrsr r r r startElementszXMLGenerator.startElementcCs*|jr|dd|_n|d|dSNz/>FzrWr!r r r rXs zXMLGenerator.endElementcCs||d|||jD].\}}|rB|d||fq"|d|q"g|_|D]$\}}|d||t|fq`|jrd|_n |ddS)Nrz xmlns:%s="%s"z xmlns="%s"rdTr)rYrKrVrPrrrRrS)r"r#qnamererUr`r r r r startElementNSszXMLGenerator.startElementNScCs0|jr|dd|_n|d||dSrg)rSrKrVr"r#rhr r r endElementNSs zXMLGenerator.endElementNScCs4|r0|t|ts"t||j}|t|dSr)rYr5strrQrKrr"Zcontentr r r characterss   zXMLGenerator.characterscCs0|r,|t|ts"t||j}||dSr)rYr5rlrQrKrmr r r ignorableWhitespaces   z XMLGenerator.ignorableWhitespacecCs||d||fdS)Nz )rYrKr"targetrr r r processingInstructionsz"XMLGenerator.processingInstruction)NrGF)F)r'r(r)rJrVrYr[r\rarcrfrXrirkrnrorrr r r r rFps   rFc@seZdZd:ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9ZdS); XMLFilterBaseNcCstj|||_dSr)r XMLReaderrJ_parentr"parentr r r rJs zXMLFilterBase.__init__cCs|j|dSr) _err_handlererrorr" exceptionr r r ryszXMLFilterBase.errorcCs|j|dSr)rx fatalErrorrzr r r r|szXMLFilterBase.fatalErrorcCs|j|dSr)rxwarningrzr r r r}szXMLFilterBase.warningcCs|j|dSr) _cont_handlersetDocumentLocator)r"Zlocatorr r r rsz XMLFilterBase.setDocumentLocatorcCs|jdSr)r~r[rZr r r r[szXMLFilterBase.startDocumentcCs|jdSr)r~r\rZr r r r\szXMLFilterBase.endDocumentcCs|j||dSr)r~rar_r r r rasz XMLFilterBase.startPrefixMappingcCs|j|dSr)r~rcrbr r r rcszXMLFilterBase.endPrefixMappingcCs|j||dSr)r~rf)r"r#rer r r rf szXMLFilterBase.startElementcCs|j|dSr)r~rXr!r r r rXszXMLFilterBase.endElementcCs|j|||dSr)r~ri)r"r#rhrer r r riszXMLFilterBase.startElementNScCs|j||dSr)r~rkrjr r r rkszXMLFilterBase.endElementNScCs|j|dSr)r~rnrmr r r rnszXMLFilterBase.characterscCs|j|dSr)r~ro)r"charsr r r rosz!XMLFilterBase.ignorableWhitespacecCs|j||dSr)r~rrrpr r r rrsz#XMLFilterBase.processingInstructioncCs|j|dSr)r~ skippedEntityr!r r r r szXMLFilterBase.skippedEntitycCs|j|||dSr) _dtd_handler notationDecl)r"r#publicIdsystemIdr r r r%szXMLFilterBase.notationDeclcCs|j||||dSr)runparsedEntityDecl)r"r#rrZndatar r r r(sz XMLFilterBase.unparsedEntityDeclcCs|j||Sr)Z _ent_handler resolveEntity)r"rrr r r r-szXMLFilterBase.resolveEntitycCs@|j||j||j||j||j|dSr)ruZsetContentHandlerZsetErrorHandlerZsetEntityResolverZ setDTDHandlerparse)r"sourcer r r r2s     zXMLFilterBase.parsecCs|j|dSr)ru setLocale)r"localer r r r9szXMLFilterBase.setLocalecCs |j|Sr)ru getFeaturer!r r r r<szXMLFilterBase.getFeaturecCs|j||dSr)ru setFeature)r"r#stater r r r?szXMLFilterBase.setFeaturecCs |j|Sr)ru getPropertyr!r r r rBszXMLFilterBase.getPropertycCs|j||dSr)ru setProperty)r"r#r r r r rEszXMLFilterBase.setPropertycCs|jSrrurZr r r getParentJszXMLFilterBase.getParentcCs ||_dSrrrvr r r setParentMszXMLFilterBase.setParent)N)r'r(r)rJryr|r}rr[r\rarcrfrXrirkrnrorrrrrrrrrrrrrrr r r r rss8 rscCs$t|tjrt|}t|tr,t|}n^t|dr|}t}t|dtr^| |n | |t|drt|j tr| |j | dur |dur |}tjtj|}tj||}tj|r| |t|d}n$| tj||tj|}| ||S)Nreadrr#rb)r5osPathLikefspathrlrZ InputSourcehasattrrZsetCharacterStreamZ setByteStreamr#Z setSystemIdZgetCharacterStreamZ getByteStreamZ getSystemIdpathdirnamenormpathjoinisfileopenurllibrurljoinZrequesturlopen)rbasefZsysidZbaseheadZ sysidfilenamer r r prepare_input_sourceRs.            r)r)r urllib.parserZurllib.requestr6r8rrrrrrrrErIrFrtrsrr r r r s     )so