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 2005-2007 Adobe Systems Incorporated // // Distributed under the Boost Software License, Version 1.0 // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt // #ifndef BOOST_GIL_UTILITIES_HPP #define BOOST_GIL_UTILITIES_HPP #include #include #if defined(BOOST_CLANG) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wconversion" #endif #if defined(BOOST_GCC) && (BOOST_GCC >= 40900) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wconversion" #endif #include #include #if defined(BOOST_CLANG) #pragma clang diagnostic pop #endif #if defined(BOOST_GCC) && (BOOST_GCC >= 40900) #pragma GCC diagnostic pop #endif #include #include #include #include #include #include #include namespace boost { namespace gil { /// Various utilities not specific to the image library. /// Some are non-standard STL extensions or generic iterator adaptors //////////////////////////////////////////////////////////////////////////////// /// Rounding of real numbers / points to integers / integer points //////////////////////////////////////////////////////////////////////////////// inline std::ptrdiff_t iround(float x) { return static_cast(x + (x < 0.0f ? -0.5f : 0.5f)); } inline std::ptrdiff_t iround(double x) { return static_cast(x + (x < 0.0 ? -0.5 : 0.5)); } inline std::ptrdiff_t ifloor(float x) { return static_cast(std::floor(x)); } inline std::ptrdiff_t ifloor(double x) { return static_cast(std::floor(x)); } inline std::ptrdiff_t iceil(float x) { return static_cast(std::ceil(x)); } inline std::ptrdiff_t iceil(double x) { return static_cast(std::ceil(x)); } //////////////////////////////////////////////////////////////////////////////// /// computing size with alignment //////////////////////////////////////////////////////////////////////////////// template inline T align(T val, std::size_t alignment) { return val+(alignment - val%alignment)%alignment; } /// \brief Helper base class for pixel dereference adaptors. /// \ingroup PixelDereferenceAdaptorModel /// template < typename ConstT, typename Value, typename Reference, typename ConstReference, typename ArgType, typename ResultType, bool IsMutable > struct deref_base { using argument_type = ArgType; using result_type = ResultType; using const_t = ConstT; using value_type = Value; using reference = Reference; using const_reference = ConstReference; static constexpr bool is_mutable = IsMutable; }; /// \brief Composes two dereference function objects. Similar to std::unary_compose but needs to pull some aliases from the component types. Models: PixelDereferenceAdaptorConcept /// \ingroup PixelDereferenceAdaptorModel /// template class deref_compose : public deref_base < deref_compose, typename D1::value_type, typename D1::reference, typename D1::const_reference, typename D2::argument_type, typename D1::result_type, D1::is_mutable && D2::is_mutable > { public: D1 _fn1; D2 _fn2; using argument_type = typename D2::argument_type; using result_type = typename D1::result_type; deref_compose() = default; deref_compose(const D1& x, const D2& y) : _fn1(x), _fn2(y) {} deref_compose(const deref_compose& dc) : _fn1(dc._fn1), _fn2(dc._fn2) {} template deref_compose(const deref_compose<_D1,_D2>& dc) : _fn1(dc._fn1), _fn2(dc._fn2) {} result_type operator()(argument_type x) const { return _fn1(_fn2(x)); } result_type operator()(argument_type x) { return _fn1(_fn2(x)); } }; // reinterpret_cast is implementation-defined. Static cast is not. template BOOST_FORCEINLINE auto gil_reinterpret_cast(In* p) -> OutPtr { return static_cast(static_cast(p)); } template BOOST_FORCEINLINE auto gil_reinterpret_cast_c(In const* p) -> OutPtr const { return static_cast(static_cast(p)); } namespace detail { //////////////////////////////////////////////////////////////////////////////// /// \brief copy_n taken from SGI STL. //////////////////////////////////////////////////////////////////////////////// template auto _copy_n(InputIter first, Size count, OutputIter result, std::input_iterator_tag) -> std::pair { for ( ; count > 0; --count) { *result = *first; ++first; ++result; } return std::pair(first, result); } template inline auto _copy_n(RAIter first, Size count, OutputIter result, std::random_access_iterator_tag) -> std::pair { RAIter last = first + count; return std::pair(last, std::copy(first, last, result)); } template inline auto _copy_n(InputIter first, Size count, OutputIter result) -> std::pair { return _copy_n(first, count, result, typename std::iterator_traits::iterator_category()); } template inline auto copy_n(InputIter first, Size count, OutputIter result) -> std::pair { return detail::_copy_n(first, count, result); } /// \brief identity taken from SGI STL. template struct identity { using argument_type = T; using result_type = T; const T& operator()(const T& val) const { return val; } }; /// \brief plus function object whose arguments may be of different type. template struct plus_asymmetric { using first_argument_type = T1; using second_argument_type = T2; using result_type = T1; T1 operator()(T1 f1, T2 f2) const { return f1+f2; } }; /// \brief operator++ wrapped in a function object template struct inc { using argument_type = T; using result_type = T; T operator()(T x) const { return ++x; } }; /// \brief operator-- wrapped in a function object template struct dec { using argument_type = T; using result_type = T; T operator()(T x) const { return --x; } }; /// \brief Returns the index corresponding to the first occurrence of a given given type in // a given Boost.MP11-compatible list (or size if the type is not present) template struct type_to_index : mp11::mp_find { static_assert(mp11::mp_contains::value, "T should be element of Types"); }; } // namespace detail /// \ingroup ColorSpaceAndLayoutModel /// \brief Represents a color space and ordering of channels in memory template < typename ColorSpace, typename ChannelMapping = mp11::mp_iota < std::integral_constant::value> > > struct layout { using color_space_t = ColorSpace; using channel_mapping_t = ChannelMapping; static_assert(mp11::mp_size::value > 0, "color space should not be empty sequence"); }; /// \brief A version of swap that also works with reference proxy objects /// Where value_type == value_type == Value template void swap_proxy(T1& left, T2& right) { Value tmp = left; left = right; right = tmp; } /// \brief Run-time detection of whether the underlying architecture is little endian BOOST_FORCEINLINE bool little_endian() { short tester = 0x0001; return *(char*)&tester!=0; } /// \brief Run-time detection of whether the underlying architecture is big endian BOOST_FORCEINLINE bool big_endian() { return !little_endian(); } }} // namespace boost::gil #endif