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
/** * SPDX-FileCopyrightText: (C) 2006 Dominik Seichter * SPDX-FileCopyrightText: (C) 2020 Francesco Pretto * SPDX-License-Identifier: LGPL-2.0-or-later */ #ifndef PDF_MEM_DOCUMENT_H #define PDF_MEM_DOCUMENT_H #include "PdfDocument.h" #include "PdfExtension.h" #include #include namespace PoDoFo { class PdfParser; class PdfWriter; /** PdfMemDocument is the core class for reading and manipulating * PDF files and writing them back to disk. * * PdfMemDocument was designed to allow easy access to the object * structur of a PDF file. * * PdfMemDocument should be used whenever you want to change * the object structure of a PDF file. * * When you are only creating PDF files, please use PdfStreamedDocument * which is usually faster for creating PDFs. * * \see PdfDocument * \see PdfStreamedDocument * \see PdfParser * \see PdfWriter */ class PODOFO_API PdfMemDocument final : public PdfDocument { friend class PdfWriter; public: /** Construct a new PdfMemDocument */ PdfMemDocument(); PdfMemDocument(const std::shared_ptr& device, const std::string_view& password = { }); /** Construct a copy of the given document */ PdfMemDocument(const PdfMemDocument& rhs); /** Load a PdfMemDocument from a file * * \param filename filename of the file which is going to be parsed/opened * * When the bForUpdate is set to true, the filename is copied * for later use by WriteUpdate. * * \see WriteUpdate, LoadFromBuffer, LoadFromDevice */ void Load(const std::string_view& filename, const std::string_view& password = { }); /** Load a PdfMemDocument from a buffer in memory * * \param buffer a memory area containing the PDF data * * \see WriteUpdate, Load, LoadFromDevice */ void LoadFromBuffer(const bufferview& buffer, const std::string_view& password = { }); /** Load a PdfMemDocument from a PdfRefCountedInputDevice * * \param device the input device containing the PDF * * \see WriteUpdate, Load, LoadFromBuffer */ void LoadFromDevice(const std::shared_ptr& device, const std::string_view& password = { }); /** Save the complete document to a file * * \param filename filename of the document * * \see Save, SaveUpdate * * This is an overloaded member function for your convenience. */ void Save(const std::string_view& filename, PdfSaveOptions opts = PdfSaveOptions::None); /** Save the complete document to an output device * * \param device write to this output device * * \see SaveUpdate */ void Save(OutputStreamDevice& device, PdfSaveOptions opts = PdfSaveOptions::None); /** Save the document changes to a file * * \param filename filename of the document * * Writes the document changes to a file as an incremental update. * The document should be loaded with bForUpdate = true, otherwise * an exception is thrown. * * Beware when overwriting existing files. Plain file overwrite is allowed * only if the document was loaded with the same filename (and the same overloaded * function), otherwise the destination file cannot be the same as the source file, * because the destination file is truncated first and only then the source file * content is copied into it. * * \see Save, SaveUpdate * * This is an overloaded member function for your convenience. */ void SaveUpdate(const std::string_view& filename, PdfSaveOptions opts = PdfSaveOptions::None); /** Save the document changes to an output device * * \param device write to this output device * * Writes the document changes to the output device as an incremental update. * The document should be loaded with bForUpdate = true, otherwise * an exception is thrown. * * \see Save, SaveUpdate */ void SaveUpdate(OutputStreamDevice& device, PdfSaveOptions opts = PdfSaveOptions::None); /** Add a vendor-specific extension to the current PDF version. * \param ns namespace of the extension * \param level level of the extension */ void AddPdfExtension(const PdfName& ns, int64_t level); /** Checks whether the documents is tagged to imlpement a vendor-specific * extension to the current PDF version. * \param ns namespace of the extension * \param level level of the extension */ bool HasPdfExtension(const PdfName& ns, int64_t level) const; /** Remove a vendor-specific extension to the current PDF version. * \param ns namespace of the extension * \param level level of the extension */ void RemovePdfExtension(const PdfName& ns, int64_t level); /** Return the list of all vendor-specific extensions to the current PDF version. * \param ns namespace of the extension * \param level level of the extension */ std::vector GetPdfExtensions() const; /** Encrypt the document during writing. * * \param userPassword the user password (if empty the user does not have * to enter a password to open the document) * \param ownerPassword the owner password * \param protection several PdfPermissions values or'ed together to set * the users permissions for this document * \param algorithm the revision of the encryption algorithm to be used * \param keyLength the length of the encryption key ranging from 40 to 256 bits * (only used if algorithm >= PdfEncryptAlgorithm::RC4V2) * * \see PdfEncrypt */ void SetEncrypted(const std::string_view& userPassword, const std::string_view& ownerPassword, PdfPermissions protection = PdfPermissions::Default, PdfEncryptAlgorithm algorithm = PdfEncryptAlgorithm::AESV2, PdfKeyLength keyLength = PdfKeyLength::L40); /** Encrypt the document during writing using a PdfEncrypt object * * \param encrypt an encryption object that will be owned by PdfMemDocument */ void SetEncrypt(std::unique_ptr&& encrypt); /** Tries to free all memory allocated by the given * PdfObject (variables and streams) and reads * it from disk again if it is requested another time. * * This will only work if load on demand is used. Other- * wise any call to this method will be ignored. Load on * demand is currently always enabled when using PdfMemDocument. * If the object is dirty if will not be free'd. * * \param ref free all memory allocated by the object * with this reference. * \param force if true the object will be free'd * even if IsDirty() returns true. * So you will loose any changes made * to this object. * * This is an overloaded member for your convenience. */ void FreeObjectMemory(const PdfReference& ref, bool force = false); /** Tries to free all memory allocated by the given * PdfObject (variables and streams) and reads * it from disk again if it is requested another time. * * This will only work if load on demand is used. Other- * wise any call to this method will be ignored. Load on * demand is currently always enabled when using PdfMemDocument. * If the object is dirty if will not be free'd. * * \param obj free object from memory * \param force if true the object will be free'd * even if IsDirty() returns true. * So you will loose any changes made * to this object. * * \see IsDirty */ void FreeObjectMemory(PdfObject* obj, bool force = false); const PdfEncrypt* GetEncrypt() const override; protected: /** Set the PDF Version of the document. Has to be called before Write() to * have an effect. * \param version version of the pdf document */ void SetPdfVersion(PdfVersion version) override; PdfVersion GetPdfVersion() const override; private: PdfMemDocument(bool empty); private: void loadFromDevice(const std::shared_ptr& device, const std::string_view& password); /** Internal method to load all objects from a PdfParser object. * The objects will be removed from the parser and are now * owned by the PdfMemDocument. */ void initFromParser(PdfParser& parser); /** Clear all internal variables */ void Clear(); void clear(); void beforeWrite(PdfSaveOptions options); private: PdfMemDocument& operator=(const PdfMemDocument&) = delete; private: PdfVersion m_Version; PdfVersion m_InitialVersion; bool m_HasXRefStream; int64_t m_PrevXRefOffset; std::shared_ptr m_Encrypt; std::shared_ptr m_device; }; }; #endif // PDF_MEM_DOCUMENT_H