Ë
    âQ(h1  ã                   ó2   — d dl Zd dlmZ  G d„ d«      Zd„ Zy)é    Nc                   ó†   — e Zd ZdZd„ Zed„ «       Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
ed„ «       Zed	„ «       Zy
)ÚCanonicalConstrainta¯  Canonical constraint to use with trust-constr algorithm.

    It represents the set of constraints of the form::

        f_eq(x) = 0
        f_ineq(x) <= 0

    where ``f_eq`` and ``f_ineq`` are evaluated by a single function, see
    below.

    The class is supposed to be instantiated by factory methods, which
    should prepare the parameters listed below.

    Parameters
    ----------
    n_eq, n_ineq : int
        Number of equality and inequality constraints respectively.
    fun : callable
        Function defining the constraints. The signature is
        ``fun(x) -> c_eq, c_ineq``, where ``c_eq`` is ndarray with `n_eq`
        components and ``c_ineq`` is ndarray with `n_ineq` components.
    jac : callable
        Function to evaluate the Jacobian of the constraint. The signature
        is ``jac(x) -> J_eq, J_ineq``, where ``J_eq`` and ``J_ineq`` are
        either ndarray of csr_matrix of shapes (n_eq, n) and (n_ineq, n),
        respectively.
    hess : callable
        Function to evaluate the Hessian of the constraints multiplied
        by Lagrange multipliers, that is
        ``dot(f_eq, v_eq) + dot(f_ineq, v_ineq)``. The signature is
        ``hess(x, v_eq, v_ineq) -> H``, where ``H`` has an implied
        shape (n, n) and provide a matrix-vector product operation
        ``H.dot(p)``.
    keep_feasible : ndarray, shape (n_ineq,)
        Mask indicating which inequality constraints should be kept feasible.
    c                 óX   — || _         || _        || _        || _        || _        || _        y ©N)Ún_eqÚn_ineqÚfunÚjacÚhessÚkeep_feasible)Úselfr   r   r	   r
   r   r   s          úu/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/_trustregion_constr/canonical_constraint.pyÚ__init__zCanonicalConstraint.__init__*   s-   € ØˆŒ	ØˆŒØˆŒØˆŒØˆŒ	Ø*ˆÕó    c                 óR  — |j                   \  }}|j                  }|j                  }t        j                  |t        j
                   k(  «      rAt        j                  |t        j
                  k(  «      r| j                  |j                  «      S t        j                  |t        j
                   k(  «      rAt        j                  |t        j
                  k(  «      r| j                  |j                  «      S t        j                  ||k(  «      r| j                  ||«      S t        j                  |t        j
                   k(  «      r| j                  |||«      S t        j                  |t        j
                  k(  «      r| j                  |||«      S | j                  ||||«      S )z5Create an instance from `PreparedConstrained` object.)Úboundsr	   r   ÚnpÚallÚinfÚemptyÚnÚ_equal_to_canonicalÚ_less_to_canonicalÚ_greater_to_canonicalÚ_interval_to_canonical)ÚclsÚ
constraintÚlbÚubÚcfunr   s         r   Úfrom_PreparedConstraintz+CanonicalConstraint.from_PreparedConstraint2   s-  € ð ×"Ñ"‰ˆˆBØ�~‰~ˆØ"×0Ñ0ˆä�6‰6�"œŸ™˜‘-Ô ¤R§V¡V¨B´"·&±&©LÔ%9Ø—9‘9˜TŸV™VÓ$Ð$ä�6‰6�"œŸ™˜‘-Ô ¤R§V¡V¨B´"·&±&©LÔ%9Ø—9‘9˜TŸV™VÓ$Ð$Ü�V‰V�B˜"‘HÔØ×*Ñ*¨4°Ó4Ð4Ü�V‰V�Bœ2Ÿ6™6˜'‘MÔ"Ø×)Ñ)¨$°°MÓBÐBÜ�V‰V�Bœ"Ÿ&™&‘LÔ!Ø×,Ñ,¨T°2°}ÓEÐEà×-Ñ-¨d°B¸¸MÓJÐJr   c                 ó  ‡‡‡— t        j                  d«      Št        j                  d|f«      Št        j                  ||f«      Šˆfd„}ˆfd„}ˆfd„} | dd|||t        j                  dt         j                  ¬«      «      S )z¦Create an "empty" instance.

        This "empty" instance is required to allow working with unconstrained
        problems as if they have some constraints.
        r   c                 ó   •— ‰‰fS r   © )ÚxÚ	empty_funs    €r   r	   z&CanonicalConstraint.empty.<locals>.funR   ó   ø€ Ø˜iÐ'Ð'r   c                 ó   •— ‰‰fS r   r$   )r%   Ú	empty_jacs    €r   r
   z&CanonicalConstraint.empty.<locals>.jacU   r'   r   c                 ó   •— ‰S r   r$   )r%   Úv_eqÚv_ineqÚ
empty_hesss      €r   r   z'CanonicalConstraint.empty.<locals>.hessX   s	   ø€ ØÐr   ©Údtype)r   r   ÚspsÚ
csr_matrixÚbool_)r   r   r	   r
   r   r&   r-   r)   s        @@@r   r   zCanonicalConstraint.emptyG   sk   ú€ ô —H‘H˜Q“Kˆ	Ü—H‘H˜a ˜VÓ$ˆ	Ü—^‘^ Q¨ FÓ+ˆ
