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) 2005,2006 INRIA Sophia-Antipolis (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org) // // $URL: https://github.com/CGAL/cgal/blob/v6.1/Filtered_kernel/include/CGAL/Lazy_kernel.h $ // $Id: include/CGAL/Lazy_kernel.h b26b07a1242 $ // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Andreas Fabri, Sylvain Pion #ifndef CGAL_LAZY_KERNEL_H #define CGAL_LAZY_KERNEL_H #include //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(BOOST_MSVC) # pragma warning(push) # pragma warning(disable:4348) // redefinition of default parameter in nested template class #endif namespace CGAL { // Exact_kernel = exact kernel that will be made lazy // Kernel = lazy kernel // `Lazy_kernel_generic_base` applies the generic magic functor stupidly. // `Lazy_kernel_base` fixes up a few special cases. template < typename EK_, typename AK_, typename E2A_, typename Kernel_ > class Lazy_kernel_generic_base // : public Filtered_kernel_base { public: typedef AK_ Approximate_kernel; typedef EK_ Exact_kernel; typedef E2A_ E2A; typedef Kernel_ Kernel; typedef Lazy_kernel_generic_base Self; // synonym identical to Filtered_kernel typedef AK_ FK; // Note: Approx_converter and Exact_converter are defined in typedef Approx_converter C2F; typedef Exact_converter C2E; template < typename Kernel2 > struct Base { typedef Lazy_kernel_generic_base Type; }; template < typename T > struct Ambient_dimension { typedef typename T::Ambient_dimension type; }; template < typename T > struct Feature_dimension { typedef typename T::Feature_dimension type; }; typedef typename Exact_kernel::Kernel_tag Kernel_tag; typedef typename Exact_kernel::Rep_tag Rep_tag; enum { Has_filtered_predicates = true }; typedef Boolean_tag Has_filtered_predicates_tag; #ifdef CGAL_NO_STATIC_FILTERS_FOR_LAZY_KERNEL enum { Has_static_filters = false }; #else // @fixme, this should be 'true' but it's broken because EPIC_predicate_if_convertible // assumes the static filtered predicate and the (non-static) filtered predicate // have the same signature, which is not always the case, for example in // Do_intersect_3(Sphere_3, Bbox_3, *bool*) enum { Has_static_filters = false }; #endif // Types typedef CGAL::Lazy_exact_nt FT; typedef FT RT; typedef typename Same_uncertainty_nt::type Boolean; typedef typename Same_uncertainty_nt::type Sign; typedef typename Same_uncertainty_nt::type Comparison_result; typedef typename Same_uncertainty_nt::type Orientation; typedef typename Same_uncertainty_nt::type Oriented_side; typedef typename Same_uncertainty_nt::type Bounded_side; typedef typename Same_uncertainty_nt::type Angle; typedef CGAL::Object Object_2; typedef CGAL::Object Object_3; #define CGAL_Kernel_obj(X) \ typedef Lazy X; CGAL_Kernel_obj(Data_accessor_2) CGAL_Kernel_obj(Conic_2) typedef Cartesian_coordinate_iterator_2 Cartesian_const_iterator_2; typedef Cartesian_coordinate_iterator_3 Cartesian_const_iterator_3; // Aff_transformation_2/3 operations are not functorized, so treat it as // an exterior object for now. // CGAL_Kernel_obj(Aff_transformation_2) // CGAL_Kernel_obj(Aff_transformation_3) typedef CGAL::Aff_transformationC2 Aff_transformation_2; typedef CGAL::Aff_transformationC3 Aff_transformation_3; public: #ifdef CGAL_NO_STATIC_FILTERS_FOR_LAZY_KERNEL #define CGAL_Kernel_pred(P, Pf) \ typedef Filtered_predicate P; \ P Pf() const { return P(); } #else // - the first template parameter is because either it fits in a double, or not, so // we might as well use the approximate kernel directly rather than the complete lazy kernel // - the second is the predicate to be called if EPICK is not usable // - the third is the equivalent predicate in EPICK #define CGAL_Kernel_pred(P, Pf) \ typedef EPIC_predicate_if_convertible, \ Exact_predicates_inexact_constructions_kernel::P> P; \ P Pf() const { return P(); } #endif #define CGAL_Kernel_cons(C, Cf) \ typedef Lazy_construction C; \ C Cf() const { return C(); } #include // Useless meta-function, added to workaround a bug with Visual C++ 2022 and before // See issue https://github.com/CGAL/cgal/issues/8140 template < typename T > struct Handle { typedef T type; }; }; template < typename EK_, typename AK_, typename E2A_, typename Kernel_ > class Lazy_kernel_base : public Lazy_kernel_generic_base { public: typedef Kernel_ Kernel; typedef AK_ Approximate_kernel; typedef EK_ Exact_kernel; typedef E2A_ E2A; typedef Lazy_kernel_generic_base BaseClass; template < typename Kernel2 > struct Base { typedef Lazy_kernel_base Type; }; typedef CommonKernelFunctors::Assign_2 Assign_2; typedef CommonKernelFunctors::Assign_3 Assign_3; typedef Lazy_cartesian_const_iterator_2 Construct_cartesian_const_iterator_2; typedef Lazy_cartesian_const_iterator_3 Construct_cartesian_const_iterator_3; typedef CGAL::CartesianKernelFunctors::Compute_approximate_squared_length_3 Compute_approximate_squared_length_3; typedef CGAL::CartesianKernelFunctors::Compute_approximate_area_3 Compute_approximate_area_3; typedef CGAL::Lazy_construction_optional_for_polyhedral_envelope< Kernel, typename Approximate_kernel::Intersect_point_3_for_polyhedral_envelope, typename Exact_kernel::Intersect_point_3_for_polyhedral_envelope> Intersect_point_3_for_polyhedral_envelope; struct Compute_weight_2 : public BaseClass::Compute_weight_2 { typedef typename Kernel_::FT FT; typedef typename Kernel_::Point_2 Point_2; typedef typename Kernel_::Weighted_point_2 Weighted_point_2; FT operator()(const Weighted_point_2& p) const { typedef Lazy_rep_n LR; typedef Lazy_rep_n LRint; auto& obj = *p.ptr(); const char* tn = typeid(obj).name(); if(tn == typeid(LR).name()){ LR * lr = static_cast(p.ptr()); if(lr->is_lazy()){ // Another thread could reset lr->l before this line, so we disable reset for Construct_weighted_point_2 in MT-mode. // We could also always disable reset for Construct_weighted_point_2 and return lr->l here even if update_exact has run. return std::get<2>(lr->l); } }else{ if(tn == typeid(LRint).name()){ LRint* lrint = static_cast(p.ptr()); if(lrint->is_lazy()){ return std::get<2>(lrint->l); } } } return BaseClass().compute_weight_2_object()(p); } }; struct Compute_weight_3 : public BaseClass::Compute_weight_3 { typedef typename Kernel_::FT FT; typedef typename Kernel_::Point_3 Point_3; typedef typename Kernel_::Weighted_point_3 Weighted_point_3; FT operator()(const Weighted_point_3& p) const { typedef Lazy_rep_n LR; typedef Lazy_rep_n LRint; auto& obj = *p.ptr(); const char* tn = typeid(obj).name(); if(tn == typeid(LR).name()){ LR * lr = static_cast(p.ptr()); if(lr->is_lazy()){ return std::get<2>(lr->l); } }else{ if(tn == typeid(LRint).name()){ LRint* lrint = static_cast(p.ptr()); if(lrint->is_lazy()){ return std::get<2>(lrint->l); } } } return BaseClass().compute_weight_3_object()(p); } }; struct Construct_point_2 : public BaseClass::Construct_point_2 { typedef typename Kernel_::FT FT; typedef typename Kernel_::Point_2 Point_2; typedef typename Kernel_::Weighted_point_2 Weighted_point_2; using BaseClass::Construct_point_2::operator(); const Point_2& operator()(const Point_2& p) const { return p; } Point_2 operator()(const Weighted_point_2& p) const { typedef Lazy_rep_n LR; typedef Lazy_rep_n LRint; auto& obj = *p.ptr(); const char* tn = typeid(obj).name(); if(tn == typeid(LR).name()){ LR * lr = static_cast(p.ptr()); if(lr->is_lazy()){ return std::get<1>(lr->l); } }else{ if(tn == typeid(LRint).name()){ LRint* lrint = static_cast(p.ptr()); if(lrint->is_lazy()){ return std::get<1>(lrint->l); } } } return BaseClass().construct_point_2_object()(p); } }; struct Construct_point_3 : public BaseClass::Construct_point_3 { typedef typename Kernel_::FT FT; typedef typename Kernel_::Point_3 Point_3; typedef typename Kernel_::Weighted_point_3 Weighted_point_3; using BaseClass::Construct_point_3::operator(); const Point_3& operator()(const Point_3& p) const { return p; } Point_3 operator()(const Weighted_point_3& p) const { typedef Lazy_rep_n LR; typedef Lazy_rep_n LRint; auto& obj = *p.ptr(); const char* tn = typeid(obj).name(); if(tn == typeid(LR).name()){ LR * lr = static_cast(p.ptr()); if(lr->is_lazy()){ return std::get<1>(lr->l); } }else{ if(tn == typeid(LRint).name()){ LRint* lrint = static_cast(p.ptr()); if(lrint->is_lazy()){ return std::get<1>(lrint->l); } } } return BaseClass().construct_point_3_object()(p); } }; struct Less_xyz_3 : public BaseClass::Less_xyz_3 { typedef typename Kernel_::Point_3 Point_3; bool operator()(const Point_3& p, const Point_3& q) const { if (p.rep().identical(q.rep())) { return false; } return BaseClass::Less_xyz_3::operator()(p,q); } }; Construct_point_2 construct_point_2_object() const { return Construct_point_2(); } Construct_point_3 construct_point_3_object() const { return Construct_point_3(); } Compute_weight_2 compute_weight_2_object() const { return Compute_weight_2(); } Compute_weight_3 compute_weight_3_object() const { return Compute_weight_3(); } Assign_2 assign_2_object() const { return Assign_2(); } Assign_3 assign_3_object() const { return Assign_3(); } Construct_cartesian_const_iterator_2 construct_cartesian_const_iterator_2_object() const { return Construct_cartesian_const_iterator_2(); } Construct_cartesian_const_iterator_3 construct_cartesian_const_iterator_3_object() const { return Construct_cartesian_const_iterator_3(); } Compute_approximate_squared_length_3 compute_approximate_squared_length_3_object() const { return Compute_approximate_squared_length_3(); } Compute_approximate_area_3 compute_approximate_area_3_object() const { return Compute_approximate_area_3(); } Intersect_point_3_for_polyhedral_envelope intersect_point_3_for_polyhedral_envelope_object() const { return Intersect_point_3_for_polyhedral_envelope(); } Less_xyz_3 less_xyz_3_object() const { return Less_xyz_3(); } }; // end class Lazy_kernel_base template struct Lazy_kernel_without_type_equality : public Lazy_kernel_base< Exact_kernel, Approximate_kernel, E2A, Lazy_kernel_without_type_equality > {}; template , class E2A = Cartesian_converter > struct Lazy_kernel : public Type_equality_wrapper< Lazy_kernel_base< Exact_kernel, Approximate_kernel, E2A, Lazy_kernel >, Lazy_kernel > { // WARNING: If you change the definition of Lazy_kernel, then you need to // change also the definition of Epeck in // . }; } //namespace CGAL #if defined(BOOST_MSVC) # pragma warning(pop) #endif #endif // CGAL_LAZY_KERNEL_H