pax_global_header00006660000000000000000000000064151667647500014533gustar00rootroot0000000000000052 comment=2f6b61c88570ca2574adc71f3f33c008de58b110 Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/000077500000000000000000000000001516676475000214235ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/.gitignore000066400000000000000000000002721516676475000234140ustar00rootroot00000000000000/subprojects/blueprint-compiler # Added by cargo /target .vscode/ target/ build/ _build/ builddir/ build-dir/ src/config.rs *.ui.in~ *.ui~ .flatpak/ # vendor .flatpak-builder # .cargoImpression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/CODE_OF_CONDUCT.md000066400000000000000000000254601516676475000242310ustar00rootroot00000000000000# GNOME Code of Conduct Thank you for being a part of the GNOME project. We value your participation and want everyone to have an enjoyable and fulfilling experience. Accordingly, all participants are expected to follow this Code of Conduct, and to show respect, understanding, and consideration to one another. Thank you for helping make this a welcoming, friendly community for everyone. ## Scope This Code of Conduct applies to all online GNOME community spaces, including, but not limited to: * Issue tracking systems - bugzilla.gnome.org * Documentation and tutorials - developer.gnome.org * Code repositories - git.gnome.org and gitlab.gnome.org * Mailing lists - mail.gnome.org * Wikis - wiki.gnome.org * Chat and forums - irc.gnome.org, discourse.gnome.org, GNOME Telegram channels, and GNOME groups and channels on Matrix.org (including bridges to GNOME IRC channels) * Community spaces hosted on gnome.org infrastructure * Any other channels or groups which exist in order to discuss GNOME project activities Communication channels and private conversations that are normally out of scope may be considered in scope if a GNOME participant is being stalked or harassed. Social media conversations may be considered in-scope if the incident occurred under a GNOME event hashtag, or when an official GNOME account on social media is tagged, or within any other discussion about GNOME. The GNOME Foundation reserves the right to take actions against behaviors that happen in any context, if they are deemed to be relevant to the GNOME project and its participants. All participants in GNOME online community spaces are subject to the Code of Conduct. This includes GNOME Foundation board members, corporate sponsors, and paid employees. This also includes volunteers, maintainers, leaders, contributors, contribution reviewers, issue reporters, GNOME users, and anyone participating in discussion in GNOME online spaces. ## Reporting an Incident If you believe that someone is violating the Code of Conduct, or have any other concerns, please [contact the Code of Conduct committee](https://wiki.gnome.org/Foundation/CodeOfConduct/ReporterGuide). ## Our Standards The GNOME online community is dedicated to providing a positive experience for everyone, regardless of: * age * body size * caste * citizenship * disability * education * ethnicity * familial status * gender expression * gender identity * genetic information * immigration status * level of experience * nationality * personal appearance * pregnancy * race * religion * sex characteristics * sexual orientation * sexual identity * socio-economic status * tribe * veteran status ### Community Guidelines Examples of behavior that contributes to creating a positive environment include: * **Be friendly.** Use welcoming and inclusive language. * **Be empathetic.** Be respectful of differing viewpoints and experiences. * **Be respectful.** When we disagree, we do so in a polite and constructive manner. * **Be considerate.** Remember that decisions are often a difficult choice between competing priorities. Focus on what is best for the community. Keep discussions around technology choices constructive and respectful. * **Be patient and generous.** If someone asks for help it is because they need it. When documentation is available that answers the question, politely point them to it. If the question is off-topic, suggest a more appropriate online space to seek help. * **Try to be concise.** Read the discussion before commenting in order to not repeat a point that has been made. ### Inappropriate Behavior Community members asked to stop any inappropriate behavior are expected to comply immediately. We want all participants in the GNOME community have the best possible experience they can. In order to be clear what that means, we've provided a list of examples of behaviors that are inappropriate for GNOME community spaces: * **Deliberate intimidation, stalking, or following.** * **Sustained disruption of online discussion, talks, or other events.** Sustained disruption of events, online discussions, or meetings, including talks and presentations, will not be tolerated. This includes 'Talking over' or 'heckling' event speakers or influencing crowd actions that cause hostility in event sessions. Sustained disruption also includes drinking alcohol to excess or using recreational drugs to excess, or pushing others to do so. * **Harassment of people who don't drink alcohol.** We do not tolerate derogatory comments about those who abstain from alcohol or other substances. We do not tolerate pushing people to drink, talking about their abstinence or preferences to others, or pressuring them to drink - physically or through jeering. * **Sexist, racist, homophobic, transphobic, ableist language or otherwise exclusionary language.** This includes deliberately referring to someone by a gender that they do not identify with, and/or questioning the legitimacy of an individual's gender identity. If you're unsure if a word is derogatory, don't use it. This also includes repeated subtle and/or indirect discrimination. * **Unwelcome sexual attention or behavior that contributes to a sexualized environment.** This includes sexualized comments, jokes or imagery in interactions, communications or presentation materials, as well as inappropriate touching, groping, or sexual advances. Sponsors should not use sexualized images, activities, or other material. Meetup organizing staff and other volunteer organizers should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment. * **Unwelcome physical contact.** This includes touching a person without permission, including sensitive areas such as their hair, pregnant stomach, mobility device (wheelchair, scooter, etc) or tattoos. This also includes physically blocking or intimidating another person. Physical contact or simulated physical contact (such as emojis like "kiss") without affirmative consent is not acceptable. This includes sharing or distribution of sexualized images or text. * **Violence or threats of violence.** Violence and threats of violence are not acceptable - online or offline. This includes incitement of violence toward any individual, including encouraging a person to commit self-harm. This also includes posting or threatening to post other people's personally identifying information ("doxxing") online. * **Influencing or encouraging inappropriate behavior.** If you influence or encourage another person to violate the Code of Conduct, you may face the same consequences as if you had violated the Code of Conduct. * **Possession of an offensive weapon at a GNOME event.** This includes anything deemed to be a weapon by the event organizers. The GNOME community prioritizes marginalized people's safety over privileged people's comfort. The committee will not act on complaints regarding: * "Reverse"-isms, including "reverse racism," "reverse sexism," and "cisphobia" * Reasonable communication of boundaries, such as "leave me alone," "go away," or "I'm not discussing this with you." * Criticizing racist, sexist, cissexist, or otherwise oppressive behavior or assumptions * Communicating boundaries or criticizing oppressive behavior in a "tone" you don't find congenial The examples listed above are not against the Code of Conduct. If you have questions about the above statements, please [read this document](https://github.com/sagesharp/code-of-conduct-template/blob/master/code-of-conduct/example-reversisms.md#supporting-diversity). If a participant engages in behavior that violates this code of conduct, the GNOME Code of Conduct committee may take any action they deem appropriate. Examples of consequences are outlined in the [Committee Procedures Guide](https://wiki.gnome.org/Foundation/CodeOfConduct/CommitteeProcedures). ## Procedure for Handling Incidents * [Reporter Guide](https://wiki.gnome.org/Foundation/CodeOfConduct/ReporterGuide) * [Moderator Procedures](https://wiki.gnome.org/Foundation/CodeOfConduct/ModeratorProcedures) * [Committee Procedures Guide](https://wiki.gnome.org/Foundation/CodeOfConduct/CommitteeProcedures) ## License The GNOME Online Code of Conduct is licensed under a [Creative Commons Attribution Share-Alike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/) ![Creative Commons License](http://i.creativecommons.org/l/by-sa/3.0/88x31.png) ## Attribution The GNOME Online Code of Conduct was forked from the example policy from the [Geek Feminism wiki, created by the Ada Initiative and other volunteers](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy), which is under a Creative Commons Zero license. Additional language was incorporated and modified from the following Codes of Conduct: * [Citizen Code of Conduct](http://citizencodeofconduct.org/) is licensed [Creative Commons Attribution Share-Alike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/). * [Code of Conduct template](https://github.com/sagesharp/code-of-conduct-template/) is licensed [Creative Commons Attribution Share-Alike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/) by [Otter Tech](https://otter.technology/code-of-conduct-training) * [Contributor Covenant version 1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct) (licensed [CC BY 4.0](https://github.com/ContributorCovenant/contributor_covenant/blob/master/LICENSE.md)) * [Data Carpentry Code of Conduct](https://docs.carpentries.org/topic_folders/policies/index_coc.html) is licensed [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/) * [Django Project Code of Conduct](https://www.djangoproject.com/conduct/) is licensed under a [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/) * [Fedora Code of Conduct](http://fedoraproject.org/code-of-conduct) * [Geek Feminism Anti-harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy) which is under a [Creative Commons Zero license](https://creativecommons.org/publicdomain/zero/1.0/) * [Previous GNOME Foundation Code of Conduct](https://wiki.gnome.org/action/recall/Foundation/CodeOfConduct/Old) * [LGBTQ in Technology Slack Code of Conduct](https://lgbtq.technology/coc.html) licensed [Creative Commons Zero](https://creativecommons.org/publicdomain/zero/1.0/) * [Mozilla Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) is licensed [Creative Commons Attribution-ShareAlike 3.0 Unported License](https://creativecommons.org/licenses/by-sa/3.0/). * [Python Mentors Code of Conduct](http://pythonmentors.com/) * [Speak Up! Community Code of Conduct](http://web.archive.org/web/20141109123859/http://speakup.io/coc.html), licensed under a [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/) Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/COPYING000066400000000000000000001045141516676475000224630ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/Cargo.lock000066400000000000000000002203041516676475000233310ustar00rootroot00000000000000# This file is automatically @generated by Cargo. # It is not intended for manual editing. version = 4 [[package]] name = "aho-corasick" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] name = "android_system_properties" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] [[package]] name = "anyhow" version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "ashpd" version = "0.13.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13bdf0fd848239dcd5e64eeeee35dbc00378ebcc6f3aa4ead0a305eec83d0cfb" dependencies = [ "enumflags2", "futures-util", "getrandom 0.4.2", "serde", "tokio", "zbus", ] [[package]] name = "async-broadcast" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ "event-listener", "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-channel" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" dependencies = [ "async-task", "concurrent-queue", "fastrand", "futures-lite", "pin-project-lite", "slab", ] [[package]] name = "async-io" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" dependencies = [ "autocfg", "cfg-if", "concurrent-queue", "futures-io", "futures-lite", "parking", "polling", "rustix", "slab", "windows-sys 0.61.2", ] [[package]] name = "async-lock" version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" dependencies = [ "event-listener", "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-process" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" dependencies = [ "async-channel", "async-io", "async-lock", "async-signal", "async-task", "blocking", "cfg-if", "event-listener", "futures-lite", "rustix", ] [[package]] name = "async-recursion" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "async-signal" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" dependencies = [ "async-io", "async-lock", "atomic-waker", "cfg-if", "futures-core", "futures-io", "rustix", "signal-hook-registry", "slab", "windows-sys 0.61.2", ] [[package]] name = "async-task" version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bitflags" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "block" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "blocking" version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ "async-channel", "async-task", "futures-io", "futures-lite", "piper", ] [[package]] name = "bumpalo" version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytes" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cairo-rs" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5cc8d9aa793480744cd9a0524fef1a2e197d9eaa0f739cde19d16aba530dcb95" dependencies = [ "bitflags", "cairo-sys-rs", "glib", "libc", ] [[package]] name = "cairo-sys-rs" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8b4985713047f5faee02b8db6a6ef32bbb50269ff53c1aee716d1d195b76d54" dependencies = [ "glib-sys", "libc", "system-deps", ] [[package]] name = "cc" version = "1.2.60" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" dependencies = [ "find-msvc-tools", "shlex", ] [[package]] name = "cfg-expr" version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c6b04e07d8080154ed4ac03546d9a2b303cc2fe1901ba0b35b301516e289368" dependencies = [ "smallvec", "target-lexicon", ] [[package]] name = "cfg-if" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "chrono" version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", "num-traits", "wasm-bindgen", "windows-link", ] [[package]] name = "concurrent-queue" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] [[package]] name = "core-foundation" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "core-foundation" version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "core-foundation-sys" version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "crossbeam-deque" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "derivative" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", "quote", "syn 1.0.109", ] [[package]] name = "displaydoc" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "either" version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "endi" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" [[package]] name = "enumflags2" version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" dependencies = [ "enumflags2_derive", "serde", ] [[package]] name = "enumflags2_derive" version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", "windows-sys 0.61.2", ] [[package]] name = "event-listener" version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] [[package]] name = "event-listener-strategy" version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener", "pin-project-lite", ] [[package]] name = "fastrand" version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" [[package]] name = "field-offset" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ "memoffset", "rustc_version", ] [[package]] name = "find-msvc-tools" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "foreign-types" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ "foreign-types-shared", ] [[package]] name = "foreign-types-shared" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] [[package]] name = "futures" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", "futures-executor", "futures-io", "futures-sink", "futures-task", "futures-util", ] [[package]] name = "futures-channel" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", ] [[package]] name = "futures-core" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", "futures-util", ] [[package]] name = "futures-io" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-lite" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "fastrand", "futures-core", "futures-io", "parking", "pin-project-lite", ] [[package]] name = "futures-macro" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "futures-sink" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-macro", "futures-sink", "futures-task", "memchr", "pin-project-lite", "slab", ] [[package]] name = "gdk-pixbuf" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25f420376dbee041b2db374ce4573892a36222bb3f6c0c43e24f0d67eae9b646" dependencies = [ "gdk-pixbuf-sys", "gio", "glib", "libc", ] [[package]] name = "gdk-pixbuf-sys" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48f31b37b1fc4b48b54f6b91b7ef04c18e00b4585d98359dd7b998774bbd91fb" dependencies = [ "gio-sys", "glib-sys", "gobject-sys", "libc", "system-deps", ] [[package]] name = "gdk4" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd42fdbbf48612c6e8f47c65fb92d2e8f39c25aecd6af047e83897c1a22d2a4e" dependencies = [ "cairo-rs", "gdk-pixbuf", "gdk4-sys", "gio", "glib", "libc", "pango", ] [[package]] name = "gdk4-sys" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d974ac4f15e67472c3a9728daf612590b4a5762a4b33f0edd298df0b80d043c" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gio-sys", "glib-sys", "gobject-sys", "libc", "pango-sys", "pkg-config", "system-deps", ] [[package]] name = "getrandom" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "libc", "wasi", ] [[package]] name = "getrandom" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" dependencies = [ "cfg-if", "libc", "r-efi", "wasip2", "wasip3", ] [[package]] name = "gettext-rs" version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d5857dc1b7f0fee86961de833f434e29494d72af102ce5355738c0664222bdf" dependencies = [ "gettext-sys", "locale_config", ] [[package]] name = "gettext-sys" version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea859ab0dd7e70ff823032b3e077d03d39c965d68c6c10775add60e999d8ee9" dependencies = [ "cc", "temp-dir", ] [[package]] name = "gio" version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "401b600a9795c46ff45890146968b712c96ce4e9393798804133e137bd81d89c" dependencies = [ "futures-channel", "futures-core", "futures-io", "futures-util", "gio-sys", "glib", "libc", "pin-project-lite", "smallvec", ] [[package]] name = "gio-sys" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64729ba2772c080448f9f966dba8f4456beeb100d8c28a865ef8a0f2ef4987e1" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", "windows-sys 0.61.2", ] [[package]] name = "glib" version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1b7df55594e0e787d1560e23f7e12d7360d0b22e7b7c228ec2488b9e59b1b6b" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-executor", "futures-task", "futures-util", "gio-sys", "glib-macros", "glib-sys", "gobject-sys", "libc", "memchr", "smallvec", ] [[package]] name = "glib-macros" version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bda575994e3689b1bc12f89c3df621ead46ff292623b76b4710a3a5b79be54bb" dependencies = [ "heck", "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "glib-sys" version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1eb23a616a3dbc7fc15bbd26f58756ff0b04c8a894df3f0680cd21011db6a642" dependencies = [ "libc", "system-deps", ] [[package]] name = "gobject-sys" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18eda93f09d3778f38255b231b17ef67195013a592c91624a4daf8bead875565" dependencies = [ "glib-sys", "libc", "system-deps", ] [[package]] name = "graphene-rs" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7d1b7881f96869f49808b6adfe906a93a57a34204952253444d68c3208d71f1" dependencies = [ "glib", "graphene-sys", "libc", ] [[package]] name = "graphene-sys" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "517f062f3fd6b7fd3e57a3f038a74b3c23ca32f51199ff028aa704609943f79c" dependencies = [ "glib-sys", "libc", "pkg-config", "system-deps", ] [[package]] name = "gsk4" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53c912dfcbd28acace5fc99c40bb9f25e1dcb73efb1f2608327f66a99acdcb62" dependencies = [ "cairo-rs", "gdk4", "glib", "graphene-rs", "gsk4-sys", "libc", "pango", ] [[package]] name = "gsk4-sys" version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7d54bbc7a9d8b6ffe4f0c95eede15ccfb365c8bf521275abe6bcfb57b18fb8a" dependencies = [ "cairo-sys-rs", "gdk4-sys", "glib-sys", "gobject-sys", "graphene-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "gtk4" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25d47a7ca9ec6f50b5ace32eaaf11fe152c9bbc4f780a35e42c9b7fc5b046f9c" dependencies = [ "cairo-rs", "field-offset", "futures-channel", "gdk-pixbuf", "gdk4", "gio", "glib", "graphene-rs", "gsk4", "gtk4-macros", "gtk4-sys", "libc", "pango", ] [[package]] name = "gtk4-macros" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3581b242ba62fdff122ebb626ea641582ec326031622bd19d60f85029c804a87" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "gtk4-sys" version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a25bd07084651c77bb6e7bce7d4cea8d9f98d210acee473e400a9106bc0ce50" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gdk4-sys", "gio-sys", "glib-sys", "gobject-sys", "graphene-sys", "gsk4-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "h2" version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", "http", "indexmap", "slab", "tokio", "tokio-util", "tracing", ] [[package]] name = "hashbrown" version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "foldhash", ] [[package]] name = "hashbrown" version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" [[package]] name = "heck" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "http" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", "itoa", ] [[package]] name = "http-body" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", ] [[package]] name = "http-body-util" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", "http", "http-body", "pin-project-lite", ] [[package]] name = "httparse" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "hyper" version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" dependencies = [ "atomic-waker", "bytes", "futures-channel", "futures-core", "h2", "http", "http-body", "httparse", "itoa", "pin-project-lite", "smallvec", "tokio", "want", ] [[package]] name = "hyper-rustls" version = "0.27.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2b52f86d1d4bc0d6b4e6826d960b1b333217e07d36b882dca570a5e1c48895b" dependencies = [ "http", "hyper", "hyper-util", "rustls", "tokio", "tokio-rustls", "tower-service", ] [[package]] name = "hyper-tls" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", "hyper", "hyper-util", "native-tls", "tokio", "tokio-native-tls", "tower-service", ] [[package]] name = "hyper-util" version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64", "bytes", "futures-channel", "futures-util", "http", "http-body", "hyper", "ipnet", "libc", "percent-encoding", "pin-project-lite", "socket2", "system-configuration", "tokio", "tower-service", "tracing", "windows-registry", ] [[package]] name = "iana-time-zone" version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "log", "wasm-bindgen", "windows-core", ] [[package]] name = "iana-time-zone-haiku" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ "cc", ] [[package]] name = "icu_collections" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" dependencies = [ "displaydoc", "potential_utf", "utf8_iter", "yoke", "zerofrom", "zerovec", ] [[package]] name = "icu_locale_core" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" dependencies = [ "displaydoc", "litemap", "tinystr", "writeable", "zerovec", ] [[package]] name = "icu_normalizer" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" dependencies = [ "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", "zerovec", ] [[package]] name = "icu_normalizer_data" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" [[package]] name = "icu_properties" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" dependencies = [ "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" [[package]] name = "icu_provider" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" dependencies = [ "displaydoc", "icu_locale_core", "writeable", "yoke", "zerofrom", "zerotrie", "zerovec", ] [[package]] name = "id-arena" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "idna" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", "utf8_iter", ] [[package]] name = "idna_adapter" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", ] [[package]] name = "impression" version = "3.7.0" dependencies = [ "ashpd", "chrono", "derivative", "futures", "gettext-rs", "glib", "gtk4", "itertools", "libadwaita", "libc", "log", "rayon", "reqwest", "roxmltree", "serde_json", "terrors", "thiserror", "tokio", "tracing-subscriber", "udisks2", "url", ] [[package]] name = "indexmap" version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", "hashbrown 0.17.0", "serde", "serde_core", ] [[package]] name = "ipnet" version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "iri-string" version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" dependencies = [ "memchr", "serde", ] [[package]] name = "itertools" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" dependencies = [ "either", ] [[package]] name = "itoa" version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "js-sys" version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" dependencies = [ "cfg-if", "futures-util", "once_cell", "wasm-bindgen", ] [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "leb128fmt" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" [[package]] name = "libadwaita" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc0da4e27b20d3e71f830e5b0f0188d22c257986bf421c02cfde777fe07932a4" dependencies = [ "gdk4", "gio", "glib", "gtk4", "libadwaita-sys", "libc", "pango", ] [[package]] name = "libadwaita-sys" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aaee067051c5d3c058d050d167688b80b67de1950cfca77730549aa761fc5d7d" dependencies = [ "gdk4-sys", "gio-sys", "glib-sys", "gobject-sys", "gtk4-sys", "libc", "pango-sys", "system-deps", ] [[package]] name = "libc" version = "0.2.184" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" [[package]] name = "linux-raw-sys" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "locale_config" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934" dependencies = [ "lazy_static", "objc", "objc-foundation", "regex", "winapi", ] [[package]] name = "log" version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "malloc_buf" version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" dependencies = [ "libc", ] [[package]] name = "memchr" version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memoffset" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] [[package]] name = "mio" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" dependencies = [ "libc", "wasi", "windows-sys 0.61.2", ] [[package]] name = "native-tls" version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" dependencies = [ "libc", "log", "openssl", "openssl-probe", "openssl-sys", "schannel", "security-framework", "security-framework-sys", "tempfile", ] [[package]] name = "nu-ansi-term" version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "num-traits" version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] [[package]] name = "objc" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", ] [[package]] name = "objc-foundation" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" dependencies = [ "block", "objc", "objc_id", ] [[package]] name = "objc_id" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" dependencies = [ "objc", ] [[package]] name = "once_cell" version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "openssl" version = "0.10.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf" dependencies = [ "bitflags", "cfg-if", "foreign-types", "libc", "once_cell", "openssl-macros", "openssl-sys", ] [[package]] name = "openssl-macros" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "openssl-probe" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" [[package]] name = "openssl-sys" version = "0.9.112" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb" dependencies = [ "cc", "libc", "pkg-config", "vcpkg", ] [[package]] name = "ordered-stream" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" dependencies = [ "futures-core", "pin-project-lite", ] [[package]] name = "pango" version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4804fb6018c6604eac198f0f897320d3696c9af7983cde056f07cef93cac9202" dependencies = [ "gio", "glib", "libc", "pango-sys", ] [[package]] name = "pango-sys" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd111a20ca90fedf03e09c59783c679c00900f1d8491cca5399f5e33609d5d6" dependencies = [ "glib-sys", "gobject-sys", "libc", "system-deps", ] [[package]] name = "parking" version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "percent-encoding" version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project-lite" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "piper" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" dependencies = [ "atomic-waker", "fastrand", "futures-io", ] [[package]] name = "pkg-config" version = "0.3.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" [[package]] name = "polling" version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi", "pin-project-lite", "rustix", "windows-sys 0.61.2", ] [[package]] name = "potential_utf" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564" dependencies = [ "zerovec", ] [[package]] name = "prettyplease" version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", "syn 2.0.117", ] [[package]] name = "proc-macro-crate" version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ "toml_edit", ] [[package]] name = "proc-macro2" version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] [[package]] name = "quote" version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rayon" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", ] [[package]] name = "rayon-core" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", ] [[package]] name = "regex" version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", "regex-automata", "regex-syntax", ] [[package]] name = "regex-automata" version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", "regex-syntax", ] [[package]] name = "regex-syntax" version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "reqwest" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" dependencies = [ "base64", "bytes", "futures-core", "futures-util", "h2", "http", "http-body", "http-body-util", "hyper", "hyper-rustls", "hyper-tls", "hyper-util", "js-sys", "log", "native-tls", "percent-encoding", "pin-project-lite", "rustls-pki-types", "serde", "serde_json", "sync_wrapper", "tokio", "tokio-native-tls", "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", ] [[package]] name = "ring" version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", ] [[package]] name = "roxmltree" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb" dependencies = [ "memchr", ] [[package]] name = "rustc_version" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustix" version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ "bitflags", "errno", "libc", "linux-raw-sys", "windows-sys 0.61.2", ] [[package]] name = "rustls" version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "once_cell", "rustls-pki-types", "rustls-webpki", "subtle", "zeroize", ] [[package]] name = "rustls-pki-types" version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "zeroize", ] [[package]] name = "rustls-webpki" version = "0.103.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" dependencies = [ "ring", "rustls-pki-types", "untrusted", ] [[package]] name = "rustversion" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "schannel" version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" dependencies = [ "windows-sys 0.61.2", ] [[package]] name = "security-framework" version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ "bitflags", "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", ] [[package]] name = "security-framework-sys" version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "semver" version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ "serde_core", "serde_derive", ] [[package]] name = "serde_core" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "serde_json" version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", "serde", "serde_core", "zmij", ] [[package]] name = "serde_repr" version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "serde_spanned" version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6662b5879511e06e8999a8a235d848113e942c9124f211511b16466ee2995f26" dependencies = [ "serde_core", ] [[package]] name = "sharded-slab" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] [[package]] name = "shlex" version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ "errno", "libc", ] [[package]] name = "slab" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", "windows-sys 0.61.2", ] [[package]] name = "stable_deref_trait" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "subtle" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "syn" version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] [[package]] name = "sync_wrapper" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ "futures-core", ] [[package]] name = "synstructure" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "system-configuration" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ "bitflags", "core-foundation 0.9.4", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" dependencies = [ "core-foundation-sys", "libc", ] [[package]] name = "system-deps" version = "7.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396a35feb67335377e0251fcbc1092fc85c484bd4e3a7a54319399da127796e7" dependencies = [ "cfg-expr", "heck", "pkg-config", "toml", "version-compare", ] [[package]] name = "target-lexicon" version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c" [[package]] name = "temp-dir" version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83176759e9416cf81ee66cb6508dbfe9c96f20b8b56265a39917551c23c70964" [[package]] name = "tempfile" version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", "getrandom 0.4.2", "once_cell", "rustix", "windows-sys 0.61.2", ] [[package]] name = "terrors" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "987fd8c678ca950df2a18b2c6e9da6ca511d449278fab3565efe0d49c0c07a5d" [[package]] name = "thiserror" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "thread_local" version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", ] [[package]] name = "tinystr" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" dependencies = [ "displaydoc", "zerovec", ] [[package]] name = "tokio" version = "1.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" dependencies = [ "bytes", "libc", "mio", "pin-project-lite", "signal-hook-registry", "socket2", "tracing", "windows-sys 0.61.2", ] [[package]] name = "tokio-native-tls" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" dependencies = [ "native-tls", "tokio", ] [[package]] name = "tokio-rustls" version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", ] [[package]] name = "tokio-util" version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", ] [[package]] name = "toml" version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81f3d15e84cbcd896376e6730314d59fb5a87f31e4b038454184435cd57defee" dependencies = [ "indexmap", "serde_core", "serde_spanned", "toml_datetime", "toml_parser", "toml_writer", "winnow 1.0.1", ] [[package]] name = "toml_datetime" version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7" dependencies = [ "serde_core", ] [[package]] name = "toml_edit" version = "0.25.11+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" dependencies = [ "indexmap", "toml_datetime", "toml_parser", "winnow 1.0.1", ] [[package]] name = "toml_parser" version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ "winnow 1.0.1", ] [[package]] name = "toml_writer" version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" [[package]] name = "tower" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", "pin-project-lite", "sync_wrapper", "tokio", "tower-layer", "tower-service", ] [[package]] name = "tower-http" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags", "bytes", "futures-util", "http", "http-body", "iri-string", "pin-project-lite", "tower", "tower-layer", "tower-service", ] [[package]] name = "tower-layer" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "tracing-core" version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", ] [[package]] name = "tracing-log" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ "log", "once_cell", "tracing-core", ] [[package]] name = "tracing-subscriber" version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" dependencies = [ "nu-ansi-term", "sharded-slab", "smallvec", "thread_local", "tracing-core", "tracing-log", ] [[package]] name = "try-lock" version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "udisks2" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce19d0471b9df48c9625576e9f2a44b53fa680cfed49cbd7f89904d48c280620" dependencies = [ "enumflags2", "gettext-rs", "serde", "serde_repr", "zbus", ] [[package]] name = "uds_windows" version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" dependencies = [ "memoffset", "tempfile", "windows-sys 0.61.2", ] [[package]] name = "unicode-ident" version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-xid" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "untrusted" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", ] [[package]] name = "utf8_iter" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" dependencies = [ "js-sys", "serde_core", "wasm-bindgen", ] [[package]] name = "valuable" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vcpkg" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-compare" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" [[package]] name = "want" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ "try-lock", ] [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ "wit-bindgen", ] [[package]] name = "wasip3" version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" version = "0.4.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "wasm-bindgen-macro" version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" dependencies = [ "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" dependencies = [ "bumpalo", "proc-macro2", "quote", "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" version = "0.2.118" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" dependencies = [ "unicode-ident", ] [[package]] name = "wasm-encoder" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" dependencies = [ "leb128fmt", "wasmparser", ] [[package]] name = "wasm-metadata" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" dependencies = [ "anyhow", "indexmap", "wasm-encoder", "wasmparser", ] [[package]] name = "wasm-streams" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" dependencies = [ "futures-util", "js-sys", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", ] [[package]] name = "wasmparser" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ "bitflags", "hashbrown 0.15.5", "indexmap", "semver", ] [[package]] name = "web-sys" version = "0.3.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" dependencies = [ "js-sys", "wasm-bindgen", ] [[package]] name = "winapi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", ] [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", "windows-link", "windows-result", "windows-strings", ] [[package]] name = "windows-implement" version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "windows-interface" version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ "windows-link", "windows-result", "windows-strings", ] [[package]] name = "windows-result" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ "windows-link", ] [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ "windows-targets", ] [[package]] name = "windows-sys" version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] [[package]] name = "windows-targets" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_gnullvm", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" dependencies = [ "memchr", ] [[package]] name = "winnow" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ "anyhow", "heck", "wit-parser", ] [[package]] name = "wit-bindgen-rust" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ "anyhow", "heck", "indexmap", "prettyplease", "syn 2.0.117", "wasm-metadata", "wit-bindgen-core", "wit-component", ] [[package]] name = "wit-bindgen-rust-macro" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" dependencies = [ "anyhow", "prettyplease", "proc-macro2", "quote", "syn 2.0.117", "wit-bindgen-core", "wit-bindgen-rust", ] [[package]] name = "wit-component" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", "bitflags", "indexmap", "log", "serde", "serde_derive", "serde_json", "wasm-encoder", "wasm-metadata", "wasmparser", "wit-parser", ] [[package]] name = "wit-parser" version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" dependencies = [ "anyhow", "id-arena", "indexmap", "log", "semver", "serde", "serde_derive", "serde_json", "unicode-xid", "wasmparser", ] [[package]] name = "writeable" version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4" [[package]] name = "yoke" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" dependencies = [ "stable_deref_trait", "yoke-derive", "zerofrom", ] [[package]] name = "yoke-derive" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", "synstructure", ] [[package]] name = "zbus" version = "5.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca82f95dbd3943a40a53cfded6c2d0a2ca26192011846a1810c4256ef92c60bc" dependencies = [ "async-broadcast", "async-executor", "async-io", "async-lock", "async-process", "async-recursion", "async-task", "async-trait", "blocking", "enumflags2", "event-listener", "futures-core", "futures-lite", "hex", "libc", "ordered-stream", "rustix", "serde", "serde_repr", "tokio", "tracing", "uds_windows", "uuid", "windows-sys 0.61.2", "winnow 0.7.15", "zbus_macros", "zbus_names", "zvariant", ] [[package]] name = "zbus_macros" version = "5.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897e79616e84aac4b2c46e9132a4f63b93105d54fe8c0e8f6bffc21fa8d49222" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.117", "zbus_names", "zvariant", "zvariant_utils", ] [[package]] name = "zbus_names" version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" dependencies = [ "serde", "winnow 0.7.15", "zvariant", ] [[package]] name = "zerofrom" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", "synstructure", ] [[package]] name = "zeroize" version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" dependencies = [ "displaydoc", "yoke", "zerofrom", ] [[package]] name = "zerovec" version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" dependencies = [ "yoke", "zerofrom", "zerovec-derive", ] [[package]] name = "zerovec-derive" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", "syn 2.0.117", ] [[package]] name = "zmij" version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" [[package]] name = "zvariant" version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5708299b21903bbe348e94729f22c49c55d04720a004aa350f1f9c122fd2540b" dependencies = [ "endi", "enumflags2", "serde", "winnow 0.7.15", "zvariant_derive", "zvariant_utils", ] [[package]] name = "zvariant_derive" version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b59b012ebe9c46656f9cc08d8da8b4c726510aef12559da3e5f1bf72780752c" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.117", "zvariant_utils", ] [[package]] name = "zvariant_utils" version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" dependencies = [ "proc-macro2", "quote", "serde", "syn 2.0.117", "winnow 0.7.15", ] Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/Cargo.toml000066400000000000000000000021631516676475000233550ustar00rootroot00000000000000[package] name = "impression" version = "3.7.0" edition = "2024" rust-version = "1.88" [lints.clippy] pedantic = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } unwrap_used = "deny" wildcard_imports = "allow" future_not_send = "allow" cast_precision_loss = "allow" [dependencies] gettext-rs = { version = "0.7", features = ["gettext-system"] } glib = "0.22" gtk = { version = "0.11", package = "gtk4", features = ["gnome_50"] } adw = { version = "0.9", package = "libadwaita", features = ["v1_9"] } log = "0.4" itertools = "0.14" ashpd = { version = "0.13", default-features = false, features = [ "tokio", "notification", ] } udisks = { package = "udisks2", version = "0.3.1" } libc = "0.2" reqwest = { version = "0.13", default-features = false, features = [ "native-tls", "http2", "system-proxy", "stream", "json", ] } roxmltree = "0.21" chrono = "0.4" thiserror = "2.0" derivative = "2.2" tokio = { version = "1.51", features = ["process", "rt-multi-thread", "time"] } serde_json = "1.0" rayon = "1.11" futures = "0.3" tracing-subscriber = "0.3" terrors = "0.3" url = "2.5.8" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/Impression.doap000066400000000000000000000024021516676475000244160ustar00rootroot00000000000000 Impression Crete bootable drives Rust GTK 4 Libadwaita Khaleel Al-Adhami adhami3310 Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/PRESS.md000066400000000000000000000022401516676475000226370ustar00rootroot00000000000000# Press A collection of content mentioning Impression from various writers, content creators, etc. - [Crea tus live USB con Impression - THE_CHEI$](https://thecheis.com/2023/06/07/crea-live-usb-impression/) *Translated from Spanish:* > No frills, no extra options, no pretensions: just open, select the image, plug in the USB and burn. As stupidly simple as effective. - [Impression: A brand new GNOME app for flashing ISO images - Reddit](https://www.reddit.com/r/gnome/comments/1426x9g/impression_a_brand_new_gnome_app_for_flashing_iso/) > Wow, great to have a GTK4 app for this! > GTK4, Libadwaita, written in Rust… Wow, this is very cool! Thanks for working on this! It's time to ditch Popsicle :) - [Cassidy James on Mastodon](https://mastodon.blaede.family/@cassidy/110500772741983943) > YES, THANK YOU. I have wanted this for quite some time. Etcher is great for cross-platform-ness but I don't love using an AppImage. The Raspberry Pi flasher works fine for non-RasPi stuff, but feels awkward. Popsicle is weirdly stuck in a sort of early GNOME 3 feel and never really got the polish I would have liked. Simple, straightforward, GTK4, Libadwaita… 😠Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/README.md000066400000000000000000000064241516676475000227100ustar00rootroot00000000000000

Impression

A straight-forward and modern application to create bootable drives. Impression icon [![Installs](https://img.shields.io/flathub/downloads/io.gitlab.adhami3310.Impression?style=for-the-badge)](https://flathub.org/apps/details/io.gitlab.adhami3310.Impression) [![Latest Tag](https://img.shields.io/gitlab/v/tag/adhami3310/Impression?sort=date&style=for-the-badge)](https://gitlab.com/adhami3310/Impression/-/tags) [![License](https://img.shields.io/gitlab/license/adhami3310/Impression?style=for-the-badge)](https://gitlab.com/adhami3310/Impression/-/raw/main/COPYING)
## Installation Download on Flathub ### Third Party Packages You may also be able to obtain Impression from your distribution's package manager. Note these packages are maintained independently and thus may differ from the official version on Flathub. Please report any issues experienced to the package maintainer. [![Packaging status](https://repology.org/badge/vertical-allrepos/impression.svg)](https://repology.org/project/impression/versions) ## About Write disk images onto your drives with ease. Select an image, insert your drive, and you're good to go! Impression is a useful tool for both avid distro-hoppers and casual computer users. See [Press](PRESS.md) for content mentioning Impression from various writers, content creators, etc. Screen with a choice of a local image or internet download ## Contributing Issues and merge requests are more than welcome. However, please take the following into consideration: - This project follows the [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) - Only Flatpak is supported - The amount of features is intentionally restricted, to keep the app minimal and optimized for the target use case. If you'd like a more general-purpose disk utility, check out [GNOME Disks](https://apps.gnome.org/DiskUtility/). ## Development ### GNOME Builder The recommended method is to use GNOME Builder: 1. Install [GNOME Builder](https://apps.gnome.org/Builder/) from [Flathub](https://flathub.org/apps/org.gnome.Builder) 1. Open Builder and select "Clone Repository..." 1. Clone `https://gitlab.com/adhami3310/Impression.git` (or your fork) 1. Press "Run Project" (â–¶) at the top, or `Ctrl`+`Shift`+`[Spacebar]`. ### Meson You can build and install on your host system by directly using the Meson buildsystem: 1. Install `blueprint-compiler` 1. Run the following commands (with `/usr` prefix): ``` meson setup --prefix=/usr build ninja -C build sudo ninja -C build install ``` ### Credits Actively developed by Khaleel Al-Adhami. Brage Fuglseth helps a lot with desgin decisions. Huge thanks to all of the translators who brought Impression to many other languages! This app was inspired by [this mockup](https://gitlab.gnome.org/Teams/Design/whiteboards/-/issues/143) by [Saptarshi Mondal](https://gitlab.gnome.org/gitSaptarshi). The app uses significant portions of [popsicle](https://github.com/pop-os/popsicle). Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/build-aux/000077500000000000000000000000001516676475000233155ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/build-aux/dist-vendor.sh000077500000000000000000000021141516676475000261100ustar00rootroot00000000000000#!/bin/sh # Since Meson invokes this script as # "/bin/sh .../dist-vendor.sh DIST SOURCE_ROOT" we can't rely on bash features set -eu export DIST="$1" export SOURCE_ROOT="$2" cd "$SOURCE_ROOT" mkdir "$DIST"/.cargo # cargo-vendor-filterer can be found at https://github.com/coreos/cargo-vendor-filterer # It is also part of the Rust SDK extension. cargo vendor-filterer --all-features --platform=x86_64-unknown-linux-gnu --platform=aarch64-unknown-linux-gnu > "$DIST"/.cargo/config.toml set -- vendor/gettext-sys/gettext-*.tar.* TARBALL_PATH=$1 TARBALL_NAME=$(basename "$TARBALL_PATH") rm -f "$TARBALL_PATH" # remove the tarball from checksums cargo_checksum='vendor/gettext-sys/.cargo-checksum.json' tmp_f=$(mktemp --tmpdir='vendor/gettext-sys' -t) jq -c "del(.files[\"$TARBALL_NAME\"])" "$cargo_checksum" > "$tmp_f" mv -f "$tmp_f" "$cargo_checksum" # Don't combine the previous and this line with a pipe because we can't catch # errors with "set -o pipefail" sed -i 's/^directory = ".*"/directory = "vendor"/g' "$DIST/.cargo/config.toml" # Move vendor into dist tarball directory mv vendor "$DIST" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/000077500000000000000000000000001516676475000223345ustar00rootroot00000000000000io.gitlab.adhami3310.Impression.desktop.in.in000066400000000000000000000010101516676475000324020ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data[Desktop Entry] Name=Impression GenericName=Media Writer Comment=Create bootable drives Exec=impression %u Icon=@icon@ Terminal=false Type=Application Categories=GTK;GNOME;Utility;System;DiscBurning; Keywords=usb;flash;writer;bootable;drive;iso;img;disk;image StartupNotify=true DBusActivatable=true X-GNOME-UsesNotifications=true # Translators: Do NOT translate or transliterate this text (these are enum types)! MimeType=application/x-iso9660-image;application/x-raw-disk-image;application/x-cd-image;application/x-xz;io.gitlab.adhami3310.Impression.gschema.xml.in000066400000000000000000000017451516676475000325510ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data 500 Window width 600 Window height false Window maximized state [ ('archlinux.org', nothing, false), ('endlessos.com', nothing, false), ('fedoraproject.org', 'Silverblue', true), ('manjaro.org', nothing, false), ('opensuse.org', nothing, false), ('ubuntu.com', nothing, false), ('ubuntu.com', 'LTS', false) ] List of downloadable distros (distro_id, must_include, invert_must_include) tuples io.gitlab.adhami3310.Impression.metainfo.xml.in.in000066400000000000000000000230471516676475000333500ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data @app-id@ Impression Khaleel Al-Adhami Create bootable drives CC-BY-SA-4.0 GPL-3.0

Write disk images to your drives with ease. Select an image, insert your drive, and you're good to go! Impression is a useful tool for both avid distro-hoppers and casual computer users.

@gettext-package@ 360 offline-only pointing keyboard touch https://gitlab.com/adhami3310/Impression/-/raw/main/data/resources/screenshots/3.png Screen with a choice of a local image or internet download https://gitlab.com/adhami3310/Impression/-/raw/main/data/resources/screenshots/0.png Screen with a chosen ISO and available USB memories https://gitlab.com/adhami3310/Impression/-/raw/main/data/resources/screenshots/1.png Writing the ISO in progress https://gitlab.com/adhami3310/Impression/-/raw/main/data/resources/screenshots/2.png Success screen with a big check mark #ffb63f #c54400 @app-id@.desktop https://apps.gnome.org/Impression/ https://opencollective.com/impression https://gitlab.com/adhami3310/Impression/-/issues https://gitlab.com/adhami3310/Impression/-/tree/main/po https://gitlab.com/adhami3310/Impression/-/issues https://gitlab.com/adhami3310/Impression https://gitlab.com/adhami3310/Impression https://matrix.to/#/@khaleela:gnome.org khaleel.aladhami@gmail.com
  • Subscribes to file events instead of polling for changes.
  • Bump GNOME runtime to 50.
  • Impression will now ask you where to save downloaded images instead of saving them to a temporary location.
  • Fix a bug where writing an image after downloading it would write nothing.
  • Improve stability of the application and logging.
  • Rewrite logic of parsing libosinfo to recover gracefully from errors.
  • Fix a stack overflow.
  • Add Catalan Translation.
  • Update Croatian Translation.
  • Fix a bug where the writing buffer might not flush correctly.
  • Move the list of downloadable distros to gsettings to be configurable via dconf.
  • Add Dutch Translation.
  • Fixes a bug where the progress bar would update slowly when the app is not in focus.
  • Fixes a bug where the disk might unmount before the OS syncs all operations to disk.

Fixes a bug where the order of the drives list would randomly change.

Update to GNOME 48 runtime and bug fixes.

  • Fix cancel button not working as expected
  • Add variants to the list of available images

Volunteers have contributed Norwegian Bokmål, Polish, and Finnish translations. Thank you for your contributions!

Update to GNOME 47 runtime and bug fixes.

  • Delete cache on start up to avoid build up.
  • Fix icon aliases
  • Fedora Workstation should be used over Silverblue.

Volunteers have contributed Simplified Chinese and Croatian translations. Thank you for your contributions!

This is a minor release of Impression to resolve missing icons issues and add Ubuntu LTS to the list options.

This is a minor release of Impression with a few small improvements.

  • Support for .xz files
  • Faster downloading of images

Impression is made possible by volunteer developers, designers, and translators. Thank you for your contributions!

This minor release fixes a bug where some .ISO files wouldn't be detected.

This release of Impression brings even more convenience and power to your fingertips:

  • Direct download of a selection of images directly from the app
  • Updated and more understandable terminology
  • Security fixes

Impression is made possible by volunteer developers, designers, and translators. Thank you for your contributions!

This minor release of Impression delivers:

  • Support for mobile screen sizes
  • Various bug fixes, improving reliability and stability
  • Brazillian Portugese translations, making Impression available in a total of 9 languages

Impression is made possible by volunteer developers, designers, and translators. Thank you for your contributions!

This major release of Impression brings a bunch of exciting improvements:

  • Visual enhancements to make the app more beautiful, focused, and engaging
  • Automatic updates of the available drives list
  • Explicit drive selection before flashing, to avoid accidental data loss
  • Turkish and Czech translations, making Impression available in a total of 8 languages

The versioning scheme has been simplified to only include major and minor versions. The previous version of Impression was 1.0.1, this is version 2.0. Going forward, new features and noticeable changes will be included in new major releases, while fixes and translations will result in new minor releases.

Impression is made possible by volunteer developers, designers, and translators. Thank you for your contributions!

Added Spanish, French, German, Russian, and Italian translations.

Initial version.

io.gitlab.adhami3310.Impression.service.in000066400000000000000000000001161516676475000317720ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data[D-BUS Service] Name=@app-id@ Exec=@bindir@/impression --gapplication-service Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/meson.build000066400000000000000000000041471516676475000245040ustar00rootroot00000000000000subdir('resources') # Desktop file desktop_conf = configuration_data() desktop_conf.set('icon', application_id) desktop_file = i18n.merge_file( type: 'desktop', input: configure_file( input: '@0@.desktop.in.in'.format(base_id), output: '@BASENAME@', configuration: desktop_conf ), output: '@0@.desktop'.format(application_id), po_dir: podir, install: true, install_dir: datadir / 'applications' ) # Validate Desktop file if desktop_file_validate.found() test( 'validate-desktop', desktop_file_validate, args: [ desktop_file.full_path() ], depends: desktop_file, ) endif # Appdata appdata_conf = configuration_data() appdata_conf.set('app-id', application_id) appdata_conf.set('gettext-package', gettext_package) appdata_file = i18n.merge_file( input: configure_file( input: '@0@.metainfo.xml.in.in'.format(base_id), output: '@BASENAME@', configuration: appdata_conf ), output: '@0@.metainfo.xml'.format(base_id), po_dir: podir, install: true, install_dir: datadir / 'metainfo' ) # Validate Appdata if appstreamcli.found() test( 'validate-appdata', appstreamcli, args: [ 'validate', '--no-net', appdata_file.full_path() ], depends: appdata_file, ) endif # GSchema gschema_conf = configuration_data() gschema_conf.set('app-id', application_id) gschema_conf.set('gettext-package', gettext_package) configure_file( input: '@0@.gschema.xml.in'.format(base_id), output: '@0@.gschema.xml'.format(application_id), configuration: gschema_conf, install: true, install_dir: datadir / 'glib-2.0' / 'schemas' ) # Validate GSchema if glib_compile_schemas.found() test( 'validate-gschema', glib_compile_schemas, args: [ '--strict', '--dry-run', meson.current_build_dir() ], ) endif # D-Bus service file service_conf = configuration_data() service_conf.set('app-id', application_id) service_conf.set('bindir', bindir) configure_file( input: '@0@.service.in'.format(base_id), output: '@0@.service'.format(application_id), configuration: service_conf, install: true, install_dir: datadir / 'dbus-1' / 'services' ) Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/000077500000000000000000000000001516676475000243465ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/blueprints/000077500000000000000000000000001516676475000265355ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/blueprints/window.blp000066400000000000000000000272251516676475000305530ustar00rootroot00000000000000using Gtk 4.0; using Adw 1; template $AppWindow: Adw.ApplicationWindow { default-width: 500; default-height: 600; width-request: 360; height-request: 294; title: _("Impression"); Stack main_stack { transition-type: crossfade; StackPage { name: "choose"; child: Adw.NavigationView navigation { Adw.NavigationPage { tag: "welcome"; title: _("Impression"); child: $DragOverlay drag_overlay { title: _("Drop Here to Open"); child: Adw.ToolbarView { [top] Adw.HeaderBar { [end] MenuButton { icon-name: "open-menu-symbolic"; menu-model: primary_menu; tooltip-text: _("Main Menu"); primary: true; } } content: Box { hexpand: true; vexpand: true; orientation: vertical; spacing: 12; Adw.PreferencesPage { Adw.PreferencesGroup { Image { icon-name: "io.gitlab.adhami3310.Impression"; styles [ "app_icon", ] } Label { label: _("Choose Image"); styles [ "title", "title-1", ] } margin-bottom: 12; } Adw.PreferencesGroup { Adw.ActionRow open_image_button { title: _("Open File…"); activatable-widget: next_icon; activated => $open_dialog() swapped; Image next_icon { icon-name: 'go-next-symbolic'; } } } Adw.PreferencesGroup { title: _("Direct Download"); [header-suffix] DropDown architecture { model: StringList { strings [ "x86_64", "aarch64", ] }; notify::selected => $on_architecture_changed() swapped; sensitive: false; styles [ "architecture", ] } Box { orientation: vertical; Box download_spinner { orientation: vertical; Spinner { valign: center; vexpand: true; height-request: 32; width-request: 32; spinning: true; } styles [ "card", "loading-frame", ] } Box offline_screen { orientation: vertical; visible: false; Adw.StatusPage { title: _("No Connection"); description: _("Connect to the internet to view available images"); styles [ "dim-label", ] } styles [ "card", ] } Box distros { visible: false; orientation: vertical; ListBox amd_distros { selection-mode: none; styles [ "boxed-list", ] } ListBox arm_distros { visible: false; selection-mode: none; styles [ "boxed-list", ] } } } } } }; }; }; } Adw.NavigationPage { tag: "device_list"; title: _("Impression"); child: Adw.ToolbarView { [top] Adw.HeaderBar { [end] MenuButton { icon-name: "open-menu-symbolic"; menu-model: primary_menu; tooltip-text: _("Main Menu"); primary: true; } } content: Adw.PreferencesPage { valign: center; Adw.PreferencesGroup { Box { orientation: vertical; spacing: 12; Image { icon-name: "media-optical-cd-symbolic"; pixel-size: 64; styles [ "dim-label", ] } Label name_value_label { label: "arch.iso"; wrap: true; wrap-mode: word_char; lines: 3; justify: center; max-width-chars: 24; styles [ "title-3", ] } Label size_label { justify: center; styles [ "caption", ] } } } Adw.PreferencesGroup { Adw.Clamp { maximum-size: 450; tightening-threshold: 200; ListBox available_devices_list { selection-mode: none; styles [ "boxed-list", ] } } } Adw.PreferencesGroup { valign: end; halign: center; description: _("All data on the selected drive will be erased"); Button flash_button { label: _("Write"); sensitive: false; halign: center; clicked => $flash_dialog() swapped; styles [ "destructive-action", "pill", ] } } }; }; } }; } StackPage { name: "status"; child: Adw.ToolbarView { [top] Adw.HeaderBar { [end] MenuButton { icon-name: "open-menu-symbolic"; menu-model: primary_menu; tooltip-text: _("Main Menu"); primary: true; } } content: Adw.ToastOverlay toast_overlay { child: Stack stack { transition-type: crossfade; StackPage { name: "loading"; child: Spinner loading_spinner { valign: center; halign: center; height-request: 28; width-request: 28; }; } StackPage { name: "no_devices"; child: Adw.StatusPage { icon-name: "io.gitlab.adhami3310.Impression"; title: _("No Drives"); description: _("Insert a drive to write to"); }; } StackPage { name: "success"; child: Adw.StatusPage { icon-name: "check-round-outline-symbolic"; title: _("Writing Completed"); description: _("The drive can be safely removed"); child: Box { orientation: vertical; spacing: 12; Button done_button { valign: center; halign: center; label: _("Finish"); use-underline: true; clicked => $done_clicked() swapped; styles [ "suggested-action", "pill", ] } }; }; } StackPage { name: "failure"; child: Adw.StatusPage { icon-name: "error-symbolic"; title: _("Writing Unsuccessful"); Adw.Clamp { maximum-size: 600; tightening-threshold: 400; Box { orientation: vertical; spacing: 12; ScrolledWindow { min-content-height: 100; max-content-height: 200; Label error_message_label { wrap: true; wrap-mode: word_char; xalign: 0; yalign: 0; styles [ "monospace", "error-message", ] } styles [ "card", ] } Button try_again_button { valign: center; halign: center; label: _("Retry"); use-underline: true; clicked => $try_again_clicked() swapped; styles [ "suggested-action", "pill", ] } } } }; } StackPage { name: "flashing"; child: Adw.StatusPage flashing_page { title: _("Writing"); icon-name: "flash-symbolic"; description: _("Do not remove the drive"); Box { orientation: vertical; spacing: 36; ProgressBar progress_bar { valign: center; halign: center; show-text: true; } Button cancel_button { valign: center; halign: center; label: _("_Cancel"); use-underline: true; clicked => $cancel_clicked() swapped; styles [ "pill", ] } } }; } }; }; }; } } } Adw.ShortcutsDialog help_overlay { Adw.ShortcutsSection { title: C_("shortcut window", "General"); Adw.ShortcutsItem { title: C_("shortcut window", "Open File"); action-name: "win.open"; } Adw.ShortcutsItem { title: C_("shortcut window", "Show Shortcuts"); action-name: "win.show-help-overlay"; } Adw.ShortcutsItem { title: C_("shortcut window", "Quit"); action-name: "app.quit"; } } } menu primary_menu { section { item { label: _("Keyboard Shortcuts"); action: "win.show-help-overlay"; } item { label: _("About Impression"); action: "win.about"; } } } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/000077500000000000000000000000001516676475000254615ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/000077500000000000000000000000001516676475000271205ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/000077500000000000000000000000001516676475000306665ustar00rootroot00000000000000actions/000077500000000000000000000000001516676475000322475ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalablecheck-round-outline-symbolic.svg000066400000000000000000000030331516676475000404650ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions error-symbolic.svg000066400000000000000000000006321516676475000357410ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions flash-symbolic.svg000066400000000000000000000007261516676475000357110ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions image-missing-symbolic.svg000066400000000000000000000015221516676475000373400ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions paper-symbolic.svg000066400000000000000000000011761516676475000357230ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions usb-stick-symbolic.svg000066400000000000000000000007071516676475000365170ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions view-refresh-symbolic.svg000066400000000000000000000021361516676475000372170ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/actions apps/000077500000000000000000000000001516676475000315525ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalableio.gitlab.adhami3310.Converter.svg000066400000000000000000000215501516676475000376450ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/apps io.gitlab.adhami3310.Footage.svg000066400000000000000000000074311516676475000372640ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/appsio.gitlab.adhami3310.Impression.Devel.svg000066400000000000000000000676071516676475000411010ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/apps io.gitlab.adhami3310.Impression.svg000066400000000000000000000347331516676475000400350ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/scalable/apps Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/symbolic/000077500000000000000000000000001516676475000307415ustar00rootroot00000000000000apps/000077500000000000000000000000001516676475000316255ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/symbolicio.gitlab.adhami3310.Impression-symbolic.svg000066400000000000000000000017071516676475000417220ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons/hicolor/symbolic/apps io.gitlab.adhami3310.Impression.Source.svg000066400000000000000000003162371516676475000351260ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/icons Adwaita Icon Templateimage/svg+xmlGNOME Design TeamAdwaita Icon TemplateHicolorSymbolic Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/meson.build000066400000000000000000000015321516676475000265110ustar00rootroot00000000000000blueprints = custom_target('blueprints', input: files( 'blueprints/window.blp', ), output: '.', command: [find_program('blueprint-compiler'), 'batch-compile', '@OUTPUT@', '@CURRENT_SOURCE_DIR@', '@INPUT@'], ) scalable_dir = 'icons' / 'hicolor' / 'scalable' / 'apps' install_data( [ scalable_dir / ('@0@.svg').format(base_id), scalable_dir / ('@0@.svg').format(application_id) ], install_dir: datadir /scalable_dir ) symbolic_dir = 'icons' / 'hicolor' / 'symbolic' / 'apps' install_data( symbolic_dir / ('@0@-symbolic.svg').format(base_id), install_dir: datadir / symbolic_dir ) # Resources resources = gnome.compile_resources( 'resources', 'resources.gresource.xml', gresource_bundle: true, source_dir: meson.current_build_dir(), install: true, install_dir: pkgdatadir, dependencies: blueprints, )Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/resources.gresource.xml000066400000000000000000000045561516676475000311110ustar00rootroot00000000000000 ../io.gitlab.adhami3310.Impression.metainfo.xml blueprints/window.ui style.css icons/hicolor/symbolic/apps/io.gitlab.adhami3310.Impression-symbolic.svg icons/hicolor/scalable/apps/io.gitlab.adhami3310.Impression.svg icons/hicolor/scalable/apps/io.gitlab.adhami3310.Impression.Devel.svg icons/hicolor/scalable/apps/io.gitlab.adhami3310.Converter.svg icons/hicolor/scalable/apps/io.gitlab.adhami3310.Footage.svg icons/hicolor/scalable/actions/image-missing-symbolic.svg icons/hicolor/scalable/actions/paper-symbolic.svg icons/hicolor/scalable/actions/usb-stick-symbolic.svg icons/hicolor/scalable/actions/check-round-outline-symbolic.svg icons/hicolor/scalable/actions/view-refresh-symbolic.svg icons/hicolor/scalable/actions/error-symbolic.svg icons/hicolor/scalable/actions/flash-symbolic.svg Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/screenshots/000077500000000000000000000000001516676475000267065ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/screenshots/0.png000066400000000000000000000670021516676475000275600ustar00rootroot00000000000000‰PNG  IHDRnÒd ]sBIT|dˆtEXtSoftwaregnome-screenshotï¿>-tEXtCreation TimeSun 05 Nov 2023 06:43:34 PM EST",ö IDATxœìÝy|TÕáÿÿ÷d™ì=¬Á°Q\*VEÄŠÚÚ/V«wlQ?ÚR«ˆKnhý µT\Z*"K)› ¨€°I0 ! Ù—™üþ3Î “Y’™Lnx=ÛgæÌ™·GGGOñõ„@pUUUýóõ×_ó¡‡:(©B?ÝNµè§–9w·XÝ=/'yFÄQ«”·µ7w­f¶ÏÝu×KÔÝ3k¶Ö·p9‡·ØÝ»wOéÛ·ï?Ï´<:pàÀª!¼9†6Û{× ®AN–I7¹YîÎÜü m®e;Ø>7ÚòóóoëØ±ã~ hqÇŽ{.--í-yo޽N]{›66Ho ZÝZ$¸µToÉ`D×gÚ\;18¶¶9vJˆÉÊʺ†Ð€1tìØñ¬¬¬k$ÅÈù‘'Ç¿ñ®9 ±i1­EÃÂ[â jÞmRw³ xº=êz‹ÔÖÊæøÞ2)))ã>[µjU±œ[Ê\;xêÃÝgoB®¥*ÒÔÛ¤’çàæ®3‚ä|»4BÎ"$Å•””ü1&&æjÿN„Zeeå¿Ú·oÿ˜¤r5ô.uì¤`ûìz›´±Á}=M“%—òÞývikX¶±`çm‚yÛgw·G›G[ß"ž~úé^„6Œ)&&æê§Ÿ~º—cÇb•ÜÏ‚$7Ÿåæ³m{wZE«[K·@œhcC8®w7Lˆ»Û§æéÓ§_€:€9õ·Ü,÷C€5v·Î‘·lÑAw­¥ÅÍW®ÉÙÛ2wßÌðÔÔÔaÁ¬$®SË[Û\›ò%'¸¾oõZspó§Cƒë2×iªŸy ŒŒì×üê€P9õ·ÜöüºkïQÇ^¦®šš/Z…Ö0åUcÇ—åÞîW»=i¬<‹Å¢êêjÕÖÖÊb±ÈjmxÎ?,,LááኌŒTTT”ÂÛ?¨Å©¿åÍ’d9U¬±Œà­ç©¿Ë[L°ƒ›?‰Õ[YO­ƒîBtݯë}o‹Eª®®v»ÞjµÊjµª¶¶VŠŠŠRlll œëØmÞZØ ]¶¹NãO` j¸k -nîx»÷ì©5ÎÝP!î–€fªªªRYY™_ÛTWW«ººZñññŠŽŽnÎáûïºÌ×Ö3Çe!o]sÇÈ­O¾:ÇV6O÷»€Ÿ***ümŽÊÊÊTQQÑœ*¸ûïˆ͡nÞžcs÷ÚXšnløw)4CUUUsC—¤†ðWUUÕÔÍ‘ š»ó·gØšúœ[Оk­¥EC[qq±=´õìÙSóæÍkÉàèèh¥§§K’¢¢¢B\ õ° ùhÕÕÕêijˆ–³¦j+Á-äߤââbÝu×]öÐöꫯ*%%%ÔÕÐDaaaZ°`A¨«H ^ËYSx m“&MRff¦üqµoß^’tòäIÍ™3G;wîÔgŸ}æqß±±±­¯ƒVÙKÔ_¡ n¾†­`Þr Bàlܸq?~¼¢££µvíZY,]ýõ;v¬^xáeee©S§Nz衇4dÈû6×]wŠ‹‹õùçŸ+..N7Ýt“®¾új§ýŽ;V]ºtÑÒ¥KÕ¥K½þú몬¬Ôk¯½¦ 6¨¬¬LC† Ñý÷߯.]ºH’6nܨ (77WqqqêÕ«—žzê)%$$x\7nÜ8™Ífû«ÕªwÞyGŸ}ö™Ž;¦^½zéöÛo×…^xÚ¹ÇÄÄhݺuª©©Ñ5×\£_ÿú×-ø‚§¶¶Öãúž={*;;[³fÍÒ3Ï<#“ɤßýîwÊÉÉQ÷îÝ›µo?4';øîBÒ9¡Õ"´î-]ºT6lP÷îÝUTT¤ùóçë†nPEE…RSS•““£Ç{Ìéõ;ï¼£;wjÈ!*((ПÿügmܸÑi¿Ë–-Ó›o¾©˜˜eddH’fÏž­>ø@ºè¢‹´yófÍš5KV«Uzä‘GôÃ?hÊ”)3fŒbbb”àq;óæÍÓüùó¡ .¸@ûöíÓý÷߯;vœvîëׯWZZšŠ‹‹õÿ÷úüóÏ|…ÐðÖ‰àOú“ºvíªÜÜ\Íš5K³fÍRNNŽ:uê¤9sæ4kß0æ­R_Ægi1÷Þ{¯rrr”žž®—_~YIII¡¬Ъ¼ÿþûŠŒŒÔo¼¡ h̘1š;w®$iÚ´iÊÍÍÕáÇէOû6ÿûß©•+WêñÇ×’%K4zôh§ýΟ?ßÞR÷í·ßjÓ¦M>|¸žyæI ìY³FGŽÑ‘#GTWW§ÁƒëÎ;ïTDÄO¿örss]çêèÑ£úç?ÿ©>}úèí·ßVDD„–.]ª§žzJ .´×ÇõÜß~ûmÍŸ?_Û¶mÓ¨Q£šwAqÆjMlÓX5&55UsçÎÕÃ?¬ÜÜ\IRÇŽõôÓO«S§NÍÚw¸¶”îöikkq Tk±0g2…üñ: UJLLTdd¤$)33SRÃ/tÛ²’’û²´´4û6_|±$)//Ïi¿QQQN!Éö‡aëÖ­1b„FŒ¡5kÖHjx®¦ÿþJHHÐÚµk5qâD=úè£Ú¿¿$y\ç*''GV«U\p=àM˜0Á©žÎ½¸¸ØóÚˆˆ™ÍfûçÈÈH§Ï-Äp™ÂFlqkU^xáû­Ò;î¸C¯¼òŠÓ'rÛKÌ[Ï1Ûp®=:]‡å°=ü|X<òˆæÎëñÎTXXkkOj}¸BÍ”˜˜¨W^yEéééÊËËÓ]wÝ¥ãLJºZ€!åçç«´´TRC š$§Û¨îôîÝ[aaaÚ·oŸ’““Õ³gOû—­Õ+55Uwß}·>øàÝ|óͲZ­Ú¶m›×u®Ç‘¤Ï?ÿ\555’¤M›6©¾¾^guV`.`ÞþÓõè£ÚCÛܹs5wî\uïÞ]‡Ö£>Ú¬}ƒ·€°…7[ËÛ]wÝEËÐD7ß|³¬7Êd2é¿ø…Çò:tД)SôÑGéW¿ú•&Nœ¨üQåååš3gŽ<¨Ç{LC‡U\\œþûßÿJ’ÒÓÓ=®sÕ§O9R›7oÖ-·Ü¢ŒŒ mذAf³Y·Ýv[à/ÐJEFFzìýi{î{Μ9öÖµ¹sçêÑGUNNŽ×}óÖÜšr_9$÷¢ o@óµk×NÔæÍ›ÕµkWÍœ9ÓþŒ˜'÷ß¿:vì¨Ï>ûL .TZZš¨úúzÕÖÖ*99Y+W®Tyy¹:uê¤ûï¿_#GŽ´·Ò¹[çΜ9sôÊ+¯èóÏ?צM›”™™©»ï¾[=zôô¥œ´¦Î QQQgNp7N[RR’^yåŸö`Mé|Ъ;,3äxÛ·»Þ¡®»†¹ùì:1l˜Ë{ÛWø©×ˆSïm¯íkjj6ùy.>sòê­·Þ Ö¡€6eܸqJNNÖ|ꪭNk n’TZZðÙ¢¢¢üžòÊl6_(©D’ERëõÔ{«ÃWý©/Ç÷rX&‡e®ŸËËe]cÚÔ”W­ª‡F %%%éå—_Öý÷ߊ4€6¨5uN¤ØØØ€· Θ,!i™kí·J½i•0))‰–6@›®øøx•••dñññ-Ù1¡Uß õ&X½J[e V²ØØXCêXP²Ñ[Ü´¶AsGll¬ÂšÜòßVC[ÐÜ@“EGG+22R>?÷¥ØØXÆmk‚h–ððp%$$Ø;-ÔÖÖÊb±ØgX Sxx¸"##E`k‚ˆððp#ö5¦¼0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸DD¨+þª¬¬Ô‘#GTXX¨ÂÂB«ªªJÕÕÕª­­•$EFF***JÑÑÑJLLTrr²’““Õ­[7ÅÄÄ„ø  in áÇÔ¾}ûtèÐ!?~ÜkùêêjUWWëäÉ“:vì˜ÓºÔÔTõèÑCýúõS‡‚Ue8Sˆöën½Éa¹í5ÌÍgÇ2aÛÙ>Û¾ÂO½Fœzo{m_SS³És"µµµÊÎÎVvv¶Nœ8”c¤¤¤(33S™™™ŠŒŒ Ê1‡Ùl¾PR‰$‹¤:‡Wë©÷V‡¯z‡/Ûg9|–Ã2×Ïõï¹[æÏz¿Ü´:555Ú±c‡¾ùæUVV¶È1cbb4dÈ QUUU¨«rššš}úé§úâ‹/B]Äp BÄjµjÍš5Ú½{w“¶UZZš:w¤$µoß^111ŠˆhøµVWW§ÊÊJ•””¨¨¨HÊÏÏoÒ³s[·nUYY™Æ§°0þ¿ tnZœÕjÕòåË•““ã×vÑÑÑêׯŸú÷ï¯N:y,®¨¨(%&&ªgÏžöåGÕÞ½{µoß>¿ZùvïÞ­êêjMž<™ð d蜠ŭ^½Ú¯–¶øøxwÞyk­¶¶VYYYÚ¶m›ÊËË}ÞnàÀ?~|@ê yÎÄÎ ´¸hQ›6mò9´………éÜsÏÕðáÃ>8ndd¤Î=÷\ 4H[·nÕöíÛeµZ½n·{÷nÅÅÅiäÈ‘­ø‚à Å}ú(>>¾ÉÇ¸à‚ ´oß>3,ìÞ½ÛkÀ€æ"¸ŠcÇŽéĉËœwÞyMž¡¬¬L[·nÕîÝ»ÝÎxPTT¤¢¢"åååiݺuêÛ·¯F­„„¿e›eÁS'‹ãÇëøñãJMMõ{ÿà+n•Šýû÷{\­ÌÌÌ&íûàÁƒZ¸p¡²²²|š¦ª¾¾^ß~û­þñè»ï¾kÒ1Ï>ûlEGG{,ÃÐ ‚à (:äq}¿~ýšÔÚöÍ7ßhÙ²eM‚£¦¦FŸ|òI“zFFF*##Ãcoç ÍÅ­RWYY©ãÇ{,Ó¿¿÷{ðàA­_¿^õõõNËSRR”™™©îÝ»«]»v’¤“'OêðáÃÊÎÎvºe[__¯õë×ÛŸóGÿþýµsçÎF×?~\UUU^[æ ©nîÈ‘#×ÇÆÆªS§N~í³¬¬L+W®t mááá3fŒ tÚp)))JIIÑàÁƒµk×.mذA‹ERCx[±b…n¾ùfÅÅÅù\‡Î;+66¶ÑqéêëëuäÈŸç;q«@Àz\Ÿ––æ÷>·lÙât{4<<\W_}µÎ>ûl÷šL&sÎ9ºúê«n_^SS£-[¶ø]ou÷vîÐ7ç-¼tîÜÙ¯ý•••i÷îÝNËÆŒãWLKKÓE]ä´l÷îÝöáC|å­î7ÁÄ­RW\\ìq½·i¤\åää8Ý"MIIÑ AƒœÊ”••iýúõöÝ»wרQ£”˜˜h/söÙgk×®]ögÞ¬V«<¨sÎ9Ççºx«»·s€æ Å @ÀUVVz\ï¦|‘——çô933ÓéöhYY™-Z¤¨¦¦F555ÊÉÉÑûï¿ïÔ¢f2™4pà@§}åææúU—öíÛ{\ïíÜ 9nÎÛ¼QQQ~íϵ«GNŸ×¯_ïvj­ªª*mذÁã¶%%%~ÕÅ[Qæ,L7ç-¼ø;~›k/N×é«<ŸæÚZç:s‚§i¬ÜñV÷¦Œ/¾"¸Á @Àyk•ò÷vbll¬Ógמ Ý»wot[×[£¥¥¥NŸýÇMòÞ¢f6›ýÚøƒà à¼7wÏ£yâÚ™ÁõÖè¨Q£Ü>{­ /¼Ðã¶Þ:¸ª®®ö¸¾)Óx€¯n.&&Æãz;ôêÕËésvv¶Ó𠉉‰š>}ºÎ:ë,™Íf™ÍfõíÛWS§Nu }õõõ§çºoo¼ÕÝÛ¹@s0Ž€€KLLÔ±cÇ]_TT¤ž={ú¼¿>}úhݺuö°vâÄ íÚµËiüµøøxMž<Ùã~vîÜé4oiXX˜úôéãs=lu÷Äß¡NÀ´¸¸äädë üÚ_||üiã¯mذAùùù>ïãðáÃÚ¸q£Ó²žÖCÕ›~øÁãzoçÍAppÞ‹?ËfĈNþ[,ýë_ÿÒÎ;n›ºª¯¯×7ß|£¥K—Ú'™—:\pÁ~×ãÈ‘#×Ü·J\·nÝ<®¯¨¨ÐÑ£GÕ©S'Ÿ÷§‰'jÙ²eö f±X´víZíÚµKT=Ô®];IÒÉ“'uèÐ!íÞ½Ûéö¨Ô0ƒÂe—]æwÒ‚‚‚ÓÆ”sݯ·s€æ ¸¸˜˜¥¦¦êøñã–Ù»w¯_ÁMjxÖm̘1Z¿~½S+Û‰'N›!¡1&“IcÆŒQïÞ½ý:¶ÔPgORSS½Î¬ÍÁ­RAá:~š«}ûö5iz¨ÁƒëÊ+¯lÒxif³YW^y¥ì÷¶µµµÚ¿¿Ç2ÞΚ‹à (222<®¯ªªRVVV“öÝ»woÝrË-2dˆÂ¼ÿ3™Lêß¿¿n¾ùæ&µ´IÒ®]»¼Ž?ׯ_¿&í|Å­RAѱcG¥¤¤œö|™£mÛ¶iРAM´6&&FcÆŒÑy秃*77W%%%öYâããÕ¾}{õêÕK}úôñ»÷¨£ššmÛ¶Íc™ÔÔT¥¦¦6ùà ‚€ ÉÌÌÔúõë]_^^®­[·jÔ¨QM>F||¼Î9ç§1ÝmëÖ­;%H ç ÁÆ­RA“™™éu&íÛ·ëÇl¡ùïØ±cÚ±c‡Ç2111§3Á@p4‘‘‘2dˆÇ2V«UË…qÉ· IDAT—/÷:y{(ÔÖÖjÅŠ²Z­Ë{î¹ÌQ  EÜÕàÁƒë±Lqq±V­Zåq Ý–V__¯+Vxâ*...¨·iÀÁ @P™Íf=Úk¹œœ­^½ºjä›5kÖèàÁƒ^Ë]tÑEMšš‚à èú÷ﯴ´4¯åöìÙ£5kÖ„´å­¾¾^kÖ¬Qvv¶×²Ý»w÷:ì Á @‹˜0a‚O³ deeéÓO? É3o555Z¶l™OãËEGGküøñ-P+ø Á @‹HHHЄ |*›““£wß}·E{›;vLï¾û®O·G¥† šäZ€3‚€Ó»wo >ܧ²ÅÅÅzï½÷´qãÆ&M嫚šmܸQï¿ÿ¾Š‹‹}ÚføðáMžšƒx´¨#F¨¼¼Ü§gȬV«¶mÛ¦}ûöé¼óÎkò, îÔÖÖ*++K_ýµ×ÁueffjĈ©øË¢ýº[orXn{ sóÙ±L˜Ãv¶Ï¶¯ðS¯§ÞÛ^Û×ÔÔlòã\˜mì¶œœ¿¶‹ŽŽV¿~ýÔ¯_?uîܹIÇ.((ÐÞ½{µÿ~¯sºJOO×äÉ“}š@ð™Íæ %•H²Hªsxµžzouøªwø²}–Ãg9,sý\ïðÞ‘·žTïiEpV«UkÖ¬ÑîÝ»›´}ll¬ÒÒÒÔ¹sg%%%©]»vЉ‰±·ÈÕÖÖª²²R'OžTQQ‘ ”ŸŸïW뚣ÌÌL;–д"·–Û/Á €$ióæÍúòË/C] †ÎíQ :ƒϸ©‘#GªsçÎZµj•ß·.ƒÍl6küøñêÛ·o¨«’èU  èÝ»·n¼ñFŸém)Ý»w×M7ÝDhЪp«@«òÝwßé¿ÿý¯ÊÊÊBrüØØX5J ÉñøŽ[¥b½{÷V·nÝôÍ7ßhÇŽª¬¬l‘ãÆÄÄèÜsÏÕ9çœÃÜ£Z-ZÜ´ZµµµÊÎÎÖîÝ»uüøñ #55U™™™8p`ÀƈÐ2ÎÄ7‚C8~ü¸öíÛ§C‡éøñãMžˆÞd2)55U=zôP¿~ý”ššàšh)·–Û/Á @“UUUéÈ‘#*,,Taa¡ŠŠŠT]]­êêjûôX‘‘‘ŠŠŠRTT”’’’”œœ¬ääduëÖͧÉî´~gbpã7†­ôôt¥§§‡º*ТÀ nAp0‚€AÜ ‚à`7ƒ ¸Á À nAp0‚€AÜ ‚à`7ƒ ¸Á @È}ùå—1b„FŒ¡ììlûò_|Q#FŒÐ¸qãBX;h="B]­Ç§Ÿ~ª?üá˘Íf­_¿¾…jd,ûöíӻᆱ;vèĉŠŠŠR=4vìXÝpÃ ŠŒŒ«„„ûú›nºI¯¾úª.\¨ÒÒR½ð úãÿ¨ºº:mÚ´I’4yòdÍš5+$õ`,7Möâ‹/êÝwßÕ]wÝ¥ŒŒ }ðÁÊÊÊRTT”.ºè"Ýy犉‰qÚ¦ªªJ¯¿þº¶nݪ£G*33Siii~»®®N .ÔÆuðàA¥¤¤èÜsÏÕo~ó%%%ÙËÕ××kùòåZºt©>¬ŠŠ õèÑC½zõÒôéÓÕ¯_?¿Ê¹zçwd±X¦Y³f9…6©¡…òÎ;ïÔæÍ›•““£U«VéÞ{ï•ÉdRuuµ$)??_uuuŠˆàW2Ïø-À­½{÷ª²²ò´åÝ»wWjjªÓ²W^yEaaa²Z­öeK–,QAAž}öYû²ŠŠ ÝvÛmÊË˳/Û²e‹¶lÙâWݪ««5sæLíÝ»W’d2™tøða>|XŸþ¹/^¬víÚIj¸ù·¿ýÍiû}ûöiß¾}ºõÖ[íË|-çêÀ’¤~ýú©wïÞnË„……iÊ”)zî¹ç$5´Ò >\]ºtÑ?ü ;wꦛnÒäÉ“5zôhõíÛׯëàÌApàÖÓO?ívùƒ>¨ë®»î´åãÆÓøñã%5¹Ã‡kÆ ÊËËSÏž=%Io½õ–=´]wÝuš0a‚~øá=ñÄ~ÕíÍ7ßÔÞ½{¯¹sçjðàÁÊÎÎÖý÷߯'Nè­·ÞÒÿüÏÿÈjµjÉ’%’¤Ñ£Gë¾ûîSrr²>¬üü|{Ðòµœ+‹Å¢C‡Ij´žôêÕËþÞÜžxâ Ýÿý*//W^^žæÏŸ¯ùóç+--MW^y¥¦M›¦èèh¿® €¶§ŒÄœ9stÉ%—è’K.ÑM7Ýd_~ðàAûûeË–I’† ¦|PƒÖ¤I“ôä“Oúu¬O>ùD’tÕUWé¼óÎSxx¸Î9ç]vÙe’¤]»vIjV555’¤òòr•””Èl6+##Ãil8_˹ª««³÷"µmß³Ùl%IçœsìïmÁ£´´T………’¤óÏ?ß©¼­—¥/Š‹‹UTT$IZ¼x±½c€kIŠŒŒÔ¤I“ôÉ'Ÿhûöíúå/©ØØX5JÓ¦MSff¦_å\EEE©k×®ÊÏÏwºýëŽãúôôt§s¿ë®»t×]wiÏž=Z·n>üðC•––*//Oo¿ý¶î¾ûnŸ¯€¶à à\ƒœ$ÕÖÖÚß×ÕÕ5yß®ƒØN›6í´2;v´¿Ÿ={¶Æ¯>úH_}õ•***´jÕ*­ZµJ<òˆ¦L™âW9WéééÊÏÏ×wß}§]»véì³Ïv[nÕªU’žwëÓ§Û2 Ѐtå•WjêÔ©²Z­N3IÁ @‹HNNV\\œÊËËõÅ_èöÛo·¯+//÷¸m}}½ý}\\œ:w‚õíÛW÷ÜsDZåL&“}:-«Õª¬¬,ýþ÷¿×ñãǵtéR{ 󵜫뮻NëÖ­“$=ûì³zá…”’’âTæ£>Ò—_~i/oëyZ]]m¿mê(55Uf³YUUUN=d€àÀ­Æz•šL& 2¤Iû¼ä’K´lÙ2eeeéü£¦L™¢¢¢"=òÈ#nËÛ̯¬¬Tnn®zôè¡°°0]}õÕzýõ×uàÀ=ùä“úÍo~£Î;«ººZß|ó¨øøxIÒ‡~¨Î;«_¿~JLLTll¬=ÆÆÆÚåk9WÆ Ó¤I“ôÙgŸiÿþýºùæ›õóŸÿ\gu–JJJ´iÓ&­]»VRCKàwÜaßö¦›nR\\œ† ¦®]»ª}ûö*,,Ô'Ÿ|¢ªª*IÒÈ‘#›t­´M7n5Ö«´9s•ÞqÇÚ´i“ŠŠŠ´lÙ2{g…Æ8Þvœ>}ºÆ§9sæhÆŒúꫯôõ×_kÅŠZ±b…Ìf³½ƒÀO<¡I“&©ªªJùË_Üv0™LºöÚk%Éçryøá‡e6›µtéRêÍ7ß<­Ì!Côè£ÚC`vv¶òóó%5 ;âÎĉõ³ŸýÌ㱜YnZL‡ô÷¿ÿ]/½ô’vìØ¡ÒÒR 2™L¡®BŒàvrÖpÐzÙ›ãïjBÜ™‰àvqüo{oµZ--×pf_nû}M€;³ÜήÍöe±Xd±XTWWwZ€´aaaŠˆˆPxx¸ÂÃÃe2™ì_¸3 Á­s mV«Uõõõª««SMM£øøx………ñZ¡úúzY­VÕÖÖª²²RÕÕÕ2›ÍŠˆˆÉd²·ÂÕ××ó{ü @pkÃl¡ÍÖÂfµZU]]-Ijß¾½""øö@kg2™ì-mÑÑѪ««Sii©êêêe/ck}#¼µm ÒF9†6«Õªºº:UTT(**JIII„60¨ˆˆ%%%)**JöÇ]ï£í"¸µA®Ï´Y­VUUU)>>^±±±!¬ Pbcc¯ªª*§à&ÞÚ2š]Ú0«Õ*‹Å¢êêjÅÄÄ(:::ÔUPtt´ý÷¼í¶©í™7´M|wÛÇa>l$)...”Õ‰í÷{]]ý.‹D«[[EpkÃlÿ KHHuUA” êêjY,–PWAFpkC\[Û,‹ÂÃÃâš‚)22Rááá²X,´ºµq·6Ê6æàÌ«ÚÚZToãnmŒëÌf³9ÔU´³Ùloq³}¡í!¸µ²Z­ô.€3DXX˜ýQ†i»ø«ÞƸ>çÆÚpf°ÍœÀómmÁ­ ;SŸs˜={¶†ª¡C‡ê‚ .ÐÏ~ö3½øâ‹ª©© uÕtà 7èã?ö{»1cÆhëÖ­§-ÿè£tÛm·Ù??~\O=õ”~ö³ŸiÔ¨Qºêª«ôøãëäÉ“’švmV®\©W^yÅiÙêÕ«uÏ=÷èòË/×E]¤ë¯¿^Ï?ÿ¼***ü>·@ºá†ôöÛoû½ãuqüš5k–$iÆŒú׿þ:ú³/Çz >\×\s~øa}ûí·Nåü9ïÆŽ¿ÿ~=òÈ#>í­×™ú{ÿL¼mP(þ—µå»jmΩRÖ‘*¬SqEÃ/ÄØ0õHŽÐ nfLÖ½£Z¤>×_½î¹çÕÔÔh÷îÝzòÉ'eµZuÿý÷·Èñ´kjjt×]wiÀ€zñÅ•˜˜¨cÇŽiÛ¶mŠ·—óçÚX­V½öÚkúŸÿùI ?[¿ÿýïµÿ~Íœ9S2›ÍÊÏÏ×öíÛC>ÈóÅ_¬þýû7iÛë®»N¿ýío–µ†©álõª­­U^^ž>ýôS͘1CO>ù¤&Nœ(©yçmÓ«W/íܹS[·nÕðáÃQu„­mmWè+ÁÐ>üº\ï~Y¦¼un×WXU\Q£ù5Z´¥L=S"4mX¼®=?¸GFF*&&F1119r¤n¸áýç?ÿ ê1}Ìà¶gÏåççkÑ¢E —$%''ŸöÝŸk³yófY,]|ñÅ’¤?üPÐâÅ‹:¾tíÚµUü±¿óÎ;›¼­Ùlv ¸­…c½’’’4dÈuîÜYÏ>û¬FŽ©„„„f·ãq®¿þz½ÿþû­â{ À=n•¢IöüP«Ûÿö£žù¬¸ÑÐæNÞ‰:=óY±nÿÛÚóCmkèìØ±cJOO·ž1c†V®\©{î¹G_|±¶lÙ¢ÚÚZ=ÿüóºæšk4jÔ(]{íµúôÓOöc±XôòË/ëÊ+¯ÔW\¡çž{NS¦LQ~~¾$©¶¶VùË_tå•Wj„ úÓŸþätû0::Ú>-$mÚ´I3fÌÐèÑ£5eʽüòËM>GÛ€Ë?üðƒ_Û¹^G«W¯ÖøñãíÏJ.X°@wÜq‡×ÞÊޮÌ3´`Áý¿ÿ÷ÿtñÅkúôéÚ±c‡_Û»~ÿlË]o.Z´H×_½Æ§{ï½Wßÿ½_×Çݹyû9ñö}ýæ›o4sæL·çî‹_ü⪯¯×úõë%~Þ¾þ\•••iêÔ©úë_ÿ*Iš8q¢6nܨòòr¿ê åÐâ¿­Ú]©Ù6k;óktË‚cúÓ5Éš00&@5ûɦM›4|øpY,­Y³Fk×®Õ;ï¼ãTæ÷¿ÿ½~÷»ßé·¿ý­zôè¡ÈÈHuïÞ]óæÍStt´V®\©'Ÿ|R™™™êÙ³§$饗^Ò—_~©çŸ^111zã7ì¡M’ž}öY•””èwÞQ]]žxâ ½ôÒKög¥^zé%{Ù“'OꡇÒ}÷ݧ‰'êÇTuuu“ÏyРAêÛ·¯~ýë_kÚ´iš_Gwß?G‹E ,Ðï~÷; 0@;vÔe—]æTGK–,ÑE]äôÕXK˜§Ÿoßפ¤$Íš5KgŸ}öiçî:¨¸¸ø´å¾ü\Õ××kîܹª¨¨Ðã?n_n2™Ô­[7¿ë åÐâŸíù¡6 ¡ÍföÇ…JKê¨]75×ôéÓíÛWTTè_ÿú—ž{î9þùöçµÎ9çœÓ¶+..Öòå˵cÇ•––*??_UUU’¤#GŽÈb±8=3æØ“——'«Õª_ýêWö[‹uuuÞvêÝ»·†ª©S§ê¢‹.ÒÕW_Ýìg‹bcc5cÆ MŸ>]ëׯעE‹të­·êí·ßVFF†Ï×F’ªªªTTTdoµëÚµ«$éðáÃöV«[o½UÓ§O—ÔÐÊæÏup¼v]»vULLŒ***|ÞÞÝ÷ÏÑ‘#GTQQásv¼.Þxú9ñåûêú| íÜýñã?ꢋ.:m¹/Ç_ºt©vîÜ©+VœvÛ»S§N*++ó«.ZÁ >{nåéÿ»ä¾ß¼¥CPö«o¼QÿùÏôõ×_;…G•••ºõÖ[5nÜ8Íœ9S;wÖí·ßnŸ´¹®®NV«µÑ$I .Tûöí½Ö+,,L¯¾úª¾þúkýûßÿÖC=¤¡C‡ê¹çž;­l||¼ÛÖ•òòr·ÇŠˆˆÐ¸qãtñÅkêÔ©Z½zµ=¸9òtml¡©´´Ô^¶k×®Ú°aƒ=4™Ífû~Ûm>¯ƒëñšº½+[ø°Z­öÎàíçÄŸï«¿ã-ÖÔÔèÀºõÖ[O[çËñ‡ ¦ÜÜ\½÷Þ{§ul())a~c ãV)|òá×åÚ™¼qÐvæ×èïƒû@tRR’Ç^ƒ{öìQqq±î¹çõéÓG±±±Ú¿¿Ž=*IJKK“ÉdÒöíÛÝnߥKÅÅÅiݺu~ÕëüóÏ×O<¡ hݺuö[’ŽÎ:ë,}ñŧ-ß±c‡Ça ÂÃÕššêÔ!Âw×&**Jf³Yöe·Ýv›/^¬ÜÜÜF÷ÕÔë¨ímºuë&«Õª={ö4k?®¼ýœØøò}mªE‹©[·nºà‚ -ãéø]»vÕSO=¥¿ýíoö6j×®]Àê °nðÉ»_ÿÖI QWW§ššÕÔÔèäÉ“Z³f¾þúk]zé¥n“œœ¬²²2}ðÁ*))ÑêÕ«%ýt‹066VW\q…þüç?+;;[Ç×_þòûöš1c†^zé%mÙ²E‹EGÕîÝ»ÝïäÉ“Zºt©Ž;¦ªª*}ýõ׊‰‰Qbbâieo¿ýv-[¶Lo¼ñ†>¬Ã‡ëÕW_Õ®]»ì·*wíÚ¥yóæiË–-úþûïuèÐ!ýõ¯Õž={4~üø&]›¾}û:õR½úê«uÁè–[nѻᆱèûï¿×êÕ«µfÍÅÆÆú}\5w{›öíÛkìØ±zæ™g”——§ŠŠ ­_¿¾Iƒ'&&êÈ‘#ª¯¯÷úsâÏ÷Õ¶NeeeÊÎÎÖ¼yóôî»ïjöìÙn[ê|=þˆ#4sæL=þøãögÚª««UXX¨³Î:«Iu|Ü*…W[¾«ökÈÆ¤%5 ÄûŸ=•ªµœ>8dÞ‰:mù®: ƒô¾ÿþûzÿý÷%5üÏÈÈмyóöBj€ôž{îÑ믿®W_}U^x¡ÆŽëTæá‡ÖóÏ?¯ûî»OíÚµ³€j»uúË_þRQQQš7ož ”œœ¬[n¹ÅísV¥¥¥Z³f^~ùe•——«gÏžzæ™gܵqöÙgkþüùzíµ×´xñbÅÄÄèÜsÏÕßÿþw{ëˆí¶¢íØÑÑÑ0`€æÏŸoïëïµ9ÿüóõÍ7ßhÚ´iöó|î¹çôñÇkåÊ•zã7¡^½zéÁÔ¤I“ü¾î4w{›Ç{LÏ=÷œn¿ývÕÖÖ*##Cgu–bccýÚÏôéÓõÔSOéàÁƒš7ožÇŸ¾¯¾X²d‰–,Y¢ÈÈHõéÓGƒÖ{ï½×èmdŽÛm·)++K?ü°Þzë-íÚµKíÛ·÷øï@hk"Koûu·Þä°Üöææ³c™0‡ílŸm_á§^#N½·½¶¯©©Ùäǹ‚㥋Euuu*--UZZZ³÷ýâê-ÚÒ¼Ö°^)zcF%ƆéÿûO‰~á~Ó/ˆ×½ã›þ\SK;qâ„&Mš¤Ï?ÿ¼É˜[³ƒjÆŒZ¾|¹ýÙ3´]O<ñ„ôÀ„º*h¢üü|%$$(""BáááöÿT¶Õy«Ífó…’J$Y$Õ9¼ZO½·:|Õ;|Ù>Ëá³–¹~®wxïÈ۟‚[¥ð*ëHóžm뮿ܘªÄØ0Õ×K‡ o½kî±ZÚ¾}û”––Ö&C›$õéÓG#GŽÔÂ… C]Ù÷߯ÿþ÷¿úÅ/~êªð€[¥ðÊSÐò&.ʤnHQ—ö ½úæ¯;©õû«‚r¬–››«¼¼<þù:qâ„^~ùeÝ|óÍ¡®VPÝwß}:xð`¨« ‹ŠŠÒÿþïÿªS§N¡® nðÊ6a¼;Éqašs•UYõà’*,ÿ©¬9¤禦(£SÃÐ|]®·>/mò±ZƒÒÒR-X°@³gÏV§Ntíµ×êç?ÿy¨«T]»vµ?x¶+%%EãÆ u5xApC³ôL‰T¯”†£WoJÕoþq\EåV…™¤'–¤óz4t4X³·RóVo¸–röÙgëoû[¨«8CñŒ¼JŒmüÇdÇ¡j}¼½aüµ>"õêM©JŠ Óƒ—%êÒ S m;T­ÇÿU$«hz:g:ZÜàUäW¸ï4P/é™åÅ 3IW‰Sz‡H½;³“’N°ÇjõÐ’BÕÔùÖ±¦G2?’4†æ x5¨›ç“Özé©eÅö™l¡íØI‹î{ï„J«|nÍÛ±8“ÜàÕÈôh¯eê%Íý¬Xmko%•VývÑq=i ø±8Sq_ ^]Ð;J=S"¼Îž` oj µp IDATÖzéÓ]Êõs¶…ž)™5€¶Š7ødÚ°Æ'gwd­ooMH××cœIêëëõñÇ«®î§œ——§ÿûß§•µX,zíµ×šu¼ÆöÝ_Ž™››«­[·6«^€´¸Á'מ§åYÚ™œ™ ÎI3ëÚóãš½Ÿ²²2mذA?üðƒ}nÊK.¹D&“Ißÿ½Ö­[§²²2uèÐA'N5£ýû÷Ëd2)"⧪GŽ ÈTfîcß:uÒŠ+4xð`EEÑ¢ ÍApƒÏ˜˜¨[ Ú¾áøñãÊÌÌÔ¤I“TTT¤¥K—*;;[gu––-[¦k¯½VIIIúꫯ´lÙ2]ýõNÛGDDhèÐ¡êØ±£jkkõÕW_iݺuºâŠ+$I6lPXX˜n½õV?~\}ô‘n¼ñFûDïÔæÍ›5vìXuéÒEV«U'Nœ8mJ¬©S§ª]»v*--Õ| ””}öÙ§OVV–†ê´,??ßiRó@ ƾcbbÔ§Oíß¿ßí9|Ç­Røl@—Hýéšä€ï÷O×$k@—È€ì«W¯^êÑ£‡L&“’““Õ¯_?8qBßÿ½:tè ääd™L& 6L%%%***rÚ>..N;v”$EFFꬳÎRYY™$©®®N{÷îÕÈ‘#e2™Ô¡Cõïß_ÙÙÙ’ZÏÖ®]«Ë/¿\]»v•ÉdRxx¸:vì¨ÄD÷Á4!!A=zôpºêèØ±cêÞ½»ýs]]Š‹‹•ššÚìkå*˜ûîÑ£‡ ¾_8ÓÐâ¿L#)Y³?. ÈþþtMò©}GYY™:uê$‹Å¢ÚÚZ§uÕÕÕ***RRRÒiÛÕ×׫  @Û·o׈#$IÅÅÅŠwºÝ×µkWíÛ·O’TXX¨èèh·ûsTUU¥üü|µk×NyyyÊÏÏ·ÃQEE…¢££n¡¨K—.2™L’d¿ý[]]­¤¤$ÕÔüt+ûСCÚ°aƒªªª”’’¢ &híÚµêÑ£‡½åkÛ¶mªªªÒ…^è´ïúúz­_¿^999 W÷îÝíÓ!5vÌòòr­X±B………²X,ÊÌÌÔèÑ£%IíÛ·Wq±ñg΀P#¸ÁoÆ(-©£ž[YÜägÞÎI3뉉kis§¤¤D‡Ò%—\¢šš­\¹R‡R‡”••¥ÄÄDUTT¸ÝvÑ¢EúñǧôôtI AÊõ­èèhUUUI’Nž<©è蟆3Ù³g6oÞlÿüË_þRRCËÖþóµk×Nuuuª¨¨Ðwß}§Aƒ9í»¬¬LqqÎÏýåççÛŸA«®®Ö'Ÿ|¢ŸÿüçJMMU^^ž¾ûî;{]W¬X¡©S§ª}ûöÚºu«6nܨAƒéË/¿´·}ûöiòäɧí;//O?üðƒn»í6™L&{‹ §cÆÄÄèÒK/UûöíUUU¥E‹)==]]ºtQ||¼JK=ÏS ðŽà†&Ð%RoÞÒA~]®w¿,ó:TˆMÏ”MŽžÔÕÕiùòå7nœ"##©«®ºJ[·nUmm­ ¤äääÓ‚‘ÍM7ݤÚÚZV À€0X—0¶@B×Ìhºß?¤Z­9%fzôýTMõõtÏÓÝ3èÇót÷hÛ¶mš?þ¨f …B±***Fµ*-_¾\Ë—/—išú§ú§ØüòòòØ5n’ôî»ïjëÖ­Z¶lÙ¨›‚Á F½_{{»î¼óNIÒ{ï½§ªªªX׿üùócÁòܹsêëëÓË/¿,I ‡ÃŠF£ª««ÓöíÛÕ××§H$"¿ßëÆµo{Ö¬YêííÕË/¿¬… ª®®.å{z½^ iÏž=º|ù²úúúÔ×7ü\¿þþþ17‚2GpÄ|zu™>½ºL{ÚBj>>¨CíaîÒ¥þá_K˜YêU]•_×ÖtÛÂ’)yN›išÚ²e‹-Z4êŽÏ Ä®3MSû÷ïuåÅSTT¤¥K—êÀêîîVuuµzzz488kYëììTuuµ¤á°FÕÖÖ6æNÓd–.]ªíÛ·«¿¿?æ¤á€giøº‹/ÆB“acnz°kÞ¼yúÄ'>1fÙŠ+tôèQ…B!­\¹2î¶+++õ…/|A'NœÐ;ï¼£¦¦&=òÈ#Iß³££CÛ¶mÓ† T]]­®®.…B!Ií‘ö}ŒÁ “âà Åyñð\Ó4õâ‹/ªººzÔݘ¦iêâÅ‹ªªªÒÐÐvïÞ­ÚÚZ͘1CÑhTo¼ñ†V­Z¥Ë—/Ë0 Í™3G†aèÌ™3êïï×ìÙ³´xñbíܹS6lPOOŽ9¢‡zH’äóù´nÝ:mݺU7nTCCƒ¼^oÊ‹òÏ;§’’’1ÁÆãñ¨¬¬,vÞùóçUSS»¾íꫯÖK/½¤ŽŽÕÔÔ¨³³3”æÎ«îîn8qB2MSCCC***ÒŠ+´yófE£ÑØ]µÎm‡B! iñâźæškôÔSO) %}Ï>ø@%%%ª©©Q(Ò¹sçtÝu×I¾Û7Õµ€Ôn((‡Ò»ï¾«ŠŠ 9rD’ô‰O|B/½ôRì:´E‹Å.¶ÔbwwîÞ½[]]]2 CUUUºï¾ûb­Lëׯ׶mÛôãÿX%%%Ú´iÓ¨îÖÅ‹«´´T»wïÖŽ;b]‘ŸùÌgFÕó¹çž“×ë•×ëUYY™î¿ÿþ¸û³téR½õÖ[Z·nݘg¬ƒA}ô£Õ‹/¾(¯×«šššXø+**Ò< W^yE»wïV Ð 7Ü E‹©¢¢"F‹Š†¯1tn»««KÍÍÍêííU4Õ­·ÞkeLôž‹-Ò©S§ô“ŸüDÁ`Pµµµòûý2 C‡Ò§>õ©ñŸX€$É“£íÆ[î±Í·†Þ8Óö2^ÛzÖ´õò ý#ãÖ°2ïÊ`_\Á4MIÃ]^†a(‰èòå˪­­µ¢À}ôóŸÿ\ŸÿüçuöìYÍž=[3f̘ô÷ikkËÚ¶[[[uôèÑØ³ðd‡išjoo׌3TTTûÏ¡¤‚ý;ÖHê–•4d#ã†íeÚ^Ö´lÓ²ÍsN›¶q»xó2Yž1‚[ˆÜúúúTSS#ŸÏ—ãÚa"º»»UYY™ëjŒ[$Q$áæ ˢѨ:::TVVFp+ààÆx Œõå´þj]÷rsh“†»m m@ö…B!ù|¾QPxnÊ nÖSÿ…­··wTpCa"¸ Çûar«› P¸¬ëý~ìo Á­@Ø¿¤'vmC PW×äü< ?uuu)ÄþíwþM@á ¸ëZöV7Ã0ÔÓӓ몲 §§G†aŒjm£Õ­pÜ ”u›ÏçS POOOÂßå¸S¿zzzbÿæØ Á­€Øï$²^^¯W~¿_%%%úàƒhy€ÑÓÓûÅ¿ßë"µ·¶â ¿œPÀ¬ç÷HÃÏy+--ÕåË—Õß߯ªªª„¿9 È_ápX]]]ŠF£*--µ´ù|¾Qÿî£0Ü ŒÇã‘i𱡤X«›$•””(‰èüùó ª¨¨Pqqñ˜‹YùÁ4M†¡P(¤žž…Ãa•””ÈçóÅZÛ,´¶6‚[³ºJ Èýz‚½ûthh(ö›œ†a¤Ø W¬»Eý~¬•ÍëõÆZÚ¬2„µÂGp+@öÖ6+¨™¦»hÕ0ŒØ>È0 ™¦[?ì×,Û÷dô‡ó.R\á"¸(gx³­V8+¬Yã€üdnÖ¸¤¸¿EJh+l·æ o¦i޹pÕ9ùÃÈìÿOT…àVàâµ¼ÙÚµŒÀù+Þ ÎFh›nÓ€=°9§¹ûÜ…À6½ܦ‘Dà>ü>=ܦ!û—.RpÂnÓÿàü6€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7¸Ò™3gôä“OjË–-c–=óÌ3zçwN'Fõä“Oª»»;íòCCCéU:ËâÕ%“}ϦɬÇdóLÎsºeö³Ÿiß¾}ª×D9ëÉw!_>+S%Óï:/np¥––Í;WmmmŠF£9«Ç믿®mÛ¶åìýíò©.Ù”¯ûÙØØ¨9sæLû:È.‚\'êøñãºë®»äóùtêÔ©\W Ðm·Ý¦ºººi_ÙåÏu€L:uJ%%%ª©©QCCƒŽ;¦ÆÆÆqmË0 íÞ½[---2MS×\sMlY4Õ®]»ÔÖÖ¦ÞÞ^•——ëCú–-[&IÚ¿¿öîÝ+I:v옮½öZ­]»6é:N¦ijÿþý:|ø°tõÕWkݺuª¨¨4Ü}µpáB>}Z.\PEE…Ö­[§yóæÚN¼º¬[·N’ôÞ{ï©¥¥EcÖF£jnnVkk«†††´páB­]»VEEEq{ss³ºººTVV¦Å‹kÍš5o'Ýòo¾ù¦:¤þþ~Í;WëÖ­SkkkÜýLµ½dçÙ)UÙgžyF«W¯ÖáÇõÞ{ïéãÿ¸êêêôÌ3ÏhÕªUZ¹r¥¶lÙ"¿ß¯|ä#±õöíÛ§ŽŽÝ{ï½i¯_|Q¦iêž{ï~÷»ºá†tçwJ’"‘ˆ~ðƒèÑGÕæÍ›cu¶¶6íß¿_ýýýª©©Ñúõë5sæÌ´Ï™%UÙxǰ¶¶6åwg"ŸÁL>@>#¸ÁuŽ=ªÅ‹KîÚ¶m›¢Ñ¨|>_ÆÛÚµk—Μ9£ßùßQQQ‘vïÞ[æóùTYY©{ï½W~¿_­­­Úºu«jjj4kÖ,­^½Z‘HD—.]Šýa•”t§={öèäÉ“±òMMMúÕ¯~¥G}T>ŸOƒƒƒjnnÖg?ûYUVVª¹¹Y¿ýíoõ…/|aÔþ&ªËÀÀ€>œpýW_}UƒƒƒúÝßý]†¡­[·jçαÐg …Bzá…´víZ-Y²D½½½£®3Kw;é–ß¿¿ZZZ´iÓ&•––êܹs ƒ ÷3Õö’çL>–Í›7kýúõºýöÛcÁÆnÉ’%Ú¾}»LÓ”Çã‘$?~\7ÝtSFÇ«±±Q¯¼òJlúìÙ³’¤'NÄ‚[{{»*++UYY™pŸÒÑÝÝ­ÎÎN}æ3ŸQyy¹š››õoÿöoú½ßû=ùýþŒÎq:eÇ0Õ÷m¢ŸÁL>@>£«®‰DÔÖÖ¦E‹I’êëëFcÐ2FõöÛokãÆš={¶*++µqãÆQe®»î:UWW«²²R7ß|³***ÔÑÑ‘t»é®FuàÀ­_¿>V~Ó¦M ‡Ãjkk“$•””hÆ š;w®‚Á n¾ùfõ÷÷ëÒ¥Kiíc0Ôºuë⮇õÎ;ïèÎ;ïTii©ÊËËuë­·êøñãc¶ÓÛÛ«h4ªk®¹FÅÅŪ®®VMM$e´tʆ¡}ûöiÆ š3gŽÊË˵dÉ’„­w©¶—Îy¶Ÿ“tÊ®\¹R«V­ÒìÙ³å÷ýÿo}}½ Ãйsçbǯ««K ¯úúz…B!½ÿþû’†[œÖ¬Y£}ðÁ’¤Ó§O«¡¡!îþdÂ0 Ýxãš7ož***b­…­­­Õ9ݲñŽa²ïÎD>ƒ™|€|G‹\¥­­MEEEš5k–"‘ˆ$éꫯVkk«êëë3ÚÖ¥K—d†®ºêªØ<«uÄ200 ––;wN¡PHÝÝÝ)ïhLwîîn†1êbò¢¢"Í;W/^Œ[§ŠŠ Åö=ö–9ûú—.]’išzöÙgcïa†Âáð˜mTUUiþüùúéOª††­\¹R ,¤Œ¶“Nùžž…Ãá´/²Oµ½tγ}[é”;wnÒ:ù|>-\¸P'NœPmm­Ž?®††ùý~uvv¦}¼€jkkuæÌÍž=['OžÔý÷߯ .èäÉ“ª®®ÖéÓ§¶lfbÖ¬YªªªµóæÍSWW—ª««Ó®sºŸ‡xÇ0Ùwg"ŸÁL>@¾#¸ÁUŽ=ªþþ~}ï{ß³lÆ òzÓoD6 C¦iŽêβ‹D"úå/©E‹éÃþ°f̘¡çž{N†a$Üf&ëD£Q™¦)Ã0F…+ŸÏ7®nßLK’~øa•””$-ëñxôÉO~RgÏžÕ‘#Gô /hþüùºï¾û2ÚN:ï …$ _ÿ7û‘ê<·l*K—.ÕŽ;´víZ8qB×_}ZõujllÔ©S§ÔÐРǣ™3gª±±QÔ²eËÔÛÛ;æšÇÉb}3©s¦ûgIõÝ™Ègp2Ï+kt•Â5B¡N:¥‡zH_ýêWc¯/ùËòxø Nœ8¡ÞÞÞŒ·“ª|eeeì8$bßÏt¶'%>Ïã-›Êüùó‰DtöìY]¸p!Ö"œéñjllÔ¹sçtâĉX—hCCƒ:;;ÕÒÒ¢ dô–Dìݯ–ŽŽUWWgTçñ|®¤ô¿;ãù Næyrà×8vì˜ÊÊÊÆt¡ƒAÍ›7OÇŽ‹M÷ôôŒZnŸ¶-_¾\;vìPGG‡úúúÔÔÔ[^ZZªP(¤ƒjppP­­­’»ãS’ÊËËÕÞޮ˗/+‰¤µŽýýW®\©—_~Yêïï×k¯½¦`0˜q·o¼º¤âõzµzõjíܹS§OŸ–aêíí˜uøðáØáííí***R0Lk;ösª|II‰.\¨W^yE/^Œ]ógí“s?Sm/Õy¶Ë¤l*G‹/ÖöíÛÕØØkEÍä¸KÃA¨¢¢B{÷î·@  yóæ©©©)éõmé~¤ákÈÞ|óMµ··«¿¿_MMM2MS .̨ΙîŸ%Õwg"ŸÁÉ<¯@®e«?&U[t¼åÛüdCçx¢—×6´¿J¾ño|1ƒ}AžØ¹s§êêêâ>§Êº8ùÆoTii©öíÛ§ööv-Y²dÌ´]]].^¼¨={ö¨µµUµµµêîîÖòåË5sæLùý~½þúëzë­·dš¦fΜ©™3gÆÂcUU•:::ÔÔÔ¤ÎÎN]ýõ)×q¾ÿåË—µgϽýöÛ*++Ó=÷Ü»XûСCª©©µî¾}û´|ùr•——Ú–³.K—.M¹~mm­<öíÛ§]»v騱cª¬¬S×¾¾>½ñÆÚ³göîÝ«žžmܸ1v§lªí8ÏAªòõõõêììTss³Þxã uww«¾¾^ÅÅÅq÷3Õö’gg×Zª²ñŽi¢sURR¢hÍš5£î>M÷¸ÛÿéÓ§õ‘|$ÖÕ‰DtòäI­_¿^@ n2ù.´µµ©±±Q‡ÖÞ½{UTT¤üã±nÈLꜪl¼c “~w&úÌä3÷ø«¿ú«I I2%Ž¡óe—étÞÈVgÿd7oœi{¯Æ†5ëåúGÆ­ae8Þ•Á¾€<ÖHê–•4d#ã†íeqÖ´lÓ²ÍsNÇ J0/“士À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7—ðçºÜÏìPhg³ÂÞTäÈ»Šž:­è…÷eöõçºjSÎSV*ßU³å«¯SÑòe ÜtƒŠo¿MžÒ`®« ÜŒÛàÖø÷_k`óK¹®JÞ0ûú5ÔwZC'O+ôjSl~ðc›üäý*¹{CkÀí<9Ún¼åÛ|kè3m/ãµ­gM[/ßÈÐ?2n +Ãáð® ö€ÃÀó¿QïSO+røÝ\WÅuŠV,SùWþ@ÁîËuU× k$uKŠJ² ‘qÃö2m/kZ¶iÙæ9§MÛ¸]¼y™,ÏÁ @Ú"-­êùÖߎjIÂøßu‡*þôOT´tq®«¸Öt nÜœ -ý¿xVîy€Ð6IB¯6éÂ=¨ÿÏæº*\„à ¥žoG—¾þÍ\W£ ]úú7Õóíïäº\‚à ©îoþµz¿ÿÃ\W£ õ~ÿ‡êþæ_çº\€à ¡žoG}ÿòó\WcZèû—ŸÓò %‚€¸úñ,-mS¬÷û?äš7IÜŒiiåš¶¹ôõo*ÒÒšëjÈS7cô|ëos]…iã ‚€Qžÿ üȱЫMxþ7¹®€uçI…GžYX±LÁ ë4øÚN]øÒ“$] ªôÞ{䯯ÓPÛÉlìnZòá¼È7ycàµ&Í’TrËj >#y<üÏ]ÃËv¼ªòG>«Àµ+Urë-Š´ÔÐÙöQ뛃ƒ C[2E‹I’Jî¼]õgGÿÀ»of¥†Æ·;0én$ ßÁ™ëÖÈÑcŠžïPñÍ7i¨³s¸ûtïp³‚[ùg?%}.ÿŸŸY¼Ï<‹^¼(IlÚ¥®?û‹QˆδÇYcêX1‰kÜŒð]5;×U$ ¼Ú$oÕ,ÍøÜñ$i°i§ÌÈfüþ熧“<$©¡áö3oeelVäè1)UàÚоߥÈñ¶ØË ‡'¶C”/ç@~ ¸$ùêër]IÒàÈó܆ǯ„3£·O¡×¯tƒîÜ=®í[×µÍú‹?ÓÌÿùÇò+z¾C—þKygÎÔÜÿxV•ý‘ªÿæ¯5ûÿã8÷bòäËyn$IEË—åº ’F¨kšWÆíËv¼*I íCÆåËãÚþåŸüT}¿z^þºù*ä³*ZºX’tñ©KóRÔPåý²7^?ÜuìñL`o&._Î €ü­‘Rm7Þrm¾5ôÆ™¶—ñÚÖ³¦­—odè·†•ápxWûL ƒ[w¨ë+ÿ#×Õ€CÕSÿ¬’»7äº@^ k$uKŠJ² ‘qÃö2m/kZ¶iÙæ9§MÛ¸]¼y™,Ï-n$IÅ·ß–ë* Î ;‚Iÿüئ\W6Ám’§4˜ëjÈ#71ÁOÞŸë*À†óÀ‰à ¦äî *ZÁÅðù hÅ2®m0Á À(å_ùƒ\Wâ<ˆà`”à÷©ø®;r]i­ø®;|à¾\W@"¸£âOÿ$×U˜Ö8þ!¸£hébÍ|âñ\WcZšùÄ㱇€Á @\¥?¨ò?üR®«1­”ÿá—Túðƒ¹®€þç´¼eYù~I•ÿy®«ÀnRªøÚc\ó–%3Ÿxœ–6i#¸HKéÃêª-Ïó¨IR|׺jËó\Ó #žm7Þrm¾5ôÆ™¶—ñÚÖ³¦­—odè·†•ápxWûÀaàùߨ÷©§9ün®«â:E+–©ü+ÀsÚ€IÖHê–•4d#ã†íeÚ^Ö´lÓ²ÍsN›¶q»xó2Yž1‚€qܺCÿþk l~)×UÉ{ÁmRð“÷ó3VÀ$"¸MÝv n@1ûÚÙ¬ð79ò®¢§N+zá}™}ý¹®Ú”ó”•ÊwÕlùêëT´|™7Ý âÛo“§4˜ëª‡à6uÛ%¸€ ™ŽÁ›\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\‚àà7— ¸¸Á À%n.App ‚€KÜ\"[ÁÍÌÒvÜ +YÈí-nD Wg‡\7W40íå$˸­ÅÀ&“«²E¾·ñLW5—#ò=¸`Á À%n.‘oÁm²ú•“nÇãñtNÒû€Hãoù”dŠ©–oÁ-Îh¦Xf:Æ£‘H¤%KuS`äoyTñÿÖÛ¥Ê ®’¯ÁÍL2tŽ'z¶¡õ’¤Hggç¾lVd×ÈßòÈȤýo½=${)Îx¼a^ÉepK÷€Œ÷ÀÅK؆¤¡§Ÿ~zç8· òÀÈßò!]i˜IÖ²–®lg“ óäxÛž8ãΡ40íó/oœi¯$Ÿíå· Ë/^¼øgeee÷g¶K ×úúú~=kÖ¬ÿ%©WÃá-jZ/{ œ³7.Që›qå]’¶À¥Ü þ·JSí`²åö¡ãöWèïÿþïÿïø« reäoxHéw:C™ÓD2È”Êf‹[:Ûw.OÔêæ3íq”óÆ&ku îß¿ÿ¾U«V}3ƒý9tðàÁÇW¯^ýIJ¯µÍ9”Ɔ9û%UÒØV¶LojÈZÐsKp³wƒZÓ^DzdÝ¥^ ‡5+¸Y¯²¶¶¶‡jkkÿ8£½S®½½ýž‘Ô§ÑAmHW®wK§›TŠäÒ½Q!gÁ-×]¥Ù±DþHvì'Ó4ÐÐÐð¯||õYvðàÁÇþUÃ-mö¿åÖ#A¤ÔY@¶ùã•ÓnS_–·?™7(¤j…‹7ÏÞµj*~ëÐSO=uÒ0Œ­·ÜrKq XšFÀèëëûõ·¾õ­o|îsŸÛ'©_c[Õìá-Þsݤäá-¯ÿá”ë®Rg™dAÍy[¼îÒxwšÚ»Kíݦöëß¼’Š$ýë__ðÅ/~qÍܹsW%¦iÎIcÀ$ðx<ápøèùóç÷ÿèG?ÚõÄOœÑð] iVpsvZÃTw:»I­yŠ3?Ùx"®½Æ-÷˜Èun‰®}³‡:çµnΡsÜo{9·5Ç €éƨ¬Pf¿vÍÙÒæ köeÎm%zÒ„sž’ uMµ/YáÏæÆÓd*½@d•³å˜g/kèJ©‘Æ{Ø/^Râ`&W¢`ïW…5{@³'zç¼Lê™3ùÜÉ4ÐYãV`³¦-V÷høD[Ë}ý!ñèJг·àI7²Á âuq&»ž-Þ¤g€sM@K$ƒ[¼Ö3kÚÞŠælisŽ[¬rÖÉ•Fw£Ê±Üùh‘¨è* ›â]gæ qÎV7gK[²;Iã;ßÓY.ÞtÎMEpK·ål"ۗƆ6+°YaÏ>´¯k:Ê9[Üìݲö÷¯…,U—i¼qûúRüð–í –õ 7U!d2ï.•RßajŸç¼+Õ«Ñ7$»#Õ¹ít÷¤'Q×f²;CáMÝZ—è®ÑtZÛòònRK>v•Jãk¥KÔ}*]iE³ZÜLîrµ‡:Zܘ:ÉZܬåÎ5g8sv±:·=ž@•wݤR~µ¸9˧Õ-ÙãBâ=.ѳàìåœãÎz€ñq†##θ3ÈÅûé*g¹d×¼e«µ-“rã6U-nÙ¼ÎÍÞÒf‰w“‚Åp,··ºY彺rçi¢íØß¤/ÑßU#Étª›Ý”/´eÔ´ÐåkW©ÿŽQû<ûc?œë8oPPœéx]ªV#Ét*„9®È$Ð$»¡ ^whª—èý3imË+S2&«»Ô9ïQñºQ“ÍOu#a €ì‹¢âÝT¨Û3îÐDÿÈûnR)û?2ï”éÝ¥ÎéDAÊ9ߌ3ÏÙb—¨.ñ>7²ÏysB:¿šIhK®&ÚÚ6e-tSHÆÓêfŸNÕê–h~:77$÷ˆàÀTHÔÅ™,°Ùç¥jUKÕÚæ `yÕÚ&åg‹[¼r©Â•³U,YË›5î<Èé¶À€É•èÆg)u¸ohs…\´$e+¼I©[Þ­¯U-Ñ{$«#Hm<]–é´ÆM$´å}k›”ßÁ-^Ùto\È4Ø%ºY!Q=2EÀL 1ÉZÙœËÓ fã¹!Ó;a§L®Åd·ºÅ[6ž`oy¼2`ò%ke‹W&U0K7œ¹¢µMÊÿà¯ìxÃ[¦Ë“•“/^PSœy鄲l‡¶LËNŠ\’©oÖôx1’É<0>é5û¼L[¢2é,K%'75Lõ]¥NÙ oéÎK÷¦ƒñví€ñw=fzMZª»E]ڤ܉7ç¼L–'+K+¹‘nK[¼ò m‰æ%2mƒ›4ñðæœ?Ñg_–Ç€é&ѵnö婯Ó]žlþDËNº|&™Öa¼á-U™T!.r 3é> 7“kÕÆ[&Ó>¸I“ÞìË&#ˆMFk ˜¼V­Lƒ^&a0•œÿÊB>…l„·t·›*ìåÓq P¥jK'8·/“íæL¾’ñÔ']œ\ß@n¥ºÎ-^ùxãÉÊgÛ9•oád¼õ™ŒVµl­ ’ˤEm"ëŽ7€Ü’Èfx³—Ì}ÏÇã@¾™Ì4‘¹Lß'oäkà˜H½Æ³®7ucFê"cL$xåUh“ò7¸ISÞœëæó± ÐM¤ûÔ¹©^7kò=œL´~“±ù~Œ($“˜&º¼ m’;BI¾†/7;òU6ÂQ>„¾¬rSø˜¬ººiŸ@r“´ò:°YÜb¸H“‡ª+¸1¼Ðí Àô”¯Ý«SÆÍ%›uwóq Pd3T¹*°Y ! Lå>Âñ ßLeˆre`³JÉÇýÈÇ:0Uò1 åc2Rhá¢ÐöLœë›¥ƒN!ïH®`šÝt7ÓaÀ°‚ l–éj¦Ûþ0tX³›îAfºï?n4m‚šÁe4ŽùgÚ5'‚Jz8Nd-Éäã˜pa ˜þ?â þ—}p=IEND®B`‚Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/screenshots/1.png000066400000000000000000000434541516676475000275660ustar00rootroot00000000000000‰PNG  IHDRnÒd ]sBIT|dˆtEXtSoftwaregnome-screenshotï¿>-tEXtCreation TimeSun 05 Nov 2023 06:45:47 PM EST w Ÿ IDATxœìÝy˜ÓÕ½ÇñO’If2 Ë€ 2È2.ìRT°ÚÖºÐ[‹ZÅÚjÕVm/.¨uy€Ú^+[¤pi¥½k/jeuª€lv؆a‘E¶Ù2“äþ1$&™$“Ì$“ßɼ_Ï“'¿-¿œ_âÃ|<çw¾‘‹²eºYˆÏ€¯ø3Ý€lBÈH ŸéGÈk$ŸÖC ;®­•¶~ý˜¨Í¹¶\ÚÚõд™ ׂL[¸FÐ «C\6‡šl¾6_V¸l 7Ùv= å²&ÄeKбâuX±M´+†%+¶))Ù.Zó²áóÀjZ3PÞL"él»-Íçñù•Þed€31œ¤£Íö4œ¤–/ ç4*À™ÜRÕ^zÔ0[*{äŒ o&…—–¶ÕñÜšï šÖœåxnÍ÷nu&’–´±¹a-ÑãMøü°šDCR²a*!ÎÒÎêÁ£¹íK6°5u÷À~MÝÖlàkn³lx³rpkIhkêµñöÛb,€Öá±ï¸Xû³*¼Y5˜´ä>´DCYäö漤NS!-ÖþDÂ]K +’憶dƒW:š?O2-Õ¡)Vˆknðkn;ZÕ‚Fs'ÄëI‹¶-Öö¦Þ§©ã@rZ2,šl€knï›e›ÕBH2íI6´E lM½¶%%D@r"ƒU¢C£Ñ\*ÃÁ-ŠdC[ª[´f¥Ï€¶"Z/\"=kÉ8ã›U‚IºB[dX®9C®M±Êg @&¤ò~²¦zâ"×#ËŠdMx³B¸HGh‹<.^`K¦7.Þ1 9‰ôŽÅëU‹÷úÈP–áÍ $™6Ä*„›hh‹Øš fà ýšê)‹Ìb´DÃ[2?^ߦƒ[ªC›=ÆöD[2=v õ ]É8_ŒíŠqLS2Þ2H’ùIª¦†0ã…¶D[¼ûáèq ýâ,_”íÑ\sÃ[2C¦m2¸µ´·­9¡­©À+¼¥rÒm]²¥:|Q–cÍ5Ëñ›½‡-Þ¬ÔÐv$¢M·Tõ¶%Ú’ l¡¯³+ú9@úD-Ÿ¢÷°%àZÞ,Ûëfåà–hh ÝžLh³GÙºúz‚éÔB‡<}jÒ"ƒ\"á-‘Ù¨¡mID«·œÖ|3%7‹4Ñ}ÑB[´}öˆã!-^p ÝÒ+4 …>lQ–C_c‹Xì,Û£ìS”u%¸¯9Ç¥Dk·–ˆU—-Ös"¡ÍñlSÃgâ<¾Í®äïqcò_I&ÔøB^Iu’êÕðwØ|›íøs Œ…>Îø[ôb=K­¾ZŠÁ-r4r_¬ãcÝï+´å(<´9%åN›6­÷µ×^{AqqñÙ999}ý~—f_ HŠÍfû¢¾¾~ãÁƒ?zùå—ß»çž{¶JªUCˆ „6›¾ t±Â›Ò"Z¬Ðþ,£5{‡’&6šLYXÞv}Õ“æÙ–?mÚ´>·ÜrËMyyyW&zA ½jjj^þùçgÞsÏ=[$Ué«áT¯¾ê™‹6Äí~9©é2"¡,W”×jÁ-Z¯Y`=Öph´Y¢ÑîY ô¾9Þòׯ_å)§œ29Éë­äßÿþ÷ƒýû÷] á-4´–#'0D9ÅÙ&Ånв=š6Ü’ m‘Ç„N:¬Ç m;wî¼±K—.w%u% Õ}ñÅO•””üAñÃ[è¬ÓÈÙ¦±Šô¦¢×­U‚[kÍ–Lg@Œ¼§-rCho[è¤÷ºuëÆÚ0C—.]îZ·nÝ8In…ßòú7>2ÄúYÌTk•Î0Gk¼‰Z6LíWâ F‘zÙB—]S§N=åÒK/ý}ÒW2¦S§NcŠŠŠ¼óÎ;‡ÞS9™ ©RÑÖ›š¨q­Õæ“Jñƒ[´ÉRøpiŽÂ'%äH*8|øð£n·ûŠä.dZuuõßÚ·oÿ¤J5Ì. ¤X&UÜ7ÞÏd)âø¦¤}¸Ô*…ec»¦~`>°mx4´{4´÷-ç‰'žèEhÀLn·ûŠ'žx¢—:cBk±JÑIQÖe=ðúh,ÑëÖÁ-«HèþheB¢ Ÿº®½öÚ RÐ&!Çÿ–»½X¬ÑºPMe‹æH{¸³J[¢"“sSÛ¢}™ŽÎ;Kg#@zÿ[ÚÛyÛT"9!rÙò¬Ü’™Ð¹-ògªBïys8ÎÓ[Þ<)Çÿ–î_œ=:Ë4Rsó…%Xá'¯b}8‰loj¼:ê¯'ð3V¤ž×ëUmm­êêêäõzåó5Üço·Ûåp8ät:•››+‡£åE-Žÿ-õ+IÞã‡ÅÊMÍ|x³^÷Á¤¸% RÑÓíœEEE-=M²ù ©{Øš{Ÿ[Úî³êä„T!´h–¼¼<•––J’rss3ÜÀ:%?R­¶¶6U3M³úo¶·¬þ’´>»Ý®Y³feº€¤ôõœ5GS¡íßø†  ‡~XíÛ·—$9rD“'OÖš5k´`Á‚¸çÎÏÏOi{CXr–h²2Ü [ércÆŒÑE]¤¼¼<½÷Þ{òz½ºêª«tá…êW¿ú•Ö­[§®]»êž{îÑ!C‚¯ùîw¿«C‡iÙ²e*((Ð÷¿ÿ}]qÅaç½ð խ[7ÍŸ?_ݺuÓóÏ?¯êêj=÷ÜsZ²d‰Ž;¦!C†hâĉêÖ­›$iéÒ¥š5k–¶mÛ¦‚‚õêÕK=ö˜ŠŠŠâî3fŒ\.WðÏçÓìÙ³µ`Á}ñÅêÕ«—nºé&{î¹®Ýívëý÷ß—ÇãѸqãtóÍ7·â7¤O]]]Üý={öÔgŸ}¦I“&iÊ”)²ÙlºÿþûUVV¦=z´èÜIhIvH$Üe,š29€aæÏŸ¯%K–¨GúòË/5cÆ ?^UUUêܹ³ÊÊÊôÐC…ýC={öl­Y³FC† Ñž={ôøãkéÒ¥aç}óÍ75sæL¹ÝnvÚi’¤_üâš7ožN;í45J+V¬Ð¤I“äóù´gÏÝwß}Ú½{·®¼òJ=Zn·[EEEq÷Eóä“OjÆŒÊÉÉÑ9眣M›6iâĉúä“O]ûâÅ‹URR¢C‡é…^вeËRü ™ÑÔ$‚_þò—:餓´mÛ6Mš4I“&MRYY™ºvíªÉ“'·èÜ0s¨4‘ú,,àÏþ³œN§~÷»ßiÖ¬Y=z´¦N*IºúꫵmÛ6•——«OŸ>Á×Ì™3GN§So¿ý¶~øa½öÚk9rdØyg̘ì©ûüóϵ|ùr}öÙš2eФ†2 .TEE…***T__¯3Î8C?ùÉO”“óÕ?{Û¶m‹¹/ÒÞ½{õú믫OŸ>zñÅ•““£ùóçë±ÇÓܹsƒí‰¼ö_|Q3fÌÐêÕ«uÞyçµìE›e¥É Ÿ±Š¥sçΚ:uªî½÷^mÛ¶M’Ô¥K=ñÄêÚµk‹Î‘=eÆ ŸZ­Ç-U!Œ0dX‡ät:%I Ôðz@`ÛáǃÛJJJ‚¯9ÿüó%IÛ·o;onnnXH üaøè£4|øp >\ .”Ôp_Mß¾}UTT¤÷Þ{O_|±|ðAmÞ¼Y’âî‹TVV&ŸÏ§sÎ9'ð¾þõ¯‡µ!Þµ:t(þd‘œœ¹\®àºÓé [o%Y™)Lìq`˜h³Äšš9(79£3²,GàæçaÆéî»ïÛwÒI'Éétê•W^Ñ+¯¼¢÷ß_ÿüç?µpáBÍœ9Sýû÷»/Tuuµ¤ð¡œÚÚZÙl¶¸?Ù¯H”•&'Øíö¸=c_~ù¥&Mš¤;vïi+//×}÷ݧ©S§ªcÇŽqÏøø„XÆÎ;uôèQI =h’†Q£éÝ»·ìv»6mÚ¤ââbõìÙ3øôzuîÜYwÜq‡æÍ›§ë¯¿^>ŸO«W¯nr_äûHÒ²eËäñx$IË—/—ßïש§žšš0@SÿÓõàƒCÛÔ©S5uêTõèÑCåååzðÁ[tnÐãÀb®¿þzqÆZºt©l6›®»îº¸ÇŸp ºòÊ+õ׿þU?úÑtñÅkß¾}ª¬¬ÔäÉ“µeË=ôÐC:묳TPP E‹I’JKKãî‹Ô§O1B+V¬Ð 7Ü ÓN;MK–,‘ËåÒ7Þ˜ú°(§ÓwögYY™JKK5yòä`ïÚÔ©Sõàƒª¬¬¬És#>«·æŒ+[j,@âÚµk§þýûkÅŠ:餓tË-·ï‹gâĉêÒ¥‹,X ¹s窤¤Dýû÷—ßïW]]Š‹‹õöÛo«²²R]»vÕĉ5bĈ`/]´}ÑLžùäT@+MNÈÍÍûË Ñê´uìØQÓ§OOèÜ)֜ɖž°ÎÓÔ¹£ÍüaW{”õȆµG,ŽãÏ9Ç—Ïí=Ïò$¯@š3FÅÅÅš7o^¦›XŽ•‚›$=z4忞›››ôO^¹\®s%–ä•Tòì;¾ì yø?B—²M!Û"×CWľX²ê'¯è AVšœ Iùùù)niüÅ„tÉHϜ铀´2‡Ã¡Â”¯°°°5'&ÒÜŒþP@|yyy)é%ËÏÏ[RÇ`iÉBVŸœ Í`Žüü|Ùív;v¬Y¯/,,ÌÖЖ67Ðlyyyr:ªªªJø¾·ÜÜ\åççS·­n E‡ŠŠŠ‚“êêêäõzƒ¿°`·Ûåp8ät:•››K`k‚H ‡ÃaâìP£˜>« Í ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`ˆœL7ÒíСCZ»v­***ôå—_Êf³©¨¨H=zôÐÀU\\œé&@Bn²–ÏçÓòåËõ¯ýK~¿?lßtàÀ}úé§@óܤ5Ûâk×®]¦›À`7)S]]MͶ&ôèÑ#ÓM`0‚€”Yºt)5Ûâ°Ùl8p`¦›À`7)±sçNj¶5¡oß¾êÔ©S¦›À`7-æõzõÞ{ïeº––——§‘#Gfº GpÐbÔlkÚ¨Q£äv»3Ý †#¸hj¶5­{÷îêׯ_¦› Ü´5Ûâs8ºð 3Ý Y‚à Ù¨ÙÖ´³Î:KÅÅÅ™n€,ApÐ,555ÔlkB‡tÖYgeº²Á @³,Y²„šmM3fŒG¦› ‹Ü$mÿþýÚ¸qc¦›aiýúõSIII¦› ËÜ$í³Ï>“ßïÏt3,ËívS³ @ZÜ$ ñ9’šmÒ‚à iGŽÉt,‹šmÒ‰à iÔm‹ŽšmÒà)BÍ6éFp€ f€Ö@p€¸ð ©Ù ínÐBýúõS=2Ý mÁ Z //šmZ Á Z`Ô¨QÔlÐjnÐLÔlÐÚr2Ýæ¹óÎ;Ózþgžy&­çOj¶ÈzÜ ¨Ù n$j¶È‚$‰šm2…àI f€L"¸@‚¨Ù Ón j¶È4‚$€šm¬€àM f« ¸@¨ÙÀ*n5ÛX Á â f+!¸@ Ôl`57ˆ‚šm¬ˆàQP³ €Ü 5ÛXÁ BP³ €•Ü 5ÛXÁ Ž£f«#¸ÀqÔl`u75Û˜à Í£fSÜ´yÔl` ‚€6šmLBpÐfQ³ €inÚ,j¶0 Á @›DÍ6&"¸h“¨ÙÀD7m5Û˜Šà M¡f“Ü´)Ôl`2‚€6ƒšmLGpÐ&P³ @6 ¸h¨Ù Üd=j¶È7Yšm²Á @V£f€lBpµ¨Ù ÛÜd-j¶È67Y‰šm²Á €åäää´èõÔl­n,§°°°E¯§f€lEp`9%%%Í~mÇŽ©Ù kÜX΀šýZj¶Èf7–Óµk×fM,4hP‹zëÀên,é‚ .P·nÝ>¾{÷î=zt[™Gp`IN§SãÆÓÀe³ÙâÛ¿]qÅ ‘Èzñÿ5Lßy£í·…l<Û£¬‡cy]`=ðpÎ9¾xnïñx–'q-2ìÀúì³ÏT^^®#GŽÈç󩨨HÝ»w× AƒÔ¥K—L7@¸\®s%–ä•Tòì;¾ì yøCu…¬+d[äº?d9T´mÉìOZËŠ%@+èÔ©à †JŒAp0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á @Æø|>=óÌ3úæ7¿©oûÛš9s¦%ÎV•“éH¯×«K.¹DÇŽ Ûþ /hÀ€Ž¿é¦›tàÀ°m·ß~»ÆŽÛèØßýîwš5kVض¿üå/êÞ½{Rmüûßÿ®—_~9¸>sæLrÊ)ºà‚ ’:OªÏVE¥‡† ÖhûºuëmÛ³gÖ­[§Ý»w‡=–/_õÜkÖ¬ [/))I:´IÒ§Ÿ~ÚhÛ'Ÿ|’ôyR}.°*zÜ€,6bÄ-Z´(lÛºuë4~üø°m«W¯Žúú>ú¨Ñ6¯×«Ï>û,lÛðáÛվ.]º4ÚÖµk×°õÉ“'k×®]Áõè§?ýi³Î¦£Ç ÈbÑU´·XÁmß¾}Ú¶m[ضM›6©ºººÉ÷IÄøñãÕ³gÏàúé§Ÿ®+®¸"ì˜ 6hõêÕÁÇ¿ÿýïfŸ LGźté¢>}úhË–-Ám»wïÖÔ©S§à¶ýë_1ÏññÇ«W¯^ÁõÈaR§Ó©¡C‡6«}:tÐܹsµaÃÙívõë×O‡#ãç«¢Ç ÈrÑzÃB‡:÷îÝ«ŠŠŠ˜¯.¼—ìŒ3ÎÛínvûœN§¬¶8h¥ò\`Eô¸YnĈa³-¥†áÒÑ£GKŠßÛ&5 £z½Þ`Šìq †o½õ–yä‘àú£>ª±cÇêµ×^Óo¼¡òòr骫®Ò 7ÜÐèxIúÍo~£aÆiÒ¤Izÿý÷µgÅŠÁ÷6l˜~ó›ßD}ïÐsEÛ?{ölõîÝ[¯½öšÞzë-•——«]»vêÛ·¯n¾ùf•––Fý<¼^¯þô§?iåʕڸq£êëëÕ§O?^]»vͿ̬ï©@p²Ü!C”——§šššà¶ÐûÜ"ïoûéOªéÓ§×+++µ~ýz 4HJ†Ä»¿míÚµzã7Âzíjkkåóùš}=©2sæLíÝ»W›6m n«ªªÒž={´bÅ M™2¥ÑµUTT衇ÒúõëöòÉ'Ì`Ð**²\´{Ð6lØ O¡ÁÍår骫®R‡ÂŽÿøã%5&íܹ³N9唘ïýç?ÿ9êÌÔ¯}íkÉ]D,^¼8,´…ª­­ÕÓO?0}>ŸxàF¡ ZÁ h"{Žª««UVV¦}ûöiçÎÁíƒ R^^žÎ9眰ãÁ-²W)ò¸D¸\®¨€# 6L—_~yÔ}—_~¹.¿ür{î¹I¿¢vìØ¼nIzýõ×£½Ž;ÊnçŸR­ƒ¡R  1bD£mëÖ­S~~~ض³Î:KRCÐ{ë­·‚Û×®]«êêêF÷·E;o4—\r‰Î:ë,UVVª®®NN§³É×|÷»ß•Ô0‘¢¬¬,ì=uåüü IDATxà„Þ·)'Ÿ|²¦M›¦:è¹çžÓ믿¶ÇŽÁpúÿ÷aûìv»¦M›¦óÎ;OGŽÑm·ÝÖNH‚Д””¨¤¤$¬wmݺuT`Huøðá²Ùlòûý’¤úúz-Z´HÛ·ok·Ûºñþ{ßûž&Nœ˜ŠËH¹{î¹'Xûí‡?üa£àZøwëÖ­aûÎ9çwÞy’¤víÚéî»ïÖm·Ý–æhëèßÚˆÈáÒuëÖ…Ýßæv»Õ¿I çŸ~zØñ/¼ðB0ÈIR¿~ýÔ¾}û&ßwÔ¨Q-iv«‰¼¯Oj¬’tèСF¿ùzâ‰'†­»\®ô5Ž£Ç h#†®yóæ×C{Ϥ†Ù§99_ý“0bÄmܸ1¸Yë-ÑaRSØl¶˜ûÚµk'§Ó©ºººà¶ÐÞËD=zT³gÏÖÖ­[Õ»woM˜0AEEEaÇTVVjîܹúüóÏuòÉ'k„ BeuuµæÎ«M›6©¤¤D&LPqqqÒí`‚ÐF :´QøˆÜjøðáúÃþó|Í™˜ÐaëŸþ¹êëëÃBfºÙívõèÑ#ì(V®\©÷ß_矾êëëõ§?ý)î9|>Ÿn¿ýöà‡¥K—êã?Ö¬Y³‚“ü~¿&Nœ6{wÅŠš3gNØõÞ{ï½a'–.]ª—_~™^?  `¨h#Ün·† sdp8p  £[TT”ÐÌÐTèÓ§OØúþýûuÓM7éÙgŸÕ_ÿú×Viƒ¤F3Xý~¿&Mš¤Ë.»LcÇŽÕÛo¿÷õ7nl4+uãÆa½šÛ¶mkTreëÖ­aÛ***ÂB›ÔÐû·jÕª¤®€™n@«Xnaaa£{ÚGÌÉgŸ}v«•À;vl£m7nÔܹs5{öìViƒ$Ýpà QïéÛ·oŸjkk›|}eee“ÛSu €ìEpÚX÷¥}ík_‹Äbï×Rmذaºæšk¢îÛ³gO£{õÒ¥¨¨H“'ONhBF4ýúõkt¯ZÇŽƒB$éÔSOÕ 'œvLaa¡\ïÝ»w£‰Mõ¦È7  éÓ§ºtéÒh{ä0i@¬€ÖZ÷·üìg?Ó³Ï>«‘#Gª¤¤D.—K%%%1b„>Üjí6l˜æÌ™£+¯¼R§œrŠÜn·JKKuë­·ê™gžit|脇ÂÂB=ùä“êß¿pï´iÓÂîáËÍÍÕ“O>©AƒÉívëôÓOÖ™ p:zê©§4dȹÝnz꩚:uª:wîœÞ‹` ±§Q¥÷¼ÑöÛB¶žíQÖC±‡¼.°x8Ž?ç_<·÷x<Ë“¸hÒüùóõØc…m{饗bþX=€–s¹\çJ:,É+©>äÙw|Ùòð‡<ë YWȶÈuÈr¨hÛ’ÙŸ4zÜ }ôQ£™¹Û¶mÓÌ™3öåççëä“Onͦh( *//×wÞ©üü|õêÕKÅÅÅÚ¿¿6oÞöƒô’ôÿñ ý´$ƒà Z¹r¥$©ªªJëׯyÜàÁƒuë­·¶V³´!7HPSµÒl6›.¾øbýìg?“Ãáh¥VhKn ;î¸Cýû÷×’%K´gÏ8p@:tP=Ô³gO]yå•:í´Ó2ÝLYŒY¥ÀHÌ*€eÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á @\ .ÔĉuÙe—i̘1ºá†ô¿ÿû¿ißk¯½V³gÏN˹}>Ÿž~úi]rÉ%?~¼¶lÙ¢ßÿþ÷ZµjUð˜o¼QóçÏOËû@sådº¬ëÑGÕêÕ«õãÿXwÞy§êêê´qãF¥ý½G­ÓO?=-ç~ã7´jÕ*½ôÒK²Ûíj×®Þ}÷]¹Ýn :4-ï ©@pÕÛo¿ 7Áí§žzj«¼ÿ­·Þš¶sïØ±C}ûöUç΃Û^}õÕ´½¤ Á @T3gÎÔüã°ÐÉçóiΜ9zóÍ7õå—_jðàÁºûî»Õ­[7I ×^z©Þ}÷]mÞ¼Y={öÔÝwß­þýûëÁ”ÛíÖ/~ñ‹àùæÌ™£µk×jêÔ©ºñÆ5nÜ8]~ùåÁsþùúðõiÓ&uïÞ]wß}·Î8ã I’×ëÕóÏ?¯·ß~[~¿_\p–-[¦ÿùŸÿQ÷î݃ïñÄOèõ×_—$-X°@}úôÑœ9stã7ꪫ®Ò·¾õ­¨×ZWW§3fèÝwßUmm­F­Ÿÿüçr»Ý’¤>ø@Ï?ÿ¼¶nݪÎ;k̘1úÉO~Ò‚oã7ÔÔÔ¨¼¼\ ˆ{ÜÌ™3µpáB=þøãzñÅåt:õÓŸþTuuuÁcž|òIÝzë­zõÕW5hÐ Ýyç:zô¨ÆŽ«eË–Éï÷]¼x±ÆŽõ½:¤3fèöÛo×_þò 8P<ð@ð½¦OŸ®?üPÓ¦MÓôéÓuèÐ!íܹ³Ñyî»ï>}ÿûß×¥—^ªeË–iΜ9 }&O?ý´víÚ¥Y³féü£víÚ¥gŸ}V’tôèQÝ{コì²ËôÆohêÔ©ºà‚ :/$ƒà ‘ŠŠ ùý~uìØ1æ1uuuzùå—5iÒ$•––ª{÷îzä‘GTYY©%K–{àtÆgè„NÐÏ~ö3uèÐAï¼óŽÎ=÷\UWWkýúõ’¤ƒjóæÍ9rdÔ÷ëСƒî¿ÿ~ 0@;vÔ„ tàÀ•——«¶¶VóæÍÓ}÷ݧSO=U%%%ºÿþûSöyTVVêoû›&Nœ¨ââbuéÒE?þñµxñbIÒ¾}ûT__¯óÎ;OEEEêÓ§ú÷÷€†J4Ò©S'IÒÎ;cŠŠ Õ×׫oß¾Ámn·[ÔöíÛ£¾Æn·kðàÁ*//Wnn®FŽ©¥K—jÀ€Zºt©Î>ûì¸C³6›-¸Ü­[7¹ÝnUWW«¢¢B>Ÿ/l2ƒÃáHêšãÙ±c‡|>Ÿn¾ùæ`êëëUYY)IêÕ«—†ªk®¹Fçwž.¿ür 6,eï7tèÐAÅÅÅúðÃc7Ç#ŸÏ'¯×+»ý«Î{§Ó)—ËóÜv»]yyy’¤‹.ºH3gÎÔ-·Ü¢Å‹뢋.Jª¡!ÊçóÉçó…µ%U³hÿøÇ?ª}ûööÛívýæ7¿ÑêÕ«õæ›oê¾ûîÓСC5uêÔ”·@ÛÆP)€¨®½öZÍ™3GQ÷—””H’>ùä“à6ŸÏ§7ª´´T’´ÿþàD€€ 6¨wïÞ’¤#F¨¢¢BÛ¶mÓ'Ÿ|s˜´)ÑÚzï\Kxâ‰ÊÏÏŽæÌ3ÏÔC=¤ßÿþ÷Z¼x±öíÛ—²6€DpÃÕW_­¾}ûê?øæÍ›§-[¶hÇŽzë­·´téRåççë²Ë.ÓÔ©Sµ~ýz«I“&©¾¾^gŸ}¶~ýë_‡0 uÑEiÚ´iÚ¿¿ ¤çž{NN§3ø>cÇŽÕ½÷Þ«Gy¤Eí½ë®»ôë_ÿZwÝu—Úµk§¯ýë’Âï‹KÆÕW_­)S¦hË–-š2eŠ~ðƒ(77WO?ý´öîÝ«ââb]wÝuêׯŸŽ=ªE‹iúô骬¬TÏž=õøã‡Œ=ª]»v©ªª*xþC‡i×®]òx<ÁmÔîÝ»U__¯œþyÐXóþEkùy£í·…l<Û£¬‡cy]`=ðpÎ9¾xnïñx–'q-š)²[4;vìе×^« 4»Ç-šèÛßþ¶Þÿý¸÷Ü0—Ëå:WÒaI^Iõ!Ͼã˾‡?äXWȺB¶E®ûC–C5uOFêîÙ8Ž¡Rµxñb 6,¥¡M’6oÞ¬îÝ»Úd‚€ŒzçwRR¬vûöíZ¼x±Ž;¦íÛ·ë·¿ý­®»îº–7,„›(dÌÎ;õùçŸkÔ¨Q->×Ñ£Gõâ‹/êá‡V—.]ôï|GW^ye Z ÖÁ=nÀHÜãË"¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`ˆœL7±zõjmذAUUU***Ò7¾ñ uèÐA ,ÐÎ;•“ÓðÏYnn®®¹æšàëÊË˵hÑ"9;V'žxbð|UUU9rdF®šƒàÀòV¬X¡cǎ骫®’ËåÒÁƒUTT$Iª««Ó%—\¢=zD}íÂ… õÍo~SG‹/Ö÷¾÷=ÕÕÕiÍš5?~|k^´C¥,ÍãñhãÆºð år¹$IÅÅÅr8’‚[`{¤úúzUWW«K—.êÖ­›<(Iúä“OÔ·o_¹ÝîÖ¹HzÜXÚ¡C‡Ô¡Cmß¾]Ÿ~ú©l6›¾öµ¯©W¯^’‚ÝÛo¿-§Ó©Î;ëì³ÏV»ví$I‡C^¯WGG¹¹¹òxŸ/x_›Ëå .Gr:²Ù¾êÔ/,,Ô¥—^*©a’ÃàÁƒåt:U[[«üü|ÙívåççËãñpÏ裂 €¥¹ÝnõèÑC|ðü~¿*++U^^®=zÈçóiË–-òùF5ÊÊÊTUU¥N8¡Ñyª««UVV¦AƒIj˜à°sçN9rD^¯—ÐÀÜãÀò<ÞyçíÝ»Wyyy:÷ÜsÕ«W/ÕÔÔháÂ…Ú½{·l6›Š‹‹5jÔ(uêÔ©Ñ9–-[¦öíÛkàÀ’¤/¾øBo½õ–ü~¿FŽ©>}ú´öeh¡¶xÁ ©-7†J Ap0³Jì)¯Ö¬¥Gµ²< }ðhÄ&éÌî>P¯Òb_“Ç›Âív«}ûö1u€5ÑãdMyµ~òÊQ}Lhk5~I«*ìzèm—ÊfÏ?™ÕÕÕÚ³g<O¦› Ùó¯ÐÌZz”À–!~IÿûYö R>|8ÓM‚`•å™nAÛ¶º"ûþɬ®®Ît$!ûþÈR7À gõÈt Ú¶3»gÏä„~10 Á 0ÈG¥­j6â³I7 >ÓÍH¹öíÛgº ’@p 2¸‡[¿½¦HÃz¤ïgOÎ&ihwŸ½Ø“uå@N<ñDʆá'¯€‘øÉ+XÁ À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CÜ Ap0Á À7CädºÌä÷ûUWW§ºº:y½^y½^ù|>ùýþL7Í2l6›ìv»‡‡œN§œN§l6[¦›ÀP7Iñx<ª­­Ummm¦›by~¿?j%©ººZ’”››«ÜÜ\¹\®L6€nR[[«êêjÕ××gº)Æ ßœœ¹ÝnåææfºI Ap—×ëUee¥<O¦›’uêëëuôèQÕÖÖª  @‡#ÓM`q71ÕÔÔèØ±c™nFÖóx<òx<*,,T^^^¦›À˜U ªÊÊJB[+;vì˜*++3Ý FpÐȱcÇ‚7Ò£uUWW˜ÄDp¦²²R555™nF›VSSCÏ€¨n‚jjjèi³ˆêêj4€Fn$5ÌeˆÎZŽ;¬Á Àq ÍYß €P7ª­­¥N›E~©$‚‰ûÚ,Žï@Á hã<?ceqõõõôˆDpÚ<†áÌÀ÷@"¸mšßï'¢¶¶V~¿?ÓÍaüV)ІÕÕÕeº A .ÔÂ… µuëVUUU©[·n:ÿüó5~üøL7MãÆS^^ž^y啌¶£®®N.—+£mY7  ³Bpóz½zôÑGõÁÈív«´´T~¿_eeeÚ¶m[¦›g)77  ³Bq׿þõ¯úàƒtÎ9çèî»ïVQQ‘$†q£±Â÷ ³n@–é àõzõÒK/)??_wÝuW0´I’ÍfS^^ž>¬¹sçjÕªU:pà€Ú·o¯Ñ£Gk„ ÁÞ§qãÆéüóÏW^^ž–/_®ºº:}ë[ßÒõ×_<ŸÏçÓŸÿüg-\¸PûöíSïÞ½õýï_C‡UMMþð‡?èƒ>Pee¥¨Ûn»M]»vmõÏ$žL_2É @æóù2úþ»víRMMN=õTµk×.ê1.—K~ø¡N:é$9R~¿_óæÍÓ«¯¾vÜ‚ ´bÅ tÒI:tè^zé%}ôÑGÁý¿ýíoõâ‹/Êëõjøð᪮®V~~¾$é—¿ü¥æÏŸ¯ÒÒR >\+W®Ôÿ÷[n2@¦¿/™GІe:˜ìÚµK’b†6Ir»Ýš={vp}÷îÝúá¨?þX&L;væÌ™r:zå•WôÇ?þQkÖ¬ÑÙgŸ­ýû÷ëÿø‡ºwï®çž{.ì>±-[¶èã?Ö™gž©‡~XRà Î%K–h×®]êÞ½{*/¹E2ý}È<‚€ŒéÔ©“$iÏž=qÛ¼y³^ýu}öÙg:zô¨ü~¿Ž9vLûöíåt:%Iýúõ“$>|X’´uëVù|>uÖYnî///—$­^½ZßøÆ7Âö=z´™WéApÚ0›Í–Ñ^œ=zÈn·«¬¬LÛ·oWÏž=³gÏÝsÏ=êÚµ«þó?ÿS={öÔ5×\÷¼‡#l½ªªJRô¡ÆÀ}uC† Ñí·ß¶Ïj÷¸Ùl¶L7@†qІÙí™ý' 77W—]v™|>Ÿ¦L™: ðz½Z¿~½jkk5lØ0 2$8¬šÌú%%%’¤?þ¸ÑOGõìÙ3;tè ’’’à#Ѓ'Yc˜2Óß€Ì£Ç hÃGÆg*Þpà Z·nÊÊÊtË-·¨wïÞj×®¶nݪaÆi̘1’&Ô××kݺu’÷ªÅSZZªAƒiíÚµºóÎ;uæ™gjÛ¶mºîºëÔ¿}ó›ßÔ›o¾©Ÿÿüçºà‚ tàÀUUUéþûï—ÔpÞÞ½{5{öl]uÕUr»Ý©ÿ Ì5ÈNüïІY!äççë™gžÑ7Þ¨ÓN;M;wîÔæÍ›ÕµkWõíÛWƒÖÕW_­œœ½ûî»*--Õ¨Q£’~Ÿ‡zH_|±Ž;¦7ß|S‡ ö¾ÝvÛmºá†d·ÛõÚk¯iãÆÊËË ö²ÝtÓMêØ±£Þ|óMmÙ²%¥×Ÿ +|_2+]7L4uÞhûm!ÛÏö(ë¡ÇØC^X<ÇŸsŽ/žÛ{<žåI\ µ<O£›üa]íڵ㗀.—ë\I‡%y%Õ‡<ûŽ/ûBþG`]!ë Ù¹îYÕÔ=)¿Ç‚7  ½‡ ÖÇ÷€à´a6›M¹¹¹™n››Ë¬R7 ­#¸™ï €DpÚ<—Ë¥œ&˜[YNN÷¶Dp e¬¼Ã÷ €à@¹¹¹ôèX”Ëåb˜@Á €$©   ÓM@|/BÜHj(îZXX˜éf Daa!Ew„!¸ÊËËã~*‹p»ÝÊËËËt3X Á @˜‚‚C†ååå1D *‚€F éyË·ÛÍ5€˜n¢*(( @´²ÂÂBzÚÄEÕM1åååÉétª²²R'ÓÍÉZ.—KLDÐ$‚€¸‡Úµk§ÚÚZUWW«¾¾>ÓMÊ999r»ÝÔi0‚€„äææ*77WGµµµª­­Ít“Œø,)z Y7Iq¹\r¹\*,,T]]êêêäõzåõzåóùä÷û3ÝD˰Ùl²Ûír8r8r:r:²Ùl™nCÜ4‹Íf †8@ë`V)€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!n† ¸‚à`‚€!ÒÜüi:/€ Ò’…Lïq# €d2ÜŒþÐ@›—‘,cZ¤’QÙÂêÁ­9¦Q_H›¬ËVn8Žà`‚€!¬ÜR5®÷<6›í‹½È€þ–·J¦hmV n‰ˆüýMìóG,{ëêê6¥©m ÿ[îUô¿õ¡šÊ F±jpóÇyŽ\Žõð…<’T÷Å_¬Lgã@zÿ[^w|5ôo}hˆ÷P”åhÏ–’Éà–èÒÜ.ZÂöIªŸ5kÖ²fžXÀñ¿åõúªc&^ÏZ¢ÒMZÌ–ásÛ¢,G>K 3t{äÃeÝ.ÉòÈ y.üòË/QPPpyr—2­²²r~ÇŽ)阛7ä9ðí‹‹Õûæûê]âöÀ%ܲþ·J›ºÀxûC¿ÅX}Ô>õÔSsšßT)Çÿ†×*ñ!ÐÈP©%¤U¥³Ç-‘óGîÕëf²n‹8Îå9^¯›{ÕªUß4hÐ#I\È µk×þ×СCÿ.©Z‰õ¶E>KÃ\è-URã^¶d'5¤-è™ÜB‡Aëöˆ}ñ†KíjkàxlݺõêîÝ»ÿ<©«­®¢¢â×½{÷~UR¥ÂƒZ½¾ºß-‘aR)zKt¢BÆ‚[¦‡J[ra±JÄûB¿LŸ¤êÞ½{ÿiíÚµÿÕ‚v€4[»víõîÝûOjèi ý[( "5²½¹2:lêHóùS9A¡©^¸hÛB‡VýŠ>ÄZÿ»ßýn›Ïç{gذa¹.—ëôÚ ZAeeåüÇü¡ë®»n¥¤*5îU oÑêºIñÛ¥ËDÊôPiä1ñ‚Zäü%hqmIDAT}nцK£Í4 . 6 ½ÿÍ.É))÷èñ£ýèÜO‡¾Öq\d[è°lèû€–‹ÖCÖÔi´åÐ×KÑÃ[ºƒXÚƒ^k…TÎ.•šžaº-rVª]á“âÍHÖº»4>Ω¸ýïD[\±Ë%õBp€ùâÍ 5?´%´åÂÕÙjÛeº«IOÕm\ªºåÚk67ä>ÿ7¸Bn‰ó(°íÛJUµRµ-`KUÛBX³â–êW WqUì¨ò¶}Ž'¹¶Œ•ÛX÷ ¡îzCÛ#ÜQIšÞB(WÞrצªj¹ï8#PÖ³dYS;Ú–¯¶…°vpKõ­Ý¸Ðìr›rãh%àðgCÌQ•->_Ìz6 ´î„½Ì]btÕ-u®'إΧúãUÙR}JÁ¬6œ=¢ÚÂúÁ-Õ·7¼µž?ꌗ j!ÑVÊf‡¶Ö¾CÜH®oÛqÏOŒ´´}j‚Ú¾­%°åúÔœ+¹eSÃÕ»Jc³Â[m[í¦ƒÞ¥] é±õ´ÒnÑG‡¶îg‚[ÜÖrþ¨¯*Ü£¶Ò–ê&´åÚr>ÜB8Þâö³nn…ù€¯É½ë¶?_ú\{þ¨ýlßáV&­cè o¥>¥WÓhSûc¸-ïªõö©ñùà¸ð¶?7"ˆ¨ãªZ­A¯% –ÜþWV 3Â[í}Kao¥y€·*UÅj‚So¯å¾·Y-ôŒgƧ÷Ûà^¥÷ÜRýSŸúõÜûV«…“ÞñŒ¨ªÍº8ÖRQ;smoÜÌ oû¾#Ÿ}Åy€ÕŒ @g*r­ß³ŒUÇ™qõ\û§Ü¸ÙO¹Ëÿœ ^K…¶Ö n!\ÞâkWžx»3˧ñ=®¾všÕÃÉÙñx¾ÕçÞdD`:{%C[Ï%«†¯'̬jF8Z!ôMõ¤ð1j¬OzfàØ¨ µt`Û<-ÄØ „0~‡ê#<1¼Xö€oZuyõ2O,3Çþäy€·˜ªØ6o(W>Ãæ Vseˆzd`Û¼%ˆ¬ø+Ž ®²b@ZqLMÞ.Þö<Àyl›77?pì5amï áæ Ïüë•móµPóµç€/xuXÛûzùúóÀ}&¨Å—ÿ2°žÏµ˜ RÇ<À|Z@2ž9€_Â|Á? Æ}^/DÍüIEND®B`‚Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/screenshots/2.png000066400000000000000000000573441516676475000275720ustar00rootroot00000000000000‰PNG  IHDRnÒd ]sBIT|dˆtEXtSoftwaregnome-screenshotï¿>-tEXtCreation TimeSun 05 Nov 2023 06:47:12 PM ESTzlRu IDATxœìÝy|”Õ¡ÿño&{HH˜@H5¬*`ØqC\Z媵–^íbןՋ ¶·¯ªUlõÞë†V­U«­ "Šà†²+*†Ý@€„@B ’ef~`âÌd’ÌòLfž™ÏûõÊkæÙÎsf2d¾œóœóH@ˆŠ vÂï)ß±»á„áÞ'׉3ÞBî[‘T"ýõ`Fä"-¸DÚë DL‹„  ¯œÖ!.œCM8¿6й° pánÂíõÿ…Mˆ — Н#ë@w ŰŠuòJ8„‹î| áð~jº3P™:¼™9ˆ²îQ.tήÀ†,S83†“@ÔÙ€2€±l(ÓTÎlÁͨúÒ¢€¹Ù"gšðf¦ðâo]£\»óÜ k¾(»Ëcwž»Û™!øSG_Ú§û›áý Ôx’¼ SF„¸p¡<|­Ÿ·­«ý¸€Àëê6oŸ¯!,dÃ[(7B[WÇv¶=ªƒç {Ø;xÞÙ~m«ðªÁÄŸëÐ< e®ë}9§«ÖÑvOÂ?×Ï…ŒP $¾†6oƒW ÂZ(¾Ÿ›Ñ¡©£çkðóµÝ.Ô‚†¯ƒ:kIs·®£õ]§«ý€wüéõ6ÀùÚú2á-ÔBˆ7õñ6´¹ l]ëÏ"À;®ÁÊÓ®QwÎÈðFpsÃÛÐft`sÒBéý R¸k…ó¤eÍÛgºð*Á$P¡ÍuŽœ/]®] •÷€`0òz²®Zâ\—]§ ›ð á"¡Íu¿Î›7­qí¼ãIëXg­jïÊÂ"¼…Bñ¦M„ëihë(°u̘€€À몥¬£`ÖQ@ó4¼ysóúˆnF‡6Kë= lÞ´Øãyº¼ p¶Ö«ƒ}º´ðì@âÍ-©ºêÂì,´yØ:»Ž7¯³€es³Þ]€ó5¼yÓe‘ÁÍßÖ6_B[W­£ðfä "·SuØÜ<ïhä©?á-ä[Ý‚<Œ m3wÛ\›»Ö¸ÎF›Ö0NgS¸ a­Ë®ΓðæÉ5o!ÞB=¸uu][G¡Íâf?ÇG‹›c;ºÎÒI=€qljß*æ.tµ>ï,¼Iî[Ø:•êXODDp3ªµÍ“ÐæM`s<Î"÷e€Àq Z6¹oaó$ÀùÞB¶Õ-”ƒ›§¡Íq½7¡Íâf½ãsÇã nžcPsìò´©}Hs rž„7OF£:ÖÅÝÜbºódòn©§ÛÜ…6wÛ,.ûµ†´Î‚›ãzXŽÍñ'ÊÍsÇc¢\ž·no}nq³Mn–åá6_ö3Dw7t4/[Gž„¶h—Ç(zOb¿]g‘÷׸1x€ïxjl?VIÍ’Ztê{Øþíº¨o[Øãck­ßÅŽA¯£G©›Ã—?B1¸¹vƒºnëhÿŽ®wë(´ÅÈ9´ÅJŠøá‡^ýõ“ÓÓÓÇÆÄÄœa·Û3|~%À+QQQ•---Û9²þ•W^ùäŽ;îØ#©Q§B\kh‹Òw®£ð&9‡´V®­£ÐæþBFw¶yÓMê®;Ô›i=:êö´è»–´h‡uI?üpþOúÓ›®ôô€À:yò䢧Ÿ~úÙ;î¸c·¤z}×jÕw-sîºXÝ]/'u=ˆ£›”7Ô‚›»V³Ö厺CÝuwÍZkë[´œÃ[ÒÖ­[¯4hÐ}^¾ÐM¾ù曹………‹t*¼9†¶Öç®\ƒœ:Y'uÜäf½;ܼ m®û8:h]î0´•••ÍÎÈÈøW¯t»ÊÊÊ¿æääü]‡7ÇQ§®£M;š¤×ˆV·n nÝ5Z2Ñõš6×A Ž­mŽƒ‹‹‹¯"´`¿+..¾JR¢œ/yrüŽwÍÝÓhÝÒÝ'‘ݤîî‚ÐY÷¨kik+›ãó¸yóæ ºì²Ëþæõ+AÓ»wï©)))Ë>øàƒ9·”¹&èjªwË] Tºîªˆ¯Ý¤RçÁÍÝ`ɹ»4F΃b$õ8vìØŸ¯ðîe€`khhx+55õ^Iu:5ºÔqBë²k7iG“ûvv›,¹ìß•€w—†ÊIJ»®n0ߺì®{Ô±yÔ±õ-æÁÌ#´`N‰‰‰W<øàƒy:Õã8«äþ.Hr³,7Ë­Ç»­nÝÜŒx¡Mâ¸ÝÝ4!îºO㮿þúÉÔ É·ßåqr?XG½uŽºÊ¾x¸ •7O¹&ç®Ö¹ûeF÷éÓgL + ëÛïrÇÖ6×˦<É ®ÏC^(7o4¸®s½M•ã5oѱ±±§û_=,ß~—·^¿î:zÔq”©+_óEH…[^uôæx²¾«þj·wOà6VÏjµª±±QÍÍͲZ­²ÙN]ço±X­ØØXÅÇÇ+:ÚÿI-¾ý.ïè.IÖowë(#t5òÔÛõÝ&ÐÁÍ›ÄÚÕ¾µº»ѵ\×~o`«Õªúúz566ºÝn³Ùd³ÙÔÜܬúúzÅÇÇ+))Ɉç:w[W-l…®Ö{vÄ›ÀÐp -nîtÕ÷ÜYkœ»©BÜ­~:yò¤Nœ8áÕ1jllTrr²ü9}Gßñ®ëùDV«U×\s¦L™¢G}TÅÅÅÊÌÌÔwÜ¡Q£Fµóýï_555Z³fzôè¡n¸AW\q…S¹S¦LQVV–/^¬¬¬,=ýôÓjhhÐSO=¥U«Véĉ5j”n»í6eeeI’V¯^­çŸ^¥¥¥êÑ£‡òòòôÀ(%%¥ÓmS§NU\\\ÛÍfÓ‹/¾¨eË–©²²Ryyyºùæ›5~üøv¯=11Q+V¬PSS“®ºê*ÝrË-Ýø§¹¹¹Óí Ж-[4gÎ=ôÐCŠŠŠÒ]wÝ¥’’åææúU¶üÉž„» …@³ N`2‹/ÖªU«”››«£Gjþüùš5k–êëëÕ§O•””èÞ{ïuúCýâ‹/jóæÍ5j”<¨?ÿùÏZ½zµS¹K–,ѳÏ>«ÄÄD 2D’tÏ=÷háÂ…2dˆ&Mš¤uëÖiΜ9²Ùl:xð î¼óNUTTèÊ+¯Ôyç§ÄÄD¥¤¤tºÍ¿üå/š?¾bbbtî¹çjÇŽºí¶Ûôå—_¶{í+W®TNNŽjjjôÜsÏiÍš5¿Ã@pt5ˆàþûïWvv¶JKK5gÎÍ™3G%%%ÊÌÌÔ}÷ÝçWÙ0gW©'󳯽öšbccõÌ3ÏèùçŸ×yç§yóæI’þã?þC¥¥¥Ú¿¿òóóÛŽy饗«÷ß_¿ÿýïµ`ÁMœ8Ñ©Üùóç·µÔíÚµKk×®ÕØ±cõÐCI:5MÁòåËU^^®òòrµ´´häÈ‘ºõÖ[óÝŸ½ÒÒÒ·¹:tè-Z¤üü|½ðÂ Š‰‰ÑâÅ‹õÀèå—_n«ëká…4þ|mÚ´I&Lðï EÄ ¥Á ­·±êHŸ>}4oÞ<ý×ý—JKK%IzðÁ•™™éWÙpm)3]÷i¨µ¸Âs@¥¥¥)66V’4tèPI§þ ·j]wìØ±¶u999mÇœþù’¤½{÷:•ï’Z¿Ö¯_¯¢¢"iùòå’N]WsÆg(%%EŸ|ò‰¦OŸ®¹sçjçÎ’Ôé6W%%%²Ùl:÷ÜsÛÞ…^èT‡Î^{MMMçoFbbb×¶ë´ÜMÂ2S˜±Å €É¸%ÖÕȱÖé\GtºNËÑzñó˜1ctûí·;mËÎÎVll¬^}õU½úê«Z±b…>üðC-_¾\Ï>û¬ ;Ýæ¨¡¡A’sWNcc£¢¢¢:½eOg­x€§Bip‚Åbé´eìèÑ£š3gŽöíÛ×vMÛþýûuçwjÞ¼yêÕ«W§e£s¼CBFYY™jkk%jA“äÔêÎÀe±X´cÇ¥§§kÀ€m?­­^}úôѯ~õ+-\¸P7Þx£l6›6mÚÔå6×óHÒš5kÔÔÔ$IZ»v­ìv»l̘@Wÿéš;wn[h›7ožæÍ›§ÜÜ\íß¿_sçÎõ«lÐâ ÄÜxã9r¤V¯^­¨¨(ýà?ètÿ¾}ûêÊ+¯Ôo¼¡ÿüÏÿÔôéÓUUU¥ºº:Ýwß}Ú½{·î½÷^=Z=zôÐÇ,I*((èt›«üü|7NëÖ­ÓM7ݤ!C†hÕªUŠ‹‹ÓìÙ³#€ÛéèÏ’’è¾ûîkk]›7ožæÎ«’’’.ËFçB=¸ùÒ¯R}Ñ<׳gOjݺuÊÎÎÖOúÓ¶kÄ:sÛm·)##CË–-ÓË/¿¬œœÊn·«¹¹Yééézÿý÷UWW§ÌÌLÝvÛm7n\[+»mîÜwß}zâ‰'´fÍ­]»VC‡Õ¯~õ+õïßßè·pJƒâãã;½s‚»yÚzõê¥'žx£² æËàƒ°ÈÓUÙîF‡ºÞØÕâfÙõư—ç­?Ñß>Æ|û¼õ1µ©©i­—¯@€M:UéééZ¸pa°«„œP n’T[[køÝâãã½¾åU\\ÜxIÇ$Y%µ8<Ú¾}nsø±ûãø\ëä°ÎuÙq¹lëHXÝòŠV1<Jƒ$)))ÉðàÀ;&JPZæÌ>8@7‹ŽŽVrr²aå%''wçÀSg‡@7S¿) s †´’%%%u:¥Ž‰$ …úà¢uÒ\æ‘””$‹Å¢'Nøt|rrr¸†¶€!¸Ÿ%$$(66Võõõ_÷¯¤¤$æmóÁ ø%::Z)))mƒš››eµZÛî°`±X­ØØXÅÇÇØü@p†ˆŽŽ6ãèPS1û¨R€ˆAp0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`1Á®x¢¡¡AÕÕÕ:räˆêëëU[[«††8qBõõõ²Z­mûZ­VY­VÅÇÇ·ý$$$(!!A)))JKKSZZšÒÓÓ•˜˜ÄWÞ!¸9MMM*++Ótøða>|Xõõõ^—sòäIûL›6m2ý5lþŠ×å—_®ììì`Wk‘Ü×ÀozõÕWµaƈm’ÔØØ¨Å‹ëèÑ£Á® €0Cpà³––­ZµJ .Ô‘#G‚]ÒÔÔ¤?þ8ØÕfU À'555Z²d‰ª««ƒ]•UVV¦ÊÊJedd»*ÂÁ €×JJJôÁ¨©©)ØU yß|ó Á €an>>^ñññêÙ³g»mv»]GŽQEE…8 ½{÷ª¡¡Á¨ª·ÉÌÌôùX«Õª+VhË–-²Û§ƒ:zô¨Ž=ªââb 6Lçwžbbø“„;þ•èбcÇ´hÑ¢¶Vžî””¤!C†hðàÁÊÊÊ Øy¢¢¢Ô»woõîÝ[Æ “ÝnWyy¹¾ùæ•””¨®®ÎïsX, 2ħc›››õöÛo«¬¬¬Ë}‹‹‹USS£+®¸¢]«#€ð¸uâÄ -X°@µµµ?WTT”òòò4räHåææ***PšÀ¬"ñÎ ´¸hçäÉ“zë­·Úbbbtæ™gꬳÎRZZZ@Ïå ‹Å¢‚‚èèÑ£úâ‹/´uëV¯î Ñ»woMœ8ѧóòÉ'^‡6éTËÛðáùæ c7NZZZôöÛoôš6‹Å¢ÂÂB{î¹êÑ£GÀÎc„^½ziêÔ©:çœsôÙgŸiÇŽí®7s•••¥3f(66ÖëómܸQ_ýµOuµÛíÚ²e‹Î?ÿ|ŸŽúnÚØl6½ûî»=:pà@M˜0Aééé;G ¤¦¦júôé=z´6mÚ¤;vÈjµ:í“––¦Q£Fiøðá>u÷îÚµKk×úw%‡'×Ä0/‚€6kÖ¬Qiii@ÊNJJÒäÉ“5hР€”ß]ÒÓÓ5mÚ4MžO=Ñ‘ê’K.áöK]X¹r¥vïÞmh™£F2Ýh]Þá/+¡¬V«>úè#¿G1::ýôÓuá…Êb±t½sÛ¸q£¾úê+CËÌÊÊÒ„  -@è!¸jýúõ:räˆaåjÚ´i†•®Œ˜«ÍUjjªf̘Á}JÀ‹T]]­7V^~~¾¦NjXyáêÀ†ÌÕæ(!!AW\qEXMµ c7 ­Y³Æ«ûnv&++K_|1Ý£]8räˆÞyçCæjk£Ë/¿<¤îó °øK D˜vw„ÔÔTÍœ9“]0z®6éÔD»Ó§OWVV–ae}7 ¬Y³ÆrbbbtÉ%—(>>ÞòÂUKK‹Þ~ûmÃoE5iÒ$Óß> €÷n@Ù½{·a7ŸÊËË™« @PÜ€0ÕØØ¨ªª*¿Ê|¸úöíkèùüJsµÙl6kË–-íæåëÛ·¯†®ÂÂBY,t ‘€à„!¯o3*¸Y­V}üñÇÚºuk»mÇŽÓ±cÇT\\¬¡C‡jòäÉŠŽŽ6ä¼þ¨¯¯×âÅ‹ Ÿ«í¢‹.òzz•ãÇëwÞÑáÇÝn¯ªªÒòåËU\\¬3f(99Ùˆêaü CþÞX¾gÏž~×ÁjµêÍ7ßtÚ\mÙ²Eo¼ñ†šššü>¯?š››µxñb?~ÜÐr'M𤂂¯Ž9qâ„,XÐahsTYY©… úØ„>‚†üý7âÚ©+VèÀï_QQ¡E‹-¼Ùl6-]ºÔïùï\ù:WÛ²eËTWWçñþÇ×|àõy˜ Á Cþ¶¸%%%ùu|uuµ¶lÙâõq Zxûä“OTZZjh™>ÍÕ¶gϯBo«ÒÒ~|òå IDATR•••y}ó ¸aÈßàão‹Û–-[|yðàA½ñƆ^cÖ• 6¨¸¸ØÐ23335}útŸæjÛ¾}»Ïçݱc‡ÏÇ}7íÄÄø7niß¾}~_YY©·Þz«[ZÞvîÜ©µk×ZfZZš_sµùÒÚÖª¢¢Âçc„>‚†Œœ{ÌþNG"uOË[yy¹á×…%$$hæÌ™>·ZÚív¿ºº[§[žn@ò7¸…Ê­˜*++õæ›o$¼…Ò\mŽš››ýúý…Êï@`Ü.%%Ű²*++µxñbC»MCi®6W---~ïo77€ÐFp¿³èû’ú÷ïï×ñ®*** »æ­¥¥Eï¼óNHÌÕæÁ @gn@Š÷ëxç:t¨á]vF„7›Í¦wß}W4°f¾ÏÕæNss³_ÇÜ€ðFp¿Óyœ}zÀoÞnµZUVVæW™™™Õ@¨"¸aÊß­úúú€µºIí65JjjªfΜÙ-w#(++óûvW§všAµªn@˜ÊÎÎö»•h×®]ÕÆ½Poœ«Í={öøu|TT]¥@ ¸a*!!ÁïiAJJJÖ]Ú*Ã[ çjseµZµcÇ¿ÊÈÊÊò{@ €ÐGp˜¿a¨¾¾Þï– O„Rx ô\mî”””ø=ß\^^ž1•Òn@+((𻌯¾úÊ€št-TÂ[ çjsgË–-~—1pà@j ÔÜ€0Ö¯_?¿¯ÑÚ¿¿a÷.íJ°Ã[wÌÕæªººÚïѤ)))~OÿÀn@‹ŠŠ2¤ÕíË/¿4 6ž Vx8p`·ÌÕæjãÆ~_GHk9n@˜3¢ÛoëÖ­:v옵ñLw‡·ÌÌL]|ñÅŸ«ÍÕ±cÇ´sçN¿Ë),,4 6Ì€à„¹œœ¿oƒd³ÙôÙgŸT#ÏtWxëιÚ\mذA6›Í¯2z÷îÍ4 @!¸aÎb±hèС~—³cÇUUUP#Ï:¼u÷\mŽªªª´uëV¿Ë1âw À<n@>|¸,ÿþ¹Ûív­Y³Æ y.Pá­»çjsµbÅ ¿¯m‹ŽŽÖgœaP˜Á ˆÉÉÉÊÏÏ÷»œ}ûöiÛ¶mÔÈ;F‡·`ÌÕæhÇŽ:pà€ßå 4H Ô€YÜ€1räHCÊYµj•êëë )ËF†·`ÌÕÖª¡¡A«V­2¤¬Ñ£GRó ¸¢_¿~êÛ·¯ßåœøà¿ï½ìv»>øàCn ߪwïÞ†ÍÅÀ¼n@„ŠŽŽÖ´iÓ e¹}ûv-Y²D---†•i6---Z²d‰¶oßnX™ÑÑѺ袋‚Ö tðWˆ`§vš†nh™{öìÑ[o½¥††CË5ƒúúz½þúëÚ½{·¡å©OŸ>†– Àœn@„›8q¢á¡ ¼¼\ÿú׿‚6Ï[0TVVêµ×^Ó¡C‡ -7;;[gŸ}¶¡e0/‚ábbbt饗*..ÎÐrkkkµpáBmݺÕÐrCÑW_}¥ èøñ㆖§éÓ§mÒ`¡‡à@iiiºð /·¥¥E~ø¡–,Y”ÓZCCƒ–,Y¢+V2µŠ£¨¨(]rÉ%êÙ³§¡å07æq I*((ÐÙgŸ­M›6^vII‰8 É“'kðàÁ†— [·nÕš5kv-ßĉ5`À€€” À¼nÚŒ?^555†_\/jZºt©Š‹‹5iÒ$Ó^l_]]­O>ùİIuÝ),,ÔYg°ò˜W .œèª\wÛ£Ö·>ZÜ,;îcq8®u¹õ'úÛǘoŸ·>¦655­õâµ¥¥¥E‹-Òvލ¨(yæ™***RrrrÀÎc¤šš}öÙgÚ¹sg@'ÎÎÎÖUW]¥èèè€qqqã%“d•Ôâðhûö¹ÍáÇîðÓº,‡e9¬s]¶;¤€—nÝW.Á 0‰úúz-Z´H‡îösÇÅÅ)77Wýû÷W¿~ýÔ«W/Ãæ4³ÙlªªªÒÁƒuàÀíÝ»WMMM†”í>}úèÊ+¯TRRR·Ÿ0;‚[÷•KpL¤±±Q‹/VEEEPë£Þ½{«oß¾êÕ«—zôè¡ääd%''·u1ÆÄÄ(::ZÍÍÍjjjRcc£šššT[[«ššš¶Ÿªªª ßSµÿþ™üˆ·î+—à˜Lss³Þ{ï½€L‰ 5uêTnø!ƒ1x$66V3fÌPQQ·`òӹ瞫iÓ¦Úx xxeìØ±ÊÌÌÔ²eËÔØØìê˜Jbb¢.¼ðBååå»*LŠÿîðÚ€4kÖ,õíÛ7ØU1ììl]wÝu„6~!¸ðIZZš®½öZ;–.¿NDEEi̘1ºúê«Ms—¡‹®R>‹ŽŽVQQ‘¬>ø@•••Á®RHéÓ§¦NªÓN;-ØU&U ÀV«U6lÐÆƒ>ÍF°ÅÆÆª¨¨H#Gޤ5 HUJp`¨'NhݺuÚ¾}{@oƪ ¤óÎ;nQ ܺ¯\‚æŽ9¢Õ«W«´´4ØUé¹¹¹š0a‚222‚] bܺ¯\‚!ÊÊÊ´iÓ¦° p¹¹¹***RVVV°«DœH n NP999ÊÉÉQuuµ6mÚ¤;wÊjµ»Z~‰‰‰ÑàÁƒ5|øpèV´¸èVuuuÚ¶m›vìØ¡êêê`WÇ+iii6l˜ •ìê/[Ün‚¦ªªJÛ·o×Î;UWWìê¸Õ³gO 4Ht‡!†àÖ}åÜ´±ÛíªªªÒ¾}û´oß>UTT­;Õb±¨OŸ>ÊËËSAAw‡BÁ­ûÊ%¸èPss³ÊËËUYY©ªª*UUUéøñã9Wbb¢233•••¥¬¬,eff*666 ç`¬H n Nrbcc•——çt_ÏÆÆF>|XÇ׉'TWW§ÚÚZÕÕÕµÝì¾¹¹Ù©¥...®í'>>^ JMMUZZšÒÒÒ”ššÊµjL…àÀâããÕ¯_?õë×/ØU€ á^,&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0‰˜`W@{6›M?þ¸–.]ªèèh]y啺ù曃^BÇ{ï½§?üáNë^zé% <8H5 Œ]»véÆotZ÷Ì3ÏhĈAª\7D«Õª‹.ºH'NœpZÿÜsÏièСíö¿ùæ›U]]í´î—¿ü¥.¸à‚vû>óÌ3zþùçÖ½þúëêׯŸWu|çwôÊ+¯´-?ûì³4h&OžìU9F—LÕÕÕúàƒ´aÃíÙ³GG•ÝnWß¾}•‘‘¡Ñ£GkÊ”)0`@°« CW)"Ntt´ÆŒÓn}qqq»uTqq±***œ~Ö®]ë¶ìÍ›7;-çääxÚ$髯¾j·îË/¿ôº£Ë †††=òÈ#ºêª«ô?ÿó?Z½zµÊËËU__¯††íÛ·O6lÐüùó5kÖ,­[·.ØU€€¡Å iܸqúøãÖkÖ¬YNë6mÚäöøõë×·[gµZµe˧uEEE>Õ/##£ÝºÌÌL§åûî»Oh[:t¨~ñ‹_øTV¨*//×ï~÷;•––z´=tÎ9ç¶RÄÓÏ€îCpCDr¨Üµ¸uܪªªTZZª¼¼¼¶u;vìPCCC—çñĬY³´|ùríÝ»W’túé§ëŠ+®pÚgÛ¶m*))i[Ž÷¹¬Ptüøqý¿ÿ÷ÿ´oß>™>^555*//׆ tÙe—©¶Ð=nˆXEEENÁM’¶lÙ¢óÎ;O’tèÐ!•——wxüúõëuÍ5×´-»^K6räH%&&ú\¿ØØXÃFÎYVwؽ{·Þ{ï=§uIIIš?¾† â´¾_¿~:t¨¦OŸÞU€  ¸!b7Îi´¥tª»´5¸uÖÚ&êFµZ­m­W®-nŽÝ¤®S7üéOÒ\  èí·ßÖþýû•’’¢k®¹F7Ýt“Û©{ì13FsæÌÑŠ+ÚÕgݺumç3fŒ{ì1·çv,ËÝö_|QÔ‚ ôÞ{ïiÿþýêÙ³§Î8ã ÝrË-*((pû~X­VýûßÿÖ† ´}ûvµ´´(??_³fÍRff¦~üã»=¿;|ðl6›ÓºŸÿüçíB›§:¤W^yE6lСC‡d·Û•——§êÒK/ÕÙgŸÝîoÞ—›o¾Yƒ ’$}úé§zíµ×´mÛ6µ´´hðàÁš1c†.½ôÒËOOO×[o½¥’’½ð ڲe‹UXX¨sÏ=W³fÍ’ÅâßX²¯¾úJï¾û®JJJ´gÏõìÙSÔ„ tÕUW9•ïígÌ×ó8²Z­zíµ×Ú>?m-0î¼öÚknG¦žuÖYÞ½ˆX¹r¥S8qÔØØ¨GyÄ)`Úl6Ý}÷Ýí¾týQQQá´œ™™éS·ó3Ï<£Ç¼]hsõÞ{ïéþûïïtŸÎÞ—¦¦&Ý~ûííB›£… vx¼$­^½Ú)´9Ú¼y³þøÇ?vZ¿Ž<ôÐCzã7œÂ”«-[¶èÑGõ©|Ïc³Ùt×]wúùÂÁ ͵娡¡A%%%ªªªRYYYÛúáÇ+!!Açž{®Óþ­Á͵UÉu?OÄÅŹØÕ˜1c4sæL·ÛfΜ©™3gjüøñ^ŸßSûöík{Ý’´hÑ"·¤W¯^>wï;vÌiٗжyóf½ôÒKnë•””ÔnýŠ+´lÙ2¯Ïã)»Ý®7Þx£ËýRRRÜ¾Þ 6è£>òꜫW¯nw­àĉõÛßþ¶Ýgô£>jkqöö3æëy$é7ÞÐÎ;Û§W¯^ŠõàU‘…®RD´qãÆµ[W\\Üî‹}ôèÑ’N=Ç/¨¯¿þZ í®osW®;]t‘F­ºº:577{ôEõýï_Ò©Ö Ç©Æ§»ï¾Û£óv¥ÿþzøá‡•––¦§žzJ‹-rÚ¾oß¾¶/ä¥K—:m³X,zøá‡5aÂ?~\?ÿùÏê鉤¤$§;[”——Ëf³yÿö·¿9µ FEEéþûï×Ô©Se³Ùô /è™gžq:fùòåºøâ‹;,³«÷E’æÏŸ¯AƒéóÏ?×=÷ÜãT‡®¦6yà4eÊÙív=õÔSí‚çÇìöŽY¸p¡Óraa¡þò—¿H’®¾új]|ñŪ¯¯oÛ¾uëV 6ÌëϘ¯ç‘Ô.,[,Í›7O'NTSS“î¹ç­ZµÊã× „;‚"ZNNŽrrrœZ׊‹‹Û¨Ö.Õ¢¢"EEEµuµ´´èã?n›#M:õÅÓÙ…÷­®½öZÝvÛmF¼ ÃÝqÇm·ŽúñÜ. 8Nʺgϧmçž{®&L˜ IêÙ³§n¿ývýüç?÷êü½{÷v nÍÍÍ*))ñø>œV«µÝµQcÆŒÑÔ©S%úÍž=[K—.ÕþýûÛöq×ò㨫÷åÚk¯Õ¨Q£$IS¦LÑ™gžé4)³k°«qãÆ)**JQQQúùÏ®¥K—êðáÃmÛ½ Àß|óÓòÖ­[õä“O¶-÷ìÙÓ)Py:ѱ‘çq÷ù™8q¢¤S­Ð?ùÉOn€‚"^QQ‘S‹Aqq±Óu:‰‰‰*,,”tªûæôÓO×öíÛÛ¶?÷ÜsNûŸyæ™JMMíò¼“&M2¢úçz]Ÿt*°JRMMM»{¾žvÚiN˾Lˆ{ÖYg9…aéÔHÔÿû¿ÿóèøcÇŽµÕ±Uvv¶ÓrTT”òòòœ‚[ee¥ìv»¢¢¢º<‡»÷Åõú.×}š››»,·•ÅbQnn®Sps|Þ•ãÇ»ÝÿÅ_ì𘦦&Ë7â<555ª««sÚæúùàŒkÜñ\¯sÛ»w¯S—Ö¨Q£óÝÿq\»A]çzó´›Ô,: 1={öl×:éØzé«É“'·[·~ýzýíoëð~G©©©í£»zUVV:-÷êÕË£Ð&uþ¾x³Og:ä´ÜÚÚç ÇϬ§ÒÓÓ½>ÆŸóôìÙ³ÝïÉ1Hh7D¼sÎ9G±±±¶†¸Ž<-**Òßÿþ÷Ëóe`‚/zôèá´¼k×.µ´´øôEê«ÖV!ljŒ7lØ +VèüóÏWKK‹þýï{]nQQ‘ Û4|î¹çôÉ'ŸhÖ¬Y8p rssÕØØ¨ÊÊJ}ýõ×;v¬ ¤èèhhÛ¶mNõZºt©.¹äIÒ’%KÚ ªöœa+W®ÔôéÓ¥W_}Õ©KZR‡s赪­­m{ž””Ôî2€„„½ð NwüèŒ'Ÿ1ÎÓúùqìÞ¸q£>þøcM™2EV«U/¿ü²Gu"Á /11Q£Fr)éÈõË|ذaJNNn×E(èÉÈP#äçç; Š8|ø°n¾ùf=ZÙÙÙºúê«»¥ãÇw nv»]sæÌQß¾}uüøq566úTîÝwß­[n¹¥ÝT%%%zàÜsã7¶MÃ2eʧà&IüãÛº[=ê´-..N?úÑ|ª«Qþð‡?è/ù‹,K»‘µ‹EW^yeÛ²»9×{ì1Mš4I7Þx£bcc5kÖ,ýõ¯mÛ~òäIýð‡?Ô´iÓ4`ÀÅÅÅ©¢¢Bååå:ûì³uà 78•çégÌŸóŒ?Þ)¸ÙívÝu×]êÓ§êê꺜ʈ4t•êx²Üääd~úéN뢣£;|0vìX¿g¸÷”»Ñ…Û·o×Ë/¿ÜéõEF»é¦›Ü^ÓWUUåsh“¤Aƒép;uGG/bÿÁ~Ð6rÑÑÑ£GÛ…6IºõÖ[•ŸŸï[e T[[Û.´IÒ•W^©3Ï<³m¹   ]ëê¶mÛôÌ3Ï´ÍAxÍ5×´ëvnjjһᆱ§žzJÿû¿ÿ«×^{MkÖ¬Ñ믿Þ~Æü9ÏM7ݤ^½zµ;ÏáÇ m€7@_—vÖYg¹ bíßÙÝŒ6fÌ]wÝun·Ñ_|¡ªª*8qBéééÊÌÌT¿~ý4zôhþùJNNn;6##C>ú¨V­Z¥?üP¥¥¥Ú¿¿RSS•ŸŸ¯!C†èÚk¯í04t·?üáZ´hQÛôƒ Ò5×\£iÓ¦¹Ýÿ–[nQnn®,X }ûö)66VN·ÆJJJÒwܡ믿^ .l{*++Õ£G¥§§«  @çœs޲²²ÚÃÓϘ?ç=z´^|ñEýýïWqq±öîÝ«ŒŒ ]pÁºñÆ•˜˜¨%K–tÛF€Pæß'ßËu·=Êa}ë£ÅͲã>‡ãZ—[¢¿}ŒùöyëcjSSÓZ/^ ?,^¼¸Ý5iÿüç?»¼Ð>ܹÞÄ^:5Á®/w‰"U\\ÜxIÇ$Y%µ8<Ú¾}nsø±;ü´.ËaYë\—íÏu|7϶{®R†X¿~}»‘¹¥¥¥zöÙgÖ%%%©ÿþÝY5t•ðÛþýûõë_ÿZIIIÊËËSzzº>¬;w:ÝòI’¾÷½ïqJðÁ €ß6lØ Iª¯¯ow»£#Fèg?ûYwU ÂÁ €ß6nÜØéö¨¨(MŸ>]¿ùÍoÝMµ€ðCpà·_ýêW*,,ÔªU«tðàAUWW+--M¹¹¹0`€®¼òJ 2$ØÕÓcT)0%F• dÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap|ôýï_EEEþìÝ»W³gÏÖâÅ‹rþææf©¼¼¼Óý®¿þz½øâ‹©Cwähšõ%IDAT{è ›Í¦GyD]t‘fÍš¥Ý»wwyL¨Ô=Txú™б˜`W0«_|Q6›M’ô¯ýKŸþ¹þú׿¶mOJJ VÕœœwÞy:ýôÓƒ] Ó{ûí·µqãFýóŸÿ”ÅbQÏž=ƒ]%ˆàøÈ1˜ÅÇÇ+::ZÉÉÉA¬‘{?ûÙÏ‚]…°°oß>qÆêÓ§O°« ‚Ü€ûú믵lÙ2íØ±CÙÙÙºýöÛ5räHI§ºŽæÏŸ¯>úH:ï¼óôÛßþV‰‰‰íʱZ­zæ™gôÞ{ïÉf³iüøñNÛgÏž­n¸AK–,ÑæÍ›õç?ÿYcÇŽÕìÙ³uÕUWiæÌ™š;w®4wîܶãþñhÛ¶mzðÁ½ªtª¥qÑ¢E:r䈆®Ûo¿]}úôÑ“O>©U«V©ªªJ™™™š={¶.¹ä§ºžþùúì³Ï´cÇõë×Ïé}qµzõj½üòË:|ø°†ª;î¸Cýû÷÷ú=üôÓOõôÓOkÏž=êÓ§¦Nª[o½UÍÍÍÖùÁÔ¢E‹$IË–-S~~¾^zé%¯Î=wî\%&&êž{îi[÷ÒK/é믿ּyó<ú]vu¾Ù³gë¼óÎÓ§Ÿ~ª]»v©ÿþš3g޾þúk½õÖ[ª¨¨ÐèÑ£u÷Ýw+--MÒ©.à—^zIK–,ÑÑ£G5bÄÝ~ûíÊÊÊòûóÒÕg€÷¸Æ  £Gêí·ßÖ­·Þª… jذaºûî»ÕÜÜ,Izä‘GtàÀ=ÿüóúÇ?þ¡èñÇw[Ö“O>©O?ýT?ü°ž|òI544´Ûgîܹš4i’æÏŸ¯#F´Û>}út­^½º­‹W’V¬X¡ /¼Ðëú¼üòËZ²d‰þû¿ÿ[ÿüç?uÑE)--M±±±ÊÉÉѼyóôÊ+¯è²Ë.ÓŸþô'íÝ»·íØššÍŸ?_¿üå/õú믷{_•••iåÊ•ºçž{ôòË/+==]·Þz«Nž<éUkkkõ_ÿõ_ºüòËõöÛokÞ¼yš½­¥å{ßûžòóóÕ¯_?ÝtÓMÊÎÎÖÖ­[ÛŽOKKÓ]wÝ¥¡C‡¶{_Üëºë®ÓÈ‘#•­¹sç***JË—/÷ªÎUUUjiiÑ„ ”’’¢üü|¶mïªÎ®¼9·$?^ me9rD;wîÔĉÝîïú»ôä|­ïkaa¡ÒÓÓuà 7H’~ô£)77Wýû÷׌3Ú~ÿÍÍÍzå•W4gΨ_¿~úÃþ ºº:­ZµÊ¯Ï‹§ŸYÞ¡«°ØØØ¶çYYYJLLTCCƒöíÛ'›Í¦[n¹EQQQ’¤––ÕÕÕµ+£¬¬L6›ÍiAttt»ý† Öe]&Ož¬•+WꬳÎÒŠ+4qâD%$$hÛ¶m×çÀª¯¯×™gžéö<555zï½÷ôÕW_©¶¶Veeem-d­ZÏáú¾¸0`€èôFŽ©={öhàÀ×9//OçœsŽ®»î:M˜0A3gÎÔ˜1c¼ª³#o~Ò©ë 'Nœ¨Õ«WkèСZ½zµÆŽ«=z¸Ýßõwééùß×Ö÷Íñ}8p`Ûryy¹ZZZtÆg´mOLLÔ°aôwï^M:ÕçÏ‹§ŸYÞ!¸ݬõK.%%EÒ©k†RSS;=¦¥¥E6›M6›M‹ åÓ§O׃>¨ßüæ7Z±b…fÍšåu}jkk%º>Êõ˸¡¡A7ß|³¦L™¢›o¾Y§vš~úÓŸ:u·¹ã8º«¸¸8¯êl±XôØciÓ¦MZ²d‰î¼óNsÎ9š7ožOuöæÜ­¦M›¦gŸ}V?ýéOµråJM›6ÍÃWìÛùºzO›ššd³ÙdµZ>W­ï¯äûçÅÈÏ,€ï𠔜ÓN;MIIIZµjU—ûæääH’¾üò˶uŽ×JyãœsÎQCCƒ6mÚ¤]»v©¨¨Èëúôë×O6›MÛ·oo·mûöíª©©Ñ/~ñ åçç+))I»víÒ¡C‡|ªïÑ£GæL³ÛíÚºu«òóó½ªs«³Ï>[÷Þ{¯þö·¿iåÊ•ªªªò©Î¾œ{ܸq*//Wii©¾üòË»I:_WÜ}®Z¯’|ÿ¼ù™ð‚$111ºñÆõÄOhýúõ²Z­:tè¶mÛÖnߤ¤$]vÙez衇´uëV>|¸Ã‹à»b±X4mÚ4Ýÿýš4iR[W®7õIMMÕäÉ“õ—¿üE{÷îU}}½V¯^­††¥§§ÿÿöî>Æ®³Îøo^|ÇcÇv7›¤uÍ:$P(! ¤ë&ÙeÝ hµÛV4òJT€D´k…ì‚Vµ%5R^(PPíFˆeµ©Q‰$ 躅Päà6/ÔÞÄÎâàØãßy¹ýcæÚgŽÏ}ûrž™ÏG::¯÷ÜçÜke¾ù=ç97NŸ><òHœûÙÏÆüü|ÜrË-µùÕW_o~ó›ñòË/ÇÌÌL<óÌ3199[¶léªÍí¼÷Å_/¾øâ¹ÀR©TbçÎqï½÷Æ[Þò–ŽÓɵ¶kÆ ñîw¿;>ýéOÇÁƒãĉqÿý÷Ç%—\7ÝtSDtÿ綾ÿfót•½ï}‰‰¸ï¾ûâØ±cñš×¼&vïÞ]xïØž={âˆ={öÄæÍ›ã]ïzW\~ùå]½ï®]»âßøFÜu×]]·çãÿxÜwß}ñ¡}(fgg㪫®Š;vĶmÛâ#ùH|éK_Š/~ñ‹ñŽw¼ãÜèÍn\sÍ5ñ†7¼!>ó™ÏÄÑ£Gãºë®‹Ïþó1>>ÞQ›O:ûöí‹|0¦¦¦bÛ¶mqÏ=÷D¥RéºÍ­Þû½ï}oìÝ»7^xá…Ø»woD,Ž.ýèG?ŸøÄ':þ,:ù~ÚµgÏžøÜç>wß}wÌÍÍÅ7Þ<ðÀ²nÖnÿ½ôòß,°¨ý›Jz{Þ¢ý#™íõùhÁzö˜ÑÌëêëõili>¾´\Ÿo©V«û;¸€žùÅ/~wÜqG|ë[ß*å›!%•Jåæˆ8ó1—™/,-/d¦Zfª¯Gf=2ÛòëµÌrV«þÿžß «`€¾÷½ïÅ 7Ü ´]Üè‰'žXQ×1°¶ nräÈ‘xþùçcçÎÃn (ƒäÊ+¯ŒýûÝb tOÅ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€DŒ»@Ú¦gkñôÏ«ñìÑÙ8t|.Žüj>~9µÓÕÚ°›64“•‘xíÆÑ¸òâ±Ø±u<ÞtźxÛ¶JL®vÓ€Ä n@W¾èl<öÓ™Ø÷ÜÙa7¥t¦«µ8R#¯ÌÇS‡«ç¶ßvõDÜþÆõ±sÇÄ[¤Lp:òøÁ™øÚÏÄóÇç†Ý”äì{îlì{îl\µu<î¸qCìºvý°›$¦_uûVç-Ú?’Ù^Ÿ¬gͼ®¾^ŸÆ–æãKËõù–jµº¿ƒk"â…—çâÁ'O/« ±2oß^‰ßzQ¼îRÿ ݨT*7GÄɈ˜ˆ¹Ì|aiy!3Õ2S}=2ë‘Ù–_¯e–³ZÝÒó{F NZzô'Óñ‡_=!´õØS‡«ñ‡_=þdzØM!¸M}á»§cïc§†ÝŒUmïc§â ß==ìf Ü€†îûö©xøg†ÝŒ5áᜉû¾- Í n@¡/|÷tüÕ3ºð鯞™VyšÜ€ <ú“i•¶!yøgÜó4$¸˼ðòœ{Ú†lïc§â…—=n¸à,óà“ºêÊÀ÷Ü€s?8ã‘%ñÔáj<~pfØÍJFpÎùÚÝ×V&¾ Op"bñ·GýŒU¹<|.¾ÈoÁç n@DD<öSÝreä{²7 ¦gk±ï¹rWv.Û<—mëûkÊfßsgcz¶ç?w$Ê/ñôχ? áál×ÿÚº ¶Ï/Düö½yç¯EDÄí÷¿gª­ƒÌ†ÊHG¯yò®Ëcºº¿÷™—ºh}=ýójìÜ11ìf% ¸ñìÑÙa7áœÿùüLœ;²jµˆ™ÙZüìøbgÚ¬>uóš²zöè¬àD„àDÄ¡ JøOÿã•81µpÁö÷}õåŽÎ³Pëü5eU¦ï.Á ˆ#¿švZzò®Ë£:W‹]÷¿xný‰ƒgbºZ‹[¯™ŒÊØH<òÌT<ô½W¾æ7¯ZøÍMñÿÁº˜:»‡ÿ~.þä‘qjf1(®‰ÿð;[â·®™ŒñшG~|&¾”9ß°¤ðýƒ!¸ñË‚ ×°üÉ?¿dYWé“ÿw:¾ýŠ»ó_¼ec¼xr>Žœ˜‹·n›ˆìÜ?ý»jüõ¡ Gbþú–±øô¿zMœš©Åf*&ÖÄ¥›ÆÎ…¶ˆˆÍ“£qëÕ“q䕹ø'ÿh">¸sSlp¾A*Ó÷ —àÄt7ûÊ-¯_¿lýȉ¹†Á-"â_áXTçkñïþ馸óÖÍqý¶‰Â µíµëb|t$þ÷/fâÁ}¯ÆÜBñ5ÿ›/‹³sµøà?Ûܹ)ÞÚà|ƒT¦ï.Á (•ß}àÅÂ{ÜŠüêÌBTçCͳGGÆ^¼¡ø)GϽTWgâ¶k&ãÛ{ÖÇþC3ñßöŸŠ¿9v~`Æ/OÏŸ«ö8²x¾ÍëGº¾€^ó7 &+釓ùYï•3 ño:?u:NLÍÇ;¯Œ?{ÿÖ¸öòJƒó•§Êµ¾ 77 ^»qmü§àåSóñ_¿s2~ÿóÇâÏþש‰¸~[qp+“µòý­é*âÊ‹ÇâÈ+«{äâo\º.þ㿼$žþÛ³1U­Åo]3?KàQW^œö¯?½#¸±cëxZ°ž=f4óºúz}[š/-×ç[ªÕêþ®V½ï:üÈÉa7ƒþËïoñË P R©Ü'#b>"æ2ó…¥å…ÌTËLõõȬGf[~½–YÎju3lÏo–uãoKà>¯µÌ÷Ô n@L®‰Û®VÑ)£Û®žˆÉuF•‹7 ""nãúÖ1p¾ Kp""b玉¸ÊMð¥rÕÖq÷¶ËnÀ9wܸaØM Ã÷ä nÀ9»®]oßîFø2xûöJìºV7)°œà,óá[/vßPLp–yÝ¥ãq÷훆݌5íîÛ7Åë.u¿!p!Á ¸À{®›ŒÝ7¹¿jvß´!ÞsÝä°›””àºó–‹âÞ*@ Ò¼u2î¼E)Иà4ôGïܤò6 »oÚôN]Ô@s‚ÐÔ·\äž·>»ûöM*m@[Üý ´ôžë&ãM—¯‹Ÿ<O®»9«ÆÛ·Wâ÷^d ж~ý^«óíÉl¯ÏG ֳnjf^W_¯OcKóñ¥åú|KµZÝßÁµœ‰¯ýðL<|nØMIÖU[ÇãŽ7xN¬P¥R¹9"NFÄ|DÌeæ KË ™©–™êë‘Y̶üz-³œU´­“ýó¿y@Gv]»>v]»>¾èl<öÓ™Ø÷ÜÙa7)·]=·¿q½Ÿ±º&¸]Ù¹c"véÙZ<ýój<{t6Ÿ‹#¿š_N-Ätµçÿ£™ŒÉÊH¼vãh\yñXìØ:oºb]¼m[%&×õ«“X+7`E&ל qô—Q¥‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"7€Dn‰Ü!¸$BpH„àÁ ‚@"úÜj}:/@ ú’…R¯¸ ˆ@'’Îà nIhÀš7”,“ZÅMàz)©lQöàÖ͇™ÔôͪËen,Ü!¸$¢lÁ­WýÊMÏ322r¼Gï AË’)­lÁ­ù°Öb_-·c™i<3¿è•W^ùøÆßÓÙ%Ã655õè%—\òŸ#ât,†·ù̼>e+pùÞ¸FÕ·…óïÒ´×Np[õ¿UÚê›íÏ~Ñ`9;½÷Þ{ÿ¼û¦òô7ül´ßšey+É ÕÏŠ[;çÏïoTu-XÉ7Z0oVu›üÑ~ô®7¿ùÍŸèàz€!:pàÀ'¯¿þúoFÄt´WmËÏ#. sÙ[ª".¬²u:¨¡oA/•à–í­¯æö5ë.ŰVnõiãáÇß{ÅWüûŽ® ¸£G>°}ûö¯GÄT,jsqþ~·vºI#Šƒ\»†܆ÝUº’ kôèf_BöË\ˆˆéíÛ·ÿÅ>¹‚v}vàÀOnß¾ý/b±Ò–ý[^$HDë,™íÝj·éXŸÏßË ­ªpEÛ²]«µ(îb{衇þvaaá‰n¸a¢R©\ÝF›€˜ššzôž{îùÓÝ»w?gâªZ6¼=×-¢yx+õã?ò†ÝUš?¦YPËßçVÔ]Z4Ò4Û]ší6ÍÞÿ6ë"bâcûØ?|ÿûßóe—]v}¥Ry}­VÛÚÆ5=022r¼Z­þÍK/½ô£/ùËû?õ©Oý¿Xˆ0çCZ=¸å»GëóV#HóݤõmQ°½Ùr#ÉÞãÖÎ{¬ä>·F÷¾eC]þ^·ü<¿<ž™òçÄçkM>PÕCYöÞµ|¥-Ö²ûòçjô¤‰ü¶h2Ï·µÕµôÅx?OÞ¦Z´ˆêÇeç‘Û–=v!Îw‘.´ñÙ›ç¢q0z«Q°*ú¤Fa-вËÞ#¿­“vM‚[#ºúr=°Õ×ëê |$¿èúþ±Xþd$νl/Bp€~Ȩ¢.Îf÷³ ­Ë¸dZ#e nEÕ³úz¶Š–¯´å—ëêÇտ܈åݨ‘ÛŸ´È|è*€~*ºÏ,âòU·|¥­ÙHÒ¢åü{æ+ZºA·v+g+9Ä…¡­Øêa/;Ͼ¶–;._qËvËfßX¹¢ Y«.Ó¢åìë#ŠÃ[¿ƒX߃ޠBH/G—F´ašÝ–•:Ë4‘š?w»×´§Q×f³‘¡ùð±¼Z×hÔh;Õ¶RŽ&­+cWiDwUºFݧç«hõŠ[-–w¹fCŠ N³Š[}¾¢–gù.Öü¹» T¥ë&(WÅ-\7U·f )z\£gÁeË/çÛt'Ž –óA®è§«òÇ5»ç­_Õ¶NŽëÚ *ný¼Ï-[i«+¤P·ÛŸ­ºÕó#O'û>@ûý]]h²ÞjB£A E¡­R¡+kWiDñˆÑì¶ìc?ò¯ÉPˆ‚õ¢.Õú1 MÖ[æà¼NM³EÝ¡­B\£÷ï¤ÚV*ƒ ½ê.Í/=ª£¨µÙöV„1è¿¢U4¨ Q·g;Ý¡ÿQúnÒˆþÿÈ|^§£Kóë‚T~{­`[¾bר-Eÿ(7è¿üà„v~?´“ÐÖ(\­´Ú6° Ý I7U·ìz«ª[£íí nh´<‚ B£.Îf-»­UU­Uµ-ÀJUm‹(gÅ­è¸Vá*_kVy«/ç?äv+p@o5X?&¢u¸ë6´%a•¤~…·ˆÖ•·F¯-ªª5zfmZë¦Ë²jÜJB[é«månEǶ;p¡Ó`×h°B£vtJÀ`-XiˆiVeËïo7˜u3¡Ó‘°3¬@Ñëª[Ѿn‚]Ñþ¢c€ÞkVe+:¦U0k7œ%Qm‹(p+:¶ÛðÖéþfǽWÔ¢`[;¡¬ß¡­Óc{b˜dá­¾ÞÍ#F:Ùt§ –ÝÖI`ktL;ûZÊ †A*ÍëWxkw[»ƒºíÚºïzìôž´V£E“mÃ+ nùmìov¬* G»•¶¢ãWÚmkdÍ·ˆ•‡·üö•¸ì¾2|>°Ö4º×-»¿Õr»û›m_é±=W†`Òiº o­ŽiâÚ9èL»Ãíä^µniÇšn½ oÙ}½b½¨½«juô: ƒ­ ýWÊ6úÞÚ=o«°W¦Ï V«VU±v‚S·¼NÎ;4e $Ý´§]œîo€ájuŸ[ÑñEËÍŽëæÜCU¶pÒm{zQUë×k€æ:©¨­äµÝ0Á­‰~†·ì±½¼ö2~ŽP6½ @+©Èuú>¥QÖÀ±’vuóÚÑÖ‡C¶Ðú ¬$x•*´E”7¸E >¼å_[æÏV»•tŸæÏ1è×öMÙÃÉJÛ׋ë+ûg«I/ÓJÏQÊБF()køJá³€²êG8*Cèë«”ÂG¯ÚšÒ5Íõ*h•:°Õ¥bŒ"z?B5 )†Ýž°6•µ{u`R,ýl{ÊŸ ¬ý UI¶ºÕPy «áó€²dˆJ2°Õ­– RÆë(c›`PÊÊØ¦Ž¬¶p±Ú®X¹ä[Ýj:«ùÚ€æVMXËZ áf-\#°hU¶ºµjÖÚõÀZ°ªÃZÖZ2kýú Ek&¨å .Ëù< |ÖlPËTÚãs€þÐZHzÏg ç c°ü«Æ'„îèþIEND®B`‚Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/screenshots/3.png000066400000000000000000001000721516676475000275560ustar00rootroot00000000000000‰PNG  IHDRnÒd ]sBIT|dˆtEXtSoftwaregnome-screenshotï¿>-tEXtCreation TimeSun 05 Nov 2023 06:43:29 PM EST®Rd IDATxœìÝyœ[åaïÿï9Zf¤Ù<ãY¼wŒ7°lœ°h’[Ò6áBš rÓ…¥Îm yµ—ÐÉ‹›6iLB€¤É« 7Mè+%€¤Ä,Û¬c=g±g_´œs~h4–4’FšÑŒ¤™ÏûõR¤óœEŽÈèëç<Ïs$ @ù®À,Ä9à$'ߘM™á<0ýy Äã|Pxt£æzP™ëŸ€b4gƒÜ\ .síó0Ì™ 7‚Ì\øŒ bV‡¸ÙjfógéÍÊ7ÛÂÍlû<`êfMˆ›-A§?G!Ö €™Rˆa©딕Ù.fò3̆ó@¡™É@UÔá­˜ƒÈtÖݘæã€ôMoÈ*ÊWŒád:êlNÃ1@nÙÓpÌ¢ pÅÜrU_ZÔ(n¹l‘+šðVLáeªu5žgò½ÀÄ& œ„ç™|ïW d*uœlXËtûb8šLCR¶a*!® \¡ÉÖ/ÛÀ6Ñvô`úMÔ‡-ÛÀ7ÙV°á­ƒÛTBÛDû¦[o¤x f†“âuºíR­ŸUá­PƒÉTú¡eÊË'³ȉBZªõ™„»©ôŸ+…H&Ú² ^ÓÖ ñ|o¹M©BÜdƒßdë1ã -hLvAº–´de©Ê'zŸ‰¶Ù™ÊeÑlÜd[ß &¼Zɦ>Ù†¶dm¢}§2…ÈNb°ÊôÒh²—ËðFpK"ÛЖëÀ–,¤Òù`®HÖ —IËZ¶®èÂ[¡“é m‰Óx¤ p“¹ä:‘B9·äC.û“MÔ—¸œ8­È¬ o….¦#´%n—.°eÓ—nLZÇÒµª¥Û?1”ÍŠðV$›:¤š7ÓЖ*°M̘€€é7QKYª`–* eÞ²¹yýœn¹mfŠòL[6-v ÷2 ]Ù8;E¹Rl3‘¼…·|’lnI5Ñ%Ìt¡-“À–®?-nL¿tËNRž,ÀM6¼esÉtN·©¶¶M&´MØR…·\Z`®Ëvª;ÉëT#O§Þ ¾Õ-_Á#—¡-]0K¶.1°%kK7Ú”°@ú#Y‹.'¸LÂ[&}Þ :¼zp›¨_[ªÐf&Ù.öÙL²oª~pfšz€Ü±5¾U,Y芾NÞ¤ä-léF¥ÆÖ#s"¸åªµ-“ЖM`‹ÝÏTòc€é“´l%oaË$ÀM%¼l«[!·LC[ly6¡ÍLRû:v‚Ó/6¨Å^ò´5>¤%¹LÂ[&£Qcë’‰ nî™|3e7Š4ÓuÉB[²ufÂvÑ–.¸Å–€éÐbF’×±û ¯£ë£¯Í$ë”dY®›Ìv91ÓÁm*RÍË–ê9“ÐæJx69'žÑ2SÙ÷qcð'ej옇%)$)¬Èï°3ZfŒ>GÃXìsôÑßâØ —êYšáð5…Ü/ƒ&®Kµ}ªþn©B›[ñ¡Í#©äž{îYqÕUW]PSSs¶Ûí^ë8Ný¤? ÈŠaápøí'N¼üÃþðÙ[o½õ ¤€"!.Ú t©Â›Ò¢ZªÐþ ÆL¶es™4ÙåÐl¦õHuÙÓÔÉ–4WL™ÿž{îYùÙÏ~öS¥¥¥—gúÀôùÙ}÷Ýwÿ­·Þz@ÒN^Nµt²e.Ù%Ödý変§‰Up“òZpKÖj]Nu94Ù(Ñd}Ö¢­o.Ň7ÿþýû/_½zõY~0CÞÿýÛÖ¯_ÿ3EÂ[lh‹¾NÀ䔦LJÜ”¤<™9ܲ m‰ÛÄ:ˆ.§ mG޹®¾¾þæ¬> ˜qßX²dɃJÞbG&Ž6M5Io.ZÝf$¸ÍÔhÉé ˆ‰}Ú1ͶÅJðíÝ»÷c„6ŠC}}ýÍ{÷îý˜$Ÿâ»<ÅþÆ'æ€T·Å̵i sÍÄ›hj—I“Ý!ÝåÑÄK¤ÑV¶Ø×Þ»ï¾{õe—]ö½¬? È›ùóç_TQQñÄSO=Õ£ø–²ÄÁMõ‘ly¢ y7S™ìeR)}pK6AŠ¿\êVü ·¤²ÞÞÞÿãóùþ8»òmxxøçUUU·KTdtiì …èrâeÒT“û¦»M–¶ŸÈ´_.-”‰eS»‰n0]Nvy4¶y4¶õÍýµ¯}m9¡ €âäóùþøk_ûÚrEcbçb•’ßII–•d9º2Ñê6Á-4ÕT ±ë“M’ìò©÷ª«®º uy2ú[îUò)ÀR]­‹5Q¶˜Œiw…Òâ–©ÄäÕo|bY¦­g±eyo]K¦˜[Ÿ2 t±­lé®w€, eÚb hhhh*UHöŸÉ”E›òÜ&êÇ–ì9UšN5ýG²¦`dddª¡KR$üŒŒLv÷\d‚t™#Ý{æE¾ƒ[¦[f\{{»ÚÛÛó]  àX–5¥–¶D²,kâ §WQdéìã6ÙëaºEñEÅìšk®Ñ»ï¾«Ç\555ù®NN éŸø„$é‰'žÏçËs0—mÛ¶mRûýö·¿ÍqM"rÑÒ–ì˜S=L¶ù`¢>l“íç6mýã upB®ÚLJii©V­Z%I*))Ésm€Âò#×@®FšÎêßþÙÜfõ—`晦©x ßÕ$M_ËÙdLÚ>ô¡iÆ úò—¿¬ªª*IR__Ÿî¸ã½ñÆzâ‰'ÒÛï÷ç´¾1 r”h¶òÜ2 [ÓyÉÀ4¸è¢‹tñÅ«´´TÏ>û¬,ËÒÇ?þq]xá…º÷Þ{µwï^544èÖ[oÕæÍ›Çöù³?û3õôôè…^PYY™þüÏÿ\üÇwÜ /¼P .Ôc=¦… ê¾ûîÓðð°¾óïh÷îÝÐæÍ›uÓM7iáÂ…’¤ßüæ7zàÔÜܬ²²2-_¾\wÞy§***Ò®»è¢‹äõzÇ~hlÛÖÃ?¬'žxBZ¾|¹>õ©OéÜsÏ÷Ù}>Ÿž{î9ƒA}ìcÓ§?ýéü€é …Ò®_¶l™öíÛ§;wê®»î’aúßÿû«©©IS:v¦’2 wy Å28@‘yì±Ç´{÷n566ª»»[»víÒW\¡¡¡!ÕÖÖª©©I·ß~{Üê‡~Xo¼ñ†6oÞ¬cÇŽéŸþéŸô›ßü&øÅ/tÿý÷ËçóiÍš5’¤/}éKzôÑGµfÍ}ðƒÔK/½¤;wʶm;vL_üâÕÖÖ¦Ë/¿\çwž|>Ÿ***Ò®Kæë_ÿºvíÚ%·Û­sÎ9Gï¼óŽnºé&½þúëã>ûóÏ?¯%K–¨§§Gßÿþ÷õ /äø ù1Ñ ‚¯~õ«Z´h‘š››µsçNíܹSMMMjhhÐwÜ1¥c£8/•f2? €ðãÿXGßýîwõÀè¼óÎÓÝwß-IúŸÿ󪹹Y---Z¹råØ><òˆ<~õ«_éË_þ²~ò“Ÿèø@ÜqwíÚ5ÖR÷Þ{ïéÅ_ÔÙgŸ­»îºKRdš‚gžyF­­­jmmU8Ö¦M›tã7Êí>ùg¯¹¹9åºDíííúÙÏ~¦•+Wꡇ’ÛíÖc=¦;ï¼S?øÁÆê“øÙzè!íÚµK¯¾úªvìØ1µŠ9«'Doc•Jmm­î¾ûnýÝßýš››%IõõõúÚ×¾¦†††);[ÊŠîòi¡µ¸å*„æ€<›7ož<$iÆ ’"У¢e½½½ceK–,ÛçüóÏ—$:t(î¸%%%q!)úÃðòË/kÛ¶mÚ¶m›žyæI‘~5k×®UEE…ž}öY]z饺í¶Ûôî»ïJRÚu‰šššdÛ¶Î9眱€wÉ%—ÄÕ!ÝgïééI€YÄívËëõŽ-{<ž¸å2+3E1¶¸(2ÉF‰M4r,:Ý@âˆÎÄi9¢Ÿ·nݪ[n¹%nÝ¢E‹äñxô£ýH?úÑôÜsÏéé§ŸÖ3Ï<£ûï¿_ëׯO».Öðð°¤øK9@@†a¤½eOºV< S…48Á4Í´-cÝÝÝÚ¹s§><Ö§­¥¥E_üâu÷Ýw«ºº:í±‘g@Á8räˆúûû%EZÐ$Å]FMfÅŠ2MSï¼óŽjjj´lÙ²±G´Õ«¶¶V_øÂôè£êꫯ–mÛzõÕW'\—ø>’ô /( J’^|ñE9Ž£SN9%7'(ý£ë¶Ûn mwß}·î¾ûn566ª¥¥E·ÝvÛ”Ž Zܘ«¯¾Z›6mÒo~ó†¡O~ò“i·¯««Óå—_®Ÿþô§úË¿üK]zé¥êììÔàà î¸ã8p@·ß~»¶lÙ¢²²2ýú׿–$­Zµ*íºD+W®ÔöíÛõÒK/éÚk¯Õš5k´{÷ny½^]wÝu¹?@òx»G_GŸ«‚Áà‹Y|`väz♿ûžädÞ5­L—ì­Ÿ‘õ¡{$—7£]††êíP_ÿP\«šå¸²< …½ „= Û¦9rœH6sœH0‹,;ceŽ$Å•il?Å”¹L[>%ŸÇ’ß–Ï}ò½MÓP™ß§yUå*óûh‰fˆ×ë=WR¯$KR8æÙ}mÇ<œ˜GtY1ËŠ)K\vb^ÇJV–Íú¬ÑâÌá€Ü|TÆÁgó]“x¶%ó¿¿#£óm…¯þÏ”áͶõö èø‰>…Âá±ò°íQ \ª U"Ëv jŽdŽä’1šÜ CŽãDB•cHr$Ãgt³h™ÆösCÆh™e›êêqËQ‰<.[åÞ°æùBò{lõ ©`H[ó«+5¯ª\ @ŽÜ€9ÀõË› /´Å0üZ®'þNÖeÿ7®Ü¶mõôF[ز"eŽK!Û§@Ø/Ë1#­e±Ìˆ¶¬9o±Ç Y¦º‡=:1ä‘Çe«ª4¬j_HRXÇ:N¨ëD¯æU–«¦ºR.øä—JYÎhß+÷¿n)œË£©˜.…o|ENýz9Ž£ãÝ}:ÑÝ/k,°y´Ë²|c—8£—5£á-ñRçØåÎØ2Mý²iì±âŽ/©ÂVCyH~oä|»\.ͯ®PMu%-p@ŽÍÅK¥ü3˜åÌW(üÐ&E.›¾ú ††FtðP›:»zdY–lÇ«€5_ÃV½,;ÒÌ0ŒÈ¿Ö É!%)‹l')úzìYcj¬\'÷W\ÙÉý”¤lô(qÇéºõÞqŸÞ;^ªþ€K–e©£«Gšjppx†O*€Ù†àÌrFÓå» ³Þ~R‡Ž´+ É‘G!§NA§^¶|£¡*&<px3 i(èRÓ‰5/Q l( ëpk‡ŽíP8lÍäi0‹Ü€YÎèmÉw2æêo‘dÈR•ÂNƒ•Ž jÅÞ êºôv‡OGz=²CýÃ:p¨mtZÈÁ ˜í‚ù®AÆÌР,c‘UI†¤Š9¼9†Ô5èÑÛ%ê1eY–ZZ;ÔÞÙ=Öß2ApPP Ã}2ñAª˜Ã›ŒÈHÔ'JÕÒë‘ãH'ºûÔÜrL¡ÐÉ)N ‚€‚2šfix3i}{·«TËÐÈHPÓðp`fN0€¢FpPPbƒÔloC!Sow–ªw$2òôpk;ýÞLˆà  $©ÙÞlÛPÓ ¯:]²mGGŽv¨§·xú$˜y7…%IšÍáÍ¡–^¯Zû"ýÞÚÚëDwßÌœkE‡à  †q2Í¡ðÖ>àÖá^¯GjïìVO-oÆ#¸((c¡i†·®A—Zz=’¤cíÇéó`‚€‚šæbxr«­ß-Ç‘ZÛ:5ÄhS1n ʸÐ4Ã[[¿G]CÑ q‹,£n JÒÐ4ÃÛáïØT!­G;¹ÃI7&žo†š»½ X¦†Gê<Þ3#ç@a#¸(0ámt½í:Ø™&äø‰>+ ¸(,q‰ð¦á K­ý‘‘¦GW˜þnÀœFpPPâ‚áM†¤Îú¦,ËRGW÷ | Á @Ato2$µô”Èv õö jphd¾ …ˆà +ÃÒý‘ÇÈ`îï8„·dá-dEî® Ií'e ÌQ7YéîJþ:W9„·á­cÀ£‘°©@0¤=ý¹?ù Á @Ɔã[Ù—sÁvo©Â›#©uô–XÇOôɶíÜž|à cÉZØrÝêæˆð–.¼õ] F*t÷r#z`®!¸ÈHªÖµ\·º9ŽCx› ¼µz%IÇ»ûdÛôuæ‚€Œ¤kYËe«›ãÞ& oý#. …LYaK½}´ºs Á À„&jUËe«[4¨ÞÒ‡·ŽÑ¾nÝ}¹9ñŠÁ À„2iQËU«[lP#¼¥oýA·‚aS¡PXCÃÌëÌî|W@þ…CÒñvix@’!ùüRMƒä‰t¥Ò¢e'·=°?~ß•ëã—z¥ãÇ$+áÎL†)Í«‘ªëÓ×%ÔLÑ#Rbqe†¡È:Ñã2ŒÑ~^£er$†92ʤÈkÇ0dD“ ãh,M9N̺“e}OÇp"Ñ)¦L£ï?V—Äz8ÎÉ:ëä{F6‹–%|¦„²HµOßqõ\ªwÛêí”ßWšþĘhqæ¸pP:r@ì“l[²-i°_j= tÙêjÚ$ɱ¥ž•–·ä-oÝÑ˥}}ƒ RæZÜ€9îx{$¬%²méD»T¿$»ã¥›ZÌÉ`Ú±È Æ·²MµåmdxD­­Gt¬½M½½½P8I¦GeþrUTV©®¾A «¤¤¤à[ÞBaSÃ!—|KƒÃª¬ðg÷e(:7`ŽJ3¨ ݺéâÄþOÂ[û±cÚ»¯Z‘“¢U*(èD÷q:t@†ajÁ‚E:eÍ:ͯ«/èðÖ3ì–Ï]Jpf?‚0ÇF…”ëfš3ÖïLšJxëïïÓ‹ÿý’Z[[%I¦ihAC´ ®Zå>•x#øÁ ú‡ÕÞÙ­C‡ÛÕÑÕ­¶¶#jk;¢ éôÍ[TVV^á­?èÖB408<ƒß€|!¸sœ¯,Ò§-Õº™fK2§ÞÞ{¿I/¼ô¢ÂáÜn—6¬[®ëV¨´Ô›ô=}¥%ò•–¨®nž6®_¡á‘€öî?¨ýoÒ±cGÕùô/uÆYg«qɲ‚ o!ËTÐ2åuÙ UZ’ü3˜nÀWÓ ïçærM<4—+ùàI2]ïï8’mL>¼ýþ7ôòžßI’V._¨³·¬S™?»—¾Òm=s­Öº\ÿ½g¿šÓžÿ~A½==Ú¸qSÁ…·Á K^Ÿ­ÁÁ‚0Ë1ª˜ã<^iñŠñå‹Vœœ$µ %W’z¼RC'2jÔŽ¾–RŽ,M,Ûóê+zyÏïdÒ›NÑ<#ëЫ¼¬Tw¦¶žyª ÃÐ{ïìÓÛoí-¸Ñ¦C¡H"îée2^`¶#¸HÐ&Ú$©¬RZ¶f|yãêÌ.½F‚Zöáí½÷ß׫¯¿&Ã0tÁÏЙ›N :ScÒéWé‚n–azkÿj9r¨ ÂÛP0Ü‚¡ðÔ?0€‚FpPP'ûðÖ×׫^zA’tÖæ5Z¹|aÎëµrùB¹9’H_{åe Lx³l—,Ûd(œê:5€Y>n$I¦?[âRÉd;W}Û¢l92ÑDã8’Œ û¼ýö¿_R8ÖÊå µé´U™¿Y–6m\¥ã'úÔ|¨Mo¼þ;mÛqaÁL´LùLK@Hn'@Q¡Å €$©d§ófÑÍ,ÒÊædÜòÖvì˜Z[[åv»´õ¬uÓóF†´më:¹Ü.µµÕñ®Ê‚V$¬õ÷Lë9_´¸$U×J#CÊèîÙ0ŒÈÈÕL9c­l™µ¼íßÿ¦$iúå*/›8!ŽBêèìQï‰nï쫪¶^uuµª¯›'Ÿ/}ç¾2©ÖŸºLoî; ÷Þ}Kµµõq‡… }ýCZÅùP\n$I¥þÈÍä{ŽKÃÉoƒ• Ó%ùˤyµY¶¸I1A-}xÖÑÖ£2MC×­˜ðؽzëͽˆ´d>º;ÚÔÓyL-¥>­Z·V ªÓçôõ+´ï­ƒ:ÖvTÁ`@^oþo´Ü’ 'qƒYEƒà`L‰oâ);û´­\ŸÛ:Œæ³ŒÂÛ‘Ö#r[ êkRN®ÕÑÙ£W~û²|>¯ÎÙ¶IËW,QUU…$©··_‡Õþ}MÚÿû×¥M›Ó†·R_‰êj«ÕÞqBÇŽµjÙ²U£¡*áͶ#-ná0#Kٌࠠ$œ<¼u´·I’Ó_ „´ÿ}Z¹j‰þàâsåõzâÖ×ÖV«¶¶Z§¶FÏ?ÿ;x÷]Í«<#íeÓe jï8¡®Ž-_¾JÑ –¯ðf;‘.ËNʘ˜ œ c¡`feS‘zpÂø²¾Þ^IÒ‚ºô—6;:{µ`Á<ýчÏÚby¼ýÁÅçjÑ¢ùjïìM{̆ºy’¤Þ¾žqƒò1`Á‰l&Ã`D)0›Üd$”ZŽ/o=Ûð5šIxŒŒ ¬¨H?$v ·G_²#ã:|ðƒ[Ôߟ>¸U޾çP´¿œòÞ¢ m¦ÁŸu`6ãÿá2r¢=·JyT IDATù€Û–º;r÷>±S~LÞ¡HGüt­h’T7¿lÂmby½5.¨J»gôxáp8.Hå+¼9N¤¥Ítñg˜Íø8€Œ Nn]¶bçh›(¼ejÉ’EY×cÁ¢,æÔ0Œ‚of?‚€Œ¤ËI¹ì™h7³ðæöDZ½&šcp$û‘–CÃéçC ¾§ÛãIhù o.#2Ÿæ–WÀlFp‘t7ˆ÷gpóøL9Ž“qxóûË%I}ýCiy¼;û» tïO»¾w òžåþò±P•Ïðf޶¸…ÃÌãÌf7™_™T7‘Ë•Ý& f™„·ŠÊH?´ŽÎî´Ç¬ªô©¯?qª¬L?kpGGä=«æÍÈ7¿á-ܬ©Îœ   ÜdÄS"-Y)•UFœiJå•Òâ•’;ó~ÿŠ f…·šúHbßh€ròÞÜFäi08’ýIP4¸T   Øc—EŒ.›®X¹Yê¾·š588<áñKK¼ZPW)ÛÔ±Ž^µµ÷ÈeHõu•^•¤Á¡½õÎaIÒÆ #—+“\œé˦Ñ7îU Ìn7ÅQvá­º®Nõ ˲lývÏ[YÍï–uÝé·/ïW8liic£Nö5Ësxó¸"­Ä;qøP¼n J4¨eÞÖm>K.·G͇Žé½ïO[Ý^ó}5>&Ç£sÎÞ6~ @Ûی´¸•—§¿ý€âFpPPbƒZ¦áÍWV¡g-Izåõ÷t ¹-çõjj>ª×~ÿž CÚqîUVT$噇ðærÙ2 [ápH5ÕórþÙ‚€‚’Ô2 o —,×êõ§Éq=»û5½úû÷rrÙÔq¤7ö6é¹Ý¿—ã8:댳´zå*)&<å;¼yÍȤ»ÝÇOhþüš©h‹Q¥ ŠíŒÎI3²Ôv™Ñ‘™iF›®^wº\.—Þyóu½öû÷ÔÝ3 s¶¬SyYúÉtSÖo÷–š“$m:m“ÎÜ|Æh5œ“#<¥ñStÈ‘‘P6]£MK<‘àÖÓÓ£²2.•³Á @AqäÈvŒI‡·k6¨Ô_¦}¯¾¬æCmj9Ò®õk—ëôõ+TêK=Ï[¬‘á€ÞØ@ûß>$˲åñx´ãÜZ½r•¢y+š !¼yÍ $ÉãIrk ³ Á @A‰¶fM%¼-\²\Õ5µÚÿúu´µêÍ}´wÿAÕ×UkYcƒê橲Â/ïèôÁ@P}ýCjïìÖ¡ÃíêèêXjllÔÙgoSeEåhk`dµB o.Ó’iZ Cª¯å2)0ÛܘHšjx+õ—묨·«SMï¾¥Ž¶VµwœP{lj k`š¦/iÔ† §©¡¾^†"w'a\xó¸#­m'ŽwiúU9ý&‚€Â2NrÞäHUµuÚR[¯`pDm­:ÞÙ®þ¾^ *Š^bôª¬¬\Uóæ©¡a.Z,ŸÏ'#!¨E[Há­Ô™tøÄñ㪫;g¦¾%yBpPP"G9 o¶áÈë-Õ’å«Ô¸|ÕØ(O3ÉÈOsôµsŒB o¦aËe†d…Ã*õz½é<€Ù‹é@Ç‘#g4E§qdÇL2™IzmÅo“º,~¿èk{´©Êb§èÐ MRâ’$µµµé”5+gæûW7Æ!¼)³ðæ5#—I»::µrå²ú~äÁ @a k„·ôáÍã–aXRC}­Ünz¾sÁ ˜åBV¾k¹PXRLX#¼¥o^s@’tø`³N]»zF¾ùGpf¹¡`¾k¹Á FçO#¼¥ o.cD¦R0ÐÐà€/^8ƒß€|"¸³\G_¾k¹ö>)Îoé›×ì—$>tX›6oœ™/@A ¸³ÜáÎH)tޤÃ'ÎoÉÂ[¤µ-¨P(¬žîn­]»fƾ#ùGpf¹ÞAéhW¾k1±Ö®H]ÎoñáÍ‘[=’¤–æf~Ú:¹ÝÜŸ˜KnÀ,K-ÒÀ@¾k’ÚÀ t¨K …ÒoñáÍ4úea éxW—Öo8u¿%…€àÌr¶-CÒÑvi°7ßµo°_ji—BAɶ¤ÄFx‹”™FX¦"›Þ{_›Ï8Mg¦¾&‚‰€9`$ Y¥ÒPŸ–LŸä-‘<Éœá+m¶™ö#0"Ùid4°‘õŽãŒÝ J1ÏÑà[½{Td}d!·Ç2“ÛHFŠ2ÉtNî=ÆtÝËP·$GÇ:dÒÆk§ÿËPpnÀ\àH##’å‘l—4Ü'õ8RP’eëd’âB‘b2El€J8ôÉg'¡Ü‰ßFŽä2¥ÒèÃ%9!)8¿Q²6§Ã›z$gXáPX‡6ëâKΓirÁ˜‹nÀ\áHá€dZRØ”ls4Wä£*–d…#¡Ñ²ø"é,yH›“áÍ‘ìÈ5îMMZ¾¢Q‹5Lß—  Ü€9Ʊ"ýɆ-iÈ’Bö̾¿Ç” —ärINªË´„·Ñðf˶º$9j;zLÃCºô’órÿ¥(´µ(0ÑðâH)&¤*Ÿ]$ÛêÒàÀ ZÑŽ[åó•ÎÐ÷ Ñâ@Z´VCç\¥‹4l™cSPH££–ÂH[fÛ¶,Ë’mÛ²-G¶mIA•v¼¯úýÉ×}xªŒ NkZ››-oV¸KŽ=,+ÖÁ÷jÆ5j\ºx _2€Ù€7`Ž ­Ú.]¿K¡egÉñør~|ÛãSÿ‚õzïƒ7«wA&·gŠiM“ædË[8Ü-Ëê—mÛ:ðþAUV–kórö(^´¸³œÇ_!YýI×…ü5úÿÕü’R•9ŽYòz½µ®%+‹oq‹¼¶,KÁ`P#†¡›®RÅsÿ$Šú8^¿ŒÄV¶9ÖòõÉ wËq:xXáPX_¼ƒQ¤$ÑâÌz¾º%)×õ­ÿ#¹ËªTQQ!Ç3ÂrÉ0 ¹Ýnùý~¥åjYrnÊmíò%mM“æDË[(Ô£P¨S’Ôv䨆‡tÞygËïÏ}K(€âDpf¹[.N¹n¸q³ü~ÿŒÕ¥´´TÇkRߦ)¼ôìÔLšÕá-:¡P(rSÙcmêíé׹瞥ںšÜ~ ŠÁ ˜åV\v½Œ·G0jOK+[*†a(\Q—b¥)kÓÇâ‚Öœo¶uÈ wK’ŽmWwW·Î™V›ä„ Õv¤]ᥳÏ>MK—-šo@±b:`Ž0Ü^U\ÿe]ú¹ž~PÖkOç­.NÃ)z5P­W]ëÔ¸ðbm«­—iš*+±u´ÛRÐr’Në¡ÑgÇ)ΩB Yré„LgX’Ô×; žã½òxÜÚ¶}ƒæÍ«˜©¯@‘"¸sŒkÉzUýÅ=ªú éݧžÌKÖìÚ§ù]ÝjùÑÏõÞ;52ÔŽó¶©¢Ô«5 uôÛêê·eK³$¼I£_n§W†Ù–­ÎöѼyÚ|Æ©òùJfðP¬¸T /æ×Vë†Ï_£‹/ý€Z[ÚôóG¡÷Þi’d¨¡Ò¥SÜ*/‘Šý²©K#òmò¨G†õ÷ ª¥¹MCƒÃZ¾|‘ÎÙv¡ @Æhq7¦iêâK> %KêÑŸ<®ÿ~á57ÖÙÛÏTUu•VÔº5tÔÙo«Ä)ª–·# R³On%IÁ`H]£­l%%^yÖZÕ×3G€ìÜ€9.zgƒÚÚ:Õ×7D cZ£ÆžGÉã$–Ÿl±J¾Ÿ£`(¨žî>µ=–´k×­ÒM·|J¿zb·^Ùó†~ùŸOëÔõk´~ã©*+õªl¾K#!GŽz†‚ o†yÌ€Ê\}r!I’eY:ÑÕ£ž}2 C Z·~¥JJ¼Óðm˜ínÀfš¦jjæ«éý÷õì³Ïª³³S2$—Ë•öaš¦LÓ»W©a2Ñe3~Ùår©²¢B«V.Ó©«VèÕß¿‘´.~¿O—ÿÉ¥Ú|æzýçÏÿKoï{WMïЪ5˵véòùJÕXmhA¥Ô;â¨gP±œ‚on…äsÈoËe„%Iá°¥ž½ê>Ñ+ÇvTQQ¦ÓN?EuuÕÓû¥˜Õ¦k.€‰Ž›l½S}6“,ÇncÆì]Ž>\£ÏîÑ×Ñçª`0øbŸ˜µ~ÿû×ÕÕÙ©G~ød0s§mÙ·±‡ihói484¨]vyÚzY–­ß¾ôª^ؽGCÃÃr»ÝZ±j™N]wŠÊÊOÞ¢k8(õŒH})dEþD¦ý31úz¬,á9Y¹·^2 o†4úY"¯½¦-Ÿ; 2׈¼fp¬NÁ`HÇ;O¨·»_’TZZ¢5k–iåª%y™~˜Í¼^ï¹’z%Y’Â1Ïöèk;æáÄ<¢ËŠYVLYârL‡Ú8ÉʲYŸ5ZÜ€9¬²²J?úágìýšµè´ ©ïUår™Úñ-Úzö&½úÊ^½øÂ5½wPÞoVMMµ–­lTãÒ%ò•xäóJ %-[ƒAcì¶Íœ¶¼yLKeî|î|® Ü†5V_Û¶Ô×3 žî^  Ë0 ù|%Z¹r‰V­^*‡?µrƒ¿&ÀæõzÔÕÙ9cï744,¯7ó¾]^¯GÛ¶Ÿ¡-[OÓë¯í×K/½ªîîõ¼Ú«½o¼­E‹hqãBÕÖÍ—×ë‘×ç¨Úù®e[ X†aCAËPÐ2e9†lÇ”íH–cÊ–)9’Ëtä2$Ó4dŽ\.©Ä°äuÙòº,yMK.ÃŽ«[8li P=Ý}èë †ÊËý:õÔZ¾b‘L“ûr‹àÌaŽ#ÕÖÕéX[ÛŒ¼Ÿßï›ÔåB·Û­-[O×–­§«­­Co¾ñŽöí{W­-GuôH›LÓTUu¥jkkU[W­šùÕr{Üò›Žüžè• +í{LIJ, ô ª¿@ýýƒ $Eš×ëÕâ%õZ¾|±æOé} ‚0‡•——ë’K.Õ#ÿ3ò~+V,Uõüú)cáÂz-\X¯‹.Ú®÷ÞkÖÛo5©¥¥M½Ý}êëé×Á¦f†¡R_©Ê+ÊT^^¦²r¿ÊÊËäö¸är¹åv»äv»Gï eVØRزäX––­‘áa hd$ p(×g¯´´D óµlÙ"-ZÜ —‹Ö5ÓÁ Àæ8ŽŽkÓþýûõܳϪ³£czF•VVhõÊeª««×êµs~ Ñqu´×áíji9¦£­í Cñƒ#2}˜JZ^RâU}Ã|-XP§… j5¯º’Á@žÍÅÁ 7`ŽsG=ÝÝè-Ìé!…Ãa…B‘G8»Ôé-ñ¨Äë•§Ä­Ò¯ªª*UUU®Êª Í›W!Ÿ¯tFê ss1¸q©˜ã ÃPuMªkf×,þee~••ùÕ¸ta¾«9C§ €"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(7€"Ap(î|WÀä=ùä“úÊW¾WöÈ#è”SNÉSÓ‰àãÇë©§žÒž={tðàAuwwËqÕÕÕ©¾¾^[¶lÑ…^¨e˖廪³Fgg§>úÑÆ•}üã×Í7ßœ§@j7  ë;ßùŽ~ö³Ÿ) Ž[øða>|X{öìÑ®]»tï½÷jûöíy¨) Ÿn@žµ¶¶êæ›oVsssFÛ—••鬳ΚÞJ Á È£¾¾>ýíßþ­>œñ>\p¼^ï4Ö P¨n@Ý{ï½ãB›išúÿãhûöíjllTII‰zzzÔÚÚª={öè²Ë.ËSmùFpòäÀzòÉ'ãÊü~¿víÚ¥5kÖÄ•/^¼X6lÐ¥—^:“U‚'O=õ”lÛŽ+»á†Æ…¶lŒŒèÁÔ¯~õ+µµµ©¶¶Vk×®Õ 7Ü Å‹§Ü¯½½]?üáµgϵ··Ëq-_¾\+V¬Ð‡?üayæ™ißw*û¿þúëúÿø577«££Cª¨¨Ð¼yótÊ)§èœsÎч?üáqûýþ÷¿×ã?®¦¦&õ)­^½Z’ôÛßþV?þñõÖ[o)ë”SNÑG>ò‘¤Ÿcÿþýzúé§õÞ{ï©££Cííí*++ÓâÅ‹µbÅ ]uÕUiG[–¥ÿ÷מ={ôöÛo+kåÊ•ºâŠ+ÔÐР믿~lÛù—ÑÖ­[Çc&Î%€©3òtÜdë˜òè³™d9v3f¿èrôá}v¾Ž>WƒÁ³ø,À´¸þúëµÿþ¸²_ÿú×òù|#Ùih“¤`0¨[n¹%eh“¤G}4nÿÓO?}Â÷´,K<òˆžz꩸rÛ¶õ÷ÿ÷‡¶dòy.dàäIoooÜòt†¶¨÷ß_ûöí[~ã7ôÈ#ŒÛ®ººZ~¿\ùsÏ=§'žx"gûÿæ7¿‰[_SS£üãúô§?­+¯¼R^x¡–.]ª-[¶Äí“Ø7ðø€þæoþFçœsN\ùý×iïÞ½ãê‘OŽãè§?ýéØò‡>ô!IRyy¹Ö­[§íÛ·këÖ­ª««·ï7¿ù͸åŸýìgICduuuF—6‹ý\s}Ü€<ñûý[nmm•mÛSîKtúé§ë+_ùŠJKKõõ¯]¿þõ¯ãÖ·´´è´ÓN“$}ï{ß‹k3 C_ýêWuÑEɶm=ôÐCúîw¿·ÿ3Ï<36¦ºb«ãÒ¥Kuá…jÍš5*//Oúù}ôѸåõë×ëë_ÿº$éOþäOô¡}HCCCcë÷ï߯7¦8[“³téRÝsÏ=š7oÞØÄɉvíÚ¥Õ«Wëw¿û¾ô¥/ŧؑÄ+W®ÔÿûÿO‹-’aÄ÷"¹ï¾ûôàƒŽ-wuuéøñãš?¾$é—¿üeÜö¦iêž{îÑŽ;Ô××§n¸AMMM)?G!œKÙ!¸y2þü¸à …ÔÔÔ4åûŒÞrË-cƒ®»îºqÁíØ±c’"—ß^{íµ¸u[·nÕE]$)®»î:ýò—¿TKKËØ6ï¾ûnNö—¤µk×꥗^[~ýõ×uã7J’,X 3Ï«+®¸B+V¬Pcc£€:::ôæ›oêì³Ï›+l*\.—V­Z¥·Þzk¬lÏž=úå/©?ú£?’$ýâ¿×ù=zŸÔ©î/EZpÜn·®¼òJ]yå•’"-P?ÿùÏõ­o}+n¿wÞyG+W®Ô’%KâJii©zè!-_¾|²§"o†‡‡µ{÷ /¼P;wî”$½öÚkúÁ~t_Ó4ÕØØ¨Œ•íÙ³GÏ=÷œÎ?ÿ|…Ãaýû¿ÿ{Ê÷öûý³ê\sÁ È£¿ÿû¿×§?ýéqSi455éÎ;ïLºÏÕW_“à&EBBlð’¤ø‡»\›x Óëõê/þâ/r¶ÿ“O>©»îºKëÖ­ÓªU«T[[«@  ={öŒ«ë’%K$IW\q…¾ñoŒ•ŒŒèšk®ÑÅ_¬eË–Éëõª­­M­­­:óÌ3õçþçžü0 #îÒê3Ï<#¿ß/¿ßŸ2´E{î¹qÁÍqíܹSuuuêë뻬šÊl;—À\@pòhõêÕºóÎ;õ¥/})®x:»wïN:ëd|ò“ŸÔóÏ??nš‡d}Î$éÆoÔÊ•+s¶ÿóÏ?¯p8¬7ß|So¾ùfÊz644híÚµ’"ؾòÊ+zöÙgÇÖƒA=þøããö;xð`A‡ ŸÏ§U«VÅ ƒqÓ…¤síµ×ê?ÿó?ÇM-ÓÙÙ™Ñþ³é\s}Ü€<Û¾}»¾ÿýïkÓ¦MmßÑÑ1î‡z²LÓÔwÞ©íÛ·§Ý®¢¢B·Ür‹®¸âŠœíôòË/OXǪª*Ý{ï½qý¹¾üå/ëOÿôO'ì§uôèÑ)MN;¾øÅ/¦ün·;í(㊊ ÝqǪªªšôûϦs Ì´¸`ÅŠºï¾ûôÚk¯éÙgŸÕk¯½¦ÎÎN ¨¦¦F Z¼x±¶lÙ¢óÏ??åg“Q__¯{ï½W»wïÖÓO?­ææfµ´´¨ªªJ+W®Ôš5kô‰O|BÕÕÕ9Ýßëõj×®]z饗ôꫯª³³S'NœP P}}½tÁè#ùȸɉý~¿n½õV]uÕUzôÑGÇÞ³££Ceeeª©©ÑªU«tÖYgiáÂ…9;WÓaãÆú·û7=ðÀÚ·oŸ:::T__¯ÓO?]×^{­FFFtíµ×¦ÜëÖ­zä‘GôÀhïÞ½jmmÕ¢E‹tÉ%—hýúõú«¿ú«¸íJ̦s ÌÜ«f©Ç{l\_Éû·ÓªU«òT# ·¸W) è¼üòËqsÃI‘Érï¿ÿþ¸2¿ß¯¥K—ÎdÕä—J ˆµ´´è¯þê¯ä÷ûµ|ùrÕÔÔ¨««Kï¾ûnÜm¶$éOÿôOÇÍý ¸Ü ˆE§NJ;xàôÓO×ç>÷¹™ª€iBp€"öÊ+¯¤]o†.½ôRýõ_ÿµ\.× Õ Àt!¸@û¾ õë×k÷îÝ:v옎?®y󿩱±QË–-Óå—_®5kÖ仚r„Q¥ (1ª‹àP$nE‚àP$nE‚àP$nE‚àP$nEÃñš" IDAT‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nE‚àP$nEÂï ÌvŽãä» ÌÃ0ò]…Yà6 ’…5`¶Š¶Øß:BÜô ¸åPì°Ñ×¶m§Ü€b–ÎLÓ+þÞàr‹à–‰-ú°,K–e) p̦iÊívËårÉårÉ0Œ±.·nSÚlÛ–ã8 ‡Ã ƒ2MS>ŸOååå2M“ÿh³Žã8²m[¡PHÃÃà òz½r»Ý2 c¬Îq~s€à6ÑÐma³m[@@’TUU%·›Ó ˜Ý Ãki+--U8V¿Âá°JJJƶ‰¶¾Þ¦†é@&)6´Ù¶­p8¬¡¡!•””¨ººšÐ˜“Ün·ª««URR¢¡¡¡±îB±¿›˜<‚Û$$öi³m[###*//—ßïÏcÍ( ~¿_ååå‰ nám*hšÛ¶eY–€|>ŸJKKó]% FiiéØïdô²i´Ï&‡³—¥Øi>¢$©¬¬,ŸÕ  EÃáðØU*‰V·É"¸MAô_ù® «¢¢B@@–eå»*Eà–…ÄÖ6˲är¹äñxò\3 —Çã‘Ëå’eY´ºMÁm’¢sÖ0€‰ùý~…B!&¤Ÿ"‚[–ïŒàõzó]% ž×ëkq‹>=‚[†’ÝÖʶmFÇÓ4Ǻ15Èä‘:²”ØÏ ˜XôÎ ôo›‚Ûp€Ìñ»9u·Ià_ L¿£“Gp(7€"Ap(7€"Ap(7€"Ap`ŽûË¿üK]sÍ5:qâD¾«‚ Üò̶m=øàƒºîºëtþùçëÊ+¯Ô׿þu æ­N_úÒ—´eË–q;wJ’®¸â =ôÐCcÛ_sÍ5úùÏž§Ú¦* iÿþýºá†oÎï Ìe¡PH7Þx£FFFô¹Ï}NË—/WSS“î»ï>]y啺ÿþûU__Ÿ—ºýÙŸý™þ×ÿú_qenwä?—óÏ?_k×®ÍGµÓà›ßü¦n¸á½ÿþûúÌg>£]»v©¶¶6ßÕB´¸åÑücõôôèþûï׎;´xñbwÞyzðÁUYY©oûÛy«›×ëUyyyÜ£´´T’tã7jÛ¶my« ·ª««õï|G«W¯Vss³>÷¹Ï©««+ßÕB·<úÁ~ ë®»N%%%qå^¯W7ÜpƒüqõõõIŠ\Žüñ¬Ï|æ3:ÿüóuíµ×jÿþýcû„B!}ó›ßÔG>ò]rÉ%úêW¿ª¡¡¡±õ×\sxà±ý¯ºê*½þú듪÷D—F'ª  ðÞŠÁ-OÔÙÙ©7&]ÆgÈqœÿ¿½;ª¾÷?þž%“EHËj4•¢ P (‚ˆZ‹KܨD¶b@¤‚VnMï¯r®.r½ú@Jõ*Š  l nŠ!¬!@B¶YÀŒ'Ã$™É6sÈëùxœÇÙÏùœ7ßs¾g´gÏžÀ²?ÿùÏš0a‚–.]ªK.¹D&LPii©$éÙgŸÕþýûµhÑ"½öÚk*,,ÔÌ™3û?~\³fÍÒ¤I“ôæ›oª{÷îš:uª\.WÈó»\.UTTTÂýqàºjÄ&Â[ì#¸EÉ$ú$”¤¤$µnݺÚ0üãÕ³gOeffjòäÉJOO×{ï½§²²2-_¾\=ô222”™™©¼¼<}üñÇ}ÓÒÒ”ŸŸ¯îÝ»+##C#GŽÔÑ£GµwïÞç_ºt©ú÷ï_m§….œZ±+==]³fÍRvv¶vïÞ­)S¦D»$Ð9!JÚ¶m+I:xð RRRÎXït:uòäIuèÐ!°Ìb±¦­V«.¹äíÙ³G{öì‘×ëÕ˜1cÛ¸Ýî3z¦Z­?æôöíÛ+11±Æ[˜Ã‡¯×¬áÖ"Gp‹’´´4¥¦¦ê‹/¾P—.]ÎXÿÏþSV«U;w®ñ6›M à·xñb¥¦¦†]ƒ16–úÖˆ ÇŽÓ„ ´k×.eeeé…^ˆvI0àViÝqÇZ´hÑ­Q^¯WsçÎÕwÞèÉYTT¤eË–UÛnëÖ­ÊÎÎV»v픜œ¬Õ«W7[í5‰¥Z‘9vìXൠYYYš3gŽÎ9çœh—‚[1B)))9r¤Ö®]«#GŽhË–-zàTRR¢1cƶMHHÐÖ­[õÙgŸéĉš;w®ÊËË5hÐ ÙívåææjæÌ™Ú¸q£<:T­×iSJKKSaa¡|>_Xµ|ýõ×=z´~øá‡À²5kÖhìØ±:qâD`ÙòåË5a¹Ýîf¹hÉmæÀ­Ò(JJJÒÂ… 5gÎhïÞ½ÊÊÊRŸ>}4vìX9ŽÀ¶­ZµÒu×]§§Ÿ~ZEEEºä’K4gÎÅÅÅI’F­øøxMŸ>]TFF†î½÷^uë֭ɯcøðázòÉ'õÝwßiúôéuÖRZZªÂÂÂj-Ç×þýûUUUXV\\¬ýû÷Ëív^þ h|„6óhü‡œÂ;n¨õÃrÿØbÞ¸Õ°ŸÞ?ØNí§§ýãT§Ó¹.‚k‘$ù|>I§ncz<¹Ýn•––ªcÇŽ‘ª^rss5tèPÝrË-Ír>@Ë1bÄmß¾]ÙÙÙš={¶222šä<ûöíSJJŠìv»l6[ Ó\}Ÿ¹v8ý$ä‘ä6Œ½§§½†Ágüó2Ì˰,xÞg˜6 µ,’õãV)-\||¼ºuëÖ¤¡ ƒûO´póæÍ‹v -n&A‹›I,Z´(Ú%€(£Å À$n&Ap0 ‚€IÜL‚à`·z0þ4‡ÿ§°@͌ߗõý‰+ÜÄjµÊëõÖ½!-œ×ë ü6)êO0Bþ%X,Ùl6UUUE¹"b_UU•l6[µïQDŽàVOþàvòäÉh—@Ì;yòdµà†ú!¸ÕƒÅb‘Åb‘Ýn—Ëå’ËåŠvIÄ,ÿw¥Ýn|‡¢~na2þ%³X,²Z­²Z­r8*..ŽbeĶââb9ŽÀwgðw*ÂGp‹ÿ_ ÆV7¯×«’’’h—@Ì)))‘×ë­ÖÚF«[ýÜêÉÿŒ›Íf“ÃáPII‰ÊËË£]1£¼¼\%%%r8ïL[ÃÜ"`ì ã¬V«ìv»tôèQZÞЩ–¶£G*!!Av»=p‹ÔØÚFˆ‹œ=Ú˜™ñ}4>ŸOIII*--Uyy¹222äp8¢XÍÏétª¸¸XGIII–6›ÍÆ{ÜÁ-B‹E>Ÿ/0–hu“¤„„¹\.ûL|ðžyæIRBB‚²³³%IñññMVÇO<¡÷ß_¯¾úªºtéÒ šu{î¹ç´bÅ eggkРAÚ°aƒ äõz5zôhIÒ¾}û”——§¢¢"õìÙS\pþõ¯iïÞ½a#’ý}>Ÿž|òI9NÙl¶F½VDÁ­ýÇü‡Zµj%IÚ¶m›yä­^½Zo¿ý¶† "«ÕªùóçG¹ÊêêªP;Ç£•+W*##C ,P\\œ¶mۦѣGkÆ àVPP ¢¢"ýñÔ7ÞØßëõ†užHö_¶l™vïÞ­ôôt•””4ð KnM¤[·nºÿþû5mÚ4-_¾<‚ $‡Ã¡wß}70õÕW«]»vZ±b…Úµk§9s樢¢B³gÏÖÚµkuòäIõìÙSS¦LQ»ví$úÕß,èÐ!åääh̘1zë­·ôþûïK’FŒ!›ÍvyM5ûÏõî»ïêðáÃÊÊÊÒØ±cÕ¯_?IÒèÑ£µmÛ6¨gÏžªªªÒ!Cät:õ׿þUíÛ·WII‰®¿þzõìÙS³gÏÖ Aƒ4xð`%&&jõêÕr:ºõÖ[õÛßþ¶Æúêªãøñãš7ož6lØ #GŽ(==]×\sî»ï>9I§nW¿øâ‹úä“O”””¤Ö­[GúG  úÿïÿé½÷ÞÓĉuÏ=÷¨°°Pwß}·ÒÒÒôꫯJ’œN§ÊÊÊ”––&§Ó)I:÷Üs%I¥¥¥úàƒ”““S-tIªñ‘£Hö?tè^zé%Mžþù/¿üR'Ož”ÓéÔúõë%I_|ñ…|>Ÿ®¼òÊÀqW¬X¡5kÖ¨cÇŽ:~ü¸þçþ§ÖYWñññúä“OÔ©S' 4H>ŸO¯½öš^yå•À1þô§?iÅŠjÓ¦Î?ÿ|mÛ¶-¢Ï@Ë4eÊ¥¦¦jþüù:zô¨žþy¹\.ýñTjjªnºé&]pÁz饗4dÈ]wÝuúÓŸþ¤'NÔyþHöæ™gB¼p„ÆmÑC‹[JNNVrr²ÊÊÊäv»e·×üqû[«$éßÿþ·Ö­[§Ë/¿<ð¬Yee¥>üðC*>>^Ë—/W§NôÚk¯Z“ü®½öZ½ÿþû;vlϸÕUóÑ£Gµ|ùrþùZ°`ìv»V¬X¡'Ÿ|R‹/VÏž=uÕUW©  @_}õ•$iãÆJIIQEE…Ö¯_¯¡C‡jóæÍ’T-¸IÒ’%K§ ¨  @[¶lÑW\qF]‡ª³ŽÄÄD-_¾<°Oaa¡† ¦õë×ë¾ûîÓÞ½{µvíZýô§?Õüùóe·ÛõüóÏkÉ’%}FZž´´4MžûL/¾ø¢RRRÇyíµ×ÔªU+•——ë—¿ü¥V¯^-—Ëøÿa(áì_VV¦çž{NÆ Svv¶|>_`ˆÔرc¯—^zéŒå„¶èâViúì³Ïäóù”““SëvÁ¯IMM•t*`¼ñÆÕ†®]»ª¬¬LRø´6¤æŠŠ I§¾õ«ªª’ÅbQBBB`YÿþýUVV¦ 6hçÎêÛ·¯®ºê*UVVê£>Òwß}wFk›QmÁ6Ü:öï߯ &hÇŽÊÏÏ?#¹\.IRRRRŸ„b|#€¿·æ¦M›ôÕW_éÖ[oÕÈ‘#5|øp-\¸Pçž{®6lØ ýû÷+33SÒ©¤ú;„%%%é /”×ëUiii­ç gÿ‚‚•””hÉ’%êׯŸúöí«~øA^¯W}úôѨQ£"ºÖ#FèþûïÌÚbÁ­‰ìÛ·O3fÌÍf‹ø9³óÎ;OV«U;vìPFF†Î=÷ÜÀ§Î;K’Ö­[xÖÈ‚êúA85ŸwÞy’¤O?ý4p®uëÖÉçóU» ëÎíå—_V\\œz÷îX6kÖ¬3žo —?œ†SÇ×_­ÊÊJõë×O½{÷VZZš$ÉívKúñ!áuëÖBœÿ]vP—M›6é³Ï> ÌûßPYY)IÚ³gO`]\\\ Ó€ÍfSûöíÕ¹sgmÛ¶M[·n•tê¤;vìPJJŠ222j=w8ûgggë¶Ûn«6øÝvÛm8p`Ä×ùDN§3Úå 0@^xa´Ë4±3f(''G»víÒ¸qãTTTí’P‚[”¹\.}ôÑGzä‘Gd·Ûµ~ýúh—0aÂõéÓ'ÚešXzzºfÏž­œœíÞ½[yyy„·Ep‹²õë×+55UݺuSÿþýõá‡V[Ÿ››«÷Þ{O“&MÒ€´qãÆÀº×_]·ß~» ¤|Pû÷ï¬ûꫯtß}÷iÀ€>|¸¾üòˈk ¾åš››«ùóçkܸq!{ýõ×kÓ¦MùíÛ·ëŠ+®$Í;Wwß}·<$©¼¼\¿úÕ¯´bÅŠˆë4>›9Ü¢låÊ•‚[UTThÍš5àÖ·o_¹\.}öÙgÕ¶»å–[4tèPuíÚU òx<š?¾þð‡?袋.Rff¦®¿þz%&&J:õÞÔ©SuñÅ+##C#GŽÔÑ£GµwïÞÕ›––¦üü|uïÞ=âãÆÅÅ)??_/¿ü²>ùä½õÖ[ÊÏÏoP=€Æ—žž®Y³f);;[»wïÖ”)S¢] nQ´fÍ%&&ªsçΪ¨¨ÏçS=´jÕªjÛ]rÉ%Õæ U^^®nݺÕxl‡Ã˜nß¾½U^^Þàš­ÖÿÊDzÜ=zèúë¯×ƒ>¨É“'+33³ÁõÐ’Ø£]@KöÞ{喝¸XW]uÕëòóóe³ÙBîwòäII’×ë­q›`‹¥þ…6âq322$)Ð:ˆ-ÇŽÓ„ ´k×.eeeé…^ˆvI0 Å-JJKKµnÝ:½úê«úüóÏêU«d³Ù´yóæ÷íСƒ¼^¯¶oßÞŒ×-11Qßÿ}µe^¯70½gÏ-]ºT“&MÒŸÿüg•––6w‰€Z;vLãÇ×Î;•••¥9sæèœsΉvY0 ¸Eɇ~¨¶mÛꢋ.ª¶<--M=zô8£w©Qjjª®¾új=óÌ3Ú³gÊË˵fÍšzß ­¬¬Ô‰'ª ÆÀ®=zèïÿ»8 ÂÂB=ñÄŽ ^¯W=ö˜î½÷^åææê /Ô‹/¾X¯zÐf·(1ö& 6pà@}ôÑGµ†§ÿüÏÿTNNŽÆŽ«_ýêWZ¥ˆé´oIDAT¼x±Nœ8Q¯Z–-[¦k®¹¦ÚpèСˆó»ßýNmÛ¶ÕwÞ©‡~XƒVrr²$iñâŪ¨¨Ðo~óIÒÔ©SõþûïŸÑÐümæÑ4>Õ}ÜPë-†åþ±5ļq«a?ÿ¼°ÛOOûÇ©N§s]×"Iòù|’Nµy<¹Ýn•––ªcÇŽ‘ €˜2bÄmß¾]ÙÙÙš={vày䯶oß>¥¤¤Èn·Ëf³:¼Õ÷9l‡ÃÑOÒ IInÃØ{zÚk|†Á?/ü Ë‚ç}†i£PË"Y1ZÜháâããÕ­[·& mhô* …›7o^´K@˜hq0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜLÂíÌ®¸¸8Ú%€‚àÖ@Ñ.S(//v ¦Ç­R“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜Á À$ø­Ò(ÊÏÏ×Ê•+ÏXÞ«W/Í™3§^Çt:êׯŸ–/_®Ž;*77WC‡Õ-·ÜÒÐr#âõzµpáB­Y³Fß}÷Ú·o¯^½ziüøñJNNlWTT¤¹sçjÆ :zô¨222t饗êá‡VëÖ­›µfbÁ-ʆ ¦‰'V[f³Ù¢TMãp¹\š0a‚*++•——§¬¬,íÚµKsæÌÑÝwß­yóæ)33SN§S÷ß¿.ºè"½øâ‹JKKÓáǵe˵jÕ*Ú—@Ì!¸E™Ãá8ëBÊ’%Ktüøq-^¼Xñññ’¤:¨OŸ>=z´^zé%M›6MÛ·o×¾}ûôúë¯ÂjFF†.¼ðÂh–@Ì"¸Å¸ÜÜ\ 8P6lÐŽ;Ô¡C=òÈ#êÙ³§$Éãñ¨  @ï¾û®<®¼òÊZçr¹4kÖ,½ÿþûªªªÒÀ5yòd%%%I’Ö­[§‚‚}÷ÝwjÓ¦h¬mÑâÅ‹õÀB›ŸÃáÐøñãõàƒꡇ’ÇãQUU•8 Ž;6ÆÇÀYàe.—KÕ–9Ž@ ÔñãÇ5kÖ,-X°@íÛ·WAA¦Nª·ÞzKqqqúË_þ¢M›6é¹çžSbb¢æÎ[ëùž}öY8qB‹-’ÛíÖc=¦™3gjêÔ©*))Ñïÿ{MžíÙ³GÝ»wWNNŽ~ûÛßê®»îÒ 7Ü ÌÌÌú|Œ´ô*²¥K—ªÿþÕ†>ø °>--MùùùêÞ½»2224räH=zT{÷î•ÓéÔ’%K”ŸŸ¯®]»ªS§NÊÏϯñ\eeeZ¾|¹zè!edd(33Syyyúøã%IGŽ‘ËåÒ•W^©Ö­[+;;[ݺu«sÑ$Iééé!kHJJRëÖ­UTT$‡Ã¡ùóçëî»ïÖ믿®›nºIùùùúöÛoëûqpV£Å-ʆ®)S¦ÔºÕúc¾nß¾½U^^®}ûöÉãñT{&̸m°={öÈëõj̘1²X,’$·Û­²²2IÒyç§Þ½{ëŽ;îPÿþýuË-·èòË/¯sQÛ¶m%ITJJÊëN§Nž<©:H:ärss5|øp­Y³F¯¿þºFŽ© ¨k×®µ~.´47ò‡.—Ë%¯×+¯×[k`óó©Å‹+55õŒõV«U³fÍÒæÍ›õüC¿ÿýïÕ»wo=÷Üsµ®3JKKSjjª¾øâ uéÒåŒsüóŸÿ”ÕjUçΫ-·Ûí4h  ;î¸C«V­"¸„[¥&Ö©S'Y,}ñÅamß®];%''kõêÕµn׫W/=öØcš?¾V¯^­Ã‡‡µÎïŽ;îТE‹-y~^¯WsçÎÕwÞ©„„„ç¶ÙljÓ¦ÍMg̘1ÊÍÍUqqq´KAnQæïœ`œNgXû&%%iÈ!zê©§´uëViƌնIKKSaa¡|>Ÿìv»rss5sæLmܸQG‡Ò¶mÛ$ꀰbÅ >|X•••Ú¼y³•––Vëº`#FŒPJJŠFŽ©µk×êÈ‘#Ú²e‹xà•””h̘1’¤o¾ùFÓ§Oׯµÿ~ýðÃzùå—µ}ûv <¸Ÿ, \.—KÛ¶mÓøñã o1Ž[¥Q¶téR-]º´Ú²H~9á‘GÑóÏ?¯É“'«uëֺ馛Ծ}ûÀúáÇëÉ'ŸÔwß}§éÓ§kôèÑŠ×ôéÓuðàAeddèÞ{ïU·nÝTZZª?üPùË_TVV¦sÏ=WÏ<󌇎9Rãº`IIIZ¸p¡æÌ™£‚‚íÝ»WYYYêÓ§ÆŽØÇ»Ö_KBB‚.ºè"èÜsÏ­ïG ˆÐŒ34~üxíܹSãÆSAAÚ´ií²‚%JÇ µÞbXî[CÌ·±öóÏûÛé±ýô´œêt:×Ep-’$ŸÏ'éÔí>Ç#·Û­ÒÒRÞ?8+;v,Þ²²²š$¼íÛ·O)))²Ûí²Ùlç³ýÏnGÊápô“tB’G’Û0öžžöŸaðÏË0/òàyŸaÚ(Ô²HÖGŒ[¥@éééš={¶rrr´{÷nåå婨¨(Úe!Á H"¼™Á ¤§§kÖ¬YÊÎÎÖîÝ»ë|×(šÁ À$n àØ±cš0a‚víÚ¥¬¬,½ð Ñ. 7 éÌž¥sæÌÑ9çœí²`@p„6“ ¸ÐÂÚ̃à@ 7iÒ$íܹSÙÙÙš;w.¡-†ÜháâããÕ­[7Íž=[Ñ.µà·J£hÁ‚òx<ŸúèØ±£®»îº3¶óxÌ;vhnQRZZªýû÷K’|>Ÿ6nܨ:Èn·ËãñèóÏ?WUU•âããÕ¥K}úé§òù|:qâ„¶oß®îÝ»Gù @sã·(©ªªÒúõëU\\,«ÕªöíÛëú믗$UVVjË–-êܹ³233uõÕWkÕªUzå•W” ë®»NÉÉÉQ¾ÐÜ,uoÒ$Ç µÞbXî[CÌ·±öóÏûÛé±ýô´œêt:×Ep-’NµŠI’×ë•Çã‘ÛíVii©:vìé¡h‘öíÛ§””ÙívÙl6Y­§¾æƒ —Ãáè'é„$$·aì==í5 >ÃàŸ—a^†eÁó>ôQ¨e‘¬·JL‚à`7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`üViG»ÐBÜ(###Ú%` åååÑ.Áô¸U `7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“ ¸˜¿UEùùùZ¹rå˯¹æ=óÌ3Ïétª_¿~Z¾|¹:vìØ%€Bp‹²aÆiâĉՖÙíü±€3‘¢Ìáp¨U«VÑ.˜Á-†¹\.Íš5Kï¿ÿ¾ªªª4pà@Mžû¬öï߯E‹éµ×^Saa¡fΜØ÷/ù‹Ö­[§çž{NsæÌQEEEµcÏ;W|ðžyæ-^¼X‡Cyyyr¹\m}ôQ 0@/¿ü²zô衸¸8uêÔIÓ§O×’%Ktã7jÚ´iÚ³gOó|  F·([ºt©ú÷ï_møòË/UVV¦å˗롇RFF†233•——§?þXÒ©ŽK–,Q~~¾ºvíªN:)???p\§Ó©Å‹ëÑGUNNŽ:tè iÓ¦©¬¬LkÖ¬ lwË-·hèСêÚµ«$I·ß~»²³³Õ¡C5JíÚµÓÖ­[›õsgâVi” >\S¦L9cù¶mÛäõz5fÌY,I’ÛíVYY™$iß¾}òx<ºð ûX­?æðÂÂB¹ÝîjëuñÅk÷îÝe—\rÉç>~ü¸Þyç}ùå—*--Õ¾}ûTYYÙàk Cp‹Q)))’¤Å‹+55õŒõ.—K^¯W^¯·Z`ós:òz½òx<ÕÖ;9ŽÏ[QQ¡‘#GjРAºï¾ûôÓŸþTcÇŽ•Çãi„« Á­ÒÕ®];%''kõêÕ!×wêÔI‹E_|ñEØë½^¯¶mÛ¦œœœÏ»}ûv?~\“&MÒù矯¤¤$}ûí·:tèPÃ.³ÆŒ£ÜÜ\G»Ôà£ìv»rss5sæLmܸQG‡Ò¶mÛ$IIII2dˆžzê)mݺUEEEš1cF`ÿ¤¤$Ý|óÍzúé§µmÛ6kúôéÊÈÈPŸ>}j•••iß¾}JOOrÕ š¸U%N§S6lPqq±¼^¯222tã7Êáp¨mÛ¶ºêª«´jÕ*UVVÊápè²Ë.ã=n´p·(iß¾½n»í¶×_tÑEºè¢‹š±"ë¸U `7“ ¸˜Á À$n&Ap0 ‚€IÜL‚à`7“à'¯¨¸¸8Ú%€‚àÖ@Ñ.S(//v ¦Ç­R“ ¸˜Á À$n&Ap0 ‚€I4Upó5ÑqÌ I²Ù[܈ ¦ÎÑ n¦þÐ@‹•,c¶7hL¦Ê±Üêóašê4™³.GÄzpÀi7“ ¸˜D¬·Æº¯\ëq,ËáF:ˆ‚0¾Ë›%S4·X náþ}u¬óM{\.׎&ª 4ƒÓßå…þ®7ª+'˜J¬7_-ãà隯aì$ÉuøðáÏ›²xдN—»NϿ렶A!¦CcJ4ƒ[¸H}?¸P Û+É=þüOëyLN—»õcÃLm-kájêlÒ`–(Ûb:x, ˜ÆåÁƒ5ļU’Í0Ø ãVÇŽËONN¾9Ü‹ñùNýy½^y<¹Ýn•––ªcÇŽá€mß¾}JII‘Ýn—Íf“ÕzªýÈb‰,Ž”••­HOOBÒI oÃØ?[à‚ïÆÕÔúæýñ,µ¶À…ÜÎúß*­ëk[oüƒP ÓÆ¡ê¹çž{µþ¥pö3fŒrssU\\íRÂrú;¼Jáß eÁ’AšUS·†6SÖ´$ñ¾·ûñÇßýÍ7ßL«g"??_wÝuW 5/ØŽ;Ô»womÙ²¥ÑÎyÇwèÕWɬ€¹\.mÛ¶MãÇùðöÍ7ßL{üñÇwëÇÛ¤Á-i‘´º²FSßrX,µ¸Õ¦¦:ÔS[Gã|e¯^½Þ),,|±I*ÓÎ;µvíÚë^yå•F?߀tÁ4úqæ5cÆ åääh×®]7nœŠŠŠ¢]RH………/öêÕëI•Šì6¨QM"fZÕjíàÖ©¦W„ºEêŸ7ÞóöJª8ï¼óÞˆfË[JJŠ,XpÆò~øA[¶lQrrr£žïþûï×å—_ިǘ[zzºfÏž­œœíÞ½[yyy1Þ¾ùæ›içwÞ’*Tý»ÜÿJ©î, ÃòúŠjÀ‹vp W]]tkúC1&paÞÿí‘TÖ«W¯ÿ›6mÚeee+š öZÝzë­f´páBÝu×]JHH,s¹\zþùçuë­·êŠ+®ÐСCõÿ÷ÕöËÍÍÕüùó5nÜ8 0@Ç×—_~Ymýßÿþ÷ˆŽ÷Þ{ïiÒ¤I0`€6nÜ(éT'W^yEC‡ÕÕW_­|Pû÷ïoÔÏÐ|b5¼•••­˜6mÚ½zõú?Ie ÝùÀø_[&^jÓb5¸…ó!ÖÔËÃx;ÔómÆ?lÿtÅO<±+==ýéÇ{ìν{÷Îp¹\Ÿ„z+³Åb þÞ0õ•˜˜¨ÔÔT5Jo¼ñF`yQQ‘6oÞ¬Ûo¿=ÐûF’âââ”­çŸ^ûÛß4tèP½ð ڻwo`_·Û­Å‹kòäÉZ¾|¹~þóŸëñÇ—ËuêU7ÉÉÉr8a/99YO?ý´®½öZÍŸ?_={ö”t*XnذAÓ§O×믿®´´4=üðÃóÌ'==]êÙ³§Š‹‹õðÃëèÑ£v|«ÕZí{4‹ÅrØår}²wïÞ=öØéééO?ñÄ»ôcK[¨ïñP¡-Tˆ«o¾ˆMù:pϼ¾¦×‚_÷…ˆüÛÇ ZfÜÖ«SË?]×9Œ­snÕ @ãª)X…ú¤šÂš1 §k:Gð²HꌚXn5‰4Ðù§ýÍ?ïçOàúƒö¯·©ú_‹~ zÆ<‰à@S0¨P½CCuF~v=TG„àgš€V“X n¡ZÏüóÆV´à–¶ài?ÿvÆg߬Acãúà_bðˆ[¥4%cK™>8Ä·º·´ÕÖ“´¶çÜBýZBMóQ×Á-Ü–³†_:3´ù›?ìÇÆ}}AÛ·¸oËÏ.T Y]·LCM÷—B‡·¦bMôš+„Ô÷wKÓÁ¿]¼®¦e– }¬ªÞé ¶ß> >v¸×ÂSÓ­Íšn›† rRõÖºàã„:¶q…XWÛt8×Ò$bñV©T¿VºšnŸJ?¶¢ù[Ü|ª~ËÕêhq ùÔÖâæ_Ü¢΂o±»>*æn“J±Õâ¼]}ZÝj{]HpË›±u-ÔþÆV¶à¶Þh¸àpä 1äB½¯-x»ÚžykªÖ¶H¶«·æjqkÊçÜŒ-m~¡:)øyƒÖ[ÝüÛ[õcÏÓšŽc<_Mß«Á?äê d5=×Ö–·p5K ]¬Þ*•B÷5.3¾ö#xŸà 1ê–ªo-óu!Ìð£HMm BÝ­+ÄÕtþHZÛbJs†ŒÆº]<êU¡n£Ö¶¼®Ž„1š^¨ªSAM·=ùZÓë?bþ6©têå³Í)ÒÞ¥Áó5©àå¾Ë‚[ìjª%Ô_ ‚M/¸sBMÌ8Ih«)\5´µ­ÙZèš;Ô§ÕÍ8_W«[MËÃéÜPÓ´E7šCM·8k lÆeuµªÕÕÚÀbªµMŠÍ·PÛÕ®‚[ÅjkyóOÈá¶À€ÆUSÇ‚àm¤ºÃ]}C›)D£%©©Â›TwË[Mû†jU«éµÕêVŸ[–á´Æ5$´Å|k›ÛÁ-Ô¶áv\ˆ4ØÕÔY¡¦:"EÀ´ 1µµ²¯7˜Õ§B¤=a›M´Ec·º…ZWŸ`j}¨m@ã«­•-Ô6u³pÙ)ZÛ¤Øn¡¶­ox‹t}mÛ€Æ*¨)IJpBYS‡¶H·mÑ $ÍÞüóõyÅH$Ë@ý„ÔŒË" l5mκºD¥SCs÷* ÖTá-Üeáv:¨ï­]Pÿ[‘>“VWoQS‡6)úA£!Á-xY$ëkÛ–V6¢#Ü–¶PÛ7$´Õ´¬&-6¸I oÁËàŒëbá󠥩éY7ãúº¦Ã]_Ûò†nÛèb!˜DZC}Ã[]ÛÔâÂÙD&Ü—áFò¬Z}· G‹nRã…7ãºÆbѯU+Ò I¬KÔe!–ÂFS„·p[WØ‹¥Ï €³U]­bá§ú¶àErܨ‰µ@RŸzšâ'Ï·]u=çjûPÓµmWŸcGU¬…“úÖÓ­jMµ/¨]$-j Ù·¾ŒàV‹¦ oÆmóÚcñs Ö4fjH‹\¤ç‰±8RW}öµÖ½ ˆ2oÝ›œ¡!Á+¦B›»ÁMjþð¼o,6œírû4øͽo“‰õpÒÐúãúbý3àlÒ©¡ÇˆÉÐ&™#”Äjø2Ãg@¬jŠp ¡¯I™)|4V­fºfP»Æ Z1ØüÌbè ¤Æï¡j f /Üö eŠÕÛ«ÍÆÌ¥)k7óçÀÙ¢)C•©›ßÙPšóÎ†Ï €XÓœ!Ê”Íïl "±x±XÍ%R,Ö‘³-\œm×ÎôÍïl:góµ€Ú5aͨ%„›–pà”³2°ùµ´PÓÒ®€–à¬kF-=È´ôëÀŒZLP Fp©ŽÏ€ØÓbƒZ0‚Jxøœhz´:HŸ)?"Œ-ÁÿÁZ^w§”-ÃIEND®B`‚Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/data/resources/style.css000066400000000000000000000004701516676475000262210ustar00rootroot00000000000000.loading-frame { min-height: 200px; } .architecture button:not(:hover) { background: transparent; } .app_icon { -gtk-icon-size: 128px; margin-bottom: 24px; } .drag-overlay-status-page { background-color: alpha(@accent_bg_color, 0.5); color: @accent_fg_color; } .error-message { margin: 12px; } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/io.gitlab.adhami3310.Impression.json000066400000000000000000000016331516676475000300510ustar00rootroot00000000000000{ "id": "io.gitlab.adhami3310.Impression", "runtime": "org.gnome.Platform", "runtime-version": "master", "sdk": "org.gnome.Sdk", "sdk-extensions": ["org.freedesktop.Sdk.Extension.rust-stable"], "command": "impression", "finish-args": [ "--share=ipc", "--socket=fallback-x11", "--device=dri", "--socket=wayland", "--system-talk-name=org.freedesktop.UDisks2", "--share=network", "--env=RUST_BACKTRACE=1" ], "build-options": { "append-path": "/usr/lib/sdk/rust-stable/bin", "env": { "CARGO_HOME": "/run/build/impression/cargo" } }, "modules": [ { "name": "impression", "builddir": true, "buildsystem": "meson", "config-opts": [ "--buildtype=release", "-Dprofile=development", "--libdir=lib" ], "sources": [ { "type": "dir", "path": "." } ] } ] } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/logo.png000066400000000000000000000076641516676475000231060ustar00rootroot00000000000000‰PNG  IHDR\r¨f{IDATxœíÝ{xTõÇñwn$„[‚°ŠÜq­ÊZŒµµZûh»µ­ ­B»ºtݵ-·ÚVwUvõ±´ì¶]·ÖVlñáñRKeµA4⠆Ъñ’Aˆr —ûì¿ÒV 3“™3ó;3ßÏëyò<<Î!竘73çüÎ99‘ÅD“r} "þ("†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†)"†åû cö‡3/ƒ1çà P: ŠJ ¯ ¹ïÛÙ-áÀv¨ß5ÏAõjhm bêØf~  ƒ’Ð(ŸÅ_E «Z¸Ûޏ_·††m°·Ú}í{ î€H$=3K`r"‹ÑŸZ4ƒÇÁÌE0á‹PÐ;=ûlo†ª_Ãú¥°ïíÔî뮀þøÛB}Ô®ƒÚrØþ¢û÷PSN¤ .ºÊn‚\Oo”:Û¡b%&àx§N‚랆>ƒ}OòA‡wÁƒ—º·ÙAJWŽéhׇ ÷º(ˆW: ð× ç?¸t×®†~C|O’œü"w‘ F–Áüµ°à9wvEÒN8æâu§÷Ân蘽Ø÷Á3”»¸•Œð=) ¸S}e7ùž"~çÝœùºsÆepópá÷ ¯—ïiLPÀç÷uª/½úÀœÛ|O‘Å0ç»°ð6Í÷4YO(ì¾à{Šž›| öó=Eêœ2n¨€Y߆œßÓd-àÌË2ó ZA1Œû”ï)R+7>y7Ì{Šúž&+)™|ôÙÊ)´3/‡…›aøtß“d ŽüŸÈ)ã}O>¥£à«ÏÃÙŸõ=IVQJGûž qÇøž ½ò á‹À´¾'É @Qß$®h€ï Ò/7®ø©;U(IS2ù|s~¡ï üÈÉq§ /Yê{’Œ§Hæš¹(ûVE¦™ ™íâ;aêõ¾§ÈX €d¶œwLà¬+}O’‘É|¹ypÕ ­H€ Ù¡ ·»œ»ø$ß“d@²GÉø»uí@(’]θ ÎÍ K»=S$û\²T—ÇIì“× >÷@òm1@ìtòÙ0c¡ï)BOìuá÷ÝÝ”å„É^…ýàÒ{}Oj €d·ñW¹»K·É~Üê{‚ÐR$ûvŒ:Ï÷¡”A÷–”9ò¾{¬÷ΗaÏëÐP Mû µÑ­ªëÕ×Ý”sàt: ›îÞVgÒCþ ß„Ž Éël‡W?8Vÿ´ö=Q÷κŠJ|O* €§«^\?u/ùžæÃò‹àœÏùž"T ÞÁðÓ™Pñ#ß“|Øäk|O* €¤FWüöáé% ÑÖ‘çeö³ ¦Hj­»ž¹Å÷‘““™ƒM­§ ·»™ÆèY0lª;Çß»rò å 4lƒÝ•P[Õ¿ƒ¶¦ø¿÷º»¡ß©pî×S7OŒ½ÖÝå{ŠPP¬+³ÃäynÁOwú v_çÃG¿mG`ÓÏ¡ühÚß~~w3 #Ë‚›=Q#f¸àµõ=‰wú`Ý7߆Ýpâþîôêëþ6ÿV \ðøž®ÔÕ+¯v« }Ë/‚çúž"ë’y4Za?¸èXP}ÿ&ööwÀÚÛß_¬mMî×/-‡MGç»m£É/„Y‹¢oóþá`]pó'bÐé~÷ €¸1ÿs!lz úºýHlú™Û6V&̓^}¢o³m}Ïg ÒÀ1~÷ €À“ aÇ‹ño¿ãE÷‘ šÂ~pú%Ñ·y÷•ø÷™ …ýýî?ëvWÂæ{þû6=õUÑ·ùÛ9Ñ_÷½ °Ÿßý‡€`ݦŸ%vK°H—‹@4C&D}ÿ;=ßoŠô@°îµIüÞg£¿>ð´è¯=˜ø¾ƒÐKïë’Yshgô׋DÝ÷…Aú H2’¼%¹o¹º^°®dxâ¿7ÖRÚ–CÑ_÷ý7pg«ßý‡€`Ýi1ŽÔG3ö¢è¯7ÔD½wiâûB{Œµ (ÖM»>±«ârraÊW¢o³;ÆÒá“b$LµÖïP P¬21örw¦^û4_MŒ3 ¾—â6í÷»ÿP>³¼g÷êY—ÿ0ú6­ðæšèÛ ›ÿ>S!Þûf1@Ü=òæ? ÓæGÿ8“ Ó¸mó‹¢Ïʇ ½9ú6£gö|Ö Å:Fa€Îƒˆ“_WÞ3º~5káÀv÷Zé(w°pêu±ßöƒ»PhýÒèÛœrŽÿÇ‹û^Š €|Ð ðéeÉ}õKc_ê;ñêäö„°?Í8 ô@‚µýxîÎèÛäÀ¤¹é™'š½oúžÀ;@‚s`;¬¸:Û¢o7iôš–‘N¨½Ùÿ} C@`4ÔÂÏ/‰}d=¯À=‰È·ú­‰]™et @’·ýxø³pdOìmËþMýL±Ô”ûž ë:Û:PG‹»Çÿº;Ý~c)snMl_AS}{ÆÂÆ÷ìÒÜÖFØø_pï8Xûýø~øó ઇ{ö ÂTéhº ßS„‚ÞXw°~s#<õ>|Àpw±Nnž»qGC-ì~ÕýÍùæšØ‹|Žwé}02$äÜQ¡'ÿ‰Ì[`ß:¼œµý(üa•û Úì%0ã‚ÿ¾‰Šu'#Cô å°ï ëzû0˜½.þ7ßSüE$U+}O Àm¾'H\C­ï N,¯._Ÿ¸rBtç í2ûÏ<` @¼» £X·åö¥t|mC¸Þöóê/}O* @Ís¾'H\mÈNeå@ÙMpS ÿ¨ïi>¬£þø¨ï)BE«W»#Úž'é™öf¨~Ê÷N^Lœë>ï‡a‘ω¼ö8´x¾yÈ(­î ÐÔë|OÒ3[~mG’ÿ>#fÀΗ[{Ê9Isý¯í% ÷úž"tp—¯Nšçþ&Ëm°þî`¾× pä}¨];7žסa›[ÓßÚènÒ«ôì>Ûçîä3fv컇É[k`×fßS„ŽîÆËàãßô=I|^¸öx7›¾'ÃøÏ»¯lëe£tð˜gn…º¾§ˆm×f·üVâW³¶gO?6D8¦£V\ûqW>5ÖÃ/?£e¬=µövß„–ð×߃_|ïò=ɇzød8g ³ª•°íyßS„–p¼ú*X>Í‹ºðŸÓá½­¾'É,­ðT†×ñDèNc=ü÷l(¿ÚšüÍÑÙîÎPܾ›Izæ÷·éS 9‘ÅD|jý†ÀœÛ`ò5é[,ÔÖU¿v§ú‚<Úß»²ôÿ½?Àò)ñÝ«À0 ^…ý`ܧ`ÌùpêD( ½K’¿”¸³Í]o`›{–^m¹[áÄ"Ÿxdc:Ûà'eðî&ß“„žÖÄ«µ¶>â¾$ÜÖ,Òœt @²Kõj¨ˆñÜBù3@²ÇÁ:Xu­[÷/qQ$;´7»[“77øž$£(’ùº:ᑹúÜŸ@2[$Õ]ë/=¦HfûßÅîqæ’@2×óÿî¾$aZ‹ï…2KBtGݰˆD üvxö{¾'Éx €d–®Nxâxå~ß“d@2GG+¬ü¼ö˜ïI²† ™áÀ6øÕçuª/` €„ßOª/ÃѾ'É: €„WW<ów¤_Ë{SBpª¯‚Çæë-Š).mM°áwïÎ6ßÓd=@£z5= 0.59.0', license: 'GPLv3', ) i18n = import('i18n') gnome = import('gnome') base_id = 'io.gitlab.adhami3310.Impression' dependency('gtk4', version: '>= 4.10.0') dependency('libadwaita-1') glib_compile_resources = find_program('glib-compile-resources', required: true) glib_compile_schemas = find_program('glib-compile-schemas', required: true) desktop_file_validate = find_program('desktop-file-validate', required: false) appstreamcli = find_program('appstreamcli', required: false) cargo = find_program('cargo', required: true) version = meson.project_version() prefix = get_option('prefix') bindir = prefix / get_option('bindir') localedir = prefix / get_option('localedir') datadir = prefix / get_option('datadir') pkgdatadir = datadir / meson.project_name() iconsdir = datadir / 'icons' podir = meson.project_source_root() / 'po' gettext_package = meson.project_name() if get_option('profile') == 'development' profile = 'Devel' vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip() if vcs_tag == '' version_suffix = '-devel' else version_suffix = '-@0@'.format(vcs_tag) endif application_id = base_id + '.Devel' else profile = '' version_suffix = '' application_id = base_id endif meson.add_dist_script( 'build-aux/dist-vendor.sh', meson.project_build_root() / 'meson-dist' / meson.project_name() + '-' + version, meson.project_source_root() ) subdir('data') subdir('po') subdir('src') gnome.post_install( glib_compile_schemas: true, gtk_update_icon_cache: true, update_desktop_database: true, ) Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/meson_options.txt000066400000000000000000000002011516676475000250510ustar00rootroot00000000000000option ( 'profile', type: 'combo', choices: [ 'default', 'development' ], value: 'default' ) Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/000077500000000000000000000000001516676475000220415ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/LINGUAS000066400000000000000000000001131516676475000230610ustar00rootroot00000000000000ar ca_ES cs de es fi fr hr it ja ka kab nb nl nn oc pl pt_BR ru sk tr zh_CNImpression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/POTFILES.in000066400000000000000000000005351516676475000236210ustar00rootroot00000000000000# DO NOT EDIT MANUALLY # This files is autogenerated by the CI pipeline. # METADATA files data/io.gitlab.adhami3310.Impression.desktop.in.in data/io.gitlab.adhami3310.Impression.gschema.xml.in data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in # UI files data/resources/blueprints/window.blp # Rust files src/main.rs src/window.rs src/flash.rs Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/ar.po000066400000000000000000000216351516676475000230120ustar00rootroot00000000000000# Arabic translation for impression. # Copyright (C) 2025 impression's COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Ahmed Najmawi , 2025. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-14 22:38-0700\n" "PO-Revision-Date: 2025-07-21 06:41+0300\n" "Last-Translator: Ahmed Najmawi \n" "Language-Team: ar\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.6\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:443 msgid "Impression" msgstr "إمبرشن" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "كاتب وسائط" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "أنشئ سوَّاقات قابلة للإقلاع" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" "يو إس " "بي;Ùلاش;ناسخ;إقلاعي;سواقة;أيزو;صورة;قرص;usb;flash;writer;bootable;drive;iso;img;disk;image" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Ø¹ÙØ±Ø¶ Ø§Ù„Ù†Ø§ÙØ°Ø©" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Ø§Ø±ØªÙØ§Ø¹ Ø§Ù„Ù†Ø§ÙØ°Ø©" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "حالة تكبير Ø§Ù„Ù†Ø§ÙØ°Ø©" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "اكتب صور الأقراص على سوَّاقاتك بسهولة. اختر صورة، وأدخل سوَّاقتك، ثم ابدأ العمل! " "«إمبرشن» أداة Ù…Ùيدة لهواة التنقل بين التوزيعات ومستخدمي الحاسوب العاديين على " "حد سواء." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "شاشة اختيار لصورة محليَّة أو تنزيلها من الإنترنت" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "شاشة تعرض مل٠ISO المختار وذواكر USB المتاحة" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "كتابة ISO قيد التقدّÙÙ…" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "شاشة النجاح مع علامة صح كبيرة" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "عام" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Ø§ÙØªØ­ ملÙًا" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Ø§ÙØªØ­ Ù†Ø§ÙØ°Ø© جديدة" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "اعرض الاختصارات" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "اخرج" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Ø£ÙÙ„ÙØª هنا Ù„Ù„ÙØªØ­" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "القائمة الرئيسة" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "اختر صورة" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Ø§ÙØªØ­ ملÙًا…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "نزّÙÙ„ مباشرة" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "لا يوجد اتصال" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "اتصل بالإنترنت لعرض الصور المتاحة" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "ستÙمحى كل البيانات الموجودة على السوَّاقة المحدَّدة" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "اكتب" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "لا توجد سواقات" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "أدخل سوَّاقة للكتابة عليها" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "اكتملت الكتابة" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "يمكن إزالة السوَّاقة بأمان" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "أنهÙ" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "أخÙقت الكتابة" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "Ø£Ø¹ÙØ¯ المحاولة" #: data/resources/blueprints/window.blp:356 src/window.rs:356 src/window.rs:385 msgid "Writing" msgstr "يكتب" #: data/resources/blueprints/window.blp:358 src/window.rs:355 msgid "Do not remove the drive" msgstr "لا تزÙÙ„ السواقة" #: data/resources/blueprints/window.blp:373 src/window.rs:260 src/window.rs:307 msgid "_Cancel" msgstr "Ø£_لغÙ" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "اختصارات لوحة Ø§Ù„Ù…ÙØ§ØªÙŠØ­" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "عَنْ «إمبرشن»" #: src/window.rs:255 msgid "Stop Writing?" msgstr "أأوق٠الكتابة؟" #: src/window.rs:256 msgid "This might leave the drive in a faulty state" msgstr "قد يترك هذا الإجراء السواقة ÙÙŠ حالة ØªØ§Ù„ÙØ©" #: src/window.rs:261 msgid "_Stop Writing" msgstr "أو_ق٠الكتابة" #: src/window.rs:303 msgid "Erase Drive?" msgstr "أأمح٠السواقة؟" #: src/window.rs:304 msgid "You will lose all data stored on {}" msgstr "ستÙقد كل البيانات المخزنة على {}" #: src/window.rs:308 msgid "_Erase" msgstr "ا_محÙ" #: src/window.rs:349 src/window.rs:379 msgid "Writing will begin once the download is completed" msgstr "ستبدأ الكتابة Ùور اكتمال التنزيل" #: src/window.rs:351 src/window.rs:384 msgid "Downloading Image" msgstr "تÙنزَّل الصورة" #: src/window.rs:381 msgid "This could take a while" msgstr "قد يستغرق هذا بعض الوقت" #: src/window.rs:409 msgid "Failed to write image" msgstr "أخÙقت كتابة الصورة" #: src/window.rs:422 msgid "Image Written" msgstr "ÙƒÙØªØ¨Øª الصورة" #: src/window.rs:675 msgid "Disk Images" msgstr "صور الأقراص" #: src/window.rs:701 msgid "File is not a Disk Image" msgstr "المل٠ليس صورة قرص" #: src/window.rs:819 msgid "translator-credits" msgstr "أحمد النجماوي " #: src/window.rs:821 msgid "Code borrowed from" msgstr "الكود مستعار من" #. Translators: Metainfo for the app Footage. #: src/window.rs:828 msgid "Footage" msgstr "" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Polish your videos" msgstr "" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:836 msgid "Switcheroo" msgstr "سويتشيرو" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Convert and manipulate images" msgstr "حوّÙÙ„ الصور وعالجها" #: src/flash.rs:93 msgid "Failed to unmount disk" msgstr "تعذَّر إلغاء ضم القرص" #: src/flash.rs:120 msgid "Failed to open disk" msgstr "تعذَّر ÙØªØ­ القرص" #: src/flash.rs:170 msgid "Failed to extract drive" msgstr "تعذَّر استخراج السوَّاقة" #: src/flash.rs:228 msgid "Failed to download image" msgstr "تعذَّر تنزيل الصورة" #: src/flash.rs:285 msgid "Writing to disk failed" msgstr "تعذَّرت الكتابة على القرص" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/ca_ES.po000066400000000000000000000205171516676475000233600ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-27 00:31-0700\n" "PO-Revision-Date: 2025-10-17 19:13+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: ca_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.6\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:442 msgid "Impression" msgstr "Impressió" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "Eina d'escriptura multimèdia" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Creeu dispositius d'arrencada" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;escriptor;llapis;arrencar;unitat;disc;iso;img;imatge;dispositiu" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Amplada de la finestra" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Alçada de la finestra" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Estat de maximització de la finestra" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Escriviu imatges de disc als vostres dispositius amb facilitat. Seleccioneu " "una imatge, inseriu el vostre disc i estareu llest per començar! L'Impressió " "és una eina útil tant per als usuaris apassionats de les distribucions com " "per als usuaris d'ordinadors més ocasionals." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Pantalla amb l'opció d'una imatge local o una baixada d'internet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Pantalla amb una ISO seleccionada i dispositius USB disponibles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "Escriptura de la ISO en progrés" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "Pantalla d'èxit amb una gran marca de verificació" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "General" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Obre un fitxer" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostra les dreceres de teclat" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Quit" msgstr "Surt" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Deixeu-ho anar aquí per obrir-ho" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "Menú principal" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Trieu la imatge" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Obre un fitxer…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Baixada directa" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Sense connexió" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Connecteu-vos a internet per veure les imatges disponibles" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Totes les dades de la unitat seleccionada seran esborrades" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Escriu" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "Sense unitats" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "Inseriu un dispositiu per escriure-hi" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "S'ha completat l'escriptura" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "Es pot retirar la unitat de manera segura" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "Finalitza" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "No s'ha pogut escriure" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "Torna-ho a intentar" #: data/resources/blueprints/window.blp:356 src/window.rs:355 src/window.rs:384 msgid "Writing" msgstr "S'està escrivint" #: data/resources/blueprints/window.blp:358 src/window.rs:354 msgid "Do not remove the drive" msgstr "No desconnecteu la unitat" #: data/resources/blueprints/window.blp:373 src/window.rs:259 src/window.rs:306 msgid "_Cancel" msgstr "_Cancel·la" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "Dreceres de teclat" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "Quant a l'Impressió" #: src/window.rs:254 msgid "Stop Writing?" msgstr "Voleu aturar l'escriptura?" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "Això podria deixar la unitat en un estat defectuós" #: src/window.rs:260 msgid "_Stop Writing" msgstr "_Atura l'escriptura" #: src/window.rs:302 msgid "Erase Drive?" msgstr "Voleu eliminar la unitat?" #: src/window.rs:303 msgid "You will lose all data stored on {}" msgstr "Perdreu totes les dades emmagatzemades a {}" #: src/window.rs:307 msgid "_Erase" msgstr "_Suprimeix" #: src/window.rs:348 src/window.rs:378 msgid "Writing will begin once the download is completed" msgstr "L'escriptura s'iniciarà un cop s'hagi finalitzat la baixada" #: src/window.rs:350 src/window.rs:383 msgid "Downloading Image" msgstr "S'està baixant la imatge" #: src/window.rs:380 msgid "This could take a while" msgstr "Això pot trigar una estona" #: src/window.rs:408 msgid "Failed to write image" msgstr "No s'ha pogut escriure la imatge" #: src/window.rs:421 msgid "Image Written" msgstr "S'ha escrit la imatge" #: src/window.rs:677 msgid "Disk Images" msgstr "Imatges de disc" #: src/window.rs:703 msgid "File is not a Disk Image" msgstr "El fitxer no és una imatge de disc" #: src/window.rs:821 msgid "translator-credits" msgstr "Victor Dargallo " #: src/window.rs:823 msgid "Code borrowed from" msgstr "Codi obtingut de" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:832 msgid "Polish your videos" msgstr "Milloreu els vostres vídeos" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:840 msgid "Convert and manipulate images" msgstr "Convertiu i manipuleu imatges" #: src/flash.rs:96 msgid "Failed to unmount disk" msgstr "No s'ha pogut desmuntar el disc" #: src/flash.rs:123 msgid "Failed to open disk" msgstr "No s'ha pogut obrir el disc" #: src/flash.rs:173 msgid "Failed to extract drive" msgstr "No s'ha pogut extreure la unitat" #: src/flash.rs:231 msgid "Failed to download image" msgstr "No s'ha pogut baixar la imatge" #: src/flash.rs:288 msgid "Writing to disk failed" msgstr "S'ha produït un error en escriure al disc" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/cs.po000066400000000000000000000317011516676475000230100ustar00rootroot00000000000000# Czech translation for Impression. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR Amerey.eu , 2023. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-20 21:04-0400\n" "PO-Revision-Date: 2024-07-03 13:48+0200\n" "Last-Translator: Amerey \n" "Language-Team: \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.4\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Program pro zápis médií" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "VytvoÅ™te bootovatelné disky" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;bootable;drive;iso;disk;image;jednotka;obraz;bootování" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Šířka okna" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Výška okna" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Maximalizovaný stav okna" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "PÅ™eneste snadno obrazy disků na vaÅ¡e disky. Vyberte obraz disku, vložte USB " "disk a můžete zaÄít! Impression je užiteÄný nástroj jak pro zapálené distro-" "hoppery, tak pro běžné uživatelé poÄítaÄů." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "Obrazovka s výbÄ›rem místního obrazu disku nebo stažení z internetu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "Obrazovka s vybraným ISO a dostupnými USB disky" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "Probíhá nahrávání ISO" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Obrazovka úspÄ›chu s velkým zaÅ¡krtnutím" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:70 msgid "This is a minor release of Impression with a few small improvements." msgstr "Tato verze Impression pÅ™ináší spoustu drobných vylepÅ¡ení." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:72 msgid "Support for .xz files" msgstr "Podpora souborů .xz" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:73 msgid "Faster downloading of images" msgstr "Rychlejší stahování obrazů disků" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:75 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:91 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:102 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:117 msgid "" "Impression is made possible by volunteer developers, designers, and " "translators. Thank you for your contributions!" msgstr "" "Impression je tvoÅ™en dobrovolnými vývojáři, designéry a pÅ™ekladateli. " "DÄ›kujeme za vaÅ¡e příspÄ›vky!" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:80 msgid "" "This minor release fixes a bug where some .ISO files wouldn't be detected." msgstr "Tato verze opravuje chybu, kdy nÄ›které soubory .ISO nebyly detekovány." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:85 msgid "" "This release of Impression brings even more convenience and power to your " "fingertips:" msgstr "" "Tato verze Impression pÅ™ináší jeÅ¡tÄ› více pohodlí a výkonu na dosah ruky:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:87 msgid "Direct download of a selection of images directly from the app" msgstr "Přímé stažení výbÄ›ru obrazů disků přímo z aplikace" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:88 msgid "Updated and more understandable terminology" msgstr "Aktualizovaná a srozumitelnÄ›jší terminologie" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:89 msgid "Security fixes" msgstr "BezpeÄnostní opravy" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:96 msgid "This minor release of Impression delivers:" msgstr "Tato verze Impression pÅ™ináší:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:98 msgid "Support for mobile screen sizes" msgstr "Podpora velikostí obrazovky mobilních zařízení" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:99 msgid "Various bug fixes, improving reliability and stability" msgstr "Různé opravy chyb zvyÅ¡ující spolehlivost a stabilitu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:100 msgid "" "Brazillian Portugese translations, making Impression available in a total of " "9 languages" msgstr "" "PÅ™eklady do brazilské portugalÅ¡tiny, díky Äemuž je Impression k dispozici " "celkem v 9 jazycích" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:107 msgid "" "This major release of Impression brings a bunch of exciting improvements:" msgstr "Tato verze Impression pÅ™ináší spoustu zajímavých vylepÅ¡ení:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:109 msgid "" "Visual enhancements to make the app more beautiful, focused, and engaging" msgstr "Vizuální vylepÅ¡ení, díky kterým bude aplikace krásnÄ›jší a poutavÄ›jší" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:110 msgid "Automatic updates of the available drives list" msgstr "Automatické aktualizace seznamu dostupných disků" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:111 msgid "Explicit drive selection before flashing, to avoid accidental data loss" msgstr "" "Explicitní výbÄ›r disku pÅ™ed flashováním, aby nedoÅ¡lo k náhodné ztrátÄ› dat" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:112 msgid "" "Turkish and Czech translations, making Impression available in a total of 8 " "languages" msgstr "" "Turecký a Äeský pÅ™eklad, díky Äemuž je Impression dostupný celkem v 8 " "jazycích" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:114 msgid "" "The versioning scheme has been simplified to only include major and minor " "versions. The previous version of Impression was 1.0.1, this is version 2.0. " "Going forward, new features and noticeable changes will be included in new " "major releases, while fixes and translations will result in new minor " "releases." msgstr "" "Schéma verzí bylo zjednoduÅ¡eno tak, aby zahrnovalo pouze hlavní a vedlejší " "verze. PÅ™edchozí verze Impression byla 1.0.1, toto je verze 2.0. V budoucnu " "budou nové funkce a znatelné zmÄ›ny zahrnuty do nových hlavních verzí, " "zatímco opravy a pÅ™eklady povedou k novým podverzím." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:122 msgid "Added Spanish, French, German, Russian, and Italian translations." msgstr "PÅ™idány Å¡panÄ›lské, francouzské, nÄ›mecké, ruské a italské pÅ™eklady." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:127 msgid "Initial version." msgstr "První verze." #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Obecné" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Otevřít soubor" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nové okno" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Zobrazit zkratky" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "UkonÄit" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "PÅ™etažením sem otevÅ™ete" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Hlavní menu" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Vyberte obraz disku" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Otevřít soubor…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Přímé stahování" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Žádné pÅ™ipojení" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Chcete-li zobrazit dostupné obrazy disků, pÅ™ipojte se k internetu" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "VÅ¡echna data na vybraném disku budou vymazána" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Nahrát" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Žádné disky" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Vložte disk, na který chcete nahrát obraz disku" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Nahrávání ukonÄeno" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Disk lze bezpeÄnÄ› vyjmout" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "DokonÄit" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Nahrávání bylo neúspěšné" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Opakovat" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing…" msgstr "Nahrávání…" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "Nevyjímejte disk" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_ZruÅ¡it" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Klávesové zkratky" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "O aplikaci Impression" #: src/window.rs:246 msgid "Stop Writing?" msgstr "Zastavit nahrávání?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state." msgstr "Mohlo by to vést k tomu, že disk bude neÄitelný." #: src/window.rs:250 msgid "_Stop" msgstr "Zas_tavit" #: src/window.rs:279 msgid "Erase Drive?" msgstr "Vymazat Disk?" #: src/window.rs:287 msgid "_Erase" msgstr "_Vymazat" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "Zápis zaÄne po dokonÄení stahování" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image…" msgstr "Stahování obrazu disku…" #: src/window.rs:356 msgid "Copying files…" msgstr "Kopírování souborů…" #: src/window.rs:391 msgid "Failed to write image" msgstr "NepodaÅ™ilo se nahrát obraz disku" #: src/window.rs:399 msgid "Image Written" msgstr "Obraz disku nahrán" #: src/window.rs:603 msgid "Disk Images" msgstr "Obrazy disků" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "Soubor není obraz disku" #: src/window.rs:734 msgid "translator-credits" msgstr "Amerey.eu" #: src/window.rs:736 msgid "Code borrowed from" msgstr "Kód vypůjÄený od" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "NepodaÅ™ilo se otevřít disk" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "NepodaÅ™ilo se extrahovat disk" #: src/flash.rs:203 msgid "Failed to download image" msgstr "NepodaÅ™ilo se stáhnout obraz disku" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Nahrávání na disk se nezdaÅ™ilo" #~ msgid "usb" #~ msgstr "usb" #~ msgid "flash" #~ msgstr "flash" #~ msgid "bootable" #~ msgstr "spustitelný" #~ msgid "drive" #~ msgstr "disk" #~ msgid "iso" #~ msgstr "iso" #, fuzzy #~ msgid "img" #~ msgstr "obraz disku" #~ msgid "disk" #~ msgstr "disk" #~ msgid "image" #~ msgstr "obraz disku" #, fuzzy #~ msgid "Validating…" #~ msgstr "Nahrávání…" #~ msgid "Flash" #~ msgstr "Nahrát" #~ msgid "New Window" #~ msgstr "Nové okno" #~ msgid "Image flashed" #~ msgstr "Obraz disku nahrán" #~ msgid "flash;usb;drive;bootable" #~ msgstr "flash;usb;drive;bootable;disk;spustitelný" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/de.po000066400000000000000000000237721516676475000230040ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Philipp Kiemle , 2023. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-04-08 17:38-0400\n" "PO-Revision-Date: 2024-04-12 20:49+0200\n" "Last-Translator: FineFindus \n" "Language-Team: \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.2\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Medienschreiber" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Erstelle bootfähige Laufwerke" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;schreiber;bootfähig;laufwerk;iso;img;disk;Datenträger" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Fensterberite" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Fensterhöhe" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Maximierter Zustand der Fenster" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Schreibe ganz einfach Datenträgerabbilder auf deine Laufwerke. Wähle ein " "Datenträgerabbild aus, lege dein Laufwerk ein, und schon kann es losgehen! " "Impression ist ein nützliches Tool sowohl für begeisterte Distro-Hopper als " "auch für gelegentliche Computerbenutzer." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "" "Fenster mit der Möglichkeit ein lokales Datenträgerabbild oder einen " "Internet-Download zu wählen" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "Fenster mit ausgewähltem ISO und verfügbaren USB-Speichern" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "Schreiben der ISO in Arbeit" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Erfolgsbildschirm mit einem großen Häkchen" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Allgemein" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Datei Öffnen" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Neues Fenster" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Zeige Tastenkürzel" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Schließen" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Hierhin ziehen zum Öffnen" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Hauptmenü" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Datenträgerabbild auswählen" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Datei Öffnen…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Direkter Download" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Keine Verbindung" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "" "Stelle eine Verbindung mit dem Internet her, um verfügbare " "Datenträgerabbilder anzuzeigen" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Alle Daten auf dem ausgewählten Laufwerk werden gelöscht werden" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Schreiben" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Keine Laufwerke" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Lege ein Laufwerk zum Beschreiben ein" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Schreiben Abgeschlossen" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Das Laufwerk kann sicher entfernt werden" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Fertigstellen" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Schreiben erfolglos" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Erneut versuchen" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing" msgstr "Schreiben" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "Das Laufwerk nicht entfernen" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_Abbrechen" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Tastenkombinationen" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Info zu Impression" #: src/window.rs:246 msgid "Stop Writing?" msgstr "Aufhören zu Schreiben?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state" msgstr "" "Dies kann dazu führen, dass sich das Laufwerk in einem fehlerhaften Zustand " "befindet" #: src/window.rs:250 msgid "_Stop" msgstr "_Stopp" #: src/window.rs:279 msgid "Erase Drive?" msgstr "Laufwerk löschen?" #: src/window.rs:287 msgid "_Erase" msgstr "_Löschen" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "Das Schreiben beginnt, sobald der Download abgeschlossen ist" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image" msgstr "Datenträger wird heruntergeladen" #: src/window.rs:356 msgid "This could take a while" msgstr "Dies könnte eine Weile dauern" #: src/window.rs:391 msgid "Failed to write image" msgstr "Schreiben des Datenträgerabbilds fehlgeschlagen" #: src/window.rs:399 msgid "Image Written" msgstr "Datenträgerabbild geschreiben" #: src/window.rs:603 msgid "Disk Images" msgstr "Datenträgerabbilder" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "Datei ist kein Datenträgerabbild" #: src/window.rs:734 msgid "translator-credits" msgstr "FineFindus https://github.com/FineFindus" #: src/window.rs:736 msgid "Code borrowed from" msgstr "Code angelehnt an" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Öffnen des Laufwerkes fehlgeschlagen" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Laufwerk kann nicht extrahiert werden" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Herunterladen des Datenträgerabbilds fehlgeschlagen" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Schreiben des Laufwerks fehlgeschlagen" #~ msgid "This is a minor release of Impression with a few small improvements." #~ msgstr "" #~ "Dies ist eine kleinere Version von Impression mit ein paar kleinen " #~ "Verbesserungen." #~ msgid "Support for .xz files" #~ msgstr "Unterstützung von .xz Dateien" #~ msgid "" #~ "Impression is made possible by volunteer developers, designers, and " #~ "translators. Thank you for your contributions!" #~ msgstr "" #~ "Impression wird durch freiwillige Entwickler, Designer und Übersetzer " #~ "ermöglicht. Vielen Dank für Ihre Beiträge!" #~ msgid "usb" #~ msgstr "USB" #~ msgid "writer" #~ msgstr "Schreiber" #~ msgid "flash" #~ msgstr "brennen" #~ msgid "bootable" #~ msgstr "bootfähig" #~ msgid "drive" #~ msgstr "Laufwerk" #~ msgid "iso" #~ msgstr "iso" #~ msgid "img" #~ msgstr "img" #~ msgid "disk" #~ msgstr "Festplatte" #~ msgid "image" #~ msgstr "Datenträgerabbild" #~ msgid "Validating…" #~ msgstr "Überprüfen …" #~ msgid "Flash" #~ msgstr "Brennen" #~ msgid "Flashing…" #~ msgstr "Brennen…" #~ msgid "New Window" #~ msgstr "Neues Fenster" #~ msgid "Image flashed" #~ msgstr "Datenträgerabbild gebrannt" #~ msgid "flash;usb;drive;bootable" #~ msgstr "flash;usb;laufwerk;bootfähig" #~ msgid "Refresh Devices" #~ msgstr "Geräte aktualisieren" #~ msgid "Image Flashed" #~ msgstr "Datenträgerabbild gebrannt" #~ msgid "Flash disk images (ISOs/IMGs) to create bootable devices" #~ msgstr "" #~ "Brenne Datenträgerabbilder (ISOs/IMGs) zur Erstellung bootfähiger Geräte" #~ msgid "Flash Images" #~ msgstr "Datenträgerabbild Brennen" #~ msgid "Open a disk image to flash to a USB drive" #~ msgstr "" #~ "Öffne ein Datenträgerabbild, um es auf ein USB-Laufwerk zu übertragen" #~ msgid "Warning: This will erase all data on the selected drive" #~ msgstr "" #~ "Achtung: Dies wird alle Daten auf dem ausgewählten Laufwerk überschreiben" #~ msgid "Updating device list…" #~ msgstr "Gerätliste wird aktualisiert…" #~ msgid "Have a nice day!" #~ msgstr "Einen schönen Tag noch!" #~ msgid "Done" #~ msgstr "Fertig" #~ msgid "Flash Again" #~ msgstr "Erneut Brennen" #~ msgid "Open File" #~ msgstr "Datei Öffnen" #~ msgid "Primary Menu" #~ msgstr "Primäres Menü" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/es.po000066400000000000000000000312371516676475000230160ustar00rootroot00000000000000# Spanish translations for impression package. # Copyright (C) 2023 THE impression'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Óscar Fernández Díaz , 2023-2024. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-21 07:23-0400\n" "PO-Revision-Date: 2024-03-22 01:02+0100\n" "Last-Translator: Óscar Fernández Díaz \n" "Language-Team: Spanish\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Gtranslator 45.3\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impresión" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Escritor de medios" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Crear unidades de arranque" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" "usb;flash;writer;bootable;drive;iso;img;disk;image;grabar;escritor;disco;" "imagen;" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Anchura de ventana" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Altura de ventana" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Estado maximizado de la ventana" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Grabe imágenes de disco en sus unidades con facilidad. Seleccione una " "imagen, inserte la unidad y ¡listo! Impresión es una herramienta útil tanto " "para los ávidos aficionados a cambiar de distribución como para los usuarios " "ocasionales." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "Ventana con opción de imagen local o descarga de Internet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "Ventana con la ISO elegida y las memorias USB disponibles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "Escritura de la ISO en curso" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Ventana de éxito con una gran marca de verificación" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:70 msgid "This is a minor release of Impression with a few small improvements." msgstr "Esta es una versión menor de Impresión con algunas pequeñas mejoras." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:72 msgid "Support for .xz files" msgstr "Soporte para archivos .xz" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:73 msgid "Faster downloading of images" msgstr "Descarga más rápida de imágenes" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:75 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:91 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:102 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:117 msgid "" "Impression is made possible by volunteer developers, designers, and " "translators. Thank you for your contributions!" msgstr "" "Impresión es posible gracias a desarrolladores, diseñadores y traductores " "voluntarios. ¡Gracias por sus contribuciones!" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:80 msgid "" "This minor release fixes a bug where some .ISO files wouldn't be detected." msgstr "" "Esta versión menor corrige un error por el que algunos archivos .ISO no se " "detectaban." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:85 msgid "" "This release of Impression brings even more convenience and power to your " "fingertips:" msgstr "Esta versión de Impresión le ofrece aún más comodidad y potencia:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:87 msgid "Direct download of a selection of images directly from the app" msgstr "" "Descarga directa de una selección de imágenes directamente desde la " "aplicación" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:88 msgid "Updated and more understandable terminology" msgstr "Terminología actualizada y más comprensible" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:89 msgid "Security fixes" msgstr "Correcciones de seguridad" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:96 msgid "This minor release of Impression delivers:" msgstr "Esta versión menor de Impresión ofrece:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:98 msgid "Support for mobile screen sizes" msgstr "Compatibilidad con pantallas de móviles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:99 msgid "Various bug fixes, improving reliability and stability" msgstr "" "Varias correcciones de errores que mejoran la fiabilidad y la estabilidad" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:100 msgid "" "Brazillian Portugese translations, making Impression available in a total of " "9 languages" msgstr "" "Traducciones al portugués de Brasil, con lo que Impresión está disponible en " "un total de 9 idiomas." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:107 msgid "" "This major release of Impression brings a bunch of exciting improvements:" msgstr "" "Esta versión principal de Impresión trae un montón de mejoras interesantes:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:109 msgid "" "Visual enhancements to make the app more beautiful, focused, and engaging" msgstr "Mejoras visuales para que la aplicación sea más atractiva y atractiva." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:110 msgid "Automatic updates of the available drives list" msgstr "Actualización automática de la lista de unidades disponibles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:111 msgid "Explicit drive selection before flashing, to avoid accidental data loss" msgstr "" "Selección explícita de la unidad antes del flasheo, para evitar la pérdida " "accidental de datos." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:112 msgid "" "Turkish and Czech translations, making Impression available in a total of 8 " "languages" msgstr "" "Traducciones al turco y al checo, con lo que Impresión está disponible en un " "total de 8 idiomas." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:114 msgid "" "The versioning scheme has been simplified to only include major and minor " "versions. The previous version of Impression was 1.0.1, this is version 2.0. " "Going forward, new features and noticeable changes will be included in new " "major releases, while fixes and translations will result in new minor " "releases." msgstr "" "El esquema de versiones se ha simplificado para incluir únicamente versiones " "mayores y menores. La versión anterior de Impresión era la 1.0.1, ésta es la " "2.0. En adelante, las nuevas funciones y los cambios notables se incluirán " "en nuevas versiones mayores, mientras que las correcciones y traducciones " "darán lugar a nuevas versiones menores." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:122 msgid "Added Spanish, French, German, Russian, and Italian translations." msgstr "Añadidas traducciones al español, francés, alemán, ruso e italiano." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:127 msgid "Initial version." msgstr "Versión inicial." #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "General" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Abrir archivo" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Ventana nueva" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostrar atajos" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Salir" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Suelte aquí para abrir" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Menú principal" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Elegir imagen" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Abrir archivo…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Descarga directa" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Sin conexión" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Conéctese a Internet para ver las imágenes disponibles" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Se eliminarán todos los datos de la unidad seleccionada." #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Escribir" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Sin unidades" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Inserte una unidad en la que escribir" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Escritura completada" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "La unidad puede extraerse de forma segura" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Finalizar" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Escritura fallida" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Reintentar" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing" msgstr "Escribiendo" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "No extraiga la unidad" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_Cancelar" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Atajos del teclado" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Acerca de Impresión" #: src/window.rs:246 msgid "Stop Writing?" msgstr "¿Detener la escritura?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state" msgstr "Esto podría dejar la unidad en un estado defectuoso" #: src/window.rs:250 msgid "_Stop" msgstr "_Detener" #: src/window.rs:279 msgid "Erase Drive?" msgstr "¿Borrar la unidad?" #: src/window.rs:287 msgid "_Erase" msgstr "_Borrar" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "La escritura comenzará una vez finalizada la descarga" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image" msgstr "Descargando la imagen" #: src/window.rs:356 msgid "This could take a while" msgstr "Esto podría llevar un tiempo" #: src/window.rs:391 msgid "Failed to write image" msgstr "Error al escribir la imagen" #: src/window.rs:399 msgid "Image Written" msgstr "Imagen escrita" #: src/window.rs:603 msgid "Disk Images" msgstr "Imágenes de disco" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "El archivo no es una imagen de disco" #: src/window.rs:734 msgid "translator-credits" msgstr "Óscar Fernández Díaz " #: src/window.rs:736 msgid "Code borrowed from" msgstr "Código tomado de" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Error al abrir el disco" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Error al extraer la unidad" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Error al descargar la imagen" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Error de escritura en disco" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/fi.po000066400000000000000000000171661516676475000230120ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-09-20 12:55-0700\n" "PO-Revision-Date: 2025-02-09 16:48+0200\n" "Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish\n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.4\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:44 src/window.rs:435 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Mediakirjoitin" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Luo käynnistettäviä asemia" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;writer;bootable;drive;iso;img;disk;image;levykuva" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Ikkunan leveys" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Ikkunan korkeus" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Ikkunan suurennettu tila" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Kirjoita levykuvia asemille vaivatta. Valitse levykuva, liitä asema ja siinä " "se! Impression on hyödyllinen työkalu distro-vaihtajille ja tavallisille " "tietokoneen käyttäjille." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:40 msgid "Screen with a choice of a local image or internet download" msgstr "" "Ikkuna, josta on mahdollista valita paikallinen levykuva tai lataus " "Internetistä" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:44 msgid "Screen with a chosen ISO and available USB memories" msgstr "Ikkuna, jossa on ISO-levykuva valittu ja käytettävissä oleva USB-asema" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:48 msgid "Writing the ISO in progress" msgstr "ISO-levykuvan kirjoittaminen meneillään" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:52 msgid "Success screen with a big check mark" msgstr "Ikkuna, joka ilmaisee kirjoittamisen onnistuneen" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Yleiset" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Avaa tiedosto" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Uusi ikkuna" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Näytä pikanäppäimet" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Lopeta" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Pudota tähän avataksesi" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Päävalikko" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Valitse levykuva" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Avaa tiedosto…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Suora lataus" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Ei yhteyttä" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Yhdistä Internetiin nähdäksesi saatavilla olevat levykuvat" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Kaikki valitulla asemalla oleva data poistetaan" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Kirjoita" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Ei asemia" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Liitä asema, johon kirjoittaa" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Kirjoittaminen valmistui" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Asema voidaan irrottaa turvallisesti" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Valmis" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Kirjoittaminen epäonnistui" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Yritä uudelleen" #: data/resources/blueprints/window.blp:355 src/window.rs:344 src/window.rs:373 msgid "Writing" msgstr "Kirjoitetaan" #: data/resources/blueprints/window.blp:357 src/window.rs:343 msgid "Do not remove the drive" msgstr "Älä irrota asemaa" #: data/resources/blueprints/window.blp:372 src/window.rs:258 src/window.rs:295 msgid "_Cancel" msgstr "_Peru" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Pikanäppäimet" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Tietoja - Impression" #: src/window.rs:254 msgid "Stop Writing?" msgstr "Lopetetaanko kirjoittaminen?" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "Tämä saattaa jättää aseman vialliseen tilaan" #: src/window.rs:258 msgid "_Stop" msgstr "_Pysäytä" #: src/window.rs:288 msgid "Erase Drive?" msgstr "Tyhjennetäänkö asema?" #: src/window.rs:289 msgid "You will lose all data stored on {}" msgstr "Menetät kaiken aseman {} sisältämän datan" #: src/window.rs:296 msgid "_Erase" msgstr "_Tyhjennä" #: src/window.rs:337 src/window.rs:367 msgid "Writing will begin once the download is completed" msgstr "Kirjoittaminen alkaa, kun lataus on valmistunut" #: src/window.rs:339 src/window.rs:372 msgid "Downloading Image" msgstr "Ladataan levykuvaa" #: src/window.rs:369 msgid "This could take a while" msgstr "Tämä saattaa kestää hetken" #: src/window.rs:397 msgid "Failed to write image" msgstr "Levykuvan kirjoittaminen epäonnistui" #: src/window.rs:409 msgid "Image Written" msgstr "Levykuva kirjoitettu" #: src/window.rs:674 msgid "Disk Images" msgstr "Levykuvat" #: src/window.rs:700 msgid "File is not a Disk Image" msgstr "Tiedosto ei ole levykuva" #: src/window.rs:804 msgid "translator-credits" msgstr "Jiri Grönroos" #: src/window.rs:806 msgid "Code borrowed from" msgstr "Koodia lainattu projektilta" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Aseman avaaminen epäonnistui" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Aseman purkaminen epäonnistui" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Levykuvan lataaminen epäonnistui" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Asemalle kirjoittaminen epäonnistui" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/fr.po000066400000000000000000000323071516676475000230150ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR , YEAR. # Irénée THIRION , 2023. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-21 07:23-0400\n" "PO-Revision-Date: 2024-03-21 12:54+0100\n" "Last-Translator: Irénée Thirion \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 3.4.2\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Graveur de médias" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Créez des périphériques bootables" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flasher;graveur;bootable;drive;iso;img;disque;image;périphérique" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Largeur de la fenêtre" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Hauteur de la fenêtre" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "État maximisé de la fenêtre" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Gravez des images disques sur vos périphériques en toute simplicité. " "Sélectionnez une image, insérez votre périphérique et vous y êtes ! " "Impression est un utilitaire pratique pour ceux changeant régulièrement de " "distribution Linux comme pour tout utilisateur occasionnel." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "Écran avec un choix d’images locales ou de téléchargements Internet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "" "Écran avec une image ISO sélectionnée et des périphériques USB disponibles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "Gravure de l’ISO en cours" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Écran de tâche accomplie avec un symbole coché" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:70 msgid "This is a minor release of Impression with a few small improvements." msgstr "" "Ceci est une version mineure de Impression avec quelques améliorations." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:72 msgid "Support for .xz files" msgstr "Prise en charge des fichiers .xz" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:73 msgid "Faster downloading of images" msgstr "Téléchargement des images plus rapide" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:75 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:91 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:102 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:117 msgid "" "Impression is made possible by volunteer developers, designers, and " "translators. Thank you for your contributions!" msgstr "" "Impression est un projet rendu possible par des développeurs, des designers " "et traducteurs bénévoles. Merci pour vos contributions !" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:80 msgid "" "This minor release fixes a bug where some .ISO files wouldn't be detected." msgstr "" "Cette version mineure corrige un bogue empêchant la détection de certains " "fichiers .ISO." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:85 msgid "" "This release of Impression brings even more convenience and power to your " "fingertips:" msgstr "" "Cette nouvelle version d’Impression apporte plus de confort et de praticité " "à la portée de vos doigts :" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:87 msgid "Direct download of a selection of images directly from the app" msgstr "" "Téléchargement direct d’une sélection d’images directement depuis " "l’application" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:88 msgid "Updated and more understandable terminology" msgstr "Terminologie mise à jour et clarifiée" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:89 msgid "Security fixes" msgstr "Correctifs de sécurité" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:96 msgid "This minor release of Impression delivers:" msgstr "Cette mise à jour mineure de Impression apporte :" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:98 msgid "Support for mobile screen sizes" msgstr "La prise en charge des écrans d’appareils mobiles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:99 msgid "Various bug fixes, improving reliability and stability" msgstr "" "Diverses corrections de bogues, améliorant la fiabilité et la stabilité" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:100 msgid "" "Brazillian Portugese translations, making Impression available in a total of " "9 languages" msgstr "" "Une traduction en portugais brésilien, ce qui rend Impression disponible " "dans 9 langues au total" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:107 msgid "" "This major release of Impression brings a bunch of exciting improvements:" msgstr "" "Cette mise à jour majeure apporte un paquet de chouettes améliorations :" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:109 msgid "" "Visual enhancements to make the app more beautiful, focused, and engaging" msgstr "" "Améliorations visuelles pour rendre l’application plus esthétique, focalisée " "et attrayante." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:110 msgid "Automatic updates of the available drives list" msgstr "Mise à jour automatique de la liste des périphériques disponibles" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:111 msgid "Explicit drive selection before flashing, to avoid accidental data loss" msgstr "" "Sélection explicite du périphérique avant le flashage, pour éviter toute " "perte de données accidentelle" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:112 msgid "" "Turkish and Czech translations, making Impression available in a total of 8 " "languages" msgstr "" "Traductions tchèque et turque, ce qui rend Impression disponible dans 8 " "langues au total" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:114 msgid "" "The versioning scheme has been simplified to only include major and minor " "versions. The previous version of Impression was 1.0.1, this is version 2.0. " "Going forward, new features and noticeable changes will be included in new " "major releases, while fixes and translations will result in new minor " "releases." msgstr "" "Le schéma de numérotation des versions a été simplifié pour inclure " "uniquement les versions majeures et mineures. La version précédente de " "Impression était la 1.0.1, cette version est la 2.0. Par la suite, les " "nouvelles fonctionnalités et les changements notables seront inclus dans les " "mises à jour majeures, tandis que les corrections de bogues et les " "traductions seront intégrées par des mises à jour mineures." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:122 msgid "Added Spanish, French, German, Russian, and Italian translations." msgstr "" "Ajout de traductions espagnole, française, allemande, russe et italienne." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:127 msgid "Initial version." msgstr "Version initiale." #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Général" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Ouvrir un fichier" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nouvelle fenêtre" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Afficher les raccourcis" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Quitter" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Déposez ici pour ouvrir" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Menu principal" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Choisissez une image" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Ouvrir un fichier…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Téléchargement direct" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Aucune connexion" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Connectez-vous à Internet pour voir les images disponibles" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Toutes les données sur le périphérique sélectionné seront effacées" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Graver" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Aucun périphérique" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Insérez un périphérique sur lequel graver l’image" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Gravure terminée" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Le périphérique peut être retiré en toute sécurité" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Terminer" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Échec de la gravure" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Réessayer" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing" msgstr "Gravure" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "Ne pas retirer le périphérique" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "A_nnuler" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Raccourcis clavier" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "À propos d’Impression" #: src/window.rs:246 msgid "Stop Writing?" msgstr "Arrêter la gravure ?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state" msgstr "Cela pourrait laisser le périphérique dans un état défectueux" #: src/window.rs:250 msgid "_Stop" msgstr "_Arrêter" #: src/window.rs:279 msgid "Erase Drive?" msgstr "Effacer le périphérique ?" #: src/window.rs:287 msgid "_Erase" msgstr "_Effacer" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "La gravure commencera dès la fin du téléchargement" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image" msgstr "Téléchargement de l’image" #: src/window.rs:356 msgid "This could take a while" msgstr "Cela peut prendre du temps" #: src/window.rs:391 msgid "Failed to write image" msgstr "Échec de la gravure de l’image" #: src/window.rs:399 msgid "Image Written" msgstr "Image gravée" #: src/window.rs:603 msgid "Disk Images" msgstr "Images disque" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "Le fichier n’est pas une image disque" #: src/window.rs:734 msgid "translator-credits" msgstr "Irénée Thirion " #: src/window.rs:736 msgid "Code borrowed from" msgstr "Code emprunté à" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Échec de l’ouverture du disque" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Échec de l’extraction du disque" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Échec du téléchargement de l’image" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Échec de l’écriture sur le disque" #~ msgid "Copying files…" #~ msgstr "Copie des fichiers…" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/hr.po000066400000000000000000000201261516676475000230130ustar00rootroot00000000000000# Croatian translation of impression. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Milo Ivir , 2024., 2025. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-27 00:31-0700\n" "PO-Revision-Date: 2025-10-24 18:25+0200\n" "Last-Translator: Milo Ivir \n" "Language-Team: \n" "Language: hr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.8\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:442 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "PisaÄ medija" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Stvori diskove za pokretanje" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;writer;pisaÄ;bootable;pokretanje;drive;pogon;iso;img;disk;slika" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Å irina prozora" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Visina prozora" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Maksimalno povećani prozor" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your drive, " "and you're good to go! Impression is a useful tool for both avid distro-hoppers " "and casual computer users." msgstr "" "ZapiÅ¡i slike diskova na svoje diskove s lakoćom. Odaberi sliku, umetni disk i " "gotovo! Impression je koristan alat za korisnike s raznim distribucijama kao i " "za obiÄne korisnike raÄunala." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Ekran za biranje lokalne slike ili za preuzimanje s interneta" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Ekran s odabranom ISO datotekom i dostupnim USB memorijama" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "Zapisivanje ISO datoteke u tijeku" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "Ekran uspjeha s velikom kvaÄicom" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Općenito" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Otvori datoteku" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Prikaži preÄace" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Quit" msgstr "Zatvori aplikaciju" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Ispusti ovdje za otvaranje" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "Glavni izbornik" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Odaberi sliku" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Otvori datoteku …" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Izravno preuzimanje" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Ne postoji veza s internetom" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Poveži se s internetom za prikaz dostupnih slika" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Svi podaci na odabranom disku će se izbrisati" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "ZapiÅ¡i" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "Nema diskova" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "Umetni disk za zapisivanje" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "Zapisivanje zavrÅ¡eno" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "Disk se može sigurno ukloniti" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "ZavrÅ¡i" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "Zapisivanje neuspjelo" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "PokuÅ¡aj ponovo" #: data/resources/blueprints/window.blp:356 src/window.rs:355 src/window.rs:384 msgid "Writing" msgstr "Zapisivanje" #: data/resources/blueprints/window.blp:358 src/window.rs:354 msgid "Do not remove the drive" msgstr "Ne uklanjaj disk" #: data/resources/blueprints/window.blp:373 src/window.rs:259 src/window.rs:306 msgid "_Cancel" msgstr "_Odustani" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "TipkovniÄki preÄaci" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "O aplikaciji Impression" #: src/window.rs:254 msgid "Stop Writing?" msgstr "Prekinuti zapisivanje?" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "To bi moglo ostaviti disk u neispravnom stanju" #: src/window.rs:260 msgid "_Stop Writing" msgstr "_Prekini zapisivanje" #: src/window.rs:302 msgid "Erase Drive?" msgstr "Izbrisati disk?" #: src/window.rs:303 #, rust-format msgid "You will lose all data stored on {}" msgstr "Izgubit ćeÅ¡ sve podatke spremljene na {}" #: src/window.rs:307 msgid "_Erase" msgstr "_IzbriÅ¡i" #: src/window.rs:348 src/window.rs:378 msgid "Writing will begin once the download is completed" msgstr "Zapisivanje će poÄeti nakon zavrÅ¡etka preuzimanja" #: src/window.rs:350 src/window.rs:383 msgid "Downloading Image" msgstr "Preuzimanje slike" #: src/window.rs:380 msgid "This could take a while" msgstr "To može neÅ¡to potrajati" #: src/window.rs:408 msgid "Failed to write image" msgstr "Zapisivanje slike nije uspjelo" #: src/window.rs:421 msgid "Image Written" msgstr "Slika zapisana" #: src/window.rs:677 msgid "Disk Images" msgstr "Slike diskova" #: src/window.rs:703 msgid "File is not a Disk Image" msgstr "Datoteka nije slika diska" #: src/window.rs:821 msgid "translator-credits" msgstr "Milo Ivir " #: src/window.rs:823 msgid "Code borrowed from" msgstr "Programski kod je posuÄ‘en od" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:832 msgid "Polish your videos" msgstr "Dotjeraj svoja videa" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:840 msgid "Convert and manipulate images" msgstr "Konvertiraj i uredi slike" #: src/flash.rs:96 msgid "Failed to unmount disk" msgstr "Izbacivanje diska nije uspjelo" #: src/flash.rs:123 msgid "Failed to open disk" msgstr "Otvaranje diska nije uspjelo" #: src/flash.rs:173 msgid "Failed to extract drive" msgstr "Izdvajanje diska nije uspjelo" #: src/flash.rs:231 msgid "Failed to download image" msgstr "Preuzimanje slike nije uspjelo" #: src/flash.rs:288 msgid "Writing to disk failed" msgstr "Zapisivanje na disk nije uspjelo" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/impression.pot000066400000000000000000000144471516676475000247670ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-04-12 11:50-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:20 #: data/resources/blueprints/window.blp:166 src/main.rs:46 src/window.rs:950 msgid "Impression" msgstr "" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:7 msgid "Window width" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:11 msgid "Window height" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:15 msgid "Window maximized state" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:24 msgid "" "List of downloadable distros (distro_id, must_include, invert_must_include) " "tuples" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "" #: data/resources/blueprints/window.blp:23 msgid "Drop Here to Open" msgstr "" #: data/resources/blueprints/window.blp:32 #: data/resources/blueprints/window.blp:175 #: data/resources/blueprints/window.blp:268 msgid "Main Menu" msgstr "" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "" #: data/resources/blueprints/window.blp:67 msgid "Open File…" msgstr "" #: data/resources/blueprints/window.blp:78 msgid "Direct Download" msgstr "" #: data/resources/blueprints/window.blp:122 msgid "No Connection" msgstr "" #: data/resources/blueprints/window.blp:123 msgid "Connect to the internet to view available images" msgstr "" #: data/resources/blueprints/window.blp:238 msgid "All data on the selected drive will be erased" msgstr "" #: data/resources/blueprints/window.blp:241 msgid "Write" msgstr "" #: data/resources/blueprints/window.blp:293 msgid "No Drives" msgstr "" #: data/resources/blueprints/window.blp:294 msgid "Insert a drive to write to" msgstr "" #: data/resources/blueprints/window.blp:303 msgid "Writing Completed" msgstr "" #: data/resources/blueprints/window.blp:304 msgid "The drive can be safely removed" msgstr "" #: data/resources/blueprints/window.blp:313 msgid "Finish" msgstr "" #: data/resources/blueprints/window.blp:331 msgid "Writing Unsuccessful" msgstr "" #: data/resources/blueprints/window.blp:365 msgid "Retry" msgstr "" #: data/resources/blueprints/window.blp:383 src/window.rs:368 src/window.rs:441 msgid "Writing" msgstr "" #: data/resources/blueprints/window.blp:385 src/window.rs:367 msgid "Do not remove the drive" msgstr "" #: data/resources/blueprints/window.blp:400 src/window.rs:265 src/window.rs:315 msgid "_Cancel" msgstr "" #: data/resources/blueprints/window.blp:420 msgctxt "shortcut window" msgid "General" msgstr "" #: data/resources/blueprints/window.blp:423 msgctxt "shortcut window" msgid "Open File" msgstr "" #: data/resources/blueprints/window.blp:428 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "" #: data/resources/blueprints/window.blp:433 msgctxt "shortcut window" msgid "Quit" msgstr "" #: data/resources/blueprints/window.blp:442 msgid "Keyboard Shortcuts" msgstr "" #: data/resources/blueprints/window.blp:447 msgid "About Impression" msgstr "" #: src/window.rs:260 msgid "Stop Writing?" msgstr "" #: src/window.rs:261 msgid "This might leave the drive in a faulty state" msgstr "" #: src/window.rs:266 msgid "_Stop Writing" msgstr "" #: src/window.rs:308 msgid "Erase Drive?" msgstr "" #: src/window.rs:310 #, rust-format msgid "You will lose all data stored on {}" msgstr "" #: src/window.rs:316 msgid "_Erase" msgstr "" #: src/window.rs:362 src/window.rs:434 msgid "Writing will begin once the download is completed" msgstr "" #: src/window.rs:364 src/window.rs:436 msgid "Downloading Image" msgstr "" #: src/window.rs:409 msgid "Failed to write image" msgstr "" #: src/window.rs:416 msgid "Image Written" msgstr "" #: src/window.rs:440 msgid "This could take a while" msgstr "" #: src/window.rs:657 src/window.rs:713 msgid "Disk Images" msgstr "" #: src/window.rs:757 msgid "File is not a Disk Image" msgstr "" #: src/window.rs:878 msgid "translator-credits" msgstr "" #: src/window.rs:880 msgid "Code borrowed from" msgstr "" #. Translators: Metainfo for the app Footage. #: src/window.rs:887 msgid "Footage" msgstr "" #. Translators: Metainfo for the app Footage. #: src/window.rs:889 msgid "Polish your videos" msgstr "" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:895 msgid "Switcheroo" msgstr "" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:897 msgid "Convert and manipulate images" msgstr "" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/it.po000066400000000000000000000311531516676475000230200ustar00rootroot00000000000000# ITALIAN TRANSLATION. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # ALBANO BATTISTELLA , 2023. # Raffaele Gualtieri , 2025. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-20 21:04-0400\n" "PO-Revision-Date: 2025-05-21 19:55+0200\n" "Last-Translator: Raffaele Gualtieri \n" "Language-Team: Italian\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 48.0\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Scrittore multimediale" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Crea unità avviabili" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Larghezza della finestra" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Altezza della finestra" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Stato della finestra massimizzato" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 #, fuzzy msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Flesha immagini disco sulle tue unità con facilità. Seleziona un'immagine, " "inserisci il tuo drive e sei a posto! Impression è uno strumento utile sia " "per gli avidi distro-hopper e utenti occasionali di computer." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 #, fuzzy msgid "Screen with a chosen ISO and available USB memories" msgstr "Schermata principale con ISO scelta e memorie USB disponibili" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 #, fuzzy msgid "Writing the ISO in progress" msgstr "Flashing della ISO in corso" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Schermata di successo con un segno di spunta grande" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:70 msgid "This is a minor release of Impression with a few small improvements." msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:72 msgid "Support for .xz files" msgstr "Supporto per i file .xz" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:73 #, fuzzy msgid "Faster downloading of images" msgstr "Impossibile eseguire il flashing dell'immagine" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:75 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:91 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:102 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:117 msgid "" "Impression is made possible by volunteer developers, designers, and " "translators. Thank you for your contributions!" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:80 msgid "" "This minor release fixes a bug where some .ISO files wouldn't be detected." msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:85 msgid "" "This release of Impression brings even more convenience and power to your " "fingertips:" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:87 msgid "Direct download of a selection of images directly from the app" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:88 msgid "Updated and more understandable terminology" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:89 msgid "Security fixes" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:96 msgid "This minor release of Impression delivers:" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:98 msgid "Support for mobile screen sizes" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:99 msgid "Various bug fixes, improving reliability and stability" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:100 msgid "" "Brazillian Portugese translations, making Impression available in a total of " "9 languages" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:107 msgid "" "This major release of Impression brings a bunch of exciting improvements:" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:109 msgid "" "Visual enhancements to make the app more beautiful, focused, and engaging" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:110 msgid "Automatic updates of the available drives list" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:111 msgid "Explicit drive selection before flashing, to avoid accidental data loss" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:112 msgid "" "Turkish and Czech translations, making Impression available in a total of 8 " "languages" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:114 msgid "" "The versioning scheme has been simplified to only include major and minor " "versions. The previous version of Impression was 1.0.1, this is version 2.0. " "Going forward, new features and noticeable changes will be included in new " "major releases, while fixes and translations will result in new minor " "releases." msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:122 msgid "Added Spanish, French, German, Russian, and Italian translations." msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:127 msgid "Initial version." msgstr "Versione iniziale." #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Generale" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Apri file" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nuova finestra" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostra scorciatoie" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Esci" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Menu principale" #: data/resources/blueprints/window.blp:54 #, fuzzy msgid "Choose Image" msgstr "Scegli un'immagine da fleshare" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Apri file…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Nessuna connessione" #: data/resources/blueprints/window.blp:109 #, fuzzy msgid "Connect to the internet to view available images" msgstr "Connettersi a Internet per visualizzare le iso disponibili" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Tutti i dati sull'unità selezionata verranno cancellati" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Scrivi" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Nessun drive" #: data/resources/blueprints/window.blp:284 #, fuzzy msgid "Insert a drive to write to" msgstr "Inserisci un'unità su cui eseguire il flashing dell'immagine" #: data/resources/blueprints/window.blp:295 #, fuzzy msgid "Writing Completed" msgstr "Flashing completato" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "L'unità può essere rimossa in modo sicuro" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Finito" #: data/resources/blueprints/window.blp:326 #, fuzzy msgid "Writing Unsuccessful" msgstr "Flashing non riuscito" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Riprova" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 #, fuzzy msgid "Writing…" msgstr "Validazione…" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "Non rimuovere il drive" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_Cancella" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Scorciatoie da tastiera" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Informazioni su Impression" #: src/window.rs:246 #, fuzzy msgid "Stop Writing?" msgstr "Fermare il flashing?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state." msgstr "Questo potrebbe lasciare il tuo drive in uno stato di errore." #: src/window.rs:250 msgid "_Stop" msgstr "_Ferma" #: src/window.rs:279 msgid "Erase Drive?" msgstr "Cancellare l'unità?" #: src/window.rs:287 msgid "_Erase" msgstr "_Cancellare" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "La scrittura inizierà una volta completato il download" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image…" msgstr "Scaricamento dell'immagine..." #: src/window.rs:356 msgid "Copying files…" msgstr "Copia dei file…" #: src/window.rs:391 #, fuzzy msgid "Failed to write image" msgstr "Impossibile eseguire il flashing dell'immagine" #: src/window.rs:399 msgid "Image Written" msgstr "Immagine scritta" #: src/window.rs:603 msgid "Disk Images" msgstr "Immagini disco" #: src/window.rs:629 #, fuzzy msgid "File is not a Disk Image" msgstr "Impossibile eseguire il flashing dell'immagine" #: src/window.rs:734 msgid "translator-credits" msgstr "Raffaele Gualtieri\nAlbano Battistella" #: src/window.rs:736 msgid "Code borrowed from" msgstr "Codice preso in prestito da" #: src/flash.rs:95 #, fuzzy msgid "Failed to open disk" msgstr "Impossibile eseguire il flashing dell'immagine" #: src/flash.rs:145 #, fuzzy msgid "Failed to extract drive" msgstr "Impossibile eseguire il flashing dell'immagine" #: src/flash.rs:203 #, fuzzy msgid "Failed to download image" msgstr "Impossibile eseguire il flashing dell'immagine" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Scrittura su disco fallita" #~ msgid "usb" #~ msgstr "usb" #~ msgid "flash" #~ msgstr "flash" #~ msgid "bootable" #~ msgstr "Avviabile" #~ msgid "drive" #~ msgstr "drive" #, fuzzy #~ msgid "img" #~ msgstr "immagine" #~ msgid "image" #~ msgstr "immagine" #~ msgid "Validating…" #~ msgstr "Validazione…" #~ msgid "Flash" #~ msgstr "Flash" #~ msgid "Flashing…" #~ msgstr "Flasching in corso…" #~ msgid "New Window" #~ msgstr "Nuova finestra" #~ msgid "Image flashed" #~ msgstr "Immagine fleshata" #~ msgid "flash;usb;drive;bootable" #~ msgstr "flash;usb;drive;avviabile" #~ msgid "Refresh Devices" #~ msgstr "Aggiorna dispositivi" #~ msgid "Image Flashed" #~ msgstr "Immagine fleshata" #~ msgid "Flash disk images (ISOs/IMGs) to create bootable devices" #~ msgstr "Flash immagini disco (ISO/IMAGE) per creare dispositivi avviabili" #~ msgid "Flash Images" #~ msgstr "Flach immagine" #~ msgid "Open a disk image to flash to a USB drive" #~ msgstr "Apri un'immagine disco da flashare su un'unità USB" #~ msgid "Warning: This will erase all data on the selected drive" #~ msgstr "Avviso: questo cancellerà tutti i dati sull'unità selezionata" #~ msgid "Updating device list…" #~ msgstr "Aggiornamento elenco dispositivi…" #~ msgid "Have a nice day!" #~ msgstr "Buona giornata!" #~ msgid "Done" #~ msgstr "Fatto" #~ msgid "Flash Again" #~ msgstr "Flash ancora" #~ msgid "Open File" #~ msgstr "APri file" #~ msgid "Primary Menu" #~ msgstr "Menu principale" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/ja.po000066400000000000000000000215771516676475000230070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # ã­ã“ãŒãれ , 2025. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-27 00:31-0700\n" "PO-Revision-Date: 2025-11-30 15:58+0900\n" "Last-Translator: \n" "Language-Team: \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.8\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 data/resources/blueprints/window.blp:21 data/resources/blueprints/window.blp:146 #: src/main.rs:51 src/window.rs:442 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "メディアライター" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "ブートå¯èƒ½ãªãƒ‰ãƒ©ã‚¤ãƒ–を作æˆã™ã‚‹" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;フラッシュ;ライター;ブートå¯èƒ½;ドライブ;iso;img;ディスク;イメージ" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "ウィンドウ幅" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "ウィンドウ高ã•" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã®æœ€å¤§åŒ–状態" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your drive, and you're good to go! Impression is a " "useful tool for both avid distro-hoppers and casual computer users." msgstr "" "ドライブã«ãƒ‡ã‚£ã‚¹ã‚¯ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’書ã込む作業を簡å˜ã«è¡Œãˆã¾ã™ã€‚ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’é¸æŠžã—ã€ãƒ‰ãƒ©ã‚¤ãƒ–を挿入ã™ã‚Œã°æº–備完了ã§ã™ã€‚Impression" "ã¯ã€ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ューションを頻ç¹ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ä¸Šç´šè€…ã«ã‚‚ã€æ™®æ®µä½¿ã„ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã‚‚役立ã¤ãƒ„ールã§ã™ã€‚" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "ローカルイメージã¾ãŸã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã‹ã‚‰ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚’é¸æŠžã™ã‚‹ç”»é¢" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "é¸æŠžã—ãŸISOã¨åˆ©ç”¨å¯èƒ½ãªUSBメモリを表示ã™ã‚‹ç”»é¢" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "ISOを書ãè¾¼ã¿ä¸­" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "大ããªãƒã‚§ãƒƒã‚¯ãƒžãƒ¼ã‚¯ã‚’表示ã™ã‚‹æˆåŠŸç”»é¢" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "一般" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "ファイルを開ã" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "ショートカットを表示" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Quit" msgstr "終了" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "ã“ã“ã«ãƒ‰ãƒ­ãƒƒãƒ—ã—ã¦é–‹ã" #: data/resources/blueprints/window.blp:35 data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "メインメニュー" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’é¸æŠž" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "ファイルを開ã…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "直接ダウンロード" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "接続ãªã—" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "利用å¯èƒ½ãªã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’見るã«ã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã«æŽ¥ç¶šã—ã¦ãã ã•ã„" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "é¸æŠžã—ãŸãƒ‰ãƒ©ã‚¤ãƒ–上ã®ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã¯æ¶ˆåŽ»ã•れã¾ã™" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "書ãè¾¼ã¿" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "ドライブãŒã‚りã¾ã›ã‚“" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "書ãè¾¼ã¿å…ˆã®ãƒ‰ãƒ©ã‚¤ãƒ–を挿入ã—ã¦ãã ã•ã„" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "書ãè¾¼ã¿ãŒå®Œäº†ã—ã¾ã—ãŸ" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "ドライブを安全ã«å–り外ã›ã¾ã™" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "完了" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "書ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "å†è©¦è¡Œ" #: data/resources/blueprints/window.blp:356 src/window.rs:355 src/window.rs:384 msgid "Writing" msgstr "書ãè¾¼ã¿ä¸­" #: data/resources/blueprints/window.blp:358 src/window.rs:354 msgid "Do not remove the drive" msgstr "ドライブをå–り外ã•ãªã„ã§ãã ã•ã„" #: data/resources/blueprints/window.blp:373 src/window.rs:259 src/window.rs:306 msgid "_Cancel" msgstr "キャンセル (_c)" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "キーボードショートカット" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "Impression ã«ã¤ã„ã¦" #: src/window.rs:254 msgid "Stop Writing?" msgstr "書ãè¾¼ã¿ã‚’åœæ­¢ã—ã¾ã™ã‹ï¼Ÿ" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "ã“れã«ã‚ˆã‚Šãƒ‰ãƒ©ã‚¤ãƒ–ãŒæ­£å¸¸ã«å‹•作ã—ãªããªã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™" #: src/window.rs:260 msgid "_Stop Writing" msgstr "_書ãè¾¼ã¿ã‚’åœæ­¢" #: src/window.rs:302 msgid "Erase Drive?" msgstr "ドライブを消去ã—ã¾ã™ã‹ï¼Ÿ" #: src/window.rs:303 #, rust-format msgid "You will lose all data stored on {}" msgstr "{} ã«ä¿å­˜ã•れã¦ã„ã‚‹ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã¯å¤±ã‚れã¾ã™" #: src/window.rs:307 msgid "_Erase" msgstr "消去 (_e)" #: src/window.rs:348 src/window.rs:378 msgid "Writing will begin once the download is completed" msgstr "ダウンロードãŒå®Œäº†æ¬¡ç¬¬ã€æ›¸ãè¾¼ã¿ã‚’é–‹å§‹ã—ã¾ã™" #: src/window.rs:350 src/window.rs:383 msgid "Downloading Image" msgstr "イメージをダウンロード中" #: src/window.rs:380 msgid "This could take a while" msgstr "ã—ã°ã‚‰ã時間ãŒã‹ã‹ã‚‹ã“ã¨ãŒã‚りã¾ã™" #: src/window.rs:408 msgid "Failed to write image" msgstr "ã‚¤ãƒ¡ãƒ¼ã‚¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/window.rs:421 msgid "Image Written" msgstr "ã‚¤ãƒ¡ãƒ¼ã‚¸ã®æ›¸ãè¾¼ã¿ãŒå®Œäº†ã—ã¾ã—ãŸ" #: src/window.rs:677 msgid "Disk Images" msgstr "ディスクイメージ" #: src/window.rs:703 msgid "File is not a Disk Image" msgstr "ファイルã¯ãƒ‡ã‚£ã‚¹ã‚¯ã‚¤ãƒ¡ãƒ¼ã‚¸ã§ã¯ã‚りã¾ã›ã‚“" #: src/window.rs:821 msgid "translator-credits" msgstr "翻訳者クレジット" #: src/window.rs:823 msgid "Code borrowed from" msgstr "コードã®ä¸€éƒ¨ã¯ä»¥ä¸‹ã‹ã‚‰å€Ÿç”¨" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:832 msgid "Polish your videos" msgstr "動画を仕上ã’ã‚‹" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:840 msgid "Convert and manipulate images" msgstr "ç”»åƒã®å¤‰æ›ã¨ç·¨é›†" #: src/flash.rs:96 msgid "Failed to unmount disk" msgstr "ディスクã®ã‚¢ãƒ³ãƒžã‚¦ãƒ³ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/flash.rs:123 msgid "Failed to open disk" msgstr "ディスクを開ãã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/flash.rs:173 msgid "Failed to extract drive" msgstr "ãƒ‰ãƒ©ã‚¤ãƒ–ã®æŠ½å‡ºã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/flash.rs:231 msgid "Failed to download image" msgstr "イメージã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸ" #: src/flash.rs:288 msgid "Writing to disk failed" msgstr "ディスクã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/ka.po000066400000000000000000000253501516676475000230010ustar00rootroot00000000000000# Georgian translation for impression. # Copyright (C) 2026 impression authors. # This file is distributed under the same license as the impression package. # Ekaterine Papava , 2026. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-11 21:48-0800\n" "PO-Revision-Date: 2026-02-02 08:18+0100\n" "Last-Translator: Ekaterine Papava \n" "Language-Team: Georgian <(nothing)>\n" "Language: ka\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.8\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 data/resources/blueprints/window.blp:20 #: data/resources/blueprints/window.blp:166 src/main.rs:46 src/window.rs:986 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "მედიის ჩáƒáƒ›áƒ¬áƒ”რი" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "შექმენით ჩáƒáƒ¢áƒ•ირთვáƒáƒ“ი დისკები" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;writer;bootable;drive;iso;img;disk;image;áƒáƒ¡áƒšáƒ˜áƒ¡áƒ¤áƒáƒ˜áƒšáƒ˜;ჩáƒáƒ¬áƒ”რáƒ;ჩáƒáƒ¢áƒ•ირთვáƒáƒ“ი;დისკი" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:7 msgid "Window width" msgstr "ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ სიგáƒáƒœáƒ”" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:11 msgid "Window height" msgstr "ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ სიმáƒáƒ¦áƒšáƒ”" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:15 msgid "Window maximized state" msgstr "ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ სრულáƒáƒ“ გáƒáƒ¨áƒšáƒ˜áƒšáƒ˜ მდგáƒáƒ›áƒáƒ áƒ”áƒáƒ‘áƒ" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:24 msgid "List of downloadable distros (distro_id, must_include, invert_must_include) tuples" msgstr "" "გáƒáƒ“მáƒáƒ¬áƒ”რáƒáƒ“ი დისტრიბუტივების სიის (distro_id, must_include, invert_must_include) კáƒáƒ áƒ¢áƒ”ჟები" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your drive, and you're " "good to go! Impression is a useful tool for both avid distro-hoppers and casual computer " "users." msgstr "" "ჩáƒáƒ¬áƒ”რეთ დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ”ბი დისკებზე áƒáƒ“ვილáƒáƒ“. áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜, მიáƒáƒ”რთეთ დისკი დრ" "სულ ესáƒáƒ! Impression სáƒáƒ¡áƒáƒ áƒ’ებლრპრáƒáƒ’რáƒáƒ›áƒáƒ áƒáƒ áƒ˜áƒ•ესთვის, ვინც დისტრიბუტივებს ხშირáƒáƒ“ იცვლის დრ" "ჩვეულებრივი მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლებისთვის." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "" "ეკრáƒáƒœáƒ˜ áƒáƒ áƒ©áƒ”ვნით, გáƒáƒ›áƒáƒ§áƒ”ნებული იქნებრლáƒáƒ™áƒáƒšáƒ£áƒ áƒ˜ დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜, თუ მáƒáƒ®áƒ“ებრინტერნეტიდáƒáƒœ " "გáƒáƒ“მáƒáƒ¬áƒ”რáƒ" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "ეკრáƒáƒœáƒ˜, სáƒáƒ“áƒáƒª ნáƒáƒ©áƒ•ენებირáƒáƒ áƒ©áƒ”ული ISO დრხელმისáƒáƒ¬áƒ•დáƒáƒ›áƒ˜ USB მეხსიერებები" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს ISO-ს ჩáƒáƒ¬áƒ”რáƒ" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "წáƒáƒ áƒ›áƒáƒ¢áƒ”ბის გáƒáƒ›áƒáƒ›áƒ®áƒáƒ¢áƒ•ელი ეკრáƒáƒœáƒ˜ დიდი დáƒáƒ¡áƒ›áƒ£áƒšáƒ˜ თáƒáƒšáƒ˜áƒ˜áƒ—" #: data/resources/blueprints/window.blp:23 msgid "Drop Here to Open" msgstr "გáƒáƒ¡áƒáƒ®áƒ¡áƒœáƒ”ლáƒáƒ“, áƒáƒ¥ დáƒáƒáƒ’დეთ" #: data/resources/blueprints/window.blp:32 data/resources/blueprints/window.blp:175 #: data/resources/blueprints/window.blp:268 msgid "Main Menu" msgstr "მთáƒáƒ•áƒáƒ áƒ˜ მენიუ" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ სურáƒáƒ—ი" #: data/resources/blueprints/window.blp:67 msgid "Open File…" msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒâ€¦" #: data/resources/blueprints/window.blp:78 msgid "Direct Download" msgstr "პირდáƒáƒžáƒ˜áƒ áƒ˜ გáƒáƒ“მáƒáƒ¬áƒ”რáƒ" #: data/resources/blueprints/window.blp:122 msgid "No Connection" msgstr "მიერთების გáƒáƒ áƒ”შე" #: data/resources/blueprints/window.blp:123 msgid "Connect to the internet to view available images" msgstr "ხელმისáƒáƒ¬áƒ•დáƒáƒ›áƒ˜ დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ”ბი სáƒáƒœáƒáƒ®áƒáƒ•áƒáƒ“ დáƒáƒ£áƒ™áƒáƒ•შირდით ინტერნეტს" #: data/resources/blueprints/window.blp:238 msgid "All data on the selected drive will be erased" msgstr "áƒáƒ áƒ©áƒ”ულ დისკზე áƒáƒ áƒ¡áƒ”ბული მáƒáƒœáƒáƒªáƒ”მები სრულáƒáƒ“ გáƒáƒœáƒáƒ“გურდებáƒ" #: data/resources/blueprints/window.blp:241 msgid "Write" msgstr "ჩáƒáƒ¬áƒ”რáƒ" #: data/resources/blueprints/window.blp:293 msgid "No Drives" msgstr "დისკების გáƒáƒ áƒ”შე" #: data/resources/blueprints/window.blp:294 msgid "Insert a drive to write to" msgstr "ჩáƒáƒ“ეთ ჩáƒáƒ¡áƒáƒ¬áƒ”რი დისკი" #: data/resources/blueprints/window.blp:303 msgid "Writing Completed" msgstr "ჩáƒáƒ¬áƒ”რრდáƒáƒ¡áƒ áƒ£áƒšáƒ“áƒ" #: data/resources/blueprints/window.blp:304 msgid "The drive can be safely removed" msgstr "დისკის გáƒáƒ›áƒáƒ”რთებრáƒáƒ®áƒšáƒ უსáƒáƒ¤áƒ áƒ—ხáƒáƒ" #: data/resources/blueprints/window.blp:313 msgid "Finish" msgstr "დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბáƒ" #: data/resources/blueprints/window.blp:331 msgid "Writing Unsuccessful" msgstr "ჩáƒáƒ¬áƒ”რრწáƒáƒ áƒ£áƒ›áƒáƒ¢áƒ”ბელიáƒ" #: data/resources/blueprints/window.blp:365 msgid "Retry" msgstr "თáƒáƒ•იდáƒáƒœ ცდáƒ" #: data/resources/blueprints/window.blp:383 src/window.rs:369 src/window.rs:442 msgid "Writing" msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს ჩáƒáƒ¬áƒ”რáƒ" #: data/resources/blueprints/window.blp:385 src/window.rs:368 msgid "Do not remove the drive" msgstr "áƒáƒ  მáƒáƒ®áƒ¡áƒœáƒáƒ— დისკი" #: data/resources/blueprints/window.blp:400 src/window.rs:265 src/window.rs:316 msgid "_Cancel" msgstr "გáƒáƒ£_ქმებáƒ" #: data/resources/blueprints/window.blp:420 msgctxt "shortcut window" msgid "General" msgstr "ზáƒáƒ’áƒáƒ“ი" #: data/resources/blueprints/window.blp:423 msgctxt "shortcut window" msgid "Open File" msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ®áƒ¡áƒœáƒ" #: data/resources/blueprints/window.blp:428 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "მáƒáƒšáƒ¡áƒáƒ®áƒ›áƒáƒ‘ების ჩვენებáƒ" #: data/resources/blueprints/window.blp:433 msgctxt "shortcut window" msgid "Quit" msgstr "გáƒáƒ¡áƒ•ლáƒ" #: data/resources/blueprints/window.blp:442 msgid "Keyboard Shortcuts" msgstr "კლáƒáƒ•იáƒáƒ¢áƒ£áƒ áƒ˜áƒ¡ მáƒáƒšáƒ¡áƒáƒ®áƒ›áƒáƒ‘ები" #: data/resources/blueprints/window.blp:447 msgid "About Impression" msgstr "Impression-ის შესáƒáƒ®áƒ”ბ" #: src/window.rs:260 msgid "Stop Writing?" msgstr "შევწყვიტრჩáƒáƒ¬áƒ”რáƒ?" #: src/window.rs:261 msgid "This might leave the drive in a faulty state" msgstr "áƒáƒ›áƒáƒœ, შეუძლებáƒ, დისკი გáƒáƒ¤áƒ£áƒ­áƒ”ბულ მდგáƒáƒ›áƒáƒ áƒ”áƒáƒ‘áƒáƒ¨áƒ˜ დáƒáƒ¢áƒáƒ•áƒáƒ¡" #: src/window.rs:266 msgid "_Stop Writing" msgstr "ჩáƒáƒ¬áƒ”რი_ს გáƒáƒ©áƒ”რებáƒ" #: src/window.rs:309 msgid "Erase Drive?" msgstr "წáƒáƒ•შáƒáƒšáƒ დისკი?" #: src/window.rs:311 #, rust-format msgid "You will lose all data stored on {}" msgstr "{}-ზე დáƒáƒ›áƒáƒ®áƒ¡áƒáƒ•რებულ მáƒáƒœáƒáƒªáƒ”მებს სრულáƒáƒ“ დáƒáƒ™áƒáƒ áƒ’áƒáƒ•თ" #: src/window.rs:317 msgid "_Erase" msgstr "_წáƒáƒ¨áƒšáƒ" #: src/window.rs:363 src/window.rs:435 msgid "Writing will begin once the download is completed" msgstr "ჩáƒáƒ¬áƒ”რრმáƒáƒ¨áƒ˜áƒœáƒ•ე დáƒáƒ˜áƒ¬áƒ§áƒ”ბáƒ, რáƒáƒªáƒ გáƒáƒ“მáƒáƒ¬áƒ”რრდáƒáƒ¡áƒ áƒ£áƒšáƒ“ებáƒ" #: src/window.rs:365 src/window.rs:437 msgid "Downloading Image" msgstr "დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜áƒ¡ გáƒáƒ“მáƒáƒ¬áƒ”რáƒ" #: src/window.rs:410 msgid "Failed to write image" msgstr "დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜áƒ¡ ჩáƒáƒ¬áƒ”რრჩáƒáƒ•áƒáƒ áƒ“áƒ" #: src/window.rs:417 msgid "Image Written" msgstr "áƒáƒ¡áƒšáƒ˜ წáƒáƒ áƒ›áƒáƒ¢áƒ”ბით ჩáƒáƒ˜áƒ¬áƒ”რáƒ" #: src/window.rs:441 msgid "This could take a while" msgstr "áƒáƒ›áƒáƒ¡ სáƒáƒ™áƒ›áƒáƒ დრრდáƒáƒ¡áƒ­áƒ˜áƒ áƒ“ებáƒ" #: src/window.rs:688 src/window.rs:744 msgid "Disk Images" msgstr "დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ”ბი" #: src/window.rs:788 msgid "File is not a Disk Image" msgstr "ფáƒáƒ˜áƒšáƒ˜ დისკის áƒáƒ¡áƒšáƒ˜áƒ¡ ფáƒáƒ˜áƒšáƒ˜ áƒáƒ áƒáƒ" #: src/window.rs:914 msgid "translator-credits" msgstr "ეკáƒáƒ¢áƒ”რინე პáƒáƒžáƒáƒ•áƒ" #: src/window.rs:916 msgid "Code borrowed from" msgstr "კáƒáƒ“ი ვისესხეთ" #. Translators: Metainfo for the app Footage. #: src/window.rs:923 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:925 msgid "Polish your videos" msgstr "გáƒáƒáƒžáƒ áƒ˜áƒáƒšáƒ”თ თქვენი ვიდეáƒáƒ”ბი" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:931 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:933 msgid "Convert and manipulate images" msgstr "გáƒáƒ“áƒáƒ˜áƒ§áƒ•áƒáƒœáƒ”თ დრშეცვáƒáƒšáƒ”თ გáƒáƒ›áƒáƒ¡áƒáƒ®áƒ£áƒšáƒ”ბები" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/kab.po000066400000000000000000000176001516676475000231420ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # butterflyoffire , 2025. msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-14 22:38-0700\n" "PO-Revision-Date: 2025-05-10 08:57+0000\n" "Last-Translator: butterflyoffire \n" "Language-Team: Kabyle \n" "Language: kab\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.10.2\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:443 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "Amyaru n imidyaten" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Snulfu-d iá¸ebsiyen yettekkaren" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "TeÉ£zi n usfaylu" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Tehri n usfaylu" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Addad n usfaylu ameqqran" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Agdil s ufran n tugna tadigant neÉ£ n usader seg Internet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Agdil s tugna ISO yettwafernen akked yibenkan USB llan" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "Tira n ISO tteddu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Amatu" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Ldi Afaylu" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Asfaylu amaynut" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Sken-d inegzumen" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "FfeÉ£" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Ssers-itt da akken ad teldiá¸" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "UmuÉ£ agejdan" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Fren tugna" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Ldi afaylu…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Azdam srid" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Ulac tuqqna" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Qqen É£er Internet akken ad twaliḠtugniwin yellan" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Akk isefka yella deg uá¸ebsi yettwafernen ad ttwakksen" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Aru" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "Ulac ibenk" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "Qqen-d aá¸ebsi É£ef ara taruá¸" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "Tira temmed" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "Fakk" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "Tuccá¸a deg tira" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "ÆreḠi tikkelt-nniá¸en" #: data/resources/blueprints/window.blp:356 src/window.rs:356 src/window.rs:385 msgid "Writing" msgstr "Tira" #: data/resources/blueprints/window.blp:358 src/window.rs:355 msgid "Do not remove the drive" msgstr "Ur tekkes ara aá¸ebsi-nni" #: data/resources/blueprints/window.blp:373 src/window.rs:260 src/window.rs:307 msgid "_Cancel" msgstr "_Semmet" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "Inegzumen n unasiw" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "Æ”ef Impression" #: src/window.rs:255 msgid "Stop Writing?" msgstr "Seḥbes tira ?" #: src/window.rs:256 msgid "This might leave the drive in a faulty state" msgstr "" #: src/window.rs:261 msgid "_Stop Writing" msgstr "_Seḥbed tira" #: src/window.rs:303 msgid "Erase Drive?" msgstr "SfeḠibenk ?" #: src/window.rs:304 #, rust-format msgid "You will lose all data stored on {}" msgstr "Ad tesá¹›uḥeḠakk isefka yettwakelsen deg {}" #: src/window.rs:308 msgid "_Erase" msgstr "Sf_eá¸" #: src/window.rs:349 src/window.rs:379 msgid "Writing will begin once the download is completed" msgstr "Tira ad tebdu mi ara ifak wezdam" #: src/window.rs:351 src/window.rs:384 msgid "Downloading Image" msgstr "Azdam n tugna" #: src/window.rs:381 msgid "This could take a while" msgstr "Aya yezmer ad yeá¹­á¹­ef cwiá¹­ n wakud" #: src/window.rs:409 msgid "Failed to write image" msgstr "Ur yessaweḠara ad yesserÉ£ tugna" #: src/window.rs:422 msgid "Image Written" msgstr "Tugna tettwaru" #: src/window.rs:675 msgid "Disk Images" msgstr "Tugniwin n udebá¹£i" #: src/window.rs:701 msgid "File is not a Disk Image" msgstr "Afaylu-nni maÄÄi d tugna n uá¸ebsi" #: src/window.rs:819 msgid "translator-credits" msgstr "ButterflyOfFire " #: src/window.rs:821 msgid "Code borrowed from" msgstr "Tanglat tettwareá¸led É£er" #. Translators: Metainfo for the app Footage. #: src/window.rs:828 msgid "Footage" msgstr "" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Polish your videos" msgstr "" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:836 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Convert and manipulate images" msgstr "Selket yerna sseqdec tugniwin" #: src/flash.rs:93 msgid "Failed to unmount disk" msgstr "" #: src/flash.rs:120 msgid "Failed to open disk" msgstr "Ur yessaweḠara ad d-yeldi aá¸ebsi-nni" #: src/flash.rs:170 msgid "Failed to extract drive" msgstr "" #: src/flash.rs:228 msgid "Failed to download image" msgstr "Ur yessaweḠara ad d-yezdem tugna" #: src/flash.rs:285 msgid "Writing to disk failed" msgstr "Ur yessaweḠara ad yaru É£ef uá¸ebsi" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/meson.build000066400000000000000000000000551516676475000242030ustar00rootroot00000000000000i18n.gettext(gettext_package, preset: 'glib')Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/nb.po000066400000000000000000000170151516676475000230040ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-09-20 12:55-0700\n" "PO-Revision-Date: 2024-09-28 15:08+0200\n" "Last-Translator: Sunniva Løvstad \n" "Language-Team: \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.4\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:44 src/window.rs:435 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Mediaskriver" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Opprett oppstartbare disker" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;skrivere;oppstartbar;bootable;iso;img;disk;bilete;bilde;" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Vindubredde" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Vinduhøyde" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Hvorvidt vinduet er maskimisert" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Skriv diskbilder til diskene dine med letthet. Velg et bilde, sett inn " "disken din, og sÃ¥ er du klar! Impression er et nyttig verktøy for begge " "ivrige distrohoppere og vanlige datamaskinbrukere." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:40 msgid "Screen with a choice of a local image or internet download" msgstr "" "Skjerm med et valg mellom et lokalt bilde eller nedlastbare bilder fra " "internett" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:44 msgid "Screen with a chosen ISO and available USB memories" msgstr "Skjerm med et valgt ISO-bilde og tilgjengelige USB-disker" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:48 msgid "Writing the ISO in progress" msgstr "Skjerm som er i gang med Ã¥ skrive ISO-bildet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:52 msgid "Success screen with a big check mark" msgstr "Lykkeskjerm med en stor hake" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Generelt" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Ã…pne fil" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nytt vindu" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Vis tastatursnarveier" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Avslutt" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Slipp her for Ã¥ Ã¥pne" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Hovedmeny" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Velg bilde" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Ã…pne fil…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Direkte nedlasting" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Ingen tilkobling" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Koble til internett for Ã¥ vise tilgjengelige bilder" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Alle data pÃ¥ den valgte disken skal slettes" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Skriv" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Ingen disker" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Sett inn en disk for Ã¥ skrive bilde" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Skriving fullført" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Disken kan trygt fjernes" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Fullfør" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Skriving mislyktes" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Prøv pÃ¥ nytt" #: data/resources/blueprints/window.blp:355 src/window.rs:344 src/window.rs:373 msgid "Writing" msgstr "Skriver" #: data/resources/blueprints/window.blp:357 src/window.rs:343 msgid "Do not remove the drive" msgstr "Ikke fjern disken" #: data/resources/blueprints/window.blp:372 src/window.rs:258 src/window.rs:295 msgid "_Cancel" msgstr "_Avbryt" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Tastatursnarveier" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Om Impression" #: src/window.rs:254 msgid "Stop Writing?" msgstr "Avslutt skriving?" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "Dette kan gjør disken unyttbar." #: src/window.rs:258 msgid "_Stop" msgstr "Av_slutt" #: src/window.rs:288 msgid "Erase Drive?" msgstr "Slett disken?" #: src/window.rs:289 msgid "You will lose all data stored on {}" msgstr "Du vil tape alle data lagret pÃ¥ {}. Dette kan ikke angres." #: src/window.rs:296 msgid "_Erase" msgstr "_Slett" #: src/window.rs:337 src/window.rs:367 msgid "Writing will begin once the download is completed" msgstr "Skrivingen begynner nÃ¥r bildet er fullstendig nedlastet" #: src/window.rs:339 src/window.rs:372 msgid "Downloading Image" msgstr "Laster ned bilde" #: src/window.rs:369 msgid "This could take a while" msgstr "Dette kan ta en stund" #: src/window.rs:397 msgid "Failed to write image" msgstr "Mislyktes med Ã¥ skrive bildet" #: src/window.rs:409 msgid "Image Written" msgstr "Skrev bildet" #: src/window.rs:674 msgid "Disk Images" msgstr "Diskbilder" #: src/window.rs:700 msgid "File is not a Disk Image" msgstr "Filen er ikke et diskbilde" #: src/window.rs:804 msgid "translator-credits" msgstr "Sunniva Løvstad " #: src/window.rs:806 msgid "Code borrowed from" msgstr "Kode lÃ¥net fra" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Mislyktes med Ã¥ Ã¥pne disken" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Mislyktes med Ã¥ ekstrahere disken" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Mislyktes med Ã¥ laste ned bildet" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Mislyktes med Ã¥ skrive til disken" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/nl.po000066400000000000000000000202211516676475000230070ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-07-27 00:31-0700\n" "PO-Revision-Date: 2025-07-30 11:13+0200\n" "Last-Translator: Heimen Stoffels \n" "Language-Team: \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.6\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:442 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "Mediamaker" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Maak opstartbare schijven" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;schrijven;opstartbaar;schijf;iso;schijfkopie;disk;flash;img;" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Vensterbreedte" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Vensterhoogte" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Venstermaximalisatie" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Maak moeiteloos opstartbare schijven. Kies een schijfkopie, koppel een usb-" "schijf aan en gaan met die banaan! Impression is onmisbaar voor zowel " "‘distrohoppers’ als minder ervaren gebruikers." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Scherm met keuze uit lokale schijfkopie of download" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Scherm met gekozen iso-bestand en beschikbare schijven" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "Scherm met voortgangsstatus" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "Afrondingsscherm met groot vinkje" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Algemeen" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Bestand openen" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Sneltoetsen tonen" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Quit" msgstr "Afsluiten" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Sleep een item hierheen" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "Hoofdmenu" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Kies een schijfkopie" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Bestand openen…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Downloaden" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Geen internetverbinding" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Maak verbinding met het internet om beschikbaar schijfkopieën te tonen" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Let op: alle gegevens op de gekozen schijf worden gewist" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Wegschrijven" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "Geen schijven" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "Koppel een schijf aan om" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "Wegschrijven voltooid" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "De schijf kan worden afgekoppeld" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "Afronden" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "Het wegschrijven is mislukt" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "Opnieuw proberen" #: data/resources/blueprints/window.blp:356 src/window.rs:355 src/window.rs:384 msgid "Writing" msgstr "Bezig met wegschrijven…" #: data/resources/blueprints/window.blp:358 src/window.rs:354 msgid "Do not remove the drive" msgstr "Let op: verwijder de schijf niet" #: data/resources/blueprints/window.blp:373 src/window.rs:259 src/window.rs:306 msgid "_Cancel" msgstr "_Annuleren" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "Sneltoetsen" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "Over Impression" #: src/window.rs:254 msgid "Stop Writing?" msgstr "Wegschrijven afbreken?" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "Hierdoor kan de schijf onbruikbaar worden" #: src/window.rs:260 msgid "_Stop Writing" msgstr "_Afbreken" #: src/window.rs:302 msgid "Erase Drive?" msgstr "Schijf wissen?" #: src/window.rs:303 #, rust-format msgid "You will lose all data stored on {}" msgstr "Alle gegevens op {} worden gewist" #: src/window.rs:307 msgid "_Erase" msgstr "Wiss_en" #: src/window.rs:348 src/window.rs:378 msgid "Writing will begin once the download is completed" msgstr "Het wegschrijven begint zodra het downloaden is afgerond" #: src/window.rs:350 src/window.rs:383 msgid "Downloading Image" msgstr "Bezig met downloaden van schijfkopie…" #: src/window.rs:380 msgid "This could take a while" msgstr "Dit kan even duren" #: src/window.rs:408 msgid "Failed to write image" msgstr "De schijfkopie kan niet worden weggeschreven" #: src/window.rs:421 msgid "Image Written" msgstr "De schijfkopie is weggeschreven" #: src/window.rs:677 msgid "Disk Images" msgstr "Schijfkopieën" #: src/window.rs:703 msgid "File is not a Disk Image" msgstr "Dit bestand is geen schijfkopie" #: src/window.rs:821 msgid "translator-credits" msgstr "Heimen Stoffels " #: src/window.rs:823 msgid "Code borrowed from" msgstr "Code geleend van" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:832 msgid "Polish your videos" msgstr "Schaaf uw video's bij" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:840 msgid "Convert and manipulate images" msgstr "Converteer en bewerk afbeeldingen" #: src/flash.rs:96 msgid "Failed to unmount disk" msgstr "De schijf kan niet worden afgekoppeld" #: src/flash.rs:123 msgid "Failed to open disk" msgstr "De schijf kan niet worden geopend" #: src/flash.rs:173 msgid "Failed to extract drive" msgstr "De schijf kan niet worden geëxtraheerd" #: src/flash.rs:231 msgid "Failed to download image" msgstr "De schijfkopie kan niet worden gedownload" #: src/flash.rs:288 msgid "Writing to disk failed" msgstr "Het wegschrijven is mislukt" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/nn.po000066400000000000000000000174531516676475000230260ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Bjørn Mørkedal , 2026. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-01-11 21:48-0800\n" "PO-Revision-Date: 2026-04-03 13:39+0200\n" "Last-Translator: Bjørn Mørkedal \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 50.0\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:20 #: data/resources/blueprints/window.blp:166 src/main.rs:46 src/window.rs:986 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "Medieskrivar" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Lag oppstartbare einingar" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;minnepinne;skrivar;oppstartbar;eining;iso;img;disk;bilete" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:7 msgid "Window width" msgstr "Vindaugsbreidd" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:11 msgid "Window height" msgstr "Vindaugshøgd" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:15 msgid "Window maximized state" msgstr "Om vindauget er maksimert" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:24 msgid "" "List of downloadable distros (distro_id, must_include, invert_must_include) " "tuples" msgstr "Liste over nedlastbare distribusjonar (distro_id, must_include, invert_must_include)" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Skriv diskbilete til einingane dine pÃ¥ ein enkel mÃ¥te. Vel eit bilete, set inn " "eininga, og du er klar! Impression er eit nyttig verktøy bÃ¥de for distro‑hoppare " "og vanlege databrukarar." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Skjerm med val mellom lokalt bilete eller nedlasting frÃ¥ internett" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Skjerm med valt ISO og tilgjengelege USB‑minne" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "Skriving av ISO pÃ¥gÃ¥r" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "Suksesskjerm med stor avkryssing" #: data/resources/blueprints/window.blp:23 msgid "Drop Here to Open" msgstr "Slepp her for Ã¥ opne" #: data/resources/blueprints/window.blp:32 #: data/resources/blueprints/window.blp:175 #: data/resources/blueprints/window.blp:268 msgid "Main Menu" msgstr "Hovudmeny" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Vel bilete" #: data/resources/blueprints/window.blp:67 msgid "Open File…" msgstr "Opne fil …" #: data/resources/blueprints/window.blp:78 msgid "Direct Download" msgstr "Direktenedlasting" #: data/resources/blueprints/window.blp:122 msgid "No Connection" msgstr "Ingen tilkopling" #: data/resources/blueprints/window.blp:123 msgid "Connect to the internet to view available images" msgstr "Kopla til internett for Ã¥ sjÃ¥ tilgjengelege bilete" #: data/resources/blueprints/window.blp:238 msgid "All data on the selected drive will be erased" msgstr "All data pÃ¥ den valde eininga vert sletta" #: data/resources/blueprints/window.blp:241 msgid "Write" msgstr "Skriv" #: data/resources/blueprints/window.blp:293 msgid "No Drives" msgstr "Ingen einingar" #: data/resources/blueprints/window.blp:294 msgid "Insert a drive to write to" msgstr "Set inn ei eining Ã¥ skrive til" #: data/resources/blueprints/window.blp:303 msgid "Writing Completed" msgstr "Skriving fullført" #: data/resources/blueprints/window.blp:304 msgid "The drive can be safely removed" msgstr "Eininga kan trygt fjernast" #: data/resources/blueprints/window.blp:313 msgid "Finish" msgstr "Fullfør" #: data/resources/blueprints/window.blp:331 msgid "Writing Unsuccessful" msgstr "Skriving mislukkast" #: data/resources/blueprints/window.blp:365 msgid "Retry" msgstr "Prøv igjen" #: data/resources/blueprints/window.blp:383 src/window.rs:369 src/window.rs:442 msgid "Writing" msgstr "Skriv" #: data/resources/blueprints/window.blp:385 src/window.rs:368 msgid "Do not remove the drive" msgstr "Ikkje fjern eininga" #: data/resources/blueprints/window.blp:400 src/window.rs:265 src/window.rs:316 msgid "_Cancel" msgstr "_Avbryt" #: data/resources/blueprints/window.blp:420 msgctxt "shortcut window" msgid "General" msgstr "Generelt" #: data/resources/blueprints/window.blp:423 msgctxt "shortcut window" msgid "Open File" msgstr "Opne fil" #: data/resources/blueprints/window.blp:428 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Vis snøggtastar" #: data/resources/blueprints/window.blp:433 msgctxt "shortcut window" msgid "Quit" msgstr "Avslutt" #: data/resources/blueprints/window.blp:442 msgid "Keyboard Shortcuts" msgstr "Tastatursnarvegar" #: data/resources/blueprints/window.blp:447 msgid "About Impression" msgstr "Om Impression" #: src/window.rs:260 msgid "Stop Writing?" msgstr "Stoppe skriving?" #: src/window.rs:261 msgid "This might leave the drive in a faulty state" msgstr "Dette kan gjere eininga ubrukande" #: src/window.rs:266 msgid "_Stop Writing" msgstr "_Stopp skriving" #: src/window.rs:309 msgid "Erase Drive?" msgstr "Slette eininga?" #: src/window.rs:311 #, rust-format msgid "You will lose all data stored on {}" msgstr "Du mistar all data lagra pÃ¥ {}" #: src/window.rs:317 msgid "_Erase" msgstr "_Slett" #: src/window.rs:363 src/window.rs:435 msgid "Writing will begin once the download is completed" msgstr "Skriving startar nÃ¥r nedlastinga er ferdig" #: src/window.rs:365 src/window.rs:437 msgid "Downloading Image" msgstr "Lastar ned bilete" #: src/window.rs:410 msgid "Failed to write image" msgstr "Klarte ikkje Ã¥ skrive bilete" #: src/window.rs:417 msgid "Image Written" msgstr "Bilete skrive" #: src/window.rs:441 msgid "This could take a while" msgstr "Dette kan ta ei stund" #: src/window.rs:688 src/window.rs:744 msgid "Disk Images" msgstr "Diskbilete" #: src/window.rs:788 msgid "File is not a Disk Image" msgstr "Fila er ikkje eit diskbilete" #: src/window.rs:914 msgid "translator-credits" msgstr "Bjørn Mørkedal " #: src/window.rs:916 msgid "Code borrowed from" msgstr "Kode lÃ¥nt frÃ¥" #. Translators: Metainfo for the app Footage. #: src/window.rs:923 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:925 msgid "Polish your videos" msgstr "Puss pÃ¥ videoane dine" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:931 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:933 msgid "Convert and manipulate images" msgstr "Konverter og handsam bilete" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/oc.po000066400000000000000000000206421516676475000230060ustar00rootroot00000000000000# Occitan translation file. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Quentin PAGÈS, 2024. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-14 22:38-0700\n" "PO-Revision-Date: 2025-05-14 13:09+1000\n" "Last-Translator: Quentin PAGÈS\n" "Language-Team: \n" "Language: oc\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.6\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:443 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "Enregistrador de mèdia" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Crear de lector aviables" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;escriure;aviable;bootable;lector;iso;disc;imatges" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Largor de la fenèstra" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Nautor de la fenèstra" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Estat maximizat de la fenèstra" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Escrivètz vòstres imatges disc als vòstres lectors facialament. Seleccionatz " "un imatge, inserissètz lo lector e sètz lèst ! Impression es una aisina " "utila tan pels afogats de gravadura d’iso coma pels utilizaires d’ordenador " "ordinaris." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Ecran amb la causida d’imatges locals e lo telecargament internet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Ecran amb l’ISO causit e las memòrias USB disponiblas" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "Escritura de l’ISO en cors" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "Ecran de succès amb una granda marca de verificacion" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "General" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Dobrir fichièr" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Fenèstra novèla" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Afichar los acorchis" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Quitar" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Depausatz aicí per dobrir" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "Menú principal" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Causir un imatge" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Dobrir un fichièr…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Telecargament dirècte" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Cap de connexion" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Connectatz-vos a l’Internet per veire los imatges disponibles" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Totas las donadas del lector seleccionat seràn escafadas" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Escriure" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "Cap de lector" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "Inserir un lector ont escriure" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "Escritura acabada" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "Se pòt levar lo lector en tota seguretat" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "Acabar" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "Escritura fracassada" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "Tornar ensajar" #: data/resources/blueprints/window.blp:356 src/window.rs:356 src/window.rs:385 msgid "Writing" msgstr "Escritura" #: data/resources/blueprints/window.blp:358 src/window.rs:355 msgid "Do not remove the drive" msgstr "Tiretz pas lo lector" #: data/resources/blueprints/window.blp:373 src/window.rs:260 src/window.rs:307 msgid "_Cancel" msgstr "_Anullar" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "Acorchis de clavièr" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "A prepaus d’Impression" #: src/window.rs:255 msgid "Stop Writing?" msgstr "Arrestar l’escritura ?" #: src/window.rs:256 msgid "This might leave the drive in a faulty state" msgstr "Aquò pòt daissar lo lector dins un estat defectuós" #: src/window.rs:261 msgid "_Stop Writing" msgstr "_Arrestar l’escritura" #: src/window.rs:303 msgid "Erase Drive?" msgstr "Espotir lo lector ?" #: src/window.rs:304 msgid "You will lose all data stored on {}" msgstr "Perdretz totas las donadas gardadas sus {}" #: src/window.rs:308 msgid "_Erase" msgstr "_Escafar" #: src/window.rs:349 src/window.rs:379 msgid "Writing will begin once the download is completed" msgstr "L’escritura començarà un còp lo telecargament terminat" #: src/window.rs:351 src/window.rs:384 msgid "Downloading Image" msgstr "Telecargament de l’imatge" #: src/window.rs:381 msgid "This could take a while" msgstr "Aquò pòt trigar" #: src/window.rs:409 msgid "Failed to write image" msgstr "Escritura impossibla de l’imatge disc" #: src/window.rs:422 msgid "Image Written" msgstr "Imatge escrich" #: src/window.rs:675 msgid "Disk Images" msgstr "Imatges disc" #: src/window.rs:701 msgid "File is not a Disk Image" msgstr "Lo fichièr es pas un imatge disc" #: src/window.rs:819 msgid "translator-credits" msgstr "Quentin PAGÈS" #: src/window.rs:821 msgid "Code borrowed from" msgstr "Còdi empruntat de" #. Translators: Metainfo for the app Footage. #: src/window.rs:828 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Polish your videos" msgstr "Melhoratz vòstras vidèos" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:836 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Convert and manipulate images" msgstr "Convertir e manipular d’imatges" #: src/flash.rs:93 msgid "Failed to unmount disk" msgstr "Desmontatge impossible del disc" #: src/flash.rs:120 msgid "Failed to open disk" msgstr "Dobertura impossibla del disc" #: src/flash.rs:170 msgid "Failed to extract drive" msgstr "Extraccion impossibla del lector" #: src/flash.rs:228 msgid "Failed to download image" msgstr "Telecargament impossible de l’imatge" #: src/flash.rs:285 msgid "Writing to disk failed" msgstr "Fracàs de l’escritura al disc" #~ msgid "_Stop" #~ msgstr "_Arrestar" #~ msgid "Copying files…" #~ msgstr "Còpia dels fichièrs…"Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/pl.po000066400000000000000000000173431516676475000230240ustar00rootroot00000000000000# Polish translation for impression. # Copyright (C) 2024 impression's COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Mateusz Dadura , 2024. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: https://gitlab.com/adhami3310/Impression/-/issues\n" "POT-Creation-Date: 2024-09-20 12:55-0700\n" "PO-Revision-Date: 2024-09-30 11:24+0200\n" "Last-Translator: Mateusz Dadura \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:44 src/window.rs:435 msgid "Impression" msgstr "Impresja" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Zapisywanie noÅ›ników" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Tworzenie dysków startowych" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;zapisywanie;bootowalny;napÄ™d;iso;img;dysk;obraz" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Szerokość okna" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Wysokość okna" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Stan maksymalizacji okna" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Z Å‚atwoÅ›ciÄ… zapisuj obrazy dysków na swoich noÅ›nikach. Wybierz obraz, włóż " "dysk i gotowe! Impresja to przydatne narzÄ™dzie zarówno dla zapalonych " "distro-hopperów, jak i zwykÅ‚ych użytkowników komputerów." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:40 msgid "Screen with a choice of a local image or internet download" msgstr "Ekran z wyborem obrazu lokalnego lub pobranego z Internetu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:44 msgid "Screen with a chosen ISO and available USB memories" msgstr "Ekran z wybranym ISO i dostÄ™pnymi pamiÄ™ciami USB" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:48 msgid "Writing the ISO in progress" msgstr "Zapisywanie pliku ISO w toku" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:52 msgid "Success screen with a big check mark" msgstr "Ekran sukcesu z dużym znacznikiem wyboru" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Ogólne" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Otwórz plik" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nowe okno" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Pokaż skróty klawiszowe" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Wyjdź" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Upuść tutaj, aby otworzyć" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Menu główne" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Wybierz obraz" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Otwórz plik…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "BezpoÅ›rednie pobieranie" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Brak połączenia" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Połącz siÄ™ z Internetem, aby wyÅ›wietlić dostÄ™pne obrazy" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Wszystkie dane na wybranym dysku zostanÄ… usuniÄ™te" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Zapisz" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Brak dysków" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Włóż dysk do zapisu" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Zapisywanie ukoÅ„czone" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Dysk można bezpiecznie wyjąć" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "ZakoÅ„cz" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Zapis nie powiódÅ‚ siÄ™" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Spróbuj ponownie" #: data/resources/blueprints/window.blp:355 src/window.rs:344 src/window.rs:373 msgid "Writing" msgstr "Zapisywanie" #: data/resources/blueprints/window.blp:357 src/window.rs:343 msgid "Do not remove the drive" msgstr "Nie wyjmuj dysku" #: data/resources/blueprints/window.blp:372 src/window.rs:258 src/window.rs:295 msgid "_Cancel" msgstr "_Anuluj" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Skróty klawiszowe" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "O Impresji" #: src/window.rs:254 msgid "Stop Writing?" msgstr "Zatrzymać zapis?" #: src/window.rs:255 msgid "This might leave the drive in a faulty state" msgstr "Może to spowodować uszkodzenie dysku" #: src/window.rs:258 msgid "_Stop" msgstr "_Stop" #: src/window.rs:288 msgid "Erase Drive?" msgstr "Wymazać dysk?" #: src/window.rs:289 msgid "You will lose all data stored on {}" msgstr "Utracone zostanÄ… wszystkie dane zapisane na {}" #: src/window.rs:296 msgid "_Erase" msgstr "_Wymaż" #: src/window.rs:337 src/window.rs:367 msgid "Writing will begin once the download is completed" msgstr "Zapisywanie rozpocznie siÄ™ po zakoÅ„czeniu pobierania" #: src/window.rs:339 src/window.rs:372 msgid "Downloading Image" msgstr "Pobieranie obrazu" #: src/window.rs:369 msgid "This could take a while" msgstr "To może trochÄ™ potrwać" #: src/window.rs:397 msgid "Failed to write image" msgstr "Nie udaÅ‚o siÄ™ zapisać obrazu" #: src/window.rs:409 msgid "Image Written" msgstr "Obraz zapisany" #: src/window.rs:674 msgid "Disk Images" msgstr "Obrazy dysku" #: src/window.rs:700 msgid "File is not a Disk Image" msgstr "Plik nie jest obrazem dysku" #: src/window.rs:804 msgid "translator-credits" msgstr "Mateusz Dadura " #: src/window.rs:806 msgid "Code borrowed from" msgstr "Kod zapożyczony od" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Nie udaÅ‚o siÄ™ otworzyć dysku" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Nie udaÅ‚o siÄ™ wyodrÄ™bnić dysku" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Nie udaÅ‚o siÄ™ pobrać obrazu" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Zapis na dysk nie powiódÅ‚ siÄ™" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/pt_BR.po000066400000000000000000000326201516676475000234120ustar00rootroot00000000000000# Brazilian Portuguese translations for impression package. # Copyright (C) 2023 THE impression'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Pedro Sader Azevedo , 2023. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-20 21:04-0400\n" "PO-Revision-Date: 2023-06-14 21:30-0300\n" "Last-Translator: Pedro Sader Azevedo \n" "Language-Team: Brazilian Portuguese\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impressão" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Gravador de Mídia" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Crie pendrives inicializáveis" # I left both translated and untranslated versions of some tags (e.g. "flash" # and "gravar"), because these words are more often spoken in English. #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" "usb;gravar;flash;gravador;bootável;inicializável;pendrive;iso;img;disco;" "imagem" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Largura da janela" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Altura da janela" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Estado de maximização da janela" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Grave imagens de disco em pendrives com facilidade. Selecione uma imagem," "insira seu pendrive, e pronto! Impressão é uma ferramenta útil, tanto para " "ávidos \"distro-hoppers\", quanto para usuários casuais." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "Tela com opção de imagem local ou download da internet" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 #, fuzzy msgid "Screen with a chosen ISO and available USB memories" msgstr "Tela principal com ISO escolhida e unidades USB disponíveis" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 #, fuzzy msgid "Writing the ISO in progress" msgstr "Escrita da ISO em progresso" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Tela de sucesso com uma grande marca de verificação" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:70 msgid "This is a minor release of Impression with a few small improvements." msgstr "Esta é uma versão secundária do Impression com algumas pequenas melhorias." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:72 msgid "Support for .xz files" msgstr "Suporte a arquivos .xz" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:73 #, fuzzy msgid "Faster downloading of images" msgstr "Falha ao gravar a imagem" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:75 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:91 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:102 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:117 msgid "" "Impression is made possible by volunteer developers, designers, and " "translators. Thank you for your contributions!" msgstr "" "Impression faz o possível graças a desenvolvedores, designers e voluntários" "tradutores. Obrigado por suas contribuições!" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:80 msgid "" "This minor release fixes a bug where some .ISO files wouldn't be detected." msgstr "" "Esta versão secundária corrige um bug onde alguns arquivos .ISO não eram detectados." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:85 msgid "" "This release of Impression brings even more convenience and power to your " "fingertips:" msgstr "" "Esta versão do Impression traz ainda mais comodidade e potência para o seu " "fingertips:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:87 msgid "Direct download of a selection of images directly from the app" msgstr "Download direto de uma seleção de imagens diretamente do aplicativo" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:88 msgid "Updated and more understandable terminology" msgstr "Terminologia atualizada e mais entendivel" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:89 msgid "Security fixes" msgstr "Correções de segurança" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:96 msgid "This minor release of Impression delivers:" msgstr "Essa versão de Impression entrega:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:98 msgid "Support for mobile screen sizes" msgstr "Suporte para tamalho de telas de mobile" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:99 msgid "Various bug fixes, improving reliability and stability" msgstr "Várias correções de bugs, melhorando a confiabilidade e a estabilidade" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:100 msgid "" "Brazillian Portugese translations, making Impression available in a total of " "9 languages" msgstr "" "Traduções para o português brasileiro, disponibilizando o Impression em um total de " "9 idiomas" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:107 msgid "" "This major release of Impression brings a bunch of exciting improvements:" msgstr "" "Esta versão principal do Impression traz uma série de melhorias interessantes:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:109 msgid "" "Visual enhancements to make the app more beautiful, focused, and engaging" msgstr "" "Melhorias visuais para tornar o aplicativo mais bonito, focado e envolvente" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:110 msgid "Automatic updates of the available drives list" msgstr "" "Atualizações automáticas da lista de drives disponíveis" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:111 msgid "Explicit drive selection before flashing, to avoid accidental data loss" msgstr "Seleção explícita da unidade antes de piscar, para evitar perda acidental de dados" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:112 msgid "" "Turkish and Czech translations, making Impression available in a total of 8 " "languages" msgstr "" "Traduções para turco e tcheco, disponibilizando o Impression em um total de 8 " "línguas" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:114 msgid "" "The versioning scheme has been simplified to only include major and minor " "versions. The previous version of Impression was 1.0.1, this is version 2.0. " "Going forward, new features and noticeable changes will be included in new " "major releases, while fixes and translations will result in new minor " "releases." msgstr "" "O esquema de versionamento foi simplificado para incluir apenas versões principais " "e secundárias. A versão anterior do Impression era 1.0.1, esta é a versão 2.0. " "No futuro, novos recursos e mudanças perceptíveis serão incluídos em novos " "lançamentos principais, enquanto que correções e traduções resultarão em novos " "lançamentos secundários." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:122 msgid "Added Spanish, French, German, Russian, and Italian translations." msgstr "Adicionado traduções para Espanhol, Françes, Alemão, Russo e Italiano." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:127 msgid "Initial version." msgstr "Versão inicial." #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Geral" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Abrir Arquivo" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nova Janela" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Mostrar Atalhos" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Sair" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Solte aqui para Abrir" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Menu Principal" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Escolher uma imagem" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Abrir Arquivo…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Download Direto" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Sem Conexão" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Conecte-se a internet para ver as imagens disponíveis" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Todos os dados armazenados no pendrive selecionado serão apagados" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Gravar" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Sem Pendrives" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Insira um pendrive para gravar" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Gravação Completa" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "O pendrive pode ser removido com segurança" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Finalizar" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Gravação Mal-Sucedida" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Tentar Novamente" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing…" msgstr "Gravando…" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "Não remova o pendrive" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_Cancelar" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Atalhos de Teclado" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Sobre o Impressão" #: src/window.rs:246 msgid "Stop Writing?" msgstr "Parar Gravação?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state." msgstr "Isso pode deixar o pendrive em um estado defeituoso" #: src/window.rs:250 msgid "_Stop" msgstr "_Parar" #: src/window.rs:279 msgid "Erase Drive?" msgstr "Apagar Pendrive?" #: src/window.rs:287 msgid "_Erase" msgstr "_Apagar" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "A gravação vai iniciar assim que o download estiver completo" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image…" msgstr "Baixando a Imagem…" #: src/window.rs:356 msgid "Copying files…" msgstr "Copiando arquivos…" #: src/window.rs:391 msgid "Failed to write image" msgstr "Falha ao gravar a imagem" #: src/window.rs:399 msgid "Image Written" msgstr "Imagem escrita" #: src/window.rs:603 msgid "Disk Images" msgstr "Imagens de Disco" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "O arquivo escolhido não é uma imagem de disco" #: src/window.rs:734 msgid "translator-credits" msgstr "Pedro Sader Azevedo" #: src/window.rs:736 msgid "Code borrowed from" msgstr "Código emprestado de" #: src/flash.rs:95 #, fuzzy msgid "Failed to open disk" msgstr "Falha ao gravar a imagem" #: src/flash.rs:145 #, fuzzy msgid "Failed to extract drive" msgstr "Falha ao gravar a imagem" #: src/flash.rs:203 #, fuzzy msgid "Failed to download image" msgstr "Falha ao gravar a imagem" #: src/flash.rs:256 #, fuzzy msgid "Writing to disk failed" msgstr "Gravação Completa" #~ msgid "usb" #~ msgstr "usb" #~ msgid "writer" #~ msgstr "gravador" #~ msgid "flash" #~ msgstr "gravar" #~ msgid "bootable" #~ msgstr "inicializável" #~ msgid "drive" #~ msgstr "pendrive" #~ msgid "iso" #~ msgstr "iso" #~ msgid "img" #~ msgstr "img" #~ msgid "disk" #~ msgstr "disco" #~ msgid "image" #~ msgstr "imagem" #~ msgid "Validating…" #~ msgstr "Validando…" #~ msgid "Flash" #~ msgstr "Gravar" #~ msgid "New Window" #~ msgstr "Nova Janela" #~ msgid "Image flashed" #~ msgstr "Imagem gravada" #~ msgid "flash;usb;drive;bootable" #~ msgstr "flash;usb;pendrive;mídia;bootável;inicializável" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/ru.po000066400000000000000000000407761516676475000230450ustar00rootroot00000000000000# Russian translation for Impression. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # Сергей Ворон , 2023. # # SPDX-FileCopyrightText: 2025 Olesya Gerasimenko msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-04-14 22:38-0700\n" "PO-Revision-Date: 2025-04-28 11:53+0300\n" "Last-Translator: Olesya Gerasimenko \n" "Language-Team: Basealt Translation Team\n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<" "=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "X-Generator: Lokalize 23.08.5\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:2 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:51 src/window.rs:443 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 msgid "Media Writer" msgstr "ЗапиÑÑŒ ноÑителей" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Create bootable drives" msgstr "Создание загрузочных диÑков" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:10 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" "usb;flash;bootable;drive;iso;disk;image;запиÑÑŒ;загрузочный;накопитель;диÑк;" "образ" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Ширина окна" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Ð’Ñ‹Ñота окна" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Окно развернуто" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:15 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "С легкоÑтью запиÑывайте образы на Ñвои диÑки. Выберите образ, вÑтавьте диÑк, " "и вÑе готово! Impression — полезный инÑтрумент как Ð´Ð»Ñ Ð·Ð°Ñдлых любителей " "диÑтрибутивов, так и Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… пользователей компьютеров." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:41 msgid "Screen with a choice of a local image or internet download" msgstr "Экран Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð¾Ð¼ локального образа или загрузки из интернета" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:45 msgid "Screen with a chosen ISO and available USB memories" msgstr "Экран Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ ISO и доÑтупными USB-накопителÑми" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:49 msgid "Writing the ISO in progress" msgstr "ВыполнÑетÑÑ Ð·Ð°Ð¿Ð¸ÑÑŒ ISO" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:53 msgid "Success screen with a big check mark" msgstr "Экран уÑпешного Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ галочкой" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Общие" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Открыть файл" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Ðовое окно" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Показать комбинации клавиш" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Выйти" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Перетащите Ñюда, чтобы открыть" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:255 msgid "Main Menu" msgstr "Главное меню" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Выберите образ" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Открыть файл…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "ПрÑÐ¼Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ°" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Ðет ÑоединениÑ" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "ПодключитеÑÑŒ к Интернету Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра доÑтупных образов" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Ð’Ñе данные на выбранном диÑке будут удалены" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "ЗапиÑать" #: data/resources/blueprints/window.blp:284 msgid "No Drives" msgstr "Ðет диÑков" #: data/resources/blueprints/window.blp:285 msgid "Insert a drive to write to" msgstr "Ð’Ñтавьте диÑк Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи" #: data/resources/blueprints/window.blp:296 msgid "Writing Completed" msgstr "ЗапиÑÑŒ завершена" #: data/resources/blueprints/window.blp:297 msgid "The drive can be safely removed" msgstr "ДиÑк можно безопаÑно извлечь" #: data/resources/blueprints/window.blp:306 msgid "Finish" msgstr "Готово" #: data/resources/blueprints/window.blp:327 msgid "Writing Unsuccessful" msgstr "ЗапиÑÑŒ не удалаÑÑŒ" #: data/resources/blueprints/window.blp:336 msgid "Retry" msgstr "Повторить попытку" #: data/resources/blueprints/window.blp:356 src/window.rs:356 src/window.rs:385 msgid "Writing" msgstr "ЗапиÑÑŒ" #: data/resources/blueprints/window.blp:358 src/window.rs:355 msgid "Do not remove the drive" msgstr "Ðе извлекайте диÑк" #: data/resources/blueprints/window.blp:373 src/window.rs:260 src/window.rs:307 msgid "_Cancel" msgstr "_Отменить" #: data/resources/blueprints/window.blp:401 msgid "Keyboard Shortcuts" msgstr "Комбинации клавиш" #: data/resources/blueprints/window.blp:406 msgid "About Impression" msgstr "О приложении" #: src/window.rs:255 msgid "Stop Writing?" msgstr "ОÑтановить запиÑÑŒ?" #: src/window.rs:256 msgid "This might leave the drive in a faulty state" msgstr "Это может привеÑти к выходу Ð½Ð°ÐºÐ¾Ð¿Ð¸Ñ‚ÐµÐ»Ñ Ð¸Ð· ÑтроÑ." #: src/window.rs:261 msgid "_Stop Writing" msgstr "_ОÑтановить запиÑÑŒ" #: src/window.rs:303 msgid "Erase Drive?" msgstr "Стереть диÑк?" #: src/window.rs:304 msgid "You will lose all data stored on {}" msgstr "Будут потерÑны вÑе данные на {}" #: src/window.rs:308 msgid "_Erase" msgstr "_Стереть" #: src/window.rs:349 src/window.rs:379 msgid "Writing will begin once the download is completed" msgstr "ЗапиÑÑŒ начнетÑÑ Ñразу поÑле Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸" #: src/window.rs:351 src/window.rs:384 msgid "Downloading Image" msgstr "Загрузка образа" #: src/window.rs:381 msgid "This could take a while" msgstr "Это может занÑть некоторое времÑ" #: src/window.rs:409 msgid "Failed to write image" msgstr "Ðе удалоÑÑŒ запиÑать образ" #: src/window.rs:422 msgid "Image Written" msgstr "Образ запиÑан" #: src/window.rs:675 msgid "Disk Images" msgstr "Образы диÑков" #: src/window.rs:701 msgid "File is not a Disk Image" msgstr "Файл не ÑвлÑетÑÑ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼ диÑка" #: src/window.rs:819 msgid "translator-credits" msgstr "" "Сергей Ворон \n" "Aleksandr Melman \n" "ГераÑименко ОлеÑÑ " #: src/window.rs:821 msgid "Code borrowed from" msgstr "Код заимÑтвован из" #. Translators: Metainfo for the app Footage. #: src/window.rs:828 msgid "Footage" msgstr "Footage" #. Translators: Metainfo for the app Footage. #: src/window.rs:830 msgid "Polish your videos" msgstr "Улучшение ваших видео" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:836 msgid "Switcheroo" msgstr "Switcheroo" #. Translators: Metainfo for the app Switcheroo. #: src/window.rs:838 msgid "Convert and manipulate images" msgstr "Конвертирование и обработка изображений" #: src/flash.rs:93 msgid "Failed to unmount disk" msgstr "Ðе удалоÑÑŒ отключить диÑк" #: src/flash.rs:120 msgid "Failed to open disk" msgstr "Ðе удалоÑÑŒ открыть диÑк" #: src/flash.rs:170 msgid "Failed to extract drive" msgstr "Ðе удалоÑÑŒ извлечь диÑк" #: src/flash.rs:228 msgid "Failed to download image" msgstr "Ðе удалоÑÑŒ загрузить образ" #: src/flash.rs:285 msgid "Writing to disk failed" msgstr "ЗапиÑÑŒ на диÑк не удалаÑÑŒ" #~ msgid "This is a minor release of Impression with a few small improvements." #~ msgstr "Это минорный релиз Impression Ñ Ð½ÐµÑколькими небольшими улучшениÑми." #~ msgid "Support for .xz files" #~ msgstr "Поддержка файлов .xz" #~ msgid "Faster downloading of images" #~ msgstr "Более быÑÑ‚Ñ€Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° образов" #~ msgid "" #~ "Impression is made possible by volunteer developers, designers, and " #~ "translators. Thank you for your contributions!" #~ msgstr "" #~ "Impression ÑущеÑтвует Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð´Ð¾Ð±Ñ€Ð¾Ð²Ð¾Ð»ÑŒÐ½Ñ‹Ð¼ разработчикам, дизайнерам и " #~ "переводчикам. СпаÑибо за ваш вклад!" #~ msgid "" #~ "This minor release fixes a bug where some .ISO files wouldn't be detected." #~ msgstr "" #~ "Ð’ Ñтом минорном релизе иÑправлена ошибка, из-за которой некоторые файлы ." #~ "ISO не обнаруживалиÑÑŒ." #~ msgid "" #~ "This release of Impression brings even more convenience and power to your " #~ "fingertips:" #~ msgstr "" #~ "Этот релиз Impression предоÑтавлÑет вам еще больше удобÑтв и возможноÑтей:" #~ msgid "Direct download of a selection of images directly from the app" #~ msgstr "ПрÑÐ¼Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° выбранного образа прÑмо из приложениÑ" #~ msgid "Updated and more understandable terminology" #~ msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð¸ более понÑÑ‚Ð½Ð°Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ" #~ msgid "Security fixes" #~ msgstr "ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти" #~ msgid "This minor release of Impression delivers:" #~ msgstr "Этот незначительный выпуÑк Impression приноÑит:" #~ msgid "Support for mobile screen sizes" #~ msgstr "Поддержка размеров Ñкрана мобильных уÑтройÑтв" #~ msgid "Various bug fixes, improving reliability and stability" #~ msgstr "" #~ "Различные иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº, повышающие надежноÑть и ÑтабильноÑть работы" #~ msgid "" #~ "Brazillian Portugese translations, making Impression available in a total " #~ "of 9 languages" #~ msgstr "" #~ "БразильÑкий португальÑкий перевод, что делает Impression доÑтупным в " #~ "общей ÑложноÑти на 9 Ñзыках" #~ msgid "" #~ "This major release of Impression brings a bunch of exciting improvements:" #~ msgstr "" #~ "Этот крупный выпуÑк Impression Ñодержит целый Ñ€Ñд интереÑных улучшений:" #~ msgid "" #~ "Visual enhancements to make the app more beautiful, focused, and engaging" #~ msgstr "" #~ "Визуальные улучшениÑ, делающие приложение более краÑивым, " #~ "целенаправленным и привлекательным" #~ msgid "Automatic updates of the available drives list" #~ msgstr "ÐвтоматичеÑкое обновление ÑпиÑка доÑтупных диÑков" #~ msgid "" #~ "Explicit drive selection before flashing, to avoid accidental data loss" #~ msgstr "" #~ "Явный выбор диÑка перед запиÑью позволÑет избежать Ñлучайной потери данных" #~ msgid "" #~ "Turkish and Czech translations, making Impression available in a total of " #~ "8 languages" #~ msgstr "" #~ "Переводы на турецкий и чешÑкий Ñзыки, Ð±Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ñ‡ÐµÐ¼Ñƒ Impression доÑтупен " #~ "в общей ÑложноÑти на 8 Ñзыках" #~ msgid "" #~ "The versioning scheme has been simplified to only include major and minor " #~ "versions. The previous version of Impression was 1.0.1, this is version " #~ "2.0. Going forward, new features and noticeable changes will be included " #~ "in new major releases, while fixes and translations will result in new " #~ "minor releases." #~ msgstr "" #~ "Схема верÑий была упрощена и теперь включает в ÑÐµÐ±Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ мажорные и " #~ "минорные верÑии. ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Impression была 1.0.1, Ñта верÑÐ¸Ñ - " #~ "2.0. Ð’ дальнейшем новые возможноÑти и заметные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ включатьÑÑ " #~ "в новые мажорные верÑии, а иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ переводы - в новые минорные " #~ "верÑии." #~ msgid "Added Spanish, French, German, Russian, and Italian translations." #~ msgstr "" #~ "Добавлены переводы на иÑпанÑкий, французÑкий, немецкий, руÑÑкий и " #~ "итальÑнÑкий Ñзыки." #~ msgid "Initial version." #~ msgstr "ÐŸÐµÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑиÑ." #~ msgid "_Stop" #~ msgstr "_ОÑтановить" #~ msgid "Copying files…" #~ msgstr "Копирование файлов…" #~ msgid "usb" #~ msgstr "usb" #~ msgid "writer" #~ msgstr "пиÑатель" #~ msgid "flash" #~ msgstr "запиÑÑŒ" #~ msgid "drive" #~ msgstr "накопитель" #~ msgid "iso" #~ msgstr "iso" #~ msgid "img" #~ msgstr "образ" #~ msgid "disk" #~ msgstr "диÑк" #~ msgid "image" #~ msgstr "образ" #~ msgid "Validating…" #~ msgstr "Проверка…" #~ msgid "Flash" #~ msgstr "ЗапиÑать" #~ msgid "Flashing…" #~ msgstr "ЗапиÑь…" #~ msgid "New Window" #~ msgstr "Ðовое окно" #~ msgid "Image flashed" #~ msgstr "Образ запиÑан" #~ msgid "Refresh Devices" #~ msgstr "Обновить уÑтройÑтва" #~ msgid "Image Flashed" #~ msgstr "Образ запиÑан" #~ msgid "Flash disk images (ISOs/IMGs) to create bootable devices" #~ msgstr "" #~ "ЗапиÑÑŒ образов диÑков (ISOs/IMGs) Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¾Ñ‡Ð½Ñ‹Ñ… уÑтройÑтв" #~ msgid "Flash Images" #~ msgstr "ЗапиÑÑŒ образов" #~ msgid "Open a disk image to flash to a USB drive" #~ msgstr "Откройте образ диÑка Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи на USB-накопитель." #~ msgid "Warning: This will erase all data on the selected drive" #~ msgstr "" #~ "Предупреждение: Это приведет к удалению вÑех данных на выбранном диÑке." #~ msgid "Updating device list…" #~ msgstr "Обновление ÑпиÑка уÑтройÑтв…" #~ msgid "Have a nice day!" #~ msgstr "Хорошего днÑ!" #~ msgid "Done" #~ msgstr "Готово" #~ msgid "Flash Again" #~ msgstr "ЗапиÑать Ñнова" #~ msgid "Open File" #~ msgstr "Открыть файл" #~ msgid "Primary Menu" #~ msgstr "Главное меню" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/sk.po000066400000000000000000000316761516676475000230330ustar00rootroot00000000000000# Slovak translation for Impression. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # FIRST AUTHOR Petricek , 2025. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-20 21:04-0400\n" "PO-Revision-Date: 2025-04-29 23:48+0200\n" "Last-Translator: Petricek \n" "Language-Team: \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 3.4.4\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Program pre zápis médií" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Vytvorte bootovateľné disky" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "usb;flash;zapisovanie;bootovanie;disk;iso;img;disk;obraz-disku" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Šírka okna" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Výška okna" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Maximalizovaný stav okna" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Preneste jednoducho obrazy diskov na vaÅ¡e disky. Vyberte obraz disku, vložte USB " "disk a môžete zaÄaÅ¥! Impression je užitoÄný nástroj pre zapálených distro-" "hopperov, aj pre běžných užívateľov poÄítaÄov." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "Obrazovka s výberom pre lokálny obraz disku alebo stiahnutie z internetu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "Obrazovka so zvoleným ISO obrazom a dostupnými USB diskami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "Prebieha zápis ISO obrazu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Obrazovka úspechu s veľkým zaÅ¡krtnutím" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:70 msgid "This is a minor release of Impression with a few small improvements." msgstr "Tato verzia Impression prináša viacero drobných vylepÅ¡ení." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:72 msgid "Support for .xz files" msgstr "Podpora súborov .xz" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:73 msgid "Faster downloading of images" msgstr "RychlejÅ¡ie sÅ¥ahovanie obrazov diskov" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:75 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:91 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:102 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:117 msgid "" "Impression is made possible by volunteer developers, designers, and " "translators. Thank you for your contributions!" msgstr "" "Impression vytvárajú dobrovoľný vývojári, dizajnéri a prekladatelia." "ÄŽakujeme za vaÅ¡e príspevky!" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:80 msgid "" "This minor release fixes a bug where some .ISO files wouldn't be detected." msgstr "Táto verzia opravuje chybu, kedy niektoré súbory .ISO neboly detekované." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:85 msgid "" "This release of Impression brings even more convenience and power to your " "fingertips:" msgstr "" "Toto vydanie Impression prináša eÅ¡te viac pohodlia a výkonu pre vaÅ¡e konÄeky prstov:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:87 msgid "Direct download of a selection of images directly from the app" msgstr "Stiahnutie zvolených obrazov priamo z aplikácie" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:88 msgid "Updated and more understandable terminology" msgstr "Aktualizovaná a zrozumiteľnejÅ¡ia terminológia" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:89 msgid "Security fixes" msgstr "BezpeÄnostné opravy" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:96 msgid "This minor release of Impression delivers:" msgstr "Táto verzia Impression prináša:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:98 msgid "Support for mobile screen sizes" msgstr "Podpora veľkosti mobilných obrazoviek" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:99 msgid "Various bug fixes, improving reliability and stability" msgstr "Rôzne opravy chýb zvyÅ¡ujúce spoľahlivosÅ¥ a stabilitu" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:100 msgid "" "Brazillian Portugese translations, making Impression available in a total of " "9 languages" msgstr "" "Preklad do brazílskej portugalÅ¡tiny, vÄaka Äomu je Impression dostupný celkovo v 9" "jazykoch" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:107 msgid "" "This major release of Impression brings a bunch of exciting improvements:" msgstr "Táto verzia Impression prináša veľa zajímavých vylepÅ¡ení:" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:109 msgid "" "Visual enhancements to make the app more beautiful, focused, and engaging" msgstr "Vizuálne vylepÅ¡enia, vÄaka ktorým bude aplikácia krajÅ¡ia a pútavejÅ¡ia" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:110 msgid "Automatic updates of the available drives list" msgstr "Automatické aktualizácie zoznamu dostupných diskov" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:111 msgid "Explicit drive selection before flashing, to avoid accidental data loss" msgstr "" "Explicitný výber disku pred flashovaním, aby ste prediÅ¡li náhodnej strate údajov" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:112 msgid "" "Turkish and Czech translations, making Impression available in a total of 8 " "languages" msgstr "" "Turecký a Äeský preklad, vÄaka Äomu je Impression dostupný celkovo v 8" "jazykoch" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:114 msgid "" "The versioning scheme has been simplified to only include major and minor " "versions. The previous version of Impression was 1.0.1, this is version 2.0. " "Going forward, new features and noticeable changes will be included in new " "major releases, while fixes and translations will result in new minor " "releases." msgstr "" "Schéma verzií bola zjednoduÅ¡ená tak, aby zahŕňala len hlavné a vedľajÅ¡ie " "verzie. Predchádzajúca verzia Impression bola 1.0.1, toto je verzia 2.0. V budúcnosti " "budú nové funkcie a zásadné zmeny zahrnuté v hlavných verziách, " "priÄom opravy a preklady povedú k novým podverziám." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:122 msgid "Added Spanish, French, German, Russian, and Italian translations." msgstr "Pridané preklady do Å¡panielÄiny, francúzÅ¡tiny, nemÄiny, ruÅ¡tiny a talianÄiny." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:127 msgid "Initial version." msgstr "PoÄiatoÄná verzia." #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "VÅ¡eobecné" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "OtvoriÅ¥ súbor" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Nové okno" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "ZobraziÅ¥ skratky" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "UkonÄiÅ¥" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Presunutím sem otvorte" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Hlavné menu" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Vyberte obraz disku" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "OtvoriÅ¥ súbor…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "Priame stiahnutie" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "Žiadne pripojenie" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Ak chcete zobraziÅ¥ dostupné obrazy diskov, pripojte sa k internetu" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "VÅ¡etky údaje na vybranom disku budú vymazané" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "ZapísaÅ¥" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "Žiadne disky" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Vložte disk, na ktorý chcete zapísaÅ¥ obraz disku" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Zápis ukonÄený" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "Disk možno bezpeÄne odpojiÅ¥" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "DokonÄiÅ¥" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Zápis neúspeÅ¡ný" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "OpakovaÅ¥" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing…" msgstr "Zápis…" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "Neodpájajte disk" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_ZruÅ¡iÅ¥" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Klávesové skratky" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "O aplikacii Impression" #: src/window.rs:246 msgid "Stop Writing?" msgstr "ZastaviÅ¥ zápis?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state." msgstr "To môže spôsobiÅ¥, že disk bude v chybnom stave." #: src/window.rs:250 msgid "_Stop" msgstr "Zas_taviÅ¥" #: src/window.rs:279 msgid "Erase Drive?" msgstr "VymazaÅ¥ disk?" #: src/window.rs:287 msgid "_Erase" msgstr "_VymazaÅ¥" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "Po dokonÄení sÅ¥ahovania sa zaÄne zápis" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image…" msgstr "SÅ¥ahovanie obrazu disku…" #: src/window.rs:356 msgid "Copying files…" msgstr "Kopírovanie súborov…" #: src/window.rs:391 msgid "Failed to write image" msgstr "Nepodarilo sa zapísaÅ¥ obraz disku" #: src/window.rs:399 msgid "Image Written" msgstr "Obraz disku zapísaný" #: src/window.rs:603 msgid "Disk Images" msgstr "Obrazy diskov" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "Súbor nie je obraz disku" #: src/window.rs:734 msgid "translator-credits" msgstr "Petricek" #: src/window.rs:736 msgid "Code borrowed from" msgstr "Kód zapožiÄaný od" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Nepodarilo sa otvoriÅ¥ disk" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Nepodarilo sa extrahovaÅ¥ disk" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Nepodarilo sa stihnuÅ¥ obraz disku" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Zápis na disk zlyhal" #~ msgid "usb" #~ msgstr "usb" #~ msgid "flash" #~ msgstr "flash" #~ msgid "bootable" #~ msgstr "bootovateľný" #~ msgid "drive" #~ msgstr "disk" #~ msgid "iso" #~ msgstr "iso" #, fuzzy #~ msgid "img" #~ msgstr "obraz disku" #~ msgid "disk" #~ msgstr "disk" #~ msgid "image" #~ msgstr "obraz disku" #, fuzzy #~ msgid "Validating…" #~ msgstr "Overuje sa…" #~ msgid "Flash" #~ msgstr "ZapísaÅ¥" #~ msgid "New Window" #~ msgstr "Nové okno" #~ msgid "Image flashed" #~ msgstr "Obraz disku zapísaný" #~ msgid "flash;usb;drive;bootable" #~ msgstr "flash;usb;disk;bootovateľný" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/tr.po000066400000000000000000000173041516676475000230330ustar00rootroot00000000000000# Turkish translation for io.gitlab.adhami3310.Impression. # Copyright (C) 2023, 2024 io.gitlab.adhami3310.Impression's COPYRIGHT HOLDER # This file is distributed under the same license as the io.gitlab.adhami3310.Impression package. # # Sabri Ünal , 2023, 2024. # msgid "" msgstr "" "Project-Id-Version: io.gitlab.adhami3310.Impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-03-21 14:01+0300\n" "PO-Revision-Date: 2024-03-21 14:04+0300\n" "Last-Translator: Sabri Ünal \n" "Language-Team: Türkçe \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.4.2\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "Ortam Yazıcı" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "Önyüklenebilir USB sürücü oluÅŸtur" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" "usb;flash;writer;bootable;drive;iso;img;disk;image;flaÅŸ;baÅŸlatılabilir;" "önyüklenebilir;USB;sürücü;disk;görüntü;" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "Pencere geniÅŸliÄŸi" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "Pencere yüksekliÄŸi" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "Pencerenin ekranı kaplama durumu" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 msgid "Khaleel Al-Adhami" msgstr "Khaleel Al-Adhami" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "" "Disk görüntülerini sürücülerinize kolaylıkla yazın. Bir görüntü seçin, " "sürücünüzü takın ve iÅŸlem tamam! Impression, hem dağıtım denemeyi seven, hem " "de günlük bilgisayar kullanıcıları için kullanışlı bir araçtır." #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "Yerel görüntü ya da internetten indirme seçenekli ekran" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "Seçilen ISO ve kullanılabilir USB belleklere sahip ekran" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "ISO yazımı devam ediyor" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "Büyük bir onay iÅŸareti ile baÅŸarı ekranı" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "Genel" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "Dosya Aç" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "Yeni Pencere" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "Kısayolları Göster" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "Çık" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "Açmak için Buraya Bırakın" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "Ana Menü" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "Görüntü Seç" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "Dosya Aç…" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "DoÄŸrudan İndir" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "BaÄŸlantı Yok" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "Kullanılabilir görüntüleri görmek için internete baÄŸlanın" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "Seçilen USB sürücüdeki tüm veriler silecek" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "Yazdır" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "USB Sürücü Yok" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "Yazdırmak için sürücü takın" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "Yazdırma Tamamlandı" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "USB sürücü güvenle çıkarılabilir" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "Bitir" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "Yazdırma BaÅŸarısız" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "Yeniden Dene" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing" msgstr "Yazdırılıyor" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "USB sürücüyü çıkarmayın" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_İptal" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "Klavye Kısayolları" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "Impression Hakkında" #: src/window.rs:246 msgid "Stop Writing?" msgstr "Yazdırma Durdurulsun Mu?" #: src/window.rs:247 msgid "This might leave the drive in a faulty state" msgstr "Bu, USB sürücüyü hatalı bir durumda bırakabilir" #: src/window.rs:250 msgid "_Stop" msgstr "_Durdur" #: src/window.rs:279 msgid "Erase Drive?" msgstr "Sürüsü Silinsin Mi?" #: src/window.rs:287 msgid "_Erase" msgstr "_Sil" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "İndirme tamamlandığında yazdırma baÅŸlayacak" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image" msgstr "Görüntü İndiriliyor" #: src/window.rs:356 msgid "This could take a while" msgstr "Biraz uzun sürebilir" #: src/window.rs:391 msgid "Failed to write image" msgstr "Görüntü yazdırılamadı" #: src/window.rs:399 msgid "Image Written" msgstr "Görüntü Yazıldı" #: src/window.rs:603 msgid "Disk Images" msgstr "Disk Görüntüleri" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "Dosya bir Disk Görüntüsü deÄŸil" #: src/window.rs:734 msgid "translator-credits" msgstr "Sabri Ünal " #: src/window.rs:736 msgid "Code borrowed from" msgstr "Kodun ödünç alındığı kaynak" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "Disk açılamadı" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "Sürücü çıkarılamadı" #: src/flash.rs:203 msgid "Failed to download image" msgstr "Görüntü indirilemedi" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "Diske yazılamadı" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/po/zh_CN.po000066400000000000000000000161431516676475000234070ustar00rootroot00000000000000# Chinese translations for impression package # impression 软件包的简体中文翻译. # Copyright (C) 2024 THE impression'S COPYRIGHT HOLDER # This file is distributed under the same license as the impression package. # , 2024. # msgid "" msgstr "" "Project-Id-Version: impression\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-04-08 17:38-0400\n" "PO-Revision-Date: 2024-07-01 21:55+0800\n" "Last-Translator: \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:3 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:5 #: data/resources/blueprints/window.blp:9 #: data/resources/blueprints/window.blp:21 #: data/resources/blueprints/window.blp:146 src/main.rs:57 src/window.rs:424 msgid "Impression" msgstr "Impression" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:4 msgid "Media Writer" msgstr "媒体写入程åº" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:5 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:11 msgid "Create bootable drives" msgstr "创建å¯å¼•导驱动器" #: data/io.gitlab.adhami3310.Impression.desktop.in.in:11 msgid "usb;flash;writer;bootable;drive;iso;img;disk;image" msgstr "" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:6 msgid "Window width" msgstr "窗å£å®½åº¦" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:10 msgid "Window height" msgstr "窗å£é«˜åº¦" #: data/io.gitlab.adhami3310.Impression.gschema.xml.in:14 msgid "Window maximized state" msgstr "çª—å£æœ€å¤§åŒ–状æ€" #. developer_name tag deprecated with Appstream 1.0 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:7 #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:9 msgid "Khaleel Al-Adhami" msgstr "" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:17 msgid "" "Write disk images to your drives with ease. Select an image, insert your " "drive, and you're good to go! Impression is a useful tool for both avid " "distro-hoppers and casual computer users." msgstr "è½»æ¾åœ°å°†ç£ç›˜æ˜ åƒå†™å…¥é©±åŠ¨å™¨ã€‚é€‰æ‹©ä¸€ä¸ªé•œåƒï¼Œæ’入驱动器,就å¯ä»¥å¼€å§‹äº†ï¼Impression对于狂热的å‘行版爱好者和普通的计算机用户æ¥è¯´éƒ½æ˜¯ä¸€ä¸ªæœ‰ç”¨çš„工具。" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:38 msgid "Screen with a choice of a local image or internet download" msgstr "å±å¹•å¯é€‰æ‹©æœ¬åœ°é•œåƒæˆ–互è”网下载" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:42 msgid "Screen with a chosen ISO and available USB memories" msgstr "å±å¹•上有选定的ISOå’Œå¯ç”¨çš„USB存储器" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:46 msgid "Writing the ISO in progress" msgstr "ISO写入进度" #: data/io.gitlab.adhami3310.Impression.metainfo.xml.in.in:50 msgid "Success screen with a big check mark" msgstr "刻录æˆåŠŸ" #: data/resources/blueprints/help-overlay.blp:11 msgctxt "shortcut window" msgid "General" msgstr "通用" #: data/resources/blueprints/help-overlay.blp:14 msgctxt "shortcut window" msgid "Open File" msgstr "打开文件" #: data/resources/blueprints/help-overlay.blp:19 msgctxt "shortcut window" msgid "New Window" msgstr "新建窗å£" #: data/resources/blueprints/help-overlay.blp:24 msgctxt "shortcut window" msgid "Show Shortcuts" msgstr "显示快æ·é”®" #: data/resources/blueprints/help-overlay.blp:29 msgctxt "shortcut window" msgid "Quit" msgstr "退出" #: data/resources/blueprints/window.blp:25 msgid "Drop Here to Open" msgstr "拖拽到这里打开" #: data/resources/blueprints/window.blp:35 #: data/resources/blueprints/window.blp:156 #: data/resources/blueprints/window.blp:254 msgid "Main Menu" msgstr "主èœå•" #: data/resources/blueprints/window.blp:54 msgid "Choose Image" msgstr "选择一个镜åƒ" #: data/resources/blueprints/window.blp:64 msgid "Open File…" msgstr "打开文件……" #: data/resources/blueprints/window.blp:74 msgid "Direct Download" msgstr "直接下载" #: data/resources/blueprints/window.blp:108 msgid "No Connection" msgstr "无连接" #: data/resources/blueprints/window.blp:109 msgid "Connect to the internet to view available images" msgstr "连接到互è”网查看å¯ç”¨é•œåƒ" #: data/resources/blueprints/window.blp:218 msgid "All data on the selected drive will be erased" msgstr "所选驱动器上的所有数æ®éƒ½å°†è¢«æ“¦é™¤" #: data/resources/blueprints/window.blp:221 msgid "Write" msgstr "写入" #: data/resources/blueprints/window.blp:283 msgid "No Drives" msgstr "没有驱动器" #: data/resources/blueprints/window.blp:284 msgid "Insert a drive to write to" msgstr "æ’å…¥è¦å†™å…¥çš„驱动器" #: data/resources/blueprints/window.blp:295 msgid "Writing Completed" msgstr "写入完æˆ" #: data/resources/blueprints/window.blp:296 msgid "The drive can be safely removed" msgstr "å¯ä»¥å®‰å…¨åœ°å–出驱动器" #: data/resources/blueprints/window.blp:305 msgid "Finish" msgstr "结æŸ" #: data/resources/blueprints/window.blp:326 msgid "Writing Unsuccessful" msgstr "写入æˆåŠŸ" #: data/resources/blueprints/window.blp:335 msgid "Retry" msgstr "é‡è¯•" #: data/resources/blueprints/window.blp:355 src/window.rs:331 src/window.rs:365 msgid "Writing" msgstr "写入中" #: data/resources/blueprints/window.blp:357 src/window.rs:330 msgid "Do not remove the drive" msgstr "ä¸è¦ç§»é™¤é©±åЍ噍" #: data/resources/blueprints/window.blp:372 src/window.rs:250 src/window.rs:286 msgid "_Cancel" msgstr "_å–æ¶ˆ" #: data/resources/blueprints/window.blp:400 msgid "Keyboard Shortcuts" msgstr "å¿«æ·é”®" #: data/resources/blueprints/window.blp:405 msgid "About Impression" msgstr "关于Impression" #: src/window.rs:246 msgid "Stop Writing?" msgstr "åœæ­¢å†™å…¥ï¼Ÿ" #: src/window.rs:247 msgid "This might leave the drive in a faulty state" msgstr "è¿™å¯èƒ½ä¼šä½¿é©±åŠ¨å™¨å¤„äºŽæ•…éšœçŠ¶æ€" #: src/window.rs:250 msgid "_Stop" msgstr "_åœæ­¢" #: src/window.rs:279 msgid "Erase Drive?" msgstr "擦除驱动器 ?" #: src/window.rs:287 msgid "_Erase" msgstr "_擦除" #: src/window.rs:324 src/window.rs:353 msgid "Writing will begin once the download is completed" msgstr "" #: src/window.rs:326 src/window.rs:362 msgid "Downloading Image" msgstr "镜åƒä¸‹è½½ä¸­" #: src/window.rs:356 msgid "This could take a while" msgstr "è¿™å¯èƒ½éœ€è¦ä¸€æ®µæ—¶é—´" #: src/window.rs:391 msgid "Failed to write image" msgstr "镜åƒå†™å…¥å¤±è´¥" #: src/window.rs:399 msgid "Image Written" msgstr "镜åƒè¢«å†™å…¥" #: src/window.rs:603 msgid "Disk Images" msgstr "ç£ç›˜é•œåƒ" #: src/window.rs:629 msgid "File is not a Disk Image" msgstr "è¯¥æ–‡ä»¶ä¸æ˜¯ç£ç›˜é•œåƒ" #: src/window.rs:734 msgid "translator-credits" msgstr "余航 " #: src/window.rs:736 msgid "Code borrowed from" msgstr "代ç å‚考自" #: src/flash.rs:95 msgid "Failed to open disk" msgstr "打开ç£ç›˜å¤±è´¥" #: src/flash.rs:145 msgid "Failed to extract drive" msgstr "æå–驱动器失败" #: src/flash.rs:203 msgid "Failed to download image" msgstr "下载镜åƒå¤±è´¥" #: src/flash.rs:256 msgid "Writing to disk failed" msgstr "写入ç£ç›˜å¤±è´¥" Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/000077500000000000000000000000001516676475000222125ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/application.rs000066400000000000000000000064211516676475000250660ustar00rootroot00000000000000use glib::{ExitCode, clone}; use log::{debug, info}; use gtk::{gio, glib, prelude::*, subclass::prelude::*}; use crate::config::{APP_ID, PKGDATADIR, PROFILE, VERSION}; use crate::window::ImpressionAppWindow; mod imp { use super::*; use adw::subclass::prelude::AdwApplicationImpl; #[derive(Debug, Default)] pub struct ImpressionApp {} #[glib::object_subclass] impl ObjectSubclass for ImpressionApp { const NAME: &'static str = "ImpressionApp"; type Type = super::ImpressionApp; type ParentType = adw::Application; } impl ObjectImpl for ImpressionApp {} impl ApplicationImpl for ImpressionApp { fn activate(&self) { debug!("Application::activate"); self.obj().present_main_window(); } fn startup(&self) { debug!("Application::startup"); self.parent_startup(); // Set icons for shell gtk::Window::set_default_icon_name(APP_ID); let app = self.obj(); app.setup_gactions(); app.setup_accels(); } fn open(&self, files: &[gio::File], _hint: &str) { if let Some(file) = files.first() { let window = self.obj().present_main_window(); window .downcast_ref::() .expect("Failed to downcast to ImpressionAppWindow") .open_file(file); } debug!("Application::open"); } } impl GtkApplicationImpl for ImpressionApp {} impl AdwApplicationImpl for ImpressionApp {} } glib::wrapper! { pub struct ImpressionApp(ObjectSubclass) @extends gio::Application, gtk::Application, adw::Application, @implements gio::ActionMap, gio::ActionGroup; } impl ImpressionApp { fn setup_gactions(&self) { self.add_action_entries([gio::ActionEntry::builder("quit") .activate(clone!( #[weak(rename_to=app)] self, move |_, _, _| { app.quit(); } )) .build()]); } // Sets up keyboard shortcuts fn setup_accels(&self) { self.set_accels_for_action("app.quit", &["q"]); self.set_accels_for_action("win.close", &["w"]); self.set_accels_for_action("win.open", &["o"]); self.set_accels_for_action("win.show-help-overlay", &["question"]); } fn present_main_window(&self) -> gtk::Window { let window = self.active_window().unwrap_or_else(|| { let window = ImpressionAppWindow::new(self); window.upcast() }); window.present(); window } pub fn run(&self) -> ExitCode { info!("Impression ({APP_ID})"); info!("Version: {VERSION} ({PROFILE})"); info!("Datadir: {PKGDATADIR}"); ApplicationExtManual::run(self) } } impl Default for ImpressionApp { fn default() -> Self { glib::Object::builder::() .property("application-id", Some(APP_ID)) .property("flags", gio::ApplicationFlags::HANDLES_OPEN) .property("resource-base-path", "/io/gitlab/adhami3310/Impression/") .build() } } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/config.rs.in000066400000000000000000000005051516676475000244320ustar00rootroot00000000000000pub const APP_ID: &str = @APP_ID@; pub const GETTEXT_PACKAGE: &str = @GETTEXT_PACKAGE@; pub const LOCALEDIR: &str = @LOCALEDIR@; pub const PKGDATADIR: &str = @PKGDATADIR@; pub const PROFILE: &str = @PROFILE@; pub const RESOURCES_FILE: &str = concat!(@PKGDATADIR@, "/resources.gresource"); pub const VERSION: &str = @VERSION@;Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/drag_overlay.rs000066400000000000000000000107001516676475000252340ustar00rootroot00000000000000// SPDX-FileCopyrightText: 2022 Maximiliano Sandoval R // SPDX-License-Identifier: GPL-3.0-or-later use gtk::{glib, prelude::*, subclass::prelude::*}; mod imp { use std::cell::RefCell; use adw::subclass::prelude::*; use std::sync::LazyLock; use super::*; #[derive(Debug, Default)] pub struct DragOverlay { pub overlay: gtk::Overlay, pub revealer: gtk::Revealer, pub status: adw::StatusPage, pub drop_target: RefCell>, pub handler_id: RefCell>, } #[glib::object_subclass] impl ObjectSubclass for DragOverlay { const NAME: &'static str = "DragOverlay"; type Type = super::DragOverlay; type ParentType = adw::Bin; fn class_init(klass: &mut Self::Class) { klass.set_css_name("dragoverlay"); } } impl ObjectImpl for DragOverlay { fn properties() -> &'static [glib::ParamSpec] { static PROPERTIES: LazyLock> = LazyLock::new(|| { vec![ glib::ParamSpecString::builder("title").build(), glib::ParamSpecObject::builder::("child").build(), glib::ParamSpecObject::builder::("drop-target") .explicit_notify() .build(), ] }); PROPERTIES.as_ref() } fn property(&self, _id: usize, pspec: &glib::ParamSpec) -> glib::Value { match pspec.name() { "title" => self.status.title().to_value(), "child" => self.overlay.child().to_value(), "drop-target" => self.drop_target.borrow().to_value(), _ => unimplemented!(), } } fn set_property(&self, _id: usize, value: &glib::Value, pspec: &glib::ParamSpec) { match pspec.name() { "title" => self .status .set_title(value.get().expect("Title value must be a string")), "child" => self .overlay .set_child(value.get::().ok().as_ref()), "drop-target" => self.obj().set_drop_target( &value .get::() .expect("DropTarget value must be a gtk::DropTarget"), ), _ => unimplemented!(), } } fn constructed(&self) { self.overlay .set_parent(self.obj().upcast_ref::()); self.overlay.add_overlay(&self.revealer); self.revealer.set_can_target(false); self.revealer .set_transition_type(gtk::RevealerTransitionType::Crossfade); self.revealer.set_reveal_child(false); self.status.set_icon_name(Some("document-send-symbolic")); self.status.add_css_class("drag-overlay-status-page"); self.revealer.set_child(Some(&self.status)); } fn dispose(&self) { self.overlay.unparent(); } } impl WidgetImpl for DragOverlay {} impl BinImpl for DragOverlay {} } glib::wrapper! { pub struct DragOverlay(ObjectSubclass) @extends gtk::Widget, adw::Bin, @implements gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget; } impl Default for DragOverlay { fn default() -> Self { glib::Object::new() } } impl DragOverlay { pub fn new() -> Self { Self::default() } pub fn set_drop_target(&self, drop_target: >k::DropTarget) { let priv_ = self.imp(); if let Some(target) = priv_.drop_target.borrow_mut().take() { self.remove_controller(&target); if let Some(handler_id) = priv_.handler_id.borrow_mut().take() { target.disconnect(handler_id); } } let handler_id = drop_target.connect_current_drop_notify(glib::clone!( #[weak(rename_to=revealer)] priv_.revealer, move |target| { revealer.set_reveal_child(target.current_drop().is_some()); }, )); priv_.handler_id.replace(Some(handler_id)); self.add_controller(drop_target.clone()); priv_.drop_target.replace(Some(drop_target.clone())); self.notify("drop-target"); } } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/flash.rs000066400000000000000000000277051516676475000236700ustar00rootroot00000000000000use log::{error, info}; use std::collections::HashMap; use std::process::Stdio; use std::sync::Arc; use std::sync::atomic::AtomicBool; use std::time::Duration; use terrors::OneOf; use tokio::time::Instant; use tokio::{fs::File, io::AsyncWriteExt}; use crate::window::{Compression, DiskImage}; #[derive(Clone, Debug)] pub enum FlashPhase { Download, Copy, } #[derive(Clone, Debug)] pub enum Progress { Fraction(f64), Pulse, } impl From<(u64, u64)> for Progress { fn from(value: (u64, u64)) -> Self { let (nominator, denominator) = value; if denominator == 0 { Self::Pulse } else { Self::Fraction(nominator as f64 / denominator as f64) } } } #[derive(Clone, Debug)] pub enum FlashStatus { Active(FlashPhase, Progress), Done(Option), } pub struct FlashRequest { source: DiskImage, destination: udisks::Object, status: std::sync::Arc>, is_running: Arc, } #[derive(thiserror::Error, Debug)] #[error("Process was stopped by the user")] struct ProcessStoppedByUser; #[derive(thiserror::Error, Debug)] #[error("Total size could not be determined")] struct TotalSizeCouldNotBeDetermined; #[derive(thiserror::Error, Debug)] #[error("XZ extraction failed: {details:?}")] struct XzExtractionFailed { details: Option, } impl FlashRequest { pub const fn new( source: DiskImage, destination: udisks::Object, status: std::sync::Arc>, is_running: Arc, ) -> Self { Self { source, destination, status, is_running, } } fn set_status(&self, status: FlashStatus) { if let Ok(mut lock) = self.status.lock() { *lock = status; } } async fn download_file( &self, downloading_path: &std::path::PathBuf, url: &url::Url, ) -> Result< File, OneOf<( ProcessStoppedByUser, TotalSizeCouldNotBeDetermined, std::io::Error, reqwest::Error, )>, > { let mut file = File::create(downloading_path).await.map_err(OneOf::new)?; let res = reqwest::get(url.to_owned()).await.map_err(OneOf::new)?; let total_size = res .content_length() .ok_or_else(|| OneOf::new(TotalSizeCouldNotBeDetermined))?; let mut downloaded: u64 = 0; let mut stream = res.bytes_stream(); let mut last_sent = Instant::now(); while let Some(Ok(chunk)) = futures::StreamExt::next(&mut stream).await { tokio::io::AsyncWriteExt::write_all(&mut file, &chunk) .await .map_err(OneOf::new)?; downloaded = std::cmp::min(downloaded + (chunk.len() as u64), total_size); if last_sent.elapsed() >= Duration::from_millis(250) { self.set_status(FlashStatus::Active( FlashPhase::Download, Progress::from((downloaded, total_size)), )); last_sent = Instant::now(); } self.stopped_running().map_err(OneOf::broaden)?; } file.flush().await.map_err(OneOf::new)?; file.sync_all().await.map_err(OneOf::new)?; File::open(downloading_path).await.map_err(OneOf::new) } async fn extract_xz_image( &self, input_path: &std::path::Path, output_path: &std::path::Path, ) -> Result> { let output_file = File::create(&output_path).await.map_err(OneOf::new)?; self.set_status(FlashStatus::Active(FlashPhase::Copy, Progress::Pulse)); let mut extract_process = tokio::process::Command::new("xzcat") .arg(input_path) .arg("-k") .arg("-T0") .stdout(Stdio::from(output_file.into_std().await)) .stderr(Stdio::piped()) .spawn() .map_err(OneOf::new)?; let stderr = extract_process.stderr.take(); match extract_process.wait().await.map_err(OneOf::new)? { x if x.success() => Ok(File::open(&output_path).await.map_err(OneOf::new)?), _ => Err(OneOf::new(XzExtractionFailed { details: match stderr { Some(mut stderr) => { let mut err_output = String::new(); tokio::io::AsyncReadExt::read_to_string(&mut stderr, &mut err_output) .await .ok(); Some(err_output) } None => None, }, })), } } pub async fn perform(self) { match self.perform_job().await { Ok(()) => { self.set_status(FlashStatus::Done(None)); } Err(e) => { if let Err(e) = e.narrow::() { error!("Flashing process failed: {e}"); self.set_status(FlashStatus::Done(Some(e.to_string()))); } } } } fn stopped_running(&self) -> Result<(), OneOf<(ProcessStoppedByUser,)>> { if self.is_running.load(std::sync::atomic::Ordering::SeqCst) { Ok(()) } else { Err(OneOf::new(ProcessStoppedByUser)) } } async fn get_source_file_from_image( &self, ) -> Result< File, OneOf<( ProcessStoppedByUser, std::io::Error, reqwest::Error, XzExtractionFailed, TotalSizeCouldNotBeDetermined, )>, > { match &self.source { DiskImage::Local { path, compression } => match compression { Compression::Raw => Ok(File::open(path).await.map_err(OneOf::new)?), Compression::Xz => { let temp_dir = glib::user_cache_dir(); std::fs::create_dir_all(&temp_dir).map_err(OneOf::new)?; let result_path = temp_dir.join( path.file_name() .and_then(|x| x.to_str()) .unwrap_or("disk_image.iso"), ); self.set_status(FlashStatus::Active(FlashPhase::Copy, Progress::Pulse)); Ok(self .extract_xz_image(path, &result_path) .await .map_err(OneOf::broaden)?) } }, DiskImage::Online { url, download_path, .. } => Ok(self .download_file(download_path, url) .await .map_err(OneOf::broaden)?), } } async fn unmount_partitions(&self, client: &udisks::Client) -> Result<(), udisks::Error> { let partition_table = self.destination.partition_table().await?; for partition in client .partitions(&partition_table) .await .iter() .filter_map(|partition| client.object(partition.inner().path().clone()).ok()) { if let Err(e) = udisks_unmount(&partition).await { error!( "Failed to unmount partition {:?}, this will be ignored: {e}", partition.object_path() ); } } Ok(()) } async fn perform_job( &self, ) -> Result< (), OneOf<( ProcessStoppedByUser, std::io::Error, reqwest::Error, udisks::Error, XzExtractionFailed, TotalSizeCouldNotBeDetermined, )>, > { self.stopped_running().map_err(OneOf::broaden)?; info!( "Flashing {:?} to {:?}", self.source, self.destination.object_path() ); let client = udisks::Client::new().await.map_err(OneOf::new)?; let destination_block = self.destination.block().await.map_err(OneOf::new)?; let destination_drive = client .drive_for_block(&destination_block) .await .map_err(OneOf::new)?; if let Err(e) = self.unmount_partitions(&client).await { error!("Error unmounting partitions, will be ignored: {e}"); } self.stopped_running().map_err(OneOf::broaden)?; let destination_file = udisks_open(&destination_block).await.map_err(OneOf::new)?; info!("Destination: {destination_file:?}"); let source_image = self .get_source_file_from_image() .await .map_err(OneOf::broaden)?; info!("Source: {source_image:?}"); self.stopped_running().map_err(OneOf::broaden)?; //TODO: we should probably spawn a UDIsks.Job for this operation, //but udisks-rs does not support this yet Self::load_file( source_image, destination_file, |status| self.set_status(status), self.is_running.clone(), ) .await .map_err(OneOf::broaden)?; if let Err(e) = destination_block.rescan(HashMap::new()).await { error!("Error rescanning block device, will be ignored: {e}"); } if let Err(e) = destination_drive.eject(HashMap::new()).await { error!("Error ejecting drive, will be ignored: {e}"); } info!("Flashing completed successfully"); Ok(()) } async fn load_file( image: File, mut target_file: File, set_status: F, is_running: Arc, ) -> Result<(), OneOf<(std::io::Error, ProcessStoppedByUser)>> { let mut last_set = Instant::now(); let mut total = 0_u64; let size = match image.metadata().await { Ok(meta) => meta.len(), Err(e) => { error!("Failed to get image metadata: {e}"); 0 } }; info!("Writing file {image:?} ({size} bytes)"); let mut source = tokio::io::BufReader::with_capacity(1024 * 1024, image); let mut target = tokio::io::BufWriter::with_capacity(1024 * 1024, &mut target_file); let mut buf = vec![0; 256 * 1024].into_boxed_slice(); loop { let x = tokio::io::AsyncReadExt::read(&mut source, &mut buf) .await .map_err(OneOf::new)?; if x == 0 { break; } total += x as u64; tokio::io::AsyncWriteExt::write_all(&mut target, &buf[..x]) .await .map_err(OneOf::new)?; if !is_running.load(std::sync::atomic::Ordering::SeqCst) { return Err(OneOf::new(ProcessStoppedByUser)); } if last_set.elapsed() >= Duration::from_millis(250) { set_status(FlashStatus::Active( FlashPhase::Copy, Progress::from((total, size)), )); last_set = Instant::now(); } } if let Err(e) = target.flush().await { error!("Error flushing data to target, will be ignored: {e}"); } if let Err(e) = target_file.sync_all().await { error!("Error syncing data to target, will be ignored: {e}"); } Ok(()) } } async fn udisks_unmount(object: &udisks::Object) -> udisks::Result<()> { let filesystem = object.filesystem().await?; let err = filesystem .unmount(HashMap::from([("force", true.into())])) .await; if err != Err(udisks::Error::NotMounted) { return err; } Ok(()) } async fn udisks_open(block: &udisks::block::BlockProxy<'_>) -> udisks::Result { let fd: std::os::fd::OwnedFd = block .open_device("rw", HashMap::from([("flags", libc::O_SYNC.into())])) .await? .into(); Ok(std::fs::File::from(fd).into()) } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/main.rs000066400000000000000000000027401516676475000235070ustar00rootroot00000000000000mod application; #[rustfmt::skip] mod config; mod drag_overlay; mod flash; mod online; mod widgets; mod window; use gettextrs::{LocaleCategory, gettext}; use glib::ExitCode; use gtk::{gio, glib}; use self::application::ImpressionApp; use self::config::{GETTEXT_PACKAGE, LOCALEDIR, RESOURCES_FILE}; fn get_size_string(bytes_size: u64) -> String { let mebi_bytes = bytes_size / 1024 / 1024; match mebi_bytes { 0..=1023 => format!("{mebi_bytes}MiB"), _ => { format!("{:.2}GiB", (mebi_bytes as f64) / 1024.0) } } } fn runtime() -> &'static tokio::runtime::Runtime { static RUNTIME: std::sync::OnceLock = std::sync::OnceLock::new(); RUNTIME.get_or_init(|| { tokio::runtime::Builder::new_multi_thread() .enable_all() .build() .expect("Setting up tokio runtime needs to succeed.") }) } fn main() -> ExitCode { // Initialize logger tracing_subscriber::fmt::init(); // Prepare i18n gettextrs::setlocale(LocaleCategory::LcAll, ""); gettextrs::bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR).expect("Unable to bind the text domain"); gettextrs::textdomain(GETTEXT_PACKAGE).expect("Unable to switch to the text domain"); glib::set_application_name(&gettext("Impression")); let res = gio::Resource::load(RESOURCES_FILE).expect("Could not load gresource file"); gio::resources_register(&res); let app = ImpressionApp::default(); app.run() } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/meson.build000066400000000000000000000027611516676475000243620ustar00rootroot00000000000000global_conf = configuration_data() global_conf.set_quoted('APP_ID', application_id) global_conf.set_quoted('PKGDATADIR', pkgdatadir) global_conf.set_quoted('PROFILE', profile) global_conf.set_quoted('VERSION', version + version_suffix) global_conf.set_quoted('GETTEXT_PACKAGE', gettext_package) global_conf.set_quoted('LOCALEDIR', localedir) config = configure_file( input: 'config.rs.in', output: 'config.rs', configuration: global_conf ) # Copy the config.rs output to the source directory. run_command( 'cp', meson.project_build_root() / 'src' / 'config.rs', meson.project_source_root() / 'src' / 'config.rs', check: true ) cargo_options = [ '--manifest-path', meson.project_source_root() / 'Cargo.toml' ] cargo_options += [ '--target-dir', meson.project_build_root() / 'src' ] if get_option('profile') == 'default' cargo_options += [ '--release' ] rust_target = 'release' message('Building in release mode') else rust_target = 'debug' message('Building in debug mode') endif cargo_env = [ 'CARGO_HOME=' + meson.project_build_root() / 'cargo-home' ] cargo_build = custom_target( 'cargo-build', build_by_default: true, build_always_stale: true, output: meson.project_name(), console: true, install: true, install_dir: bindir, depends: resources, command: [ 'env', cargo_env, cargo, 'build', cargo_options, '&&', 'cp', 'src' / rust_target / meson.project_name(), '@OUTPUT@', ] ) Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/online.rs000066400000000000000000000222171516676475000240500ustar00rootroot00000000000000use std::{collections::HashMap, fs::DirEntry}; use itertools::Itertools; use log::warn; #[derive(Debug, Clone, PartialEq, PartialOrd, Eq, Ord)] pub struct DistroRelease { pub name: String, pub version: Option, pub url: url::Url, pub variant: Option, } pub async fn get_osinfo_db_url() -> Option { let info: serde_json::Value = reqwest::get("https://db.libosinfo.org/latest.json") .await .ok()? .json() .await .ok()?; Some(info["release"]["archive"].as_str()?.to_owned()) } const TWO_YEARS: chrono::Duration = chrono::Duration::days(365 * 2); // Approximation, ignoring leap years fn matches_must_contains( name: &str, must_contains: Option<&str>, invert_must_contains: bool, ) -> bool { must_contains.is_none_or(|must_contains| name.contains(must_contains) != invert_must_contains) } fn is_prerelease(status: Option<&str>) -> bool { matches!(status, Some("prerelease")) } fn is_rolling(status: Option<&str>) -> bool { matches!(status, Some("rolling")) } fn is_recent(date: chrono::NaiveDate) -> bool { date + TWO_YEARS >= chrono::offset::Local::now().date_naive() } fn is_relevant_for_current_day(date: Option, status: Option<&str>) -> bool { !is_prerelease(status) && date.map_or_else(|| is_rolling(status), is_recent) } fn get_first_child_node_with_tag<'a>( parent: &'a roxmltree::Node, tag: &str, ) -> Option> { parent.children().find(|d| d.has_tag_name(tag)) } fn get_text_of_first_child_node_with_tag<'a>( parent: &'a roxmltree::Node, tag: &str, ) -> Option<&'a str> { get_first_child_node_with_tag(parent, tag).and_then(|n| n.text()) } fn parse_date(date_str: &str) -> Option { let (year, month, day) = date_str .split('-') .filter_map(|x| x.parse::().ok()) .collect_tuple()?; chrono::NaiveDate::from_ymd_opt(year.cast_signed(), month, day) } struct MediaInfo { variant_name: String, architecture: String, url: url::Url, } fn get_media_info( media_node: &roxmltree::Node, variants: &HashMap, default_name: &str, ) -> Option { let url = get_text_of_first_child_node_with_tag(media_node, "url")?.to_owned(); let parsed_url = url::Url::parse(&url).ok()?; let architecture = media_node.attribute("arch")?.to_owned(); let variant_name = get_first_child_node_with_tag(media_node, "variant") .and_then(|n| n.attribute("id")) .and_then(|id| variants.get(id)) .map_or(default_name, |f| f); Some(MediaInfo { variant_name: variant_name.to_owned(), architecture, url: parsed_url, }) } fn parse_xml_file( file: &DirEntry, must_contains: Option<&str>, invert_must_contains: bool, ) -> Vec<(Option, Option)> { if !file.path().is_file() { return vec![]; } let Ok(content) = std::fs::read_to_string(file.path()) else { warn!("Failed to read file: {}", file.path().display()); return vec![]; }; let Ok(doc) = roxmltree::Document::parse(&content) else { warn!("Failed to parse XML file: {}", file.path().display()); return vec![]; }; let Some(os_element) = doc.descendants().find(|d| d.has_tag_name("os")) else { warn!( "Couldn't find OS tag inside of file: {}", file.path().display() ); return vec![]; }; let release_date = get_text_of_first_child_node_with_tag(&os_element, "release-date").and_then(parse_date); let release_status = get_text_of_first_child_node_with_tag(&os_element, "release-status"); if !is_relevant_for_current_day(release_date, release_status) { return vec![]; } let Some(name) = get_text_of_first_child_node_with_tag(&os_element, "name") else { warn!( "Couldn't find name tag inside of file: {}", file.path().display() ); return vec![]; }; let version = get_text_of_first_child_node_with_tag(&os_element, "version"); let variants = os_element .children() .filter(|d| d.has_tag_name("variant")) .filter_map(|variant| { let id = variant.attribute("id")?; let name = get_text_of_first_child_node_with_tag(&variant, "name")?; Some((id.to_owned(), name.to_owned())) }) .collect::>(); let medias = os_element .children() .filter(|d| { d.has_tag_name("media") && (d.attribute("arch") == Some("x86_64") || d.attribute("arch") == Some("aarch64")) }) .filter_map(|media| get_media_info(&media, &variants, name)) .collect_vec(); let distros: Vec<(Option, Option)> = medias .into_iter() .filter(|media| { matches_must_contains(&media.variant_name, must_contains, invert_must_contains) }) .map(|media| { let variant_id = variants.iter().find_map(|(k, v)| { if media.variant_name == *v { Some(k.clone()) } else { None } }); ( media.architecture, DistroRelease { name: media.variant_name, version: version.map(str::to_owned), url: media.url, variant: variant_id, }, ) }) .map(|(arch, distro)| { if arch == "x86_64" { (Some(distro), None) } else { (None, Some(distro)) } }) .collect(); distros } #[derive(Debug, Default)] struct DistroInfo { amd: Vec, arm: Vec, } fn get_releases_for_distro( temp_dir: &std::path::Path, distro: &str, must_contains: Option<&str>, invert_must_contains: bool, ) -> DistroInfo { let distro_dir = temp_dir.join(distro); let Ok(files) = std::fs::read_dir(temp_dir.join(distro)) else { warn!("Failed to read directory: {}", &distro_dir.display()); return DistroInfo::default(); }; let y: (Vec>, Vec>) = files .flatten() .flat_map(|file| parse_xml_file(&file, must_contains, invert_must_contains)) .collect(); let mut amd: HashMap, DistroRelease> = HashMap::new(); let mut arm: HashMap, DistroRelease> = HashMap::new(); for distro in y.0.into_iter().flatten() { amd.insert(distro.variant.clone(), distro); } for distro in y.1.into_iter().flatten() { arm.insert(distro.variant.clone(), distro); } DistroInfo { amd: amd.into_values().sorted().collect(), arm: arm.into_values().sorted().collect(), } } type DownloadableDistroInfo = (String, Option, bool); pub async fn collect_online_distros( latest_url: &str, downloadable_distros: &[DownloadableDistroInfo], ) -> Option<(Vec, Vec)> { use rayon::prelude::*; let temp_dir = glib::user_cache_dir(); if std::fs::create_dir_all(&temp_dir).is_err() { warn!("Failed to create cache directory: {}", &temp_dir.display()); return None; } let result_file_path = temp_dir.join("db.tar.xz"); let Ok(osinfodb_resp) = reqwest::get(latest_url).await else { warn!("Failed to download OSInfoDB from {latest_url}"); return None; }; let Ok(body) = osinfodb_resp.bytes().await else { warn!("Failed to get bytes from response"); return None; }; let Ok(mut out) = std::fs::File::create(&result_file_path) else { warn!("Failed to create file: {}", &result_file_path.display()); return None; }; if std::io::Write::write(&mut out, &body).is_err() { warn!("Failed to write to file: {}", &result_file_path.display()); return None; } let Ok(status) = std::process::Command::new("tar") .arg("-xf") .arg(&result_file_path) .arg("--directory") .arg(&temp_dir) .arg("--strip-components=2") .arg("--wildcards") .args( downloadable_distros .iter() .map(|(name, _, _)| format!("*/os/{name}")) .unique(), ) .status() else { warn!("Failed to execute tar command"); return None; }; if !status.success() { return None; } let distros: Vec = downloadable_distros .into_par_iter() .map(|(distro, must_contains, invert_must_contains)| { get_releases_for_distro( &temp_dir, distro, must_contains.as_deref(), *invert_must_contains, ) }) .collect(); let (amd, arm): (Vec>, Vec>) = distros.into_iter().map(|d| (d.amd, d.arm)).unzip(); Some(( amd.into_iter().flatten().collect::>(), arm.into_iter().flatten().collect::>(), )) } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/widgets/000077500000000000000000000000001516676475000236605ustar00rootroot00000000000000Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/widgets/device_list.rs000066400000000000000000000225571516676475000265330ustar00rootroot00000000000000use std::ffi::CString; use adw::prelude::*; use log::{error, info}; use crate::window::ImpressionAppWindow; async fn refresh_devices(client: &udisks::Client) -> udisks::Result> { let mut drives = vec![]; for object in client .object_manager() .get_managed_objects() .await? .into_iter() .filter_map(|(object_path, _)| client.object(object_path).ok()) { let Ok(drive): udisks::Result = object.drive().await else { continue; }; if !drive.removable().await.unwrap_or(true) { continue; } if let Some(block) = client.block_for_drive(&drive, false).await { let Ok(object) = client.object(block.inner().path().to_owned()); drives.push(object); } } drives.sort_unstable_by_key(|x| x.object_path().to_string()); Ok(drives) } #[derive(Debug, Clone)] pub struct DeviceMetadata { pub object: udisks::Object, pub display_string: Option, pub info: Option, pub label: udisks::Result, } async fn device_metadata(client: &udisks::Client, object: &udisks::Object) -> DeviceMetadata { DeviceMetadata { object: object.clone(), display_string: preferred_device_display_string(object).await, info: device_info(client, object).await, label: device_label(client, object).await, } } async fn get_devices_metadata( client: &udisks::Client, devices: &[udisks::Object], ) -> Vec { let mut res = Vec::new(); for device in devices { let metadata = device_metadata(client, device).await; res.push(metadata); } res } pub async fn fetch_devices_metadata_with_client( client: &udisks::Client, ) -> udisks::Result> { let devices = refresh_devices(client).await?; Ok(get_devices_metadata(client, &devices).await) } /// Monitors `UDisks2` for device changes and sends updated device lists /// through the returned receiver. Creates one D-Bus client and listens for /// InterfacesAdded/InterfacesRemoved signals instead of polling. pub fn monitor_devices() -> tokio::sync::mpsc::UnboundedReceiver> { use futures::future::{Either, select}; use std::pin::pin; let (sender, receiver) = tokio::sync::mpsc::unbounded_channel(); crate::runtime().spawn(async move { let client = match udisks::Client::new().await { Ok(client) => client, Err(err) => { error!("Failed to connect to UDisks2: {err}"); return; } }; // Send initial device list match fetch_devices_metadata_with_client(&client).await { Ok(devices) => { if let Err(err) = sender.send(devices) { error!("Failed to send device list: {err}"); return; } } Err(err) => error!("Failed to fetch initial devices: {err}"), } // Listen for device changes via ObjectManager signals let mut added_stream = match client.object_manager().receive_interfaces_added().await { Ok(stream) => stream, Err(err) => { error!("Failed to subscribe to InterfacesAdded: {err}"); return; } }; let mut removed_stream = match client.object_manager().receive_interfaces_removed().await { Ok(stream) => stream, Err(err) => { error!("Failed to subscribe to InterfacesRemoved: {err}"); return; } }; loop { // Wait for the first signal let added_future = futures::StreamExt::next(&mut added_stream); let removed_future = futures::StreamExt::next(&mut removed_stream); match select(pin!(added_future), pin!(removed_future)).await { Either::Left(_) => { info!("Device added, starting debounce"); } Either::Right(_) => { info!("Device removed, starting debounce"); } } // Debounce: drain any additional signals that arrive within 500ms let debounce = tokio::time::sleep(std::time::Duration::from_millis(500)); futures::pin_mut!(debounce); loop { let added_future = pin!(futures::StreamExt::next(&mut added_stream)); let removed_future = pin!(futures::StreamExt::next(&mut removed_stream)); let signal = pin!(select(added_future, removed_future)); match select(signal, &mut debounce).await { Either::Left((signal, _)) => match signal { Either::Left(_) => { info!("Device added during debounce, skipping"); } Either::Right(_) => { info!("Device removed during debounce, skipping"); } }, Either::Right(_) => break, } } info!("Debounce complete, refreshing device list"); match fetch_devices_metadata_with_client(&client).await { Ok(devices) => { if let Err(err) = sender.send(devices) { error!("Failed to send device list: {err}"); return; } } Err(err) => error!("Failed to fetch devices: {err}"), } } }); receiver } pub fn new( app: &ImpressionAppWindow, devices: &[DeviceMetadata], selected_device: Option<&str>, ) -> Vec { let mut check_buttons = Vec::new(); for device in devices { let check_button_builder = check_buttons .first() .map_or_else(gtk::CheckButton::builder, |first_check_button| { gtk::CheckButton::builder().group(first_check_button) }); let check_button = check_button_builder .valign(gtk::Align::Center) .css_classes(["selection_mode"]) .build(); let object_path = device.object.object_path().to_string(); if devices.len() == 1 { check_button.connect_toggled(glib::clone!( #[weak(rename_to=this)] app, move |x| { x.set_active(true); this.set_selected_device_object_path_for_writing(Some(object_path.clone())); } )); } else { check_button.connect_toggled(glib::clone!( #[weak(rename_to=this)] app, move |x| { if x.is_active() { this.set_selected_device_object_path_for_writing(Some(object_path.clone())); } } )); } check_buttons.push(check_button); } let mut res = Vec::new(); for (i, (device, check_button)) in devices.iter().zip(check_buttons.into_iter()).enumerate() { if device.display_string.as_ref().is_some_and(|device_name| { selected_device.is_some_and(|selected_device_name| device_name == selected_device_name) }) || selected_device.is_none() && i == 0 { check_button.set_active(true); app.set_selected_device_object_path_for_writing(Some( device.object.object_path().to_string(), )); } let row = adw::ActionRow::builder() .title(device.label.clone().unwrap_or_default()) .subtitle(device.info.clone().unwrap_or_default()) .activatable_widget(&check_button) .build(); row.add_prefix(&check_button); res.push(row); } res } pub async fn device_label( client: &udisks::Client, object: &udisks::Object, ) -> udisks::Result { let block = object.block().await?; let parent_id_label = block.id_label().await.ok(); let mut partition_id_label = None; if let Ok(partition_table) = object.partition_table().await { for partition in client .partitions(&partition_table) .await .iter() .filter_map(|partition| client.object(partition.inner().path().clone()).ok()) { let Ok(partition) = partition.partition().await else { continue; }; partition_id_label = partition.name().await.ok(); break; } } let drive = client.drive_for_block(&block).await?; let vendor = drive.vendor().await?; let model = drive.model().await?; Ok(parent_id_label.or(partition_id_label).map_or_else( || format!("{vendor} {model}").trim().to_owned(), |label| format!("{label} ({vendor} {model})").trim().to_owned(), )) } async fn device_info(client: &udisks::Client, device: &udisks::Object) -> Option { let info = client.object_info(device).await; info.one_liner } pub async fn preferred_device_display_string(object: &udisks::Object) -> Option { let preferred_device = object.block().await.ok()?.preferred_device().await.ok()?; Some( CString::from_vec_with_nul(preferred_device) .ok()? .to_str() .ok()? .to_string(), ) } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/widgets/mod.rs000066400000000000000000000000251516676475000250020ustar00rootroot00000000000000pub mod device_list; Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/src/window.rs000066400000000000000000000776631516676475000241120ustar00rootroot00000000000000use std::path::PathBuf; use adw::prelude::*; use gettextrs::gettext; use glib::{clone, timeout_add_seconds_local}; use gtk::gdk; use gtk::{gio, subclass::prelude::*}; use log::{error, info, warn}; use crate::config::APP_ID; use crate::runtime; use crate::{ flash::{FlashPhase, FlashRequest, FlashStatus, Progress}, get_size_string, online::{DistroRelease, collect_online_distros, get_osinfo_db_url}, widgets::device_list, }; #[derive(Debug, Clone)] pub enum Compression { Raw, Xz, } #[derive(Debug, Clone)] pub enum DiskImage { Local { path: PathBuf, compression: Compression, }, Online { url: url::Url, download_path: PathBuf, name: String, }, } mod imp { use std::{cell::RefCell, sync::atomic::AtomicBool}; use crate::{ config::{APP_ID, PROFILE}, drag_overlay::DragOverlay, }; use super::*; use adw::subclass::prelude::AdwApplicationWindowImpl; use derivative::Derivative; use gtk::CompositeTemplate; #[derive(Debug, CompositeTemplate, Derivative)] #[derivative(Default(new = "true"))] #[template(resource = "/io/gitlab/adhami3310/Impression/blueprints/window.ui")] pub struct AppWindow { #[template_child] pub toast_overlay: TemplateChild, #[template_child] pub stack: TemplateChild, #[template_child] pub main_stack: TemplateChild, #[template_child] pub navigation: TemplateChild, #[template_child] pub open_image_button: TemplateChild, #[template_child] pub available_devices_list: TemplateChild, #[template_child] pub name_value_label: TemplateChild, #[template_child] pub size_label: TemplateChild, #[template_child] pub flash_button: TemplateChild, #[template_child] pub try_again_button: TemplateChild, #[template_child] pub done_button: TemplateChild, #[template_child] pub loading_spinner: TemplateChild, #[template_child] pub progress_bar: TemplateChild, #[template_child] pub cancel_button: TemplateChild, #[template_child] pub flashing_page: TemplateChild, #[template_child] pub download_spinner: TemplateChild, #[template_child] pub offline_screen: TemplateChild, #[template_child] pub distros: TemplateChild, #[template_child] pub amd_distros: TemplateChild, #[template_child] pub arm_distros: TemplateChild, #[template_child] pub architecture: TemplateChild, #[template_child] pub drag_overlay: TemplateChild, #[template_child] pub help_overlay: TemplateChild, #[template_child] pub error_message_label: TemplateChild, pub selected_device_object_path_for_writing: RefCell>, pub selected_image_file_for_reading: RefCell>, pub available_devices: RefCell>, pub is_running: std::sync::Arc, #[derivative(Default(value = "gio::Settings::new(APP_ID)"))] pub settings: gio::Settings, } #[glib::object_subclass] impl ObjectSubclass for AppWindow { const NAME: &'static str = "AppWindow"; type Type = super::ImpressionAppWindow; type ParentType = adw::ApplicationWindow; fn class_init(klass: &mut Self::Class) { klass.bind_template(); klass.bind_template_instance_callbacks(); } fn instance_init(obj: &glib::subclass::InitializingObject) { obj.init_template(); } } impl ObjectImpl for AppWindow { fn constructed(&self) { self.parent_constructed(); if PROFILE == "Devel" { self.obj().add_css_class("devel"); } let obj = self.obj(); obj.load_window_size(); obj.setup_gactions(); } } impl WidgetImpl for AppWindow {} impl WindowImpl for AppWindow { fn close_request(&self) -> glib::Propagation { let obj = self.obj(); if let Err(err) = obj.save_window_size() { error!("Failed to save window state, {}", &err); } if obj.is_running() { obj.cancel_request(true); glib::Propagation::Stop } else { // Pass close request on to the parent self.parent_close_request() } } } impl ApplicationWindowImpl for AppWindow {} impl AdwApplicationWindowImpl for AppWindow {} } glib::wrapper! { pub struct ImpressionAppWindow(ObjectSubclass) @extends gtk::Widget, gtk::Window, gtk::ApplicationWindow, adw::ApplicationWindow, @implements gio::ActionMap, gio::ActionGroup, gtk::Root, gtk::Native, gtk::ShortcutManager, gtk::Accessible, gtk::Buildable, gtk::ConstraintTarget; } #[gtk::template_callbacks] impl ImpressionAppWindow { pub fn new>(app: &P) -> Self { let window = glib::Object::builder::() .property("application", app) .build(); window.setup_callbacks(); window.setup_drop_target(); window.imp().open_image_button.grab_focus(); window } fn setup_gactions(&self) { self.add_action_entries([ gio::ActionEntry::builder("close") .activate(clone!( #[weak(rename_to=window)] self, move |_, _, _| { window.close(); }, )) .build(), gio::ActionEntry::builder("about") .activate(clone!( #[weak(rename_to=window)] self, move |_, _, _| { window.show_about(); } )) .build(), gio::ActionEntry::builder("show-help-overlay") .activate(clone!( #[weak(rename_to=window)] self, move |_, _, _| { window.imp().help_overlay.present(Some(&window)); } )) .build(), gio::ActionEntry::builder("open") .activate(clone!( #[weak(rename_to=window)] self, move |_, _, _| { window.open_dialog(); } )) .build(), ]); } fn setup_drop_target(&self) { let drop_target = gtk::DropTarget::builder() .name("file-drop-target") .actions(gdk::DragAction::COPY) .formats(&gdk::ContentFormats::for_type(gdk::FileList::static_type())) .build(); drop_target.connect_drop(clone!( #[weak(rename_to=window)] self, #[upgrade_or_default] move |_, value, _, _| { if let Ok(file_list) = value.get::() && let Some(input_file) = file_list.files().first() { window.open_file(input_file); return true; } false } )); self.imp().drag_overlay.set_drop_target(&drop_target); } fn cancel_request(&self, close_after: bool) { let dialog = adw::AlertDialog::new( Some(&gettext("Stop Writing?")), Some(&gettext("This might leave the drive in a faulty state")), ); dialog.add_responses(&[ ("cancel", &gettext("_Cancel")), ("stop", &gettext("_Stop Writing")), ]); dialog.set_response_appearance("stop", adw::ResponseAppearance::Destructive); dialog.connect_response( None, clone!( #[weak(rename_to=this)] self, move |_, id| { if id == "cancel" { return; } this.set_is_running(false); if close_after { this.close(); } else { this.imp().main_stack.set_visible_child_name("choose"); } } ), ); dialog.present(Some(self)); } #[template_callback] fn flash_dialog(&self) { let Some(selected_device) = self.selected_device_for_writing() else { warn!("No device selected"); return; }; let Some(selected_disk_image) = self.selected_image_file_for_reading() else { warn!("No disk image selected"); return; }; let selected_device_display_string = selected_device.display_string.unwrap_or_default(); let flash_dialog = adw::AlertDialog::new( Some(&gettext("Erase Drive?")), Some( &gettext("You will lose all data stored on {}") .replace("{}", &selected_device_display_string), ), ); flash_dialog.add_response("cancel", &gettext("_Cancel")); flash_dialog.add_response("erase", &gettext("_Erase")); flash_dialog.set_response_appearance("erase", adw::ResponseAppearance::Destructive); flash_dialog.connect_response( None, clone!( #[weak(rename_to=this)] self, move |_, response_id| { if response_id == "erase" { this.flash(&selected_device.object, &selected_disk_image); } } ), ); flash_dialog.present(Some(self)); } fn flash(&self, device_for_writing: &udisks::Object, disk_image_for_reading: &DiskImage) { self.imp().main_stack.set_visible_child_name("status"); self.imp().stack.set_visible_child_name("flashing"); self.imp().progress_bar.set_fraction(0.); glib::MainContext::default().iteration(true); self.set_is_running(true); let current_status = std::sync::Arc::>::new( std::sync::Mutex::new(FlashStatus::Active( match disk_image_for_reading { DiskImage::Online { .. } => FlashPhase::Download, DiskImage::Local { .. } => FlashPhase::Copy, }, Progress::Fraction(0.0), )), ); let flash_job = FlashRequest::new( disk_image_for_reading.clone(), device_for_writing.clone(), current_status.clone(), self.imp().is_running.clone(), ); let flashing_page = &self.imp().flashing_page; if matches!(disk_image_for_reading, DiskImage::Online { .. }) { flashing_page.set_description(Some(&gettext( "Writing will begin once the download is completed", ))); flashing_page.set_title(&gettext("Downloading Image")); flashing_page.set_icon_name(Some("folder-download-symbolic")); } else { flashing_page.set_description(Some(&gettext("Do not remove the drive"))); flashing_page.set_title(&gettext("Writing")); flashing_page.set_icon_name(Some("flash-symbolic")); } glib::timeout_add_seconds_local( 1, clone!( #[weak(rename_to=this)] self, #[upgrade_or] glib::ControlFlow::Break, move || { if !this.is_running() { return glib::ControlFlow::Break; } let state = { if let Ok(lock) = current_status.lock() { lock.clone() } else { return glib::ControlFlow::Break; } }; match state { FlashStatus::Active(phase, progress) => { this.update_flashing_page(&phase); match progress { Progress::Fraction(x) => { this.imp().progress_bar.set_fraction(x); } Progress::Pulse => { this.imp().progress_bar.pulse(); } } glib::MainContext::default().iteration(true); } FlashStatus::Done(Some(error_message)) => { this.imp().stack.set_visible_child_name("failure"); this.imp().error_message_label.set_label(&error_message); this.imp() .error_message_label .set_visible(!error_message.is_empty()); this.set_is_running(false); this.send_notification(gettext("Failed to write image")); glib::MainContext::default().iteration(true); return glib::ControlFlow::Break; } FlashStatus::Done(None) => { this.imp().stack.set_visible_child_name("success"); this.set_is_running(false); this.send_notification(gettext("Image Written")); glib::MainContext::default().iteration(true); return glib::ControlFlow::Break; } } glib::ControlFlow::Continue } ), ); runtime().spawn(flash_job.perform()); } fn update_flashing_page(&self, phase: &FlashPhase) { let flashing_page = &self.imp().flashing_page; match phase { FlashPhase::Download => { flashing_page.set_description(Some(&gettext( "Writing will begin once the download is completed", ))); flashing_page.set_title(&gettext("Downloading Image")); flashing_page.set_icon_name(Some("folder-download-symbolic")); } FlashPhase::Copy => { flashing_page.set_description(Some(&gettext("This could take a while"))); flashing_page.set_title(&gettext("Writing")); flashing_page.set_icon_name(Some("flash-symbolic")); } } } fn send_notification(&self, message: String) { if !self.is_active() { runtime().spawn(async move { send_notification(Some(&message)).await; }); } } fn selected_image_file_for_reading(&self) -> Option { self.imp() .selected_image_file_for_reading .borrow() .to_owned() } fn selected_device_object_path_for_writing(&self) -> Option { self.imp() .selected_device_object_path_for_writing .borrow() .clone() } pub fn set_selected_device_object_path_for_writing( &self, selected_device_object_path: Option, ) { self.imp() .flash_button .set_sensitive(selected_device_object_path.is_some()); self.imp() .selected_device_object_path_for_writing .replace(selected_device_object_path); } fn set_is_running(&self, is_running: bool) { self.imp() .is_running .store(is_running, std::sync::atomic::Ordering::SeqCst); } fn is_running(&self) -> bool { self.imp() .is_running .load(std::sync::atomic::Ordering::SeqCst) } fn selected_device_for_writing(&self) -> Option { let object_path = self.selected_device_object_path_for_writing(); object_path.and_then(|object_path| { self.imp() .available_devices .borrow() .iter() .find(|x| x.object.object_path().to_string() == object_path) .cloned() }) } #[template_callback] fn cancel_clicked(&self) { if self.is_running() { self.cancel_request(false); } else { warn!("Cancel button clicked while not running, how did we get here?"); self.imp().main_stack.set_visible_child_name("choose"); } } #[template_callback] fn done_clicked(&self) { let window = self.imp(); window.available_devices.replace(vec![]); window.main_stack.set_visible_child_name("status"); window.stack.set_visible_child_name("no_devices"); window.open_image_button.grab_focus(); } #[template_callback] fn try_again_clicked(&self) { self.imp().main_stack.set_visible_child_name("choose"); } #[template_callback] fn on_architecture_changed(&self) { let imp = self.imp(); match imp.architecture.selected() { 0 => { imp.amd_distros.set_visible(true); imp.arm_distros.set_visible(false); } 1 => { imp.amd_distros.set_visible(false); imp.arm_distros.set_visible(true); } _ => {} } } fn setup_callbacks(&self) { self.setup_device_monitor(); timeout_add_seconds_local( 10, clone!( #[weak(rename_to=this)] self, #[upgrade_or] glib::ControlFlow::Break, move || { let main_stack = this.imp().stack.visible_child_name(); let current_page = this .imp() .navigation .visible_page() .and_then(|x| x.tag()) .map(|x| x.as_str().to_owned()); if matches!(main_stack.as_deref(), Some("choose")) && matches!(current_page.as_deref(), Some("welcome")) && this.imp().offline_screen.is_visible() { this.get_distros(); } glib::ControlFlow::Continue } ), ); self.get_distros(); } fn get_distros(&self) { let Some(downloadable_distros) = self .imp() .settings .value("downloadable-distros") .get::, bool)>>() else { self.load_distros(&self.imp().amd_distros, vec![]); self.load_distros(&self.imp().arm_distros, vec![]); self.imp().download_spinner.set_visible(false); self.imp().offline_screen.set_visible(false); return; }; let (sender, receiver) = tokio::sync::oneshot::channel(); runtime().spawn(async move { if let Some(osinfo_db_url) = get_osinfo_db_url().await { let distros = collect_online_distros(&osinfo_db_url, &downloadable_distros).await; sender.send(distros).expect("Concurrency Issues"); } else { sender.send(None).expect("Concurrency Issues"); } }); glib::spawn_future_local(clone!( #[weak(rename_to=this)] self, async move { if let Ok(online_distros) = receiver.await { if let Some((amd_distros, arm_distros)) = online_distros { this.load_distros(&this.imp().amd_distros, amd_distros); this.load_distros(&this.imp().arm_distros, arm_distros); this.imp().download_spinner.set_visible(false); this.imp().offline_screen.set_visible(false); this.imp().distros.set_visible(true); this.imp().architecture.set_sensitive(true); } else { this.imp().download_spinner.set_visible(false); this.imp().offline_screen.set_visible(true); } } } )); } fn load_distros(&self, target: &TemplateChild, distros: Vec) { target.remove_all(); for distro in distros { let action_row = adw::ActionRow::new(); action_row.set_title(&distro.name); if let Some(subtitle) = &distro.version { action_row.set_subtitle(subtitle); } let next_image = gtk::Image::new(); next_image.set_icon_name(Some("go-next-symbolic")); action_row.add_suffix(&next_image); action_row.set_activatable_widget(Some(&next_image)); action_row.connect_activated(clone!( #[weak(rename_to=this)] self, move |_| { this.save_dialog(distro.clone()); } )); target.append(&action_row); } } fn save_dialog(&self, distro: DistroRelease) { let file_name = distro .url .path_segments() .and_then(|mut segments| segments.next_back()) .unwrap_or("disk-image.img"); let filter = gtk::FileFilter::new(); filter.add_pattern("*.img"); filter.add_pattern("*.iso"); filter.set_name(Some(&gettext("Disk Images"))); let model = gio::ListStore::new::(); model.append(&filter); gtk::FileDialog::builder() .modal(true) .filters(&model) .initial_name(file_name) .default_filter(&filter) .build() .save( Some(self), gio::Cancellable::NONE, clone!( #[weak(rename_to=window)] self, move |file| match file { Ok(file) => { info!("Selected file: {file:?}"); let Some(path) = file.path() else { error!("Failed to get file path for {file:?}"); return; }; info!("Selected path: {}", path.display()); window.imp().selected_image_file_for_reading.replace(Some( DiskImage::Online { url: distro.url, download_path: path, name: distro.name, }, )); window.load_stored(); } Err(e) => { error!("Failed to open file dialog: {e}"); } } ), ); } #[template_callback] fn open_dialog(&self) { let filter = gtk::FileFilter::new(); filter.add_mime_type("application/x-iso9660-image"); filter.add_mime_type("application/x-raw-disk-image"); filter.add_mime_type("application/x-cd-image"); filter.add_pattern("*.iso"); filter.add_pattern("*.img"); filter.add_pattern("*.iso.xz"); filter.add_pattern("*.img.xz"); filter.add_pattern("*.raw.xz"); filter.set_name(Some(&gettext("Disk Images"))); let model = gio::ListStore::new::(); model.append(&filter); gtk::FileDialog::builder() .modal(true) .filters(&model) .default_filter(&filter) .build() .open( Some(self), gio::Cancellable::NONE, clone!( #[weak(rename_to=window)] self, move |file| match file { Ok(file) => { info!("Selected file: {file:?}"); window.open_file(&file); } Err(e) => { error!("Failed to open file dialog: {e}"); } } ), ); } pub fn open_file(&self, file: &gio::File) { let Some(path) = file.path() else { error!("Failed to get file path for {file:?}"); return; }; info!("Selected file: {}", path.display()); if !path .extension() .and_then(|extension| extension.to_str()) .is_some_and(|extension| ["iso", "img", "xz"].contains(&extension)) { self.imp() .toast_overlay .add_toast(adw::Toast::new(&gettext("File is not a Disk Image"))); error!("Not a Disk Image: {}", path.display()); return; } self.imp() .selected_image_file_for_reading .replace(Some(DiskImage::Local { path: path.clone(), compression: { if matches!(path.extension(), Some(x) if x == "xz") { Compression::Xz } else { Compression::Raw } }, })); self.load_stored(); } fn load_stored(&self) { match self.selected_image_file_for_reading() { Some(DiskImage::Local { path, compression: _, }) => { self.imp().name_value_label.set_text( path.file_name() .and_then(|n| n.to_str()) .unwrap_or_default(), ); self.imp() .size_label .set_text(&match std::fs::metadata(path) { Ok(metadata) => get_size_string(metadata.len()), Err(e) => { error!("Failed to get file metadata: {e}"); String::new() } }); } Some(DiskImage::Online { name, .. }) => { self.imp().name_value_label.set_text(&name); self.imp().size_label.set_text(""); } None => { warn!("No disk image selected"); return; } } self.imp().navigation.push_by_tag("device_list"); } fn setup_device_monitor(&self) { let mut receiver = device_list::monitor_devices(); glib::spawn_future_local(clone!( #[weak(rename_to = this)] self, async move { while let Some(devices) = receiver.recv().await { this.load_devices_into_ui(&devices); } } )); } fn load_devices_into_ui(&self, devices: &[device_list::DeviceMetadata]) { let imp = self.imp(); let current_devices = imp.available_devices.borrow().clone(); if devices .iter() .map(|d| d.object.object_path().to_string()) .collect::>() == current_devices .iter() .map(|d| d.object.object_path().to_string()) .collect::>() && !devices.is_empty() { return; } imp.selected_device_object_path_for_writing.take(); let selected_device = self .selected_device_for_writing() .and_then(|dev| dev.display_string); imp.available_devices_list.remove_all(); imp.available_devices.replace(devices.to_vec()); if devices.is_empty() { self.set_selected_device_object_path_for_writing(None); self.imp().stack.set_visible_child_name("no_devices"); self.imp().main_stack.set_visible_child_name("status"); } else { let devices = device_list::new(self, devices, selected_device.as_deref()); for device in devices { imp.available_devices_list.append(&device); } self.imp().main_stack.set_visible_child_name("choose"); } } fn show_about(&self) { let developers = ["Khaleel Al-Adhami"]; let designers = ["Brage Fuglseth https://bragefuglseth.dev"]; let artists = ["Brage Fuglseth https://bragefuglseth.dev"]; let about = adw::AboutDialog::from_appdata( "/io/gitlab/adhami3310/Impression/io.gitlab.adhami3310.Impression.metainfo.xml", Some(crate::config::VERSION), ); about.set_developers(&developers); about.set_designers(&designers); about.set_artists(&artists); about.set_translator_credits(&gettext("translator-credits")); about.add_acknowledgement_section( Some(&gettext("Code borrowed from")), &["Popsicle https://github.com/pop-os/popsicle"], ); about.add_other_app( "io.gitlab.adhami3310.Footage", // Translators: Metainfo for the app Footage. &gettext("Footage"), // Translators: Metainfo for the app Footage. &gettext("Polish your videos"), ); about.add_other_app( "io.gitlab.adhami3310.Converter", // Translators: Metainfo for the app Switcheroo. &gettext("Switcheroo"), // Translators: Metainfo for the app Switcheroo. &gettext("Convert and manipulate images"), ); about.present(Some(self)); } } trait SettingsStore { fn save_window_size(&self) -> Result<(), glib::BoolError>; fn load_window_size(&self); } impl SettingsStore for ImpressionAppWindow { fn save_window_size(&self) -> Result<(), glib::BoolError> { let imp = self.imp(); let (width, height) = self.default_size(); imp.settings.set_int("window-width", width)?; imp.settings.set_int("window-height", height)?; imp.settings .set_boolean("is-maximized", self.is_maximized())?; Ok(()) } fn load_window_size(&self) { let imp = self.imp(); let width = imp.settings.int("window-width"); let height = imp.settings.int("window-height"); let is_maximized = imp.settings.boolean("is-maximized"); self.set_default_size(width, height); if is_maximized { self.maximize(); } } } async fn send_notification(message: Option<&str>) { let proxy = match ashpd::desktop::notification::NotificationProxy::new().await { Ok(proxy) => proxy, Err(e) => { error!("Failed to create notification proxy: {e}"); return; } }; if let Err(e) = proxy .add_notification( APP_ID, ashpd::desktop::notification::Notification::new(&gettext("Impression")) .body(message) .priority(Some(ashpd::desktop::notification::Priority::Normal)), ) .await { error!("Failed to send notification: {e}"); } } Impression-v3.7.0-2f6b61c88570ca2574adc71f3f33c008de58b110/update_translation.sh000077500000000000000000000003271516676475000256640ustar00rootroot00000000000000#!/usr/bin/env bash BUILD_DIR="translation-build/" if [ -d "$BUILD_DIR" ]; then rm -r translation-build fi meson setup translation-build meson compile -C translation-build impression-pot rm -r translation-build