ô	(ô	(ô	ñ �1�a˜˜c 4¬¯©°!¼2¿8¹8Ô)DÓEÐEr   c                 ó2  ‡‡
— ˆfd„}|rt         j                  Š
nt        j                  Š
ˆˆ
fd„}ˆfd„}t        d„ ‰D «       «      }t        d„ ‰D «       «      }t        j                  ‰D �cg c]  }|j
                  ‘Œ c}«      }	 | ||||||	«      S c c}w )a  Concatenate multiple `CanonicalConstraint` into one.

        `sparse_jacobian` (bool) determines the Jacobian format of the
        concatenated constraint. Note that items in `canonical_constraints`
        must have their Jacobians in the same format.
        c                 óÀ   •— ‰r)t        ‰D �cg c]  }|j                  | «      ‘Œ c}Ž \  }}ng g }}t        j                  |«      t        j                  |«      fS c c}w r   )Úzipr	   r   Úhstack)r%   ÚcÚeq_allÚineq_allÚcanonical_constraintss       €r   r	   z,CanonicalConstraint.concatenate.<locals>.fune   sZ   ø€ Ù$Ü#&Ø,AÖB q˜!Ÿ%™% �(ÒBð$DÑ �™ð $& r˜�ä—9‘9˜VÓ$¤b§i¡i°Ó&9Ð9Ð9ùò	 Cs   �Ac                 óŒ   •— ‰r)t        ‰D �cg c]  }|j                  | «      ‘Œ c}Ž \  }}ng g }} ‰|«       ‰|«      fS c c}w r   )r5   r
   )r%   r7   r8   r9   r:   Úvstacks       €€r   r
   z,CanonicalConstraint.concatenate.<locals>.jacs   sQ   ø€ Ù$Ü#&Ø,AÖB q˜!Ÿ%™% �(ÒBð$DÑ �™ð $& r˜�á˜&“>¡6¨(Ó#3Ð3Ð3ùò	 Cs   �Ac                 ó`  •‡
— g Š
d}d}‰D ]f  }||||j                   z    }||||j                  z    }‰
j                  |j                  | ||«      «       ||j                   z  }||j                  z  }Œh ˆ
fd„}| j                  d   }	t
        j                  j                  |	|	f|t        ¬«      S )Nr   c                 ót   •— t        j                  | t        ¬«      }‰D ]  }||j                  | «      z  }Œ |S )Nr.   )r   Ú
