??????????????
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@`sddlmZmZmZeZddlZddlZddlZddl Z ddl m Z ddl m Z ddlmZmZmZddlmZmZddlmZddlmZdd lmZmZeZeZeZ e!Z"ydd l#m$Z$dd l%m&Z'dd l(m)Z)m*Z*m+Z+dd l,m-Z-ddl%m.Z.e e'e dkreZ ddl%m/Z0nAe e'e dkreZddl%m/Z0nddl%m0Z0Wn%e1k rZ2e3e2Z"eZnXyddl4Z%eZ5Wne1k reZ5nXyddl6Z%eZ7Wne1k rKeZ7nXyddl#m8Z8Wn'e1k rde9fdYZ8nXdZ:eZ;eZ<dZ=dZ>dZ?e@de@ddde:dedgfd d!gd"e@ddde=ded#gfd$e@dddd%ded&gfd d'gd(e@dd)de?ded*gfd+e@dd,d d-d.gd/e@dd,d d0d1gd2e@dd,d d3d4gd5e@ddded6gfd7e@dd8de;ded9gfd:e@dd8de<ded;gfd d<gd=e@dd8de ZAgZBd/d2ggZCd>ZDd?ZEd@dAdBdCdDdEgZFe re!Z'dFeGfdGYZ0dHe9fdIYZ)dJe9fdKYZ*ndLZHedMZIdNZJdOeGfdPYZKdQZLdRZMdSZNdTZOdUZPdVZQdWe0fdXYZRdYZSdZZTd[eGfd\YZUd]ZVd^ZWd_ZXd`ZYdS(ai(tabsolute_importtdivisiontprint_functionN(t timedelta(t LooseVersion(t AnsibleModulet env_fallbacktmissing_required_lib(tMappingtSequence(t string_types(turlparse(t BOOLEANS_TRUEtBOOLEANS_FALSE(tSSLError(t __version__(tAPIErrortNotFoundtTLSParameterError(t TLSConfig(tauths3.0.0(t APIClients2.0.0(tClient(tRequestExceptionRcB`seZRS((t__name__t __module__(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRWssunix://var/run/docker.sockt localhosts1.8.0i<t docker_hostttypetstrtdefaulttfallbackt DOCKER_HOSTtaliasest docker_urlt tls_hostnametDOCKER_TLS_HOSTNAMEt api_versiontautotDOCKER_API_VERSIONtdocker_api_versionttimeouttinttDOCKER_TIMEOUTtca_certtpatht tls_ca_certt cacert_patht client_certttls_client_certt cert_patht client_keyttls_client_keytkey_patht ssl_versiontDOCKER_SSL_VERSIONttlstboolt DOCKER_TLStvalidate_certstDOCKER_TLS_VERIFYt tls_verifytdebugshttps://index.docker.io/v1/s[^@]+@[^@]+\.[^@]+tBtKBtMBtGBtTBtPBRcB`seZdZRS(cK`sdS(N((tselftkwargs((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt__init__s(RRRG(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRsRcB`seZRS((RR(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRsRcB`seZRS((RR(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRscC`stjd|rtStS(sACheck whether the given image name is in fact an image ID (hash).s^sha256:[0-9a-fA-F]{64}$(tretmatchtTruetFalse(tname((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytis_image_name_idscC`s |s |Sttjd|S(s:Check whether the given string is a valid docker tag name.s#^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$(R9RHRI(ttagt allow_empty((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt is_valid_tagscC`sct|tr)td|jDSt|ttfr[g|D]}t|^qES|SdS(sSanitize data object for return to Ansible. When the data object contains types such as docker.types.containers.HostConfig, Ansible will fail when these are returned via exit_json or fail_json. HostConfig is derived from dict, but its constructor requires additional arguments. This function sanitizes data structures by recursively converting everything derived from dict to dict and everything derived from list (and tuple) to a list. cs`s'|]\}}|t|fVqdS(N(tsanitize_result(t.0tktv((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pys sN(t isinstancetdicttitemstlistttupleRQ(tdataRT((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRQs tDockerBaseClasscB`seZdZedZRS(cC`s t|_dS(N(RKR>(RE((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRGscC`sdS(N((REtmsgt pretty_print((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytlogs(RRRGRKR^(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyR[s cC`s`|ddkr\t|d}d|jkrO|j|jjd |d= 2.7) or docker-py (Python 2.6)sa, for example via `pip install docker` or `pip install docker-py` (Python 2.6). The error was: %ss\Error: Docker SDK for Python version is %s (%s's Python %s). Minimum version required is %s.s2.0R>Rft ApiVersionsDocker API error: %ssError connecting: %ss9Docker API version is %s. Minimum version required is %s.(*t fail_resultsRVtupdatetDOCKER_COMMON_ARGStarg_spectDOCKER_MUTUALLY_EXCLUSIVEtDOCKER_REQUIRED_TOGETHERRtmoduleRtdocker_versiontdocker_py_versiontHAS_DOCKER_MODELStHAS_DOCKER_SSLADAPTERtfailtplatformtnodetsyst executablet HAS_DOCKER_PYRtHAS_DOCKER_ERRORt DOCKERPYUPGRADE_RECOMMEND_DOCKERt DOCKERPYUPGRADE_SWITCH_TO_DOCKERtDOCKERPYUPGRADE_UPGRADE_DOCKERtparamstgetR>t check_modeRot auth_paramst_connect_paramstsuperRpRGRmtdocker_api_version_strRt ExceptionR(R`t_get_minimal_versions(RERqRrRsRtRutmin_docker_versiontmin_docker_api_versiontoption_minimal_versionst%option_minimal_versions_ignore_paramsRwtmerged_arg_spectmutually_exclusive_paramstrequired_together_paramstNEEDS_DOCKER_PY2R\Rh((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRG#sp                  )   cC`sdS(N((RER\R]((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyR^xscK`s3|jj||jjd|t|jdS(NR\(RwRxR}t fail_jsonRQ(RER\RF((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRscC`s|dk r0|tkrtS|tkr,tS|S|dk rtjj|}|dk r|dkrytjj |dS|dkrtjj |dS|dkrtjj |dS|tkrtS|tkrtS|Sn|S(NR2scert.pemR/sca.pemR5skey.pem( R`R RJR RKtostenvironRR-tjoin(t param_namet param_valuet env_variablet default_valuet env_value((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt _get_values*          cC`s|jdt}x'tD]}|jjj||||}Pq>q>WWqtk r}|j|qtk r}|jd|qXn|dk r|d}n|dk rqy1|jd||j|}|jdWqqt k rJ}dStk rm}|jd|qqXn|S( sE Lookup a network and return the inspection results. stesting network: %stNameRs!Error retrieving network list: %ssInspecting network Id %ssCompleted network inspectionsError inspecting network: %sN( R`tnetworksR^RRRRRtinspect_networkR(RERLt network_idRctnetworkRhR((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt get_network5s:     c C`s|s d S|jd||f|j||}|s tj|\}}|dkr |jd||j||}| r|jdr|td}|jd||j||}n|sd||f}|jd||j||}qq nt|dkr7|jd||fnt|dkry|j|dd }Wn[t k r|jd ||fd St k r}|jd ||t |fnX|S|jd ||fd S( sV Lookup an image (by name and tag) and return the inspection results. sFind image %s:%ss docker.iosCheck for docker.io image: %sslibrary/s%s/%sis0Registry returned more than one result for %s:%siRsImage %s:%s not found.s!Error inspecting image %s:%s - %sN( R`R^t _image_lookupRtresolve_repository_nameRtlenRt inspect_imageRRR( RERLRNtimagestregistryt repo_nametlookupt inspectionRh((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt find_image\s<  $cC`s|s dS|jd|y|j|}Wnztk r{}|sf|jd|t|fn|jd|dStk r}|jd|t|fnX|S(sL Lookup an image (by ID) and return the inspection results. sFind image %s (by ID)s!Error inspecting image ID %s - %ssImage %s not found.N(R`R^RRRRR(REtimage_idtaccept_missing_imageRRh((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytfind_image_by_ids !c C`sy|jd|}Wn0tk rH}|jd|t|fnX|}|rd||f}d||f}g}x`|D]U}|jd} |jd} | r|| ks| r|| kr|g}PqqWn|S(s Including a tag in the name parameter sent to the Docker SDK for Python images method does not work consistently. Instead, get the result set for name and manually check if the tag exists. RLs!Error searching for image %s - %ss%s:%ss%s@%stRepoTagst RepoDigests(RRRRR( RERLRNtresponseRhRRt lookup_digesttimagettagstdigests((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRs ! $  tlatestcC`sC|jd||f|j||}yx|j|d|dtdtD]}|j|dt|jdrN|jdr|jd}|jd||jd |jd fq|jd ||jdfqNqNWWn3tk r }|jd ||t|fnX|j||}|||kfS( s Pull an image sPulling image %s:%sRNtstreamtdecodeR]Rt errorDetails'Error pulling %s - code: %s message: %stcodetmessagesError pulling %s - %ssError pulling image %s:%s - %s(R^RtpullRJRRRR(RERLRNtold_tagtlinet error_detailRhtnew_tag((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt pull_images (  +$cC`s|dkrdg}nx0|D](}t|ts8dS|j|}qWt|trx[|D]}|jjdj|qaWn1t|tr|r|jjdj|ndS(sw Checks result of client operation for warnings, and if present, outputs them. warnings_key should be a list of keys used to crawl the result dictionary. For example, if warnings_key == ['a', 'b'], the function will consider result['a']['b'] if these keys exist. If the result is a non-empty string, it will be reported as a warning. If the result is a list, every entry will be reported as a warning. In most cases (if warnings are returned at all), warnings_key should be ['Warnings'] or ['Warning']. The default value (if not specified) is ['Warnings']. tWarningsNsDocker warning: {0}( R`RURRR R}twarntformatR (RERct warnings_keyRtwarning((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytreport_warningss     cK`s|jtdkrxtj|d}tj||}|rx|j|j|jd|di|d6dtSnt t |j ||S(s Get image digest by directly calling the Docker API when running Docker SDK < 4.0.0 since prior versions did not support accessing private repositories. s4.0.0is/distribution/{0}/jsontheaderssX-Registry-Authtjson( RRRRtget_config_headert_resultt_gett_urlRJRRptinspect_distribution(RERRFRtheader((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRs  N(RRR`RKtMIN_DOCKER_VERSIONRGR^Rt staticmethodRtpropertyRRRRRRRRRRRR(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRp!s&  R ) 2 "' -    cC`sEx>|jD]0\}}||kr)tS|||kr tSq WtS(sY Compare two dictionaries for whether every entry of the first is in the second. (RWRKRJ(tavtbvRtvalue((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytcompare_dict_allow_more_presents  c C`sa|dkrtS|d ks(|d kr||kr8tS|dkrHtS|dkrd|d krdtSt|d kry|n|dkS|dkr||kS|dkr/|dkr||kSd}xa|D]Y}x0|t|kr|||kr|d7}qW|t|krtS|d7}qWtSn.|dkra|dkrQ||kSt||Sn|d krt|}t|}|dkr||kS||kSn|d kr]xH|D]@}t} x'|D]} t|| rt} PqqW| stSqW|dkrYxK|D]@} t} x'|D]}t|| r%t} Pq%q%W| stSqWntSd S( s Compare values a and b as described by method and datatype. Returns ``True`` if the values compare equal, and ``False`` if not. ``a`` is usually the module's parameter, while ``b`` is a property of the current object. ``a`` must not be ``None`` (except for ``datatype == 'value'``). Valid values for ``method`` are: - ``ignore`` (always compare as equal); - ``strict`` (only compare if really equal) - ``allow_more_present`` (allow b to have elements which a does not have). Valid values for ``datatype`` are: - ``value``: for simple values (strings, numbers, ...); - ``list``: for ``list``s or ``tuple``s where order matters; - ``set``: for ``list``s, ``tuple``s or ``set``s where order does not matter; - ``set(dict)``: for ``list``s, ``tuple``s or ``sets`` where order does not matter and which contain ``dict``s; ``allow_more_present`` is used for the ``dict``s, and these are assumed to be dictionaries of values; - ``dict``: for dictionaries of values. tignoreRtallow_more_presentiRXtstrictiRVtsets set(dict)N(RJR`RKRRR( tatbtmethodtdatatypetiRTtset_atset_bRtfoundR((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytcompare_genericsh   "      %                tDifferenceTrackercB`s\eZdZdddZdZedZdZdZ dZ dZ RS( cC`s g|_dS(N(t_diff(RE((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyRG^scC`s)|jjtd|d|d|dS(NRLt parametertactive(RtappendRV(RERLRR((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytaddascC`s|jj|jdS(N(Rtextend(REt other_tracker((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytmergehscC`st|jdkS(Ni(RR(RE((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytemptykscC`sTt}t}x5|jD]*}|d||d<|d||d~s(tanyR(RERL((RLsF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pythas_difference_forzscC`sYg}xL|jD]A}t}td|dd|d||d<|j|qW|S(sK Return differences in the docker_container legacy format. RRRRL(RRVR(RERctentryR((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyt!get_legacy_docker_container_diffss  cC`s$g|jD]}|d^q }|S(sK Return differences in the docker_container legacy format. RL(R(RER#Rc((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytget_legacy_docker_diffss N( RRRGR`RRRRRR"R$R%(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyR]s    cC`st}|dk r{xc|jD]R\}}|tkrCd}n!|tkrXd}n t|}||t|\d+)h)?((?P\d+)m(?!s))?((?P\d+)s)?((?P\d+)ms)?((?P\d+)us)?)$sInvalid time duration - %siii iii@Bi( RURt ValueErrorRHtcompileRIt groupdictRWR*Rt microsecondstsecondstdays(ttime_strtregextpartst time_paramsRLRtdeltattime_in_nanoseconds((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytconvert_duration_to_nanoseconds     c C`s| s|jd rd St}tdddddddddd}dddg}x`|jD]R\}}||krg|j|d krqgn||krt|j|}|r|||s(RVRW(td((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pytomit_none_from_dicts(Zt __future__RRRRt __metaclass__RRRHRtdatetimeRtdistutils.versionRtansible.module_utils.basicRRRt/ansible.module_utils.common._collections_compatRR tansible.module_utils.sixR t+ansible.module_utils.six.moves.urllib.parseR t)ansible.module_utils.parsing.convert_boolR R RJRRKtHAS_DOCKER_PY_2tHAS_DOCKER_PY_3R`Rtrequests.exceptionsRtdockerRR~t docker.errorsRRRt docker.tlsRRRRt ImportErrorRhRt docker.modelsRtdocker.ssladapterRRRRRRRRRRVRyR{R|tDEFAULT_DOCKER_REGISTRYt EMAIL_REGEXt BYTE_SUFFIXEStobjectRMRPRQR[ReRiRoRRRRpRRRR(R5R@RB(((sF/usr/lib/python2.7/site-packages/ansible/module_utils/docker/common.pyts               -$-$$-    K ]9  ! 7