
    bi                        d dl Z d dlZdZdj                  e      Zdez   dfdez   dfdez   d	fd
ez   dfdez   dfdj                  e      dfdj                  e      dfdj                  e      dfdj                  e      dfdj                  e      dfdj                  e      dfdj                  e      dfdj                  e      dfdj                  e      dfdd d!d"d#d$gZed%k(  r e j                  d&'      Zej                  d(d)d*d+,       ej                  d-d.d/d+,       ej                         Z eej                  d0      5 Zej                         Zddd       eD ]  \  ZZ ej&                  eee      Z  eej(                  d1      5 Zej+                  e       ddd       yy# 1 sw Y   VxY w# 1 sw Y   yxY w)2    Nz
[\w*+-/\s]z5(?:rows=)?({0}+),\s*(?:cols\s*=)?({0}+)\s*(?![\s\w=])z
Variable\(zVariable(shape=(\1, \2)zNonNegative\(z$Variable(shape=(\1, \2), nonneg=TruezBool\(z%Variable(shape=(\1, \2), boolean=TruezInt\(z%Variable(shape=(\1, \2), integer=TruezParameter\(zParameter(shape=(\1, \2)zVariable\(({0}+)\)zVariable(shape=(\1,1))zNonNegative\(({0}+)\)z#Variable(shape=(\1,1), nonneg=True)zBool\(({0}+)\)z$Variable(shape=(\1,1), boolean=True)zInt\(({0}+)\)z$Variable(shape=(\1,1), integer=True)zParameter\(({0}+)\)zParameter(shape=(\1,1))z!Parameter\(({0}+), value=({0}+)\)z!Parameter(shape=(\1,1), value=\2)zSymmetric\(({0}+)\)z'Variable(shape=(\1,\1), symmetric=True)zSemidef\(({0}+)\)z!Variable(shape=(\1,\1), PSD=True)zsemidefinite\(({0}+)\))sum_entriessum)mul_elemwisemultiply)max_entriesmax)min_entriesmin)max_elemwisemaximum)min_elemwiseminimum__main__zUpgrade cvxpy code to version 1.0

        Usage:
            python cvxpy_upgrade.py --infile foo.py --outfile bar.py
        )descriptionz--infile
input_filez The name of the file to upgrade.T)desthelprequiredz	--outfileoutput_filezThe output filename.rUw)argparsereTOKformat	P_ROW_COLSUBST__name__ArgumentParserparseradd_argument
parse_argsargsopenr   freadcodepatternsubstsubr   write     X/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/cvxpy/utilities/cvxpy_upgrade.py<module>r/      s9    	 DKKCP	 Y :;	!#JKDE	CDi!<=!!#&(AB$$S)+QRc"$KLS!#JK""3')CD)0057[\""3')ST  %'KL%%c*,PQ!  1	6 z$X$$F 
?!%  ' -3!%  ' D	doot	$ vvx ,rvvgud+,	d	$ 	 %   s   	F/F;/F8;G