
                             S r SSKJr  SSKJr  SSKrSSKrSSKrSSKJr  SSKJ	r	  SSK
Jr  SSK
Jr  SS	K
Jr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKr\R,                  " SS9r\R1                  SSSSS9  \R1                  SSSSS9  \R1                  SSSSS9  \R1                  SSSS9  S rS! rS" r\S#:X  a"  \R:                  " 5          \" 5         SSS5        gg! , (       d  f       g= f)$z0This package pushes images to a Docker Registry.    )absolute_import)print_functionN)docker_creds)docker_name)docker_image)docker_session)
oci_compat)logging_setup)patched)retry)transport_poolz!Push images to a Docker Registry.)descriptionz--namestorez%The name of the docker image to push.T)actionhelprequiredz	--tarballz Where to load the image tarball.z--stamp-info-fileappendFzbA list of files from which to read substitutions to make in the provided --name, e.g. {BUILD_USER})r   r   r   z--oci
store_truez$Push the image with an OCI Manifest.)r   r      c           
      \   0 nU=(       d    /  Hb  n[        U5       nU HE  nUR                  S5      nUR                  SS5      u  pgXb;   a  [        SU< SU< S35        XrU'   MG     SSS5        Md     U R                  " S0 UD6n[
        R                  " U5      $ ! , (       d  f       M  = f)	z/Perform substitutions in the provided tag name.
    z"WARNING: Duplicate value for key "z
": using ""N )openstripsplitprintformatr   Tag)	namefilesformat_argsinfofileinfolinekeyvalueformatted_names	            9lib/third_party/containerregistry/tools/docker_pusher_.pyr!   r!   <   s    ++2+h	h4$zz$ZZQ'

!$e- / C  
  ;;--.		(( 
s   AB
B+	c            	      P   [         R                  " [        5        [        R                  5       n [         R                  " U S9  [
        R                  " 5       nUR                  [        R                  5      n[        R                  " UR                  [        S9n[        U R                  U R                  5      n[         R"                  " SU R$                  5        [&        R(                  " U R$                  5       n [*        R,                  R/                  U5      n [8        R:                  " UWU[        S9 n[         R"                  " S5        U R<                  (       aA  [>        R@                  " U5       nURC                  U5        URE                  5       n	S S S 5        O!URC                  U5        URE                  5       n	[G        SRI                  UW	S	95        S S S 5        S S S 5        g ! [0         a8  n[         R2                  " SX65        [4        R6                  " S5         S nAGNS nAff = f! , (       d  f       N}= f! , (       d  f       Nm= f! [0         a7  n[         R2                  " S
X65        [4        R6                  " S5         S nANS nAff = f! , (       d  f       g = f)N)args)sizez"Reading v2.2 image from tarball %rz&Error resolving credentials for %s: %sr   )threadszStarting upload ...z*{name} was published with digest: {digest})r"   digestzError publishing %s: %s)%r
   DefineCommandLineArgsparser
parse_argsInitr   FactoryWithSourceTransportCallablehttplib2Httpr   Build_THREADSr!   r"   stamp_info_fileloggingr&   tarball
v2_2_imageFromTarballr   DefaultKeychainResolve	Exceptionfatalsysexitr   Pushocir	   
OCIFromV22uploadr0   r   r    )
r-   retry_factory	transportr"   v2_2_imgcredsesessionoci_imgr0   s
             r+   mainrQ   N   s   %%f-				$$--/-;;HMMJ-!!-"5"5HE)
 
TYY,,	-$	,,3T\\Bdll+x**2248e
y(47>*+88$$X.'NN7#^^%F /. ..
"??$&;BBf C & 	(4 ,+  mm<dF	hhqkk /.	4 4  mm-t7	hhqkk3 ,+s   ;J=G,I8>I6"H1AII,
H.6-H)#J)H..J1
H?;I
I	IJI
J-J
JJJ
J%__main__)__doc__
__future__r   r   argparser<   rD   containerregistry.clientr   r   containerregistry.client.v2_2r   r>   r   r	   containerregistry.toolsr
   r   containerregistry.transportr   r   r7   ArgumentParserr2   add_argumentr:   r!   rQ   __name__Httplib2r       r+   <module>r_      s   7 & %   
 1 0 D 8 4 1 + - 6  
	 	 3
5   W#J     &H     >	  @   L'M  O )$*Z zF  s   C
C+