a ¾Ãye• ã@s0ddlZdgZdd„Zdd„ZGdd„dƒZdS)éNÚsetranscCs.t tjgtj|i¡}tdd„tdd„|ƒƒS)NcSs |tjS©N)ÚsepolicyZTARGET©Úy©rú7/usr/lib/python3.9/site-packages/sepolicy/transition.pyÚóz_entrypoint..cSsd|tjvS)NZ entrypoint)rZPERMS©Úxrrrr r )rÚsearchZALLOWZSOURCEÚmapÚfilter)ÚsrcÚtransrrrÚ _entrypointsrcsFˆgtt‡fdd„t ¡ƒƒdd‰tt‡fdd„t ¡ƒƒ}|S)Ncs |dˆkS)NÚnamerr )rrrr r z_get_trans..rZ attributescs|dˆvo|ddkS)NÚsourceÚclassÚprocessrr )Úsrc_listrrr !r )ÚlistrrZget_all_types_infoZget_all_transitions)rZ trans_listr)rrrÚ _get_transs(rc@s0eZdZd dd„Zdd„Zd dd„Zd d „ZdS) rNcCs(g|_i|_||_||_| |j¡dSr)ÚseenÚsdictrÚdestÚ_process)ÚselfrrrrrÚ__init__'s zsetrans.__init__csʈˆjvrˆjˆSiˆjˆ<tˆƒ}|s.dSˆˆjˆd<ˆjsR|ˆjˆd<ntttdd„t‡fdd„|ƒƒƒˆjˆd<ttdd„t‡‡fdd„|ƒƒƒˆjˆd<ˆjˆdD]}ˆ |¡q¶dS) NrrcSs|Srrrrrrr 9r z"setrans._process..cs|dˆjkS©NÚ transtype©rr ©rrrr 9r cSs|dSr rrrrrr :r cs|dˆjˆfvSr r"r ©rrrrr :r Úchild)rrrrrrr)rrrÚsrr$rr.s   *,zsetrans._processÚc Csæd}||jvr|S|j |¡d|j|vr¨|j|dD]l}t |d|dddg¡}|r†|d||d|d|dt |¡f7}q:|d ||d|d|df7}q:d |j|vrâ|j|d D]}|| |d ||f¡7}qÄ|S) Nr'rrr!rZ transitionz%s%s @ %s --> %s %s Útargetz%s%s @ %s --> %s r%z %s%s ... )rÚappendrrZget_conditionalsZget_conditionals_format_textÚout)rrÚheaderÚbufÚtZcondr rrrr*>s  *"z setrans.outcCsg|_t| |j¡ƒdSr)rÚprintr*rr#rrrÚoutputQszsetrans.output)N)r')Ú__name__Ú __module__Ú __qualname__rrr*r/rrrrr%s  )rÚ__all__rrrrrrrÚs