zeros_likeÚfloatÚdot)ÚpÚresultÚhÚhess_alls      €r   Úmatvecz=CanonicalConstraint.concatenate.<locals>.hess.<locals>.matvec‡   s9   ø€ ÜŸ™ q´Ô6�Ø!ò '�AØ˜aŸe™e A›hÑ&‘Fð'à�r   r.   )	r   r   Úappendr   Úshaper0   ÚlinalgÚLinearOperatorr@   )r%   r+   r,   Úindex_eqÚ
index_ineqr7   Úvc_eqÚvc_ineqrF   r   rE   r:   s             @€r   r   z-CanonicalConstraint.concatenate.<locals>.hess|   s´   ù€ ØˆHØˆHØˆJØ*ò '�Ø˜X h°·±Ñ&7Ð8�Ø  ¨J¸¿¹Ñ,AÐB�Ø—‘ §¡ q¨%°Ó 9Ô:Ø˜AŸF™FÑ"�Ø˜aŸh™hÑ&‘
ð'ôð —‘˜‘
ˆAÜ—:‘:×,Ñ,¨a°¨V°VÄ5Ð,ÓIÐIr   c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr   )r   ©Ú.0r7   s     r   ú	<genexpr>z2CanonicalConstraint.concatenate.<locals>.<genexpr>�   s   è ø€ Ò9˜a�1—6•6Ñ9ùó   ‚c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr   )r   rP   s     r   rR   z2CanonicalConstraint.concatenate.<locals>.<genexpr>‘   s   è ø€ Ò= !�Q—X•XÑ=ùrS   )r0   r<   r   Úsumr6   r   )r   r:   Úsparse_jacobianr	   r
   r   r   r   r7   r   r<   s    `        @r   ÚconcatenatezCanonicalConstraint.concatenate]   sŽ   ù€ ô	:ñ Ü—Z‘Z‰Fä—Y‘YˆFõ	4ô	Jô( Ñ9Ð#8Ô9Ó9ˆÜÑ=Ð'<Ô=Ó=ˆÜŸ	™	Ø#8ö#:°q 1§?£?ò #:ó ;ˆñ �4˜  c¨4°Ó?Ð?ùò#:s   Á-Bc                 ó  ‡‡‡
‡— t        j                  d«      Š
‰j                  }‰j                  d   }d}t        j                  dt        ¬«      }‰j
                  rt        j                  d|f«      Šnt        j                  d|f«      Šˆˆ
ˆfd„}ˆˆfd„}ˆfd„}	t        j                  d«      Š
‰j                  }‰j
                  rt        j                  d|f«      Šnt        j                  d|f«      Š | |||||	|«      S )Nr   r.   c                 ó0   •— ‰j                  | «      ‰z
  ‰fS r   ©r	   )r%   r    r&   Úvalues    €€€r   r	   z4CanonicalConstraint._equal_to_canonical.<locals>.fun¥   s   ø€ Ø—8‘8˜A“; Ñ&¨	Ð1Ð1r   c                 ó*   •— ‰j                  | «      ‰fS r   ©r
   ©r%   r    r)   s    €€r   r
   z4CanonicalConstraint._equal_to_canonical.<locals>.jac¨   s   ø€ Ø—8‘8˜A“; 	Ð)Ð)r   c                 ó(   •— ‰j                  | |«      S r   ©r   ©r%   r+   r,   r    s      €r   r   z5CanonicalConstraint._equal_to_canonical.<locals>.hess«   s   ø€ Ø—9‘9˜Q Ó%Ð%r   )r   r   r   rH   ÚboolrV   r0   r1   )r   r    r[   r   r   r   r   r	   r
   r   r&   r)   s    ``       @@r   r   z'CanonicalConstraint._equal_to_canonical—   sÑ   û€ ä—H‘H˜Q“Kˆ	Ø�F‰Fˆà�{‰{˜1‰~ˆØˆÜŸ™ ¬$Ô/ˆà×ÒÜŸ™¨¨1 vÓ.‰IäŸ™ ! Q Ó(ˆIö	2õ	*ô	&ô —H‘H˜Q“Kˆ	Ø�F‰FˆØ×ÒÜŸ™¨¨1 vÓ.‰IäŸ™ ! Q Ó(ˆIá�4˜  c¨4°Ó?Ð?r   c                 óð  ‡‡‡
‡‡— t        j                  d«      Š
‰j                  }‰j                  rt	        j
                  d|f«      Šnt        j                  d|f«      Š‰t         j                  k  Šd}t        j                  ‰«      }t        j                  ‰«      rˆˆ
ˆfd„}ˆˆfd„}ˆfd„}	n7t        j                  ‰«      d   Š|‰   }‰‰   Šˆˆ
ˆˆfd„}ˆˆˆfd„}ˆˆfd„}	 | |||||	|«      S )Nr   c                 ó0   •— ‰‰j                  | «      ‰z
  fS r   rZ   )r%   r    r&   r   s    €€€r   r	   z3CanonicalConstraint._less_to_canonical.<locals>.funÅ   s   ø€ Ø  $§(¡(¨1£+°Ñ"2Ð2Ð2r   c                 ó*   •— ‰‰j                  | «      fS r   r]   r^   s    €€r   r
   z3CanonicalConstraint._less_to_canonical.<locals>.jacÈ   s   ø€ Ø  $§(¡(¨1£+Ð-Ð-r   c                 ó(   •— ‰j                  | |«      S r   r`   ra   s      €r   r   z4CanonicalConstraint._less_to_canonical.<locals>.hessË   s   ø€ Ø—y‘y  FÓ+Ð+r   c                 ó6   •— ‰‰j                  | «      ‰   ‰z
  fS r   rZ   )r%   r    r&   Ú	finite_ubr   s    €€€€r   r	   z3CanonicalConstraint._less_to_canonical.<locals>.funÒ   s    ø€ Ø  $§(¡(¨1£+¨iÑ"8¸2Ñ"=Ð=Ð=r   c                 ó0   •— ‰‰j                  | «      ‰   fS r   r]   )r%   r    r)   rh   s    €€€r   r
   z3CanonicalConstraint._less_to_canonical.<locals>.jacÕ   s   ø€ Ø  $§(¡(¨1£+¨iÑ"8Ð8Ð8r   c                 óp   •— t        j                  ‰j                  «      }||‰<   ‰j                  | |«      S r   ©r   ÚzerosÚmr   )r%   r+   r,   Úvr    rh   s       €€r   r   z4CanonicalConstraint._less_to_canonical.<locals>.hessØ   s.   ø€ Ü—H‘H˜TŸV™VÓ$�Ø%��)‘Ø—y‘y  A“Ð&r   ©
r   r   r   rV   r0   r1   r   rU   r   Únonzero)r   r    r   r   r   r   r   r	   r
   r   r&   r)   rh   s    ``       @@@r   r   z&CanonicalConstraint._less_to_canonical·   sÏ   ü€ ä—H‘H˜Q“Kˆ	Ø�F‰FˆØ×ÒÜŸ™¨¨1 vÓ.‰IäŸ™ ! Q Ó(ˆIàœŸ™‘Kˆ	ØˆÜ—‘˜	Ó"ˆä�6‰6�)Ôö3õ.õ,ô Ÿ
™
 9Ó-¨aÑ0ˆIØ)¨)Ñ4ˆMØ�I‘ˆB÷>ö9õ'ñ
 �4˜  c¨4°Ó?Ð?r   c                 óò  ‡‡‡
