)Ej<dZddlmZmZddlZddlmZmZmZm Z e r!dZ ddl m Z ddl mZdd l mZdd l mZdd l mZnd Z ddlm Z ddlZdZdd lmZdd lmZ ddlZn #e$rdZYnwxYwd ZddZGdderejneZGdde ZdZdZ dS)z*Defused xmlrpclib Also defuses gzip bomb )print_functionabsolute_importN) DTDForbiddenEntitiesForbiddenExternalReferenceForbiddenPY3z xmlrpc.client) ExpatParser)client)server) gzip_decode)GzipDecodedResponse xmlrpclibictst|t}tj|}tjd|} |dkr|}n||dz}n#t$rtdwxYw| | |dkr"t||krtd|S)zrgzip encoded data -> unencoded data Decode data using the gzip content encoding as described in RFC 1952 Nrbmodefileobjrrz invalid dataz#max gzipped payload length exceeded) gzipNotImplementedErrorMAX_DATAioBytesIOGzipFilereadIOError ValueErrorcloselen)datalimitfgzfdecodeds CC:\PYTHON\MyICR_Suite\python\Lib\site-packages\defusedxml/xmlrpc.pydefused_gzip_decoder&-s "!! } 4A -T1 - - -C) 199hhjjGGhhuqy))G )))((()GGIIIIIKKK zzc'llU**>??? Ns 3A77Bc&eZdZdZddZdZdZdS)DefusedGzipDecodedResponsezha file-like object to decode a response encoded with the gzip method, as described in RFC 1952. Nctst||ntx|_}|dkr|}d|_n||dz}d|_|dkr"t ||krtdtj ||_ tj |d|j dS)Nrrmax payload length exceededrr) rrrr!r readlengthrrrrstringior__init__)selfresponser!r s r%r-z#DefusedGzipDecodedResponse.__init__Ks &% %&+&7UUXE U 199==??D"DOO==++DDO A::#d))e++:;; ; 4((  t$ FFFFFcX|jdkr|j|jz }t||dz}tj||}|xjt |z c_|j|jkrtd|Stj||S)Nrrr*)r!r+minrrrrr)r.nleftr s r%rzDefusedGzipDecodedResponse.read\s :??:/DAtax  A=%%dA..D OOs4yy (OO++ !>???K=%%dA.. .r0cvtj||jdSN)rrrr,)r.s r%rz DefusedGzipDecodedResponse.closehs2 D!!! r0r6)__name__ __module__ __qualname____doc__r-rrr0r%r(r(FsTGGGG" / / /r0r(c.eZdZd dZdZdZdZdZdS) DefusedExpatParserFTctj||||_||_||_|j}|jr |j|_|jr|j|_ |j |_ |jr|j |_ dSdSr6)r r- forbid_dtdforbid_entitiesforbid_external_parserdefused_start_doctype_declStartDoctypeDeclHandlerdefused_entity_declEntityDeclHandlerdefused_unparsed_entity_declUnparsedEntityDeclHandler#defused_external_entity_ref_handlerExternalEntityRefHandler)r.targetr?r@rAparsers r%r-zDefusedExpatParser.__init__nsT6***$.. ? M-1-LF *   Q'+'?F $/3/PF ,   W.2.VF + + + W Wr0c$t|||r6)r)r.namesysidpubidhas_internal_subsets r%rCz-DefusedExpatParser.defused_start_doctype_decl|s4...r0c*t||||||r6r)r.rNis_parameter_entityvaluebaserOrP notation_names r%rEz&DefusedExpatParser.defused_entity_decls eT5%OOOr0c*t|d||||r6rS)r.rNrVrOrPrWs r%rGz/DefusedExpatParser.defused_unparsed_entity_declsdD% NNNr0c&t||||r6)r)r.contextrVrOrPs r%rIz6DefusedExpatParser.defused_external_entity_ref_handlers($uEEEr0N)FTT)r7r8r9r-rCrErGrIr;r0r%r=r=mss W W W W///PPP OOOFFFFFr0r=ctt_tt_t t_trt t_dSdSr6)r= xmlrpc_client FastParserr(rr&r xmlrpc_serverr;r0r% monkey_patchr_s:1M(BM% 3M8$7 !!!88r0cdt_tt_tt_t rtt _dSdSr6)r\r]_OrigGzipDecodedResponser_orig_gzip_decoder r^r;r0r%unmonkey_patchrcs:#M(@M% 1M6$5 !!!66r0r6)!r: __future__rrrcommonrrrr __origin__ xmlrpc.clientr xmlrpcr r\r r^r rbrrarr ImportErrorrr&robjectr(r=r_rcr;r0r%rks 76666666 TTTTTTTTTTTTJ J))))))............>>>>>>MMMMMMMJ%%%%%%%%%%M::::::IIIIIIKKKK DDD 2$$$$$$!BF$$$NFFFFFFFF>88866666sAA('A(