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 2017 The Abseil Authors. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef ABSL_RANDOM_INTERNAL_FAST_UNIFORM_BITS_H_ #define ABSL_RANDOM_INTERNAL_FAST_UNIFORM_BITS_H_ #include #include #include #include #include "absl/base/config.h" #include "absl/meta/type_traits.h" #include "absl/random/internal/traits.h" namespace absl { ABSL_NAMESPACE_BEGIN namespace random_internal { // Returns true if the input value is zero or a power of two. Useful for // determining if the range of output values in a URBG template constexpr bool IsPowerOfTwoOrZero(UIntType n) { return (n == 0) || ((n & (n - 1)) == 0); } // Computes the length of the range of values producible by the URBG, or returns // zero if that would encompass the entire range of representable values in // URBG::result_type. template constexpr typename URBG::result_type RangeSize() { using result_type = typename URBG::result_type; static_assert((URBG::max)() != (URBG::min)(), "URBG range cannot be 0."); return ((URBG::max)() == (std::numeric_limits::max)() && (URBG::min)() == std::numeric_limits::lowest()) ? result_type{0} : ((URBG::max)() - (URBG::min)() + result_type{1}); } // Computes the floor of the log. (i.e., std::floor(std::log2(N)); template constexpr UIntType IntegerLog2(UIntType n) { return (n <= 1) ? 0 : 1 + IntegerLog2(n >> 1); } // Returns the number of bits of randomness returned through // `PowerOfTwoVariate(urbg)`. template constexpr size_t NumBits() { return static_cast( RangeSize() == 0 ? std::numeric_limits::digits : IntegerLog2(RangeSize())); } // Given a shift value `n`, constructs a mask with exactly the low `n` bits set. // If `n == 0`, all bits are set. template constexpr UIntType MaskFromShift(size_t n) { return ((n % std::numeric_limits::digits) == 0) ? ~UIntType{0} : (UIntType{1} << n) - UIntType{1}; } // Tags used to dispatch FastUniformBits::generate to the simple or more complex // entropy extraction algorithm. struct SimplifiedLoopTag {}; struct RejectionLoopTag {}; // FastUniformBits implements a fast path to acquire uniform independent bits // from a type which conforms to the [rand.req.urbg] concept. // Parameterized by: // `UIntType`: the result (output) type // // The std::independent_bits_engine [rand.adapt.ibits] adaptor can be // instantiated from an existing generator through a copy or a move. It does // not, however, facilitate the production of pseudorandom bits from an un-owned // generator that will outlive the std::independent_bits_engine instance. template class FastUniformBits { public: using result_type = UIntType; static constexpr result_type(min)() { return 0; } static constexpr result_type(max)() { return (std::numeric_limits::max)(); } template result_type operator()(URBG& g); // NOLINT(runtime/references) private: static_assert(IsUnsigned::value, "Class-template FastUniformBits<> must be parameterized using " "an unsigned type."); // Generate() generates a random value, dispatched on whether // the underlying URBG must use rejection sampling to generate a value, // or whether a simplified loop will suffice. template result_type Generate(URBG& g, // NOLINT(runtime/references) SimplifiedLoopTag); template result_type Generate(URBG& g, // NOLINT(runtime/references) RejectionLoopTag); }; template template typename FastUniformBits::result_type FastUniformBits::operator()(URBG& g) { // NOLINT(runtime/references) // kRangeMask is the mask used when sampling variates from the URBG when the // width of the URBG range is not a power of 2. // Y = (2 ^ kRange) - 1 static_assert((URBG::max)() > (URBG::min)(), "URBG::max and URBG::min may not be equal."); using tag = absl::conditional_t()), SimplifiedLoopTag, RejectionLoopTag>; return Generate(g, tag{}); } template template typename FastUniformBits::result_type FastUniformBits::Generate(URBG& g, // NOLINT(runtime/references) SimplifiedLoopTag) { // The simplified version of FastUniformBits works only on URBGs that have // a range that is a power of 2. In this case we simply loop and shift without // attempting to balance the bits across calls. static_assert(IsPowerOfTwoOrZero(RangeSize()), "incorrect Generate tag for URBG instance"); static constexpr size_t kResultBits = std::numeric_limits::digits; static constexpr size_t kUrbgBits = NumBits(); static constexpr size_t kIters = (kResultBits / kUrbgBits) + (kResultBits % kUrbgBits != 0); static constexpr size_t kShift = (kIters == 1) ? 0 : kUrbgBits; static constexpr auto kMin = (URBG::min)(); result_type r = static_cast(g() - kMin); for (size_t n = 1; n < kIters; ++n) { r = static_cast(r << kShift) + static_cast(g() - kMin); } return r; } template template typename FastUniformBits::result_type FastUniformBits::Generate(URBG& g, // NOLINT(runtime/references) RejectionLoopTag) { static_assert(!IsPowerOfTwoOrZero(RangeSize()), "incorrect Generate tag for URBG instance"); using urbg_result_type = typename URBG::result_type; // See [rand.adapt.ibits] for more details on the constants calculated below. // // It is preferable to use roughly the same number of bits from each generator // call, however this is only possible when the number of bits provided by the // URBG is a divisor of the number of bits in `result_type`. In all other // cases, the number of bits used cannot always be the same, but it can be // guaranteed to be off by at most 1. Thus we run two loops, one with a // smaller bit-width size (`kSmallWidth`) and one with a larger width size // (satisfying `kLargeWidth == kSmallWidth + 1`). The loops are run // `kSmallIters` and `kLargeIters` times respectively such // that // // `kResultBits == kSmallIters * kSmallBits // + kLargeIters * kLargeBits` // // where `kResultBits` is the total number of bits in `result_type`. // static constexpr size_t kResultBits = std::numeric_limits::digits; // w static constexpr urbg_result_type kUrbgRange = RangeSize(); // R static constexpr size_t kUrbgBits = NumBits(); // m // compute the initial estimate of the bits used. // [rand.adapt.ibits] 2 (c) static constexpr size_t kA = // ceil(w/m) (kResultBits / kUrbgBits) + ((kResultBits % kUrbgBits) != 0); // n' static constexpr size_t kABits = kResultBits / kA; // w0' static constexpr urbg_result_type kARejection = ((kUrbgRange >> kABits) << kABits); // y0' // refine the selection to reduce the rejection frequency. static constexpr size_t kTotalIters = ((kUrbgRange - kARejection) <= (kARejection / kA)) ? kA : (kA + 1); // n // [rand.adapt.ibits] 2 (b) static constexpr size_t kSmallIters = kTotalIters - (kResultBits % kTotalIters); // n0 static constexpr size_t kSmallBits = kResultBits / kTotalIters; // w0 static constexpr urbg_result_type kSmallRejection = ((kUrbgRange >> kSmallBits) << kSmallBits); // y0 static constexpr size_t kLargeBits = kSmallBits + 1; // w0+1 static constexpr urbg_result_type kLargeRejection = ((kUrbgRange >> kLargeBits) << kLargeBits); // y1 // // Because `kLargeBits == kSmallBits + 1`, it follows that // // `kResultBits == kSmallIters * kSmallBits + kLargeIters` // // and therefore // // `kLargeIters == kTotalWidth % kSmallWidth` // // Intuitively, each iteration with the large width accounts for one unit // of the remainder when `kTotalWidth` is divided by `kSmallWidth`. As // mentioned above, if the URBG width is a divisor of `kTotalWidth`, then // there would be no need for any large iterations (i.e., one loop would // suffice), and indeed, in this case, `kLargeIters` would be zero. static_assert(kResultBits == kSmallIters * kSmallBits + (kTotalIters - kSmallIters) * kLargeBits, "Error in looping constant calculations."); // The small shift is essentially small bits, but due to the potential // of generating a smaller result_type from a larger urbg type, the actual // shift might be 0. static constexpr size_t kSmallShift = kSmallBits % kResultBits; static constexpr auto kSmallMask = MaskFromShift(kSmallShift); static constexpr size_t kLargeShift = kLargeBits % kResultBits; static constexpr auto kLargeMask = MaskFromShift(kLargeShift); static constexpr auto kMin = (URBG::min)(); result_type s = 0; for (size_t n = 0; n < kSmallIters; ++n) { urbg_result_type v; do { v = g() - kMin; } while (v >= kSmallRejection); s = (s << kSmallShift) + static_cast(v & kSmallMask); } for (size_t n = kSmallIters; n < kTotalIters; ++n) { urbg_result_type v; do { v = g() - kMin; } while (v >= kLargeRejection); s = (s << kLargeShift) + static_cast(v & kLargeMask); } return s; } } // namespace random_internal ABSL_NAMESPACE_END } // namespace absl #endif // ABSL_RANDOM_INTERNAL_FAST_UNIFORM_BITS_H_