‡‡— t        j                  d«      Š
‰j                  }‰j                  rt	        j
                  d|f«      Šnt        j                  d|f«      Š‰t         j                   kD  Šd}t        j                  ‰«      }t        j                  ‰«      rˆˆ
ˆfd„}ˆˆfd„}ˆfd„}	n7t        j                  ‰«      d   Š|‰   }‰‰   Šˆˆ
ˆˆfd„}ˆˆˆfd„}ˆˆfd„}	 | |||||	|«      S )Nr   c                 ó0   •— ‰‰‰j                  | «      z
  fS r   rZ   )r%   r    r&   r   s    €€€r   r	   z6CanonicalConstraint._greater_to_canonical.<locals>.funí   s   ø€ Ø  " t§x¡x°£{Ñ"2Ð2Ð2r   c                 ó,   •— ‰‰j                  | «       fS r   r]   r^   s    €€r   r
   z6CanonicalConstraint._greater_to_canonical.<locals>.jacð   s   ø€ Ø  4§8¡8¨A£; ,Ð.Ð.r   c                 ó*   •— ‰j                  | | «      S r   r`   ra   s      €r   r   z7CanonicalConstraint._greater_to_canonical.<locals>.hessó   s   ø€ Ø—y‘y  V GÓ,Ð,r   c                 ó6   •— ‰‰‰j                  | «      ‰   z
  fS r   rZ   )r%   r    r&   Ú	finite_lbr   s    €€€€r   r	   z6CanonicalConstraint._greater_to_canonical.<locals>.funú   s    ø€ Ø  " t§x¡x°£{°9Ñ'=Ñ"=Ð=Ð=r   c                 ó2   •— ‰‰j                  | «      ‰    fS r   r]   )r%   r    r)   rv   s    €€€r   r
   z6CanonicalConstraint._greater_to_canonical.<locals>.jacý   s   ø€ Ø  4§8¡8¨A£;¨yÑ#9Ð"9Ð9Ð9r   c                 ór   •— t        j                  ‰j                  «      }| |‰<   ‰j                  | |«      S r   rk   )r%   r+   r,   rn   r    rv   s       €€r   r   z7CanonicalConstraint._greater_to_canonical.<locals>.hess   s0   ø€ Ü—H‘H˜TŸV™VÓ$�Ø &˜w��)‘Ø—y‘y  A“Ð&r   ro   )r   r    r   r   r   r   r   r	   r
   r   r&   r)   rv   s    ``       @@@r   r   z)CanonicalConstraint._greater_to_canonicalß   sÑ   ü€ ä—H‘H˜Q“Kˆ	Ø�F‰FˆØ×ÒÜŸ™¨¨1 vÓ.‰IäŸ™ ! Q Ó(ˆIàœ"Ÿ&™&˜‘Lˆ	ØˆÜ—‘˜	Ó"ˆä�6‰6�)Ôö3õ/õ-ô Ÿ
™
 9Ó-¨aÑ0ˆIØ)¨)Ñ4ˆMØ�I‘ˆB÷>ö:õ'ñ
 �4˜  c¨4°Ó?Ð?r   c           	      ó�  ‡‡‡‡‡‡‡‡‡‡— ‰t         j                   k(  }‰t         j                  k(  }‰‰k(  Š|| z  Š|| z  Š‰ | z  | z  Št        j                  ‰«      d   Št        j                  ‰«      d   Št        j                  ‰«      d   Št        j                  ‰«      d   Š‰j                  d   Š‰j                  d   Š‰j                  d   Š‰‰z   d‰z  z   }‰j                  d   }t        j                  |‰   |‰   |‰   |‰   f«      }ˆˆˆˆˆˆˆfd„}	ˆˆˆˆˆfd„}
ˆˆˆˆˆˆˆˆˆf	d„} | |||	|
||«      S )Nr   é   c                 óÊ   •— ‰j                  | «      }|‰   ‰‰   z
  }|‰   ‰‰   z
  }‰‰	   |‰	   z
  }|‰
   ‰‰
   z
  }‰‰
   |‰
   z
  }|t        j                  ||||f«      fS r   )r	   r   r6   )r%   ÚfÚeqÚleÚgeÚilÚigr    ÚequalÚgreaterÚintervalr   Úlessr   s          €€€€€€€r   r	   z7CanonicalConstraint._interval_to_canonical.<locals>.fun  s‡   ø€ Ø—‘˜“ˆAØ�5‘˜B˜u™IÑ%ˆBØ�4‘˜2˜d™8Ñ#ˆBØ�G‘˜q ™zÑ)ˆBØ�8‘˜r (™|Ñ+ˆBØ�H‘  (¡Ñ+ˆBØ”r—y‘y " b¨"¨bÐ!1Ó2Ð2Ð2r   c                 óô   •— ‰j                  | «      }|‰	   }|‰   }|‰
    }|‰   }| }t        j                  |«      rt        j                  ||||f«      }||fS t	        j                  ||||f«      }||fS r   )r
   r0   Úissparser<   r   )r%   ÚJr}   r~   r   r€   r�   Úineqr    r‚   rƒ   r„   r…   s           €€€€€r   r
   z7CanonicalConstraint._interval_to_canonical.<locals>.jac(  sŒ   ø€ Ø—‘˜“ˆAØ�5‘ˆBØ�4‘ˆBØ�G‘*�ˆBØ�8‘ˆBØ�ˆBÜ�|‰|˜AŒÜ—z‘z 2 r¨2¨rÐ"2Ó3�ð �t�8ˆOô —y‘y " b¨"¨bÐ!1Ó2�Ø�t�8ˆOr   c                 óä   •	— d}|||‰z    }|‰z  }|||‰z    }|‰z  }|||‰z    }|‰z  }|||‰z    }t        j                  ‰«      }||‰
<   ||‰<   | |‰<   ||z
  |‰<   ‰	j                  | |«      S )Nr   )r   r?   r   )r%   r+   r,   Ún_startÚv_lÚv_gÚv_ilÚv_igrn   r    r‚   rƒ   r„   r   r…   Ú	n_greaterÚ
n_intervalÚn_lesss            €€€€€€€€€r   r   z8CanonicalConstraint._interval_to_canonical.<locals>.hess5  s²   ø€ ØˆGØ˜ ¨6Ñ!1Ð2ˆCØ�vÑˆGØ˜ ¨9Ñ!4Ð5ˆCØ�yÑ ˆGØ˜' '¨JÑ"6Ð7ˆDØ�zÑ!ˆGØ˜' '¨JÑ"6Ð7ˆDä—‘˜bÓ!ˆAØˆAˆe‰HØˆAˆd‰GØ˜ˆAˆg‰JØ ™+ˆAˆh‰Kà—9‘9˜Q “?Ð"r   )r   r   rp   rH   r6   )r   r    r   r   r   Úlb_infÚub_infr   r   r	   r
   r   r‚   rƒ   r„   r…   r�   r‘   r’   s    ```        @@@@@@@r   r   z*CanonicalConstraint._interval_to_canonical  sR  ÿù€ àœŸ™�w‘ˆØ”r—v‘v‘ˆØ�b‘ˆØ˜˜ÑˆØ˜F˜7Ñ"ˆØ�6˜V˜GÑ# v gÑ-ˆä—
‘
˜5Ó! !Ñ$ˆÜ�z‰z˜$Ó Ñ"ˆÜ—*‘*˜WÓ% aÑ(ˆÜ—:‘:˜hÓ'¨Ñ*ˆØ—‘˜A‘ˆØ—M‘M !Ñ$ˆ	Ø—^‘^ AÑ&ˆ
Ø˜)Ñ# a¨*¡nÑ4ˆØ�{‰{˜1‰~ˆäŸ	™	 =°Ñ#6Ø#0°Ñ#9Ø#0°Ñ#:Ø#0°Ñ#:ð#<ó =ˆ÷
	3ò 	3÷	ð 	÷	#ô 	#ñ$ �4˜  c¨4°Ó?Ð?r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr!   r   rW   r   r   r   r   r$   r   r   r   r      sª   „ ñ#òH+ð ñKó ðKð( ñFó ðFð* ñ7@ó ð7@ðr ñ@ó ð@ð> ñ%@ó ð%@ðN ñ%@ó ð%@ðN ñ?@ó ñ?@r   r   c                 ó¢  — g }g }g }g }|D �]{  }|j                   j                  }|j                   j                  }	|j                  \  }
}t	        j
                  |
|k(  «      r&|j                  ||
z
  «       |j                  |	«       Œ}t	        j
                  |
