1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// Copyright (c) 1997-2007 ETH Zurich (Switzerland). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v6.1/QP_solver/include/CGAL/QP_solver/functors.h $ // $Id: include/CGAL/QP_solver/functors.h b26b07a1242 $ // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Sven Schoenherr // Bernd Gaertner // Franz Wessendorp // Kaspar Fischer #ifndef CGAL_QP_SOLVER_FUNCTORS_H #define CGAL_QP_SOLVER_FUNCTORS_H #include #include #include #include #include namespace CGAL { // ================== // class declarations // ================== template < class VectorIt, bool check_lower = false, bool check_upper = false > class QP_vector_accessor; template < class MatrixIt, bool check_1st_lower = false, bool check_1st_upper = false, bool check_2nd_lower = false, bool check_2nd_upper = false > class QP_matrix_accessor; template < class MatrixIt, typename ET > class QP_matrix_pairwise_accessor; template < class RndAccIt > class Value_by_basic_index; template class Map_with_default; // ===================== // class implementations // ===================== // ------------------- // QP_vector_accessor // ------------------- template < class VectorIt, bool check_lower, bool check_upper > class QP_vector_accessor : public CGAL::cpp98::unary_function< int, typename std::iterator_traits::value_type > { public: typedef typename CGAL::cpp98::unary_function< int, typename std::iterator_traits::value_type >::result_type result_type; QP_vector_accessor( VectorIt it, int lower = 0, int upper = 0) : z( 0), v( it), l(lower), u(upper) {} result_type operator ( ) ( int i) const { if ( check_lower && i < l) return z; if ( check_upper && i >= u) return z; return v[ i]; } private: const result_type z; VectorIt v; int l; int u; }; // ---------------------------------------------------------------------------- // ------------------- // QP_matrix_accessor // ------------------- template < class MatrixIt, bool check_1st_lower, bool check_1st_upper, bool check_2nd_lower, bool check_2nd_upper > class QP_matrix_accessor { public: typedef int argument1_type; typedef int argument2_type; typedef typename std::iterator_traits::value_type VectorIt; typedef typename std::iterator_traits::value_type result_type; QP_matrix_accessor( MatrixIt it, int lower_1 = 0, int upper_1 = 0, int lower_2 = 0, int upper_2 = 0) : z( 0), m( it) { if ( check_1st_lower) l1 = lower_1; if ( check_1st_upper) u1 = upper_1; if ( check_2nd_lower) l2 = lower_2; if ( check_2nd_upper) u2 = upper_2; } result_type operator () ( int r, int c) const { if ( check_1st_lower && ( r < l1)) return z; if ( check_1st_upper && ( r >= u1)) return z; if ( check_2nd_lower && ( c < l2)) return z; if ( check_2nd_upper && ( c >= u2)) return z; return VectorIt(m[ r])[ c]; } private: const result_type z; MatrixIt m; int l1, u1, l2, u2; }; // ---------------------------------------------------------------------------- // ---------------------------- // QP_matrix_pairwise_accessor // ---------------------------- template < class MatrixIt, typename ResultType > class QP_matrix_pairwise_accessor { typedef typename std::iterator_traits::value_type VectorIt; public: typedef int argument_type; typedef ResultType result_type; // The following default constructor is needed to make it possible // to use QP_matrix_pairwise_accessor with CGAL's Join_input_iterator_1 // (more precisely: once Join_input_iterator_1 should not use an internal // mutable variable 'val' anymore, you can remove the following default // constructor). //QP_matrix_pairwise_accessor() {} QP_matrix_pairwise_accessor( MatrixIt it, int row) : m (it), v (*(it + row)), r (row) {} ResultType operator () ( int c) const { // make sure that only entries on or below the diagonal are // accessed if (c <= r) return ResultType(v[ c]); else return ResultType((*(m + c))[ r]); } private: MatrixIt m; VectorIt v; int r; }; // ---------------------------------------------------------------------------- // -------------------- // Value_by_basic_index // -------------------- template < class RndAccIt > class Value_by_basic_index : public CGAL::cpp98::unary_function< int, typename std::iterator_traits::value_type > { public: typedef typename CGAL::cpp98::unary_function< int, typename std::iterator_traits ::value_type >::result_type result_type; Value_by_basic_index( RndAccIt x_B_O_it, int n_original) : o( x_B_O_it), s( x_B_O_it), l( n_original), u( n_original+0), z( 0) { } Value_by_basic_index( RndAccIt x_B_O_it, int n_original, RndAccIt x_B_S_it, int n_slack = 0) : o( x_B_O_it), s( x_B_S_it), l( n_original), u( n_original+n_slack), z( 0) { } result_type operator () ( int i) const { if ( i < 0) return z; if ( i >= l && i < u) return s[ i]; return o[ i]; } private: RndAccIt o, s; int l, u; result_type z; }; // ---------------------------------------------------------------------------- // -------------------- // Access_by_index // -------------------- // A functor whose operator(int i) provides access to the i-th element // of a random access iterator. template < typename RndAccIt, typename ArgType > class QP_access_by_index { public: typedef typename std::iterator_traits::value_type result_type; QP_access_by_index(RndAccIt it = RndAccIt()) : a(it) {} result_type operator () (ArgType i) const { return a[i]; } private: RndAccIt a; }; // ------------------- // Map_with_default // ------------------- template class Map_with_default { // public types public: typedef typename Map::mapped_type mapped_type; //typedef typename Map::difference_type difference_type; typedef typename Map::size_type size_type; typedef typename Map::key_type key_type; typedef mapped_type result_type; // data members private: const Map* map; // pointer to map mapped_type d; // default value public: // construction Map_with_default () : map(0), d() {} Map_with_default (const Map* m, const mapped_type& v = mapped_type()) : map(m), d(v) {} #if defined(BOOST_MSVC) && (_MSC_VER < 1920) // 1920 is Visual Studio 2019 version 16.0.0 // Added as workaround for VC2017 with /arch:AVX to fix // https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.14-I-95/QP_solver/TestReport_afabri_x64_Cygwin-Windows10_MSVC2017-Release-64bits.gz Map_with_default& operator=(const Map_with_default& other) { map = other.map; d = other.d; return *this; } #endif // operator() const mapped_type& operator() (key_type n) const { CGAL_qpe_precondition (map != 0); typename Map::const_iterator i = map->find (n); if (i != map->end()) return i->second; else return d; } }; } //namespace CGAL #endif // CGAL_QP_SOLVER_FUNCTORS_H // ===== EOF ==================================================================