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 2024 Joaquin M Lopez Munoz. * 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) * * See http://www.boost.org/libs/flyweight for library home page. */ #ifndef BOOST_FLYWEIGHT_CONCURRENT_FACTORY_HPP #define BOOST_FLYWEIGHT_CONCURRENT_FACTORY_HPP #if defined(_MSC_VER) #pragma once #endif #include /* keep it first to prevent nasty warns in MSVC */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* flyweight factory based on boost::concurent_node_set */ namespace boost{ namespace flyweights{ namespace concurrent_factory_detail{ template struct refcounted_entry:Entry { explicit refcounted_entry(Entry&& x):Entry{std::move(x)}{} refcounted_entry(refcounted_entry&& x): Entry{std::move(static_cast(x))}{} long count()const{return ref;} void add_ref()const{++ref;} void release()const{--ref;} private: mutable std::atomic_long ref{0}; }; template class refcounted_handle { public: refcounted_handle(const refcounted_handle& x):p{x.p}{p->add_ref();} ~refcounted_handle(){p->release();} refcounted_handle& operator=(refcounted_handle x) { boost::core::invoke_swap(p,x.p); return *this; } const RefcountedEntry& get()const{return *p;} private: template friend class concurrent_factory_class_impl; refcounted_handle(const RefcountedEntry* p_):p{p_} { /* Doesn't add ref, refcount already incremented by * concurrent_factory_class_impl before calling this ctor. */ BOOST_ASSERT(p!=nullptr); BOOST_ASSERT(p->count()>0); } const RefcountedEntry* p; }; template< typename Entry,typename Key, typename Hash,typename Pred,typename Allocator > class concurrent_factory_class_impl:public factory_marker { using entry_type=refcounted_entry; using unrebound_allocator_type=typename std::conditional< mpl::is_na::value, std::allocator, Allocator >::type; using container_type=boost::concurrent_node_set< entry_type, typename std::conditional< mpl::is_na::value, boost::hash, Hash >::type, typename std::conditional< mpl::is_na::value, std::equal_to, Pred >::type, boost::allocator_rebind_t >; public: using handle_type=refcounted_handle; concurrent_factory_class_impl():gc{[this]{ /* Garbage collector. Traverses the container every gc_time and lockedly * erases entries without any external reference. */ constexpr auto gc_time=std::chrono::seconds(1); for(;;){ { std::unique_lock lk{m}; if(cv.wait_for(lk,gc_time,[&]{return stop;}))return; } cont.erase_if([&](const entry_type& x){return !x.count();}); } }} {} ~concurrent_factory_class_impl() { /* shut the garbage collector down */ { std::unique_lock lk{m}; stop=true; } cv.notify_one(); gc.join(); } /* Instead of insert, concurrent_factory provides the undocumented extension * insert_and_visit, accessible through ADL (see global insert_and_visit * below). This ensures that visitation happens in a locked environment * even if no external locking is specified. */ template handle_type insert_and_visit(Entry&& x,F f) { const entry_type* p=nullptr; auto g=[&p,&f](const entry_type& x){ f(static_cast(x)); x.add_ref(); p=std::addressof(x); }; cont.insert_and_visit(entry_type{std::move(x)},g,g); return {p}; } void erase(handle_type) { /* unused entries taken care of by garbage collector */ } static const Entry& entry(handle_type h){return h.get();} private: container_type cont; std::mutex m; std::condition_variable cv; bool stop=false; std::thread gc; }; struct concurrent_factory_class_empty_base:factory_marker{}; template< typename Entry,typename Key, typename Hash,typename Pred,typename Allocator > struct check_concurrent_factory_class_params{}; } /* namespace concurrent_factory_detail */ template< typename Entry,typename Key, typename Hash,typename Pred,typename Allocator > class concurrent_factory_class: /* boost::mpl::apply may instantiate concurrent_factory_class<...> even when * the type is a lambda expression, so we need to guard against the * implementation defining nonsensical typedefs based on placeholder params. */ public std::conditional< boost::flyweights::detail::is_placeholder_expression< concurrent_factory_detail::check_concurrent_factory_class_params< Entry,Key,Hash,Pred,Allocator > >::value, concurrent_factory_detail::concurrent_factory_class_empty_base, concurrent_factory_detail::concurrent_factory_class_impl< Entry,Key,Hash,Pred,Allocator > >::type {}; template< typename Entry,typename Key, typename Hash,typename Pred,typename Allocator, typename F > typename concurrent_factory_class::handle_type insert_and_visit( concurrent_factory_class& fac,Entry&& x,F f) { return fac.insert_and_visit(std::move(x),f); } /* concurrent_factory_class specifier */ template< typename Hash,typename Pred,typename Allocator BOOST_FLYWEIGHT_NOT_A_PLACEHOLDER_EXPRESSION_DEF > struct concurrent_factory:factory_marker { template struct apply: mpl::apply2< concurrent_factory_class< boost::mpl::_1,boost::mpl::_2,Hash,Pred,Allocator >, Entry,Key > {}; }; } /* namespace flyweights */ } /* namespace boost */ #endif