??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó àUdac@`säddlmZmZmZeZddljZddl m Z ddl m Z ddl mZddlmZddlmZddlmZdd lmZdd lmZdd lmZd eeeefd „ƒYZdS(i(tabsolute_importtdivisiontprint_functionN(tAnsibleParserError(tFieldAttribute(tBase(t Conditional(tCollectionSearch(tload_list_of_tasks(tRole(tTaggable(tSentineltBlockc B`s‹eZedddedeƒZedddedeƒZedddedeƒZeddƒZeddƒZ ddddeed„Z d„Z d„Z d „Zd „Zeddddeddd „ƒZed „ƒZd „Zd„Zd„Zd„Zd„ZeZd„Zeed„Zd„Zd„Zd„Zeed„Zd„Zd„Z d„Z!d„Z"d„Z#RS(tisatlisttdefaulttinherittstringtboolcC`sz||_||_d|_d|_||_||_t|_|rQ||_n|rc||_nt t |ƒj ƒdS(N( t_playt_roletNonet_parentt _dep_chaint _use_handlerst _implicittFalset_eortsuperR t__init__(tselftplayt parent_blocktrolet task_includet use_handlerstimplicit((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR1s         cC`sd|jt|ƒ|jfS(Ns BLOCK(uuid=%s)(id=%s)(parent=%s)(t_uuidtidR(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt__repr__CscC`s|j|jkS(s object comparison based on _uuid(R%(Rtother((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt__eq__FscC`s|j|jkS(s object comparison based on _uuid(R%(RR(((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt__ne__JscC`s5|jjƒ}|jr1|j|jjƒƒn|S(s  Blocks do not store variables directly, however they may be a member of a role or task include which does, so return those if present. (tvarstcopyRtupdatetget_vars(Rtall_vars((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR.Ns c C`sVtj|ƒ }td|d|d|d|d|d|ƒ} | j|d|d|ƒS( NRR R!R"R#R$tvariable_managertloader(R tis_blockt load_data( tdataRR R!R"R#R0R1R$tb((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pytload[s-cC`sCt}t|tƒr?x'dD]}||krt}PqqWn|S(Ntblocktrescuetalways(sblocksrescuesalways(Rt isinstancetdicttTrue(tdsR2tattr((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR2as   cC`sxtj|ƒsbt|tƒr=tt|ƒjtd|ƒƒStt|ƒjtd|gƒƒSntt|ƒj|ƒS(s“ If a simple task is given, an implicit block for that single task is created, which goes in the main portion of the block R7(R R2R:RRtpreprocess_dataR;(RR=((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR?ks %cC`s|yGt|d|jd|d|jddd|jd|jd|jƒSWn.tk rw}tdd |j d |ƒ‚nXdS( NRR7R!R"R0R1R#s7A malformed block was encountered while loading a blocktobjtorig_exc( RRRRt_variable_managert_loaderRtAssertionErrorRt_ds(RR>R=te((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt _load_blockys    cC`s|yGt|d|jd|d|jddd|jd|jd|jƒSWn.tk rw}tdd |j d |ƒ‚nXdS( NRR7R!R"R0R1R#s7A malformed block was encountered while loading rescue.R@RA( RRRRRBRCRRDRRE(RR>R=RF((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt _load_rescueˆs    cC`s|yGt|d|jd|d|jddd|jd|jd|jƒSWn.tk rw}tdd |j d |ƒ‚nXdS( NRR7R!R"R0R1R#s6A malformed block was encountered while loading alwaysR@RA( RRRRRBRCRRDRRE(RR>R=RF((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt _load_always—s    cC`s0|r,|j r,td|d|jƒ‚ndS(Ns+'%s' keyword cannot be used without 'block'R@(R7RRE(RR>tnametvalue((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_validate_always¦scC`s8|jdkr,|jr%|jjƒSdSn|jSdS(N(RRRt get_dep_chain(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRM¬s   cC`sd„}tt|ƒjƒ}|j|_|j|_|j|_|jdk ra|j|_nd|_|jr•| r•|jjdt ƒ|_n|sï||j pªg|ƒ|_ ||j pÅg|ƒ|_ ||j pàg|ƒ|_ nd|_ |j r|j |_ n|jƒ|S(NcS`s¼g}x¯|D]§}|jdtƒ}|jrž|jjdtƒ|_|j|kra||_q§|j}x%|jr‘|j|kr‘|j}qmW||_n ||_|j|ƒq W|S(Ntexclude_parentt exclude_tasks(R,R<Rtappend(t task_listt new_blockt new_task_listttasktnew_tasktcur_obj((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_dupe_task_list¶s       RO(RR R,RRRRRRR<R7R8R9Rtvalidate(RRNRORWtnew_me((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR,µs&        cC`sÉtƒ}x3|jD](}|d krt||ƒ||((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR`ãs   c C`sdddlm}ddlm}xE|jD]:}||kr*|dkr*t|||j|ƒƒq*q*W|jddƒ|_|jdt ƒ|_ |jd ƒ}|rÉt ƒ}|j |ƒ||_ n|jd ƒ}|r`|jd ƒ}|d krtƒ} n0|d kr|ƒ} n|dkr5|ƒ} n| j |ƒ| |_|jjƒ|_ndS(st Override of the default deserialize method, to match the above overridden serialize method i(t TaskInclude(tHandlerTaskIncludeR7R8R9RZR[R!R\R]R RcRdN(sblocksrescuesalways(tansible.playbook.task_includeRct%ansible.playbook.handler_task_includeRdR^tsetattrtgetRRRRR t deserializeRR RRM( RR4RcRdR>t role_datatrt parent_dataR]tp((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRiùs0            cC`sx||_|jr%|jj|ƒn|jrA|jj|ƒn|jƒ}|rtx|D]}|j|ƒqZWndS(N(RCRt set_loaderRRM(RR1RZtdep((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRn s     c C`s|j|j}|j|j}ye|j|}t|jdtƒrQ|j}n |jj}|rÿ|tksu|rÿyst|dtƒrçt|dƒr«|j |ƒ}n|jj |tƒ}|rÞ|j |||ƒ}qç|}nWqÿt k rûqÿXn|j r|tks|ryÒ|j jj |tƒ}|rS|j |||ƒ}n|}|jƒ}|rë|tks}|rë|jƒxa|D]V}|jj |tƒ} |rÇ|j || |ƒ}n| }|tk rŽ| rŽPqŽqŽWnWqt k rÿqXn|jr„|tks|r„yO|jjj |tƒ} | tk rl|rc|j || |ƒ}ql| }nWq„t k r€q„XnWntk r˜nX|S(s[ Generic logic to get the attribute or parent attribute for a block value. tstatically_loadedt_get_parent_attribute(R^textendtprependt _attributesR_RR<R thasattrRqRht _extend_valuetAttributeErrorRRMtreverseRtKeyError( RR>RrRsRKRt parent_valueRZRot dep_valuet play_value((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRq,s`              c`s1‡‡‡fd†‰‡‡fd†‰ˆˆƒS(sR Creates a new block, with task lists filtered based on the tags. c `sËg}x¾|D]¶}t|tƒrMˆ|ƒ}|jƒrÃ|j|ƒqÃq |jtjks³|jtjkr|jgˆj j dˆƒs³|jˆj j ˆj j dˆƒr |j|ƒq q W|S(NR/( R:R t has_tasksRPtactiontCt _ACTION_METAt_ACTION_INCLUDEt evaluate_tagsRt skip_tagst only_tags(ttargetttmp_listRTtfiltered_block(R/tevaluate_blockR(s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pytevaluate_and_append_taskss   0$c`sLˆjdtƒ}ˆ|jƒ|_ˆ|jƒ|_ˆ|jƒ|_|S(NRO(R,R<R7R8R9(R7RR(R‰R(s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRˆ€s ((RR/((R/R‰RˆRs:/usr/lib/python2.7/site-packages/ansible/playbook/block.pytfilter_tagged_tasksns cC`s=t|jƒdkp<t|jƒdkp<t|jƒdkS(Ni(tlenR7R8R9(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR}‰scC`s!|jr|jjƒStƒSdS(N(Rtget_include_paramsR;(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRŒŒs  cC`sMddlm}|jrIt|j|ƒr<|jj r<tS|jjƒStS(s7 Determine if all of the parents of this block were statically loaded or not. Since Task/TaskInclude objects may be in the chain, they simply call their parents all_parents_static() method. Only Block objects in the chain check the statically_loaded value of the parent. i(Rc(ReRcRR:RpRtall_parents_staticR<(RRc((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR’s   cC`sCddlm}|jr?t|j|ƒr2|jS|jjƒSdS(Ni(Rc(ReRcRR:tget_first_parent_includeR(RRc((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRŽ¡s   N($Rbt __module__RRRt_blockt_rescuet_alwayst _delegate_tot_delegate_factsRRR'R)R*R.t staticmethodR6R2R?RGRHRIRLt_validate_rescueRMR,R`RiRnRqRŠR}RŒRRŽ(((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR "s<    !      .  ' B    (t __future__RRRttypet __metaclass__tansible.constantst constantsRtansible.errorsRtansible.playbook.attributeRtansible.playbook.baseRtansible.playbook.conditionalRt!ansible.playbook.collectionsearchRtansible.playbook.helpersRtansible.playbook.roleR tansible.playbook.taggableR tansible.utils.sentinelR R (((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyts