a  ze@sJddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z dZ ej Zdad*ddZddZd d Zd d Zd dZddZddZddZedejZddZGdddeZGdddeeZGddde eZ!Gddde"eZ#Gd d!d!eZ$Gd"d#d#e$Z%e%Z&d$d%Z'e dfd&d'Z(d(d)Z)dS)+N)ThreadingTCPServerStreamRequestHandleriF#TcCsddl}t||jr|}n*||}t|dr:||n ||t|}t z(t t ||}t |||Wt n t 0dS)Nrreadline) configparser isinstanceZRawConfigParser ConfigParserhasattrZ read_fileread_create_formatterslogging _acquireLock_clearExistingHandlers_install_handlers_install_loggers _releaseLock)Zfnamedefaultsdisable_existing_loggersrcp formattershandlersrB/opt/bitninja-python-dojo/embedded/lib/python3.9/logging/config.py fileConfig3s       rc Csj|d}|d}t|}|D]D}|d|}zt||}Wq tybt|t||}Yq 0q |S)N.r)splitpop __import__getattrAttributeError)nameusedfoundnrrr_resolveUs    r#cCs ttj|SN)mapstrstrip)Zalistrrr _strip_spacescsr(c Cs|dd}t|siS|d}t|}i}|D]v}d|}|j|dddd}|j|dddd}|j|d dd d}tj}||d } | rt| }||||} | ||<q2|S) Nrkeys,z formatter_%sformatT)rawfallbackdatefmtstyle%class)lenrr(getr Formatterr#) rflistrZformZsectnamefsdfsZstlc class_namefrrrr fs$    r c Csh|dd}t|siS|d}t|}i}g}|D] }|d|}|d}|dd}zt|tt}Wnttfyt |}Yn0|dd } t| tt} |d d } t| tt} || i| } || _ d |vr|d } | | t|r| ||t |tjjr<|d d} t| r<|| | f| ||<q6|D]\} }| ||qJ|S)Nrr)r*z handler_%sr1 formatterargs()kwargsz{}leveltarget)r2rr(r3evalvarsr r NameErrorr#rsetLevel setFormatter issubclassr MemoryHandlerappendZ setTarget)rrhlistrZfixupshandsectionklassfmtr=r?hr@rAtrrrr|sD             rcCsTtj}|D]D}|jj|}||vrHt|tjsN|tjg|_d|_ q ||_ q dS)NT) r rootmanager loggerDictr PlaceHolderrENOTSETr propagatedisabled)existing child_loggersdisable_existingrQlogloggerrrr_handle_existing_loggerss    r]cCs |dd}|d}tt|}|d|d}tj}|}d|vrX|d}|||jddD]}||qf|d} t | r| d} t| } | D]} | || qt|j j } | g} |D](}|d|}|d } |jd d d }t| }| | vrv| | d }| d }t |}t | }||krl| |d||kr`| | ||d 7}q2| | d|vr|d}|||jddD]}||q||_d|_|d} t | r| d} t| } | D]} | || qqt| | |dS)Nloggersr)r*rQZ logger_rootr@rz logger_%squalnamerV)r-rr)rlistr(remover rQrEr removeHandlerr2 addHandlerrRrSr)sortZgetint getLoggerindexrIrVrWr])rrrZZllistrLrQr[r@rOrJrKrXrYZqnrVr\iprefixedpflen num_existingrrrrsd                  rcCs.tjttjddtjdd=dSr$)r _handlersclearshutdown _handlerListrrrrr s r z^[a-z_][a-z0-9_]*$cCst|}|std|dS)Nz!Not a valid Python identifier: %rT) IDENTIFIERmatch ValueError)smrrr valid_idents  ruc@seZdZdddZddZdS)ConvertingMixinTcCsB|j|}||ur>|r |||<t|tttfvr>||_||_|Sr$) configuratorconverttypeConvertingDictConvertingListConvertingTupleparentkey)selfr~valuereplaceresultrrrconvert_with_key#s  z ConvertingMixin.convert_with_keycCs0|j|}||ur,t|tttfvr,||_|Sr$)rwrxryrzr{r|r})rrrrrrrx/s  zConvertingMixin.convertN)T)__name__ __module__ __qualname__rrxrrrrrv s rvc@s(eZdZddZdddZd ddZdS) rzcCst||}|||Sr$)dict __getitem__rrr~rrrrrDs zConvertingDict.__getitem__NcCst|||}|||Sr$)rr3rrr~defaultrrrrr3HszConvertingDict.getcCst|||}|j||ddSNF)r)rrrrrrrrLszConvertingDict.pop)N)N)rrrrr3rrrrrrzAs rzc@seZdZddZdddZdS)r{cCst||}|||Sr$)rarrrrrrrRs zConvertingList.__getitem__cCst||}||Sr$)rarrx)ridxrrrrrVs zConvertingList.popN)r)rrrrrrrrrr{Psr{c@seZdZddZdS)r|cCst||}|j||ddSr)tuplerrrrrrr\s zConvertingTuple.__getitem__N)rrrrrrrrr|Zsr|c@seZdZedZedZedZedZedZ dddZ e e Z d d Zd d Zd dZddZddZddZddZdS)BaseConfiguratorz%^(?P[a-z]+)://(?P.*)$z ^\s*(\w+)\s*z^\.\s*(\w+)\s*z^\[\s*(\w+)\s*\]\s*z^\d+$ ext_convert cfg_convert)extZcfgcCst||_||j_dSr$)rzconfigrw)rrrrr__init__us zBaseConfigurator.__init__c Cs|d}|d}z\||}|D]F}|d|7}zt||}Wq$tyh||t||}Yq$0q$|WStytdd\}}td||f}|||_ |_ |Yn0dS)Nrrr`zCannot resolve %r: %s) rrimporterrr ImportErrorsysexc_inforr __cause__ __traceback__) rrsrr r!fragetbvrrrresolveys"       zBaseConfigurator.resolvecCs ||Sr$)rrrrrrrszBaseConfigurator.ext_convertcCs|}|j|}|dur&td|n||d}|j|d}|r|j|}|rn||d}nb|j|}|r|d}|j|s||}n0zt |}||}Wnt y||}Yn0|r||d}qHtd||fqH|S)NzUnable to convert %rrzUnable to convert %r at %r) WORD_PATTERNrqrrendrgroups DOT_PATTERN INDEX_PATTERN DIGIT_PATTERNint TypeError)rrrestrtdrr"rrrrs4        zBaseConfigurator.cfg_convertcCst|ts$t|tr$t|}||_nt|tsHt|trHt|}||_nt|tsvt|trvt|dsvt|}||_nVt|t r|j |}|r| }|d}|j |d}|r|d}t||}||}|S)N_fieldsprefixsuffix)rrzrrwr{rar|rrr&CONVERT_PATTERNrq groupdictvalue_convertersr3r)rrrtrr converterrrrrrxs0    zBaseConfigurator.convertcsnd}t|s||}dd}fddD}|fi|}|rj|D]\}}t|||qT|S)Nr>rcsi|]}t|r||qSrru.0krrr z5BaseConfigurator.configure_custom..)rcallableritemssetattr)rrr8propsr?rrrrrrconfigure_customs   z!BaseConfigurator.configure_customcCst|trt|}|Sr$)rrarrrrras_tuples zBaseConfigurator.as_tupleN)rrrrecompilerrrrrr staticmethodrrrrrrrxrrrrrrras      "rc@sZeZdZddZddZddZddZd d Zd d ZdddZ dddZ dddZ dS)DictConfiguratorc Cs|j}d|vrtd|ddkr2td|d|dd}i}tz|r|d|}|D]}|tjvrtd|qdz6tj|}||}|d d}|r|t|Wqdt y} ztd || WYd} ~ qdd} ~ 00qd|d |} | D]P}z| || |d Wqt yJ} ztd || WYd} ~ qd} ~ 00q|dd} | rz| | d Wn0t y} ztd| WYd} ~ n d} ~ 00n$|dd } t |d|} | D]R}z| | || |<Wn4t y} ztd|| WYd} ~ n d} ~ 00q|d|}|D]R}z|||||<Wn4t yz} ztd|| WYd} ~ n d} ~ 00q,|d|}g}t|D]x}z |||}||_|||<WnPt y } z6dt| jvr||ntd || WYd} ~ n d} ~ 00q|D]\}z |||}||_|||<Wn4t yn} ztd || WYd} ~ n d} ~ 00qtj} t| jj}|g}|d |} | D]}||vr||d}|d}t|}t|}||kr||d||kr||||d7}q||z| || |Wn4t yf} ztd || WYd} ~ n d} ~ 00qt||| |dd} | rz| | Wn0t y} ztd| WYd} ~ n d} ~ 00Wtn t0dS)Nversionz$dictionary doesn't specify a versionr`zUnsupported version: %s incrementalFrzNo handler found with name %rr@zUnable to configure handler %rr^TzUnable to configure logger %rrQzUnable to configure root loggerrrz Unable to configure formatter %rfilterszUnable to configure filter %rtarget not configured yetr) rrrrr r r3rlrE _checkLevel Exceptionconfigure_loggerconfigure_rootr configure_formatterconfigure_filtersortedconfigure_handlerrr&rrIrQrarRrSr)rergr2rbr]r)rrr EMPTY_DICTrrhandlerZhandler_configr@rr^rQrZrrZdeferredrXrYrhrirjrkrrr configures                        zDictConfigurator.configurec Csd|vrt|d}z||}Wqtyp}z:dt|vr<|d|d<||d<||}WYd}~qd}~00nl|dd}|dd}|dd}|dd}|stj} nt|} d |vr| ||||d }n | |||}|S) Nr>z'format'r+rNr.r/r0r1validate)rrr&rr3r r4r#) rrfactoryrterNZdfmtr/cnamer8rrrrs* "     z$DictConfigurator.configure_formattercCs.d|vr||}n|dd}t|}|S)Nr>rr<)rr3r Filter)rrrrrrrrs    z!DictConfigurator.configure_filterc CsZ|D]P}z||jd|WqtyR}ztd||WYd}~qd}~00qdS)NrzUnable to add filter %r) addFilterrrrr)rZfiltererrr:rrrr add_filterss zDictConfigurator.add_filtersc st}dd}|r^z|jd|}Wn2ty\}ztd||WYd}~n d}~00dd}dd}dvrd}t|s||}|}nd} || } t| tj j rJdvrJz>|jd d} t | tj s |td | d<Wn8tyF}ztd d|WYd}~n d}~00nZt| tj jrxd vrx|d d <n,t| tj jrd vr|d d <| }dd} fddD} z|fi| }WnRty*}z8dt|vr| d| d<|fi| }WYd}~n d}~00|r<|||durV|t||rh|||| r| D]\}}t|||qv|S)Nr;rzUnable to set formatter %rr@rr>r1rArrzUnable to set target handler %rZmailhostaddressrcsi|]}t|r||qSrrrrrrrrz6DictConfigurator.configure_handler..z'stream'streamZstrm)rrrrrrrrrGr rrHrHandlerupdaterZ SMTPHandlerrZ SysLogHandlerr&rFrErrrr)rrZ config_copyr;rr@rr8rrrMthrr?rrrrrrrrs~          $   z"DictConfigurator.configure_handlerc CsZ|D]P}z||jd|WqtyR}ztd||WYd}~qd}~00qdS)NrzUnable to add handler %r)rdrrrr)rr\rrOrrrr add_handlerss zDictConfigurator.add_handlersFcCs|dd}|dur$|t||s~|jddD]}||q6|dd}|rb||||dd}|r~|||dS)Nr@rr)r3rEr rrrcrr)rr\rrr@rOrrrrrcommon_logger_configs     z%DictConfigurator.common_logger_configcCs6t|}|||||dd}|dur2||_dS)NrV)r rfrr3rV)rrrrr\rVrrrrs   z!DictConfigurator.configure_loggercCst}||||dSr$)r rfr)rrrrQrrrr szDictConfigurator.configure_rootN)F)F)F) rrrrrrrrrrrrrrrrrs$ ?  rcCst|dSr$)dictConfigClassrrrrr dictConfig'srcsDGdddt}Gdddt}Gfdddtj||||S)Nc@seZdZddZdS)z#listen..ConfigStreamHandlerc SsBz|j}|d}t|dkrtd|d}|j|}t||krb|||t|}q>|jjdurz|j|}|dur|d}zddl}| |}t |WnDt yt |}z t|Wnt ytYn0Yn0|jjr|jjWn4ty<}z|jtkr(WYd}~n d}~00dS)Nz>Lrzutf-8) connectionrecvr2structunpackserververifydecodejsonloadsrrioStringIOr traceback print_excreadysetOSErrorerrno RESET_ERROR)rconnchunkZslenrrfilerrrrhandleGs6              z*listen..ConfigStreamHandler.handleN)rrrrrrrrConfigStreamHandler@src@s,eZdZdZdedddfddZddZdS)z$listen..ConfigSocketReceiverr` localhostNcSs>t|||f|td|_td|_||_||_dS)Nrr`) rrr r abortrtimeoutrr)rhostportrrrrrrrusz-listen..ConfigSocketReceiver.__init__cSs`ddl}d}|sT||jggg|j\}}}|r<|t|j}tq | dS)Nr) selectsocketfilenorZhandle_requestr r rrZ server_close)rrrZrdwrexrrrserve_until_stoppeds  z8listen..ConfigSocketReceiver.serve_until_stopped)rrrZallow_reuse_addressDEFAULT_LOGGING_CONFIG_PORTrrrrrrConfigSocketReceiverns  rcs&eZdZfddZddZZS)zlisten..Servercs4t|||_||_||_||_t|_dSr$) superrrcvrhdlrrr threadingEventr)rr r rr)Server __class__rrrs zlisten..Server.__init__cSsZ|j|j|j|j|jd}|jdkr0|jd|_|jt|a t | dS)N)rrrrrr`) r rr rrZserver_addressrr r _listenerrr)rrrrrruns    zlisten..Server.run)rrrrr __classcell__rr )rrr sr )rrr Thread)rrrrrrrlisten,s.rcCs2tztrdt_daWtn t0dS)Nr`)r r rrrrrrr stopListenings r)NT)*rrr Zlogging.handlersrrrr r socketserverrrrZ ECONNRESETrrrr#r(r rr]rr rIrpruobjectrvrrzrar{rr|rrrrrrrrrrsF "&W! Az