t        j                   k(  «      rB|t        j                  k  }|j                  ||   ||   z
  «       |j                  |	|   «       Œæt	        j
                  |t        j                  k(  «      rE|
t        j                   kD  }|j                  |
|   ||   z
  «       |j                  |	|    «       �ŒQ|
t        j                   k(  }|t        j                  k(  }|
|k(  }|| z  }|| z  }| | z  | z  }|j                  ||   |
|   z
  «       |j                  ||   ||   z
  «       |j                  |
|   ||   z
  «       |j                  ||   ||   z
  «       |j                  |
|   ||   z
  «       |j                  |	|   «       |j                  |	|   «       |j                  |	|    «       |j                  |	|   «       |j                  |	|    «       �Œ~ |rt	        j                  |«      nt	        j                  d«      }|rt	        j                  |«      nt	        j                  d«      }|r(t        j                  }t        j                  d| f«      }n't        j                  }t	        j                  d| f«      }|r ||«      n|}|r ||«      n|}||||fS )a  Convert initial values of the constraints to the canonical format.

    The purpose to avoid one additional call to the constraints at the initial
    point. It takes saved values in `PreparedConstraint`, modifies and
    concatenates them to the canonical constraint format.
    r   )r	   r|   rˆ   r   r   r   rG   r   r6   r   r0   r<   r1   )r   Úprepared_constraintsrV   Úc_eqÚc_ineqÚJ_eqÚJ_ineqr7   r|   rˆ   r   r   rh   rv   r“   r”   r‚   r…   rƒ   r„   r<   r   s                         r   Ú initial_constraints_as_canonicalr    J  sÏ  € ð €DØ€FØ€DØ€Fà!ó !(ˆØ�E‰E�G‰GˆØ�E‰E�G‰GˆØ—‘‰ˆˆBÜ�6‰6�"˜‘(ÔØ�K‰K˜˜B™ÔØ�K‰K˜�NÜ�V‰V�Bœ2Ÿ6™6˜'‘MÔ"ØœRŸV™V™ˆIØ�M‰M˜!˜I™,¨¨I©Ñ6Ô7Ø�M‰M˜!˜I™,Õ'Ü�V‰V�Bœ"Ÿ&™&‘LÔ!ØœbŸf™f˜W™ˆIØ�M‰M˜"˜Y™-¨!¨I©,Ñ6Ô7Ø�M‰M˜1˜Y™<˜-Ö(àœBŸF™F˜7‘]ˆFØœ2Ÿ6™6‘\ˆFØ˜"‘HˆEØ˜V˜GÑ#ˆDØ ˜wÑ&ˆGØ�v  Ñ'¨6¨'Ñ1ˆHà�K‰K˜˜%™ 2 e¡9Ñ,Ô-Ø�M‰M˜!˜D™' B t¡HÑ,Ô-Ø�M‰M˜"˜W™+¨¨'©
Ñ2Ô3Ø�M‰M˜!˜H™+¨¨8©Ñ4Ô5Ø�M‰M˜"˜X™,¨¨8©Ñ4Ô5à�K‰K˜˜%™Ô!Ø�M‰M˜!˜D™'Ô"Ø�M‰M˜1˜W™:˜+Ô&Ø�M‰M˜!˜H™+Ô&Ø�M‰M˜1˜X™;˜,Ö'ðC!(ñF #Œ2�9‰9�TŒ?¬¯©°«€DÙ"(ŒR�Y‰Y�vÔ¬b¯h©h°q«k€FáÜ—‘ˆÜ—‘  1˜vÓ&‰ä—‘ˆÜ—‘˜!˜Q˜Ó ˆá‰6�$Œ< U€DÙ%‰V�FŒ^¨5€Fà�˜˜vÐ%Ð%r   )Únumpyr   Úscipy.sparseÚsparser0   r   r    r$   r   r   ú<module>r¤      s   ðÛ Ý ÷B@ñ B@óJ
<&r   